From 37f5eb2ca4e602e468e8b97e58c0b119600b87c2 Mon Sep 17 00:00:00 2001 From: reedts Date: Thu, 12 Mar 2020 13:09:55 +0100 Subject: [PATCH 01/26] Add template to build neomutt from git --- srcpkgs/neomutt-git/INSTALL.msg | 2 + .../patches/20191207...master.diff | 257823 +++++++++++++++ srcpkgs/neomutt-git/template | 54 + srcpkgs/neomutt-git/update | 1 + 4 files changed, 257880 insertions(+) create mode 100644 srcpkgs/neomutt-git/INSTALL.msg create mode 100644 srcpkgs/neomutt-git/patches/20191207...master.diff create mode 100644 srcpkgs/neomutt-git/template create mode 100644 srcpkgs/neomutt-git/update diff --git a/srcpkgs/neomutt-git/INSTALL.msg b/srcpkgs/neomutt-git/INSTALL.msg new file mode 100644 index 000000000000..940935fe5a38 --- /dev/null +++ b/srcpkgs/neomutt-git/INSTALL.msg @@ -0,0 +1,2 @@ +As of 20171013, neomutt is no longer mutt. System config is in /etc/neomuttrc +Due to upstream's choice, we have removed the alternatives for neomutt files. diff --git a/srcpkgs/neomutt-git/patches/20191207...master.diff b/srcpkgs/neomutt-git/patches/20191207...master.diff new file mode 100644 index 000000000000..5e51763bdbd3 --- /dev/null +++ b/srcpkgs/neomutt-git/patches/20191207...master.diff @@ -0,0 +1,257823 @@ +diff --git a/.cirrus.yml b/.cirrus.yml +new file mode 100644 +index 000000000..ed73cd6d8 +--- /dev/null ++++ b/.cirrus.yml +@@ -0,0 +1,30 @@ ++freebsd_instance: ++ image_family: freebsd-13-0-snap ++ ++task: ++ env: ++ PKG_COMMON: ++ cyrus-sasl db5 docbook-xsl gdbm gettext-tools gpgme iconv jimtcl ++ kyotocabinet libgpg-error libidn2 libxslt lmdb lua53 lynx notmuch pkgconf ++ qdbm tokyocabinet urlview ++ CONFIGURE_COMMON: ++ --autocrypt --bdb --disable-idn --disable-inotify --fmemopen --full-doc ++ --gdbm --gpgme --gss --homespool --idn2 --kyotocabinet --lmdb ++ --locales-fix --lua --mixmaster --notmuch --pkgconf --qdbm --sasl ++ --testing --tokyocabinet --with-domain=example.com --with-lock=flock ++ --zlib ++ matrix: ++ - name: FreeBSD / OpenSSL ++ install_script: pkg install -y ${PKG_COMMON} openssl ++ configure_script: ./configure ${CONFIGURE_COMMON} --ssl ++ - name: FreeBSD / LibreSSL ++ install_script: pkg install -y ${PKG_COMMON} libressl ++ configure_script: ./configure ${CONFIGURE_COMMON} --ssl ++ - name: FreeBSD / GnuTLS ++ install_script: pkg install -y ${PKG_COMMON} gnutls ++ configure_script: ./configure ${CONFIGURE_COMMON} --gnutls ++ - name: FreeBSD / S-Lang ++ install_script: pkg install -y ${PKG_COMMON} libslang2 ++ configure_script: ./configure ${CONFIGURE_COMMON} --with-ui=slang ++ build_script: make ++ test_script: make test +diff --git a/.clang-format b/.clang-format +index 1b101fc65..f3e149f89 100644 +--- a/.clang-format ++++ b/.clang-format +@@ -8,37 +8,60 @@ ColumnLimit: 80 + BreakBeforeBraces: Allman + + IncludeCategories: ++ # Standard library headers + - Regex: '"acutest\.h"' +- Priority: -12 ++ Priority: -130 + - Regex: '"config\.h"' +- Priority: -11 ++ Priority: -120 + - Regex: '' +- Priority: -10 ++ Priority: -110 + - Regex: '<.*>' +- Priority: -9 ++ Priority: -100 ++ ++ # Backend private header + - Regex: '".*_private\.h"' +- Priority: -8 ++ Priority: -90 ++ ++ # NeoMutt library headers + - Regex: '"mutt/.*\.h"' +- Priority: -7 ++ Priority: -80 + - Regex: '"address/.*\.h"' +- Priority: -6 ++ Priority: -70 + - Regex: '"config/.*\.h"' +- Priority: -5 ++ Priority: -60 + - Regex: '"email/.*\.h"' +- Priority: -4 ++ Priority: -50 + - Regex: '"core/.*\.h"' +- Priority: -3 ++ Priority: -40 + - Regex: '"conn/.*\.h"' +- Priority: -2 ++ Priority: -30 ++ - Regex: '"gui/.*\.h"' ++ Priority: -20 ++ ++ # NeoMutt general purpose headers + - Regex: '"mutt\.h"' +- Priority: -1 ++ Priority: -10 ++ - Regex: '"debug/.*\.h"' ++ Priority: -5 ++ + # Main Header 0 ++ ++ # Backend using its own library header ++ - Regex: '"lib\.h"' ++ Priority: 2 ++ ++ # All backend library headers ++ - Regex: '".*/lib\.h"' ++ Priority: 10 ++ ++ # All other NeoMutt headers + - Regex: '".*"' + Priority: 5 + + AlignAfterOpenBracket: true + AlignEscapedNewlinesLeft: false + AlignOperands: true ++AlignTrailingComments: true + AlwaysBreakAfterReturnType: None + BinPackArguments: true + BinPackParameters: true +@@ -65,17 +88,9 @@ SpacesInSquareBrackets: false + PenaltyExcessCharacter: 1 + + # NEVER +- + AllowShortFunctionsOnASingleLine: false + AllowShortBlocksOnASingleLine: false + AllowShortCaseLabelsOnASingleLine: false + AllowShortIfStatementsOnASingleLine: false + AllowShortLoopsOnASingleLine: false + +-# OPTIONAL +- +-AlignTrailingComments: true +-# AlignConsecutiveAssignments: true +-# AlignConsecutiveDeclarations: true +-# AlwaysBreakBeforeMultilineStrings: true +-# SpacesBeforeTrailingComments: 2 +diff --git a/AUTHORS.md b/AUTHORS.md +index 2f8bd2ae1..ab4d4039e 100644 +--- a/AUTHORS.md ++++ b/AUTHORS.md +@@ -157,6 +157,7 @@ Stephen Gilles, + [Stéphane Lesimple](https://github.com/speed47 "speed47"), + [Sven Guckes](https://github.com/guckes "guckes"), + [telshock](https://github.com/telshock "telshock"), ++[Tino Reichardt](https://github.com/mcmilk "mcmilk"), + [Theo Jepsen](https://github.com/theojepsen "theojepsen"), + [Thiago Costa de Paiva](https://github.com/tecepe "tecepe"), + [Thomas Adam](https://github.com/thomasadam "thomasadam"), +diff --git a/CODEOWNERS b/CODEOWNERS +new file mode 100644 +index 000000000..95831aac9 +--- /dev/null ++++ b/CODEOWNERS +@@ -0,0 +1,5 @@ ++# CODEOWNERS file syntax documented at: ++# https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners ++ ++# Set global code owners. ++* @neomutt/reviewers +diff --git a/ChangeLog.md b/ChangeLog.md +index d1a9837e4..ed526d0f2 100644 +--- a/ChangeLog.md ++++ b/ChangeLog.md +@@ -1,3 +1,26 @@ ++yyyy-mm-dd ++* Features ++ - GPGMe: infer the signing key from the sender's address ++ - Classc PGP: emit a confirmation when a message is successfully decrypted ++* Contrib ++* Bug Fixes ++ - Avoid crash executing entire-thread inside an IMAP mailbox ++ - Avoid spurious newlines when logging headers ++ - Index: avoid skipping messages when uncollapse_jump is set ++ - Browser: fix directory browsing without mailboxes defined ++* Changed Config ++* Translations ++* Coverity defects ++* Docs ++* Website ++* Build ++ - Create libgui ++* Code ++ - Refactor Window handling to nest Windows ++ - Add tests for window_reflow() ++* Tidy ++* Upstream ++ + 2019-12-07 Richard Russon + * Features + - compose: draw status bar with highlights +@@ -63,7 +86,7 @@ + - fix crash in mutt_extract_token() + - force a screen refresh + - fix crash sending message from command line +- - notmuch: use nm_default_uri if no mailbox data ++ - notmuch: use nm_default_url if no mailbox data + - fix forward attachments + - fix: vfprintf undefined behaviour in body_handler + - Fix relative symlink resolution +@@ -735,7 +758,7 @@ + - Fix nntp group selection + - Fix status color + - Tidy up S/MIME contrib +- - Do not try to create Maildir if it is an NNTP URI ++ - Do not try to create Maildir if it is an NNTP URL + - Fix missing NONULL for mutt.set() in Lua + * Translations + - Fix German PGP shortkeys +diff --git a/Makefile.autosetup b/Makefile.autosetup +index 1d635442b..ccf548408 100644 +--- a/Makefile.autosetup ++++ b/Makefile.autosetup +@@ -61,19 +61,17 @@ ALL_FILES!= (cd $(SRCDIR) && git ls-files 2>/dev/null) || true + ############################################################################### + # neomutt + NEOMUTT= neomutt$(EXEEXT) +-NEOMUTTOBJS= addrbook.o alias.o bcache.o browser.o color.o commands.o \ +- complete.o compose.o compress.o conststrings.o context.o copy.o \ +- curs_lib.o edit.o editmsg.o enriched.o enter.o filter.o flags.o \ ++NEOMUTTOBJS= addrbook.o alias.o bcache.o browser.o commands.o \ ++ complete.o compose.o conststrings.o context.o copy.o \ ++ edit.o editmsg.o enriched.o enter.o flags.o functions.o \ + git_ver.o handler.o hdrline.o help.o hook.o icommands.o index.o init.o \ + keymap.o mailcap.o main.o menu.o mutt_account.o mutt_attach.o \ +- mutt_body.o mutt_curses.o mutt_header.o mutt_history.o mutt_logging.o mutt_mailbox.o \ +- mutt_parse.o mutt_signal.o mutt_socket.o mutt_thread.o mutt_window.o \ ++ mutt_body.o mutt_header.o mutt_history.o mutt_logging.o mutt_mailbox.o \ ++ mutt_parse.o mutt_signal.o mutt_socket.o mutt_thread.o \ + muttlib.o mx.o myvar.o pager.o pattern.o postpone.o progress.o query.o \ + recvattach.o recvcmd.o resize.o rfc3676.o score.o send.o sendlib.o \ +- sidebar.o smtp.o sort.o state.o status.o system.o terminal.o version.o +-@if HAVE_LIBUNWIND +-NEOMUTTOBJS+= backtrace.o +-@endif ++ sidebar.o smtp.o sort.o state.o status.o system.o version.o \ ++ mutt_commands.o mutt_config.o command_parse.o + + @if !HAVE_WCSCASECMP + NEOMUTTOBJS+= wcscasecmp.o +@@ -87,6 +85,10 @@ NEOMUTTOBJS+= mutt_lua.o + @if USE_INOTIFY + NEOMUTTOBJS+= monitor.o + @endif ++@if USE_ZLIB ++NEOMUTTOBJS+= mutt_zstrm.o ++@endif ++ + CLEANFILES+= $(NEOMUTT) $(NEOMUTTOBJS) + ALLOBJS+= $(NEOMUTTOBJS) + +@@ -119,6 +121,46 @@ CLEANFILES+= $(LIBNNTP) $(LIBNNTPOBJS) + MUTTLIBS+= $(LIBNNTP) + ALLOBJS+= $(LIBNNTPOBJS) + ++############################################################################### ++# libcompress ++LIBCOMPRESS= libcompress.a ++LIBCOMPRESSOBJS=compress/compress.o ++CLEANFILES+= $(LIBCOMPRESS) $(LIBCOMPRESSOBJS) ++MUTTLIBS+= $(LIBCOMPRESS) ++ALLOBJS+= $(LIBCOMPRESSOBJS) ++ ++############################################################################### ++# libgui ++LIBGUI= libgui.a ++LIBGUIOBJS= gui/color.o gui/curs_lib.o gui/mutt_curses.o gui/mutt_window.o gui/reflow.o gui/terminal.o ++CLEANFILES+= $(LIBGUI) $(LIBGUIOBJS) ++MUTTLIBS+= $(LIBGUI) ++ALLOBJS+= $(LIBGUIOBJS) ++ ++############################################################################### ++# libdebug ++@if HAVE_LIBUNWIND ++LIBDEBUGOBJS+= debug/backtrace.o ++@endif ++@if USE_DEBUG_GRAPHVIZ ++LIBDEBUGOBJS+= debug/graphviz.o ++@endif ++@if USE_DEBUG_NOTIFY ++LIBDEBUGOBJS+= debug/notify.o ++@endif ++@if USE_DEBUG_PARSE_TEST ++LIBDEBUGOBJS+= debug/parse_test.o ++@endif ++@if USE_DEBUG_WINDOW ++LIBDEBUGOBJS+= debug/window.o ++@endif ++@if HAVE_LIBUNWIND || USE_DEBUG_GRAPHVIZ || USE_DEBUG_NOTIFY || USE_DEBUG_PARSE_TEST || USE_DEBUG_WINDOW ++LIBDEBUG= libdebug.a ++CLEANFILES+= $(LIBDEBUG) $(LIBDEBUGOBJS) ++MUTTLIBS+= $(LIBDEBUG) ++ALLOBJS+= $(LIBDEBUGOBJS) ++@endif ++ + ############################################################################### + # libmbox + LIBMBOX= libmbox.a +@@ -186,16 +228,19 @@ ALLOBJS+= $(LIBIMAPOBJS) + ############################################################################### + # libconn + LIBCONN= libconn.a +-LIBCONNOBJS= conn/conn_globals.o conn/conn_raw.o conn/getdomain.o \ +- conn/sasl_plain.o conn/socket.o conn/tunnel.o ++LIBCONNOBJS= conn/connaccount.o conn/conn_globals.o conn/getdomain.o \ ++ conn/raw.o conn/sasl_plain.o conn/socket.o conn/tunnel.o + @if HAVE_SASL + LIBCONNOBJS+= conn/sasl.o + @endif +-@if USE_SSL_OPENSSL +-LIBCONNOBJS+= conn/ssl.o ++@if USE_SSL ++LIBCONNOBJS+= conn/gui.o + @endif + @if USE_SSL_GNUTLS +-LIBCONNOBJS+= conn/ssl_gnutls.o ++LIBCONNOBJS+= conn/gnutls.o ++@endif ++@if USE_SSL_OPENSSL ++LIBCONNOBJS+= conn/openssl.o + @endif + CLEANFILES+= $(LIBCONN) $(LIBCONNOBJS) + MUTTLIBS+= $(LIBCONN) +@@ -227,6 +272,15 @@ LIBHCACHEOBJS+= hcache/qdbm.o + @if HAVE_TC + LIBHCACHEOBJS+= hcache/tc.o + @endif ++@if HAVE_LZ4 ++LIBHCACHEOBJS+= hcache/compr_lz4.o ++@endif ++@if HAVE_ZLIB ++LIBHCACHEOBJS+= hcache/compr_zlib.o ++@endif ++@if HAVE_ZSTD ++LIBHCACHEOBJS+= hcache/compr_zstd.o ++@endif + @endif # USE_HCACHE + + ############################################################################### +@@ -249,7 +303,7 @@ ALLOBJS+= $(LIBCOREOBJS) + # libconfig + LIBCONFIG= libconfig.a + LIBCONFIGOBJS= config/address.o config/bool.o config/dump.o config/enum.o \ +- config/long.o config/mbtable.o config/number.o config/quad.o \ ++ config/long.o config/mbtable.o config/number.o config/path.o config/quad.o \ + config/regex.o config/set.o config/slist.o config/sort.o \ + config/string.o config/subset.o + +@@ -281,7 +335,7 @@ ALLOBJS+= $(LIBADDRESSOBJS) + # libmutt + LIBMUTT= libmutt.a + LIBMUTTOBJS= mutt/base64.o mutt/buffer.o mutt/charset.o mutt/date.o \ +- mutt/envlist.o mutt/exit.o mutt/file.o mutt/hash.o mutt/history.o \ ++ mutt/envlist.o mutt/exit.o mutt/file.o mutt/filter.o mutt/hash.o mutt/history.o \ + mutt/list.o mutt/logging.o mutt/mapping.o mutt/mbyte.o mutt/md5.o \ + mutt/memory.o mutt/notify.o mutt/path.o mutt/pool.o mutt/regex.o \ + mutt/signal.o mutt/slist.o mutt/string.o +@@ -351,6 +405,27 @@ $(LIBNNTP): $(PWD)/nntp $(LIBNNTPOBJS) + $(PWD)/nntp: + $(MKDIR_P) $(PWD)/nntp + ++# libcompress ++$(LIBCOMPRESS): $(PWD)/compress $(LIBCOMPRESSOBJS) ++ $(AR) cr $@ $(LIBCOMPRESSOBJS) ++ $(RANLIB) $@ ++$(PWD)/compress: ++ $(MKDIR_P) $(PWD)/compress ++ ++# libgui ++$(LIBGUI): $(PWD)/gui $(LIBGUIOBJS) ++ $(AR) cr $@ $(LIBGUIOBJS) ++ $(RANLIB) $@ ++$(PWD)/gui: ++ $(MKDIR_P) $(PWD)/gui ++ ++# libdebug ++$(LIBDEBUG): $(PWD)/debug $(LIBDEBUGOBJS) ++ $(AR) cr $@ $(LIBDEBUGOBJS) ++ $(RANLIB) $@ ++$(PWD)/debug: ++ $(MKDIR_P) $(PWD)/debug ++ + # libmbox + $(LIBMBOX): $(PWD)/mbox $(LIBMBOXOBJS) + $(AR) cr $@ $(LIBMBOXOBJS) +diff --git a/addrbook.c b/addrbook.c +index 00a591058..c37ba5920 100644 +--- a/addrbook.c ++++ b/addrbook.c +@@ -31,18 +31,18 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "config/lib.h" ++#include "core/lib.h" ++#include "gui/lib.h" + #include "mutt.h" + #include "addrbook.h" + #include "alias.h" +-#include "curs_lib.h" + #include "format_flags.h" + #include "globals.h" + #include "keymap.h" + #include "mutt_menu.h" +-#include "mutt_window.h" + #include "muttlib.h" + #include "opcodes.h" + +@@ -92,7 +92,7 @@ static const char *alias_format_str(char *buf, size_t buflen, size_t col, int co + break; + case 'r': + addr[0] = '\0'; +- mutt_addrlist_write(addr, sizeof(addr), &alias->addr, true); ++ mutt_addrlist_write(&alias->addr, addr, sizeof(addr), true); + snprintf(fmt, sizeof(fmt), "%%%ss", prec); + snprintf(buf, buflen, fmt, addr); + break; +@@ -106,18 +106,18 @@ static const char *alias_format_str(char *buf, size_t buflen, size_t col, int co + } + + /** +- * alias_make_entry - Format a menu item for the alias list - Implements Menu::menu_make_entry() ++ * alias_make_entry - Format a menu item for the alias list - Implements Menu::make_entry() + */ + static void alias_make_entry(char *buf, size_t buflen, struct Menu *menu, int line) + { +- mutt_expando_format(buf, buflen, 0, menu->indexwin->cols, ++ mutt_expando_format(buf, buflen, 0, menu->win_index->state.cols, + NONULL(C_AliasFormat), alias_format_str, + (unsigned long) ((struct Alias **) menu->data)[line], + MUTT_FORMAT_ARROWCURSOR); + } + + /** +- * alias_tag - Tag some aliases - Implements Menu::menu_tag() ++ * alias_tag - Tag some aliases - Implements Menu::tag() + */ + static int alias_tag(struct Menu *menu, int sel, int act) + { +@@ -185,6 +185,36 @@ static int alias_sort_address(const void *a, const void *b) + return RSORT(r); + } + ++/** ++ * mutt_dlg_alias_observer - Listen for config changes affecting the Alias menu - Implements ::observer_t ++ */ ++static int mutt_dlg_alias_observer(struct NotifyCallback *nc) ++{ ++ if (!nc->event_data || !nc->global_data) ++ return -1; ++ if (nc->event_type != NT_CONFIG) ++ return 0; ++ ++ struct EventConfig *ec = nc->event_data; ++ struct MuttWindow *dlg = nc->global_data; ++ ++ if (mutt_str_strcmp(ec->name, "status_on_top") != 0) ++ return 0; ++ ++ struct MuttWindow *win_first = TAILQ_FIRST(&dlg->children); ++ ++ if ((C_StatusOnTop && (win_first->type == WT_INDEX)) || ++ (!C_StatusOnTop && (win_first->type != WT_INDEX))) ++ { ++ // Swap the Index and the IndexBar Windows ++ TAILQ_REMOVE(&dlg->children, win_first, entries); ++ TAILQ_INSERT_TAIL(&dlg->children, win_first, entries); ++ } ++ ++ mutt_window_reflow(dlg); ++ return 0; ++} ++ + /** + * mutt_alias_menu - Display a menu of Aliases + * @param buf Buffer for expanded aliases +@@ -209,9 +239,43 @@ void mutt_alias_menu(char *buf, size_t buflen, struct AliasList *aliases) + return; + } + ++ struct MuttWindow *dlg = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++#ifdef USE_DEBUG_WINDOW ++ dlg->name = "aliases"; ++#endif ++ dlg->type = WT_DIALOG; ++ struct MuttWindow *index = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ index->type = WT_INDEX; ++ struct MuttWindow *ibar = mutt_window_new( ++ MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, 1, MUTT_WIN_SIZE_UNLIMITED); ++ ibar->type = WT_INDEX_BAR; ++ ++ if (C_StatusOnTop) ++ { ++ mutt_window_add_child(dlg, ibar); ++ mutt_window_add_child(dlg, index); ++ } ++ else ++ { ++ mutt_window_add_child(dlg, index); ++ mutt_window_add_child(dlg, ibar); ++ } ++ ++ notify_observer_add(NeoMutt->notify, mutt_dlg_alias_observer, dlg); ++ dialog_push(dlg); ++ + menu = mutt_menu_new(MENU_ALIAS); +- menu->menu_make_entry = alias_make_entry; +- menu->menu_tag = alias_tag; ++ ++ menu->pagelen = index->state.rows; ++ menu->win_index = index; ++ menu->win_ibar = ibar; ++ ++ menu->make_entry = alias_make_entry; ++ menu->tag = alias_tag; + menu->title = _("Aliases"); + menu->help = mutt_compile_help(helpstr, sizeof(helpstr), MENU_ALIAS, AliasHelp); + mutt_menu_push_current(menu); +@@ -230,7 +294,7 @@ void mutt_alias_menu(char *buf, size_t buflen, struct AliasList *aliases) + mutt_mem_realloc(&alias_table, menu->max * sizeof(struct Alias *)); + menu->data = alias_table; + if (!alias_table) +- return; ++ goto mam_done; + + if (last) + a = TAILQ_NEXT(last, entries); +@@ -298,17 +362,22 @@ void mutt_alias_menu(char *buf, size_t buflen, struct AliasList *aliases) + { + if (alias_table[i]->tagged) + { +- mutt_addrlist_write(buf, buflen, &alias_table[i]->addr, true); ++ mutt_addrlist_write(&alias_table[i]->addr, buf, buflen, true); + t = -1; + } + } + + if (t != -1) + { +- mutt_addrlist_write(buf, buflen, &alias_table[t]->addr, true); ++ mutt_addrlist_write(&alias_table[t]->addr, buf, buflen, true); + } + ++ FREE(&alias_table); ++ ++mam_done: + mutt_menu_pop_current(menu); + mutt_menu_free(&menu); +- FREE(&alias_table); ++ dialog_pop(); ++ notify_observer_remove(NeoMutt->notify, mutt_dlg_alias_observer, dlg); ++ mutt_window_free(&dlg); + } +diff --git a/address/address.c b/address/address.c +index 5b9767a5b..fa26c7c9c 100644 +--- a/address/address.c ++++ b/address/address.c +@@ -32,7 +32,7 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address.h" + #include "idna2.h" + +@@ -43,6 +43,7 @@ const char AddressSpecials[] = "@.,:;<>[]\\\"()"; + + /** + * is_special - Is this character special to an email address? ++ * @param ch Character + */ + #define is_special(ch) strchr(AddressSpecials, ch) + +@@ -864,11 +865,11 @@ bool mutt_addr_cmp(const struct Address *a, const struct Address *b) + + /** + * mutt_addrlist_search - Search for an e-mail address in a list +- * @param needle Address containing the search email + * @param haystack Address List ++ * @param needle Address containing the search email + * @retval true If the Address is in the list + */ +-bool mutt_addrlist_search(const struct Address *needle, const struct AddressList *haystack) ++bool mutt_addrlist_search(const struct AddressList *haystack, const struct Address *needle) + { + if (!needle || !haystack) + return false; +@@ -1123,9 +1124,9 @@ size_t mutt_addr_write(char *buf, size_t buflen, struct Address *addr, bool disp + + /** + * mutt_addrlist_write - Write an Address to a buffer ++ * @param al AddressList to display + * @param buf Buffer for the Address + * @param buflen Length of the buffer +- * @param al AddressList to display + * @param display This address will be displayed to the user + * @retval num Length of the string written to buf + * +@@ -1134,7 +1135,7 @@ size_t mutt_addr_write(char *buf, size_t buflen, struct Address *addr, bool disp + * + * @note It is assumed that `buf` is nul terminated! + */ +-size_t mutt_addrlist_write(char *buf, size_t buflen, const struct AddressList *al, bool display) ++size_t mutt_addrlist_write(const struct AddressList *al, char *buf, size_t buflen, bool display) + { + if (!buf || buflen == 0 || !al) + return 0; +diff --git a/address/address.h b/address/address.h +index 5bfae6887..645ffb488 100644 +--- a/address/address.h ++++ b/address/address.h +@@ -26,7 +26,7 @@ + + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + /** + * struct Address - An email address +@@ -89,9 +89,9 @@ void mutt_addrlist_prepend (struct AddressList *al, struct Address *a); + void mutt_addrlist_qualify (struct AddressList *al, const char *host); + int mutt_addrlist_remove (struct AddressList *al, const char *mailbox); + void mutt_addrlist_remove_xrefs(const struct AddressList *a, struct AddressList *b); +-bool mutt_addrlist_search (const struct Address *needle, const struct AddressList *haystack); ++bool mutt_addrlist_search (const struct AddressList *haystack, const struct Address *needle); + int mutt_addrlist_to_intl (struct AddressList *al, char **err); + int mutt_addrlist_to_local (struct AddressList *al); +-size_t mutt_addrlist_write (char *buf, size_t buflen, const struct AddressList *al, bool display); ++size_t mutt_addrlist_write (const struct AddressList *al, char *buf, size_t buflen, bool display); + + #endif /* MUTT_EMAIL_ADDRESS_H */ +diff --git a/address/group.h b/address/group.h +index 2c8ab6def..b070bc8f7 100644 +--- a/address/group.h ++++ b/address/group.h +@@ -26,7 +26,7 @@ + #define MUTT_GROUP_H + + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address.h" + + #define MUTT_GROUP 0 ///< 'group' config command +diff --git a/address/idna.c b/address/idna.c +index e3be0a35e..d02511665 100644 +--- a/address/idna.c ++++ b/address/idna.c +@@ -28,7 +28,7 @@ + + #include "config.h" + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "idna2.h" + #ifdef HAVE_LIBIDN + #include +diff --git a/alias.c b/alias.c +index 647dfb31a..15a9b937d 100644 +--- a/alias.c ++++ b/alias.c +@@ -36,14 +36,14 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "config/lib.h" + #include "email/lib.h" ++#include "gui/lib.h" + #include "mutt.h" + #include "alias.h" + #include "addrbook.h" +-#include "curs_lib.h" + #include "globals.h" + #include "hdrline.h" + #include "muttlib.h" +@@ -402,8 +402,11 @@ void mutt_alias_create(struct Envelope *cur, struct AddressList *al) + + retry_name: + /* L10N: prompt to add a new alias */ +- if ((mutt_get_field(_("Alias as: "), buf, sizeof(buf), 0) != 0) || !buf[0]) ++ if ((mutt_get_field(_("Alias as: "), buf, sizeof(buf), MUTT_COMP_NO_FLAGS) != 0) || ++ !buf[0]) ++ { + return; ++ } + + /* check to see if the user already has an alias defined */ + if (mutt_alias_lookup(buf)) +@@ -439,7 +442,8 @@ void mutt_alias_create(struct Envelope *cur, struct AddressList *al) + + do + { +- if ((mutt_get_field(_("Address: "), buf, sizeof(buf), 0) != 0) || !buf[0]) ++ if ((mutt_get_field(_("Address: "), buf, sizeof(buf), MUTT_COMP_NO_FLAGS) != 0) || ++ !buf[0]) + { + mutt_alias_free(&alias); + return; +@@ -461,7 +465,7 @@ void mutt_alias_create(struct Envelope *cur, struct AddressList *al) + else + buf[0] = '\0'; + +- if (mutt_get_field(_("Personal name: "), buf, sizeof(buf), 0) != 0) ++ if (mutt_get_field(_("Personal name: "), buf, sizeof(buf), MUTT_COMP_NO_FLAGS) != 0) + { + mutt_alias_free(&alias); + return; +@@ -469,7 +473,7 @@ void mutt_alias_create(struct Envelope *cur, struct AddressList *al) + mutt_str_replace(&TAILQ_FIRST(&alias->addr)->personal, buf); + + buf[0] = '\0'; +- mutt_addrlist_write(buf, sizeof(buf), &alias->addr, true); ++ mutt_addrlist_write(&alias->addr, buf, sizeof(buf), true); + snprintf(prompt, sizeof(prompt), _("[%s = %s] Accept?"), alias->name, buf); + if (mutt_yesorno(prompt, MUTT_YES) != MUTT_YES) + { +@@ -517,7 +521,7 @@ void mutt_alias_create(struct Envelope *cur, struct AddressList *al) + recode_buf(buf, sizeof(buf)); + fprintf(fp_alias, "alias %s ", buf); + buf[0] = '\0'; +- mutt_addrlist_write(buf, sizeof(buf), &alias->addr, false); ++ mutt_addrlist_write(&alias->addr, buf, sizeof(buf), false); + recode_buf(buf, sizeof(buf)); + write_safe_address(fp_alias, buf); + fputc('\n', fp_alias); +diff --git a/alias.h b/alias.h +index 58cbf0b59..c53ffb1a4 100644 +--- a/alias.h ++++ b/alias.h +@@ -26,7 +26,7 @@ + + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + + struct Envelope; +diff --git a/auto.def b/auto.def +index 06267d51e..08559937d 100644 +--- a/auto.def ++++ b/auto.def +@@ -91,12 +91,16 @@ options { + with-qdbm:path => "Location of QDBM" + tokyocabinet=0 => "Use TokyoCabinet for the header cache" + with-tokyocabinet:path => "Location of TokyoCabinet" +-# libunwind +- backtrace=0 => "Enable backtrace support with libunwind" +- with-backtrace:path => "Location of libunwind" + # sqlite + sqlite=0 => "Enable SQLite support" + with-sqlite:path => "Location of sqlite" ++# compression ++ lz4=0 => "Enable LZ4 header cache compression support" ++ with-lz4:path => "Location of LZ4" ++ zlib=0 => "Enable zlib support" ++ with-zlib:path => "Location of zlib" ++ zstd=0 => "Enable Zstandard header cache compression support" ++ with-zstd:path => "Location of Zstandard" + # System + with-sysroot:path => "Target system root" + # Testing +@@ -106,6 +110,13 @@ options { + pkgconf=0 => "Use pkg-config during configure" + # Enable all options + everything=0 => "Enable all options" ++# Debug options ++ debug-backtrace=0 => "DEBUG: Enable backtrace support with libunwind" ++ with-backtrace:path => "Location of libunwind" ++ debug-graphviz=0 => "DEBUG: Enable Graphviz dump" ++ debug-notify=0 => "DEBUG: Enable Notifications dump" ++ debug-parse-test=0 => "DEBUG: Enable 'neomutt -T' for config testing" ++ debug-window=0 => "DEBUG: Enable windows dump" + } + ############################################################################### + +@@ -116,10 +127,11 @@ options { + if {1} { + # Keep sorted, please. + foreach opt { +- autocrypt backtrace bdb coverage doc everything fmemopen full-doc gdbm +- gnutls gpgme gss homespool idn idn2 inotify kyotocabinet lmdb locales-fix +- lua mixmaster nls notmuch pgp pkgconf qdbm sasl smime sqlite ssl testing +- tokyocabinet ++ autocrypt bdb coverage debug-backtrace debug-graphviz debug-notify ++ debug-parse-test debug-window doc everything fmemopen full-doc gdbm gnutls ++ gpgme gss homespool idn idn2 inotify kyotocabinet lmdb locales-fix lua lz4 ++ mixmaster nls notmuch pgp pkgconf qdbm sasl smime sqlite ssl testing ++ tokyocabinet zlib zstd + } { + define want-$opt [opt-bool $opt] + } +@@ -128,8 +140,8 @@ if {1} { + # relative --enable-opt to true. This allows "--with-opt=/usr" to be used as + # a shortcut for "--opt --with-opt=/usr". + foreach opt { +- bdb gdbm gnutls gpgme gss homespool idn idn2 kyotocabinet lmdb lua mixmaster +- ncurses nls notmuch qdbm sasl slang sqlite ssl tokyocabinet ++ bdb gdbm gnutls gpgme gss homespool idn idn2 kyotocabinet lmdb lua lz4 mixmaster ++ ncurses nls notmuch qdbm sasl slang sqlite ssl tokyocabinet zlib zstd + } { + if {[opt-val with-$opt] ne {}} { + define want-$opt 1 +@@ -344,8 +356,8 @@ set prefix [opt-val with-sysroot][get-define prefix] + ############################################################################### + # Everything + if {[get-define want-everything]} { +- foreach opt {bdb gdbm gpgme kyotocabinet lmdb lua notmuch pgp qdbm smime +- tokyocabinet} { ++ foreach opt {bdb gdbm gpgme kyotocabinet lmdb lua lz4 notmuch pgp qdbm smime ++ tokyocabinet zlib zstd} { + define want-$opt + append conf_options "--$opt " + } +@@ -637,6 +649,16 @@ if {[get-define want-sqlite]} { + define USE_SQLITE + } + ++############################################################################### ++# zlib Support ++if {[get-define want-zlib]} { ++ if {![check-inc-and-lib zlib [opt-val with-zlib $prefix] \ ++ zlib.h deflate z]} { ++ user-error "Unable to find zlib" ++ } ++ define USE_ZLIB ++} ++ + ############################################################################### + # fmemopen(3) + if {[get-define want-fmemopen]} { +@@ -744,16 +766,6 @@ if {[get-define want-homespool]} { + define MAILPATH [opt-val with-mailpath /var/mail] + } + +-############################################################################### +-# Backtrace support with libunwind +-if {[get-define want-backtrace]} { +- if {![check-inc-and-lib libunwind [opt-val with-backtrace $prefix] \ +- libunwind.h unw_backtrace unwind]} { +- user-error "Unable to find libunwind" +- } +- define LIBS "-lunwind-generic [get-define LIBS]" +-} +- + ############################################################################### + # Mixmaster + if {[get-define want-mixmaster]} { +@@ -1021,6 +1033,45 @@ if {[get-define want-tokyocabinet]} { + define USE_HCACHE + } + ++############################################################################### ++# Header Cache Compression with LZ4 ++if {[get-define want-lz4]} { ++ if {![check-inc-and-lib lz4 [opt-val with-lz4 $prefix] \ ++ lz4.h LZ4_compress_default lz4]} { ++ user-error "Unable to find LZ4" ++ } ++ define-append LIBS -llz4 ++ define USE_LZ4 ++ define USE_HCACHE_COMPRESSION ++ define-append COMPRESS_BACKENDS "lz4" ++} ++ ++############################################################################### ++# Header Cache Compression with zlib ++if {[get-define want-zlib]} { ++ if {![check-inc-and-lib zlib [opt-val with-zlib $prefix] \ ++ zlib.h deflate z]} { ++ user-error "Unable to find zlib" ++ } ++ define-append LIBS -lz ++ define USE_ZLIB ++ define USE_HCACHE_COMPRESSION ++ define-append COMPRESS_BACKENDS "zlib" ++} ++ ++############################################################################### ++# Header Cache Compression with Zstandard ++if {[get-define want-zstd]} { ++ if {![check-inc-and-lib zstd [opt-val with-zstd $prefix] \ ++ zstd.h ZSTD_compress zstd]} { ++ user-error "Unable to find Zstandard" ++ } ++ define-append LIBS -lzstd ++ define USE_ZSTD ++ define USE_HCACHE_COMPRESSION ++ define-append COMPRESS_BACKENDS "zstd" ++} ++ + ############################################################################### + # GSS + if {[get-define want-gss]} { +@@ -1071,6 +1122,38 @@ if {[get-define want-gss]} { + define USE_GSS + } + ++############################################################################### ++# DEBUG options ++ ++# Backtrace support with libunwind ++if {[get-define want-debug-backtrace]} { ++ if {![check-inc-and-lib libunwind [opt-val with-backtrace $prefix] \ ++ libunwind.h unw_backtrace unwind]} { ++ user-error "Unable to find libunwind" ++ } ++ define LIBS "-lunwind-generic [get-define LIBS]" ++} ++ ++# Graphviz dump ++if {[get-define want-debug-graphviz]} { ++ define USE_DEBUG_GRAPHVIZ 1 ++} ++ ++# Notifications dump ++if {[get-define want-debug-notify]} { ++ define USE_DEBUG_NOTIFY 1 ++} ++ ++# Parse Test ++if {[get-define want-debug-parse-test]} { ++ define USE_DEBUG_PARSE_TEST 1 ++} ++ ++# Windows dump ++if {[get-define want-debug-window]} { ++ define USE_DEBUG_WINDOW 1 ++} ++ + ############################################################################### + # Generate conststrings.c + set conststrings "\ +@@ -1161,18 +1244,19 @@ make-template .clang_complete.in + # Print a summary + user-notice "Summary of build options: + +- Version: [get-define PACKAGE_VERSION] +- Host OS: [get-define host_os] +- Install prefix: [get-define prefix] +- Compiler: [get-define CC] +- CFlags: [get-define CFLAGS] +- LDFlags: [get-define LDFLAGS] +- Libs: [get-define LIBS] +- +- GPGME: [yesno [get-define CRYPT_BACKEND_GPGME]] +- PGP: [yesno [get-define CRYPT_BACKEND_CLASSIC_PGP]] +- SMIME: [yesno [get-define CRYPT_BACKEND_CLASSIC_SMIME]] +- Notmuch: [yesno [get-define USE_NOTMUCH]] +- Header Cache(s): [get-define HCACHE_BACKENDS {}] +- Lua: [yesno [get-define USE_LUA]] ++ Version: [get-define PACKAGE_VERSION] ++ Host OS: [get-define host_os] ++ Install prefix: [get-define prefix] ++ Compiler: [get-define CC] ++ CFlags: [get-define CFLAGS] ++ LDFlags: [get-define LDFLAGS] ++ Libs: [get-define LIBS] ++ ++ GPGME: [yesno [get-define CRYPT_BACKEND_GPGME]] ++ PGP: [yesno [get-define CRYPT_BACKEND_CLASSIC_PGP]] ++ SMIME: [yesno [get-define CRYPT_BACKEND_CLASSIC_SMIME]] ++ Notmuch: [yesno [get-define USE_NOTMUCH]] ++ Header Cache(s): [get-define HCACHE_BACKENDS {}] ++ Header Compression(s): [get-define COMPRESS_BACKENDS {}] ++ Lua: [yesno [get-define USE_LUA]] + " +diff --git a/autocrypt/autocrypt.c b/autocrypt/autocrypt.c +index 2b273c680..cf4c9a09b 100644 +--- a/autocrypt/autocrypt.c ++++ b/autocrypt/autocrypt.c +@@ -28,21 +28,23 @@ + + #include "config.h" + #include ++#include ++#include + #include + #include + #include "autocrypt_private.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "config/lib.h" + #include "email/lib.h" +-#include "autocrypt.h" +-#include "curs_lib.h" ++#include "gui/lib.h" + #include "globals.h" + #include "muttlib.h" + #include "mx.h" +-#include "ncrypt/ncrypt.h" + #include "options.h" + #include "send.h" ++#include "autocrypt/lib.h" ++#include "ncrypt/lib.h" + + /** + * autocrypt_dir_init - Initialise an Autocrypt directory +@@ -100,6 +102,11 @@ int mutt_autocrypt_init(bool can_create) + return -1; + + OptIgnoreMacroEvents = true; ++ /* The init process can display menus at various points ++ *(e.g. browser, pgp key selection). This allows the screen to be ++ * autocleared after each menu, so the subsequent prompts can be ++ * read. */ ++ OptMenuPopClearScreen = true; + + if (autocrypt_dir_init(can_create)) + goto bail; +@@ -111,11 +118,13 @@ int mutt_autocrypt_init(bool can_create) + goto bail; + + OptIgnoreMacroEvents = false; ++ OptMenuPopClearScreen = false; + + return 0; + + bail: + OptIgnoreMacroEvents = false; ++ OptMenuPopClearScreen = false; + C_Autocrypt = false; + mutt_autocrypt_db_close(); + return -1; +diff --git a/autocrypt/autocrypt_acct_menu.c b/autocrypt/autocrypt_acct_menu.c +index c25cd9478..98dd9fead 100644 +--- a/autocrypt/autocrypt_acct_menu.c ++++ b/autocrypt/autocrypt_acct_menu.c +@@ -30,19 +30,18 @@ + #include + #include + #include "autocrypt_private.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "config/lib.h" ++#include "gui/lib.h" + #include "mutt.h" +-#include "autocrypt.h" +-#include "curs_lib.h" + #include "format_flags.h" + #include "globals.h" + #include "keymap.h" + #include "mutt_menu.h" +-#include "mutt_window.h" + #include "muttlib.h" + #include "opcodes.h" ++#include "autocrypt/lib.h" + + /** + * struct AccountEntry - An entry in the Autocrypt account Menu +@@ -69,16 +68,16 @@ static const struct Mapping AutocryptAcctHelp[] = { + toggle an account active/inactive + The words here are abbreviated to keep the help line compact. + It currently has the content: +- q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++ q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + */ + { N_("Tgl Active"), OP_AUTOCRYPT_TOGGLE_ACTIVE }, + /* L10N: Autocrypt Account Menu Help line: + toggle "prefer-encrypt" on an account + The words here are abbreviated to keep the help line compact. + It currently has the content: +- q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++ q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + */ +- { N_("Prf Enc"), OP_AUTOCRYPT_TOGGLE_PREFER }, ++ { N_("Prf Encr"), OP_AUTOCRYPT_TOGGLE_PREFER }, + { N_("Help"), OP_HELP }, + { NULL, 0 } + }; +@@ -149,17 +148,17 @@ static const char *account_format_str(char *dest, size_t destlen, size_t col, in + } + + /** +- * account_entry - Create a line for the Autocrypt account menu ++ * account_make_entry - Create a line for the Autocrypt account menu - Implements Menu::make_entry() + * @param buf Buffer to save the string + * @param buflen Length of the buffer + * @param menu Menu to use + * @param num Line in the Menu + */ +-static void account_entry(char *buf, size_t buflen, struct Menu *menu, int num) ++static void account_make_entry(char *buf, size_t buflen, struct Menu *menu, int num) + { + struct AccountEntry *entry = &((struct AccountEntry *) menu->data)[num]; + +- mutt_expando_format(buf, buflen, 0, menu->indexwin->cols, ++ mutt_expando_format(buf, buflen, 0, menu->win_index->state.cols, + NONULL(C_AutocryptAcctFormat), account_format_str, + (unsigned long) entry, MUTT_FORMAT_ARROWCURSOR); + } +@@ -177,7 +176,7 @@ static struct Menu *create_menu(void) + return NULL; + + struct Menu *menu = mutt_menu_new(MENU_AUTOCRYPT_ACCT); +- menu->menu_make_entry = account_entry; ++ menu->make_entry = account_make_entry; + /* menu->tag = account_tag; */ + // L10N: Autocrypt Account Management Menu title + menu->title = _("Autocrypt Accounts"); +@@ -271,10 +270,42 @@ void mutt_autocrypt_account_menu(void) + if (mutt_autocrypt_init(false)) + return; + ++ struct MuttWindow *dlg = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++#ifdef USE_DEBUG_WINDOW ++ dlg->name = "autocrypt"; ++#endif ++ dlg->type = WT_DIALOG; ++ struct MuttWindow *index = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ index->type = WT_INDEX; ++ struct MuttWindow *ibar = mutt_window_new( ++ MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, 1, MUTT_WIN_SIZE_UNLIMITED); ++ ibar->type = WT_INDEX_BAR; ++ ++ if (C_StatusOnTop) ++ { ++ mutt_window_add_child(dlg, ibar); ++ mutt_window_add_child(dlg, index); ++ } ++ else ++ { ++ mutt_window_add_child(dlg, index); ++ mutt_window_add_child(dlg, ibar); ++ } ++ ++ dialog_push(dlg); ++ + struct Menu *menu = create_menu(); + if (!menu) + return; + ++ menu->pagelen = index->state.rows; ++ menu->win_index = index; ++ menu->win_ibar = ibar; ++ + bool done = false; + while (!done) + { +@@ -289,6 +320,9 @@ void mutt_autocrypt_account_menu(void) + { + menu_free(&menu); + menu = create_menu(); ++ menu->pagelen = index->state.rows; ++ menu->win_index = index; ++ menu->win_ibar = ibar; + } + break; + +@@ -307,6 +341,9 @@ void mutt_autocrypt_account_menu(void) + { + menu_free(&menu); + menu = create_menu(); ++ menu->pagelen = index->state.rows; ++ menu->win_index = index; ++ menu->win_ibar = ibar; + } + } + break; +@@ -332,4 +369,6 @@ void mutt_autocrypt_account_menu(void) + } + + menu_free(&menu); ++ dialog_pop(); ++ mutt_window_free(&dlg); + } +diff --git a/autocrypt/autocrypt_db.c b/autocrypt/autocrypt_db.c +index dcc7d7a27..b4cac1da7 100644 +--- a/autocrypt/autocrypt_db.c ++++ b/autocrypt/autocrypt_db.c +@@ -32,10 +32,10 @@ + #include + #include + #include "autocrypt_private.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" +-#include "autocrypt.h" + #include "globals.h" ++#include "autocrypt/lib.h" + + /* Prepared statements */ + static sqlite3_stmt *AccountGetStmt; +diff --git a/autocrypt/autocrypt_gpgme.c b/autocrypt/autocrypt_gpgme.c +index d07d61e38..8dbf0cb03 100644 +--- a/autocrypt/autocrypt_gpgme.c ++++ b/autocrypt/autocrypt_gpgme.c +@@ -31,13 +31,13 @@ + #include + #include + #include "autocrypt_private.h" // IWYU pragma: keep +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "config/lib.h" +-#include "curs_lib.h" ++#include "gui/lib.h" + #include "globals.h" +-#include "ncrypt/crypt_gpgme.h" + #include "options.h" ++#include "ncrypt/lib.h" + + /** + * create_gpgme_context - Create a GPGME context +diff --git a/autocrypt/autocrypt_schema.c b/autocrypt/autocrypt_schema.c +index 05b0f55ef..75a5eb4f1 100644 +--- a/autocrypt/autocrypt_schema.c ++++ b/autocrypt/autocrypt_schema.c +@@ -30,7 +30,7 @@ + #include + #include + #include "autocrypt_private.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + /** + * mutt_autocrypt_schema_init - Set up an Autocrypt database +diff --git a/autocrypt/autocrypt.h b/autocrypt/lib.h +similarity index 97% +rename from autocrypt/autocrypt.h +rename to autocrypt/lib.h +index e4293c94f..83106482b 100644 +--- a/autocrypt/autocrypt.h ++++ b/autocrypt/lib.h +@@ -34,8 +34,8 @@ + * | autocrypt/autocrypt_schema.c | @subpage autocrypt_schema | + */ + +-#ifndef MUTT_AUTOCRYPT_AUTOCRYPT_H +-#define MUTT_AUTOCRYPT_AUTOCRYPT_H ++#ifndef MUTT_AUTOCRYPT_LIB_H ++#define MUTT_AUTOCRYPT_LIB_H + + #include + #include +@@ -118,4 +118,4 @@ enum AutocryptRec mutt_autocrypt_ui_recommendation (struct Email *e, char + int mutt_autocrypt_write_autocrypt_header (struct Envelope *env, FILE *fp); + int mutt_autocrypt_write_gossip_headers (struct Envelope *env, FILE *fp); + +-#endif /* MUTT_AUTOCRYPT_AUTOCRYPT_H */ ++#endif /* MUTT_AUTOCRYPT_LIB_H */ +diff --git a/bcache.c b/bcache.c +index 4a72c4368..3ddc8594d 100644 +--- a/bcache.c ++++ b/bcache.c +@@ -34,7 +34,7 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "email/lib.h" + #include "bcache.h" + #include "mutt_account.h" +@@ -62,7 +62,7 @@ struct BodyCache + static int bcache_path(struct ConnAccount *account, const char *mailbox, struct BodyCache *bcache) + { + char host[256]; +- struct Url url = { U_UNKNOWN }; ++ struct Url url = { 0 }; + + if (!account || !C_MessageCachedir || !bcache) + return -1; +@@ -80,7 +80,7 @@ static int bcache_path(struct ConnAccount *account, const char *mailbox, struct + + struct Buffer *path = mutt_buffer_pool_get(); + struct Buffer *dst = mutt_buffer_pool_get(); +- mutt_buffer_encode_path(path, NONULL(mailbox)); ++ mutt_encode_path(path, NONULL(mailbox)); + + mutt_buffer_printf(dst, "%s/%s%s", C_MessageCachedir, host, mutt_b2s(path)); + if (*(dst->dptr - 1) != '/') +diff --git a/browser.c b/browser.c +index d9893b96d..88d9ab1e6 100644 +--- a/browser.c ++++ b/browser.c +@@ -39,32 +39,31 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "config/lib.h" + #include "email/lib.h" + #include "core/lib.h" +-#include "conn/conn.h" ++#include "conn/lib.h" ++#include "gui/lib.h" + #include "mutt.h" + #include "browser.h" + #include "context.h" +-#include "curs_lib.h" + #include "format_flags.h" + #include "globals.h" + #include "keymap.h" + #include "mutt_attach.h" + #include "mutt_mailbox.h" + #include "mutt_menu.h" +-#include "mutt_window.h" + #include "muttlib.h" + #include "mx.h" + #include "opcodes.h" + #include "options.h" + #include "sendlib.h" + #ifdef USE_IMAP +-#include "imap/imap.h" ++#include "imap/lib.h" + #endif + #ifdef USE_NNTP +-#include "nntp/nntp.h" ++#include "nntp/lib.h" + #endif + + /* These Config Variables are only used in browser.c */ +@@ -608,11 +607,15 @@ static const char *folder_format_str(char *buf, size_t buflen, size_t col, int c + } + + if (optional) ++ { + mutt_expando_format(buf, buflen, col, cols, if_str, folder_format_str, data, + MUTT_FORMAT_NO_FLAGS); ++ } + else if (flags & MUTT_FORMAT_OPTIONAL) ++ { + mutt_expando_format(buf, buflen, col, cols, else_str, folder_format_str, + data, MUTT_FORMAT_NO_FLAGS); ++ } + + return src; + } +@@ -801,7 +804,7 @@ static int examine_directory(struct Menu *menu, struct BrowserState *state, + struct MailboxNode *np = NULL; + STAILQ_FOREACH(np, &ml, entries) + { +- if (mutt_str_strcmp(mutt_b2s(buf), mailbox_path(np->mailbox)) != 0) ++ if (mutt_str_strcmp(mutt_b2s(buf), mailbox_path(np->mailbox)) == 0) + break; + } + +@@ -930,7 +933,7 @@ static int examine_mailboxes(struct Menu *menu, struct BrowserState *state) + } + + /** +- * select_file_search - Menu search callback for matching files - Implements Menu::menu_search() ++ * select_file_search - Menu search callback for matching files - Implements Menu::search() + */ + static int select_file_search(struct Menu *menu, regex_t *rx, int line) + { +@@ -945,7 +948,7 @@ static int select_file_search(struct Menu *menu, regex_t *rx, int line) + } + + /** +- * folder_make_entry - Format a menu item for the folder browser - Implements Menu::menu_make_entry() ++ * folder_make_entry - Format a menu item for the folder browser - Implements Menu::make_entry() + */ + static void folder_make_entry(char *buf, size_t buflen, struct Menu *menu, int line) + { +@@ -957,14 +960,14 @@ static void folder_make_entry(char *buf, size_t buflen, struct Menu *menu, int l + #ifdef USE_NNTP + if (OptNews) + { +- mutt_expando_format(buf, buflen, 0, menu->indexwin->cols, ++ mutt_expando_format(buf, buflen, 0, menu->win_index->state.cols, + NONULL(C_GroupIndexFormat), group_index_format_str, + (unsigned long) &folder, MUTT_FORMAT_ARROWCURSOR); + } + else + #endif + { +- mutt_expando_format(buf, buflen, 0, menu->indexwin->cols, ++ mutt_expando_format(buf, buflen, 0, menu->win_index->state.cols, + NONULL(C_FolderFormat), folder_format_str, + (unsigned long) &folder, MUTT_FORMAT_ARROWCURSOR); + } +@@ -1103,7 +1106,7 @@ static void init_menu(struct BrowserState *state, struct Menu *menu, + } + + /** +- * file_tag - Tag an entry in the menu - Implements Menu::menu_tag() ++ * file_tag - Tag an entry in the menu - Implements Menu::tag() + */ + static int file_tag(struct Menu *menu, int sel, int act) + { +@@ -1142,6 +1145,36 @@ void mutt_browser_select_dir(const char *f) + mutt_buffer_strcpy(&LastDir, buf); + } + ++/** ++ * mutt_dlg_browser_observer - Listen for config changes affecting the Browser menu - Implements ::observer_t ++ */ ++static int mutt_dlg_browser_observer(struct NotifyCallback *nc) ++{ ++ if (!nc->event_data || !nc->global_data) ++ return -1; ++ if (nc->event_type != NT_CONFIG) ++ return 0; ++ ++ struct EventConfig *ec = nc->event_data; ++ struct MuttWindow *dlg = nc->global_data; ++ ++ if (mutt_str_strcmp(ec->name, "status_on_top") != 0) ++ return 0; ++ ++ struct MuttWindow *win_first = TAILQ_FIRST(&dlg->children); ++ ++ if ((C_StatusOnTop && (win_first->type == WT_INDEX)) || ++ (!C_StatusOnTop && (win_first->type != WT_INDEX))) ++ { ++ // Swap the Index and the IndexBar Windows ++ TAILQ_REMOVE(&dlg->children, win_first, entries); ++ TAILQ_INSERT_TAIL(&dlg->children, win_first, entries); ++ } ++ ++ mutt_window_reflow(dlg); ++ return 0; ++} ++ + /** + * mutt_buffer_select_file - Let the user select a file + * @param[in] file Buffer for the result +@@ -1288,7 +1321,7 @@ void mutt_buffer_select_file(struct Buffer *file, SelectFileFlags flags, + { + /* If browsing in "local"-mode, than we chose to define LastDir to + * MailDir */ +- switch (mx_path_probe(CurrentFolder, NULL)) ++ switch (mx_path_probe(CurrentFolder)) + { + case MUTT_IMAP: + case MUTT_MAILDIR: +@@ -1350,13 +1383,48 @@ void mutt_buffer_select_file(struct Buffer *file, SelectFileFlags flags, + if (examine_directory(NULL, &state, mutt_b2s(&LastDir), mutt_b2s(prefix)) == -1) + goto bail; + } ++ ++ struct MuttWindow *dlg = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++#ifdef USE_DEBUG_WINDOW ++ dlg->name = "browser"; ++#endif ++ dlg->type = WT_DIALOG; ++ struct MuttWindow *index = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ index->type = WT_INDEX; ++ struct MuttWindow *ibar = mutt_window_new( ++ MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, 1, MUTT_WIN_SIZE_UNLIMITED); ++ ibar->type = WT_INDEX_BAR; ++ ++ if (C_StatusOnTop) ++ { ++ mutt_window_add_child(dlg, ibar); ++ mutt_window_add_child(dlg, index); ++ } ++ else ++ { ++ mutt_window_add_child(dlg, index); ++ mutt_window_add_child(dlg, ibar); ++ } ++ ++ notify_observer_add(NeoMutt->notify, mutt_dlg_browser_observer, dlg); ++ dialog_push(dlg); ++ + menu = mutt_menu_new(MENU_FOLDER); +- menu->menu_make_entry = folder_make_entry; +- menu->menu_search = select_file_search; ++ ++ menu->pagelen = index->state.rows; ++ menu->win_index = index; ++ menu->win_ibar = ibar; ++ ++ menu->make_entry = folder_make_entry; ++ menu->search = select_file_search; + menu->title = title; + menu->data = state.entry; + if (multiple) +- menu->menu_tag = file_tag; ++ menu->tag = file_tag; + + menu->help = mutt_compile_help(helpstr, sizeof(helpstr), MENU_FOLDER, + #ifdef USE_NNTP +@@ -1407,7 +1475,7 @@ void mutt_buffer_select_file(struct Buffer *file, SelectFileFlags flags, + state.entry[menu->current].name); + } + +- enum MailboxType magic = mx_path_probe(mutt_b2s(buf), NULL); ++ enum MailboxType magic = mx_path_probe(mutt_b2s(buf)); + if ((op == OP_DESCEND_DIRECTORY) || (magic == MUTT_MAILBOX_ERROR) || + (magic == MUTT_UNKNOWN) + #ifdef USE_IMAP +@@ -1530,8 +1598,10 @@ void mutt_buffer_select_file(struct Buffer *file, SelectFileFlags flags, + mutt_buffer_strcpy(file, state.entry[menu->current].name); + #endif + else ++ { + mutt_buffer_concat_path(file, mutt_b2s(&LastDir), + state.entry[menu->current].name); ++ } + /* fallthrough */ + + case OP_EXIT: +@@ -1576,7 +1646,7 @@ void mutt_buffer_select_file(struct Buffer *file, SelectFileFlags flags, + + #ifdef USE_IMAP + case OP_BROWSER_TOGGLE_LSUB: +- bool_str_toggle(Config, "imap_list_subscribed", NULL); ++ bool_str_toggle(NeoMutt->sub, "imap_list_subscribed", NULL); + + mutt_unget_event(0, OP_CHECK_NEW); + break; +@@ -1766,7 +1836,7 @@ void mutt_buffer_select_file(struct Buffer *file, SelectFileFlags flags, + case OP_ENTER_MASK: + { + mutt_buffer_strcpy(buf, C_Mask ? C_Mask->pattern : NULL); +- if (mutt_get_field(_("File Mask: "), buf->data, buf->dsize, 0) != 0) ++ if (mutt_get_field(_("File Mask: "), buf->data, buf->dsize, MUTT_COMP_NO_FLAGS) != 0) + break; + + mutt_buffer_fix_dptr(buf); +@@ -1777,7 +1847,7 @@ void mutt_buffer_select_file(struct Buffer *file, SelectFileFlags flags, + mutt_buffer_strcpy(buf, "."); + + struct Buffer errmsg = { 0 }; +- int rc = cs_str_string_set(Config, "mask", mutt_b2s(buf), NULL); ++ int rc = cs_subset_str_string_set(NeoMutt->sub, "mask", mutt_b2s(buf), NULL); + if (CSR_RESULT(rc) != CSR_SUCCESS) + { + if (!mutt_buffer_is_empty(&errmsg)) +@@ -1872,14 +1942,14 @@ void mutt_buffer_select_file(struct Buffer *file, SelectFileFlags flags, + if (resort) + { + sort |= reverse ? SORT_REVERSE : 0; +- cs_str_native_set(Config, "sort_browser", sort, NULL); ++ cs_subset_str_native_set(NeoMutt->sub, "sort_browser", sort, NULL); + browser_sort(&state); + browser_highlight_default(&state, menu); + menu->redraw = REDRAW_FULL; + } + else + { +- cs_str_native_set(Config, "sort_browser", sort, NULL); ++ cs_subset_str_native_set(NeoMutt->sub, "sort_browser", sort, NULL); + } + break; + } +@@ -1985,7 +2055,7 @@ void mutt_buffer_select_file(struct Buffer *file, SelectFileFlags flags, + struct Body *b = mutt_make_file_attach(buf2); + if (b) + { +- mutt_view_attachment(NULL, b, MUTT_VA_REGULAR, NULL, NULL, menu->indexwin); ++ mutt_view_attachment(NULL, b, MUTT_VA_REGULAR, NULL, NULL, menu->win_index); + mutt_body_free(&b); + menu->redraw = REDRAW_FULL; + } +@@ -2080,7 +2150,8 @@ void mutt_buffer_select_file(struct Buffer *file, SelectFileFlags flags, + else + snprintf(tmp2, sizeof(tmp2), _("Unsubscribe pattern: ")); + /* buf comes from the buffer pool, so defaults to size 1024 */ +- if ((mutt_buffer_get_field(tmp2, buf, 0) != 0) || mutt_buffer_is_empty(buf)) ++ if ((mutt_buffer_get_field(tmp2, buf, MUTT_COMP_NO_FLAGS) != 0) || ++ mutt_buffer_is_empty(buf)) + { + break; + } +@@ -2175,6 +2246,9 @@ void mutt_buffer_select_file(struct Buffer *file, SelectFileFlags flags, + { + mutt_menu_pop_current(menu); + mutt_menu_free(&menu); ++ dialog_pop(); ++ notify_observer_remove(NeoMutt->notify, mutt_dlg_browser_observer, dlg); ++ mutt_window_free(&dlg); + } + + goto_swapper[0] = '\0'; +diff --git a/browser.h b/browser.h +index a3df51931..e9f3fd6b5 100644 +--- a/browser.h ++++ b/browser.h +@@ -100,9 +100,6 @@ struct BrowserState + #ifdef USE_IMAP + bool imap_browse; + char *folder; +- bool noselect : 1; +- bool marked : 1; +- bool unmarked : 1; + #endif + }; + +diff --git a/command_parse.c b/command_parse.c +new file mode 100644 +index 000000000..3bd57bda3 +--- /dev/null ++++ b/command_parse.c +@@ -0,0 +1,2238 @@ ++/** ++ * @file ++ * Functions to parse commands in a config file ++ * ++ * @authors ++ * Copyright (C) 1996-2002,2007,2010,2012-2013,2016 Michael R. Elkins ++ * Copyright (C) 2004 g10 Code GmbH ++ * ++ * @copyright ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 2 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ ++/** ++ * @page command_parse Functions to parse commands in a config file ++ * ++ * Functions to parse commands in a config file ++ */ ++ ++#include "config.h" ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include "mutt/lib.h" ++#include "address/lib.h" ++#include "config/lib.h" ++#include "email/lib.h" ++#include "core/lib.h" ++#include "gui/lib.h" ++#include "mutt.h" ++#include "command_parse.h" ++#include "alias.h" ++#include "context.h" ++#include "globals.h" ++#include "init.h" ++#include "keymap.h" ++#include "monitor.h" ++#include "mutt_commands.h" ++#include "mutt_logging.h" ++#include "mutt_menu.h" ++#include "mutt_parse.h" ++#include "muttlib.h" ++#include "mx.h" ++#include "myvar.h" ++#include "options.h" ++#include "sidebar.h" ++#include "version.h" ++#include "imap/lib.h" ++#ifdef ENABLE_NLS ++#include ++#endif ++ ++/* LIFO designed to contain the list of config files that have been sourced and ++ * avoid cyclic sourcing */ ++static struct ListHead MuttrcStack = STAILQ_HEAD_INITIALIZER(MuttrcStack); ++ ++#define MAX_ERRS 128 ++ ++/** ++ * enum GroupState - Type of email address group ++ */ ++enum GroupState ++{ ++ GS_NONE, ///< Group is missing an argument ++ GS_RX, ///< Entry is a regular expression ++ GS_ADDR, ///< Entry is an address ++}; ++ ++/** ++ * parse_unreplace_list - Remove a string replacement rule - Implements Command::parse() ++ */ ++static enum CommandResult parse_unreplace_list(struct Buffer *buf, struct Buffer *s, ++ unsigned long data, struct Buffer *err) ++{ ++ struct ReplaceList *list = (struct ReplaceList *) data; ++ ++ /* First token is a regex. */ ++ if (!MoreArgs(s)) ++ { ++ mutt_buffer_printf(err, _("%s: too few arguments"), "unsubjectrx"); ++ return MUTT_CMD_WARNING; ++ } ++ ++ mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); ++ ++ /* "*" is a special case. */ ++ if (mutt_str_strcmp(buf->data, "*") == 0) ++ { ++ mutt_replacelist_free(list); ++ return MUTT_CMD_SUCCESS; ++ } ++ ++ mutt_replacelist_remove(list, buf->data); ++ return MUTT_CMD_SUCCESS; ++} ++ ++/** ++ * attachments_clean - always wise to do what someone else did before ++ */ ++static void attachments_clean(void) ++{ ++ if (!Context || !Context->mailbox) ++ return; ++ ++ struct Mailbox *m = Context->mailbox; ++ for (int i = 0; i < m->msg_count; i++) ++ { ++ struct Email *e = m->emails[i]; ++ if (!e) ++ break; ++ e->attach_valid = false; ++ } ++} ++ ++/** ++ * parse_unattach_list - Parse the "unattachments" command ++ * @param buf Buffer for temporary storage ++ * @param s Buffer containing the unattachments command ++ * @param head List of AttachMatch to remove from ++ * @param err Buffer for error messages ++ * @retval #MUTT_CMD_SUCCESS Always ++ */ ++static enum CommandResult parse_unattach_list(struct Buffer *buf, struct Buffer *s, ++ struct ListHead *head, struct Buffer *err) ++{ ++ struct AttachMatch *a = NULL; ++ char *tmp = NULL; ++ char *minor = NULL; ++ ++ do ++ { ++ mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); ++ FREE(&tmp); ++ ++ if (mutt_str_strcasecmp(buf->data, "any") == 0) ++ tmp = mutt_str_strdup("*/.*"); ++ else if (mutt_str_strcasecmp(buf->data, "none") == 0) ++ tmp = mutt_str_strdup("cheap_hack/this_should_never_match"); ++ else ++ tmp = mutt_str_strdup(buf->data); ++ ++ minor = strchr(tmp, '/'); ++ if (minor) ++ { ++ *minor = '\0'; ++ minor++; ++ } ++ else ++ { ++ minor = "unknown"; ++ } ++ const enum ContentType major = mutt_check_mime_type(tmp); ++ ++ struct ListNode *np = NULL, *tmp2 = NULL; ++ STAILQ_FOREACH_SAFE(np, head, entries, tmp2) ++ { ++ a = (struct AttachMatch *) np->data; ++ mutt_debug(LL_DEBUG3, "check %s/%s [%d] : %s/%s [%d]\n", a->major, ++ a->minor, a->major_int, tmp, minor, major); ++ if ((a->major_int == major) && (mutt_str_strcasecmp(minor, a->minor) == 0)) ++ { ++ mutt_debug(LL_DEBUG3, "removed %s/%s [%d]\n", a->major, a->minor, a->major_int); ++ regfree(&a->minor_regex); ++ FREE(&a->major); ++ STAILQ_REMOVE(head, np, ListNode, entries); ++ FREE(&np->data); ++ FREE(&np); ++ } ++ } ++ ++ } while (MoreArgs(s)); ++ ++ FREE(&tmp); ++ attachments_clean(); ++ return MUTT_CMD_SUCCESS; ++} ++ ++/** ++ * clear_subject_mods - Clear out all modified email subjects ++ */ ++static void clear_subject_mods(void) ++{ ++ if (!Context || !Context->mailbox) ++ return; ++ ++ struct Mailbox *m = Context->mailbox; ++ for (int i = 0; i < m->msg_count; i++) ++ { ++ struct Email *e = m->emails[i]; ++ if (!e || !e->env) ++ continue; ++ FREE(&e->env->disp_subj); ++ } ++} ++ ++/** ++ * parse_replace_list - Parse a string replacement rule - Implements Command::parse() ++ */ ++static enum CommandResult parse_replace_list(struct Buffer *buf, struct Buffer *s, ++ unsigned long data, struct Buffer *err) ++{ ++ struct ReplaceList *list = (struct ReplaceList *) data; ++ struct Buffer templ = mutt_buffer_make(0); ++ ++ /* First token is a regex. */ ++ if (!MoreArgs(s)) ++ { ++ mutt_buffer_printf(err, _("%s: too few arguments"), "subjectrx"); ++ return MUTT_CMD_WARNING; ++ } ++ mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); ++ ++ /* Second token is a replacement template */ ++ if (!MoreArgs(s)) ++ { ++ mutt_buffer_printf(err, _("%s: too few arguments"), "subjectrx"); ++ return MUTT_CMD_WARNING; ++ } ++ mutt_extract_token(&templ, s, MUTT_TOKEN_NO_FLAGS); ++ ++ if (mutt_replacelist_add(list, buf->data, templ.data, err) != 0) ++ { ++ FREE(&templ.data); ++ return MUTT_CMD_ERROR; ++ } ++ FREE(&templ.data); ++ ++ return MUTT_CMD_SUCCESS; ++} ++ ++/** ++ * is_function - Is the argument a neomutt function? ++ * @param name Command name to be searched for ++ * @retval true Function found ++ * @retval false Function not found ++ */ ++static bool is_function(const char *name) ++{ ++ for (enum MenuType i = 0; i < MENU_MAX; i++) ++ { ++ const struct Binding *b = km_get_table(Menus[i].value); ++ if (!b) ++ continue; ++ ++ for (int j = 0; b[j].name; j++) ++ if (mutt_str_strcmp(name, b[j].name) == 0) ++ return true; ++ } ++ return false; ++} ++ ++/** ++ * mutt_attachmatch_new - Create a new AttachMatch ++ * @retval ptr New AttachMatch ++ */ ++static struct AttachMatch *mutt_attachmatch_new(void) ++{ ++ return mutt_mem_calloc(1, sizeof(struct AttachMatch)); ++} ++ ++/** ++ * parse_attach_list - Parse the "attachments" command ++ * @param buf Buffer for temporary storage ++ * @param s Buffer containing the attachments command ++ * @param head List of AttachMatch to add to ++ * @param err Buffer for error messages ++ * @retval #CommandResult Result e.g. #MUTT_CMD_SUCCESS ++ */ ++static enum CommandResult parse_attach_list(struct Buffer *buf, struct Buffer *s, ++ struct ListHead *head, struct Buffer *err) ++{ ++ struct AttachMatch *a = NULL; ++ char *p = NULL; ++ char *tmpminor = NULL; ++ size_t len; ++ int ret; ++ ++ do ++ { ++ mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); ++ ++ if (!buf->data || (*buf->data == '\0')) ++ continue; ++ ++ a = mutt_attachmatch_new(); ++ ++ /* some cheap hacks that I expect to remove */ ++ if (mutt_str_strcasecmp(buf->data, "any") == 0) ++ a->major = mutt_str_strdup("*/.*"); ++ else if (mutt_str_strcasecmp(buf->data, "none") == 0) ++ a->major = mutt_str_strdup("cheap_hack/this_should_never_match"); ++ else ++ a->major = mutt_str_strdup(buf->data); ++ ++ p = strchr(a->major, '/'); ++ if (p) ++ { ++ *p = '\0'; ++ p++; ++ a->minor = p; ++ } ++ else ++ { ++ a->minor = "unknown"; ++ } ++ ++ len = strlen(a->minor); ++ tmpminor = mutt_mem_malloc(len + 3); ++ strcpy(&tmpminor[1], a->minor); ++ tmpminor[0] = '^'; ++ tmpminor[len + 1] = '$'; ++ tmpminor[len + 2] = '\0'; ++ ++ a->major_int = mutt_check_mime_type(a->major); ++ ret = REG_COMP(&a->minor_regex, tmpminor, REG_ICASE); ++ ++ FREE(&tmpminor); ++ ++ if (ret != 0) ++ { ++ regerror(ret, &a->minor_regex, err->data, err->dsize); ++ FREE(&a->major); ++ FREE(&a); ++ return MUTT_CMD_ERROR; ++ } ++ ++ mutt_debug(LL_DEBUG3, "added %s/%s [%d]\n", a->major, a->minor, a->major_int); ++ ++ mutt_list_insert_tail(head, (char *) a); ++ } while (MoreArgs(s)); ++ ++ attachments_clean(); ++ return MUTT_CMD_SUCCESS; ++} ++ ++/** ++ * print_attach_list - Print a list of attachments ++ * @param h List of attachments ++ * @param op Operation, e.g. '+', '-' ++ * @param name Attached/Inline, 'A', 'I' ++ * @retval 0 Always ++ */ ++static int print_attach_list(struct ListHead *h, const char op, const char *name) ++{ ++ struct ListNode *np = NULL; ++ STAILQ_FOREACH(np, h, entries) ++ { ++ printf("attachments %c%s %s/%s\n", op, name, ++ ((struct AttachMatch *) np->data)->major, ++ ((struct AttachMatch *) np->data)->minor); ++ } ++ ++ return 0; ++} ++ ++/** ++ * alternates_clean - Clear the recipient valid flag of all emails ++ */ ++static void alternates_clean(void) ++{ ++ if (!Context || !Context->mailbox) ++ return; ++ ++ struct Mailbox *m = Context->mailbox; ++ for (int i = 0; i < m->msg_count; i++) ++ { ++ struct Email *e = m->emails[i]; ++ if (!e) ++ break; ++ e->recip_valid = false; ++ } ++} ++ ++/** ++ * parse_grouplist - Parse a group context ++ * @param gl GroupList to add to ++ * @param buf Temporary Buffer space ++ * @param s Buffer containing string to be parsed ++ * @param data Flags associated with the command ++ * @param err Buffer for error messages ++ * @retval 0 Success ++ * @retval -1 Error ++ */ ++static int parse_grouplist(struct GroupList *gl, struct Buffer *buf, ++ struct Buffer *s, unsigned long data, struct Buffer *err) ++{ ++ while (mutt_str_strcasecmp(buf->data, "-group") == 0) ++ { ++ if (!MoreArgs(s)) ++ { ++ mutt_buffer_strcpy(err, _("-group: no group name")); ++ return -1; ++ } ++ ++ mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); ++ ++ mutt_grouplist_add(gl, mutt_pattern_group(buf->data)); ++ ++ if (!MoreArgs(s)) ++ { ++ mutt_buffer_strcpy(err, _("out of arguments")); ++ return -1; ++ } ++ ++ mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); ++ } ++ ++ return 0; ++} ++ ++/** ++ * source_rc - Read an initialization file ++ * @param rcfile_path Path to initialization file ++ * @param err Buffer for error messages ++ * @retval <0 if neomutt should pause to let the user know ++ */ ++int source_rc(const char *rcfile_path, struct Buffer *err) ++{ ++ int line = 0, rc = 0, warnings = 0; ++ enum CommandResult line_rc; ++ struct Buffer token; ++ char *linebuf = NULL; ++ char *currentline = NULL; ++ char rcfile[PATH_MAX]; ++ size_t buflen; ++ ++ pid_t pid; ++ ++ mutt_str_strfcpy(rcfile, rcfile_path, sizeof(rcfile)); ++ ++ size_t rcfilelen = mutt_str_strlen(rcfile); ++ if (rcfilelen == 0) ++ return -1; ++ ++ bool ispipe = rcfile[rcfilelen - 1] == '|'; ++ ++ if (!ispipe) ++ { ++ struct ListNode *np = STAILQ_FIRST(&MuttrcStack); ++ if (!mutt_path_to_absolute(rcfile, np ? NONULL(np->data) : "")) ++ { ++ mutt_error(_("Error: Can't build path of '%s'"), rcfile_path); ++ return -1; ++ } ++ ++ STAILQ_FOREACH(np, &MuttrcStack, entries) ++ { ++ if (mutt_str_strcmp(np->data, rcfile) == 0) ++ { ++ break; ++ } ++ } ++ if (np) ++ { ++ mutt_error(_("Error: Cyclic sourcing of configuration file '%s'"), rcfile); ++ return -1; ++ } ++ ++ mutt_list_insert_head(&MuttrcStack, mutt_str_strdup(rcfile)); ++ } ++ ++ mutt_debug(LL_DEBUG2, "Reading configuration file '%s'\n", rcfile); ++ ++ FILE *fp = mutt_open_read(rcfile, &pid); ++ if (!fp) ++ { ++ mutt_buffer_printf(err, "%s: %s", rcfile, strerror(errno)); ++ return -1; ++ } ++ ++ mutt_buffer_init(&token); ++ while ((linebuf = mutt_file_read_line(linebuf, &buflen, fp, &line, MUTT_CONT))) ++ { ++ const bool conv = C_ConfigCharset && C_Charset; ++ if (conv) ++ { ++ currentline = mutt_str_strdup(linebuf); ++ if (!currentline) ++ continue; ++ mutt_ch_convert_string(¤tline, C_ConfigCharset, C_Charset, 0); ++ } ++ else ++ currentline = linebuf; ++ mutt_buffer_reset(err); ++ line_rc = mutt_parse_rc_line(currentline, &token, err); ++ if (line_rc == MUTT_CMD_ERROR) ++ { ++ mutt_error(_("Error in %s, line %d: %s"), rcfile, line, err->data); ++ if (--rc < -MAX_ERRS) ++ { ++ if (conv) ++ FREE(¤tline); ++ break; ++ } ++ } ++ else if (line_rc == MUTT_CMD_WARNING) ++ { ++ /* Warning */ ++ mutt_warning(_("Warning in %s, line %d: %s"), rcfile, line, err->data); ++ warnings++; ++ } ++ else if (line_rc == MUTT_CMD_FINISH) ++ { ++ break; /* Found "finish" command */ ++ } ++ else ++ { ++ if (rc < 0) ++ rc = -1; ++ } ++ if (conv) ++ FREE(¤tline); ++ } ++ FREE(&token.data); ++ FREE(&linebuf); ++ mutt_file_fclose(&fp); ++ if (pid != -1) ++ filter_wait(pid); ++ if (rc) ++ { ++ /* the neomuttrc source keyword */ ++ mutt_buffer_reset(err); ++ mutt_buffer_printf(err, (rc >= -MAX_ERRS) ? _("source: errors in %s") : _("source: reading aborted due to too many errors in %s"), ++ rcfile); ++ rc = -1; ++ } ++ else ++ { ++ /* Don't alias errors with warnings */ ++ if (warnings > 0) ++ { ++ mutt_buffer_printf(err, ngettext("source: %d warning in %s", "source: %d warnings in %s", warnings), ++ warnings, rcfile); ++ rc = -2; ++ } ++ } ++ ++ if (!ispipe && !STAILQ_EMPTY(&MuttrcStack)) ++ { ++ struct ListNode *np = STAILQ_FIRST(&MuttrcStack); ++ STAILQ_REMOVE_HEAD(&MuttrcStack, entries); ++ FREE(&np->data); ++ FREE(&np); ++ } ++ ++ return rc; ++} ++ ++/** ++ * parse_alias - Parse the 'alias' command - Implements Command::parse() ++ */ ++enum CommandResult parse_alias(struct Buffer *buf, struct Buffer *s, ++ unsigned long data, struct Buffer *err) ++{ ++ struct Alias *tmp = NULL; ++ char *estr = NULL; ++ struct GroupList gl = STAILQ_HEAD_INITIALIZER(gl); ++ ++ if (!MoreArgs(s)) ++ { ++ mutt_buffer_strcpy(err, _("alias: no address")); ++ return MUTT_CMD_WARNING; ++ } ++ ++ mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); ++ ++ if (parse_grouplist(&gl, buf, s, data, err) == -1) ++ return MUTT_CMD_ERROR; ++ ++ /* check to see if an alias with this name already exists */ ++ TAILQ_FOREACH(tmp, &Aliases, entries) ++ { ++ if (mutt_str_strcasecmp(tmp->name, buf->data) == 0) ++ break; ++ } ++ ++ if (tmp) ++ { ++ mutt_alias_delete_reverse(tmp); ++ /* override the previous value */ ++ mutt_addrlist_clear(&tmp->addr); ++ if (CurrentMenu == MENU_ALIAS) ++ mutt_menu_set_current_redraw_full(); ++ } ++ else ++ { ++ /* create a new alias */ ++ tmp = mutt_alias_new(); ++ tmp->name = mutt_str_strdup(buf->data); ++ TAILQ_INSERT_TAIL(&Aliases, tmp, entries); ++ /* give the main addressbook code a chance */ ++ if (CurrentMenu == MENU_ALIAS) ++ OptMenuCaller = true; ++ } ++ ++ mutt_extract_token(buf, s, MUTT_TOKEN_QUOTE | MUTT_TOKEN_SPACE | MUTT_TOKEN_SEMICOLON); ++ mutt_debug(LL_DEBUG5, "Second token is '%s'\n", buf->data); ++ ++ mutt_addrlist_parse2(&tmp->addr, buf->data); ++ ++ if (mutt_addrlist_to_intl(&tmp->addr, &estr)) ++ { ++ mutt_buffer_printf(err, _("Warning: Bad IDN '%s' in alias '%s'"), estr, tmp->name); ++ FREE(&estr); ++ goto bail; ++ } ++ ++ mutt_grouplist_add_addrlist(&gl, &tmp->addr); ++ mutt_alias_add_reverse(tmp); ++ ++ if (C_DebugLevel > LL_DEBUG4) ++ { ++ /* A group is terminated with an empty address, so check a->mailbox */ ++ struct Address *a = NULL; ++ TAILQ_FOREACH(a, &tmp->addr, entries) ++ { ++ if (!a->mailbox) ++ break; ++ ++ if (a->group) ++ mutt_debug(LL_DEBUG5, " Group %s\n", a->mailbox); ++ else ++ mutt_debug(LL_DEBUG5, " %s\n", a->mailbox); ++ } ++ } ++ mutt_grouplist_destroy(&gl); ++ return MUTT_CMD_SUCCESS; ++ ++bail: ++ mutt_grouplist_destroy(&gl); ++ return MUTT_CMD_ERROR; ++} ++ ++/** ++ * parse_alternates - Parse the 'alternates' command - Implements Command::parse() ++ */ ++enum CommandResult parse_alternates(struct Buffer *buf, struct Buffer *s, ++ unsigned long data, struct Buffer *err) ++{ ++ struct GroupList gl = STAILQ_HEAD_INITIALIZER(gl); ++ ++ alternates_clean(); ++ ++ do ++ { ++ mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); ++ ++ if (parse_grouplist(&gl, buf, s, data, err) == -1) ++ goto bail; ++ ++ mutt_regexlist_remove(&UnAlternates, buf->data); ++ ++ if (mutt_regexlist_add(&Alternates, buf->data, REG_ICASE, err) != 0) ++ goto bail; ++ ++ if (mutt_grouplist_add_regex(&gl, buf->data, REG_ICASE, err) != 0) ++ goto bail; ++ } while (MoreArgs(s)); ++ ++ mutt_grouplist_destroy(&gl); ++ return MUTT_CMD_SUCCESS; ++ ++bail: ++ mutt_grouplist_destroy(&gl); ++ return MUTT_CMD_ERROR; ++} ++ ++/** ++ * parse_attachments - Parse the 'attachments' command - Implements Command::parse() ++ */ ++enum CommandResult parse_attachments(struct Buffer *buf, struct Buffer *s, ++ unsigned long data, struct Buffer *err) ++{ ++ char op; ++ char *category = NULL; ++ struct ListHead *head = NULL; ++ ++ mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); ++ if (!buf->data || (*buf->data == '\0')) ++ { ++ mutt_buffer_strcpy(err, _("attachments: no disposition")); ++ return MUTT_CMD_WARNING; ++ } ++ ++ category = buf->data; ++ op = *category++; ++ ++ if (op == '?') ++ { ++ mutt_endwin(); ++ fflush(stdout); ++ printf("\n%s\n\n", _("Current attachments settings:")); ++ print_attach_list(&AttachAllow, '+', "A"); ++ print_attach_list(&AttachExclude, '-', "A"); ++ print_attach_list(&InlineAllow, '+', "I"); ++ print_attach_list(&InlineExclude, '-', "I"); ++ mutt_any_key_to_continue(NULL); ++ return MUTT_CMD_SUCCESS; ++ } ++ ++ if ((op != '+') && (op != '-')) ++ { ++ op = '+'; ++ category--; ++ } ++ if (mutt_str_startswith("attachment", category, CASE_IGNORE)) ++ { ++ if (op == '+') ++ head = &AttachAllow; ++ else ++ head = &AttachExclude; ++ } ++ else if (mutt_str_startswith("inline", category, CASE_IGNORE)) ++ { ++ if (op == '+') ++ head = &InlineAllow; ++ else ++ head = &InlineExclude; ++ } ++ else ++ { ++ mutt_buffer_strcpy(err, _("attachments: invalid disposition")); ++ return MUTT_CMD_ERROR; ++ } ++ ++ return parse_attach_list(buf, s, head, err); ++} ++ ++/** ++ * parse_echo - Parse the 'echo' command - Implements Command::parse() ++ */ ++enum CommandResult parse_echo(struct Buffer *buf, struct Buffer *s, ++ unsigned long data, struct Buffer *err) ++{ ++ if (!MoreArgs(s)) ++ { ++ mutt_buffer_printf(err, _("%s: too few arguments"), "echo"); ++ return MUTT_CMD_WARNING; ++ } ++ mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); ++ OptForceRefresh = true; ++ mutt_message("%s", buf->data); ++ OptForceRefresh = false; ++ mutt_sleep(0); ++ ++ return MUTT_CMD_SUCCESS; ++} ++ ++/** ++ * parse_finish - Parse the 'finish' command - Implements Command::parse() ++ * @retval #MUTT_CMD_FINISH Stop processing the current file ++ * @retval #MUTT_CMD_WARNING Failed ++ * ++ * If the 'finish' command is found, we should stop reading the current file. ++ */ ++enum CommandResult parse_finish(struct Buffer *buf, struct Buffer *s, ++ unsigned long data, struct Buffer *err) ++{ ++ if (MoreArgs(s)) ++ { ++ mutt_buffer_printf(err, _("%s: too many arguments"), "finish"); ++ return MUTT_CMD_WARNING; ++ } ++ ++ return MUTT_CMD_FINISH; ++} ++ ++/** ++ * parse_group - Parse the 'group' and 'ungroup' commands - Implements Command::parse() ++ */ ++enum CommandResult parse_group(struct Buffer *buf, struct Buffer *s, ++ unsigned long data, struct Buffer *err) ++{ ++ struct GroupList gl = STAILQ_HEAD_INITIALIZER(gl); ++ enum GroupState state = GS_NONE; ++ ++ do ++ { ++ mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); ++ if (parse_grouplist(&gl, buf, s, data, err) == -1) ++ goto bail; ++ ++ if ((data == MUTT_UNGROUP) && (mutt_str_strcasecmp(buf->data, "*") == 0)) ++ { ++ mutt_grouplist_clear(&gl); ++ goto out; ++ } ++ ++ if (mutt_str_strcasecmp(buf->data, "-rx") == 0) ++ state = GS_RX; ++ else if (mutt_str_strcasecmp(buf->data, "-addr") == 0) ++ state = GS_ADDR; ++ else ++ { ++ switch (state) ++ { ++ case GS_NONE: ++ mutt_buffer_printf(err, _("%sgroup: missing -rx or -addr"), ++ (data == MUTT_UNGROUP) ? "un" : ""); ++ goto warn; ++ ++ case GS_RX: ++ if ((data == MUTT_GROUP) && ++ (mutt_grouplist_add_regex(&gl, buf->data, REG_ICASE, err) != 0)) ++ { ++ goto bail; ++ } ++ else if ((data == MUTT_UNGROUP) && ++ (mutt_grouplist_remove_regex(&gl, buf->data) < 0)) ++ { ++ goto bail; ++ } ++ break; ++ ++ case GS_ADDR: ++ { ++ char *estr = NULL; ++ struct AddressList al = TAILQ_HEAD_INITIALIZER(al); ++ mutt_addrlist_parse2(&al, buf->data); ++ if (TAILQ_EMPTY(&al)) ++ goto bail; ++ if (mutt_addrlist_to_intl(&al, &estr)) ++ { ++ mutt_buffer_printf(err, _("%sgroup: warning: bad IDN '%s'"), ++ (data == 1) ? "un" : "", estr); ++ mutt_addrlist_clear(&al); ++ FREE(&estr); ++ goto bail; ++ } ++ if (data == MUTT_GROUP) ++ mutt_grouplist_add_addrlist(&gl, &al); ++ else if (data == MUTT_UNGROUP) ++ mutt_grouplist_remove_addrlist(&gl, &al); ++ mutt_addrlist_clear(&al); ++ break; ++ } ++ } ++ } ++ } while (MoreArgs(s)); ++ ++out: ++ mutt_grouplist_destroy(&gl); ++ return MUTT_CMD_SUCCESS; ++ ++bail: ++ mutt_grouplist_destroy(&gl); ++ return MUTT_CMD_ERROR; ++ ++warn: ++ mutt_grouplist_destroy(&gl); ++ return MUTT_CMD_WARNING; ++} ++ ++/** ++ * parse_ifdef - Parse the 'ifdef' and 'ifndef' commands - Implements Command::parse() ++ * ++ * The 'ifdef' command allows conditional elements in the config file. ++ * If a given variable, function, command or compile-time symbol exists, then ++ * read the rest of the line of config commands. ++ * e.g. ++ * ifdef sidebar source ~/.neomutt/sidebar.rc ++ * ++ * If (data == 1) then it means use the 'ifndef' (if-not-defined) command. ++ * e.g. ++ * ifndef imap finish ++ */ ++enum CommandResult parse_ifdef(struct Buffer *buf, struct Buffer *s, ++ unsigned long data, struct Buffer *err) ++{ ++ struct Buffer token = mutt_buffer_make(0); ++ ++ mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); ++ ++ // is the item defined as: ++ bool res = cs_subset_lookup(NeoMutt->sub, buf->data) // a variable? ++ || feature_enabled(buf->data) // a compiled-in feature? ++ || is_function(buf->data) // a function? ++ || mutt_command_get(buf->data) // a command? ++ || myvar_get(buf->data) // a my_ variable? ++ || mutt_str_getenv(buf->data); // an environment variable? ++ ++ if (!MoreArgs(s)) ++ { ++ mutt_buffer_printf(err, _("%s: too few arguments"), (data ? "ifndef" : "ifdef")); ++ return MUTT_CMD_WARNING; ++ } ++ mutt_extract_token(buf, s, MUTT_TOKEN_SPACE); ++ ++ /* ifdef KNOWN_SYMBOL or ifndef UNKNOWN_SYMBOL */ ++ if ((res && (data == 0)) || (!res && (data == 1))) ++ { ++ enum CommandResult rc = mutt_parse_rc_line(buf->data, &token, err); ++ if (rc == MUTT_CMD_ERROR) ++ { ++ mutt_error(_("Error: %s"), err->data); ++ FREE(&token.data); ++ return MUTT_CMD_ERROR; ++ } ++ FREE(&token.data); ++ return rc; ++ } ++ return MUTT_CMD_SUCCESS; ++} ++ ++/** ++ * parse_ignore - Parse the 'ignore' command - Implements Command::parse() ++ */ ++enum CommandResult parse_ignore(struct Buffer *buf, struct Buffer *s, ++ unsigned long data, struct Buffer *err) ++{ ++ do ++ { ++ mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); ++ remove_from_stailq(&UnIgnore, buf->data); ++ add_to_stailq(&Ignore, buf->data); ++ } while (MoreArgs(s)); ++ ++ return MUTT_CMD_SUCCESS; ++} ++ ++/** ++ * parse_lists - Parse the 'lists' command - Implements Command::parse() ++ */ ++enum CommandResult parse_lists(struct Buffer *buf, struct Buffer *s, ++ unsigned long data, struct Buffer *err) ++{ ++ struct GroupList gl = STAILQ_HEAD_INITIALIZER(gl); ++ ++ do ++ { ++ mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); ++ ++ if (parse_grouplist(&gl, buf, s, data, err) == -1) ++ goto bail; ++ ++ mutt_regexlist_remove(&UnMailLists, buf->data); ++ ++ if (mutt_regexlist_add(&MailLists, buf->data, REG_ICASE, err) != 0) ++ goto bail; ++ ++ if (mutt_grouplist_add_regex(&gl, buf->data, REG_ICASE, err) != 0) ++ goto bail; ++ } while (MoreArgs(s)); ++ ++ mutt_grouplist_destroy(&gl); ++ return MUTT_CMD_SUCCESS; ++ ++bail: ++ mutt_grouplist_destroy(&gl); ++ return MUTT_CMD_ERROR; ++} ++ ++/** ++ * parse_mailboxes - Parse the 'mailboxes' command - Implements Command::parse() ++ * ++ * This is also used by 'virtual-mailboxes'. ++ */ ++enum CommandResult parse_mailboxes(struct Buffer *buf, struct Buffer *s, ++ unsigned long data, struct Buffer *err) ++{ ++ while (MoreArgs(s)) ++ { ++ struct Mailbox *m = mailbox_new(); ++ ++ if (data & MUTT_NAMED) ++ { ++ mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); ++ if (buf->data && (*buf->data != '\0')) ++ { ++ m->name = mutt_str_strdup(buf->data); ++ } ++ else ++ { ++ mailbox_free(&m); ++ continue; ++ } ++ } ++ ++ mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); ++ if (mutt_buffer_is_empty(buf)) ++ { ++ /* Skip empty tokens. */ ++ mailbox_free(&m); ++ continue; ++ } ++ ++ mutt_buffer_strcpy(&m->pathbuf, buf->data); ++ /* int rc = */ mx_path_canon2(m, C_Folder); ++ ++ if (m->magic <= MUTT_UNKNOWN) ++ { ++ mutt_error("Unknown Mailbox: %s", m->realpath); ++ mailbox_free(&m); ++ return MUTT_CMD_ERROR; ++ } ++ ++ bool new_account = false; ++ struct Account *a = mx_ac_find(m); ++ if (!a) ++ { ++ a = account_new(NULL, NeoMutt->sub); ++ a->magic = m->magic; ++ new_account = true; ++ } ++ ++ if (!new_account) ++ { ++ struct Mailbox *m_old = mx_mbox_find(a, m->realpath); ++ if (m_old) ++ { ++ if (m_old->flags == MB_HIDDEN) ++ { ++ m_old->flags = MB_NORMAL; ++ mutt_sb_notify_mailbox(m_old, true); ++ } ++ mailbox_free(&m); ++ continue; ++ } ++ } ++ ++ if (mx_ac_add(a, m) < 0) ++ { ++ //error ++ mailbox_free(&m); ++ if (new_account) ++ { ++ cs_subset_free(&a->sub); ++ FREE(&a->name); ++ notify_free(&a->notify); ++ FREE(&a); ++ } ++ continue; ++ } ++ if (new_account) ++ { ++ neomutt_account_add(NeoMutt, a); ++ } ++ ++#ifdef USE_SIDEBAR ++ mutt_sb_notify_mailbox(m, true); ++#endif ++#ifdef USE_INOTIFY ++ mutt_monitor_add(m); ++#endif ++ } ++ return MUTT_CMD_SUCCESS; ++} ++ ++/** ++ * parse_my_hdr - Parse the 'my_hdr' command - Implements Command::parse() ++ */ ++enum CommandResult parse_my_hdr(struct Buffer *buf, struct Buffer *s, ++ unsigned long data, struct Buffer *err) ++{ ++ struct ListNode *n = NULL; ++ size_t keylen; ++ ++ mutt_extract_token(buf, s, MUTT_TOKEN_SPACE | MUTT_TOKEN_QUOTE); ++ char *p = strpbrk(buf->data, ": \t"); ++ if (!p || (*p != ':')) ++ { ++ mutt_buffer_strcpy(err, _("invalid header field")); ++ return MUTT_CMD_WARNING; ++ } ++ keylen = p - buf->data + 1; ++ ++ STAILQ_FOREACH(n, &UserHeader, entries) ++ { ++ /* see if there is already a field by this name */ ++ if (mutt_str_strncasecmp(buf->data, n->data, keylen) == 0) ++ { ++ break; ++ } ++ } ++ ++ if (!n) ++ { ++ /* not found, allocate memory for a new node and add it to the list */ ++ n = mutt_list_insert_tail(&UserHeader, NULL); ++ } ++ else ++ { ++ /* found, free the existing data */ ++ FREE(&n->data); ++ } ++ ++ n->data = buf->data; ++ mutt_buffer_init(buf); ++ ++ return MUTT_CMD_SUCCESS; ++} ++ ++#ifdef USE_SIDEBAR ++/** ++ * parse_path_list - Parse the 'sidebar_whitelist' command - Implements Command::parse() ++ */ ++enum CommandResult parse_path_list(struct Buffer *buf, struct Buffer *s, ++ unsigned long data, struct Buffer *err) ++{ ++ struct Buffer *path = mutt_buffer_pool_get(); ++ ++ do ++ { ++ mutt_extract_token(path, s, MUTT_TOKEN_NO_FLAGS); ++ mutt_buffer_expand_path(path); ++ add_to_stailq((struct ListHead *) data, mutt_b2s(path)); ++ } while (MoreArgs(s)); ++ mutt_buffer_pool_release(&path); ++ ++ return MUTT_CMD_SUCCESS; ++} ++#endif ++ ++#ifdef USE_SIDEBAR ++/** ++ * parse_path_unlist - Parse the 'unsidebar_whitelist' command - Implements Command::parse() ++ */ ++enum CommandResult parse_path_unlist(struct Buffer *buf, struct Buffer *s, ++ unsigned long data, struct Buffer *err) ++{ ++ struct Buffer *path = mutt_buffer_pool_get(); ++ ++ do ++ { ++ mutt_extract_token(path, s, MUTT_TOKEN_NO_FLAGS); ++ /* Check for deletion of entire list */ ++ if (mutt_str_strcmp(mutt_b2s(path), "*") == 0) ++ { ++ mutt_list_free((struct ListHead *) data); ++ break; ++ } ++ mutt_buffer_expand_path(path); ++ remove_from_stailq((struct ListHead *) data, mutt_b2s(path)); ++ } while (MoreArgs(s)); ++ mutt_buffer_pool_release(&path); ++ ++ return MUTT_CMD_SUCCESS; ++} ++#endif ++ ++/** ++ * parse_set - Parse the 'set' family of commands - Implements Command::parse() ++ * ++ * This is used by 'reset', 'set', 'toggle' and 'unset'. ++ */ ++enum CommandResult parse_set(struct Buffer *buf, struct Buffer *s, ++ unsigned long data, struct Buffer *err) ++{ ++ /* The order must match `enum MuttSetCommand` */ ++ static const char *set_commands[] = { "set", "toggle", "unset", "reset" }; ++ ++ int rc = 0; ++ ++ while (MoreArgs(s)) ++ { ++ bool prefix = false; ++ bool query = false; ++ bool inv = (data == MUTT_SET_INV); ++ bool reset = (data == MUTT_SET_RESET); ++ bool unset = (data == MUTT_SET_UNSET); ++ ++ if (*s->dptr == '?') ++ { ++ prefix = true; ++ query = true; ++ s->dptr++; ++ } ++ else if (mutt_str_startswith(s->dptr, "no", CASE_MATCH)) ++ { ++ prefix = true; ++ unset = !unset; ++ s->dptr += 2; ++ } ++ else if (mutt_str_startswith(s->dptr, "inv", CASE_MATCH)) ++ { ++ prefix = true; ++ inv = !inv; ++ s->dptr += 3; ++ } ++ else if (*s->dptr == '&') ++ { ++ prefix = true; ++ reset = true; ++ s->dptr++; ++ } ++ ++ if (prefix && (data != MUTT_SET_SET)) ++ { ++ mutt_buffer_printf(err, "ERR22 can't use 'inv', 'no', '&' or '?' with the '%s' command", ++ set_commands[data]); ++ return MUTT_CMD_WARNING; ++ } ++ ++ /* get the variable name */ ++ mutt_extract_token(buf, s, MUTT_TOKEN_EQUAL | MUTT_TOKEN_QUESTION); ++ ++ bool bq = false; ++ bool equals = false; ++ ++ struct HashElem *he = NULL; ++ bool my = mutt_str_startswith(buf->data, "my_", CASE_MATCH); ++ if (!my) ++ { ++ he = cs_subset_lookup(NeoMutt->sub, buf->data); ++ if (!he) ++ { ++ if (reset && (mutt_str_strcmp(buf->data, "all") == 0)) ++ { ++ struct HashElem **list = get_elem_list(NeoMutt->sub->cs); ++ if (!list) ++ return MUTT_CMD_ERROR; ++ ++ for (size_t i = 0; list[i]; i++) ++ cs_subset_he_reset(NeoMutt->sub, list[i], NULL); ++ ++ FREE(&list); ++ break; ++ } ++ else ++ { ++ mutt_buffer_printf(err, "ERR01 unknown variable: %s", buf->data); ++ return MUTT_CMD_ERROR; ++ } ++ } ++ ++ bq = ((DTYPE(he->type) == DT_BOOL) || (DTYPE(he->type) == DT_QUAD)); ++ } ++ ++ if (*s->dptr == '?') ++ { ++ if (prefix) ++ { ++ mutt_buffer_printf(err, ++ "ERR02 can't use a prefix when querying a variable"); ++ return MUTT_CMD_WARNING; ++ } ++ ++ if (reset || unset || inv) ++ { ++ mutt_buffer_printf(err, "ERR03 can't query a variable with the '%s' command", ++ set_commands[data]); ++ return MUTT_CMD_WARNING; ++ } ++ ++ query = true; ++ s->dptr++; ++ } ++ else if (*s->dptr == '=') ++ { ++ if (prefix) ++ { ++ mutt_buffer_printf(err, ++ "ERR04 can't use prefix when setting a variable"); ++ return MUTT_CMD_WARNING; ++ } ++ ++ if (reset || unset || inv) ++ { ++ mutt_buffer_printf(err, "ERR05 can't set a variable with the '%s' command", ++ set_commands[data]); ++ return MUTT_CMD_WARNING; ++ } ++ ++ equals = true; ++ s->dptr++; ++ } ++ ++ if (!bq && (inv || (unset && prefix))) ++ { ++ if (data == MUTT_SET_SET) ++ { ++ mutt_buffer_printf(err, "ERR06 prefixes 'no' and 'inv' may only be " ++ "used with bool/quad variables"); ++ } ++ else ++ { ++ mutt_buffer_printf(err, "ERR07 command '%s' can only be used with bool/quad variables", ++ set_commands[data]); ++ } ++ return MUTT_CMD_WARNING; ++ } ++ ++ if (reset) ++ { ++ // mutt_buffer_printf(err, "ACT24 reset variable %s", buf->data); ++ if (he) ++ { ++ rc = cs_subset_he_reset(NeoMutt->sub, he, err); ++ if (CSR_RESULT(rc) != CSR_SUCCESS) ++ return MUTT_CMD_ERROR; ++ } ++ else ++ { ++ myvar_del(buf->data); ++ } ++ continue; ++ } ++ ++ if ((data == MUTT_SET_SET) && !inv && !unset) ++ { ++ if (query) ++ { ++ // mutt_buffer_printf(err, "ACT08 query variable %s", buf->data); ++ if (he) ++ { ++ mutt_buffer_addstr(err, buf->data); ++ mutt_buffer_addch(err, '='); ++ mutt_buffer_reset(buf); ++ rc = cs_subset_he_string_get(NeoMutt->sub, he, buf); ++ if (CSR_RESULT(rc) != CSR_SUCCESS) ++ { ++ mutt_buffer_addstr(err, buf->data); ++ return MUTT_CMD_ERROR; ++ } ++ if (DTYPE(he->type) == DT_PATH) ++ mutt_pretty_mailbox(buf->data, buf->dsize); ++ pretty_var(buf->data, err); ++ } ++ else ++ { ++ const char *val = myvar_get(buf->data); ++ if (val) ++ { ++ mutt_buffer_addstr(err, buf->data); ++ mutt_buffer_addch(err, '='); ++ pretty_var(val, err); ++ } ++ else ++ { ++ mutt_buffer_printf(err, _("%s: unknown variable"), buf->data); ++ return MUTT_CMD_ERROR; ++ } ++ } ++ break; ++ } ++ else if (equals) ++ { ++ // mutt_buffer_printf(err, "ACT11 set variable %s to ", buf->data); ++ const char *name = NULL; ++ if (my) ++ { ++ name = mutt_str_strdup(buf->data); ++ } ++ mutt_extract_token(buf, s, MUTT_TOKEN_BACKTICK_VARS); ++ if (my) ++ { ++ myvar_set(name, buf->data); ++ FREE(&name); ++ } ++ else ++ { ++ if (DTYPE(he->type) == DT_PATH) ++ { ++ if (he->type & (DT_PATH_DIR | DT_PATH_FILE)) ++ mutt_buffer_expand_path(buf); ++ else ++ mutt_path_tilde(buf->data, buf->dsize, HomeDir); ++ } ++ else if (IS_MAILBOX(he)) ++ { ++ mutt_buffer_expand_path(buf); ++ } ++ else if (IS_COMMAND(he)) ++ { ++ struct Buffer scratch = mutt_buffer_make(1024); ++ mutt_buffer_copy(&scratch, buf); ++ ++ if (mutt_str_strcmp(buf->data, "builtin") != 0) ++ { ++ mutt_buffer_expand_path(&scratch); ++ } ++ mutt_buffer_reset(buf); ++ mutt_buffer_addstr(buf, mutt_b2s(&scratch)); ++ mutt_buffer_dealloc(&scratch); ++ } ++ ++ rc = cs_subset_he_string_set(NeoMutt->sub, he, buf->data, err); ++ if (CSR_RESULT(rc) != CSR_SUCCESS) ++ return MUTT_CMD_ERROR; ++ } ++ continue; ++ } ++ else ++ { ++ if (bq) ++ { ++ // mutt_buffer_printf(err, "ACT23 set variable %s to 'yes'", buf->data); ++ rc = cs_subset_he_native_set(NeoMutt->sub, he, true, err); ++ if (CSR_RESULT(rc) != CSR_SUCCESS) ++ return MUTT_CMD_ERROR; ++ continue; ++ } ++ else ++ { ++ // mutt_buffer_printf(err, "ACT10 query variable %s", buf->data); ++ if (he) ++ { ++ mutt_buffer_addstr(err, buf->data); ++ mutt_buffer_addch(err, '='); ++ mutt_buffer_reset(buf); ++ rc = cs_subset_he_string_get(NeoMutt->sub, he, buf); ++ if (CSR_RESULT(rc) != CSR_SUCCESS) ++ { ++ mutt_buffer_addstr(err, buf->data); ++ return MUTT_CMD_ERROR; ++ } ++ if (DTYPE(he->type) == DT_PATH) ++ mutt_pretty_mailbox(buf->data, buf->dsize); ++ pretty_var(buf->data, err); ++ } ++ else ++ { ++ const char *val = myvar_get(buf->data); ++ if (val) ++ { ++ mutt_buffer_addstr(err, buf->data); ++ mutt_buffer_addch(err, '='); ++ pretty_var(val, err); ++ } ++ else ++ { ++ mutt_buffer_printf(err, _("%s: unknown variable"), buf->data); ++ return MUTT_CMD_ERROR; ++ } ++ } ++ break; ++ } ++ } ++ } ++ ++ if (my) ++ { ++ myvar_del(buf->data); ++ } ++ else if (bq) ++ { ++ if (inv) ++ { ++ // mutt_buffer_printf(err, "ACT25 TOGGLE bool/quad variable %s", buf->data); ++ if (DTYPE(he->type) == DT_BOOL) ++ bool_he_toggle(NeoMutt->sub, he, err); ++ else ++ quad_he_toggle(NeoMutt->sub, he, err); ++ } ++ else ++ { ++ // mutt_buffer_printf(err, "ACT26 UNSET bool/quad variable %s", buf->data); ++ rc = cs_subset_he_native_set(NeoMutt->sub, he, false, err); ++ if (CSR_RESULT(rc) != CSR_SUCCESS) ++ return MUTT_CMD_ERROR; ++ } ++ continue; ++ } ++ else ++ { ++ rc = cs_subset_he_string_set(NeoMutt->sub, he, NULL, err); ++ if (CSR_RESULT(rc) != CSR_SUCCESS) ++ return MUTT_CMD_ERROR; ++ } ++ } ++ ++ return MUTT_CMD_SUCCESS; ++} ++ ++/** ++ * parse_setenv - Parse the 'setenv' and 'unsetenv' commands - Implements Command::parse() ++ */ ++enum CommandResult parse_setenv(struct Buffer *buf, struct Buffer *s, ++ unsigned long data, struct Buffer *err) ++{ ++ char **envp = mutt_envlist_getlist(); ++ ++ bool query = false; ++ bool unset = (data == MUTT_SET_UNSET); ++ ++ if (!MoreArgs(s)) ++ { ++ mutt_buffer_printf(err, _("%s: too few arguments"), "setenv"); ++ return MUTT_CMD_WARNING; ++ } ++ ++ if (*s->dptr == '?') ++ { ++ query = true; ++ s->dptr++; ++ } ++ ++ /* get variable name */ ++ mutt_extract_token(buf, s, MUTT_TOKEN_EQUAL); ++ ++ if (query) ++ { ++ bool found = false; ++ while (envp && *envp) ++ { ++ /* This will display all matches for "^QUERY" */ ++ if (mutt_str_startswith(*envp, buf->data, CASE_MATCH)) ++ { ++ if (!found) ++ { ++ mutt_endwin(); ++ found = true; ++ } ++ puts(*envp); ++ } ++ envp++; ++ } ++ ++ if (found) ++ { ++ mutt_any_key_to_continue(NULL); ++ return MUTT_CMD_SUCCESS; ++ } ++ ++ mutt_buffer_printf(err, _("%s is unset"), buf->data); ++ return MUTT_CMD_WARNING; ++ } ++ ++ if (unset) ++ { ++ if (mutt_envlist_unset(buf->data)) ++ return MUTT_CMD_SUCCESS; ++ return MUTT_CMD_ERROR; ++ } ++ ++ /* set variable */ ++ ++ if (*s->dptr == '=') ++ { ++ s->dptr++; ++ SKIPWS(s->dptr); ++ } ++ ++ if (!MoreArgs(s)) ++ { ++ mutt_buffer_printf(err, _("%s: too few arguments"), "setenv"); ++ return MUTT_CMD_WARNING; ++ } ++ ++ char *name = mutt_str_strdup(buf->data); ++ mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); ++ mutt_envlist_set(name, buf->data, true); ++ FREE(&name); ++ ++ return MUTT_CMD_SUCCESS; ++} ++ ++/** ++ * parse_source - Parse the 'source' command - Implements Command::parse() ++ */ ++enum CommandResult parse_source(struct Buffer *buf, struct Buffer *s, ++ unsigned long data, struct Buffer *err) ++{ ++ char path[PATH_MAX]; ++ ++ do ++ { ++ if (mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS) != 0) ++ { ++ mutt_buffer_printf(err, _("source: error at %s"), s->dptr); ++ return MUTT_CMD_ERROR; ++ } ++ mutt_str_strfcpy(path, buf->data, sizeof(path)); ++ mutt_expand_path(path, sizeof(path)); ++ ++ if (source_rc(path, err) < 0) ++ { ++ mutt_buffer_printf(err, _("source: file %s could not be sourced"), path); ++ return MUTT_CMD_ERROR; ++ } ++ ++ } while (MoreArgs(s)); ++ ++ return MUTT_CMD_SUCCESS; ++} ++ ++/** ++ * parse_spam_list - Parse the 'spam' and 'nospam' commands - Implements Command::parse() ++ */ ++enum CommandResult parse_spam_list(struct Buffer *buf, struct Buffer *s, ++ unsigned long data, struct Buffer *err) ++{ ++ struct Buffer templ; ++ ++ mutt_buffer_init(&templ); ++ ++ /* Insist on at least one parameter */ ++ if (!MoreArgs(s)) ++ { ++ if (data == MUTT_SPAM) ++ mutt_buffer_strcpy(err, _("spam: no matching pattern")); ++ else ++ mutt_buffer_strcpy(err, _("nospam: no matching pattern")); ++ return MUTT_CMD_ERROR; ++ } ++ ++ /* Extract the first token, a regex */ ++ mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); ++ ++ /* data should be either MUTT_SPAM or MUTT_NOSPAM. MUTT_SPAM is for spam commands. */ ++ if (data == MUTT_SPAM) ++ { ++ /* If there's a second parameter, it's a template for the spam tag. */ ++ if (MoreArgs(s)) ++ { ++ mutt_extract_token(&templ, s, MUTT_TOKEN_NO_FLAGS); ++ ++ /* Add to the spam list. */ ++ if (mutt_replacelist_add(&SpamList, buf->data, templ.data, err) != 0) ++ { ++ FREE(&templ.data); ++ return MUTT_CMD_ERROR; ++ } ++ FREE(&templ.data); ++ } ++ /* If not, try to remove from the nospam list. */ ++ else ++ { ++ mutt_regexlist_remove(&NoSpamList, buf->data); ++ } ++ ++ return MUTT_CMD_SUCCESS; ++ } ++ /* MUTT_NOSPAM is for nospam commands. */ ++ else if (data == MUTT_NOSPAM) ++ { ++ /* nospam only ever has one parameter. */ ++ ++ /* "*" is a special case. */ ++ if (mutt_str_strcmp(buf->data, "*") == 0) ++ { ++ mutt_replacelist_free(&SpamList); ++ mutt_regexlist_free(&NoSpamList); ++ return MUTT_CMD_SUCCESS; ++ } ++ ++ /* If it's on the spam list, just remove it. */ ++ if (mutt_replacelist_remove(&SpamList, buf->data) != 0) ++ return MUTT_CMD_SUCCESS; ++ ++ /* Otherwise, add it to the nospam list. */ ++ if (mutt_regexlist_add(&NoSpamList, buf->data, REG_ICASE, err) != 0) ++ return MUTT_CMD_ERROR; ++ ++ return MUTT_CMD_SUCCESS; ++ } ++ ++ /* This should not happen. */ ++ mutt_buffer_strcpy(err, "This is no good at all."); ++ return MUTT_CMD_ERROR; ++} ++ ++/** ++ * parse_stailq - Parse a list command - Implements Command::parse() ++ * ++ * This is used by 'alternative_order', 'auto_view' and several others. ++ */ ++enum CommandResult parse_stailq(struct Buffer *buf, struct Buffer *s, ++ unsigned long data, struct Buffer *err) ++{ ++ do ++ { ++ mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); ++ add_to_stailq((struct ListHead *) data, buf->data); ++ } while (MoreArgs(s)); ++ ++ return MUTT_CMD_SUCCESS; ++} ++ ++/** ++ * parse_subjectrx_list - Parse the 'subjectrx' command - Implements Command::parse() ++ */ ++enum CommandResult parse_subjectrx_list(struct Buffer *buf, struct Buffer *s, ++ unsigned long data, struct Buffer *err) ++{ ++ enum CommandResult rc; ++ ++ rc = parse_replace_list(buf, s, data, err); ++ if (rc == MUTT_CMD_SUCCESS) ++ clear_subject_mods(); ++ return rc; ++} ++ ++/** ++ * parse_subscribe - Parse the 'subscribe' command - Implements Command::parse() ++ */ ++enum CommandResult parse_subscribe(struct Buffer *buf, struct Buffer *s, ++ unsigned long data, struct Buffer *err) ++{ ++ struct GroupList gl = STAILQ_HEAD_INITIALIZER(gl); ++ ++ do ++ { ++ mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); ++ ++ if (parse_grouplist(&gl, buf, s, data, err) == -1) ++ goto bail; ++ ++ mutt_regexlist_remove(&UnMailLists, buf->data); ++ mutt_regexlist_remove(&UnSubscribedLists, buf->data); ++ ++ if (mutt_regexlist_add(&MailLists, buf->data, REG_ICASE, err) != 0) ++ goto bail; ++ if (mutt_regexlist_add(&SubscribedLists, buf->data, REG_ICASE, err) != 0) ++ goto bail; ++ if (mutt_grouplist_add_regex(&gl, buf->data, REG_ICASE, err) != 0) ++ goto bail; ++ } while (MoreArgs(s)); ++ ++ mutt_grouplist_destroy(&gl); ++ return MUTT_CMD_SUCCESS; ++ ++bail: ++ mutt_grouplist_destroy(&gl); ++ return MUTT_CMD_ERROR; ++} ++ ++#ifdef USE_IMAP ++/** ++ * parse_subscribe_to - Parse the 'subscribe-to' command - Implements Command::parse() ++ * ++ * The 'subscribe-to' command allows to subscribe to an IMAP-Mailbox. ++ * Patterns are not supported. ++ * Use it as follows: subscribe-to =folder ++ */ ++enum CommandResult parse_subscribe_to(struct Buffer *buf, struct Buffer *s, ++ unsigned long data, struct Buffer *err) ++{ ++ if (!buf || !s || !err) ++ return MUTT_CMD_ERROR; ++ ++ mutt_buffer_reset(err); ++ ++ if (MoreArgs(s)) ++ { ++ mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); ++ ++ if (MoreArgs(s)) ++ { ++ mutt_buffer_printf(err, _("%s: too many arguments"), "subscribe-to"); ++ return MUTT_CMD_WARNING; ++ } ++ ++ if (buf->data && (*buf->data != '\0')) ++ { ++ /* Expand and subscribe */ ++ if (imap_subscribe(mutt_expand_path(buf->data, buf->dsize), true) == 0) ++ { ++ mutt_message(_("Subscribed to %s"), buf->data); ++ return MUTT_CMD_SUCCESS; ++ } ++ ++ mutt_buffer_printf(err, _("Could not subscribe to %s"), buf->data); ++ return MUTT_CMD_ERROR; ++ } ++ ++ mutt_debug(LL_DEBUG1, "Corrupted buffer"); ++ return MUTT_CMD_ERROR; ++ } ++ ++ mutt_buffer_addstr(err, _("No folder specified")); ++ return MUTT_CMD_WARNING; ++} ++#endif ++ ++/** ++ * parse_tag_formats - Parse the 'tag-formats' command - Implements Command::parse() ++ */ ++enum CommandResult parse_tag_formats(struct Buffer *buf, struct Buffer *s, ++ unsigned long data, struct Buffer *err) ++{ ++ if (!buf || !s) ++ return MUTT_CMD_ERROR; ++ ++ char *tmp = NULL; ++ ++ while (MoreArgs(s)) ++ { ++ char *tag = NULL, *format = NULL; ++ ++ mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); ++ if (buf->data && (*buf->data != '\0')) ++ tag = mutt_str_strdup(buf->data); ++ else ++ continue; ++ ++ mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); ++ format = mutt_str_strdup(buf->data); ++ ++ /* avoid duplicates */ ++ tmp = mutt_hash_find(TagFormats, format); ++ if (tmp) ++ { ++ mutt_debug(LL_DEBUG3, "tag format '%s' already registered as '%s'\n", format, tmp); ++ FREE(&tag); ++ FREE(&format); ++ continue; ++ } ++ ++ mutt_hash_insert(TagFormats, format, tag); ++ } ++ return MUTT_CMD_SUCCESS; ++} ++ ++/** ++ * parse_tag_transforms - Parse the 'tag-transforms' command - Implements Command::parse() ++ */ ++enum CommandResult parse_tag_transforms(struct Buffer *buf, struct Buffer *s, ++ unsigned long data, struct Buffer *err) ++{ ++ if (!buf || !s) ++ return MUTT_CMD_ERROR; ++ ++ char *tmp = NULL; ++ ++ while (MoreArgs(s)) ++ { ++ char *tag = NULL, *transform = NULL; ++ ++ mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); ++ if (buf->data && (*buf->data != '\0')) ++ tag = mutt_str_strdup(buf->data); ++ else ++ continue; ++ ++ mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); ++ transform = mutt_str_strdup(buf->data); ++ ++ /* avoid duplicates */ ++ tmp = mutt_hash_find(TagTransforms, tag); ++ if (tmp) ++ { ++ mutt_debug(LL_DEBUG3, "tag transform '%s' already registered as '%s'\n", tag, tmp); ++ FREE(&tag); ++ FREE(&transform); ++ continue; ++ } ++ ++ mutt_hash_insert(TagTransforms, tag, transform); ++ } ++ return MUTT_CMD_SUCCESS; ++} ++ ++/** ++ * parse_unalias - Parse the 'unalias' command - Implements Command::parse() ++ */ ++enum CommandResult parse_unalias(struct Buffer *buf, struct Buffer *s, ++ unsigned long data, struct Buffer *err) ++{ ++ struct Alias *a = NULL; ++ ++ do ++ { ++ mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); ++ ++ if (mutt_str_strcmp("*", buf->data) == 0) ++ { ++ if (CurrentMenu == MENU_ALIAS) ++ { ++ TAILQ_FOREACH(a, &Aliases, entries) ++ { ++ a->del = true; ++ } ++ mutt_menu_set_current_redraw_full(); ++ } ++ else ++ mutt_aliaslist_free(&Aliases); ++ break; ++ } ++ else ++ { ++ TAILQ_FOREACH(a, &Aliases, entries) ++ { ++ if (mutt_str_strcasecmp(buf->data, a->name) == 0) ++ { ++ if (CurrentMenu == MENU_ALIAS) ++ { ++ a->del = true; ++ mutt_menu_set_current_redraw_full(); ++ } ++ else ++ { ++ TAILQ_REMOVE(&Aliases, a, entries); ++ mutt_alias_free(&a); ++ } ++ break; ++ } ++ } ++ } ++ } while (MoreArgs(s)); ++ return MUTT_CMD_SUCCESS; ++} ++ ++/** ++ * parse_unalternates - Parse the 'unalternates' command - Implements Command::parse() ++ */ ++enum CommandResult parse_unalternates(struct Buffer *buf, struct Buffer *s, ++ unsigned long data, struct Buffer *err) ++{ ++ alternates_clean(); ++ do ++ { ++ mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); ++ mutt_regexlist_remove(&Alternates, buf->data); ++ ++ if ((mutt_str_strcmp(buf->data, "*") != 0) && ++ (mutt_regexlist_add(&UnAlternates, buf->data, REG_ICASE, err) != 0)) ++ { ++ return MUTT_CMD_ERROR; ++ } ++ ++ } while (MoreArgs(s)); ++ ++ return MUTT_CMD_SUCCESS; ++} ++ ++/** ++ * parse_unattachments - Parse the 'unattachments' command - Implements Command::parse() ++ */ ++enum CommandResult parse_unattachments(struct Buffer *buf, struct Buffer *s, ++ unsigned long data, struct Buffer *err) ++{ ++ char op; ++ char *p = NULL; ++ struct ListHead *head = NULL; ++ ++ mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); ++ if (!buf->data || (*buf->data == '\0')) ++ { ++ mutt_buffer_strcpy(err, _("unattachments: no disposition")); ++ return MUTT_CMD_WARNING; ++ } ++ ++ p = buf->data; ++ op = *p++; ++ ++ if (op == '*') ++ { ++ mutt_list_free_type(&AttachAllow, (list_free_t) mutt_attachmatch_free); ++ mutt_list_free_type(&AttachExclude, (list_free_t) mutt_attachmatch_free); ++ mutt_list_free_type(&InlineAllow, (list_free_t) mutt_attachmatch_free); ++ mutt_list_free_type(&InlineExclude, (list_free_t) mutt_attachmatch_free); ++ attachments_clean(); ++ return 0; ++ } ++ ++ if ((op != '+') && (op != '-')) ++ { ++ op = '+'; ++ p--; ++ } ++ if (mutt_str_startswith("attachment", p, CASE_IGNORE)) ++ { ++ if (op == '+') ++ head = &AttachAllow; ++ else ++ head = &AttachExclude; ++ } ++ else if (mutt_str_startswith("inline", p, CASE_IGNORE)) ++ { ++ if (op == '+') ++ head = &InlineAllow; ++ else ++ head = &InlineExclude; ++ } ++ else ++ { ++ mutt_buffer_strcpy(err, _("unattachments: invalid disposition")); ++ return MUTT_CMD_ERROR; ++ } ++ ++ return parse_unattach_list(buf, s, head, err); ++} ++ ++/** ++ * parse_unignore - Parse the 'unignore' command - Implements Command::parse() ++ */ ++enum CommandResult parse_unignore(struct Buffer *buf, struct Buffer *s, ++ unsigned long data, struct Buffer *err) ++{ ++ do ++ { ++ mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); ++ ++ /* don't add "*" to the unignore list */ ++ if (strcmp(buf->data, "*") != 0) ++ add_to_stailq(&UnIgnore, buf->data); ++ ++ remove_from_stailq(&Ignore, buf->data); ++ } while (MoreArgs(s)); ++ ++ return MUTT_CMD_SUCCESS; ++} ++ ++/** ++ * parse_unlists - Parse the 'unlists' command - Implements Command::parse() ++ */ ++enum CommandResult parse_unlists(struct Buffer *buf, struct Buffer *s, ++ unsigned long data, struct Buffer *err) ++{ ++ mutt_hash_free(&AutoSubscribeCache); ++ do ++ { ++ mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); ++ mutt_regexlist_remove(&SubscribedLists, buf->data); ++ mutt_regexlist_remove(&MailLists, buf->data); ++ ++ if ((mutt_str_strcmp(buf->data, "*") != 0) && ++ (mutt_regexlist_add(&UnMailLists, buf->data, REG_ICASE, err) != 0)) ++ { ++ return MUTT_CMD_ERROR; ++ } ++ } while (MoreArgs(s)); ++ ++ return MUTT_CMD_SUCCESS; ++} ++ ++/** ++ * parse_unmailboxes - Parse the 'unmailboxes' command - Implements Command::parse() ++ * ++ * This is also used by 'unvirtual-mailboxes' ++ */ ++enum CommandResult parse_unmailboxes(struct Buffer *buf, struct Buffer *s, ++ unsigned long data, struct Buffer *err) ++{ ++ bool tmp_valid = false; ++ bool clear_all = false; ++ ++ while (!clear_all && MoreArgs(s)) ++ { ++ mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); ++ ++ if (mutt_str_strcmp(buf->data, "*") == 0) ++ { ++ clear_all = true; ++ tmp_valid = false; ++ } ++ else ++ { ++ mutt_buffer_expand_path(buf); ++ tmp_valid = true; ++ } ++ ++ struct MailboxList ml = neomutt_mailboxlist_get_all(NeoMutt, MUTT_MAILBOX_ANY); ++ struct MailboxNode *np = NULL; ++ struct MailboxNode *nptmp = NULL; ++ STAILQ_FOREACH_SAFE(np, &ml, entries, nptmp) ++ { ++ /* Compare against path or desc? Ensure 'buf' is valid */ ++ if (!clear_all && tmp_valid && ++ (mutt_str_strcasecmp(mutt_b2s(buf), mailbox_path(np->mailbox)) != 0) && ++ (mutt_str_strcasecmp(mutt_b2s(buf), np->mailbox->name) != 0)) ++ { ++ continue; ++ } ++ ++#ifdef USE_SIDEBAR ++ mutt_sb_notify_mailbox(np->mailbox, false); ++#endif ++#ifdef USE_INOTIFY ++ mutt_monitor_remove(np->mailbox); ++#endif ++ if (Context && (Context->mailbox == np->mailbox)) ++ { ++ np->mailbox->flags |= MB_HIDDEN; ++ } ++ else ++ { ++ account_mailbox_remove(np->mailbox->account, np->mailbox); ++ mailbox_free(&np->mailbox); ++ } ++ } ++ neomutt_mailboxlist_clear(&ml); ++ } ++ return MUTT_CMD_SUCCESS; ++} ++ ++/** ++ * parse_unmy_hdr - Parse the 'unmy_hdr' command - Implements Command::parse() ++ */ ++enum CommandResult parse_unmy_hdr(struct Buffer *buf, struct Buffer *s, ++ unsigned long data, struct Buffer *err) ++{ ++ struct ListNode *np = NULL, *tmp = NULL; ++ size_t l; ++ ++ do ++ { ++ mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); ++ if (mutt_str_strcmp("*", buf->data) == 0) ++ { ++ mutt_list_free(&UserHeader); ++ continue; ++ } ++ ++ l = mutt_str_strlen(buf->data); ++ if (buf->data[l - 1] == ':') ++ l--; ++ ++ STAILQ_FOREACH_SAFE(np, &UserHeader, entries, tmp) ++ { ++ if ((mutt_str_strncasecmp(buf->data, np->data, l) == 0) && (np->data[l] == ':')) ++ { ++ STAILQ_REMOVE(&UserHeader, np, ListNode, entries); ++ FREE(&np->data); ++ FREE(&np); ++ } ++ } ++ } while (MoreArgs(s)); ++ return MUTT_CMD_SUCCESS; ++} ++ ++/** ++ * parse_unstailq - Parse an unlist command - Implements Command::parse() ++ * ++ * This is used by 'unalternative_order', 'unauto_view' and several others. ++ */ ++enum CommandResult parse_unstailq(struct Buffer *buf, struct Buffer *s, ++ unsigned long data, struct Buffer *err) ++{ ++ do ++ { ++ mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); ++ /* Check for deletion of entire list */ ++ if (mutt_str_strcmp(buf->data, "*") == 0) ++ { ++ mutt_list_free((struct ListHead *) data); ++ break; ++ } ++ remove_from_stailq((struct ListHead *) data, buf->data); ++ } while (MoreArgs(s)); ++ ++ return MUTT_CMD_SUCCESS; ++} ++ ++/** ++ * parse_unsubjectrx_list - Parse the 'unsubjectrx' command - Implements Command::parse() ++ */ ++enum CommandResult parse_unsubjectrx_list(struct Buffer *buf, struct Buffer *s, ++ unsigned long data, struct Buffer *err) ++{ ++ enum CommandResult rc; ++ ++ rc = parse_unreplace_list(buf, s, data, err); ++ if (rc == MUTT_CMD_SUCCESS) ++ clear_subject_mods(); ++ return rc; ++} ++ ++/** ++ * parse_unsubscribe - Parse the 'unsubscribe' command - Implements Command::parse() ++ */ ++enum CommandResult parse_unsubscribe(struct Buffer *buf, struct Buffer *s, ++ unsigned long data, struct Buffer *err) ++{ ++ mutt_hash_free(&AutoSubscribeCache); ++ do ++ { ++ mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); ++ mutt_regexlist_remove(&SubscribedLists, buf->data); ++ ++ if ((mutt_str_strcmp(buf->data, "*") != 0) && ++ (mutt_regexlist_add(&UnSubscribedLists, buf->data, REG_ICASE, err) != 0)) ++ { ++ return MUTT_CMD_ERROR; ++ } ++ } while (MoreArgs(s)); ++ ++ return MUTT_CMD_SUCCESS; ++} ++ ++#ifdef USE_IMAP ++/** ++ * parse_unsubscribe_from - Parse the 'unsubscribe-from' command - Implements Command::parse() ++ * ++ * The 'unsubscribe-from' command allows to unsubscribe from an IMAP-Mailbox. ++ * Patterns are not supported. ++ * Use it as follows: unsubscribe-from =folder ++ */ ++enum CommandResult parse_unsubscribe_from(struct Buffer *buf, struct Buffer *s, ++ unsigned long data, struct Buffer *err) ++{ ++ if (!buf || !s || !err) ++ return MUTT_CMD_ERROR; ++ ++ if (MoreArgs(s)) ++ { ++ mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); ++ ++ if (MoreArgs(s)) ++ { ++ mutt_buffer_printf(err, _("%s: too many arguments"), "unsubscribe-from"); ++ return MUTT_CMD_WARNING; ++ } ++ ++ if (buf->data && (*buf->data != '\0')) ++ { ++ /* Expand and subscribe */ ++ if (imap_subscribe(mutt_expand_path(buf->data, buf->dsize), false) == 0) ++ { ++ mutt_message(_("Unsubscribed from %s"), buf->data); ++ return MUTT_CMD_SUCCESS; ++ } ++ ++ mutt_buffer_printf(err, _("Could not unsubscribe from %s"), buf->data); ++ return MUTT_CMD_ERROR; ++ } ++ ++ mutt_debug(LL_DEBUG1, "Corrupted buffer"); ++ return MUTT_CMD_ERROR; ++ } ++ ++ mutt_buffer_addstr(err, _("No folder specified")); ++ return MUTT_CMD_WARNING; ++} ++#endif ++ ++/** ++ * clear_source_stack - Free memory from the stack used for the souce command ++ */ ++void clear_source_stack(void) ++{ ++ mutt_list_free(&MuttrcStack); ++} +diff --git a/command_parse.h b/command_parse.h +new file mode 100644 +index 000000000..0631c4fd4 +--- /dev/null ++++ b/command_parse.h +@@ -0,0 +1,76 @@ ++/** ++ * @file ++ * Functions to parse commands in a config file ++ * ++ * @authors ++ * Copyright (C) 1996-2002,2007,2010,2012-2013,2016 Michael R. Elkins ++ * Copyright (C) 2004 g10 Code GmbH ++ * ++ * @copyright ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 2 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ ++#ifndef MUTT_COMMAND_PARSE_H ++#define MUTT_COMMAND_PARSE_H ++ ++#include "config.h" ++#include "mutt_commands.h" ++ ++struct Buffer; ++ ++enum CommandResult parse_alias (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); ++enum CommandResult parse_alternates (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); ++enum CommandResult parse_attachments (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); ++enum CommandResult parse_echo (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); ++enum CommandResult parse_finish (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); ++enum CommandResult parse_group (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); ++enum CommandResult parse_ifdef (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); ++enum CommandResult parse_ignore (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); ++enum CommandResult parse_lists (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); ++enum CommandResult parse_mailboxes (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); ++enum CommandResult parse_my_hdr (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); ++#ifdef USE_SIDEBAR ++enum CommandResult parse_path_list (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); ++enum CommandResult parse_path_unlist (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); ++#endif ++enum CommandResult parse_set (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); ++enum CommandResult parse_setenv (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); ++enum CommandResult parse_source (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); ++enum CommandResult parse_spam_list (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); ++enum CommandResult parse_stailq (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); ++enum CommandResult parse_subjectrx_list (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); ++enum CommandResult parse_subscribe (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); ++#ifdef USE_IMAP ++enum CommandResult parse_subscribe_to (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); ++#endif ++enum CommandResult parse_tag_formats (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); ++enum CommandResult parse_tag_transforms (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); ++enum CommandResult parse_unalias (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); ++enum CommandResult parse_unalternates (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); ++enum CommandResult parse_unattachments (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); ++enum CommandResult parse_unignore (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); ++enum CommandResult parse_unlists (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); ++enum CommandResult parse_unmailboxes (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); ++enum CommandResult parse_unmy_hdr (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); ++enum CommandResult parse_unstailq (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); ++enum CommandResult parse_unsubjectrx_list(struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); ++enum CommandResult parse_unsubscribe (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); ++#ifdef USE_IMAP ++enum CommandResult parse_unsubscribe_from(struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); ++#endif ++ ++void clear_source_stack(void); ++int source_rc(const char *rcfile_path, struct Buffer *err); ++ ++#endif /* MUTT_COMMAND_PARSE_H */ +diff --git a/commands.c b/commands.c +index 29bcbb642..6bb524353 100644 +--- a/commands.c ++++ b/commands.c +@@ -37,50 +37,48 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "config/lib.h" + #include "email/lib.h" + #include "core/lib.h" ++#include "gui/lib.h" + #include "mutt.h" + #include "commands.h" + #include "alias.h" + #include "context.h" + #include "copy.h" +-#include "curs_lib.h" +-#include "filter.h" + #include "format_flags.h" + #include "globals.h" + #include "hdrline.h" + #include "hook.h" + #include "icommands.h" ++#include "init.h" + #include "keymap.h" + #include "mutt_commands.h" +-#include "mutt_curses.h" + #include "mutt_logging.h" + #include "mutt_mailbox.h" + #include "mutt_menu.h" + #include "mutt_parse.h" +-#include "mutt_window.h" + #include "muttlib.h" + #include "mx.h" +-#include "ncrypt/ncrypt.h" + #include "options.h" + #include "pager.h" + #include "protos.h" + #include "sendlib.h" + #include "sort.h" ++#include "ncrypt/lib.h" + #ifdef USE_IMAP +-#include "imap/imap.h" ++#include "imap/lib.h" + #endif + #ifdef USE_NOTMUCH +-#include "notmuch/mutt_notmuch.h" ++#include "notmuch/lib.h" + #endif + #ifdef ENABLE_NLS + #include + #endif + #ifdef USE_AUTOCRYPT +-#include "autocrypt/autocrypt.h" ++#include "autocrypt/lib.h" + #endif + + /* These Config Variables are only used in commands.c */ +@@ -173,8 +171,8 @@ static void process_protected_headers(struct Email *e) + if (C_CryptProtectedHeadersSave) + { + e->env->changed |= MUTT_ENV_CHANGED_SUBJECT; +- e->changed = 1; +- Context->mailbox->changed = 1; ++ e->changed = true; ++ Context->mailbox->changed = true; + } + } + +@@ -188,13 +186,18 @@ static void process_protected_headers(struct Email *e) + + /** + * mutt_display_message - Display a message in the pager +- * @param win Window +- * @param m Mailbox +- * @param e Email to display ++ * @param win_index Index Window ++ * @param win_ibar Index Bar Window ++ * @param win_pager Pager Window ++ * @param win_pbar Pager Bar Window ++ * @param m Mailbox ++ * @param e Email to display + * @retval 0 Success + * @retval -1 Error + */ +-int mutt_display_message(struct MuttWindow *win, struct Mailbox *m, struct Email *e) ++int mutt_display_message(struct MuttWindow *win_index, struct MuttWindow *win_ibar, ++ struct MuttWindow *win_pager, struct MuttWindow *win_pbar, ++ struct Mailbox *m, struct Email *e) + { + int rc = 0; + bool builtin = false; +@@ -208,7 +211,7 @@ int mutt_display_message(struct MuttWindow *win, struct Mailbox *m, struct Email + mutt_message_hook(m, e, MUTT_MESSAGE_HOOK); + + char columns[16]; +- snprintf(columns, sizeof(columns), "%d", win->cols); ++ snprintf(columns, sizeof(columns), "%d", win_pager->state.cols); + mutt_envlist_set("COLUMNS", columns, true); + + /* see if crypto is needed for this message. if so, we should exit curses */ +@@ -262,8 +265,8 @@ int mutt_display_message(struct MuttWindow *win, struct Mailbox *m, struct Email + { + fp_filter_out = fp_out; + fp_out = NULL; +- filterpid = mutt_create_filter_fd(C_DisplayFilter, &fp_out, NULL, NULL, -1, +- fileno(fp_filter_out), -1); ++ filterpid = filter_create_fd(C_DisplayFilter, &fp_out, NULL, NULL, -1, ++ fileno(fp_filter_out), -1); + if (filterpid < 0) + { + mutt_error(_("Can't create display filter")); +@@ -284,8 +287,8 @@ int mutt_display_message(struct MuttWindow *win, struct Mailbox *m, struct Email + hfi.mailbox = m; + hfi.pager_progress = ExtPagerProgress; + hfi.email = e; +- mutt_make_string_info(buf, sizeof(buf), win->cols, NONULL(C_PagerFormat), +- &hfi, MUTT_FORMAT_NO_FLAGS); ++ mutt_make_string_info(buf, sizeof(buf), win_pager->state.cols, ++ NONULL(C_PagerFormat), &hfi, MUTT_FORMAT_NO_FLAGS); + fputs(buf, fp_out); + fputs("\n\n", fp_out); + } +@@ -295,21 +298,21 @@ int mutt_display_message(struct MuttWindow *win, struct Mailbox *m, struct Email + if (m->magic == MUTT_NOTMUCH) + chflags |= CH_VIRTUAL; + #endif +- res = mutt_copy_message(fp_out, m, e, cmflags, chflags, win->cols); ++ res = mutt_copy_message(fp_out, m, e, cmflags, chflags, win_pager->state.cols); + + if (((mutt_file_fclose(&fp_out) != 0) && (errno != EPIPE)) || (res < 0)) + { + mutt_error(_("Could not copy message")); + if (fp_filter_out) + { +- mutt_wait_filter(filterpid); ++ filter_wait(filterpid); + mutt_file_fclose(&fp_filter_out); + } + mutt_file_unlink(mutt_b2s(tempfile)); + goto cleanup; + } + +- if (fp_filter_out && (mutt_wait_filter(filterpid) != 0)) ++ if (fp_filter_out && (filter_wait(filterpid) != 0)) + mutt_any_key_to_continue(NULL); + + mutt_file_fclose(&fp_filter_out); /* XXX - check result? */ +@@ -359,6 +362,10 @@ int mutt_display_message(struct MuttWindow *win, struct Mailbox *m, struct Email + /* Invoke the builtin pager */ + info.email = e; + info.ctx = Context; ++ info.win_ibar = win_ibar; ++ info.win_index = win_index; ++ info.win_pbar = win_pbar; ++ info.win_pager = win_pager; + rc = mutt_pager(NULL, mutt_b2s(tempfile), MUTT_PAGER_MESSAGE, &info); + } + else +@@ -448,15 +455,15 @@ void ci_bounce_message(struct Mailbox *m, struct EmailList *el) + } + + buf[0] = '\0'; +- mutt_addrlist_write(buf, sizeof(buf), &al, true); ++ mutt_addrlist_write(&al, buf, sizeof(buf), true); + + #define EXTRA_SPACE (15 + 7 + 2) + snprintf(scratch, sizeof(scratch), + ngettext("Bounce message to %s?", "Bounce messages to %s?", msg_count), buf); + +- if (mutt_strwidth(scratch) > MuttMessageWindow->cols - EXTRA_SPACE) ++ if (mutt_strwidth(scratch) > MuttMessageWindow->state.cols - EXTRA_SPACE) + { +- mutt_simple_format(prompt, sizeof(prompt), 0, MuttMessageWindow->cols - EXTRA_SPACE, ++ mutt_simple_format(prompt, sizeof(prompt), 0, MuttMessageWindow->state.cols - EXTRA_SPACE, + JUSTIFY_LEFT, 0, scratch, sizeof(scratch), false); + mutt_str_strcat(prompt, sizeof(prompt), "...?"); + } +@@ -600,7 +607,7 @@ static int pipe_message(struct Mailbox *m, struct EmailList *el, char *cmd, + } + mutt_endwin(); + +- pid = mutt_create_filter(cmd, &fp_out, NULL, NULL); ++ pid = filter_create(cmd, &fp_out, NULL, NULL); + if (pid < 0) + { + mutt_perror(_("Can't create filter process")); +@@ -610,7 +617,7 @@ static int pipe_message(struct Mailbox *m, struct EmailList *el, char *cmd, + OptKeepQuiet = true; + pipe_msg(m, en->email, fp_out, decode, print); + mutt_file_fclose(&fp_out); +- rc = mutt_wait_filter(pid); ++ rc = filter_wait(pid); + OptKeepQuiet = false; + } + else +@@ -636,7 +643,7 @@ static int pipe_message(struct Mailbox *m, struct EmailList *el, char *cmd, + { + mutt_message_hook(m, en->email, MUTT_MESSAGE_HOOK); + mutt_endwin(); +- pid = mutt_create_filter(cmd, &fp_out, NULL, NULL); ++ pid = filter_create(cmd, &fp_out, NULL, NULL); + if (pid < 0) + { + mutt_perror(_("Can't create filter process")); +@@ -648,7 +655,7 @@ static int pipe_message(struct Mailbox *m, struct EmailList *el, char *cmd, + if (sep) + fputs(sep, fp_out); + mutt_file_fclose(&fp_out); +- if (mutt_wait_filter(pid) != 0) ++ if (filter_wait(pid) != 0) + rc = 1; + OptKeepQuiet = false; + } +@@ -656,7 +663,7 @@ static int pipe_message(struct Mailbox *m, struct EmailList *el, char *cmd, + else + { + mutt_endwin(); +- pid = mutt_create_filter(cmd, &fp_out, NULL, NULL); ++ pid = filter_create(cmd, &fp_out, NULL, NULL); + if (pid < 0) + { + mutt_perror(_("Can't create filter process")); +@@ -672,7 +679,7 @@ static int pipe_message(struct Mailbox *m, struct EmailList *el, char *cmd, + fputs(sep, fp_out); + } + mutt_file_fclose(&fp_out); +- if (mutt_wait_filter(pid) != 0) ++ if (filter_wait(pid) != 0) + rc = 1; + OptKeepQuiet = false; + } +@@ -816,7 +823,7 @@ int mutt_select_sort(bool reverse) + if (reverse) + new_sort |= SORT_REVERSE; + +- cs_str_native_set(Config, "sort", new_sort, NULL); ++ cs_subset_str_native_set(NeoMutt->sub, "sort", new_sort, NULL); + return (C_Sort != method) ? 0 : -1; /* no need to resort if it's the same */ + } + +@@ -911,7 +918,7 @@ void mutt_display_address(struct Envelope *env) + * paste the on-the-wire form of the address to other, IDN-unable + * software. */ + buf[0] = '\0'; +- mutt_addrlist_write(buf, sizeof(buf), al, false); ++ mutt_addrlist_write(al, buf, sizeof(buf), false); + mutt_message("%s: %s", pfx, buf); + } + +@@ -1059,7 +1066,7 @@ int mutt_save_message(struct Mailbox *m, struct EmailList *el, + mutt_buffer_fix_dptr(buf); + + mutt_buffer_pretty_mailbox(buf); +- if (mutt_buffer_enter_fname(prompt, buf, 0) == -1) ++ if (mutt_buffer_enter_fname(prompt, buf, false) == -1) + goto cleanup; + + size_t pathlen = mutt_buffer_len(buf); +@@ -1139,8 +1146,8 @@ int mutt_save_message(struct Mailbox *m, struct EmailList *el, + if (mutt_save_message_ctx(en->email, delete_original, decode, decrypt, + ctx_save->mailbox) != 0) + { +- m_save->append = old_append; + mx_mbox_close(&ctx_save); ++ m_save->append = old_append; + goto cleanup; + } + #ifdef USE_COMPRESSED +@@ -1195,8 +1202,8 @@ int mutt_save_message(struct Mailbox *m, struct EmailList *el, + #endif + if (rc != 0) + { +- m_save->append = old_append; + mx_mbox_close(&ctx_save); ++ m_save->append = old_append; + goto cleanup; + } + } +@@ -1204,8 +1211,8 @@ int mutt_save_message(struct Mailbox *m, struct EmailList *el, + const bool need_mailbox_cleanup = ((ctx_save->mailbox->magic == MUTT_MBOX) || + (ctx_save->mailbox->magic == MUTT_MMDF)); + +- m_save->append = old_append; + mx_mbox_close(&ctx_save); ++ m_save->append = old_append; + + if (need_mailbox_cleanup) + mutt_mailbox_cleanup(mutt_b2s(buf), &st); +@@ -1260,8 +1267,11 @@ bool mutt_edit_content_type(struct Email *e, struct Body *b, FILE *fp) + } + } + +- if ((mutt_get_field("Content-Type: ", buf, sizeof(buf), 0) != 0) || (buf[0] == '\0')) ++ if ((mutt_get_field("Content-Type: ", buf, sizeof(buf), MUTT_COMP_NO_FLAGS) != 0) || ++ (buf[0] == '\0')) ++ { + return false; ++ } + + /* clean up previous junk */ + mutt_param_free(&b->parameter); +diff --git a/commands.h b/commands.h +index 21770d44f..12da95258 100644 +--- a/commands.h ++++ b/commands.h +@@ -48,7 +48,7 @@ void ci_bounce_message(struct Mailbox *m, struct EmailList *el); + void mutt_check_stats(void); + bool mutt_check_traditional_pgp(struct EmailList *el, MuttRedrawFlags *redraw); + void mutt_display_address(struct Envelope *env); +-int mutt_display_message(struct MuttWindow *win, struct Mailbox *m, struct Email *e); ++int mutt_display_message(struct MuttWindow *win_index, struct MuttWindow *win_ibar, struct MuttWindow *win_pager, struct MuttWindow *win_pbar, struct Mailbox *m, struct Email *e); + bool mutt_edit_content_type(struct Email *e, struct Body *b, FILE *fp); + void mutt_enter_command(void); + void mutt_pipe_message(struct Mailbox *m, struct EmailList *el); +diff --git a/complete.c b/complete.c +index 3af74efd7..36cc2806c 100644 +--- a/complete.c ++++ b/complete.c +@@ -31,17 +31,17 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "core/lib.h" + #include "globals.h" + #include "muttlib.h" + #include "options.h" + #include "protos.h" // IWYU pragma: keep + #ifdef USE_IMAP +-#include "imap/imap.h" ++#include "imap/lib.h" + #endif + #ifdef USE_NNTP +-#include "nntp/nntp.h" ++#include "nntp/lib.h" + #endif + + /** +diff --git a/compose.c b/compose.c +index 50f68bd96..e9289605a 100644 +--- a/compose.c ++++ b/compose.c +@@ -36,35 +36,32 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "config/lib.h" + #include "email/lib.h" + #include "core/lib.h" +-#include "conn/conn.h" ++#include "conn/lib.h" ++#include "gui/lib.h" + #include "mutt.h" + #include "compose.h" + #include "alias.h" + #include "browser.h" +-#include "color.h" + #include "commands.h" + #include "context.h" +-#include "curs_lib.h" + #include "edit.h" + #include "format_flags.h" + #include "globals.h" + #include "hook.h" + #include "index.h" ++#include "init.h" + #include "keymap.h" + #include "mutt_attach.h" +-#include "mutt_curses.h" + #include "mutt_header.h" + #include "mutt_logging.h" + #include "mutt_menu.h" +-#include "mutt_window.h" + #include "muttlib.h" + #include "mx.h" +-#include "ncrypt/ncrypt.h" + #include "opcodes.h" + #include "options.h" + #include "protos.h" +@@ -72,6 +69,7 @@ + #include "rfc3676.h" + #include "sendlib.h" + #include "sort.h" ++#include "ncrypt/lib.h" + #ifdef ENABLE_NLS + #include + #endif +@@ -79,16 +77,16 @@ + #include "remailer.h" + #endif + #ifdef USE_NNTP +-#include "nntp/nntp.h" ++#include "nntp/lib.h" + #endif + #ifdef USE_POP +-#include "pop/pop.h" ++#include "pop/lib.h" + #endif + #ifdef USE_IMAP +-#include "imap/imap.h" ++#include "imap/lib.h" + #endif + #ifdef USE_AUTOCRYPT +-#include "autocrypt/autocrypt.h" ++#include "autocrypt/lib.h" + #endif + + /* These Config Variables are only used in compose.c */ +@@ -159,7 +157,7 @@ int HeaderPadding[HDR_ATTACH_TITLE] = { 0 }; + int MaxHeaderWidth = 0; + + #define HDR_XOFFSET MaxHeaderWidth +-#define W (rd->win->cols - MaxHeaderWidth) ++#define W (rd->win->state.cols - MaxHeaderWidth) + + static const char *const Prompts[] = { + /* L10N: Compose menu field. May not want to translate. */ +@@ -311,14 +309,15 @@ static void init_header_padding(void) + } + + /** +- * snd_make_entry - Format a menu item for the attachment list - Implements Menu::menu_make_entry() ++ * snd_make_entry - Format a menu item for the attachment list - Implements Menu::make_entry() + */ + static void snd_make_entry(char *buf, size_t buflen, struct Menu *menu, int line) + { + struct AttachCtx *actx = menu->data; + +- mutt_expando_format(buf, buflen, 0, menu->indexwin->cols, NONULL(C_AttachFormat), +- attach_format_str, (unsigned long) (actx->idx[actx->v2r[line]]), ++ mutt_expando_format(buf, buflen, 0, menu->win_index->state.cols, ++ NONULL(C_AttachFormat), attach_format_str, ++ (unsigned long) (actx->idx[actx->v2r[line]]), + MUTT_FORMAT_STAT_FILE | MUTT_FORMAT_ARROWCURSOR); + } + +@@ -557,7 +556,7 @@ static void redraw_mix_line(struct ListHead *chain, struct ComposeRedrawData *rd + if (t && (t[0] == '0') && (t[1] == '\0')) + t = ""; + +- if (c + mutt_str_strlen(t) + 2 >= rd->win->cols) ++ if (c + mutt_str_strlen(t) + 2 >= rd->win->state.cols) + break; + + mutt_window_addstr(NONULL(t)); +@@ -648,7 +647,7 @@ static void draw_envelope_addr(int line, struct AddressList *al, struct ComposeR + char buf[1024]; + + buf[0] = '\0'; +- mutt_addrlist_write(buf, sizeof(buf), al, true); ++ mutt_addrlist_write(al, buf, sizeof(buf), true); + mutt_curses_set_color(MT_COLOR_COMPOSE_HEADER); + mutt_window_mvprintw(rd->win, line, 0, "%*s", HeaderPadding[line], _(Prompts[line])); + mutt_curses_set_color(MT_COLOR_NORMAL); +@@ -731,7 +730,7 @@ static void edit_address_list(int line, struct AddressList *al, struct ComposeRe + char *err = NULL; + + mutt_addrlist_to_local(al); +- mutt_addrlist_write(buf, sizeof(buf), al, false); ++ mutt_addrlist_write(al, buf, sizeof(buf), false); + if (mutt_get_field(_(Prompts[line]), buf, sizeof(buf), MUTT_ALIAS) == 0) + { + mutt_addrlist_clear(al); +@@ -748,7 +747,7 @@ static void edit_address_list(int line, struct AddressList *al, struct ComposeRe + + /* redraw the expanded list so the user can see the result */ + buf[0] = '\0'; +- mutt_addrlist_write(buf, sizeof(buf), al, true); ++ mutt_addrlist_write(al, buf, sizeof(buf), true); + mutt_window_move(rd->win, line, HDR_XOFFSET); + mutt_paddstr(W, buf); + } +@@ -887,7 +886,7 @@ static void update_idx(struct Menu *menu, struct AttachCtx *actx, struct AttachP + } + + /** +- * compose_custom_redraw - Redraw the compose menu - Implements Menu::menu_custom_redraw() ++ * compose_custom_redraw - Redraw the compose menu - Implements Menu::custom_redraw() + */ + static void compose_custom_redraw(struct Menu *menu) + { +@@ -902,7 +901,7 @@ static void compose_custom_redraw(struct Menu *menu) + + draw_envelope(rd); + menu->offset = HDR_ATTACH; +- menu->pagelen = menu->indexwin->rows - HDR_ATTACH; ++ menu->pagelen = menu->win_index->state.rows - HDR_ATTACH; + } + + menu_check_recenter(menu); +@@ -910,11 +909,11 @@ static void compose_custom_redraw(struct Menu *menu) + if (menu->redraw & REDRAW_STATUS) + { + char buf[1024]; +- compose_status_line(buf, sizeof(buf), 0, menu->statuswin->cols, menu, ++ compose_status_line(buf, sizeof(buf), 0, menu->win_ibar->state.cols, menu, + NONULL(C_ComposeFormat)); +- mutt_window_move(menu->statuswin, 0, 0); ++ mutt_window_move(menu->win_ibar, 0, 0); + mutt_curses_set_color(MT_COLOR_STATUS); +- mutt_draw_statusline(menu->statuswin->cols, buf, sizeof(buf)); ++ mutt_draw_statusline(menu->win_ibar->state.cols, buf, sizeof(buf)); + mutt_curses_set_color(MT_COLOR_NORMAL); + menu->redraw &= ~REDRAW_STATUS; + } +@@ -1083,6 +1082,36 @@ static void compose_status_line(char *buf, size_t buflen, size_t col, int cols, + (unsigned long) menu, MUTT_FORMAT_NO_FLAGS); + } + ++/** ++ * mutt_dlg_compose_observer - Listen for config changes affecting the Compose menu - Implements ::observer_t ++ */ ++static int mutt_dlg_compose_observer(struct NotifyCallback *nc) ++{ ++ if (!nc->event_data || !nc->global_data) ++ return -1; ++ if (nc->event_type != NT_CONFIG) ++ return 0; ++ ++ struct EventConfig *ec = nc->event_data; ++ struct MuttWindow *dlg = nc->global_data; ++ ++ if (mutt_str_strcmp(ec->name, "status_on_top") != 0) ++ return 0; ++ ++ struct MuttWindow *win_first = TAILQ_FIRST(&dlg->children); ++ ++ if ((C_StatusOnTop && (win_first->type == WT_INDEX)) || ++ (!C_StatusOnTop && (win_first->type != WT_INDEX))) ++ { ++ // Swap the Index and the IndexBar Windows ++ TAILQ_REMOVE(&dlg->children, win_first, entries); ++ TAILQ_INSERT_TAIL(&dlg->children, win_first, entries); ++ } ++ ++ mutt_window_reflow(dlg); ++ return 0; ++} ++ + /** + * mutt_compose_menu - Allow the user to edit the message envelope + * @param e Email to fill +@@ -1108,21 +1137,55 @@ int mutt_compose_menu(struct Email *e, struct Buffer *fcc, struct Email *e_cur, + + init_header_padding(); + ++ struct MuttWindow *dlg = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++#ifdef USE_DEBUG_WINDOW ++ dlg->name = "compose"; ++#endif ++ dlg->type = WT_DIALOG; ++ struct MuttWindow *index = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ index->type = WT_INDEX; ++ struct MuttWindow *ibar = mutt_window_new( ++ MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, 1, MUTT_WIN_SIZE_UNLIMITED); ++ ibar->type = WT_INDEX_BAR; ++ + rd->email = e; + rd->fcc = fcc; +- rd->win = MuttIndexWindow; ++ rd->win = index; ++ ++ if (C_StatusOnTop) ++ { ++ mutt_window_add_child(dlg, ibar); ++ mutt_window_add_child(dlg, index); ++ } ++ else ++ { ++ mutt_window_add_child(dlg, index); ++ mutt_window_add_child(dlg, ibar); ++ } ++ ++ notify_observer_add(NeoMutt->notify, mutt_dlg_compose_observer, dlg); ++ dialog_push(dlg); + + struct Menu *menu = mutt_menu_new(MENU_COMPOSE); ++ ++ menu->pagelen = index->state.rows; ++ menu->win_index = index; ++ menu->win_ibar = ibar; ++ + menu->offset = HDR_ATTACH; +- menu->menu_make_entry = snd_make_entry; +- menu->menu_tag = attach_tag; ++ menu->make_entry = snd_make_entry; ++ menu->tag = attach_tag; + #ifdef USE_NNTP + if (news) + menu->help = mutt_compile_help(helpstr, sizeof(helpstr), MENU_COMPOSE, ComposeNewsHelp); + else + #endif + menu->help = mutt_compile_help(helpstr, sizeof(helpstr), MENU_COMPOSE, ComposeHelp); +- menu->menu_custom_redraw = compose_custom_redraw; ++ menu->custom_redraw = compose_custom_redraw; + menu->redraw_data = rd; + mutt_menu_push_current(menu); + +@@ -1186,14 +1249,14 @@ int mutt_compose_menu(struct Email *e, struct Buffer *fcc, struct Email *e_cur, + mutt_str_strfcpy(buf, e->env->newsgroups, sizeof(buf)); + else + buf[0] = '\0'; +- if (mutt_get_field("Newsgroups: ", buf, sizeof(buf), 0) == 0) ++ if (mutt_get_field("Newsgroups: ", buf, sizeof(buf), MUTT_COMP_NO_FLAGS) == 0) + { + mutt_str_replace(&e->env->newsgroups, buf); +- mutt_window_move(menu->indexwin, HDR_TO, HDR_XOFFSET); ++ mutt_window_move(menu->win_index, HDR_TO, HDR_XOFFSET); + if (e->env->newsgroups) + mutt_paddstr(W, e->env->newsgroups); + else +- mutt_window_clrtoeol(menu->indexwin); ++ mutt_window_clrtoeol(menu->win_index); + } + break; + +@@ -1204,14 +1267,14 @@ int mutt_compose_menu(struct Email *e, struct Buffer *fcc, struct Email *e_cur, + mutt_str_strfcpy(buf, e->env->followup_to, sizeof(buf)); + else + buf[0] = '\0'; +- if (mutt_get_field("Followup-To: ", buf, sizeof(buf), 0) == 0) ++ if (mutt_get_field("Followup-To: ", buf, sizeof(buf), MUTT_COMP_NO_FLAGS) == 0) + { + mutt_str_replace(&e->env->followup_to, buf); +- mutt_window_move(menu->indexwin, HDR_CC, HDR_XOFFSET); ++ mutt_window_move(menu->win_index, HDR_CC, HDR_XOFFSET); + if (e->env->followup_to) + mutt_paddstr(W, e->env->followup_to); + else +- mutt_window_clrtoeol(menu->indexwin); ++ mutt_window_clrtoeol(menu->win_index); + } + break; + +@@ -1222,14 +1285,14 @@ int mutt_compose_menu(struct Email *e, struct Buffer *fcc, struct Email *e_cur, + mutt_str_strfcpy(buf, e->env->x_comment_to, sizeof(buf)); + else + buf[0] = '\0'; +- if (mutt_get_field("X-Comment-To: ", buf, sizeof(buf), 0) == 0) ++ if (mutt_get_field("X-Comment-To: ", buf, sizeof(buf), MUTT_COMP_NO_FLAGS) == 0) + { + mutt_str_replace(&e->env->x_comment_to, buf); +- mutt_window_move(menu->indexwin, HDR_BCC, HDR_XOFFSET); ++ mutt_window_move(menu->win_index, HDR_BCC, HDR_XOFFSET); + if (e->env->x_comment_to) + mutt_paddstr(W, e->env->x_comment_to); + else +- mutt_window_clrtoeol(menu->indexwin); ++ mutt_window_clrtoeol(menu->win_index); + } + break; + #endif +@@ -1239,14 +1302,14 @@ int mutt_compose_menu(struct Email *e, struct Buffer *fcc, struct Email *e_cur, + mutt_str_strfcpy(buf, e->env->subject, sizeof(buf)); + else + buf[0] = '\0'; +- if (mutt_get_field(_("Subject: "), buf, sizeof(buf), 0) == 0) ++ if (mutt_get_field(_("Subject: "), buf, sizeof(buf), MUTT_COMP_NO_FLAGS) == 0) + { + mutt_str_replace(&e->env->subject, buf); +- mutt_window_move(menu->indexwin, HDR_SUBJECT, HDR_XOFFSET); ++ mutt_window_move(menu->win_index, HDR_SUBJECT, HDR_XOFFSET); + if (e->env->subject) + mutt_paddstr(W, e->env->subject); + else +- mutt_window_clrtoeol(menu->indexwin); ++ mutt_window_clrtoeol(menu->win_index); + } + mutt_message_hook(NULL, e, MUTT_SEND2_HOOK); + break; +@@ -1262,7 +1325,7 @@ int mutt_compose_menu(struct Email *e, struct Buffer *fcc, struct Email *e_cur, + { + mutt_buffer_copy(fcc, &fname); + mutt_buffer_pretty_mailbox(fcc); +- mutt_window_move(menu->indexwin, HDR_FCC, HDR_XOFFSET); ++ mutt_window_move(menu->win_index, HDR_FCC, HDR_XOFFSET); + mutt_paddstr(W, mutt_b2s(fcc)); + fcc_set = true; + } +@@ -1650,11 +1713,14 @@ int mutt_compose_menu(struct Email *e, struct Buffer *fcc, struct Email *e_cur, + #ifdef USE_NNTP + if (!OptNews && (nntp_path_probe(mutt_b2s(&fname), NULL) != MUTT_NNTP)) + #endif +- /* check to make sure the file exists and is readable */ +- if (access(mutt_b2s(&fname), R_OK) == -1) ++ if (mx_path_probe(mutt_b2s(&fname)) != MUTT_NOTMUCH) + { +- mutt_perror(mutt_b2s(&fname)); +- break; ++ /* check to make sure the file exists and is readable */ ++ if (access(mutt_b2s(&fname), R_OK) == -1) ++ { ++ mutt_perror(mutt_b2s(&fname)); ++ break; ++ } + } + + menu->redraw = REDRAW_FULL; +@@ -1684,7 +1750,14 @@ int mutt_compose_menu(struct Email *e, struct Buffer *fcc, struct Email *e_cur, + Context = ctx; + OptAttachMsg = true; + mutt_message(_("Tag the messages you want to attach")); +- mutt_index_menu(); ++ struct MuttWindow *dlg_index = index_pager_init(); ++ notify_observer_add(NeoMutt->notify, mutt_dlg_index_observer, dlg_index); ++ dialog_push(dlg_index); ++ mutt_index_menu(dlg_index); ++ dialog_pop(); ++ notify_observer_remove(NeoMutt->notify, mutt_dlg_index_observer, dlg_index); ++ index_pager_shutdown(dlg_index); ++ mutt_window_free(&dlg_index); + OptAttachMsg = false; + + if (!Context) +@@ -1768,7 +1841,7 @@ int mutt_compose_menu(struct Email *e, struct Buffer *fcc, struct Email *e_cur, + buf, CUR_ATTACH->content->description ? CUR_ATTACH->content->description : "", + sizeof(buf)); + /* header names should not be translated */ +- if (mutt_get_field("Description: ", buf, sizeof(buf), 0) == 0) ++ if (mutt_get_field("Description: ", buf, sizeof(buf), MUTT_COMP_NO_FLAGS) == 0) + { + mutt_str_replace(&CUR_ATTACH->content->description, buf); + menu->redraw = REDRAW_CURRENT; +@@ -1821,7 +1894,7 @@ int mutt_compose_menu(struct Email *e, struct Buffer *fcc, struct Email *e_cur, + buf[0] = '\0'; /* clear buffer first */ + if (CUR_ATTACH->content->language) + mutt_str_strfcpy(buf, CUR_ATTACH->content->language, sizeof(buf)); +- if (mutt_get_field("Content-Language: ", buf, sizeof(buf), 0) == 0) ++ if (mutt_get_field("Content-Language: ", buf, sizeof(buf), MUTT_COMP_NO_FLAGS) == 0) + { + CUR_ATTACH->content->language = mutt_str_strdup(buf); + menu->redraw = REDRAW_CURRENT | REDRAW_STATUS; +@@ -1835,7 +1908,8 @@ int mutt_compose_menu(struct Email *e, struct Buffer *fcc, struct Email *e_cur, + case OP_COMPOSE_EDIT_ENCODING: + CHECK_COUNT; + mutt_str_strfcpy(buf, ENCODING(CUR_ATTACH->content->encoding), sizeof(buf)); +- if ((mutt_get_field("Content-Transfer-Encoding: ", buf, sizeof(buf), 0) == 0) && ++ if ((mutt_get_field("Content-Transfer-Encoding: ", buf, sizeof(buf), ++ MUTT_COMP_NO_FLAGS) == 0) && + (buf[0] != '\0')) + { + int enc = mutt_check_encoding(buf); +@@ -1972,7 +2046,7 @@ int mutt_compose_menu(struct Email *e, struct Buffer *fcc, struct Email *e_cur, + + /* Call to lookup_mime_type () ? maybe later */ + char type[256] = { 0 }; +- if ((mutt_get_field("Content-Type: ", type, sizeof(type), 0) != 0) || ++ if ((mutt_get_field("Content-Type: ", type, sizeof(type), MUTT_COMP_NO_FLAGS) != 0) || + (type[0] == '\0')) + { + continue; +@@ -2209,7 +2283,7 @@ int mutt_compose_menu(struct Email *e, struct Buffer *fcc, struct Email *e_cur, + + #ifdef MIXMASTER + case OP_COMPOSE_MIX: +- mix_make_chain(menu->indexwin, &e->chain, menu->indexwin->cols); ++ mix_make_chain(menu->win_index, &e->chain, menu->win_index->state.cols); + mutt_message_hook(NULL, e, MUTT_SEND2_HOOK); + break; + #endif +@@ -2253,6 +2327,9 @@ int mutt_compose_menu(struct Email *e, struct Buffer *fcc, struct Email *e_cur, + + mutt_menu_pop_current(menu); + mutt_menu_free(&menu); ++ dialog_pop(); ++ notify_observer_remove(NeoMutt->notify, mutt_dlg_compose_observer, dlg); ++ mutt_window_free(&dlg); + + if (actx->idxlen) + e->content = actx->idx[0]->content; +diff --git a/compress.c b/compress/compress.c +similarity index 98% +rename from compress.c +rename to compress/compress.c +index ceb736fcf..afcc7ff70 100644 +--- a/compress.c ++++ b/compress/compress.c +@@ -22,7 +22,7 @@ + */ + + /** +- * @page compress Compressed mbox local mailbox type ++ * @page comp_compress Compressed mbox local mailbox type + * + * Compressed mbox local mailbox type + * +@@ -38,14 +38,13 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "core/lib.h" +-#include "compress.h" +-#include "curs_lib.h" ++#include "gui/lib.h" ++#include "lib.h" + #include "format_flags.h" + #include "globals.h" + #include "hook.h" +-#include "mutt_curses.h" + #include "muttlib.h" + #include "mx.h" + #include "protos.h" +@@ -451,7 +450,7 @@ static int comp_mbox_open(struct Mailbox *m) + + unlock_realpath(m); + +- m->magic = mx_path_probe(mailbox_path(m), NULL); ++ m->magic = mx_path_probe(mailbox_path(m)); + if (m->magic == MUTT_UNKNOWN) + { + mutt_error(_("Can't identify the contents of the compressed file")); +@@ -521,7 +520,7 @@ static int comp_mbox_open_append(struct Mailbox *m, OpenMailboxFlags flags) + mutt_error(_("Compress command failed: %s"), ci->cmd_open); + goto cmoa_fail2; + } +- m->magic = mx_path_probe(mailbox_path(m), NULL); ++ m->magic = mx_path_probe(mailbox_path(m)); + } + else + m->magic = C_MboxType; +@@ -886,7 +885,7 @@ static int comp_path_canon(char *buf, size_t buflen) + if (!buf) + return -1; + +- mutt_path_canon(buf, buflen, HomeDir); ++ mutt_path_canon(buf, buflen, HomeDir, false); + return 0; + } + +@@ -901,7 +900,7 @@ static int comp_path_pretty(char *buf, size_t buflen, const char *folder) + if (mutt_path_abbr_folder(buf, buflen, folder)) + return 0; + +- if (mutt_path_pretty(buf, buflen, HomeDir)) ++ if (mutt_path_pretty(buf, buflen, HomeDir, false)) + return 0; + + return -1; +@@ -919,7 +918,7 @@ static int comp_path_parent(char *buf, size_t buflen) + return 0; + + if (buf[0] == '~') +- mutt_path_canon(buf, buflen, HomeDir); ++ mutt_path_canon(buf, buflen, HomeDir, false); + + if (mutt_path_parent(buf, buflen)) + return 0; +@@ -937,11 +936,13 @@ static int comp_path_parent(char *buf, size_t buflen) + struct MxOps MxCompOps = { + .magic = MUTT_COMPRESSED, + .name = "compressed", ++ .is_local = true, + .ac_find = comp_ac_find, + .ac_add = comp_ac_add, + .mbox_open = comp_mbox_open, + .mbox_open_append = comp_mbox_open_append, + .mbox_check = comp_mbox_check, ++ .mbox_check_stats = NULL, + .mbox_sync = comp_mbox_sync, + .mbox_close = comp_mbox_close, + .msg_open = comp_msg_open, +diff --git a/compress.h b/compress/lib.h +similarity index 82% +rename from compress.h +rename to compress/lib.h +index 250ad4793..726cb11ea 100644 +--- a/compress.h ++++ b/compress/lib.h +@@ -21,8 +21,18 @@ + * this program. If not, see . + */ + +-#ifndef MUTT_COMPRESS_H +-#define MUTT_COMPRESS_H ++/** ++ * @page comp COMPRESS: Compressed Mailbox ++ * ++ * Compressed mbox local mailbox type ++ * ++ * | File | Description | ++ * | :------------------ | :------------------------- | ++ * | compress/compress.c | @subpage comp_compress | ++ */ ++ ++#ifndef MUTT_COMPRESS_LIB_H ++#define MUTT_COMPRESS_LIB_H + + #include + #include +@@ -52,4 +62,4 @@ int mutt_comp_valid_command(const char *cmd); + + extern struct MxOps MxCompOps; + +-#endif /* MUTT_COMPRESS_H */ ++#endif /* MUTT_COMPRESS_LIB_H */ +diff --git a/config/address.c b/config/address.c +index 99a117dfe..ed98165ae 100644 +--- a/config/address.c ++++ b/config/address.c +@@ -32,14 +32,14 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "address.h" + #include "set.h" + #include "types.h" + + /** +- * address_destroy - Destroy an Address object - Implements ::cst_destroy() ++ * address_destroy - Destroy an Address object - Implements ConfigSetType::destroy() + */ + static void address_destroy(const struct ConfigSet *cs, void *var, const struct ConfigDef *cdef) + { +@@ -54,7 +54,7 @@ static void address_destroy(const struct ConfigSet *cs, void *var, const struct + } + + /** +- * address_string_set - Set an Address by string - Implements ::cst_string_set() ++ * address_string_set - Set an Address by string - Implements ConfigSetType::string_set() + */ + static int address_string_set(const struct ConfigSet *cs, void *var, struct ConfigDef *cdef, + const char *value, struct Buffer *err) +@@ -111,7 +111,7 @@ static int address_string_set(const struct ConfigSet *cs, void *var, struct Conf + } + + /** +- * address_string_get - Get an Address as a string - Implements ::cst_string_get() ++ * address_string_get - Get an Address as a string - Implements ConfigSetType::string_get() + */ + static int address_string_get(const struct ConfigSet *cs, void *var, + const struct ConfigDef *cdef, struct Buffer *result) +@@ -160,7 +160,7 @@ static struct Address *address_dup(struct Address *addr) + } + + /** +- * address_native_set - Set an Address config item by Address object - Implements ::cst_native_set() ++ * address_native_set - Set an Address config item by Address object - Implements ConfigSetType::native_set() + */ + static int address_native_set(const struct ConfigSet *cs, void *var, + const struct ConfigDef *cdef, intptr_t value, +@@ -192,7 +192,7 @@ static int address_native_set(const struct ConfigSet *cs, void *var, + } + + /** +- * address_native_get - Get an Address object from an Address config item - Implements ::cst_native_get() ++ * address_native_get - Get an Address object from an Address config item - Implements ConfigSetType::native_get() + */ + static intptr_t address_native_get(const struct ConfigSet *cs, void *var, + const struct ConfigDef *cdef, struct Buffer *err) +@@ -206,7 +206,7 @@ static intptr_t address_native_get(const struct ConfigSet *cs, void *var, + } + + /** +- * address_reset - Reset an Address to its initial value - Implements ::cst_reset() ++ * address_reset - Reset an Address to its initial value - Implements ConfigSetType::reset() + */ + static int address_reset(const struct ConfigSet *cs, void *var, + const struct ConfigDef *cdef, struct Buffer *err) +diff --git a/config/address.h b/config/address.h +index 90bc072fa..0bb2c20c7 100644 +--- a/config/address.h ++++ b/config/address.h +@@ -26,8 +26,8 @@ + struct Address; + struct ConfigSet; + +-void address_init(struct ConfigSet *cs); +-struct Address *address_new(const char *addr); +-void address_free(struct Address **addr); ++void address_free(struct Address **addr); ++void address_init(struct ConfigSet *cs); ++struct Address *address_new (const char *addr); + + #endif /* MUTT_CONFIG_ADDRESS_H */ +diff --git a/config/bool.c b/config/bool.c +index 5bda860ea..048341474 100644 +--- a/config/bool.c ++++ b/config/bool.c +@@ -31,9 +31,10 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "bool.h" + #include "set.h" ++#include "subset.h" + #include "types.h" + + /** +@@ -46,7 +47,7 @@ const char *BoolValues[] = { + }; + + /** +- * bool_string_set - Set a Bool by string - Implements ::cst_string_set() ++ * bool_string_set - Set a Bool by string - Implements ConfigSetType::string_set() + */ + static int bool_string_set(const struct ConfigSet *cs, void *var, struct ConfigDef *cdef, + const char *value, struct Buffer *err) +@@ -66,7 +67,7 @@ static int bool_string_set(const struct ConfigSet *cs, void *var, struct ConfigD + + if (num < 0) + { +- mutt_buffer_printf(err, "Invalid boolean value: %s", value); ++ mutt_buffer_printf(err, _("Invalid boolean value: %s"), value); + return CSR_ERR_INVALID | CSR_INV_TYPE; + } + +@@ -94,7 +95,7 @@ static int bool_string_set(const struct ConfigSet *cs, void *var, struct ConfigD + } + + /** +- * bool_string_get - Get a Bool as a string - Implements ::cst_string_get() ++ * bool_string_get - Get a Bool as a string - Implements ConfigSetType::string_get() + */ + static int bool_string_get(const struct ConfigSet *cs, void *var, + const struct ConfigDef *cdef, struct Buffer *result) +@@ -117,7 +118,7 @@ static int bool_string_get(const struct ConfigSet *cs, void *var, + } + + /** +- * bool_native_set - Set a Bool config item by bool - Implements ::cst_native_set() ++ * bool_native_set - Set a Bool config item by bool - Implements ConfigSetType::native_set() + */ + static int bool_native_set(const struct ConfigSet *cs, void *var, + const struct ConfigDef *cdef, intptr_t value, struct Buffer *err) +@@ -127,7 +128,7 @@ static int bool_native_set(const struct ConfigSet *cs, void *var, + + if ((value < 0) || (value > 1)) + { +- mutt_buffer_printf(err, "Invalid boolean value: %ld", value); ++ mutt_buffer_printf(err, _("Invalid boolean value: %ld"), value); + return CSR_ERR_INVALID | CSR_INV_TYPE; + } + +@@ -147,7 +148,7 @@ static int bool_native_set(const struct ConfigSet *cs, void *var, + } + + /** +- * bool_native_get - Get a bool from a Bool config item - Implements ::cst_native_get() ++ * bool_native_get - Get a bool from a Bool config item - Implements ConfigSetType::native_get() + */ + static intptr_t bool_native_get(const struct ConfigSet *cs, void *var, + const struct ConfigDef *cdef, struct Buffer *err) +@@ -159,7 +160,7 @@ static intptr_t bool_native_get(const struct ConfigSet *cs, void *var, + } + + /** +- * bool_reset - Reset a Bool to its initial value - Implements ::cst_reset() ++ * bool_reset - Reset a Bool to its initial value - Implements ConfigSetType::reset() + */ + static int bool_reset(const struct ConfigSet *cs, void *var, + const struct ConfigDef *cdef, struct Buffer *err) +@@ -202,53 +203,42 @@ void bool_init(struct ConfigSet *cs) + + /** + * bool_he_toggle - Toggle the value of a bool +- * @param cs Config items ++ * @param sub Config Subset + * @param he HashElem representing config item + * @param err Buffer for error messages + * @retval num Result, e.g. #CSR_SUCCESS + */ +-int bool_he_toggle(struct ConfigSet *cs, struct HashElem *he, struct Buffer *err) ++int bool_he_toggle(struct ConfigSubset *sub, struct HashElem *he, struct Buffer *err) + { +- if (!cs || !he || !he->data) ++ if (!sub || !he || !he->data) + return CSR_ERR_CODE; + +- if (DTYPE(he->type) != DT_BOOL) ++ struct HashElem *he_base = cs_get_base(he); ++ if (DTYPE(he_base->type) != DT_BOOL) + return CSR_ERR_CODE; + +- const struct ConfigDef *cdef = he->data; +- char *var = cdef->var; ++ intptr_t value = cs_he_native_get(sub->cs, he, err); ++ if (value == INT_MIN) ++ return CSR_ERR_CODE; + +- char value = *var; +- if ((value < 0) || (value > 1)) +- { +- mutt_buffer_printf(err, "Invalid boolean value: %d", value); +- return CSR_ERR_INVALID | CSR_INV_TYPE; +- } ++ int rc = cs_he_native_set(sub->cs, he, !value, err); + +- *(char *) var = !value; ++ if ((CSR_RESULT(rc) == CSR_SUCCESS) && !(rc & CSR_SUC_NO_CHANGE)) ++ cs_subset_notify_observers(sub, he, NT_CONFIG_SET); + +- cs_notify_observers(cs, he, he->key.strkey, NT_CONFIG_SET); +- return CSR_SUCCESS; ++ return rc; + } + + /** + * bool_str_toggle - Toggle the value of a bool +- * @param cs Config items ++ * @param sub Config Subset + * @param name Name of config item + * @param err Buffer for error messages + * @retval num Result, e.g. #CSR_SUCCESS + */ +-int bool_str_toggle(struct ConfigSet *cs, const char *name, struct Buffer *err) ++int bool_str_toggle(struct ConfigSubset *sub, const char *name, struct Buffer *err) + { +- if (!cs || !name) +- return CSR_ERR_CODE; +- +- struct HashElem *he = cs_get_elem(cs, name); +- if (!he) +- { +- mutt_buffer_printf(err, "Unknown var '%s'", name); +- return CSR_ERR_UNKNOWN; +- } ++ struct HashElem *he = cs_subset_create_inheritance(sub, name); + +- return bool_he_toggle(cs, he, err); ++ return bool_he_toggle(sub, he, err); + } +diff --git a/config/bool.h b/config/bool.h +index 112adefe4..7add7a9c7 100644 +--- a/config/bool.h ++++ b/config/bool.h +@@ -25,12 +25,14 @@ + + struct Buffer; + struct ConfigSet; ++struct ConfigSubset; + struct HashElem; + + extern const char *BoolValues[]; + + void bool_init(struct ConfigSet *cs); +-int bool_he_toggle(struct ConfigSet *cs, struct HashElem *he, struct Buffer *err); +-int bool_str_toggle(struct ConfigSet *cs, const char *name, struct Buffer *err); ++ ++int bool_he_toggle (struct ConfigSubset *sub, struct HashElem *he, struct Buffer *err); ++int bool_str_toggle(struct ConfigSubset *sub, const char *name, struct Buffer *err); + + #endif /* MUTT_CONFIG_BOOL_H */ +diff --git a/config/dump.c b/config/dump.c +index 8dae7b63c..999901535 100644 +--- a/config/dump.c ++++ b/config/dump.c +@@ -29,10 +29,10 @@ + #include "config.h" + #include + #include +-#include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "dump.h" + #include "set.h" ++#include "subset.h" + #include "types.h" + + void mutt_pretty_mailbox(char *buf, size_t buflen); +@@ -91,53 +91,6 @@ size_t pretty_var(const char *str, struct Buffer *buf) + return len; + } + +-/** +- * elem_list_sort - Sort two HashElem pointers to config +- * @param a First HashElem +- * @param b Second HashElem +- * @retval -1 a precedes b +- * @retval 0 a and b are identical +- * @retval 1 b precedes a +- */ +-int elem_list_sort(const void *a, const void *b) +-{ +- if (!a || !b) +- return 0; +- +- const struct HashElem *hea = *(struct HashElem const *const *) a; +- const struct HashElem *heb = *(struct HashElem const *const *) b; +- +- return mutt_str_strcasecmp(hea->key.strkey, heb->key.strkey); +-} +- +-/** +- * get_elem_list - Create a sorted list of all config items +- * @param cs ConfigSet to read +- * @retval ptr Null-terminated array of HashElem +- */ +-struct HashElem **get_elem_list(struct ConfigSet *cs) +-{ +- if (!cs) +- return NULL; +- +- struct HashElem **list = mutt_mem_calloc(1024, sizeof(struct HashElem *)); +- size_t index = 0; +- +- struct HashWalkState walk = { 0 }; +- struct HashElem *he = NULL; +- +- while ((he = mutt_hash_walk(cs->hash, &walk))) +- { +- list[index++] = he; +- if (index == 1022) +- break; /* LCOV_EXCL_LINE */ +- } +- +- qsort(list, index, sizeof(struct HashElem *), elem_list_sort); +- +- return list; +-} +- + /** + * dump_config_neo - Dump the config in the style of NeoMutt + * @param cs Config items +@@ -249,7 +202,7 @@ bool dump_config(struct ConfigSet *cs, ConfigDumpFlags flags, FILE *fp) + mutt_buffer_addstr(&value, "***"); + } + +- if (IS_PATH(he) && (value.data[0] == '/')) ++ if (((type == DT_PATH) || IS_MAILBOX(he)) && (value.data[0] == '/')) + mutt_pretty_mailbox(value.data, value.dsize); + + if ((type != DT_BOOL) && (type != DT_NUMBER) && (type != DT_LONG) && +@@ -271,7 +224,7 @@ bool dump_config(struct ConfigSet *cs, ConfigDumpFlags flags, FILE *fp) + break; /* LCOV_EXCL_LINE */ + } + +- if (IS_PATH(he) && !(he->type & DT_MAILBOX)) ++ if (((type == DT_PATH) || IS_MAILBOX(he)) && !(he->type & DT_MAILBOX)) + mutt_pretty_mailbox(initial.data, initial.dsize); + + if ((type != DT_BOOL) && (type != DT_NUMBER) && (type != DT_LONG) && +diff --git a/config/dump.h b/config/dump.h +index f1a0ca324..6087ce549 100644 +--- a/config/dump.h ++++ b/config/dump.h +@@ -45,9 +45,7 @@ typedef uint16_t ConfigDumpFlags; ///< Flags for dump_config(), e.g. #CS + + void dump_config_neo(struct ConfigSet *cs, struct HashElem *he, struct Buffer *value, struct Buffer *initial, ConfigDumpFlags flags, FILE *fp); + bool dump_config(struct ConfigSet *cs, ConfigDumpFlags flags, FILE *fp); +-int elem_list_sort(const void *a, const void *b); + size_t escape_string(struct Buffer *buf, const char *src); +-struct HashElem **get_elem_list(struct ConfigSet *cs); + size_t pretty_var(const char *str, struct Buffer *buf); + + #endif /* MUTT_CONFIG_DUMP_H */ +diff --git a/config/enum.c b/config/enum.c +index dc7489fcc..03a88ebf9 100644 +--- a/config/enum.c ++++ b/config/enum.c +@@ -30,7 +30,7 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "enum.h" + #include "set.h" + #include "types.h" +@@ -59,7 +59,7 @@ static int enum_string_set(const struct ConfigSet *cs, void *var, struct ConfigD + int num = mutt_map_get_value(value, ed->lookup); + if (num < 0) + { +- mutt_buffer_printf(err, "Invalid enum value: %s", value); ++ mutt_buffer_printf(err, _("Invalid enum value: %s"), value); + return (CSR_ERR_INVALID | CSR_INV_TYPE); + } + +@@ -146,7 +146,7 @@ static int enum_native_set(const struct ConfigSet *cs, void *var, + const char *name = mutt_map_get_name(value, ed->lookup); + if (!name) + { +- mutt_buffer_printf(err, "Invalid enum value: %ld", value); ++ mutt_buffer_printf(err, _("Invalid enum value: %ld"), value); + return (CSR_ERR_INVALID | CSR_INV_TYPE); + } + +diff --git a/config/lib.h b/config/lib.h +index f454582e7..4da7f5042 100644 +--- a/config/lib.h ++++ b/config/lib.h +@@ -34,6 +34,7 @@ + * | config/long.c | @subpage config_long | + * | config/mbtable.c | @subpage config_mbtable | + * | config/number.c | @subpage config_number | ++ * | config/path.c | @subpage config_path | + * | config/quad.c | @subpage config_quad | + * | config/regex.c | @subpage config_regex | + * | config/set.c | @subpage config_set | +@@ -55,6 +56,7 @@ + #include "long.h" + #include "mbtable.h" + #include "number.h" ++#include "path.h" + #include "quad.h" + #include "regex2.h" + #include "set.h" +diff --git a/config/long.c b/config/long.c +index 222a041fe..be1cbca0e 100644 +--- a/config/long.c ++++ b/config/long.c +@@ -30,13 +30,13 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "long.h" + #include "set.h" + #include "types.h" + + /** +- * long_string_set - Set a Long by string - Implements ::cst_string_set() ++ * long_string_set - Set a Long by string - Implements ConfigSetType::string_set() + */ + static int long_string_set(const struct ConfigSet *cs, void *var, struct ConfigDef *cdef, + const char *value, struct Buffer *err) +@@ -47,13 +47,13 @@ static int long_string_set(const struct ConfigSet *cs, void *var, struct ConfigD + long num = 0; + if (!value || (value[0] == '\0') || (mutt_str_atol(value, &num) < 0)) + { +- mutt_buffer_printf(err, "Invalid long: %s", NONULL(value)); ++ mutt_buffer_printf(err, _("Invalid long: %s"), NONULL(value)); + return CSR_ERR_INVALID | CSR_INV_TYPE; + } + + if ((num < 0) && (cdef->type & DT_NOT_NEGATIVE)) + { +- mutt_buffer_printf(err, "Option %s may not be negative", cdef->name); ++ mutt_buffer_printf(err, _("Option %s may not be negative"), cdef->name); + return CSR_ERR_INVALID | CSR_INV_VALIDATOR; + } + +@@ -81,7 +81,7 @@ static int long_string_set(const struct ConfigSet *cs, void *var, struct ConfigD + } + + /** +- * long_string_get - Get a Long as a string - Implements ::cst_string_get() ++ * long_string_get - Get a Long as a string - Implements ConfigSetType::string_get() + */ + static int long_string_get(const struct ConfigSet *cs, void *var, + const struct ConfigDef *cdef, struct Buffer *result) +@@ -101,7 +101,7 @@ static int long_string_get(const struct ConfigSet *cs, void *var, + } + + /** +- * long_native_set - Set a Long config item by int - Implements ::cst_native_set() ++ * long_native_set - Set a Long config item by int - Implements ConfigSetType::native_set() + */ + static int long_native_set(const struct ConfigSet *cs, void *var, + const struct ConfigDef *cdef, intptr_t value, struct Buffer *err) +@@ -111,7 +111,7 @@ static int long_native_set(const struct ConfigSet *cs, void *var, + + if ((value < 0) && (cdef->type & DT_NOT_NEGATIVE)) + { +- mutt_buffer_printf(err, "Option %s may not be negative", cdef->name); ++ mutt_buffer_printf(err, _("Option %s may not be negative"), cdef->name); + return CSR_ERR_INVALID | CSR_INV_VALIDATOR; + } + +@@ -131,7 +131,7 @@ static int long_native_set(const struct ConfigSet *cs, void *var, + } + + /** +- * long_native_get - Get an int from a Long config item - Implements ::cst_native_get() ++ * long_native_get - Get an int from a Long config item - Implements ConfigSetType::native_get() + */ + static intptr_t long_native_get(const struct ConfigSet *cs, void *var, + const struct ConfigDef *cdef, struct Buffer *err) +@@ -143,7 +143,7 @@ static intptr_t long_native_get(const struct ConfigSet *cs, void *var, + } + + /** +- * long_reset - Reset a Long to its initial value - Implements ::cst_reset() ++ * long_reset - Reset a Long to its initial value - Implements ConfigSetType::reset() + */ + static int long_reset(const struct ConfigSet *cs, void *var, + const struct ConfigDef *cdef, struct Buffer *err) +diff --git a/config/mbtable.c b/config/mbtable.c +index 7c1cc6886..cda15a1c0 100644 +--- a/config/mbtable.c ++++ b/config/mbtable.c +@@ -31,7 +31,7 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "mbtable.h" + #include "set.h" + #include "types.h" +@@ -85,7 +85,7 @@ struct MbTable *mbtable_parse(const char *s) + } + + /** +- * mbtable_destroy - Destroy an MbTable object - Implements ::cst_destroy() ++ * mbtable_destroy - Destroy an MbTable object - Implements ConfigSetType::destroy() + */ + static void mbtable_destroy(const struct ConfigSet *cs, void *var, const struct ConfigDef *cdef) + { +@@ -100,7 +100,7 @@ static void mbtable_destroy(const struct ConfigSet *cs, void *var, const struct + } + + /** +- * mbtable_string_set - Set a MbTable by string - Implements ::cst_string_set() ++ * mbtable_string_set - Set a MbTable by string - Implements ConfigSetType::string_set() + */ + static int mbtable_string_set(const struct ConfigSet *cs, void *var, struct ConfigDef *cdef, + const char *value, struct Buffer *err) +@@ -108,6 +108,7 @@ static int mbtable_string_set(const struct ConfigSet *cs, void *var, struct Conf + if (!cs || !cdef) + return CSR_ERR_CODE; /* LCOV_EXCL_LINE */ + ++ /* Store empty strings as NULL */ + if (value && (value[0] == '\0')) + value = NULL; + +@@ -154,7 +155,7 @@ static int mbtable_string_set(const struct ConfigSet *cs, void *var, struct Conf + } + + /** +- * mbtable_string_get - Get a MbTable as a string - Implements ::cst_string_get() ++ * mbtable_string_get - Get a MbTable as a string - Implements ConfigSetType::string_get() + */ + static int mbtable_string_get(const struct ConfigSet *cs, void *var, + const struct ConfigDef *cdef, struct Buffer *result) +@@ -196,7 +197,7 @@ static struct MbTable *mbtable_dup(struct MbTable *table) + } + + /** +- * mbtable_native_set - Set a MbTable config item by MbTable object - Implements ::cst_native_set() ++ * mbtable_native_set - Set a MbTable config item by MbTable object - Implements ConfigSetType::native_set() + */ + static int mbtable_native_set(const struct ConfigSet *cs, void *var, + const struct ConfigDef *cdef, intptr_t value, +@@ -228,7 +229,7 @@ static int mbtable_native_set(const struct ConfigSet *cs, void *var, + } + + /** +- * mbtable_native_get - Get an MbTable object from a MbTable config item - Implements ::cst_native_get() ++ * mbtable_native_get - Get an MbTable object from a MbTable config item - Implements ConfigSetType::native_get() + */ + static intptr_t mbtable_native_get(const struct ConfigSet *cs, void *var, + const struct ConfigDef *cdef, struct Buffer *err) +@@ -242,7 +243,7 @@ static intptr_t mbtable_native_get(const struct ConfigSet *cs, void *var, + } + + /** +- * mbtable_reset - Reset an MbTable to its initial value - Implements ::cst_reset() ++ * mbtable_reset - Reset an MbTable to its initial value - Implements ConfigSetType::reset() + */ + static int mbtable_reset(const struct ConfigSet *cs, void *var, + const struct ConfigDef *cdef, struct Buffer *err) +diff --git a/config/mbtable.h b/config/mbtable.h +index f71c38dbe..679898a13 100644 +--- a/config/mbtable.h ++++ b/config/mbtable.h +@@ -40,8 +40,8 @@ struct MbTable + char *segmented_str; ///< Each chars entry points inside this string + }; + +-void mbtable_init(struct ConfigSet *cs); ++void mbtable_free (struct MbTable **table); ++void mbtable_init (struct ConfigSet *cs); + struct MbTable *mbtable_parse(const char *str); +-void mbtable_free(struct MbTable **table); + + #endif /* MUTT_CONFIG_MBTABLE_H */ +diff --git a/config/number.c b/config/number.c +index d3b67ab92..d2dfde049 100644 +--- a/config/number.c ++++ b/config/number.c +@@ -30,13 +30,13 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "number.h" + #include "set.h" + #include "types.h" + + /** +- * number_string_set - Set a Number by string - Implements ::cst_string_set() ++ * number_string_set - Set a Number by string - Implements ConfigSetType::string_set() + */ + static int number_string_set(const struct ConfigSet *cs, void *var, struct ConfigDef *cdef, + const char *value, struct Buffer *err) +@@ -46,26 +46,26 @@ static int number_string_set(const struct ConfigSet *cs, void *var, struct Confi + + if (!value || !value[0]) + { +- mutt_buffer_printf(err, "Option %s may not be empty", cdef->name); ++ mutt_buffer_printf(err, _("Option %s may not be empty"), cdef->name); + return CSR_ERR_INVALID | CSR_INV_TYPE; + } + + int num = 0; + if (mutt_str_atoi(value, &num) < 0) + { +- mutt_buffer_printf(err, "Invalid number: %s", value); ++ mutt_buffer_printf(err, _("Invalid number: %s"), value); + return CSR_ERR_INVALID | CSR_INV_TYPE; + } + + if ((num < SHRT_MIN) || (num > SHRT_MAX)) + { +- mutt_buffer_printf(err, "Number is too big: %s", value); ++ mutt_buffer_printf(err, _("Number is too big: %s"), value); + return CSR_ERR_INVALID | CSR_INV_TYPE; + } + + if ((num < 0) && (cdef->type & DT_NOT_NEGATIVE)) + { +- mutt_buffer_printf(err, "Option %s may not be negative", cdef->name); ++ mutt_buffer_printf(err, _("Option %s may not be negative"), cdef->name); + return CSR_ERR_INVALID | CSR_INV_VALIDATOR; + } + +@@ -93,7 +93,7 @@ static int number_string_set(const struct ConfigSet *cs, void *var, struct Confi + } + + /** +- * number_string_get - Get a Number as a string - Implements ::cst_string_get() ++ * number_string_get - Get a Number as a string - Implements ConfigSetType::string_get() + */ + static int number_string_get(const struct ConfigSet *cs, void *var, + const struct ConfigDef *cdef, struct Buffer *result) +@@ -113,7 +113,7 @@ static int number_string_get(const struct ConfigSet *cs, void *var, + } + + /** +- * number_native_set - Set a Number config item by int - Implements ::cst_native_set() ++ * number_native_set - Set a Number config item by int - Implements ConfigSetType::native_set() + */ + static int number_native_set(const struct ConfigSet *cs, void *var, + const struct ConfigDef *cdef, intptr_t value, +@@ -124,13 +124,13 @@ static int number_native_set(const struct ConfigSet *cs, void *var, + + if ((value < SHRT_MIN) || (value > SHRT_MAX)) + { +- mutt_buffer_printf(err, "Invalid number: %ld", value); ++ mutt_buffer_printf(err, _("Invalid number: %ld"), value); + return CSR_ERR_INVALID | CSR_INV_TYPE; + } + + if ((value < 0) && (cdef->type & DT_NOT_NEGATIVE)) + { +- mutt_buffer_printf(err, "Option %s may not be negative", cdef->name); ++ mutt_buffer_printf(err, _("Option %s may not be negative"), cdef->name); + return CSR_ERR_INVALID | CSR_INV_VALIDATOR; + } + +@@ -150,7 +150,7 @@ static int number_native_set(const struct ConfigSet *cs, void *var, + } + + /** +- * number_native_get - Get an int from a Number config item - Implements ::cst_native_get() ++ * number_native_get - Get an int from a Number config item - Implements ConfigSetType::native_get() + */ + static intptr_t number_native_get(const struct ConfigSet *cs, void *var, + const struct ConfigDef *cdef, struct Buffer *err) +@@ -162,7 +162,7 @@ static intptr_t number_native_get(const struct ConfigSet *cs, void *var, + } + + /** +- * number_reset - Reset a Number to its initial value - Implements ::cst_reset() ++ * number_reset - Reset a Number to its initial value - Implements ConfigSetType::reset() + */ + static int number_reset(const struct ConfigSet *cs, void *var, + const struct ConfigDef *cdef, struct Buffer *err) +diff --git a/config/path.c b/config/path.c +new file mode 100644 +index 000000000..e1fd19ba8 +--- /dev/null ++++ b/config/path.c +@@ -0,0 +1,279 @@ ++/** ++ * @file ++ * Type representing a path ++ * ++ * @authors ++ * Copyright (C) 2020 Richard Russon ++ * ++ * @copyright ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 2 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ ++/** ++ * @page config_path Type: Path ++ * ++ * Type representing a path. ++ */ ++ ++#include "config.h" ++#include ++#include ++#include ++#include ++#include "mutt/lib.h" ++#include "path.h" ++#include "set.h" ++#include "types.h" ++ ++extern char *HomeDir; ++ ++/** ++ * path_tidy - Tidy a path for storage ++ * @param path Path to be tidied ++ * @param is_dir Is the path a directory? ++ * @retval ptr Tidy path ++ * ++ * Expand `~` and remove junk like `/./` ++ * ++ * @note The caller must free the returned string ++ */ ++static char *path_tidy(const char *path, bool is_dir) ++{ ++ if (!path || !*path) ++ return NULL; ++ ++ char buf[PATH_MAX] = { 0 }; ++ mutt_str_strfcpy(buf, path, sizeof(buf)); ++ ++ mutt_path_tilde(buf, sizeof(buf), HomeDir); ++ mutt_path_tidy(buf, is_dir); ++ ++ return mutt_str_strdup(buf); ++} ++ ++/** ++ * path_destroy - Destroy a Path - Implements ConfigSetType::destroy() ++ */ ++static void path_destroy(const struct ConfigSet *cs, void *var, const struct ConfigDef *cdef) ++{ ++ if (!cs || !var || !cdef) ++ return; /* LCOV_EXCL_LINE */ ++ ++ const char **str = (const char **) var; ++ if (!*str) ++ return; ++ ++ /* Don't free paths from the var definition */ ++ if (*(char **) var == (char *) cdef->initial) ++ { ++ *(char **) var = NULL; ++ return; ++ } ++ ++ FREE(var); ++} ++ ++/** ++ * path_string_set - Set a Path by path - Implements ConfigSetType::string_set() ++ */ ++static int path_string_set(const struct ConfigSet *cs, void *var, struct ConfigDef *cdef, ++ const char *value, struct Buffer *err) ++{ ++ if (!cs || !cdef) ++ return CSR_ERR_CODE; /* LCOV_EXCL_LINE */ ++ ++ /* Store empty paths as NULL */ ++ if (value && (value[0] == '\0')) ++ value = NULL; ++ ++ if (!value && (cdef->type & DT_NOT_EMPTY)) ++ { ++ mutt_buffer_printf(err, _("Option %s may not be empty"), cdef->name); ++ return CSR_ERR_INVALID | CSR_INV_VALIDATOR; ++ } ++ ++ int rc = CSR_SUCCESS; ++ ++ if (var) ++ { ++ if (mutt_str_strcmp(value, (*(char **) var)) == 0) ++ return CSR_SUCCESS | CSR_SUC_NO_CHANGE; ++ ++ if (cdef->validator) ++ { ++ rc = cdef->validator(cs, cdef, (intptr_t) value, err); ++ ++ if (CSR_RESULT(rc) != CSR_SUCCESS) ++ return rc | CSR_INV_VALIDATOR; ++ } ++ ++ path_destroy(cs, var, cdef); ++ ++ char *str = path_tidy(value, cdef->type & DT_PATH_DIR); ++ if (!str) ++ rc |= CSR_SUC_EMPTY; ++ ++ *(char **) var = str; ++ } ++ else ++ { ++ /* we're already using the initial value */ ++ if (*(char **) cdef->var == (char *) cdef->initial) ++ *(char **) cdef->var = mutt_str_strdup((char *) cdef->initial); ++ ++ if (cdef->type & DT_INITIAL_SET) ++ FREE(&cdef->initial); ++ ++ cdef->type |= DT_INITIAL_SET; ++ cdef->initial = IP mutt_str_strdup(value); ++ } ++ ++ return rc; ++} ++ ++/** ++ * path_string_get - Get a Path as a path - Implements ConfigSetType::string_get() ++ */ ++static int path_string_get(const struct ConfigSet *cs, void *var, ++ const struct ConfigDef *cdef, struct Buffer *result) ++{ ++ if (!cs || !cdef) ++ return CSR_ERR_CODE; /* LCOV_EXCL_LINE */ ++ ++ const char *str = NULL; ++ ++ if (var) ++ str = *(const char **) var; ++ else ++ str = (char *) cdef->initial; ++ ++ if (!str) ++ return CSR_SUCCESS | CSR_SUC_EMPTY; /* empty path */ ++ ++ mutt_buffer_addstr(result, str); ++ return CSR_SUCCESS; ++} ++ ++/** ++ * path_native_set - Set a Path config item by path - Implements ConfigSetType::native_set() ++ */ ++static int path_native_set(const struct ConfigSet *cs, void *var, ++ const struct ConfigDef *cdef, intptr_t value, struct Buffer *err) ++{ ++ if (!cs || !var || !cdef) ++ return CSR_ERR_CODE; /* LCOV_EXCL_LINE */ ++ ++ char *str = (char *) value; ++ ++ /* Store empty paths as NULL */ ++ if (str && (str[0] == '\0')) ++ value = 0; ++ ++ if ((value == 0) && (cdef->type & DT_NOT_EMPTY)) ++ { ++ mutt_buffer_printf(err, _("Option %s may not be empty"), cdef->name); ++ return CSR_ERR_INVALID | CSR_INV_VALIDATOR; ++ } ++ ++ if (mutt_str_strcmp((const char *) value, (*(char **) var)) == 0) ++ return CSR_SUCCESS | CSR_SUC_NO_CHANGE; ++ ++ int rc; ++ ++ if (cdef->validator) ++ { ++ rc = cdef->validator(cs, cdef, value, err); ++ ++ if (CSR_RESULT(rc) != CSR_SUCCESS) ++ return rc | CSR_INV_VALIDATOR; ++ } ++ ++ path_destroy(cs, var, cdef); ++ ++ str = path_tidy(str, cdef->type & DT_PATH_DIR); ++ rc = CSR_SUCCESS; ++ if (!str) ++ rc |= CSR_SUC_EMPTY; ++ ++ *(const char **) var = str; ++ return rc; ++} ++ ++/** ++ * path_native_get - Get a path from a Path config item - Implements ConfigSetType::native_get() ++ */ ++static intptr_t path_native_get(const struct ConfigSet *cs, void *var, ++ const struct ConfigDef *cdef, struct Buffer *err) ++{ ++ if (!cs || !var || !cdef) ++ return INT_MIN; /* LCOV_EXCL_LINE */ ++ ++ const char *str = *(const char **) var; ++ ++ return (intptr_t) str; ++} ++ ++/** ++ * path_reset - Reset a Path to its initial value - Implements ConfigSetType::reset() ++ */ ++static int path_reset(const struct ConfigSet *cs, void *var, ++ const struct ConfigDef *cdef, struct Buffer *err) ++{ ++ if (!cs || !var || !cdef) ++ return CSR_ERR_CODE; /* LCOV_EXCL_LINE */ ++ ++ int rc = CSR_SUCCESS; ++ ++ const char *str = path_tidy((const char *) cdef->initial, cdef->type & DT_PATH_DIR); ++ if (!str) ++ rc |= CSR_SUC_EMPTY; ++ ++ if (mutt_str_strcmp(str, (*(char **) var)) == 0) ++ { ++ FREE(&str); ++ return rc | CSR_SUC_NO_CHANGE; ++ } ++ ++ if (cdef->validator) ++ { ++ rc = cdef->validator(cs, cdef, cdef->initial, err); ++ ++ if (CSR_RESULT(rc) != CSR_SUCCESS) ++ { ++ FREE(&str); ++ return rc | CSR_INV_VALIDATOR; ++ } ++ } ++ ++ path_destroy(cs, var, cdef); ++ ++ if (!str) ++ rc |= CSR_SUC_EMPTY; ++ ++ *(const char **) var = str; ++ return rc; ++} ++ ++/** ++ * path_init - Register the Path config type ++ * @param cs Config items ++ */ ++void path_init(struct ConfigSet *cs) ++{ ++ const struct ConfigSetType cst_path = { ++ "path", path_string_set, path_string_get, path_native_set, ++ path_native_get, path_reset, path_destroy, ++ }; ++ cs_register_type(cs, DT_PATH, &cst_path); ++} +diff --git a/config/path.h b/config/path.h +new file mode 100644 +index 000000000..5c817ba50 +--- /dev/null ++++ b/config/path.h +@@ -0,0 +1,30 @@ ++/** ++ * @file ++ * Type representing a path ++ * ++ * @authors ++ * Copyright (C) 2020 Richard Russon ++ * ++ * @copyright ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 2 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ ++#ifndef MUTT_CONFIG_PATH_H ++#define MUTT_CONFIG_PATH_H ++ ++struct ConfigSet; ++ ++void path_init(struct ConfigSet *cs); ++ ++#endif /* MUTT_CONFIG_PATH_H */ +diff --git a/config/quad.c b/config/quad.c +index d68908337..e95a2a264 100644 +--- a/config/quad.c ++++ b/config/quad.c +@@ -30,9 +30,10 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "quad.h" + #include "set.h" ++#include "subset.h" + #include "types.h" + + /** +@@ -45,7 +46,7 @@ const char *QuadValues[] = { + }; + + /** +- * quad_string_set - Set a Quad-option by string - Implements ::cst_string_set() ++ * quad_string_set - Set a Quad-option by string - Implements ConfigSetType::string_set() + */ + static int quad_string_set(const struct ConfigSet *cs, void *var, struct ConfigDef *cdef, + const char *value, struct Buffer *err) +@@ -65,7 +66,7 @@ static int quad_string_set(const struct ConfigSet *cs, void *var, struct ConfigD + + if (num < 0) + { +- mutt_buffer_printf(err, "Invalid quad value: %s", value); ++ mutt_buffer_printf(err, _("Invalid quad value: %s"), value); + return CSR_ERR_INVALID | CSR_INV_TYPE; + } + +@@ -93,7 +94,7 @@ static int quad_string_set(const struct ConfigSet *cs, void *var, struct ConfigD + } + + /** +- * quad_string_get - Get a Quad-option as a string - Implements ::cst_string_get() ++ * quad_string_get - Get a Quad-option as a string - Implements ConfigSetType::string_get() + */ + static int quad_string_get(const struct ConfigSet *cs, void *var, + const struct ConfigDef *cdef, struct Buffer *result) +@@ -119,7 +120,7 @@ static int quad_string_get(const struct ConfigSet *cs, void *var, + } + + /** +- * quad_native_set - Set a Quad-option config item by int - Implements ::cst_native_set() ++ * quad_native_set - Set a Quad-option config item by int - Implements ConfigSetType::native_set() + */ + static int quad_native_set(const struct ConfigSet *cs, void *var, + const struct ConfigDef *cdef, intptr_t value, struct Buffer *err) +@@ -129,7 +130,7 @@ static int quad_native_set(const struct ConfigSet *cs, void *var, + + if ((value < 0) || (value >= (mutt_array_size(QuadValues) - 1))) + { +- mutt_buffer_printf(err, "Invalid quad value: %ld", value); ++ mutt_buffer_printf(err, _("Invalid quad value: %ld"), value); + return CSR_ERR_INVALID | CSR_INV_TYPE; + } + +@@ -149,7 +150,7 @@ static int quad_native_set(const struct ConfigSet *cs, void *var, + } + + /** +- * quad_native_get - Get an int object from a Quad-option config item - Implements ::cst_native_get() ++ * quad_native_get - Get an int object from a Quad-option config item - Implements ConfigSetType::native_get() + */ + static intptr_t quad_native_get(const struct ConfigSet *cs, void *var, + const struct ConfigDef *cdef, struct Buffer *err) +@@ -161,7 +162,7 @@ static intptr_t quad_native_get(const struct ConfigSet *cs, void *var, + } + + /** +- * quad_reset - Reset a Quad-option to its initial value - Implements ::cst_reset() ++ * quad_reset - Reset a Quad-option to its initial value - Implements ConfigSetType::reset() + */ + static int quad_reset(const struct ConfigSet *cs, void *var, + const struct ConfigDef *cdef, struct Buffer *err) +@@ -204,6 +205,7 @@ void quad_init(struct ConfigSet *cs) + + /** + * quad_toggle - Toggle (invert) the value of a quad option ++ * @param opt Value to toggle + * + * By toggling the low bit, the following are swapped: + * - #MUTT_NO <--> #MUTT_YES +@@ -216,33 +218,47 @@ static int quad_toggle(int opt) + + /** + * quad_he_toggle - Toggle the value of a quad +- * @param cs Config items ++ * @param sub Config subset + * @param he HashElem representing config item + * @param err Buffer for error messages + * @retval num Result, e.g. #CSR_SUCCESS + * + * @sa quad_toggle() + */ +-int quad_he_toggle(struct ConfigSet *cs, struct HashElem *he, struct Buffer *err) ++int quad_he_toggle(struct ConfigSubset *sub, struct HashElem *he, struct Buffer *err) + { +- if (!cs || !he || !he->data) ++ if (!sub || !he || !he->data) + return CSR_ERR_CODE; + +- if (DTYPE(he->type) != DT_QUAD) ++ struct HashElem *he_base = cs_get_base(he); ++ if (DTYPE(he_base->type) != DT_QUAD) + return CSR_ERR_CODE; + +- const struct ConfigDef *cdef = he->data; +- char *var = cdef->var; ++ intptr_t value = cs_he_native_get(sub->cs, he, err); ++ if (value == INT_MIN) ++ return CSR_ERR_CODE; + +- char value = *var; +- if ((value < 0) || (value >= (mutt_array_size(QuadValues) - 1))) +- { +- mutt_buffer_printf(err, "Invalid quad value: %d", value); +- return CSR_ERR_INVALID | CSR_INV_TYPE; +- } ++ value = quad_toggle(value); ++ int rc = cs_he_native_set(sub->cs, he, value, err); + +- *(char *) var = quad_toggle(value); ++ if ((CSR_RESULT(rc) == CSR_SUCCESS) && !(rc & CSR_SUC_NO_CHANGE)) ++ cs_subset_notify_observers(sub, he, NT_CONFIG_SET); + +- cs_notify_observers(cs, he, he->key.strkey, NT_CONFIG_SET); +- return CSR_SUCCESS; ++ return rc; ++} ++ ++/** ++ * quad_str_toggle - Toggle the value of a quad ++ * @param sub Config subset ++ * @param name HashElem representing config item ++ * @param err Buffer for error messages ++ * @retval num Result, e.g. #CSR_SUCCESS ++ * ++ * @sa quad_toggle() ++ */ ++int quad_str_toggle(struct ConfigSubset *sub, const char *name, struct Buffer *err) ++{ ++ struct HashElem *he = cs_subset_create_inheritance(sub, name); ++ ++ return quad_he_toggle(sub, he, err); + } +diff --git a/config/quad.h b/config/quad.h +index 98f623a9a..adef16cc7 100644 +--- a/config/quad.h ++++ b/config/quad.h +@@ -25,6 +25,7 @@ + + struct Buffer; + struct ConfigSet; ++struct ConfigSubset; + struct HashElem; + + extern const char *QuadValues[]; +@@ -42,6 +43,8 @@ enum QuadOption + }; + + void quad_init(struct ConfigSet *cs); +-int quad_he_toggle(struct ConfigSet *cs, struct HashElem *he, struct Buffer *err); ++ ++int quad_he_toggle (struct ConfigSubset *sub, struct HashElem *he, struct Buffer *err); ++int quad_str_toggle(struct ConfigSubset *sub, const char *name, struct Buffer *err); + + #endif /* MUTT_CONFIG_QUAD_H */ +diff --git a/config/regex.c b/config/regex.c +index dca9a0a76..3110bbca8 100644 +--- a/config/regex.c ++++ b/config/regex.c +@@ -32,7 +32,7 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "regex2.h" // IWYU pragma: keep + #include "set.h" + #include "types.h" +@@ -54,7 +54,7 @@ void regex_free(struct Regex **r) + } + + /** +- * regex_destroy - Destroy a Regex object - Implements ::cst_destroy() ++ * regex_destroy - Destroy a Regex object - Implements ConfigSetType::destroy() + */ + static void regex_destroy(const struct ConfigSet *cs, void *var, const struct ConfigDef *cdef) + { +@@ -113,7 +113,7 @@ struct Regex *regex_new(const char *str, int flags, struct Buffer *err) + } + + /** +- * regex_string_set - Set a Regex by string - Implements ::cst_string_set() ++ * regex_string_set - Set a Regex by string - Implements ConfigSetType::string_set() + */ + static int regex_string_set(const struct ConfigSet *cs, void *var, struct ConfigDef *cdef, + const char *value, struct Buffer *err) +@@ -173,7 +173,7 @@ static int regex_string_set(const struct ConfigSet *cs, void *var, struct Config + } + + /** +- * regex_string_get - Get a Regex as a string - Implements ::cst_string_get() ++ * regex_string_get - Get a Regex as a string - Implements ConfigSetType::string_get() + */ + static int regex_string_get(const struct ConfigSet *cs, void *var, + const struct ConfigDef *cdef, struct Buffer *result) +@@ -202,7 +202,7 @@ static int regex_string_get(const struct ConfigSet *cs, void *var, + } + + /** +- * regex_native_set - Set a Regex config item by Regex object - Implements ::cst_native_set() ++ * regex_native_set - Set a Regex config item by Regex object - Implements ConfigSetType::native_set() + */ + static int regex_native_set(const struct ConfigSet *cs, void *var, + const struct ConfigDef *cdef, intptr_t value, struct Buffer *err) +@@ -246,7 +246,7 @@ static int regex_native_set(const struct ConfigSet *cs, void *var, + } + + /** +- * regex_native_get - Get a Regex object from a Regex config item - Implements ::cst_native_get() ++ * regex_native_get - Get a Regex object from a Regex config item - Implements ConfigSetType::native_get() + */ + static intptr_t regex_native_get(const struct ConfigSet *cs, void *var, + const struct ConfigDef *cdef, struct Buffer *err) +@@ -260,7 +260,7 @@ static intptr_t regex_native_get(const struct ConfigSet *cs, void *var, + } + + /** +- * regex_reset - Reset a Regex to its initial value - Implements ::cst_reset() ++ * regex_reset - Reset a Regex to its initial value - Implements ConfigSetType::reset() + */ + static int regex_reset(const struct ConfigSet *cs, void *var, + const struct ConfigDef *cdef, struct Buffer *err) +diff --git a/config/regex2.h b/config/regex2.h +index 367e822ed..191308202 100644 +--- a/config/regex2.h ++++ b/config/regex2.h +@@ -29,8 +29,8 @@ struct Buffer; + struct ConfigSet; + struct Regex; + +-void regex_init(struct ConfigSet *cs); +-struct Regex *regex_new(const char *str, int flags, struct Buffer *err); +-void regex_free(struct Regex **regex); ++void regex_free(struct Regex **regex); ++void regex_init(struct ConfigSet *cs); ++struct Regex *regex_new (const char *str, int flags, struct Buffer *err); + + #endif /* MUTT_CONFIG_REGEX_H */ +diff --git a/config/set.c b/config/set.c +index 32c94c28b..4548c9750 100644 +--- a/config/set.c ++++ b/config/set.c +@@ -29,8 +29,7 @@ + #include "config.h" + #include + #include +-#include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "set.h" + #include "inheritance.h" + #include "types.h" +@@ -39,23 +38,6 @@ struct ConfigSetType RegisteredTypes[18] = { + { NULL, NULL, NULL, NULL, NULL, NULL, NULL }, + }; + +-/** +- * get_base - Find the root Config Item +- * @param he Config Item to examine +- * @retval ptr Root Config Item +- * +- * Given an inherited HashElem, find the HashElem representing the original +- * Config Item. +- */ +-static struct HashElem *get_base(struct HashElem *he) +-{ +- if (!(he->type & DT_INHERITED)) +- return he; +- +- struct Inheritance *i = he->data; +- return get_base(i->parent); +-} +- + /** + * destroy - Callback function for the Hash Table - Implements ::hashelem_free_t + * @param type Object type, e.g. #DT_STRING +@@ -75,7 +57,7 @@ static void destroy(int type, void *obj, intptr_t data) + { + struct Inheritance *i = obj; + +- struct HashElem *he_base = get_base(i->parent); ++ struct HashElem *he_base = cs_get_base(i->parent); + struct ConfigDef *cdef = he_base->data; + + cst = cs_get_type_def(cs, he_base->type); +@@ -116,7 +98,7 @@ static struct HashElem *create_synonym(const struct ConfigSet *cs, + struct HashElem *parent = cs_get_elem(cs, name); + if (!parent) + { +- mutt_buffer_printf(err, "No such variable: %s", name); ++ mutt_buffer_printf(err, _("No such variable: %s"), name); + return NULL; + } + +@@ -148,7 +130,8 @@ static struct HashElem *reg_one_var(const struct ConfigSet *cs, + const struct ConfigSetType *cst = cs_get_type_def(cs, cdef->type); + if (!cst) + { +- mutt_buffer_printf(err, "Variable '%s' has an invalid type %d", cdef->name, cdef->type); ++ mutt_buffer_printf(err, _("Variable '%s' has an invalid type %d"), ++ cdef->name, cdef->type); + return NULL; + } + +@@ -170,25 +153,12 @@ static struct HashElem *reg_one_var(const struct ConfigSet *cs, + */ + struct ConfigSet *cs_new(size_t size) + { +- struct ConfigSet *cs = mutt_mem_malloc(sizeof(*cs)); +- cs_init(cs, size); +- return cs; +-} +- +-/** +- * cs_init - Initialise a Config Set +- * @param cs Config items +- * @param size Number of expected config items +- */ +-void cs_init(struct ConfigSet *cs, size_t size) +-{ +- if (!cs) +- return; ++ struct ConfigSet *cs = mutt_mem_calloc(1, sizeof(*cs)); + +- memset(cs, 0, sizeof(*cs)); + cs->hash = mutt_hash_new(size, MUTT_HASH_NO_FLAGS); + mutt_hash_set_destructor(cs->hash, destroy, (intptr_t) cs); +- cs->notify = notify_new(cs, NT_CONFIG); ++ ++ return cs; + } + + /** +@@ -203,10 +173,26 @@ void cs_free(struct ConfigSet **ptr) + struct ConfigSet *cs = *ptr; + + mutt_hash_free(&cs->hash); +- notify_free(&cs->notify); + FREE(ptr); + } + ++/** ++ * cs_get_base - Find the root Config Item ++ * @param he Config Item to examine ++ * @retval ptr Root Config Item ++ * ++ * Given an inherited HashElem, find the HashElem representing the original ++ * Config Item. ++ */ ++struct HashElem *cs_get_base(struct HashElem *he) ++{ ++ if (!(he->type & DT_INHERITED)) ++ return he; ++ ++ struct Inheritance *i = he->data; ++ return cs_get_base(i->parent); ++} ++ + /** + * cs_get_elem - Get the HashElem representing a config item + * @param cs Config items +@@ -348,23 +334,6 @@ void cs_uninherit_variable(const struct ConfigSet *cs, const char *name) + mutt_hash_delete(cs->hash, name, NULL); + } + +-/** +- * cs_notify_observers - Notify all observers of an event +- * @param cs Config items +- * @param he HashElem representing config item +- * @param name Name of config item +- * @param ev Type of event +- */ +-void cs_notify_observers(const struct ConfigSet *cs, struct HashElem *he, +- const char *name, enum NotifyConfig ev) +-{ +- if (!cs || !he || !name) +- return; +- +- struct EventConfig ec = { cs, he, name }; +- notify_send(cs->notify, NT_CONFIG, ev, IP & ec); +-} +- + /** + * cs_he_reset - Reset a config item to its initial value + * @param cs Config items +@@ -390,7 +359,7 @@ int cs_he_reset(const struct ConfigSet *cs, struct HashElem *he, struct Buffer * + if (he->type & DT_INHERITED) + { + struct Inheritance *i = he->data; +- struct HashElem *he_base = get_base(he); ++ struct HashElem *he_base = cs_get_base(he); + cdef = he_base->data; + cst = cs_get_type_def(cs, he_base->type); + +@@ -408,8 +377,6 @@ int cs_he_reset(const struct ConfigSet *cs, struct HashElem *he, struct Buffer * + rc = cst->reset(cs, cdef->var, cdef, err); + } + +- if ((CSR_RESULT(rc) == CSR_SUCCESS) && !(rc & CSR_SUC_NO_CHANGE)) +- cs_notify_observers(cs, he, he->key.strkey, NT_CONFIG_RESET); + return rc; + } + +@@ -428,7 +395,7 @@ int cs_str_reset(const struct ConfigSet *cs, const char *name, struct Buffer *er + struct HashElem *he = cs_get_elem(cs, name); + if (!he) + { +- mutt_buffer_printf(err, "Unknown var '%s'", name); ++ mutt_buffer_printf(err, _("Unknown variable '%s'"), name); + return CSR_ERR_UNKNOWN; + } + +@@ -454,7 +421,7 @@ int cs_he_initial_set(const struct ConfigSet *cs, struct HashElem *he, + + if (he->type & DT_INHERITED) + { +- struct HashElem *he_base = get_base(he); ++ struct HashElem *he_base = cs_get_base(he); + cdef = he_base->data; + mutt_debug(LL_DEBUG1, "Variable '%s' is inherited type\n", cdef->name); + return CSR_ERR_CODE; +@@ -472,7 +439,6 @@ int cs_he_initial_set(const struct ConfigSet *cs, struct HashElem *he, + if (CSR_RESULT(rc) != CSR_SUCCESS) + return rc; + +- cs_notify_observers(cs, he, he->key.strkey, NT_CONFIG_INITIAL_SET); + return CSR_SUCCESS; + } + +@@ -493,7 +459,7 @@ int cs_str_initial_set(const struct ConfigSet *cs, const char *name, + struct HashElem *he = cs_get_elem(cs, name); + if (!he) + { +- mutt_buffer_printf(err, "Unknown var '%s'", name); ++ mutt_buffer_printf(err, _("Unknown variable '%s'"), name); + return CSR_ERR_UNKNOWN; + } + +@@ -520,7 +486,7 @@ int cs_he_initial_get(const struct ConfigSet *cs, struct HashElem *he, struct Bu + + if (he->type & DT_INHERITED) + { +- struct HashElem *he_base = get_base(he); ++ struct HashElem *he_base = cs_get_base(he); + cdef = he_base->data; + cst = cs_get_type_def(cs, he_base->type); + } +@@ -558,7 +524,7 @@ int cs_str_initial_get(const struct ConfigSet *cs, const char *name, struct Buff + struct HashElem *he = cs_get_elem(cs, name); + if (!he) + { +- mutt_buffer_printf(result, "Unknown var '%s'", name); ++ mutt_buffer_printf(result, _("Unknown variable '%s'"), name); + return CSR_ERR_UNKNOWN; + } + +@@ -586,7 +552,7 @@ int cs_he_string_set(const struct ConfigSet *cs, struct HashElem *he, + if (he->type & DT_INHERITED) + { + struct Inheritance *i = he->data; +- struct HashElem *he_base = get_base(he); ++ struct HashElem *he_base = cs_get_base(he); + cdef = he_base->data; + cst = cs_get_type_def(cs, he_base->type); + var = &i->var; +@@ -611,8 +577,6 @@ int cs_he_string_set(const struct ConfigSet *cs, struct HashElem *he, + if (he->type & DT_INHERITED) + he->type = cdef->type | DT_INHERITED; + +- if (!(rc & CSR_SUC_NO_CHANGE)) +- cs_notify_observers(cs, he, he->key.strkey, NT_CONFIG_SET); + return rc; + } + +@@ -633,7 +597,7 @@ int cs_str_string_set(const struct ConfigSet *cs, const char *name, + struct HashElem *he = cs_get_elem(cs, name); + if (!he) + { +- mutt_buffer_printf(err, "Unknown var '%s'", name); ++ mutt_buffer_printf(err, _("Unknown variable '%s'"), name); + return CSR_ERR_UNKNOWN; + } + +@@ -665,7 +629,7 @@ int cs_he_string_get(const struct ConfigSet *cs, struct HashElem *he, struct Buf + return cs_he_string_get(cs, i->parent, result); + + // inherited, value set +- struct HashElem *he_base = get_base(he); ++ struct HashElem *he_base = cs_get_base(he); + cdef = he_base->data; + cst = cs_get_type_def(cs, he_base->type); + var = &i->var; +@@ -703,7 +667,7 @@ int cs_str_string_get(const struct ConfigSet *cs, const char *name, struct Buffe + struct HashElem *he = cs_get_elem(cs, name); + if (!he) + { +- mutt_buffer_printf(result, "Unknown var '%s'", name); ++ mutt_buffer_printf(result, _("Unknown variable '%s'"), name); + return CSR_ERR_UNKNOWN; + } + +@@ -731,7 +695,7 @@ int cs_he_native_set(const struct ConfigSet *cs, struct HashElem *he, + if (he->type & DT_INHERITED) + { + struct Inheritance *i = he->data; +- struct HashElem *he_base = get_base(he); ++ struct HashElem *he_base = cs_get_base(he); + cdef = he_base->data; + cst = cs_get_type_def(cs, he_base->type); + var = &i->var; +@@ -756,8 +720,6 @@ int cs_he_native_set(const struct ConfigSet *cs, struct HashElem *he, + if (he->type & DT_INHERITED) + he->type = cdef->type | DT_INHERITED; + +- if (!(rc & CSR_SUC_NO_CHANGE)) +- cs_notify_observers(cs, he, cdef->name, NT_CONFIG_SET); + return rc; + } + +@@ -778,7 +740,7 @@ int cs_str_native_set(const struct ConfigSet *cs, const char *name, + struct HashElem *he = cs_get_elem(cs, name); + if (!he) + { +- mutt_buffer_printf(err, "Unknown var '%s'", name); ++ mutt_buffer_printf(err, _("Unknown variable '%s'"), name); + return CSR_ERR_UNKNOWN; + } + +@@ -789,7 +751,7 @@ int cs_str_native_set(const struct ConfigSet *cs, const char *name, + if (he->type & DT_INHERITED) + { + struct Inheritance *i = he->data; +- struct HashElem *he_base = get_base(he); ++ struct HashElem *he_base = cs_get_base(he); + cdef = he_base->data; + cst = cs_get_type_def(cs, he_base->type); + var = &i->var; +@@ -811,8 +773,6 @@ int cs_str_native_set(const struct ConfigSet *cs, const char *name, + if (he->type & DT_INHERITED) + he->type = cdef->type | DT_INHERITED; + +- if (!(rc & CSR_SUC_NO_CHANGE)) +- cs_notify_observers(cs, he, cdef->name, NT_CONFIG_SET); + return rc; + } + +@@ -842,7 +802,7 @@ intptr_t cs_he_native_get(const struct ConfigSet *cs, struct HashElem *he, struc + return cs_he_native_get(cs, i->parent, err); + + // inherited, value set +- struct HashElem *he_base = get_base(he); ++ struct HashElem *he_base = cs_get_base(he); + cdef = he_base->data; + cst = cs_get_type_def(cs, he_base->type); + var = &i->var; +@@ -857,7 +817,7 @@ intptr_t cs_he_native_get(const struct ConfigSet *cs, struct HashElem *he, struc + + if (!cst) + { +- mutt_buffer_printf(err, "Variable '%s' has an invalid type %d", cdef->name, he->type); ++ mutt_buffer_printf(err, _("Variable '%s' has an invalid type %d"), cdef->name, he->type); + return INT_MIN; + } + +diff --git a/config/set.h b/config/set.h +index f2775da8c..c8e03bd6a 100644 +--- a/config/set.h ++++ b/config/set.h +@@ -32,16 +32,6 @@ struct ConfigSet; + struct HashElem; + struct ConfigDef; + +-/** +- * enum NotifyConfig - Config notification types +- */ +-enum NotifyConfig +-{ +- NT_CONFIG_SET = 1, ///< Config item has been set +- NT_CONFIG_RESET, ///< Config item has been reset to initial, or parent, value +- NT_CONFIG_INITIAL_SET, ///< Config item's initial value has been set +-}; +- + /* Config Set Results */ + #define CSR_SUCCESS 0 ///< Action completed successfully + #define CSR_ERR_CODE 1 ///< Problem with the code +@@ -61,86 +51,6 @@ enum NotifyConfig + #define CSR_RESULT_MASK 0x0F + #define CSR_RESULT(x) ((x) & CSR_RESULT_MASK) + +-/** +- * enum CsObserverAction - Config Observer responses +- */ +-enum CsObserverAction +-{ +- CSOA_CONTINUE = 1, ///< Continue notifying observers +- CSOA_STOP, ///< Stop notifying observers +-}; +- +-/** +- * typedef cs_validator - Validate the "charset" config variable +- * @param cs Config items +- * @param cdef Config definition +- * @param value Native value +- * @param err Message for the user +- * @retval #CSR_SUCCESS Success +- * @retval #CSR_ERR_INVALID Failure +- */ +-typedef int (*cs_validator) (const struct ConfigSet *cs, const struct ConfigDef *cdef, intptr_t value, struct Buffer *err); +-/** +- * typedef cst_string_set - Set a config item by string +- * @param cs Config items +- * @param var Variable to set +- * @param cdef Variable definition +- * @param value Value to set +- * @param err Buffer for error messages +- * @retval num Result, e.g. #CSR_SUCCESS +- * +- * If var is NULL, then the config item's initial value will be set. +- */ +-typedef int (*cst_string_set)(const struct ConfigSet *cs, void *var, struct ConfigDef *cdef, const char *value, struct Buffer *err); +-/** +- * typedef cst_string_get - Get a config item as a string +- * @param cs Config items +- * @param var Variable to get +- * @param cdef Variable definition +- * @param result Buffer for results or error messages +- * @retval num Result, e.g. #CSR_SUCCESS +- * +- * If var is NULL, then the config item's initial value will be returned. +- */ +-typedef int (*cst_string_get)(const struct ConfigSet *cs, void *var, const struct ConfigDef *cdef, struct Buffer *result); +-/** +- * typedef cst_native_set - Set a config item by string +- * @param cs Config items +- * @param var Variable to set +- * @param cdef Variable definition +- * @param value Native pointer/value to set +- * @param err Buffer for error messages +- * @retval num Result, e.g. #CSR_SUCCESS +- */ +-typedef int (*cst_native_set)(const struct ConfigSet *cs, void *var, const struct ConfigDef *cdef, intptr_t value, struct Buffer *err); +-/** +- * typedef cst_native_get - Get a string from a config item +- * @param cs Config items +- * @param var Variable to get +- * @param cdef Variable definition +- * @param err Buffer for error messages +- * @retval intptr_t Config item string +- * @retval INT_MIN Error +- */ +-typedef intptr_t(*cst_native_get)(const struct ConfigSet *cs, void *var, const struct ConfigDef *cdef, struct Buffer *err); +- +-/** +- * typedef cst_reset - Reset a config item to its initial value +- * @param cs Config items +- * @param var Variable to reset +- * @param cdef Variable definition +- * @param err Buffer for error messages +- * @retval num Result, e.g. #CSR_SUCCESS +- */ +-typedef int (*cst_reset) (const struct ConfigSet *cs, void *var, const struct ConfigDef *cdef, struct Buffer *err); +-/** +- * typedef cst_destroy - Destroy a config item +- * @param cs Config items +- * @param var Variable to destroy +- * @param cdef Variable definition +- */ +-typedef void (*cst_destroy) (const struct ConfigSet *cs, void *var, const struct ConfigDef *cdef); +- + #define IP (intptr_t) + + #define CS_REG_DISABLED (1 << 0) +@@ -157,7 +67,17 @@ struct ConfigDef + void *var; ///< Pointer to the global variable + intptr_t initial; ///< Initial value + intptr_t data; ///< Extra variable data +- cs_validator validator; ///< Validator callback function ++ ++ /** ++ * validator - Validate a config variable ++ * @param cs Config items ++ * @param cdef Config definition ++ * @param value Native value ++ * @param err Message for the user ++ * @retval #CSR_SUCCESS Success ++ * @retval #CSR_ERR_INVALID Failure ++ */ ++ int (*validator)(const struct ConfigSet *cs, const struct ConfigDef *cdef, intptr_t value, struct Buffer *err); + }; + + /** +@@ -168,12 +88,71 @@ struct ConfigDef + struct ConfigSetType + { + const char *name; ///< Name of the type, e.g. "String" +- cst_string_set string_set; ///< Convert the variable to a string +- cst_string_get string_get; ///< Initialise a variable from a string +- cst_native_set native_set; ///< Set the variable using a C-native type +- cst_native_get native_get; ///< Get the variable's value as a C-native type +- cst_reset reset; ///< Reset the variable to its initial, or parent, value +- cst_destroy destroy; ///< Free the resources for a variable ++ ++ /** ++ * string_set - Set a config item by string ++ * @param cs Config items ++ * @param var Variable to set ++ * @param cdef Variable definition ++ * @param value Value to set ++ * @param err Buffer for error messages ++ * @retval num Result, e.g. #CSR_SUCCESS ++ * ++ * If var is NULL, then the config item's initial value will be set. ++ */ ++ int (*string_set)(const struct ConfigSet *cs, void *var, struct ConfigDef *cdef, const char *value, struct Buffer *err); ++ ++ /** ++ * string_get - Get a config item as a string ++ * @param cs Config items ++ * @param var Variable to get ++ * @param cdef Variable definition ++ * @param result Buffer for results or error messages ++ * @retval num Result, e.g. #CSR_SUCCESS ++ * ++ * If var is NULL, then the config item's initial value will be returned. ++ */ ++ int (*string_get)(const struct ConfigSet *cs, void *var, const struct ConfigDef *cdef, struct Buffer *result); ++ ++ /** ++ * native_set - Set a config item by string ++ * @param cs Config items ++ * @param var Variable to set ++ * @param cdef Variable definition ++ * @param value Native pointer/value to set ++ * @param err Buffer for error messages ++ * @retval num Result, e.g. #CSR_SUCCESS ++ */ ++ int (*native_set)(const struct ConfigSet *cs, void *var, const struct ConfigDef *cdef, intptr_t value, struct Buffer *err); ++ ++ /** ++ * native_get - Get a string from a config item ++ * @param cs Config items ++ * @param var Variable to get ++ * @param cdef Variable definition ++ * @param err Buffer for error messages ++ * @retval intptr_t Config item string ++ * @retval INT_MIN Error ++ */ ++ intptr_t (*native_get)(const struct ConfigSet *cs, void *var, const struct ConfigDef *cdef, struct Buffer *err); ++ ++ /** ++ * reset - Reset a config item to its initial value ++ * @param cs Config items ++ * @param var Variable to reset ++ * @param cdef Variable definition ++ * @param err Buffer for error messages ++ * @retval num Result, e.g. #CSR_SUCCESS ++ */ ++ int (*reset)(const struct ConfigSet *cs, void *var, const struct ConfigDef *cdef, struct Buffer *err); ++ ++ /** ++ * destroy - Destroy a config item ++ * @param cs Config items ++ * @param var Variable to destroy ++ * @param cdef Variable definition ++ */ ++ void (*destroy)(const struct ConfigSet *cs, void *var, const struct ConfigDef *cdef); + }; + + /** +@@ -188,35 +167,20 @@ struct ConfigSet + { + struct Hash *hash; ///< HashTable storing the config items + struct ConfigSetType types[18]; ///< All the defined config types +- struct Notify *notify; ///< Notifications system +-}; +- +-/** +- * struct EventConfig - A config-change event +- * +- * Events such as #NT_CONFIG_SET +- */ +-struct EventConfig +-{ +- const struct ConfigSet *cs; ///< Config set +- struct HashElem *he; ///< Config item that changed +- const char *name; ///< Name of config item that changed + }; + + struct ConfigSet *cs_new(size_t size); +-void cs_init(struct ConfigSet *cs, size_t size); + void cs_free(struct ConfigSet **ptr); + +-struct HashElem * cs_get_elem(const struct ConfigSet *cs, const char *name); ++struct HashElem * cs_get_base (struct HashElem *he); ++struct HashElem * cs_get_elem (const struct ConfigSet *cs, const char *name); + const struct ConfigSetType *cs_get_type_def(const struct ConfigSet *cs, unsigned int type); + +-bool cs_register_type(struct ConfigSet *cs, unsigned int type, const struct ConfigSetType *cst); ++bool cs_register_type (struct ConfigSet *cs, unsigned int type, const struct ConfigSetType *cst); + bool cs_register_variables(const struct ConfigSet *cs, struct ConfigDef vars[], int flags); +-struct HashElem *cs_inherit_variable(const struct ConfigSet *cs, struct HashElem *parent, const char *name); ++struct HashElem *cs_inherit_variable (const struct ConfigSet *cs, struct HashElem *parent, const char *name); + void cs_uninherit_variable(const struct ConfigSet *cs, const char *name); + +-void cs_notify_observers(const struct ConfigSet *cs, struct HashElem *he, const char *name, enum NotifyConfig ev); +- + int cs_he_initial_get (const struct ConfigSet *cs, struct HashElem *he, struct Buffer *result); + int cs_he_initial_set (const struct ConfigSet *cs, struct HashElem *he, const char *value, struct Buffer *err); + intptr_t cs_he_native_get (const struct ConfigSet *cs, struct HashElem *he, struct Buffer *err); +diff --git a/config/slist.c b/config/slist.c +index 83c8f4a55..89c1616f5 100644 +--- a/config/slist.c ++++ b/config/slist.c +@@ -30,7 +30,7 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "slist.h" + #include "set.h" + #include "types.h" +diff --git a/config/sort.c b/config/sort.c +index b1ed0bf2d..91c267aa6 100644 +--- a/config/sort.c ++++ b/config/sort.c +@@ -30,7 +30,7 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "set.h" + #include "sort2.h" + #include "types.h" +@@ -129,7 +129,7 @@ const struct Mapping SortSidebarMethods[] = { + // clang-format on + + /** +- * sort_string_set - Set a Sort by string - Implements ::cst_string_set() ++ * sort_string_set - Set a Sort by string - Implements ConfigSetType::string_set() + */ + static int sort_string_set(const struct ConfigSet *cs, void *var, struct ConfigDef *cdef, + const char *value, struct Buffer *err) +@@ -142,7 +142,7 @@ static int sort_string_set(const struct ConfigSet *cs, void *var, struct ConfigD + + if (!value || !value[0]) + { +- mutt_buffer_printf(err, "Option %s may not be empty", cdef->name); ++ mutt_buffer_printf(err, _("Option %s may not be empty"), cdef->name); + return CSR_ERR_INVALID | CSR_INV_TYPE; + } + +@@ -189,7 +189,7 @@ static int sort_string_set(const struct ConfigSet *cs, void *var, struct ConfigD + + if (id < 0) + { +- mutt_buffer_printf(err, "Invalid sort name: %s", value); ++ mutt_buffer_printf(err, _("Invalid sort name: %s"), value); + return CSR_ERR_INVALID | CSR_INV_TYPE; + } + +@@ -219,7 +219,7 @@ static int sort_string_set(const struct ConfigSet *cs, void *var, struct ConfigD + } + + /** +- * sort_string_get - Get a Sort as a string - Implements ::cst_string_get() ++ * sort_string_get - Get a Sort as a string - Implements ConfigSetType::string_get() + */ + static int sort_string_get(const struct ConfigSet *cs, void *var, + const struct ConfigDef *cdef, struct Buffer *result) +@@ -281,7 +281,7 @@ static int sort_string_get(const struct ConfigSet *cs, void *var, + } + + /** +- * sort_native_set - Set a Sort config item by int - Implements ::cst_native_set() ++ * sort_native_set - Set a Sort config item by int - Implements ConfigSetType::native_set() + */ + static int sort_native_set(const struct ConfigSet *cs, void *var, + const struct ConfigDef *cdef, intptr_t value, struct Buffer *err) +@@ -319,7 +319,7 @@ static int sort_native_set(const struct ConfigSet *cs, void *var, + + if (!str) + { +- mutt_buffer_printf(err, "Invalid sort type: %ld", value); ++ mutt_buffer_printf(err, _("Invalid sort type: %ld"), value); + return CSR_ERR_INVALID | CSR_INV_TYPE; + } + +@@ -339,7 +339,7 @@ static int sort_native_set(const struct ConfigSet *cs, void *var, + } + + /** +- * sort_native_get - Get an int from a Sort config item - Implements ::cst_native_get() ++ * sort_native_get - Get an int from a Sort config item - Implements ConfigSetType::native_get() + */ + static intptr_t sort_native_get(const struct ConfigSet *cs, void *var, + const struct ConfigDef *cdef, struct Buffer *err) +@@ -351,7 +351,7 @@ static intptr_t sort_native_get(const struct ConfigSet *cs, void *var, + } + + /** +- * sort_reset - Reset a Sort to its initial value - Implements ::cst_reset() ++ * sort_reset - Reset a Sort to its initial value - Implements ConfigSetType::reset() + */ + static int sort_reset(const struct ConfigSet *cs, void *var, + const struct ConfigDef *cdef, struct Buffer *err) +diff --git a/config/sort2.h b/config/sort2.h +index 3f557752f..a483995a2 100644 +--- a/config/sort2.h ++++ b/config/sort2.h +@@ -23,7 +23,7 @@ + #ifndef MUTT_CONFIG_SORT_H + #define MUTT_CONFIG_SORT_H + +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + struct ConfigSet; + +diff --git a/config/string.c b/config/string.c +index 00e2ac85c..5cf64eae4 100644 +--- a/config/string.c ++++ b/config/string.c +@@ -30,13 +30,13 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "set.h" + #include "string3.h" // IWYU pragma: keep + #include "types.h" + + /** +- * string_destroy - Destroy a String - Implements ::cst_destroy() ++ * string_destroy - Destroy a String - Implements ConfigSetType::destroy() + */ + static void string_destroy(const struct ConfigSet *cs, void *var, const struct ConfigDef *cdef) + { +@@ -58,7 +58,7 @@ static void string_destroy(const struct ConfigSet *cs, void *var, const struct C + } + + /** +- * string_string_set - Set a String by string - Implements ::cst_string_set() ++ * string_string_set - Set a String by string - Implements ConfigSetType::string_set() + */ + static int string_string_set(const struct ConfigSet *cs, void *var, struct ConfigDef *cdef, + const char *value, struct Buffer *err) +@@ -72,7 +72,7 @@ static int string_string_set(const struct ConfigSet *cs, void *var, struct Confi + + if (!value && (cdef->type & DT_NOT_EMPTY)) + { +- mutt_buffer_printf(err, "Option %s may not be empty", cdef->name); ++ mutt_buffer_printf(err, _("Option %s may not be empty"), cdef->name); + return CSR_ERR_INVALID | CSR_INV_VALIDATOR; + } + +@@ -116,7 +116,7 @@ static int string_string_set(const struct ConfigSet *cs, void *var, struct Confi + } + + /** +- * string_string_get - Get a String as a string - Implements ::cst_string_get() ++ * string_string_get - Get a String as a string - Implements ConfigSetType::string_get() + */ + static int string_string_get(const struct ConfigSet *cs, void *var, + const struct ConfigDef *cdef, struct Buffer *result) +@@ -139,7 +139,7 @@ static int string_string_get(const struct ConfigSet *cs, void *var, + } + + /** +- * string_native_set - Set a String config item by string - Implements ::cst_native_set() ++ * string_native_set - Set a String config item by string - Implements ConfigSetType::native_set() + */ + static int string_native_set(const struct ConfigSet *cs, void *var, + const struct ConfigDef *cdef, intptr_t value, +@@ -156,7 +156,7 @@ static int string_native_set(const struct ConfigSet *cs, void *var, + + if ((value == 0) && (cdef->type & DT_NOT_EMPTY)) + { +- mutt_buffer_printf(err, "Option %s may not be empty", cdef->name); ++ mutt_buffer_printf(err, _("Option %s may not be empty"), cdef->name); + return CSR_ERR_INVALID | CSR_INV_VALIDATOR; + } + +@@ -185,7 +185,7 @@ static int string_native_set(const struct ConfigSet *cs, void *var, + } + + /** +- * string_native_get - Get a string from a String config item - Implements ::cst_native_get() ++ * string_native_get - Get a string from a String config item - Implements ConfigSetType::native_get() + */ + static intptr_t string_native_get(const struct ConfigSet *cs, void *var, + const struct ConfigDef *cdef, struct Buffer *err) +@@ -199,7 +199,7 @@ static intptr_t string_native_get(const struct ConfigSet *cs, void *var, + } + + /** +- * string_reset - Reset a String to its initial value - Implements ::cst_reset() ++ * string_reset - Reset a String to its initial value - Implements ConfigSetType::reset() + */ + static int string_reset(const struct ConfigSet *cs, void *var, + const struct ConfigDef *cdef, struct Buffer *err) +diff --git a/config/subset.c b/config/subset.c +index 716e51cd8..76335329a 100644 +--- a/config/subset.c ++++ b/config/subset.c +@@ -30,11 +30,60 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include ++#include "mutt/lib.h" + #include "subset.h" +-#include "dump.h" + #include "set.h" + ++struct Notify; ++ ++/** ++ * elem_list_sort - Sort two HashElem pointers to config ++ * @param a First HashElem ++ * @param b Second HashElem ++ * @retval -1 a precedes b ++ * @retval 0 a and b are identical ++ * @retval 1 b precedes a ++ */ ++int elem_list_sort(const void *a, const void *b) ++{ ++ if (!a || !b) ++ return 0; ++ ++ const struct HashElem *hea = *(struct HashElem const *const *) a; ++ const struct HashElem *heb = *(struct HashElem const *const *) b; ++ ++ return mutt_str_strcasecmp(hea->key.strkey, heb->key.strkey); ++} ++ ++/** ++ * get_elem_list - Create a sorted list of all config items ++ * @param cs ConfigSet to read ++ * @retval ptr Null-terminated array of HashElem ++ */ ++struct HashElem **get_elem_list(struct ConfigSet *cs) ++{ ++ if (!cs) ++ return NULL; ++ ++ struct HashElem **list = mutt_mem_calloc(1024, sizeof(struct HashElem *)); ++ size_t index = 0; ++ ++ struct HashWalkState walk = { 0 }; ++ struct HashElem *he = NULL; ++ ++ while ((he = mutt_hash_walk(cs->hash, &walk))) ++ { ++ list[index++] = he; ++ if (index == 1022) ++ break; /* LCOV_EXCL_LINE */ ++ } ++ ++ qsort(list, index, sizeof(struct HashElem *), elem_list_sort); ++ ++ return list; ++} ++ + /** + * cs_subset_free - Free a Config Subset + * @param ptr Subset to free +@@ -48,13 +97,10 @@ void cs_subset_free(struct ConfigSubset **ptr) + + struct ConfigSubset *sub = *ptr; + +- if (sub->name) ++ if (sub->cs && sub->name) + { + char scope[256]; +- if (sub->parent && sub->parent->name) +- snprintf(scope, sizeof(scope), "%s:%s:", sub->parent->name, sub->name); +- else +- snprintf(scope, sizeof(scope), "%s:", sub->name); ++ snprintf(scope, sizeof(scope), "%s:", sub->name); + + // We don't know if any config items have been set, + // so search for anything with a matching scope. +@@ -70,6 +116,7 @@ void cs_subset_free(struct ConfigSubset **ptr) + FREE(&list); + } + ++ notify_free(&sub->notify); + FREE(&sub->name); + FREE(ptr); + } +@@ -77,33 +124,38 @@ void cs_subset_free(struct ConfigSubset **ptr) + /** + * cs_subset_new - Create a new Config Subset + * @param name Name for this Subset +- * @param parent Parent Subset ++ * @param sub_parent Parent Subset ++ * @param not_parent Parent Notification + * @retval ptr New Subset + * +- * @note The name will be combined with the parent's names ++ * @note The name will be combined with the parents' names + */ +-struct ConfigSubset *cs_subset_new(const char *name, struct ConfigSubset *parent) ++struct ConfigSubset *cs_subset_new(const char *name, struct ConfigSubset *sub_parent, ++ struct Notify *not_parent) + { + struct ConfigSubset *sub = mutt_mem_calloc(1, sizeof(*sub)); + +- if (parent) ++ if (sub_parent) + { +- sub->parent = parent; +- sub->cs = parent->cs; ++ sub->parent = sub_parent; ++ sub->cs = sub_parent->cs; + } + + if (name) + { + char scope[256]; + +- if (parent && parent->name) +- snprintf(scope, sizeof(scope), "%s:%s", parent->name, name); ++ if (sub_parent && sub_parent->name) ++ snprintf(scope, sizeof(scope), "%s:%s", sub_parent->name, name); + else + mutt_str_strfcpy(scope, name, sizeof(scope)); + + sub->name = mutt_str_strdup(scope); + } + ++ sub->notify = notify_new(); ++ notify_set_parent(sub->notify, not_parent); ++ + return sub; + } + +@@ -128,112 +180,222 @@ struct HashElem *cs_subset_lookup(const struct ConfigSubset *sub, const char *na + } + + /** +- * cs_subset_native_get - Natively get the value of an inherited config item ++ * cs_subset_create_inheritance - Create a Subset config item (inherited) ++ * @param sub Config Subset ++ * @param name Name of config item ++ * @retval ptr HashElem of the config item ++ * @retval NULL Error ++ */ ++struct HashElem *cs_subset_create_inheritance(const struct ConfigSubset *sub, const char *name) ++{ ++ if (!sub) ++ return NULL; ++ ++ struct HashElem *he = cs_subset_lookup(sub, name); ++ if (he) ++ return he; ++ ++ if (sub->parent) ++ { ++ // Create parent before creating name ++ he = cs_subset_create_inheritance(sub->parent, name); ++ } ++ ++ if (!he) ++ return NULL; ++ ++ char scope[256]; ++ snprintf(scope, sizeof(scope), "%s:%s", sub->name, name); ++ return cs_inherit_variable(sub->cs, he, scope); ++} ++ ++/** ++ * cs_subset_notify_observers - Notify all observers of an event ++ * @param sub Config Subset ++ * @param he HashElem representing config item ++ * @param ev Type of event ++ */ ++void cs_subset_notify_observers(const struct ConfigSubset *sub, ++ struct HashElem *he, enum NotifyConfig ev) ++{ ++ if (!sub || !he) ++ return; ++ ++ struct HashElem *he_base = cs_get_base(he); ++ struct EventConfig ec = { sub, he_base->key.strkey, he }; ++ notify_send(sub->notify, NT_CONFIG, ev, &ec); ++} ++ ++/** ++ * cs_subset_he_native_get - Natively get the value of a HashElem config item + * @param sub Config Subset + * @param he HashElem representing config item + * @param err Buffer for error messages + * @retval intptr_t Native pointer/value + * @retval INT_MIN Error + */ +-intptr_t cs_subset_native_get(const struct ConfigSubset *sub, +- struct HashElem *he, struct Buffer *err) ++intptr_t cs_subset_he_native_get(const struct ConfigSubset *sub, ++ struct HashElem *he, struct Buffer *err) + { +- if (!sub || !he) ++ if (!sub) + return INT_MIN; + + return cs_he_native_get(sub->cs, he, err); + } + + /** +- * cs_subset_native_set - Natively set the value of an inherited config item ++ * cs_subset_str_native_get - Natively get the value of a string config item ++ * @param sub Config Subset ++ * @param name Name of config item ++ * @param err Buffer for error messages ++ * @retval intptr_t Native pointer/value ++ * @retval INT_MIN Error ++ */ ++intptr_t cs_subset_str_native_get(const struct ConfigSubset *sub, ++ const char *name, struct Buffer *err) ++{ ++ struct HashElem *he = cs_subset_create_inheritance(sub, name); ++ ++ return cs_subset_he_native_get(sub, he, err); ++} ++ ++/** ++ * cs_subset_he_native_set - Natively set the value of a HashElem config item + * @param sub Config Subset + * @param he HashElem representing config item + * @param value Native pointer/value to set + * @param err Buffer for error messages + * @retval num Result, e.g. #CSR_SUCCESS + */ +-int cs_subset_native_set(const struct ConfigSubset *sub, struct HashElem *he, +- intptr_t value, struct Buffer *err) ++int cs_subset_he_native_set(const struct ConfigSubset *sub, struct HashElem *he, ++ intptr_t value, struct Buffer *err) + { +- if (!sub || !he) ++ if (!sub) + return CSR_ERR_CODE; + +- return cs_he_native_set(sub->cs, he, value, err); ++ int rc = cs_he_native_set(sub->cs, he, value, err); ++ ++ if ((CSR_RESULT(rc) == CSR_SUCCESS) && !(rc & CSR_SUC_NO_CHANGE)) ++ cs_subset_notify_observers(sub, he, NT_CONFIG_SET); ++ ++ return rc; ++} ++ ++/** ++ * cs_subset_str_native_set - Natively set the value of a string config item ++ * @param sub Config Subset ++ * @param name Name of config item ++ * @param value Native pointer/value to set ++ * @param err Buffer for error messages ++ * @retval num Result, e.g. #CSR_SUCCESS ++ */ ++int cs_subset_str_native_set(const struct ConfigSubset *sub, const char *name, ++ intptr_t value, struct Buffer *err) ++{ ++ struct HashElem *he = cs_subset_create_inheritance(sub, name); ++ ++ return cs_subset_he_native_set(sub, he, value, err); + } + + /** +- * cs_subset_reset - Reset an inherited config item to its parent value ++ * cs_subset_he_reset - Reset a config item to its initial value + * @param sub Config Subset + * @param he HashElem representing config item + * @param err Buffer for error messages + * @retval num Result, e.g. #CSR_SUCCESS + */ +-int cs_subset_reset(const struct ConfigSubset *sub, struct HashElem *he, struct Buffer *err) ++int cs_subset_he_reset(const struct ConfigSubset *sub, struct HashElem *he, struct Buffer *err) + { +- if (!sub || !he) ++ if (!sub) + return CSR_ERR_CODE; + +- return cs_he_reset(sub->cs, he, err); ++ int rc = cs_he_reset(sub->cs, he, err); ++ ++ if ((CSR_RESULT(rc) == CSR_SUCCESS) && !(rc & CSR_SUC_NO_CHANGE)) ++ cs_subset_notify_observers(sub, he, NT_CONFIG_RESET); ++ ++ return rc; ++} ++ ++/** ++ * cs_subset_str_reset - Reset a config item to its initial value ++ * @param sub Config Subset ++ * @param name Name of config item ++ * @param err Buffer for error messages ++ * @retval num Result, e.g. #CSR_SUCCESS ++ */ ++int cs_subset_str_reset(const struct ConfigSubset *sub, const char *name, struct Buffer *err) ++{ ++ struct HashElem *he = cs_subset_create_inheritance(sub, name); ++ ++ return cs_subset_he_reset(sub, he, err); + } + + /** +- * cs_subset_string_get - Get an inherited config item as a string ++ * cs_subset_he_string_get - Get a config item as a string + * @param sub Config Subset + * @param he HashElem representing config item + * @param result Buffer for results or error messages + * @retval num Result, e.g. #CSR_SUCCESS + */ +-int cs_subset_string_get(const struct ConfigSubset *sub, struct HashElem *he, +- struct Buffer *result) ++int cs_subset_he_string_get(const struct ConfigSubset *sub, struct HashElem *he, ++ struct Buffer *result) + { +- if (!sub || !he) ++ if (!sub) + return CSR_ERR_CODE; + + return cs_he_string_get(sub->cs, he, result); + } + + /** +- * cs_subset_string_set - Set an inherited config item by string ++ * cs_subset_str_string_get - Get a config item as a string ++ * @param sub Config Subset ++ * @param name Name of config item ++ * @param result Buffer for results or error messages ++ * @retval num Result, e.g. #CSR_SUCCESS ++ */ ++int cs_subset_str_string_get(const struct ConfigSubset *sub, const char *name, ++ struct Buffer *result) ++{ ++ struct HashElem *he = cs_subset_create_inheritance(sub, name); ++ ++ return cs_subset_he_string_get(sub, he, result); ++} ++ ++/** ++ * cs_subset_he_string_set - Set a config item by string + * @param sub Config Subset + * @param he HashElem representing config item + * @param value Value to set + * @param err Buffer for error messages + * @retval num Result, e.g. #CSR_SUCCESS + */ +-int cs_subset_string_set(const struct ConfigSubset *sub, struct HashElem *he, +- const char *value, struct Buffer *err) ++int cs_subset_he_string_set(const struct ConfigSubset *sub, struct HashElem *he, ++ const char *value, struct Buffer *err) + { +- if (!sub || !he) +- return INT_MIN; ++ if (!sub) ++ return CSR_ERR_CODE; ++ ++ int rc = cs_he_string_set(sub->cs, he, value, err); + +- return cs_he_string_set(sub->cs, he, value, err); ++ if ((CSR_RESULT(rc) == CSR_SUCCESS) && !(rc & CSR_SUC_NO_CHANGE)) ++ cs_subset_notify_observers(sub, he, NT_CONFIG_SET); ++ ++ return rc; + } + + /** +- * cs_subset_create_var - Create an inherited config item +- * @param sub Config Subset +- * @param name Name of Config item to create +- * @param err Buffer for error messages +- * @retval ptr HashElem of the config item ++ * cs_subset_str_string_set - Set a config item by string ++ * @param sub Config Subset ++ * @param name Name of config item ++ * @param value Value to set ++ * @param err Buffer for error messages ++ * @retval num Result, e.g. #CSR_SUCCESS + */ +-struct HashElem *cs_subset_create_var(const struct ConfigSubset *sub, +- const char *name, struct Buffer *err) ++int cs_subset_str_string_set(const struct ConfigSubset *sub, const char *name, ++ const char *value, struct Buffer *err) + { +- if (!sub || !name) +- return NULL; +- +- // Check if name already exists +- struct HashElem *he = cs_subset_lookup(sub, name); +- if (he) +- return he; ++ struct HashElem *he = cs_subset_create_inheritance(sub, name); + +- // Create parent before creating name +- he = cs_subset_create_var(sub->parent, name, err); +- if (!he) +- return NULL; +- +- char scope[256]; +- snprintf(scope, sizeof(scope), "%s:%s", sub->name, name); +- +- return cs_inherit_variable(sub->cs, he, scope); ++ return cs_subset_he_string_set(sub, he, value, err); + } +diff --git a/config/subset.h b/config/subset.h +index b7f728ee8..7c26e01d5 100644 +--- a/config/subset.h ++++ b/config/subset.h +@@ -26,27 +26,74 @@ + #include + + struct Buffer; ++struct ConfigSet; + struct HashElem; ++struct Notify; ++ ++/** ++ * enum ConfigScope - Who does this Config belong to? ++ */ ++enum ConfigScope ++{ ++ SET_SCOPE_NEOMUTT, ///< This Config is NeoMutt-specific (global) ++ SET_SCOPE_ACCOUNT, ///< This Config is Account-specific ++ SET_SCOPE_MAILBOX, ///< This Config is Mailbox-specific ++}; + + /** + * struct ConfigSubset - A set of inherited config items + */ + struct ConfigSubset + { +- char *name; ///< Scope name of Subset ++ const char *name; ///< Scope name of Subset ++ enum ConfigScope scope; ///< Scope of Subset, e.g. #SET_SCOPE_ACCOUNT + struct ConfigSubset *parent; ///< Parent Subset + struct ConfigSet *cs; ///< Parent ConfigSet ++ struct Notify *notify; ///< Notifications system ++}; ++ ++/** ++ * enum NotifyConfig - Config notification types ++ */ ++enum NotifyConfig ++{ ++ NT_CONFIG_SET = 1, ///< Config item has been set ++ NT_CONFIG_RESET, ///< Config item has been reset to initial, or parent, value ++ NT_CONFIG_INITIAL_SET, ///< Config item's initial value has been set + }; + +-struct ConfigSubset *cs_subset_new (const char *name, struct ConfigSubset *parent); +-void cs_subset_free (struct ConfigSubset **ptr); +-struct HashElem * cs_subset_lookup (const struct ConfigSubset *sub, const char *name); +-struct HashElem * cs_subset_create_var(const struct ConfigSubset *sub, const char *name, struct Buffer *err); ++/** ++ * struct EventConfig - A config-change event ++ * ++ * Events such as #NT_CONFIG_SET ++ */ ++struct EventConfig ++{ ++ const struct ConfigSubset *sub; ///< Config Subset ++ const char *name; ///< Name of config item that changed ++ struct HashElem *he; ///< Config item that changed ++}; ++ ++struct ConfigSubset *cs_subset_new (const char *name, struct ConfigSubset *sub_parent, struct Notify *not_parent); ++void cs_subset_free(struct ConfigSubset **ptr); ++ ++struct HashElem *cs_subset_create_inheritance(const struct ConfigSubset *sub, const char *name); ++struct HashElem *cs_subset_lookup (const struct ConfigSubset *sub, const char *name); ++void cs_subset_notify_observers (const struct ConfigSubset *sub, struct HashElem *he, enum NotifyConfig ev); ++ ++intptr_t cs_subset_he_native_get(const struct ConfigSubset *sub, struct HashElem *he, struct Buffer *err); ++int cs_subset_he_native_set(const struct ConfigSubset *sub, struct HashElem *he, intptr_t value, struct Buffer *err); ++int cs_subset_he_reset (const struct ConfigSubset *sub, struct HashElem *he, struct Buffer *err); ++int cs_subset_he_string_get(const struct ConfigSubset *sub, struct HashElem *he, struct Buffer *result); ++int cs_subset_he_string_set(const struct ConfigSubset *sub, struct HashElem *he, const char *value, struct Buffer *err); ++ ++intptr_t cs_subset_str_native_get(const struct ConfigSubset *sub, const char *name, struct Buffer *err); ++int cs_subset_str_native_set(const struct ConfigSubset *sub, const char *name, intptr_t value, struct Buffer *err); ++int cs_subset_str_reset (const struct ConfigSubset *sub, const char *name, struct Buffer *err); ++int cs_subset_str_string_get(const struct ConfigSubset *sub, const char *name, struct Buffer *result); ++int cs_subset_str_string_set(const struct ConfigSubset *sub, const char *name, const char *value, struct Buffer *err); + +-intptr_t cs_subset_native_get(const struct ConfigSubset *sub, struct HashElem *he, struct Buffer *err); +-int cs_subset_native_set(const struct ConfigSubset *sub, struct HashElem *he, intptr_t value, struct Buffer *err); +-int cs_subset_reset (const struct ConfigSubset *sub, struct HashElem *he, struct Buffer *err); +-int cs_subset_string_get(const struct ConfigSubset *sub, struct HashElem *he, struct Buffer *result); +-int cs_subset_string_set(const struct ConfigSubset *sub, struct HashElem *he, const char *value, struct Buffer *err); ++int elem_list_sort(const void *a, const void *b); ++struct HashElem **get_elem_list(struct ConfigSet *cs); + + #endif /* MUTT_CONFIG_SUBSET_H */ +diff --git a/config/types.h b/config/types.h +index 71ff5136e..95085c3ac 100644 +--- a/config/types.h ++++ b/config/types.h +@@ -28,17 +28,18 @@ + /* Data Types */ + #define DT_ADDRESS 1 ///< e-mail address + #define DT_BOOL 2 ///< boolean option +-#define DT_ENUM 4 ///< an enumeration +-#define DT_HCACHE 5 ///< header cache backend +-#define DT_LONG 6 ///< a number (long) +-#define DT_MBTABLE 8 ///< multibyte char table +-#define DT_NUMBER 9 ///< a number +-#define DT_QUAD 11 ///< quad-option (no/yes/ask-no/ask-yes) +-#define DT_REGEX 12 ///< regular expressions +-#define DT_SLIST 13 ///< a list of strings +-#define DT_SORT 14 ///< sorting methods +-#define DT_STRING 15 ///< a string +-#define DT_SYNONYM 16 ///< synonym for another variable ++#define DT_ENUM 3 ///< an enumeration ++#define DT_HCACHE 4 ///< header cache backend ++#define DT_LONG 5 ///< a number (long) ++#define DT_MBTABLE 6 ///< multibyte char table ++#define DT_NUMBER 7 ///< a number ++#define DT_PATH 8 ///< a path to a file/directory ++#define DT_QUAD 9 ///< quad-option (no/yes/ask-no/ask-yes) ++#define DT_REGEX 10 ///< regular expressions ++#define DT_SLIST 11 ///< a list of strings ++#define DT_SORT 12 ///< sorting methods ++#define DT_STRING 13 ///< a string ++#define DT_SYNONYM 14 ///< synonym for another variable + + #define DTYPE(x) ((x) & 0x1F) ///< Mask for the Data Type + +@@ -46,13 +47,14 @@ + #define DT_NOT_NEGATIVE (1 << 7) ///< Negative numbers are not allowed + #define DT_MAILBOX (1 << 8) ///< Don't perform path expansions + #define DT_SENSITIVE (1 << 9) ///< Contains sensitive value, e.g. password +-#define DT_PATH (1 << 10) ///< A pathname +-#define DT_COMMAND (1 << 11) ///< A command +-#define DT_INHERIT_ACC (1 << 12) ///< Config item can be Account-specific +-#define DT_INHERIT_MBOX (1 << 13) ///< Config item can be Mailbox-specific ++#define DT_COMMAND (1 << 10) ///< A command ++#define DT_INHERIT_ACC (1 << 11) ///< Config item can be Account-specific ++#define DT_INHERIT_MBOX (1 << 12) ///< Config item can be Mailbox-specific ++#define DT_PATH_DIR (1 << 13) ///< Path is a directory ++#define DT_PATH_FILE (1 << 14) ///< Path is a file + + #define IS_SENSITIVE(x) (((x).type & DT_SENSITIVE) == DT_SENSITIVE) +-#define IS_PATH(x) (((x)->type & (DT_STRING | DT_PATH)) == (DT_STRING | DT_PATH)) ++#define IS_MAILBOX(x) (((x)->type & (DT_STRING | DT_MAILBOX)) == (DT_STRING | DT_MAILBOX)) + #define IS_COMMAND(x) (((x)->type & (DT_STRING | DT_COMMAND)) == (DT_STRING | DT_COMMAND)) + + /* subtypes for... */ +diff --git a/conn/conn_globals.c b/conn/conn_globals.c +index d8d92089c..8da3f7108 100644 +--- a/conn/conn_globals.c ++++ b/conn/conn_globals.c +@@ -32,30 +32,30 @@ + #include + #endif + +-short C_ConnectTimeout = 0; ///< Config: Timeout for making network connections (-1 to wait indefinitely) ++// clang-format off ++short C_ConnectTimeout = 0; ///< Config: Timeout for making network connections (-1 to wait indefinitely) + + #ifdef USE_SSL +-const char *C_CertificateFile = NULL; ///< Config: File containing trusted certificates +-const char *C_EntropyFile = NULL; ///< Config: (ssl) File/device containing random data to initialise SSL +-const char *C_SslCiphers = NULL; ///< Config: Ciphers to use when using SSL +-const char *C_SslClientCert = NULL; ///< Config: File containing client certificates ++const char *C_CertificateFile = NULL; ///< Config: File containing trusted certificates ++const char *C_EntropyFile = NULL; ///< Config: (ssl) File/device containing random data to initialise SSL ++const char *C_SslCiphers = NULL; ///< Config: Ciphers to use when using SSL ++const char *C_SslClientCert = NULL; ///< Config: File containing client certificates ++bool C_SslUseSslv3; ///< Config: (ssl) INSECURE: Use SSLv3 for authentication ++bool C_SslUseTlsv1; ///< Config: (ssl) Use TLSv1 for authentication ++bool C_SslUseTlsv11; ///< Config: (ssl) Use TLSv1.1 for authentication ++bool C_SslUseTlsv12; ///< Config: (ssl) Use TLSv1.2 for authentication ++bool C_SslUseTlsv13; ///< Config: (ssl) Use TLSv1.3 for authentication ++bool C_SslVerifyDates; ///< Config: (ssl) Verify the dates on the server certificate ++bool C_SslVerifyHost; ///< Config: (ssl) Verify the server's hostname against the certificate ++#endif ++ + #ifdef USE_SSL_GNUTLS + const char *C_SslCaCertificatesFile = NULL; ///< Config: File containing trusted CA certificates +-short C_SslMinDhPrimeBits = 0; ///< Config: Minimum keysize for Diffie-Hellman key exchange +-#endif ++short C_SslMinDhPrimeBits = 0; ///< Config: Minimum keysize for Diffie-Hellman key exchange + #endif + + #ifdef USE_SOCKET +-const char *C_Preconnect = NULL; ///< Config: (socket) External command to run prior to opening a socket +-const char *C_Tunnel = NULL; ///< Config: Shell command to establish a tunnel +-#endif +- +-#ifdef USE_SSL +-bool C_SslUseSslv3; ///< Config: (ssl) INSECURE: Use SSLv3 for authentication +-bool C_SslUseTlsv1; ///< Config: (ssl) Use TLSv1 for authentication +-bool C_SslUseTlsv11; ///< Config: (ssl) Use TLSv1.1 for authentication +-bool C_SslUseTlsv12; ///< Config: (ssl) Use TLSv1.2 for authentication +-bool C_SslUseTlsv13; ///< Config: (ssl) Use TLSv1.3 for authentication +-bool C_SslVerifyDates; ///< Config: (ssl) Verify the dates on the server certificate +-bool C_SslVerifyHost; ///< Config: (ssl) Verify the server's hostname against the certificate ++const char *C_Preconnect = NULL; ///< Config: (socket) External command to run prior to opening a socket ++const char *C_Tunnel = NULL; ///< Config: Shell command to establish a tunnel + #endif ++// clang-format on +diff --git a/conn/conn_globals.h b/conn/conn_globals.h +index 95a890a28..9fd7d8db0 100644 +--- a/conn/conn_globals.h ++++ b/conn/conn_globals.h +@@ -26,17 +26,25 @@ + #include + + /* These variables are backing for config items */ +-extern short C_ConnectTimeout; ++extern short C_ConnectTimeout; + + #ifdef USE_SSL + extern const char *C_CertificateFile; + extern const char *C_EntropyFile; + extern const char *C_SslCiphers; + extern const char *C_SslClientCert; ++extern bool C_SslUseSslv3; ++extern bool C_SslUseTlsv11; ++extern bool C_SslUseTlsv12; ++extern bool C_SslUseTlsv13; ++extern bool C_SslUseTlsv1; ++extern bool C_SslVerifyDates; ++extern bool C_SslVerifyHost; ++#endif ++ + #ifdef USE_SSL_GNUTLS + extern const char *C_SslCaCertificatesFile; +-extern short C_SslMinDhPrimeBits; +-#endif ++extern short C_SslMinDhPrimeBits; + #endif + + #ifdef USE_SOCKET +@@ -44,19 +52,8 @@ extern const char *C_Preconnect; + extern const char *C_Tunnel; + #endif + +-/* These Config Variables are only used in conn/conn_raw.c */ + #ifdef HAVE_GETADDRINFO +-extern bool C_UseIpv6; +-#endif +- +-#ifdef USE_SSL +-extern bool C_SslUseSslv3; +-extern bool C_SslUseTlsv1; +-extern bool C_SslUseTlsv11; +-extern bool C_SslUseTlsv12; +-extern bool C_SslUseTlsv13; +-extern bool C_SslVerifyDates; +-extern bool C_SslVerifyHost; ++extern bool C_UseIpv6; + #endif + + #endif /* MUTT_CONN_CONN_GLOBALS_H */ +diff --git a/conn/conn_private.h b/conn/conn_private.h +new file mode 100644 +index 000000000..dd0d2d1bb +--- /dev/null ++++ b/conn/conn_private.h +@@ -0,0 +1,39 @@ ++/** ++ * @file ++ * Shared functions that are private to Connections ++ * ++ * @authors ++ * Copyright (C) 2020 Richard Russon ++ * ++ * @copyright ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 2 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ ++#ifndef MUTT_CONN_CONN_PRIVATE_H ++#define MUTT_CONN_CONN_PRIVATE_H ++ ++#include ++#include ++ ++struct Connection; ++ ++int raw_socket_close(struct Connection *conn); ++int raw_socket_open (struct Connection *conn); ++int raw_socket_poll (struct Connection *conn, time_t wait_secs); ++int raw_socket_read (struct Connection *conn, char *buf, size_t len); ++int raw_socket_write(struct Connection *conn, const char *buf, size_t count); ++ ++void mutt_tunnel_socket_setup(struct Connection *conn); ++ ++#endif /* MUTT_CONN_CONN_PRIVATE_H */ +diff --git a/conn/connaccount.c b/conn/connaccount.c +new file mode 100644 +index 000000000..6d05ed6d3 +--- /dev/null ++++ b/conn/connaccount.c +@@ -0,0 +1,216 @@ ++/** ++ * @file ++ * Connection Credentials ++ * ++ * @authors ++ * Copyright (C) 2020 Richard Russon ++ * ++ * @copyright ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 2 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ ++/** ++ * @page conn_account Connection Credentials ++ * ++ * Connection Credentials ++ */ ++ ++#include "config.h" ++#include ++#include ++#include ++#include ++#include "mutt/lib.h" ++#include "gui/lib.h" ++#include "mutt.h" ++#include "connaccount.h" ++#include "globals.h" ++#include "options.h" ++ ++/** ++ * mutt_account_getuser - Retrieve username into ConnAccount, if necessary ++ * @param cac ConnAccount to fill ++ * @retval 0 Success ++ * @retval -1 Failure ++ */ ++int mutt_account_getuser(struct ConnAccount *cac) ++{ ++ if (cac->flags & MUTT_ACCT_USER) ++ return 0; ++ if (!cac->get_field) ++ return -1; ++ ++ const char *user = cac->get_field(MUTT_CA_USER); ++ if (user) ++ mutt_str_strfcpy(cac->user, user, sizeof(cac->user)); ++ else if (OptNoCurses) ++ return -1; ++ else ++ { ++ /* prompt (defaults to unix username), copy into cac->user */ ++ char prompt[256]; ++ /* L10N: Example: Username at myhost.com */ ++ snprintf(prompt, sizeof(prompt), _("Username at %s: "), cac->host); ++ mutt_str_strfcpy(cac->user, Username, sizeof(cac->user)); ++ if (mutt_get_field_unbuffered(prompt, cac->user, sizeof(cac->user), MUTT_COMP_NO_FLAGS)) ++ return -1; ++ } ++ ++ cac->flags |= MUTT_ACCT_USER; ++ return 0; ++} ++ ++/** ++ * mutt_account_getlogin - Retrieve login info into ConnAccount, if necessary ++ * @param cac ConnAccount to fill ++ * @retval 0 Success ++ * @retval -1 Failure ++ */ ++int mutt_account_getlogin(struct ConnAccount *cac) ++{ ++ if (cac->flags & MUTT_ACCT_LOGIN) ++ return 0; ++ if (!cac->get_field) ++ return -1; ++ ++ const char *login = cac->get_field(MUTT_CA_LOGIN); ++ if (!login && (mutt_account_getuser(cac) == 0)) ++ { ++ login = cac->user; ++ } ++ ++ if (!login) ++ { ++ mutt_debug(LL_DEBUG1, "Couldn't get user info\n"); ++ return -1; ++ } ++ ++ mutt_str_strfcpy(cac->login, login, sizeof(cac->login)); ++ cac->flags |= MUTT_ACCT_LOGIN; ++ return 0; ++} ++ ++/** ++ * mutt_account_getpass - Fetch password into ConnAccount, if necessary ++ * @param cac ConnAccount to fill ++ * @retval 0 Success ++ * @retval -1 Failure ++ */ ++int mutt_account_getpass(struct ConnAccount *cac) ++{ ++ if (cac->flags & MUTT_ACCT_PASS) ++ return 0; ++ if (!cac->get_field) ++ return -1; ++ ++ const char *pass = cac->get_field(MUTT_CA_PASS); ++ if (pass) ++ mutt_str_strfcpy(cac->pass, pass, sizeof(cac->pass)); ++ else if (OptNoCurses) ++ return -1; ++ else ++ { ++ char prompt[256]; ++ snprintf(prompt, sizeof(prompt), _("Password for %s@%s: "), ++ (cac->flags & MUTT_ACCT_LOGIN) ? cac->login : cac->user, cac->host); ++ cac->pass[0] = '\0'; ++ if (mutt_get_password(prompt, cac->pass, sizeof(cac->pass))) ++ return -1; ++ } ++ ++ cac->flags |= MUTT_ACCT_PASS; ++ return 0; ++} ++ ++/** ++ * mutt_account_unsetpass - Unset ConnAccount's password ++ * @param cac ConnAccount to modify ++ */ ++void mutt_account_unsetpass(struct ConnAccount *cac) ++{ ++ cac->flags &= ~MUTT_ACCT_PASS; ++ memset(cac->pass, 0, sizeof(cac->pass)); ++} ++ ++/** ++ * mutt_account_getoauthbearer - Get an OAUTHBEARER token ++ * @param cac Account to use ++ * @retval ptr OAuth token ++ * @retval NULL Error ++ * ++ * Run an external command to generate the oauth refresh token for an account, ++ * then create and encode the OAUTHBEARER token based on RFC7628. ++ * ++ * @note Caller should free the token ++ */ ++char *mutt_account_getoauthbearer(struct ConnAccount *cac) ++{ ++ if (!cac || !cac->get_field) ++ return NULL; ++ ++ /* The oauthbearer token includes the login */ ++ if (mutt_account_getlogin(cac)) ++ return NULL; ++ ++ const char *cmd = cac->get_field(MUTT_CA_OAUTH_CMD); ++ if (!cmd) ++ { ++ /* L10N: You will see this error message if (1) you have "oauthbearer" in ++ one of your $*_authenticators and (2) you do not have the corresponding ++ $*_oauth_refresh_command defined. So the message does not mean "None of ++ your $*_oauth_refresh_command's are defined." */ ++ mutt_error(_("No OAUTH refresh command defined")); ++ return NULL; ++ } ++ ++ FILE *fp = NULL; ++ pid_t pid = filter_create(cmd, NULL, &fp, NULL); ++ if (pid < 0) ++ { ++ mutt_perror(_("Unable to run refresh command")); ++ return NULL; ++ } ++ ++ size_t token_size = 0; ++ char *token = mutt_file_read_line(NULL, &token_size, fp, NULL, 0); ++ mutt_file_fclose(&fp); ++ filter_wait(pid); ++ ++ if (!token || (*token == '\0')) ++ { ++ mutt_error(_("Command returned empty string")); ++ FREE(&token); ++ return NULL; ++ } ++ ++ if (token_size > 512) ++ { ++ mutt_error(_("OAUTH token is too big: %ld"), token_size); ++ FREE(&token); ++ return NULL; ++ } ++ ++ char oauthbearer[1024]; ++ int oalen = snprintf(oauthbearer, sizeof(oauthbearer), "n,a=%s,\001host=%s\001port=%d\001auth=Bearer %s\001\001", ++ cac->login, cac->host, cac->port, token); ++ FREE(&token); ++ ++ size_t encoded_len = oalen * 4 / 3 + 10; ++ assert(encoded_len < 1400); // Assure LGTM that we won't overflow ++ ++ char *encoded_token = mutt_mem_malloc(encoded_len); ++ mutt_b64_encode(oauthbearer, oalen, encoded_token, encoded_len); ++ ++ return encoded_token; ++} +diff --git a/conn/connaccount.h b/conn/connaccount.h +index 70e1ae88a..da8531665 100644 +--- a/conn/connaccount.h ++++ b/conn/connaccount.h +@@ -1,6 +1,6 @@ + /** + * @file +- * ConnAccount object ++ * Connection Credentials + * + * @authors + * Copyright (C) 2000-2005,2008 Brendan Cully +@@ -20,23 +20,57 @@ + * this program. If not, see . + */ + +-#ifndef MUTT_CONN_ACCOUNT_H +-#define MUTT_CONN_ACCOUNT_H ++#ifndef MUTT_CONN_CONNACCOUNT_H ++#define MUTT_CONN_CONNACCOUNT_H + +-#include "mutt_account.h" ++#include ++ ++/** ++ * enum ConnAccountField - Login credentials ++ */ ++enum ConnAccountField ++{ ++ MUTT_CA_HOST = 1, ///< Server name ++ MUTT_CA_LOGIN, ///< Login name ++ MUTT_CA_USER, ///< User name ++ MUTT_CA_PASS, ///< Password ++ MUTT_CA_OAUTH_CMD, ///< OAuth refresh command ++}; ++ ++typedef uint8_t MuttAccountFlags; ///< Flags, Which ConnAccount fields are initialised, e.g. #MUTT_ACCT_PORT ++#define MUTT_ACCT_NO_FLAGS 0 ///< No flags are set ++#define MUTT_ACCT_PORT (1 << 0) ///< Port field has been set ++#define MUTT_ACCT_USER (1 << 1) ///< User field has been set ++#define MUTT_ACCT_LOGIN (1 << 2) ///< Login field has been set ++#define MUTT_ACCT_PASS (1 << 3) ///< Password field has been set ++#define MUTT_ACCT_SSL (1 << 4) ///< Account uses SSL/TLS + + /** + * struct ConnAccount - Login details for a remote server + */ + struct ConnAccount + { +- char user[128]; +- char login[128]; +- char pass[256]; +- char host[128]; +- unsigned short port; ++ char host[128]; ///< Server to login to ++ char login[128]; ///< Login name ++ char user[128]; ///< Username ++ char pass[256]; ///< Password ++ unsigned short port; ///< Port to connect to + unsigned char type; ///< Connection type, e.g. #MUTT_ACCT_TYPE_IMAP + MuttAccountFlags flags; ///< Which fields are initialised, e.g. #MUTT_ACCT_USER ++ const char *service; ///< Name of the service, e.g. "imap" ++ ++ /** ++ * get_field - Function to get some login credentials ++ * @param field Field to get, e.g. #MUTT_CA_PASS ++ * @retval ptr Requested string ++ */ ++ const char *(*get_field)(enum ConnAccountField field); + }; + +-#endif /* MUTT_CONN_ACCOUNT_H */ ++int mutt_account_getlogin (struct ConnAccount *account); ++char *mutt_account_getoauthbearer(struct ConnAccount *account); ++int mutt_account_getpass (struct ConnAccount *account); ++int mutt_account_getuser (struct ConnAccount *account); ++void mutt_account_unsetpass (struct ConnAccount *account); ++ ++#endif /* MUTT_CONN_CONNACCOUNT_H */ +diff --git a/conn/connection.h b/conn/connection.h +index 81390889f..19416a398 100644 +--- a/conn/connection.h ++++ b/conn/connection.h +@@ -33,58 +33,59 @@ + */ + struct Connection + { +- struct ConnAccount account; +- unsigned int ssf; ///< security strength factor, in bits +- +- char inbuf[1024]; +- int bufpos; +- +- int fd; +- int available; +- +- void *sockdata; ++ struct ConnAccount account; ///< Account details: username, password, etc ++ unsigned int ssf; ///< Security strength factor, in bits ++ char inbuf[1024]; ///< Buffer for incoming traffic ++ int bufpos; ///< Current position in the buffer ++ int fd; ///< Socket file descriptor ++ int available; ///< Amount of data waiting to be read ++ void *sockdata; ///< Backend-specific socket data + + /** +- * conn_open - Open a socket Connection ++ * open - Open a socket Connection + * @param conn Connection to a server + * @retval 0 Success + * @retval -1 Error + */ +- int (*conn_open) (struct Connection *conn); ++ int (*open)(struct Connection *conn); ++ + /** +- * conn_read - Read from a socket Connection ++ * read - Read from a socket Connection + * @param conn Connection to a server + * @param buf Buffer to store the data + * @param count Number of bytes to read + * @retval >0 Success, number of bytes read + * @retval -1 Error, see errno + */ +- int (*conn_read) (struct Connection *conn, char *buf, size_t count); ++ int (*read)(struct Connection *conn, char *buf, size_t count); ++ + /** +- * conn_write - Write to a socket Connection ++ * write - Write to a socket Connection + * @param conn Connection to a server + * @param buf Buffer to read into + * @param count Number of bytes to read + * @retval >0 Success, number of bytes written + * @retval -1 Error, see errno + */ +- int (*conn_write)(struct Connection *conn, const char *buf, size_t count); ++ int (*write)(struct Connection *conn, const char *buf, size_t count); ++ + /** +- * conn_poll - Check whether a socket read would block ++ * poll - Check whether a socket read would block + * @param conn Connection to a server + * @param wait_secs How long to wait for a response + * @retval >0 There is data to read + * @retval 0 Read would block + * @retval -1 Connection doesn't support polling + */ +- int (*conn_poll) (struct Connection *conn, time_t wait_secs); ++ int (*poll)(struct Connection *conn, time_t wait_secs); ++ + /** +- * conn_close - Close a socket Connection ++ * close - Close a socket Connection + * @param conn Connection to a server + * @retval 0 Success + * @retval -1 Error, see errno + */ +- int (*conn_close)(struct Connection *conn); ++ int (*close)(struct Connection *conn); + }; + + #endif /* MUTT_CONN_CONNECTION_H */ +diff --git a/conn/getdomain.c b/conn/getdomain.c +index a8df6e90e..b5f6337f5 100644 +--- a/conn/getdomain.c ++++ b/conn/getdomain.c +@@ -32,8 +32,8 @@ + #include + #include + #include +-#include "mutt/mutt.h" +-#include "conn/conn.h" // IWYU pragma: keep ++#include "mutt/lib.h" ++#include "conn/lib.h" // IWYU pragma: keep + + /** + * getdnsdomainname - Lookup the host's name using DNS +diff --git a/conn/ssl_gnutls.c b/conn/gnutls.c +similarity index 71% +rename from conn/ssl_gnutls.c +rename to conn/gnutls.c +index 654899b73..37b8c8a13 100644 +--- a/conn/ssl_gnutls.c ++++ b/conn/gnutls.c +@@ -22,7 +22,7 @@ + */ + + /** +- * @page conn_ssl_gnutls Handling of GnuTLS encryption ++ * @page conn_gnutls Handling of GnuTLS encryption + * + * Handling of GnuTLS encryption + */ +@@ -35,39 +35,31 @@ + #include + #include + #include +-#include +-#include "mutt/mutt.h" ++#include "conn_private.h" ++#include "mutt/lib.h" + #include "config/lib.h" +-#include "conn_globals.h" +-#include "connaccount.h" +-#include "connection.h" +-#include "keymap.h" +-#include "mutt_account.h" +-#include "mutt_menu.h" ++#include "lib.h" + #include "muttlib.h" +-#include "opcodes.h" + #include "options.h" +-#include "protos.h" +-#include "socket.h" +-#include "ssl.h" // IWYU pragma: keep ++#include "ssl.h" + ++// clang-format off + /* certificate error bitmap values */ +-#define CERTERR_VALID 0 +-#define CERTERR_EXPIRED 1 +-#define CERTERR_NOTYETVALID 2 +-#define CERTERR_REVOKED 4 +-#define CERTERR_NOTTRUSTED 8 +-#define CERTERR_HOSTNAME 16 +-#define CERTERR_SIGNERNOTCA 32 +-#define CERTERR_INSECUREALG 64 +-#define CERTERR_OTHER 128 ++#define CERTERR_VALID 0 ++#define CERTERR_EXPIRED (1 << 0) ++#define CERTERR_NOTYETVALID (1 << 1) ++#define CERTERR_REVOKED (1 << 2) ++#define CERTERR_NOTTRUSTED (1 << 3) ++#define CERTERR_HOSTNAME (1 << 4) ++#define CERTERR_SIGNERNOTCA (1 << 5) ++#define CERTERR_INSECUREALG (1 << 6) ++#define CERTERR_OTHER (1 << 7) ++// clang-format on + + const int dialog_row_len = 128; + + #define CERT_SEP "-----BEGIN" + +-static int tls_socket_close(struct Connection *conn); +- + #ifndef HAVE_GNUTLS_PRIORITY_SET_DIRECT + /* This array needs to be large enough to hold all the possible values support + * by NeoMutt. The initialized values are just placeholders--the array gets +@@ -115,23 +107,7 @@ static int tls_init(void) + } + + /** +- * tls_starttls_close - Close a TLS connection - Implements Connection::conn_close() +- */ +-static int tls_starttls_close(struct Connection *conn) +-{ +- int rc; +- +- rc = tls_socket_close(conn); +- conn->conn_read = raw_socket_read; +- conn->conn_write = raw_socket_write; +- conn->conn_close = raw_socket_close; +- conn->conn_poll = raw_socket_poll; +- +- return rc; +-} +- +-/** +- * tls_verify_peers - wrapper for gnutls_certificate_verify_peers ++ * tls_verify_peers - Wrapper for gnutls_certificate_verify_peers() + * @param tlsstate TLS state + * @retval 0 Success + * @retval >0 Error, e.g. GNUTLS_CERT_INVALID +@@ -213,7 +189,7 @@ static int tls_check_stored_hostname(const gnutls_datum_t *cert, const char *hos + regmatch_t pmatch[3]; + + /* try checking against names stored in stored certs file */ +- FILE *fp = fopen(C_CertificateFile, "r"); ++ FILE *fp = mutt_file_fopen(C_CertificateFile, "r"); + if (fp) + { + if (REG_COMP(&preg, "^#H ([a-zA-Z0-9_\\.-]+) ([0-9A-F]{4}( [0-9A-F]{4}){7})[ \t]*$", +@@ -275,7 +251,7 @@ static int tls_compare_certificates(const gnutls_datum_t *peercert) + b64_data_data = mutt_mem_calloc(1, b64_data.size + 1); + b64_data.data = b64_data_data; + +- FILE *fp = fopen(C_CertificateFile, "r"); ++ FILE *fp = mutt_file_fopen(C_CertificateFile, "r"); + if (!fp) + return 0; + +@@ -438,6 +414,48 @@ static int tls_check_preauth(const gnutls_datum_t *certdata, + return -1; + } + ++/** ++ * add_cert - Look up certificate info and save it to a list ++ * @param title Title for this block of certificate info ++ * @param cert Certificate ++ * @param issuer If true, look up the issuer rather than owner details ++ * @param list List to save info to ++ */ ++static void add_cert(const char *title, gnutls_x509_crt_t cert, bool issuer, ++ struct ListHead *list) ++{ ++ static const char *part[] = { ++ GNUTLS_OID_X520_COMMON_NAME, // CN ++ GNUTLS_OID_PKCS9_EMAIL, // Email ++ GNUTLS_OID_X520_ORGANIZATION_NAME, // O ++ GNUTLS_OID_X520_ORGANIZATIONAL_UNIT_NAME, // OU ++ GNUTLS_OID_X520_LOCALITY_NAME, // L ++ GNUTLS_OID_X520_STATE_OR_PROVINCE_NAME, // ST ++ GNUTLS_OID_X520_COUNTRY_NAME, // C ++ }; ++ ++ char buf[128]; ++ int rc; ++ ++ // Allocate formatted strings and let the ListHead take ownership ++ mutt_list_insert_tail(list, mutt_str_strdup(title)); ++ ++ for (size_t i = 0; i < mutt_array_size(part); i++) ++ { ++ size_t buflen = sizeof(buf); ++ if (issuer) ++ rc = gnutls_x509_crt_get_issuer_dn_by_oid(cert, part[i], 0, 0, buf, &buflen); ++ else ++ rc = gnutls_x509_crt_get_dn_by_oid(cert, part[i], 0, 0, buf, &buflen); ++ if (rc != 0) ++ continue; ++ ++ char *line = NULL; ++ mutt_str_asprintf(&line, " %s", buf); ++ mutt_list_insert_tail(list, line); ++ } ++} ++ + /** + * tls_check_one_certificate - Check a GnuTLS certificate + * @param certdata List of GnuTLS certificates +@@ -452,27 +470,14 @@ static int tls_check_one_certificate(const gnutls_datum_t *certdata, + gnutls_certificate_status_t certstat, + const char *hostname, int idx, size_t len) + { ++ struct ListHead list = STAILQ_HEAD_INITIALIZER(list); + int certerr, savedcert; + gnutls_x509_crt_t cert; +- char buf[128]; + char fpbuf[128]; +- size_t buflen; +- char dn_common_name[128]; +- char dn_email[128]; +- char dn_organization[128]; +- char dn_organizational_unit[128]; +- char dn_locality[128]; +- char dn_province[128]; +- char dn_country[128]; + time_t t; + char datestr[30]; +- struct Menu *menu = NULL; +- char helpstr[1024]; + char title[256]; +- FILE *fp = NULL; + gnutls_datum_t pemdata; +- int done, ret; +- bool reset_ignoremacro = false; + + if (tls_check_preauth(certdata, certstat, hostname, idx, &certerr, &savedcert) == 0) + return 1; +@@ -491,276 +496,121 @@ static int tls_check_one_certificate(const gnutls_datum_t *certdata, + return 0; + } + +- struct Buffer *drow = mutt_buffer_pool_get(); ++ add_cert(_("This certificate belongs to:"), cert, false, &list); ++ mutt_list_insert_tail(&list, NULL); ++ add_cert(_("This certificate was issued by:"), cert, true, &list); + +- menu = mutt_menu_new(MENU_GENERIC); +- mutt_menu_push_current(menu); +- +- buflen = sizeof(dn_common_name); +- if (gnutls_x509_crt_get_dn_by_oid(cert, GNUTLS_OID_X520_COMMON_NAME, 0, 0, +- dn_common_name, &buflen) != 0) +- { +- dn_common_name[0] = '\0'; +- } +- buflen = sizeof(dn_email); +- if (gnutls_x509_crt_get_dn_by_oid(cert, GNUTLS_OID_PKCS9_EMAIL, 0, 0, dn_email, &buflen) != 0) +- dn_email[0] = '\0'; +- buflen = sizeof(dn_organization); +- if (gnutls_x509_crt_get_dn_by_oid(cert, GNUTLS_OID_X520_ORGANIZATION_NAME, 0, +- 0, dn_organization, &buflen) != 0) +- { +- dn_organization[0] = '\0'; +- } +- buflen = sizeof(dn_organizational_unit); +- if (gnutls_x509_crt_get_dn_by_oid(cert, GNUTLS_OID_X520_ORGANIZATIONAL_UNIT_NAME, +- 0, 0, dn_organizational_unit, &buflen) != 0) +- { +- dn_organizational_unit[0] = '\0'; +- } +- buflen = sizeof(dn_locality); +- if (gnutls_x509_crt_get_dn_by_oid(cert, GNUTLS_OID_X520_LOCALITY_NAME, 0, 0, +- dn_locality, &buflen) != 0) +- { +- dn_locality[0] = '\0'; +- } +- buflen = sizeof(dn_province); +- if (gnutls_x509_crt_get_dn_by_oid(cert, GNUTLS_OID_X520_STATE_OR_PROVINCE_NAME, +- 0, 0, dn_province, &buflen) != 0) +- { +- dn_province[0] = '\0'; +- } +- buflen = sizeof(dn_country); +- if (gnutls_x509_crt_get_dn_by_oid(cert, GNUTLS_OID_X520_COUNTRY_NAME, 0, 0, +- dn_country, &buflen) != 0) +- { +- dn_country[0] = '\0'; +- } +- +- mutt_menu_add_dialog_row(menu, _("This certificate belongs to:")); +- mutt_buffer_printf(drow, " %s %s", dn_common_name, dn_email); +- mutt_menu_add_dialog_row(menu, mutt_b2s(drow)); +- mutt_buffer_printf(drow, " %s", dn_organization); +- mutt_menu_add_dialog_row(menu, mutt_b2s(drow)); +- mutt_buffer_printf(drow, " %s", dn_organizational_unit); +- mutt_menu_add_dialog_row(menu, mutt_b2s(drow)); +- mutt_buffer_printf(drow, " %s %s %s", dn_locality, dn_province, dn_country); +- mutt_menu_add_dialog_row(menu, mutt_b2s(drow)); +- +- buflen = sizeof(dn_common_name); +- if (gnutls_x509_crt_get_issuer_dn_by_oid(cert, GNUTLS_OID_X520_COMMON_NAME, 0, +- 0, dn_common_name, &buflen) != 0) +- { +- dn_common_name[0] = '\0'; +- } +- buflen = sizeof(dn_email); +- if (gnutls_x509_crt_get_issuer_dn_by_oid(cert, GNUTLS_OID_PKCS9_EMAIL, 0, 0, +- dn_email, &buflen) != 0) +- { +- dn_email[0] = '\0'; +- } +- buflen = sizeof(dn_organization); +- if (gnutls_x509_crt_get_issuer_dn_by_oid(cert, GNUTLS_OID_X520_ORGANIZATION_NAME, +- 0, 0, dn_organization, &buflen) != 0) +- { +- dn_organization[0] = '\0'; +- } +- buflen = sizeof(dn_organizational_unit); +- if (gnutls_x509_crt_get_issuer_dn_by_oid(cert, GNUTLS_OID_X520_ORGANIZATIONAL_UNIT_NAME, +- 0, 0, dn_organizational_unit, &buflen) != 0) +- { +- dn_organizational_unit[0] = '\0'; +- } +- buflen = sizeof(dn_locality); +- if (gnutls_x509_crt_get_issuer_dn_by_oid(cert, GNUTLS_OID_X520_LOCALITY_NAME, +- 0, 0, dn_locality, &buflen) != 0) +- { +- dn_locality[0] = '\0'; +- } +- buflen = sizeof(dn_province); +- if (gnutls_x509_crt_get_issuer_dn_by_oid(cert, GNUTLS_OID_X520_STATE_OR_PROVINCE_NAME, +- 0, 0, dn_province, &buflen) != 0) +- { +- dn_province[0] = '\0'; +- } +- buflen = sizeof(dn_country); +- if (gnutls_x509_crt_get_issuer_dn_by_oid(cert, GNUTLS_OID_X520_COUNTRY_NAME, +- 0, 0, dn_country, &buflen) != 0) +- { +- dn_country[0] = '\0'; +- } +- +- mutt_menu_add_dialog_row(menu, ""); +- mutt_menu_add_dialog_row(menu, _("This certificate was issued by:")); +- mutt_buffer_printf(drow, " %s %s", dn_common_name, dn_email); +- mutt_menu_add_dialog_row(menu, mutt_b2s(drow)); +- mutt_buffer_printf(drow, " %s", dn_organization); +- mutt_menu_add_dialog_row(menu, mutt_b2s(drow)); +- mutt_buffer_printf(drow, " %s", dn_organizational_unit); +- mutt_menu_add_dialog_row(menu, mutt_b2s(drow)); +- mutt_buffer_printf(drow, " %s %s %s", dn_locality, dn_province, dn_country); +- mutt_menu_add_dialog_row(menu, mutt_b2s(drow)); +- +- mutt_menu_add_dialog_row(menu, ""); +- mutt_menu_add_dialog_row(menu, _("This certificate is valid")); ++ mutt_list_insert_tail(&list, NULL); ++ mutt_list_insert_tail(&list, mutt_str_strdup(_("This certificate is valid"))); + ++ char *line = NULL; + t = gnutls_x509_crt_get_activation_time(cert); + mutt_date_make_tls(datestr, sizeof(datestr), t); +- mutt_buffer_printf(drow, _(" from %s"), datestr); ++ mutt_str_asprintf(&line, _(" from %s"), datestr); ++ mutt_list_insert_tail(&list, line); + + t = gnutls_x509_crt_get_expiration_time(cert); + mutt_date_make_tls(datestr, sizeof(datestr), t); +- mutt_buffer_printf(drow, _(" to %s"), datestr); +- mutt_menu_add_dialog_row(menu, mutt_b2s(drow)); ++ mutt_str_asprintf(&line, _(" to %s"), datestr); ++ mutt_list_insert_tail(&list, line); ++ mutt_list_insert_tail(&list, NULL); + + fpbuf[0] = '\0'; + tls_fingerprint(GNUTLS_DIG_SHA, fpbuf, sizeof(fpbuf), certdata); +- mutt_buffer_printf(drow, _("SHA1 Fingerprint: %s"), fpbuf); +- mutt_menu_add_dialog_row(menu, mutt_b2s(drow)); ++ mutt_str_asprintf(&line, _("SHA1 Fingerprint: %s"), fpbuf); ++ mutt_list_insert_tail(&list, line); + fpbuf[0] = '\0'; + fpbuf[40] = '\0'; /* Ensure the second printed line is null terminated */ + tls_fingerprint(GNUTLS_DIG_SHA256, fpbuf, sizeof(fpbuf), certdata); + fpbuf[39] = '\0'; /* Divide into two lines of output */ +- mutt_buffer_printf(drow, "%s%s", _("SHA256 Fingerprint: "), fpbuf); +- mutt_menu_add_dialog_row(menu, mutt_b2s(drow)); +- mutt_buffer_printf(drow, "%*s%s", (int) mutt_str_strlen(_("SHA256 Fingerprint: ")), +- "", fpbuf + 40); +- mutt_menu_add_dialog_row(menu, mutt_b2s(drow)); ++ mutt_str_asprintf(&line, "%s%s", _("SHA256 Fingerprint: "), fpbuf); ++ mutt_list_insert_tail(&list, line); ++ mutt_str_asprintf(&line, "%*s%s", (int) mutt_str_strlen(_("SHA256 Fingerprint: ")), ++ "", fpbuf + 40); ++ mutt_list_insert_tail(&list, line); + + if (certerr) +- mutt_menu_add_dialog_row(menu, ""); ++ mutt_list_insert_tail(&list, NULL); + + if (certerr & CERTERR_NOTYETVALID) + { +- mutt_menu_add_dialog_row(menu, +- _("WARNING: Server certificate is not yet valid")); ++ mutt_list_insert_tail( ++ &list, ++ mutt_str_strdup(_("WARNING: Server certificate is not yet valid"))); + } + if (certerr & CERTERR_EXPIRED) + { +- mutt_menu_add_dialog_row(menu, +- _("WARNING: Server certificate has expired")); ++ mutt_list_insert_tail( ++ &list, mutt_str_strdup(_("WARNING: Server certificate has expired"))); + } + if (certerr & CERTERR_REVOKED) + { +- mutt_menu_add_dialog_row(menu, +- _("WARNING: Server certificate has been revoked")); ++ mutt_list_insert_tail( ++ &list, ++ mutt_str_strdup(_("WARNING: Server certificate has been revoked"))); + } + if (certerr & CERTERR_HOSTNAME) + { +- mutt_menu_add_dialog_row( +- menu, _("WARNING: Server hostname does not match certificate")); ++ mutt_list_insert_tail( ++ &list, mutt_str_strdup( ++ _("WARNING: Server hostname does not match certificate"))); + } + if (certerr & CERTERR_SIGNERNOTCA) + { +- mutt_menu_add_dialog_row( +- menu, _("WARNING: Signer of server certificate is not a CA")); ++ mutt_list_insert_tail( ++ &list, mutt_str_strdup( ++ _("WARNING: Signer of server certificate is not a CA"))); + } + if (certerr & CERTERR_INSECUREALG) + { +- mutt_menu_add_dialog_row(menu, _("Warning: Server certificate was signed " +- "using an insecure algorithm")); ++ mutt_list_insert_tail( ++ &list, mutt_str_strdup(_("Warning: Server certificate was signed using " ++ "an insecure algorithm"))); + } + + snprintf(title, sizeof(title), + _("SSL Certificate check (certificate %zu of %zu in chain)"), len - idx, len); +- menu->title = title; +- /* certificates with bad dates, or that are revoked, must be +- * accepted manually each and every time */ +- if (C_CertificateFile && !savedcert && +- !(certerr & (CERTERR_EXPIRED | CERTERR_NOTYETVALID | CERTERR_REVOKED))) +- { +- menu->prompt = _("(r)eject, accept (o)nce, (a)ccept always"); +- /* L10N: These three letters correspond to the choices in the string: +- (r)eject, accept (o)nce, (a)ccept always. +- This is an interactive certificate confirmation prompt for +- a GNUTLS connection. */ +- menu->keys = _("roa"); +- } +- else +- { +- menu->prompt = _("(r)eject, accept (o)nce"); +- /* L10N: These two letters correspond to the choices in the string: +- (r)eject, accept (o)nce. +- These is an interactive certificate confirmation prompt for +- a GNUTLS connection. */ +- menu->keys = _("ro"); +- } +- +- helpstr[0] = '\0'; +- mutt_make_help(buf, sizeof(buf), _("Exit "), MENU_GENERIC, OP_EXIT); +- mutt_str_strcat(helpstr, sizeof(helpstr), buf); +- mutt_make_help(buf, sizeof(buf), _("Help"), MENU_GENERIC, OP_HELP); +- mutt_str_strcat(helpstr, sizeof(helpstr), buf); +- menu->help = helpstr; + +- if (!OptIgnoreMacroEvents) ++ const bool allow_always = ++ (C_CertificateFile && !savedcert && ++ !(certerr & (CERTERR_EXPIRED | CERTERR_NOTYETVALID | CERTERR_REVOKED))); ++ int rc = dlg_verify_cert(title, &list, allow_always, false); ++ if (rc == 3) // Accept always + { +- OptIgnoreMacroEvents = true; +- reset_ignoremacro = true; +- } +- +- done = 0; +- while (done == 0) +- { +- switch (mutt_menu_loop(menu)) ++ bool saved = false; ++ FILE *fp = mutt_file_fopen(C_CertificateFile, "a"); ++ if (fp) + { +- case -1: /* abort */ +- case OP_MAX + 1: /* reject */ +- case OP_EXIT: +- done = 1; +- break; +- case OP_MAX + 3: /* accept always */ +- done = 0; +- fp = mutt_file_fopen(C_CertificateFile, "a"); +- if (fp) ++ if (certerr & CERTERR_HOSTNAME) // Save hostname if necessary ++ { ++ fpbuf[0] = '\0'; ++ tls_fingerprint(GNUTLS_DIG_MD5, fpbuf, sizeof(fpbuf), certdata); ++ fprintf(fp, "#H %s %s\n", hostname, fpbuf); ++ saved = true; ++ } ++ if (certerr ^ CERTERR_HOSTNAME) // Save the cert for all other errors ++ { ++ int rc2 = gnutls_pem_base64_encode_alloc("CERTIFICATE", certdata, &pemdata); ++ if (rc2 == 0) + { +- /* save hostname if necessary */ +- if (certerr & CERTERR_HOSTNAME) +- { +- fpbuf[0] = '\0'; +- tls_fingerprint(GNUTLS_DIG_MD5, fpbuf, sizeof(fpbuf), certdata); +- fprintf(fp, "#H %s %s\n", hostname, fpbuf); +- done = 1; +- } +- /* Save the cert for all other errors */ +- if (certerr ^ CERTERR_HOSTNAME) ++ if (fwrite(pemdata.data, pemdata.size, 1, fp) == 1) + { +- done = 0; +- ret = gnutls_pem_base64_encode_alloc("CERTIFICATE", certdata, &pemdata); +- if (ret == 0) +- { +- if (fwrite(pemdata.data, pemdata.size, 1, fp) == 1) +- { +- done = 1; +- } +- gnutls_free(pemdata.data); +- } ++ saved = true; + } +- mutt_file_fclose(&fp); ++ gnutls_free(pemdata.data); + } +- if (done == 0) +- { +- mutt_error(_("Warning: Couldn't save certificate")); +- } +- else +- { +- mutt_message(_("Certificate saved")); +- mutt_sleep(0); +- } +- /* fallthrough */ +- case OP_MAX + 2: /* accept once */ +- done = 2; +- break; ++ } ++ mutt_file_fclose(&fp); + } ++ if (!saved) ++ mutt_message(_("Certificate saved")); ++ else ++ mutt_error(_("Warning: Couldn't save certificate")); + } +- if (reset_ignoremacro) +- OptIgnoreMacroEvents = false; + +- mutt_buffer_pool_release(&drow); +- mutt_menu_pop_current(menu); +- mutt_menu_free(&menu); ++ mutt_list_free(&list); + gnutls_x509_crt_deinit(cert); +- +- return done == 2; ++ return (rc > 1); + } + + /** +@@ -1135,11 +985,13 @@ static int tls_negotiate(struct Connection *conn) + } + + /** +- * tls_socket_poll - Check whether a socket read would block - Implements Connection::conn_poll() ++ * tls_socket_poll - Check whether a socket read would block - Implements Connection::poll() + */ + static int tls_socket_poll(struct Connection *conn, time_t wait_secs) + { + struct TlsSockData *data = conn->sockdata; ++ if (!data) ++ return -1; + + if (gnutls_record_check_pending(data->state)) + return 1; +@@ -1148,7 +1000,32 @@ static int tls_socket_poll(struct Connection *conn, time_t wait_secs) + } + + /** +- * tls_socket_open - Open a TLS socket - Implements Connection::conn_open() ++ * tls_socket_close - Close a TLS socket - Implements Connection::close() ++ */ ++static int tls_socket_close(struct Connection *conn) ++{ ++ struct TlsSockData *data = conn->sockdata; ++ if (data) ++ { ++ /* shut down only the write half to avoid hanging waiting for the remote to respond. ++ * ++ * RFC5246 7.2.1. "Closure Alerts" ++ * ++ * It is not required for the initiator of the close to wait for the ++ * responding close_notify alert before closing the read side of the ++ * connection. */ ++ gnutls_bye(data->state, GNUTLS_SHUT_WR); ++ ++ gnutls_certificate_free_credentials(data->xcred); ++ gnutls_deinit(data->state); ++ FREE(&conn->sockdata); ++ } ++ ++ return raw_socket_close(conn); ++} ++ ++/** ++ * tls_socket_open - Open a TLS socket - Implements Connection::open() + */ + static int tls_socket_open(struct Connection *conn) + { +@@ -1165,7 +1042,7 @@ static int tls_socket_open(struct Connection *conn) + } + + /** +- * tls_socket_read - Read data from a TLS socket - Implements Connection::conn_read() ++ * tls_socket_read - Read data from a TLS socket - Implements Connection::read() + */ + static int tls_socket_read(struct Connection *conn, char *buf, size_t count) + { +@@ -1192,7 +1069,7 @@ static int tls_socket_read(struct Connection *conn, char *buf, size_t count) + } + + /** +- * tls_socket_write - Write data to a TLS socket - Implements Connection::conn_write() ++ * tls_socket_write - Write data to a TLS socket - Implements Connection::write() + */ + static int tls_socket_write(struct Connection *conn, const char *buf, size_t count) + { +@@ -1226,28 +1103,19 @@ static int tls_socket_write(struct Connection *conn, const char *buf, size_t cou + } + + /** +- * tls_socket_close - Close a TLS socket - Implements Connection::conn_close() ++ * tls_starttls_close - Close a TLS connection - Implements Connection::close() + */ +-static int tls_socket_close(struct Connection *conn) ++static int tls_starttls_close(struct Connection *conn) + { +- struct TlsSockData *data = conn->sockdata; +- if (data) +- { +- /* shut down only the write half to avoid hanging waiting for the remote to respond. +- * +- * RFC5246 7.2.1. "Closure Alerts" +- * +- * It is not required for the initiator of the close to wait for the +- * responding close_notify alert before closing the read side of the +- * connection. */ +- gnutls_bye(data->state, GNUTLS_SHUT_WR); ++ int rc; + +- gnutls_certificate_free_credentials(data->xcred); +- gnutls_deinit(data->state); +- FREE(&conn->sockdata); +- } ++ rc = tls_socket_close(conn); ++ conn->read = raw_socket_read; ++ conn->write = raw_socket_write; ++ conn->close = raw_socket_close; ++ conn->poll = raw_socket_poll; + +- return raw_socket_close(conn); ++ return rc; + } + + /** +@@ -1261,11 +1129,11 @@ int mutt_ssl_socket_setup(struct Connection *conn) + if (tls_init() < 0) + return -1; + +- conn->conn_open = tls_socket_open; +- conn->conn_read = tls_socket_read; +- conn->conn_write = tls_socket_write; +- conn->conn_close = tls_socket_close; +- conn->conn_poll = tls_socket_poll; ++ conn->open = tls_socket_open; ++ conn->read = tls_socket_read; ++ conn->write = tls_socket_write; ++ conn->close = tls_socket_close; ++ conn->poll = tls_socket_poll; + + return 0; + } +@@ -1284,10 +1152,10 @@ int mutt_ssl_starttls(struct Connection *conn) + if (tls_negotiate(conn) < 0) + return -1; + +- conn->conn_read = tls_socket_read; +- conn->conn_write = tls_socket_write; +- conn->conn_close = tls_starttls_close; +- conn->conn_poll = tls_socket_poll; ++ conn->read = tls_socket_read; ++ conn->write = tls_socket_write; ++ conn->close = tls_starttls_close; ++ conn->poll = tls_socket_poll; + + return 0; + } +diff --git a/conn/gui.c b/conn/gui.c +new file mode 100644 +index 000000000..3e795dd09 +--- /dev/null ++++ b/conn/gui.c +@@ -0,0 +1,183 @@ ++/** ++ * @file ++ * GUI parts of Connection Library ++ * ++ * @authors ++ * Copyright (C) 2017 Richard Russon ++ * ++ * @copyright ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 2 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ ++/** ++ * @page conn_gui GUI parts of Connection Library ++ * ++ * GUI parts of Connection Library ++ */ ++ ++#include "config.h" ++#include ++#include ++#include "mutt/lib.h" ++#include "gui/lib.h" ++#include "globals.h" ++#include "keymap.h" ++#include "mutt_menu.h" ++#include "opcodes.h" ++#include "options.h" ++#include "protos.h" ++#include "ssl.h" ++ ++#ifdef USE_SSL ++/** ++ * dlg_verify_cert - Ask the user to validate the certificate ++ * @param title Menu title ++ * @param list Certificate text to display ++ * @param allow_always If true, allow the user to always accept the certificate ++ * @param allow_skip If true, allow the user to skip the verification ++ * @retval 1 Reject certificate (or menu aborted) ++ * @retval 2 Accept certificate once ++ * @retval 3 Accept certificate always/skip (see notes) ++ * @retval 4 Accept certificate skip ++ * ++ * The possible retvals will depend on the parameters. ++ * The options are given in the order: Reject, Once, Always, Skip. ++ * The retval represents the chosen option. ++ */ ++int dlg_verify_cert(const char *title, struct ListHead *list, bool allow_always, bool allow_skip) ++{ ++ struct MuttWindow *dlg = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++#ifdef USE_DEBUG_WINDOW ++ dlg->name = "certificate"; ++#endif ++ dlg->type = WT_DIALOG; ++ struct MuttWindow *index = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ index->type = WT_INDEX; ++ struct MuttWindow *ibar = mutt_window_new( ++ MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, 1, MUTT_WIN_SIZE_UNLIMITED); ++ ibar->type = WT_INDEX_BAR; ++ ++ if (C_StatusOnTop) ++ { ++ mutt_window_add_child(dlg, ibar); ++ mutt_window_add_child(dlg, index); ++ } ++ else ++ { ++ mutt_window_add_child(dlg, index); ++ mutt_window_add_child(dlg, ibar); ++ } ++ ++ dialog_push(dlg); ++ ++ struct Menu *menu = mutt_menu_new(MENU_GENERIC); ++ menu->pagelen = index->state.rows; ++ menu->win_index = index; ++ menu->win_ibar = ibar; ++ ++ mutt_menu_push_current(menu); ++ ++ struct ListNode *np = NULL; ++ STAILQ_FOREACH(np, list, entries) ++ { ++ mutt_menu_add_dialog_row(menu, NONULL(np->data)); ++ } ++ ++ menu->title = title; ++ ++ if (allow_always) ++ { ++ if (allow_skip) ++ { ++ menu->prompt = _("(r)eject, accept (o)nce, (a)ccept always, (s)kip"); ++ /* L10N: The letters correspond to the choices in the string: ++ "(r)eject, accept (o)nce, (a)ccept always, (s)kip" ++ This is an interactive certificate confirmation prompt for an SSL connection. */ ++ menu->keys = _("roas"); ++ } ++ else ++ { ++ menu->prompt = _("(r)eject, accept (o)nce, (a)ccept always"); ++ /* L10N: The letters correspond to the choices in the string: ++ "(r)eject, accept (o)nce, (a)ccept always" ++ This is an interactive certificate confirmation prompt for an SSL connection. */ ++ menu->keys = _("roa"); ++ } ++ } ++ else ++ { ++ if (allow_skip) ++ { ++ menu->prompt = _("(r)eject, accept (o)nce, (s)kip"); ++ /* L10N: The letters correspond to the choices in the string: ++ "(r)eject, accept (o)nce, (s)kip" ++ This is an interactive certificate confirmation prompt for an SSL connection. */ ++ menu->keys = _("ros"); ++ } ++ else ++ { ++ menu->prompt = _("(r)eject, accept (o)nce"); ++ /* L10N: The letters correspond to the choices in the string: ++ "(r)eject, accept (o)nce" ++ This is an interactive certificate confirmation prompt for an SSL connection. */ ++ menu->keys = _("ro"); ++ } ++ } ++ ++ char buf[128] = { 0 }; ++ char helpstr[1024] = { 0 }; ++ mutt_make_help(buf, sizeof(buf), _("Exit "), MENU_GENERIC, OP_EXIT); ++ mutt_str_strcat(helpstr, sizeof(helpstr), buf); ++ mutt_make_help(buf, sizeof(buf), _("Help"), MENU_GENERIC, OP_HELP); ++ mutt_str_strcat(helpstr, sizeof(helpstr), buf); ++ menu->help = helpstr; ++ ++ bool old_ime = OptIgnoreMacroEvents; ++ OptIgnoreMacroEvents = true; ++ ++ int rc = 0; ++ while (rc == 0) ++ { ++ switch (mutt_menu_loop(menu)) ++ { ++ case -1: // Abort: Ctrl-G ++ case OP_EXIT: // Q)uit ++ case OP_MAX + 1: // R)eject ++ rc = 1; ++ break; ++ case OP_MAX + 2: // O)nce ++ rc = 2; ++ break; ++ case OP_MAX + 3: // A)lways / S)kip ++ rc = 3; ++ break; ++ case OP_MAX + 4: // S)kip ++ rc = 4; ++ break; ++ } ++ } ++ OptIgnoreMacroEvents = old_ime; ++ ++ mutt_menu_pop_current(menu); ++ mutt_menu_free(&menu); ++ dialog_pop(); ++ mutt_window_free(&dlg); ++ ++ return rc; ++} ++#endif +diff --git a/conn/conn.h b/conn/lib.h +similarity index 79% +rename from conn/conn.h +rename to conn/lib.h +index d6ca0722f..45157a298 100644 +--- a/conn/conn.h ++++ b/conn/lib.h +@@ -27,19 +27,21 @@ + * + * | File | Description | + * | :------------------ | :----------------------- | ++ * | conn/connaccount.c | @subpage conn_account | + * | conn/conn_globals.c | @subpage conn_globals | + * | conn/getdomain.c | @subpage conn_getdomain | +- * | conn/conn_raw.c | @subpage conn_raw | ++ * | conn/gnutls.c | @subpage conn_gnutls | ++ * | conn/gui.c | @subpage conn_gui | ++ * | conn/openssl.c | @subpage conn_openssl | ++ * | conn/raw.c | @subpage conn_raw | + * | conn/sasl.c | @subpage conn_sasl | + * | conn/sasl_plain.c | @subpage conn_sasl_plain | + * | conn/socket.c | @subpage conn_socket | +- * | conn/ssl.c | @subpage conn_ssl | +- * | conn/ssl_gnutls.c | @subpage conn_ssl_gnutls | + * | conn/tunnel.c | @subpage conn_tunnel | + */ + +-#ifndef MUTT_CONN_CONN_H +-#define MUTT_CONN_CONN_H ++#ifndef MUTT_CONN_LIB_H ++#define MUTT_CONN_LIB_H + + #include "config.h" + #include +@@ -49,13 +51,15 @@ + #include "connection.h" + #include "sasl_plain.h" + #include "socket.h" +-#include "ssl.h" +-#include "tunnel.h" + #ifdef USE_SASL + #include "sasl.h" + #endif + // IWYU pragma: end_exports + ++#ifdef USE_SSL ++int mutt_ssl_starttls(struct Connection *conn); ++#endif ++ + int getdnsdomainname(char *buf, size_t buflen); + +-#endif /* MUTT_CONN_CONN_H */ ++#endif /* MUTT_CONN_LIB_H */ +diff --git a/conn/ssl.c b/conn/openssl.c +similarity index 83% +rename from conn/ssl.c +rename to conn/openssl.c +index 140ab77ef..fd4b0801c 100644 +--- a/conn/ssl.c ++++ b/conn/openssl.c +@@ -21,26 +21,25 @@ + */ + + /** +- * @page conn_ssl Handling of OpenSSL encryption ++ * @page conn_openssl Handling of OpenSSL encryption + * + * Handling of OpenSSL encryption + */ + + #include "config.h" + #include +-#include + #include + #include + #include + #include + #include ++#include + #include + #include + #include ++#include + #include +-#include + #include +-#include + #include + #include + #include +@@ -49,32 +48,14 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "conn_private.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "config/lib.h" +-#include "email/lib.h" +-#include "mutt.h" +-#include "ssl.h" +-#include "conn_globals.h" +-#include "connaccount.h" +-#include "connection.h" ++#include "lib.h" + #include "globals.h" +-#include "keymap.h" +-#include "mutt_account.h" + #include "mutt_logging.h" +-#include "mutt_menu.h" +-#include "muttlib.h" +-#include "opcodes.h" +-#include "options.h" +-#include "protos.h" +-#include "socket.h" +- +-const int dialog_row_len = 128; +- +-/* Just in case OpenSSL doesn't define DEV_RANDOM */ +-#ifndef DEV_RANDOM +-#define DEV_RANDOM "/dev/urandom" +-#endif ++#include "ssl.h" + + /* LibreSSL defines OPENSSL_VERSION_NUMBER but sets it to 0x20000000L. + * So technically we don't need the defined(OPENSSL_VERSION_NUMBER) check. */ +@@ -93,17 +74,6 @@ const int dialog_row_len = 128; + #define SSL_has_pending SSL_pending + #endif + +-/* This is ugly, but as RAND_status came in on OpenSSL version 0.9.5 +- * and the code has to support older versions too, this is seemed to +- * be cleaner way compared to having even uglier #ifdefs all around. */ +-#ifdef HAVE_RAND_STATUS +-#define HAVE_ENTROPY() (RAND_status() == 1) +-#else +-static int entropy_byte_count = 0; +-/* OpenSSL fills the entropy pool from /dev/urandom if it exists */ +-#define HAVE_ENTROPY() (!access(DEV_RANDOM, R_OK) || entropy_byte_count >= 16) +-#endif +- + /* index for storing hostname as application specific data in SSL structure */ + static int HostExDataIndex = -1; + +@@ -152,7 +122,7 @@ static int ssl_load_certificates(SSL_CTX *ctx) + SSL_CTX_set_cert_store(ctx, store); + } + +- FILE *fp = fopen(C_CertificateFile, "rt"); ++ FILE *fp = mutt_file_fopen(C_CertificateFile, "rt"); + if (!fp) + return 0; + +@@ -250,10 +220,6 @@ static int add_entropy(const char *file) + if (n <= 0) + n = RAND_load_file(file, -1); + +-#ifndef HAVE_RAND_STATUS +- if (n > 0) +- entropy_byte_count += n; +-#endif + return n; + } + +@@ -362,22 +328,21 @@ static void ssl_dprint_err_stack(void) + */ + static int ssl_passwd_cb(char *buf, int buflen, int rwflag, void *userdata) + { +- struct ConnAccount *account = userdata; ++ struct ConnAccount *cac = userdata; + +- if (mutt_account_getuser(account) < 0) ++ if (mutt_account_getuser(cac) < 0) + return 0; + +- mutt_debug(LL_DEBUG2, "getting password for %s@%s:%u\n", account->user, +- account->host, account->port); ++ mutt_debug(LL_DEBUG2, "getting password for %s@%s:%u\n", cac->user, cac->host, cac->port); + +- if (mutt_account_getpass(account) < 0) ++ if (mutt_account_getpass(cac) < 0) + return 0; + +- return snprintf(buf, buflen, "%s", account->pass); ++ return snprintf(buf, buflen, "%s", cac->pass); + } + + /** +- * ssl_socket_open_err - Error callback for opening an SSL connection - Implements Connection::conn_open() ++ * ssl_socket_open_err - Error callback for opening an SSL connection - Implements Connection::open() + * @retval -1 Always + */ + static int ssl_socket_open_err(struct Connection *conn) +@@ -399,7 +364,7 @@ static char *x509_get_part(X509_NAME *name, int nid) + static char data[128]; + + if (!name || (X509_NAME_get_text_by_NID(name, nid, data, sizeof(data)) < 0)) +- mutt_str_strfcpy(data, _("Unknown"), sizeof(data)); ++ return NULL; + + return data; + } +@@ -580,7 +545,7 @@ static int ssl_init(void) + if (init_complete) + return 0; + +- if (!HAVE_ENTROPY()) ++ if (RAND_status() != 1) + { + /* load entropy from files */ + struct Buffer *path = mutt_buffer_pool_get(); +@@ -600,7 +565,7 @@ static int ssl_init(void) + mutt_buffer_pool_release(&path); + + mutt_clear_error(); +- if (!HAVE_ENTROPY()) ++ if (RAND_status() != 1) + { + mutt_error(_("Failed to find enough entropy on your system")); + return -1; +@@ -642,15 +607,15 @@ static void ssl_get_client_cert(struct SslSockData *ssldata, struct Connection * + } + + /** +- * ssl_socket_close_and_restore - Close an SSL Connection and restore Connection callbacks - Implements Connection::conn_close() ++ * ssl_socket_close_and_restore - Close an SSL Connection and restore Connection callbacks - Implements Connection::close() + */ + static int ssl_socket_close_and_restore(struct Connection *conn) + { + int rc = ssl_socket_close(conn); +- conn->conn_read = raw_socket_read; +- conn->conn_write = raw_socket_write; +- conn->conn_close = raw_socket_close; +- conn->conn_poll = raw_socket_poll; ++ conn->read = raw_socket_read; ++ conn->write = raw_socket_write; ++ conn->close = raw_socket_close; ++ conn->poll = raw_socket_poll; + + return rc; + } +@@ -700,7 +665,7 @@ static bool check_certificate_file(X509 *peercert) + if (!C_CertificateFile) + return false; + +- fp = fopen(C_CertificateFile, "rt"); ++ fp = mutt_file_fopen(C_CertificateFile, "rt"); + if (!fp) + return false; + +@@ -865,6 +830,47 @@ static int ssl_cache_trusted_cert(X509 *c) + return sk_X509_push(SslSessionCerts, X509_dup(c)); + } + ++/** ++ * add_cert - Look up certificate info and save it to a list ++ * @param title Title for this block of certificate info ++ * @param cert Certificate ++ * @param issuer If true, look up the issuer rather than owner details ++ * @param list List to save info to ++ */ ++static void add_cert(const char *title, X509 *cert, bool issuer, struct ListHead *list) ++{ ++ static const int part[] = { ++ NID_commonName, // CN ++ NID_pkcs9_emailAddress, // Email ++ NID_organizationName, // O ++ NID_organizationalUnitName, // OU ++ NID_localityName, // L ++ NID_stateOrProvinceName, // ST ++ NID_countryName, // C ++ }; ++ ++ X509_NAME *x509 = NULL; ++ if (issuer) ++ x509 = X509_get_issuer_name(cert); ++ else ++ x509 = X509_get_subject_name(cert); ++ ++ // Allocate formatted strings and let the ListHead take ownership ++ mutt_list_insert_tail(list, mutt_str_strdup(title)); ++ ++ char *line = NULL; ++ char *text = NULL; ++ for (size_t i = 0; i < mutt_array_size(part); i++) ++ { ++ text = x509_get_part(x509, part[i]); ++ if (text) ++ { ++ mutt_str_asprintf(&line, " %s", text); ++ mutt_list_insert_tail(list, line); ++ } ++ } ++} ++ + /** + * interactive_check_cert - Ask the user if a certificate is valid + * @param cert Certificate +@@ -877,79 +883,47 @@ static int ssl_cache_trusted_cert(X509 *c) + */ + static bool interactive_check_cert(X509 *cert, int idx, size_t len, SSL *ssl, bool allow_always) + { +- static const int part[] = { +- NID_commonName, /* CN */ +- NID_pkcs9_emailAddress, /* Email */ +- NID_organizationName, /* O */ +- NID_organizationalUnitName, /* OU */ +- NID_localityName, /* L */ +- NID_stateOrProvinceName, /* ST */ +- NID_countryName, /* C */ +- }; +- X509_NAME *x509_subject = NULL; +- X509_NAME *x509_issuer = NULL; +- char helpstr[1024]; + char buf[256]; +- char title[256]; +- struct Menu *menu = mutt_menu_new(MENU_GENERIC); +- int done; +- FILE *fp = NULL; +- int ALLOW_SKIP = 0; /* All caps tells Coverity that this is effectively a preproc condition */ +- bool reset_ignoremacro = false; ++ struct ListHead list = STAILQ_HEAD_INITIALIZER(list); + +- mutt_menu_push_current(menu); ++ add_cert(_("This certificate belongs to:"), cert, false, &list); ++ mutt_list_insert_tail(&list, NULL); ++ add_cert(_("This certificate was issued by:"), cert, true, &list); + +- struct Buffer *drow = mutt_buffer_pool_get(); ++ char *line = NULL; ++ mutt_list_insert_tail(&list, NULL); ++ mutt_list_insert_tail(&list, mutt_str_strdup(_("This certificate is valid"))); ++ mutt_str_asprintf(&line, _(" from %s"), asn1time_to_string(X509_getm_notBefore(cert))); ++ mutt_list_insert_tail(&list, line); ++ mutt_str_asprintf(&line, _(" to %s"), asn1time_to_string(X509_getm_notAfter(cert))); ++ mutt_list_insert_tail(&list, line); + +- mutt_menu_add_dialog_row(menu, _("This certificate belongs to:")); +- x509_subject = X509_get_subject_name(cert); +- for (unsigned int u = 0; u < mutt_array_size(part); u++) +- { +- mutt_buffer_printf(drow, " %s", x509_get_part(x509_subject, part[u])); +- mutt_menu_add_dialog_row(menu, mutt_b2s(drow)); +- } +- +- mutt_menu_add_dialog_row(menu, ""); +- mutt_menu_add_dialog_row(menu, _("This certificate was issued by:")); +- x509_issuer = X509_get_issuer_name(cert); +- for (unsigned int u = 0; u < mutt_array_size(part); u++) +- { +- mutt_buffer_printf(drow, " %s", x509_get_part(x509_issuer, part[u])); +- mutt_menu_add_dialog_row(menu, mutt_b2s(drow)); +- } +- +- mutt_menu_add_dialog_row(menu, ""); +- mutt_menu_add_dialog_row(menu, _("This certificate is valid")); +- mutt_buffer_printf(drow, _(" from %s"), asn1time_to_string(X509_getm_notBefore(cert))); +- mutt_menu_add_dialog_row(menu, mutt_b2s(drow)); +- mutt_buffer_printf(drow, _(" to %s"), asn1time_to_string(X509_getm_notAfter(cert))); +- mutt_menu_add_dialog_row(menu, mutt_b2s(drow)); +- +- mutt_menu_add_dialog_row(menu, ""); ++ mutt_list_insert_tail(&list, NULL); + buf[0] = '\0'; + x509_fingerprint(buf, sizeof(buf), cert, EVP_sha1); +- mutt_buffer_printf(drow, _("SHA1 Fingerprint: %s"), buf); +- mutt_menu_add_dialog_row(menu, mutt_b2s(drow)); ++ mutt_str_asprintf(&line, _("SHA1 Fingerprint: %s"), buf); ++ mutt_list_insert_tail(&list, line); + buf[0] = '\0'; + buf[40] = '\0'; /* Ensure the second printed line is null terminated */ + x509_fingerprint(buf, sizeof(buf), cert, EVP_sha256); + buf[39] = '\0'; /* Divide into two lines of output */ +- mutt_buffer_printf(drow, "%s%s", _("SHA256 Fingerprint: "), buf); +- mutt_menu_add_dialog_row(menu, mutt_b2s(drow)); +- mutt_buffer_printf(drow, "%*s%s", +- (int) mutt_str_strlen(_("SHA256 Fingerprint: ")), "", buf + 40); +- mutt_menu_add_dialog_row(menu, mutt_b2s(drow)); +- +- snprintf(title, sizeof(title), +- _("SSL Certificate check (certificate %zu of %zu in chain)"), len - idx, len); +- menu->title = title; ++ mutt_str_asprintf(&line, "%s%s", _("SHA256 Fingerprint: "), buf); ++ mutt_list_insert_tail(&list, line); ++ mutt_str_asprintf(&line, "%*s%s", ++ (int) mutt_str_strlen(_("SHA256 Fingerprint: ")), "", buf + 40); ++ mutt_list_insert_tail(&list, line); + ++ bool allow_skip = false; + /* The leaf/host certificate can't be skipped. */ + #ifdef HAVE_SSL_PARTIAL_CHAIN + if ((idx != 0) && C_SslVerifyPartialChains) +- ALLOW_SKIP = 1; ++ allow_skip = true; + #endif + ++ char title[256]; ++ snprintf(title, sizeof(title), ++ _("SSL Certificate check (certificate %zu of %zu in chain)"), len - idx, len); ++ + /* Inside ssl_verify_callback(), this function is guarded by a call to + * check_certificate_by_digest(). This means if check_certificate_expiration() is + * true, then check_certificate_file() must be false. Therefore we don't need +@@ -957,91 +931,45 @@ static bool interactive_check_cert(X509 *cert, int idx, size_t len, SSL *ssl, bo + allow_always = allow_always && C_CertificateFile && + check_certificate_expiration(cert, true); + +- /* L10N: These four letters correspond to the choices in the next four strings: +- (r)eject, accept (o)nce, (a)ccept always, (s)kip. +- These prompts are the interactive certificate confirmation prompts for +- an OpenSSL connection. */ +- menu->keys = _("roas"); +- if (allow_always) +- { +- if (ALLOW_SKIP) +- menu->prompt = _("(r)eject, accept (o)nce, (a)ccept always, (s)kip"); +- else +- menu->prompt = _("(r)eject, accept (o)nce, (a)ccept always"); +- } +- else +- { +- if (ALLOW_SKIP) +- menu->prompt = _("(r)eject, accept (o)nce, (s)kip"); +- else +- menu->prompt = _("(r)eject, accept (o)nce"); +- } ++ int rc = dlg_verify_cert(title, &list, allow_always, allow_skip); ++ if ((rc == 3) && !allow_always) ++ rc = 4; + +- helpstr[0] = '\0'; +- mutt_make_help(buf, sizeof(buf), _("Exit "), MENU_GENERIC, OP_EXIT); +- mutt_str_strcat(helpstr, sizeof(helpstr), buf); +- mutt_make_help(buf, sizeof(buf), _("Help"), MENU_GENERIC, OP_HELP); +- mutt_str_strcat(helpstr, sizeof(helpstr), buf); +- menu->help = helpstr; +- +- if (!OptIgnoreMacroEvents) ++ switch (rc) + { +- OptIgnoreMacroEvents = true; +- reset_ignoremacro = true; +- } +- +- done = 0; +- while (done == 0) +- { +- switch (mutt_menu_loop(menu)) ++ case 1: // Reject ++ break; ++ case 2: // Once ++ SSL_set_ex_data(ssl, SkipModeExDataIndex, NULL); ++ ssl_cache_trusted_cert(cert); ++ break; ++ case 3: // Always + { +- case -1: /* abort */ +- case OP_MAX + 1: /* reject */ +- case OP_EXIT: +- done = 1; +- break; +- case OP_MAX + 3: /* accept always */ +- if (!allow_always) +- break; +- done = 0; +- fp = fopen(C_CertificateFile, "a"); +- if (fp) +- { +- if (PEM_write_X509(fp, cert)) +- done = 1; +- mutt_file_fclose(&fp); +- } +- if (done == 0) +- { +- mutt_error(_("Warning: Couldn't save certificate")); +- } +- else +- { +- mutt_message(_("Certificate saved")); +- mutt_sleep(0); +- } +- /* fallthrough */ +- case OP_MAX + 2: /* accept once */ +- done = 2; +- SSL_set_ex_data(ssl, SkipModeExDataIndex, NULL); +- ssl_cache_trusted_cert(cert); +- break; +- case OP_MAX + 4: /* skip */ +- if (!ALLOW_SKIP) +- break; +- done = 2; +- SSL_set_ex_data(ssl, SkipModeExDataIndex, &SkipModeExDataIndex); +- break; ++ bool saved = false; ++ FILE *fp = mutt_file_fopen(C_CertificateFile, "a"); ++ if (fp) ++ { ++ if (PEM_write_X509(fp, cert)) ++ saved = true; ++ mutt_file_fclose(&fp); ++ } ++ ++ if (saved) ++ mutt_message(_("Certificate saved")); ++ else ++ mutt_error(_("Warning: Couldn't save certificate")); ++ ++ SSL_set_ex_data(ssl, SkipModeExDataIndex, NULL); ++ ssl_cache_trusted_cert(cert); ++ break; + } ++ case 4: // Skip ++ SSL_set_ex_data(ssl, SkipModeExDataIndex, &SkipModeExDataIndex); ++ break; + } +- if (reset_ignoremacro) +- OptIgnoreMacroEvents = false; +- +- mutt_buffer_pool_release(&drow); +- mutt_menu_pop_current(menu); +- mutt_menu_free(&menu); +- mutt_debug(LL_DEBUG2, "done=%d\n", done); +- return done == 2; ++ ++ mutt_list_free(&list); ++ return (rc > 1); + } + + /** +@@ -1346,10 +1274,13 @@ static int ssl_setup(struct Connection *conn) + } + + /** +- * ssl_socket_poll - Check whether a socket read would block - Implements Connection::conn_poll() ++ * ssl_socket_poll - Check whether a socket read would block - Implements Connection::poll() + */ + static int ssl_socket_poll(struct Connection *conn, time_t wait_secs) + { ++ if (!conn) ++ return -1; ++ + if (SSL_has_pending(sockdata(conn)->ssl)) + return 1; + +@@ -1357,7 +1288,7 @@ static int ssl_socket_poll(struct Connection *conn, time_t wait_secs) + } + + /** +- * ssl_socket_open - Open an SSL socket - Implements Connection::conn_open() ++ * ssl_socket_open - Open an SSL socket - Implements Connection::open() + */ + static int ssl_socket_open(struct Connection *conn) + { +@@ -1372,7 +1303,7 @@ static int ssl_socket_open(struct Connection *conn) + } + + /** +- * ssl_socket_read - Read data from an SSL socket - Implements Connection::conn_read() ++ * ssl_socket_read - Read data from an SSL socket - Implements Connection::read() + */ + static int ssl_socket_read(struct Connection *conn, char *buf, size_t count) + { +@@ -1394,7 +1325,7 @@ static int ssl_socket_read(struct Connection *conn, char *buf, size_t count) + } + + /** +- * ssl_socket_write - Write data to an SSL socket - Implements Connection::conn_write() ++ * ssl_socket_write - Write data to an SSL socket - Implements Connection::write() + */ + static int ssl_socket_write(struct Connection *conn, const char *buf, size_t count) + { +@@ -1415,7 +1346,7 @@ static int ssl_socket_write(struct Connection *conn, const char *buf, size_t cou + } + + /** +- * ssl_socket_close - Close an SSL connection - Implements Connection::conn_close() ++ * ssl_socket_close - Close an SSL connection - Implements Connection::close() + */ + static int ssl_socket_close(struct Connection *conn) + { +@@ -1450,10 +1381,10 @@ int mutt_ssl_starttls(struct Connection *conn) + int rc = ssl_setup(conn); + + /* hmm. watch out if we're starting TLS over any method other than raw. */ +- conn->conn_read = ssl_socket_read; +- conn->conn_write = ssl_socket_write; +- conn->conn_close = ssl_socket_close_and_restore; +- conn->conn_poll = ssl_socket_poll; ++ conn->read = ssl_socket_read; ++ conn->write = ssl_socket_write; ++ conn->close = ssl_socket_close_and_restore; ++ conn->poll = ssl_socket_poll; + + return rc; + } +@@ -1468,15 +1399,15 @@ int mutt_ssl_socket_setup(struct Connection *conn) + { + if (ssl_init() < 0) + { +- conn->conn_open = ssl_socket_open_err; ++ conn->open = ssl_socket_open_err; + return -1; + } + +- conn->conn_open = ssl_socket_open; +- conn->conn_read = ssl_socket_read; +- conn->conn_write = ssl_socket_write; +- conn->conn_poll = ssl_socket_poll; +- conn->conn_close = ssl_socket_close; ++ conn->open = ssl_socket_open; ++ conn->read = ssl_socket_read; ++ conn->write = ssl_socket_write; ++ conn->poll = ssl_socket_poll; ++ conn->close = ssl_socket_close; + + return 0; + } +diff --git a/conn/conn_raw.c b/conn/raw.c +similarity index 93% +rename from conn/conn_raw.c +rename to conn/raw.c +index e2d7aeab0..9189ca2a5 100644 +--- a/conn/conn_raw.c ++++ b/conn/raw.c +@@ -42,11 +42,12 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "conn_private.h" ++#include "mutt/lib.h" ++#include "gui/lib.h" + #include "conn_globals.h" + #include "connaccount.h" + #include "connection.h" +-#include "curs_lib.h" + #include "globals.h" + #include "options.h" + #include "socket.h" // IWYU pragma: keep +@@ -91,7 +92,7 @@ static int socket_connect(int fd, struct sockaddr *sa) + if (C_ConnectTimeout > 0) + alarm(C_ConnectTimeout); + +- mutt_sig_allow_interrupt(1); ++ mutt_sig_allow_interrupt(true); + + /* FreeBSD's connect() does not respect SA_RESTART, meaning + * a SIGWINCH will cause the connect to fail. */ +@@ -110,14 +111,14 @@ static int socket_connect(int fd, struct sockaddr *sa) + + if (C_ConnectTimeout > 0) + alarm(0); +- mutt_sig_allow_interrupt(0); ++ mutt_sig_allow_interrupt(false); + sigprocmask(SIG_UNBLOCK, &set, NULL); + + return save_errno; + } + + /** +- * raw_socket_open - Open a socket - Implements Connection::conn_open() ++ * raw_socket_open - Open a socket - Implements Connection::open() + */ + int raw_socket_open(struct Connection *conn) + { +@@ -265,13 +266,13 @@ int raw_socket_open(struct Connection *conn) + } + + /** +- * raw_socket_read - Read data from a socket - Implements Connection::conn_read() ++ * raw_socket_read - Read data from a socket - Implements Connection::read() + */ + int raw_socket_read(struct Connection *conn, char *buf, size_t count) + { + int rc; + +- mutt_sig_allow_interrupt(1); ++ mutt_sig_allow_interrupt(true); + do + { + rc = read(conn->fd, buf, count); +@@ -282,7 +283,7 @@ int raw_socket_read(struct Connection *conn, char *buf, size_t count) + mutt_error(_("Error talking to %s (%s)"), conn->account.host, strerror(errno)); + SigInt = 0; + } +- mutt_sig_allow_interrupt(0); ++ mutt_sig_allow_interrupt(false); + + if (SigInt) + { +@@ -295,14 +296,14 @@ int raw_socket_read(struct Connection *conn, char *buf, size_t count) + } + + /** +- * raw_socket_write - Write data to a socket - Implements Connection::conn_write() ++ * raw_socket_write - Write data to a socket - Implements Connection::write() + */ + int raw_socket_write(struct Connection *conn, const char *buf, size_t count) + { + int rc; + size_t sent = 0; + +- mutt_sig_allow_interrupt(1); ++ mutt_sig_allow_interrupt(true); + do + { + do +@@ -313,19 +314,19 @@ int raw_socket_write(struct Connection *conn, const char *buf, size_t count) + if (rc < 0) + { + mutt_error(_("Error talking to %s (%s)"), conn->account.host, strerror(errno)); +- mutt_sig_allow_interrupt(0); ++ mutt_sig_allow_interrupt(false); + return -1; + } + + sent += rc; + } while ((sent < count) && (SigInt == 0)); + +- mutt_sig_allow_interrupt(0); ++ mutt_sig_allow_interrupt(false); + return sent; + } + + /** +- * raw_socket_poll - Checks whether reads would block - Implements Connection::conn_poll() ++ * raw_socket_poll - Checks whether reads would block - Implements Connection::poll() + */ + int raw_socket_poll(struct Connection *conn, time_t wait_secs) + { +@@ -364,7 +365,7 @@ int raw_socket_poll(struct Connection *conn, time_t wait_secs) + } + + /** +- * raw_socket_close - Close a socket - Implements Connection::conn_close() ++ * raw_socket_close - Close a socket - Implements Connection::close() + */ + int raw_socket_close(struct Connection *conn) + { +diff --git a/conn/sasl.c b/conn/sasl.c +index 1f3606c72..b259830d4 100644 +--- a/conn/sasl.c ++++ b/conn/sasl.c +@@ -46,14 +46,56 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" ++#include "gui/lib.h" ++#include "mutt.h" + #include "sasl.h" + #include "connaccount.h" + #include "connection.h" +-#include "curs_lib.h" +-#include "mutt_account.h" + #include "options.h" + ++/** ++ * struct SaslSockData - SASL authentication API ++ */ ++struct SaslSockData ++{ ++ sasl_conn_t *saslconn; ++ const sasl_ssf_t *ssf; ++ const unsigned int *pbufsize; ++ ++ /* read buffer */ ++ const char *buf; ++ unsigned int blen; ++ unsigned int bpos; ++ ++ void *sockdata; ///< Underlying socket data ++ ++ /** ++ * open - Open a socket Connection - Implements Connection::open() ++ */ ++ int (*open)(struct Connection *conn); ++ ++ /** ++ * read - Read from a socket Connection - Implements Connection::read() ++ */ ++ int (*read)(struct Connection *conn, char *buf, size_t count); ++ ++ /** ++ * write - Write to a socket Connection - Implements Connection::write() ++ */ ++ int (*write)(struct Connection *conn, const char *buf, size_t count); ++ ++ /** ++ * poll - Check whether a socket read would block - Implements Connection::poll() ++ */ ++ int (*poll)(struct Connection *conn, time_t wait_secs); ++ ++ /** ++ * close - Close a socket Connection - Implements Connection::close() ++ */ ++ int (*close)(struct Connection *conn); ++}; ++ + /* arbitrary. SASL will probably use a smaller buffer anyway. OTOH it's + * been a while since I've had access to an SASL server which negotiated + * a protection buffer. */ +@@ -247,30 +289,29 @@ static int mutt_sasl_cb_authname(void *context, int id, const char **result, uns + if (!result) + return SASL_FAIL; + +- struct ConnAccount *account = context; ++ struct ConnAccount *cac = context; + + *result = NULL; + if (len) + *len = 0; + +- if (!account) ++ if (!cac) + return SASL_BADPARAM; + + mutt_debug(LL_DEBUG2, "getting %s for %s:%u\n", +- (id == SASL_CB_AUTHNAME) ? "authname" : "user", account->host, +- account->port); ++ (id == SASL_CB_AUTHNAME) ? "authname" : "user", cac->host, cac->port); + + if (id == SASL_CB_AUTHNAME) + { +- if (mutt_account_getlogin(account) < 0) ++ if (mutt_account_getlogin(cac) < 0) + return SASL_FAIL; +- *result = account->login; ++ *result = cac->login; + } + else + { +- if (mutt_account_getuser(account) < 0) ++ if (mutt_account_getuser(cac) < 0) + return SASL_FAIL; +- *result = account->user; ++ *result = cac->user; + } + + if (len) +@@ -289,22 +330,21 @@ static int mutt_sasl_cb_authname(void *context, int id, const char **result, uns + */ + static int mutt_sasl_cb_pass(sasl_conn_t *conn, void *context, int id, sasl_secret_t **psecret) + { +- struct ConnAccount *account = context; ++ struct ConnAccount *cac = context; + int len; + +- if (!account || !psecret) ++ if (!cac || !psecret) + return SASL_BADPARAM; + +- mutt_debug(LL_DEBUG2, "getting password for %s@%s:%u\n", account->login, +- account->host, account->port); ++ mutt_debug(LL_DEBUG2, "getting password for %s@%s:%u\n", cac->login, cac->host, cac->port); + +- if (mutt_account_getpass(account) < 0) ++ if (mutt_account_getpass(cac) < 0) + return SASL_FAIL; + +- len = strlen(account->pass); ++ len = strlen(cac->pass); + + mutt_mem_realloc(&secret_ptr, sizeof(sasl_secret_t) + len); +- memcpy((char *) secret_ptr->data, account->pass, (size_t) len); ++ memcpy((char *) secret_ptr->data, cac->pass, (size_t) len); + secret_ptr->len = len; + *psecret = secret_ptr; + +@@ -313,26 +353,26 @@ static int mutt_sasl_cb_pass(sasl_conn_t *conn, void *context, int id, sasl_secr + + /** + * mutt_sasl_get_callbacks - Get the SASL callback functions +- * @param account ConnAccount to associate with callbacks ++ * @param cac ConnAccount to associate with callbacks + * @retval ptr Array of callback functions + */ +-static sasl_callback_t *mutt_sasl_get_callbacks(struct ConnAccount *account) ++static sasl_callback_t *mutt_sasl_get_callbacks(struct ConnAccount *cac) + { + sasl_callback_t *callback = MuttSaslCallbacks; + + callback->id = SASL_CB_USER; + callback->proc = (int (*)(void)) mutt_sasl_cb_authname; +- callback->context = account; ++ callback->context = cac; + callback++; + + callback->id = SASL_CB_AUTHNAME; + callback->proc = (int (*)(void)) mutt_sasl_cb_authname; +- callback->context = account; ++ callback->context = cac; + callback++; + + callback->id = SASL_CB_PASS; + callback->proc = (int (*)(void)) mutt_sasl_cb_pass; +- callback->context = account; ++ callback->context = cac; + callback++; + + callback->id = SASL_CB_GETREALM; +@@ -348,7 +388,7 @@ static sasl_callback_t *mutt_sasl_get_callbacks(struct ConnAccount *account) + } + + /** +- * mutt_sasl_conn_open - empty wrapper for underlying open function - Implements Connection::conn_open() ++ * mutt_sasl_conn_open - empty wrapper for underlying open function - Implements Connection::open() + * + * We don't know in advance that a connection will use SASL, so we replace + * conn's methods with sasl methods when authentication is successful, using +@@ -358,14 +398,14 @@ static int mutt_sasl_conn_open(struct Connection *conn) + { + struct SaslSockData *sasldata = conn->sockdata; + conn->sockdata = sasldata->sockdata; +- int rc = (sasldata->msasl_open)(conn); ++ int rc = sasldata->open(conn); + conn->sockdata = sasldata; + + return rc; + } + + /** +- * mutt_sasl_conn_close - close SASL connection - Implements Connection::conn_close() ++ * mutt_sasl_conn_close - close SASL connection - Implements Connection::close() + * + * Calls underlying close function and disposes of the sasl_conn_t object, then + * restores connection to pre-sasl state +@@ -376,24 +416,24 @@ static int mutt_sasl_conn_close(struct Connection *conn) + + /* restore connection's underlying methods */ + conn->sockdata = sasldata->sockdata; +- conn->conn_open = sasldata->msasl_open; +- conn->conn_read = sasldata->msasl_read; +- conn->conn_write = sasldata->msasl_write; +- conn->conn_poll = sasldata->msasl_poll; +- conn->conn_close = sasldata->msasl_close; ++ conn->open = sasldata->open; ++ conn->read = sasldata->read; ++ conn->write = sasldata->write; ++ conn->poll = sasldata->poll; ++ conn->close = sasldata->close; + + /* release sasl resources */ + sasl_dispose(&sasldata->saslconn); + FREE(&sasldata); + + /* call underlying close */ +- int rc = (conn->conn_close)(conn); ++ int rc = conn->close(conn); + + return rc; + } + + /** +- * mutt_sasl_conn_read - Read data from an SASL connection - Implements Connection::conn_read() ++ * mutt_sasl_conn_read - Read data from an SASL connection - Implements Connection::read() + */ + static int mutt_sasl_conn_read(struct Connection *conn, char *buf, size_t count) + { +@@ -426,7 +466,7 @@ static int mutt_sasl_conn_read(struct Connection *conn, char *buf, size_t count) + do + { + /* call the underlying read function to fill the buffer */ +- rc = (sasldata->msasl_read)(conn, buf, count); ++ rc = sasldata->read(conn, buf, count); + if (rc <= 0) + goto out; + +@@ -448,7 +488,7 @@ static int mutt_sasl_conn_read(struct Connection *conn, char *buf, size_t count) + rc = olen; + } + else +- rc = (sasldata->msasl_read)(conn, buf, count); ++ rc = sasldata->read(conn, buf, count); + + out: + conn->sockdata = sasldata; +@@ -457,7 +497,7 @@ static int mutt_sasl_conn_read(struct Connection *conn, char *buf, size_t count) + } + + /** +- * mutt_sasl_conn_write - Write to an SASL connection - Implements Connection::conn_write() ++ * mutt_sasl_conn_write - Write to an SASL connection - Implements Connection::write() + */ + static int mutt_sasl_conn_write(struct Connection *conn, const char *buf, size_t count) + { +@@ -483,7 +523,7 @@ static int mutt_sasl_conn_write(struct Connection *conn, const char *buf, size_t + goto fail; + } + +- rc = (sasldata->msasl_write)(conn, pbuf, plen); ++ rc = sasldata->write(conn, pbuf, plen); + if (rc != plen) + goto fail; + +@@ -494,7 +534,7 @@ static int mutt_sasl_conn_write(struct Connection *conn, const char *buf, size_t + else + { + /* just write using the underlying socket function */ +- rc = (sasldata->msasl_write)(conn, buf, count); ++ rc = sasldata->write(conn, buf, count); + } + + conn->sockdata = sasldata; +@@ -507,7 +547,7 @@ static int mutt_sasl_conn_write(struct Connection *conn, const char *buf, size_t + } + + /** +- * mutt_sasl_conn_poll - Check an SASL connection for data - Implements Connection::conn_poll() ++ * mutt_sasl_conn_poll - Check an SASL connection for data - Implements Connection::poll() + */ + static int mutt_sasl_conn_poll(struct Connection *conn, time_t wait_secs) + { +@@ -515,14 +555,14 @@ static int mutt_sasl_conn_poll(struct Connection *conn, time_t wait_secs) + int rc; + + conn->sockdata = sasldata->sockdata; +- rc = sasldata->msasl_poll(conn, wait_secs); ++ rc = sasldata->poll(conn, wait_secs); + conn->sockdata = sasldata; + + return rc; + } + + /** +- * mutt_sasl_client_new - wrapper for sasl_client_new ++ * mutt_sasl_client_new - Wrapper for sasl_client_new() + * @param[in] conn Connection to a server + * @param[out] saslconn SASL connection + * @retval 0 Success +@@ -539,31 +579,15 @@ int mutt_sasl_client_new(struct Connection *conn, sasl_conn_t **saslconn) + char iplocalport[IP_PORT_BUFLEN], ipremoteport[IP_PORT_BUFLEN]; + char *plp = NULL; + char *prp = NULL; +- const char *service = NULL; + int rc; + + if (mutt_sasl_start() != SASL_OK) + return -1; + +- switch (conn->account.type) ++ if (!conn->account.service) + { +- case MUTT_ACCT_TYPE_IMAP: +- service = "imap"; +- break; +- case MUTT_ACCT_TYPE_POP: +- service = "pop"; +- break; +- case MUTT_ACCT_TYPE_SMTP: +- service = "smtp"; +- break; +-#ifdef USE_NNTP +- case MUTT_ACCT_TYPE_NNTP: +- service = "nntp"; +- break; +-#endif +- default: +- mutt_error(_("Unknown SASL profile")); +- return -1; ++ mutt_error(_("Unknown SASL profile")); ++ return -1; + } + + size = sizeof(local); +@@ -590,7 +614,7 @@ int mutt_sasl_client_new(struct Connection *conn, sasl_conn_t **saslconn) + + mutt_debug(LL_DEBUG2, "SASL local ip: %s, remote ip:%s\n", NONULL(plp), NONULL(prp)); + +- rc = sasl_client_new(service, conn->account.host, plp, prp, ++ rc = sasl_client_new(conn->account.service, conn->account.host, plp, prp, + mutt_sasl_get_callbacks(&conn->account), 0, saslconn); + + if (rc != SASL_OK) +@@ -653,7 +677,7 @@ int mutt_sasl_interact(sasl_interact_t *interaction) + + snprintf(prompt, sizeof(prompt), "%s: ", interaction->prompt); + resp[0] = '\0'; +- if (OptNoCurses || mutt_get_field(prompt, resp, sizeof(resp), 0)) ++ if (OptNoCurses || mutt_get_field(prompt, resp, sizeof(resp), MUTT_COMP_NO_FLAGS)) + return SASL_FAIL; + + interaction->len = mutt_str_strlen(resp) + 1; +@@ -699,19 +723,19 @@ void mutt_sasl_setup_conn(struct Connection *conn, sasl_conn_t *saslconn) + + /* preserve old functions */ + sasldata->sockdata = conn->sockdata; +- sasldata->msasl_open = conn->conn_open; +- sasldata->msasl_read = conn->conn_read; +- sasldata->msasl_write = conn->conn_write; +- sasldata->msasl_poll = conn->conn_poll; +- sasldata->msasl_close = conn->conn_close; ++ sasldata->open = conn->open; ++ sasldata->read = conn->read; ++ sasldata->write = conn->write; ++ sasldata->poll = conn->poll; ++ sasldata->close = conn->close; + + /* and set up new functions */ + conn->sockdata = sasldata; +- conn->conn_open = mutt_sasl_conn_open; +- conn->conn_read = mutt_sasl_conn_read; +- conn->conn_write = mutt_sasl_conn_write; +- conn->conn_poll = mutt_sasl_conn_poll; +- conn->conn_close = mutt_sasl_conn_close; ++ conn->open = mutt_sasl_conn_open; ++ conn->read = mutt_sasl_conn_read; ++ conn->write = mutt_sasl_conn_write; ++ conn->poll = mutt_sasl_conn_poll; ++ conn->close = mutt_sasl_conn_close; + } + + /** +diff --git a/conn/sasl.h b/conn/sasl.h +index 3dd738857..f7de9bee3 100644 +--- a/conn/sasl.h ++++ b/conn/sasl.h +@@ -27,36 +27,13 @@ + + #include + #include +-#include ++#include + + struct Connection; + +-int mutt_sasl_client_new(struct Connection *conn, sasl_conn_t **saslconn); +-int mutt_sasl_interact(sasl_interact_t *interaction); ++int mutt_sasl_client_new(struct Connection *conn, sasl_conn_t **saslconn); ++void mutt_sasl_done (void); ++int mutt_sasl_interact (sasl_interact_t *interaction); + void mutt_sasl_setup_conn(struct Connection *conn, sasl_conn_t *saslconn); +-void mutt_sasl_done(void); +- +-/** +- * struct SaslSockData - SASL authentication API +- */ +-struct SaslSockData +-{ +- sasl_conn_t *saslconn; +- const sasl_ssf_t *ssf; +- const unsigned int *pbufsize; +- +- /* read buffer */ +- const char *buf; +- unsigned int blen; +- unsigned int bpos; +- +- /* underlying socket data */ +- void *sockdata; +- int (*msasl_open) (struct Connection *conn); +- int (*msasl_close)(struct Connection *conn); +- int (*msasl_read) (struct Connection *conn, char *buf, size_t len); +- int (*msasl_write)(struct Connection *conn, const char *buf, size_t count); +- int (*msasl_poll) (struct Connection *conn, time_t wait_secs); +-}; + + #endif /* MUTT_CONN_SASL_H */ +diff --git a/conn/sasl_plain.c b/conn/sasl_plain.c +index 06be8de70..9821b1f8d 100644 +--- a/conn/sasl_plain.c ++++ b/conn/sasl_plain.c +@@ -28,7 +28,7 @@ + + #include "config.h" + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "sasl_plain.h" + + /** +diff --git a/conn/socket.c b/conn/socket.c +index 6520ebbc5..eca69c317 100644 +--- a/conn/socket.c ++++ b/conn/socket.c +@@ -32,14 +32,14 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "conn_private.h" ++#include "mutt/lib.h" + #include "socket.h" + #include "conn_globals.h" + #include "connaccount.h" + #include "connection.h" + #include "protos.h" + #include "ssl.h" +-#include "tunnel.h" + + /** + * socket_preconnect - Execute a command before opening a socket +@@ -78,7 +78,7 @@ int mutt_socket_open(struct Connection *conn) + if (socket_preconnect()) + return -1; + +- rc = conn->conn_open(conn); ++ rc = conn->open(conn); + + mutt_debug(LL_DEBUG2, "Connected to %s:%d on fd=%d\n", conn->account.host, + conn->account.port, conn->fd); +@@ -102,7 +102,7 @@ int mutt_socket_close(struct Connection *conn) + if (conn->fd < 0) + mutt_debug(LL_DEBUG1, "Attempt to close closed connection\n"); + else +- rc = conn->conn_close(conn); ++ rc = conn->close(conn); + + conn->fd = -1; + conn->ssf = 0; +@@ -122,7 +122,7 @@ int mutt_socket_close(struct Connection *conn) + */ + int mutt_socket_read(struct Connection *conn, char *buf, size_t len) + { +- return conn->conn_read(conn, buf, len); ++ return conn->read(conn, buf, len); + } + + /** +@@ -135,7 +135,7 @@ int mutt_socket_read(struct Connection *conn, char *buf, size_t len) + */ + int mutt_socket_write(struct Connection *conn, const char *buf, size_t len) + { +- return conn->conn_write(conn, buf, len); ++ return conn->write(conn, buf, len); + } + + /** +@@ -161,7 +161,7 @@ int mutt_socket_write_d(struct Connection *conn, const char *buf, int len, int d + + while (sent < len) + { +- const int rc = conn->conn_write(conn, buf + sent, len - sent); ++ const int rc = conn->write(conn, buf + sent, len - sent); + if (rc < 0) + { + mutt_debug(LL_DEBUG1, "error writing (%s), closing socket\n", strerror(errno)); +@@ -192,8 +192,8 @@ int mutt_socket_poll(struct Connection *conn, time_t wait_secs) + if (conn->bufpos < conn->available) + return conn->available - conn->bufpos; + +- if (conn->conn_poll) +- return conn->conn_poll(conn, wait_secs); ++ if (conn->poll) ++ return conn->poll(conn, wait_secs); + + return -1; + } +@@ -210,7 +210,7 @@ int mutt_socket_readchar(struct Connection *conn, char *c) + if (conn->bufpos >= conn->available) + { + if (conn->fd >= 0) +- conn->available = conn->conn_read(conn, conn->inbuf, sizeof(conn->inbuf)); ++ conn->available = conn->read(conn, conn->inbuf, sizeof(conn->inbuf)); + else + { + mutt_debug(LL_DEBUG1, "attempt to read from closed connection\n"); +@@ -286,18 +286,17 @@ struct Connection *mutt_socket_new(enum ConnectionType type) + } + else if (type == MUTT_CONNECTION_SSL) + { +- int ret = mutt_ssl_socket_setup(conn); +- +- if (ret < 0) ++ int rc = mutt_ssl_socket_setup(conn); ++ if (rc < 0) + FREE(&conn); + } + else + { +- conn->conn_read = raw_socket_read; +- conn->conn_write = raw_socket_write; +- conn->conn_open = raw_socket_open; +- conn->conn_close = raw_socket_close; +- conn->conn_poll = raw_socket_poll; ++ conn->read = raw_socket_read; ++ conn->write = raw_socket_write; ++ conn->open = raw_socket_open; ++ conn->close = raw_socket_close; ++ conn->poll = raw_socket_poll; + } + + return conn; +diff --git a/conn/socket.h b/conn/socket.h +index cbaf96899..3357abbfc 100644 +--- a/conn/socket.h ++++ b/conn/socket.h +@@ -27,6 +27,8 @@ + #include + #include + ++struct Connection; ++ + /** + * enum ConnectionType - Type of connection + */ +@@ -37,23 +39,14 @@ enum ConnectionType + MUTT_CONNECTION_SSL, ///< SSL/TLS-encrypted connection + }; + +-struct Connection; +- +-struct Connection *mutt_socket_new(enum ConnectionType type); +- +-int mutt_socket_open(struct Connection *conn); +-int mutt_socket_close(struct Connection *conn); +-int mutt_socket_read(struct Connection *conn, char *buf, size_t len); +-int mutt_socket_write(struct Connection *conn, const char *buf, size_t len); +-int mutt_socket_poll(struct Connection *conn, time_t wait_secs); +-int mutt_socket_readchar(struct Connection *conn, char *c); +-int mutt_socket_readln_d(char *buf, size_t buflen, struct Connection *conn, int dbg); +-int mutt_socket_write_d(struct Connection *conn, const char *buf, int len, int dbg); +- +-int raw_socket_read(struct Connection *conn, char *buf, size_t len); +-int raw_socket_write(struct Connection *conn, const char *buf, size_t count); +-int raw_socket_open(struct Connection *conn); +-int raw_socket_close(struct Connection *conn); +-int raw_socket_poll(struct Connection *conn, time_t wait_secs); ++int mutt_socket_close (struct Connection *conn); ++struct Connection *mutt_socket_new (enum ConnectionType type); ++int mutt_socket_open (struct Connection *conn); ++int mutt_socket_poll (struct Connection *conn, time_t wait_secs); ++int mutt_socket_read (struct Connection *conn, char *buf, size_t len); ++int mutt_socket_readchar(struct Connection *conn, char *c); ++int mutt_socket_readln_d(char *buf, size_t buflen, struct Connection *conn, int dbg); ++int mutt_socket_write (struct Connection *conn, const char *buf, size_t len); ++int mutt_socket_write_d (struct Connection *conn, const char *buf, int len, int dbg); + + #endif /* MUTT_CONN_SOCKET_H */ +diff --git a/conn/ssl.h b/conn/ssl.h +index 4a43c5369..02ecf7000 100644 +--- a/conn/ssl.h ++++ b/conn/ssl.h +@@ -1,6 +1,6 @@ + /** + * @file +- * Handling of OpenSSL encryption ++ * Handling of SSL encryption + * + * @authors + * Copyright (C) 1999-2000 Tommi Komulainen +@@ -24,12 +24,14 @@ + #define MUTT_CONN_SSL_H + + #include "config.h" ++#include + + struct Connection; ++struct ListHead; + + #ifdef USE_SSL +-int mutt_ssl_starttls(struct Connection *conn); + int mutt_ssl_socket_setup(struct Connection *conn); ++int dlg_verify_cert(const char *title, struct ListHead *list, bool allow_always, bool allow_skip); + #else + /** + * [Dummy] Set up the socket multiplexor +diff --git a/conn/tunnel.c b/conn/tunnel.c +index 0a10bc617..fc85980f5 100644 +--- a/conn/tunnel.c ++++ b/conn/tunnel.c +@@ -35,9 +35,8 @@ + #include + #include + #include +-#include "mutt/mutt.h" +-#include "mutt.h" +-#include "tunnel.h" ++#include "conn_private.h" ++#include "mutt/lib.h" + #include "conn_globals.h" + #include "connaccount.h" + #include "connection.h" +@@ -48,13 +47,13 @@ + */ + struct TunnelSockData + { +- pid_t pid; +- int fd_read; +- int fd_write; ++ pid_t pid; ///< Process ID of tunnel program ++ int fd_read; ///< File descriptor to read from ++ int fd_write; ///< File descriptor to write to + }; + + /** +- * tunnel_socket_open - Open a tunnel socket - Implements Connection::conn_open() ++ * tunnel_socket_open - Open a tunnel socket - Implements Connection::open() + */ + static int tunnel_socket_open(struct Connection *conn) + { +@@ -133,7 +132,7 @@ static int tunnel_socket_open(struct Connection *conn) + } + + /** +- * tunnel_socket_read - Read data from a tunnel socket - Implements Connection::conn_read() ++ * tunnel_socket_read - Read data from a tunnel socket - Implements Connection::read() + */ + static int tunnel_socket_read(struct Connection *conn, char *buf, size_t count) + { +@@ -155,7 +154,7 @@ static int tunnel_socket_read(struct Connection *conn, char *buf, size_t count) + } + + /** +- * tunnel_socket_write - Write data to a tunnel socket - Implements Connection::conn_write() ++ * tunnel_socket_write - Write data to a tunnel socket - Implements Connection::write() + */ + static int tunnel_socket_write(struct Connection *conn, const char *buf, size_t count) + { +@@ -183,7 +182,7 @@ static int tunnel_socket_write(struct Connection *conn, const char *buf, size_t + } + + /** +- * tunnel_socket_poll - Checks whether tunnel reads would block - Implements Connection::conn_poll() ++ * tunnel_socket_poll - Checks whether tunnel reads would block - Implements Connection::poll() + */ + static int tunnel_socket_poll(struct Connection *conn, time_t wait_secs) + { +@@ -200,7 +199,7 @@ static int tunnel_socket_poll(struct Connection *conn, time_t wait_secs) + } + + /** +- * tunnel_socket_close - Close a tunnel socket - Implements Connection::conn_close() ++ * tunnel_socket_close - Close a tunnel socket - Implements Connection::close() + */ + static int tunnel_socket_close(struct Connection *conn) + { +@@ -233,9 +232,9 @@ static int tunnel_socket_close(struct Connection *conn) + */ + void mutt_tunnel_socket_setup(struct Connection *conn) + { +- conn->conn_open = tunnel_socket_open; +- conn->conn_close = tunnel_socket_close; +- conn->conn_read = tunnel_socket_read; +- conn->conn_write = tunnel_socket_write; +- conn->conn_poll = tunnel_socket_poll; ++ conn->open = tunnel_socket_open; ++ conn->close = tunnel_socket_close; ++ conn->read = tunnel_socket_read; ++ conn->write = tunnel_socket_write; ++ conn->poll = tunnel_socket_poll; + } +diff --git a/context.c b/context.c +index 8dd6d46ca..3412b4ac8 100644 +--- a/context.c ++++ b/context.c +@@ -28,8 +28,7 @@ + + #include "config.h" + #include +-#include "mutt/mutt.h" +-#include "config/lib.h" ++#include "mutt/lib.h" + #include "email/lib.h" + #include "core/lib.h" + #include "context.h" +@@ -37,10 +36,10 @@ + #include "mutt_header.h" + #include "mutt_thread.h" + #include "mx.h" +-#include "ncrypt/ncrypt.h" + #include "pattern.h" + #include "score.h" + #include "sort.h" ++#include "ncrypt/lib.h" + + /** + * ctx_free - Free a Context +@@ -54,10 +53,10 @@ void ctx_free(struct Context **ptr) + struct Context *ctx = *ptr; + + struct EventContext ev_ctx = { ctx }; +- notify_send(ctx->notify, NT_CONTEXT, NT_CONTEXT_CLOSE, IP & ev_ctx); ++ notify_send(ctx->notify, NT_CONTEXT, NT_CONTEXT_CLOSE, &ev_ctx); + + if (ctx->mailbox) +- notify_observer_remove(ctx->mailbox->notify, ctx_mailbox_observer, IP ctx); ++ notify_observer_remove(ctx->mailbox->notify, ctx_mailbox_observer, ctx); + + mutt_hash_free(&ctx->thread_hash); + notify_free(&ctx->notify); +@@ -73,7 +72,7 @@ struct Context *ctx_new(void) + { + struct Context *ctx = mutt_mem_calloc(1, sizeof(struct Context)); + +- ctx->notify = notify_new(ctx, NT_CONTEXT); ++ ctx->notify = notify_new(); + notify_set_parent(ctx->notify, NeoMutt->notify); + + return ctx; +@@ -88,7 +87,7 @@ static void ctx_cleanup(struct Context *ctx) + FREE(&ctx->pattern); + mutt_pattern_free(&ctx->limit_pattern); + if (ctx->mailbox) +- notify_observer_remove(ctx->mailbox->notify, ctx_mailbox_observer, IP ctx); ++ notify_observer_remove(ctx->mailbox->notify, ctx_mailbox_observer, ctx); + + struct Notify *notify = ctx->notify; + struct Mailbox *m = ctx->mailbox; +@@ -294,30 +293,29 @@ void ctx_update_tables(struct Context *ctx, bool committing) + */ + int ctx_mailbox_observer(struct NotifyCallback *nc) + { +- if (!nc) ++ if (!nc->global_data) + return -1; +- if ((nc->obj_type != NT_MAILBOX) || (nc->event_type != NT_MAILBOX)) ++ if (nc->event_type != NT_MAILBOX) + return 0; +- struct Context *ctx = (struct Context *) nc->data; +- if (!ctx) +- return -1; ++ ++ struct Context *ctx = nc->global_data; + + switch (nc->event_subtype) + { +- case MBN_CLOSED: ++ case NT_MAILBOX_CLOSED: + mutt_clear_threads(ctx); + ctx_cleanup(ctx); + break; +- case MBN_INVALID: ++ case NT_MAILBOX_INVALID: + ctx_update(ctx); + break; +- case MBN_UPDATE: ++ case NT_MAILBOX_UPDATE: + ctx_update_tables(ctx, true); + break; +- case MBN_RESORT: ++ case NT_MAILBOX_RESORT: + mutt_sort_headers(ctx, true); + break; +- case MBN_UNTAG: ++ case NT_MAILBOX_UNTAG: + if (ctx->last_tag && ctx->last_tag->deleted) + ctx->last_tag = NULL; + break; +diff --git a/context.h b/context.h +index 22d1cd55f..cf1ba33b8 100644 +--- a/context.h ++++ b/context.h +@@ -28,6 +28,7 @@ + + struct Email; + struct EmailList; ++struct Mailbox; + struct NotifyCallback; + + /** +diff --git a/copy.c b/copy.c +index b1be10266..4e361dd47 100644 +--- a/copy.c ++++ b/copy.c +@@ -32,24 +32,24 @@ + #include // IWYU pragma: keep + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + #include "core/lib.h" ++#include "gui/lib.h" + #include "mutt.h" + #include "copy.h" + #include "context.h" + #include "globals.h" + #include "handler.h" + #include "hdrline.h" +-#include "mutt_window.h" + #include "mx.h" +-#include "ncrypt/ncrypt.h" + #include "sendlib.h" + #include "state.h" ++#include "ncrypt/lib.h" + #ifdef USE_NOTMUCH + #include "muttlib.h" +-#include "notmuch/mutt_notmuch.h" ++#include "notmuch/lib.h" + #endif + #ifdef ENABLE_NLS + #include +@@ -608,8 +608,10 @@ int mutt_copy_message_fp(FILE *fp_out, FILE *fp_in, struct Email *e, + if (C_TextFlowed) + mutt_str_strfcpy(prefix, ">", sizeof(prefix)); + else ++ { + mutt_make_string(prefix, sizeof(prefix), wraplen, NONULL(C_IndentString), + Context, Context->mailbox, e); ++ } + } + + if ((cmflags & MUTT_CM_NOHEADER) == 0) +diff --git a/core/account.c b/core/account.c +index 59a4d2dbc..e26dfebea 100644 +--- a/core/account.c ++++ b/core/account.c +@@ -28,8 +28,9 @@ + + #include "config.h" + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "config/lib.h" ++#include "core/neomutt.h" + #include "account.h" + #include "mailbox.h" + +@@ -41,12 +42,18 @@ + */ + struct Account *account_new(const char *name, struct ConfigSubset *sub) + { ++ if (!sub) ++ return NULL; ++ + struct Account *a = mutt_mem_calloc(1, sizeof(struct Account)); + + STAILQ_INIT(&a->mailboxes); +- a->notify = notify_new(a, NT_ACCOUNT); ++ a->notify = notify_new(); ++ notify_set_parent(a->notify, NeoMutt->notify); + a->name = mutt_str_strdup(name); +- a->sub = cs_subset_new(name, sub); ++ a->sub = cs_subset_new(name, sub, a->notify); ++ a->sub->cs = sub->cs; ++ a->sub->scope = SET_SCOPE_ACCOUNT; + + return a; + } +@@ -62,14 +69,18 @@ bool account_mailbox_add(struct Account *a, struct Mailbox *m) + if (!a || !m) + return false; + ++ if (a->magic == MUTT_UNKNOWN) ++ a->magic = m->magic; ++ + m->account = a; + struct MailboxNode *np = mutt_mem_calloc(1, sizeof(*np)); + np->mailbox = m; + STAILQ_INSERT_TAIL(&a->mailboxes, np, entries); ++ mailbox_set_subset(m, a->sub); + notify_set_parent(m->notify, a->notify); + + struct EventMailbox ev_m = { m }; +- notify_send(a->notify, NT_MAILBOX, NT_MAILBOX_ADD, IP & ev_m); ++ notify_send(a->notify, NT_MAILBOX, NT_MAILBOX_ADD, &ev_m); + return true; + } + +@@ -94,7 +105,7 @@ bool account_mailbox_remove(struct Account *a, struct Mailbox *m) + if (!m || (np->mailbox == m)) + { + struct EventMailbox ev_m = { m }; +- notify_send(a->notify, NT_MAILBOX, NT_MAILBOX_REMOVE, IP & ev_m); ++ notify_send(a->notify, NT_MAILBOX, NT_MAILBOX_REMOVE, &ev_m); + STAILQ_REMOVE(&a->mailboxes, np, MailboxNode, entries); + if (!m) + mailbox_free(&np->mailbox); +diff --git a/core/account.h b/core/account.h +index 2d711c562..a295bebe9 100644 +--- a/core/account.h ++++ b/core/account.h +@@ -25,7 +25,7 @@ + #define MUTT_CORE_ACCOUNT_H + + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "mailbox.h" + + struct ConfigSubset; +@@ -35,14 +35,14 @@ struct ConfigSubset; + */ + struct Account + { +- enum MailboxType magic; ///< Type of Mailboxes this Account contains +- char *name; ///< Name of Account +- struct ConfigSubset *sub; ///< Inherited config items +- struct MailboxList mailboxes; ///< List of Mailboxes +- struct Notify *notify; ///< Notifications handler +- void *adata; ///< Private data (for Mailbox backends) +- void (*free_adata)(void **); ///< Callback function to free private data +- TAILQ_ENTRY(Account) entries; ///< Linked list of Accounts ++ enum MailboxType magic; ///< Type of Mailboxes this Account contains ++ char *name; ///< Name of Account ++ struct ConfigSubset *sub; ///< Inherited config items ++ struct MailboxList mailboxes; ///< List of Mailboxes ++ struct Notify *notify; ///< Notifications handler ++ void *adata; ///< Private data (for Mailbox backends) ++ void (*free_adata)(void **ptr); ///< Callback function to free private data ++ TAILQ_ENTRY(Account) entries; ///< Linked list of Accounts + }; + TAILQ_HEAD(AccountList, Account); + +diff --git a/core/mailbox.c b/core/mailbox.c +index 2b61900ae..3a556314f 100644 +--- a/core/mailbox.c ++++ b/core/mailbox.c +@@ -30,6 +30,7 @@ + + #include "config.h" + #include ++#include "config/lib.h" + #include "email/lib.h" + #include "mailbox.h" + #include "neomutt.h" +@@ -43,7 +44,7 @@ struct Mailbox *mailbox_new(void) + struct Mailbox *m = mutt_mem_calloc(1, sizeof(struct Mailbox)); + + mutt_buffer_init(&m->pathbuf); +- m->notify = notify_new(m, NT_MAILBOX); ++ m->notify = notify_new(); + + m->email_max = 25; + m->emails = mutt_mem_calloc(m->email_max, sizeof(struct Email *)); +@@ -62,12 +63,16 @@ void mailbox_free(struct Mailbox **ptr) + return; + + struct Mailbox *m = *ptr; +- mailbox_changed(m, MBN_CLOSED); ++ if (m->mdata && m->free_mdata) ++ m->free_mdata(&m->mdata); ++ ++ mailbox_changed(m, NT_MAILBOX_CLOSED); + + if (m->mdata && m->free_mdata) + m->free_mdata(&m->mdata); + + mutt_buffer_dealloc(&m->pathbuf); ++ cs_subset_free(&m->sub); + FREE(&m->name); + FREE(&m->realpath); + FREE(&m->emails); +@@ -163,12 +168,13 @@ void mailbox_update(struct Mailbox *m) + * @param m Mailbox + * @param action Change to Mailbox + */ +-void mailbox_changed(struct Mailbox *m, enum MailboxNotification action) ++void mailbox_changed(struct Mailbox *m, enum NotifyMailbox action) + { + if (!m) + return; + +- notify_send(m->notify, NT_MAILBOX, action, 0); ++ struct EventMailbox ev_m = { m }; ++ notify_send(m->notify, NT_MAILBOX, action, &ev_m); + } + + /** +@@ -190,3 +196,19 @@ void mailbox_size_sub(struct Mailbox *m, const struct Email *e) + { + m->size -= email_size(e); + } ++ ++/** ++ * mailbox_set_subset - Set a Mailbox's Config Subset ++ * @param m Mailbox ++ * @param sub Parent Config Subset ++ * @retval true Success ++ */ ++bool mailbox_set_subset(struct Mailbox *m, struct ConfigSubset *sub) ++{ ++ if (!m || m->sub || !sub) ++ return false; ++ ++ m->sub = cs_subset_new(m->name, sub, m->notify); ++ m->sub->scope = SET_SCOPE_MAILBOX; ++ return true; ++} +diff --git a/core/mailbox.h b/core/mailbox.h +index 2b11e6752..57287b9dd 100644 +--- a/core/mailbox.h ++++ b/core/mailbox.h +@@ -29,8 +29,9 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + ++struct ConfigSubset; + struct Email; + + #define MB_NORMAL 0 +@@ -55,18 +56,6 @@ enum MailboxType + MUTT_COMPRESSED, ///< Compressed file Mailbox type + }; + +-/** +- * enum MailboxNotification - Notifications about changes to a Mailbox +- */ +-enum MailboxNotification +-{ +- MBN_CLOSED = 1, ///< Mailbox was closed +- MBN_INVALID, ///< Email list was changed +- MBN_RESORT, ///< Email list needs resorting +- MBN_UPDATE, ///< Update internal tables +- MBN_UNTAG, ///< Clear the 'last-tagged' pointer +-}; +- + /** + * ACL Rights - These show permission to... + */ +@@ -145,7 +134,7 @@ struct Mailbox + int flags; ///< e.g. #MB_NORMAL + + void *mdata; ///< Driver specific data +- void (*free_mdata)(void **); ///< Driver-specific data free function ++ void (*free_mdata)(void **ptr); ///< Driver-specific data free function + + struct Notify *notify; ///< Notifications handler + }; +@@ -175,13 +164,22 @@ enum NotifyMailbox + { + NT_MAILBOX_ADD = 1, ///< A new Mailbox has been created + NT_MAILBOX_REMOVE, ///< A Mailbox is about to be destroyed ++ ++ /* These don't really belong here as they are tied to GUI operations. ++ * Eventually, they'll be eliminated. */ ++ NT_MAILBOX_CLOSED, ///< Mailbox was closed ++ NT_MAILBOX_INVALID, ///< Email list was changed ++ NT_MAILBOX_RESORT, ///< Email list needs resorting ++ NT_MAILBOX_UPDATE, ///< Update internal tables ++ NT_MAILBOX_UNTAG, ///< Clear the 'last-tagged' pointer + }; + +-void mailbox_changed (struct Mailbox *m, enum MailboxNotification action); ++void mailbox_changed (struct Mailbox *m, enum NotifyMailbox action); + struct Mailbox *mailbox_find (const char *path); + struct Mailbox *mailbox_find_name (const char *name); + void mailbox_free (struct Mailbox **ptr); + struct Mailbox *mailbox_new (void); ++bool mailbox_set_subset(struct Mailbox *m, struct ConfigSubset *sub); + void mailbox_size_add (struct Mailbox *m, const struct Email *e); + void mailbox_size_sub (struct Mailbox *m, const struct Email *e); + void mailbox_update (struct Mailbox *m); +diff --git a/core/neomutt.c b/core/neomutt.c +index 0736b06de..aeb6fa17c 100644 +--- a/core/neomutt.c ++++ b/core/neomutt.c +@@ -28,7 +28,7 @@ + + #include "config.h" + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "config/lib.h" + #include "neomutt.h" + #include "account.h" +@@ -49,9 +49,10 @@ struct NeoMutt *neomutt_new(struct ConfigSet *cs) + struct NeoMutt *n = mutt_mem_calloc(1, sizeof(*NeoMutt)); + + TAILQ_INIT(&n->accounts); +- n->notify = notify_new(n, NT_NEOMUTT); +- n->sub = cs_subset_new(NULL, NULL); ++ n->notify = notify_new(); ++ n->sub = cs_subset_new(NULL, NULL, n->notify); + n->sub->cs = cs; ++ n->sub->scope = SET_SCOPE_NEOMUTT; + + return n; + } +@@ -89,7 +90,7 @@ bool neomutt_account_add(struct NeoMutt *n, struct Account *a) + notify_set_parent(a->notify, n->notify); + + struct EventAccount ev_a = { a }; +- notify_send(n->notify, NT_ACCOUNT, NT_ACCOUNT_ADD, IP & ev_a); ++ notify_send(n->notify, NT_ACCOUNT, NT_ACCOUNT_ADD, &ev_a); + return true; + } + +@@ -114,7 +115,7 @@ bool neomutt_account_remove(struct NeoMutt *n, struct Account *a) + if (!a || (np == a)) + { + struct EventAccount ev_a = { np }; +- notify_send(n->notify, NT_ACCOUNT, NT_ACCOUNT_REMOVE, IP & ev_a); ++ notify_send(n->notify, NT_ACCOUNT, NT_ACCOUNT_REMOVE, &ev_a); + TAILQ_REMOVE(&n->accounts, np, entries); + account_free(&np); + result = true; +diff --git a/backtrace.c b/debug/backtrace.c +similarity index 96% +rename from backtrace.c +rename to debug/backtrace.c +index d1250cd99..ec6434d9e 100644 +--- a/backtrace.c ++++ b/debug/backtrace.c +@@ -21,7 +21,7 @@ + */ + + /** +- * @page backtrace Code backtrace ++ * @page debug_backtrace Code backtrace + * + * Code backtrace + */ +@@ -29,7 +29,7 @@ + #include "config.h" + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + /** + * show_backtrace - Log the program's call stack +diff --git a/debug/graphviz.c b/debug/graphviz.c +new file mode 100644 +index 000000000..87a599898 +--- /dev/null ++++ b/debug/graphviz.c +@@ -0,0 +1,908 @@ ++/** ++ * @file ++ * Create a GraphViz dot file from the NeoMutt objects ++ * ++ * @authors ++ * Copyright (C) 2018-2020 Richard Russon ++ * ++ * @copyright ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 2 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ ++/** ++ * @page debug_graphviz Create a GraphViz dot file ++ * ++ * Create a GraphViz dot file from the NeoMutt objects ++ */ ++ ++#include "config.h" ++#include ++#include ++#include ++#include ++#include "imap/imap_private.h" ++#include "maildir/maildir_private.h" ++#include "notmuch/notmuch_private.h" ++#include "pop/pop_private.h" ++#include "email/lib.h" ++#include "core/lib.h" ++#include "conn/lib.h" ++#include "context.h" ++#include "globals.h" ++#include "compress/lib.h" ++#include "mbox/lib.h" ++#include "nntp/lib.h" ++#include "notmuch/lib.h" ++ ++// #define GV_HIDE_CONTEXT ++#define GV_HIDE_CONTEXT_CONTENTS ++// #define GV_HIDE_MBOX ++// #define GV_HIDE_NEOMUTT ++// #define GV_HIDE_CONFIG ++// #define GV_HIDE_MDATA ++ ++static void dot_type_bool(FILE *fp, const char *name, bool val) ++{ ++ static const char *values[] = { "false", "true" }; ++ fprintf(fp, "\t\t\n"); ++ fprintf(fp, "\t\t\t%s\n", name); ++ fprintf(fp, "\t\t\t=\n"); ++ fprintf(fp, "\t\t\t%s\n", values[val]); ++ fprintf(fp, "\t\t\n"); ++} ++ ++static void dot_type_char(FILE *fp, const char *name, char ch) ++{ ++ fprintf(fp, "\t\t\n"); ++ fprintf(fp, "\t\t\t%s\n", name); ++ fprintf(fp, "\t\t\t=\n"); ++ fprintf(fp, "\t\t\t%c\n", ch); ++ fprintf(fp, "\t\t\n"); ++} ++ ++static void dot_type_date(char *buf, size_t buflen, time_t timestamp) ++{ ++ mutt_date_localtime_format(buf, buflen, "%Y-%m-%d %H:%M:%S", timestamp); ++} ++ ++static void dot_type_file(FILE *fp, const char *name, FILE *struct_fp) ++{ ++ fprintf(fp, "\t\t\n"); ++ fprintf(fp, "\t\t\t%s\n", name); ++ fprintf(fp, "\t\t\t=\n"); ++ if (struct_fp) ++ { ++ fprintf(fp, "\t\t\t%p (%d)\n", ++ (void *) struct_fp, fileno(struct_fp)); ++ } ++ else ++ { ++ fprintf(fp, "\t\t\tNULL\n"); ++ } ++ fprintf(fp, "\t\t\n"); ++} ++ ++static void dot_type_number(FILE *fp, const char *name, int num) ++{ ++ fprintf(fp, "\t\t\n"); ++ fprintf(fp, "\t\t\t%s\n", name); ++ fprintf(fp, "\t\t\t=\n"); ++ fprintf(fp, "\t\t\t%d\n", num); ++ fprintf(fp, "\t\t\n"); ++} ++ ++static void dot_type_string_escape(char *buf, size_t buflen) ++{ ++ for (; buf[0]; buf++) ++ { ++ if (buf[0] == '<') ++ mutt_str_inline_replace(buf, buflen, 1, "<"); ++ else if (buf[0] == '>') ++ mutt_str_inline_replace(buf, buflen, 1, ">"); ++ else if (buf[0] == '&') ++ mutt_str_inline_replace(buf, buflen, 1, "&"); ++ } ++} ++ ++static void dot_type_string(FILE *fp, const char *name, const char *str) ++{ ++ char buf[1024] = "[NULL]"; ++ ++ if (str) ++ { ++ mutt_str_strfcpy(buf, str, sizeof(buf)); ++ dot_type_string_escape(buf, sizeof(buf)); ++ } ++ ++ bool quoted = ((buf[0] != '[') && (buf[0] != '*')); ++ ++ fprintf(fp, "\t\t\n"); ++ fprintf(fp, "\t\t\t%s\n", name); ++ fprintf(fp, "\t\t\t=\n"); ++ if (quoted) ++ fprintf(fp, "\t\t\t\"%s\"\n", buf); ++ else ++ fprintf(fp, "\t\t\t%s\n", buf); ++ fprintf(fp, "\t\t\n"); ++} ++ ++static void dot_type_umask(char *buf, size_t buflen, int umask) ++{ ++ snprintf(buf, buflen, "0%03o", umask); ++} ++ ++static void dot_ptr_name(char *buf, size_t buflen, void *ptr) ++{ ++ snprintf(buf, buflen, "obj_%p", ptr); ++} ++ ++static void dot_ptr(FILE *fp, const char *name, void *ptr, const char *colour) ++{ ++ fprintf(fp, "\t\t\n"); ++ fprintf(fp, "\t\t\t%s\n", name); ++ fprintf(fp, "\t\t\t=\n"); ++ if (colour && ptr) ++ { ++ fprintf(fp, "\t\t\t%p\n", ++ colour, ptr); ++ } ++ else ++ { ++ fprintf(fp, "\t\t\t%p\n", ptr); ++ } ++ fprintf(fp, "\t\t\n"); ++} ++ ++static void dot_add_link(struct ListHead *links, void *src, void *dst, ++ const char *label, bool back) ++{ ++ if (!src || !dst) ++ return; ++ ++ char obj1[16] = { 0 }; ++ char obj2[16] = { 0 }; ++ char text[256] = { 0 }; ++ char lstr[128] = { 0 }; ++ ++ dot_ptr_name(obj1, sizeof(obj1), src); ++ dot_ptr_name(obj2, sizeof(obj2), dst); ++ ++ if (label) ++ snprintf(lstr, sizeof(lstr), "edgetooltip=\"%s\"", label); ++ ++ snprintf(text, sizeof(text), "%s -> %s [ %s %s ]", obj1, obj2, ++ back ? "dir=back" : "", lstr); ++ mutt_list_insert_tail(links, mutt_str_strdup(text)); ++} ++ ++static void dot_graph_header(FILE *fp) ++{ ++ fprintf(fp, "digraph neomutt\n"); ++ fprintf(fp, "{\n\n"); ++ ++ fprintf(fp, "\tgraph [\n"); ++ fprintf(fp, "\t\trankdir=\"TB\"\n"); ++ fprintf(fp, "\t\tnodesep=\"0.5\"\n"); ++ fprintf(fp, "\t\tranksep=\"0.5\"\n"); ++ fprintf(fp, "\t];\n"); ++ fprintf(fp, "\n"); ++ fprintf(fp, "\tnode [\n"); ++ fprintf(fp, "\t\tshape=\"plain\"\n"); ++ fprintf(fp, "\t];\n"); ++ fprintf(fp, "\n"); ++ fprintf(fp, "\tedge [\n"); ++ fprintf(fp, "\t\tpenwidth=\"4.5\"\n"); ++ fprintf(fp, "\t\tarrowsize=\"1.0\"\n"); ++ fprintf(fp, "\t\tcolor=\"#c0c0c0\"\n"); ++ fprintf(fp, "\t];\n"); ++ fprintf(fp, "\n"); ++} ++ ++static void dot_graph_footer(FILE *fp, struct ListHead *links) ++{ ++ fprintf(fp, "\n"); ++ struct ListNode *np = NULL; ++ STAILQ_FOREACH(np, links, entries) ++ { ++ fprintf(fp, "\t%s;\n", np->data); ++ } ++ fprintf(fp, "\n}\n"); ++} ++ ++static void dot_object_header(FILE *fp, void *ptr, const char *name, const char *colour) ++{ ++ char obj[16] = { 0 }; ++ dot_ptr_name(obj, sizeof(obj), ptr); ++ ++ if (!colour) ++ colour = "#ffff80"; ++ ++ fprintf(fp, "\t%s [\n", obj); ++ fprintf(fp, "\t\tlabel=<\n"); ++ fprintf(fp, "\t\t\n"); ++ fprintf(fp, "\t\t\t\n", ++ colour, name, ptr); ++ fprintf(fp, "\t\t\n"); ++} ++ ++static void dot_object_footer(FILE *fp) ++{ ++ fprintf(fp, "\t\t
%s (%p)
>\n"); ++ fprintf(fp, "\t];\n"); ++ fprintf(fp, "\n"); ++} ++ ++static void dot_node(FILE *fp, void *ptr, const char *name, const char *colour) ++{ ++ char obj[16] = { 0 }; ++ dot_ptr_name(obj, sizeof(obj), ptr); ++ ++ fprintf(fp, "\t%s [\n", obj); ++ fprintf(fp, "\t\tlabel=<\n"); ++ fprintf(fp, "\t\t\n"); ++ fprintf(fp, "\t\t\t\n", ++ colour, name); ++ fprintf(fp, "\t\t\n"); ++ dot_object_footer(fp); ++} ++ ++static void dot_node_link(FILE *fp, void *ptr, const char *name, void *link, const char *colour) ++{ ++ char obj[16] = { 0 }; ++ dot_ptr_name(obj, sizeof(obj), ptr); ++ ++ fprintf(fp, "\t%s [\n", obj); ++ fprintf(fp, "\t\tlabel=<
%s
\n"); ++ fprintf(fp, "\t\t\n"); ++ fprintf(fp, "\t\t\t\n", ++ colour, name); ++ fprintf(fp, "\t\t\n"); ++ ++ fprintf(fp, "\t\t\n"); ++ fprintf(fp, "\t\t\t\n", colour, link); ++ fprintf(fp, "\t\t\n"); ++ ++ dot_object_footer(fp); ++} ++ ++static void dot_path_fs(char *buf, size_t buflen, const char *path) ++{ ++ const char *slash = strrchr(path, '/'); ++ if (slash) ++ slash++; ++ else ++ slash = path; ++ ++ mutt_str_strfcpy(buf, slash, buflen); ++} ++ ++static void dot_path_imap(char *buf, size_t buflen, const char *path) ++{ ++ char tmp[1024] = { 0 }; ++ mutt_str_strfcpy(tmp, path, sizeof(tmp)); ++ ++ struct Url *u = url_parse(tmp); ++ ++ if (u->path && (u->path[0] != '\0')) ++ mutt_str_strfcpy(buf, u->path, buflen); ++ else ++ snprintf(buf, buflen, "%s:%s", u->host, u->user); ++ ++ url_free(&u); ++} ++ ++static void dot_config(FILE *fp, const char *name, int type, ++ struct ConfigSubset *sub, struct ListHead *links) ++{ ++ if (!sub) ++ return; ++ ++ struct Buffer value = mutt_buffer_make(256); ++ dot_object_header(fp, (void *) name, "Config", "#ffff80"); ++ dot_type_string(fp, "scope", sub->name); ++ ++ if (sub->name) ++ { ++ char scope[256]; ++ snprintf(scope, sizeof(scope), "%s:", sub->name); ++ ++ struct HashElem **list = get_elem_list(sub->cs); ++ for (size_t i = 0; list[i]; i++) ++ { ++ struct HashElem *item = list[i]; ++ if ((item->type & type) == 0) ++ continue; ++ ++ const char *iname = item->key.strkey; ++ size_t slen = strlen(scope); ++ if (mutt_str_startswith(iname, scope, CASE_MATCH) != 0) ++ { ++ if (strchr(iname + slen, ':')) ++ continue; ++ if ((DTYPE(item->type) == DT_STRING) && (item->type & DT_SENSITIVE)) ++ { ++ dot_type_string(fp, iname + slen, "***"); ++ } ++ else ++ { ++ mutt_buffer_reset(&value); ++ cs_subset_he_string_get(sub, item, &value); ++ dot_type_string(fp, iname + slen, value.data); ++ } ++ } ++ } ++ } ++ else ++ { ++ struct HashElem **list = get_elem_list(sub->cs); ++ int i = 0; ++ for (; list[i]; i++) ++ ; ++ dot_type_number(fp, "count", i); ++ } ++ ++ dot_object_footer(fp); ++ mutt_buffer_dealloc(&value); ++} ++ ++static void dot_comp(FILE *fp, struct CompressInfo *ci, struct ListHead *links) ++{ ++ dot_object_header(fp, ci, "CompressInfo", "#c0c060"); ++ dot_type_string(fp, "append", ci->cmd_append); ++ dot_type_string(fp, "close", ci->cmd_close); ++ dot_type_string(fp, "open", ci->cmd_open); ++ dot_object_footer(fp); ++} ++ ++static void dot_mailbox_type(FILE *fp, const char *name, enum MailboxType type) ++{ ++ const char *typestr = NULL; ++ ++ switch (type) ++ { ++ case MUTT_MBOX: ++ typestr = "MBOX"; ++ break; ++ case MUTT_MMDF: ++ typestr = "MMDF"; ++ break; ++ case MUTT_MH: ++ typestr = "MH"; ++ break; ++ case MUTT_MAILDIR: ++ typestr = "MAILDIR"; ++ break; ++ case MUTT_NNTP: ++ typestr = "NNTP"; ++ break; ++ case MUTT_IMAP: ++ typestr = "IMAP"; ++ break; ++ case MUTT_NOTMUCH: ++ typestr = "NOTMUCH"; ++ break; ++ case MUTT_POP: ++ typestr = "POP"; ++ break; ++ case MUTT_COMPRESSED: ++ typestr = "COMPRESSED"; ++ break; ++ default: ++ typestr = "UNKNOWN"; ++ } ++ ++ fprintf(fp, "\t\t\n"); ++ fprintf(fp, "\t\t\t\n", name); ++ fprintf(fp, "\t\t\t\n"); ++ fprintf(fp, "\t\t\t\n", typestr); ++ fprintf(fp, "\t\t\n"); ++} ++ ++static void dot_mailbox_imap(FILE *fp, struct ImapMboxData *mdata, struct ListHead *links) ++{ ++ dot_object_header(fp, mdata, "ImapMboxData", "#60c060"); ++ dot_type_string(fp, "name", mdata->name); ++ dot_type_string(fp, "munge_name", mdata->munge_name); ++ dot_type_string(fp, "real_name", mdata->real_name); ++ dot_object_footer(fp); ++} ++ ++static void dot_mailbox_maildir(FILE *fp, struct MaildirMboxData *mdata, struct ListHead *links) ++{ ++ char buf[64] = { 0 }; ++ ++ dot_object_header(fp, mdata, "MaildirMboxData", "#60c060"); ++ ++ dot_type_date(buf, sizeof(buf), mdata->mtime_cur.tv_sec); ++ dot_type_string(fp, "mtime_cur", buf); ++ ++ dot_type_umask(buf, sizeof(buf), mdata->mh_umask); ++ dot_type_string(fp, "mh_umask", buf); ++ dot_object_footer(fp); ++} ++ ++static void dot_mailbox_mbox(FILE *fp, struct MboxAccountData *mdata, struct ListHead *links) ++{ ++ char buf[64] = { 0 }; ++ ++ dot_object_header(fp, mdata, "MboxAccountData", "#60c060"); ++ dot_ptr(fp, "fp", mdata->fp, NULL); ++ ++ dot_type_date(buf, sizeof(buf), mdata->atime.tv_sec); ++ dot_type_string(fp, "atime", buf); ++ ++ dot_object_footer(fp); ++} ++ ++static void dot_mailbox_nntp(FILE *fp, struct NntpMboxData *mdata, struct ListHead *links) ++{ ++ dot_object_header(fp, mdata, "NntpMboxData", "#60c060"); ++ dot_type_string(fp, "group", mdata->group); ++ dot_type_string(fp, "desc", mdata->desc); ++ ++ dot_type_number(fp, "first_message", mdata->first_message); ++ dot_type_number(fp, "last_message", mdata->last_message); ++ dot_type_number(fp, "last_loaded", mdata->last_loaded); ++ dot_type_number(fp, "last_cached", mdata->last_cached); ++ dot_type_number(fp, "unread", mdata->unread); ++ ++ dot_type_bool(fp, "subscribed", mdata->subscribed); ++ dot_type_bool(fp, "has_new_mail", mdata->has_new_mail); ++ dot_type_bool(fp, "allowed", mdata->allowed); ++ dot_type_bool(fp, "deleted", mdata->deleted); ++ ++ dot_object_footer(fp); ++} ++ ++static void dot_mailbox_notmuch(FILE *fp, struct NmMboxData *mdata, struct ListHead *links) ++{ ++ dot_object_header(fp, mdata, "NmMboxData", "#60c060"); ++ dot_type_number(fp, "db_limit", mdata->db_limit); ++ dot_object_footer(fp); ++} ++ ++static void dot_mailbox_pop(FILE *fp, struct PopAccountData *mdata, struct ListHead *links) ++{ ++ dot_object_header(fp, mdata, "PopAccountData", "#60c060"); ++ dot_ptr(fp, "conn", mdata->conn, "#ff8080"); ++ dot_object_footer(fp); ++} ++ ++static void dot_mailbox(FILE *fp, struct Mailbox *m, struct ListHead *links) ++{ ++ char buf[64] = { 0 }; ++ ++ dot_object_header(fp, m, "Mailbox", "#80ff80"); ++ dot_mailbox_type(fp, "type", m->magic); ++ if (m->name) ++ dot_type_string(fp, "name", m->name); ++ ++ if ((m->magic == MUTT_IMAP) || (m->magic == MUTT_POP)) ++ { ++ dot_path_imap(buf, sizeof(buf), mutt_b2s(&m->pathbuf)); ++ dot_type_string(fp, "pathbuf", buf); ++ dot_path_imap(buf, sizeof(buf), m->realpath); ++ dot_type_string(fp, "realpath", buf); ++ } ++ else ++ { ++ dot_path_fs(buf, sizeof(buf), mutt_b2s(&m->pathbuf)); ++ dot_type_string(fp, "pathbuf", buf); ++ dot_path_fs(buf, sizeof(buf), m->realpath); ++ dot_type_string(fp, "realpath", buf); ++ } ++ ++#ifdef GV_HIDE_MDATA ++ dot_ptr(fp, "mdata", m->mdata, NULL); ++#endif ++ dot_ptr(fp, "account", m->account, "#80ffff"); ++ ++ dot_type_number(fp, "msg_count", m->msg_count); ++ // dot_type_number(fp, "msg_unread", m->msg_unread); ++ // dot_type_number(fp, "msg_flagged", m->msg_flagged); ++ // dot_type_number(fp, "msg_new", m->msg_new); ++ // dot_type_number(fp, "msg_deleted", m->msg_deleted); ++ // dot_type_number(fp, "msg_tagged", m->msg_tagged); ++ ++ dot_ptr(fp, "emails", m->emails, NULL); ++ dot_type_number(fp, "email_max", m->email_max); ++ dot_ptr(fp, "v2r", m->v2r, NULL); ++ dot_type_number(fp, "vcount", m->vcount); ++ ++ dot_object_footer(fp); ++ ++ // dot_add_link(links, m, m->mdata, false); ++ ++#ifndef GV_HIDE_MDATA ++ if (m->mdata) ++ { ++ if (m->magic == MUTT_MAILDIR) ++ dot_mailbox_maildir(fp, m->mdata, links); ++ else if (m->magic == MUTT_IMAP) ++ dot_mailbox_imap(fp, m->mdata, links); ++ else if (m->magic == MUTT_POP) ++ dot_mailbox_pop(fp, m->mdata, links); ++ else if (m->magic == MUTT_MBOX) ++ dot_mailbox_mbox(fp, m->mdata, links); ++ else if (m->magic == MUTT_NNTP) ++ dot_mailbox_nntp(fp, m->mdata, links); ++ else if (m->magic == MUTT_NOTMUCH) ++ dot_mailbox_notmuch(fp, m->mdata, links); ++ ++ dot_add_link(links, m, m->mdata, "Mailbox->mdata", false); ++ } ++#endif ++ ++ if (m->compress_info) ++ { ++ dot_comp(fp, m->compress_info, links); ++ dot_add_link(links, m, m->compress_info, "Mailbox->compress_info", false); ++ } ++ ++#ifndef GV_HIDE_CONFIG ++ if (m->name) ++ { ++ dot_config(fp, m->name, DT_INHERIT_MBOX, m->sub, links); ++ dot_add_link(links, m, m->name, "Mailbox Config", false); ++ } ++#endif ++} ++ ++static void dot_mailbox_node(FILE *fp, struct MailboxNode *mn, struct ListHead *links) ++{ ++ dot_node(fp, mn, "MN", "#80ff80"); ++ ++ dot_mailbox(fp, mn->mailbox, links); ++ ++ dot_add_link(links, mn, mn->mailbox, "MailboxNode->mailbox", false); ++ ++ struct Buffer buf; ++ mutt_buffer_init(&buf); ++ ++ char name[256] = { 0 }; ++ mutt_buffer_addstr(&buf, "{ rank=same "); ++ ++ dot_ptr_name(name, sizeof(name), mn); ++ mutt_buffer_add_printf(&buf, "%s ", name); ++ ++ dot_ptr_name(name, sizeof(name), mn->mailbox); ++ mutt_buffer_add_printf(&buf, "%s ", name); ++ ++#ifndef GV_HIDE_MDATA ++ if (mn->mailbox->mdata) ++ { ++ dot_ptr_name(name, sizeof(name), mn->mailbox->mdata); ++ mutt_buffer_add_printf(&buf, "%s ", name); ++ } ++#endif ++ ++#ifndef GV_HIDE_CONFIG ++ if (mn->mailbox->name) ++ { ++ dot_ptr_name(name, sizeof(name), mn->mailbox->name); ++ mutt_buffer_add_printf(&buf, "%s ", name); ++ } ++#endif ++ ++ mutt_buffer_addstr(&buf, "}"); ++ ++ mutt_list_insert_tail(links, buf.data); ++ buf.data = NULL; ++} ++ ++static void dot_mailbox_list(FILE *fp, struct MailboxList *ml, struct ListHead *links, bool abbr) ++{ ++ struct MailboxNode *prev = NULL; ++ struct MailboxNode *np = NULL; ++ STAILQ_FOREACH(np, ml, entries) ++ { ++ if (abbr) ++ dot_node_link(fp, np, "MN", np->mailbox, "#80ff80"); ++ else ++ dot_mailbox_node(fp, np, links); ++ if (prev) ++ dot_add_link(links, prev, np, "MailboxNode->next", false); ++ prev = np; ++ } ++} ++ ++static void dot_connection(FILE *fp, struct Connection *c, struct ListHead *links) ++{ ++ dot_object_header(fp, c, "Connection", "#ff8080"); ++ // dot_ptr(fp, "sockdata", c->sockdata, "#60c0c0"); ++ dot_type_number(fp, "fd", c->fd); ++ dot_object_footer(fp); ++ ++ dot_object_header(fp, c->inbuf, "ConnAccount", "#ff8080"); ++ dot_type_string(fp, "user", c->account.user); ++ dot_type_string(fp, "host", c->account.host); ++ dot_type_number(fp, "port", c->account.port); ++ dot_object_footer(fp); ++ ++ dot_add_link(links, c, c->inbuf, "Connection.ConnAccount", false); ++} ++ ++static void dot_account_imap(FILE *fp, struct ImapAccountData *adata, struct ListHead *links) ++{ ++ dot_object_header(fp, adata, "ImapAccountData", "#60c0c0"); ++ // dot_type_string(fp, "mbox_name", adata->mbox_name); ++ // dot_type_string(fp, "login", adata->conn->account.login); ++ dot_type_string(fp, "user", adata->conn->account.user); ++ dot_type_string(fp, "pass", adata->conn->account.pass[0] ? "***" : ""); ++ dot_type_number(fp, "port", adata->conn->account.port); ++ // dot_ptr(fp, "conn", adata->conn, "#ff8080"); ++ dot_type_bool(fp, "unicode", adata->unicode); ++ dot_type_bool(fp, "qresync", adata->qresync); ++ dot_type_char(fp, "seqid", adata->seqid); ++ dot_ptr(fp, "mailbox", adata->mailbox, "#80ff80"); ++ dot_object_footer(fp); ++ ++ if (adata->conn) ++ { ++ dot_connection(fp, adata->conn, links); ++ dot_add_link(links, adata, adata->conn, "ImapAccountData->conn", false); ++ } ++} ++ ++static void dot_account_mbox(FILE *fp, struct MboxAccountData *adata, struct ListHead *links) ++{ ++ char buf[64] = { 0 }; ++ ++ dot_object_header(fp, adata, "MboxAccountData", "#60c0c0"); ++ dot_ptr(fp, "fp", adata->fp, NULL); ++ ++ dot_type_date(buf, sizeof(buf), adata->atime.tv_sec); ++ dot_type_string(fp, "atime", buf); ++ dot_type_bool(fp, "locked", adata->locked); ++ dot_type_bool(fp, "append", adata->append); ++ ++ dot_object_footer(fp); ++} ++ ++static void dot_account_nntp(FILE *fp, struct NntpAccountData *adata, struct ListHead *links) ++{ ++ dot_object_header(fp, adata, "NntpAccountData", "#60c0c0"); ++ dot_type_number(fp, "groups_num", adata->groups_num); ++ ++ dot_type_bool(fp, "hasCAPABILITIES", adata->hasCAPABILITIES); ++ dot_type_bool(fp, "hasSTARTTLS", adata->hasSTARTTLS); ++ dot_type_bool(fp, "hasDATE", adata->hasDATE); ++ dot_type_bool(fp, "hasLIST_NEWSGROUPS", adata->hasLIST_NEWSGROUPS); ++ dot_type_bool(fp, "hasXGTITLE", adata->hasXGTITLE); ++ dot_type_bool(fp, "hasLISTGROUP", adata->hasLISTGROUP); ++ dot_type_bool(fp, "hasLISTGROUPrange", adata->hasLISTGROUPrange); ++ dot_type_bool(fp, "hasOVER", adata->hasOVER); ++ dot_type_bool(fp, "hasXOVER", adata->hasXOVER); ++ dot_type_bool(fp, "cacheable", adata->cacheable); ++ dot_type_bool(fp, "newsrc_modified", adata->newsrc_modified); ++ ++ dot_type_string(fp, "authenticators", adata->authenticators); ++ dot_type_string(fp, "overview_fmt", adata->overview_fmt); ++ dot_type_string(fp, "newsrc_file", adata->newsrc_file); ++ dot_type_file(fp, "newsrc_fp", adata->fp_newsrc); ++ ++ dot_type_number(fp, "groups_num", adata->groups_num); ++ dot_type_number(fp, "groups_max", adata->groups_max); ++ ++ char buf[128]; ++ dot_type_date(buf, sizeof(buf), adata->mtime); ++ dot_type_string(fp, "mtime", buf); ++ dot_type_date(buf, sizeof(buf), adata->newgroups_time); ++ dot_type_string(fp, "newgroups_time", buf); ++ dot_type_date(buf, sizeof(buf), adata->check_time); ++ dot_type_string(fp, "check_time", buf); ++ ++ dot_object_footer(fp); ++ ++ if (adata->conn) ++ { ++ dot_connection(fp, adata->conn, links); ++ dot_add_link(links, adata, adata->conn, "NntpAccountData->conn", false); ++ } ++} ++ ++static void dot_account_notmuch(FILE *fp, struct NmAccountData *adata, struct ListHead *links) ++{ ++ dot_object_header(fp, adata, "NmAccountData", "#60c0c0"); ++ dot_ptr(fp, "db", adata->db, NULL); ++ dot_object_footer(fp); ++} ++ ++static void dot_account_pop(FILE *fp, struct PopAccountData *adata, struct ListHead *links) ++{ ++ char buf[64] = { 0 }; ++ ++ dot_object_header(fp, adata, "PopAccountData", "#60c0c0"); ++ ++ dot_type_date(buf, sizeof(buf), adata->check_time); ++ dot_type_string(fp, "check_time", buf); ++ ++ dot_type_string(fp, "login", adata->conn->account.login); ++ dot_type_string(fp, "user", adata->conn->account.user); ++ dot_type_string(fp, "pass", adata->conn->account.pass[0] ? "***" : ""); ++ dot_type_number(fp, "port", adata->conn->account.port); ++ // dot_ptr(fp, "conn", adata->conn, "#ff8080"); ++ dot_object_footer(fp); ++ ++ if (adata->conn) ++ { ++ dot_connection(fp, adata->conn, links); ++ dot_add_link(links, adata, adata->conn, "PopAccountData->conn", false); ++ } ++} ++ ++static void dot_account(FILE *fp, struct Account *a, struct ListHead *links) ++{ ++ dot_object_header(fp, a, "Account", "#80ffff"); ++ dot_mailbox_type(fp, "magic", a->magic); ++ dot_type_string(fp, "name", a->name); ++ // dot_ptr(fp, "adata", a->adata, "#60c0c0"); ++ dot_object_footer(fp); ++ ++ if (a->adata) ++ { ++ if (a->magic == MUTT_IMAP) ++ dot_account_imap(fp, a->adata, links); ++ else if (a->magic == MUTT_POP) ++ dot_account_pop(fp, a->adata, links); ++ else if (a->magic == MUTT_MBOX) ++ dot_account_mbox(fp, a->adata, links); ++ else if (a->magic == MUTT_NNTP) ++ dot_account_nntp(fp, a->adata, links); ++ else if (a->magic == MUTT_NOTMUCH) ++ dot_account_notmuch(fp, a->adata, links); ++ ++ dot_add_link(links, a, a->adata, "Account->adata", false); ++ } ++ ++#ifndef GV_HIDE_CONFIG ++ if (a->name) ++ { ++ dot_config(fp, a->name, DT_INHERIT_ACC, a->sub, links); ++ dot_add_link(links, a, a->name, "Config", false); ++ ++ char name[256] = { 0 }; ++ struct Buffer buf; ++ mutt_buffer_init(&buf); ++ ++ mutt_buffer_addstr(&buf, "{ rank=same "); ++ ++ dot_ptr_name(name, sizeof(name), a); ++ mutt_buffer_add_printf(&buf, "%s ", name); ++ ++ dot_ptr_name(name, sizeof(name), a->name); ++ mutt_buffer_add_printf(&buf, "%s ", name); ++ ++ mutt_buffer_addstr(&buf, "}"); ++ mutt_list_insert_tail(links, buf.data); ++ buf.data = NULL; ++ } ++#endif ++ ++ struct MailboxNode *first = STAILQ_FIRST(&a->mailboxes); ++ dot_add_link(links, a, first, "Account->mailboxes", false); ++ dot_mailbox_list(fp, &a->mailboxes, links, false); ++} ++ ++static void dot_account_list(FILE *fp, struct AccountList *al, struct ListHead *links) ++{ ++ struct Account *prev = NULL; ++ struct Account *np = NULL; ++ TAILQ_FOREACH(np, al, entries) ++ { ++#ifdef GV_HIDE_MBOX ++ if (np->magic == MUTT_MBOX) ++ continue; ++#endif ++ dot_account(fp, np, links); ++ if (prev) ++ dot_add_link(links, prev, np, "Account->next", false); ++ ++ prev = np; ++ } ++} ++ ++static void dot_context(FILE *fp, struct Context *ctx, struct ListHead *links) ++{ ++ dot_object_header(fp, ctx, "Context", "#ff80ff"); ++ dot_ptr(fp, "mailbox", ctx->mailbox, "#80ff80"); ++#ifdef GV_HIDE_CONTEXT_CONTENTS ++ dot_type_number(fp, "vsize", ctx->vsize); ++ dot_type_string(fp, "pattern", ctx->pattern); ++ dot_type_bool(fp, "collapsed", ctx->collapsed); ++#endif ++ dot_object_footer(fp); ++} ++ ++void dump_graphviz(const char *title) ++{ ++ char name[256] = { 0 }; ++ struct ListHead links = STAILQ_HEAD_INITIALIZER(links); ++ ++ time_t now = time(NULL); ++ if (title) ++ { ++ char date[128]; ++ mutt_date_localtime_format(date, sizeof(date), "%R", now); ++ snprintf(name, sizeof(name), "%s-%s.gv", date, title); ++ } ++ else ++ { ++ mutt_date_localtime_format(name, sizeof(name), "%R.gv", now); ++ } ++ ++ umask(022); ++ FILE *fp = fopen(name, "w"); ++ if (!fp) ++ return; ++ ++ dot_graph_header(fp); ++ ++#ifndef GV_HIDE_NEOMUTT ++ dot_node(fp, NeoMutt, "NeoMutt", "#ffa500"); ++ dot_add_link(&links, NeoMutt, TAILQ_FIRST(&NeoMutt->accounts), "NeoMutt->accounts", false); ++#ifndef GV_HIDE_CONFIG ++ dot_config(fp, (const char *) NeoMutt->sub, 0, NeoMutt->sub, &links); ++ dot_add_link(&links, NeoMutt, NeoMutt->sub, "NeoMutt Config", false); ++ struct Buffer buf = mutt_buffer_make(256); ++ char obj1[16] = { 0 }; ++ char obj2[16] = { 0 }; ++ dot_ptr_name(obj1, sizeof(obj1), NeoMutt); ++ dot_ptr_name(obj2, sizeof(obj2), NeoMutt->sub); ++ mutt_buffer_printf(&buf, "{ rank=same %s %s }", obj1, obj2); ++ mutt_list_insert_tail(&links, mutt_str_strdup(mutt_b2s(&buf))); ++ mutt_buffer_dealloc(&buf); ++#endif ++#endif ++ ++ dot_account_list(fp, &NeoMutt->accounts, &links); ++ ++#ifndef GV_HIDE_CONTEXT ++ if (Context) ++ dot_context(fp, Context, &links); ++ ++#ifndef GV_HIDE_NEOMUTT ++ /* Globals */ ++ fprintf(fp, "\t{ rank=same "); ++ if (Context) ++ { ++ dot_ptr_name(name, sizeof(name), Context); ++ fprintf(fp, "%s ", name); ++ } ++ dot_ptr_name(name, sizeof(name), NeoMutt); ++ fprintf(fp, "%s ", name); ++ fprintf(fp, "}\n"); ++#endif ++#endif ++ ++ fprintf(fp, "\t{ rank=same "); ++ struct Account *np = NULL; ++ TAILQ_FOREACH(np, &NeoMutt->accounts, entries) ++ { ++#ifdef GV_HIDE_MBOX ++ if (np->magic == MUTT_MBOX) ++ continue; ++#endif ++ dot_ptr_name(name, sizeof(name), np); ++ fprintf(fp, "%s ", name); ++ } ++ fprintf(fp, "}\n"); ++ ++ dot_graph_footer(fp, &links); ++ fclose(fp); ++ mutt_list_free(&links); ++} +diff --git a/debug/lib.h b/debug/lib.h +new file mode 100644 +index 000000000..cd09c4c68 +--- /dev/null ++++ b/debug/lib.h +@@ -0,0 +1,57 @@ ++/** ++ * @file ++ * Convenience wrapper for the debug headers ++ * ++ * @authors ++ * Copyright (C) 2019 Richard Russon ++ * ++ * @copyright ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 2 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ ++/** ++ * @page debug DEBUG: Debugging tools ++ * ++ * Debugging tools ++ * ++ * | File | Description | ++ * | :------------------ | :------------------------- | ++ * | debug/backtrace.c | @subpage debug_backtrace | ++ * | debug/graphviz.c | @subpage debug_graphviz | ++ * | debug/notify.c | @subpage debug_notify | ++ * | debug/parse_test.c | @subpage debug_parse | ++ * | debug/window.c | @subpage debug_window | ++ */ ++ ++#ifndef MUTT_DEBUG_LIB_H ++#define MUTT_DEBUG_LIB_H ++ ++struct NotifyCallback; ++ ++// Backtrace ++void show_backtrace(void); ++ ++// Graphviz ++void dump_graphviz(const char *title); ++ ++// Notify ++int debug_notify_observer(struct NotifyCallback *nc); ++ ++// Parse Set ++void test_parse_set(void); ++ ++// Window ++void debug_win_dump(void); ++ ++#endif /* MUTT_DEBUG_LIB_H */ +diff --git a/debug/notify.c b/debug/notify.c +new file mode 100644 +index 000000000..789f12473 +--- /dev/null ++++ b/debug/notify.c +@@ -0,0 +1,291 @@ ++/** ++ * @file ++ * Dump all notifications ++ * ++ * @authors ++ * Copyright (C) 2019-2020 Richard Russon ++ * ++ * @copyright ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 2 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ ++/** ++ * @page debug_notify Dump all notifications ++ * ++ * Dump all notifications ++ */ ++ ++#include "config.h" ++#include "mutt/lib.h" ++#include "config/lib.h" ++#include "email/lib.h" ++#include "core/lib.h" ++#include "gui/lib.h" ++#include "context.h" ++#include "globals.h" ++ ++extern const struct Mapping Fields[]; ++extern const struct Mapping ComposeFields[]; ++ ++static const char *get_event_type(enum NotifyType type) ++{ ++ switch (type) ++ { ++ case NT_ACCOUNT: ++ return "account"; ++ case NT_COLOR: ++ return "color"; ++ case NT_COMMAND: ++ return "command"; ++ case NT_CONFIG: ++ return "config"; ++ case NT_CONTEXT: ++ return "context"; ++ case NT_EMAIL: ++ return "email"; ++ case NT_GLOBAL: ++ return "global"; ++ case NT_MAILBOX: ++ return "mailbox"; ++ default: ++ return "UNKNOWN"; ++ } ++} ++ ++static const char *get_mailbox_type(enum MailboxType type) ++{ ++ switch (type) ++ { ++ case MUTT_COMPRESSED: ++ return "compressed"; ++ case MUTT_IMAP: ++ return "imap"; ++ case MUTT_MAILDIR: ++ return "maildir"; ++ case MUTT_MBOX: ++ return "mbox"; ++ case MUTT_MH: ++ return "mh"; ++ case MUTT_MMDF: ++ return "mmdf"; ++ case MUTT_NNTP: ++ return "nntp"; ++ case MUTT_NOTMUCH: ++ return "notmuch"; ++ case MUTT_POP: ++ return "pop"; ++ default: ++ return "UNKNOWN"; ++ } ++} ++ ++static const char *get_global_event(int id) ++{ ++ switch (id) ++ { ++ case NT_GLOBAL_SHUTDOWN: ++ return "shutdown"; ++ case NT_GLOBAL_STARTUP: ++ return "startup"; ++ case NT_GLOBAL_TIMEOUT: ++ return "timeout"; ++ default: ++ return "UNKNOWN"; ++ } ++} ++ ++static const char *get_config_type(int id) ++{ ++ switch (id) ++ { ++ case NT_CONFIG_SET: ++ return "set"; ++ case NT_CONFIG_RESET: ++ return "reset"; ++ case NT_CONFIG_INITIAL_SET: ++ return "initial_set"; ++ default: ++ return "UNKNOWN"; ++ } ++} ++ ++static const char *get_mailbox_event(int id) ++{ ++ switch (id) ++ { ++ case NT_MAILBOX_ADD: ++ return "add"; ++ case NT_MAILBOX_REMOVE: ++ return "remove"; ++ case NT_MAILBOX_CLOSED: ++ return "closed"; ++ case NT_MAILBOX_INVALID: ++ return "invalid"; ++ case NT_MAILBOX_RESORT: ++ return "resort"; ++ case NT_MAILBOX_UPDATE: ++ return "update"; ++ case NT_MAILBOX_UNTAG: ++ return "untag"; ++ default: ++ return "UNKNOWN"; ++ } ++} ++ ++static const char *get_context(int id) ++{ ++ switch (id) ++ { ++ case NT_CONTEXT_CLOSE: ++ return "close"; ++ case NT_CONTEXT_OPEN: ++ return "open"; ++ default: ++ return "UNKNOWN"; ++ } ++} ++ ++static void notify_dump_account(struct NotifyCallback *nc) ++{ ++ struct EventAccount *ev_a = nc->event_data; ++ struct Account *a = ev_a->account; ++ ++ mutt_debug(LL_DEBUG1, "\tAccount: %p (%s) %s\n", a, ++ get_mailbox_type(a->magic), NONULL(a->name)); ++} ++ ++static void notify_dump_color(struct NotifyCallback *nc) ++{ ++ struct EventColor *ev_c = nc->event_data; ++ ++ const char *color = NULL; ++ const char *scope = ""; ++ ++ if (nc->event_subtype == MT_COLOR_MAX) ++ color = "ALL"; ++ ++ if (!color) ++ color = mutt_map_get_name(nc->event_subtype, Fields); ++ ++ if (!color) ++ { ++ color = mutt_map_get_name(nc->event_subtype, ComposeFields); ++ scope = "compose "; ++ } ++ ++ if (!color) ++ color = "UNKNOWN"; ++ ++ mutt_debug(LL_DEBUG1, "\tColor: %s %s%s (%d)\n", ev_c->set ? "set" : "reset", ++ scope, color, nc->event_subtype); ++} ++ ++static void notify_dump_command(struct NotifyCallback *nc) ++{ ++ struct Command *cmd = nc->event_data; ++ ++ if (cmd->data < 4096) ++ mutt_debug(LL_DEBUG1, "\tCommand: %s, data: %d\n", cmd->name, cmd->data); ++ else ++ mutt_debug(LL_DEBUG1, "\tCommand: %s, data: %p\n", cmd->name, (void *) cmd->data); ++} ++ ++static void notify_dump_config(struct NotifyCallback *nc) ++{ ++ struct EventConfig *ev_c = nc->event_data; ++ ++ struct Buffer value = mutt_buffer_make(128); ++ cs_he_string_get(ev_c->sub->cs, ev_c->he, &value); ++ mutt_debug(LL_DEBUG1, "\tConfig: %s %s = %s\n", ++ get_config_type(nc->event_subtype), ev_c->name, mutt_b2s(&value)); ++ mutt_buffer_dealloc(&value); ++} ++ ++static void notify_dump_context(struct NotifyCallback *nc) ++{ ++ struct EventContext *ev_c = nc->event_data; ++ ++ const char *path = "NONE"; ++ if (ev_c->context && ev_c->context->mailbox) ++ path = mailbox_path(ev_c->context->mailbox); ++ ++ mutt_debug(LL_DEBUG1, "\tContext: %s %s\n", get_context(nc->event_subtype), path); ++} ++ ++static void notify_dump_email(struct NotifyCallback *nc) ++{ ++ struct EventEmail *ev_e = nc->event_data; ++ ++ mutt_debug(LL_DEBUG1, "\tEmail: %d\n", ev_e->num_emails); ++ for (size_t i = 0; i < ev_e->num_emails; i++) ++ { ++ mutt_debug(LL_DEBUG1, "\t\t: %p\n", ev_e->emails[i]); ++ } ++} ++ ++static void notify_dump_global(struct NotifyCallback *nc) ++{ ++ mutt_debug(LL_DEBUG1, "\tGlobal: %s\n", get_global_event(nc->event_subtype)); ++} ++ ++static void notify_dump_mailbox(struct NotifyCallback *nc) ++{ ++ struct EventMailbox *ev_m = nc->event_data; ++ ++ struct Mailbox *m = ev_m->mailbox; ++ const char *path = m ? mailbox_path(m) : ""; ++ mutt_debug(LL_DEBUG1, "\tMailbox: %s %s\n", get_mailbox_event(nc->event_subtype), path); ++} ++ ++int debug_notify_observer(struct NotifyCallback *nc) ++{ ++ mutt_debug(LL_DEBUG1, "\033[1;31mNotification:\033[0m %s\n", get_event_type(nc->event_type)); ++ ++ switch (nc->event_type) ++ { ++ case NT_ACCOUNT: ++ notify_dump_account(nc); ++ break; ++ case NT_COLOR: ++ notify_dump_color(nc); ++ break; ++ case NT_COMMAND: ++ notify_dump_command(nc); ++ break; ++ case NT_CONFIG: ++ notify_dump_config(nc); ++ break; ++ case NT_CONTEXT: ++ notify_dump_context(nc); ++ break; ++ case NT_EMAIL: ++ notify_dump_email(nc); ++ break; ++ case NT_GLOBAL: ++ notify_dump_global(nc); ++ break; ++ case NT_MAILBOX: ++ notify_dump_mailbox(nc); ++ break; ++ default: ++ mutt_debug(LL_DEBUG1, "\tEvent Type: %s\n", nc->event_type); ++ mutt_debug(LL_DEBUG1, "\tEvent Sub-type: %d\n", nc->event_subtype); ++ mutt_debug(LL_DEBUG1, "\tEvent Data: %p\n", nc->event_data); ++ break; ++ } ++ ++ mutt_debug(LL_DEBUG1, "\tGlobal Data: %p\n", nc->global_data); ++ ++ return 0; ++} +diff --git a/debug/parse_test.c b/debug/parse_test.c +new file mode 100644 +index 000000000..eb6692647 +--- /dev/null ++++ b/debug/parse_test.c +@@ -0,0 +1,99 @@ ++/** ++ * @file ++ * Test the config parsing code ++ * ++ * @authors ++ * Copyright (C) 2018 Richard Russon ++ * ++ * @copyright ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 2 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ ++/** ++ * @page debug_parse Test the config parsing code ++ * ++ * Test the config parsing code ++ */ ++ ++#include "config.h" ++#include ++#include "mutt/lib.h" ++#include "lib.h" ++#include "init.h" ++#include "mutt_commands.h" ++ ++/** ++ * test_parse_set - Test the config parsing ++ */ ++void test_parse_set(void) ++{ ++ const char *vars[] = { ++ "from", // ADDRESS ++ "beep", // BOOL ++ "ispell", // COMMAND ++ "mbox_type", // MAGIC ++ "to_chars", // MBTABLE ++ "net_inc", // NUMBER ++ "signature", // PATH ++ "print", // QUAD ++ "mask", // REGEX ++ "sort", // SORT ++ "attribution", // STRING ++ "zzz", // UNKNOWN ++ "my_var", // MY_VAR ++ }; ++ ++ const char *commands[] = { ++ "set", ++ "toggle", ++ "reset", ++ "unset", ++ }; ++ ++ const char *tests[] = { ++ "%s %s", "%s %s=42", "%s %s?", "%s ?%s", "%s ?%s=42", ++ "%s ?%s?", "%s no%s", "%s no%s=42", "%s no%s?", "%s inv%s", ++ "%s inv%s=42", "%s inv%s?", "%s &%s", "%s &%s=42", "%s &%s?", ++ }; ++ ++ struct Buffer tmp = mutt_buffer_make(256); ++ struct Buffer err = mutt_buffer_make(256); ++ char line[64]; ++ ++ for (size_t v = 0; v < mutt_array_size(vars); v++) ++ { ++ // printf("--------------------------------------------------------------------------------\n"); ++ // printf("VARIABLE %s\n", vars[v]); ++ for (size_t c = 0; c < mutt_array_size(commands); c++) ++ { ++ // printf("----------------------------------------\n"); ++ // printf("COMMAND %s\n", commands[c]); ++ for (size_t t = 0; t < mutt_array_size(tests); t++) ++ { ++ mutt_buffer_reset(&tmp); ++ mutt_buffer_reset(&err); ++ ++ snprintf(line, sizeof(line), tests[t], commands[c], vars[v]); ++ printf("%-26s", line); ++ enum CommandResult rc = mutt_parse_rc_line(line, &tmp, &err); ++ printf("%2d %s\n", rc, err.data); ++ } ++ printf("\n"); ++ } ++ // printf("\n"); ++ } ++ ++ mutt_buffer_dealloc(&tmp); ++ mutt_buffer_dealloc(&err); ++} +diff --git a/debug/window.c b/debug/window.c +new file mode 100644 +index 000000000..9a1bb9e0f +--- /dev/null ++++ b/debug/window.c +@@ -0,0 +1,128 @@ ++/** ++ * @file ++ * Dump the details of the nested Windows ++ * ++ * @authors ++ * Copyright (C) 2018 Richard Russon ++ * ++ * @copyright ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 2 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ ++/** ++ * @page debug_window Dump the details of the nested Windows ++ * ++ * Dump the details of the nested Windows ++ */ ++ ++#include "config.h" ++#include "mutt/lib.h" ++#include "gui/lib.h" ++ ++extern struct MuttWindow *RootWindow; ++ ++static const char *win_size(struct MuttWindow *win) ++{ ++ if (!win) ++ return "???"; ++ ++ switch (win->size) ++ { ++ case MUTT_WIN_SIZE_FIXED: ++ return "FIX"; ++ case MUTT_WIN_SIZE_MAXIMISE: ++ return "MAX"; ++ case MUTT_WIN_SIZE_MINIMISE: ++ return "MIN"; ++ } ++ ++ return "???"; ++} ++ ++static const char *win_type(struct MuttWindow *win) ++{ ++ if (!win) ++ return "UNKNOWN"; ++ ++ switch (win->type) ++ { ++ case WT_ROOT: ++ return "root"; ++ case WT_ALL_DIALOGS: ++ return "all-dialogs"; ++ case WT_DIALOG: ++ return "dialog"; ++ case WT_CONTAINER: ++ return "container"; ++ case WT_HELP_BAR: ++ return "help-bar"; ++ case WT_MESSAGE: ++ return "message"; ++ case WT_INDEX: ++ return "index"; ++ case WT_INDEX_BAR: ++ return "index-bar"; ++ case WT_PAGER: ++ return "pager"; ++ case WT_PAGER_BAR: ++ return "pager-bar"; ++ case WT_SIDEBAR: ++ return "sidebar"; ++ } ++ ++ return "UNKNOWN"; ++} ++ ++static void win_dump(struct MuttWindow *win, int indent) ++{ ++ bool visible = mutt_window_is_visible(win); ++ ++ mutt_debug(LL_DEBUG1, "%*s%s[%d,%d] %s %s %s (%d,%d)%s\n", indent, "", ++ visible ? "" : "\033[1;30m", win->state.col_offset, win->state.row_offset, ++ win_size(win), win->name ? win->name : "", win_type(win), ++ win->state.cols, win->state.rows, visible ? "" : "\033[0m"); ++ ++ struct MuttWindow *np = NULL; ++ TAILQ_FOREACH(np, &win->children, entries) ++ { ++ win_dump(np, indent + 4); ++ } ++} ++ ++static void win_serialise(struct MuttWindow *win, struct Buffer *buf) ++{ ++ if (!mutt_window_is_visible(win)) ++ return; ++ ++ mutt_buffer_add_printf(buf, "<%s {%dx,%dy} [%dC,%dR]", win_size(win), ++ win->state.col_offset, win->state.row_offset, ++ win->state.cols, win->state.rows); ++ struct MuttWindow *np = NULL; ++ TAILQ_FOREACH(np, &win->children, entries) ++ { ++ win_serialise(np, buf); ++ } ++ mutt_buffer_addstr(buf, ">"); ++} ++ ++void debug_win_dump(void) ++{ ++ mutt_debug(LL_DEBUG1, "\n"); ++ win_dump(RootWindow, 0); ++ mutt_debug(LL_DEBUG1, "\n"); ++ struct Buffer buf = mutt_buffer_make(1024); ++ win_serialise(RootWindow, &buf); ++ mutt_debug(LL_DEBUG1, "%s\n", mutt_b2s(&buf)); ++ mutt_buffer_dealloc(&buf); ++} +diff --git a/doc/Makefile.autosetup b/doc/Makefile.autosetup +index 79b50b66d..dfdb6e751 100644 +--- a/doc/Makefile.autosetup ++++ b/doc/Makefile.autosetup +@@ -5,10 +5,10 @@ doc/makedoc$(EXEEXT): $(SRCDIR)/doc/makedoc.c + -o $@ $(SRCDIR)/doc/makedoc.c + + doc/neomuttrc: doc/makedoc$(EXEEXT) $(SRCDIR)/doc/neomuttrc.head \ +- $(SRCDIR)/init.h ++ $(SRCDIR)/mutt_config.c + sed -e 's,@docdir@,$(docdir),' $(SRCDIR)/doc/neomuttrc.head \ + > doc/neomuttrc +- $(MAKEDOC_CPP) $(SRCDIR)/init.h | doc/makedoc$(EXEEXT) -c \ ++ $(MAKEDOC_CPP) $(SRCDIR)/mutt_config.c | doc/makedoc$(EXEEXT) -c \ + >> doc/neomuttrc + + .PHONY: doc +@@ -48,11 +48,11 @@ doc/index.html: $(SRCDIR)/doc/chunk.xsl $(SRCDIR)/doc/neomutt.xsl \ + $(SRCDIR)/doc/neomutt.css doc/manual.xml + xsltproc --nonet -o doc/ $(SRCDIR)/doc/chunk.xsl doc/manual.xml > /dev/null 2>&1 + +-doc/neomuttrc.5: doc/makedoc$(EXEEXT) $(SRCDIR)/init.h \ ++doc/neomuttrc.5: doc/makedoc$(EXEEXT) $(SRCDIR)/mutt_config.c \ + $(SRCDIR)/doc/neomuttrc.man.head $(SRCDIR)/doc/neomuttrc.man.tail + ( sed -e "/^\.TH/s|@MAN_DATE@|$(PACKAGE_DATE)|" \ + $(SRCDIR)/doc/neomuttrc.man.head && \ +- $(MAKEDOC_CPP) $(SRCDIR)/init.h | doc/makedoc$(EXEEXT) -m && \ ++ $(MAKEDOC_CPP) $(SRCDIR)/mutt_config.c | doc/makedoc$(EXEEXT) -m && \ + sed -e "s|@MAN_DOCDIR@|$(docdir)|g" \ + $(SRCDIR)/doc/neomuttrc.man.tail \ + ) > $@ +@@ -68,11 +68,11 @@ doc/neomutt.1: + + doc/manual.xml: doc/makedoc$(EXEEXT) $(SRCDIR)/doc/gen-map-doc \ + $(SRCDIR)/doc/manual.xml.head $(SRCDIR)/doc/manual.xml.tail\ +- $(SRCDIR)/functions.h $(SRCDIR)/init.h $(SRCDIR)/opcodes.h ++ $(SRCDIR)/functions.c $(SRCDIR)/mutt_config.c $(SRCDIR)/opcodes.h + ( sed -e "s/@VERSION@/$(PACKAGE_DATE)/; s!/usr/libexec!$(libexecdir)!g" \ + $(SRCDIR)/doc/manual.xml.head && \ +- $(MAKEDOC_CPP) $(SRCDIR)/init.h | doc/makedoc$(EXEEXT) -s && \ +- $(MAKEDOC_CPP) $(SRCDIR)/functions.h | \ ++ $(MAKEDOC_CPP) $(SRCDIR)/mutt_config.c | doc/makedoc$(EXEEXT) -s && \ ++ $(MAKEDOC_CPP) $(SRCDIR)/functions.c | \ + perl $(SRCDIR)/doc/gen-map-doc $(SRCDIR)/doc/manual.xml.tail \ + $(SRCDIR)/opcodes.h \ + ) > $@ +@@ -129,7 +129,7 @@ spellcheck-doc: + -aspell -d american --mode=nroff --encoding=utf-8 -p \ + doc/neomutt.pwl check doc/neomuttrc.man.head + -aspell -d american --mode=ccpp --encoding=utf-8 -p \ +- doc/neomutt.pwl check init.h ++ doc/neomutt.pwl check mutt_config.c + + sortcheck-doc: doc/manual.xml + sed -n -e '1,/^/d' \ +diff --git a/doc/makedoc.c b/doc/makedoc.c +index b7fd7a742..8d576e9a6 100644 +--- a/doc/makedoc.c ++++ b/doc/makedoc.c +@@ -200,8 +200,7 @@ static char *get_token(char *d, size_t l, char *s) + + if (Debug) + { +- fprintf(stderr, "%s: Got %stoken: `%s'.\n", Progname, +- is_quoted ? "quoted " : "", dd); ++ fprintf(stderr, "%s: Got %stoken: `%s'.\n", Progname, is_quoted ? "quoted " : "", dd); + fprintf(stderr, "%s: Remainder: `%s'.\n", Progname, t); + } + +@@ -1044,8 +1043,9 @@ static void pretty_default(char *t, size_t l, const char *s, int type) + { + /* heuristic! */ + if (strncmp(s, "SORT_", 5) != 0) +- fprintf(stderr, "WARNING: expected prefix of SORT_ for type DT_SORT " +- "instead of %s\n", ++ fprintf(stderr, ++ "WARNING: expected prefix of SORT_ for type DT_SORT " ++ "instead of %s\n", + s); + strncpy(t, s + 5, l); + for (; *t; t++) +@@ -1178,7 +1178,8 @@ static void print_confline(const char *varname, int type, const char *val, FILE + case F_CONF: + { + if ((type == DT_STRING) || (type == DT_REGEX) || (type == DT_ADDRESS) || +- (type == DT_MBTABLE) || (type == DT_SLIST) || (type == DT_PATH) || (type == DT_COMMAND)) ++ (type == DT_MBTABLE) || (type == DT_SLIST) || (type == DT_PATH) || ++ (type == DT_COMMAND)) + { + fprintf(out, "\n# set %s=\"", varname); + conf_print_strval(val, out); +@@ -1190,7 +1191,8 @@ static void print_confline(const char *varname, int type, const char *val, FILE + fprintf(out, "\n#\n# Name: %s", varname); + fprintf(out, "\n# Type: %s", type2human(type)); + if ((type == DT_STRING) || (type == DT_REGEX) || (type == DT_ADDRESS) || +- (type == DT_MBTABLE) || (type == DT_SLIST) || (type == DT_PATH) || (type == DT_COMMAND)) ++ (type == DT_MBTABLE) || (type == DT_SLIST) || (type == DT_PATH) || ++ (type == DT_COMMAND)) + { + fputs("\n# Default: \"", out); + conf_print_strval(val, out); +@@ -1210,7 +1212,8 @@ static void print_confline(const char *varname, int type, const char *val, FILE + fputs(".nf\n", out); + fprintf(out, "Type: %s\n", type2human(type)); + if ((type == DT_STRING) || (type == DT_REGEX) || (type == DT_ADDRESS) || +- (type == DT_MBTABLE) || (type == DT_SLIST) || (type == DT_PATH) || (type == DT_COMMAND)) ++ (type == DT_MBTABLE) || (type == DT_SLIST) || (type == DT_PATH) || ++ (type == DT_COMMAND)) + { + fputs("Default: \"", out); + man_print_strval(val, out); +@@ -1238,7 +1241,8 @@ static void print_confline(const char *varname, int type, const char *val, FILE + fprintf(out, "\nType: %s", type2human(type)); + + if ((type == DT_STRING) || (type == DT_REGEX) || (type == DT_ADDRESS) || +- (type == DT_MBTABLE) || (type == DT_SLIST) || (type == DT_PATH) || (type == DT_COMMAND)) ++ (type == DT_MBTABLE) || (type == DT_SLIST) || (type == DT_PATH) || ++ (type == DT_COMMAND)) + { + if (val && *val) + { +@@ -1364,8 +1368,9 @@ static void makedoc(FILE *in, FILE *out) + p = strchr(buffer, '\n'); + if (!p) + { +- fprintf(stderr, "%s: Line %d too long. Ask a wizard to enlarge\n" +- "%s: my buffer size.\n", ++ fprintf(stderr, ++ "%s: Line %d too long. Ask a wizard to enlarge\n" ++ "%s: my buffer size.\n", + Progname, line, Progname); + exit(1); + } +diff --git a/doc/makedoc_defs.h b/doc/makedoc_defs.h +index c78d9be5f..47a86ac4a 100644 +--- a/doc/makedoc_defs.h ++++ b/doc/makedoc_defs.h +@@ -90,6 +90,18 @@ + #ifndef USE_AUTOCRYPT + #define USE_AUTOCRYPT + #endif ++#ifndef USE_ZLIB ++#define USE_ZLIB ++#endif ++#ifndef HAVE_LZ4 ++#define HAVE_LZ4 ++#endif ++#ifndef HAVE_ZLIB ++#define HAVE_ZLIB ++#endif ++#ifndef HAVE_ZSTD ++#define HAVE_ZSTD ++#endif + #endif + + #endif /* _MUTT_MAKEDOC_DEFS_H */ +diff --git a/doc/manual.xml.head b/doc/manual.xml.head +index 12e4e375c..757a3af78 100644 +--- a/doc/manual.xml.head ++++ b/doc/manual.xml.head +@@ -767,7 +767,7 @@ set sidebar_divider_char = '│' # Pretty line + %F + * † + +- Number of Flagged messages in the mailbox ++ Number of flagged messages in the mailbox + + + +@@ -782,14 +782,28 @@ set sidebar_divider_char = '│' # Pretty line + * + + If there's new mail, display N, otherwise +- nothing ++ (space). + + + + %N + * † + +- Number of New messages in the mailbox ++ Number of unread messages in the mailbox (seen or unseen) ++ ++ ++ ++ %o ++ * † ++ ++ Number of old messages in the mailbox (unread, but seen) ++ ++ ++ ++ %r ++ * † ++ ++ Number of read messages in the mailbox + + + +@@ -803,7 +817,21 @@ set sidebar_divider_char = '│' # Pretty line + %t + * ‡ + +- Number of tagged messages ++ Number of tagged messages in the mailbox ++ ++ ++ ++ %Z ++ * † ++ ++ Number of new messages in the mailbox (unread, unseen) ++ ++ ++ ++ %Z ++ * † ++ ++ Number of new messages in the mailbox (unread, unseen) + + + +@@ -1058,6 +1086,7 @@ sidebar_whitelist fruit fruit/apple # Always displa + color sidebar_indicator default color17 # Dark blue background + color sidebar_highlight white color238 # Grey background + color sidebar_spoolfile yellow default # Yellow ++color sidebar_unread cyan default # Light blue + color sidebar_new green default # Green + color sidebar_ordinary default default # Default colors + color sidebar_flagged red default # Red +@@ -1092,11 +1121,6 @@ color sidebar_divider color8 default # Dark grey + sidebar_highlight + Mailbox is highlighted + +- +- +- sidebar_spoolfile +- Mailbox is the spoolfile (receives incoming mail) +- + + + sidebar_new +@@ -1112,6 +1136,11 @@ color sidebar_divider color8 default # Dark grey + sidebar_flagged + Mailbox contains flagged mail + ++ ++ ++ sidebar_spoolfile ++ Mailbox is the spoolfile (receives incoming mail) ++ + + Lowest + sidebar_ordinary +@@ -2849,9 +2878,9 @@ color sidebar_divider color8 default # Dark grey + mixmaster or + $smtp_url. Otherwise + $sendmail will be invoked. Prior to +- version 1.13, Mutt enabled $write_bcc by ++ version 2019-11-29, NeoMutt enabled $write_bcc by + default, assuming the MTA would automatically remove a +- Bcc: header as part of delivery. Starting with 1.13, the ++ Bcc: header as part of delivery. Starting with 2019-11-29, the + option is unset by default, but no longer affects the fcc copy of the message. + + +@@ -7279,7 +7308,7 @@ set index_format="%4C %Z %{%b %d} %-15.15L (%?l?%4l&%4c?)%* %s" + + + $size_units_on_left will +- display the unit (K or M to the left ++ display the unit (K or M) to the left + of the number, instead of the right if unset. + + +@@ -8152,6 +8181,12 @@ set index_format="%4C %Z %{%b %d} %-15.15L (%?l?%4l&%4c?)%* %s" + keywords + + ++ ++ ~Y EXPR ++ ++ messages whose tags match EXPR ++ ++ + + ~z [MIN]-[MAX] + +@@ -8601,16 +8636,19 @@ set index_format="%4C %Z %{%b %d} %-15.15L (%?l?%4l&%4c?)%* %s" + + Absolute Dates + +- Dates must be in DD/MM/YY format (month and +- year are optional, defaulting to the current month and year). An ++ Dates must be in DD/MM/YY format (month and year ++ are optional, defaulting to the current month and year) or YYYYMMDD. An + example of a valid range of dates is: + +- Limit to messages matching: ~d 20/1/95-31/10 ++ ++Limit to messages matching: ~d 20/1/95-31/10 ++Limit to messages matching: ~d 19950120-19951031 ++ + + If you omit the minimum (first) date, and just specify +- -DD/MM/YY, all messages before +- the given date will be selected. If you omit the maximum (second) +- date, and specify DD/MM/YY-, all messages ++ -DD/MM/YY or -YYYYMMDD, all messages ++ before the given date will be selected. If you omit the ++ maximum(second) date, and specify DD/MM/YY-, all messages + after the given date will be selected. If you + specify a single date with no dash (-), only + messages sent on the given date will be selected. +@@ -10198,8 +10236,8 @@ audio/x-aiff aif aifc aiff + + MIME Viewer Configuration with Mailcap + +- NeoMutt supports RFC 1524 MIME Configuration, in particular the Unix +- specific format specified in Appendix A of RFC 1524. This file format ++ NeoMutt supports RFC1524 MIME Configuration, in particular the Unix ++ specific format specified in Appendix A of RFC1524. This file format + is commonly referred to as the mailcap format. Many MIME + compliant programs utilize the mailcap format, allowing you to specify + handling for all MIME types in one place for all programs. Programs +@@ -10700,7 +10738,7 @@ text/html; lynx -dump %s; nametemplate=%s.html; copiousoutput + + + NeoMutt does not currently support the %F and +- %n keywords specified in RFC 1524. The main ++ %n keywords specified in RFC1524. The main + purpose of these parameters is for multipart messages, which is + handled internally by NeoMutt. + +@@ -13397,6 +13435,159 @@ shutdown-hook 'exec sync-mailbox' + + + ++ ++ Header Cache Compression Feature ++ Options for compressing the header cache files ++ ++ ++ Support ++ ++ Since: NeoMutt 2020-02-22 ++ ++ ++ Dependencies: ++ header cache ++ ++ ++ ++ ++ Introduction ++ ++ The Header Cache Compression Feature can be used for speeding up the ++ loading of large mailboxes. Also the space used on disk can be shrunk ++ by about 50% - depending on the compression method being used. ++ ++ ++ The implementation sits on top of the header caching functions. So the ++ header cache compression can be used together with all available ++ database backends. ++ ++ ++ ++ ++ Variables ++
%s
%p
%s=%s
++ Header Cache Compression Variables ++ ++ ++ ++ Name ++ Type ++ Default ++ ++ ++ ++ ++ header_cache_compress_method ++ string ++ (empty) ++ ++ ++ header_cache_compress_level ++ number ++ 1 ++ ++ ++ header_cache_compress_dictionary ++ string ++ ~/.dictionary ++ ++ ++ ++
++ ++ The header_cache_compress_method can be ++ (empty) - which means, that no header cache ++ compression should be used. But when set to lz4, ++ zlib or zstd - then the ++ compression is turned on. ++ ++ ++ The header_cache_compress_level defines the ++ compression level, which should be used together with the selected ++ header_cache_compress_method. Here is an overview ++ of the possible settings: ++ ++ Header Cache Compression Methods and it's Levels ++ ++ ++ ++ Method Name ++ Min ++ Max ++ ++ ++ ++ ++ lz4 ++ 1 ++ 12 ++ ++ ++ zlib ++ 1 ++ 9 ++ ++ ++ zstd ++ 1 ++ 22 ++ ++ ++ ++
++
++ ++ The header_cache_compress_dictionary is a special ++ option for the zstd compression method. On a lot ++ small files, this compression method can be trained for some level by ++ using a command like this for e.g. level 3: ++ ++ ++zstd --train -3 -r cur new tmp -o dict-level-3 ++ ++ ++ This command will create an file called dict-level-3, ++ which should be put to the path given in the ++ header_cache_compress_dictionary variable. The ++ speed and space gain can be huge, when using zstd dictionaries. See ++ https://github.com/facebook/zstd ++ for more information about this. ++ ++ ++ ++ neomuttrc ++ ++ ++# Example NeoMutt config file for the header cache compression feature. ++ ++# -------------------------------------------------------------------------- ++# VARIABLES – shown with their default values ++# -------------------------------------------------------------------------- ++set header_cache_compress_dictionary = "~/.dictionary" ++set header_cache_compress_level = 1 ++set header_cache_compress_method = "" ++ ++# vim: syntax=neomuttrc ++ ++ ++ ++ ++ ++ Known Bugs ++ ++ None ++ ++ ++ ++ ++ Credits ++ ++ Tino Reichardt ++ ++ ++ ++ + + Ifdef Feature + Conditional config options +@@ -15140,8 +15331,8 @@ color index_tags green default + + Using Notmuch + +- +- Folders URI ++ ++ Folders URL + + notmuch://[<path>][?<item>=<name>[& ...]] + +@@ -15154,12 +15345,12 @@ color index_tags green default + + + If the "<path>" is not defined then +- $nm_default_uri or $folder is ++ $nm_default_url or $folder is + used, for example: + + + +-set nm_default_uri = "notmuch:///home/foo/maildir" ++set nm_default_url = "notmuch:///home/foo/maildir" + virtual-mailboxes "My INBOX" "notmuch://?query=tag:inbox" + + +@@ -15175,7 +15366,7 @@ virtual-mailboxes "My INBOX" "notmuch://?query=tag:inbox" + operators (and/or) in your queries. + + +- Note that proper URI should not contain blank space and all ++ Note that proper URL should not contain blank space and all + bad chars should be encoded, for example + + +@@ -15319,7 +15510,7 @@ virtual-mailboxes "My INBOX" "notmuch://?query=tag:inbox" + + + +- nm_default_uri ++ nm_default_url + string + (empty) + +@@ -15408,7 +15599,7 @@ virtual-mailboxes "My INBOX" "notmuch://?query=tag:inbox" + + switch to another virtual folder, a new folder maybe be + specified by vfolder description (see virtual-mailboxes) or +- URI. the default is next vfolder with unread messages ++ URL. the default is next vfolder with unread messages + + + +@@ -15473,14 +15664,14 @@ virtual-mailboxes "My INBOX" "notmuch://?query=tag:inbox" + + description + +- notmuch-URI ++ notmuch-URL + + + + + description + +- notmuch-URI ++ notmuch-URL + + + +@@ -15531,7 +15722,7 @@ virtual-mailboxes "My INBOX" "notmuch://?query=tag:inbox" + set nm_db_limit = 0 + # This variable specifies the default Notmuch database in format: + # notmuch://<absolute path> +-set nm_default_uri = "" ++set nm_default_url = "" + # The messages tagged with these tags are excluded and not loaded + # from notmuch DB to NeoMutt unless specified explicitly. + set nm_exclude_tags = "" +@@ -15588,7 +15779,7 @@ bind index > vfolder-window-forward + # -------------------------------------------------------------------------- + # COMMANDS – shown with an example + # -------------------------------------------------------------------------- +-# virtual-mailboxes description notmuch-URI { description notmuch-URI ...} ++# virtual-mailboxes description notmuch-URL { description notmuch-URL ...} + # virtual-mailboxes "Climbing" "notmuch://?query=climbing" + # unvirtual-mailboxes { * | mailbox ...} + # +@@ -16043,6 +16234,11 @@ set sort_browser="reverse-size" + + + ++ ++ sidebar_component_depth ++ number ++ 0 ++ + + sidebar_delim_chars + string +@@ -16078,19 +16274,19 @@ set sort_browser="reverse-size" + no + + +- sidebar_on_right ++ sidebar_non_empty_mailbox_only + boolean + no + + +- sidebar_short_path ++ sidebar_on_right + boolean + no + + +- sidebar_component_depth +- number +- 0 ++ sidebar_short_path ++ boolean ++ no + + + sidebar_sort_method +@@ -16317,6 +16513,10 @@ set sort_browser="reverse-size" + count + Total number of messages + ++ ++ desc ++ Descriptive name of the mailbox ++ + + flagged + Number of flagged messages +@@ -16378,6 +16578,8 @@ set sidebar_indent_string = ' ' + set sidebar_new_mail_only = no + # Any mailboxes that are whitelisted will always be visible, even if the + # sidebar_new_mail_only option is enabled. ++set sidebar_non_empty_mailbox_only = no ++# Only show mailboxes that contain some mail + sidebar_whitelist '/home/user/mailbox1' + sidebar_whitelist '/home/user/mailbox2' + # When searching for mailboxes containing new mail, should the search wrap +@@ -16430,6 +16632,8 @@ bind index,pager B sidebar-toggle-visible + # Color of the current, open, mailbox + # Note: This is a general NeoMutt option which colors all selected items. + color indicator cyan black ++# Sidebar-specific color of the selected item ++color sidebar_indicator cyan black + # Color of the highlighted, but not open, mailbox. + color sidebar_highlight black color8 + # Color of the divider separating the Sidebar from NeoMutt panels +@@ -16440,6 +16644,10 @@ color sidebar_flagged red black + color sidebar_new green black + # Color to give mailboxes containing no new/flagged mail, etc. + color sidebar_ordinary color245 default ++# Color to give the spoolfile mailbox ++color sidebar_spoolfile color207 default ++# Color to give mailboxes containing no unread mail ++color sidebar_unread color136 default + # -------------------------------------------------------------------------- + + # vim: syntax=neomuttrc +@@ -17505,9 +17713,18 @@ folder-hook ^pop 'set read_inc=1' + will be gone for the next session.) + + +- To improve performance and permanently cache whole messages, please +- refer to NeoMutt's so-called +- body caching for details. ++ To improve performance and permanently cache whole messages and ++ headers, please refer to body caching ++ and header caching for details. ++ ++ ++ Additionally, it may be worth trying some of NeoMutt's experimental ++ features. $imap_qresync (which ++ requires header caching) can provide a huge speed boost opening ++ mailboxes if your IMAP server supports it. ++ $imap_deflate enables compression, ++ which can also noticeably reduce download time for large mailboxes and ++ messages. + + + +diff --git a/doc/neomuttrc.man.head b/doc/neomuttrc.man.head +index b8571181d..5700e632b 100644 +--- a/doc/neomuttrc.man.head ++++ b/doc/neomuttrc.man.head +@@ -1065,6 +1065,10 @@ _ + messages which contain \fIEXPR\fP in their keywords + T} + _ ++\0~Y \fIEXPR\fP|T{ ++messages whose tags match \fIEXPR\fP ++T} ++_ + \0~z \fIMIN\fP-\fIMAX\fP|T{ + messages with a size in the range \fIMIN\fP to \fIMAX\fP \fB**\fP) \fB***\fP) + T} +@@ -1261,6 +1265,8 @@ Limit to messages matching: + .IR \fB~d\fP\~20 / 1 / 95 - 31 / 10 + . + .PP ++Alternatively, you may use \fIYYYYMMDD\fP to specify a date. ++.PP + When given a two-digit year, NeoMutt will interpret values less than \(lq70\(rq + as lying in the 21st century (i.e., \(lq38\(rq means 2038 and not 1938, and + \(lq00\(rq is interpreted as 2000), and values greater than or equal to +diff --git a/doxygen/doxygen.conf b/doxygen/doxygen.conf +index 214915f03..ea3749561 100644 +--- a/doxygen/doxygen.conf ++++ b/doxygen/doxygen.conf +@@ -1418,14 +1418,18 @@ PREDEFINED = \ + HAVE_GDBM \ + HAVE_KC \ + HAVE_LMDB \ ++ HAVE_LZ4 \ + HAVE_QDBM \ + HAVE_TC \ ++ HAVE_ZLIB \ ++ HAVE_ZSTD \ + SUN_ATTACHMENT \ + USE_AUTOCRYPT \ + USE_COMPRESSED \ + USE_FCNTL \ + USE_GSS \ + USE_HCACHE \ ++ USE_HCACHE_COMPRESSION \ + USE_IMAP \ + USE_INOTIFY \ + USE_LUA \ +diff --git a/edit.c b/edit.c +index 5b1dcc7aa..b53285374 100644 +--- a/edit.c ++++ b/edit.c +@@ -37,20 +37,18 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + #include "core/lib.h" ++#include "gui/lib.h" + #include "mutt.h" + #include "edit.h" + #include "alias.h" + #include "context.h" +-#include "curs_lib.h" + #include "globals.h" + #include "hdrline.h" +-#include "mutt_curses.h" + #include "mutt_header.h" +-#include "mutt_window.h" + #include "muttlib.h" + #include "protos.h" + +@@ -276,7 +274,7 @@ static void be_print_header(struct Envelope *env) + { + mutt_window_addstr("To: "); + tmp[0] = '\0'; +- mutt_addrlist_write(tmp, sizeof(tmp), &env->to, true); ++ mutt_addrlist_write(&env->to, tmp, sizeof(tmp), true); + mutt_window_addstr(tmp); + mutt_window_addch('\n'); + } +@@ -284,7 +282,7 @@ static void be_print_header(struct Envelope *env) + { + mutt_window_addstr("Cc: "); + tmp[0] = '\0'; +- mutt_addrlist_write(tmp, sizeof(tmp), &env->cc, true); ++ mutt_addrlist_write(&env->cc, tmp, sizeof(tmp), true); + mutt_window_addstr(tmp); + mutt_window_addch('\n'); + } +@@ -292,7 +290,7 @@ static void be_print_header(struct Envelope *env) + { + mutt_window_addstr("Bcc: "); + tmp[0] = '\0'; +- mutt_addrlist_write(tmp, sizeof(tmp), &env->bcc, true); ++ mutt_addrlist_write(&env->bcc, tmp, sizeof(tmp), true); + mutt_window_addstr(tmp); + mutt_window_addch('\n'); + } +@@ -319,7 +317,7 @@ static void be_edit_header(struct Envelope *e, bool force) + mutt_window_addstr("To: "); + tmp[0] = '\0'; + mutt_addrlist_to_local(&e->to); +- mutt_addrlist_write(tmp, sizeof(tmp), &e->to, false); ++ mutt_addrlist_write(&e->to, tmp, sizeof(tmp), false); + if (TAILQ_EMPTY(&e->to) || force) + { + if (mutt_enter_string(tmp, sizeof(tmp), 4, MUTT_COMP_NO_FLAGS) == 0) +@@ -329,7 +327,7 @@ static void be_edit_header(struct Envelope *e, bool force) + mutt_expand_aliases(&e->to); + mutt_addrlist_to_intl(&e->to, NULL); /* XXX - IDNA error reporting? */ + tmp[0] = '\0'; +- mutt_addrlist_write(tmp, sizeof(tmp), &e->to, true); ++ mutt_addrlist_write(&e->to, tmp, sizeof(tmp), true); + mutt_window_mvaddstr(MuttMessageWindow, 0, 4, tmp); + } + } +@@ -354,7 +352,7 @@ static void be_edit_header(struct Envelope *e, bool force) + mutt_window_addstr("Cc: "); + tmp[0] = '\0'; + mutt_addrlist_to_local(&e->cc); +- mutt_addrlist_write(tmp, sizeof(tmp), &e->cc, false); ++ mutt_addrlist_write(&e->cc, tmp, sizeof(tmp), false); + if (mutt_enter_string(tmp, sizeof(tmp), 4, MUTT_COMP_NO_FLAGS) == 0) + { + mutt_addrlist_clear(&e->cc); +@@ -362,7 +360,7 @@ static void be_edit_header(struct Envelope *e, bool force) + mutt_expand_aliases(&e->cc); + tmp[0] = '\0'; + mutt_addrlist_to_intl(&e->cc, NULL); +- mutt_addrlist_write(tmp, sizeof(tmp), &e->cc, true); ++ mutt_addrlist_write(&e->cc, tmp, sizeof(tmp), true); + mutt_window_mvaddstr(MuttMessageWindow, 0, 4, tmp); + } + else +@@ -375,7 +373,7 @@ static void be_edit_header(struct Envelope *e, bool force) + mutt_window_addstr("Bcc: "); + tmp[0] = '\0'; + mutt_addrlist_to_local(&e->bcc); +- mutt_addrlist_write(tmp, sizeof(tmp), &e->bcc, false); ++ mutt_addrlist_write(&e->bcc, tmp, sizeof(tmp), false); + if (mutt_enter_string(tmp, sizeof(tmp), 5, MUTT_COMP_NO_FLAGS) == 0) + { + mutt_addrlist_clear(&e->bcc); +@@ -383,7 +381,7 @@ static void be_edit_header(struct Envelope *e, bool force) + mutt_expand_aliases(&e->bcc); + mutt_addrlist_to_intl(&e->bcc, NULL); + tmp[0] = '\0'; +- mutt_addrlist_write(tmp, sizeof(tmp), &e->bcc, true); ++ mutt_addrlist_write(&e->bcc, tmp, sizeof(tmp), true); + mutt_window_mvaddstr(MuttMessageWindow, 0, 5, tmp); + } + else +diff --git a/editmsg.c b/editmsg.c +index df517d0e7..a97efbf0b 100644 +--- a/editmsg.c ++++ b/editmsg.c +@@ -34,13 +34,13 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "email/lib.h" + #include "core/lib.h" ++#include "gui/lib.h" + #include "mutt.h" + #include "context.h" + #include "copy.h" +-#include "curs_lib.h" + #include "globals.h" + #include "muttlib.h" + #include "mx.h" +diff --git a/email/attach.c b/email/attach.c +index b4cc1f053..152b7c4cf 100644 +--- a/email/attach.c ++++ b/email/attach.c +@@ -28,7 +28,7 @@ + */ + + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "attach.h" + #include "body.h" + +diff --git a/email/body.c b/email/body.c +index de3d2d1aa..139496d4f 100644 +--- a/email/body.c ++++ b/email/body.c +@@ -29,7 +29,7 @@ + #include "config.h" + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "body.h" + #include "email.h" + #include "envelope.h" +diff --git a/email/email.c b/email/email.c +index f8935c08c..afc255372 100644 +--- a/email/email.c ++++ b/email/email.c +@@ -28,7 +28,7 @@ + + #include "config.h" + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "email.h" + #include "body.h" + #include "envelope.h" +diff --git a/email/email.h b/email/email.h +index dfe9b7269..548c69869 100644 +--- a/email/email.h ++++ b/email/email.h +@@ -27,8 +27,8 @@ + #include + #include + #include +-#include "mutt/mutt.h" +-#include "ncrypt/ncrypt.h" ++#include "mutt/lib.h" ++#include "ncrypt/lib.h" + #include "tags.h" + + /** +@@ -37,7 +37,7 @@ + struct Email + { + SecurityFlags security; ///< bit 0-10: flags, bit 11,12: application, bit 13: traditional pgp +- ///< See: ncrypt/ncrypt.h pgplib.h, smime.h ++ ///< See: ncrypt/lib.h pgplib.h, smime.h + + bool mime : 1; ///< Has a MIME-Version header? + bool flagged : 1; ///< Marked important? +@@ -103,9 +103,9 @@ struct Email + + char *maildir_flags; ///< Unknown maildir flags + +- void *edata; ///< Driver-specific data +- void (*free_edata)(void **); ///< Driver-specific data free function +- struct Notify *notify; ///< Notifications handler ++ void *edata; ///< Driver-specific data ++ void (*free_edata)(void **ptr); ///< Driver-specific data free function ++ struct Notify *notify; ///< Notifications handler + }; + + /** +diff --git a/email/email_globals.c b/email/email_globals.c +index 25857c32f..412759dfe 100644 +--- a/email/email_globals.c ++++ b/email/email_globals.c +@@ -29,7 +29,7 @@ + #include "config.h" + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + /* Config items */ + bool C_AutoSubscribe; ///< Config: Automatically check if the user is subscribed to a mailing list +diff --git a/email/email_globals.h b/email/email_globals.h +index 31fe562f6..ced4e5cf4 100644 +--- a/email/email_globals.h ++++ b/email/email_globals.h +@@ -24,7 +24,7 @@ + #define MUTT_EMAIL_EMAIL_GLOBALS_H + + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + /* Config items */ + extern bool C_AutoSubscribe; +@@ -39,7 +39,7 @@ extern struct ListHead Ignore; ///< List of header patterns to igno + extern struct RegexList NoSpamList; ///< List of regexes to whitelist non-spam emails + extern struct ReplaceList SpamList; ///< List of regexes and patterns to match spam emails + extern struct ListHead UnIgnore; ///< List of header patterns to unignore (see) +-extern struct ListHead MailToAllow; ///< List of permitted fields in a mailto: uri ++extern struct ListHead MailToAllow; ///< List of permitted fields in a mailto: url + extern struct Hash *AutoSubscribeCache; ///< Hash table of auto-subscribed mailing lists + extern struct RegexList UnSubscribedLists; ///< List of regexes to blacklist false matches in SubscribedLists + extern struct RegexList MailLists; ///< List of regexes to match mailing lists +diff --git a/email/envelope.c b/email/envelope.c +index ab3e8414a..a3e8c67d5 100644 +--- a/email/envelope.c ++++ b/email/envelope.c +@@ -31,7 +31,7 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "envelope.h" + +diff --git a/email/envelope.h b/email/envelope.h +index 0d5b22d78..54ff270fa 100644 +--- a/email/envelope.h ++++ b/email/envelope.h +@@ -26,7 +26,7 @@ + + #include "config.h" + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + + #define MUTT_ENV_CHANGED_IRT (1 << 0) ///< In-Reply-To changed to link/break threads +diff --git a/email/from.c b/email/from.c +index 4266d652c..5637a8620 100644 +--- a/email/from.c ++++ b/email/from.c +@@ -32,7 +32,7 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "from.h" + + /** +diff --git a/email/from.h b/email/from.h +index 423c41b28..0f6dfde12 100644 +--- a/email/from.h ++++ b/email/from.h +@@ -23,8 +23,8 @@ + #ifndef MUTT_EMAIL_FROM_H + #define MUTT_EMAIL_FROM_H + +-#include + #include ++#include + #include + + bool is_from(const char *s, char *path, size_t pathlen, time_t *tp); +diff --git a/email/parameter.c b/email/parameter.c +index f7e967be7..c63ddffa3 100644 +--- a/email/parameter.c ++++ b/email/parameter.c +@@ -29,7 +29,7 @@ + #include "config.h" + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "parameter.h" + + /** +diff --git a/email/parameter.h b/email/parameter.h +index b609478b8..983a409f6 100644 +--- a/email/parameter.h ++++ b/email/parameter.h +@@ -24,7 +24,7 @@ + #define MUTT_EMAIL_PARAMETER_H + + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + /** + * struct Parameter - Attribute associated with a MIME part +diff --git a/email/parse.c b/email/parse.c +index 50ee289a7..e5725f5d0 100644 +--- a/email/parse.c ++++ b/email/parse.c +@@ -32,7 +32,7 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "mutt.h" + #include "parse.h" +@@ -50,7 +50,7 @@ + #include "globals.h" + #endif + #ifdef USE_AUTOCRYPT +-#include "autocrypt/autocrypt.h" ++#include "autocrypt/lib.h" + #endif + + /* If the 'Content-Length' is bigger than 1GiB, then it's clearly wrong. +@@ -59,7 +59,7 @@ + + /** + * mutt_auto_subscribe - Check if user is subscribed to mailing list +- * @param mailto URI of mailing list subscribe ++ * @param mailto URL of mailing list subscribe + */ + void mutt_auto_subscribe(const char *mailto) + { +diff --git a/email/rfc2047.c b/email/rfc2047.c +index d1c94575d..bdf0d3ef0 100644 +--- a/email/rfc2047.c ++++ b/email/rfc2047.c +@@ -35,7 +35,7 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "rfc2047.h" + #include "email_globals.h" +diff --git a/email/rfc2231.c b/email/rfc2231.c +index 58ef53b42..3978ce785 100644 +--- a/email/rfc2231.c ++++ b/email/rfc2231.c +@@ -38,7 +38,7 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "rfc2231.h" + #include "email_globals.h" + #include "mime.h" +diff --git a/email/tags.c b/email/tags.c +index 21ad0506f..20f85a927 100644 +--- a/email/tags.c ++++ b/email/tags.c +@@ -29,7 +29,7 @@ + #include "config.h" + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "tags.h" + + /* These Config Variables are only used in email/tags.c */ +diff --git a/email/tags.h b/email/tags.h +index 6e3aa518c..71cd60ece 100644 +--- a/email/tags.h ++++ b/email/tags.h +@@ -24,7 +24,7 @@ + #define MUTT_EMAIL_TAGS_H + + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + /* These Config Variables are only used in email/tags.c */ + extern struct Slist *C_HiddenTags; +diff --git a/email/thread.c b/email/thread.c +index bb089ba8b..62ac5a5d1 100644 +--- a/email/thread.c ++++ b/email/thread.c +@@ -30,7 +30,7 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "thread.h" + #include "email.h" + #include "envelope.h" +diff --git a/email/url.c b/email/url.c +index 4abc4e1d6..2516bc1ac 100644 +--- a/email/url.c ++++ b/email/url.c +@@ -29,7 +29,7 @@ + #include "config.h" + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "url.h" + #include "mime.h" + +@@ -150,6 +150,44 @@ enum UrlScheme url_check_scheme(const char *s) + return (enum UrlScheme) i; + } + ++/** ++ * url_free - Free the contents of a URL ++ * @param ptr Url to free ++ */ ++void url_free(struct Url **ptr) ++{ ++ if (!ptr || !*ptr) ++ return; ++ ++ struct Url *url = *ptr; ++ ++ struct UrlQuery *np = NULL; ++ struct UrlQuery *tmp = NULL; ++ STAILQ_FOREACH_SAFE(np, &url->query_strings, entries, tmp) ++ { ++ STAILQ_REMOVE(&url->query_strings, np, UrlQuery, entries); ++ // Don't free 'name', 'value': they are pointers into the 'src' string ++ FREE(&np); ++ } ++ ++ FREE(&url->src); ++ FREE(ptr); ++} ++ ++/** ++ * url_new - Create a Url ++ * @retval ptr New Url ++ */ ++struct Url *url_new(void) ++{ ++ struct Url *url = mutt_mem_calloc(1, sizeof(struct Url)); ++ ++ url->scheme = U_UNKNOWN; ++ STAILQ_INIT(&url->query_strings); ++ ++ return url; ++} ++ + /** + * url_parse - Fill in Url + * @param src String to parse +@@ -169,41 +207,34 @@ struct Url *url_parse(const char *src) + + char *p = NULL; + size_t srcsize = strlen(src) + 1; +- struct Url *u = mutt_mem_calloc(1, sizeof(struct Url) + srcsize); ++ struct Url *url = url_new(); + +- u->scheme = scheme; +- u->user = NULL; +- u->pass = NULL; +- u->host = NULL; +- u->port = 0; +- u->path = NULL; +- STAILQ_INIT(&u->query_strings); +- u->src = (char *) u + sizeof(struct Url); +- mutt_str_strfcpy(u->src, src, srcsize); ++ url->scheme = scheme; ++ url->src = mutt_str_strdup(src); + +- char *it = u->src; ++ char *it = url->src; + + it = strchr(it, ':') + 1; + + if (strncmp(it, "//", 2) != 0) + { +- u->path = it; +- if (url_pct_decode(u->path) < 0) ++ url->path = it; ++ if (url_pct_decode(url->path) < 0) + { +- url_free(&u); ++ url_free(&url); + } +- return u; ++ return url; + } + + it += 2; + + /* We have the length of the string, so let's be fancier than strrchr */ +- for (char *q = u->src + srcsize - 1; q >= it; --q) ++ for (char *q = url->src + srcsize - 1; q >= it; --q) + { + if (*q == '?') + { + *q = '\0'; +- if (parse_query_string(&u->query_strings, q + 1) < 0) ++ if (parse_query_string(&url->query_strings, q + 1) < 0) + { + goto err; + } +@@ -211,11 +242,11 @@ struct Url *url_parse(const char *src) + } + } + +- u->path = strchr(it, '/'); +- if (u->path) ++ url->path = strchr(it, '/'); ++ if (url->path) + { +- *u->path++ = '\0'; +- if (url_pct_decode(u->path) < 0) ++ *url->path++ = '\0'; ++ if (url_pct_decode(url->path) < 0) + goto err; + } + +@@ -227,12 +258,12 @@ struct Url *url_parse(const char *src) + if (p) + { + *p = '\0'; +- u->pass = p + 1; +- if (url_pct_decode(u->pass) < 0) ++ url->pass = p + 1; ++ if (url_pct_decode(url->pass) < 0) + goto err; + } +- u->user = it; +- if (url_pct_decode(u->user) < 0) ++ url->user = it; ++ if (url_pct_decode(url->user) < 0) + goto err; + it = at + 1; + } +@@ -254,56 +285,31 @@ struct Url *url_parse(const char *src) + *p++ = '\0'; + if ((mutt_str_atoi(p, &num) < 0) || (num < 0) || (num > 0xffff)) + goto err; +- u->port = (unsigned short) num; ++ url->port = (unsigned short) num; + } + else +- u->port = 0; ++ url->port = 0; + + if (mutt_str_strlen(it) != 0) + { +- u->host = it; +- if (url_pct_decode(u->host) < 0) ++ url->host = it; ++ if (url_pct_decode(url->host) < 0) + goto err; + } +- else if (u->path) ++ else if (url->path) + { + /* No host are provided, we restore the / because this is absolute path */ +- u->path = it; ++ url->path = it; + *it++ = '/'; + } + +- return u; ++ return url; + + err: +- url_free(&u); ++ url_free(&url); + return NULL; + } + +-/** +- * url_free - Free the contents of a URL +- * @param[out] u Url to empty +- * +- * @note The Url itself is not freed +- */ +-void url_free(struct Url **u) +-{ +- if (!u || !*u) +- return; +- +- struct UrlQuery *np = STAILQ_FIRST(&(*u)->query_strings); +- struct UrlQuery *next = NULL; +- while (np) +- { +- next = STAILQ_NEXT(np, entries); +- /* NOTE(sileht): We don't free members, they will be freed when +- * the src char* passed to url_parse() is freed */ +- FREE(&np); +- np = next; +- } +- STAILQ_INIT(&(*u)->query_strings); +- FREE(u); +-} +- + /** + * url_pct_encode - Percent-encode a string + * @param buf Buffer for the result +@@ -323,7 +329,7 @@ void url_pct_encode(char *buf, size_t buflen, const char *src) + buflen--; + while (src && *src && (buflen != 0)) + { +- if (strchr("/:&%", *src)) ++ if (strchr("/:&%=", *src)) + { + if (buflen < 3) + break; +@@ -343,67 +349,85 @@ void url_pct_encode(char *buf, size_t buflen, const char *src) + + /** + * url_tobuffer - Output the URL string for a given Url object +- * @param u Url to turn into a string ++ * @param url Url to turn into a string + * @param buf Buffer for the result + * @param flags Flags, e.g. #U_PATH + * @retval 0 Success + * @retval -1 Error + */ +-int url_tobuffer(struct Url *u, struct Buffer *buf, int flags) ++int url_tobuffer(struct Url *url, struct Buffer *buf, int flags) + { +- if (!u || !buf) ++ if (!url || !buf) + return -1; +- if (u->scheme == U_UNKNOWN) ++ if (url->scheme == U_UNKNOWN) + return -1; + +- mutt_buffer_printf(buf, "%s:", mutt_map_get_name(u->scheme, UrlMap)); ++ mutt_buffer_printf(buf, "%s:", mutt_map_get_name(url->scheme, UrlMap)); + +- if (u->host) ++ if (url->host) + { + if (!(flags & U_PATH)) + mutt_buffer_addstr(buf, "//"); + +- if (u->user && (u->user[0] || !(flags & U_PATH))) ++ if (url->user && (url->user[0] || !(flags & U_PATH))) + { + char str[256]; +- url_pct_encode(str, sizeof(str), u->user); ++ url_pct_encode(str, sizeof(str), url->user); + mutt_buffer_add_printf(buf, "%s@", str); + } + +- if (strchr(u->host, ':')) +- mutt_buffer_add_printf(buf, "[%s]", u->host); ++ if (strchr(url->host, ':')) ++ mutt_buffer_add_printf(buf, "[%s]", url->host); + else +- mutt_buffer_add_printf(buf, "%s", u->host); ++ mutt_buffer_add_printf(buf, "%s", url->host); + +- if (u->port) +- mutt_buffer_add_printf(buf, ":%hu/", u->port); ++ if (url->port) ++ mutt_buffer_add_printf(buf, ":%hu/", url->port); + else + mutt_buffer_addstr(buf, "/"); + } + +- if (u->path) +- mutt_buffer_addstr(buf, u->path); ++ if (url->path) ++ mutt_buffer_addstr(buf, url->path); ++ ++ if (STAILQ_FIRST(&url->query_strings)) ++ { ++ mutt_buffer_addstr(buf, "?"); ++ ++ char str[256]; ++ struct UrlQuery *np = NULL; ++ STAILQ_FOREACH(np, &url->query_strings, entries) ++ { ++ url_pct_encode(str, sizeof(str), np->name); ++ mutt_buffer_addstr(buf, str); ++ mutt_buffer_addstr(buf, "="); ++ url_pct_encode(str, sizeof(str), np->value); ++ mutt_buffer_addstr(buf, str); ++ if (STAILQ_NEXT(np, entries)) ++ mutt_buffer_addstr(buf, "&"); ++ } ++ } + + return 0; + } + + /** + * url_tostring - Output the URL string for a given Url object +- * @param u Url to turn into a string ++ * @param url Url to turn into a string + * @param dest Buffer for the result + * @param len Length of buffer + * @param flags Flags, e.g. #U_PATH + * @retval 0 Success + * @retval -1 Error + */ +-int url_tostring(struct Url *u, char *dest, size_t len, int flags) ++int url_tostring(struct Url *url, char *dest, size_t len, int flags) + { +- if (!u || !dest) ++ if (!url || !dest) + return -1; + + struct Buffer *dest_buf = mutt_buffer_pool_get(); + +- int retval = url_tobuffer(u, dest_buf, flags); ++ int retval = url_tobuffer(url, dest_buf, flags); + if (retval == 0) + mutt_str_strfcpy(dest, mutt_b2s(dest_buf), len); + +diff --git a/email/url.h b/email/url.h +index 9050402be..144e7d3fe 100644 +--- a/email/url.h ++++ b/email/url.h +@@ -24,7 +24,7 @@ + #define MUTT_EMAIL_URL_H + + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + /** + * enum UrlScheme - All recognised Url types +@@ -76,11 +76,12 @@ struct Url + }; + + enum UrlScheme url_check_scheme(const char *s); +-void url_free (struct Url **u); ++void url_free (struct Url **ptr); ++struct Url * url_new (void); + struct Url *url_parse (const char *src); + int url_pct_decode (char *s); + void url_pct_encode (char *buf, size_t buflen, const char *src); +-int url_tobuffer (struct Url *u, struct Buffer *dest, int flags); +-int url_tostring (struct Url *u, char *buf, size_t buflen, int flags); ++int url_tobuffer (struct Url *url, struct Buffer *dest, int flags); ++int url_tostring (struct Url *url, char *buf, size_t buflen, int flags); + + #endif /* MUTT_EMAIL_URL_H */ +diff --git a/enriched.c b/enriched.c +index e2b0488b8..b0ac6406f 100644 +--- a/enriched.c ++++ b/enriched.c +@@ -36,7 +36,7 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "email/lib.h" + #include "enriched.h" + #include "state.h" +diff --git a/enter.c b/enter.c +index 40c743fa4..1347f22ee 100644 +--- a/enter.c ++++ b/enter.c +@@ -33,19 +33,18 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" ++#include "gui/lib.h" + #include "mutt.h" + #include "alias.h" + #include "browser.h" + #include "context.h" +-#include "curs_lib.h" + #include "enter_state.h" + #include "globals.h" ++#include "init.h" + #include "keymap.h" +-#include "mutt_curses.h" + #include "mutt_history.h" + #include "mutt_mailbox.h" +-#include "mutt_window.h" + #include "muttlib.h" + #include "opcodes.h" + #include "protos.h" +@@ -179,7 +178,7 @@ int mutt_enter_string_full(char *buf, size_t buflen, int col, + CompletionFlags flags, bool multiple, char ***files, + int *numfiles, struct EnterState *state) + { +- int width = MuttMessageWindow->cols - col - 1; ++ int width = MuttMessageWindow->state.cols - col - 1; + enum EnterRedrawFlags redraw = ENTER_REDRAW_NONE; + bool pass = (flags & MUTT_PASS); + bool first = true; +@@ -305,7 +304,7 @@ int mutt_enter_string_full(char *buf, size_t buflen, int col, + if (state->curpos == 0) + { + // Pressing backspace when no text is in the command prompt should exit the prompt +- if (state->lastchar == 0) ++ if (C_AbortBackspace && (state->lastchar == 0)) + goto bye; + // Pressing backspace with text in the command prompt should just beep + mutt_beep(false); +diff --git a/flags.c b/flags.c +index 1d2e8505b..4872e6eb2 100644 +--- a/flags.c ++++ b/flags.c +@@ -29,18 +29,17 @@ + #include "config.h" + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "config/lib.h" + #include "email/lib.h" + #include "core/lib.h" ++#include "gui/lib.h" + #include "mutt.h" + #include "context.h" +-#include "curs_lib.h" + #include "globals.h" + #include "index.h" + #include "keymap.h" + #include "mutt_menu.h" +-#include "mutt_window.h" + #include "protos.h" + #include "sort.h" + +diff --git a/format_flags.h b/format_flags.h +index 170a97383..32392965e 100644 +--- a/format_flags.h ++++ b/format_flags.h +@@ -58,9 +58,9 @@ typedef uint8_t MuttFormatFlags; ///< Flags for mutt_expando_format(), e + * |:--------|:----------- + * | \%t | Title + */ +-typedef const char *format_t(char *buf, size_t buflen, size_t col, int cols, +- char op, const char *src, const char *prec, +- const char *if_str, const char *else_str, +- unsigned long data, MuttFormatFlags flags); ++typedef const char *(format_t)(char *buf, size_t buflen, size_t col, int cols, ++ char op, const char *src, const char *prec, ++ const char *if_str, const char *else_str, ++ unsigned long data, MuttFormatFlags flags); + + #endif /* MUTT_FORMAT_FLAGS_H */ +diff --git a/functions.c b/functions.c +new file mode 100644 +index 000000000..ff1646290 +--- /dev/null ++++ b/functions.c +@@ -0,0 +1,682 @@ ++/** ++ * @file ++ * Definitions of user functions ++ * ++ * @authors ++ * Copyright (C) 1996-2000,2002 Michael R. Elkins ++ * ++ * @copyright ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 2 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ ++/** ++ * @page functions Definitions of user functions ++ * ++ * Definitions of user functions ++ */ ++ ++#include "config.h" ++#ifdef _MAKEDOC ++#include "doc/makedoc_defs.h" ++#else ++#include ++#include "keymap.h" ++#include "opcodes.h" ++#endif ++ ++/* ++ * This file contains the structures needed to parse "bind" commands, as ++ * well as the default bindings for each menu. ++ * ++ * Notes: ++ * ++ * - If you need to bind a control char, use the octal value because the \cX ++ * construct does not work at this level. ++ * ++ * - The magic "map:" comments define how the map will be called in the ++ * manual. Lines starting with "**" will be included in the manual. ++ */ ++ ++// clang-format off ++/** ++ * OpGeneric - Key bindings for the generic menu ++ */ ++const struct Binding OpGeneric[] = { /* map: generic */ ++ /* ++ ** ++ ** The generic menu is not a real menu, but specifies common functions ++ ** (such as movement) available in all menus except for pager and ++ ** editor. Changing settings for this menu will affect the default ++ ** bindings for all menus (except as noted). ++ ** ++ */ ++ { "bottom-page", OP_BOTTOM_PAGE, "L" }, ++ { "check-stats", OP_CHECK_STATS, NULL }, ++ { "current-bottom", OP_CURRENT_BOTTOM, NULL }, ++ { "current-middle", OP_CURRENT_MIDDLE, NULL }, ++ { "current-top", OP_CURRENT_TOP, NULL }, ++ { "end-cond", OP_END_COND, NULL }, ++ { "enter-command", OP_ENTER_COMMAND, ":" }, ++ { "exit", OP_EXIT, "q" }, ++ { "first-entry", OP_FIRST_ENTRY, "=" }, ++ { "half-down", OP_HALF_DOWN, "]" }, ++ { "half-up", OP_HALF_UP, "[" }, ++ { "help", OP_HELP, "?" }, ++ { "jump", OP_JUMP, NULL }, ++ { "last-entry", OP_LAST_ENTRY, "*" }, ++ { "middle-page", OP_MIDDLE_PAGE, "M" }, ++ { "next-entry", OP_NEXT_ENTRY, "j" }, ++ { "next-line", OP_NEXT_LINE, ">" }, ++ { "next-page", OP_NEXT_PAGE, "z" }, ++ { "previous-entry", OP_PREV_ENTRY, "k" }, ++ { "previous-line", OP_PREV_LINE, "<" }, ++ { "previous-page", OP_PREV_PAGE, "Z" }, ++ { "refresh", OP_REDRAW, "\014" }, // ++ { "search", OP_SEARCH, "/" }, ++ { "search-next", OP_SEARCH_NEXT, "n" }, ++ { "search-opposite", OP_SEARCH_OPPOSITE, NULL }, ++ { "search-reverse", OP_SEARCH_REVERSE, "\033/" }, // ++ { "select-entry", OP_GENERIC_SELECT_ENTRY, "\n" }, ++ { "select-entry", OP_GENERIC_SELECT_ENTRY, "\r" }, ++ { "shell-escape", OP_SHELL_ESCAPE, "!" }, ++ { "tag-entry", OP_TAG, "t" }, ++ { "tag-prefix", OP_TAG_PREFIX, ";" }, ++ { "tag-prefix-cond", OP_TAG_PREFIX_COND, NULL }, ++ { "top-page", OP_TOP_PAGE, "H" }, ++ { "what-key", OP_WHAT_KEY, NULL }, ++ { NULL, 0, NULL }, ++}; ++ ++/** ++ * OpMain - Key bindings for the index menu ++ */ ++const struct Binding OpMain[] = { /* map: index */ ++#ifdef USE_AUTOCRYPT ++ { "autocrypt-acct-menu", OP_AUTOCRYPT_ACCT_MENU, "A" }, ++#endif ++ { "bounce-message", OP_BOUNCE_MESSAGE, "b" }, ++ { "break-thread", OP_MAIN_BREAK_THREAD, "#" }, ++#ifdef USE_NNTP ++ { "catchup", OP_CATCHUP, NULL }, ++#endif ++ { "change-folder", OP_MAIN_CHANGE_FOLDER, "c" }, ++ { "change-folder-readonly", OP_MAIN_CHANGE_FOLDER_READONLY, "\033c" }, // ++#ifdef USE_NNTP ++ { "change-newsgroup", OP_MAIN_CHANGE_GROUP, "i" }, ++ { "change-newsgroup-readonly", OP_MAIN_CHANGE_GROUP_READONLY, "\033i" }, // ++#endif ++#ifdef USE_NOTMUCH ++ { "change-vfolder", OP_MAIN_CHANGE_VFOLDER, NULL }, ++#endif ++ { "check-traditional-pgp", OP_CHECK_TRADITIONAL, "\033P" }, // ++ { "clear-flag", OP_MAIN_CLEAR_FLAG, "W" }, ++ { "collapse-all", OP_MAIN_COLLAPSE_ALL, "\033V" }, // ++ { "collapse-thread", OP_MAIN_COLLAPSE_THREAD, "\033v" }, // ++ { "compose-to-sender", OP_COMPOSE_TO_SENDER, NULL }, ++ { "copy-message", OP_COPY_MESSAGE, "C" }, ++ { "create-alias", OP_CREATE_ALIAS, "a" }, ++ { "decode-copy", OP_DECODE_COPY, "\033C" }, // ++ { "decode-save", OP_DECODE_SAVE, "\033s" }, // ++ { "decrypt-copy", OP_DECRYPT_COPY, NULL }, ++ { "decrypt-save", OP_DECRYPT_SAVE, NULL }, ++ { "delete-message", OP_DELETE, "d" }, ++ { "delete-pattern", OP_MAIN_DELETE_PATTERN, "D" }, ++ { "delete-subthread", OP_DELETE_SUBTHREAD, "\033d" }, // ++ { "delete-thread", OP_DELETE_THREAD, "\004" }, // ++ { "display-address", OP_DISPLAY_ADDRESS, "@" }, ++ { "display-message", OP_DISPLAY_MESSAGE, "\n" }, // ++ { "display-message", OP_DISPLAY_MESSAGE, "\r" }, ++ { "display-toggle-weed", OP_DISPLAY_HEADERS, "h" }, ++ { "edit", OP_EDIT_RAW_MESSAGE, NULL }, ++ { "edit-label", OP_EDIT_LABEL, "Y" }, ++ { "edit-or-view-raw-message", OP_EDIT_OR_VIEW_RAW_MESSAGE, "e" }, ++ { "edit-raw-message", OP_EDIT_RAW_MESSAGE, NULL }, ++ { "edit-type", OP_EDIT_TYPE, "\005" }, // ++#ifdef USE_NOTMUCH ++ { "entire-thread", OP_MAIN_ENTIRE_THREAD, NULL }, ++#endif ++ { "extract-keys", OP_EXTRACT_KEYS, "\013" }, // ++#ifdef USE_POP ++ { "fetch-mail", OP_MAIN_FETCH_MAIL, "G" }, ++#endif ++ { "flag-message", OP_FLAG_MESSAGE, "F" }, ++#ifdef USE_NNTP ++ { "followup-message", OP_FOLLOWUP, NULL }, ++#endif ++ { "forget-passphrase", OP_FORGET_PASSPHRASE, "\006" }, // ++ { "forward-message", OP_FORWARD_MESSAGE, "f" }, ++#ifdef USE_NNTP ++ { "forward-to-group", OP_FORWARD_TO_GROUP, NULL }, ++ { "get-children", OP_GET_CHILDREN, NULL }, ++ { "get-message", OP_GET_MESSAGE, NULL }, ++ { "get-parent", OP_GET_PARENT, NULL }, ++#endif ++ { "group-chat-reply", OP_GROUP_CHAT_REPLY, NULL }, ++ { "group-reply", OP_GROUP_REPLY, "g" }, ++#ifdef USE_IMAP ++ { "imap-fetch-mail", OP_MAIN_IMAP_FETCH, NULL }, ++ { "imap-logout-all", OP_MAIN_IMAP_LOGOUT_ALL, NULL }, ++#endif ++ { "limit", OP_MAIN_LIMIT, "l" }, ++ { "limit-current-thread", OP_LIMIT_CURRENT_THREAD, NULL }, ++ { "link-threads", OP_MAIN_LINK_THREADS, "&" }, ++ { "list-reply", OP_LIST_REPLY, "L" }, ++ { "mail", OP_MAIL, "m" }, ++ { "mail-key", OP_MAIL_KEY, "\033k" }, // ++ { "mailbox-list", OP_MAILBOX_LIST, "." }, ++ { "mark-message", OP_MARK_MSG, "~" }, ++ { "modify-labels", OP_MAIN_MODIFY_TAGS, NULL }, // NOTE(sileht): kept for backward compatibility ++ { "modify-labels-then-hide", OP_MAIN_MODIFY_TAGS_THEN_HIDE, NULL }, // NOTE(sileht): kept for backward compatibility ++ { "modify-tags", OP_MAIN_MODIFY_TAGS, NULL }, ++ { "modify-tags-then-hide", OP_MAIN_MODIFY_TAGS_THEN_HIDE, NULL }, ++ { "next-new", OP_MAIN_NEXT_NEW, NULL }, ++ { "next-new-then-unread", OP_MAIN_NEXT_NEW_THEN_UNREAD, "\t" }, ++ { "next-subthread", OP_MAIN_NEXT_SUBTHREAD, "\033n" }, // ++ { "next-thread", OP_MAIN_NEXT_THREAD, "\016" }, // ++ { "next-undeleted", OP_MAIN_NEXT_UNDELETED, "j" }, ++ { "next-unread", OP_MAIN_NEXT_UNREAD, NULL }, ++ { "next-unread-mailbox", OP_MAIN_NEXT_UNREAD_MAILBOX, NULL }, ++ { "parent-message", OP_MAIN_PARENT_MESSAGE, "P" }, ++ { "pipe-message", OP_PIPE, "|" }, ++#ifdef USE_NNTP ++ { "post-message", OP_POST, NULL }, ++#endif ++ { "previous-new", OP_MAIN_PREV_NEW, NULL }, ++ { "previous-new-then-unread", OP_MAIN_PREV_NEW_THEN_UNREAD, "\033\t" }, // ++ { "previous-subthread", OP_MAIN_PREV_SUBTHREAD, "\033p" }, // ++ { "previous-thread", OP_MAIN_PREV_THREAD, "\020" }, // ++ { "previous-undeleted", OP_MAIN_PREV_UNDELETED, "k" }, ++ { "previous-unread", OP_MAIN_PREV_UNREAD, NULL }, ++ { "print-message", OP_PRINT, "p" }, ++ { "purge-message", OP_PURGE_MESSAGE, NULL }, ++ { "purge-thread", OP_PURGE_THREAD, NULL }, ++ { "quasi-delete", OP_MAIN_QUASI_DELETE, NULL }, ++ { "query", OP_QUERY, "Q" }, ++ { "quit", OP_QUIT, "q" }, ++ { "read-subthread", OP_MAIN_READ_SUBTHREAD, "\033r" }, // ++ { "read-thread", OP_MAIN_READ_THREAD, "\022" }, // ++ { "recall-message", OP_RECALL_MESSAGE, "R" }, ++#ifdef USE_NNTP ++ { "reconstruct-thread", OP_RECONSTRUCT_THREAD, NULL }, ++#endif ++ { "reply", OP_REPLY, "r" }, ++ { "resend-message", OP_RESEND, "\033e" }, // ++ { "root-message", OP_MAIN_ROOT_MESSAGE, NULL }, ++ { "save-message", OP_SAVE, "s" }, ++ { "set-flag", OP_MAIN_SET_FLAG, "w" }, ++ { "show-limit", OP_MAIN_SHOW_LIMIT, "\033l" }, // ++ { "show-log-messages", OP_SHOW_LOG_MESSAGES, "M" }, ++ { "show-version", OP_VERSION, "V" }, ++#ifdef USE_SIDEBAR ++ { "sidebar-next", OP_SIDEBAR_NEXT, NULL }, ++ { "sidebar-next-new", OP_SIDEBAR_NEXT_NEW, NULL }, ++ { "sidebar-open", OP_SIDEBAR_OPEN, NULL }, ++ { "sidebar-page-down", OP_SIDEBAR_PAGE_DOWN, NULL }, ++ { "sidebar-page-up", OP_SIDEBAR_PAGE_UP, NULL }, ++ { "sidebar-prev", OP_SIDEBAR_PREV, NULL }, ++ { "sidebar-prev-new", OP_SIDEBAR_PREV_NEW, NULL }, ++ { "sidebar-toggle-virtual", OP_SIDEBAR_TOGGLE_VIRTUAL, NULL }, ++ { "sidebar-toggle-visible", OP_SIDEBAR_TOGGLE_VISIBLE, NULL }, ++#endif ++ { "sort-mailbox", OP_SORT, "o" }, ++ { "sort-reverse", OP_SORT_REVERSE, "O" }, ++ { "sync-mailbox", OP_MAIN_SYNC_FOLDER, "$" }, ++ { "tag-pattern", OP_MAIN_TAG_PATTERN, "T" }, ++ { "tag-subthread", OP_TAG_SUBTHREAD, NULL }, ++ { "tag-thread", OP_TAG_THREAD, "\033t" }, // ++ { "toggle-new", OP_TOGGLE_NEW, "N" }, ++ { "toggle-read", OP_TOGGLE_READ, NULL }, ++ { "toggle-write", OP_TOGGLE_WRITE, "%" }, ++ { "undelete-message", OP_UNDELETE, "u" }, ++ { "undelete-pattern", OP_MAIN_UNDELETE_PATTERN, "U" }, ++ { "undelete-subthread", OP_UNDELETE_SUBTHREAD, "\033u" }, // ++ { "undelete-thread", OP_UNDELETE_THREAD, "\025" }, // ++ { "untag-pattern", OP_MAIN_UNTAG_PATTERN, "\024" }, // ++#ifdef USE_NOTMUCH ++ { "vfolder-from-query", OP_MAIN_VFOLDER_FROM_QUERY, NULL }, ++ { "vfolder-from-query-readonly", OP_MAIN_VFOLDER_FROM_QUERY_READONLY, NULL }, ++ { "vfolder-window-backward", OP_MAIN_WINDOWED_VFOLDER_BACKWARD, NULL }, ++ { "vfolder-window-forward", OP_MAIN_WINDOWED_VFOLDER_FORWARD, NULL }, ++#endif ++ { "view-attachments", OP_VIEW_ATTACHMENTS, "v" }, ++ { "view-raw-message", OP_VIEW_RAW_MESSAGE, NULL }, ++ /* This is deprecated. Leave it last so it doesn't show up in the help. */ ++ { "buffy-list", OP_MAILBOX_LIST, NULL }, ++ { NULL, 0, NULL }, ++}; ++ ++/** ++ * OpPager - Key bindings for the pager menu ++ */ ++const struct Binding OpPager[] = { /* map: pager */ ++ { "bottom", OP_PAGER_BOTTOM, NULL }, ++ { "bounce-message", OP_BOUNCE_MESSAGE, "b" }, ++ { "break-thread", OP_MAIN_BREAK_THREAD, "#" }, ++ { "change-folder", OP_MAIN_CHANGE_FOLDER, "c" }, ++ { "change-folder-readonly", OP_MAIN_CHANGE_FOLDER_READONLY, "\033c" }, // ++#ifdef USE_NNTP ++ { "change-newsgroup", OP_MAIN_CHANGE_GROUP, "i" }, ++ { "change-newsgroup-readonly", OP_MAIN_CHANGE_GROUP_READONLY, "\033i" }, // ++#endif ++#ifdef USE_NOTMUCH ++ { "change-vfolder", OP_MAIN_CHANGE_VFOLDER, NULL }, ++#endif ++ { "check-stats", OP_CHECK_STATS, NULL }, ++ { "check-traditional-pgp", OP_CHECK_TRADITIONAL, "\033P" }, // ++ { "clear-flag", OP_MAIN_CLEAR_FLAG, "W" }, ++ { "compose-to-sender", OP_COMPOSE_TO_SENDER, NULL }, ++ { "copy-message", OP_COPY_MESSAGE, "C" }, ++ { "create-alias", OP_CREATE_ALIAS, "a" }, ++ { "decode-copy", OP_DECODE_COPY, "\033C" }, // ++ { "decode-save", OP_DECODE_SAVE, "\033s" }, // ++ { "decrypt-copy", OP_DECRYPT_COPY, NULL }, ++ { "decrypt-save", OP_DECRYPT_SAVE, NULL }, ++ { "delete-message", OP_DELETE, "d" }, ++ { "delete-subthread", OP_DELETE_SUBTHREAD, "\033d" }, // ++ { "delete-thread", OP_DELETE_THREAD, "\004" }, // ++ { "display-address", OP_DISPLAY_ADDRESS, "@" }, ++ { "display-toggle-weed", OP_DISPLAY_HEADERS, "h" }, ++ { "edit", OP_EDIT_RAW_MESSAGE, NULL }, ++ { "edit-label", OP_EDIT_LABEL, "Y" }, ++ { "edit-or-view-raw-message", OP_EDIT_OR_VIEW_RAW_MESSAGE, "e" }, ++ { "edit-raw-message", OP_EDIT_RAW_MESSAGE, NULL }, ++ { "edit-type", OP_EDIT_TYPE, "\005" }, // ++ { "enter-command", OP_ENTER_COMMAND, ":" }, ++#ifdef USE_NOTMUCH ++ { "entire-thread", OP_MAIN_ENTIRE_THREAD, NULL }, ++#endif ++ { "exit", OP_EXIT, "q" }, ++ { "extract-keys", OP_EXTRACT_KEYS, "\013" }, // ++ { "flag-message", OP_FLAG_MESSAGE, "F" }, ++#ifdef USE_NNTP ++ { "followup-message", OP_FOLLOWUP, NULL }, ++#endif ++ { "forget-passphrase", OP_FORGET_PASSPHRASE, "\006" }, // ++ { "forward-message", OP_FORWARD_MESSAGE, "f" }, ++#ifdef USE_NNTP ++ { "forward-to-group", OP_FORWARD_TO_GROUP, NULL }, ++#endif ++ { "group-chat-reply", OP_GROUP_CHAT_REPLY, NULL }, ++ { "group-reply", OP_GROUP_REPLY, "g" }, ++ { "half-down", OP_HALF_DOWN, NULL }, ++ { "half-up", OP_HALF_UP, NULL }, ++ { "help", OP_HELP, "?" }, ++#ifdef USE_IMAP ++ { "imap-fetch-mail", OP_MAIN_IMAP_FETCH, NULL }, ++ { "imap-logout-all", OP_MAIN_IMAP_LOGOUT_ALL, NULL }, ++#endif ++ { "jump", OP_JUMP, NULL }, ++ { "link-threads", OP_MAIN_LINK_THREADS, "&" }, ++ { "list-reply", OP_LIST_REPLY, "L" }, ++ { "mail", OP_MAIL, "m" }, ++ { "mail-key", OP_MAIL_KEY, "\033k" }, // ++ { "mailbox-list", OP_MAILBOX_LIST, "." }, ++ { "mark-as-new", OP_TOGGLE_NEW, "N" }, ++ { "modify-labels", OP_MAIN_MODIFY_TAGS, NULL }, // NOTE(sileht): kept for backward compatibility ++ { "modify-labels-then-hide", OP_MAIN_MODIFY_TAGS_THEN_HIDE, NULL }, // NOTE(sileht): kept for backward compatibility ++ { "modify-tags", OP_MAIN_MODIFY_TAGS, NULL }, ++ { "modify-tags-then-hide", OP_MAIN_MODIFY_TAGS_THEN_HIDE, NULL }, ++ { "next-entry", OP_NEXT_ENTRY, "J" }, ++ { "next-line", OP_NEXT_LINE, "\n" }, // ++ { "next-line", OP_NEXT_LINE, "\r" }, ++ { "next-new", OP_MAIN_NEXT_NEW, NULL }, ++ { "next-new-then-unread", OP_MAIN_NEXT_NEW_THEN_UNREAD, "\t" }, ++ { "next-page", OP_NEXT_PAGE, " " }, ++ { "next-subthread", OP_MAIN_NEXT_SUBTHREAD, "\033n" }, // ++ { "next-thread", OP_MAIN_NEXT_THREAD, "\016" }, // ++ { "next-undeleted", OP_MAIN_NEXT_UNDELETED, "j" }, ++ { "next-unread", OP_MAIN_NEXT_UNREAD, NULL }, ++ { "next-unread-mailbox", OP_MAIN_NEXT_UNREAD_MAILBOX, NULL }, ++ { "parent-message", OP_MAIN_PARENT_MESSAGE, "P" }, ++ { "pipe-message", OP_PIPE, "|" }, ++#ifdef USE_NNTP ++ { "post-message", OP_POST, NULL }, ++#endif ++ { "previous-entry", OP_PREV_ENTRY, "K" }, ++ { "previous-line", OP_PREV_LINE, NULL }, ++ { "previous-new", OP_MAIN_PREV_NEW, NULL }, ++ { "previous-new-then-unread", OP_MAIN_PREV_NEW_THEN_UNREAD, NULL }, ++ { "previous-page", OP_PREV_PAGE, "-" }, ++ { "previous-subthread", OP_MAIN_PREV_SUBTHREAD, "\033p" }, // ++ { "previous-thread", OP_MAIN_PREV_THREAD, "\020" }, // ++ { "previous-undeleted", OP_MAIN_PREV_UNDELETED, "k" }, ++ { "previous-unread", OP_MAIN_PREV_UNREAD, NULL }, ++ { "print-message", OP_PRINT, "p" }, ++ { "purge-message", OP_PURGE_MESSAGE, NULL }, ++ { "purge-thread", OP_PURGE_THREAD, NULL }, ++ { "quasi-delete", OP_MAIN_QUASI_DELETE, NULL }, ++ { "quit", OP_QUIT, "Q" }, ++ { "read-subthread", OP_MAIN_READ_SUBTHREAD, "\033r" }, // ++ { "read-thread", OP_MAIN_READ_THREAD, "\022" }, // ++ { "recall-message", OP_RECALL_MESSAGE, "R" }, ++#ifdef USE_NNTP ++ { "reconstruct-thread", OP_RECONSTRUCT_THREAD, NULL }, ++#endif ++ { "redraw-screen", OP_REDRAW, "\014" }, // ++ { "reply", OP_REPLY, "r" }, ++ { "resend-message", OP_RESEND, "\033e" }, // ++ { "root-message", OP_MAIN_ROOT_MESSAGE, NULL }, ++ { "save-message", OP_SAVE, "s" }, ++ { "search", OP_SEARCH, "/" }, ++ { "search-next", OP_SEARCH_NEXT, "n" }, ++ { "search-opposite", OP_SEARCH_OPPOSITE, NULL }, ++ { "search-reverse", OP_SEARCH_REVERSE, "\033/" }, // ++ { "search-toggle", OP_SEARCH_TOGGLE, "\\" }, // ++ { "set-flag", OP_MAIN_SET_FLAG, "w" }, ++ { "shell-escape", OP_SHELL_ESCAPE, "!" }, ++ { "show-version", OP_VERSION, "V" }, ++#ifdef USE_SIDEBAR ++ { "sidebar-next", OP_SIDEBAR_NEXT, NULL }, ++ { "sidebar-next-new", OP_SIDEBAR_NEXT_NEW, NULL }, ++ { "sidebar-open", OP_SIDEBAR_OPEN, NULL }, ++ { "sidebar-page-down", OP_SIDEBAR_PAGE_DOWN, NULL }, ++ { "sidebar-page-up", OP_SIDEBAR_PAGE_UP, NULL }, ++ { "sidebar-prev", OP_SIDEBAR_PREV, NULL }, ++ { "sidebar-prev-new", OP_SIDEBAR_PREV_NEW, NULL }, ++ { "sidebar-toggle-virtual", OP_SIDEBAR_TOGGLE_VIRTUAL, NULL }, ++ { "sidebar-toggle-visible", OP_SIDEBAR_TOGGLE_VISIBLE, NULL }, ++#endif ++ { "skip-quoted", OP_PAGER_SKIP_QUOTED, "S" }, ++ { "sort-mailbox", OP_SORT, "o" }, ++ { "sort-reverse", OP_SORT_REVERSE, "O" }, ++ { "sync-mailbox", OP_MAIN_SYNC_FOLDER, "$" }, ++ { "tag-message", OP_TAG, "t" }, ++ { "toggle-quoted", OP_PAGER_HIDE_QUOTED, "T" }, ++ { "toggle-write", OP_TOGGLE_WRITE, "%" }, ++ { "top", OP_PAGER_TOP, "^" }, ++ { "undelete-message", OP_UNDELETE, "u" }, ++ { "undelete-subthread", OP_UNDELETE_SUBTHREAD, "\033u" }, // ++ { "undelete-thread", OP_UNDELETE_THREAD, "\025" }, // ++#ifdef USE_NOTMUCH ++ { "vfolder-from-query", OP_MAIN_VFOLDER_FROM_QUERY, NULL }, ++ { "vfolder-from-query-readonly", OP_MAIN_VFOLDER_FROM_QUERY_READONLY, NULL }, ++#endif ++ { "view-attachments", OP_VIEW_ATTACHMENTS, "v" }, ++ { "view-raw-message", OP_VIEW_RAW_MESSAGE, NULL }, ++ { "what-key", OP_WHAT_KEY, NULL }, ++ /* This is deprecated. Leave it last so it doesn't show up in the help. */ ++ { "buffy-list", OP_MAILBOX_LIST, NULL }, ++ { NULL, 0, NULL }, ++}; ++ ++/** ++ * OpAttach - Key bindings for the attachment menu ++ */ ++const struct Binding OpAttach[] = { /* map: attachment */ ++ { "bounce-message", OP_BOUNCE_MESSAGE, "b" }, ++ { "check-traditional-pgp", OP_CHECK_TRADITIONAL, "\033P" }, // ++ { "collapse-parts", OP_ATTACH_COLLAPSE, "v" }, ++ { "compose-to-sender", OP_COMPOSE_TO_SENDER, NULL }, ++ { "delete-entry", OP_DELETE, "d" }, ++ { "display-toggle-weed", OP_DISPLAY_HEADERS, "h" }, ++ { "edit-type", OP_EDIT_TYPE, "\005" }, // ++ { "extract-keys", OP_EXTRACT_KEYS, "\013" }, // ++#ifdef USE_NNTP ++ { "followup-message", OP_FOLLOWUP, NULL }, ++#endif ++ { "forget-passphrase", OP_FORGET_PASSPHRASE, "\006" }, // ++ { "forward-message", OP_FORWARD_MESSAGE, "f" }, ++#ifdef USE_NNTP ++ { "forward-to-group", OP_FORWARD_TO_GROUP, NULL }, ++#endif ++ { "group-chat-reply", OP_GROUP_CHAT_REPLY, NULL }, ++ { "group-reply", OP_GROUP_REPLY, "g" }, ++ { "list-reply", OP_LIST_REPLY, "L" }, ++ { "pipe-entry", OP_PIPE, "|" }, ++ { "print-entry", OP_PRINT, "p" }, ++ { "reply", OP_REPLY, "r" }, ++ { "resend-message", OP_RESEND, "\033e" }, // ++ { "save-entry", OP_SAVE, "s" }, ++ { "undelete-entry", OP_UNDELETE, "u" }, ++ { "view-attach", OP_VIEW_ATTACH, "\n" }, // ++ { "view-attach", OP_VIEW_ATTACH, "\r" }, ++ { "view-mailcap", OP_ATTACH_VIEW_MAILCAP, "m" }, ++ { "view-text", OP_ATTACH_VIEW_TEXT, "T" }, ++ { NULL, 0, NULL }, ++}; ++ ++/** ++ * OpCompose - Key bindings for the compose menu ++ */ ++const struct Binding OpCompose[] = { /* map: compose */ ++ { "attach-file", OP_COMPOSE_ATTACH_FILE, "a" }, ++ { "attach-key", OP_COMPOSE_ATTACH_KEY, "\033k" }, // ++ { "attach-message", OP_COMPOSE_ATTACH_MESSAGE, "A" }, ++#ifdef USE_NNTP ++ { "attach-news-message", OP_COMPOSE_ATTACH_NEWS_MESSAGE, NULL }, ++#endif ++#ifdef USE_AUTOCRYPT ++ { "autocrypt-menu", OP_COMPOSE_AUTOCRYPT_MENU, "o" }, ++#endif ++ { "copy-file", OP_SAVE, "C" }, ++ { "detach-file", OP_DELETE, "D" }, ++ { "display-toggle-weed", OP_DISPLAY_HEADERS, "h" }, ++ { "edit-bcc", OP_COMPOSE_EDIT_BCC, "b" }, ++ { "edit-cc", OP_COMPOSE_EDIT_CC, "c" }, ++ { "edit-description", OP_COMPOSE_EDIT_DESCRIPTION, "d" }, ++ { "edit-encoding", OP_COMPOSE_EDIT_ENCODING, "\005" }, // ++ { "edit-fcc", OP_COMPOSE_EDIT_FCC, "f" }, ++ { "edit-file", OP_COMPOSE_EDIT_FILE, "\030e" }, // ++#ifdef USE_NNTP ++ { "edit-followup-to", OP_COMPOSE_EDIT_FOLLOWUP_TO, NULL }, ++#endif ++ { "edit-from", OP_COMPOSE_EDIT_FROM, "\033f" }, // ++ { "edit-headers", OP_COMPOSE_EDIT_HEADERS, "E" }, ++ { "edit-language", OP_COMPOSE_EDIT_LANGUAGE, "\014" }, // ++ { "edit-message", OP_COMPOSE_EDIT_MESSAGE, "e" }, ++ { "edit-mime", OP_COMPOSE_EDIT_MIME, "m" }, ++#ifdef USE_NNTP ++ { "edit-newsgroups", OP_COMPOSE_EDIT_NEWSGROUPS, NULL }, ++#endif ++ { "edit-reply-to", OP_COMPOSE_EDIT_REPLY_TO, "r" }, ++ { "edit-subject", OP_COMPOSE_EDIT_SUBJECT, "s" }, ++ { "edit-to", OP_COMPOSE_EDIT_TO, "t" }, ++ { "edit-type", OP_EDIT_TYPE, "\024" }, // ++#ifdef USE_NNTP ++ { "edit-x-comment-to", OP_COMPOSE_EDIT_X_COMMENT_TO, NULL }, ++#endif ++ { "filter-entry", OP_FILTER, "F" }, ++ { "forget-passphrase", OP_FORGET_PASSPHRASE, "\006" }, // ++ { "get-attachment", OP_COMPOSE_GET_ATTACHMENT, "G" }, ++ { "group-alternatives", OP_COMPOSE_GROUP_ALTS, "&" }, ++ { "group-multilingual", OP_COMPOSE_GROUP_LINGUAL, "^" }, ++ { "ispell", OP_COMPOSE_ISPELL, "i" }, ++#ifdef MIXMASTER ++ { "mix", OP_COMPOSE_MIX, "M" }, ++#endif ++ { "move-down", OP_COMPOSE_MOVE_DOWN, "+" }, ++ { "move-up", OP_COMPOSE_MOVE_UP, "-" }, ++ { "new-mime", OP_COMPOSE_NEW_MIME, "n" }, ++ { "pgp-menu", OP_COMPOSE_PGP_MENU, "p" }, ++ { "pipe-entry", OP_PIPE, "|" }, ++ { "postpone-message", OP_COMPOSE_POSTPONE_MESSAGE, "P" }, ++ { "print-entry", OP_PRINT, "l" }, ++ { "rename-attachment", OP_COMPOSE_RENAME_ATTACHMENT, "\017" }, // ++ { "rename-file", OP_COMPOSE_RENAME_FILE, "R" }, ++ { "send-message", OP_COMPOSE_SEND_MESSAGE, "y" }, ++ { "smime-menu", OP_COMPOSE_SMIME_MENU, "S" }, ++ { "toggle-disposition", OP_COMPOSE_TOGGLE_DISPOSITION, "\004" }, // ++ { "toggle-recode", OP_COMPOSE_TOGGLE_RECODE, NULL }, ++ { "toggle-unlink", OP_COMPOSE_TOGGLE_UNLINK, "u" }, ++ { "update-encoding", OP_COMPOSE_UPDATE_ENCODING, "U" }, ++ { "view-attach", OP_VIEW_ATTACH, "\n" }, // ++ { "view-attach", OP_VIEW_ATTACH, "\r" }, ++ { "write-fcc", OP_COMPOSE_WRITE_MESSAGE, "w" }, ++ { NULL, 0, NULL }, ++}; ++ ++/** ++ * OpPost - Key bindings for the postpone menu ++ */ ++const struct Binding OpPost[] = { /* map: postpone */ ++ { "delete-entry", OP_DELETE, "d" }, ++ { "undelete-entry", OP_UNDELETE, "u" }, ++ { NULL, 0, NULL }, ++}; ++ ++/** ++ * OpAlias - Key bindings for the alias menu ++ */ ++const struct Binding OpAlias[] = { /* map: alias */ ++ { "delete-entry", OP_DELETE, "d" }, ++ { "undelete-entry", OP_UNDELETE, "u" }, ++ { NULL, 0, NULL }, ++}; ++ ++/** ++ * OpBrowser - Key bindings for the file browser menu ++ */ ++const struct Binding OpBrowser[] = { /* map: browser */ ++#ifdef USE_NNTP ++ { "catchup", OP_CATCHUP, NULL }, ++#endif ++ { "change-dir", OP_CHANGE_DIRECTORY, "c" }, ++ { "check-new", OP_CHECK_NEW, NULL }, ++#ifdef USE_IMAP ++ { "create-mailbox", OP_CREATE_MAILBOX, "C" }, ++ { "delete-mailbox", OP_DELETE_MAILBOX, "d" }, ++#endif ++ { "descend-directory", OP_DESCEND_DIRECTORY, NULL }, ++ { "display-filename", OP_BROWSER_TELL, "@" }, ++ { "enter-mask", OP_ENTER_MASK, "m" }, ++ { "goto-folder", OP_BROWSER_GOTO_FOLDER, "=" }, ++ { "goto-parent", OP_GOTO_PARENT, "p" }, ++ { "mailbox-list", OP_MAILBOX_LIST, "." }, ++#ifdef USE_NNTP ++ { "reload-active", OP_LOAD_ACTIVE, NULL }, ++#endif ++#ifdef USE_IMAP ++ { "rename-mailbox", OP_RENAME_MAILBOX, "r" }, ++#endif ++ { "select-new", OP_BROWSER_NEW_FILE, "N" }, ++ { "sort", OP_SORT, "o" }, ++ { "sort-reverse", OP_SORT_REVERSE, "O" }, ++#if defined(USE_IMAP) || defined(USE_NNTP) ++ { "subscribe", OP_BROWSER_SUBSCRIBE, "s" }, ++#endif ++#ifdef USE_NNTP ++ { "subscribe-pattern", OP_SUBSCRIBE_PATTERN, NULL }, ++#endif ++ { "toggle-mailboxes", OP_TOGGLE_MAILBOXES, "\t" }, ++#ifdef USE_IMAP ++ { "toggle-subscribed", OP_BROWSER_TOGGLE_LSUB, "T" }, ++#endif ++#ifdef USE_NNTP ++ { "uncatchup", OP_UNCATCHUP, NULL }, ++#endif ++#if defined(USE_IMAP) || defined(USE_NNTP) ++ { "unsubscribe", OP_BROWSER_UNSUBSCRIBE, "u" }, ++#endif ++#ifdef USE_NNTP ++ { "unsubscribe-pattern", OP_UNSUBSCRIBE_PATTERN, NULL }, ++#endif ++ { "view-file", OP_BROWSER_VIEW_FILE, " " }, ++ /* This is deprecated. Leave it last so it doesn't show up in the help. */ ++ { "buffy-list", OP_MAILBOX_LIST, NULL }, ++ { NULL, 0, NULL }, ++}; ++ ++/** ++ * OpQuery - Key bindings for the external query menu ++ */ ++const struct Binding OpQuery[] = { /* map: query */ ++ { "create-alias", OP_CREATE_ALIAS, "a" }, ++ { "mail", OP_MAIL, "m" }, ++ { "query", OP_QUERY, "Q" }, ++ { "query-append", OP_QUERY_APPEND, "A" }, ++ { NULL, 0, NULL }, ++}; ++ ++/** ++ * OpEditor - Key bindings for the editor menu ++ */ ++const struct Binding OpEditor[] = { /* map: editor */ ++ { "backspace", OP_EDITOR_BACKSPACE, "\010" }, // ++ { "backward-char", OP_EDITOR_BACKWARD_CHAR, "\002" }, // ++ { "backward-word", OP_EDITOR_BACKWARD_WORD, "\033b" }, // ++ { "bol", OP_EDITOR_BOL, "\001" }, // ++ { "capitalize-word", OP_EDITOR_CAPITALIZE_WORD, "\033c" }, // ++ { "complete", OP_EDITOR_COMPLETE, "\t" }, // ++ { "complete-query", OP_EDITOR_COMPLETE_QUERY, "\024" }, // ++ { "delete-char", OP_EDITOR_DELETE_CHAR, "\004" }, // ++ { "downcase-word", OP_EDITOR_DOWNCASE_WORD, "\033l" }, // ++ { "eol", OP_EDITOR_EOL, "\005" }, // ++ { "forward-char", OP_EDITOR_FORWARD_CHAR, "\006" }, // ++ { "forward-word", OP_EDITOR_FORWARD_WORD, "\033f" }, // ++ { "history-down", OP_EDITOR_HISTORY_DOWN, NULL }, ++ { "history-search", OP_EDITOR_HISTORY_SEARCH, "\022" }, // ++ { "history-up", OP_EDITOR_HISTORY_UP, NULL }, ++ { "kill-eol", OP_EDITOR_KILL_EOL, "\013" }, // ++ { "kill-eow", OP_EDITOR_KILL_EOW, "\033d" }, // ++ { "kill-line", OP_EDITOR_KILL_LINE, "\025" }, // ++ { "kill-word", OP_EDITOR_KILL_WORD, "\027" }, // ++ { "mailbox-cycle", OP_EDITOR_MAILBOX_CYCLE, " " }, ++ { "quote-char", OP_EDITOR_QUOTE_CHAR, "\026" }, // ++ { "transpose-chars", OP_EDITOR_TRANSPOSE_CHARS, NULL }, ++ { "upcase-word", OP_EDITOR_UPCASE_WORD, "\033u" }, // ++ /* This is deprecated. Leave it last so it doesn't show up in the help. */ ++ { "buffy-cycle", OP_EDITOR_MAILBOX_CYCLE, NULL }, ++ { NULL, 0, NULL }, ++}; ++ ++/** ++ * OpPgp - Key bindings for the pgp menu ++ */ ++const struct Binding OpPgp[] = { /* map: pgp */ ++ { "verify-key", OP_VERIFY_KEY, "c" }, ++ { "view-name", OP_VIEW_ID, "%" }, ++ { NULL, 0, NULL }, ++}; ++ ++/** ++ * OpSmime - Key bindings for the smime menu ++ */ ++const struct Binding OpSmime[] = { /* map: smime */ ++#ifdef CRYPT_BACKEND_GPGME ++ { "verify-key", OP_VERIFY_KEY, "c" }, ++ { "view-name", OP_VIEW_ID, "%" }, ++#endif ++ { NULL, 0, NULL }, ++}; ++ ++#ifdef MIXMASTER ++/** ++ * OpMix - Key bindings for the mixmaster menu ++ */ ++const struct Binding OpMix[] = { /* map: mixmaster */ ++ { "accept", OP_MIX_USE, "\n" }, // ++ { "accept", OP_MIX_USE, "\r" }, // ++ { "append", OP_MIX_APPEND, "a" }, ++ { "chain-next", OP_MIX_CHAIN_NEXT, "" }, ++ { "chain-prev", OP_MIX_CHAIN_PREV, "" }, ++ { "delete", OP_MIX_DELETE, "d" }, ++ { "insert", OP_MIX_INSERT, "i" }, ++ { NULL, 0, NULL }, ++}; ++#endif /* MIXMASTER */ ++ ++#ifdef USE_AUTOCRYPT ++/** ++ * OpAutocryptAcct - Key bindings for the autocrypt account ++ */ ++const struct Binding OpAutocryptAcct[] = { /* map: autocrypt account */ ++ { "create-account", OP_AUTOCRYPT_CREATE_ACCT, "c" }, ++ { "delete-account", OP_AUTOCRYPT_DELETE_ACCT, "D" }, ++ { "toggle-active", OP_AUTOCRYPT_TOGGLE_ACTIVE, "a" }, ++ { "toggle-prefer-encrypt", OP_AUTOCRYPT_TOGGLE_PREFER, "p" }, ++ { NULL, 0, NULL } ++}; ++#endif ++ ++// clang-format on +diff --git a/functions.h b/functions.h +index 76a86a466..a3720f6f5 100644 +--- a/functions.h ++++ b/functions.h +@@ -24,660 +24,25 @@ + #define MUTT_FUNCTIONS_H + + #include "config.h" +- +-/* +- * This file contains the structures needed to parse "bind" commands, as +- * well as the default bindings for each menu. +- * +- * Notes: +- * +- * - If you need to bind a control char, use the octal value because the \cX +- * construct does not work at this level. +- * +- * - The magic "map:" comments define how the map will be called in the +- * manual. Lines starting with "**" will be included in the manual. +- */ +- +-#ifdef _MAKEDOC +-#include "config.h" +-#include "doc/makedoc_defs.h" +-#else +-#include + #include "keymap.h" +-#include "opcodes.h" +-#endif +- +-// clang-format off +-/** +- * OpGeneric - Key bindings for the generic menu +- */ +-const struct Binding OpGeneric[] = { /* map: generic */ +- /* +- ** +- ** The generic menu is not a real menu, but specifies common functions +- ** (such as movement) available in all menus except for pager and +- ** editor. Changing settings for this menu will affect the default +- ** bindings for all menus (except as noted). +- ** +- */ +- { "bottom-page", OP_BOTTOM_PAGE, "L" }, +- { "check-stats", OP_CHECK_STATS, NULL }, +- { "current-bottom", OP_CURRENT_BOTTOM, NULL }, +- { "current-middle", OP_CURRENT_MIDDLE, NULL }, +- { "current-top", OP_CURRENT_TOP, NULL }, +- { "end-cond", OP_END_COND, NULL }, +- { "enter-command", OP_ENTER_COMMAND, ":" }, +- { "exit", OP_EXIT, "q" }, +- { "first-entry", OP_FIRST_ENTRY, "=" }, +- { "half-down", OP_HALF_DOWN, "]" }, +- { "half-up", OP_HALF_UP, "[" }, +- { "help", OP_HELP, "?" }, +- { "jump", OP_JUMP, NULL }, +- { "last-entry", OP_LAST_ENTRY, "*" }, +- { "middle-page", OP_MIDDLE_PAGE, "M" }, +- { "next-entry", OP_NEXT_ENTRY, "j" }, +- { "next-line", OP_NEXT_LINE, ">" }, +- { "next-page", OP_NEXT_PAGE, "z" }, +- { "previous-entry", OP_PREV_ENTRY, "k" }, +- { "previous-line", OP_PREV_LINE, "<" }, +- { "previous-page", OP_PREV_PAGE, "Z" }, +- { "refresh", OP_REDRAW, "\014" }, // +- { "search", OP_SEARCH, "/" }, +- { "search-next", OP_SEARCH_NEXT, "n" }, +- { "search-opposite", OP_SEARCH_OPPOSITE, NULL }, +- { "search-reverse", OP_SEARCH_REVERSE, "\033/" }, // +- { "select-entry", OP_GENERIC_SELECT_ENTRY, "\n" }, +- { "select-entry", OP_GENERIC_SELECT_ENTRY, "\r" }, +- { "shell-escape", OP_SHELL_ESCAPE, "!" }, +- { "tag-entry", OP_TAG, "t" }, +- { "tag-prefix", OP_TAG_PREFIX, ";" }, +- { "tag-prefix-cond", OP_TAG_PREFIX_COND, NULL }, +- { "top-page", OP_TOP_PAGE, "H" }, +- { "what-key", OP_WHAT_KEY, NULL }, +- { NULL, 0, NULL }, +-}; + +-/** +- * OpMain - Key bindings for the index menu +- */ +-const struct Binding OpMain[] = { /* map: index */ +-#ifdef USE_AUTOCRYPT +- { "autocrypt-acct-menu", OP_AUTOCRYPT_ACCT_MENU, "A" }, +-#endif +- { "bounce-message", OP_BOUNCE_MESSAGE, "b" }, +- { "break-thread", OP_MAIN_BREAK_THREAD, "#" }, +-#ifdef USE_NNTP +- { "catchup", OP_CATCHUP, NULL }, +-#endif +- { "change-folder", OP_MAIN_CHANGE_FOLDER, "c" }, +- { "change-folder-readonly", OP_MAIN_CHANGE_FOLDER_READONLY, "\033c" }, // +-#ifdef USE_NNTP +- { "change-newsgroup", OP_MAIN_CHANGE_GROUP, "i" }, +- { "change-newsgroup-readonly", OP_MAIN_CHANGE_GROUP_READONLY, "\033i" }, // +-#endif +-#ifdef USE_NOTMUCH +- { "change-vfolder", OP_MAIN_CHANGE_VFOLDER, NULL }, +-#endif +- { "check-traditional-pgp", OP_CHECK_TRADITIONAL, "\033P" }, // +- { "clear-flag", OP_MAIN_CLEAR_FLAG, "W" }, +- { "collapse-all", OP_MAIN_COLLAPSE_ALL, "\033V" }, // +- { "collapse-thread", OP_MAIN_COLLAPSE_THREAD, "\033v" }, // +- { "compose-to-sender", OP_COMPOSE_TO_SENDER, NULL }, +- { "copy-message", OP_COPY_MESSAGE, "C" }, +- { "create-alias", OP_CREATE_ALIAS, "a" }, +- { "decode-copy", OP_DECODE_COPY, "\033C" }, // +- { "decode-save", OP_DECODE_SAVE, "\033s" }, // +- { "decrypt-copy", OP_DECRYPT_COPY, NULL }, +- { "decrypt-save", OP_DECRYPT_SAVE, NULL }, +- { "delete-message", OP_DELETE, "d" }, +- { "delete-pattern", OP_MAIN_DELETE_PATTERN, "D" }, +- { "delete-subthread", OP_DELETE_SUBTHREAD, "\033d" }, // +- { "delete-thread", OP_DELETE_THREAD, "\004" }, // +- { "display-address", OP_DISPLAY_ADDRESS, "@" }, +- { "display-message", OP_DISPLAY_MESSAGE, "\n" }, // +- { "display-message", OP_DISPLAY_MESSAGE, "\r" }, +- { "display-toggle-weed", OP_DISPLAY_HEADERS, "h" }, +- { "edit", OP_EDIT_RAW_MESSAGE, NULL }, +- { "edit-label", OP_EDIT_LABEL, "Y" }, +- { "edit-or-view-raw-message", OP_EDIT_OR_VIEW_RAW_MESSAGE, "e" }, +- { "edit-raw-message", OP_EDIT_RAW_MESSAGE, NULL }, +- { "edit-type", OP_EDIT_TYPE, "\005" }, // +-#ifdef USE_NOTMUCH +- { "entire-thread", OP_MAIN_ENTIRE_THREAD, NULL }, +-#endif +- { "extract-keys", OP_EXTRACT_KEYS, "\013" }, // +-#ifdef USE_POP +- { "fetch-mail", OP_MAIN_FETCH_MAIL, "G" }, +-#endif +- { "flag-message", OP_FLAG_MESSAGE, "F" }, +-#ifdef USE_NNTP +- { "followup-message", OP_FOLLOWUP, NULL }, +-#endif +- { "forget-passphrase", OP_FORGET_PASSPHRASE, "\006" }, // +- { "forward-message", OP_FORWARD_MESSAGE, "f" }, +-#ifdef USE_NNTP +- { "forward-to-group", OP_FORWARD_TO_GROUP, NULL }, +- { "get-children", OP_GET_CHILDREN, NULL }, +- { "get-message", OP_GET_MESSAGE, NULL }, +- { "get-parent", OP_GET_PARENT, NULL }, +-#endif +- { "group-chat-reply", OP_GROUP_CHAT_REPLY, NULL }, +- { "group-reply", OP_GROUP_REPLY, "g" }, +-#ifdef USE_IMAP +- { "imap-fetch-mail", OP_MAIN_IMAP_FETCH, NULL }, +- { "imap-logout-all", OP_MAIN_IMAP_LOGOUT_ALL, NULL }, +-#endif +- { "limit", OP_MAIN_LIMIT, "l" }, +- { "limit-current-thread", OP_LIMIT_CURRENT_THREAD, NULL }, +- { "link-threads", OP_MAIN_LINK_THREADS, "&" }, +- { "list-reply", OP_LIST_REPLY, "L" }, +- { "mail", OP_MAIL, "m" }, +- { "mail-key", OP_MAIL_KEY, "\033k" }, // +- { "mailbox-list", OP_MAILBOX_LIST, "." }, +- { "mark-message", OP_MARK_MSG, "~" }, +- { "modify-labels", OP_MAIN_MODIFY_TAGS, NULL }, // NOTE(sileht): kept for backward compatibility +- { "modify-labels-then-hide", OP_MAIN_MODIFY_TAGS_THEN_HIDE, NULL }, // NOTE(sileht): kept for backward compatibility +- { "modify-tags", OP_MAIN_MODIFY_TAGS, NULL }, +- { "modify-tags-then-hide", OP_MAIN_MODIFY_TAGS_THEN_HIDE, NULL }, +- { "next-new", OP_MAIN_NEXT_NEW, NULL }, +- { "next-new-then-unread", OP_MAIN_NEXT_NEW_THEN_UNREAD, "\t" }, +- { "next-subthread", OP_MAIN_NEXT_SUBTHREAD, "\033n" }, // +- { "next-thread", OP_MAIN_NEXT_THREAD, "\016" }, // +- { "next-undeleted", OP_MAIN_NEXT_UNDELETED, "j" }, +- { "next-unread", OP_MAIN_NEXT_UNREAD, NULL }, +- { "next-unread-mailbox", OP_MAIN_NEXT_UNREAD_MAILBOX, NULL }, +- { "parent-message", OP_MAIN_PARENT_MESSAGE, "P" }, +- { "pipe-message", OP_PIPE, "|" }, +-#ifdef USE_NNTP +- { "post-message", OP_POST, NULL }, +-#endif +- { "previous-new", OP_MAIN_PREV_NEW, NULL }, +- { "previous-new-then-unread", OP_MAIN_PREV_NEW_THEN_UNREAD, "\033\t" }, // +- { "previous-subthread", OP_MAIN_PREV_SUBTHREAD, "\033p" }, // +- { "previous-thread", OP_MAIN_PREV_THREAD, "\020" }, // +- { "previous-undeleted", OP_MAIN_PREV_UNDELETED, "k" }, +- { "previous-unread", OP_MAIN_PREV_UNREAD, NULL }, +- { "print-message", OP_PRINT, "p" }, +- { "purge-message", OP_PURGE_MESSAGE, NULL }, +- { "purge-thread", OP_PURGE_THREAD, NULL }, +- { "quasi-delete", OP_MAIN_QUASI_DELETE, NULL }, +- { "query", OP_QUERY, "Q" }, +- { "quit", OP_QUIT, "q" }, +- { "read-subthread", OP_MAIN_READ_SUBTHREAD, "\033r" }, // +- { "read-thread", OP_MAIN_READ_THREAD, "\022" }, // +- { "recall-message", OP_RECALL_MESSAGE, "R" }, +-#ifdef USE_NNTP +- { "reconstruct-thread", OP_RECONSTRUCT_THREAD, NULL }, +-#endif +- { "reply", OP_REPLY, "r" }, +- { "resend-message", OP_RESEND, "\033e" }, // +- { "root-message", OP_MAIN_ROOT_MESSAGE, NULL }, +- { "save-message", OP_SAVE, "s" }, +- { "set-flag", OP_MAIN_SET_FLAG, "w" }, +- { "show-limit", OP_MAIN_SHOW_LIMIT, "\033l" }, // +- { "show-log-messages", OP_SHOW_LOG_MESSAGES, "M" }, +- { "show-version", OP_VERSION, "V" }, +-#ifdef USE_SIDEBAR +- { "sidebar-next", OP_SIDEBAR_NEXT, NULL }, +- { "sidebar-next-new", OP_SIDEBAR_NEXT_NEW, NULL }, +- { "sidebar-open", OP_SIDEBAR_OPEN, NULL }, +- { "sidebar-page-down", OP_SIDEBAR_PAGE_DOWN, NULL }, +- { "sidebar-page-up", OP_SIDEBAR_PAGE_UP, NULL }, +- { "sidebar-prev", OP_SIDEBAR_PREV, NULL }, +- { "sidebar-prev-new", OP_SIDEBAR_PREV_NEW, NULL }, +- { "sidebar-toggle-virtual", OP_SIDEBAR_TOGGLE_VIRTUAL, NULL }, +- { "sidebar-toggle-visible", OP_SIDEBAR_TOGGLE_VISIBLE, NULL }, +-#endif +- { "sort-mailbox", OP_SORT, "o" }, +- { "sort-reverse", OP_SORT_REVERSE, "O" }, +- { "sync-mailbox", OP_MAIN_SYNC_FOLDER, "$" }, +- { "tag-pattern", OP_MAIN_TAG_PATTERN, "T" }, +- { "tag-subthread", OP_TAG_SUBTHREAD, NULL }, +- { "tag-thread", OP_TAG_THREAD, "\033t" }, // +- { "toggle-new", OP_TOGGLE_NEW, "N" }, +- { "toggle-read", OP_TOGGLE_READ, NULL }, +- { "toggle-write", OP_TOGGLE_WRITE, "%" }, +- { "undelete-message", OP_UNDELETE, "u" }, +- { "undelete-pattern", OP_MAIN_UNDELETE_PATTERN, "U" }, +- { "undelete-subthread", OP_UNDELETE_SUBTHREAD, "\033u" }, // +- { "undelete-thread", OP_UNDELETE_THREAD, "\025" }, // +- { "untag-pattern", OP_MAIN_UNTAG_PATTERN, "\024" }, // +-#ifdef USE_NOTMUCH +- { "vfolder-from-query", OP_MAIN_VFOLDER_FROM_QUERY, NULL }, +- { "vfolder-from-query-readonly", OP_MAIN_VFOLDER_FROM_QUERY_READONLY, NULL }, +- { "vfolder-window-backward", OP_MAIN_WINDOWED_VFOLDER_BACKWARD, NULL }, +- { "vfolder-window-forward", OP_MAIN_WINDOWED_VFOLDER_FORWARD, NULL }, +-#endif +- { "view-attachments", OP_VIEW_ATTACHMENTS, "v" }, +- { "view-raw-message", OP_VIEW_RAW_MESSAGE, NULL }, +- /* This is deprecated. Leave it last so it doesn't show up in the help. */ +- { "buffy-list", OP_MAILBOX_LIST, NULL }, +- { NULL, 0, NULL }, +-}; +- +-/** +- * OpPager - Key bindings for the pager menu +- */ +-const struct Binding OpPager[] = { /* map: pager */ +- { "bottom", OP_PAGER_BOTTOM, NULL }, +- { "bounce-message", OP_BOUNCE_MESSAGE, "b" }, +- { "break-thread", OP_MAIN_BREAK_THREAD, "#" }, +- { "change-folder", OP_MAIN_CHANGE_FOLDER, "c" }, +- { "change-folder-readonly", OP_MAIN_CHANGE_FOLDER_READONLY, "\033c" }, // +-#ifdef USE_NNTP +- { "change-newsgroup", OP_MAIN_CHANGE_GROUP, "i" }, +- { "change-newsgroup-readonly", OP_MAIN_CHANGE_GROUP_READONLY, "\033i" }, // +-#endif +-#ifdef USE_NOTMUCH +- { "change-vfolder", OP_MAIN_CHANGE_VFOLDER, NULL }, +-#endif +- { "check-stats", OP_CHECK_STATS, NULL }, +- { "check-traditional-pgp", OP_CHECK_TRADITIONAL, "\033P" }, // +- { "clear-flag", OP_MAIN_CLEAR_FLAG, "W" }, +- { "compose-to-sender", OP_COMPOSE_TO_SENDER, NULL }, +- { "copy-message", OP_COPY_MESSAGE, "C" }, +- { "create-alias", OP_CREATE_ALIAS, "a" }, +- { "decode-copy", OP_DECODE_COPY, "\033C" }, // +- { "decode-save", OP_DECODE_SAVE, "\033s" }, // +- { "decrypt-copy", OP_DECRYPT_COPY, NULL }, +- { "decrypt-save", OP_DECRYPT_SAVE, NULL }, +- { "delete-message", OP_DELETE, "d" }, +- { "delete-subthread", OP_DELETE_SUBTHREAD, "\033d" }, // +- { "delete-thread", OP_DELETE_THREAD, "\004" }, // +- { "display-address", OP_DISPLAY_ADDRESS, "@" }, +- { "display-toggle-weed", OP_DISPLAY_HEADERS, "h" }, +- { "edit", OP_EDIT_RAW_MESSAGE, NULL }, +- { "edit-label", OP_EDIT_LABEL, "Y" }, +- { "edit-or-view-raw-message", OP_EDIT_OR_VIEW_RAW_MESSAGE, "e" }, +- { "edit-raw-message", OP_EDIT_RAW_MESSAGE, NULL }, +- { "edit-type", OP_EDIT_TYPE, "\005" }, // +- { "enter-command", OP_ENTER_COMMAND, ":" }, +-#ifdef USE_NOTMUCH +- { "entire-thread", OP_MAIN_ENTIRE_THREAD, NULL }, +-#endif +- { "exit", OP_EXIT, "q" }, +- { "extract-keys", OP_EXTRACT_KEYS, "\013" }, // +- { "flag-message", OP_FLAG_MESSAGE, "F" }, +-#ifdef USE_NNTP +- { "followup-message", OP_FOLLOWUP, NULL }, +-#endif +- { "forget-passphrase", OP_FORGET_PASSPHRASE, "\006" }, // +- { "forward-message", OP_FORWARD_MESSAGE, "f" }, +-#ifdef USE_NNTP +- { "forward-to-group", OP_FORWARD_TO_GROUP, NULL }, +-#endif +- { "group-chat-reply", OP_GROUP_CHAT_REPLY, NULL }, +- { "group-reply", OP_GROUP_REPLY, "g" }, +- { "half-down", OP_HALF_DOWN, NULL }, +- { "half-up", OP_HALF_UP, NULL }, +- { "help", OP_HELP, "?" }, +-#ifdef USE_IMAP +- { "imap-fetch-mail", OP_MAIN_IMAP_FETCH, NULL }, +- { "imap-logout-all", OP_MAIN_IMAP_LOGOUT_ALL, NULL }, +-#endif +- { "jump", OP_JUMP, NULL }, +- { "link-threads", OP_MAIN_LINK_THREADS, "&" }, +- { "list-reply", OP_LIST_REPLY, "L" }, +- { "mail", OP_MAIL, "m" }, +- { "mail-key", OP_MAIL_KEY, "\033k" }, // +- { "mailbox-list", OP_MAILBOX_LIST, "." }, +- { "mark-as-new", OP_TOGGLE_NEW, "N" }, +- { "modify-labels", OP_MAIN_MODIFY_TAGS, NULL }, // NOTE(sileht): kept for backward compatibility +- { "modify-labels-then-hide", OP_MAIN_MODIFY_TAGS_THEN_HIDE, NULL }, // NOTE(sileht): kept for backward compatibility +- { "modify-tags", OP_MAIN_MODIFY_TAGS, NULL }, +- { "modify-tags-then-hide", OP_MAIN_MODIFY_TAGS_THEN_HIDE, NULL }, +- { "next-entry", OP_NEXT_ENTRY, "J" }, +- { "next-line", OP_NEXT_LINE, "\n" }, // +- { "next-line", OP_NEXT_LINE, "\r" }, +- { "next-new", OP_MAIN_NEXT_NEW, NULL }, +- { "next-new-then-unread", OP_MAIN_NEXT_NEW_THEN_UNREAD, "\t" }, +- { "next-page", OP_NEXT_PAGE, " " }, +- { "next-subthread", OP_MAIN_NEXT_SUBTHREAD, "\033n" }, // +- { "next-thread", OP_MAIN_NEXT_THREAD, "\016" }, // +- { "next-undeleted", OP_MAIN_NEXT_UNDELETED, "j" }, +- { "next-unread", OP_MAIN_NEXT_UNREAD, NULL }, +- { "next-unread-mailbox", OP_MAIN_NEXT_UNREAD_MAILBOX, NULL }, +- { "parent-message", OP_MAIN_PARENT_MESSAGE, "P" }, +- { "pipe-message", OP_PIPE, "|" }, +-#ifdef USE_NNTP +- { "post-message", OP_POST, NULL }, +-#endif +- { "previous-entry", OP_PREV_ENTRY, "K" }, +- { "previous-line", OP_PREV_LINE, NULL }, +- { "previous-new", OP_MAIN_PREV_NEW, NULL }, +- { "previous-new-then-unread", OP_MAIN_PREV_NEW_THEN_UNREAD, NULL }, +- { "previous-page", OP_PREV_PAGE, "-" }, +- { "previous-subthread", OP_MAIN_PREV_SUBTHREAD, "\033p" }, // +- { "previous-thread", OP_MAIN_PREV_THREAD, "\020" }, // +- { "previous-undeleted", OP_MAIN_PREV_UNDELETED, "k" }, +- { "previous-unread", OP_MAIN_PREV_UNREAD, NULL }, +- { "print-message", OP_PRINT, "p" }, +- { "purge-message", OP_PURGE_MESSAGE, NULL }, +- { "purge-thread", OP_PURGE_THREAD, NULL }, +- { "quasi-delete", OP_MAIN_QUASI_DELETE, NULL }, +- { "quit", OP_QUIT, "Q" }, +- { "read-subthread", OP_MAIN_READ_SUBTHREAD, "\033r" }, // +- { "read-thread", OP_MAIN_READ_THREAD, "\022" }, // +- { "recall-message", OP_RECALL_MESSAGE, "R" }, +-#ifdef USE_NNTP +- { "reconstruct-thread", OP_RECONSTRUCT_THREAD, NULL }, +-#endif +- { "redraw-screen", OP_REDRAW, "\014" }, // +- { "reply", OP_REPLY, "r" }, +- { "resend-message", OP_RESEND, "\033e" }, // +- { "root-message", OP_MAIN_ROOT_MESSAGE, NULL }, +- { "save-message", OP_SAVE, "s" }, +- { "search", OP_SEARCH, "/" }, +- { "search-next", OP_SEARCH_NEXT, "n" }, +- { "search-opposite", OP_SEARCH_OPPOSITE, NULL }, +- { "search-reverse", OP_SEARCH_REVERSE, "\033/" }, // +- { "search-toggle", OP_SEARCH_TOGGLE, "\\" }, // +- { "set-flag", OP_MAIN_SET_FLAG, "w" }, +- { "shell-escape", OP_SHELL_ESCAPE, "!" }, +- { "show-version", OP_VERSION, "V" }, +-#ifdef USE_SIDEBAR +- { "sidebar-next", OP_SIDEBAR_NEXT, NULL }, +- { "sidebar-next-new", OP_SIDEBAR_NEXT_NEW, NULL }, +- { "sidebar-open", OP_SIDEBAR_OPEN, NULL }, +- { "sidebar-page-down", OP_SIDEBAR_PAGE_DOWN, NULL }, +- { "sidebar-page-up", OP_SIDEBAR_PAGE_UP, NULL }, +- { "sidebar-prev", OP_SIDEBAR_PREV, NULL }, +- { "sidebar-prev-new", OP_SIDEBAR_PREV_NEW, NULL }, +- { "sidebar-toggle-virtual", OP_SIDEBAR_TOGGLE_VIRTUAL, NULL }, +- { "sidebar-toggle-visible", OP_SIDEBAR_TOGGLE_VISIBLE, NULL }, +-#endif +- { "skip-quoted", OP_PAGER_SKIP_QUOTED, "S" }, +- { "sort-mailbox", OP_SORT, "o" }, +- { "sort-reverse", OP_SORT_REVERSE, "O" }, +- { "sync-mailbox", OP_MAIN_SYNC_FOLDER, "$" }, +- { "tag-message", OP_TAG, "t" }, +- { "toggle-quoted", OP_PAGER_HIDE_QUOTED, "T" }, +- { "toggle-write", OP_TOGGLE_WRITE, "%" }, +- { "top", OP_PAGER_TOP, "^" }, +- { "undelete-message", OP_UNDELETE, "u" }, +- { "undelete-subthread", OP_UNDELETE_SUBTHREAD, "\033u" }, // +- { "undelete-thread", OP_UNDELETE_THREAD, "\025" }, // +-#ifdef USE_NOTMUCH +- { "vfolder-from-query", OP_MAIN_VFOLDER_FROM_QUERY, NULL }, +- { "vfolder-from-query-readonly", OP_MAIN_VFOLDER_FROM_QUERY_READONLY, NULL }, +-#endif +- { "view-attachments", OP_VIEW_ATTACHMENTS, "v" }, +- { "view-raw-message", OP_VIEW_RAW_MESSAGE, NULL }, +- { "what-key", OP_WHAT_KEY, NULL }, +- /* This is deprecated. Leave it last so it doesn't show up in the help. */ +- { "buffy-list", OP_MAILBOX_LIST, NULL }, +- { NULL, 0, NULL }, +-}; +- +-/** +- * OpAttach - Key bindings for the attachment menu +- */ +-const struct Binding OpAttach[] = { /* map: attachment */ +- { "bounce-message", OP_BOUNCE_MESSAGE, "b" }, +- { "check-traditional-pgp", OP_CHECK_TRADITIONAL, "\033P" }, // +- { "collapse-parts", OP_ATTACH_COLLAPSE, "v" }, +- { "compose-to-sender", OP_COMPOSE_TO_SENDER, NULL }, +- { "delete-entry", OP_DELETE, "d" }, +- { "display-toggle-weed", OP_DISPLAY_HEADERS, "h" }, +- { "edit-type", OP_EDIT_TYPE, "\005" }, // +- { "extract-keys", OP_EXTRACT_KEYS, "\013" }, // +-#ifdef USE_NNTP +- { "followup-message", OP_FOLLOWUP, NULL }, +-#endif +- { "forget-passphrase", OP_FORGET_PASSPHRASE, "\006" }, // +- { "forward-message", OP_FORWARD_MESSAGE, "f" }, +-#ifdef USE_NNTP +- { "forward-to-group", OP_FORWARD_TO_GROUP, NULL }, +-#endif +- { "group-chat-reply", OP_GROUP_CHAT_REPLY, NULL }, +- { "group-reply", OP_GROUP_REPLY, "g" }, +- { "list-reply", OP_LIST_REPLY, "L" }, +- { "pipe-entry", OP_PIPE, "|" }, +- { "print-entry", OP_PRINT, "p" }, +- { "reply", OP_REPLY, "r" }, +- { "resend-message", OP_RESEND, "\033e" }, // +- { "save-entry", OP_SAVE, "s" }, +- { "undelete-entry", OP_UNDELETE, "u" }, +- { "view-attach", OP_VIEW_ATTACH, "\n" }, // +- { "view-attach", OP_VIEW_ATTACH, "\r" }, +- { "view-mailcap", OP_ATTACH_VIEW_MAILCAP, "m" }, +- { "view-text", OP_ATTACH_VIEW_TEXT, "T" }, +- { NULL, 0, NULL }, +-}; +- +-/** +- * OpCompose - Key bindings for the compose menu +- */ +-const struct Binding OpCompose[] = { /* map: compose */ +- { "attach-file", OP_COMPOSE_ATTACH_FILE, "a" }, +- { "attach-key", OP_COMPOSE_ATTACH_KEY, "\033k" }, // +- { "attach-message", OP_COMPOSE_ATTACH_MESSAGE, "A" }, +-#ifdef USE_NNTP +- { "attach-news-message", OP_COMPOSE_ATTACH_NEWS_MESSAGE, NULL }, +-#endif ++extern struct Binding OpAlias[]; ++extern struct Binding OpAttach[]; + #ifdef USE_AUTOCRYPT +- { "autocrypt-menu", OP_COMPOSE_AUTOCRYPT_MENU, "o" }, +-#endif +- { "copy-file", OP_SAVE, "C" }, +- { "detach-file", OP_DELETE, "D" }, +- { "display-toggle-weed", OP_DISPLAY_HEADERS, "h" }, +- { "edit-bcc", OP_COMPOSE_EDIT_BCC, "b" }, +- { "edit-cc", OP_COMPOSE_EDIT_CC, "c" }, +- { "edit-description", OP_COMPOSE_EDIT_DESCRIPTION, "d" }, +- { "edit-encoding", OP_COMPOSE_EDIT_ENCODING, "\005" }, // +- { "edit-fcc", OP_COMPOSE_EDIT_FCC, "f" }, +- { "edit-file", OP_COMPOSE_EDIT_FILE, "\030e" }, // +-#ifdef USE_NNTP +- { "edit-followup-to", OP_COMPOSE_EDIT_FOLLOWUP_TO, NULL }, ++extern struct Binding OpAutocryptAcct[]; + #endif +- { "edit-from", OP_COMPOSE_EDIT_FROM, "\033f" }, // +- { "edit-headers", OP_COMPOSE_EDIT_HEADERS, "E" }, +- { "edit-language", OP_COMPOSE_EDIT_LANGUAGE, "\014" }, // +- { "edit-message", OP_COMPOSE_EDIT_MESSAGE, "e" }, +- { "edit-mime", OP_COMPOSE_EDIT_MIME, "m" }, +-#ifdef USE_NNTP +- { "edit-newsgroups", OP_COMPOSE_EDIT_NEWSGROUPS, NULL }, +-#endif +- { "edit-reply-to", OP_COMPOSE_EDIT_REPLY_TO, "r" }, +- { "edit-subject", OP_COMPOSE_EDIT_SUBJECT, "s" }, +- { "edit-to", OP_COMPOSE_EDIT_TO, "t" }, +- { "edit-type", OP_EDIT_TYPE, "\024" }, // +-#ifdef USE_NNTP +- { "edit-x-comment-to", OP_COMPOSE_EDIT_X_COMMENT_TO, NULL }, +-#endif +- { "filter-entry", OP_FILTER, "F" }, +- { "forget-passphrase", OP_FORGET_PASSPHRASE, "\006" }, // +- { "get-attachment", OP_COMPOSE_GET_ATTACHMENT, "G" }, +- { "group-alternatives", OP_COMPOSE_GROUP_ALTS, "&" }, +- { "group-multilingual", OP_COMPOSE_GROUP_LINGUAL, "^" }, +- { "ispell", OP_COMPOSE_ISPELL, "i" }, ++extern struct Binding OpBrowser[]; ++extern struct Binding OpCompose[]; ++extern struct Binding OpEditor[]; ++extern struct Binding OpGeneric[]; ++extern struct Binding OpMain[]; + #ifdef MIXMASTER +- { "mix", OP_COMPOSE_MIX, "M" }, +-#endif +- { "move-down", OP_COMPOSE_MOVE_DOWN, "+" }, +- { "move-up", OP_COMPOSE_MOVE_UP, "-" }, +- { "new-mime", OP_COMPOSE_NEW_MIME, "n" }, +- { "pgp-menu", OP_COMPOSE_PGP_MENU, "p" }, +- { "pipe-entry", OP_PIPE, "|" }, +- { "postpone-message", OP_COMPOSE_POSTPONE_MESSAGE, "P" }, +- { "print-entry", OP_PRINT, "l" }, +- { "rename-attachment", OP_COMPOSE_RENAME_ATTACHMENT, "\017" }, // +- { "rename-file", OP_COMPOSE_RENAME_FILE, "R" }, +- { "send-message", OP_COMPOSE_SEND_MESSAGE, "y" }, +- { "smime-menu", OP_COMPOSE_SMIME_MENU, "S" }, +- { "toggle-disposition", OP_COMPOSE_TOGGLE_DISPOSITION, "\004" }, // +- { "toggle-recode", OP_COMPOSE_TOGGLE_RECODE, NULL }, +- { "toggle-unlink", OP_COMPOSE_TOGGLE_UNLINK, "u" }, +- { "update-encoding", OP_COMPOSE_UPDATE_ENCODING, "U" }, +- { "view-attach", OP_VIEW_ATTACH, "\n" }, // +- { "view-attach", OP_VIEW_ATTACH, "\r" }, +- { "write-fcc", OP_COMPOSE_WRITE_MESSAGE, "w" }, +- { NULL, 0, NULL }, +-}; +- +-/** +- * OpPost - Key bindings for the postpone menu +- */ +-const struct Binding OpPost[] = { /* map: postpone */ +- { "delete-entry", OP_DELETE, "d" }, +- { "undelete-entry", OP_UNDELETE, "u" }, +- { NULL, 0, NULL }, +-}; +- +-/** +- * OpAlias - Key bindings for the alias menu +- */ +-const struct Binding OpAlias[] = { /* map: alias */ +- { "delete-entry", OP_DELETE, "d" }, +- { "undelete-entry", OP_UNDELETE, "u" }, +- { NULL, 0, NULL }, +-}; +- +-/** +- * OpBrowser - Key bindings for the file browser menu +- */ +-const struct Binding OpBrowser[] = { /* map: browser */ +-#ifdef USE_NNTP +- { "catchup", OP_CATCHUP, NULL }, +-#endif +- { "change-dir", OP_CHANGE_DIRECTORY, "c" }, +- { "check-new", OP_CHECK_NEW, NULL }, +-#ifdef USE_IMAP +- { "create-mailbox", OP_CREATE_MAILBOX, "C" }, +- { "delete-mailbox", OP_DELETE_MAILBOX, "d" }, +-#endif +- { "descend-directory", OP_DESCEND_DIRECTORY, NULL }, +- { "display-filename", OP_BROWSER_TELL, "@" }, +- { "enter-mask", OP_ENTER_MASK, "m" }, +- { "goto-folder", OP_BROWSER_GOTO_FOLDER, "=" }, +- { "goto-parent", OP_GOTO_PARENT, "p" }, +- { "mailbox-list", OP_MAILBOX_LIST, "." }, +-#ifdef USE_NNTP +- { "reload-active", OP_LOAD_ACTIVE, NULL }, +-#endif +-#ifdef USE_IMAP +- { "rename-mailbox", OP_RENAME_MAILBOX, "r" }, +-#endif +- { "select-new", OP_BROWSER_NEW_FILE, "N" }, +- { "sort", OP_SORT, "o" }, +- { "sort-reverse", OP_SORT_REVERSE, "O" }, +-#if defined(USE_IMAP) || defined(USE_NNTP) +- { "subscribe", OP_BROWSER_SUBSCRIBE, "s" }, +-#endif +-#ifdef USE_NNTP +- { "subscribe-pattern", OP_SUBSCRIBE_PATTERN, NULL }, +-#endif +- { "toggle-mailboxes", OP_TOGGLE_MAILBOXES, "\t" }, +-#ifdef USE_IMAP +- { "toggle-subscribed", OP_BROWSER_TOGGLE_LSUB, "T" }, +-#endif +-#ifdef USE_NNTP +- { "uncatchup", OP_UNCATCHUP, NULL }, +-#endif +-#if defined(USE_IMAP) || defined(USE_NNTP) +- { "unsubscribe", OP_BROWSER_UNSUBSCRIBE, "u" }, +-#endif +-#ifdef USE_NNTP +- { "unsubscribe-pattern", OP_UNSUBSCRIBE_PATTERN, NULL }, ++extern struct Binding OpMix[]; + #endif +- { "view-file", OP_BROWSER_VIEW_FILE, " " }, +- /* This is deprecated. Leave it last so it doesn't show up in the help. */ +- { "buffy-list", OP_MAILBOX_LIST, NULL }, +- { NULL, 0, NULL }, +-}; +- +-/** +- * OpQuery - Key bindings for the external query menu +- */ +-const struct Binding OpQuery[] = { /* map: query */ +- { "create-alias", OP_CREATE_ALIAS, "a" }, +- { "mail", OP_MAIL, "m" }, +- { "query", OP_QUERY, "Q" }, +- { "query-append", OP_QUERY_APPEND, "A" }, +- { NULL, 0, NULL }, +-}; +- +-/** +- * OpEditor - Key bindings for the editor menu +- */ +-const struct Binding OpEditor[] = { /* map: editor */ +- { "backspace", OP_EDITOR_BACKSPACE, "\010" }, // +- { "backward-char", OP_EDITOR_BACKWARD_CHAR, "\002" }, // +- { "backward-word", OP_EDITOR_BACKWARD_WORD, "\033b" }, // +- { "bol", OP_EDITOR_BOL, "\001" }, // +- { "capitalize-word", OP_EDITOR_CAPITALIZE_WORD, "\033c" }, // +- { "complete", OP_EDITOR_COMPLETE, "\t" }, // +- { "complete-query", OP_EDITOR_COMPLETE_QUERY, "\024" }, // +- { "delete-char", OP_EDITOR_DELETE_CHAR, "\004" }, // +- { "downcase-word", OP_EDITOR_DOWNCASE_WORD, "\033l" }, // +- { "eol", OP_EDITOR_EOL, "\005" }, // +- { "forward-char", OP_EDITOR_FORWARD_CHAR, "\006" }, // +- { "forward-word", OP_EDITOR_FORWARD_WORD, "\033f" }, // +- { "history-down", OP_EDITOR_HISTORY_DOWN, NULL }, +- { "history-search", OP_EDITOR_HISTORY_SEARCH, "\022" }, // +- { "history-up", OP_EDITOR_HISTORY_UP, NULL }, +- { "kill-eol", OP_EDITOR_KILL_EOL, "\013" }, // +- { "kill-eow", OP_EDITOR_KILL_EOW, "\033d" }, // +- { "kill-line", OP_EDITOR_KILL_LINE, "\025" }, // +- { "kill-word", OP_EDITOR_KILL_WORD, "\027" }, // +- { "mailbox-cycle", OP_EDITOR_MAILBOX_CYCLE, " " }, +- { "quote-char", OP_EDITOR_QUOTE_CHAR, "\026" }, // +- { "transpose-chars", OP_EDITOR_TRANSPOSE_CHARS, NULL }, +- { "upcase-word", OP_EDITOR_UPCASE_WORD, "\033u" }, // +- /* This is deprecated. Leave it last so it doesn't show up in the help. */ +- { "buffy-cycle", OP_EDITOR_MAILBOX_CYCLE, NULL }, +- { NULL, 0, NULL }, +-}; +- +-/** +- * OpPgp - Key bindings for the pgp menu +- */ +-const struct Binding OpPgp[] = { /* map: pgp */ +- { "verify-key", OP_VERIFY_KEY, "c" }, +- { "view-name", OP_VIEW_ID, "%" }, +- { NULL, 0, NULL }, +-}; +- +-/** +- * OpSmime - Key bindings for the smime menu +- */ +-const struct Binding OpSmime[] = { /* map: smime */ +-#ifdef CRYPT_BACKEND_GPGME +- { "verify-key", OP_VERIFY_KEY, "c" }, +- { "view-name", OP_VIEW_ID, "%" }, +-#endif +- { NULL, 0, NULL }, +-}; +- +-#ifdef MIXMASTER +-/** +- * OpMix - Key bindings for the mixmaster menu +- */ +-const struct Binding OpMix[] = { /* map: mixmaster */ +- { "accept", OP_MIX_USE, "\n" }, // +- { "accept", OP_MIX_USE, "\r" }, // +- { "append", OP_MIX_APPEND, "a" }, +- { "chain-next", OP_MIX_CHAIN_NEXT, "" }, +- { "chain-prev", OP_MIX_CHAIN_PREV, "" }, +- { "delete", OP_MIX_DELETE, "d" }, +- { "insert", OP_MIX_INSERT, "i" }, +- { NULL, 0, NULL }, +-}; +-#endif /* MIXMASTER */ +- +-#ifdef USE_AUTOCRYPT +-/** +- * OpAutocryptAcct - Key bindings for the autocrypt account +- */ +-const struct Binding OpAutocryptAcct[] = { /* map: autocrypt account */ +- { "create-account", OP_AUTOCRYPT_CREATE_ACCT, "c" }, +- { "delete-account", OP_AUTOCRYPT_DELETE_ACCT, "D" }, +- { "toggle-active", OP_AUTOCRYPT_TOGGLE_ACTIVE, "a" }, +- { "toggle-prefer-encrypt", OP_AUTOCRYPT_TOGGLE_PREFER, "p" }, +- { NULL, 0, NULL } +-}; +-#endif +- +-// clang-format on ++extern struct Binding OpPager[]; ++extern struct Binding OpPgp[]; ++extern struct Binding OpPost[]; ++extern struct Binding OpQuery[]; ++extern struct Binding OpSmime[]; + + #endif /* MUTT_FUNCTIONS_H */ +diff --git a/globals.h b/globals.h +index 35b7903a6..b86af69ce 100644 +--- a/globals.h ++++ b/globals.h +@@ -26,18 +26,17 @@ + #include "config.h" + #include // IWYU pragma: keep + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "keymap.h" + #include "where.h" + + #ifdef MAIN_C + /* so that global vars get included */ + #include "mx.h" +-#include "ncrypt/ncrypt.h" ++#include "ncrypt/lib.h" + #include "sort.h" + #endif /* MAIN_C */ + +-WHERE struct ConfigSet *Config; ///< Wrapper around the user's config settings + WHERE struct Colors *Colors; ///< Wrapper around the user's colour settings + + WHERE struct Context *Context; +@@ -94,6 +93,8 @@ WHERE char *AutocryptDefaultKey; ///< Autocrypt default key id (used for postpon + WHERE struct Address *C_EnvelopeFromAddress; ///< Config: Manually set the sender for outgoing messages + WHERE struct Address *C_From; ///< Config: Default 'From' address to use, if isn't otherwise set + ++WHERE bool C_AbortBackspace; ///< Config: Hitting backspace against an empty prompt aborts the prompt ++WHERE char *C_AbortKeyStr; ///< Config: String representation of key to abort prompts + WHERE char *C_AliasFile; ///< Config: Save new aliases to this file + WHERE char *C_Attribution; ///< Config: Message to start a reply, "On DATE, PERSON wrote:" + WHERE char *C_AttributionLocale; ///< Config: Locale for dates in the attribution message +@@ -141,7 +142,7 @@ WHERE char *C_Shell; ///< Config: External command to ru + WHERE char *C_SimpleSearch; ///< Config: Pattern to search for when search doesn't contain ~'s + #ifdef USE_SMTP + WHERE char *C_SmtpUrl; ///< Config: (smtp) Url of the SMTP server +-#endif /* USE_SMTP */ ++#endif + WHERE char *C_Spoolfile; ///< Config: Inbox + WHERE char *C_StatusFormat; ///< Config: printf-like format string for the index's status line + WHERE char *C_TsStatusFormat; ///< Config: printf-like format string for the terminal's status (window title) +@@ -152,9 +153,6 @@ WHERE short C_SleepTime; ///< Config: Time to pause after ce + WHERE short C_Timeout; ///< Config: Time to wait for user input in menus + WHERE short C_Wrap; ///< Config: Width to wrap text in the pager + +-#ifdef USE_SIDEBAR +-WHERE short C_SidebarWidth; ///< Config: (sidebar) Width of the sidebar +-#endif + #ifdef USE_IMAP + WHERE short C_ImapKeepalive; ///< Config: (imap) Time to wait before polling an open IMAP connection + WHERE short C_ImapPollTimeout; ///< Config: (imap) Maximum time to wait for a server response +@@ -195,6 +193,7 @@ WHERE unsigned char C_FollowupToPoster; ///< Config: (nntp) Reply to the po + #endif + + WHERE bool C_ArrowCursor; ///< Config: Use an arrow '->' instead of highlighting in the index ++WHERE char *C_ArrowString; ///< Config: Use an custom string for arrow_cursor + WHERE bool C_AsciiChars; ///< Config: Use plain ASCII characters, when drawing email threads + WHERE bool C_Askbcc; ///< Config: Ask the user for the blind-carbon-copy recipients + WHERE bool C_Askcc; ///< Config: Ask the user for the carbon-copy recipients +@@ -252,10 +251,6 @@ WHERE bool C_ResumeDraftFiles; ///< Config: Process draft files li + WHERE bool C_SaveAddress; ///< Config: Use sender's full address as a default save folder + WHERE bool C_SaveEmpty; ///< Config: (mbox,mmdf) Preserve empty mailboxes + WHERE bool C_Score; ///< Config: Use message scoring +-#ifdef USE_SIDEBAR +-WHERE bool C_SidebarVisible; ///< Config: (sidebar) Show the sidebar +-WHERE bool C_SidebarOnRight; ///< Config: (sidebar) Display the sidebar on the right +-#endif + WHERE bool C_SizeShowBytes; ///< Config: Show smaller sizes in bytes + WHERE bool C_SizeShowFractions; ///< Config: Show size fractions with a single decimal place + WHERE bool C_SizeShowMb; ///< Config: Show sizes in megabytes for sizes greater than 1 megabyte +@@ -275,6 +270,7 @@ WHERE bool C_CryptUsePka; ///< Config: Use GPGME to use PKA ( + + WHERE bool C_CryptConfirmhook; ///< Config: Prompt the user to confirm keys before use + WHERE bool C_CryptOpportunisticEncrypt; ///< Config: Enable encryption when the recipient's key is available ++WHERE bool C_CryptOpportunisticEncryptStrongKeys; ///< Config: Enable encryption only when strong a key is available + WHERE bool C_CryptProtectedHeadersRead; ///< Config: Display protected headers (Memory Hole) in the pager + WHERE bool C_CryptProtectedHeadersSave; ///< Config: Save the cleartext Subject with the headers + WHERE bool C_CryptProtectedHeadersWrite; ///< Config: Generate protected header (Memory Hole) for signed and encrypted emails +diff --git a/color.c b/gui/color.c +similarity index 98% +rename from color.c +rename to gui/color.c +index 204fcde7e..cab23a4c4 100644 +--- a/color.c ++++ b/gui/color.c +@@ -21,7 +21,7 @@ + */ + + /** +- * @page color Color and attribute parsing ++ * @page gui_color Color and attribute parsing + * + * Color and attribute parsing + */ +@@ -32,13 +32,14 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "email/lib.h" + #include "core/lib.h" + #include "mutt.h" + #include "color.h" + #include "context.h" + #include "globals.h" ++#include "init.h" + #include "mutt_commands.h" + #include "mutt_curses.h" + #include "options.h" +@@ -95,7 +96,7 @@ static const struct Mapping ColorNames[] = { + #endif /* HAVE_COLOR */ + + // clang-format off +-static const struct Mapping Fields[] = { ++const struct Mapping Fields[] = { + { "attachment", MT_COLOR_ATTACHMENT }, + { "attach_headers", MT_COLOR_ATTACH_HEADERS }, + { "body", MT_COLOR_BODY }, +@@ -142,7 +143,7 @@ static const struct Mapping Fields[] = { + { NULL, 0 }, + }; + +-static const struct Mapping ComposeFields[] = { ++const struct Mapping ComposeFields[] = { + { "header", MT_COLOR_COMPOSE_HEADER }, + { "security_encrypt", MT_COLOR_COMPOSE_SECURITY_ENCRYPT }, + { "security_sign", MT_COLOR_COMPOSE_SECURITY_SIGN }, +@@ -373,7 +374,7 @@ void mutt_colors_free(struct Colors **ptr) + struct Colors *mutt_colors_new(void) + { + struct Colors *c = mutt_mem_calloc(1, sizeof(*c)); +- c->notify = notify_new(c, NT_COLOR); ++ c->notify = notify_new(); + + quotes_init(c); + defs_init(c); +@@ -827,7 +828,7 @@ static enum CommandResult parse_uncolor(struct Buffer *buf, struct Buffer *s, + { + colors_clear(c); + struct EventColor ec = { false }; // Color reset/removed +- notify_send(c->notify, NT_COLOR, MT_COLOR_MAX, (intptr_t) &ec); ++ notify_send(c->notify, NT_COLOR, MT_COLOR_MAX, &ec); + return MUTT_CMD_SUCCESS; + } + +@@ -859,7 +860,7 @@ static enum CommandResult parse_uncolor(struct Buffer *buf, struct Buffer *s, + c->defs[object] = A_NORMAL; + + struct EventColor ec = { false }; // Color reset/removed +- notify_send(c->notify, NT_COLOR, object, (intptr_t) &ec); ++ notify_send(c->notify, NT_COLOR, object, &ec); + return MUTT_CMD_SUCCESS; + } + +@@ -909,7 +910,7 @@ static enum CommandResult parse_uncolor(struct Buffer *buf, struct Buffer *s, + if (changed) + { + struct EventColor ec = { false }; // Color reset/removed +- notify_send(c->notify, NT_COLOR, object, (intptr_t) &ec); ++ notify_send(c->notify, NT_COLOR, object, &ec); + } + + return MUTT_CMD_SUCCESS; +@@ -917,7 +918,7 @@ static enum CommandResult parse_uncolor(struct Buffer *buf, struct Buffer *s, + + #ifdef HAVE_COLOR + /** +- * mutt_parse_uncolor - Parse the 'uncolor' command - Implements ::command_t ++ * mutt_parse_uncolor - Parse the 'uncolor' command - Implements Command::parse() + */ + enum CommandResult mutt_parse_uncolor(struct Buffer *buf, struct Buffer *s, + unsigned long data, struct Buffer *err) +@@ -927,7 +928,7 @@ enum CommandResult mutt_parse_uncolor(struct Buffer *buf, struct Buffer *s, + #endif + + /** +- * mutt_parse_unmono - Parse the 'unmono' command - Implements ::command_t ++ * mutt_parse_unmono - Parse the 'unmono' command - Implements Command::parse() + */ + enum CommandResult mutt_parse_unmono(struct Buffer *buf, struct Buffer *s, + unsigned long data, struct Buffer *err) +@@ -1341,7 +1342,7 @@ static enum CommandResult parse_color(struct Colors *c, struct Buffer *buf, stru + if (rc == MUTT_CMD_SUCCESS) + { + struct EventColor ec = { true }; // Color set/added +- notify_send(c->notify, NT_COLOR, object, (intptr_t) &ec); ++ notify_send(c->notify, NT_COLOR, object, &ec); + } + + return rc; +@@ -1349,7 +1350,7 @@ static enum CommandResult parse_color(struct Colors *c, struct Buffer *buf, stru + + #ifdef HAVE_COLOR + /** +- * mutt_parse_color - Parse the 'color' command - Implements ::command_t ++ * mutt_parse_color - Parse the 'color' command - Implements Command::parse() + */ + enum CommandResult mutt_parse_color(struct Buffer *buf, struct Buffer *s, + unsigned long data, struct Buffer *err) +@@ -1365,7 +1366,7 @@ enum CommandResult mutt_parse_color(struct Buffer *buf, struct Buffer *s, + #endif + + /** +- * mutt_parse_mono - Parse the 'mono' command - Implements ::command_t ++ * mutt_parse_mono - Parse the 'mono' command - Implements Command::parse() + */ + enum CommandResult mutt_parse_mono(struct Buffer *buf, struct Buffer *s, + unsigned long data, struct Buffer *err) +diff --git a/color.h b/gui/color.h +similarity index 99% +rename from color.h +rename to gui/color.h +index 3841afd48..0d9446985 100644 +--- a/color.h ++++ b/gui/color.h +@@ -27,7 +27,7 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "mutt_commands.h" + + /** +diff --git a/curs_lib.c b/gui/curs_lib.c +similarity index 90% +rename from curs_lib.c +rename to gui/curs_lib.c +index bfab03b45..356cbeb9f 100644 +--- a/curs_lib.c ++++ b/gui/curs_lib.c +@@ -22,7 +22,7 @@ + */ + + /** +- * @page curs_lib GUI miscellaneous curses (window drawing) routines ++ * @page gui_curs_lib GUI miscellaneous curses (window drawing) routines + * + * GUI miscellaneous curses (window drawing) routines + */ +@@ -42,14 +42,16 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "config/lib.h" ++#include "core/lib.h" + #include "mutt.h" + #include "curs_lib.h" + #include "browser.h" + #include "color.h" + #include "enter_state.h" + #include "globals.h" ++#include "keymap.h" + #include "mutt_curses.h" + #include "mutt_logging.h" + #include "mutt_menu.h" +@@ -197,7 +199,7 @@ struct KeyEvent mutt_getch(void) + + SigInt = 0; + +- mutt_sig_allow_interrupt(1); ++ mutt_sig_allow_interrupt(true); + #ifdef KEY_RESIZE + /* ncurses 4.2 sends this when the screen is resized */ + ch = KEY_RESIZE; +@@ -208,7 +210,7 @@ struct KeyEvent mutt_getch(void) + #else + ch = getch(); + #endif /* USE_INOTIFY */ +- mutt_sig_allow_interrupt(0); ++ mutt_sig_allow_interrupt(false); + + if (SigInt) + { +@@ -238,7 +240,7 @@ struct KeyEvent mutt_getch(void) + + ret.ch = ch; + ret.op = 0; +- return (ch == ctrl('G')) ? err : ret; ++ return (ch == AbortKey) ? err : ret; + } + + /** +@@ -416,13 +418,13 @@ enum QuadOption mutt_yesorno(const char *msg, enum QuadOption def) + clearok(stdscr, true); + mutt_menu_current_redraw(); + } +- if (MuttMessageWindow->cols) ++ if (MuttMessageWindow->state.cols) + { +- prompt_lines = (msg_wid + answer_string_wid + MuttMessageWindow->cols - 1) / +- MuttMessageWindow->cols; ++ prompt_lines = (msg_wid + answer_string_wid + MuttMessageWindow->state.cols - 1) / ++ MuttMessageWindow->state.cols; + prompt_lines = MAX(1, MIN(3, prompt_lines)); + } +- if (prompt_lines != MuttMessageWindow->rows) ++ if (prompt_lines != MuttMessageWindow->state.rows) + { + mutt_window_reflow_message_rows(prompt_lines); + mutt_menu_current_redraw(); +@@ -430,8 +432,8 @@ enum QuadOption mutt_yesorno(const char *msg, enum QuadOption def) + + /* maxlen here is sort of arbitrary, so pick a reasonable upper bound */ + trunc_msg_len = mutt_wstr_trunc( +- msg, (size_t) 4 * prompt_lines * MuttMessageWindow->cols, +- ((size_t) prompt_lines * MuttMessageWindow->cols) - answer_string_wid, NULL); ++ msg, (size_t) 4 * prompt_lines * MuttMessageWindow->state.cols, ++ ((size_t) prompt_lines * MuttMessageWindow->state.cols) - answer_string_wid, NULL); + + mutt_window_move(MuttMessageWindow, 0, 0); + mutt_curses_set_color(MT_COLOR_PROMPT); +@@ -480,7 +482,7 @@ enum QuadOption mutt_yesorno(const char *msg, enum QuadOption def) + if (reno_ok) + regfree(&reno); + +- if (MuttMessageWindow->rows == 1) ++ if (MuttMessageWindow->state.rows == 1) + { + mutt_window_clearline(MuttMessageWindow, 0); + } +@@ -619,6 +621,38 @@ int mutt_any_key_to_continue(const char *s) + return (ch >= 0) ? ch : EOF; + } + ++/** ++ * mutt_dlg_dopager_observer - Listen for config changes affecting the dopager menus - Implements ::observer_t ++ */ ++static int mutt_dlg_dopager_observer(struct NotifyCallback *nc) ++{ ++ if (!nc->event_data || !nc->global_data) ++ return -1; ++ if (nc->event_type != NT_CONFIG) ++ return 0; ++ ++ struct EventConfig *ec = nc->event_data; ++ struct MuttWindow *dlg = nc->global_data; ++ ++ if (mutt_str_strcmp(ec->name, "status_on_top") != 0) ++ return 0; ++ ++ struct MuttWindow *win_first = TAILQ_FIRST(&dlg->children); ++ if (!win_first) ++ return -1; ++ ++ if ((C_StatusOnTop && (win_first->type == WT_PAGER)) || ++ (!C_StatusOnTop && (win_first->type != WT_PAGER))) ++ { ++ // Swap the Index and the IndexBar Windows ++ TAILQ_REMOVE(&dlg->children, win_first, entries); ++ TAILQ_INSERT_TAIL(&dlg->children, win_first, entries); ++ } ++ ++ mutt_window_reflow(dlg); ++ return 0; ++} ++ + /** + * mutt_do_pager - Display some page-able text to the user + * @param banner Message for status bar +@@ -631,6 +665,44 @@ int mutt_any_key_to_continue(const char *s) + int mutt_do_pager(const char *banner, const char *tempfile, PagerFlags do_color, + struct Pager *info) + { ++ struct Pager info2 = { 0 }; ++ if (!info) ++ info = &info2; ++ ++ struct MuttWindow *dlg = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++#ifdef USE_DEBUG_WINDOW ++ dlg->name = "do-pager"; ++#endif ++ dlg->type = WT_DIALOG; ++ struct MuttWindow *pager = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ pager->type = WT_PAGER; ++ struct MuttWindow *pbar = mutt_window_new( ++ MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, 1, MUTT_WIN_SIZE_UNLIMITED); ++ pbar->type = WT_PAGER_BAR; ++ ++ if (C_StatusOnTop) ++ { ++ mutt_window_add_child(dlg, pbar); ++ mutt_window_add_child(dlg, pager); ++ } ++ else ++ { ++ mutt_window_add_child(dlg, pager); ++ mutt_window_add_child(dlg, pbar); ++ } ++ ++ notify_observer_add(NeoMutt->notify, mutt_dlg_dopager_observer, dlg); ++ dialog_push(dlg); ++ ++ info->win_ibar = NULL; ++ info->win_index = NULL; ++ info->win_pbar = pbar; ++ info->win_pager = pager; ++ + int rc; + + if (!C_Pager || (mutt_str_strcmp(C_Pager, "builtin") == 0)) +@@ -652,33 +724,9 @@ int mutt_do_pager(const char *banner, const char *tempfile, PagerFlags do_color, + mutt_buffer_pool_release(&cmd); + } + +- return rc; +-} +- +-/** +- * mutt_enter_fname_full - Ask the user to select a file +- * @param[in] prompt Prompt +- * @param[in] buf Buffer for the result +- * @param[in] buflen Length of the buffer +- * @param[in] mailbox If true, select mailboxes +- * @param[in] multiple Allow multiple selections +- * @param[out] files List of files selected +- * @param[out] numfiles Number of files selected +- * @param[in] flags Flags, see #SelectFileFlags +- * @retval 0 Success +- * @retval -1 Error +- */ +-int mutt_enter_fname_full(const char *prompt, char *buf, size_t buflen, bool mailbox, +- bool multiple, char ***files, int *numfiles, SelectFileFlags flags) +-{ +- struct Buffer *fname = mutt_buffer_pool_get(); +- +- mutt_buffer_addstr(fname, NONULL(buf)); +- int rc = mutt_buffer_enter_fname_full(prompt, fname, mailbox, multiple, files, +- numfiles, flags); +- mutt_str_strfcpy(buf, mutt_b2s(fname), buflen); +- +- mutt_buffer_pool_release(&fname); ++ dialog_pop(); ++ notify_observer_remove(NeoMutt->notify, mutt_dlg_dopager_observer, dlg); ++ mutt_window_free(&dlg); + return rc; + } + +@@ -881,7 +929,7 @@ int mutt_multi_choice(const char *prompt, const char *letters) + clearok(stdscr, true); + mutt_menu_current_redraw(); + } +- if (MuttMessageWindow->cols) ++ if (MuttMessageWindow->state.cols) + { + int width = mutt_strwidth(prompt) + 2; // + '?' + space + /* If we're going to colour the options, +@@ -889,10 +937,11 @@ int mutt_multi_choice(const char *prompt, const char *letters) + if (opt_cols) + width -= 2 * mutt_str_strlen(letters); + +- prompt_lines = (width + MuttMessageWindow->cols - 1) / MuttMessageWindow->cols; ++ prompt_lines = (width + MuttMessageWindow->state.cols - 1) / ++ MuttMessageWindow->state.cols; + prompt_lines = MAX(1, MIN(3, prompt_lines)); + } +- if (prompt_lines != MuttMessageWindow->rows) ++ if (prompt_lines != MuttMessageWindow->state.rows) + { + mutt_window_reflow_message_rows(prompt_lines); + mutt_menu_current_redraw(); +@@ -965,7 +1014,7 @@ int mutt_multi_choice(const char *prompt, const char *letters) + } + mutt_beep(false); + } +- if (MuttMessageWindow->rows == 1) ++ if (MuttMessageWindow->state.rows == 1) + { + mutt_window_clearline(MuttMessageWindow, 0); + } +@@ -1285,6 +1334,19 @@ size_t mutt_wstr_trunc(const char *src, size_t maxlen, size_t maxwid, size_t *wi + * @retval num Screen cells string would use + */ + int mutt_strwidth(const char *s) ++{ ++ if (!s) ++ return 0; ++ return mutt_strnwidth(s, mutt_str_strlen(s)); ++} ++ ++/** ++ * mutt_strnwidth - Measure a string's width in screen cells ++ * @param s String to be measured ++ * @param n Length of string to be measured ++ * @retval num Screen cells string would use ++ */ ++int mutt_strnwidth(const char *s, size_t n) + { + if (!s) + return 0; +@@ -1294,8 +1356,6 @@ int mutt_strwidth(const char *s) + size_t k; + mbstate_t mbstate; + +- size_t n = mutt_str_strlen(s); +- + memset(&mbstate, 0, sizeof(mbstate)); + for (w = 0; n && (k = mbrtowc(&wc, s, n, &mbstate)); s += k, n -= k) + { +diff --git a/curs_lib.h b/gui/curs_lib.h +similarity index 92% +rename from curs_lib.h +rename to gui/curs_lib.h +index ecd8bb93d..6be0734f2 100644 +--- a/curs_lib.h ++++ b/gui/curs_lib.h +@@ -55,7 +55,6 @@ void mutt_beep(bool force); + int mutt_do_pager(const char *banner, const char *tempfile, PagerFlags do_color, struct Pager *info); + void mutt_edit_file(const char *editor, const char *file); + void mutt_endwin(void); +-int mutt_enter_fname_full(const char *prompt, char *buf, size_t buflen, bool mailbox, bool multiple, char ***files, int *numfiles, SelectFileFlags flags); + void mutt_flushinp(void); + void mutt_flush_macro_to_endcond(void); + void mutt_flush_unget_to_endcond(void); +@@ -76,18 +75,18 @@ void mutt_refresh(void); + void mutt_show_error(void); + void mutt_simple_format(char *buf, size_t buflen, int min_width, int max_width, enum FormatJustify justify, char pad_char, const char *s, size_t n, bool arboreal); + int mutt_strwidth(const char *s); ++int mutt_strnwidth(const char *s, size_t len); + void mutt_unget_event(int ch, int op); + void mutt_unget_string(const char *s); + size_t mutt_wstr_trunc(const char *src, size_t maxlen, size_t maxwid, size_t *width); + enum QuadOption mutt_yesorno(const char *msg, enum QuadOption def); + +-#define mutt_buffer_get_field(field, buf, complete) mutt_buffer_get_field_full(field, buf, complete, 0, NULL, NULL) ++#define mutt_buffer_get_field(field, buf, complete) mutt_buffer_get_field_full(field, buf, complete, false, NULL, NULL) + int mutt_buffer_get_field_full(const char *field, struct Buffer *buf, CompletionFlags complete, bool multiple, char ***files, int *numfiles); + + #define mutt_buffer_enter_fname(prompt, fname, mailbox) mutt_buffer_enter_fname_full(prompt, fname, mailbox, false, NULL, NULL, MUTT_SEL_NO_FLAGS) + int mutt_buffer_enter_fname_full(const char *prompt, struct Buffer *fname, bool mailbox, bool multiple, char ***files, int *numfiles, SelectFileFlags flags); + +-#define mutt_enter_fname(prompt, buf, buflen, mailbox) mutt_enter_fname_full(prompt, buf, buflen, mailbox, false, NULL, NULL, 0) + #define mutt_get_field(field, buf, buflen, complete) mutt_get_field_full(field, buf, buflen, complete, false, NULL, NULL) + #define mutt_get_password(msg, buf, buflen) mutt_get_field_unbuffered(msg, buf, buflen, MUTT_PASS) + +diff --git a/gui/lib.h b/gui/lib.h +new file mode 100644 +index 000000000..7606985d8 +--- /dev/null ++++ b/gui/lib.h +@@ -0,0 +1,50 @@ ++/** ++ * @file ++ * Convenience wrapper for the gui headers ++ * ++ * @authors ++ * Copyright (C) 2019 Richard Russon ++ * ++ * @copyright ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 2 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ ++/** ++ * @page gui GUI: Graphical code ++ * ++ * Curses and Window code. ++ * ++ * | File | Description | ++ * | :------------------ | :------------------------- | ++ * | gui/color.c | @subpage gui_color | ++ * | gui/curs_lib.c | @subpage gui_curs_lib | ++ * | gui/mutt_curses.c | @subpage gui_curses | ++ * | gui/mutt_window.c | @subpage gui_window | ++ * | gui/reflow.c | @subpage gui_reflow | ++ * | gui/terminal.c | @subpage gui_terminal | ++ */ ++ ++#ifndef MUTT_GUI_LIB_H ++#define MUTT_GUI_LIB_H ++ ++// IWYU pragma: begin_exports ++#include "color.h" ++#include "curs_lib.h" ++#include "mutt_curses.h" ++#include "mutt_window.h" ++#include "reflow.h" ++#include "terminal.h" ++// IWYU pragma: end_exports ++ ++#endif /* MUTT_GUI_LIB_H */ +diff --git a/mutt_curses.c b/gui/mutt_curses.c +similarity index 95% +rename from mutt_curses.c +rename to gui/mutt_curses.c +index 8a721c30f..8fb23e8c7 100644 +--- a/mutt_curses.c ++++ b/gui/mutt_curses.c +@@ -22,6 +22,12 @@ + * this program. If not, see . + */ + ++/** ++ * @page gui_curses Wrapper functions around Curses/Slang ++ * ++ * Wrapper functions around Curses/Slang ++ */ ++ + #include "config.h" + #include "mutt_curses.h" + #include "color.h" +diff --git a/mutt_curses.h b/gui/mutt_curses.h +similarity index 97% +rename from mutt_curses.h +rename to gui/mutt_curses.h +index a0556703b..7c21b7eb9 100644 +--- a/mutt_curses.h ++++ b/gui/mutt_curses.h +@@ -25,7 +25,6 @@ + #define MUTT_MUTT_CURSES_H + + #include "config.h" +-#include + #include "color.h" + + #ifdef USE_SLANG_CURSES +@@ -53,7 +52,7 @@ + #else /* USE_SLANG_CURSES */ + + #ifdef HAVE_NCURSESW_NCURSES_H +-#include ++#include // IWYU pragma: keep + #elif defined(HAVE_NCURSES_NCURSES_H) + #include + #elif defined(HAVE_NCURSES_H) +diff --git a/gui/mutt_window.c b/gui/mutt_window.c +new file mode 100644 +index 000000000..ad5e44b73 +--- /dev/null ++++ b/gui/mutt_window.c +@@ -0,0 +1,649 @@ ++/** ++ * @file ++ * Window management ++ * ++ * @authors ++ * Copyright (C) 2018 Richard Russon ++ * ++ * @copyright ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 2 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ ++/** ++ * @page gui_window Window management ++ * ++ * Window management ++ */ ++ ++#include "config.h" ++#include ++#include ++#include "mutt/lib.h" ++#include "config/lib.h" ++#include "core/lib.h" ++#include "debug/lib.h" ++#include "mutt_window.h" ++#include "globals.h" ++#include "mutt_curses.h" ++#include "mutt_menu.h" ++#include "options.h" ++#include "reflow.h" ++ ++struct MuttWindow *RootWindow = NULL; ///< Parent of all Windows ++struct MuttWindow *MuttDialogWindow = NULL; ///< Parent of all Dialogs ++struct MuttWindow *MuttHelpWindow = NULL; ///< Help Window ++struct MuttWindow *MuttMessageWindow = NULL; ///< Message Window ++ ++/** ++ * mutt_window_new - Create a new Window ++ * @param orient Window orientation, e.g. #MUTT_WIN_ORIENT_VERTICAL ++ * @param size Window size, e.g. #MUTT_WIN_SIZE_MAXIMISE ++ * @param rows Initial number of rows to allocate, can be #MUTT_WIN_SIZE_UNLIMITED ++ * @param cols Initial number of columns to allocate, can be #MUTT_WIN_SIZE_UNLIMITED ++ * @retval ptr New Window ++ */ ++struct MuttWindow *mutt_window_new(enum MuttWindowOrientation orient, ++ enum MuttWindowSize size, int rows, int cols) ++{ ++ struct MuttWindow *win = mutt_mem_calloc(1, sizeof(struct MuttWindow)); ++ ++ win->orient = orient; ++ win->size = size; ++ win->req_rows = rows; ++ win->req_cols = cols; ++ win->state.visible = true; ++ TAILQ_INIT(&win->children); ++ return win; ++} ++ ++/** ++ * mutt_window_free - Free a Window and its children ++ * @param ptr Window to free ++ */ ++void mutt_window_free(struct MuttWindow **ptr) ++{ ++ if (!ptr || !*ptr) ++ return; ++ ++ struct MuttWindow *win = *ptr; ++ ++ if (win->wdata && win->free_wdata) ++ win->free_wdata(win, &win->wdata); // Custom function to free private data ++ ++ mutt_winlist_free(&win->children); ++ ++ FREE(ptr); ++} ++ ++#ifdef USE_SLANG_CURSES ++/** ++ * vw_printw - Write a formatted string to a Window (function missing from Slang) ++ * @param win Window ++ * @param fmt printf format string ++ * @param ap printf arguments ++ * @retval 0 Always ++ */ ++static int vw_printw(SLcurses_Window_Type *win, const char *fmt, va_list ap) ++{ ++ char buf[1024]; ++ ++ (void) SLvsnprintf(buf, sizeof(buf), (char *) fmt, ap); ++ SLcurses_waddnstr(win, buf, -1); ++ return 0; ++} ++#endif ++ ++/** ++ * mutt_window_clearline - Clear a row of a Window ++ * @param win Window ++ * @param row Row to clear ++ */ ++void mutt_window_clearline(struct MuttWindow *win, int row) ++{ ++ mutt_window_move(win, row, 0); ++ mutt_window_clrtoeol(win); ++} ++ ++/** ++ * mutt_window_clrtobot - Clear to the bottom of the Window ++ * ++ * @note Assumes the cursor has already been positioned within the Window. ++ */ ++void mutt_window_clrtobot(void) ++{ ++ clrtobot(); ++} ++ ++/** ++ * mutt_window_clrtoeol - Clear to the end of the line ++ * @param win Window ++ * ++ * @note Assumes the cursor has already been positioned within the window. ++ */ ++void mutt_window_clrtoeol(struct MuttWindow *win) ++{ ++ if (!win || !stdscr) ++ return; ++ ++ if (win->state.col_offset + win->state.cols == COLS) ++ clrtoeol(); ++ else ++ { ++ int row = 0; ++ int col = 0; ++ getyx(stdscr, row, col); ++ int curcol = col; ++ while (curcol < (win->state.col_offset + win->state.cols)) ++ { ++ addch(' '); ++ curcol++; ++ } ++ move(row, col); ++ } ++} ++ ++/** ++ * mutt_dlg_rootwin_observer - Listen for config changes affecting the Root Window - Implements ::observer_t ++ */ ++static int mutt_dlg_rootwin_observer(struct NotifyCallback *nc) ++{ ++ if (!nc->event_data || !nc->global_data) ++ return -1; ++ if (nc->event_type != NT_CONFIG) ++ return 0; ++ ++ struct EventConfig *ec = nc->event_data; ++ struct MuttWindow *root_win = nc->global_data; ++ ++ if (mutt_str_strcmp(ec->name, "help") == 0) ++ { ++ MuttHelpWindow->state.visible = C_Help; ++ goto reflow; ++ } ++ ++ if (mutt_str_strcmp(ec->name, "status_on_top") == 0) ++ { ++ struct MuttWindow *first = TAILQ_FIRST(&root_win->children); ++ if (!first) ++ return -1; ++ ++ if ((C_StatusOnTop && (first->type == WT_HELP_BAR)) || ++ (!C_StatusOnTop && (first->type != WT_HELP_BAR))) ++ { ++ // Swap the HelpLine and the Dialogs Container ++ struct MuttWindow *next = TAILQ_NEXT(first, entries); ++ if (!next) ++ return -1; ++ TAILQ_REMOVE(&root_win->children, next, entries); ++ TAILQ_INSERT_HEAD(&root_win->children, next, entries); ++ } ++ } ++ ++reflow: ++ mutt_window_reflow(root_win); ++ return 0; ++} ++ ++/** ++ * mutt_window_free_all - Free all the default Windows ++ */ ++void mutt_window_free_all(void) ++{ ++ if (NeoMutt) ++ notify_observer_remove(NeoMutt->notify, mutt_dlg_rootwin_observer, RootWindow); ++ MuttDialogWindow = NULL; ++ MuttHelpWindow = NULL; ++ MuttMessageWindow = NULL; ++ mutt_window_free(&RootWindow); ++} ++ ++/** ++ * mutt_window_get_coords - Get the cursor position in the Window ++ * @param[in] win Window ++ * @param[out] row Row in Window ++ * @param[out] col Column in Window ++ * ++ * Assumes the current position is inside the window. Otherwise it will ++ * happily return negative or values outside the window boundaries ++ */ ++void mutt_window_get_coords(struct MuttWindow *win, int *row, int *col) ++{ ++ int x = 0; ++ int y = 0; ++ ++ getyx(stdscr, y, x); ++ if (col) ++ *col = x - win->state.col_offset; ++ if (row) ++ *row = y - win->state.row_offset; ++} ++ ++/** ++ * mutt_window_init - Create the default Windows ++ * ++ * Create the Help, Index, Status, Message and Sidebar Windows. ++ */ ++void mutt_window_init(void) ++{ ++ if (RootWindow) ++ return; ++ ++ RootWindow = mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, 0, 0); ++ RootWindow->type = WT_ROOT; ++ MuttHelpWindow = mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, ++ 1, MUTT_WIN_SIZE_UNLIMITED); ++ MuttHelpWindow->type = WT_HELP_BAR; ++ MuttHelpWindow->state.visible = C_Help; ++ MuttDialogWindow = mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ MuttDialogWindow->type = WT_ALL_DIALOGS; ++ MuttMessageWindow = mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, ++ 1, MUTT_WIN_SIZE_UNLIMITED); ++ MuttMessageWindow->type = WT_MESSAGE; ++ ++ if (C_StatusOnTop) ++ { ++ mutt_window_add_child(RootWindow, MuttDialogWindow); ++ mutt_window_add_child(RootWindow, MuttHelpWindow); ++ } ++ else ++ { ++ mutt_window_add_child(RootWindow, MuttHelpWindow); ++ mutt_window_add_child(RootWindow, MuttDialogWindow); ++ } ++ ++ mutt_window_add_child(RootWindow, MuttMessageWindow); ++ notify_observer_add(NeoMutt->notify, mutt_dlg_rootwin_observer, RootWindow); ++} ++ ++/** ++ * mutt_window_move - Move the cursor in a Window ++ * @param win Window ++ * @param row Row to move to ++ * @param col Column to move to ++ * @retval OK Success ++ * @retval ERR Error ++ */ ++int mutt_window_move(struct MuttWindow *win, int row, int col) ++{ ++ return move(win->state.row_offset + row, win->state.col_offset + col); ++} ++ ++/** ++ * mutt_window_mvaddstr - Move the cursor and write a fixed string to a Window ++ * @param win Window to write to ++ * @param row Row to move to ++ * @param col Column to move to ++ * @param str String to write ++ * @retval OK Success ++ * @retval ERR Error ++ */ ++int mutt_window_mvaddstr(struct MuttWindow *win, int row, int col, const char *str) ++{ ++#ifdef USE_SLANG_CURSES ++ return mvaddstr(win->state.row_offset + row, win->state.col_offset + col, (char *) str); ++#else ++ return mvaddstr(win->state.row_offset + row, win->state.col_offset + col, str); ++#endif ++} ++ ++/** ++ * mutt_window_mvprintw - Move the cursor and write a formatted string to a Window ++ * @param win Window to write to ++ * @param row Row to move to ++ * @param col Column to move to ++ * @param fmt printf format string ++ * @param ... printf arguments ++ * @retval num Success, characters written ++ * @retval ERR Error, move failed ++ */ ++int mutt_window_mvprintw(struct MuttWindow *win, int row, int col, const char *fmt, ...) ++{ ++ int rc = mutt_window_move(win, row, col); ++ if (rc == ERR) ++ return rc; ++ ++ va_list ap; ++ va_start(ap, fmt); ++ rc = vw_printw(stdscr, fmt, ap); ++ va_end(ap); ++ ++ return rc; ++} ++ ++/** ++ * mutt_window_copy_size - Copy the size of one Window to another ++ * @param win_src Window to copy ++ * @param win_dst Window to resize ++ */ ++void mutt_window_copy_size(const struct MuttWindow *win_src, struct MuttWindow *win_dst) ++{ ++ if (!win_src || !win_dst) ++ return; ++ ++ win_dst->state.rows = win_src->state.rows; ++ win_dst->state.cols = win_src->state.cols; ++ win_dst->state.row_offset = win_src->state.row_offset; ++ win_dst->state.col_offset = win_src->state.col_offset; ++} ++ ++/** ++ * mutt_window_reflow - Resize a Window and its children ++ * @param win Window to resize ++ */ ++void mutt_window_reflow(struct MuttWindow *win) ++{ ++ if (OptNoCurses) ++ return; ++ ++ mutt_debug(LL_DEBUG2, "entering\n"); ++ window_reflow(win ? win : RootWindow); ++ ++ mutt_menu_set_current_redraw_full(); ++ /* the pager menu needs this flag set to recalc line_info */ ++ mutt_menu_set_current_redraw(REDRAW_FLOW); ++#ifdef USE_DEBUG_WINDOW ++ debug_win_dump(); ++#endif ++} ++ ++/** ++ * mutt_window_reflow_message_rows - Resize the Message Window ++ * @param mw_rows Number of rows required ++ * ++ * Resize the other Windows to allow a multi-line message to be displayed. ++ */ ++void mutt_window_reflow_message_rows(int mw_rows) ++{ ++ MuttMessageWindow->req_rows = mw_rows; ++ mutt_window_reflow(MuttMessageWindow->parent); ++ ++ /* We don't also set REDRAW_FLOW because this function only ++ * changes rows and is a temporary adjustment. */ ++ mutt_menu_set_current_redraw_full(); ++} ++ ++/** ++ * mutt_window_wrap_cols - Calculate the wrap column for a given screen width ++ * @param width Screen width ++ * @param wrap Wrap config ++ * @retval num Column that text should be wrapped at ++ * ++ * The wrap variable can be negative, meaning there should be a right margin. ++ */ ++int mutt_window_wrap_cols(int width, short wrap) ++{ ++ if (wrap < 0) ++ return (width > -wrap) ? (width + wrap) : width; ++ if (wrap) ++ return (wrap < width) ? wrap : width; ++ return width; ++} ++ ++/** ++ * mutt_window_addch - Write one character to a Window ++ * @param ch Character to write ++ * @retval 0 Success ++ * @retval -1 Error ++ */ ++int mutt_window_addch(int ch) ++{ ++ return addch(ch); ++} ++ ++/** ++ * mutt_window_addnstr - Write a partial string to a Window ++ * @param str String ++ * @param num Maximum number of characters to write ++ * @retval 0 Success ++ * @retval -1 Error ++ */ ++int mutt_window_addnstr(const char *str, int num) ++{ ++ if (!str) ++ return -1; ++ ++#ifdef USE_SLANG_CURSES ++ return addnstr((char *) str, num); ++#else ++ return addnstr(str, num); ++#endif ++} ++ ++/** ++ * mutt_window_addstr - Write a string to a Window ++ * @param str String ++ * @retval 0 Success ++ * @retval -1 Error ++ */ ++int mutt_window_addstr(const char *str) ++{ ++ if (!str) ++ return -1; ++ ++#ifdef USE_SLANG_CURSES ++ return addstr((char *) str); ++#else ++ return addstr(str); ++#endif ++} ++ ++/** ++ * mutt_window_move_abs - Move the cursor to an absolute screen position ++ * @param row Screen row (0-based) ++ * @param col Screen column (0-based) ++ */ ++void mutt_window_move_abs(int row, int col) ++{ ++ move(row, col); ++} ++ ++/** ++ * mutt_window_printf - Write a formatted string to a Window ++ * @param fmt Format string ++ * @param ... Arguments ++ * @retval num Number of characters written ++ */ ++int mutt_window_printf(const char *fmt, ...) ++{ ++ va_list ap; ++ va_start(ap, fmt); ++ int rc = vw_printw(stdscr, fmt, ap); ++ va_end(ap); ++ ++ return rc; ++} ++ ++/** ++ * mutt_window_add_child - Add a child to Window ++ * @param parent Window to add to ++ * @param child Window to add ++ */ ++void mutt_window_add_child(struct MuttWindow *parent, struct MuttWindow *child) ++{ ++ if (!parent || !child) ++ return; ++ ++ TAILQ_INSERT_TAIL(&parent->children, child, entries); ++ child->parent = parent; ++} ++ ++/** ++ * mutt_winlist_free - Free a tree of Windows ++ * @param head WindowList to free ++ */ ++void mutt_winlist_free(struct MuttWindowList *head) ++{ ++ if (!head) ++ return; ++ ++ struct MuttWindow *np = NULL; ++ struct MuttWindow *tmp = NULL; ++ TAILQ_FOREACH_SAFE(np, head, entries, tmp) ++ { ++ TAILQ_REMOVE(head, np, entries); ++ mutt_winlist_free(&np->children); ++ FREE(&np); ++ } ++} ++ ++/** ++ * mutt_window_set_root - Set the dimensions of the Root Window ++ * @param rows ++ * @param cols ++ */ ++void mutt_window_set_root(int rows, int cols) ++{ ++ if (!RootWindow) ++ return; ++ ++ bool changed = false; ++ ++ if (RootWindow->state.rows != rows) ++ { ++ RootWindow->state.rows = rows; ++ changed = true; ++ } ++ ++ if (RootWindow->state.cols != cols) ++ { ++ RootWindow->state.cols = cols; ++ changed = true; ++ } ++ ++ if (changed) ++ { ++ mutt_window_reflow(RootWindow); ++ } ++} ++ ++/** ++ * mutt_window_is_visible - Is the Window visible? ++ * @param win Window ++ * @retval true If the Window is visible ++ * ++ * For a Window to be visible, *it* must be visible and it's parent and ++ * grandparent, etc. ++ */ ++bool mutt_window_is_visible(struct MuttWindow *win) ++{ ++ if (!win) ++ return false; ++ ++ for (; win; win = win->parent) ++ { ++ if (!win->state.visible) ++ return false; ++ } ++ ++ return true; ++} ++ ++/** ++ * mutt_window_dialog - Find the parent Dialog of a Window ++ * @param win Window ++ * @retval ptr Dialog ++ * ++ * Windows may be nested under a MuttWindow of type #WT_DIALOG. ++ */ ++struct MuttWindow *mutt_window_dialog(struct MuttWindow *win) ++{ ++ if (!win) ++ return NULL; ++ if (win->type == WT_DIALOG) ++ return win; ++ ++ return mutt_window_dialog(win->parent); ++} ++ ++/** ++ * mutt_window_find - Find a Window of a given type ++ * @param root Window to start searching ++ * @param type Window type to find, e.g. #WT_INDEX_BAR ++ * @retval ptr Matching Window ++ * @retval NULL No match ++ */ ++struct MuttWindow *mutt_window_find(struct MuttWindow *root, enum WindowType type) ++{ ++ if (!root) ++ return NULL; ++ if (root->type == type) ++ return root; ++ ++ struct MuttWindow *np = NULL; ++ struct MuttWindow *match = NULL; ++ TAILQ_FOREACH(np, &root->children, entries) ++ { ++ match = mutt_window_find(np, type); ++ if (match) ++ return match; ++ } ++ ++ return NULL; ++} ++ ++/** ++ * dialog_push - Display a Window to the user ++ * @param dlg Window to display ++ * ++ * The Dialog Windows are kept in a stack. ++ * The topmost is visible to the user, whilst the others are hidden. ++ * ++ * When a Window is pushed, the old Window is marked as not visible. ++ */ ++void dialog_push(struct MuttWindow *dlg) ++{ ++ if (!dlg || !MuttDialogWindow) ++ return; ++ ++ struct MuttWindow *last = TAILQ_LAST(&MuttDialogWindow->children, MuttWindowList); ++ if (last) ++ last->state.visible = false; ++ ++ TAILQ_INSERT_TAIL(&MuttDialogWindow->children, dlg, entries); ++ dlg->state.visible = true; ++ mutt_window_reflow(MuttDialogWindow); ++#ifdef USE_DEBUG_WINDOW ++ debug_win_dump(); ++#endif ++} ++ ++/** ++ * dialog_pop - Hide a Window from the user ++ * ++ * The topmost (visible) Window is removed from the stack and the next Window ++ * is marked as visible. ++ */ ++void dialog_pop(void) ++{ ++ if (!MuttDialogWindow) ++ return; ++ ++ struct MuttWindow *last = TAILQ_LAST(&MuttDialogWindow->children, MuttWindowList); ++ if (!last) ++ return; ++ ++ last->state.visible = false; ++ TAILQ_REMOVE(&MuttDialogWindow->children, last, entries); ++ ++ last = TAILQ_LAST(&MuttDialogWindow->children, MuttWindowList); ++ if (last) ++ { ++ last->state.visible = true; ++ mutt_window_reflow(MuttDialogWindow); ++ } ++#ifdef USE_DEBUG_WINDOW ++ debug_win_dump(); ++#endif ++} +diff --git a/gui/mutt_window.h b/gui/mutt_window.h +new file mode 100644 +index 000000000..6e06a42d4 +--- /dev/null ++++ b/gui/mutt_window.h +@@ -0,0 +1,149 @@ ++/** ++ * @file ++ * Window management ++ * ++ * @authors ++ * Copyright (C) 2018 Richard Russon ++ * ++ * @copyright ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 2 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ ++#ifndef MUTT_MUTT_WINDOW_H ++#define MUTT_MUTT_WINDOW_H ++ ++#include "config.h" ++#include ++#include "mutt/lib.h" ++ ++/** ++ * enum MuttWindowOrientation - Which way does the Window expand? ++ */ ++enum MuttWindowOrientation ++{ ++ MUTT_WIN_ORIENT_VERTICAL = 1, ///< Window uses all available vertical space ++ MUTT_WIN_ORIENT_HORIZONTAL, ///< Window uses all available horizontal space ++}; ++ ++/** ++ * enum MuttWindowSize - Control the allocation of Window space ++ */ ++enum MuttWindowSize ++{ ++ MUTT_WIN_SIZE_FIXED = 1, ///< Window has a fixed size ++ MUTT_WIN_SIZE_MAXIMISE, ///< Window wants as much space as possible ++ MUTT_WIN_SIZE_MINIMISE, ///< Window size depends on its children ++}; ++ ++#define MUTT_WIN_SIZE_UNLIMITED -1 ///< Use as much space as possible ++ ++/** ++ * struct WindowState - The current, or old, state of a Window ++ */ ++struct WindowState ++{ ++ bool visible; ///< Window is visible ++ short rows; ///< Number of rows, can be #MUTT_WIN_SIZE_UNLIMITED ++ short cols; ///< Number of columns, can be #MUTT_WIN_SIZE_UNLIMITED ++ short row_offset; ///< Absolute on-screen row ++ short col_offset; ///< Absolute on-screen column ++}; ++ ++/** ++ * enum WindowType - Type of Window ++ */ ++enum WindowType ++{ ++ WT_ROOT, ///< Parent of All Windows ++ WT_ALL_DIALOGS, ///< Container for All Dialogs (nested Windows) ++ WT_DIALOG, ///< Dialog (nested Windows) displayed to the user ++ WT_CONTAINER, ///< Invisible shaping container Window ++ WT_HELP_BAR, ///< Help Bar containing list of useful key bindings ++ WT_MESSAGE, ///< Window for messages/errors and command entry ++ WT_INDEX, ///< An Index Window containing a selection list ++ WT_INDEX_BAR, ///< Index Bar containing status info about the Index ++ WT_PAGER, ///< Window containing paged free-form text ++ WT_PAGER_BAR, ///< Pager Bar containing status info about the Pager ++ WT_SIDEBAR, ///< Side panel containing Accounts or groups of data ++}; ++ ++TAILQ_HEAD(MuttWindowList, MuttWindow); ++ ++/** ++ * struct MuttWindow - A division of the screen ++ * ++ * Windows for different parts of the screen ++ */ ++struct MuttWindow ++{ ++ short req_rows; ///< Number of rows required ++ short req_cols; ///< Number of columns required ++ ++ struct WindowState state; ///< Current state of the Window ++ struct WindowState old; ///< Previous state of the Window ++ ++ enum MuttWindowOrientation orient; ///< Which direction the Window will expand ++ enum MuttWindowSize size; ///< Type of Window, e.g. #MUTT_WIN_SIZE_FIXED ++ ++ TAILQ_ENTRY(MuttWindow) entries; ///< Linked list ++ struct MuttWindow *parent; ///< Parent Window ++ struct MuttWindowList children; ///< Children Windows ++ ++ enum WindowType type; ///< Window type, e.g. #WT_SIDEBAR ++ void *wdata; ///< Private data ++ void (*free_wdata)(struct MuttWindow *win, void **ptr); ///< Callback function to free private data ++#ifdef USE_DEBUG_WINDOW ++ const char *name; ++#endif ++}; ++ ++extern struct MuttWindow *MuttDialogWindow; ++extern struct MuttWindow *MuttHelpWindow; ++extern struct MuttWindow *MuttMessageWindow; ++ ++// Functions that deal with the Window ++void mutt_window_add_child (struct MuttWindow *parent, struct MuttWindow *child); ++void mutt_window_copy_size (const struct MuttWindow *win_src, struct MuttWindow *win_dst); ++void mutt_window_free (struct MuttWindow **ptr); ++void mutt_window_free_all (void); ++void mutt_window_get_coords (struct MuttWindow *win, int *col, int *row); ++void mutt_window_init (void); ++struct MuttWindow *mutt_window_new (enum MuttWindowOrientation orient, enum MuttWindowSize size, int rows, int cols); ++void mutt_window_reflow (struct MuttWindow *win); ++void mutt_window_reflow_message_rows(int mw_rows); ++void mutt_window_set_root (int rows, int cols); ++int mutt_window_wrap_cols (int width, short wrap); ++ ++// Functions for drawing on the Window ++int mutt_window_addch (int ch); ++int mutt_window_addnstr (const char *str, int num); ++int mutt_window_addstr (const char *str); ++void mutt_window_clearline(struct MuttWindow *win, int row); ++void mutt_window_clrtobot (void); ++void mutt_window_clrtoeol (struct MuttWindow *win); ++int mutt_window_move (struct MuttWindow *win, int row, int col); ++void mutt_window_move_abs (int row, int col); ++int mutt_window_mvaddstr (struct MuttWindow *win, int row, int col, const char *str); ++int mutt_window_mvprintw (struct MuttWindow *win, int row, int col, const char *fmt, ...); ++int mutt_window_printf (const char *format, ...); ++bool mutt_window_is_visible(struct MuttWindow *win); ++ ++void mutt_winlist_free (struct MuttWindowList *head); ++struct MuttWindow *mutt_window_find(struct MuttWindow *root, enum WindowType type); ++struct MuttWindow *mutt_window_dialog(struct MuttWindow *win); ++ ++void dialog_pop(void); ++void dialog_push(struct MuttWindow *dlg); ++ ++#endif /* MUTT_MUTT_WINDOW_H */ +diff --git a/gui/reflow.c b/gui/reflow.c +new file mode 100644 +index 000000000..972529b58 +--- /dev/null ++++ b/gui/reflow.c +@@ -0,0 +1,234 @@ ++/** ++ * @file ++ * Window reflowing ++ * ++ * @authors ++ * Copyright (C) 2019 Richard Russon ++ * ++ * @copyright ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 2 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ ++/** ++ * @page gui_reflow Window reflowing ++ * ++ * Window reflowing ++ */ ++ ++#include "config.h" ++#include ++#include "mutt/lib.h" ++#include "reflow.h" ++#include "mutt_window.h" ++ ++/** ++ * window_reflow_horiz - Reflow Windows using all the available horizontal space ++ * @param win Window ++ */ ++static void window_reflow_horiz(struct MuttWindow *win) ++{ ++ if (!win) ++ return; ++ ++ int max_count = 0; ++ int space = win->state.cols; ++ ++ // Pass one - minimal allocation ++ struct MuttWindow *np = NULL; ++ TAILQ_FOREACH(np, &win->children, entries) ++ { ++ if (!np->state.visible) ++ continue; ++ ++ np->old = np->state; // Save the old state for later notifications ++ ++ switch (np->size) ++ { ++ case MUTT_WIN_SIZE_FIXED: ++ { ++ const int avail = MIN(space, np->req_cols); ++ np->state.cols = avail; ++ np->state.rows = win->state.rows; ++ space -= avail; ++ break; ++ } ++ case MUTT_WIN_SIZE_MAXIMISE: ++ { ++ np->state.cols = 1; ++ np->state.rows = win->state.rows; ++ max_count++; ++ space -= 1; ++ break; ++ } ++ case MUTT_WIN_SIZE_MINIMISE: ++ { ++ np->state.rows = win->state.rows; ++ np->state.cols = win->state.cols; ++ np->state.row_offset = win->state.row_offset; ++ np->state.col_offset = win->state.col_offset; ++ window_reflow(np); ++ space -= np->state.cols; ++ break; ++ } ++ } ++ } ++ ++ // Pass two - sharing ++ if ((max_count > 0) && (space > 0)) ++ { ++ int alloc = (space + max_count - 1) / max_count; ++ TAILQ_FOREACH(np, &win->children, entries) ++ { ++ if (space == 0) ++ break; ++ if (!np->state.visible) ++ continue; ++ if (np->size != MUTT_WIN_SIZE_MAXIMISE) ++ continue; ++ ++ alloc = MIN(space, alloc); ++ np->state.cols += alloc; ++ space -= alloc; ++ } ++ } ++ ++ // Pass three - position and recursion ++ int col = win->state.col_offset; ++ TAILQ_FOREACH(np, &win->children, entries) ++ { ++ if (!np->state.visible) ++ continue; ++ ++ np->state.col_offset = col; ++ np->state.row_offset = win->state.row_offset; ++ col += np->state.cols; ++ ++ if (np->size != MUTT_WIN_SIZE_MINIMISE) ++ window_reflow(np); ++ } ++ ++ if ((space > 0) && (win->size == MUTT_WIN_SIZE_MINIMISE)) ++ { ++ win->state.cols -= space; ++ } ++} ++ ++/** ++ * window_reflow_vert - Reflow Windows using all the available vertical space ++ * @param win Window ++ */ ++static void window_reflow_vert(struct MuttWindow *win) ++{ ++ if (!win) ++ return; ++ ++ int max_count = 0; ++ int space = win->state.rows; ++ ++ // Pass one - minimal allocation ++ struct MuttWindow *np = NULL; ++ TAILQ_FOREACH(np, &win->children, entries) ++ { ++ if (!np->state.visible) ++ continue; ++ ++ np->old = np->state; // Save the old state for later notifications ++ ++ switch (np->size) ++ { ++ case MUTT_WIN_SIZE_FIXED: ++ { ++ const int avail = MIN(space, np->req_rows); ++ np->state.rows = avail; ++ np->state.cols = win->state.cols; ++ space -= avail; ++ break; ++ } ++ case MUTT_WIN_SIZE_MAXIMISE: ++ { ++ np->state.rows = 1; ++ np->state.cols = win->state.cols; ++ max_count++; ++ space -= 1; ++ break; ++ } ++ case MUTT_WIN_SIZE_MINIMISE: ++ { ++ np->state.rows = win->state.rows; ++ np->state.cols = win->state.cols; ++ np->state.row_offset = win->state.row_offset; ++ np->state.col_offset = win->state.col_offset; ++ window_reflow(np); ++ space -= np->state.rows; ++ break; ++ } ++ } ++ } ++ ++ // Pass two - sharing ++ if ((max_count > 0) && (space > 0)) ++ { ++ int alloc = (space + max_count - 1) / max_count; ++ TAILQ_FOREACH(np, &win->children, entries) ++ { ++ if (space == 0) ++ break; ++ if (!np->state.visible) ++ continue; ++ if (np->size != MUTT_WIN_SIZE_MAXIMISE) ++ continue; ++ ++ alloc = MIN(space, alloc); ++ np->state.rows += alloc; ++ space -= alloc; ++ } ++ } ++ ++ // Pass three - position and recursion ++ int row = win->state.row_offset; ++ TAILQ_FOREACH(np, &win->children, entries) ++ { ++ if (!np->state.visible) ++ continue; ++ ++ np->state.row_offset = row; ++ np->state.col_offset = win->state.col_offset; ++ row += np->state.rows; ++ ++ if (np->size != MUTT_WIN_SIZE_MINIMISE) ++ window_reflow(np); ++ } ++ ++ if ((space > 0) && (win->size == MUTT_WIN_SIZE_MINIMISE)) ++ { ++ win->state.rows -= space; ++ } ++} ++ ++/** ++ * window_reflow - Reflow Windows ++ * @param win Root Window ++ * ++ * Using the rules coded into the Windows, such as Fixed or Maximise, allocate ++ * space to a set of nested Windows. ++ */ ++void window_reflow(struct MuttWindow *win) ++{ ++ if (!win) ++ return; ++ if (win->orient == MUTT_WIN_ORIENT_VERTICAL) ++ window_reflow_vert(win); ++ else ++ window_reflow_horiz(win); ++} +diff --git a/gui/reflow.h b/gui/reflow.h +new file mode 100644 +index 000000000..c1990efd1 +--- /dev/null ++++ b/gui/reflow.h +@@ -0,0 +1,30 @@ ++/** ++ * @file ++ * Window management ++ * ++ * @authors ++ * Copyright (C) 2018 Richard Russon ++ * ++ * @copyright ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 2 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ ++#ifndef MUTT_REFLOW_H ++#define MUTT_REFLOW_H ++ ++struct MuttWindow; ++ ++void window_reflow(struct MuttWindow *win); ++ ++#endif /* MUTT_REFLOW_H */ +diff --git a/terminal.c b/gui/terminal.c +similarity index 97% +rename from terminal.c +rename to gui/terminal.c +index 8f7886236..d9b78e9ae 100644 +--- a/terminal.c ++++ b/gui/terminal.c +@@ -21,7 +21,7 @@ + */ + + /** +- * @page terminal Set the terminal title/icon ++ * @page gui_terminal Set the terminal title/icon + * + * Set the terminal title/icon + */ +@@ -29,7 +29,7 @@ + #include "config.h" + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "terminal.h" + #include "mutt_curses.h" + #ifdef HAVE_NCURSESW_NCURSES_H +diff --git a/terminal.h b/gui/terminal.h +similarity index 100% +rename from terminal.h +rename to gui/terminal.h +diff --git a/handler.c b/handler.c +index 95975de6f..82c637b5f 100644 +--- a/handler.c ++++ b/handler.c +@@ -37,25 +37,25 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "config/lib.h" + #include "email/lib.h" ++#include "core/lib.h" + #include "mutt.h" + #include "handler.h" + #include "copy.h" + #include "enriched.h" +-#include "filter.h" + #include "globals.h" + #include "keymap.h" + #include "mailcap.h" + #include "mutt_attach.h" + #include "mutt_logging.h" + #include "muttlib.h" +-#include "ncrypt/ncrypt.h" + #include "opcodes.h" + #include "options.h" + #include "rfc3676.h" + #include "state.h" ++#include "ncrypt/lib.h" + #ifdef ENABLE_NLS + #include + #endif +@@ -577,13 +577,12 @@ static int autoview_handler(struct Body *a, struct State *s) + unlink(mutt_b2s(tempfile)); + fflush(fp_in); + rewind(fp_in); +- pid = mutt_create_filter_fd(mutt_b2s(cmd), NULL, &fp_out, &fp_err, +- fileno(fp_in), -1, -1); ++ pid = filter_create_fd(mutt_b2s(cmd), NULL, &fp_out, &fp_err, fileno(fp_in), -1, -1); + } + else + { + mutt_file_fclose(&fp_in); +- pid = mutt_create_filter(mutt_b2s(cmd), NULL, &fp_out, &fp_err); ++ pid = filter_create(mutt_b2s(cmd), NULL, &fp_out, &fp_err); + } + + if (pid < 0) +@@ -644,7 +643,7 @@ static int autoview_handler(struct Body *a, struct State *s) + mutt_file_fclose(&fp_out); + mutt_file_fclose(&fp_err); + +- mutt_wait_filter(pid); ++ filter_wait(pid); + if (piped) + mutt_file_fclose(&fp_in); + else +@@ -1140,7 +1139,7 @@ static int multilingual_handler(struct Body *a, struct State *s) + if (C_PreferredLanguages) + { + struct Buffer *langs = mutt_buffer_pool_get(); +- cs_str_string_get(Config, "preferred_languages", langs); ++ cs_subset_str_string_get(NeoMutt->sub, "preferred_languages", langs); + mutt_debug(LL_DEBUG2, "RFC8255 >> preferred_languages set in config to '%s'\n", + mutt_b2s(langs)); + mutt_buffer_pool_release(&langs); +diff --git a/hcache/README.md b/hcache/README.md +index e007e773c..3c0159f40 100644 +--- a/hcache/README.md ++++ b/hcache/README.md +@@ -1,6 +1,7 @@ + # Header Cache + + These files make up NeoMutt's header cache. ++ + There are six different databases to choose from: + - BerkeleyDB + - GDBM +@@ -9,6 +10,11 @@ There are six different databases to choose from: + - QDBM + - TokyoCabinet + ++And three different compression methods: ++- LZ4 ++- ZLIB ++- ZSTD ++ + Each backend implements the interface which is defined in `hcache.h` + + # Operation +diff --git a/hcache/backend.h b/hcache/backend.h +index 0c7a14ccb..ccaeffa51 100644 +--- a/hcache/backend.h ++++ b/hcache/backend.h +@@ -33,10 +33,8 @@ + */ + struct HcacheOps + { +- /** +- * name - Backend name +- */ +- const char *name; ++ const char *name; ///< Header cache name ++ + /** + * open - backend-specific routing to open the header cache database + * @param path The path to the database file +@@ -50,6 +48,7 @@ struct HcacheOps + * all other backend-specific functions (see below). + */ + void *(*open)(const char *path); ++ + /** + * fetch - backend-specific routine to fetch a message's headers + * @param ctx The backend-specific context retrieved via open() +@@ -58,13 +57,15 @@ struct HcacheOps + * @retval ptr Success, message's headers + * @retval NULL Otherwise + */ +- void *(*fetch)(void *ctx, const char *key, size_t keylen); ++ void *(*fetch)(void *ctx, const char *key, size_t keylen, size_t *dlen); ++ + /** + * free - backend-specific routine to free fetched data + * @param[in] ctx The backend-specific context retrieved via open() + * @param[out] data A pointer to the data got with fetch() or fetch_raw() + */ + void (*free)(void *ctx, void **data); ++ + /** + * store - backend-specific routine to store a message's headers + * @param ctx The backend-specific context retrieved via open() +@@ -76,6 +77,7 @@ struct HcacheOps + * @retval num Error, a backend-specific error code + */ + int (*store)(void *ctx, const char *key, size_t keylen, void *data, size_t datalen); ++ + /** + * delete_header - backend-specific routine to delete a message's headers + * @param ctx The backend-specific context retrieved via open() +@@ -85,6 +87,7 @@ struct HcacheOps + * @retval num Error, a backend-specific error code + */ + int (*delete_header)(void *ctx, const char *key, size_t keylen); ++ + /** + * close - backend-specific routine to close a context + * @param[out] ctx The backend-specific context retrieved via open() +@@ -94,6 +97,7 @@ struct HcacheOps + * to the context, so that FREE can be invoked on it. + */ + void (*close)(void **ctx); ++ + /** + * backend - backend-specific identification string + * @retval ptr String describing the currently used hcache backend +diff --git a/hcache/bdb.c b/hcache/bdb.c +index 540680caa..7a10b4d97 100644 +--- a/hcache/bdb.c ++++ b/hcache/bdb.c +@@ -38,7 +38,7 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "backend.h" + #include "globals.h" + +@@ -154,7 +154,7 @@ static void *hcache_bdb_open(const char *path) + /** + * hcache_bdb_fetch - Implements HcacheOps::fetch() + */ +-static void *hcache_bdb_fetch(void *vctx, const char *key, size_t keylen) ++static void *hcache_bdb_fetch(void *vctx, const char *key, size_t keylen, size_t *dlen) + { + if (!vctx) + return NULL; +@@ -170,6 +170,7 @@ static void *hcache_bdb_fetch(void *vctx, const char *key, size_t keylen) + + ctx->db->get(ctx->db, NULL, &dkey, &data, 0); + ++ *dlen = data.size; + return data.data; + } + +diff --git a/hcache/compr.h b/hcache/compr.h +new file mode 100644 +index 000000000..eebc5a345 +--- /dev/null ++++ b/hcache/compr.h +@@ -0,0 +1,88 @@ ++/** ++ * @file ++ * API for the header cache compression ++ * ++ * @authors ++ * Copyright (C) 2019 Tino Reichardt ++ * ++ * @copyright ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 2 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ ++#ifndef MUTT_HCACHE_COMPR_H ++#define MUTT_HCACHE_COMPR_H ++ ++#include ++ ++/** ++ * struct ComprOps - Header Cache Compression API ++ */ ++struct ComprOps ++{ ++ const char *name; ///< Compression name ++ ++ /** ++ * open - Open a compression context ++ * @retval ptr Success, backend-specific context ++ * @retval NULL Otherwise ++ */ ++ void *(*open)(void); ++ ++ /** ++ * compress - Compress header cache data ++ * @param[in] cctx Compression context ++ * @param[in] data Data to be compressed ++ * @param[in] dlen Length of the uncompressed data ++ * @param[out] clen Length of returned compressed data ++ * @retval ptr Success, pointer to compressed data ++ * @retval NULL Otherwise ++ * ++ * @note This function returns a pointer to data, which will be freed by the ++ * close() function. ++ */ ++ void *(*compress)(void *cctx, const char *data, size_t dlen, size_t *clen); ++ ++ /** ++ * decompress - Decompress header cache data ++ * @param[in] cctx Compression context ++ * @param[in] cbuf Data to be decompressed ++ * @param[in] clen Length of the compressed input data ++ * @retval ptr Success, pointer to decompressed data ++ * @retval NULL Otherwise ++ * ++ * @note This function returns a pointer to data, which will be freed by the ++ * close() function. ++ */ ++ void *(*decompress)(void *cctx, const char *cbuf, size_t clen); ++ ++ /** ++ * close - Close a compression context ++ * @param[out] cctx Backend-specific context retrieved via open() ++ * ++ * @note This function will free all allocated resources, which were ++ * allocated by open(), compress() or decompress() ++ */ ++ void (*close)(void **cctx); ++}; ++ ++#define HCACHE_COMPRESS_OPS(_name) \ ++ const struct ComprOps compr_##_name##_ops = { \ ++ .name = #_name, \ ++ .open = compr_##_name##_open, \ ++ .compress = compr_##_name##_compress, \ ++ .decompress = compr_##_name##_decompress, \ ++ .close = compr_##_name##_close, \ ++ }; ++ ++#endif /* MUTT_HCACHE_COMPR_H */ +diff --git a/hcache/compr_lz4.c b/hcache/compr_lz4.c +new file mode 100644 +index 000000000..7bed38505 +--- /dev/null ++++ b/hcache/compr_lz4.c +@@ -0,0 +1,129 @@ ++/** ++ * @file ++ * LZ4 header cache compression ++ * ++ * @authors ++ * Copyright (C) 2019 Tino Reichardt ++ * ++ * @copyright ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 2 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ ++/** ++ * @page hc_comp_lz4 LZ4 compression ++ * ++ * Use LZ4 header cache compression for database backends. ++ */ ++ ++#include "config.h" ++#include ++#include ++#include "mutt/lib.h" ++#include "lib.h" ++#include "compr.h" ++ ++/** ++ * struct ComprLz4Ctx - Private Lz4 Compression Context ++ */ ++struct ComprLz4Ctx ++{ ++ void *buf; ///< Temporary buffer ++}; ++ ++/** ++ * compr_lz4_open - Implements ComprOps::open() ++ */ ++static void *compr_lz4_open(void) ++{ ++ struct ComprLz4Ctx *ctx = mutt_mem_malloc(sizeof(struct ComprLz4Ctx)); ++ ++ ctx->buf = mutt_mem_malloc(LZ4_compressBound(1024 * 32)); ++ ++ return ctx; ++} ++ ++/** ++ * compr_lz4_compress - Implements ComprOps::compress() ++ */ ++static void *compr_lz4_compress(void *cctx, const char *data, size_t dlen, size_t *clen) ++{ ++ if (!cctx || (dlen < 10)) ++ return NULL; ++ ++ struct ComprLz4Ctx *ctx = cctx; ++ int datalen = dlen; ++ int len = LZ4_compressBound(dlen); ++ mutt_mem_realloc(&ctx->buf, len + 4); ++ char *cbuf = ctx->buf; ++ ++ /* int LZ4_compress_fast(const char* src, char* dst, int srcSize, int dstCapacity, int acceleration); */ ++ *clen = LZ4_compress_fast(data, cbuf + 4, datalen, len, C_HeaderCacheCompressLevel); ++ if (*clen < 0) ++ mutt_error("LZ4_compress_fast() failed!"); ++ *clen += 4; ++ ++ /* safe ulen to first 4 bytes */ ++ unsigned char *cs = ctx->buf; ++ cs[0] = dlen & 0xff; ++ dlen >>= 8; ++ cs[1] = dlen & 0xff; ++ dlen >>= 8; ++ cs[2] = dlen & 0xff; ++ dlen >>= 8; ++ cs[3] = dlen & 0xff; ++ ++ return ctx->buf; ++} ++ ++/** ++ * compr_lz4_decompress - Implements ComprOps::decompress() ++ */ ++static void *compr_lz4_decompress(void *cctx, const char *cbuf, size_t clen) ++{ ++ if (!cctx) ++ return NULL; ++ ++ struct ComprLz4Ctx *ctx = cctx; ++ ++ /* first 4 bytes store the size */ ++ const unsigned char *cs = (const unsigned char *) cbuf; ++ size_t ulen = cs[0] + (cs[1] << 8) + (cs[2] << 16) + (cs[3] << 24); ++ if (ulen == 0) ++ return (void *) cbuf; ++ ++ mutt_mem_realloc(&ctx->buf, ulen); ++ void *ubuf = ctx->buf; ++ const char *data = cbuf; ++ int ret = LZ4_decompress_safe(data + 4, ubuf, clen - 4, ulen); ++ if (ret < 0) ++ mutt_error("LZ4_decompress_safe() failed!"); ++ ++ return ubuf; ++} ++ ++/** ++ * compr_lz4_close - Implements ComprOps::close() ++ */ ++static void compr_lz4_close(void **cctx) ++{ ++ if (!cctx || !*cctx) ++ return; ++ ++ struct ComprLz4Ctx *ctx = *cctx; ++ ++ FREE(&ctx->buf); ++ FREE(cctx); ++} ++ ++HCACHE_COMPRESS_OPS(lz4) +diff --git a/hcache/compr_zlib.c b/hcache/compr_zlib.c +new file mode 100644 +index 000000000..926acc65e +--- /dev/null ++++ b/hcache/compr_zlib.c +@@ -0,0 +1,129 @@ ++/** ++ * @file ++ * Zlib header cache compression ++ * ++ * @authors ++ * Copyright (C) 2019 Tino Reichardt ++ * ++ * @copyright ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 2 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ ++/** ++ * @page hc_comp_zlib ZLIB compression ++ * ++ * Use ZLIB header cache compression for database backends. ++ */ ++ ++#include "config.h" ++#include ++#include ++#include ++#include "mutt/lib.h" ++#include "lib.h" ++#include "compr.h" ++ ++/** ++ * struct ComprZlibCtx - Private Zlib Compression Context ++ */ ++struct ComprZlibCtx ++{ ++ void *buf; ///< Temporary buffer ++}; ++ ++/** ++ * compr_zlib_open - Implements ComprOps::open() ++ */ ++static void *compr_zlib_open(void) ++{ ++ struct ComprZlibCtx *ctx = mutt_mem_malloc(sizeof(struct ComprZlibCtx)); ++ ++ ctx->buf = mutt_mem_malloc(compressBound(1024 * 32)); ++ ++ return ctx; ++} ++ ++/** ++ * compr_zlib_compress - Implements ComprOps::compress() ++ */ ++static void *compr_zlib_compress(void *cctx, const char *data, size_t dlen, size_t *clen) ++{ ++ if (!cctx || (dlen < 10)) ++ return NULL; ++ ++ struct ComprZlibCtx *ctx = cctx; ++ ++ uLong len = compressBound(dlen); ++ mutt_mem_realloc(&ctx->buf, len + 4); ++ Bytef *cbuf = (unsigned char *) ctx->buf + 4; ++ const void *ubuf = data; ++ int rc = compress2(cbuf, &len, ubuf, dlen, C_HeaderCacheCompressLevel); ++ if (rc != Z_OK) ++ mutt_error("Zlib compress2() failed!"); ++ *clen = len + 4; ++ ++ /* safe ulen to first 4 bytes */ ++ unsigned char *cs = ctx->buf; ++ cs[0] = dlen & 0xff; ++ dlen >>= 8; ++ cs[1] = dlen & 0xff; ++ dlen >>= 8; ++ cs[2] = dlen & 0xff; ++ dlen >>= 8; ++ cs[3] = dlen & 0xff; ++ ++ return ctx->buf; ++} ++ ++/** ++ * compr_zlib_decompress - Implements ComprOps::decompress() ++ */ ++static void *compr_zlib_decompress(void *cctx, const char *cbuf, size_t clen) ++{ ++ if (!cctx) ++ return NULL; ++ ++ struct ComprZlibCtx *ctx = cctx; ++ ++ /* first 4 bytes store the size */ ++ const unsigned char *cs = (const unsigned char *) cbuf; ++ uLong ulen = cs[0] + (cs[1] << 8) + (cs[2] << 16) + (cs[3] << 24); ++ if (ulen == 0) ++ return (void *) cbuf; ++ ++ mutt_mem_realloc(&ctx->buf, ulen); ++ Bytef *ubuf = ctx->buf; ++ cs = (const unsigned char *) cbuf; ++ int ret = uncompress(ubuf, &ulen, cs + 4, clen - 4); ++ if (ret != Z_OK) ++ mutt_error("Zlib uncompress() failed!"); ++ ++ return ubuf; ++} ++ ++/** ++ * compr_zlib_close - Implements ComprOps::close() ++ */ ++static void compr_zlib_close(void **cctx) ++{ ++ if (!cctx || !*cctx) ++ return; ++ ++ struct ComprZlibCtx *ctx = *cctx; ++ ++ FREE(&ctx->buf); ++ FREE(cctx); ++} ++ ++HCACHE_COMPRESS_OPS(zlib) +diff --git a/hcache/compr_zstd.c b/hcache/compr_zstd.c +new file mode 100644 +index 000000000..d2b563fb5 +--- /dev/null ++++ b/hcache/compr_zstd.c +@@ -0,0 +1,166 @@ ++/** ++ * @file ++ * Zstd header cache compression ++ * ++ * @authors ++ * Copyright (C) 2019 Tino Reichardt ++ * ++ * @copyright ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 2 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ ++/** ++ * @page hc_comp_zstd Zstandard compression ++ * ++ * Use Zstandard header cache compression for database backends. ++ */ ++ ++#include "config.h" ++#include ++#include ++#include "mutt/lib.h" ++#include "lib.h" ++#include "compr.h" ++ ++/** ++ * struct ComprZstdCtx - Private Zstd Compression Context ++ */ ++struct ComprZstdCtx ++{ ++ void *buf; ///< Temporary buffer ++ ZSTD_CCtx *cctx; ///< Compression context ++ ZSTD_DCtx *dctx; ///< Decompression context ++ ZSTD_CDict *cdict; ///< Compression dictionary ++ ZSTD_DDict *ddict; ///< Decompression dictionary ++}; ++ ++/** ++ * compr_zstd_open - Implements ComprOps::open() ++ */ ++static void *compr_zstd_open(void) ++{ ++ struct ComprZstdCtx *ctx = mutt_mem_malloc(sizeof(struct ComprZstdCtx)); ++ ++ ctx->buf = mutt_mem_malloc(ZSTD_compressBound(1024 * 128)); ++ ctx->cctx = ZSTD_createCCtx(); ++ ctx->dctx = ZSTD_createDCtx(); ++ ctx->cdict = NULL; ++ ctx->ddict = NULL; ++ ++ if (!ctx->cctx || !ctx->dctx) ++ { ++ FREE(ctx); ++ return NULL; ++ } ++ ++ if (C_HeaderCacheCompressDictionary) ++ { ++ FILE *fp = fopen(C_HeaderCacheCompressDictionary, "r"); ++ if (fp) ++ { ++ fseek(fp, 0, SEEK_END); ++ long dsize = ftell(fp); ++ mutt_mem_realloc(&ctx->buf, dsize); ++ rewind(fp); ++ size_t done = fread(ctx->buf, 1, dsize, fp); ++ if (done == dsize) ++ { ++ ctx->cdict = ZSTD_createCDict(ctx->buf, dsize, C_HeaderCacheCompressLevel); ++ ctx->ddict = ZSTD_createDDict(ctx->buf, dsize); ++ } ++ fclose(fp); ++ } ++ } ++ ++ return ctx; ++} ++ ++/** ++ * compr_zstd_compress - Implements ComprOps::compress() ++ */ ++static void *compr_zstd_compress(void *cctx, const char *data, size_t dlen, size_t *clen) ++{ ++ if (!cctx || (dlen < 10)) ++ return NULL; ++ ++ struct ComprZstdCtx *ctx = cctx; ++ ++ size_t ret; ++ size_t len = ZSTD_compressBound(dlen); ++ mutt_mem_realloc(&ctx->buf, len); ++ ++ if (ctx->cdict) ++ ret = ZSTD_compress_usingCDict(ctx->cctx, ctx->buf, len, data, dlen, ctx->cdict); ++ else ++ ret = ZSTD_compressCCtx(ctx->cctx, ctx->buf, len, data, dlen, C_HeaderCacheCompressLevel); ++ ++ if (ZSTD_isError(ret)) ++ mutt_error("ZSTD_compress() failed!"); ++ ++ *clen = ret; ++ ++ return ctx->buf; ++} ++ ++/** ++ * compr_zstd_decompress - Implements ComprOps::decompress() ++ */ ++static void *compr_zstd_decompress(void *cctx, const char *cbuf, size_t clen) ++{ ++ struct ComprZstdCtx *ctx = cctx; ++ ++ size_t ret; ++ size_t len = ZSTD_getFrameContentSize(cbuf, clen); ++ mutt_mem_realloc(&ctx->buf, len); ++ ++ if (ctx->ddict) ++ ret = ZSTD_decompress_usingDDict(ctx->dctx, ctx->buf, len, cbuf, clen, ctx->ddict); ++ else ++ ret = ZSTD_decompressDCtx(ctx->dctx, ctx->buf, len, cbuf, clen); ++ ++ if (ZSTD_isError(ret)) ++ mutt_error("ZSTD_decompress() failed!"); ++ ++ return ctx->buf; ++} ++ ++/** ++ * compr_zstd_close - Implements ComprOps::close() ++ */ ++static void compr_zstd_close(void **cctx) ++{ ++ if (!cctx || !*cctx) ++ return; ++ ++ struct ComprZstdCtx *ctx = *cctx; ++ ++ if (ctx->cctx) ++ ZSTD_freeCCtx(ctx->cctx); ++ ++ if (ctx->dctx) ++ ZSTD_freeDCtx(ctx->dctx); ++ ++ if (ctx->cdict) ++ ZSTD_freeCDict(ctx->cdict); ++ ++ if (ctx->ddict) ++ ZSTD_freeDDict(ctx->ddict); ++ ++ if (ctx->buf) ++ FREE(&ctx->buf); ++ ++ FREE(cctx); ++} ++ ++HCACHE_COMPRESS_OPS(zstd) +diff --git a/hcache/gdbm.c b/hcache/gdbm.c +index 017f7723b..e592bfb8e 100644 +--- a/hcache/gdbm.c ++++ b/hcache/gdbm.c +@@ -32,7 +32,7 @@ + #include "config.h" + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "backend.h" + #include "globals.h" + +@@ -56,7 +56,7 @@ static void *hcache_gdbm_open(const char *path) + /** + * hcache_gdbm_fetch - Implements HcacheOps::fetch() + */ +-static void *hcache_gdbm_fetch(void *ctx, const char *key, size_t keylen) ++static void *hcache_gdbm_fetch(void *ctx, const char *key, size_t keylen, size_t *dlen) + { + if (!ctx) + return NULL; +@@ -69,6 +69,8 @@ static void *hcache_gdbm_fetch(void *ctx, const char *key, size_t keylen) + dkey.dptr = (char *) key; + dkey.dsize = keylen; + data = gdbm_fetch(db, dkey); ++ ++ *dlen = data.dsize; + return data.dptr; + } + +diff --git a/hcache/hcache.c b/hcache/hcache.c +index 34a409e9d..ec244589f 100644 +--- a/hcache/hcache.c ++++ b/hcache/hcache.c +@@ -7,6 +7,7 @@ + * Copyright (C) 2004 Tobias Werth + * Copyright (C) 2004 Brian Fundakowski Feldman + * Copyright (C) 2016 Pietro Cerutti ++ * Copyright (C) 2019 Tino Reichardt + * + * @copyright + * This program is free software: you can redistribute it and/or modify it under +@@ -48,10 +49,11 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "email/lib.h" ++#include "lib.h" + #include "backend.h" +-#include "hcache.h" ++#include "compr.h" + #include "hcache/hcversion.h" + + /* These Config Variables are only used in hcache/hcache.c */ +@@ -72,9 +74,6 @@ HCACHE_BACKEND(tokyocabinet) + + /** + * hcache_ops - Backend implementations +- * +- * Keep this list sorted as it is in configure.ac to avoid user surprise if no +- * header_cache_backend is specified. + */ + const struct HcacheOps *hcache_ops[] = { + #ifdef HAVE_TC +@@ -119,6 +118,72 @@ static const struct HcacheOps *hcache_get_backend_ops(const char *backend) + return *ops; + } + ++#ifdef USE_HCACHE_COMPRESSION ++char *C_HeaderCacheCompressDictionary; ///< Config: (hcache) Filepath to dictionary for zstd compression ++short C_HeaderCacheCompressLevel; ///< Config: (hcache) Level of compression for method ++char *C_HeaderCacheCompressMethod; ///< Config: (hcache) Enable generic hcache database compression ++ ++#define HCACHE_COMPR(name) extern const struct ComprOps compr_##name##_ops; ++HCACHE_COMPR(lz4) ++HCACHE_COMPR(zlib) ++HCACHE_COMPR(zstd) ++#undef HCACHE_COMPR ++ ++#define compr_get_ops() \ ++ hcache_get_backend_compr_ops(C_HeaderCacheCompressMethod) ++ ++/** ++ * compr_ops - Backend implementations ++ */ ++const struct ComprOps *compr_ops[] = { ++#ifdef HAVE_LZ4 ++ &compr_lz4_ops, ++#endif ++#ifdef HAVE_ZLIB ++ &compr_zlib_ops, ++#endif ++#ifdef HAVE_ZSTD ++ &compr_zstd_ops, ++#endif ++ NULL ++}; ++ ++/** ++ * hcache_get_backend_compr_ops - Get the API functions for an hcache compress backend ++ * @param compr Name of the backend ++ * @retval ptr Set of function pointers ++ */ ++static const struct ComprOps *hcache_get_backend_compr_ops(const char *compr) ++{ ++ const struct ComprOps **ops = compr_ops; ++ ++ if (!compr || !*compr) ++ { ++ return *ops; ++ } ++ ++ for (; *ops; ops++) ++ { ++ if (strcmp(compr, (*ops)->name) == 0) ++ break; ++ } ++ ++ return *ops; ++} ++ ++/** ++ * mutt_hcache_is_valid_compression - Is the string a valid hcache compression backend ++ * @param s String identifying a compression method ++ * @retval true s is recognized as a valid backend ++ * @retval false otherwise ++ */ ++bool mutt_hcache_is_valid_compression(const char *s) ++{ ++ return hcache_get_backend_compr_ops(s); ++} ++ ++#endif /* USE_HCACHE_COMPRESSION */ ++ + /** + * crc_matches - Is the CRC number correct? + * @param d Binary blob to read CRC from +@@ -199,12 +264,11 @@ static void hcache_per_folder(struct Buffer *hcpath, const char *path, + if (((rc == 0) && !S_ISDIR(sb.st_mode)) || ((rc == -1) && !slash)) + { + /* An existing file or a non-existing path not ending with a slash */ +- mutt_buffer_encode_path(hcpath, path); ++ mutt_encode_path(hcpath, path); + return; + } + + /* We have a directory - no matter whether it exists, or not */ +- + struct Buffer *hcfile = mutt_buffer_pool_get(); + if (namer) + { +@@ -215,7 +279,12 @@ static void hcache_per_folder(struct Buffer *hcpath, const char *path, + { + unsigned char m[16]; /* binary md5sum */ + struct Buffer *name = mutt_buffer_pool_get(); ++#ifdef USE_HCACHE_COMPRESSION ++ const char *cm = C_HeaderCacheCompressMethod; ++ mutt_buffer_printf(name, "%s|%s%s", hcache_get_ops()->name, folder, cm ? cm : ""); ++#else + mutt_buffer_printf(name, "%s|%s", hcache_get_ops()->name, folder); ++#endif + mutt_md5(mutt_b2s(name), m); + mutt_buffer_reset(name); + mutt_md5_toascii(m, name->data); +@@ -223,7 +292,7 @@ static void hcache_per_folder(struct Buffer *hcpath, const char *path, + mutt_buffer_pool_release(&name); + } + +- mutt_buffer_encode_path(hcpath, mutt_b2s(hcpath)); ++ mutt_encode_path(hcpath, mutt_b2s(hcpath)); + create_hcache_dir(mutt_b2s(hcpath)); + mutt_buffer_pool_release(&hcfile); + } +@@ -291,6 +360,23 @@ header_cache_t *mutt_hcache_open(const char *path, const char *folder, hcache_na + hcachever = digest.intval; + } + ++#ifdef USE_HCACHE_COMPRESSION ++ if (C_HeaderCacheCompressMethod) ++ { ++ const struct ComprOps *cops = compr_get_ops(); ++ ++ hc->cctx = cops->open(); ++ if (!hc->cctx) ++ { ++ FREE(&hc); ++ return NULL; ++ } ++ ++ /* remember the buffer of database backend */ ++ hc->ondisk = NULL; ++ } ++#endif ++ + hc->folder = get_foldername(folder); + hc->crc = hcachever; + +@@ -332,6 +418,11 @@ void mutt_hcache_close(header_cache_t *hc) + if (!hc || !ops) + return; + ++#ifdef USE_HCACHE_COMPRESSION ++ if (C_HeaderCacheCompressMethod) ++ compr_get_ops()->close(&hc->cctx); ++#endif ++ + ops->close(&hc->ctx); + FREE(&hc->folder); + FREE(&hc); +@@ -359,7 +450,7 @@ void *mutt_hcache_fetch(header_cache_t *hc, const char *key, size_t keylen) + + /** + * mutt_hcache_fetch_raw - Fetch a message's header from the cache +- * @param hc Pointer to the header_cache_t structure got by mutt_hcache_open ++ * @param hc Pointer to the header_cache_t structure got by mutt_hcache_open() + * @param key Message identification string + * @param keylen Length of the string pointed to by key + * @retval ptr Success, the data if found +@@ -378,11 +469,20 @@ void *mutt_hcache_fetch_raw(header_cache_t *hc, const char *key, size_t keylen) + return NULL; + + struct Buffer path = mutt_buffer_make(1024); +- ++ size_t dlen; + keylen = mutt_buffer_printf(&path, "%s%s", hc->folder, key); +- +- void *blob = ops->fetch(hc->ctx, mutt_b2s(&path), keylen); ++ void *blob = ops->fetch(hc->ctx, mutt_b2s(&path), keylen, &dlen); + mutt_buffer_dealloc(&path); ++ ++#ifdef USE_HCACHE_COMPRESSION ++ if (C_HeaderCacheCompressMethod && blob != NULL) ++ { ++ const struct ComprOps *cops = compr_get_ops(); ++ hc->ondisk = blob; ++ blob = cops->decompress(hc->cctx, blob, dlen); ++ } ++#endif ++ + return blob; + } + +@@ -396,6 +496,15 @@ void mutt_hcache_free(header_cache_t *hc, void **data) + if (!hc || !ops) + return; + ++#ifdef USE_HCACHE_COMPRESSION ++ /* give back the buffer returned by backend */ ++ if (C_HeaderCacheCompressMethod && hc->ondisk) ++ { ++ *data = hc->ondisk; ++ hc->ondisk = NULL; ++ } ++#endif ++ + ops->free(hc->ctx, data); + } + +@@ -420,7 +529,7 @@ int mutt_hcache_store(header_cache_t *hc, const char *key, size_t keylen, + + /** + * mutt_hcache_store_raw - store a key / data pair +- * @param hc Pointer to the header_cache_t structure got by mutt_hcache_open ++ * @param hc Pointer to the header_cache_t structure got by mutt_hcache_open() + * @param key Message identification string + * @param keylen Length of the string pointed to by key + * @param data Payload to associate with key +@@ -440,8 +549,19 @@ int mutt_hcache_store_raw(header_cache_t *hc, const char *key, size_t keylen, + + keylen = mutt_buffer_printf(&path, "%s%s", hc->folder, key); + ++#ifdef USE_HCACHE_COMPRESSION ++ if (C_HeaderCacheCompressMethod) ++ { ++ /* data/dlen gets ptr to compressed data here */ ++ const struct ComprOps *cops = compr_get_ops(); ++ data = cops->compress(hc->cctx, data, dlen, &dlen); ++ } ++#endif ++ ++ /* store uncompressed data */ + int rc = ops->store(hc->ctx, mutt_b2s(&path), keylen, data, dlen); + mutt_buffer_dealloc(&path); ++ + return rc; + } + +diff --git a/hcache/kc.c b/hcache/kc.c +index 471aa6726..e33263c34 100644 +--- a/hcache/kc.c ++++ b/hcache/kc.c +@@ -32,7 +32,7 @@ + #include "config.h" + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "backend.h" + #include "globals.h" + +@@ -66,15 +66,13 @@ static void *hcache_kyotocabinet_open(const char *path) + /** + * hcache_kyotocabinet_fetch - Implements HcacheOps::fetch() + */ +-static void *hcache_kyotocabinet_fetch(void *ctx, const char *key, size_t keylen) ++static void *hcache_kyotocabinet_fetch(void *ctx, const char *key, size_t keylen, size_t *dlen) + { +- size_t sp; +- + if (!ctx) + return NULL; + + KCDB *db = ctx; +- return kcdbget(db, key, keylen, &sp); ++ return kcdbget(db, key, keylen, dlen); + } + + /** +diff --git a/hcache/hcache.h b/hcache/lib.h +similarity index 89% +rename from hcache/hcache.h +rename to hcache/lib.h +index fc9bba47b..b776ffee7 100644 +--- a/hcache/hcache.h ++++ b/hcache/lib.h +@@ -45,13 +45,21 @@ + * | hcache/lmdb.c | @subpage hc_lmdb | + * | hcache/qdbm.c | @subpage hc_qdbm | + * | hcache/tc.c | @subpage hc_tc | ++ * ++ * Compression Backends: ++ * ++ * | File | Description | ++ * | :------------------ | :-------------------- | ++ * | hcache/compr_lz4.c | @subpage hc_comp_lz4 | ++ * | hcache/compr_zlib.c | @subpage hc_comp_zlib | ++ * | hcache/compr_zstd.c | @subpage hc_comp_zstd | + */ + +-#ifndef MUTT_HCACHE_HCACHE_H +-#define MUTT_HCACHE_HCACHE_H ++#ifndef MUTT_HCACHE_LIB_H ++#define MUTT_HCACHE_LIB_H + +-#include + #include ++#include + + struct Buffer; + struct Email; +@@ -69,6 +77,8 @@ struct EmailCache + char *folder; + unsigned int crc; + void *ctx; ++ void *cctx; ++ void *ondisk; + }; + + typedef struct EmailCache header_cache_t; +@@ -82,6 +92,9 @@ typedef void (*hcache_namer_t)(const char *path, struct Buffer *dest); + + /* These Config Variables are only used in hcache/hcache.c */ + extern char *C_HeaderCacheBackend; ++extern char *C_HeaderCacheCompressDictionary; ++extern short C_HeaderCacheCompressLevel; ++extern char *C_HeaderCacheCompressMethod; + + /** + * mutt_hcache_open - open the connection to the header cache +@@ -96,13 +109,13 @@ header_cache_t *mutt_hcache_open(const char *path, const char *folder, hcache_na + + /** + * mutt_hcache_close - close the connection to the header cache +- * @param hc Pointer to the header_cache_t structure got by mutt_hcache_open ++ * @param hc Pointer to the header_cache_t structure got by mutt_hcache_open() + */ + void mutt_hcache_close(header_cache_t *hc); + + /** + * mutt_hcache_fetch - fetch and validate a message's header from the cache +- * @param hc Pointer to the header_cache_t structure got by mutt_hcache_open ++ * @param hc Pointer to the header_cache_t structure got by mutt_hcache_open() + * @param key Message identification string + * @param keylen Length of the string pointed to by key + * @retval ptr Success, data if found and valid +@@ -120,7 +133,7 @@ void *mutt_hcache_fetch_raw(header_cache_t *hc, const char *key, size_t keylen); + + /** + * mutt_hcache_free - free previously fetched data +- * @param hc Pointer to the header_cache_t structure got by mutt_hcache_open ++ * @param hc Pointer to the header_cache_t structure got by mutt_hcache_open() + * @param data Pointer to the data got using hcache_fetch or hcache_fetch_raw + */ + void mutt_hcache_free(header_cache_t *hc, void **data); +@@ -129,7 +142,7 @@ struct Email *mutt_hcache_restore(const unsigned char *d); + + /** + * mutt_hcache_store - store a Header along with a validity datum +- * @param hc Pointer to the header_cache_t structure got by mutt_hcache_open ++ * @param hc Pointer to the header_cache_t structure got by mutt_hcache_open() + * @param key Message identification string + * @param keylen Length of the string pointed to by key + * @param e Email to store +@@ -145,7 +158,7 @@ int mutt_hcache_store_raw(header_cache_t *hc, const char *key, size_t keylen, + + /** + * mutt_hcache_delete_header - delete a key / data pair +- * @param hc Pointer to the header_cache_t structure got by mutt_hcache_open ++ * @param hc Pointer to the header_cache_t structure got by mutt_hcache_open() + * @param key Message identification string + * @param keylen Length of the string pointed to by key + * @retval 0 Success +@@ -162,5 +175,6 @@ int mutt_hcache_delete_header(header_cache_t *hc, const char *key, size_t keylen + const char *mutt_hcache_backend_list(void); + + bool mutt_hcache_is_valid_backend(const char *s); ++bool mutt_hcache_is_valid_compression(const char *s); + +-#endif /* MUTT_HCACHE_HCACHE_H */ ++#endif /* MUTT_HCACHE_LIB_H */ +diff --git a/hcache/lmdb.c b/hcache/lmdb.c +index c76563ed0..5a910773a 100644 +--- a/hcache/lmdb.c ++++ b/hcache/lmdb.c +@@ -32,7 +32,7 @@ + #include "config.h" + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "backend.h" + + /** The maximum size of the database file (2GiB). +@@ -173,7 +173,7 @@ static void *hcache_lmdb_open(const char *path) + /** + * hcache_lmdb_fetch - Implements HcacheOps::fetch() + */ +-static void *hcache_lmdb_fetch(void *vctx, const char *key, size_t keylen) ++static void *hcache_lmdb_fetch(void *vctx, const char *key, size_t keylen, size_t *dlen) + { + if (!vctx) + return NULL; +@@ -205,6 +205,7 @@ static void *hcache_lmdb_fetch(void *vctx, const char *key, size_t keylen) + return NULL; + } + ++ *dlen = data.mv_size; + return data.mv_data; + } + +diff --git a/hcache/qdbm.c b/hcache/qdbm.c +index 848f8c2ed..d4645080e 100644 +--- a/hcache/qdbm.c ++++ b/hcache/qdbm.c +@@ -34,7 +34,7 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "backend.h" + #include "globals.h" + +@@ -54,13 +54,16 @@ static void *hcache_qdbm_open(const char *path) + /** + * hcache_qdbm_fetch - Implements HcacheOps::fetch() + */ +-static void *hcache_qdbm_fetch(void *ctx, const char *key, size_t keylen) ++static void *hcache_qdbm_fetch(void *ctx, const char *key, size_t keylen, size_t *dlen) + { + if (!ctx) + return NULL; + + VILLA *db = ctx; +- return vlget(db, key, keylen, NULL); ++ int sp = 0; ++ void *rv = vlget(db, key, keylen, &sp); ++ *dlen = sp; ++ return rv; + } + + /** +diff --git a/hcache/serialize.c b/hcache/serialize.c +index adbbab5a9..aaa6357a6 100644 +--- a/hcache/serialize.c ++++ b/hcache/serialize.c +@@ -33,11 +33,11 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + #include "serialize.h" +-#include "hcache.h" ++#include "lib.h" + + /** + * lazy_realloc - Reallocate some memory +diff --git a/hcache/serialize.h b/hcache/serialize.h +index 1b8a57468..0616f8e93 100644 +--- a/hcache/serialize.h ++++ b/hcache/serialize.h +@@ -29,7 +29,7 @@ + #include + #include + #include +-#include "hcache.h" ++#include "lib.h" + + struct AddressList; + struct Body; +diff --git a/hcache/tc.c b/hcache/tc.c +index 413799191..c4e5b6662 100644 +--- a/hcache/tc.c ++++ b/hcache/tc.c +@@ -33,7 +33,7 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "backend.h" + #include "globals.h" + +@@ -60,14 +60,16 @@ static void *hcache_tokyocabinet_open(const char *path) + /** + * hcache_tokyocabinet_fetch - Implements HcacheOps::fetch() + */ +-static void *hcache_tokyocabinet_fetch(void *ctx, const char *key, size_t keylen) ++static void *hcache_tokyocabinet_fetch(void *ctx, const char *key, size_t keylen, size_t *dlen) + { + if (!ctx) + return NULL; + + int sp = 0; + TCBDB *db = ctx; +- return tcbdbget(db, key, keylen, &sp); ++ void *rv = tcbdbget(db, key, keylen, &sp); ++ *dlen = sp; ++ return rv; + } + + /** +diff --git a/hdrline.c b/hdrline.c +index 8a4231b1b..6730ebd4a 100644 +--- a/hdrline.c ++++ b/hdrline.c +@@ -36,16 +36,15 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "config/lib.h" + #include "email/lib.h" + #include "core/lib.h" ++#include "gui/lib.h" + #include "hdrline.h" + #include "alias.h" +-#include "color.h" + #include "context.h" +-#include "curs_lib.h" + #include "format_flags.h" + #include "globals.h" + #include "hook.h" +@@ -53,8 +52,8 @@ + #include "mutt_parse.h" + #include "mutt_thread.h" + #include "muttlib.h" +-#include "ncrypt/ncrypt.h" + #include "sort.h" ++#include "ncrypt/lib.h" + + /* These Config Variables are only used in hdrline.c */ + struct MbTable *C_CryptChars; ///< Config: User-configurable crypto flags: signed, encrypted etc. +@@ -108,7 +107,7 @@ enum FieldType + }; + + /** +- * mutt_is_mail_list - Is this the email address of a mailing list? ++ * mutt_is_mail_list - Is this the email address of a mailing list? - Implements ::addr_predicate_t + * @param addr Address to test + * @retval true If it's a mailing list + */ +@@ -120,7 +119,7 @@ bool mutt_is_mail_list(const struct Address *addr) + } + + /** +- * mutt_is_subscribed_list - Is this the email address of a user-subscribed mailing list? ++ * mutt_is_subscribed_list - Is this the email address of a user-subscribed mailing list? - Implements ::addr_predicate_t + * @param addr Address to test + * @retval true If it's a subscribed mailing list + */ +@@ -884,7 +883,7 @@ static const char *index_format_str(char *buf, size_t buflen, size_t col, int co + + case 'f': + tmp[0] = '\0'; +- mutt_addrlist_write(tmp, sizeof(tmp), &e->env->from, true); ++ mutt_addrlist_write(&e->env->from, tmp, sizeof(tmp), true); + mutt_format_s(buf, buflen, prec, tmp); + break; + +@@ -1119,7 +1118,7 @@ static const char *index_format_str(char *buf, size_t buflen, size_t col, int co + + case 'r': + tmp[0] = '\0'; +- mutt_addrlist_write(tmp, sizeof(tmp), &e->env->to, true); ++ mutt_addrlist_write(&e->env->to, tmp, sizeof(tmp), true); + if (optional && (tmp[0] == '\0')) + optional = false; + mutt_format_s(buf, buflen, prec, tmp); +@@ -1127,7 +1126,7 @@ static const char *index_format_str(char *buf, size_t buflen, size_t col, int co + + case 'R': + tmp[0] = '\0'; +- mutt_addrlist_write(tmp, sizeof(tmp), &e->env->cc, true); ++ mutt_addrlist_write(&e->env->cc, tmp, sizeof(tmp), true); + if (optional && (tmp[0] == '\0')) + optional = false; + mutt_format_s(buf, buflen, prec, tmp); +diff --git a/help.c b/help.c +index 80ebe11cf..59bfb2cb2 100644 +--- a/help.c ++++ b/help.c +@@ -33,8 +33,9 @@ + #include + #include + #include +-#include "mutt/mutt.h" +-#include "curs_lib.h" ++#include "mutt/lib.h" ++#include "gui/lib.h" ++#include "functions.h" + #include "globals.h" + #include "keymap.h" + #include "muttlib.h" +diff --git a/hook.c b/hook.c +index 244250630..11d9a417e 100644 +--- a/hook.c ++++ b/hook.c +@@ -34,7 +34,7 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + #include "mutt.h" +@@ -44,14 +44,15 @@ + #include "format_flags.h" + #include "globals.h" + #include "hdrline.h" ++#include "init.h" + #include "mutt_attach.h" + #include "mutt_commands.h" + #include "muttlib.h" + #include "mx.h" +-#include "ncrypt/ncrypt.h" + #include "pattern.h" ++#include "ncrypt/lib.h" + #ifdef USE_COMPRESSED +-#include "compress.h" ++#include "compress/lib.h" + #endif + + /* These Config Variables are only used in hook.c */ +@@ -78,7 +79,7 @@ static struct Hash *IdxFmtHooks = NULL; + static HookFlags current_hook_type = MUTT_HOOK_NO_FLAGS; + + /** +- * mutt_parse_hook - Parse the 'hook' family of commands - Implements ::command_t ++ * mutt_parse_hook - Parse the 'hook' family of commands - Implements Command::parse() + * + * This is used by 'account-hook', 'append-hook' and many more. + */ +@@ -238,11 +239,16 @@ enum CommandResult mutt_parse_hook(struct Buffer *buf, struct Buffer *s, + else if (data & (MUTT_SEND_HOOK | MUTT_SEND2_HOOK | MUTT_SAVE_HOOK | + MUTT_FCC_HOOK | MUTT_MESSAGE_HOOK | MUTT_REPLY_HOOK)) + { +- pat = mutt_pattern_comp(mutt_b2s(pattern), +- (data & (MUTT_SEND_HOOK | MUTT_SEND2_HOOK | MUTT_FCC_HOOK)) ? +- MUTT_PC_NO_FLAGS : +- MUTT_PC_FULL_MSG, +- err); ++ PatternCompFlags comp_flags; ++ ++ if (data & (MUTT_SEND2_HOOK)) ++ comp_flags = MUTT_PC_SEND_MODE_SEARCH; ++ else if (data & (MUTT_SEND_HOOK | MUTT_FCC_HOOK)) ++ comp_flags = MUTT_PC_NO_FLAGS; ++ else ++ comp_flags = MUTT_PC_FULL_MSG; ++ ++ pat = mutt_pattern_comp(mutt_b2s(pattern), comp_flags, err); + if (!pat) + goto cleanup; + } +@@ -315,7 +321,7 @@ void mutt_delete_hooks(HookFlags type) + } + + /** +- * delete_idxfmt_hooklist - Delete a index-format-hook from the Hash Table ++ * delete_idxfmt_hooklist - Delete a index-format-hook from the Hash Table - Implements ::hashelem_free_t + * @param type Type of Hash Element + * @param obj Pointer to Hashed object + * @param data Private data +@@ -344,7 +350,7 @@ static void delete_idxfmt_hooks(void) + } + + /** +- * mutt_parse_idxfmt_hook - Parse the 'index-format-hook' command - Implements ::command_t ++ * mutt_parse_idxfmt_hook - Parse the 'index-format-hook' command - Implements Command::parse() + */ + enum CommandResult mutt_parse_idxfmt_hook(struct Buffer *buf, struct Buffer *s, + unsigned long data, struct Buffer *err) +@@ -446,7 +452,7 @@ enum CommandResult mutt_parse_idxfmt_hook(struct Buffer *buf, struct Buffer *s, + } + + /** +- * mutt_parse_unhook - Parse the 'unhook' command - Implements ::command_t ++ * mutt_parse_unhook - Parse the 'unhook' command - Implements Command::parse() + */ + enum CommandResult mutt_parse_unhook(struct Buffer *buf, struct Buffer *s, + unsigned long data, struct Buffer *err) +diff --git a/icommands.c b/icommands.c +index d04d8a1ba..a0043207f 100644 +--- a/icommands.c ++++ b/icommands.c +@@ -26,12 +26,14 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "config/lib.h" ++#include "core/lib.h" ++#include "gui/lib.h" + #include "mutt.h" + #include "icommands.h" +-#include "curs_lib.h" +-#include "globals.h" ++#include "functions.h" ++#include "init.h" + #include "keymap.h" + #include "muttlib.h" + #include "opcodes.h" +@@ -93,7 +95,7 @@ enum CommandResult mutt_parse_icommand(/* const */ char *line, struct Buffer *er + if (mutt_str_strcmp(token->data, ICommandList[i].name) != 0) + continue; + +- rc = ICommandList[i].func(token, &expn, ICommandList[i].data, err); ++ rc = ICommandList[i].parse(token, &expn, ICommandList[i].data, err); + if (rc != 0) + goto finish; + +@@ -224,7 +226,7 @@ static void dump_all_menus(struct Buffer *buf, bool bind) + } + + /** +- * icmd_bind - Parse 'bind' and 'macro' commands - Implements ::icommand_t ++ * icmd_bind - Parse 'bind' and 'macro' commands - Implements ICommand::parse() + */ + static enum CommandResult icmd_bind(struct Buffer *buf, struct Buffer *s, + unsigned long data, struct Buffer *err) +@@ -289,8 +291,7 @@ static enum CommandResult icmd_bind(struct Buffer *buf, struct Buffer *s, + mutt_file_fclose(&fp_out); + mutt_buffer_dealloc(&filebuf); + +- struct Pager info = { 0 }; +- if (mutt_do_pager((bind) ? "bind" : "macro", tempfile, MUTT_PAGER_NO_FLAGS, &info) == -1) ++ if (mutt_do_pager((bind) ? "bind" : "macro", tempfile, MUTT_PAGER_NO_FLAGS, NULL) == -1) + { + // L10N: '%s' is the file name of the temporary file + mutt_buffer_printf(err, _("Could not create temporary file %s"), tempfile); +@@ -301,7 +302,7 @@ static enum CommandResult icmd_bind(struct Buffer *buf, struct Buffer *s, + } + + /** +- * icmd_set - Parse 'set' command to display config - Implements ::icommand_t ++ * icmd_set - Parse 'set' command to display config - Implements ICommand::parse() + */ + static enum CommandResult icmd_set(struct Buffer *buf, struct Buffer *s, + unsigned long data, struct Buffer *err) +@@ -319,11 +320,11 @@ static enum CommandResult icmd_set(struct Buffer *buf, struct Buffer *s, + + if (mutt_str_strcmp(s->data, "set all") == 0) + { +- dump_config(Config, CS_DUMP_NO_FLAGS, fp_out); ++ dump_config(NeoMutt->sub->cs, CS_DUMP_NO_FLAGS, fp_out); + } + else if (mutt_str_strcmp(s->data, "set") == 0) + { +- dump_config(Config, CS_DUMP_ONLY_CHANGED, fp_out); ++ dump_config(NeoMutt->sub->cs, CS_DUMP_ONLY_CHANGED, fp_out); + } + else + { +@@ -333,8 +334,7 @@ static enum CommandResult icmd_set(struct Buffer *buf, struct Buffer *s, + + mutt_file_fclose(&fp_out); + +- struct Pager info = { 0 }; +- if (mutt_do_pager("set", tempfile, MUTT_PAGER_NO_FLAGS, &info) == -1) ++ if (mutt_do_pager("set", tempfile, MUTT_PAGER_NO_FLAGS, NULL) == -1) + { + // L10N: '%s' is the file name of the temporary file + mutt_buffer_printf(err, _("Could not create temporary file %s"), tempfile); +@@ -345,7 +345,7 @@ static enum CommandResult icmd_set(struct Buffer *buf, struct Buffer *s, + } + + /** +- * icmd_version - Parse 'version' command - Implements ::icommand_t ++ * icmd_version - Parse 'version' command - Implements ICommand::parse() + */ + static enum CommandResult icmd_version(struct Buffer *buf, struct Buffer *s, + unsigned long data, struct Buffer *err) +@@ -364,8 +364,7 @@ static enum CommandResult icmd_version(struct Buffer *buf, struct Buffer *s, + print_version(fp_out); + mutt_file_fclose(&fp_out); + +- struct Pager info = { 0 }; +- if (mutt_do_pager("version", tempfile, MUTT_PAGER_NO_FLAGS, &info) == -1) ++ if (mutt_do_pager("version", tempfile, MUTT_PAGER_NO_FLAGS, NULL) == -1) + { + // L10N: '%s' is the file name of the temporary file + mutt_buffer_printf(err, _("Could not create temporary file %s"), tempfile); +diff --git a/icommands.h b/icommands.h +index c077efdf5..563e46f78 100644 +--- a/icommands.h ++++ b/icommands.h +@@ -28,23 +28,23 @@ + + struct Buffer; + +-/** +- * typedef icommand_t - Prototype for information commands +- * @param buf Command +- * @param s Entire command line +- * @param data Private data to pass to parse function +- * @param err Buffer for error messages +- * @retval #CommandResult Result, e.g. #MUTT_CMD_SUCCESS +- */ +-typedef enum CommandResult (*icommand_t)(struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); +- + /** + * struct ICommand - An Informational Command + */ + struct ICommand + { +- char *name; ///< Name of the command +- icommand_t func; ///< Function to parse the command ++ char *name; ///< Name of the command ++ ++ /** ++ * parse - Function to parse information commands ++ * @param buf Command ++ * @param s Entire command line ++ * @param data Private data to pass to parse function ++ * @param err Buffer for error messages ++ * @retval #CommandResult Result, e.g. #MUTT_CMD_SUCCESS ++ */ ++ enum CommandResult (*parse)(struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); ++ + unsigned long data; ///< Private data to pass to the command + }; + +diff --git a/imap/auth.c b/imap/auth.c +index 088fd365e..edaea0bc1 100644 +--- a/imap/auth.c ++++ b/imap/auth.c +@@ -31,12 +31,29 @@ + #include "config.h" + #include + #include "imap_private.h" // IWYU pragma: keep +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "auth.h" + + /* These Config Variables are only used in imap/auth.c */ + struct Slist *C_ImapAuthenticators; ///< Config: (imap) List of allowed IMAP authentication methods + ++/** ++ * struct ImapAuth - IMAP authentication multiplexor ++ */ ++struct ImapAuth ++{ ++ /** ++ * authenticate - Authenticate an IMAP connection ++ * @param adata Imap Account data ++ * @param method Use this named method, or any available method if NULL ++ * @retval #ImapAuthRes Result, e.g. #IMAP_AUTH_SUCCESS ++ */ ++ enum ImapAuthRes (*authenticate)(struct ImapAccountData *adata, const char *method); ++ ++ const char *method; ///< Name of authentication method supported, NULL means variable. ++ ///< If this is not null, authenticate may ignore the second parameter. ++}; ++ + /** + * imap_authenticators - Accepted authentication methods + */ +diff --git a/imap/auth.h b/imap/auth.h +index 8114bfc86..f76909a12 100644 +--- a/imap/auth.h ++++ b/imap/auth.h +@@ -27,6 +27,7 @@ + #define MUTT_IMAP_AUTH_H + + #include "config.h" ++ + struct ImapAccountData; + + /** +@@ -39,18 +40,6 @@ enum ImapAuthRes + IMAP_AUTH_UNAVAIL, ///< Authentication method not permitted + }; + +-/** +- * struct ImapAuth - IMAP authentication multiplexor +- */ +-struct ImapAuth +-{ +- /* do authentication, using named method or any available if method is NULL */ +- enum ImapAuthRes (*authenticate)(struct ImapAccountData *adata, const char *method); +- /* name of authentication method supported, NULL means variable. If this +- * is not null, authenticate may ignore the second parameter. */ +- const char *method; +-}; +- + /* external authenticator prototypes */ + enum ImapAuthRes imap_auth_plain(struct ImapAccountData *adata, const char *method); + #ifndef USE_SASL +diff --git a/imap/auth_anon.c b/imap/auth_anon.c +index 06d3b7d5b..67d2d5c2e 100644 +--- a/imap/auth_anon.c ++++ b/imap/auth_anon.c +@@ -28,14 +28,13 @@ + + #include "config.h" + #include "imap_private.h" +-#include "mutt/mutt.h" +-#include "conn/conn.h" ++#include "mutt/lib.h" ++#include "conn/lib.h" + #include "auth.h" +-#include "mutt_account.h" + #include "mutt_socket.h" + + /** +- * imap_auth_anon - Authenticate anonymously ++ * imap_auth_anon - Authenticate anonymously - Implements ImapAuth::authenticate() + * @param adata Imap Account data + * @param method Name of this authentication method + * @retval #ImapAuthRes Result, e.g. #IMAP_AUTH_SUCCESS +diff --git a/imap/auth_cram.c b/imap/auth_cram.c +index b4947c22e..1b11c7ee4 100644 +--- a/imap/auth_cram.c ++++ b/imap/auth_cram.c +@@ -30,10 +30,9 @@ + #include + #include + #include "imap_private.h" +-#include "mutt/mutt.h" +-#include "conn/conn.h" ++#include "mutt/lib.h" ++#include "conn/lib.h" + #include "auth.h" +-#include "mutt_account.h" + #include "mutt_socket.h" + + #define MD5_BLOCK_LEN 64 +@@ -90,7 +89,7 @@ static void hmac_md5(const char *password, char *challenge, unsigned char *respo + } + + /** +- * imap_auth_cram_md5 - Authenticate using CRAM-MD5 ++ * imap_auth_cram_md5 - Authenticate using CRAM-MD5 - Implements ImapAuth::authenticate() + * @param adata Imap Account data + * @param method Name of this authentication method + * @retval #ImapAuthRes Result, e.g. #IMAP_AUTH_SUCCESS +diff --git a/imap/auth_gss.c b/imap/auth_gss.c +index b0f03195d..688ab386d 100644 +--- a/imap/auth_gss.c ++++ b/imap/auth_gss.c +@@ -25,9 +25,9 @@ + * + * IMAP GSS authentication method + * +- * An overview of the authentication method is in RFC 1731. ++ * An overview of the authentication method is in RFC1731. + * +- * An overview of the C API used is in RFC 2744. ++ * An overview of the C API used is in RFC2744. + * Of note is section 3.2, which describes gss_buffer_desc. + * The length should not include a terminating '\0' byte, and the client + * should not expect the value field to be '\0'terminated. +@@ -38,10 +38,9 @@ + #include + #include + #include "imap_private.h" +-#include "mutt/mutt.h" +-#include "conn/conn.h" ++#include "mutt/lib.h" ++#include "conn/lib.h" + #include "auth.h" +-#include "mutt_account.h" + #include "mutt_logging.h" + #include "mutt_socket.h" + #ifdef HAVE_HEIMDAL +@@ -99,7 +98,7 @@ static void print_gss_error(OM_uint32 err_maj, OM_uint32 err_min) + } + + /** +- * imap_auth_gss - GSS Authentication support ++ * imap_auth_gss - GSS Authentication support - Implements ImapAuth::authenticate() + * @param adata Imap Account data + * @param method Name of this authentication method + * @retval #ImapAuthRes Result, e.g. #IMAP_AUTH_SUCCESS +diff --git a/imap/auth_login.c b/imap/auth_login.c +index e57636d9c..b60b142ad 100644 +--- a/imap/auth_login.c ++++ b/imap/auth_login.c +@@ -30,14 +30,13 @@ + #include + #include + #include "imap_private.h" +-#include "mutt/mutt.h" +-#include "conn/conn.h" ++#include "mutt/lib.h" ++#include "conn/lib.h" + #include "auth.h" +-#include "mutt_account.h" + #include "mutt_logging.h" + + /** +- * imap_auth_login - Plain LOGIN support ++ * imap_auth_login - Plain LOGIN support - Implements ImapAuth::authenticate() + * @param adata Imap Account data + * @param method Name of this authentication method + * @retval #ImapAuthRes Result, e.g. #IMAP_AUTH_SUCCESS +diff --git a/imap/auth_oauth.c b/imap/auth_oauth.c +index 630511404..cd5c5a67b 100644 +--- a/imap/auth_oauth.c ++++ b/imap/auth_oauth.c +@@ -30,17 +30,17 @@ + #include "config.h" + #include + #include "imap_private.h" +-#include "mutt/mutt.h" +-#include "conn/conn.h" ++#include "mutt/lib.h" ++#include "conn/lib.h" + #include "auth.h" +-#include "mutt_account.h" ++#include "lib.h" + #include "mutt_logging.h" + #include "mutt_socket.h" + + /** +- * imap_auth_oauth - Authenticate an IMAP connection using OAUTHBEARER ++ * imap_auth_oauth - Authenticate an IMAP connection using OAUTHBEARER - Implements ImapAuth::authenticate() + * @param adata Imap Account data +- * @param method Name of this authentication method (UNUSED) ++ * @param method Name of this authentication method + * @retval num Result, e.g. #IMAP_AUTH_SUCCESS + */ + enum ImapAuthRes imap_auth_oauth(struct ImapAccountData *adata, const char *method) +@@ -82,7 +82,7 @@ enum ImapAuthRes imap_auth_oauth(struct ImapAccountData *adata, const char *meth + if (rc != IMAP_EXEC_SUCCESS) + { + /* The error response was in SASL continuation, so continue the SASL +- * to cause a failure and exit SASL input. See RFC 7628 3.2.3 */ ++ * to cause a failure and exit SASL input. See RFC7628 3.2.3 */ + mutt_socket_send(adata->conn, "\001"); + rc = imap_exec(adata, ibuf, IMAP_CMD_NO_FLAGS); + } +diff --git a/imap/auth_plain.c b/imap/auth_plain.c +index 573b2bb6e..6efce904c 100644 +--- a/imap/auth_plain.c ++++ b/imap/auth_plain.c +@@ -29,15 +29,14 @@ + + #include "config.h" + #include "imap_private.h" +-#include "mutt/mutt.h" +-#include "conn/conn.h" ++#include "mutt/lib.h" ++#include "conn/lib.h" + #include "auth.h" +-#include "mutt_account.h" + #include "mutt_logging.h" + #include "mutt_socket.h" + + /** +- * imap_auth_plain - SASL PLAIN support ++ * imap_auth_plain - SASL PLAIN support - Implements ImapAuth::authenticate() + * @param adata Imap Account data + * @param method Name of this authentication method + * @retval #ImapAuthRes Result, e.g. #IMAP_AUTH_SUCCESS +diff --git a/imap/auth_sasl.c b/imap/auth_sasl.c +index 4ccee4ac1..bbf5b32c1 100644 +--- a/imap/auth_sasl.c ++++ b/imap/auth_sasl.c +@@ -34,14 +34,13 @@ + #include + #include + #include "imap_private.h" +-#include "mutt/mutt.h" +-#include "conn/conn.h" ++#include "mutt/lib.h" ++#include "conn/lib.h" + #include "auth.h" +-#include "mutt_account.h" + #include "mutt_socket.h" + + /** +- * imap_auth_sasl - Default authenticator if available ++ * imap_auth_sasl - Default authenticator if available - Implements ImapAuth::authenticate() + * @param adata Imap Account data + * @param method Name of this authentication method + * @retval #ImapAuthRes Result, e.g. #IMAP_AUTH_SUCCESS +diff --git a/imap/browse.c b/imap/browse.c +index 270c7ac1d..9357edcc4 100644 +--- a/imap/browse.c ++++ b/imap/browse.c +@@ -32,18 +32,18 @@ + #include + #include + #include +-#include "imap/imap_private.h" +-#include "mutt/mutt.h" ++#include "imap_private.h" ++#include "mutt/lib.h" + #include "email/lib.h" + #include "core/lib.h" +-#include "conn/conn.h" ++#include "conn/lib.h" ++#include "gui/lib.h" + #include "mutt.h" + #include "browser.h" +-#include "curs_lib.h" + #include "globals.h" +-#include "imap/imap.h" + #include "mutt_logging.h" + #include "muttlib.h" ++#include "imap/lib.h" + + /** + * add_folder - Format and add an IMAP folder to the browser +@@ -62,10 +62,10 @@ static void add_folder(char delim, char *folder, bool noselect, bool noinferiors + { + char tmp[PATH_MAX]; + char relpath[PATH_MAX]; +- struct ConnAccount conn_account; ++ struct ConnAccount cac = { { 0 } }; + char mailbox[1024]; + +- if (imap_parse_path(state->folder, &conn_account, mailbox, sizeof(mailbox))) ++ if (imap_parse_path(state->folder, &cac, mailbox, sizeof(mailbox))) + return; + + if (state->entrylen + 1 == state->entrymax) +@@ -92,7 +92,7 @@ static void add_folder(char delim, char *folder, bool noselect, bool noinferiors + return; + } + +- imap_qualify_path(tmp, sizeof(tmp), &conn_account, folder); ++ imap_qualify_path(tmp, sizeof(tmp), &cac, folder); + (state->entry)[state->entrylen].name = mutt_str_strdup(tmp); + + /* mark desc with delim in browser if it can have subfolders */ +@@ -144,7 +144,7 @@ static void add_folder(char delim, char *folder, bool noselect, bool noinferiors + static int browse_add_list_result(struct ImapAccountData *adata, const char *cmd, + struct BrowserState *state, bool isparent) + { +- struct ImapList list; ++ struct ImapList list = { 0 }; + int rc; + struct Url *url = url_parse(state->folder); + +@@ -184,8 +184,8 @@ static int browse_add_list_result(struct ImapAccountData *adata, const char *cmd + int imap_browse(const char *path, struct BrowserState *state) + { + struct ImapAccountData *adata = NULL; +- struct ImapList list; +- struct ConnAccount conn_account; ++ struct ImapList list = { 0 }; ++ struct ConnAccount cac = { { 0 } }; + char buf[PATH_MAX + 16]; + char mbox[PATH_MAX]; + char munged_mbox[PATH_MAX]; +@@ -196,7 +196,7 @@ int imap_browse(const char *path, struct BrowserState *state) + bool showparents = false; + bool save_lsub; + +- if (imap_parse_path(path, &conn_account, buf, sizeof(buf))) ++ if (imap_parse_path(path, &cac, buf, sizeof(buf))) + { + mutt_error(_("%s is an invalid IMAP path"), path); + return -1; +@@ -212,7 +212,7 @@ int imap_browse(const char *path, struct BrowserState *state) + { + adata = imap_adata_get(np->mailbox); + // Pick first mailbox connected on the same server +- if (imap_account_match(&adata->conn_account, &conn_account)) ++ if (imap_account_match(&adata->conn->account, &cac)) + break; + adata = NULL; + } +@@ -281,7 +281,7 @@ int imap_browse(const char *path, struct BrowserState *state) + if (mbox[n - 1] == list.delim) + { + showparents = true; +- imap_qualify_path(buf, sizeof(buf), &conn_account, mbox); ++ imap_qualify_path(buf, sizeof(buf), &cac, mbox); + state->folder = mutt_str_strdup(buf); + n--; + } +@@ -314,7 +314,7 @@ int imap_browse(const char *path, struct BrowserState *state) + mbox[n++] = ctmp; + ctmp = mbox[n]; + mbox[n] = '\0'; +- imap_qualify_path(buf, sizeof(buf), &conn_account, mbox); ++ imap_qualify_path(buf, sizeof(buf), &cac, mbox); + state->folder = mutt_str_strdup(buf); + } + mbox[n] = ctmp; +@@ -329,7 +329,7 @@ int imap_browse(const char *path, struct BrowserState *state) + add_folder(adata->delim, relpath, true, false, state, true); + if (!state->folder) + { +- imap_qualify_path(buf, sizeof(buf), &conn_account, relpath); ++ imap_qualify_path(buf, sizeof(buf), &cac, relpath); + state->folder = mutt_str_strdup(buf); + } + } +@@ -338,7 +338,7 @@ int imap_browse(const char *path, struct BrowserState *state) + /* no namespace, no folder: set folder to host only */ + if (!state->folder) + { +- imap_qualify_path(buf, sizeof(buf), &conn_account, NULL); ++ imap_qualify_path(buf, sizeof(buf), &cac, NULL); + state->folder = mutt_str_strdup(buf); + } + +diff --git a/imap/command.c b/imap/command.c +index 9f4e21617..9ae23c8d0 100644 +--- a/imap/command.c ++++ b/imap/command.c +@@ -38,12 +38,12 @@ + #include + #include + #include "imap_private.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "email/lib.h" + #include "core/lib.h" +-#include "conn/conn.h" +-#include "mutt.h" ++#include "conn/lib.h" + #include "globals.h" ++#include "init.h" + #include "message.h" + #include "mutt_account.h" + #include "mutt_logging.h" +@@ -62,12 +62,25 @@ bool C_ImapServernoise; ///< Config: (imap) Display server warnings as error mes + * @note This must be kept in the same order as ImapCaps. + */ + static const char *const Capabilities[] = { +- "IMAP4", "IMAP4rev1", "STATUS", +- "ACL", "NAMESPACE", "AUTH=CRAM-MD5", +- "AUTH=GSSAPI", "AUTH=ANONYMOUS", "AUTH=OAUTHBEARER", +- "STARTTLS", "LOGINDISABLED", "IDLE", +- "SASL-IR", "ENABLE", "CONDSTORE", +- "QRESYNC", "LIST-EXTENDED", "X-GM-EXT-1", ++ "IMAP4", ++ "IMAP4rev1", ++ "STATUS", ++ "ACL", ++ "NAMESPACE", ++ "AUTH=CRAM-MD5", ++ "AUTH=GSSAPI", ++ "AUTH=ANONYMOUS", ++ "AUTH=OAUTHBEARER", ++ "STARTTLS", ++ "LOGINDISABLED", ++ "IDLE", ++ "SASL-IR", ++ "ENABLE", ++ "CONDSTORE", ++ "QRESYNC", ++ "LIST-EXTENDED", ++ "COMPRESS=DEFLATE", ++ "X-GM-EXT-1", + NULL, + }; + +@@ -552,7 +565,7 @@ static void cmd_parse_capability(struct ImapAccountData *adata, char *s) + static void cmd_parse_list(struct ImapAccountData *adata, char *s) + { + struct ImapList *list = NULL; +- struct ImapList lb; ++ struct ImapList lb = { 0 }; + char delimbuf[5]; /* worst case: "\\"\0 */ + unsigned int litlen; + +@@ -649,8 +662,8 @@ static void cmd_parse_lsub(struct ImapAccountData *adata, char *s) + char buf[256]; + char errstr[256]; + struct Buffer err, token; +- struct Url url; +- struct ImapList list; ++ struct Url url = { 0 }; ++ struct ImapList list = { 0 }; + + if (adata->cmdresult) + { +@@ -780,6 +793,28 @@ static void cmd_parse_search(struct ImapAccountData *adata, const char *s) + } + } + ++/** ++ * find_mailbox - Find a Mailbox by its name ++ * @param adata Imap Account data ++ * @param name Mailbox to find ++ * @retval ptr Mailbox ++ */ ++static struct Mailbox *find_mailbox(struct ImapAccountData *adata, const char *name) ++{ ++ if (!adata || !adata->account || !name) ++ return NULL; ++ ++ struct MailboxNode *np = NULL; ++ STAILQ_FOREACH(np, &adata->account->mailboxes, entries) ++ { ++ struct ImapMboxData *mdata = imap_mdata_get(np->mailbox); ++ if (mutt_str_strcmp(name, mdata->name) == 0) ++ return np->mailbox; ++ } ++ ++ return NULL; ++} ++ + /** + * cmd_parse_status - Parse status from server + * @param adata Imap Account data +@@ -790,10 +825,7 @@ static void cmd_parse_search(struct ImapAccountData *adata, const char *s) + */ + static void cmd_parse_status(struct ImapAccountData *adata, char *s) + { +- char *value = NULL; +- unsigned int olduv, oldun; +- unsigned int litlen; +- short new_mail = 0; ++ unsigned int litlen = 0; + + char *mailbox = imap_next_word(s); + +@@ -814,41 +846,35 @@ static void cmd_parse_status(struct ImapAccountData *adata, char *s) + + mailbox = adata->buf; + s = mailbox + litlen; +- *s = '\0'; ++ s[0] = '\0'; + s++; + SKIPWS(s); + } + else + { + s = imap_next_word(mailbox); +- *(s - 1) = '\0'; ++ s[-1] = '\0'; + imap_unmunge_mbox_name(adata->unicode, mailbox); + } + +- struct Url url; +- mutt_account_tourl(&adata->conn_account, &url); +- url.path = mailbox; +- char path[PATH_MAX]; +- url_tostring(&url, path, sizeof(path), 0); +- +- struct Mailbox *m = mx_mbox_find2(path); ++ struct Mailbox *m = find_mailbox(adata, mailbox); + struct ImapMboxData *mdata = imap_mdata_get(m); + if (!mdata) + { + mutt_debug(LL_DEBUG3, "Received status for an unexpected mailbox: %s\n", mailbox); + return; + } +- olduv = mdata->uid_validity; +- oldun = mdata->uid_next; ++ unsigned int olduv = mdata->uid_validity; ++ unsigned int oldun = mdata->uid_next; + + if (*s++ != '(') + { + mutt_debug(LL_DEBUG1, "Error parsing STATUS\n"); + return; + } +- while (*s && (*s != ')')) ++ while ((s[0] != '\0') && (s[0] != ')')) + { +- value = imap_next_word(s); ++ char *value = imap_next_word(s); + + errno = 0; + const unsigned long ulcount = strtoul(value, &value, 10); +@@ -871,7 +897,7 @@ static void cmd_parse_status(struct ImapAccountData *adata, char *s) + mdata->unseen = count; + + s = value; +- if (*s && (*s != ')')) ++ if ((s[0] != '\0') && (*s != ')')) + s = imap_next_word(s); + } + mutt_debug(LL_DEBUG3, "%s (UIDVALIDITY: %u, UIDNEXT: %u) %d messages, %d recent, %d unseen\n", +@@ -883,14 +909,15 @@ static void cmd_parse_status(struct ImapAccountData *adata, char *s) + mutt_debug(LL_DEBUG3, "Found %s in mailbox list (OV: %u ON: %u U: %d)\n", + mailbox, olduv, oldun, mdata->unseen); + ++ bool new_mail = false; + if (C_MailCheckRecent) + { +- if (olduv && (olduv == mdata->uid_validity)) ++ if ((olduv != 0) && (olduv == mdata->uid_validity)) + { + if (oldun < mdata->uid_next) + new_mail = (mdata->unseen > 0); + } +- else if (!olduv && !oldun) ++ else if ((olduv == 0) && (oldun == 0)) + { + /* first check per session, use recent. might need a flag for this. */ + new_mail = (mdata->recent > 0); +@@ -904,7 +931,9 @@ static void cmd_parse_status(struct ImapAccountData *adata, char *s) + #ifdef USE_SIDEBAR + if ((m->has_new != new_mail) || (m->msg_count != mdata->messages) || + (m->msg_unread != mdata->unseen)) ++ { + mutt_menu_set_current_redraw(REDRAW_SIDEBAR); ++ } + #endif + + m->has_new = new_mail; +@@ -1261,12 +1290,12 @@ int imap_exec(struct ImapAccountData *adata, const char *cmdstr, ImapCmdFlags fl + } + + /* Allow interruptions, particularly useful if there are network problems. */ +- mutt_sig_allow_interrupt(1); ++ mutt_sig_allow_interrupt(true); + do + { + rc = imap_cmd_step(adata); + } while (rc == IMAP_RES_CONTINUE); +- mutt_sig_allow_interrupt(0); ++ mutt_sig_allow_interrupt(false); + + if (rc == IMAP_RES_NO) + return IMAP_EXEC_ERROR; +diff --git a/imap/imap.c b/imap/imap.c +index 8b61ff6d8..7f44be3a9 100644 +--- a/imap/imap.c ++++ b/imap/imap.c +@@ -36,20 +36,20 @@ + #include + #include + #include "imap_private.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "config/lib.h" + #include "email/lib.h" + #include "core/lib.h" +-#include "conn/conn.h" ++#include "conn/lib.h" ++#include "gui/lib.h" + #include "mutt.h" +-#include "imap.h" ++#include "lib.h" + #include "auth.h" + #include "commands.h" +-#include "curs_lib.h" + #include "globals.h" + #include "hook.h" ++#include "init.h" + #include "message.h" +-#include "mutt_account.h" + #include "mutt_logging.h" + #include "mutt_socket.h" + #include "muttlib.h" +@@ -60,10 +60,16 @@ + #ifdef ENABLE_NLS + #include + #endif ++#ifdef USE_ZLIB ++#include "mutt_zstrm.h" ++#endif + + struct stat; + + /* These Config Variables are only used in imap/imap.c */ ++#ifdef USE_ZLIB ++bool C_ImapDeflate; ///< Config: (imap) Compress network traffic ++#endif + bool C_ImapIdle; ///< Config: (imap) Use the IMAP IDLE extension to check for new mail + bool C_ImapRfc5161; ///< Config: (imap) Use the IMAP ENABLE extension to select capabilities + +@@ -538,7 +544,7 @@ static int complete_hosts(char *buf, size_t buflen) + #if 0 + TAILQ_FOREACH(conn, mutt_socket_head(), entries) + { +- struct Url url; ++ struct Url url = { 0 }; + char urlstr[1024]; + + if (conn->account.type != MUTT_ACCT_TYPE_IMAP) +@@ -840,8 +846,8 @@ void imap_expunge_mailbox(struct Mailbox *m) + imap_hcache_close(mdata); + #endif + +- mailbox_changed(m, MBN_UPDATE); +- mailbox_changed(m, MBN_RESORT); ++ mailbox_changed(m, NT_MAILBOX_UPDATE); ++ mailbox_changed(m, NT_MAILBOX_RESORT); + } + + /** +@@ -961,18 +967,25 @@ void imap_close_connection(struct ImapAccountData *adata) + * @retval true Flag exists + * + * Do a caseless comparison of the flag against a flag list, return true if +- * found or flag list has '\*'. ++ * found or flag list has '\*'. Note that "flag" might contain additional ++ * whitespace at the end, so we really need to compare up to the length of each ++ * element in "flag_list". + */ + bool imap_has_flag(struct ListHead *flag_list, const char *flag) + { + if (STAILQ_EMPTY(flag_list)) + return false; + ++ const size_t flaglen = mutt_str_strlen(flag); + struct ListNode *np = NULL; + STAILQ_FOREACH(np, flag_list, entries) + { +- if (mutt_str_strcasecmp(np->data, flag) == 0) ++ const size_t nplen = strlen(np->data); ++ if ((flaglen >= nplen) && ((flag[nplen] == '\0') || (flag[nplen] == ' ')) && ++ (mutt_str_strncasecmp(np->data, flag, nplen) == 0)) ++ { + return true; ++ } + + if (mutt_str_strcmp(np->data, "\\*") == 0) + return true; +@@ -1450,7 +1463,7 @@ int imap_complete(char *buf, size_t buflen, const char *path) + struct ImapAccountData *adata = NULL; + struct ImapMboxData *mdata = NULL; + char tmp[2048]; +- struct ImapList listresp; ++ struct ImapList listresp = { 0 }; + char completion[1024]; + int clen; + size_t matchlen = 0; +@@ -1507,7 +1520,7 @@ int imap_complete(char *buf, size_t buflen, const char *path) + if (completions) + { + /* reformat output */ +- imap_qualify_path(buf, buflen, &adata->conn_account, completion); ++ imap_qualify_path(buf, buflen, &adata->conn->account, completion); + mutt_pretty_mailbox(buf, buflen); + return 0; + } +@@ -1540,7 +1553,7 @@ int imap_fast_trash(struct Mailbox *m, char *dest) + struct Buffer sync_cmd = mutt_buffer_make(0); + + /* check that the save-to folder is in the same account */ +- if (!mutt_account_match(&(adata->conn->account), &(dest_adata->conn->account))) ++ if (!imap_account_match(&(adata->conn->account), &(dest_adata->conn->account))) + { + mutt_debug(LL_DEBUG3, "%s not same server as %s\n", dest, mailbox_path(m)); + goto out; +@@ -1628,8 +1641,12 @@ int imap_fast_trash(struct Mailbox *m, char *dest) + * @param m Mailbox + * @param expunge if true do expunge + * @param close if true we move imap state to CLOSE ++ * @retval #MUTT_REOPENED mailbox has been externally modified ++ * @retval #MUTT_NEW_MAIL new mail has arrived + * @retval 0 Success + * @retval -1 Error ++ * ++ * @note The flag retvals come from a call to imap_check_mailbox() + */ + int imap_sync_mailbox(struct Mailbox *m, bool expunge, bool close) + { +@@ -1639,6 +1656,7 @@ int imap_sync_mailbox(struct Mailbox *m, bool expunge, bool close) + struct Email **emails = NULL; + int oldsort; + int rc; ++ int check; + + struct ImapAccountData *adata = imap_adata_get(m); + struct ImapMboxData *mdata = imap_mdata_get(m); +@@ -1653,9 +1671,9 @@ int imap_sync_mailbox(struct Mailbox *m, bool expunge, bool close) + * to be changed. */ + imap_allow_reopen(m); + +- rc = imap_check_mailbox(m, false); +- if (rc < 0) +- return rc; ++ check = imap_check_mailbox(m, false); ++ if (check < 0) ++ return check; + + /* if we are expunging anyway, we can do deleted messages very quickly... */ + if (expunge && (m->rights & MUTT_ACL_DELETE)) +@@ -1827,7 +1845,7 @@ int imap_sync_mailbox(struct Mailbox *m, bool expunge, bool close) + if (C_MessageCacheClean) + imap_cache_clean(m); + +- return 0; ++ return check; + } + + /** +@@ -1841,13 +1859,12 @@ static struct Account *imap_ac_find(struct Account *a, const char *path) + struct Url *url = url_parse(path); + + struct ImapAccountData *adata = a->adata; +- struct ConnAccount *ac = &adata->conn_account; ++ struct ConnAccount *cac = &adata->conn->account; + +- if ((mutt_str_strcasecmp(url->host, ac->host) != 0) || +- (mutt_str_strcasecmp(url->user, ac->user) != 0)) +- { ++ if (mutt_str_strcasecmp(url->host, cac->host) != 0) ++ a = NULL; ++ else if (url->user && (mutt_str_strcasecmp(url->user, cac->user) != 0)) + a = NULL; +- } + + url_free(&url); + return a; +@@ -1865,22 +1882,27 @@ static int imap_ac_add(struct Account *a, struct Mailbox *m) + + if (!adata) + { +- struct ConnAccount conn_account; ++ struct ConnAccount cac = { { 0 } }; + char mailbox[PATH_MAX]; + +- if (imap_parse_path(mailbox_path(m), &conn_account, mailbox, sizeof(mailbox)) < 0) ++ if (imap_parse_path(mailbox_path(m), &cac, mailbox, sizeof(mailbox)) < 0) + return -1; + +- adata = imap_adata_new(); +- adata->conn_account = conn_account; +- adata->conn = mutt_conn_new(&conn_account); ++ adata = imap_adata_new(a); ++ adata->conn = mutt_conn_new(&cac); + if (!adata->conn) ++ { ++ imap_adata_free((void **) &adata); + return -1; ++ } + + mutt_account_hook(m->realpath); + + if (imap_login(adata) < 0) ++ { ++ imap_adata_free((void **) &adata); + return -1; ++ } + + a->adata = adata; + a->free_adata = imap_adata_free; +@@ -1893,7 +1915,7 @@ static int imap_ac_add(struct Account *a, struct Mailbox *m) + + /* fixup path and realpath, mainly to replace / by /INBOX */ + char buf[1024]; +- imap_qualify_path(buf, sizeof(buf), &adata->conn_account, mdata->name); ++ imap_qualify_path(buf, sizeof(buf), &adata->conn->account, mdata->name); + mutt_buffer_strcpy(&m->pathbuf, buf); + mutt_str_replace(&m->realpath, mailbox_path(m)); + +@@ -1954,8 +1976,10 @@ int imap_login(struct ImapAccountData *adata) + adata->state = IMAP_AUTHENTICATED; + FREE(&adata->capstr); + if (adata->conn->ssf) ++ { + mutt_debug(LL_DEBUG2, "Communication encrypted at %d bits\n", + adata->conn->ssf); ++ } + } + else + mutt_account_unsetpass(&adata->conn->account); +@@ -1963,7 +1987,18 @@ int imap_login(struct ImapAccountData *adata) + if (adata->state == IMAP_AUTHENTICATED) + { + /* capabilities may have changed */ +- imap_exec(adata, "CAPABILITY", IMAP_CMD_QUEUE); ++ imap_exec(adata, "CAPABILITY", IMAP_CMD_PASS); ++ ++#ifdef USE_ZLIB ++ /* RFC4978 */ ++ if ((adata->capabilities & IMAP_CAP_COMPRESS) && C_ImapDeflate && ++ (imap_exec(adata, "COMPRESS DEFLATE", IMAP_CMD_PASS) == IMAP_EXEC_SUCCESS)) ++ { ++ mutt_debug(LL_DEBUG2, "IMAP compression is enabled on connection to %s\n", ++ adata->conn->account.host); ++ mutt_zstrm_wrap_conn(adata->conn); ++ } ++#endif + + /* enable RFC6855, if the server supports that */ + if (C_ImapRfc5161 && (adata->capabilities & IMAP_CAP_ENABLE)) +@@ -2039,8 +2074,10 @@ static int imap_mbox_open(struct Mailbox *m) + struct Mailbox *m_postponed = mx_mbox_find2(C_Postponed); + struct ImapAccountData *postponed_adata = imap_adata_get(m_postponed); + if (postponed_adata && +- mutt_account_match(&postponed_adata->conn_account, &adata->conn_account)) ++ imap_account_match(&postponed_adata->conn->account, &adata->conn->account)) ++ { + imap_mailbox_status(m_postponed, true); ++ } + + if (C_ImapCheckSubscribed) + imap_exec(adata, "LSUB \"\" \"*\"", IMAP_CMD_QUEUE); +@@ -2335,7 +2372,7 @@ static int imap_tags_edit(struct Mailbox *m, const char *tags, char *buf, size_t + if (tags) + mutt_str_strfcpy(buf, tags, buflen); + +- if (mutt_get_field("Tags: ", buf, buflen, 0) != 0) ++ if (mutt_get_field("Tags: ", buf, buflen, MUTT_COMP_NO_FLAGS) != 0) + return -1; + + /* each keyword must be atom defined by rfc822 as: +@@ -2554,6 +2591,7 @@ static int imap_path_parent(char *buf, size_t buflen) + struct MxOps MxImapOps = { + .magic = MUTT_IMAP, + .name = "imap", ++ .is_local = false, + .ac_find = imap_ac_find, + .ac_add = imap_ac_add, + .mbox_open = imap_mbox_open, +diff --git a/imap/imap_private.h b/imap/imap_private.h +index 7fac7f4d4..63bd3118c 100644 +--- a/imap/imap_private.h ++++ b/imap/imap_private.h +@@ -30,11 +30,12 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "config/lib.h" +-#include "conn/conn.h" +-#include "hcache/hcache.h" ++#include "hcache/lib.h" + ++struct Account; ++struct ConnAccount; + struct Email; + struct Mailbox; + struct Message; +@@ -134,9 +135,10 @@ typedef uint32_t ImapCapFlags; ///< Flags, e.g. #IMAP_CAP_IMAP4 + #define IMAP_CAP_CONDSTORE (1 << 14) ///< RFC7162 + #define IMAP_CAP_QRESYNC (1 << 15) ///< RFC7162 + #define IMAP_CAP_LIST_EXTENDED (1 << 16) ///< RFC5258: IMAP4 LIST Command Extensions +-#define IMAP_CAP_X_GM_EXT_1 (1 << 17) ///< https://developers.google.com/gmail/imap/imap-extensions ++#define IMAP_CAP_COMPRESS (1 << 17) ///< RFC4978: COMPRESS=DEFLATE ++#define IMAP_CAP_X_GM_EXT_1 (1 << 18) ///< https://developers.google.com/gmail/imap/imap-extensions + +-#define IMAP_CAP_ALL ((1 << 18) - 1) ++#define IMAP_CAP_ALL ((1 << 19) - 1) + + /** + * struct ImapList - Items in an IMAP browser +@@ -166,7 +168,6 @@ struct ImapCommand + struct ImapAccountData + { + struct Connection *conn; +- struct ConnAccount conn_account; + bool recovering; + bool closing; /* If true, we are waiting for CLOSE completion */ + unsigned char state; ///< ImapState, e.g. #IMAP_AUTHENTICATED +@@ -203,6 +204,7 @@ struct ImapAccountData + + char delim; + struct Mailbox *mailbox; /* Current selected mailbox */ ++ struct Account *account; ///< Parent Account + }; + + /** +@@ -311,7 +313,7 @@ char *imap_hcache_get_uid_seqset(struct ImapMboxData *mdata); + + enum QuadOption imap_continue(const char *msg, const char *resp); + void imap_error(const char *where, const char *msg); +-struct ImapAccountData *imap_adata_new(void); ++struct ImapAccountData *imap_adata_new(struct Account *a); + void imap_adata_free(void **ptr); + struct ImapMboxData *imap_mdata_new(struct ImapAccountData *adata, const char* name); + void imap_mdata_free(void **ptr); +@@ -320,7 +322,6 @@ char *imap_fix_path(char delim, const char *mailbox, char *path, size_t plen); + void imap_cachepath(char delim, const char *mailbox, struct Buffer *dest); + int imap_get_literal_count(const char *buf, unsigned int *bytes); + char *imap_get_qualifier(char *buf); +-int imap_mxcmp(const char *mx1, const char *mx2); + char *imap_next_word(char *s); + void imap_qualify_path(char *buf, size_t buflen, struct ConnAccount *conn_account, char *path); + void imap_quote_string(char *dest, size_t dlen, const char *src, bool quote_backtick); +@@ -332,6 +333,7 @@ int mutt_seqset_iterator_next(struct SeqsetIterator *iter, unsigned int *next); + void mutt_seqset_iterator_free(struct SeqsetIterator **ptr); + bool imap_account_match(const struct ConnAccount *a1, const struct ConnAccount *a2); + void imap_get_parent(const char *mbox, char delim, char *buf, size_t buflen); ++bool mutt_account_match(const struct ConnAccount *a1, const struct ConnAccount *a2); + + /* utf7.c */ + void imap_utf_encode(bool unicode, char **s); +diff --git a/imap/imap.h b/imap/lib.h +similarity index 90% +rename from imap/imap.h +rename to imap/lib.h +index 90eca1433..3b0e29425 100644 +--- a/imap/imap.h ++++ b/imap/lib.h +@@ -45,14 +45,16 @@ + * | imap/util.c | @subpage imap_util | + */ + +-#ifndef MUTT_IMAP_IMAP_H +-#define MUTT_IMAP_IMAP_H ++#ifndef MUTT_IMAP_LIB_H ++#define MUTT_IMAP_LIB_H + ++#include "config.h" + #include + #include + #include + #include "core/lib.h" + #include "mx.h" ++#include "config.h" + + struct BrowserState; + struct Buffer; +@@ -65,6 +67,9 @@ struct stat; + extern struct Slist *C_ImapAuthenticators; + + /* These Config Variables are only used in imap/imap.c */ ++#ifdef USE_ZLIB ++extern bool C_ImapDeflate; ++#endif + extern bool C_ImapIdle; + extern bool C_ImapRfc5161; + +@@ -77,6 +82,9 @@ extern bool C_ImapServernoise; + + /* These Config Variables are only used in imap/util.c */ + extern char *C_ImapDelimChars; ++extern char *C_ImapLogin; ++extern char *C_ImapOauthRefreshCommand; ++extern char *C_ImapPass; + extern short C_ImapPipelineDepth; + + /* imap.c */ +@@ -108,8 +116,9 @@ void imap_logout_all(void); + + /* util.c */ + int imap_expand_path(struct Buffer *buf); +-int imap_parse_path(const char *path, struct ConnAccount *account, char *mailbox, size_t mailboxlen); ++int imap_parse_path(const char *path, struct ConnAccount *cac, char *mailbox, size_t mailboxlen); + void imap_pretty_mailbox(char *path, size_t pathlen, const char *folder); ++int imap_mxcmp(const char *mx1, const char *mx2); + + int imap_wait_keepalive(pid_t pid); + void imap_keepalive(void); +@@ -117,4 +126,4 @@ void imap_keepalive(void); + void imap_get_parent_path(const char *path, char *buf, size_t buflen); + void imap_clean_path(char *path, size_t plen); + +-#endif /* MUTT_IMAP_IMAP_H */ ++#endif /* MUTT_IMAP_LIB_H */ +diff --git a/imap/message.c b/imap/message.c +index f765ce16e..551b0d5a4 100644 +--- a/imap/message.c ++++ b/imap/message.c +@@ -36,30 +36,28 @@ + #include + #include + #include "imap_private.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "config/lib.h" + #include "email/lib.h" + #include "core/lib.h" +-#include "conn/conn.h" ++#include "conn/lib.h" ++#include "gui/lib.h" + #include "mutt.h" + #include "message.h" + #include "bcache.h" +-#include "curs_lib.h" + #include "globals.h" +-#include "imap/imap.h" +-#include "mutt_account.h" +-#include "mutt_curses.h" + #include "mutt_logging.h" + #include "mutt_socket.h" + #include "muttlib.h" + #include "mx.h" + #include "progress.h" + #include "protos.h" ++#include "imap/lib.h" + #ifdef ENABLE_NLS + #include + #endif + #ifdef USE_HCACHE +-#include "hcache/hcache.h" ++#include "hcache/lib.h" + #endif + + struct BodyCache; +@@ -95,6 +93,7 @@ static struct ImapEmailData *imap_edata_new(void) + + /** + * imap_edata_get - Get the private data for this Email ++ * @param e Email + * @retval ptr Private Email data + */ + struct ImapEmailData *imap_edata_get(struct Email *e) +@@ -1595,7 +1594,7 @@ int imap_copy_messages(struct Mailbox *m, struct EmailList *el, const char *dest + char mmbox[PATH_MAX]; + char prompt[PATH_MAX + 64]; + int rc; +- struct ConnAccount conn_account; ++ struct ConnAccount cac = { { 0 } }; + enum QuadOption err_continue = MUTT_NO; + int triedcreate = 0; + struct EmailNode *en = STAILQ_FIRST(el); +@@ -1608,14 +1607,14 @@ int imap_copy_messages(struct Mailbox *m, struct EmailList *el, const char *dest + return 1; + } + +- if (imap_parse_path(dest, &conn_account, buf, sizeof(buf))) ++ if (imap_parse_path(dest, &cac, buf, sizeof(buf))) + { + mutt_debug(LL_DEBUG1, "bad destination %s\n", dest); + return -1; + } + + /* check that the save-to folder is in the same account */ +- if (!mutt_account_match(&adata->conn->account, &conn_account)) ++ if (!imap_account_match(&adata->conn->account, &cac)) + { + mutt_debug(LL_DEBUG3, "%s not same server as %s\n", dest, mailbox_path(m)); + return 1; +diff --git a/imap/utf7.c b/imap/utf7.c +index 304edfadf..57ded0387 100644 +--- a/imap/utf7.c ++++ b/imap/utf7.c +@@ -30,7 +30,7 @@ + #include + #include + #include "imap_private.h" // IWYU pragma: keep +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + // clang-format off + /** +diff --git a/imap/util.c b/imap/util.c +index aa378560a..4ca36d020 100644 +--- a/imap/util.c ++++ b/imap/util.c +@@ -42,24 +42,27 @@ + #include + #include + #include "imap_private.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "config/lib.h" + #include "email/lib.h" + #include "core/lib.h" +-#include "conn/conn.h" ++#include "conn/lib.h" ++#include "gui/lib.h" + #include "bcache.h" +-#include "curs_lib.h" + #include "globals.h" +-#include "imap/imap.h" + #include "mutt_account.h" + #include "options.h" ++#include "imap/lib.h" + #ifdef USE_HCACHE +-#include "hcache/hcache.h" + #include "message.h" ++#include "hcache/lib.h" + #endif + + /* These Config Variables are only used in imap/util.c */ + char *C_ImapDelimChars; ///< Config: (imap) Characters that denote separators in IMAP folders ++char *C_ImapLogin; ///< Config: (imap) Login name for the IMAP server (defaults to #C_ImapUser) ++char *C_ImapOauthRefreshCommand; ///< Config: (imap) External command to generate OAUTH refresh token ++char *C_ImapPass; ///< Config: (imap) Password for the IMAP server + short C_ImapPipelineDepth; ///< Config: (imap) Number of IMAP commands that may be queued up + + /** +@@ -80,8 +83,8 @@ void imap_adata_free(void **ptr) + + if (adata->conn) + { +- if (adata->conn->conn_close) +- adata->conn->conn_close(adata->conn); ++ if (adata->conn->close) ++ adata->conn->close(adata->conn); + FREE(&adata->conn); + } + +@@ -92,9 +95,11 @@ void imap_adata_free(void **ptr) + * imap_adata_new - Allocate and initialise a new ImapAccountData structure + * @retval ptr New ImapAccountData + */ +-struct ImapAccountData *imap_adata_new(void) ++struct ImapAccountData *imap_adata_new(struct Account *a) + { + struct ImapAccountData *adata = mutt_mem_calloc(1, sizeof(struct ImapAccountData)); ++ adata->account = a; ++ + static unsigned char new_seqid = 'a'; + + adata->seqid = new_seqid; +@@ -130,11 +135,11 @@ struct ImapAccountData *imap_adata_get(struct Mailbox *m) + int imap_adata_find(const char *path, struct ImapAccountData **adata, + struct ImapMboxData **mdata) + { +- struct ConnAccount conn_account; ++ struct ConnAccount cac = { { 0 } }; + struct ImapAccountData *tmp_adata = NULL; + char tmp[1024]; + +- if (imap_parse_path(path, &conn_account, tmp, sizeof(tmp)) < 0) ++ if (imap_parse_path(path, &cac, tmp, sizeof(tmp)) < 0) + return -1; + + struct Account *np = NULL; +@@ -146,7 +151,7 @@ int imap_adata_find(const char *path, struct ImapAccountData **adata, + tmp_adata = np->adata; + if (!tmp_adata) + continue; +- if (imap_account_match(&tmp_adata->conn_account, &conn_account)) ++ if (imap_account_match(&tmp_adata->conn->account, &cac)) + { + *mdata = imap_mdata_new(tmp_adata, tmp); + *adata = tmp_adata; +@@ -159,6 +164,8 @@ int imap_adata_find(const char *path, struct ImapAccountData **adata, + + /** + * imap_mdata_new - Allocate and initialise a new ImapMboxData structure ++ * @param adata Imap Account data ++ * @param name Name for Mailbox + * @retval ptr New ImapMboxData + */ + struct ImapMboxData *imap_mdata_new(struct ImapAccountData *adata, const char *name) +@@ -239,6 +246,7 @@ void imap_mdata_free(void **ptr) + + /** + * imap_mdata_get - Get the Mailbox data for this mailbox ++ * @param m Mailbox + */ + struct ImapMboxData *imap_mdata_get(struct Mailbox *m) + { +@@ -256,13 +264,11 @@ struct ImapMboxData *imap_mdata_get(struct Mailbox *m) + */ + void imap_get_parent(const char *mbox, char delim, char *buf, size_t buflen) + { +- int n; +- + /* Make a copy of the mailbox name, but only if the pointers are different */ + if (mbox != buf) + mutt_str_strfcpy(buf, mbox, buflen); + +- n = mutt_str_strlen(buf); ++ int n = mutt_str_strlen(buf); + + /* Let's go backwards until the next delimiter + * +@@ -273,7 +279,7 @@ void imap_get_parent(const char *mbox, char delim, char *buf, size_t buflen) + * + * If buf == '/', then n-- => n == 0, so the loop ends + * immediately */ +- for (n--; n >= 0 && buf[n] != delim; n--) ++ for (n--; (n >= 0) && (buf[n] != delim); n--) + ; + + /* We stopped before the beginning. There is a trailing slash. */ +@@ -313,7 +319,7 @@ void imap_get_parent_path(const char *path, char *buf, size_t buflen) + imap_get_parent(mdata->name, adata->delim, mbox, sizeof(mbox)); + + /* Returns a fully qualified IMAP url */ +- imap_qualify_path(buf, buflen, &adata->conn_account, mbox); ++ imap_qualify_path(buf, buflen, &adata->conn->account, mbox); + imap_mdata_free((void *) &mdata); + } + +@@ -333,10 +339,31 @@ void imap_clean_path(char *path, size_t plen) + return; + + /* Returns a fully qualified IMAP url */ +- imap_qualify_path(path, plen, &adata->conn_account, mdata->name); ++ imap_qualify_path(path, plen, &adata->conn->account, mdata->name); + imap_mdata_free((void *) &mdata); + } + ++/** ++ * imap_get_field - Get connection login credentials - Implements ConnAccount::get_field() ++ */ ++static const char *imap_get_field(enum ConnAccountField field) ++{ ++ switch (field) ++ { ++ case MUTT_CA_LOGIN: ++ return C_ImapLogin; ++ case MUTT_CA_USER: ++ return C_ImapUser; ++ case MUTT_CA_PASS: ++ return C_ImapPass; ++ case MUTT_CA_OAUTH_CMD: ++ return C_ImapOauthRefreshCommand; ++ case MUTT_CA_HOST: ++ default: ++ return NULL; ++ } ++} ++ + #ifdef USE_HCACHE + /** + * imap_msn_index_to_uid_seqset - Convert MSN index of UIDs to Seqset +@@ -433,7 +460,7 @@ header_cache_t *imap_hcache_open(struct ImapAccountData *adata, struct ImapMboxD + if ((len > 3) && (strcmp(mutt_b2s(mbox) + len - 3, "/..") == 0)) + goto cleanup; + +- struct Url url; ++ struct Url url = { 0 }; + mutt_account_tourl(&adata->conn->account, &url); + url.path = mbox->data; + url_tobuffer(&url, cachepath, U_PATH); +@@ -584,33 +611,33 @@ char *imap_hcache_get_uid_seqset(struct ImapMboxData *mdata) + /** + * imap_parse_path - Parse an IMAP mailbox name into ConnAccount, name + * @param path Mailbox path to parse +- * @param account Account credentials ++ * @param cac Account credentials + * @param mailbox Buffer for mailbox name + * @param mailboxlen Length of buffer + * @retval 0 Success + * @retval -1 Failure + * + * Given an IMAP mailbox name, return host, port and a path IMAP servers will +- * recognize. mx.mbox is malloc'd, caller must free it ++ * recognize. + */ +-int imap_parse_path(const char *path, struct ConnAccount *account, char *mailbox, size_t mailboxlen) ++int imap_parse_path(const char *path, struct ConnAccount *cac, char *mailbox, size_t mailboxlen) + { + static unsigned short ImapPort = 0; + static unsigned short ImapsPort = 0; +- struct servent *service = NULL; + + if (ImapPort == 0) + { +- service = getservbyname("imap", "tcp"); ++ struct servent *service = getservbyname("imap", "tcp"); + if (service) + ImapPort = ntohs(service->s_port); + else + ImapPort = IMAP_PORT; + mutt_debug(LL_DEBUG3, "Using default IMAP port %d\n", ImapPort); + } ++ + if (ImapsPort == 0) + { +- service = getservbyname("imaps", "tcp"); ++ struct servent *service = getservbyname("imaps", "tcp"); + if (service) + ImapsPort = ntohs(service->s_port); + else +@@ -619,9 +646,10 @@ int imap_parse_path(const char *path, struct ConnAccount *account, char *mailbox + } + + /* Defaults */ +- memset(account, 0, sizeof(struct ConnAccount)); +- account->port = ImapPort; +- account->type = MUTT_ACCT_TYPE_IMAP; ++ cac->port = ImapPort; ++ cac->type = MUTT_ACCT_TYPE_IMAP; ++ cac->service = "imap"; ++ cac->get_field = imap_get_field; + + struct Url *url = url_parse(path); + if (!url) +@@ -633,21 +661,21 @@ int imap_parse_path(const char *path, struct ConnAccount *account, char *mailbox + return -1; + } + +- if ((mutt_account_fromurl(account, url) < 0) || (account->host[0] == '\0')) ++ if ((mutt_account_fromurl(cac, url) < 0) || (cac->host[0] == '\0')) + { + url_free(&url); + return -1; + } + + if (url->scheme == U_IMAPS) +- account->flags |= MUTT_ACCT_SSL; ++ cac->flags |= MUTT_ACCT_SSL; + + mutt_str_strfcpy(mailbox, url->path, mailboxlen); + + url_free(&url); + +- if ((account->flags & MUTT_ACCT_SSL) && !(account->flags & MUTT_ACCT_PORT)) +- account->port = ImapsPort; ++ if ((cac->flags & MUTT_ACCT_SSL) && !(cac->flags & MUTT_ACCT_PORT)) ++ cac->port = ImapsPort; + + return 0; + } +@@ -702,8 +730,9 @@ int imap_mxcmp(const char *mx1, const char *mx2) + */ + void imap_pretty_mailbox(char *path, size_t pathlen, const char *folder) + { +- struct ConnAccount target_conn_account, home_conn_account; +- struct Url url; ++ struct ConnAccount cac_target = { { 0 } }; ++ struct ConnAccount cac_home = { { 0 } }; ++ struct Url url = { 0 }; + char *delim = NULL; + int tlen; + int hlen = 0; +@@ -711,20 +740,20 @@ void imap_pretty_mailbox(char *path, size_t pathlen, const char *folder) + char target_mailbox[1024]; + char home_mailbox[1024]; + +- if (imap_parse_path(path, &target_conn_account, target_mailbox, sizeof(target_mailbox)) < 0) ++ if (imap_parse_path(path, &cac_target, target_mailbox, sizeof(target_mailbox)) < 0) + return; + + if (imap_path_probe(folder, NULL) != MUTT_IMAP) + goto fallback; + +- if (imap_parse_path(folder, &home_conn_account, home_mailbox, sizeof(home_mailbox)) < 0) ++ if (imap_parse_path(folder, &cac_home, home_mailbox, sizeof(home_mailbox)) < 0) + goto fallback; + + tlen = mutt_str_strlen(target_mailbox); + hlen = mutt_str_strlen(home_mailbox); + + /* check whether we can do '+' substitution */ +- if (tlen && mutt_account_match(&home_conn_account, &target_conn_account) && ++ if (tlen && imap_account_match(&cac_home, &cac_target) && + (mutt_str_strncmp(home_mailbox, target_mailbox, hlen) == 0)) + { + if (hlen == 0) +@@ -750,7 +779,7 @@ void imap_pretty_mailbox(char *path, size_t pathlen, const char *folder) + } + + fallback: +- mutt_account_tourl(&target_conn_account, &url); ++ mutt_account_tourl(&cac_target, &url); + url.path = target_mailbox; + url_tostring(&url, path, pathlen, 0); + } +@@ -933,13 +962,13 @@ char *imap_next_word(char *s) + * imap_qualify_path - Make an absolute IMAP folder target + * @param buf Buffer for the result + * @param buflen Length of buffer +- * @param conn_account ConnAccount of the account ++ * @param cac ConnAccount of the account + * @param path Path relative to the mailbox + */ +-void imap_qualify_path(char *buf, size_t buflen, struct ConnAccount *conn_account, char *path) ++void imap_qualify_path(char *buf, size_t buflen, struct ConnAccount *cac, char *path) + { +- struct Url url; +- mutt_account_tourl(conn_account, &url); ++ struct Url url = { 0 }; ++ mutt_account_tourl(cac, &url); + url.path = path; + url_tostring(&url, buf, buflen, 0); + } +diff --git a/index.c b/index.c +index 900b52ca5..e9fdcd083 100644 +--- a/index.c ++++ b/index.c +@@ -35,34 +35,32 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "config/lib.h" + #include "email/lib.h" + #include "core/lib.h" +-#include "conn/conn.h" ++#include "conn/lib.h" ++#include "gui/lib.h" + #include "mutt.h" ++#include "debug/lib.h" + #include "index.h" + #include "alias.h" + #include "browser.h" +-#include "color.h" + #include "commands.h" + #include "context.h" +-#include "curs_lib.h" + #include "format_flags.h" + #include "globals.h" + #include "hdrline.h" + #include "hook.h" ++#include "init.h" + #include "keymap.h" +-#include "mutt_curses.h" + #include "mutt_header.h" + #include "mutt_logging.h" + #include "mutt_mailbox.h" + #include "mutt_menu.h" + #include "mutt_thread.h" +-#include "mutt_window.h" + #include "muttlib.h" + #include "mx.h" +-#include "ncrypt/ncrypt.h" + #include "opcodes.h" + #include "options.h" + #include "pager.h" +@@ -75,21 +73,21 @@ + #include "send.h" + #include "sort.h" + #include "status.h" +-#include "terminal.h" ++#include "ncrypt/lib.h" + #ifdef USE_SIDEBAR + #include "sidebar.h" + #endif + #ifdef USE_POP +-#include "pop/pop.h" ++#include "pop/lib.h" + #endif + #ifdef USE_IMAP +-#include "imap/imap.h" ++#include "imap/lib.h" + #endif + #ifdef USE_NOTMUCH +-#include "notmuch/mutt_notmuch.h" ++#include "notmuch/lib.h" + #endif + #ifdef USE_NNTP +-#include "nntp/nntp.h" ++#include "nntp/lib.h" + #endif + #ifdef ENABLE_NLS + #include +@@ -98,7 +96,7 @@ + #include "monitor.h" + #endif + #ifdef USE_AUTOCRYPT +-#include "autocrypt/autocrypt.h" ++#include "autocrypt/lib.h" + #endif + + /* These Config Variables are only used in index.c */ +@@ -654,19 +652,18 @@ void update_index(struct Menu *menu, struct Context *ctx, int check, int oldcoun + } + + /** +- * mailbox_index_observer - Listen for Mailbox changes - Implements ::observer_t() ++ * mailbox_index_observer - Listen for Mailbox changes - Implements ::observer_t + * + * If a Mailbox is closed, then set a pointer to NULL. + */ + static int mailbox_index_observer(struct NotifyCallback *nc) + { +- if (!nc) ++ if (!nc->global_data) + return -1; +- +- if ((nc->event_type != NT_MAILBOX) || (nc->event_subtype != MBN_CLOSED)) ++ if ((nc->event_type != NT_MAILBOX) || (nc->event_subtype != NT_MAILBOX_CLOSED)) + return 0; + +- struct Mailbox **ptr = (struct Mailbox **) nc->data; ++ struct Mailbox **ptr = nc->global_data; + if (!ptr || !*ptr) + return 0; + +@@ -703,7 +700,7 @@ static int main_change_folder(struct Menu *menu, int op, struct Mailbox *m, + mx_path_canon(buf, buflen, C_Folder, NULL); + } + +- enum MailboxType magic = mx_path_probe(buf, NULL); ++ enum MailboxType magic = mx_path_probe(buf); + if ((magic == MUTT_MAILBOX_ERROR) || (magic == MUTT_UNKNOWN)) + { + // Try to see if the buffer matches a description before we bail. +@@ -770,14 +767,14 @@ static int main_change_folder(struct Menu *menu, int op, struct Mailbox *m, + /* If the `folder-hook` were to call `unmailboxes`, then the Mailbox (`m`) + * could be deleted, leaving `m` dangling. */ + // TODO: Refactor this function to avoid the need for an observer +- notify_observer_add(m->notify, NT_MAILBOX, 0, mailbox_index_observer, IP & m); ++ notify_observer_add(m->notify, mailbox_index_observer, &m); + } + mutt_folder_hook(buf, m ? m->name : NULL); + if (m) + { + /* `m` is still valid, but we won't need the observer again before the end + * of the function. */ +- notify_observer_remove(m->notify, mailbox_index_observer, IP & m); ++ notify_observer_remove(m->notify, mailbox_index_observer, &m); + } + + int flags = MUTT_OPEN_NO_FLAGS; +@@ -825,7 +822,7 @@ static int main_change_folder(struct Menu *menu, int op, struct Mailbox *m, + } + + /** +- * index_make_entry - Format a menu item for the index list - Implements Menu::menu_make_entry() ++ * index_make_entry - Format a menu item for the index list - Implements Menu::make_entry() + */ + void index_make_entry(char *buf, size_t buflen, struct Menu *menu, int line) + { +@@ -894,12 +891,12 @@ void index_make_entry(char *buf, size_t buflen, struct Menu *menu, int line) + } + } + +- mutt_make_string_flags(buf, buflen, menu->indexwin->cols, NONULL(C_IndexFormat), +- Context, Context->mailbox, e, flags); ++ mutt_make_string_flags(buf, buflen, menu->win_index->state.cols, ++ NONULL(C_IndexFormat), Context, Context->mailbox, e, flags); + } + + /** +- * index_color - Calculate the colour for a line of the index - Implements Menu::menu_color() ++ * index_color - Calculate the colour for a line of the index - Implements Menu::color() + */ + int index_color(int line) + { +@@ -1056,7 +1053,7 @@ void mutt_draw_statusline(int cols, const char *buf, size_t buflen) + } + + /** +- * index_custom_redraw - Redraw the index - Implements Menu::menu_custom_redraw() ++ * index_custom_redraw - Redraw the index - Implements Menu::custom_redraw() + */ + static void index_custom_redraw(struct Menu *menu) + { +@@ -1091,9 +1088,9 @@ static void index_custom_redraw(struct Menu *menu) + { + char buf[1024]; + menu_status_line(buf, sizeof(buf), menu, NONULL(C_StatusFormat)); +- mutt_window_move(menu->statuswin, 0, 0); ++ mutt_window_move(menu->win_ibar, 0, 0); + mutt_curses_set_color(MT_COLOR_STATUS); +- mutt_draw_statusline(menu->statuswin->cols, buf, sizeof(buf)); ++ mutt_draw_statusline(menu->win_ibar->state.cols, buf, sizeof(buf)); + mutt_curses_set_color(MT_COLOR_NORMAL); + menu->redraw &= ~REDRAW_STATUS; + if (C_TsEnabled && TsSupported) +@@ -1110,12 +1107,13 @@ static void index_custom_redraw(struct Menu *menu) + + /** + * mutt_index_menu - Display a list of emails ++ * @param dlg Dialog containing Windows to draw on + * @retval num How the menu was finished, e.g. OP_QUIT, OP_EXIT + * + * This function handles the message index window as well as commands returned + * from the pager (MENU_PAGER). + */ +-int mutt_index_menu(void) ++int mutt_index_menu(struct MuttWindow *dlg) + { + char buf[PATH_MAX], helpstr[1024]; + OpenMailboxFlags flags; +@@ -1130,9 +1128,18 @@ int mutt_index_menu(void) + int attach_msg = OptAttachMsg; + bool in_pager = false; /* set when pager redirects a function through the index */ + ++ struct MuttWindow *win_index = mutt_window_find(dlg, WT_INDEX); ++ struct MuttWindow *win_ibar = mutt_window_find(dlg, WT_INDEX_BAR); ++ struct MuttWindow *win_pager = mutt_window_find(dlg, WT_PAGER); ++ struct MuttWindow *win_pbar = mutt_window_find(dlg, WT_PAGER_BAR); ++ + struct Menu *menu = mutt_menu_new(MENU_MAIN); +- menu->menu_make_entry = index_make_entry; +- menu->menu_color = index_color; ++ menu->pagelen = win_index->state.rows; ++ menu->win_index = win_index; ++ menu->win_ibar = win_ibar; ++ ++ menu->make_entry = index_make_entry; ++ menu->color = index_color; + menu->current = ci_first_message(Context); + menu->help = mutt_compile_help( + helpstr, sizeof(helpstr), MENU_MAIN, +@@ -1141,9 +1148,9 @@ int mutt_index_menu(void) + IndexNewsHelp : + #endif + IndexHelp); +- menu->menu_custom_redraw = index_custom_redraw; ++ menu->custom_redraw = index_custom_redraw; + mutt_menu_push_current(menu); +- mutt_window_reflow(); ++ mutt_window_reflow(NULL); + + if (!attach_msg) + { +@@ -1310,13 +1317,13 @@ int mutt_index_menu(void) + menu->oldcurrent = -1; + + if (C_ArrowCursor) +- mutt_window_move(menu->indexwin, menu->current - menu->top + menu->offset, 2); ++ mutt_window_move(menu->win_index, menu->current - menu->top + menu->offset, 2); + else if (C_BrailleFriendly) +- mutt_window_move(menu->indexwin, menu->current - menu->top + menu->offset, 0); ++ mutt_window_move(menu->win_index, menu->current - menu->top + menu->offset, 0); + else + { +- mutt_window_move(menu->indexwin, menu->current - menu->top + menu->offset, +- menu->indexwin->cols - 1); ++ mutt_window_move(menu->win_index, menu->current - menu->top + menu->offset, ++ menu->win_index->state.cols - 1); + } + mutt_refresh(); + +@@ -1467,7 +1474,8 @@ int mutt_index_menu(void) + if (op == OP_GET_MESSAGE) + { + buf[0] = '\0'; +- if ((mutt_get_field(_("Enter Message-Id: "), buf, sizeof(buf), 0) != 0) || ++ if ((mutt_get_field(_("Enter Message-Id: "), buf, sizeof(buf), ++ MUTT_COMP_NO_FLAGS) != 0) || + !buf[0]) + { + break; +@@ -1636,12 +1644,12 @@ int mutt_index_menu(void) + case OP_JUMP: + { + int msg_num = 0; +- if (!prereq(Context, menu, CHECK_IN_MAILBOX | CHECK_MSGCOUNT | CHECK_VISIBLE)) ++ if (!prereq(Context, menu, CHECK_IN_MAILBOX)) + break; + if (isdigit(LastKey)) + mutt_unget_event(LastKey, 0); + buf[0] = '\0'; +- if ((mutt_get_field(_("Jump to message: "), buf, sizeof(buf), 0) != 0) || ++ if ((mutt_get_field(_("Jump to message: "), buf, sizeof(buf), MUTT_COMP_NO_FLAGS) != 0) || + (buf[0] == '\0')) + { + mutt_error(_("Nothing to do")); +@@ -1680,8 +1688,7 @@ int mutt_index_menu(void) + */ + + case OP_MAIN_DELETE_PATTERN: +- if (!prereq(Context, menu, +- CHECK_IN_MAILBOX | CHECK_MSGCOUNT | CHECK_VISIBLE | CHECK_READONLY | CHECK_ATTACH)) ++ if (!prereq(Context, menu, CHECK_IN_MAILBOX | CHECK_READONLY | CHECK_ATTACH)) + { + break; + } +@@ -1707,6 +1714,9 @@ int mutt_index_menu(void) + + case OP_SHOW_LOG_MESSAGES: + { ++#ifdef USE_DEBUG_GRAPHVIZ ++ dump_graphviz("index"); ++#endif + char tempfile[PATH_MAX]; + mutt_mktemp(tempfile, sizeof(tempfile)); + +@@ -1725,7 +1735,7 @@ int mutt_index_menu(void) + } + + case OP_HELP: +- mutt_help(MENU_MAIN, MuttIndexWindow->cols); ++ mutt_help(MENU_MAIN, win_index->state.cols); + menu->redraw = REDRAW_FULL; + break; + +@@ -1825,7 +1835,7 @@ int mutt_index_menu(void) + oldcount = (Context && Context->mailbox) ? Context->mailbox->msg_count : 0; + + mutt_startup_shutdown_hook(MUTT_SHUTDOWN_HOOK); +- notify_send(NeoMutt->notify, NT_GLOBAL, NT_GLOBAL_SHUTDOWN, 0); ++ notify_send(NeoMutt->notify, NT_GLOBAL, NT_GLOBAL_SHUTDOWN, NULL); + + if (!Context || ((check = mx_mbox_close(&Context)) == 0)) + done = true; +@@ -1841,16 +1851,23 @@ int mutt_index_menu(void) + break; + + case OP_REDRAW: ++ mutt_window_reflow(NULL); + clearok(stdscr, true); + menu->redraw = REDRAW_FULL; + break; + +- case OP_SEARCH: ++ // Initiating a search can happen on an empty mailbox, but ++ // searching for next/previous/... needs to be on a message and ++ // thus a non-empty mailbox + case OP_SEARCH_REVERSE: + case OP_SEARCH_NEXT: + case OP_SEARCH_OPPOSITE: + if (!prereq(Context, menu, CHECK_IN_MAILBOX | CHECK_MSGCOUNT | CHECK_VISIBLE)) + break; ++ /* fallthrough */ ++ case OP_SEARCH: ++ if (!prereq(Context, menu, CHECK_IN_MAILBOX)) ++ break; + menu->current = mutt_search_command(menu->current, op); + if (menu->current == -1) + menu->current = menu->oldcurrent; +@@ -1919,14 +1936,14 @@ int mutt_index_menu(void) + } + + case OP_MAIN_TAG_PATTERN: +- if (!prereq(Context, menu, CHECK_IN_MAILBOX | CHECK_MSGCOUNT | CHECK_VISIBLE)) ++ if (!prereq(Context, menu, CHECK_IN_MAILBOX)) + break; + mutt_pattern_func(MUTT_TAG, _("Tag messages matching: ")); + menu->redraw |= REDRAW_INDEX | REDRAW_STATUS; + break; + + case OP_MAIN_UNDELETE_PATTERN: +- if (!prereq(Context, menu, CHECK_IN_MAILBOX | CHECK_MSGCOUNT | CHECK_VISIBLE | CHECK_READONLY)) ++ if (!prereq(Context, menu, CHECK_IN_MAILBOX | CHECK_READONLY)) + break; + /* L10N: CHECK_ACL */ + /* L10N: Due to the implementation details we do not know whether we +@@ -1943,7 +1960,7 @@ int mutt_index_menu(void) + break; + + case OP_MAIN_UNTAG_PATTERN: +- if (!prereq(Context, menu, CHECK_IN_MAILBOX | CHECK_MSGCOUNT | CHECK_VISIBLE)) ++ if (!prereq(Context, menu, CHECK_IN_MAILBOX)) + break; + if (mutt_pattern_func(MUTT_UNTAG, _("Untag messages matching: ")) == 0) + menu->redraw |= REDRAW_INDEX | REDRAW_STATUS; +@@ -2100,7 +2117,8 @@ int mutt_index_menu(void) + struct Email *e_cur = get_cur_email(Context, menu); + if (Context->mailbox->magic != MUTT_NOTMUCH) + { +- if (!e_cur || !e_cur->env || !e_cur->env->message_id) ++ if ((Context->mailbox->magic != MUTT_MH && Context->mailbox->magic != MUTT_MAILDIR) || ++ (!e_cur || !e_cur->env || !e_cur->env->message_id)) + { + mutt_message(_("No virtual folder and no Message-Id, aborting")); + break; +@@ -2112,7 +2130,7 @@ int mutt_index_menu(void) + mutt_str_strcat(buf, sizeof(buf), (e_cur->env->message_id) + msg_id_offset); + if (buf[strlen(buf) - 1] == '>') + buf[strlen(buf) - 1] = '\0'; +- if (!nm_uri_from_query(Context->mailbox, buf, sizeof(buf))) ++ if (!nm_url_from_query(Context->mailbox, buf, sizeof(buf))) + { + mutt_message(_("Failed to create query, aborting")); + break; +@@ -2278,18 +2296,35 @@ int mutt_index_menu(void) + #ifdef USE_NOTMUCH + case OP_MAIN_VFOLDER_FROM_QUERY: + case OP_MAIN_VFOLDER_FROM_QUERY_READONLY: ++ { + buf[0] = '\0'; + if ((mutt_get_field("Query: ", buf, sizeof(buf), MUTT_NM_QUERY) != 0) || !buf[0]) + { + mutt_message(_("No query, aborting")); + break; + } +- if (!nm_uri_from_query(NULL, buf, sizeof(buf))) +- mutt_message(_("Failed to create query, aborting")); ++ ++ // Keep copy of user's querying to name mailbox. ++ char *query_unencoded = mutt_str_strdup(buf); ++ ++ if (nm_url_from_query(NULL, buf, sizeof(buf))) ++ { ++ // Create mailbox and set name. ++ struct Mailbox *m_new_vfolder = mx_path_resolve(buf); ++ m_new_vfolder->name = query_unencoded; ++ query_unencoded = NULL; ++ ++ main_change_folder(menu, op, m_new_vfolder, buf, sizeof(buf), ++ &oldcount, &index_hint, NULL); ++ } + else +- main_change_folder(menu, op, NULL, buf, sizeof(buf), &oldcount, &index_hint, NULL); +- break; ++ { ++ FREE(&query_unencoded); ++ mutt_message(_("Failed to create query, aborting")); ++ } + ++ break; ++ } + case OP_MAIN_WINDOWED_VFOLDER_BACKWARD: + if (!prereq(Context, menu, CHECK_IN_MAILBOX)) + break; +@@ -2306,7 +2341,7 @@ int mutt_index_menu(void) + } + nm_query_window_backward(); + mutt_str_strfcpy(buf, C_NmQueryWindowCurrentSearch, sizeof(buf)); +- if (!nm_uri_from_query(Context->mailbox, buf, sizeof(buf))) ++ if (!nm_url_from_query(Context->mailbox, buf, sizeof(buf))) + mutt_message(_("Failed to create query, aborting")); + else + main_change_folder(menu, op, NULL, buf, sizeof(buf), &oldcount, &index_hint, NULL); +@@ -2327,7 +2362,7 @@ int mutt_index_menu(void) + } + nm_query_window_forward(); + mutt_str_strfcpy(buf, C_NmQueryWindowCurrentSearch, sizeof(buf)); +- if (!nm_uri_from_query(Context->mailbox, buf, sizeof(buf))) ++ if (!nm_url_from_query(Context->mailbox, buf, sizeof(buf))) + mutt_message(_("Failed to create query, aborting")); + else + { +@@ -2485,7 +2520,7 @@ int mutt_index_menu(void) + /* toggle the weeding of headers so that a user can press the key + * again while reading the message. */ + if (op == OP_DISPLAY_HEADERS) +- bool_str_toggle(Config, "weed", NULL); ++ bool_str_toggle(NeoMutt->sub, "weed", NULL); + + OptNeedResort = false; + +@@ -2504,12 +2539,13 @@ int mutt_index_menu(void) + mutt_check_traditional_pgp(&el, &menu->redraw); + emaillist_clear(&el); + } +- struct Email *e = get_cur_email(Context, menu); +- if (!e) ++ e_cur = get_cur_email(Context, menu); ++ if (!e_cur) + break; +- int hint = e->index; ++ int hint = e_cur->index; + +- op = mutt_display_message(MuttIndexWindow, Context->mailbox, e_cur); ++ op = mutt_display_message(win_index, win_ibar, win_pager, win_pbar, ++ Context->mailbox, e_cur); + if (op < 0) + { + OptNeedResort = false; +@@ -3163,7 +3199,7 @@ int mutt_index_menu(void) + } + + case OP_MAIN_COLLAPSE_ALL: +- if (!prereq(Context, menu, CHECK_IN_MAILBOX | CHECK_MSGCOUNT | CHECK_VISIBLE)) ++ if (!prereq(Context, menu, CHECK_IN_MAILBOX)) + break; + + if ((C_Sort & SORT_MASK) != SORT_THREADS) +@@ -3868,8 +3904,8 @@ int mutt_index_menu(void) + break; + + case OP_SIDEBAR_TOGGLE_VISIBLE: +- bool_str_toggle(Config, "sidebar_visible", NULL); +- mutt_window_reflow(); ++ bool_str_toggle(NeoMutt->sub, "sidebar_visible", NULL); ++ mutt_window_reflow(NULL); + break; + #endif + +@@ -3931,14 +3967,16 @@ void mutt_set_header_color(struct Mailbox *m, struct Email *e) + } + + /** +- * mutt_reply_observer - Listen for config changes to "reply_regex" - Implements ::observer_t() ++ * mutt_reply_observer - Listen for config changes to "reply_regex" - Implements ::observer_t + */ + int mutt_reply_observer(struct NotifyCallback *nc) + { +- if (!nc) ++ if (!nc->event_data) + return -1; ++ if (nc->event_type != NT_CONFIG) ++ return 0; + +- struct EventConfig *ec = (struct EventConfig *) nc->event; ++ struct EventConfig *ec = nc->event_data; + + if (mutt_str_strcmp(ec->name, "reply_regex") != 0) + return 0; +@@ -3970,3 +4008,185 @@ int mutt_reply_observer(struct NotifyCallback *nc) + OptResortInit = true; /* trigger a redraw of the index */ + return 0; + } ++ ++/** ++ * index_pager_init - Allocate the Windows for the Index/Pager ++ * @retval ptr Dialog containing nested Windows ++ */ ++struct MuttWindow *index_pager_init(void) ++{ ++ struct MuttWindow *dlg = ++ mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ dlg->type = WT_DIALOG; ++#ifdef USE_DEBUG_WINDOW ++ dlg->name = "index"; ++#endif ++ struct MuttWindow *cont_right = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ cont_right->type = WT_CONTAINER; ++ struct MuttWindow *panel_index = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++#ifdef USE_DEBUG_WINDOW ++ panel_index->name = "index panel"; ++#endif ++ panel_index->type = WT_CONTAINER; ++ struct MuttWindow *panel_pager = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++#ifdef USE_DEBUG_WINDOW ++ panel_pager->name = "pager panel"; ++#endif ++ panel_pager->type = WT_CONTAINER; ++ panel_pager->state.visible = false; // The Pager and Pager Bar are initially hidden ++ ++ struct MuttWindow *win_index = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ win_index->type = WT_INDEX; ++ struct MuttWindow *win_pbar = mutt_window_new( ++ MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, 1, MUTT_WIN_SIZE_UNLIMITED); ++ win_pbar->type = WT_PAGER_BAR; ++ struct MuttWindow *win_pager = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ win_pager->type = WT_PAGER; ++ struct MuttWindow *win_sidebar = ++ mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_FIXED, ++ MUTT_WIN_SIZE_UNLIMITED, C_SidebarWidth); ++ win_sidebar->type = WT_SIDEBAR; ++ win_sidebar->state.visible = C_SidebarVisible && (C_SidebarWidth > 0); ++ struct MuttWindow *win_ibar = mutt_window_new( ++ MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, 1, MUTT_WIN_SIZE_UNLIMITED); ++ win_ibar->type = WT_INDEX_BAR; ++ ++ if (C_SidebarOnRight) ++ { ++ mutt_window_add_child(dlg, cont_right); ++ mutt_window_add_child(dlg, win_sidebar); ++ } ++ else ++ { ++ mutt_window_add_child(dlg, win_sidebar); ++ mutt_window_add_child(dlg, cont_right); ++ } ++ ++ mutt_window_add_child(cont_right, panel_index); ++ if (C_StatusOnTop) ++ { ++ mutt_window_add_child(panel_index, win_ibar); ++ mutt_window_add_child(panel_index, win_index); ++ } ++ else ++ { ++ mutt_window_add_child(panel_index, win_index); ++ mutt_window_add_child(panel_index, win_ibar); ++ } ++ ++ mutt_window_add_child(cont_right, panel_pager); ++ if (C_StatusOnTop) ++ { ++ mutt_window_add_child(panel_pager, win_pbar); ++ mutt_window_add_child(panel_pager, win_pager); ++ } ++ else ++ { ++ mutt_window_add_child(panel_pager, win_pager); ++ mutt_window_add_child(panel_pager, win_pbar); ++ } ++ ++ notify_observer_add(NeoMutt->notify, mutt_sb_observer, win_sidebar); ++ ++ return dlg; ++} ++ ++/** ++ * index_pager_shutdown - Clear up any non-Window parts ++ * @param dlg Dialog ++ */ ++void index_pager_shutdown(struct MuttWindow *dlg) ++{ ++ if (!dlg) ++ return; ++ ++ struct MuttWindow *win_sidebar = mutt_window_find(dlg, WT_SIDEBAR); ++ if (!win_sidebar) ++ return; ++ ++ notify_observer_remove(NeoMutt->notify, mutt_sb_observer, win_sidebar); ++} ++ ++/** ++ * mutt_dlg_index_observer - Listen for config changes affecting the Index/Pager - Implements ::observer_t ++ */ ++int mutt_dlg_index_observer(struct NotifyCallback *nc) ++{ ++ if (!nc->event_data || !nc->global_data) ++ return -1; ++ if (nc->event_type != NT_CONFIG) ++ return 0; ++ ++ struct EventConfig *ec = nc->event_data; ++ struct MuttWindow *dlg = nc->global_data; ++ ++ struct MuttWindow *win_index = mutt_window_find(dlg, WT_INDEX); ++ struct MuttWindow *win_pager = mutt_window_find(dlg, WT_PAGER); ++ if (!win_index || !win_pager) ++ return -1; ++ ++ if (mutt_str_strcmp(ec->name, "status_on_top") == 0) ++ { ++ struct MuttWindow *parent = win_index->parent; ++ if (!parent) ++ return -1; ++ struct MuttWindow *first = TAILQ_FIRST(&parent->children); ++ if (!first) ++ return -1; ++ ++ if ((C_StatusOnTop && (first == win_index)) || (!C_StatusOnTop && (first != win_index))) ++ { ++ // Swap the Index and the Index Bar Windows ++ TAILQ_REMOVE(&parent->children, first, entries); ++ TAILQ_INSERT_TAIL(&parent->children, first, entries); ++ } ++ ++ parent = win_pager->parent; ++ first = TAILQ_FIRST(&parent->children); ++ ++ if ((C_StatusOnTop && (first == win_pager)) || (!C_StatusOnTop && (first != win_pager))) ++ { ++ // Swap the Pager and Pager Bar Windows ++ TAILQ_REMOVE(&parent->children, first, entries); ++ TAILQ_INSERT_TAIL(&parent->children, first, entries); ++ } ++ goto reflow; ++ } ++ ++ if (mutt_str_strcmp(ec->name, "pager_index_lines") == 0) ++ { ++ struct MuttWindow *parent = win_pager->parent; ++ if (parent->state.visible) ++ { ++ int vcount = (Context && Context->mailbox) ? Context->mailbox->vcount : 0; ++ win_index->req_rows = MIN(C_PagerIndexLines, vcount); ++ win_index->size = MUTT_WIN_SIZE_FIXED; ++ ++ win_index->parent->size = MUTT_WIN_SIZE_MINIMISE; ++ win_index->parent->state.visible = (C_PagerIndexLines != 0); ++ } ++ else ++ { ++ win_index->req_rows = MUTT_WIN_SIZE_UNLIMITED; ++ win_index->size = MUTT_WIN_SIZE_MAXIMISE; ++ ++ win_index->parent->size = MUTT_WIN_SIZE_MAXIMISE; ++ win_index->parent->state.visible = true; ++ } ++ } ++ ++reflow: ++ mutt_window_reflow(dlg); ++ return 0; ++} +diff --git a/index.h b/index.h +index 16fb2946c..a60fd6f2c 100644 +--- a/index.h ++++ b/index.h +@@ -30,6 +30,8 @@ struct Context; + struct Email; + struct Mailbox; + struct Menu; ++struct MuttWindow; ++struct NotifyCallback; + + /* These Config Variables are only used in index.c */ + extern bool C_ChangeFolderNext; +@@ -44,8 +46,11 @@ extern bool C_UncollapseNew; + int index_color(int line); + void index_make_entry(char *buf, size_t buflen, struct Menu *menu, int line); + void mutt_draw_statusline(int cols, const char *buf, size_t buflen); +-int mutt_index_menu(void); ++int mutt_index_menu(struct MuttWindow *dlg); + void mutt_set_header_color(struct Mailbox *m, struct Email *e); + void update_index(struct Menu *menu, struct Context *ctx, int check, int oldcount, int index_hint); ++struct MuttWindow *index_pager_init(void); ++void index_pager_shutdown(struct MuttWindow *dlg); ++int mutt_dlg_index_observer(struct NotifyCallback *nc); + + #endif /* MUTT_INDEX_H */ +diff --git a/init.c b/init.c +index 506ec450e..5c3ec1aac 100644 +--- a/init.c ++++ b/init.c +@@ -29,11 +29,8 @@ + + #include "config.h" + #include +-#include + #include +-#include + #include +-#include + #include + #include + #include +@@ -41,47 +38,36 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" ++#include "config/lib.h" + #include "email/lib.h" + #include "core/lib.h" ++#include "conn/lib.h" ++#include "gui/lib.h" + #include "mutt.h" + #include "init.h" + #include "alias.h" ++#include "command_parse.h" + #include "context.h" +-#include "filter.h" ++#include "functions.h" ++#include "globals.h" + #include "keymap.h" +-#include "monitor.h" ++#include "mutt_commands.h" ++#include "mutt_config.h" + #include "mutt_menu.h" + #include "mutt_parse.h" +-#include "mutt_window.h" +-#include "mx.h" ++#include "muttlib.h" + #include "myvar.h" + #include "options.h" + #include "protos.h" +-#include "sidebar.h" +-#include "version.h" ++#include "sort.h" + #ifdef USE_HCACHE +-#include "hcache/hcache.h" ++#include "hcache/lib.h" + #endif + #ifdef USE_NOTMUCH +-#include "notmuch/mutt_notmuch.h" ++#include "notmuch/lib.h" + #endif +-#ifdef USE_IMAP +-#include "imap/imap.h" +-#endif +-#ifdef ENABLE_NLS +-#include +-#endif +- +-/* LIFO designed to contain the list of config files that have been sourced and +- * avoid cyclic sourcing */ +-static struct ListHead MuttrcStack = STAILQ_HEAD_INITIALIZER(MuttrcStack); +- +-#define MAX_ERRS 128 +- +-#define NUM_VARS mutt_array_size(MuttVars) +-#define NUM_COMMANDS mutt_array_size(Commands) + + /* Initial string that starts completion. No telling how much the user has + * typed so far. Allocate 1024 just to be sure! */ +@@ -91,84 +77,13 @@ static int NumMatched = 0; /* Number of matches for completion */ + static char Completed[256] = { 0 }; /* completed string (command or variable) */ + static const char **Matches; + /* this is a lie until mutt_init runs: */ +-static int MatchesListsize = MAX(NUM_VARS, NUM_COMMANDS) + 10; ++static int MatchesListsize = 512; // Enough space for all of the config items + + #ifdef USE_NOTMUCH + /* List of tags found in last call to mutt_nm_query_complete(). */ + static char **nm_tags; + #endif + +-/** +- * enum GroupState - Type of email address group +- */ +-enum GroupState +-{ +- GS_NONE, ///< Group is missing an argument +- GS_RX, ///< Entry is a regular expression +- GS_ADDR, ///< Entry is an address +-}; +- +-/** +- * add_to_stailq - Add a string to a list +- * @param head String list +- * @param str String to add +- * +- * @note Duplicate or empty strings will not be added +- */ +-static void add_to_stailq(struct ListHead *head, const char *str) +-{ +- /* don't add a NULL or empty string to the list */ +- if (!str || (*str == '\0')) +- return; +- +- /* check to make sure the item is not already on this list */ +- struct ListNode *np = NULL; +- STAILQ_FOREACH(np, head, entries) +- { +- if (mutt_str_strcasecmp(str, np->data) == 0) +- { +- return; +- } +- } +- mutt_list_insert_tail(head, mutt_str_strdup(str)); +-} +- +-/** +- * alternates_clean - Clear the recipient valid flag of all emails +- */ +-static void alternates_clean(void) +-{ +- if (!Context || !Context->mailbox) +- return; +- +- struct Mailbox *m = Context->mailbox; +- for (int i = 0; i < m->msg_count; i++) +- { +- struct Email *e = m->emails[i]; +- if (!e) +- break; +- e->recip_valid = false; +- } +-} +- +-/** +- * attachments_clean - always wise to do what someone else did before +- */ +-static void attachments_clean(void) +-{ +- if (!Context || !Context->mailbox) +- return; +- +- struct Mailbox *m = Context->mailbox; +- for (int i = 0; i < m->msg_count; i++) +- { +- struct Email *e = m->emails[i]; +- if (!e) +- break; +- e->attach_valid = false; +- } +-} +- + /** + * matches_ensure_morespace - Allocate more space for auto-completion + * @param current Current allocation +@@ -178,7 +93,7 @@ static void matches_ensure_morespace(int current) + if (current <= (MatchesListsize - 2)) + return; + +- int base_space = MAX(NUM_VARS, NUM_COMMANDS) + 1; ++ int base_space = 512; // Enough space for all of the config items + int extra_space = MatchesListsize - base_space; + extra_space *= 2; + const int space = base_space + extra_space; +@@ -217,2422 +132,246 @@ static void candidate(char *user, const char *src, char *dest, size_t dlen) + } + } + +-/** +- * clear_subject_mods - Clear out all modified email subjects +- */ +-static void clear_subject_mods(void) +-{ +- if (!Context || !Context->mailbox) +- return; +- +- struct Mailbox *m = Context->mailbox; +- for (int i = 0; i < m->msg_count; i++) +- { +- struct Email *e = m->emails[i]; +- if (!e || !e->env) +- continue; +- FREE(&e->env->disp_subj); +- } +-} +- + #ifdef USE_NOTMUCH + /** + * complete_all_nm_tags - Pass a list of Notmuch tags to the completion code + * @param pt List of all Notmuch tags + * @retval 0 Success +- * @retval -1 Error +- */ +-static int complete_all_nm_tags(const char *pt) +-{ +- int tag_count_1 = 0; +- int tag_count_2 = 0; +- +- NumMatched = 0; +- mutt_str_strfcpy(UserTyped, pt, sizeof(UserTyped)); +- memset(Matches, 0, MatchesListsize); +- memset(Completed, 0, sizeof(Completed)); +- +- nm_db_longrun_init(Context->mailbox, false); +- +- /* Work out how many tags there are. */ +- if (nm_get_all_tags(Context->mailbox, NULL, &tag_count_1) || (tag_count_1 == 0)) +- goto done; +- +- /* Free the old list, if any. */ +- if (nm_tags) +- { +- for (int i = 0; nm_tags[i]; i++) +- FREE(&nm_tags[i]); +- FREE(&nm_tags); +- } +- /* Allocate a new list, with sentinel. */ +- nm_tags = mutt_mem_malloc((tag_count_1 + 1) * sizeof(char *)); +- nm_tags[tag_count_1] = NULL; +- +- /* Get all the tags. */ +- if (nm_get_all_tags(Context->mailbox, nm_tags, &tag_count_2) || (tag_count_1 != tag_count_2)) +- { +- FREE(&nm_tags); +- nm_tags = NULL; +- nm_db_longrun_done(Context->mailbox); +- return -1; +- } +- +- /* Put them into the completion machinery. */ +- for (int num = 0; num < tag_count_1; num++) +- { +- candidate(UserTyped, nm_tags[num], Completed, sizeof(Completed)); +- } +- +- matches_ensure_morespace(NumMatched); +- Matches[NumMatched++] = UserTyped; +- +-done: +- nm_db_longrun_done(Context->mailbox); +- return 0; +-} +-#endif +- +-/** +- * execute_commands - Execute a set of NeoMutt commands +- * @param p List of command strings +- * @retval 0 Success, all the commands succeeded +- * @retval -1 Error +- */ +-static int execute_commands(struct ListHead *p) +-{ +- int rc = 0; +- struct Buffer *err = mutt_buffer_pool_get(); +- struct Buffer *token = mutt_buffer_pool_get(); +- +- struct ListNode *np = NULL; +- STAILQ_FOREACH(np, p, entries) +- { +- enum CommandResult rc2 = mutt_parse_rc_line(np->data, token, err); +- if (rc2 == MUTT_CMD_ERROR) +- mutt_error(_("Error in command line: %s"), mutt_b2s(err)); +- else if (rc2 == MUTT_CMD_WARNING) +- mutt_warning(_("Warning in command line: %s"), mutt_b2s(err)); +- +- if ((rc2 == MUTT_CMD_ERROR) || (rc2 == MUTT_CMD_WARNING)) +- { +- mutt_buffer_pool_release(&token); +- mutt_buffer_pool_release(&err); +- return -1; +- } +- } +- mutt_buffer_pool_release(&token); +- mutt_buffer_pool_release(&err); +- +- return rc; +-} +- +-/** +- * find_cfg - Find a config file +- * @param home User's home directory +- * @param xdg_cfg_home XDG home directory +- * @retval ptr Success, first matching directory +- * @retval NULL Error, no matching directories +- */ +-static char *find_cfg(const char *home, const char *xdg_cfg_home) +-{ +- const char *names[] = { +- "neomuttrc", +- "muttrc", +- NULL, +- }; +- +- const char *locations[][2] = { +- { xdg_cfg_home, "neomutt/" }, +- { xdg_cfg_home, "mutt/" }, +- { home, ".neomutt/" }, +- { home, ".mutt/" }, +- { home, "." }, +- { NULL, NULL }, +- }; +- +- for (int i = 0; locations[i][0] || locations[i][1]; i++) +- { +- if (!locations[i][0]) +- continue; +- +- for (int j = 0; names[j]; j++) +- { +- char buf[256]; +- +- snprintf(buf, sizeof(buf), "%s/%s%s", locations[i][0], locations[i][1], names[j]); +- if (access(buf, F_OK) == 0) +- return mutt_str_strdup(buf); +- } +- } +- +- return NULL; +-} +- +-#ifndef DOMAIN +-/** +- * getmailname - Try to retrieve the FQDN from mailname files +- * @retval ptr Heap allocated string with the FQDN +- * @retval NULL if no valid mailname file could be read +- */ +-static char *getmailname(void) +-{ +- char *mailname = NULL; +- static const char *mn_files[] = { "/etc/mailname", "/etc/mail/mailname" }; +- +- for (size_t i = 0; i < mutt_array_size(mn_files); i++) +- { +- FILE *fp = mutt_file_fopen(mn_files[i], "r"); +- if (!fp) +- continue; +- +- size_t len = 0; +- mailname = mutt_file_read_line(NULL, &len, fp, NULL, 0); +- mutt_file_fclose(&fp); +- if (mailname && *mailname) +- break; +- +- FREE(&mailname); +- } +- +- return mailname; +-} +-#endif +- +-/** +- * get_hostname - Find the Fully-Qualified Domain Name +- * @retval true Success +- * @retval false Error, failed to find any name +- * +- * Use several methods to try to find the Fully-Qualified domain name of this host. +- * If the user has already configured a hostname, this function will use it. +- */ +-static bool get_hostname(void) +-{ +- char *str = NULL; +- struct utsname utsname; +- +- if (C_Hostname) +- { +- str = C_Hostname; +- } +- else +- { +- /* The call to uname() shouldn't fail, but if it does, the system is horribly +- * broken, and the system's networking configuration is in an unreliable +- * state. We should bail. */ +- if ((uname(&utsname)) == -1) +- { +- mutt_perror(_("unable to determine nodename via uname()")); +- return false; // TEST09: can't test +- } +- +- str = utsname.nodename; +- } +- +- /* some systems report the FQDN instead of just the hostname */ +- char *dot = strchr(str, '.'); +- if (dot) +- ShortHostname = mutt_str_substr_dup(str, dot); +- else +- ShortHostname = mutt_str_strdup(str); +- +- if (!C_Hostname) +- { +- /* now get FQDN. Use configured domain first, DNS next, then uname */ +-#ifdef DOMAIN +- /* we have a compile-time domain name, use that for C_Hostname */ +- C_Hostname = +- mutt_mem_malloc(mutt_str_strlen(DOMAIN) + mutt_str_strlen(ShortHostname) + 2); +- sprintf((char *) C_Hostname, "%s.%s", NONULL(ShortHostname), DOMAIN); +-#else +- C_Hostname = getmailname(); +- if (!C_Hostname) +- { +- char buffer[1024]; +- if (getdnsdomainname(buffer, sizeof(buffer)) == 0) +- { +- C_Hostname = mutt_mem_malloc(mutt_str_strlen(buffer) + +- mutt_str_strlen(ShortHostname) + 2); +- sprintf((char *) C_Hostname, "%s.%s", NONULL(ShortHostname), buffer); +- } +- else +- { +- /* DNS failed, use the nodename. Whether or not the nodename had a '.' +- * in it, we can use the nodename as the FQDN. On hosts where DNS is +- * not being used, e.g. small network that relies on hosts files, a +- * short host name is all that is required for SMTP to work correctly. +- * It could be wrong, but we've done the best we can, at this point the +- * onus is on the user to provide the correct hostname if the nodename +- * won't work in their network. */ +- C_Hostname = mutt_str_strdup(utsname.nodename); +- } +- } +-#endif +- } +- if (C_Hostname) +- cs_str_initial_set(Config, "hostname", C_Hostname, NULL); +- +- return true; +-} +- +-/** +- * mutt_attachmatch_new - Create a new AttachMatch +- * @retval ptr New AttachMatch +- */ +-static struct AttachMatch *mutt_attachmatch_new(void) +-{ +- return mutt_mem_calloc(1, sizeof(struct AttachMatch)); +-} +- +-/** +- * parse_attach_list - Parse the "attachments" command +- * @param buf Buffer for temporary storage +- * @param s Buffer containing the attachments command +- * @param head List of AttachMatch to add to +- * @param err Buffer for error messages +- * @retval #CommandResult Result e.g. #MUTT_CMD_SUCCESS +- */ +-static enum CommandResult parse_attach_list(struct Buffer *buf, struct Buffer *s, +- struct ListHead *head, struct Buffer *err) +-{ +- struct AttachMatch *a = NULL; +- char *p = NULL; +- char *tmpminor = NULL; +- size_t len; +- int ret; +- +- do +- { +- mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); +- +- if (!buf->data || (*buf->data == '\0')) +- continue; +- +- a = mutt_attachmatch_new(); +- +- /* some cheap hacks that I expect to remove */ +- if (mutt_str_strcasecmp(buf->data, "any") == 0) +- a->major = mutt_str_strdup("*/.*"); +- else if (mutt_str_strcasecmp(buf->data, "none") == 0) +- a->major = mutt_str_strdup("cheap_hack/this_should_never_match"); +- else +- a->major = mutt_str_strdup(buf->data); +- +- p = strchr(a->major, '/'); +- if (p) +- { +- *p = '\0'; +- p++; +- a->minor = p; +- } +- else +- { +- a->minor = "unknown"; +- } +- +- len = strlen(a->minor); +- tmpminor = mutt_mem_malloc(len + 3); +- strcpy(&tmpminor[1], a->minor); +- tmpminor[0] = '^'; +- tmpminor[len + 1] = '$'; +- tmpminor[len + 2] = '\0'; +- +- a->major_int = mutt_check_mime_type(a->major); +- ret = REG_COMP(&a->minor_regex, tmpminor, REG_ICASE); +- +- FREE(&tmpminor); +- +- if (ret != 0) +- { +- regerror(ret, &a->minor_regex, err->data, err->dsize); +- FREE(&a->major); +- FREE(&a); +- return MUTT_CMD_ERROR; +- } +- +- mutt_debug(LL_DEBUG3, "added %s/%s [%d]\n", a->major, a->minor, a->major_int); +- +- mutt_list_insert_tail(head, (char *) a); +- } while (MoreArgs(s)); +- +- attachments_clean(); +- return MUTT_CMD_SUCCESS; +-} +- +-/** +- * parse_grouplist - Parse a group context +- * @param gl GroupList to add to +- * @param buf Temporary Buffer space +- * @param s Buffer containing string to be parsed +- * @param data Flags associated with the command +- * @param err Buffer for error messages +- * @retval 0 Success +- * @retval -1 Error +- */ +-static int parse_grouplist(struct GroupList *gl, struct Buffer *buf, +- struct Buffer *s, unsigned long data, struct Buffer *err) +-{ +- while (mutt_str_strcasecmp(buf->data, "-group") == 0) +- { +- if (!MoreArgs(s)) +- { +- mutt_buffer_strcpy(err, _("-group: no group name")); +- return -1; +- } +- +- mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); +- +- mutt_grouplist_add(gl, mutt_pattern_group(buf->data)); +- +- if (!MoreArgs(s)) +- { +- mutt_buffer_strcpy(err, _("out of arguments")); +- return -1; +- } +- +- mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); +- } +- +- return 0; +-} +- +-/** +- * parse_replace_list - Parse a string replacement rule - Implements ::command_t +- */ +-static enum CommandResult parse_replace_list(struct Buffer *buf, struct Buffer *s, +- unsigned long data, struct Buffer *err) +-{ +- struct ReplaceList *list = (struct ReplaceList *) data; +- struct Buffer templ = mutt_buffer_make(0); +- +- /* First token is a regex. */ +- if (!MoreArgs(s)) +- { +- mutt_buffer_printf(err, _("%s: too few arguments"), "subjectrx"); +- return MUTT_CMD_WARNING; +- } +- mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); +- +- /* Second token is a replacement template */ +- if (!MoreArgs(s)) +- { +- mutt_buffer_printf(err, _("%s: too few arguments"), "subjectrx"); +- return MUTT_CMD_WARNING; +- } +- mutt_extract_token(&templ, s, MUTT_TOKEN_NO_FLAGS); +- +- if (mutt_replacelist_add(list, buf->data, templ.data, err) != 0) +- { +- FREE(&templ.data); +- return MUTT_CMD_ERROR; +- } +- FREE(&templ.data); +- +- return MUTT_CMD_SUCCESS; +-} +- +-/** +- * parse_unattach_list - Parse the "unattachments" command +- * @param buf Buffer for temporary storage +- * @param s Buffer containing the unattachments command +- * @param head List of AttachMatch to remove from +- * @param err Buffer for error messages +- * @retval #MUTT_CMD_SUCCESS Always +- */ +-static enum CommandResult parse_unattach_list(struct Buffer *buf, struct Buffer *s, +- struct ListHead *head, struct Buffer *err) +-{ +- struct AttachMatch *a = NULL; +- char *tmp = NULL; +- char *minor = NULL; +- +- do +- { +- mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); +- FREE(&tmp); +- +- if (mutt_str_strcasecmp(buf->data, "any") == 0) +- tmp = mutt_str_strdup("*/.*"); +- else if (mutt_str_strcasecmp(buf->data, "none") == 0) +- tmp = mutt_str_strdup("cheap_hack/this_should_never_match"); +- else +- tmp = mutt_str_strdup(buf->data); +- +- minor = strchr(tmp, '/'); +- if (minor) +- { +- *minor = '\0'; +- minor++; +- } +- else +- { +- minor = "unknown"; +- } +- const enum ContentType major = mutt_check_mime_type(tmp); +- +- struct ListNode *np = NULL, *tmp2 = NULL; +- STAILQ_FOREACH_SAFE(np, head, entries, tmp2) +- { +- a = (struct AttachMatch *) np->data; +- mutt_debug(LL_DEBUG3, "check %s/%s [%d] : %s/%s [%d]\n", a->major, +- a->minor, a->major_int, tmp, minor, major); +- if ((a->major_int == major) && (mutt_str_strcasecmp(minor, a->minor) == 0)) +- { +- mutt_debug(LL_DEBUG3, "removed %s/%s [%d]\n", a->major, a->minor, a->major_int); +- regfree(&a->minor_regex); +- FREE(&a->major); +- STAILQ_REMOVE(head, np, ListNode, entries); +- FREE(&np->data); +- FREE(&np); +- } +- } +- +- } while (MoreArgs(s)); +- +- FREE(&tmp); +- attachments_clean(); +- return MUTT_CMD_SUCCESS; +-} +- +-/** +- * parse_unreplace_list - Remove a string replacement rule - Implements ::command_t +- */ +-static enum CommandResult parse_unreplace_list(struct Buffer *buf, struct Buffer *s, +- unsigned long data, struct Buffer *err) +-{ +- struct ReplaceList *list = (struct ReplaceList *) data; +- +- /* First token is a regex. */ +- if (!MoreArgs(s)) +- { +- mutt_buffer_printf(err, _("%s: too few arguments"), "unsubjectrx"); +- return MUTT_CMD_WARNING; +- } +- +- mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); +- +- /* "*" is a special case. */ +- if (mutt_str_strcmp(buf->data, "*") == 0) +- { +- mutt_replacelist_free(list); +- return MUTT_CMD_SUCCESS; +- } +- +- mutt_replacelist_remove(list, buf->data); +- return MUTT_CMD_SUCCESS; +-} +- +-/** +- * print_attach_list - Print a list of attachments +- * @param h List of attachments +- * @param op Operation, e.g. '+', '-' +- * @param name Attached/Inline, 'A', 'I' +- * @retval 0 Always +- */ +-static int print_attach_list(struct ListHead *h, const char op, const char *name) +-{ +- struct ListNode *np = NULL; +- STAILQ_FOREACH(np, h, entries) +- { +- printf("attachments %c%s %s/%s\n", op, name, +- ((struct AttachMatch *) np->data)->major, +- ((struct AttachMatch *) np->data)->minor); +- } +- +- return 0; +-} +- +-/** +- * remove_from_stailq - Remove an item, matching a string, from a List +- * @param head Head of the List +- * @param str String to match +- * +- * @note The string comparison is case-insensitive +- */ +-static void remove_from_stailq(struct ListHead *head, const char *str) +-{ +- if (mutt_str_strcmp("*", str) == 0) +- mutt_list_free(head); /* "unCMD *" means delete all current entries */ +- else +- { +- struct ListNode *np = NULL, *tmp = NULL; +- STAILQ_FOREACH_SAFE(np, head, entries, tmp) +- { +- if (mutt_str_strcasecmp(str, np->data) == 0) +- { +- STAILQ_REMOVE(head, np, ListNode, entries); +- FREE(&np->data); +- FREE(&np); +- break; +- } +- } +- } +-} +- +-/** +- * source_rc - Read an initialization file +- * @param rcfile_path Path to initialization file +- * @param err Buffer for error messages +- * @retval <0 if neomutt should pause to let the user know +- */ +-static int source_rc(const char *rcfile_path, struct Buffer *err) +-{ +- int line = 0, rc = 0, warnings = 0; +- enum CommandResult line_rc; +- struct Buffer token; +- char *linebuf = NULL; +- char *currentline = NULL; +- char rcfile[PATH_MAX]; +- size_t buflen; +- +- pid_t pid; +- +- mutt_str_strfcpy(rcfile, rcfile_path, sizeof(rcfile)); +- +- size_t rcfilelen = mutt_str_strlen(rcfile); +- if (rcfilelen == 0) +- return -1; +- +- bool ispipe = rcfile[rcfilelen - 1] == '|'; +- +- if (!ispipe) +- { +- struct ListNode *np = STAILQ_FIRST(&MuttrcStack); +- if (!mutt_path_to_absolute(rcfile, np ? NONULL(np->data) : "")) +- { +- mutt_error(_("Error: Can't build path of '%s'"), rcfile_path); +- return -1; +- } +- +- STAILQ_FOREACH(np, &MuttrcStack, entries) +- { +- if (mutt_str_strcmp(np->data, rcfile) == 0) +- { +- break; +- } +- } +- if (np) +- { +- mutt_error(_("Error: Cyclic sourcing of configuration file '%s'"), rcfile); +- return -1; +- } +- +- mutt_list_insert_head(&MuttrcStack, mutt_str_strdup(rcfile)); +- } +- +- mutt_debug(LL_DEBUG2, "Reading configuration file '%s'\n", rcfile); +- +- FILE *fp = mutt_open_read(rcfile, &pid); +- if (!fp) +- { +- mutt_buffer_printf(err, "%s: %s", rcfile, strerror(errno)); +- return -1; +- } +- +- mutt_buffer_init(&token); +- while ((linebuf = mutt_file_read_line(linebuf, &buflen, fp, &line, MUTT_CONT))) +- { +- const bool conv = C_ConfigCharset && C_Charset; +- if (conv) +- { +- currentline = mutt_str_strdup(linebuf); +- if (!currentline) +- continue; +- mutt_ch_convert_string(¤tline, C_ConfigCharset, C_Charset, 0); +- } +- else +- currentline = linebuf; +- mutt_buffer_reset(err); +- line_rc = mutt_parse_rc_line(currentline, &token, err); +- if (line_rc == MUTT_CMD_ERROR) +- { +- mutt_error(_("Error in %s, line %d: %s"), rcfile, line, err->data); +- if (--rc < -MAX_ERRS) +- { +- if (conv) +- FREE(¤tline); +- break; +- } +- } +- else if (line_rc == MUTT_CMD_WARNING) +- { +- /* Warning */ +- mutt_warning(_("Warning in %s, line %d: %s"), rcfile, line, err->data); +- warnings++; +- } +- else if (line_rc == MUTT_CMD_FINISH) +- { +- break; /* Found "finish" command */ +- } +- else +- { +- if (rc < 0) +- rc = -1; +- } +- if (conv) +- FREE(¤tline); +- } +- FREE(&token.data); +- FREE(&linebuf); +- mutt_file_fclose(&fp); +- if (pid != -1) +- mutt_wait_filter(pid); +- if (rc) +- { +- /* the neomuttrc source keyword */ +- mutt_buffer_reset(err); +- mutt_buffer_printf(err, (rc >= -MAX_ERRS) ? _("source: errors in %s") : _("source: reading aborted due to too many errors in %s"), +- rcfile); +- rc = -1; +- } +- else +- { +- /* Don't alias errors with warnings */ +- if (warnings > 0) +- { +- mutt_buffer_printf(err, ngettext("source: %d warning in %s", "source: %d warnings in %s", warnings), +- warnings, rcfile); +- rc = -2; +- } +- } +- +- if (!ispipe && !STAILQ_EMPTY(&MuttrcStack)) +- { +- struct ListNode *np = STAILQ_FIRST(&MuttrcStack); +- STAILQ_REMOVE_HEAD(&MuttrcStack, entries); +- FREE(&np->data); +- FREE(&np); +- } +- +- return rc; +-} +- +-/** +- * parse_alias - Parse the 'alias' command - Implements ::command_t +- */ +-static enum CommandResult parse_alias(struct Buffer *buf, struct Buffer *s, +- unsigned long data, struct Buffer *err) +-{ +- struct Alias *tmp = NULL; +- char *estr = NULL; +- struct GroupList gl = STAILQ_HEAD_INITIALIZER(gl); +- +- if (!MoreArgs(s)) +- { +- mutt_buffer_strcpy(err, _("alias: no address")); +- return MUTT_CMD_WARNING; +- } +- +- mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); +- +- if (parse_grouplist(&gl, buf, s, data, err) == -1) +- return MUTT_CMD_ERROR; +- +- /* check to see if an alias with this name already exists */ +- TAILQ_FOREACH(tmp, &Aliases, entries) +- { +- if (mutt_str_strcasecmp(tmp->name, buf->data) == 0) +- break; +- } +- +- if (tmp) +- { +- mutt_alias_delete_reverse(tmp); +- /* override the previous value */ +- mutt_addrlist_clear(&tmp->addr); +- if (CurrentMenu == MENU_ALIAS) +- mutt_menu_set_current_redraw_full(); +- } +- else +- { +- /* create a new alias */ +- tmp = mutt_alias_new(); +- tmp->name = mutt_str_strdup(buf->data); +- TAILQ_INSERT_TAIL(&Aliases, tmp, entries); +- /* give the main addressbook code a chance */ +- if (CurrentMenu == MENU_ALIAS) +- OptMenuCaller = true; +- } +- +- mutt_extract_token(buf, s, MUTT_TOKEN_QUOTE | MUTT_TOKEN_SPACE | MUTT_TOKEN_SEMICOLON); +- mutt_debug(LL_DEBUG5, "Second token is '%s'\n", buf->data); +- +- mutt_addrlist_parse2(&tmp->addr, buf->data); +- +- if (mutt_addrlist_to_intl(&tmp->addr, &estr)) +- { +- mutt_buffer_printf(err, _("Warning: Bad IDN '%s' in alias '%s'"), estr, tmp->name); +- FREE(&estr); +- goto bail; +- } +- +- mutt_grouplist_add_addrlist(&gl, &tmp->addr); +- mutt_alias_add_reverse(tmp); +- +- if (C_DebugLevel > LL_DEBUG4) +- { +- /* A group is terminated with an empty address, so check a->mailbox */ +- struct Address *a = NULL; +- TAILQ_FOREACH(a, &tmp->addr, entries) +- { +- if (!a->mailbox) +- break; +- +- if (a->group) +- mutt_debug(LL_DEBUG5, " Group %s\n", a->mailbox); +- else +- mutt_debug(LL_DEBUG5, " %s\n", a->mailbox); +- } +- } +- mutt_grouplist_destroy(&gl); +- return MUTT_CMD_SUCCESS; +- +-bail: +- mutt_grouplist_destroy(&gl); +- return MUTT_CMD_ERROR; +-} +- +-/** +- * parse_alternates - Parse the 'alternates' command - Implements ::command_t +- */ +-static enum CommandResult parse_alternates(struct Buffer *buf, struct Buffer *s, +- unsigned long data, struct Buffer *err) +-{ +- struct GroupList gl = STAILQ_HEAD_INITIALIZER(gl); +- +- alternates_clean(); +- +- do +- { +- mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); +- +- if (parse_grouplist(&gl, buf, s, data, err) == -1) +- goto bail; +- +- mutt_regexlist_remove(&UnAlternates, buf->data); +- +- if (mutt_regexlist_add(&Alternates, buf->data, REG_ICASE, err) != 0) +- goto bail; +- +- if (mutt_grouplist_add_regex(&gl, buf->data, REG_ICASE, err) != 0) +- goto bail; +- } while (MoreArgs(s)); +- +- mutt_grouplist_destroy(&gl); +- return MUTT_CMD_SUCCESS; +- +-bail: +- mutt_grouplist_destroy(&gl); +- return MUTT_CMD_ERROR; +-} +- +-/** +- * parse_attachments - Parse the 'attachments' command - Implements ::command_t +- */ +-static enum CommandResult parse_attachments(struct Buffer *buf, struct Buffer *s, +- unsigned long data, struct Buffer *err) +-{ +- char op; +- char *category = NULL; +- struct ListHead *head = NULL; +- +- mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); +- if (!buf->data || (*buf->data == '\0')) +- { +- mutt_buffer_strcpy(err, _("attachments: no disposition")); +- return MUTT_CMD_WARNING; +- } +- +- category = buf->data; +- op = *category++; +- +- if (op == '?') +- { +- mutt_endwin(); +- fflush(stdout); +- printf("\n%s\n\n", _("Current attachments settings:")); +- print_attach_list(&AttachAllow, '+', "A"); +- print_attach_list(&AttachExclude, '-', "A"); +- print_attach_list(&InlineAllow, '+', "I"); +- print_attach_list(&InlineExclude, '-', "I"); +- mutt_any_key_to_continue(NULL); +- return MUTT_CMD_SUCCESS; +- } +- +- if ((op != '+') && (op != '-')) +- { +- op = '+'; +- category--; +- } +- if (mutt_str_startswith("attachment", category, CASE_IGNORE)) +- { +- if (op == '+') +- head = &AttachAllow; +- else +- head = &AttachExclude; +- } +- else if (mutt_str_startswith("inline", category, CASE_IGNORE)) +- { +- if (op == '+') +- head = &InlineAllow; +- else +- head = &InlineExclude; +- } +- else +- { +- mutt_buffer_strcpy(err, _("attachments: invalid disposition")); +- return MUTT_CMD_ERROR; +- } +- +- return parse_attach_list(buf, s, head, err); +-} +- +-/** +- * parse_echo - Parse the 'echo' command - Implements ::command_t +- */ +-static enum CommandResult parse_echo(struct Buffer *buf, struct Buffer *s, +- unsigned long data, struct Buffer *err) +-{ +- if (!MoreArgs(s)) +- { +- mutt_buffer_printf(err, _("%s: too few arguments"), "echo"); +- return MUTT_CMD_WARNING; +- } +- mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); +- OptForceRefresh = true; +- mutt_message("%s", buf->data); +- OptForceRefresh = false; +- mutt_sleep(0); +- +- return MUTT_CMD_SUCCESS; +-} +- +-/** +- * parse_finish - Parse the 'finish' command - Implements ::command_t +- * @retval #MUTT_CMD_FINISH Stop processing the current file +- * @retval #MUTT_CMD_WARNING Failed +- * +- * If the 'finish' command is found, we should stop reading the current file. +- */ +-static enum CommandResult parse_finish(struct Buffer *buf, struct Buffer *s, +- unsigned long data, struct Buffer *err) +-{ +- if (MoreArgs(s)) +- { +- mutt_buffer_printf(err, _("%s: too many arguments"), "finish"); +- return MUTT_CMD_WARNING; +- } +- +- return MUTT_CMD_FINISH; +-} +- +-/** +- * parse_group - Parse the 'group' and 'ungroup' commands - Implements ::command_t +- */ +-static enum CommandResult parse_group(struct Buffer *buf, struct Buffer *s, +- unsigned long data, struct Buffer *err) +-{ +- struct GroupList gl = STAILQ_HEAD_INITIALIZER(gl); +- enum GroupState state = GS_NONE; +- +- do +- { +- mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); +- if (parse_grouplist(&gl, buf, s, data, err) == -1) +- goto bail; +- +- if ((data == MUTT_UNGROUP) && (mutt_str_strcasecmp(buf->data, "*") == 0)) +- { +- mutt_grouplist_clear(&gl); +- goto out; +- } +- +- if (mutt_str_strcasecmp(buf->data, "-rx") == 0) +- state = GS_RX; +- else if (mutt_str_strcasecmp(buf->data, "-addr") == 0) +- state = GS_ADDR; +- else +- { +- switch (state) +- { +- case GS_NONE: +- mutt_buffer_printf(err, _("%sgroup: missing -rx or -addr"), +- (data == MUTT_UNGROUP) ? "un" : ""); +- goto warn; +- +- case GS_RX: +- if ((data == MUTT_GROUP) && +- (mutt_grouplist_add_regex(&gl, buf->data, REG_ICASE, err) != 0)) +- { +- goto bail; +- } +- else if ((data == MUTT_UNGROUP) && +- (mutt_grouplist_remove_regex(&gl, buf->data) < 0)) +- { +- goto bail; +- } +- break; +- +- case GS_ADDR: +- { +- char *estr = NULL; +- struct AddressList al = TAILQ_HEAD_INITIALIZER(al); +- mutt_addrlist_parse2(&al, buf->data); +- if (TAILQ_EMPTY(&al)) +- goto bail; +- if (mutt_addrlist_to_intl(&al, &estr)) +- { +- mutt_buffer_printf(err, _("%sgroup: warning: bad IDN '%s'"), +- (data == 1) ? "un" : "", estr); +- mutt_addrlist_clear(&al); +- FREE(&estr); +- goto bail; +- } +- if (data == MUTT_GROUP) +- mutt_grouplist_add_addrlist(&gl, &al); +- else if (data == MUTT_UNGROUP) +- mutt_grouplist_remove_addrlist(&gl, &al); +- mutt_addrlist_clear(&al); +- break; +- } +- } +- } +- } while (MoreArgs(s)); +- +-out: +- mutt_grouplist_destroy(&gl); +- return MUTT_CMD_SUCCESS; +- +-bail: +- mutt_grouplist_destroy(&gl); +- return MUTT_CMD_ERROR; +- +-warn: +- mutt_grouplist_destroy(&gl); +- return MUTT_CMD_WARNING; +-} +- +-/** +- * is_function - Is the argument a neomutt function? +- * @param name Command name to be searched for +- * @retval true Function found +- * @retval false Function not found +- */ +-static bool is_function(const char *name) +-{ +- for (enum MenuType i = 0; i < MENU_MAX; i++) +- { +- const struct Binding *b = km_get_table(Menus[i].value); +- if (!b) +- continue; +- +- for (int j = 0; b[j].name; j++) +- if (mutt_str_strcmp(name, b[j].name) == 0) +- return true; +- } +- return false; +-} +- +-/** +- * parse_ifdef - Parse the 'ifdef' and 'ifndef' commands - Implements ::command_t +- * +- * The 'ifdef' command allows conditional elements in the config file. +- * If a given variable, function, command or compile-time symbol exists, then +- * read the rest of the line of config commands. +- * e.g. +- * ifdef sidebar source ~/.neomutt/sidebar.rc +- * +- * If (data == 1) then it means use the 'ifndef' (if-not-defined) command. +- * e.g. +- * ifndef imap finish +- */ +-static enum CommandResult parse_ifdef(struct Buffer *buf, struct Buffer *s, +- unsigned long data, struct Buffer *err) +-{ +- struct Buffer token = mutt_buffer_make(0); +- +- mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); +- +- // is the item defined as: +- bool res = cs_get_elem(Config, buf->data) // a variable? +- || feature_enabled(buf->data) // a compiled-in feature? +- || is_function(buf->data) // a function? +- || mutt_command_get(buf->data) // a command? +- || myvar_get(buf->data) // a my_ variable? +- || mutt_str_getenv(buf->data); // an environment variable? +- +- if (!MoreArgs(s)) +- { +- mutt_buffer_printf(err, _("%s: too few arguments"), (data ? "ifndef" : "ifdef")); +- return MUTT_CMD_WARNING; +- } +- mutt_extract_token(buf, s, MUTT_TOKEN_SPACE); +- +- /* ifdef KNOWN_SYMBOL or ifndef UNKNOWN_SYMBOL */ +- if ((res && (data == 0)) || (!res && (data == 1))) +- { +- enum CommandResult rc = mutt_parse_rc_line(buf->data, &token, err); +- if (rc == MUTT_CMD_ERROR) +- { +- mutt_error(_("Error: %s"), err->data); +- FREE(&token.data); +- return MUTT_CMD_ERROR; +- } +- FREE(&token.data); +- return rc; +- } +- return MUTT_CMD_SUCCESS; +-} +- +-/** +- * parse_ignore - Parse the 'ignore' command - Implements ::command_t +- */ +-static enum CommandResult parse_ignore(struct Buffer *buf, struct Buffer *s, +- unsigned long data, struct Buffer *err) +-{ +- do +- { +- mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); +- remove_from_stailq(&UnIgnore, buf->data); +- add_to_stailq(&Ignore, buf->data); +- } while (MoreArgs(s)); +- +- return MUTT_CMD_SUCCESS; +-} +- +-/** +- * parse_lists - Parse the 'lists' command - Implements ::command_t +- */ +-static enum CommandResult parse_lists(struct Buffer *buf, struct Buffer *s, +- unsigned long data, struct Buffer *err) +-{ +- struct GroupList gl = STAILQ_HEAD_INITIALIZER(gl); +- +- do +- { +- mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); +- +- if (parse_grouplist(&gl, buf, s, data, err) == -1) +- goto bail; +- +- mutt_regexlist_remove(&UnMailLists, buf->data); +- +- if (mutt_regexlist_add(&MailLists, buf->data, REG_ICASE, err) != 0) +- goto bail; +- +- if (mutt_grouplist_add_regex(&gl, buf->data, REG_ICASE, err) != 0) +- goto bail; +- } while (MoreArgs(s)); +- +- mutt_grouplist_destroy(&gl); +- return MUTT_CMD_SUCCESS; +- +-bail: +- mutt_grouplist_destroy(&gl); +- return MUTT_CMD_ERROR; +-} +- +-/** +- * parse_mailboxes - Parse the 'mailboxes' command - Implements ::command_t +- * +- * This is also used by 'virtual-mailboxes'. +- */ +-static enum CommandResult parse_mailboxes(struct Buffer *buf, struct Buffer *s, +- unsigned long data, struct Buffer *err) +-{ +- while (MoreArgs(s)) +- { +- struct Mailbox *m = mailbox_new(); +- +- if (data & MUTT_NAMED) +- { +- mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); +- if (buf->data && (*buf->data != '\0')) +- { +- m->name = mutt_str_strdup(buf->data); +- } +- else +- { +- mailbox_free(&m); +- continue; +- } +- } +- +- mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); +- if (mutt_buffer_is_empty(buf)) +- { +- /* Skip empty tokens. */ +- mailbox_free(&m); +- continue; +- } +- +- mutt_buffer_strcpy(&m->pathbuf, buf->data); +- /* int rc = */ mx_path_canon2(m, C_Folder); +- +- if (m->magic <= MUTT_UNKNOWN) +- { +- mutt_error("Unknown Mailbox: %s", m->realpath); +- mailbox_free(&m); +- return MUTT_CMD_ERROR; +- } +- +- bool new_account = false; +- struct Account *a = mx_ac_find(m); +- if (!a) +- { +- a = account_new(NULL, NeoMutt->sub); +- a->magic = m->magic; +- new_account = true; +- } +- +- if (!new_account) +- { +- struct Mailbox *m_old = mx_mbox_find(a, m->realpath); +- if (m_old) +- { +- if (m_old->flags == MB_HIDDEN) +- { +- m_old->flags = MB_NORMAL; +- mutt_sb_notify_mailbox(m_old, true); +- } +- mailbox_free(&m); +- continue; +- } +- } +- +- if (mx_ac_add(a, m) < 0) +- { +- //error +- mailbox_free(&m); +- if (new_account) +- { +- cs_subset_free(&a->sub); +- FREE(&a->name); +- notify_free(&a->notify); +- FREE(&a); +- } +- continue; +- } +- if (new_account) +- { +- neomutt_account_add(NeoMutt, a); +- } +- +-#ifdef USE_SIDEBAR +- mutt_sb_notify_mailbox(m, true); +-#endif +-#ifdef USE_INOTIFY +- mutt_monitor_add(m); +-#endif +- } +- return MUTT_CMD_SUCCESS; +-} +- +-/** +- * parse_my_hdr - Parse the 'my_hdr' command - Implements ::command_t +- */ +-static enum CommandResult parse_my_hdr(struct Buffer *buf, struct Buffer *s, +- unsigned long data, struct Buffer *err) +-{ +- struct ListNode *n = NULL; +- size_t keylen; +- +- mutt_extract_token(buf, s, MUTT_TOKEN_SPACE | MUTT_TOKEN_QUOTE); +- char *p = strpbrk(buf->data, ": \t"); +- if (!p || (*p != ':')) +- { +- mutt_buffer_strcpy(err, _("invalid header field")); +- return MUTT_CMD_WARNING; +- } +- keylen = p - buf->data + 1; +- +- STAILQ_FOREACH(n, &UserHeader, entries) +- { +- /* see if there is already a field by this name */ +- if (mutt_str_strncasecmp(buf->data, n->data, keylen) == 0) +- { +- break; +- } +- } +- +- if (!n) +- { +- /* not found, allocate memory for a new node and add it to the list */ +- n = mutt_list_insert_tail(&UserHeader, NULL); +- } +- else +- { +- /* found, free the existing data */ +- FREE(&n->data); +- } +- +- n->data = buf->data; +- mutt_buffer_init(buf); +- +- return MUTT_CMD_SUCCESS; +-} +- +-#ifdef USE_SIDEBAR +-/** +- * parse_path_list - Parse the 'sidebar_whitelist' command - Implements ::command_t +- */ +-static enum CommandResult parse_path_list(struct Buffer *buf, struct Buffer *s, +- unsigned long data, struct Buffer *err) +-{ +- struct Buffer *path = mutt_buffer_pool_get(); +- +- do +- { +- mutt_extract_token(path, s, MUTT_TOKEN_NO_FLAGS); +- mutt_buffer_expand_path(path); +- add_to_stailq((struct ListHead *) data, mutt_b2s(path)); +- } while (MoreArgs(s)); +- mutt_buffer_pool_release(&path); +- +- return MUTT_CMD_SUCCESS; +-} +-#endif +- +-#ifdef USE_SIDEBAR +-/** +- * parse_path_unlist - Parse the 'unsidebar_whitelist' command - Implements ::command_t +- */ +-static enum CommandResult parse_path_unlist(struct Buffer *buf, struct Buffer *s, +- unsigned long data, struct Buffer *err) +-{ +- struct Buffer *path = mutt_buffer_pool_get(); +- +- do +- { +- mutt_extract_token(path, s, MUTT_TOKEN_NO_FLAGS); +- /* Check for deletion of entire list */ +- if (mutt_str_strcmp(mutt_b2s(path), "*") == 0) +- { +- mutt_list_free((struct ListHead *) data); +- break; +- } +- mutt_buffer_expand_path(path); +- remove_from_stailq((struct ListHead *) data, mutt_b2s(path)); +- } while (MoreArgs(s)); +- mutt_buffer_pool_release(&path); +- +- return MUTT_CMD_SUCCESS; +-} +-#endif +- +-/** +- * parse_set - Parse the 'set' family of commands - Implements ::command_t +- * +- * This is used by 'reset', 'set', 'toggle' and 'unset'. +- */ +-static enum CommandResult parse_set(struct Buffer *buf, struct Buffer *s, +- unsigned long data, struct Buffer *err) +-{ +- /* The order must match `enum MuttSetCommand` */ +- static const char *set_commands[] = { "set", "toggle", "unset", "reset" }; +- +- int rc = 0; +- +- while (MoreArgs(s)) +- { +- bool prefix = false; +- bool query = false; +- bool inv = (data == MUTT_SET_INV); +- bool reset = (data == MUTT_SET_RESET); +- bool unset = (data == MUTT_SET_UNSET); +- +- if (*s->dptr == '?') +- { +- prefix = true; +- query = true; +- s->dptr++; +- } +- else if (mutt_str_startswith(s->dptr, "no", CASE_MATCH)) +- { +- prefix = true; +- unset = !unset; +- s->dptr += 2; +- } +- else if (mutt_str_startswith(s->dptr, "inv", CASE_MATCH)) +- { +- prefix = true; +- inv = !inv; +- s->dptr += 3; +- } +- else if (*s->dptr == '&') +- { +- prefix = true; +- reset = true; +- s->dptr++; +- } +- +- if (prefix && (data != MUTT_SET_SET)) +- { +- mutt_buffer_printf(err, "ERR22 can't use 'inv', 'no', '&' or '?' with the '%s' command", +- set_commands[data]); +- return MUTT_CMD_WARNING; +- } +- +- /* get the variable name */ +- mutt_extract_token(buf, s, MUTT_TOKEN_EQUAL | MUTT_TOKEN_QUESTION); +- +- bool bq = false; +- bool equals = false; +- +- struct HashElem *he = NULL; +- bool my = mutt_str_startswith(buf->data, "my_", CASE_MATCH); +- if (!my) +- { +- he = cs_get_elem(Config, buf->data); +- if (!he) +- { +- if (reset && (mutt_str_strcmp(buf->data, "all") == 0)) +- { +- struct HashElem **list = get_elem_list(Config); +- if (!list) +- return MUTT_CMD_ERROR; +- +- for (size_t i = 0; list[i]; i++) +- cs_he_reset(Config, list[i], NULL); +- +- FREE(&list); +- break; +- } +- else +- { +- mutt_buffer_printf(err, "ERR01 unknown variable: %s", buf->data); +- return MUTT_CMD_ERROR; +- } +- } +- +- bq = ((DTYPE(he->type) == DT_BOOL) || (DTYPE(he->type) == DT_QUAD)); +- } +- +- if (*s->dptr == '?') +- { +- if (prefix) +- { +- mutt_buffer_printf(err, +- "ERR02 can't use a prefix when querying a variable"); +- return MUTT_CMD_WARNING; +- } +- +- if (reset || unset || inv) +- { +- mutt_buffer_printf(err, "ERR03 can't query a variable with the '%s' command", +- set_commands[data]); +- return MUTT_CMD_WARNING; +- } +- +- query = true; +- s->dptr++; +- } +- else if (*s->dptr == '=') +- { +- if (prefix) +- { +- mutt_buffer_printf(err, +- "ERR04 can't use prefix when setting a variable"); +- return MUTT_CMD_WARNING; +- } +- +- if (reset || unset || inv) +- { +- mutt_buffer_printf(err, "ERR05 can't set a variable with the '%s' command", +- set_commands[data]); +- return MUTT_CMD_WARNING; +- } +- +- equals = true; +- s->dptr++; +- } +- +- if (!bq && (inv || (unset && prefix))) +- { +- if (data == MUTT_SET_SET) +- { +- mutt_buffer_printf(err, "ERR06 prefixes 'no' and 'inv' may only be " +- "used with bool/quad variables"); +- } +- else +- { +- mutt_buffer_printf(err, "ERR07 command '%s' can only be used with bool/quad variables", +- set_commands[data]); +- } +- return MUTT_CMD_WARNING; +- } +- +- if (reset) +- { +- // mutt_buffer_printf(err, "ACT24 reset variable %s", buf->data); +- if (he) +- { +- rc = cs_he_reset(Config, he, err); +- if (CSR_RESULT(rc) != CSR_SUCCESS) +- return MUTT_CMD_ERROR; +- } +- else +- { +- myvar_del(buf->data); +- } +- continue; +- } +- +- if ((data == MUTT_SET_SET) && !inv && !unset) +- { +- if (query) +- { +- // mutt_buffer_printf(err, "ACT08 query variable %s", buf->data); +- if (he) +- { +- mutt_buffer_addstr(err, buf->data); +- mutt_buffer_addch(err, '='); +- mutt_buffer_reset(buf); +- rc = cs_he_string_get(Config, he, buf); +- if (CSR_RESULT(rc) != CSR_SUCCESS) +- { +- mutt_buffer_addstr(err, buf->data); +- return MUTT_CMD_ERROR; +- } +- pretty_var(buf->data, err); +- } +- else +- { +- const char *val = myvar_get(buf->data); +- if (val) +- { +- mutt_buffer_addstr(err, buf->data); +- mutt_buffer_addch(err, '='); +- pretty_var(val, err); +- } +- else +- { +- mutt_buffer_printf(err, _("%s: unknown variable"), buf->data); +- return MUTT_CMD_ERROR; +- } +- } +- break; +- } +- else if (equals) +- { +- // mutt_buffer_printf(err, "ACT11 set variable %s to ", buf->data); +- const char *name = NULL; +- if (my) +- { +- name = mutt_str_strdup(buf->data); +- } +- mutt_extract_token(buf, s, MUTT_TOKEN_BACKTICK_VARS); +- if (my) +- { +- myvar_set(name, buf->data); +- FREE(&name); +- } +- else +- { +- if (IS_PATH(he)) +- { +- mutt_buffer_expand_path(buf); +- struct Buffer scratch = mutt_buffer_make(1024); +- mutt_buffer_copy(&scratch, buf); +- size_t scratchlen = mutt_buffer_len(&scratch); +- if (!(he->type & DT_MAILBOX) && (scratchlen != 0)) +- { +- if ((mutt_b2s(&scratch)[scratchlen - 1] != '|') && /* not a command */ +- (url_check_scheme(mutt_b2s(&scratch)) == U_UNKNOWN)) /* probably a local file */ +- { +- struct ListNode *np = STAILQ_FIRST(&MuttrcStack); +- if (mutt_path_to_absolute(scratch.data, np ? NONULL(np->data) : "./")) +- { +- mutt_buffer_reset(buf); +- mutt_buffer_addstr(buf, mutt_b2s(&scratch)); +- } +- else +- { +- mutt_error(_("Error: Can't build path of '%s'"), mutt_b2s(&scratch)); +- } +- } +- } +- mutt_buffer_dealloc(&scratch); +- } +- else if (IS_COMMAND(he)) +- { +- struct Buffer scratch = mutt_buffer_make(1024); +- mutt_buffer_copy(&scratch, buf); +- +- if (mutt_str_strcmp(buf->data, "builtin") != 0) +- { +- mutt_buffer_expand_path(&scratch); +- } +- mutt_buffer_reset(buf); +- mutt_buffer_addstr(buf, mutt_b2s(&scratch)); +- mutt_buffer_dealloc(&scratch); +- } +- +- rc = cs_he_string_set(Config, he, buf->data, err); +- if (CSR_RESULT(rc) != CSR_SUCCESS) +- return MUTT_CMD_ERROR; +- } +- continue; +- } +- else +- { +- if (bq) +- { +- // mutt_buffer_printf(err, "ACT23 set variable %s to 'yes'", buf->data); +- rc = cs_he_native_set(Config, he, true, err); +- if (CSR_RESULT(rc) != CSR_SUCCESS) +- return MUTT_CMD_ERROR; +- continue; +- } +- else +- { +- // mutt_buffer_printf(err, "ACT10 query variable %s", buf->data); +- if (he) +- { +- mutt_buffer_addstr(err, buf->data); +- mutt_buffer_addch(err, '='); +- mutt_buffer_reset(buf); +- rc = cs_he_string_get(Config, he, buf); +- if (CSR_RESULT(rc) != CSR_SUCCESS) +- { +- mutt_buffer_addstr(err, buf->data); +- return MUTT_CMD_ERROR; +- } +- pretty_var(buf->data, err); +- } +- else +- { +- const char *val = myvar_get(buf->data); +- if (val) +- { +- mutt_buffer_addstr(err, buf->data); +- mutt_buffer_addch(err, '='); +- pretty_var(val, err); +- } +- else +- { +- mutt_buffer_printf(err, _("%s: unknown variable"), buf->data); +- return MUTT_CMD_ERROR; +- } +- } +- break; +- } +- } +- } +- +- if (my) +- { +- myvar_del(buf->data); +- } +- else if (bq) +- { +- if (inv) +- { +- // mutt_buffer_printf(err, "ACT25 TOGGLE bool/quad variable %s", buf->data); +- if (DTYPE(he->type) == DT_BOOL) +- bool_he_toggle(Config, he, err); +- else +- quad_he_toggle(Config, he, err); +- } +- else +- { +- // mutt_buffer_printf(err, "ACT26 UNSET bool/quad variable %s", buf->data); +- rc = cs_he_native_set(Config, he, false, err); +- if (CSR_RESULT(rc) != CSR_SUCCESS) +- return MUTT_CMD_ERROR; +- } +- continue; +- } +- else +- { +- rc = cs_he_string_set(Config, he, NULL, err); +- if (CSR_RESULT(rc) != CSR_SUCCESS) +- return MUTT_CMD_ERROR; +- } +- } +- +- return MUTT_CMD_SUCCESS; +-} +- +-/** +- * parse_setenv - Parse the 'setenv' and 'unsetenv' commands - Implements ::command_t +- */ +-static enum CommandResult parse_setenv(struct Buffer *buf, struct Buffer *s, +- unsigned long data, struct Buffer *err) +-{ +- char **envp = mutt_envlist_getlist(); +- +- bool query = false; +- bool unset = (data == MUTT_SET_UNSET); +- +- if (!MoreArgs(s)) +- { +- mutt_buffer_printf(err, _("%s: too few arguments"), "setenv"); +- return MUTT_CMD_WARNING; +- } +- +- if (*s->dptr == '?') +- { +- query = true; +- s->dptr++; +- } +- +- /* get variable name */ +- mutt_extract_token(buf, s, MUTT_TOKEN_EQUAL); +- +- if (query) +- { +- bool found = false; +- while (envp && *envp) +- { +- /* This will display all matches for "^QUERY" */ +- if (mutt_str_startswith(*envp, buf->data, CASE_MATCH)) +- { +- if (!found) +- { +- mutt_endwin(); +- found = true; +- } +- puts(*envp); +- } +- envp++; +- } +- +- if (found) +- { +- mutt_any_key_to_continue(NULL); +- return MUTT_CMD_SUCCESS; +- } +- +- mutt_buffer_printf(err, _("%s is unset"), buf->data); +- return MUTT_CMD_WARNING; +- } +- +- if (unset) +- { +- if (mutt_envlist_unset(buf->data)) +- return MUTT_CMD_SUCCESS; +- return MUTT_CMD_ERROR; +- } +- +- /* set variable */ +- +- if (*s->dptr == '=') +- { +- s->dptr++; +- SKIPWS(s->dptr); +- } +- +- if (!MoreArgs(s)) +- { +- mutt_buffer_printf(err, _("%s: too few arguments"), "setenv"); +- return MUTT_CMD_WARNING; +- } +- +- char *name = mutt_str_strdup(buf->data); +- mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); +- mutt_envlist_set(name, buf->data, true); +- FREE(&name); +- +- return MUTT_CMD_SUCCESS; +-} +- +-/** +- * parse_source - Parse the 'source' command - Implements ::command_t +- */ +-static enum CommandResult parse_source(struct Buffer *buf, struct Buffer *s, +- unsigned long data, struct Buffer *err) +-{ +- char path[PATH_MAX]; +- +- do +- { +- if (mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS) != 0) +- { +- mutt_buffer_printf(err, _("source: error at %s"), s->dptr); +- return MUTT_CMD_ERROR; +- } +- mutt_str_strfcpy(path, buf->data, sizeof(path)); +- mutt_expand_path(path, sizeof(path)); +- +- if (source_rc(path, err) < 0) +- { +- mutt_buffer_printf(err, _("source: file %s could not be sourced"), path); +- return MUTT_CMD_ERROR; +- } +- +- } while (MoreArgs(s)); +- +- return MUTT_CMD_SUCCESS; +-} +- +-/** +- * parse_spam_list - Parse the 'spam' and 'nospam' commands - Implements ::command_t +- */ +-static enum CommandResult parse_spam_list(struct Buffer *buf, struct Buffer *s, +- unsigned long data, struct Buffer *err) +-{ +- struct Buffer templ; +- +- mutt_buffer_init(&templ); +- +- /* Insist on at least one parameter */ +- if (!MoreArgs(s)) +- { +- if (data == MUTT_SPAM) +- mutt_buffer_strcpy(err, _("spam: no matching pattern")); +- else +- mutt_buffer_strcpy(err, _("nospam: no matching pattern")); +- return MUTT_CMD_ERROR; +- } +- +- /* Extract the first token, a regex */ +- mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); +- +- /* data should be either MUTT_SPAM or MUTT_NOSPAM. MUTT_SPAM is for spam commands. */ +- if (data == MUTT_SPAM) +- { +- /* If there's a second parameter, it's a template for the spam tag. */ +- if (MoreArgs(s)) +- { +- mutt_extract_token(&templ, s, MUTT_TOKEN_NO_FLAGS); +- +- /* Add to the spam list. */ +- if (mutt_replacelist_add(&SpamList, buf->data, templ.data, err) != 0) +- { +- FREE(&templ.data); +- return MUTT_CMD_ERROR; +- } +- FREE(&templ.data); +- } +- /* If not, try to remove from the nospam list. */ +- else +- { +- mutt_regexlist_remove(&NoSpamList, buf->data); +- } +- +- return MUTT_CMD_SUCCESS; +- } +- /* MUTT_NOSPAM is for nospam commands. */ +- else if (data == MUTT_NOSPAM) +- { +- /* nospam only ever has one parameter. */ +- +- /* "*" is a special case. */ +- if (mutt_str_strcmp(buf->data, "*") == 0) +- { +- mutt_replacelist_free(&SpamList); +- mutt_regexlist_free(&NoSpamList); +- return MUTT_CMD_SUCCESS; +- } +- +- /* If it's on the spam list, just remove it. */ +- if (mutt_replacelist_remove(&SpamList, buf->data) != 0) +- return MUTT_CMD_SUCCESS; +- +- /* Otherwise, add it to the nospam list. */ +- if (mutt_regexlist_add(&NoSpamList, buf->data, REG_ICASE, err) != 0) +- return MUTT_CMD_ERROR; +- +- return MUTT_CMD_SUCCESS; +- } +- +- /* This should not happen. */ +- mutt_buffer_strcpy(err, "This is no good at all."); +- return MUTT_CMD_ERROR; +-} +- +-/** +- * parse_stailq - Parse a list command - Implements ::command_t +- * +- * This is used by 'alternative_order', 'auto_view' and several others. +- */ +-static enum CommandResult parse_stailq(struct Buffer *buf, struct Buffer *s, +- unsigned long data, struct Buffer *err) +-{ +- do +- { +- mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); +- add_to_stailq((struct ListHead *) data, buf->data); +- } while (MoreArgs(s)); +- +- return MUTT_CMD_SUCCESS; +-} +- +-/** +- * parse_subjectrx_list - Parse the 'subjectrx' command - Implements ::command_t +- */ +-static enum CommandResult parse_subjectrx_list(struct Buffer *buf, struct Buffer *s, +- unsigned long data, struct Buffer *err) +-{ +- enum CommandResult rc; +- +- rc = parse_replace_list(buf, s, data, err); +- if (rc == MUTT_CMD_SUCCESS) +- clear_subject_mods(); +- return rc; +-} +- +-/** +- * parse_subscribe - Parse the 'subscribe' command - Implements ::command_t +- */ +-static enum CommandResult parse_subscribe(struct Buffer *buf, struct Buffer *s, +- unsigned long data, struct Buffer *err) +-{ +- struct GroupList gl = STAILQ_HEAD_INITIALIZER(gl); +- +- do +- { +- mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); +- +- if (parse_grouplist(&gl, buf, s, data, err) == -1) +- goto bail; +- +- mutt_regexlist_remove(&UnMailLists, buf->data); +- mutt_regexlist_remove(&UnSubscribedLists, buf->data); +- +- if (mutt_regexlist_add(&MailLists, buf->data, REG_ICASE, err) != 0) +- goto bail; +- if (mutt_regexlist_add(&SubscribedLists, buf->data, REG_ICASE, err) != 0) +- goto bail; +- if (mutt_grouplist_add_regex(&gl, buf->data, REG_ICASE, err) != 0) +- goto bail; +- } while (MoreArgs(s)); +- +- mutt_grouplist_destroy(&gl); +- return MUTT_CMD_SUCCESS; +- +-bail: +- mutt_grouplist_destroy(&gl); +- return MUTT_CMD_ERROR; +-} +- +-#ifdef USE_IMAP +-/** +- * parse_subscribe_to - Parse the 'subscribe-to' command - Implements ::command_t +- * +- * The 'subscribe-to' command allows to subscribe to an IMAP-Mailbox. +- * Patterns are not supported. +- * Use it as follows: subscribe-to =folder +- */ +-static enum CommandResult parse_subscribe_to(struct Buffer *buf, struct Buffer *s, +- unsigned long data, struct Buffer *err) +-{ +- if (!buf || !s || !err) +- return MUTT_CMD_ERROR; +- +- mutt_buffer_reset(err); +- +- if (MoreArgs(s)) +- { +- mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); +- +- if (MoreArgs(s)) +- { +- mutt_buffer_printf(err, _("%s: too many arguments"), "subscribe-to"); +- return MUTT_CMD_WARNING; +- } +- +- if (buf->data && (*buf->data != '\0')) +- { +- /* Expand and subscribe */ +- if (imap_subscribe(mutt_expand_path(buf->data, buf->dsize), true) == 0) +- { +- mutt_message(_("Subscribed to %s"), buf->data); +- return MUTT_CMD_SUCCESS; +- } +- +- mutt_buffer_printf(err, _("Could not subscribe to %s"), buf->data); +- return MUTT_CMD_ERROR; +- } +- +- mutt_debug(LL_DEBUG1, "Corrupted buffer"); +- return MUTT_CMD_ERROR; +- } +- +- mutt_buffer_addstr(err, _("No folder specified")); +- return MUTT_CMD_WARNING; +-} +-#endif +- +-/** +- * parse_tag_formats - Parse the 'tag-formats' command - Implements ::command_t +- */ +-static enum CommandResult parse_tag_formats(struct Buffer *buf, struct Buffer *s, +- unsigned long data, struct Buffer *err) +-{ +- if (!buf || !s) +- return MUTT_CMD_ERROR; +- +- char *tmp = NULL; +- +- while (MoreArgs(s)) +- { +- char *tag = NULL, *format = NULL; +- +- mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); +- if (buf->data && (*buf->data != '\0')) +- tag = mutt_str_strdup(buf->data); +- else +- continue; +- +- mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); +- format = mutt_str_strdup(buf->data); +- +- /* avoid duplicates */ +- tmp = mutt_hash_find(TagFormats, format); +- if (tmp) +- { +- mutt_debug(LL_DEBUG3, "tag format '%s' already registered as '%s'\n", format, tmp); +- FREE(&tag); +- FREE(&format); +- continue; +- } +- +- mutt_hash_insert(TagFormats, format, tag); +- } +- return MUTT_CMD_SUCCESS; +-} +- +-/** +- * parse_tag_transforms - Parse the 'tag-transforms' command - Implements ::command_t +- */ +-static enum CommandResult parse_tag_transforms(struct Buffer *buf, struct Buffer *s, +- unsigned long data, struct Buffer *err) +-{ +- if (!buf || !s) +- return MUTT_CMD_ERROR; +- +- char *tmp = NULL; +- +- while (MoreArgs(s)) +- { +- char *tag = NULL, *transform = NULL; +- +- mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); +- if (buf->data && (*buf->data != '\0')) +- tag = mutt_str_strdup(buf->data); +- else +- continue; +- +- mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); +- transform = mutt_str_strdup(buf->data); +- +- /* avoid duplicates */ +- tmp = mutt_hash_find(TagTransforms, tag); +- if (tmp) +- { +- mutt_debug(LL_DEBUG3, "tag transform '%s' already registered as '%s'\n", tag, tmp); +- FREE(&tag); +- FREE(&transform); +- continue; +- } +- +- mutt_hash_insert(TagTransforms, tag, transform); +- } +- return MUTT_CMD_SUCCESS; +-} +- +-/** +- * parse_unalias - Parse the 'unalias' command - Implements ::command_t +- */ +-static enum CommandResult parse_unalias(struct Buffer *buf, struct Buffer *s, +- unsigned long data, struct Buffer *err) +-{ +- struct Alias *a = NULL; +- +- do +- { +- mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); +- +- if (mutt_str_strcmp("*", buf->data) == 0) +- { +- if (CurrentMenu == MENU_ALIAS) +- { +- TAILQ_FOREACH(a, &Aliases, entries) +- { +- a->del = true; +- } +- mutt_menu_set_current_redraw_full(); +- } +- else +- mutt_aliaslist_free(&Aliases); +- break; +- } +- else +- { +- TAILQ_FOREACH(a, &Aliases, entries) +- { +- if (mutt_str_strcasecmp(buf->data, a->name) == 0) +- { +- if (CurrentMenu == MENU_ALIAS) +- { +- a->del = true; +- mutt_menu_set_current_redraw_full(); +- } +- else +- { +- TAILQ_REMOVE(&Aliases, a, entries); +- mutt_alias_free(&a); +- } +- break; +- } +- } +- } +- } while (MoreArgs(s)); +- return MUTT_CMD_SUCCESS; +-} +- +-/** +- * parse_unalternates - Parse the 'unalternates' command - Implements ::command_t +- */ +-static enum CommandResult parse_unalternates(struct Buffer *buf, struct Buffer *s, +- unsigned long data, struct Buffer *err) +-{ +- alternates_clean(); +- do +- { +- mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); +- mutt_regexlist_remove(&Alternates, buf->data); +- +- if ((mutt_str_strcmp(buf->data, "*") != 0) && +- (mutt_regexlist_add(&UnAlternates, buf->data, REG_ICASE, err) != 0)) +- { +- return MUTT_CMD_ERROR; +- } +- +- } while (MoreArgs(s)); +- +- return MUTT_CMD_SUCCESS; +-} +- +-/** +- * mutt_attachmatch_free - Free an AttachMatch - Implements ::list_free_t +- * @param ptr AttachMatch to free +- * +- * @note We don't free minor because it is either a pointer into major, +- * or a static string. +- */ +-static void mutt_attachmatch_free(struct AttachMatch **ptr) +-{ +- if (!ptr || !*ptr) +- return; +- +- struct AttachMatch *am = *ptr; +- regfree(&am->minor_regex); +- FREE(&am->major); +- FREE(ptr); +-} +- +-/** +- * parse_unattachments - Parse the 'unattachments' command - Implements ::command_t ++ * @retval -1 Error + */ +-static enum CommandResult parse_unattachments(struct Buffer *buf, struct Buffer *s, +- unsigned long data, struct Buffer *err) ++static int complete_all_nm_tags(const char *pt) + { +- char op; +- char *p = NULL; +- struct ListHead *head = NULL; ++ int tag_count_1 = 0; ++ int tag_count_2 = 0; + +- mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); +- if (!buf->data || (*buf->data == '\0')) +- { +- mutt_buffer_strcpy(err, _("unattachments: no disposition")); +- return MUTT_CMD_WARNING; +- } ++ NumMatched = 0; ++ mutt_str_strfcpy(UserTyped, pt, sizeof(UserTyped)); ++ memset(Matches, 0, MatchesListsize); ++ memset(Completed, 0, sizeof(Completed)); + +- p = buf->data; +- op = *p++; ++ nm_db_longrun_init(Context->mailbox, false); + +- if (op == '*') +- { +- mutt_list_free_type(&AttachAllow, (list_free_t) mutt_attachmatch_free); +- mutt_list_free_type(&AttachExclude, (list_free_t) mutt_attachmatch_free); +- mutt_list_free_type(&InlineAllow, (list_free_t) mutt_attachmatch_free); +- mutt_list_free_type(&InlineExclude, (list_free_t) mutt_attachmatch_free); +- attachments_clean(); +- return 0; +- } ++ /* Work out how many tags there are. */ ++ if (nm_get_all_tags(Context->mailbox, NULL, &tag_count_1) || (tag_count_1 == 0)) ++ goto done; + +- if ((op != '+') && (op != '-')) +- { +- op = '+'; +- p--; +- } +- if (mutt_str_startswith("attachment", p, CASE_IGNORE)) +- { +- if (op == '+') +- head = &AttachAllow; +- else +- head = &AttachExclude; +- } +- else if (mutt_str_startswith("inline", p, CASE_IGNORE)) ++ /* Free the old list, if any. */ ++ if (nm_tags) + { +- if (op == '+') +- head = &InlineAllow; +- else +- head = &InlineExclude; ++ for (int i = 0; nm_tags[i]; i++) ++ FREE(&nm_tags[i]); ++ FREE(&nm_tags); + } +- else ++ /* Allocate a new list, with sentinel. */ ++ nm_tags = mutt_mem_malloc((tag_count_1 + 1) * sizeof(char *)); ++ nm_tags[tag_count_1] = NULL; ++ ++ /* Get all the tags. */ ++ if (nm_get_all_tags(Context->mailbox, nm_tags, &tag_count_2) || (tag_count_1 != tag_count_2)) + { +- mutt_buffer_strcpy(err, _("unattachments: invalid disposition")); +- return MUTT_CMD_ERROR; ++ FREE(&nm_tags); ++ nm_tags = NULL; ++ nm_db_longrun_done(Context->mailbox); ++ return -1; + } + +- return parse_unattach_list(buf, s, head, err); +-} +- +-/** +- * parse_unignore - Parse the 'unignore' command - Implements ::command_t +- */ +-static enum CommandResult parse_unignore(struct Buffer *buf, struct Buffer *s, +- unsigned long data, struct Buffer *err) +-{ +- do ++ /* Put them into the completion machinery. */ ++ for (int num = 0; num < tag_count_1; num++) + { +- mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); +- +- /* don't add "*" to the unignore list */ +- if (strcmp(buf->data, "*") != 0) +- add_to_stailq(&UnIgnore, buf->data); ++ candidate(UserTyped, nm_tags[num], Completed, sizeof(Completed)); ++ } + +- remove_from_stailq(&Ignore, buf->data); +- } while (MoreArgs(s)); ++ matches_ensure_morespace(NumMatched); ++ Matches[NumMatched++] = UserTyped; + +- return MUTT_CMD_SUCCESS; ++done: ++ nm_db_longrun_done(Context->mailbox); ++ return 0; + } ++#endif + + /** +- * parse_unlists - Parse the 'unlists' command - Implements ::command_t ++ * execute_commands - Execute a set of NeoMutt commands ++ * @param p List of command strings ++ * @retval 0 Success, all the commands succeeded ++ * @retval -1 Error + */ +-static enum CommandResult parse_unlists(struct Buffer *buf, struct Buffer *s, +- unsigned long data, struct Buffer *err) ++static int execute_commands(struct ListHead *p) + { +- mutt_hash_free(&AutoSubscribeCache); +- do ++ int rc = 0; ++ struct Buffer *err = mutt_buffer_pool_get(); ++ struct Buffer *token = mutt_buffer_pool_get(); ++ ++ struct ListNode *np = NULL; ++ STAILQ_FOREACH(np, p, entries) + { +- mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); +- mutt_regexlist_remove(&SubscribedLists, buf->data); +- mutt_regexlist_remove(&MailLists, buf->data); ++ enum CommandResult rc2 = mutt_parse_rc_line(np->data, token, err); ++ if (rc2 == MUTT_CMD_ERROR) ++ mutt_error(_("Error in command line: %s"), mutt_b2s(err)); ++ else if (rc2 == MUTT_CMD_WARNING) ++ mutt_warning(_("Warning in command line: %s"), mutt_b2s(err)); + +- if ((mutt_str_strcmp(buf->data, "*") != 0) && +- (mutt_regexlist_add(&UnMailLists, buf->data, REG_ICASE, err) != 0)) ++ if ((rc2 == MUTT_CMD_ERROR) || (rc2 == MUTT_CMD_WARNING)) + { +- return MUTT_CMD_ERROR; ++ mutt_buffer_pool_release(&token); ++ mutt_buffer_pool_release(&err); ++ return -1; + } +- } while (MoreArgs(s)); ++ } ++ mutt_buffer_pool_release(&token); ++ mutt_buffer_pool_release(&err); + +- return MUTT_CMD_SUCCESS; ++ return rc; + } + + /** +- * parse_unmailboxes - Parse the 'unmailboxes' command - Implements ::command_t +- * +- * This is also used by 'unvirtual-mailboxes' ++ * find_cfg - Find a config file ++ * @param home User's home directory ++ * @param xdg_cfg_home XDG home directory ++ * @retval ptr Success, first matching directory ++ * @retval NULL Error, no matching directories + */ +-static enum CommandResult parse_unmailboxes(struct Buffer *buf, struct Buffer *s, +- unsigned long data, struct Buffer *err) ++static char *find_cfg(const char *home, const char *xdg_cfg_home) + { +- bool tmp_valid = false; +- bool clear_all = false; ++ const char *names[] = { ++ "neomuttrc", ++ "muttrc", ++ NULL, ++ }; + +- while (!clear_all && MoreArgs(s)) +- { +- mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); ++ const char *locations[][2] = { ++ { xdg_cfg_home, "neomutt/" }, ++ { xdg_cfg_home, "mutt/" }, ++ { home, ".neomutt/" }, ++ { home, ".mutt/" }, ++ { home, "." }, ++ { NULL, NULL }, ++ }; + +- if (mutt_str_strcmp(buf->data, "*") == 0) +- { +- clear_all = true; +- tmp_valid = false; +- } +- else +- { +- mutt_buffer_expand_path(buf); +- tmp_valid = true; +- } ++ for (int i = 0; locations[i][0] || locations[i][1]; i++) ++ { ++ if (!locations[i][0]) ++ continue; + +- struct MailboxList ml = neomutt_mailboxlist_get_all(NeoMutt, MUTT_MAILBOX_ANY); +- struct MailboxNode *np = NULL; +- struct MailboxNode *nptmp = NULL; +- STAILQ_FOREACH_SAFE(np, &ml, entries, nptmp) ++ for (int j = 0; names[j]; j++) + { +- /* Decide whether to delete all normal mailboxes or all virtual */ +- bool virt = ((np->mailbox->magic == MUTT_NOTMUCH) && (data & MUTT_VIRTUAL)); +- bool norm = ((np->mailbox->magic != MUTT_NOTMUCH) && !(data & MUTT_VIRTUAL)); +- bool clear_this = clear_all && (virt || norm); +- +- /* Compare against path or desc? Ensure 'buf' is valid */ +- if (!clear_this && tmp_valid) +- { +- clear_this = +- (mutt_str_strcasecmp(mutt_b2s(buf), mailbox_path(np->mailbox)) == 0) || +- (mutt_str_strcasecmp(mutt_b2s(buf), np->mailbox->name) == 0); +- } ++ char buf[256]; + +- if (clear_this) +- { +-#ifdef USE_SIDEBAR +- mutt_sb_notify_mailbox(np->mailbox, false); +-#endif +-#ifdef USE_INOTIFY +- mutt_monitor_remove(np->mailbox); +-#endif +- if (Context && (Context->mailbox == np->mailbox)) +- { +- np->mailbox->flags |= MB_HIDDEN; +- } +- else +- { +- account_mailbox_remove(np->mailbox->account, np->mailbox); +- mailbox_free(&np->mailbox); +- } +- } ++ snprintf(buf, sizeof(buf), "%s/%s%s", locations[i][0], locations[i][1], names[j]); ++ if (access(buf, F_OK) == 0) ++ return mutt_str_strdup(buf); + } +- neomutt_mailboxlist_clear(&ml); + } +- return MUTT_CMD_SUCCESS; ++ ++ return NULL; + } + ++#ifndef DOMAIN + /** +- * parse_unmy_hdr - Parse the 'unmy_hdr' command - Implements ::command_t ++ * getmailname - Try to retrieve the FQDN from mailname files ++ * @retval ptr Heap allocated string with the FQDN ++ * @retval NULL if no valid mailname file could be read + */ +-static enum CommandResult parse_unmy_hdr(struct Buffer *buf, struct Buffer *s, +- unsigned long data, struct Buffer *err) ++static char *getmailname(void) + { +- struct ListNode *np = NULL, *tmp = NULL; +- size_t l; ++ char *mailname = NULL; ++ static const char *mn_files[] = { "/etc/mailname", "/etc/mail/mailname" }; + +- do ++ for (size_t i = 0; i < mutt_array_size(mn_files); i++) + { +- mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); +- if (mutt_str_strcmp("*", buf->data) == 0) +- { +- mutt_list_free(&UserHeader); ++ FILE *fp = mutt_file_fopen(mn_files[i], "r"); ++ if (!fp) + continue; +- } +- +- l = mutt_str_strlen(buf->data); +- if (buf->data[l - 1] == ':') +- l--; +- +- STAILQ_FOREACH_SAFE(np, &UserHeader, entries, tmp) +- { +- if ((mutt_str_strncasecmp(buf->data, np->data, l) == 0) && (np->data[l] == ':')) +- { +- STAILQ_REMOVE(&UserHeader, np, ListNode, entries); +- FREE(&np->data); +- FREE(&np); +- } +- } +- } while (MoreArgs(s)); +- return MUTT_CMD_SUCCESS; +-} + +-/** +- * parse_unstailq - Parse an unlist command - Implements ::command_t +- * +- * This is used by 'unalternative_order', 'unauto_view' and several others. +- */ +-static enum CommandResult parse_unstailq(struct Buffer *buf, struct Buffer *s, +- unsigned long data, struct Buffer *err) +-{ +- do +- { +- mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); +- /* Check for deletion of entire list */ +- if (mutt_str_strcmp(buf->data, "*") == 0) +- { +- mutt_list_free((struct ListHead *) data); ++ size_t len = 0; ++ mailname = mutt_file_read_line(NULL, &len, fp, NULL, 0); ++ mutt_file_fclose(&fp); ++ if (mailname && *mailname) + break; +- } +- remove_from_stailq((struct ListHead *) data, buf->data); +- } while (MoreArgs(s)); + +- return MUTT_CMD_SUCCESS; +-} +- +-/** +- * parse_unsubjectrx_list - Parse the 'unsubjectrx' command - Implements ::command_t +- */ +-static enum CommandResult parse_unsubjectrx_list(struct Buffer *buf, struct Buffer *s, +- unsigned long data, struct Buffer *err) +-{ +- enum CommandResult rc; ++ FREE(&mailname); ++ } + +- rc = parse_unreplace_list(buf, s, data, err); +- if (rc == MUTT_CMD_SUCCESS) +- clear_subject_mods(); +- return rc; ++ return mailname; + } ++#endif + + /** +- * parse_unsubscribe - Parse the 'unsubscribe' command - Implements ::command_t ++ * get_hostname - Find the Fully-Qualified Domain Name ++ * @retval true Success ++ * @retval false Error, failed to find any name ++ * ++ * Use several methods to try to find the Fully-Qualified domain name of this host. ++ * If the user has already configured a hostname, this function will use it. + */ +-static enum CommandResult parse_unsubscribe(struct Buffer *buf, struct Buffer *s, +- unsigned long data, struct Buffer *err) ++static bool get_hostname(struct ConfigSet *cs) + { +- mutt_hash_free(&AutoSubscribeCache); +- do +- { +- mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); +- mutt_regexlist_remove(&SubscribedLists, buf->data); ++ char *str = NULL; ++ struct utsname utsname; + +- if ((mutt_str_strcmp(buf->data, "*") != 0) && +- (mutt_regexlist_add(&UnSubscribedLists, buf->data, REG_ICASE, err) != 0)) ++ if (C_Hostname) ++ { ++ str = C_Hostname; ++ } ++ else ++ { ++ /* The call to uname() shouldn't fail, but if it does, the system is horribly ++ * broken, and the system's networking configuration is in an unreliable ++ * state. We should bail. */ ++ if ((uname(&utsname)) == -1) + { +- return MUTT_CMD_ERROR; ++ mutt_perror(_("unable to determine nodename via uname()")); ++ return false; // TEST09: can't test + } +- } while (MoreArgs(s)); + +- return MUTT_CMD_SUCCESS; +-} ++ str = utsname.nodename; ++ } + +-#ifdef USE_IMAP +-/** +- * parse_unsubscribe_from - Parse the 'unsubscribe-from' command - Implements ::command_t +- * +- * The 'unsubscribe-from' command allows to unsubscribe from an IMAP-Mailbox. +- * Patterns are not supported. +- * Use it as follows: unsubscribe-from =folder +- */ +-static enum CommandResult parse_unsubscribe_from(struct Buffer *buf, struct Buffer *s, +- unsigned long data, struct Buffer *err) +-{ +- if (!buf || !s || !err) +- return MUTT_CMD_ERROR; ++ /* some systems report the FQDN instead of just the hostname */ ++ char *dot = strchr(str, '.'); ++ if (dot) ++ ShortHostname = mutt_str_substr_dup(str, dot); ++ else ++ ShortHostname = mutt_str_strdup(str); + +- if (MoreArgs(s)) ++ if (!C_Hostname) + { +- mutt_extract_token(buf, s, MUTT_TOKEN_NO_FLAGS); +- +- if (MoreArgs(s)) +- { +- mutt_buffer_printf(err, _("%s: too many arguments"), "unsubscribe-from"); +- return MUTT_CMD_WARNING; +- } +- +- if (buf->data && (*buf->data != '\0')) ++ /* now get FQDN. Use configured domain first, DNS next, then uname */ ++#ifdef DOMAIN ++ /* we have a compile-time domain name, use that for C_Hostname */ ++ C_Hostname = ++ mutt_mem_malloc(mutt_str_strlen(DOMAIN) + mutt_str_strlen(ShortHostname) + 2); ++ sprintf((char *) C_Hostname, "%s.%s", NONULL(ShortHostname), DOMAIN); ++#else ++ C_Hostname = getmailname(); ++ if (!C_Hostname) + { +- /* Expand and subscribe */ +- if (imap_subscribe(mutt_expand_path(buf->data, buf->dsize), false) == 0) ++ char buffer[1024]; ++ if (getdnsdomainname(buffer, sizeof(buffer)) == 0) + { +- mutt_message(_("Unsubscribed from %s"), buf->data); +- return MUTT_CMD_SUCCESS; ++ C_Hostname = mutt_mem_malloc(mutt_str_strlen(buffer) + ++ mutt_str_strlen(ShortHostname) + 2); ++ sprintf((char *) C_Hostname, "%s.%s", NONULL(ShortHostname), buffer); ++ } ++ else ++ { ++ /* DNS failed, use the nodename. Whether or not the nodename had a '.' ++ * in it, we can use the nodename as the FQDN. On hosts where DNS is ++ * not being used, e.g. small network that relies on hosts files, a ++ * short host name is all that is required for SMTP to work correctly. ++ * It could be wrong, but we've done the best we can, at this point the ++ * onus is on the user to provide the correct hostname if the nodename ++ * won't work in their network. */ ++ C_Hostname = mutt_str_strdup(utsname.nodename); + } +- +- mutt_buffer_printf(err, _("Could not unsubscribe from %s"), buf->data); +- return MUTT_CMD_ERROR; + } +- +- mutt_debug(LL_DEBUG1, "Corrupted buffer"); +- return MUTT_CMD_ERROR; ++#endif + } ++ if (C_Hostname) ++ cs_str_initial_set(cs, "hostname", C_Hostname, NULL); + +- mutt_buffer_addstr(err, _("No folder specified")); +- return MUTT_CMD_WARNING; ++ return true; + } +-#endif + + /** + * mutt_command_get - Get a Command by its name +@@ -2797,7 +536,7 @@ int mutt_extract_token(struct Buffer *dest, struct Buffer *tok, TokenFlags flags + cmd.data = mutt_str_strdup(tok->dptr); + } + *pc = '`'; +- pid = mutt_create_filter(cmd.data, NULL, &fp, NULL); ++ pid = filter_create(cmd.data, NULL, &fp, NULL); + if (pid < 0) + { + mutt_debug(LL_DEBUG1, "unable to fork command: %s\n", cmd.data); +@@ -2812,7 +551,7 @@ int mutt_extract_token(struct Buffer *dest, struct Buffer *tok, TokenFlags flags + struct Buffer expn = mutt_buffer_make(0); + expn.data = mutt_file_read_line(NULL, &expn.dsize, fp, &line, 0); + mutt_file_fclose(&fp); +- mutt_wait_filter(pid); ++ filter_wait(pid); + + /* if we got output, make a new string consisting of the shell output + * plus whatever else was left on the original line */ +@@ -2872,7 +611,7 @@ int mutt_extract_token(struct Buffer *dest, struct Buffer *tok, TokenFlags flags + { + struct Buffer result; + mutt_buffer_init(&result); +- int rc = cs_str_string_get(Config, var, &result); ++ int rc = cs_subset_str_string_get(NeoMutt->sub, var, &result); + + if (CSR_RESULT(rc) == CSR_SUCCESS) + { +@@ -2908,9 +647,7 @@ int mutt_extract_token(struct Buffer *dest, struct Buffer *tok, TokenFlags flags + */ + void mutt_opts_free(void) + { +- mutt_list_free(&MuttrcStack); +- +- FREE(&Matches); ++ clear_source_stack(); + + mutt_aliaslist_free(&Aliases); + +@@ -2935,7 +672,6 @@ void mutt_opts_free(void) + mutt_list_free(&MailToAllow); + mutt_list_free(&MimeLookupList); + mutt_list_free(&Muttrc); +- mutt_list_free(&MuttrcStack); + #ifdef USE_SIDEBAR + mutt_list_free(&SidebarWhitelist); + #endif +@@ -2977,7 +713,7 @@ HookFlags mutt_get_hook_type(const char *name) + { + for (const struct Command *c = Commands; c->name; c++) + { +- if (((c->func == mutt_parse_hook) || (c->func == mutt_parse_idxfmt_hook)) && ++ if (((c->parse == mutt_parse_hook) || (c->parse == mutt_parse_idxfmt_hook)) && + (mutt_str_strcasecmp(c->name, name) == 0)) + { + return c->data; +@@ -2988,12 +724,13 @@ HookFlags mutt_get_hook_type(const char *name) + + /** + * mutt_init - Initialise NeoMutt ++ * @param cs Config Set + * @param skip_sys_rc If true, don't read the system config file + * @param commands List of config commands to execute + * @retval 0 Success + * @retval 1 Error + */ +-int mutt_init(bool skip_sys_rc, struct ListHead *commands) ++int mutt_init(struct ConfigSet *cs, bool skip_sys_rc, struct ListHead *commands) + { + char buf[1024]; + int need_pause = 0; +@@ -3028,8 +765,8 @@ int mutt_init(bool skip_sys_rc, struct ListHead *commands) + #endif + p = buf; + } +- cs_str_initial_set(Config, "spoolfile", p, NULL); +- cs_str_reset(Config, "spoolfile", NULL); ++ cs_str_initial_set(cs, "spoolfile", p, NULL); ++ cs_str_reset(cs, "spoolfile", NULL); + + p = mutt_str_getenv("REPLYTO"); + if (p) +@@ -3051,19 +788,19 @@ int mutt_init(bool skip_sys_rc, struct ListHead *commands) + p = mutt_str_getenv("EMAIL"); + if (p) + { +- cs_str_initial_set(Config, "from", p, NULL); +- cs_str_reset(Config, "from", NULL); ++ cs_str_initial_set(cs, "from", p, NULL); ++ cs_str_reset(cs, "from", NULL); + } + + /* "$mailcap_path" precedence: config file, environment, code */ + const char *env_mc = mutt_str_getenv("MAILCAPS"); + if (env_mc) +- cs_str_string_set(Config, "mailcap_path", env_mc, NULL); ++ cs_str_string_set(cs, "mailcap_path", env_mc, NULL); + + /* "$tmpdir" precedence: config file, environment, code */ + const char *env_tmp = mutt_str_getenv("TMPDIR"); + if (env_tmp) +- cs_str_string_set(Config, "tmpdir", env_tmp, NULL); ++ cs_str_string_set(cs, "tmpdir", env_tmp, NULL); + + /* "$visual", "$editor" precedence: config file, environment, code */ + const char *env_ed = mutt_str_getenv("VISUAL"); +@@ -3071,12 +808,12 @@ int mutt_init(bool skip_sys_rc, struct ListHead *commands) + env_ed = mutt_str_getenv("EDITOR"); + if (env_ed) + { +- cs_str_string_set(Config, "editor", env_ed, NULL); +- cs_str_string_set(Config, "visual", env_ed, NULL); ++ cs_str_string_set(cs, "editor", env_ed, NULL); ++ cs_str_string_set(cs, "visual", env_ed, NULL); + } + + C_Charset = mutt_ch_get_langinfo_charset(); +- cs_str_initial_set(Config, "charset", C_Charset, NULL); ++ cs_str_initial_set(cs, "charset", C_Charset, NULL); + mutt_ch_set_charset(C_Charset); + + Matches = mutt_mem_calloc(MatchesListsize, sizeof(char *)); +@@ -3138,7 +875,7 @@ int mutt_init(bool skip_sys_rc, struct ListHead *commands) + + if (!STAILQ_EMPTY(&Muttrc)) + { +- cs_str_string_set(Config, "alias_file", STAILQ_FIRST(&Muttrc)->data, NULL); ++ cs_str_string_set(cs, "alias_file", STAILQ_FIRST(&Muttrc)->data, NULL); + } + + /* Process the global rc file if it exists and the user hasn't explicitly +@@ -3192,7 +929,7 @@ int mutt_init(bool skip_sys_rc, struct ListHead *commands) + if (execute_commands(commands) != 0) + need_pause = 1; // TEST13: neomutt -e broken + +- if (!get_hostname()) ++ if (!get_hostname(cs)) + goto done; + + if (!C_Realname) +@@ -3204,7 +941,7 @@ int mutt_init(bool skip_sys_rc, struct ListHead *commands) + C_Realname = mutt_str_strdup(mutt_gecos_name(name, sizeof(name), pw)); + } + } +- cs_str_initial_set(Config, "realname", C_Realname, NULL); ++ cs_str_initial_set(cs, "realname", C_Realname, NULL); + + if (need_pause && !OptNoCurses) + { +@@ -3225,7 +962,7 @@ int mutt_init(bool skip_sys_rc, struct ListHead *commands) + struct MailboxList ml = neomutt_mailboxlist_get_all(NeoMutt, MUTT_NOTMUCH); + struct MailboxNode *mp = STAILQ_FIRST(&ml); + if (mp) +- cs_str_string_set(Config, "spoolfile", mailbox_path(mp->mailbox), NULL); ++ cs_str_string_set(cs, "spoolfile", mailbox_path(mp->mailbox), NULL); + neomutt_mailboxlist_clear(&ml); + } + #endif +@@ -3278,12 +1015,12 @@ enum CommandResult mutt_parse_rc_line(/* const */ char *line, + { + if (mutt_str_strcmp(token->data, Commands[i].name) == 0) + { +- rc = Commands[i].func(token, &expn, Commands[i].data, err); ++ rc = Commands[i].parse(token, &expn, Commands[i].data, err); + if (rc != MUTT_CMD_SUCCESS) + { /* -1 Error, +1 Finish */ + goto finish; /* Propagate return code */ + } +- notify_send(NeoMutt->notify, NT_COMMAND, i, 0); ++ notify_send(NeoMutt->notify, NT_COMMAND, i, (void *) &Commands[i]); + break; /* Continue with next command */ + } + } +@@ -3316,14 +1053,14 @@ int mutt_query_variables(struct ListHead *queries) + { + mutt_buffer_reset(&value); + +- struct HashElem *he = cs_get_elem(Config, np->data); ++ struct HashElem *he = cs_subset_lookup(NeoMutt->sub, np->data); + if (!he) + { + rc = 1; + continue; + } + +- int rv = cs_he_string_get(Config, he, &value); ++ int rv = cs_subset_he_string_get(NeoMutt->sub, he, &value); + if (CSR_RESULT(rv) != CSR_SUCCESS) + { + rc = 1; +@@ -3331,7 +1068,7 @@ int mutt_query_variables(struct ListHead *queries) + } + + int type = DTYPE(he->type); +- if (IS_PATH(he) && !(he->type & DT_MAILBOX)) ++ if (type == DT_PATH) + mutt_pretty_mailbox(value.data, value.dsize); + + if ((type != DT_BOOL) && (type != DT_NUMBER) && (type != DT_LONG) && (type != DT_QUAD)) +@@ -3341,7 +1078,7 @@ int mutt_query_variables(struct ListHead *queries) + mutt_buffer_strcpy(&value, tmp.data); + } + +- dump_config_neo(Config, he, &value, NULL, CS_DUMP_NO_FLAGS, stdout); ++ dump_config_neo(NeoMutt->sub->cs, he, &value, NULL, CS_DUMP_NO_FLAGS, stdout); + } + + mutt_buffer_dealloc(&value); +@@ -3755,7 +1492,7 @@ int mutt_var_value_complete(char *buf, size_t buflen, int pos) + + var[vlen - 1] = '\0'; + +- struct HashElem *he = cs_get_elem(Config, var); ++ struct HashElem *he = cs_subset_lookup(NeoMutt->sub, var); + if (!he) + { + myvarval = myvar_get(var); +@@ -3773,7 +1510,7 @@ int mutt_var_value_complete(char *buf, size_t buflen, int pos) + { + struct Buffer value = mutt_buffer_make(256); + struct Buffer pretty = mutt_buffer_make(256); +- int rc = cs_he_string_get(Config, he, &value); ++ int rc = cs_subset_he_string_get(NeoMutt->sub, he, &value); + if (CSR_RESULT(rc) == CSR_SUCCESS) + { + pretty_var(value.data, &pretty); +@@ -3792,6 +1529,7 @@ int mutt_var_value_complete(char *buf, size_t buflen, int pos) + + /** + * init_config - Initialise the config system ++ * @param size Size for Config Hash Table + * @retval ptr New Config Set + */ + struct ConfigSet *init_config(size_t size) +@@ -3804,6 +1542,7 @@ struct ConfigSet *init_config(size_t size) + long_init(cs); + mbtable_init(cs); + number_init(cs); ++ path_init(cs); + quad_init(cs); + regex_init(cs); + slist_init(cs); +@@ -3821,7 +1560,7 @@ struct ConfigSet *init_config(size_t size) + } + + /** +- * charset_validator - Validate the "charset" config variable - Implements ::cs_validator() ++ * charset_validator - Validate the "charset" config variable - Implements ConfigDef::validator() + */ + int charset_validator(const struct ConfigSet *cs, const struct ConfigDef *cdef, + intptr_t value, struct Buffer *err) +@@ -3861,7 +1600,7 @@ int charset_validator(const struct ConfigSet *cs, const struct ConfigDef *cdef, + + #ifdef USE_HCACHE + /** +- * hcache_validator - Validate the "header_cache_backend" config variable - Implements ::cs_validator() ++ * hcache_validator - Validate the "header_cache_backend" config variable - Implements ConfigDef::validator() + */ + int hcache_validator(const struct ConfigSet *cs, const struct ConfigDef *cdef, + intptr_t value, struct Buffer *err) +@@ -3877,10 +1616,30 @@ int hcache_validator(const struct ConfigSet *cs, const struct ConfigDef *cdef, + mutt_buffer_printf(err, _("Invalid value for option %s: %s"), cdef->name, str); + return CSR_ERR_INVALID; + } +-#endif ++ ++#ifdef USE_HCACHE_COMPRESSION ++/** ++ * compress_validator - Validate the "header_cache_compress_method" config variable - Implements ConfigDef::validator() ++ */ ++int compress_validator(const struct ConfigSet *cs, const struct ConfigDef *cdef, ++ intptr_t value, struct Buffer *err) ++{ ++ if (value == 0) ++ return CSR_SUCCESS; ++ ++ const char *str = (const char *) value; ++ ++ if (mutt_hcache_is_valid_compression(str)) ++ return CSR_SUCCESS; ++ ++ mutt_buffer_printf(err, _("Invalid value for option %s: %s"), cdef->name, str); ++ return CSR_ERR_INVALID; ++} ++#endif /* USE_HCACHE_COMPRESSION */ ++#endif /* USE_HCACHE */ + + /** +- * pager_validator - Check for config variables that can't be set from the pager - Implements ::cs_validator() ++ * pager_validator - Check for config variables that can't be set from the pager - Implements ConfigDef::validator() + */ + int pager_validator(const struct ConfigSet *cs, const struct ConfigDef *cdef, + intptr_t value, struct Buffer *err) +@@ -3896,7 +1655,7 @@ int pager_validator(const struct ConfigSet *cs, const struct ConfigDef *cdef, + } + + /** +- * multipart_validator - Validate the "show_multipart_alternative" config variable - Implements ::cs_validator() ++ * multipart_validator - Validate the "show_multipart_alternative" config variable - Implements ConfigDef::validator() + */ + int multipart_validator(const struct ConfigSet *cs, const struct ConfigDef *cdef, + intptr_t value, struct Buffer *err) +@@ -3914,7 +1673,7 @@ int multipart_validator(const struct ConfigSet *cs, const struct ConfigDef *cdef + } + + /** +- * reply_validator - Validate the "reply_regex" config variable - Implements ::cs_validator() ++ * reply_validator - Validate the "reply_regex" config variable - Implements ConfigDef::validator() + */ + int reply_validator(const struct ConfigSet *cs, const struct ConfigDef *cdef, + intptr_t value, struct Buffer *err) +@@ -3931,7 +1690,7 @@ int reply_validator(const struct ConfigSet *cs, const struct ConfigDef *cdef, + } + + /** +- * wrapheaders_validator - Validate the "wrap_headers" config variable - Implements ::cs_validator() ++ * wrapheaders_validator - Validate the "wrap_headers" config variable - Implements ConfigDef::validator() + */ + int wrapheaders_validator(const struct ConfigSet *cs, const struct ConfigDef *cdef, + intptr_t value, struct Buffer *err) +diff --git a/init.h b/init.h +index 188bc73d4..c74e1b782 100644 +--- a/init.h ++++ b/init.h +@@ -1,6 +1,6 @@ + /** + * @file +- * Definitions of user variables, sort methods and commands ++ * Config/command parsing + * + * @authors + * Copyright (C) 1996-2002,2007,2010,2012-2013,2016 Michael R. Elkins +@@ -25,105 +25,21 @@ + #define MUTT_INIT_H + + #include "config.h" +-#ifdef _MAKEDOC +-#include "config.h" +-#include "doc/makedoc_defs.h" +-#else + #include + #include + #include +-#include "mutt/mutt.h" +-#include "address/lib.h" + #include "config/lib.h" +-#include "email/lib.h" +-#include "core/lib.h" +-#include "conn/conn.h" + #include "mutt.h" +-#include "addrbook.h" +-#include "bcache.h" +-#include "browser.h" +-#include "color.h" +-#include "commands.h" +-#include "compose.h" +-#include "curs_lib.h" +-#include "edit.h" +-#include "globals.h" +-#include "handler.h" +-#include "hdrline.h" + #include "hook.h" +-#include "imap/imap.h" +-#include "index.h" +-#include "keymap.h" +-#include "maildir/lib.h" +-#include "main.h" +-#include "mutt_account.h" + #include "mutt_commands.h" +-#include "mutt_logging.h" +-#include "mutt_mailbox.h" +-#include "mutt_menu.h" +-#include "mutt_thread.h" +-#include "muttlib.h" +-#include "mx.h" +-#include "ncrypt/ncrypt.h" +-#include "nntp/nntp.h" +-#include "pager.h" +-#include "pattern.h" +-#include "pop/pop.h" +-#include "progress.h" +-#include "query.h" +-#include "recvattach.h" +-#include "recvcmd.h" +-#include "mailcap.h" +-#include "rfc3676.h" +-#include "score.h" +-#include "send.h" +-#include "sendlib.h" +-#include "sidebar.h" +-#include "smtp.h" +-#include "sort.h" +-#include "status.h" +-#ifdef USE_NOTMUCH +-#include "notmuch/mutt_notmuch.h" +-#endif +-#ifdef USE_HCACHE +-#include "hcache/hcache.h" +-#endif +-#ifdef MIXMASTER +-#include "remailer.h" +-#endif +-#ifdef USE_LUA +-#include "mutt_lua.h" +-#endif +-#endif +- +-// clang-format off +-#ifndef _MAKEDOC +-/** +- * enum MuttSetCommand - Flags for parse_set() +- */ +-enum MuttSetCommand +-{ +- MUTT_SET_SET, ///< default is to set all vars +- MUTT_SET_INV, ///< default is to invert all vars +- MUTT_SET_UNSET, ///< default is to unset all vars +- MUTT_SET_RESET, ///< default is to reset all vars to default +-}; + +-/* parameter to parse_mailboxes */ +-#define MUTT_NAMED (1 << 0) +-#define MUTT_VIRTUAL (1 << 1) +- +-#define IP (intptr_t) +-#endif /* _MAKEDOC */ +- +-#ifndef ISPELL +-#define ISPELL "ispell" +-#endif +- +-/* This option is deprecated */ +-bool C_IgnoreLinearWhiteSpace = false; ++struct Buffer; ++struct ListHead; + + int charset_validator (const struct ConfigSet *cs, const struct ConfigDef *cdef, intptr_t value, struct Buffer *err); ++#ifdef USE_HCACHE_COMPRESSION ++int compress_validator (const struct ConfigSet *cs, const struct ConfigDef *cdef, intptr_t value, struct Buffer *err); ++#endif + #ifdef USE_HCACHE + int hcache_validator (const struct ConfigSet *cs, const struct ConfigDef *cdef, intptr_t value, struct Buffer *err); + #endif +@@ -132,4988 +48,20 @@ int pager_validator (const struct ConfigSet *cs, const struct ConfigDef *cd + int reply_validator (const struct ConfigSet *cs, const struct ConfigDef *cdef, intptr_t value, struct Buffer *err); + int wrapheaders_validator(const struct ConfigSet *cs, const struct ConfigDef *cdef, intptr_t value, struct Buffer *err); + +-struct ConfigDef MuttVars[] = { +- /*++*/ +- +- { "abort_noattach", DT_QUAD, &C_AbortNoattach, MUTT_NO }, +- /* +- ** .pp +- ** If set to \fIyes\fP, when composing messages containing the regular +- ** expression specified by $$abort_noattach_regex and no attachments are +- ** given, composition will be aborted. If set to \fIno\fP, composing messages +- ** as such will never be aborted. +- ** .pp +- ** Example: +- ** .ts +- ** set abort_noattach_regex = "\\" +- ** .te +- */ +- { "abort_noattach_regex", DT_REGEX, &C_AbortNoattachRegex, IP "\\<(attach|attached|attachments?)\\>" }, +- /* +- ** .pp +- ** Specifies a regular expression to match against the body of the message, to +- ** determine if an attachment was mentioned but mistakenly forgotten. If it +- ** matches, $$abort_noattach will be consulted to determine if message sending +- ** will be aborted. +- ** .pp +- ** Like other regular expressions in NeoMutt, the search is case sensitive +- ** if the pattern contains at least one upper case letter, and case +- ** insensitive otherwise. +- */ +- { "abort_nosubject", DT_QUAD, &C_AbortNosubject, MUTT_ASKYES }, +- /* +- ** .pp +- ** If set to \fIyes\fP, when composing messages and no subject is given +- ** at the subject prompt, composition will be aborted. If set to +- ** \fIno\fP, composing messages with no subject given at the subject +- ** prompt will never be aborted. +- */ +- { "abort_unmodified", DT_QUAD, &C_AbortUnmodified, MUTT_YES }, +- /* +- ** .pp +- ** If set to \fIyes\fP, composition will automatically abort after +- ** editing the message body if no changes are made to the file (this +- ** check only happens after the \fIfirst\fP edit of the file). When set +- ** to \fIno\fP, composition will never be aborted. +- */ +- { "alias_file", DT_STRING|DT_PATH, &C_AliasFile, IP "~/.neomuttrc" }, +- /* +- ** .pp +- ** The default file in which to save aliases created by the +- ** \fC$\fP function. Entries added to this file are +- ** encoded in the character set specified by $$config_charset if it +- ** is \fIset\fP or the current character set otherwise. +- ** .pp +- ** \fBNote:\fP NeoMutt will not automatically source this file; you must +- ** explicitly use the "$source" command for it to be executed in case +- ** this option points to a dedicated alias file. +- ** .pp +- ** The default for this option is the currently used neomuttrc file, or +- ** "~/.neomuttrc" if no user neomuttrc was found. +- */ +- { "alias_format", DT_STRING|DT_NOT_EMPTY, &C_AliasFormat, IP "%4n %2f %t %-10a %r" }, +- /* +- ** .pp +- ** Specifies the format of the data displayed for the "$alias" menu. The +- ** following \fCprintf(3)\fP-style sequences are available: +- ** .dl +- ** .dt %a .dd Alias name +- ** .dt %f .dd Flags - currently, a "d" for an alias marked for deletion +- ** .dt %n .dd Index number +- ** .dt %r .dd Address which alias expands to +- ** .dt %t .dd Character which indicates if the alias is tagged for inclusion +- ** .de +- */ +- { "allow_8bit", DT_BOOL, &C_Allow8bit, true }, +- /* +- ** .pp +- ** Controls whether 8-bit data is converted to 7-bit using either Quoted- +- ** Printable or Base64 encoding when sending mail. +- */ +- { "allow_ansi", DT_BOOL, &C_AllowAnsi, false }, +- /* +- ** .pp +- ** Controls whether ANSI color codes in messages (and color tags in +- ** rich text messages) are to be interpreted. +- ** Messages containing these codes are rare, but if this option is \fIset\fP, +- ** their text will be colored accordingly. Note that this may override +- ** your color choices, and even present a security problem, since a +- ** message could include a line like +- ** .ts +- ** [-- PGP output follows ... +- ** .te +- ** .pp +- ** and give it the same color as your attachment color (see also +- ** $$crypt_timestamp). +- */ +- { "arrow_cursor", DT_BOOL|R_MENU, &C_ArrowCursor, false }, +- /* +- ** .pp +- ** When \fIset\fP, an arrow ("->") will be used to indicate the current entry +- ** in menus instead of highlighting the whole line. On slow network or modem +- ** links this will make response faster because there is less that has to +- ** be redrawn on the screen when moving to the next or previous entries +- ** in the menu. +- */ +- { "ascii_chars", DT_BOOL|R_INDEX|R_PAGER, &C_AsciiChars, false }, +- /* +- ** .pp +- ** If \fIset\fP, NeoMutt will use plain ASCII characters when displaying thread +- ** and attachment trees, instead of the default \fIACS\fP characters. +- */ +-#ifdef USE_NNTP +- { "ask_follow_up", DT_BOOL, &C_AskFollowUp, false }, +- /* +- ** .pp +- ** If set, NeoMutt will prompt you for follow-up groups before editing +- ** the body of an outgoing message. +- */ +- { "ask_x_comment_to", DT_BOOL, &C_AskXCommentTo, false }, +- /* +- ** .pp +- ** If set, NeoMutt will prompt you for x-comment-to field before editing +- ** the body of an outgoing message. +- */ +-#endif +- { "askbcc", DT_BOOL, &C_Askbcc, false }, +- /* +- ** .pp +- ** If \fIset\fP, NeoMutt will prompt you for blind-carbon-copy (Bcc) recipients +- ** before editing an outgoing message. +- */ +- { "askcc", DT_BOOL, &C_Askcc, false }, +- /* +- ** .pp +- ** If \fIset\fP, NeoMutt will prompt you for carbon-copy (Cc) recipients before +- ** editing the body of an outgoing message. +- */ +- { "assumed_charset", DT_STRING, &C_AssumedCharset, 0, 0, charset_validator }, +- /* +- ** .pp +- ** This variable is a colon-separated list of character encoding +- ** schemes for messages without character encoding indication. +- ** Header field values and message body content without character encoding +- ** indication would be assumed that they are written in one of this list. +- ** By default, all the header fields and message body without any charset +- ** indication are assumed to be in "us-ascii". +- ** .pp +- ** For example, Japanese users might prefer this: +- ** .ts +- ** set assumed_charset="iso-2022-jp:euc-jp:shift_jis:utf-8" +- ** .te +- ** .pp +- ** However, only the first content is valid for the message body. +- */ +- { "attach_charset", DT_STRING, &C_AttachCharset, 0, 0, charset_validator }, +- /* +- ** .pp +- ** This variable is a colon-separated list of character encoding +- ** schemes for text file attachments. NeoMutt uses this setting to guess +- ** which encoding files being attached are encoded in to convert them to +- ** a proper character set given in $$send_charset. +- ** .pp +- ** If \fIunset\fP, the value of $$charset will be used instead. +- ** For example, the following configuration would work for Japanese +- ** text handling: +- ** .ts +- ** set attach_charset="iso-2022-jp:euc-jp:shift_jis:utf-8" +- ** .te +- ** .pp +- ** Note: for Japanese users, "iso-2022-*" must be put at the head +- ** of the value as shown above if included. +- */ +- { "attach_format", DT_STRING|DT_NOT_EMPTY, &C_AttachFormat, IP "%u%D%I %t%4n %T%.40d%> [%.7m/%.10M, %.6e%?C?, %C?, %s] " }, +- /* +- ** .pp +- ** This variable describes the format of the "attachment" menu. The +- ** following \fCprintf(3)\fP-style sequences are understood: +- ** .dl +- ** .dt %C .dd Charset +- ** .dt %c .dd Requires charset conversion ("n" or "c") +- ** .dt %D .dd Deleted flag +- ** .dt %d .dd Description (if none, falls back to %F) +- ** .dt %e .dd MIME content-transfer-encoding +- ** .dt %f .dd Filename +- ** .dt %F .dd Filename in content-disposition header (if none, falls back to %f) +- ** .dt %I .dd Disposition ("I" for inline, "A" for attachment) +- ** .dt %m .dd Major MIME type +- ** .dt %M .dd MIME subtype +- ** .dt %n .dd Attachment number +- ** .dt %Q .dd "Q", if MIME part qualifies for attachment counting +- ** .dt %s .dd Size (see $formatstrings-size) +- ** .dt %T .dd Graphic tree characters +- ** .dt %t .dd Tagged flag +- ** .dt %u .dd Unlink (=to delete) flag +- ** .dt %X .dd Number of qualifying MIME parts in this part and its children +- ** (please see the "$attachments" section for possible speed effects) +- ** .dt %>X .dd Right justify the rest of the string and pad with character "X" +- ** .dt %|X .dd Pad to the end of the line with character "X" +- ** .dt %*X .dd Soft-fill with character "X" as pad +- ** .de +- ** .pp +- ** For an explanation of "soft-fill", see the $$index_format documentation. +- */ +- { "attach_save_dir", DT_STRING|DT_PATH, &C_AttachSaveDir, IP "./" }, +- /* +- ** .pp +- ** The directory where attachments are saved. +- */ +- { "attach_save_without_prompting", DT_BOOL, &C_AttachSaveWithoutPrompting, false }, +- /* +- ** .pp +- ** This variable, when set to true, will cause attachments to be saved to +- ** the 'attach_save_dir' location without prompting the user for the filename. +- ** .pp +- */ +- { "attach_sep", DT_STRING, &C_AttachSep, IP "\n" }, +- /* +- ** .pp +- ** The separator to add between attachments when operating (saving, +- ** printing, piping, etc) on a list of tagged attachments. +- */ +- { "attach_split", DT_BOOL, &C_AttachSplit, true }, +- /* +- ** .pp +- ** If this variable is \fIunset\fP, when operating (saving, printing, piping, +- ** etc) on a list of tagged attachments, NeoMutt will concatenate the +- ** attachments and will operate on them as a single attachment. The +- ** $$attach_sep separator is added after each attachment. When \fIset\fP, +- ** NeoMutt will operate on the attachments one by one. +- */ +- { "attribution", DT_STRING, &C_Attribution, IP "On %d, %n wrote:" }, +- /* +- ** .pp +- ** This is the string that will precede a message which has been included +- ** in a reply. For a full listing of defined \fCprintf(3)\fP-like sequences see +- ** the section on $$index_format. +- */ +- { "attribution_locale", DT_STRING, &C_AttributionLocale, 0 }, +- /* +- ** .pp +- ** The locale used by \fCstrftime(3)\fP to format dates in the +- ** $attribution string. Legal values are the strings your system +- ** accepts for the locale environment variable \fC$$$LC_TIME\fP. +- ** .pp +- ** This variable is to allow the attribution date format to be +- ** customized by recipient or folder using hooks. By default, NeoMutt +- ** will use your locale environment, so there is no need to set +- ** this except to override that default. +- */ +- { "auto_subscribe", DT_BOOL, &C_AutoSubscribe, false }, +- /* +- ** .pp +- ** When \fIset\fP, NeoMutt assumes the presence of a List-Post header +- ** means the recipient is subscribed to the list. Unless the mailing list +- ** is in the "unsubscribe" or "unlist" lists, it will be added +- ** to the "$subscribe" list. Parsing and checking these things slows +- ** header reading down, so this option is disabled by default. +- */ +- { "auto_tag", DT_BOOL, &C_AutoTag, false }, +- /* +- ** .pp +- ** When \fIset\fP, functions in the \fIindex\fP menu which affect a message +- ** will be applied to all tagged messages (if there are any). When +- ** unset, you must first use the \fC\fP function (bound to ";" +- ** by default) to make the next function apply to all tagged messages. +- */ +-#ifdef USE_AUTOCRYPT +- { "autocrypt", DT_BOOL, &C_Autocrypt, false }, +- /* +- ** .pp +- ** When \fIset\fP, enables autocrypt, which provides +- ** passive encryption protection with keys exchanged via headers. +- ** See ``$autocryptdoc'' for more details. +- ** (Autocrypt only) +- */ +- { "autocrypt_acct_format", DT_STRING|R_MENU, &C_AutocryptAcctFormat, IP "%4n %-30a %20p %10s" }, +- /* +- ** .pp +- ** This variable describes the format of the ``autocrypt account'' menu. +- ** The following \fCprintf(3)\fP-style sequences are understood +- ** .dl +- ** .dt %a .dd email address +- ** .dt %k .dd gpg keyid +- ** .dt %n .dd current entry number +- ** .dt %p .dd prefer-encrypt flag +- ** .dt %s .dd status flag (active/inactive) +- ** .de +- ** .pp +- ** (Autocrypt only) +- */ +- { "autocrypt_dir", DT_STRING|DT_PATH, &C_AutocryptDir, IP "~/.mutt/autocrypt" }, +- /* +- ** .pp +- ** This variable sets where autocrypt files are stored, including the GPG +- ** keyring and sqlite database. See ``$autocryptdoc'' for more details. +- ** (Autocrypt only) +- */ +- { "autocrypt_reply", DT_BOOL, &C_AutocryptReply, true }, +- /* +- ** .pp +- ** When \fIset\fP, replying to an autocrypt email automatically +- ** enables autocrypt in the reply. You may want to unset this if you're using +- ** the same key for autocrypt as normal web-of-trust, so that autocrypt +- ** isn't forced on for all encrypted replies. +- ** (Autocrypt only) +- */ +-#endif +- { "autoedit", DT_BOOL, &C_Autoedit, false }, +- /* +- ** .pp +- ** When \fIset\fP along with $$edit_headers, NeoMutt will skip the initial +- ** send-menu (prompting for subject and recipients) and allow you to +- ** immediately begin editing the body of your +- ** message. The send-menu may still be accessed once you have finished +- ** editing the body of your message. +- ** .pp +- ** \fBNote:\fP when this option is \fIset\fP, you can't use send-hooks that depend +- ** on the recipients when composing a new (non-reply) message, as the initial +- ** list of recipients is empty. +- ** .pp +- ** Also see $$fast_reply. +- */ +- { "beep", DT_BOOL, &C_Beep, true }, +- /* +- ** .pp +- ** When this variable is \fIset\fP, NeoMutt will beep when an error occurs. +- */ +- { "beep_new", DT_BOOL, &C_BeepNew, false }, +- /* +- ** .pp +- ** When this variable is \fIset\fP, NeoMutt will beep whenever it prints a message +- ** notifying you of new mail. This is independent of the setting of the +- ** $$beep variable. +- */ +- { "bounce", DT_QUAD, &C_Bounce, MUTT_ASKYES }, +- /* +- ** .pp +- ** Controls whether you will be asked to confirm bouncing messages. +- ** If set to \fIyes\fP you don't get asked if you want to bounce a +- ** message. Setting this variable to \fIno\fP is not generally useful, +- ** and thus not recommended, because you are unable to bounce messages. +- */ +- { "bounce_delivered", DT_BOOL, &C_BounceDelivered, true }, +- /* +- ** .pp +- ** When this variable is \fIset\fP, NeoMutt will include Delivered-To headers when +- ** bouncing messages. Postfix users may wish to \fIunset\fP this variable. +- */ +- { "braille_friendly", DT_BOOL, &C_BrailleFriendly, false }, +- /* +- ** .pp +- ** When this variable is \fIset\fP, NeoMutt will place the cursor at the beginning +- ** of the current line in menus, even when the $$arrow_cursor variable +- ** is \fIunset\fP, making it easier for blind persons using Braille displays to +- ** follow these menus. The option is \fIunset\fP by default because many +- ** visual terminals don't permit making the cursor invisible. +- */ +- { "browser_abbreviate_mailboxes", DT_BOOL, &C_BrowserAbbreviateMailboxes, true }, +- /* +- ** .pp +- ** When this variable is \fIset\fP, NeoMutt will abbreviate mailbox +- ** names in the browser mailbox list, using '~' and '=' +- ** shortcuts. +- ** .pp +- ** The default \fC"alpha"\fP setting of $$sort_browser uses +- ** locale-based sorting (using \fCstrcoll(3)\fP), which ignores some +- ** punctuation. This can lead to some situations where the order +- ** doesn't make intuitive sense. In those cases, it may be +- ** desirable to \fIunset\fP this variable. +- */ +-#ifdef USE_NNTP +- { "catchup_newsgroup", DT_QUAD, &C_CatchupNewsgroup, MUTT_ASKYES }, +- /* +- ** .pp +- ** If this variable is \fIset\fP, NeoMutt will mark all articles in newsgroup +- ** as read when you quit the newsgroup (catchup newsgroup). +- */ +-#endif +-#ifdef USE_SSL +- { "certificate_file", DT_STRING|DT_PATH, &C_CertificateFile, IP "~/.mutt_certificates" }, +- /* +- ** .pp +- ** This variable specifies the file where the certificates you trust +- ** are saved. When an unknown certificate is encountered, you are asked +- ** if you accept it or not. If you accept it, the certificate can also +- ** be saved in this file and further connections are automatically +- ** accepted. +- ** .pp +- ** You can also manually add CA certificates in this file. Any server +- ** certificate that is signed with one of these CA certificates is +- ** also automatically accepted. +- ** .pp +- ** Example: +- ** .ts +- ** set certificate_file=~/.neomutt/certificates +- ** .te +- */ +-#endif +- { "change_folder_next", DT_BOOL, &C_ChangeFolderNext, false }, +- /* +- ** .pp +- ** When this variable is \fIset\fP, the \fC\fP function +- ** mailbox suggestion will start at the next folder in your "$mailboxes" +- ** list, instead of starting at the first folder in the list. +- */ +- { "charset", DT_STRING|DT_NOT_EMPTY, &C_Charset, 0, 0, charset_validator }, +- /* +- ** .pp +- ** Character set your terminal uses to display and enter textual data. +- ** It is also the fallback for $$send_charset. +- ** .pp +- ** Upon startup NeoMutt tries to derive this value from environment variables +- ** such as \fC$$$LC_CTYPE\fP or \fC$$$LANG\fP. +- ** .pp +- ** \fBNote:\fP It should only be set in case NeoMutt isn't able to determine the +- ** character set used correctly. +- */ +- { "check_mbox_size", DT_BOOL, &C_CheckMboxSize, false }, +- /* +- ** .pp +- ** When this variable is \fIset\fP, NeoMutt will use file size attribute instead of +- ** access time when checking for new mail in mbox and mmdf folders. +- ** .pp +- ** This variable is \fIunset\fP by default and should only be enabled when +- ** new mail detection for these folder types is unreliable or doesn't work. +- ** .pp +- ** Note that enabling this variable should happen before any "$mailboxes" +- ** directives occur in configuration files regarding mbox or mmdf folders +- ** because NeoMutt needs to determine the initial new mail status of such a +- ** mailbox by performing a fast mailbox scan when it is defined. +- ** Afterwards the new mail status is tracked by file size changes. +- */ +- { "check_new", DT_BOOL, &C_CheckNew, true }, +- /* +- ** .pp +- ** \fBNote:\fP this option only affects \fImaildir\fP and \fIMH\fP style +- ** mailboxes. +- ** .pp +- ** When \fIset\fP, NeoMutt will check for new mail delivered while the +- ** mailbox is open. Especially with MH mailboxes, this operation can +- ** take quite some time since it involves scanning the directory and +- ** checking each file to see if it has already been looked at. If +- ** this variable is \fIunset\fP, no check for new mail is performed +- ** while the mailbox is open. +- */ +- { "collapse_all", DT_BOOL, &C_CollapseAll, false }, +- /* +- ** .pp +- ** When \fIset\fP, NeoMutt will collapse all threads when entering a folder. +- */ +- { "collapse_flagged", DT_BOOL, &C_CollapseFlagged, true }, +- /* +- ** .pp +- ** When \fIunset\fP, NeoMutt will not collapse a thread if it contains any +- ** flagged messages. +- */ +- { "collapse_unread", DT_BOOL, &C_CollapseUnread, true }, +- /* +- ** .pp +- ** When \fIunset\fP, NeoMutt will not collapse a thread if it contains any +- ** unread messages. +- */ +- { "compose_format", DT_STRING|R_MENU, &C_ComposeFormat, IP "-- NeoMutt: Compose [Approx. msg size: %l Atts: %a]%>-" }, +- /* +- ** .pp +- ** Controls the format of the status line displayed in the "compose" +- ** menu. This string is similar to $$status_format, but has its own +- ** set of \fCprintf(3)\fP-like sequences: +- ** .dl +- ** .dt %a .dd Total number of attachments +- ** .dt %h .dd Local hostname +- ** .dt %l .dd Approximate size (in bytes) of the current message (see $formatstrings-size) +- ** .dt %v .dd NeoMutt version string +- ** .de +- ** .pp +- ** See the text describing the $$status_format option for more +- ** information on how to set $$compose_format. +- */ +- { "config_charset", DT_STRING, &C_ConfigCharset, 0, 0, charset_validator }, +- /* +- ** .pp +- ** When defined, NeoMutt will recode commands in rc files from this +- ** encoding to the current character set as specified by $$charset +- ** and aliases written to $$alias_file from the current character set. +- ** .pp +- ** Please note that if setting $$charset it must be done before +- ** setting $$config_charset. +- ** .pp +- ** Recoding should be avoided as it may render unconvertable +- ** characters as question marks which can lead to undesired +- ** side effects (for example in regular expressions). +- */ +- { "confirmappend", DT_BOOL, &C_Confirmappend, true }, +- /* +- ** .pp +- ** When \fIset\fP, NeoMutt will prompt for confirmation when appending messages to +- ** an existing mailbox. +- */ +- { "confirmcreate", DT_BOOL, &C_Confirmcreate, true }, +- /* +- ** .pp +- ** When \fIset\fP, NeoMutt will prompt for confirmation when saving messages to a +- ** mailbox which does not yet exist before creating it. +- */ +- { "connect_timeout", DT_NUMBER, &C_ConnectTimeout, 30 }, +- /* +- ** .pp +- ** Causes NeoMutt to timeout a network connection (for IMAP, POP or SMTP) after this +- ** many seconds if the connection is not able to be established. A negative +- ** value causes NeoMutt to wait indefinitely for the connection attempt to succeed. +- */ +- { "content_type", DT_STRING, &C_ContentType, IP "text/plain" }, +- /* +- ** .pp +- ** Sets the default Content-Type for the body of newly composed messages. +- */ +- { "copy", DT_QUAD, &C_Copy, MUTT_YES }, +- /* +- ** .pp +- ** This variable controls whether or not copies of your outgoing messages +- ** will be saved for later references. Also see $$record, +- ** $$save_name, $$force_name and "$fcc-hook". +- */ +- { "crypt_autoencrypt", DT_BOOL, &C_CryptAutoencrypt, false }, +- /* +- ** .pp +- ** Setting this variable will cause NeoMutt to always attempt to PGP +- ** encrypt outgoing messages. This is probably only useful in +- ** connection to the "$send-hook" command. It can be overridden +- ** by use of the pgp menu, when encryption is not required or +- ** signing is requested as well. If $$smime_is_default is \fIset\fP, +- ** then OpenSSL is used instead to create S/MIME messages and +- ** settings can be overridden by use of the smime menu instead. +- ** (Crypto only) +- */ +- { "crypt_autopgp", DT_BOOL, &C_CryptAutopgp, true }, +- /* +- ** .pp +- ** This variable controls whether or not NeoMutt may automatically enable +- ** PGP encryption/signing for messages. See also $$crypt_autoencrypt, +- ** $$crypt_replyencrypt, +- ** $$crypt_autosign, $$crypt_replysign and $$smime_is_default. +- */ +- { "crypt_autosign", DT_BOOL, &C_CryptAutosign, false }, +- /* +- ** .pp +- ** Setting this variable will cause NeoMutt to always attempt to +- ** cryptographically sign outgoing messages. This can be overridden +- ** by use of the pgp menu, when signing is not required or +- ** encryption is requested as well. If $$smime_is_default is \fIset\fP, +- ** then OpenSSL is used instead to create S/MIME messages and settings can +- ** be overridden by use of the smime menu instead of the pgp menu. +- ** (Crypto only) +- */ +- { "crypt_autosmime", DT_BOOL, &C_CryptAutosmime, true }, +- /* +- ** .pp +- ** This variable controls whether or not NeoMutt may automatically enable +- ** S/MIME encryption/signing for messages. See also $$crypt_autoencrypt, +- ** $$crypt_replyencrypt, +- ** $$crypt_autosign, $$crypt_replysign and $$smime_is_default. +- */ +- { "crypt_chars", DT_MBTABLE|R_INDEX|R_PAGER, &C_CryptChars, IP "SPsK " }, +- /* +- ** .pp +- ** Controls the characters used in cryptography flags. +- ** .dl +- ** .dt \fBCharacter\fP .dd \fBDefault\fP .dd \fBDescription\fP +- ** .dt 1 .dd S .dd The mail is signed, and the signature is successfully verified. +- ** .dt 2 .dd P .dd The mail is PGP encrypted. +- ** .dt 3 .dd s .dd The mail is signed. +- ** .dt 4 .dd K .dd The mail contains a PGP public key. +- ** .dt 5 .dd .dd The mail has no crypto info. +- ** .de +- */ +- { "crypt_confirmhook", DT_BOOL, &C_CryptConfirmhook, true }, +- /* +- ** .pp +- ** If set, then you will be prompted for confirmation of keys when using +- ** the \fIcrypt-hook\fP command. If unset, no such confirmation prompt will +- ** be presented. This is generally considered unsafe, especially where +- ** typos are concerned. +- */ +- { "crypt_opportunistic_encrypt", DT_BOOL, &C_CryptOpportunisticEncrypt, false }, +- /* +- ** .pp +- ** Setting this variable will cause NeoMutt to automatically enable and +- ** disable encryption, based on whether all message recipient keys +- ** can be located by NeoMutt. +- ** .pp +- ** When this option is enabled, NeoMutt will enable/disable encryption +- ** each time the TO, CC, and BCC lists are edited. If +- ** $$edit_headers is set, NeoMutt will also do so each time the message +- ** is edited. +- ** .pp +- ** While this is set, encryption can't be manually enabled/disabled. +- ** The pgp or smime menus provide a selection to temporarily disable +- ** this option for the current message. +- ** .pp +- ** If $$crypt_autoencrypt or $$crypt_replyencrypt enable encryption for +- ** a message, this option will be disabled for that message. It can +- ** be manually re-enabled in the pgp or smime menus. +- ** (Crypto only) +- */ +- { "crypt_protected_headers_read", DT_BOOL, &C_CryptProtectedHeadersRead, true }, +- /* +- ** .pp +- ** When set, NeoMutt will display protected headers ("Memory Hole") in the pager, +- ** and will update the index and header cache with revised headers. +- ** +- ** Protected headers are stored inside the encrypted or signed part of an +- ** an email, to prevent disclosure or tampering. +- ** For more information see https://github.com/autocrypt/memoryhole. +- ** Currently NeoMutt only supports the Subject header. +- ** .pp +- ** Encrypted messages using protected headers often substitute the exposed +- ** Subject header with a dummy value (see $$crypt_protected_headers_subject). +- ** NeoMutt will update its concept of the correct subject \fBafter\fP the +- ** message is opened, i.e. via the \fC\fP function. +- ** If you reply to a message before opening it, NeoMutt will end up using +- ** the dummy Subject header, so be sure to open such a message first. +- ** (Crypto only) +- */ +- { "crypt_protected_headers_save", DT_BOOL, &C_CryptProtectedHeadersSave, false }, +- /* +- ** .pp +- ** When $$crypt_protected_headers_read is set, and a message with a +- ** protected Subject is opened, NeoMutt will save the updated Subject +- ** into the header cache by default. This allows searching/limiting +- ** based on the protected Subject header if the mailbox is +- ** re-opened, without having to re-open the message each time. +- ** However, for mbox/mh mailbox types, or if header caching is not +- ** set up, you would need to re-open the message each time the +- ** mailbox was reopened before you could see or search/limit on the +- ** protected subject again. +- ** .pp +- ** When this variable is set, NeoMutt additionally saves the protected +- ** Subject back \fBin the clear-text message headers\fP. This +- ** provides better usability, but with the tradeoff of reduced +- ** security. The protected Subject header, which may have +- ** previously been encrypted, is now stored in clear-text in the +- ** message headers. Copying the message elsewhere, via NeoMutt or +- ** external tools, could expose this previously encrypted data. +- ** Please make sure you understand the consequences of this before +- ** you enable this variable. +- ** (Crypto only) +- */ +- { "crypt_protected_headers_subject", DT_STRING, &C_CryptProtectedHeadersSubject, IP "Encrypted subject" }, +- /* +- ** .pp +- ** When $$crypt_protected_headers_write is set, and the message is marked +- ** for encryption, this will be substituted into the Subject field in the +- ** message headers. +- ** +- ** To prevent a subject from being substituted, unset this variable, or set it +- ** to the empty string. +- ** (Crypto only) +- */ +- { "crypt_protected_headers_write", DT_BOOL, &C_CryptProtectedHeadersWrite, false }, +- /* +- ** .pp +- ** When set, NeoMutt will generate protected headers ("Memory Hole") for +- ** signed and encrypted emails. +- ** +- ** Protected headers are stored inside the encrypted or signed part of an +- ** an email, to prevent disclosure or tampering. +- ** For more information see https://github.com/autocrypt/memoryhole. +- ** +- ** Currently NeoMutt only supports the Subject header. +- ** (Crypto only) +- */ +- { "crypt_replyencrypt", DT_BOOL, &C_CryptReplyencrypt, true }, +- /* +- ** .pp +- ** If \fIset\fP, automatically PGP or OpenSSL encrypt replies to messages which are +- ** encrypted. +- ** (Crypto only) +- */ +- { "crypt_replysign", DT_BOOL, &C_CryptReplysign, false }, +- /* +- ** .pp +- ** If \fIset\fP, automatically PGP or OpenSSL sign replies to messages which are +- ** signed. +- ** .pp +- ** \fBNote:\fP this does not work on messages that are encrypted +- ** \fIand\fP signed! +- ** (Crypto only) +- */ +- { "crypt_replysignencrypted", DT_BOOL, &C_CryptReplysignencrypted, false }, +- /* +- ** .pp +- ** If \fIset\fP, automatically PGP or OpenSSL sign replies to messages +- ** which are encrypted. This makes sense in combination with +- ** $$crypt_replyencrypt, because it allows you to sign all +- ** messages which are automatically encrypted. This works around +- ** the problem noted in $$crypt_replysign, that NeoMutt is not able +- ** to find out whether an encrypted message is also signed. +- ** (Crypto only) +- */ +- { "crypt_timestamp", DT_BOOL, &C_CryptTimestamp, true }, +- /* +- ** .pp +- ** If \fIset\fP, NeoMutt will include a time stamp in the lines surrounding +- ** PGP or S/MIME output, so spoofing such lines is more difficult. +- ** If you are using colors to mark these lines, and rely on these, +- ** you may \fIunset\fP this setting. +- ** (Crypto only) +- */ +- { "crypt_use_gpgme", DT_BOOL, &C_CryptUseGpgme, false }, +- /* +- ** .pp +- ** This variable controls the use of the GPGME-enabled crypto backends. +- ** If it is \fIset\fP and NeoMutt was built with gpgme support, the gpgme code for +- ** S/MIME and PGP will be used instead of the classic code. Note that +- ** you need to set this option in .neomuttrc; it won't have any effect when +- ** used interactively. +- ** .pp +- ** Note that the GPGME backend does not support creating old-style inline +- ** (traditional) PGP encrypted or signed messages (see $$pgp_autoinline). +- */ +- { "crypt_use_pka", DT_BOOL, &C_CryptUsePka, false }, +- /* +- ** .pp +- ** Controls whether NeoMutt uses PKA +- ** (see http://www.g10code.de/docs/pka-intro.de.pdf) during signature +- ** verification (only supported by the GPGME backend). +- */ +- { "crypt_verify_sig", DT_QUAD, &C_CryptVerifySig, MUTT_YES }, +- /* +- ** .pp +- ** If \fI"yes"\fP, always attempt to verify PGP or S/MIME signatures. +- ** If \fI"ask-*"\fP, ask whether or not to verify the signature. +- ** If \fI"no"\fP, never attempt to verify cryptographic signatures. +- ** (Crypto only) +- */ +- { "date_format", DT_STRING|DT_NOT_EMPTY|R_MENU, &C_DateFormat, IP "!%a, %b %d, %Y at %I:%M:%S%p %Z" }, +- /* +- ** .pp +- ** This variable controls the format of the date printed by the "%d" +- ** sequence in $$index_format. This is passed to the \fCstrftime(3)\fP +- ** function to process the date, see the man page for the proper syntax. +- ** .pp +- ** Unless the first character in the string is a bang ("!"), the month +- ** and week day names are expanded according to the locale. +- ** If the first character in the string is a +- ** bang, the bang is discarded, and the month and week day names in the +- ** rest of the string are expanded in the \fIC\fP locale (that is in US +- ** English). +- */ +- { "debug_file", DT_STRING|DT_PATH, &C_DebugFile, IP "~/.neomuttdebug" }, +- /* +- ** .pp +- ** Debug logging is controlled by the variables \fC$$debug_file\fP and \fC$$debug_level\fP. +- ** \fC$$debug_file\fP specifies the root of the filename. NeoMutt will add "0" to the end. +- ** Each time NeoMutt is run with logging enabled, the log files are rotated. +- ** A maximum of five log files are kept, numbered 0 (most recent) to 4 (oldest). +- ** .pp +- ** This option can be enabled on the command line, "neomutt -l mylog" +- ** .pp +- ** See also: \fC$$debug_level\fP +- */ +- { "debug_level", DT_NUMBER, &C_DebugLevel, 0, 0, level_validator }, +- /* +- ** .pp +- ** Debug logging is controlled by the variables \fC$$debug_file\fP and \fC$$debug_level\fP. +- ** .pp +- ** The debug level controls how much information is saved to the log file. +- ** If you have a problem with NeoMutt, then enabling logging may help find the cause. +- ** Levels 1-3 will usually provide enough information for writing a bug report. +- ** Levels 4,5 will be extremely verbose. +- ** .pp +- ** Warning: Logging at high levels may save private information to the file. +- ** .pp +- ** This option can be enabled on the command line, "neomutt -d 2" +- ** .pp +- ** See also: \fC$$debug_file\fP +- */ +- { "default_hook", DT_STRING, &C_DefaultHook, IP "~f %s !~P | (~P ~C %s)" }, +- /* +- ** .pp +- ** This variable controls how "$message-hook", "$reply-hook", "$send-hook", +- ** "$send2-hook", "$save-hook", and "$fcc-hook" will +- ** be interpreted if they are specified with only a simple regex, +- ** instead of a matching pattern. The hooks are expanded when they are +- ** declared, so a hook will be interpreted according to the value of this +- ** variable at the time the hook is declared. +- ** .pp +- ** The default value matches +- ** if the message is either from a user matching the regular expression +- ** given, or if it is from you (if the from address matches +- ** "$alternates") and is to or cc'ed to a user matching the given +- ** regular expression. +- */ +- { "delete", DT_QUAD, &C_Delete, MUTT_ASKYES }, +- /* +- ** .pp +- ** Controls whether or not messages are really deleted when closing or +- ** synchronizing a mailbox. If set to \fIyes\fP, messages marked for +- ** deleting will automatically be purged without prompting. If set to +- ** \fIno\fP, messages marked for deletion will be kept in the mailbox. +- */ +- { "delete_untag", DT_BOOL, &C_DeleteUntag, true }, +- /* +- ** .pp +- ** If this option is \fIset\fP, NeoMutt will untag messages when marking them +- ** for deletion. This applies when you either explicitly delete a message, +- ** or when you save it to another folder. +- */ +- { "digest_collapse", DT_BOOL, &C_DigestCollapse, true }, +- /* +- ** .pp +- ** If this option is \fIset\fP, NeoMutt's received-attachments menu will not show the subparts of +- ** individual messages in a multipart/digest. To see these subparts, press "v" on that menu. +- */ +- { "display_filter", DT_STRING|DT_COMMAND|R_PAGER, &C_DisplayFilter, 0 }, +- /* +- ** .pp +- ** When set, specifies a command used to filter messages. When a message +- ** is viewed it is passed as standard input to $$display_filter, and the +- ** filtered message is read from the standard output. +- ** .pp +- ** When preparing the message, NeoMutt inserts some escape sequences into the +- ** text. They are of the form: \fC]9;XXX\fP where "XXX" is a random +- ** 64-bit number. +- ** .pp +- ** If these escape sequences interfere with your filter, they can be removed +- ** using a tool like \fCansifilter\fP or \fCsed 's/^\x1b]9;[0-9]\+\x7//'\fP +- ** .pp +- ** If they are removed, then PGP and MIME headers will no longer be coloured. +- ** This can be fixed by adding this to your config: +- ** \fCcolor body magenta default '^\[-- .* --\]$$$'\fP. +- */ +- { "dsn_notify", DT_STRING, &C_DsnNotify, 0 }, +- /* +- ** .pp +- ** This variable sets the request for when notification is returned. The +- ** string consists of a comma separated list (no spaces!) of one or more +- ** of the following: \fInever\fP, to never request notification, +- ** \fIfailure\fP, to request notification on transmission failure, +- ** \fIdelay\fP, to be notified of message delays, \fIsuccess\fP, to be +- ** notified of successful transmission. +- ** .pp +- ** Example: +- ** .ts +- ** set dsn_notify="failure,delay" +- ** .te +- ** .pp +- ** \fBNote:\fP when using $$sendmail for delivery, you should not enable +- ** this unless you are either using Sendmail 8.8.x or greater or a MTA +- ** providing a \fCsendmail(1)\fP-compatible interface supporting the \fC-N\fP option +- ** for DSN. For SMTP delivery, DSN support is auto-detected so that it +- ** depends on the server whether DSN will be used or not. +- */ +- { "dsn_return", DT_STRING, &C_DsnReturn, 0 }, +- /* +- ** .pp +- ** This variable controls how much of your message is returned in DSN +- ** messages. It may be set to either \fIhdrs\fP to return just the +- ** message header, or \fIfull\fP to return the full message. +- ** .pp +- ** Example: +- ** .ts +- ** set dsn_return=hdrs +- ** .te +- ** .pp +- ** \fBNote:\fP when using $$sendmail for delivery, you should not enable +- ** this unless you are either using Sendmail 8.8.x or greater or a MTA +- ** providing a \fCsendmail(1)\fP-compatible interface supporting the \fC-R\fP option +- ** for DSN. For SMTP delivery, DSN support is auto-detected so that it +- ** depends on the server whether DSN will be used or not. +- */ +- { "duplicate_threads", DT_BOOL|R_RESORT|R_RESORT_INIT|R_INDEX, &C_DuplicateThreads, true, 0, pager_validator }, +- /* +- ** .pp +- ** This variable controls whether NeoMutt, when $$sort is set to \fIthreads\fP, threads +- ** messages with the same Message-Id together. If it is \fIset\fP, it will indicate +- ** that it thinks they are duplicates of each other with an equals sign +- ** in the thread tree. +- */ +- { "edit_headers", DT_BOOL, &C_EditHeaders, false }, +- /* +- ** .pp +- ** This option allows you to edit the header of your outgoing messages +- ** along with the body of your message. +- ** .pp +- ** Although the compose menu may have localized header labels, the +- ** labels passed to your editor will be standard RFC2822 headers, +- ** (e.g. To:, Cc:, Subject:). Headers added in your editor must +- ** also be RFC2822 headers, or one of the pseudo headers listed in +- ** "$edit-header". NeoMutt will not understand localized header +- ** labels, just as it would not when parsing an actual email. +- ** .pp +- ** \fBNote\fP that changes made to the References: and Date: headers are +- ** ignored for interoperability reasons. +- */ +- { "editor", DT_STRING|DT_COMMAND, &C_Editor, IP "vi" }, +- /* +- ** .pp +- ** This variable specifies which editor is used by NeoMutt. +- ** It defaults to the value of the \fC$$$VISUAL\fP, or \fC$$$EDITOR\fP, environment +- ** variable, or to the string "vi" if neither of those are set. +- ** .pp +- ** The \fC$$editor\fP string may contain a \fI%s\fP escape, which will be replaced by the name +- ** of the file to be edited. If the \fI%s\fP escape does not appear in \fC$$editor\fP, a +- ** space and the name to be edited are appended. +- ** .pp +- ** The resulting string is then executed by running +- ** .ts +- ** sh -c 'string' +- ** .te +- ** .pp +- ** where \fIstring\fP is the expansion of \fC$$editor\fP described above. +- */ +- { "empty_subject", DT_STRING, &C_EmptySubject, IP "Re: your mail" }, +- /* +- ** .pp +- ** This variable specifies the subject to be used when replying to an email +- ** with an empty subject. It defaults to "Re: your mail". +- */ +- { "encode_from", DT_BOOL, &C_EncodeFrom, false }, +- /* +- ** .pp +- ** When \fIset\fP, NeoMutt will quoted-printable encode messages when +- ** they contain the string "From " (note the trailing space) in the beginning of a line. +- ** This is useful to avoid the tampering certain mail delivery and transport +- ** agents tend to do with messages (in order to prevent tools from +- ** misinterpreting the line as a mbox message separator). +- */ +-#ifdef USE_SSL_OPENSSL +- { "entropy_file", DT_STRING|DT_PATH, &C_EntropyFile, 0 }, +- /* +- ** .pp +- ** The file which includes random data that is used to initialize SSL +- ** library functions. +- */ +-#endif +- { "envelope_from_address", DT_ADDRESS, &C_EnvelopeFromAddress, 0 }, +- /* +- ** .pp +- ** Manually sets the \fIenvelope\fP sender for outgoing messages. +- ** This value is ignored if $$use_envelope_from is \fIunset\fP. +- */ +- { "escape", DT_STRING, &C_Escape, IP "~" }, +- /* +- ** .pp +- ** Escape character to use for functions in the built-in editor. +- */ +- { "external_search_command", DT_STRING|DT_COMMAND, &C_ExternalSearchCommand, 0 }, +- /* +- ** .pp +- ** If set, contains the name of the external program used by "~I" patterns. +- ** This will usually be a wrapper script around mairix, mu, or similar +- ** indexers other than notmuch (for which there is optional special support). +- ** .pp +- ** Here is an example how it works. Let's assume $$external_search_command +- ** is set to "mairix_filter", and mairix_filter is a script which +- ** runs the old but well loved mairix indexer with the arguments +- ** given to mairix_filter, in the "raw" mode of mairix, producing +- ** on the standard output a list of Message-IDs, one per line. +- ** .pp +- ** If possible, it also filters down the results coming from mairix +- ** such that only messages in the current folder remain. It can do +- ** this because it gets a hidden first argument which is the path +- ** to the folder. +- ** (This can be the type of clean and simple script called a \fIone-liner\fP.) +- ** .pp +- ** Now if NeoMutt gets a limit or tag command followed by the pattern +- ** "~I '-t s:bleeping='", mairix_filter runs mairix with the +- ** arguments from inside the quotes (the quotes are needed because +- ** of the space after "-t"), mairix finds all messages with +- ** "bleeping" in the Subject plus all messages sharing threads +- ** with these and outputs their file names, and mairix_filter +- ** translates the file names into Message-IDs. Finally, NeoMutt +- ** reads the Message-IDs and targets the matching messages with the +- ** command given to it. +- ** .pp +- ** You, the user, still have to rewrite the mairix_filter script to +- ** match the behavior of your indexer, but this should help users +- ** of indexers other than notmuch to integrate them cleanly with NeoMutt. +- */ +- { "fast_reply", DT_BOOL, &C_FastReply, false }, +- /* +- ** .pp +- ** When \fIset\fP, the initial prompt for recipients and subject are skipped +- ** when replying to messages, and the initial prompt for subject is +- ** skipped when forwarding messages. +- ** .pp +- ** \fBNote:\fP this variable has no effect when the $$autoedit +- ** variable is \fIset\fP. +- */ +- { "fcc_attach", DT_QUAD, &C_FccAttach, MUTT_YES }, +- /* +- ** .pp +- ** This variable controls whether or not attachments on outgoing messages +- ** are saved along with the main body of your message. +- */ +- { "fcc_before_send", DT_BOOL, &C_FccBeforeSend, false }, +- /* +- ** .pp +- ** When this variable is \fIset\fP, FCCs will occur before sending +- ** the message. Before sending, the message cannot be manipulated, +- ** so it will be stored the exact same as sent: +- ** $$fcc_attach and $$fcc_clear will be ignored (using their default +- ** values). +- ** .pp +- ** When \fIunset\fP, the default, FCCs will occur after sending. +- ** Variables $$fcc_attach and $$fcc_clear will be respected, allowing +- ** it to be stored without attachments or encryption/signing if +- ** desired. +- */ +- { "fcc_clear", DT_BOOL, &C_FccClear, false }, +- /* +- ** .pp +- ** When this variable is \fIset\fP, FCCs will be stored unencrypted and +- ** unsigned, even when the actual message is encrypted and/or +- ** signed. +- ** (PGP only) +- */ +- { "flag_chars", DT_MBTABLE|R_INDEX|R_PAGER, &C_FlagChars, IP "*!DdrONon- " }, +- /* +- ** .pp +- ** Controls the characters used in several flags. +- ** .dl +- ** .dt \fBCharacter\fP .dd \fBDefault\fP .dd \fBDescription\fP +- ** .dt 1 .dd * .dd The mail is tagged. +- ** .dt 2 .dd ! .dd The mail is flagged as important. +- ** .dt 3 .dd D .dd The mail is marked for deletion. +- ** .dt 4 .dd d .dd The mail has attachments marked for deletion. +- ** .dt 5 .dd r .dd The mail has been replied to. +- ** .dt 6 .dd O .dd The mail is Old (Unread but seen). +- ** .dt 7 .dd N .dd The mail is New (Unread but not seen). +- ** .dt 8 .dd o .dd The mail thread is Old (Unread but seen). +- ** .dt 9 .dd n .dd The mail thread is New (Unread but not seen). +- ** .dt 10 .dd - .dd The mail is read - %S expando. +- ** .dt 11 .dd .dd The mail is read - %Z expando. +- ** .de +- */ +- { "flag_safe", DT_BOOL, &C_FlagSafe, false }, +- /* +- ** .pp +- ** If set, flagged messages can't be deleted. +- */ +- { "folder", DT_STRING|DT_PATH|DT_MAILBOX, &C_Folder, IP "~/Mail" }, +- /* +- ** .pp +- ** Specifies the default location of your mailboxes. A "+" or "=" at the +- ** beginning of a pathname will be expanded to the value of this +- ** variable. Note that if you change this variable (from the default) +- ** value you need to make sure that the assignment occurs \fIbefore\fP +- ** you use "+" or "=" for any other variables since expansion takes place +- ** when handling the "$mailboxes" command. +- */ +- { "folder_format", DT_STRING|DT_NOT_EMPTY|R_MENU, &C_FolderFormat, IP "%2C %t %N %F %2l %-8.8u %-8.8g %8s %d %i" }, +- /* +- ** .pp +- ** This variable allows you to customize the file browser display to your +- ** personal taste. This string is similar to $$index_format, but has +- ** its own set of \fCprintf(3)\fP-like sequences: +- ** .dl +- ** .dt %C .dd Current file number +- ** .dt %d .dd Date/time folder was last modified +- ** .dt %D .dd Date/time folder was last modified using $$date_format. +- ** .dt %f .dd Filename ("/" is appended to directory names, +- ** "@" to symbolic links and "*" to executable files) +- ** .dt %F .dd File permissions +- ** .dt %g .dd Group name (or numeric gid, if missing) +- ** .dt %i .dd Description of the folder +- ** .dt %l .dd Number of hard links +- ** .dt %m .dd Number of messages in the mailbox * +- ** .dt %n .dd Number of unread messages in the mailbox * +- ** .dt %N .dd "N" if mailbox has new mail, blank otherwise +- ** .dt %s .dd Size in bytes (see $formatstrings-size) +- ** .dt %t .dd "*" if the file is tagged, blank otherwise +- ** .dt %u .dd Owner name (or numeric uid, if missing) +- ** .dt %>X .dd Right justify the rest of the string and pad with character "X" +- ** .dt %|X .dd Pad to the end of the line with character "X" +- ** .dt %*X .dd Soft-fill with character "X" as pad +- ** .de +- ** .pp +- ** For an explanation of "soft-fill", see the $$index_format documentation. +- ** .pp +- ** * = can be optionally printed if nonzero +- ** .pp +- ** %m, %n, and %N only work for monitored mailboxes. +- ** %m requires $$mail_check_stats to be set. +- ** %n requires $$mail_check_stats to be set (except for IMAP mailboxes). +- */ +- { "followup_to", DT_BOOL, &C_FollowupTo, true }, +- /* +- ** .pp +- ** Controls whether or not the "Mail-Followup-To:" header field is +- ** generated when sending mail. When \fIset\fP, NeoMutt will generate this +- ** field when you are replying to a known mailing list, specified with +- ** the "$subscribe" or "$lists" commands. +- ** .pp +- ** This field has two purposes. First, preventing you from +- ** receiving duplicate copies of replies to messages which you send +- ** to mailing lists, and second, ensuring that you do get a reply +- ** separately for any messages sent to known lists to which you are +- ** not subscribed. +- ** .pp +- ** The header will contain only the list's address +- ** for subscribed lists, and both the list address and your own +- ** email address for unsubscribed lists. Without this header, a +- ** group reply to your message sent to a subscribed list will be +- ** sent to both the list and your address, resulting in two copies +- ** of the same email for you. +- */ +-#ifdef USE_NNTP +- { "followup_to_poster", DT_QUAD, &C_FollowupToPoster, MUTT_ASKYES }, +- /* +- ** .pp +- ** If this variable is \fIset\fP and the keyword "poster" is present in +- ** \fIFollowup-To\fP header, follow-up to newsgroup function is not +- ** permitted. The message will be mailed to the submitter of the +- ** message via mail. +- */ +-#endif +- { "force_name", DT_BOOL, &C_ForceName, false }, +- /* +- ** .pp +- ** This variable is similar to $$save_name, except that NeoMutt will +- ** store a copy of your outgoing message by the username of the address +- ** you are sending to even if that mailbox does not exist. +- ** .pp +- ** Also see the $$record variable. +- */ +- { "forward_attachments", DT_QUAD, &C_ForwardAttachments, MUTT_ASKYES }, +- /* +- ** .pp +- ** When forwarding inline (i.e. $$mime_forward \fIunset\fP or +- ** answered with ``no'' and $$forward_decode \fIset\fP), attachments +- ** which cannot be decoded in a reasonable manner will be attached +- ** to the newly composed message if this quadoption is \fIset\fP or +- ** answered with ``yes''. +- */ +- { "forward_attribution_intro", DT_STRING, &C_ForwardAttributionIntro, IP "----- Forwarded message from %f -----" }, +- /* +- ** .pp +- ** This is the string that will precede a message which has been forwarded +- ** in the main body of a message (when $$mime_forward is unset). +- ** For a full listing of defined \fCprintf(3)\fP-like sequences see +- ** the section on $$index_format. See also $$attribution_locale. +- */ +- { "forward_attribution_trailer", DT_STRING, &C_ForwardAttributionTrailer, IP "----- End forwarded message -----" }, +- /* +- ** .pp +- ** This is the string that will follow a message which has been forwarded +- ** in the main body of a message (when $$mime_forward is unset). +- ** For a full listing of defined \fCprintf(3)\fP-like sequences see +- ** the section on $$index_format. See also $$attribution_locale. +- */ +- { "forward_decode", DT_BOOL, &C_ForwardDecode, true }, +- /* +- ** .pp +- ** Controls the decoding of complex MIME messages into \fCtext/plain\fP when +- ** forwarding a message. The message header is also RFC2047 decoded. +- ** This variable is only used, if $$mime_forward is \fIunset\fP, +- ** otherwise $$mime_forward_decode is used instead. +- */ +- { "forward_decrypt", DT_BOOL, &C_ForwardDecrypt, true }, +- /* +- ** .pp +- ** Controls the handling of encrypted messages when forwarding a message. +- ** When \fIset\fP, the outer layer of encryption is stripped off. This +- ** variable is only used if $$mime_forward is \fIset\fP and +- ** $$mime_forward_decode is \fIunset\fP. +- ** (PGP only) +- */ +- { "forward_edit", DT_QUAD, &C_ForwardEdit, MUTT_YES }, +- /* +- ** .pp +- ** This quadoption controls whether or not the user is automatically +- ** placed in the editor when forwarding messages. For those who always want +- ** to forward with no modification, use a setting of "no". +- */ +- { "forward_format", DT_STRING|DT_NOT_EMPTY, &C_ForwardFormat, IP "[%a: %s]" }, +- /* +- ** .pp +- ** This variable controls the default subject when forwarding a message. +- ** It uses the same format sequences as the $$index_format variable. +- */ +- { "forward_quote", DT_BOOL, &C_ForwardQuote, false }, +- /* +- ** .pp +- ** When \fIset\fP, forwarded messages included in the main body of the +- ** message (when $$mime_forward is \fIunset\fP) will be quoted using +- ** $$indent_string. +- */ +- { "forward_references", DT_BOOL, &C_ForwardReferences, false }, +- /* +- ** .pp +- ** When \fIset\fP, forwarded messages set the "In-Reply-To:" and +- ** "References:" headers in the same way as normal replies would. Hence the +- ** forwarded message becomes part of the original thread instead of starting +- ** a new one. +- */ +- { "from", DT_ADDRESS, &C_From, 0 }, +- /* +- ** .pp +- ** When \fIset\fP, this variable contains a default "from" address. It +- ** can be overridden using "$my_hdr" (including from a "$send-hook") and +- ** $$reverse_name. This variable is ignored if $$use_from is \fIunset\fP. +- ** .pp +- ** If not specified, then it may be read from the environment variable \fC$$$EMAIL\fP. +- */ +- { "from_chars", DT_MBTABLE|R_INDEX|R_PAGER, &C_FromChars, 0 }, +- /* +- ** .pp +- ** Controls the character used to prefix the %F and %L fields in the +- ** index. +- ** .dl +- ** .dt \fBCharacter\fP .dd \fBDescription\fP +- ** .dt 1 .dd Mail is written by you and has a To address, or has a known mailing list in the To address. +- ** .dt 2 .dd Mail is written by you and has a Cc address, or has a known mailing list in the Cc address. +- ** .dt 3 .dd Mail is written by you and has a Bcc address. +- ** .dt 4 .dd All remaining cases. +- ** .de +- ** .pp +- ** If this is empty or unset (default), the traditional long "To ", +- ** "Cc " and "Bcc " prefixes are used. If set but too short to +- ** include a character for a particular case, a single space will be +- ** prepended to the field. To prevent any prefix at all from being +- ** added in a particular case, use the special value CR (aka ^M) +- ** for the corresponding character. +- ** .pp +- ** This slightly odd interface is necessitated by NeoMutt's handling of +- ** string variables; one can't tell a variable that is unset from one +- ** that is set to the empty string. +- */ +- { "gecos_mask", DT_REGEX, &C_GecosMask, IP "^[^,]*" }, +- /* +- ** .pp +- ** A regular expression used by NeoMutt to parse the GECOS field of a password +- ** entry when expanding the alias. The default value +- ** will return the string up to the first "," encountered. +- ** If the GECOS field contains a string like "lastname, firstname" then you +- ** should set it to "\fC.*\fP". +- ** .pp +- ** This can be useful if you see the following behavior: you address an e-mail +- ** to user ID "stevef" whose full name is "Steve Franklin". If NeoMutt expands +- ** "stevef" to '"Franklin" stevef@foo.bar' then you should set the $$gecos_mask to +- ** a regular expression that will match the whole name so NeoMutt will expand +- ** "Franklin" to "Franklin, Steve". +- */ +-#ifdef USE_NNTP +- { "group_index_format", DT_STRING|DT_NOT_EMPTY|R_INDEX|R_PAGER, &C_GroupIndexFormat, IP "%4C %M%N %5s %-45.45f %d" }, +- /* +- ** .pp +- ** This variable allows you to customize the newsgroup browser display to +- ** your personal taste. This string is similar to "$index_format", but +- ** has its own set of printf()-like sequences: +- ** .dl +- ** .dt %C .dd Current newsgroup number +- ** .dt %d .dd Description of newsgroup (becomes from server) +- ** .dt %f .dd Newsgroup name +- ** .dt %M .dd - if newsgroup not allowed for direct post (moderated for example) +- ** .dt %N .dd N if newsgroup is new, u if unsubscribed, blank otherwise +- ** .dt %n .dd Number of new articles in newsgroup +- ** .dt %s .dd Number of unread articles in newsgroup +- ** .dt %>X .dd Right justify the rest of the string and pad with character "X" +- ** .dt %|X .dd Pad to the end of the line with character "X" +- ** .de +- */ +-#endif +- { "hdrs", DT_BOOL, &C_Hdrs, true }, +- /* +- ** .pp +- ** When \fIunset\fP, the header fields normally added by the "$my_hdr" +- ** command are not created. This variable \fImust\fP be unset before +- ** composing a new message or replying in order to take effect. If \fIset\fP, +- ** the user defined header fields are added to every new message. +- */ +- { "header", DT_BOOL, &C_Header, false }, +- /* +- ** .pp +- ** When \fIset\fP, this variable causes NeoMutt to include the header +- ** of the message you are replying to into the edit buffer. +- ** The $$weed setting applies. +- */ +-#ifdef USE_HCACHE +- { "header_cache", DT_STRING|DT_PATH, &C_HeaderCache, 0 }, +- /* +- ** .pp +- ** This variable points to the header cache database. If the path points to +- ** an existing directory, NeoMutt will create a dedicated header cache +- ** database per folder. Otherwise, the path points to a regular file, which +- ** will be created as needed and used as a shared global header cache for +- ** all folders. +- ** By default it is \fIunset\fP so no header caching will be used. +- ** .pp +- ** Header caching can greatly improve speed when opening POP, IMAP +- ** MH or Maildir folders, see "$caching" for details. +- */ +- { "header_cache_backend", DT_STRING, &C_HeaderCacheBackend, 0, 0, hcache_validator }, +- /* +- ** .pp +- ** This variable specifies the header cache backend. +- */ +-#if defined(HAVE_QDBM) || defined(HAVE_TC) || defined(HAVE_KC) +- { "header_cache_compress", DT_BOOL, &C_HeaderCacheCompress, true }, +- /* +- ** .pp +- ** When NeoMutt is compiled with qdbm, tokyocabinet or kyotocabinet +- ** as header cache backend, this option determines whether the +- ** database will be compressed. Compression results in database +- ** files roughly being one fifth of the usual diskspace, but the +- ** decompression can result in a slower opening of cached folder(s) +- ** which in general is still much faster than opening non header +- ** cached folders. +- */ +-#endif /* HAVE_QDBM */ +-#if defined(HAVE_GDBM) || defined(HAVE_BDB) +- { "header_cache_pagesize", DT_LONG|DT_NOT_NEGATIVE, &C_HeaderCachePagesize, 16384 }, +- /* +- ** .pp +- ** When NeoMutt is compiled with either gdbm or bdb4 as the header cache backend, +- ** this option changes the database page size. Too large or too small +- ** values can waste space, memory, or CPU time. The default should be more +- ** or less optimal for most use cases. +- */ +-#endif /* HAVE_GDBM || HAVE_BDB */ +-#endif /* USE_HCACHE */ +- { "header_color_partial", DT_BOOL|R_PAGER_FLOW, &C_HeaderColorPartial, false }, +- /* +- ** .pp +- ** When \fIset\fP, color header regexes behave like color body regexes: +- ** color is applied to the exact text matched by the regex. When +- ** \fIunset\fP, color is applied to the entire header. +- ** .pp +- ** One use of this option might be to apply color to just the header labels. +- ** .pp +- ** See "$color" for more details. +- */ +- { "help", DT_BOOL|R_REFLOW, &C_Help, true }, +- /* +- ** .pp +- ** When \fIset\fP, help lines describing the bindings for the major functions +- ** provided by each menu are displayed on the first line of the screen. +- ** .pp +- ** \fBNote:\fP The binding will not be displayed correctly if the +- ** function is bound to a sequence rather than a single keystroke. Also, +- ** the help line may not be updated if a binding is changed while NeoMutt is +- ** running. Since this variable is primarily aimed at new users, neither +- ** of these should present a major problem. +- */ +- { "hidden_host", DT_BOOL, &C_HiddenHost, false }, +- /* +- ** .pp +- ** When \fIset\fP, NeoMutt will skip the host name part of $$hostname variable +- ** when adding the domain part to addresses. This variable does not +- ** affect the generation of Message-IDs, and it will not lead to the +- ** cut-off of first-level domains. +- */ +- { "hidden_tags", DT_SLIST|SLIST_SEP_COMMA, &C_HiddenTags, IP "unread,draft,flagged,passed,replied,attachment,signed,encrypted" }, +- /* +- ** .pp +- ** This variable specifies private notmuch/imap tags which should not be printed +- ** on screen. +- */ +- { "hide_limited", DT_BOOL|R_TREE|R_INDEX, &C_HideLimited, false }, +- /* +- ** .pp +- ** When \fIset\fP, NeoMutt will not show the presence of messages that are hidden +- ** by limiting, in the thread tree. +- */ +- { "hide_missing", DT_BOOL|R_TREE|R_INDEX, &C_HideMissing, true }, +- /* +- ** .pp +- ** When \fIset\fP, NeoMutt will not show the presence of missing messages in the +- ** thread tree. +- */ +- { "hide_thread_subject", DT_BOOL|R_TREE|R_INDEX, &C_HideThreadSubject, true }, +- /* +- ** .pp +- ** When \fIset\fP, NeoMutt will not show the subject of messages in the thread +- ** tree that have the same subject as their parent or closest previously +- ** displayed sibling. +- */ +- { "hide_top_limited", DT_BOOL|R_TREE|R_INDEX, &C_HideTopLimited, false }, +- /* +- ** .pp +- ** When \fIset\fP, NeoMutt will not show the presence of messages that are hidden +- ** by limiting, at the top of threads in the thread tree. Note that when +- ** $$hide_limited is \fIset\fP, this option will have no effect. +- */ +- { "hide_top_missing", DT_BOOL|R_TREE|R_INDEX, &C_HideTopMissing, true }, +- /* +- ** .pp +- ** When \fIset\fP, NeoMutt will not show the presence of missing messages at the +- ** top of threads in the thread tree. Note that when $$hide_missing is +- ** \fIset\fP, this option will have no effect. +- */ +- { "history", DT_NUMBER|DT_NOT_NEGATIVE, &C_History, 10 }, +- /* +- ** .pp +- ** This variable controls the size (in number of strings remembered) of +- ** the string history buffer per category. The buffer is cleared each time the +- ** variable is set. +- */ +- { "history_file", DT_STRING|DT_PATH, &C_HistoryFile, IP "~/.mutthistory" }, +- /* +- ** .pp +- ** The file in which NeoMutt will save its history. +- ** .pp +- ** Also see $$save_history. +- */ +- { "history_remove_dups", DT_BOOL, &C_HistoryRemoveDups, false }, +- /* +- ** .pp +- ** When \fIset\fP, all of the string history will be scanned for duplicates +- ** when a new entry is added. Duplicate entries in the $$history_file will +- ** also be removed when it is periodically compacted. +- */ +- { "honor_disposition", DT_BOOL, &C_HonorDisposition, false }, +- /* +- ** .pp +- ** When \fIset\fP, NeoMutt will not display attachments with a +- ** disposition of "attachment" inline even if it could +- ** render the part to plain text. These MIME parts can only +- ** be viewed from the attachment menu. +- ** .pp +- ** If \fIunset\fP, NeoMutt will render all MIME parts it can +- ** properly transform to plain text. +- */ +- { "honor_followup_to", DT_QUAD, &C_HonorFollowupTo, MUTT_YES }, +- /* +- ** .pp +- ** This variable controls whether or not a Mail-Followup-To header is +- ** honored when group-replying to a message. +- */ +- { "hostname", DT_STRING, &C_Hostname, 0 }, +- /* +- ** .pp +- ** Specifies the fully-qualified hostname of the system NeoMutt is running on +- ** containing the host's name and the DNS domain it belongs to. It is used +- ** as the domain part (after "@") for local email addresses as well as +- ** Message-Id headers. +- ** .pp +- ** If not specified in a config file, then NeoMutt will try to determine the hostname itself. +- ** .pp +- ** Optionally, NeoMutt can be compiled with a fixed domain name. +- ** .pp +- ** Also see $$use_domain and $$hidden_host. +- */ +-#ifdef HAVE_LIBIDN +- { "idn_decode", DT_BOOL|R_MENU, &C_IdnDecode, true }, +- /* +- ** .pp +- ** When \fIset\fP, NeoMutt will show you international domain names decoded. +- ** Note: You can use IDNs for addresses even if this is \fIunset\fP. +- ** This variable only affects decoding. (IDN only) +- */ +- { "idn_encode", DT_BOOL|R_MENU, &C_IdnEncode, true }, +- /* +- ** .pp +- ** When \fIset\fP, NeoMutt will encode international domain names using +- ** IDN. Unset this if your SMTP server can handle newer (RFC6531) +- ** UTF-8 encoded domains. (IDN only) +- */ +-#endif /* HAVE_LIBIDN */ +- { "ignore_list_reply_to", DT_BOOL, &C_IgnoreListReplyTo, false }, +- /* +- ** .pp +- ** Affects the behavior of the \fC\fP function when replying to +- ** messages from mailing lists (as defined by the "$subscribe" or +- ** "$lists" commands). When \fIset\fP, if the "Reply-To:" field is +- ** set to the same value as the "To:" field, NeoMutt assumes that the +- ** "Reply-To:" field was set by the mailing list to automate responses +- ** to the list, and will ignore this field. To direct a response to the +- ** mailing list when this option is \fIset\fP, use the \fC$\fP +- ** function; \fC\fP will reply to both the sender and the +- ** list. +- */ +-#ifdef USE_IMAP +- { "imap_authenticators", DT_SLIST|SLIST_SEP_COLON, &C_ImapAuthenticators, 0 }, +- /* +- ** .pp +- ** This is a colon-delimited list of authentication methods NeoMutt may +- ** attempt to use to log in to an IMAP server, in the order NeoMutt should +- ** try them. Authentication methods are either "login" or the right +- ** side of an IMAP "AUTH=xxx" capability string, e.g. "digest-md5", "gssapi" +- ** or "cram-md5". This option is case-insensitive. If it's +- ** \fIunset\fP (the default) NeoMutt will try all available methods, +- ** in order from most-secure to least-secure. +- ** .pp +- ** Example: +- ** .ts +- ** set imap_authenticators="gssapi:cram-md5:login" +- ** .te +- ** .pp +- ** \fBNote:\fP NeoMutt will only fall back to other authentication methods if +- ** the previous methods are unavailable. If a method is available but +- ** authentication fails, NeoMutt will not connect to the IMAP server. +- */ +- { "imap_check_subscribed", DT_BOOL, &C_ImapCheckSubscribed, false }, +- /* +- ** .pp +- ** When \fIset\fP, NeoMutt will fetch the set of subscribed folders from +- ** your server whenever a mailbox is \fBselected\fP, and add them to the set +- ** of mailboxes it polls for new mail just as if you had issued individual +- ** "$mailboxes" commands. +- */ +- { "imap_condstore", DT_BOOL, &C_ImapCondstore, false }, +- /* +- ** .pp +- ** When \fIset\fP, NeoMutt will use the CONDSTORE extension (RFC 7162) +- ** if advertised by the server. NeoMutt's current implementation is basic, +- ** used only for initial message fetching and flag updates. +- ** .pp +- ** For some IMAP servers, enabling this will slightly speed up +- ** downloading initial messages. Unfortunately, Gmail is not one +- ** those, and displays worse performance when enabled. Your +- ** mileage may vary. +- */ +- { "imap_delim_chars", DT_STRING, &C_ImapDelimChars, IP "/." }, +- /* +- ** .pp +- ** This contains the list of characters which you would like to treat +- ** as folder separators for displaying IMAP paths. In particular it +- ** helps in using the "=" shortcut for your \fIfolder\fP variable. +- */ +- { "imap_fetch_chunk_size", DT_LONG|DT_NOT_NEGATIVE, &C_ImapFetchChunkSize, 0 }, +- /* +- ** .pp +- ** When set to a value greater than 0, new headers will be downloaded +- ** in sets of this size. If you have a very large mailbox, this might +- ** prevent a timeout and disconnect when opening the mailbox, by sending +- ** a FETCH per set of this size instead of a single FETCH for all new +- ** headers. +- */ +- { "imap_headers", DT_STRING|R_INDEX, &C_ImapHeaders, 0 }, +- /* +- ** .pp +- ** NeoMutt requests these header fields in addition to the default headers +- ** ("Date:", "From:", "Sender:", "Subject:", "To:", "Cc:", "Message-Id:", +- ** "References:", "Content-Type:", "Content-Description:", "In-Reply-To:", +- ** "Reply-To:", "Lines:", "List-Post:", "X-Label:") from IMAP +- ** servers before displaying the index menu. You may want to add more +- ** headers for spam detection. +- ** .pp +- ** \fBNote:\fP This is a space separated list, items should be uppercase +- ** and not contain the colon, e.g. "X-BOGOSITY X-SPAM-STATUS" for the +- ** "X-Bogosity:" and "X-Spam-Status:" header fields. +- */ +- { "imap_idle", DT_BOOL, &C_ImapIdle, false }, +- /* +- ** .pp +- ** When \fIset\fP, NeoMutt will attempt to use the IMAP IDLE extension +- ** to check for new mail in the current mailbox. Some servers +- ** (dovecot was the inspiration for this option) react badly +- ** to NeoMutt's implementation. If your connection seems to freeze +- ** up periodically, try unsetting this. +- */ +- { "imap_keepalive", DT_NUMBER|DT_NOT_NEGATIVE, &C_ImapKeepalive, 300 }, +- /* +- ** .pp +- ** This variable specifies the maximum amount of time in seconds that NeoMutt +- ** will wait before polling open IMAP connections, to prevent the server +- ** from closing them before NeoMutt has finished with them. The default is +- ** well within the RFC-specified minimum amount of time (30 minutes) before +- ** a server is allowed to do this, but in practice the RFC does get +- ** violated every now and then. Reduce this number if you find yourself +- ** getting disconnected from your IMAP server due to inactivity. +- */ +- { "imap_list_subscribed", DT_BOOL, &C_ImapListSubscribed, false }, +- /* +- ** .pp +- ** This variable configures whether IMAP folder browsing will look for +- ** only subscribed folders or all folders. This can be toggled in the +- ** IMAP browser with the \fC\fP function. +- */ +- { "imap_login", DT_STRING|DT_SENSITIVE, &C_ImapLogin, 0 }, +- /* +- ** .pp +- ** Your login name on the IMAP server. +- ** .pp +- ** This variable defaults to the value of $$imap_user. +- */ +- { "imap_oauth_refresh_command", DT_STRING|DT_COMMAND|DT_SENSITIVE, &C_ImapOauthRefreshCommand, 0 }, +- /* +- ** .pp +- ** The command to run to generate an OAUTH refresh token for +- ** authorizing your connection to your IMAP server. This command will be +- ** run on every connection attempt that uses the OAUTHBEARER authentication +- ** mechanism. See "$oauth" for details. +- */ +- { "imap_pass", DT_STRING|DT_SENSITIVE, &C_ImapPass, 0 }, +- /* +- ** .pp +- ** Specifies the password for your IMAP account. If \fIunset\fP, NeoMutt will +- ** prompt you for your password when you invoke the \fC\fP function +- ** or try to open an IMAP folder. +- ** .pp +- ** \fBWarning\fP: you should only use this option when you are on a +- ** fairly secure machine, because the superuser can read your neomuttrc even +- ** if you are the only one who can read the file. +- */ +- { "imap_passive", DT_BOOL, &C_ImapPassive, true }, +- /* +- ** .pp +- ** When \fIset\fP, NeoMutt will not open new IMAP connections to check for new +- ** mail. NeoMutt will only check for new mail over existing IMAP +- ** connections. This is useful if you don't want to be prompted for +- ** user/password pairs on NeoMutt invocation, or if opening the connection +- ** is slow. +- */ +- { "imap_peek", DT_BOOL, &C_ImapPeek, true }, +- /* +- ** .pp +- ** When \fIset\fP, NeoMutt will avoid implicitly marking your mail as read whenever +- ** you fetch a message from the server. This is generally a good thing, +- ** but can make closing an IMAP folder somewhat slower. This option +- ** exists to appease speed freaks. +- */ +- { "imap_pipeline_depth", DT_NUMBER|DT_NOT_NEGATIVE, &C_ImapPipelineDepth, 15 }, +- /* +- ** .pp +- ** Controls the number of IMAP commands that may be queued up before they +- ** are sent to the server. A deeper pipeline reduces the amount of time +- ** NeoMutt must wait for the server, and can make IMAP servers feel much +- ** more responsive. But not all servers correctly handle pipelined commands, +- ** so if you have problems you might want to try setting this variable to 0. +- ** .pp +- ** \fBNote:\fP Changes to this variable have no effect on open connections. +- */ +- { "imap_poll_timeout", DT_NUMBER|DT_NOT_NEGATIVE, &C_ImapPollTimeout, 15 }, +- /* +- ** .pp +- ** This variable specifies the maximum amount of time in seconds +- ** that NeoMutt will wait for a response when polling IMAP connections +- ** for new mail, before timing out and closing the connection. Set +- ** to 0 to disable timing out. +- */ +- { "imap_qresync", DT_BOOL, &C_ImapQresync, false }, +- /* +- ** .pp +- ** When \fIset\fP, NeoMutt will use the QRESYNC extension (RFC 7162) +- ** if advertised by the server. NeoMutt's current implementation is basic, +- ** used only for initial message fetching and flag updates. +- ** .pp +- ** Note: this feature is currently experimental. If you experience +- ** strange behavior, such as duplicate or missing messages please +- ** file a bug report to let us know. +- */ +- { "imap_rfc5161", DT_BOOL, &C_ImapRfc5161, true }, +- /* +- ** .pp +- ** When \fIset\fP, NeoMutt will use the IMAP ENABLE extension (RFC 5161) to +- ** select CAPABILITIES. Some servers (notably Coremail System IMap Server) do +- ** not properly respond to ENABLE commands, which might cause NeoMutt to hang. +- ** If your connection seems to freeze at login, try unsetting this. See also +- ** https://github.com/neomutt/neomutt/issues/1689 +- */ +- { "imap_servernoise", DT_BOOL, &C_ImapServernoise, true }, +- /* +- ** .pp +- ** When \fIset\fP, NeoMutt will display warning messages from the IMAP +- ** server as error messages. Since these messages are often +- ** harmless, or generated due to configuration problems on the +- ** server which are out of the users' hands, you may wish to suppress +- ** them at some point. +- */ +- { "imap_user", DT_STRING|DT_SENSITIVE, &C_ImapUser, 0 }, +- /* +- ** .pp +- ** The name of the user whose mail you intend to access on the IMAP +- ** server. +- ** .pp +- ** This variable defaults to your user name on the local machine. +- */ +-#endif +- { "implicit_autoview", DT_BOOL, &C_ImplicitAutoview, false }, +- /* +- ** .pp +- ** If set to "yes", NeoMutt will look for a mailcap entry with the +- ** "\fCcopiousoutput\fP" flag set for \fIevery\fP MIME attachment it doesn't have +- ** an internal viewer defined for. If such an entry is found, NeoMutt will +- ** use the viewer defined in that entry to convert the body part to text +- ** form. +- */ +- { "include", DT_QUAD, &C_Include, MUTT_ASKYES }, +- /* +- ** .pp +- ** Controls whether or not a copy of the message(s) you are replying to +- ** is included in your reply. +- */ +- { "include_encrypted", DT_BOOL, &C_IncludeEncrypted, false }, +- /* +- ** .pp +- ** Controls whether or not NeoMutt includes separately encrypted attachment +- ** contents when replying. +- ** .pp +- ** This variable was added to prevent accidental exposure of encrypted +- ** contents when replying to an attacker. If a previously encrypted message +- ** were attached by the attacker, they could trick an unwary recipient into +- ** decrypting and including the message in their reply. +- */ +- { "include_onlyfirst", DT_BOOL, &C_IncludeOnlyfirst, false }, +- /* +- ** .pp +- ** Controls whether or not NeoMutt includes only the first attachment +- ** of the message you are replying. +- */ +- { "indent_string", DT_STRING, &C_IndentString, IP "> " }, +- /* +- ** .pp +- ** Specifies the string to prepend to each line of text quoted in a +- ** message to which you are replying. You are strongly encouraged not to +- ** change this value, as it tends to agitate the more fanatical netizens. +- ** .pp +- ** The value of this option is ignored if $$text_flowed is set, because +- ** the quoting mechanism is strictly defined for format=flowed. +- ** .pp +- ** This option is a format string, please see the description of +- ** $$index_format for supported \fCprintf(3)\fP-style sequences. +- */ +- { "index_format", DT_STRING|DT_NOT_EMPTY|R_INDEX|R_PAGER, &C_IndexFormat, IP "%4C %Z %{%b %d} %-15.15L (%?l?%4l&%4c?) %s" }, +- /* +- ** .pp +- ** This variable allows you to customize the message index display to +- ** your personal taste. +- ** .pp +- ** "Format strings" are similar to the strings used in the C +- ** function \fCprintf(3)\fP to format output (see the man page for more details). +- ** For an explanation of the %? construct, see the $status_format description. +- ** The following sequences are defined in NeoMutt: +- ** .dl +- ** .dt %a .dd Address of the author +- ** .dt %A .dd Reply-to address (if present; otherwise: address of author) +- ** .dt %b .dd Filename of the original message folder (think mailbox) +- ** .dt %B .dd The list to which the letter was sent, or else the folder name (%b). +- ** .dt %C .dd Current message number +- ** .dt %c .dd Number of characters (bytes) in the body of the message (see $formatstrings-size) +- ** .dt %cr .dd Number of characters (bytes) in the raw message, including the header (see $formatstrings-size) +- ** .dt %D .dd Date and time of message using $date_format and local timezone +- ** .dt %d .dd Date and time of message using $date_format and sender's timezone +- ** .dt %e .dd Current message number in thread +- ** .dt %E .dd Number of messages in current thread +- ** .dt %F .dd Author name, or recipient name if the message is from you +- ** .dt %Fp .dd Like %F, but plain. No contextual formatting is applied to recipient name +- ** .dt %f .dd Sender (address + real name), either From: or Return-Path: +- ** .dt %g .dd Newsgroup name (if compiled with NNTP support) +- ** .dt %g .dd Message tags (e.g. notmuch tags/imap flags) +- ** .dt %Gx .dd Individual message tag (e.g. notmuch tags/imap flags) +- ** .dt %H .dd Spam attribute(s) of this message +- ** .dt %I .dd Initials of author +- ** .dt %i .dd Message-id of the current message +- ** .dt %J .dd Message tags (if present, tree unfolded, and != parent's tags) +- ** .dt %K .dd The list to which the letter was sent (if any; otherwise: empty) +- ** .dt %L .dd If an address in the "To:" or "Cc:" header field matches an address +- ** Defined by the users "$subscribe" command, this displays +- ** "To ", otherwise the same as %F +- ** .dt %l .dd number of lines in the unprocessed message (may not work with +- ** maildir, mh, and IMAP folders) +- ** .dt %M .dd Number of hidden messages if the thread is collapsed +- ** .dt %m .dd Total number of message in the mailbox +- ** .dt %N .dd Message score +- ** .dt %n .dd Author's real name (or address if missing) +- ** .dt %O .dd Original save folder where NeoMutt would formerly have +- ** Stashed the message: list name or recipient name +- ** If not sent to a list +- ** .dt %P .dd Progress indicator for the built-in pager (how much of the file has been displayed) +- ** .dt %q .dd Newsgroup name (if compiled with NNTP support) +- ** .dt %R .dd Comma separated list of "Cc:" recipients +- ** .dt %r .dd Comma separated list of "To:" recipients +- ** .dt %S .dd Single character status of the message ("N"/"O"/"D"/"d"/"!"/"r"/"\(as") +- ** .dt %s .dd Subject of the message +- ** .dt %T .dd The appropriate character from the $$to_chars string +- ** .dt %t .dd "To:" field (recipients) +- ** .dt %u .dd User (login) name of the author +- ** .dt %v .dd First name of the author, or the recipient if the message is from you +- ** .dt %W .dd Name of organization of author ("Organization:" field) +- ** .dt %x .dd "X-Comment-To:" field (if present and compiled with NNTP support) +- ** .dt %X .dd Number of MIME attachments +- ** (please see the "$attachments" section for possible speed effects) +- ** .dt %Y .dd "X-Label:" field, if present, and \fI(1)\fP not at part of a thread tree, +- ** \fI(2)\fP at the top of a thread, or \fI(3)\fP "X-Label:" is different from +- ** Preceding message's "X-Label:" +- ** .dt %y .dd "X-Label:" field, if present +- ** .dt %Z .dd A three character set of message status flags. +- ** The first character is new/read/replied flags ("n"/"o"/"r"/"O"/"N"). +- ** The second is deleted or encryption flags ("D"/"d"/"S"/"P"/"s"/"K"). +- ** The third is either tagged/flagged ("\(as"/"!"), or one of the characters +- ** Listed in $$to_chars. +- ** .dt %zc .dd Message crypto flags +- ** .dt %zs .dd Message status flags +- ** .dt %zt .dd Message tag flags +- ** .dt %@name@ .dd insert and evaluate format-string from the matching +- ** ``$index-format-hook'' command +- ** .dt %{fmt} .dd the date and time of the message is converted to sender's +- ** time zone, and "fmt" is expanded by the library function +- ** \fCstrftime(3)\fP; a leading bang disables locales +- ** .dt %[fmt] .dd the date and time of the message is converted to the local +- ** time zone, and "fmt" is expanded by the library function +- ** \fCstrftime(3)\fP; a leading bang disables locales +- ** .dt %(fmt) .dd the local date and time when the message was received. +- ** "fmt" is expanded by the library function \fCstrftime(3)\fP; +- ** a leading bang disables locales +- ** .dt %>X .dd right justify the rest of the string and pad with character "X" +- ** .dt %|X .dd pad to the end of the line with character "X" +- ** .dt %*X .dd soft-fill with character "X" as pad +- ** .de +- ** .pp +- ** Date format expressions can be constructed based on relative dates. Using +- ** the date formatting operators along with nested conditionals, the date +- ** format can be modified based on how old a message is. See the section on +- ** "Conditional Dates" for an explanation and examples +- ** .pp +- ** Note that for mbox/mmdf, ``%l'' applies to the unprocessed message, and +- ** for maildir/mh, the value comes from the ``Lines:'' header field when +- ** present (the meaning is normally the same). Thus the value depends on +- ** the encodings used in the different parts of the message and has little +- ** meaning in practice. +- ** .pp +- ** "Soft-fill" deserves some explanation: Normal right-justification +- ** will print everything to the left of the "%>", displaying padding and +- ** whatever lies to the right only if there's room. By contrast, +- ** soft-fill gives priority to the right-hand side, guaranteeing space +- ** to display it and showing padding only if there's still room. If +- ** necessary, soft-fill will eat text leftwards to make room for +- ** rightward text. +- ** .pp +- ** Note that these expandos are supported in +- ** ``$save-hook'', ``$fcc-hook'' and ``$fcc-save-hook'', too. +- */ +-#ifdef USE_NNTP +- { "inews", DT_STRING|DT_COMMAND, &C_Inews, 0 }, +- /* +- ** .pp +- ** If set, specifies the program and arguments used to deliver news posted +- ** by NeoMutt. Otherwise, NeoMutt posts article using current connection to +- ** news server. The following printf-style sequence is understood: +- ** .dl +- ** .dt %a .dd account url +- ** .dt %p .dd port +- ** .dt %P .dd port if specified +- ** .dt %s .dd news server name +- ** .dt %S .dd url schema +- ** .dt %u .dd username +- ** .de +- ** .pp +- ** Example: +- ** .ts +- ** set inews="/usr/local/bin/inews -hS" +- ** .te +- */ +-#endif +- { "ispell", DT_STRING|DT_COMMAND, &C_Ispell, IP ISPELL }, +- /* +- ** .pp +- ** How to invoke ispell (GNU's spell-checking software). +- */ +- { "keep_flagged", DT_BOOL, &C_KeepFlagged, false }, +- /* +- ** .pp +- ** If \fIset\fP, read messages marked as flagged will not be moved +- ** from your spool mailbox to your $$mbox mailbox, or as a result of +- ** a "$mbox-hook" command. +- */ +- { "mail_check", DT_NUMBER|DT_NOT_NEGATIVE, &C_MailCheck, 5 }, +- /* +- ** .pp +- ** This variable configures how often (in seconds) NeoMutt should look for +- ** new mail. Also see the $$timeout variable. +- */ +- { "mail_check_recent", DT_BOOL, &C_MailCheckRecent, true }, +- /* +- ** .pp +- ** When \fIset\fP, NeoMutt will only notify you about new mail that has been received +- ** since the last time you opened the mailbox. When \fIunset\fP, NeoMutt will notify you +- ** if any new mail exists in the mailbox, regardless of whether you have visited it +- ** recently. +- ** .pp +- ** When \fI$$mark_old\fP is set, NeoMutt does not consider the mailbox to contain new +- ** mail if only old messages exist. +- */ +- { "mail_check_stats", DT_BOOL, &C_MailCheckStats, false }, +- /* +- ** .pp +- ** When \fIset\fP, NeoMutt will periodically calculate message +- ** statistics of a mailbox while polling for new mail. It will +- ** check for unread, flagged, and total message counts. Because +- ** this operation is more performance intensive, it defaults to +- ** \fIunset\fP, and has a separate option, $$mail_check_stats_interval, to +- ** control how often to update these counts. +- ** .pp +- ** Message statistics can also be explicitly calculated by invoking the +- ** \fC\fP function. +- */ +- { "mail_check_stats_interval", DT_NUMBER|DT_NOT_NEGATIVE, &C_MailCheckStatsInterval, 60 }, +- /* +- ** .pp +- ** When $$mail_check_stats is \fIset\fP, this variable configures +- ** how often (in seconds) NeoMutt will update message counts. +- */ +- { "mailcap_path", DT_SLIST|SLIST_SEP_COLON, &C_MailcapPath, IP "~/.mailcap:" PKGDATADIR "/mailcap:" SYSCONFDIR "/mailcap:/etc/mailcap:/usr/etc/mailcap:/usr/local/etc/mailcap" }, +- /* +- ** .pp +- ** This variable specifies which files to consult when attempting to +- ** display MIME bodies not directly supported by NeoMutt. The default value +- ** is generated during startup: see the ``$mailcap'' section of the manual. +- ** .pp +- ** $$mailcap_path is overridden by the environment variable \fC$$$MAILCAPS\fP. +- ** .pp +- ** The default search path is from RFC1524. +- */ +- { "mailcap_sanitize", DT_BOOL, &C_MailcapSanitize, true }, +- /* +- ** .pp +- ** If \fIset\fP, NeoMutt will restrict possible characters in mailcap % expandos +- ** to a well-defined set of safe characters. This is the safe setting, +- ** but we are not sure it doesn't break some more advanced MIME stuff. +- ** .pp +- ** \fBDON'T CHANGE THIS SETTING UNLESS YOU ARE REALLY SURE WHAT YOU ARE +- ** DOING!\fP +- */ +- { "maildir_check_cur", DT_BOOL, &C_MaildirCheckCur, false }, +- /* +- ** .pp +- ** If \fIset\fP, NeoMutt will poll both the new and cur directories of +- ** a maildir folder for new messages. This might be useful if other +- ** programs interacting with the folder (e.g. dovecot) are moving new +- ** messages to the cur directory. Note that setting this option may +- ** slow down polling for new messages in large folders, since NeoMutt has +- ** to scan all cur messages. +- */ +-#ifdef USE_HCACHE +- { "maildir_header_cache_verify", DT_BOOL, &C_MaildirHeaderCacheVerify, true }, +- /* +- ** .pp +- ** Check for Maildir unaware programs other than NeoMutt having modified maildir +- ** files when the header cache is in use. This incurs one \fCstat(2)\fP per +- ** message every time the folder is opened (which can be very slow for NFS +- ** folders). +- */ +-#endif +- { "maildir_trash", DT_BOOL, &C_MaildirTrash, false }, +- /* +- ** .pp +- ** If \fIset\fP, messages marked as deleted will be saved with the maildir +- ** trashed flag instead of unlinked. \fBNote:\fP this only applies +- ** to maildir-style mailboxes. Setting it will have no effect on other +- ** mailbox types. +- */ +- { "mark_macro_prefix", DT_STRING, &C_MarkMacroPrefix, IP "'" }, +- /* +- ** .pp +- ** Prefix for macros created using mark-message. A new macro +- ** automatically generated with \fIa\fP will be composed +- ** from this prefix and the letter \fIa\fP. +- */ +- { "mark_old", DT_BOOL|R_INDEX|R_PAGER, &C_MarkOld, true }, +- /* +- ** .pp +- ** Controls whether or not NeoMutt marks \fInew\fP \fBunread\fP +- ** messages as \fIold\fP if you exit a mailbox without reading them. +- ** With this option \fIset\fP, the next time you start NeoMutt, the messages +- ** will show up with an "O" next to them in the index menu, +- ** indicating that they are old. +- */ +- { "markers", DT_BOOL|R_PAGER_FLOW, &C_Markers, true }, +- /* +- ** .pp +- ** Controls the display of wrapped lines in the internal pager. If set, a +- ** "+" marker is displayed at the beginning of wrapped lines. +- ** .pp +- ** Also see the $$smart_wrap variable. +- */ +- { "mask", DT_REGEX|DT_REGEX_MATCH_CASE|DT_REGEX_ALLOW_NOT|DT_REGEX_NOSUB, &C_Mask, IP "!^\\.[^.]" }, +- /* +- ** .pp +- ** A regular expression used in the file browser, optionally preceded by +- ** the \fInot\fP operator "!". Only files whose names match this mask +- ** will be shown. The match is always case-sensitive. +- */ +- { "mbox", DT_STRING|DT_PATH|DT_MAILBOX|R_INDEX|R_PAGER, &C_Mbox, IP "~/mbox" }, +- /* +- ** .pp +- ** This specifies the folder into which read mail in your $$spoolfile +- ** folder will be appended. +- ** .pp +- ** Also see the $$move variable. +- */ +- { "mbox_type", DT_ENUM, &C_MboxType, MUTT_MBOX, IP &MagicDef }, +- /* +- ** .pp +- ** The default mailbox type used when creating new folders. May be any of +- ** "mbox", "MMDF", "MH" or "Maildir". +- ** .pp +- ** This can also be set using the \fC-m\fP command-line option. +- */ +- { "menu_context", DT_NUMBER|DT_NOT_NEGATIVE, &C_MenuContext, 0 }, +- /* +- ** .pp +- ** This variable controls the number of lines of context that are given +- ** when scrolling through menus. (Similar to $$pager_context.) +- */ +- { "menu_move_off", DT_BOOL, &C_MenuMoveOff, true }, +- /* +- ** .pp +- ** When \fIunset\fP, the bottom entry of menus will never scroll up past +- ** the bottom of the screen, unless there are less entries than lines. +- ** When \fIset\fP, the bottom entry may move off the bottom. +- */ +- { "menu_scroll", DT_BOOL, &C_MenuScroll, false }, +- /* +- ** .pp +- ** When \fIset\fP, menus will be scrolled up or down one line when you +- ** attempt to move across a screen boundary. If \fIunset\fP, the screen +- ** is cleared and the next or previous page of the menu is displayed +- ** (useful for slow links to avoid many redraws). +- */ +-#if defined(USE_IMAP) || defined(USE_POP) +- { "message_cache_clean", DT_BOOL, &C_MessageCacheClean, false }, +- /* +- ** .pp +- ** If \fIset\fP, NeoMutt will clean out obsolete entries from the message cache when +- ** the mailbox is synchronized. You probably only want to set it +- ** every once in a while, since it can be a little slow +- ** (especially for large folders). +- */ +- { "message_cachedir", DT_STRING|DT_PATH, &C_MessageCachedir, 0 }, +- /* +- ** .pp +- ** Set this to a directory and NeoMutt will cache copies of messages from +- ** your IMAP and POP servers here. You are free to remove entries at any +- ** time. +- ** .pp +- ** When setting this variable to a directory, NeoMutt needs to fetch every +- ** remote message only once and can perform regular expression searches +- ** as fast as for local folders. +- ** .pp +- ** Also see the $$message_cache_clean variable. +- */ +-#endif +- { "message_format", DT_STRING|DT_NOT_EMPTY, &C_MessageFormat, IP "%s" }, +- /* +- ** .pp +- ** This is the string displayed in the "attachment" menu for +- ** attachments of type \fCmessage/rfc822\fP. For a full listing of defined +- ** \fCprintf(3)\fP-like sequences see the section on $$index_format. +- */ +- { "meta_key", DT_BOOL, &C_MetaKey, false }, +- /* +- ** .pp +- ** If \fIset\fP, forces NeoMutt to interpret keystrokes with the high bit (bit 8) +- ** set as if the user had pressed the Esc key and whatever key remains +- ** after having the high bit removed. For example, if the key pressed +- ** has an ASCII value of \fC0xf8\fP, then this is treated as if the user had +- ** pressed Esc then "x". This is because the result of removing the +- ** high bit from \fC0xf8\fP is \fC0x78\fP, which is the ASCII character +- ** "x". +- */ +- { "metoo", DT_BOOL, &C_Metoo, false }, +- /* +- ** .pp +- ** If \fIunset\fP, NeoMutt will remove your address (see the "$alternates" +- ** command) from the list of recipients when replying to a message. +- */ +- { "mh_purge", DT_BOOL, &C_MhPurge, false }, +- /* +- ** .pp +- ** When \fIunset\fP, NeoMutt will mimic mh's behavior and rename deleted messages +- ** to \fI,\fP in mh folders instead of really deleting +- ** them. This leaves the message on disk but makes programs reading the folder +- ** ignore it. If the variable is \fIset\fP, the message files will simply be +- ** deleted. +- ** .pp +- ** This option is similar to $$maildir_trash for Maildir folders. +- */ +- { "mh_seq_flagged", DT_STRING, &C_MhSeqFlagged, IP "flagged" }, +- /* +- ** .pp +- ** The name of the MH sequence used for flagged messages. +- */ +- { "mh_seq_replied", DT_STRING, &C_MhSeqReplied, IP "replied" }, +- /* +- ** .pp +- ** The name of the MH sequence used to tag replied messages. +- */ +- { "mh_seq_unseen", DT_STRING, &C_MhSeqUnseen, IP "unseen" }, +- /* +- ** .pp +- ** The name of the MH sequence used for unseen messages. +- */ +- { "mime_forward", DT_QUAD, &C_MimeForward, MUTT_NO }, +- /* +- ** .pp +- ** When \fIset\fP, the message you are forwarding will be attached as a +- ** separate \fCmessage/rfc822\fP MIME part instead of included in the main body of the +- ** message. This is useful for forwarding MIME messages so the receiver +- ** can properly view the message as it was delivered to you. If you like +- ** to switch between MIME and not MIME from mail to mail, set this +- ** variable to "ask-no" or "ask-yes". +- ** .pp +- ** Also see $$forward_decode and $$mime_forward_decode. +- */ +- { "mime_forward_decode", DT_BOOL, &C_MimeForwardDecode, false }, +- /* +- ** .pp +- ** Controls the decoding of complex MIME messages into \fCtext/plain\fP when +- ** forwarding a message while $$mime_forward is \fIset\fP. Otherwise +- ** $$forward_decode is used instead. +- */ +- { "mime_forward_rest", DT_QUAD, &C_MimeForwardRest, MUTT_YES }, +- /* +- ** .pp +- ** When forwarding multiple attachments of a MIME message from the attachment +- ** menu, attachments which can't be decoded in a reasonable manner will +- ** be attached to the newly composed message if this option is \fIset\fP. +- */ +-#ifdef USE_NNTP +- { "mime_subject", DT_BOOL, &C_MimeSubject, true }, +- /* +- ** .pp +- ** If \fIunset\fP, 8-bit "subject:" line in article header will not be +- ** encoded according to RFC2047 to base64. This is useful when message +- ** is Usenet article, because MIME for news is nonstandard feature. +- */ +-#endif +- { "mime_type_query_command", DT_STRING|DT_COMMAND, &C_MimeTypeQueryCommand, 0 }, +- /* +- ** .pp +- ** This specifies a command to run, to determine the mime type of a +- ** new attachment when composing a message. Unless +- ** $$mime_type_query_first is set, this will only be run if the +- ** attachment's extension is not found in the mime.types file. +- ** .pp +- ** The string may contain a "%s", which will be substituted with the +- ** attachment filename. NeoMutt will add quotes around the string substituted +- ** for "%s" automatically according to shell quoting rules, so you should +- ** avoid adding your own. If no "%s" is found in the string, NeoMutt will +- ** append the attachment filename to the end of the string. +- ** .pp +- ** The command should output a single line containing the +- ** attachment's mime type. +- ** .pp +- ** Suggested values are "xdg-mime query filetype" or +- ** "file -bi". +- */ +- { "mime_type_query_first", DT_BOOL, &C_MimeTypeQueryFirst, false }, +- /* +- ** .pp +- ** When \fIset\fP, the $$mime_type_query_command will be run before the +- ** mime.types lookup. +- */ +-#ifdef MIXMASTER +- { "mix_entry_format", DT_STRING|DT_NOT_EMPTY, &C_MixEntryFormat, IP "%4n %c %-16s %a" }, +- /* +- ** .pp +- ** This variable describes the format of a remailer line on the mixmaster +- ** chain selection screen. The following \fCprintf(3)\fP-like sequences are +- ** supported: +- ** .dl +- ** .dt %a .dd The remailer's e-mail address +- ** .dt %c .dd Remailer capabilities +- ** .dt %n .dd The running number on the menu +- ** .dt %s .dd The remailer's short name +- ** .de +- */ +- { "mixmaster", DT_STRING|DT_COMMAND, &C_Mixmaster, IP MIXMASTER }, +- /* +- ** .pp +- ** This variable contains the path to the Mixmaster binary on your +- ** system. It is used with various sets of parameters to gather the +- ** list of known remailers, and to finally send a message through the +- ** mixmaster chain. +- */ +-#endif +- { "move", DT_QUAD, &C_Move, MUTT_NO }, +- /* +- ** .pp +- ** Controls whether or not NeoMutt will move read messages +- ** from your spool mailbox to your $$mbox mailbox, or as a result of +- ** a "$mbox-hook" command. +- */ +- { "narrow_tree", DT_BOOL|R_TREE|R_INDEX, &C_NarrowTree, false }, +- /* +- ** .pp +- ** This variable, when \fIset\fP, makes the thread tree narrower, allowing +- ** deeper threads to fit on the screen. +- */ +-#ifdef USE_SOCKET +- { "net_inc", DT_NUMBER|DT_NOT_NEGATIVE, &C_NetInc, 10 }, +- /* +- ** .pp +- ** Operations that expect to transfer a large amount of data over the +- ** network will update their progress every $$net_inc kilobytes. +- ** If set to 0, no progress messages will be displayed. +- ** .pp +- ** See also $$read_inc, $$write_inc and $$net_inc. +- */ +-#endif +- { "new_mail_command", DT_STRING|DT_COMMAND, &C_NewMailCommand, 0 }, +- /* +- ** .pp +- ** If \fIset\fP, NeoMutt will call this command after a new message is received. +- ** See the $$status_format documentation for the values that can be formatted +- ** into this command. +- */ +-#ifdef USE_NNTP +- { "news_cache_dir", DT_STRING|DT_PATH, &C_NewsCacheDir, IP "~/.neomutt" }, +- /* +- ** .pp +- ** This variable pointing to directory where NeoMutt will save cached news +- ** articles and headers in. If \fIunset\fP, articles and headers will not be +- ** saved at all and will be reloaded from the server each time. +- */ +- { "news_server", DT_STRING, &C_NewsServer, 0 }, +- /* +- ** .pp +- ** This variable specifies domain name or address of NNTP server. +- ** .pp +- ** You can also specify username and an alternative port for each news server, +- ** e.g. \fC[[s]news://][username[:password]@]server[:port]\fP +- ** .pp +- ** This option can also be set using the command line option "-g", the +- ** environment variable \fC$$$NNTPSERVER\fP, or putting the server name in the +- ** file "/etc/nntpserver". +- */ +- { "newsgroups_charset", DT_STRING, &C_NewsgroupsCharset, IP "utf-8", 0, charset_validator }, +- /* +- ** .pp +- ** Character set of newsgroups descriptions. +- */ +- { "newsrc", DT_STRING|DT_PATH, &C_Newsrc, IP "~/.newsrc" }, +- /* +- ** .pp +- ** The file, containing info about subscribed newsgroups - names and +- ** indexes of read articles. The following printf-style sequence +- ** is understood: +- ** .dl +- ** .dt \fBExpando\fP .dd \fBDescription\fP .dd \fBExample\fP +- ** .dt %a .dd Account url .dd \fCnews:news.gmane.org\fP +- ** .dt %p .dd Port .dd \fC119\fP +- ** .dt %P .dd Port if specified .dd \fC10119\fP +- ** .dt %s .dd News server name .dd \fCnews.gmane.org\fP +- ** .dt %S .dd Url schema .dd \fCnews\fP +- ** .dt %u .dd Username .dd \fCusername\fP +- ** .de +- */ +-#endif +-#ifdef USE_NOTMUCH +- { "nm_db_limit", DT_NUMBER|DT_NOT_NEGATIVE, &C_NmDbLimit, 0 }, +- /* +- ** .pp +- ** This variable specifies the default limit used in notmuch queries. +- */ +- { "nm_default_uri", DT_STRING, &C_NmDefaultUri, 0 }, +- /* +- ** .pp +- ** This variable specifies the default Notmuch database in format +- ** notmuch://. +- */ +- { "nm_exclude_tags", DT_STRING, &C_NmExcludeTags, 0 }, +- /* +- ** .pp +- ** The messages tagged with these tags are excluded and not loaded +- ** from notmuch DB to NeoMutt unless specified explicitly. +- */ +- { "nm_flagged_tag", DT_STRING, &C_NmFlaggedTag, IP "flagged" }, +- /* +- ** .pp +- ** This variable specifies notmuch tag which is used for flagged messages. The +- ** variable is used to count flagged messages in DB and set the flagged flag when +- ** modifying tags. All other NeoMutt commands use standard (e.g. maildir) flags. +- */ +- { "nm_open_timeout", DT_NUMBER|DT_NOT_NEGATIVE, &C_NmOpenTimeout, 5 }, +- /* +- ** .pp +- ** This variable specifies the timeout for database open in seconds. +- */ +- { "nm_query_type", DT_STRING, &C_NmQueryType, IP "messages" }, +- /* +- ** .pp +- ** This variable specifies the default query type (threads or messages) used in notmuch queries. +- */ +- { "nm_query_window_current_position", DT_NUMBER, &C_NmQueryWindowCurrentPosition, 0 }, +- /* +- ** .pp +- ** This variable contains the position of the current search for window based vfolder. +- */ +- { "nm_query_window_current_search", DT_STRING, &C_NmQueryWindowCurrentSearch, 0 }, +- /* +- ** .pp +- ** This variable contains the currently setup notmuch search for window based vfolder. +- */ +- { "nm_query_window_duration", DT_NUMBER|DT_NOT_NEGATIVE, &C_NmQueryWindowDuration, 0 }, +- /* +- ** .pp +- ** This variable sets the time duration of a windowed notmuch query. +- ** Accepted values all non negative integers. A value of 0 disables the feature. +- */ +- { "nm_query_window_timebase", DT_STRING, &C_NmQueryWindowTimebase, IP "week" }, +- /* +- ** .pp +- ** This variable sets the time base of a windowed notmuch query. +- ** Accepted values are 'minute', 'hour', 'day', 'week', 'month', 'year' +- */ +- { "nm_record", DT_BOOL, &C_NmRecord, false }, +- /* +- ** .pp +- ** This variable specifies if the NeoMutt record should indexed by notmuch. +- */ +- { "nm_record_tags", DT_STRING, &C_NmRecordTags, 0 }, +- /* +- ** .pp +- ** This variable specifies the default tags applied to messages stored to the NeoMutt record. +- ** When set to 0 this variable disable the window feature. +- */ +- { "nm_replied_tag", DT_STRING, &C_NmRepliedTag, IP "replied" }, +- /* +- ** .pp +- ** This variable specifies notmuch tag which is used for replied messages. The +- ** variable is used to set the replied flag when modifiying tags. All other NeoMutt +- ** commands use standard (e.g. maildir) flags. +- */ +- { "nm_unread_tag", DT_STRING, &C_NmUnreadTag, IP "unread" }, +- /* +- ** .pp +- ** This variable specifies notmuch tag which is used for unread messages. The +- ** variable is used to count unread messages in DB and set the unread flag when +- ** modifiying tags. All other NeoMutt commands use standard (e.g. maildir) flags. +- */ +-#endif +-#ifdef USE_NNTP +- { "nntp_authenticators", DT_STRING, &C_NntpAuthenticators, 0 }, +- /* +- ** .pp +- ** This is a colon-delimited list of authentication methods NeoMutt may +- ** attempt to use to log in to a news server, in the order NeoMutt should +- ** try them. Authentication methods are either "user" or any +- ** SASL mechanism, e.g. "digest-md5", "gssapi" or "cram-md5". +- ** This option is case-insensitive. If it's \fIunset\fP (the default) +- ** NeoMutt will try all available methods, in order from most-secure to +- ** least-secure. +- ** .pp +- ** Example: +- ** .ts +- ** set nntp_authenticators="digest-md5:user" +- ** .te +- ** .pp +- ** \fBNote:\fP NeoMutt will only fall back to other authentication methods if +- ** the previous methods are unavailable. If a method is available but +- ** authentication fails, NeoMutt will not connect to the IMAP server. +- */ +- { "nntp_context", DT_NUMBER|DT_NOT_NEGATIVE, &C_NntpContext, 1000 }, +- /* +- ** .pp +- ** This variable defines number of articles which will be in index when +- ** newsgroup entered. If active newsgroup have more articles than this +- ** number, oldest articles will be ignored. Also controls how many +- ** articles headers will be saved in cache when you quit newsgroup. +- */ +- { "nntp_listgroup", DT_BOOL, &C_NntpListgroup, true }, +- /* +- ** .pp +- ** This variable controls whether or not existence of each article is +- ** checked when newsgroup is entered. +- */ +- { "nntp_load_description", DT_BOOL, &C_NntpLoadDescription, true }, +- /* +- ** .pp +- ** This variable controls whether or not descriptions for each newsgroup +- ** must be loaded when newsgroup is added to list (first time list +- ** loading or new newsgroup adding). +- */ +- { "nntp_pass", DT_STRING|DT_SENSITIVE, &C_NntpPass, 0 }, +- /* +- ** .pp +- ** Your password for NNTP account. +- */ +- { "nntp_poll", DT_NUMBER|DT_NOT_NEGATIVE, &C_NntpPoll, 60 }, +- /* +- ** .pp +- ** The time in seconds until any operations on newsgroup except post new +- ** article will cause recheck for new news. If set to 0, NeoMutt will +- ** recheck newsgroup on each operation in index (stepping, read article, +- ** etc.). +- */ +- { "nntp_user", DT_STRING|DT_SENSITIVE, &C_NntpUser, 0 }, +- /* +- ** .pp +- ** Your login name on the NNTP server. If \fIunset\fP and NNTP server requires +- ** authentication, NeoMutt will prompt you for your account name when you +- ** connect to news server. +- */ +-#endif +- { "pager", DT_STRING|DT_COMMAND, &C_Pager, IP "builtin" }, +- /* +- ** .pp +- ** This variable specifies which pager you would like to use to view +- ** messages. The value "builtin" means to use the built-in pager, otherwise this +- ** variable should specify the pathname of the external pager you would +- ** like to use. +- ** .pp +- ** Using an external pager may have some disadvantages: Additional +- ** keystrokes are necessary because you can't call NeoMutt functions +- ** directly from the pager, and screen resizes cause lines longer than +- ** the screen width to be badly formatted in the help menu. +- */ +- { "pager_context", DT_NUMBER|DT_NOT_NEGATIVE, &C_PagerContext, 0 }, +- /* +- ** .pp +- ** This variable controls the number of lines of context that are given +- ** when displaying the next or previous page in the internal pager. By +- ** default, NeoMutt will display the line after the last one on the screen +- ** at the top of the next page (0 lines of context). +- ** .pp +- ** This variable also specifies the amount of context given for search +- ** results. If positive, this many lines will be given before a match, +- ** if 0, the match will be top-aligned. +- */ +- { "pager_format", DT_STRING|R_PAGER, &C_PagerFormat, IP "-%Z- %C/%m: %-20.20n %s%* -- (%P)" }, +- /* +- ** .pp +- ** This variable controls the format of the one-line message "status" +- ** displayed before each message in either the internal or an external +- ** pager. The valid sequences are listed in the $$index_format +- ** section. +- */ +- { "pager_index_lines", DT_NUMBER|DT_NOT_NEGATIVE|R_PAGER, &C_PagerIndexLines, 0 }, +- /* +- ** .pp +- ** Determines the number of lines of a mini-index which is shown when in +- ** the pager. The current message, unless near the top or bottom of the +- ** folder, will be roughly one third of the way down this mini-index, +- ** giving the reader the context of a few messages before and after the +- ** message. This is useful, for example, to determine how many messages +- ** remain to be read in the current thread. One of the lines is reserved +- ** for the status bar from the index, so a setting of 6 +- ** will only show 5 lines of the actual index. A value of 0 results in +- ** no index being shown. If the number of messages in the current folder +- ** is less than $$pager_index_lines, then the index will only use as +- ** many lines as it needs. +- */ +- { "pager_stop", DT_BOOL, &C_PagerStop, false }, +- /* +- ** .pp +- ** When \fIset\fP, the internal-pager will \fBnot\fP move to the next message +- ** when you are at the end of a message and invoke the \fC\fP +- ** function. +- */ +- { "pgp_auto_decode", DT_BOOL, &C_PgpAutoDecode, false }, +- /* +- ** .pp +- ** If \fIset\fP, NeoMutt will automatically attempt to decrypt traditional PGP +- ** messages whenever the user performs an operation which ordinarily would +- ** result in the contents of the message being operated on. For example, +- ** if the user displays a pgp-traditional message which has not been manually +- ** checked with the \fC$\fP function, NeoMutt will automatically +- ** check the message for traditional pgp. +- */ +- { "pgp_autoinline", DT_BOOL, &C_PgpAutoinline, false }, +- /* +- ** .pp +- ** This option controls whether NeoMutt generates old-style inline +- ** (traditional) PGP encrypted or signed messages under certain +- ** circumstances. This can be overridden by use of the pgp menu, +- ** when inline is not required. The GPGME backend does not support +- ** this option. +- ** .pp +- ** Note that NeoMutt might automatically use PGP/MIME for messages +- ** which consist of more than a single MIME part. NeoMutt can be +- ** configured to ask before sending PGP/MIME messages when inline +- ** (traditional) would not work. +- ** .pp +- ** Also see the $$pgp_mime_auto variable. +- ** .pp +- ** Also note that using the old-style PGP message format is \fBstrongly\fP +- ** \fBdeprecated\fP. +- ** (PGP only) +- */ +-#ifdef CRYPT_BACKEND_CLASSIC_PGP +- { "pgp_check_exit", DT_BOOL, &C_PgpCheckExit, true }, +- /* +- ** .pp +- ** If \fIset\fP, NeoMutt will check the exit code of the PGP subprocess when +- ** signing or encrypting. A non-zero exit code means that the +- ** subprocess failed. +- ** (PGP only) +- */ +- { "pgp_check_gpg_decrypt_status_fd", DT_BOOL, &C_PgpCheckGpgDecryptStatusFd, true }, +- /* +- ** .pp +- ** If \fIset\fP, NeoMutt will check the status file descriptor output +- ** of $$pgp_decrypt_command and $$pgp_decode_command for GnuPG status codes +- ** indicating successful decryption. This will check for the presence of +- ** DECRYPTION_OKAY, absence of DECRYPTION_FAILED, and that all +- ** PLAINTEXT occurs between the BEGIN_DECRYPTION and END_DECRYPTION +- ** status codes. +- ** .pp +- ** If \fIunset\fP, NeoMutt will instead match the status fd output +- ** against $$pgp_decryption_okay. +- ** (PGP only) +- */ +- { "pgp_clearsign_command", DT_STRING|DT_COMMAND, &C_PgpClearsignCommand, 0 }, +- /* +- ** .pp +- ** This format is used to create an old-style "clearsigned" PGP +- ** message. Note that the use of this format is \fBstrongly\fP +- ** \fBdeprecated\fP. +- ** .pp +- ** This is a format string, see the $$pgp_decode_command command for +- ** possible \fCprintf(3)\fP-like sequences. +- ** Note that in this case, %r expands to the search string, which is a list of +- ** one or more quoted values such as email address, name, or keyid. +- ** (PGP only) +- */ +- { "pgp_decode_command", DT_STRING|DT_COMMAND, &C_PgpDecodeCommand, 0 }, +- /* +- ** .pp +- ** This format strings specifies a command which is used to decode +- ** application/pgp attachments. +- ** .pp +- ** The PGP command formats have their own set of \fCprintf(3)\fP-like sequences: +- ** .dl +- ** .dt %p .dd Expands to PGPPASSFD=0 when a pass phrase is needed, to an empty +- ** string otherwise. Note: This may be used with a %? construct. +- ** .dt %f .dd Expands to the name of a file containing a message. +- ** .dt %s .dd Expands to the name of a file containing the signature part +- ** . of a \fCmultipart/signed\fP attachment when verifying it. +- ** .dt %a .dd The value of $$pgp_sign_as if set, otherwise the value +- ** of $$pgp_default_key. +- ** .dt %r .dd One or more key IDs (or fingerprints if available). +- ** .de +- ** .pp +- ** For examples on how to configure these formats for the various versions +- ** of PGP which are floating around, see the pgp and gpg sample configuration files in +- ** the \fCsamples/\fP subdirectory which has been installed on your system +- ** alongside the documentation. +- ** (PGP only) +- */ +- { "pgp_decrypt_command", DT_STRING|DT_COMMAND, &C_PgpDecryptCommand, 0 }, +- /* +- ** .pp +- ** This command is used to decrypt a PGP encrypted message. +- ** .pp +- ** This is a format string, see the $$pgp_decode_command command for +- ** possible \fCprintf(3)\fP-like sequences. +- ** (PGP only) +- ** .pp +- ** Note: When decrypting messages using \fCgpg\fP, a pinentry program needs to +- ** be invoked unless the password is cached within \fCgpg-agent\fP. +- ** Currently, the \fCpinentry-tty\fP program (usually distributed with +- ** \fCgpg\fP) isn't suitable for being invoked by NeoMutt. You are encouraged +- ** to use a different pinentry-program when running NeoMutt in order to avoid +- ** problems. +- ** .pp +- ** See also: https://github.com/neomutt/neomutt/issues/1014 +- */ +- { "pgp_decryption_okay", DT_REGEX, &C_PgpDecryptionOkay, 0 }, +- /* +- ** .pp +- ** If you assign text to this variable, then an encrypted PGP +- ** message is only considered successfully decrypted if the output +- ** from $$pgp_decrypt_command contains the text. This is used to +- ** protect against a spoofed encrypted message, with multipart/encrypted +- ** headers but containing a block that is not actually encrypted. +- ** (e.g. simply signed and ascii armored text). +- ** .pp +- ** Note that if $$pgp_check_gpg_decrypt_status_fd is set, this variable +- ** is ignored. +- ** (PGP only) +- */ +-#endif +- { "pgp_default_key", DT_STRING, &C_PgpDefaultKey, 0 }, +- /* +- ** .pp +- ** This is the default key-pair to use for PGP operations. It will be +- ** used for encryption (see $$postpone_encrypt and $$pgp_self_encrypt). +- ** .pp +- ** It will also be used for signing unless $$pgp_sign_as is set. +- ** .pp +- ** The (now deprecated) \fIpgp_self_encrypt_as\fP is an alias for this +- ** variable, and should no longer be used. +- ** (PGP only) +- */ +-#ifdef CRYPT_BACKEND_CLASSIC_PGP +- { "pgp_encrypt_only_command", DT_STRING|DT_COMMAND, &C_PgpEncryptOnlyCommand, 0 }, +- /* +- ** .pp +- ** This command is used to encrypt a body part without signing it. +- ** .pp +- ** This is a format string, see the $$pgp_decode_command command for +- ** possible \fCprintf(3)\fP-like sequences. +- ** Note that in this case, %r expands to the search string, which is a list of +- ** one or more quoted values such as email address, name, or keyid. +- ** (PGP only) +- */ +- { "pgp_encrypt_sign_command", DT_STRING|DT_COMMAND, &C_PgpEncryptSignCommand, 0 }, +- /* +- ** .pp +- ** This command is used to both sign and encrypt a body part. +- ** .pp +- ** This is a format string, see the $$pgp_decode_command command for +- ** possible \fCprintf(3)\fP-like sequences. +- ** (PGP only) +- */ +-#endif +- { "pgp_entry_format", DT_STRING|DT_NOT_EMPTY, &C_PgpEntryFormat, IP "%4n %t%f %4l/0x%k %-4a %2c %u" }, +- /* +- ** .pp +- ** This variable allows you to customize the PGP key selection menu to +- ** your personal taste. This string is similar to $$index_format, but +- ** has its own set of \fCprintf(3)\fP-like sequences: +- ** .dl +- ** .dt %a .dd Algorithm +- ** .dt %c .dd Capabilities +- ** .dt %f .dd Flags +- ** .dt %k .dd Key id +- ** .dt %l .dd Key length +- ** .dt %n .dd Number +- ** .dt %p .dd Protocol +- ** .dt %t .dd Trust/validity of the key-uid association +- ** .dt %u .dd User id +- ** .dt %[] .dd Date of the key where is an \fCstrftime(3)\fP expression +- ** .de +- ** .pp +- ** (PGP only) +- */ +-#ifdef CRYPT_BACKEND_CLASSIC_PGP +- { "pgp_export_command", DT_STRING|DT_COMMAND, &C_PgpExportCommand, 0 }, +- /* +- ** .pp +- ** This command is used to export a public key from the user's +- ** key ring. +- ** .pp +- ** This is a format string, see the $$pgp_decode_command command for +- ** possible \fCprintf(3)\fP-like sequences. +- ** (PGP only) +- */ +- { "pgp_getkeys_command", DT_STRING|DT_COMMAND, &C_PgpGetkeysCommand, 0 }, +- /* +- ** .pp +- ** This command is invoked whenever NeoMutt needs to fetch the public key associated with +- ** an email address. Of the sequences supported by $$pgp_decode_command, %r is +- ** the only \fCprintf(3)\fP-like sequence used with this format. Note that +- ** in this case, %r expands to the email address, not the public key ID (the key ID is +- ** unknown, which is why NeoMutt is invoking this command). +- ** (PGP only) +- */ +- { "pgp_good_sign", DT_REGEX, &C_PgpGoodSign, 0 }, +- /* +- ** .pp +- ** If you assign a text to this variable, then a PGP signature is only +- ** considered verified if the output from $$pgp_verify_command contains +- ** the text. Use this variable if the exit code from the command is 0 +- ** even for bad signatures. +- ** (PGP only) +- */ +-#endif +- { "pgp_ignore_subkeys", DT_BOOL, &C_PgpIgnoreSubkeys, true }, +- /* +- ** .pp +- ** Setting this variable will cause NeoMutt to ignore OpenPGP subkeys. Instead, +- ** the principal key will inherit the subkeys' capabilities. \fIUnset\fP this +- ** if you want to play interesting key selection games. +- ** (PGP only) +- */ +-#ifdef CRYPT_BACKEND_CLASSIC_PGP +- { "pgp_import_command", DT_STRING|DT_COMMAND, &C_PgpImportCommand, 0 }, +- /* +- ** .pp +- ** This command is used to import a key from a message into +- ** the user's public key ring. +- ** .pp +- ** This is a format string, see the $$pgp_decode_command command for +- ** possible \fCprintf(3)\fP-like sequences. +- ** (PGP only) +- */ +- { "pgp_list_pubring_command", DT_STRING|DT_COMMAND, &C_PgpListPubringCommand, 0 }, +- /* +- ** .pp +- ** This command is used to list the public key ring's contents. The +- ** output format must be analogous to the one used by +- ** .ts +- ** gpg --list-keys --with-colons --with-fingerprint +- ** .te +- ** .pp +- ** Note: gpg's \fCfixed-list-mode\fP option should not be used. It +- ** produces a different date format which may result in NeoMutt showing +- ** incorrect key generation dates. +- ** .pp +- ** This is a format string, see the $$pgp_decode_command command for +- ** possible \fCprintf(3)\fP-like sequences. +- ** (PGP only) +- */ +- { "pgp_list_secring_command", DT_STRING|DT_COMMAND, &C_PgpListSecringCommand, 0 }, +- /* +- ** .pp +- ** This command is used to list the secret key ring's contents. The +- ** output format must be analogous to the one used by: +- ** .ts +- ** gpg --list-keys --with-colons --with-fingerprint +- ** .te +- ** .pp +- ** Note: gpg's \fCfixed-list-mode\fP option should not be used. It +- ** produces a different date format which may result in NeoMutt showing +- ** incorrect key generation dates. +- ** .pp +- ** This is a format string, see the $$pgp_decode_command command for +- ** possible \fCprintf(3)\fP-like sequences. +- ** (PGP only) +- */ +-#endif +- { "pgp_long_ids", DT_BOOL, &C_PgpLongIds, true }, +- /* +- ** .pp +- ** If \fIset\fP, use 64 bit PGP key IDs, if \fIunset\fP use the normal 32 bit key IDs. +- ** NOTE: Internally, NeoMutt has transitioned to using fingerprints (or long key IDs +- ** as a fallback). This option now only controls the display of key IDs +- ** in the key selection menu and a few other places. +- ** (PGP only) +- */ +- { "pgp_mime_auto", DT_QUAD, &C_PgpMimeAuto, MUTT_ASKYES }, +- /* +- ** .pp +- ** This option controls whether NeoMutt will prompt you for +- ** automatically sending a (signed/encrypted) message using +- ** PGP/MIME when inline (traditional) fails (for any reason). +- ** .pp +- ** Also note that using the old-style PGP message format is \fBstrongly\fP +- ** \fBdeprecated\fP. +- ** (PGP only) +- */ +- { "pgp_replyinline", DT_BOOL, &C_PgpReplyinline, false }, +- /* +- ** .pp +- ** Setting this variable will cause NeoMutt to always attempt to +- ** create an inline (traditional) message when replying to a +- ** message which is PGP encrypted/signed inline. This can be +- ** overridden by use of the pgp menu, when inline is not +- ** required. This option does not automatically detect if the +- ** (replied-to) message is inline; instead it relies on NeoMutt +- ** internals for previously checked/flagged messages. +- ** .pp +- ** Note that NeoMutt might automatically use PGP/MIME for messages +- ** which consist of more than a single MIME part. NeoMutt can be +- ** configured to ask before sending PGP/MIME messages when inline +- ** (traditional) would not work. +- ** .pp +- ** Also see the $$pgp_mime_auto variable. +- ** .pp +- ** Also note that using the old-style PGP message format is \fBstrongly\fP +- ** \fBdeprecated\fP. +- ** (PGP only) +- */ +- { "pgp_retainable_sigs", DT_BOOL, &C_PgpRetainableSigs, false }, +- /* +- ** .pp +- ** If \fIset\fP, signed and encrypted messages will consist of nested +- ** \fCmultipart/signed\fP and \fCmultipart/encrypted\fP body parts. +- ** .pp +- ** This is useful for applications like encrypted and signed mailing +- ** lists, where the outer layer (\fCmultipart/encrypted\fP) can be easily +- ** removed, while the inner \fCmultipart/signed\fP part is retained. +- ** (PGP only) +- */ +- { "pgp_self_encrypt", DT_BOOL, &C_PgpSelfEncrypt, true }, +- /* +- ** .pp +- ** When \fIset\fP, PGP encrypted messages will also be encrypted +- ** using the key in $$pgp_default_key. +- ** (PGP only) +- */ +- { "pgp_show_unusable", DT_BOOL, &C_PgpShowUnusable, true }, +- /* +- ** .pp +- ** If \fIset\fP, NeoMutt will display non-usable keys on the PGP key selection +- ** menu. This includes keys which have been revoked, have expired, or +- ** have been marked as "disabled" by the user. +- ** (PGP only) +- */ +- { "pgp_sign_as", DT_STRING, &C_PgpSignAs, 0 }, +- /* +- ** .pp +- ** If you have a different key pair to use for signing, you should +- ** set this to the signing key. Most people will only need to set +- ** $$pgp_default_key. It is recommended that you use the keyid form +- ** to specify your key (e.g. \fC0x00112233\fP). +- ** (PGP only) +- */ +-#ifdef CRYPT_BACKEND_CLASSIC_PGP +- { "pgp_sign_command", DT_STRING|DT_COMMAND, &C_PgpSignCommand, 0 }, +- /* +- ** .pp +- ** This command is used to create the detached PGP signature for a +- ** \fCmultipart/signed\fP PGP/MIME body part. +- ** .pp +- ** This is a format string, see the $$pgp_decode_command command for +- ** possible \fCprintf(3)\fP-like sequences. +- ** (PGP only) +- */ +-#endif +- { "pgp_sort_keys", DT_SORT|DT_SORT_KEYS, &C_PgpSortKeys, SORT_ADDRESS }, +- /* +- ** .pp +- ** Specifies how the entries in the pgp menu are sorted. The +- ** following are legal values: +- ** .dl +- ** .dt address .dd sort alphabetically by user id +- ** .dt keyid .dd sort alphabetically by key id +- ** .dt date .dd sort by key creation date +- ** .dt trust .dd sort by the trust of the key +- ** .de +- ** .pp +- ** If you prefer reverse order of the above values, prefix it with +- ** "reverse-". +- ** (PGP only) +- */ +- { "pgp_strict_enc", DT_BOOL, &C_PgpStrictEnc, true }, +- /* +- ** .pp +- ** If \fIset\fP, NeoMutt will automatically encode PGP/MIME signed messages as +- ** quoted-printable. Please note that unsetting this variable may +- ** lead to problems with non-verifyable PGP signatures, so only change +- ** this if you know what you are doing. +- ** (PGP only) +- */ +-#ifdef CRYPT_BACKEND_CLASSIC_PGP +- { "pgp_timeout", DT_LONG|DT_NOT_NEGATIVE, &C_PgpTimeout, 300 }, +- /* +- ** .pp +- ** The number of seconds after which a cached passphrase will expire if +- ** not used. +- ** (PGP only) +- */ +- { "pgp_use_gpg_agent", DT_BOOL, &C_PgpUseGpgAgent, true }, +- /* +- ** .pp +- ** If \fIset\fP, NeoMutt expects a \fCgpg-agent(1)\fP process will handle +- ** private key passphrase prompts. If \fIunset\fP, NeoMutt will prompt +- ** for the passphrase and pass it via stdin to the pgp command. +- ** .pp +- ** Note that as of version 2.1, GnuPG automatically spawns an agent +- ** and requires the agent be used for passphrase management. Since +- ** that version is increasingly prevalent, this variable now +- ** defaults \fIset\fP. +- ** .pp +- ** NeoMutt works with a GUI or curses pinentry program. A TTY pinentry +- ** should not be used. +- ** .pp +- ** If you are using an older version of GnuPG without an agent running, +- ** or another encryption program without an agent, you will need to +- ** \fIunset\fP this variable. +- ** (PGP only) +- */ +- { "pgp_verify_command", DT_STRING|DT_COMMAND, &C_PgpVerifyCommand, 0 }, +- /* +- ** .pp +- ** This command is used to verify PGP signatures. +- ** .pp +- ** This is a format string, see the $$pgp_decode_command command for +- ** possible \fCprintf(3)\fP-like sequences. +- ** (PGP only) +- */ +- { "pgp_verify_key_command", DT_STRING|DT_COMMAND, &C_PgpVerifyKeyCommand, 0 }, +- /* +- ** .pp +- ** This command is used to verify key information from the key selection +- ** menu. +- ** .pp +- ** This is a format string, see the $$pgp_decode_command command for +- ** possible \fCprintf(3)\fP-like sequences. +- ** (PGP only) +- */ +-#endif +- { "pipe_decode", DT_BOOL, &C_PipeDecode, false }, +- /* +- ** .pp +- ** Used in connection with the \fC\fP command. When \fIunset\fP, +- ** NeoMutt will pipe the messages without any preprocessing. When \fIset\fP, NeoMutt +- ** will weed headers and will attempt to decode the messages +- ** first. +- */ +- { "pipe_sep", DT_STRING, &C_PipeSep, IP "\n" }, +- /* +- ** .pp +- ** The separator to add between messages when piping a list of tagged +- ** messages to an external Unix command. +- */ +- { "pipe_split", DT_BOOL, &C_PipeSplit, false }, +- /* +- ** .pp +- ** Used in connection with the \fC\fP function following +- ** \fC\fP. If this variable is \fIunset\fP, when piping a list of +- ** tagged messages NeoMutt will concatenate the messages and will pipe them +- ** all concatenated. When \fIset\fP, NeoMutt will pipe the messages one by one. +- ** In both cases the messages are piped in the current sorted order, +- ** and the $$pipe_sep separator is added after each message. +- */ +-#ifdef USE_POP +- { "pop_auth_try_all", DT_BOOL, &C_PopAuthTryAll, true }, +- /* +- ** .pp +- ** If \fIset\fP, NeoMutt will try all available authentication methods. +- ** When \fIunset\fP, NeoMutt will only fall back to other authentication +- ** methods if the previous methods are unavailable. If a method is +- ** available but authentication fails, NeoMutt will not connect to the POP server. +- */ +- { "pop_authenticators", DT_SLIST|SLIST_SEP_COLON, &C_PopAuthenticators, 0 }, +- /* +- ** .pp +- ** This is a colon-delimited list of authentication methods NeoMutt may +- ** attempt to use to log in to an POP server, in the order NeoMutt should +- ** try them. Authentication methods are either "user", "apop" or any +- ** SASL mechanism, e.g. "digest-md5", "gssapi" or "cram-md5". +- ** This option is case-insensitive. If this option is \fIunset\fP +- ** (the default) NeoMutt will try all available methods, in order from +- ** most-secure to least-secure. +- ** .pp +- ** Example: +- ** .ts +- ** set pop_authenticators="digest-md5:apop:user" +- ** .te +- */ +- { "pop_checkinterval", DT_NUMBER|DT_NOT_NEGATIVE, &C_PopCheckinterval, 60 }, +- /* +- ** .pp +- ** This variable configures how often (in seconds) NeoMutt should look for +- ** new mail in the currently selected mailbox if it is a POP mailbox. +- */ +- { "pop_delete", DT_QUAD, &C_PopDelete, MUTT_ASKNO }, +- /* +- ** .pp +- ** If \fIset\fP, NeoMutt will delete successfully downloaded messages from the POP +- ** server when using the \fC$\fP function. When \fIunset\fP, NeoMutt will +- ** download messages but also leave them on the POP server. +- */ +- { "pop_host", DT_STRING, &C_PopHost, 0 }, +- /* +- ** .pp +- ** The name of your POP server for the \fC$\fP function. You +- ** can also specify an alternative port, username and password, i.e.: +- ** .ts +- ** [pop[s]://][username[:password]@]popserver[:port] +- ** .te +- ** .pp +- ** where "[...]" denotes an optional part. +- */ +- { "pop_last", DT_BOOL, &C_PopLast, false }, +- /* +- ** .pp +- ** If this variable is \fIset\fP, NeoMutt will try to use the "\fCLAST\fP" POP command +- ** for retrieving only unread messages from the POP server when using +- ** the \fC$\fP function. +- */ +- { "pop_oauth_refresh_command", DT_STRING|DT_COMMAND|DT_SENSITIVE, &C_PopOauthRefreshCommand, 0 }, +- /* +- ** .pp +- ** The command to run to generate an OAUTH refresh token for +- ** authorizing your connection to your POP server. This command will be +- ** run on every connection attempt that uses the OAUTHBEARER authentication +- ** mechanism. See "$oauth" for details. +- */ +- { "pop_pass", DT_STRING|DT_SENSITIVE, &C_PopPass, 0 }, +- /* +- ** .pp +- ** Specifies the password for your POP account. If \fIunset\fP, NeoMutt will +- ** prompt you for your password when you open a POP mailbox. +- ** .pp +- ** \fBWarning\fP: you should only use this option when you are on a +- ** fairly secure machine, because the superuser can read your neomuttrc +- ** even if you are the only one who can read the file. +- */ +- { "pop_reconnect", DT_QUAD, &C_PopReconnect, MUTT_ASKYES }, +- /* +- ** .pp +- ** Controls whether or not NeoMutt will try to reconnect to the POP server if +- ** the connection is lost. +- */ +- { "pop_user", DT_STRING|DT_SENSITIVE, &C_PopUser, 0 }, +- /* +- ** .pp +- ** Your login name on the POP server. +- ** .pp +- ** This variable defaults to your user name on the local machine. +- */ +-#endif /* USE_POP */ +- { "post_indent_string", DT_STRING, &C_PostIndentString, 0 }, +- /* +- ** .pp +- ** Similar to the $$attribution variable, NeoMutt will append this +- ** string after the inclusion of a message which is being replied to. +- */ +-#ifdef USE_NNTP +- { "post_moderated", DT_QUAD, &C_PostModerated, MUTT_ASKYES }, +- /* +- ** .pp +- ** If set to \fIyes\fP, NeoMutt will post article to newsgroup that have +- ** not permissions to posting (e.g. moderated). \fBNote:\fP if news server +- ** does not support posting to that newsgroup or totally read-only, that +- ** posting will not have an effect. +- */ +-#endif +- { "postpone", DT_QUAD, &C_Postpone, MUTT_ASKYES }, +- /* +- ** .pp +- ** Controls whether or not messages are saved in the $$postponed +- ** mailbox when you elect not to send immediately. If set to +- ** \fIask-yes\fP or \fIask-no\fP, you will be prompted with "Save +- ** (postpone) draft message?" when quitting from the "compose" +- ** screen. +- ** .pp +- ** Also see the $$recall variable. +- */ +- { "postpone_encrypt", DT_BOOL, &C_PostponeEncrypt, false }, +- /* +- ** .pp +- ** When \fIset\fP, postponed messages that are marked for encryption will be +- ** self-encrypted. NeoMutt will first try to encrypt using the value specified +- ** in $$pgp_default_key or $$smime_default_key. If those are not +- ** set, it will try the deprecated $$postpone_encrypt_as. +- ** (Crypto only) +- */ +- { "postpone_encrypt_as", DT_STRING, &C_PostponeEncryptAs, 0 }, +- /* +- ** .pp +- ** This is a deprecated fall-back variable for $$postpone_encrypt. +- ** Please use $$pgp_default_key or $$smime_default_key. +- ** (Crypto only) +- */ +- { "postponed", DT_STRING|DT_PATH|DT_MAILBOX|R_INDEX, &C_Postponed, IP "~/postponed" }, +- /* +- ** .pp +- ** NeoMutt allows you to indefinitely "$postpone sending a message" which +- ** you are editing. When you choose to postpone a message, NeoMutt saves it +- ** in the mailbox specified by this variable. +- ** .pp +- ** Also see the $$postpone variable. +- */ +-#ifdef USE_SOCKET +- { "preconnect", DT_STRING, &C_Preconnect, 0 }, +- /* +- ** .pp +- ** If \fIset\fP, a shell command to be executed if NeoMutt fails to establish +- ** a connection to the server. This is useful for setting up secure +- ** connections, e.g. with \fCssh(1)\fP. If the command returns a nonzero +- ** status, NeoMutt gives up opening the server. Example: +- ** .ts +- ** set preconnect="ssh -f -q -L 1234:mailhost.net:143 mailhost.net \(rs +- ** sleep 20 < /dev/null > /dev/null" +- ** .te +- ** .pp +- ** Mailbox "foo" on "mailhost.net" can now be reached +- ** as "{localhost:1234}foo". +- ** .pp +- ** Note: For this example to work, you must be able to log in to the +- ** remote machine without having to enter a password. +- */ +-#endif /* USE_SOCKET */ +- { "preferred_languages", DT_SLIST|SLIST_SEP_COMMA, &C_PreferredLanguages, 0 }, +- /* +- ** .pp +- ** RFC8255 : user preferred languages to be search in parts and display +- ** Ex. : set preferred_languages="en,fr,de" +- */ +- { "print", DT_QUAD, &C_Print, MUTT_ASKNO }, +- /* +- ** .pp +- ** Controls whether or not NeoMutt really prints messages. +- ** This is set to "ask-no" by default, because some people +- ** accidentally hit "p" often. +- */ +- { "print_command", DT_STRING|DT_COMMAND, &C_PrintCommand, IP "lpr" }, +- /* +- ** .pp +- ** This specifies the command pipe that should be used to print messages. +- */ +- { "print_decode", DT_BOOL, &C_PrintDecode, true }, +- /* +- ** .pp +- ** Used in connection with the \fC\fP command. If this +- ** option is \fIset\fP, the message is decoded before it is passed to the +- ** external command specified by $$print_command. If this option +- ** is \fIunset\fP, no processing will be applied to the message when +- ** printing it. The latter setting may be useful if you are using +- ** some advanced printer filter which is able to properly format +- ** e-mail messages for printing. +- */ +- { "print_split", DT_BOOL, &C_PrintSplit, false }, +- /* +- ** .pp +- ** Used in connection with the \fC\fP command. If this option +- ** is \fIset\fP, the command specified by $$print_command is executed once for +- ** each message which is to be printed. If this option is \fIunset\fP, +- ** the command specified by $$print_command is executed only once, and +- ** all the messages are concatenated, with a form feed as the message +- ** separator. +- ** .pp +- ** Those who use the \fCenscript\fP(1) program's mail-printing mode will +- ** most likely want to \fIset\fP this option. +- */ +- { "prompt_after", DT_BOOL, &C_PromptAfter, true }, +- /* +- ** .pp +- ** If you use an \fIexternal\fP $$pager, setting this variable will +- ** cause NeoMutt to prompt you for a command when the pager exits rather +- ** than returning to the index menu. If \fIunset\fP, NeoMutt will return to the +- ** index menu when the external pager exits. +- */ +- { "query_command", DT_STRING|DT_COMMAND, &C_QueryCommand, 0 }, +- /* +- ** .pp +- ** This specifies the command NeoMutt will use to make external address +- ** queries. The string may contain a "%s", which will be substituted +- ** with the query string the user types. NeoMutt will add quotes around the +- ** string substituted for "%s" automatically according to shell quoting +- ** rules, so you should avoid adding your own. If no "%s" is found in +- ** the string, NeoMutt will append the user's query to the end of the string. +- ** See "$query" for more information. +- */ +- { "query_format", DT_STRING|DT_NOT_EMPTY, &C_QueryFormat, IP "%4c %t %-25.25a %-25.25n %?e?(%e)?" }, +- /* +- ** .pp +- ** This variable describes the format of the "query" menu. The +- ** following \fCprintf(3)\fP-style sequences are understood: +- ** .dl +- ** .dt %a .dd Destination address +- ** .dt %c .dd Current entry number +- ** .dt %e .dd Extra information * +- ** .dt %n .dd Destination name +- ** .dt %t .dd "*" if current entry is tagged, a space otherwise +- ** .dt %>X .dd Right justify the rest of the string and pad with "X" +- ** .dt %|X .dd Pad to the end of the line with "X" +- ** .dt %*X .dd Soft-fill with character "X" as pad +- ** .de +- ** .pp +- ** For an explanation of "soft-fill", see the $$index_format documentation. +- ** .pp +- ** * = can be optionally printed if nonzero, see the $$status_format documentation. +- */ +- { "quit", DT_QUAD, &C_Quit, MUTT_YES }, +- /* +- ** .pp +- ** This variable controls whether "quit" and "exit" actually quit +- ** from NeoMutt. If this option is \fIset\fP, they do quit, if it is \fIunset\fP, they +- ** have no effect, and if it is set to \fIask-yes\fP or \fIask-no\fP, you are +- ** prompted for confirmation when you try to quit. +- */ +- { "quote_regex", DT_REGEX|R_PAGER, &C_QuoteRegex, IP "^([ \t]*[|>:}#])+" }, +- /* +- ** .pp +- ** A regular expression used in the internal pager to determine quoted +- ** sections of text in the body of a message. Quoted text may be filtered +- ** out using the \fC\fP command, or colored according to the +- ** "color quoted" family of directives. +- ** .pp +- ** Higher levels of quoting may be colored differently ("color quoted1", +- ** "color quoted2", etc.). The quoting level is determined by removing +- ** the last character from the matched text and recursively reapplying +- ** the regular expression until it fails to produce a match. +- ** .pp +- ** Match detection may be overridden by the $$smileys regular expression. +- */ +- { "toggle_quoted_show_levels", DT_NUMBER|DT_NOT_NEGATIVE, &C_ToggleQuotedShowLevels, 0 }, +- /* +- ** .pp +- ** Quoted text may be filtered out using the \fC\fP command. +- ** If set to a number greater than 0, then the \fC\fP +- ** command will only filter out quote levels above this number. +- */ +- { "read_inc", DT_NUMBER|DT_NOT_NEGATIVE, &C_ReadInc, 10 }, +- /* +- ** .pp +- ** If set to a value greater than 0, NeoMutt will display which message it +- ** is currently on when reading a mailbox or when performing search actions +- ** such as search and limit. The message is printed after +- ** this many messages have been read or searched (e.g., if set to 25, NeoMutt will +- ** print a message when it is at message 25, and then again when it gets +- ** to message 50). This variable is meant to indicate progress when +- ** reading or searching large mailboxes which may take some time. +- ** When set to 0, only a single message will appear before the reading +- ** the mailbox. +- ** .pp +- ** Also see the $$write_inc, $$net_inc and $$time_inc variables and the +- ** "$tuning" section of the manual for performance considerations. +- */ +- { "read_only", DT_BOOL, &C_ReadOnly, false }, +- /* +- ** .pp +- ** If \fIset\fP, all folders are opened in read-only mode. +- */ +- { "realname", DT_STRING|R_INDEX|R_PAGER, &C_Realname, 0 }, +- /* +- ** .pp +- ** This variable specifies what "real" or "personal" name should be used +- ** when sending messages. +- ** .pp +- ** If not specified, then the user's "real name" will be read from \fC/etc/passwd\fP. +- ** This option will not be used, if "$$from" is set. +- */ +- { "recall", DT_QUAD, &C_Recall, MUTT_ASKYES }, +- /* +- ** .pp +- ** Controls whether or not NeoMutt recalls postponed messages +- ** when composing a new message. +- ** .pp +- ** Setting this variable to \fIyes\fP is not generally useful, and thus not +- ** recommended. Note that the \fC\fP function can be used +- ** to manually recall postponed messages. +- ** .pp +- ** Also see $$postponed variable. +- */ +- { "record", DT_STRING|DT_PATH|DT_MAILBOX, &C_Record, IP "~/sent" }, +- /* +- ** .pp +- ** This specifies the file into which your outgoing messages should be +- ** appended. (This is meant as the primary method for saving a copy of +- ** your messages, but another way to do this is using the "$my_hdr" +- ** command to create a "Bcc:" field with your email address in it.) +- ** .pp +- ** The value of \fI$$record\fP is overridden by the $$force_name and +- ** $$save_name variables, and the "$fcc-hook" command. Also see $$copy +- ** and $$write_bcc. +- */ +- { "reflow_space_quotes", DT_BOOL, &C_ReflowSpaceQuotes, true }, +- /* +- ** .pp +- ** This option controls how quotes from format=flowed messages are displayed +- ** in the pager and when replying (with $$text_flowed \fIunset\fP). +- ** When set, this option adds spaces after each level of quote marks, turning +- ** ">>>foo" into "> > > foo". +- ** .pp +- ** \fBNote:\fP If $$reflow_text is \fIunset\fP, this option has no effect. +- ** Also, this option does not affect replies when $$text_flowed is \fIset\fP. +- */ +- { "reflow_text", DT_BOOL, &C_ReflowText, true }, +- /* +- ** .pp +- ** When \fIset\fP, NeoMutt will reformat paragraphs in text/plain +- ** parts marked format=flowed. If \fIunset\fP, NeoMutt will display paragraphs +- ** unaltered from how they appear in the message body. See RFC3676 for +- ** details on the \fIformat=flowed\fP format. +- ** .pp +- ** Also see $$reflow_wrap, and $$wrap. +- */ +- { "reflow_wrap", DT_NUMBER, &C_ReflowWrap, 78 }, +- /* +- ** .pp +- ** This variable controls the maximum paragraph width when reformatting text/plain +- ** parts when $$reflow_text is \fIset\fP. When the value is 0, paragraphs will +- ** be wrapped at the terminal's right margin. A positive value sets the +- ** paragraph width relative to the left margin. A negative value set the +- ** paragraph width relative to the right margin. +- ** .pp +- ** Also see $$wrap. +- */ +- { "reply_regex", DT_REGEX|R_INDEX|R_RESORT, &C_ReplyRegex, IP "^((re|aw|sv)(\\[[0-9]+\\])*:[ \t]*)*", 0, reply_validator }, +- /* +- ** .pp +- ** A regular expression used to recognize reply messages when threading +- ** and replying. The default value corresponds to the English "Re:", the +- ** German "Aw:" and the Swedish "Sv:". +- */ +- { "reply_self", DT_BOOL, &C_ReplySelf, false }, +- /* +- ** .pp +- ** If \fIunset\fP and you are replying to a message sent by you, NeoMutt will +- ** assume that you want to reply to the recipients of that message rather +- ** than to yourself. +- ** .pp +- ** Also see the "$alternates" command. +- */ +- { "reply_to", DT_QUAD, &C_ReplyTo, MUTT_ASKYES }, +- /* +- ** .pp +- ** If \fIset\fP, when replying to a message, NeoMutt will use the address listed +- ** in the Reply-to: header as the recipient of the reply. If \fIunset\fP, +- ** it will use the address in the From: header field instead. This +- ** option is useful for reading a mailing list that sets the Reply-To: +- ** header field to the list address and you want to send a private +- ** message to the author of a message. +- */ +- { "reply_with_xorig", DT_BOOL, &C_ReplyWithXorig, false }, +- /* +- ** .pp +- ** This variable provides a toggle. When active, the From: header will be +- ** extracted from the current mail's 'X-Original-To:' header. This setting +- ** does not have precedence over "$reverse_realname". +- ** .pp +- ** Assuming 'fast_reply' is disabled, this option will prompt the user with a +- ** prefilled From: header. +- */ +- { "resolve", DT_BOOL, &C_Resolve, true }, +- /* +- ** .pp +- ** When \fIset\fP, the cursor will be automatically advanced to the next +- ** (possibly undeleted) message whenever a command that modifies the +- ** current message is executed. +- */ +- { "resume_draft_files", DT_BOOL, &C_ResumeDraftFiles, false }, +- /* +- ** .pp +- ** If \fIset\fP, draft files (specified by \fC-H\fP on the command +- ** line) are processed similarly to when resuming a postponed +- ** message. Recipients are not prompted for; send-hooks are not +- ** evaluated; no alias expansion takes place; user-defined headers +- ** and signatures are not added to the message. +- */ +- { "resume_edited_draft_files", DT_BOOL, &C_ResumeEditedDraftFiles, true }, +- /* +- ** .pp +- ** If \fIset\fP, draft files previously edited (via \fC-E -H\fP on +- ** the command line) will have $$resume_draft_files automatically +- ** set when they are used as a draft file again. +- ** .pp +- ** The first time a draft file is saved, NeoMutt will add a header, +- ** X-Mutt-Resume-Draft to the saved file. The next time the draft +- ** file is read in, if NeoMutt sees the header, it will set +- ** $$resume_draft_files. +- ** .pp +- ** This option is designed to prevent multiple signatures, +- ** user-defined headers, and other processing effects from being +- ** made multiple times to the draft file. +- */ +- { "reverse_alias", DT_BOOL|R_INDEX|R_PAGER, &C_ReverseAlias, false }, +- /* +- ** .pp +- ** This variable controls whether or not NeoMutt will display the "personal" +- ** name from your aliases in the index menu if it finds an alias that +- ** matches the message's sender. For example, if you have the following +- ** alias: +- ** .ts +- ** alias juser abd30425@somewhere.net (Joe User) +- ** .te +- ** .pp +- ** and then you receive mail which contains the following header: +- ** .ts +- ** From: abd30425@somewhere.net +- ** .te +- ** .pp +- ** It would be displayed in the index menu as "Joe User" instead of +- ** "abd30425@somewhere.net." This is useful when the person's e-mail +- ** address is not human friendly. +- */ +- { "reverse_name", DT_BOOL|R_INDEX|R_PAGER, &C_ReverseName, false }, +- /* +- ** .pp +- ** It may sometimes arrive that you receive mail to a certain machine, +- ** move the messages to another machine, and reply to some the messages +- ** from there. If this variable is \fIset\fP, the default \fIFrom:\fP line of +- ** the reply messages is built using the address where you received the +- ** messages you are replying to \fBif\fP that address matches your +- ** "$alternates". If the variable is \fIunset\fP, or the address that would be +- ** used doesn't match your "$alternates", the \fIFrom:\fP line will use +- ** your address on the current machine. +- ** .pp +- ** Also see the "$alternates" command and $$reverse_realname. +- */ +- { "reverse_realname", DT_BOOL|R_INDEX|R_PAGER, &C_ReverseRealname, true }, +- /* +- ** .pp +- ** This variable fine-tunes the behavior of the $$reverse_name feature. +- ** .pp +- ** When it is \fIunset\fP, NeoMutt will remove the real name part of a +- ** matching address. This allows the use of the email address +- ** without having to also use what the sender put in the real name +- ** field. +- ** .pp +- ** When it is \fIset\fP, NeoMutt will use the matching address as-is. +- ** .pp +- ** In either case, a missing real name will be filled in afterwards +- ** using the value of $$realname. +- */ +- { "rfc2047_parameters", DT_BOOL, &C_Rfc2047Parameters, false }, +- /* +- ** .pp +- ** When this variable is \fIset\fP, NeoMutt will decode RFC2047-encoded MIME +- ** parameters. You want to set this variable when NeoMutt suggests you +- ** to save attachments to files named like: +- ** .ts +- ** =?iso-8859-1?Q?file=5F=E4=5F991116=2Ezip?= +- ** .te +- ** .pp +- ** When this variable is \fIset\fP interactively, the change won't be +- ** active until you change folders. +- ** .pp +- ** Note that this use of RFC2047's encoding is explicitly +- ** prohibited by the standard, but nevertheless encountered in the +- ** wild. +- ** .pp +- ** Also note that setting this parameter will \fInot\fP have the effect +- ** that NeoMutt \fIgenerates\fP this kind of encoding. Instead, NeoMutt will +- ** unconditionally use the encoding specified in RFC2231. +- */ +- { "save_address", DT_BOOL, &C_SaveAddress, false }, +- /* +- ** .pp +- ** If \fIset\fP, NeoMutt will take the sender's full address when choosing a +- ** default folder for saving a mail. If $$save_name or $$force_name +- ** is \fIset\fP too, the selection of the Fcc folder will be changed as well. +- */ +- { "save_empty", DT_BOOL, &C_SaveEmpty, true }, +- /* +- ** .pp +- ** When \fIunset\fP, mailboxes which contain no saved messages will be removed +- ** when closed (the exception is $$spoolfile which is never removed). +- ** If \fIset\fP, mailboxes are never removed. +- ** .pp +- ** \fBNote:\fP This only applies to mbox and MMDF folders, NeoMutt does not +- ** delete MH and Maildir directories. +- */ +- { "save_history", DT_NUMBER|DT_NOT_NEGATIVE, &C_SaveHistory, 0 }, +- /* +- ** .pp +- ** This variable controls the size of the history (per category) saved in the +- ** $$history_file file. +- */ +- { "save_name", DT_BOOL, &C_SaveName, false }, +- /* +- ** .pp +- ** This variable controls how copies of outgoing messages are saved. +- ** When \fIset\fP, a check is made to see if a mailbox specified by the +- ** recipient address exists (this is done by searching for a mailbox in +- ** the $$folder directory with the \fIusername\fP part of the +- ** recipient address). If the mailbox exists, the outgoing message will +- ** be saved to that mailbox, otherwise the message is saved to the +- ** $$record mailbox. +- ** .pp +- ** Also see the $$force_name variable. +- */ +-#ifdef USE_NNTP +- { "save_unsubscribed", DT_BOOL, &C_SaveUnsubscribed, false }, +- /* +- ** .pp +- ** When \fIset\fP, info about unsubscribed newsgroups will be saved into +- ** "newsrc" file and into cache. +- */ +-#endif +- { "score", DT_BOOL, &C_Score, true }, +- /* +- ** .pp +- ** When this variable is \fIunset\fP, scoring is turned off. This can +- ** be useful to selectively disable scoring for certain folders when the +- ** $$score_threshold_delete variable and related are used. +- */ +- { "score_threshold_delete", DT_NUMBER, &C_ScoreThresholdDelete, -1 }, +- /* +- ** .pp +- ** Messages which have been assigned a score equal to or lower than the value +- ** of this variable are automatically marked for deletion by NeoMutt. Since +- ** NeoMutt scores are always greater than or equal to zero, the default setting +- ** of this variable will never mark a message for deletion. +- */ +- { "score_threshold_flag", DT_NUMBER, &C_ScoreThresholdFlag, 9999 }, +- /* +- ** .pp +- ** Messages which have been assigned a score greater than or equal to this +- ** variable's value are automatically marked "flagged". +- */ +- { "score_threshold_read", DT_NUMBER, &C_ScoreThresholdRead, -1 }, +- /* +- ** .pp +- ** Messages which have been assigned a score equal to or lower than the value +- ** of this variable are automatically marked as read by NeoMutt. Since +- ** NeoMutt scores are always greater than or equal to zero, the default setting +- ** of this variable will never mark a message read. +- */ +- { "search_context", DT_NUMBER|DT_NOT_NEGATIVE, &C_SearchContext, 0 }, +- /* +- ** .pp +- ** For the pager, this variable specifies the number of lines shown +- ** before search results. By default, search results will be top-aligned. +- */ +- { "send_charset", DT_STRING, &C_SendCharset, IP "us-ascii:iso-8859-1:utf-8", 0, charset_validator }, +- /* +- ** .pp +- ** A colon-delimited list of character sets for outgoing messages. NeoMutt will use the +- ** first character set into which the text can be converted exactly. +- ** If your $$charset is not "iso-8859-1" and recipients may not +- ** understand "UTF-8", it is advisable to include in the list an +- ** appropriate widely used standard character set (such as +- ** "iso-8859-2", "koi8-r" or "iso-2022-jp") either instead of or after +- ** "iso-8859-1". +- ** .pp +- ** In case the text can't be converted into one of these exactly, +- ** NeoMutt uses $$charset as a fallback. +- */ +- { "sendmail", DT_STRING|DT_COMMAND, &C_Sendmail, IP SENDMAIL " -oem -oi" }, +- /* +- ** .pp +- ** Specifies the program and arguments used to deliver mail sent by NeoMutt. +- ** NeoMutt expects that the specified program interprets additional +- ** arguments as recipient addresses. NeoMutt appends all recipients after +- ** adding a \fC--\fP delimiter (if not already present). Additional +- ** flags, such as for $$use_8bitmime, $$use_envelope_from, +- ** $$dsn_notify, or $$dsn_return will be added before the delimiter. +- ** .pp +- ** \fBSee also:\fP $$write_bcc. +- */ +- { "sendmail_wait", DT_NUMBER, &C_SendmailWait, 0 }, +- /* +- ** .pp +- ** Specifies the number of seconds to wait for the $$sendmail process +- ** to finish before giving up and putting delivery in the background. +- ** .pp +- ** NeoMutt interprets the value of this variable as follows: +- ** .dl +- ** .dt >0 .dd number of seconds to wait for sendmail to finish before continuing +- ** .dt 0 .dd wait forever for sendmail to finish +- ** .dt <0 .dd always put sendmail in the background without waiting +- ** .de +- ** .pp +- ** Note that if you specify a value other than 0, the output of the child +- ** process will be put in a temporary file. If there is some error, you +- ** will be informed as to where to find the output. +- */ +- { "shell", DT_STRING|DT_COMMAND, &C_Shell, IP "/bin/sh" }, +- /* +- ** .pp +- ** Command to use when spawning a subshell. +- ** If not specified, then the user's login shell from \fC/etc/passwd\fP is used. +- */ +- { "show_multipart_alternative", DT_STRING, &C_ShowMultipartAlternative, 0, 0, multipart_validator }, +- /* +- ** .pp +- ** When \fIset\fP to \fCinfo\fP, the multipart/alternative information is shown. +- ** When \fIset\fP to \fCinline\fP, all of the alternatives are displayed. +- ** When not set, the default behavior is to show only the chosen alternative. +- */ +-#ifdef USE_NNTP +- { "show_new_news", DT_BOOL, &C_ShowNewNews, true }, +- /* +- ** .pp +- ** If \fIset\fP, news server will be asked for new newsgroups on entering +- ** the browser. Otherwise, it will be done only once for a news server. +- ** Also controls whether or not number of new articles of subscribed +- ** newsgroups will be then checked. +- */ +- { "show_only_unread", DT_BOOL, &C_ShowOnlyUnread, false }, +- /* +- ** .pp +- ** If \fIset\fP, only subscribed newsgroups that contain unread articles +- ** will be displayed in browser. +- */ +-#endif +-#ifdef USE_SIDEBAR +- { "sidebar_component_depth", DT_NUMBER|R_SIDEBAR, &C_SidebarComponentDepth, 0 }, +- /* +- ** .pp +- ** By default the sidebar will show the mailbox's path, relative to the +- ** $$folder variable. This specifies the number of parent directories to hide +- ** from display in the sidebar. For example: If a maildir is normally +- ** displayed in the sidebar as dir1/dir2/dir3/maildir, setting +- ** \fCsidebar_component_depth=2\fP will display it as dir3/maildir, having +- ** truncated the 2 highest directories. +- ** .pp +- ** \fBSee also:\fP $$sidebar_short_path +- */ +- { "sidebar_delim_chars", DT_STRING|R_SIDEBAR, &C_SidebarDelimChars, IP "/." }, +- /* +- ** .pp +- ** This contains the list of characters which you would like to treat +- ** as folder separators for displaying paths in the sidebar. +- ** .pp +- ** Local mail is often arranged in directories: 'dir1/dir2/mailbox'. +- ** .ts +- ** set sidebar_delim_chars='/' +- ** .te +- ** .pp +- ** IMAP mailboxes are often named: 'folder1.folder2.mailbox'. +- ** .ts +- ** set sidebar_delim_chars='.' +- ** .te +- ** .pp +- ** \fBSee also:\fP $$sidebar_short_path, $$sidebar_folder_indent, $$sidebar_indent_string. +- */ +- { "sidebar_divider_char", DT_STRING|R_SIDEBAR, &C_SidebarDividerChar, 0 }, +- /* +- ** .pp +- ** This specifies the characters to be drawn between the sidebar (when +- ** visible) and the other NeoMutt panels. ASCII and Unicode line-drawing +- ** characters are supported. +- */ +- { "sidebar_folder_indent", DT_BOOL|R_SIDEBAR, &C_SidebarFolderIndent, false }, +- /* +- ** .pp +- ** Set this to indent mailboxes in the sidebar. +- ** .pp +- ** \fBSee also:\fP $$sidebar_short_path, $$sidebar_indent_string, $$sidebar_delim_chars. +- */ +- { "sidebar_format", DT_STRING|DT_NOT_EMPTY|R_SIDEBAR, &C_SidebarFormat, IP "%B%* %n" }, +- /* +- ** .pp +- ** This variable allows you to customize the sidebar display. This string is +- ** similar to $$index_format, but has its own set of \fCprintf(3)\fP-like +- ** sequences: +- ** .dl +- ** .dt %B .dd Name of the mailbox +- ** .dt %D .dd Description of the mailbox +- ** .dt %S .dd * Size of mailbox (total number of messages) +- ** .dt %N .dd * Number of unread messages in the mailbox +- ** .dt %n .dd N if mailbox has new mail, blank otherwise +- ** .dt %F .dd * Number of Flagged messages in the mailbox +- ** .dt %! .dd "!" : one flagged message; +- ** "!!" : two flagged messages; +- ** "n!" : n flagged messages (for n > 2). +- ** Otherwise prints nothing. +- ** .dt %d .dd * @ Number of deleted messages +- ** .dt %L .dd * @ Number of messages after limiting +- ** .dt %t .dd * @ Number of tagged messages +- ** .dt %>X .dd right justify the rest of the string and pad with "X" +- ** .dt %|X .dd pad to the end of the line with "X" +- ** .dt %*X .dd soft-fill with character "X" as pad +- ** .de +- ** .pp +- ** * = Can be optionally printed if nonzero +- ** @ = Only applicable to the current folder +- ** .pp +- ** In order to use %S, %N, %F, and %!, $$mail_check_stats must +- ** be \fIset\fP. When thus set, a suggested value for this option is +- ** "%B%?F? [%F]?%* %?N?%N/?%S". +- */ +- { "sidebar_indent_string", DT_STRING|R_SIDEBAR, &C_SidebarIndentString, IP " " }, +- /* +- ** .pp +- ** This specifies the string that is used to indent mailboxes in the sidebar. +- ** It defaults to two spaces. +- ** .pp +- ** \fBSee also:\fP $$sidebar_short_path, $$sidebar_folder_indent, $$sidebar_delim_chars. +- */ +- { "sidebar_new_mail_only", DT_BOOL|R_SIDEBAR, &C_SidebarNewMailOnly, false }, +- /* +- ** .pp +- ** When set, the sidebar will only display mailboxes containing new, or +- ** flagged, mail. +- ** .pp +- ** \fBSee also:\fP $$sidebar_whitelist, $$sidebar_non_empty_mailbox_only. +- */ +- { "sidebar_non_empty_mailbox_only", DT_BOOL|R_SIDEBAR, &C_SidebarNonEmptyMailboxOnly, false }, +- /* +- ** .pp +- ** When set, the sidebar will only display mailboxes that contain one or more mails. +- ** .pp +- ** \fBSee also:\fP $$sidebar_new_mail_only, $$sidebar_whitelist. +- */ +- { "sidebar_next_new_wrap", DT_BOOL, &C_SidebarNextNewWrap, false }, +- /* +- ** .pp +- ** When set, the \fC\fP command will not stop and the end of +- ** the list of mailboxes, but wrap around to the beginning. The +- ** \fC\fP command is similarly affected, wrapping around to +- ** the end of the list. +- */ +- { "sidebar_on_right", DT_BOOL|R_INDEX|R_PAGER|R_REFLOW, &C_SidebarOnRight, false }, +- /* +- ** .pp +- ** When set, the sidebar will appear on the right-hand side of the screen. +- */ +- { "sidebar_short_path", DT_BOOL|R_SIDEBAR, &C_SidebarShortPath, false }, +- /* +- ** .pp +- ** By default the sidebar will show the mailbox's path, relative to the +- ** $$folder variable. Setting \fCsidebar_shortpath=yes\fP will shorten the +- ** names relative to the previous name. Here's an example: +- ** .dl +- ** .dt \fBshortpath=no\fP .dd \fBshortpath=yes\fP .dd \fBshortpath=yes, folderindent=yes, indentstr=".."\fP +- ** .dt \fCfruit\fP .dd \fCfruit\fP .dd \fCfruit\fP +- ** .dt \fCfruit.apple\fP .dd \fCapple\fP .dd \fC..apple\fP +- ** .dt \fCfruit.banana\fP .dd \fCbanana\fP .dd \fC..banana\fP +- ** .dt \fCfruit.cherry\fP .dd \fCcherry\fP .dd \fC..cherry\fP +- ** .de +- ** .pp +- ** \fBSee also:\fP $$sidebar_delim_chars, $$sidebar_folder_indent, +- ** $$sidebar_indent_string, $$sidebar_component_depth. +- */ +- { "sidebar_sort_method", DT_SORT|DT_SORT_SIDEBAR|R_SIDEBAR, &C_SidebarSortMethod, SORT_ORDER }, +- /* +- ** .pp +- ** Specifies how to sort entries in the file browser. By default, the +- ** entries are sorted alphabetically. Valid values: +- ** .il +- ** .dd alpha (alphabetically) +- ** .dd count (all message count) +- ** .dd flagged (flagged message count) +- ** .dd name (alphabetically) +- ** .dd new (unread message count) +- ** .dd path (alphabetically) +- ** .dd unread (unread message count) +- ** .dd unsorted +- ** .ie +- ** .pp +- ** You may optionally use the "reverse-" prefix to specify reverse sorting +- ** order (example: "\fCset sort_browser=reverse-date\fP"). +- */ +- { "sidebar_visible", DT_BOOL|R_REFLOW, &C_SidebarVisible, false }, +- /* +- ** .pp +- ** This specifies whether or not to show sidebar. The sidebar shows a list of +- ** all your mailboxes. +- ** .pp +- ** \fBSee also:\fP $$sidebar_format, $$sidebar_width +- */ +- { "sidebar_width", DT_NUMBER|DT_NOT_NEGATIVE|R_REFLOW, &C_SidebarWidth, 30 }, +- /* +- ** .pp +- ** This controls the width of the sidebar. It is measured in screen columns. +- ** For example: sidebar_width=20 could display 20 ASCII characters, or 10 +- ** Chinese characters. +- */ +-#endif +- { "sig_dashes", DT_BOOL, &C_SigDashes, true }, +- /* +- ** .pp +- ** If \fIset\fP, a line containing "-- " (note the trailing space) will be inserted before your +- ** $$signature. It is \fBstrongly\fP recommended that you not \fIunset\fP +- ** this variable unless your signature contains just your name. The +- ** reason for this is because many software packages use "-- \n" to +- ** detect your signature. For example, NeoMutt has the ability to highlight +- ** the signature in a different color in the built-in pager. +- */ +- { "sig_on_top", DT_BOOL, &C_SigOnTop, false }, +- /* +- ** .pp +- ** If \fIset\fP, the signature will be included before any quoted or forwarded +- ** text. It is \fBstrongly\fP recommended that you do not set this variable +- ** unless you really know what you are doing, and are prepared to take +- ** some heat from netiquette guardians. +- */ +- { "signature", DT_STRING|DT_PATH, &C_Signature, IP "~/.signature" }, +- /* +- ** .pp +- ** Specifies the filename of your signature, which is appended to all +- ** outgoing messages. If the filename ends with a pipe ("|"), it is +- ** assumed that filename is a shell command and input should be read from +- ** its standard output. +- */ +- { "simple_search", DT_STRING, &C_SimpleSearch, IP "~f %s | ~s %s" }, +- /* +- ** .pp +- ** Specifies how NeoMutt should expand a simple search into a real search +- ** pattern. A simple search is one that does not contain any of the "~" pattern +- ** operators. See "$patterns" for more information on search patterns. +- ** .pp +- ** For example, if you simply type "joe" at a search or limit prompt, NeoMutt +- ** will automatically expand it to the value specified by this variable by +- ** replacing "%s" with the supplied string. +- ** For the default value, "joe" would be expanded to: "~f joe | ~s joe". +- */ +- { "size_show_bytes", DT_BOOL|R_MENU, &C_SizeShowBytes, false }, +- /* +- ** .pp +- ** If \fIset\fP, message sizes will display bytes for values less than +- ** 1 kilobyte. See $formatstrings-size. +- */ +- { "size_show_fractions", DT_BOOL|R_MENU, &C_SizeShowFractions, true }, +- /* +- ** .pp +- ** If \fIset\fP, message sizes will be displayed with a single decimal value +- ** for sizes from 0 to 10 kilobytes and 1 to 10 megabytes. +- ** See $formatstrings-size. +- */ +- { "size_show_mb", DT_BOOL|R_MENU, &C_SizeShowMb, true }, +- /* +- ** .pp +- ** If \fIset\fP, message sizes will display megabytes for values greater than +- ** or equal to 1 megabyte. See $formatstrings-size. +- */ +- { "size_units_on_left", DT_BOOL|R_MENU, &C_SizeUnitsOnLeft, false }, +- /* +- ** .pp +- ** If \fIset\fP, message sizes units will be displayed to the left of the number. +- ** See $formatstrings-size. +- */ +- { "skip_quoted_offset", DT_NUMBER|DT_NOT_NEGATIVE, &C_SkipQuotedOffset, 0 }, +- /* +- ** .pp +- ** Lines of quoted text that are displayed before the unquoted text after +- ** "skip to quoted" command (S) +- */ +- { "sleep_time", DT_NUMBER|DT_NOT_NEGATIVE, &C_SleepTime, 1 }, +- /* +- ** .pp +- ** Specifies time, in seconds, to pause while displaying certain informational +- ** messages, while moving from folder to folder and after expunging +- ** messages from the current folder. The default is to pause one second, so +- ** a value of zero for this option suppresses the pause. +- */ +- { "smart_wrap", DT_BOOL|R_PAGER_FLOW, &C_SmartWrap, true }, +- /* +- ** .pp +- ** Controls the display of lines longer than the screen width in the +- ** internal pager. If \fIset\fP, long lines are wrapped at a word boundary. If +- ** \fIunset\fP, lines are simply wrapped at the screen edge. Also see the +- ** $$markers variable. +- */ +- { "smileys", DT_REGEX|R_PAGER, &C_Smileys, IP "(>From )|(:[-^]?[][)(><}{|/DP])" }, +- /* +- ** .pp +- ** The \fIpager\fP uses this variable to catch some common false +- ** positives of $$quote_regex, most notably smileys and not consider +- ** a line quoted text if it also matches $$smileys. This mostly +- ** happens at the beginning of a line. +- */ +-#ifdef CRYPT_BACKEND_CLASSIC_SMIME +- { "smime_ask_cert_label", DT_BOOL, &C_SmimeAskCertLabel, true }, +- /* +- ** .pp +- ** This flag controls whether you want to be asked to enter a label +- ** for a certificate about to be added to the database or not. It is +- ** \fIset\fP by default. +- ** (S/MIME only) +- */ +- { "smime_ca_location", DT_STRING|DT_PATH, &C_SmimeCaLocation, 0 }, +- /* +- ** .pp +- ** This variable contains the name of either a directory, or a file which +- ** contains trusted certificates for use with OpenSSL. +- ** (S/MIME only) +- */ +- { "smime_certificates", DT_STRING|DT_PATH, &C_SmimeCertificates, 0 }, +- /* +- ** .pp +- ** Since for S/MIME there is no pubring/secring as with PGP, NeoMutt has to handle +- ** storage and retrieval of keys by itself. This is very basic right +- ** now, and keys and certificates are stored in two different +- ** directories, both named as the hash-value retrieved from +- ** OpenSSL. There is an index file which contains mailbox-address +- ** keyid pairs, and which can be manually edited. This option points to +- ** the location of the certificates. +- ** (S/MIME only) +- */ +- { "smime_decrypt_command", DT_STRING|DT_COMMAND, &C_SmimeDecryptCommand, 0 }, +- /* +- ** .pp +- ** This format string specifies a command which is used to decrypt +- ** \fCapplication/x-pkcs7-mime\fP attachments. +- ** .pp +- ** The OpenSSL command formats have their own set of \fCprintf(3)\fP-like sequences +- ** similar to PGP's: +- ** .dl +- ** .dt %f .dd Expands to the name of a file containing a message. +- ** .dt %s .dd Expands to the name of a file containing the signature part +- ** . of a \fCmultipart/signed\fP attachment when verifying it. +- ** .dt %k .dd The key-pair specified with $$smime_default_key +- ** .dt %i .dd Intermediate certificates +- ** .dt %c .dd One or more certificate IDs. +- ** .dt %a .dd The algorithm used for encryption. +- ** .dt %d .dd The message digest algorithm specified with $$smime_sign_digest_alg. +- ** .dt %C .dd CA location: Depending on whether $$smime_ca_location +- ** . points to a directory or file, this expands to +- ** . "-CApath $$smime_ca_location" or "-CAfile $$smime_ca_location". +- ** .de +- ** .pp +- ** For examples on how to configure these formats, see the \fCsmime.rc\fP in +- ** the \fCsamples/\fP subdirectory which has been installed on your system +- ** alongside the documentation. +- ** (S/MIME only) +- */ +- { "smime_decrypt_use_default_key", DT_BOOL, &C_SmimeDecryptUseDefaultKey, true }, +- /* +- ** .pp +- ** If \fIset\fP (default) this tells NeoMutt to use the default key for decryption. Otherwise, +- ** if managing multiple certificate-key-pairs, NeoMutt will try to use the mailbox-address +- ** to determine the key to use. It will ask you to supply a key, if it can't find one. +- ** (S/MIME only) +- */ +-#endif +- { "smime_default_key", DT_STRING, &C_SmimeDefaultKey, 0 }, +- /* +- ** .pp +- ** This is the default key-pair to use for S/MIME operations, and must be +- ** set to the keyid (the hash-value that OpenSSL generates) to work properly. +- ** .pp +- ** It will be used for encryption (see $$postpone_encrypt and +- ** $$smime_self_encrypt). +- ** .pp +- ** It will be used for decryption unless $$smime_decrypt_use_default_key +- ** is \fIunset\fP. +- ** .pp +- ** It will also be used for signing unless $$smime_sign_as is set. +- ** .pp +- ** The (now deprecated) \fIsmime_self_encrypt_as\fP is an alias for this +- ** variable, and should no longer be used. +- ** (S/MIME only) +- */ +-#ifdef CRYPT_BACKEND_CLASSIC_SMIME +- { "smime_encrypt_command", DT_STRING|DT_COMMAND, &C_SmimeEncryptCommand, 0 }, +- /* +- ** .pp +- ** This command is used to create encrypted S/MIME messages. +- ** .pp +- ** This is a format string, see the $$smime_decrypt_command command for +- ** possible \fCprintf(3)\fP-like sequences. +- ** (S/MIME only) +- */ +- /* +- ** .pp +- ** Encrypt the message to $$smime_default_key too. +- ** (S/MIME only) +- */ +-#endif +- { "smime_encrypt_with", DT_STRING, &C_SmimeEncryptWith, IP "aes256" }, +- /* +- ** .pp +- ** This sets the algorithm that should be used for encryption. +- ** Valid choices are "aes128", "aes192", "aes256", "des", "des3", "rc2-40", "rc2-64", "rc2-128". +- ** (S/MIME only) +- */ +-#ifdef CRYPT_BACKEND_CLASSIC_SMIME +- { "smime_get_cert_command", DT_STRING|DT_COMMAND, &C_SmimeGetCertCommand, 0 }, +- /* +- ** .pp +- ** This command is used to extract X509 certificates from a PKCS7 structure. +- ** .pp +- ** This is a format string, see the $$smime_decrypt_command command for +- ** possible \fCprintf(3)\fP-like sequences. +- ** (S/MIME only) +- */ +- { "smime_get_cert_email_command", DT_STRING|DT_COMMAND, &C_SmimeGetCertEmailCommand, 0 }, +- /* +- ** .pp +- ** This command is used to extract the mail address(es) used for storing +- ** X509 certificates, and for verification purposes (to check whether the +- ** certificate was issued for the sender's mailbox). +- ** .pp +- ** This is a format string, see the $$smime_decrypt_command command for +- ** possible \fCprintf(3)\fP-like sequences. +- ** (S/MIME only) +- */ +- { "smime_get_signer_cert_command", DT_STRING|DT_COMMAND, &C_SmimeGetSignerCertCommand, 0 }, +- /* +- ** .pp +- ** This command is used to extract only the signers X509 certificate from a S/MIME +- ** signature, so that the certificate's owner may get compared to the +- ** email's "From:" field. +- ** .pp +- ** This is a format string, see the $$smime_decrypt_command command for +- ** possible \fCprintf(3)\fP-like sequences. +- ** (S/MIME only) +- */ +- { "smime_import_cert_command", DT_STRING|DT_COMMAND, &C_SmimeImportCertCommand, 0 }, +- /* +- ** .pp +- ** This command is used to import a certificate via smime_keys. +- ** .pp +- ** This is a format string, see the $$smime_decrypt_command command for +- ** possible \fCprintf(3)\fP-like sequences. NOTE: %c and %k will default +- ** to $$smime_sign_as if set, otherwise $$smime_default_key. +- ** (S/MIME only) +- */ +-#endif +- { "smime_is_default", DT_BOOL, &C_SmimeIsDefault, false }, +- /* +- ** .pp +- ** The default behavior of NeoMutt is to use PGP on all auto-sign/encryption +- ** operations. To override and to use OpenSSL instead this must be \fIset\fP. +- ** However, this has no effect while replying, since NeoMutt will automatically +- ** select the same application that was used to sign/encrypt the original +- ** message. (Note that this variable can be overridden by unsetting $$crypt_autosmime.) +- ** (S/MIME only) +- */ +-#ifdef CRYPT_BACKEND_CLASSIC_SMIME +- { "smime_keys", DT_STRING|DT_PATH, &C_SmimeKeys, 0 }, +- /* +- ** .pp +- ** Since for S/MIME there is no pubring/secring as with PGP, NeoMutt has to handle +- ** storage and retrieval of keys/certs by itself. This is very basic right now, +- ** and stores keys and certificates in two different directories, both +- ** named as the hash-value retrieved from OpenSSL. There is an index file +- ** which contains mailbox-address keyid pair, and which can be manually +- ** edited. This option points to the location of the private keys. +- ** (S/MIME only) +- */ +- { "smime_pk7out_command", DT_STRING|DT_COMMAND, &C_SmimePk7outCommand, 0 }, +- /* +- ** .pp +- ** This command is used to extract PKCS7 structures of S/MIME signatures, +- ** in order to extract the public X509 certificate(s). +- ** .pp +- ** This is a format string, see the $$smime_decrypt_command command for +- ** possible \fCprintf(3)\fP-like sequences. +- ** (S/MIME only) +- */ +-#endif +- { "smime_self_encrypt", DT_BOOL, &C_SmimeSelfEncrypt, true }, +- /* +- ** .pp +- ** When \fIset\fP, S/MIME encrypted messages will also be encrypted +- ** using the certificate in $$smime_default_key. +- ** (S/MIME only) +- */ +- { "smime_sign_as", DT_STRING, &C_SmimeSignAs, 0 }, +- /* +- ** .pp +- ** If you have a separate key to use for signing, you should set this +- ** to the signing key. Most people will only need to set $$smime_default_key. +- ** (S/MIME only) +- */ +-#ifdef CRYPT_BACKEND_CLASSIC_SMIME +- { "smime_sign_command", DT_STRING|DT_COMMAND, &C_SmimeSignCommand, 0 }, +- /* +- ** .pp +- ** This command is used to created S/MIME signatures of type +- ** \fCmultipart/signed\fP, which can be read by all mail clients. +- ** .pp +- ** This is a format string, see the $$smime_decrypt_command command for +- ** possible \fCprintf(3)\fP-like sequences. +- ** (S/MIME only) +- */ +- { "smime_sign_digest_alg", DT_STRING, &C_SmimeSignDigestAlg, IP "sha256" }, +- /* +- ** .pp +- ** This sets the algorithm that should be used for the signature message digest. +- ** Valid choices are "md5", "sha1", "sha224", "sha256", "sha384", "sha512". +- ** (S/MIME only) +- */ +- { "smime_timeout", DT_NUMBER|DT_NOT_NEGATIVE, &C_SmimeTimeout, 300 }, +- /* +- ** .pp +- ** The number of seconds after which a cached passphrase will expire if +- ** not used. +- ** (S/MIME only) +- */ +- { "smime_verify_command", DT_STRING|DT_COMMAND, &C_SmimeVerifyCommand, 0 }, +- /* +- ** .pp +- ** This command is used to verify S/MIME signatures of type \fCmultipart/signed\fP. +- ** .pp +- ** This is a format string, see the $$smime_decrypt_command command for +- ** possible \fCprintf(3)\fP-like sequences. +- ** (S/MIME only) +- */ +- { "smime_verify_opaque_command", DT_STRING|DT_COMMAND, &C_SmimeVerifyOpaqueCommand, 0 }, +- /* +- ** .pp +- ** This command is used to verify S/MIME signatures of type +- ** \fCapplication/x-pkcs7-mime\fP. +- ** .pp +- ** This is a format string, see the $$smime_decrypt_command command for +- ** possible \fCprintf(3)\fP-like sequences. +- ** (S/MIME only) +- */ +-#endif +-#ifdef USE_SMTP +- { "smtp_authenticators", DT_SLIST|SLIST_SEP_COLON, &C_SmtpAuthenticators, 0 }, +- /* +- ** .pp +- ** This is a colon-delimited list of authentication methods NeoMutt may +- ** attempt to use to log in to an SMTP server, in the order NeoMutt should +- ** try them. Authentication methods are any SASL mechanism, e.g. "plain", +- ** "digest-md5", "gssapi" or "cram-md5". +- ** This option is case-insensitive. If it is "unset" +- ** (the default) NeoMutt will try all available methods, in order from +- ** most-secure to least-secure. Support for the "plain" mechanism is +- ** bundled; other mechanisms are provided by an external SASL library (look +- ** for +USE_SASL in the output of neomutt -v). +- ** .pp +- ** Example: +- ** .ts +- ** set smtp_authenticators="digest-md5:cram-md5" +- ** .te +- */ +- { "smtp_oauth_refresh_command", DT_STRING|DT_COMMAND|DT_SENSITIVE, &C_SmtpOauthRefreshCommand, 0 }, +- /* +- ** .pp +- ** The command to run to generate an OAUTH refresh token for +- ** authorizing your connection to your SMTP server. This command will be +- ** run on every connection attempt that uses the OAUTHBEARER authentication +- ** mechanism. See "$oauth" for details. +- */ +- { "smtp_pass", DT_STRING|DT_SENSITIVE, &C_SmtpPass, 0 }, +- /* +- ** .pp +- ** Specifies the password for your SMTP account. If \fIunset\fP, NeoMutt will +- ** prompt you for your password when you first send mail via SMTP. +- ** See $$smtp_url to configure NeoMutt to send mail via SMTP. +- ** .pp +- ** \fBWarning\fP: you should only use this option when you are on a +- ** fairly secure machine, because the superuser can read your neomuttrc even +- ** if you are the only one who can read the file. +- */ +- { "smtp_url", DT_STRING|DT_SENSITIVE, &C_SmtpUrl, 0 }, +- /* +- ** .pp +- ** Defines the SMTP smarthost where sent messages should relayed for +- ** delivery. This should take the form of an SMTP URL, e.g.: +- ** .ts +- ** smtp[s]://[user[:pass]@]host[:port] +- ** .te +- ** .pp +- ** where "[...]" denotes an optional part. +- ** Setting this variable overrides the value of the $$sendmail +- ** variable. +- ** .pp +- ** Also see $$write_bcc. +- */ +-#endif /* USE_SMTP */ +- { "sort", DT_SORT|R_INDEX|R_RESORT, &C_Sort, SORT_DATE, 0, pager_validator }, +- /* +- ** .pp +- ** Specifies how to sort messages in the "index" menu. Valid values +- ** are: +- ** .il +- ** .dd date or date-sent +- ** .dd date-received +- ** .dd from +- ** .dd mailbox-order (unsorted) +- ** .dd score +- ** .dd size +- ** .dd spam +- ** .dd subject +- ** .dd threads +- ** .dd to +- ** .ie +- ** .pp +- ** You may optionally use the "reverse-" prefix to specify reverse sorting +- ** order. +- ** .pp +- ** Example: +- ** .ts +- ** set sort=reverse-date-sent +- ** .te +- */ +- { "sort_alias", DT_SORT|DT_SORT_ALIAS, &C_SortAlias, SORT_ALIAS }, +- /* +- ** .pp +- ** Specifies how the entries in the "alias" menu are sorted. The +- ** following are legal values: +- ** .il +- ** .dd address (sort alphabetically by email address) +- ** .dd alias (sort alphabetically by alias name) +- ** .dd unsorted (leave in order specified in .neomuttrc) +- ** .ie +- */ +- { "sort_aux", DT_SORT|DT_SORT_AUX|R_INDEX|R_RESORT|R_RESORT_SUB, &C_SortAux, SORT_DATE }, +- /* +- ** .pp +- ** This provides a secondary sort for messages in the "index" menu, used +- ** when the $$sort value is equal for two messages. +- ** .pp +- ** When sorting by threads, this variable controls how threads are sorted +- ** in relation to other threads, and how the branches of the thread trees +- ** are sorted. This can be set to any value that $$sort can, except +- ** "threads" (in that case, NeoMutt will just use "date-sent"). You can also +- ** specify the "last-" prefix in addition to the "reverse-" prefix, but "last-" +- ** must come after "reverse-". The "last-" prefix causes messages to be +- ** sorted against its siblings by which has the last descendant, using +- ** the rest of $$sort_aux as an ordering. For instance, +- ** .ts +- ** set sort_aux=last-date-received +- ** .te +- ** .pp +- ** would mean that if a new message is received in a +- ** thread, that thread becomes the last one displayed (or the first, if +- ** you have "\fCset sort=reverse-threads\fP".) +- ** .pp +- ** Note: For reversed-threads $$sort +- ** order, $$sort_aux is reversed again (which is not the right thing to do, +- ** but kept to not break any existing configuration setting). +- */ +- { "sort_browser", DT_SORT|DT_SORT_BROWSER, &C_SortBrowser, SORT_ALPHA }, +- /* +- ** .pp +- ** Specifies how to sort entries in the file browser. By default, the +- ** entries are sorted alphabetically. Valid values: +- ** .il +- ** .dd alpha (alphabetically) +- ** .dd count (all message count) +- ** .dd date +- ** .dd desc (description) +- ** .dd new (new message count) +- ** .dd size +- ** .dd unsorted +- ** .ie +- ** .pp +- ** You may optionally use the "reverse-" prefix to specify reverse sorting +- ** order (example: "\fCset sort_browser=reverse-date\fP"). +- */ +- { "sort_re", DT_BOOL|R_INDEX|R_RESORT|R_RESORT_INIT, &C_SortRe, true, 0, pager_validator }, +- /* +- ** .pp +- ** This variable is only useful when sorting by mailboxes in sidebar. By default, +- ** entries are unsorted. Valid values: +- ** .il +- ** .dd count (all message count) +- ** .dd desc (virtual mailbox description) +- ** .dd new (new message count) +- ** .dd path +- ** .dd unsorted +- ** .ie +- */ +- { "spam_separator", DT_STRING, &C_SpamSeparator, IP "," }, +- /* +- ** .pp +- ** This variable controls what happens when multiple spam headers +- ** are matched: if \fIunset\fP, each successive header will overwrite any +- ** previous matches value for the spam label. If \fIset\fP, each successive +- ** match will append to the previous, using this variable's value as a +- ** separator. +- */ +- { "spoolfile", DT_STRING|DT_PATH|DT_MAILBOX, &C_Spoolfile, 0 }, +- /* +- ** .pp +- ** If your spool mailbox is in a non-default place where NeoMutt can't find +- ** it, you can specify its location with this variable. The description from +- ** "named-mailboxes" or "virtual-mailboxes" may be used for the spoolfile. +- ** .pp +- ** If not specified, then the environment variables \fC$$$MAIL\fP and +- ** \fC$$$MAILDIR\fP will be checked. +- */ +-#ifdef USE_SSL +-#ifdef USE_SSL_GNUTLS +- { "ssl_ca_certificates_file", DT_STRING|DT_PATH, &C_SslCaCertificatesFile, 0 }, +- /* +- ** .pp +- ** This variable specifies a file containing trusted CA certificates. +- ** Any server certificate that is signed with one of these CA +- ** certificates is also automatically accepted. (GnuTLS only) +- ** .pp +- ** Example: +- ** .ts +- ** set ssl_ca_certificates_file=/etc/ssl/certs/ca-certificates.crt +- ** .te +- */ +-#endif /* USE_SSL_GNUTLS */ +- { "ssl_ciphers", DT_STRING, &C_SslCiphers, 0 }, +- /* +- ** .pp +- ** Contains a colon-separated list of ciphers to use when using SSL. +- ** For OpenSSL, see ciphers(1) for the syntax of the string. +- ** .pp +- ** For GnuTLS, this option will be used in place of "NORMAL" at the +- ** start of the priority string. See gnutls_priority_init(3) for the +- ** syntax and more details. (Note: GnuTLS version 2.1.7 or higher is +- ** required.) +- */ +- { "ssl_client_cert", DT_STRING|DT_PATH, &C_SslClientCert, 0 }, +- /* +- ** .pp +- ** The file containing a client certificate and its associated private +- ** key. +- */ +- { "ssl_force_tls", DT_BOOL, &C_SslForceTls, true }, +- /* +- ** .pp +- ** If this variable is \fIset\fP, NeoMutt will require that all connections +- ** to remote servers be encrypted. Furthermore it will attempt to +- ** negotiate TLS even if the server does not advertise the capability, +- ** since it would otherwise have to abort the connection anyway. This +- ** option supersedes $$ssl_starttls. +- */ +-#ifdef USE_SSL_GNUTLS +- { "ssl_min_dh_prime_bits", DT_NUMBER|DT_NOT_NEGATIVE, &C_SslMinDhPrimeBits, 0 }, +- /* +- ** .pp +- ** This variable specifies the minimum acceptable prime size (in bits) +- ** for use in any Diffie-Hellman key exchange. A value of 0 will use +- ** the default from the GNUTLS library. (GnuTLS only) +- */ +-#endif /* USE_SSL_GNUTLS */ +- { "ssl_starttls", DT_QUAD, &C_SslStarttls, MUTT_YES }, +- /* +- ** .pp +- ** If \fIset\fP (the default), NeoMutt will attempt to use \fCSTARTTLS\fP on servers +- ** advertising the capability. When \fIunset\fP, NeoMutt will not attempt to +- ** use \fCSTARTTLS\fP regardless of the server's capabilities. +- */ +-#ifdef USE_SSL_OPENSSL +- { "ssl_use_sslv2", DT_BOOL, &C_SslUseSslv2, false }, +- /* +- ** .pp +- ** If \fIset\fP , NeoMutt will use SSLv2 when communicating with servers that +- ** request it. \fBN.B. As of 2011, SSLv2 is considered insecure, and using +- ** is inadvisable. See https://tools.ietf.org/html/rfc6176 .\fP +- ** (OpenSSL only) +- */ +-#endif /* defined USE_SSL_OPENSSL */ +- { "ssl_use_sslv3", DT_BOOL, &C_SslUseSslv3, false }, +- /* +- ** .pp +- ** If \fIset\fP , NeoMutt will use SSLv3 when communicating with servers that +- ** request it. \fBN.B. As of 2015, SSLv3 is considered insecure, and using +- ** it is inadvisable. See https://tools.ietf.org/html/rfc7525 .\fP +- */ +- { "ssl_use_tlsv1", DT_BOOL, &C_SslUseTlsv1, false }, +- /* +- ** .pp +- ** If \fIset\fP , NeoMutt will use TLSv1.0 when communicating with servers that +- ** request it. \fBN.B. As of 2015, TLSv1.0 is considered insecure, and using +- ** it is inadvisable. See https://tools.ietf.org/html/rfc7525 .\fP +- */ +- { "ssl_use_tlsv1_1", DT_BOOL, &C_SslUseTlsv11, false }, +- /* +- ** .pp +- ** If \fIset\fP , NeoMutt will use TLSv1.1 when communicating with servers that +- ** request it. \fBN.B. As of 2015, TLSv1.1 is considered insecure, and using +- ** it is inadvisable. See https://tools.ietf.org/html/rfc7525 .\fP +- */ +- { "ssl_use_tlsv1_2", DT_BOOL, &C_SslUseTlsv12, true }, +- /* +- ** .pp +- ** If \fIset\fP , NeoMutt will use TLSv1.2 when communicating with servers that +- ** request it. +- */ +- { "ssl_use_tlsv1_3", DT_BOOL, &C_SslUseTlsv13, true }, +- /* +- ** .pp +- ** If \fIset\fP , NeoMutt will use TLSv1.3 when communicating with servers that +- ** request it. +- */ +-#ifdef USE_SSL_OPENSSL +- { "ssl_usesystemcerts", DT_BOOL, &C_SslUsesystemcerts, true }, +- /* +- ** .pp +- ** If set to \fIyes\fP, NeoMutt will use CA certificates in the +- ** system-wide certificate store when checking if a server certificate +- ** is signed by a trusted CA. (OpenSSL only) +- */ +-#endif +- { "ssl_verify_dates", DT_BOOL, &C_SslVerifyDates, true }, +- /* +- ** .pp +- ** If \fIset\fP (the default), NeoMutt will not automatically accept a server +- ** certificate that is either not yet valid or already expired. You should +- ** only unset this for particular known hosts, using the +- ** \fC$\fP function. +- */ +- { "ssl_verify_host", DT_BOOL, &C_SslVerifyHost, true }, +- /* +- ** .pp +- ** If \fIset\fP (the default), NeoMutt will not automatically accept a server +- ** certificate whose host name does not match the host used in your folder +- ** URL. You should only unset this for particular known hosts, using +- ** the \fC$\fP function. +- */ +-#ifdef USE_SSL_OPENSSL +-#ifdef HAVE_SSL_PARTIAL_CHAIN +- { "ssl_verify_partial_chains", DT_BOOL, &C_SslVerifyPartialChains, false }, +- /* +- ** .pp +- ** This option should not be changed from the default unless you understand +- ** what you are doing. +- ** .pp +- ** Setting this variable to \fIyes\fP will permit verifying partial +- ** certification chains, i. e. a certificate chain where not the root, +- ** but an intermediate certificate CA, or the host certificate, are +- ** marked trusted (in $$certificate_file), without marking the root +- ** signing CA as trusted. +- ** .pp +- ** (OpenSSL 1.0.2b and newer only). +- */ +-#endif /* defined HAVE_SSL_PARTIAL_CHAIN */ +-#endif /* defined USE_SSL_OPENSSL */ +-#endif /* defined(USE_SSL) */ +- { "status_chars", DT_MBTABLE|R_INDEX|R_PAGER, &C_StatusChars, IP "-*%A" }, +- /* +- ** .pp +- ** Controls the characters used by the "%r" indicator in $$status_format. +- ** .dl +- ** .dt \fBCharacter\fP .dd \fBDefault\fP .dd \fBDescription\fP +- ** .dt 1 .dd - .dd Mailbox is unchanged +- ** .dt 2 .dd * .dd Mailbox has been changed and needs to be resynchronized +- ** .dt 3 .dd % .dd Mailbox is read-only, or will not be written when exiting. +- ** (You can toggle whether to write changes to a mailbox +- ** with the \fC\fP operation, bound by default +- ** to "%") +- ** .dt 4 .dd A .dd Folder opened in attach-message mode. +- ** (Certain operations like composing a new mail, replying, +- ** forwarding, etc. are not permitted in this mode) +- ** .de +- */ +- { "status_format", DT_STRING|R_INDEX|R_PAGER, &C_StatusFormat, IP "-%r-NeoMutt: %D [Msgs:%?M?%M/?%m%?n? New:%n?%?o? Old:%o?%?d? Del:%d?%?F? Flag:%F?%?t? Tag:%t?%?p? Post:%p?%?b? Inc:%b?%?l? %l?]---(%s/%S)-%>-(%P)---" }, +- /* +- ** .pp +- ** Controls the format of the status line displayed in the "index" +- ** menu. This string is similar to $$index_format, but has its own +- ** set of \fCprintf(3)\fP-like sequences: +- ** .dl +- ** .dt %b .dd Number of mailboxes with new mail * +- ** .dt %d .dd Number of deleted messages * +- ** .dt %D .dd Description of the mailbox +- ** .dt %f .dd The full pathname of the current mailbox +- ** .dt %F .dd Number of flagged messages * +- ** .dt %h .dd Local hostname +- ** .dt %l .dd Size (in bytes) of the current mailbox (see $formatstrings-size) * +- ** .dt %L .dd Size (in bytes) of the messages shown +- ** (i.e., which match the current limit) (see $formatstrings-size) * +- ** .dt %m .dd The number of messages in the mailbox * +- ** .dt %M .dd The number of messages shown (i.e., which match the current limit) * +- ** .dt %n .dd Number of new messages in the mailbox * +- ** .dt %o .dd Number of old unread messages * +- ** .dt %p .dd Number of postponed messages * +- ** .dt %P .dd Percentage of the way through the index +- ** .dt %r .dd Modified/read-only/won't-write/attach-message indicator, +- ** According to $$status_chars +- ** .dt %R .dd Number of read messages * +- ** .dt %s .dd Current sorting mode ($$sort) +- ** .dt %S .dd Current aux sorting method ($$sort_aux) +- ** .dt %t .dd Number of tagged messages * +- ** .dt %u .dd Number of unread messages * +- ** .dt %v .dd NeoMutt version string +- ** .dt %V .dd Currently active limit pattern, if any * +- ** .dt %>X .dd Right justify the rest of the string and pad with "X" +- ** .dt %|X .dd Pad to the end of the line with "X" +- ** .dt %*X .dd Soft-fill with character "X" as pad +- ** .de +- ** .pp +- ** For an explanation of "soft-fill", see the $$index_format documentation. +- ** .pp +- ** * = can be optionally printed if nonzero +- ** .pp +- ** Some of the above sequences can be used to optionally print a string +- ** if their value is nonzero. For example, you may only want to see the +- ** number of flagged messages if such messages exist, since zero is not +- ** particularly meaningful. To optionally print a string based upon one +- ** of the above sequences, the following construct is used: +- ** .pp +- ** \fC%???\fP +- ** .pp +- ** where \fIsequence_char\fP is a character from the table above, and +- ** \fIoptional_string\fP is the string you would like printed if +- ** \fIsequence_char\fP is nonzero. \fIoptional_string\fP \fBmay\fP contain +- ** other sequences as well as normal text, but you may \fBnot\fP nest +- ** optional strings. +- ** .pp +- ** Here is an example illustrating how to optionally print the number of +- ** new messages in a mailbox: +- ** .pp +- ** \fC%?n?%n new messages.?\fP +- ** .pp +- ** You can also switch between two strings using the following construct: +- ** .pp +- ** \fC%??&?\fP +- ** .pp +- ** If the value of \fIsequence_char\fP is non-zero, \fIif_string\fP will +- ** be expanded, otherwise \fIelse_string\fP will be expanded. +- ** .pp +- ** You can force the result of any \fCprintf(3)\fP-like sequence to be lowercase +- ** by prefixing the sequence character with an underscore ("_") sign. +- ** For example, if you want to display the local hostname in lowercase, +- ** you would use: "\fC%_h\fP". +- ** .pp +- ** If you prefix the sequence character with a colon (":") character, NeoMutt +- ** will replace any dots in the expansion by underscores. This might be helpful +- ** with IMAP folders that don't like dots in folder names. +- */ +- { "status_on_top", DT_BOOL|R_REFLOW, &C_StatusOnTop, false }, +- /* +- ** .pp +- ** Setting this variable causes the "status bar" to be displayed on +- ** the first line of the screen rather than near the bottom. If $$help +- ** is \fIset\fP, too it'll be placed at the bottom. +- */ +- { "strict_threads", DT_BOOL|R_RESORT|R_RESORT_INIT|R_INDEX, &C_StrictThreads, false, 0, pager_validator }, +- /* +- ** .pp +- ** If \fIset\fP, threading will only make use of the "In-Reply-To" and +- ** "References:" fields when you $$sort by message threads. By +- ** default, messages with the same subject are grouped together in +- ** "pseudo threads.". This may not always be desirable, such as in a +- ** personal mailbox where you might have several unrelated messages with +- ** the subjects like "hi" which will get grouped together. See also +- ** $$sort_re for a less drastic way of controlling this +- ** behavior. +- */ +- { "suspend", DT_BOOL, &C_Suspend, true }, +- /* +- ** .pp +- ** When \fIunset\fP, NeoMutt won't stop when the user presses the terminal's +- ** \fIsusp\fP key, usually "^Z". This is useful if you run NeoMutt +- ** inside an xterm using a command like "\fCxterm -e neomutt\fP". +- */ +- { "text_flowed", DT_BOOL, &C_TextFlowed, false }, +- /* +- ** .pp +- ** When \fIset\fP, NeoMutt will generate "format=flowed" bodies with a content type +- ** of "\fCtext/plain; format=flowed\fP". +- ** This format is easier to handle for some mailing software, and generally +- ** just looks like ordinary text. To actually make use of this format's +- ** features, you'll need support in your editor. +- ** .pp +- ** The option only controls newly composed messages. Postponed messages, +- ** resent messages, and draft messages (via -H on the command line) will +- ** use the content-type of the source message. +- ** .pp +- ** Note that $$indent_string is ignored when this option is \fIset\fP. +- */ +- { "thorough_search", DT_BOOL, &C_ThoroughSearch, true }, +- /* +- ** .pp +- ** Affects the \fC~b\fP and \fC~h\fP search operations described in +- ** section "$patterns". If \fIset\fP, the headers and body/attachments of +- ** messages to be searched are decoded before searching. If \fIunset\fP, +- ** messages are searched as they appear in the folder. +- ** .pp +- ** Users searching attachments or for non-ASCII characters should \fIset\fP +- ** this value because decoding also includes MIME parsing/decoding and possible +- ** character set conversions. Otherwise NeoMutt will attempt to match against the +- ** raw message received (for example quoted-printable encoded or with encoded +- ** headers) which may lead to incorrect search results. +- */ +- { "thread_received", DT_BOOL|R_RESORT|R_RESORT_INIT|R_INDEX, &C_ThreadReceived, false, 0, pager_validator }, +- /* +- ** .pp +- ** When \fIset\fP, NeoMutt uses the date received rather than the date sent +- ** to thread messages by subject. +- */ +- { "tilde", DT_BOOL|R_PAGER, &C_Tilde, false }, +- /* +- ** .pp +- ** When \fIset\fP, the internal-pager will pad blank lines to the bottom of the +- ** screen with a tilde ("~"). +- */ +- { "time_inc", DT_NUMBER|DT_NOT_NEGATIVE, &C_TimeInc, 0 }, +- /* +- ** .pp +- ** Along with $$read_inc, $$write_inc, and $$net_inc, this +- ** variable controls the frequency with which progress updates are +- ** displayed. It suppresses updates less than $$time_inc milliseconds +- ** apart. This can improve throughput on systems with slow terminals, +- ** or when running NeoMutt on a remote system. +- ** .pp +- ** Also see the "$tuning" section of the manual for performance considerations. +- */ +- { "timeout", DT_NUMBER|DT_NOT_NEGATIVE, &C_Timeout, 600 }, +- /* +- ** .pp +- ** When NeoMutt is waiting for user input either idling in menus or +- ** in an interactive prompt, NeoMutt would block until input is +- ** present. Depending on the context, this would prevent certain +- ** operations from working, like checking for new mail or keeping +- ** an IMAP connection alive. +- ** .pp +- ** This variable controls how many seconds NeoMutt will at most wait +- ** until it aborts waiting for input, performs these operations and +- ** continues to wait for input. +- ** .pp +- ** A value of zero or less will cause NeoMutt to never time out. +- */ +- { "tmpdir", DT_STRING|DT_PATH, &C_Tmpdir, IP "/tmp" }, +- /* +- ** .pp +- ** This variable allows you to specify where NeoMutt will place its +- ** temporary files needed for displaying and composing messages. +- ** .pp +- ** If this variable is not set, the environment variable \fC$$$TMPDIR\fP is +- ** used. Failing that, then "\fC/tmp\fP" is used. +- */ +- { "to_chars", DT_MBTABLE|R_INDEX|R_PAGER, &C_ToChars, IP " +TCFLR" }, +- /* +- ** .pp +- ** Controls the character used to indicate mail addressed to you. +- ** .dl +- ** .dt \fBCharacter\fP .dd \fBDefault\fP .dd \fBDescription\fP +- ** .dt 1 .dd .dd The mail is \fInot\fP addressed to your address. +- ** .dt 2 .dd + .dd You are the only recipient of the message. +- ** .dt 3 .dd T .dd Your address appears in the "To:" header field, but you are not the only recipient of the message. +- ** .dt 4 .dd C .dd Your address is specified in the "Cc:" header field, but you are not the only recipient. +- ** .dt 5 .dd F .dd Indicates the mail that was sent by \fIyou\fP. +- ** .dt 6 .dd L .dd Indicates the mail was sent to a mailing-list you subscribe to. +- ** .dt 7 .dd R .dd Your address appears in the "Reply-To:" header field but none of the above applies. +- ** .de +- */ +- { "trash", DT_STRING|DT_PATH|DT_MAILBOX, &C_Trash, 0 }, +- /* +- ** .pp +- ** If set, this variable specifies the path of the trash folder where the +- ** mails marked for deletion will be moved, instead of being irremediably +- ** purged. +- ** .pp +- ** NOTE: When you delete a message in the trash folder, it is really +- ** deleted, so that you have a way to clean the trash. +- */ +- { "ts_enabled", DT_BOOL|R_INDEX|R_PAGER, &C_TsEnabled, false }, +- /* The default must be off to force in the validity checking. */ +- /* +- ** .pp +- ** Controls whether NeoMutt tries to set the terminal status line and icon name. +- ** Most terminal emulators emulate the status line in the window title. +- */ +- { "ts_icon_format", DT_STRING|R_INDEX|R_PAGER, &C_TsIconFormat, IP "M%?n?AIL&ail?" }, +- /* +- ** .pp +- ** Controls the format of the icon title, as long as "$$ts_enabled" is set. +- ** This string is identical in formatting to the one used by +- ** "$$status_format". +- */ +- { "ts_status_format", DT_STRING|R_INDEX|R_PAGER, &C_TsStatusFormat, IP "NeoMutt with %?m?%m messages&no messages?%?n? [%n NEW]?" }, +- /* +- ** .pp +- ** Controls the format of the terminal status line (or window title), +- ** provided that "$$ts_enabled" has been set. This string is identical in +- ** formatting to the one used by "$$status_format". +- */ +-#ifdef USE_SOCKET +- { "tunnel", DT_STRING|DT_COMMAND, &C_Tunnel, 0 }, +- /* +- ** .pp +- ** Setting this variable will cause NeoMutt to open a pipe to a command +- ** instead of a raw socket. You may be able to use this to set up +- ** preauthenticated connections to your IMAP/POP3/SMTP server. Example: +- ** .ts +- ** set tunnel="ssh -q mailhost.net /usr/local/libexec/imapd" +- ** .te +- ** .pp +- ** Note: For this example to work you must be able to log in to the remote +- ** machine without having to enter a password. +- ** .pp +- ** When set, NeoMutt uses the tunnel for all remote connections. +- ** Please see "$account-hook" in the manual for how to use different +- ** tunnel commands per connection. +- */ +-#endif +- { "uncollapse_jump", DT_BOOL, &C_UncollapseJump, false }, +- /* +- ** .pp +- ** When \fIset\fP, NeoMutt will jump to the next unread message, if any, +- ** when the current thread is \fIun\fPcollapsed. +- */ +- { "uncollapse_new", DT_BOOL, &C_UncollapseNew, true }, +- /* +- ** .pp +- ** When \fIset\fP, NeoMutt will automatically uncollapse any collapsed thread +- ** that receives a new message. When \fIunset\fP, collapsed threads will +- ** remain collapsed. the presence of the new message will still affect +- ** index sorting, though. +- */ +- { "use_8bitmime", DT_BOOL, &C_Use8bitmime, false }, +- /* +- ** .pp +- ** \fBWarning:\fP do not set this variable unless you are using a version +- ** of sendmail which supports the \fC-B8BITMIME\fP flag (such as sendmail +- ** 8.8.x) or you may not be able to send mail. +- ** .pp +- ** When \fIset\fP, NeoMutt will invoke $$sendmail with the \fC-B8BITMIME\fP +- ** flag when sending 8-bit messages to enable ESMTP negotiation. +- */ +- { "use_domain", DT_BOOL, &C_UseDomain, true }, +- /* +- ** .pp +- ** When \fIset\fP, NeoMutt will qualify all local addresses (ones without the +- ** "@host" portion) with the value of $$hostname. If \fIunset\fP, no +- ** addresses will be qualified. +- */ +- { "use_envelope_from", DT_BOOL, &C_UseEnvelopeFrom, false }, +- /* +- ** .pp +- ** When \fIset\fP, NeoMutt will set the \fIenvelope\fP sender of the message. +- ** If $$envelope_from_address is \fIset\fP, it will be used as the sender +- ** address. If \fIunset\fP, NeoMutt will attempt to derive the sender from the +- ** "From:" header. +- ** .pp +- ** Note that this information is passed to sendmail command using the +- ** \fC-f\fP command line switch. Therefore setting this option is not useful +- ** if the $$sendmail variable already contains \fC-f\fP or if the +- ** executable pointed to by $$sendmail doesn't support the \fC-f\fP switch. +- */ +- { "use_from", DT_BOOL, &C_UseFrom, true }, +- /* +- ** .pp +- ** When \fIset\fP, NeoMutt will generate the "From:" header field when +- ** sending messages. If \fIunset\fP, no "From:" header field will be +- ** generated unless the user explicitly sets one using the "$my_hdr" +- ** command. +- */ +-#ifdef HAVE_GETADDRINFO +- { "use_ipv6", DT_BOOL, &C_UseIpv6, true }, +- /* +- ** .pp +- ** When \fIset\fP, NeoMutt will look for IPv6 addresses of hosts it tries to +- ** contact. If this option is \fIunset\fP, NeoMutt will restrict itself to IPv4 addresses. +- ** Normally, the default should work. +- */ +-#endif /* HAVE_GETADDRINFO */ +- { "user_agent", DT_BOOL, &C_UserAgent, false }, +- /* +- ** .pp +- ** When \fIset\fP, NeoMutt will add a "User-Agent:" header to outgoing +- ** messages, indicating which version of NeoMutt was used for composing +- ** them. +- */ +-#ifdef USE_NOTMUCH +- { "vfolder_format", DT_STRING|DT_NOT_EMPTY|R_INDEX, &C_VfolderFormat, IP "%2C %?n?%4n/& ?%4m %f" }, +- /* +- ** .pp +- ** This variable allows you to customize the file browser display for virtual +- ** folders to your personal taste. This string uses many of the same +- ** expandos as $$folder_format. +- */ +- { "virtual_spoolfile", DT_BOOL, &C_VirtualSpoolfile, false }, +- /* +- ** .pp +- ** When \fIset\fP, NeoMutt will use the first defined virtual mailbox (see +- ** virtual-mailboxes) as a spool file. +- ** +- ** This command is now unnecessary. $$spoolfile has been extended to support +- ** mailbox descriptions as a value. +- */ +-#endif +- { "visual", DT_STRING|DT_COMMAND, &C_Visual, IP "vi" }, +- /* +- ** .pp +- ** Specifies the visual editor to invoke when the "\fC~v\fP" command is +- ** given in the built-in editor. +- ** .pp +- ** $$visual is overridden by the environment variable \fC$$$VISUAL\fP or \fC$$$EDITOR\fP. +- */ +- { "wait_key", DT_BOOL, &C_WaitKey, true }, +- /* +- ** .pp +- ** Controls whether NeoMutt will ask you to press a key after an external command +- ** has been invoked by these functions: \fC\fP, +- ** \fC\fP, \fC\fP, \fC\fP, +- ** and \fC\fP commands. +- ** .pp +- ** It is also used when viewing attachments with "$auto_view", provided +- ** that the corresponding mailcap entry has a \fIneedsterminal\fP flag, +- ** and the external program is interactive. +- ** .pp +- ** When \fIset\fP, NeoMutt will always ask for a key. When \fIunset\fP, NeoMutt will wait +- ** for a key only if the external command returned a non-zero status. +- */ +- { "weed", DT_BOOL, &C_Weed, true }, +- /* +- ** .pp +- ** When \fIset\fP, NeoMutt will weed headers when displaying, forwarding, +- ** printing, or replying to messages. +- */ +- { "wrap", DT_NUMBER|R_PAGER_FLOW, &C_Wrap, 0 }, +- /* +- ** .pp +- ** When set to a positive value, NeoMutt will wrap text at $$wrap characters. +- ** When set to a negative value, NeoMutt will wrap text so that there are $$wrap +- ** characters of empty space on the right side of the terminal. Setting it +- ** to zero makes NeoMutt wrap at the terminal width. +- ** .pp +- ** Also see $$reflow_wrap. +- */ +- { "wrap_headers", DT_NUMBER|DT_NOT_NEGATIVE|R_PAGER, &C_WrapHeaders, 78, 0, wrapheaders_validator }, +- /* +- ** .pp +- ** This option specifies the number of characters to use for wrapping +- ** an outgoing message's headers. Allowed values are between 78 and 998 +- ** inclusive. +- ** .pp +- ** \fBNote:\fP This option usually shouldn't be changed. RFC5233 +- ** recommends a line length of 78 (the default), so \fBplease only change +- ** this setting when you know what you're doing\fP. +- */ +- { "wrap_search", DT_BOOL, &C_WrapSearch, true }, +- /* +- ** .pp +- ** Controls whether searches wrap around the end. +- ** .pp +- ** When \fIset\fP, searches will wrap around the first (or last) item. When +- ** \fIunset\fP, incremental searches will not wrap. +- */ +- { "write_bcc", DT_BOOL, &C_WriteBcc, false }, +- /* +- ** .pp +- ** Controls whether mutt writes out the ``Bcc:'' header when +- ** preparing messages to be sent. Some MTAs, such as Exim and +- ** Courier, do not strip the ``Bcc:'' header; so it is advisable to +- ** leave this unset unless you have a particular need for the header +- ** to be in the sent message. +- ** .pp +- ** If mutt is set to deliver directly via SMTP(see $$smtp_url), +- ** this option does nothing: mutt will never write out the ``Bcc:'' +- ** header in this case. +- ** .pp +- ** Note this option only affects the sending of messages. Fcc'ed +- ** copies of a message will always contain the ``Bcc:'' header if +- ** one exists. +- */ +- { "write_inc", DT_NUMBER|DT_NOT_NEGATIVE, &C_WriteInc, 10 }, +- /* +- ** .pp +- ** When writing a mailbox, a message will be printed every +- ** $$write_inc messages to indicate progress. If set to 0, only a +- ** single message will be displayed before writing a mailbox. +- ** .pp +- ** Also see the $$read_inc, $$net_inc and $$time_inc variables and the +- ** "$tuning" section of the manual for performance considerations. +- */ +-#ifdef USE_NNTP +- { "x_comment_to", DT_BOOL, &C_XCommentTo, false }, +- /* +- ** .pp +- ** If \fIset\fP, NeoMutt will add "X-Comment-To:" field (that contains full +- ** name of original article author) to article that followuped to newsgroup. +- */ +-#endif +- /*--*/ +- +- { "ignore_linear_white_space", DT_DEPRECATED|DT_BOOL, &C_IgnoreLinearWhiteSpace, false }, +- { "pgp_encrypt_self", DT_DEPRECATED|DT_QUAD, &C_PgpEncryptSelf, MUTT_NO }, +- { "smime_encrypt_self", DT_DEPRECATED|DT_QUAD, &C_SmimeEncryptSelf, MUTT_NO }, +- +- { "abort_noattach_regexp", DT_SYNONYM, NULL, IP "abort_noattach_regex", }, +- { "attach_keyword", DT_SYNONYM, NULL, IP "abort_noattach_regex", }, +- { "edit_hdrs", DT_SYNONYM, NULL, IP "edit_headers", }, +- { "envelope_from", DT_SYNONYM, NULL, IP "use_envelope_from", }, +- { "forw_decode", DT_SYNONYM, NULL, IP "forward_decode", }, +- { "forw_decrypt", DT_SYNONYM, NULL, IP "forward_decrypt", }, +- { "forw_format", DT_SYNONYM, NULL, IP "forward_format", }, +- { "forw_quote", DT_SYNONYM, NULL, IP "forward_quote", }, +- { "hdr_format", DT_SYNONYM, NULL, IP "index_format", }, +- { "indent_str", DT_SYNONYM, NULL, IP "indent_string", }, +- { "mime_fwd", DT_SYNONYM, NULL, IP "mime_forward", }, +- { "msg_format", DT_SYNONYM, NULL, IP "message_format", }, +- { "pgp_autoencrypt", DT_SYNONYM, NULL, IP "crypt_autoencrypt", }, +- { "pgp_autosign", DT_SYNONYM, NULL, IP "crypt_autosign", }, +- { "pgp_auto_traditional", DT_SYNONYM, NULL, IP "pgp_replyinline", }, +- { "pgp_create_traditional", DT_SYNONYM, NULL, IP "pgp_autoinline", }, +- { "pgp_replyencrypt", DT_SYNONYM, NULL, IP "crypt_replyencrypt", }, +- { "pgp_replysign", DT_SYNONYM, NULL, IP "crypt_replysign", }, +- { "pgp_replysignencrypted", DT_SYNONYM, NULL, IP "crypt_replysignencrypted", }, +- { "pgp_self_encrypt_as", DT_SYNONYM, NULL, IP "pgp_default_key", }, +- { "pgp_verify_sig", DT_SYNONYM, NULL, IP "crypt_verify_sig", }, +- { "post_indent_str", DT_SYNONYM, NULL, IP "post_indent_string", }, +- { "print_cmd", DT_SYNONYM, NULL, IP "print_command", }, +- { "quote_regexp", DT_SYNONYM, NULL, IP "quote_regex", }, +- { "reply_regexp", DT_SYNONYM, NULL, IP "reply_regex", }, +- { "smime_self_encrypt_as", DT_SYNONYM, NULL, IP "smime_default_key", }, +- { "xterm_icon", DT_SYNONYM, NULL, IP "ts_icon_format", }, +- { "xterm_set_titles", DT_SYNONYM, NULL, IP "ts_enabled", }, +- { "xterm_title", DT_SYNONYM, NULL, IP "ts_status_format", }, +- +- { NULL, 0, NULL, 0, 0, NULL }, +-}; +- +-/* functions used to parse commands in a rc file */ +-static enum CommandResult parse_alias (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); +-static enum CommandResult parse_alternates (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); +-static enum CommandResult parse_attachments (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); +-static enum CommandResult parse_echo (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); +-static enum CommandResult parse_finish (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); +-static enum CommandResult parse_group (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); +-static enum CommandResult parse_ifdef (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); +-static enum CommandResult parse_ignore (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); +-static enum CommandResult parse_lists (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); +-static enum CommandResult parse_mailboxes (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); +-static enum CommandResult parse_my_hdr (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); +-#ifdef USE_SIDEBAR +-static enum CommandResult parse_path_list (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); +-static enum CommandResult parse_path_unlist (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); +-#endif +-static enum CommandResult parse_replace_list (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); +-static enum CommandResult parse_set (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); +-static enum CommandResult parse_setenv (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); +-static enum CommandResult parse_source (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); +-static enum CommandResult parse_spam_list (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); +-static enum CommandResult parse_stailq (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); +-static enum CommandResult parse_subjectrx_list (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); +-static enum CommandResult parse_subscribe (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); +-#ifdef USE_IMAP +-static enum CommandResult parse_subscribe_to (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); +-#endif +-static enum CommandResult parse_tag_formats (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); +-static enum CommandResult parse_tag_transforms (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); +-static enum CommandResult parse_unalias (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); +-static enum CommandResult parse_unalternates (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); +-static enum CommandResult parse_unattachments (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); +-static enum CommandResult parse_unignore (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); +-static enum CommandResult parse_unlists (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); +-static enum CommandResult parse_unmailboxes (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); +-static enum CommandResult parse_unmy_hdr (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); +-static enum CommandResult parse_unreplace_list (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); +-static enum CommandResult parse_unstailq (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); +-static enum CommandResult parse_unsubjectrx_list(struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); +-static enum CommandResult parse_unsubscribe (struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); +-#ifdef USE_IMAP +-static enum CommandResult parse_unsubscribe_from(struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); +-#endif +- +-const struct Command Commands[] = { +-#ifdef USE_SOCKET +- { "account-hook", mutt_parse_hook, MUTT_ACCOUNT_HOOK }, +-#endif +- { "alias", parse_alias, 0 }, +- { "alternates", parse_alternates, 0 }, +- { "alternative_order", parse_stailq, IP &AlternativeOrderList }, +-#ifdef USE_COMPRESSED +- { "append-hook", mutt_parse_hook, MUTT_APPEND_HOOK }, +-#endif +- { "attachments", parse_attachments, 0 }, +- { "auto_view", parse_stailq, IP &AutoViewList }, +- { "bind", mutt_parse_bind, 0 }, +- { "charset-hook", mutt_parse_hook, MUTT_CHARSET_HOOK }, +-#ifdef USE_COMPRESSED +- { "close-hook", mutt_parse_hook, MUTT_CLOSE_HOOK }, +-#endif +-#ifdef HAVE_COLOR +- { "color", mutt_parse_color, IP &Colors }, +-#endif +- { "crypt-hook", mutt_parse_hook, MUTT_CRYPT_HOOK }, +- { "echo", parse_echo, 0 }, +- { "exec", mutt_parse_exec, 0 }, +- { "fcc-hook", mutt_parse_hook, MUTT_FCC_HOOK }, +- { "fcc-save-hook", mutt_parse_hook, MUTT_FCC_HOOK | MUTT_SAVE_HOOK }, +- { "finish", parse_finish, 0 }, +- { "folder-hook", mutt_parse_hook, MUTT_FOLDER_HOOK }, +- { "group", parse_group, MUTT_GROUP }, +- { "hdr_order", parse_stailq, IP &HeaderOrderList }, +- { "iconv-hook", mutt_parse_hook, MUTT_ICONV_HOOK }, +- { "ifdef", parse_ifdef, 0 }, +- { "ifndef", parse_ifdef, 1 }, +- { "ignore", parse_ignore, 0 }, +- { "index-format-hook", mutt_parse_idxfmt_hook, MUTT_IDXFMTHOOK }, +- { "lists", parse_lists, 0 }, +-#ifdef USE_LUA +- { "lua", mutt_lua_parse, 0 }, +- { "lua-source", mutt_lua_source_file, 0 }, +-#endif +- { "macro", mutt_parse_macro, 0 }, +- { "mailboxes", parse_mailboxes, 0 }, +- { "mailto_allow", parse_stailq, IP &MailToAllow }, +- { "mbox-hook", mutt_parse_hook, MUTT_MBOX_HOOK }, +- { "message-hook", mutt_parse_hook, MUTT_MESSAGE_HOOK }, +- { "mime_lookup", parse_stailq, IP &MimeLookupList }, +- { "mono", mutt_parse_mono, IP &Colors }, +- { "my_hdr", parse_my_hdr, 0 }, +- { "named-mailboxes", parse_mailboxes, MUTT_NAMED }, +- { "nospam", parse_spam_list, MUTT_NOSPAM }, +-#ifdef USE_COMPRESSED +- { "open-hook", mutt_parse_hook, MUTT_OPEN_HOOK }, +-#endif +- { "pgp-hook", mutt_parse_hook, MUTT_CRYPT_HOOK }, +- { "push", mutt_parse_push, 0 }, +- { "reply-hook", mutt_parse_hook, MUTT_REPLY_HOOK }, +- { "reset", parse_set, MUTT_SET_RESET }, +- { "save-hook", mutt_parse_hook, MUTT_SAVE_HOOK }, +- { "score", mutt_parse_score, 0 }, +- { "send-hook", mutt_parse_hook, MUTT_SEND_HOOK }, +- { "send2-hook", mutt_parse_hook, MUTT_SEND2_HOOK }, +- { "set", parse_set, MUTT_SET_SET }, +- { "setenv", parse_setenv, MUTT_SET_SET }, +- { "shutdown-hook", mutt_parse_hook, MUTT_SHUTDOWN_HOOK | MUTT_GLOBAL_HOOK }, +-#ifdef USE_SIDEBAR +- { "sidebar_whitelist", parse_path_list, IP &SidebarWhitelist }, +-#endif +- { "source", parse_source, 0 }, +- { "spam", parse_spam_list, MUTT_SPAM }, +- { "startup-hook", mutt_parse_hook, MUTT_STARTUP_HOOK | MUTT_GLOBAL_HOOK }, +- { "subjectrx", parse_subjectrx_list, IP &SubjectRegexList }, +- { "subscribe", parse_subscribe, 0 }, +-#ifdef USE_IMAP +- { "subscribe-to", parse_subscribe_to, 0 }, +-#endif +- { "tag-formats", parse_tag_formats, 0 }, +- { "tag-transforms", parse_tag_transforms, 0 }, +- { "timeout-hook", mutt_parse_hook, MUTT_TIMEOUT_HOOK | MUTT_GLOBAL_HOOK }, +- { "toggle", parse_set, MUTT_SET_INV }, +- { "unalias", parse_unalias, 0 }, +- { "unalternates", parse_unalternates, 0 }, +- { "unalternative_order", parse_unstailq, IP &AlternativeOrderList }, +- { "unattachments", parse_unattachments, 0 }, +- { "unauto_view", parse_unstailq, IP &AutoViewList }, +- { "unbind", mutt_parse_unbind, MUTT_UNBIND }, +-#ifdef HAVE_COLOR +- { "uncolor", mutt_parse_uncolor, IP &Colors }, +-#endif +- { "ungroup", parse_group, MUTT_UNGROUP }, +- { "unhdr_order", parse_unstailq, IP &HeaderOrderList }, +- { "unhook", mutt_parse_unhook, 0 }, +- { "unignore", parse_unignore, 0 }, +- { "unlists", parse_unlists, 0 }, +- { "unmacro", mutt_parse_unbind, MUTT_UNMACRO }, +- { "unmailboxes", parse_unmailboxes, 0 }, +- { "unmailto_allow", parse_unstailq, IP &MailToAllow }, +- { "unmime_lookup", parse_unstailq, IP &MimeLookupList }, +- { "unmono", mutt_parse_unmono, IP &Colors }, +- { "unmy_hdr", parse_unmy_hdr, 0 }, +- { "unscore", mutt_parse_unscore, 0 }, +- { "unset", parse_set, MUTT_SET_UNSET }, +- { "unsetenv", parse_setenv, MUTT_SET_UNSET }, +-#ifdef USE_SIDEBAR +- { "unsidebar_whitelist", parse_path_unlist, IP &SidebarWhitelist }, +-#endif +- { "unsubjectrx", parse_unsubjectrx_list, IP &SubjectRegexList }, +- { "unsubscribe", parse_unsubscribe, 0 }, +-#ifdef USE_IMAP +- { "unsubscribe-from", parse_unsubscribe_from, 0 }, +-#endif +-#ifdef USE_NOTMUCH +- { "unvirtual-mailboxes", parse_unmailboxes, MUTT_VIRTUAL }, +- { "virtual-mailboxes", parse_mailboxes, MUTT_VIRTUAL | MUTT_NAMED }, +-#endif +- { NULL, NULL, 0 }, +-}; +-// clang-format on ++struct ConfigSet * init_config (size_t size); ++int mutt_command_complete (char *buf, size_t buflen, int pos, int numtabs); ++const struct Command *mutt_command_get (const char *s); ++void mutt_commands_apply (void *data, void (*application)(void *, const struct Command *)); ++int mutt_extract_token (struct Buffer *dest, struct Buffer *tok, TokenFlags flags); ++HookFlags mutt_get_hook_type (const char *name); ++int mutt_init (struct ConfigSet *cs, bool skip_sys_rc, struct ListHead *commands); ++int mutt_label_complete (char *buf, size_t buflen, int numtabs); ++bool mutt_nm_query_complete (char *buf, size_t buflen, int pos, int numtabs); ++bool mutt_nm_tag_complete (char *buf, size_t buflen, int numtabs); ++void mutt_opts_free (void); ++enum CommandResult mutt_parse_rc_line (/* const */ char *line, struct Buffer *token, struct Buffer *err); ++int mutt_query_variables (struct ListHead *queries); ++int mutt_var_value_complete(char *buf, size_t buflen, int pos); ++enum QuadOption query_quadoption (enum QuadOption opt, const char *prompt); + + #endif /* MUTT_INIT_H */ +diff --git a/keymap.c b/keymap.c +index d8d5e1a91..3a8802040 100644 +--- a/keymap.c ++++ b/keymap.c +@@ -33,24 +33,23 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" ++#include "gui/lib.h" + #include "mutt.h" + #include "keymap.h" +-#include "curs_lib.h" + #include "functions.h" + #include "globals.h" ++#include "init.h" + #include "mutt_commands.h" +-#include "mutt_curses.h" + #include "mutt_logging.h" +-#include "mutt_window.h" +-#include "ncrypt/ncrypt.h" + #include "opcodes.h" + #include "options.h" ++#include "ncrypt/lib.h" + #ifndef USE_SLANG_CURSES + #include + #endif + #ifdef USE_IMAP +-#include "imap/imap.h" ++#include "imap/lib.h" + #endif + #ifdef USE_INOTIFY + #include "monitor.h" +@@ -144,7 +143,8 @@ static struct Mapping KeyNames[] = { + { NULL, 0 }, + }; + +-int LastKey; ///< contains the last key the user pressed ++int LastKey; ///< contains the last key the user pressed ++keycode_t AbortKey; ///< code of key to abort prompts, normally Ctrl-G + + struct Keymap *Keymaps[MENU_MAX]; + +@@ -817,6 +817,48 @@ static const char *km_keyname(int c) + return buf; + } + ++/** ++ * mutt_init_abort_key - Parse the abort_key config string ++ * ++ * Parse the string into C_AbortKeyStr and put the keycode into AbortKey. ++ */ ++void mutt_init_abort_key(void) ++{ ++ keycode_t buf[2]; ++ size_t len = parsekeys(C_AbortKeyStr, buf, mutt_array_size(buf)); ++ if (len == 0) ++ { ++ mutt_error(_("Abort key is not set, defaulting to Ctrl-G")); ++ AbortKey = ctrl('G'); ++ return; ++ } ++ if (len > 1) ++ { ++ mutt_warning( ++ _("Specified abort key sequence (%s) will be truncated to first key"), C_AbortKeyStr); ++ } ++ AbortKey = buf[0]; ++} ++ ++/** ++ * mutt_abort_key_config_observer - Listen for abort_key config changes - Implements ::observer_t ++ */ ++int mutt_abort_key_config_observer(struct NotifyCallback *nc) ++{ ++ if (!nc->event_data) ++ return -1; ++ if (nc->event_type != NT_CONFIG) ++ return 0; ++ ++ struct EventConfig *ec = nc->event_data; ++ ++ if (mutt_str_strcmp(ec->name, "abort_key") != 0) ++ return 0; ++ ++ mutt_init_abort_key(); ++ return 0; ++} ++ + /** + * km_expand_key - Get the key string bound to a Keymap + * @param s Buffer for the key string +@@ -1105,7 +1147,7 @@ void km_error_key(enum MenuType menu) + } + + /** +- * mutt_parse_push - Parse the 'push' command - Implements ::command_t ++ * mutt_parse_push - Parse the 'push' command - Implements Command::parse() + */ + enum CommandResult mutt_parse_push(struct Buffer *buf, struct Buffer *s, + unsigned long data, struct Buffer *err) +@@ -1266,7 +1308,7 @@ const struct Binding *km_get_table(enum MenuType menu) + } + + /** +- * mutt_parse_bind - Parse the 'bind' command - Implements ::command_t ++ * mutt_parse_bind - Parse the 'bind' command - Implements Command::parse() + * + * bind menu-name `` function-name + */ +@@ -1402,7 +1444,7 @@ static void km_unbind_all(struct Keymap **map, unsigned long mode) + } + + /** +- * mutt_parse_unbind - Parse the 'unbind' command - Implements ::command_t ++ * mutt_parse_unbind - Parse the 'unbind' command - Implements Command::parse() + * + * Command unbinds: + * - one binding in one menu-name +@@ -1472,7 +1514,7 @@ enum CommandResult mutt_parse_unbind(struct Buffer *buf, struct Buffer *s, + } + + /** +- * mutt_parse_macro - Parse the 'macro' command - Implements ::command_t ++ * mutt_parse_macro - Parse the 'macro' command - Implements Command::parse() + * + * macro `` `` `` `` + */ +@@ -1528,7 +1570,7 @@ enum CommandResult mutt_parse_macro(struct Buffer *buf, struct Buffer *s, + } + + /** +- * mutt_parse_exec - Parse the 'exec' command - Implements ::command_t ++ * mutt_parse_exec - Parse the 'exec' command - Implements Command::parse() + */ + enum CommandResult mutt_parse_exec(struct Buffer *buf, struct Buffer *s, + unsigned long data, struct Buffer *err) +@@ -1581,15 +1623,16 @@ void mutt_what_key(void) + { + int ch; + +- mutt_window_mvprintw(MuttMessageWindow, 0, 0, _("Enter keys (^G to abort): ")); ++ mutt_window_mvprintw(MuttMessageWindow, 0, 0, _("Enter keys (%s to abort): "), ++ km_keyname(AbortKey)); + do + { + ch = getch(); +- if ((ch != ERR) && (ch != ctrl('G'))) ++ if ((ch != ERR) && (ch != AbortKey)) + { + mutt_message(_("Char = %s, Octal = %o, Decimal = %d"), km_keyname(ch), ch, ch); + } +- } while (ch != ERR && ch != ctrl('G')); ++ } while (ch != ERR && ch != AbortKey); + + mutt_flushinp(); + mutt_clear_error(); +diff --git a/keymap.h b/keymap.h +index 8a2f2a1f9..3424b886e 100644 +--- a/keymap.h ++++ b/keymap.h +@@ -25,7 +25,7 @@ + + #include "config.h" + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "mutt_commands.h" + + #define MUTT_UNBIND 1<<0 +@@ -98,6 +98,8 @@ struct Keymap *km_find_func(enum MenuType menu, int func); + void km_init(void); + void km_error_key(enum MenuType menu); + void mutt_what_key(void); ++void mutt_init_abort_key(void); ++int mutt_abort_key_config_observer(struct NotifyCallback *nc); + + enum CommandResult km_bind(char *s, enum MenuType menu, int op, char *macro, char *desc); + int km_dokey(enum MenuType menu); +@@ -105,6 +107,7 @@ int km_dokey(enum MenuType menu); + extern struct Keymap *Keymaps[]; ///< Array of Keymap keybindings, one for each Menu + + extern int LastKey; ///< Last real key pressed, recorded by dokey() ++extern keycode_t AbortKey; ///< key to abort edits etc, normally Ctrl-G + + extern const struct Mapping Menus[]; + +@@ -121,29 +124,6 @@ struct Binding + const struct Binding *km_get_table(enum MenuType menu); + const char *mutt_get_func(const struct Binding *bindings, int op); + +-extern const struct Binding OpGeneric[]; +-extern const struct Binding OpPost[]; +-extern const struct Binding OpMain[]; +-extern const struct Binding OpAttach[]; +-extern const struct Binding OpPager[]; +-extern const struct Binding OpCompose[]; +-extern const struct Binding OpBrowser[]; +-extern const struct Binding OpEditor[]; +-extern const struct Binding OpQuery[]; +-extern const struct Binding OpAlias[]; +- +-extern const struct Binding OpPgp[]; +- +-extern const struct Binding OpSmime[]; +- +-#ifdef MIXMASTER +-extern const struct Binding OpMix[]; +-#endif +- +-#ifdef USE_AUTOCRYPT +-extern const struct Binding OpAutocryptAcct[]; +-#endif +- + void mutt_keys_free(void); + + enum CommandResult mutt_parse_bind(struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); +diff --git a/mailcap.c b/mailcap.c +index fcb3be53d..e6eafab26 100644 +--- a/mailcap.c ++++ b/mailcap.c +@@ -36,7 +36,7 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "email/lib.h" + #include "mailcap.h" + #include "globals.h" +diff --git a/maildir/lib.h b/maildir/lib.h +index 4507c3040..450e7c830 100644 +--- a/maildir/lib.h ++++ b/maildir/lib.h +@@ -39,7 +39,7 @@ + #include + #include + #include "core/lib.h" +-#include "hcache/hcache.h" ++#include "hcache/lib.h" + #include "mx.h" + + struct Email; +diff --git a/maildir/maildir.c b/maildir/maildir.c +index ffe22ce66..be3ab7ce0 100644 +--- a/maildir/maildir.c ++++ b/maildir/maildir.c +@@ -42,16 +42,16 @@ + #include + #include + #include "maildir_private.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "email/lib.h" + #include "core/lib.h" + #include "globals.h" +-#include "maildir/lib.h" + #include "monitor.h" + #include "muttlib.h" + #include "mx.h" ++#include "maildir/lib.h" + #ifdef USE_HCACHE +-#include "hcache/hcache.h" ++#include "hcache/lib.h" + #endif + + // Flags for maildir_mbox_check() +@@ -515,7 +515,7 @@ int maildir_mbox_check(struct Mailbox *m, int *index_hint) + + /* If we didn't just get new mail, update the tables. */ + if (occult) +- mailbox_changed(m, MBN_RESORT); ++ mailbox_changed(m, NT_MAILBOX_RESORT); + + /* do any delayed parsing we need to do. */ + maildir_delayed_parsing(m, &md, NULL); +@@ -524,7 +524,7 @@ int maildir_mbox_check(struct Mailbox *m, int *index_hint) + num_new = maildir_move_to_mailbox(m, &md); + if (num_new > 0) + { +- mailbox_changed(m, MBN_INVALID); ++ mailbox_changed(m, NT_MAILBOX_INVALID); + m->changed = true; + } + +@@ -540,20 +540,23 @@ int maildir_mbox_check(struct Mailbox *m, int *index_hint) + } + + /** +- * maildir_mbox_check_stats - Check the Mailbox statistics - Implements MxOps::mbox_check_stats ++ * maildir_mbox_check_stats - Check the Mailbox statistics - Implements MxOps::mbox_check_stats() + */ + static int maildir_mbox_check_stats(struct Mailbox *m, int flags) + { + if (!m) + return -1; + +- bool check_stats = true; ++ bool check_stats = flags; + bool check_new = true; + +- m->msg_count = 0; +- m->msg_unread = 0; +- m->msg_flagged = 0; +- m->msg_new = 0; ++ if (check_stats) ++ { ++ m->msg_count = 0; ++ m->msg_unread = 0; ++ m->msg_flagged = 0; ++ m->msg_new = 0; ++ } + + maildir_check_dir(m, "new", check_new, check_stats); + +@@ -704,6 +707,7 @@ static enum MailboxType maildir_path_probe(const char *path, const struct stat * + struct MxOps MxMaildirOps = { + .magic = MUTT_MAILDIR, + .name = "maildir", ++ .is_local = true, + .ac_find = maildir_ac_find, + .ac_add = maildir_ac_add, + .mbox_open = maildir_mbox_open, +diff --git a/maildir/mh.c b/maildir/mh.c +index b01384b51..50476f2ab 100644 +--- a/maildir/mh.c ++++ b/maildir/mh.c +@@ -41,12 +41,12 @@ + #include + #include + #include "maildir_private.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "email/lib.h" + #include "core/lib.h" ++#include "lib.h" + #include "errno.h" + #include "globals.h" +-#include "lib.h" + #include "monitor.h" + #include "mx.h" + +@@ -417,7 +417,7 @@ bool mh_valid_message(const char *s) + } + + /** +- * mh_mbox_check_stats - Check the Mailbox statistics - Implements MxOps::check_stats ++ * mh_mbox_check_stats - Check the Mailbox statistics - Implements MxOps::mbox_check_stats() + */ + static int mh_mbox_check_stats(struct Mailbox *m, int flags) + { +@@ -712,13 +712,13 @@ int mh_mbox_check(struct Mailbox *m, int *index_hint) + + /* If we didn't just get new mail, update the tables. */ + if (occult) +- mailbox_changed(m, MBN_RESORT); ++ mailbox_changed(m, NT_MAILBOX_RESORT); + + /* Incorporate new messages */ + num_new = maildir_move_to_mailbox(m, &md); + if (num_new > 0) + { +- mailbox_changed(m, MBN_INVALID); ++ mailbox_changed(m, NT_MAILBOX_INVALID); + m->changed = true; + } + +@@ -814,6 +814,7 @@ static enum MailboxType mh_path_probe(const char *path, const struct stat *st) + struct MxOps MxMhOps = { + .magic = MUTT_MH, + .name = "mh", ++ .is_local = true, + .ac_find = maildir_ac_find, + .ac_add = maildir_ac_add, + .mbox_open = mh_mbox_open, +diff --git a/maildir/shared.c b/maildir/shared.c +index 182adbe55..91970502a 100644 +--- a/maildir/shared.c ++++ b/maildir/shared.c +@@ -43,22 +43,22 @@ + #include + #include + #include "maildir_private.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "config/lib.h" + #include "email/lib.h" + #include "core/lib.h" + #include "mutt.h" + #include "copy.h" + #include "globals.h" +-#include "hcache/hcache.h" +-#include "maildir/lib.h" // IWYU pragma: keep + #include "muttlib.h" + #include "mx.h" + #include "progress.h" + #include "protos.h" + #include "sort.h" ++#include "hcache/lib.h" ++#include "maildir/lib.h" // IWYU pragma: keep + #ifdef USE_NOTMUCH +-#include "notmuch/mutt_notmuch.h" ++#include "notmuch/lib.h" + #endif + + /* These Config Variables are only used in maildir/mh.c */ +@@ -1128,6 +1128,10 @@ int mh_rewrite_message(struct Mailbox *m, int msgno) + * maildir_canon_filename - Generate the canonical filename for a Maildir folder + * @param dest Buffer for the result + * @param src Buffer containing source filename ++ * ++ * @note maildir filename is defined as: \:2,\ ++ * but \ may contain additional comma separated ++ * fields. + */ + void maildir_canon_filename(struct Buffer *dest, const char *src) + { +@@ -1139,7 +1143,7 @@ void maildir_canon_filename(struct Buffer *dest, const char *src) + src = t + 1; + + mutt_buffer_strcpy(dest, src); +- char *u = strrchr(dest->data, ':'); ++ char *u = strpbrk(dest->data, ",:"); + if (u) + { + *u = '\0'; +@@ -1651,7 +1655,7 @@ int maildir_path_canon(char *buf, size_t buflen) + if (!buf) + return -1; + +- mutt_path_canon(buf, buflen, HomeDir); ++ mutt_path_canon(buf, buflen, HomeDir, true); + return 0; + } + +@@ -1666,7 +1670,7 @@ int maildir_path_pretty(char *buf, size_t buflen, const char *folder) + if (mutt_path_abbr_folder(buf, buflen, folder)) + return 0; + +- if (mutt_path_pretty(buf, buflen, HomeDir)) ++ if (mutt_path_pretty(buf, buflen, HomeDir, false)) + return 0; + + return -1; +@@ -1684,7 +1688,7 @@ int maildir_path_parent(char *buf, size_t buflen) + return 0; + + if (buf[0] == '~') +- mutt_path_canon(buf, buflen, HomeDir); ++ mutt_path_canon(buf, buflen, HomeDir, true); + + if (mutt_path_parent(buf, buflen)) + return 0; +@@ -1694,6 +1698,12 @@ int maildir_path_parent(char *buf, size_t buflen) + + /** + * mh_mbox_sync - Save changes to the Mailbox - Implements MxOps::mbox_sync() ++ * @retval #MUTT_REOPENED mailbox has been externally modified ++ * @retval #MUTT_NEW_MAIL new mail has arrived ++ * @retval 0 Success ++ * @retval -1 Error ++ * ++ * @note The flag retvals come from a call to a backend sync function + */ + int mh_mbox_sync(struct Mailbox *m, int *index_hint) + { +@@ -1703,14 +1713,15 @@ int mh_mbox_sync(struct Mailbox *m, int *index_hint) + int i, j; + header_cache_t *hc = NULL; + struct Progress progress; ++ int check; + + if (m->magic == MUTT_MH) +- i = mh_mbox_check(m, index_hint); ++ check = mh_mbox_check(m, index_hint); + else +- i = maildir_mbox_check(m, index_hint); ++ check = maildir_mbox_check(m, index_hint); + +- if (i != 0) +- return i; ++ if (check < 0) ++ return check; + + #ifdef USE_HCACHE + if ((m->magic == MUTT_MAILDIR) || (m->magic == MUTT_MH)) +@@ -1760,7 +1771,7 @@ int mh_mbox_sync(struct Mailbox *m, int *index_hint) + } + } + +- return 0; ++ return check; + + err: + #ifdef USE_HCACHE +diff --git a/main.c b/main.c +index 094ea45b6..da54efe84 100644 +--- a/main.c ++++ b/main.c +@@ -45,40 +45,36 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "config/lib.h" + #include "email/lib.h" + #include "core/lib.h" +-#include "conn/conn.h" +-#include "mutt.h" ++#include "conn/lib.h" ++#include "gui/lib.h" ++#include "debug/lib.h" + #include "alias.h" + #include "browser.h" +-#include "color.h" + #include "context.h" +-#include "curs_lib.h" + #include "globals.h" + #include "hook.h" + #include "index.h" ++#include "init.h" + #include "keymap.h" + #include "mutt_attach.h" +-#include "mutt_commands.h" +-#include "mutt_curses.h" + #include "mutt_history.h" + #include "mutt_logging.h" + #include "mutt_mailbox.h" + #include "mutt_menu.h" +-#include "mutt_window.h" + #include "muttlib.h" + #include "mx.h" + #include "myvar.h" +-#include "ncrypt/ncrypt.h" + #include "options.h" + #include "protos.h" + #include "send.h" + #include "sendlib.h" +-#include "terminal.h" + #include "version.h" ++#include "ncrypt/lib.h" + #ifdef ENABLE_NLS + #include + #endif +@@ -86,13 +82,13 @@ + #include "sidebar.h" + #endif + #ifdef USE_IMAP +-#include "imap/imap.h" ++#include "imap/lib.h" + #endif + #ifdef USE_NNTP +-#include "nntp/nntp.h" ++#include "nntp/lib.h" + #endif + #ifdef USE_AUTOCRYPT +-#include "autocrypt/autocrypt.h" ++#include "autocrypt/lib.h" + #endif + + /* These Config Variables are only used in main.c */ +@@ -111,106 +107,12 @@ typedef uint8_t CliFlags; ///< Flags for command line options, e.g. #MUT + #endif + // clang-format on + +-/** +- * test_parse_set - Test the config parsing +- */ +-static void test_parse_set(void) +-{ +- const char *vars[] = { +- "from", // ADDRESS +- "beep", // BOOL +- "ispell", // COMMAND +- "mbox_type", // MAGIC +- "to_chars", // MBTABLE +- "net_inc", // NUMBER +- "signature", // PATH +- "print", // QUAD +- "mask", // REGEX +- "sort", // SORT +- "attribution", // STRING +- "zzz", // UNKNOWN +- "my_var", // MY_VAR +- }; +- +- const char *commands[] = { +- "set", +- "toggle", +- "reset", +- "unset", +- }; +- +- const char *tests[] = { +- "%s %s", "%s %s=42", "%s %s?", "%s ?%s", "%s ?%s=42", +- "%s ?%s?", "%s no%s", "%s no%s=42", "%s no%s?", "%s inv%s", +- "%s inv%s=42", "%s inv%s?", "%s &%s", "%s &%s=42", "%s &%s?", +- }; +- +- struct Buffer tmp = mutt_buffer_make(256); +- struct Buffer err = mutt_buffer_make(256); +- char line[64]; +- +- for (size_t v = 0; v < mutt_array_size(vars); v++) +- { +- // printf("--------------------------------------------------------------------------------\n"); +- // printf("VARIABLE %s\n", vars[v]); +- for (size_t c = 0; c < mutt_array_size(commands); c++) +- { +- // printf("----------------------------------------\n"); +- // printf("COMMAND %s\n", commands[c]); +- for (size_t t = 0; t < mutt_array_size(tests); t++) +- { +- mutt_buffer_reset(&tmp); +- mutt_buffer_reset(&err); +- +- snprintf(line, sizeof(line), tests[t], commands[c], vars[v]); +- printf("%-26s", line); +- enum CommandResult rc = mutt_parse_rc_line(line, &tmp, &err); +- printf("%2d %s\n", rc, err.data); +- } +- printf("\n"); +- } +- // printf("\n"); +- } +- +- mutt_buffer_dealloc(&tmp); +- mutt_buffer_dealloc(&err); +-} +- +-/** +- * reset_tilde - Temporary measure +- */ +-static void reset_tilde(struct ConfigSet *cs) +-{ +- static const char *names[] = { +- "alias_file", "certificate_file", "debug_file", +- "folder", "history_file", "mbox", +- "newsrc", "news_cache_dir", "postponed", +- "record", "signature", +- }; +- +- struct Buffer value = mutt_buffer_make(256); +- for (size_t i = 0; i < mutt_array_size(names); i++) +- { +- struct HashElem *he = cs_get_elem(cs, names[i]); +- if (!he) +- continue; +- mutt_buffer_reset(&value); +- cs_he_initial_get(cs, he, &value); +- mutt_expand_path(value.data, value.dsize); +- cs_he_initial_set(cs, he, value.data, NULL); +- cs_he_reset(cs, he, NULL); +- } +- mutt_buffer_dealloc(&value); +-} +- + /** + * mutt_exit - Leave NeoMutt NOW + * @param code Value to return to the calling environment + */ + void mutt_exit(int code) + { +- clear(); +- refresh(); + mutt_endwin(); + exit(code); + } +@@ -366,9 +268,6 @@ static void init_locale(void) + */ + static bool get_user_info(struct ConfigSet *cs) + { +- mutt_str_replace(&Username, mutt_str_getenv("USER")); +- mutt_str_replace(&HomeDir, mutt_str_getenv("HOME")); +- + const char *shell = mutt_str_getenv("SHELL"); + if (shell) + cs_str_initial_set(cs, "shell", shell, NULL); +@@ -436,13 +335,16 @@ int main(int argc, char *argv[], char *envp[]) + bool hide_sensitive = false; + bool batch_mode = false; + bool edit_infile = false; ++#ifdef USE_DEBUG_PARSE_TEST + bool test_config = false; ++#endif + int double_dash = argc, nargc = 1; + int rc = 1; + bool repeat_error = false; + struct Buffer folder = mutt_buffer_make(0); + struct Buffer expanded_infile = mutt_buffer_make(0); + struct Buffer tempfile = mutt_buffer_make(0); ++ struct ConfigSet *cs = NULL; + + MuttLogger = log_disp_terminal; + +@@ -562,9 +464,11 @@ int main(int argc, char *argv[], char *envp[]) + case 's': + subject = optarg; + break; ++#ifdef USE_DEBUG_PARSE_TEST + case 'T': + test_config = true; + break; ++#endif + case 'v': + version++; + break; +@@ -605,31 +509,36 @@ int main(int argc, char *argv[], char *envp[]) + goto main_ok; // TEST04: neomutt -v + } + +- Config = init_config(500); +- if (!Config) ++ mutt_str_replace(&Username, mutt_str_getenv("USER")); ++ mutt_str_replace(&HomeDir, mutt_str_getenv("HOME")); ++ ++ cs = init_config(500); ++ if (!cs) + goto main_curses; +- NeoMutt = neomutt_new(Config); ++ NeoMutt = neomutt_new(cs); + +- notify_set_parent(Config->notify, NeoMutt->notify); ++#ifdef USE_DEBUG_NOTIFY ++ notify_observer_add(NeoMutt->notify, debug_notify_observer, NULL); ++#endif + +- if (!get_user_info(Config)) ++ if (!get_user_info(cs)) + goto main_exit; + ++#ifdef USE_DEBUG_PARSE_TEST + if (test_config) + { +- cs_str_initial_set(Config, "from", "rich@flatcap.org", NULL); +- cs_str_reset(Config, "from", NULL); ++ cs_str_initial_set(cs, "from", "rich@flatcap.org", NULL); ++ cs_str_reset(cs, "from", NULL); + myvar_set("my_var", "foo"); + test_parse_set(); + goto main_ok; + } +- +- reset_tilde(Config); ++#endif + + if (dfile) + { +- cs_str_initial_set(Config, "debug_file", dfile, NULL); +- cs_str_reset(Config, "debug_file", NULL); ++ cs_str_initial_set(cs, "debug_file", dfile, NULL); ++ cs_str_reset(cs, "debug_file", NULL); + } + + if (dlevel) +@@ -640,8 +549,8 @@ int main(int argc, char *argv[], char *envp[]) + mutt_error(_("Error: value '%s' is invalid for -d"), dlevel); + goto main_exit; // TEST07: neomutt -d xyz + } +- cs_str_initial_set(Config, "debug_level", dlevel, NULL); +- cs_str_reset(Config, "debug_level", NULL); ++ cs_str_initial_set(cs, "debug_level", dlevel, NULL); ++ cs_str_reset(cs, "debug_level", NULL); + } + + mutt_log_prep(); +@@ -689,26 +598,27 @@ int main(int argc, char *argv[], char *envp[]) + if (!OptNoCurses) + { + int crc = start_curses(); +- + if (crc != 0) + goto main_curses; // TEST08: can't test -- fake term? + + /* check whether terminal status is supported (must follow curses init) */ + TsSupported = mutt_ts_capability(); +- mutt_window_reflow(); ++ mutt_window_set_root(LINES, COLS); + } + + /* set defaults and read init files */ +- int rc2 = mutt_init(flags & MUTT_CLI_NOSYSRC, &commands); ++ int rc2 = mutt_init(cs, flags & MUTT_CLI_NOSYSRC, &commands); + mutt_list_free(&commands); + if (rc2 != 0) + goto main_curses; + ++ mutt_init_abort_key(); ++ + /* The command line overrides the config */ + if (dlevel) +- cs_str_reset(Config, "debug_level", NULL); ++ cs_str_reset(cs, "debug_level", NULL); + if (dfile) +- cs_str_reset(Config, "debug_file", NULL); ++ cs_str_reset(cs, "debug_file", NULL); + + if (mutt_log_start() < 0) + { +@@ -719,20 +629,20 @@ int main(int argc, char *argv[], char *envp[]) + #ifdef USE_NNTP + /* "$news_server" precedence: command line, config file, environment, system file */ + if (cli_nntp) +- cs_str_string_set(Config, "news_server", cli_nntp, NULL); ++ cs_str_string_set(cs, "news_server", cli_nntp, NULL); + if (!C_NewsServer) + { + const char *env_nntp = mutt_str_getenv("NNTPSERVER"); +- cs_str_string_set(Config, "news_server", env_nntp, NULL); ++ cs_str_string_set(cs, "news_server", env_nntp, NULL); + } + if (!C_NewsServer) + { + char buf[1024]; + char *server = mutt_file_read_keyword(SYSCONFDIR "/nntpserver", buf, sizeof(buf)); +- cs_str_string_set(Config, "news_server", server, NULL); ++ cs_str_string_set(cs, "news_server", server, NULL); + } + if (C_NewsServer) +- cs_str_initial_set(Config, "news_server", C_NewsServer, NULL); ++ cs_str_initial_set(cs, "news_server", C_NewsServer, NULL); + #endif + + /* Initialize crypto backends. */ +@@ -741,14 +651,14 @@ int main(int argc, char *argv[], char *envp[]) + if (new_magic) + { + struct Buffer err = mutt_buffer_make(0); +- int r = cs_str_initial_set(Config, "mbox_type", new_magic, &err); ++ int r = cs_str_initial_set(cs, "mbox_type", new_magic, &err); + if (CSR_RESULT(r) != CSR_SUCCESS) + { + mutt_error(err.data); + mutt_buffer_dealloc(&err); + goto main_curses; + } +- cs_str_reset(Config, "mbox_type", NULL); ++ cs_str_reset(cs, "mbox_type", NULL); + } + + if (!STAILQ_EMPTY(&queries)) +@@ -759,7 +669,7 @@ int main(int argc, char *argv[], char *envp[]) + + if (dump_variables) + { +- dump_config(Config, hide_sensitive ? CS_DUMP_HIDE_SENSITIVE : CS_DUMP_NO_FLAGS, stdout); ++ dump_config(cs, hide_sensitive ? CS_DUMP_HIDE_SENSITIVE : CS_DUMP_NO_FLAGS, stdout); + goto main_ok; // TEST18: neomutt -D + } + +@@ -838,12 +748,13 @@ int main(int argc, char *argv[], char *envp[]) + goto main_ok; // TEST22: neomutt -B + } + +- notify_observer_add(Config->notify, NT_CONFIG, 0, mutt_hist_observer, 0); +- notify_observer_add(Config->notify, NT_CONFIG, 0, mutt_log_observer, 0); +- notify_observer_add(Config->notify, NT_CONFIG, 0, mutt_menu_config_observer, 0); +- notify_observer_add(Config->notify, NT_CONFIG, 0, mutt_reply_observer, 0); ++ notify_observer_add(NeoMutt->notify, mutt_hist_observer, NULL); ++ notify_observer_add(NeoMutt->notify, mutt_log_observer, NULL); ++ notify_observer_add(NeoMutt->notify, mutt_menu_config_observer, NULL); ++ notify_observer_add(NeoMutt->notify, mutt_reply_observer, NULL); ++ notify_observer_add(NeoMutt->notify, mutt_abort_key_config_observer, NULL); + if (Colors) +- notify_observer_add(Colors->notify, NT_COLOR, 0, mutt_menu_color_observer, 0); ++ notify_observer_add(Colors->notify, mutt_menu_color_observer, NULL); + + if (sendflags & SEND_POSTPONED) + { +@@ -1017,7 +928,7 @@ int main(int argc, char *argv[], char *envp[]) + if (mutt_str_startswith(np->data, "X-Mutt-Resume-Draft:", CASE_IGNORE)) + { + if (C_ResumeEditedDraftFiles) +- cs_str_native_set(Config, "resume_draft_files", true, NULL); ++ cs_str_native_set(cs, "resume_draft_files", true, NULL); + + STAILQ_REMOVE(&e->env->userhdrs, np, ListNode, entries); + FREE(&np->data); +@@ -1079,9 +990,16 @@ int main(int argc, char *argv[], char *envp[]) + mutt_list_free(&attach); + } + +- rv = ci_send_message(sendflags, e, bodyfile, NULL, NULL); +- /* We WANT the "Mail sent." and any possible, later error */ +- log_queue_empty(); ++ if (isatty(0)) ++ { ++ rv = ci_send_message(sendflags, e, bodyfile, NULL, NULL); ++ /* We WANT the "Mail sent." and any possible, later error */ ++ log_queue_empty(); ++ } ++ else ++ { ++ mutt_error(_("Error initializing terminal")); ++ } + if (ErrorBufMessage) + mutt_message("%s", ErrorBuf); + +@@ -1234,7 +1152,7 @@ int main(int argc, char *argv[], char *envp[]) + + mutt_folder_hook(mutt_b2s(&folder), NULL); + mutt_startup_shutdown_hook(MUTT_STARTUP_HOOK); +- notify_send(NeoMutt->notify, NT_GLOBAL, NT_GLOBAL_STARTUP, 0); ++ notify_send(NeoMutt->notify, NT_GLOBAL, NT_GLOBAL_STARTUP, NULL); + + repeat_error = true; + struct Mailbox *m = mx_path_resolve(mutt_b2s(&folder)); +@@ -1251,7 +1169,14 @@ int main(int argc, char *argv[], char *envp[]) + #ifdef USE_SIDEBAR + mutt_sb_set_open_mailbox(Context ? Context->mailbox : NULL); + #endif +- mutt_index_menu(); ++ struct MuttWindow *dlg = index_pager_init(); ++ notify_observer_add(NeoMutt->notify, mutt_dlg_index_observer, dlg); ++ dialog_push(dlg); ++ mutt_index_menu(dlg); ++ dialog_pop(); ++ notify_observer_remove(NeoMutt->notify, mutt_dlg_index_observer, dlg); ++ index_pager_shutdown(dlg); ++ mutt_window_free(&dlg); + ctx_free(&Context); + log_queue_empty(); + repeat_error = false; +@@ -1272,8 +1197,6 @@ int main(int argc, char *argv[], char *envp[]) + main_ok: + rc = 0; + main_curses: +- clear(); +- refresh(); + mutt_endwin(); + mutt_unlink_temp_attachments(); + /* Repeat the last message to the user */ +@@ -1294,7 +1217,7 @@ int main(int argc, char *argv[], char *envp[]) + mutt_keys_free(); + myvarlist_free(&MyVars); + neomutt_free(&NeoMutt); +- cs_free(&Config); ++ cs_free(&cs); + log_queue_flush(log_disp_terminal); + log_queue_empty(); + mutt_log_stop(); +diff --git a/mbox/mbox.h b/mbox/lib.h +similarity index 95% +rename from mbox/mbox.h +rename to mbox/lib.h +index f6f7bf286..209a852bf 100644 +--- a/mbox/mbox.h ++++ b/mbox/lib.h +@@ -31,8 +31,8 @@ + * | mbox/mbox.c | @subpage mbox_mbox | + */ + +-#ifndef MUTT_MBOX_MBOX_H +-#define MUTT_MBOX_MBOX_H ++#ifndef MUTT_MBOX_LIB_H ++#define MUTT_MBOX_LIB_H + + #include + #include +@@ -64,4 +64,4 @@ enum MailboxType mbox_path_probe(const char *path, const struct stat *st); + void mbox_reset_atime(struct Mailbox *m, struct stat *st); + bool mbox_test_new_folder(const char *path); + +-#endif /* MUTT_MBOX_MBOX_H */ ++#endif /* MUTT_MBOX_LIB_H */ +diff --git a/mbox/mbox.c b/mbox/mbox.c +index 1b82ea853..853f787a4 100644 +--- a/mbox/mbox.c ++++ b/mbox/mbox.c +@@ -41,13 +41,13 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "config/lib.h" + #include "email/lib.h" + #include "core/lib.h" + #include "mutt.h" +-#include "mbox.h" ++#include "lib.h" + #include "copy.h" + #include "globals.h" + #include "mutt_header.h" +@@ -560,7 +560,7 @@ static int reopen_mailbox(struct Mailbox *m, int *index_hint) + { + short old_sort = C_Sort; + C_Sort = SORT_ORDER; +- mailbox_changed(m, MBN_RESORT); ++ mailbox_changed(m, NT_MAILBOX_RESORT); + C_Sort = old_sort; + } + +@@ -706,7 +706,7 @@ static int reopen_mailbox(struct Mailbox *m, int *index_hint) + FREE(&e_old); + } + +- mailbox_changed(m, MBN_UPDATE); ++ mailbox_changed(m, NT_MAILBOX_UPDATE); + m->quiet = false; + + return (m->changed || msg_mod) ? MUTT_REOPENED : MUTT_NEW_MAIL; +@@ -817,7 +817,7 @@ bool mbox_test_new_folder(const char *path) + { + bool rc = false; + +- enum MailboxType magic = mx_path_probe(path, NULL); ++ enum MailboxType magic = mx_path_probe(path); + + if ((magic != MUTT_MBOX) && (magic != MUTT_MMDF)) + return false; +@@ -1043,7 +1043,7 @@ static int mbox_mbox_check(struct Mailbox *m, int *index_hint) + { + if (mbox_mbox_open(m) < 0) + return -1; +- mailbox_changed(m, MBN_INVALID); ++ mailbox_changed(m, NT_MAILBOX_INVALID); + } + + struct stat st; +@@ -1104,7 +1104,7 @@ static int mbox_mbox_check(struct Mailbox *m, int *index_hint) + mmdf_parse_mailbox(m); + + if (m->msg_count > old_msg_count) +- mailbox_changed(m, MBN_INVALID); ++ mailbox_changed(m, NT_MAILBOX_INVALID); + + /* Only unlock the folder if it was locked inside of this routine. + * It may have been locked elsewhere, like in +@@ -1134,7 +1134,7 @@ static int mbox_mbox_check(struct Mailbox *m, int *index_hint) + { + if (reopen_mailbox(m, index_hint) != -1) + { +- mailbox_changed(m, MBN_INVALID); ++ mailbox_changed(m, NT_MAILBOX_INVALID); + if (unlock) + { + mbox_unlock_mailbox(m); +@@ -1185,7 +1185,7 @@ static int mbox_mbox_sync(struct Mailbox *m, int *index_hint) + { + save_sort = C_Sort; + C_Sort = SORT_ORDER; +- mailbox_changed(m, MBN_RESORT); ++ mailbox_changed(m, NT_MAILBOX_RESORT); + C_Sort = save_sort; + need_sort = 1; + } +@@ -1513,12 +1513,12 @@ static int mbox_mbox_sync(struct Mailbox *m, int *index_hint) + goto fatal; + } + +- mailbox_changed(m, MBN_UPDATE); ++ mailbox_changed(m, NT_MAILBOX_UPDATE); + if (need_sort) + { + /* if the mailbox was reopened, the thread tree will be invalid so make + * sure to start threading from scratch. */ +- mailbox_changed(m, MBN_RESORT); ++ mailbox_changed(m, NT_MAILBOX_RESORT); + } + + fatal: +@@ -1721,7 +1721,7 @@ static int mbox_path_canon(char *buf, size_t buflen) + if (!buf) + return -1; + +- mutt_path_canon(buf, buflen, HomeDir); ++ mutt_path_canon(buf, buflen, HomeDir, false); + return 0; + } + +@@ -1736,7 +1736,7 @@ static int mbox_path_pretty(char *buf, size_t buflen, const char *folder) + if (mutt_path_abbr_folder(buf, buflen, folder)) + return 0; + +- if (mutt_path_pretty(buf, buflen, HomeDir)) ++ if (mutt_path_pretty(buf, buflen, HomeDir, false)) + return 0; + + return -1; +@@ -1754,7 +1754,7 @@ static int mbox_path_parent(char *buf, size_t buflen) + return 0; + + if (buf[0] == '~') +- mutt_path_canon(buf, buflen, HomeDir); ++ mutt_path_canon(buf, buflen, HomeDir, false); + + if (mutt_path_parent(buf, buflen)) + return 0; +@@ -1848,6 +1848,7 @@ static int mbox_mbox_check_stats(struct Mailbox *m, int flags) + struct MxOps MxMboxOps = { + .magic = MUTT_MBOX, + .name = "mbox", ++ .is_local = true, + .ac_find = mbox_ac_find, + .ac_add = mbox_ac_add, + .mbox_open = mbox_mbox_open, +@@ -1876,6 +1877,7 @@ struct MxOps MxMboxOps = { + struct MxOps MxMmdfOps = { + .magic = MUTT_MMDF, + .name = "mmdf", ++ .is_local = true, + .ac_find = mbox_ac_find, + .ac_add = mbox_ac_add, + .mbox_open = mbox_mbox_open, +diff --git a/menu.c b/menu.c +index 970633dc1..f5eddcd7b 100644 +--- a/menu.c ++++ b/menu.c +@@ -32,21 +32,18 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "config/lib.h" + #include "email/lib.h" + #include "core/lib.h" ++#include "gui/lib.h" + #include "mutt.h" +-#include "color.h" + #include "commands.h" + #include "context.h" +-#include "curs_lib.h" + #include "globals.h" + #include "keymap.h" +-#include "mutt_curses.h" + #include "mutt_logging.h" + #include "mutt_menu.h" +-#include "mutt_window.h" + #include "muttlib.h" + #include "opcodes.h" + #include "options.h" +@@ -312,13 +309,13 @@ static void print_enriched_string(int index, int attr, unsigned char *s, bool do + } + + /** +- * menu_make_entry - Create string to display in a Menu (the index) ++ * make_entry - Create string to display in a Menu (the index) + * @param buf Buffer for the result + * @param buflen Length of the buffer + * @param menu Current Menu + * @param i Selected item + */ +-static void menu_make_entry(char *buf, size_t buflen, struct Menu *menu, int i) ++static void make_entry(char *buf, size_t buflen, struct Menu *menu, int i) + { + if (menu->dialog) + { +@@ -326,7 +323,7 @@ static void menu_make_entry(char *buf, size_t buflen, struct Menu *menu, int i) + menu->current = -1; /* hide menubar */ + } + else +- menu->menu_make_entry(buf, buflen, menu, i); ++ menu->make_entry(buf, buflen, menu, i); + } + + /** +@@ -340,8 +337,8 @@ static void menu_make_entry(char *buf, size_t buflen, struct Menu *menu, int i) + static void menu_pad_string(struct Menu *menu, char *buf, size_t buflen) + { + char *scratch = mutt_str_strdup(buf); +- int shift = C_ArrowCursor ? 3 : 0; +- int cols = menu->indexwin->cols - shift; ++ int shift = C_ArrowCursor ? mutt_strwidth(C_ArrowString) + 1 : 0; ++ int cols = menu->win_index->state.cols - shift; + + mutt_simple_format(buf, buflen, cols, cols, JUSTIFY_LEFT, ' ', scratch, + mutt_str_strlen(scratch), true); +@@ -364,11 +361,11 @@ void menu_redraw_full(struct Menu *menu) + { + mutt_curses_set_color(MT_COLOR_STATUS); + mutt_window_move(MuttHelpWindow, 0, 0); +- mutt_paddstr(MuttHelpWindow->cols, menu->help); ++ mutt_paddstr(MuttHelpWindow->state.cols, menu->help); + mutt_curses_set_color(MT_COLOR_NORMAL); + } + menu->offset = 0; +- menu->pagelen = menu->indexwin->rows; ++ menu->pagelen = menu->win_index->state.rows; + + mutt_show_error(); + +@@ -388,8 +385,8 @@ void menu_redraw_status(struct Menu *menu) + + snprintf(buf, sizeof(buf), "-- NeoMutt: %s", menu->title); + mutt_curses_set_color(MT_COLOR_STATUS); +- mutt_window_move(menu->statuswin, 0, 0); +- mutt_paddstr(menu->statuswin->cols, buf); ++ mutt_window_move(menu->win_ibar, 0, 0); ++ mutt_paddstr(menu->win_ibar->state.cols, buf); + mutt_curses_set_color(MT_COLOR_NORMAL); + menu->redraw &= ~REDRAW_STATUS; + } +@@ -402,7 +399,9 @@ void menu_redraw_status(struct Menu *menu) + void menu_redraw_sidebar(struct Menu *menu) + { + menu->redraw &= ~REDRAW_SIDEBAR; +- mutt_sb_draw(); ++ struct MuttWindow *dlg = mutt_window_dialog(menu->win_index); ++ struct MuttWindow *sidebar = mutt_window_find(dlg, WT_SIDEBAR); ++ mutt_sb_draw(sidebar); + } + #endif + +@@ -420,13 +419,13 @@ void menu_redraw_index(struct Menu *menu) + { + if (i < menu->max) + { +- attr = menu->menu_color(i); ++ attr = menu->color(i); + +- menu_make_entry(buf, sizeof(buf), menu, i); ++ make_entry(buf, sizeof(buf), menu, i); + menu_pad_string(menu, buf, sizeof(buf)); + + mutt_curses_set_attr(attr); +- mutt_window_move(menu->indexwin, i - menu->top + menu->offset, 0); ++ mutt_window_move(menu->win_index, i - menu->top + menu->offset, 0); + do_color = true; + + if (i == menu->current) +@@ -434,7 +433,7 @@ void menu_redraw_index(struct Menu *menu) + mutt_curses_set_color(MT_COLOR_INDICATOR); + if (C_ArrowCursor) + { +- mutt_window_addstr("->"); ++ mutt_window_addstr(C_ArrowString); + mutt_curses_set_attr(attr); + mutt_window_addch(' '); + } +@@ -442,14 +441,15 @@ void menu_redraw_index(struct Menu *menu) + do_color = false; + } + else if (C_ArrowCursor) +- mutt_window_addstr(" "); ++ /* Print space chars to match the screen width of C_ArrowString */ ++ mutt_window_printf("%*s", mutt_strwidth(C_ArrowString) + 1, ""); + + print_enriched_string(i, attr, (unsigned char *) buf, do_color); + } + else + { + mutt_curses_set_color(MT_COLOR_NORMAL); +- mutt_window_clearline(menu->indexwin, i - menu->top + menu->offset); ++ mutt_window_clearline(menu->win_index, i - menu->top + menu->offset); + } + } + mutt_curses_set_color(MT_COLOR_NORMAL); +@@ -474,40 +474,43 @@ void menu_redraw_motion(struct Menu *menu) + * over imap (if matching against ~h for instance). This can + * generate status messages. So we want to call it *before* we + * position the cursor for drawing. */ +- const int old_color = menu->menu_color(menu->oldcurrent); +- mutt_window_move(menu->indexwin, menu->oldcurrent + menu->offset - menu->top, 0); ++ const int old_color = menu->color(menu->oldcurrent); ++ mutt_window_move(menu->win_index, menu->oldcurrent + menu->offset - menu->top, 0); + mutt_curses_set_attr(old_color); + + if (C_ArrowCursor) + { +- /* clear the pointer */ +- mutt_window_addstr(" "); ++ /* clear the arrow */ ++ /* Print space chars to match the screen width of C_ArrowString */ ++ mutt_window_printf("%*s", mutt_strwidth(C_ArrowString) + 1, ""); + + if (menu->redraw & REDRAW_MOTION_RESYNC) + { +- menu_make_entry(buf, sizeof(buf), menu, menu->oldcurrent); ++ make_entry(buf, sizeof(buf), menu, menu->oldcurrent); + menu_pad_string(menu, buf, sizeof(buf)); +- mutt_window_move(menu->indexwin, menu->oldcurrent + menu->offset - menu->top, 3); ++ mutt_window_move(menu->win_index, menu->oldcurrent + menu->offset - menu->top, ++ mutt_strwidth(C_ArrowString) + 1); + print_enriched_string(menu->oldcurrent, old_color, (unsigned char *) buf, true); + } + + /* now draw it in the new location */ + mutt_curses_set_color(MT_COLOR_INDICATOR); +- mutt_window_mvaddstr(menu->indexwin, menu->current + menu->offset - menu->top, 0, "->"); ++ mutt_window_mvaddstr(menu->win_index, menu->current + menu->offset - menu->top, ++ 0, C_ArrowString); + } + else + { + /* erase the current indicator */ +- menu_make_entry(buf, sizeof(buf), menu, menu->oldcurrent); ++ make_entry(buf, sizeof(buf), menu, menu->oldcurrent); + menu_pad_string(menu, buf, sizeof(buf)); + print_enriched_string(menu->oldcurrent, old_color, (unsigned char *) buf, true); + + /* now draw the new one to reflect the change */ +- const int cur_color = menu->menu_color(menu->current); +- menu_make_entry(buf, sizeof(buf), menu, menu->current); ++ const int cur_color = menu->color(menu->current); ++ make_entry(buf, sizeof(buf), menu, menu->current); + menu_pad_string(menu, buf, sizeof(buf)); + mutt_curses_set_color(MT_COLOR_INDICATOR); +- mutt_window_move(menu->indexwin, menu->current + menu->offset - menu->top, 0); ++ mutt_window_move(menu->win_index, menu->current + menu->offset - menu->top, 0); + print_enriched_string(menu->current, cur_color, (unsigned char *) buf, false); + } + menu->redraw &= REDRAW_STATUS; +@@ -521,16 +524,16 @@ void menu_redraw_motion(struct Menu *menu) + void menu_redraw_current(struct Menu *menu) + { + char buf[1024]; +- int attr = menu->menu_color(menu->current); ++ int attr = menu->color(menu->current); + +- mutt_window_move(menu->indexwin, menu->current + menu->offset - menu->top, 0); +- menu_make_entry(buf, sizeof(buf), menu, menu->current); ++ mutt_window_move(menu->win_index, menu->current + menu->offset - menu->top, 0); ++ make_entry(buf, sizeof(buf), menu, menu->current); + menu_pad_string(menu, buf, sizeof(buf)); + + mutt_curses_set_color(MT_COLOR_INDICATOR); + if (C_ArrowCursor) + { +- mutt_window_addstr("->"); ++ mutt_window_addstr(C_ArrowString); + mutt_curses_set_attr(attr); + mutt_window_addch(' '); + menu_pad_string(menu, buf, sizeof(buf)); +@@ -629,7 +632,7 @@ static void menu_jump(struct Menu *menu) + mutt_unget_event(LastKey, 0); + char buf[128]; + buf[0] = '\0'; +- if ((mutt_get_field(_("Jump to: "), buf, sizeof(buf), 0) == 0) && buf[0]) ++ if ((mutt_get_field(_("Jump to: "), buf, sizeof(buf), MUTT_COMP_NO_FLAGS) == 0) && buf[0]) + { + if ((mutt_str_atoi(buf, &n) == 0) && (n > 0) && (n < menu->max + 1)) + { +@@ -938,7 +941,7 @@ static void menu_prev_entry(struct Menu *menu) + } + + /** +- * default_color - Get the default colour for a line of the menu - Implements Menu::menu_color() ++ * default_color - Get the default colour for a line of the menu - Implements Menu::color() + */ + static int default_color(int line) + { +@@ -946,13 +949,13 @@ static int default_color(int line) + } + + /** +- * generic_search - Search a menu for a item matching a regex - Implements Menu::menu_search() ++ * generic_search - Search a menu for a item matching a regex - Implements Menu::search() + */ + static int generic_search(struct Menu *menu, regex_t *rx, int line) + { + char buf[1024]; + +- menu_make_entry(buf, sizeof(buf), menu, line); ++ make_entry(buf, sizeof(buf), menu, line); + return regexec(rx, buf, 0, NULL, 0); + } + +@@ -974,19 +977,13 @@ struct Menu *mutt_menu_new(enum MenuType type) + { + struct Menu *menu = mutt_mem_calloc(1, sizeof(struct Menu)); + +- if (type >= MENU_MAX) +- type = MENU_GENERIC; +- + menu->type = type; + menu->current = 0; + menu->top = 0; + menu->offset = 0; + menu->redraw = REDRAW_FULL; +- menu->pagelen = MuttIndexWindow->rows; +- menu->indexwin = MuttIndexWindow; +- menu->statuswin = MuttStatusWindow; +- menu->menu_color = default_color; +- menu->menu_search = generic_search; ++ menu->color = default_color; ++ menu->search = generic_search; + + return menu; + } +@@ -1080,8 +1077,15 @@ void mutt_menu_pop_current(struct Menu *menu) + else + { + CurrentMenu = MENU_MAIN; +- mutt_window_move_abs(0, 0); +- mutt_window_clrtobot(); ++ /* Clearing when NeoMutt exits would be an annoying change in behavior for ++ * those who have disabled alternative screens. The option is currently ++ * set by autocrypt initialization which mixes menus and prompts outside of ++ * the normal menu system state. */ ++ if (OptMenuPopClearScreen) ++ { ++ mutt_window_move_abs(0, 0); ++ mutt_window_clrtobot(); ++ } + } + } + +@@ -1150,13 +1154,13 @@ void mutt_menu_current_redraw(void) + } + + /** +- * menu_search - Search a menu ++ * search - Search a menu + * @param menu Menu to search + * @param op Search operation, e.g. OP_SEARCH_NEXT + * @retval >=0 Index of matching item + * @retval -1 Search failed, or was cancelled + */ +-static int menu_search(struct Menu *menu, int op) ++static int search(struct Menu *menu, int op) + { + int rc = 0, wrap = 0; + int search_dir; +@@ -1208,7 +1212,7 @@ static int menu_search(struct Menu *menu, int op) + mutt_message(_("Search wrapped to top")); + while ((rc >= 0) && (rc < menu->max)) + { +- if (menu->menu_search(menu, &re, rc) == 0) ++ if (menu->search(menu, &re, rc) == 0) + { + regfree(&re); + return rc; +@@ -1299,9 +1303,9 @@ static int menu_dialog_dokey(struct Menu *menu, int *ip) + */ + int menu_redraw(struct Menu *menu) + { +- if (menu->menu_custom_redraw) ++ if (menu->custom_redraw) + { +- menu->menu_custom_redraw(menu); ++ menu->custom_redraw(menu); + return OP_NULL; + } + +@@ -1382,13 +1386,13 @@ int mutt_menu_loop(struct Menu *menu) + + /* move the cursor out of the way */ + if (C_ArrowCursor) +- mutt_window_move(menu->indexwin, menu->current - menu->top + menu->offset, 2); ++ mutt_window_move(menu->win_index, menu->current - menu->top + menu->offset, 2); + else if (C_BrailleFriendly) +- mutt_window_move(menu->indexwin, menu->current - menu->top + menu->offset, 0); ++ mutt_window_move(menu->win_index, menu->current - menu->top + menu->offset, 0); + else + { +- mutt_window_move(menu->indexwin, menu->current - menu->top + menu->offset, +- menu->indexwin->cols - 1); ++ mutt_window_move(menu->win_index, menu->current - menu->top + menu->offset, ++ menu->win_index->state.cols - 1); + } + + mutt_refresh(); +@@ -1504,10 +1508,10 @@ int mutt_menu_loop(struct Menu *menu) + case OP_SEARCH_REVERSE: + case OP_SEARCH_NEXT: + case OP_SEARCH_OPPOSITE: +- if (menu->menu_search && !menu->dialog) /* Searching dialogs won't work */ ++ if (menu->search && !menu->dialog) /* Searching dialogs won't work */ + { + menu->oldcurrent = menu->current; +- menu->current = menu_search(menu, i); ++ menu->current = search(menu, i); + if (menu->current != -1) + menu->redraw = REDRAW_MOTION; + else +@@ -1529,17 +1533,17 @@ int mutt_menu_loop(struct Menu *menu) + break; + + case OP_TAG: +- if (menu->menu_tag && !menu->dialog) ++ if (menu->tag && !menu->dialog) + { + if (menu->tagprefix && !C_AutoTag) + { + for (i = 0; i < menu->max; i++) +- menu->tagged += menu->menu_tag(menu, i, 0); ++ menu->tagged += menu->tag(menu, i, 0); + menu->redraw |= REDRAW_INDEX; + } + else if (menu->max) + { +- int j = menu->menu_tag(menu, menu->current, -1); ++ int j = menu->tag(menu, menu->current, -1); + menu->tagged += j; + if (j && C_Resolve && (menu->current < menu->max - 1)) + { +@@ -1574,7 +1578,7 @@ int mutt_menu_loop(struct Menu *menu) + break; + + case OP_HELP: +- mutt_help(menu->type, menu->indexwin->cols); ++ mutt_help(menu->type, menu->win_index->state.cols); + menu->redraw = REDRAW_FULL; + break; + +@@ -1595,12 +1599,14 @@ int mutt_menu_loop(struct Menu *menu) + } + + /** +- * mutt_menu_color_observer - Listen for colour changes affecting the menu - Implements ::observer_t() ++ * mutt_menu_color_observer - Listen for colour changes affecting the menu - Implements ::observer_t + */ + int mutt_menu_color_observer(struct NotifyCallback *nc) + { +- if ((!nc) || (nc->event_type != NT_COLOR)) ++ if (!nc->event_data) + return -1; ++ if (nc->event_type != NT_CONFIG) ++ return 0; + + int s = nc->event_subtype; + +@@ -1616,7 +1622,7 @@ int mutt_menu_color_observer(struct NotifyCallback *nc) + if (!simple && !lists) + return 0; + +- struct EventColor *ec = (struct EventColor *) nc->event; ++ struct EventColor *ec = nc->event_data; + + // Colour deleted from a list + if (!ec->set && lists && Context && Context->mailbox) +@@ -1637,14 +1643,16 @@ int mutt_menu_color_observer(struct NotifyCallback *nc) + } + + /** +- * mutt_menu_config_observer - Listen for config changes affecting the menu - Implements ::observer_t() ++ * mutt_menu_config_observer - Listen for config changes affecting the menu - Implements ::observer_t + */ + int mutt_menu_config_observer(struct NotifyCallback *nc) + { +- if (!nc) ++ if (!nc->event_data) + return -1; ++ if (nc->event_type != NT_CONFIG) ++ return 0; + +- struct EventConfig *ec = (struct EventConfig *) nc->event; ++ struct EventConfig *ec = nc->event_data; + + const struct ConfigDef *cdef = ec->he->data; + ConfigRedrawFlags flags = cdef->type & R_REDRAW_MASK; +@@ -1672,7 +1680,7 @@ int mutt_menu_config_observer(struct NotifyCallback *nc) + OptRedrawTree = true; + + if (flags & R_REFLOW) +- mutt_window_reflow(); ++ mutt_window_reflow(NULL); + #ifdef USE_SIDEBAR + if (flags & R_SIDEBAR) + mutt_menu_set_current_redraw(REDRAW_SIDEBAR); +diff --git a/monitor.c b/monitor.c +index 5d473316e..fca9cefb2 100644 +--- a/monitor.c ++++ b/monitor.c +@@ -37,11 +37,11 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "core/lib.h" ++#include "gui/lib.h" + #include "monitor.h" + #include "context.h" +-#include "curs_lib.h" + #include "globals.h" + #ifndef HAVE_INOTIFY_INIT1 + #include +@@ -437,8 +437,10 @@ int mutt_monitor_poll(void) + if (len == -1) + { + if (errno != EAGAIN) ++ { + mutt_debug(LL_DEBUG2, "read inotify events failed, errno=%d %s\n", + errno, strerror(errno)); ++ } + break; + } + +diff --git a/mutt.h b/mutt.h +index 26d161e52..311a2c659 100644 +--- a/mutt.h ++++ b/mutt.h +@@ -27,15 +27,9 @@ + #include "config.h" + #include + #include +-#include + #include +-#include "config/lib.h" +-#include "hook.h" + #include "keymap.h" +-#include "mutt_commands.h" + +-struct Buffer; +-struct ListHead; + struct Mapping; + + /* On OS X 10.5.x, wide char functions are inlined by default breaking +@@ -118,28 +112,7 @@ enum MessageType + #define MUTT_SPAM 1 + #define MUTT_NOSPAM 2 + +-int mutt_init(bool skip_sys_rc, struct ListHead *commands); +-struct ConfigSet *init_config(size_t size); +- +-#define EXEC_SHELL "/bin/sh" +- + char *mutt_compile_help(char *buf, size_t buflen, enum MenuType menu, const struct Mapping *items); +- +-int mutt_extract_token(struct Buffer *dest, struct Buffer *tok, TokenFlags flags); +-void mutt_opts_free(void); +-enum QuadOption query_quadoption(enum QuadOption opt, const char *prompt); +-int mutt_label_complete(char *buf, size_t buflen, int numtabs); +-int mutt_command_complete(char *buf, size_t buflen, int pos, int numtabs); +-int mutt_var_value_complete(char *buf, size_t buflen, int pos); +-bool mutt_nm_query_complete(char *buf, size_t buflen, int pos, int numtabs); +-bool mutt_nm_tag_complete(char *buf, size_t buflen, int numtabs); +-HookFlags mutt_get_hook_type(const char *name); +-enum CommandResult mutt_parse_rc_line(/* const */ char *line, struct Buffer *token, struct Buffer *err); +-int mutt_query_variables(struct ListHead *queries); + void reset_value(const char *name); + +-#ifdef HAVE_LIBUNWIND +-void show_backtrace(void); +-#endif +- + #endif /* MUTT_MUTT_H */ +diff --git a/mutt/envlist.h b/mutt/envlist.h +index d06560745..0a8e88bad 100644 +--- a/mutt/envlist.h ++++ b/mutt/envlist.h +@@ -20,11 +20,11 @@ + * this program. If not, see . + */ + +-#include +- + #ifndef MUTT_LIB_ENVLIST_H + #define MUTT_LIB_ENVLIST_H + ++#include ++ + void mutt_envlist_free(void); + char **mutt_envlist_getlist(void); + void mutt_envlist_init(char *envp[]); +diff --git a/mutt/file.c b/mutt/file.c +index 6517e3296..006e0d4d5 100644 +--- a/mutt/file.c ++++ b/mutt/file.c +@@ -38,6 +38,7 @@ + #include + #include + #include ++#include + #include + #include + #include "file.h" +diff --git a/filter.c b/mutt/filter.c +similarity index 74% +rename from filter.c +rename to mutt/filter.c +index 241c22e2f..72e44bf08 100644 +--- a/filter.c ++++ b/mutt/filter.c +@@ -31,15 +31,12 @@ + #include + #include + #include +-#include "mutt/mutt.h" +-#include "mutt.h" + #include "filter.h" +-#ifdef USE_IMAP +-#include "imap/imap.h" +-#endif ++#include "envlist.h" ++#include "signal2.h" + + /** +- * mutt_create_filter_fd - Run a command on a pipe (optionally connect stdin/stdout) ++ * filter_create_fd - Run a command on a pipe (optionally connect stdin/stdout) + * @param[in] cmd Command line to invoke using `sh -c` + * @param[out] fp_in File stream pointing to stdin for the command process, can be NULL + * @param[out] fp_out File stream pointing to stdout for the command process, can be NULL +@@ -55,14 +52,14 @@ + * present. + * + * @code{.c} +- * mutt_create_filter_fd(commandline, NULL, NULL, NULL, -1, -1, -1); ++ * filter_create_fd(commandline, NULL, NULL, NULL, -1, -1, -1); + * @endcode + * + * Additionally, fp_in, fp_out, and fp_err will point to FILE* streams + * representing the processes stdin, stdout, and stderr. + */ +-pid_t mutt_create_filter_fd(const char *cmd, FILE **fp_in, FILE **fp_out, +- FILE **fp_err, int fdin, int fdout, int fderr) ++pid_t filter_create_fd(const char *cmd, FILE **fp_in, FILE **fp_out, ++ FILE **fp_err, int fdin, int fdout, int fderr) + { + int pin[2], pout[2], perr[2], pid; + +@@ -199,27 +196,27 @@ pid_t mutt_create_filter_fd(const char *cmd, FILE **fp_in, FILE **fp_out, + } + + /** +- * mutt_create_filter - Set up filter program +- * @param[in] s Command string ++ * filter_create - Set up filter program ++ * @param[in] cmd Command string + * @param[out] fp_in FILE pointer of stdin + * @param[out] fp_out FILE pointer of stdout + * @param[out] fp_err FILE pointer of stderr + * @retval num PID of filter + */ +-pid_t mutt_create_filter(const char *s, FILE **fp_in, FILE **fp_out, FILE **fp_err) ++pid_t filter_create(const char *cmd, FILE **fp_in, FILE **fp_out, FILE **fp_err) + { +- return mutt_create_filter_fd(s, fp_in, fp_out, fp_err, -1, -1, -1); ++ return filter_create_fd(cmd, fp_in, fp_out, fp_err, -1, -1, -1); + } + + /** +- * mutt_wait_filter - Wait for the exit of a process and return its status ++ * filter_wait - Wait for the exit of a process and return its status + * @param pid Process id of the process to wait for + * @retval num Exit status of the process identified by pid + * @retval -1 Error + */ +-int mutt_wait_filter(pid_t pid) ++int filter_wait(pid_t pid) + { +- int rc; ++ int rc = 0; + + waitpid(pid, &rc, 0); + mutt_sig_unblock_system(true); +@@ -227,31 +224,3 @@ int mutt_wait_filter(pid_t pid) + + return rc; + } +- +-/** +- * mutt_wait_interactive_filter - Wait after an interactive filter +- * @param pid Process id of the process to wait for +- * @retval num Exit status of the process identified by pid +- * @retval -1 Error +- * +- * This is used for filters that are actually interactive commands +- * with input piped in: e.g. in mutt_view_attachment(), a mailcap +- * entry without copiousoutput _and_ without a %s. +- * +- * For those cases, we treat it like a blocking system command, and +- * poll IMAP to keep connections open. +- */ +-int mutt_wait_interactive_filter(pid_t pid) +-{ +- int rc; +- +-#ifdef USE_IMAP +- rc = imap_wait_keepalive(pid); +-#else +- waitpid(pid, &rc, 0); +-#endif +- mutt_sig_unblock_system(true); +- rc = WIFEXITED(rc) ? WEXITSTATUS(rc) : -1; +- +- return rc; +-} +diff --git a/filter.h b/mutt/filter.h +similarity index 70% +rename from filter.h +rename to mutt/filter.h +index 5062422e1..d82b485ec 100644 +--- a/filter.h ++++ b/mutt/filter.h +@@ -18,15 +18,16 @@ + * this program. If not, see . + */ + +-#ifndef MUTT_FILTER_H +-#define MUTT_FILTER_H ++#ifndef MUTT_LIB_FILTER_H ++#define MUTT_LIB_FILTER_H + + #include + #include + +-pid_t mutt_create_filter_fd(const char *cmd, FILE **fp_in, FILE **fp_out, FILE **fp_err, int fdin, int fdout, int fderr); +-pid_t mutt_create_filter(const char *s, FILE **fp_in, FILE **fp_out, FILE **fp_err); +-int mutt_wait_filter(pid_t pid); +-int mutt_wait_interactive_filter (pid_t pid); ++#define EXEC_SHELL "/bin/sh" + +-#endif /* MUTT_FILTER_H */ ++pid_t filter_create (const char *cmd, FILE **fp_in, FILE **fp_out, FILE **fp_err); ++pid_t filter_create_fd(const char *cmd, FILE **fp_in, FILE **fp_out, FILE **fp_err, int fdin, int fdout, int fderr); ++int filter_wait (pid_t pid); ++ ++#endif /* MUTT_LIB_FILTER_H */ +diff --git a/mutt/hash.c b/mutt/hash.c +index 02572e10f..45c9db125 100644 +--- a/mutt/hash.c ++++ b/mutt/hash.c +@@ -37,7 +37,7 @@ + #define SOME_PRIME 149711 + + /** +- * gen_string_hash - Generate a hash from a string ++ * gen_string_hash - Generate a hash from a string - Implements Hash::gen_hash() + * @param key String key + * @param n Number of elements in the Hash table + * @retval num Cryptographic hash of the string +@@ -55,7 +55,7 @@ static size_t gen_string_hash(union HashKey key, size_t n) + } + + /** +- * cmp_string_key - Compare two string keys ++ * cmp_string_key - Compare two string keys - Implements Hash::cmp_key() + * @param a First key to compare + * @param b Second key to compare + * @retval -1 a precedes b +@@ -68,7 +68,7 @@ static int cmp_string_key(union HashKey a, union HashKey b) + } + + /** +- * gen_case_string_hash - Generate a hash from a string (ignore the case) ++ * gen_case_string_hash - Generate a hash from a string (ignore the case) - Implements Hash::gen_hash() + * @param key String key + * @param n Number of elements in the Hash table + * @retval num Cryptographic hash of the string +@@ -86,7 +86,7 @@ static size_t gen_case_string_hash(union HashKey key, size_t n) + } + + /** +- * cmp_case_string_key - Compare two string keys (ignore case) ++ * cmp_case_string_key - Compare two string keys (ignore case) - Implements Hash::cmp_key() + * @param a First key to compare + * @param b Second key to compare + * @retval -1 a precedes b +@@ -99,7 +99,7 @@ static int cmp_case_string_key(union HashKey a, union HashKey b) + } + + /** +- * gen_int_hash - Generate a hash from an integer ++ * gen_int_hash - Generate a hash from an integer - Implements Hash::gen_hash() + * @param key Integer key + * @param n Number of elements in the Hash table + * @retval num Cryptographic hash of the integer +@@ -110,7 +110,7 @@ static size_t gen_int_hash(union HashKey key, size_t n) + } + + /** +- * cmp_int_key - Compare two integer keys ++ * cmp_int_key - Compare two integer keys - Implements Hash::cmp_key() + * @param a First key to compare + * @param b Second key to compare + * @retval -1 a precedes b +diff --git a/mutt/mutt.h b/mutt/lib.h +similarity index 95% +rename from mutt/mutt.h +rename to mutt/lib.h +index 7598b2b79..8dfa7dd91 100644 +--- a/mutt/mutt.h ++++ b/mutt/lib.h +@@ -34,6 +34,7 @@ + * | mutt/envlist.c | @subpage envlist | + * | mutt/exit.c | @subpage exit | + * | mutt/file.c | @subpage file | ++ * | mutt/filter.c | @subpage filter | + * | mutt/hash.c | @subpage hash | + * | mutt/history.c | @subpage history | + * | mutt/list.c | @subpage list | +@@ -55,8 +56,8 @@ + * the library, but none depends on source from outside. + */ + +-#ifndef MUTT_LIB_MUTT_H +-#define MUTT_LIB_MUTT_H ++#ifndef MUTT_MUTT_LIB_H ++#define MUTT_MUTT_LIB_H + + // IWYU pragma: begin_exports + #include "base64.h" +@@ -66,6 +67,7 @@ + #include "envlist.h" + #include "exit.h" + #include "file.h" ++#include "filter.h" + #include "hash.h" + #include "history.h" + #include "list.h" +@@ -75,16 +77,16 @@ + #include "md5.h" + #include "memory.h" + #include "message.h" +-#include "queue.h" + #include "notify.h" + #include "notify_type.h" + #include "observer.h" + #include "path.h" + #include "pool.h" ++#include "queue.h" + #include "regex3.h" + #include "signal2.h" + #include "slist.h" + #include "string2.h" + // IWYU pragma: end_exports + +-#endif /* MUTT_LIB_MUTT_H */ ++#endif /* MUTT_MUTT_LIB_H */ +diff --git a/mutt/md5.c b/mutt/md5.c +index 5b661abbd..016ca7cff 100644 +--- a/mutt/md5.c ++++ b/mutt/md5.c +@@ -403,11 +403,13 @@ void mutt_md5_process_bytes(const void *buf, size_t buflen, struct Md5Ctx *md5ct + if (buflen >= 64) + { + #if !defined(_STRING_ARCH_unaligned) +-#define alignof(type) offsetof( \ +- struct { \ +- char c; type x; \ +- }, \ +- x) ++#define alignof(type) \ ++ offsetof( \ ++ struct { \ ++ char c; \ ++ type x; \ ++ }, \ ++ x) + #define UNALIGNED_P(p) (((size_t) p) % alignof(md5_uint32) != 0) + if (UNALIGNED_P(buf)) + { +diff --git a/mutt/notify.c b/mutt/notify.c +index e5e661130..3fab31e0d 100644 +--- a/mutt/notify.c ++++ b/mutt/notify.c +@@ -29,7 +29,6 @@ + #include "config.h" + #include + #include +-#include + #include "notify.h" + #include "memory.h" + #include "queue.h" +@@ -39,24 +38,18 @@ + */ + struct Notify + { +- void *obj; +- enum NotifyType obj_type; + struct Notify *parent; + struct ObserverList observers; + }; + + /** + * notify_new - Create a new notifications handler +- * @param object Owner of the object +- * @param type Object type, e.g. #NT_ACCOUNT + * @retval ptr New notification handler + */ +-struct Notify *notify_new(void *object, enum NotifyType type) ++struct Notify *notify_new(void) + { + struct Notify *notify = mutt_mem_calloc(1, sizeof(*notify)); + +- notify->obj = object; +- notify->obj_type = type; + STAILQ_INIT(¬ify->observers); + + return notify; +@@ -74,7 +67,7 @@ void notify_free(struct Notify **ptr) + struct Notify *notify = *ptr; + // NOTIFY observers + +- notify_observer_remove(notify, NULL, 0); ++ notify_observer_remove(notify, NULL, NULL); + + FREE(ptr); + } +@@ -96,25 +89,25 @@ void notify_set_parent(struct Notify *notify, struct Notify *parent) + + /** + * send - Send out a notification message +- * @param source Source of the event, e.g. #Account +- * @param current Current handler, e.g. #NeoMutt +- * @param type Type of event, e.g. #NT_ACCOUNT +- * @param subtype Subtype, e.g. NT_ACCOUNT_NEW +- * @param data Private data associated with the event type ++ * @param source Source of the event, e.g. #Account ++ * @param current Current handler, e.g. #NeoMutt ++ * @param event_type Type of event, e.g. #NT_ACCOUNT ++ * @param event_subtype Subtype, e.g. #NT_ACCOUNT_ADD ++ * @param event_data Private data associated with the event type + * @retval true If successfully sent + * +- * Notifications are sent to all matching observers, then propagated up the +- * handler tree. For example a "new email" notification would be sent to the +- * Mailbox that owned it, the Account (owning the Mailbox) and finally the ++ * Notifications are sent to all observers of the object, then propagated up ++ * the handler tree. For example a "new email" notification would be sent to ++ * the Mailbox that owns it, the Account (owning the Mailbox) and finally the + * NeoMutt object. + */ +-static bool send(struct Notify *source, struct Notify *current, int type, +- int subtype, intptr_t data) ++static bool send(struct Notify *source, struct Notify *current, ++ enum NotifyType event_type, int event_subtype, void *event_data) + { + if (!source || !current) + return false; + +- // mutt_debug(LL_NOTIFY, "send: %d, %ld\n", type, data); ++ // mutt_debug(LL_NOTIFY, "send: %d, %ld\n", event_type, event_data); + struct ObserverNode *np = NULL; + struct ObserverNode *tmp = NULL; + // We use the `_SAFE` version in case an event causes an observer to be deleted +@@ -122,42 +115,42 @@ static bool send(struct Notify *source, struct Notify *current, int type, + { + struct Observer *o = np->observer; + +- struct NotifyCallback nc = { source->obj, source->obj_type, type, subtype, +- data, o->flags, o->data }; ++ struct NotifyCallback nc = { event_type, event_subtype, event_data, o->global_data }; + o->callback(&nc); + } + + if (current->parent) +- return send(source, current->parent, type, subtype, data); ++ return send(source, current->parent, event_type, event_subtype, event_data); + return true; + } + + /** + * notify_send - Send out a notification message +- * @param notify Notification handler +- * @param type Type of event, e.g. #NT_ACCOUNT +- * @param subtype Subtype, e.g. NT_ACCOUNT_NEW +- * @param data Private data associated with the event type ++ * @param notify Notification handler ++ * @param event_type Type of event, e.g. #NT_ACCOUNT ++ * @param event_subtype Subtype, e.g. #NT_ACCOUNT_ADD ++ * @param event_data Private data associated with the event + * @retval true If successfully sent + * + * See send() for more details. + */ +-bool notify_send(struct Notify *notify, int type, int subtype, intptr_t data) ++bool notify_send(struct Notify *notify, enum NotifyType event_type, ++ int event_subtype, void *event_data) + { +- return send(notify, notify, type, subtype, data); ++ return send(notify, notify, event_type, event_subtype, event_data); + } + + /** + * notify_observer_add - Add an observer to an object +- * @param notify Notification handler +- * @param type Type of event to listen for, e.g. #NT_ACCOUNT +- * @param subtype Subtype, e.g. NT_ACCOUNT_NEW +- * @param callback Function to call on a matching event, see ::observer_t +- * @param data Private data associated with the event type ++ * @param notify Notification handler ++ * @param callback Function to call on a matching event, see ::observer_t ++ * @param global_data Private data associated with the observer + * @retval true If successful ++ * ++ * New observers are added to the front of the list, giving them higher ++ * priority than existing observers. + */ +-bool notify_observer_add(struct Notify *notify, enum NotifyType type, +- int subtype, observer_t callback, intptr_t data) ++bool notify_observer_add(struct Notify *notify, observer_t callback, void *global_data) + { + if (!notify || !callback) + return false; +@@ -170,28 +163,26 @@ bool notify_observer_add(struct Notify *notify, enum NotifyType type, + } + + struct Observer *o = mutt_mem_calloc(1, sizeof(*o)); +- o->type = type; +- o->flags = subtype; + o->callback = callback; +- o->data = data; ++ o->global_data = global_data; + + np = mutt_mem_calloc(1, sizeof(*np)); + np->observer = o; +- STAILQ_INSERT_TAIL(¬ify->observers, np, entries); ++ STAILQ_INSERT_HEAD(¬ify->observers, np, entries); + + return true; + } + + /** + * notify_observer_remove - Remove an observer from an object +- * @param notify Notification handler +- * @param callback Function to call on a matching event, see ::observer_t +- * @param data Private data to match specific callback ++ * @param notify Notification handler ++ * @param callback Function to call on a matching event, see ::observer_t ++ * @param global_data Private data to match specific callback + * @retval true If successful + * + * If callback is NULL, all the observers will be removed. + */ +-bool notify_observer_remove(struct Notify *notify, observer_t callback, intptr_t data) ++bool notify_observer_remove(struct Notify *notify, observer_t callback, void *global_data) + { + if (!notify) + return false; +@@ -201,7 +192,8 @@ bool notify_observer_remove(struct Notify *notify, observer_t callback, intptr_t + struct ObserverNode *tmp = NULL; + STAILQ_FOREACH_SAFE(np, ¬ify->observers, entries, tmp) + { +- if (!callback || ((np->observer->callback == callback) && (np->observer->data == data))) ++ if (!callback || ((np->observer->callback == callback) && ++ (np->observer->global_data == global_data))) + { + STAILQ_REMOVE(¬ify->observers, np, ObserverNode, entries); + FREE(&np->observer); +diff --git a/mutt/notify.h b/mutt/notify.h +index a045527e1..439874019 100644 +--- a/mutt/notify.h ++++ b/mutt/notify.h +@@ -24,19 +24,17 @@ + #define MUTT_LIB_NOTIFY_H + + #include +-#include + #include "notify_type.h" + #include "observer.h" + + struct Notify; + +-struct Notify *notify_new(void *object, enum NotifyType type); ++struct Notify *notify_new(void); + void notify_free(struct Notify **ptr); + void notify_set_parent(struct Notify *notify, struct Notify *parent); + +-bool notify_send(struct Notify *notify, int type, int subtype, intptr_t data); +- +-bool notify_observer_add(struct Notify *notify, enum NotifyType type, int subtype, observer_t callback, intptr_t data); +-bool notify_observer_remove(struct Notify *notify, observer_t callback, intptr_t data); ++bool notify_send(struct Notify *notify, enum NotifyType event_type, int event_subtype, void *event_data); ++bool notify_observer_add(struct Notify *notify, observer_t callback, void *global_data); ++bool notify_observer_remove(struct Notify *notify, observer_t callback, void *global_data); + + #endif /* MUTT_LIB_NOTIFY_H */ +diff --git a/mutt/notify_type.h b/mutt/notify_type.h +index 00bcbddc4..15af9bce6 100644 +--- a/mutt/notify_type.h ++++ b/mutt/notify_type.h +@@ -28,16 +28,14 @@ + */ + enum NotifyType + { +- NT_NEOMUTT, ///< Container for all notifications +- NT_GLOBAL, ///< Not object-related +- NT_CONFIG, ///< Config has changed + NT_ACCOUNT, ///< Account has changed +- NT_MAILBOX, ///< Mailbox has changed +- NT_EMAIL, ///< Email has changed +- NT_WINDOW, ///< Window has changed +- NT_CONTEXT, ///< Context has changed + NT_COLOR, ///< Colour has changed + NT_COMMAND, ///< A Command has been executed ++ NT_CONFIG, ///< Config has changed ++ NT_CONTEXT, ///< Context has changed ++ NT_EMAIL, ///< Email has changed ++ NT_GLOBAL, ///< Not object-related ++ NT_MAILBOX, ///< Mailbox has changed + }; + + #endif /* MUTT_LIB_NOTIFY_TYPE_H */ +diff --git a/mutt/observer.h b/mutt/observer.h +index 6fe75fcc2..d1effde57 100644 +--- a/mutt/observer.h ++++ b/mutt/observer.h +@@ -30,7 +30,6 @@ + #define MUTT_LIB_OBSERVER_H + + #include +-#include + #include "notify_type.h" + #include "queue.h" + +@@ -39,36 +38,27 @@ + */ + struct NotifyCallback + { +- void *obj; ///< Notify: Event happened here +- int obj_type; ///< Notify: type of object event happened on +- int event_type; ///< Send: event type +- int event_subtype; ///< Send: event subtype +- intptr_t event; ///< Send: event data +- int flags; ///< Observer: determine event data +- intptr_t data; ///< Observer: private to observer ++ enum NotifyType event_type; ///< Send: Event type, e.g. #NT_ACCOUNT ++ int event_subtype; ///< Send: Event subtype, e.g. #NT_ACCOUNT_ADD ++ void *event_data; ///< Data from notify_send() ++ void *global_data; ///< Data from notify_observer_add() + }; + + /** + * typedef observer_t - Prototype for a notification callback function +- * @param[in] flags Flags, see #MuttFormatFlags ++ * @param[in] nc Callback data + * @retval 0 Success + * @retval -1 Error + */ + typedef int (*observer_t)(struct NotifyCallback *nc); + +-typedef uint8_t ObserverFlags; ///< Flags, e.g. #OBSERVE_RECURSIVE +-#define OBSERVE_NO_FLAGS 0 ///< No flags are set +-#define OBSERVE_RECURSIVE (1 << 0) ///< Listen for events of children +- + /** + * struct Observer - An observer of notifications + */ + struct Observer + { +- enum NotifyType type; ///< Object to observe to, e.g. #NT_NEOMUTT +- ObserverFlags flags; ///< Flags, e.g. #OBSERVE_RECURSIVE + observer_t callback; ///< Callback function for events +- intptr_t data; ///< Private data to pass to callback ++ void *global_data; ///< Private data to pass to callback + }; + + /** +diff --git a/mutt/path.c b/mutt/path.c +index bebbe589a..856a87cc6 100644 +--- a/mutt/path.c ++++ b/mutt/path.c +@@ -45,12 +45,13 @@ + + /** + * mutt_path_tidy_slash - Remove unnecessary slashes and dots +- * @param[in,out] buf Path to modify ++ * @param[in,out] buf Path to modify ++ * @param[in] is_dir Should a trailing / be removed? + * @retval true Success + * + * Collapse repeated '//' and '/./' + */ +-bool mutt_path_tidy_slash(char *buf) ++bool mutt_path_tidy_slash(char *buf, bool is_dir) + { + if (!buf) + return false; +@@ -86,7 +87,7 @@ bool mutt_path_tidy_slash(char *buf) + } + + /* Strip a trailing / as long as it's not the only character */ +- if ((w > (buf + 1)) && (w[-1] == '/')) ++ if (is_dir && (w > (buf + 1)) && (w[-1] == '/')) + w--; + + *w = '\0'; +@@ -156,16 +157,17 @@ bool mutt_path_tidy_dotdot(char *buf) + /** + * mutt_path_tidy - Remove unnecessary parts of a path + * @param[in,out] buf Path to modify ++ * @param[in] is_dir Is the path a directory? + * @retval true Success + * + * Remove unnecessary dots and slashes from a path + */ +-bool mutt_path_tidy(char *buf) ++bool mutt_path_tidy(char *buf, bool is_dir) + { + if (!buf || (buf[0] != '/')) + return false; + +- if (!mutt_path_tidy_slash(buf)) ++ if (!mutt_path_tidy_slash(buf, is_dir)) + return false; + + return mutt_path_tidy_dotdot(buf); +@@ -173,19 +175,20 @@ bool mutt_path_tidy(char *buf) + + /** + * mutt_path_pretty - Tidy a filesystem path +- * @param buf Path to modify +- * @param buflen Length of the buffer ++ * @param buf Path to modify ++ * @param buflen Length of the buffer + * @param homedir Home directory for '~' substitution ++ * @param is_dir Is the path a directory? + * @retval true Success + * + * Tidy a path and replace a home directory with '~' + */ +-bool mutt_path_pretty(char *buf, size_t buflen, const char *homedir) ++bool mutt_path_pretty(char *buf, size_t buflen, const char *homedir, bool is_dir) + { + if (!buf) + return false; + +- mutt_path_tidy(buf); ++ mutt_path_tidy(buf, is_dir); + + size_t len = mutt_str_startswith(buf, homedir, CASE_MATCH); + if (len == 0) +@@ -206,70 +209,89 @@ bool mutt_path_pretty(char *buf, size_t buflen, const char *homedir) + } + + /** +- * mutt_path_canon - Create the canonical version of a path ++ * mutt_path_tilde - Expand '~' in a path + * @param buf Path to modify + * @param buflen Length of the buffer + * @param homedir Home directory for '~' substitution + * @retval true Success + * +- * Remove unnecessary dots and slashes from a path and expand shell '~' +- * abbreviations: +- * - ~/dir (~ expanded) +- * - ~realuser/dir (~realuser expanded) +- * - ~nonuser/dir (~nonuser not changed) ++ * Behaviour: ++ * - `~/dir` (~ expanded) ++ * - `~realuser/dir` (~realuser expanded) ++ * - `~nonuser/dir` (~nonuser not changed) + */ +-bool mutt_path_canon(char *buf, size_t buflen, const char *homedir) ++bool mutt_path_tilde(char *buf, size_t buflen, const char *homedir) + { +- if (!buf) ++ if (!buf || (buf[0] != '~')) + return false; + + char result[PATH_MAX] = { 0 }; ++ char *dir = NULL; ++ size_t len = 0; + +- if (buf[0] == '~') ++ if ((buf[1] == '/') || (buf[1] == '\0')) + { +- char *dir = NULL; +- size_t len = 0; +- +- if ((buf[1] == '/') || (buf[1] == '\0')) ++ if (!homedir) + { +- if (!homedir) +- { +- mutt_debug(LL_DEBUG3, "no homedir\n"); +- return false; +- } +- +- len = mutt_str_strfcpy(result, homedir, sizeof(result)); +- dir = buf + 1; ++ mutt_debug(LL_DEBUG3, "no homedir\n"); ++ return false; + } +- else +- { +- char user[128]; +- dir = strchr(buf + 1, '/'); +- if (dir) +- mutt_str_strfcpy(user, buf + 1, MIN(dir - buf, (unsigned) sizeof(user))); +- else +- mutt_str_strfcpy(user, buf + 1, sizeof(user)); + +- struct passwd *pw = getpwnam(user); +- if (!pw || !pw->pw_dir) +- { +- mutt_debug(LL_DEBUG1, "no such user: %s\n", user); +- return false; +- } +- +- len = mutt_str_strfcpy(result, pw->pw_dir, sizeof(result)); +- } ++ len = mutt_str_strfcpy(result, homedir, sizeof(result)); ++ dir = buf + 1; ++ } ++ else ++ { ++ char user[128]; ++ dir = strchr(buf + 1, '/'); ++ if (dir) ++ mutt_str_strfcpy(user, buf + 1, MIN(dir - buf, (unsigned) sizeof(user))); ++ else ++ mutt_str_strfcpy(user, buf + 1, sizeof(user)); + +- size_t dirlen = mutt_str_strlen(dir); +- if ((len + dirlen) >= buflen) ++ struct passwd *pw = getpwnam(user); ++ if (!pw || !pw->pw_dir) + { +- mutt_debug(LL_DEBUG3, "result too big for the buffer %ld >= %ld\n", +- len + dirlen, buflen); ++ mutt_debug(LL_DEBUG1, "no such user: %s\n", user); + return false; + } + +- mutt_str_strfcpy(result + len, dir, sizeof(result) - len); +- mutt_str_strfcpy(buf, result, buflen); ++ len = mutt_str_strfcpy(result, pw->pw_dir, sizeof(result)); ++ } ++ ++ size_t dirlen = mutt_str_strlen(dir); ++ if ((len + dirlen) >= buflen) ++ { ++ mutt_debug(LL_DEBUG3, "result too big for the buffer %ld >= %ld\n", len + dirlen, buflen); ++ return false; ++ } ++ ++ mutt_str_strfcpy(result + len, dir, sizeof(result) - len); ++ mutt_str_strfcpy(buf, result, buflen); ++ ++ return true; ++} ++ ++/** ++ * mutt_path_canon - Create the canonical version of a path ++ * @param buf Path to modify ++ * @param buflen Length of the buffer ++ * @param homedir Home directory for '~' substitution ++ * @param is_dir Is the path a directory? ++ * @retval true Success ++ * ++ * Remove unnecessary dots and slashes from a path and expand '~'. ++ */ ++bool mutt_path_canon(char *buf, size_t buflen, const char *homedir, bool is_dir) ++{ ++ if (!buf) ++ return false; ++ ++ char result[PATH_MAX] = { 0 }; ++ ++ if (buf[0] == '~') ++ { ++ mutt_path_tilde(buf, buflen, homedir); + } + else if (buf[0] != '/') + { +@@ -293,7 +315,7 @@ bool mutt_path_canon(char *buf, size_t buflen, const char *homedir) + mutt_str_strfcpy(buf, result, buflen); + } + +- if (!mutt_path_tidy(buf)) ++ if (!mutt_path_tidy(buf, is_dir)) + return false; + + return true; +diff --git a/mutt/path.h b/mutt/path.h +index 5d4000e7c..3d0bb1888 100644 +--- a/mutt/path.h ++++ b/mutt/path.h +@@ -30,17 +30,18 @@ struct Buffer; + + bool mutt_path_abbr_folder(char *buf, size_t buflen, const char *folder); + const char *mutt_path_basename(const char *f); +-bool mutt_path_canon(char *buf, size_t buflen, const char *homedir); ++bool mutt_path_canon(char *buf, size_t buflen, const char *homedir, bool is_dir); + char * mutt_path_concat(char *d, const char *dir, const char *fname, size_t l); + char * mutt_path_dirname(const char *path); + char * mutt_path_escape(const char *src); + const char *mutt_path_getcwd(struct Buffer *cwd); + bool mutt_path_parent(char *buf, size_t buflen); +-bool mutt_path_pretty(char *buf, size_t buflen, const char *homedir); ++bool mutt_path_pretty(char *buf, size_t buflen, const char *homedir, bool is_dir); + size_t mutt_path_realpath(char *buf); +-bool mutt_path_tidy(char *buf); ++bool mutt_path_tidy(char *buf, bool is_dir); + bool mutt_path_tidy_dotdot(char *buf); +-bool mutt_path_tidy_slash(char *buf); ++bool mutt_path_tidy_slash(char *buf, bool is_dir); ++bool mutt_path_tilde(char *buf, size_t buflen, const char *homedir); + bool mutt_path_to_absolute(char *path, const char *reference); + + #endif /* MUTT_LIB_PATH_H */ +diff --git a/mutt/queue.h b/mutt/queue.h +index 91839e8fa..20e93b3fd 100644 +--- a/mutt/queue.h ++++ b/mutt/queue.h +@@ -1,4 +1,6 @@ + /*- ++ * SPDX-License-Identifier: BSD-3-Clause ++ * + * Copyright (c) 1991, 1993 + * The Regents of the University of California. All rights reserved. + * +@@ -27,11 +29,11 @@ + * SUCH DAMAGE. + * + * @(#)queue.h 8.5 (Berkeley) 8/20/94 +- * $FreeBSD: head/sys/sys/queue.h 314436 2017-02-28 23:42:47Z imp $ ++ * $FreeBSD: head/sys/sys/queue.h 349220 2019-06-20 01:15:33Z mav $ + */ + +-#ifndef SYS_QUEUE_H_ +-#define SYS_QUEUE_H_ ++#ifndef _SYS_QUEUE_H_ ++#define _SYS_QUEUE_H_ + + /* + * This file defines four types of data structures: singly-linked lists, +@@ -91,6 +93,7 @@ + * _NEXT + + + + + * _PREV - + - + + * _LAST - - + + ++ * _LAST_FAST - - - + + * _FOREACH + + + + + * _FOREACH_FROM + + + + + * _FOREACH_SAFE + + + + +@@ -150,19 +153,15 @@ struct qm_trace { + #endif /* QUEUE_MACRO_DEBUG_TRACE */ + + #ifdef QUEUE_MACRO_DEBUG_TRASH ++#define QMD_SAVELINK(name, link) void **name = (void *)&(link) + #define TRASHIT(x) do {(x) = (void *)-1;} while (0) + #define QMD_IS_TRASHED(x) ((x) == (void *)(intptr_t)-1) + #else /* !QUEUE_MACRO_DEBUG_TRASH */ ++#define QMD_SAVELINK(name, link) + #define TRASHIT(x) + #define QMD_IS_TRASHED(x) 0 + #endif /* QUEUE_MACRO_DEBUG_TRASH */ + +-#if defined(QUEUE_MACRO_DEBUG_TRACE) || defined(QUEUE_MACRO_DEBUG_TRASH) +-#define QMD_SAVELINK(name, link) void **name = (void *)&(link) +-#else /* !QUEUE_MACRO_DEBUG_TRACE && !QUEUE_MACRO_DEBUG_TRASH */ +-#define QMD_SAVELINK(name, link) +-#endif /* QUEUE_MACRO_DEBUG_TRACE || QUEUE_MACRO_DEBUG_TRASH */ +- + #ifdef __cplusplus + /* + * In C++ there can be structure lists and class lists: +@@ -813,11 +812,25 @@ struct { \ + #define TAILQ_LAST(head, headname) \ + (*(((struct headname *)((head)->tqh_last))->tqh_last)) + ++/* ++ * The FAST function is fast in that it causes no data access other ++ * then the access to the head. The standard LAST function above ++ * will cause a data access of both the element you want and ++ * the previous element. FAST is very useful for instances when ++ * you may want to prefetch the last data element. ++ */ ++#define TAILQ_LAST_FAST(head, type, field) \ ++ (TAILQ_EMPTY(head) ? NULL : __containerof((head)->tqh_last, QUEUE_TYPEOF(type), field.tqe_next)) ++ + #define TAILQ_NEXT(elm, field) ((elm)->field.tqe_next) + + #define TAILQ_PREV(elm, headname, field) \ + (*(((struct headname *)((elm)->field.tqe_prev))->tqh_last)) + ++#define TAILQ_PREV_FAST(elm, head, type, field) \ ++ ((elm)->field.tqe_prev == &(head)->tqh_first ? NULL : \ ++ __containerof((elm)->field.tqe_prev, QUEUE_TYPEOF(type), field.tqe_next)) ++ + #define TAILQ_REMOVE(head, elm, field) do { \ + QMD_SAVELINK(oldnext, (elm)->field.tqe_next); \ + QMD_SAVELINK(oldprev, (elm)->field.tqe_prev); \ +@@ -853,4 +866,4 @@ struct { \ + (head2)->tqh_last = &(head2)->tqh_first; \ + } while (0) + +-#endif /* !SYS_QUEUE_H_ */ ++#endif /* !_SYS_QUEUE_H_ */ +diff --git a/mutt/string.c b/mutt/string.c +index d98c28855..9258df9cf 100644 +--- a/mutt/string.c ++++ b/mutt/string.c +@@ -500,7 +500,7 @@ void mutt_str_adjust(char **p) + } + + /** +- * mutt_str_strlower - convert all characters in the string to lowercase ++ * mutt_str_strlower - Convert all characters in the string to lowercase + * @param s String to lowercase + * @retval ptr Lowercase string + * +@@ -522,6 +522,29 @@ char *mutt_str_strlower(char *s) + return s; + } + ++/** ++ * mutt_str_strnlower - Convert some characters in the string to lowercase ++ * @param str String to lowercase ++ * @param num Maximum number of characters to lowercase ++ * @retval ptr Lowercase string ++ * ++ * The string is transformed in place. ++ */ ++char *mutt_str_strnlower(char *str, size_t num) ++{ ++ if (!str) ++ return NULL; ++ ++ for (size_t i = 0; i < num; i++) ++ { ++ if (str[i] == '\0') ++ break; ++ str[i] = tolower((unsigned char) str[i]); ++ } ++ ++ return str; ++} ++ + /** + * mutt_str_strchrnul - Find first occurrence of character in string + * @param s Haystack +diff --git a/mutt/string2.h b/mutt/string2.h +index 19249f026..64aa8c2ae 100644 +--- a/mutt/string2.h ++++ b/mutt/string2.h +@@ -104,6 +104,7 @@ size_t mutt_str_strfcpy(char *dest, const char *src, size_t dsize); + const char *mutt_str_stristr(const char *haystack, const char *needle); + size_t mutt_str_strlen(const char *a); + char * mutt_str_strlower(char *s); ++char * mutt_str_strnlower(char *str, size_t num); + int mutt_str_strncasecmp(const char *a, const char *b, size_t l); + char * mutt_str_strncat(char *d, size_t l, const char *s, size_t sl); + int mutt_str_strncmp(const char *a, const char *b, size_t l); +diff --git a/mutt_account.c b/mutt_account.c +index 2789c1bd7..5d5a5f9f1 100644 +--- a/mutt_account.c ++++ b/mutt_account.c +@@ -28,106 +28,40 @@ + + #include "config.h" + #include +-#include +-#include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "email/lib.h" +-#include "conn/conn.h" +-#include "mutt.h" ++#include "conn/lib.h" + #include "mutt_account.h" +-#include "curs_lib.h" +-#include "filter.h" +-#include "globals.h" +-#include "options.h" +- +-/* These Config Variables are only used in mutt_account.c */ +-char *C_ImapLogin; ///< Config: (imap) Login name for the IMAP server (defaults to #C_ImapUser) +-char *C_ImapOauthRefreshCommand; ///< Config: (imap) External command to generate OAUTH refresh token +-char *C_ImapPass; ///< Config: (imap) Password for the IMAP server +-char *C_NntpPass; ///< Config: (nntp) Password for the news server +-char *C_NntpUser; ///< Config: (nntp) Username for the news server +-char *C_PopOauthRefreshCommand; ///< Config: (pop) External command to generate OAUTH refresh token +-char *C_PopPass; ///< Config: (pop) Password of the POP server +-char *C_PopUser; ///< Config: (pop) Username of the POP server +-char *C_SmtpOauthRefreshCommand; ///< Config: (smtp) External command to generate OAUTH refresh token +-char *C_SmtpPass; ///< Config: (smtp) Password for the SMTP server +- +-/** +- * mutt_account_match - Compare account info (host/port/user) +- * @param a1 First ConnAccount +- * @param a2 Second ConnAccount +- * @retval true Accounts match +- */ +-bool mutt_account_match(const struct ConnAccount *a1, const struct ConnAccount *a2) +-{ +- if (a1->type != a2->type) +- return false; +- if (mutt_str_strcasecmp(a1->host, a2->host) != 0) +- return false; +- if (a1->port != a2->port) +- return false; +- if (a1->flags & a2->flags & MUTT_ACCT_USER) +- return strcmp(a1->user, a2->user) == 0; +- +-#ifdef USE_NNTP +- if (a1->type == MUTT_ACCT_TYPE_NNTP) +- return (a1->flags & MUTT_ACCT_USER) && (a1->user[0] != '\0') ? false : true; +-#endif +- +- const char *user = NONULL(Username); +- +-#ifdef USE_IMAP +- if ((a1->type == MUTT_ACCT_TYPE_IMAP) && C_ImapUser) +- user = C_ImapUser; +-#endif +- +-#ifdef USE_POP +- if ((a1->type == MUTT_ACCT_TYPE_POP) && C_PopUser) +- user = C_PopUser; +-#endif +- +-#ifdef USE_NNTP +- if ((a1->type == MUTT_ACCT_TYPE_NNTP) && C_NntpUser) +- user = C_NntpUser; +-#endif +- +- if (a1->flags & MUTT_ACCT_USER) +- return strcmp(a1->user, user) == 0; +- if (a2->flags & MUTT_ACCT_USER) +- return strcmp(a2->user, user) == 0; +- +- return true; +-} + + /** + * mutt_account_fromurl - Fill ConnAccount with information from url +- * @param account ConnAccount to fill +- * @param url Url to parse ++ * @param cac ConnAccount to fill ++ * @param url Url to parse + * @retval 0 Success + * @retval -1 Error + */ +-int mutt_account_fromurl(struct ConnAccount *account, const struct Url *url) ++int mutt_account_fromurl(struct ConnAccount *cac, const struct Url *url) + { + /* must be present */ + if (url->host) +- mutt_str_strfcpy(account->host, url->host, sizeof(account->host)); ++ mutt_str_strfcpy(cac->host, url->host, sizeof(cac->host)); + else + return -1; + + if (url->user) + { +- mutt_str_strfcpy(account->user, url->user, sizeof(account->user)); +- account->flags |= MUTT_ACCT_USER; ++ mutt_str_strfcpy(cac->user, url->user, sizeof(cac->user)); ++ cac->flags |= MUTT_ACCT_USER; + } + if (url->pass) + { +- mutt_str_strfcpy(account->pass, url->pass, sizeof(account->pass)); +- account->flags |= MUTT_ACCT_PASS; ++ mutt_str_strfcpy(cac->pass, url->pass, sizeof(cac->pass)); ++ cac->flags |= MUTT_ACCT_PASS; + } + if (url->port) + { +- account->port = url->port; +- account->flags |= MUTT_ACCT_PORT; ++ cac->port = url->port; ++ cac->flags |= MUTT_ACCT_PORT; + } + + return 0; +@@ -135,14 +69,14 @@ int mutt_account_fromurl(struct ConnAccount *account, const struct Url *url) + + /** + * mutt_account_tourl - Fill URL with info from account +- * @param account Source ConnAccount +- * @param url Url to fill ++ * @param cac Source ConnAccount ++ * @param url Url to fill + * +- * The URL information is a set of pointers into account - don't free or edit +- * account until you've finished with url (make a copy of account if you need +- * it for a while). ++ * The URL information is a set of pointers into cac - don't free or edit cac ++ * until you've finished with url (make a copy of cac if you need it for a ++ * while). + */ +-void mutt_account_tourl(struct ConnAccount *account, struct Url *url) ++void mutt_account_tourl(struct ConnAccount *cac, struct Url *url) + { + url->scheme = U_UNKNOWN; + url->user = NULL; +@@ -151,9 +85,9 @@ void mutt_account_tourl(struct ConnAccount *account, struct Url *url) + url->path = NULL; + + #ifdef USE_IMAP +- if (account->type == MUTT_ACCT_TYPE_IMAP) ++ if (cac->type == MUTT_ACCT_TYPE_IMAP) + { +- if (account->flags & MUTT_ACCT_SSL) ++ if (cac->flags & MUTT_ACCT_SSL) + url->scheme = U_IMAPS; + else + url->scheme = U_IMAP; +@@ -161,9 +95,9 @@ void mutt_account_tourl(struct ConnAccount *account, struct Url *url) + #endif + + #ifdef USE_POP +- if (account->type == MUTT_ACCT_TYPE_POP) ++ if (cac->type == MUTT_ACCT_TYPE_POP) + { +- if (account->flags & MUTT_ACCT_SSL) ++ if (cac->flags & MUTT_ACCT_SSL) + url->scheme = U_POPS; + else + url->scheme = U_POP; +@@ -171,9 +105,9 @@ void mutt_account_tourl(struct ConnAccount *account, struct Url *url) + #endif + + #ifdef USE_SMTP +- if (account->type == MUTT_ACCT_TYPE_SMTP) ++ if (cac->type == MUTT_ACCT_TYPE_SMTP) + { +- if (account->flags & MUTT_ACCT_SSL) ++ if (cac->flags & MUTT_ACCT_SSL) + url->scheme = U_SMTPS; + else + url->scheme = U_SMTP; +@@ -181,239 +115,20 @@ void mutt_account_tourl(struct ConnAccount *account, struct Url *url) + #endif + + #ifdef USE_NNTP +- if (account->type == MUTT_ACCT_TYPE_NNTP) ++ if (cac->type == MUTT_ACCT_TYPE_NNTP) + { +- if (account->flags & MUTT_ACCT_SSL) ++ if (cac->flags & MUTT_ACCT_SSL) + url->scheme = U_NNTPS; + else + url->scheme = U_NNTP; + } + #endif + +- url->host = account->host; +- if (account->flags & MUTT_ACCT_PORT) +- url->port = account->port; +- if (account->flags & MUTT_ACCT_USER) +- url->user = account->user; +- if (account->flags & MUTT_ACCT_PASS) +- url->pass = account->pass; +-} +- +-/** +- * mutt_account_getuser - Retrieve username into ConnAccount, if necessary +- * @param account ConnAccount to fill +- * @retval 0 Success +- * @retval -1 Failure +- */ +-int mutt_account_getuser(struct ConnAccount *account) +-{ +- char prompt[256]; +- +- /* already set */ +- if (account->flags & MUTT_ACCT_USER) +- return 0; +-#ifdef USE_IMAP +- else if ((account->type == MUTT_ACCT_TYPE_IMAP) && C_ImapUser) +- mutt_str_strfcpy(account->user, C_ImapUser, sizeof(account->user)); +-#endif +-#ifdef USE_POP +- else if ((account->type == MUTT_ACCT_TYPE_POP) && C_PopUser) +- mutt_str_strfcpy(account->user, C_PopUser, sizeof(account->user)); +-#endif +-#ifdef USE_NNTP +- else if ((account->type == MUTT_ACCT_TYPE_NNTP) && C_NntpUser) +- mutt_str_strfcpy(account->user, C_NntpUser, sizeof(account->user)); +-#endif +- else if (OptNoCurses) +- return -1; +- /* prompt (defaults to unix username), copy into account->user */ +- else +- { +- /* L10N: Example: Username at myhost.com */ +- snprintf(prompt, sizeof(prompt), _("Username at %s: "), account->host); +- mutt_str_strfcpy(account->user, Username, sizeof(account->user)); +- if (mutt_get_field_unbuffered(prompt, account->user, sizeof(account->user), MUTT_COMP_NO_FLAGS)) +- return -1; +- } +- +- account->flags |= MUTT_ACCT_USER; +- +- return 0; +-} +- +-/** +- * mutt_account_getlogin - Retrieve login info into ConnAccount, if necessary +- * @param account ConnAccount to fill +- * @retval 0 Success +- * @retval -1 Failure +- */ +-int mutt_account_getlogin(struct ConnAccount *account) +-{ +- /* already set */ +- if (account->flags & MUTT_ACCT_LOGIN) +- return 0; +-#ifdef USE_IMAP +- if (account->type == MUTT_ACCT_TYPE_IMAP) +- { +- if (C_ImapLogin) +- { +- mutt_str_strfcpy(account->login, C_ImapLogin, sizeof(account->login)); +- account->flags |= MUTT_ACCT_LOGIN; +- } +- } +-#endif +- +- if (!(account->flags & MUTT_ACCT_LOGIN)) +- { +- if (mutt_account_getuser(account) == 0) +- { +- mutt_str_strfcpy(account->login, account->user, sizeof(account->login)); +- account->flags |= MUTT_ACCT_LOGIN; +- } +- else +- { +- mutt_debug(LL_DEBUG1, "Couldn't get user info\n"); +- return -1; +- } +- } +- +- return 0; +-} +- +-/** +- * mutt_account_getpass - Fetch password into ConnAccount, if necessary +- * @param account ConnAccount to fill +- * @retval 0 Success +- * @retval -1 Failure +- */ +-int mutt_account_getpass(struct ConnAccount *account) +-{ +- char prompt[256]; +- +- if (account->flags & MUTT_ACCT_PASS) +- return 0; +-#ifdef USE_IMAP +- else if ((account->type == MUTT_ACCT_TYPE_IMAP) && C_ImapPass) +- mutt_str_strfcpy(account->pass, C_ImapPass, sizeof(account->pass)); +-#endif +-#ifdef USE_POP +- else if ((account->type == MUTT_ACCT_TYPE_POP) && C_PopPass) +- mutt_str_strfcpy(account->pass, C_PopPass, sizeof(account->pass)); +-#endif +-#ifdef USE_SMTP +- else if ((account->type == MUTT_ACCT_TYPE_SMTP) && C_SmtpPass) +- mutt_str_strfcpy(account->pass, C_SmtpPass, sizeof(account->pass)); +-#endif +-#ifdef USE_NNTP +- else if ((account->type == MUTT_ACCT_TYPE_NNTP) && C_NntpPass) +- mutt_str_strfcpy(account->pass, C_NntpPass, sizeof(account->pass)); +-#endif +- else if (OptNoCurses) +- return -1; +- else +- { +- snprintf(prompt, sizeof(prompt), _("Password for %s@%s: "), +- (account->flags & MUTT_ACCT_LOGIN) ? account->login : account->user, +- account->host); +- account->pass[0] = '\0'; +- if (mutt_get_password(prompt, account->pass, sizeof(account->pass))) +- return -1; +- } +- +- account->flags |= MUTT_ACCT_PASS; +- +- return 0; +-} +- +-/** +- * mutt_account_unsetpass - Unset ConnAccount's password +- * @param account ConnAccount to modify +- */ +-void mutt_account_unsetpass(struct ConnAccount *account) +-{ +- account->flags &= ~MUTT_ACCT_PASS; +-} +- +-/** +- * mutt_account_getoauthbearer - Get an OAUTHBEARER token +- * @param account Account to use +- * @retval ptr OAuth token +- * @retval NULL Error +- * +- * Run an external command to generate the oauth refresh token for an account, +- * then create and encode the OAUTHBEARER token based on RFC7628. +- * +- * @note Caller should free the token +- */ +-char *mutt_account_getoauthbearer(struct ConnAccount *account) +-{ +- FILE *fp = NULL; +- char *cmd = NULL; +- char *token = NULL; +- size_t token_size = 0; +- char *oauthbearer = NULL; +- size_t oalen; +- char *encoded_token = NULL; +- size_t encoded_len; +- pid_t pid; +- +- /* The oauthbearer token includes the login */ +- if (mutt_account_getlogin(account)) +- return NULL; +- +-#ifdef USE_IMAP +- if ((account->type == MUTT_ACCT_TYPE_IMAP) && C_ImapOauthRefreshCommand) +- cmd = C_ImapOauthRefreshCommand; +-#endif +-#ifdef USE_POP +- else if ((account->type == MUTT_ACCT_TYPE_POP) && C_PopOauthRefreshCommand) +- cmd = C_PopOauthRefreshCommand; +-#endif +-#ifdef USE_SMTP +- else if ((account->type == MUTT_ACCT_TYPE_SMTP) && C_SmtpOauthRefreshCommand) +- cmd = C_SmtpOauthRefreshCommand; +-#endif +- +- if (!cmd) +- { +- /* L10N: You will see this error message if (1) you have "oauthbearer" in +- one of your $*_authenticators and (2) you do not have the corresponding +- $*_oauth_refresh_command defined. So the message does not mean "None of +- your $*_oauth_refresh_command's are defined." */ +- mutt_error(_("No OAUTH refresh command defined")); +- return NULL; +- } +- +- pid = mutt_create_filter(cmd, NULL, &fp, NULL); +- if (pid < 0) +- { +- mutt_perror(_("Unable to run refresh command")); +- return NULL; +- } +- +- token = mutt_file_read_line(NULL, &token_size, fp, NULL, 0); +- mutt_file_fclose(&fp); +- mutt_wait_filter(pid); +- +- if (!token || (*token == '\0')) +- { +- mutt_error(_("Command returned empty string")); +- FREE(&token); +- return NULL; +- } +- +- /* Determine the length of the keyed message digest, add 50 for overhead. */ +- oalen = strlen(account->login) + strlen(account->host) + strlen(token) + 50; +- oauthbearer = mutt_mem_malloc(oalen); +- +- snprintf(oauthbearer, oalen, "n,a=%s,\001host=%s\001port=%d\001auth=Bearer %s\001\001", +- account->login, account->host, account->port, token); +- +- FREE(&token); +- +- encoded_len = strlen(oauthbearer) * 4 / 3 + 10; +- encoded_token = mutt_mem_malloc(encoded_len); +- mutt_b64_encode(oauthbearer, strlen(oauthbearer), encoded_token, encoded_len); +- FREE(&oauthbearer); +- return encoded_token; ++ url->host = cac->host; ++ if (cac->flags & MUTT_ACCT_PORT) ++ url->port = cac->port; ++ if (cac->flags & MUTT_ACCT_USER) ++ url->user = cac->user; ++ if (cac->flags & MUTT_ACCT_PASS) ++ url->pass = cac->pass; + } +diff --git a/mutt_account.h b/mutt_account.h +index 6e63c3bd9..4362e0f0b 100644 +--- a/mutt_account.h ++++ b/mutt_account.h +@@ -25,24 +25,9 @@ + #ifndef MUTT_MUTT_ACCOUNT_H + #define MUTT_MUTT_ACCOUNT_H + +-#include +-#include +- + struct ConnAccount; + struct Url; + +-/* These Config Variables are only used in mutt_account.c */ +-extern char *C_ImapLogin; +-extern char *C_ImapOauthRefreshCommand; +-extern char *C_ImapPass; +-extern char *C_NntpPass; +-extern char *C_NntpUser; +-extern char *C_PopOauthRefreshCommand; +-extern char *C_PopPass; +-extern char *C_PopUser; +-extern char *C_SmtpOauthRefreshCommand; +-extern char *C_SmtpPass; +- + /** + * enum AccountType - account types + */ +@@ -55,21 +40,7 @@ enum AccountType + MUTT_ACCT_TYPE_NNTP, ///< Nntp (Usenet) Account + }; + +-typedef uint8_t MuttAccountFlags; ///< Flags, Which ConnAccount fields are initialised, e.g. #MUTT_ACCT_PORT +-#define MUTT_ACCT_NO_FLAGS 0 ///< No flags are set +-#define MUTT_ACCT_PORT (1 << 0) ///< Port field has been set +-#define MUTT_ACCT_USER (1 << 1) ///< User field has been set +-#define MUTT_ACCT_LOGIN (1 << 2) ///< Login field has been set +-#define MUTT_ACCT_PASS (1 << 3) ///< Password field has been set +-#define MUTT_ACCT_SSL (1 << 4) ///< Account uses SSL/TLS +- +-bool mutt_account_match(const struct ConnAccount *a1, const struct ConnAccount *a2); +-int mutt_account_fromurl(struct ConnAccount *account, const struct Url *url); +-void mutt_account_tourl(struct ConnAccount *account, struct Url *url); +-int mutt_account_getuser(struct ConnAccount *account); +-int mutt_account_getlogin(struct ConnAccount *account); +-int mutt_account_getpass(struct ConnAccount *account); +-void mutt_account_unsetpass(struct ConnAccount *account); +-char *mutt_account_getoauthbearer(struct ConnAccount *account); ++int mutt_account_fromurl(struct ConnAccount *account, const struct Url *url); ++void mutt_account_tourl (struct ConnAccount *account, struct Url *url); + + #endif /* MUTT_MUTT_ACCOUNT_H */ +diff --git a/mutt_attach.c b/mutt_attach.c +index 5333f6e4c..d8f51968c 100644 +--- a/mutt_attach.c ++++ b/mutt_attach.c +@@ -34,28 +34,30 @@ + #include + #include + #include ++#include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "config/lib.h" + #include "email/lib.h" + #include "core/lib.h" ++#include "gui/lib.h" + #include "mutt_attach.h" + #include "context.h" + #include "copy.h" +-#include "curs_lib.h" +-#include "filter.h" + #include "globals.h" + #include "handler.h" + #include "mailcap.h" +-#include "mutt_window.h" + #include "muttlib.h" + #include "mx.h" +-#include "ncrypt/ncrypt.h" + #include "options.h" + #include "pager.h" + #include "protos.h" + #include "sendlib.h" + #include "state.h" ++#include "ncrypt/lib.h" ++#ifdef USE_IMAP ++#include "imap/lib.h" ++#endif + + /** + * mutt_get_tmp_attachment - Get a temporary copy of an attachment +@@ -365,6 +367,33 @@ void mutt_check_lookup_list(struct Body *b, char *type, size_t len) + } + } + ++/** ++ * wait_interactive_filter - Wait after an interactive filter ++ * @param pid Process id of the process to wait for ++ * @retval num Exit status of the process identified by pid ++ * @retval -1 Error ++ * ++ * This is used for filters that are actually interactive commands ++ * with input piped in: e.g. in mutt_view_attachment(), a mailcap ++ * entry without copiousoutput _and_ without a %s. ++ * ++ * For those cases, we treat it like a blocking system command, and ++ * poll IMAP to keep connections open. ++ */ ++static int wait_interactive_filter(pid_t pid) ++{ ++ int rc; ++ ++#ifdef USE_IMAP ++ rc = imap_wait_keepalive(pid); ++#else ++ waitpid(pid, &rc, 0); ++#endif ++ mutt_sig_unblock_system(true); ++ rc = WIFEXITED(rc) ? WEXITSTATUS(rc) : -1; ++ ++ return rc; ++} + /** + * mutt_view_attachment - View an attachment + * @param fp Source file stream. Can be NULL +@@ -412,7 +441,7 @@ int mutt_view_attachment(FILE *fp, struct Body *a, enum ViewAttachMode mode, + snprintf(type, sizeof(type), "%s/%s", TYPE(a), a->subtype); + + char columns[16]; +- snprintf(columns, sizeof(columns), "%d", win->cols); ++ snprintf(columns, sizeof(columns), "%d", win->state.cols); + mutt_envlist_set("COLUMNS", columns, true); + + if (use_mailcap) +@@ -512,9 +541,8 @@ int mutt_view_attachment(FILE *fp, struct Body *a, enum ViewAttachMode mode, + goto return_error; + } + +- pid = mutt_create_filter_fd(mutt_b2s(cmd), NULL, NULL, NULL, +- use_pipe ? fd_temp : -1, +- use_pager ? fd_pager : -1, -1); ++ pid = filter_create_fd(mutt_b2s(cmd), NULL, NULL, NULL, ++ use_pipe ? fd_temp : -1, use_pager ? fd_pager : -1, -1); + + if (pid == -1) + { +@@ -540,10 +568,13 @@ int mutt_view_attachment(FILE *fp, struct Body *a, enum ViewAttachMode mode, + snprintf(desc, sizeof(desc), _("---Command: %-30.30s Attachment: %s"), + mutt_b2s(cmd), type); + } ++ filter_wait(pid); ++ } ++ else ++ { ++ if (wait_interactive_filter(pid) || (entry->needsterminal && C_WaitKey)) ++ mutt_any_key_to_continue(NULL); + } +- +- if ((mutt_wait_filter(pid) || (entry->needsterminal && C_WaitKey)) && !use_pager) +- mutt_any_key_to_continue(NULL); + + if (fd_temp != -1) + close(fd_temp); +@@ -588,8 +619,10 @@ int mutt_view_attachment(FILE *fp, struct Body *a, enum ViewAttachMode mode, + decode_state.flags = MUTT_CHARCONV; + mutt_decode_attachment(a, &decode_state); + if (mutt_file_fclose(&decode_state.fp_out) == EOF) ++ { + mutt_debug(LL_DEBUG1, "fclose(%s) errno=%d %s\n", mutt_b2s(pagerfile), + errno, strerror(errno)); ++ } + } + else + { +@@ -705,9 +738,9 @@ int mutt_pipe_attachment(FILE *fp, struct Body *b, const char *path, char *outfi + s.flags = MUTT_CHARCONV; + + if (outfile && *outfile) +- pid = mutt_create_filter_fd(path, &s.fp_out, NULL, NULL, -1, out, -1); ++ pid = filter_create_fd(path, &s.fp_out, NULL, NULL, -1, out, -1); + else +- pid = mutt_create_filter(path, &s.fp_out, NULL, NULL); ++ pid = filter_create(path, &s.fp_out, NULL, NULL); + + if (pid < 0) + { +@@ -736,9 +769,9 @@ int mutt_pipe_attachment(FILE *fp, struct Body *b, const char *path, char *outfi + + FILE *fp_out = NULL; + if (outfile && *outfile) +- pid = mutt_create_filter_fd(path, &fp_out, NULL, NULL, -1, out, -1); ++ pid = filter_create_fd(path, &fp_out, NULL, NULL, -1, out, -1); + else +- pid = mutt_create_filter(path, &fp_out, NULL, NULL); ++ pid = filter_create(path, &fp_out, NULL, NULL); + + if (pid < 0) + { +@@ -760,7 +793,7 @@ int mutt_pipe_attachment(FILE *fp, struct Body *b, const char *path, char *outfi + close(out); + + /* check for error exit from child process */ +- if (mutt_wait_filter(pid) != 0) ++ if (filter_wait(pid) != 0) + rc = 0; + + if ((rc == 0) || C_WaitKey) +@@ -1081,7 +1114,7 @@ int mutt_print_attachment(FILE *fp, struct Body *a) + goto mailcap_cleanup; + } + +- pid = mutt_create_filter(mutt_b2s(cmd), &fp_out, NULL, NULL); ++ pid = filter_create(mutt_b2s(cmd), &fp_out, NULL, NULL); + if (pid < 0) + { + mutt_perror(_("Can't create filter")); +@@ -1092,7 +1125,7 @@ int mutt_print_attachment(FILE *fp, struct Body *a) + mutt_file_copy_stream(fp_in, fp_out); + mutt_file_fclose(&fp_out); + mutt_file_fclose(&fp_in); +- if (mutt_wait_filter(pid) || C_WaitKey) ++ if (filter_wait(pid) || C_WaitKey) + mutt_any_key_to_continue(NULL); + } + else +@@ -1146,7 +1179,7 @@ int mutt_print_attachment(FILE *fp, struct Body *a) + mutt_debug(LL_DEBUG2, "successfully opened %s read-only\n", mutt_b2s(newfile)); + + mutt_endwin(); +- pid = mutt_create_filter(NONULL(C_PrintCommand), &fp_out, NULL, NULL); ++ pid = filter_create(NONULL(C_PrintCommand), &fp_out, NULL, NULL); + if (pid < 0) + { + mutt_perror(_("Can't create filter")); +@@ -1160,7 +1193,7 @@ int mutt_print_attachment(FILE *fp, struct Body *a) + mutt_file_fclose(&fp_out); + mutt_file_fclose(&fp_in); + +- if ((mutt_wait_filter(pid) != 0) || C_WaitKey) ++ if ((filter_wait(pid) != 0) || C_WaitKey) + mutt_any_key_to_continue(NULL); + rc = 1; + } +diff --git a/mutt_body.c b/mutt_body.c +index 66f54578c..98c21ff3c 100644 +--- a/mutt_body.c ++++ b/mutt_body.c +@@ -30,7 +30,7 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "email/lib.h" + #include "mutt_body.h" + #include "mutt_attach.h" +diff --git a/mutt_commands.c b/mutt_commands.c +new file mode 100644 +index 000000000..a1b666c28 +--- /dev/null ++++ b/mutt_commands.c +@@ -0,0 +1,161 @@ ++/** ++ * @file ++ * Definitions of NeoMutt commands ++ * ++ * @authors ++ * Copyright (C) 1996-2002,2007,2010,2012-2013,2016 Michael R. Elkins ++ * Copyright (C) 2004 g10 Code GmbH ++ * ++ * @copyright ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 2 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ ++/** ++ * @page mutt_commands Definitions of NeoMutt commands ++ * ++ * Definitions of NeoMutt commands ++ */ ++ ++#include "config.h" ++#include ++#include "address/lib.h" ++#include "config/lib.h" ++#include "email/lib.h" ++#include "gui/lib.h" ++#include "mutt.h" ++#include "mutt_commands.h" ++#include "command_parse.h" ++#include "globals.h" ++#include "hook.h" ++#include "keymap.h" ++#include "mutt_lua.h" ++#include "score.h" ++ ++// clang-format off ++const struct Command Commands[] = { ++#ifdef USE_SOCKET ++ { "account-hook", mutt_parse_hook, MUTT_ACCOUNT_HOOK }, ++#endif ++ { "alias", parse_alias, 0 }, ++ { "alternates", parse_alternates, 0 }, ++ { "alternative_order", parse_stailq, IP &AlternativeOrderList }, ++#ifdef USE_COMPRESSED ++ { "append-hook", mutt_parse_hook, MUTT_APPEND_HOOK }, ++#endif ++ { "attachments", parse_attachments, 0 }, ++ { "auto_view", parse_stailq, IP &AutoViewList }, ++ { "bind", mutt_parse_bind, 0 }, ++ { "charset-hook", mutt_parse_hook, MUTT_CHARSET_HOOK }, ++#ifdef USE_COMPRESSED ++ { "close-hook", mutt_parse_hook, MUTT_CLOSE_HOOK }, ++#endif ++#ifdef HAVE_COLOR ++ { "color", mutt_parse_color, IP &Colors }, ++#endif ++ { "crypt-hook", mutt_parse_hook, MUTT_CRYPT_HOOK }, ++ { "echo", parse_echo, 0 }, ++ { "exec", mutt_parse_exec, 0 }, ++ { "fcc-hook", mutt_parse_hook, MUTT_FCC_HOOK }, ++ { "fcc-save-hook", mutt_parse_hook, MUTT_FCC_HOOK | MUTT_SAVE_HOOK }, ++ { "finish", parse_finish, 0 }, ++ { "folder-hook", mutt_parse_hook, MUTT_FOLDER_HOOK }, ++ { "group", parse_group, MUTT_GROUP }, ++ { "hdr_order", parse_stailq, IP &HeaderOrderList }, ++ { "iconv-hook", mutt_parse_hook, MUTT_ICONV_HOOK }, ++ { "ifdef", parse_ifdef, 0 }, ++ { "ifndef", parse_ifdef, 1 }, ++ { "ignore", parse_ignore, 0 }, ++ { "index-format-hook", mutt_parse_idxfmt_hook, MUTT_IDXFMTHOOK }, ++ { "lists", parse_lists, 0 }, ++#ifdef USE_LUA ++ { "lua", mutt_lua_parse, 0 }, ++ { "lua-source", mutt_lua_source_file, 0 }, ++#endif ++ { "macro", mutt_parse_macro, 0 }, ++ { "mailboxes", parse_mailboxes, 0 }, ++ { "mailto_allow", parse_stailq, IP &MailToAllow }, ++ { "mbox-hook", mutt_parse_hook, MUTT_MBOX_HOOK }, ++ { "message-hook", mutt_parse_hook, MUTT_MESSAGE_HOOK }, ++ { "mime_lookup", parse_stailq, IP &MimeLookupList }, ++ { "mono", mutt_parse_mono, IP &Colors }, ++ { "my_hdr", parse_my_hdr, 0 }, ++ { "named-mailboxes", parse_mailboxes, MUTT_NAMED }, ++ { "nospam", parse_spam_list, MUTT_NOSPAM }, ++#ifdef USE_COMPRESSED ++ { "open-hook", mutt_parse_hook, MUTT_OPEN_HOOK }, ++#endif ++ { "pgp-hook", mutt_parse_hook, MUTT_CRYPT_HOOK }, ++ { "push", mutt_parse_push, 0 }, ++ { "reply-hook", mutt_parse_hook, MUTT_REPLY_HOOK }, ++ { "reset", parse_set, MUTT_SET_RESET }, ++ { "save-hook", mutt_parse_hook, MUTT_SAVE_HOOK }, ++ { "score", mutt_parse_score, 0 }, ++ { "send-hook", mutt_parse_hook, MUTT_SEND_HOOK }, ++ { "send2-hook", mutt_parse_hook, MUTT_SEND2_HOOK }, ++ { "set", parse_set, MUTT_SET_SET }, ++ { "setenv", parse_setenv, MUTT_SET_SET }, ++ { "shutdown-hook", mutt_parse_hook, MUTT_SHUTDOWN_HOOK | MUTT_GLOBAL_HOOK }, ++#ifdef USE_SIDEBAR ++ { "sidebar_whitelist", parse_path_list, IP &SidebarWhitelist }, ++#endif ++ { "source", parse_source, 0 }, ++ { "spam", parse_spam_list, MUTT_SPAM }, ++ { "startup-hook", mutt_parse_hook, MUTT_STARTUP_HOOK | MUTT_GLOBAL_HOOK }, ++ { "subjectrx", parse_subjectrx_list, IP &SubjectRegexList }, ++ { "subscribe", parse_subscribe, 0 }, ++#ifdef USE_IMAP ++ { "subscribe-to", parse_subscribe_to, 0 }, ++#endif ++ { "tag-formats", parse_tag_formats, 0 }, ++ { "tag-transforms", parse_tag_transforms, 0 }, ++ { "timeout-hook", mutt_parse_hook, MUTT_TIMEOUT_HOOK | MUTT_GLOBAL_HOOK }, ++ { "toggle", parse_set, MUTT_SET_INV }, ++ { "unalias", parse_unalias, 0 }, ++ { "unalternates", parse_unalternates, 0 }, ++ { "unalternative_order", parse_unstailq, IP &AlternativeOrderList }, ++ { "unattachments", parse_unattachments, 0 }, ++ { "unauto_view", parse_unstailq, IP &AutoViewList }, ++ { "unbind", mutt_parse_unbind, MUTT_UNBIND }, ++#ifdef HAVE_COLOR ++ { "uncolor", mutt_parse_uncolor, IP &Colors }, ++#endif ++ { "ungroup", parse_group, MUTT_UNGROUP }, ++ { "unhdr_order", parse_unstailq, IP &HeaderOrderList }, ++ { "unhook", mutt_parse_unhook, 0 }, ++ { "unignore", parse_unignore, 0 }, ++ { "unlists", parse_unlists, 0 }, ++ { "unmacro", mutt_parse_unbind, MUTT_UNMACRO }, ++ { "unmailboxes", parse_unmailboxes, 0 }, ++ { "unmailto_allow", parse_unstailq, IP &MailToAllow }, ++ { "unmime_lookup", parse_unstailq, IP &MimeLookupList }, ++ { "unmono", mutt_parse_unmono, IP &Colors }, ++ { "unmy_hdr", parse_unmy_hdr, 0 }, ++ { "unscore", mutt_parse_unscore, 0 }, ++ { "unset", parse_set, MUTT_SET_UNSET }, ++ { "unsetenv", parse_setenv, MUTT_SET_UNSET }, ++#ifdef USE_SIDEBAR ++ { "unsidebar_whitelist", parse_path_unlist, IP &SidebarWhitelist }, ++#endif ++ { "unsubjectrx", parse_unsubjectrx_list, IP &SubjectRegexList }, ++ { "unsubscribe", parse_unsubscribe, 0 }, ++#ifdef USE_IMAP ++ { "unsubscribe-from", parse_unsubscribe_from, 0 }, ++#endif ++#ifdef USE_NOTMUCH ++ { "unvirtual-mailboxes", parse_unmailboxes, 0 }, ++ { "virtual-mailboxes", parse_mailboxes, MUTT_NAMED }, ++#endif ++ { NULL, NULL, 0 }, ++}; ++// clang-format on +diff --git a/mutt_commands.h b/mutt_commands.h +index db5478dd2..25c28821b 100644 +--- a/mutt_commands.h ++++ b/mutt_commands.h +@@ -1,6 +1,6 @@ + /** + * @file +- * Mapping from user command name to function ++ * Definitions of NeoMutt commands + * + * @authors + * Copyright (C) 2016 Bernard Pratz +@@ -38,27 +38,40 @@ enum CommandResult + MUTT_CMD_FINISH = 1 ///< Finish: Stop processing this file + }; + +-/** +- * typedef command_t - Prototype for a function to parse a command +- * @param buf Temporary Buffer space +- * @param s Buffer containing string to be parsed +- * @param data Flags associated with the command +- * @param err Buffer for error messages +- * @retval #CommandResult Result e.g. #MUTT_CMD_SUCCESS +- */ +-typedef enum CommandResult (*command_t)(struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); +- + /** + * struct Command - A user-callable command + */ + struct Command + { + const char *name; ///< Name of the command +- command_t func; ///< Function to parse the command ++ ++ /** ++ * parse - Function to parse a command ++ * @param buf Temporary Buffer space ++ * @param s Buffer containing string to be parsed ++ * @param data Flags associated with the command ++ * @param err Buffer for error messages ++ * @retval #CommandResult Result e.g. #MUTT_CMD_SUCCESS ++ */ ++ enum CommandResult (*parse)(struct Buffer *buf, struct Buffer *s, unsigned long data, struct Buffer *err); ++ + intptr_t data; ///< Data or flags to pass to the command + }; + +-const struct Command *mutt_command_get(const char *s); +-void mutt_commands_apply(void *data, void (*application)(void *, const struct Command *)); ++/** ++ * enum MuttSetCommand - Flags for parse_set() ++ */ ++enum MuttSetCommand ++{ ++ MUTT_SET_SET, ///< default is to set all vars ++ MUTT_SET_INV, ///< default is to invert all vars ++ MUTT_SET_UNSET, ///< default is to unset all vars ++ MUTT_SET_RESET, ///< default is to reset all vars to default ++}; ++ ++/* parameter to parse_mailboxes */ ++#define MUTT_NAMED (1 << 0) ++ ++extern const struct Command Commands[]; + + #endif /* MUTT_MUTT_COMMANDS_H */ +diff --git a/mutt_config.c b/mutt_config.c +new file mode 100644 +index 000000000..292365e3a +--- /dev/null ++++ b/mutt_config.c +@@ -0,0 +1,5011 @@ ++/** ++ * @file ++ * Definitions of config variables ++ * ++ * @authors ++ * Copyright (C) 1996-2002,2007,2010,2012-2013,2016 Michael R. Elkins ++ * Copyright (C) 2004 g10 Code GmbH ++ * ++ * @copyright ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 2 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ ++/** ++ * @page mutt_config Definitions of config variables ++ * ++ * Definitions of config variables ++ */ ++ ++#include "config.h" ++#ifdef _MAKEDOC ++#include "doc/makedoc_defs.h" ++#else ++#include ++#include ++#include "mutt/lib.h" ++#include "address/lib.h" ++#include "config/lib.h" ++#include "email/lib.h" ++#include "core/lib.h" ++#include "conn/lib.h" ++#include "gui/lib.h" ++#include "addrbook.h" ++#include "bcache.h" ++#include "browser.h" ++#include "commands.h" ++#include "compose.h" ++#include "edit.h" ++#include "globals.h" ++#include "handler.h" ++#include "hdrline.h" ++#include "hook.h" ++#include "index.h" ++#include "init.h" ++#include "mailcap.h" ++#include "main.h" ++#include "mutt_logging.h" ++#include "mutt_mailbox.h" ++#include "mutt_menu.h" ++#include "mutt_thread.h" ++#include "muttlib.h" ++#include "mx.h" ++#include "pager.h" ++#include "pattern.h" ++#include "progress.h" ++#include "query.h" ++#include "recvattach.h" ++#include "recvcmd.h" ++#include "remailer.h" ++#include "rfc3676.h" ++#include "score.h" ++#include "send.h" ++#include "sendlib.h" ++#include "sidebar.h" ++#include "smtp.h" ++#include "sort.h" ++#include "status.h" ++#include "hcache/lib.h" ++#include "imap/lib.h" ++#include "maildir/lib.h" ++#include "ncrypt/lib.h" ++#include "nntp/lib.h" ++#include "notmuch/lib.h" ++#include "pop/lib.h" ++#endif ++ ++#ifndef ISPELL ++#define ISPELL "ispell" ++#endif ++ ++/* This option is deprecated */ ++bool C_IgnoreLinearWhiteSpace = false; ++ ++// clang-format off ++struct ConfigDef MuttVars[] = { ++ /*++*/ ++ ++ { "abort_backspace", DT_BOOL, &C_AbortBackspace, true }, ++ /* ++ ** .pp ++ ** If \fIset\fP, hitting backspace against an empty prompt aborts the ++ ** prompt. ++ */ ++ { "abort_key", DT_STRING|DT_NOT_EMPTY, &C_AbortKeyStr, IP "\007" }, ++ /* ++ ** .pp ++ ** Specifies the key that can be used to abort prompts. The format is the ++ ** same as used in "bind" commands. The default is equivalent to "\G". ++ ** Note that the specified key should not be used in other bindings, as the ++ ** abort operation has higher precedence and the binding will not have the ++ ** desired effect. ++ ** .pp ++ ** Example: ++ ** .ts ++ ** set abort_key = "" ++ ** .te ++ ** .pp ++ ** Please note that when using as the abort key, you may also want to ++ ** set the environment variable ESCDELAY to a low value or even 0 which will ++ ** reduce the time that ncurses waits to distinguish singular key ++ ** presses from the start of a terminal escape sequence. The default time is ++ ** 1000 milliseconds and thus quite noticeable. ++ */ ++ { "abort_noattach", DT_QUAD, &C_AbortNoattach, MUTT_NO }, ++ /* ++ ** .pp ++ ** If set to \fIyes\fP, when composing messages containing the regular ++ ** expression specified by $$abort_noattach_regex and no attachments are ++ ** given, composition will be aborted. If set to \fIno\fP, composing messages ++ ** as such will never be aborted. ++ ** .pp ++ ** Example: ++ ** .ts ++ ** set abort_noattach_regex = "\\" ++ ** .te ++ */ ++ { "abort_noattach_regex", DT_REGEX, &C_AbortNoattachRegex, IP "\\<(attach|attached|attachments?)\\>" }, ++ /* ++ ** .pp ++ ** Specifies a regular expression to match against the body of the message, to ++ ** determine if an attachment was mentioned but mistakenly forgotten. If it ++ ** matches, $$abort_noattach will be consulted to determine if message sending ++ ** will be aborted. ++ ** .pp ++ ** Like other regular expressions in NeoMutt, the search is case sensitive ++ ** if the pattern contains at least one upper case letter, and case ++ ** insensitive otherwise. ++ */ ++ { "abort_nosubject", DT_QUAD, &C_AbortNosubject, MUTT_ASKYES }, ++ /* ++ ** .pp ++ ** If set to \fIyes\fP, when composing messages and no subject is given ++ ** at the subject prompt, composition will be aborted. If set to ++ ** \fIno\fP, composing messages with no subject given at the subject ++ ** prompt will never be aborted. ++ */ ++ { "abort_unmodified", DT_QUAD, &C_AbortUnmodified, MUTT_YES }, ++ /* ++ ** .pp ++ ** If set to \fIyes\fP, composition will automatically abort after ++ ** editing the message body if no changes are made to the file (this ++ ** check only happens after the \fIfirst\fP edit of the file). When set ++ ** to \fIno\fP, composition will never be aborted. ++ */ ++ { "alias_file", DT_PATH|DT_PATH_FILE, &C_AliasFile, IP "~/.neomuttrc" }, ++ /* ++ ** .pp ++ ** The default file in which to save aliases created by the ++ ** \fC$\fP function. Entries added to this file are ++ ** encoded in the character set specified by $$config_charset if it ++ ** is \fIset\fP or the current character set otherwise. ++ ** .pp ++ ** \fBNote:\fP NeoMutt will not automatically source this file; you must ++ ** explicitly use the "$source" command for it to be executed in case ++ ** this option points to a dedicated alias file. ++ ** .pp ++ ** The default for this option is the currently used neomuttrc file, or ++ ** "~/.neomuttrc" if no user neomuttrc was found. ++ */ ++ { "alias_format", DT_STRING|DT_NOT_EMPTY, &C_AliasFormat, IP "%4n %2f %t %-10a %r" }, ++ /* ++ ** .pp ++ ** Specifies the format of the data displayed for the "$alias" menu. The ++ ** following \fCprintf(3)\fP-style sequences are available: ++ ** .dl ++ ** .dt %a .dd Alias name ++ ** .dt %f .dd Flags - currently, a "d" for an alias marked for deletion ++ ** .dt %n .dd Index number ++ ** .dt %r .dd Address which alias expands to ++ ** .dt %t .dd Character which indicates if the alias is tagged for inclusion ++ ** .de ++ */ ++ { "allow_8bit", DT_BOOL, &C_Allow8bit, true }, ++ /* ++ ** .pp ++ ** Controls whether 8-bit data is converted to 7-bit using either Quoted- ++ ** Printable or Base64 encoding when sending mail. ++ */ ++ { "allow_ansi", DT_BOOL, &C_AllowAnsi, false }, ++ /* ++ ** .pp ++ ** Controls whether ANSI color codes in messages (and color tags in ++ ** rich text messages) are to be interpreted. ++ ** Messages containing these codes are rare, but if this option is \fIset\fP, ++ ** their text will be colored accordingly. Note that this may override ++ ** your color choices, and even present a security problem, since a ++ ** message could include a line like ++ ** .ts ++ ** [-- PGP output follows ... ++ ** .te ++ ** .pp ++ ** and give it the same color as your attachment color (see also ++ ** $$crypt_timestamp). ++ */ ++ { "arrow_cursor", DT_BOOL|R_MENU, &C_ArrowCursor, false }, ++ /* ++ ** .pp ++ ** When \fIset\fP, an arrow ("->") will be used to indicate the current entry ++ ** in menus instead of highlighting the whole line. On slow network or modem ++ ** links this will make response faster because there is less that has to ++ ** be redrawn on the screen when moving to the next or previous entries ++ ** in the menu. ++ */ ++ ++ { "arrow_string", DT_STRING|DT_NOT_EMPTY, &C_ArrowString, IP "->" }, ++ /* ++ ** .pp ++ ** Specifies the string of arrow_cursor when arrow_cursor enabled. ++ */ ++ { "ascii_chars", DT_BOOL|R_INDEX|R_PAGER, &C_AsciiChars, false }, ++ /* ++ ** .pp ++ ** If \fIset\fP, NeoMutt will use plain ASCII characters when displaying thread ++ ** and attachment trees, instead of the default \fIACS\fP characters. ++ */ ++#ifdef USE_NNTP ++ { "ask_follow_up", DT_BOOL, &C_AskFollowUp, false }, ++ /* ++ ** .pp ++ ** If set, NeoMutt will prompt you for follow-up groups before editing ++ ** the body of an outgoing message. ++ */ ++ { "ask_x_comment_to", DT_BOOL, &C_AskXCommentTo, false }, ++ /* ++ ** .pp ++ ** If set, NeoMutt will prompt you for x-comment-to field before editing ++ ** the body of an outgoing message. ++ */ ++#endif ++ { "askbcc", DT_BOOL, &C_Askbcc, false }, ++ /* ++ ** .pp ++ ** If \fIset\fP, NeoMutt will prompt you for blind-carbon-copy (Bcc) recipients ++ ** before editing an outgoing message. ++ */ ++ { "askcc", DT_BOOL, &C_Askcc, false }, ++ /* ++ ** .pp ++ ** If \fIset\fP, NeoMutt will prompt you for carbon-copy (Cc) recipients before ++ ** editing the body of an outgoing message. ++ */ ++ { "assumed_charset", DT_STRING, &C_AssumedCharset, 0, 0, charset_validator }, ++ /* ++ ** .pp ++ ** This variable is a colon-separated list of character encoding ++ ** schemes for messages without character encoding indication. ++ ** Header field values and message body content without character encoding ++ ** indication would be assumed that they are written in one of this list. ++ ** By default, all the header fields and message body without any charset ++ ** indication are assumed to be in "us-ascii". ++ ** .pp ++ ** For example, Japanese users might prefer this: ++ ** .ts ++ ** set assumed_charset="iso-2022-jp:euc-jp:shift_jis:utf-8" ++ ** .te ++ ** .pp ++ ** However, only the first content is valid for the message body. ++ */ ++ { "attach_charset", DT_STRING, &C_AttachCharset, 0, 0, charset_validator }, ++ /* ++ ** .pp ++ ** This variable is a colon-separated list of character encoding ++ ** schemes for text file attachments. NeoMutt uses this setting to guess ++ ** which encoding files being attached are encoded in to convert them to ++ ** a proper character set given in $$send_charset. ++ ** .pp ++ ** If \fIunset\fP, the value of $$charset will be used instead. ++ ** For example, the following configuration would work for Japanese ++ ** text handling: ++ ** .ts ++ ** set attach_charset="iso-2022-jp:euc-jp:shift_jis:utf-8" ++ ** .te ++ ** .pp ++ ** Note: for Japanese users, "iso-2022-*" must be put at the head ++ ** of the value as shown above if included. ++ */ ++ { "attach_format", DT_STRING|DT_NOT_EMPTY, &C_AttachFormat, IP "%u%D%I %t%4n %T%.40d%> [%.7m/%.10M, %.6e%?C?, %C?, %s] " }, ++ /* ++ ** .pp ++ ** This variable describes the format of the "attachment" menu. The ++ ** following \fCprintf(3)\fP-style sequences are understood: ++ ** .dl ++ ** .dt %C .dd Charset ++ ** .dt %c .dd Requires charset conversion ("n" or "c") ++ ** .dt %D .dd Deleted flag ++ ** .dt %d .dd Description (if none, falls back to %F) ++ ** .dt %e .dd MIME content-transfer-encoding ++ ** .dt %f .dd Filename ++ ** .dt %F .dd Filename in content-disposition header (if none, falls back to %f) ++ ** .dt %I .dd Disposition ("I" for inline, "A" for attachment) ++ ** .dt %m .dd Major MIME type ++ ** .dt %M .dd MIME subtype ++ ** .dt %n .dd Attachment number ++ ** .dt %Q .dd "Q", if MIME part qualifies for attachment counting ++ ** .dt %s .dd Size (see $formatstrings-size) ++ ** .dt %T .dd Graphic tree characters ++ ** .dt %t .dd Tagged flag ++ ** .dt %u .dd Unlink (=to delete) flag ++ ** .dt %X .dd Number of qualifying MIME parts in this part and its children ++ ** (please see the "$attachments" section for possible speed effects) ++ ** .dt %>X .dd Right justify the rest of the string and pad with character "X" ++ ** .dt %|X .dd Pad to the end of the line with character "X" ++ ** .dt %*X .dd Soft-fill with character "X" as pad ++ ** .de ++ ** .pp ++ ** For an explanation of "soft-fill", see the $$index_format documentation. ++ */ ++ { "attach_save_dir", DT_PATH|DT_PATH_DIR, &C_AttachSaveDir, IP "./" }, ++ /* ++ ** .pp ++ ** The directory where attachments are saved. ++ */ ++ { "attach_save_without_prompting", DT_BOOL, &C_AttachSaveWithoutPrompting, false }, ++ /* ++ ** .pp ++ ** This variable, when set to true, will cause attachments to be saved to ++ ** the 'attach_save_dir' location without prompting the user for the filename. ++ ** .pp ++ */ ++ { "attach_sep", DT_STRING, &C_AttachSep, IP "\n" }, ++ /* ++ ** .pp ++ ** The separator to add between attachments when operating (saving, ++ ** printing, piping, etc) on a list of tagged attachments. ++ */ ++ { "attach_split", DT_BOOL, &C_AttachSplit, true }, ++ /* ++ ** .pp ++ ** If this variable is \fIunset\fP, when operating (saving, printing, piping, ++ ** etc) on a list of tagged attachments, NeoMutt will concatenate the ++ ** attachments and will operate on them as a single attachment. The ++ ** $$attach_sep separator is added after each attachment. When \fIset\fP, ++ ** NeoMutt will operate on the attachments one by one. ++ */ ++ { "attribution", DT_STRING, &C_Attribution, IP "On %d, %n wrote:" }, ++ /* ++ ** .pp ++ ** This is the string that will precede a message which has been included ++ ** in a reply. For a full listing of defined \fCprintf(3)\fP-like sequences see ++ ** the section on $$index_format. ++ */ ++ { "attribution_locale", DT_STRING, &C_AttributionLocale, 0 }, ++ /* ++ ** .pp ++ ** The locale used by \fCstrftime(3)\fP to format dates in the ++ ** $attribution string. Legal values are the strings your system ++ ** accepts for the locale environment variable \fC$$$LC_TIME\fP. ++ ** .pp ++ ** This variable is to allow the attribution date format to be ++ ** customized by recipient or folder using hooks. By default, NeoMutt ++ ** will use your locale environment, so there is no need to set ++ ** this except to override that default. ++ */ ++ { "auto_subscribe", DT_BOOL, &C_AutoSubscribe, false }, ++ /* ++ ** .pp ++ ** When \fIset\fP, NeoMutt assumes the presence of a List-Post header ++ ** means the recipient is subscribed to the list. Unless the mailing list ++ ** is in the "unsubscribe" or "unlist" lists, it will be added ++ ** to the "$subscribe" list. Parsing and checking these things slows ++ ** header reading down, so this option is disabled by default. ++ */ ++ { "auto_tag", DT_BOOL, &C_AutoTag, false }, ++ /* ++ ** .pp ++ ** When \fIset\fP, functions in the \fIindex\fP menu which affect a message ++ ** will be applied to all tagged messages (if there are any). When ++ ** unset, you must first use the \fC\fP function (bound to ";" ++ ** by default) to make the next function apply to all tagged messages. ++ */ ++#ifdef USE_AUTOCRYPT ++ { "autocrypt", DT_BOOL, &C_Autocrypt, false }, ++ /* ++ ** .pp ++ ** When \fIset\fP, enables autocrypt, which provides ++ ** passive encryption protection with keys exchanged via headers. ++ ** See ``$autocryptdoc'' for more details. ++ ** (Autocrypt only) ++ */ ++ { "autocrypt_acct_format", DT_STRING|R_MENU, &C_AutocryptAcctFormat, IP "%4n %-30a %20p %10s" }, ++ /* ++ ** .pp ++ ** This variable describes the format of the ``autocrypt account'' menu. ++ ** The following \fCprintf(3)\fP-style sequences are understood ++ ** .dl ++ ** .dt %a .dd email address ++ ** .dt %k .dd gpg keyid ++ ** .dt %n .dd current entry number ++ ** .dt %p .dd prefer-encrypt flag ++ ** .dt %s .dd status flag (active/inactive) ++ ** .de ++ ** .pp ++ ** (Autocrypt only) ++ */ ++ { "autocrypt_dir", DT_PATH|DT_PATH_DIR, &C_AutocryptDir, IP "~/.mutt/autocrypt" }, ++ /* ++ ** .pp ++ ** This variable sets where autocrypt files are stored, including the GPG ++ ** keyring and sqlite database. See ``$autocryptdoc'' for more details. ++ ** (Autocrypt only) ++ */ ++ { "autocrypt_reply", DT_BOOL, &C_AutocryptReply, true }, ++ /* ++ ** .pp ++ ** When \fIset\fP, replying to an autocrypt email automatically ++ ** enables autocrypt in the reply. You may want to unset this if you're using ++ ** the same key for autocrypt as normal web-of-trust, so that autocrypt ++ ** isn't forced on for all encrypted replies. ++ ** (Autocrypt only) ++ */ ++#endif ++ { "autoedit", DT_BOOL, &C_Autoedit, false }, ++ /* ++ ** .pp ++ ** When \fIset\fP along with $$edit_headers, NeoMutt will skip the initial ++ ** send-menu (prompting for subject and recipients) and allow you to ++ ** immediately begin editing the body of your ++ ** message. The send-menu may still be accessed once you have finished ++ ** editing the body of your message. ++ ** .pp ++ ** \fBNote:\fP when this option is \fIset\fP, you can't use send-hooks that depend ++ ** on the recipients when composing a new (non-reply) message, as the initial ++ ** list of recipients is empty. ++ ** .pp ++ ** Also see $$fast_reply. ++ */ ++ { "beep", DT_BOOL, &C_Beep, true }, ++ /* ++ ** .pp ++ ** When this variable is \fIset\fP, NeoMutt will beep when an error occurs. ++ */ ++ { "beep_new", DT_BOOL, &C_BeepNew, false }, ++ /* ++ ** .pp ++ ** When this variable is \fIset\fP, NeoMutt will beep whenever it prints a message ++ ** notifying you of new mail. This is independent of the setting of the ++ ** $$beep variable. ++ */ ++ { "bounce", DT_QUAD, &C_Bounce, MUTT_ASKYES }, ++ /* ++ ** .pp ++ ** Controls whether you will be asked to confirm bouncing messages. ++ ** If set to \fIyes\fP you don't get asked if you want to bounce a ++ ** message. Setting this variable to \fIno\fP is not generally useful, ++ ** and thus not recommended, because you are unable to bounce messages. ++ */ ++ { "bounce_delivered", DT_BOOL, &C_BounceDelivered, true }, ++ /* ++ ** .pp ++ ** When this variable is \fIset\fP, NeoMutt will include Delivered-To headers when ++ ** bouncing messages. Postfix users may wish to \fIunset\fP this variable. ++ */ ++ { "braille_friendly", DT_BOOL, &C_BrailleFriendly, false }, ++ /* ++ ** .pp ++ ** When this variable is \fIset\fP, NeoMutt will place the cursor at the beginning ++ ** of the current line in menus, even when the $$arrow_cursor variable ++ ** is \fIunset\fP, making it easier for blind persons using Braille displays to ++ ** follow these menus. The option is \fIunset\fP by default because many ++ ** visual terminals don't permit making the cursor invisible. ++ */ ++ { "browser_abbreviate_mailboxes", DT_BOOL, &C_BrowserAbbreviateMailboxes, true }, ++ /* ++ ** .pp ++ ** When this variable is \fIset\fP, NeoMutt will abbreviate mailbox ++ ** names in the browser mailbox list, using '~' and '=' ++ ** shortcuts. ++ ** .pp ++ ** The default \fC"alpha"\fP setting of $$sort_browser uses ++ ** locale-based sorting (using \fCstrcoll(3)\fP), which ignores some ++ ** punctuation. This can lead to some situations where the order ++ ** doesn't make intuitive sense. In those cases, it may be ++ ** desirable to \fIunset\fP this variable. ++ */ ++#ifdef USE_NNTP ++ { "catchup_newsgroup", DT_QUAD, &C_CatchupNewsgroup, MUTT_ASKYES }, ++ /* ++ ** .pp ++ ** If this variable is \fIset\fP, NeoMutt will mark all articles in newsgroup ++ ** as read when you quit the newsgroup (catchup newsgroup). ++ */ ++#endif ++#ifdef USE_SSL ++ { "certificate_file", DT_PATH|DT_PATH_FILE, &C_CertificateFile, IP "~/.mutt_certificates" }, ++ /* ++ ** .pp ++ ** This variable specifies the file where the certificates you trust ++ ** are saved. When an unknown certificate is encountered, you are asked ++ ** if you accept it or not. If you accept it, the certificate can also ++ ** be saved in this file and further connections are automatically ++ ** accepted. ++ ** .pp ++ ** You can also manually add CA certificates in this file. Any server ++ ** certificate that is signed with one of these CA certificates is ++ ** also automatically accepted. ++ ** .pp ++ ** Example: ++ ** .ts ++ ** set certificate_file=~/.neomutt/certificates ++ ** .te ++ */ ++#endif ++ { "change_folder_next", DT_BOOL, &C_ChangeFolderNext, false }, ++ /* ++ ** .pp ++ ** When this variable is \fIset\fP, the \fC\fP function ++ ** mailbox suggestion will start at the next folder in your "$mailboxes" ++ ** list, instead of starting at the first folder in the list. ++ */ ++ { "charset", DT_STRING|DT_NOT_EMPTY, &C_Charset, 0, 0, charset_validator }, ++ /* ++ ** .pp ++ ** Character set your terminal uses to display and enter textual data. ++ ** It is also the fallback for $$send_charset. ++ ** .pp ++ ** Upon startup NeoMutt tries to derive this value from environment variables ++ ** such as \fC$$$LC_CTYPE\fP or \fC$$$LANG\fP. ++ ** .pp ++ ** \fBNote:\fP It should only be set in case NeoMutt isn't able to determine the ++ ** character set used correctly. ++ */ ++ { "check_mbox_size", DT_BOOL, &C_CheckMboxSize, false }, ++ /* ++ ** .pp ++ ** When this variable is \fIset\fP, NeoMutt will use file size attribute instead of ++ ** access time when checking for new mail in mbox and mmdf folders. ++ ** .pp ++ ** This variable is \fIunset\fP by default and should only be enabled when ++ ** new mail detection for these folder types is unreliable or doesn't work. ++ ** .pp ++ ** Note that enabling this variable should happen before any "$mailboxes" ++ ** directives occur in configuration files regarding mbox or mmdf folders ++ ** because NeoMutt needs to determine the initial new mail status of such a ++ ** mailbox by performing a fast mailbox scan when it is defined. ++ ** Afterwards the new mail status is tracked by file size changes. ++ */ ++ { "check_new", DT_BOOL, &C_CheckNew, true }, ++ /* ++ ** .pp ++ ** \fBNote:\fP this option only affects \fImaildir\fP and \fIMH\fP style ++ ** mailboxes. ++ ** .pp ++ ** When \fIset\fP, NeoMutt will check for new mail delivered while the ++ ** mailbox is open. Especially with MH mailboxes, this operation can ++ ** take quite some time since it involves scanning the directory and ++ ** checking each file to see if it has already been looked at. If ++ ** this variable is \fIunset\fP, no check for new mail is performed ++ ** while the mailbox is open. ++ */ ++ { "collapse_all", DT_BOOL, &C_CollapseAll, false }, ++ /* ++ ** .pp ++ ** When \fIset\fP, NeoMutt will collapse all threads when entering a folder. ++ */ ++ { "collapse_flagged", DT_BOOL, &C_CollapseFlagged, true }, ++ /* ++ ** .pp ++ ** When \fIunset\fP, NeoMutt will not collapse a thread if it contains any ++ ** flagged messages. ++ */ ++ { "collapse_unread", DT_BOOL, &C_CollapseUnread, true }, ++ /* ++ ** .pp ++ ** When \fIunset\fP, NeoMutt will not collapse a thread if it contains any ++ ** unread messages. ++ */ ++ { "compose_format", DT_STRING|R_MENU, &C_ComposeFormat, IP "-- NeoMutt: Compose [Approx. msg size: %l Atts: %a]%>-" }, ++ /* ++ ** .pp ++ ** Controls the format of the status line displayed in the "compose" ++ ** menu. This string is similar to $$status_format, but has its own ++ ** set of \fCprintf(3)\fP-like sequences: ++ ** .dl ++ ** .dt %a .dd Total number of attachments ++ ** .dt %h .dd Local hostname ++ ** .dt %l .dd Approximate size (in bytes) of the current message (see $formatstrings-size) ++ ** .dt %v .dd NeoMutt version string ++ ** .de ++ ** .pp ++ ** See the text describing the $$status_format option for more ++ ** information on how to set $$compose_format. ++ */ ++ { "config_charset", DT_STRING, &C_ConfigCharset, 0, 0, charset_validator }, ++ /* ++ ** .pp ++ ** When defined, NeoMutt will recode commands in rc files from this ++ ** encoding to the current character set as specified by $$charset ++ ** and aliases written to $$alias_file from the current character set. ++ ** .pp ++ ** Please note that if setting $$charset it must be done before ++ ** setting $$config_charset. ++ ** .pp ++ ** Recoding should be avoided as it may render unconvertable ++ ** characters as question marks which can lead to undesired ++ ** side effects (for example in regular expressions). ++ */ ++ { "confirmappend", DT_BOOL, &C_Confirmappend, true }, ++ /* ++ ** .pp ++ ** When \fIset\fP, NeoMutt will prompt for confirmation when appending messages to ++ ** an existing mailbox. ++ */ ++ { "confirmcreate", DT_BOOL, &C_Confirmcreate, true }, ++ /* ++ ** .pp ++ ** When \fIset\fP, NeoMutt will prompt for confirmation when saving messages to a ++ ** mailbox which does not yet exist before creating it. ++ */ ++ { "connect_timeout", DT_NUMBER, &C_ConnectTimeout, 30 }, ++ /* ++ ** .pp ++ ** Causes NeoMutt to timeout a network connection (for IMAP, POP or SMTP) after this ++ ** many seconds if the connection is not able to be established. A negative ++ ** value causes NeoMutt to wait indefinitely for the connection attempt to succeed. ++ */ ++ { "content_type", DT_STRING, &C_ContentType, IP "text/plain" }, ++ /* ++ ** .pp ++ ** Sets the default Content-Type for the body of newly composed messages. ++ */ ++ { "copy", DT_QUAD, &C_Copy, MUTT_YES }, ++ /* ++ ** .pp ++ ** This variable controls whether or not copies of your outgoing messages ++ ** will be saved for later references. Also see $$record, ++ ** $$save_name, $$force_name and "$fcc-hook". ++ */ ++ { "crypt_autoencrypt", DT_BOOL, &C_CryptAutoencrypt, false }, ++ /* ++ ** .pp ++ ** Setting this variable will cause NeoMutt to always attempt to PGP ++ ** encrypt outgoing messages. This is probably only useful in ++ ** connection to the "$send-hook" command. It can be overridden ++ ** by use of the pgp menu, when encryption is not required or ++ ** signing is requested as well. If $$smime_is_default is \fIset\fP, ++ ** then OpenSSL is used instead to create S/MIME messages and ++ ** settings can be overridden by use of the smime menu instead. ++ ** (Crypto only) ++ */ ++ { "crypt_autopgp", DT_BOOL, &C_CryptAutopgp, true }, ++ /* ++ ** .pp ++ ** This variable controls whether or not NeoMutt may automatically enable ++ ** PGP encryption/signing for messages. See also $$crypt_autoencrypt, ++ ** $$crypt_replyencrypt, ++ ** $$crypt_autosign, $$crypt_replysign and $$smime_is_default. ++ */ ++ { "crypt_autosign", DT_BOOL, &C_CryptAutosign, false }, ++ /* ++ ** .pp ++ ** Setting this variable will cause NeoMutt to always attempt to ++ ** cryptographically sign outgoing messages. This can be overridden ++ ** by use of the pgp menu, when signing is not required or ++ ** encryption is requested as well. If $$smime_is_default is \fIset\fP, ++ ** then OpenSSL is used instead to create S/MIME messages and settings can ++ ** be overridden by use of the smime menu instead of the pgp menu. ++ ** (Crypto only) ++ */ ++ { "crypt_autosmime", DT_BOOL, &C_CryptAutosmime, true }, ++ /* ++ ** .pp ++ ** This variable controls whether or not NeoMutt may automatically enable ++ ** S/MIME encryption/signing for messages. See also $$crypt_autoencrypt, ++ ** $$crypt_replyencrypt, ++ ** $$crypt_autosign, $$crypt_replysign and $$smime_is_default. ++ */ ++ { "crypt_chars", DT_MBTABLE|R_INDEX|R_PAGER, &C_CryptChars, IP "SPsK " }, ++ /* ++ ** .pp ++ ** Controls the characters used in cryptography flags. ++ ** .dl ++ ** .dt \fBCharacter\fP .dd \fBDefault\fP .dd \fBDescription\fP ++ ** .dt 1 .dd S .dd The mail is signed, and the signature is successfully verified. ++ ** .dt 2 .dd P .dd The mail is PGP encrypted. ++ ** .dt 3 .dd s .dd The mail is signed. ++ ** .dt 4 .dd K .dd The mail contains a PGP public key. ++ ** .dt 5 .dd .dd The mail has no crypto info. ++ ** .de ++ */ ++ { "crypt_confirmhook", DT_BOOL, &C_CryptConfirmhook, true }, ++ /* ++ ** .pp ++ ** If set, then you will be prompted for confirmation of keys when using ++ ** the \fIcrypt-hook\fP command. If unset, no such confirmation prompt will ++ ** be presented. This is generally considered unsafe, especially where ++ ** typos are concerned. ++ */ ++ { "crypt_opportunistic_encrypt", DT_BOOL, &C_CryptOpportunisticEncrypt, false }, ++ /* ++ ** .pp ++ ** Setting this variable will cause NeoMutt to automatically enable and ++ ** disable encryption, based on whether all message recipient keys ++ ** can be located by NeoMutt. ++ ** .pp ++ ** When this option is enabled, NeoMutt will enable/disable encryption ++ ** each time the TO, CC, and BCC lists are edited. If ++ ** $$edit_headers is set, NeoMutt will also do so each time the message ++ ** is edited. ++ ** .pp ++ ** While this is set, encryption can't be manually enabled/disabled. ++ ** The pgp or smime menus provide a selection to temporarily disable ++ ** this option for the current message. ++ ** .pp ++ ** If $$crypt_autoencrypt or $$crypt_replyencrypt enable encryption for ++ ** a message, this option will be disabled for that message. It can ++ ** be manually re-enabled in the pgp or smime menus. ++ ** (Crypto only) ++ */ ++ { "crypt_opportunistic_encrypt_strong_keys", DT_BOOL, &C_CryptOpportunisticEncryptStrongKeys, false }, ++ /* ++ ** .pp ++ ** When set, this modifies the behavior of $$crypt_opportunistic_encrypt ++ ** to only search for "strong keys", that is, keys with full validity ++ ** according to the web-of-trust algorithm. A key with marginal or no ++ ** validity will not enable opportunistic encryption. ++ ** .pp ++ ** For S/MIME, the behavior depends on the backend. Classic S/MIME will ++ ** filter for certificates with the 't'(trusted) flag in the .index file. ++ ** The GPGME backend will use the same filters as with OpenPGP, and depends ++ ** on GPGME's logic for assigning the GPGME_VALIDITY_FULL and ++ ** GPGME_VALIDITY_ULTIMATE validity flag. ++ */ ++ { "crypt_protected_headers_read", DT_BOOL, &C_CryptProtectedHeadersRead, true }, ++ /* ++ ** .pp ++ ** When set, NeoMutt will display protected headers ("Memory Hole") in the pager, ++ ** and will update the index and header cache with revised headers. ++ ** ++ ** Protected headers are stored inside the encrypted or signed part of an ++ ** an email, to prevent disclosure or tampering. ++ ** For more information see https://github.com/autocrypt/memoryhole. ++ ** Currently NeoMutt only supports the Subject header. ++ ** .pp ++ ** Encrypted messages using protected headers often substitute the exposed ++ ** Subject header with a dummy value (see $$crypt_protected_headers_subject). ++ ** NeoMutt will update its concept of the correct subject \fBafter\fP the ++ ** message is opened, i.e. via the \fC\fP function. ++ ** If you reply to a message before opening it, NeoMutt will end up using ++ ** the dummy Subject header, so be sure to open such a message first. ++ ** (Crypto only) ++ */ ++ { "crypt_protected_headers_save", DT_BOOL, &C_CryptProtectedHeadersSave, false }, ++ /* ++ ** .pp ++ ** When $$crypt_protected_headers_read is set, and a message with a ++ ** protected Subject is opened, NeoMutt will save the updated Subject ++ ** into the header cache by default. This allows searching/limiting ++ ** based on the protected Subject header if the mailbox is ++ ** re-opened, without having to re-open the message each time. ++ ** However, for mbox/mh mailbox types, or if header caching is not ++ ** set up, you would need to re-open the message each time the ++ ** mailbox was reopened before you could see or search/limit on the ++ ** protected subject again. ++ ** .pp ++ ** When this variable is set, NeoMutt additionally saves the protected ++ ** Subject back \fBin the clear-text message headers\fP. This ++ ** provides better usability, but with the tradeoff of reduced ++ ** security. The protected Subject header, which may have ++ ** previously been encrypted, is now stored in clear-text in the ++ ** message headers. Copying the message elsewhere, via NeoMutt or ++ ** external tools, could expose this previously encrypted data. ++ ** Please make sure you understand the consequences of this before ++ ** you enable this variable. ++ ** (Crypto only) ++ */ ++ { "crypt_protected_headers_subject", DT_STRING, &C_CryptProtectedHeadersSubject, IP "Encrypted subject" }, ++ /* ++ ** .pp ++ ** When $$crypt_protected_headers_write is set, and the message is marked ++ ** for encryption, this will be substituted into the Subject field in the ++ ** message headers. ++ ** ++ ** To prevent a subject from being substituted, unset this variable, or set it ++ ** to the empty string. ++ ** (Crypto only) ++ */ ++ { "crypt_protected_headers_write", DT_BOOL, &C_CryptProtectedHeadersWrite, false }, ++ /* ++ ** .pp ++ ** When set, NeoMutt will generate protected headers ("Memory Hole") for ++ ** signed and encrypted emails. ++ ** ++ ** Protected headers are stored inside the encrypted or signed part of an ++ ** an email, to prevent disclosure or tampering. ++ ** For more information see https://github.com/autocrypt/memoryhole. ++ ** ++ ** Currently NeoMutt only supports the Subject header. ++ ** (Crypto only) ++ */ ++ { "crypt_replyencrypt", DT_BOOL, &C_CryptReplyencrypt, true }, ++ /* ++ ** .pp ++ ** If \fIset\fP, automatically PGP or OpenSSL encrypt replies to messages which are ++ ** encrypted. ++ ** (Crypto only) ++ */ ++ { "crypt_replysign", DT_BOOL, &C_CryptReplysign, false }, ++ /* ++ ** .pp ++ ** If \fIset\fP, automatically PGP or OpenSSL sign replies to messages which are ++ ** signed. ++ ** .pp ++ ** \fBNote:\fP this does not work on messages that are encrypted ++ ** \fIand\fP signed! ++ ** (Crypto only) ++ */ ++ { "crypt_replysignencrypted", DT_BOOL, &C_CryptReplysignencrypted, false }, ++ /* ++ ** .pp ++ ** If \fIset\fP, automatically PGP or OpenSSL sign replies to messages ++ ** which are encrypted. This makes sense in combination with ++ ** $$crypt_replyencrypt, because it allows you to sign all ++ ** messages which are automatically encrypted. This works around ++ ** the problem noted in $$crypt_replysign, that NeoMutt is not able ++ ** to find out whether an encrypted message is also signed. ++ ** (Crypto only) ++ */ ++ { "crypt_timestamp", DT_BOOL, &C_CryptTimestamp, true }, ++ /* ++ ** .pp ++ ** If \fIset\fP, NeoMutt will include a time stamp in the lines surrounding ++ ** PGP or S/MIME output, so spoofing such lines is more difficult. ++ ** If you are using colors to mark these lines, and rely on these, ++ ** you may \fIunset\fP this setting. ++ ** (Crypto only) ++ */ ++ { "crypt_use_gpgme", DT_BOOL, &C_CryptUseGpgme, true }, ++ /* ++ ** .pp ++ ** This variable controls the use of the GPGME-enabled crypto backends. ++ ** If it is \fIset\fP and NeoMutt was built with gpgme support, the gpgme code for ++ ** S/MIME and PGP will be used instead of the classic code. Note that ++ ** you need to set this option in .neomuttrc; it won't have any effect when ++ ** used interactively. ++ ** .pp ++ ** Note that the GPGME backend does not support creating old-style inline ++ ** (traditional) PGP encrypted or signed messages (see $$pgp_autoinline). ++ */ ++ { "crypt_use_pka", DT_BOOL, &C_CryptUsePka, false }, ++ /* ++ ** .pp ++ ** Controls whether NeoMutt uses PKA ++ ** (see http://www.g10code.de/docs/pka-intro.de.pdf) during signature ++ ** verification (only supported by the GPGME backend). ++ */ ++ { "crypt_verify_sig", DT_QUAD, &C_CryptVerifySig, MUTT_YES }, ++ /* ++ ** .pp ++ ** If \fI"yes"\fP, always attempt to verify PGP or S/MIME signatures. ++ ** If \fI"ask-*"\fP, ask whether or not to verify the signature. ++ ** If \fI"no"\fP, never attempt to verify cryptographic signatures. ++ ** (Crypto only) ++ */ ++ { "date_format", DT_STRING|DT_NOT_EMPTY|R_MENU, &C_DateFormat, IP "!%a, %b %d, %Y at %I:%M:%S%p %Z" }, ++ /* ++ ** .pp ++ ** This variable controls the format of the date printed by the "%d" ++ ** sequence in $$index_format. This is passed to the \fCstrftime(3)\fP ++ ** function to process the date, see the man page for the proper syntax. ++ ** .pp ++ ** Unless the first character in the string is a bang ("!"), the month ++ ** and week day names are expanded according to the locale. ++ ** If the first character in the string is a ++ ** bang, the bang is discarded, and the month and week day names in the ++ ** rest of the string are expanded in the \fIC\fP locale (that is in US ++ ** English). ++ */ ++ { "debug_file", DT_PATH|DT_PATH_FILE, &C_DebugFile, IP "~/.neomuttdebug" }, ++ /* ++ ** .pp ++ ** Debug logging is controlled by the variables \fC$$debug_file\fP and \fC$$debug_level\fP. ++ ** \fC$$debug_file\fP specifies the root of the filename. NeoMutt will add "0" to the end. ++ ** Each time NeoMutt is run with logging enabled, the log files are rotated. ++ ** A maximum of five log files are kept, numbered 0 (most recent) to 4 (oldest). ++ ** .pp ++ ** This option can be enabled on the command line, "neomutt -l mylog" ++ ** .pp ++ ** See also: \fC$$debug_level\fP ++ */ ++ { "debug_level", DT_NUMBER, &C_DebugLevel, 0, 0, level_validator }, ++ /* ++ ** .pp ++ ** Debug logging is controlled by the variables \fC$$debug_file\fP and \fC$$debug_level\fP. ++ ** .pp ++ ** The debug level controls how much information is saved to the log file. ++ ** If you have a problem with NeoMutt, then enabling logging may help find the cause. ++ ** Levels 1-3 will usually provide enough information for writing a bug report. ++ ** Levels 4,5 will be extremely verbose. ++ ** .pp ++ ** Warning: Logging at high levels may save private information to the file. ++ ** .pp ++ ** This option can be enabled on the command line, "neomutt -d 2" ++ ** .pp ++ ** See also: \fC$$debug_file\fP ++ */ ++ { "default_hook", DT_STRING, &C_DefaultHook, IP "~f %s !~P | (~P ~C %s)" }, ++ /* ++ ** .pp ++ ** This variable controls how "$message-hook", "$reply-hook", "$send-hook", ++ ** "$send2-hook", "$save-hook", and "$fcc-hook" will ++ ** be interpreted if they are specified with only a simple regex, ++ ** instead of a matching pattern. The hooks are expanded when they are ++ ** declared, so a hook will be interpreted according to the value of this ++ ** variable at the time the hook is declared. ++ ** .pp ++ ** The default value matches ++ ** if the message is either from a user matching the regular expression ++ ** given, or if it is from you (if the from address matches ++ ** "$alternates") and is to or cc'ed to a user matching the given ++ ** regular expression. ++ */ ++ { "delete", DT_QUAD, &C_Delete, MUTT_ASKYES }, ++ /* ++ ** .pp ++ ** Controls whether or not messages are really deleted when closing or ++ ** synchronizing a mailbox. If set to \fIyes\fP, messages marked for ++ ** deleting will automatically be purged without prompting. If set to ++ ** \fIno\fP, messages marked for deletion will be kept in the mailbox. ++ */ ++ { "delete_untag", DT_BOOL, &C_DeleteUntag, true }, ++ /* ++ ** .pp ++ ** If this option is \fIset\fP, NeoMutt will untag messages when marking them ++ ** for deletion. This applies when you either explicitly delete a message, ++ ** or when you save it to another folder. ++ */ ++ { "digest_collapse", DT_BOOL, &C_DigestCollapse, true }, ++ /* ++ ** .pp ++ ** If this option is \fIset\fP, NeoMutt's received-attachments menu will not show the subparts of ++ ** individual messages in a multipart/digest. To see these subparts, press "v" on that menu. ++ */ ++ { "display_filter", DT_STRING|DT_COMMAND|R_PAGER, &C_DisplayFilter, 0 }, ++ /* ++ ** .pp ++ ** When set, specifies a command used to filter messages. When a message ++ ** is viewed it is passed as standard input to $$display_filter, and the ++ ** filtered message is read from the standard output. ++ ** .pp ++ ** When preparing the message, NeoMutt inserts some escape sequences into the ++ ** text. They are of the form: \fC]9;XXX\fP where "XXX" is a random ++ ** 64-bit number. ++ ** .pp ++ ** If these escape sequences interfere with your filter, they can be removed ++ ** using a tool like \fCansifilter\fP or \fCsed 's/^\x1b]9;[0-9]\+\x7//'\fP ++ ** .pp ++ ** If they are removed, then PGP and MIME headers will no longer be coloured. ++ ** This can be fixed by adding this to your config: ++ ** \fCcolor body magenta default '^\[-- .* --\]$$$'\fP. ++ */ ++ { "dsn_notify", DT_STRING, &C_DsnNotify, 0 }, ++ /* ++ ** .pp ++ ** This variable sets the request for when notification is returned. The ++ ** string consists of a comma separated list (no spaces!) of one or more ++ ** of the following: \fInever\fP, to never request notification, ++ ** \fIfailure\fP, to request notification on transmission failure, ++ ** \fIdelay\fP, to be notified of message delays, \fIsuccess\fP, to be ++ ** notified of successful transmission. ++ ** .pp ++ ** Example: ++ ** .ts ++ ** set dsn_notify="failure,delay" ++ ** .te ++ ** .pp ++ ** \fBNote:\fP when using $$sendmail for delivery, you should not enable ++ ** this unless you are either using Sendmail 8.8.x or greater or a MTA ++ ** providing a \fCsendmail(1)\fP-compatible interface supporting the \fC-N\fP option ++ ** for DSN. For SMTP delivery, DSN support is auto-detected so that it ++ ** depends on the server whether DSN will be used or not. ++ */ ++ { "dsn_return", DT_STRING, &C_DsnReturn, 0 }, ++ /* ++ ** .pp ++ ** This variable controls how much of your message is returned in DSN ++ ** messages. It may be set to either \fIhdrs\fP to return just the ++ ** message header, or \fIfull\fP to return the full message. ++ ** .pp ++ ** Example: ++ ** .ts ++ ** set dsn_return=hdrs ++ ** .te ++ ** .pp ++ ** \fBNote:\fP when using $$sendmail for delivery, you should not enable ++ ** this unless you are either using Sendmail 8.8.x or greater or a MTA ++ ** providing a \fCsendmail(1)\fP-compatible interface supporting the \fC-R\fP option ++ ** for DSN. For SMTP delivery, DSN support is auto-detected so that it ++ ** depends on the server whether DSN will be used or not. ++ */ ++ { "duplicate_threads", DT_BOOL|R_RESORT|R_RESORT_INIT|R_INDEX, &C_DuplicateThreads, true, 0, pager_validator }, ++ /* ++ ** .pp ++ ** This variable controls whether NeoMutt, when $$sort is set to \fIthreads\fP, threads ++ ** messages with the same Message-Id together. If it is \fIset\fP, it will indicate ++ ** that it thinks they are duplicates of each other with an equals sign ++ ** in the thread tree. ++ */ ++ { "edit_headers", DT_BOOL, &C_EditHeaders, false }, ++ /* ++ ** .pp ++ ** This option allows you to edit the header of your outgoing messages ++ ** along with the body of your message. ++ ** .pp ++ ** Although the compose menu may have localized header labels, the ++ ** labels passed to your editor will be standard RFC2822 headers, ++ ** (e.g. To:, Cc:, Subject:). Headers added in your editor must ++ ** also be RFC2822 headers, or one of the pseudo headers listed in ++ ** "$edit-header". NeoMutt will not understand localized header ++ ** labels, just as it would not when parsing an actual email. ++ ** .pp ++ ** \fBNote\fP that changes made to the References: and Date: headers are ++ ** ignored for interoperability reasons. ++ */ ++ { "editor", DT_STRING|DT_COMMAND, &C_Editor, IP "vi" }, ++ /* ++ ** .pp ++ ** This variable specifies which editor is used by NeoMutt. ++ ** It defaults to the value of the \fC$$$VISUAL\fP, or \fC$$$EDITOR\fP, environment ++ ** variable, or to the string "vi" if neither of those are set. ++ ** .pp ++ ** The \fC$$editor\fP string may contain a \fI%s\fP escape, which will be replaced by the name ++ ** of the file to be edited. If the \fI%s\fP escape does not appear in \fC$$editor\fP, a ++ ** space and the name to be edited are appended. ++ ** .pp ++ ** The resulting string is then executed by running ++ ** .ts ++ ** sh -c 'string' ++ ** .te ++ ** .pp ++ ** where \fIstring\fP is the expansion of \fC$$editor\fP described above. ++ */ ++ { "empty_subject", DT_STRING, &C_EmptySubject, IP "Re: your mail" }, ++ /* ++ ** .pp ++ ** This variable specifies the subject to be used when replying to an email ++ ** with an empty subject. It defaults to "Re: your mail". ++ */ ++ { "encode_from", DT_BOOL, &C_EncodeFrom, false }, ++ /* ++ ** .pp ++ ** When \fIset\fP, NeoMutt will quoted-printable encode messages when ++ ** they contain the string "From " (note the trailing space) in the beginning of a line. ++ ** This is useful to avoid the tampering certain mail delivery and transport ++ ** agents tend to do with messages (in order to prevent tools from ++ ** misinterpreting the line as a mbox message separator). ++ */ ++#ifdef USE_SSL_OPENSSL ++ { "entropy_file", DT_PATH|DT_PATH_FILE, &C_EntropyFile, 0 }, ++ /* ++ ** .pp ++ ** The file which includes random data that is used to initialize SSL ++ ** library functions. ++ */ ++#endif ++ { "envelope_from_address", DT_ADDRESS, &C_EnvelopeFromAddress, 0 }, ++ /* ++ ** .pp ++ ** Manually sets the \fIenvelope\fP sender for outgoing messages. ++ ** This value is ignored if $$use_envelope_from is \fIunset\fP. ++ */ ++ { "escape", DT_STRING, &C_Escape, IP "~" }, ++ /* ++ ** .pp ++ ** Escape character to use for functions in the built-in editor. ++ */ ++ { "external_search_command", DT_STRING|DT_COMMAND, &C_ExternalSearchCommand, 0 }, ++ /* ++ ** .pp ++ ** If set, contains the name of the external program used by "~I" patterns. ++ ** This will usually be a wrapper script around mairix, mu, or similar ++ ** indexers other than notmuch (for which there is optional special support). ++ ** .pp ++ ** Here is an example how it works. Let's assume $$external_search_command ++ ** is set to "mairix_filter", and mairix_filter is a script which ++ ** runs the old but well loved mairix indexer with the arguments ++ ** given to mairix_filter, in the "raw" mode of mairix, producing ++ ** on the standard output a list of Message-IDs, one per line. ++ ** .pp ++ ** If possible, it also filters down the results coming from mairix ++ ** such that only messages in the current folder remain. It can do ++ ** this because it gets a hidden first argument which is the path ++ ** to the folder. ++ ** (This can be the type of clean and simple script called a \fIone-liner\fP.) ++ ** .pp ++ ** Now if NeoMutt gets a limit or tag command followed by the pattern ++ ** "~I '-t s:bleeping='", mairix_filter runs mairix with the ++ ** arguments from inside the quotes (the quotes are needed because ++ ** of the space after "-t"), mairix finds all messages with ++ ** "bleeping" in the Subject plus all messages sharing threads ++ ** with these and outputs their file names, and mairix_filter ++ ** translates the file names into Message-IDs. Finally, NeoMutt ++ ** reads the Message-IDs and targets the matching messages with the ++ ** command given to it. ++ ** .pp ++ ** You, the user, still have to rewrite the mairix_filter script to ++ ** match the behavior of your indexer, but this should help users ++ ** of indexers other than notmuch to integrate them cleanly with NeoMutt. ++ */ ++ { "fast_reply", DT_BOOL, &C_FastReply, false }, ++ /* ++ ** .pp ++ ** When \fIset\fP, the initial prompt for recipients and subject are skipped ++ ** when replying to messages, and the initial prompt for subject is ++ ** skipped when forwarding messages. ++ ** .pp ++ ** \fBNote:\fP this variable has no effect when the $$autoedit ++ ** variable is \fIset\fP. ++ */ ++ { "fcc_attach", DT_QUAD, &C_FccAttach, MUTT_YES }, ++ /* ++ ** .pp ++ ** This variable controls whether or not attachments on outgoing messages ++ ** are saved along with the main body of your message. ++ */ ++ { "fcc_before_send", DT_BOOL, &C_FccBeforeSend, false }, ++ /* ++ ** .pp ++ ** When this variable is \fIset\fP, FCCs will occur before sending ++ ** the message. Before sending, the message cannot be manipulated, ++ ** so it will be stored the exact same as sent: ++ ** $$fcc_attach and $$fcc_clear will be ignored (using their default ++ ** values). ++ ** .pp ++ ** When \fIunset\fP, the default, FCCs will occur after sending. ++ ** Variables $$fcc_attach and $$fcc_clear will be respected, allowing ++ ** it to be stored without attachments or encryption/signing if ++ ** desired. ++ */ ++ { "fcc_clear", DT_BOOL, &C_FccClear, false }, ++ /* ++ ** .pp ++ ** When this variable is \fIset\fP, FCCs will be stored unencrypted and ++ ** unsigned, even when the actual message is encrypted and/or ++ ** signed. ++ ** (PGP only) ++ */ ++ { "flag_chars", DT_MBTABLE|R_INDEX|R_PAGER, &C_FlagChars, IP "*!DdrONon- " }, ++ /* ++ ** .pp ++ ** Controls the characters used in several flags. ++ ** .dl ++ ** .dt \fBCharacter\fP .dd \fBDefault\fP .dd \fBDescription\fP ++ ** .dt 1 .dd * .dd The mail is tagged. ++ ** .dt 2 .dd ! .dd The mail is flagged as important. ++ ** .dt 3 .dd D .dd The mail is marked for deletion. ++ ** .dt 4 .dd d .dd The mail has attachments marked for deletion. ++ ** .dt 5 .dd r .dd The mail has been replied to. ++ ** .dt 6 .dd O .dd The mail is Old (Unread but seen). ++ ** .dt 7 .dd N .dd The mail is New (Unread but not seen). ++ ** .dt 8 .dd o .dd The mail thread is Old (Unread but seen). ++ ** .dt 9 .dd n .dd The mail thread is New (Unread but not seen). ++ ** .dt 10 .dd - .dd The mail is read - %S expando. ++ ** .dt 11 .dd .dd The mail is read - %Z expando. ++ ** .de ++ */ ++ { "flag_safe", DT_BOOL, &C_FlagSafe, false }, ++ /* ++ ** .pp ++ ** If set, flagged messages can't be deleted. ++ */ ++ { "folder", DT_STRING|DT_MAILBOX, &C_Folder, IP "~/Mail" }, ++ /* ++ ** .pp ++ ** Specifies the default location of your mailboxes. A "+" or "=" at the ++ ** beginning of a pathname will be expanded to the value of this ++ ** variable. Note that if you change this variable (from the default) ++ ** value you need to make sure that the assignment occurs \fIbefore\fP ++ ** you use "+" or "=" for any other variables since expansion takes place ++ ** when handling the "$mailboxes" command. ++ */ ++ { "folder_format", DT_STRING|DT_NOT_EMPTY|R_MENU, &C_FolderFormat, IP "%2C %t %N %F %2l %-8.8u %-8.8g %8s %d %i" }, ++ /* ++ ** .pp ++ ** This variable allows you to customize the file browser display to your ++ ** personal taste. This string is similar to $$index_format, but has ++ ** its own set of \fCprintf(3)\fP-like sequences: ++ ** .dl ++ ** .dt %C .dd .dd Current file number ++ ** .dt %d .dd .dd Date/time folder was last modified ++ ** .dt %D .dd .dd Date/time folder was last modified using $$date_format. ++ ** .dt %f .dd .dd Filename ("/" is appended to directory names, ++ ** "@" to symbolic links and "*" to executable files) ++ ** .dt %F .dd .dd File permissions ++ ** .dt %g .dd .dd Group name (or numeric gid, if missing) ++ ** .dt %i .dd .dd Description of the folder ++ ** .dt %l .dd .dd Number of hard links ++ ** .dt %m .dd * .dd Number of messages in the mailbox ++ ** .dt %n .dd * .dd Number of unread messages in the mailbox ++ ** .dt %N .dd .dd "N" if mailbox has new mail, blank otherwise ++ ** .dt %s .dd .dd Size in bytes (see $formatstrings-size) ++ ** .dt %t .dd .dd "*" if the file is tagged, blank otherwise ++ ** .dt %u .dd .dd Owner name (or numeric uid, if missing) ++ ** .dt %>X .dd .dd Right justify the rest of the string and pad with character "X" ++ ** .dt %|X .dd .dd Pad to the end of the line with character "X" ++ ** .dt %*X .dd .dd Soft-fill with character "X" as pad ++ ** .de ++ ** .pp ++ ** For an explanation of "soft-fill", see the $$index_format documentation. ++ ** .pp ++ ** * = can be optionally printed if nonzero ++ ** .pp ++ ** %m, %n, and %N only work for monitored mailboxes. ++ ** %m requires $$mail_check_stats to be set. ++ ** %n requires $$mail_check_stats to be set (except for IMAP mailboxes). ++ */ ++ { "followup_to", DT_BOOL, &C_FollowupTo, true }, ++ /* ++ ** .pp ++ ** Controls whether or not the "Mail-Followup-To:" header field is ++ ** generated when sending mail. When \fIset\fP, NeoMutt will generate this ++ ** field when you are replying to a known mailing list, specified with ++ ** the "$subscribe" or "$lists" commands. ++ ** .pp ++ ** This field has two purposes. First, preventing you from ++ ** receiving duplicate copies of replies to messages which you send ++ ** to mailing lists, and second, ensuring that you do get a reply ++ ** separately for any messages sent to known lists to which you are ++ ** not subscribed. ++ ** .pp ++ ** The header will contain only the list's address ++ ** for subscribed lists, and both the list address and your own ++ ** email address for unsubscribed lists. Without this header, a ++ ** group reply to your message sent to a subscribed list will be ++ ** sent to both the list and your address, resulting in two copies ++ ** of the same email for you. ++ */ ++#ifdef USE_NNTP ++ { "followup_to_poster", DT_QUAD, &C_FollowupToPoster, MUTT_ASKYES }, ++ /* ++ ** .pp ++ ** If this variable is \fIset\fP and the keyword "poster" is present in ++ ** \fIFollowup-To\fP header, follow-up to newsgroup function is not ++ ** permitted. The message will be mailed to the submitter of the ++ ** message via mail. ++ */ ++#endif ++ { "force_name", DT_BOOL, &C_ForceName, false }, ++ /* ++ ** .pp ++ ** This variable is similar to $$save_name, except that NeoMutt will ++ ** store a copy of your outgoing message by the username of the address ++ ** you are sending to even if that mailbox does not exist. ++ ** .pp ++ ** Also see the $$record variable. ++ */ ++ { "forward_attachments", DT_QUAD, &C_ForwardAttachments, MUTT_ASKYES }, ++ /* ++ ** .pp ++ ** When forwarding inline (i.e. $$mime_forward \fIunset\fP or ++ ** answered with ``no'' and $$forward_decode \fIset\fP), attachments ++ ** which cannot be decoded in a reasonable manner will be attached ++ ** to the newly composed message if this quadoption is \fIset\fP or ++ ** answered with ``yes''. ++ */ ++ { "forward_attribution_intro", DT_STRING, &C_ForwardAttributionIntro, IP "----- Forwarded message from %f -----" }, ++ /* ++ ** .pp ++ ** This is the string that will precede a message which has been forwarded ++ ** in the main body of a message (when $$mime_forward is unset). ++ ** For a full listing of defined \fCprintf(3)\fP-like sequences see ++ ** the section on $$index_format. See also $$attribution_locale. ++ */ ++ { "forward_attribution_trailer", DT_STRING, &C_ForwardAttributionTrailer, IP "----- End forwarded message -----" }, ++ /* ++ ** .pp ++ ** This is the string that will follow a message which has been forwarded ++ ** in the main body of a message (when $$mime_forward is unset). ++ ** For a full listing of defined \fCprintf(3)\fP-like sequences see ++ ** the section on $$index_format. See also $$attribution_locale. ++ */ ++ { "forward_decode", DT_BOOL, &C_ForwardDecode, true }, ++ /* ++ ** .pp ++ ** Controls the decoding of complex MIME messages into \fCtext/plain\fP when ++ ** forwarding a message. The message header is also RFC2047 decoded. ++ ** This variable is only used, if $$mime_forward is \fIunset\fP, ++ ** otherwise $$mime_forward_decode is used instead. ++ */ ++ { "forward_decrypt", DT_BOOL, &C_ForwardDecrypt, true }, ++ /* ++ ** .pp ++ ** Controls the handling of encrypted messages when forwarding a message. ++ ** When \fIset\fP, the outer layer of encryption is stripped off. This ++ ** variable is only used if $$mime_forward is \fIset\fP and ++ ** $$mime_forward_decode is \fIunset\fP. ++ ** (PGP only) ++ */ ++ { "forward_edit", DT_QUAD, &C_ForwardEdit, MUTT_YES }, ++ /* ++ ** .pp ++ ** This quadoption controls whether or not the user is automatically ++ ** placed in the editor when forwarding messages. For those who always want ++ ** to forward with no modification, use a setting of "no". ++ */ ++ { "forward_format", DT_STRING|DT_NOT_EMPTY, &C_ForwardFormat, IP "[%a: %s]" }, ++ /* ++ ** .pp ++ ** This variable controls the default subject when forwarding a message. ++ ** It uses the same format sequences as the $$index_format variable. ++ */ ++ { "forward_quote", DT_BOOL, &C_ForwardQuote, false }, ++ /* ++ ** .pp ++ ** When \fIset\fP, forwarded messages included in the main body of the ++ ** message (when $$mime_forward is \fIunset\fP) will be quoted using ++ ** $$indent_string. ++ */ ++ { "forward_references", DT_BOOL, &C_ForwardReferences, false }, ++ /* ++ ** .pp ++ ** When \fIset\fP, forwarded messages set the "In-Reply-To:" and ++ ** "References:" headers in the same way as normal replies would. Hence the ++ ** forwarded message becomes part of the original thread instead of starting ++ ** a new one. ++ */ ++ { "from", DT_ADDRESS, &C_From, 0 }, ++ /* ++ ** .pp ++ ** When \fIset\fP, this variable contains a default "from" address. It ++ ** can be overridden using "$my_hdr" (including from a "$send-hook") and ++ ** $$reverse_name. This variable is ignored if $$use_from is \fIunset\fP. ++ ** .pp ++ ** If not specified, then it may be read from the environment variable \fC$$$EMAIL\fP. ++ */ ++ { "from_chars", DT_MBTABLE|R_INDEX|R_PAGER, &C_FromChars, 0 }, ++ /* ++ ** .pp ++ ** Controls the character used to prefix the %F and %L fields in the ++ ** index. ++ ** .dl ++ ** .dt \fBCharacter\fP .dd \fBDescription\fP ++ ** .dt 1 .dd Mail is written by you and has a To address, or has a known mailing list in the To address. ++ ** .dt 2 .dd Mail is written by you and has a Cc address, or has a known mailing list in the Cc address. ++ ** .dt 3 .dd Mail is written by you and has a Bcc address. ++ ** .dt 4 .dd All remaining cases. ++ ** .de ++ ** .pp ++ ** If this is empty or unset (default), the traditional long "To ", ++ ** "Cc " and "Bcc " prefixes are used. If set but too short to ++ ** include a character for a particular case, a single space will be ++ ** prepended to the field. To prevent any prefix at all from being ++ ** added in a particular case, use the special value CR (aka ^M) ++ ** for the corresponding character. ++ ** .pp ++ ** This slightly odd interface is necessitated by NeoMutt's handling of ++ ** string variables; one can't tell a variable that is unset from one ++ ** that is set to the empty string. ++ */ ++ { "gecos_mask", DT_REGEX, &C_GecosMask, IP "^[^,]*" }, ++ /* ++ ** .pp ++ ** A regular expression used by NeoMutt to parse the GECOS field of a password ++ ** entry when expanding the alias. The default value ++ ** will return the string up to the first "," encountered. ++ ** If the GECOS field contains a string like "lastname, firstname" then you ++ ** should set it to "\fC.*\fP". ++ ** .pp ++ ** This can be useful if you see the following behavior: you address an e-mail ++ ** to user ID "stevef" whose full name is "Steve Franklin". If NeoMutt expands ++ ** "stevef" to '"Franklin" stevef@foo.bar' then you should set the $$gecos_mask to ++ ** a regular expression that will match the whole name so NeoMutt will expand ++ ** "Franklin" to "Franklin, Steve". ++ */ ++#ifdef USE_NNTP ++ { "group_index_format", DT_STRING|DT_NOT_EMPTY|R_INDEX|R_PAGER, &C_GroupIndexFormat, IP "%4C %M%N %5s %-45.45f %d" }, ++ /* ++ ** .pp ++ ** This variable allows you to customize the newsgroup browser display to ++ ** your personal taste. This string is similar to "$index_format", but ++ ** has its own set of printf()-like sequences: ++ ** .dl ++ ** .dt %C .dd Current newsgroup number ++ ** .dt %d .dd Description of newsgroup (becomes from server) ++ ** .dt %f .dd Newsgroup name ++ ** .dt %M .dd - if newsgroup not allowed for direct post (moderated for example) ++ ** .dt %N .dd N if newsgroup is new, u if unsubscribed, blank otherwise ++ ** .dt %n .dd Number of new articles in newsgroup ++ ** .dt %s .dd Number of unread articles in newsgroup ++ ** .dt %>X .dd Right justify the rest of the string and pad with character "X" ++ ** .dt %|X .dd Pad to the end of the line with character "X" ++ ** .de ++ */ ++#endif ++ { "hdrs", DT_BOOL, &C_Hdrs, true }, ++ /* ++ ** .pp ++ ** When \fIunset\fP, the header fields normally added by the "$my_hdr" ++ ** command are not created. This variable \fImust\fP be unset before ++ ** composing a new message or replying in order to take effect. If \fIset\fP, ++ ** the user defined header fields are added to every new message. ++ */ ++ { "header", DT_BOOL, &C_Header, false }, ++ /* ++ ** .pp ++ ** When \fIset\fP, this variable causes NeoMutt to include the header ++ ** of the message you are replying to into the edit buffer. ++ ** The $$weed setting applies. ++ */ ++#ifdef USE_HCACHE ++ { "header_cache", DT_PATH, &C_HeaderCache, 0 }, ++ /* ++ ** .pp ++ ** This variable points to the header cache database. If the path points to ++ ** an existing directory, NeoMutt will create a dedicated header cache ++ ** database per folder. Otherwise, the path points to a regular file, which ++ ** will be created as needed and used as a shared global header cache for ++ ** all folders. ++ ** By default it is \fIunset\fP so no header caching will be used. ++ ** .pp ++ ** Header caching can greatly improve speed when opening POP, IMAP ++ ** MH or Maildir folders, see "$caching" for details. ++ */ ++ { "header_cache_backend", DT_STRING, &C_HeaderCacheBackend, 0, 0, hcache_validator }, ++ /* ++ ** .pp ++ ** This variable specifies the header cache backend. ++ */ ++#if defined(HAVE_QDBM) || defined(HAVE_TC) || defined(HAVE_KC) ++ { "header_cache_compress", DT_BOOL, &C_HeaderCacheCompress, true }, ++ /* ++ ** .pp ++ ** When NeoMutt is compiled with qdbm, tokyocabinet or kyotocabinet ++ ** as header cache backend, this option determines whether the ++ ** database will be compressed. Compression results in database ++ ** files roughly being one fifth of the usual diskspace, but the ++ ** decompression can result in a slower opening of cached folder(s) ++ ** which in general is still much faster than opening non header ++ ** cached folders. ++ */ ++#endif /* HAVE_QDBM */ ++#if defined(HAVE_GDBM) || defined(HAVE_BDB) ++ { "header_cache_pagesize", DT_LONG|DT_NOT_NEGATIVE, &C_HeaderCachePagesize, 16384 }, ++ /* ++ ** .pp ++ ** When NeoMutt is compiled with either gdbm or bdb4 as the header cache backend, ++ ** this option changes the database page size. Too large or too small ++ ** values can waste space, memory, or CPU time. The default should be more ++ ** or less optimal for most use cases. ++ */ ++#endif /* HAVE_GDBM || HAVE_BDB */ ++#if defined(USE_HCACHE_COMPRESSION) ++#ifdef HAVE_ZSTD ++ { "header_cache_compress_dictionary", DT_STRING|DT_PATH, &C_HeaderCacheCompressDictionary, IP "~/.dictionary" }, ++ /* ++ ** .pp ++ ** When NeoMutt is compiled with zstd, the header cache backend can be used together ++ ** with a dictionary to achieve better compression on the cache files. ++ */ ++#endif /* HAVE_ZSTD */ ++ { "header_cache_compress_level", DT_NUMBER|DT_NOT_NEGATIVE, &C_HeaderCacheCompressLevel, 1 }, ++ /* ++ ** .pp ++ ** When NeoMutt is compiled with lz4, zstd or zlib, this option can be used ++ ** to setup the compression level. ++ */ ++ { "header_cache_compress_method", DT_STRING, &C_HeaderCacheCompressMethod, 0, 0, compress_validator }, ++ /* ++ ** .pp ++ ** When NeoMutt is compiled with lz4, zstd or zlib, the header cache backend ++ ** can use these compression methods for compressing the cache files. ++ ** This results in much smaller cache file sizes and may even improve speed. ++ */ ++#endif /* USE_HCACHE_COMPRESSION */ ++#endif /* USE_HCACHE */ ++ { "header_color_partial", DT_BOOL|R_PAGER_FLOW, &C_HeaderColorPartial, false }, ++ /* ++ ** .pp ++ ** When \fIset\fP, color header regexes behave like color body regexes: ++ ** color is applied to the exact text matched by the regex. When ++ ** \fIunset\fP, color is applied to the entire header. ++ ** .pp ++ ** One use of this option might be to apply color to just the header labels. ++ ** .pp ++ ** See "$color" for more details. ++ */ ++ { "help", DT_BOOL|R_REFLOW, &C_Help, true }, ++ /* ++ ** .pp ++ ** When \fIset\fP, help lines describing the bindings for the major functions ++ ** provided by each menu are displayed on the first line of the screen. ++ ** .pp ++ ** \fBNote:\fP The binding will not be displayed correctly if the ++ ** function is bound to a sequence rather than a single keystroke. Also, ++ ** the help line may not be updated if a binding is changed while NeoMutt is ++ ** running. Since this variable is primarily aimed at new users, neither ++ ** of these should present a major problem. ++ */ ++ { "hidden_host", DT_BOOL, &C_HiddenHost, false }, ++ /* ++ ** .pp ++ ** When \fIset\fP, NeoMutt will skip the host name part of $$hostname variable ++ ** when adding the domain part to addresses. This variable does not ++ ** affect the generation of Message-IDs, and it will not lead to the ++ ** cut-off of first-level domains. ++ */ ++ { "hidden_tags", DT_SLIST|SLIST_SEP_COMMA, &C_HiddenTags, IP "unread,draft,flagged,passed,replied,attachment,signed,encrypted" }, ++ /* ++ ** .pp ++ ** This variable specifies private notmuch/imap tags which should not be printed ++ ** on screen. ++ */ ++ { "hide_limited", DT_BOOL|R_TREE|R_INDEX, &C_HideLimited, false }, ++ /* ++ ** .pp ++ ** When \fIset\fP, NeoMutt will not show the presence of messages that are hidden ++ ** by limiting, in the thread tree. ++ */ ++ { "hide_missing", DT_BOOL|R_TREE|R_INDEX, &C_HideMissing, true }, ++ /* ++ ** .pp ++ ** When \fIset\fP, NeoMutt will not show the presence of missing messages in the ++ ** thread tree. ++ */ ++ { "hide_thread_subject", DT_BOOL|R_TREE|R_INDEX, &C_HideThreadSubject, true }, ++ /* ++ ** .pp ++ ** When \fIset\fP, NeoMutt will not show the subject of messages in the thread ++ ** tree that have the same subject as their parent or closest previously ++ ** displayed sibling. ++ */ ++ { "hide_top_limited", DT_BOOL|R_TREE|R_INDEX, &C_HideTopLimited, false }, ++ /* ++ ** .pp ++ ** When \fIset\fP, NeoMutt will not show the presence of messages that are hidden ++ ** by limiting, at the top of threads in the thread tree. Note that when ++ ** $$hide_limited is \fIset\fP, this option will have no effect. ++ */ ++ { "hide_top_missing", DT_BOOL|R_TREE|R_INDEX, &C_HideTopMissing, true }, ++ /* ++ ** .pp ++ ** When \fIset\fP, NeoMutt will not show the presence of missing messages at the ++ ** top of threads in the thread tree. Note that when $$hide_missing is ++ ** \fIset\fP, this option will have no effect. ++ */ ++ { "history", DT_NUMBER|DT_NOT_NEGATIVE, &C_History, 10 }, ++ /* ++ ** .pp ++ ** This variable controls the size (in number of strings remembered) of ++ ** the string history buffer per category. The buffer is cleared each time the ++ ** variable is set. ++ */ ++ { "history_file", DT_PATH|DT_PATH_FILE, &C_HistoryFile, IP "~/.mutthistory" }, ++ /* ++ ** .pp ++ ** The file in which NeoMutt will save its history. ++ ** .pp ++ ** Also see $$save_history. ++ */ ++ { "history_remove_dups", DT_BOOL, &C_HistoryRemoveDups, false }, ++ /* ++ ** .pp ++ ** When \fIset\fP, all of the string history will be scanned for duplicates ++ ** when a new entry is added. Duplicate entries in the $$history_file will ++ ** also be removed when it is periodically compacted. ++ */ ++ { "honor_disposition", DT_BOOL, &C_HonorDisposition, false }, ++ /* ++ ** .pp ++ ** When \fIset\fP, NeoMutt will not display attachments with a ++ ** disposition of "attachment" inline even if it could ++ ** render the part to plain text. These MIME parts can only ++ ** be viewed from the attachment menu. ++ ** .pp ++ ** If \fIunset\fP, NeoMutt will render all MIME parts it can ++ ** properly transform to plain text. ++ */ ++ { "honor_followup_to", DT_QUAD, &C_HonorFollowupTo, MUTT_YES }, ++ /* ++ ** .pp ++ ** This variable controls whether or not a Mail-Followup-To header is ++ ** honored when group-replying to a message. ++ */ ++ { "hostname", DT_STRING, &C_Hostname, 0 }, ++ /* ++ ** .pp ++ ** Specifies the fully-qualified hostname of the system NeoMutt is running on ++ ** containing the host's name and the DNS domain it belongs to. It is used ++ ** as the domain part (after "@") for local email addresses as well as ++ ** Message-Id headers. ++ ** .pp ++ ** If not specified in a config file, then NeoMutt will try to determine the hostname itself. ++ ** .pp ++ ** Optionally, NeoMutt can be compiled with a fixed domain name. ++ ** .pp ++ ** Also see $$use_domain and $$hidden_host. ++ */ ++#ifdef HAVE_LIBIDN ++ { "idn_decode", DT_BOOL|R_MENU, &C_IdnDecode, true }, ++ /* ++ ** .pp ++ ** When \fIset\fP, NeoMutt will show you international domain names decoded. ++ ** Note: You can use IDNs for addresses even if this is \fIunset\fP. ++ ** This variable only affects decoding. (IDN only) ++ */ ++ { "idn_encode", DT_BOOL|R_MENU, &C_IdnEncode, true }, ++ /* ++ ** .pp ++ ** When \fIset\fP, NeoMutt will encode international domain names using ++ ** IDN. Unset this if your SMTP server can handle newer (RFC6531) ++ ** UTF-8 encoded domains. (IDN only) ++ */ ++#endif /* HAVE_LIBIDN */ ++ { "ignore_list_reply_to", DT_BOOL, &C_IgnoreListReplyTo, false }, ++ /* ++ ** .pp ++ ** Affects the behavior of the \fC\fP function when replying to ++ ** messages from mailing lists (as defined by the "$subscribe" or ++ ** "$lists" commands). When \fIset\fP, if the "Reply-To:" field is ++ ** set to the same value as the "To:" field, NeoMutt assumes that the ++ ** "Reply-To:" field was set by the mailing list to automate responses ++ ** to the list, and will ignore this field. To direct a response to the ++ ** mailing list when this option is \fIset\fP, use the \fC$\fP ++ ** function; \fC\fP will reply to both the sender and the ++ ** list. ++ */ ++#ifdef USE_IMAP ++ { "imap_authenticators", DT_SLIST|SLIST_SEP_COLON, &C_ImapAuthenticators, 0 }, ++ /* ++ ** .pp ++ ** This is a colon-delimited list of authentication methods NeoMutt may ++ ** attempt to use to log in to an IMAP server, in the order NeoMutt should ++ ** try them. Authentication methods are either "login" or the right ++ ** side of an IMAP "AUTH=xxx" capability string, e.g. "digest-md5", "gssapi" ++ ** or "cram-md5". This option is case-insensitive. If it's ++ ** \fIunset\fP (the default) NeoMutt will try all available methods, ++ ** in order from most-secure to least-secure. ++ ** .pp ++ ** Example: ++ ** .ts ++ ** set imap_authenticators="gssapi:cram-md5:login" ++ ** .te ++ ** .pp ++ ** \fBNote:\fP NeoMutt will only fall back to other authentication methods if ++ ** the previous methods are unavailable. If a method is available but ++ ** authentication fails, NeoMutt will not connect to the IMAP server. ++ */ ++ { "imap_check_subscribed", DT_BOOL, &C_ImapCheckSubscribed, false }, ++ /* ++ ** .pp ++ ** When \fIset\fP, NeoMutt will fetch the set of subscribed folders from ++ ** your server whenever a mailbox is \fBselected\fP, and add them to the set ++ ** of mailboxes it polls for new mail just as if you had issued individual ++ ** "$mailboxes" commands. ++ */ ++ { "imap_condstore", DT_BOOL, &C_ImapCondstore, false }, ++ /* ++ ** .pp ++ ** When \fIset\fP, NeoMutt will use the CONDSTORE extension (RFC7162) ++ ** if advertised by the server. NeoMutt's current implementation is basic, ++ ** used only for initial message fetching and flag updates. ++ ** .pp ++ ** For some IMAP servers, enabling this will slightly speed up ++ ** downloading initial messages. Unfortunately, Gmail is not one ++ ** those, and displays worse performance when enabled. Your ++ ** mileage may vary. ++ */ ++#ifdef USE_ZLIB ++ { "imap_deflate", DT_BOOL, &C_ImapDeflate, true }, ++ /* ++ ** .pp ++ ** When \fIset\fP, mutt will use the COMPRESS=DEFLATE extension (RFC4978) ++ ** if advertised by the server. ++ ** .pp ++ ** In general a good compression efficiency can be achieved, which ++ ** speeds up reading large mailboxes also on fairly good connections. ++ */ ++#endif ++ { "imap_delim_chars", DT_STRING, &C_ImapDelimChars, IP "/." }, ++ /* ++ ** .pp ++ ** This contains the list of characters which you would like to treat ++ ** as folder separators for displaying IMAP paths. In particular it ++ ** helps in using the "=" shortcut for your \fIfolder\fP variable. ++ */ ++ { "imap_fetch_chunk_size", DT_LONG|DT_NOT_NEGATIVE, &C_ImapFetchChunkSize, 0 }, ++ /* ++ ** .pp ++ ** When set to a value greater than 0, new headers will be downloaded ++ ** in sets of this size. If you have a very large mailbox, this might ++ ** prevent a timeout and disconnect when opening the mailbox, by sending ++ ** a FETCH per set of this size instead of a single FETCH for all new ++ ** headers. ++ */ ++ { "imap_headers", DT_STRING|R_INDEX, &C_ImapHeaders, 0 }, ++ /* ++ ** .pp ++ ** NeoMutt requests these header fields in addition to the default headers ++ ** ("Date:", "From:", "Sender:", "Subject:", "To:", "Cc:", "Message-Id:", ++ ** "References:", "Content-Type:", "Content-Description:", "In-Reply-To:", ++ ** "Reply-To:", "Lines:", "List-Post:", "X-Label:") from IMAP ++ ** servers before displaying the index menu. You may want to add more ++ ** headers for spam detection. ++ ** .pp ++ ** \fBNote:\fP This is a space separated list, items should be uppercase ++ ** and not contain the colon, e.g. "X-BOGOSITY X-SPAM-STATUS" for the ++ ** "X-Bogosity:" and "X-Spam-Status:" header fields. ++ */ ++ { "imap_idle", DT_BOOL, &C_ImapIdle, false }, ++ /* ++ ** .pp ++ ** When \fIset\fP, NeoMutt will attempt to use the IMAP IDLE extension ++ ** to check for new mail in the current mailbox. Some servers ++ ** (dovecot was the inspiration for this option) react badly ++ ** to NeoMutt's implementation. If your connection seems to freeze ++ ** up periodically, try unsetting this. ++ */ ++ { "imap_keepalive", DT_NUMBER|DT_NOT_NEGATIVE, &C_ImapKeepalive, 300 }, ++ /* ++ ** .pp ++ ** This variable specifies the maximum amount of time in seconds that NeoMutt ++ ** will wait before polling open IMAP connections, to prevent the server ++ ** from closing them before NeoMutt has finished with them. The default is ++ ** well within the RFC-specified minimum amount of time (30 minutes) before ++ ** a server is allowed to do this, but in practice the RFC does get ++ ** violated every now and then. Reduce this number if you find yourself ++ ** getting disconnected from your IMAP server due to inactivity. ++ */ ++ { "imap_list_subscribed", DT_BOOL, &C_ImapListSubscribed, false }, ++ /* ++ ** .pp ++ ** This variable configures whether IMAP folder browsing will look for ++ ** only subscribed folders or all folders. This can be toggled in the ++ ** IMAP browser with the \fC\fP function. ++ */ ++ { "imap_login", DT_STRING|DT_SENSITIVE, &C_ImapLogin, 0 }, ++ /* ++ ** .pp ++ ** Your login name on the IMAP server. ++ ** .pp ++ ** This variable defaults to the value of $$imap_user. ++ */ ++ { "imap_oauth_refresh_command", DT_STRING|DT_COMMAND|DT_SENSITIVE, &C_ImapOauthRefreshCommand, 0 }, ++ /* ++ ** .pp ++ ** The command to run to generate an OAUTH refresh token for ++ ** authorizing your connection to your IMAP server. This command will be ++ ** run on every connection attempt that uses the OAUTHBEARER authentication ++ ** mechanism. See "$oauth" for details. ++ */ ++ { "imap_pass", DT_STRING|DT_SENSITIVE, &C_ImapPass, 0 }, ++ /* ++ ** .pp ++ ** Specifies the password for your IMAP account. If \fIunset\fP, NeoMutt will ++ ** prompt you for your password when you invoke the \fC\fP function ++ ** or try to open an IMAP folder. ++ ** .pp ++ ** \fBWarning\fP: you should only use this option when you are on a ++ ** fairly secure machine, because the superuser can read your neomuttrc even ++ ** if you are the only one who can read the file. ++ */ ++ { "imap_passive", DT_BOOL, &C_ImapPassive, true }, ++ /* ++ ** .pp ++ ** When \fIset\fP, NeoMutt will not open new IMAP connections to check for new ++ ** mail. NeoMutt will only check for new mail over existing IMAP ++ ** connections. This is useful if you don't want to be prompted for ++ ** user/password pairs on NeoMutt invocation, or if opening the connection ++ ** is slow. ++ */ ++ { "imap_peek", DT_BOOL, &C_ImapPeek, true }, ++ /* ++ ** .pp ++ ** When \fIset\fP, NeoMutt will avoid implicitly marking your mail as read whenever ++ ** you fetch a message from the server. This is generally a good thing, ++ ** but can make closing an IMAP folder somewhat slower. This option ++ ** exists to appease speed freaks. ++ */ ++ { "imap_pipeline_depth", DT_NUMBER|DT_NOT_NEGATIVE, &C_ImapPipelineDepth, 15 }, ++ /* ++ ** .pp ++ ** Controls the number of IMAP commands that may be queued up before they ++ ** are sent to the server. A deeper pipeline reduces the amount of time ++ ** NeoMutt must wait for the server, and can make IMAP servers feel much ++ ** more responsive. But not all servers correctly handle pipelined commands, ++ ** so if you have problems you might want to try setting this variable to 0. ++ ** .pp ++ ** \fBNote:\fP Changes to this variable have no effect on open connections. ++ */ ++ { "imap_poll_timeout", DT_NUMBER|DT_NOT_NEGATIVE, &C_ImapPollTimeout, 15 }, ++ /* ++ ** .pp ++ ** This variable specifies the maximum amount of time in seconds ++ ** that NeoMutt will wait for a response when polling IMAP connections ++ ** for new mail, before timing out and closing the connection. Set ++ ** to 0 to disable timing out. ++ */ ++ { "imap_qresync", DT_BOOL, &C_ImapQresync, false }, ++ /* ++ ** .pp ++ ** When \fIset\fP, NeoMutt will use the QRESYNC extension (RFC7162) ++ ** if advertised by the server. NeoMutt's current implementation is basic, ++ ** used only for initial message fetching and flag updates. ++ ** .pp ++ ** Note: this feature is currently experimental. If you experience ++ ** strange behavior, such as duplicate or missing messages please ++ ** file a bug report to let us know. ++ */ ++ { "imap_rfc5161", DT_BOOL, &C_ImapRfc5161, true }, ++ /* ++ ** .pp ++ ** When \fIset\fP, NeoMutt will use the IMAP ENABLE extension (RFC5161) to ++ ** select CAPABILITIES. Some servers (notably Coremail System IMap Server) do ++ ** not properly respond to ENABLE commands, which might cause NeoMutt to hang. ++ ** If your connection seems to freeze at login, try unsetting this. See also ++ ** https://github.com/neomutt/neomutt/issues/1689 ++ */ ++ { "imap_servernoise", DT_BOOL, &C_ImapServernoise, true }, ++ /* ++ ** .pp ++ ** When \fIset\fP, NeoMutt will display warning messages from the IMAP ++ ** server as error messages. Since these messages are often ++ ** harmless, or generated due to configuration problems on the ++ ** server which are out of the users' hands, you may wish to suppress ++ ** them at some point. ++ */ ++ { "imap_user", DT_STRING|DT_SENSITIVE, &C_ImapUser, 0 }, ++ /* ++ ** .pp ++ ** The name of the user whose mail you intend to access on the IMAP ++ ** server. ++ ** .pp ++ ** This variable defaults to your user name on the local machine. ++ */ ++#endif ++ { "implicit_autoview", DT_BOOL, &C_ImplicitAutoview, false }, ++ /* ++ ** .pp ++ ** If set to "yes", NeoMutt will look for a mailcap entry with the ++ ** "\fCcopiousoutput\fP" flag set for \fIevery\fP MIME attachment it doesn't have ++ ** an internal viewer defined for. If such an entry is found, NeoMutt will ++ ** use the viewer defined in that entry to convert the body part to text ++ ** form. ++ */ ++ { "include", DT_QUAD, &C_Include, MUTT_ASKYES }, ++ /* ++ ** .pp ++ ** Controls whether or not a copy of the message(s) you are replying to ++ ** is included in your reply. ++ */ ++ { "include_encrypted", DT_BOOL, &C_IncludeEncrypted, false }, ++ /* ++ ** .pp ++ ** Controls whether or not NeoMutt includes separately encrypted attachment ++ ** contents when replying. ++ ** .pp ++ ** This variable was added to prevent accidental exposure of encrypted ++ ** contents when replying to an attacker. If a previously encrypted message ++ ** were attached by the attacker, they could trick an unwary recipient into ++ ** decrypting and including the message in their reply. ++ */ ++ { "include_onlyfirst", DT_BOOL, &C_IncludeOnlyfirst, false }, ++ /* ++ ** .pp ++ ** Controls whether or not NeoMutt includes only the first attachment ++ ** of the message you are replying. ++ */ ++ { "indent_string", DT_STRING, &C_IndentString, IP "> " }, ++ /* ++ ** .pp ++ ** Specifies the string to prepend to each line of text quoted in a ++ ** message to which you are replying. You are strongly encouraged not to ++ ** change this value, as it tends to agitate the more fanatical netizens. ++ ** .pp ++ ** The value of this option is ignored if $$text_flowed is set, because ++ ** the quoting mechanism is strictly defined for format=flowed. ++ ** .pp ++ ** This option is a format string, please see the description of ++ ** $$index_format for supported \fCprintf(3)\fP-style sequences. ++ */ ++ { "index_format", DT_STRING|DT_NOT_EMPTY|R_INDEX|R_PAGER, &C_IndexFormat, IP "%4C %Z %{%b %d} %-15.15L (%?l?%4l&%4c?) %s" }, ++ /* ++ ** .pp ++ ** This variable allows you to customize the message index display to ++ ** your personal taste. ++ ** .pp ++ ** "Format strings" are similar to the strings used in the C ++ ** function \fCprintf(3)\fP to format output (see the man page for more details). ++ ** For an explanation of the %? construct, see the $status_format description. ++ ** The following sequences are defined in NeoMutt: ++ ** .dl ++ ** .dt %a .dd Address of the author ++ ** .dt %A .dd Reply-to address (if present; otherwise: address of author) ++ ** .dt %b .dd Filename of the original message folder (think mailbox) ++ ** .dt %B .dd The list to which the letter was sent, or else the folder name (%b). ++ ** .dt %C .dd Current message number ++ ** .dt %c .dd Number of characters (bytes) in the body of the message (see $formatstrings-size) ++ ** .dt %cr .dd Number of characters (bytes) in the raw message, including the header (see $formatstrings-size) ++ ** .dt %D .dd Date and time of message using $date_format and local timezone ++ ** .dt %d .dd Date and time of message using $date_format and sender's timezone ++ ** .dt %e .dd Current message number in thread ++ ** .dt %E .dd Number of messages in current thread ++ ** .dt %F .dd Author name, or recipient name if the message is from you ++ ** .dt %Fp .dd Like %F, but plain. No contextual formatting is applied to recipient name ++ ** .dt %f .dd Sender (address + real name), either From: or Return-Path: ++ ** .dt %g .dd Newsgroup name (if compiled with NNTP support) ++ ** .dt %g .dd Message tags (e.g. notmuch tags/imap flags) ++ ** .dt %Gx .dd Individual message tag (e.g. notmuch tags/imap flags) ++ ** .dt %H .dd Spam attribute(s) of this message ++ ** .dt %I .dd Initials of author ++ ** .dt %i .dd Message-id of the current message ++ ** .dt %J .dd Message tags (if present, tree unfolded, and != parent's tags) ++ ** .dt %K .dd The list to which the letter was sent (if any; otherwise: empty) ++ ** .dt %L .dd If an address in the "To:" or "Cc:" header field matches an address ++ ** Defined by the users "$subscribe" command, this displays ++ ** "To ", otherwise the same as %F ++ ** .dt %l .dd number of lines in the unprocessed message (may not work with ++ ** maildir, mh, and IMAP folders) ++ ** .dt %M .dd Number of hidden messages if the thread is collapsed ++ ** .dt %m .dd Total number of message in the mailbox ++ ** .dt %N .dd Message score ++ ** .dt %n .dd Author's real name (or address if missing) ++ ** .dt %O .dd Original save folder where NeoMutt would formerly have ++ ** Stashed the message: list name or recipient name ++ ** If not sent to a list ++ ** .dt %P .dd Progress indicator for the built-in pager (how much of the file has been displayed) ++ ** .dt %q .dd Newsgroup name (if compiled with NNTP support) ++ ** .dt %R .dd Comma separated list of "Cc:" recipients ++ ** .dt %r .dd Comma separated list of "To:" recipients ++ ** .dt %S .dd Single character status of the message ("N"/"O"/"D"/"d"/"!"/"r"/"\(as") ++ ** .dt %s .dd Subject of the message ++ ** .dt %T .dd The appropriate character from the $$to_chars string ++ ** .dt %t .dd "To:" field (recipients) ++ ** .dt %u .dd User (login) name of the author ++ ** .dt %v .dd First name of the author, or the recipient if the message is from you ++ ** .dt %W .dd Name of organization of author ("Organization:" field) ++ ** .dt %x .dd "X-Comment-To:" field (if present and compiled with NNTP support) ++ ** .dt %X .dd Number of MIME attachments ++ ** (please see the "$attachments" section for possible speed effects) ++ ** .dt %Y .dd "X-Label:" field, if present, and \fI(1)\fP not at part of a thread tree, ++ ** \fI(2)\fP at the top of a thread, or \fI(3)\fP "X-Label:" is different from ++ ** Preceding message's "X-Label:" ++ ** .dt %y .dd "X-Label:" field, if present ++ ** .dt %Z .dd A three character set of message status flags. ++ ** The first character is new/read/replied flags ("n"/"o"/"r"/"O"/"N"). ++ ** The second is deleted or encryption flags ("D"/"d"/"S"/"P"/"s"/"K"). ++ ** The third is either tagged/flagged ("\(as"/"!"), or one of the characters ++ ** Listed in $$to_chars. ++ ** .dt %zc .dd Message crypto flags ++ ** .dt %zs .dd Message status flags ++ ** .dt %zt .dd Message tag flags ++ ** .dt %@name@ .dd insert and evaluate format-string from the matching ++ ** ``$index-format-hook'' command ++ ** .dt %{fmt} .dd the date and time of the message is converted to sender's ++ ** time zone, and "fmt" is expanded by the library function ++ ** \fCstrftime(3)\fP; a leading bang disables locales ++ ** .dt %[fmt] .dd the date and time of the message is converted to the local ++ ** time zone, and "fmt" is expanded by the library function ++ ** \fCstrftime(3)\fP; a leading bang disables locales ++ ** .dt %(fmt) .dd the local date and time when the message was received. ++ ** "fmt" is expanded by the library function \fCstrftime(3)\fP; ++ ** a leading bang disables locales ++ ** .dt %>X .dd right justify the rest of the string and pad with character "X" ++ ** .dt %|X .dd pad to the end of the line with character "X" ++ ** .dt %*X .dd soft-fill with character "X" as pad ++ ** .de ++ ** .pp ++ ** Date format expressions can be constructed based on relative dates. Using ++ ** the date formatting operators along with nested conditionals, the date ++ ** format can be modified based on how old a message is. See the section on ++ ** "Conditional Dates" for an explanation and examples ++ ** .pp ++ ** Note that for mbox/mmdf, ``%l'' applies to the unprocessed message, and ++ ** for maildir/mh, the value comes from the ``Lines:'' header field when ++ ** present (the meaning is normally the same). Thus the value depends on ++ ** the encodings used in the different parts of the message and has little ++ ** meaning in practice. ++ ** .pp ++ ** "Soft-fill" deserves some explanation: Normal right-justification ++ ** will print everything to the left of the "%>", displaying padding and ++ ** whatever lies to the right only if there's room. By contrast, ++ ** soft-fill gives priority to the right-hand side, guaranteeing space ++ ** to display it and showing padding only if there's still room. If ++ ** necessary, soft-fill will eat text leftwards to make room for ++ ** rightward text. ++ ** .pp ++ ** Note that these expandos are supported in ++ ** ``$save-hook'', ``$fcc-hook'' and ``$fcc-save-hook'', too. ++ */ ++#ifdef USE_NNTP ++ { "inews", DT_STRING|DT_COMMAND, &C_Inews, 0 }, ++ /* ++ ** .pp ++ ** If set, specifies the program and arguments used to deliver news posted ++ ** by NeoMutt. Otherwise, NeoMutt posts article using current connection to ++ ** news server. The following printf-style sequence is understood: ++ ** .dl ++ ** .dt %a .dd account url ++ ** .dt %p .dd port ++ ** .dt %P .dd port if specified ++ ** .dt %s .dd news server name ++ ** .dt %S .dd url schema ++ ** .dt %u .dd username ++ ** .de ++ ** .pp ++ ** Example: ++ ** .ts ++ ** set inews="/usr/local/bin/inews -hS" ++ ** .te ++ */ ++#endif ++ { "ispell", DT_STRING|DT_COMMAND, &C_Ispell, IP ISPELL }, ++ /* ++ ** .pp ++ ** How to invoke ispell (GNU's spell-checking software). ++ */ ++ { "keep_flagged", DT_BOOL, &C_KeepFlagged, false }, ++ /* ++ ** .pp ++ ** If \fIset\fP, read messages marked as flagged will not be moved ++ ** from your spool mailbox to your $$mbox mailbox, or as a result of ++ ** a "$mbox-hook" command. ++ */ ++ { "mail_check", DT_NUMBER|DT_NOT_NEGATIVE, &C_MailCheck, 5 }, ++ /* ++ ** .pp ++ ** This variable configures how often (in seconds) NeoMutt should look for ++ ** new mail. Also see the $$timeout variable. ++ */ ++ { "mail_check_recent", DT_BOOL, &C_MailCheckRecent, true }, ++ /* ++ ** .pp ++ ** When \fIset\fP, NeoMutt will only notify you about new mail that has been received ++ ** since the last time you opened the mailbox. When \fIunset\fP, NeoMutt will notify you ++ ** if any new mail exists in the mailbox, regardless of whether you have visited it ++ ** recently. ++ ** .pp ++ ** When \fI$$mark_old\fP is set, NeoMutt does not consider the mailbox to contain new ++ ** mail if only old messages exist. ++ */ ++ { "mail_check_stats", DT_BOOL, &C_MailCheckStats, false }, ++ /* ++ ** .pp ++ ** When \fIset\fP, NeoMutt will periodically calculate message ++ ** statistics of a mailbox while polling for new mail. It will ++ ** check for unread, flagged, and total message counts. Because ++ ** this operation is more performance intensive, it defaults to ++ ** \fIunset\fP, and has a separate option, $$mail_check_stats_interval, to ++ ** control how often to update these counts. ++ ** .pp ++ ** Message statistics can also be explicitly calculated by invoking the ++ ** \fC\fP function. ++ */ ++ { "mail_check_stats_interval", DT_NUMBER|DT_NOT_NEGATIVE, &C_MailCheckStatsInterval, 60 }, ++ /* ++ ** .pp ++ ** When $$mail_check_stats is \fIset\fP, this variable configures ++ ** how often (in seconds) NeoMutt will update message counts. ++ */ ++ { "mailcap_path", DT_SLIST|SLIST_SEP_COLON, &C_MailcapPath, IP "~/.mailcap:" PKGDATADIR "/mailcap:" SYSCONFDIR "/mailcap:/etc/mailcap:/usr/etc/mailcap:/usr/local/etc/mailcap" }, ++ /* ++ ** .pp ++ ** This variable specifies which files to consult when attempting to ++ ** display MIME bodies not directly supported by NeoMutt. The default value ++ ** is generated during startup: see the ``$mailcap'' section of the manual. ++ ** .pp ++ ** $$mailcap_path is overridden by the environment variable \fC$$$MAILCAPS\fP. ++ ** .pp ++ ** The default search path is from RFC1524. ++ */ ++ { "mailcap_sanitize", DT_BOOL, &C_MailcapSanitize, true }, ++ /* ++ ** .pp ++ ** If \fIset\fP, NeoMutt will restrict possible characters in mailcap % expandos ++ ** to a well-defined set of safe characters. This is the safe setting, ++ ** but we are not sure it doesn't break some more advanced MIME stuff. ++ ** .pp ++ ** \fBDON'T CHANGE THIS SETTING UNLESS YOU ARE REALLY SURE WHAT YOU ARE ++ ** DOING!\fP ++ */ ++ { "maildir_check_cur", DT_BOOL, &C_MaildirCheckCur, false }, ++ /* ++ ** .pp ++ ** If \fIset\fP, NeoMutt will poll both the new and cur directories of ++ ** a maildir folder for new messages. This might be useful if other ++ ** programs interacting with the folder (e.g. dovecot) are moving new ++ ** messages to the cur directory. Note that setting this option may ++ ** slow down polling for new messages in large folders, since NeoMutt has ++ ** to scan all cur messages. ++ */ ++#ifdef USE_HCACHE ++ { "maildir_header_cache_verify", DT_BOOL, &C_MaildirHeaderCacheVerify, true }, ++ /* ++ ** .pp ++ ** Check for Maildir unaware programs other than NeoMutt having modified maildir ++ ** files when the header cache is in use. This incurs one \fCstat(2)\fP per ++ ** message every time the folder is opened (which can be very slow for NFS ++ ** folders). ++ */ ++#endif ++ { "maildir_trash", DT_BOOL, &C_MaildirTrash, false }, ++ /* ++ ** .pp ++ ** If \fIset\fP, messages marked as deleted will be saved with the maildir ++ ** trashed flag instead of unlinked. \fBNote:\fP this only applies ++ ** to maildir-style mailboxes. Setting it will have no effect on other ++ ** mailbox types. ++ */ ++ { "mark_macro_prefix", DT_STRING, &C_MarkMacroPrefix, IP "'" }, ++ /* ++ ** .pp ++ ** Prefix for macros created using mark-message. A new macro ++ ** automatically generated with \fIa\fP will be composed ++ ** from this prefix and the letter \fIa\fP. ++ */ ++ { "mark_old", DT_BOOL|R_INDEX|R_PAGER, &C_MarkOld, true }, ++ /* ++ ** .pp ++ ** Controls whether or not NeoMutt marks \fInew\fP \fBunread\fP ++ ** messages as \fIold\fP if you exit a mailbox without reading them. ++ ** With this option \fIset\fP, the next time you start NeoMutt, the messages ++ ** will show up with an "O" next to them in the index menu, ++ ** indicating that they are old. ++ */ ++ { "markers", DT_BOOL|R_PAGER_FLOW, &C_Markers, true }, ++ /* ++ ** .pp ++ ** Controls the display of wrapped lines in the internal pager. If set, a ++ ** "+" marker is displayed at the beginning of wrapped lines. ++ ** .pp ++ ** Also see the $$smart_wrap variable. ++ */ ++ { "mask", DT_REGEX|DT_REGEX_MATCH_CASE|DT_REGEX_ALLOW_NOT|DT_REGEX_NOSUB, &C_Mask, IP "!^\\.[^.]" }, ++ /* ++ ** .pp ++ ** A regular expression used in the file browser, optionally preceded by ++ ** the \fInot\fP operator "!". Only files whose names match this mask ++ ** will be shown. The match is always case-sensitive. ++ */ ++ { "mbox", DT_STRING|DT_MAILBOX|R_INDEX|R_PAGER, &C_Mbox, IP "~/mbox" }, ++ /* ++ ** .pp ++ ** This specifies the folder into which read mail in your $$spoolfile ++ ** folder will be appended. ++ ** .pp ++ ** Also see the $$move variable. ++ */ ++ { "mbox_type", DT_ENUM, &C_MboxType, MUTT_MBOX, IP &MagicDef }, ++ /* ++ ** .pp ++ ** The default mailbox type used when creating new folders. May be any of ++ ** "mbox", "MMDF", "MH" or "Maildir". ++ ** .pp ++ ** This can also be set using the \fC-m\fP command-line option. ++ */ ++ { "menu_context", DT_NUMBER|DT_NOT_NEGATIVE, &C_MenuContext, 0 }, ++ /* ++ ** .pp ++ ** This variable controls the number of lines of context that are given ++ ** when scrolling through menus. (Similar to $$pager_context.) ++ */ ++ { "menu_move_off", DT_BOOL, &C_MenuMoveOff, true }, ++ /* ++ ** .pp ++ ** When \fIunset\fP, the bottom entry of menus will never scroll up past ++ ** the bottom of the screen, unless there are less entries than lines. ++ ** When \fIset\fP, the bottom entry may move off the bottom. ++ */ ++ { "menu_scroll", DT_BOOL, &C_MenuScroll, false }, ++ /* ++ ** .pp ++ ** When \fIset\fP, menus will be scrolled up or down one line when you ++ ** attempt to move across a screen boundary. If \fIunset\fP, the screen ++ ** is cleared and the next or previous page of the menu is displayed ++ ** (useful for slow links to avoid many redraws). ++ */ ++#if defined(USE_IMAP) || defined(USE_POP) ++ { "message_cache_clean", DT_BOOL, &C_MessageCacheClean, false }, ++ /* ++ ** .pp ++ ** If \fIset\fP, NeoMutt will clean out obsolete entries from the message cache when ++ ** the mailbox is synchronized. You probably only want to set it ++ ** every once in a while, since it can be a little slow ++ ** (especially for large folders). ++ */ ++ { "message_cachedir", DT_PATH|DT_PATH_DIR, &C_MessageCachedir, 0 }, ++ /* ++ ** .pp ++ ** Set this to a directory and NeoMutt will cache copies of messages from ++ ** your IMAP and POP servers here. You are free to remove entries at any ++ ** time. ++ ** .pp ++ ** When setting this variable to a directory, NeoMutt needs to fetch every ++ ** remote message only once and can perform regular expression searches ++ ** as fast as for local folders. ++ ** .pp ++ ** Also see the $$message_cache_clean variable. ++ */ ++#endif ++ { "message_format", DT_STRING|DT_NOT_EMPTY, &C_MessageFormat, IP "%s" }, ++ /* ++ ** .pp ++ ** This is the string displayed in the "attachment" menu for ++ ** attachments of type \fCmessage/rfc822\fP. For a full listing of defined ++ ** \fCprintf(3)\fP-like sequences see the section on $$index_format. ++ */ ++ { "meta_key", DT_BOOL, &C_MetaKey, false }, ++ /* ++ ** .pp ++ ** If \fIset\fP, forces NeoMutt to interpret keystrokes with the high bit (bit 8) ++ ** set as if the user had pressed the Esc key and whatever key remains ++ ** after having the high bit removed. For example, if the key pressed ++ ** has an ASCII value of \fC0xf8\fP, then this is treated as if the user had ++ ** pressed Esc then "x". This is because the result of removing the ++ ** high bit from \fC0xf8\fP is \fC0x78\fP, which is the ASCII character ++ ** "x". ++ */ ++ { "metoo", DT_BOOL, &C_Metoo, false }, ++ /* ++ ** .pp ++ ** If \fIunset\fP, NeoMutt will remove your address (see the "$alternates" ++ ** command) from the list of recipients when replying to a message. ++ */ ++ { "mh_purge", DT_BOOL, &C_MhPurge, false }, ++ /* ++ ** .pp ++ ** When \fIunset\fP, NeoMutt will mimic mh's behavior and rename deleted messages ++ ** to \fI,\fP in mh folders instead of really deleting ++ ** them. This leaves the message on disk but makes programs reading the folder ++ ** ignore it. If the variable is \fIset\fP, the message files will simply be ++ ** deleted. ++ ** .pp ++ ** This option is similar to $$maildir_trash for Maildir folders. ++ */ ++ { "mh_seq_flagged", DT_STRING, &C_MhSeqFlagged, IP "flagged" }, ++ /* ++ ** .pp ++ ** The name of the MH sequence used for flagged messages. ++ */ ++ { "mh_seq_replied", DT_STRING, &C_MhSeqReplied, IP "replied" }, ++ /* ++ ** .pp ++ ** The name of the MH sequence used to tag replied messages. ++ */ ++ { "mh_seq_unseen", DT_STRING, &C_MhSeqUnseen, IP "unseen" }, ++ /* ++ ** .pp ++ ** The name of the MH sequence used for unseen messages. ++ */ ++ { "mime_forward", DT_QUAD, &C_MimeForward, MUTT_NO }, ++ /* ++ ** .pp ++ ** When \fIset\fP, the message you are forwarding will be attached as a ++ ** separate \fCmessage/rfc822\fP MIME part instead of included in the main body of the ++ ** message. This is useful for forwarding MIME messages so the receiver ++ ** can properly view the message as it was delivered to you. If you like ++ ** to switch between MIME and not MIME from mail to mail, set this ++ ** variable to "ask-no" or "ask-yes". ++ ** .pp ++ ** Also see $$forward_decode and $$mime_forward_decode. ++ */ ++ { "mime_forward_decode", DT_BOOL, &C_MimeForwardDecode, false }, ++ /* ++ ** .pp ++ ** Controls the decoding of complex MIME messages into \fCtext/plain\fP when ++ ** forwarding a message while $$mime_forward is \fIset\fP. Otherwise ++ ** $$forward_decode is used instead. ++ */ ++ { "mime_forward_rest", DT_QUAD, &C_MimeForwardRest, MUTT_YES }, ++ /* ++ ** .pp ++ ** When forwarding multiple attachments of a MIME message from the attachment ++ ** menu, attachments which can't be decoded in a reasonable manner will ++ ** be attached to the newly composed message if this option is \fIset\fP. ++ */ ++#ifdef USE_NNTP ++ { "mime_subject", DT_BOOL, &C_MimeSubject, true }, ++ /* ++ ** .pp ++ ** If \fIunset\fP, 8-bit "subject:" line in article header will not be ++ ** encoded according to RFC2047 to base64. This is useful when message ++ ** is Usenet article, because MIME for news is nonstandard feature. ++ */ ++#endif ++ { "mime_type_query_command", DT_STRING|DT_COMMAND, &C_MimeTypeQueryCommand, 0 }, ++ /* ++ ** .pp ++ ** This specifies a command to run, to determine the mime type of a ++ ** new attachment when composing a message. Unless ++ ** $$mime_type_query_first is set, this will only be run if the ++ ** attachment's extension is not found in the mime.types file. ++ ** .pp ++ ** The string may contain a "%s", which will be substituted with the ++ ** attachment filename. NeoMutt will add quotes around the string substituted ++ ** for "%s" automatically according to shell quoting rules, so you should ++ ** avoid adding your own. If no "%s" is found in the string, NeoMutt will ++ ** append the attachment filename to the end of the string. ++ ** .pp ++ ** The command should output a single line containing the ++ ** attachment's mime type. ++ ** .pp ++ ** Suggested values are "xdg-mime query filetype" or ++ ** "file -bi". ++ */ ++ { "mime_type_query_first", DT_BOOL, &C_MimeTypeQueryFirst, false }, ++ /* ++ ** .pp ++ ** When \fIset\fP, the $$mime_type_query_command will be run before the ++ ** mime.types lookup. ++ */ ++#ifdef MIXMASTER ++ { "mix_entry_format", DT_STRING|DT_NOT_EMPTY, &C_MixEntryFormat, IP "%4n %c %-16s %a" }, ++ /* ++ ** .pp ++ ** This variable describes the format of a remailer line on the mixmaster ++ ** chain selection screen. The following \fCprintf(3)\fP-like sequences are ++ ** supported: ++ ** .dl ++ ** .dt %a .dd The remailer's e-mail address ++ ** .dt %c .dd Remailer capabilities ++ ** .dt %n .dd The running number on the menu ++ ** .dt %s .dd The remailer's short name ++ ** .de ++ */ ++ { "mixmaster", DT_STRING|DT_COMMAND, &C_Mixmaster, IP MIXMASTER }, ++ /* ++ ** .pp ++ ** This variable contains the path to the Mixmaster binary on your ++ ** system. It is used with various sets of parameters to gather the ++ ** list of known remailers, and to finally send a message through the ++ ** mixmaster chain. ++ */ ++#endif ++ { "move", DT_QUAD, &C_Move, MUTT_NO }, ++ /* ++ ** .pp ++ ** Controls whether or not NeoMutt will move read messages ++ ** from your spool mailbox to your $$mbox mailbox, or as a result of ++ ** a "$mbox-hook" command. ++ */ ++ { "narrow_tree", DT_BOOL|R_TREE|R_INDEX, &C_NarrowTree, false }, ++ /* ++ ** .pp ++ ** This variable, when \fIset\fP, makes the thread tree narrower, allowing ++ ** deeper threads to fit on the screen. ++ */ ++#ifdef USE_SOCKET ++ { "net_inc", DT_NUMBER|DT_NOT_NEGATIVE, &C_NetInc, 10 }, ++ /* ++ ** .pp ++ ** Operations that expect to transfer a large amount of data over the ++ ** network will update their progress every $$net_inc kilobytes. ++ ** If set to 0, no progress messages will be displayed. ++ ** .pp ++ ** See also $$read_inc, $$write_inc and $$net_inc. ++ */ ++#endif ++ { "new_mail_command", DT_STRING|DT_COMMAND, &C_NewMailCommand, 0 }, ++ /* ++ ** .pp ++ ** If \fIset\fP, NeoMutt will call this command after a new message is received. ++ ** See the $$status_format documentation for the values that can be formatted ++ ** into this command. ++ */ ++#ifdef USE_NNTP ++ { "news_cache_dir", DT_PATH|DT_PATH_DIR, &C_NewsCacheDir, IP "~/.neomutt" }, ++ /* ++ ** .pp ++ ** This variable pointing to directory where NeoMutt will save cached news ++ ** articles and headers in. If \fIunset\fP, articles and headers will not be ++ ** saved at all and will be reloaded from the server each time. ++ */ ++ { "news_server", DT_STRING, &C_NewsServer, 0 }, ++ /* ++ ** .pp ++ ** This variable specifies domain name or address of NNTP server. ++ ** .pp ++ ** You can also specify username and an alternative port for each news server, ++ ** e.g. \fC[[s]news://][username[:password]@]server[:port]\fP ++ ** .pp ++ ** This option can also be set using the command line option "-g", the ++ ** environment variable \fC$$$NNTPSERVER\fP, or putting the server name in the ++ ** file "/etc/nntpserver". ++ */ ++ { "newsgroups_charset", DT_STRING, &C_NewsgroupsCharset, IP "utf-8", 0, charset_validator }, ++ /* ++ ** .pp ++ ** Character set of newsgroups descriptions. ++ */ ++ { "newsrc", DT_PATH|DT_PATH_FILE, &C_Newsrc, IP "~/.newsrc" }, ++ /* ++ ** .pp ++ ** The file, containing info about subscribed newsgroups - names and ++ ** indexes of read articles. The following printf-style sequence ++ ** is understood: ++ ** .dl ++ ** .dt \fBExpando\fP .dd \fBDescription\fP .dd \fBExample\fP ++ ** .dt %a .dd Account url .dd \fCnews:news.gmane.org\fP ++ ** .dt %p .dd Port .dd \fC119\fP ++ ** .dt %P .dd Port if specified .dd \fC10119\fP ++ ** .dt %s .dd News server name .dd \fCnews.gmane.org\fP ++ ** .dt %S .dd Url schema .dd \fCnews\fP ++ ** .dt %u .dd Username .dd \fCusername\fP ++ ** .de ++ */ ++#endif ++#ifdef USE_NOTMUCH ++ { "nm_db_limit", DT_NUMBER|DT_NOT_NEGATIVE, &C_NmDbLimit, 0 }, ++ /* ++ ** .pp ++ ** This variable specifies the default limit used in notmuch queries. ++ */ ++ { "nm_default_url", DT_STRING, &C_NmDefaultUrl, 0 }, ++ /* ++ ** .pp ++ ** This variable specifies the default Notmuch database in format ++ ** notmuch://. ++ */ ++ { "nm_exclude_tags", DT_STRING, &C_NmExcludeTags, 0 }, ++ /* ++ ** .pp ++ ** The messages tagged with these tags are excluded and not loaded ++ ** from notmuch DB to NeoMutt unless specified explicitly. ++ */ ++ { "nm_flagged_tag", DT_STRING, &C_NmFlaggedTag, IP "flagged" }, ++ /* ++ ** .pp ++ ** This variable specifies notmuch tag which is used for flagged messages. The ++ ** variable is used to count flagged messages in DB and set the flagged flag when ++ ** modifying tags. All other NeoMutt commands use standard (e.g. maildir) flags. ++ */ ++ { "nm_open_timeout", DT_NUMBER|DT_NOT_NEGATIVE, &C_NmOpenTimeout, 5 }, ++ /* ++ ** .pp ++ ** This variable specifies the timeout for database open in seconds. ++ */ ++ { "nm_query_type", DT_STRING, &C_NmQueryType, IP "messages" }, ++ /* ++ ** .pp ++ ** This variable specifies the default query type (threads or messages) used in notmuch queries. ++ */ ++ { "nm_query_window_current_position", DT_NUMBER, &C_NmQueryWindowCurrentPosition, 0 }, ++ /* ++ ** .pp ++ ** This variable contains the position of the current search for window based vfolder. ++ */ ++ { "nm_query_window_current_search", DT_STRING, &C_NmQueryWindowCurrentSearch, 0 }, ++ /* ++ ** .pp ++ ** This variable contains the currently setup notmuch search for window based vfolder. ++ */ ++ { "nm_query_window_duration", DT_NUMBER|DT_NOT_NEGATIVE, &C_NmQueryWindowDuration, 0 }, ++ /* ++ ** .pp ++ ** This variable sets the time duration of a windowed notmuch query. ++ ** Accepted values all non negative integers. A value of 0 disables the feature. ++ */ ++ { "nm_query_window_timebase", DT_STRING, &C_NmQueryWindowTimebase, IP "week" }, ++ /* ++ ** .pp ++ ** This variable sets the time base of a windowed notmuch query. ++ ** Accepted values are 'minute', 'hour', 'day', 'week', 'month', 'year' ++ */ ++ { "nm_record", DT_BOOL, &C_NmRecord, false }, ++ /* ++ ** .pp ++ ** This variable specifies if the NeoMutt record should indexed by notmuch. ++ */ ++ { "nm_record_tags", DT_STRING, &C_NmRecordTags, 0 }, ++ /* ++ ** .pp ++ ** This variable specifies the default tags applied to messages stored to the NeoMutt record. ++ ** When set to 0 this variable disable the window feature. ++ */ ++ { "nm_replied_tag", DT_STRING, &C_NmRepliedTag, IP "replied" }, ++ /* ++ ** .pp ++ ** This variable specifies notmuch tag which is used for replied messages. The ++ ** variable is used to set the replied flag when modifiying tags. All other NeoMutt ++ ** commands use standard (e.g. maildir) flags. ++ */ ++ { "nm_unread_tag", DT_STRING, &C_NmUnreadTag, IP "unread" }, ++ /* ++ ** .pp ++ ** This variable specifies notmuch tag which is used for unread messages. The ++ ** variable is used to count unread messages in DB and set the unread flag when ++ ** modifiying tags. All other NeoMutt commands use standard (e.g. maildir) flags. ++ */ ++#endif ++#ifdef USE_NNTP ++ { "nntp_authenticators", DT_STRING, &C_NntpAuthenticators, 0 }, ++ /* ++ ** .pp ++ ** This is a colon-delimited list of authentication methods NeoMutt may ++ ** attempt to use to log in to a news server, in the order NeoMutt should ++ ** try them. Authentication methods are either "user" or any ++ ** SASL mechanism, e.g. "digest-md5", "gssapi" or "cram-md5". ++ ** This option is case-insensitive. If it's \fIunset\fP (the default) ++ ** NeoMutt will try all available methods, in order from most-secure to ++ ** least-secure. ++ ** .pp ++ ** Example: ++ ** .ts ++ ** set nntp_authenticators="digest-md5:user" ++ ** .te ++ ** .pp ++ ** \fBNote:\fP NeoMutt will only fall back to other authentication methods if ++ ** the previous methods are unavailable. If a method is available but ++ ** authentication fails, NeoMutt will not connect to the IMAP server. ++ */ ++ { "nntp_context", DT_NUMBER|DT_NOT_NEGATIVE, &C_NntpContext, 1000 }, ++ /* ++ ** .pp ++ ** This variable defines number of articles which will be in index when ++ ** newsgroup entered. If active newsgroup have more articles than this ++ ** number, oldest articles will be ignored. Also controls how many ++ ** articles headers will be saved in cache when you quit newsgroup. ++ */ ++ { "nntp_listgroup", DT_BOOL, &C_NntpListgroup, true }, ++ /* ++ ** .pp ++ ** This variable controls whether or not existence of each article is ++ ** checked when newsgroup is entered. ++ */ ++ { "nntp_load_description", DT_BOOL, &C_NntpLoadDescription, true }, ++ /* ++ ** .pp ++ ** This variable controls whether or not descriptions for each newsgroup ++ ** must be loaded when newsgroup is added to list (first time list ++ ** loading or new newsgroup adding). ++ */ ++ { "nntp_pass", DT_STRING|DT_SENSITIVE, &C_NntpPass, 0 }, ++ /* ++ ** .pp ++ ** Your password for NNTP account. ++ */ ++ { "nntp_poll", DT_NUMBER|DT_NOT_NEGATIVE, &C_NntpPoll, 60 }, ++ /* ++ ** .pp ++ ** The time in seconds until any operations on newsgroup except post new ++ ** article will cause recheck for new news. If set to 0, NeoMutt will ++ ** recheck newsgroup on each operation in index (stepping, read article, ++ ** etc.). ++ */ ++ { "nntp_user", DT_STRING|DT_SENSITIVE, &C_NntpUser, 0 }, ++ /* ++ ** .pp ++ ** Your login name on the NNTP server. If \fIunset\fP and NNTP server requires ++ ** authentication, NeoMutt will prompt you for your account name when you ++ ** connect to news server. ++ */ ++#endif ++ { "pager", DT_STRING|DT_COMMAND, &C_Pager, IP "builtin" }, ++ /* ++ ** .pp ++ ** This variable specifies which pager you would like to use to view ++ ** messages. The value "builtin" means to use the built-in pager, otherwise this ++ ** variable should specify the pathname of the external pager you would ++ ** like to use. ++ ** .pp ++ ** Using an external pager may have some disadvantages: Additional ++ ** keystrokes are necessary because you can't call NeoMutt functions ++ ** directly from the pager, and screen resizes cause lines longer than ++ ** the screen width to be badly formatted in the help menu. ++ */ ++ { "pager_context", DT_NUMBER|DT_NOT_NEGATIVE, &C_PagerContext, 0 }, ++ /* ++ ** .pp ++ ** This variable controls the number of lines of context that are given ++ ** when displaying the next or previous page in the internal pager. By ++ ** default, NeoMutt will display the line after the last one on the screen ++ ** at the top of the next page (0 lines of context). ++ ** .pp ++ ** This variable also specifies the amount of context given for search ++ ** results. If positive, this many lines will be given before a match, ++ ** if 0, the match will be top-aligned. ++ */ ++ { "pager_format", DT_STRING|R_PAGER, &C_PagerFormat, IP "-%Z- %C/%m: %-20.20n %s%* -- (%P)" }, ++ /* ++ ** .pp ++ ** This variable controls the format of the one-line message "status" ++ ** displayed before each message in either the internal or an external ++ ** pager. The valid sequences are listed in the $$index_format ++ ** section. ++ */ ++ { "pager_index_lines", DT_NUMBER|DT_NOT_NEGATIVE|R_PAGER|R_REFLOW, &C_PagerIndexLines, 0 }, ++ /* ++ ** .pp ++ ** Determines the number of lines of a mini-index which is shown when in ++ ** the pager. The current message, unless near the top or bottom of the ++ ** folder, will be roughly one third of the way down this mini-index, ++ ** giving the reader the context of a few messages before and after the ++ ** message. This is useful, for example, to determine how many messages ++ ** remain to be read in the current thread. One of the lines is reserved ++ ** for the status bar from the index, so a setting of 6 ++ ** will only show 5 lines of the actual index. A value of 0 results in ++ ** no index being shown. If the number of messages in the current folder ++ ** is less than $$pager_index_lines, then the index will only use as ++ ** many lines as it needs. ++ */ ++ { "pager_stop", DT_BOOL, &C_PagerStop, false }, ++ /* ++ ** .pp ++ ** When \fIset\fP, the internal-pager will \fBnot\fP move to the next message ++ ** when you are at the end of a message and invoke the \fC\fP ++ ** function. ++ */ ++ { "pgp_auto_decode", DT_BOOL, &C_PgpAutoDecode, false }, ++ /* ++ ** .pp ++ ** If \fIset\fP, NeoMutt will automatically attempt to decrypt traditional PGP ++ ** messages whenever the user performs an operation which ordinarily would ++ ** result in the contents of the message being operated on. For example, ++ ** if the user displays a pgp-traditional message which has not been manually ++ ** checked with the \fC$\fP function, NeoMutt will automatically ++ ** check the message for traditional pgp. ++ */ ++ { "pgp_autoinline", DT_BOOL, &C_PgpAutoinline, false }, ++ /* ++ ** .pp ++ ** This option controls whether NeoMutt generates old-style inline ++ ** (traditional) PGP encrypted or signed messages under certain ++ ** circumstances. This can be overridden by use of the pgp menu, ++ ** when inline is not required. The GPGME backend does not support ++ ** this option. ++ ** .pp ++ ** Note that NeoMutt might automatically use PGP/MIME for messages ++ ** which consist of more than a single MIME part. NeoMutt can be ++ ** configured to ask before sending PGP/MIME messages when inline ++ ** (traditional) would not work. ++ ** .pp ++ ** Also see the $$pgp_mime_auto variable. ++ ** .pp ++ ** Also note that using the old-style PGP message format is \fBstrongly\fP ++ ** \fBdeprecated\fP. ++ ** (PGP only) ++ */ ++#ifdef CRYPT_BACKEND_CLASSIC_PGP ++ { "pgp_check_exit", DT_BOOL, &C_PgpCheckExit, true }, ++ /* ++ ** .pp ++ ** If \fIset\fP, NeoMutt will check the exit code of the PGP subprocess when ++ ** signing or encrypting. A non-zero exit code means that the ++ ** subprocess failed. ++ ** (PGP only) ++ */ ++ { "pgp_check_gpg_decrypt_status_fd", DT_BOOL, &C_PgpCheckGpgDecryptStatusFd, true }, ++ /* ++ ** .pp ++ ** If \fIset\fP, NeoMutt will check the status file descriptor output ++ ** of $$pgp_decrypt_command and $$pgp_decode_command for GnuPG status codes ++ ** indicating successful decryption. This will check for the presence of ++ ** DECRYPTION_OKAY, absence of DECRYPTION_FAILED, and that all ++ ** PLAINTEXT occurs between the BEGIN_DECRYPTION and END_DECRYPTION ++ ** status codes. ++ ** .pp ++ ** If \fIunset\fP, NeoMutt will instead match the status fd output ++ ** against $$pgp_decryption_okay. ++ ** (PGP only) ++ */ ++ { "pgp_clearsign_command", DT_STRING|DT_COMMAND, &C_PgpClearsignCommand, 0 }, ++ /* ++ ** .pp ++ ** This format is used to create an old-style "clearsigned" PGP ++ ** message. Note that the use of this format is \fBstrongly\fP ++ ** \fBdeprecated\fP. ++ ** .pp ++ ** This is a format string, see the $$pgp_decode_command command for ++ ** possible \fCprintf(3)\fP-like sequences. ++ ** Note that in this case, %r expands to the search string, which is a list of ++ ** one or more quoted values such as email address, name, or keyid. ++ ** (PGP only) ++ */ ++ { "pgp_decode_command", DT_STRING|DT_COMMAND, &C_PgpDecodeCommand, 0 }, ++ /* ++ ** .pp ++ ** This format strings specifies a command which is used to decode ++ ** application/pgp attachments. ++ ** .pp ++ ** The PGP command formats have their own set of \fCprintf(3)\fP-like sequences: ++ ** .dl ++ ** .dt %p .dd Expands to PGPPASSFD=0 when a pass phrase is needed, to an empty ++ ** string otherwise. Note: This may be used with a %? construct. ++ ** .dt %f .dd Expands to the name of a file containing a message. ++ ** .dt %s .dd Expands to the name of a file containing the signature part ++ ** . of a \fCmultipart/signed\fP attachment when verifying it. ++ ** .dt %a .dd The value of $$pgp_sign_as if set, otherwise the value ++ ** of $$pgp_default_key. ++ ** .dt %r .dd One or more key IDs (or fingerprints if available). ++ ** .de ++ ** .pp ++ ** For examples on how to configure these formats for the various versions ++ ** of PGP which are floating around, see the pgp and gpg sample configuration files in ++ ** the \fCsamples/\fP subdirectory which has been installed on your system ++ ** alongside the documentation. ++ ** (PGP only) ++ */ ++ { "pgp_decrypt_command", DT_STRING|DT_COMMAND, &C_PgpDecryptCommand, 0 }, ++ /* ++ ** .pp ++ ** This command is used to decrypt a PGP encrypted message. ++ ** .pp ++ ** This is a format string, see the $$pgp_decode_command command for ++ ** possible \fCprintf(3)\fP-like sequences. ++ ** (PGP only) ++ ** .pp ++ ** Note: When decrypting messages using \fCgpg\fP, a pinentry program needs to ++ ** be invoked unless the password is cached within \fCgpg-agent\fP. ++ ** Currently, the \fCpinentry-tty\fP program (usually distributed with ++ ** \fCgpg\fP) isn't suitable for being invoked by NeoMutt. You are encouraged ++ ** to use a different pinentry-program when running NeoMutt in order to avoid ++ ** problems. ++ ** .pp ++ ** See also: https://github.com/neomutt/neomutt/issues/1014 ++ */ ++ { "pgp_decryption_okay", DT_REGEX, &C_PgpDecryptionOkay, 0 }, ++ /* ++ ** .pp ++ ** If you assign text to this variable, then an encrypted PGP ++ ** message is only considered successfully decrypted if the output ++ ** from $$pgp_decrypt_command contains the text. This is used to ++ ** protect against a spoofed encrypted message, with multipart/encrypted ++ ** headers but containing a block that is not actually encrypted. ++ ** (e.g. simply signed and ascii armored text). ++ ** .pp ++ ** Note that if $$pgp_check_gpg_decrypt_status_fd is set, this variable ++ ** is ignored. ++ ** (PGP only) ++ */ ++#endif ++ { "pgp_default_key", DT_STRING, &C_PgpDefaultKey, 0 }, ++ /* ++ ** .pp ++ ** This is the default key-pair to use for PGP operations. It will be ++ ** used for encryption (see $$postpone_encrypt and $$pgp_self_encrypt). ++ ** .pp ++ ** It will also be used for signing unless $$pgp_sign_as is set. ++ ** .pp ++ ** The (now deprecated) \fIpgp_self_encrypt_as\fP is an alias for this ++ ** variable, and should no longer be used. ++ ** (PGP only) ++ */ ++#ifdef CRYPT_BACKEND_CLASSIC_PGP ++ { "pgp_encrypt_only_command", DT_STRING|DT_COMMAND, &C_PgpEncryptOnlyCommand, 0 }, ++ /* ++ ** .pp ++ ** This command is used to encrypt a body part without signing it. ++ ** .pp ++ ** This is a format string, see the $$pgp_decode_command command for ++ ** possible \fCprintf(3)\fP-like sequences. ++ ** Note that in this case, %r expands to the search string, which is a list of ++ ** one or more quoted values such as email address, name, or keyid. ++ ** (PGP only) ++ */ ++ { "pgp_encrypt_sign_command", DT_STRING|DT_COMMAND, &C_PgpEncryptSignCommand, 0 }, ++ /* ++ ** .pp ++ ** This command is used to both sign and encrypt a body part. ++ ** .pp ++ ** This is a format string, see the $$pgp_decode_command command for ++ ** possible \fCprintf(3)\fP-like sequences. ++ ** (PGP only) ++ */ ++#endif ++ { "pgp_entry_format", DT_STRING|DT_NOT_EMPTY, &C_PgpEntryFormat, IP "%4n %t%f %4l/0x%k %-4a %2c %u" }, ++ /* ++ ** .pp ++ ** This variable allows you to customize the PGP key selection menu to ++ ** your personal taste. This string is similar to $$index_format, but ++ ** has its own set of \fCprintf(3)\fP-like sequences: ++ ** .dl ++ ** .dt %a .dd Algorithm ++ ** .dt %c .dd Capabilities ++ ** .dt %f .dd Flags ++ ** .dt %k .dd Key id ++ ** .dt %l .dd Key length ++ ** .dt %n .dd Number ++ ** .dt %p .dd Protocol ++ ** .dt %t .dd Trust/validity of the key-uid association ++ ** .dt %u .dd User id ++ ** .dt %[] .dd Date of the key where is an \fCstrftime(3)\fP expression ++ ** .de ++ ** .pp ++ ** (PGP only) ++ */ ++#ifdef CRYPT_BACKEND_CLASSIC_PGP ++ { "pgp_export_command", DT_STRING|DT_COMMAND, &C_PgpExportCommand, 0 }, ++ /* ++ ** .pp ++ ** This command is used to export a public key from the user's ++ ** key ring. ++ ** .pp ++ ** This is a format string, see the $$pgp_decode_command command for ++ ** possible \fCprintf(3)\fP-like sequences. ++ ** (PGP only) ++ */ ++ { "pgp_getkeys_command", DT_STRING|DT_COMMAND, &C_PgpGetkeysCommand, 0 }, ++ /* ++ ** .pp ++ ** This command is invoked whenever NeoMutt needs to fetch the public key associated with ++ ** an email address. Of the sequences supported by $$pgp_decode_command, %r is ++ ** the only \fCprintf(3)\fP-like sequence used with this format. Note that ++ ** in this case, %r expands to the email address, not the public key ID (the key ID is ++ ** unknown, which is why NeoMutt is invoking this command). ++ ** (PGP only) ++ */ ++ { "pgp_good_sign", DT_REGEX, &C_PgpGoodSign, 0 }, ++ /* ++ ** .pp ++ ** If you assign a text to this variable, then a PGP signature is only ++ ** considered verified if the output from $$pgp_verify_command contains ++ ** the text. Use this variable if the exit code from the command is 0 ++ ** even for bad signatures. ++ ** (PGP only) ++ */ ++#endif ++ { "pgp_ignore_subkeys", DT_BOOL, &C_PgpIgnoreSubkeys, true }, ++ /* ++ ** .pp ++ ** Setting this variable will cause NeoMutt to ignore OpenPGP subkeys. Instead, ++ ** the principal key will inherit the subkeys' capabilities. \fIUnset\fP this ++ ** if you want to play interesting key selection games. ++ ** (PGP only) ++ */ ++#ifdef CRYPT_BACKEND_CLASSIC_PGP ++ { "pgp_import_command", DT_STRING|DT_COMMAND, &C_PgpImportCommand, 0 }, ++ /* ++ ** .pp ++ ** This command is used to import a key from a message into ++ ** the user's public key ring. ++ ** .pp ++ ** This is a format string, see the $$pgp_decode_command command for ++ ** possible \fCprintf(3)\fP-like sequences. ++ ** (PGP only) ++ */ ++ { "pgp_list_pubring_command", DT_STRING|DT_COMMAND, &C_PgpListPubringCommand, 0 }, ++ /* ++ ** .pp ++ ** This command is used to list the public key ring's contents. The ++ ** output format must be analogous to the one used by ++ ** .ts ++ ** gpg --list-keys --with-colons --with-fingerprint ++ ** .te ++ ** .pp ++ ** Note: gpg's \fCfixed-list-mode\fP option should not be used. It ++ ** produces a different date format which may result in NeoMutt showing ++ ** incorrect key generation dates. ++ ** .pp ++ ** This is a format string, see the $$pgp_decode_command command for ++ ** possible \fCprintf(3)\fP-like sequences. ++ ** (PGP only) ++ */ ++ { "pgp_list_secring_command", DT_STRING|DT_COMMAND, &C_PgpListSecringCommand, 0 }, ++ /* ++ ** .pp ++ ** This command is used to list the secret key ring's contents. The ++ ** output format must be analogous to the one used by: ++ ** .ts ++ ** gpg --list-keys --with-colons --with-fingerprint ++ ** .te ++ ** .pp ++ ** Note: gpg's \fCfixed-list-mode\fP option should not be used. It ++ ** produces a different date format which may result in NeoMutt showing ++ ** incorrect key generation dates. ++ ** .pp ++ ** This is a format string, see the $$pgp_decode_command command for ++ ** possible \fCprintf(3)\fP-like sequences. ++ ** (PGP only) ++ */ ++#endif ++ { "pgp_long_ids", DT_BOOL, &C_PgpLongIds, true }, ++ /* ++ ** .pp ++ ** If \fIset\fP, use 64 bit PGP key IDs, if \fIunset\fP use the normal 32 bit key IDs. ++ ** NOTE: Internally, NeoMutt has transitioned to using fingerprints (or long key IDs ++ ** as a fallback). This option now only controls the display of key IDs ++ ** in the key selection menu and a few other places. ++ ** (PGP only) ++ */ ++ { "pgp_mime_auto", DT_QUAD, &C_PgpMimeAuto, MUTT_ASKYES }, ++ /* ++ ** .pp ++ ** This option controls whether NeoMutt will prompt you for ++ ** automatically sending a (signed/encrypted) message using ++ ** PGP/MIME when inline (traditional) fails (for any reason). ++ ** .pp ++ ** Also note that using the old-style PGP message format is \fBstrongly\fP ++ ** \fBdeprecated\fP. ++ ** (PGP only) ++ */ ++ { "pgp_replyinline", DT_BOOL, &C_PgpReplyinline, false }, ++ /* ++ ** .pp ++ ** Setting this variable will cause NeoMutt to always attempt to ++ ** create an inline (traditional) message when replying to a ++ ** message which is PGP encrypted/signed inline. This can be ++ ** overridden by use of the pgp menu, when inline is not ++ ** required. This option does not automatically detect if the ++ ** (replied-to) message is inline; instead it relies on NeoMutt ++ ** internals for previously checked/flagged messages. ++ ** .pp ++ ** Note that NeoMutt might automatically use PGP/MIME for messages ++ ** which consist of more than a single MIME part. NeoMutt can be ++ ** configured to ask before sending PGP/MIME messages when inline ++ ** (traditional) would not work. ++ ** .pp ++ ** Also see the $$pgp_mime_auto variable. ++ ** .pp ++ ** Also note that using the old-style PGP message format is \fBstrongly\fP ++ ** \fBdeprecated\fP. ++ ** (PGP only) ++ */ ++ { "pgp_retainable_sigs", DT_BOOL, &C_PgpRetainableSigs, false }, ++ /* ++ ** .pp ++ ** If \fIset\fP, signed and encrypted messages will consist of nested ++ ** \fCmultipart/signed\fP and \fCmultipart/encrypted\fP body parts. ++ ** .pp ++ ** This is useful for applications like encrypted and signed mailing ++ ** lists, where the outer layer (\fCmultipart/encrypted\fP) can be easily ++ ** removed, while the inner \fCmultipart/signed\fP part is retained. ++ ** (PGP only) ++ */ ++ { "pgp_self_encrypt", DT_BOOL, &C_PgpSelfEncrypt, true }, ++ /* ++ ** .pp ++ ** When \fIset\fP, PGP encrypted messages will also be encrypted ++ ** using the key in $$pgp_default_key. ++ ** (PGP only) ++ */ ++ { "pgp_show_unusable", DT_BOOL, &C_PgpShowUnusable, true }, ++ /* ++ ** .pp ++ ** If \fIset\fP, NeoMutt will display non-usable keys on the PGP key selection ++ ** menu. This includes keys which have been revoked, have expired, or ++ ** have been marked as "disabled" by the user. ++ ** (PGP only) ++ */ ++ { "pgp_sign_as", DT_STRING, &C_PgpSignAs, 0 }, ++ /* ++ ** .pp ++ ** If you have a different key pair to use for signing, you should ++ ** set this to the signing key. Most people will only need to set ++ ** $$pgp_default_key. It is recommended that you use the keyid form ++ ** to specify your key (e.g. \fC0x00112233\fP). ++ ** (PGP only) ++ */ ++#ifdef CRYPT_BACKEND_CLASSIC_PGP ++ { "pgp_sign_command", DT_STRING|DT_COMMAND, &C_PgpSignCommand, 0 }, ++ /* ++ ** .pp ++ ** This command is used to create the detached PGP signature for a ++ ** \fCmultipart/signed\fP PGP/MIME body part. ++ ** .pp ++ ** This is a format string, see the $$pgp_decode_command command for ++ ** possible \fCprintf(3)\fP-like sequences. ++ ** (PGP only) ++ */ ++#endif ++ { "pgp_sort_keys", DT_SORT|DT_SORT_KEYS, &C_PgpSortKeys, SORT_ADDRESS }, ++ /* ++ ** .pp ++ ** Specifies how the entries in the pgp menu are sorted. The ++ ** following are legal values: ++ ** .dl ++ ** .dt address .dd sort alphabetically by user id ++ ** .dt keyid .dd sort alphabetically by key id ++ ** .dt date .dd sort by key creation date ++ ** .dt trust .dd sort by the trust of the key ++ ** .de ++ ** .pp ++ ** If you prefer reverse order of the above values, prefix it with ++ ** "reverse-". ++ ** (PGP only) ++ */ ++ { "pgp_strict_enc", DT_BOOL, &C_PgpStrictEnc, true }, ++ /* ++ ** .pp ++ ** If \fIset\fP, NeoMutt will automatically encode PGP/MIME signed messages as ++ ** quoted-printable. Please note that unsetting this variable may ++ ** lead to problems with non-verifyable PGP signatures, so only change ++ ** this if you know what you are doing. ++ ** (PGP only) ++ */ ++#ifdef CRYPT_BACKEND_CLASSIC_PGP ++ { "pgp_timeout", DT_LONG|DT_NOT_NEGATIVE, &C_PgpTimeout, 300 }, ++ /* ++ ** .pp ++ ** The number of seconds after which a cached passphrase will expire if ++ ** not used. ++ ** (PGP only) ++ */ ++ { "pgp_use_gpg_agent", DT_BOOL, &C_PgpUseGpgAgent, true }, ++ /* ++ ** .pp ++ ** If \fIset\fP, NeoMutt expects a \fCgpg-agent(1)\fP process will handle ++ ** private key passphrase prompts. If \fIunset\fP, NeoMutt will prompt ++ ** for the passphrase and pass it via stdin to the pgp command. ++ ** .pp ++ ** Note that as of version 2.1, GnuPG automatically spawns an agent ++ ** and requires the agent be used for passphrase management. Since ++ ** that version is increasingly prevalent, this variable now ++ ** defaults \fIset\fP. ++ ** .pp ++ ** NeoMutt works with a GUI or curses pinentry program. A TTY pinentry ++ ** should not be used. ++ ** .pp ++ ** If you are using an older version of GnuPG without an agent running, ++ ** or another encryption program without an agent, you will need to ++ ** \fIunset\fP this variable. ++ ** (PGP only) ++ */ ++ { "pgp_verify_command", DT_STRING|DT_COMMAND, &C_PgpVerifyCommand, 0 }, ++ /* ++ ** .pp ++ ** This command is used to verify PGP signatures. ++ ** .pp ++ ** This is a format string, see the $$pgp_decode_command command for ++ ** possible \fCprintf(3)\fP-like sequences. ++ ** (PGP only) ++ */ ++ { "pgp_verify_key_command", DT_STRING|DT_COMMAND, &C_PgpVerifyKeyCommand, 0 }, ++ /* ++ ** .pp ++ ** This command is used to verify key information from the key selection ++ ** menu. ++ ** .pp ++ ** This is a format string, see the $$pgp_decode_command command for ++ ** possible \fCprintf(3)\fP-like sequences. ++ ** (PGP only) ++ */ ++#endif ++ { "pipe_decode", DT_BOOL, &C_PipeDecode, false }, ++ /* ++ ** .pp ++ ** Used in connection with the \fC\fP command. When \fIunset\fP, ++ ** NeoMutt will pipe the messages without any preprocessing. When \fIset\fP, NeoMutt ++ ** will weed headers and will attempt to decode the messages ++ ** first. ++ */ ++ { "pipe_sep", DT_STRING, &C_PipeSep, IP "\n" }, ++ /* ++ ** .pp ++ ** The separator to add between messages when piping a list of tagged ++ ** messages to an external Unix command. ++ */ ++ { "pipe_split", DT_BOOL, &C_PipeSplit, false }, ++ /* ++ ** .pp ++ ** Used in connection with the \fC\fP function following ++ ** \fC\fP. If this variable is \fIunset\fP, when piping a list of ++ ** tagged messages NeoMutt will concatenate the messages and will pipe them ++ ** all concatenated. When \fIset\fP, NeoMutt will pipe the messages one by one. ++ ** In both cases the messages are piped in the current sorted order, ++ ** and the $$pipe_sep separator is added after each message. ++ */ ++#ifdef USE_POP ++ { "pop_auth_try_all", DT_BOOL, &C_PopAuthTryAll, true }, ++ /* ++ ** .pp ++ ** If \fIset\fP, NeoMutt will try all available authentication methods. ++ ** When \fIunset\fP, NeoMutt will only fall back to other authentication ++ ** methods if the previous methods are unavailable. If a method is ++ ** available but authentication fails, NeoMutt will not connect to the POP server. ++ */ ++ { "pop_authenticators", DT_SLIST|SLIST_SEP_COLON, &C_PopAuthenticators, 0 }, ++ /* ++ ** .pp ++ ** This is a colon-delimited list of authentication methods NeoMutt may ++ ** attempt to use to log in to an POP server, in the order NeoMutt should ++ ** try them. Authentication methods are either "user", "apop" or any ++ ** SASL mechanism, e.g. "digest-md5", "gssapi" or "cram-md5". ++ ** This option is case-insensitive. If this option is \fIunset\fP ++ ** (the default) NeoMutt will try all available methods, in order from ++ ** most-secure to least-secure. ++ ** .pp ++ ** Example: ++ ** .ts ++ ** set pop_authenticators="digest-md5:apop:user" ++ ** .te ++ */ ++ { "pop_checkinterval", DT_NUMBER|DT_NOT_NEGATIVE, &C_PopCheckinterval, 60 }, ++ /* ++ ** .pp ++ ** This variable configures how often (in seconds) NeoMutt should look for ++ ** new mail in the currently selected mailbox if it is a POP mailbox. ++ */ ++ { "pop_delete", DT_QUAD, &C_PopDelete, MUTT_ASKNO }, ++ /* ++ ** .pp ++ ** If \fIset\fP, NeoMutt will delete successfully downloaded messages from the POP ++ ** server when using the \fC$\fP function. When \fIunset\fP, NeoMutt will ++ ** download messages but also leave them on the POP server. ++ */ ++ { "pop_host", DT_STRING, &C_PopHost, 0 }, ++ /* ++ ** .pp ++ ** The name of your POP server for the \fC$\fP function. You ++ ** can also specify an alternative port, username and password, i.e.: ++ ** .ts ++ ** [pop[s]://][username[:password]@]popserver[:port] ++ ** .te ++ ** .pp ++ ** where "[...]" denotes an optional part. ++ */ ++ { "pop_last", DT_BOOL, &C_PopLast, false }, ++ /* ++ ** .pp ++ ** If this variable is \fIset\fP, NeoMutt will try to use the "\fCLAST\fP" POP command ++ ** for retrieving only unread messages from the POP server when using ++ ** the \fC$\fP function. ++ */ ++ { "pop_oauth_refresh_command", DT_STRING|DT_COMMAND|DT_SENSITIVE, &C_PopOauthRefreshCommand, 0 }, ++ /* ++ ** .pp ++ ** The command to run to generate an OAUTH refresh token for ++ ** authorizing your connection to your POP server. This command will be ++ ** run on every connection attempt that uses the OAUTHBEARER authentication ++ ** mechanism. See "$oauth" for details. ++ */ ++ { "pop_pass", DT_STRING|DT_SENSITIVE, &C_PopPass, 0 }, ++ /* ++ ** .pp ++ ** Specifies the password for your POP account. If \fIunset\fP, NeoMutt will ++ ** prompt you for your password when you open a POP mailbox. ++ ** .pp ++ ** \fBWarning\fP: you should only use this option when you are on a ++ ** fairly secure machine, because the superuser can read your neomuttrc ++ ** even if you are the only one who can read the file. ++ */ ++ { "pop_reconnect", DT_QUAD, &C_PopReconnect, MUTT_ASKYES }, ++ /* ++ ** .pp ++ ** Controls whether or not NeoMutt will try to reconnect to the POP server if ++ ** the connection is lost. ++ */ ++ { "pop_user", DT_STRING|DT_SENSITIVE, &C_PopUser, 0 }, ++ /* ++ ** .pp ++ ** Your login name on the POP server. ++ ** .pp ++ ** This variable defaults to your user name on the local machine. ++ */ ++#endif /* USE_POP */ ++ { "post_indent_string", DT_STRING, &C_PostIndentString, 0 }, ++ /* ++ ** .pp ++ ** Similar to the $$attribution variable, NeoMutt will append this ++ ** string after the inclusion of a message which is being replied to. ++ */ ++#ifdef USE_NNTP ++ { "post_moderated", DT_QUAD, &C_PostModerated, MUTT_ASKYES }, ++ /* ++ ** .pp ++ ** If set to \fIyes\fP, NeoMutt will post article to newsgroup that have ++ ** not permissions to posting (e.g. moderated). \fBNote:\fP if news server ++ ** does not support posting to that newsgroup or totally read-only, that ++ ** posting will not have an effect. ++ */ ++#endif ++ { "postpone", DT_QUAD, &C_Postpone, MUTT_ASKYES }, ++ /* ++ ** .pp ++ ** Controls whether or not messages are saved in the $$postponed ++ ** mailbox when you elect not to send immediately. If set to ++ ** \fIask-yes\fP or \fIask-no\fP, you will be prompted with "Save ++ ** (postpone) draft message?" when quitting from the "compose" ++ ** screen. ++ ** .pp ++ ** Also see the $$recall variable. ++ */ ++ { "postpone_encrypt", DT_BOOL, &C_PostponeEncrypt, false }, ++ /* ++ ** .pp ++ ** When \fIset\fP, postponed messages that are marked for encryption will be ++ ** self-encrypted. NeoMutt will first try to encrypt using the value specified ++ ** in $$pgp_default_key or $$smime_default_key. If those are not ++ ** set, it will try the deprecated $$postpone_encrypt_as. ++ ** (Crypto only) ++ */ ++ { "postpone_encrypt_as", DT_STRING, &C_PostponeEncryptAs, 0 }, ++ /* ++ ** .pp ++ ** This is a deprecated fall-back variable for $$postpone_encrypt. ++ ** Please use $$pgp_default_key or $$smime_default_key. ++ ** (Crypto only) ++ */ ++ { "postponed", DT_STRING|DT_MAILBOX|R_INDEX, &C_Postponed, IP "~/postponed" }, ++ /* ++ ** .pp ++ ** NeoMutt allows you to indefinitely "$postpone sending a message" which ++ ** you are editing. When you choose to postpone a message, NeoMutt saves it ++ ** in the mailbox specified by this variable. ++ ** .pp ++ ** Also see the $$postpone variable. ++ */ ++#ifdef USE_SOCKET ++ { "preconnect", DT_STRING, &C_Preconnect, 0 }, ++ /* ++ ** .pp ++ ** If \fIset\fP, a shell command to be executed if NeoMutt fails to establish ++ ** a connection to the server. This is useful for setting up secure ++ ** connections, e.g. with \fCssh(1)\fP. If the command returns a nonzero ++ ** status, NeoMutt gives up opening the server. Example: ++ ** .ts ++ ** set preconnect="ssh -f -q -L 1234:mailhost.net:143 mailhost.net \(rs ++ ** sleep 20 < /dev/null > /dev/null" ++ ** .te ++ ** .pp ++ ** Mailbox "foo" on "mailhost.net" can now be reached ++ ** as "{localhost:1234}foo". ++ ** .pp ++ ** Note: For this example to work, you must be able to log in to the ++ ** remote machine without having to enter a password. ++ */ ++#endif /* USE_SOCKET */ ++ { "preferred_languages", DT_SLIST|SLIST_SEP_COMMA, &C_PreferredLanguages, 0 }, ++ /* ++ ** .pp ++ ** RFC8255 : user preferred languages to be search in parts and display ++ ** Ex. : set preferred_languages="en,fr,de" ++ */ ++ { "print", DT_QUAD, &C_Print, MUTT_ASKNO }, ++ /* ++ ** .pp ++ ** Controls whether or not NeoMutt really prints messages. ++ ** This is set to "ask-no" by default, because some people ++ ** accidentally hit "p" often. ++ */ ++ { "print_command", DT_STRING|DT_COMMAND, &C_PrintCommand, IP "lpr" }, ++ /* ++ ** .pp ++ ** This specifies the command pipe that should be used to print messages. ++ */ ++ { "print_decode", DT_BOOL, &C_PrintDecode, true }, ++ /* ++ ** .pp ++ ** Used in connection with the \fC\fP command. If this ++ ** option is \fIset\fP, the message is decoded before it is passed to the ++ ** external command specified by $$print_command. If this option ++ ** is \fIunset\fP, no processing will be applied to the message when ++ ** printing it. The latter setting may be useful if you are using ++ ** some advanced printer filter which is able to properly format ++ ** e-mail messages for printing. ++ */ ++ { "print_split", DT_BOOL, &C_PrintSplit, false }, ++ /* ++ ** .pp ++ ** Used in connection with the \fC\fP command. If this option ++ ** is \fIset\fP, the command specified by $$print_command is executed once for ++ ** each message which is to be printed. If this option is \fIunset\fP, ++ ** the command specified by $$print_command is executed only once, and ++ ** all the messages are concatenated, with a form feed as the message ++ ** separator. ++ ** .pp ++ ** Those who use the \fCenscript\fP(1) program's mail-printing mode will ++ ** most likely want to \fIset\fP this option. ++ */ ++ { "prompt_after", DT_BOOL, &C_PromptAfter, true }, ++ /* ++ ** .pp ++ ** If you use an \fIexternal\fP $$pager, setting this variable will ++ ** cause NeoMutt to prompt you for a command when the pager exits rather ++ ** than returning to the index menu. If \fIunset\fP, NeoMutt will return to the ++ ** index menu when the external pager exits. ++ */ ++ { "query_command", DT_STRING|DT_COMMAND, &C_QueryCommand, 0 }, ++ /* ++ ** .pp ++ ** This specifies the command NeoMutt will use to make external address ++ ** queries. The string may contain a "%s", which will be substituted ++ ** with the query string the user types. NeoMutt will add quotes around the ++ ** string substituted for "%s" automatically according to shell quoting ++ ** rules, so you should avoid adding your own. If no "%s" is found in ++ ** the string, NeoMutt will append the user's query to the end of the string. ++ ** See "$query" for more information. ++ */ ++ { "query_format", DT_STRING|DT_NOT_EMPTY, &C_QueryFormat, IP "%4c %t %-25.25a %-25.25n %?e?(%e)?" }, ++ /* ++ ** .pp ++ ** This variable describes the format of the "query" menu. The ++ ** following \fCprintf(3)\fP-style sequences are understood: ++ ** .dl ++ ** .dt %a .dd .dd Destination address ++ ** .dt %c .dd .dd Current entry number ++ ** .dt %e .dd * .dd Extra information ++ ** .dt %n .dd .dd Destination name ++ ** .dt %t .dd .dd "*" if current entry is tagged, a space otherwise ++ ** .dt %>X .dd .dd Right justify the rest of the string and pad with "X" ++ ** .dt %|X .dd .dd Pad to the end of the line with "X" ++ ** .dt %*X .dd .dd Soft-fill with character "X" as pad ++ ** .de ++ ** .pp ++ ** For an explanation of "soft-fill", see the $$index_format documentation. ++ ** .pp ++ ** * = can be optionally printed if nonzero, see the $$status_format documentation. ++ */ ++ { "quit", DT_QUAD, &C_Quit, MUTT_YES }, ++ /* ++ ** .pp ++ ** This variable controls whether "quit" and "exit" actually quit ++ ** from NeoMutt. If this option is \fIset\fP, they do quit, if it is \fIunset\fP, they ++ ** have no effect, and if it is set to \fIask-yes\fP or \fIask-no\fP, you are ++ ** prompted for confirmation when you try to quit. ++ */ ++ { "quote_regex", DT_REGEX|R_PAGER, &C_QuoteRegex, IP "^([ \t]*[|>:}#])+" }, ++ /* ++ ** .pp ++ ** A regular expression used in the internal pager to determine quoted ++ ** sections of text in the body of a message. Quoted text may be filtered ++ ** out using the \fC\fP command, or colored according to the ++ ** "color quoted" family of directives. ++ ** .pp ++ ** Higher levels of quoting may be colored differently ("color quoted1", ++ ** "color quoted2", etc.). The quoting level is determined by removing ++ ** the last character from the matched text and recursively reapplying ++ ** the regular expression until it fails to produce a match. ++ ** .pp ++ ** Match detection may be overridden by the $$smileys regular expression. ++ */ ++ { "toggle_quoted_show_levels", DT_NUMBER|DT_NOT_NEGATIVE, &C_ToggleQuotedShowLevels, 0 }, ++ /* ++ ** .pp ++ ** Quoted text may be filtered out using the \fC\fP command. ++ ** If set to a number greater than 0, then the \fC\fP ++ ** command will only filter out quote levels above this number. ++ */ ++ { "read_inc", DT_NUMBER|DT_NOT_NEGATIVE, &C_ReadInc, 10 }, ++ /* ++ ** .pp ++ ** If set to a value greater than 0, NeoMutt will display which message it ++ ** is currently on when reading a mailbox or when performing search actions ++ ** such as search and limit. The message is printed after ++ ** this many messages have been read or searched (e.g., if set to 25, NeoMutt will ++ ** print a message when it is at message 25, and then again when it gets ++ ** to message 50). This variable is meant to indicate progress when ++ ** reading or searching large mailboxes which may take some time. ++ ** When set to 0, only a single message will appear before the reading ++ ** the mailbox. ++ ** .pp ++ ** Also see the $$write_inc, $$net_inc and $$time_inc variables and the ++ ** "$tuning" section of the manual for performance considerations. ++ */ ++ { "read_only", DT_BOOL, &C_ReadOnly, false }, ++ /* ++ ** .pp ++ ** If \fIset\fP, all folders are opened in read-only mode. ++ */ ++ { "realname", DT_STRING|R_INDEX|R_PAGER, &C_Realname, 0 }, ++ /* ++ ** .pp ++ ** This variable specifies what "real" or "personal" name should be used ++ ** when sending messages. ++ ** .pp ++ ** If not specified, then the user's "real name" will be read from \fC/etc/passwd\fP. ++ ** This option will not be used, if "$$from" is set. ++ */ ++ { "recall", DT_QUAD, &C_Recall, MUTT_ASKYES }, ++ /* ++ ** .pp ++ ** Controls whether or not NeoMutt recalls postponed messages ++ ** when composing a new message. ++ ** .pp ++ ** Setting this variable to \fIyes\fP is not generally useful, and thus not ++ ** recommended. Note that the \fC\fP function can be used ++ ** to manually recall postponed messages. ++ ** .pp ++ ** Also see $$postponed variable. ++ */ ++ { "record", DT_STRING|DT_MAILBOX, &C_Record, IP "~/sent" }, ++ /* ++ ** .pp ++ ** This specifies the file into which your outgoing messages should be ++ ** appended. (This is meant as the primary method for saving a copy of ++ ** your messages, but another way to do this is using the "$my_hdr" ++ ** command to create a "Bcc:" field with your email address in it.) ++ ** .pp ++ ** The value of \fI$$record\fP is overridden by the $$force_name and ++ ** $$save_name variables, and the "$fcc-hook" command. Also see $$copy ++ ** and $$write_bcc. ++ */ ++ { "reflow_space_quotes", DT_BOOL, &C_ReflowSpaceQuotes, true }, ++ /* ++ ** .pp ++ ** This option controls how quotes from format=flowed messages are displayed ++ ** in the pager and when replying (with $$text_flowed \fIunset\fP). ++ ** When set, this option adds spaces after each level of quote marks, turning ++ ** ">>>foo" into "> > > foo". ++ ** .pp ++ ** \fBNote:\fP If $$reflow_text is \fIunset\fP, this option has no effect. ++ ** Also, this option does not affect replies when $$text_flowed is \fIset\fP. ++ */ ++ { "reflow_text", DT_BOOL, &C_ReflowText, true }, ++ /* ++ ** .pp ++ ** When \fIset\fP, NeoMutt will reformat paragraphs in text/plain ++ ** parts marked format=flowed. If \fIunset\fP, NeoMutt will display paragraphs ++ ** unaltered from how they appear in the message body. See RFC3676 for ++ ** details on the \fIformat=flowed\fP format. ++ ** .pp ++ ** Also see $$reflow_wrap, and $$wrap. ++ */ ++ { "reflow_wrap", DT_NUMBER, &C_ReflowWrap, 78 }, ++ /* ++ ** .pp ++ ** This variable controls the maximum paragraph width when reformatting text/plain ++ ** parts when $$reflow_text is \fIset\fP. When the value is 0, paragraphs will ++ ** be wrapped at the terminal's right margin. A positive value sets the ++ ** paragraph width relative to the left margin. A negative value set the ++ ** paragraph width relative to the right margin. ++ ** .pp ++ ** Also see $$wrap. ++ */ ++ { "reply_regex", DT_REGEX|R_INDEX|R_RESORT, &C_ReplyRegex, IP "^((re|aw|sv)(\\[[0-9]+\\])*:[ \t]*)*", 0, reply_validator }, ++ /* ++ ** .pp ++ ** A regular expression used to recognize reply messages when threading ++ ** and replying. The default value corresponds to the English "Re:", the ++ ** German "Aw:" and the Swedish "Sv:". ++ */ ++ { "reply_self", DT_BOOL, &C_ReplySelf, false }, ++ /* ++ ** .pp ++ ** If \fIunset\fP and you are replying to a message sent by you, NeoMutt will ++ ** assume that you want to reply to the recipients of that message rather ++ ** than to yourself. ++ ** .pp ++ ** Also see the "$alternates" command. ++ */ ++ { "reply_to", DT_QUAD, &C_ReplyTo, MUTT_ASKYES }, ++ /* ++ ** .pp ++ ** If \fIset\fP, when replying to a message, NeoMutt will use the address listed ++ ** in the Reply-to: header as the recipient of the reply. If \fIunset\fP, ++ ** it will use the address in the From: header field instead. This ++ ** option is useful for reading a mailing list that sets the Reply-To: ++ ** header field to the list address and you want to send a private ++ ** message to the author of a message. ++ */ ++ { "reply_with_xorig", DT_BOOL, &C_ReplyWithXorig, false }, ++ /* ++ ** .pp ++ ** This variable provides a toggle. When active, the From: header will be ++ ** extracted from the current mail's 'X-Original-To:' header. This setting ++ ** does not have precedence over "$reverse_realname". ++ ** .pp ++ ** Assuming 'fast_reply' is disabled, this option will prompt the user with a ++ ** prefilled From: header. ++ */ ++ { "resolve", DT_BOOL, &C_Resolve, true }, ++ /* ++ ** .pp ++ ** When \fIset\fP, the cursor will be automatically advanced to the next ++ ** (possibly undeleted) message whenever a command that modifies the ++ ** current message is executed. ++ */ ++ { "resume_draft_files", DT_BOOL, &C_ResumeDraftFiles, false }, ++ /* ++ ** .pp ++ ** If \fIset\fP, draft files (specified by \fC-H\fP on the command ++ ** line) are processed similarly to when resuming a postponed ++ ** message. Recipients are not prompted for; send-hooks are not ++ ** evaluated; no alias expansion takes place; user-defined headers ++ ** and signatures are not added to the message. ++ */ ++ { "resume_edited_draft_files", DT_BOOL, &C_ResumeEditedDraftFiles, true }, ++ /* ++ ** .pp ++ ** If \fIset\fP, draft files previously edited (via \fC-E -H\fP on ++ ** the command line) will have $$resume_draft_files automatically ++ ** set when they are used as a draft file again. ++ ** .pp ++ ** The first time a draft file is saved, NeoMutt will add a header, ++ ** X-Mutt-Resume-Draft to the saved file. The next time the draft ++ ** file is read in, if NeoMutt sees the header, it will set ++ ** $$resume_draft_files. ++ ** .pp ++ ** This option is designed to prevent multiple signatures, ++ ** user-defined headers, and other processing effects from being ++ ** made multiple times to the draft file. ++ */ ++ { "reverse_alias", DT_BOOL|R_INDEX|R_PAGER, &C_ReverseAlias, false }, ++ /* ++ ** .pp ++ ** This variable controls whether or not NeoMutt will display the "personal" ++ ** name from your aliases in the index menu if it finds an alias that ++ ** matches the message's sender. For example, if you have the following ++ ** alias: ++ ** .ts ++ ** alias juser abd30425@somewhere.net (Joe User) ++ ** .te ++ ** .pp ++ ** and then you receive mail which contains the following header: ++ ** .ts ++ ** From: abd30425@somewhere.net ++ ** .te ++ ** .pp ++ ** It would be displayed in the index menu as "Joe User" instead of ++ ** "abd30425@somewhere.net." This is useful when the person's e-mail ++ ** address is not human friendly. ++ */ ++ { "reverse_name", DT_BOOL|R_INDEX|R_PAGER, &C_ReverseName, false }, ++ /* ++ ** .pp ++ ** It may sometimes arrive that you receive mail to a certain machine, ++ ** move the messages to another machine, and reply to some the messages ++ ** from there. If this variable is \fIset\fP, the default \fIFrom:\fP line of ++ ** the reply messages is built using the address where you received the ++ ** messages you are replying to \fBif\fP that address matches your ++ ** "$alternates". If the variable is \fIunset\fP, or the address that would be ++ ** used doesn't match your "$alternates", the \fIFrom:\fP line will use ++ ** your address on the current machine. ++ ** .pp ++ ** Also see the "$alternates" command and $$reverse_realname. ++ */ ++ { "reverse_realname", DT_BOOL|R_INDEX|R_PAGER, &C_ReverseRealname, true }, ++ /* ++ ** .pp ++ ** This variable fine-tunes the behavior of the $$reverse_name feature. ++ ** .pp ++ ** When it is \fIunset\fP, NeoMutt will remove the real name part of a ++ ** matching address. This allows the use of the email address ++ ** without having to also use what the sender put in the real name ++ ** field. ++ ** .pp ++ ** When it is \fIset\fP, NeoMutt will use the matching address as-is. ++ ** .pp ++ ** In either case, a missing real name will be filled in afterwards ++ ** using the value of $$realname. ++ */ ++ { "rfc2047_parameters", DT_BOOL, &C_Rfc2047Parameters, false }, ++ /* ++ ** .pp ++ ** When this variable is \fIset\fP, NeoMutt will decode RFC2047-encoded MIME ++ ** parameters. You want to set this variable when NeoMutt suggests you ++ ** to save attachments to files named like: ++ ** .ts ++ ** =?iso-8859-1?Q?file=5F=E4=5F991116=2Ezip?= ++ ** .te ++ ** .pp ++ ** When this variable is \fIset\fP interactively, the change won't be ++ ** active until you change folders. ++ ** .pp ++ ** Note that this use of RFC2047's encoding is explicitly ++ ** prohibited by the standard, but nevertheless encountered in the ++ ** wild. ++ ** .pp ++ ** Also note that setting this parameter will \fInot\fP have the effect ++ ** that NeoMutt \fIgenerates\fP this kind of encoding. Instead, NeoMutt will ++ ** unconditionally use the encoding specified in RFC2231. ++ */ ++ { "save_address", DT_BOOL, &C_SaveAddress, false }, ++ /* ++ ** .pp ++ ** If \fIset\fP, NeoMutt will take the sender's full address when choosing a ++ ** default folder for saving a mail. If $$save_name or $$force_name ++ ** is \fIset\fP too, the selection of the Fcc folder will be changed as well. ++ */ ++ { "save_empty", DT_BOOL, &C_SaveEmpty, true }, ++ /* ++ ** .pp ++ ** When \fIunset\fP, mailboxes which contain no saved messages will be removed ++ ** when closed (the exception is $$spoolfile which is never removed). ++ ** If \fIset\fP, mailboxes are never removed. ++ ** .pp ++ ** \fBNote:\fP This only applies to mbox and MMDF folders, NeoMutt does not ++ ** delete MH and Maildir directories. ++ */ ++ { "save_history", DT_NUMBER|DT_NOT_NEGATIVE, &C_SaveHistory, 0 }, ++ /* ++ ** .pp ++ ** This variable controls the size of the history (per category) saved in the ++ ** $$history_file file. ++ */ ++ { "save_name", DT_BOOL, &C_SaveName, false }, ++ /* ++ ** .pp ++ ** This variable controls how copies of outgoing messages are saved. ++ ** When \fIset\fP, a check is made to see if a mailbox specified by the ++ ** recipient address exists (this is done by searching for a mailbox in ++ ** the $$folder directory with the \fIusername\fP part of the ++ ** recipient address). If the mailbox exists, the outgoing message will ++ ** be saved to that mailbox, otherwise the message is saved to the ++ ** $$record mailbox. ++ ** .pp ++ ** Also see the $$force_name variable. ++ */ ++#ifdef USE_NNTP ++ { "save_unsubscribed", DT_BOOL, &C_SaveUnsubscribed, false }, ++ /* ++ ** .pp ++ ** When \fIset\fP, info about unsubscribed newsgroups will be saved into ++ ** "newsrc" file and into cache. ++ */ ++#endif ++ { "score", DT_BOOL, &C_Score, true }, ++ /* ++ ** .pp ++ ** When this variable is \fIunset\fP, scoring is turned off. This can ++ ** be useful to selectively disable scoring for certain folders when the ++ ** $$score_threshold_delete variable and related are used. ++ */ ++ { "score_threshold_delete", DT_NUMBER, &C_ScoreThresholdDelete, -1 }, ++ /* ++ ** .pp ++ ** Messages which have been assigned a score equal to or lower than the value ++ ** of this variable are automatically marked for deletion by NeoMutt. Since ++ ** NeoMutt scores are always greater than or equal to zero, the default setting ++ ** of this variable will never mark a message for deletion. ++ */ ++ { "score_threshold_flag", DT_NUMBER, &C_ScoreThresholdFlag, 9999 }, ++ /* ++ ** .pp ++ ** Messages which have been assigned a score greater than or equal to this ++ ** variable's value are automatically marked "flagged". ++ */ ++ { "score_threshold_read", DT_NUMBER, &C_ScoreThresholdRead, -1 }, ++ /* ++ ** .pp ++ ** Messages which have been assigned a score equal to or lower than the value ++ ** of this variable are automatically marked as read by NeoMutt. Since ++ ** NeoMutt scores are always greater than or equal to zero, the default setting ++ ** of this variable will never mark a message read. ++ */ ++ { "search_context", DT_NUMBER|DT_NOT_NEGATIVE, &C_SearchContext, 0 }, ++ /* ++ ** .pp ++ ** For the pager, this variable specifies the number of lines shown ++ ** before search results. By default, search results will be top-aligned. ++ */ ++ { "send_charset", DT_STRING, &C_SendCharset, IP "us-ascii:iso-8859-1:utf-8", 0, charset_validator }, ++ /* ++ ** .pp ++ ** A colon-delimited list of character sets for outgoing messages. NeoMutt will use the ++ ** first character set into which the text can be converted exactly. ++ ** If your $$charset is not "iso-8859-1" and recipients may not ++ ** understand "UTF-8", it is advisable to include in the list an ++ ** appropriate widely used standard character set (such as ++ ** "iso-8859-2", "koi8-r" or "iso-2022-jp") either instead of or after ++ ** "iso-8859-1". ++ ** .pp ++ ** In case the text can't be converted into one of these exactly, ++ ** NeoMutt uses $$charset as a fallback. ++ */ ++ { "sendmail", DT_STRING|DT_COMMAND, &C_Sendmail, IP SENDMAIL " -oem -oi" }, ++ /* ++ ** .pp ++ ** Specifies the program and arguments used to deliver mail sent by NeoMutt. ++ ** NeoMutt expects that the specified program interprets additional ++ ** arguments as recipient addresses. NeoMutt appends all recipients after ++ ** adding a \fC--\fP delimiter (if not already present). Additional ++ ** flags, such as for $$use_8bitmime, $$use_envelope_from, ++ ** $$dsn_notify, or $$dsn_return will be added before the delimiter. ++ ** .pp ++ ** \fBSee also:\fP $$write_bcc. ++ */ ++ { "sendmail_wait", DT_NUMBER, &C_SendmailWait, 0 }, ++ /* ++ ** .pp ++ ** Specifies the number of seconds to wait for the $$sendmail process ++ ** to finish before giving up and putting delivery in the background. ++ ** .pp ++ ** NeoMutt interprets the value of this variable as follows: ++ ** .dl ++ ** .dt >0 .dd number of seconds to wait for sendmail to finish before continuing ++ ** .dt 0 .dd wait forever for sendmail to finish ++ ** .dt <0 .dd always put sendmail in the background without waiting ++ ** .de ++ ** .pp ++ ** Note that if you specify a value other than 0, the output of the child ++ ** process will be put in a temporary file. If there is some error, you ++ ** will be informed as to where to find the output. ++ */ ++ { "shell", DT_STRING|DT_COMMAND, &C_Shell, IP "/bin/sh" }, ++ /* ++ ** .pp ++ ** Command to use when spawning a subshell. ++ ** If not specified, then the user's login shell from \fC/etc/passwd\fP is used. ++ */ ++ { "show_multipart_alternative", DT_STRING, &C_ShowMultipartAlternative, 0, 0, multipart_validator }, ++ /* ++ ** .pp ++ ** When \fIset\fP to \fCinfo\fP, the multipart/alternative information is shown. ++ ** When \fIset\fP to \fCinline\fP, all of the alternatives are displayed. ++ ** When not set, the default behavior is to show only the chosen alternative. ++ */ ++#ifdef USE_NNTP ++ { "show_new_news", DT_BOOL, &C_ShowNewNews, true }, ++ /* ++ ** .pp ++ ** If \fIset\fP, news server will be asked for new newsgroups on entering ++ ** the browser. Otherwise, it will be done only once for a news server. ++ ** Also controls whether or not number of new articles of subscribed ++ ** newsgroups will be then checked. ++ */ ++ { "show_only_unread", DT_BOOL, &C_ShowOnlyUnread, false }, ++ /* ++ ** .pp ++ ** If \fIset\fP, only subscribed newsgroups that contain unread articles ++ ** will be displayed in browser. ++ */ ++#endif ++#ifdef USE_SIDEBAR ++ { "sidebar_component_depth", DT_NUMBER|R_SIDEBAR, &C_SidebarComponentDepth, 0 }, ++ /* ++ ** .pp ++ ** By default the sidebar will show the mailbox's path, relative to the ++ ** $$folder variable. This specifies the number of parent directories to hide ++ ** from display in the sidebar. For example: If a maildir is normally ++ ** displayed in the sidebar as dir1/dir2/dir3/maildir, setting ++ ** \fCsidebar_component_depth=2\fP will display it as dir3/maildir, having ++ ** truncated the 2 highest directories. ++ ** .pp ++ ** \fBSee also:\fP $$sidebar_short_path ++ */ ++ { "sidebar_delim_chars", DT_STRING|R_SIDEBAR, &C_SidebarDelimChars, IP "/." }, ++ /* ++ ** .pp ++ ** This contains the list of characters which you would like to treat ++ ** as folder separators for displaying paths in the sidebar. ++ ** .pp ++ ** Local mail is often arranged in directories: 'dir1/dir2/mailbox'. ++ ** .ts ++ ** set sidebar_delim_chars='/' ++ ** .te ++ ** .pp ++ ** IMAP mailboxes are often named: 'folder1.folder2.mailbox'. ++ ** .ts ++ ** set sidebar_delim_chars='.' ++ ** .te ++ ** .pp ++ ** \fBSee also:\fP $$sidebar_short_path, $$sidebar_folder_indent, $$sidebar_indent_string. ++ */ ++ { "sidebar_divider_char", DT_STRING|R_SIDEBAR, &C_SidebarDividerChar, 0 }, ++ /* ++ ** .pp ++ ** This specifies the characters to be drawn between the sidebar (when ++ ** visible) and the other NeoMutt panels. ASCII and Unicode line-drawing ++ ** characters are supported. ++ */ ++ { "sidebar_folder_indent", DT_BOOL|R_SIDEBAR, &C_SidebarFolderIndent, false }, ++ /* ++ ** .pp ++ ** Set this to indent mailboxes in the sidebar. ++ ** .pp ++ ** \fBSee also:\fP $$sidebar_short_path, $$sidebar_indent_string, $$sidebar_delim_chars. ++ */ ++ { "sidebar_format", DT_STRING|DT_NOT_EMPTY|R_SIDEBAR, &C_SidebarFormat, IP "%B%* %n" }, ++ /* ++ ** .pp ++ ** This variable allows you to customize the sidebar display. This string is ++ ** similar to $$index_format, but has its own set of \fCprintf(3)\fP-like ++ ** sequences: ++ ** .dl ++ ** .dt %B .dd .dd Name of the mailbox ++ ** .dt %d .dd * @ .dd Number of deleted messages in the mailbox ++ ** .dt %D .dd .dd Descriptive name of the mailbox ++ ** .dt %F .dd * .dd Number of flagged messages in the mailbox ++ ** .dt %L .dd * @ .dd Number of messages after limiting ++ ** .dt %n .dd .dd 'N' if mailbox has new mail, ' ' (space) otherwise ++ ** .dt %N .dd * .dd Number of unread messages in the mailbox (seen or unseen) ++ ** .dt %o .dd * .dd Number of old messages in the mailbox (unread, seen) ++ ** .dt %r .dd * .dd Number of read messages in the mailbox (read, seen) ++ ** .dt %S .dd * .dd Size of mailbox (total number of messages) ++ ** .dt %t .dd * @ .dd Number of tagged messages in the mailbox ++ ** .dt %Z .dd * .dd Number of new messages in the mailbox (unread, unseen) ++ ** .dt %! .dd .dd "!" : one flagged message; ++ ** "!!" : two flagged messages; ++ ** "n!" : n flagged messages (for n > 2). ++ ** Otherwise prints nothing. ++ ** .dt %>X .dd .dd Right justify the rest of the string and pad with "X" ++ ** .dt %|X .dd .dd Pad to the end of the line with "X" ++ ** .dt %*X .dd .dd Soft-fill with character "X" as pad ++ ** .de ++ ** .pp ++ ** * = Can be optionally printed if nonzero ++ ** .pp ++ ** @ = Only applicable to the current folder ++ ** .pp ++ ** In order to use %S, %N, %F, and %!, $$mail_check_stats must ++ ** be \fIset\fP. When thus set, a suggested value for this option is ++ ** "%B%?F? [%F]?%* %?N?%N/?%S". ++ */ ++ { "sidebar_indent_string", DT_STRING|R_SIDEBAR, &C_SidebarIndentString, IP " " }, ++ /* ++ ** .pp ++ ** This specifies the string that is used to indent mailboxes in the sidebar. ++ ** It defaults to two spaces. ++ ** .pp ++ ** \fBSee also:\fP $$sidebar_short_path, $$sidebar_folder_indent, $$sidebar_delim_chars. ++ */ ++ { "sidebar_new_mail_only", DT_BOOL|R_SIDEBAR, &C_SidebarNewMailOnly, false }, ++ /* ++ ** .pp ++ ** When set, the sidebar will only display mailboxes containing new, or ++ ** flagged, mail. ++ ** .pp ++ ** \fBSee also:\fP $$sidebar_whitelist, $$sidebar_non_empty_mailbox_only. ++ */ ++ { "sidebar_next_new_wrap", DT_BOOL, &C_SidebarNextNewWrap, false }, ++ /* ++ ** .pp ++ ** When set, the \fC\fP command will not stop and the end of ++ ** the list of mailboxes, but wrap around to the beginning. The ++ ** \fC\fP command is similarly affected, wrapping around to ++ ** the end of the list. ++ */ ++ { "sidebar_non_empty_mailbox_only", DT_BOOL|R_SIDEBAR, &C_SidebarNonEmptyMailboxOnly, false }, ++ /* ++ ** .pp ++ ** When set, the sidebar will only display mailboxes that contain one or more mails. ++ ** .pp ++ ** \fBSee also:\fP $$sidebar_new_mail_only, $$sidebar_whitelist. ++ */ ++ { "sidebar_on_right", DT_BOOL|R_INDEX|R_PAGER|R_REFLOW, &C_SidebarOnRight, false }, ++ /* ++ ** .pp ++ ** When set, the sidebar will appear on the right-hand side of the screen. ++ */ ++ { "sidebar_short_path", DT_BOOL|R_SIDEBAR, &C_SidebarShortPath, false }, ++ /* ++ ** .pp ++ ** By default the sidebar will show the mailbox's path, relative to the ++ ** $$folder variable. Setting \fCsidebar_shortpath=yes\fP will shorten the ++ ** names relative to the previous name. Here's an example: ++ ** .dl ++ ** .dt \fBshortpath=no\fP .dd \fBshortpath=yes\fP .dd \fBshortpath=yes, folderindent=yes, indentstr=".."\fP ++ ** .dt \fCfruit\fP .dd \fCfruit\fP .dd \fCfruit\fP ++ ** .dt \fCfruit.apple\fP .dd \fCapple\fP .dd \fC..apple\fP ++ ** .dt \fCfruit.banana\fP .dd \fCbanana\fP .dd \fC..banana\fP ++ ** .dt \fCfruit.cherry\fP .dd \fCcherry\fP .dd \fC..cherry\fP ++ ** .de ++ ** .pp ++ ** \fBSee also:\fP $$sidebar_delim_chars, $$sidebar_folder_indent, ++ ** $$sidebar_indent_string, $$sidebar_component_depth. ++ */ ++ { "sidebar_sort_method", DT_SORT|DT_SORT_SIDEBAR|R_SIDEBAR, &C_SidebarSortMethod, SORT_ORDER }, ++ /* ++ ** .pp ++ ** Specifies how to sort entries in the file browser. By default, the ++ ** entries are sorted alphabetically. Valid values: ++ ** .il ++ ** .dd alpha (alphabetically) ++ ** .dd count (all message count) ++ ** .dd flagged (flagged message count) ++ ** .dd name (alphabetically) ++ ** .dd new (unread message count) ++ ** .dd path (alphabetically) ++ ** .dd unread (unread message count) ++ ** .dd unsorted ++ ** .ie ++ ** .pp ++ ** You may optionally use the "reverse-" prefix to specify reverse sorting ++ ** order (example: "\fCset sort_browser=reverse-date\fP"). ++ */ ++ { "sidebar_visible", DT_BOOL|R_REFLOW, &C_SidebarVisible, false }, ++ /* ++ ** .pp ++ ** This specifies whether or not to show sidebar. The sidebar shows a list of ++ ** all your mailboxes. ++ ** .pp ++ ** \fBSee also:\fP $$sidebar_format, $$sidebar_width ++ */ ++ { "sidebar_width", DT_NUMBER|DT_NOT_NEGATIVE|R_REFLOW, &C_SidebarWidth, 30 }, ++ /* ++ ** .pp ++ ** This controls the width of the sidebar. It is measured in screen columns. ++ ** For example: sidebar_width=20 could display 20 ASCII characters, or 10 ++ ** Chinese characters. ++ */ ++#endif ++ { "sig_dashes", DT_BOOL, &C_SigDashes, true }, ++ /* ++ ** .pp ++ ** If \fIset\fP, a line containing "-- " (note the trailing space) will be inserted before your ++ ** $$signature. It is \fBstrongly\fP recommended that you not \fIunset\fP ++ ** this variable unless your signature contains just your name. The ++ ** reason for this is because many software packages use "-- \n" to ++ ** detect your signature. For example, NeoMutt has the ability to highlight ++ ** the signature in a different color in the built-in pager. ++ */ ++ { "sig_on_top", DT_BOOL, &C_SigOnTop, false }, ++ /* ++ ** .pp ++ ** If \fIset\fP, the signature will be included before any quoted or forwarded ++ ** text. It is \fBstrongly\fP recommended that you do not set this variable ++ ** unless you really know what you are doing, and are prepared to take ++ ** some heat from netiquette guardians. ++ */ ++ { "signature", DT_PATH|DT_PATH_FILE, &C_Signature, IP "~/.signature" }, ++ /* ++ ** .pp ++ ** Specifies the filename of your signature, which is appended to all ++ ** outgoing messages. If the filename ends with a pipe ("|"), it is ++ ** assumed that filename is a shell command and input should be read from ++ ** its standard output. ++ */ ++ { "simple_search", DT_STRING, &C_SimpleSearch, IP "~f %s | ~s %s" }, ++ /* ++ ** .pp ++ ** Specifies how NeoMutt should expand a simple search into a real search ++ ** pattern. A simple search is one that does not contain any of the "~" pattern ++ ** operators. See "$patterns" for more information on search patterns. ++ ** .pp ++ ** For example, if you simply type "joe" at a search or limit prompt, NeoMutt ++ ** will automatically expand it to the value specified by this variable by ++ ** replacing "%s" with the supplied string. ++ ** For the default value, "joe" would be expanded to: "~f joe | ~s joe". ++ */ ++ { "size_show_bytes", DT_BOOL|R_MENU, &C_SizeShowBytes, false }, ++ /* ++ ** .pp ++ ** If \fIset\fP, message sizes will display bytes for values less than ++ ** 1 kilobyte. See $formatstrings-size. ++ */ ++ { "size_show_fractions", DT_BOOL|R_MENU, &C_SizeShowFractions, true }, ++ /* ++ ** .pp ++ ** If \fIset\fP, message sizes will be displayed with a single decimal value ++ ** for sizes from 0 to 10 kilobytes and 1 to 10 megabytes. ++ ** See $formatstrings-size. ++ */ ++ { "size_show_mb", DT_BOOL|R_MENU, &C_SizeShowMb, true }, ++ /* ++ ** .pp ++ ** If \fIset\fP, message sizes will display megabytes for values greater than ++ ** or equal to 1 megabyte. See $formatstrings-size. ++ */ ++ { "size_units_on_left", DT_BOOL|R_MENU, &C_SizeUnitsOnLeft, false }, ++ /* ++ ** .pp ++ ** If \fIset\fP, message sizes units will be displayed to the left of the number. ++ ** See $formatstrings-size. ++ */ ++ { "skip_quoted_offset", DT_NUMBER|DT_NOT_NEGATIVE, &C_SkipQuotedOffset, 0 }, ++ /* ++ ** .pp ++ ** Lines of quoted text that are displayed before the unquoted text after ++ ** "skip to quoted" command (S) ++ */ ++ { "sleep_time", DT_NUMBER|DT_NOT_NEGATIVE, &C_SleepTime, 1 }, ++ /* ++ ** .pp ++ ** Specifies time, in seconds, to pause while displaying certain informational ++ ** messages, while moving from folder to folder and after expunging ++ ** messages from the current folder. The default is to pause one second, so ++ ** a value of zero for this option suppresses the pause. ++ */ ++ { "smart_wrap", DT_BOOL|R_PAGER_FLOW, &C_SmartWrap, true }, ++ /* ++ ** .pp ++ ** Controls the display of lines longer than the screen width in the ++ ** internal pager. If \fIset\fP, long lines are wrapped at a word boundary. If ++ ** \fIunset\fP, lines are simply wrapped at the screen edge. Also see the ++ ** $$markers variable. ++ */ ++ { "smileys", DT_REGEX|R_PAGER, &C_Smileys, IP "(>From )|(:[-^]?[][)(><}{|/DP])" }, ++ /* ++ ** .pp ++ ** The \fIpager\fP uses this variable to catch some common false ++ ** positives of $$quote_regex, most notably smileys and not consider ++ ** a line quoted text if it also matches $$smileys. This mostly ++ ** happens at the beginning of a line. ++ */ ++#ifdef CRYPT_BACKEND_CLASSIC_SMIME ++ { "smime_ask_cert_label", DT_BOOL, &C_SmimeAskCertLabel, true }, ++ /* ++ ** .pp ++ ** This flag controls whether you want to be asked to enter a label ++ ** for a certificate about to be added to the database or not. It is ++ ** \fIset\fP by default. ++ ** (S/MIME only) ++ */ ++ { "smime_ca_location", DT_PATH|DT_PATH_FILE, &C_SmimeCaLocation, 0 }, ++ /* ++ ** .pp ++ ** This variable contains the name of either a directory, or a file which ++ ** contains trusted certificates for use with OpenSSL. ++ ** (S/MIME only) ++ */ ++ { "smime_certificates", DT_PATH|DT_PATH_DIR, &C_SmimeCertificates, 0 }, ++ /* ++ ** .pp ++ ** Since for S/MIME there is no pubring/secring as with PGP, NeoMutt has to handle ++ ** storage and retrieval of keys by itself. This is very basic right ++ ** now, and keys and certificates are stored in two different ++ ** directories, both named as the hash-value retrieved from ++ ** OpenSSL. There is an index file which contains mailbox-address ++ ** keyid pairs, and which can be manually edited. This option points to ++ ** the location of the certificates. ++ ** (S/MIME only) ++ */ ++ { "smime_decrypt_command", DT_STRING|DT_COMMAND, &C_SmimeDecryptCommand, 0 }, ++ /* ++ ** .pp ++ ** This format string specifies a command which is used to decrypt ++ ** \fCapplication/x-pkcs7-mime\fP attachments. ++ ** .pp ++ ** The OpenSSL command formats have their own set of \fCprintf(3)\fP-like sequences ++ ** similar to PGP's: ++ ** .dl ++ ** .dt %f .dd Expands to the name of a file containing a message. ++ ** .dt %s .dd Expands to the name of a file containing the signature part ++ ** . of a \fCmultipart/signed\fP attachment when verifying it. ++ ** .dt %k .dd The key-pair specified with $$smime_default_key ++ ** .dt %i .dd Intermediate certificates ++ ** .dt %c .dd One or more certificate IDs. ++ ** .dt %a .dd The algorithm used for encryption. ++ ** .dt %d .dd The message digest algorithm specified with $$smime_sign_digest_alg. ++ ** .dt %C .dd CA location: Depending on whether $$smime_ca_location ++ ** . points to a directory or file, this expands to ++ ** . "-CApath $$smime_ca_location" or "-CAfile $$smime_ca_location". ++ ** .de ++ ** .pp ++ ** For examples on how to configure these formats, see the \fCsmime.rc\fP in ++ ** the \fCsamples/\fP subdirectory which has been installed on your system ++ ** alongside the documentation. ++ ** (S/MIME only) ++ */ ++ { "smime_decrypt_use_default_key", DT_BOOL, &C_SmimeDecryptUseDefaultKey, true }, ++ /* ++ ** .pp ++ ** If \fIset\fP (default) this tells NeoMutt to use the default key for decryption. Otherwise, ++ ** if managing multiple certificate-key-pairs, NeoMutt will try to use the mailbox-address ++ ** to determine the key to use. It will ask you to supply a key, if it can't find one. ++ ** (S/MIME only) ++ */ ++#endif ++ { "smime_default_key", DT_STRING, &C_SmimeDefaultKey, 0 }, ++ /* ++ ** .pp ++ ** This is the default key-pair to use for S/MIME operations, and must be ++ ** set to the keyid (the hash-value that OpenSSL generates) to work properly. ++ ** .pp ++ ** It will be used for encryption (see $$postpone_encrypt and ++ ** $$smime_self_encrypt). ++ ** .pp ++ ** It will be used for decryption unless $$smime_decrypt_use_default_key ++ ** is \fIunset\fP. ++ ** .pp ++ ** It will also be used for signing unless $$smime_sign_as is set. ++ ** .pp ++ ** The (now deprecated) \fIsmime_self_encrypt_as\fP is an alias for this ++ ** variable, and should no longer be used. ++ ** (S/MIME only) ++ */ ++#ifdef CRYPT_BACKEND_CLASSIC_SMIME ++ { "smime_encrypt_command", DT_STRING|DT_COMMAND, &C_SmimeEncryptCommand, 0 }, ++ /* ++ ** .pp ++ ** This command is used to create encrypted S/MIME messages. ++ ** .pp ++ ** This is a format string, see the $$smime_decrypt_command command for ++ ** possible \fCprintf(3)\fP-like sequences. ++ ** (S/MIME only) ++ */ ++ /* ++ ** .pp ++ ** Encrypt the message to $$smime_default_key too. ++ ** (S/MIME only) ++ */ ++#endif ++ { "smime_encrypt_with", DT_STRING, &C_SmimeEncryptWith, IP "aes256" }, ++ /* ++ ** .pp ++ ** This sets the algorithm that should be used for encryption. ++ ** Valid choices are "aes128", "aes192", "aes256", "des", "des3", "rc2-40", "rc2-64", "rc2-128". ++ ** (S/MIME only) ++ */ ++#ifdef CRYPT_BACKEND_CLASSIC_SMIME ++ { "smime_get_cert_command", DT_STRING|DT_COMMAND, &C_SmimeGetCertCommand, 0 }, ++ /* ++ ** .pp ++ ** This command is used to extract X509 certificates from a PKCS7 structure. ++ ** .pp ++ ** This is a format string, see the $$smime_decrypt_command command for ++ ** possible \fCprintf(3)\fP-like sequences. ++ ** (S/MIME only) ++ */ ++ { "smime_get_cert_email_command", DT_STRING|DT_COMMAND, &C_SmimeGetCertEmailCommand, 0 }, ++ /* ++ ** .pp ++ ** This command is used to extract the mail address(es) used for storing ++ ** X509 certificates, and for verification purposes (to check whether the ++ ** certificate was issued for the sender's mailbox). ++ ** .pp ++ ** This is a format string, see the $$smime_decrypt_command command for ++ ** possible \fCprintf(3)\fP-like sequences. ++ ** (S/MIME only) ++ */ ++ { "smime_get_signer_cert_command", DT_STRING|DT_COMMAND, &C_SmimeGetSignerCertCommand, 0 }, ++ /* ++ ** .pp ++ ** This command is used to extract only the signers X509 certificate from a S/MIME ++ ** signature, so that the certificate's owner may get compared to the ++ ** email's "From:" field. ++ ** .pp ++ ** This is a format string, see the $$smime_decrypt_command command for ++ ** possible \fCprintf(3)\fP-like sequences. ++ ** (S/MIME only) ++ */ ++ { "smime_import_cert_command", DT_STRING|DT_COMMAND, &C_SmimeImportCertCommand, 0 }, ++ /* ++ ** .pp ++ ** This command is used to import a certificate via smime_keys. ++ ** .pp ++ ** This is a format string, see the $$smime_decrypt_command command for ++ ** possible \fCprintf(3)\fP-like sequences. NOTE: %c and %k will default ++ ** to $$smime_sign_as if set, otherwise $$smime_default_key. ++ ** (S/MIME only) ++ */ ++#endif ++ { "smime_is_default", DT_BOOL, &C_SmimeIsDefault, false }, ++ /* ++ ** .pp ++ ** The default behavior of NeoMutt is to use PGP on all auto-sign/encryption ++ ** operations. To override and to use OpenSSL instead this must be \fIset\fP. ++ ** However, this has no effect while replying, since NeoMutt will automatically ++ ** select the same application that was used to sign/encrypt the original ++ ** message. (Note that this variable can be overridden by unsetting $$crypt_autosmime.) ++ ** (S/MIME only) ++ */ ++#ifdef CRYPT_BACKEND_CLASSIC_SMIME ++ { "smime_keys", DT_PATH|DT_PATH_DIR, &C_SmimeKeys, 0 }, ++ /* ++ ** .pp ++ ** Since for S/MIME there is no pubring/secring as with PGP, NeoMutt has to handle ++ ** storage and retrieval of keys/certs by itself. This is very basic right now, ++ ** and stores keys and certificates in two different directories, both ++ ** named as the hash-value retrieved from OpenSSL. There is an index file ++ ** which contains mailbox-address keyid pair, and which can be manually ++ ** edited. This option points to the location of the private keys. ++ ** (S/MIME only) ++ */ ++ { "smime_pk7out_command", DT_STRING|DT_COMMAND, &C_SmimePk7outCommand, 0 }, ++ /* ++ ** .pp ++ ** This command is used to extract PKCS7 structures of S/MIME signatures, ++ ** in order to extract the public X509 certificate(s). ++ ** .pp ++ ** This is a format string, see the $$smime_decrypt_command command for ++ ** possible \fCprintf(3)\fP-like sequences. ++ ** (S/MIME only) ++ */ ++#endif ++ { "smime_self_encrypt", DT_BOOL, &C_SmimeSelfEncrypt, true }, ++ /* ++ ** .pp ++ ** When \fIset\fP, S/MIME encrypted messages will also be encrypted ++ ** using the certificate in $$smime_default_key. ++ ** (S/MIME only) ++ */ ++ { "smime_sign_as", DT_STRING, &C_SmimeSignAs, 0 }, ++ /* ++ ** .pp ++ ** If you have a separate key to use for signing, you should set this ++ ** to the signing key. Most people will only need to set $$smime_default_key. ++ ** (S/MIME only) ++ */ ++#ifdef CRYPT_BACKEND_CLASSIC_SMIME ++ { "smime_sign_command", DT_STRING|DT_COMMAND, &C_SmimeSignCommand, 0 }, ++ /* ++ ** .pp ++ ** This command is used to created S/MIME signatures of type ++ ** \fCmultipart/signed\fP, which can be read by all mail clients. ++ ** .pp ++ ** This is a format string, see the $$smime_decrypt_command command for ++ ** possible \fCprintf(3)\fP-like sequences. ++ ** (S/MIME only) ++ */ ++ { "smime_sign_digest_alg", DT_STRING, &C_SmimeSignDigestAlg, IP "sha256" }, ++ /* ++ ** .pp ++ ** This sets the algorithm that should be used for the signature message digest. ++ ** Valid choices are "md5", "sha1", "sha224", "sha256", "sha384", "sha512". ++ ** (S/MIME only) ++ */ ++ { "smime_timeout", DT_NUMBER|DT_NOT_NEGATIVE, &C_SmimeTimeout, 300 }, ++ /* ++ ** .pp ++ ** The number of seconds after which a cached passphrase will expire if ++ ** not used. ++ ** (S/MIME only) ++ */ ++ { "smime_verify_command", DT_STRING|DT_COMMAND, &C_SmimeVerifyCommand, 0 }, ++ /* ++ ** .pp ++ ** This command is used to verify S/MIME signatures of type \fCmultipart/signed\fP. ++ ** .pp ++ ** This is a format string, see the $$smime_decrypt_command command for ++ ** possible \fCprintf(3)\fP-like sequences. ++ ** (S/MIME only) ++ */ ++ { "smime_verify_opaque_command", DT_STRING|DT_COMMAND, &C_SmimeVerifyOpaqueCommand, 0 }, ++ /* ++ ** .pp ++ ** This command is used to verify S/MIME signatures of type ++ ** \fCapplication/x-pkcs7-mime\fP. ++ ** .pp ++ ** This is a format string, see the $$smime_decrypt_command command for ++ ** possible \fCprintf(3)\fP-like sequences. ++ ** (S/MIME only) ++ */ ++#endif ++#ifdef USE_SMTP ++ { "smtp_authenticators", DT_SLIST|SLIST_SEP_COLON, &C_SmtpAuthenticators, 0 }, ++ /* ++ ** .pp ++ ** This is a colon-delimited list of authentication methods NeoMutt may ++ ** attempt to use to log in to an SMTP server, in the order NeoMutt should ++ ** try them. Authentication methods are any SASL mechanism, e.g. "plain", ++ ** "digest-md5", "gssapi" or "cram-md5". ++ ** This option is case-insensitive. If it is "unset" ++ ** (the default) NeoMutt will try all available methods, in order from ++ ** most-secure to least-secure. Support for the "plain" mechanism is ++ ** bundled; other mechanisms are provided by an external SASL library (look ++ ** for +USE_SASL in the output of neomutt -v). ++ ** .pp ++ ** Example: ++ ** .ts ++ ** set smtp_authenticators="digest-md5:cram-md5" ++ ** .te ++ */ ++ { "smtp_oauth_refresh_command", DT_STRING|DT_COMMAND|DT_SENSITIVE, &C_SmtpOauthRefreshCommand, 0 }, ++ /* ++ ** .pp ++ ** The command to run to generate an OAUTH refresh token for ++ ** authorizing your connection to your SMTP server. This command will be ++ ** run on every connection attempt that uses the OAUTHBEARER authentication ++ ** mechanism. See "$oauth" for details. ++ */ ++ { "smtp_pass", DT_STRING|DT_SENSITIVE, &C_SmtpPass, 0 }, ++ /* ++ ** .pp ++ ** Specifies the password for your SMTP account. If \fIunset\fP, NeoMutt will ++ ** prompt you for your password when you first send mail via SMTP. ++ ** See $$smtp_url to configure NeoMutt to send mail via SMTP. ++ ** .pp ++ ** \fBWarning\fP: you should only use this option when you are on a ++ ** fairly secure machine, because the superuser can read your neomuttrc even ++ ** if you are the only one who can read the file. ++ */ ++ { "smtp_user", DT_STRING|DT_SENSITIVE, &C_SmtpUser, 0 }, ++ /* ++ ** .pp ++ ** The username for the SMTP server. ++ ** .pp ++ ** This variable defaults to your user name on the local machine. ++ */ ++ { "smtp_url", DT_STRING|DT_SENSITIVE, &C_SmtpUrl, 0 }, ++ /* ++ ** .pp ++ ** Defines the SMTP smarthost where sent messages should relayed for ++ ** delivery. This should take the form of an SMTP URL, e.g.: ++ ** .ts ++ ** smtp[s]://[user[:pass]@]host[:port] ++ ** .te ++ ** .pp ++ ** where "[...]" denotes an optional part. ++ ** Setting this variable overrides the value of the $$sendmail ++ ** variable. ++ ** .pp ++ ** Also see $$write_bcc. ++ */ ++#endif /* USE_SMTP */ ++ { "sort", DT_SORT|R_INDEX|R_RESORT, &C_Sort, SORT_DATE, 0, pager_validator }, ++ /* ++ ** .pp ++ ** Specifies how to sort messages in the "index" menu. Valid values ++ ** are: ++ ** .il ++ ** .dd date or date-sent ++ ** .dd date-received ++ ** .dd from ++ ** .dd mailbox-order (unsorted) ++ ** .dd score ++ ** .dd size ++ ** .dd spam ++ ** .dd subject ++ ** .dd threads ++ ** .dd to ++ ** .ie ++ ** .pp ++ ** You may optionally use the "reverse-" prefix to specify reverse sorting ++ ** order. ++ ** .pp ++ ** Example: ++ ** .ts ++ ** set sort=reverse-date-sent ++ ** .te ++ */ ++ { "sort_alias", DT_SORT|DT_SORT_ALIAS, &C_SortAlias, SORT_ALIAS }, ++ /* ++ ** .pp ++ ** Specifies how the entries in the "alias" menu are sorted. The ++ ** following are legal values: ++ ** .il ++ ** .dd address (sort alphabetically by email address) ++ ** .dd alias (sort alphabetically by alias name) ++ ** .dd unsorted (leave in order specified in .neomuttrc) ++ ** .ie ++ */ ++ { "sort_aux", DT_SORT|DT_SORT_AUX|R_INDEX|R_RESORT|R_RESORT_SUB, &C_SortAux, SORT_DATE }, ++ /* ++ ** .pp ++ ** This provides a secondary sort for messages in the "index" menu, used ++ ** when the $$sort value is equal for two messages. ++ ** .pp ++ ** When sorting by threads, this variable controls how threads are sorted ++ ** in relation to other threads, and how the branches of the thread trees ++ ** are sorted. This can be set to any value that $$sort can, except ++ ** "threads" (in that case, NeoMutt will just use "date-sent"). You can also ++ ** specify the "last-" prefix in addition to the "reverse-" prefix, but "last-" ++ ** must come after "reverse-". The "last-" prefix causes messages to be ++ ** sorted against its siblings by which has the last descendant, using ++ ** the rest of $$sort_aux as an ordering. For instance, ++ ** .ts ++ ** set sort_aux=last-date-received ++ ** .te ++ ** .pp ++ ** would mean that if a new message is received in a ++ ** thread, that thread becomes the last one displayed (or the first, if ++ ** you have "\fCset sort=reverse-threads\fP".) ++ ** .pp ++ ** Note: For reversed-threads $$sort ++ ** order, $$sort_aux is reversed again (which is not the right thing to do, ++ ** but kept to not break any existing configuration setting). ++ */ ++ { "sort_browser", DT_SORT|DT_SORT_BROWSER, &C_SortBrowser, SORT_ALPHA }, ++ /* ++ ** .pp ++ ** Specifies how to sort entries in the file browser. By default, the ++ ** entries are sorted alphabetically. Valid values: ++ ** .il ++ ** .dd alpha (alphabetically) ++ ** .dd count (all message count) ++ ** .dd date ++ ** .dd desc (description) ++ ** .dd new (new message count) ++ ** .dd size ++ ** .dd unsorted ++ ** .ie ++ ** .pp ++ ** You may optionally use the "reverse-" prefix to specify reverse sorting ++ ** order (example: "\fCset sort_browser=reverse-date\fP"). ++ */ ++ { "sort_re", DT_BOOL|R_INDEX|R_RESORT|R_RESORT_INIT, &C_SortRe, true, 0, pager_validator }, ++ /* ++ ** .pp ++ ** This variable is only useful when sorting by mailboxes in sidebar. By default, ++ ** entries are unsorted. Valid values: ++ ** .il ++ ** .dd count (all message count) ++ ** .dd desc (virtual mailbox description) ++ ** .dd new (new message count) ++ ** .dd path ++ ** .dd unsorted ++ ** .ie ++ */ ++ { "spam_separator", DT_STRING, &C_SpamSeparator, IP "," }, ++ /* ++ ** .pp ++ ** This variable controls what happens when multiple spam headers ++ ** are matched: if \fIunset\fP, each successive header will overwrite any ++ ** previous matches value for the spam label. If \fIset\fP, each successive ++ ** match will append to the previous, using this variable's value as a ++ ** separator. ++ */ ++ { "spoolfile", DT_STRING|DT_MAILBOX, &C_Spoolfile, 0 }, ++ /* ++ ** .pp ++ ** If your spool mailbox is in a non-default place where NeoMutt can't find ++ ** it, you can specify its location with this variable. The description from ++ ** "named-mailboxes" or "virtual-mailboxes" may be used for the spoolfile. ++ ** .pp ++ ** If not specified, then the environment variables \fC$$$MAIL\fP and ++ ** \fC$$$MAILDIR\fP will be checked. ++ */ ++#ifdef USE_SSL ++#ifdef USE_SSL_GNUTLS ++ { "ssl_ca_certificates_file", DT_PATH|DT_PATH_FILE, &C_SslCaCertificatesFile, 0 }, ++ /* ++ ** .pp ++ ** This variable specifies a file containing trusted CA certificates. ++ ** Any server certificate that is signed with one of these CA ++ ** certificates is also automatically accepted. (GnuTLS only) ++ ** .pp ++ ** Example: ++ ** .ts ++ ** set ssl_ca_certificates_file=/etc/ssl/certs/ca-certificates.crt ++ ** .te ++ */ ++#endif /* USE_SSL_GNUTLS */ ++ { "ssl_ciphers", DT_STRING, &C_SslCiphers, 0 }, ++ /* ++ ** .pp ++ ** Contains a colon-separated list of ciphers to use when using SSL. ++ ** For OpenSSL, see ciphers(1) for the syntax of the string. ++ ** .pp ++ ** For GnuTLS, this option will be used in place of "NORMAL" at the ++ ** start of the priority string. See gnutls_priority_init(3) for the ++ ** syntax and more details. (Note: GnuTLS version 2.1.7 or higher is ++ ** required.) ++ */ ++ { "ssl_client_cert", DT_PATH|DT_PATH_FILE, &C_SslClientCert, 0 }, ++ /* ++ ** .pp ++ ** The file containing a client certificate and its associated private ++ ** key. ++ */ ++ { "ssl_force_tls", DT_BOOL, &C_SslForceTls, true }, ++ /* ++ ** .pp ++ ** If this variable is \fIset\fP, NeoMutt will require that all connections ++ ** to remote servers be encrypted. Furthermore it will attempt to ++ ** negotiate TLS even if the server does not advertise the capability, ++ ** since it would otherwise have to abort the connection anyway. This ++ ** option supersedes $$ssl_starttls. ++ */ ++#ifdef USE_SSL_GNUTLS ++ { "ssl_min_dh_prime_bits", DT_NUMBER|DT_NOT_NEGATIVE, &C_SslMinDhPrimeBits, 0 }, ++ /* ++ ** .pp ++ ** This variable specifies the minimum acceptable prime size (in bits) ++ ** for use in any Diffie-Hellman key exchange. A value of 0 will use ++ ** the default from the GNUTLS library. (GnuTLS only) ++ */ ++#endif /* USE_SSL_GNUTLS */ ++ { "ssl_starttls", DT_QUAD, &C_SslStarttls, MUTT_YES }, ++ /* ++ ** .pp ++ ** If \fIset\fP (the default), NeoMutt will attempt to use \fCSTARTTLS\fP on servers ++ ** advertising the capability. When \fIunset\fP, NeoMutt will not attempt to ++ ** use \fCSTARTTLS\fP regardless of the server's capabilities. ++ */ ++#ifdef USE_SSL_OPENSSL ++ { "ssl_use_sslv2", DT_BOOL, &C_SslUseSslv2, false }, ++ /* ++ ** .pp ++ ** If \fIset\fP , NeoMutt will use SSLv2 when communicating with servers that ++ ** request it. \fBN.B. As of 2011, SSLv2 is considered insecure, and using ++ ** is inadvisable. See https://tools.ietf.org/html/rfc6176 .\fP ++ ** (OpenSSL only) ++ */ ++#endif /* defined USE_SSL_OPENSSL */ ++ { "ssl_use_sslv3", DT_BOOL, &C_SslUseSslv3, false }, ++ /* ++ ** .pp ++ ** If \fIset\fP , NeoMutt will use SSLv3 when communicating with servers that ++ ** request it. \fBN.B. As of 2015, SSLv3 is considered insecure, and using ++ ** it is inadvisable. See https://tools.ietf.org/html/rfc7525 .\fP ++ */ ++ { "ssl_use_tlsv1", DT_BOOL, &C_SslUseTlsv1, false }, ++ /* ++ ** .pp ++ ** If \fIset\fP , NeoMutt will use TLSv1.0 when communicating with servers that ++ ** request it. \fBN.B. As of 2015, TLSv1.0 is considered insecure, and using ++ ** it is inadvisable. See https://tools.ietf.org/html/rfc7525 .\fP ++ */ ++ { "ssl_use_tlsv1_1", DT_BOOL, &C_SslUseTlsv11, false }, ++ /* ++ ** .pp ++ ** If \fIset\fP , NeoMutt will use TLSv1.1 when communicating with servers that ++ ** request it. \fBN.B. As of 2015, TLSv1.1 is considered insecure, and using ++ ** it is inadvisable. See https://tools.ietf.org/html/rfc7525 .\fP ++ */ ++ { "ssl_use_tlsv1_2", DT_BOOL, &C_SslUseTlsv12, true }, ++ /* ++ ** .pp ++ ** If \fIset\fP , NeoMutt will use TLSv1.2 when communicating with servers that ++ ** request it. ++ */ ++ { "ssl_use_tlsv1_3", DT_BOOL, &C_SslUseTlsv13, true }, ++ /* ++ ** .pp ++ ** If \fIset\fP , NeoMutt will use TLSv1.3 when communicating with servers that ++ ** request it. ++ */ ++#ifdef USE_SSL_OPENSSL ++ { "ssl_usesystemcerts", DT_BOOL, &C_SslUsesystemcerts, true }, ++ /* ++ ** .pp ++ ** If set to \fIyes\fP, NeoMutt will use CA certificates in the ++ ** system-wide certificate store when checking if a server certificate ++ ** is signed by a trusted CA. (OpenSSL only) ++ */ ++#endif ++ { "ssl_verify_dates", DT_BOOL, &C_SslVerifyDates, true }, ++ /* ++ ** .pp ++ ** If \fIset\fP (the default), NeoMutt will not automatically accept a server ++ ** certificate that is either not yet valid or already expired. You should ++ ** only unset this for particular known hosts, using the ++ ** \fC$\fP function. ++ */ ++ { "ssl_verify_host", DT_BOOL, &C_SslVerifyHost, true }, ++ /* ++ ** .pp ++ ** If \fIset\fP (the default), NeoMutt will not automatically accept a server ++ ** certificate whose host name does not match the host used in your folder ++ ** URL. You should only unset this for particular known hosts, using ++ ** the \fC$\fP function. ++ */ ++#ifdef USE_SSL_OPENSSL ++#ifdef HAVE_SSL_PARTIAL_CHAIN ++ { "ssl_verify_partial_chains", DT_BOOL, &C_SslVerifyPartialChains, false }, ++ /* ++ ** .pp ++ ** This option should not be changed from the default unless you understand ++ ** what you are doing. ++ ** .pp ++ ** Setting this variable to \fIyes\fP will permit verifying partial ++ ** certification chains, i. e. a certificate chain where not the root, ++ ** but an intermediate certificate CA, or the host certificate, are ++ ** marked trusted (in $$certificate_file), without marking the root ++ ** signing CA as trusted. ++ ** .pp ++ ** (OpenSSL 1.0.2b and newer only). ++ */ ++#endif /* defined HAVE_SSL_PARTIAL_CHAIN */ ++#endif /* defined USE_SSL_OPENSSL */ ++#endif /* defined(USE_SSL) */ ++ { "status_chars", DT_MBTABLE|R_INDEX|R_PAGER, &C_StatusChars, IP "-*%A" }, ++ /* ++ ** .pp ++ ** Controls the characters used by the "%r" indicator in $$status_format. ++ ** .dl ++ ** .dt \fBCharacter\fP .dd \fBDefault\fP .dd \fBDescription\fP ++ ** .dt 1 .dd - .dd Mailbox is unchanged ++ ** .dt 2 .dd * .dd Mailbox has been changed and needs to be resynchronized ++ ** .dt 3 .dd % .dd Mailbox is read-only, or will not be written when exiting. ++ ** (You can toggle whether to write changes to a mailbox ++ ** with the \fC\fP operation, bound by default ++ ** to "%") ++ ** .dt 4 .dd A .dd Folder opened in attach-message mode. ++ ** (Certain operations like composing a new mail, replying, ++ ** forwarding, etc. are not permitted in this mode) ++ ** .de ++ */ ++ { "status_format", DT_STRING|R_INDEX|R_PAGER, &C_StatusFormat, IP "-%r-NeoMutt: %D [Msgs:%?M?%M/?%m%?n? New:%n?%?o? Old:%o?%?d? Del:%d?%?F? Flag:%F?%?t? Tag:%t?%?p? Post:%p?%?b? Inc:%b?%?l? %l?]---(%s/%S)-%>-(%P)---" }, ++ /* ++ ** .pp ++ ** Controls the format of the status line displayed in the "index" ++ ** menu. This string is similar to $$index_format, but has its own ++ ** set of \fCprintf(3)\fP-like sequences: ++ ** .dl ++ ** .dt %b .dd * .dd Number of mailboxes with new mail ++ ** .dt %d .dd * .dd Number of deleted messages ++ ** .dt %D .dd .dd Description of the mailbox ++ ** .dt %f .dd .dd The full pathname of the current mailbox ++ ** .dt %F .dd * .dd Number of flagged messages ++ ** .dt %h .dd .dd Local hostname ++ ** .dt %l .dd * .dd Size (in bytes) of the current mailbox (see $formatstrings-size) ++ ** .dt %L .dd * .dd Size (in bytes) of the messages shown ++ ** (i.e., which match the current limit) (see $formatstrings-size) ++ ** .dt %m .dd * .dd The number of messages in the mailbox ++ ** .dt %M .dd * .dd The number of messages shown (i.e., which match the current limit) ++ ** .dt %n .dd * .dd Number of new messages in the mailbox (unread, unseen) ++ ** .dt %o .dd * .dd Number of old messages in the mailbox (unread, seen) ++ ** .dt %p .dd * .dd Number of postponed messages ++ ** .dt %P .dd .dd Percentage of the way through the index ++ ** .dt %r .dd .dd Modified/read-only/won't-write/attach-message indicator, ++ ** According to $$status_chars ++ ** .dt %R .dd * .dd Number of read messages in the mailbox (read, seen) ++ ** .dt %s .dd .dd Current sorting mode ($$sort) ++ ** .dt %S .dd .dd Current aux sorting method ($$sort_aux) ++ ** .dt %t .dd * .dd Number of tagged messages in the mailbox ++ ** .dt %u .dd * .dd Number of unread messages in the mailbox (seen or unseen) ++ ** .dt %v .dd .dd NeoMutt version string ++ ** .dt %V .dd * .dd Currently active limit pattern, if any ++ ** .dt %>X .dd .dd Right justify the rest of the string and pad with "X" ++ ** .dt %|X .dd .dd Pad to the end of the line with "X" ++ ** .dt %*X .dd .dd Soft-fill with character "X" as pad ++ ** .de ++ ** .pp ++ ** For an explanation of "soft-fill", see the $$index_format documentation. ++ ** .pp ++ ** * = can be optionally printed if nonzero ++ ** .pp ++ ** Some of the above sequences can be used to optionally print a string ++ ** if their value is nonzero. For example, you may only want to see the ++ ** number of flagged messages if such messages exist, since zero is not ++ ** particularly meaningful. To optionally print a string based upon one ++ ** of the above sequences, the following construct is used: ++ ** .pp ++ ** \fC%???\fP ++ ** .pp ++ ** where \fIsequence_char\fP is a character from the table above, and ++ ** \fIoptional_string\fP is the string you would like printed if ++ ** \fIsequence_char\fP is nonzero. \fIoptional_string\fP \fBmay\fP contain ++ ** other sequences as well as normal text, but you may \fBnot\fP nest ++ ** optional strings. ++ ** .pp ++ ** Here is an example illustrating how to optionally print the number of ++ ** new messages in a mailbox: ++ ** .pp ++ ** \fC%?n?%n new messages.?\fP ++ ** .pp ++ ** You can also switch between two strings using the following construct: ++ ** .pp ++ ** \fC%??&?\fP ++ ** .pp ++ ** If the value of \fIsequence_char\fP is non-zero, \fIif_string\fP will ++ ** be expanded, otherwise \fIelse_string\fP will be expanded. ++ ** .pp ++ ** You can force the result of any \fCprintf(3)\fP-like sequence to be lowercase ++ ** by prefixing the sequence character with an underscore ("_") sign. ++ ** For example, if you want to display the local hostname in lowercase, ++ ** you would use: "\fC%_h\fP". ++ ** .pp ++ ** If you prefix the sequence character with a colon (":") character, NeoMutt ++ ** will replace any dots in the expansion by underscores. This might be helpful ++ ** with IMAP folders that don't like dots in folder names. ++ */ ++ { "status_on_top", DT_BOOL|R_REFLOW, &C_StatusOnTop, false }, ++ /* ++ ** .pp ++ ** Setting this variable causes the "status bar" to be displayed on ++ ** the first line of the screen rather than near the bottom. If $$help ++ ** is \fIset\fP, too it'll be placed at the bottom. ++ */ ++ { "strict_threads", DT_BOOL|R_RESORT|R_RESORT_INIT|R_INDEX, &C_StrictThreads, false, 0, pager_validator }, ++ /* ++ ** .pp ++ ** If \fIset\fP, threading will only make use of the "In-Reply-To" and ++ ** "References:" fields when you $$sort by message threads. By ++ ** default, messages with the same subject are grouped together in ++ ** "pseudo threads.". This may not always be desirable, such as in a ++ ** personal mailbox where you might have several unrelated messages with ++ ** the subjects like "hi" which will get grouped together. See also ++ ** $$sort_re for a less drastic way of controlling this ++ ** behavior. ++ */ ++ { "suspend", DT_BOOL, &C_Suspend, true }, ++ /* ++ ** .pp ++ ** When \fIunset\fP, NeoMutt won't stop when the user presses the terminal's ++ ** \fIsusp\fP key, usually "^Z". This is useful if you run NeoMutt ++ ** inside an xterm using a command like "\fCxterm -e neomutt\fP". ++ */ ++ { "text_flowed", DT_BOOL, &C_TextFlowed, false }, ++ /* ++ ** .pp ++ ** When \fIset\fP, NeoMutt will generate "format=flowed" bodies with a content type ++ ** of "\fCtext/plain; format=flowed\fP". ++ ** This format is easier to handle for some mailing software, and generally ++ ** just looks like ordinary text. To actually make use of this format's ++ ** features, you'll need support in your editor. ++ ** .pp ++ ** The option only controls newly composed messages. Postponed messages, ++ ** resent messages, and draft messages (via -H on the command line) will ++ ** use the content-type of the source message. ++ ** .pp ++ ** Note that $$indent_string is ignored when this option is \fIset\fP. ++ */ ++ { "thorough_search", DT_BOOL, &C_ThoroughSearch, true }, ++ /* ++ ** .pp ++ ** Affects the \fC~b\fP and \fC~h\fP search operations described in ++ ** section "$patterns". If \fIset\fP, the headers and body/attachments of ++ ** messages to be searched are decoded before searching. If \fIunset\fP, ++ ** messages are searched as they appear in the folder. ++ ** .pp ++ ** Users searching attachments or for non-ASCII characters should \fIset\fP ++ ** this value because decoding also includes MIME parsing/decoding and possible ++ ** character set conversions. Otherwise NeoMutt will attempt to match against the ++ ** raw message received (for example quoted-printable encoded or with encoded ++ ** headers) which may lead to incorrect search results. ++ */ ++ { "thread_received", DT_BOOL|R_RESORT|R_RESORT_INIT|R_INDEX, &C_ThreadReceived, false, 0, pager_validator }, ++ /* ++ ** .pp ++ ** When \fIset\fP, NeoMutt uses the date received rather than the date sent ++ ** to thread messages by subject. ++ */ ++ { "tilde", DT_BOOL|R_PAGER, &C_Tilde, false }, ++ /* ++ ** .pp ++ ** When \fIset\fP, the internal-pager will pad blank lines to the bottom of the ++ ** screen with a tilde ("~"). ++ */ ++ { "time_inc", DT_NUMBER|DT_NOT_NEGATIVE, &C_TimeInc, 0 }, ++ /* ++ ** .pp ++ ** Along with $$read_inc, $$write_inc, and $$net_inc, this ++ ** variable controls the frequency with which progress updates are ++ ** displayed. It suppresses updates less than $$time_inc milliseconds ++ ** apart. This can improve throughput on systems with slow terminals, ++ ** or when running NeoMutt on a remote system. ++ ** .pp ++ ** Also see the "$tuning" section of the manual for performance considerations. ++ */ ++ { "timeout", DT_NUMBER|DT_NOT_NEGATIVE, &C_Timeout, 600 }, ++ /* ++ ** .pp ++ ** When NeoMutt is waiting for user input either idling in menus or ++ ** in an interactive prompt, NeoMutt would block until input is ++ ** present. Depending on the context, this would prevent certain ++ ** operations from working, like checking for new mail or keeping ++ ** an IMAP connection alive. ++ ** .pp ++ ** This variable controls how many seconds NeoMutt will at most wait ++ ** until it aborts waiting for input, performs these operations and ++ ** continues to wait for input. ++ ** .pp ++ ** A value of zero or less will cause NeoMutt to never time out. ++ */ ++ { "tmpdir", DT_PATH|DT_PATH_DIR|DT_NOT_EMPTY, &C_Tmpdir, IP "/tmp" }, ++ /* ++ ** .pp ++ ** This variable allows you to specify where NeoMutt will place its ++ ** temporary files needed for displaying and composing messages. ++ ** .pp ++ ** If this variable is not set, the environment variable \fC$$$TMPDIR\fP is ++ ** used. Failing that, then "\fC/tmp\fP" is used. ++ */ ++ { "to_chars", DT_MBTABLE|R_INDEX|R_PAGER, &C_ToChars, IP " +TCFLR" }, ++ /* ++ ** .pp ++ ** Controls the character used to indicate mail addressed to you. ++ ** .dl ++ ** .dt \fBCharacter\fP .dd \fBDefault\fP .dd \fBDescription\fP ++ ** .dt 1 .dd .dd The mail is \fInot\fP addressed to your address. ++ ** .dt 2 .dd + .dd You are the only recipient of the message. ++ ** .dt 3 .dd T .dd Your address appears in the "To:" header field, but you are not the only recipient of the message. ++ ** .dt 4 .dd C .dd Your address is specified in the "Cc:" header field, but you are not the only recipient. ++ ** .dt 5 .dd F .dd Indicates the mail that was sent by \fIyou\fP. ++ ** .dt 6 .dd L .dd Indicates the mail was sent to a mailing-list you subscribe to. ++ ** .dt 7 .dd R .dd Your address appears in the "Reply-To:" header field but none of the above applies. ++ ** .de ++ */ ++ { "trash", DT_STRING|DT_MAILBOX, &C_Trash, 0 }, ++ /* ++ ** .pp ++ ** If set, this variable specifies the path of the trash folder where the ++ ** mails marked for deletion will be moved, instead of being irremediably ++ ** purged. ++ ** .pp ++ ** NOTE: When you delete a message in the trash folder, it is really ++ ** deleted, so that you have a way to clean the trash. ++ */ ++ { "ts_enabled", DT_BOOL|R_INDEX|R_PAGER, &C_TsEnabled, false }, ++ /* The default must be off to force in the validity checking. */ ++ /* ++ ** .pp ++ ** Controls whether NeoMutt tries to set the terminal status line and icon name. ++ ** Most terminal emulators emulate the status line in the window title. ++ */ ++ { "ts_icon_format", DT_STRING|R_INDEX|R_PAGER, &C_TsIconFormat, IP "M%?n?AIL&ail?" }, ++ /* ++ ** .pp ++ ** Controls the format of the icon title, as long as "$$ts_enabled" is set. ++ ** This string is identical in formatting to the one used by ++ ** "$$status_format". ++ */ ++ { "ts_status_format", DT_STRING|R_INDEX|R_PAGER, &C_TsStatusFormat, IP "NeoMutt with %?m?%m messages&no messages?%?n? [%n NEW]?" }, ++ /* ++ ** .pp ++ ** Controls the format of the terminal status line (or window title), ++ ** provided that "$$ts_enabled" has been set. This string is identical in ++ ** formatting to the one used by "$$status_format". ++ */ ++#ifdef USE_SOCKET ++ { "tunnel", DT_STRING|DT_COMMAND, &C_Tunnel, 0 }, ++ /* ++ ** .pp ++ ** Setting this variable will cause NeoMutt to open a pipe to a command ++ ** instead of a raw socket. You may be able to use this to set up ++ ** preauthenticated connections to your IMAP/POP3/SMTP server. Example: ++ ** .ts ++ ** set tunnel="ssh -q mailhost.net /usr/local/libexec/imapd" ++ ** .te ++ ** .pp ++ ** Note: For this example to work you must be able to log in to the remote ++ ** machine without having to enter a password. ++ ** .pp ++ ** When set, NeoMutt uses the tunnel for all remote connections. ++ ** Please see "$account-hook" in the manual for how to use different ++ ** tunnel commands per connection. ++ */ ++#endif ++ { "uncollapse_jump", DT_BOOL, &C_UncollapseJump, false }, ++ /* ++ ** .pp ++ ** When \fIset\fP, NeoMutt will jump to the next unread message, if any, ++ ** when the current thread is \fIun\fPcollapsed. ++ */ ++ { "uncollapse_new", DT_BOOL, &C_UncollapseNew, true }, ++ /* ++ ** .pp ++ ** When \fIset\fP, NeoMutt will automatically uncollapse any collapsed thread ++ ** that receives a new message. When \fIunset\fP, collapsed threads will ++ ** remain collapsed. the presence of the new message will still affect ++ ** index sorting, though. ++ */ ++ { "use_8bitmime", DT_BOOL, &C_Use8bitmime, false }, ++ /* ++ ** .pp ++ ** \fBWarning:\fP do not set this variable unless you are using a version ++ ** of sendmail which supports the \fC-B8BITMIME\fP flag (such as sendmail ++ ** 8.8.x) or you may not be able to send mail. ++ ** .pp ++ ** When \fIset\fP, NeoMutt will invoke $$sendmail with the \fC-B8BITMIME\fP ++ ** flag when sending 8-bit messages to enable ESMTP negotiation. ++ */ ++ { "use_domain", DT_BOOL, &C_UseDomain, true }, ++ /* ++ ** .pp ++ ** When \fIset\fP, NeoMutt will qualify all local addresses (ones without the ++ ** "@host" portion) with the value of $$hostname. If \fIunset\fP, no ++ ** addresses will be qualified. ++ */ ++ { "use_envelope_from", DT_BOOL, &C_UseEnvelopeFrom, false }, ++ /* ++ ** .pp ++ ** When \fIset\fP, NeoMutt will set the \fIenvelope\fP sender of the message. ++ ** If $$envelope_from_address is \fIset\fP, it will be used as the sender ++ ** address. If \fIunset\fP, NeoMutt will attempt to derive the sender from the ++ ** "From:" header. ++ ** .pp ++ ** Note that this information is passed to sendmail command using the ++ ** \fC-f\fP command line switch. Therefore setting this option is not useful ++ ** if the $$sendmail variable already contains \fC-f\fP or if the ++ ** executable pointed to by $$sendmail doesn't support the \fC-f\fP switch. ++ */ ++ { "use_from", DT_BOOL, &C_UseFrom, true }, ++ /* ++ ** .pp ++ ** When \fIset\fP, NeoMutt will generate the "From:" header field when ++ ** sending messages. If \fIunset\fP, no "From:" header field will be ++ ** generated unless the user explicitly sets one using the "$my_hdr" ++ ** command. ++ */ ++#ifdef HAVE_GETADDRINFO ++ { "use_ipv6", DT_BOOL, &C_UseIpv6, true }, ++ /* ++ ** .pp ++ ** When \fIset\fP, NeoMutt will look for IPv6 addresses of hosts it tries to ++ ** contact. If this option is \fIunset\fP, NeoMutt will restrict itself to IPv4 addresses. ++ ** Normally, the default should work. ++ */ ++#endif /* HAVE_GETADDRINFO */ ++ { "user_agent", DT_BOOL, &C_UserAgent, false }, ++ /* ++ ** .pp ++ ** When \fIset\fP, NeoMutt will add a "User-Agent:" header to outgoing ++ ** messages, indicating which version of NeoMutt was used for composing ++ ** them. ++ */ ++#ifdef USE_NOTMUCH ++ { "vfolder_format", DT_STRING|DT_NOT_EMPTY|R_INDEX, &C_VfolderFormat, IP "%2C %?n?%4n/& ?%4m %f" }, ++ /* ++ ** .pp ++ ** This variable allows you to customize the file browser display for virtual ++ ** folders to your personal taste. This string uses many of the same ++ ** expandos as $$folder_format. ++ */ ++ { "virtual_spoolfile", DT_BOOL, &C_VirtualSpoolfile, false }, ++ /* ++ ** .pp ++ ** When \fIset\fP, NeoMutt will use the first defined virtual mailbox (see ++ ** virtual-mailboxes) as a spool file. ++ ** ++ ** This command is now unnecessary. $$spoolfile has been extended to support ++ ** mailbox descriptions as a value. ++ */ ++#endif ++ { "visual", DT_STRING|DT_COMMAND, &C_Visual, IP "vi" }, ++ /* ++ ** .pp ++ ** Specifies the visual editor to invoke when the "\fC~v\fP" command is ++ ** given in the built-in editor. ++ ** .pp ++ ** $$visual is overridden by the environment variable \fC$$$VISUAL\fP or \fC$$$EDITOR\fP. ++ */ ++ { "wait_key", DT_BOOL, &C_WaitKey, true }, ++ /* ++ ** .pp ++ ** Controls whether NeoMutt will ask you to press a key after an external command ++ ** has been invoked by these functions: \fC\fP, ++ ** \fC\fP, \fC\fP, \fC\fP, ++ ** and \fC\fP commands. ++ ** .pp ++ ** It is also used when viewing attachments with "$auto_view", provided ++ ** that the corresponding mailcap entry has a \fIneedsterminal\fP flag, ++ ** and the external program is interactive. ++ ** .pp ++ ** When \fIset\fP, NeoMutt will always ask for a key. When \fIunset\fP, NeoMutt will wait ++ ** for a key only if the external command returned a non-zero status. ++ */ ++ { "weed", DT_BOOL, &C_Weed, true }, ++ /* ++ ** .pp ++ ** When \fIset\fP, NeoMutt will weed headers when displaying, forwarding, ++ ** printing, or replying to messages. ++ */ ++ { "wrap", DT_NUMBER|R_PAGER_FLOW, &C_Wrap, 0 }, ++ /* ++ ** .pp ++ ** When set to a positive value, NeoMutt will wrap text at $$wrap characters. ++ ** When set to a negative value, NeoMutt will wrap text so that there are $$wrap ++ ** characters of empty space on the right side of the terminal. Setting it ++ ** to zero makes NeoMutt wrap at the terminal width. ++ ** .pp ++ ** Also see $$reflow_wrap. ++ */ ++ { "wrap_headers", DT_NUMBER|DT_NOT_NEGATIVE|R_PAGER, &C_WrapHeaders, 78, 0, wrapheaders_validator }, ++ /* ++ ** .pp ++ ** This option specifies the number of characters to use for wrapping ++ ** an outgoing message's headers. Allowed values are between 78 and 998 ++ ** inclusive. ++ ** .pp ++ ** \fBNote:\fP This option usually shouldn't be changed. RFC5233 ++ ** recommends a line length of 78 (the default), so \fBplease only change ++ ** this setting when you know what you're doing\fP. ++ */ ++ { "wrap_search", DT_BOOL, &C_WrapSearch, true }, ++ /* ++ ** .pp ++ ** Controls whether searches wrap around the end. ++ ** .pp ++ ** When \fIset\fP, searches will wrap around the first (or last) item. When ++ ** \fIunset\fP, incremental searches will not wrap. ++ */ ++ { "write_bcc", DT_BOOL, &C_WriteBcc, false }, ++ /* ++ ** .pp ++ ** Controls whether mutt writes out the ``Bcc:'' header when ++ ** preparing messages to be sent. Some MTAs, such as Exim and ++ ** Courier, do not strip the ``Bcc:'' header; so it is advisable to ++ ** leave this unset unless you have a particular need for the header ++ ** to be in the sent message. ++ ** .pp ++ ** If mutt is set to deliver directly via SMTP(see $$smtp_url), ++ ** this option does nothing: mutt will never write out the ``Bcc:'' ++ ** header in this case. ++ ** .pp ++ ** Note this option only affects the sending of messages. Fcc'ed ++ ** copies of a message will always contain the ``Bcc:'' header if ++ ** one exists. ++ */ ++ { "write_inc", DT_NUMBER|DT_NOT_NEGATIVE, &C_WriteInc, 10 }, ++ /* ++ ** .pp ++ ** When writing a mailbox, a message will be printed every ++ ** $$write_inc messages to indicate progress. If set to 0, only a ++ ** single message will be displayed before writing a mailbox. ++ ** .pp ++ ** Also see the $$read_inc, $$net_inc and $$time_inc variables and the ++ ** "$tuning" section of the manual for performance considerations. ++ */ ++#ifdef USE_NNTP ++ { "x_comment_to", DT_BOOL, &C_XCommentTo, false }, ++ /* ++ ** .pp ++ ** If \fIset\fP, NeoMutt will add "X-Comment-To:" field (that contains full ++ ** name of original article author) to article that followuped to newsgroup. ++ */ ++#endif ++ /*--*/ ++ ++ { "ignore_linear_white_space", DT_DEPRECATED|DT_BOOL, &C_IgnoreLinearWhiteSpace, false }, ++ { "pgp_encrypt_self", DT_DEPRECATED|DT_QUAD, &C_PgpEncryptSelf, MUTT_NO }, ++ { "smime_encrypt_self", DT_DEPRECATED|DT_QUAD, &C_SmimeEncryptSelf, MUTT_NO }, ++ ++ { "abort_noattach_regexp", DT_SYNONYM, NULL, IP "abort_noattach_regex", }, ++ { "attach_keyword", DT_SYNONYM, NULL, IP "abort_noattach_regex", }, ++ { "edit_hdrs", DT_SYNONYM, NULL, IP "edit_headers", }, ++ { "envelope_from", DT_SYNONYM, NULL, IP "use_envelope_from", }, ++ { "forw_decode", DT_SYNONYM, NULL, IP "forward_decode", }, ++ { "forw_decrypt", DT_SYNONYM, NULL, IP "forward_decrypt", }, ++ { "forw_format", DT_SYNONYM, NULL, IP "forward_format", }, ++ { "forw_quote", DT_SYNONYM, NULL, IP "forward_quote", }, ++ { "hdr_format", DT_SYNONYM, NULL, IP "index_format", }, ++ { "indent_str", DT_SYNONYM, NULL, IP "indent_string", }, ++ { "mime_fwd", DT_SYNONYM, NULL, IP "mime_forward", }, ++ { "msg_format", DT_SYNONYM, NULL, IP "message_format", }, ++#ifdef USE_NOTMUCH ++ { "nm_default_uri", DT_SYNONYM, NULL, IP "nm_default_url" }, ++#endif ++ { "pgp_autoencrypt", DT_SYNONYM, NULL, IP "crypt_autoencrypt", }, ++ { "pgp_autosign", DT_SYNONYM, NULL, IP "crypt_autosign", }, ++ { "pgp_auto_traditional", DT_SYNONYM, NULL, IP "pgp_replyinline", }, ++ { "pgp_create_traditional", DT_SYNONYM, NULL, IP "pgp_autoinline", }, ++ { "pgp_replyencrypt", DT_SYNONYM, NULL, IP "crypt_replyencrypt", }, ++ { "pgp_replysign", DT_SYNONYM, NULL, IP "crypt_replysign", }, ++ { "pgp_replysignencrypted", DT_SYNONYM, NULL, IP "crypt_replysignencrypted", }, ++ { "pgp_self_encrypt_as", DT_SYNONYM, NULL, IP "pgp_default_key", }, ++ { "pgp_verify_sig", DT_SYNONYM, NULL, IP "crypt_verify_sig", }, ++ { "post_indent_str", DT_SYNONYM, NULL, IP "post_indent_string", }, ++ { "print_cmd", DT_SYNONYM, NULL, IP "print_command", }, ++ { "quote_regexp", DT_SYNONYM, NULL, IP "quote_regex", }, ++ { "reply_regexp", DT_SYNONYM, NULL, IP "reply_regex", }, ++ { "smime_self_encrypt_as", DT_SYNONYM, NULL, IP "smime_default_key", }, ++ { "xterm_icon", DT_SYNONYM, NULL, IP "ts_icon_format", }, ++ { "xterm_set_titles", DT_SYNONYM, NULL, IP "ts_enabled", }, ++ { "xterm_title", DT_SYNONYM, NULL, IP "ts_status_format", }, ++ ++ { NULL, 0, NULL, 0, 0, NULL }, ++}; ++// clang-format on +diff --git a/mutt_config.h b/mutt_config.h +new file mode 100644 +index 000000000..6bfd160f5 +--- /dev/null ++++ b/mutt_config.h +@@ -0,0 +1,30 @@ ++/** ++ * @file ++ * Definitions of config variables ++ * ++ * @authors ++ * Copyright (C) 2020 Richard Russon ++ * ++ * @copyright ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 2 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ ++#ifndef MUTT_MUTT_CONFIG_H ++#define MUTT_MUTT_CONFIG_H ++ ++#include "config/lib.h" ++ ++extern struct ConfigDef MuttVars[]; ++ ++#endif /* MUTT_MUTT_CONFIG_H */ +diff --git a/mutt_header.c b/mutt_header.c +index 058545a61..7fa9f4874 100644 +--- a/mutt_header.c ++++ b/mutt_header.c +@@ -33,19 +33,19 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "email/lib.h" + #include "core/lib.h" ++#include "gui/lib.h" + #include "mutt.h" + #include "mutt_header.h" + #include "alias.h" +-#include "curs_lib.h" + #include "index.h" + #include "muttlib.h" +-#include "ncrypt/ncrypt.h" + #include "options.h" + #include "protos.h" + #include "sendlib.h" ++#include "ncrypt/lib.h" + + /** + * label_ref_dec - Decrease the refcount of a label +diff --git a/mutt_history.c b/mutt_history.c +index b6cc2d1a7..267557daa 100644 +--- a/mutt_history.c ++++ b/mutt_history.c +@@ -29,15 +29,15 @@ + #include "config.h" + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "config/lib.h" ++#include "gui/lib.h" + #include "mutt.h" + #include "mutt_history.h" +-#include "curs_lib.h" + #include "format_flags.h" ++#include "globals.h" + #include "keymap.h" + #include "mutt_menu.h" +-#include "mutt_window.h" + #include "muttlib.h" + #include "opcodes.h" + +@@ -74,13 +74,13 @@ static const char *history_format_str(char *buf, size_t buflen, size_t col, int + } + + /** +- * history_make_entry - Format a menu item for the history list - Implements Menu::menu_make_entry() ++ * history_make_entry - Format a menu item for the history list - Implements Menu::make_entry() + */ + static void history_make_entry(char *buf, size_t buflen, struct Menu *menu, int line) + { + char *entry = ((char **) menu->data)[line]; + +- mutt_expando_format(buf, buflen, 0, menu->indexwin->cols, "%s", history_format_str, ++ mutt_expando_format(buf, buflen, 0, menu->win_index->state.cols, "%s", history_format_str, + (unsigned long) entry, MUTT_FORMAT_ARROWCURSOR); + } + +@@ -99,8 +99,41 @@ static void history_menu(char *buf, size_t buflen, char **matches, int match_cou + + snprintf(title, sizeof(title), _("History '%s'"), buf); + ++ struct MuttWindow *dlg = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++#ifdef USE_DEBUG_WINDOW ++ dlg->name = "history"; ++#endif ++ dlg->type = WT_DIALOG; ++ struct MuttWindow *index = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ index->type = WT_INDEX; ++ struct MuttWindow *ibar = mutt_window_new( ++ MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, 1, MUTT_WIN_SIZE_UNLIMITED); ++ ibar->type = WT_INDEX_BAR; ++ ++ if (C_StatusOnTop) ++ { ++ mutt_window_add_child(dlg, ibar); ++ mutt_window_add_child(dlg, index); ++ } ++ else ++ { ++ mutt_window_add_child(dlg, index); ++ mutt_window_add_child(dlg, ibar); ++ } ++ ++ dialog_push(dlg); ++ + struct Menu *menu = mutt_menu_new(MENU_GENERIC); +- menu->menu_make_entry = history_make_entry; ++ ++ menu->pagelen = index->state.rows; ++ menu->win_index = index; ++ menu->win_ibar = ibar; ++ ++ menu->make_entry = history_make_entry; + menu->title = title; + menu->help = mutt_compile_help(helpstr, sizeof(helpstr), MENU_GENERIC, HistoryHelp); + mutt_menu_push_current(menu); +@@ -124,6 +157,8 @@ static void history_menu(char *buf, size_t buflen, char **matches, int match_cou + + mutt_menu_pop_current(menu); + mutt_menu_free(&menu); ++ dialog_pop(); ++ mutt_window_free(&dlg); + } + + /** +@@ -147,14 +182,16 @@ void mutt_hist_complete(char *buf, size_t buflen, enum HistoryClass hclass) + } + + /** +- * mutt_hist_observer - Listen for config changes affecting the history - Implements ::observer_t() ++ * mutt_hist_observer - Listen for config changes affecting the history - Implements ::observer_t + */ + int mutt_hist_observer(struct NotifyCallback *nc) + { +- if (!nc) ++ if (!nc->event_data) + return -1; ++ if (nc->event_type != NT_CONFIG) ++ return 0; + +- struct EventConfig *ec = (struct EventConfig *) nc->event; ++ struct EventConfig *ec = nc->event_data; + + if (mutt_str_strcmp(ec->name, "history") != 0) + return 0; +diff --git a/mutt_history.h b/mutt_history.h +index 03a162cc2..859f2fdd2 100644 +--- a/mutt_history.h ++++ b/mutt_history.h +@@ -24,7 +24,7 @@ + #define MUTT_MUTT_HISTORY_H + + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void mutt_hist_complete(char *buf, size_t buflen, enum HistoryClass hclass); + int mutt_hist_observer(struct NotifyCallback *nc); +diff --git a/mutt_logging.c b/mutt_logging.c +index 01a2351eb..3d982616e 100644 +--- a/mutt_logging.c ++++ b/mutt_logging.c +@@ -34,14 +34,12 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "config/lib.h" ++#include "core/lib.h" ++#include "gui/lib.h" + #include "mutt_logging.h" +-#include "color.h" +-#include "curs_lib.h" + #include "globals.h" +-#include "mutt_curses.h" +-#include "mutt_window.h" + #include "muttlib.h" + #include "options.h" + +@@ -169,7 +167,7 @@ int log_disp_curses(time_t stamp, const char *file, int line, + error_pause(); + + mutt_simple_format(ErrorBuf, sizeof(ErrorBuf), 0, +- MuttMessageWindow ? MuttMessageWindow->cols : sizeof(ErrorBuf), ++ MuttMessageWindow ? MuttMessageWindow->state.cols : sizeof(ErrorBuf), + JUSTIFY_LEFT, 0, buf, sizeof(buf), false); + ErrorBufMessage = true; + +@@ -250,7 +248,7 @@ int mutt_log_set_file(const char *file, bool verbose) + mutt_str_replace(&CurrentFile, C_DebugFile); + } + +- cs_str_string_set(Config, "debug_file", file, NULL); ++ cs_subset_str_string_set(NeoMutt->sub, "debug_file", file, NULL); + + return 0; + } +@@ -270,7 +268,7 @@ int mutt_log_set_level(enum LogLevel level, bool verbose) + if (log_file_set_level(level, verbose) != 0) + return -1; + +- cs_str_native_set(Config, "debug_level", level, NULL); ++ cs_subset_str_native_set(NeoMutt->sub, "debug_level", level, NULL); + return 0; + } + +@@ -299,7 +297,7 @@ int mutt_log_start(void) + } + + /** +- * level_validator - Validate the "debug_level" config variable ++ * level_validator - Validate the "debug_level" config variable - Implements ConfigDef::validator() + * @param cs Config items + * @param cdef Config definition + * @param value Native value +@@ -320,14 +318,16 @@ int level_validator(const struct ConfigSet *cs, const struct ConfigDef *cdef, + } + + /** +- * mutt_log_observer - Listen for config changes affecting the log file - Implements ::observer_t() ++ * mutt_log_observer - Listen for config changes affecting the log file - Implements ::observer_t + */ + int mutt_log_observer(struct NotifyCallback *nc) + { +- if (!nc) ++ if (!nc->event_data) + return -1; ++ if (nc->event_type != NT_CONFIG) ++ return 0; + +- struct EventConfig *ec = (struct EventConfig *) nc->event; ++ struct EventConfig *ec = nc->event_data; + + if (mutt_str_strcmp(ec->name, "debug_file") == 0) + mutt_log_set_file(C_DebugFile, true); +diff --git a/mutt_logging.h b/mutt_logging.h +index 90c22948b..670e42692 100644 +--- a/mutt_logging.h ++++ b/mutt_logging.h +@@ -26,7 +26,7 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + struct ConfigDef; + struct ConfigSet; +diff --git a/mutt_lua.c b/mutt_lua.c +index 004a42b93..4001098dc 100644 +--- a/mutt_lua.c ++++ b/mutt_lua.c +@@ -42,11 +42,12 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "config/lib.h" ++#include "core/lib.h" + #include "mutt.h" + #include "mutt_lua.h" +-#include "globals.h" ++#include "init.h" + #include "mutt_commands.h" + #include "muttlib.h" + #include "myvar.h" +@@ -117,7 +118,7 @@ static int lua_mutt_call(lua_State *l) + expn.dptr = buf; + expn.dsize = mutt_str_strlen(buf); + +- if (cmd->func(token, &expn, cmd->data, err)) ++ if (cmd->parse(token, &expn, cmd->data, err)) + { + luaL_error(l, "NeoMutt error: %s", mutt_b2s(err)); + rc = -1; +@@ -153,7 +154,7 @@ static int lua_mutt_set(lua_State *l) + return 0; + } + +- struct HashElem *he = cs_get_elem(Config, param); ++ struct HashElem *he = cs_subset_lookup(NeoMutt->sub, param); + if (!he) + { + luaL_error(l, "NeoMutt parameter not found %s", param); +@@ -170,6 +171,7 @@ static int lua_mutt_set(lua_State *l) + case DT_ADDRESS: + case DT_ENUM: + case DT_MBTABLE: ++ case DT_PATH: + case DT_REGEX: + case DT_SLIST: + case DT_SORT: +@@ -179,10 +181,10 @@ static int lua_mutt_set(lua_State *l) + size_t val_size = lua_strlen(l, -1); + struct Buffer value_buf = mutt_buffer_make(val_size); + mutt_buffer_strcpy_n(&value_buf, value, val_size); +- if (IS_PATH(he)) ++ if (DTYPE(he->type) == DT_PATH) + mutt_buffer_expand_path(&value_buf); + +- int rv = cs_he_string_set(Config, he, value_buf.data, &err); ++ int rv = cs_subset_he_string_set(NeoMutt->sub, he, value_buf.data, &err); + mutt_buffer_dealloc(&value_buf); + if (CSR_RESULT(rv) != CSR_SUCCESS) + rc = -1; +@@ -192,7 +194,7 @@ static int lua_mutt_set(lua_State *l) + case DT_QUAD: + { + const intptr_t value = lua_tointeger(l, -1); +- int rv = cs_he_native_set(Config, he, value, &err); ++ int rv = cs_subset_he_native_set(NeoMutt->sub, he, value, &err); + if (CSR_RESULT(rv) != CSR_SUCCESS) + rc = -1; + break; +@@ -200,7 +202,7 @@ static int lua_mutt_set(lua_State *l) + case DT_BOOL: + { + const intptr_t value = lua_toboolean(l, -1); +- int rv = cs_he_native_set(Config, he, value, &err); ++ int rv = cs_subset_he_native_set(NeoMutt->sub, he, value, &err); + if (CSR_RESULT(rv) != CSR_SUCCESS) + rc = -1; + break; +@@ -239,7 +241,7 @@ static int lua_mutt_get(lua_State *l) + return 1; + } + +- struct HashElem *he = cs_get_elem(Config, param); ++ struct HashElem *he = cs_subset_lookup(NeoMutt->sub, param); + if (!he) + { + mutt_debug(LL_DEBUG2, " * error\n"); +@@ -260,7 +262,7 @@ static int lua_mutt_get(lua_State *l) + case DT_STRING: + { + struct Buffer value = mutt_buffer_make(256); +- int rc = cs_he_string_get(Config, he, &value); ++ int rc = cs_subset_he_string_get(NeoMutt->sub, he, &value); + if (CSR_RESULT(rc) != CSR_SUCCESS) + { + mutt_buffer_dealloc(&value); +@@ -440,7 +442,7 @@ static bool lua_init(lua_State **l) + } + + /** +- * mutt_lua_parse - Parse the 'lua' command - Implements ::command_t ++ * mutt_lua_parse - Parse the 'lua' command - Implements Command::parse() + */ + enum CommandResult mutt_lua_parse(struct Buffer *buf, struct Buffer *s, + unsigned long data, struct Buffer *err) +@@ -462,7 +464,7 @@ enum CommandResult mutt_lua_parse(struct Buffer *buf, struct Buffer *s, + } + + /** +- * mutt_lua_source_file - Parse the 'lua-source' command - Implements ::command_t ++ * mutt_lua_source_file - Parse the 'lua-source' command - Implements Command::parse() + */ + enum CommandResult mutt_lua_source_file(struct Buffer *buf, struct Buffer *s, + unsigned long data, struct Buffer *err) +diff --git a/mutt_mailbox.c b/mutt_mailbox.c +index ca6942c6e..37a7615ad 100644 +--- a/mutt_mailbox.c ++++ b/mutt_mailbox.c +@@ -1,15 +1,42 @@ ++/** ++ * @file ++ * Mailbox helper functions ++ * ++ * Copyright (C) 2019 Richard Russon ++ * ++ * @copyright ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 2 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ ++/** ++ * @page mailbox Mailbox helper functions ++ * ++ * Mailbox helper functions ++ */ ++ + #include "config.h" + #include + #include + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "core/lib.h" ++#include "gui/lib.h" + #include "mutt_mailbox.h" + #include "globals.h" + #include "mutt_menu.h" +-#include "mutt_window.h" + #include "muttlib.h" + #include "mx.h" + #include "protos.h" +@@ -43,7 +70,7 @@ static void mailbox_check(struct Mailbox *m_cur, struct Mailbox *m_check, + int orig_flagged = m_check->msg_flagged; + #endif + +- enum MailboxType mb_magic = mx_path_probe(mailbox_path(m_check), NULL); ++ enum MailboxType mb_magic = mx_path_probe(mailbox_path(m_check)); + + if ((m_cur == m_check) && C_MailCheckRecent) + m_check->has_new = false; +@@ -60,7 +87,7 @@ static void mailbox_check(struct Mailbox *m_cur, struct Mailbox *m_check, + if ((stat(mailbox_path(m_check), &sb) != 0) || + ((m_check->magic == MUTT_UNKNOWN) && S_ISREG(sb.st_mode) && (sb.st_size == 0)) || + ((m_check->magic == MUTT_UNKNOWN) && +- ((m_check->magic = mx_path_probe(mailbox_path(m_check), NULL)) <= 0))) ++ ((m_check->magic = mx_path_probe(mailbox_path(m_check))) <= 0))) + { + /* if the mailbox still doesn't exist, set the newly created flag to be + * ready for when it does. */ +@@ -223,8 +250,8 @@ bool mutt_mailbox_list(void) + mutt_buffer_strcpy(path, mailbox_path(np->mailbox)); + mutt_buffer_pretty_mailbox(path); + +- if (!first && (MuttMessageWindow->cols >= 7) && +- ((pos + mutt_buffer_len(path)) >= ((size_t) MuttMessageWindow->cols - 7))) ++ if (!first && (MuttMessageWindow->state.cols >= 7) && ++ ((pos + mutt_buffer_len(path)) >= ((size_t) MuttMessageWindow->state.cols - 7))) + { + break; + } +diff --git a/mutt_menu.h b/mutt_menu.h +index 01639f04b..e9bdce306 100644 +--- a/mutt_menu.h ++++ b/mutt_menu.h +@@ -81,8 +81,8 @@ enum TreeChar + */ + struct Menu + { +- char *title; ///< Title of this menu +- char *help; ///< Quickref for the current menu ++ const char *title; ///< Title of this menu ++ const char *help; ///< Quickref for the current menu + void *data; ///< Extra data for the current menu + int current; ///< Current entry + int max; ///< Number of entries in the menu +@@ -92,8 +92,8 @@ struct Menu + int pagelen; ///< Number of entries per screen + bool tagprefix : 1; + bool is_mailbox_list : 1; +- struct MuttWindow *indexwin; +- struct MuttWindow *statuswin; ++ struct MuttWindow *win_index; ++ struct MuttWindow *win_ibar; + + /* Setting dialog != NULL overrides normal menu behavior. + * In dialog mode menubar is hidden and prompt keys are checked before +@@ -111,42 +111,47 @@ struct Menu + int tagged; ///< Number of tagged entries + + /** +- * menu_make_entry - Format a item for a menu ++ * make_entry - Format a item for a menu + * @param[out] buf Buffer in which to save string + * @param[in] buflen Buffer length + * @param[in] menu Menu containing items + * @param[in] line Menu line number + */ +- void (*menu_make_entry)(char *buf, size_t buflen, struct Menu *menu, int line); ++ void (*make_entry)(char *buf, size_t buflen, struct Menu *menu, int line); ++ + /** +- * menu_search - Search a menu for a item matching a regex ++ * search - Search a menu for a item matching a regex + * @param menu Menu to search + * @param rx Regex to match + * @param line Menu entry to match + * @retval 0 Success + * @retval >0 Error, e.g. REG_NOMATCH + */ +- int (*menu_search)(struct Menu *menu, regex_t *rx, int line); ++ int (*search)(struct Menu *menu, regex_t *rx, int line); ++ + /** +- * menu_tag - Tag some menu items ++ * tag - Tag some menu items + * @param menu Menu to tag + * @param sel Current selection + * @param act Action: 0 untag, 1 tag, -1 toggle + * @retval num Net change in number of tagged attachments + */ +- int (*menu_tag)(struct Menu *menu, int sel, int act); ++ int (*tag)(struct Menu *menu, int sel, int act); ++ + /** +- * menu_color - Calculate the colour for a line of the menu ++ * color - Calculate the colour for a line of the menu + * @param line Menu line number + * @retval >0 Colour pair in an integer + * @retval 0 No colour + */ +- int (*menu_color)(int line); ++ int (*color)(int line); ++ + /** +- * menu_custom_redraw - Redraw the menu ++ * custom_redraw - Redraw the menu + * @param menu Menu to redraw + */ +- void (*menu_custom_redraw)(struct Menu *menu); ++ void (*custom_redraw)(struct Menu *menu); ++ + void *redraw_data; + }; + +diff --git a/mutt_parse.c b/mutt_parse.c +index 9526526e3..252c75d1c 100644 +--- a/mutt_parse.c ++++ b/mutt_parse.c +@@ -30,11 +30,11 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "email/lib.h" + #include "mutt_parse.h" + #include "mx.h" +-#include "ncrypt/ncrypt.h" ++#include "ncrypt/lib.h" + + struct ListHead AttachAllow = STAILQ_HEAD_INITIALIZER(AttachAllow); ///< List of attachment types to be counted + struct ListHead AttachExclude = STAILQ_HEAD_INITIALIZER(AttachExclude); ///< List of attachment types to be ignored +@@ -230,3 +230,21 @@ int mutt_count_body_parts(struct Mailbox *m, struct Email *e) + + return e->attach_total; + } ++ ++/** ++ * mutt_attachmatch_free - Free an AttachMatch - Implements ::list_free_t ++ * @param ptr AttachMatch to free ++ * ++ * @note We don't free minor because it is either a pointer into major, ++ * or a static string. ++ */ ++void mutt_attachmatch_free(struct AttachMatch **ptr) ++{ ++ if (!ptr || !*ptr) ++ return; ++ ++ struct AttachMatch *am = *ptr; ++ regfree(&am->minor_regex); ++ FREE(&am->major); ++ FREE(ptr); ++} +diff --git a/mutt_parse.h b/mutt_parse.h +index 6fff1f807..63b120f8d 100644 +--- a/mutt_parse.h ++++ b/mutt_parse.h +@@ -24,7 +24,7 @@ + #define MUTT_MUTT_PARSE_H + + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "email/lib.h" + + struct Mailbox; +@@ -47,5 +47,6 @@ extern struct ListHead InlineExclude; + + int mutt_count_body_parts(struct Mailbox *m, struct Email *e); + void mutt_parse_mime_message(struct Mailbox *m, struct Email *e); ++void mutt_attachmatch_free(struct AttachMatch **ptr); + + #endif /* MUTT_MUTT_PARSE_H */ +diff --git a/mutt_signal.c b/mutt_signal.c +index a8d702cfd..efc91f5db 100644 +--- a/mutt_signal.c ++++ b/mutt_signal.c +@@ -30,19 +30,17 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" ++#include "gui/lib.h" ++#include "debug/lib.h" + #include "globals.h" + #include "mutt_attach.h" +-#include "mutt_curses.h" + #include "protos.h" // IWYU pragma: keep +-#ifdef HAVE_LIBUNWIND +-#include "mutt.h" +-#endif + + static int IsEndwin = 0; + + /** +- * curses_signal_handler - Catch signals and relay the info to the main program ++ * curses_signal_handler - Catch signals and relay the info to the main program - Implements ::sig_handler_t + * @param sig Signal number, e.g. SIGINT + */ + static void curses_signal_handler(int sig) +@@ -82,7 +80,7 @@ static void curses_signal_handler(int sig) + } + + /** +- * curses_exit_handler - Notify the user and shutdown gracefully ++ * curses_exit_handler - Notify the user and shutdown gracefully - Implements ::sig_handler_t + * @param sig Signal number, e.g. SIGTERM + */ + static void curses_exit_handler(int sig) +@@ -94,7 +92,7 @@ static void curses_exit_handler(int sig) + } + + /** +- * curses_segv_handler - Catch a segfault and print a backtrace ++ * curses_segv_handler - Catch a segfault and print a backtrace - Implements ::sig_handler_t + * @param sig Signal number, e.g. SIGSEGV + */ + static void curses_segv_handler(int sig) +@@ -104,6 +102,9 @@ static void curses_segv_handler(int sig) + #ifdef HAVE_LIBUNWIND + show_backtrace(); + #endif ++#ifdef USE_DEBUG_GRAPHVIZ ++ dump_graphviz("segfault"); ++#endif + + struct sigaction act; + sigemptyset(&act.sa_mask); +diff --git a/mutt_socket.c b/mutt_socket.c +index b91ccf79d..d277debb7 100644 +--- a/mutt_socket.c ++++ b/mutt_socket.c +@@ -30,26 +30,26 @@ + #include + #include + #include "email/lib.h" +-#include "conn/conn.h" ++#include "conn/lib.h" + #include "mutt_socket.h" + #include "hook.h" + #include "mutt_account.h" + #ifndef USE_SSL +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #endif + + /** + * mutt_conn_new - Create a new Connection +- * @param account Credentials to use ++ * @param cac Credentials to use + * @retval ptr New Connection + */ +-struct Connection *mutt_conn_new(const struct ConnAccount *account) ++struct Connection *mutt_conn_new(const struct ConnAccount *cac) + { + enum ConnectionType conn_type; + + if (C_Tunnel) + conn_type = MUTT_CONNECTION_TUNNEL; +- else if (account->flags & MUTT_ACCT_SSL) ++ else if (cac->flags & MUTT_ACCT_SSL) + conn_type = MUTT_CONNECTION_SSL; + else + conn_type = MUTT_CONNECTION_SIMPLE; +@@ -57,7 +57,7 @@ struct Connection *mutt_conn_new(const struct ConnAccount *account) + struct Connection *conn = mutt_socket_new(conn_type); + if (conn) + { +- memcpy(&conn->account, account, sizeof(struct ConnAccount)); ++ memcpy(&conn->account, cac, sizeof(struct ConnAccount)); + } + else + { +@@ -65,7 +65,7 @@ struct Connection *mutt_conn_new(const struct ConnAccount *account) + { + #ifndef USE_SSL + /* that's probably why it failed */ +- mutt_error(_("SSL is unavailable, can't connect to %s"), account->host); ++ mutt_error(_("SSL is unavailable, can't connect to %s"), cac->host); + #endif + } + } +@@ -74,27 +74,25 @@ struct Connection *mutt_conn_new(const struct ConnAccount *account) + + /** + * mutt_conn_find - Find a connection from a list +- * @param start First connection to try +- * @param account ConnAccount to match ++ * @param cac ConnAccount to match + * @retval ptr Matching Connection + * +- * find a connection off the list of connections whose account matches account. ++ * find a connection off the list of connections whose account matches cac. + * If start is not null, only search for connections after the given connection + * (allows higher level socket code to make more fine-grained searches than + * account info - eg in IMAP we may wish to find a connection which is not in + * IMAP_SELECTED state) + */ +-struct Connection *mutt_conn_find(const struct Connection *start, +- const struct ConnAccount *account) ++struct Connection *mutt_conn_find(const struct ConnAccount *cac) + { +- struct Url url; ++ struct Url url = { 0 }; + char hook[1024]; + +- /* account isn't actually modified, since url isn't either */ +- mutt_account_tourl((struct ConnAccount *) account, &url); ++ /* cac isn't actually modified, since url isn't either */ ++ mutt_account_tourl((struct ConnAccount *) cac, &url); + url.path = NULL; + url_tostring(&url, hook, sizeof(hook), 0); + mutt_account_hook(hook); + +- return mutt_conn_new(account); ++ return mutt_conn_new(cac); + } +diff --git a/mutt_socket.h b/mutt_socket.h +index 2c27fd1a8..6aed5d357 100644 +--- a/mutt_socket.h ++++ b/mutt_socket.h +@@ -24,14 +24,13 @@ + #define MUTT_MUTT_SOCKET_H + + struct ConnAccount; +-struct Connection; + + /* logging levels */ + #define MUTT_SOCK_LOG_CMD 2 + #define MUTT_SOCK_LOG_HDR 3 + #define MUTT_SOCK_LOG_FULL 5 + +-struct Connection *mutt_conn_find(const struct Connection *start, const struct ConnAccount *account); ++struct Connection *mutt_conn_find(const struct ConnAccount *account); + struct Connection *mutt_conn_new(const struct ConnAccount *account); + + #define mutt_socket_readln(buf, buflen, conn) mutt_socket_readln_d(buf, buflen, conn, MUTT_SOCK_LOG_CMD) +diff --git a/mutt_thread.c b/mutt_thread.c +index 5bf98b10f..3e9f8840b 100644 +--- a/mutt_thread.c ++++ b/mutt_thread.c +@@ -32,7 +32,7 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "config/lib.h" + #include "email/lib.h" + #include "core/lib.h" +@@ -1247,6 +1247,11 @@ int mutt_traverse_thread(struct Context *ctx, struct Email *e_cur, MuttThreadFla + return e_cur->vnum; + } + ++ if (!e_cur->thread) ++ { ++ return e_cur->vnum; ++ } ++ + final = e_cur->vnum; + thread = e_cur->thread; + while (thread->parent) +diff --git a/mutt_window.c b/mutt_window.c +deleted file mode 100644 +index a16df8131..000000000 +--- a/mutt_window.c ++++ /dev/null +@@ -1,432 +0,0 @@ +-/** +- * @file +- * Window management +- * +- * @authors +- * Copyright (C) 2018 Richard Russon +- * +- * @copyright +- * This program is free software: you can redistribute it and/or modify it under +- * the terms of the GNU General Public License as published by the Free Software +- * Foundation, either version 2 of the License, or (at your option) any later +- * version. +- * +- * This program is distributed in the hope that it will be useful, but WITHOUT +- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +- * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +- * details. +- * +- * You should have received a copy of the GNU General Public License along with +- * this program. If not, see . +- */ +- +-/** +- * @page window Window management +- * +- * Window management +- */ +- +-#include "config.h" +-#include +-#include +-#include "mutt/mutt.h" +-#include "mutt_window.h" +-#include "globals.h" +-#include "mutt_curses.h" +-#include "mutt_menu.h" +-#include "options.h" +- +-struct MuttWindow *MuttHelpWindow = NULL; ///< Help Window +-struct MuttWindow *MuttIndexWindow = NULL; ///< Index Window +-struct MuttWindow *MuttStatusWindow = NULL; ///< Status Window +-struct MuttWindow *MuttMessageWindow = NULL; ///< Message Window +-#ifdef USE_SIDEBAR +-struct MuttWindow *MuttSidebarWindow = NULL; ///< Sidebar Window +-#endif +- +-/** +- * mutt_window_new - Create a new Window +- * @retval ptr New Window +- */ +-struct MuttWindow *mutt_window_new(void) +-{ +- struct MuttWindow *win = mutt_mem_calloc(1, sizeof(struct MuttWindow)); +- +- return win; +-} +- +-/** +- * mutt_window_free - Free a Window +- * @param ptr Window to free +- */ +-void mutt_window_free(struct MuttWindow **ptr) +-{ +- if (!ptr || !*ptr) +- return; +- +- // struct MuttWindow *win = *ptr; +- +- FREE(ptr); +-} +- +-#ifdef USE_SLANG_CURSES +-/** +- * vw_printw - Write a formatted string to a Window (function missing from Slang) +- * @param win Window +- * @param fmt printf format string +- * @param ap printf arguments +- * @retval 0 Always +- */ +-static int vw_printw(SLcurses_Window_Type *win, const char *fmt, va_list ap) +-{ +- char buf[1024]; +- +- (void) SLvsnprintf(buf, sizeof(buf), (char *) fmt, ap); +- SLcurses_waddnstr(win, buf, -1); +- return 0; +-} +-#endif +- +-/** +- * mutt_window_clearline - Clear a row of a Window +- * @param win Window +- * @param row Row to clear +- */ +-void mutt_window_clearline(struct MuttWindow *win, int row) +-{ +- mutt_window_move(win, row, 0); +- mutt_window_clrtoeol(win); +-} +- +-/** +- * mutt_window_clrtobot - Clear to the bottom of the Window +- * +- * @note Assumes the cursor has already been positioned within the Window. +- */ +-void mutt_window_clrtobot(void) +-{ +- clrtobot(); +-} +- +-/** +- * mutt_window_clrtoeol - Clear to the end of the line +- * @param win Window +- * +- * @note Assumes the cursor has already been positioned within the window. +- */ +-void mutt_window_clrtoeol(struct MuttWindow *win) +-{ +- if (!win || !stdscr) +- return; +- +- if (win->col_offset + win->cols == COLS) +- clrtoeol(); +- else +- { +- int row = 0; +- int col = 0; +- getyx(stdscr, row, col); +- int curcol = col; +- while (curcol < (win->col_offset + win->cols)) +- { +- addch(' '); +- curcol++; +- } +- move(row, col); +- } +-} +- +-/** +- * mutt_window_free_all - Free all the default Windows +- */ +-void mutt_window_free_all(void) +-{ +- FREE(&MuttHelpWindow); +- FREE(&MuttIndexWindow); +- FREE(&MuttStatusWindow); +- FREE(&MuttMessageWindow); +-#ifdef USE_SIDEBAR +- FREE(&MuttSidebarWindow); +-#endif +-} +- +-/** +- * mutt_window_get_coords - Get the cursor position in the Window +- * @param[in] win Window +- * @param[out] row Row in Window +- * @param[out] col Column in Window +- * +- * Assumes the current position is inside the window. Otherwise it will +- * happily return negative or values outside the window boundaries +- */ +-void mutt_window_get_coords(struct MuttWindow *win, int *row, int *col) +-{ +- int x = 0; +- int y = 0; +- +- getyx(stdscr, y, x); +- if (col) +- *col = x - win->col_offset; +- if (row) +- *row = y - win->row_offset; +-} +- +-/** +- * mutt_window_init - Create the default Windows +- * +- * Create the Help, Index, Status, Message and Sidebar Windows. +- */ +-void mutt_window_init(void) +-{ +- MuttHelpWindow = mutt_window_new(); +- MuttIndexWindow = mutt_window_new(); +- MuttStatusWindow = mutt_window_new(); +- MuttMessageWindow = mutt_window_new(); +-#ifdef USE_SIDEBAR +- MuttSidebarWindow = mutt_window_new(); +-#endif +-} +- +-/** +- * mutt_window_move - Move the cursor in a Window +- * @param win Window +- * @param row Row to move to +- * @param col Column to move to +- * @retval OK Success +- * @retval ERR Error +- */ +-int mutt_window_move(struct MuttWindow *win, int row, int col) +-{ +- return move(win->row_offset + row, win->col_offset + col); +-} +- +-/** +- * mutt_window_mvaddstr - Move the cursor and write a fixed string to a Window +- * @param win Window to write to +- * @param row Row to move to +- * @param col Column to move to +- * @param str String to write +- * @retval OK Success +- * @retval ERR Error +- */ +-int mutt_window_mvaddstr(struct MuttWindow *win, int row, int col, const char *str) +-{ +-#ifdef USE_SLANG_CURSES +- return mvaddstr(win->row_offset + row, win->col_offset + col, (char *) str); +-#else +- return mvaddstr(win->row_offset + row, win->col_offset + col, str); +-#endif +-} +- +-/** +- * mutt_window_mvprintw - Move the cursor and write a formatted string to a Window +- * @param win Window to write to +- * @param row Row to move to +- * @param col Column to move to +- * @param fmt printf format string +- * @param ... printf arguments +- * @retval num Success, characters written +- * @retval ERR Error, move failed +- */ +-int mutt_window_mvprintw(struct MuttWindow *win, int row, int col, const char *fmt, ...) +-{ +- int rc = mutt_window_move(win, row, col); +- if (rc == ERR) +- return rc; +- +- va_list ap; +- va_start(ap, fmt); +- rc = vw_printw(stdscr, fmt, ap); +- va_end(ap); +- +- return rc; +-} +- +-/** +- * mutt_window_copy_size - Copy the size of one Window to another +- * @param win_src Window to copy +- * @param win_dst Window to resize +- */ +-void mutt_window_copy_size(const struct MuttWindow *win_src, struct MuttWindow *win_dst) +-{ +- if (!win_src || !win_dst) +- return; +- +- win_dst->rows = win_src->rows; +- win_dst->cols = win_src->cols; +- win_dst->row_offset = win_src->row_offset; +- win_dst->col_offset = win_src->col_offset; +-} +- +-/** +- * mutt_window_reflow - Resize the Windows to fit the screen +- */ +-void mutt_window_reflow(void) +-{ +- if (OptNoCurses) +- return; +- +- mutt_debug(LL_DEBUG2, "entering\n"); +- +- MuttStatusWindow->rows = 1; +- MuttStatusWindow->cols = COLS; +- MuttStatusWindow->row_offset = C_StatusOnTop ? 0 : LINES - 2; +- MuttStatusWindow->col_offset = 0; +- +- mutt_window_copy_size(MuttStatusWindow, MuttHelpWindow); +- if (C_Help) +- MuttHelpWindow->row_offset = C_StatusOnTop ? LINES - 2 : 0; +- else +- MuttHelpWindow->rows = 0; +- +- mutt_window_copy_size(MuttStatusWindow, MuttMessageWindow); +- MuttMessageWindow->row_offset = LINES - 1; +- +- mutt_window_copy_size(MuttStatusWindow, MuttIndexWindow); +- MuttIndexWindow->rows = MAX( +- LINES - MuttStatusWindow->rows - MuttHelpWindow->rows - MuttMessageWindow->rows, 0); +- MuttIndexWindow->row_offset = +- C_StatusOnTop ? MuttStatusWindow->rows : MuttHelpWindow->rows; +- +-#ifdef USE_SIDEBAR +- if (C_SidebarVisible) +- { +- mutt_window_copy_size(MuttIndexWindow, MuttSidebarWindow); +- MuttSidebarWindow->cols = C_SidebarWidth; +- MuttIndexWindow->cols -= C_SidebarWidth; +- +- if (C_SidebarOnRight) +- { +- MuttSidebarWindow->col_offset = COLS - C_SidebarWidth; +- } +- else +- { +- MuttIndexWindow->col_offset += C_SidebarWidth; +- } +- } +-#endif +- +- mutt_menu_set_current_redraw_full(); +- /* the pager menu needs this flag set to recalc line_info */ +- mutt_menu_set_current_redraw(REDRAW_FLOW); +-} +- +-/** +- * mutt_window_reflow_message_rows - Resize the Message Window +- * @param mw_rows Number of rows required +- * +- * Resize the other Windows to allow a multi-line message to be displayed. +- */ +-void mutt_window_reflow_message_rows(int mw_rows) +-{ +- MuttMessageWindow->rows = mw_rows; +- MuttMessageWindow->row_offset = LINES - mw_rows; +- +- MuttStatusWindow->row_offset = C_StatusOnTop ? 0 : LINES - mw_rows - 1; +- +- if (C_Help) +- MuttHelpWindow->row_offset = C_StatusOnTop ? LINES - mw_rows - 1 : 0; +- +- MuttIndexWindow->rows = MAX( +- LINES - MuttStatusWindow->rows - MuttHelpWindow->rows - MuttMessageWindow->rows, 0); +- +-#ifdef USE_SIDEBAR +- if (C_SidebarVisible) +- MuttSidebarWindow->rows = MuttIndexWindow->rows; +-#endif +- +- /* We don't also set REDRAW_FLOW because this function only +- * changes rows and is a temporary adjustment. */ +- mutt_menu_set_current_redraw_full(); +-} +- +-/** +- * mutt_window_wrap_cols - Calculate the wrap column for a given screen width +- * @param width Screen width +- * @param wrap Wrap config +- * @retval num Column that text should be wrapped at +- * +- * The wrap variable can be negative, meaning there should be a right margin. +- */ +-int mutt_window_wrap_cols(int width, short wrap) +-{ +- if (wrap < 0) +- return (width > -wrap) ? (width + wrap) : width; +- if (wrap) +- return (wrap < width) ? wrap : width; +- return width; +-} +- +-/** +- * mutt_window_addch - Write one character to a Window +- * @param ch Character to write +- * @retval 0 Success +- * @retval -1 Error +- */ +-int mutt_window_addch(int ch) +-{ +- return addch(ch); +-} +- +-/** +- * mutt_window_addnstr - Write a partial string to a Window +- * @param str String +- * @param num Maximum number of characters to write +- * @retval 0 Success +- * @retval -1 Error +- */ +-int mutt_window_addnstr(const char *str, int num) +-{ +- if (!str) +- return -1; +- +-#ifdef USE_SLANG_CURSES +- return addnstr((char *) str, num); +-#else +- return addnstr(str, num); +-#endif +-} +- +-/** +- * mutt_window_addstr - Write a string to a Window +- * @param str String +- * @retval 0 Success +- * @retval -1 Error +- */ +-int mutt_window_addstr(const char *str) +-{ +- if (!str) +- return -1; +- +-#ifdef USE_SLANG_CURSES +- return addstr((char *) str); +-#else +- return addstr(str); +-#endif +-} +- +-/** +- * mutt_window_move_abs - Move the cursor to an absolute screen position +- * @param row Screen row (0-based) +- * @param col Screen column (0-based) +- */ +-void mutt_window_move_abs(int row, int col) +-{ +- move(row, col); +-} +- +-/** +- * mutt_window_printf - Write a formatted string to a Window +- * @param fmt Format string +- * @param ... Arguments +- * @retval num Number of characters written +- */ +-int mutt_window_printf(const char *fmt, ...) +-{ +- va_list ap; +- va_start(ap, fmt); +- int rc = vw_printw(stdscr, fmt, ap); +- va_end(ap); +- +- return rc; +-} +diff --git a/mutt_window.h b/mutt_window.h +deleted file mode 100644 +index 51396e39b..000000000 +--- a/mutt_window.h ++++ /dev/null +@@ -1,73 +0,0 @@ +-/** +- * @file +- * Window management +- * +- * @authors +- * Copyright (C) 2018 Richard Russon +- * +- * @copyright +- * This program is free software: you can redistribute it and/or modify it under +- * the terms of the GNU General Public License as published by the Free Software +- * Foundation, either version 2 of the License, or (at your option) any later +- * version. +- * +- * This program is distributed in the hope that it will be useful, but WITHOUT +- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +- * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +- * details. +- * +- * You should have received a copy of the GNU General Public License along with +- * this program. If not, see . +- */ +- +-#ifndef MUTT_MUTT_WINDOW_H +-#define MUTT_MUTT_WINDOW_H +- +-#include "config.h" +- +-/** +- * struct MuttWindow - A division of the screen +- * +- * Windows for different parts of the screen +- */ +-struct MuttWindow +-{ +- int rows; +- int cols; +- int row_offset; +- int col_offset; +-}; +- +-extern struct MuttWindow *MuttHelpWindow; +-extern struct MuttWindow *MuttIndexWindow; +-extern struct MuttWindow *MuttMessageWindow; +-#ifdef USE_SIDEBAR +-extern struct MuttWindow *MuttSidebarWindow; +-#endif +-extern struct MuttWindow *MuttStatusWindow; +- +-// Functions that deal with the Window +-void mutt_window_copy_size (const struct MuttWindow *win_src, struct MuttWindow *win_dst); +-void mutt_window_free (struct MuttWindow **ptr); +-void mutt_window_free_all (void); +-void mutt_window_get_coords (struct MuttWindow *win, int *col, int *row); +-void mutt_window_init (void); +-struct MuttWindow *mutt_window_new (void); +-void mutt_window_reflow (void); +-void mutt_window_reflow_message_rows(int mw_rows); +-int mutt_window_wrap_cols (int width, short wrap); +- +-// Functions for drawing on the Window +-int mutt_window_addch (int ch); +-int mutt_window_addnstr (const char *str, int num); +-int mutt_window_addstr (const char *str); +-void mutt_window_clearline(struct MuttWindow *win, int row); +-void mutt_window_clrtobot (void); +-void mutt_window_clrtoeol (struct MuttWindow *win); +-int mutt_window_move (struct MuttWindow *win, int row, int col); +-void mutt_window_move_abs (int row, int col); +-int mutt_window_mvaddstr (struct MuttWindow *win, int row, int col, const char *str); +-int mutt_window_mvprintw (struct MuttWindow *win, int row, int col, const char *fmt, ...); +-int mutt_window_printf (const char *format, ...); +- +-#endif /* MUTT_MUTT_WINDOW_H */ +diff --git a/mutt_zstrm.c b/mutt_zstrm.c +new file mode 100644 +index 000000000..7b1c6cb58 +--- /dev/null ++++ b/mutt_zstrm.c +@@ -0,0 +1,328 @@ ++/** ++ * @file ++ * Zlib compression of network traffic ++ * ++ * Copyright(C) 2019 Fabian Groffen ++ * ++ * @copyright ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 2 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ ++/** ++ * @page zlib Zlib compression of network traffic ++ * ++ * Zlib compression of network traffic ++ */ ++ ++#include "config.h" ++#include ++#include ++#include ++#include ++#include ++#include "mutt/lib.h" ++#include "conn/lib.h" ++#include "mutt_zstrm.h" ++ ++/** ++ * struct ZstrmDirection - A stream of data being (de-)compressed ++ */ ++struct ZstrmDirection ++{ ++ z_stream z; ///< zlib compression handle ++ char *buf; ///< Buffer for data being (de-)compressed ++ unsigned int len; ///< Length of data ++ unsigned int pos; ///< Current position ++ bool conn_eof : 1; ///< Connection end-of-file reached ++ bool stream_eof : 1; ///< Stream end-of-file reached ++}; ++ ++/** ++ * struct ZstrmContext - Data compression layer ++ */ ++struct ZstrmContext ++{ ++ struct ZstrmDirection read; ///< Data being read and de-compressed ++ struct ZstrmDirection write; ///< Data being compressed and written ++ struct Connection next_conn; ///< Underlying stream ++}; ++ ++/** ++ * zstrm_malloc - Redirector function for zlib's malloc() ++ * @param opaque Opaque zlib handle ++ * @param items Number of blocks ++ * @param size Size of blocks ++ * @retval ptr Memory on the heap ++ */ ++static void *zstrm_malloc(void *opaque, unsigned int items, unsigned int size) ++{ ++ return mutt_mem_calloc(items, size); ++} ++ ++/** ++ * zstrm_free - Redirector function for zlib's free() ++ * @param opaque Opaque zlib handle ++ * @param address Memory to free ++ */ ++static void zstrm_free(void *opaque, void *address) ++{ ++ FREE(&address); ++} ++ ++/** ++ * zstrm_open - Open a socket - Implements Connection::open() ++ * @retval -1 Always ++ * ++ * Cannot open a zlib connection, must wrap an existing one ++ */ ++static int zstrm_open(struct Connection *conn) ++{ ++ return -1; ++} ++ ++/** ++ * zstrm_close - Close a socket - Implements Connection::close() ++ */ ++static int zstrm_close(struct Connection *conn) ++{ ++ struct ZstrmContext *zctx = conn->sockdata; ++ ++ int rc = zctx->next_conn.close(&zctx->next_conn); ++ ++ mutt_debug(LL_DEBUG5, "read %llu->%llu (%.1fx) wrote %llu<-%llu (%.1fx)\n", ++ zctx->read.z.total_in, zctx->read.z.total_out, ++ (float) zctx->read.z.total_out / (float) zctx->read.z.total_in, ++ zctx->write.z.total_in, zctx->write.z.total_out, ++ (float) zctx->write.z.total_in / (float) zctx->write.z.total_out); ++ ++ // Restore the Connection's original functions ++ conn->sockdata = zctx->next_conn.sockdata; ++ conn->open = zctx->next_conn.open; ++ conn->close = zctx->next_conn.close; ++ conn->read = zctx->next_conn.read; ++ conn->write = zctx->next_conn.write; ++ conn->poll = zctx->next_conn.poll; ++ ++ inflateEnd(&zctx->read.z); ++ deflateEnd(&zctx->write.z); ++ FREE(&zctx->read.buf); ++ FREE(&zctx->write.buf); ++ FREE(&zctx); ++ ++ return rc; ++} ++ ++/** ++ * zstrm_read - Read compressed data from a socket - Implements Connection::read() ++ */ ++static int zstrm_read(struct Connection *conn, char *buf, size_t len) ++{ ++ struct ZstrmContext *zctx = conn->sockdata; ++ int rc = 0; ++ int zrc = 0; ++ ++retry: ++ if (zctx->read.stream_eof) ++ return 0; ++ ++ /* when avail_out was 0 on last call, we need to call inflate again, because ++ * more data might be available using the current input, so avoid callling ++ * read on the underlying stream in that case (for it might block) */ ++ if ((zctx->read.pos == 0) && !zctx->read.conn_eof) ++ { ++ rc = zctx->next_conn.read(&zctx->next_conn, zctx->read.buf, zctx->read.len); ++ mutt_debug(LL_DEBUG5, "consuming data from next stream: %d bytes\n", rc); ++ if (rc < 0) ++ return rc; ++ else if (rc == 0) ++ zctx->read.conn_eof = true; ++ else ++ zctx->read.pos += rc; ++ } ++ ++ zctx->read.z.avail_in = (uInt) zctx->read.pos; ++ zctx->read.z.next_in = (Bytef *) zctx->read.buf; ++ zctx->read.z.avail_out = (uInt) len; ++ zctx->read.z.next_out = (Bytef *) buf; ++ ++ zrc = inflate(&zctx->read.z, Z_SYNC_FLUSH); ++ mutt_debug(LL_DEBUG5, "rc=%d, consumed %u/%u bytes, produced %u/%u bytes\n", ++ zrc, zctx->read.pos - zctx->read.z.avail_in, zctx->read.pos, ++ len - zctx->read.z.avail_out, len); ++ ++ /* shift any remaining input data to the front of the buffer */ ++ if ((Bytef *) zctx->read.buf != zctx->read.z.next_in) ++ { ++ memmove(zctx->read.buf, zctx->read.z.next_in, zctx->read.z.avail_in); ++ zctx->read.pos = zctx->read.z.avail_in; ++ } ++ ++ switch (zrc) ++ { ++ case Z_OK: /* progress has been made */ ++ zrc = len - zctx->read.z.avail_out; /* "returned" bytes */ ++ if (zrc == 0) ++ { ++ /* there was progress, so must have been reading input */ ++ mutt_debug(LL_DEBUG5, "inflate just consumed\n"); ++ goto retry; ++ } ++ break; ++ ++ case Z_STREAM_END: /* everything flushed, nothing remaining */ ++ mutt_debug(LL_DEBUG5, "inflate returned Z_STREAM_END.\n"); ++ zrc = len - zctx->read.z.avail_out; /* "returned" bytes */ ++ zctx->read.stream_eof = true; ++ break; ++ ++ case Z_BUF_ERROR: /* no progress was possible */ ++ if (!zctx->read.conn_eof) ++ { ++ mutt_debug(LL_DEBUG5, "inflate returned Z_BUF_ERROR. retrying.\n"); ++ goto retry; ++ } ++ zrc = 0; ++ break; ++ ++ default: ++ /* bail on other rcs, such as Z_DATA_ERROR, or Z_MEM_ERROR */ ++ mutt_debug(LL_DEBUG5, "inflate returned %d. aborting.\n", zrc); ++ zrc = -1; ++ break; ++ } ++ ++ return zrc; ++} ++ ++/** ++ * zstrm_poll - Checks whether reads would block - Implements Connection::poll() ++ */ ++static int zstrm_poll(struct Connection *conn, time_t wait_secs) ++{ ++ struct ZstrmContext *zctx = conn->sockdata; ++ ++ mutt_debug(LL_DEBUG5, "%s\n", ++ (zctx->read.z.avail_out == 0) || (zctx->read.pos > 0) ? ++ "last read wrote full buffer" : ++ "falling back on next stream"); ++ if ((zctx->read.z.avail_out == 0) || (zctx->read.pos > 0)) ++ return 1; ++ ++ return zctx->next_conn.poll(&zctx->next_conn, wait_secs); ++} ++ ++/** ++ * zstrm_write - Write compressed data to a socket - Implements Connection::write() ++ */ ++static int zstrm_write(struct Connection *conn, const char *buf, size_t count) ++{ ++ struct ZstrmContext *zctx = conn->sockdata; ++ int rc; ++ ++ zctx->write.z.avail_in = (uInt) count; ++ zctx->write.z.next_in = (Bytef *) buf; ++ zctx->write.z.avail_out = (uInt) zctx->write.len; ++ zctx->write.z.next_out = (Bytef *) zctx->write.buf; ++ ++ do ++ { ++ int zrc = deflate(&zctx->write.z, Z_PARTIAL_FLUSH); ++ if (zrc == Z_OK) ++ { ++ /* push out produced data to the underlying stream */ ++ zctx->write.pos = zctx->write.len - zctx->write.z.avail_out; ++ char *wbufp = zctx->write.buf; ++ mutt_debug(LL_DEBUG5, "deflate consumed %d/%d bytes\n", ++ count - zctx->write.z.avail_in, count); ++ while (zctx->write.pos > 0) ++ { ++ rc = zctx->next_conn.write(&zctx->next_conn, wbufp, zctx->write.pos); ++ mutt_debug(LL_DEBUG5, "next stream wrote: %d bytes\n", rc); ++ if (rc < 0) ++ return -1; /* we can't recover from write failure */ ++ ++ wbufp += rc; ++ zctx->write.pos -= rc; ++ } ++ ++ /* see if there's more for us to do, retry if the output buffer ++ * was full (there may be something in zlib buffers), and retry ++ * when there is still available input data */ ++ if ((zctx->write.z.avail_out != 0) && (zctx->write.z.avail_in == 0)) ++ break; ++ ++ zctx->write.z.avail_out = (uInt) zctx->write.len; ++ zctx->write.z.next_out = (Bytef *) zctx->write.buf; ++ } ++ else ++ { ++ /* compression went wrong, but this is basically impossible ++ * according to the docs */ ++ return -1; ++ } ++ } while (true); ++ ++ rc = (int) count; ++ return (rc <= 0) ? 1 : rc; /* avoid wrong behaviour due to overflow */ ++} ++ ++/** ++ * mutt_zstrm_wrap_conn - Wrap a compression layer around a Connection ++ * @param conn Connection to wrap ++ * ++ * Replace the read/write functions with our compression functions. ++ * After reading from the socket, we decompress and pass on the data. ++ * Before writing to a socket, we compress the data. ++ */ ++void mutt_zstrm_wrap_conn(struct Connection *conn) ++{ ++ struct ZstrmContext *zctx = mutt_mem_calloc(1, sizeof(struct ZstrmContext)); ++ ++ /* store wrapped stream as next stream */ ++ zctx->next_conn.fd = conn->fd; ++ zctx->next_conn.sockdata = conn->sockdata; ++ zctx->next_conn.open = conn->open; ++ zctx->next_conn.close = conn->close; ++ zctx->next_conn.read = conn->read; ++ zctx->next_conn.write = conn->write; ++ zctx->next_conn.poll = conn->poll; ++ ++ /* replace connection with our wrappers, where appropriate */ ++ conn->sockdata = zctx; ++ conn->open = zstrm_open; ++ conn->read = zstrm_read; ++ conn->write = zstrm_write; ++ conn->close = zstrm_close; ++ conn->poll = zstrm_poll; ++ ++ /* allocate/setup (de)compression buffers */ ++ zctx->read.len = 8192; ++ zctx->read.buf = mutt_mem_malloc(zctx->read.len); ++ zctx->read.pos = 0; ++ zctx->write.len = 8192; ++ zctx->write.buf = mutt_mem_malloc(zctx->write.len); ++ zctx->write.pos = 0; ++ ++ /* initialise zlib for inflate and deflate for RFC4978 */ ++ zctx->read.z.zalloc = zstrm_malloc; ++ zctx->read.z.zfree = zstrm_free; ++ zctx->read.z.opaque = NULL; ++ zctx->read.z.avail_out = zctx->read.len; ++ inflateInit2(&zctx->read.z, -15); ++ zctx->write.z.zalloc = zstrm_malloc; ++ zctx->write.z.zfree = zstrm_free; ++ zctx->write.z.opaque = NULL; ++ zctx->write.z.avail_out = zctx->write.len; ++ deflateInit2(&zctx->write.z, Z_DEFAULT_COMPRESSION, Z_DEFLATED, -15, 8, Z_DEFAULT_STRATEGY); ++} +diff --git a/mutt_zstrm.h b/mutt_zstrm.h +new file mode 100644 +index 000000000..930efcf3f +--- /dev/null ++++ b/mutt_zstrm.h +@@ -0,0 +1,29 @@ ++/** ++ * @file ++ * Zlib compression of network traffic ++ * ++ * Copyright(C) 2019 Fabian Groffen ++ * ++ * @copyright ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 2 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ ++#ifndef MUTT_ZSTRM_H ++#define MUTT_ZSTRM_H ++ ++struct Connection; ++ ++void mutt_zstrm_wrap_conn(struct Connection *conn); ++ ++#endif /* MUTT_ZSTRM_H */ +diff --git a/muttlib.c b/muttlib.c +index a19713902..47aa7a62e 100644 +--- a/muttlib.c ++++ b/muttlib.c +@@ -42,30 +42,29 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "config/lib.h" + #include "email/lib.h" + #include "core/lib.h" ++#include "gui/lib.h" + #include "mutt.h" + #include "muttlib.h" + #include "alias.h" +-#include "curs_lib.h" +-#include "filter.h" + #include "format_flags.h" + #include "globals.h" + #include "hook.h" +-#include "mutt_window.h" ++#include "init.h" + #include "mx.h" +-#include "ncrypt/ncrypt.h" + #include "protos.h" ++#include "ncrypt/lib.h" + #if defined(HAVE_SYSCALL_H) + #include + #elif defined(HAVE_SYS_SYSCALL_H) + #include + #endif + #ifdef USE_IMAP +-#include "imap/imap.h" ++#include "imap/lib.h" + #endif + + /* These Config Variables are only used in muttlib.c */ +@@ -201,7 +200,7 @@ void mutt_buffer_expand_path_regex(struct Buffer *buf, bool regex) + case '=': + case '+': + { +- enum MailboxType mb_type = mx_path_probe(C_Folder, NULL); ++ enum MailboxType mb_type = mx_path_probe(C_Folder); + + /* if folder = {host} or imap[s]://host/: don't append slash */ + if ((mb_type == MUTT_IMAP) && ((C_Folder[strlen(C_Folder) - 1] == '}') || +@@ -225,7 +224,7 @@ void mutt_buffer_expand_path_regex(struct Buffer *buf, bool regex) + case '@': + { + struct AddressList *al = mutt_alias_lookup(s + 1); +- if (!TAILQ_EMPTY(al)) ++ if (al && !TAILQ_EMPTY(al)) + { + struct Email *e = email_new(); + e->env = mutt_env_new(); +@@ -892,7 +891,9 @@ void mutt_expando_format(char *buf, size_t buflen, size_t col, int cols, const c + + prefix[0] = '\0'; + buflen--; /* save room for the terminal \0 */ +- wlen = ((flags & MUTT_FORMAT_ARROWCURSOR) && C_ArrowCursor) ? 3 : 0; ++ wlen = ((flags & MUTT_FORMAT_ARROWCURSOR) && C_ArrowCursor) ? ++ mutt_strwidth(C_ArrowString) + 1 : ++ 0; + col += wlen; + + if ((flags & MUTT_FORMAT_NOFILTER) == 0) +@@ -963,14 +964,14 @@ void mutt_expando_format(char *buf, size_t buflen, size_t col, int cols, const c + + col -= wlen; /* reset to passed in value */ + wptr = buf; /* reset write ptr */ +- pid_t pid = mutt_create_filter(cmd.data, NULL, &fp_filter, NULL); ++ pid_t pid = filter_create(cmd.data, NULL, &fp_filter, NULL); + if (pid != -1) + { + int rc; + + n = fread(buf, 1, buflen /* already decremented */, fp_filter); + mutt_file_fclose(&fp_filter); +- rc = mutt_wait_filter(pid); ++ rc = filter_wait(pid); + if (rc != 0) + mutt_debug(LL_DEBUG1, "format pipe cmd exited code %d\n", rc); + if (n > 0) +@@ -1241,7 +1242,9 @@ void mutt_expando_format(char *buf, size_t buflen, size_t col, int cols, const c + } + else if (soft) + { +- int offset = ((flags & MUTT_FORMAT_ARROWCURSOR) && C_ArrowCursor) ? 3 : 0; ++ int offset = ((flags & MUTT_FORMAT_ARROWCURSOR) && C_ArrowCursor) ? ++ mutt_strwidth(C_ArrowString) + 1 : ++ 0; + int avail_cols = (cols > offset) ? (cols - offset) : 0; + /* \0-terminate buf for length computation in mutt_wstr_trunc() */ + *wptr = '\0'; +@@ -1420,7 +1423,7 @@ FILE *mutt_open_read(const char *path, pid_t *thepid) + + p[len - 1] = 0; + mutt_endwin(); +- *thepid = mutt_create_filter(p, NULL, &fp, NULL); ++ *thepid = filter_create(p, NULL, &fp, NULL); + FREE(&p); + } + else +@@ -1450,7 +1453,7 @@ int mutt_save_confirm(const char *s, struct stat *st) + { + int ret = 0; + +- enum MailboxType magic = mx_path_probe(s, NULL); ++ enum MailboxType magic = mx_path_probe(s); + + #ifdef USE_POP + if (magic == MUTT_POP) +@@ -1565,46 +1568,29 @@ const char *mutt_make_version(void) + } + + /** +- * mutt_encode_path - Convert a path into the user's preferred character set +- * @param buf Buffer for the result +- * @param buflen Length of buffer +- * @param src Path to convert (OPTIONAL) ++ * mutt_encode_path - Convert a path to 'us-ascii' ++ * @param buf Buffer for the result ++ * @param src Path to convert (OPTIONAL) + * + * If `src` is NULL, the path in `buf` will be converted in-place. + */ +-void mutt_encode_path(char *buf, size_t buflen, const char *src) ++void mutt_encode_path(struct Buffer *buf, const char *src) + { + char *p = mutt_str_strdup(src); + int rc = mutt_ch_convert_string(&p, C_Charset, "us-ascii", 0); +- /* 'src' may be NULL, such as when called from the pop3 driver. */ +- size_t len = mutt_str_strfcpy(buf, (rc == 0) ? p : src, buflen); ++ size_t len = mutt_buffer_strcpy(buf, (rc == 0) ? NONULL(p) : NONULL(src)); + + /* convert the path to POSIX "Portable Filename Character Set" */ + for (size_t i = 0; i < len; i++) + { +- if (!isalnum(buf[i]) && !strchr("/.-_", buf[i])) ++ if (!isalnum(buf->data[i]) && !strchr("/.-_", buf->data[i])) + { +- buf[i] = '_'; ++ buf->data[i] = '_'; + } + } + FREE(&p); + } + +-/** +- * mutt_buffer_encode_path - Convert a path into the user's preferred character set +- * @param buf Buffer for the result +- * @param src Path to convert (OPTIONAL) +- * +- * If `src` is NULL, the path in `buf` will be converted in-place. +- */ +-void mutt_buffer_encode_path(struct Buffer *buf, const char *src) +-{ +- char *p = mutt_str_strdup(src); +- int rc = mutt_ch_convert_string(&p, C_Charset, "utf-8", 0); +- mutt_buffer_strcpy(buf, (rc == 0) ? NONULL(p) : NONULL(src)); +- FREE(&p); +-} +- + /** + * mutt_set_xdg_path - Find an XDG path or its fallback + * @param type Type of XDG variable, e.g. #XDG_CONFIG_HOME +@@ -1655,7 +1641,7 @@ int mutt_set_xdg_path(enum XdgType type, char *buf, size_t bufsize) + */ + void mutt_get_parent_path(const char *path, char *buf, size_t buflen) + { +- enum MailboxType mb_magic = mx_path_probe(path, NULL); ++ enum MailboxType mb_magic = mx_path_probe(path); + + if (mb_magic == MUTT_IMAP) + imap_get_parent_path(path, buf, buflen); +@@ -1809,3 +1795,55 @@ void mutt_str_pretty_size(char *buf, size_t buflen, size_t num) + snprintf(buf, buflen, C_SizeUnitsOnLeft ? ("M%zu") : ("%zuM"), (num + 52428) / 1048576); + } + } ++ ++/** ++ * add_to_stailq - Add a string to a list ++ * @param head String list ++ * @param str String to add ++ * ++ * @note Duplicate or empty strings will not be added ++ */ ++void add_to_stailq(struct ListHead *head, const char *str) ++{ ++ /* don't add a NULL or empty string to the list */ ++ if (!str || (*str == '\0')) ++ return; ++ ++ /* check to make sure the item is not already on this list */ ++ struct ListNode *np = NULL; ++ STAILQ_FOREACH(np, head, entries) ++ { ++ if (mutt_str_strcasecmp(str, np->data) == 0) ++ { ++ return; ++ } ++ } ++ mutt_list_insert_tail(head, mutt_str_strdup(str)); ++} ++ ++/** ++ * remove_from_stailq - Remove an item, matching a string, from a List ++ * @param head Head of the List ++ * @param str String to match ++ * ++ * @note The string comparison is case-insensitive ++ */ ++void remove_from_stailq(struct ListHead *head, const char *str) ++{ ++ if (mutt_str_strcmp("*", str) == 0) ++ mutt_list_free(head); /* "unCMD *" means delete all current entries */ ++ else ++ { ++ struct ListNode *np = NULL, *tmp = NULL; ++ STAILQ_FOREACH_SAFE(np, head, entries, tmp) ++ { ++ if (mutt_str_strcasecmp(str, np->data) == 0) ++ { ++ STAILQ_REMOVE(head, np, ListNode, entries); ++ FREE(&np->data); ++ FREE(&np); ++ break; ++ } ++ } ++ } ++} +diff --git a/muttlib.h b/muttlib.h +index 6a7d16469..f8c3f825a 100644 +--- a/muttlib.h ++++ b/muttlib.h +@@ -34,6 +34,7 @@ + struct Address; + struct Body; + struct Buffer; ++struct ListHead; + struct passwd; + struct stat; + +@@ -42,14 +43,13 @@ extern struct Regex *C_GecosMask; + + void mutt_adv_mktemp(struct Buffer *buf); + void mutt_buffer_mktemp_full(struct Buffer *buf, const char *prefix, const char *suffix, const char *src, int line); +-void mutt_buffer_encode_path(struct Buffer *buf, const char *src); + void mutt_buffer_expand_path(struct Buffer *buf); + void mutt_buffer_expand_path_regex(struct Buffer *buf, bool regex); + void mutt_buffer_pretty_mailbox(struct Buffer *s); + void mutt_buffer_sanitize_filename (struct Buffer *buf, const char *path, short slash); + void mutt_buffer_save_path(struct Buffer *dest, const struct Address *a); + int mutt_check_overwrite(const char *attname, const char *path, struct Buffer *fname, enum SaveAttach *opt, char **directory); +-void mutt_encode_path(char *dest, size_t dlen, const char *src); ++void mutt_encode_path(struct Buffer *buf, const char *src); + void mutt_expando_format(char *buf, size_t buflen, size_t col, int cols, const char *src, format_t *callback, unsigned long data, MuttFormatFlags flags); + char * mutt_expand_path(char *s, size_t slen); + char * mutt_expand_path_regex(char *buf, size_t buflen, bool regex); +@@ -72,6 +72,9 @@ void mutt_save_path(char *d, size_t dsize, const struct Address *a); + void mutt_sleep(short s); + void mutt_str_pretty_size(char *buf, size_t buflen, size_t num); + ++void add_to_stailq (struct ListHead *head, const char *str); ++void remove_from_stailq(struct ListHead *head, const char *str); ++ + #define mutt_mktemp(buf, buflen) mutt_mktemp_pfx_sfx(buf, buflen, "neomutt", NULL) + #define mutt_mktemp_pfx_sfx(buf, buflen, prefix, suffix) mutt_mktemp_full(buf, buflen, prefix, suffix, __FILE__, __LINE__) + +diff --git a/mx.c b/mx.c +index 8b642e95e..95f73b8b9 100644 +--- a/mx.c ++++ b/mx.c +@@ -36,7 +36,7 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + #include "core/lib.h" +@@ -47,9 +47,8 @@ + #include "copy.h" + #include "globals.h" + #include "hook.h" ++#include "init.h" + #include "keymap.h" +-#include "maildir/lib.h" +-#include "mbox/mbox.h" + #include "mutt_header.h" + #include "mutt_logging.h" + #include "mutt_mailbox.h" +@@ -58,20 +57,22 @@ + #include "options.h" + #include "protos.h" + #include "sort.h" ++#include "maildir/lib.h" ++#include "mbox/lib.h" + #ifdef USE_COMPRESSED +-#include "compress.h" ++#include "compress/lib.h" + #endif + #ifdef USE_IMAP +-#include "imap/imap.h" ++#include "imap/lib.h" + #endif + #ifdef USE_POP +-#include "pop/pop.h" ++#include "pop/lib.h" + #endif + #ifdef USE_NNTP +-#include "nntp/nntp.h" ++#include "nntp/lib.h" + #endif + #ifdef USE_NOTMUCH +-#include "notmuch/mutt_notmuch.h" ++#include "notmuch/lib.h" + #endif + #ifdef ENABLE_NLS + #include +@@ -103,7 +104,7 @@ struct EnumDef MagicDef = { + /** + * mx_ops - All the Mailbox backends + */ +-static const struct MxOps *mx_ops[] = { ++const struct MxOps *mx_ops[] = { + /* These mailboxes can be recognised by their Url scheme */ + #ifdef USE_IMAP + &MxImapOps, +@@ -193,7 +194,7 @@ static int mx_open_mailbox_append(struct Mailbox *m, OpenMailboxFlags flags) + m->append = true; + if ((m->magic == MUTT_UNKNOWN) || (m->magic == MUTT_MAILBOX_ERROR)) + { +- m->magic = mx_path_probe(mailbox_path(m), NULL); ++ m->magic = mx_path_probe(mailbox_path(m)); + + if (m->magic == MUTT_UNKNOWN) + { +@@ -259,10 +260,10 @@ struct Context *mx_mbox_open(struct Mailbox *m, OpenMailboxFlags flags) + ctx->mailbox = m; + + struct EventContext ev_ctx = { ctx }; +- notify_send(ctx->notify, NT_CONTEXT, NT_CONTEXT_OPEN, IP & ev_ctx); ++ notify_send(ctx->notify, NT_CONTEXT, NT_CONTEXT_OPEN, &ev_ctx); + + // If the Mailbox is closed, Context->mailbox must be set to NULL +- notify_observer_add(m->notify, NT_MAILBOX, 0, ctx_mailbox_observer, IP ctx); ++ notify_observer_add(m->notify, ctx_mailbox_observer, ctx); + + if ((m->magic == MUTT_UNKNOWN) && (flags & (MUTT_NEWFOLDER | MUTT_APPEND))) + { +@@ -326,7 +327,7 @@ struct Context *mx_mbox_open(struct Mailbox *m, OpenMailboxFlags flags) + + if (m->magic == MUTT_UNKNOWN) + { +- m->magic = mx_path_probe(mailbox_path(m), NULL); ++ m->magic = mx_path_probe(mailbox_path(m)); + m->mx_ops = mx_get_ops(m->magic); + } + +@@ -460,10 +461,14 @@ static int sync_mailbox(struct Mailbox *m, int *index_hint) + } + + int rc = m->mx_ops->mbox_sync(m, index_hint); +- if ((rc != 0) && !m->quiet) ++ if (rc != 0) + { +- /* L10N: Displayed if a mailbox sync fails */ +- mutt_error(_("Unable to write %s"), mailbox_path(m)); ++ mutt_debug(LL_DEBUG2, "mbox_sync returned: %d\n", rc); ++ if ((rc < 0) && !m->quiet) ++ { ++ /* L10N: Displayed if a mailbox sync fails */ ++ mutt_error(_("Unable to write %s"), mailbox_path(m)); ++ } + } + + return rc; +@@ -537,12 +542,10 @@ static int trash_append(struct Mailbox *m) + #endif + + struct Mailbox *m_trash = mx_path_resolve(C_Trash); ++ const bool old_append = m_trash->append; + struct Context *ctx_trash = mx_mbox_open(m_trash, MUTT_APPEND); + if (ctx_trash) + { +- bool old_append = m_trash->append; +- m_trash->append = true; +- + /* continue from initial scan above */ + for (int i = first_del; i < m->msg_count; i++) + { +@@ -554,15 +557,15 @@ static int trash_append(struct Mailbox *m) + { + if (mutt_append_message(ctx_trash->mailbox, m, e, MUTT_CM_NO_FLAGS, CH_NO_FLAGS) == -1) + { +- m_trash->append = old_append; + mx_mbox_close(&ctx_trash); ++ m_trash->append = old_append; + return -1; + } + } + } + +- m_trash->append = old_append; + mx_mbox_close(&ctx_trash); ++ m_trash->append = old_append; + } + else + { +@@ -577,9 +580,13 @@ static int trash_append(struct Mailbox *m) + /** + * mx_mbox_close - Save changes and close mailbox + * @param[out] ptr Mailbox ++ * @retval #MUTT_REOPENED mailbox has been externally modified ++ * @retval #MUTT_NEW_MAIL new mail has arrived + * @retval 0 Success + * @retval -1 Failure + * ++ * @note The flag retvals come from a call to a backend sync function ++ * + * @note Context will be freed after it's closed + */ + int mx_mbox_close(struct Context **ptr) +@@ -711,7 +718,8 @@ int mx_mbox_close(struct Context **ptr) + + if ((m->magic == MUTT_IMAP) && (imap_path_probe(mutt_b2s(mbox), NULL) == MUTT_IMAP)) + { +- /* tag messages for moving, and clear old tags, if any */ ++ /* add messages for moving, and clear old tags, if any */ ++ struct EmailList el = STAILQ_HEAD_INITIALIZER(el); + for (i = 0; i < m->msg_count; i++) + { + struct Email *e = m->emails[i]; +@@ -719,12 +727,16 @@ int mx_mbox_close(struct Context **ptr) + break; + + if (e->read && !e->deleted && !(e->flagged && C_KeepFlagged)) ++ { + e->tagged = true; ++ emaillist_add_email(&el, e); ++ } + else + e->tagged = false; + } + +- i = imap_copy_messages(ctx->mailbox, NULL, mutt_b2s(mbox), true); ++ i = imap_copy_messages(ctx->mailbox, &el, mutt_b2s(mbox), true); ++ emaillist_clear(&el); + } + + if (i == 0) /* success */ +@@ -791,7 +803,10 @@ int mx_mbox_close(struct Context **ptr) + { + int check = imap_sync_mailbox(ctx->mailbox, (purge != MUTT_NO), true); + if (check != 0) ++ { ++ rc = check; + goto cleanup; ++ } + } + else + #endif +@@ -814,7 +829,10 @@ int mx_mbox_close(struct Context **ptr) + { + int check = sync_mailbox(ctx->mailbox, NULL); + if (check != 0) ++ { ++ rc = check; + goto cleanup; ++ } + } + } + +@@ -871,8 +889,12 @@ int mx_mbox_close(struct Context **ptr) + * mx_mbox_sync - Save changes to mailbox + * @param[in] m Mailbox + * @param[out] index_hint Currently selected Email ++ * @retval #MUTT_REOPENED mailbox has been externally modified ++ * @retval #MUTT_NEW_MAIL new mail has arrived + * @retval 0 Success + * @retval -1 Error ++ * ++ * @note The flag retvals come from a call to a backend sync function + */ + int mx_mbox_sync(struct Mailbox *m, int *index_hint) + { +@@ -935,7 +957,7 @@ int mx_mbox_sync(struct Mailbox *m, int *index_hint) + m->msg_deleted = 0; + } + } +- mailbox_changed(m, MBN_UNTAG); ++ mailbox_changed(m, NT_MAILBOX_UNTAG); + } + + /* really only for IMAP - imap_sync_mailbox results in a call to +@@ -992,8 +1014,8 @@ int mx_mbox_sync(struct Mailbox *m, int *index_hint) + /* IMAP does this automatically after handling EXPUNGE */ + if (m->magic != MUTT_IMAP) + { +- mailbox_changed(m, MBN_UPDATE); +- mailbox_changed(m, MBN_RESORT); ++ mailbox_changed(m, NT_MAILBOX_UPDATE); ++ mailbox_changed(m, NT_MAILBOX_RESORT); + } + } + } +@@ -1079,7 +1101,7 @@ int mx_mbox_check(struct Mailbox *m, int *index_hint) + + int rc = m->mx_ops->mbox_check(m, index_hint); + if ((rc == MUTT_NEW_MAIL) || (rc == MUTT_REOPENED)) +- mailbox_changed(m, MBN_INVALID); ++ mailbox_changed(m, NT_MAILBOX_INVALID); + + return rc; + } +@@ -1202,7 +1224,7 @@ void mx_alloc_memory(struct Mailbox *m) + */ + int mx_check_empty(const char *path) + { +- switch (mx_path_probe(path, NULL)) ++ switch (mx_path_probe(path)) + { + case MUTT_MBOX: + case MUTT_MMDF: +@@ -1283,59 +1305,39 @@ bool mx_tags_is_supported(struct Mailbox *m) + + /** + * mx_path_probe - Find a mailbox that understands a path +- * @param[in] path Path to examine +- * @param[out] st stat buffer (OPTIONAL, for local mailboxes) ++ * @param path Path to examine + * @retval num Type, e.g. #MUTT_IMAP + */ +-enum MailboxType mx_path_probe(const char *path, struct stat *st) ++enum MailboxType mx_path_probe(const char *path) + { + if (!path) + return MUTT_UNKNOWN; + +- static const struct MxOps *no_stat[] = { +-#ifdef USE_IMAP +- &MxImapOps, +-#endif +-#ifdef USE_NOTMUCH +- &MxNotmuchOps, +-#endif +-#ifdef USE_POP +- &MxPopOps, +-#endif +-#ifdef USE_NNTP +- &MxNntpOps, +-#endif +- }; +- +- static const struct MxOps *with_stat[] = { +- &MxMaildirOps, &MxMboxOps, &MxMhOps, &MxMmdfOps, +-#ifdef USE_COMPRESSED +- &MxCompOps, +-#endif +- }; +- + enum MailboxType rc; + +- for (size_t i = 0; i < mutt_array_size(no_stat); i++) ++ // First, search the non-local Mailbox types (is_local == false) ++ for (const struct MxOps **ops = mx_ops; *ops; ops++) + { +- rc = no_stat[i]->path_probe(path, NULL); ++ if ((*ops)->is_local) ++ continue; ++ rc = (*ops)->path_probe(path, NULL); + if (rc != MUTT_UNKNOWN) + return rc; + } + +- struct stat st2 = { 0 }; +- if (!st) +- st = &st2; +- +- if (stat(path, st) != 0) ++ struct stat st = { 0 }; ++ if (stat(path, &st) != 0) + { + mutt_debug(LL_DEBUG1, "unable to stat %s: %s (errno %d)\n", path, strerror(errno), errno); + return MUTT_UNKNOWN; + } + +- for (size_t i = 0; i < mutt_array_size(with_stat); i++) ++ // Next, search the local Mailbox types (is_local == true) ++ for (const struct MxOps **ops = mx_ops; *ops; ops++) + { +- rc = with_stat[i]->path_probe(path, st); ++ if (!(*ops)->is_local) ++ continue; ++ rc = (*ops)->path_probe(path, &st); + if (rc != MUTT_UNKNOWN) + return rc; + } +@@ -1405,7 +1407,7 @@ int mx_path_canon(char *buf, size_t buflen, const char *folder, enum MailboxType + { + /* elm compatibility, @ expands alias to user name */ + struct AddressList *al = mutt_alias_lookup(buf + 1); +- if (TAILQ_EMPTY(al)) ++ if (!al || TAILQ_EMPTY(al)) + break; + + struct Email *e = email_new(); +@@ -1425,7 +1427,7 @@ int mx_path_canon(char *buf, size_t buflen, const char *folder, enum MailboxType + // if (!folder) //XXX - use inherited version, or pass NULL to backend? + // return -1; + +- enum MailboxType magic2 = mx_path_probe(buf, NULL); ++ enum MailboxType magic2 = mx_path_probe(buf); + if (magic) + *magic = magic2; + const struct MxOps *ops = mx_get_ops(magic2); +@@ -1434,15 +1436,18 @@ int mx_path_canon(char *buf, size_t buflen, const char *folder, enum MailboxType + + if (ops->path_canon(buf, buflen) < 0) + { +- mutt_path_canon(buf, buflen, HomeDir); ++ mutt_path_canon(buf, buflen, HomeDir, true); + } + + return 0; + } + + /** +- * mx_path_canon2 - XXX +- * canonicalise the path to realpath ++ * mx_path_canon2 - Canonicalise the path to realpath ++ * @param m Mailbox ++ * @param folder Path to canonicalise ++ * @retval 0 Success ++ * @retval -1 Failure + */ + int mx_path_canon2(struct Mailbox *m, const char *folder) + { +@@ -1474,7 +1479,7 @@ int mx_path_canon2(struct Mailbox *m, const char *folder) + */ + int mx_path_pretty(char *buf, size_t buflen, const char *folder) + { +- enum MailboxType magic = mx_path_probe(buf, NULL); ++ enum MailboxType magic = mx_path_probe(buf); + const struct MxOps *ops = mx_get_ops(magic); + if (!ops) + return -1; +@@ -1522,7 +1527,10 @@ int mx_msg_padding_size(struct Mailbox *m) + } + + /** +- * mx_ac_find - XXX ++ * mx_ac_find - Find the Account owning a Mailbox ++ * @param m Mailbox ++ * @retval ptr Account ++ * @retval NULL None found + */ + struct Account *mx_ac_find(struct Mailbox *m) + { +@@ -1543,9 +1551,10 @@ struct Account *mx_ac_find(struct Mailbox *m) + } + + /** +- * mx_mbox_find - XXX +- * +- * find a mailbox on an account ++ * mx_mbox_find - Find a Mailbox on an Account ++ * @param a Account to search ++ * @param path Path to find ++ * @retval ptr Mailbox + */ + struct Mailbox *mx_mbox_find(struct Account *a, const char *path) + { +@@ -1553,19 +1562,61 @@ struct Mailbox *mx_mbox_find(struct Account *a, const char *path) + return NULL; + + struct MailboxNode *np = NULL; ++ struct Url *url_p = NULL; ++ struct Url *url_a = NULL; ++ ++ const bool use_url = (a->magic == MUTT_IMAP); ++ if (use_url) ++ { ++ url_p = url_parse(path); ++ if (!url_p) ++ goto done; ++ } ++ + STAILQ_FOREACH(np, &a->mailboxes, entries) + { +- if (mutt_str_strcmp(np->mailbox->realpath, path) == 0) +- return np->mailbox; ++ if (!use_url) ++ { ++ if (mutt_str_strcmp(np->mailbox->realpath, path) == 0) ++ return np->mailbox; ++ continue; ++ } ++ ++ url_free(&url_a); ++ url_a = url_parse(np->mailbox->realpath); ++ if (!url_a) ++ continue; ++ ++ if (mutt_str_strcasecmp(url_a->host, url_p->host) != 0) ++ continue; ++ if (url_p->user && (mutt_str_strcasecmp(url_a->user, url_p->user) != 0)) ++ continue; ++ if (a->magic == MUTT_IMAP) ++ { ++ if (imap_mxcmp(url_a->path, url_p->path) == 0) ++ break; ++ } ++ else ++ { ++ if (mutt_str_strcmp(url_a->path, url_p->path) == 0) ++ break; ++ } + } + +- return NULL; ++done: ++ url_free(&url_p); ++ url_free(&url_a); ++ ++ if (!np) ++ return NULL; ++ return np->mailbox; + } + + /** +- * mx_mbox_find2 - XXX +- * +- * find a mailbox on an account ++ * mx_mbox_find2 - Find a Mailbox on an Account ++ * @param path Path to find ++ * @retval ptr Mailbox ++ * @retval NULL No match + */ + struct Mailbox *mx_mbox_find2(const char *path) + { +@@ -1588,7 +1639,11 @@ struct Mailbox *mx_mbox_find2(const char *path) + } + + /** +- * mx_path_resolve - XXX ++ * mx_path_resolve - Get a Mailbox for a path ++ * @param path Mailbox path ++ * @retval ptr Mailbox ++ * ++ * If there isn't a Mailbox for the path, one will be created. + */ + struct Mailbox *mx_path_resolve(const char *path) + { +diff --git a/mx.h b/mx.h +index 9a0e73284..0b6cf6614 100644 +--- a/mx.h ++++ b/mx.h +@@ -36,6 +36,8 @@ struct Email; + struct Context; + struct stat; + ++extern const struct MxOps *mx_ops[]; ++ + /* These Config Variables are only used in mx.c */ + extern unsigned char C_CatchupNewsgroup; + extern bool C_KeepFlagged; +@@ -104,6 +106,7 @@ struct MxOps + { + enum MailboxType magic; ///< Mailbox type, e.g. #MUTT_IMAP + const char *name; ///< Mailbox name, e.g. "imap" ++ bool is_local; ///< True, if Mailbox type has local files/dirs + + /** + * ac_find - Find an Account that matches a Mailbox path +@@ -287,7 +290,7 @@ int mx_path_canon (char *buf, size_t buflen, const char *folder + int mx_path_canon2 (struct Mailbox *m, const char *folder); + int mx_path_parent (char *buf, size_t buflen); + int mx_path_pretty (char *buf, size_t buflen, const char *folder); +-enum MailboxType mx_path_probe (const char *path, struct stat *st); ++enum MailboxType mx_path_probe (const char *path); + struct Mailbox *mx_path_resolve (const char *path); + int mx_tags_commit (struct Mailbox *m, struct Email *e, char *tags); + int mx_tags_edit (struct Mailbox *m, const char *tags, char *buf, size_t buflen); +diff --git a/myvar.c b/myvar.c +index bb0d1810d..48ab6bc89 100644 +--- a/myvar.c ++++ b/myvar.c +@@ -28,7 +28,7 @@ + + #include "config.h" + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "myvar.h" + + struct MyVarList MyVars = TAILQ_HEAD_INITIALIZER(MyVars); +diff --git a/myvar.h b/myvar.h +index 26b640681..7e6a68f06 100644 +--- a/myvar.h ++++ b/myvar.h +@@ -23,7 +23,7 @@ + #ifndef MUTT_MYVAR_H + #define MUTT_MYVAR_H + +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + /** + * struct MyVar - A user-set variable +diff --git a/ncrypt/crypt.c b/ncrypt/crypt.c +index e4ea1bdad..cd3af2dd7 100644 +--- a/ncrypt/crypt.c ++++ b/ncrypt/crypt.c +@@ -37,29 +37,28 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "config/lib.h" + #include "email/lib.h" ++#include "gui/lib.h" + #include "mutt.h" + #include "crypt.h" + #include "alias.h" + #include "copy.h" + #include "cryptglue.h" +-#include "curs_lib.h" + #include "globals.h" + #include "handler.h" +-#include "mutt_curses.h" ++#include "init.h" + #include "mutt_parse.h" +-#include "mutt_window.h" + #include "muttlib.h" +-#include "ncrypt.h" + #include "options.h" + #include "send.h" + #include "sendlib.h" + #include "state.h" ++#include "ncrypt/lib.h" + #ifdef USE_AUTOCRYPT +-#include "autocrypt/autocrypt.h" ++#include "autocrypt/lib.h" + #endif + + struct Mailbox; +@@ -291,6 +290,12 @@ int mutt_protect(struct Email *e, char *keylist, bool postpone) + + mutt_env_free(&e->content->mime_headers); + e->content->mime_headers = protected_headers; ++ /* Optional part of the draft RFC, but required by Enigmail */ ++ mutt_param_set(&e->content->parameter, "protected-headers", "v1"); ++ } ++ else ++ { ++ mutt_param_delete(&e->content->parameter, "protected-headers"); + } + + /* A note about e->content->mime_headers. If postpone or send +@@ -315,7 +320,7 @@ int mutt_protect(struct Email *e, char *keylist, bool postpone) + { + if (((WithCrypto & APPLICATION_SMIME) != 0) && (security & APPLICATION_SMIME)) + { +- tmp_pbody = crypt_smime_sign_message(e->content); ++ tmp_pbody = crypt_smime_sign_message(e->content, &e->env->from); + if (!tmp_pbody) + goto bail; + pbody = tmp_pbody; +@@ -325,7 +330,7 @@ int mutt_protect(struct Email *e, char *keylist, bool postpone) + if (((WithCrypto & APPLICATION_PGP) != 0) && (security & APPLICATION_PGP) && + (!(security & (SEC_ENCRYPT | SEC_AUTOCRYPT)) || C_PgpRetainableSigs)) + { +- tmp_pbody = crypt_pgp_sign_message(e->content); ++ tmp_pbody = crypt_pgp_sign_message(e->content, &e->env->from); + if (!tmp_pbody) + goto bail; + +@@ -365,7 +370,7 @@ int mutt_protect(struct Email *e, char *keylist, bool postpone) + + if (((WithCrypto & APPLICATION_PGP) != 0) && (security & APPLICATION_PGP)) + { +- pbody = crypt_pgp_encrypt_message(e, tmp_pgp_pbody, keylist, sign); ++ pbody = crypt_pgp_encrypt_message(e, tmp_pgp_pbody, keylist, sign, &e->env->from); + if (!pbody) + { + /* did we perform a retainable signature? */ +@@ -1239,8 +1244,10 @@ int mutt_signed_handler(struct Body *a, struct State *s) + FREE(&signatures); + } + else ++ { + state_attach_puts(s, + _("[-- Warning: Can't find any signatures. --]\n\n")); ++ } + } + + rc = mutt_body_handler(a, s); +diff --git a/ncrypt/crypt_gpgme.c b/ncrypt/crypt_gpgme.c +index 8e1b9d54b..b634f36ea 100644 +--- a/ncrypt/crypt_gpgme.c ++++ b/ncrypt/crypt_gpgme.c +@@ -50,15 +50,15 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "config/lib.h" + #include "email/lib.h" ++#include "gui/lib.h" + #include "mutt.h" + #include "crypt_gpgme.h" + #include "alias.h" + #include "crypt.h" +-#include "curs_lib.h" + #include "format_flags.h" + #include "globals.h" + #include "handler.h" +@@ -67,9 +67,7 @@ + #include "mutt_attach.h" + #include "mutt_logging.h" + #include "mutt_menu.h" +-#include "mutt_window.h" + #include "muttlib.h" +-#include "ncrypt.h" + #include "opcodes.h" + #include "options.h" + #include "pager.h" +@@ -78,6 +76,7 @@ + #include "sendlib.h" + #include "sort.h" + #include "state.h" ++#include "ncrypt/lib.h" + #ifdef ENABLE_NLS + #include + #endif +@@ -1166,48 +1165,34 @@ static gpgme_key_t *create_recipient_set(const char *keylist, bool use_smime) + #endif /* GPGME_VERSION_NUMBER >= 0x010b00 */ + + /** +- * set_signer - Make sure that the correct signer is set ++ * set_signer_from_address - Try to set the context's signer from the address + * @param ctx GPGME handle ++ * @param address Address to try to set as a signer + * @param for_smime Use S/MIME +- * @retval 0 Success +- * @retval -1 Error ++ * @retval true Address was set as a signer ++ * @retval false Address could not be set as a signer + */ +-static int set_signer(gpgme_ctx_t ctx, bool for_smime) ++static bool set_signer_from_address(gpgme_ctx_t ctx, const char *address, bool for_smime) + { +- char *signid = NULL; + gpgme_error_t err; +- gpgme_ctx_t listctx = NULL; + gpgme_key_t key = NULL, key2 = NULL; +- char *fpr = NULL, *fpr2 = NULL; +- +- if (for_smime) +- signid = C_SmimeSignAs ? C_SmimeSignAs : C_SmimeDefaultKey; +-#ifdef USE_AUTOCRYPT +- else if (OptAutocryptGpgme) +- signid = AutocryptSignAs; +-#endif +- else +- signid = C_PgpSignAs ? C_PgpSignAs : C_PgpDefaultKey; +- +- if (!signid) +- return 0; +- +- listctx = create_gpgme_context(for_smime); +- err = gpgme_op_keylist_start(listctx, signid, 1); ++ gpgme_ctx_t listctx = create_gpgme_context(for_smime); ++ err = gpgme_op_keylist_start(listctx, address, 1); + if (err == 0) + err = gpgme_op_keylist_next(listctx, &key); + if (err) + { + gpgme_release(listctx); +- mutt_error(_("secret key '%s' not found: %s"), signid, gpgme_strerror(err)); +- return -1; ++ mutt_error(_("secret key '%s' not found: %s"), address, gpgme_strerror(err)); ++ return false; + } +- fpr = "fpr1"; ++ ++ char *fpr = "fpr1"; + if (key->subkeys) + fpr = key->subkeys->fpr ? key->subkeys->fpr : key->subkeys->keyid; + while (gpgme_op_keylist_next(listctx, &key2) == 0) + { +- fpr2 = "fpr2"; ++ char *fpr2 = "fpr2"; + if (key2->subkeys) + fpr2 = key2->subkeys->fpr ? key2->subkeys->fpr : key2->subkeys->keyid; + if (mutt_str_strcmp(fpr, fpr2)) +@@ -1215,8 +1200,8 @@ static int set_signer(gpgme_ctx_t ctx, bool for_smime) + gpgme_key_unref(key); + gpgme_key_unref(key2); + gpgme_release(listctx); +- mutt_error(_("ambiguous specification of secret key '%s'\n"), signid); +- return -1; ++ mutt_error(_("ambiguous specification of secret key '%s'\n"), address); ++ return false; + } + else + { +@@ -1231,10 +1216,53 @@ static int set_signer(gpgme_ctx_t ctx, bool for_smime) + gpgme_key_unref(key); + if (err) + { +- mutt_error(_("error setting secret key '%s': %s"), signid, gpgme_strerror(err)); +- return -1; ++ mutt_error(_("error setting secret key '%s': %s"), address, gpgme_strerror(err)); ++ return false; + } +- return 0; ++ return true; ++} ++ ++/** ++ * set_signer - Make sure that the correct signer is set ++ * @param ctx GPGME handle ++ * @param al From AddressList ++ * @param for_smime Use S/MIME ++ * @retval 0 Success ++ * @retval -1 Error ++ */ ++static int set_signer(gpgme_ctx_t ctx, const struct AddressList *al, bool for_smime) ++{ ++ char *signid = NULL; ++ ++ if (for_smime) ++ signid = C_SmimeSignAs ? C_SmimeSignAs : C_SmimeDefaultKey; ++#ifdef USE_AUTOCRYPT ++ else if (OptAutocryptGpgme) ++ signid = AutocryptSignAs; ++#endif ++ else ++ signid = C_PgpSignAs ? C_PgpSignAs : C_PgpDefaultKey; ++ ++ /* Try getting the signing key from config entries */ ++ if (signid && set_signer_from_address(ctx, signid, for_smime)) ++ { ++ return 0; ++ } ++ ++ /* Try getting the signing key from the From line */ ++ if (al) ++ { ++ struct Address *a; ++ TAILQ_FOREACH(a, al, entries) ++ { ++ if (a->mailbox && set_signer_from_address(ctx, a->mailbox, for_smime)) ++ { ++ return 0; ++ } ++ } ++ } ++ ++ return (!signid && !al) ? 0 : -1; + } + + /** +@@ -1259,10 +1287,11 @@ static gpgme_error_t set_pka_sig_notation(gpgme_ctx_t ctx) + * @param keylist List of keys to encrypt to + * @param use_smime If true, use SMIME + * @param combined_signed If true, sign and encrypt the message (PGP only) ++ * @param from The From header line + * @retval ptr Name of temporary file containing encrypted text + */ +-static char *encrypt_gpgme_object(gpgme_data_t plaintext, char *keylist, +- bool use_smime, bool combined_signed) ++static char *encrypt_gpgme_object(gpgme_data_t plaintext, char *keylist, bool use_smime, ++ bool combined_signed, const struct AddressList *from) + { + gpgme_error_t err; + gpgme_ctx_t ctx = NULL; +@@ -1291,7 +1320,7 @@ static char *encrypt_gpgme_object(gpgme_data_t plaintext, char *keylist, + + if (combined_signed) + { +- if (set_signer(ctx, use_smime)) ++ if (set_signer(ctx, from, use_smime)) + goto cleanup; + + if (C_CryptUsePka) +@@ -1398,11 +1427,12 @@ static void print_time(time_t t, struct State *s) + /** + * sign_message - Sign a message + * @param a Message to sign ++ * @param from The From header line + * @param use_smime If set, use SMIME instead of PGP + * @retval ptr new Body + * @retval NULL error + */ +-static struct Body *sign_message(struct Body *a, bool use_smime) ++static struct Body *sign_message(struct Body *a, const struct AddressList *from, bool use_smime) + { + struct Body *t = NULL; + char *sigfile = NULL; +@@ -1423,7 +1453,7 @@ static struct Body *sign_message(struct Body *a, bool use_smime) + if (!use_smime) + gpgme_set_armor(ctx, 1); + +- if (set_signer(ctx, use_smime)) ++ if (set_signer(ctx, from, use_smime)) + { + gpgme_data_release(signature); + gpgme_data_release(message); +@@ -1523,23 +1553,24 @@ static struct Body *sign_message(struct Body *a, bool use_smime) + /** + * pgp_gpgme_sign_message - Implements CryptModuleSpecs::sign_message() + */ +-struct Body *pgp_gpgme_sign_message(struct Body *a) ++struct Body *pgp_gpgme_sign_message(struct Body *a, const struct AddressList *from) + { +- return sign_message(a, false); ++ return sign_message(a, from, false); + } + + /** + * smime_gpgme_sign_message - Implements CryptModuleSpecs::sign_message() + */ +-struct Body *smime_gpgme_sign_message(struct Body *a) ++struct Body *smime_gpgme_sign_message(struct Body *a, const struct AddressList *from) + { +- return sign_message(a, true); ++ return sign_message(a, from, true); + } + + /** + * pgp_gpgme_encrypt_message - Implements CryptModuleSpecs::pgp_encrypt_message() + */ +-struct Body *pgp_gpgme_encrypt_message(struct Body *a, char *keylist, bool sign) ++struct Body *pgp_gpgme_encrypt_message(struct Body *a, char *keylist, bool sign, ++ const struct AddressList *from) + { + if (sign) + crypt_convert_to_7bit(a); +@@ -1547,7 +1578,7 @@ struct Body *pgp_gpgme_encrypt_message(struct Body *a, char *keylist, bool sign) + if (!plaintext) + return NULL; + +- char *outfile = encrypt_gpgme_object(plaintext, keylist, false, sign); ++ char *outfile = encrypt_gpgme_object(plaintext, keylist, false, sign, from); + gpgme_data_release(plaintext); + if (!outfile) + return NULL; +@@ -1593,7 +1624,7 @@ struct Body *smime_gpgme_build_smime_entity(struct Body *a, char *keylist) + if (!plaintext) + return NULL; + +- char *outfile = encrypt_gpgme_object(plaintext, keylist, true, false); ++ char *outfile = encrypt_gpgme_object(plaintext, keylist, true, false, NULL); + gpgme_data_release(plaintext); + if (!outfile) + return NULL; +@@ -2031,8 +2062,16 @@ static int show_one_sig_status(gpgme_ctx_t ctx, int idx, struct State *s) + + /** + * verify_one - Do the actual verification step ++ * @param sigbdy Mime part containing signature ++ * @param s State to read from ++ * @param tempfile Temporary file to read ++ * @param is_smime Is the key S/MIME? ++ * @retval 0 Success ++ * @retval 1 Bad signature ++ * @retval 2 Warnings ++ * @retval -1 Error + * +- * With IS_SMIME set to true we assume S/MIME (surprise!) ++ * With IS_SMIME set to true we assume S/MIME. + */ + static int verify_one(struct Body *sigbdy, struct State *s, const char *tempfile, bool is_smime) + { +@@ -2202,9 +2241,10 @@ static struct Body *decrypt_part(struct Body *a, struct State *s, FILE *fp_out, + if (r_is_signed) + *r_is_signed = 0; + +- gpgme_ctx_t ctx = create_gpgme_context(is_smime); +- ++ gpgme_ctx_t ctx = NULL; + restart: ++ ctx = create_gpgme_context(is_smime); ++ + if (a->length < 0) + return NULL; + /* Make a data object from the body, create context etc. */ +@@ -3060,7 +3100,11 @@ int pgp_gpgme_application_handler(struct Body *m, struct State *s) + state_puts(s, errbuf); + } + else +- { /* Decryption/Verification succeeded */ ++ { ++ /* Decryption/Verification succeeded */ ++ ++ mutt_message(_("PGP message successfully decrypted")); ++ + bool sig_stat = false; + char *tmpfname = NULL; + +@@ -3584,16 +3628,20 @@ static const char *crypt_format_str(char *buf, size_t buflen, size_t col, int co + } + + if (optional) ++ { + mutt_expando_format(buf, buflen, col, cols, if_str, attach_format_str, data, + MUTT_FORMAT_NO_FLAGS); ++ } + else if (flags & MUTT_FORMAT_OPTIONAL) ++ { + mutt_expando_format(buf, buflen, col, cols, else_str, attach_format_str, + data, MUTT_FORMAT_NO_FLAGS); ++ } + return src; + } + + /** +- * crypt_make_entry - Format a menu item for the key selection list - Implements Menu::menu_make_entry() ++ * crypt_make_entry - Format a menu item for the key selection list - Implements Menu::make_entry() + */ + static void crypt_make_entry(char *buf, size_t buflen, struct Menu *menu, int line) + { +@@ -3603,8 +3651,9 @@ static void crypt_make_entry(char *buf, size_t buflen, struct Menu *menu, int li + entry.key = key_table[line]; + entry.num = line + 1; + +- mutt_expando_format(buf, buflen, 0, menu->indexwin->cols, NONULL(C_PgpEntryFormat), +- crypt_format_str, (unsigned long) &entry, MUTT_FORMAT_ARROWCURSOR); ++ mutt_expando_format(buf, buflen, 0, menu->win_index->state.cols, ++ NONULL(C_PgpEntryFormat), crypt_format_str, ++ (unsigned long) &entry, MUTT_FORMAT_ARROWCURSOR); + } + + /** +@@ -4735,9 +4784,42 @@ static struct CryptKeyInfo *crypt_select_key(struct CryptKeyInfo *keys, + mutt_make_help(buf, sizeof(buf), _("Help"), menu_to_use, OP_HELP); + strcat(helpstr, buf); + ++ struct MuttWindow *dlg = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++#ifdef USE_DEBUG_WINDOW ++ dlg->name = "crypt-gpgme"; ++#endif ++ dlg->type = WT_DIALOG; ++ struct MuttWindow *index = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ index->type = WT_INDEX; ++ struct MuttWindow *ibar = mutt_window_new( ++ MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, 1, MUTT_WIN_SIZE_UNLIMITED); ++ ibar->type = WT_INDEX_BAR; ++ ++ if (C_StatusOnTop) ++ { ++ mutt_window_add_child(dlg, ibar); ++ mutt_window_add_child(dlg, index); ++ } ++ else ++ { ++ mutt_window_add_child(dlg, index); ++ mutt_window_add_child(dlg, ibar); ++ } ++ ++ dialog_push(dlg); ++ + struct Menu *menu = mutt_menu_new(menu_to_use); ++ ++ menu->pagelen = index->state.rows; ++ menu->win_index = index; ++ menu->win_ibar = ibar; ++ + menu->max = i; +- menu->menu_make_entry = crypt_make_entry; ++ menu->make_entry = crypt_make_entry; + menu->help = helpstr; + menu->data = key_table; + mutt_menu_push_current(menu); +@@ -4870,6 +4952,8 @@ static struct CryptKeyInfo *crypt_select_key(struct CryptKeyInfo *keys, + mutt_menu_pop_current(menu); + mutt_menu_free(&menu); + FREE(&key_table); ++ dialog_pop(); ++ mutt_window_free(&dlg); + + return k; + } +@@ -4979,7 +5063,7 @@ static struct CryptKeyInfo *crypt_getkeybyaddr(struct Address *a, + { + if (the_strong_valid_key) + k = crypt_copy_key(the_strong_valid_key); +- else if (a_valid_addrmatch_key) ++ else if (a_valid_addrmatch_key && !C_CryptOpportunisticEncryptStrongKeys) + k = crypt_copy_key(a_valid_addrmatch_key); + else + k = NULL; +diff --git a/ncrypt/crypt_gpgme.h b/ncrypt/crypt_gpgme.h +index 555b87ee0..1cc2126c2 100644 +--- a/ncrypt/crypt_gpgme.h ++++ b/ncrypt/crypt_gpgme.h +@@ -29,7 +29,6 @@ + + struct AddressList; + struct Body; +-struct Buffer; + struct Email; + struct Mailbox; + struct State; +@@ -40,13 +39,12 @@ int pgp_gpgme_application_handler(struct Body *m, struct State *s); + int pgp_gpgme_check_traditional(FILE *fp, struct Body *b, bool just_one); + int pgp_gpgme_decrypt_mime(FILE *fp_in, FILE **fp_out, struct Body *b, struct Body **cur); + int pgp_gpgme_encrypted_handler(struct Body *a, struct State *s); +-struct Body *pgp_gpgme_encrypt_message(struct Body *a, char *keylist, bool sign); ++struct Body *pgp_gpgme_encrypt_message(struct Body *a, char *keylist, bool sign, const struct AddressList *from); + char * pgp_gpgme_find_keys(struct AddressList *addrlist, bool oppenc_mode); +-void pgp_gpgme_init(void); + void pgp_gpgme_invoke_import(const char *fname); + struct Body *pgp_gpgme_make_key_attachment(void); + int pgp_gpgme_send_menu(struct Email *e); +-struct Body *pgp_gpgme_sign_message(struct Body *a); ++struct Body *pgp_gpgme_sign_message(struct Body *a, const struct AddressList *from); + int pgp_gpgme_verify_one(struct Body *sigbdy, struct State *s, const char *tempfile); + + int smime_gpgme_application_handler(struct Body *a, struct State *s); +@@ -55,11 +53,8 @@ int smime_gpgme_decrypt_mime(FILE *fp_in, FILE **fp_out, struct Body *b + char * smime_gpgme_find_keys(struct AddressList *addrlist, bool oppenc_mode); + void smime_gpgme_init(void); + int smime_gpgme_send_menu(struct Email *e); +-struct Body *smime_gpgme_sign_message(struct Body *a); ++struct Body *smime_gpgme_sign_message(struct Body *a, const struct AddressList *from); + int smime_gpgme_verify_one(struct Body *sigbdy, struct State *s, const char *tempfile); + int smime_gpgme_verify_sender(struct Mailbox *m, struct Email *e); + +-const char *mutt_gpgme_print_version(void); +-int mutt_gpgme_select_secret_key (struct Buffer *keyid); +- + #endif /* MUTT_NCRYPT_CRYPT_GPGME_H */ +diff --git a/ncrypt/crypt_mod.c b/ncrypt/crypt_mod.c +index ed4c1ca5f..bd11daa5f 100644 +--- a/ncrypt/crypt_mod.c ++++ b/ncrypt/crypt_mod.c +@@ -27,7 +27,7 @@ + */ + + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "crypt_mod.h" + + /** +diff --git a/ncrypt/crypt_mod.h b/ncrypt/crypt_mod.h +index 2e250d3ce..242c7e3fa 100644 +--- a/ncrypt/crypt_mod.h ++++ b/ncrypt/crypt_mod.h +@@ -26,7 +26,7 @@ + + #include + #include +-#include "ncrypt.h" ++#include "lib.h" + + struct Address; + struct AddressList; +@@ -48,11 +48,13 @@ struct CryptModuleSpecs + /** + * init - Initialise the crypto module + */ +- void (*init)(void); ++ void (*init)(void); ++ + /** + * void_passphrase - Forget the cached passphrase + */ +- void (*void_passphrase)(void); ++ void (*void_passphrase)(void); ++ + /** + * valid_passphrase - Ensure we have a valid passphrase + * @retval true Success +@@ -61,7 +63,8 @@ struct CryptModuleSpecs + * If the passphrase is within the expiry time (backend-specific), use it. + * If not prompt the user again. + */ +- bool (*valid_passphrase)(void); ++ bool (*valid_passphrase)(void); ++ + /** + * decrypt_mime - Decrypt an encrypted MIME part + * @param[in] fp_in File containing the encrypted part +@@ -71,7 +74,8 @@ struct CryptModuleSpecs + * @retval 0 Success + * @retval -1 Failure + */ +- int (*decrypt_mime)(FILE *fp_in, FILE **fp_out, struct Body *b, struct Body **cur); ++ int (*decrypt_mime)(FILE *fp_in, FILE **fp_out, struct Body *b, struct Body **cur); ++ + /** + * application_handler - Manage the MIME type "application/pgp" or "application/smime" + * @param m Body of the email +@@ -79,7 +83,8 @@ struct CryptModuleSpecs + * @retval 0 Success + * @retval -1 Error + */ +- int (*application_handler)(struct Body *m, struct State *s); ++ int (*application_handler)(struct Body *m, struct State *s); ++ + /** + * encrypted_handler - Manage a PGP or S/MIME encrypted MIME part + * @param m Body of the email +@@ -87,7 +92,8 @@ struct CryptModuleSpecs + * @retval 0 Success + * @retval -1 Error + */ +- int (*encrypted_handler)(struct Body *m, struct State *s); ++ int (*encrypted_handler)(struct Body *m, struct State *s); ++ + /** + * find_keys - Find the keyids of the recipients of a message + * @param addrlist Address List +@@ -98,14 +104,17 @@ struct CryptModuleSpecs + * If oppenc_mode is true, only keys that can be determined without prompting + * will be used. + */ +- char * (*find_keys)(struct AddressList *addrlist, bool oppenc_mode); ++ char *(*find_keys)(struct AddressList *addrlist, bool oppenc_mode); ++ + /** + * sign_message - Cryptographically sign the Body of a message + * @param a Body of the message ++ * @param from From line + * @retval ptr New encrypted Body + * @retval NULL Error + */ +- struct Body *(*sign_message)(struct Body *a); ++ struct Body *(*sign_message)(struct Body *a, const struct AddressList *from); ++ + /** + * verify_one - Check a signed MIME part against a signature + * @param sigbdy Body of the signed mail +@@ -114,36 +123,41 @@ struct CryptModuleSpecs + * @retval 0 Success + * @retval -1 Error + */ +- int (*verify_one)(struct Body *sigbdy, struct State *s, const char *tempf); ++ int (*verify_one)(struct Body *sigbdy, struct State *s, const char *tempf); ++ + /** + * send_menu - Ask the user whether to sign and/or encrypt the email + * @param e Email + * @retval num Flags, e.g. #APPLICATION_PGP | #SEC_ENCRYPT + */ +- int (*send_menu)(struct Email *e); ++ int (*send_menu)(struct Email *e); ++ + /** + * set_sender - Set the sender of the email + * @param sender Email address + */ +- void (*set_sender)(const char *sender); ++ void (*set_sender)(const char *sender); + + /** + * pgp_encrypt_message - PGP encrypt an email + * @param a Body of email to encrypt + * @param keylist List of keys, or fingerprints (space separated) + * @param sign If true, sign the message too ++ * @param from From line, to choose the key to sign + * @retval ptr Encrypted Body + * @retval NULL Error + * + * Encrypt the mail body to all the given keys. + */ +- struct Body *(*pgp_encrypt_message)(struct Body *a, char *keylist, bool sign); ++ struct Body *(*pgp_encrypt_message)(struct Body *a, char *keylist, bool sign, const struct AddressList *from); ++ + /** + * pgp_make_key_attachment - Generate a public key attachment + * @retval ptr New Body containing the attachment + * @retval NULL Error + */ + struct Body *(*pgp_make_key_attachment)(void); ++ + /** + * pgp_check_traditional - Look for inline (non-MIME) PGP content + * @param fp File pointer to the current attachment +@@ -152,7 +166,8 @@ struct CryptModuleSpecs + * @retval 1 It's an inline PGP email + * @retval 0 It's not inline, or an error + */ +- int (*pgp_check_traditional)(FILE *fp, struct Body *b, bool just_one); ++ int (*pgp_check_traditional)(FILE *fp, struct Body *b, bool just_one); ++ + /** + * pgp_traditional_encryptsign - Create an inline PGP encrypted, signed email + * @param a Body of the email +@@ -162,28 +177,32 @@ struct CryptModuleSpecs + * @retval NULL Error + */ + struct Body *(*pgp_traditional_encryptsign)(struct Body *a, SecurityFlags flags, char *keylist); ++ + /** + * pgp_invoke_getkeys - Run a command to download a PGP key + * @param addr Address to search for + */ +- void (*pgp_invoke_getkeys)(struct Address *addr); ++ void (*pgp_invoke_getkeys)(struct Address *addr); ++ + /** + * pgp_invoke_import - Import a key from a message into the user's public key ring + * @param fname File containing the message + */ +- void (*pgp_invoke_import)(const char *fname); ++ void (*pgp_invoke_import)(const char *fname); ++ + /** + * pgp_extract_key_from_attachment - Extract PGP key from an attachment + * @param fp File containing email + * @param top Body of the email + */ +- void (*pgp_extract_key_from_attachment)(FILE *fp, struct Body *top); ++ void (*pgp_extract_key_from_attachment)(FILE *fp, struct Body *top); + + /** + * smime_getkeys - Get the S/MIME keys required to encrypt this email + * @param env Envelope of the email + */ +- void (*smime_getkeys)(struct Envelope *env); ++ void (*smime_getkeys)(struct Envelope *env); ++ + /** + * smime_verify_sender - Does the sender match the certificate? + * @param m Mailbox +@@ -191,7 +210,8 @@ struct CryptModuleSpecs + * @retval 0 Success + * @retval 1 Failure + */ +- int (*smime_verify_sender)(struct Mailbox *m, struct Email *e); ++ int (*smime_verify_sender)(struct Mailbox *m, struct Email *e); ++ + /** + * smime_build_smime_entity - Encrypt the email body to all recipients + * @param a Body of email +@@ -200,12 +220,13 @@ struct CryptModuleSpecs + * @retval NULL Error + */ + struct Body *(*smime_build_smime_entity)(struct Body *a, char *certlist); ++ + /** + * smime_invoke_import - Add a certificate and update index file (externally) + * @param infile File containing certificate + * @param mailbox Mailbox + */ +- void (*smime_invoke_import)(const char *infile, const char *mailbox); ++ void (*smime_invoke_import)(const char *infile, const char *mailbox); + }; + + /* High Level crypto module interface */ +diff --git a/ncrypt/crypt_mod_pgp_classic.c b/ncrypt/crypt_mod_pgp_classic.c +index ffc300666..1803660dd 100644 +--- a/ncrypt/crypt_mod_pgp_classic.c ++++ b/ncrypt/crypt_mod_pgp_classic.c +@@ -28,8 +28,8 @@ + + #include "config.h" + #include ++#include "lib.h" + #include "crypt_mod.h" +-#include "ncrypt.h" + #include "pgpinvoke.h" + #include "pgpkey.h" + #ifdef CRYPT_BACKEND_CLASSIC_PGP +diff --git a/ncrypt/crypt_mod_pgp_gpgme.c b/ncrypt/crypt_mod_pgp_gpgme.c +index 308890a5f..079ae3a7e 100644 +--- a/ncrypt/crypt_mod_pgp_gpgme.c ++++ b/ncrypt/crypt_mod_pgp_gpgme.c +@@ -29,9 +29,9 @@ + #include "config.h" + #include + #include ++#include "lib.h" + #include "crypt_gpgme.h" + #include "crypt_mod.h" +-#include "ncrypt.h" + + /** + * pgp_gpgme_void_passphrase - Implements CryptModuleSpecs::void_passphrase() +diff --git a/ncrypt/crypt_mod_smime_classic.c b/ncrypt/crypt_mod_smime_classic.c +index 4665b3176..184541043 100644 +--- a/ncrypt/crypt_mod_smime_classic.c ++++ b/ncrypt/crypt_mod_smime_classic.c +@@ -28,8 +28,8 @@ + + #include "config.h" + #include ++#include "lib.h" + #include "crypt_mod.h" +-#include "ncrypt.h" + #ifdef CRYPT_BACKEND_CLASSIC_SMIME + #include "smime.h" + #endif +diff --git a/ncrypt/crypt_mod_smime_gpgme.c b/ncrypt/crypt_mod_smime_gpgme.c +index 89907e266..1c9aa8865 100644 +--- a/ncrypt/crypt_mod_smime_gpgme.c ++++ b/ncrypt/crypt_mod_smime_gpgme.c +@@ -29,9 +29,9 @@ + #include "config.h" + #include + #include ++#include "lib.h" + #include "crypt_gpgme.h" + #include "crypt_mod.h" +-#include "ncrypt.h" + + /** + * smime_gpgme_void_passphrase - Implements CryptModuleSpecs::void_passphrase() +diff --git a/ncrypt/cryptglue.c b/ncrypt/cryptglue.c +index a174c5986..7fd70e0d8 100644 +--- a/ncrypt/cryptglue.c ++++ b/ncrypt/cryptglue.c +@@ -38,19 +38,19 @@ + #include "config.h" + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "cryptglue.h" + #include "crypt_mod.h" +-#include "ncrypt.h" ++#include "ncrypt/lib.h" + #ifndef CRYPT_BACKEND_GPGME +-#include "curs_lib.h" ++#include "gui/lib.h" + #endif + #ifdef USE_AUTOCRYPT + #include "email/lib.h" +-#include "autocrypt/autocrypt.h" ++#include "crypt_gpgme.h" + #include "globals.h" +-#include "ncrypt/crypt_gpgme.h" + #include "options.h" ++#include "autocrypt/lib.h" + #else + struct Envelope; + #endif +@@ -318,10 +318,10 @@ char *crypt_pgp_find_keys(struct AddressList *addrlist, bool oppenc_mode) + /** + * crypt_pgp_sign_message - Wrapper for CryptModuleSpecs::sign_message() + */ +-struct Body *crypt_pgp_sign_message(struct Body *a) ++struct Body *crypt_pgp_sign_message(struct Body *a, const struct AddressList *from) + { + if (CRYPT_MOD_CALL_CHECK(PGP, sign_message)) +- return CRYPT_MOD_CALL(PGP, sign_message)(a); ++ return CRYPT_MOD_CALL(PGP, sign_message)(a, from); + + return NULL; + } +@@ -329,7 +329,8 @@ struct Body *crypt_pgp_sign_message(struct Body *a) + /** + * crypt_pgp_encrypt_message - Wrapper for CryptModuleSpecs::pgp_encrypt_message() + */ +-struct Body *crypt_pgp_encrypt_message(struct Email *e, struct Body *a, char *keylist, int sign) ++struct Body *crypt_pgp_encrypt_message(struct Email *e, struct Body *a, char *keylist, ++ int sign, const struct AddressList *from) + { + #ifdef USE_AUTOCRYPT + if (e->security & SEC_AUTOCRYPT) +@@ -338,7 +339,7 @@ struct Body *crypt_pgp_encrypt_message(struct Email *e, struct Body *a, char *ke + return NULL; + + OptAutocryptGpgme = true; +- struct Body *result = pgp_gpgme_encrypt_message(a, keylist, sign); ++ struct Body *result = pgp_gpgme_encrypt_message(a, keylist, sign, from); + OptAutocryptGpgme = false; + + return result; +@@ -346,7 +347,7 @@ struct Body *crypt_pgp_encrypt_message(struct Email *e, struct Body *a, char *ke + #endif + + if (CRYPT_MOD_CALL_CHECK(PGP, pgp_encrypt_message)) +- return CRYPT_MOD_CALL(PGP, pgp_encrypt_message)(a, keylist, sign); ++ return CRYPT_MOD_CALL(PGP, pgp_encrypt_message)(a, keylist, sign, from); + + return NULL; + } +@@ -478,10 +479,10 @@ char *crypt_smime_find_keys(struct AddressList *addrlist, bool oppenc_mode) + /** + * crypt_smime_sign_message - Wrapper for CryptModuleSpecs::sign_message() + */ +-struct Body *crypt_smime_sign_message(struct Body *a) ++struct Body *crypt_smime_sign_message(struct Body *a, const struct AddressList *from) + { + if (CRYPT_MOD_CALL_CHECK(SMIME, sign_message)) +- return CRYPT_MOD_CALL(SMIME, sign_message)(a); ++ return CRYPT_MOD_CALL(SMIME, sign_message)(a, from); + + return NULL; + } +diff --git a/ncrypt/cryptglue.h b/ncrypt/cryptglue.h +index 2238ec915..54181f3d9 100644 +--- a/ncrypt/cryptglue.h ++++ b/ncrypt/cryptglue.h +@@ -31,11 +31,11 @@ struct Body; + struct Email; + struct State; + +-struct Body *crypt_pgp_encrypt_message(struct Email *e, struct Body *a, char *keylist, int sign); ++struct Body *crypt_pgp_encrypt_message(struct Email *e, struct Body *a, char *keylist, int sign, const struct AddressList *from); + char * crypt_pgp_find_keys(struct AddressList *al, bool oppenc_mode); + void crypt_pgp_invoke_import(const char *fname); + void crypt_pgp_set_sender(const char *sender); +-struct Body *crypt_pgp_sign_message(struct Body *a); ++struct Body *crypt_pgp_sign_message(struct Body *a, const struct AddressList *from); + struct Body *crypt_pgp_traditional_encryptsign(struct Body *a, int flags, char *keylist); + bool crypt_pgp_valid_passphrase(void); + int crypt_pgp_verify_one(struct Body *sigbdy, struct State *s, const char *tempf); +@@ -45,7 +45,7 @@ struct Body *crypt_smime_build_smime_entity(struct Body *a, char *certlist); + char * crypt_smime_find_keys(struct AddressList *al, bool oppenc_mode); + void crypt_smime_invoke_import(const char *infile, const char *mailbox); + void crypt_smime_set_sender(const char *sender); +-struct Body *crypt_smime_sign_message(struct Body *a); ++struct Body *crypt_smime_sign_message(struct Body *a, const struct AddressList *from); + bool crypt_smime_valid_passphrase(void); + int crypt_smime_verify_one(struct Body *sigbdy, struct State *s, const char *tempf); + void crypt_smime_void_passphrase(void); +diff --git a/ncrypt/gnupgparse.c b/ncrypt/gnupgparse.c +index f9bc0921b..a9b633b2f 100644 +--- a/ncrypt/gnupgparse.c ++++ b/ncrypt/gnupgparse.c +@@ -41,12 +41,11 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "email/lib.h" + #include "gnupgparse.h" +-#include "filter.h" ++#include "lib.h" + #include "globals.h" +-#include "ncrypt.h" + #include "pgpinvoke.h" + #include "pgpkey.h" + #ifdef CRYPT_BACKEND_CLASSIC_PGP +@@ -465,7 +464,7 @@ struct PgpKeyInfo *pgp_get_candidates(enum PgpRing keyring, struct ListHead *hin + mutt_perror("fgets"); + + mutt_file_fclose(&fp); +- mutt_wait_filter(pid); ++ filter_wait(pid); + + close(fd_null); + +diff --git a/ncrypt/ncrypt.h b/ncrypt/lib.h +similarity index 97% +rename from ncrypt/ncrypt.h +rename to ncrypt/lib.h +index f24870897..645534566 100644 +--- a/ncrypt/ncrypt.h ++++ b/ncrypt/lib.h +@@ -47,8 +47,8 @@ + * | ncrypt/smime.c | @subpage crypt_smime | + */ + +-#ifndef MUTT_NCRYPT_NCRYPT_H +-#define MUTT_NCRYPT_NCRYPT_H ++#ifndef MUTT_NCRYPT_LIB_H ++#define MUTT_NCRYPT_LIB_H + + #include + #include +@@ -56,6 +56,7 @@ + + struct Address; + struct Body; ++struct Buffer; + struct Envelope; + struct Email; + struct EmailList; +@@ -224,4 +225,10 @@ int crypt_smime_verify_sender(struct Mailbox *m, struct Email *e); + /* crypt_mod.c */ + void crypto_module_free(void); + +-#endif /* MUTT_NCRYPT_NCRYPT_H */ ++/* crypt_gpgme.c */ ++void pgp_gpgme_init(void); ++int mutt_gpgme_select_secret_key (struct Buffer *keyid); ++const char *mutt_gpgme_print_version(void); ++ ++ ++#endif /* MUTT_NCRYPT_LIB_H */ +diff --git a/ncrypt/pgp.c b/ncrypt/pgp.c +index ed08b7fe3..ec2b8fdeb 100644 +--- a/ncrypt/pgp.c ++++ b/ncrypt/pgp.c +@@ -40,21 +40,20 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "config/lib.h" + #include "email/lib.h" ++#include "gui/lib.h" + #include "mutt.h" ++#include "lib.h" + #include "crypt.h" + #include "cryptglue.h" +-#include "curs_lib.h" +-#include "filter.h" + #include "globals.h" + #include "handler.h" + #include "hook.h" + #include "mutt_attach.h" + #include "muttlib.h" +-#include "ncrypt.h" + #include "options.h" + #include "pgpinvoke.h" + #include "pgpkey.h" +@@ -609,7 +608,7 @@ int pgp_class_application_handler(struct Body *m, struct State *s) + + mutt_file_fclose(&fp_pgp_in); + +- wait_filter_rc = mutt_wait_filter(pid); ++ wait_filter_rc = filter_wait(pid); + + fflush(fp_pgp_err); + /* If we are expecting an encrypted message, verify status fd output. +@@ -914,11 +913,11 @@ int pgp_class_verify_one(struct Body *sigbdy, struct State *s, const char *tempf + if (pgp_copy_checksig(fp_pgp_err, s->fp_out) >= 0) + badsig = 0; + +- const int rv = mutt_wait_filter(pid); ++ const int rv = filter_wait(pid); + if (rv) + badsig = -1; + +- mutt_debug(LL_DEBUG1, "mutt_wait_filter returned %d\n", rv); ++ mutt_debug(LL_DEBUG1, "filter_wait returned %d\n", rv); + } + + mutt_file_fclose(&fp_pgp_err); +@@ -1063,7 +1062,7 @@ static struct Body *pgp_decrypt_part(struct Body *a, struct State *s, + } + + mutt_file_fclose(&fp_pgp_out); +- rv = mutt_wait_filter(pid); ++ rv = filter_wait(pid); + mutt_file_unlink(mutt_b2s(pgptmpfile)); + + fflush(fp_pgp_err); +@@ -1214,8 +1213,10 @@ int pgp_class_encrypted_handler(struct Body *a, struct State *s) + { + mutt_perror(_("Can't create temporary file")); + if (s->flags & MUTT_DISPLAY) ++ { + state_attach_puts(s, + _("[-- Error: could not create temporary file --]\n")); ++ } + return -1; + } + +@@ -1291,7 +1292,7 @@ int pgp_class_encrypted_handler(struct Body *a, struct State *s) + /** + * pgp_class_sign_message - Implements CryptModuleSpecs::sign_message() + */ +-struct Body *pgp_class_sign_message(struct Body *a) ++struct Body *pgp_class_sign_message(struct Body *a, const struct AddressList *from) + { + struct Body *t = NULL, *rv = NULL; + char buf[1024]; +@@ -1363,7 +1364,7 @@ struct Body *pgp_class_sign_message(struct Body *a) + fputs(buf, stdout); + } + +- if (mutt_wait_filter(pid) && C_PgpCheckExit) ++ if (filter_wait(pid) && C_PgpCheckExit) + empty = true; + + mutt_file_fclose(&fp_pgp_err); +@@ -1543,7 +1544,8 @@ char *pgp_class_find_keys(struct AddressList *addrlist, bool oppenc_mode) + * @warning "a" is no longer freed in this routine, you need to free it later. + * This is necessary for $fcc_attach. + */ +-struct Body *pgp_class_encrypt_message(struct Body *a, char *keylist, bool sign) ++struct Body *pgp_class_encrypt_message(struct Body *a, char *keylist, bool sign, ++ const struct AddressList *from) + { + char buf[1024]; + FILE *fp_pgp_in = NULL, *fp_tmp = NULL; +@@ -1608,7 +1610,7 @@ struct Body *pgp_class_encrypt_message(struct Body *a, char *keylist, bool sign) + } + mutt_file_fclose(&fp_pgp_in); + +- if (mutt_wait_filter(pid) && C_PgpCheckExit) ++ if (filter_wait(pid) && C_PgpCheckExit) + empty = true; + + unlink(mutt_b2s(pgpinfile)); +@@ -1779,7 +1781,7 @@ struct Body *pgp_class_traditional_encryptsign(struct Body *a, SecurityFlags fla + fprintf(fp_pgp_in, "%s\n", PgpPass); + mutt_file_fclose(&fp_pgp_in); + +- if (mutt_wait_filter(pid) && C_PgpCheckExit) ++ if (filter_wait(pid) && C_PgpCheckExit) + empty = true; + + mutt_file_unlink(mutt_b2s(pgpinfile)); +diff --git a/ncrypt/pgp.h b/ncrypt/pgp.h +index 7e608b4a4..2d7e6457f 100644 +--- a/ncrypt/pgp.h ++++ b/ncrypt/pgp.h +@@ -28,7 +28,7 @@ + + #include + #include +-#include "ncrypt.h" ++#include "lib.h" + + struct AddressList; + struct Body; +@@ -58,8 +58,8 @@ bool pgp_class_valid_passphrase(void); + + int pgp_class_verify_one(struct Body *sigbdy, struct State *s, const char *tempfile); + struct Body *pgp_class_traditional_encryptsign(struct Body *a, SecurityFlags flags, char *keylist); +-struct Body *pgp_class_encrypt_message(struct Body *a, char *keylist, bool sign); +-struct Body *pgp_class_sign_message(struct Body *a); ++struct Body *pgp_class_encrypt_message(struct Body *a, char *keylist, bool sign, const struct AddressList *from); ++struct Body *pgp_class_sign_message(struct Body *a, const struct AddressList *from); + + int pgp_class_send_menu(struct Email *e); + +diff --git a/ncrypt/pgpinvoke.c b/ncrypt/pgpinvoke.c +index 1a087ab91..acb15caee 100644 +--- a/ncrypt/pgpinvoke.c ++++ b/ncrypt/pgpinvoke.c +@@ -34,16 +34,15 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" ++#include "gui/lib.h" + #include "pgpinvoke.h" +-#include "filter.h" ++#include "lib.h" + #include "format_flags.h" + #include "globals.h" +-#include "mutt_curses.h" + #include "mutt_logging.h" + #include "muttlib.h" +-#include "ncrypt.h" + #include "pgpkey.h" + #include "protos.h" + #ifdef CRYPT_BACKEND_CLASSIC_PGP +@@ -164,11 +163,15 @@ static const char *fmt_pgp_command(char *buf, size_t buflen, size_t col, int col + } + + if (optional) ++ { + mutt_expando_format(buf, buflen, col, cols, if_str, fmt_pgp_command, data, + MUTT_FORMAT_NO_FLAGS); ++ } + else if (flags & MUTT_FORMAT_OPTIONAL) ++ { + mutt_expando_format(buf, buflen, col, cols, else_str, fmt_pgp_command, data, + MUTT_FORMAT_NO_FLAGS); ++ } + + return src; + } +@@ -229,8 +232,8 @@ static pid_t pgp_invoke(FILE **fp_pgp_in, FILE **fp_pgp_out, FILE **fp_pgp_err, + + mutt_pgp_command(cmd, sizeof(cmd), &cctx, format); + +- return mutt_create_filter_fd(cmd, fp_pgp_in, fp_pgp_out, fp_pgp_err, +- fd_pgp_in, fd_pgp_out, fd_pgp_err); ++ return filter_create_fd(cmd, fp_pgp_in, fp_pgp_out, fp_pgp_err, fd_pgp_in, ++ fd_pgp_out, fd_pgp_err); + } + + /* +diff --git a/ncrypt/pgpinvoke.h b/ncrypt/pgpinvoke.h +index 242521517..5bfec0e3e 100644 +--- a/ncrypt/pgpinvoke.h ++++ b/ncrypt/pgpinvoke.h +@@ -26,7 +26,7 @@ + #include + #include + #include +-#include "ncrypt/ncrypt.h" ++#include "ncrypt/lib.h" + #include "pgpkey.h" + + struct Address; +diff --git a/ncrypt/pgpkey.c b/ncrypt/pgpkey.c +index ead557fb6..91bf137ef 100644 +--- a/ncrypt/pgpkey.c ++++ b/ncrypt/pgpkey.c +@@ -38,24 +38,22 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "config/lib.h" + #include "email/lib.h" ++#include "gui/lib.h" + #include "mutt.h" + #include "pgpkey.h" ++#include "lib.h" + #include "crypt.h" +-#include "curs_lib.h" +-#include "filter.h" + #include "format_flags.h" + #include "globals.h" + #include "gnupgparse.h" + #include "keymap.h" + #include "mutt_logging.h" + #include "mutt_menu.h" +-#include "mutt_window.h" + #include "muttlib.h" +-#include "ncrypt.h" + #include "opcodes.h" + #include "options.h" + #include "pager.h" +@@ -328,16 +326,20 @@ static const char *pgp_entry_fmt(char *buf, size_t buflen, size_t col, int cols, + } + + if (optional) ++ { + mutt_expando_format(buf, buflen, col, cols, if_str, attach_format_str, data, + MUTT_FORMAT_NO_FLAGS); ++ } + else if (flags & MUTT_FORMAT_OPTIONAL) ++ { + mutt_expando_format(buf, buflen, col, cols, else_str, attach_format_str, + data, MUTT_FORMAT_NO_FLAGS); ++ } + return src; + } + + /** +- * pgp_make_entry - Format a menu item for the pgp key list - Implements Menu::menu_make_entry() ++ * pgp_make_entry - Format a menu item for the pgp key list - Implements Menu::make_entry() + */ + static void pgp_make_entry(char *buf, size_t buflen, struct Menu *menu, int line) + { +@@ -347,8 +349,9 @@ static void pgp_make_entry(char *buf, size_t buflen, struct Menu *menu, int line + entry.uid = key_table[line]; + entry.num = line + 1; + +- mutt_expando_format(buf, buflen, 0, menu->indexwin->cols, NONULL(C_PgpEntryFormat), +- pgp_entry_fmt, (unsigned long) &entry, MUTT_FORMAT_ARROWCURSOR); ++ mutt_expando_format(buf, buflen, 0, menu->win_index->state.cols, ++ NONULL(C_PgpEntryFormat), pgp_entry_fmt, ++ (unsigned long) &entry, MUTT_FORMAT_ARROWCURSOR); + } + + /** +@@ -670,9 +673,42 @@ static struct PgpKeyInfo *pgp_select_key(struct PgpKeyInfo *keys, + mutt_make_help(buf, sizeof(buf), _("Help"), MENU_PGP, OP_HELP); + strcat(helpstr, buf); + ++ struct MuttWindow *dlg = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++#ifdef USE_DEBUG_WINDOW ++ dlg->name = "pgp"; ++#endif ++ dlg->type = WT_DIALOG; ++ struct MuttWindow *index = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ index->type = WT_INDEX; ++ struct MuttWindow *ibar = mutt_window_new( ++ MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, 1, MUTT_WIN_SIZE_UNLIMITED); ++ ibar->type = WT_INDEX_BAR; ++ ++ if (C_StatusOnTop) ++ { ++ mutt_window_add_child(dlg, ibar); ++ mutt_window_add_child(dlg, index); ++ } ++ else ++ { ++ mutt_window_add_child(dlg, index); ++ mutt_window_add_child(dlg, ibar); ++ } ++ ++ dialog_push(dlg); ++ + menu = mutt_menu_new(MENU_PGP); ++ ++ menu->pagelen = index->state.rows; ++ menu->win_index = index; ++ menu->win_ibar = ibar; ++ + menu->max = i; +- menu->menu_make_entry = pgp_make_entry; ++ menu->make_entry = pgp_make_entry; + menu->help = helpstr; + menu->data = key_table; + mutt_menu_push_current(menu); +@@ -726,7 +762,7 @@ static struct PgpKeyInfo *pgp_select_key(struct PgpKeyInfo *keys, + mutt_file_fclose(&fp_null); + } + +- mutt_wait_filter(pid); ++ filter_wait(pid); + mutt_file_fclose(&fp_tmp); + mutt_file_fclose(&fp_null); + mutt_clear_error(); +@@ -809,6 +845,8 @@ static struct PgpKeyInfo *pgp_select_key(struct PgpKeyInfo *keys, + mutt_menu_pop_current(menu); + mutt_menu_free(&menu); + FREE(&key_table); ++ dialog_pop(); ++ mutt_window_free(&dlg); + + return kp; + } +@@ -924,7 +962,7 @@ struct Body *pgp_class_make_key_attachment(void) + goto cleanup; + } + +- mutt_wait_filter(pid); ++ filter_wait(pid); + + mutt_file_fclose(&fp_tmp); + mutt_file_fclose(&fp_null); +@@ -1089,7 +1127,7 @@ struct PgpKeyInfo *pgp_getkeybyaddr(struct Address *a, KeyFlags abilities, + pgp_remove_key(&matches, the_strong_valid_key); + k = the_strong_valid_key; + } +- else if (a_valid_addrmatch_key) ++ else if (a_valid_addrmatch_key && !C_CryptOpportunisticEncryptStrongKeys) + { + pgp_remove_key(&matches, a_valid_addrmatch_key); + k = a_valid_addrmatch_key; +diff --git a/ncrypt/pgpkey.h b/ncrypt/pgpkey.h +index dd355b34f..086fd454c 100644 +--- a/ncrypt/pgpkey.h ++++ b/ncrypt/pgpkey.h +@@ -25,7 +25,7 @@ + #define MUTT_NCRYPT_PGPKEY_H + + #include +-#include "ncrypt.h" ++#include "lib.h" + + struct Address; + +diff --git a/ncrypt/pgplib.c b/ncrypt/pgplib.c +index a90f5b96c..515078e41 100644 +--- a/ncrypt/pgplib.c ++++ b/ncrypt/pgplib.c +@@ -28,7 +28,7 @@ + + #include "config.h" + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #ifdef CRYPT_BACKEND_CLASSIC_PGP + #include "pgplib.h" + #endif +diff --git a/ncrypt/pgplib.h b/ncrypt/pgplib.h +index d575e77ad..30b4929df 100644 +--- a/ncrypt/pgplib.h ++++ b/ncrypt/pgplib.h +@@ -26,7 +26,7 @@ + + #include + #include +-#include "ncrypt.h" ++#include "lib.h" + + /** + * struct PgpUid - PGP User ID +diff --git a/ncrypt/pgpmicalg.c b/ncrypt/pgpmicalg.c +index 9e8c12584..1093601b7 100644 +--- a/ncrypt/pgpmicalg.c ++++ b/ncrypt/pgpmicalg.c +@@ -31,7 +31,7 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "pgpmicalg.h" + #include "handler.h" + #include "pgppacket.h" +diff --git a/ncrypt/pgppacket.c b/ncrypt/pgppacket.c +index f7a410c75..c9d9eed48 100644 +--- a/ncrypt/pgppacket.c ++++ b/ncrypt/pgppacket.c +@@ -30,7 +30,7 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "pgppacket.h" + + #define CHUNK_SIZE 1024 ///< Amount of data to read at once +diff --git a/ncrypt/smime.c b/ncrypt/smime.c +index e30520958..dd0a56e3e 100644 +--- a/ncrypt/smime.c ++++ b/ncrypt/smime.c +@@ -36,31 +36,30 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "config/lib.h" + #include "email/lib.h" ++#include "core/lib.h" ++#include "gui/lib.h" + #include "mutt.h" + #include "alias.h" + #include "copy.h" + #include "crypt.h" + #include "cryptglue.h" +-#include "curs_lib.h" +-#include "filter.h" + #include "format_flags.h" + #include "globals.h" + #include "handler.h" + #include "keymap.h" +-#include "mutt_curses.h" + #include "mutt_logging.h" + #include "mutt_menu.h" + #include "muttlib.h" +-#include "ncrypt.h" + #include "opcodes.h" + #include "protos.h" + #include "send.h" + #include "sendlib.h" + #include "state.h" ++#include "ncrypt/lib.h" + #ifdef CRYPT_BACKEND_CLASSIC_SMIME + #include "smime.h" + #endif +@@ -339,11 +338,15 @@ static const char *fmt_smime_command(char *buf, size_t buflen, size_t col, int c + } + + if (optional) ++ { + mutt_expando_format(buf, buflen, col, cols, if_str, fmt_smime_command, data, + MUTT_FORMAT_NO_FLAGS); ++ } + else if (flags & MUTT_FORMAT_OPTIONAL) ++ { + mutt_expando_format(buf, buflen, col, cols, else_str, fmt_smime_command, + data, MUTT_FORMAT_NO_FLAGS); ++ } + + return src; + } +@@ -407,8 +410,8 @@ static pid_t smime_invoke(FILE **fp_smime_in, FILE **fp_smime_out, FILE **fp_smi + + smime_command(cmd, sizeof(cmd), &cctx, format); + +- return mutt_create_filter_fd(cmd, fp_smime_in, fp_smime_out, fp_smime_err, +- fp_smime_infd, fp_smime_outfd, fp_smime_errfd); ++ return filter_create_fd(cmd, fp_smime_in, fp_smime_out, fp_smime_err, ++ fp_smime_infd, fp_smime_outfd, fp_smime_errfd); + } + + /* +@@ -442,7 +445,7 @@ static char *smime_key_flags(KeyFlags flags) + } + + /** +- * smime_make_entry - Format a menu item for the smime key list - Implements Menu::menu_make_entry() ++ * smime_make_entry - Format a menu item for the smime key list - Implements Menu::make_entry() + */ + static void smime_make_entry(char *buf, size_t buflen, struct Menu *menu, int line) + { +@@ -553,10 +556,43 @@ static struct SmimeKey *smime_select_key(struct SmimeKey *keys, char *query) + mutt_make_help(buf, sizeof(buf), _("Help"), MENU_SMIME, OP_HELP); + strcat(helpstr, buf); + ++ struct MuttWindow *dlg = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++#ifdef USE_DEBUG_WINDOW ++ dlg->name = "smime"; ++#endif ++ dlg->type = WT_DIALOG; ++ struct MuttWindow *index = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ index->type = WT_INDEX; ++ struct MuttWindow *ibar = mutt_window_new( ++ MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, 1, MUTT_WIN_SIZE_UNLIMITED); ++ ibar->type = WT_INDEX_BAR; ++ ++ if (C_StatusOnTop) ++ { ++ mutt_window_add_child(dlg, ibar); ++ mutt_window_add_child(dlg, index); ++ } ++ else ++ { ++ mutt_window_add_child(dlg, index); ++ mutt_window_add_child(dlg, ibar); ++ } ++ ++ dialog_push(dlg); ++ + /* Create the menu */ + menu = mutt_menu_new(MENU_SMIME); ++ ++ menu->pagelen = index->state.rows; ++ menu->win_index = index; ++ menu->win_ibar = ibar; ++ + menu->max = table_index; +- menu->menu_make_entry = smime_make_entry; ++ menu->make_entry = smime_make_entry; + menu->help = helpstr; + menu->data = table; + menu->title = title; +@@ -611,6 +647,8 @@ static struct SmimeKey *smime_select_key(struct SmimeKey *keys, char *query) + mutt_menu_pop_current(menu); + mutt_menu_free(&menu); + FREE(&table); ++ dialog_pop(); ++ mutt_window_free(&dlg); + + return selected_key; + } +@@ -773,11 +811,11 @@ static struct SmimeKey *smime_get_key_by_hash(char *hash, bool only_public_key) + * @param mailbox Email address to match + * @param abilities Abilities to match, see #KeyFlags + * @param only_public_key If true, only get the public keys +- * @param may_ask If true, the user may be asked to select a key ++ * @param oppenc_mode If true, use opportunistic encryption + * @retval ptr Matching key + */ + static struct SmimeKey *smime_get_key_by_addr(char *mailbox, KeyFlags abilities, +- bool only_public_key, bool may_ask) ++ bool only_public_key, bool oppenc_mode) + { + if (!mailbox) + return NULL; +@@ -824,11 +862,11 @@ static struct SmimeKey *smime_get_key_by_addr(char *mailbox, KeyFlags abilities, + + if (matches) + { +- if (!may_ask) ++ if (oppenc_mode) + { + if (trusted_match) + return_key = smime_copy_key(trusted_match); +- else if (valid_match) ++ else if (valid_match && !C_CryptOpportunisticEncryptStrongKeys) + return_key = smime_copy_key(valid_match); + else + return_key = NULL; +@@ -936,7 +974,7 @@ static void getkeys(char *mailbox) + { + char *k = NULL; + +- struct SmimeKey *key = smime_get_key_by_addr(mailbox, KEYFLAG_CANENCRYPT, false, true); ++ struct SmimeKey *key = smime_get_key_by_addr(mailbox, KEYFLAG_CANENCRYPT, false, false); + + if (!key) + { +@@ -1042,7 +1080,7 @@ char *smime_class_find_keys(struct AddressList *al, bool oppenc_mode) + struct Address *a = NULL; + TAILQ_FOREACH(a, al, entries) + { +- key = smime_get_key_by_addr(a->mailbox, KEYFLAG_CANENCRYPT, true, !oppenc_mode); ++ key = smime_get_key_by_addr(a->mailbox, KEYFLAG_CANENCRYPT, true, oppenc_mode); + if (!key && !oppenc_mode) + { + char buf[1024]; +@@ -1111,7 +1149,7 @@ static int smime_handle_cert_email(char *certificate, char *mailbox, bool copy, + return 1; + } + +- mutt_wait_filter(pid); ++ filter_wait(pid); + + fflush(fp_out); + rewind(fp_out); +@@ -1210,7 +1248,7 @@ static char *smime_extract_certificate(const char *infile) + goto cleanup; + } + +- mutt_wait_filter(pid); ++ filter_wait(pid); + + fflush(fp_out); + rewind(fp_out); +@@ -1245,7 +1283,7 @@ static char *smime_extract_certificate(const char *infile) + goto cleanup; + } + +- mutt_wait_filter(pid); ++ filter_wait(pid); + + mutt_file_unlink(mutt_b2s(pk7out)); + +@@ -1320,7 +1358,7 @@ static char *smime_extract_signer_certificate(const char *infile) + goto cleanup; + } + +- mutt_wait_filter(pid); ++ filter_wait(pid); + + fflush(fp_out); + rewind(fp_out); +@@ -1376,7 +1414,7 @@ void smime_class_invoke_import(const char *infile, const char *mailbox) + buf[0] = '\0'; + if (C_SmimeAskCertLabel) + { +- if ((mutt_get_field(_("Label for certificate: "), buf, sizeof(buf), 0) != 0) || ++ if ((mutt_get_field(_("Label for certificate: "), buf, sizeof(buf), MUTT_COMP_NO_FLAGS) != 0) || + (buf[0] == '\0')) + { + mutt_file_fclose(&fp_out); +@@ -1403,7 +1441,7 @@ void smime_class_invoke_import(const char *infile, const char *mailbox) + fputc('\n', fp_smime_in); + mutt_file_fclose(&fp_smime_in); + +- mutt_wait_filter(pid); ++ filter_wait(pid); + + mutt_file_unlink(certfile); + FREE(&certfile); +@@ -1612,7 +1650,7 @@ struct Body *smime_class_build_smime_entity(struct Body *a, char *certlist) + + mutt_file_fclose(&fp_smime_in); + +- mutt_wait_filter(pid); ++ filter_wait(pid); + mutt_file_unlink(mutt_b2s(smime_infile)); + + fflush(fp_out); +@@ -1709,7 +1747,7 @@ static char *openssl_md_to_smime_micalg(char *md) + /** + * smime_class_sign_message - Implements CryptModuleSpecs::sign_message() + */ +-struct Body *smime_class_sign_message(struct Body *a) ++struct Body *smime_class_sign_message(struct Body *a, const struct AddressList *from) + { + struct Body *t = NULL; + struct Body *retval = NULL; +@@ -1782,7 +1820,7 @@ struct Body *smime_class_sign_message(struct Body *a) + fputc('\n', fp_smime_in); + mutt_file_fclose(&fp_smime_in); + +- mutt_wait_filter(pid); ++ filter_wait(pid); + + /* check for errors from OpenSSL */ + err = 0; +@@ -1977,7 +2015,7 @@ int smime_class_verify_one(struct Body *sigbdy, struct State *s, const char *tem + fflush(fp_smime_out); + mutt_file_fclose(&fp_smime_out); + +- if (mutt_wait_filter(pid)) ++ if (filter_wait(pid)) + badsig = -1; + else + { +@@ -2105,7 +2143,7 @@ static struct Body *smime_handle_entity(struct Body *m, struct State *s, FILE *f + + mutt_file_fclose(&fp_smime_in); + +- mutt_wait_filter(pid); ++ filter_wait(pid); + mutt_file_unlink(mutt_b2s(&tmpfname)); + + if (s->flags & MUTT_DISPLAY) +@@ -2446,6 +2484,8 @@ int smime_class_send_menu(struct Email *e) + e->security |= SEC_ENCRYPT; + do + { ++ struct Buffer errmsg = mutt_buffer_make(0); ++ int rc = CSR_SUCCESS; + switch (mutt_multi_choice(_("Choose algorithm family: (1) DES, (2) " + "RC2, (3) AES, or (c)lear?"), + // L10N: Options for: Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear? +@@ -2457,10 +2497,12 @@ int smime_class_send_menu(struct Email *e) + _("12"))) + { + case 1: +- mutt_str_replace(&C_SmimeEncryptWith, "des"); ++ rc = cs_subset_str_string_set(NeoMutt->sub, "smime_encrypt_with", ++ "des", &errmsg); + break; + case 2: +- mutt_str_replace(&C_SmimeEncryptWith, "des3"); ++ rc = cs_subset_str_string_set(NeoMutt->sub, "smime_encrypt_with", ++ "des3", &errmsg); + break; + } + break; +@@ -2472,13 +2514,16 @@ int smime_class_send_menu(struct Email *e) + _("123"))) + { + case 1: +- mutt_str_replace(&C_SmimeEncryptWith, "rc2-40"); ++ rc = cs_subset_str_string_set(NeoMutt->sub, "smime_encrypt_with", ++ "rc2-40", &errmsg); + break; + case 2: +- mutt_str_replace(&C_SmimeEncryptWith, "rc2-64"); ++ rc = cs_subset_str_string_set(NeoMutt->sub, "smime_encrypt_with", ++ "rc2-64", &errmsg); + break; + case 3: +- mutt_str_replace(&C_SmimeEncryptWith, "rc2-128"); ++ rc = cs_subset_str_string_set(NeoMutt->sub, "smime_encrypt_with", ++ "rc2-128", &errmsg); + break; + } + break; +@@ -2490,25 +2535,34 @@ int smime_class_send_menu(struct Email *e) + _("123"))) + { + case 1: +- mutt_str_replace(&C_SmimeEncryptWith, "aes128"); ++ rc = cs_subset_str_string_set(NeoMutt->sub, "smime_encrypt_with", ++ "aes128", &errmsg); + break; + case 2: +- mutt_str_replace(&C_SmimeEncryptWith, "aes192"); ++ rc = cs_subset_str_string_set(NeoMutt->sub, "smime_encrypt_with", ++ "aes192", &errmsg); + break; + case 3: +- mutt_str_replace(&C_SmimeEncryptWith, "aes256"); ++ rc = cs_subset_str_string_set(NeoMutt->sub, "smime_encrypt_with", ++ "aes256", &errmsg); + break; + } + break; + + case 4: +- FREE(&C_SmimeEncryptWith); ++ rc = cs_subset_str_string_set(NeoMutt->sub, "smime_encrypt_with", ++ NULL, &errmsg); + /* (c)lear */ + /* fallthrough */ + case -1: /* Ctrl-G or Enter */ + choice = 0; + break; + } ++ ++ if ((CSR_RESULT(rc) != CSR_SUCCESS) && !mutt_buffer_is_empty(&errmsg)) ++ mutt_error("%s", mutt_b2s(&errmsg)); ++ ++ mutt_buffer_dealloc(&errmsg); + } while (choice == -1); + break; + } +diff --git a/ncrypt/smime.h b/ncrypt/smime.h +index 6a238c9cc..e27319bb8 100644 +--- a/ncrypt/smime.h ++++ b/ncrypt/smime.h +@@ -27,9 +27,9 @@ + + #include "config.h" + #include +-#include "ncrypt.h" ++#include "lib.h" + #ifdef USE_SLANG_CURSES +-#include "mutt_curses.h" ++#include "gui/lib.h" + #else + #include + #endif +@@ -62,7 +62,7 @@ char * smime_class_find_keys(struct AddressList *addrlist, bool oppenc_mod + void smime_class_getkeys(struct Envelope *env); + void smime_class_invoke_import(const char *infile, const char *mailbox); + int smime_class_send_menu(struct Email *e); +-struct Body *smime_class_sign_message(struct Body *a); ++struct Body *smime_class_sign_message(struct Body *a, const struct AddressList *from); + bool smime_class_valid_passphrase(void); + int smime_class_verify_one(struct Body *sigbdy, struct State *s, const char *tempfile); + int smime_class_verify_sender(struct Mailbox *m, struct Email *e); +diff --git a/nntp/browse.c b/nntp/browse.c +index 3358aabd7..7a7826de8 100644 +--- a/nntp/browse.c ++++ b/nntp/browse.c +@@ -28,12 +28,12 @@ + + #include "config.h" + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "email/lib.h" ++#include "lib.h" + #include "browser.h" + #include "format_flags.h" + #include "muttlib.h" +-#include "nntp.h" + + /** + * group_index_format_str - Format a string for the newsgroup menu - Implements ::format_t +diff --git a/nntp/complete.c b/nntp/complete.c +index 321ec3db1..b00fb9507 100644 +--- a/nntp/complete.c ++++ b/nntp/complete.c +@@ -30,8 +30,8 @@ + #include + #include + #include +-#include "mutt/mutt.h" +-#include "nntp.h" ++#include "mutt/lib.h" ++#include "lib.h" + + /** + * nntp_complete - Auto-complete NNTP newsgroups +diff --git a/nntp/nntp.h b/nntp/lib.h +similarity index 97% +rename from nntp/nntp.h +rename to nntp/lib.h +index 11c9e2fcd..57319f957 100644 +--- a/nntp/nntp.h ++++ b/nntp/lib.h +@@ -35,8 +35,8 @@ + * | nntp/nntp.c | @subpage nntp_nntp | + */ + +-#ifndef MUTT_NNTP_NNTP_H +-#define MUTT_NNTP_NNTP_H ++#ifndef MUTT_NNTP_LIB_H ++#define MUTT_NNTP_LIB_H + + #include + #include +@@ -61,6 +61,8 @@ extern bool C_ShowNewNews; + /* These Config Variables are only used in nntp/newsrc.c */ + extern char *C_NewsCacheDir; + extern char *C_Newsrc; ++extern char *C_NntpPass; ++extern char *C_NntpUser; + + extern struct NntpAccountData *CurrentNewsSrv; ///< Current NNTP news server + extern struct MxOps MxNntpOps; +@@ -176,4 +178,4 @@ enum MailboxType nntp_path_probe(const char *path, const struct stat *st); + const char *group_index_format_str(char *buf, size_t buflen, size_t col, int cols, char op, const char *src, const char *prec, const char *if_str, const char *else_str, unsigned long data, MuttFormatFlags flags); + int nntp_complete(char *buf, size_t buflen); + +-#endif /* MUTT_NNTP_NNTP_H */ ++#endif /* MUTT_NNTP_LIB_H */ +diff --git a/nntp/newsrc.c b/nntp/newsrc.c +index 9cd6ba3c4..da554d54f 100644 +--- a/nntp/newsrc.c ++++ b/nntp/newsrc.c +@@ -39,12 +39,13 @@ + #include + #include + #include "nntp_private.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "config/lib.h" + #include "email/lib.h" + #include "core/lib.h" +-#include "conn/conn.h" ++#include "conn/lib.h" + #include "mutt.h" ++#include "lib.h" + #include "bcache.h" + #include "format_flags.h" + #include "globals.h" +@@ -52,16 +53,17 @@ + #include "mutt_logging.h" + #include "mutt_socket.h" + #include "muttlib.h" +-#include "nntp.h" + #include "protos.h" + #include "sort.h" + #ifdef USE_HCACHE +-#include "hcache/hcache.h" ++#include "hcache/lib.h" + #endif + + /* These Config Variables are only used in nntp/newsrc.c */ + char *C_NewsCacheDir; ///< Config: (nntp) Directory for cached news articles + char *C_Newsrc; ///< Config: (nntp) File containing list of subscribed newsgroups ++char *C_NntpPass; ///< Config: (nntp) Password for the news server ++char *C_NntpUser; ///< Config: (nntp) Username for the news server + + struct BodyCache; + +@@ -311,7 +313,7 @@ void nntp_newsrc_gen_entries(struct Mailbox *m) + { + save_sort = C_Sort; + C_Sort = SORT_ORDER; +- mailbox_changed(m, MBN_RESORT); ++ mailbox_changed(m, NT_MAILBOX_RESORT); + } + + entries = mdata->newsrc_len; +@@ -379,7 +381,7 @@ void nntp_newsrc_gen_entries(struct Mailbox *m) + if (save_sort != C_Sort) + { + C_Sort = save_sort; +- mailbox_changed(m, MBN_RESORT); ++ mailbox_changed(m, NT_MAILBOX_RESORT); + } + } + +@@ -516,20 +518,20 @@ int nntp_newsrc_update(struct NntpAccountData *adata) + * cache_expand - Make fully qualified cache file name + * @param dst Buffer for filename + * @param dstlen Length of buffer +- * @param acct Account ++ * @param cac Account + * @param src Path to add to the URL + */ +-static void cache_expand(char *dst, size_t dstlen, struct ConnAccount *acct, const char *src) ++static void cache_expand(char *dst, size_t dstlen, struct ConnAccount *cac, const char *src) + { + char *c = NULL; + char file[PATH_MAX]; + + /* server subdirectory */ +- if (acct) ++ if (cac) + { +- struct Url url; ++ struct Url url = { 0 }; + +- mutt_account_tourl(acct, &url); ++ mutt_account_tourl(cac, &url); + url.path = mutt_str_strdup(src); + url_tostring(&url, file, sizeof(file), U_PATH); + FREE(&url.path); +@@ -543,21 +545,26 @@ static void cache_expand(char *dst, size_t dstlen, struct ConnAccount *acct, con + c = dst + strlen(dst) - 1; + if (*c == '/') + *c = '\0'; +- mutt_expand_path(dst, dstlen); +- mutt_encode_path(dst, dstlen, dst); ++ ++ struct Buffer *tmp = mutt_buffer_pool_get(); ++ mutt_buffer_addstr(tmp, dst); ++ mutt_buffer_expand_path(tmp); ++ mutt_encode_path(tmp, dst); ++ mutt_str_strfcpy(dst, mutt_b2s(tmp), dstlen); ++ mutt_buffer_pool_release(&tmp); + } + + /** + * nntp_expand_path - Make fully qualified url from newsgroup name + * @param buf Buffer for the result + * @param buflen Length of buffer +- * @param acct Account to serialise ++ * @param cac Account to serialise + */ +-void nntp_expand_path(char *buf, size_t buflen, struct ConnAccount *acct) ++void nntp_expand_path(char *buf, size_t buflen, struct ConnAccount *cac) + { +- struct Url url; ++ struct Url url = { 0 }; + +- mutt_account_tourl(acct, &url); ++ mutt_account_tourl(cac, &url); + url.path = mutt_str_strdup(buf); + url_tostring(&url, buf, buflen, 0); + FREE(&url.path); +@@ -705,7 +712,7 @@ static void nntp_hcache_namer(const char *path, struct Buffer *dest) + */ + header_cache_t *nntp_hcache_open(struct NntpMboxData *mdata) + { +- struct Url url; ++ struct Url url = { 0 }; + char file[PATH_MAX]; + + if (!mdata->adata || !mdata->adata->cacheable || !mdata->adata->conn || +@@ -916,15 +923,15 @@ const char *nntp_format_str(char *buf, size_t buflen, size_t col, int cols, char + const char *else_str, unsigned long data, MuttFormatFlags flags) + { + struct NntpAccountData *adata = (struct NntpAccountData *) data; +- struct ConnAccount *acct = &adata->conn->account; ++ struct ConnAccount *cac = &adata->conn->account; + char fn[128], fmt[128]; + + switch (op) + { + case 'a': + { +- struct Url url; +- mutt_account_tourl(acct, &url); ++ struct Url url = { 0 }; ++ mutt_account_tourl(cac, &url); + url_tostring(&url, fn, sizeof(fn), U_PATH); + char *p = strchr(fn, '/'); + if (p) +@@ -935,26 +942,26 @@ const char *nntp_format_str(char *buf, size_t buflen, size_t col, int cols, char + } + case 'p': + snprintf(fmt, sizeof(fmt), "%%%su", prec); +- snprintf(buf, buflen, fmt, acct->port); ++ snprintf(buf, buflen, fmt, cac->port); + break; + case 'P': + *buf = '\0'; +- if (acct->flags & MUTT_ACCT_PORT) ++ if (cac->flags & MUTT_ACCT_PORT) + { + snprintf(fmt, sizeof(fmt), "%%%su", prec); +- snprintf(buf, buflen, fmt, acct->port); ++ snprintf(buf, buflen, fmt, cac->port); + } + break; + case 's': +- mutt_str_strfcpy(fn, acct->host, sizeof(fn)); ++ mutt_str_strfcpy(fn, cac->host, sizeof(fn)); + mutt_str_strlower(fn); + snprintf(fmt, sizeof(fmt), "%%%ss", prec); + snprintf(buf, buflen, fmt, fn); + break; + case 'S': + { +- struct Url url; +- mutt_account_tourl(acct, &url); ++ struct Url url = { 0 }; ++ mutt_account_tourl(cac, &url); + url_tostring(&url, fn, sizeof(fn), U_PATH); + char *p = strchr(fn, ':'); + if (p) +@@ -965,16 +972,35 @@ const char *nntp_format_str(char *buf, size_t buflen, size_t col, int cols, char + } + case 'u': + snprintf(fmt, sizeof(fmt), "%%%ss", prec); +- snprintf(buf, buflen, fmt, acct->user); ++ snprintf(buf, buflen, fmt, cac->user); + break; + } + return src; + } + ++/** ++ * nntp_get_field - Get connection login credentials - Implements ConnAccount::get_field() ++ */ ++static const char *nntp_get_field(enum ConnAccountField field) ++{ ++ switch (field) ++ { ++ case MUTT_CA_LOGIN: ++ case MUTT_CA_USER: ++ return C_NntpUser; ++ case MUTT_CA_PASS: ++ return C_NntpPass; ++ case MUTT_CA_OAUTH_CMD: ++ case MUTT_CA_HOST: ++ default: ++ return NULL; ++ } ++} ++ + /** + * nntp_select_server - Open a connection to an NNTP server + * @param m Mailbox +- * @param server Server URI ++ * @param server Server URL + * @param leave_lock Leave the server locked? + * @retval ptr NNTP server + * @retval NULL Error +@@ -988,7 +1014,7 @@ struct NntpAccountData *nntp_select_server(struct Mailbox *m, char *server, bool + { + char file[PATH_MAX]; + int rc; +- struct ConnAccount acct = { { 0 } }; ++ struct ConnAccount cac = { { 0 } }; + struct NntpAccountData *adata = NULL; + struct Connection *conn = NULL; + +@@ -999,14 +1025,17 @@ struct NntpAccountData *nntp_select_server(struct Mailbox *m, char *server, bool + } + + /* create account from news server url */ +- acct.flags = 0; +- acct.port = NNTP_PORT; +- acct.type = MUTT_ACCT_TYPE_NNTP; ++ cac.flags = 0; ++ cac.port = NNTP_PORT; ++ cac.type = MUTT_ACCT_TYPE_NNTP; ++ cac.service = "nntp"; ++ cac.get_field = nntp_get_field; ++ + snprintf(file, sizeof(file), "%s%s", strstr(server, "://") ? "" : "news://", server); + struct Url *url = url_parse(file); + if (!url || (url->path && *url->path) || + !((url->scheme == U_NNTP) || (url->scheme == U_NNTPS)) || !url->host || +- (mutt_account_fromurl(&acct, url) < 0)) ++ (mutt_account_fromurl(&cac, url) < 0)) + { + url_free(&url); + mutt_error(_("%s is an invalid news server specification"), server); +@@ -1014,16 +1043,16 @@ struct NntpAccountData *nntp_select_server(struct Mailbox *m, char *server, bool + } + if (url->scheme == U_NNTPS) + { +- acct.flags |= MUTT_ACCT_SSL; +- acct.port = NNTP_SSL_PORT; ++ cac.flags |= MUTT_ACCT_SSL; ++ cac.port = NNTP_SSL_PORT; + } + url_free(&url); + + /* find connection by account */ +- conn = mutt_conn_find(NULL, &acct); ++ conn = mutt_conn_find(&cac); + if (!conn) + return NULL; +- if (!(conn->account.flags & MUTT_ACCT_USER) && acct.flags & MUTT_ACCT_USER) ++ if (!(conn->account.flags & MUTT_ACCT_USER) && cac.flags & MUTT_ACCT_USER) + { + conn->account.flags |= MUTT_ACCT_USER; + conn->account.user[0] = '\0'; +diff --git a/nntp/nntp.c b/nntp/nntp.c +index 0bdd66116..d05fa6a1e 100644 +--- a/nntp/nntp.c ++++ b/nntp/nntp.c +@@ -33,30 +33,33 @@ + #include + #include + #include ++#include ++#include + #include + #include ++#include + #include + #include "nntp_private.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "config/lib.h" + #include "email/lib.h" + #include "core/lib.h" +-#include "conn/conn.h" +-#include "nntp.h" ++#include "conn/lib.h" ++#include "gui/lib.h" ++#include "lib.h" + #include "bcache.h" +-#include "curs_lib.h" + #include "globals.h" +-#include "hcache/hcache.h" + #include "hook.h" +-#include "mutt_account.h" ++#include "init.h" + #include "mutt_logging.h" + #include "mutt_parse.h" + #include "mutt_socket.h" + #include "muttlib.h" + #include "mx.h" +-#include "ncrypt/ncrypt.h" + #include "progress.h" + #include "sort.h" ++#include "hcache/lib.h" ++#include "ncrypt/lib.h" + #ifdef USE_HCACHE + #include "protos.h" + #endif +@@ -68,6 +71,8 @@ + #include "mutt.h" + #endif + ++struct stat; ++ + /* These Config Variables are only used in nntp/nntp.c */ + char *C_NntpAuthenticators; ///< Config: (nntp) Allowed authentication methods + short C_NntpContext; ///< Config: (nntp) Maximum number of articles to list (0 for all articles) +@@ -147,6 +152,7 @@ static void nntp_hashelem_free(int type, void *obj, intptr_t data) + + /** + * nntp_adata_new - Allocate and initialise a new NntpAccountData structure ++ * @param conn Network connection + * @retval ptr New NntpAccountData + */ + struct NntpAccountData *nntp_adata_new(struct Connection *conn) +@@ -216,6 +222,7 @@ static struct NntpEmailData *nntp_edata_new(void) + + /** + * nntp_edata_get - Get the private data for this Email ++ * @param e Email + * @retval ptr Private Email data + */ + struct NntpEmailData *nntp_edata_get(struct Email *e) +@@ -1699,7 +1706,7 @@ static int check_mailbox(struct Mailbox *m) + + /* some headers were removed, context must be updated */ + if (rc == MUTT_REOPENED) +- mailbox_changed(m, MBN_INVALID); ++ mailbox_changed(m, NT_MAILBOX_INVALID); + + /* fetch headers of new articles */ + if (mdata->last_message > mdata->last_loaded) +@@ -1720,7 +1727,7 @@ static int check_mailbox(struct Mailbox *m) + if (rc2 == 0) + { + if (m->msg_count > old_msg_count) +- mailbox_changed(m, MBN_INVALID); ++ mailbox_changed(m, NT_MAILBOX_INVALID); + mdata->last_loaded = mdata->last_message; + } + if ((rc == 0) && (m->msg_count > oldmsgcount)) +@@ -2282,7 +2289,7 @@ int nntp_check_msgid(struct Mailbox *m, const char *msgid) + e->changed = true; + e->received = e->date_sent; + e->index = m->msg_count++; +- mailbox_changed(m, MBN_INVALID); ++ mailbox_changed(m, NT_MAILBOX_INVALID); + return 0; + } + +@@ -2350,7 +2357,7 @@ int nntp_check_children(struct Mailbox *m, const char *msgid) + break; + } + if (m->msg_count > old_msg_count) +- mailbox_changed(m, MBN_INVALID); ++ mailbox_changed(m, NT_MAILBOX_INVALID); + + #ifdef USE_HCACHE + mutt_hcache_close(hc); +@@ -2384,18 +2391,18 @@ static struct Account *nntp_ac_find(struct Account *a, const char *path) + if (!a || (a->type != MUTT_NNTP) || !path) + return NULL; + +- struct Url url; ++ struct Url url = { 0 }; + char tmp[PATH_MAX]; + mutt_str_strfcpy(tmp, path, sizeof(tmp)); + url_parse(&url, tmp); + + struct ImapAccountData *adata = a->data; +- struct ConnAccount *ac = &adata->conn_account; ++ struct ConnAccount *cac = &adata->conn_account; + +- if (mutt_str_strcasecmp(url.host, ac->host) != 0) ++ if (mutt_str_strcasecmp(url.host, cac->host) != 0) + return NULL; + +- if (mutt_str_strcasecmp(url.user, ac->user) != 0) ++ if (mutt_str_strcasecmp(url.user, cac->user) != 0) + return NULL; + + // if (mutt_str_strcmp(path, a->mailbox->realpath) == 0) +@@ -2881,11 +2888,13 @@ static int nntp_path_parent(char *buf, size_t buflen) + struct MxOps MxNntpOps = { + .magic = MUTT_NNTP, + .name = "nntp", ++ .is_local = false, + .ac_find = nntp_ac_find, + .ac_add = nntp_ac_add, + .mbox_open = nntp_mbox_open, + .mbox_open_append = NULL, + .mbox_check = nntp_mbox_check, ++ .mbox_check_stats = NULL, + .mbox_sync = nntp_mbox_sync, + .mbox_close = nntp_mbox_close, + .msg_open = nntp_msg_open, +diff --git a/nntp/nntp_private.h b/nntp/nntp_private.h +index 90a8f2877..d53e0677f 100644 +--- a/nntp/nntp_private.h ++++ b/nntp/nntp_private.h +@@ -25,8 +25,8 @@ + + #include "config.h" + #include +-#include "nntp.h" +-#include "hcache/hcache.h" ++#include "hcache/lib.h" ++#include "lib.h" + + struct Connection; + struct Email; +diff --git a/notmuch/mutt_notmuch.h b/notmuch/lib.h +similarity index 92% +rename from notmuch/mutt_notmuch.h +rename to notmuch/lib.h +index 4041245be..c7309ff4c 100644 +--- a/notmuch/mutt_notmuch.h ++++ b/notmuch/lib.h +@@ -31,8 +31,8 @@ + * | notmuch/nm_db.c | @subpage nm_db | + */ + +-#ifndef MUTT_NOTMUCH_MUTT_NOTMUCH_H +-#define MUTT_NOTMUCH_MUTT_NOTMUCH_H ++#ifndef MUTT_NOTMUCH_LIB_H ++#define MUTT_NOTMUCH_LIB_H + + #include + #include +@@ -45,7 +45,7 @@ struct stat; + + /* These Config Variables are only used in notmuch/mutt_notmuch.c */ + extern int C_NmDbLimit; +-extern char *C_NmDefaultUri; ++extern char *C_NmDefaultUrl; + extern char *C_NmExcludeTags; + extern int C_NmOpenTimeout; + extern char *C_NmQueryType; +@@ -71,6 +71,6 @@ void nm_query_window_forward (void); + int nm_read_entire_thread (struct Mailbox *m, struct Email *e); + int nm_record_message (struct Mailbox *m, char *path, struct Email *e); + int nm_update_filename (struct Mailbox *m, const char *old_file, const char *new_file, struct Email *e); +-char *nm_uri_from_query (struct Mailbox *m, char *buf, size_t buflen); ++char *nm_url_from_query (struct Mailbox *m, char *buf, size_t buflen); + +-#endif /* MUTT_NOTMUCH_MUTT_NOTMUCH_H */ ++#endif /* MUTT_NOTMUCH_LIB_H */ +diff --git a/notmuch/mutt_notmuch.c b/notmuch/mutt_notmuch.c +index 2c98d07c4..eb37d3e9e 100644 +--- a/notmuch/mutt_notmuch.c ++++ b/notmuch/mutt_notmuch.c +@@ -31,8 +31,8 @@ + * - all functions have to be covered by "mailbox->magic == MUTT_NOTMUCH" check + * (it's implemented in nm_mdata_get() and init_mailbox() functions). + * +- * - exception are nm_nonctx_* functions -- these functions use nm_default_uri +- * (or parse URI from another resource) ++ * - exception are nm_nonctx_* functions -- these functions use nm_default_url ++ * (or parse URL from another resource) + */ + + /** +@@ -52,28 +52,30 @@ + #include + #include + #include "notmuch_private.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "config/lib.h" + #include "email/lib.h" + #include "core/lib.h" ++#include "gui/lib.h" + #include "mutt.h" +-#include "mutt_notmuch.h" +-#include "curs_lib.h" ++#include "lib.h" + #include "globals.h" +-#include "hcache/hcache.h" + #include "index.h" +-#include "maildir/lib.h" + #include "mutt_thread.h" + #include "mx.h" + #include "progress.h" + #include "protos.h" ++#include "hcache/lib.h" ++#include "maildir/lib.h" + +-const char NmUriProtocol[] = "notmuch://"; +-const int NmUriProtocolLen = sizeof(NmUriProtocol) - 1; ++struct stat; ++ ++const char NmUrlProtocol[] = "notmuch://"; ++const int NmUrlProtocolLen = sizeof(NmUrlProtocol) - 1; + + /* These Config Variables are only used in notmuch/mutt_notmuch.c */ + int C_NmDbLimit; ///< Config: (notmuch) Default limit for Notmuch queries +-char *C_NmDefaultUri; ///< Config: (notmuch) Path to the Notmuch database ++char *C_NmDefaultUrl; ///< Config: (notmuch) Path to the Notmuch database + char *C_NmExcludeTags; ///< Config: (notmuch) Exclude messages with these tags + int C_NmOpenTimeout; ///< Config: (notmuch) Database timeout + char *C_NmQueryType; ///< Config: (notmuch) Default query type: 'threads' or 'messages' +@@ -197,15 +199,15 @@ void nm_mdata_free(void **ptr) + + /** + * nm_mdata_new - Create a new NmMboxData object from a query +- * @param uri Notmuch query string ++ * @param url Notmuch query string + * @retval ptr New NmMboxData struct + * + * A new NmMboxData struct is created, then the query is parsed and saved + * within it. This should be freed using nm_mdata_free(). + */ +-struct NmMboxData *nm_mdata_new(const char *uri) ++struct NmMboxData *nm_mdata_new(const char *url) + { +- if (!uri) ++ if (!url) + return NULL; + + struct NmMboxData *mdata = mutt_mem_calloc(1, sizeof(struct NmMboxData)); +@@ -213,10 +215,10 @@ struct NmMboxData *nm_mdata_new(const char *uri) + + mdata->db_limit = C_NmDbLimit; + mdata->query_type = string_to_query_type(C_NmQueryType); +- mdata->db_url = url_parse(uri); ++ mdata->db_url = url_parse(url); + if (!mdata->db_url) + { +- mutt_error(_("failed to parse notmuch uri: %s"), uri); ++ mutt_error(_("failed to parse notmuch url: %s"), url); + FREE(&mdata); + return NULL; + } +@@ -273,19 +275,19 @@ struct NmEmailData *nm_edata_new(void) + */ + static struct NmMboxData *nm_get_default_data(void) + { +- // path to DB + query + URI "decoration" +- char uri[PATH_MAX + 1024 + 32]; ++ // path to DB + query + url "decoration" ++ char url[PATH_MAX + 1024 + 32]; + +- // Try to use C_NmDefaultUri or C_Folder. +- // If neither are set, it is impossible to create a Notmuch URI. +- if (C_NmDefaultUri) +- snprintf(uri, sizeof(uri), "%s", C_NmDefaultUri); ++ // Try to use C_NmDefaultUrl or C_Folder. ++ // If neither are set, it is impossible to create a Notmuch URL. ++ if (C_NmDefaultUrl) ++ snprintf(url, sizeof(url), "%s", C_NmDefaultUrl); + else if (C_Folder) +- snprintf(uri, sizeof(uri), "notmuch://%s", C_Folder); ++ snprintf(url, sizeof(url), "notmuch://%s", C_Folder); + else + return NULL; + +- return nm_mdata_new(uri); ++ return nm_mdata_new(url); + } + + /** +@@ -385,7 +387,7 @@ static bool query_window_check_timebase(const char *timebase) + static void query_window_reset(void) + { + mutt_debug(LL_DEBUG2, "entering\n"); +- cs_str_native_set(Config, "nm_query_window_current_position", 0, NULL); ++ cs_subset_str_native_set(NeoMutt->sub, "nm_query_window_current_position", 0, NULL); + } + + /** +@@ -1694,7 +1696,7 @@ int nm_read_entire_thread(struct Mailbox *m, struct Email *e) + rc = 0; + + if (m->msg_count > mdata->oldmsgcount) +- mailbox_changed(m, MBN_INVALID); ++ mailbox_changed(m, NT_MAILBOX_INVALID); + done: + if (q) + notmuch_query_destroy(q); +@@ -1713,7 +1715,7 @@ int nm_read_entire_thread(struct Mailbox *m, struct Email *e) + /** + * nm_parse_type_from_query - Parse a query type out of a query + * @param mdata Mailbox, used for the query_type +- * @param buf Buffer for URI ++ * @param buf Buffer for URL + * + * If a user writes a query for a vfolder and includes a type= statement, that + * type= will be encoded, which Notmuch will treat as part of the query= +@@ -1741,18 +1743,18 @@ void nm_parse_type_from_query(struct NmMboxData *mdata, char *buf) + } + + /** +- * nm_uri_from_query - Turn a query into a URI ++ * nm_url_from_query - Turn a query into a URL + * @param m Mailbox +- * @param buf Buffer for URI ++ * @param buf Buffer for URL + * @param buflen Length of buffer +- * @retval ptr Query as a URI ++ * @retval ptr Query as a URL + * @retval NULL Error + */ +-char *nm_uri_from_query(struct Mailbox *m, char *buf, size_t buflen) ++char *nm_url_from_query(struct Mailbox *m, char *buf, size_t buflen) + { + mutt_debug(LL_DEBUG2, "(%s)\n", buf); + struct NmMboxData *mdata = nm_mdata_get(m); +- char uri[PATH_MAX + 1024 + 32]; /* path to DB + query + URI "decoration" */ ++ char url[PATH_MAX + 1024 + 32]; /* path to DB + query + URL "decoration" */ + int added; + bool using_default_data = false; + +@@ -1772,31 +1774,31 @@ char *nm_uri_from_query(struct Mailbox *m, char *buf, size_t buflen) + + if (get_limit(mdata) == C_NmDbLimit) + { +- added = snprintf(uri, sizeof(uri), "%s%s?type=%s&query=", NmUriProtocol, ++ added = snprintf(url, sizeof(url), "%s%s?type=%s&query=", NmUrlProtocol, + nm_db_get_filename(m), query_type_to_string(mdata->query_type)); + } + else + { +- added = snprintf(uri, sizeof(uri), "%s%s?type=%s&limit=%d&query=", NmUriProtocol, ++ added = snprintf(url, sizeof(url), "%s%s?type=%s&limit=%d&query=", NmUrlProtocol, + nm_db_get_filename(m), + query_type_to_string(mdata->query_type), get_limit(mdata)); + } + +- if (added >= sizeof(uri)) ++ if (added >= sizeof(url)) + { +- // snprintf output was truncated, so can't create URI ++ // snprintf output was truncated, so can't create URL + return NULL; + } + +- url_pct_encode(&uri[added], sizeof(uri) - added, buf); ++ url_pct_encode(&url[added], sizeof(url) - added, buf); + +- mutt_str_strfcpy(buf, uri, buflen); ++ mutt_str_strfcpy(buf, url, buflen); + buf[buflen - 1] = '\0'; + + if (using_default_data) + nm_mdata_free((void **) &mdata); + +- mutt_debug(LL_DEBUG1, "nm: uri from query '%s'\n", buf); ++ mutt_debug(LL_DEBUG1, "nm: url from query '%s'\n", buf); + return buf; + } + +@@ -1936,7 +1938,7 @@ static int nm_mbox_check_stats(struct Mailbox *m, int flags) + url = url_parse(mailbox_path(m)); + if (!url) + { +- mutt_error(_("failed to parse notmuch uri: %s"), mailbox_path(m)); ++ mutt_error(_("failed to parse notmuch url: %s"), mailbox_path(m)); + goto done; + } + +@@ -1961,12 +1963,12 @@ static int nm_mbox_check_stats(struct Mailbox *m, int flags) + db_filename = url->path; + if (!db_filename) + { +- if (C_NmDefaultUri) ++ if (C_NmDefaultUrl) + { +- if (nm_path_probe(C_NmDefaultUri, NULL) == MUTT_NOTMUCH) +- db_filename = C_NmDefaultUri + NmUriProtocolLen; ++ if (nm_path_probe(C_NmDefaultUrl, NULL) == MUTT_NOTMUCH) ++ db_filename = C_NmDefaultUrl + NmUrlProtocolLen; + else +- db_filename = C_NmDefaultUri; ++ db_filename = C_NmDefaultUrl; + } + else if (C_Folder) + db_filename = C_Folder; +@@ -2320,7 +2322,7 @@ static int nm_mbox_check(struct Mailbox *m, int *index_hint) + } + + if (m->msg_count > mdata->oldmsgcount) +- mailbox_changed(m, MBN_INVALID); ++ mailbox_changed(m, NT_MAILBOX_INVALID); + done: + if (q) + notmuch_query_destroy(q); +@@ -2352,7 +2354,7 @@ static int nm_mbox_sync(struct Mailbox *m, int *index_hint) + + int rc = 0; + struct Progress progress; +- char *uri = mutt_str_strdup(mailbox_path(m)); ++ char *url = mutt_str_strdup(mailbox_path(m)); + bool changed = false; + + mutt_debug(LL_DEBUG1, "nm: sync start\n"); +@@ -2394,7 +2396,7 @@ static int nm_mbox_sync(struct Mailbox *m, int *index_hint) + mutt_buffer_strcpy(&m->pathbuf, edata->folder); + m->magic = edata->magic; + rc = mh_sync_mailbox_message(m, i, h); +- mutt_buffer_strcpy(&m->pathbuf, uri); ++ mutt_buffer_strcpy(&m->pathbuf, url); + m->magic = MUTT_NOTMUCH; + + if (rc) +@@ -2414,7 +2416,7 @@ static int nm_mbox_sync(struct Mailbox *m, int *index_hint) + FREE(&edata->oldpath); + } + +- mutt_buffer_strcpy(&m->pathbuf, uri); ++ mutt_buffer_strcpy(&m->pathbuf, url); + m->magic = MUTT_NOTMUCH; + + nm_db_release(m); +@@ -2427,7 +2429,7 @@ static int nm_mbox_sync(struct Mailbox *m, int *index_hint) + + nm_hcache_close(h); + +- FREE(&uri); ++ FREE(&url); + mutt_debug(LL_DEBUG1, "nm: .... sync done [rc=%d]\n", rc); + return rc; + } +@@ -2548,7 +2550,7 @@ static int nm_tags_commit(struct Mailbox *m, struct Email *e, char *buf) + */ + enum MailboxType nm_path_probe(const char *path, const struct stat *st) + { +- if (!path || !mutt_str_startswith(path, NmUriProtocol, CASE_IGNORE)) ++ if (!path || !mutt_str_startswith(path, NmUrlProtocol, CASE_IGNORE)) + return MUTT_UNKNOWN; + + return MUTT_NOTMUCH; +@@ -2590,6 +2592,7 @@ static int nm_path_parent(char *buf, size_t buflen) + struct MxOps MxNotmuchOps = { + .magic = MUTT_NOTMUCH, + .name = "notmuch", ++ .is_local = false, + .ac_find = nm_ac_find, + .ac_add = nm_ac_add, + .mbox_open = nm_mbox_open, +diff --git a/notmuch/nm_db.c b/notmuch/nm_db.c +index 27a2ef52f..966827923 100644 +--- a/notmuch/nm_db.c ++++ b/notmuch/nm_db.c +@@ -34,19 +34,19 @@ + #include + #include + #include "notmuch_private.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "email/lib.h" + #include "core/lib.h" ++#include "lib.h" + #include "globals.h" + #include "mutt_logging.h" +-#include "mutt_notmuch.h" + + /** + * nm_db_get_filename - Get the filename of the Notmuch database + * @param m Mailbox + * @retval ptr Filename + * +- * @note The return value is a pointer into the #C_NmDefaultUri global variable. ++ * @note The return value is a pointer into the #C_NmDefaultUrl global variable. + * If that variable changes, the result will be invalid. + * It must not be freed. + */ +@@ -58,7 +58,7 @@ const char *nm_db_get_filename(struct Mailbox *m) + if (mdata && mdata->db_url && mdata->db_url->path) + db_filename = mdata->db_url->path; + else +- db_filename = C_NmDefaultUri; ++ db_filename = C_NmDefaultUrl; + + if (!db_filename && !C_Folder) + return NULL; +@@ -67,7 +67,7 @@ const char *nm_db_get_filename(struct Mailbox *m) + db_filename = C_Folder; + + if (nm_path_probe(db_filename, NULL) == MUTT_NOTMUCH) +- db_filename += NmUriProtocolLen; ++ db_filename += NmUrlProtocolLen; + + mutt_debug(LL_DEBUG2, "nm: db filename '%s'\n", db_filename); + return db_filename; +diff --git a/notmuch/notmuch_private.h b/notmuch/notmuch_private.h +index 3c8bd987c..9dff69540 100644 +--- a/notmuch/notmuch_private.h ++++ b/notmuch/notmuch_private.h +@@ -40,7 +40,7 @@ + (LIBNOTMUCH_MAJOR_VERSION == (major) && \ + LIBNOTMUCH_MINOR_VERSION == (minor) && LIBNOTMUCH_MICRO_VERSION >= (micro))) + +-extern const int NmUriProtocolLen; ++extern const int NmUrlProtocolLen; + + /** + * struct NmAccountData - Notmuch-specific Account data - @extends Account +@@ -109,6 +109,6 @@ void nm_edata_free(void **ptr); + struct NmEmailData * nm_edata_new (void); + void nm_mdata_free(void **ptr); + struct NmMboxData * nm_mdata_get (struct Mailbox *m); +-struct NmMboxData * nm_mdata_new (const char *uri); ++struct NmMboxData * nm_mdata_new (const char *url); + + #endif /* MUTT_NOTMUCH_NOTMUCH_PRIVATE_H */ +diff --git a/options.h b/options.h +index 71c2d1f48..faf7e240e 100644 +--- a/options.h ++++ b/options.h +@@ -36,6 +36,7 @@ WHERE bool OptForceRefresh; ///< (pseudo) refresh even during macros + WHERE bool OptIgnoreMacroEvents; ///< (pseudo) don't process macro/push/exec events while set + WHERE bool OptKeepQuiet; ///< (pseudo) shut up the message and refresh functions while we are executing an external program + WHERE bool OptMenuCaller; ///< (pseudo) tell menu to give caller a take ++WHERE bool OptMenuPopClearScreen; ///< (pseudo) clear the screen when popping the last menu + WHERE bool OptMsgErr; ///< (pseudo) used by mutt_error/mutt_message + WHERE bool OptNeedRescore; ///< (pseudo) set when the 'score' command is used + WHERE bool OptNeedResort; ///< (pseudo) used to force a re-sort +diff --git a/pager.c b/pager.c +index 793cdfb3d..7d439a75a 100644 +--- a/pager.c ++++ b/pager.c +@@ -38,33 +38,30 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "config/lib.h" + #include "email/lib.h" + #include "core/lib.h" ++#include "gui/lib.h" + #include "mutt.h" + #include "pager.h" + #include "alias.h" +-#include "color.h" + #include "commands.h" + #include "context.h" +-#include "curs_lib.h" + #include "format_flags.h" + #include "globals.h" + #include "hdrline.h" + #include "hook.h" + #include "index.h" ++#include "init.h" + #include "keymap.h" + #include "mutt_attach.h" +-#include "mutt_curses.h" + #include "mutt_header.h" + #include "mutt_logging.h" + #include "mutt_mailbox.h" + #include "mutt_menu.h" +-#include "mutt_window.h" + #include "muttlib.h" + #include "mx.h" +-#include "ncrypt/ncrypt.h" + #include "opcodes.h" + #include "options.h" + #include "protos.h" +@@ -72,12 +69,12 @@ + #include "recvcmd.h" + #include "send.h" + #include "status.h" +-#include "terminal.h" ++#include "ncrypt/lib.h" + #ifdef USE_SIDEBAR + #include "sidebar.h" + #endif + #ifdef USE_NNTP +-#include "nntp/nntp.h" ++#include "nntp/lib.h" + #endif + #ifdef ENABLE_NLS + #include +@@ -190,10 +187,6 @@ struct PagerRedrawData + struct QClass *quote_list; + LOFF_T last_pos; + LOFF_T last_offset; +- struct MuttWindow *index_status_window; +- struct MuttWindow *index_window; +- struct MuttWindow *pager_status_window; +- struct MuttWindow *pager_window; + struct Menu *menu; ///< the Pager Index (PI) + regex_t search_re; + bool search_compiled; +@@ -1625,7 +1618,7 @@ static int format_line(struct Line **line_info, int n, unsigned char *buf, + * @param[out] q_level Level of quoting + * @param[out] force_redraw Force a repaint + * @param[out] search_re Regex to highlight +- * @param[in] pager_window Window to draw into ++ * @param[in] win_pager Window to draw into + * @retval -1 EOF was reached + * @retval 0 normal exit, line was not displayed + * @retval >0 normal exit, line was displayed +@@ -1633,7 +1626,7 @@ static int format_line(struct Line **line_info, int n, unsigned char *buf, + static int display_line(FILE *fp, LOFF_T *last_pos, struct Line **line_info, + int n, int *last, int *max, PagerFlags flags, + struct QClass **quote_list, int *q_level, bool *force_redraw, +- regex_t *search_re, struct MuttWindow *pager_window) ++ regex_t *search_re, struct MuttWindow *win_pager) + { + unsigned char *buf = NULL, *fmt = NULL; + size_t buflen = 0; +@@ -1806,7 +1799,7 @@ static int display_line(FILE *fp, LOFF_T *last_pos, struct Line **line_info, + + /* now chose a good place to break the line */ + cnt = format_line(line_info, n, buf, flags, NULL, b_read, &ch, &vch, &col, +- &special, pager_window->cols); ++ &special, win_pager->state.cols); + buf_ptr = buf + cnt; + + /* move the break point only if smart_wrap is set */ +@@ -1854,7 +1847,7 @@ static int display_line(FILE *fp, LOFF_T *last_pos, struct Line **line_info, + + /* display the line */ + format_line(line_info, n, buf, flags, &a, cnt, &ch, &vch, &col, &special, +- pager_window->cols); ++ win_pager->state.cols); + + /* avoid a bug in ncurses... */ + #ifndef USE_SLANG_CURSES +@@ -1866,7 +1859,7 @@ static int display_line(FILE *fp, LOFF_T *last_pos, struct Line **line_info, + #endif + + /* end the last color pattern (needed by S-Lang) */ +- if (special || ((col != pager_window->cols) && (flags & (MUTT_SHOWCOLOR | MUTT_SEARCH)))) ++ if (special || ((col != win_pager->state.cols) && (flags & (MUTT_SHOWCOLOR | MUTT_SEARCH)))) + resolve_color(*line_info, n, vch, flags, 0, &a); + + /* Fill the blank space at the end of the line with the prevailing color. +@@ -1883,8 +1876,8 @@ static int display_line(FILE *fp, LOFF_T *last_pos, struct Line **line_info, + mutt_curses_set_attr(def_color); + } + +- if (col < pager_window->cols) +- mutt_window_clrtoeol(pager_window); ++ if (col < win_pager->state.cols) ++ mutt_window_clrtoeol(win_pager); + + /* reset the color back to normal. This *must* come after the + * clrtoeol, otherwise the color for this line will not be +@@ -1934,7 +1927,7 @@ void mutt_clear_pager_position(void) + } + + /** +- * pager_custom_redraw - Redraw the pager window - Implements Menu::menu_custom_redraw() ++ * pager_custom_redraw - Redraw the pager window - Implements Menu::custom_redraw() + */ + static void pager_custom_redraw(struct Menu *pager_menu) + { +@@ -1961,47 +1954,11 @@ static void pager_custom_redraw(struct Menu *pager_menu) + + rd->indicator = rd->indexlen / 3; + +- mutt_window_copy_size(MuttIndexWindow, rd->pager_window); +- mutt_window_copy_size(MuttStatusWindow, rd->pager_status_window); +- rd->index_status_window->rows = 0; +- rd->index_window->rows = 0; +- +- if (IsEmail(rd->extra) && (C_PagerIndexLines != 0)) +- { +- mutt_window_copy_size(MuttIndexWindow, rd->index_window); +- rd->index_window->rows = (rd->indexlen > 0) ? rd->indexlen - 1 : 0; +- +- if (C_StatusOnTop) +- { +- mutt_window_copy_size(MuttStatusWindow, rd->index_status_window); +- +- mutt_window_copy_size(MuttIndexWindow, rd->pager_status_window); +- rd->pager_status_window->rows = 1; +- rd->pager_status_window->row_offset += rd->index_window->rows; +- +- rd->pager_window->rows -= +- rd->index_window->rows + rd->pager_status_window->rows; +- rd->pager_window->row_offset += +- rd->index_window->rows + rd->pager_status_window->rows; +- } +- else +- { +- mutt_window_copy_size(MuttIndexWindow, rd->index_status_window); +- rd->index_status_window->rows = 1; +- rd->index_status_window->row_offset += rd->index_window->rows; +- +- rd->pager_window->rows -= +- rd->index_window->rows + rd->index_status_window->rows; +- rd->pager_window->row_offset += +- rd->index_window->rows + rd->index_status_window->rows; +- } +- } +- + if (C_Help) + { + mutt_curses_set_color(MT_COLOR_STATUS); + mutt_window_move(MuttHelpWindow, 0, 0); +- mutt_paddstr(MuttHelpWindow->cols, rd->helpstr); ++ mutt_paddstr(MuttHelpWindow->state.cols, rd->helpstr); + mutt_curses_set_color(MT_COLOR_NORMAL); + } + +@@ -2037,16 +1994,16 @@ static void pager_custom_redraw(struct Menu *pager_menu) + /* only allocate the space if/when we need the index. + * Initialise the menu as per the main index */ + rd->menu = mutt_menu_new(MENU_MAIN); +- rd->menu->menu_make_entry = index_make_entry; +- rd->menu->menu_color = index_color; ++ rd->menu->make_entry = index_make_entry; ++ rd->menu->color = index_color; + rd->menu->max = Context ? Context->mailbox->vcount : 0; + rd->menu->current = rd->extra->email->vnum; +- rd->menu->indexwin = rd->index_window; +- rd->menu->statuswin = rd->index_status_window; ++ rd->menu->win_index = rd->extra->win_index; ++ rd->menu->win_ibar = rd->extra->win_ibar; + } + + mutt_curses_set_color(MT_COLOR_NORMAL); +- rd->menu->pagelen = rd->index_window->rows; ++ rd->menu->pagelen = rd->extra->win_index->state.rows; + + /* some fudge to work out whereabouts the indicator should go */ + if (rd->menu->current - rd->indicator < 0) +@@ -2096,7 +2053,7 @@ static void pager_custom_redraw(struct Menu *pager_menu) + while (display_line(rd->fp, &rd->last_pos, &rd->line_info, ++i, &rd->last_line, + &rd->max_line, rd->has_types | rd->search_flag | (rd->flags & MUTT_PAGER_NOWRAP), + &rd->quote_list, &rd->q_level, &rd->force_redraw, +- &rd->search_re, rd->pager_window) == 0) ++ &rd->search_re, rd->extra->win_pager) == 0) + { + if (!rd->line_info[i].continuation && (++j == rd->lines)) + { +@@ -2118,13 +2075,13 @@ static void pager_custom_redraw(struct Menu *pager_menu) + { + do + { +- mutt_window_move(rd->pager_window, 0, 0); ++ mutt_window_move(rd->extra->win_pager, 0, 0); + rd->curline = rd->topline; + rd->oldtopline = rd->topline; + rd->lines = 0; + rd->force_redraw = false; + +- while ((rd->lines < rd->pager_window->rows) && ++ while ((rd->lines < rd->extra->win_pager->state.rows) && + (rd->line_info[rd->curline].offset <= rd->sb.st_size - 1)) + { + if (display_line(rd->fp, &rd->last_pos, &rd->line_info, rd->curline, +@@ -2132,24 +2089,24 @@ static void pager_custom_redraw(struct Menu *pager_menu) + (rd->flags & MUTT_DISPLAYFLAGS) | rd->hide_quoted | + rd->search_flag | (rd->flags & MUTT_PAGER_NOWRAP), + &rd->quote_list, &rd->q_level, &rd->force_redraw, +- &rd->search_re, rd->pager_window) > 0) ++ &rd->search_re, rd->extra->win_pager) > 0) + { + rd->lines++; + } + rd->curline++; +- mutt_window_move(rd->pager_window, rd->lines, 0); ++ mutt_window_move(rd->extra->win_pager, rd->lines, 0); + } + rd->last_offset = rd->line_info[rd->curline].offset; + } while (rd->force_redraw); + + mutt_curses_set_color(MT_COLOR_TILDE); +- while (rd->lines < rd->pager_window->rows) ++ while (rd->lines < rd->extra->win_pager->state.rows) + { +- mutt_window_clrtoeol(rd->pager_window); ++ mutt_window_clrtoeol(rd->extra->win_pager); + if (C_Tilde) + mutt_window_addch('~'); + rd->lines++; +- mutt_window_move(rd->pager_window, rd->lines, 0); ++ mutt_window_move(rd->extra->win_pager, rd->lines, 0); + } + mutt_curses_set_color(MT_COLOR_NORMAL); + +@@ -2184,23 +2141,23 @@ static void pager_custom_redraw(struct Menu *pager_menu) + } + + /* print out the pager status bar */ +- mutt_window_move(rd->pager_status_window, 0, 0); ++ mutt_window_move(rd->extra->win_pbar, 0, 0); + mutt_curses_set_color(MT_COLOR_STATUS); + + if (IsEmail(rd->extra) || IsMsgAttach(rd->extra)) + { +- size_t l1 = rd->pager_status_window->cols * MB_LEN_MAX; ++ size_t l1 = rd->extra->win_pbar->state.cols * MB_LEN_MAX; + size_t l2 = sizeof(buf); + hfi.email = (IsEmail(rd->extra)) ? rd->extra->email : rd->extra->body->email; +- mutt_make_string_info(buf, (l1 < l2) ? l1 : l2, rd->pager_status_window->cols, ++ mutt_make_string_info(buf, (l1 < l2) ? l1 : l2, rd->extra->win_pbar->state.cols, + NONULL(C_PagerFormat), &hfi, MUTT_FORMAT_NO_FLAGS); +- mutt_draw_statusline(rd->pager_status_window->cols, buf, l2); ++ mutt_draw_statusline(rd->extra->win_pbar->state.cols, buf, l2); + } + else + { + char bn[256]; + snprintf(bn, sizeof(bn), "%s (%s)", rd->banner, pager_progress_str); +- mutt_draw_statusline(rd->pager_status_window->cols, bn, sizeof(bn)); ++ mutt_draw_statusline(rd->extra->win_pbar->state.cols, bn, sizeof(bn)); + } + mutt_curses_set_color(MT_COLOR_NORMAL); + if (C_TsEnabled && TsSupported && rd->menu) +@@ -2216,15 +2173,15 @@ static void pager_custom_redraw(struct Menu *pager_menu) + { + /* redraw the pager_index indicator, because the + * flags for this message might have changed. */ +- if (rd->index_window->rows > 0) ++ if (rd->extra->win_index->state.rows > 0) + menu_redraw_current(rd->menu); + + /* print out the index status bar */ + menu_status_line(buf, sizeof(buf), rd->menu, NONULL(C_StatusFormat)); + +- mutt_window_move(rd->index_status_window, 0, 0); ++ mutt_window_move(rd->extra->win_ibar, 0, 0); + mutt_curses_set_color(MT_COLOR_STATUS); +- mutt_draw_statusline(rd->index_status_window->cols, buf, sizeof(buf)); ++ mutt_draw_statusline(rd->extra->win_ibar->state.cols, buf, sizeof(buf)); + mutt_curses_set_color(MT_COLOR_NORMAL); + } + +@@ -2264,11 +2221,15 @@ int mutt_pager(const char *banner, const char *fname, PagerFlags flags, struct P + if (!(flags & MUTT_SHOWCOLOR)) + flags |= MUTT_SHOWFLAT; + ++ int index_space = C_PagerIndexLines; ++ if (extra->ctx && extra->ctx->mailbox) ++ index_space = MIN(index_space, extra->ctx->mailbox->vcount); ++ + struct PagerRedrawData rd = { 0 }; + rd.banner = banner; + rd.flags = flags; + rd.extra = extra; +- rd.indexlen = C_PagerIndexLines; ++ rd.indexlen = index_space; + rd.indicator = rd.indexlen / 3; + rd.searchbuf = searchbuf; + rd.has_types = (IsEmail(extra) || (flags & MUTT_SHOWCOLOR)) ? MUTT_TYPES : 0; /* main message or rfc822 attachment */ +@@ -2288,6 +2249,17 @@ int mutt_pager(const char *banner, const char *fname, PagerFlags flags, struct P + } + unlink(fname); + ++ if (rd.extra->win_index) ++ { ++ rd.extra->win_index->size = MUTT_WIN_SIZE_FIXED; ++ rd.extra->win_index->req_rows = index_space; ++ rd.extra->win_index->parent->size = MUTT_WIN_SIZE_MINIMISE; ++ rd.extra->win_index->parent->state.visible = (index_space > 0); ++ } ++ rd.extra->win_pager->parent->state.visible = true; ++ rd.extra->win_pager->size = MUTT_WIN_SIZE_MAXIMISE; ++ mutt_window_reflow(mutt_window_dialog(rd.extra->win_pager)); ++ + /* Initialize variables */ + + if (Context && IsEmail(extra) && !extra->email->read) +@@ -2329,13 +2301,12 @@ int mutt_pager(const char *banner, const char *fname, PagerFlags flags, struct P + } + rd.helpstr = mutt_b2s(&helpstr); + +- rd.index_status_window = mutt_window_new(); +- rd.index_window = mutt_window_new(); +- rd.pager_status_window = mutt_window_new(); +- rd.pager_window = mutt_window_new(); +- + pager_menu = mutt_menu_new(MENU_PAGER); +- pager_menu->menu_custom_redraw = pager_custom_redraw; ++ pager_menu->pagelen = extra->win_pager->state.rows; ++ pager_menu->win_index = extra->win_pager; ++ pager_menu->win_ibar = extra->win_pbar; ++ ++ pager_menu->custom_redraw = pager_custom_redraw; + pager_menu->redraw_data = &rd; + mutt_menu_push_current(pager_menu); + +@@ -2354,7 +2325,7 @@ int mutt_pager(const char *banner, const char *fname, PagerFlags flags, struct P + } + } + else +- mutt_window_move(rd.pager_status_window, 0, rd.pager_status_window->cols - 1); ++ mutt_window_move(rd.extra->win_pbar, 0, rd.extra->win_pager->state.cols - 1); + + mutt_refresh(); + +@@ -2422,6 +2393,9 @@ int mutt_pager(const char *banner, const char *fname, PagerFlags flags, struct P + rd.menu->current = + MIN(rd.menu->current, MAX(Context->mailbox->msg_count - 1, 0)); + struct Email *e = mutt_get_virt_email(Context->mailbox, rd.menu->current); ++ if (!e) ++ continue; ++ + index_hint = e->index; + + bool q = Context->mailbox->quiet; +@@ -2514,7 +2488,7 @@ int mutt_pager(const char *banner, const char *fname, PagerFlags flags, struct P + if (query_quadoption(C_Quit, _("Quit NeoMutt?")) == MUTT_YES) + { + /* avoid prompting again in the index menu */ +- cs_str_native_set(Config, "quit", MUTT_YES, NULL); ++ cs_subset_str_native_set(NeoMutt->sub, "quit", MUTT_YES, NULL); + ch = -1; + } + break; +@@ -2544,7 +2518,7 @@ int mutt_pager(const char *banner, const char *fname, PagerFlags flags, struct P + } + else + { +- rd.topline = up_n_lines(rd.pager_window->rows - C_PagerContext, ++ rd.topline = up_n_lines(rd.extra->win_pager->state.rows - C_PagerContext, + rd.line_info, rd.topline, rd.hide_quoted); + } + break; +@@ -2583,7 +2557,8 @@ int mutt_pager(const char *banner, const char *fname, PagerFlags flags, struct P + case OP_HALF_UP: + if (rd.topline) + { +- rd.topline = up_n_lines(rd.pager_window->rows / 2 + (rd.pager_window->rows % 2), ++ rd.topline = up_n_lines(rd.extra->win_pager->state.rows / 2 + ++ (rd.extra->win_pager->state.rows % 2), + rd.line_info, rd.topline, rd.hide_quoted); + } + else +@@ -2593,8 +2568,8 @@ int mutt_pager(const char *banner, const char *fname, PagerFlags flags, struct P + case OP_HALF_DOWN: + if (rd.line_info[rd.curline].offset < (rd.sb.st_size - 1)) + { +- rd.topline = up_n_lines(rd.pager_window->rows / 2, rd.line_info, +- rd.curline, rd.hide_quoted); ++ rd.topline = up_n_lines(rd.extra->win_pager->state.rows / 2, ++ rd.line_info, rd.curline, rd.hide_quoted); + } + else if (C_PagerStop) + { +@@ -2615,7 +2590,7 @@ int mutt_pager(const char *banner, const char *fname, PagerFlags flags, struct P + { + wrapped = false; + +- if (C_SearchContext < rd.pager_window->rows) ++ if (C_SearchContext < rd.extra->win_pager->state.rows) + searchctx = C_SearchContext; + else + searchctx = 0; +@@ -2756,7 +2731,7 @@ int mutt_pager(const char *banner, const char *fname, PagerFlags flags, struct P + &rd.last_line, &rd.max_line, + MUTT_SEARCH | (flags & MUTT_PAGER_NSKIP) | (flags & MUTT_PAGER_NOWRAP), + &rd.quote_list, &rd.q_level, &rd.force_redraw, +- &rd.search_re, rd.pager_window) == 0) ++ &rd.search_re, rd.extra->win_pager) == 0) + { + line_num++; + } +@@ -2803,7 +2778,7 @@ int mutt_pager(const char *banner, const char *fname, PagerFlags flags, struct P + { + rd.search_flag = MUTT_SEARCH; + /* give some context for search results */ +- if (C_SearchContext < rd.pager_window->rows) ++ if (C_SearchContext < rd.extra->win_pager->state.rows) + searchctx = C_SearchContext; + else + searchctx = 0; +@@ -2842,7 +2817,7 @@ int mutt_pager(const char *banner, const char *fname, PagerFlags flags, struct P + } + + InHelp = true; +- mutt_help(MENU_PAGER, MuttIndexWindow->cols); ++ mutt_help(MENU_PAGER, pager_menu->win_index->state.cols); + pager_menu->redraw = REDRAW_FULL; + InHelp = false; + break; +@@ -2872,7 +2847,7 @@ int mutt_pager(const char *banner, const char *fname, PagerFlags flags, struct P + rd.fp, &rd.last_pos, &rd.line_info, new_topline, &rd.last_line, + &rd.max_line, MUTT_TYPES | (flags & MUTT_PAGER_NOWRAP), + &rd.quote_list, &rd.q_level, &rd.force_redraw, +- &rd.search_re, rd.pager_window)))) && ++ &rd.search_re, rd.extra->win_pager)))) && + IS_HEADER(rd.line_info[new_topline].type)) + { + new_topline++; +@@ -2886,7 +2861,7 @@ int mutt_pager(const char *banner, const char *fname, PagerFlags flags, struct P + rd.fp, &rd.last_pos, &rd.line_info, new_topline, &rd.last_line, + &rd.max_line, MUTT_TYPES | (flags & MUTT_PAGER_NOWRAP), + &rd.quote_list, &rd.q_level, &rd.force_redraw, +- &rd.search_re, rd.pager_window)))) && ++ &rd.search_re, rd.extra->win_pager)))) && + (rd.line_info[new_topline + C_SkipQuotedOffset].type != MT_COLOR_QUOTED)) + { + new_topline++; +@@ -2903,7 +2878,7 @@ int mutt_pager(const char *banner, const char *fname, PagerFlags flags, struct P + rd.fp, &rd.last_pos, &rd.line_info, new_topline, &rd.last_line, + &rd.max_line, MUTT_TYPES | (flags & MUTT_PAGER_NOWRAP), + &rd.quote_list, &rd.q_level, &rd.force_redraw, +- &rd.search_re, rd.pager_window)))) && ++ &rd.search_re, rd.extra->win_pager)))) && + (rd.line_info[new_topline + C_SkipQuotedOffset].type == MT_COLOR_QUOTED)) + { + new_topline++; +@@ -2926,11 +2901,11 @@ int mutt_pager(const char *banner, const char *fname, PagerFlags flags, struct P + while (display_line(rd.fp, &rd.last_pos, &rd.line_info, line_num, &rd.last_line, + &rd.max_line, rd.has_types | (flags & MUTT_PAGER_NOWRAP), + &rd.quote_list, &rd.q_level, &rd.force_redraw, +- &rd.search_re, rd.pager_window) == 0) ++ &rd.search_re, rd.extra->win_pager) == 0) + { + line_num++; + } +- rd.topline = up_n_lines(rd.pager_window->rows, rd.line_info, ++ rd.topline = up_n_lines(rd.extra->win_pager->state.rows, rd.line_info, + rd.last_line, rd.hide_quoted); + } + else +@@ -2938,6 +2913,7 @@ int mutt_pager(const char *banner, const char *fname, PagerFlags flags, struct P + break; + + case OP_REDRAW: ++ mutt_window_reflow(NULL); + clearok(stdscr, true); + pager_menu->redraw = REDRAW_FULL; + break; +@@ -3326,11 +3302,14 @@ int mutt_pager(const char *banner, const char *fname, PagerFlags flags, struct P + CHECK_MODE(IsEmail(extra)); + struct EmailList el = STAILQ_HEAD_INITIALIZER(el); + emaillist_add_email(&el, extra->email); +- if ((mutt_save_message(Context->mailbox, &el, +- (ch == OP_DECRYPT_SAVE) || (ch == OP_SAVE) || (ch == OP_DECODE_SAVE), +- (ch == OP_DECODE_SAVE) || (ch == OP_DECODE_COPY), +- (ch == OP_DECRYPT_SAVE) || (ch == OP_DECRYPT_COPY)) == 0) && +- ((ch == OP_SAVE) || (ch == OP_DECODE_SAVE) || (ch == OP_DECRYPT_SAVE))) ++ ++ const bool delete_original = ++ (ch == OP_SAVE) || (ch == OP_DECODE_SAVE) || (ch == OP_DECRYPT_SAVE); ++ const bool decode = (ch == OP_DECODE_SAVE) || (ch == OP_DECODE_COPY); ++ const bool decrypt = (ch == OP_DECRYPT_SAVE) || (ch == OP_DECRYPT_COPY); ++ ++ if ((mutt_save_message(Context->mailbox, &el, delete_original, decode, decrypt) == 0) && ++ delete_original) + { + if (C_Resolve) + { +@@ -3540,8 +3519,8 @@ int mutt_pager(const char *banner, const char *fname, PagerFlags flags, struct P + break; + + case OP_SIDEBAR_TOGGLE_VISIBLE: +- bool_str_toggle(Config, "sidebar_visible", NULL); +- mutt_window_reflow(); ++ bool_str_toggle(NeoMutt->sub, "sidebar_visible", NULL); ++ mutt_window_reflow(mutt_window_dialog(rd.extra->win_pager)); + break; + #endif + +@@ -3588,10 +3567,17 @@ int mutt_pager(const char *banner, const char *fname, PagerFlags flags, struct P + mutt_menu_free(&rd.menu); + + mutt_buffer_dealloc(&helpstr); +- mutt_window_free(&rd.index_status_window); +- mutt_window_free(&rd.index_window); +- mutt_window_free(&rd.pager_status_window); +- mutt_window_free(&rd.pager_window); ++ ++ if (rd.extra->win_index) ++ { ++ rd.extra->win_index->parent->state.visible = true; ++ rd.extra->win_index->size = MUTT_WIN_SIZE_MAXIMISE; ++ rd.extra->win_index->req_rows = MUTT_WIN_SIZE_UNLIMITED; ++ rd.extra->win_index->parent->size = MUTT_WIN_SIZE_MAXIMISE; ++ rd.extra->win_index->parent->req_rows = MUTT_WIN_SIZE_UNLIMITED; ++ } ++ rd.extra->win_pager->parent->state.visible = false; ++ mutt_window_reflow(mutt_window_dialog(rd.extra->win_pager)); + + return (rc != -1) ? rc : 0; + } +diff --git a/pager.h b/pager.h +index a75ed620a..56a8adbf8 100644 +--- a/pager.h ++++ b/pager.h +@@ -69,6 +69,11 @@ struct Pager + struct Body *body; ///< Current attachment + FILE *fp; ///< Source stream + struct AttachCtx *actx; ///< Attachment information ++ ++ struct MuttWindow *win_ibar; ++ struct MuttWindow *win_index; ++ struct MuttWindow *win_pbar; ++ struct MuttWindow *win_pager; + }; + + int mutt_pager(const char *banner, const char *fname, PagerFlags flags, struct Pager *extra); +diff --git a/pattern.c b/pattern.c +index aad8711a7..6200360ec 100644 +--- a/pattern.c ++++ b/pattern.c +@@ -37,35 +37,38 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + #include "core/lib.h" ++#include "gui/lib.h" + #include "mutt.h" + #include "pattern.h" + #include "alias.h" + #include "context.h" + #include "copy.h" +-#include "curs_lib.h" +-#include "filter.h" + #include "globals.h" + #include "handler.h" + #include "hdrline.h" ++#include "init.h" + #include "mutt_logging.h" + #include "mutt_menu.h" + #include "mutt_parse.h" ++#include "muttlib.h" + #include "mx.h" +-#include "ncrypt/ncrypt.h" + #include "opcodes.h" + #include "options.h" + #include "progress.h" + #include "protos.h" ++#include "sendlib.h" + #include "state.h" ++#include "ncrypt/lib.h" + #ifndef USE_FMEMOPEN + #include + #endif + #ifdef USE_IMAP +-#include "imap/imap.h" ++#include "imap/lib.h" + #endif + + /* These Config Variables are only used in pattern.c */ +@@ -158,17 +161,6 @@ enum RangeSide + RANGE_S_RIGHT, ///< Right side of range + }; + +-/** +- * typedef pattern_eat_t - Parse a pattern +- * @param pat Pattern to store the results in +- * @param flags Flags, e.g. #MUTT_PC_PATTERN_DYNAMIC +- * @param s String to parse +- * @param err Buffer for error messages +- * @retval true If the pattern was read successfully +- */ +-typedef bool pattern_eat_t(struct Pattern *pat, int flags, struct Buffer *s, +- struct Buffer *err); +- + /** + * struct PatternFlags - Mapping between user character and internal constant + */ +@@ -177,7 +169,16 @@ struct PatternFlags + int tag; ///< Character used to represent this operation, e.g. 'A' for '~A' + int op; ///< Operation to perform, e.g. #MUTT_PAT_SCORE + int flags; ///< Pattern flags, e.g. #MUTT_PC_FULL_MSG +- pattern_eat_t *eat_arg; ///< Callback function to parse the argument ++ ++ /** ++ * eat_arg - Function to parse a pattern ++ * @param pat Pattern to store the results in ++ * @param flags Flags, e.g. #MUTT_PC_PATTERN_DYNAMIC ++ * @param s String to parse ++ * @param err Buffer for error messages ++ * @retval true If the pattern was read successfully ++ */ ++ bool (*eat_arg)(struct Pattern *pat, int flags, struct Buffer *s, struct Buffer *err); + }; + + // clang-format off +@@ -207,7 +208,7 @@ static char LastSearchExpn[1024] = { 0 }; ///< expanded version of LastSearch + typedef bool (*addr_predicate_t)(const struct Address *a); + + /** +- * eat_regex - Parse a regex - Implements ::pattern_eat_t ++ * eat_regex - Parse a regex - Implements Pattern::eat_arg() + */ + static bool eat_regex(struct Pattern *pat, int flags, struct Buffer *s, struct Buffer *err) + { +@@ -260,7 +261,7 @@ static bool eat_regex(struct Pattern *pat, int flags, struct Buffer *s, struct B + } + + /** +- * add_query_msgid - Parse a Message-Id and add it to a list - Implements mutt_file_map_t ++ * add_query_msgid - Parse a Message-Id and add it to a list - Implements ::mutt_file_map_t + * @retval true Always + */ + static bool add_query_msgid(char *line, int line_num, void *user_data) +@@ -275,7 +276,7 @@ static bool add_query_msgid(char *line, int line_num, void *user_data) + } + + /** +- * eat_query - Parse a query for an external search program - Implements ::pattern_eat_t ++ * eat_query - Parse a query for an external search program - Implements Pattern::eat_arg() + */ + static bool eat_query(struct Pattern *pat, int flags, struct Buffer *s, struct Buffer *err) + { +@@ -326,7 +327,7 @@ static bool eat_query(struct Pattern *pat, int flags, struct Buffer *s, struct B + mutt_message(_("Running search command: %s ..."), cmd_buf.data); + pat->is_multi = true; + mutt_list_clear(&pat->p.multi_cases); +- pid_t pid = mutt_create_filter(cmd_buf.data, NULL, &fp, NULL); ++ pid_t pid = filter_create(cmd_buf.data, NULL, &fp, NULL); + if (pid < 0) + { + mutt_buffer_printf(err, "unable to fork command: %s\n", cmd_buf.data); +@@ -336,7 +337,7 @@ static bool eat_query(struct Pattern *pat, int flags, struct Buffer *s, struct B + + mutt_file_map_lines(add_query_msgid, &pat->p.multi_cases, fp, 0); + mutt_file_fclose(&fp); +- mutt_wait_filter(pid); ++ filter_wait(pid); + FREE(&cmd_buf.data); + return true; + } +@@ -401,15 +402,53 @@ static const char *get_offset(struct tm *tm, const char *s, int sign) + * are optional and if the year is less than 70 it's assumed to be after 2000. + * + * Examples: +- * - "10" = 23 of this month, this year ++ * - "10" = 10 of this month, this year + * - "10/12" = 10 of December, this year + * - "10/12/04" = 10 of December, 2004 + * - "10/12/2008" = 10 of December, 2008 ++ * - "20081210" = 10 of December, 2008 + */ + static const char *get_date(const char *s, struct tm *t, struct Buffer *err) + { + char *p = NULL; + struct tm tm = mutt_date_localtime(MUTT_DATE_NOW); ++ bool iso8601 = true; ++ ++ for (int v = 0; v < 8; v++) ++ { ++ if (s[v] && (s[v] >= '0') && (s[v] <= '9')) ++ continue; ++ ++ iso8601 = false; ++ break; ++ } ++ ++ if (iso8601) ++ { ++ int year = 0; ++ int month = 0; ++ int mday = 0; ++ sscanf(s, "%4d%2d%2d", &year, &month, &mday); ++ ++ t->tm_year = year; ++ if (t->tm_year > 1900) ++ t->tm_year -= 1900; ++ t->tm_mon = month - 1; ++ t->tm_mday = mday; ++ ++ if ((t->tm_mday < 1) || (t->tm_mday > 31)) ++ { ++ snprintf(err->data, err->dsize, _("Invalid day of month: %s"), s); ++ return NULL; ++ } ++ if ((t->tm_mon < 0) || (t->tm_mon > 11)) ++ { ++ snprintf(err->data, err->dsize, _("Invalid month: %s"), s); ++ return NULL; ++ } ++ ++ return (s + 8); ++ } + + t->tm_mday = strtol(s, &p, 10); + if ((t->tm_mday < 1) || (t->tm_mday > 31)) +@@ -705,7 +744,7 @@ static bool eval_date_minmax(struct Pattern *pat, const char *s, struct Buffer * + } + + /** +- * eat_range - Parse a number range - Implements ::pattern_eat_t ++ * eat_range - Parse a number range - Implements Pattern::eat_arg() + */ + static bool eat_range(struct Pattern *pat, int flags, struct Buffer *s, struct Buffer *err) + { +@@ -989,7 +1028,7 @@ static int eat_range_by_regex(struct Pattern *pat, struct Buffer *s, int kind, + } + + /** +- * eat_message_range - Parse a range of message numbers - Implements ::pattern_eat_t ++ * eat_message_range - Parse a range of message numbers - Implements Pattern::eat_arg() + */ + static bool eat_message_range(struct Pattern *pat, int flags, struct Buffer *s, + struct Buffer *err) +@@ -1033,7 +1072,7 @@ static bool eat_message_range(struct Pattern *pat, int flags, struct Buffer *s, + } + + /** +- * eat_date - Parse a date pattern - Implements ::pattern_eat_t ++ * eat_date - Parse a date pattern - Implements Pattern::eat_arg() + */ + static bool eat_date(struct Pattern *pat, int flags, struct Buffer *s, struct Buffer *err) + { +@@ -1250,8 +1289,8 @@ static bool msg_search(struct Mailbox *m, struct Pattern *pat, int msgno) + */ + static const struct PatternFlags Flags[] = { + { 'A', MUTT_ALL, 0, NULL }, +- { 'b', MUTT_PAT_BODY, MUTT_PC_FULL_MSG, eat_regex }, +- { 'B', MUTT_PAT_WHOLE_MSG, MUTT_PC_FULL_MSG, eat_regex }, ++ { 'b', MUTT_PAT_BODY, MUTT_PC_FULL_MSG|MUTT_PC_SEND_MODE_SEARCH, eat_regex }, ++ { 'B', MUTT_PAT_WHOLE_MSG, MUTT_PC_FULL_MSG|MUTT_PC_SEND_MODE_SEARCH, eat_regex }, + { 'c', MUTT_PAT_CC, 0, eat_regex }, + { 'C', MUTT_PAT_RECIPIENT, 0, eat_regex }, + { 'd', MUTT_PAT_DATE, 0, eat_date }, +@@ -1262,7 +1301,7 @@ static const struct PatternFlags Flags[] = { + { 'F', MUTT_FLAG, 0, NULL }, + { 'g', MUTT_PAT_CRYPT_SIGN, 0, NULL }, + { 'G', MUTT_PAT_CRYPT_ENCRYPT, 0, NULL }, +- { 'h', MUTT_PAT_HEADER, MUTT_PC_FULL_MSG, eat_regex }, ++ { 'h', MUTT_PAT_HEADER, MUTT_PC_FULL_MSG|MUTT_PC_SEND_MODE_SEARCH, eat_regex }, + { 'H', MUTT_PAT_HORMEL, 0, eat_regex }, + { 'i', MUTT_PAT_ID, 0, eat_regex }, + { 'I', MUTT_PAT_ID_EXTERNAL, 0, eat_query }, +@@ -1564,6 +1603,9 @@ struct PatternList *mutt_pattern_comp(const char *s, PatternCompFlags flags, str + mutt_buffer_printf(err, _("%c: not supported in this mode"), *ps.dptr); + goto cleanup; + } ++ if (flags & MUTT_PC_SEND_MODE_SEARCH) ++ pat->sendmode = true; ++ + pat->op = entry->op; + + ps.dptr++; /* eat the operator and any optional whitespace */ +@@ -1990,6 +2032,80 @@ static int is_pattern_cache_set(int cache_entry) + return cache_entry != 0; + } + ++/** ++ * msg_search_sendmode - Search in send-mode ++ * @param e Email to search ++ * @param pat Pattern to find ++ * @retval 1 Success, pattern matched ++ * @retval 0 Pattern did not match ++ * @retval -1 Error ++ */ ++static int msg_search_sendmode(struct Email *e, struct Pattern *pat) ++{ ++ bool match = false; ++ char *buf = NULL; ++ size_t blen = 0; ++ FILE *fp = NULL; ++ ++ if ((pat->op == MUTT_PAT_HEADER) || (pat->op == MUTT_PAT_WHOLE_MSG)) ++ { ++ struct Buffer *tempfile = mutt_buffer_pool_get(); ++ mutt_buffer_mktemp(tempfile); ++ fp = mutt_file_fopen(mutt_b2s(tempfile), "w+"); ++ if (!fp) ++ { ++ mutt_perror(mutt_b2s(tempfile)); ++ mutt_buffer_pool_release(&tempfile); ++ return 0; ++ } ++ ++ mutt_rfc822_write_header(fp, e->env, e->content, MUTT_WRITE_HEADER_POSTPONE, false, false); ++ fflush(fp); ++ fseek(fp, 0, 0); ++ ++ while ((buf = mutt_file_read_line(buf, &blen, fp, NULL, 0)) != NULL) ++ { ++ if (patmatch(pat, buf) == 0) ++ { ++ match = true; ++ break; ++ } ++ } ++ ++ FREE(&buf); ++ mutt_file_fclose(&fp); ++ unlink(mutt_b2s(tempfile)); ++ mutt_buffer_pool_release(&tempfile); ++ ++ if (match) ++ return match; ++ } ++ ++ if ((pat->op == MUTT_PAT_BODY) || (pat->op == MUTT_PAT_WHOLE_MSG)) ++ { ++ fp = mutt_file_fopen(e->content->filename, "r"); ++ if (!fp) ++ { ++ mutt_perror(e->content->filename); ++ return 0; ++ } ++ ++ while ((buf = mutt_file_read_line(buf, &blen, fp, NULL, 0)) != NULL) ++ { ++ if (patmatch(pat, buf) == 0) ++ { ++ match = true; ++ break; ++ } ++ } ++ ++ FREE(&buf); ++ mutt_file_fclose(&fp); ++ } ++ ++ return match; ++} ++ + /** + * mutt_pattern_exec - Match a pattern against an email header + * @param pat Pattern to match +@@ -2056,6 +2172,12 @@ int mutt_pattern_exec(struct Pattern *pat, PatternExecFlags flags, + case MUTT_PAT_BODY: + case MUTT_PAT_HEADER: + case MUTT_PAT_WHOLE_MSG: ++ if (pat->sendmode) ++ { ++ if (!e->content || !e->content->filename) ++ return 0; ++ return pat->pat_not ^ msg_search_sendmode(e, pat); ++ } + /* m can be NULL in certain cases, such as when replying to a message + * from the attachment menu and the user has a reply-hook using "~e". + * This is also the case when message scoring. */ +@@ -2205,8 +2327,10 @@ int mutt_pattern_exec(struct Pattern *pat, PatternExecFlags flags, + { + int *cache_entry = pat->all_addr ? &cache->pers_from_all : &cache->pers_from_one; + if (!is_pattern_cache_set(*cache_entry)) ++ { + set_pattern_cache_value(cache_entry, + match_user(pat->all_addr, &e->env->from, NULL)); ++ } + result = get_pattern_cache_value(*cache_entry); + } + else +diff --git a/pattern.h b/pattern.h +index 0e4a4c85e..8232e843f 100644 +--- a/pattern.h ++++ b/pattern.h +@@ -28,7 +28,7 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "mutt.h" + + struct Email; +@@ -42,6 +42,7 @@ typedef uint8_t PatternCompFlags; ///< Flags for mutt_pattern_comp(), e.g. + #define MUTT_PC_NO_FLAGS 0 ///< No flags are set + #define MUTT_PC_FULL_MSG (1<<0) ///< Enable body and header matching + #define MUTT_PC_PATTERN_DYNAMIC (1<<1) ///< Enable runtime date range evaluation ++#define MUTT_PC_SEND_MODE_SEARCH (1<<2) ///< Allow send-mode body searching + + /** + * struct Pattern - A simple (non-regex) pattern +@@ -56,6 +57,7 @@ struct Pattern + bool ign_case : 1; ///< Ignore case for local string_match searches + bool is_alias : 1; ///< Is there an alias for this Address? + bool dynamic : 1; ///< Evaluate date ranges at run time ++ bool sendmode : 1; ///< Evaluate searches in send-mode + bool is_multi : 1; ///< Multiple case (only for ~I pattern now) + int min; ///< Minimum for range checks + int max; ///< Maximum for range checks +diff --git a/po/POTFILES.in b/po/POTFILES.in +index 14bcd5d6f..5213e8998 100644 +--- a/po/POTFILES.in ++++ b/po/POTFILES.in +@@ -8,14 +8,13 @@ autocrypt/autocrypt_acct_menu.c + autocrypt/autocrypt_db.c + autocrypt/autocrypt_gpgme.c + autocrypt/autocrypt_schema.c +-backtrace.c + bcache.c + browser.c +-color.c + commands.c ++command_parse.c + complete.c + compose.c +-compress.c ++compress/compress.c + config/address.c + config/bool.c + config/dump.c +@@ -23,6 +22,7 @@ config/enum.c + config/long.c + config/mbtable.c + config/number.c ++config/path.c + config/quad.c + config/regex.c + config/set.c +@@ -30,21 +30,24 @@ config/slist.c + config/sort.c + config/string.c + config/subset.c ++conn/connaccount.c + conn/conn_globals.c +-conn/conn_raw.c + conn/getdomain.c ++conn/gnutls.c ++conn/gui.c ++conn/openssl.c ++conn/raw.c + conn/sasl.c + conn/sasl_plain.c + conn/socket.c +-conn/ssl.c +-conn/ssl_gnutls.c + conn/tunnel.c + context.c + copy.c + core/account.c + core/mailbox.c + core/neomutt.c +-curs_lib.c ++debug/backtrace.c ++debug/parse_test.c + edit.c + editmsg.c + email/attach.c +@@ -63,8 +66,14 @@ email/thread.c + email/url.c + enriched.c + enter.c +-filter.c + flags.c ++functions.c ++gui/color.c ++gui/curs_lib.c ++gui/mutt_curses.c ++gui/mutt_window.c ++gui/reflow.c ++gui/terminal.c + handler.c + hcache/bdb.c + hcache/gdbm.c +@@ -110,6 +119,7 @@ mutt/date.c + mutt/envlist.c + mutt/exit.c + mutt/file.c ++mutt/filter.c + mutt/hash.c + mutt/history.c + mutt/list.c +@@ -129,7 +139,8 @@ muttlib.c + mutt_account.c + mutt_attach.c + mutt_body.c +-mutt_curses.c ++mutt_commands.c ++mutt_config.c + mutt_header.c + mutt_history.c + mutt_logging.c +@@ -139,7 +150,7 @@ mutt_parse.c + mutt_signal.c + mutt_socket.c + mutt_thread.c +-mutt_window.c ++mutt_zstrm.c + mx.c + myvar.c + ncrypt/crypt.c +@@ -188,6 +199,5 @@ sort.c + state.c + status.c + system.c +-terminal.c + version.c + wcscasecmp.c +diff --git a/po/bg.po b/po/bg.po +index 8623d2efb..f5d441c64 100644 +--- a/po/bg.po ++++ b/po/bg.po +@@ -13,7 +13,7 @@ msgid "" + msgstr "" + "Project-Id-Version: neomutt-2019-12-07\n" + "Report-Msgid-Bugs-To: neomutt-devel@neomutt.org\n" +-"POT-Creation-Date: 2019-12-06 23:10+0000\n" ++"POT-Creation-Date: 2020-03-09 12:15+0000\n" + "PO-Revision-Date: 2016-11-09 22:45+0000\n" + "Last-Translator: Velko Hristov \n" + "Language-Team: none\n" +@@ -23,16 +23,44 @@ msgstr "" + "Content-Transfer-Encoding: 8bit\n" + "Plural-Forms: nplurals=2; plural=(n != 1);\n" + +-#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:59 browser.c:80 browser.c:90 +-#: mutt_history.c:45 pager.c:228 postpone.c:68 query.c:80 recvattach.c:93 ++#, fuzzy ++msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" ++msgstr "отхвърляне(r), еднократно приемане(o), приемане винаги(a)" ++ ++#, fuzzy ++msgid "roas" ++msgstr "roas" ++ ++msgid "(r)eject, accept (o)nce, (a)ccept always" ++msgstr "отхвърляне(r), еднократно приемане(o), приемане винаги(a)" ++ ++msgid "roa" ++msgstr "roa" ++ ++#, fuzzy ++msgid "(r)eject, accept (o)nce, (s)kip" ++msgstr "отхвърляне(r), еднократно приемане(o)" ++ ++#, fuzzy ++msgid "ros" ++msgstr "ros" ++ ++msgid "(r)eject, accept (o)nce" ++msgstr "отхвърляне(r), еднократно приемане(o)" ++ ++msgid "ro" ++msgstr "ro" ++ ++#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:58 browser.c:79 browser.c:89 ++#: mutt_history.c:45 pager.c:220 postpone.c:68 query.c:78 recvattach.c:91 + msgid "Exit" + msgstr "Изход" + +-#: addrbook.c:56 index.c:116 index.c:129 pager.c:236 pager.c:246 postpone.c:69 ++#: addrbook.c:56 index.c:112 index.c:125 pager.c:228 pager.c:238 postpone.c:69 + msgid "Del" + msgstr "Изтр." + +-#: addrbook.c:57 index.c:117 index.c:130 postpone.c:70 ++#: addrbook.c:57 index.c:113 index.c:126 postpone.c:70 + msgid "Undel" + msgstr "Възст." + +@@ -40,18 +68,18 @@ msgstr "Възст." + msgid "Select" + msgstr "Избор" + +-#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:82 browser.c:84 browser.c:96 +-#: compose.c:218 compose.c:230 conn/ssl.c:983 conn/ssl_gnutls.c:691 index.c:122 +-#: index.c:135 mutt_history.c:48 ncrypt/crypt_gpgme.c:4735 ncrypt/pgpkey.c:670 +-#: ncrypt/smime.c:553 pager.c:2326 postpone.c:71 query.c:85 recvattach.c:94 ++#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:81 browser.c:83 browser.c:95 ++#: compose.c:216 compose.c:228 conn/ssl.c:996 conn/ssl_gnutls.c:722 index.c:118 ++#: index.c:131 mutt_history.c:48 ncrypt/crypt_gpgme.c:4783 ncrypt/pgpkey.c:673 ++#: ncrypt/smime.c:555 pager.c:2297 postpone.c:71 query.c:83 recvattach.c:92 + msgid "Help" + msgstr "Помощ" + +-#: addrbook.c:208 ++#: addrbook.c:238 + msgid "You have no aliases" + msgstr "В адресната книга няма записи" + +-#: addrbook.c:215 ++#: addrbook.c:276 + msgid "Aliases" + msgstr "Псевдоними" + +@@ -60,53 +88,53 @@ msgstr "Псевдоними" + msgid "Alias as: " + msgstr "Псевдоним за адресната книга:" + +-#: alias.c:411 ++#: alias.c:414 + msgid "You already have an alias defined with that name" + msgstr "Вече има запис за този псевдоним" + +-#: alias.c:417 ++#: alias.c:420 + msgid "Warning: This alias name may not work. Fix it?" + msgstr "Предупреждение: Този псевдоним може да не работи. Желаете ли да го поправите?" + +-#: alias.c:442 ++#: alias.c:445 + msgid "Address: " + msgstr "Адрес:" + +-#: alias.c:453 commands.c:444 compose.c:744 conn/conn_raw.c:152 +-#: conn/conn_raw.c:210 recvcmd.c:232 send.c:228 ++#: alias.c:457 commands.c:450 compose.c:743 conn/conn_raw.c:152 ++#: conn/conn_raw.c:210 recvcmd.c:231 send.c:227 + #, c-format + msgid "Bad IDN: '%s'" + msgstr "Лош IDN: '%s'" + +-#: alias.c:464 ++#: alias.c:468 + msgid "Personal name: " + msgstr "Име:" + +-#: alias.c:473 ++#: alias.c:477 + #, c-format + msgid "[%s = %s] Accept?" + msgstr "[%s = %s] Запис?" + +-#: alias.c:484 recvattach.c:528 recvattach.c:550 recvattach.c:564 +-#: recvattach.c:579 recvattach.c:678 ++#: alias.c:488 recvattach.c:530 recvattach.c:552 recvattach.c:566 ++#: recvattach.c:581 recvattach.c:680 + msgid "Save to file: " + msgstr "Запис във файл:" + +-#: alias.c:503 ++#: alias.c:507 + #, fuzzy + msgid "Error reading alias file" + msgstr "Грешка при показването на файла" + +-#: alias.c:525 ++#: alias.c:529 + #, fuzzy + msgid "Trouble adding alias" + msgstr "Грешка при показването на файла" + +-#: alias.c:527 ++#: alias.c:531 + msgid "Alias added" + msgstr "Псевдонимът е добавен" + +-#: alias.c:532 ++#: alias.c:536 + #, fuzzy + msgid "Error seeking in alias file" + msgstr "Грешка при показването на файла" +@@ -116,7 +144,7 @@ msgstr "Грешка при показването на файла" + #. for some reason (e.g. autocrypt, header cache, bcache), but it + #. doesn't exist. The prompt is asking whether to create the directory + #. +-#: autocrypt/autocrypt.c:70 main.c:826 ++#: autocrypt/autocrypt.c:70 main.c:757 + #, c-format + msgid "%s does not exist. Create it?" + msgstr "%s не съществува. Да бъде ли създаден?" +@@ -125,8 +153,8 @@ msgstr "%s не съществува. Да бъде ли създаден?" + #. mkdir() on the directory %s failed. The second %s is the + #. error message returned by libc + #. +-#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:830 +-#: nntp/newsrc.c:1069 ++#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:761 ++#: nntp/newsrc.c:1098 + #, c-format + msgid "Can't create %s: %s" + msgstr "Грешка при създаване на %s: %s" +@@ -136,7 +164,7 @@ msgstr "Грешка при създаване на %s: %s" + #. create $autocrypt_dir and then prompt to create an autocrypt + #. account with this message. + #. +-#: autocrypt/autocrypt.c:156 ++#: autocrypt/autocrypt.c:163 + msgid "Create an initial autocrypt account?" + msgstr "" + +@@ -145,7 +173,7 @@ msgstr "" + #. autocrypt account. This will generate a key and add a record + #. to the database for use in autocrypt operations. + #. +-#: autocrypt/autocrypt.c:180 ++#: autocrypt/autocrypt.c:187 + msgid "Autocrypt account address: " + msgstr "" + +@@ -154,7 +182,7 @@ msgstr "" + #. a single address. This is shown if they entered something invalid, + #. nothing, or more than one address for some reason. + #. +-#: autocrypt/autocrypt.c:191 ++#: autocrypt/autocrypt.c:198 + msgid "Please enter a single email address" + msgstr "" + +@@ -163,7 +191,7 @@ msgstr "" + #. if there is already an account in the database with the email address + #. they just entered. + #. +-#: autocrypt/autocrypt.c:208 ++#: autocrypt/autocrypt.c:215 + msgid "That email address already has an autocrypt account" + msgstr "" + +@@ -175,7 +203,7 @@ msgstr "" + #. Otherwise the UI will show encryption is "available" but the user + #. will be required to enable encryption manually. + #. +-#: autocrypt/autocrypt.c:223 ++#: autocrypt/autocrypt.c:230 + #, fuzzy + msgid "Prefer encryption?" + msgstr "Шифроване" +@@ -183,7 +211,7 @@ msgstr "Шифроване" + #. L10N: + #. Message displayed after an autocrypt account is successfully created. + #. +-#: autocrypt/autocrypt.c:236 ++#: autocrypt/autocrypt.c:243 + msgid "Autocrypt account creation succeeded" + msgstr "" + +@@ -191,7 +219,7 @@ msgstr "" + #. Error message displayed if creating an autocrypt account failed + #. or was aborted by the user. + #. +-#: autocrypt/autocrypt.c:242 ++#: autocrypt/autocrypt.c:249 + msgid "Autocrypt account creation aborted" + msgstr "" + +@@ -200,7 +228,7 @@ msgstr "" + #. to use to encrypt, but it can't find a valid keyid for this address. + #. The message is printed and they are returned to the compose menu. + #. +-#: autocrypt/autocrypt.c:610 autocrypt/autocrypt.c:639 ++#: autocrypt/autocrypt.c:617 autocrypt/autocrypt.c:646 + #, fuzzy, c-format + msgid "No (valid) autocrypt key found for %s" + msgstr "Не е намерен (валиден) сертификат за %s" +@@ -212,12 +240,12 @@ msgstr "Не е намерен (валиден) сертификат за %s" + #. and used for encryption. + #. If this is answered yes, they will be prompted for a mailbox. + #. +-#: autocrypt/autocrypt.c:903 ++#: autocrypt/autocrypt.c:910 + msgid "Scan a mailbox for autocrypt headers?" + msgstr "" + + #. L10N: The prompt for a mailbox to scan for Autocrypt: headers +-#: autocrypt/autocrypt.c:907 ++#: autocrypt/autocrypt.c:914 + #, fuzzy + msgid "Scan mailbox" + msgstr "Няма пощенска кутия.\n" +@@ -229,14 +257,14 @@ msgstr "Няма пощенска кутия.\n" + #. for a mailbox. This is because this is a one-time operation + #. and I don't want them to accidentally ctrl-g and abort it. + #. +-#: autocrypt/autocrypt.c:927 ++#: autocrypt/autocrypt.c:934 + msgid "Scan another mailbox for autocrypt headers?" + msgstr "" + + #. L10N: Autocrypt Account Menu Help line: + #. create new account + #. +-#: autocrypt/autocrypt_acct_menu.c:63 ++#: autocrypt/autocrypt_acct_menu.c:62 + #, fuzzy + msgid "Create" + msgstr "Желаете ли да създадете %s?" +@@ -244,7 +272,7 @@ msgstr "Желаете ли да създадете %s?" + #. L10N: Autocrypt Account Menu Help line: + #. delete account + #. +-#: autocrypt/autocrypt_acct_menu.c:67 remailer.c:77 ++#: autocrypt/autocrypt_acct_menu.c:66 remailer.c:75 + msgid "Delete" + msgstr "Изтриване" + +@@ -252,9 +280,9 @@ msgstr "Изтриване" + #. toggle an account active/inactive + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:74 ++#: autocrypt/autocrypt_acct_menu.c:73 + msgid "Tgl Active" + msgstr "" + +@@ -262,17 +290,17 @@ msgstr "" + #. toggle "prefer-encrypt" on an account + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:81 +-msgid "Prf Enc" ++#: autocrypt/autocrypt_acct_menu.c:80 ++msgid "Prf Encr" + msgstr "" + + #. L10N: + #. Autocrypt Account menu. + #. flag that an account has prefer-encrypt set + #. +-#: autocrypt/autocrypt_acct_menu.c:123 ++#: autocrypt/autocrypt_acct_menu.c:122 + msgid "prefer encrypt" + msgstr "" + +@@ -281,7 +309,7 @@ msgstr "" + #. flag that an account has prefer-encrypt unset; + #. thus encryption will need to be manually enabled. + #. +-#: autocrypt/autocrypt_acct_menu.c:130 ++#: autocrypt/autocrypt_acct_menu.c:129 + msgid "manual encrypt" + msgstr "" + +@@ -289,7 +317,7 @@ msgstr "" + #. Autocrypt Account menu. + #. flag that an account is enabled/active + #. +-#: autocrypt/autocrypt_acct_menu.c:138 ++#: autocrypt/autocrypt_acct_menu.c:137 + msgid "active" + msgstr "" + +@@ -297,12 +325,12 @@ msgstr "" + #. Autocrypt Account menu. + #. flag that an account is disabled/inactive + #. +-#: autocrypt/autocrypt_acct_menu.c:144 ++#: autocrypt/autocrypt_acct_menu.c:143 + msgid "inactive" + msgstr "" + + #. L10N: Autocrypt Account Management Menu title +-#: autocrypt/autocrypt_acct_menu.c:183 ++#: autocrypt/autocrypt_acct_menu.c:182 + msgid "Autocrypt Accounts" + msgstr "" + +@@ -310,13 +338,13 @@ msgstr "" + #. This error message is displayed if a database update of an + #. account record fails for some odd reason. + #. +-#: autocrypt/autocrypt_acct_menu.c:245 autocrypt/autocrypt_acct_menu.c:259 ++#: autocrypt/autocrypt_acct_menu.c:244 autocrypt/autocrypt_acct_menu.c:258 + #, fuzzy + msgid "Error updating account record" + msgstr "Грешка при четене на директорията" + + #. L10N: Confirmation message when deleting an autocrypt account +-#: autocrypt/autocrypt_acct_menu.c:302 ++#: autocrypt/autocrypt_acct_menu.c:333 + #, fuzzy, c-format + msgid "Really delete account \"%s\"?" + msgstr "Действително ли желаете да изтриете пощенската кутия \"%s\"?" +@@ -334,7 +362,7 @@ msgstr "Действително ли желаете да изтриете по + msgid "Unable to open autocrypt database %s" + msgstr "Грешка при заключване на пощенската кутия!" + +-#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:774 ++#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:773 + #, fuzzy, c-format + msgid "error creating gpgme context: %s" + msgstr "грешка в шаблона при: %s" +@@ -407,336 +435,287 @@ msgstr "" + msgid "Message cache isn't a directory: %s" + msgstr "%s не е директория" + +-#: browser.c:81 ++#: browser.c:80 + msgid "Chdir" + msgstr "Директория" + +-#: browser.c:82 ++#: browser.c:81 + msgid "Goto" + msgstr "" + +-#: browser.c:83 browser.c:95 ++#: browser.c:82 browser.c:94 + msgid "Mask" + msgstr "Маска" + +-#: browser.c:91 ++#: browser.c:90 + msgid "List" + msgstr "" + +-#: browser.c:92 ++#: browser.c:91 + #, fuzzy + msgid "Subscribe" + msgstr "Абониране за %s..." + +-#: browser.c:93 ++#: browser.c:92 + #, fuzzy + msgid "Unsubscribe" + msgstr "Отписване от %s..." + +-#: browser.c:94 index.c:134 ++#: browser.c:93 index.c:130 + msgid "Catchup" + msgstr "" + +-#: browser.c:760 browser.c:1519 browser.c:1758 ++#: browser.c:763 browser.c:1584 browser.c:1825 + #, c-format + msgid "%s is not a directory" + msgstr "%s не е директория" + +-#: browser.c:1025 ++#: browser.c:1028 + #, fuzzy, c-format + msgid "Subscribed newsgroups" + msgstr "Абониране за %s..." + +-#: browser.c:1028 ++#: browser.c:1031 + #, c-format + msgid "Newsgroups on server [%s]" + msgstr "" + +-#: browser.c:1038 ++#: browser.c:1041 + #, c-format + msgid "Mailboxes [%d]" + msgstr "Пощенски кутии [%d]" + +-#: browser.c:1050 ++#: browser.c:1053 + #, c-format + msgid "Subscribed [%s], File mask: %s" + msgstr "Абониран [%s], Файлова маска: %s" + +-#: browser.c:1056 ++#: browser.c:1059 + #, c-format + msgid "Directory [%s], File mask: %s" + msgstr "Директория [%s], Файлова маска: %s" + +-#: browser.c:1113 ++#: browser.c:1116 + msgid "Can't attach a directory" + msgstr "Не може да прилагате директория" + +-#: browser.c:1380 browser.c:1814 browser.c:1959 ++#: browser.c:1445 browser.c:1881 browser.c:2026 + msgid "No files match the file mask" + msgstr "Няма файлове, отговарящи на маската" + +-#: browser.c:1587 ++#: browser.c:1654 + msgid "Create is only supported for IMAP mailboxes" + msgstr "Само IMAP пощенски кутии могат да бъдат създавани" + +-#: browser.c:1609 ++#: browser.c:1676 + #, fuzzy + msgid "Rename is only supported for IMAP mailboxes" + msgstr "Само IMAP пощенски кутии могат да бъдат създавани" + +-#: browser.c:1630 ++#: browser.c:1697 + msgid "Delete is only supported for IMAP mailboxes" + msgstr "Само IMAP пощенски кутии могат да бъдат изтривани" + +-#: browser.c:1642 ++#: browser.c:1709 + #, fuzzy + msgid "Can't delete currently selected mailbox" + msgstr "показва името на текущо маркирания файл" + +-#: browser.c:1646 ++#: browser.c:1713 + #, c-format + msgid "Really delete mailbox \"%s\"?" + msgstr "Действително ли желаете да изтриете пощенската кутия \"%s\"?" + +-#: browser.c:1663 ++#: browser.c:1730 + msgid "Mailbox deleted" + msgstr "Пощенската кутия е изтрита" + +-#: browser.c:1667 ++#: browser.c:1734 + #, fuzzy + msgid "Mailbox deletion failed" + msgstr "Пощенската кутия е изтрита" + +-#: browser.c:1670 ++#: browser.c:1737 + msgid "Mailbox not deleted" + msgstr "Пощенската кутия не е изтрита" + +-#: browser.c:1697 ++#: browser.c:1764 + msgid "Chdir to: " + msgstr "Смяна на директорията: " + +-#: browser.c:1747 browser.c:1808 ++#: browser.c:1814 browser.c:1875 + msgid "Error scanning directory" + msgstr "Грешка при четене на директорията" + +-#: browser.c:1769 ++#: browser.c:1836 + msgid "File Mask: " + msgstr "Файлова маска: " + + #. L10N: The highlighted letters must match the "Sort" options +-#: browser.c:1831 ++#: browser.c:1898 + #, fuzzy + msgid "Reverse sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "Обратно подреждане по дата(d), азбучен ред(a), размер(z) или без подреждане(n)?" + + #. L10N: The highlighted letters must match the "Reverse Sort" options +-#: browser.c:1834 ++#: browser.c:1901 + #, fuzzy + msgid "Sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "Подреждане по дата(d), азбучен ред(a), размер(z) или без подреждане(n)?" + + #. L10N: These must match the highlighted letters from "Sort" and "Reverse Sort" +-#: browser.c:1837 ++#: browser.c:1904 + msgid "dazecwn" + msgstr "" + +-#: browser.c:1948 ++#: browser.c:2015 + msgid "New file name: " + msgstr "Ново име за файла: " + +-#: browser.c:1976 ++#: browser.c:2043 + msgid "Can't view a directory" + msgstr "Директорията не може да бъде показана" + +-#: browser.c:1993 ++#: browser.c:2060 + msgid "Error trying to view file" + msgstr "Грешка при показването на файла" + +-#: browser.c:2079 ++#: browser.c:2146 + #, fuzzy, c-format + msgid "Subscribe pattern: " + msgstr "Абониране за %s..." + +-#: browser.c:2081 ++#: browser.c:2148 + #, fuzzy, c-format + msgid "Unsubscribe pattern: " + msgstr "Отписване от %s..." + +-#: browser.c:2101 ++#: browser.c:2169 + #, fuzzy + msgid "No newsgroups match the mask" + msgstr "Няма файлове, отговарящи на маската" + +-#: color.c:633 color.c:644 +-#, c-format +-msgid "%s: color not supported by term" +-msgstr "%s: терминалът не поддържа цветове" +- +-#: color.c:652 +-#, c-format +-msgid "%s: no such color" +-msgstr "%s: няма такъв цвят" +- +-#: color.c:717 color.c:740 color.c:751 color.c:842 +-#, c-format +-msgid "%s: no such object" +-msgstr "%s: няма такъв обект" +- +-#: color.c:731 color.c:868 color.c:1069 color.c:1098 color.c:1122 color.c:1191 +-#: color.c:1214 hook.c:110 hook.c:124 hook.c:367 hook.c:383 init.c:612 +-#: init.c:620 init.c:709 init.c:1099 init.c:1267 init.c:1871 init.c:1929 +-#: keymap.c:1184 score.c:110 +-#, c-format +-msgid "%s: too few arguments" +-msgstr "%s: недостатъчно аргументи" +- +-#: color.c:1142 +-#, c-format +-msgid "%s: no such attribute" +-msgstr "%s: няма такъв атрибут" +- +-#: color.c:1223 color.c:1329 hook.c:131 hook.c:390 init.c:1123 init.c:2133 +-#: init.c:2611 keymap.c:1116 keymap.c:1289 keymap.c:1442 keymap.c:1506 +-#: mutt_lua.c:483 score.c:119 +-#, c-format +-msgid "%s: too many arguments" +-msgstr "%s: твърде много аргументи" +- +-#: color.c:1244 +-msgid "default colors not supported" +-msgstr "стандартните цветове не се поддържат" +- +-#: color.c:1282 +-#, c-format +-msgid "Maximum quoting level is %d" +-msgstr "" +- +-#: color.c:1319 +-#, fuzzy, c-format +-msgid "%s: invalid number: %s" +-msgstr "%d: невалиден номер на писмо.\n" +- + #. L10N: Used for the $crypt_verify_sig prompt +-#: commands.c:230 ++#: commands.c:232 + msgid "Verify signature?" + msgstr "Желаете ли да потвърдите истинността на подписа?" + +-#: commands.c:257 mbox/mbox.c:1236 ++#: commands.c:259 mbox/mbox.c:1236 + msgid "Could not create temporary file" + msgstr "Невъзможно създаването на временен файл" + +-#: commands.c:269 ++#: commands.c:271 + msgid "Can't create display filter" + msgstr "Филтърът не може да бъде създаден" + +-#: commands.c:302 ++#: commands.c:304 + msgid "Could not copy message" + msgstr "Писмото не може да бъде копирано." + +-#: commands.c:338 ++#: commands.c:340 + msgid "S/MIME signature successfully verified" + msgstr "S/MIME-подписът е потвърден успешно" + +-#: commands.c:340 ++#: commands.c:342 + msgid "S/MIME certificate owner does not match sender" + msgstr "Притежателят на S/MIME сертификата не съвпада с подателя на писмото" + +-#: commands.c:343 commands.c:353 ++#: commands.c:345 commands.c:355 + msgid "Warning: Part of this message has not been signed" + msgstr "" + +-#: commands.c:345 ++#: commands.c:347 + msgid "S/MIME signature could NOT be verified" + msgstr "S/MIME-подписът НЕ е потвърден успешно" + +-#: commands.c:351 ++#: commands.c:353 + msgid "PGP signature successfully verified" + msgstr "PGP-подписът е потвърден успешно" + +-#: commands.c:355 ++#: commands.c:357 + msgid "PGP signature could NOT be verified" + msgstr "PGP-подписът НЕ е потвърден успешно" + +-#: commands.c:372 compose.c:2116 compress.c:321 curs_lib.c:359 curs_lib.c:646 +-#: index.c:1235 index.c:1285 mutt_attach.c:159 mutt_attach.c:292 pager.c:2460 +-#: sendlib.c:1625 ++#: commands.c:378 compose.c:2187 compress/compress.c:320 gui/curs_lib.c:360 ++#: gui/curs_lib.c:714 index.c:1240 index.c:1290 mutt_attach.c:161 ++#: mutt_attach.c:294 pager.c:2433 sendlib.c:1624 + #, c-format + msgid "Error running \"%s\"" + msgstr "Грешка при изпълнението на \"%s\"" + +-#: commands.c:382 ++#: commands.c:388 + msgid "Command: " + msgstr "Команда: " + +-#: commands.c:419 recvcmd.c:191 recvcmd.c:203 ++#: commands.c:425 recvcmd.c:190 recvcmd.c:202 + msgid "Warning: message contains no From: header" + msgstr "" + +-#: commands.c:425 recvcmd.c:212 ++#: commands.c:431 recvcmd.c:211 + #, fuzzy + msgid "Bounce message to: " + msgstr "Препращане на писмото към: " + +-#: commands.c:427 recvcmd.c:214 ++#: commands.c:433 recvcmd.c:213 + #, fuzzy + msgid "Bounce tagged messages to: " + msgstr "Препращане на маркираните писма към: " + +-#: commands.c:436 recvcmd.c:224 ++#: commands.c:442 recvcmd.c:223 + msgid "Error parsing address" + msgstr "Грешка при разчитане на адресът" + +-#: commands.c:455 recvcmd.c:243 ++#: commands.c:461 recvcmd.c:242 + #, fuzzy, c-format + msgid "Bounce message to %s?" + msgid_plural "Bounce messages to %s?" + msgstr[0] "Препращане на писмото към %s?" + msgstr[1] "Препращане на писмото към %s?" + +-#: commands.c:470 recvcmd.c:257 ++#: commands.c:476 recvcmd.c:257 + #, fuzzy + msgid "Message not bounced" + msgid_plural "Messages not bounced" + msgstr[0] "Писмото не е препратено" + msgstr[1] "Писмата не са препратени" + +-#: commands.c:496 recvcmd.c:276 ++#: commands.c:502 recvcmd.c:276 + #, fuzzy + msgid "Message bounced" + msgid_plural "Messages bounced" + msgstr[0] "Писмото е препратено" + msgstr[1] "Писмата са препратени" + +-#: commands.c:606 commands.c:642 commands.c:662 ++#: commands.c:612 commands.c:648 commands.c:668 + msgid "Can't create filter process" + msgstr "Грешка при създаването на филтър" + +-#: commands.c:698 ++#: commands.c:704 + msgid "Pipe to command: " + msgstr "Изпращане към команда (pipe): " + +-#: commands.c:720 ++#: commands.c:726 + msgid "No printing command has been defined" + msgstr "Не е дефинирана команда за отпечатване" + +-#: commands.c:732 ++#: commands.c:738 + #, fuzzy + msgid "Print message?" + msgstr "Желаете ли да отпечатате писмото?" + +-#: commands.c:733 ++#: commands.c:739 + #, fuzzy + msgid "Print tagged messages?" + msgstr "Желаете ли да отпечатате маркираните писма?" + +-#: commands.c:739 ++#: commands.c:745 + #, fuzzy + msgid "Message printed" + msgid_plural "Messages printed" + msgstr[0] "Писмото е отпечатано" + msgstr[1] "Писмата са отпечатани" + +-#: commands.c:742 ++#: commands.c:748 + #, fuzzy + msgid "Message could not be printed" + msgid_plural "Messages could not be printed" +@@ -744,165 +723,334 @@ msgstr[0] "Писмото не е отпечатано" + msgstr[1] "Писмата не са отпечатани" + + #. L10N: The highlighted letters must match the "Sort" options +-#: commands.c:759 ++#: commands.c:765 + #, fuzzy + msgid "Rev-Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "Обратно подреждане по: дата на изпращане(d)/от(f)/дата на получаване(r)/тема(s)/получател(o)/нишка(t)/без подреждане(u)/размер(z)/важност(c)?" + + #. L10N: The highlighted letters must match the "Rev-Sort" options +-#: commands.c:763 ++#: commands.c:769 + #, fuzzy + msgid "Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "Подреждане по: дата на изпращане(d)/от(f)/дата на получаване(r)/тема(s)/получател(o)/нишка(t)/без подреждане(u)/размер(z)/важност(c)?" + + #. L10N: These must match the highlighted letters from "Sort" and "Rev-Sort" +-#: commands.c:767 ++#: commands.c:773 + #, fuzzy + msgid "dfrsotuzcpl" + msgstr "dfrsotuzc" + +-#: commands.c:831 ++#: commands.c:837 + msgid "Shell command: " + msgstr "Шел команда: " + +-#: commands.c:1036 ++#: commands.c:1042 + #, fuzzy + msgid "Decode-save to mailbox" + msgstr "Декодиране и запис на в пощенска кутия" + +-#: commands.c:1036 ++#: commands.c:1042 + #, fuzzy + msgid "Decode-save tagged to mailbox" + msgstr "Декодиране и запис на маркиран в пощенска кутия" + +-#: commands.c:1038 ++#: commands.c:1044 + #, fuzzy + msgid "Decrypt-save to mailbox" + msgstr "Дешифриране и запис на в пощенска кутия" + +-#: commands.c:1038 ++#: commands.c:1044 + #, fuzzy + msgid "Decrypt-save tagged to mailbox" + msgstr "Дешифриране и запис на маркиран в пощенска кутия" + +-#: commands.c:1040 ++#: commands.c:1046 + #, fuzzy + msgid "Save to mailbox" + msgstr "Запис на в пощенска кутия" + +-#: commands.c:1040 ++#: commands.c:1046 + #, fuzzy + msgid "Save tagged to mailbox" + msgstr "Запис на маркиран в пощенска кутия" + +-#: commands.c:1045 ++#: commands.c:1051 + #, fuzzy + msgid "Decode-copy to mailbox" + msgstr "Декодиране и копиране на в пощенска кутия" + +-#: commands.c:1045 ++#: commands.c:1051 + #, fuzzy + msgid "Decode-copy tagged to mailbox" + msgstr "Декодиране и копиране на маркиран в пощенска кутия" + +-#: commands.c:1047 ++#: commands.c:1053 + #, fuzzy + msgid "Decrypt-copy to mailbox" + msgstr "Дешифриране и запис на в пощенска кутия" + +-#: commands.c:1047 ++#: commands.c:1053 + #, fuzzy + msgid "Decrypt-copy tagged to mailbox" + msgstr "Дешифриране и запис на маркиран в пощенска кутия" + +-#: commands.c:1049 ++#: commands.c:1055 + #, fuzzy + msgid "Copy to mailbox" + msgstr "Копиране на в пощенска кутия" + +-#: commands.c:1049 ++#: commands.c:1055 + #, fuzzy + msgid "Copy tagged to mailbox" + msgstr "Копиране на маркиран в пощенска кутия" + +-#: commands.c:1092 ++#: commands.c:1098 + #, c-format + msgid "Copying to %s..." + msgstr "Създаване на копие в %s..." + + #. L10N: e.g. "text/plain; charset=UTF-8; ..." +-#: commands.c:1257 ++#: commands.c:1263 + #, fuzzy + msgid "Content type is too long" + msgstr "Content-Type е променен на %s" + +-#: commands.c:1281 ++#: commands.c:1290 + #, c-format + msgid "Convert to %s upon sending?" + msgstr "Желаете ли да го конвертирате до %s при изпращане?" + +-#: commands.c:1292 ++#: commands.c:1301 + #, c-format + msgid "Content-Type changed to %s" + msgstr "Content-Type е променен на %s" + +-#: commands.c:1297 ++#: commands.c:1306 + #, fuzzy, c-format + msgid "Character set changed to %s; not converting" + msgstr "Кодовата таблица е променена на %s; не е конвертирано" + +-#: commands.c:1298 ++#: commands.c:1307 + #, fuzzy, c-format + msgid "Character set changed to %s; converting" + msgstr "Кодовата таблица е променена на %s; конвертирано" + +-#: compose.c:99 ++#: command_parse.c:83 command_parse.c:211 command_parse.c:219 ++#: command_parse.c:740 command_parse.c:887 command_parse.c:1491 ++#: command_parse.c:1549 gui/color.c:731 gui/color.c:868 gui/color.c:1069 ++#: gui/color.c:1098 gui/color.c:1122 gui/color.c:1191 gui/color.c:1214 ++#: hook.c:110 hook.c:124 hook.c:372 hook.c:388 keymap.c:1182 score.c:110 ++#, c-format ++msgid "%s: too few arguments" ++msgstr "%s: недостатъчно аргументи" ++ ++#: command_parse.c:394 ++msgid "-group: no group name" ++msgstr "" ++ ++#: command_parse.c:404 ++#, fuzzy ++msgid "out of arguments" ++msgstr "недостатъчно аргументи" ++ ++#: command_parse.c:445 command_parse.c:1372 ++#, c-format ++msgid "Error: Can't build path of '%s'" ++msgstr "" ++ ++#: command_parse.c:458 ++#, c-format ++msgid "Error: Cyclic sourcing of configuration file '%s'" ++msgstr "" ++ ++#: command_parse.c:491 ++#, c-format ++msgid "Error in %s, line %d: %s" ++msgstr "Грешка в %s, ред %d: %s" ++ ++#: command_parse.c:502 ++#, fuzzy, c-format ++msgid "Warning in %s, line %d: %s" ++msgstr "Грешка в %s, ред %d: %s" ++ ++#: command_parse.c:526 ++#, c-format ++msgid "source: errors in %s" ++msgstr "source: грешки в %s" ++ ++#: command_parse.c:526 ++#, fuzzy, c-format ++msgid "source: reading aborted due to too many errors in %s" ++msgstr "source: вмъкването е прекъснато поради твърде много грешки в %s" ++ ++#: command_parse.c:535 ++#, fuzzy, c-format ++msgid "source: %d warning in %s" ++msgid_plural "source: %d warnings in %s" ++msgstr[0] "source: грешки в %s" ++msgstr[1] "source: грешки в %s" ++ ++#: command_parse.c:564 ++msgid "alias: no address" ++msgstr "alias: няма адрес" ++ ++#: command_parse.c:606 ++#, c-format ++msgid "Warning: Bad IDN '%s' in alias '%s'" ++msgstr "Предупреждение: Лош IDN '%s' в псевдонима '%s'" ++ ++#: command_parse.c:684 ++#, fuzzy ++msgid "attachments: no disposition" ++msgstr "променя описанието на приложението" ++ ++#: command_parse.c:695 ++#, fuzzy ++msgid "Current attachments settings:" ++msgstr "променя описанието на приложението" ++ ++#: command_parse.c:725 ++#, fuzzy ++msgid "attachments: invalid disposition" ++msgstr "променя описанието на приложението" ++ ++#: command_parse.c:764 command_parse.c:1753 command_parse.c:2205 ++#: gui/color.c:1223 gui/color.c:1329 hook.c:131 hook.c:395 keymap.c:1114 ++#: keymap.c:1287 keymap.c:1440 keymap.c:1504 mutt_lua.c:485 score.c:119 ++#, c-format ++msgid "%s: too many arguments" ++msgstr "%s: твърде много аргументи" ++ ++#: command_parse.c:801 ++#, c-format ++msgid "%sgroup: missing -rx or -addr" ++msgstr "" ++ ++#: command_parse.c:827 ++#, fuzzy, c-format ++msgid "%sgroup: warning: bad IDN '%s'" ++msgstr "Предупреждение: Лош IDN '%s' в псевдонима '%s'" ++ ++#: command_parse.c:898 ++#, c-format ++msgid "Error: %s" ++msgstr "" ++ ++#: command_parse.c:1065 ++msgid "invalid header field" ++msgstr "невалидно заглавно поле" ++ ++#: command_parse.c:1331 command_parse.c:1435 ++#, c-format ++msgid "%s: unknown variable" ++msgstr "%s: непозната променлива" ++ ++#: command_parse.c:1528 ++#, c-format ++msgid "%s is unset" ++msgstr "%s е изключен" ++ ++#: command_parse.c:1573 mutt_lua.c:480 ++#, c-format ++msgid "source: error at %s" ++msgstr "source: грешка при %s" ++ ++#: command_parse.c:1581 ++#, fuzzy, c-format ++msgid "source: file %s could not be sourced" ++msgstr "Писмата не са отпечатани" ++ ++#: command_parse.c:1604 ++#, fuzzy ++msgid "spam: no matching pattern" ++msgstr "маркира писма, отговарящи на шаблон" ++ ++#: command_parse.c:1606 ++#, fuzzy ++msgid "nospam: no matching pattern" ++msgstr "премахва маркировката от писма, отговарящи на шаблон" ++ ++#: command_parse.c:1762 imap/imap.c:1443 ++#, fuzzy, c-format ++msgid "Subscribed to %s" ++msgstr "Абониране за %s..." ++ ++#: command_parse.c:1766 ++#, fuzzy, c-format ++msgid "Could not subscribe to %s" ++msgstr "Абониране за %s..." ++ ++#: command_parse.c:1774 command_parse.c:2226 ++#, fuzzy ++msgid "No folder specified" ++msgstr "Липсва тема." ++ ++#: command_parse.c:1943 ++#, fuzzy ++msgid "unattachments: no disposition" ++msgstr "променя описанието на приложението" ++ ++#: command_parse.c:1981 ++msgid "unattachments: invalid disposition" ++msgstr "" ++ ++#: command_parse.c:2214 imap/imap.c:1445 ++#, fuzzy, c-format ++msgid "Unsubscribed from %s" ++msgstr "Отписване от %s..." ++ ++#: command_parse.c:2218 ++#, fuzzy, c-format ++msgid "Could not unsubscribe from %s" ++msgstr "Отписване от %s..." ++ ++#: compose.c:97 + msgid "There are no attachments" + msgstr "Няма приложения" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:166 ++#: compose.c:164 + msgid "From: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:168 send.c:284 ++#: compose.c:166 send.c:284 + msgid "To: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:170 send.c:286 ++#: compose.c:168 send.c:286 + msgid "Cc: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:172 send.c:288 ++#: compose.c:170 send.c:288 + msgid "Bcc: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:174 compose.c:1242 send.c:320 ++#: compose.c:172 compose.c:1302 send.c:320 + msgid "Subject: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:176 ++#: compose.c:174 + #, fuzzy + msgid "Reply-To: " + msgstr "Отговор" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:178 compose.c:1261 ++#: compose.c:176 compose.c:1321 + msgid "Fcc: " + msgstr "" + + #. L10N: "Mix" refers to the MixMaster chain for anonymous email +-#: compose.c:181 ++#: compose.c:179 + msgid "Mix: " + msgstr "" + + #. L10N: Compose menu field. Holds "Encrypt", "Sign" related information +-#: compose.c:184 ++#: compose.c:182 + msgid "Security: " + msgstr "" + +@@ -913,78 +1061,78 @@ msgstr "" + #. it should not be longer than the other compose menu fields. + #. Since it shares the row with "Encrypt with:", it should not be longer + #. than 15-20 character cells. +-#: compose.c:192 ncrypt/crypt_gpgme.c:5602 ncrypt/pgp.c:1974 +-#: ncrypt/smime.c:2395 ++#: compose.c:190 ncrypt/crypt_gpgme.c:5682 ncrypt/pgp.c:1976 ++#: ncrypt/smime.c:2429 + msgid "Sign as: " + msgstr "Подпис като: " + + #. L10N: The compose menu autocrypt line +-#: compose.c:195 ++#: compose.c:193 + msgid "Autocrypt: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:199 ++#: compose.c:197 + msgid "Newsgroups: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:201 ++#: compose.c:199 + #, fuzzy + msgid "Followup-To: " + msgstr "Желаете ли да проследите до %s%s?" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:203 ++#: compose.c:201 + #, fuzzy + msgid "X-Comment-To: " + msgstr "редактира получателя на отговор от писмото (Reply-To)" + +-#: compose.c:208 compose.c:224 ++#: compose.c:206 compose.c:222 + msgid "Send" + msgstr "Изпращане" + +-#: compose.c:209 compose.c:225 remailer.c:77 ++#: compose.c:207 compose.c:223 remailer.c:75 + msgid "Abort" + msgstr "Отказ" + + #. L10N: compose menu help line entry +-#: compose.c:211 ++#: compose.c:209 + msgid "To" + msgstr "" + + #. L10N: compose menu help line entry +-#: compose.c:213 ++#: compose.c:211 + msgid "CC" + msgstr "" + + #. L10N: compose menu help line entry +-#: compose.c:215 compose.c:227 ++#: compose.c:213 compose.c:225 + msgid "Subj" + msgstr "" + +-#: compose.c:216 compose.c:228 compose.c:1556 ++#: compose.c:214 compose.c:226 compose.c:1616 + msgid "Attach file" + msgstr "Прилагане на файл" + +-#: compose.c:217 compose.c:229 ++#: compose.c:215 compose.c:227 + msgid "Descrip" + msgstr "Описание" + +-#: compose.c:226 ++#: compose.c:224 + #, fuzzy + msgid "Newsgroups" + msgstr "Липсва тема." + + #. L10N: Autocrypt recommendation flag: off. + #. * This is displayed when Autocrypt is turned off. +-#: compose.c:239 compose.c:473 ++#: compose.c:237 compose.c:472 + msgid "Off" + msgstr "" + + #. L10N: Autocrypt recommendation flag: no. + #. * This is displayed when Autocrypt cannot encrypt to the recipients. +-#: compose.c:242 ++#: compose.c:240 + msgid "No" + msgstr "" + +@@ -992,7 +1140,7 @@ msgstr "" + #. * This is displayed when Autocrypt believes encryption should not be used. + #. * This might occur if one of the recipient Autocrypt Keys has not been + #. * used recently, or if the only key available is a Gossip Header key. +-#: compose.c:247 ++#: compose.c:245 + msgid "Discouraged" + msgstr "" + +@@ -1000,14 +1148,14 @@ msgstr "" + #. * This is displayed when Autocrypt believes encryption is possible, but + #. * leaves enabling it up to the sender. Probably because "prefer encrypt" + #. * is not set in both the sender and recipient keys. +-#: compose.c:252 ++#: compose.c:250 + msgid "Available" + msgstr "" + + #. L10N: Autocrypt recommendation flag: yes. + #. * This is displayed when Autocrypt would normally enable encryption + #. * automatically. +-#: compose.c:256 ++#: compose.c:254 + #, fuzzy + msgid "Yes" + msgstr "yes" +@@ -1018,7 +1166,7 @@ msgstr "yes" + #. (c)lear sets cleartext. + #. (a)utomatic defers to the recommendation. + #. +-#: compose.c:338 ++#: compose.c:337 + msgid "Autocrypt: (e)ncrypt, (c)lear, (a)utomatic?" + msgstr "" + +@@ -1026,53 +1174,53 @@ msgstr "" + #. The letter corresponding to the compose menu autocrypt prompt + #. (e)ncrypt, (c)lear, (a)utomatic + #. +-#: compose.c:346 ++#: compose.c:345 + msgid "eca" + msgstr "" + +-#: compose.c:383 ++#: compose.c:382 + #, fuzzy + msgid "Not supported" + msgstr "Маркирането не се поддържа." + +-#: compose.c:390 ++#: compose.c:389 + msgid "Sign, Encrypt" + msgstr "Подпис, Шифроване" + +-#: compose.c:395 compose.c:468 ++#: compose.c:394 compose.c:467 + msgid "Encrypt" + msgstr "Шифроване" + +-#: compose.c:400 ++#: compose.c:399 + msgid "Sign" + msgstr "Подпис" + +-#: compose.c:406 ++#: compose.c:405 + msgid "None" + msgstr "" + +-#: compose.c:415 ++#: compose.c:414 + #, fuzzy + msgid " (inline PGP)" + msgstr "(по-нататък)\n" + +-#: compose.c:417 ++#: compose.c:416 + msgid " (PGP/MIME)" + msgstr "" + +-#: compose.c:420 ++#: compose.c:419 + msgid " (S/MIME)" + msgstr "" + +-#: compose.c:424 ++#: compose.c:423 + msgid " (OppEnc mode)" + msgstr "" + +-#: compose.c:436 compose.c:445 ++#: compose.c:435 compose.c:444 + msgid "" + msgstr "<по подразбиране>" + +-#: compose.c:452 ++#: compose.c:451 + msgid "Encrypt with: " + msgstr "Шифроване c: " + +@@ -1081,12 +1229,12 @@ msgstr "Шифроване c: " + #. Displays the output of the recommendation engine + #. (Off, No, Discouraged, Available, Yes) + #. +-#: compose.c:483 ++#: compose.c:482 + #, fuzzy + msgid "Recommendation: " + msgstr "редактира получателя на отговор от писмото (Reply-To)" + +-#: compose.c:547 ++#: compose.c:546 + msgid "" + msgstr "" + +@@ -1097,7 +1245,7 @@ msgstr "" + #. The filename is located last to avoid a long path hiding the + #. error message. + #. +-#: compose.c:601 ++#: compose.c:600 + #, fuzzy, c-format + msgid "Attachment #%d no longer exists: %s" + msgstr "%s [#%d] вече не съществува" +@@ -1109,242 +1257,362 @@ msgstr "%s [#%d] вече не съществува" + #. The filename is located last to avoid a long path hiding the + #. prompt question. + #. +-#: compose.c:621 ++#: compose.c:620 + #, fuzzy, c-format + msgid "Attachment #%d modified. Update encoding for %s?" + msgstr "%s [#%d] е променено. Желаете ли да опресните кодирането?" + +-#: compose.c:716 ++#: compose.c:715 + msgid "-- Attachments" + msgstr "-- Приложения" + +-#: compose.c:770 ++#: compose.c:769 + msgid "You may not delete the only attachment" + msgstr "Не може да изтриете единствената част на писмото" + +-#: compose.c:1296 edit.c:538 send.c:2462 ++#: compose.c:1356 edit.c:536 send.c:2473 + #, c-format + msgid "Bad IDN in '%s': '%s'" + msgstr "Лош IDN в '%s': '%s'" + +-#: compose.c:1347 ++#: compose.c:1407 + #, fuzzy + msgid "Attachment is already at top" + msgstr "Приложението е записано на диска" + +-#: compose.c:1352 compose.c:1368 ++#: compose.c:1412 compose.c:1428 + #, fuzzy + msgid "The fundamental part can't be moved" + msgstr "Това приложение няма да бъде прекодирано" + +-#: compose.c:1363 ++#: compose.c:1423 + #, fuzzy + msgid "Attachment is already at bottom" + msgstr "Приложението е филтрирано" + +-#: compose.c:1381 ++#: compose.c:1441 + msgid "Grouping 'alternatives' requires at least 2 tagged messages" + msgstr "" + +-#: compose.c:1462 ++#: compose.c:1522 + msgid "Grouping 'multilingual' requires at least 2 tagged messages" + msgstr "" + +-#: compose.c:1475 ++#: compose.c:1535 + msgid "Not all parts have 'Content-Language' set, continue?" + msgstr "" + +-#: compose.c:1477 ++#: compose.c:1537 + #, fuzzy + msgid "Not sending this message" + msgstr "Грешка при изпращане на писмото" + +-#: compose.c:1571 ++#: compose.c:1631 + #, fuzzy + msgid "Attaching selected file..." + msgid_plural "Attaching selected files..." + msgstr[0] "Прилагане на избраните файлове..." + msgstr[1] "Прилагане на избраните файлове..." + +-#: compose.c:1585 ++#: compose.c:1645 + #, c-format + msgid "Unable to attach %s" + msgstr "Прилагането на %s е невъзможно" + +-#: compose.c:1606 ++#: compose.c:1666 + msgid "Open mailbox to attach message from" + msgstr "Отваряне на пощенска кутия, от която да бъде приложено писмо" + +-#: compose.c:1616 ++#: compose.c:1676 + #, fuzzy + msgid "Open newsgroup to attach message from" + msgstr "Отваряне на пощенска кутия, от която да бъде приложено писмо" + +-#: compose.c:1667 ++#: compose.c:1730 + #, fuzzy, c-format + msgid "Unable to open mailbox %s" + msgstr "Грешка при заключване на пощенската кутия!" + +-#: compose.c:1676 ++#: compose.c:1739 + msgid "No messages in that folder" + msgstr "В тази кутия няма писма" + +-#: compose.c:1686 ++#: compose.c:1749 + msgid "Tag the messages you want to attach" + msgstr "Маркирайте писмата, които искате да приложите" + +-#: compose.c:1715 ++#: compose.c:1785 + msgid "Unable to attach" + msgstr "Прилагането е невъзможно" + +-#: compose.c:1752 ++#: compose.c:1822 + msgid "Recoding only affects text attachments" + msgstr "Промяната на кодирането засяга само текстовите приложения" + +-#: compose.c:1757 ++#: compose.c:1827 + msgid "The current attachment won't be converted" + msgstr "Това приложение няма да бъде прекодирано" + +-#: compose.c:1759 ++#: compose.c:1829 + msgid "The current attachment will be converted" + msgstr "Това приложение ще бъде прекодирано" + +-#: compose.c:1831 ++#: compose.c:1901 + msgid "Empty 'Content-Language'" + msgstr "" + +-#: compose.c:1849 ++#: compose.c:1920 + msgid "Invalid encoding" + msgstr "Избрано е невалидно кодиране" + +-#: compose.c:1871 ++#: compose.c:1942 + msgid "Save a copy of this message?" + msgstr "Желаете ли да запазите копие от това писмо?" + +-#: compose.c:1924 ++#: compose.c:1995 + #, fuzzy + msgid "Send attachment with name: " + msgstr "показва приложението като текст" + +-#: compose.c:1939 ++#: compose.c:2010 + msgid "Rename to: " + msgstr "Преименуване в: " + + #. L10N: "stat" is a system call. Do "man 2 stat" for more information. +-#: compose.c:1946 editmsg.c:102 editmsg.c:138 sendlib.c:1050 ++#: compose.c:2017 editmsg.c:102 editmsg.c:138 sendlib.c:1049 + #, c-format + msgid "Can't stat %s: %s" + msgstr "Грешка при отваряне на %s: %s" + +-#: compose.c:1966 ++#: compose.c:2037 + msgid "New file: " + msgstr "Нов файл: " + +-#: compose.c:1984 ++#: compose.c:2055 + msgid "Content-Type is of the form base/sub" + msgstr "Полето Content-Type има формата базов-тип/подтип" + +-#: compose.c:1991 ++#: compose.c:2062 + #, c-format + msgid "Unknown Content-Type %s" + msgstr "Непознат Content-Type %s" + +-#: compose.c:1999 ++#: compose.c:2070 + #, c-format + msgid "Can't create file %s" + msgstr "Грешка при създаване на файла %s" + +-#: compose.c:2008 ++#: compose.c:2079 + msgid "What we have here is a failure to make an attachment" + msgstr "Грешка при създаване на приложението" + +-#: compose.c:2073 ++#: compose.c:2144 + #, fuzzy + msgid "Save (postpone) draft message?" + msgstr "Желаете ли да редактирате чернова?" + +-#: compose.c:2133 ++#: compose.c:2204 + msgid "Write message to mailbox" + msgstr "Запис на писмото в пощенска кутия" + +-#: compose.c:2136 ++#: compose.c:2207 + #, c-format + msgid "Writing message to %s ..." + msgstr "Записване на писмото в %s ..." + +-#: compose.c:2143 ++#: compose.c:2214 + msgid "Message written" + msgstr "Писмото е записано" + +-#: compose.c:2154 ++#: compose.c:2225 + msgid "No PGP backend configured" + msgstr "" + +-#: compose.c:2161 compose.c:2225 ++#: compose.c:2232 compose.c:2296 + #, fuzzy + msgid "S/MIME already selected. Clear and continue?" + msgstr "S/MIME-шифроване вече е избрано. Clear and continue?" + +-#: compose.c:2186 ++#: compose.c:2257 + msgid "No S/MIME backend configured" + msgstr "" + +-#: compose.c:2194 ++#: compose.c:2265 + #, fuzzy + msgid "PGP already selected. Clear and continue?" + msgstr "PGP-шифроване вече е избрано. Clear and continue?" + +-#: compress.c:355 compress.c:499 ++#: compress/compress.c:354 compress/compress.c:498 + #, c-format + msgid "Can't append without an append-hook or close-hook : %s" + msgstr "" + +-#: compress.c:444 compress.c:511 compress.c:590 compress.c:628 mbox/mbox.c:1208 ++#: compress/compress.c:443 compress/compress.c:510 compress/compress.c:589 ++#: compress/compress.c:627 mbox/mbox.c:1208 + msgid "Unable to lock mailbox" + msgstr "Грешка при заключване на пощенската кутия" + +-#: compress.c:448 compress.c:518 compress.c:594 ++#: compress/compress.c:447 compress/compress.c:517 compress/compress.c:593 + #, c-format + msgid "Decompressing %s" + msgstr "" + +-#: compress.c:457 ++#: compress/compress.c:456 + msgid "Can't identify the contents of the compressed file" + msgstr "" + +-#: compress.c:464 compress.c:539 ++#: compress/compress.c:463 compress/compress.c:538 + #, c-format + msgid "Can't find mailbox ops for mailbox type %d" + msgstr "" + +-#: compress.c:521 ++#: compress/compress.c:520 + #, fuzzy, c-format + msgid "Compress command failed: %s" + msgstr "Грешка при изпълнение на командата \"preconnect\"" + +-#: compress.c:532 ++#: compress/compress.c:531 + msgid "Unsupported mailbox type for appending" + msgstr "" + +-#: compress.c:618 ++#: compress/compress.c:617 + msgid "Can't sync a compressed file without a close-hook" + msgstr "" + +-#: compress.c:640 compress.c:692 ++#: compress/compress.c:639 compress/compress.c:691 + #, fuzzy, c-format + msgid "Compressing %s" + msgstr "Създаване на копие в %s..." + +-#: compress.c:687 ++#: compress/compress.c:686 + #, fuzzy, c-format + msgid "Compressed-appending to %s..." + msgstr "Създаване на копие в %s..." + +-#: compress.c:699 editmsg.c:247 ++#: compress/compress.c:698 editmsg.c:247 + #, c-format + msgid "Error. Preserving temporary file: %s" + msgstr "Грешка. Запазване на временния файл: %s" + ++#: config/bool.c:70 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %s" ++msgstr "Невалидна дата: %s" ++ ++#: config/bool.c:131 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %ld" ++msgstr "Невалидна дата: %s" ++ ++#: config/enum.c:62 ++#, fuzzy, c-format ++msgid "Invalid enum value: %s" ++msgstr "%d: невалиден номер на писмо.\n" ++ ++#: config/enum.c:149 ++#, fuzzy, c-format ++msgid "Invalid enum value: %ld" ++msgstr "Невалиден ден от месеца: %s" ++ ++#: config/long.c:50 ++#, fuzzy, c-format ++msgid "Invalid long: %s" ++msgstr "Невалиден месец: %s" ++ ++#: config/long.c:56 config/long.c:114 config/number.c:68 config/number.c:133 ++#, fuzzy, c-format ++msgid "Option %s may not be negative" ++msgstr "Тази функция не може да се изпълни при прилагане на писма." ++ ++#: config/number.c:49 config/sort.c:145 config/string.c:75 config/string.c:159 ++#, c-format ++msgid "Option %s may not be empty" ++msgstr "" ++ ++#: config/number.c:56 ++#, fuzzy, c-format ++msgid "Invalid number: %s" ++msgstr "%d: невалиден номер на писмо.\n" ++ ++#: config/number.c:62 ++#, c-format ++msgid "Number is too big: %s" ++msgstr "" ++ ++#: config/number.c:127 ++#, fuzzy, c-format ++msgid "Invalid number: %ld" ++msgstr "%d: невалиден номер на писмо.\n" ++ ++#: config/quad.c:69 ++#, fuzzy, c-format ++msgid "Invalid quad value: %s" ++msgstr "Невалидна дата: %s" ++ ++#: config/quad.c:133 ++#, fuzzy, c-format ++msgid "Invalid quad value: %ld" ++msgstr "Невалиден ден от месеца: %s" ++ ++#: config/set.c:102 ++#, c-format ++msgid "No such variable: %s" ++msgstr "" ++ ++#: config/set.c:134 config/set.c:821 ++#, fuzzy, c-format ++msgid "Variable '%s' has an invalid type %d" ++msgstr "Грешка: '%s' е невалиден IDN" ++ ++#: config/set.c:399 config/set.c:463 config/set.c:528 config/set.c:601 ++#: config/set.c:671 config/set.c:744 ++#, fuzzy, c-format ++msgid "Unknown variable '%s'" ++msgstr "%s: непозната променлива" ++ ++#: config/sort.c:192 ++#, fuzzy, c-format ++msgid "Invalid sort name: %s" ++msgstr "Невалидна дата: %s" ++ ++#: config/sort.c:322 ++#, fuzzy, c-format ++msgid "Invalid sort type: %ld" ++msgstr "Невалидна дата: %s" ++ ++#. L10N: Example: Username at myhost.com ++#: conn/connaccount.c:61 ++#, c-format ++msgid "Username at %s: " ++msgstr "Потребителско име на %s: " ++ ++#: conn/connaccount.c:117 ++#, c-format ++msgid "Password for %s@%s: " ++msgstr "Парола за %s@%s: " ++ ++#. L10N: You will see this error message if (1) you have "oauthbearer" in ++#. one of your $*_authenticators and (2) you do not have the corresponding ++#. $*_oauth_refresh_command defined. So the message does not mean "None of ++#. your $*_oauth_refresh_command's are defined." ++#: conn/connaccount.c:165 ++#, fuzzy ++msgid "No OAUTH refresh command defined" ++msgstr "Команда за запитване не е дефинирана" ++ ++#: conn/connaccount.c:173 ++msgid "Unable to run refresh command" ++msgstr "" ++ ++#: conn/connaccount.c:184 ++msgid "Command returned empty string" ++msgstr "" ++ ++#: conn/connaccount.c:191 ++#, c-format ++msgid "OAUTH token is too big: %ld" ++msgstr "" ++ + #: conn/conn_raw.c:160 conn/conn_raw.c:218 + #, c-format + msgid "Looking up %s..." +@@ -1365,7 +1633,7 @@ msgstr "Свързване с %s..." + msgid "Could not connect to %s (%s)" + msgstr "Грешка при свързване с %s (%s)" + +-#: conn/conn_raw.c:260 conn/ssl.c:1230 curs_lib.c:568 mutt_logging.c:149 ++#: conn/conn_raw.c:260 conn/ssl.c:1245 gui/curs_lib.c:569 mutt_logging.c:147 + msgid "unknown error" + msgstr "непозната грешка" + +@@ -1379,24 +1647,24 @@ msgstr "Грешка в комуникацията с %s (%s)" + msgid "Connection to %s has been aborted" + msgstr "Връзката с %s е затворена" + +-#: conn/sasl.c:565 ++#: conn/sasl.c:547 + msgid "Unknown SASL profile" + msgstr "" + +-#: conn/sasl.c:598 ++#: conn/sasl.c:580 + #, fuzzy + msgid "Error allocating SASL connection" + msgstr "грешка в шаблона при: %s" + +-#: conn/sasl.c:608 ++#: conn/sasl.c:590 + msgid "Error setting SASL security properties" + msgstr "" + +-#: conn/sasl.c:619 ++#: conn/sasl.c:601 + msgid "Error setting SASL external security strength" + msgstr "" + +-#: conn/sasl.c:629 ++#: conn/sasl.c:611 + msgid "Error setting SASL external user name" + msgstr "" + +@@ -1409,138 +1677,112 @@ msgstr "Грешка при изпълнение на командата \"preco + msgid "Connection to %s closed" + msgstr "Връзката с %s е затворена" + +-#: conn/ssl.c:237 ++#: conn/ssl.c:222 + #, c-format + msgid "Filling entropy pool: %s..." + msgstr "Събиране на ентропия за генератора на случайни събития: %s..." + +-#: conn/ssl.c:243 ++#: conn/ssl.c:228 + #, c-format + msgid "%s has insecure permissions" + msgstr "%s има несигурни права за достъп" + +-#: conn/ssl.c:385 ++#: conn/ssl.c:369 + #, fuzzy + msgid "SSL disabled due to the lack of entropy" + msgstr "SSL е изключен поради липса на достатъчно ентропия" + +-#: conn/ssl.c:402 ++#: conn/ssl.c:386 + msgid "Unknown" + msgstr "неизвестно" + +-#: conn/ssl.c:421 conn/ssl_gnutls.c:186 ++#: conn/ssl.c:405 conn/ssl_gnutls.c:188 + #, c-format + msgid "[unable to calculate]" + msgstr "[грешка при пресмятане]" + +-#: conn/ssl.c:446 ++#: conn/ssl.c:430 + msgid "[invalid date]" + msgstr "[невалидна дата]" + +-#: conn/ssl.c:506 ++#: conn/ssl.c:490 + msgid "Server certificate is not yet valid" + msgstr "Сертификатът на сървъра все още не е валиден" + +-#: conn/ssl.c:516 ++#: conn/ssl.c:500 + msgid "Server certificate has expired" + msgstr "Сертификатът на сървъра е изтекъл" + +-#: conn/ssl.c:605 ++#: conn/ssl.c:589 + msgid "Failed to find enough entropy on your system" + msgstr "Недостатъчно ентропия в системата" + +-#: conn/ssl.c:799 ++#: conn/ssl.c:783 + #, fuzzy + msgid "can't get certificate subject" + msgstr "От сървъра не може да бъде получен сертификат" + +-#: conn/ssl.c:808 conn/ssl.c:816 ++#: conn/ssl.c:792 conn/ssl.c:800 + #, fuzzy + msgid "can't get certificate common name" + msgstr "От сървъра не може да бъде получен сертификат" + +-#: conn/ssl.c:830 ++#: conn/ssl.c:814 + #, fuzzy, c-format + msgid "certificate owner does not match hostname %s" + msgstr "Притежателят на S/MIME сертификата не съвпада с подателя на писмото." + +-#: conn/ssl.c:904 conn/ssl_gnutls.c:539 ++#: conn/ssl.c:917 conn/ssl_gnutls.c:570 + msgid "This certificate belongs to:" + msgstr "Този сертификат принадлежи на:" + +-#: conn/ssl.c:913 conn/ssl_gnutls.c:593 ++#: conn/ssl.c:926 conn/ssl_gnutls.c:624 + msgid "This certificate was issued by:" + msgstr "Този сертификат е издаден от:" + +-#: conn/ssl.c:922 conn/ssl_gnutls.c:604 ++#: conn/ssl.c:935 conn/ssl_gnutls.c:635 + msgid "This certificate is valid" + msgstr "Този сертификат е валиден" + +-#: conn/ssl.c:923 conn/ssl_gnutls.c:608 ++#: conn/ssl.c:936 conn/ssl_gnutls.c:639 + #, c-format + msgid " from %s" + msgstr " от %s" + +-#: conn/ssl.c:925 conn/ssl_gnutls.c:612 ++#: conn/ssl.c:938 conn/ssl_gnutls.c:643 + #, c-format + msgid " to %s" + msgstr " до %s" + +-#: conn/ssl.c:931 conn/ssl_gnutls.c:617 ++#: conn/ssl.c:944 conn/ssl_gnutls.c:648 + #, fuzzy, c-format + msgid "SHA1 Fingerprint: %s" + msgstr "Пръстов отпечатък: %s" + +-#: conn/ssl.c:937 conn/ssl.c:940 conn/ssl_gnutls.c:623 conn/ssl_gnutls.c:625 ++#: conn/ssl.c:950 conn/ssl.c:953 conn/ssl_gnutls.c:654 conn/ssl_gnutls.c:656 + #, fuzzy +-msgid "SHA256 Fingerprint: " +-msgstr "Пръстов отпечатък: %s" +- +-#: conn/ssl.c:944 conn/ssl_gnutls.c:664 +-#, c-format +-msgid "SSL Certificate check (certificate %zu of %zu in chain)" +-msgstr "" +- +-#. L10N: These four letters correspond to the choices in the next four strings: +-#. (r)eject, accept (o)nce, (a)ccept always, (s)kip. +-#. These prompts are the interactive certificate confirmation prompts for +-#. an OpenSSL connection. +-#: conn/ssl.c:964 +-msgid "roas" +-msgstr "" +- +-#: conn/ssl.c:968 +-#, fuzzy +-msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" +-msgstr "отхвърляне(r), еднократно приемане(o), приемане винаги(a)" +- +-#: conn/ssl.c:970 conn/ssl_gnutls.c:671 +-msgid "(r)eject, accept (o)nce, (a)ccept always" +-msgstr "отхвърляне(r), еднократно приемане(o), приемане винаги(a)" +- +-#: conn/ssl.c:975 +-#, fuzzy +-msgid "(r)eject, accept (o)nce, (s)kip" +-msgstr "отхвърляне(r), еднократно приемане(o)" ++msgid "SHA256 Fingerprint: " ++msgstr "Пръстов отпечатък: %s" + +-#: conn/ssl.c:977 conn/ssl_gnutls.c:680 +-msgid "(r)eject, accept (o)nce" +-msgstr "отхвърляне(r), еднократно приемане(o)" ++#: conn/ssl.c:957 conn/ssl_gnutls.c:695 ++#, c-format ++msgid "SSL Certificate check (certificate %zu of %zu in chain)" ++msgstr "" + +-#: conn/ssl.c:981 conn/ssl_gnutls.c:689 ncrypt/crypt_gpgme.c:4729 +-#: ncrypt/pgpkey.c:664 ncrypt/smime.c:549 ++#: conn/ssl.c:994 conn/ssl_gnutls.c:720 ncrypt/crypt_gpgme.c:4777 ++#: ncrypt/pgpkey.c:667 ncrypt/smime.c:551 + msgid "Exit " + msgstr "Изход" + +-#: conn/ssl.c:1016 conn/ssl_gnutls.c:742 ++#: conn/ssl.c:1029 conn/ssl_gnutls.c:773 + msgid "Warning: Couldn't save certificate" + msgstr "Предупреждение: Сертификатът не може да бъде запазен" + +-#: conn/ssl.c:1020 conn/ssl_gnutls.c:746 ++#: conn/ssl.c:1033 conn/ssl_gnutls.c:777 + msgid "Certificate saved" + msgstr "Сертификатът е записан" + +-#: conn/ssl.c:1132 ++#: conn/ssl.c:1147 + #, fuzzy, c-format + msgid "Certificate host check failed: %s" + msgstr "Сертификатът е записан" +@@ -1548,15 +1790,15 @@ msgstr "Сертификатът е записан" + #. L10N: This is a warning when trying to set the host name for + #. * TLS Server Name Indication (SNI). This allows the server to present + #. * the correct certificate if it supports multiple hosts. +-#: conn/ssl.c:1213 conn/ssl_gnutls.c:1072 ++#: conn/ssl.c:1228 conn/ssl_gnutls.c:1105 + msgid "Warning: unable to set TLS SNI host name" + msgstr "" + +-#: conn/ssl.c:1224 ++#: conn/ssl.c:1239 + msgid "I/O error" + msgstr "входно-изходна грешка" + +-#: conn/ssl.c:1233 ++#: conn/ssl.c:1248 + #, c-format + msgid "SSL failed: %s" + msgstr "Неуспешен SSL: %s" +@@ -1564,96 +1806,80 @@ msgstr "Неуспешен SSL: %s" + #. L10N: an SSL context is a data structure returned by the OpenSSL + #. function SSL_CTX_new(). In this case it returned NULL: an + #. error condition. +-#: conn/ssl.c:1269 ++#: conn/ssl.c:1284 + #, fuzzy + msgid "Unable to create SSL context" + msgstr "Грешка: не може да бъде стартиран дъщерен OpenSSL процес!" + +-#: conn/ssl.c:1322 ++#: conn/ssl.c:1337 + msgid "Warning: error enabling ssl_verify_partial_chains" + msgstr "" + +-#: conn/ssl_gnutls.c:150 conn/ssl_gnutls.c:784 conn/ssl_gnutls.c:793 ++#: conn/ssl_gnutls.c:152 conn/ssl_gnutls.c:817 conn/ssl_gnutls.c:826 + msgid "Unable to get certificate from peer" + msgstr "От сървъра не може да бъде получен сертификат" + +-#: conn/ssl_gnutls.c:155 ++#: conn/ssl_gnutls.c:157 + #, c-format + msgid "Certificate verification error (%s)" + msgstr "" + +-#: conn/ssl_gnutls.c:162 ++#: conn/ssl_gnutls.c:164 + #, fuzzy + msgid "Certificate is not X.509" + msgstr "Сертификатът е записан" + +-#: conn/ssl_gnutls.c:349 conn/ssl_gnutls.c:483 ++#: conn/ssl_gnutls.c:351 conn/ssl_gnutls.c:485 + #, fuzzy + msgid "Error initialising gnutls certificate data" + msgstr "Грешка при инициализация на терминала." + +-#: conn/ssl_gnutls.c:355 conn/ssl_gnutls.c:489 ++#: conn/ssl_gnutls.c:357 conn/ssl_gnutls.c:491 + msgid "Error processing certificate data" + msgstr "" + +-#: conn/ssl_gnutls.c:635 ++#: conn/ssl_gnutls.c:666 + #, fuzzy + msgid "WARNING: Server certificate is not yet valid" + msgstr "Сертификатът на сървъра все още не е валиден" + +-#: conn/ssl_gnutls.c:640 ++#: conn/ssl_gnutls.c:671 + #, fuzzy + msgid "WARNING: Server certificate has expired" + msgstr "Сертификатът на сървъра е изтекъл" + +-#: conn/ssl_gnutls.c:645 ++#: conn/ssl_gnutls.c:676 + #, fuzzy + msgid "WARNING: Server certificate has been revoked" + msgstr "Сертификатът на сървъра е изтекъл" + +-#: conn/ssl_gnutls.c:650 ++#: conn/ssl_gnutls.c:681 + msgid "WARNING: Server hostname does not match certificate" + msgstr "" + +-#: conn/ssl_gnutls.c:655 ++#: conn/ssl_gnutls.c:686 + #, fuzzy + msgid "WARNING: Signer of server certificate is not a CA" + msgstr "Сертификатът на сървъра все още не е валиден" + +-#: conn/ssl_gnutls.c:659 conn/ssl_gnutls.c:1004 ++#: conn/ssl_gnutls.c:690 conn/ssl_gnutls.c:1037 + msgid "Warning: Server certificate was signed using an insecure algorithm" + msgstr "" + +-#. L10N: These three letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce, (a)ccept always. +-#. This is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:676 +-msgid "roa" +-msgstr "roa" +- +-#. L10N: These two letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce. +-#. These is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:685 +-msgid "ro" +-msgstr "ro" +- +-#: conn/ssl_gnutls.c:950 conn/ssl_gnutls.c:992 ++#: conn/ssl_gnutls.c:983 conn/ssl_gnutls.c:1025 + msgid "All available protocols for TLS/SSL connection disabled" + msgstr "" + +-#: conn/ssl_gnutls.c:999 ++#: conn/ssl_gnutls.c:1032 + msgid "Explicit ciphersuite selection via $ssl_ciphers not supported" + msgstr "" + +-#: conn/ssl_gnutls.c:1120 ++#: conn/ssl_gnutls.c:1153 + #, fuzzy, c-format + msgid "SSL/TLS connection using %s (%s/%s/%s)" + msgstr "SSL връзка, използваща %s (%s)" + +-#: conn/ssl_gnutls.c:1175 conn/ssl_gnutls.c:1204 ++#: conn/ssl_gnutls.c:1210 conn/ssl_gnutls.c:1239 + msgid "Error: no TLS socket open" + msgstr "" + +@@ -1672,38 +1898,18 @@ msgstr "Грешка в комуникацията с %s (%s)" + msgid "Tunnel to %s returned error %d (%s)" + msgstr "" + +-#: copy.c:660 ++#: copy.c:662 + #, c-format + msgid "The length calculation was wrong by %ld byte" + msgid_plural "The length calculation was wrong by %ld bytes" + msgstr[0] "" + msgstr[1] "" + +-#: copy.c:744 ++#: copy.c:746 + msgid "No decryption engine available for message" + msgstr "" + +-#: curs_lib.c:378 +-msgid "yes" +-msgstr "yes" +- +-#: curs_lib.c:379 +-msgid "no" +-msgstr "no" +- +-#: curs_lib.c:518 +-msgid "Exit NeoMutt?" +-msgstr "Желаете ли да напуснете neomutt?" +- +-#: curs_lib.c:597 +-msgid "Press any key to continue..." +-msgstr "Натиснете някой клавиш..." +- +-#: curs_lib.c:705 +-msgid " ('?' for list): " +-msgstr " (използвайте'?' за избор от списък): " +- +-#: edit.c:64 ++#: edit.c:62 + #, fuzzy + msgid "" + "~~ insert a line beginning with a single ~\n" +@@ -1735,7 +1941,7 @@ msgstr "" + "~? това писмо\n" + ". сама на ред означава край на писмото\n" + +-#: edit.c:75 ++#: edit.c:73 + #, fuzzy + msgid "" + "~q write file and quit editor\n" +@@ -1767,20 +1973,20 @@ msgstr "" + "~? това писмо\n" + ". сама на ред означава край на писмото\n" + +-#: edit.c:261 ++#: edit.c:259 + #, c-format + msgid "%d: invalid message number.\n" + msgstr "%d: невалиден номер на писмо.\n" + +-#: edit.c:416 ++#: edit.c:414 + msgid "(End message with a . on a line by itself)\n" + msgstr "(За край на писмото въведете . като единствен символ на реда)\n" + +-#: edit.c:474 ++#: edit.c:472 + msgid "No mailbox.\n" + msgstr "Няма пощенска кутия.\n" + +-#: edit.c:478 ++#: edit.c:476 + msgid "Message contains:\n" + msgstr "Писмото съдържа:\n" + +@@ -1788,19 +1994,19 @@ msgstr "Писмото съдържа:\n" + #. not IN the middle of the content. + #. So it doesn't mean "(message will continue)" + #. but means "(press any key to continue using neomutt)". +-#: edit.c:486 edit.c:547 ++#: edit.c:484 edit.c:545 + msgid "(continue)\n" + msgstr "(по-нататък)\n" + +-#: edit.c:499 ++#: edit.c:497 + msgid "missing filename.\n" + msgstr "липсва име на файл.\n" + +-#: edit.c:519 ++#: edit.c:517 + msgid "No lines in message.\n" + msgstr "В писмото няма редове.\n" + +-#: edit.c:558 ++#: edit.c:556 + #, c-format + msgid "%s: unknown editor command (~? for help)\n" + msgstr "%s: непозната команда на редактора (използвайте~? за помощ)\n" +@@ -1847,19 +2053,73 @@ msgstr "Грешка при добавянето на писмо към поще + msgid "multipart message has no boundary parameter" + msgstr "съставното писмо няма \"boundary\" параметър" + +-#: flags.c:382 index.c:2561 index.c:2604 index.c:3134 index.c:3171 ++#: flags.c:381 index.c:2587 index.c:2630 index.c:3160 index.c:3197 + #: mutt_thread.c:1091 mutt_thread.c:1158 mutt_thread.c:1246 + msgid "Threading is not enabled" + msgstr "Показването на нишки не е включено" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Set flag" + msgstr "Поставяне на маркировка" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Clear flag" + msgstr "Изтриване на маркировка" + ++#: gui/color.c:633 gui/color.c:644 ++#, c-format ++msgid "%s: color not supported by term" ++msgstr "%s: терминалът не поддържа цветове" ++ ++#: gui/color.c:652 ++#, c-format ++msgid "%s: no such color" ++msgstr "%s: няма такъв цвят" ++ ++#: gui/color.c:717 gui/color.c:740 gui/color.c:751 gui/color.c:842 ++#, c-format ++msgid "%s: no such object" ++msgstr "%s: няма такъв обект" ++ ++#: gui/color.c:1142 ++#, c-format ++msgid "%s: no such attribute" ++msgstr "%s: няма такъв атрибут" ++ ++#: gui/color.c:1244 ++msgid "default colors not supported" ++msgstr "стандартните цветове не се поддържат" ++ ++#: gui/color.c:1282 ++#, c-format ++msgid "Maximum quoting level is %d" ++msgstr "" ++ ++#: gui/color.c:1319 ++#, fuzzy, c-format ++msgid "%s: invalid number: %s" ++msgstr "%d: невалиден номер на писмо.\n" ++ ++#: gui/curs_lib.c:379 ++msgid "yes" ++msgstr "yes" ++ ++#: gui/curs_lib.c:380 ++msgid "no" ++msgstr "no" ++ ++#: gui/curs_lib.c:519 ++msgid "Exit NeoMutt?" ++msgstr "Желаете ли да напуснете neomutt?" ++ ++#: gui/curs_lib.c:598 ++msgid "Press any key to continue..." ++msgstr "Натиснете някой клавиш..." ++ ++#: gui/curs_lib.c:749 ++msgid " ('?' for list): " ++msgstr " (използвайте'?' за избор от списък): " ++ + #: handler.c:102 + #, fuzzy, c-format + msgid "[-- Type: %s/%s%s%s, Encoding: %s, Size: %s --]\n" +@@ -1880,23 +2140,23 @@ msgstr "[-- Автоматично показване посредством %s + msgid "Invoking autoview command: %s" + msgstr "Автоматично показване посредством: %s" + +-#: handler.c:591 mutt_attach.c:527 mutt_attach.c:714 mutt_attach.c:745 +-#: mutt_attach.c:1087 mutt_attach.c:1152 ncrypt/pgpkey.c:723 +-#: ncrypt/pgpkey.c:920 ++#: handler.c:590 mutt_attach.c:555 mutt_attach.c:747 mutt_attach.c:778 ++#: mutt_attach.c:1120 mutt_attach.c:1185 ncrypt/pgpkey.c:756 ++#: ncrypt/pgpkey.c:955 + msgid "Can't create filter" + msgstr "Грешка при създаването на филтър" + +-#: handler.c:595 ++#: handler.c:594 + #, c-format + msgid "[-- Can't run %s. --]\n" + msgstr "[-- Грешка при стартиране на %s. --]\n" + +-#: handler.c:614 handler.c:635 ++#: handler.c:613 handler.c:634 + #, c-format + msgid "[-- Autoview stderr of %s --]\n" + msgstr "[-- Грешки от %s --]\n" + +-#: handler.c:764 ++#: handler.c:763 + msgid "[-- Error: message/external-body has no access-type parameter --]\n" + msgstr "[-- Грешка: message/external-body няма параметри за метод на достъп --]\n" + +@@ -1915,7 +2175,7 @@ msgstr "[-- Грешка: message/external-body няма параметри за + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:807 ++#: handler.c:806 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" +@@ -1944,7 +2204,7 @@ msgstr[1] "" + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:830 ++#: handler.c:829 + #, fuzzy, c-format + msgid "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" + msgid_plural "[-- This %s/%s attachment (size %s bytes) has been deleted --]\n" +@@ -1958,7 +2218,7 @@ msgstr[1] "[-- Това %s/%s приложение (размер %s байта) + #. + #. Caution: Argument three %3$ is also defined but should not be used + #. in this translation! +-#: handler.c:848 ++#: handler.c:847 + #, fuzzy + msgid "" + "[-- This %s/%s attachment has been deleted --]\n" +@@ -1970,12 +2230,12 @@ msgstr "" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The first "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:856 ++#: handler.c:855 + #, fuzzy, c-format + msgid "[-- This %s/%s attachment has been deleted --]\n" + msgstr "[-- Това %s/%s приложение бе изтрито --]\n" + +-#: handler.c:866 ++#: handler.c:865 + #, c-format + msgid "[-- name: %s --]\n" + msgstr "[-- име: %s --]\n" +@@ -1983,7 +2243,7 @@ msgstr "[-- име: %s --]\n" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:884 ++#: handler.c:883 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -1998,7 +2258,7 @@ msgstr "" + #. The "%s/%s" is a MIME type, e.g. "text/plain". The %s after + #. access-type is an access-type as defined by the MIME RFCs, e.g. "FTP", + #. "LOCAL-FILE", "MAIL-SERVER". +-#: handler.c:905 ++#: handler.c:904 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -2007,95 +2267,95 @@ msgstr "" + "[-- Това %s/%s приложение не е включено в писмото, --]\n" + "[-- а указаният метод на достъп %s не се подържа. --]\n" + +-#: handler.c:1090 ++#: handler.c:1089 + msgid "[-- Error: Could not display any parts of Multipart/Alternative --]\n" + msgstr "[-- Грешка: Невъзможно е показването на която и да е от алтернативните части на писмото --]\n" + + #. L10N: %s is the attachment description, filename or form_name. +-#: handler.c:1231 ++#: handler.c:1230 + #, fuzzy, c-format + msgid "[-- Attachment #%d: %s --]\n" + msgstr "[-- Приложение: #%d: %s --]\n" + +-#: handler.c:1236 ++#: handler.c:1235 + #, fuzzy, c-format + msgid "[-- Attachment #%d --]\n" + msgstr "[-- Приложение: #%d --]\n" + +-#: handler.c:1254 ++#: handler.c:1253 + msgid "One or more parts of this message could not be displayed" + msgstr "" + +-#: handler.c:1320 ++#: handler.c:1319 + #, fuzzy + msgid "Unable to open 'memory stream'" + msgstr "Грешка при отваряне на временния файл" + +-#: handler.c:1330 ++#: handler.c:1329 + msgid "Unable to open temporary file" + msgstr "Грешка при отваряне на временния файл" + +-#: handler.c:1379 ++#: handler.c:1378 + #, fuzzy + msgid "failed to re-open 'memory stream'" + msgstr "Грешка при отваряне на временния файл" + +-#: handler.c:1620 ++#: handler.c:1619 + msgid "Error: multipart/signed has no protocol" + msgstr "Грешка: multipart/signed без protocol параметър" + + #. L10N: %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1694 ++#: handler.c:1693 + #, fuzzy, c-format + msgid "[-- This is an attachment (use '%s' to view this part) --]\n" + msgstr "[-- Това %s/%s приложение (използвайте'%s' за да видите тази част) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". + #. The last %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1701 ++#: handler.c:1700 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported (use '%s' to view this part) --]\n" + msgstr "[-- %s/%s не се поддържа (използвайте'%s' за да видите тази част) --]\n" + +-#: handler.c:1709 ++#: handler.c:1708 + #, fuzzy + msgid "[-- This is an attachment (need 'view-attachments' bound to key) --]\n" + msgstr "[-- Това %s/%s приложение ('view-attachments' няма клавишна комбинация) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1715 ++#: handler.c:1714 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported (need 'view-attachments' bound to key) --]\n" + msgstr "[-- %s/%s не се поддържа('view-attachments' няма клавишна комбинация) --]\n" + +-#: handler.c:1724 ++#: handler.c:1723 + #, fuzzy + msgid "[-- This is an attachment --]\n" + msgstr "[-- Това %s/%s приложение --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1729 ++#: handler.c:1728 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported --]\n" + msgstr "[-- %s/%s не се поддържа --]\n" + +-#: help.c:400 ++#: help.c:401 + msgid "ERROR: please report this bug" + msgstr "ГРЕШКА: моля, съобщете ни за тази грешка" + +-#: help.c:455 ++#: help.c:456 + msgid "" + msgstr "<НЕИЗВЕСТНА>" + +-#: help.c:469 ++#: help.c:470 + msgid "Generic bindings:" + msgstr "Общи клавишни комбинации:" + +-#: help.c:473 ++#: help.c:474 + msgid "Unbound functions:" + msgstr "Функции, без клавишна комбинация:" + +-#: help.c:481 ++#: help.c:482 + #, c-format + msgid "Help for %s" + msgstr "Помощ за %s" +@@ -2112,41 +2372,41 @@ msgstr "" + msgid "badly formatted command string" + msgstr "" + +-#: hook.c:461 ++#: hook.c:466 + msgid "unhook: Can't do unhook * from within a hook" + msgstr "unhook: Не може да извършите unhook * от hook" + +-#: hook.c:474 ++#: hook.c:479 + #, c-format + msgid "unhook: unknown hook type: %s" + msgstr "unhook: непознат hook тип: %s" + +-#: hook.c:484 ++#: hook.c:489 + #, c-format + msgid "unhook: Can't delete a %s from within a %s" + msgstr "unhook: Не може да изтриете %s от %s" + + #. L10N: '%s' is the (misspelled) name of the menu, e.g. 'index' or 'pager' +-#: icommands.c:259 keymap.c:1161 keymap.c:1346 ++#: icommands.c:261 keymap.c:1159 keymap.c:1344 + #, c-format + msgid "%s: no such menu" + msgstr "%s: няма такова меню" + + #. L10N: '%s' is the name of the menu, e.g. 'index' or 'pager', it might + #. L10N: also be 'all' when all menus are affected. +-#: icommands.c:272 ++#: icommands.c:274 + #, fuzzy, c-format + msgid "%s: no binds for this menu" + msgstr "%s: няма такова меню" + +-#: icommands.c:272 ++#: icommands.c:274 + #, fuzzy, c-format + msgid "%s: no macros for this menu" + msgstr "%s: няма такова меню" + + #. L10N: '%s' is the file name of the temporary file +-#: icommands.c:283 icommands.c:296 icommands.c:316 icommands.c:340 +-#: icommands.c:360 icommands.c:371 imap/message.c:1093 ++#: icommands.c:285 icommands.c:297 icommands.c:317 icommands.c:340 ++#: icommands.c:360 icommands.c:370 imap/message.c:1093 + #, c-format + msgid "Could not create temporary file %s" + msgstr "Невъзможно създаването на временен файл %s" +@@ -2184,30 +2444,30 @@ msgstr "Неуспешна GSSAPI идентификация" + msgid "LOGIN disabled on this server" + msgstr "LOGIN е изключен на този сървър" + +-#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:288 ++#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:289 + msgid "Logging in..." + msgstr "Включване..." + +-#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:329 ++#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:330 + msgid "Login failed" + msgstr "Неуспешно включване" + +-#: imap/auth_oauth.c:64 pop/pop_auth.c:346 smtp.c:524 ++#: imap/auth_oauth.c:65 pop/pop_auth.c:347 smtp.c:549 + #, fuzzy + msgid "Authenticating (OAUTHBEARER)..." + msgstr "Идентифициране (SASL)..." + +-#: imap/auth_oauth.c:96 ++#: imap/auth_oauth.c:97 + #, fuzzy + msgid "OAUTHBEARER authentication failed" + msgstr "Неуспешна OAUTHBEARER идентификация" + +-#: imap/auth_sasl.c:128 nntp/nntp.c:606 nntp/nntp.c:671 smtp.c:443 ++#: imap/auth_sasl.c:128 nntp/nntp.c:608 nntp/nntp.c:673 smtp.c:468 + #, c-format + msgid "Authenticating (%s)..." + msgstr "Идентифициране (%s)..." + +-#: imap/auth_sasl.c:259 pop/pop_auth.c:200 smtp.c:584 smtp.c:646 ++#: imap/auth_sasl.c:259 pop/pop_auth.c:201 smtp.c:609 smtp.c:671 + msgid "SASL authentication failed" + msgstr "Неуспешна SASL идентификация" + +@@ -2256,90 +2516,80 @@ msgstr "Неуспешен SSL: %s" + msgid "Mailbox renamed" + msgstr "Пощенската кутия е създадена" + +-#: imap/command.c:164 ++#: imap/command.c:177 + #, fuzzy, c-format + msgid "Mailbox %s@%s closed" + msgstr "Пощенската кутия е затворена." + +-#: imap/command.c:1258 imap/command.c:1370 ++#: imap/command.c:1287 imap/command.c:1399 + #, fuzzy, c-format + msgid "Connection to %s timed out" + msgstr "Връзката с %s е затворена" + +-#: imap/imap.c:87 ++#: imap/imap.c:93 + #, fuzzy + msgid "This IMAP server is ancient. NeoMutt does not work with it." + msgstr "Този IMAP-сървър е остарял. NeoMutt няма да работи с него." + +-#: imap/imap.c:438 ++#: imap/imap.c:444 + #, c-format + msgid "Header search without header name: %s" + msgstr "" + +-#: imap/imap.c:468 ++#: imap/imap.c:474 + #, c-format + msgid "Server-side custom search not supported: %s" + msgstr "" + +-#: imap/imap.c:584 ++#: imap/imap.c:590 + #, fuzzy, c-format + msgid "CREATE failed: %s" + msgstr "Неуспешен SSL: %s" + +-#: imap/imap.c:704 ++#: imap/imap.c:710 + #, c-format + msgid "Closing connection to %s..." + msgstr "Затваряне на връзката към %s..." + +-#: imap/imap.c:882 nntp/nntp.c:1889 pop/pop_lib.c:324 smtp.c:687 ++#: imap/imap.c:888 nntp/nntp.c:1891 pop/pop_lib.c:350 smtp.c:712 + msgid "Secure connection with TLS?" + msgstr "Желаете ли да установите сигурна връзка с TLS?" + +-#: imap/imap.c:895 nntp/nntp.c:1910 pop/pop_lib.c:343 smtp.c:702 ++#: imap/imap.c:901 nntp/nntp.c:1912 pop/pop_lib.c:369 smtp.c:727 + msgid "Could not negotiate TLS connection" + msgstr "Не може да бъде установена TLS връзка" + +-#: imap/imap.c:910 pop/pop_lib.c:360 ++#: imap/imap.c:916 pop/pop_lib.c:386 + msgid "Encrypted connection unavailable" + msgstr "" + +-#: imap/imap.c:1417 ++#: imap/imap.c:1430 + #, c-format + msgid "Subscribing to %s..." + msgstr "Абониране за %s..." + +-#: imap/imap.c:1419 ++#: imap/imap.c:1432 + #, fuzzy, c-format + msgid "Unsubscribing from %s..." + msgstr "Отписване от %s..." + +-#: imap/imap.c:1430 init.c:2142 +-#, fuzzy, c-format +-msgid "Subscribed to %s" +-msgstr "Абониране за %s..." +- +-#: imap/imap.c:1432 init.c:2620 +-#, fuzzy, c-format +-msgid "Unsubscribed from %s" +-msgstr "Отписване от %s..." +- +-#: imap/imap.c:1582 imap/message.c:1674 ++#: imap/imap.c:1595 imap/message.c:1674 + #, fuzzy, c-format + msgid "Copying %d message to %s..." + msgid_plural "Copying %d messages to %s..." + msgstr[0] "Копиране на %d съобщения в %s..." + msgstr[1] "Копиране на %d съобщения в %s..." + +-#: imap/imap.c:1599 imap/imap.c:2217 imap/message.c:1713 muttlib.c:1505 ++#: imap/imap.c:1612 imap/imap.c:2254 imap/message.c:1713 muttlib.c:1503 + #, c-format + msgid "Create %s?" + msgstr "Желаете ли да създадете %s?" + +-#: imap/imap.c:1667 ++#: imap/imap.c:1685 + msgid "Expunge failed" + msgstr "Неуспешно премахване" + +-#: imap/imap.c:1683 ++#: imap/imap.c:1701 + #, fuzzy, c-format + msgid "Marking %d message deleted..." + msgid_plural "Marking %d messages deleted..." +@@ -2347,44 +2597,44 @@ msgstr[0] "Маркиране на %d съобщения за изтриване + msgstr[1] "Маркиране на %d съобщения за изтриване..." + + #. L10N: The plural is chosen by the last %d, i.e. the total number +-#: imap/imap.c:1720 ++#: imap/imap.c:1738 + #, fuzzy, c-format + msgid "Saving changed message... [%d/%d]" + msgid_plural "Saving changed messages... [%d/%d]" + msgstr[0] "Запис на маркировките на писмото... [%d/%d]" + msgstr[1] "Запис на маркировките на писмото... [%d/%d]" + +-#: imap/imap.c:1776 ++#: imap/imap.c:1794 + msgid "Error saving flags. Close anyway?" + msgstr "" + +-#: imap/imap.c:1783 ++#: imap/imap.c:1801 + #, fuzzy + msgid "Error saving flags" + msgstr "Грешка при разчитане на адресът!" + +-#: imap/imap.c:1808 ++#: imap/imap.c:1826 + msgid "Expunging messages from server..." + msgstr "Премахване на съобщенията от сървъра..." + +-#: imap/imap.c:1814 ++#: imap/imap.c:1832 + msgid "imap_sync_mailbox: EXPUNGE failed" + msgstr "imap_sync_mailbo: неуспешен EXPUNGE" + +-#: imap/imap.c:2023 nntp/nntp.c:2486 ++#: imap/imap.c:2058 nntp/nntp.c:2488 + #, c-format + msgid "Selecting %s..." + msgstr "Избиране на %s..." + +-#: imap/imap.c:2184 ++#: imap/imap.c:2221 + msgid "Error opening mailbox" + msgstr "Грешка при отваряне на пощенската кутия" + +-#: imap/imap.c:2330 ++#: imap/imap.c:2367 + msgid "IMAP server doesn't support custom flags" + msgstr "" + +-#: imap/imap.c:2374 ++#: imap/imap.c:2411 + #, fuzzy + msgid "Invalid IMAP flags" + msgstr "Невалиден " +@@ -2395,7 +2645,7 @@ msgid "Abort download and close mailbox?" + msgstr "" + + #: imap/message.c:554 mutt/memory.c:58 mutt/memory.c:98 mutt/memory.c:134 +-#: mutt/string.c:1178 mx.c:1176 ++#: mutt/string.c:1201 mx.c:1195 + msgid "Out of memory" + msgstr "Недостатъчно памет" + +@@ -2416,7 +2666,7 @@ msgstr "Изтегляне на заглавните части... [%d/%d]" + msgid "Unable to fetch headers from this IMAP server version" + msgstr "Грешка при получаване на заглавните части от тази версия на IMAP-сървъра" + +-#: imap/message.c:1099 index.c:1548 nntp/nntp.c:1328 pop/pop.c:426 ++#: imap/message.c:1099 index.c:1554 nntp/nntp.c:1330 pop/pop.c:426 + #, fuzzy + msgid "Fetching message headers..." + msgstr "Изтегляне на заглавните части... [%d/%d]" +@@ -2431,156 +2681,156 @@ msgstr "Зареждане на писмо на сървъра ..." + msgid "Copying message %d to %s..." + msgstr "Копиране на %d-то съобщение в %s..." + +-#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2737 pop/pop.c:1110 ++#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2739 pop/pop.c:1105 + msgid "Fetching message..." + msgstr "Изтегляне на писмо..." + +-#: imap/message.c:1959 pop/pop.c:1106 ++#: imap/message.c:1959 pop/pop.c:1101 + msgid "The message index is incorrect. Try reopening the mailbox." + msgstr "Невалиден индекс на писмо. Опитайте да отворите отново пощенската кутия." + +-#: imap/util.c:767 ++#: imap/util.c:796 + msgid "Continue?" + msgstr "Желаете ли да продължите?" + +-#: index.c:115 index.c:128 ++#: index.c:111 index.c:124 + msgid "Quit" + msgstr "Изход" + +-#: index.c:118 index.c:131 recvattach.c:93 ++#: index.c:114 index.c:127 recvattach.c:91 + msgid "Save" + msgstr "Запис" + +-#: index.c:119 query.c:81 ++#: index.c:115 query.c:79 + msgid "Mail" + msgstr "Ново" + +-#: index.c:120 pager.c:237 ++#: index.c:116 pager.c:229 + msgid "Reply" + msgstr "Отговор" + +-#: index.c:121 ++#: index.c:117 + msgid "Group" + msgstr "Груп. отг." + +-#: index.c:132 pager.c:244 ++#: index.c:128 pager.c:236 + msgid "Post" + msgstr "" + +-#: index.c:133 pager.c:245 ++#: index.c:129 pager.c:237 + #, fuzzy + msgid "Followup" + msgstr "Желаете ли да проследите до %s%s?" + +-#: index.c:190 index.c:1362 ++#: index.c:186 index.c:1367 + msgid "No mailbox is open" + msgstr "Няма отворена пощенска кутия" + +-#: index.c:196 ++#: index.c:192 + msgid "There are no messages" + msgstr "Няма писма" + +-#: index.c:202 ++#: index.c:198 + msgid "No visible messages" + msgstr "Няма видими писма" + +-#: index.c:208 mx.c:901 pager.c:223 recvattach.c:80 ++#: index.c:204 mx.c:920 pager.c:215 recvattach.c:78 + msgid "Mailbox is read-only" + msgstr "Тази пощенска кутия е само за четене" + +-#: index.c:214 pager.c:225 recvattach.c:98 ++#: index.c:210 pager.c:217 recvattach.c:96 + msgid "Function not permitted in attach-message mode" + msgstr "Тази функция не може да се изпълни при прилагане на писма" + + #. L10N: %s is one of the CHECK_ACL entries below. +-#: index.c:239 pager.c:290 ++#: index.c:235 pager.c:282 + #, c-format + msgid "%s: Operation not permitted by ACL" + msgstr "" + +-#: index.c:430 ++#: index.c:426 + msgid "Can't toggle write on a readonly mailbox" + msgstr "Режимът на защитената от запис пощенска кутия не може да бъде променен" + +-#: index.c:437 ++#: index.c:433 + msgid "Changes to folder will be written on folder exit" + msgstr "Промените в тази пощенска кутия ще бъдат записани при напускането й" + +-#: index.c:442 ++#: index.c:438 + msgid "Changes to folder will not be written" + msgstr "Промените в тази пощенска кутия няма да бъдат записани" + +-#: index.c:719 muttlib.c:1490 mx.c:206 mx.c:340 ++#: index.c:714 muttlib.c:1488 mx.c:206 mx.c:338 + #, c-format + msgid "%s is not a mailbox" + msgstr "%s не е пощенска кутия" + +-#: index.c:1218 ++#: index.c:1223 + msgid "Mailbox was externally modified. Flags may be wrong." + msgstr "Пощенската кутия е променена от друга програма. Маркировките може да са остарели." + +-#: index.c:1227 pager.c:2409 ++#: index.c:1232 pager.c:2379 + msgid "New mail in this mailbox" + msgstr "Нови писма в тази пощенска кутия" + +-#: index.c:1242 ++#: index.c:1247 + msgid "Mailbox was externally modified" + msgstr "Пощенската кутия е променена от друга програма" + +-#: index.c:1369 ++#: index.c:1374 + msgid "No tagged messages" + msgstr "Няма маркирани писма" + +-#: index.c:1373 index.c:1647 menu.c:1423 ++#: index.c:1378 index.c:1653 menu.c:1423 + msgid "Nothing to do" + msgstr "Няма какво да се прави" + +-#: index.c:1470 ++#: index.c:1475 + #, fuzzy + msgid "Enter Message-Id: " + msgstr "Въведете ключов идентификатор: " + +-#: index.c:1481 ++#: index.c:1487 + msgid "Article has no parent reference" + msgstr "" + +-#: index.c:1504 ++#: index.c:1510 + #, fuzzy + msgid "Message is not visible in limited view" + msgstr "Родителското писмо не е видимо в този ограничен изглед" + +-#: index.c:1508 ++#: index.c:1514 + #, fuzzy, c-format + msgid "Fetching %s from server..." + msgstr "Премахване на съобщенията от сървъра..." + +-#: index.c:1518 nntp/nntp.c:2772 ++#: index.c:1524 nntp/nntp.c:2774 + #, c-format + msgid "Article %s not found on the server" + msgstr "" + +-#: index.c:1544 ++#: index.c:1550 + msgid "No Message-Id. Unable to perform operation." + msgstr "" + +-#: index.c:1623 ++#: index.c:1629 + #, fuzzy + msgid "No deleted messages found in the thread" + msgstr "изтрива всички писма в нишката" + +-#: index.c:1644 ++#: index.c:1650 + msgid "Jump to message: " + msgstr "Скок към писмо номер: " + +-#: index.c:1650 ++#: index.c:1656 + msgid "Argument must be a message number" + msgstr "Аргументът трябва да бъде номер на писмо" + +-#: index.c:1652 ++#: index.c:1658 + msgid "Invalid message number" + msgstr "Грешен номер на писмо" + +-#: index.c:1654 ++#: index.c:1660 + msgid "That message is not visible" + msgstr "Това писмо не е видимо" + +@@ -2593,38 +2843,38 @@ msgstr "Това писмо не е видимо" + #. delete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. + #. +-#: index.c:1692 index.c:3267 pager.c:3064 ++#: index.c:1698 index.c:3293 pager.c:3039 + #, fuzzy + msgid "Can't delete messages" + msgstr "Няма възстановени писма." + +-#: index.c:1695 ++#: index.c:1701 + msgid "Delete messages matching: " + msgstr "Изтриване на писма по шаблон: " + +-#: index.c:1736 ++#: index.c:1742 + msgid "No limit pattern is in effect" + msgstr "Няма активен ограничителен шаблон" + + #. L10N: ask for a limit to apply +-#: index.c:1741 ++#: index.c:1747 + #, c-format + msgid "Limit: %s" + msgstr "Ограничаване: %s" + +-#: index.c:1778 ++#: index.c:1784 + msgid "Limit to messages matching: " + msgstr "Ограничаване до писмата, отговарящи на: " + +-#: index.c:1809 ++#: index.c:1815 + msgid "To view all messages, limit to \"all\"" + msgstr "" + +-#: index.c:1821 pager.c:2514 ++#: index.c:1827 pager.c:2487 + msgid "Quit NeoMutt?" + msgstr "Желаете ли да напуснете neomutt?" + +-#: index.c:1924 ++#: index.c:1931 + msgid "Tag messages matching: " + msgstr "Маркиране на писмата, отговарящи на: " + +@@ -2632,213 +2882,213 @@ msgstr "Маркиране на писмата, отговарящи на: " + #. L10N: Due to the implementation details we do not know whether we + #. undelete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:1935 index.c:3807 pager.c:3418 ++#: index.c:1942 index.c:3833 pager.c:3396 + #, fuzzy + msgid "Can't undelete messages" + msgstr "Няма възстановени писма." + +-#: index.c:1939 ++#: index.c:1946 + msgid "Undelete messages matching: " + msgstr "Възстановяване на писмата, отговарящи на: " + +-#: index.c:1948 ++#: index.c:1955 + msgid "Untag messages matching: " + msgstr "Премахване на маркировката от писмата, отговарящи на: " + +-#: index.c:1989 ++#: index.c:1996 + #, fuzzy + msgid "Logged out of IMAP servers" + msgstr "Затваряне на връзката към IMAP сървър.." + +-#: index.c:2105 ++#: index.c:2113 + #, fuzzy + msgid "No virtual folder and no Message-Id, aborting" + msgstr "Прекъсване поради липса на тема" + +-#: index.c:2117 index.c:2288 index.c:2310 index.c:2331 ++#: index.c:2125 index.c:2313 index.c:2335 index.c:2356 + msgid "Failed to create query, aborting" + msgstr "" + +-#: index.c:2130 ++#: index.c:2138 + msgid "failed to find message in notmuch database. try running 'notmuch new'." + msgstr "" + +-#: index.c:2139 ++#: index.c:2147 + msgid "Failed to read thread, aborting" + msgstr "" + +-#: index.c:2171 mx.c:1252 mx.c:1272 ++#: index.c:2179 mx.c:1271 mx.c:1291 + msgid "Folder doesn't support tagging, aborting" + msgstr "" + +-#: index.c:2188 ++#: index.c:2196 + #, fuzzy + msgid "No tag specified, aborting" + msgstr "Прекъсване поради липса на тема" + +-#: index.c:2198 ++#: index.c:2206 + msgid "Update tags..." + msgstr "" + +-#: index.c:2238 ++#: index.c:2246 + msgid "Failed to modify tags, aborting" + msgstr "" + +-#: index.c:2284 ++#: index.c:2293 + #, fuzzy + msgid "No query, aborting" + msgstr "Прекъсване поради липса на тема" + +-#: index.c:2299 index.c:2320 ++#: index.c:2324 index.c:2345 + msgid "Windowed queries disabled" + msgstr "" + +-#: index.c:2304 index.c:2325 ++#: index.c:2329 index.c:2350 + msgid "No notmuch vfolder currently loaded" + msgstr "" + +-#: index.c:2374 ++#: index.c:2399 + msgid "Open mailbox in read-only mode" + msgstr "Отваряне на пощенската кутия само за четене" + +-#: index.c:2376 ++#: index.c:2401 + msgid "Open mailbox" + msgstr "Отваряне на пощенска кутия" + +-#: index.c:2386 ++#: index.c:2411 + #, fuzzy + msgid "No mailboxes have new mail" + msgstr "Няма пощенска кутия с нови писма." + +-#: index.c:2419 ++#: index.c:2444 + #, fuzzy + msgid "Open newsgroup in read-only mode" + msgstr "Отваряне на пощенската кутия само за четене" + +-#: index.c:2421 ++#: index.c:2446 + msgid "Open newsgroup" + msgstr "" + +-#: index.c:2538 ++#: index.c:2564 + #, fuzzy + msgid "Exit NeoMutt without saving?" + msgstr "Желаете ли да напуснете NeoMutt без да запишете промените?" + + #. L10N: CHECK_ACL +-#: index.c:2554 ++#: index.c:2580 + #, fuzzy + msgid "Can't break thread" + msgstr "Филтърът не може да бъде създаден" + +-#: index.c:2574 ++#: index.c:2600 + msgid "Thread broken" + msgstr "" + +-#: index.c:2587 ++#: index.c:2613 + msgid "Thread can't be broken, message is not part of a thread" + msgstr "" + + #. L10N: CHECK_ACL +-#: index.c:2597 ++#: index.c:2623 + msgid "Can't link threads" + msgstr "" + +-#: index.c:2606 ++#: index.c:2632 + msgid "No Message-ID: header available to link thread" + msgstr "" + +-#: index.c:2608 ++#: index.c:2634 + #, fuzzy + msgid "First, please tag a message to be linked here" + msgstr "записва писмото като чернова за по-късно изпращане" + +-#: index.c:2621 ++#: index.c:2647 + msgid "Threads linked" + msgstr "" + +-#: index.c:2624 ++#: index.c:2650 + msgid "No thread linked" + msgstr "" + +-#: index.c:2665 index.c:2690 ++#: index.c:2691 index.c:2716 + msgid "You are on the last message" + msgstr "Това е последното писмо" + +-#: index.c:2673 index.c:2716 ++#: index.c:2699 index.c:2742 + msgid "No undeleted messages" + msgstr "Няма възстановени писма" + +-#: index.c:2708 index.c:2733 ++#: index.c:2734 index.c:2759 + msgid "You are on the first message" + msgstr "Това е първото писмо" + +-#: index.c:2874 ++#: index.c:2900 + #, fuzzy + msgid "No new messages in this limited view" + msgstr "Родителското писмо не е видимо в този ограничен изглед" + +-#: index.c:2876 ++#: index.c:2902 + #, fuzzy + msgid "No new messages" + msgstr "Няма нови писма" + +-#: index.c:2881 ++#: index.c:2907 + #, fuzzy + msgid "No unread messages in this limited view" + msgstr "Родителското писмо не е видимо в този ограничен изглед" + +-#: index.c:2883 ++#: index.c:2909 + #, fuzzy + msgid "No unread messages" + msgstr "Няма непрочетени писма" + +-#: index.c:2893 menu.c:1208 pager.c:2644 pattern.c:2652 ++#: index.c:2919 menu.c:1208 pager.c:2618 pattern.c:2776 + msgid "Search wrapped to top" + msgstr "Търсенето е започнато отгоре" + +-#: index.c:2898 pager.c:2669 pattern.c:2663 ++#: index.c:2924 pager.c:2643 pattern.c:2787 + msgid "Search wrapped to bottom" + msgstr "Търсенето е започнато отдолу" + + #. L10N: CHECK_ACL +-#: index.c:2915 ++#: index.c:2941 + #, fuzzy + msgid "Can't flag message" + msgstr "показва писмо" + + #. L10N: CHECK_ACL +-#: index.c:2961 pager.c:3377 ++#: index.c:2987 pager.c:3355 + msgid "Can't toggle new" + msgstr "" + +-#: index.c:3057 ++#: index.c:3083 + msgid "No more threads" + msgstr "Няма повече нишки" + +-#: index.c:3059 ++#: index.c:3085 + msgid "You are on the first thread" + msgstr "Това е първата нишка" + +-#: index.c:3156 ++#: index.c:3182 + #, fuzzy + msgid "Thread contains unread or flagged messages" + msgstr "Нишката съдържа непрочетени писма" + + #. L10N: CHECK_ACL +-#: index.c:3215 pager.c:3019 ++#: index.c:3241 pager.c:2994 + #, fuzzy + msgid "Can't delete message" + msgstr "Няма възстановени писма." + + #. L10N: CHECK_ACL +-#: index.c:3339 ++#: index.c:3365 + #, fuzzy + msgid "Can't edit message" + msgstr "Невъзможен запис на писмо" + + #. L10N: This is displayed when the x-label on one or more + #. messages is edited. +-#: index.c:3432 pager.c:3495 ++#: index.c:3458 pager.c:3473 + #, fuzzy, c-format + msgid "%d label changed" + msgid_plural "%d labels changed" +@@ -2848,7 +3098,7 @@ msgstr[1] "Пощенската кутия е непроменена" + #. L10N: This is displayed when editing an x-label, but no messages + #. were updated. Possibly due to canceling at the prompt or if the new + #. label is the same as the old label. +-#: index.c:3440 pager.c:3499 ++#: index.c:3466 pager.c:3477 + #, fuzzy + msgid "No labels changed" + msgstr "Пощенската кутия е непроменена" +@@ -2857,7 +3107,7 @@ msgstr "Пощенската кутия е непроменена" + #. L10N: Due to the implementation details we do not know whether we + #. mark zero, 1, 12, ... messages as read. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:3571 ++#: index.c:3597 + #, fuzzy + msgid "Can't mark messages as read" + msgstr "скок към родителското писмо в нишката" +@@ -2865,14 +3115,14 @@ msgstr "скок към родителското писмо в нишката" + #. L10N: This is the prompt for . Whatever they + #. enter will be prefixed by $mark_macro_prefix and will become + #. a macro hotkey to jump to the currently selected message. +-#: index.c:3612 ++#: index.c:3638 + #, fuzzy + msgid "Enter macro stroke: " + msgstr "Въведете ключов идентификатор: " + + #. L10N: "message hotkey" is the key bindings menu description of a + #. macro created by . +-#: index.c:3620 ++#: index.c:3646 + #, fuzzy + msgid "message hotkey" + msgstr "Писмото е записано като чернова." +@@ -2880,266 +3130,123 @@ msgstr "Писмото е записано като чернова." + #. L10N: This is echoed after creates a new hotkey + #. macro. %s is the hotkey string ($mark_macro_prefix followed + #. by whatever they typed at the prompt.) +-#: index.c:3625 ++#: index.c:3651 + #, fuzzy, c-format + msgid "Message bound to %s" + msgstr "Писмото е препратено" + + #. L10N: This error is printed if can't find a + #. Message-ID for the currently selected message in the index. +-#: index.c:3634 ++#: index.c:3660 + #, fuzzy + msgid "No message ID to macro" + msgstr "В тази кутия няма писма" + +-#: index.c:3688 pager.c:3221 recvattach.c:1646 ++#: index.c:3714 pager.c:3196 recvattach.c:1678 + msgid "Reply by mail as poster prefers?" + msgstr "" + +-#: index.c:3691 pager.c:3182 pager.c:3194 pager.c:3224 ++#: index.c:3717 pager.c:3157 pager.c:3169 pager.c:3199 + msgid "Posting to this group not allowed, may be moderated. Continue?" + msgstr "" + + #. L10N: CHECK_ACL +-#: index.c:3768 pager.c:3397 ++#: index.c:3794 pager.c:3375 + #, fuzzy + msgid "Can't undelete message" + msgstr "Няма възстановени писма." + +-#: init.c:313 ++#: init.c:223 + #, c-format + msgid "Error in command line: %s" + msgstr "Грешка в командния ред: %s" + +-#: init.c:315 ++#: init.c:225 + #, fuzzy, c-format + msgid "Warning in command line: %s" + msgstr "Грешка в командния ред: %s" + +-#: init.c:426 ++#: init.c:336 + #, fuzzy + msgid "unable to determine nodename via uname()" + msgstr "потребителското Ви име не може да бъде установено" + +-#: init.c:580 +-msgid "-group: no group name" +-msgstr "" +- +-#: init.c:590 +-#, fuzzy +-msgid "out of arguments" +-msgstr "недостатъчно аргументи" +- +-#: init.c:804 init.c:1752 +-#, c-format +-msgid "Error: Can't build path of '%s'" +-msgstr "" +- +-#: init.c:817 +-#, c-format +-msgid "Error: Cyclic sourcing of configuration file '%s'" +-msgstr "" +- +-#: init.c:850 +-#, c-format +-msgid "Error in %s, line %d: %s" +-msgstr "Грешка в %s, ред %d: %s" +- +-#: init.c:861 +-#, fuzzy, c-format +-msgid "Warning in %s, line %d: %s" +-msgstr "Грешка в %s, ред %d: %s" +- +-#: init.c:885 +-#, c-format +-msgid "source: errors in %s" +-msgstr "source: грешки в %s" +- +-#: init.c:885 +-#, fuzzy, c-format +-msgid "source: reading aborted due to too many errors in %s" +-msgstr "source: вмъкването е прекъснато поради твърде много грешки в %s" +- +-#: init.c:894 +-#, fuzzy, c-format +-msgid "source: %d warning in %s" +-msgid_plural "source: %d warnings in %s" +-msgstr[0] "source: грешки в %s" +-msgstr[1] "source: грешки в %s" +- +-#: init.c:923 +-msgid "alias: no address" +-msgstr "alias: няма адрес" +- +-#: init.c:965 +-#, c-format +-msgid "Warning: Bad IDN '%s' in alias '%s'" +-msgstr "Предупреждение: Лош IDN '%s' в псевдонима '%s'" +- +-#: init.c:1043 +-#, fuzzy +-msgid "attachments: no disposition" +-msgstr "променя описанието на приложението" +- +-#: init.c:1054 +-#, fuzzy +-msgid "Current attachments settings:" +-msgstr "променя описанието на приложението" +- +-#: init.c:1084 +-#, fuzzy +-msgid "attachments: invalid disposition" +-msgstr "променя описанието на приложението" +- +-#: init.c:1160 +-#, c-format +-msgid "%sgroup: missing -rx or -addr" +-msgstr "" +- +-#: init.c:1186 +-#, fuzzy, c-format +-msgid "%sgroup: warning: bad IDN '%s'" +-msgstr "Предупреждение: Лош IDN '%s' в псевдонима '%s'" +- +-#: init.c:1278 +-#, c-format +-msgid "Error: %s" +-msgstr "" +- +-#: init.c:1445 +-msgid "invalid header field" +-msgstr "невалидно заглавно поле" +- +-#: init.c:1711 init.c:1815 +-#, c-format +-msgid "%s: unknown variable" +-msgstr "%s: непозната променлива" +- +-#: init.c:1908 +-#, c-format +-msgid "%s is unset" +-msgstr "%s е изключен" +- +-#: init.c:1953 mutt_lua.c:478 +-#, c-format +-msgid "source: error at %s" +-msgstr "source: грешка при %s" +- +-#: init.c:1961 +-#, fuzzy, c-format +-msgid "source: file %s could not be sourced" +-msgstr "Писмата не са отпечатани" +- +-#: init.c:1984 +-#, fuzzy +-msgid "spam: no matching pattern" +-msgstr "маркира писма, отговарящи на шаблон" +- +-#: init.c:1986 +-#, fuzzy +-msgid "nospam: no matching pattern" +-msgstr "премахва маркировката от писма, отговарящи на шаблон" +- +-#: init.c:2146 +-#, fuzzy, c-format +-msgid "Could not subscribe to %s" +-msgstr "Абониране за %s..." +- +-#: init.c:2154 init.c:2632 +-#, fuzzy +-msgid "No folder specified" +-msgstr "Липсва тема." +- +-#: init.c:2341 +-#, fuzzy +-msgid "unattachments: no disposition" +-msgstr "променя описанието на приложението" +- +-#: init.c:2379 +-msgid "unattachments: invalid disposition" +-msgstr "" +- +-#: init.c:2624 +-#, fuzzy, c-format +-msgid "Could not unsubscribe from %s" +-msgstr "Отписване от %s..." +- +-#: init.c:3292 ++#: init.c:1042 + #, c-format + msgid "%s: unknown command" + msgstr "%s: непозната команда" + +-#: init.c:3837 ++#: init.c:1588 + msgid "'charset' must contain exactly one character set name" + msgstr "" + +-#: init.c:3853 init.c:3877 init.c:3912 ++#: init.c:1604 init.c:1628 init.c:1663 + #, fuzzy, c-format + msgid "Invalid value for option %s: %s" + msgstr "Невалиден ден от месеца: %s" + +-#: init.c:3890 ++#: init.c:1641 + #, c-format + msgid "Option %s may not be set or reset from the pager" + msgstr "" + +-#: init.c:3928 ++#: init.c:1679 + #, fuzzy, c-format + msgid "Option %s may not be set when in attach-message mode" + msgstr "Тази функция не може да се изпълни при прилагане на писма." + + #. L10N: This applies to the "$wrap_headers" config variable +-#: init.c:3943 ++#: init.c:1694 + #, c-format + msgid "Option %s must between 78 and 998 inclusive" + msgstr "" + +-#: keymap.c:373 keymap.c:381 ++#: keymap.c:371 keymap.c:379 + #, c-format + msgid "Binding '%s' will alias '%s' Before, try: 'bind %s %s noop' https://neomutt.org/guide/configuration.html#bind-warnings" + msgstr "" + +-#: keymap.c:757 ++#: keymap.c:755 + msgid "Macro loop detected" + msgstr "Открит е цикъл от макроси" + +-#: keymap.c:1064 keymap.c:1099 ++#: keymap.c:1062 keymap.c:1097 + msgid "Key is not bound" + msgstr "Недефинирана клавишна комбинация" + +-#: keymap.c:1104 ++#: keymap.c:1102 + #, c-format + msgid "Key is not bound. Press '%s' for help." + msgstr "Недефинирана клавишна комбинация. Използвайте '%s' за помощ." + +-#: keymap.c:1177 ++#: keymap.c:1175 + #, c-format + msgid "%s: null key sequence" + msgstr "%s: празна последователност от клавиши" + +-#: keymap.c:1212 ++#: keymap.c:1210 + #, c-format + msgid "Function '%s' not available for menu '%s'" + msgstr "" + +-#: keymap.c:1495 ++#: keymap.c:1493 + msgid "macro: empty key sequence" + msgstr "macro: празна последователност от клавиши" + +-#: keymap.c:1543 ++#: keymap.c:1541 + msgid "exec: no arguments" + msgstr "exec: липсват аргументи" + +-#: keymap.c:1563 ++#: keymap.c:1561 + #, c-format + msgid "%s: no such function" + msgstr "%s: няма такава функция" + +-#: keymap.c:1584 ++#: keymap.c:1582 + msgid "Enter keys (^G to abort): " + msgstr "Въведете ключове (^G за прекъсване): " + +-#: keymap.c:1590 ++#: keymap.c:1588 + #, c-format + msgid "Char = %s, Octal = %o, Decimal = %d" + msgstr "Символ = %s, Осмично = %o, Десетично = %d" +@@ -3163,7 +3270,7 @@ msgstr "не е намерено mailcap-вписване за типа %s" + msgid "Scanning %s..." + msgstr "Избиране на %s..." + +-#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:353 ++#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:351 + #, c-format + msgid "Reading %s..." + msgstr "Зареждане на %s..." +@@ -3179,13 +3286,13 @@ msgid "md_commit_message(): unable to set time on file" + msgstr "maildir_commit_message(): грешка при поставянето на марка за време на файла" + + #. L10N: Displayed before/as a mailbox is being synced +-#: maildir/shared.c:1723 mbox/mbox.c:1276 mx.c:461 notmuch/mutt_notmuch.c:2364 ++#: maildir/shared.c:1734 mbox/mbox.c:1276 mx.c:459 notmuch/mutt_notmuch.c:2364 + #, c-format + msgid "Writing %s..." + msgstr "Запис на %s..." + + #. L10N: Try to limit to 80 columns +-#: main.c:227 ++#: main.c:160 + msgid "" + "usage:\n" + " neomutt [-Enx] [-e ] [-F ] [-H ] [-i ]\n" +@@ -3208,7 +3315,7 @@ msgid "" + msgstr "" + + #. L10N: Try to limit to 80 columns. If more space is needed add an indented line +-#: main.c:247 ++#: main.c:180 + msgid "" + "options:\n" + " -- Special argument forces NeoMutt to stop option parsing and treat\n" +@@ -3251,54 +3358,54 @@ msgid "" + " or exit immediately with exit code 1 otherwise" + msgstr "" + +-#: main.c:312 ++#: main.c:245 + msgid "Error initializing terminal" + msgstr "Грешка при инициализация на терминала" + +-#: main.c:390 ++#: main.c:323 + msgid "unable to determine username" + msgstr "потребителското Ви име не може да бъде установено" + +-#: main.c:396 ++#: main.c:329 + msgid "unable to determine home directory" + msgstr "личната Ви директория не може да бъде намерена" + +-#: main.c:640 ++#: main.c:572 + #, fuzzy, c-format + msgid "Error: value '%s' is invalid for -d" + msgstr "Грешка: '%s' е невалиден IDN" + +-#: main.c:884 ++#: main.c:815 + msgid "Failed to parse mailto: link" + msgstr "" + +-#: main.c:896 send.c:2452 send.c:2456 ++#: main.c:827 send.c:2463 send.c:2467 + msgid "No recipients specified" + msgstr "Не са указани получатели" + +-#: main.c:923 ++#: main.c:854 + msgid "Can't use -E flag with stdin" + msgstr "" + +-#: main.c:1007 ++#: main.c:938 + #, fuzzy, c-format + msgid "Can't parse message template: %s" + msgstr "Грешка при отваряне на файла: %s" + +-#: main.c:1073 mutt_header.c:329 ++#: main.c:1004 mutt_header.c:329 + #, c-format + msgid "%s: unable to attach file" + msgstr "%s: грешка при прилагането на файл" + +-#: main.c:1156 ++#: main.c:1087 + msgid "No mailbox with new mail" + msgstr "Няма пощенска кутия с нови писма" + +-#: main.c:1180 ++#: main.c:1111 + msgid "No incoming mailboxes defined" + msgstr "Не са дефинирани входни пощенски кутии" + +-#: main.c:1230 ++#: main.c:1161 + msgid "Mailbox is empty" + msgstr "Пощенската кутия е празна" + +@@ -3340,52 +3447,52 @@ msgstr "Грешка при повторното отваряне на поще + msgid "Can't write message" + msgstr "Невъзможен запис на писмо" + +-#: menu.c:632 ++#: menu.c:631 + msgid "Jump to: " + msgstr "Скок към: " + +-#: menu.c:641 ++#: menu.c:640 + msgid "Invalid index number" + msgstr "Невалиден номер на индекс" + +-#: menu.c:645 menu.c:671 menu.c:744 menu.c:810 menu.c:828 menu.c:843 menu.c:858 +-#: menu.c:873 menu.c:890 menu.c:907 menu.c:1553 ++#: menu.c:644 menu.c:670 menu.c:743 menu.c:809 menu.c:827 menu.c:842 menu.c:857 ++#: menu.c:872 menu.c:889 menu.c:906 menu.c:1553 + msgid "No entries" + msgstr "Няма вписвания" + +-#: menu.c:668 ++#: menu.c:667 + msgid "You can't scroll down farther" + msgstr "Не може да превъртате надолу повече" + +-#: menu.c:690 ++#: menu.c:689 + msgid "You can't scroll up farther" + msgstr "Не може да превъртате нагоре повече" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the first page" + msgstr "Това е първата страница" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the last page" + msgstr "Това е последната страница" + +-#: menu.c:922 ++#: menu.c:921 + msgid "You are on the last entry" + msgstr "Това е последният запис" + +-#: menu.c:937 ++#: menu.c:936 + msgid "You are on the first entry" + msgstr "Това е първият запис" + +-#: menu.c:1172 pager.c:2692 pattern.c:2578 ++#: menu.c:1172 pager.c:2666 pattern.c:2702 + msgid "Search for: " + msgstr "Търсене: " + +-#: menu.c:1173 pager.c:2693 pattern.c:2579 ++#: menu.c:1173 pager.c:2667 pattern.c:2703 + msgid "Reverse search for: " + msgstr "Обратно търсене: " + +-#: menu.c:1226 pager.c:2641 pager.c:2666 pager.c:2800 pattern.c:2708 ++#: menu.c:1226 pager.c:2615 pager.c:2640 pager.c:2774 pattern.c:2832 + msgid "Not found" + msgstr "Няма резултати от търсенето" + +@@ -3428,20 +3535,20 @@ msgstr "Чакане за flock заключване... %d" + msgid "Bad history file format (line %d)" + msgstr "" + +-#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1006 ncrypt/crypt_gpgme.c:2381 +-#: ncrypt/crypt_gpgme.c:2401 ncrypt/crypt_gpgme.c:2460 +-#: ncrypt/crypt_gpgme.c:2477 ncrypt/crypt_gpgme.c:2509 +-#: ncrypt/crypt_gpgme.c:2527 ncrypt/crypt_gpgme.c:2611 +-#: ncrypt/crypt_gpgme.c:3194 ncrypt/crypt_gpgme.c:3292 +-#: ncrypt/crypt_gpgme.c:4373 ncrypt/pgp.c:576 ncrypt/pgp.c:583 ncrypt/pgp.c:896 +-#: ncrypt/pgp.c:1014 ncrypt/pgp.c:1161 ncrypt/pgp.c:1181 ncrypt/pgp.c:1215 +-#: ncrypt/pgp.c:1568 ncrypt/pgpkey.c:708 ncrypt/pgpkey.c:902 +-#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1092 ncrypt/smime.c:1100 +-#: ncrypt/smime.c:1191 ncrypt/smime.c:1299 ncrypt/smime.c:1364 +-#: ncrypt/smime.c:1372 ncrypt/smime.c:1571 ncrypt/smime.c:1967 +-#: ncrypt/smime.c:2046 ncrypt/smime.c:2053 ncrypt/smime.c:2156 +-#: ncrypt/smime.c:2281 ncrypt/smime.c:2297 nntp/nntp.c:1397 nntp/nntp.c:2237 +-#: pattern.c:1132 pop/pop.c:182 ++#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1005 ncrypt/crypt_gpgme.c:2420 ++#: ncrypt/crypt_gpgme.c:2440 ncrypt/crypt_gpgme.c:2499 ++#: ncrypt/crypt_gpgme.c:2516 ncrypt/crypt_gpgme.c:2548 ++#: ncrypt/crypt_gpgme.c:2566 ncrypt/crypt_gpgme.c:2650 ++#: ncrypt/crypt_gpgme.c:3237 ncrypt/crypt_gpgme.c:3335 ++#: ncrypt/crypt_gpgme.c:4421 ncrypt/pgp.c:575 ncrypt/pgp.c:582 ncrypt/pgp.c:895 ++#: ncrypt/pgp.c:1013 ncrypt/pgp.c:1160 ncrypt/pgp.c:1180 ncrypt/pgp.c:1214 ++#: ncrypt/pgp.c:1570 ncrypt/pgpkey.c:741 ncrypt/pgpkey.c:937 ++#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1126 ncrypt/smime.c:1134 ++#: ncrypt/smime.c:1225 ncrypt/smime.c:1333 ncrypt/smime.c:1398 ++#: ncrypt/smime.c:1406 ncrypt/smime.c:1605 ncrypt/smime.c:2001 ++#: ncrypt/smime.c:2080 ncrypt/smime.c:2087 ncrypt/smime.c:2190 ++#: ncrypt/smime.c:2315 ncrypt/smime.c:2331 nntp/nntp.c:1399 nntp/nntp.c:2239 ++#: pattern.c:1171 pop/pop.c:182 + msgid "Can't create temporary file" + msgstr "Грешка при създаване на временен файл" + +@@ -3460,7 +3567,7 @@ msgstr "Debugging на ниво %d.\n" + msgid "Logging at level %d to file '%s'" + msgstr "Debugging на ниво %d.\n" + +-#: mutt/path.c:401 ++#: mutt/path.c:420 + #, fuzzy + msgid "Error: converting path to absolute" + msgstr "Грешка при свързване със сървъра: %s" +@@ -3484,17 +3591,17 @@ msgstr "Получен сигнал %d (%s) ... Изход от програма + msgid "Caught signal %d ... Exiting.\n" + msgstr "Получен сигнал %d ... Изход от програмата.\n" + +-#: muttlib.c:490 ++#: muttlib.c:488 + #, c-format + msgid "mutt_randbuf buflen=%zu" + msgstr "" + +-#: muttlib.c:510 ++#: muttlib.c:508 + #, c-format + msgid "open /dev/urandom: %s" + msgstr "" + +-#: muttlib.c:517 ++#: muttlib.c:515 + #, c-format + msgid "read /dev/urandom: %s" + msgstr "" +@@ -3502,149 +3609,121 @@ msgstr "" + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) + #. These three letters correspond to the choices in the string. +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "File is a directory, save under it: (y)es, (n)o, (a)ll?" + msgstr "Файлът е директория. Желаете ли да запишете в нея? (y) да, (n) не, (a) всички" + +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "yna" + msgstr "yna" + + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) +-#: muttlib.c:763 ++#: muttlib.c:761 + msgid "File is a directory, save under it?" + msgstr "Файлът е директория. Желаете ли да запишете в нея?" + +-#: muttlib.c:768 ++#: muttlib.c:766 + msgid "File under directory: " + msgstr "Файл в тази директория: " + +-#: muttlib.c:781 ++#: muttlib.c:779 + msgid "File exists, (o)verwrite, (a)ppend, or (c)ancel?" + msgstr "Файлът съществува. Презапис(o), добавяне(a) или отказ(c)?" + + #. L10N: Options for: File exists, (o)verwrite, (a)ppend, or (c)ancel? +-#: muttlib.c:783 ++#: muttlib.c:781 + msgid "oac" + msgstr "oac" + +-#: muttlib.c:1458 ++#: muttlib.c:1456 + msgid "Can't save message to POP mailbox" + msgstr "Запис на писмо на POP сървър не е възможно" + +-#: muttlib.c:1468 ++#: muttlib.c:1466 + #, c-format + msgid "Append messages to %s?" + msgstr "Желаете ли да добавите писмата към %s?" + +-#: muttlib.c:1481 ++#: muttlib.c:1479 + #, fuzzy + msgid "Can't save message to news server" + msgstr "Редактирането на писмо на POP сървър не е възможно" + +-#. L10N: Example: Username at myhost.com +-#: mutt_account.c:233 +-#, c-format +-msgid "Username at %s: " +-msgstr "Потребителско име на %s: " +- +-#: mutt_account.c:315 +-#, c-format +-msgid "Password for %s@%s: " +-msgstr "Парола за %s@%s: " +- +-#. L10N: You will see this error message if (1) you have "oauthbearer" in +-#. one of your $*_authenticators and (2) you do not have the corresponding +-#. $*_oauth_refresh_command defined. So the message does not mean "None of +-#. your $*_oauth_refresh_command's are defined." +-#: mutt_account.c:383 +-#, fuzzy +-msgid "No OAUTH refresh command defined" +-msgstr "Команда за запитване не е дефинирана" +- +-#: mutt_account.c:390 +-msgid "Unable to run refresh command" +-msgstr "" +- +-#: mutt_account.c:400 +-msgid "Command returned empty string" +-msgstr "" +- +-#: mutt_attach.c:140 mutt_attach.c:274 mutt_attach.c:459 mutt_attach.c:1054 ++#: mutt_attach.c:142 mutt_attach.c:276 mutt_attach.c:488 mutt_attach.c:1087 + msgid "Can't match 'nametemplate', continue?" + msgstr "Няма шаблон с това име. Желаете ли да продължите?" + +-#: mutt_attach.c:150 ++#: mutt_attach.c:152 + #, c-format + msgid "Mailcap compose entry requires %%s" + msgstr "Записът \"compose\" в mailcap изисква %%s" + +-#: mutt_attach.c:168 ++#: mutt_attach.c:170 + msgid "Failure to open file to parse headers" + msgstr "Грешка при отваряне на файла за прочит на заглавната информация" + +-#: mutt_attach.c:202 ++#: mutt_attach.c:204 + msgid "Failure to open file to strip headers" + msgstr "Грешка при отваряне на файла за изтриване на заглавна информация" + +-#: mutt_attach.c:212 ++#: mutt_attach.c:214 + #, fuzzy + msgid "Failure to rename file" + msgstr "Грешка при отваряне на файла за прочит на заглавната информация" + +-#: mutt_attach.c:222 ++#: mutt_attach.c:224 + #, c-format + msgid "No mailcap compose entry for %s, creating empty file" + msgstr "В mailcap липсва запис \"compose\" за %s. Създаване на празен файл" + +-#: mutt_attach.c:284 ++#: mutt_attach.c:286 + #, c-format + msgid "Mailcap Edit entry requires %%s" + msgstr "Записът \"edit\" в mailcap изисква %%s" + +-#: mutt_attach.c:305 ++#: mutt_attach.c:307 + #, c-format + msgid "No mailcap edit entry for %s" + msgstr "В mailcap липсва запис \"edit\" за %s" + +-#: mutt_attach.c:427 ++#: mutt_attach.c:456 + msgid "No matching mailcap entry found. Viewing as text." + msgstr "Не е намерено подходящо mailcap вписване. Приложението е показано като текст." + +-#: mutt_attach.c:440 ++#: mutt_attach.c:469 + msgid "MIME type not defined. Can't view attachment." + msgstr "Недефиниран MIME тип. Приложението не може да бъде показано." + +-#: mutt_attach.c:535 ++#: mutt_attach.c:563 + #, c-format + msgid "---Command: %-20.20s Description: %s" + msgstr "" + +-#: mutt_attach.c:540 ++#: mutt_attach.c:568 + #, c-format + msgid "---Command: %-30.30s Attachment: %s" + msgstr "" + +-#: mutt_attach.c:619 ++#: mutt_attach.c:652 + #, fuzzy, c-format + msgid "---Attachment: %s: %s" + msgstr "-- Приложения" + +-#: mutt_attach.c:621 ++#: mutt_attach.c:654 + #, fuzzy, c-format + msgid "---Attachment: %s" + msgstr "-- Приложения" + +-#: mutt_attach.c:902 mutt_attach.c:910 ++#: mutt_attach.c:935 mutt_attach.c:943 + msgid "Write fault" + msgstr "Грешка при запис" + +-#: mutt_attach.c:1174 ++#: mutt_attach.c:1207 + msgid "I don't know how to print that" + msgstr "Невъзможно отпечатване" + +-#: mutt_history.c:47 query.c:84 ++#: mutt_history.c:47 query.c:82 + msgid "Search" + msgstr "Търсене" + +@@ -3653,21 +3732,21 @@ msgstr "Търсене" + msgid "History '%s'" + msgstr "Запитване '%s'" + +-#: mutt_logging.c:315 ++#: mutt_logging.c:313 + #, fuzzy, c-format + msgid "Invalid value for option %s: %ld" + msgstr "Невалиден ден от месеца: %s" + +-#: mutt_lua.c:429 ++#: mutt_lua.c:431 + msgid "Error: Couldn't load the lua interpreter" + msgstr "" + +-#: mutt_lua.c:491 ++#: mutt_lua.c:493 + #, fuzzy, c-format + msgid "Couldn't source lua source: %s" + msgstr "Невъзможно заключване на %s\n" + +-#: mutt_mailbox.c:214 ++#: mutt_mailbox.c:241 + msgid "New mail in " + msgstr "Нови писма в " + +@@ -3689,20 +3768,20 @@ msgstr "Родителското писмо не е видимо в този о + msgid "Parent message is not visible in this limited view" + msgstr "Родителското писмо не е видимо в този ограничен изглед" + +-#: mx.c:387 ++#: mx.c:385 + #, fuzzy, c-format + msgid "Reading from %s interrupted..." + msgstr "Търсенето е прекъснато." + + #. L10N: Displayed if a mailbox sync fails +-#: mx.c:468 ++#: mx.c:469 + #, fuzzy, c-format + msgid "Unable to write %s" + msgstr "Прилагането на %s е невъзможно" + + #. L10N: Although we know the precise number of messages, we do not show it to the user. + #. So feel free to use a "generic plural" as plural translation if your language has one. +-#: mx.c:523 ++#: mx.c:525 + #, fuzzy + msgid "message not deleted" + msgid_plural "messages not deleted" +@@ -3714,69 +3793,69 @@ msgstr[1] "Маркиране на %d съобщения за изтриване + msgid "Can't open trash folder" + msgstr "Грешка при добавянето на писмо към пощенската кутия: %s" + +-#: mx.c:623 ++#: mx.c:627 + msgid "Mark all articles read?" + msgstr "" + + #. L10N: The first argument is the number of read messages to be + #. moved, the second argument is the target mailbox. +-#: mx.c:671 ++#: mx.c:675 + #, fuzzy, c-format + msgid "Move %d read message to %s?" + msgid_plural "Move %d read messages to %s?" + msgstr[0] "Желаете ли да преместите прочетените писма в %s?" + msgstr[1] "Желаете ли да преместите прочетените писма в %s?" + +-#: mx.c:685 mx.c:917 ++#: mx.c:689 mx.c:936 + #, fuzzy, c-format + msgid "Purge %d deleted message?" + msgid_plural "Purge %d deleted messages?" + msgstr[0] "Желаете ли да изтриете %d-то отбелязано за изтриване писмо?" + msgstr[1] "Желаете ли да изтриете %d отбелязани за изтриване писма?" + +-#: mx.c:708 ++#: mx.c:712 + #, c-format + msgid "Moving read messages to %s..." + msgstr "Преместване на прочетените писма в %s..." + +-#: mx.c:774 mx.c:908 ++#: mx.c:783 mx.c:927 + msgid "Mailbox is unchanged" + msgstr "Пощенската кутия е непроменена" + +-#: mx.c:827 ++#: mx.c:842 + #, c-format + msgid "%d kept, %d moved, %d deleted" + msgstr "запазени: %d; преместени: %d; изтрити: %d" + +-#: mx.c:831 mx.c:972 ++#: mx.c:846 mx.c:991 + #, c-format + msgid "%d kept, %d deleted" + msgstr "запазени: %d; изтрити: %d" + +-#: mx.c:892 ++#: mx.c:911 + #, c-format + msgid " Press '%s' to toggle write" + msgstr "Натиснете '%s' за включване/изключване на режима за запис" + +-#: mx.c:894 ++#: mx.c:913 + msgid "Use 'toggle-write' to re-enable write" + msgstr "Използвайте 'toggle-write' за реактивиране на режима за запис" + +-#: mx.c:896 ++#: mx.c:915 + #, c-format + msgid "Mailbox is marked unwritable. %s" + msgstr "Пощенската кутия е само за четене. %s" + +-#: mx.c:966 ++#: mx.c:985 + msgid "Mailbox checkpointed" + msgstr "Пощенската кутия е отбелязана" + +-#: ncrypt/crypt.c:93 ++#: ncrypt/crypt.c:91 + #, c-format + msgid " (current time: %c)" + msgstr " (текущо време: %c)" + +-#: ncrypt/crypt.c:98 ++#: ncrypt/crypt.c:96 + #, c-format + msgid "[-- %s output follows%s --]\n" + msgstr "[-- %s следва резултатът%s) --]\n" +@@ -3785,53 +3864,53 @@ msgstr "[-- %s следва резултатът%s) --]\n" + #. by gpg-agent) we can't know whether we forgot zero, 1, 12, ... + #. passwords. So in English we use "Passphrases". Your language might + #. have other means to express this. +-#: ncrypt/crypt.c:119 ++#: ncrypt/crypt.c:117 + #, fuzzy + msgid "Passphrases forgotten" + msgstr "Паролите са забравени" + +-#: ncrypt/crypt.c:203 ++#: ncrypt/crypt.c:201 + msgid "Inline PGP can't be used with attachments. Revert to PGP/MIME?" + msgstr "" + +-#: ncrypt/crypt.c:207 ++#: ncrypt/crypt.c:205 + msgid "Mail not sent: inline PGP can't be used with attachments" + msgstr "" + +-#: ncrypt/crypt.c:214 ++#: ncrypt/crypt.c:212 + msgid "Inline PGP can't be used with format=flowed. Revert to PGP/MIME?" + msgstr "" + +-#: ncrypt/crypt.c:218 ++#: ncrypt/crypt.c:216 + msgid "Mail not sent: inline PGP can't be used with format=flowed" + msgstr "" + +-#: ncrypt/crypt.c:228 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:714 +-#: ncrypt/pgpkey.c:915 ++#: ncrypt/crypt.c:226 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:747 ++#: ncrypt/pgpkey.c:950 + msgid "Invoking PGP..." + msgstr "Стартиране на PGP..." + +-#: ncrypt/crypt.c:240 ++#: ncrypt/crypt.c:238 + msgid "Message can't be sent inline. Revert to using PGP/MIME?" + msgstr "" + +-#: ncrypt/crypt.c:242 send.c:2430 ++#: ncrypt/crypt.c:240 send.c:2441 + msgid "Mail not sent" + msgstr "Писмото не е изпратено" + +-#: ncrypt/crypt.c:662 ++#: ncrypt/crypt.c:666 + msgid "S/MIME messages with no hints on content are unsupported" + msgstr "S/MIME писма без указание за съдържанието им не се поддържат" + +-#: ncrypt/crypt.c:888 ++#: ncrypt/crypt.c:892 + msgid "Trying to extract PGP keys...\n" + msgstr "Опит за извличане на PGP ключове...\n" + +-#: ncrypt/crypt.c:917 ++#: ncrypt/crypt.c:921 + msgid "Trying to extract S/MIME certificates..." + msgstr "Опит за извличане на S/MIME сертификати..." + +-#: ncrypt/crypt.c:1140 ++#: ncrypt/crypt.c:1144 + #, c-format + msgid "" + "[-- Error: Unknown multipart/signed protocol %s --]\n" +@@ -3840,7 +3919,7 @@ msgstr "" + "[-- Грешка: Непознат multipart/signed протокол %s --]\n" + "\n" + +-#: ncrypt/crypt.c:1180 ++#: ncrypt/crypt.c:1184 + #, fuzzy + msgid "" + "[-- Error: Missing or bad-format multipart/signed signature --]\n" +@@ -3849,7 +3928,7 @@ msgstr "" + "[-- Грешка: Противоречива multipart/signed структура --]\n" + "\n" + +-#: ncrypt/crypt.c:1222 ++#: ncrypt/crypt.c:1226 + #, c-format + msgid "" + "[-- Warning: We can't verify %s/%s signatures. --]\n" +@@ -3858,7 +3937,7 @@ msgstr "" + "[-- Предупреждение: %s/%s-подписи не могат да бъдат проверявани. --]\n" + "\n" + +-#: ncrypt/crypt.c:1235 ++#: ncrypt/crypt.c:1239 + msgid "" + "[-- The following data is signed --]\n" + "\n" +@@ -3866,7 +3945,7 @@ msgstr "" + "[-- Следните данни са подписани --]\n" + "\n" + +-#: ncrypt/crypt.c:1243 ++#: ncrypt/crypt.c:1248 + msgid "" + "[-- Warning: Can't find any signatures. --]\n" + "\n" +@@ -3874,7 +3953,7 @@ msgstr "" + "[-- Предупреждение: не могат да бъдат намерени подписи. --]\n" + "\n" + +-#: ncrypt/crypt.c:1249 ++#: ncrypt/crypt.c:1255 + msgid "" + "\n" + "[-- End of signed data --]\n" +@@ -3894,236 +3973,236 @@ msgstr "Стартиране на PGP..." + #. L10N: The following are the headers for the "verify key" output from the + #. GPGME key selection menu (bound to "c" in the key selection menu). + #. They will be automatically aligned. +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Name: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1869 ncrypt/crypt_gpgme.c:1874 ++#: ncrypt/crypt_gpgme.c:183 ncrypt/crypt_gpgme.c:1900 ncrypt/crypt_gpgme.c:1905 + msgid "aka: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + #, fuzzy + msgid "Valid From: " + msgstr "Невалиден месец: %s" + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + #, fuzzy + msgid "Valid To: " + msgstr "Невалиден месец: %s" + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Key Type: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Key Usage: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:185 ncrypt/crypt_gpgme.c:1759 ++#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1790 + #, fuzzy + msgid "Fingerprint: " + msgstr "Пръстов отпечатък: %s" + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Serial-No: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + msgid "Issued By: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + #, fuzzy + msgid "Subkey: " + msgstr "Ключов идентификатор: 0x%s" + +-#: ncrypt/crypt_gpgme.c:783 ++#: ncrypt/crypt_gpgme.c:782 + #, c-format + msgid "error enabling CMS protocol: %s" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:806 ++#: ncrypt/crypt_gpgme.c:805 + #, fuzzy, c-format + msgid "error creating gpgme data object: %s" + msgstr "грешка в шаблона при: %s" + +-#: ncrypt/crypt_gpgme.c:907 ncrypt/crypt_gpgme.c:934 ncrypt/crypt_gpgme.c:2057 +-#: ncrypt/crypt_gpgme.c:2814 ++#: ncrypt/crypt_gpgme.c:906 ncrypt/crypt_gpgme.c:933 ncrypt/crypt_gpgme.c:2096 ++#: ncrypt/crypt_gpgme.c:2853 + #, fuzzy, c-format + msgid "error allocating data object: %s" + msgstr "грешка в шаблона при: %s" + +-#: ncrypt/crypt_gpgme.c:956 ++#: ncrypt/crypt_gpgme.c:955 + #, fuzzy, c-format + msgid "error rewinding data object: %s" + msgstr "грешка в шаблона при: %s" + +-#: ncrypt/crypt_gpgme.c:972 ++#: ncrypt/crypt_gpgme.c:971 + msgid "[tempfile]" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:978 ncrypt/crypt_gpgme.c:1032 ++#: ncrypt/crypt_gpgme.c:977 ncrypt/crypt_gpgme.c:1031 + #, fuzzy, c-format + msgid "error reading data object: %s" + msgstr "грешка в шаблона при: %s" + +-#: ncrypt/crypt_gpgme.c:1149 ++#: ncrypt/crypt_gpgme.c:1148 + #, fuzzy, c-format + msgid "error adding recipient '%s': %s" + msgstr "грешка в шаблона при: %s" + +-#: ncrypt/crypt_gpgme.c:1202 ++#: ncrypt/crypt_gpgme.c:1186 + #, c-format + msgid "secret key '%s' not found: %s" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1218 ++#: ncrypt/crypt_gpgme.c:1203 + #, c-format + msgid "ambiguous specification of secret key '%s'\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1234 ++#: ncrypt/crypt_gpgme.c:1219 + #, c-format + msgid "error setting secret key '%s': %s" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1250 ++#: ncrypt/crypt_gpgme.c:1278 + #, fuzzy, c-format + msgid "error setting PKA signature notation: %s" + msgstr "грешка в шаблона при: %s" + +-#: ncrypt/crypt_gpgme.c:1324 ++#: ncrypt/crypt_gpgme.c:1353 + #, fuzzy, c-format + msgid "error encrypting data: %s" + msgstr "грешка в шаблона при: %s" + +-#: ncrypt/crypt_gpgme.c:1453 ++#: ncrypt/crypt_gpgme.c:1483 + #, fuzzy, c-format + msgid "error signing data: %s" + msgstr "грешка в шаблона при: %s" + +-#: ncrypt/crypt_gpgme.c:1463 ++#: ncrypt/crypt_gpgme.c:1493 + msgid "$pgp_sign_as unset and no default key specified in ~/.gnupg/gpg.conf" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1641 ++#: ncrypt/crypt_gpgme.c:1672 + msgid "Warning: One of the keys has been revoked\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1651 ++#: ncrypt/crypt_gpgme.c:1682 + msgid "Warning: The key used to create the signature expired at: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1657 ++#: ncrypt/crypt_gpgme.c:1688 + #, fuzzy + msgid "Warning: At least one certification key has expired\n" + msgstr "Сертификатът на сървъра е изтекъл" + +-#: ncrypt/crypt_gpgme.c:1671 ++#: ncrypt/crypt_gpgme.c:1702 + msgid "Warning: The signature expired at: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1678 ++#: ncrypt/crypt_gpgme.c:1709 + msgid "Can't verify due to a missing key or certificate\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1683 ++#: ncrypt/crypt_gpgme.c:1714 + #, fuzzy + msgid "The CRL is not available\n" + msgstr "SSL не е на разположение." + +-#: ncrypt/crypt_gpgme.c:1689 ++#: ncrypt/crypt_gpgme.c:1720 + msgid "Available CRL is too old\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1694 ++#: ncrypt/crypt_gpgme.c:1725 + msgid "A policy requirement was not met\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1703 ++#: ncrypt/crypt_gpgme.c:1734 + msgid "A system error occurred" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1734 ++#: ncrypt/crypt_gpgme.c:1765 + msgid "WARNING: PKA entry does not match signer's address: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1740 ++#: ncrypt/crypt_gpgme.c:1771 + msgid "PKA verified signer's address is: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1822 ++#: ncrypt/crypt_gpgme.c:1853 + msgid "WARNING: We have NO indication whether the key belongs to the person named as shown above\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1829 ++#: ncrypt/crypt_gpgme.c:1860 + msgid "WARNING: The key does NOT BELONG to the person named as shown above\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1833 ++#: ncrypt/crypt_gpgme.c:1864 + msgid "WARNING: It is NOT certain that the key belongs to the person named as shown above\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1886 ++#: ncrypt/crypt_gpgme.c:1917 + msgid "KeyID " + msgstr "" + + #. L10N: You will see this message in place of "KeyID " + #. if the S/MIME key has no ID. This is quite an error. +-#: ncrypt/crypt_gpgme.c:1893 ++#: ncrypt/crypt_gpgme.c:1924 + msgid "no signature fingerprint available" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1902 ncrypt/crypt_gpgme.c:1907 ++#: ncrypt/crypt_gpgme.c:1933 ncrypt/crypt_gpgme.c:1938 + #, fuzzy + msgid "created: " + msgstr "Желаете ли да създадете %s?" + +-#: ncrypt/crypt_gpgme.c:1981 ++#: ncrypt/crypt_gpgme.c:2012 + #, c-format + msgid "Error getting key information for KeyID %s: %s\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1988 ncrypt/crypt_gpgme.c:2003 ++#: ncrypt/crypt_gpgme.c:2019 ncrypt/crypt_gpgme.c:2034 + msgid "Good signature from:" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1995 ++#: ncrypt/crypt_gpgme.c:2026 + msgid "*BAD* signature from:" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:2011 ++#: ncrypt/crypt_gpgme.c:2042 + msgid "Problem signature from:" + msgstr "" + + #. L10N: This is trying to match the width of the + #. "Problem signature from:" translation just above. +-#: ncrypt/crypt_gpgme.c:2017 ++#: ncrypt/crypt_gpgme.c:2048 + msgid " expires: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:2064 ncrypt/crypt_gpgme.c:2294 +-#: ncrypt/crypt_gpgme.c:3081 ++#: ncrypt/crypt_gpgme.c:2103 ncrypt/crypt_gpgme.c:2333 ++#: ncrypt/crypt_gpgme.c:3124 + msgid "[-- Begin signature information --]\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:2075 ++#: ncrypt/crypt_gpgme.c:2114 + #, fuzzy, c-format + msgid "Error: verification failed: %s\n" + msgstr "Грешка в командния ред: %s\n" + +-#: ncrypt/crypt_gpgme.c:2126 ++#: ncrypt/crypt_gpgme.c:2165 + #, c-format + msgid "*** Begin Notation (signature by: %s) ***\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:2145 ++#: ncrypt/crypt_gpgme.c:2184 + msgid "*** End Notation ***\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:2153 ncrypt/crypt_gpgme.c:2308 +-#: ncrypt/crypt_gpgme.c:3091 ++#: ncrypt/crypt_gpgme.c:2192 ncrypt/crypt_gpgme.c:2347 ++#: ncrypt/crypt_gpgme.c:3134 + #, fuzzy + msgid "" + "[-- End signature information --]\n" +@@ -4132,28 +4211,34 @@ msgstr "" + "\n" + "[-- Край на подписаните данни --]\n" + +-#: ncrypt/crypt_gpgme.c:2268 ++#: ncrypt/crypt_gpgme.c:2307 + #, fuzzy, c-format + msgid "" + "[-- Error: decryption failed: %s --]\n" + "\n" + msgstr "[-- Грешка: не може да бъде създаден временен файл! --]\n" + +-#: ncrypt/crypt_gpgme.c:2821 ++#: ncrypt/crypt_gpgme.c:2860 + #, fuzzy, c-format + msgid "Error importing key: %s" + msgstr "грешка в шаблона при: %s" + +-#: ncrypt/crypt_gpgme.c:3059 ++#: ncrypt/crypt_gpgme.c:3098 + #, c-format + msgid "Error: decryption/verification failed: %s\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:3103 ++#: ncrypt/crypt_gpgme.c:3105 ncrypt/crypt_gpgme.c:3302 ncrypt/pgp.c:726 ++#: ncrypt/pgp.c:1273 ++#, fuzzy ++msgid "PGP message successfully decrypted" ++msgstr "PGP-подписът е потвърден успешно" ++ ++#: ncrypt/crypt_gpgme.c:3146 + msgid "Error: copy data failed\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:3116 ncrypt/pgp.c:675 ++#: ncrypt/crypt_gpgme.c:3159 ncrypt/pgp.c:674 + msgid "" + "[-- BEGIN PGP MESSAGE --]\n" + "\n" +@@ -4161,11 +4246,11 @@ msgstr "" + "[-- НАЧАЛО НА PGP-ПИСМО --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3118 ncrypt/pgp.c:677 ++#: ncrypt/crypt_gpgme.c:3161 ncrypt/pgp.c:676 + msgid "[-- BEGIN PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- НАЧАЛО НА БЛОК С ПУБЛИЧЕН PGP-КЛЮЧ --]\n" + +-#: ncrypt/crypt_gpgme.c:3120 ncrypt/pgp.c:679 ++#: ncrypt/crypt_gpgme.c:3163 ncrypt/pgp.c:678 + msgid "" + "[-- BEGIN PGP SIGNED MESSAGE --]\n" + "\n" +@@ -4173,19 +4258,19 @@ msgstr "" + "[-- НАЧАЛО НА PGP-ПОДПИСАНО ПИСМО --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3145 ncrypt/pgp.c:716 ++#: ncrypt/crypt_gpgme.c:3188 ncrypt/pgp.c:715 + msgid "[-- END PGP MESSAGE --]\n" + msgstr "[-- КРАЙ НА PGP-ПИСМОТО --]\n" + +-#: ncrypt/crypt_gpgme.c:3147 ncrypt/pgp.c:730 ++#: ncrypt/crypt_gpgme.c:3190 ncrypt/pgp.c:729 + msgid "[-- END PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- КРАЙ НА БЛОКА С ПУБЛИЧНИЯ PGP-КЛЮЧ --]\n" + +-#: ncrypt/crypt_gpgme.c:3149 ncrypt/pgp.c:732 ++#: ncrypt/crypt_gpgme.c:3192 ncrypt/pgp.c:731 + msgid "[-- END PGP SIGNED MESSAGE --]\n" + msgstr "[-- КРАЙ НА PGP-ПОДПИСАНОТО ПИСМО --]\n" + +-#: ncrypt/crypt_gpgme.c:3170 ncrypt/pgp.c:765 ++#: ncrypt/crypt_gpgme.c:3213 ncrypt/pgp.c:764 + msgid "" + "[-- Error: could not find beginning of PGP message --]\n" + "\n" +@@ -4193,11 +4278,11 @@ msgstr "" + "[-- Грешка: началото на PGP-писмото не може да бъде намерено --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3198 ncrypt/crypt_gpgme.c:3296 ncrypt/pgp.c:1218 ++#: ncrypt/crypt_gpgme.c:3241 ncrypt/crypt_gpgme.c:3339 ncrypt/pgp.c:1218 + msgid "[-- Error: could not create temporary file --]\n" + msgstr "[-- Грешка: не може да бъде създаден временен файл --]\n" + +-#: ncrypt/crypt_gpgme.c:3212 ++#: ncrypt/crypt_gpgme.c:3255 + #, fuzzy + msgid "" + "[-- The following data is PGP/MIME signed and encrypted --]\n" +@@ -4206,7 +4291,7 @@ msgstr "" + "[-- Следните данни са шифровани с PGP/MIME --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3214 ncrypt/pgp.c:1231 ++#: ncrypt/crypt_gpgme.c:3257 ncrypt/pgp.c:1232 + msgid "" + "[-- The following data is PGP/MIME encrypted --]\n" + "\n" +@@ -4214,75 +4299,70 @@ msgstr "" + "[-- Следните данни са шифровани с PGP/MIME --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3254 ++#: ncrypt/crypt_gpgme.c:3297 + #, fuzzy + msgid "[-- End of PGP/MIME signed and encrypted data --]\n" + msgstr "[-- Край на шифрованите с PGP/MIME данни --]\n" + +-#: ncrypt/crypt_gpgme.c:3255 ncrypt/pgp.c:1267 ++#: ncrypt/crypt_gpgme.c:3298 ncrypt/pgp.c:1268 + msgid "[-- End of PGP/MIME encrypted data --]\n" + msgstr "[-- Край на шифрованите с PGP/MIME данни --]\n" + +-#: ncrypt/crypt_gpgme.c:3259 ncrypt/pgp.c:727 ncrypt/pgp.c:1272 +-#, fuzzy +-msgid "PGP message successfully decrypted" +-msgstr "PGP-подписът е потвърден успешно" +- +-#: ncrypt/crypt_gpgme.c:3265 ncrypt/pgp.c:666 ncrypt/pgp.c:718 +-#: ncrypt/pgp.c:1276 ++#: ncrypt/crypt_gpgme.c:3308 ncrypt/pgp.c:665 ncrypt/pgp.c:717 ++#: ncrypt/pgp.c:1277 + #, fuzzy + msgid "Could not decrypt PGP message" + msgstr "Писмото не може да бъде копирано." + +-#: ncrypt/crypt_gpgme.c:3310 ++#: ncrypt/crypt_gpgme.c:3353 + #, fuzzy + msgid "" + "[-- The following data is S/MIME signed --]\n" + "\n" + msgstr "[-- Следните данни са подписани със S/MIME --]\n" + +-#: ncrypt/crypt_gpgme.c:3311 ++#: ncrypt/crypt_gpgme.c:3354 + #, fuzzy + msgid "" + "[-- The following data is S/MIME encrypted --]\n" + "\n" + msgstr "[-- Следните данни са шифровани със S/MIME --]\n" + +-#: ncrypt/crypt_gpgme.c:3358 ++#: ncrypt/crypt_gpgme.c:3401 + #, fuzzy + msgid "[-- End of S/MIME signed data --]\n" + msgstr "" + "\n" + "[-- Край на подписаните със S/MIME данни --]\n" + +-#: ncrypt/crypt_gpgme.c:3359 ++#: ncrypt/crypt_gpgme.c:3402 + #, fuzzy + msgid "[-- End of S/MIME encrypted data --]\n" + msgstr "" + "\n" + "[-- Край на шифрованите със S/MIME данни --]\n" + +-#: ncrypt/crypt_gpgme.c:4029 ++#: ncrypt/crypt_gpgme.c:4077 + msgid "[Can't display this user ID (unknown encoding)]" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:4031 ++#: ncrypt/crypt_gpgme.c:4079 + msgid "[Can't display this user ID (invalid encoding)]" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:4036 ++#: ncrypt/crypt_gpgme.c:4084 + msgid "[Can't display this user ID (invalid DN)]" + msgstr "" + + #. L10N: comes after the Name or aka if the key is invalid + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4150 ncrypt/crypt_gpgme.c:4291 ++#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4339 + #, fuzzy + msgid "[Invalid]" + msgstr "Невалиден " + + #. L10N: This is printed after "Key Type: " and looks like this: PGP, 2048 bit RSA +-#: ncrypt/crypt_gpgme.c:4190 ncrypt/crypt_gpgme.c:4331 ++#: ncrypt/crypt_gpgme.c:4238 ncrypt/crypt_gpgme.c:4379 + #, c-format + msgid "%s, %lu bit %s\n" + msgid_plural "%s, %lu bit %s\n" +@@ -4290,104 +4370,104 @@ msgstr[0] "" + msgstr[1] "" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4338 ++#: ncrypt/crypt_gpgme.c:4246 ncrypt/crypt_gpgme.c:4386 + #, fuzzy + msgid "encryption" + msgstr "Шифроване" + +-#: ncrypt/crypt_gpgme.c:4199 ncrypt/crypt_gpgme.c:4205 +-#: ncrypt/crypt_gpgme.c:4339 ncrypt/crypt_gpgme.c:4344 ++#: ncrypt/crypt_gpgme.c:4247 ncrypt/crypt_gpgme.c:4253 ++#: ncrypt/crypt_gpgme.c:4387 ncrypt/crypt_gpgme.c:4392 + msgid ", " + msgstr "" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4204 ncrypt/crypt_gpgme.c:4343 ++#: ncrypt/crypt_gpgme.c:4252 ncrypt/crypt_gpgme.c:4391 + msgid "signing" + msgstr "" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4210 ncrypt/crypt_gpgme.c:4348 ++#: ncrypt/crypt_gpgme.c:4258 ncrypt/crypt_gpgme.c:4396 + #, fuzzy + msgid "certification" + msgstr "Сертификатът е записан" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4285 ++#: ncrypt/crypt_gpgme.c:4333 + #, fuzzy + msgid "[Revoked]" + msgstr "Анулиран " + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4297 ++#: ncrypt/crypt_gpgme.c:4345 + #, fuzzy + msgid "[Expired]" + msgstr "Изтекъл " + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4303 ++#: ncrypt/crypt_gpgme.c:4351 + msgid "[Disabled]" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:4376 ++#: ncrypt/crypt_gpgme.c:4424 + #, fuzzy + msgid "Collecting data..." + msgstr "Свързване с %s..." + +-#: ncrypt/crypt_gpgme.c:4394 ++#: ncrypt/crypt_gpgme.c:4442 + #, fuzzy, c-format + msgid "Error finding issuer key: %s\n" + msgstr "Грешка при свързване със сървъра: %s" + +-#: ncrypt/crypt_gpgme.c:4403 ++#: ncrypt/crypt_gpgme.c:4451 + #, fuzzy + msgid "Error: certification chain too long - stopping here\n" + msgstr "Грешка в командния ред: %s\n" + +-#: ncrypt/crypt_gpgme.c:4413 ncrypt/pgpkey.c:733 ++#: ncrypt/crypt_gpgme.c:4461 ncrypt/pgpkey.c:766 + #, c-format + msgid "Key ID: 0x%s" + msgstr "Ключов идентификатор: 0x%s" + +-#: ncrypt/crypt_gpgme.c:4538 ncrypt/crypt_gpgme.c:4589 ++#: ncrypt/crypt_gpgme.c:4586 ncrypt/crypt_gpgme.c:4637 + #, c-format + msgid "gpgme_op_keylist_start failed: %s" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:4577 ncrypt/crypt_gpgme.c:4619 +-#: ncrypt/crypt_gpgme.c:5355 ++#: ncrypt/crypt_gpgme.c:4625 ncrypt/crypt_gpgme.c:4667 ++#: ncrypt/crypt_gpgme.c:5435 + #, c-format + msgid "gpgme_op_keylist_next failed: %s" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:4701 ++#: ncrypt/crypt_gpgme.c:4749 + #, fuzzy + msgid "All matching keys are marked expired/revoked" + msgstr "Всички подходящи ключове са остарели, анулирани или деактивирани" + +-#: ncrypt/crypt_gpgme.c:4731 ncrypt/pgpkey.c:666 ncrypt/smime.c:551 ++#: ncrypt/crypt_gpgme.c:4779 ncrypt/pgpkey.c:669 ncrypt/smime.c:553 + msgid "Select " + msgstr "Избор " + +-#: ncrypt/crypt_gpgme.c:4733 ncrypt/pgpkey.c:668 ++#: ncrypt/crypt_gpgme.c:4781 ncrypt/pgpkey.c:671 + msgid "Check key " + msgstr "Проверка на ключ " + +-#: ncrypt/crypt_gpgme.c:4749 ++#: ncrypt/crypt_gpgme.c:4827 + #, fuzzy + msgid "PGP and S/MIME keys matching" + msgstr "PGP ключове, съвпадащи с \"%s\"." + +-#: ncrypt/crypt_gpgme.c:4751 ++#: ncrypt/crypt_gpgme.c:4829 + #, fuzzy + msgid "PGP keys matching" + msgstr "PGP ключове, съвпадащи с \"%s\"." + +-#: ncrypt/crypt_gpgme.c:4753 ++#: ncrypt/crypt_gpgme.c:4831 + #, fuzzy + msgid "S/MIME keys matching" + msgstr "S/MIME сертификати, съвпадащи с \"%s\"." + +-#: ncrypt/crypt_gpgme.c:4755 ++#: ncrypt/crypt_gpgme.c:4833 + #, fuzzy + msgid "keys matching" + msgstr "PGP ключове, съвпадащи с \"%s\"." +@@ -4396,59 +4476,59 @@ msgstr "PGP ключове, съвпадащи с \"%s\"." + #. %1$s is one of the previous four entries. + #. %2$s is an address. + #. e.g. "S/MIME keys matching " +-#: ncrypt/crypt_gpgme.c:4763 ++#: ncrypt/crypt_gpgme.c:4841 + #, c-format + msgid "%s <%s>" + msgstr "" + + #. L10N: e.g. 'S/MIME keys matching "Michael Elkins".' +-#: ncrypt/crypt_gpgme.c:4768 ++#: ncrypt/crypt_gpgme.c:4846 + #, c-format + msgid "%s \"%s\"" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:4796 ncrypt/pgpkey.c:754 ++#: ncrypt/crypt_gpgme.c:4874 ncrypt/pgpkey.c:787 + msgid "This key can't be used: expired/disabled/revoked" + msgstr "Този ключ не може да бъде използван, защото е остарял, деактивиран или анулиран" + +-#: ncrypt/crypt_gpgme.c:4810 ncrypt/pgpkey.c:767 ncrypt/smime.c:581 ++#: ncrypt/crypt_gpgme.c:4888 ncrypt/pgpkey.c:800 ncrypt/smime.c:613 + #, fuzzy + msgid "ID is expired/disabled/revoked. Do you really want to use the key?" + msgstr "Този идентификатор е остарял, деактивиран или анулиран. Действително ли искате да използвате този ключ?" + +-#: ncrypt/crypt_gpgme.c:4820 ncrypt/pgpkey.c:779 ++#: ncrypt/crypt_gpgme.c:4898 ncrypt/pgpkey.c:812 + #, fuzzy + msgid "ID is not valid. Do you really want to use the key?" + msgstr "Този идентификатор не не е валиден. Действително ли искате да използвате този ключ?" + +-#: ncrypt/crypt_gpgme.c:4823 ncrypt/pgpkey.c:782 ++#: ncrypt/crypt_gpgme.c:4901 ncrypt/pgpkey.c:815 + #, fuzzy + msgid "ID is only marginally valid. Do you really want to use the key?" + msgstr "Този идентификатор е с ограничена валидност. Действително ли искате да използвате този ключ?" + +-#: ncrypt/crypt_gpgme.c:4831 ncrypt/pgpkey.c:775 ncrypt/smime.c:585 ++#: ncrypt/crypt_gpgme.c:4909 ncrypt/pgpkey.c:808 ncrypt/smime.c:617 + #, fuzzy + msgid "ID has undefined validity. Do you really want to use the key?" + msgstr "Този идентификатор е с недефинирана валидност. Действително ли искате да използвате този ключ?" + +-#: ncrypt/crypt_gpgme.c:4911 ncrypt/crypt_gpgme.c:5024 ncrypt/pgpkey.c:1019 +-#: ncrypt/pgpkey.c:1146 ++#: ncrypt/crypt_gpgme.c:4991 ncrypt/crypt_gpgme.c:5104 ncrypt/pgpkey.c:1054 ++#: ncrypt/pgpkey.c:1181 + #, c-format + msgid "Looking for keys matching \"%s\"..." + msgstr "Търсене на ключове, отговарящи на \"%s\"..." + +-#: ncrypt/crypt_gpgme.c:5140 ncrypt/pgpkey.c:870 ncrypt/smime.c:924 ++#: ncrypt/crypt_gpgme.c:5220 ncrypt/pgpkey.c:905 ncrypt/smime.c:958 + #, c-format + msgid "No matching keys found for \"%s\"" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5190 ncrypt/pgp.c:1456 ++#: ncrypt/crypt_gpgme.c:5270 ncrypt/pgp.c:1457 + #, c-format + msgid "Use keyID = \"%s\" for %s?" + msgstr "Желаете ли използвате ключовия идентификатор \"%s\" за %s?" + +-#: ncrypt/crypt_gpgme.c:5238 ncrypt/pgp.c:1505 ncrypt/smime.c:944 +-#: ncrypt/smime.c:1049 ++#: ncrypt/crypt_gpgme.c:5318 ncrypt/pgp.c:1506 ncrypt/smime.c:978 ++#: ncrypt/smime.c:1083 + #, c-format + msgid "Enter keyID for %s: " + msgstr "Въведете ключов идентификатор за %s: " +@@ -4457,16 +4537,16 @@ msgstr "Въведете ключов идентификатор за %s: " + #. mutt_gpgme_select_secret_key() tries to list all secret keys to choose + #. from. This error is displayed if no results were found. + #. +-#: ncrypt/crypt_gpgme.c:5364 ++#: ncrypt/crypt_gpgme.c:5444 + #, fuzzy + msgid "No secret keys found" + msgstr "Няма резултати от търсенето" + +-#: ncrypt/crypt_gpgme.c:5398 ncrypt/pgpkey.c:888 ++#: ncrypt/crypt_gpgme.c:5478 ncrypt/pgpkey.c:923 + msgid "Please enter the key ID: " + msgstr "Моля, въведете ключовия идентификатор: " + +-#: ncrypt/crypt_gpgme.c:5411 ++#: ncrypt/crypt_gpgme.c:5491 + #, fuzzy, c-format + msgid "Error exporting key: %s" + msgstr "грешка в шаблона при: %s" +@@ -4474,97 +4554,97 @@ msgstr "грешка в шаблона при: %s" + #. 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. +-#: ncrypt/crypt_gpgme.c:5429 ++#: ncrypt/crypt_gpgme.c:5509 + #, fuzzy, c-format + msgid "PGP Key 0x%s" + msgstr "PGP ключ %s" + +-#: ncrypt/crypt_gpgme.c:5474 ++#: ncrypt/crypt_gpgme.c:5554 + msgid "GPGME: OpenPGP protocol not available" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5485 ++#: ncrypt/crypt_gpgme.c:5565 + msgid "GPGME: CMS protocol not available" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5536 ++#: ncrypt/crypt_gpgme.c:5616 + msgid "S/MIME (s)ign, sign (a)s, (p)gp, (c)lear, or (o)ppenc mode off?" + msgstr "PGP шифроване(e), подпис(s), подпис като(a), и двете(b) или без тях(f)?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5538 ++#: ncrypt/crypt_gpgme.c:5618 + msgid "sapco" + msgstr "esabf" + +-#: ncrypt/crypt_gpgme.c:5545 ++#: ncrypt/crypt_gpgme.c:5625 + msgid "PGP (s)ign, sign (a)s, s/(m)ime, (c)lear, or (o)ppenc mode off?" + msgstr "PGP шифроване(e), подпис(s), подпис като(a), и двете(b) или без тях(f)?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5547 ++#: ncrypt/crypt_gpgme.c:5627 + msgid "samco" + msgstr "esabf" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5557 ++#: ncrypt/crypt_gpgme.c:5637 + #, fuzzy + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp, (c)lear, or (o)ppenc mode?" + msgstr "PGP шифроване(e), подпис(s), подпис като(a), и двете(b) или без тях(f)?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5560 ++#: ncrypt/crypt_gpgme.c:5640 + msgid "esabpco" + msgstr "esabf" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5566 ++#: ncrypt/crypt_gpgme.c:5646 + #, fuzzy + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime, (c)lear, or (o)ppenc mode?" + msgstr "PGP шифроване(e), подпис(s), подпис като(a), и двете(b) или без тях(f)?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5569 ++#: ncrypt/crypt_gpgme.c:5649 + msgid "esabmco" + msgstr "esabf" + +-#: ncrypt/crypt_gpgme.c:5580 ++#: ncrypt/crypt_gpgme.c:5660 + #, fuzzy + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp or (c)lear?" + msgstr "PGP шифроване(e), подпис(s), подпис като(a), и двете(b) или без тях(f)?" + + #. L10N: S/MIME options +-#: ncrypt/crypt_gpgme.c:5582 ++#: ncrypt/crypt_gpgme.c:5662 + msgid "esabpc" + msgstr "esabf" + +-#: ncrypt/crypt_gpgme.c:5589 ++#: ncrypt/crypt_gpgme.c:5669 + #, fuzzy + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime or (c)lear?" + msgstr "PGP шифроване(e), подпис(s), подпис като(a), и двете(b) или без тях(f)?" + + #. L10N: PGP options +-#: ncrypt/crypt_gpgme.c:5591 ++#: ncrypt/crypt_gpgme.c:5671 + msgid "esabmc" + msgstr "esabf" + +-#: ncrypt/crypt_gpgme.c:5751 ++#: ncrypt/crypt_gpgme.c:5831 + msgid "Failed to verify sender" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5754 ++#: ncrypt/crypt_gpgme.c:5834 + #, fuzzy + msgid "Failed to figure out sender" + msgstr "Грешка при отваряне на файла за прочит на заглавната информация." + +-#: ncrypt/pgp.c:108 ++#: ncrypt/pgp.c:107 + msgid "Enter PGP passphrase:" + msgstr "Въвеждане на PGP парола:" + +-#: ncrypt/pgp.c:595 ++#: ncrypt/pgp.c:594 + msgid "[-- Error: unable to create PGP subprocess --]\n" + msgstr "[-- Грешка: не може да бъде стартиран дъщерен PGP процес --]\n" + +-#: ncrypt/pgp.c:644 ncrypt/pgp.c:926 ncrypt/pgp.c:1086 ++#: ncrypt/pgp.c:643 ncrypt/pgp.c:925 ncrypt/pgp.c:1085 + msgid "" + "[-- End of PGP output --]\n" + "\n" +@@ -4575,16 +4655,16 @@ msgstr "" + #. L10N: You will see this error message if (1) you are decrypting + #. (not encrypting) something and (2) it is a plaintext. So the + #. message does not mean "You failed to encrypt the message." +-#: ncrypt/pgp.c:724 ++#: ncrypt/pgp.c:723 + #, fuzzy + msgid "PGP message is not encrypted" + msgstr "PGP-подписът е потвърден успешно" + +-#: ncrypt/pgp.c:978 ++#: ncrypt/pgp.c:977 + msgid "Internal error. Please submit a bug report." + msgstr "" + +-#: ncrypt/pgp.c:1043 ++#: ncrypt/pgp.c:1042 + msgid "" + "[-- Error: could not create a PGP subprocess --]\n" + "\n" +@@ -4592,128 +4672,128 @@ msgstr "" + "[-- Грешка: не може да бъде стартиран дъщерен PGP процес --]\n" + "\n" + +-#: ncrypt/pgp.c:1073 ncrypt/pgp.c:1098 ncrypt/smime.c:2143 postpone.c:757 +-#: postpone.c:785 ++#: ncrypt/pgp.c:1072 ncrypt/pgp.c:1097 ncrypt/smime.c:2177 postpone.c:803 ++#: postpone.c:831 + msgid "Decryption failed" + msgstr "Неуспешно разшифроване" + +-#: ncrypt/pgp.c:1333 ++#: ncrypt/pgp.c:1334 + msgid "Can't open PGP subprocess" + msgstr "Не може да бъде стартиран дъщерен PGP процес" + +-#: ncrypt/pgp.c:1768 ++#: ncrypt/pgp.c:1770 + msgid "Can't invoke PGP" + msgstr "PGP не може да бъде стартиран" + + #. L10N: The next string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1875 ++#: ncrypt/pgp.c:1877 + msgid "PGP/M(i)ME" + msgstr "" + + #. L10N: The previous string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1881 ++#: ncrypt/pgp.c:1883 + msgid "(i)nline" + msgstr "" + + #. L10N: PGP options (inline) (opportunistic encryption is on) +-#: ncrypt/pgp.c:1893 ++#: ncrypt/pgp.c:1895 + #, fuzzy, c-format + msgid "PGP (s)ign, sign (a)s, %s format, (c)lear, or (o)ppenc mode off?" + msgstr "PGP шифроване(e), подпис(s), подпис като(a), и двете(b) или без тях(f)?" + + #. L10N: PGP options (inline) (opportunistic encryption is on) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1899 ++#: ncrypt/pgp.c:1901 + msgid "saico" + msgstr "esabf" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1905 ++#: ncrypt/pgp.c:1907 + #, fuzzy + msgid "PGP (s)ign, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "PGP шифроване(e), подпис(s), подпис като(a), и двете(b) или без тях(f)?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1907 ++#: ncrypt/pgp.c:1909 + msgid "saco" + msgstr "esabf" + + #. L10N: PGP options (inline) (opportunistic encryption is off) +-#: ncrypt/pgp.c:1921 ++#: ncrypt/pgp.c:1923 + #, fuzzy, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, (c)lear, or (o)ppenc mode?" + msgstr "PGP шифроване(e), подпис(s), подпис като(a), и двете(b) или без тях(f)?" + + #. L10N: PGP options (inline) (opportunistic encryption is off) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1927 ++#: ncrypt/pgp.c:1929 + msgid "esabico" + msgstr "esabf" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1933 ++#: ncrypt/pgp.c:1935 + #, fuzzy + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "PGP шифроване(e), подпис(s), подпис като(a), и двете(b) или без тях(f)?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1936 ++#: ncrypt/pgp.c:1938 + msgid "esabco" + msgstr "esabf" + + #. L10N: PGP options (inline) +-#: ncrypt/pgp.c:1947 ++#: ncrypt/pgp.c:1949 + #, fuzzy, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, or (c)lear?" + msgstr "PGP шифроване(e), подпис(s), подпис като(a), и двете(b) или без тях(f)?" + + #. L10N: PGP options (inline) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1953 ++#: ncrypt/pgp.c:1955 + msgid "esabic" + msgstr "esabf" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1959 ++#: ncrypt/pgp.c:1961 + #, fuzzy + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (c)lear?" + msgstr "PGP шифроване(e), подпис(s), подпис като(a), и двете(b) или без тях(f)?" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1961 ++#: ncrypt/pgp.c:1963 + msgid "esabc" + msgstr "esabf" + +-#: ncrypt/pgpinvoke.c:458 ++#: ncrypt/pgpinvoke.c:461 + msgid "Fetching PGP key..." + msgstr "Получаване на PGP ключ..." + +-#: ncrypt/pgpkey.c:640 ++#: ncrypt/pgpkey.c:643 + msgid "All matching keys are expired, revoked, or disabled" + msgstr "Всички подходящи ключове са остарели, анулирани или деактивирани" + +-#: ncrypt/pgpkey.c:681 ++#: ncrypt/pgpkey.c:714 + #, c-format + msgid "PGP keys matching <%s>" + msgstr "PGP ключове, съвпадащи с <%s>" + +-#: ncrypt/pgpkey.c:683 ++#: ncrypt/pgpkey.c:716 + #, c-format + msgid "PGP keys matching \"%s\"" + msgstr "PGP ключове, съвпадащи с \"%s\"" + +-#: ncrypt/pgpkey.c:700 ncrypt/pgpkey.c:909 ++#: ncrypt/pgpkey.c:733 ncrypt/pgpkey.c:944 + msgid "Can't open /dev/null" + msgstr "Грешка при отваряне на /dev/null" + +-#: ncrypt/pgpkey.c:938 ++#: ncrypt/pgpkey.c:973 + #, c-format + msgid "PGP Key %s" + msgstr "PGP ключ %s" + +-#: ncrypt/smime.c:182 ++#: ncrypt/smime.c:180 + #, fuzzy + msgid "Enter S/MIME passphrase:" + msgstr "Въвеждане на SMIME парола:" +@@ -4723,7 +4803,7 @@ msgstr "Въвеждане на SMIME парола:" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:460 ++#: ncrypt/smime.c:462 + msgid "Expired " + msgstr "Изтекъл " + +@@ -4732,7 +4812,7 @@ msgstr "Изтекъл " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:468 ++#: ncrypt/smime.c:470 + msgid "Invalid " + msgstr "Невалиден " + +@@ -4741,7 +4821,7 @@ msgstr "Невалиден " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:476 ++#: ncrypt/smime.c:478 + msgid "Revoked " + msgstr "Анулиран " + +@@ -4750,7 +4830,7 @@ msgstr "Анулиран " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:484 ++#: ncrypt/smime.c:486 + msgid "Trusted " + msgstr "Ползващ се с доверие " + +@@ -4759,7 +4839,7 @@ msgstr "Ползващ се с доверие " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:492 ++#: ncrypt/smime.c:494 + msgid "Unverified" + msgstr "Непроверен" + +@@ -4768,7 +4848,7 @@ msgstr "Непроверен" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:500 ++#: ncrypt/smime.c:502 + msgid "Verified " + msgstr "Проверен " + +@@ -4777,61 +4857,61 @@ msgstr "Проверен " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:508 ++#: ncrypt/smime.c:510 + msgid "Unknown " + msgstr "Неизвестен " + +-#: ncrypt/smime.c:545 ++#: ncrypt/smime.c:547 + #, c-format + msgid "S/MIME certificates matching \"%s\"" + msgstr "S/MIME сертификати, съвпадащи с \"%s\"" + +-#: ncrypt/smime.c:589 ++#: ncrypt/smime.c:621 + #, fuzzy + msgid "ID is not trusted. Do you really want to use the key?" + msgstr "Този идентификатор не не е валиден. Действително ли искате да използвате този ключ?" + +-#: ncrypt/smime.c:910 ++#: ncrypt/smime.c:944 + msgid "Enter keyID: " + msgstr "Въведете ключов идентификатор: " + +-#: ncrypt/smime.c:1055 ++#: ncrypt/smime.c:1089 + #, c-format + msgid "No (valid) certificate found for %s" + msgstr "Не е намерен (валиден) сертификат за %s" + +-#: ncrypt/smime.c:1108 ncrypt/smime.c:1137 ncrypt/smime.c:1209 +-#: ncrypt/smime.c:1243 ncrypt/smime.c:1319 ncrypt/smime.c:1399 ++#: ncrypt/smime.c:1142 ncrypt/smime.c:1171 ncrypt/smime.c:1243 ++#: ncrypt/smime.c:1277 ncrypt/smime.c:1353 ncrypt/smime.c:1433 + msgid "Error: unable to create OpenSSL subprocess" + msgstr "Грешка: не може да бъде стартиран дъщерен OpenSSL процес" + +-#: ncrypt/smime.c:1379 ++#: ncrypt/smime.c:1413 + #, fuzzy + msgid "Label for certificate: " + msgstr "От сървъра не може да бъде получен сертификат" + +-#: ncrypt/smime.c:1480 ++#: ncrypt/smime.c:1514 + #, fuzzy + msgid "no certfile" + msgstr "no certfile" + +-#: ncrypt/smime.c:1483 ++#: ncrypt/smime.c:1517 + msgid "no mbox" + msgstr "няма пощенска кутия" + +-#: ncrypt/smime.c:1640 ncrypt/smime.c:1810 ++#: ncrypt/smime.c:1674 ncrypt/smime.c:1844 + msgid "No output from OpenSSL..." + msgstr "Няма резултат от дъщерния OpenSSL процес..." + +-#: ncrypt/smime.c:1727 ++#: ncrypt/smime.c:1761 + msgid "Can't sign: No key specified. Use Sign As." + msgstr "" + +-#: ncrypt/smime.c:1777 ++#: ncrypt/smime.c:1811 + msgid "Can't open OpenSSL subprocess" + msgstr "Не може да бъде стартиран дъщерен OpenSSL процес" + +-#: ncrypt/smime.c:2004 ncrypt/smime.c:2123 ++#: ncrypt/smime.c:2038 ncrypt/smime.c:2157 + msgid "" + "[-- End of OpenSSL output --]\n" + "\n" +@@ -4839,19 +4919,19 @@ msgstr "" + "[-- Край на OpenSSL-резултата --]\n" + "\n" + +-#: ncrypt/smime.c:2080 ncrypt/smime.c:2093 ++#: ncrypt/smime.c:2114 ncrypt/smime.c:2127 + msgid "[-- Error: unable to create OpenSSL subprocess --]\n" + msgstr "[-- Грешка: не може да бъде стартиран дъщерен OpenSSL процес --]\n" + +-#: ncrypt/smime.c:2129 ++#: ncrypt/smime.c:2163 + msgid "[-- The following data is S/MIME encrypted --]\n" + msgstr "[-- Следните данни са шифровани със S/MIME --]\n" + +-#: ncrypt/smime.c:2132 ++#: ncrypt/smime.c:2166 + msgid "[-- The following data is S/MIME signed --]\n" + msgstr "[-- Следните данни са подписани със S/MIME --]\n" + +-#: ncrypt/smime.c:2225 ++#: ncrypt/smime.c:2259 + msgid "" + "\n" + "[-- End of S/MIME encrypted data. --]\n" +@@ -4859,7 +4939,7 @@ msgstr "" + "\n" + "[-- Край на шифрованите със S/MIME данни --]\n" + +-#: ncrypt/smime.c:2227 ++#: ncrypt/smime.c:2261 + msgid "" + "\n" + "[-- End of S/MIME signed data. --]\n" +@@ -4868,168 +4948,168 @@ msgstr "" + "[-- Край на подписаните със S/MIME данни --]\n" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2361 ++#: ncrypt/smime.c:2395 + #, fuzzy + msgid "S/MIME (s)ign, encrypt (w)ith, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME шифроване(e), подпис(s), шифроване с(w), подпис като(a), и двете(b) или без тях(f)?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2364 ++#: ncrypt/smime.c:2398 + msgid "swaco" + msgstr "eswabf" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2372 ++#: ncrypt/smime.c:2406 + #, fuzzy + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME шифроване(e), подпис(s), шифроване с(w), подпис като(a), и двете(b) или без тях(f)?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2375 ++#: ncrypt/smime.c:2409 + msgid "eswabco" + msgstr "eswabf" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2382 ++#: ncrypt/smime.c:2416 + #, fuzzy + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, or (c)lear?" + msgstr "S/MIME шифроване(e), подпис(s), шифроване с(w), подпис като(a), и двете(b) или без тях(f)?" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2385 ++#: ncrypt/smime.c:2419 + msgid "eswabc" + msgstr "eswabf" + +-#: ncrypt/smime.c:2449 ++#: ncrypt/smime.c:2483 + msgid "Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear?" + msgstr "" + + #. L10N: Options for: Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear? +-#: ncrypt/smime.c:2452 ++#: ncrypt/smime.c:2486 + msgid "123c" + msgstr "" + +-#: ncrypt/smime.c:2455 ++#: ncrypt/smime.c:2489 + msgid "(1) DES, (2) Triple-DES?" + msgstr "" + + #. L10N: Options for: (1) DES, (2) Triple-DES +-#: ncrypt/smime.c:2457 ++#: ncrypt/smime.c:2491 + msgid "12" + msgstr "" + +-#: ncrypt/smime.c:2470 ++#: ncrypt/smime.c:2504 + msgid "(1) RC2-40, (2) RC2-64, (3) RC2-128?" + msgstr "" + + #. L10N: Options for: (1) RC2-40, (2) RC2-64, (3) RC2-128 + #. L10N: Options for: (1) AES128, (2) AES192, (3) AES256 +-#: ncrypt/smime.c:2472 ncrypt/smime.c:2490 ++#: ncrypt/smime.c:2506 ncrypt/smime.c:2524 + msgid "123" + msgstr "" + +-#: ncrypt/smime.c:2488 ++#: ncrypt/smime.c:2522 + msgid "(1) AES128, (2) AES192, (3) AES256?" + msgstr "" + +-#: nntp/newsrc.c:632 ++#: nntp/newsrc.c:639 + msgid "Loading list of groups from cache..." + msgstr "" + +-#: nntp/newsrc.c:997 ++#: nntp/newsrc.c:1023 + msgid "No news server defined" + msgstr "" + +-#: nntp/newsrc.c:1012 ++#: nntp/newsrc.c:1041 + #, fuzzy, c-format + msgid "%s is an invalid news server specification" + msgstr "%s не е валидна POP пътека" + +-#: nntp/nntp.c:236 nntp/nntp.c:777 pop/pop.c:742 pop/pop_lib.c:398 ++#: nntp/nntp.c:238 nntp/nntp.c:779 pop/pop.c:742 pop/pop_lib.c:424 + msgid "Server closed connection" + msgstr "Сървърът затвори връзката" + +-#: nntp/nntp.c:340 ++#: nntp/nntp.c:342 + msgid "Server doesn't support reader mode" + msgstr "" + +-#: nntp/nntp.c:576 pop/pop_auth.c:504 smtp.c:650 ++#: nntp/nntp.c:578 pop/pop_auth.c:505 smtp.c:675 + msgid "No authenticators available" + msgstr "Няма налични идентификатори." + +-#: nntp/nntp.c:766 ++#: nntp/nntp.c:768 + #, fuzzy, c-format + msgid "%s authentication failed" + msgstr "Неуспешна SASL идентификация" + +-#: nntp/nntp.c:826 ++#: nntp/nntp.c:828 + #, fuzzy, c-format + msgid "Connection to %s lost. Reconnect?" + msgstr "Връзката с %s е затворена" + +-#: nntp/nntp.c:1285 ++#: nntp/nntp.c:1287 + #, fuzzy + msgid "Fetching list of articles..." + msgstr "Изтегляне на списък с писмата..." + +-#: nntp/nntp.c:1549 nntp/nntp.c:2138 pop/pop.c:614 pop/pop.c:910 ++#: nntp/nntp.c:1551 nntp/nntp.c:2140 pop/pop.c:614 pop/pop.c:905 + msgid "Checking for new messages..." + msgstr "Проверка за нови писма..." + +-#: nntp/nntp.c:1864 nntp/nntp.c:1954 ++#: nntp/nntp.c:1866 nntp/nntp.c:1956 + #, fuzzy + msgid "Could not switch to reader mode" + msgstr "грешка при запис във временната пощенска кутия: %s" + +-#: nntp/nntp.c:1877 ++#: nntp/nntp.c:1879 + #, fuzzy, c-format + msgid "Connected to %s. %s" + msgstr "Свързване с %s..." + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + #, fuzzy + msgid "Posting is ok" + msgstr "Няма какво да се прави" + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + msgid "Posting is NOT ok" + msgstr "" + +-#: nntp/nntp.c:2008 nntp/nntp.c:2043 ++#: nntp/nntp.c:2010 nntp/nntp.c:2045 + #, fuzzy, c-format + msgid "Can't post article: %s" + msgstr "Грешка при отваряне на %s: %s" + +-#: nntp/nntp.c:2064 ++#: nntp/nntp.c:2066 + #, fuzzy, c-format + msgid "Loading list of groups from server %s..." + msgstr "Премахване на съобщенията от сървъра..." + +-#: nntp/nntp.c:2106 nntp/nntp.c:2198 ++#: nntp/nntp.c:2108 nntp/nntp.c:2200 + #, fuzzy + msgid "Loading descriptions..." + msgstr "Включване..." + +-#: nntp/nntp.c:2128 ++#: nntp/nntp.c:2130 + #, fuzzy + msgid "Checking for new newsgroups..." + msgstr "Проверка за нови писма..." + +-#: nntp/nntp.c:2332 ++#: nntp/nntp.c:2334 + msgid "Unable to find child articles because server does not support XPAT command" + msgstr "" + +-#: nntp/nntp.c:2437 ++#: nntp/nntp.c:2439 + #, fuzzy, c-format + msgid "%s is an invalid newsgroup specification" + msgstr "%s не е валидна POP пътека" + +-#: nntp/nntp.c:2476 ++#: nntp/nntp.c:2478 + #, c-format + msgid "Newsgroup %s not found on the server" + msgstr "" + +-#: nntp/nntp.c:2498 ++#: nntp/nntp.c:2500 + #, c-format + msgid "Newsgroup %s has been removed from the server" + msgstr "" +@@ -5041,7 +5121,7 @@ msgstr "" + + #: notmuch/mutt_notmuch.c:219 notmuch/mutt_notmuch.c:1939 + #, c-format +-msgid "failed to parse notmuch uri: %s" ++msgid "failed to parse notmuch url: %s" + msgstr "" + + #: notmuch/mutt_notmuch.c:449 +@@ -6194,189 +6274,189 @@ msgstr "" + msgid "show S/MIME options" + msgstr "показва S/MIME настройките" + +-#: pager.c:222 ++#: pager.c:214 + msgid "Not available in this menu" + msgstr "Функцията не е достъпна от това меню" + +-#: pager.c:229 ++#: pager.c:221 + msgid "PrevPg" + msgstr "Пред. стр." + +-#: pager.c:230 ++#: pager.c:222 + msgid "NextPg" + msgstr "Следв. стр." + +-#: pager.c:235 ++#: pager.c:227 + msgid "View Attachm." + msgstr "Приложения" + +-#: pager.c:238 pager.c:247 ++#: pager.c:230 pager.c:239 + msgid "Next" + msgstr "Следващо" + + #. L10N: Status bar message: the entire email is visible in the pager + #. L10N: Status bar message: all the emails are visible in the index +-#: pager.c:2180 status.c:278 ++#: pager.c:2136 status.c:278 + msgid "all" + msgstr "" + + #. L10N: Status bar message: the end of the email is visible in the pager + #. L10N: Status bar message: the end of the list emails is visible in the index +-#: pager.c:2182 status.c:276 ++#: pager.c:2138 status.c:276 + msgid "end" + msgstr "" + +-#: pager.c:2530 pager.c:2566 pager.c:2602 pager.c:2937 ++#: pager.c:2503 pager.c:2539 pager.c:2576 pager.c:2911 + msgid "Bottom of message is shown" + msgstr "Това е краят на писмото" + +-#: pager.c:2543 pager.c:2573 pager.c:2580 pager.c:2590 ++#: pager.c:2516 pager.c:2546 pager.c:2553 pager.c:2564 + msgid "Top of message is shown" + msgstr "Това е началото на писмото" + +-#: pager.c:2840 ++#: pager.c:2814 + msgid "Help is currently being shown" + msgstr "Помощта вече е показана" + +-#: pager.c:2897 ++#: pager.c:2871 + msgid "No more quoted text" + msgstr "Няма повече цитиран текст" + +-#: pager.c:2914 ++#: pager.c:2888 + msgid "No more unquoted text after quoted text" + msgstr "Няма повече нецитиран текст след цитирания" + +-#: pattern.c:220 pattern.c:297 pattern.c:1046 ++#: pattern.c:221 pattern.c:298 pattern.c:1085 + #, c-format + msgid "Error in expression: %s" + msgstr "Грешка в израза: %s" + +-#: pattern.c:226 pattern.c:302 pattern.c:1052 ++#: pattern.c:227 pattern.c:303 pattern.c:1091 + #, fuzzy + msgid "Empty expression" + msgstr "грешка в израза" + +-#: pattern.c:288 ++#: pattern.c:289 + #, fuzzy + msgid "No search command defined" + msgstr "Команда за запитване не е дефинирана" + +-#: pattern.c:326 ++#: pattern.c:327 + #, fuzzy, c-format + msgid "Running search command: %s ..." + msgstr "Автоматично показване посредством: %s" + +-#: pattern.c:417 ++#: pattern.c:441 pattern.c:456 + #, c-format + msgid "Invalid day of month: %s" + msgstr "Невалиден ден от месеца: %s" + +-#: pattern.c:431 ++#: pattern.c:446 pattern.c:470 + #, c-format + msgid "Invalid month: %s" + msgstr "Невалиден месец: %s" + +-#: pattern.c:534 ++#: pattern.c:573 + #, c-format + msgid "Invalid relative date: %s" + msgstr "Невалидна дата: %s" + +-#: pattern.c:842 pattern.c:975 ++#: pattern.c:881 pattern.c:1014 + #, fuzzy + msgid "No current message" + msgstr "Няма непрочетени писма" + +-#: pattern.c:1002 ++#: pattern.c:1041 + msgid "No Context" + msgstr "" + +-#: pattern.c:1125 ++#: pattern.c:1164 + #, fuzzy + msgid "Error opening 'memory stream'" + msgstr "Грешка при отваряне на пощенската кутия!" + +-#: pattern.c:1171 ++#: pattern.c:1210 + #, fuzzy + msgid "Error re-opening 'memory stream'" + msgstr "Грешка при отваряне на пощенската кутия!" + +-#: pattern.c:1180 ++#: pattern.c:1219 + #, fuzzy + msgid "Error opening /dev/null" + msgstr "Грешка при отваряне на /dev/null" + +-#: pattern.c:1443 pattern.c:1620 ++#: pattern.c:1482 pattern.c:1662 + #, c-format + msgid "error in pattern at: %s" + msgstr "грешка в шаблона при: %s" + +-#: pattern.c:1476 ++#: pattern.c:1515 + #, fuzzy, c-format + msgid "missing pattern: %s" + msgstr "липсва параметър" + +-#: pattern.c:1494 pattern.c:1593 ++#: pattern.c:1533 pattern.c:1635 + #, c-format + msgid "mismatched parentheses: %s" + msgstr "неподходящо поставени скоби: %s" + +-#: pattern.c:1559 ++#: pattern.c:1598 + #, fuzzy, c-format + msgid "%c: invalid pattern modifier" + msgstr "%c: невалидна команда" + +-#: pattern.c:1564 ++#: pattern.c:1603 + #, c-format + msgid "%c: not supported in this mode" + msgstr "%c: не се поддържа в този режим" + +-#: pattern.c:1576 ++#: pattern.c:1618 + msgid "missing parameter" + msgstr "липсва параметър" + +-#: pattern.c:1626 ++#: pattern.c:1668 + msgid "empty pattern" + msgstr "празен шаблон" + +-#: pattern.c:2080 pattern.c:2083 ++#: pattern.c:2202 pattern.c:2205 + msgid "error: server custom search only supported with IMAP" + msgstr "" + +-#: pattern.c:2274 ++#: pattern.c:2398 + #, c-format + msgid "error: unknown op %d (report this error)" + msgstr "грешка: непознат оператор %d (моля, съобщете за тази грешка)" + +-#: pattern.c:2448 pattern.c:2604 ++#: pattern.c:2572 pattern.c:2728 + msgid "Compiling search pattern..." + msgstr "Компилиране на шаблона за търсене..." + +-#: pattern.c:2468 ++#: pattern.c:2592 + msgid "Executing command on matching messages..." + msgstr "Изпълняване на команда върху писмата..." + +-#: pattern.c:2537 ++#: pattern.c:2661 + msgid "No messages matched criteria" + msgstr "Няма писма, отговарящи на този критерий" + +-#: pattern.c:2641 ++#: pattern.c:2765 + #, fuzzy + msgid "Searching..." + msgstr "Записване..." + +-#: pattern.c:2655 ++#: pattern.c:2779 + msgid "Search hit bottom without finding match" + msgstr "Търсенето достигна до края, без да бъде намерено съвпадение" + +-#: pattern.c:2666 ++#: pattern.c:2790 + msgid "Search hit top without finding match" + msgstr "Търсенето достигна до началото, без да бъде намерено съвпадение" + +-#: pattern.c:2700 ++#: pattern.c:2824 + msgid "Search interrupted" + msgstr "Търсенето е прекъснато" + +-#: pop/pop.c:216 pop/pop_lib.c:234 ++#: pop/pop.c:216 pop/pop_lib.c:259 + msgid "Command TOP is not supported by server" + msgstr "Сървърът не поддържа командата TOP" + +@@ -6384,7 +6464,7 @@ msgstr "Сървърът не поддържа командата TOP" + msgid "Can't write header to temporary file" + msgstr "Грешка при запис на заглавната част на писмото във временен файл" + +-#: pop/pop.c:420 pop/pop_lib.c:236 ++#: pop/pop.c:420 pop/pop_lib.c:261 + msgid "Command UIDL is not supported by server" + msgstr "Сървърът не поддържа командата UIDL" + +@@ -6399,7 +6479,7 @@ msgstr[1] "Невалиден индекс на писмо. Опитайте д + msgid "POP host is not defined" + msgstr "POP хостът не е дефиниран" + +-#: pop/pop.c:596 pop/pop.c:825 ++#: pop/pop.c:596 pop/pop.c:790 pop/pop.c:820 + #, c-format + msgid "%s is an invalid POP path" + msgstr "%s не е валидна POP пътека" +@@ -6432,156 +6512,156 @@ msgid_plural "%s [%d of %d messages read]" + msgstr[0] "%s [%d от %d писма са прочетени]" + msgstr[1] "%s [%d от %d писма са прочетени]" + +-#: pop/pop.c:876 ++#: pop/pop.c:871 + msgid "Fetching list of messages..." + msgstr "Изтегляне на списък с писмата..." + +-#: pop/pop.c:959 ++#: pop/pop.c:954 + #, fuzzy + msgid "Marking messages deleted..." + msgstr "Маркиране на %d съобщения за изтриване..." + +-#: pop/pop.c:1150 ++#: pop/pop.c:1145 + msgid "Can't write message to temporary file" + msgstr "Грешка при запис на писмото във временен файл" + +-#: pop/pop_auth.c:103 ++#: pop/pop_auth.c:104 + msgid "Authenticating (SASL)..." + msgstr "Идентифициране (SASL)..." + +-#: pop/pop_auth.c:245 ++#: pop/pop_auth.c:246 + msgid "POP timestamp is invalid" + msgstr "" + +-#: pop/pop_auth.c:249 ++#: pop/pop_auth.c:250 + msgid "Authenticating (APOP)..." + msgstr "Идентифициране (APOP)..." + +-#: pop/pop_auth.c:269 ++#: pop/pop_auth.c:270 + msgid "APOP authentication failed" + msgstr "Неуспешна APOP идентификация" + +-#: pop/pop_auth.c:309 ++#: pop/pop_auth.c:310 + msgid "Command USER is not supported by server" + msgstr "Сървърът не поддържа командата USER" + +-#: pop/pop_auth.c:386 ++#: pop/pop_auth.c:387 + #, fuzzy + msgid "Authentication failed" + msgstr "Неуспешна SASL идентификация" + +-#: pop/pop_lib.c:78 ++#: pop/pop_lib.c:103 + #, fuzzy, c-format + msgid "Invalid POP URL: %s" + msgstr "Невалиден " + +-#: pop/pop_lib.c:232 ++#: pop/pop_lib.c:257 + msgid "Unable to leave messages on server" + msgstr "Оставянето на писмата на сървъра е невъзможно" + +-#: pop/pop_lib.c:274 ++#: pop/pop_lib.c:300 + #, c-format + msgid "Error connecting to server: %s" + msgstr "Грешка при свързване със сървъра: %s" + +-#: pop/pop_lib.c:414 ++#: pop/pop_lib.c:440 + msgid "Closing connection to POP server..." + msgstr "Затваряне на връзката към POP сървър..." + +-#: pop/pop_lib.c:605 ++#: pop/pop_lib.c:631 + msgid "Verifying message indexes..." + msgstr "Потвърждаване индексите на писмата..." + +-#: pop/pop_lib.c:628 ++#: pop/pop_lib.c:654 + msgid "Connection lost. Reconnect to POP server?" + msgstr "Връзката пропадна. Желаете ли да се включите отново към POP сървъра?" + +-#: postpone.c:229 ++#: postpone.c:260 + msgid "Postponed Messages" + msgstr "Чернови" + +-#: postpone.c:314 postpone.c:326 ++#: postpone.c:348 postpone.c:372 + msgid "No postponed messages" + msgstr "Няма запазени чернови" + +-#: postpone.c:480 ++#: postpone.c:526 + msgid "Illegal S/MIME header" + msgstr "Невалидна S/MIME заглавна част" + +-#: postpone.c:510 postpone.c:551 postpone.c:560 ++#: postpone.c:556 postpone.c:597 postpone.c:606 + #, fuzzy + msgid "Illegal crypto header" + msgstr "Невалидна PGP заглавна част" + +-#: postpone.c:644 postpone.c:752 postpone.c:780 ++#: postpone.c:690 postpone.c:798 postpone.c:826 + #, fuzzy + msgid "Decrypting message..." + msgstr "Изтегляне на писмо..." + +-#: query.c:82 ++#: query.c:80 + msgid "New Query" + msgstr "Ново запитване" + +-#: query.c:83 ++#: query.c:81 + msgid "Make Alias" + msgstr "Създаване на псевдоним" + +-#: query.c:180 ++#: query.c:178 + msgid "Waiting for response..." + msgstr "Чакане на отговор..." + +-#: query.c:362 query.c:400 ++#: query.c:365 query.c:434 + msgid "Query: " + msgstr "Запитване: " + +-#: query.c:370 query.c:407 ++#: query.c:374 query.c:442 + #, c-format + msgid "Query '%s'" + msgstr "Запитване '%s'" + +-#: query.c:620 query.c:657 ++#: query.c:661 query.c:698 + msgid "Query command not defined" + msgstr "Команда за запитване не е дефинирана" + +-#: recvattach.c:93 ++#: recvattach.c:91 + msgid "Pipe" + msgstr "Pipe" + +-#: recvattach.c:94 ++#: recvattach.c:92 + msgid "Print" + msgstr "Отпечатване" + +-#: recvattach.c:569 ++#: recvattach.c:571 + msgid "Saving..." + msgstr "Записване..." + +-#: recvattach.c:573 recvattach.c:744 recvattach.c:748 ++#: recvattach.c:575 recvattach.c:746 recvattach.c:750 + #, fuzzy, c-format + msgid "Attachment saved" + msgid_plural "%d attachments saved" + msgstr[0] "Приложението е записано на диска" + msgstr[1] "Приложението е записано на диска" + +-#: recvattach.c:772 ++#: recvattach.c:774 + #, c-format + msgid "WARNING! You are about to overwrite %s, continue?" + msgstr "ПРЕДУПРЕЖДЕНИЕ! На път сте да презапишете %s, наистина ли?" + +-#: recvattach.c:790 ++#: recvattach.c:792 + msgid "Attachment filtered" + msgstr "Приложението е филтрирано" + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Filter through: " + msgstr "Филтриране през: " + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Pipe to: " + msgstr "Предаване на (pipe): " + + #. L10N: s gets replaced by a MIME type, e.g. "text/plain" or + #. application/octet-stream. +-#: recvattach.c:935 ++#: recvattach.c:937 + #, fuzzy, c-format + msgid "I don't know how to print %s attachments" + msgstr "Не е дефинирана команда за отпечатване на %s приложения" +@@ -6589,58 +6669,58 @@ msgstr "Не е дефинирана команда за отпечатване + #. L10N: Although we now the precise number of tagged messages, we + #. do not show it to the user. So feel free to use a "generic + #. plural" as plural translation if your language has one. +-#: recvattach.c:1038 ++#: recvattach.c:1040 + #, fuzzy, c-format + msgid "Print tagged attachment?" + msgid_plural "Print %d tagged attachments?" + msgstr[0] "Желаете ли да отпечатате маркираните приложения?" + msgstr[1] "Желаете ли да отпечатате маркираните приложения?" + +-#: recvattach.c:1039 ++#: recvattach.c:1041 + #, c-format + msgid "Print attachment?" + msgstr "Желаете ли да отпечатате приложението?" + +-#: recvattach.c:1123 ++#: recvattach.c:1125 + msgid "Structural changes to decrypted attachments are not supported" + msgstr "" + +-#: recvattach.c:1291 ++#: recvattach.c:1293 + msgid "Can't decrypt encrypted message" + msgstr "Грешка при дешифрирането на шифровано писмо" + +-#: recvattach.c:1425 ++#: recvattach.c:1457 + msgid "Attachments" + msgstr "Приложения" + +-#: recvattach.c:1465 ++#: recvattach.c:1497 + #, fuzzy + msgid "There are no subparts to show" + msgstr "Няма подчасти, които да бъдат показани." + +-#: recvattach.c:1520 ++#: recvattach.c:1552 + msgid "Can't delete attachment from POP server" + msgstr "Грешка при изтриването на приложение от POP сървъра" + +-#: recvattach.c:1529 ++#: recvattach.c:1561 + #, fuzzy + msgid "Can't delete attachment from news server" + msgstr "Грешка при изтриването на приложение от POP сървъра" + +-#: recvattach.c:1536 ++#: recvattach.c:1568 + msgid "Deletion of attachments from encrypted messages is unsupported" + msgstr "Изтриването на приложения от шифровани писма не се поддържа" + +-#: recvattach.c:1542 ++#: recvattach.c:1574 + #, fuzzy + msgid "Deletion of attachments from signed messages may invalidate the signature" + msgstr "Изтриването на приложения от шифровани писма не се поддържа" + +-#: recvattach.c:1561 recvattach.c:1578 ++#: recvattach.c:1593 recvattach.c:1610 + msgid "Only deletion of multipart attachments is supported" + msgstr "Поддържа се само изтриване на приложения от съставни писма" + +-#: recvcmd.c:79 ++#: recvcmd.c:78 + msgid "You may only bounce message/rfc822 parts" + msgstr "Може да изпращате отново само message/rfc822 части" + +@@ -6677,7 +6757,7 @@ msgstr "Грешка при създаване на %s" + msgid "Can't find any tagged messages" + msgstr "Няма маркирани писма" + +-#: recvcmd.c:848 send.c:1073 ++#: recvcmd.c:848 send.c:1072 + msgid "No mailing lists found" + msgstr "Няма mailing list-ове" + +@@ -6692,67 +6772,67 @@ msgstr "Декодирането на всички маркирани прило + msgid "You may only compose to sender with message/rfc822 parts" + msgstr "Може да изпращате отново само message/rfc822 части" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Append" + msgstr "Добавяне" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Insert" + msgstr "Вмъкване" + +-#: remailer.c:78 ++#: remailer.c:76 + msgid "OK" + msgstr "ОК" + +-#: remailer.c:210 ++#: remailer.c:207 + msgid "" + msgstr "" + +-#: remailer.c:586 ++#: remailer.c:617 + msgid "Can't get mixmaster's type2.list" + msgstr "Невъзможно получаването на mixmaster \"type2.list\"" + +-#: remailer.c:612 ++#: remailer.c:673 + msgid "Select a remailer chain" + msgstr "Избор на remailer верига" + +-#: remailer.c:674 ++#: remailer.c:735 + #, c-format + msgid "Error: %s can't be used as the final remailer of a chain" + msgstr "Грешка: %s не може да се използва като последен remailer във веригата" + + #. L10N The '%d' here hard-coded to 19 +-#: remailer.c:706 ++#: remailer.c:767 + #, c-format + msgid "Mixmaster chains are limited to %d elements" + msgstr "mixmaster веригите са ограничени до %d елемента" + +-#: remailer.c:729 ++#: remailer.c:790 + msgid "The remailer chain is already empty" + msgstr "remailer веригата вече е празна" + +-#: remailer.c:739 ++#: remailer.c:800 + msgid "You already have the first chain element selected" + msgstr "Първият елемент от веригата е вече избран" + +-#: remailer.c:749 ++#: remailer.c:810 + msgid "You already have the last chain element selected" + msgstr "Последният елемент от веригата е вече избран" + +-#: remailer.c:792 ++#: remailer.c:856 + msgid "Mixmaster doesn't accept Cc or Bcc headers" + msgstr "mixmaster не приема Cc или Bcc заглавни полета" + +-#: remailer.c:817 ++#: remailer.c:881 + msgid "Please set the hostname variable to a proper value when using mixmaster" + msgstr "Моля, поставете валидна стойност в променливата \"hostname\" когато използвате mixmaster" + +-#: remailer.c:860 ++#: remailer.c:924 + #, c-format + msgid "Error sending message, child exited %d.\n" + msgstr "Грешка (%d) при изпращане на писмото.\n" + +-#: remailer.c:864 ++#: remailer.c:928 + msgid "Error sending message" + msgstr "Грешка при изпращане на писмото" + +@@ -6783,42 +6863,42 @@ msgstr "Желаете ли да ги препратите като прилож + + #. L10N: Asks whether the user respects the reply-to header. + #. If she says no, neomutt will reply to the from header's address instead. +-#: send.c:793 ++#: send.c:792 + #, c-format + msgid "Reply to %s%s?" + msgstr "Желаете ли да отговорите на %s%s?" + +-#: send.c:838 ++#: send.c:837 + #, c-format + msgid "Follow-up to %s%s?" + msgstr "Желаете ли да проследите до %s%s?" + +-#: send.c:1122 ++#: send.c:1121 + msgid "Include message in reply?" + msgstr "Желаете ли да прикачите писмото към отговора?" + +-#: send.c:1128 ++#: send.c:1127 + msgid "Including quoted message..." + msgstr "Прикачване на цитирано писмо..." + +-#: send.c:1137 ++#: send.c:1136 + msgid "Could not include all requested messages" + msgstr "Не всички поискани писма могат да бъдат прикачени" + +-#: send.c:1148 ++#: send.c:1147 + msgid "Forward as attachment?" + msgstr "Желаете ли да го препратите като приложение?" + +-#: send.c:1153 ++#: send.c:1152 + msgid "Preparing forwarded message..." + msgstr "Подготовка за препращане..." + +-#: send.c:1632 ++#: send.c:1631 + #, fuzzy + msgid "Fcc to an IMAP mailbox is not supported in batch mode" + msgstr "%c: не се поддържа в този режим" + +-#: send.c:1664 send.c:1690 ++#: send.c:1665 send.c:1675 send.c:1701 + #, fuzzy + msgid "Save attachments in Fcc?" + msgstr "показва приложението като текст" +@@ -6827,196 +6907,196 @@ msgstr "показва приложението като текст" + #. (r)etry tries the same mailbox again. + #. alternate (m)ailbox prompts for a different mailbox to try. + #. (s)kip aborts saving. +-#: send.c:1712 ++#: send.c:1723 + msgid "Fcc failed. (r)etry, alternate (m)ailbox, or (s)kip?" + msgstr "" + + #. L10N: These correspond to the "Fcc failed" multi-choice prompt + #. (r)etry, alternate (m)ailbox, or (s)kip. + #. Any similarity to famous leaders of the FSF is coincidental. +-#: send.c:1716 ++#: send.c:1727 + msgid "rms" + msgstr "" + + #. L10N: This is the prompt to enter an "alternate (m)ailbox" when the + #. initial Fcc fails. +-#: send.c:1722 ++#: send.c:1733 + #, fuzzy + msgid "Fcc mailbox" + msgstr "Няма пощенска кутия.\n" + +-#: send.c:1788 ++#: send.c:1799 + msgid "Can't postpone. $postponed is unset" + msgstr "" + +-#: send.c:1923 ++#: send.c:1934 + msgid "Recall postponed message?" + msgstr "Желаете ли да редактирате чернова?" + +-#: send.c:2228 ++#: send.c:2239 + msgid "Edit forwarded message?" + msgstr "Желаете ли да редактирате писмото преди препращане?" + +-#: send.c:2266 ++#: send.c:2277 + msgid "Abort unmodified message?" + msgstr "Желаете ли да изтриете непромененото писмо?" + +-#: send.c:2268 ++#: send.c:2279 + msgid "Aborted unmodified message" + msgstr "Непромененото писмо е изтрито" + +-#: send.c:2388 ++#: send.c:2399 + msgid "No crypto backend configured. Disabling message security setting." + msgstr "" + +-#: send.c:2427 ++#: send.c:2438 + #, fuzzy + msgid "Article not posted" + msgstr "Писмото не е изпратено" + +-#: send.c:2437 ++#: send.c:2448 + msgid "Message postponed" + msgstr "Писмото е записано като чернова" + +-#: send.c:2470 ++#: send.c:2481 + msgid "No subject, abort sending?" + msgstr "Липсва тема на писмото. Желаете ли да прекъснете изпращането?" + +-#: send.c:2474 send.c:2480 ++#: send.c:2485 send.c:2491 + msgid "No subject specified" + msgstr "Липсва тема" + +-#: send.c:2486 ++#: send.c:2497 + #, fuzzy + msgid "No newsgroup specified" + msgstr "Липсва тема" + +-#: send.c:2496 ++#: send.c:2507 + #, fuzzy + msgid "No attachments, cancel sending?" + msgstr "променя кодирането на приложението" + +-#: send.c:2501 ++#: send.c:2512 + msgid "Message contains text matching \"$abort_noattach_regex\". Not sending." + msgstr "" + +-#: send.c:2559 smtp.c:227 ++#: send.c:2570 smtp.c:230 + msgid "Sending message..." + msgstr "Изпращане на писмото..." + +-#: send.c:2598 ++#: send.c:2609 + msgid "Could not send the message" + msgstr "Писмото не може да бъде изпратено" + +-#: send.c:2608 ++#: send.c:2619 + msgid "Sending in background" + msgstr "Изпращане на заден фон" + +-#: send.c:2609 ++#: send.c:2620 + msgid "Article posted" + msgstr "" + +-#: send.c:2610 ++#: send.c:2621 + msgid "Mail sent" + msgstr "Писмото е изпратенo" + +-#: sendlib.c:567 ++#: sendlib.c:566 + msgid "No boundary parameter found [report this error]" + msgstr "Не е намерен \"boundary\" параметър [моля, съобщете за тази грешка]" + +-#: sendlib.c:598 ++#: sendlib.c:597 + #, c-format + msgid "%s no longer exists" + msgstr "%s вече не съществува" + +-#: sendlib.c:1056 ++#: sendlib.c:1055 + #, c-format + msgid "%s isn't a regular file" + msgstr "%s не е обикновен файл" + +-#: sendlib.c:1223 ++#: sendlib.c:1222 + #, fuzzy + msgid "Could not find any mime.types file." + msgstr "Писмото не може да бъде изпратено." + +-#: sendlib.c:1314 ++#: sendlib.c:1313 + #, c-format + msgid "Could not open %s" + msgstr "Грешка при отваряне на %s" + +-#: sendlib.c:2864 ++#: sendlib.c:2855 + msgid "$sendmail must be set in order to send mail" + msgstr "" + +-#: sendlib.c:2971 ++#: sendlib.c:2962 + #, c-format + msgid "Error sending message, child exited %d (%s)" + msgstr "Грешка %d (%s) при изпращане на писмото" + +-#: sendlib.c:2977 ++#: sendlib.c:2969 + msgid "Output of the delivery process" + msgstr "Изпращащ процес:" + +-#: sendlib.c:3157 ++#: sendlib.c:3154 + #, c-format + msgid "Bad IDN %s while preparing resent-from" + msgstr "Лош IDN %s докато формата за повторно изпращане беше подготвяна" + +-#: smtp.c:165 ++#: smtp.c:168 + #, fuzzy, c-format + msgid "SMTP session failed: %s" + msgstr "Неуспешен SSL: %s" + +-#: smtp.c:222 ++#: smtp.c:225 + #, fuzzy, c-format + msgid "SMTP session failed: unable to open %s" + msgstr "Неуспешен SSL: %s" + +-#: smtp.c:339 ++#: smtp.c:364 + #, fuzzy, c-format + msgid "Invalid SMTP URL: %s" + msgstr "Невалиден " + +-#: smtp.c:618 ++#: smtp.c:643 + #, c-format + msgid "SMTP authentication method %s requires SASL" + msgstr "" + +-#: smtp.c:625 ++#: smtp.c:650 + #, fuzzy, c-format + msgid "%s authentication failed, trying next method" + msgstr "Неуспешна SASL идентификация." + +-#: smtp.c:636 ++#: smtp.c:661 + #, fuzzy + msgid "SMTP authentication requires SASL" + msgstr "Неуспешна GSSAPI идентификация" + +-#: smtp.c:717 ++#: smtp.c:742 + msgid "SMTP server does not support authentication" + msgstr "" + +-#: smtp.c:756 ++#: smtp.c:781 + msgid "No from address given" + msgstr "" + +-#: smtp.c:821 ++#: smtp.c:846 + msgid "SMTP session failed: read error" + msgstr "" + +-#: smtp.c:823 ++#: smtp.c:848 + msgid "SMTP session failed: write error" + msgstr "" + +-#: smtp.c:825 ++#: smtp.c:850 + msgid "Invalid server response" + msgstr "" + +-#: sort.c:385 ++#: sort.c:387 + msgid "Sorting mailbox..." + msgstr "Подреждане на пощенската кутия..." + +-#: sort.c:427 ++#: sort.c:429 + msgid "Could not find sorting function [report this bug]" + msgstr "Не може да бъде намерена функция за подреждане (Моля, съобщете за тази грешка)" + +@@ -7068,11 +7148,11 @@ msgstr "" + "NeoMutt е свободен софтуер и може да бъде разпространяван\n" + "при определени условия; напишете 'neomutt -vv' за повече подробности.\n" + +-#: version.c:446 ++#: version.c:451 + #, fuzzy + msgid "Default options:" + msgstr "Опции при компилация:" + +-#: version.c:449 ++#: version.c:454 + msgid "Compile options:" + msgstr "Опции при компилация:" +diff --git a/po/ca.po b/po/ca.po +index 7ac715bb0..8f85635a5 100644 +--- a/po/ca.po ++++ b/po/ca.po +@@ -58,7 +58,7 @@ msgid "" + msgstr "" + "Project-Id-Version: neomutt-2019-12-07\n" + "Report-Msgid-Bugs-To: neomutt-devel@neomutt.org\n" +-"POT-Creation-Date: 2019-12-06 23:10+0000\n" ++"POT-Creation-Date: 2020-03-09 12:15+0000\n" + "PO-Revision-Date: 2019-05-15 01:16-0400\n" + "Last-Translator: Ivan Vilata i Balaguer \n" + "Language-Team: Catalan \n" +@@ -68,16 +68,40 @@ msgstr "" + "Content-Transfer-Encoding: 8bit\n" + "Plural-Forms: nplurals=2; plural=(n != 1);\n" + +-#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:59 browser.c:80 browser.c:90 +-#: mutt_history.c:45 pager.c:228 postpone.c:68 query.c:80 recvattach.c:93 ++msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" ++msgstr "(r)ebutja, accepta (u)na sola volta, accepta (s)empre, sal(t)a" ++ ++msgid "roas" ++msgstr "rust" ++ ++msgid "(r)eject, accept (o)nce, (a)ccept always" ++msgstr "(r)ebutja, accepta (u)na sola volta, accepta (s)empre" ++ ++msgid "roa" ++msgstr "rus" ++ ++msgid "(r)eject, accept (o)nce, (s)kip" ++msgstr "(r)ebutja, accepta (u)na sola volta, sal(t)a" ++ ++msgid "ros" ++msgstr "rut" ++ ++msgid "(r)eject, accept (o)nce" ++msgstr "(r)ebutja, accepta (u)na sola volta" ++ ++msgid "ro" ++msgstr "ru" ++ ++#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:58 browser.c:79 browser.c:89 ++#: mutt_history.c:45 pager.c:220 postpone.c:68 query.c:78 recvattach.c:91 + msgid "Exit" + msgstr "Ix" + +-#: addrbook.c:56 index.c:116 index.c:129 pager.c:236 pager.c:246 postpone.c:69 ++#: addrbook.c:56 index.c:112 index.c:125 pager.c:228 pager.c:238 postpone.c:69 + msgid "Del" + msgstr "Esborra" + +-#: addrbook.c:57 index.c:117 index.c:130 postpone.c:70 ++#: addrbook.c:57 index.c:113 index.c:126 postpone.c:70 + msgid "Undel" + msgstr "Recupera" + +@@ -85,18 +109,18 @@ msgstr "Recupera" + msgid "Select" + msgstr "Selecciona" + +-#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:82 browser.c:84 browser.c:96 +-#: compose.c:218 compose.c:230 conn/ssl.c:983 conn/ssl_gnutls.c:691 index.c:122 +-#: index.c:135 mutt_history.c:48 ncrypt/crypt_gpgme.c:4735 ncrypt/pgpkey.c:670 +-#: ncrypt/smime.c:553 pager.c:2326 postpone.c:71 query.c:85 recvattach.c:94 ++#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:81 browser.c:83 browser.c:95 ++#: compose.c:216 compose.c:228 conn/ssl.c:996 conn/ssl_gnutls.c:722 index.c:118 ++#: index.c:131 mutt_history.c:48 ncrypt/crypt_gpgme.c:4783 ncrypt/pgpkey.c:673 ++#: ncrypt/smime.c:555 pager.c:2297 postpone.c:71 query.c:83 recvattach.c:92 + msgid "Help" + msgstr "Ajuda" + +-#: addrbook.c:208 ++#: addrbook.c:238 + msgid "You have no aliases" + msgstr "No teniu cap àlies." + +-#: addrbook.c:215 ++#: addrbook.c:276 + msgid "Aliases" + msgstr "Àlies" + +@@ -105,52 +129,52 @@ msgstr "Àlies" + msgid "Alias as: " + msgstr "Nou àlies: " + +-#: alias.c:411 ++#: alias.c:414 + msgid "You already have an alias defined with that name" + msgstr "Ja heu definit un àlies amb aquest nom." + +-#: alias.c:417 ++#: alias.c:420 + msgid "Warning: This alias name may not work. Fix it?" + msgstr "Avís: Aquest àlies podria no funcionar. Voleu reparar-lo?" + +-#: alias.c:442 ++#: alias.c:445 + msgid "Address: " + msgstr "Adreça: " + +-#: alias.c:453 commands.c:444 compose.c:744 conn/conn_raw.c:152 +-#: conn/conn_raw.c:210 recvcmd.c:232 send.c:228 ++#: alias.c:457 commands.c:450 compose.c:743 conn/conn_raw.c:152 ++#: conn/conn_raw.c:210 recvcmd.c:231 send.c:227 + #, c-format + msgid "Bad IDN: '%s'" + msgstr "L’IDN no és vàlid: %s" + +-#: alias.c:464 ++#: alias.c:468 + msgid "Personal name: " + msgstr "Nom personal: " + +-#: alias.c:473 ++#: alias.c:477 + #, c-format + msgid "[%s = %s] Accept?" + msgstr "Voleu acceptar «%s» com a àlies de «%s»?" + +-#: alias.c:484 recvattach.c:528 recvattach.c:550 recvattach.c:564 +-#: recvattach.c:579 recvattach.c:678 ++#: alias.c:488 recvattach.c:530 recvattach.c:552 recvattach.c:566 ++#: recvattach.c:581 recvattach.c:680 + msgid "Save to file: " + msgstr "Desa al fitxer: " + +-#: alias.c:503 ++#: alias.c:507 + msgid "Error reading alias file" + msgstr "Error en llegir el fitxer d’àlies." + +-#: alias.c:525 ++#: alias.c:529 + #, fuzzy + msgid "Trouble adding alias" + msgstr "Error en llegir el fitxer d’àlies." + +-#: alias.c:527 ++#: alias.c:531 + msgid "Alias added" + msgstr "S’ha afegit l’àlies" + +-#: alias.c:532 ++#: alias.c:536 + msgid "Error seeking in alias file" + msgstr "Error en desplaçar-se dins del fitxer d’àlies." + +@@ -161,7 +185,7 @@ msgstr "Error en desplaçar-se dins del fitxer d’àlies." + #. for some reason (e.g. autocrypt, header cache, bcache), but it + #. doesn't exist. The prompt is asking whether to create the directory + #. +-#: autocrypt/autocrypt.c:70 main.c:826 ++#: autocrypt/autocrypt.c:70 main.c:757 + #, c-format + msgid "%s does not exist. Create it?" + msgstr "«%s» no existeix. Voleu crear-lo?" +@@ -170,8 +194,8 @@ msgstr "«%s» no existeix. Voleu crear-lo?" + #. mkdir() on the directory %s failed. The second %s is the + #. error message returned by libc + #. +-#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:830 +-#: nntp/newsrc.c:1069 ++#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:761 ++#: nntp/newsrc.c:1098 + #, c-format + msgid "Can't create %s: %s" + msgstr "No s’ha pogut crear «%s»: %s" +@@ -181,7 +205,7 @@ msgstr "No s’ha pogut crear «%s»: %s" + #. create $autocrypt_dir and then prompt to create an autocrypt + #. account with this message. + #. +-#: autocrypt/autocrypt.c:156 ++#: autocrypt/autocrypt.c:163 + msgid "Create an initial autocrypt account?" + msgstr "Voleu crear un compte inicial d’Autocrypt?" + +@@ -190,7 +214,7 @@ msgstr "Voleu crear un compte inicial d’Autocrypt?" + #. autocrypt account. This will generate a key and add a record + #. to the database for use in autocrypt operations. + #. +-#: autocrypt/autocrypt.c:180 ++#: autocrypt/autocrypt.c:187 + msgid "Autocrypt account address: " + msgstr "Adreça del compte d’Autocrypt: " + +@@ -199,7 +223,7 @@ msgstr "Adreça del compte d’Autocrypt: " + #. a single address. This is shown if they entered something invalid, + #. nothing, or more than one address for some reason. + #. +-#: autocrypt/autocrypt.c:191 ++#: autocrypt/autocrypt.c:198 + msgid "Please enter a single email address" + msgstr "Per favor, entreu una sola adreça de correu" + +@@ -208,7 +232,7 @@ msgstr "Per favor, entreu una sola adreça de correu" + #. if there is already an account in the database with the email address + #. they just entered. + #. +-#: autocrypt/autocrypt.c:208 ++#: autocrypt/autocrypt.c:215 + msgid "That email address already has an autocrypt account" + msgstr "Aquesta adreça de correu ja té un compte d’Autocrypt associat" + +@@ -221,31 +245,31 @@ msgstr "Aquesta adreça de correu ja té un compte d’Autocrypt associat" + #. Otherwise the UI will show encryption is "available" but the user + #. will be required to enable encryption manually. + #. +-#: autocrypt/autocrypt.c:223 ++#: autocrypt/autocrypt.c:230 + msgid "Prefer encryption?" + msgstr "Preferiu xifrar?" + + #. L10N: + #. Message displayed after an autocrypt account is successfully created. + #. +-#: autocrypt/autocrypt.c:236 ++#: autocrypt/autocrypt.c:243 + msgid "Autocrypt account creation succeeded" +-msgstr "S’ha avortat la creació del compte d’Autocrypt" ++msgstr "S’ha pogut crear amb èxit el compte d’Autocrypt" + + #. L10N: + #. Error message displayed if creating an autocrypt account failed + #. or was aborted by the user. + #. +-#: autocrypt/autocrypt.c:242 ++#: autocrypt/autocrypt.c:249 + msgid "Autocrypt account creation aborted" +-msgstr "S’ha pogut crear amb èxit el compte d’Autocrypt" ++msgstr "S’ha avortat la creació del compte d’Autocrypt" + + #. L10N: + #. %s is an email address. Autocrypt is scanning for the keyids + #. to use to encrypt, but it can't find a valid keyid for this address. + #. The message is printed and they are returned to the compose menu. + #. +-#: autocrypt/autocrypt.c:610 autocrypt/autocrypt.c:639 ++#: autocrypt/autocrypt.c:617 autocrypt/autocrypt.c:646 + #, c-format + msgid "No (valid) autocrypt key found for %s" + msgstr "No s’ha trobat cap clau (vàlida) d’Autocrypt per a %s" +@@ -257,12 +281,12 @@ msgstr "No s’ha trobat cap clau (vàlida) d’Autocrypt per a %s" + #. and used for encryption. + #. If this is answered yes, they will be prompted for a mailbox. + #. +-#: autocrypt/autocrypt.c:903 ++#: autocrypt/autocrypt.c:910 + msgid "Scan a mailbox for autocrypt headers?" + msgstr "Voleu cercar capçaleres d’Autocrypt a una bústia?" + + #. L10N: The prompt for a mailbox to scan for Autocrypt: headers +-#: autocrypt/autocrypt.c:907 ++#: autocrypt/autocrypt.c:914 + msgid "Scan mailbox" + msgstr "Bústia on cercar" + +@@ -273,21 +297,21 @@ msgstr "Bústia on cercar" + #. for a mailbox. This is because this is a one-time operation + #. and I don't want them to accidentally ctrl-g and abort it. + #. +-#: autocrypt/autocrypt.c:927 ++#: autocrypt/autocrypt.c:934 + msgid "Scan another mailbox for autocrypt headers?" + msgstr "Voleu cercar capçaleres d’Autocrypt en una altra bústia?" + + #. L10N: Autocrypt Account Menu Help line: + #. create new account + #. +-#: autocrypt/autocrypt_acct_menu.c:63 ++#: autocrypt/autocrypt_acct_menu.c:62 + msgid "Create" + msgstr "Crea" + + #. L10N: Autocrypt Account Menu Help line: + #. delete account + #. +-#: autocrypt/autocrypt_acct_menu.c:67 remailer.c:77 ++#: autocrypt/autocrypt_acct_menu.c:66 remailer.c:75 + msgid "Delete" + msgstr "Esborra" + +@@ -295,9 +319,9 @@ msgstr "Esborra" + #. toggle an account active/inactive + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:74 ++#: autocrypt/autocrypt_acct_menu.c:73 + msgid "Tgl Active" + msgstr "(Des)Activa" + +@@ -305,17 +329,17 @@ msgstr "(Des)Activa" + #. toggle "prefer-encrypt" on an account + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:81 +-msgid "Prf Enc" ++#: autocrypt/autocrypt_acct_menu.c:80 ++msgid "Prf Encr" + msgstr "(No)Pref xifrar" + + #. L10N: + #. Autocrypt Account menu. + #. flag that an account has prefer-encrypt set + #. +-#: autocrypt/autocrypt_acct_menu.c:123 ++#: autocrypt/autocrypt_acct_menu.c:122 + msgid "prefer encrypt" + msgstr "es prefereix xifrar" + +@@ -324,7 +348,7 @@ msgstr "es prefereix xifrar" + #. flag that an account has prefer-encrypt unset; + #. thus encryption will need to be manually enabled. + #. +-#: autocrypt/autocrypt_acct_menu.c:130 ++#: autocrypt/autocrypt_acct_menu.c:129 + msgid "manual encrypt" + msgstr "xifrar manualment" + +@@ -332,7 +356,7 @@ msgstr "xifrar manualment" + #. Autocrypt Account menu. + #. flag that an account is enabled/active + #. +-#: autocrypt/autocrypt_acct_menu.c:138 ++#: autocrypt/autocrypt_acct_menu.c:137 + msgid "active" + msgstr "actiu" + +@@ -340,12 +364,12 @@ msgstr "actiu" + #. Autocrypt Account menu. + #. flag that an account is disabled/inactive + #. +-#: autocrypt/autocrypt_acct_menu.c:144 ++#: autocrypt/autocrypt_acct_menu.c:143 + msgid "inactive" + msgstr "inactiu" + + #. L10N: Autocrypt Account Management Menu title +-#: autocrypt/autocrypt_acct_menu.c:183 ++#: autocrypt/autocrypt_acct_menu.c:182 + msgid "Autocrypt Accounts" + msgstr "Comptes d’Autocrypt" + +@@ -353,12 +377,12 @@ msgstr "Comptes d’Autocrypt" + #. This error message is displayed if a database update of an + #. account record fails for some odd reason. + #. +-#: autocrypt/autocrypt_acct_menu.c:245 autocrypt/autocrypt_acct_menu.c:259 ++#: autocrypt/autocrypt_acct_menu.c:244 autocrypt/autocrypt_acct_menu.c:258 + msgid "Error updating account record" + msgstr "Error en actualitzar el registre del compte" + + #. L10N: Confirmation message when deleting an autocrypt account +-#: autocrypt/autocrypt_acct_menu.c:302 ++#: autocrypt/autocrypt_acct_menu.c:333 + #, c-format + msgid "Really delete account \"%s\"?" + msgstr "Voleu realment esborrar el compte «%s»?" +@@ -376,7 +400,7 @@ msgstr "Voleu realment esborrar el compte «%s»?" + msgid "Unable to open autocrypt database %s" + msgstr "No s’ha pogut obrir la base de dades d’Autocrypt «%s»" + +-#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:774 ++#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:773 + #, c-format + msgid "error creating gpgme context: %s" + msgstr "Error en crear el context GPGME: %s" +@@ -449,339 +473,287 @@ msgstr "La versió de la base de dades d’Autocrypt és massa nova" + msgid "Message cache isn't a directory: %s" + msgstr "«%s» no és un directori" + +-#: browser.c:81 ++#: browser.c:80 + msgid "Chdir" + msgstr "Canvia de directori" + +-#: browser.c:82 ++#: browser.c:81 + msgid "Goto" + msgstr "" + +-#: browser.c:83 browser.c:95 ++#: browser.c:82 browser.c:94 + msgid "Mask" + msgstr "Màscara" + +-#: browser.c:91 ++#: browser.c:90 + msgid "List" + msgstr "" + +-#: browser.c:92 ++#: browser.c:91 + #, fuzzy + msgid "Subscribe" + msgstr "S’ha subscrit a «%s»." + +-#: browser.c:93 ++#: browser.c:92 + #, fuzzy + msgid "Unsubscribe" + msgstr "S’ha dessubscrit de «%s»." + +-#: browser.c:94 index.c:134 ++#: browser.c:93 index.c:130 + msgid "Catchup" + msgstr "" + +-#: browser.c:760 browser.c:1519 browser.c:1758 ++#: browser.c:763 browser.c:1584 browser.c:1825 + #, c-format + msgid "%s is not a directory" + msgstr "«%s» no és un directori" + +-#: browser.c:1025 ++#: browser.c:1028 + #, fuzzy, c-format + msgid "Subscribed newsgroups" + msgstr "S’ha subscrit a «%s»." + +-#: browser.c:1028 ++#: browser.c:1031 + #, c-format + msgid "Newsgroups on server [%s]" + msgstr "" + + # ivb (2001/12/07) + # ivb Es refereix a les definides en «mailboxes». +-#: browser.c:1038 ++#: browser.c:1041 + #, c-format + msgid "Mailboxes [%d]" + msgstr "Bústies d’entrada [%d]" + +-#: browser.c:1050 ++#: browser.c:1053 + #, c-format + msgid "Subscribed [%s], File mask: %s" + msgstr "Subscrites [%s], màscara de fitxers: %s" + +-#: browser.c:1056 ++#: browser.c:1059 + #, c-format + msgid "Directory [%s], File mask: %s" + msgstr "Directori [%s], màscara de fitxers: %s" + +-#: browser.c:1113 ++#: browser.c:1116 + msgid "Can't attach a directory" + msgstr "No es pot adjuntar un directori." + +-#: browser.c:1380 browser.c:1814 browser.c:1959 ++#: browser.c:1445 browser.c:1881 browser.c:2026 + msgid "No files match the file mask" + msgstr "No hi ha cap fitxer que concorde amb la màscara de fitxers." + +-#: browser.c:1587 ++#: browser.c:1654 + msgid "Create is only supported for IMAP mailboxes" + msgstr "Només es poden crear bústies amb IMAP." + +-#: browser.c:1609 ++#: browser.c:1676 + msgid "Rename is only supported for IMAP mailboxes" + msgstr "Només es poden reanomenar bústies amb IMAP." + +-#: browser.c:1630 ++#: browser.c:1697 + msgid "Delete is only supported for IMAP mailboxes" + msgstr "Només es poden esborrar bústies amb IMAP." + +-#: browser.c:1642 ++#: browser.c:1709 + #, fuzzy + msgid "Can't delete currently selected mailbox" + msgstr "Mostra el nom del fitxer seleccionat actualment." + +-#: browser.c:1646 ++#: browser.c:1713 + #, c-format + msgid "Really delete mailbox \"%s\"?" + msgstr "Voleu realment esborrar la bústia «%s»?" + +-#: browser.c:1663 ++#: browser.c:1730 + msgid "Mailbox deleted" + msgstr "S’ha esborrat la bústia" + +-#: browser.c:1667 ++#: browser.c:1734 + msgid "Mailbox deletion failed" + msgstr "L’esborrat la bústia ha fallat" + +-#: browser.c:1670 ++#: browser.c:1737 + msgid "Mailbox not deleted" + msgstr "No s’ha esborrat la bústia" + +-#: browser.c:1697 ++#: browser.c:1764 + msgid "Chdir to: " + msgstr "Canvia al directori: " + +-#: browser.c:1747 browser.c:1808 ++#: browser.c:1814 browser.c:1875 + msgid "Error scanning directory" + msgstr "Error en llegir el directori" + +-#: browser.c:1769 ++#: browser.c:1836 + msgid "File Mask: " + msgstr "Màscara de fitxers: " + + #. L10N: The highlighted letters must match the "Sort" options +-#: browser.c:1831 ++#: browser.c:1898 + msgid "Reverse sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "" + + #. L10N: The highlighted letters must match the "Reverse Sort" options +-#: browser.c:1834 ++#: browser.c:1901 + msgid "Sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "" + + #. L10N: These must match the highlighted letters from "Sort" and "Reverse Sort" +-#: browser.c:1837 ++#: browser.c:1904 + msgid "dazecwn" + msgstr "" + +-#: browser.c:1948 ++#: browser.c:2015 + msgid "New file name: " + msgstr "Nom del nou fitxer: " + +-#: browser.c:1976 ++#: browser.c:2043 + msgid "Can't view a directory" + msgstr "No es pot veure un directori." + +-#: browser.c:1993 ++#: browser.c:2060 + msgid "Error trying to view file" + msgstr "Error en intentar veure el fitxer." + +-#: browser.c:2079 ++#: browser.c:2146 + #, fuzzy, c-format + msgid "Subscribe pattern: " + msgstr "S’ha subscrit a «%s»." + +-#: browser.c:2081 ++#: browser.c:2148 + #, fuzzy, c-format + msgid "Unsubscribe pattern: " + msgstr "S’ha dessubscrit de «%s»." + +-#: browser.c:2101 ++#: browser.c:2169 + #, fuzzy + msgid "No newsgroups match the mask" + msgstr "No hi ha cap fitxer que concorde amb la màscara de fitxers." + +-#: color.c:633 color.c:644 +-#, c-format +-msgid "%s: color not supported by term" +-msgstr "%s: El terminal no permet aquest color." +- +-#: color.c:652 +-#, c-format +-msgid "%s: no such color" +-msgstr "%s: El color no existeix." +- +-#: color.c:717 color.c:740 color.c:751 color.c:842 +-#, c-format +-msgid "%s: no such object" +-msgstr "%s: L’objecte no existeix." +- +-#: color.c:731 color.c:868 color.c:1069 color.c:1098 color.c:1122 color.c:1191 +-#: color.c:1214 hook.c:110 hook.c:124 hook.c:367 hook.c:383 init.c:612 +-#: init.c:620 init.c:709 init.c:1099 init.c:1267 init.c:1871 init.c:1929 +-#: keymap.c:1184 score.c:110 +-#, c-format +-msgid "%s: too few arguments" +-msgstr "%s: Manquen arguments." +- +-#: color.c:1142 +-#, c-format +-msgid "%s: no such attribute" +-msgstr "%s: L’atribut no existeix." +- +-# ivb (2001/12/08) +-# ivb També apareix com a error aïllat. +-#: color.c:1223 color.c:1329 hook.c:131 hook.c:390 init.c:1123 init.c:2133 +-#: init.c:2611 keymap.c:1116 keymap.c:1289 keymap.c:1442 keymap.c:1506 +-#: mutt_lua.c:483 score.c:119 +-#, c-format +-msgid "%s: too many arguments" +-msgstr "%s: Sobren arguments." +- +-#: color.c:1244 +-msgid "default colors not supported" +-msgstr "No es permet l’ús de colors per defecte." +- +-#: color.c:1282 +-#, c-format +-msgid "Maximum quoting level is %d" +-msgstr "" +- +-# És un error com els anteriors. ivb +-#: color.c:1319 +-#, fuzzy, c-format +-msgid "%s: invalid number: %s" +-msgstr "score: El número no és vàlid." +- + #. L10N: Used for the $crypt_verify_sig prompt +-#: commands.c:230 ++#: commands.c:232 + msgid "Verify signature?" + msgstr "Voleu verificar la signatura?" + +-#: commands.c:257 mbox/mbox.c:1236 ++#: commands.c:259 mbox/mbox.c:1236 + msgid "Could not create temporary file" + msgstr "No s’ha pogut crear un fitxer temporal." + +-#: commands.c:269 ++#: commands.c:271 + msgid "Can't create display filter" + msgstr "No s’ha pogut crear el filtre de visualització." + +-#: commands.c:302 ++#: commands.c:304 + msgid "Could not copy message" + msgstr "No s’ha pogut copiar el missatge." + +-#: commands.c:338 ++#: commands.c:340 + msgid "S/MIME signature successfully verified" + msgstr "S’ha pogut verificar amb èxit la signatura S/MIME" + +-#: commands.c:340 ++#: commands.c:342 + msgid "S/MIME certificate owner does not match sender" + msgstr "El propietari del certificat S/MIME no concorda amb el remitent" + +-#: commands.c:343 commands.c:353 ++#: commands.c:345 commands.c:355 + msgid "Warning: Part of this message has not been signed" + msgstr "Avís: Part d’aquest missatge no ha estat signat" + +-#: commands.c:345 ++#: commands.c:347 + msgid "S/MIME signature could NOT be verified" + msgstr "NO s’ha pogut verificar la signatura S/MIME" + +-#: commands.c:351 ++#: commands.c:353 + msgid "PGP signature successfully verified" + msgstr "S’ha pogut verificar amb èxit la signatura PGP" + +-#: commands.c:355 ++#: commands.c:357 + msgid "PGP signature could NOT be verified" + msgstr "NO s’ha pogut verificar la signatura PGP" + +-#: commands.c:372 compose.c:2116 compress.c:321 curs_lib.c:359 curs_lib.c:646 +-#: index.c:1235 index.c:1285 mutt_attach.c:159 mutt_attach.c:292 pager.c:2460 +-#: sendlib.c:1625 ++#: commands.c:378 compose.c:2187 compress/compress.c:320 gui/curs_lib.c:360 ++#: gui/curs_lib.c:714 index.c:1240 index.c:1290 mutt_attach.c:161 ++#: mutt_attach.c:294 pager.c:2433 sendlib.c:1624 + #, c-format + msgid "Error running \"%s\"" + msgstr "Error en executar «%s»." + +-#: commands.c:382 ++#: commands.c:388 + msgid "Command: " + msgstr "Ordre: " + +-#: commands.c:419 recvcmd.c:191 recvcmd.c:203 ++#: commands.c:425 recvcmd.c:190 recvcmd.c:202 + msgid "Warning: message contains no From: header" + msgstr "Avís: El missatge no té capçalera «From:»." + +-#: commands.c:425 recvcmd.c:212 ++#: commands.c:431 recvcmd.c:211 + #, fuzzy + msgid "Bounce message to: " + msgstr "Redirigeix el missatge a: " + +-#: commands.c:427 recvcmd.c:214 ++#: commands.c:433 recvcmd.c:213 + #, fuzzy + msgid "Bounce tagged messages to: " + msgstr "Redirigeix els missatges marcats a: " + +-#: commands.c:436 recvcmd.c:224 ++#: commands.c:442 recvcmd.c:223 + msgid "Error parsing address" + msgstr "Error en interpretar l’adreça." + + # ivb (2001/12/02) + # ivb El programa posa l’interrogant. +-#: commands.c:455 recvcmd.c:243 ++#: commands.c:461 recvcmd.c:242 + #, fuzzy, c-format + msgid "Bounce message to %s?" + msgid_plural "Bounce messages to %s?" + msgstr[0] "Voleu redirigir el missatge a «%s»" + msgstr[1] "Voleu redirigir els missatges a «%s»" + +-#: commands.c:470 recvcmd.c:257 ++#: commands.c:476 recvcmd.c:257 + #, fuzzy + msgid "Message not bounced" + msgid_plural "Messages not bounced" + msgstr[0] "No s’ha redirigit el missatge" + msgstr[1] "No s’han redirigit els missatges" + +-#: commands.c:496 recvcmd.c:276 ++#: commands.c:502 recvcmd.c:276 + #, fuzzy + msgid "Message bounced" + msgid_plural "Messages bounced" + msgstr[0] "S’ha redirigit el missatge" + msgstr[1] "S’han redirigit els missatges" + +-#: commands.c:606 commands.c:642 commands.c:662 ++#: commands.c:612 commands.c:648 commands.c:668 + msgid "Can't create filter process" + msgstr "No s’ha pogut crear el procés filtre." + +-#: commands.c:698 ++#: commands.c:704 + msgid "Pipe to command: " + msgstr "Redirigeix a l’ordre: " + +-#: commands.c:720 ++#: commands.c:726 + msgid "No printing command has been defined" + msgstr "No s’ha definit cap ordre d’impressió" + +-#: commands.c:732 ++#: commands.c:738 + #, fuzzy + msgid "Print message?" + msgstr "Voleu imprimir el missatge?" + +-#: commands.c:733 ++#: commands.c:739 + #, fuzzy + msgid "Print tagged messages?" + msgstr "Voleu imprimir els misatges marcats?" + +-#: commands.c:739 ++#: commands.c:745 + #, fuzzy + msgid "Message printed" + msgid_plural "Messages printed" + msgstr[0] "S’ha imprès el missatge." + msgstr[1] "S’han imprès els missatges." + +-#: commands.c:742 ++#: commands.c:748 + #, fuzzy + msgid "Message could not be printed" + msgid_plural "Messages could not be printed" +@@ -789,169 +761,343 @@ msgstr[0] "No s’ha pogut imprimir el missatge." + msgstr[1] "No s’han pogut imprimir els missatges." + + #. L10N: The highlighted letters must match the "Sort" options +-#: commands.c:759 ++#: commands.c:765 + msgid "Rev-Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "Descendent per (d)ata/(o)rig/(r)ebut/(t)ema/de(s)t/(f)il/(c)ap/(m)ida/(p)unts/sp(a)m/(e)tiqueta?" + + #. L10N: The highlighted letters must match the "Rev-Sort" options +-#: commands.c:763 ++#: commands.c:769 + msgid "Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "Ascendent per (d)ata/(o)rig/(r)ebut/(t)ema/de(s)t/(f)il/(c)ap/(m)ida/(p)unts/sp(a)m/(e)tiqueta?" + + #. L10N: These must match the highlighted letters from "Sort" and "Rev-Sort" +-#: commands.c:767 ++#: commands.c:773 + msgid "dfrsotuzcpl" + msgstr "dortsfcmpae" + +-#: commands.c:831 ++#: commands.c:837 + msgid "Shell command: " + msgstr "Ordre per a l’intèrpret: " + + # «%s» podria ser « els marcats». ivb +-#: commands.c:1036 ++#: commands.c:1042 + #, fuzzy + msgid "Decode-save to mailbox" + msgstr "Descodifica i desa a la bústia" + +-#: commands.c:1036 ++#: commands.c:1042 + #, fuzzy + msgid "Decode-save tagged to mailbox" + msgstr "Descodifica i desa els marcats a la bústia" + + # «%s» podria ser « els marcats». ivb +-#: commands.c:1038 ++#: commands.c:1044 + #, fuzzy + msgid "Decrypt-save to mailbox" + msgstr "Desxifra i desa a la bústia" + +-#: commands.c:1038 ++#: commands.c:1044 + #, fuzzy + msgid "Decrypt-save tagged to mailbox" + msgstr "Desxifra i desa els marcats a la bústia" + + # «%s» podria ser « els marcats». ivb +-#: commands.c:1040 ++#: commands.c:1046 + #, fuzzy + msgid "Save to mailbox" + msgstr "Desa a la bústia" + +-#: commands.c:1040 ++#: commands.c:1046 + #, fuzzy + msgid "Save tagged to mailbox" + msgstr "Desa els marcats a la bústia" + + # «%s» podria ser « els marcats». ivb +-#: commands.c:1045 ++#: commands.c:1051 + #, fuzzy + msgid "Decode-copy to mailbox" + msgstr "Descodifica i copia a la bústia" + +-#: commands.c:1045 ++#: commands.c:1051 + #, fuzzy + msgid "Decode-copy tagged to mailbox" + msgstr "Descodifica i copia els marcats a la bústia" + + # «%s» podria ser « els marcats». ivb +-#: commands.c:1047 ++#: commands.c:1053 + #, fuzzy + msgid "Decrypt-copy to mailbox" + msgstr "Desxifra i copia a la bústia" + +-#: commands.c:1047 ++#: commands.c:1053 + #, fuzzy + msgid "Decrypt-copy tagged to mailbox" + msgstr "Desxifra i copia els marcats a la bústia" + + # «%s» podria ser « els marcats». ivb +-#: commands.c:1049 ++#: commands.c:1055 + #, fuzzy + msgid "Copy to mailbox" + msgstr "Copia a la bústia" + +-#: commands.c:1049 ++#: commands.c:1055 + #, fuzzy + msgid "Copy tagged to mailbox" + msgstr "Copia els marcats a la bústia" + +-#: commands.c:1092 ++#: commands.c:1098 + #, c-format + msgid "Copying to %s..." + msgstr "S’està copiant a «%s»…" + + #. L10N: e.g. "text/plain; charset=UTF-8; ..." +-#: commands.c:1257 ++#: commands.c:1263 + #, fuzzy + msgid "Content type is too long" + msgstr "S’ha canviat «Content-Type» a «%s»" + + # «%s» és un codi de caràcters. ivb +-#: commands.c:1281 ++#: commands.c:1290 + #, c-format + msgid "Convert to %s upon sending?" + msgstr "Voleu convertir en %s en enviar?" + +-#: commands.c:1292 ++#: commands.c:1301 + #, c-format + msgid "Content-Type changed to %s" + msgstr "S’ha canviat «Content-Type» a «%s»" + +-#: commands.c:1297 ++#: commands.c:1306 + #, fuzzy, c-format + msgid "Character set changed to %s; not converting" + msgstr "S’ha canviat el joc de caràcters a %s; es farà conversió" + +-#: commands.c:1298 ++#: commands.c:1307 + #, fuzzy, c-format + msgid "Character set changed to %s; converting" + msgstr "S’ha canviat el joc de caràcters a %s; no es farà conversió" + +-#: compose.c:99 ++#: command_parse.c:83 command_parse.c:211 command_parse.c:219 ++#: command_parse.c:740 command_parse.c:887 command_parse.c:1491 ++#: command_parse.c:1549 gui/color.c:731 gui/color.c:868 gui/color.c:1069 ++#: gui/color.c:1098 gui/color.c:1122 gui/color.c:1191 gui/color.c:1214 ++#: hook.c:110 hook.c:124 hook.c:372 hook.c:388 keymap.c:1182 score.c:110 ++#, c-format ++msgid "%s: too few arguments" ++msgstr "%s: Manquen arguments." ++ ++#: command_parse.c:394 ++msgid "-group: no group name" ++msgstr "-group: No s’ha indicat el nom del grup." ++ ++#: command_parse.c:404 ++msgid "out of arguments" ++msgstr "Manquen arguments." ++ ++#: command_parse.c:445 command_parse.c:1372 ++#, c-format ++msgid "Error: Can't build path of '%s'" ++msgstr "" ++ ++#: command_parse.c:458 ++#, c-format ++msgid "Error: Cyclic sourcing of configuration file '%s'" ++msgstr "" ++ ++#: command_parse.c:491 ++#, c-format ++msgid "Error in %s, line %d: %s" ++msgstr "Error a «%s», línia %d: %s" ++ ++#: command_parse.c:502 ++#, fuzzy, c-format ++msgid "Warning in %s, line %d: %s" ++msgstr "Error a «%s», línia %d: %s" ++ ++#: command_parse.c:526 ++#, c-format ++msgid "source: errors in %s" ++msgstr "source: Hi ha errors a «%s»." ++ ++# ivb (2001/12/08) ++# ivb ABREUJAT! ++# ivb source: S’avorta la lectura de «%s» perquè conté massa errors. ++#: command_parse.c:526 ++#, c-format ++msgid "source: reading aborted due to too many errors in %s" ++msgstr "source: «%s» conté massa errors: s’avorta la lectura." ++ ++#: command_parse.c:535 ++#, fuzzy, c-format ++msgid "source: %d warning in %s" ++msgid_plural "source: %d warnings in %s" ++msgstr[0] "source: Hi ha errors a «%s»." ++msgstr[1] "source: Hi ha errors a «%s»." ++ ++#: command_parse.c:564 ++msgid "alias: no address" ++msgstr "alias: No s’ha indicat cap adreça." ++ ++#: command_parse.c:606 ++#, c-format ++msgid "Warning: Bad IDN '%s' in alias '%s'" ++msgstr "Avís: L’IDN de l’àlies «%2$s» no és vàlid: %1$s" ++ ++# «attachments» és una ordre de configuració. ivb ++#: command_parse.c:684 ++msgid "attachments: no disposition" ++msgstr "attachments: No s’ha indicat la disposició." ++ ++#: command_parse.c:695 ++#, fuzzy ++msgid "Current attachments settings:" ++msgstr "Edita la descripció d’una adjunció." ++ ++#: command_parse.c:725 ++msgid "attachments: invalid disposition" ++msgstr "attachments: La disposició no és vàlida." ++ ++# ivb (2001/12/08) ++# ivb També apareix com a error aïllat. ++#: command_parse.c:764 command_parse.c:1753 command_parse.c:2205 ++#: gui/color.c:1223 gui/color.c:1329 hook.c:131 hook.c:395 keymap.c:1114 ++#: keymap.c:1287 keymap.c:1440 keymap.c:1504 mutt_lua.c:485 score.c:119 ++#, c-format ++msgid "%s: too many arguments" ++msgstr "%s: Sobren arguments." ++ ++# L’indicador de format inicial altera l’ordre de configuració. ivb ++#: command_parse.c:801 ++#, c-format ++msgid "%sgroup: missing -rx or -addr" ++msgstr "%sgroup: Manca «-rx» o «-addr»" ++ ++# L’indicador de format inicial altera l’ordre de configuració. ivb ++#: command_parse.c:827 ++#, c-format ++msgid "%sgroup: warning: bad IDN '%s'" ++msgstr "%sgroup: Avís: L’IDN no és vàlid: %s" ++ ++#: command_parse.c:898 ++#, c-format ++msgid "Error: %s" ++msgstr "" ++ ++#: command_parse.c:1065 ++msgid "invalid header field" ++msgstr "El camp de capçalera no és vàlid." ++ ++#: command_parse.c:1331 command_parse.c:1435 ++#, c-format ++msgid "%s: unknown variable" ++msgstr "%s: La variable no és coneguda." ++ ++# ivb (2001/11/24) ++# ivb Es refereix a una variable lògica. ++#: command_parse.c:1528 ++#, c-format ++msgid "%s is unset" ++msgstr "«%s» no està activada." ++ ++#: command_parse.c:1573 mutt_lua.c:480 ++#, c-format ++msgid "source: error at %s" ++msgstr "source: Error a «%s»." ++ ++#: command_parse.c:1581 ++#, fuzzy, c-format ++msgid "source: file %s could not be sourced" ++msgstr "No s’han pogut imprimir els missatges" ++ ++#: command_parse.c:1604 ++msgid "spam: no matching pattern" ++msgstr "spam: No s’ha indicat el patró de concordança." ++ ++#: command_parse.c:1606 ++msgid "nospam: no matching pattern" ++msgstr "nospam: No s’ha indicat el patró de concordança." ++ ++#: command_parse.c:1762 imap/imap.c:1443 ++#, c-format ++msgid "Subscribed to %s" ++msgstr "S’ha subscrit a «%s»." ++ ++#: command_parse.c:1766 ++#, fuzzy, c-format ++msgid "Could not subscribe to %s" ++msgstr "S’ha subscrit a «%s»." ++ ++#: command_parse.c:1774 command_parse.c:2226 ++#, fuzzy ++msgid "No folder specified" ++msgstr "No s’ha indicat l’assumpte." ++ ++# «unattachments» és una ordre de configuració. ivb ++#: command_parse.c:1943 ++msgid "unattachments: no disposition" ++msgstr "unattachments: No s’ha indicat la disposició." ++ ++#: command_parse.c:1981 ++msgid "unattachments: invalid disposition" ++msgstr "unattachments: La disposició no és vàlida." ++ ++#: command_parse.c:2214 imap/imap.c:1445 ++#, c-format ++msgid "Unsubscribed from %s" ++msgstr "S’ha dessubscrit de «%s»." ++ ++#: command_parse.c:2218 ++#, fuzzy, c-format ++msgid "Could not unsubscribe from %s" ++msgstr "S’ha dessubscrit de «%s»." ++ ++#: compose.c:97 + msgid "There are no attachments" + msgstr "No hi ha cap adjunció" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:166 ++#: compose.c:164 + msgid "From: " + msgstr "Remitent: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:168 send.c:284 ++#: compose.c:166 send.c:284 + msgid "To: " + msgstr "Destinatari: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:170 send.c:286 ++#: compose.c:168 send.c:286 + msgid "Cc: " + msgstr "En còpia: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:172 send.c:288 ++#: compose.c:170 send.c:288 + msgid "Bcc: " + msgstr "En còpia oculta: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:174 compose.c:1242 send.c:320 ++#: compose.c:172 compose.c:1302 send.c:320 + msgid "Subject: " + msgstr "Assumpte: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:176 ++#: compose.c:174 + msgid "Reply-To: " + msgstr "Respostes a: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:178 compose.c:1261 ++#: compose.c:176 compose.c:1321 + msgid "Fcc: " + msgstr "Còpia a bústia: " + + # Ho deixe tal qual perquè és curt i a les altres cadenes traduïdes apareix «Mixmaster». ivb + #. L10N: "Mix" refers to the MixMaster chain for anonymous email +-#: compose.c:181 ++#: compose.c:179 + msgid "Mix: " + msgstr "Mix: " + + #. L10N: Compose menu field. Holds "Encrypt", "Sign" related information +-#: compose.c:184 ++#: compose.c:182 + msgid "Security: " + msgstr "Seguretat: " + +@@ -962,31 +1108,31 @@ msgstr "Seguretat: " + #. it should not be longer than the other compose menu fields. + #. Since it shares the row with "Encrypt with:", it should not be longer + #. than 15-20 character cells. +-#: compose.c:192 ncrypt/crypt_gpgme.c:5602 ncrypt/pgp.c:1974 +-#: ncrypt/smime.c:2395 ++#: compose.c:190 ncrypt/crypt_gpgme.c:5682 ncrypt/pgp.c:1976 ++#: ncrypt/smime.c:2429 + msgid "Sign as: " + msgstr "Signa com a: " + + #. L10N: The compose menu autocrypt line +-#: compose.c:195 ++#: compose.c:193 + msgid "Autocrypt: " + msgstr "Autocrypt: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:199 ++#: compose.c:197 + msgid "Newsgroups: " + msgstr "" + + # ivb (2001/12/07) + # ivb El primer «%s» és una adreça de correu i el segon potser «,...». + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:201 ++#: compose.c:199 + #, fuzzy + msgid "Followup-To: " + msgstr "Voleu escriure un seguiment a %s%s?" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:203 ++#: compose.c:201 + #, fuzzy + msgid "X-Comment-To: " + msgstr "Edita el camp de resposta (Reply-To)." +@@ -994,51 +1140,51 @@ msgstr "Edita el camp de resposta (Reply-To)." + # Línia completa (78 caràcters): + # + # y:Envia q:Avorta t:Dest. c:Còpia s:Assumpte a:Ajunta d:Descriu ?:Ajuda +-#: compose.c:208 compose.c:224 ++#: compose.c:206 compose.c:222 + msgid "Send" + msgstr "Envia" + +-#: compose.c:209 compose.c:225 remailer.c:77 ++#: compose.c:207 compose.c:223 remailer.c:75 + msgid "Abort" + msgstr "Avorta" + + #. L10N: compose menu help line entry +-#: compose.c:211 ++#: compose.c:209 + msgid "To" + msgstr "Dest." + + #. L10N: compose menu help line entry +-#: compose.c:213 ++#: compose.c:211 + msgid "CC" + msgstr "Còpia" + + #. L10N: compose menu help line entry +-#: compose.c:215 compose.c:227 ++#: compose.c:213 compose.c:225 + msgid "Subj" + msgstr "Assumpte" + +-#: compose.c:216 compose.c:228 compose.c:1556 ++#: compose.c:214 compose.c:226 compose.c:1616 + msgid "Attach file" + msgstr "Ajunta" + +-#: compose.c:217 compose.c:229 ++#: compose.c:215 compose.c:227 + msgid "Descrip" + msgstr "Descriu" + +-#: compose.c:226 ++#: compose.c:224 + #, fuzzy + msgid "Newsgroups" + msgstr "No s’ha indicat l’assumpte." + + #. L10N: Autocrypt recommendation flag: off. + #. * This is displayed when Autocrypt is turned off. +-#: compose.c:239 compose.c:473 ++#: compose.c:237 compose.c:472 + msgid "Off" + msgstr "Desactivat" + + #. L10N: Autocrypt recommendation flag: no. + #. * This is displayed when Autocrypt cannot encrypt to the recipients. +-#: compose.c:242 ++#: compose.c:240 + msgid "No" + msgstr "No" + +@@ -1046,7 +1192,7 @@ msgstr "No" + #. * This is displayed when Autocrypt believes encryption should not be used. + #. * This might occur if one of the recipient Autocrypt Keys has not been + #. * used recently, or if the only key available is a Gossip Header key. +-#: compose.c:247 ++#: compose.c:245 + msgid "Discouraged" + msgstr "No recomanat" + +@@ -1054,14 +1200,14 @@ msgstr "No recomanat" + #. * This is displayed when Autocrypt believes encryption is possible, but + #. * leaves enabling it up to the sender. Probably because "prefer encrypt" + #. * is not set in both the sender and recipient keys. +-#: compose.c:252 ++#: compose.c:250 + msgid "Available" + msgstr "Disponible" + + #. L10N: Autocrypt recommendation flag: yes. + #. * This is displayed when Autocrypt would normally enable encryption + #. * automatically. +-#: compose.c:256 ++#: compose.c:254 + msgid "Yes" + msgstr "Sí" + +@@ -1071,7 +1217,7 @@ msgstr "Sí" + #. (c)lear sets cleartext. + #. (a)utomatic defers to the recommendation. + #. +-#: compose.c:338 ++#: compose.c:337 + msgid "Autocrypt: (e)ncrypt, (c)lear, (a)utomatic?" + msgstr "Autocrypt: (x)ifra, en (c)lar, (a)utomàtic?" + +@@ -1079,52 +1225,52 @@ msgstr "Autocrypt: (x)ifra, en (c)lar, (a)utomàtic?" + #. The letter corresponding to the compose menu autocrypt prompt + #. (e)ncrypt, (c)lear, (a)utomatic + #. +-#: compose.c:346 ++#: compose.c:345 + msgid "eca" + msgstr "xca" + +-#: compose.c:383 ++#: compose.c:382 + msgid "Not supported" + msgstr "No es permet" + +-#: compose.c:390 ++#: compose.c:389 + msgid "Sign, Encrypt" + msgstr "Signa i xifra" + +-#: compose.c:395 compose.c:468 ++#: compose.c:394 compose.c:467 + msgid "Encrypt" + msgstr "Xifra" + +-#: compose.c:400 ++#: compose.c:399 + msgid "Sign" + msgstr "Signa" + +-#: compose.c:406 ++#: compose.c:405 + msgid "None" + msgstr "Cap" + +-#: compose.c:415 ++#: compose.c:414 + msgid " (inline PGP)" + msgstr " (PGP en línia)" + +-#: compose.c:417 ++#: compose.c:416 + msgid " (PGP/MIME)" + msgstr " (PGP/MIME)" + +-#: compose.c:420 ++#: compose.c:419 + msgid " (S/MIME)" + msgstr " (S/MIME)" + + # Crec que hi ha bastant d’espai per a la cadena. ivb +-#: compose.c:424 ++#: compose.c:423 + msgid " (OppEnc mode)" + msgstr " (xifratge oportunista)" + +-#: compose.c:436 compose.c:445 ++#: compose.c:435 compose.c:444 + msgid "" + msgstr "" + +-#: compose.c:452 ++#: compose.c:451 + msgid "Encrypt with: " + msgstr "Xifra amb: " + +@@ -1133,11 +1279,11 @@ msgstr "Xifra amb: " + #. Displays the output of the recommendation engine + #. (Off, No, Discouraged, Available, Yes) + #. +-#: compose.c:483 ++#: compose.c:482 + msgid "Recommendation: " + msgstr "Recomanació: " + +-#: compose.c:547 ++#: compose.c:546 + msgid "" + msgstr "" + +@@ -1148,7 +1294,7 @@ msgstr "" + #. The filename is located last to avoid a long path hiding the + #. error message. + #. +-#: compose.c:601 ++#: compose.c:600 + #, fuzzy, c-format + msgid "Attachment #%d no longer exists: %s" + msgstr "L’adjunció #%d ja no existeix: %s" +@@ -1163,242 +1309,364 @@ msgstr "L’adjunció #%d ja no existeix: %s" + #. The filename is located last to avoid a long path hiding the + #. prompt question. + #. +-#: compose.c:621 ++#: compose.c:620 + #, c-format + msgid "Attachment #%d modified. Update encoding for %s?" + msgstr "S’ha modificat l’adjunció #%d. Actualitzar codificació de «%s»?" + +-#: compose.c:716 ++#: compose.c:715 + msgid "-- Attachments" + msgstr "-- Adjuncions" + +-#: compose.c:770 ++#: compose.c:769 + msgid "You may not delete the only attachment" + msgstr "No es pot esborrar l’única adjunció" + + # El primer camp és una capçalera de correu. ivb +-#: compose.c:1296 edit.c:538 send.c:2462 ++#: compose.c:1356 edit.c:536 send.c:2473 + #, c-format + msgid "Bad IDN in '%s': '%s'" + msgstr "L’IDN de «%s» no és vàlid: %s" + +-#: compose.c:1347 ++#: compose.c:1407 + #, fuzzy + msgid "Attachment is already at top" + msgstr "S’ha desat l’adjunció" + +-#: compose.c:1352 compose.c:1368 ++#: compose.c:1412 compose.c:1428 + #, fuzzy + msgid "The fundamental part can't be moved" + msgstr "No es convertirà l’adjunció actual" + +-#: compose.c:1363 ++#: compose.c:1423 + #, fuzzy + msgid "Attachment is already at bottom" + msgstr "S’ha filtrat l’adjunció" + +-#: compose.c:1381 ++#: compose.c:1441 + msgid "Grouping 'alternatives' requires at least 2 tagged messages" + msgstr "" + +-#: compose.c:1462 ++#: compose.c:1522 + msgid "Grouping 'multilingual' requires at least 2 tagged messages" + msgstr "" + +-#: compose.c:1475 ++#: compose.c:1535 + msgid "Not all parts have 'Content-Language' set, continue?" + msgstr "" + +-#: compose.c:1477 ++#: compose.c:1537 + #, fuzzy + msgid "Not sending this message" + msgstr "Error en enviar el missatge" + +-#: compose.c:1571 ++#: compose.c:1631 + #, fuzzy + msgid "Attaching selected file..." + msgid_plural "Attaching selected files..." + msgstr[0] "S’estan adjuntant els fitxers seleccionats…" + msgstr[1] "S’estan adjuntant els fitxers seleccionats…" + +-#: compose.c:1585 ++#: compose.c:1645 + #, c-format + msgid "Unable to attach %s" + msgstr "No s’ha pogut adjuntar «%s»." + +-#: compose.c:1606 ++#: compose.c:1666 + msgid "Open mailbox to attach message from" + msgstr "Bústia a obrir per a adjuntar-ne missatges" + +-#: compose.c:1616 ++#: compose.c:1676 + #, fuzzy + msgid "Open newsgroup to attach message from" + msgstr "Bústia a obrir per a adjuntar-ne missatges" + +-#: compose.c:1667 ++#: compose.c:1730 + #, c-format + msgid "Unable to open mailbox %s" + msgstr "No s’ha pogut obrir la bústia «%s»." + +-#: compose.c:1676 ++#: compose.c:1739 + msgid "No messages in that folder" + msgstr "La carpeta no conté missatges" + +-#: compose.c:1686 ++#: compose.c:1749 + msgid "Tag the messages you want to attach" + msgstr "Marqueu els missatges que voleu adjuntar." + +-#: compose.c:1715 ++#: compose.c:1785 + msgid "Unable to attach" + msgstr "No s’ha pogut adjuntar." + +-#: compose.c:1752 ++#: compose.c:1822 + msgid "Recoding only affects text attachments" + msgstr "La recodificació només afecta les adjuncions de tipus text" + +-#: compose.c:1757 ++#: compose.c:1827 + msgid "The current attachment won't be converted" + msgstr "No es convertirà l’adjunció actual" + +-#: compose.c:1759 ++#: compose.c:1829 + msgid "The current attachment will be converted" + msgstr "Es convertirà l’adjunció actual" + +-#: compose.c:1831 ++#: compose.c:1901 + msgid "Empty 'Content-Language'" + msgstr "" + +-#: compose.c:1849 ++#: compose.c:1920 + msgid "Invalid encoding" + msgstr "La codificació no és vàlida" + +-#: compose.c:1871 ++#: compose.c:1942 + msgid "Save a copy of this message?" + msgstr "Voleu desar una còpia d’aquest missatge?" + +-#: compose.c:1924 ++#: compose.c:1995 + msgid "Send attachment with name: " + msgstr "Envia l’adjunt amb el nom: " + +-#: compose.c:1939 ++#: compose.c:2010 + msgid "Rename to: " + msgstr "Reanomena a: " + + #. L10N: "stat" is a system call. Do "man 2 stat" for more information. +-#: compose.c:1946 editmsg.c:102 editmsg.c:138 sendlib.c:1050 ++#: compose.c:2017 editmsg.c:102 editmsg.c:138 sendlib.c:1049 + #, c-format + msgid "Can't stat %s: %s" + msgstr "Ha fallat stat() sobre «%s»: %s" + +-#: compose.c:1966 ++#: compose.c:2037 + msgid "New file: " + msgstr "Nou fitxer: " + +-#: compose.c:1984 ++#: compose.c:2055 + msgid "Content-Type is of the form base/sub" + msgstr "«Content-Type» ha de tenir la forma «base/sub»." + +-#: compose.c:1991 ++#: compose.c:2062 + #, c-format + msgid "Unknown Content-Type %s" + msgstr "El valor de «Content-Type» «%s» no és conegut." + +-#: compose.c:1999 ++#: compose.c:2070 + #, c-format + msgid "Can't create file %s" + msgstr "No s’ha pogut crear el fitxer «%s»." + + # ivb (2001/11/20) + # ivb Curiosa forma d’emetre un error… +-#: compose.c:2008 ++#: compose.c:2079 + msgid "What we have here is a failure to make an attachment" + msgstr "El que ocorre aquí és que no s’ha pogut incloure una adjunció." + +-#: compose.c:2073 ++#: compose.c:2144 + #, fuzzy + msgid "Save (postpone) draft message?" + msgstr "Voleu recuperar un missatge posposat?" + +-#: compose.c:2133 ++#: compose.c:2204 + msgid "Write message to mailbox" + msgstr "Escriu el missatge a la bústia" + +-#: compose.c:2136 ++#: compose.c:2207 + #, c-format + msgid "Writing message to %s ..." + msgstr "S’està escrivint el missatge a «%s»…" + +-#: compose.c:2143 ++#: compose.c:2214 + msgid "Message written" + msgstr "S’ha escrit el missatge" + +-#: compose.c:2154 ++#: compose.c:2225 + msgid "No PGP backend configured" + msgstr "No heu configurat cap implementació de PGP." + +-#: compose.c:2161 compose.c:2225 ++#: compose.c:2232 compose.c:2296 + msgid "S/MIME already selected. Clear and continue?" + msgstr "El missatge ja empra S/MIME. Voleu posar-lo en clar i continuar?" + +-#: compose.c:2186 ++#: compose.c:2257 + msgid "No S/MIME backend configured" + msgstr "No heu configurat cap implementació de S/MIME." + +-#: compose.c:2194 ++#: compose.c:2265 + msgid "PGP already selected. Clear and continue?" + msgstr "El missatge ja empra PGP. Voleu posar-lo en clar i continuar?" + +-#: compress.c:355 compress.c:499 ++#: compress/compress.c:354 compress/compress.c:498 + #, c-format + msgid "Can't append without an append-hook or close-hook : %s" + msgstr "No es pot afegir sense definir «append-hook» o «close-hook»: %s" + +-#: compress.c:444 compress.c:511 compress.c:590 compress.c:628 mbox/mbox.c:1208 ++#: compress/compress.c:443 compress/compress.c:510 compress/compress.c:589 ++#: compress/compress.c:627 mbox/mbox.c:1208 + msgid "Unable to lock mailbox" + msgstr "No s’ha pogut blocar la bústia." + +-#: compress.c:448 compress.c:518 compress.c:594 ++#: compress/compress.c:447 compress/compress.c:517 compress/compress.c:593 + #, c-format + msgid "Decompressing %s" + msgstr "S’està descomprimint «%s»…" + +-#: compress.c:457 ++#: compress/compress.c:456 + msgid "Can't identify the contents of the compressed file" + msgstr "No s’ha pogut identificar el contingut del fitxer comprimit." + +-#: compress.c:464 compress.c:539 ++#: compress/compress.c:463 compress/compress.c:538 + #, c-format + msgid "Can't find mailbox ops for mailbox type %d" + msgstr "No s’han pogut trobar les operacions per al tipus de bústia %d." + +-#: compress.c:521 ++#: compress/compress.c:520 + #, c-format + msgid "Compress command failed: %s" + msgstr "L’ordre de compressió ha fallat: %s" + +-#: compress.c:532 ++#: compress/compress.c:531 + msgid "Unsupported mailbox type for appending" + msgstr "No es poden afegir missatges a les bústies d’aquest tipus" + +-#: compress.c:618 ++#: compress/compress.c:617 + msgid "Can't sync a compressed file without a close-hook" + msgstr "No es pot sincronitzar un fitxer comprimit sense definir «close-hook»." + +-#: compress.c:640 compress.c:692 ++#: compress/compress.c:639 compress/compress.c:691 + #, c-format + msgid "Compressing %s" + msgstr "S’està comprimint «%s»…" + +-#: compress.c:687 ++#: compress/compress.c:686 + #, c-format + msgid "Compressed-appending to %s..." + msgstr "S’està afegint comprimit a «%s»…" + +-#: compress.c:699 editmsg.c:247 ++#: compress/compress.c:698 editmsg.c:247 + #, c-format + msgid "Error. Preserving temporary file: %s" + msgstr "Error. Es manté el fitxer temporal: %s" + ++#: config/bool.c:70 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %s" ++msgstr "La data relativa no és vàlida: %s" ++ ++#: config/bool.c:131 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %ld" ++msgstr "La data relativa no és vàlida: %s" ++ ++# És un error com els anteriors. ivb ++#: config/enum.c:62 ++#, fuzzy, c-format ++msgid "Invalid enum value: %s" ++msgstr "score: El número no és vàlid." ++ ++#: config/enum.c:149 ++#, fuzzy, c-format ++msgid "Invalid enum value: %ld" ++msgstr "El valor de l’opció «%s» no és vàlid: «%s»" ++ ++#: config/long.c:50 ++#, fuzzy, c-format ++msgid "Invalid long: %s" ++msgstr "El mes no és vàlid: %s" ++ ++#: config/long.c:56 config/long.c:114 config/number.c:68 config/number.c:133 ++#, fuzzy, c-format ++msgid "Option %s may not be negative" ++msgstr "No es permet aquesta funció al mode d’adjuntar missatges." ++ ++#: config/number.c:49 config/sort.c:145 config/string.c:75 config/string.c:159 ++#, c-format ++msgid "Option %s may not be empty" ++msgstr "" ++ ++# És un error com els anteriors. ivb ++#: config/number.c:56 ++#, fuzzy, c-format ++msgid "Invalid number: %s" ++msgstr "score: El número no és vàlid." ++ ++#: config/number.c:62 ++#, c-format ++msgid "Number is too big: %s" ++msgstr "" ++ ++# És un error com els anteriors. ivb ++#: config/number.c:127 ++#, fuzzy, c-format ++msgid "Invalid number: %ld" ++msgstr "score: El número no és vàlid." ++ ++#: config/quad.c:69 ++#, fuzzy, c-format ++msgid "Invalid quad value: %s" ++msgstr "La data relativa no és vàlida: %s" ++ ++#: config/quad.c:133 ++#, fuzzy, c-format ++msgid "Invalid quad value: %ld" ++msgstr "El valor de l’opció «%s» no és vàlid: «%s»" ++ ++#: config/set.c:102 ++#, c-format ++msgid "No such variable: %s" ++msgstr "" ++ ++#: config/set.c:134 config/set.c:821 ++#, fuzzy, c-format ++msgid "Variable '%s' has an invalid type %d" ++msgstr "Error: L’argument de l’opció «-d» no és vàlid: %s" ++ ++#: config/set.c:399 config/set.c:463 config/set.c:528 config/set.c:601 ++#: config/set.c:671 config/set.c:744 ++#, fuzzy, c-format ++msgid "Unknown variable '%s'" ++msgstr "%s: La variable no és coneguda." ++ ++#: config/sort.c:192 ++#, fuzzy, c-format ++msgid "Invalid sort name: %s" ++msgstr "La data relativa no és vàlida: %s" ++ ++#: config/sort.c:322 ++#, fuzzy, c-format ++msgid "Invalid sort type: %ld" ++msgstr "La data relativa no és vàlida: %s" ++ ++#. L10N: Example: Username at myhost.com ++#: conn/connaccount.c:61 ++#, c-format ++msgid "Username at %s: " ++msgstr "Nom d’usuari a «%s»: " ++ ++#: conn/connaccount.c:117 ++#, c-format ++msgid "Password for %s@%s: " ++msgstr "Contrasenya per a «%s@%s»: " ++ ++#. L10N: You will see this error message if (1) you have "oauthbearer" in ++#. one of your $*_authenticators and (2) you do not have the corresponding ++#. $*_oauth_refresh_command defined. So the message does not mean "None of ++#. your $*_oauth_refresh_command's are defined." ++#: conn/connaccount.c:165 ++msgid "No OAUTH refresh command defined" ++msgstr "No s’ha definit l’ordre de refresc OAUTH." ++ ++#: conn/connaccount.c:173 ++msgid "Unable to run refresh command" ++msgstr "No s’ha pogut executar l’ordre de refresc." ++ ++#: conn/connaccount.c:184 ++msgid "Command returned empty string" ++msgstr "L’ordre ha retornat la cadena buida." ++ ++#: conn/connaccount.c:191 ++#, c-format ++msgid "OAUTH token is too big: %ld" ++msgstr "" ++ + #: conn/conn_raw.c:160 conn/conn_raw.c:218 + #, c-format + msgid "Looking up %s..." +@@ -1422,7 +1690,7 @@ msgstr "No s’ha pogut connectar amb «%s» (%s)" + # ivb (2001/12/08) + # ivb Apareix amb més coses al darrere (curs_lib) o entre parèntesis + # ivb (mutt_socket) -> sense punt. +-#: conn/conn_raw.c:260 conn/ssl.c:1230 curs_lib.c:568 mutt_logging.c:149 ++#: conn/conn_raw.c:260 conn/ssl.c:1245 gui/curs_lib.c:569 mutt_logging.c:147 + msgid "unknown error" + msgstr "Error desconegut" + +@@ -1436,23 +1704,23 @@ msgstr "Error en parlar amb «%s» (%s)." + msgid "Connection to %s has been aborted" + msgstr "S’ha tancat la connexió amb «%s»." + +-#: conn/sasl.c:565 ++#: conn/sasl.c:547 + msgid "Unknown SASL profile" + msgstr "El perfil SASL no és conegut." + +-#: conn/sasl.c:598 ++#: conn/sasl.c:580 + msgid "Error allocating SASL connection" + msgstr "Error en reservar una connexió SASL." + +-#: conn/sasl.c:608 ++#: conn/sasl.c:590 + msgid "Error setting SASL security properties" + msgstr "Error en establir les propietats de seguretat de SASL." + +-#: conn/sasl.c:619 ++#: conn/sasl.c:601 + msgid "Error setting SASL external security strength" + msgstr "Error en establir el nivell de seguretat extern de SASL." + +-#: conn/sasl.c:629 ++#: conn/sasl.c:611 + msgid "Error setting SASL external user name" + msgstr "Error en establir el nom d’usuari extern de SASL." + +@@ -1466,138 +1734,114 @@ msgstr "preconnect: L’ordre de preconnexió ha fallat" + msgid "Connection to %s closed" + msgstr "S’ha tancat la connexió amb «%s»." + +-#: conn/ssl.c:237 ++#: conn/ssl.c:222 + #, c-format + msgid "Filling entropy pool: %s..." + msgstr "S’està plenant la piscina d’entropia «%s»…" + +-#: conn/ssl.c:243 ++#: conn/ssl.c:228 + #, c-format + msgid "%s has insecure permissions" + msgstr "«%s» no té uns permisos segurs." + +-#: conn/ssl.c:385 ++#: conn/ssl.c:369 + msgid "SSL disabled due to the lack of entropy" + msgstr "S’ha inhabilitat l’SSL per manca d’entropia." + + # ivb (2001/12/02) + # ivb Es pot referir a nom, correu, organització, unitat organitzativa, + # ivb localitat, estat, país -> ni masculí ni femení, sinó tot el contrari. +-#: conn/ssl.c:402 ++#: conn/ssl.c:386 + msgid "Unknown" + msgstr "No es coneix" + +-#: conn/ssl.c:421 conn/ssl_gnutls.c:186 ++#: conn/ssl.c:405 conn/ssl_gnutls.c:188 + #, c-format + msgid "[unable to calculate]" + msgstr "[no s’ha pogut calcular]" + +-#: conn/ssl.c:446 ++#: conn/ssl.c:430 + msgid "[invalid date]" + msgstr "[la data no és vàlida]" + +-#: conn/ssl.c:506 ++#: conn/ssl.c:490 + msgid "Server certificate is not yet valid" + msgstr "El certificat del servidor encara no és vàlid." + +-#: conn/ssl.c:516 ++#: conn/ssl.c:500 + msgid "Server certificate has expired" + msgstr "El certificat del servidor ha expirat." + +-#: conn/ssl.c:605 ++#: conn/ssl.c:589 + msgid "Failed to find enough entropy on your system" + msgstr "No s’ha pogut extraure l’entropia suficient del vostre sistema." + + # Sí, «subjecte» del certificat X.509, no «assumpte». ivb +-#: conn/ssl.c:799 ++#: conn/ssl.c:783 + msgid "can't get certificate subject" + msgstr "No s’ha pogut obtenir el subjecte del certificat." + +-#: conn/ssl.c:808 conn/ssl.c:816 ++#: conn/ssl.c:792 conn/ssl.c:800 + msgid "can't get certificate common name" + msgstr "No s’ha pogut obtenir el nom comú del certificat." + +-#: conn/ssl.c:830 ++#: conn/ssl.c:814 + #, c-format + msgid "certificate owner does not match hostname %s" + msgstr "El propietari del certificat no concorda amb l’amfitrió «%s»." + +-#: conn/ssl.c:904 conn/ssl_gnutls.c:539 ++#: conn/ssl.c:917 conn/ssl_gnutls.c:570 + msgid "This certificate belongs to:" + msgstr "Aquest certificat pertany a:" + +-#: conn/ssl.c:913 conn/ssl_gnutls.c:593 ++#: conn/ssl.c:926 conn/ssl_gnutls.c:624 + msgid "This certificate was issued by:" + msgstr "Aquest certificat ha estat lliurat per:" + + # ivb (2001/12/08) + # ivb A continuació ve el rang de validesa. +-#: conn/ssl.c:922 conn/ssl_gnutls.c:604 ++#: conn/ssl.c:935 conn/ssl_gnutls.c:635 + msgid "This certificate is valid" + msgstr "Aquest certificat té validesa" + +-#: conn/ssl.c:923 conn/ssl_gnutls.c:608 ++#: conn/ssl.c:936 conn/ssl_gnutls.c:639 + #, c-format + msgid " from %s" + msgstr " des de %s" + +-#: conn/ssl.c:925 conn/ssl_gnutls.c:612 ++#: conn/ssl.c:938 conn/ssl_gnutls.c:643 + #, c-format + msgid " to %s" + msgstr " fins a %s" + +-#: conn/ssl.c:931 conn/ssl_gnutls.c:617 ++#: conn/ssl.c:944 conn/ssl_gnutls.c:648 + #, c-format + msgid "SHA1 Fingerprint: %s" + msgstr "Empremta digital SHA1: %s" + +-#: conn/ssl.c:937 conn/ssl.c:940 conn/ssl_gnutls.c:623 conn/ssl_gnutls.c:625 ++#: conn/ssl.c:950 conn/ssl.c:953 conn/ssl_gnutls.c:654 conn/ssl_gnutls.c:656 + msgid "SHA256 Fingerprint: " + msgstr "Empremta digital SHA256: " + +-#: conn/ssl.c:944 conn/ssl_gnutls.c:664 ++#: conn/ssl.c:957 conn/ssl_gnutls.c:695 + #, c-format + msgid "SSL Certificate check (certificate %zu of %zu in chain)" + msgstr "Comprovació del certificat SSL (%zu de %zu en la cadena)" + +-#. L10N: These four letters correspond to the choices in the next four strings: +-#. (r)eject, accept (o)nce, (a)ccept always, (s)kip. +-#. These prompts are the interactive certificate confirmation prompts for +-#. an OpenSSL connection. +-#: conn/ssl.c:964 +-msgid "roas" +-msgstr "" +- +-#: conn/ssl.c:968 +-msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" +-msgstr "(r)ebutja, accepta (u)na sola volta, accepta (s)empre, sal(t)a" +- +-#: conn/ssl.c:970 conn/ssl_gnutls.c:671 +-msgid "(r)eject, accept (o)nce, (a)ccept always" +-msgstr "(r)ebutja, accepta (u)na sola volta, accepta (s)empre" +- +-#: conn/ssl.c:975 +-msgid "(r)eject, accept (o)nce, (s)kip" +-msgstr "(r)ebutja, accepta (u)na sola volta, sal(t)a" +- +-#: conn/ssl.c:977 conn/ssl_gnutls.c:680 +-msgid "(r)eject, accept (o)nce" +-msgstr "(r)ebutja, accepta (u)na sola volta" +- +-#: conn/ssl.c:981 conn/ssl_gnutls.c:689 ncrypt/crypt_gpgme.c:4729 +-#: ncrypt/pgpkey.c:664 ncrypt/smime.c:549 ++#: conn/ssl.c:994 conn/ssl_gnutls.c:720 ncrypt/crypt_gpgme.c:4777 ++#: ncrypt/pgpkey.c:667 ncrypt/smime.c:551 + msgid "Exit " + msgstr "Ix " + +-#: conn/ssl.c:1016 conn/ssl_gnutls.c:742 ++#: conn/ssl.c:1029 conn/ssl_gnutls.c:773 + msgid "Warning: Couldn't save certificate" + msgstr "Avís: No s’ha pogut desar el certificat." + +-#: conn/ssl.c:1020 conn/ssl_gnutls.c:746 ++#: conn/ssl.c:1033 conn/ssl_gnutls.c:777 + msgid "Certificate saved" + msgstr "S’ha desat el certificat." + +-#: conn/ssl.c:1132 ++#: conn/ssl.c:1147 + #, c-format + msgid "Certificate host check failed: %s" + msgstr "La comprovació de l’amfitrió del certificat ha fallat: %s" +@@ -1605,15 +1849,15 @@ msgstr "La comprovació de l’amfitrió del certificat ha fallat: %s" + #. L10N: This is a warning when trying to set the host name for + #. * TLS Server Name Indication (SNI). This allows the server to present + #. * the correct certificate if it supports multiple hosts. +-#: conn/ssl.c:1213 conn/ssl_gnutls.c:1072 ++#: conn/ssl.c:1228 conn/ssl_gnutls.c:1105 + msgid "Warning: unable to set TLS SNI host name" + msgstr "Avís: No s’ha pogut establir el nom d’estació per a SNI de TLS." + +-#: conn/ssl.c:1224 ++#: conn/ssl.c:1239 + msgid "I/O error" + msgstr "Error d’E/S." + +-#: conn/ssl.c:1233 ++#: conn/ssl.c:1248 + #, c-format + msgid "SSL failed: %s" + msgstr "La negociació d’SSL ha fallat: %s" +@@ -1621,93 +1865,73 @@ msgstr "La negociació d’SSL ha fallat: %s" + #. L10N: an SSL context is a data structure returned by the OpenSSL + #. function SSL_CTX_new(). In this case it returned NULL: an + #. error condition. +-#: conn/ssl.c:1269 ++#: conn/ssl.c:1284 + msgid "Unable to create SSL context" + msgstr "No s’ha pogut crear el context SSL." + +-#: conn/ssl.c:1322 ++#: conn/ssl.c:1337 + msgid "Warning: error enabling ssl_verify_partial_chains" + msgstr "Avís: Error en habilitar $ssl_verify_partial_chains." + +-#: conn/ssl_gnutls.c:150 conn/ssl_gnutls.c:784 conn/ssl_gnutls.c:793 ++#: conn/ssl_gnutls.c:152 conn/ssl_gnutls.c:817 conn/ssl_gnutls.c:826 + msgid "Unable to get certificate from peer" + msgstr "No s’ha pogut obtenir el certificat del servidor." + +-#: conn/ssl_gnutls.c:155 ++#: conn/ssl_gnutls.c:157 + #, c-format + msgid "Certificate verification error (%s)" + msgstr "Error en verificar el certificat: %s" + +-#: conn/ssl_gnutls.c:162 ++#: conn/ssl_gnutls.c:164 + msgid "Certificate is not X.509" + msgstr "El certificat no és de tipus X.509." + +-#: conn/ssl_gnutls.c:349 conn/ssl_gnutls.c:483 ++#: conn/ssl_gnutls.c:351 conn/ssl_gnutls.c:485 + msgid "Error initialising gnutls certificate data" + msgstr "Error en inicialitzar les dades de certificat de GNU TLS." + +-#: conn/ssl_gnutls.c:355 conn/ssl_gnutls.c:489 ++#: conn/ssl_gnutls.c:357 conn/ssl_gnutls.c:491 + msgid "Error processing certificate data" + msgstr "Error en processar les dades del certificat." + +-#: conn/ssl_gnutls.c:635 ++#: conn/ssl_gnutls.c:666 + msgid "WARNING: Server certificate is not yet valid" + msgstr "Avís: El certificat del servidor encara no és vàlid." + +-#: conn/ssl_gnutls.c:640 ++#: conn/ssl_gnutls.c:671 + msgid "WARNING: Server certificate has expired" + msgstr "Avís: El certificat del servidor ha expirat." + +-#: conn/ssl_gnutls.c:645 ++#: conn/ssl_gnutls.c:676 + msgid "WARNING: Server certificate has been revoked" + msgstr "Avís: El certificat del servidor ha estat revocat." + +-#: conn/ssl_gnutls.c:650 ++#: conn/ssl_gnutls.c:681 + msgid "WARNING: Server hostname does not match certificate" + msgstr "Avís: El nom d’estació del servidor no concorda amb el del certificat." + +-#: conn/ssl_gnutls.c:655 ++#: conn/ssl_gnutls.c:686 + msgid "WARNING: Signer of server certificate is not a CA" + msgstr "Avís: El signatari del certificat del servidor no és una CA." + +-#: conn/ssl_gnutls.c:659 conn/ssl_gnutls.c:1004 ++#: conn/ssl_gnutls.c:690 conn/ssl_gnutls.c:1037 + msgid "Warning: Server certificate was signed using an insecure algorithm" +-msgstr "Avís: El certificat del servidor s’ha signat emprant un algorisme insegur." +- +-# ivb (2001/11/27) +-# ivb (r)ebutja, accepta (u)na sola volta, accepta (s)empre +-#. L10N: These three letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce, (a)ccept always. +-#. This is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:676 +-msgid "roa" +-msgstr "rus" +- +-# ivb (2001/11/27) +-# ivb (r)ebutja, accepta (u)na sola volta +-#. L10N: These two letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce. +-#. These is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:685 +-msgid "ro" +-msgstr "ru" ++msgstr "Avís: El certificat del servidor s’ha signat emprant un algorisme insegur." + +-#: conn/ssl_gnutls.c:950 conn/ssl_gnutls.c:992 ++#: conn/ssl_gnutls.c:983 conn/ssl_gnutls.c:1025 + msgid "All available protocols for TLS/SSL connection disabled" + msgstr "Tots els protocols de connexió TLS/SSL disponibles estan inhabilitats." + +-#: conn/ssl_gnutls.c:999 ++#: conn/ssl_gnutls.c:1032 + msgid "Explicit ciphersuite selection via $ssl_ciphers not supported" + msgstr "No es permet la selecció explícita de la suite de xifrat amb $ssl_ciphers." + +-#: conn/ssl_gnutls.c:1120 ++#: conn/ssl_gnutls.c:1153 + #, c-format + msgid "SSL/TLS connection using %s (%s/%s/%s)" + msgstr "La connexió SSL/TLS empra «%s» (%s/%s/%s)." + +-#: conn/ssl_gnutls.c:1175 conn/ssl_gnutls.c:1204 ++#: conn/ssl_gnutls.c:1210 conn/ssl_gnutls.c:1239 + msgid "Error: no TLS socket open" + msgstr "Error: No hi ha un connector TLS obert." + +@@ -1726,38 +1950,18 @@ msgstr "Error al túnel establert amb «%s»: %s" + msgid "Tunnel to %s returned error %d (%s)" + msgstr "El túnel a «%s» ha tornat l’error %d: %s" + +-#: copy.c:660 ++#: copy.c:662 + #, c-format + msgid "The length calculation was wrong by %ld byte" + msgid_plural "The length calculation was wrong by %ld bytes" + msgstr[0] "" + msgstr[1] "" + +-#: copy.c:744 ++#: copy.c:746 + msgid "No decryption engine available for message" + msgstr "No hi ha cap mecanisme disponible per a desxifrar el missatge" + +-#: curs_lib.c:378 +-msgid "yes" +-msgstr "sí" +- +-#: curs_lib.c:379 +-msgid "no" +-msgstr "no" +- +-#: curs_lib.c:518 +-msgid "Exit NeoMutt?" +-msgstr "Voleu abandonar NeoMutt?" +- +-#: curs_lib.c:597 +-msgid "Press any key to continue..." +-msgstr "Premeu qualsevol tecla per a continuar…" +- +-#: curs_lib.c:705 +-msgid " ('?' for list): " +-msgstr " («?» llista): " +- +-#: edit.c:64 ++#: edit.c:62 + msgid "" + "~~ insert a line beginning with a single ~\n" + "~b users add users to the Bcc: field\n" +@@ -1781,7 +1985,7 @@ msgstr "" + " capçaleres.\n" + "~p Imprimeix el missatge.\n" + +-#: edit.c:75 ++#: edit.c:73 + msgid "" + "~q write file and quit editor\n" + "~r file read a file into the editor\n" +@@ -1803,20 +2007,20 @@ msgstr "" + "~? Mostra aquest missatge.\n" + ". A soles en una línia termina l’entrada.\n" + +-#: edit.c:261 ++#: edit.c:259 + #, c-format + msgid "%d: invalid message number.\n" + msgstr "%d: El número de missatge no és vàlid.\n" + +-#: edit.c:416 ++#: edit.c:414 + msgid "(End message with a . on a line by itself)\n" + msgstr "(Termineu el missatge amb «.» a soles en una línia)\n" + +-#: edit.c:474 ++#: edit.c:472 + msgid "No mailbox.\n" + msgstr "No hi ha cap bústia activa.\n" + +-#: edit.c:478 ++#: edit.c:476 + msgid "Message contains:\n" + msgstr "Contingut del missatge:\n" + +@@ -1824,19 +2028,19 @@ msgstr "Contingut del missatge:\n" + #. not IN the middle of the content. + #. So it doesn't mean "(message will continue)" + #. but means "(press any key to continue using neomutt)". +-#: edit.c:486 edit.c:547 ++#: edit.c:484 edit.c:545 + msgid "(continue)\n" + msgstr "(continuar)\n" + +-#: edit.c:499 ++#: edit.c:497 + msgid "missing filename.\n" + msgstr "Manca un nom de fitxer.\n" + +-#: edit.c:519 ++#: edit.c:517 + msgid "No lines in message.\n" + msgstr "El missatge no conté cap línia.\n" + +-#: edit.c:558 ++#: edit.c:556 + #, c-format + msgid "%s: unknown editor command (~? for help)\n" + msgstr "%s: L’ordre de l’editor no és coneguda («~?» per a l’ajuda).\n" +@@ -1883,23 +2087,78 @@ msgstr "No s’ha pogut afegir a la carpeta: %s" + msgid "multipart message has no boundary parameter" + msgstr "El missatge «multipart» no té paràmetre «boundary»." + +-#: flags.c:382 index.c:2561 index.c:2604 index.c:3134 index.c:3171 ++#: flags.c:381 index.c:2587 index.c:2630 index.c:3160 index.c:3197 + #: mutt_thread.c:1091 mutt_thread.c:1158 mutt_thread.c:1246 + msgid "Threading is not enabled" + msgstr "No s’ha habilitat l’ús de fils" + + # ivb (2001/12/08) + # ivb Així queda més clar. El programa posa l’interrogant. +-#: flags.c:442 ++#: flags.c:441 + msgid "Set flag" + msgstr "Quin senyalador voleu activar" + + # ivb (2001/12/08) + # ivb Així queda més clar. El programa posa l’interrogant. +-#: flags.c:442 ++#: flags.c:441 + msgid "Clear flag" + msgstr "Quin senyalador voleu desactivar" + ++#: gui/color.c:633 gui/color.c:644 ++#, c-format ++msgid "%s: color not supported by term" ++msgstr "%s: El terminal no permet aquest color." ++ ++#: gui/color.c:652 ++#, c-format ++msgid "%s: no such color" ++msgstr "%s: El color no existeix." ++ ++#: gui/color.c:717 gui/color.c:740 gui/color.c:751 gui/color.c:842 ++#, c-format ++msgid "%s: no such object" ++msgstr "%s: L’objecte no existeix." ++ ++#: gui/color.c:1142 ++#, c-format ++msgid "%s: no such attribute" ++msgstr "%s: L’atribut no existeix." ++ ++#: gui/color.c:1244 ++msgid "default colors not supported" ++msgstr "No es permet l’ús de colors per defecte." ++ ++#: gui/color.c:1282 ++#, c-format ++msgid "Maximum quoting level is %d" ++msgstr "" ++ ++# És un error com els anteriors. ivb ++#: gui/color.c:1319 ++#, fuzzy, c-format ++msgid "%s: invalid number: %s" ++msgstr "score: El número no és vàlid." ++ ++#: gui/curs_lib.c:379 ++msgid "yes" ++msgstr "sí" ++ ++#: gui/curs_lib.c:380 ++msgid "no" ++msgstr "no" ++ ++#: gui/curs_lib.c:519 ++msgid "Exit NeoMutt?" ++msgstr "Voleu abandonar NeoMutt?" ++ ++#: gui/curs_lib.c:598 ++msgid "Press any key to continue..." ++msgstr "Premeu qualsevol tecla per a continuar…" ++ ++#: gui/curs_lib.c:749 ++msgid " ('?' for list): " ++msgstr " («?» llista): " ++ + #: handler.c:102 + #, fuzzy, c-format + msgid "[-- Type: %s/%s%s%s, Encoding: %s, Size: %s --]\n" +@@ -1925,25 +2184,25 @@ msgstr "" + msgid "Invoking autoview command: %s" + msgstr "Ordre de visualització automàtica: %s" + +-#: handler.c:591 mutt_attach.c:527 mutt_attach.c:714 mutt_attach.c:745 +-#: mutt_attach.c:1087 mutt_attach.c:1152 ncrypt/pgpkey.c:723 +-#: ncrypt/pgpkey.c:920 ++#: handler.c:590 mutt_attach.c:555 mutt_attach.c:747 mutt_attach.c:778 ++#: mutt_attach.c:1120 mutt_attach.c:1185 ncrypt/pgpkey.c:756 ++#: ncrypt/pgpkey.c:955 + msgid "Can't create filter" + msgstr "No s’ha pogut crear el filtre." + +-#: handler.c:595 ++#: handler.c:594 + #, c-format + msgid "[-- Can't run %s. --]\n" + msgstr "[-- No s’ha pogut executar «%s». --]\n" + +-#: handler.c:614 handler.c:635 ++#: handler.c:613 handler.c:634 + #, c-format + msgid "[-- Autoview stderr of %s --]\n" + msgstr "" + "[-- Errors de l’ordre de visualització automàtica --]\n" + "[-- «%s». --]\n" + +-#: handler.c:764 ++#: handler.c:763 + msgid "[-- Error: message/external-body has no access-type parameter --]\n" + msgstr "[-- Error: La part «message/external-body» no té paràmetre «access-type». --]\n" + +@@ -1962,7 +2221,7 @@ msgstr "[-- Error: La part «message/external-body» no té paràmetre «access- + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:807 ++#: handler.c:806 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" +@@ -1993,7 +2252,7 @@ msgstr[1] "" + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:830 ++#: handler.c:829 + #, fuzzy, c-format + msgid "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" + msgid_plural "[-- This %s/%s attachment (size %s bytes) has been deleted --]\n" +@@ -2011,7 +2270,7 @@ msgstr[1] "" + #. + #. Caution: Argument three %3$ is also defined but should not be used + #. in this translation! +-#: handler.c:848 ++#: handler.c:847 + #, fuzzy + msgid "" + "[-- This %s/%s attachment has been deleted --]\n" +@@ -2024,14 +2283,14 @@ msgstr "" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The first "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:856 ++#: handler.c:855 + #, fuzzy, c-format + msgid "[-- This %s/%s attachment has been deleted --]\n" + msgstr "" + "[-- Aquesta adjunció de tipus «%s/%s» --]\n" + "[-- ha estat esborrada --]\n" + +-#: handler.c:866 ++#: handler.c:865 + #, c-format + msgid "[-- name: %s --]\n" + msgstr "[-- Nom: %s --]\n" +@@ -2039,7 +2298,7 @@ msgstr "[-- Nom: %s --]\n" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:884 ++#: handler.c:883 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -2054,7 +2313,7 @@ msgstr "" + #. The "%s/%s" is a MIME type, e.g. "text/plain". The %s after + #. access-type is an access-type as defined by the MIME RFCs, e.g. "FTP", + #. "LOCAL-FILE", "MAIL-SERVER". +-#: handler.c:905 ++#: handler.c:904 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -2063,101 +2322,101 @@ msgstr "" + "[-- Aquesta adjunció de tipus «%s/%s» no s’inclou, --]\n" + "[-- i no es pot emprar el mètode d’accés indicat, «%s». --]\n" + +-#: handler.c:1090 ++#: handler.c:1089 + msgid "[-- Error: Could not display any parts of Multipart/Alternative --]\n" + msgstr "[-- Error: No s’ha pogut mostrar cap part del «multipart/alternative». --]\n" + + #. L10N: %s is the attachment description, filename or form_name. +-#: handler.c:1231 ++#: handler.c:1230 + #, fuzzy, c-format + msgid "[-- Attachment #%d: %s --]\n" + msgstr "[-- Adjunció #%d: %s --]\n" + +-#: handler.c:1236 ++#: handler.c:1235 + #, fuzzy, c-format + msgid "[-- Attachment #%d --]\n" + msgstr "[-- Adjunció #%d --]\n" + +-#: handler.c:1254 ++#: handler.c:1253 + msgid "One or more parts of this message could not be displayed" + msgstr "No s’han pogut mostrar una o més parts d’aquest missatge." + +-#: handler.c:1320 ++#: handler.c:1319 + #, fuzzy + msgid "Unable to open 'memory stream'" + msgstr "No s’ha pogut obrir el fitxer temporal." + +-#: handler.c:1330 ++#: handler.c:1329 + msgid "Unable to open temporary file" + msgstr "No s’ha pogut obrir el fitxer temporal." + +-#: handler.c:1379 ++#: handler.c:1378 + #, fuzzy + msgid "failed to re-open 'memory stream'" + msgstr "No s’ha pogut obrir el fitxer temporal." + +-#: handler.c:1620 ++#: handler.c:1619 + msgid "Error: multipart/signed has no protocol" + msgstr "Error: La part «multipart/signed» no té paràmetre «protocol»" + + #. L10N: %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1694 ++#: handler.c:1693 + #, fuzzy, c-format + msgid "[-- This is an attachment (use '%s' to view this part) --]\n" + msgstr "[-- Açò és una adjunció. (Useu «%s» per a veure aquesta part.) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". + #. The last %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1701 ++#: handler.c:1700 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported (use '%s' to view this part) --]\n" + msgstr "[-- No es pot mostrar «%s/%s». (Empreu «%s» per a veure aquesta part.) --]\n" + +-#: handler.c:1709 ++#: handler.c:1708 + #, fuzzy + msgid "[-- This is an attachment (need 'view-attachments' bound to key) --]\n" + msgstr "[-- Açò és una adjunció. (Vinculeu «view-attachents» a una tecla.) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1715 ++#: handler.c:1714 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported (need 'view-attachments' bound to key) --]\n" + msgstr "[-- No es pot mostrar «%s/%s». (Vinculeu «view-attachents» a una tecla.) --]\n" + + # Es concatenen amb una o cap de les següents i en acabant « --]». ivb + # Sí, la concatenació original està malament. ivb +-#: handler.c:1724 ++#: handler.c:1723 + #, fuzzy + msgid "[-- This is an attachment --]\n" + msgstr "[-- Açò és una adjunció. --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1729 ++#: handler.c:1728 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported --]\n" + msgstr "[-- No es pot mostrar «%s/%s». --]\n" + +-#: help.c:400 ++#: help.c:401 + msgid "ERROR: please report this bug" + msgstr "Error: Per favor, informeu d’aquest error." + + # ivb (2001/12/07) + # ivb Es refereix a un menú -> masculí. +-#: help.c:455 ++#: help.c:456 + msgid "" + msgstr "" + +-#: help.c:469 ++#: help.c:470 + msgid "Generic bindings:" + msgstr "Vincles genèrics:" + +-#: help.c:473 ++#: help.c:474 + msgid "Unbound functions:" + msgstr "Funcions no vinculades:" + + # ivb (2001/12/08) + # ivb El noms dels menús no estan traduïts. +-#: help.c:481 ++#: help.c:482 + #, c-format + msgid "Help for %s" + msgstr "Ajuda de «%s»" +@@ -2174,41 +2433,41 @@ msgstr "La drecera a bústia s’ha expandit a l’expressió regular buida." + msgid "badly formatted command string" + msgstr "La cadena d’ordre no té un format vàlid." + +-#: hook.c:461 ++#: hook.c:466 + msgid "unhook: Can't do unhook * from within a hook" + msgstr "unhook: No es pot fer «unhook *» des d’un «hook»" + +-#: hook.c:474 ++#: hook.c:479 + #, c-format + msgid "unhook: unknown hook type: %s" + msgstr "unhook: El tipus de «hook» no és conegut: %s" + +-#: hook.c:484 ++#: hook.c:489 + #, c-format + msgid "unhook: Can't delete a %s from within a %s" + msgstr "unhook: No es pot esborrar un «%s» des d’un «%s»" + + #. L10N: '%s' is the (misspelled) name of the menu, e.g. 'index' or 'pager' +-#: icommands.c:259 keymap.c:1161 keymap.c:1346 ++#: icommands.c:261 keymap.c:1159 keymap.c:1344 + #, c-format + msgid "%s: no such menu" + msgstr "%s: El menú no existeix." + + #. L10N: '%s' is the name of the menu, e.g. 'index' or 'pager', it might + #. L10N: also be 'all' when all menus are affected. +-#: icommands.c:272 ++#: icommands.c:274 + #, fuzzy, c-format + msgid "%s: no binds for this menu" + msgstr "%s: El menú no existeix." + +-#: icommands.c:272 ++#: icommands.c:274 + #, fuzzy, c-format + msgid "%s: no macros for this menu" + msgstr "%s: El menú no existeix." + + #. L10N: '%s' is the file name of the temporary file +-#: icommands.c:283 icommands.c:296 icommands.c:316 icommands.c:340 +-#: icommands.c:360 icommands.c:371 imap/message.c:1093 ++#: icommands.c:285 icommands.c:297 icommands.c:317 icommands.c:340 ++#: icommands.c:360 icommands.c:370 imap/message.c:1093 + #, c-format + msgid "Could not create temporary file %s" + msgstr "No s’ha pogut crear el fitxer temporal «%s»." +@@ -2246,28 +2505,28 @@ msgstr "L’autenticació GSSAPI ha fallat" + msgid "LOGIN disabled on this server" + msgstr "L’ordre «LOGIN» no es troba habilitada en aquest servidor" + +-#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:288 ++#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:289 + msgid "Logging in..." + msgstr "S’està entrant…" + +-#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:329 ++#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:330 + msgid "Login failed" + msgstr "L’entrada ha fallat" + +-#: imap/auth_oauth.c:64 pop/pop_auth.c:346 smtp.c:524 ++#: imap/auth_oauth.c:65 pop/pop_auth.c:347 smtp.c:549 + msgid "Authenticating (OAUTHBEARER)..." + msgstr "S’està autenticant (OAUTHBEARER)..." + +-#: imap/auth_oauth.c:96 ++#: imap/auth_oauth.c:97 + msgid "OAUTHBEARER authentication failed" + msgstr "L’autenticació OAUTHBEARER ha fallat" + +-#: imap/auth_sasl.c:128 nntp/nntp.c:606 nntp/nntp.c:671 smtp.c:443 ++#: imap/auth_sasl.c:128 nntp/nntp.c:608 nntp/nntp.c:673 smtp.c:468 + #, c-format + msgid "Authenticating (%s)..." + msgstr "S’està autenticant (%s)…" + +-#: imap/auth_sasl.c:259 pop/pop_auth.c:200 smtp.c:584 smtp.c:646 ++#: imap/auth_sasl.c:259 pop/pop_auth.c:201 smtp.c:609 smtp.c:671 + msgid "SASL authentication failed" + msgstr "L’autenticació SASL ha fallat." + +@@ -2314,90 +2573,80 @@ msgstr "El reanomenament ha fallat: %s" + msgid "Mailbox renamed" + msgstr "S’ha reanomenat la bústia" + +-#: imap/command.c:164 ++#: imap/command.c:177 + #, fuzzy, c-format + msgid "Mailbox %s@%s closed" + msgstr "S’ha tancat la bústia." + +-#: imap/command.c:1258 imap/command.c:1370 ++#: imap/command.c:1287 imap/command.c:1399 + #, c-format + msgid "Connection to %s timed out" + msgstr "La connexió amb «%s» ha expirat." + +-#: imap/imap.c:87 ++#: imap/imap.c:93 + msgid "This IMAP server is ancient. NeoMutt does not work with it." + msgstr "Aquest servidor IMAP és antic. NeoMutt no pot funcionar amb ell." + + # És un missatge d’error. ivb +-#: imap/imap.c:438 ++#: imap/imap.c:444 + #, c-format + msgid "Header search without header name: %s" + msgstr "Cal un nom de capçalera per a cercar les capçaleres: %s" + +-#: imap/imap.c:468 ++#: imap/imap.c:474 + #, c-format + msgid "Server-side custom search not supported: %s" + msgstr "" + +-#: imap/imap.c:584 ++#: imap/imap.c:590 + #, c-format + msgid "CREATE failed: %s" + msgstr "L’ordre «CREATE» ha fallat: %s" + +-#: imap/imap.c:704 ++#: imap/imap.c:710 + #, c-format + msgid "Closing connection to %s..." + msgstr "S’està tancant la connexió amb «%s»…" + +-#: imap/imap.c:882 nntp/nntp.c:1889 pop/pop_lib.c:324 smtp.c:687 ++#: imap/imap.c:888 nntp/nntp.c:1891 pop/pop_lib.c:350 smtp.c:712 + msgid "Secure connection with TLS?" + msgstr "Voleu protegir la connexió emprant TLS?" + +-#: imap/imap.c:895 nntp/nntp.c:1910 pop/pop_lib.c:343 smtp.c:702 ++#: imap/imap.c:901 nntp/nntp.c:1912 pop/pop_lib.c:369 smtp.c:727 + msgid "Could not negotiate TLS connection" + msgstr "No s’ha pogut negociar la connexió TLS." + +-#: imap/imap.c:910 pop/pop_lib.c:360 ++#: imap/imap.c:916 pop/pop_lib.c:386 + msgid "Encrypted connection unavailable" + msgstr "No s’ha pogut establir una connexió xifrada." + +-#: imap/imap.c:1417 ++#: imap/imap.c:1430 + #, c-format + msgid "Subscribing to %s..." + msgstr "S’està subscrivint a «%s»…" + +-#: imap/imap.c:1419 ++#: imap/imap.c:1432 + #, c-format + msgid "Unsubscribing from %s..." + msgstr "S’està dessubscrivint de «%s»…" + +-#: imap/imap.c:1430 init.c:2142 +-#, c-format +-msgid "Subscribed to %s" +-msgstr "S’ha subscrit a «%s»." +- +-#: imap/imap.c:1432 init.c:2620 +-#, c-format +-msgid "Unsubscribed from %s" +-msgstr "S’ha dessubscrit de «%s»." +- +-#: imap/imap.c:1582 imap/message.c:1674 ++#: imap/imap.c:1595 imap/message.c:1674 + #, fuzzy, c-format + msgid "Copying %d message to %s..." + msgid_plural "Copying %d messages to %s..." + msgstr[0] "S’estan copiant %d missatges a «%s»…" + msgstr[1] "S’estan copiant %d missatges a «%s»…" + +-#: imap/imap.c:1599 imap/imap.c:2217 imap/message.c:1713 muttlib.c:1505 ++#: imap/imap.c:1612 imap/imap.c:2254 imap/message.c:1713 muttlib.c:1503 + #, c-format + msgid "Create %s?" + msgstr "Voleu crear «%s»?" + +-#: imap/imap.c:1667 ++#: imap/imap.c:1685 + msgid "Expunge failed" + msgstr "No s’han pogut eliminar els missatges." + +-#: imap/imap.c:1683 ++#: imap/imap.c:1701 + #, fuzzy, c-format + msgid "Marking %d message deleted..." + msgid_plural "Marking %d messages deleted..." +@@ -2405,44 +2654,44 @@ msgstr[0] "S’estan marcant %d missatges com a esborrats…" + msgstr[1] "S’estan marcant %d missatges com a esborrats…" + + #. L10N: The plural is chosen by the last %d, i.e. the total number +-#: imap/imap.c:1720 ++#: imap/imap.c:1738 + #, fuzzy, c-format + msgid "Saving changed message... [%d/%d]" + msgid_plural "Saving changed messages... [%d/%d]" + msgstr[0] "S’estan desant els missatges canviats… [%d/%d]" + msgstr[1] "S’estan desant els missatges canviats… [%d/%d]" + +-#: imap/imap.c:1776 ++#: imap/imap.c:1794 + msgid "Error saving flags. Close anyway?" + msgstr "Error en desar els senyaladors. Voleu tancar igualment?" + +-#: imap/imap.c:1783 ++#: imap/imap.c:1801 + msgid "Error saving flags" + msgstr "Error en desar els senyaladors." + +-#: imap/imap.c:1808 ++#: imap/imap.c:1826 + msgid "Expunging messages from server..." + msgstr "S’estan eliminant missatges del servidor…" + +-#: imap/imap.c:1814 ++#: imap/imap.c:1832 + msgid "imap_sync_mailbox: EXPUNGE failed" + msgstr "imap_sync_mailbox: Ha fallat «EXPUNGE»." + +-#: imap/imap.c:2023 nntp/nntp.c:2486 ++#: imap/imap.c:2058 nntp/nntp.c:2488 + #, c-format + msgid "Selecting %s..." + msgstr "S’està seleccionant la bústia «%s»…" + +-#: imap/imap.c:2184 ++#: imap/imap.c:2221 + msgid "Error opening mailbox" + msgstr "Error en obrir la bústia." + +-#: imap/imap.c:2330 ++#: imap/imap.c:2367 + #, fuzzy + msgid "IMAP server doesn't support custom flags" + msgstr "El servidor SMTP no admet autenticació." + +-#: imap/imap.c:2374 ++#: imap/imap.c:2411 + #, fuzzy + msgid "Invalid IMAP flags" + msgstr "No vàlid " +@@ -2453,7 +2702,7 @@ msgid "Abort download and close mailbox?" + msgstr "Voleu avortar la descàrrega i tancar la bústia?" + + #: imap/message.c:554 mutt/memory.c:58 mutt/memory.c:98 mutt/memory.c:134 +-#: mutt/string.c:1178 mx.c:1176 ++#: mutt/string.c:1201 mx.c:1195 + msgid "Out of memory" + msgstr "No resta memòria." + +@@ -2472,7 +2721,7 @@ msgstr "S’estan recollint els canvis als senyaladors…" + msgid "Unable to fetch headers from this IMAP server version" + msgstr "No s’han pogut recollir les capçaleres d’aquesta versió de servidor IMAP" + +-#: imap/message.c:1099 index.c:1548 nntp/nntp.c:1328 pop/pop.c:426 ++#: imap/message.c:1099 index.c:1554 nntp/nntp.c:1330 pop/pop.c:426 + msgid "Fetching message headers..." + msgstr "S’estan recollint les capçaleres dels missatges…" + +@@ -2485,160 +2734,160 @@ msgstr "S’està penjant el missatge…" + msgid "Copying message %d to %s..." + msgstr "S’està copiant el missatge %d a «%s»…" + +-#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2737 pop/pop.c:1110 ++#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2739 pop/pop.c:1105 + msgid "Fetching message..." + msgstr "S’està recollint el missatge…" + +-#: imap/message.c:1959 pop/pop.c:1106 ++#: imap/message.c:1959 pop/pop.c:1101 + msgid "The message index is incorrect. Try reopening the mailbox." + msgstr "L’índex del missatge no és correcte. Proveu de reobrir la bústia." + +-#: imap/util.c:767 ++#: imap/util.c:796 + msgid "Continue?" + msgstr "Voleu continuar?" + +-#: index.c:115 index.c:128 ++#: index.c:111 index.c:124 + msgid "Quit" + msgstr "Ix" + +-#: index.c:118 index.c:131 recvattach.c:93 ++#: index.c:114 index.c:127 recvattach.c:91 + msgid "Save" + msgstr "Desa" + +-#: index.c:119 query.c:81 ++#: index.c:115 query.c:79 + msgid "Mail" + msgstr "Nou correu" + + # ivb (2001/12/08) + # ivb Menú superpoblat: mantenir _molt_ curt! +-#: index.c:120 pager.c:237 ++#: index.c:116 pager.c:229 + msgid "Reply" + msgstr "Respon" + +-#: index.c:121 ++#: index.c:117 + msgid "Group" + msgstr "Grup" + +-#: index.c:132 pager.c:244 ++#: index.c:128 pager.c:236 + msgid "Post" + msgstr "" + + # ivb (2001/12/07) + # ivb El primer «%s» és una adreça de correu i el segon potser «,...». +-#: index.c:133 pager.c:245 ++#: index.c:129 pager.c:237 + #, fuzzy + msgid "Followup" + msgstr "Voleu escriure un seguiment a %s%s?" + +-#: index.c:190 index.c:1362 ++#: index.c:186 index.c:1367 + msgid "No mailbox is open" + msgstr "No hi ha cap bústia oberta" + +-#: index.c:196 ++#: index.c:192 + msgid "There are no messages" + msgstr "No hi ha cap missatge" + +-#: index.c:202 ++#: index.c:198 + msgid "No visible messages" + msgstr "No hi ha cap missatge visible" + +-#: index.c:208 mx.c:901 pager.c:223 recvattach.c:80 ++#: index.c:204 mx.c:920 pager.c:215 recvattach.c:78 + msgid "Mailbox is read-only" + msgstr "La bústia és de només lectura" + +-#: index.c:214 pager.c:225 recvattach.c:98 ++#: index.c:210 pager.c:217 recvattach.c:96 + msgid "Function not permitted in attach-message mode" + msgstr "No es permet aquesta funció al mode d’adjuntar missatges" + + #. L10N: %s is one of the CHECK_ACL entries below. +-#: index.c:239 pager.c:290 ++#: index.c:235 pager.c:282 + #, c-format + msgid "%s: Operation not permitted by ACL" + msgstr "%s: l’ACL no permet l’operació." + +-#: index.c:430 ++#: index.c:426 + msgid "Can't toggle write on a readonly mailbox" + msgstr "No es pot establir si una bústia de només lectura pot ser modificada." + +-#: index.c:437 ++#: index.c:433 + msgid "Changes to folder will be written on folder exit" + msgstr "S’escriuran els canvis a la carpeta en abandonar-la" + +-#: index.c:442 ++#: index.c:438 + msgid "Changes to folder will not be written" + msgstr "No s’escriuran els canvis a la carpeta" + +-#: index.c:719 muttlib.c:1490 mx.c:206 mx.c:340 ++#: index.c:714 muttlib.c:1488 mx.c:206 mx.c:338 + #, c-format + msgid "%s is not a mailbox" + msgstr "«%s» no és una bústia." + +-#: index.c:1218 ++#: index.c:1223 + msgid "Mailbox was externally modified. Flags may be wrong." + msgstr "S’ha modificat la bústia des de fora. Els senyaladors poden ser incorrectes." + +-#: index.c:1227 pager.c:2409 ++#: index.c:1232 pager.c:2379 + msgid "New mail in this mailbox" + msgstr "Hi ha correu nou en aquesta bústia" + +-#: index.c:1242 ++#: index.c:1247 + msgid "Mailbox was externally modified" + msgstr "S’ha modificat la bústia des de fora" + +-#: index.c:1369 ++#: index.c:1374 + msgid "No tagged messages" + msgstr "No hi ha cap missatge marcat" + +-#: index.c:1373 index.c:1647 menu.c:1423 ++#: index.c:1378 index.c:1653 menu.c:1423 + msgid "Nothing to do" + msgstr "No hi ha res per fer" + +-#: index.c:1470 ++#: index.c:1475 + #, fuzzy + msgid "Enter Message-Id: " + msgstr "Entreu l’ID de clau: " + +-#: index.c:1481 ++#: index.c:1487 + msgid "Article has no parent reference" + msgstr "" + +-#: index.c:1504 ++#: index.c:1510 + #, fuzzy + msgid "Message is not visible in limited view" + msgstr "El missatge pare no és visible en aquesta vista limitada" + +-#: index.c:1508 ++#: index.c:1514 + #, fuzzy, c-format + msgid "Fetching %s from server..." + msgstr "S’estan eliminant missatges del servidor…" + +-#: index.c:1518 nntp/nntp.c:2772 ++#: index.c:1524 nntp/nntp.c:2774 + #, c-format + msgid "Article %s not found on the server" + msgstr "" + +-#: index.c:1544 ++#: index.c:1550 + msgid "No Message-Id. Unable to perform operation." + msgstr "" + +-#: index.c:1623 ++#: index.c:1629 + #, fuzzy + msgid "No deleted messages found in the thread" + msgstr "Esborra tots els missatges d’un fil" + +-#: index.c:1644 ++#: index.c:1650 + msgid "Jump to message: " + msgstr "Salta al missatge: " + +-#: index.c:1650 ++#: index.c:1656 + msgid "Argument must be a message number" + msgstr "L’argument ha de ser un número de missatge" + +-#: index.c:1652 ++#: index.c:1658 + msgid "Invalid message number" + msgstr "El número de missatge no és vàlid" + +-#: index.c:1654 ++#: index.c:1660 + msgid "That message is not visible" + msgstr "El missatge no és visible" + +@@ -2652,40 +2901,40 @@ msgstr "El missatge no és visible" + #. delete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. + #. +-#: index.c:1692 index.c:3267 pager.c:3064 ++#: index.c:1698 index.c:3293 pager.c:3039 + #, fuzzy + msgid "Can't delete messages" + msgstr "No es pot esborrar el missatge" + +-#: index.c:1695 ++#: index.c:1701 + msgid "Delete messages matching: " + msgstr "Esborra els missatges que concorden amb: " + +-#: index.c:1736 ++#: index.c:1742 + msgid "No limit pattern is in effect" + msgstr "No hi ha cap patró limitant en efecte" + + # ivb (2001/12/08) + # ivb Nooop! Només mostra el límit actual. + #. L10N: ask for a limit to apply +-#: index.c:1741 ++#: index.c:1747 + #, c-format + msgid "Limit: %s" + msgstr "Límit: %s" + +-#: index.c:1778 ++#: index.c:1784 + msgid "Limit to messages matching: " + msgstr "Limita als missatges que concorden amb: " + +-#: index.c:1809 ++#: index.c:1815 + msgid "To view all messages, limit to \"all\"" + msgstr "Per a veure tots els missatges, limiteu a «all»" + +-#: index.c:1821 pager.c:2514 ++#: index.c:1827 pager.c:2487 + msgid "Quit NeoMutt?" + msgstr "Voleu abandonar NeoMutt?" + +-#: index.c:1924 ++#: index.c:1931 + msgid "Tag messages matching: " + msgstr "Marca els missatges que concorden amb: " + +@@ -2694,213 +2943,213 @@ msgstr "Marca els missatges que concorden amb: " + #. L10N: Due to the implementation details we do not know whether we + #. undelete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:1935 index.c:3807 pager.c:3418 ++#: index.c:1942 index.c:3833 pager.c:3396 + #, fuzzy + msgid "Can't undelete messages" + msgstr "No es pot restaurar el missatge" + +-#: index.c:1939 ++#: index.c:1946 + msgid "Undelete messages matching: " + msgstr "Restaura els missatges que concorden amb: " + +-#: index.c:1948 ++#: index.c:1955 + msgid "Untag messages matching: " + msgstr "Desmarca els missatges que concorden amb: " + +-#: index.c:1989 ++#: index.c:1996 + msgid "Logged out of IMAP servers" + msgstr "S’ha eixit dels servidors IMAP" + +-#: index.c:2105 ++#: index.c:2113 + #, fuzzy + msgid "No virtual folder and no Message-Id, aborting" + msgstr "S’avorta el missatge sense assumpte" + +-#: index.c:2117 index.c:2288 index.c:2310 index.c:2331 ++#: index.c:2125 index.c:2313 index.c:2335 index.c:2356 + msgid "Failed to create query, aborting" + msgstr "" + +-#: index.c:2130 ++#: index.c:2138 + msgid "failed to find message in notmuch database. try running 'notmuch new'." + msgstr "" + +-#: index.c:2139 ++#: index.c:2147 + msgid "Failed to read thread, aborting" + msgstr "" + +-#: index.c:2171 mx.c:1252 mx.c:1272 ++#: index.c:2179 mx.c:1271 mx.c:1291 + #, fuzzy + msgid "Folder doesn't support tagging, aborting" + msgstr "El servidor SMTP no admet autenticació" + +-#: index.c:2188 ++#: index.c:2196 + #, fuzzy + msgid "No tag specified, aborting" + msgstr "S’avorta el missatge sense assumpte" + +-#: index.c:2198 ++#: index.c:2206 + msgid "Update tags..." + msgstr "" + +-#: index.c:2238 ++#: index.c:2246 + msgid "Failed to modify tags, aborting" + msgstr "" + +-#: index.c:2284 ++#: index.c:2293 + #, fuzzy + msgid "No query, aborting" + msgstr "S’avorta el missatge sense assumpte" + +-#: index.c:2299 index.c:2320 ++#: index.c:2324 index.c:2345 + msgid "Windowed queries disabled" + msgstr "" + +-#: index.c:2304 index.c:2325 ++#: index.c:2329 index.c:2350 + msgid "No notmuch vfolder currently loaded" + msgstr "" + + # És una pregunta. -- ivb +-#: index.c:2374 ++#: index.c:2399 + msgid "Open mailbox in read-only mode" + msgstr "Obri en mode de només lectura la bústia" + + # És una pregunta. -- ivb +-#: index.c:2376 ++#: index.c:2401 + msgid "Open mailbox" + msgstr "Obri la bústia" + +-#: index.c:2386 ++#: index.c:2411 + msgid "No mailboxes have new mail" + msgstr "No hi ha cap bústia amb correu nou." + + # És una pregunta. -- ivb +-#: index.c:2419 ++#: index.c:2444 + #, fuzzy + msgid "Open newsgroup in read-only mode" + msgstr "Obri en mode de només lectura la bústia" + +-#: index.c:2421 ++#: index.c:2446 + msgid "Open newsgroup" + msgstr "" + +-#: index.c:2538 ++#: index.c:2564 + #, fuzzy + msgid "Exit NeoMutt without saving?" + msgstr "Voleu abandonar NeoMutt sense desar els canvis?" + + # Al darrere porta dos punts. ivb + #. L10N: CHECK_ACL +-#: index.c:2554 ++#: index.c:2580 + #, fuzzy + msgid "Can't break thread" + msgstr "No es poden enllaçar els fils" + +-#: index.c:2574 ++#: index.c:2600 + msgid "Thread broken" + msgstr "S’ha trencat el fil." + +-#: index.c:2587 ++#: index.c:2613 + msgid "Thread can't be broken, message is not part of a thread" + msgstr "No es pot trencar el fil, el missatge no n’és part de cap." + + # Al darrere porta dos punts. ivb + #. L10N: CHECK_ACL +-#: index.c:2597 ++#: index.c:2623 + msgid "Can't link threads" + msgstr "No es poden enllaçar els fils" + +-#: index.c:2606 ++#: index.c:2632 + msgid "No Message-ID: header available to link thread" + msgstr "No hi ha capçalera «Message-ID:» amb què enllaçar el fil." + +-#: index.c:2608 ++#: index.c:2634 + msgid "First, please tag a message to be linked here" + msgstr "Per favor, marqueu un missatge per a enllaçar-lo ací." + +-#: index.c:2621 ++#: index.c:2647 + msgid "Threads linked" + msgstr "S’han enllaçat els fils." + +-#: index.c:2624 ++#: index.c:2650 + msgid "No thread linked" + msgstr "No s’ha enllaçat cap fil." + +-#: index.c:2665 index.c:2690 ++#: index.c:2691 index.c:2716 + msgid "You are on the last message" + msgstr "Vos trobeu sobre el darrer missatge" + +-#: index.c:2673 index.c:2716 ++#: index.c:2699 index.c:2742 + msgid "No undeleted messages" + msgstr "No hi ha cap missatge no esborrat" + +-#: index.c:2708 index.c:2733 ++#: index.c:2734 index.c:2759 + msgid "You are on the first message" + msgstr "Vos trobeu sobre el primer missatge" + +-#: index.c:2874 ++#: index.c:2900 + msgid "No new messages in this limited view" + msgstr "No hi ha cap missatge nou en aquesta vista limitada" + +-#: index.c:2876 ++#: index.c:2902 + msgid "No new messages" + msgstr "No hi ha cap missatge nou" + +-#: index.c:2881 ++#: index.c:2907 + msgid "No unread messages in this limited view" + msgstr "No hi ha cap missatge no llegit en aquesta vista limitada" + +-#: index.c:2883 ++#: index.c:2909 + msgid "No unread messages" + msgstr "No hi ha cap missatge no llegit" + +-#: index.c:2893 menu.c:1208 pager.c:2644 pattern.c:2652 ++#: index.c:2919 menu.c:1208 pager.c:2618 pattern.c:2776 + msgid "Search wrapped to top" + msgstr "La cerca ha tornat al principi" + +-#: index.c:2898 pager.c:2669 pattern.c:2663 ++#: index.c:2924 pager.c:2643 pattern.c:2787 + msgid "Search wrapped to bottom" + msgstr "La cerca ha tornat al final" + + # Al darrere porta dos punts. ivb + #. L10N: CHECK_ACL +-#: index.c:2915 ++#: index.c:2941 + msgid "Can't flag message" + msgstr "No es pot senyalar el missatge" + + # Al darrere porta dos punts. ivb + #. L10N: CHECK_ACL +-#: index.c:2961 pager.c:3377 ++#: index.c:2987 pager.c:3355 + msgid "Can't toggle new" + msgstr "No es pot canviar el senyalador «nou»" + +-#: index.c:3057 ++#: index.c:3083 + msgid "No more threads" + msgstr "No hi ha més fils" + +-#: index.c:3059 ++#: index.c:3085 + msgid "You are on the first thread" + msgstr "Vos trobeu al primer fil" + +-#: index.c:3156 ++#: index.c:3182 + #, fuzzy + msgid "Thread contains unread or flagged messages" + msgstr "El fil conté missatges no llegits" + + # Al darrere porta dos punts. ivb + #. L10N: CHECK_ACL +-#: index.c:3215 pager.c:3019 ++#: index.c:3241 pager.c:2994 + msgid "Can't delete message" + msgstr "No es pot esborrar el missatge" + + # Al darrere porta dos punts. ivb + #. L10N: CHECK_ACL +-#: index.c:3339 ++#: index.c:3365 + msgid "Can't edit message" + msgstr "No es pot editar el missatge." + + #. L10N: This is displayed when the x-label on one or more + #. messages is edited. +-#: index.c:3432 pager.c:3495 ++#: index.c:3458 pager.c:3473 + #, fuzzy, c-format + msgid "%d label changed" + msgid_plural "%d labels changed" +@@ -2910,7 +3159,7 @@ msgstr[1] "S’han canviat %d etiquetes" + #. L10N: This is displayed when editing an x-label, but no messages + #. were updated. Possibly due to canceling at the prompt or if the new + #. label is the same as the old label. +-#: index.c:3440 pager.c:3499 ++#: index.c:3466 pager.c:3477 + msgid "No labels changed" + msgstr "No s’ha canviat cap etiqueta" + +@@ -2919,7 +3168,7 @@ msgstr "No s’ha canviat cap etiqueta" + #. L10N: Due to the implementation details we do not know whether we + #. mark zero, 1, 12, ... messages as read. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:3571 ++#: index.c:3597 + #, fuzzy + msgid "Can't mark messages as read" + msgstr "No es poden marcar els missatges com a llegits" +@@ -2927,280 +3176,134 @@ msgstr "No es poden marcar els missatges com a llegits" + #. L10N: This is the prompt for . Whatever they + #. enter will be prefixed by $mark_macro_prefix and will become + #. a macro hotkey to jump to the currently selected message. +-#: index.c:3612 ++#: index.c:3638 + msgid "Enter macro stroke: " + msgstr "Entreu una pulsació per a la drecera: " + + #. L10N: "message hotkey" is the key bindings menu description of a + #. macro created by . +-#: index.c:3620 ++#: index.c:3646 + msgid "message hotkey" + msgstr "Drecera de teclat per a un missatge." + + #. L10N: This is echoed after creates a new hotkey + #. macro. %s is the hotkey string ($mark_macro_prefix followed + #. by whatever they typed at the prompt.) +-#: index.c:3625 ++#: index.c:3651 + #, c-format + msgid "Message bound to %s" + msgstr "S’ha vinculat el missatge amb la drecera «%s»" + + #. L10N: This error is printed if can't find a + #. Message-ID for the currently selected message in the index. +-#: index.c:3634 ++#: index.c:3660 + msgid "No message ID to macro" + msgstr "El missatge no té identificador per a ser vinculat amb la drecera" + +-#: index.c:3688 pager.c:3221 recvattach.c:1646 ++#: index.c:3714 pager.c:3196 recvattach.c:1678 + msgid "Reply by mail as poster prefers?" + msgstr "" + +-#: index.c:3691 pager.c:3182 pager.c:3194 pager.c:3224 ++#: index.c:3717 pager.c:3157 pager.c:3169 pager.c:3199 + msgid "Posting to this group not allowed, may be moderated. Continue?" + msgstr "" + + # Al darrere porta dos punts. ivb + #. L10N: CHECK_ACL +-#: index.c:3768 pager.c:3397 ++#: index.c:3794 pager.c:3375 + msgid "Can't undelete message" + msgstr "No es pot restaurar el missatge" + +-#: init.c:313 ++#: init.c:223 + #, c-format + msgid "Error in command line: %s" + msgstr "Error a la línia d’ordres: %s" + +-#: init.c:315 ++#: init.c:225 + #, fuzzy, c-format + msgid "Warning in command line: %s" + msgstr "Error a la línia d’ordres: %s" + +-#: init.c:426 ++#: init.c:336 + msgid "unable to determine nodename via uname()" + msgstr "No s’ha pogut determinar el nom de l’estació amb uname()." + +-#: init.c:580 +-msgid "-group: no group name" +-msgstr "-group: No s’ha indicat el nom del grup." +- +-#: init.c:590 +-msgid "out of arguments" +-msgstr "Manquen arguments." +- +-#: init.c:804 init.c:1752 +-#, c-format +-msgid "Error: Can't build path of '%s'" +-msgstr "" +- +-#: init.c:817 +-#, c-format +-msgid "Error: Cyclic sourcing of configuration file '%s'" +-msgstr "" +- +-#: init.c:850 +-#, c-format +-msgid "Error in %s, line %d: %s" +-msgstr "Error a «%s», línia %d: %s" +- +-#: init.c:861 +-#, fuzzy, c-format +-msgid "Warning in %s, line %d: %s" +-msgstr "Error a «%s», línia %d: %s" +- +-#: init.c:885 +-#, c-format +-msgid "source: errors in %s" +-msgstr "source: Hi ha errors a «%s»." +- +-# ivb (2001/12/08) +-# ivb ABREUJAT! +-# ivb source: S’avorta la lectura de «%s» perquè conté massa errors. +-#: init.c:885 +-#, c-format +-msgid "source: reading aborted due to too many errors in %s" +-msgstr "source: «%s» conté massa errors: s’avorta la lectura." +- +-#: init.c:894 +-#, fuzzy, c-format +-msgid "source: %d warning in %s" +-msgid_plural "source: %d warnings in %s" +-msgstr[0] "source: Hi ha errors a «%s»." +-msgstr[1] "source: Hi ha errors a «%s»." +- +-#: init.c:923 +-msgid "alias: no address" +-msgstr "alias: No s’ha indicat cap adreça." +- +-#: init.c:965 +-#, c-format +-msgid "Warning: Bad IDN '%s' in alias '%s'" +-msgstr "Avís: L’IDN de l’àlies «%2$s» no és vàlid: %1$s" +- +-# «attachments» és una ordre de configuració. ivb +-#: init.c:1043 +-msgid "attachments: no disposition" +-msgstr "attachments: No s’ha indicat la disposició." +- +-#: init.c:1054 +-#, fuzzy +-msgid "Current attachments settings:" +-msgstr "Edita la descripció d’una adjunció." +- +-#: init.c:1084 +-msgid "attachments: invalid disposition" +-msgstr "attachments: La disposició no és vàlida." +- +-# L’indicador de format inicial altera l’ordre de configuració. ivb +-#: init.c:1160 +-#, c-format +-msgid "%sgroup: missing -rx or -addr" +-msgstr "%sgroup: Manca «-rx» o «-addr»" +- +-# L’indicador de format inicial altera l’ordre de configuració. ivb +-#: init.c:1186 +-#, c-format +-msgid "%sgroup: warning: bad IDN '%s'" +-msgstr "%sgroup: Avís: L’IDN no és vàlid: %s" +- +-#: init.c:1278 +-#, c-format +-msgid "Error: %s" +-msgstr "" +- +-#: init.c:1445 +-msgid "invalid header field" +-msgstr "El camp de capçalera no és vàlid." +- +-#: init.c:1711 init.c:1815 +-#, c-format +-msgid "%s: unknown variable" +-msgstr "%s: La variable no és coneguda." +- +-# ivb (2001/11/24) +-# ivb Es refereix a una variable lògica. +-#: init.c:1908 +-#, c-format +-msgid "%s is unset" +-msgstr "«%s» no està activada." +- +-#: init.c:1953 mutt_lua.c:478 +-#, c-format +-msgid "source: error at %s" +-msgstr "source: Error a «%s»." +- +-#: init.c:1961 +-#, fuzzy, c-format +-msgid "source: file %s could not be sourced" +-msgstr "No s’han pogut imprimir els missatges" +- +-#: init.c:1984 +-msgid "spam: no matching pattern" +-msgstr "spam: No s’ha indicat el patró de concordança." +- +-#: init.c:1986 +-msgid "nospam: no matching pattern" +-msgstr "nospam: No s’ha indicat el patró de concordança." +- +-#: init.c:2146 +-#, fuzzy, c-format +-msgid "Could not subscribe to %s" +-msgstr "S’ha subscrit a «%s»." +- +-#: init.c:2154 init.c:2632 +-#, fuzzy +-msgid "No folder specified" +-msgstr "No s’ha indicat l’assumpte." +- +-# «unattachments» és una ordre de configuració. ivb +-#: init.c:2341 +-msgid "unattachments: no disposition" +-msgstr "unattachments: No s’ha indicat la disposició." +- +-#: init.c:2379 +-msgid "unattachments: invalid disposition" +-msgstr "unattachments: La disposició no és vàlida." +- +-#: init.c:2624 +-#, fuzzy, c-format +-msgid "Could not unsubscribe from %s" +-msgstr "S’ha dessubscrit de «%s»." +- +-#: init.c:3292 ++#: init.c:1042 + #, c-format + msgid "%s: unknown command" + msgstr "%s: L’ordre no és coneguda." + +-#: init.c:3837 ++#: init.c:1588 + msgid "'charset' must contain exactly one character set name" + msgstr "" + +-#: init.c:3853 init.c:3877 init.c:3912 ++#: init.c:1604 init.c:1628 init.c:1663 + #, fuzzy, c-format + msgid "Invalid value for option %s: %s" + msgstr "El valor de l’opció «%s» no és vàlid: «%s»" + +-#: init.c:3890 ++#: init.c:1641 + #, c-format + msgid "Option %s may not be set or reset from the pager" + msgstr "" + +-#: init.c:3928 ++#: init.c:1679 + #, fuzzy, c-format + msgid "Option %s may not be set when in attach-message mode" + msgstr "No es permet aquesta funció al mode d’adjuntar missatges." + + #. L10N: This applies to the "$wrap_headers" config variable +-#: init.c:3943 ++#: init.c:1694 + #, c-format + msgid "Option %s must between 78 and 998 inclusive" + msgstr "" + +-#: keymap.c:373 keymap.c:381 ++#: keymap.c:371 keymap.c:379 + #, c-format + msgid "Binding '%s' will alias '%s' Before, try: 'bind %s %s noop' https://neomutt.org/guide/configuration.html#bind-warnings" + msgstr "" + +-#: keymap.c:757 ++#: keymap.c:755 + msgid "Macro loop detected" + msgstr "S’ha detectat un bucle entre macros" + +-#: keymap.c:1064 keymap.c:1099 ++#: keymap.c:1062 keymap.c:1097 + msgid "Key is not bound" + msgstr "La tecla no està vinculada" + +-#: keymap.c:1104 ++#: keymap.c:1102 + #, c-format + msgid "Key is not bound. Press '%s' for help." + msgstr "La tecla no està vinculada. Premeu «%s» per a obtenir ajuda." + +-#: keymap.c:1177 ++#: keymap.c:1175 + #, c-format + msgid "%s: null key sequence" + msgstr "%s: La seqüència de tecles és nul·la." + +-#: keymap.c:1212 ++#: keymap.c:1210 + #, c-format + msgid "Function '%s' not available for menu '%s'" + msgstr "" + +-#: keymap.c:1495 ++#: keymap.c:1493 + msgid "macro: empty key sequence" + msgstr "macro: La seqüència de tecles és buida." + +-#: keymap.c:1543 ++#: keymap.c:1541 + msgid "exec: no arguments" + msgstr "exec: Manquen arguments." + +-#: keymap.c:1563 ++#: keymap.c:1561 + #, c-format + msgid "%s: no such function" + msgstr "%s: La funció no existeix." + +-#: keymap.c:1584 ++#: keymap.c:1582 + msgid "Enter keys (^G to abort): " + msgstr "Premeu les tecles («^G» avorta): " + +-#: keymap.c:1590 ++#: keymap.c:1588 + #, c-format + msgid "Char = %s, Octal = %o, Decimal = %d" + msgstr "Caràcter = %s, Octal = %o, Decimal = %d" +@@ -3228,7 +3331,7 @@ msgstr "No s’ha trobat cap entrada pel tipus «%s» a «mailcap»" + msgid "Scanning %s..." + msgstr "S’està llegint «%s»…" + +-#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:353 ++#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:351 + #, c-format + msgid "Reading %s..." + msgstr "S’està llegint «%s»…" +@@ -3243,13 +3346,13 @@ msgid "md_commit_message(): unable to set time on file" + msgstr "_maildir_commit_message(): No s’ha pogut canviar la data del fitxer." + + #. L10N: Displayed before/as a mailbox is being synced +-#: maildir/shared.c:1723 mbox/mbox.c:1276 mx.c:461 notmuch/mutt_notmuch.c:2364 ++#: maildir/shared.c:1734 mbox/mbox.c:1276 mx.c:459 notmuch/mutt_notmuch.c:2364 + #, c-format + msgid "Writing %s..." + msgstr "S’està escrivint «%s»…" + + #. L10N: Try to limit to 80 columns +-#: main.c:227 ++#: main.c:160 + msgid "" + "usage:\n" + " neomutt [-Enx] [-e ] [-F ] [-H ] [-i ]\n" +@@ -3272,7 +3375,7 @@ msgid "" + msgstr "" + + #. L10N: Try to limit to 80 columns. If more space is needed add an indented line +-#: main.c:247 ++#: main.c:180 + msgid "" + "options:\n" + " -- Special argument forces NeoMutt to stop option parsing and treat\n" +@@ -3315,55 +3418,55 @@ msgid "" + " or exit immediately with exit code 1 otherwise" + msgstr "" + +-#: main.c:312 ++#: main.c:245 + msgid "Error initializing terminal" + msgstr "Error en inicialitzar el terminal" + +-#: main.c:390 ++#: main.c:323 + msgid "unable to determine username" + msgstr "No s’ha pogut determinar el nom de l’usuari." + +-#: main.c:396 ++#: main.c:329 + msgid "unable to determine home directory" + msgstr "No s’ha pogut determinar el directori de l’usuari." + +-#: main.c:640 ++#: main.c:572 + #, c-format + msgid "Error: value '%s' is invalid for -d" + msgstr "Error: L’argument de l’opció «-d» no és vàlid: %s" + + # Es refereix a l’esquema d’URL. ivb +-#: main.c:884 ++#: main.c:815 + msgid "Failed to parse mailto: link" + msgstr "No s’ha pogut interpretar l’enllaç de tipus «mailto:»." + +-#: main.c:896 send.c:2452 send.c:2456 ++#: main.c:827 send.c:2463 send.c:2467 + msgid "No recipients specified" + msgstr "No s’ha indicat cap destinatari" + +-#: main.c:923 ++#: main.c:854 + msgid "Can't use -E flag with stdin" + msgstr "No es pot emprar l’opció «-E» amb l’entrada estàndard." + +-#: main.c:1007 ++#: main.c:938 + #, fuzzy, c-format + msgid "Can't parse message template: %s" + msgstr "No s’ha pogut obrir el fitxer missatge: %s" + +-#: main.c:1073 mutt_header.c:329 ++#: main.c:1004 mutt_header.c:329 + #, c-format + msgid "%s: unable to attach file" + msgstr "%s: No s’ha pogut adjuntar el fitxer." + +-#: main.c:1156 ++#: main.c:1087 + msgid "No mailbox with new mail" + msgstr "No hi ha cap bústia amb correu nou" + +-#: main.c:1180 ++#: main.c:1111 + msgid "No incoming mailboxes defined" + msgstr "No s’ha definit cap bústia d’entrada" + +-#: main.c:1230 ++#: main.c:1161 + msgid "Mailbox is empty" + msgstr "La bústia és buida" + +@@ -3411,52 +3514,52 @@ msgstr "No s’ha pogut reobrir la bústia." + msgid "Can't write message" + msgstr "No s’ha pogut escriure el missatge." + +-#: menu.c:632 ++#: menu.c:631 + msgid "Jump to: " + msgstr "Salta a: " + +-#: menu.c:641 ++#: menu.c:640 + msgid "Invalid index number" + msgstr "El número d’índex no és vàlid" + +-#: menu.c:645 menu.c:671 menu.c:744 menu.c:810 menu.c:828 menu.c:843 menu.c:858 +-#: menu.c:873 menu.c:890 menu.c:907 menu.c:1553 ++#: menu.c:644 menu.c:670 menu.c:743 menu.c:809 menu.c:827 menu.c:842 menu.c:857 ++#: menu.c:872 menu.c:889 menu.c:906 menu.c:1553 + msgid "No entries" + msgstr "No hi ha cap entrada" + +-#: menu.c:668 ++#: menu.c:667 + msgid "You can't scroll down farther" + msgstr "No podeu baixar més" + +-#: menu.c:690 ++#: menu.c:689 + msgid "You can't scroll up farther" + msgstr "No podeu pujar més" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the first page" + msgstr "Vos trobeu a la primera pàgina" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the last page" + msgstr "Vos trobeu a la darrera pàgina" + +-#: menu.c:922 ++#: menu.c:921 + msgid "You are on the last entry" + msgstr "Vos trobeu a la darrera entrada" + +-#: menu.c:937 ++#: menu.c:936 + msgid "You are on the first entry" + msgstr "Vos trobeu a la primera entrada" + +-#: menu.c:1172 pager.c:2692 pattern.c:2578 ++#: menu.c:1172 pager.c:2666 pattern.c:2702 + msgid "Search for: " + msgstr "Cerca: " + +-#: menu.c:1173 pager.c:2693 pattern.c:2579 ++#: menu.c:1173 pager.c:2667 pattern.c:2703 + msgid "Reverse search for: " + msgstr "Cerca cap enrere: " + +-#: menu.c:1226 pager.c:2641 pager.c:2666 pager.c:2800 pattern.c:2708 ++#: menu.c:1226 pager.c:2615 pager.c:2640 pager.c:2774 pattern.c:2832 + msgid "Not found" + msgstr "No s’ha trobat" + +@@ -3499,20 +3602,20 @@ msgstr "S’està esperant el blocatge amb flock()… %d" + msgid "Bad history file format (line %d)" + msgstr "El format del fitxer d’historial no és vàlid (línia %d)." + +-#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1006 ncrypt/crypt_gpgme.c:2381 +-#: ncrypt/crypt_gpgme.c:2401 ncrypt/crypt_gpgme.c:2460 +-#: ncrypt/crypt_gpgme.c:2477 ncrypt/crypt_gpgme.c:2509 +-#: ncrypt/crypt_gpgme.c:2527 ncrypt/crypt_gpgme.c:2611 +-#: ncrypt/crypt_gpgme.c:3194 ncrypt/crypt_gpgme.c:3292 +-#: ncrypt/crypt_gpgme.c:4373 ncrypt/pgp.c:576 ncrypt/pgp.c:583 ncrypt/pgp.c:896 +-#: ncrypt/pgp.c:1014 ncrypt/pgp.c:1161 ncrypt/pgp.c:1181 ncrypt/pgp.c:1215 +-#: ncrypt/pgp.c:1568 ncrypt/pgpkey.c:708 ncrypt/pgpkey.c:902 +-#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1092 ncrypt/smime.c:1100 +-#: ncrypt/smime.c:1191 ncrypt/smime.c:1299 ncrypt/smime.c:1364 +-#: ncrypt/smime.c:1372 ncrypt/smime.c:1571 ncrypt/smime.c:1967 +-#: ncrypt/smime.c:2046 ncrypt/smime.c:2053 ncrypt/smime.c:2156 +-#: ncrypt/smime.c:2281 ncrypt/smime.c:2297 nntp/nntp.c:1397 nntp/nntp.c:2237 +-#: pattern.c:1132 pop/pop.c:182 ++#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1005 ncrypt/crypt_gpgme.c:2420 ++#: ncrypt/crypt_gpgme.c:2440 ncrypt/crypt_gpgme.c:2499 ++#: ncrypt/crypt_gpgme.c:2516 ncrypt/crypt_gpgme.c:2548 ++#: ncrypt/crypt_gpgme.c:2566 ncrypt/crypt_gpgme.c:2650 ++#: ncrypt/crypt_gpgme.c:3237 ncrypt/crypt_gpgme.c:3335 ++#: ncrypt/crypt_gpgme.c:4421 ncrypt/pgp.c:575 ncrypt/pgp.c:582 ncrypt/pgp.c:895 ++#: ncrypt/pgp.c:1013 ncrypt/pgp.c:1160 ncrypt/pgp.c:1180 ncrypt/pgp.c:1214 ++#: ncrypt/pgp.c:1570 ncrypt/pgpkey.c:741 ncrypt/pgpkey.c:937 ++#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1126 ncrypt/smime.c:1134 ++#: ncrypt/smime.c:1225 ncrypt/smime.c:1333 ncrypt/smime.c:1398 ++#: ncrypt/smime.c:1406 ncrypt/smime.c:1605 ncrypt/smime.c:2001 ++#: ncrypt/smime.c:2080 ncrypt/smime.c:2087 ncrypt/smime.c:2190 ++#: ncrypt/smime.c:2315 ncrypt/smime.c:2331 nntp/nntp.c:1399 nntp/nntp.c:2239 ++#: pattern.c:1171 pop/pop.c:182 + msgid "Can't create temporary file" + msgstr "No s’ha pogut crear un fitxer temporal." + +@@ -3531,7 +3634,7 @@ msgstr "S’activa la depuració a nivell %d.\n" + msgid "Logging at level %d to file '%s'" + msgstr "S’activa la depuració a nivell %d.\n" + +-#: mutt/path.c:401 ++#: mutt/path.c:420 + #, fuzzy + msgid "Error: converting path to absolute" + msgstr "Error en connectar amb el servidor: %s" +@@ -3563,17 +3666,17 @@ msgstr "S’ha rebut el senyal %d (%s)… Eixint.\n" + msgid "Caught signal %d ... Exiting.\n" + msgstr "S’ha rebut el senyal %d… Eixint.\n" + +-#: muttlib.c:490 ++#: muttlib.c:488 + #, c-format + msgid "mutt_randbuf buflen=%zu" + msgstr "" + +-#: muttlib.c:510 ++#: muttlib.c:508 + #, c-format + msgid "open /dev/urandom: %s" + msgstr "" + +-#: muttlib.c:517 ++#: muttlib.c:515 + #, c-format + msgid "read /dev/urandom: %s" + msgstr "" +@@ -3581,155 +3684,128 @@ msgstr "" + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) + #. These three letters correspond to the choices in the string. +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "File is a directory, save under it: (y)es, (n)o, (a)ll?" + msgstr "El fitxer és un directori; voleu desar a dins? [(s)í, (n)o, (t)ots]" + + # (s)í, (n)o, (t)ots ivb +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "yna" + msgstr "snt" + + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) +-#: muttlib.c:763 ++#: muttlib.c:761 + msgid "File is a directory, save under it?" + msgstr "El fitxer és un directori; voleu desar a dins?" + +-#: muttlib.c:768 ++#: muttlib.c:766 + msgid "File under directory: " + msgstr "Fitxer a sota del directori: " + +-#: muttlib.c:781 ++#: muttlib.c:779 + msgid "File exists, (o)verwrite, (a)ppend, or (c)ancel?" + msgstr "El fitxer ja existeix; (s)obreescriu, (a)fegeix, (c)ancel·la?" + + # ivb (2001/11/27) + # ivb (s)obreescriu, (a)fegeix, (c)ancel·la + #. L10N: Options for: File exists, (o)verwrite, (a)ppend, or (c)ancel? +-#: muttlib.c:783 ++#: muttlib.c:781 + msgid "oac" + msgstr "sac" + +-#: muttlib.c:1458 ++#: muttlib.c:1456 + msgid "Can't save message to POP mailbox" + msgstr "No es poden desar missatges en bústies POP" + +-#: muttlib.c:1468 ++#: muttlib.c:1466 + #, c-format + msgid "Append messages to %s?" + msgstr "Voleu afegir els missatges a «%s»?" + +-#: muttlib.c:1481 ++#: muttlib.c:1479 + #, fuzzy + msgid "Can't save message to news server" + msgstr "No s’han pogut deixar els missatges al servidor" + +-#. L10N: Example: Username at myhost.com +-#: mutt_account.c:233 +-#, c-format +-msgid "Username at %s: " +-msgstr "Nom d’usuari a «%s»: " +- +-#: mutt_account.c:315 +-#, c-format +-msgid "Password for %s@%s: " +-msgstr "Contrasenya per a «%s@%s»: " +- +-#. L10N: You will see this error message if (1) you have "oauthbearer" in +-#. one of your $*_authenticators and (2) you do not have the corresponding +-#. $*_oauth_refresh_command defined. So the message does not mean "None of +-#. your $*_oauth_refresh_command's are defined." +-#: mutt_account.c:383 +-msgid "No OAUTH refresh command defined" +-msgstr "No s’ha definit l’ordre de refresc OAUTH." +- +-#: mutt_account.c:390 +-msgid "Unable to run refresh command" +-msgstr "No s’ha pogut executar l’ordre de refresc." +- +-#: mutt_account.c:400 +-msgid "Command returned empty string" +-msgstr "L’ordre ha retornat la cadena buida." +- +-#: mutt_attach.c:140 mutt_attach.c:274 mutt_attach.c:459 mutt_attach.c:1054 ++#: mutt_attach.c:142 mutt_attach.c:276 mutt_attach.c:488 mutt_attach.c:1087 + msgid "Can't match 'nametemplate', continue?" + msgstr "El nom de fitxer no concorda amb cap «nametemplate»; continuar?" + +-#: mutt_attach.c:150 ++#: mutt_attach.c:152 + #, c-format + msgid "Mailcap compose entry requires %%s" + msgstr "Cal que l’entrada «compose» de «mailcap» continga «%%s»." + +-#: mutt_attach.c:168 ++#: mutt_attach.c:170 + msgid "Failure to open file to parse headers" + msgstr "No s’ha pogut obrir el fitxer per a interpretar-ne les capçaleres" + +-#: mutt_attach.c:202 ++#: mutt_attach.c:204 + msgid "Failure to open file to strip headers" + msgstr "No s’ha pogut obrir el fitxer per a eliminar-ne les capçaleres" + + # Es refereix a un fitxer temporal. ivb +-#: mutt_attach.c:212 ++#: mutt_attach.c:214 + msgid "Failure to rename file" + msgstr "No s’ha pogut reanomenar un fitxer" + + # ABREUJAT! + # No hi ha cap entrada «compose» de «%s» a «mailcap»: es crea un fitxer buit. +-#: mutt_attach.c:222 ++#: mutt_attach.c:224 + #, c-format + msgid "No mailcap compose entry for %s, creating empty file" + msgstr "«%s» no té entrada «compose» a «mailcap»: cree fitxer buit" + +-#: mutt_attach.c:284 ++#: mutt_attach.c:286 + #, c-format + msgid "Mailcap Edit entry requires %%s" + msgstr "Cal que l’entrada «edit» de «mailcap» continga «%%s»." + +-#: mutt_attach.c:305 ++#: mutt_attach.c:307 + #, c-format + msgid "No mailcap edit entry for %s" + msgstr "No hi ha cap entrada «edit» de «%s» a «mailcap»." + +-#: mutt_attach.c:427 ++#: mutt_attach.c:456 + msgid "No matching mailcap entry found. Viewing as text." + msgstr "No hi ha cap entrada adequada a «mailcap». Es visualitza com a text." + +-#: mutt_attach.c:440 ++#: mutt_attach.c:469 + msgid "MIME type not defined. Can't view attachment." + msgstr "No s’ha definit el tipus MIME. No es pot veure l’adjunció." + +-#: mutt_attach.c:535 ++#: mutt_attach.c:563 + #, c-format + msgid "---Command: %-20.20s Description: %s" + msgstr "---Ordre: %-20.20s Descripció: %s" + +-#: mutt_attach.c:540 ++#: mutt_attach.c:568 + #, c-format + msgid "---Command: %-30.30s Attachment: %s" + msgstr "---Ordre: %-30.30s Adjunció: %s" + + # Nom de fitxer i tipus MIME. ivb +-#: mutt_attach.c:619 ++#: mutt_attach.c:652 + #, c-format + msgid "---Attachment: %s: %s" + msgstr "---Adjunció: %s: %s" + + # Nom de fitxer. ivb +-#: mutt_attach.c:621 ++#: mutt_attach.c:654 + #, c-format + msgid "---Attachment: %s" + msgstr "---Adjunció: %s" + +-#: mutt_attach.c:902 mutt_attach.c:910 ++#: mutt_attach.c:935 mutt_attach.c:943 + msgid "Write fault" + msgstr "Error d’escriptura." + +-#: mutt_attach.c:1174 ++#: mutt_attach.c:1207 + msgid "I don't know how to print that" + msgstr "Es desconeix com imprimir l’adjunció." + +-#: mutt_history.c:47 query.c:84 ++#: mutt_history.c:47 query.c:82 + msgid "Search" + msgstr "Cerca" + +@@ -3738,22 +3814,22 @@ msgstr "Cerca" + msgid "History '%s'" + msgstr "Consulta de «%s»" + +-#: mutt_logging.c:315 ++#: mutt_logging.c:313 + #, fuzzy, c-format + msgid "Invalid value for option %s: %ld" + msgstr "El valor de l’opció «%s» no és vàlid: «%s»" + +-#: mutt_lua.c:429 ++#: mutt_lua.c:431 + msgid "Error: Couldn't load the lua interpreter" + msgstr "" + +-#: mutt_lua.c:491 ++#: mutt_lua.c:493 + #, fuzzy, c-format + msgid "Couldn't source lua source: %s" + msgstr "No s’ha pogut blocar «%s».\n" + + # Vaja, no hi ha com posar-li cometes… ivb +-#: mutt_mailbox.c:214 ++#: mutt_mailbox.c:241 + msgid "New mail in " + msgstr "Hi ha correu nou a " + +@@ -3774,21 +3850,21 @@ msgstr "El missatge arrel no és visible en aquesta vista limitada" + msgid "Parent message is not visible in this limited view" + msgstr "El missatge pare no és visible en aquesta vista limitada" + +-#: mx.c:387 ++#: mx.c:385 + #, fuzzy, c-format + msgid "Reading from %s interrupted..." + msgstr "S’ha interromput la cerca." + + # Condició d’error. ivb + #. L10N: Displayed if a mailbox sync fails +-#: mx.c:468 ++#: mx.c:469 + #, c-format + msgid "Unable to write %s" + msgstr "No s’ha pogut escriure «%s»." + + #. L10N: Although we know the precise number of messages, we do not show it to the user. + #. So feel free to use a "generic plural" as plural translation if your language has one. +-#: mx.c:523 ++#: mx.c:525 + #, fuzzy + msgid "message not deleted" + msgid_plural "messages not deleted" +@@ -3800,13 +3876,13 @@ msgstr[1] "No s’han pogut esborrar els missatges." + msgid "Can't open trash folder" + msgstr "No s’ha pogut obrir la carpeta paperera." + +-#: mx.c:623 ++#: mx.c:627 + msgid "Mark all articles read?" + msgstr "" + + #. L10N: The first argument is the number of read messages to be + #. moved, the second argument is the target mailbox. +-#: mx.c:671 ++#: mx.c:675 + #, fuzzy, c-format + msgid "Move %d read message to %s?" + msgid_plural "Move %d read messages to %s?" +@@ -3815,56 +3891,56 @@ msgstr[1] "Voleu moure %d missatges llegits a «%s»?" + + # ivb (2001/12/08) + # ivb Ací «%d» sempre és 1. +-#: mx.c:685 mx.c:917 ++#: mx.c:689 mx.c:936 + #, fuzzy, c-format + msgid "Purge %d deleted message?" + msgid_plural "Purge %d deleted messages?" + msgstr[0] "Voleu eliminar %d missatge esborrat?" + msgstr[1] "Voleu eliminar %d missatges esborrats?" + +-#: mx.c:708 ++#: mx.c:712 + #, c-format + msgid "Moving read messages to %s..." + msgstr "S’estan movent els missatges llegits a «%s»…" + +-#: mx.c:774 mx.c:908 ++#: mx.c:783 mx.c:927 + msgid "Mailbox is unchanged" + msgstr "No s’ha modificat la bústia" + +-#: mx.c:827 ++#: mx.c:842 + #, c-format + msgid "%d kept, %d moved, %d deleted" + msgstr "%d mantinguts, %d moguts, %d esborrats" + +-#: mx.c:831 mx.c:972 ++#: mx.c:846 mx.c:991 + #, c-format + msgid "%d kept, %d deleted" + msgstr "%d mantinguts, %d esborrats" + + # ivb (2001/12/08) + # ivb Pot anar darrere de la següent de la següent. +-#: mx.c:892 ++#: mx.c:911 + #, c-format + msgid " Press '%s' to toggle write" + msgstr "Premeu «%s» per a habilitar l’escriptura." + + # ivb (2001/12/08) + # ivb Pot anar darrere de la següent. +-#: mx.c:894 ++#: mx.c:913 + msgid "Use 'toggle-write' to re-enable write" + msgstr "Habiliteu l’escriptura amb «toggle-write»." + + # Precedeix alguna de les anteriors. Mantenir breu. ivb +-#: mx.c:896 ++#: mx.c:915 + #, c-format + msgid "Mailbox is marked unwritable. %s" + msgstr "Bústia en estat de només lectura. %s" + +-#: mx.c:966 ++#: mx.c:985 + msgid "Mailbox checkpointed" + msgstr "S’ha establert un punt de control a la bústia" + +-#: ncrypt/crypt.c:93 ++#: ncrypt/crypt.c:91 + #, c-format + msgid " (current time: %c)" + msgstr " (data actual: %c)" +@@ -3874,7 +3950,7 @@ msgstr " (data actual: %c)" + # Exemple: + # [-- Eixida de OpenSSL (data actual: dg 05 nov 2006 21:04:11 CET). --] + # La primera: «OpenSSL» o «PGP» (meec, apòstrof); la segona l’anterior. ivb +-#: ncrypt/crypt.c:98 ++#: ncrypt/crypt.c:96 + #, c-format + msgid "[-- %s output follows%s --]\n" + msgstr "[-- Eixida de %s%s: --]\n" +@@ -3883,61 +3959,61 @@ msgstr "[-- Eixida de %s%s: --]\n" + #. by gpg-agent) we can't know whether we forgot zero, 1, 12, ... + #. passwords. So in English we use "Passphrases". Your language might + #. have other means to express this. +-#: ncrypt/crypt.c:119 ++#: ncrypt/crypt.c:117 + msgid "Passphrases forgotten" + msgstr "S’han esborrat de la memòria les frases clau" + + # No es pot fer mai. ivb + # ABREUJAT! ivb + # No es pot emprar PGP en línia amb adjuncions. Voleu recórrer a emprar PGP/MIME? +-#: ncrypt/crypt.c:203 ++#: ncrypt/crypt.c:201 + msgid "Inline PGP can't be used with attachments. Revert to PGP/MIME?" + msgstr "No es pot emprar PGP en línia amb adjuncions. Emprar PGP/MIME?" + +-#: ncrypt/crypt.c:207 ++#: ncrypt/crypt.c:205 + msgid "Mail not sent: inline PGP can't be used with attachments" + msgstr "No s’ha enviat el missatge: no es pot emprar PGP en línia amb adjuncions" + + # No es pot fer mai. ivb + # ABREUJAT! ivb + # No es pot emprar PGP en línia amb adjuncions. Voleu recórrer a emprar PGP/MIME? +-#: ncrypt/crypt.c:214 ++#: ncrypt/crypt.c:212 + msgid "Inline PGP can't be used with format=flowed. Revert to PGP/MIME?" + msgstr "No es pot emprar PGP en línia amb «format=flowed». Emprar PGP/MIME?" + +-#: ncrypt/crypt.c:218 ++#: ncrypt/crypt.c:216 + msgid "Mail not sent: inline PGP can't be used with format=flowed" + msgstr "No s’ha enviat el missatge: no es pot emprar PGP en línia amb «format=flowed»" + +-#: ncrypt/crypt.c:228 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:714 +-#: ncrypt/pgpkey.c:915 ++#: ncrypt/crypt.c:226 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:747 ++#: ncrypt/pgpkey.c:950 + msgid "Invoking PGP..." + msgstr "S’està invocant PGP…" + + # S’ha intentat però ha fallat. ivb + # ABREUJAT! ivb + # No s’ha pogut enviar el missatge en línia. Voleu recórrer a emprar PGP/MIME? +-#: ncrypt/crypt.c:240 ++#: ncrypt/crypt.c:238 + msgid "Message can't be sent inline. Revert to using PGP/MIME?" + msgstr "No s’ha pogut enviar el missatge en línia. Emprar PGP/MIME?" + +-#: ncrypt/crypt.c:242 send.c:2430 ++#: ncrypt/crypt.c:240 send.c:2441 + msgid "Mail not sent" + msgstr "No s’ha enviat el missatge" + +-#: ncrypt/crypt.c:662 ++#: ncrypt/crypt.c:666 + msgid "S/MIME messages with no hints on content are unsupported" + msgstr "No es permeten els misatges S/MIME sense pistes sobre el contingut" + +-#: ncrypt/crypt.c:888 ++#: ncrypt/crypt.c:892 + msgid "Trying to extract PGP keys...\n" + msgstr "S’està provant d’extreure les claus PGP…\n" + +-#: ncrypt/crypt.c:917 ++#: ncrypt/crypt.c:921 + msgid "Trying to extract S/MIME certificates..." + msgstr "S’està provant d’extreure els certificats S/MIME…" + +-#: ncrypt/crypt.c:1140 ++#: ncrypt/crypt.c:1144 + #, c-format + msgid "" + "[-- Error: Unknown multipart/signed protocol %s --]\n" +@@ -3946,7 +4022,7 @@ msgstr "" + "[-- Error: El protocol «%s» de «multipart/signed» no és conegut. --]\n" + "\n" + +-#: ncrypt/crypt.c:1180 ++#: ncrypt/crypt.c:1184 + msgid "" + "[-- Error: Missing or bad-format multipart/signed signature --]\n" + "\n" +@@ -3954,7 +4030,7 @@ msgstr "" + "[-- Error: La signatura de «multipart/signed» manca o és feta malbé. --]\n" + "\n" + +-#: ncrypt/crypt.c:1222 ++#: ncrypt/crypt.c:1226 + #, c-format + msgid "" + "[-- Warning: We can't verify %s/%s signatures. --]\n" +@@ -3963,7 +4039,7 @@ msgstr "" + "[-- Avís: No es poden verificar les signatures «%s/%s». --]\n" + "\n" + +-#: ncrypt/crypt.c:1235 ++#: ncrypt/crypt.c:1239 + msgid "" + "[-- The following data is signed --]\n" + "\n" +@@ -3971,7 +4047,7 @@ msgstr "" + "[-- Les dades següents es troben signades: --]\n" + "\n" + +-#: ncrypt/crypt.c:1243 ++#: ncrypt/crypt.c:1248 + msgid "" + "[-- Warning: Can't find any signatures. --]\n" + "\n" +@@ -3979,7 +4055,7 @@ msgstr "" + "[-- Avís: No s’ha trobat cap signatura. --]\n" + "\n" + +-#: ncrypt/crypt.c:1249 ++#: ncrypt/crypt.c:1255 + msgid "" + "\n" + "[-- End of signed data --]\n" +@@ -4000,239 +4076,239 @@ msgstr "S’està invocant S/MIME…" + #. L10N: The following are the headers for the "verify key" output from the + #. GPGME key selection menu (bound to "c" in the key selection menu). + #. They will be automatically aligned. +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Name: " + msgstr "Nom: " + +-#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1869 ncrypt/crypt_gpgme.c:1874 ++#: ncrypt/crypt_gpgme.c:183 ncrypt/crypt_gpgme.c:1900 ncrypt/crypt_gpgme.c:1905 + msgid "aka: " + msgstr "també conegut com a: " + + # Es refereix a una clau. ivb +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Valid From: " + msgstr "Vàlida des de: " + + # Es refereix a una clau. ivb +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Valid To: " + msgstr "Vàlida fins a: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Key Type: " + msgstr "Tipus de la clau: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Key Usage: " + msgstr "Utilitat de la clau: " + + # XXX No puc unificar les traduccions pq una porta replè i l’altra no! ivb +-#: ncrypt/crypt_gpgme.c:185 ncrypt/crypt_gpgme.c:1759 ++#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1790 + msgid "Fingerprint: " + msgstr "Empremta digital .....: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Serial-No: " + msgstr "Número de sèrie: " + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + msgid "Issued By: " + msgstr "Lliurada per: " + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + msgid "Subkey: " + msgstr "Subclau: " + +-#: ncrypt/crypt_gpgme.c:783 ++#: ncrypt/crypt_gpgme.c:782 + #, c-format + msgid "error enabling CMS protocol: %s" + msgstr "Error en habilitar el protocol CMS: %s" + +-#: ncrypt/crypt_gpgme.c:806 ++#: ncrypt/crypt_gpgme.c:805 + #, c-format + msgid "error creating gpgme data object: %s" + msgstr "Error en crear l’objecte de dades GPGME: %s" + +-#: ncrypt/crypt_gpgme.c:907 ncrypt/crypt_gpgme.c:934 ncrypt/crypt_gpgme.c:2057 +-#: ncrypt/crypt_gpgme.c:2814 ++#: ncrypt/crypt_gpgme.c:906 ncrypt/crypt_gpgme.c:933 ncrypt/crypt_gpgme.c:2096 ++#: ncrypt/crypt_gpgme.c:2853 + #, c-format + msgid "error allocating data object: %s" + msgstr "Error en reservar l’objecte de dades: %s" + +-#: ncrypt/crypt_gpgme.c:956 ++#: ncrypt/crypt_gpgme.c:955 + #, c-format + msgid "error rewinding data object: %s" + msgstr "Error en rebobinar l’objecte de dades: %s" + +-#: ncrypt/crypt_gpgme.c:972 ++#: ncrypt/crypt_gpgme.c:971 + msgid "[tempfile]" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:978 ncrypt/crypt_gpgme.c:1032 ++#: ncrypt/crypt_gpgme.c:977 ncrypt/crypt_gpgme.c:1031 + #, c-format + msgid "error reading data object: %s" + msgstr "Error en llegir l’objecte de dades: %s" + +-#: ncrypt/crypt_gpgme.c:1149 ++#: ncrypt/crypt_gpgme.c:1148 + #, fuzzy, c-format + msgid "error adding recipient '%s': %s" + msgstr "Error en afegir el destinatari «%s»: %s" + +-#: ncrypt/crypt_gpgme.c:1202 ++#: ncrypt/crypt_gpgme.c:1186 + #, c-format + msgid "secret key '%s' not found: %s" + msgstr "No s’ha trobat la clau secreta «%s»: %s" + +-#: ncrypt/crypt_gpgme.c:1218 ++#: ncrypt/crypt_gpgme.c:1203 + #, fuzzy, c-format + msgid "ambiguous specification of secret key '%s'\n" + msgstr "L’especificació de la clau secreta «%s» és ambigua." + +-#: ncrypt/crypt_gpgme.c:1234 ++#: ncrypt/crypt_gpgme.c:1219 + #, c-format + msgid "error setting secret key '%s': %s" + msgstr "Error en establir la clau secreta «%s»: %s" + + # PKA és la notació, no la signatura. ivb +-#: ncrypt/crypt_gpgme.c:1250 ++#: ncrypt/crypt_gpgme.c:1278 + #, c-format + msgid "error setting PKA signature notation: %s" + msgstr "Error en establir la notació PKA de la signatura: %s" + +-#: ncrypt/crypt_gpgme.c:1324 ++#: ncrypt/crypt_gpgme.c:1353 + #, c-format + msgid "error encrypting data: %s" + msgstr "Error en xifrar les dades: %s" + +-#: ncrypt/crypt_gpgme.c:1453 ++#: ncrypt/crypt_gpgme.c:1483 + #, c-format + msgid "error signing data: %s" + msgstr "Error en signar les dades: %s" + +-#: ncrypt/crypt_gpgme.c:1463 ++#: ncrypt/crypt_gpgme.c:1493 + msgid "$pgp_sign_as unset and no default key specified in ~/.gnupg/gpg.conf" + msgstr "$pgp_sign_as no està establerta i «~/.gnupg/gpg.conf» no conté una clau per defecte" + +-#: ncrypt/crypt_gpgme.c:1641 ++#: ncrypt/crypt_gpgme.c:1672 + msgid "Warning: One of the keys has been revoked\n" + msgstr "Avís: Una de les claus ha estat revocada.\n" + + # I darrere va la data sense punt. ivb +-#: ncrypt/crypt_gpgme.c:1651 ++#: ncrypt/crypt_gpgme.c:1682 + msgid "Warning: The key used to create the signature expired at: " + msgstr "Avís: La clau emprada per a crear la signatura expirà en: " + +-#: ncrypt/crypt_gpgme.c:1657 ++#: ncrypt/crypt_gpgme.c:1688 + msgid "Warning: At least one certification key has expired\n" + msgstr "Avís: Almenys una de les claus de certificació ha expirat.\n" + + # I darrere va la data sense punt. ivb +-#: ncrypt/crypt_gpgme.c:1671 ++#: ncrypt/crypt_gpgme.c:1702 + msgid "Warning: The signature expired at: " + msgstr "Avís: La signatura expirà en: " + +-#: ncrypt/crypt_gpgme.c:1678 ++#: ncrypt/crypt_gpgme.c:1709 + msgid "Can't verify due to a missing key or certificate\n" + msgstr "No s’ha pogut verificar perquè manca una clau o certificat.\n" + +-#: ncrypt/crypt_gpgme.c:1683 ++#: ncrypt/crypt_gpgme.c:1714 + msgid "The CRL is not available\n" + msgstr "La CRL (llista de certificats revocats) no es troba disponible.\n" + +-#: ncrypt/crypt_gpgme.c:1689 ++#: ncrypt/crypt_gpgme.c:1720 + msgid "Available CRL is too old\n" + msgstr "La CRL (llista de certificats revocats) és massa vella.\n" + +-#: ncrypt/crypt_gpgme.c:1694 ++#: ncrypt/crypt_gpgme.c:1725 + msgid "A policy requirement was not met\n" + msgstr "No s’ha acomplert un requeriment establert per política.\n" + +-#: ncrypt/crypt_gpgme.c:1703 ++#: ncrypt/crypt_gpgme.c:1734 + msgid "A system error occurred" + msgstr "S’ha produït un error de sistema." + +-#: ncrypt/crypt_gpgme.c:1734 ++#: ncrypt/crypt_gpgme.c:1765 + msgid "WARNING: PKA entry does not match signer's address: " + msgstr "Avís: L’entrada PKA no concorda amb l’adreça del signatari: " + +-#: ncrypt/crypt_gpgme.c:1740 ++#: ncrypt/crypt_gpgme.c:1771 + msgid "PKA verified signer's address is: " + msgstr "L’adreça del signatari verificada amb PKA és: " + +-#: ncrypt/crypt_gpgme.c:1822 ++#: ncrypt/crypt_gpgme.c:1853 + msgid "WARNING: We have NO indication whether the key belongs to the person named as shown above\n" + msgstr "Avís: RES indica que la clau pertanya a la persona esmentada a sobre.\n" + +-#: ncrypt/crypt_gpgme.c:1829 ++#: ncrypt/crypt_gpgme.c:1860 + msgid "WARNING: The key does NOT BELONG to the person named as shown above\n" + msgstr "Avís: La clau NO PERTANY a la persona esmentada a sobre.\n" + +-#: ncrypt/crypt_gpgme.c:1833 ++#: ncrypt/crypt_gpgme.c:1864 + msgid "WARNING: It is NOT certain that the key belongs to the person named as shown above\n" + msgstr "Avís: NO és segur que la clau pertanya a la persona esmentada a sobre.\n" + + # Millor amb cometes però no es pot. ivb +-#: ncrypt/crypt_gpgme.c:1886 ++#: ncrypt/crypt_gpgme.c:1917 + msgid "KeyID " + msgstr "identificador " + + # No és una frase completa. ivb + #. L10N: You will see this message in place of "KeyID " + #. if the S/MIME key has no ID. This is quite an error. +-#: ncrypt/crypt_gpgme.c:1893 ++#: ncrypt/crypt_gpgme.c:1924 + msgid "no signature fingerprint available" + msgstr "sense empremta de signatura" + + # Es refereix a una signatura. ivb +-#: ncrypt/crypt_gpgme.c:1902 ncrypt/crypt_gpgme.c:1907 ++#: ncrypt/crypt_gpgme.c:1933 ncrypt/crypt_gpgme.c:1938 + msgid "created: " + msgstr "creada en: " + + # Millor amb cometes però no es pot (per coherència amb l’anterior). ivb +-#: ncrypt/crypt_gpgme.c:1981 ++#: ncrypt/crypt_gpgme.c:2012 + #, c-format + msgid "Error getting key information for KeyID %s: %s\n" + msgstr "Error en obtenir informació de la clau amb identificador %s: %s\n" + +-#: ncrypt/crypt_gpgme.c:1988 ncrypt/crypt_gpgme.c:2003 ++#: ncrypt/crypt_gpgme.c:2019 ncrypt/crypt_gpgme.c:2034 + msgid "Good signature from:" + msgstr "Signatura correcta de:" + +-#: ncrypt/crypt_gpgme.c:1995 ++#: ncrypt/crypt_gpgme.c:2026 + msgid "*BAD* signature from:" + msgstr "Signatura *INCORRECTA* de:" + +-#: ncrypt/crypt_gpgme.c:2011 ++#: ncrypt/crypt_gpgme.c:2042 + msgid "Problem signature from:" + msgstr "Problema, la signatura de:" + + #. L10N: This is trying to match the width of the + #. "Problem signature from:" translation just above. +-#: ncrypt/crypt_gpgme.c:2017 ++#: ncrypt/crypt_gpgme.c:2048 + msgid " expires: " + msgstr " expira en: " + +-#: ncrypt/crypt_gpgme.c:2064 ncrypt/crypt_gpgme.c:2294 +-#: ncrypt/crypt_gpgme.c:3081 ++#: ncrypt/crypt_gpgme.c:2103 ncrypt/crypt_gpgme.c:2333 ++#: ncrypt/crypt_gpgme.c:3124 + msgid "[-- Begin signature information --]\n" + msgstr "[-- Inici de la informació de la signatura. --]\n" + +-#: ncrypt/crypt_gpgme.c:2075 ++#: ncrypt/crypt_gpgme.c:2114 + #, c-format + msgid "Error: verification failed: %s\n" + msgstr "Error: La verificació ha fallat: %s\n" + +-#: ncrypt/crypt_gpgme.c:2126 ++#: ncrypt/crypt_gpgme.c:2165 + #, c-format + msgid "*** Begin Notation (signature by: %s) ***\n" + msgstr "*** Inici de la notació (signatura de: %s). ***\n" + +-#: ncrypt/crypt_gpgme.c:2145 ++#: ncrypt/crypt_gpgme.c:2184 + msgid "*** End Notation ***\n" + msgstr "*** Final de la notació. ***\n" + +-#: ncrypt/crypt_gpgme.c:2153 ncrypt/crypt_gpgme.c:2308 +-#: ncrypt/crypt_gpgme.c:3091 ++#: ncrypt/crypt_gpgme.c:2192 ncrypt/crypt_gpgme.c:2347 ++#: ncrypt/crypt_gpgme.c:3134 + msgid "" + "[-- End signature information --]\n" + "\n" +@@ -4240,7 +4316,7 @@ msgstr "" + "[-- Final de la informació de la signatura. --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:2268 ++#: ncrypt/crypt_gpgme.c:2307 + #, c-format + msgid "" + "[-- Error: decryption failed: %s --]\n" +@@ -4249,23 +4325,28 @@ msgstr "" + "[-- Error: El desxifratge ha fallat: %s --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:2821 ++#: ncrypt/crypt_gpgme.c:2860 + #, fuzzy, c-format + msgid "Error importing key: %s" + msgstr "Error en importar la clau: %s\n" + +-#: ncrypt/crypt_gpgme.c:3059 ++#: ncrypt/crypt_gpgme.c:3098 + #, c-format + msgid "Error: decryption/verification failed: %s\n" + msgstr "Error: El desxifratge o verificació ha fallat: %s\n" + +-#: ncrypt/crypt_gpgme.c:3103 ++#: ncrypt/crypt_gpgme.c:3105 ncrypt/crypt_gpgme.c:3302 ncrypt/pgp.c:726 ++#: ncrypt/pgp.c:1273 ++msgid "PGP message successfully decrypted" ++msgstr "S’ha pogut desxifrar amb èxit el missatge PGP" ++ ++#: ncrypt/crypt_gpgme.c:3146 + msgid "Error: copy data failed\n" + msgstr "Error: La còpia de les dades ha fallat.\n" + + # Aquests texts en majúscules reprodueixen els marcadors dels fitxers PGP, + # així que no té molt de sentit mantenir les majúscules en la traducció. ivb +-#: ncrypt/crypt_gpgme.c:3116 ncrypt/pgp.c:675 ++#: ncrypt/crypt_gpgme.c:3159 ncrypt/pgp.c:674 + msgid "" + "[-- BEGIN PGP MESSAGE --]\n" + "\n" +@@ -4273,11 +4354,11 @@ msgstr "" + "[-- Inici del missatge PGP. --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3118 ncrypt/pgp.c:677 ++#: ncrypt/crypt_gpgme.c:3161 ncrypt/pgp.c:676 + msgid "[-- BEGIN PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- Inici del bloc de clau pública PGP. --]\n" + +-#: ncrypt/crypt_gpgme.c:3120 ncrypt/pgp.c:679 ++#: ncrypt/crypt_gpgme.c:3163 ncrypt/pgp.c:678 + msgid "" + "[-- BEGIN PGP SIGNED MESSAGE --]\n" + "\n" +@@ -4285,19 +4366,19 @@ msgstr "" + "[-- Inici del missatge PGP signat. --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3145 ncrypt/pgp.c:716 ++#: ncrypt/crypt_gpgme.c:3188 ncrypt/pgp.c:715 + msgid "[-- END PGP MESSAGE --]\n" + msgstr "[-- Final del missatge PGP. --]\n" + +-#: ncrypt/crypt_gpgme.c:3147 ncrypt/pgp.c:730 ++#: ncrypt/crypt_gpgme.c:3190 ncrypt/pgp.c:729 + msgid "[-- END PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- Final del bloc de clau pública PGP. --]\n" + +-#: ncrypt/crypt_gpgme.c:3149 ncrypt/pgp.c:732 ++#: ncrypt/crypt_gpgme.c:3192 ncrypt/pgp.c:731 + msgid "[-- END PGP SIGNED MESSAGE --]\n" + msgstr "[-- Final del missatge PGP signat. --]\n" + +-#: ncrypt/crypt_gpgme.c:3170 ncrypt/pgp.c:765 ++#: ncrypt/crypt_gpgme.c:3213 ncrypt/pgp.c:764 + msgid "" + "[-- Error: could not find beginning of PGP message --]\n" + "\n" +@@ -4305,11 +4386,11 @@ msgstr "" + "[-- Error: No s’ha trobat l’inici del missatge PGP. --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3198 ncrypt/crypt_gpgme.c:3296 ncrypt/pgp.c:1218 ++#: ncrypt/crypt_gpgme.c:3241 ncrypt/crypt_gpgme.c:3339 ncrypt/pgp.c:1218 + msgid "[-- Error: could not create temporary file --]\n" + msgstr "[-- Error: No s’ha pogut crear un fitxer temporal. --]\n" + +-#: ncrypt/crypt_gpgme.c:3212 ++#: ncrypt/crypt_gpgme.c:3255 + msgid "" + "[-- The following data is PGP/MIME signed and encrypted --]\n" + "\n" +@@ -4317,7 +4398,7 @@ msgstr "" + "[-- Les dades següents es troben signades i xifrades amb PGP/MIME: --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3214 ncrypt/pgp.c:1231 ++#: ncrypt/crypt_gpgme.c:3257 ncrypt/pgp.c:1232 + msgid "" + "[-- The following data is PGP/MIME encrypted --]\n" + "\n" +@@ -4325,24 +4406,20 @@ msgstr "" + "[-- Les dades següents es troben xifrades amb PGP/MIME: --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3254 ++#: ncrypt/crypt_gpgme.c:3297 + msgid "[-- End of PGP/MIME signed and encrypted data --]\n" + msgstr "[-- Final de les dades signades i xifrades amb PGP/MIME. --]\n" + +-#: ncrypt/crypt_gpgme.c:3255 ncrypt/pgp.c:1267 ++#: ncrypt/crypt_gpgme.c:3298 ncrypt/pgp.c:1268 + msgid "[-- End of PGP/MIME encrypted data --]\n" + msgstr "[-- Final de les dades xifrades amb PGP/MIME. --]\n" + +-#: ncrypt/crypt_gpgme.c:3259 ncrypt/pgp.c:727 ncrypt/pgp.c:1272 +-msgid "PGP message successfully decrypted" +-msgstr "S’ha pogut desxifrar amb èxit el missatge PGP" +- +-#: ncrypt/crypt_gpgme.c:3265 ncrypt/pgp.c:666 ncrypt/pgp.c:718 +-#: ncrypt/pgp.c:1276 ++#: ncrypt/crypt_gpgme.c:3308 ncrypt/pgp.c:665 ncrypt/pgp.c:717 ++#: ncrypt/pgp.c:1277 + msgid "Could not decrypt PGP message" + msgstr "No s’ha pogut desxifrar el missatge PGP." + +-#: ncrypt/crypt_gpgme.c:3310 ++#: ncrypt/crypt_gpgme.c:3353 + msgid "" + "[-- The following data is S/MIME signed --]\n" + "\n" +@@ -4350,7 +4427,7 @@ msgstr "" + "[-- Les dades següents es troben signades amb S/MIME: --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3311 ++#: ncrypt/crypt_gpgme.c:3354 + msgid "" + "[-- The following data is S/MIME encrypted --]\n" + "\n" +@@ -4358,39 +4435,39 @@ msgstr "" + "[-- Les dades següents es troben xifrades amb S/MIME: --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3358 ++#: ncrypt/crypt_gpgme.c:3401 + msgid "[-- End of S/MIME signed data --]\n" + msgstr "[-- Final de les dades signades amb S/MIME. --]\n" + +-#: ncrypt/crypt_gpgme.c:3359 ++#: ncrypt/crypt_gpgme.c:3402 + msgid "[-- End of S/MIME encrypted data --]\n" + msgstr "[-- Final de les dades xifrades amb S/MIME. --]\n" + + # Cal mantenir-lo curt (porta al davant «Nom ..................: »). ivb +-#: ncrypt/crypt_gpgme.c:4029 ++#: ncrypt/crypt_gpgme.c:4077 + msgid "[Can't display this user ID (unknown encoding)]" + msgstr "[No es mostra l’ID d’usuari (codificació desconeguda).]" + + # Cal mantenir-lo curt (porta al davant «Nom ..................: »). ivb +-#: ncrypt/crypt_gpgme.c:4031 ++#: ncrypt/crypt_gpgme.c:4079 + msgid "[Can't display this user ID (invalid encoding)]" + msgstr "[No es mostra l’ID d’usuari (codificació no vàlida).]" + + # Cal mantenir-lo curt (porta al davant «Nom ..................: »). ivb +-#: ncrypt/crypt_gpgme.c:4036 ++#: ncrypt/crypt_gpgme.c:4084 + msgid "[Can't display this user ID (invalid DN)]" + msgstr "[No es mostra l’ID d’usuari (DN desconegut).]" + + # Es refereix a un identificador d’usuari. ivb + #. L10N: comes after the Name or aka if the key is invalid + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4150 ncrypt/crypt_gpgme.c:4291 ++#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4339 + msgid "[Invalid]" + msgstr "[No és vàlid]" + + # Tipus de certificat, bits de l’algorisme, tipus d’algorisme. ivb + #. L10N: This is printed after "Key Type: " and looks like this: PGP, 2048 bit RSA +-#: ncrypt/crypt_gpgme.c:4190 ncrypt/crypt_gpgme.c:4331 ++#: ncrypt/crypt_gpgme.c:4238 ncrypt/crypt_gpgme.c:4379 + #, fuzzy, c-format + msgid "%s, %lu bit %s\n" + msgid_plural "%s, %lu bit %s\n" +@@ -4399,104 +4476,104 @@ msgstr[1] "%1$s, %3$s de %2$lu bits\n" + + # Capacitats d’una clau. ivb + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4338 ++#: ncrypt/crypt_gpgme.c:4246 ncrypt/crypt_gpgme.c:4386 + msgid "encryption" + msgstr "xifratge" + +-#: ncrypt/crypt_gpgme.c:4199 ncrypt/crypt_gpgme.c:4205 +-#: ncrypt/crypt_gpgme.c:4339 ncrypt/crypt_gpgme.c:4344 ++#: ncrypt/crypt_gpgme.c:4247 ncrypt/crypt_gpgme.c:4253 ++#: ncrypt/crypt_gpgme.c:4387 ncrypt/crypt_gpgme.c:4392 + msgid ", " + msgstr ", " + + # Capacitats d’una clau. ivb + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4204 ncrypt/crypt_gpgme.c:4343 ++#: ncrypt/crypt_gpgme.c:4252 ncrypt/crypt_gpgme.c:4391 + msgid "signing" + msgstr "signatura" + + # Capacitats d’una clau. ivb + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4210 ncrypt/crypt_gpgme.c:4348 ++#: ncrypt/crypt_gpgme.c:4258 ncrypt/crypt_gpgme.c:4396 + msgid "certification" + msgstr "certificació" + + # Subclau. ivb + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4285 ++#: ncrypt/crypt_gpgme.c:4333 + msgid "[Revoked]" + msgstr "[Revocada]" + + # Subclau. ivb + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4297 ++#: ncrypt/crypt_gpgme.c:4345 + msgid "[Expired]" + msgstr "[Expirada]" + + # Subclau. ivb + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4303 ++#: ncrypt/crypt_gpgme.c:4351 + msgid "[Disabled]" + msgstr "[Inhabilitada]" + +-#: ncrypt/crypt_gpgme.c:4376 ++#: ncrypt/crypt_gpgme.c:4424 + msgid "Collecting data..." + msgstr "S’estan recollint les dades…" + +-#: ncrypt/crypt_gpgme.c:4394 ++#: ncrypt/crypt_gpgme.c:4442 + #, c-format + msgid "Error finding issuer key: %s\n" + msgstr "Error en trobar la clau del lliurador: %s\n" + +-#: ncrypt/crypt_gpgme.c:4403 ++#: ncrypt/crypt_gpgme.c:4451 + msgid "Error: certification chain too long - stopping here\n" + msgstr "Error: La cadena de certificació és massa llarga, s’abandona aquí.\n" + +-#: ncrypt/crypt_gpgme.c:4413 ncrypt/pgpkey.c:733 ++#: ncrypt/crypt_gpgme.c:4461 ncrypt/pgpkey.c:766 + #, c-format + msgid "Key ID: 0x%s" + msgstr "ID de la clau: 0x%s" + +-#: ncrypt/crypt_gpgme.c:4538 ncrypt/crypt_gpgme.c:4589 ++#: ncrypt/crypt_gpgme.c:4586 ncrypt/crypt_gpgme.c:4637 + #, c-format + msgid "gpgme_op_keylist_start failed: %s" + msgstr "Ha fallat gpgme_op_keylist_start(): %s" + +-#: ncrypt/crypt_gpgme.c:4577 ncrypt/crypt_gpgme.c:4619 +-#: ncrypt/crypt_gpgme.c:5355 ++#: ncrypt/crypt_gpgme.c:4625 ncrypt/crypt_gpgme.c:4667 ++#: ncrypt/crypt_gpgme.c:5435 + #, c-format + msgid "gpgme_op_keylist_next failed: %s" + msgstr "Ha fallat gpgme_op_keylist_next(): %s" + +-#: ncrypt/crypt_gpgme.c:4701 ++#: ncrypt/crypt_gpgme.c:4749 + msgid "All matching keys are marked expired/revoked" + msgstr "Totes les claus concordants estan marcades com a expirades o revocades" + + # Aquest menú no està massa poblat. -- ivb +-#: ncrypt/crypt_gpgme.c:4731 ncrypt/pgpkey.c:666 ncrypt/smime.c:551 ++#: ncrypt/crypt_gpgme.c:4779 ncrypt/pgpkey.c:669 ncrypt/smime.c:553 + msgid "Select " + msgstr "Selecciona " + +-#: ncrypt/crypt_gpgme.c:4733 ncrypt/pgpkey.c:668 ++#: ncrypt/crypt_gpgme.c:4781 ncrypt/pgpkey.c:671 + msgid "Check key " + msgstr "Comprova la clau " + + # Darrere va el patró corresponent. ivb +-#: ncrypt/crypt_gpgme.c:4749 ++#: ncrypt/crypt_gpgme.c:4827 + msgid "PGP and S/MIME keys matching" + msgstr "Claus PGP i S/MIME que concordem amb" + + # Darrere va el patró corresponent. ivb +-#: ncrypt/crypt_gpgme.c:4751 ++#: ncrypt/crypt_gpgme.c:4829 + msgid "PGP keys matching" + msgstr "Claus PGP que concordem amb" + + # Darrere va el patró corresponent. ivb +-#: ncrypt/crypt_gpgme.c:4753 ++#: ncrypt/crypt_gpgme.c:4831 + msgid "S/MIME keys matching" + msgstr "Claus S/MIME que concorden amb" + + # Darrere va el patró corresponent. ivb +-#: ncrypt/crypt_gpgme.c:4755 ++#: ncrypt/crypt_gpgme.c:4833 + msgid "keys matching" + msgstr "Claus que concordem amb" + +@@ -4505,26 +4582,26 @@ msgstr "Claus que concordem amb" + #. %1$s is one of the previous four entries. + #. %2$s is an address. + #. e.g. "S/MIME keys matching " +-#: ncrypt/crypt_gpgme.c:4763 ++#: ncrypt/crypt_gpgme.c:4841 + #, c-format + msgid "%s <%s>" + msgstr "%s <%s>" + + # Nom i àlies? ivb + #. L10N: e.g. 'S/MIME keys matching "Michael Elkins".' +-#: ncrypt/crypt_gpgme.c:4768 ++#: ncrypt/crypt_gpgme.c:4846 + #, c-format + msgid "%s \"%s\"" + msgstr "%s «%s»" + +-#: ncrypt/crypt_gpgme.c:4796 ncrypt/pgpkey.c:754 ++#: ncrypt/crypt_gpgme.c:4874 ncrypt/pgpkey.c:787 + msgid "This key can't be used: expired/disabled/revoked" + msgstr "No es pot emprar aquesta clau: es troba expirada, inhabilitada o revocada" + + # ivb (2001/12/08) + # ivb ABREUJAT! + # ivb Aquest ID es troba expirat, inhabilitat o revocat. +-#: ncrypt/crypt_gpgme.c:4810 ncrypt/pgpkey.c:767 ncrypt/smime.c:581 ++#: ncrypt/crypt_gpgme.c:4888 ncrypt/pgpkey.c:800 ncrypt/smime.c:613 + #, fuzzy + msgid "ID is expired/disabled/revoked. Do you really want to use the key?" + msgstr "ID expirat/inhabilitat/revocat. Voleu realment emprar la clau?" +@@ -4532,7 +4609,7 @@ msgstr "ID expirat/inhabilitat/revocat. Voleu realment emprar la clau?" + # ivb (2001/12/08) + # ivb ABREUJAT! + # ivb Aquest ID no és vàlid. +-#: ncrypt/crypt_gpgme.c:4820 ncrypt/pgpkey.c:779 ++#: ncrypt/crypt_gpgme.c:4898 ncrypt/pgpkey.c:812 + #, fuzzy + msgid "ID is not valid. Do you really want to use the key?" + msgstr "L’ID no és vàlid. Voleu realment emprar la clau?" +@@ -4540,7 +4617,7 @@ msgstr "L’ID no és vàlid. Voleu realment emprar la clau?" + # ivb (2001/12/08) + # ivb ABREUJAT! + # ivb Aquest ID només és lleugerament vàlid. +-#: ncrypt/crypt_gpgme.c:4823 ncrypt/pgpkey.c:782 ++#: ncrypt/crypt_gpgme.c:4901 ncrypt/pgpkey.c:815 + #, fuzzy + msgid "ID is only marginally valid. Do you really want to use the key?" + msgstr "L’ID és lleugerament vàlid. Voleu realment emprar la clau?" +@@ -4548,29 +4625,29 @@ msgstr "L’ID és lleugerament vàlid. Voleu realment emprar la clau?" + # ivb (2002/02/02) + # ivb ABREUJAT! (Hei! Hui és 2/2/2!) + # ivb Aquest ID té una validesa indefinida. +-#: ncrypt/crypt_gpgme.c:4831 ncrypt/pgpkey.c:775 ncrypt/smime.c:585 ++#: ncrypt/crypt_gpgme.c:4909 ncrypt/pgpkey.c:808 ncrypt/smime.c:617 + #, fuzzy + msgid "ID has undefined validity. Do you really want to use the key?" + msgstr "L’ID té una validesa indefinida. Voleu realment emprar la clau?" + +-#: ncrypt/crypt_gpgme.c:4911 ncrypt/crypt_gpgme.c:5024 ncrypt/pgpkey.c:1019 +-#: ncrypt/pgpkey.c:1146 ++#: ncrypt/crypt_gpgme.c:4991 ncrypt/crypt_gpgme.c:5104 ncrypt/pgpkey.c:1054 ++#: ncrypt/pgpkey.c:1181 + #, c-format + msgid "Looking for keys matching \"%s\"..." + msgstr "S’estan cercant les claus que concorden amb «%s»…" + +-#: ncrypt/crypt_gpgme.c:5140 ncrypt/pgpkey.c:870 ncrypt/smime.c:924 ++#: ncrypt/crypt_gpgme.c:5220 ncrypt/pgpkey.c:905 ncrypt/smime.c:958 + #, c-format + msgid "No matching keys found for \"%s\"" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5190 ncrypt/pgp.c:1456 ++#: ncrypt/crypt_gpgme.c:5270 ncrypt/pgp.c:1457 + #, c-format + msgid "Use keyID = \"%s\" for %s?" + msgstr "Voleu emprar l’ID de clau «%s» per a %s?" + +-#: ncrypt/crypt_gpgme.c:5238 ncrypt/pgp.c:1505 ncrypt/smime.c:944 +-#: ncrypt/smime.c:1049 ++#: ncrypt/crypt_gpgme.c:5318 ncrypt/pgp.c:1506 ncrypt/smime.c:978 ++#: ncrypt/smime.c:1083 + #, c-format + msgid "Enter keyID for %s: " + msgstr "Entreu l’ID de clau per a %s: " +@@ -4579,15 +4656,15 @@ msgstr "Entreu l’ID de clau per a %s: " + #. mutt_gpgme_select_secret_key() tries to list all secret keys to choose + #. from. This error is displayed if no results were found. + #. +-#: ncrypt/crypt_gpgme.c:5364 ++#: ncrypt/crypt_gpgme.c:5444 + msgid "No secret keys found" + msgstr "No s’ha trobat cap clau secreta" + +-#: ncrypt/crypt_gpgme.c:5398 ncrypt/pgpkey.c:888 ++#: ncrypt/crypt_gpgme.c:5478 ncrypt/pgpkey.c:923 + msgid "Please enter the key ID: " + msgstr "Per favor, entreu l’ID de la clau: " + +-#: ncrypt/crypt_gpgme.c:5411 ++#: ncrypt/crypt_gpgme.c:5491 + #, c-format + msgid "Error exporting key: %s" + msgstr "Error en exportar la clau: %s" +@@ -4595,104 +4672,104 @@ msgstr "Error en exportar la clau: %s" + #. 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. +-#: ncrypt/crypt_gpgme.c:5429 ++#: ncrypt/crypt_gpgme.c:5509 + #, c-format + msgid "PGP Key 0x%s" + msgstr "Clau PGP 0x%s" + +-#: ncrypt/crypt_gpgme.c:5474 ++#: ncrypt/crypt_gpgme.c:5554 + msgid "GPGME: OpenPGP protocol not available" + msgstr "GPGME: El protocol OpenPGP no es troba disponible." + +-#: ncrypt/crypt_gpgme.c:5485 ++#: ncrypt/crypt_gpgme.c:5565 + msgid "GPGME: CMS protocol not available" + msgstr "GPGME: El protocol CMS no es troba disponible." + +-#: ncrypt/crypt_gpgme.c:5536 ++#: ncrypt/crypt_gpgme.c:5616 + msgid "S/MIME (s)ign, sign (a)s, (p)gp, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME: (s)igna, si(g)na com a, (p)gp, (c)lar, no (o)portunista?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5538 ++#: ncrypt/crypt_gpgme.c:5618 + msgid "sapco" + msgstr "sgpco" + +-#: ncrypt/crypt_gpgme.c:5545 ++#: ncrypt/crypt_gpgme.c:5625 + msgid "PGP (s)ign, sign (a)s, s/(m)ime, (c)lear, or (o)ppenc mode off?" + msgstr "PGP: (s)igna, si(g)na com a, s/(m)ime, (c)lar, no (o)portunista?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5547 ++#: ncrypt/crypt_gpgme.c:5627 + msgid "samco" + msgstr "sgmco" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5557 ++#: ncrypt/crypt_gpgme.c:5637 + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME: (x)ifra, (s)igna, si(g)na com a, (a)mbdós, (p)gp, (c)lar, (o)portunista?" + + # (x)ifra, (s)igna, si(g)na com a, (a)mbdós, (p)gp, (c)lar, (o)portunista + # La «f» i la «c» originals s’agafen en el mateix cas en el codi. ivb + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5560 ++#: ncrypt/crypt_gpgme.c:5640 + #, fuzzy + msgid "esabpco" + msgstr "xsgapco" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5566 ++#: ncrypt/crypt_gpgme.c:5646 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime, (c)lear, or (o)ppenc mode?" + msgstr "PGP: (x)ifra, (s)igna, si(g)na com a, (a)mbdós, s/(m)ime, (c)lar, (o)portunista?" + + # (x)ifra, (s)igna, si(g)na com a, (a)mbdós, s/(m)ime, (c)lar, (o)portunista + # La «f» i la «c» originals s’agafen en el mateix cas en el codi. ivb + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5569 ++#: ncrypt/crypt_gpgme.c:5649 + #, fuzzy + msgid "esabmco" + msgstr "xsgamco" + +-#: ncrypt/crypt_gpgme.c:5580 ++#: ncrypt/crypt_gpgme.c:5660 + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp or (c)lear?" + msgstr "S/MIME: (x)ifra, (s)igna, si(g)na com a, (a)mbdós, (p)gp, (c)lar?" + + # (x)ifra, (s)igna, si(g)na com a, (a)mbdós, (p)gp, (c)lar + # La «f» i la «c» originals s’agafen en el mateix cas en el codi. ivb + #. L10N: S/MIME options +-#: ncrypt/crypt_gpgme.c:5582 ++#: ncrypt/crypt_gpgme.c:5662 + #, fuzzy + msgid "esabpc" + msgstr "xsgapc" + +-#: ncrypt/crypt_gpgme.c:5589 ++#: ncrypt/crypt_gpgme.c:5669 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime or (c)lear?" + msgstr "PGP: (x)ifra, (s)igna, si(g)na com a, (a)mbdós, s/(m)ime, (c)lar?" + + # (x)ifra, (s)igna, si(g)na com a, (a)mbdós, s/(m)ime, (c)lar + # La «f» i la «c» originals s’agafen en el mateix cas en el codi. ivb + #. L10N: PGP options +-#: ncrypt/crypt_gpgme.c:5591 ++#: ncrypt/crypt_gpgme.c:5671 + #, fuzzy + msgid "esabmc" + msgstr "xsgamc" + +-#: ncrypt/crypt_gpgme.c:5751 ++#: ncrypt/crypt_gpgme.c:5831 + msgid "Failed to verify sender" + msgstr "No s’ha pogut verificar el remitent." + +-#: ncrypt/crypt_gpgme.c:5754 ++#: ncrypt/crypt_gpgme.c:5834 + msgid "Failed to figure out sender" + msgstr "No s’ha pogut endevinar el remitent." + +-#: ncrypt/pgp.c:108 ++#: ncrypt/pgp.c:107 + msgid "Enter PGP passphrase:" + msgstr "Entreu la frase clau de PGP:" + +-#: ncrypt/pgp.c:595 ++#: ncrypt/pgp.c:594 + msgid "[-- Error: unable to create PGP subprocess --]\n" + msgstr "[-- Error: No s’ha pogut crear el subprocés PGP. --]\n" + +-#: ncrypt/pgp.c:644 ncrypt/pgp.c:926 ncrypt/pgp.c:1086 ++#: ncrypt/pgp.c:643 ncrypt/pgp.c:925 ncrypt/pgp.c:1085 + msgid "" + "[-- End of PGP output --]\n" + "\n" +@@ -4703,15 +4780,15 @@ msgstr "" + #. L10N: You will see this error message if (1) you are decrypting + #. (not encrypting) something and (2) it is a plaintext. So the + #. message does not mean "You failed to encrypt the message." +-#: ncrypt/pgp.c:724 ++#: ncrypt/pgp.c:723 + msgid "PGP message is not encrypted" + msgstr "El missatge PGP no es troba xifrat" + +-#: ncrypt/pgp.c:978 ++#: ncrypt/pgp.c:977 + msgid "Internal error. Please submit a bug report." + msgstr "Error intern. Per favor, informeu d’aquest error." + +-#: ncrypt/pgp.c:1043 ++#: ncrypt/pgp.c:1042 + msgid "" + "[-- Error: could not create a PGP subprocess --]\n" + "\n" +@@ -4719,61 +4796,61 @@ msgstr "" + "[-- Error: No s’ha pogut crear el subprocés PGP. --]\n" + "\n" + +-#: ncrypt/pgp.c:1073 ncrypt/pgp.c:1098 ncrypt/smime.c:2143 postpone.c:757 +-#: postpone.c:785 ++#: ncrypt/pgp.c:1072 ncrypt/pgp.c:1097 ncrypt/smime.c:2177 postpone.c:803 ++#: postpone.c:831 + msgid "Decryption failed" + msgstr "El desxifratge ha fallat" + +-#: ncrypt/pgp.c:1333 ++#: ncrypt/pgp.c:1334 + msgid "Can't open PGP subprocess" + msgstr "No s’ha pogut obrir el subprocés PGP." + +-#: ncrypt/pgp.c:1768 ++#: ncrypt/pgp.c:1770 + msgid "Can't invoke PGP" + msgstr "No s’ha pogut invocar PGP." + + # Ull! La mateixa clau que «en línia». ivb + #. L10N: The next string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1875 ++#: ncrypt/pgp.c:1877 + msgid "PGP/M(i)ME" + msgstr "PGP/M(i)ME" + + # Ull! La mateixa clau que «PGP/MIME». ivb + #. L10N: The previous string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1881 ++#: ncrypt/pgp.c:1883 + msgid "(i)nline" + msgstr "en lín(i)a" + + # Prescindesc de la paraula «format» perquè en reemplaçar-hi les cadenes + # següents la línia esdevé massa llarga. ivb + #. L10N: PGP options (inline) (opportunistic encryption is on) +-#: ncrypt/pgp.c:1893 ++#: ncrypt/pgp.c:1895 + #, c-format + msgid "PGP (s)ign, sign (a)s, %s format, (c)lear, or (o)ppenc mode off?" + msgstr "PGP: (s)igna, si(g)na com a, %s, (c)lar, no (o)portunista?" + + #. L10N: PGP options (inline) (opportunistic encryption is on) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1899 ++#: ncrypt/pgp.c:1901 + msgid "saico" + msgstr "sgico" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1905 ++#: ncrypt/pgp.c:1907 + msgid "PGP (s)ign, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "PGP: (s)igna, si(g)na com a, (c)lar, no (o)portunista?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1907 ++#: ncrypt/pgp.c:1909 + msgid "saco" + msgstr "sgco" + + # Prescindesc de la paraula «format» perquè en reemplaçar-hi les cadenes + # següents la línia esdevé massa llarga. ivb + #. L10N: PGP options (inline) (opportunistic encryption is off) +-#: ncrypt/pgp.c:1921 ++#: ncrypt/pgp.c:1923 + #, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, (c)lear, or (o)ppenc mode?" + msgstr "PGP: (x)ifra, (s)igna, si(g)na com a, (a)mbdós, %s, (c)lar, (o)portunista?" +@@ -4782,20 +4859,20 @@ msgstr "PGP: (x)ifra, (s)igna, si(g)na com a, (a)mbdós, %s, (c)lar, (o)portunis + # La «f» i la «c» originals s’agafen en el mateix cas en el codi. ivb + #. L10N: PGP options (inline) (opportunistic encryption is off) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1927 ++#: ncrypt/pgp.c:1929 + #, fuzzy + msgid "esabico" + msgstr "xsgaico" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1933 ++#: ncrypt/pgp.c:1935 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "PGP: (x)ifra, (s)igna, si(g)na com a, (a)mbdós, (c)lar, (o)portunista?" + + # (x)ifra, (s)igna, si(g)na com a, (a)mbdós, (c)lar, (o)portunista + # La «f» i la «c» originals s’agafen en el mateix cas en el codi. ivb + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1936 ++#: ncrypt/pgp.c:1938 + #, fuzzy + msgid "esabco" + msgstr "xsgaco" +@@ -4803,7 +4880,7 @@ msgstr "xsgaco" + # Prescindesc de la paraula «format» perquè en reemplaçar-hi les cadenes + # següents la línia esdevé massa llarga. ivb + #. L10N: PGP options (inline) +-#: ncrypt/pgp.c:1947 ++#: ncrypt/pgp.c:1949 + #, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, or (c)lear?" + msgstr "PGP: (x)ifra, (s)igna, si(g)na com a, (a)mbdós, %s, (c)lar?" +@@ -4812,54 +4889,54 @@ msgstr "PGP: (x)ifra, (s)igna, si(g)na com a, (a)mbdós, %s, (c)lar?" + # La «f» i la «c» originals s’agafen en el mateix cas en el codi. ivb + #. L10N: PGP options (inline) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1953 ++#: ncrypt/pgp.c:1955 + #, fuzzy + msgid "esabic" + msgstr "xsgaic" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1959 ++#: ncrypt/pgp.c:1961 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (c)lear?" + msgstr "PGP: (x)ifra, (s)igna, si(g)na com a, (a)mbdós, (c)lar?" + + # (x)ifra, (s)igna, si(g)na com a, (a)mbdós, (c)lar + # La «f» i la «c» originals s’agafen en el mateix cas en el codi. ivb + #. L10N: PGP options +-#: ncrypt/pgp.c:1961 ++#: ncrypt/pgp.c:1963 + #, fuzzy + msgid "esabc" + msgstr "xsgac" + +-#: ncrypt/pgpinvoke.c:458 ++#: ncrypt/pgpinvoke.c:461 + msgid "Fetching PGP key..." + msgstr "S’està recollint la clau PGP…" + +-#: ncrypt/pgpkey.c:640 ++#: ncrypt/pgpkey.c:643 + msgid "All matching keys are expired, revoked, or disabled" + msgstr "Totes les claus concordants han expirat o estan revocades o inhabilitades" + + # Una adreça.. ivb +-#: ncrypt/pgpkey.c:681 ++#: ncrypt/pgpkey.c:714 + #, c-format + msgid "PGP keys matching <%s>" + msgstr "Claus PGP que concorden amb <%s>" + + # Un nom. ivb +-#: ncrypt/pgpkey.c:683 ++#: ncrypt/pgpkey.c:716 + #, c-format + msgid "PGP keys matching \"%s\"" + msgstr "Claus PGP que concordem amb «%s»" + +-#: ncrypt/pgpkey.c:700 ncrypt/pgpkey.c:909 ++#: ncrypt/pgpkey.c:733 ncrypt/pgpkey.c:944 + msgid "Can't open /dev/null" + msgstr "No s’ha pogut obrir «/dev/null»." + +-#: ncrypt/pgpkey.c:938 ++#: ncrypt/pgpkey.c:973 + #, c-format + msgid "PGP Key %s" + msgstr "Clau PGP %s" + +-#: ncrypt/smime.c:182 ++#: ncrypt/smime.c:180 + msgid "Enter S/MIME passphrase:" + msgstr "Entreu la frase clau de S/MIME:" + +@@ -4868,7 +4945,7 @@ msgstr "Entreu la frase clau de S/MIME:" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:460 ++#: ncrypt/smime.c:462 + msgid "Expired " + msgstr "Expirat " + +@@ -4877,7 +4954,7 @@ msgstr "Expirat " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:468 ++#: ncrypt/smime.c:470 + msgid "Invalid " + msgstr "No vàlid " + +@@ -4886,7 +4963,7 @@ msgstr "No vàlid " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:476 ++#: ncrypt/smime.c:478 + msgid "Revoked " + msgstr "Revocat " + +@@ -4897,7 +4974,7 @@ msgstr "Revocat " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:484 ++#: ncrypt/smime.c:486 + msgid "Trusted " + msgstr "Confiat " + +@@ -4906,7 +4983,7 @@ msgstr "Confiat " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:492 ++#: ncrypt/smime.c:494 + msgid "Unverified" + msgstr "No verificat" + +@@ -4915,7 +4992,7 @@ msgstr "No verificat" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:500 ++#: ncrypt/smime.c:502 + msgid "Verified " + msgstr "Verficat " + +@@ -4924,11 +5001,11 @@ msgstr "Verficat " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:508 ++#: ncrypt/smime.c:510 + msgid "Unknown " + msgstr "Desconegut " + +-#: ncrypt/smime.c:545 ++#: ncrypt/smime.c:547 + #, c-format + msgid "S/MIME certificates matching \"%s\"" + msgstr "Certificats S/MIME que concorden amb «%s»" +@@ -4936,53 +5013,53 @@ msgstr "Certificats S/MIME que concorden amb «%s»" + # ivb (2015/08/29) + # ivb ABREUJAT! + # ivb Aquest ID no és de confiança. +-#: ncrypt/smime.c:589 ++#: ncrypt/smime.c:621 + #, fuzzy + msgid "ID is not trusted. Do you really want to use the key?" + msgstr "L’ID no és de confiança. Voleu realment emprar la clau?" + +-#: ncrypt/smime.c:910 ++#: ncrypt/smime.c:944 + msgid "Enter keyID: " + msgstr "Entreu l’ID de clau: " + +-#: ncrypt/smime.c:1055 ++#: ncrypt/smime.c:1089 + #, c-format + msgid "No (valid) certificate found for %s" + msgstr "No s’ha trobat cap certificat (vàlid) per a %s" + +-#: ncrypt/smime.c:1108 ncrypt/smime.c:1137 ncrypt/smime.c:1209 +-#: ncrypt/smime.c:1243 ncrypt/smime.c:1319 ncrypt/smime.c:1399 ++#: ncrypt/smime.c:1142 ncrypt/smime.c:1171 ncrypt/smime.c:1243 ++#: ncrypt/smime.c:1277 ncrypt/smime.c:1353 ncrypt/smime.c:1433 + msgid "Error: unable to create OpenSSL subprocess" + msgstr "Error: No s’ha pogut crear el subprocés OpenSSL." + +-#: ncrypt/smime.c:1379 ++#: ncrypt/smime.c:1413 + msgid "Label for certificate: " + msgstr "Etiqueta per al certificat: " + + # Hau! ivb +-#: ncrypt/smime.c:1480 ++#: ncrypt/smime.c:1514 + msgid "no certfile" + msgstr "No hi ha fitxer de certificat." + + # Hau! ivb +-#: ncrypt/smime.c:1483 ++#: ncrypt/smime.c:1517 + msgid "no mbox" + msgstr "No hi ha bústia." + +-#: ncrypt/smime.c:1640 ncrypt/smime.c:1810 ++#: ncrypt/smime.c:1674 ncrypt/smime.c:1844 + msgid "No output from OpenSSL..." + msgstr "OpenSSL no ha produit cap eixida…" + + # Encara no s’ha signat. ivb +-#: ncrypt/smime.c:1727 ++#: ncrypt/smime.c:1761 + msgid "Can't sign: No key specified. Use Sign As." + msgstr "No es pot signar: no s’ha indicat cap clau. Empreu «signa com a»." + +-#: ncrypt/smime.c:1777 ++#: ncrypt/smime.c:1811 + msgid "Can't open OpenSSL subprocess" + msgstr "No s’ha pogut obrir el subprocés OpenSSL." + +-#: ncrypt/smime.c:2004 ncrypt/smime.c:2123 ++#: ncrypt/smime.c:2038 ncrypt/smime.c:2157 + msgid "" + "[-- End of OpenSSL output --]\n" + "\n" +@@ -4990,19 +5067,19 @@ msgstr "" + "[-- Final de l’eixida d’OpenSSL. --]\n" + "\n" + +-#: ncrypt/smime.c:2080 ncrypt/smime.c:2093 ++#: ncrypt/smime.c:2114 ncrypt/smime.c:2127 + msgid "[-- Error: unable to create OpenSSL subprocess --]\n" + msgstr "[-- Error: No s’ha pogut crear el subprocés OpenSSL. --]\n" + +-#: ncrypt/smime.c:2129 ++#: ncrypt/smime.c:2163 + msgid "[-- The following data is S/MIME encrypted --]\n" + msgstr "[-- Les dades següents es troben xifrades amb S/MIME: --]\n" + +-#: ncrypt/smime.c:2132 ++#: ncrypt/smime.c:2166 + msgid "[-- The following data is S/MIME signed --]\n" + msgstr "[-- Les dades següents es troben signades amb S/MIME: --]\n" + +-#: ncrypt/smime.c:2225 ++#: ncrypt/smime.c:2259 + msgid "" + "\n" + "[-- End of S/MIME encrypted data. --]\n" +@@ -5010,7 +5087,7 @@ msgstr "" + "\n" + "[-- Final de les dades xifrades amb S/MIME. --]\n" + +-#: ncrypt/smime.c:2227 ++#: ncrypt/smime.c:2261 + msgid "" + "\n" + "[-- End of S/MIME signed data. --]\n" +@@ -5019,30 +5096,30 @@ msgstr "" + "[-- Final de les dades signades amb S/MIME. --]\n" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2361 ++#: ncrypt/smime.c:2395 + msgid "S/MIME (s)ign, encrypt (w)ith, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME: (s)igna, xi(f)ra amb, si(g)na com a, (c)lar, no (o)portunista?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2364 ++#: ncrypt/smime.c:2398 + msgid "swaco" + msgstr "sfgco" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2372 ++#: ncrypt/smime.c:2406 + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME: (x)ifra, (s)igna, xi(f)ra amb, si(g)na com a, (a)mbdós, (c)lar, (o)portunista?" + + # (x)ifra, (s)igna, xi(f)ra amb, si(g)na com a, (a)mbdós, (c)lar, (o)portunista + # La «f» i la «c» originals s’agafen en el mateix cas en el codi. ivb + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2375 ++#: ncrypt/smime.c:2409 + #, fuzzy + msgid "eswabco" + msgstr "xsfgaco" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2382 ++#: ncrypt/smime.c:2416 + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, or (c)lear?" + msgstr "S/MIME: (x)ifra, (s)igna, xi(f)ra amb, si(g)na com a, (a)mbdós, (c)lar?" + +@@ -5050,142 +5127,142 @@ msgstr "S/MIME: (x)ifra, (s)igna, xi(f)ra amb, si(g)na com a, (a)mbdós, (c)lar? + # ivb (x)ifra, (s)igna, xi(f)ra amb, si(g)na com a, (a)mbdós, (c)lar + # La «f» i la «c» originals s’agafen en el mateix cas en el codi. ivb + #. L10N: S/MIME options +-#: ncrypt/smime.c:2385 ++#: ncrypt/smime.c:2419 + #, fuzzy + msgid "eswabc" + msgstr "xsfgac" + +-#: ncrypt/smime.c:2449 ++#: ncrypt/smime.c:2483 + msgid "Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear?" + msgstr "Trieu la família d’algorismes: (1) DES, (2) RC2, (3) AES, (c)lar?" + + #. L10N: Options for: Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear? +-#: ncrypt/smime.c:2452 ++#: ncrypt/smime.c:2486 + msgid "123c" + msgstr "123c" + +-#: ncrypt/smime.c:2455 ++#: ncrypt/smime.c:2489 + msgid "(1) DES, (2) Triple-DES?" + msgstr "(1) DES, (2) DES triple?" + + #. L10N: Options for: (1) DES, (2) Triple-DES +-#: ncrypt/smime.c:2457 ++#: ncrypt/smime.c:2491 + msgid "12" + msgstr "12" + +-#: ncrypt/smime.c:2470 ++#: ncrypt/smime.c:2504 + msgid "(1) RC2-40, (2) RC2-64, (3) RC2-128?" + msgstr "(1) RC2-40, (2) RC2-64, (3) RC2-128?" + + #. L10N: Options for: (1) RC2-40, (2) RC2-64, (3) RC2-128 + #. L10N: Options for: (1) AES128, (2) AES192, (3) AES256 +-#: ncrypt/smime.c:2472 ncrypt/smime.c:2490 ++#: ncrypt/smime.c:2506 ncrypt/smime.c:2524 + msgid "123" + msgstr "123" + +-#: ncrypt/smime.c:2488 ++#: ncrypt/smime.c:2522 + msgid "(1) AES128, (2) AES192, (3) AES256?" + msgstr "(1) AES128, (2) AES192, (3) AES256?" + +-#: nntp/newsrc.c:632 ++#: nntp/newsrc.c:639 + msgid "Loading list of groups from cache..." + msgstr "" + +-#: nntp/newsrc.c:997 ++#: nntp/newsrc.c:1023 + msgid "No news server defined" + msgstr "" + +-#: nntp/newsrc.c:1012 ++#: nntp/newsrc.c:1041 + #, fuzzy, c-format + msgid "%s is an invalid news server specification" + msgstr "«%s» no és un camí POP vàlid." + +-#: nntp/nntp.c:236 nntp/nntp.c:777 pop/pop.c:742 pop/pop_lib.c:398 ++#: nntp/nntp.c:238 nntp/nntp.c:779 pop/pop.c:742 pop/pop_lib.c:424 + msgid "Server closed connection" + msgstr "El servidor ha tancat la connexió." + +-#: nntp/nntp.c:340 ++#: nntp/nntp.c:342 + #, fuzzy + msgid "Server doesn't support reader mode" + msgstr "El servidor SMTP no admet autenticació" + +-#: nntp/nntp.c:576 pop/pop_auth.c:504 smtp.c:650 ++#: nntp/nntp.c:578 pop/pop_auth.c:505 smtp.c:675 + msgid "No authenticators available" + msgstr "No hi ha cap autenticador disponible." + +-#: nntp/nntp.c:766 ++#: nntp/nntp.c:768 + #, fuzzy, c-format + msgid "%s authentication failed" + msgstr "L’autenticació SASL ha fallat" + +-#: nntp/nntp.c:826 ++#: nntp/nntp.c:828 + #, fuzzy, c-format + msgid "Connection to %s lost. Reconnect?" + msgstr "S’ha tancat la connexió amb «%s»." + +-#: nntp/nntp.c:1285 ++#: nntp/nntp.c:1287 + #, fuzzy + msgid "Fetching list of articles..." + msgstr "S’està recollint la llista de missatges…" + +-#: nntp/nntp.c:1549 nntp/nntp.c:2138 pop/pop.c:614 pop/pop.c:910 ++#: nntp/nntp.c:1551 nntp/nntp.c:2140 pop/pop.c:614 pop/pop.c:905 + msgid "Checking for new messages..." + msgstr "S’està comprovant si hi ha missatges nous…" + +-#: nntp/nntp.c:1864 nntp/nntp.c:1954 ++#: nntp/nntp.c:1866 nntp/nntp.c:1956 + #, fuzzy + msgid "Could not switch to reader mode" + msgstr "No s’ha pogut escriure en una carpeta temporal: %s" + +-#: nntp/nntp.c:1877 ++#: nntp/nntp.c:1879 + #, fuzzy, c-format + msgid "Connected to %s. %s" + msgstr "S’està connectant amb «%s»…" + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + #, fuzzy + msgid "Posting is ok" + msgstr "No hi ha res per fer" + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + msgid "Posting is NOT ok" + msgstr "" + +-#: nntp/nntp.c:2008 nntp/nntp.c:2043 ++#: nntp/nntp.c:2010 nntp/nntp.c:2045 + #, fuzzy, c-format + msgid "Can't post article: %s" + msgstr "Ha fallat stat() sobre «%s»: %s" + +-#: nntp/nntp.c:2064 ++#: nntp/nntp.c:2066 + #, fuzzy, c-format + msgid "Loading list of groups from server %s..." + msgstr "S’estan eliminant missatges del servidor…" + +-#: nntp/nntp.c:2106 nntp/nntp.c:2198 ++#: nntp/nntp.c:2108 nntp/nntp.c:2200 + #, fuzzy + msgid "Loading descriptions..." + msgstr "S’està entrant…" + +-#: nntp/nntp.c:2128 ++#: nntp/nntp.c:2130 + #, fuzzy + msgid "Checking for new newsgroups..." + msgstr "S’està comprovant si hi ha missatges nous…" + +-#: nntp/nntp.c:2332 ++#: nntp/nntp.c:2334 + msgid "Unable to find child articles because server does not support XPAT command" + msgstr "" + +-#: nntp/nntp.c:2437 ++#: nntp/nntp.c:2439 + #, fuzzy, c-format + msgid "%s is an invalid newsgroup specification" + msgstr "«%s» no és un camí POP vàlid." + +-#: nntp/nntp.c:2476 ++#: nntp/nntp.c:2478 + #, c-format + msgid "Newsgroup %s not found on the server" + msgstr "" + +-#: nntp/nntp.c:2498 ++#: nntp/nntp.c:2500 + #, c-format + msgid "Newsgroup %s has been removed from the server" + msgstr "" +@@ -5198,7 +5275,7 @@ msgstr "" + # Es refereix a l’esquema d’URL. ivb + #: notmuch/mutt_notmuch.c:219 notmuch/mutt_notmuch.c:1939 + #, fuzzy, c-format +-msgid "failed to parse notmuch uri: %s" ++msgid "failed to parse notmuch url: %s" + msgstr "No s’ha pogut interpretar l’enllaç de tipus «mailto:».\n" + + #: notmuch/mutt_notmuch.c:449 +@@ -6350,76 +6427,76 @@ msgstr "Mostra o amaga la llista de bústies." + msgid "show S/MIME options" + msgstr "Mostra les opcions de S/MIME." + +-#: pager.c:222 ++#: pager.c:214 + msgid "Not available in this menu" + msgstr "No es troba disponible en aquest menú" + + # ivb (2001/12/08) + # ivb Menú superpoblat: mantenir _molt_ curt! +-#: pager.c:229 ++#: pager.c:221 + msgid "PrevPg" + msgstr "RePàg" + + # ivb (2001/12/08) + # ivb Menú superpoblat: mantenir _molt_ curt! +-#: pager.c:230 ++#: pager.c:222 + msgid "NextPg" + msgstr "AvPàg" + + # ivb (2001/12/08) + # ivb Menú superpoblat: mantenir _molt_ curt! +-#: pager.c:235 ++#: pager.c:227 + msgid "View Attachm." + msgstr "Adjuncs." + + # ivb (2001/12/08) + # ivb Menú superpoblat: mantenir _molt_ curt! +-#: pager.c:238 pager.c:247 ++#: pager.c:230 pager.c:239 + msgid "Next" + msgstr "Segnt." + + #. L10N: Status bar message: the entire email is visible in the pager + #. L10N: Status bar message: all the emails are visible in the index +-#: pager.c:2180 status.c:278 ++#: pager.c:2136 status.c:278 + msgid "all" + msgstr "" + + #. L10N: Status bar message: the end of the email is visible in the pager + #. L10N: Status bar message: the end of the list emails is visible in the index +-#: pager.c:2182 status.c:276 ++#: pager.c:2138 status.c:276 + msgid "end" + msgstr "" + +-#: pager.c:2530 pager.c:2566 pager.c:2602 pager.c:2937 ++#: pager.c:2503 pager.c:2539 pager.c:2576 pager.c:2911 + msgid "Bottom of message is shown" + msgstr "El final del missatge ja és visible" + +-#: pager.c:2543 pager.c:2573 pager.c:2580 pager.c:2590 ++#: pager.c:2516 pager.c:2546 pager.c:2553 pager.c:2564 + msgid "Top of message is shown" + msgstr "L’inici del missatge ja és visible" + +-#: pager.c:2840 ++#: pager.c:2814 + msgid "Help is currently being shown" + msgstr "Ja s’està mostrant l’ajuda" + +-#: pager.c:2897 ++#: pager.c:2871 + msgid "No more quoted text" + msgstr "No hi ha més text citat" + +-#: pager.c:2914 ++#: pager.c:2888 + msgid "No more unquoted text after quoted text" + msgstr "No hi ha més text sense citar després del text citat" + +-#: pattern.c:220 pattern.c:297 pattern.c:1046 ++#: pattern.c:221 pattern.c:298 pattern.c:1085 + #, c-format + msgid "Error in expression: %s" + msgstr "Error a l’expressió: %s" + +-#: pattern.c:226 pattern.c:302 pattern.c:1052 ++#: pattern.c:227 pattern.c:303 pattern.c:1091 + msgid "Empty expression" + msgstr "L’expressió és buida." + +-#: pattern.c:288 ++#: pattern.c:289 + #, fuzzy + msgid "No search command defined" + msgstr "No s’ha definit cap ordre de consulta" +@@ -6427,121 +6504,121 @@ msgstr "No s’ha definit cap ordre de consulta" + # ivb (2001/12/08) + # ivb ABREUJAT! + # ivb S’està invocant l’ordre de visualització automàtica: %s +-#: pattern.c:326 ++#: pattern.c:327 + #, fuzzy, c-format + msgid "Running search command: %s ..." + msgstr "Ordre de visualització automàtica: %s" + +-#: pattern.c:417 ++#: pattern.c:441 pattern.c:456 + #, c-format + msgid "Invalid day of month: %s" + msgstr "El dia del mes no és vàlid: %s" + +-#: pattern.c:431 ++#: pattern.c:446 pattern.c:470 + #, c-format + msgid "Invalid month: %s" + msgstr "El mes no és vàlid: %s" + +-#: pattern.c:534 ++#: pattern.c:573 + #, c-format + msgid "Invalid relative date: %s" + msgstr "La data relativa no és vàlida: %s" + +-#: pattern.c:842 pattern.c:975 ++#: pattern.c:881 pattern.c:1014 + #, fuzzy + msgid "No current message" + msgstr "No hi ha cap missatge no llegit." + +-#: pattern.c:1002 ++#: pattern.c:1041 + msgid "No Context" + msgstr "" + +-#: pattern.c:1125 ++#: pattern.c:1164 + #, fuzzy + msgid "Error opening 'memory stream'" + msgstr "Error en obrir la bústia." + +-#: pattern.c:1171 ++#: pattern.c:1210 + #, fuzzy + msgid "Error re-opening 'memory stream'" + msgstr "Error en obrir la bústia." + +-#: pattern.c:1180 ++#: pattern.c:1219 + #, fuzzy + msgid "Error opening /dev/null" + msgstr "No s’ha pogut obrir «/dev/null»." + +-#: pattern.c:1443 pattern.c:1620 ++#: pattern.c:1482 pattern.c:1662 + #, c-format + msgid "error in pattern at: %s" + msgstr "Error al patró a: %s" + +-#: pattern.c:1476 ++#: pattern.c:1515 + #, c-format + msgid "missing pattern: %s" + msgstr "Manca el patró: %s" + +-#: pattern.c:1494 pattern.c:1593 ++#: pattern.c:1533 pattern.c:1635 + #, c-format + msgid "mismatched parentheses: %s" + msgstr "Els parèntesis no estan aparellats: %s" + +-#: pattern.c:1559 ++#: pattern.c:1598 + #, c-format + msgid "%c: invalid pattern modifier" + msgstr "%c: El modificador de patró no és vàlid." + +-#: pattern.c:1564 ++#: pattern.c:1603 + #, c-format + msgid "%c: not supported in this mode" + msgstr "%c: No es permet en aquest mode." + +-#: pattern.c:1576 ++#: pattern.c:1618 + msgid "missing parameter" + msgstr "Manca un paràmetre." + +-#: pattern.c:1626 ++#: pattern.c:1668 + msgid "empty pattern" + msgstr "El patró és buit." + +-#: pattern.c:2080 pattern.c:2083 ++#: pattern.c:2202 pattern.c:2205 + msgid "error: server custom search only supported with IMAP" + msgstr "" + +-#: pattern.c:2274 ++#: pattern.c:2398 + #, c-format + msgid "error: unknown op %d (report this error)" + msgstr "Error: L’operació %d no és coneguda (informeu d’aquest error)" + +-#: pattern.c:2448 pattern.c:2604 ++#: pattern.c:2572 pattern.c:2728 + msgid "Compiling search pattern..." + msgstr "S’està compilant el patró de cerca…" + +-#: pattern.c:2468 ++#: pattern.c:2592 + msgid "Executing command on matching messages..." + msgstr "S’està executant l’ordre sobre els missatges concordants…" + +-#: pattern.c:2537 ++#: pattern.c:2661 + msgid "No messages matched criteria" + msgstr "No hi ha cap missatge que concorde amb el criteri" + +-#: pattern.c:2641 ++#: pattern.c:2765 + msgid "Searching..." + msgstr "S’està cercant…" + +-#: pattern.c:2655 ++#: pattern.c:2779 + msgid "Search hit bottom without finding match" + msgstr "La cerca ha arribat al final sense trobar cap concordança." + +-#: pattern.c:2666 ++#: pattern.c:2790 + msgid "Search hit top without finding match" + msgstr "La cerca ha arribat a l’inici sense trobar cap concordança." + +-#: pattern.c:2700 ++#: pattern.c:2824 + msgid "Search interrupted" + msgstr "S’ha interromput la cerca" + +-#: pop/pop.c:216 pop/pop_lib.c:234 ++#: pop/pop.c:216 pop/pop_lib.c:259 + msgid "Command TOP is not supported by server" + msgstr "El servidor no permet l’ordre «TOP»" + +@@ -6549,7 +6626,7 @@ msgstr "El servidor no permet l’ordre «TOP»" + msgid "Can't write header to temporary file" + msgstr "No s’ha pogut escriure la capçalera en un fitxer temporal." + +-#: pop/pop.c:420 pop/pop_lib.c:236 ++#: pop/pop.c:420 pop/pop_lib.c:261 + msgid "Command UIDL is not supported by server" + msgstr "El servidor no permet l’ordre «UIDL»" + +@@ -6564,7 +6641,7 @@ msgstr[1] "S’han perdut %d missatges. Proveu de reobrir la bústia." + msgid "POP host is not defined" + msgstr "No s’ha definit el servidor POP (pop_host)" + +-#: pop/pop.c:596 pop/pop.c:825 ++#: pop/pop.c:596 pop/pop.c:790 pop/pop.c:820 + #, c-format + msgid "%s is an invalid POP path" + msgstr "«%s» no és un camí POP vàlid." +@@ -6600,130 +6677,130 @@ msgid_plural "%s [%d of %d messages read]" + msgstr[0] "%s [llegits %d de %d missatges]" + msgstr[1] "%s [llegits %d de %d missatges]" + +-#: pop/pop.c:876 ++#: pop/pop.c:871 + msgid "Fetching list of messages..." + msgstr "S’està recollint la llista de missatges…" + + # No els seleccionats, sinó els marcats per a esborrar. ivb +-#: pop/pop.c:959 ++#: pop/pop.c:954 + msgid "Marking messages deleted..." + msgstr "S’estan marcant els missatges per a esborrar…" + +-#: pop/pop.c:1150 ++#: pop/pop.c:1145 + msgid "Can't write message to temporary file" + msgstr "No s’ha pogut escriure el missatge en un fitxer temporal." + +-#: pop/pop_auth.c:103 ++#: pop/pop_auth.c:104 + msgid "Authenticating (SASL)..." + msgstr "S’està autenticant (SASL)…" + +-#: pop/pop_auth.c:245 ++#: pop/pop_auth.c:246 + msgid "POP timestamp is invalid" + msgstr "La marca horària de POP no és vàlida." + +-#: pop/pop_auth.c:249 ++#: pop/pop_auth.c:250 + msgid "Authenticating (APOP)..." + msgstr "S’està autenticant (APOP)…" + +-#: pop/pop_auth.c:269 ++#: pop/pop_auth.c:270 + msgid "APOP authentication failed" + msgstr "L’autenticació APOP ha fallat" + +-#: pop/pop_auth.c:309 ++#: pop/pop_auth.c:310 + msgid "Command USER is not supported by server" + msgstr "El servidor no permet l’ordre «USER»" + +-#: pop/pop_auth.c:386 ++#: pop/pop_auth.c:387 + msgid "Authentication failed" + msgstr "L’autenticació ha fallat." + +-#: pop/pop_lib.c:78 ++#: pop/pop_lib.c:103 + #, c-format + msgid "Invalid POP URL: %s" + msgstr "L’URL de POP no és vàlid: %s" + +-#: pop/pop_lib.c:232 ++#: pop/pop_lib.c:257 + msgid "Unable to leave messages on server" + msgstr "No s’han pogut deixar els missatges al servidor" + +-#: pop/pop_lib.c:274 ++#: pop/pop_lib.c:300 + #, c-format + msgid "Error connecting to server: %s" + msgstr "Error en connectar amb el servidor: %s" + +-#: pop/pop_lib.c:414 ++#: pop/pop_lib.c:440 + msgid "Closing connection to POP server..." + msgstr "S’està tancant la connexió amb el servidor POP…" + +-#: pop/pop_lib.c:605 ++#: pop/pop_lib.c:631 + msgid "Verifying message indexes..." + msgstr "S’estan verificant els índexs dels missatges…" + + # ivb (2001/12/08) + # ivb ABREUJAT! + # ivb S’ha perdut la connexió. Voleu reconnectar amb el servidor POP? +-#: pop/pop_lib.c:628 ++#: pop/pop_lib.c:654 + msgid "Connection lost. Reconnect to POP server?" + msgstr "S’ha perdut la connexió. Reconnectar amb el servidor POP?" + +-#: postpone.c:229 ++#: postpone.c:260 + msgid "Postponed Messages" + msgstr "Missatges posposats" + +-#: postpone.c:314 postpone.c:326 ++#: postpone.c:348 postpone.c:372 + msgid "No postponed messages" + msgstr "No hi ha cap missatge posposat" + +-#: postpone.c:480 ++#: postpone.c:526 + msgid "Illegal S/MIME header" + msgstr "La capçalera S/MIME no és permesa." + +-#: postpone.c:510 postpone.c:551 postpone.c:560 ++#: postpone.c:556 postpone.c:597 postpone.c:606 + msgid "Illegal crypto header" + msgstr "La capçalera criptogràfica no és permesa." + +-#: postpone.c:644 postpone.c:752 postpone.c:780 ++#: postpone.c:690 postpone.c:798 postpone.c:826 + msgid "Decrypting message..." + msgstr "S’està desxifrant el missatge…" + +-#: query.c:82 ++#: query.c:80 + msgid "New Query" + msgstr "Nova consulta" + +-#: query.c:83 ++#: query.c:81 + msgid "Make Alias" + msgstr "Crea àlies" + +-#: query.c:180 ++#: query.c:178 + msgid "Waiting for response..." + msgstr "S’està esperant una resposta…" + +-#: query.c:362 query.c:400 ++#: query.c:365 query.c:434 + msgid "Query: " + msgstr "Consulta: " + +-#: query.c:370 query.c:407 ++#: query.c:374 query.c:442 + #, c-format + msgid "Query '%s'" + msgstr "Consulta de «%s»" + +-#: query.c:620 query.c:657 ++#: query.c:661 query.c:698 + msgid "Query command not defined" + msgstr "No s’ha definit cap ordre de consulta" + +-#: recvattach.c:93 ++#: recvattach.c:91 + msgid "Pipe" + msgstr "Redirigeix" + +-#: recvattach.c:94 ++#: recvattach.c:92 + msgid "Print" + msgstr "Imprimeix" + +-#: recvattach.c:569 ++#: recvattach.c:571 + msgid "Saving..." + msgstr "S’està desant…" + +-#: recvattach.c:573 recvattach.c:744 recvattach.c:748 ++#: recvattach.c:575 recvattach.c:746 recvattach.c:750 + #, fuzzy, c-format + msgid "Attachment saved" + msgid_plural "%d attachments saved" +@@ -6733,26 +6810,26 @@ msgstr[1] "S’ha desat l’adjunció" + # ivb (2001/12/08) + # ivb ABREUJAT! + # ivb AVÍS. Esteu a punt de sobreescriure «%s»; voleu continuar? +-#: recvattach.c:772 ++#: recvattach.c:774 + #, c-format + msgid "WARNING! You are about to overwrite %s, continue?" + msgstr "AVÍS. Aneu a sobreescriure «%s»; voleu continuar?" + +-#: recvattach.c:790 ++#: recvattach.c:792 + msgid "Attachment filtered" + msgstr "S’ha filtrat l’adjunció" + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Filter through: " + msgstr "Filtra amb: " + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Pipe to: " + msgstr "Redirigeix a: " + + #. L10N: s gets replaced by a MIME type, e.g. "text/plain" or + #. application/octet-stream. +-#: recvattach.c:935 ++#: recvattach.c:937 + #, c-format + msgid "I don't know how to print %s attachments" + msgstr "Es desconeix com imprimir adjuncions de tipus «%s»." +@@ -6760,56 +6837,56 @@ msgstr "Es desconeix com imprimir adjuncions de tipus «%s»." + #. L10N: Although we now the precise number of tagged messages, we + #. do not show it to the user. So feel free to use a "generic + #. plural" as plural translation if your language has one. +-#: recvattach.c:1038 ++#: recvattach.c:1040 + #, fuzzy, c-format + msgid "Print tagged attachment?" + msgid_plural "Print %d tagged attachments?" + msgstr[0] "Voleu imprimir les adjuncions seleccionades?" + msgstr[1] "Voleu imprimir les adjuncions seleccionades?" + +-#: recvattach.c:1039 ++#: recvattach.c:1041 + #, c-format + msgid "Print attachment?" + msgstr "Voleu imprimir l’adjunció?" + +-#: recvattach.c:1123 ++#: recvattach.c:1125 + msgid "Structural changes to decrypted attachments are not supported" + msgstr "No es permeten els canvis estructurals als adjunts desxifrats." + +-#: recvattach.c:1291 ++#: recvattach.c:1293 + msgid "Can't decrypt encrypted message" + msgstr "No s’ha pogut desxifrar el missatge xifrat." + +-#: recvattach.c:1425 ++#: recvattach.c:1457 + msgid "Attachments" + msgstr "Adjuncions" + +-#: recvattach.c:1465 ++#: recvattach.c:1497 + msgid "There are no subparts to show" + msgstr "No hi ha cap subpart a mostrar." + +-#: recvattach.c:1520 ++#: recvattach.c:1552 + msgid "Can't delete attachment from POP server" + msgstr "No es poden esborrar les adjuncions d’un servidor POP" + +-#: recvattach.c:1529 ++#: recvattach.c:1561 + #, fuzzy + msgid "Can't delete attachment from news server" + msgstr "No es poden esborrar les adjuncions d’un servidor POP" + +-#: recvattach.c:1536 ++#: recvattach.c:1568 + msgid "Deletion of attachments from encrypted messages is unsupported" + msgstr "No es poden esborrar les adjuncions d’un missatge xifrat" + +-#: recvattach.c:1542 ++#: recvattach.c:1574 + msgid "Deletion of attachments from signed messages may invalidate the signature" + msgstr "Esborrar les adjuncions d’un missatge xifrat pot invalidar-ne la signatura" + +-#: recvattach.c:1561 recvattach.c:1578 ++#: recvattach.c:1593 recvattach.c:1610 + msgid "Only deletion of multipart attachments is supported" + msgstr "Només es poden esborrar les adjuncions dels missatges «multipart»" + +-#: recvcmd.c:79 ++#: recvcmd.c:78 + msgid "You may only bounce message/rfc822 parts" + msgstr "Només es poden redirigir parts de tipus «message/rfc822»" + +@@ -6849,7 +6926,7 @@ msgstr "No s’ha pogut crear «%s»" + msgid "Can't find any tagged messages" + msgstr "No s’ha trobat cap missatge marcat" + +-#: recvcmd.c:848 send.c:1073 ++#: recvcmd.c:848 send.c:1072 + msgid "No mailing lists found" + msgstr "No s’ha trobat cap llista de correu." + +@@ -6866,69 +6943,69 @@ msgstr "Encapsular amb MIME les adjuncions marcades no descodificables?" + msgid "You may only compose to sender with message/rfc822 parts" + msgstr "Només es pot redactar al remitent d’una part de tipus «message/rfc822»." + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Append" + msgstr "Afegeix" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Insert" + msgstr "Insereix" + +-#: remailer.c:78 ++#: remailer.c:76 + msgid "OK" + msgstr "Accepta" + +-#: remailer.c:210 ++#: remailer.c:207 + msgid "" + msgstr "" + + # ivb (2001/12/07) + # ivb En aquest cas «mixmaster» és un programa. +-#: remailer.c:586 ++#: remailer.c:617 + msgid "Can't get mixmaster's type2.list" + msgstr "No s’ha pogut obtenir «type2.list» de «mixmaster»." + +-#: remailer.c:612 ++#: remailer.c:673 + msgid "Select a remailer chain" + msgstr "Seleccioneu una cadena de redistribuïdors" + +-#: remailer.c:674 ++#: remailer.c:735 + #, c-format + msgid "Error: %s can't be used as the final remailer of a chain" + msgstr "Error: No es pot emprar «%s» com a redistribuïdor final d’una cadena" + + #. L10N The '%d' here hard-coded to 19 +-#: remailer.c:706 ++#: remailer.c:767 + #, c-format + msgid "Mixmaster chains are limited to %d elements" + msgstr "Les cadenes de Mixmaster estan limitades a %d elements" + +-#: remailer.c:729 ++#: remailer.c:790 + msgid "The remailer chain is already empty" + msgstr "La cadena de redistribuïdors ja és buida" + +-#: remailer.c:739 ++#: remailer.c:800 + msgid "You already have the first chain element selected" + msgstr "Vos trobeu al primer element de la cadena" + +-#: remailer.c:749 ++#: remailer.c:810 + msgid "You already have the last chain element selected" + msgstr "Vos trobeu al darrer element de la cadena" + +-#: remailer.c:792 ++#: remailer.c:856 + msgid "Mixmaster doesn't accept Cc or Bcc headers" + msgstr "No es poden emprar les capçaleres «Cc» i «Bcc» amb Mixmaster" + +-#: remailer.c:817 ++#: remailer.c:881 + msgid "Please set the hostname variable to a proper value when using mixmaster" + msgstr "Per favor, establiu un valor adequat per a «hostname» quan empreu Mixmaster." + +-#: remailer.c:860 ++#: remailer.c:924 + #, c-format + msgid "Error sending message, child exited %d.\n" + msgstr "Error en enviar el missatge, el procés fill ha eixit amb codi %d.\n" + +-#: remailer.c:864 ++#: remailer.c:928 + msgid "Error sending message" + msgstr "Error en enviar el missatge" + +@@ -6961,43 +7038,43 @@ msgstr "Voleu reenviar també les adjuncions?" + # ivb El primer «%s» és una adreça de correu i el segon potser «,...». + #. L10N: Asks whether the user respects the reply-to header. + #. If she says no, neomutt will reply to the from header's address instead. +-#: send.c:793 ++#: send.c:792 + #, c-format + msgid "Reply to %s%s?" + msgstr "Voleu escriure una resposta a %s%s?" + + # ivb (2001/12/07) + # ivb El primer «%s» és una adreça de correu i el segon potser «,...». +-#: send.c:838 ++#: send.c:837 + #, c-format + msgid "Follow-up to %s%s?" + msgstr "Voleu escriure un seguiment a %s%s?" + +-#: send.c:1122 ++#: send.c:1121 + msgid "Include message in reply?" + msgstr "Voleu incloure el missatge a la resposta?" + +-#: send.c:1128 ++#: send.c:1127 + msgid "Including quoted message..." + msgstr "S’hi està incloent el missatge citat…" + +-#: send.c:1137 ++#: send.c:1136 + msgid "Could not include all requested messages" + msgstr "No s’han pogut incloure tots els missatges sol·licitats." + +-#: send.c:1148 ++#: send.c:1147 + msgid "Forward as attachment?" + msgstr "Voleu reenviar com a adjunció?" + +-#: send.c:1153 ++#: send.c:1152 + msgid "Preparing forwarded message..." + msgstr "S’està preparant el missatge a reenviar…" + +-#: send.c:1632 ++#: send.c:1631 + msgid "Fcc to an IMAP mailbox is not supported in batch mode" + msgstr "No es permet la còpia a una bústia IMAP en el mode per lots." + +-#: send.c:1664 send.c:1690 ++#: send.c:1665 send.c:1675 send.c:1701 + msgid "Save attachments in Fcc?" + msgstr "Voleu desar les adjuncions a la bústia de còpia?" + +@@ -7007,7 +7084,7 @@ msgstr "Voleu desar les adjuncions a la bústia de còpia?" + #. (r)etry tries the same mailbox again. + #. alternate (m)ailbox prompts for a different mailbox to try. + #. (s)kip aborts saving. +-#: send.c:1712 ++#: send.c:1723 + #, fuzzy + msgid "Fcc failed. (r)etry, alternate (m)ailbox, or (s)kip?" + msgstr "La còpia a bústia ha fallat; (r)eintentar, (c)anviar de bústia, (s)altar? " +@@ -7015,191 +7092,191 @@ msgstr "La còpia a bústia ha fallat; (r)eintentar, (c)anviar de bústia, (s)al + #. L10N: These correspond to the "Fcc failed" multi-choice prompt + #. (r)etry, alternate (m)ailbox, or (s)kip. + #. Any similarity to famous leaders of the FSF is coincidental. +-#: send.c:1716 ++#: send.c:1727 + msgid "rms" + msgstr "rcs" + + #. L10N: This is the prompt to enter an "alternate (m)ailbox" when the + #. initial Fcc fails. +-#: send.c:1722 ++#: send.c:1733 + msgid "Fcc mailbox" + msgstr "Còpia a bústia" + +-#: send.c:1788 ++#: send.c:1799 + msgid "Can't postpone. $postponed is unset" + msgstr "" + +-#: send.c:1923 ++#: send.c:1934 + msgid "Recall postponed message?" + msgstr "Voleu recuperar un missatge posposat?" + +-#: send.c:2228 ++#: send.c:2239 + msgid "Edit forwarded message?" + msgstr "Voleu editar el missatge a reenviar?" + +-#: send.c:2266 ++#: send.c:2277 + msgid "Abort unmodified message?" + msgstr "Voleu avortar el missatge no modificat?" + +-#: send.c:2268 ++#: send.c:2279 + msgid "Aborted unmodified message" + msgstr "S’avorta el missatge no modificat" + +-#: send.c:2388 ++#: send.c:2399 + msgid "No crypto backend configured. Disabling message security setting." + msgstr "" + +-#: send.c:2427 ++#: send.c:2438 + #, fuzzy + msgid "Article not posted" + msgstr "No s’ha enviat el missatge" + +-#: send.c:2437 ++#: send.c:2448 + msgid "Message postponed" + msgstr "S’ha posposat el missatge" + +-#: send.c:2470 ++#: send.c:2481 + msgid "No subject, abort sending?" + msgstr "No hi ha assumpte; voleu avortar l’enviament?" + +-#: send.c:2474 send.c:2480 ++#: send.c:2485 send.c:2491 + msgid "No subject specified" + msgstr "No s’ha indicat l’assumpte" + +-#: send.c:2486 ++#: send.c:2497 + #, fuzzy + msgid "No newsgroup specified" + msgstr "No s’ha indicat l’assumpte" + +-#: send.c:2496 ++#: send.c:2507 + #, fuzzy + msgid "No attachments, cancel sending?" + msgstr "Edita la codificació de transferència d’una adjunció." + +-#: send.c:2501 ++#: send.c:2512 + msgid "Message contains text matching \"$abort_noattach_regex\". Not sending." + msgstr "" + +-#: send.c:2559 smtp.c:227 ++#: send.c:2570 smtp.c:230 + msgid "Sending message..." + msgstr "S’està enviant el missatge…" + +-#: send.c:2598 ++#: send.c:2609 + msgid "Could not send the message" + msgstr "No s’ha pogut enviar el missatge" + +-#: send.c:2608 ++#: send.c:2619 + msgid "Sending in background" + msgstr "S’està enviant en segon pla" + +-#: send.c:2609 ++#: send.c:2620 + msgid "Article posted" + msgstr "" + +-#: send.c:2610 ++#: send.c:2621 + msgid "Mail sent" + msgstr "S’ha enviat el missatge" + +-#: sendlib.c:567 ++#: sendlib.c:566 + msgid "No boundary parameter found [report this error]" + msgstr "No s’ha trobat el paràmetre «boundary» (informeu d’aquest error)." + +-#: sendlib.c:598 ++#: sendlib.c:597 + #, c-format + msgid "%s no longer exists" + msgstr "«%s» ja no existeix." + +-#: sendlib.c:1056 ++#: sendlib.c:1055 + #, c-format + msgid "%s isn't a regular file" + msgstr "«%s» no és un fitxer ordinari" + +-#: sendlib.c:1223 ++#: sendlib.c:1222 + #, fuzzy + msgid "Could not find any mime.types file." + msgstr "No s’ha pogut enviar el missatge." + +-#: sendlib.c:1314 ++#: sendlib.c:1313 + #, c-format + msgid "Could not open %s" + msgstr "No s’ha pogut obrir «%s»." + +-#: sendlib.c:2864 ++#: sendlib.c:2855 + msgid "$sendmail must be set in order to send mail" + msgstr "$sendmail ha d’estar establerta per a poder enviar correu" + + # ivb (2001/12/08) + # ivb ABREUJAT! + # ivb Error en enviar el missatge, el procés fill ha exit amb codi %d (%s). +-#: sendlib.c:2971 ++#: sendlib.c:2962 + #, c-format + msgid "Error sending message, child exited %d (%s)" + msgstr "Error en enviament, el fill isqué amb codi %d (%s)" + +-#: sendlib.c:2977 ++#: sendlib.c:2969 + msgid "Output of the delivery process" + msgstr "Eixida del procés de repartiment" + +-#: sendlib.c:3157 ++#: sendlib.c:3154 + #, c-format + msgid "Bad IDN %s while preparing resent-from" + msgstr "En preparar «Resent-From»: L’IDN no és vàlid: %s" + +-#: smtp.c:165 ++#: smtp.c:168 + #, c-format + msgid "SMTP session failed: %s" + msgstr "La sessió SMTP fallat: %s" + +-#: smtp.c:222 ++#: smtp.c:225 + #, c-format + msgid "SMTP session failed: unable to open %s" + msgstr "La sessió SMTP fallat: no s’ha pogut obrir «%s»" + +-#: smtp.c:339 ++#: smtp.c:364 + #, c-format + msgid "Invalid SMTP URL: %s" + msgstr "L’URL d’SMTP no és vàlid: %s" + +-#: smtp.c:618 ++#: smtp.c:643 + #, c-format + msgid "SMTP authentication method %s requires SASL" + msgstr "El mètode d’autenticació %s per a SMTP necessita SASL." + +-#: smtp.c:625 ++#: smtp.c:650 + #, c-format + msgid "%s authentication failed, trying next method" + msgstr "L’autenticació %s ha fallat, es provarà amb el mètode següent." + +-#: smtp.c:636 ++#: smtp.c:661 + #, fuzzy + msgid "SMTP authentication requires SASL" + msgstr "L’autenticació GSSAPI ha fallat" + +-#: smtp.c:717 ++#: smtp.c:742 + msgid "SMTP server does not support authentication" + msgstr "El servidor SMTP no admet autenticació." + +-#: smtp.c:756 ++#: smtp.c:781 + msgid "No from address given" + msgstr "No s’ha indicat el remitent (From)." + +-#: smtp.c:821 ++#: smtp.c:846 + msgid "SMTP session failed: read error" + msgstr "La sessió SMTP ha fallat: error de lectura" + +-#: smtp.c:823 ++#: smtp.c:848 + msgid "SMTP session failed: write error" + msgstr "La sessió SMTP ha fallat: error d’escriptura" + +-#: smtp.c:825 ++#: smtp.c:850 + msgid "Invalid server response" + msgstr "La resposta del servidor no és vàlida." + +-#: sort.c:385 ++#: sort.c:387 + msgid "Sorting mailbox..." + msgstr "S’està ordenant la bústia…" + +-#: sort.c:427 ++#: sort.c:429 + msgid "Could not find sorting function [report this bug]" + msgstr "No s’ha pogut trobar la funció d’ordenació (informeu d’aquest error)." + +@@ -7268,11 +7345,50 @@ msgstr "" + "detalls. NeoMutt és programari lliure, i podeu, si voleu, redistribuir‐lo sota\n" + "certes condicions; empreu «mutt -vv» per a obtenir‐ne més detalls.\n" + +-#: version.c:446 ++#: version.c:451 + #, fuzzy + msgid "Default options:" + msgstr "Opcions de compilació:" + +-#: version.c:449 ++#: version.c:454 + msgid "Compile options:" + msgstr "Opcions de compilació:" ++ ++#~ msgid "Error creating autocrypt key: %s\n" ++#~ msgstr "Error en crear la clau d’Autocrypt: %s\n" ++ ++#~ msgid "(c)reate new, or (s)elect existing GPG key? " ++#~ msgstr "(c)rear una nova clau PGP, o (s)eleccionar‐ne una d’existent? " ++ ++#~ msgid "Autocrypt: (e)ncrypt, (c)lear, (a)utomatic? " ++#~ msgstr "Autocrypt: (x)ifra, en (c)lar, (a)utomàtic? " ++ ++#~ msgid "$send_multipart_alternative_filter is not set" ++#~ msgstr "$send_multipart_alternative_filter no està establerta" ++ ++#~ msgid "Generate multipart/alternative content?" ++#~ msgstr "Voleu generar contingut «multipart/alternative»?" ++ ++#~ msgid "Missing mime type from output of \"%s\"!" ++#~ msgstr "Manca el tipus MIME a l’eixida de «%s»" ++ ++#~ msgid "Missing blank line separator from output of \"%s\"!" ++#~ msgstr "Manca la línia en blanc separadora a l’eixida de «%s»" ++ ++#~ msgid "$send_multipart_alternative_filter does not support multipart type generation" ++#~ msgstr "$send_multipart_alternative_filter no permet generar tipus «multipart»" ++ ++#~ msgid "view multipart/alternative" ++#~ msgstr "Mostra la part «multipart/alternative»" ++ ++#~ msgid "view multipart/alternative as text" ++#~ msgstr "Mostra la part «multipart/alternative» com a text" ++ ++#~ msgid "view multipart/alternative using mailcap" ++#~ msgstr "Mostra la part «multipart/alternative» emprant «mailcap»" ++ ++#~ msgid "select a new mailbox from the browser" ++#~ msgstr "Selecciona una nova bústia del llistat" ++ ++#~ msgid "select a new mailbox from the browser in read only mode" ++#~ msgstr "Selecciona una nova bústia en mode de només lectura del llistat" +diff --git a/po/cs.po b/po/cs.po +index 9cbf6eecf..80e4cc282 100644 +--- a/po/cs.po ++++ b/po/cs.po +@@ -19,7 +19,7 @@ msgid "" + msgstr "" + "Project-Id-Version: neomutt-2019-12-07\n" + "Report-Msgid-Bugs-To: neomutt-devel@neomutt.org\n" +-"POT-Creation-Date: 2019-12-06 23:10+0000\n" ++"POT-Creation-Date: 2020-03-09 12:15+0000\n" + "PO-Revision-Date: 2018-03-06 15:18+0100\n" + "Last-Translator: David Sterba \n" + "Language-Team: Czech \n" +@@ -29,16 +29,40 @@ msgstr "" + "Content-Transfer-Encoding: 8bit\n" + "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +-#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:59 browser.c:80 browser.c:90 +-#: mutt_history.c:45 pager.c:228 postpone.c:68 query.c:80 recvattach.c:93 ++msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" ++msgstr "(o)dmítnout, akceptovat pouze (t)eď, akceptovat (v)ždy, pře(s)kočit" ++ ++msgid "roas" ++msgstr "otvs" ++ ++msgid "(r)eject, accept (o)nce, (a)ccept always" ++msgstr "(o)dmítnout, akceptovat pouze (t)eď, akceptovat (v)ždy " ++ ++msgid "roa" ++msgstr "otv" ++ ++msgid "(r)eject, accept (o)nce, (s)kip" ++msgstr "(o)dmítnout, akceptovat pouze (t)eď, pře(s)kočit" ++ ++msgid "ros" ++msgstr "ots" ++ ++msgid "(r)eject, accept (o)nce" ++msgstr "(o)dmítnout, akceptovat pouze (t)eď " ++ ++msgid "ro" ++msgstr "ot" ++ ++#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:58 browser.c:79 browser.c:89 ++#: mutt_history.c:45 pager.c:220 postpone.c:68 query.c:78 recvattach.c:91 + msgid "Exit" + msgstr "Konec" + +-#: addrbook.c:56 index.c:116 index.c:129 pager.c:236 pager.c:246 postpone.c:69 ++#: addrbook.c:56 index.c:112 index.c:125 pager.c:228 pager.c:238 postpone.c:69 + msgid "Del" + msgstr "Smazat" + +-#: addrbook.c:57 index.c:117 index.c:130 postpone.c:70 ++#: addrbook.c:57 index.c:113 index.c:126 postpone.c:70 + msgid "Undel" + msgstr "Obnovit" + +@@ -46,18 +70,18 @@ msgstr "Obnovit" + msgid "Select" + msgstr "Volba" + +-#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:82 browser.c:84 browser.c:96 +-#: compose.c:218 compose.c:230 conn/ssl.c:983 conn/ssl_gnutls.c:691 index.c:122 +-#: index.c:135 mutt_history.c:48 ncrypt/crypt_gpgme.c:4735 ncrypt/pgpkey.c:670 +-#: ncrypt/smime.c:553 pager.c:2326 postpone.c:71 query.c:85 recvattach.c:94 ++#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:81 browser.c:83 browser.c:95 ++#: compose.c:216 compose.c:228 conn/ssl.c:996 conn/ssl_gnutls.c:722 index.c:118 ++#: index.c:131 mutt_history.c:48 ncrypt/crypt_gpgme.c:4783 ncrypt/pgpkey.c:673 ++#: ncrypt/smime.c:555 pager.c:2297 postpone.c:71 query.c:83 recvattach.c:92 + msgid "Help" + msgstr "Nápověda" + +-#: addrbook.c:208 ++#: addrbook.c:238 + msgid "You have no aliases" + msgstr "Nejsou definovány žádné přezdívky" + +-#: addrbook.c:215 ++#: addrbook.c:276 + msgid "Aliases" + msgstr "Přezdívky" + +@@ -66,51 +90,51 @@ msgstr "Přezdívky" + msgid "Alias as: " + msgstr "Přezdívat jako: " + +-#: alias.c:411 ++#: alias.c:414 + msgid "You already have an alias defined with that name" + msgstr "Pro toto jméno je již přezdívka definována" + +-#: alias.c:417 ++#: alias.c:420 + msgid "Warning: This alias name may not work. Fix it?" + msgstr "Pozor: Takto pojmenovaný alias nemusí fungovat, mám to napravit?" + +-#: alias.c:442 ++#: alias.c:445 + msgid "Address: " + msgstr "Adresa: " + +-#: alias.c:453 commands.c:444 compose.c:744 conn/conn_raw.c:152 +-#: conn/conn_raw.c:210 recvcmd.c:232 send.c:228 ++#: alias.c:457 commands.c:450 compose.c:743 conn/conn_raw.c:152 ++#: conn/conn_raw.c:210 recvcmd.c:231 send.c:227 + #, c-format + msgid "Bad IDN: '%s'" + msgstr "Chybné IDN: „%s“" + +-#: alias.c:464 ++#: alias.c:468 + msgid "Personal name: " + msgstr "Vlastní jméno: " + +-#: alias.c:473 ++#: alias.c:477 + #, c-format + msgid "[%s = %s] Accept?" + msgstr "[%s = %s] Přijmout?" + +-#: alias.c:484 recvattach.c:528 recvattach.c:550 recvattach.c:564 +-#: recvattach.c:579 recvattach.c:678 ++#: alias.c:488 recvattach.c:530 recvattach.c:552 recvattach.c:566 ++#: recvattach.c:581 recvattach.c:680 + msgid "Save to file: " + msgstr "Uložit jako: " + +-#: alias.c:503 ++#: alias.c:507 + msgid "Error reading alias file" + msgstr "Chyba při čtení souboru s přezdívkami" + +-#: alias.c:525 ++#: alias.c:529 + msgid "Trouble adding alias" + msgstr "Chyba během přidávání přezdívky" + +-#: alias.c:527 ++#: alias.c:531 + msgid "Alias added" + msgstr "Přezdívka zavedena" + +-#: alias.c:532 ++#: alias.c:536 + msgid "Error seeking in alias file" + msgstr "Chyba při pohybu v souboru s přezdívkami" + +@@ -119,7 +143,7 @@ msgstr "Chyba při pohybu v souboru s přezdívkami" + #. for some reason (e.g. autocrypt, header cache, bcache), but it + #. doesn't exist. The prompt is asking whether to create the directory + #. +-#: autocrypt/autocrypt.c:70 main.c:826 ++#: autocrypt/autocrypt.c:70 main.c:757 + #, c-format + msgid "%s does not exist. Create it?" + msgstr "%s neexistuje. Mám ho vytvořit?" +@@ -128,8 +152,8 @@ msgstr "%s neexistuje. Mám ho vytvořit?" + #. mkdir() on the directory %s failed. The second %s is the + #. error message returned by libc + #. +-#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:830 +-#: nntp/newsrc.c:1069 ++#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:761 ++#: nntp/newsrc.c:1098 + #, c-format + msgid "Can't create %s: %s" + msgstr "%s nelze vytvořit: %s" +@@ -139,7 +163,7 @@ msgstr "%s nelze vytvořit: %s" + #. create $autocrypt_dir and then prompt to create an autocrypt + #. account with this message. + #. +-#: autocrypt/autocrypt.c:156 ++#: autocrypt/autocrypt.c:163 + msgid "Create an initial autocrypt account?" + msgstr "Vytvořit prvotní autocrypt účet?" + +@@ -148,7 +172,7 @@ msgstr "Vytvořit prvotní autocrypt účet?" + #. autocrypt account. This will generate a key and add a record + #. to the database for use in autocrypt operations. + #. +-#: autocrypt/autocrypt.c:180 ++#: autocrypt/autocrypt.c:187 + msgid "Autocrypt account address: " + msgstr "Adresa autocrypt účtu: " + +@@ -157,7 +181,7 @@ msgstr "Adresa autocrypt účtu: " + #. a single address. This is shown if they entered something invalid, + #. nothing, or more than one address for some reason. + #. +-#: autocrypt/autocrypt.c:191 ++#: autocrypt/autocrypt.c:198 + msgid "Please enter a single email address" + msgstr "Prosím zadejte jednu emailovou adresu" + +@@ -166,7 +190,7 @@ msgstr "Prosím zadejte jednu emailovou adresu" + #. if there is already an account in the database with the email address + #. they just entered. + #. +-#: autocrypt/autocrypt.c:208 ++#: autocrypt/autocrypt.c:215 + msgid "That email address already has an autocrypt account" + msgstr "Tato adresa již má autocrypt účet" + +@@ -178,14 +202,14 @@ msgstr "Tato adresa již má autocrypt účet" + #. Otherwise the UI will show encryption is "available" but the user + #. will be required to enable encryption manually. + #. +-#: autocrypt/autocrypt.c:223 ++#: autocrypt/autocrypt.c:230 + msgid "Prefer encryption?" + msgstr "Preferovat šifrovaní?" + + #. L10N: + #. Message displayed after an autocrypt account is successfully created. + #. +-#: autocrypt/autocrypt.c:236 ++#: autocrypt/autocrypt.c:243 + msgid "Autocrypt account creation succeeded" + msgstr "Vytvoření autocrypt účtu proběhlo v pořádku" + +@@ -193,7 +217,7 @@ msgstr "Vytvoření autocrypt účtu proběhlo v pořádku" + #. Error message displayed if creating an autocrypt account failed + #. or was aborted by the user. + #. +-#: autocrypt/autocrypt.c:242 ++#: autocrypt/autocrypt.c:249 + msgid "Autocrypt account creation aborted" + msgstr "Vytvoření autocrypt účtu přerušeno" + +@@ -202,7 +226,7 @@ msgstr "Vytvoření autocrypt účtu přerušeno" + #. to use to encrypt, but it can't find a valid keyid for this address. + #. The message is printed and they are returned to the compose menu. + #. +-#: autocrypt/autocrypt.c:610 autocrypt/autocrypt.c:639 ++#: autocrypt/autocrypt.c:617 autocrypt/autocrypt.c:646 + #, c-format + msgid "No (valid) autocrypt key found for %s" + msgstr "Nebyl nalezen žádný (platný) klíč pro %s" +@@ -214,12 +238,12 @@ msgstr "Nebyl nalezen žádný (platný) klíč pro %s" + #. and used for encryption. + #. If this is answered yes, they will be prompted for a mailbox. + #. +-#: autocrypt/autocrypt.c:903 ++#: autocrypt/autocrypt.c:910 + msgid "Scan a mailbox for autocrypt headers?" + msgstr "Prohledat schránku na autocrypt hlavičky?" + + #. L10N: The prompt for a mailbox to scan for Autocrypt: headers +-#: autocrypt/autocrypt.c:907 ++#: autocrypt/autocrypt.c:914 + msgid "Scan mailbox" + msgstr "Prohledat schránku" + +@@ -230,21 +254,21 @@ msgstr "Prohledat schránku" + #. for a mailbox. This is because this is a one-time operation + #. and I don't want them to accidentally ctrl-g and abort it. + #. +-#: autocrypt/autocrypt.c:927 ++#: autocrypt/autocrypt.c:934 + msgid "Scan another mailbox for autocrypt headers?" + msgstr "Prohledat další schránku na autocrypt hlavičky?" + + #. L10N: Autocrypt Account Menu Help line: + #. create new account + #. +-#: autocrypt/autocrypt_acct_menu.c:63 ++#: autocrypt/autocrypt_acct_menu.c:62 + msgid "Create" + msgstr "Vytvořit" + + #. L10N: Autocrypt Account Menu Help line: + #. delete account + #. +-#: autocrypt/autocrypt_acct_menu.c:67 remailer.c:77 ++#: autocrypt/autocrypt_acct_menu.c:66 remailer.c:75 + msgid "Delete" + msgstr "Smazat" + +@@ -252,9 +276,9 @@ msgstr "Smazat" + #. toggle an account active/inactive + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:74 ++#: autocrypt/autocrypt_acct_menu.c:73 + msgid "Tgl Active" + msgstr "Prep akt" + +@@ -262,17 +286,17 @@ msgstr "Prep akt" + #. toggle "prefer-encrypt" on an account + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:81 +-msgid "Prf Enc" ++#: autocrypt/autocrypt_acct_menu.c:80 ++msgid "Prf Encr" + msgstr "Pref šif" + + #. L10N: + #. Autocrypt Account menu. + #. flag that an account has prefer-encrypt set + #. +-#: autocrypt/autocrypt_acct_menu.c:123 ++#: autocrypt/autocrypt_acct_menu.c:122 + msgid "prefer encrypt" + msgstr "preferovat šifrování" + +@@ -281,7 +305,7 @@ msgstr "preferovat šifrování" + #. flag that an account has prefer-encrypt unset; + #. thus encryption will need to be manually enabled. + #. +-#: autocrypt/autocrypt_acct_menu.c:130 ++#: autocrypt/autocrypt_acct_menu.c:129 + msgid "manual encrypt" + msgstr "šifrovat ručně" + +@@ -289,7 +313,7 @@ msgstr "šifrovat ručně" + #. Autocrypt Account menu. + #. flag that an account is enabled/active + #. +-#: autocrypt/autocrypt_acct_menu.c:138 ++#: autocrypt/autocrypt_acct_menu.c:137 + msgid "active" + msgstr "aktivní" + +@@ -297,12 +321,12 @@ msgstr "aktivní" + #. Autocrypt Account menu. + #. flag that an account is disabled/inactive + #. +-#: autocrypt/autocrypt_acct_menu.c:144 ++#: autocrypt/autocrypt_acct_menu.c:143 + msgid "inactive" + msgstr "neaktivní" + + #. L10N: Autocrypt Account Management Menu title +-#: autocrypt/autocrypt_acct_menu.c:183 ++#: autocrypt/autocrypt_acct_menu.c:182 + msgid "Autocrypt Accounts" + msgstr "Účty autocrypt" + +@@ -310,12 +334,12 @@ msgstr "Účty autocrypt" + #. This error message is displayed if a database update of an + #. account record fails for some odd reason. + #. +-#: autocrypt/autocrypt_acct_menu.c:245 autocrypt/autocrypt_acct_menu.c:259 ++#: autocrypt/autocrypt_acct_menu.c:244 autocrypt/autocrypt_acct_menu.c:258 + msgid "Error updating account record" + msgstr "Chyba při změně nastavení účtu" + + #. L10N: Confirmation message when deleting an autocrypt account +-#: autocrypt/autocrypt_acct_menu.c:302 ++#: autocrypt/autocrypt_acct_menu.c:333 + #, c-format + msgid "Really delete account \"%s\"?" + msgstr "Skutečně chcete smazat účet „%s“?" +@@ -333,7 +357,7 @@ msgstr "Skutečně chcete smazat účet „%s“?" + msgid "Unable to open autocrypt database %s" + msgstr "Nelze otevřít databázi autocrypt %s" + +-#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:774 ++#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:773 + #, c-format + msgid "error creating gpgme context: %s" + msgstr "chyba při vytváření kontextu pro gpgme: %s" +@@ -406,276 +430,227 @@ msgstr "Verze databáze autocrypt je příliš nová" + msgid "Message cache isn't a directory: %s" + msgstr "Cache se zprávami %s není adresářem" + +-#: browser.c:81 ++#: browser.c:80 + msgid "Chdir" + msgstr "Změnit adresář" + +-#: browser.c:82 ++#: browser.c:81 + msgid "Goto" + msgstr "Jít na" + +-#: browser.c:83 browser.c:95 ++#: browser.c:82 browser.c:94 + msgid "Mask" + msgstr "Maska" + +-#: browser.c:91 ++#: browser.c:90 + msgid "List" + msgstr "Seznam" + +-#: browser.c:92 ++#: browser.c:91 + msgid "Subscribe" + msgstr "Přihlásit" + +-#: browser.c:93 ++#: browser.c:92 + msgid "Unsubscribe" + msgstr "Odhlásit" + +-#: browser.c:94 index.c:134 ++#: browser.c:93 index.c:130 + msgid "Catchup" + msgstr "Označit za přečtené" + +-#: browser.c:760 browser.c:1519 browser.c:1758 ++#: browser.c:763 browser.c:1584 browser.c:1825 + #, c-format + msgid "%s is not a directory" + msgstr "%s není adresářem" + +-#: browser.c:1025 ++#: browser.c:1028 + #, c-format + msgid "Subscribed newsgroups" + msgstr "Diskusní skupiny přihlášeny" + +-#: browser.c:1028 ++#: browser.c:1031 + #, c-format + msgid "Newsgroups on server [%s]" + msgstr "Diskusní skupiny na serveru [%s]" + +-#: browser.c:1038 ++#: browser.c:1041 + #, c-format + msgid "Mailboxes [%d]" + msgstr "Schránky [%d]" + +-#: browser.c:1050 ++#: browser.c:1053 + #, c-format + msgid "Subscribed [%s], File mask: %s" + msgstr "Přihlášená schránka [%s], Souborová maska: %s" + +-#: browser.c:1056 ++#: browser.c:1059 + #, c-format + msgid "Directory [%s], File mask: %s" + msgstr "Adresář [%s], Souborová maska: %s" + +-#: browser.c:1113 ++#: browser.c:1116 + msgid "Can't attach a directory" + msgstr "Adresář nelze připojit" + +-#: browser.c:1380 browser.c:1814 browser.c:1959 ++#: browser.c:1445 browser.c:1881 browser.c:2026 + msgid "No files match the file mask" + msgstr "Souborové masce nevyhovuje žádný soubor." + +-#: browser.c:1587 ++#: browser.c:1654 + msgid "Create is only supported for IMAP mailboxes" + msgstr "Vytváření funguje pouze u IMAP schránek." + +-#: browser.c:1609 ++#: browser.c:1676 + msgid "Rename is only supported for IMAP mailboxes" + msgstr "Přejmenování funguje pouze u IMAP schránek." + +-#: browser.c:1630 ++#: browser.c:1697 + msgid "Delete is only supported for IMAP mailboxes" + msgstr "Mazání funguje pouze u IMAP schránek." + +-#: browser.c:1642 ++#: browser.c:1709 + msgid "Can't delete currently selected mailbox" + msgstr "Nelze smazat zvolenou schránku" + +-#: browser.c:1646 ++#: browser.c:1713 + #, c-format + msgid "Really delete mailbox \"%s\"?" + msgstr "Skutečně chcete smazat schránku „%s“?" + +-#: browser.c:1663 ++#: browser.c:1730 + msgid "Mailbox deleted" + msgstr "Schránka byla smazána" + +-#: browser.c:1667 ++#: browser.c:1734 + msgid "Mailbox deletion failed" + msgstr "Odstranění schránky selhalo" + +-#: browser.c:1670 ++#: browser.c:1737 + msgid "Mailbox not deleted" + msgstr "Schránka nebyla smazána" + +-#: browser.c:1697 ++#: browser.c:1764 + msgid "Chdir to: " + msgstr "Nastavit pracovní adresář na: " + +-#: browser.c:1747 browser.c:1808 ++#: browser.c:1814 browser.c:1875 + msgid "Error scanning directory" + msgstr "Chyba při načítání adresáře" + +-#: browser.c:1769 ++#: browser.c:1836 + msgid "File Mask: " + msgstr "Souborová maska: " + + #. L10N: The highlighted letters must match the "Sort" options +-#: browser.c:1831 ++#: browser.c:1898 + msgid "Reverse sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "Obrácené řazení dle (d)ata, (p)ísmena, (v)elikosti či (n)eřadit?" + + #. L10N: The highlighted letters must match the "Reverse Sort" options +-#: browser.c:1834 ++#: browser.c:1901 + msgid "Sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "Řadit dle (d)ata, (p)ísmena, (v)elikosti, popi(s)u, poč(t)u, počtu n(o)vých či (n)eřadit?" + + #. L10N: These must match the highlighted letters from "Sort" and "Reverse Sort" +-#: browser.c:1837 ++#: browser.c:1904 + msgid "dazecwn" + msgstr "dpvston" + +-#: browser.c:1948 ++#: browser.c:2015 + msgid "New file name: " + msgstr "Nové jméno souboru: " + +-#: browser.c:1976 ++#: browser.c:2043 + msgid "Can't view a directory" + msgstr "Adresář nelze zobrazit" + +-#: browser.c:1993 ++#: browser.c:2060 + msgid "Error trying to view file" + msgstr "Chyba při zobrazování souboru" + +-#: browser.c:2079 ++#: browser.c:2146 + #, c-format + msgid "Subscribe pattern: " + msgstr "Přihlásit k odběru zpráv dle vzoru: " + +-#: browser.c:2081 ++#: browser.c:2148 + #, c-format + msgid "Unsubscribe pattern: " + msgstr "Odhlásit odběr zpráv dle vzoru: " + +-#: browser.c:2101 ++#: browser.c:2169 + msgid "No newsgroups match the mask" + msgstr "Masce nevyhovují žádné diskusní skupiny" + +-#: color.c:633 color.c:644 +-#, c-format +-msgid "%s: color not supported by term" +-msgstr "Barvu %s terminál nepodporuje." +- +-#: color.c:652 +-#, c-format +-msgid "%s: no such color" +-msgstr "Barva %s není definována." +- +-#: color.c:717 color.c:740 color.c:751 color.c:842 +-#, c-format +-msgid "%s: no such object" +-msgstr "Objekt %s není definován" +- +-#: color.c:731 color.c:868 color.c:1069 color.c:1098 color.c:1122 color.c:1191 +-#: color.c:1214 hook.c:110 hook.c:124 hook.c:367 hook.c:383 init.c:612 +-#: init.c:620 init.c:709 init.c:1099 init.c:1267 init.c:1871 init.c:1929 +-#: keymap.c:1184 score.c:110 +-#, c-format +-msgid "%s: too few arguments" +-msgstr "příliš málo argumentů pro %s" +- +-#: color.c:1142 +-#, c-format +-msgid "%s: no such attribute" +-msgstr "Atribut %s není definován." +- +-#: color.c:1223 color.c:1329 hook.c:131 hook.c:390 init.c:1123 init.c:2133 +-#: init.c:2611 keymap.c:1116 keymap.c:1289 keymap.c:1442 keymap.c:1506 +-#: mutt_lua.c:483 score.c:119 +-#, c-format +-msgid "%s: too many arguments" +-msgstr "%s: příliš mnoho argumentů" +- +-#: color.c:1244 +-msgid "default colors not supported" +-msgstr "výchozí barvy nejsou podporovány" +- +-#: color.c:1282 +-#, c-format +-msgid "Maximum quoting level is %d" +-msgstr "Maximální úroveň citací je %d" +- +-#: color.c:1319 +-#, c-format +-msgid "%s: invalid number: %s" +-msgstr "%s neplatné číslo: %s" +- + #. L10N: Used for the $crypt_verify_sig prompt +-#: commands.c:230 ++#: commands.c:232 + msgid "Verify signature?" + msgstr "Ověřit podpis?" + +-#: commands.c:257 mbox/mbox.c:1236 ++#: commands.c:259 mbox/mbox.c:1236 + msgid "Could not create temporary file" + msgstr "Dočasný soubor nelze vytvořit" + +-#: commands.c:269 ++#: commands.c:271 + msgid "Can't create display filter" + msgstr "Nelze vytvořit zobrazovací filtr" + +-#: commands.c:302 ++#: commands.c:304 + msgid "Could not copy message" + msgstr "Nelze kopírovat zprávu" + +-#: commands.c:338 ++#: commands.c:340 + msgid "S/MIME signature successfully verified" + msgstr "S/MIME podpis byl úspěšně ověřen" + +-#: commands.c:340 ++#: commands.c:342 + msgid "S/MIME certificate owner does not match sender" + msgstr "Vlastník S/MIME certifikátu není totožný s odesílatelem zprávy" + +-#: commands.c:343 commands.c:353 ++#: commands.c:345 commands.c:355 + msgid "Warning: Part of this message has not been signed" + msgstr "Pozor: Část této zprávy nebyla podepsána" + +-#: commands.c:345 ++#: commands.c:347 + msgid "S/MIME signature could NOT be verified" + msgstr "S/MIME podpis NELZE ověřit" + +-#: commands.c:351 ++#: commands.c:353 + msgid "PGP signature successfully verified" + msgstr "PGP podpis byl úspěšně ověřen" + +-#: commands.c:355 ++#: commands.c:357 + msgid "PGP signature could NOT be verified" + msgstr "PGP podpis NELZE ověřit" + +-#: commands.c:372 compose.c:2116 compress.c:321 curs_lib.c:359 curs_lib.c:646 +-#: index.c:1235 index.c:1285 mutt_attach.c:159 mutt_attach.c:292 pager.c:2460 +-#: sendlib.c:1625 ++#: commands.c:378 compose.c:2187 compress/compress.c:320 gui/curs_lib.c:360 ++#: gui/curs_lib.c:714 index.c:1240 index.c:1290 mutt_attach.c:161 ++#: mutt_attach.c:294 pager.c:2433 sendlib.c:1624 + #, c-format + msgid "Error running \"%s\"" + msgstr "Chyba při běhu programu „%s“" + +-#: commands.c:382 ++#: commands.c:388 + msgid "Command: " + msgstr "Příkaz: " + +-#: commands.c:419 recvcmd.c:191 recvcmd.c:203 ++#: commands.c:425 recvcmd.c:190 recvcmd.c:202 + msgid "Warning: message contains no From: header" + msgstr "Pozor: zpráva neobsahuje hlavičku From:" + +-#: commands.c:425 recvcmd.c:212 ++#: commands.c:431 recvcmd.c:211 + msgid "Bounce message to: " + msgstr "Zaslat kopii zprávy na: " + +-#: commands.c:427 recvcmd.c:214 ++#: commands.c:433 recvcmd.c:213 + msgid "Bounce tagged messages to: " + msgstr "Zaslat kopii označených zpráv na: " + +-#: commands.c:436 recvcmd.c:224 ++#: commands.c:442 recvcmd.c:223 + msgid "Error parsing address" + msgstr "Chyba při zpracování adresy" + +-#: commands.c:455 recvcmd.c:243 ++#: commands.c:461 recvcmd.c:242 + #, c-format + msgid "Bounce message to %s?" + msgid_plural "Bounce messages to %s?" +@@ -683,48 +658,48 @@ msgstr[0] "Zaslat kopii zprávy na %s?" + msgstr[1] "Zaslat kopii zpráv na %s?" + msgstr[2] "Zaslat kopii zpráv na %s?" + +-#: commands.c:470 recvcmd.c:257 ++#: commands.c:476 recvcmd.c:257 + msgid "Message not bounced" + msgid_plural "Messages not bounced" + msgstr[0] "Kopie zprávy nebyla odeslána" + msgstr[1] "Kopie zpráv nebyly odeslány" + msgstr[2] "Kopie zpráv nebyly odeslány" + +-#: commands.c:496 recvcmd.c:276 ++#: commands.c:502 recvcmd.c:276 + msgid "Message bounced" + msgid_plural "Messages bounced" + msgstr[0] "Kopie zprávy byla odeslána" + msgstr[1] "Kopie zpráv byly odeslány" + msgstr[2] "Kopie zpráv byly odeslány" + +-#: commands.c:606 commands.c:642 commands.c:662 ++#: commands.c:612 commands.c:648 commands.c:668 + msgid "Can't create filter process" + msgstr "Filtrovací proces nelze vytvořit" + +-#: commands.c:698 ++#: commands.c:704 + msgid "Pipe to command: " + msgstr "Poslat rourou do příkazu: " + +-#: commands.c:720 ++#: commands.c:726 + msgid "No printing command has been defined" + msgstr "Není definován žádný příkaz pro tisk" + +-#: commands.c:732 ++#: commands.c:738 + msgid "Print message?" + msgstr "Vytisknout zprávu?" + +-#: commands.c:733 ++#: commands.c:739 + msgid "Print tagged messages?" + msgstr "Vytisknout označené zprávy?" + +-#: commands.c:739 ++#: commands.c:745 + msgid "Message printed" + msgid_plural "Messages printed" + msgstr[0] "Zpráva byla vytisknuta" + msgstr[1] "Zprávy byly vytisknuty" + msgstr[2] "Zprávy byly vytisknuty" + +-#: commands.c:742 ++#: commands.c:748 + msgid "Message could not be printed" + msgid_plural "Messages could not be printed" + msgstr[0] "Zprávu nelze vytisknout" +@@ -732,149 +707,313 @@ msgstr[1] "Zprávy nelze vytisknout" + msgstr[2] "Zprávy nelze vytisknout" + + #. L10N: The highlighted letters must match the "Sort" options +-#: commands.c:759 ++#: commands.c:765 + msgid "Rev-Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "Řadit opačně (d)at/(o)d/pří(j)/(v)ěc/(p)ro/v(l)ákno/(n)eseř/veli(k)/(s)kóre/sp(a)m/štít(e)k?" + + #. L10N: The highlighted letters must match the "Rev-Sort" options +-#: commands.c:763 ++#: commands.c:769 + msgid "Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "Řadit (d)at/(o)d/pří(j)/(v)ěc/(p)ro/v(l)ákno/(n)eseř/veli(k)/(s)kóre/sp(a)m/štít(e)k?" + + #. L10N: These must match the highlighted letters from "Sort" and "Rev-Sort" +-#: commands.c:767 ++#: commands.c:773 + msgid "dfrsotuzcpl" + msgstr "dojvplnksae" + +-#: commands.c:831 ++#: commands.c:837 + msgid "Shell command: " + msgstr "Příkaz pro shell: " + +-#: commands.c:1036 ++#: commands.c:1042 + msgid "Decode-save to mailbox" + msgstr "Dekódovat - uložit do schránky" + +-#: commands.c:1036 ++#: commands.c:1042 + msgid "Decode-save tagged to mailbox" + msgstr "Dekódovat - uložit označené do schránky" + +-#: commands.c:1038 ++#: commands.c:1044 + msgid "Decrypt-save to mailbox" + msgstr "Dešifrovat - uložit do schránky" + +-#: commands.c:1038 ++#: commands.c:1044 + msgid "Decrypt-save tagged to mailbox" + msgstr "Dešifrovat - uložit označené do schránky" + + # XXX: Missing space before %s is not a typo +-#: commands.c:1040 ++#: commands.c:1046 + msgid "Save to mailbox" + msgstr "Uložit do schránky" + +-#: commands.c:1040 ++#: commands.c:1046 + msgid "Save tagged to mailbox" + msgstr "Uložit označené do schránky" + +-#: commands.c:1045 ++#: commands.c:1051 + msgid "Decode-copy to mailbox" + msgstr "Dekódovat - zkopírovat do schránky" + +-#: commands.c:1045 ++#: commands.c:1051 + msgid "Decode-copy tagged to mailbox" + msgstr "Dekódovat - zkopírovat označené do schránky" + +-#: commands.c:1047 ++#: commands.c:1053 + msgid "Decrypt-copy to mailbox" + msgstr "Dešifrovat - zkopírovat do schránky" + +-#: commands.c:1047 ++#: commands.c:1053 + msgid "Decrypt-copy tagged to mailbox" + msgstr "Dešifrovat - zkopírovat označené do schránky" + +-#: commands.c:1049 ++#: commands.c:1055 + msgid "Copy to mailbox" + msgstr "Zkopírovat do schránky" + +-#: commands.c:1049 ++#: commands.c:1055 + msgid "Copy tagged to mailbox" + msgstr "Zkopírovat označené do schránky" + +-#: commands.c:1092 ++#: commands.c:1098 + #, c-format + msgid "Copying to %s..." + msgstr "Kopíruji do %s…" + + #. L10N: e.g. "text/plain; charset=UTF-8; ..." +-#: commands.c:1257 ++#: commands.c:1263 + msgid "Content type is too long" + msgstr "Položka „Content-Type“ je příliš dlouhá" + +-#: commands.c:1281 ++#: commands.c:1290 + #, c-format + msgid "Convert to %s upon sending?" + msgstr "Převést při odesílání na %s?" + +-#: commands.c:1292 ++#: commands.c:1301 + #, c-format + msgid "Content-Type changed to %s" + msgstr "Položka „Content-Type“ změněna na %s" + +-#: commands.c:1297 ++#: commands.c:1306 + #, c-format + msgid "Character set changed to %s; not converting" + msgstr "Znaková sada změněna na %s; nepřevádím" + +-#: commands.c:1298 ++#: commands.c:1307 + #, c-format + msgid "Character set changed to %s; converting" + msgstr "Znaková sada změněna na %s; převádím" + +-#: compose.c:99 ++#: command_parse.c:83 command_parse.c:211 command_parse.c:219 ++#: command_parse.c:740 command_parse.c:887 command_parse.c:1491 ++#: command_parse.c:1549 gui/color.c:731 gui/color.c:868 gui/color.c:1069 ++#: gui/color.c:1098 gui/color.c:1122 gui/color.c:1191 gui/color.c:1214 ++#: hook.c:110 hook.c:124 hook.c:372 hook.c:388 keymap.c:1182 score.c:110 ++#, c-format ++msgid "%s: too few arguments" ++msgstr "příliš málo argumentů pro %s" ++ ++#: command_parse.c:394 ++msgid "-group: no group name" ++msgstr "-group: chybí jméno skupiny" ++ ++#: command_parse.c:404 ++msgid "out of arguments" ++msgstr "příliš málo argumentů" ++ ++#: command_parse.c:445 command_parse.c:1372 ++#, c-format ++msgid "Error: Can't build path of '%s'" ++msgstr "Chyba: nelze sestavit cestu k „%s“" ++ ++#: command_parse.c:458 ++#, c-format ++msgid "Error: Cyclic sourcing of configuration file '%s'" ++msgstr "Chyba: zacyklení při vkládání konfiguračního souboru „%s“" ++ ++#: command_parse.c:491 ++#, c-format ++msgid "Error in %s, line %d: %s" ++msgstr "Chyba v %s na řádku %d: %s" ++ ++#: command_parse.c:502 ++#, c-format ++msgid "Warning in %s, line %d: %s" ++msgstr "Varování v %s na řádku %d: %s" ++ ++#: command_parse.c:526 ++#, c-format ++msgid "source: errors in %s" ++msgstr "source: chyby v %s" ++ ++#: command_parse.c:526 ++#, c-format ++msgid "source: reading aborted due to too many errors in %s" ++msgstr "source: čtení přerušeno kvůli velikému množství chyb v %s" ++ ++#: command_parse.c:535 ++#, c-format ++msgid "source: %d warning in %s" ++msgid_plural "source: %d warnings in %s" ++msgstr[0] "source: %d varování v %s" ++msgstr[1] "source: %d varování v %s" ++msgstr[2] "source: %d varování v %s" ++ ++#: command_parse.c:564 ++msgid "alias: no address" ++msgstr "přezdívka: žádná adresa" ++ ++#: command_parse.c:606 ++#, c-format ++msgid "Warning: Bad IDN '%s' in alias '%s'" ++msgstr "Pozor: Neplatné IDN „%s“ v přezdívce „%s“" ++ ++#: command_parse.c:684 ++msgid "attachments: no disposition" ++msgstr "přílohy: chybí dispozice" ++ ++#: command_parse.c:695 ++msgid "Current attachments settings:" ++msgstr "Současné nastavení příloh:" ++ ++#: command_parse.c:725 ++msgid "attachments: invalid disposition" ++msgstr "přílohy: neplatná dispozice" ++ ++#: command_parse.c:764 command_parse.c:1753 command_parse.c:2205 ++#: gui/color.c:1223 gui/color.c:1329 hook.c:131 hook.c:395 keymap.c:1114 ++#: keymap.c:1287 keymap.c:1440 keymap.c:1504 mutt_lua.c:485 score.c:119 ++#, c-format ++msgid "%s: too many arguments" ++msgstr "%s: příliš mnoho argumentů" ++ ++# "%sgroup" is literal ++#: command_parse.c:801 ++#, c-format ++msgid "%sgroup: missing -rx or -addr" ++msgstr "%sgroup: chybí -rx nebo -addr" ++ ++# "%sgroup" is literal ++#: command_parse.c:827 ++#, c-format ++msgid "%sgroup: warning: bad IDN '%s'" ++msgstr "%sgroup: pozor: chybné IDN „%s“" ++ ++#: command_parse.c:898 ++#, c-format ++msgid "Error: %s" ++msgstr "Chyba: %s" ++ ++#: command_parse.c:1065 ++msgid "invalid header field" ++msgstr "neplatná hlavička" ++ ++#: command_parse.c:1331 command_parse.c:1435 ++#, c-format ++msgid "%s: unknown variable" ++msgstr "Proměnná %s není známa." ++ ++#: command_parse.c:1528 ++#, c-format ++msgid "%s is unset" ++msgstr "%s není nastaveno" ++ ++#: command_parse.c:1573 mutt_lua.c:480 ++#, c-format ++msgid "source: error at %s" ++msgstr "source: chyba na %s" ++ ++#: command_parse.c:1581 ++#, c-format ++msgid "source: file %s could not be sourced" ++msgstr "source: soubor %s nelze vložit" ++ ++#: command_parse.c:1604 ++msgid "spam: no matching pattern" ++msgstr "spam: vzoru nic nevyhovuje" ++ ++#: command_parse.c:1606 ++msgid "nospam: no matching pattern" ++msgstr "nospam: vzoru nic nevyhovuje" ++ ++#: command_parse.c:1762 imap/imap.c:1443 ++#, c-format ++msgid "Subscribed to %s" ++msgstr "%s přihlášeno" ++ ++#: command_parse.c:1766 ++#, c-format ++msgid "Could not subscribe to %s" ++msgstr "Nelze přihlásit do %s" ++ ++#: command_parse.c:1774 command_parse.c:2226 ++msgid "No folder specified" ++msgstr "Složka nebyla zadána" ++ ++#: command_parse.c:1943 ++msgid "unattachments: no disposition" ++msgstr "nepřílohy: chybí dispozice" ++ ++#: command_parse.c:1981 ++msgid "unattachments: invalid disposition" ++msgstr "nepřílohy: neplatná dispozice" ++ ++#: command_parse.c:2214 imap/imap.c:1445 ++#, c-format ++msgid "Unsubscribed from %s" ++msgstr "%s odhlášeno" ++ ++#: command_parse.c:2218 ++#, c-format ++msgid "Could not unsubscribe from %s" ++msgstr "Nelze odhlásit odběr %s" ++ ++#: compose.c:97 + msgid "There are no attachments" + msgstr "Nejsou žádné přílohy" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:166 ++#: compose.c:164 + msgid "From: " + msgstr "Od: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:168 send.c:284 ++#: compose.c:166 send.c:284 + msgid "To: " + msgstr "Komu: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:170 send.c:286 ++#: compose.c:168 send.c:286 + msgid "Cc: " + msgstr "Kopie: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:172 send.c:288 ++#: compose.c:170 send.c:288 + msgid "Bcc: " + msgstr "Slepá kopie: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:174 compose.c:1242 send.c:320 ++#: compose.c:172 compose.c:1302 send.c:320 + msgid "Subject: " + msgstr "Předmět: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:176 ++#: compose.c:174 + msgid "Reply-To: " + msgstr "Opověd na: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:178 compose.c:1261 ++#: compose.c:176 compose.c:1321 + msgid "Fcc: " + msgstr "Kopie do souboru: " + + #. L10N: "Mix" refers to the MixMaster chain for anonymous email +-#: compose.c:181 ++#: compose.c:179 + msgid "Mix: " + msgstr "Mix(Master): " + + #. L10N: Compose menu field. Holds "Encrypt", "Sign" related information +-#: compose.c:184 ++#: compose.c:182 + msgid "Security: " + msgstr "Zabezpečení: " + +@@ -885,76 +1024,76 @@ msgstr "Zabezpečení: " + #. it should not be longer than the other compose menu fields. + #. Since it shares the row with "Encrypt with:", it should not be longer + #. than 15-20 character cells. +-#: compose.c:192 ncrypt/crypt_gpgme.c:5602 ncrypt/pgp.c:1974 +-#: ncrypt/smime.c:2395 ++#: compose.c:190 ncrypt/crypt_gpgme.c:5682 ncrypt/pgp.c:1976 ++#: ncrypt/smime.c:2429 + msgid "Sign as: " + msgstr "Podepsat jako: " + + #. L10N: The compose menu autocrypt line +-#: compose.c:195 ++#: compose.c:193 + msgid "Autocrypt: " + msgstr "Autocrypt: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:199 ++#: compose.c:197 + msgid "Newsgroups: " + msgstr "Diskusní sk.:" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:201 ++#: compose.c:199 + msgid "Followup-To: " + msgstr "Followup-To: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:203 ++#: compose.c:201 + msgid "X-Comment-To: " + msgstr "X-Comment-To: " + +-#: compose.c:208 compose.c:224 ++#: compose.c:206 compose.c:222 + msgid "Send" + msgstr "Odeslat" + +-#: compose.c:209 compose.c:225 remailer.c:77 ++#: compose.c:207 compose.c:223 remailer.c:75 + msgid "Abort" + msgstr "Zrušit" + + #. L10N: compose menu help line entry +-#: compose.c:211 ++#: compose.c:209 + msgid "To" + msgstr "Komu" + + #. L10N: compose menu help line entry +-#: compose.c:213 ++#: compose.c:211 + msgid "CC" + msgstr "Kopie" + + #. L10N: compose menu help line entry +-#: compose.c:215 compose.c:227 ++#: compose.c:213 compose.c:225 + msgid "Subj" + msgstr "Věc" + +-#: compose.c:216 compose.c:228 compose.c:1556 ++#: compose.c:214 compose.c:226 compose.c:1616 + msgid "Attach file" + msgstr "Přiložit soubor" + +-#: compose.c:217 compose.c:229 ++#: compose.c:215 compose.c:227 + msgid "Descrip" + msgstr "Popis" + +-#: compose.c:226 ++#: compose.c:224 + msgid "Newsgroups" + msgstr "Skupiny" + + #. L10N: Autocrypt recommendation flag: off. + #. * This is displayed when Autocrypt is turned off. +-#: compose.c:239 compose.c:473 ++#: compose.c:237 compose.c:472 + msgid "Off" + msgstr "Vypnuto" + + # Security: None - Zabezpečení: Žádné + #. L10N: Autocrypt recommendation flag: no. + #. * This is displayed when Autocrypt cannot encrypt to the recipients. +-#: compose.c:242 ++#: compose.c:240 + msgid "No" + msgstr "Žádné" + +@@ -962,7 +1101,7 @@ msgstr "Žádné" + #. * This is displayed when Autocrypt believes encryption should not be used. + #. * This might occur if one of the recipient Autocrypt Keys has not been + #. * used recently, or if the only key available is a Gossip Header key. +-#: compose.c:247 ++#: compose.c:245 + msgid "Discouraged" + msgstr "Nedoporučeno" + +@@ -970,14 +1109,14 @@ msgstr "Nedoporučeno" + #. * This is displayed when Autocrypt believes encryption is possible, but + #. * leaves enabling it up to the sender. Probably because "prefer encrypt" + #. * is not set in both the sender and recipient keys. +-#: compose.c:252 ++#: compose.c:250 + msgid "Available" + msgstr "K dispozici" + + #. L10N: Autocrypt recommendation flag: yes. + #. * This is displayed when Autocrypt would normally enable encryption + #. * automatically. +-#: compose.c:256 ++#: compose.c:254 + msgid "Yes" + msgstr "Ano" + +@@ -987,7 +1126,7 @@ msgstr "Ano" + #. (c)lear sets cleartext. + #. (a)utomatic defers to the recommendation. + #. +-#: compose.c:338 ++#: compose.c:337 + msgid "Autocrypt: (e)ncrypt, (c)lear, (a)utomatic?" + msgstr "Autocrypt: š(i)frovat, vy(m)azat, (a)utomaticky?" + +@@ -995,52 +1134,52 @@ msgstr "Autocrypt: š(i)frovat, vy(m)azat, (a)utomaticky?" + #. The letter corresponding to the compose menu autocrypt prompt + #. (e)ncrypt, (c)lear, (a)utomatic + #. +-#: compose.c:346 ++#: compose.c:345 + msgid "eca" + msgstr "ima" + +-#: compose.c:383 ++#: compose.c:382 + msgid "Not supported" + msgstr "Není podporováno" + +-#: compose.c:390 ++#: compose.c:389 + msgid "Sign, Encrypt" + msgstr "Podepsat, zašifrovat" + +-#: compose.c:395 compose.c:468 ++#: compose.c:394 compose.c:467 + msgid "Encrypt" + msgstr "Zašifrovat" + +-#: compose.c:400 ++#: compose.c:399 + msgid "Sign" + msgstr "Podepsat" + + # Security: None - Zabezpečení: Žádné +-#: compose.c:406 ++#: compose.c:405 + msgid "None" + msgstr "Žádné" + +-#: compose.c:415 ++#: compose.c:414 + msgid " (inline PGP)" + msgstr " (inline PGP)" + +-#: compose.c:417 ++#: compose.c:416 + msgid " (PGP/MIME)" + msgstr " (PGP/MIME)" + +-#: compose.c:420 ++#: compose.c:419 + msgid " (S/MIME)" + msgstr " (S/MIME)" + +-#: compose.c:424 ++#: compose.c:423 + msgid " (OppEnc mode)" + msgstr " (příležitostné šifrování)" + +-#: compose.c:436 compose.c:445 ++#: compose.c:435 compose.c:444 + msgid "" + msgstr "" + +-#: compose.c:452 ++#: compose.c:451 + msgid "Encrypt with: " + msgstr "Zašifrovat pomocí: " + +@@ -1049,11 +1188,11 @@ msgstr "Zašifrovat pomocí: " + #. Displays the output of the recommendation engine + #. (Off, No, Discouraged, Available, Yes) + #. +-#: compose.c:483 ++#: compose.c:482 + msgid "Recommendation: " + msgstr "Doporučení: " + +-#: compose.c:547 ++#: compose.c:546 + msgid "" + msgstr "<řetěz nedefinován>" + +@@ -1064,7 +1203,7 @@ msgstr "<řetěz nedefinován>" + #. The filename is located last to avoid a long path hiding the + #. error message. + #. +-#: compose.c:601 ++#: compose.c:600 + #, c-format + msgid "Attachment #%d no longer exists: %s" + msgstr "Příloha [#%d] %s již neexistuje" +@@ -1076,233 +1215,352 @@ msgstr "Příloha [#%d] %s již neexistuje" + #. The filename is located last to avoid a long path hiding the + #. prompt question. + #. +-#: compose.c:621 ++#: compose.c:620 + #, c-format + msgid "Attachment #%d modified. Update encoding for %s?" + msgstr "Změna v příloze [#%d]. Změnit kódování pro %s?" + +-#: compose.c:716 ++#: compose.c:715 + msgid "-- Attachments" + msgstr "-- Přílohy" + +-#: compose.c:770 ++#: compose.c:769 + msgid "You may not delete the only attachment" + msgstr "Nemůžete smazat jedinou přílohu" + +-#: compose.c:1296 edit.c:538 send.c:2462 ++#: compose.c:1356 edit.c:536 send.c:2473 + #, c-format + msgid "Bad IDN in '%s': '%s'" + msgstr "Neplatné IDN v „%s“: „%s“" + +-#: compose.c:1347 ++#: compose.c:1407 + msgid "Attachment is already at top" + msgstr "Příloha je již na začátku" + +-#: compose.c:1352 compose.c:1368 ++#: compose.c:1412 compose.c:1428 + msgid "The fundamental part can't be moved" + msgstr "Tato základní součást nemůže být přesunuta" + +-#: compose.c:1363 ++#: compose.c:1423 + msgid "Attachment is already at bottom" + msgstr "Příloha je již na konci" + +-#: compose.c:1381 ++#: compose.c:1441 + msgid "Grouping 'alternatives' requires at least 2 tagged messages" + msgstr "Seskupování alternativ vyžaduje alespoň 2 označené zprávy" + +-#: compose.c:1462 ++#: compose.c:1522 + msgid "Grouping 'multilingual' requires at least 2 tagged messages" + msgstr "Seskupování vícejazyčných vyžaduje alespoň 2 označené zprávy" + +-#: compose.c:1475 ++#: compose.c:1535 + msgid "Not all parts have 'Content-Language' set, continue?" + msgstr "Ne všechny části mají nastaveno „Content-Language“, pokračovat?" + +-#: compose.c:1477 ++#: compose.c:1537 + msgid "Not sending this message" + msgstr "Neodesílám tuto zprávu" + +-#: compose.c:1571 ++#: compose.c:1631 + msgid "Attaching selected file..." + msgid_plural "Attaching selected files..." + msgstr[0] "Připojuji zvolený soubor…" + msgstr[1] "Připojuji zvolené soubory…" + msgstr[2] "Připojuji zvolené soubory…" + +-#: compose.c:1585 ++#: compose.c:1645 + #, c-format + msgid "Unable to attach %s" + msgstr "%s nelze připojit" + +-#: compose.c:1606 ++#: compose.c:1666 + msgid "Open mailbox to attach message from" + msgstr "Otevřít schránku, z níž se připojí zpráva" + +-#: compose.c:1616 ++#: compose.c:1676 + msgid "Open newsgroup to attach message from" + msgstr "Otevřít diskusní skupinu, z níž se připojí zpráva" + +-#: compose.c:1667 ++#: compose.c:1730 + #, c-format + msgid "Unable to open mailbox %s" + msgstr "Schránku %s nelze otevřít" + +-#: compose.c:1676 ++#: compose.c:1739 + msgid "No messages in that folder" + msgstr "V této složce nejsou žádné zprávy" + +-#: compose.c:1686 ++#: compose.c:1749 + msgid "Tag the messages you want to attach" + msgstr "Označte zprávy, které chcete připojit" + +-#: compose.c:1715 ++#: compose.c:1785 + msgid "Unable to attach" + msgstr "Nelze připojit" + +-#: compose.c:1752 ++#: compose.c:1822 + msgid "Recoding only affects text attachments" + msgstr "Překódování se týká pouze textových příloh" + +-#: compose.c:1757 ++#: compose.c:1827 + msgid "The current attachment won't be converted" + msgstr "Aktuální příloha nebude převedena" + +-#: compose.c:1759 ++#: compose.c:1829 + msgid "The current attachment will be converted" + msgstr "Aktuální příloha bude převedena" + +-#: compose.c:1831 ++#: compose.c:1901 + msgid "Empty 'Content-Language'" + msgstr "Prázdný „Content-Language“" + +-#: compose.c:1849 ++#: compose.c:1920 + msgid "Invalid encoding" + msgstr "Neplatné kódování" + +-#: compose.c:1871 ++#: compose.c:1942 + msgid "Save a copy of this message?" + msgstr "Uložit kopii této zprávy?" + +-#: compose.c:1924 ++#: compose.c:1995 + msgid "Send attachment with name: " + msgstr "Poslat přílohu pod názvem: " + +-#: compose.c:1939 ++#: compose.c:2010 + msgid "Rename to: " + msgstr "Přejmenovat na: " + + #. L10N: "stat" is a system call. Do "man 2 stat" for more information. +-#: compose.c:1946 editmsg.c:102 editmsg.c:138 sendlib.c:1050 ++#: compose.c:2017 editmsg.c:102 editmsg.c:138 sendlib.c:1049 + #, c-format + msgid "Can't stat %s: %s" + msgstr "Chyba při volání funkce stat pro %s: %s" + +-#: compose.c:1966 ++#: compose.c:2037 + msgid "New file: " + msgstr "Nový soubor: " + +-#: compose.c:1984 ++#: compose.c:2055 + msgid "Content-Type is of the form base/sub" + msgstr "Položka „Content-Type“ je tvaru třída/podtřída" + +-#: compose.c:1991 ++#: compose.c:2062 + #, c-format + msgid "Unknown Content-Type %s" + msgstr "Hodnota %s položky „Content-Type“ je neznámá." + +-#: compose.c:1999 ++#: compose.c:2070 + #, c-format + msgid "Can't create file %s" + msgstr "Soubor %s nelze vytvořit" + +-#: compose.c:2008 ++#: compose.c:2079 + msgid "What we have here is a failure to make an attachment" + msgstr "Vytvoření přílohy se nezdařilo." + +-#: compose.c:2073 ++#: compose.c:2144 + msgid "Save (postpone) draft message?" + msgstr "Uložit zprávu do odložených?" + +-#: compose.c:2133 ++#: compose.c:2204 + msgid "Write message to mailbox" + msgstr "Uložit zprávu do schránky" + +-#: compose.c:2136 ++#: compose.c:2207 + #, c-format + msgid "Writing message to %s ..." + msgstr "Ukládám zprávu do %s…" + +-#: compose.c:2143 ++#: compose.c:2214 + msgid "Message written" + msgstr "Zpráva uložena" + +-#: compose.c:2154 ++#: compose.c:2225 + msgid "No PGP backend configured" + msgstr "Není nakonfigurováno a přeloženo s podporou PGP" + +-#: compose.c:2161 compose.c:2225 ++#: compose.c:2232 compose.c:2296 + msgid "S/MIME already selected. Clear and continue?" + msgstr "Je aktivní S/MIME, zrušit jej a pokračovat?" + +-#: compose.c:2186 ++#: compose.c:2257 + msgid "No S/MIME backend configured" + msgstr "Není nakonfigurováno a přeloženo s podporou S/MIME" + +-#: compose.c:2194 ++#: compose.c:2265 + msgid "PGP already selected. Clear and continue?" + msgstr "Je aktivní PGP, zrušit jej a pokračovat?" + +-#: compress.c:355 compress.c:499 ++#: compress/compress.c:354 compress/compress.c:498 + #, c-format + msgid "Can't append without an append-hook or close-hook : %s" + msgstr "Bez háčku append-hook nebo close-hook nelze připojit: %s" + +-#: compress.c:444 compress.c:511 compress.c:590 compress.c:628 mbox/mbox.c:1208 ++#: compress/compress.c:443 compress/compress.c:510 compress/compress.c:589 ++#: compress/compress.c:627 mbox/mbox.c:1208 + msgid "Unable to lock mailbox" + msgstr "Schránku nelze zamknout" + +-#: compress.c:448 compress.c:518 compress.c:594 ++#: compress/compress.c:447 compress/compress.c:517 compress/compress.c:593 + #, c-format + msgid "Decompressing %s" + msgstr "Dekomprimuje se %s" + +-#: compress.c:457 ++#: compress/compress.c:456 + msgid "Can't identify the contents of the compressed file" + msgstr "Obsah komprimovaného souboru nelze určit" + +-#: compress.c:464 compress.c:539 ++#: compress/compress.c:463 compress/compress.c:538 + #, c-format + msgid "Can't find mailbox ops for mailbox type %d" + msgstr "Pro schránku typu %d nelze nalézt ovladač" + +-#: compress.c:521 ++#: compress/compress.c:520 + #, c-format + msgid "Compress command failed: %s" + msgstr "Kompresní příkaz selhal: %s" + +-#: compress.c:532 ++#: compress/compress.c:531 + msgid "Unsupported mailbox type for appending" + msgstr "U tohoto druhu schránky není připojování podporováno" + +-#: compress.c:618 ++#: compress/compress.c:617 + msgid "Can't sync a compressed file without a close-hook" + msgstr "Bez háčku close-hook nelze komprimovaný soubor synchronizovat" + +-#: compress.c:640 compress.c:692 ++#: compress/compress.c:639 compress/compress.c:691 + #, c-format + msgid "Compressing %s" + msgstr "Komprimuje se %s" + +-#: compress.c:687 ++#: compress/compress.c:686 + #, c-format + msgid "Compressed-appending to %s..." + msgstr "Komprimuje se a připojuje k %s…" + +-#: compress.c:699 editmsg.c:247 ++#: compress/compress.c:698 editmsg.c:247 + #, c-format + msgid "Error. Preserving temporary file: %s" + msgstr "Chyba. Zachovávám dočasný soubor %s." + ++#: config/bool.c:70 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %s" ++msgstr "Chybné relativní datum: %s" ++ ++#: config/bool.c:131 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %ld" ++msgstr "Chybné relativní datum: %s" ++ ++#: config/enum.c:62 ++#, fuzzy, c-format ++msgid "Invalid enum value: %s" ++msgstr "%s neplatné číslo: %s" ++ ++#: config/enum.c:149 ++#, fuzzy, c-format ++msgid "Invalid enum value: %ld" ++msgstr "Neplatná hodnota přepínače %s: „%ld“" ++ ++#: config/long.c:50 ++#, fuzzy, c-format ++msgid "Invalid long: %s" ++msgstr "Neplatný měsíc: %s" ++ ++#: config/long.c:56 config/long.c:114 config/number.c:68 config/number.c:133 ++#, fuzzy, c-format ++msgid "Option %s may not be negative" ++msgstr "Volba %s nemůže být nastavena z pageru" ++ ++#: config/number.c:49 config/sort.c:145 config/string.c:75 config/string.c:159 ++#, fuzzy, c-format ++msgid "Option %s may not be empty" ++msgstr "Volba %s nemůže být nastavena z pageru" ++ ++#: config/number.c:56 ++#, fuzzy, c-format ++msgid "Invalid number: %s" ++msgstr "%s neplatné číslo: %s" ++ ++#: config/number.c:62 ++#, c-format ++msgid "Number is too big: %s" ++msgstr "" ++ ++#: config/number.c:127 ++#, fuzzy, c-format ++msgid "Invalid number: %ld" ++msgstr "%s neplatné číslo: %s" ++ ++#: config/quad.c:69 ++#, fuzzy, c-format ++msgid "Invalid quad value: %s" ++msgstr "Chybné relativní datum: %s" ++ ++#: config/quad.c:133 ++#, fuzzy, c-format ++msgid "Invalid quad value: %ld" ++msgstr "Neplatná hodnota přepínače %s: „%ld“" ++ ++#: config/set.c:102 ++#, c-format ++msgid "No such variable: %s" ++msgstr "" ++ ++#: config/set.c:134 config/set.c:821 ++#, fuzzy, c-format ++msgid "Variable '%s' has an invalid type %d" ++msgstr "Chyba: pro -d je „%s“ neplatná hodnota" ++ ++#: config/set.c:399 config/set.c:463 config/set.c:528 config/set.c:601 ++#: config/set.c:671 config/set.c:744 ++#, fuzzy, c-format ++msgid "Unknown variable '%s'" ++msgstr "Proměnná %s není známa." ++ ++#: config/sort.c:192 ++#, fuzzy, c-format ++msgid "Invalid sort name: %s" ++msgstr "Chybné relativní datum: %s" ++ ++#: config/sort.c:322 ++#, fuzzy, c-format ++msgid "Invalid sort type: %ld" ++msgstr "Chybné relativní datum: %s" ++ ++#. L10N: Example: Username at myhost.com ++#: conn/connaccount.c:61 ++#, c-format ++msgid "Username at %s: " ++msgstr "Uživatelské jméno na %s: " ++ ++#: conn/connaccount.c:117 ++#, c-format ++msgid "Password for %s@%s: " ++msgstr "Heslo pro %s@%s: " ++ ++#. L10N: You will see this error message if (1) you have "oauthbearer" in ++#. one of your $*_authenticators and (2) you do not have the corresponding ++#. $*_oauth_refresh_command defined. So the message does not mean "None of ++#. your $*_oauth_refresh_command's are defined." ++#: conn/connaccount.c:165 ++msgid "No OAUTH refresh command defined" ++msgstr "Není definován příkaz pro obnovení OAUTH" ++ ++#: conn/connaccount.c:173 ++msgid "Unable to run refresh command" ++msgstr "Nezdařilo se provést příkaz obnovení" ++ ++#: conn/connaccount.c:184 ++msgid "Command returned empty string" ++msgstr "Příkaz vrátil prázdný řetězec" ++ ++#: conn/connaccount.c:191 ++#, c-format ++msgid "OAUTH token is too big: %ld" ++msgstr "" ++ + #: conn/conn_raw.c:160 conn/conn_raw.c:218 + #, c-format + msgid "Looking up %s..." +@@ -1323,7 +1581,7 @@ msgstr "Připojuji se k %s…" + msgid "Could not connect to %s (%s)" + msgstr "Spojení s %s nelze navázat (%s)" + +-#: conn/conn_raw.c:260 conn/ssl.c:1230 curs_lib.c:568 mutt_logging.c:149 ++#: conn/conn_raw.c:260 conn/ssl.c:1245 gui/curs_lib.c:569 mutt_logging.c:147 + msgid "unknown error" + msgstr "neznámá chyba" + +@@ -1337,23 +1595,23 @@ msgstr "Chyba při komunikaci s %s (%s)" + msgid "Connection to %s has been aborted" + msgstr "Spojení s %s přerušeno" + +-#: conn/sasl.c:565 ++#: conn/sasl.c:547 + msgid "Unknown SASL profile" + msgstr "Neznámý SASL profil" + +-#: conn/sasl.c:598 ++#: conn/sasl.c:580 + msgid "Error allocating SASL connection" + msgstr "Chyba při alokování SASL spojení" + +-#: conn/sasl.c:608 ++#: conn/sasl.c:590 + msgid "Error setting SASL security properties" + msgstr "Chyba při nastavování bezpečnostních vlastností SASL" + +-#: conn/sasl.c:619 ++#: conn/sasl.c:601 + msgid "Error setting SASL external security strength" + msgstr "Chyba při nastavování úrovně zabezpečení vnějšího SASL mechanismu" + +-#: conn/sasl.c:629 ++#: conn/sasl.c:611 + msgid "Error setting SASL external user name" + msgstr "Chyba při nastavování jména uživatele vnějšího SASL mechanismu" + +@@ -1366,132 +1624,108 @@ msgstr "Příkaz před spojením selhal" + msgid "Connection to %s closed" + msgstr "Spojení s %s uzavřeno" + +-#: conn/ssl.c:237 ++#: conn/ssl.c:222 + #, c-format + msgid "Filling entropy pool: %s..." + msgstr "Připravuji zdroj náhodných dat: %s…" + +-#: conn/ssl.c:243 ++#: conn/ssl.c:228 + #, c-format + msgid "%s has insecure permissions" + msgstr "%s má příliš volná přístupová práva" + +-#: conn/ssl.c:385 ++#: conn/ssl.c:369 + msgid "SSL disabled due to the lack of entropy" + msgstr "SSL vypnuto kvůli nedostatku entropie" + +-#: conn/ssl.c:402 ++#: conn/ssl.c:386 + msgid "Unknown" + msgstr "Neznámý" + +-#: conn/ssl.c:421 conn/ssl_gnutls.c:186 ++#: conn/ssl.c:405 conn/ssl_gnutls.c:188 + #, c-format + msgid "[unable to calculate]" + msgstr "[nelze spočítat]" + +-#: conn/ssl.c:446 ++#: conn/ssl.c:430 + msgid "[invalid date]" + msgstr "[neplatné datum]" + +-#: conn/ssl.c:506 ++#: conn/ssl.c:490 + msgid "Server certificate is not yet valid" + msgstr "Certifikát serveru není zatím platný" + +-#: conn/ssl.c:516 ++#: conn/ssl.c:500 + msgid "Server certificate has expired" + msgstr "Platnost certifikátu serveru vypršela." + +-#: conn/ssl.c:605 ++#: conn/ssl.c:589 + msgid "Failed to find enough entropy on your system" + msgstr "Nemohu získat dostatek náhodných dat" + +-#: conn/ssl.c:799 ++#: conn/ssl.c:783 + msgid "can't get certificate subject" + msgstr "nelze zjistit, na čí jméno byl certifikát vydán" + +-#: conn/ssl.c:808 conn/ssl.c:816 ++#: conn/ssl.c:792 conn/ssl.c:800 + msgid "can't get certificate common name" + msgstr "nelze získat obecné jméno (CN) certifikátu" + +-#: conn/ssl.c:830 ++#: conn/ssl.c:814 + #, c-format + msgid "certificate owner does not match hostname %s" + msgstr "vlastník certifikátu není totožný s názvem stroje %s" + +-#: conn/ssl.c:904 conn/ssl_gnutls.c:539 ++#: conn/ssl.c:917 conn/ssl_gnutls.c:570 + msgid "This certificate belongs to:" + msgstr "Tento certifikát patří:" + +-#: conn/ssl.c:913 conn/ssl_gnutls.c:593 ++#: conn/ssl.c:926 conn/ssl_gnutls.c:624 + msgid "This certificate was issued by:" + msgstr "Tento certifikát vydal:" + +-#: conn/ssl.c:922 conn/ssl_gnutls.c:604 ++#: conn/ssl.c:935 conn/ssl_gnutls.c:635 + msgid "This certificate is valid" + msgstr "Tento certifikát platí:" + +-#: conn/ssl.c:923 conn/ssl_gnutls.c:608 ++#: conn/ssl.c:936 conn/ssl_gnutls.c:639 + #, c-format + msgid " from %s" + msgstr " od %s" + +-#: conn/ssl.c:925 conn/ssl_gnutls.c:612 ++#: conn/ssl.c:938 conn/ssl_gnutls.c:643 + #, c-format + msgid " to %s" + msgstr " do %s" + +-#: conn/ssl.c:931 conn/ssl_gnutls.c:617 ++#: conn/ssl.c:944 conn/ssl_gnutls.c:648 + #, c-format + msgid "SHA1 Fingerprint: %s" + msgstr "Otisk SHA1 klíče: %s" + +-#: conn/ssl.c:937 conn/ssl.c:940 conn/ssl_gnutls.c:623 conn/ssl_gnutls.c:625 ++#: conn/ssl.c:950 conn/ssl.c:953 conn/ssl_gnutls.c:654 conn/ssl_gnutls.c:656 + msgid "SHA256 Fingerprint: " + msgstr "Otisk SHA256 klíče: " + +-#: conn/ssl.c:944 conn/ssl_gnutls.c:664 ++#: conn/ssl.c:957 conn/ssl_gnutls.c:695 + #, c-format +-msgid "SSL Certificate check (certificate %zu of %zu in chain)" +-msgstr "Kontrola SSL certifikátu (certifikát %zu z %zu v řetězu)" +- +-#. L10N: These four letters correspond to the choices in the next four strings: +-#. (r)eject, accept (o)nce, (a)ccept always, (s)kip. +-#. These prompts are the interactive certificate confirmation prompts for +-#. an OpenSSL connection. +-#: conn/ssl.c:964 +-msgid "roas" +-msgstr "otvs" +- +-#: conn/ssl.c:968 +-msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" +-msgstr "(o)dmítnout, akceptovat pouze (t)eď, akceptovat (v)ždy, pře(s)kočit" +- +-#: conn/ssl.c:970 conn/ssl_gnutls.c:671 +-msgid "(r)eject, accept (o)nce, (a)ccept always" +-msgstr "(o)dmítnout, akceptovat pouze (t)eď, akceptovat (v)ždy " +- +-#: conn/ssl.c:975 +-msgid "(r)eject, accept (o)nce, (s)kip" +-msgstr "(o)dmítnout, akceptovat pouze (t)eď, pře(s)kočit" +- +-#: conn/ssl.c:977 conn/ssl_gnutls.c:680 +-msgid "(r)eject, accept (o)nce" +-msgstr "(o)dmítnout, akceptovat pouze (t)eď " ++msgid "SSL Certificate check (certificate %zu of %zu in chain)" ++msgstr "Kontrola SSL certifikátu (certifikát %zu z %zu v řetězu)" + +-#: conn/ssl.c:981 conn/ssl_gnutls.c:689 ncrypt/crypt_gpgme.c:4729 +-#: ncrypt/pgpkey.c:664 ncrypt/smime.c:549 ++#: conn/ssl.c:994 conn/ssl_gnutls.c:720 ncrypt/crypt_gpgme.c:4777 ++#: ncrypt/pgpkey.c:667 ncrypt/smime.c:551 + msgid "Exit " + msgstr "Ukončit " + +-#: conn/ssl.c:1016 conn/ssl_gnutls.c:742 ++#: conn/ssl.c:1029 conn/ssl_gnutls.c:773 + msgid "Warning: Couldn't save certificate" + msgstr "Varování: Certifikát nelze uložit" + +-#: conn/ssl.c:1020 conn/ssl_gnutls.c:746 ++#: conn/ssl.c:1033 conn/ssl_gnutls.c:777 + msgid "Certificate saved" + msgstr "Certifikát uložen" + +-#: conn/ssl.c:1132 ++#: conn/ssl.c:1147 + #, c-format + msgid "Certificate host check failed: %s" + msgstr "Kontrola certifikátu stroje selhala: %s" +@@ -1499,15 +1733,15 @@ msgstr "Kontrola certifikátu stroje selhala: %s" + #. L10N: This is a warning when trying to set the host name for + #. * TLS Server Name Indication (SNI). This allows the server to present + #. * the correct certificate if it supports multiple hosts. +-#: conn/ssl.c:1213 conn/ssl_gnutls.c:1072 ++#: conn/ssl.c:1228 conn/ssl_gnutls.c:1105 + msgid "Warning: unable to set TLS SNI host name" + msgstr "Varování: nepodařilo se nastavit TLS SNI jméno stroje" + +-#: conn/ssl.c:1224 ++#: conn/ssl.c:1239 + msgid "I/O error" + msgstr "I/O chyba" + +-#: conn/ssl.c:1233 ++#: conn/ssl.c:1248 + #, c-format + msgid "SSL failed: %s" + msgstr "Chyba SSL: %s" +@@ -1515,89 +1749,73 @@ msgstr "Chyba SSL: %s" + #. L10N: an SSL context is a data structure returned by the OpenSSL + #. function SSL_CTX_new(). In this case it returned NULL: an + #. error condition. +-#: conn/ssl.c:1269 ++#: conn/ssl.c:1284 + msgid "Unable to create SSL context" + msgstr "Nelze vytvořit kontext SSL" + +-#: conn/ssl.c:1322 ++#: conn/ssl.c:1337 + msgid "Warning: error enabling ssl_verify_partial_chains" + msgstr "Varování: chyba při zapínání ssl_verify_partial_chains" + +-#: conn/ssl_gnutls.c:150 conn/ssl_gnutls.c:784 conn/ssl_gnutls.c:793 ++#: conn/ssl_gnutls.c:152 conn/ssl_gnutls.c:817 conn/ssl_gnutls.c:826 + msgid "Unable to get certificate from peer" + msgstr "Certifikát od serveru nelze získat" + +-#: conn/ssl_gnutls.c:155 ++#: conn/ssl_gnutls.c:157 + #, c-format + msgid "Certificate verification error (%s)" + msgstr "Chyba při ověřování certifikátu (%s)" + +-#: conn/ssl_gnutls.c:162 ++#: conn/ssl_gnutls.c:164 + msgid "Certificate is not X.509" + msgstr "Certifikát není typu X.509" + +-#: conn/ssl_gnutls.c:349 conn/ssl_gnutls.c:483 ++#: conn/ssl_gnutls.c:351 conn/ssl_gnutls.c:485 + msgid "Error initialising gnutls certificate data" + msgstr "Chyba při inicializaci certifikačních údajů GNU TLS" + +-#: conn/ssl_gnutls.c:355 conn/ssl_gnutls.c:489 ++#: conn/ssl_gnutls.c:357 conn/ssl_gnutls.c:491 + msgid "Error processing certificate data" + msgstr "Chyba při zpracování certifikačních údajů" + +-#: conn/ssl_gnutls.c:635 ++#: conn/ssl_gnutls.c:666 + msgid "WARNING: Server certificate is not yet valid" + msgstr "POZOR: Certifikát serveru není zatím platný" + +-#: conn/ssl_gnutls.c:640 ++#: conn/ssl_gnutls.c:671 + msgid "WARNING: Server certificate has expired" + msgstr "POZOR: Platnost certifikátu serveru vypršela." + +-#: conn/ssl_gnutls.c:645 ++#: conn/ssl_gnutls.c:676 + msgid "WARNING: Server certificate has been revoked" + msgstr "POZOR: Certifikátu serveru byl odvolán" + +-#: conn/ssl_gnutls.c:650 ++#: conn/ssl_gnutls.c:681 + msgid "WARNING: Server hostname does not match certificate" + msgstr "POZOR: Jméno serveru se neshoduje s jménem v certifikátu" + +-#: conn/ssl_gnutls.c:655 ++#: conn/ssl_gnutls.c:686 + msgid "WARNING: Signer of server certificate is not a CA" + msgstr "POZOR: Certifikát serveru nebyl podepsán certifikační autoritou" + +-#: conn/ssl_gnutls.c:659 conn/ssl_gnutls.c:1004 ++#: conn/ssl_gnutls.c:690 conn/ssl_gnutls.c:1037 + msgid "Warning: Server certificate was signed using an insecure algorithm" + msgstr "Pozor: Certifikát serveru byl podepsán pomocí nebezpečného algoritmu" + +-#. L10N: These three letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce, (a)ccept always. +-#. This is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:676 +-msgid "roa" +-msgstr "otv" +- +-#. L10N: These two letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce. +-#. These is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:685 +-msgid "ro" +-msgstr "ot" +- +-#: conn/ssl_gnutls.c:950 conn/ssl_gnutls.c:992 ++#: conn/ssl_gnutls.c:983 conn/ssl_gnutls.c:1025 + msgid "All available protocols for TLS/SSL connection disabled" + msgstr "Všechny dostupné protokoly pro TLS/SSL byly zakázány" + +-#: conn/ssl_gnutls.c:999 ++#: conn/ssl_gnutls.c:1032 + msgid "Explicit ciphersuite selection via $ssl_ciphers not supported" + msgstr "Explicitní výběr šifrovacích algoritmů pomocí $ssl_ciphers není podporován" + +-#: conn/ssl_gnutls.c:1120 ++#: conn/ssl_gnutls.c:1153 + #, c-format + msgid "SSL/TLS connection using %s (%s/%s/%s)" + msgstr "SSL/TLS spojení pomocí %s (%s/%s/%s)" + +-#: conn/ssl_gnutls.c:1175 conn/ssl_gnutls.c:1204 ++#: conn/ssl_gnutls.c:1210 conn/ssl_gnutls.c:1239 + msgid "Error: no TLS socket open" + msgstr "Chyba: TLS socket není otevřen" + +@@ -1616,7 +1834,7 @@ msgstr "Chyba při komunikaci tunelem s %s (%s)" + msgid "Tunnel to %s returned error %d (%s)" + msgstr "Tunel do %s vrátil chybu %d (%s)" + +-#: copy.c:660 ++#: copy.c:662 + #, c-format + msgid "The length calculation was wrong by %ld byte" + msgid_plural "The length calculation was wrong by %ld bytes" +@@ -1624,31 +1842,11 @@ msgstr[0] "" + msgstr[1] "" + msgstr[2] "" + +-#: copy.c:744 ++#: copy.c:746 + msgid "No decryption engine available for message" + msgstr "Pro zprávu není k dispozici žádný dešifrovací nástroj" + +-#: curs_lib.c:378 +-msgid "yes" +-msgstr "ano" +- +-#: curs_lib.c:379 +-msgid "no" +-msgstr "ne" +- +-#: curs_lib.c:518 +-msgid "Exit NeoMutt?" +-msgstr "Ukončit NeoMutt?" +- +-#: curs_lib.c:597 +-msgid "Press any key to continue..." +-msgstr "Stiskněte libovolnou klávesu…" +- +-#: curs_lib.c:705 +-msgid " ('?' for list): " +-msgstr " („?“ pro seznam): " +- +-#: edit.c:64 ++#: edit.c:62 + msgid "" + "~~ insert a line beginning with a single ~\n" + "~b users add users to the Bcc: field\n" +@@ -1670,7 +1868,7 @@ msgstr "" + "~M zprávy stejné jako ~m a navíc vloží i hlavičky zpráv\n" + "~p vytiskne zprávu\n" + +-#: edit.c:75 ++#: edit.c:73 + msgid "" + "~q write file and quit editor\n" + "~r file read a file into the editor\n" +@@ -1692,20 +1890,20 @@ msgstr "" + "~? vypíše tuto nápovědu\n" + ". pokud je tento znak na řádce samotný, znamená ukončení vstupu\n" + +-#: edit.c:261 ++#: edit.c:259 + #, c-format + msgid "%d: invalid message number.\n" + msgstr "Číslo zprávy (%d) je neplatné.\n" + +-#: edit.c:416 ++#: edit.c:414 + msgid "(End message with a . on a line by itself)\n" + msgstr "(Zprávu ukončíte zapsáním samotného znaku „.“ na novou řádku)\n" + +-#: edit.c:474 ++#: edit.c:472 + msgid "No mailbox.\n" + msgstr "Žádná schránka.\n" + +-#: edit.c:478 ++#: edit.c:476 + msgid "Message contains:\n" + msgstr "Zpráva obsahuje:\n" + +@@ -1713,19 +1911,19 @@ msgstr "Zpráva obsahuje:\n" + #. not IN the middle of the content. + #. So it doesn't mean "(message will continue)" + #. but means "(press any key to continue using neomutt)". +-#: edit.c:486 edit.c:547 ++#: edit.c:484 edit.c:545 + msgid "(continue)\n" + msgstr "(pokračovat)\n" + +-#: edit.c:499 ++#: edit.c:497 + msgid "missing filename.\n" + msgstr "Chybí jméno souboru.\n" + +-#: edit.c:519 ++#: edit.c:517 + msgid "No lines in message.\n" + msgstr "Zpráva neobsahuje žádné řádky.\n" + +-#: edit.c:558 ++#: edit.c:556 + #, c-format + msgid "%s: unknown editor command (~? for help)\n" + msgstr "Příkaz %s je neznámý (~? pro nápovědu)\n" +@@ -1772,19 +1970,73 @@ msgstr "Ke složce nelze připojit: %s" + msgid "multipart message has no boundary parameter" + msgstr "Zpráva o více částech nemá určeny hranice" + +-#: flags.c:382 index.c:2561 index.c:2604 index.c:3134 index.c:3171 ++#: flags.c:381 index.c:2587 index.c:2630 index.c:3160 index.c:3197 + #: mutt_thread.c:1091 mutt_thread.c:1158 mutt_thread.c:1246 + msgid "Threading is not enabled" + msgstr "Vlákna nejsou podporována" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Set flag" + msgstr "Nastavit příznak" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Clear flag" + msgstr "Vypnout příznak" + ++#: gui/color.c:633 gui/color.c:644 ++#, c-format ++msgid "%s: color not supported by term" ++msgstr "Barvu %s terminál nepodporuje." ++ ++#: gui/color.c:652 ++#, c-format ++msgid "%s: no such color" ++msgstr "Barva %s není definována." ++ ++#: gui/color.c:717 gui/color.c:740 gui/color.c:751 gui/color.c:842 ++#, c-format ++msgid "%s: no such object" ++msgstr "Objekt %s není definován" ++ ++#: gui/color.c:1142 ++#, c-format ++msgid "%s: no such attribute" ++msgstr "Atribut %s není definován." ++ ++#: gui/color.c:1244 ++msgid "default colors not supported" ++msgstr "výchozí barvy nejsou podporovány" ++ ++#: gui/color.c:1282 ++#, c-format ++msgid "Maximum quoting level is %d" ++msgstr "Maximální úroveň citací je %d" ++ ++#: gui/color.c:1319 ++#, c-format ++msgid "%s: invalid number: %s" ++msgstr "%s neplatné číslo: %s" ++ ++#: gui/curs_lib.c:379 ++msgid "yes" ++msgstr "ano" ++ ++#: gui/curs_lib.c:380 ++msgid "no" ++msgstr "ne" ++ ++#: gui/curs_lib.c:519 ++msgid "Exit NeoMutt?" ++msgstr "Ukončit NeoMutt?" ++ ++#: gui/curs_lib.c:598 ++msgid "Press any key to continue..." ++msgstr "Stiskněte libovolnou klávesu…" ++ ++#: gui/curs_lib.c:749 ++msgid " ('?' for list): " ++msgstr " („?“ pro seznam): " ++ + #: handler.c:102 + #, c-format + msgid "[-- Type: %s/%s%s%s, Encoding: %s, Size: %s --]\n" +@@ -1805,23 +2057,23 @@ msgstr "[-- Zobrazuji automaticky pomocí %s --]\n" + msgid "Invoking autoview command: %s" + msgstr "Vyvolávám příkaz %s pro automatické zobrazování" + +-#: handler.c:591 mutt_attach.c:527 mutt_attach.c:714 mutt_attach.c:745 +-#: mutt_attach.c:1087 mutt_attach.c:1152 ncrypt/pgpkey.c:723 +-#: ncrypt/pgpkey.c:920 ++#: handler.c:590 mutt_attach.c:555 mutt_attach.c:747 mutt_attach.c:778 ++#: mutt_attach.c:1120 mutt_attach.c:1185 ncrypt/pgpkey.c:756 ++#: ncrypt/pgpkey.c:955 + msgid "Can't create filter" + msgstr "Filtr nelze vytvořit" + +-#: handler.c:595 ++#: handler.c:594 + #, c-format + msgid "[-- Can't run %s. --]\n" + msgstr "[-- %s nelze spustit --]\n" + +-#: handler.c:614 handler.c:635 ++#: handler.c:613 handler.c:634 + #, c-format + msgid "[-- Autoview stderr of %s --]\n" + msgstr "[-- Automaticky zobrazuji standardní chybový výstup %s --]\n" + +-#: handler.c:764 ++#: handler.c:763 + msgid "[-- Error: message/external-body has no access-type parameter --]\n" + msgstr "[-- Chyba: typ „message/external-body“ nemá parametr „access-type“ --]\n" + +@@ -1840,7 +2092,7 @@ msgstr "[-- Chyba: typ „message/external-body“ nemá parametr „access-type + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:807 ++#: handler.c:806 + #, c-format + msgid "" + "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" +@@ -1872,7 +2124,7 @@ msgstr[2] "" + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:830 ++#: handler.c:829 + #, c-format + msgid "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" + msgid_plural "[-- This %s/%s attachment (size %s bytes) has been deleted --]\n" +@@ -1887,7 +2139,7 @@ msgstr[2] "[-- Tato příloha typu „%s/%s“ (o velikosti v bajtech: %s) byla + #. + #. Caution: Argument three %3$ is also defined but should not be used + #. in this translation! +-#: handler.c:848 ++#: handler.c:847 + msgid "" + "[-- This %s/%s attachment has been deleted --]\n" + "[-- on %4$s --]\n" +@@ -1898,12 +2150,12 @@ msgstr "" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The first "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:856 ++#: handler.c:855 + #, c-format + msgid "[-- This %s/%s attachment has been deleted --]\n" + msgstr "[-- Tato příloha typu „%s/%s“ byla smazána --]\n" + +-#: handler.c:866 ++#: handler.c:865 + #, c-format + msgid "[-- name: %s --]\n" + msgstr "[-- jméno: %s --]\n" +@@ -1911,7 +2163,7 @@ msgstr "[-- jméno: %s --]\n" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:884 ++#: handler.c:883 + #, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -1926,7 +2178,7 @@ msgstr "" + #. The "%s/%s" is a MIME type, e.g. "text/plain". The %s after + #. access-type is an access-type as defined by the MIME RFCs, e.g. "FTP", + #. "LOCAL-FILE", "MAIL-SERVER". +-#: handler.c:905 ++#: handler.c:904 + #, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -1936,91 +2188,91 @@ msgstr "" + "[-- a udaná hodnota parametru „access-type %s“ --]\n" + "[-- není podporována --]\n" + +-#: handler.c:1090 ++#: handler.c:1089 + msgid "[-- Error: Could not display any parts of Multipart/Alternative --]\n" + msgstr "[-- Chyba: Žádnou z částí „Multipart/Alternative“ nelze zobrazit --]\n" + + #. L10N: %s is the attachment description, filename or form_name. +-#: handler.c:1231 ++#: handler.c:1230 + #, c-format + msgid "[-- Attachment #%d: %s --]\n" + msgstr "[-- Příloha #%d: %s --]\n" + +-#: handler.c:1236 ++#: handler.c:1235 + #, c-format + msgid "[-- Attachment #%d --]\n" + msgstr "[-- Příloha #%d --]\n" + +-#: handler.c:1254 ++#: handler.c:1253 + msgid "One or more parts of this message could not be displayed" + msgstr "Jedna nebo více část této zprávy nemohly být zobrazeny." + +-#: handler.c:1320 ++#: handler.c:1319 + msgid "Unable to open 'memory stream'" + msgstr "'memory stream' nelze otevřít" + +-#: handler.c:1330 ++#: handler.c:1329 + msgid "Unable to open temporary file" + msgstr "Dočasný soubor nelze otevřít" + +-#: handler.c:1379 ++#: handler.c:1378 + msgid "failed to re-open 'memory stream'" + msgstr "chyba pří opakovaném otevření 'memory stream'u" + +-#: handler.c:1620 ++#: handler.c:1619 + msgid "Error: multipart/signed has no protocol" + msgstr "Chyba: typ „multipart/signed“ bez informace o protokolu" + + #. L10N: %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1694 ++#: handler.c:1693 + #, c-format + msgid "[-- This is an attachment (use '%s' to view this part) --]\n" + msgstr "[-- Toto je příloha (pro zobrazení této části použijte „%s“) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". + #. The last %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1701 ++#: handler.c:1700 + #, c-format + msgid "[-- %s/%s is unsupported (use '%s' to view this part) --]\n" + msgstr "[-- Typ „%s/%s“ není podporován (pro zobrazení této části použijte „%s“) --]\n" + +-#: handler.c:1709 ++#: handler.c:1708 + msgid "[-- This is an attachment (need 'view-attachments' bound to key) --]\n" + msgstr "[-- Toto je příloha (je třeba svázat funkci „view-attachments“ s nějakou klávesou) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1715 ++#: handler.c:1714 + #, c-format + msgid "[-- %s/%s is unsupported (need 'view-attachments' bound to key) --]\n" + msgstr "[-- Typ „%s/%s“ není podporován (je třeba svázat funkci „view-attachments“ s nějakou klávesou) --]\n" + +-#: handler.c:1724 ++#: handler.c:1723 + msgid "[-- This is an attachment --]\n" + msgstr "[-- Toto je příloha --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1729 ++#: handler.c:1728 + #, c-format + msgid "[-- %s/%s is unsupported --]\n" + msgstr "[-- Typ „%s/%s“ není podporován --]\n" + +-#: help.c:400 ++#: help.c:401 + msgid "ERROR: please report this bug" + msgstr "CHYBA: ohlaste, prosím, tuto chybu" + +-#: help.c:455 ++#: help.c:456 + msgid "" + msgstr "" + +-#: help.c:469 ++#: help.c:470 + msgid "Generic bindings:" + msgstr "Obecně platné:" + +-#: help.c:473 ++#: help.c:474 + msgid "Unbound functions:" + msgstr "Nesvázané funkce:" + +-#: help.c:481 ++#: help.c:482 + #, c-format + msgid "Help for %s" + msgstr "Nápověda pro %s" +@@ -2037,41 +2289,41 @@ msgstr "zkratka pro schránku expandována na prázdný regulární výraz" + msgid "badly formatted command string" + msgstr "špatně utvořený řetězec s příkazem" + +-#: hook.c:461 ++#: hook.c:466 + msgid "unhook: Can't do unhook * from within a hook" + msgstr "unhook: unhook * nelze provést z jiného háčku" + +-#: hook.c:474 ++#: hook.c:479 + #, c-format + msgid "unhook: unknown hook type: %s" + msgstr "unhook: neznámý typ háčku: %s" + +-#: hook.c:484 ++#: hook.c:489 + #, c-format + msgid "unhook: Can't delete a %s from within a %s" + msgstr "unhook: %s nelze z %s smazat" + + #. L10N: '%s' is the (misspelled) name of the menu, e.g. 'index' or 'pager' +-#: icommands.c:259 keymap.c:1161 keymap.c:1346 ++#: icommands.c:261 keymap.c:1159 keymap.c:1344 + #, c-format + msgid "%s: no such menu" + msgstr "menu %s neexistuje" + + #. L10N: '%s' is the name of the menu, e.g. 'index' or 'pager', it might + #. L10N: also be 'all' when all menus are affected. +-#: icommands.c:272 ++#: icommands.c:274 + #, c-format + msgid "%s: no binds for this menu" + msgstr "%s: žádné zkratky pro toto menu" + +-#: icommands.c:272 ++#: icommands.c:274 + #, c-format + msgid "%s: no macros for this menu" + msgstr "%s: žádné makro pro toto menu" + + #. L10N: '%s' is the file name of the temporary file +-#: icommands.c:283 icommands.c:296 icommands.c:316 icommands.c:340 +-#: icommands.c:360 icommands.c:371 imap/message.c:1093 ++#: icommands.c:285 icommands.c:297 icommands.c:317 icommands.c:340 ++#: icommands.c:360 icommands.c:370 imap/message.c:1093 + #, c-format + msgid "Could not create temporary file %s" + msgstr "Dočasný soubor %s nelze vytvořit" +@@ -2108,28 +2360,28 @@ msgstr "GSSAPI ověření se nezdařilo" + msgid "LOGIN disabled on this server" + msgstr "LOGIN autentizace je na tomto serveru zakázána" + +-#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:288 ++#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:289 + msgid "Logging in..." + msgstr "Probíhá přihlašování…" + +-#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:329 ++#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:330 + msgid "Login failed" + msgstr "Přihlášení se nezdařilo" + +-#: imap/auth_oauth.c:64 pop/pop_auth.c:346 smtp.c:524 ++#: imap/auth_oauth.c:65 pop/pop_auth.c:347 smtp.c:549 + msgid "Authenticating (OAUTHBEARER)..." + msgstr "Ověřuji (OAUTHBEARER)…" + +-#: imap/auth_oauth.c:96 ++#: imap/auth_oauth.c:97 + msgid "OAUTHBEARER authentication failed" + msgstr "OAUTHBEARER ověření se nezdařilo." + +-#: imap/auth_sasl.c:128 nntp/nntp.c:606 nntp/nntp.c:671 smtp.c:443 ++#: imap/auth_sasl.c:128 nntp/nntp.c:608 nntp/nntp.c:673 smtp.c:468 + #, c-format + msgid "Authenticating (%s)..." + msgstr "Přihlašuji (%s)…" + +-#: imap/auth_sasl.c:259 pop/pop_auth.c:200 smtp.c:584 smtp.c:646 ++#: imap/auth_sasl.c:259 pop/pop_auth.c:201 smtp.c:609 smtp.c:671 + msgid "SASL authentication failed" + msgstr "SASL autentizace se nezdařila" + +@@ -2176,73 +2428,63 @@ msgstr "Přejmenování selhalo: %s" + msgid "Mailbox renamed" + msgstr "Schránka přejmenována" + +-#: imap/command.c:164 ++#: imap/command.c:177 + #, c-format + msgid "Mailbox %s@%s closed" + msgstr "Schránka %s@%s uzavřena" + +-#: imap/command.c:1258 imap/command.c:1370 ++#: imap/command.c:1287 imap/command.c:1399 + #, c-format + msgid "Connection to %s timed out" + msgstr "Vypršel časový limit spojení k %s" + +-#: imap/imap.c:87 ++#: imap/imap.c:93 + msgid "This IMAP server is ancient. NeoMutt does not work with it." + msgstr "Tento IMAP server je zastaralý. NeoMutt s ním nebude fungovat." + +-#: imap/imap.c:438 ++#: imap/imap.c:444 + #, c-format + msgid "Header search without header name: %s" + msgstr "Hledám v hlavičkách bez udání položky: %s" + +-#: imap/imap.c:468 ++#: imap/imap.c:474 + #, c-format + msgid "Server-side custom search not supported: %s" + msgstr "Vyhledávání na straně serveru není podporováno: %s" + +-#: imap/imap.c:584 ++#: imap/imap.c:590 + #, c-format + msgid "CREATE failed: %s" + msgstr "Příkaz CREATE selhal: %s" + +-#: imap/imap.c:704 ++#: imap/imap.c:710 + #, c-format + msgid "Closing connection to %s..." + msgstr "Končím spojení s %s…" + +-#: imap/imap.c:882 nntp/nntp.c:1889 pop/pop_lib.c:324 smtp.c:687 ++#: imap/imap.c:888 nntp/nntp.c:1891 pop/pop_lib.c:350 smtp.c:712 + msgid "Secure connection with TLS?" + msgstr "Bezpečné spojení přes TLS?" + +-#: imap/imap.c:895 nntp/nntp.c:1910 pop/pop_lib.c:343 smtp.c:702 ++#: imap/imap.c:901 nntp/nntp.c:1912 pop/pop_lib.c:369 smtp.c:727 + msgid "Could not negotiate TLS connection" + msgstr "Nelze navázat TLS spojení" + +-#: imap/imap.c:910 pop/pop_lib.c:360 ++#: imap/imap.c:916 pop/pop_lib.c:386 + msgid "Encrypted connection unavailable" + msgstr "Šifrované spojení není k dispozici" + +-#: imap/imap.c:1417 ++#: imap/imap.c:1430 + #, c-format + msgid "Subscribing to %s..." + msgstr "Přihlašuji %s…" + +-#: imap/imap.c:1419 ++#: imap/imap.c:1432 + #, c-format + msgid "Unsubscribing from %s..." + msgstr "Odhlašuji %s…" + +-#: imap/imap.c:1430 init.c:2142 +-#, c-format +-msgid "Subscribed to %s" +-msgstr "%s přihlášeno" +- +-#: imap/imap.c:1432 init.c:2620 +-#, c-format +-msgid "Unsubscribed from %s" +-msgstr "%s odhlášeno" +- +-#: imap/imap.c:1582 imap/message.c:1674 ++#: imap/imap.c:1595 imap/message.c:1674 + #, c-format + msgid "Copying %d message to %s..." + msgid_plural "Copying %d messages to %s..." +@@ -2250,16 +2492,16 @@ msgstr[0] "Kopíruji zprávu (%d) do %s…" + msgstr[1] "Kopíruji zprávy (%d) do %s…" + msgstr[2] "Kopíruji zprávy (%d) do %s…" + +-#: imap/imap.c:1599 imap/imap.c:2217 imap/message.c:1713 muttlib.c:1505 ++#: imap/imap.c:1612 imap/imap.c:2254 imap/message.c:1713 muttlib.c:1503 + #, c-format + msgid "Create %s?" + msgstr "Vytvořit %s?" + +-#: imap/imap.c:1667 ++#: imap/imap.c:1685 + msgid "Expunge failed" + msgstr "Příkaz EXPUNGE se nezdařil." + +-#: imap/imap.c:1683 ++#: imap/imap.c:1701 + #, c-format + msgid "Marking %d message deleted..." + msgid_plural "Marking %d messages deleted..." +@@ -2269,7 +2511,7 @@ msgstr[2] "Označuji %d zpráv ke smazání…" + + # Označuji %d zprávu ke smazání… + #. L10N: The plural is chosen by the last %d, i.e. the total number +-#: imap/imap.c:1720 ++#: imap/imap.c:1738 + #, c-format + msgid "Saving changed message... [%d/%d]" + msgid_plural "Saving changed messages... [%d/%d]" +@@ -2277,36 +2519,36 @@ msgstr[0] "Ukládám změněnou zprávu… [%d/%d]" + msgstr[1] "Ukládám změněné zprávy… [%d/%d]" + msgstr[2] "Ukládám změněné zprávy… [%d/%d]" + +-#: imap/imap.c:1776 ++#: imap/imap.c:1794 + msgid "Error saving flags. Close anyway?" + msgstr "Došlo k chybě při ukládání příznaků. Přesto uzavřít?" + +-#: imap/imap.c:1783 ++#: imap/imap.c:1801 + msgid "Error saving flags" + msgstr "Chyba při ukládání příznaků" + +-#: imap/imap.c:1808 ++#: imap/imap.c:1826 + msgid "Expunging messages from server..." + msgstr "Odstraňuji zprávy ze serveru…" + +-#: imap/imap.c:1814 ++#: imap/imap.c:1832 + msgid "imap_sync_mailbox: EXPUNGE failed" + msgstr "při volání imap_sync_mailbox: EXPUNGE selhalo" + +-#: imap/imap.c:2023 nntp/nntp.c:2486 ++#: imap/imap.c:2058 nntp/nntp.c:2488 + #, c-format + msgid "Selecting %s..." + msgstr "Volím %s…" + +-#: imap/imap.c:2184 ++#: imap/imap.c:2221 + msgid "Error opening mailbox" + msgstr "Chyba při otevírání schránky" + +-#: imap/imap.c:2330 ++#: imap/imap.c:2367 + msgid "IMAP server doesn't support custom flags" + msgstr "IMAP server nepodporuje vlastní příznaky" + +-#: imap/imap.c:2374 ++#: imap/imap.c:2411 + msgid "Invalid IMAP flags" + msgstr "Neplatné IMAP příznaky" + +@@ -2316,7 +2558,7 @@ msgid "Abort download and close mailbox?" + msgstr "Přerušit stahování a zavřít schránku?" + + #: imap/message.c:554 mutt/memory.c:58 mutt/memory.c:98 mutt/memory.c:134 +-#: mutt/string.c:1178 mx.c:1176 ++#: mutt/string.c:1201 mx.c:1195 + msgid "Out of memory" + msgstr "Paměť vyčerpána" + +@@ -2334,7 +2576,7 @@ msgstr "Stahuji příznaky zpráv…" + msgid "Unable to fetch headers from this IMAP server version" + msgstr "Z IMAP serveru této verze nelze stahovat hlavičky" + +-#: imap/message.c:1099 index.c:1548 nntp/nntp.c:1328 pop/pop.c:426 ++#: imap/message.c:1099 index.c:1554 nntp/nntp.c:1330 pop/pop.c:426 + msgid "Fetching message headers..." + msgstr "Stahuji hlavičky zpráv…" + +@@ -2347,152 +2589,152 @@ msgstr "Nahrávám zprávu na server…" + msgid "Copying message %d to %s..." + msgstr "Kopíruji zprávu %d do %s…" + +-#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2737 pop/pop.c:1110 ++#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2739 pop/pop.c:1105 + msgid "Fetching message..." + msgstr "Stahuji zprávu…" + +-#: imap/message.c:1959 pop/pop.c:1106 ++#: imap/message.c:1959 pop/pop.c:1101 + msgid "The message index is incorrect. Try reopening the mailbox." + msgstr "Index zpráv je chybný. Zkuste schránku znovu otevřít." + +-#: imap/util.c:767 ++#: imap/util.c:796 + msgid "Continue?" + msgstr "Pokračovat?" + +-#: index.c:115 index.c:128 ++#: index.c:111 index.c:124 + msgid "Quit" + msgstr "Konec" + +-#: index.c:118 index.c:131 recvattach.c:93 ++#: index.c:114 index.c:127 recvattach.c:91 + msgid "Save" + msgstr "Uložit" + +-#: index.c:119 query.c:81 ++#: index.c:115 query.c:79 + msgid "Mail" + msgstr "Psát" + +-#: index.c:120 pager.c:237 ++#: index.c:116 pager.c:229 + msgid "Reply" + msgstr "Odepsat" + +-#: index.c:121 ++#: index.c:117 + msgid "Group" + msgstr "Skupině" + +-#: index.c:132 pager.c:244 ++#: index.c:128 pager.c:236 + msgid "Post" + msgstr "Poslat" + +-#: index.c:133 pager.c:245 ++#: index.c:129 pager.c:237 + msgid "Followup" + msgstr "Odepsat" + +-#: index.c:190 index.c:1362 ++#: index.c:186 index.c:1367 + msgid "No mailbox is open" + msgstr "Žádná schránka není otevřena" + +-#: index.c:196 ++#: index.c:192 + msgid "There are no messages" + msgstr "Nejsou žádné zprávy" + +-#: index.c:202 ++#: index.c:198 + msgid "No visible messages" + msgstr "Žádné viditelné zprávy" + +-#: index.c:208 mx.c:901 pager.c:223 recvattach.c:80 ++#: index.c:204 mx.c:920 pager.c:215 recvattach.c:78 + msgid "Mailbox is read-only" + msgstr "Ze schránky je možné pouze číst" + +-#: index.c:214 pager.c:225 recvattach.c:98 ++#: index.c:210 pager.c:217 recvattach.c:96 + msgid "Function not permitted in attach-message mode" + msgstr "V režimu přikládání zpráv není tato funkce povolena" + + #. L10N: %s is one of the CHECK_ACL entries below. +-#: index.c:239 pager.c:290 ++#: index.c:235 pager.c:282 + #, c-format + msgid "%s: Operation not permitted by ACL" + msgstr "%s: Operace je v rozporu s ACL" + +-#: index.c:430 ++#: index.c:426 + msgid "Can't toggle write on a readonly mailbox" + msgstr "Schránka je určena pouze pro čtení, zápis nelze zapnout" + +-#: index.c:437 ++#: index.c:433 + msgid "Changes to folder will be written on folder exit" + msgstr "Změny obsahu složky budou uloženy po jejím uzavření" + +-#: index.c:442 ++#: index.c:438 + msgid "Changes to folder will not be written" + msgstr "Změny obsahu složky nebudou uloženy" + +-#: index.c:719 muttlib.c:1490 mx.c:206 mx.c:340 ++#: index.c:714 muttlib.c:1488 mx.c:206 mx.c:338 + #, c-format + msgid "%s is not a mailbox" + msgstr "%s není schránkou" + +-#: index.c:1218 ++#: index.c:1223 + msgid "Mailbox was externally modified. Flags may be wrong." + msgstr "Obsah schránky byl změněn zvenčí. Atributy mohou být nesprávné." + +-#: index.c:1227 pager.c:2409 ++#: index.c:1232 pager.c:2379 + msgid "New mail in this mailbox" + msgstr "V této schránce je nová pošta" + +-#: index.c:1242 ++#: index.c:1247 + msgid "Mailbox was externally modified" + msgstr "Obsah schránky byl změněn zvenčí" + +-#: index.c:1369 ++#: index.c:1374 + msgid "No tagged messages" + msgstr "Žádné zprávy nejsou označeny" + +-#: index.c:1373 index.c:1647 menu.c:1423 ++#: index.c:1378 index.c:1653 menu.c:1423 + msgid "Nothing to do" + msgstr "Není co dělat" + +-#: index.c:1470 ++#: index.c:1475 + msgid "Enter Message-Id: " + msgstr "Zadejte Message-Id: " + +-#: index.c:1481 ++#: index.c:1487 + msgid "Article has no parent reference" + msgstr "Článek neobsahuje odkaz na jiný nadřazený" + +-#: index.c:1504 ++#: index.c:1510 + msgid "Message is not visible in limited view" + msgstr "Zpráva není v omezeném zobrazení viditelná" + +-#: index.c:1508 ++#: index.c:1514 + #, c-format + msgid "Fetching %s from server..." + msgstr "Stahuji %s ze serveru…" + +-#: index.c:1518 nntp/nntp.c:2772 ++#: index.c:1524 nntp/nntp.c:2774 + #, c-format + msgid "Article %s not found on the server" + msgstr "Článek %s nebyl nalezen na serveru" + +-#: index.c:1544 ++#: index.c:1550 + msgid "No Message-Id. Unable to perform operation." + msgstr "Chybějící Message-Id. Nelze provést operaci." + +-#: index.c:1623 ++#: index.c:1629 + msgid "No deleted messages found in the thread" + msgstr "Nebyly nalezeny žádné smazané zprávy ve vláknu" + +-#: index.c:1644 ++#: index.c:1650 + msgid "Jump to message: " + msgstr "Přejít na zprávu: " + +-#: index.c:1650 ++#: index.c:1656 + msgid "Argument must be a message number" + msgstr "Argumentem musí být číslo zprávy" + +-#: index.c:1652 ++#: index.c:1658 + msgid "Invalid message number" + msgstr "Číslo zprávy je neplatné" + +-#: index.c:1654 ++#: index.c:1660 + msgid "That message is not visible" + msgstr "Tato zpráva není viditelná" + +@@ -2505,37 +2747,37 @@ msgstr "Tato zpráva není viditelná" + #. delete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. + #. +-#: index.c:1692 index.c:3267 pager.c:3064 ++#: index.c:1698 index.c:3293 pager.c:3039 + msgid "Can't delete messages" + msgstr "Zprávy nelze smazat" + +-#: index.c:1695 ++#: index.c:1701 + msgid "Delete messages matching: " + msgstr "Smazat zprávy shodující se s: " + +-#: index.c:1736 ++#: index.c:1742 + msgid "No limit pattern is in effect" + msgstr "Žádné omezení není zavedeno" + + #. L10N: ask for a limit to apply +-#: index.c:1741 ++#: index.c:1747 + #, c-format + msgid "Limit: %s" + msgstr "Omezení: %s" + +-#: index.c:1778 ++#: index.c:1784 + msgid "Limit to messages matching: " + msgstr "Omezit na zprávy shodující se s: " + +-#: index.c:1809 ++#: index.c:1815 + msgid "To view all messages, limit to \"all\"" + msgstr "Pro zobrazení všech zpráv změňte omezení na „all“" + +-#: index.c:1821 pager.c:2514 ++#: index.c:1827 pager.c:2487 + msgid "Quit NeoMutt?" + msgstr "Ukončit NeoMutt?" + +-#: index.c:1924 ++#: index.c:1931 + msgid "Tag messages matching: " + msgstr "Označit zprávy shodující se s: " + +@@ -2543,196 +2785,196 @@ msgstr "Označit zprávy shodující se s: " + #. L10N: Due to the implementation details we do not know whether we + #. undelete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:1935 index.c:3807 pager.c:3418 ++#: index.c:1942 index.c:3833 pager.c:3396 + msgid "Can't undelete messages" + msgstr "Zprávy nelze obnovit" + +-#: index.c:1939 ++#: index.c:1946 + msgid "Undelete messages matching: " + msgstr "Obnovit zprávy shodující se s: " + +-#: index.c:1948 ++#: index.c:1955 + msgid "Untag messages matching: " + msgstr "Odznačit zprávy shodující se s: " + +-#: index.c:1989 ++#: index.c:1996 + msgid "Logged out of IMAP servers" + msgstr "Odhlášeno z IMAP serverů" + +-#: index.c:2105 ++#: index.c:2113 + msgid "No virtual folder and no Message-Id, aborting" + msgstr "Virtuální složka ani Message-Id nejsou specifikovány, zrušeno" + +-#: index.c:2117 index.c:2288 index.c:2310 index.c:2331 ++#: index.c:2125 index.c:2313 index.c:2335 index.c:2356 + msgid "Failed to create query, aborting" + msgstr "Nezdařílo se vytvořit dotaz, zrušeno" + +-#: index.c:2130 ++#: index.c:2138 + msgid "failed to find message in notmuch database. try running 'notmuch new'." + msgstr "nelze nalézt zpravá v databází notmuch. Zkuste spustit „notmuch new“." + +-#: index.c:2139 ++#: index.c:2147 + msgid "Failed to read thread, aborting" + msgstr "Selhalo čtení vlákna, zrušeno" + +-#: index.c:2171 mx.c:1252 mx.c:1272 ++#: index.c:2179 mx.c:1271 mx.c:1291 + msgid "Folder doesn't support tagging, aborting" + msgstr "Složka nepodporuje značky, zrušeno" + +-#: index.c:2188 ++#: index.c:2196 + msgid "No tag specified, aborting" + msgstr "Značka není specifikována, zrušeno" + +-#: index.c:2198 ++#: index.c:2206 + msgid "Update tags..." + msgstr "Aktualizovat značky…" + +-#: index.c:2238 ++#: index.c:2246 + msgid "Failed to modify tags, aborting" + msgstr "Selhala úprava značek, zrušeno" + +-#: index.c:2284 ++#: index.c:2293 + msgid "No query, aborting" + msgstr "Dotaz není specifikován, zrušeno" + +-#: index.c:2299 index.c:2320 ++#: index.c:2324 index.c:2345 + msgid "Windowed queries disabled" + msgstr "Dotazy do okna nejsou povoleny" + +-#: index.c:2304 index.c:2325 ++#: index.c:2329 index.c:2350 + msgid "No notmuch vfolder currently loaded" + msgstr "Není natažena žádná virtuální složka (notmuch)" + +-#: index.c:2374 ++#: index.c:2399 + msgid "Open mailbox in read-only mode" + msgstr "Otevřít schránku pouze pro čtení" + +-#: index.c:2376 ++#: index.c:2401 + msgid "Open mailbox" + msgstr "Otevřít schránku" + +-#: index.c:2386 ++#: index.c:2411 + msgid "No mailboxes have new mail" + msgstr "V žádné schránce není nová pošta" + +-#: index.c:2419 ++#: index.c:2444 + msgid "Open newsgroup in read-only mode" + msgstr "Otevřít diskusní skupinu pouze pro čtení" + +-#: index.c:2421 ++#: index.c:2446 + msgid "Open newsgroup" + msgstr "Otevřít diskusní skupinu" + +-#: index.c:2538 ++#: index.c:2564 + msgid "Exit NeoMutt without saving?" + msgstr "Ukončit NeoMutt bez uložení změn?" + + #. L10N: CHECK_ACL +-#: index.c:2554 ++#: index.c:2580 + msgid "Can't break thread" + msgstr "Vlákno nelze rozdělit" + +-#: index.c:2574 ++#: index.c:2600 + msgid "Thread broken" + msgstr "Vlákno rozděleno" + +-#: index.c:2587 ++#: index.c:2613 + msgid "Thread can't be broken, message is not part of a thread" + msgstr "Vlákno nelze rozdělit, zpráva není součástí vlákna" + + #. L10N: CHECK_ACL +-#: index.c:2597 ++#: index.c:2623 + msgid "Can't link threads" + msgstr "Vlákna nelze spojit" + +-#: index.c:2606 ++#: index.c:2632 + msgid "No Message-ID: header available to link thread" + msgstr "Pro spojení vláken chybí hlavička Message-ID" + +-#: index.c:2608 ++#: index.c:2634 + msgid "First, please tag a message to be linked here" + msgstr "Aby sem mohla být zpráva připojena, nejprve musíte nějakou označit" + +-#: index.c:2621 ++#: index.c:2647 + msgid "Threads linked" + msgstr "Vlákna spojena" + +-#: index.c:2624 ++#: index.c:2650 + msgid "No thread linked" + msgstr "Žádné vlákno nespojeno" + +-#: index.c:2665 index.c:2690 ++#: index.c:2691 index.c:2716 + msgid "You are on the last message" + msgstr "Jste na poslední zprávě" + +-#: index.c:2673 index.c:2716 ++#: index.c:2699 index.c:2742 + msgid "No undeleted messages" + msgstr "Nejsou žádné obnovené zprávy" + +-#: index.c:2708 index.c:2733 ++#: index.c:2734 index.c:2759 + msgid "You are on the first message" + msgstr "Jste na první zprávě" + +-#: index.c:2874 ++#: index.c:2900 + msgid "No new messages in this limited view" + msgstr "Žádné nové zprávy v tomto omezeném zobrazení" + +-#: index.c:2876 ++#: index.c:2902 + msgid "No new messages" + msgstr "Žádné nové zprávy" + +-#: index.c:2881 ++#: index.c:2907 + msgid "No unread messages in this limited view" + msgstr "Žádné nepřečtené zprávy v tomto omezeném zobrazení" + +-#: index.c:2883 ++#: index.c:2909 + msgid "No unread messages" + msgstr "Žádné nepřečtené zprávy" + +-#: index.c:2893 menu.c:1208 pager.c:2644 pattern.c:2652 ++#: index.c:2919 menu.c:1208 pager.c:2618 pattern.c:2776 + msgid "Search wrapped to top" + msgstr "Hledání pokračuje od začátku" + +-#: index.c:2898 pager.c:2669 pattern.c:2663 ++#: index.c:2924 pager.c:2643 pattern.c:2787 + msgid "Search wrapped to bottom" + msgstr "Hledání pokračuje od konce" + + #. L10N: CHECK_ACL +-#: index.c:2915 ++#: index.c:2941 + msgid "Can't flag message" + msgstr "Zprávě nelze nastavit příznak" + + #. L10N: CHECK_ACL +-#: index.c:2961 pager.c:3377 ++#: index.c:2987 pager.c:3355 + msgid "Can't toggle new" + msgstr "Nelze přepnout mezi nová/stará" + +-#: index.c:3057 ++#: index.c:3083 + msgid "No more threads" + msgstr "Nejsou další vlákna" + +-#: index.c:3059 ++#: index.c:3085 + msgid "You are on the first thread" + msgstr "Jste na prvním vláknu" + +-#: index.c:3156 ++#: index.c:3182 + msgid "Thread contains unread or flagged messages" + msgstr "Vlákno obsahuje nepřečtené zprávy nebo zprávy s příznakem" + + #. L10N: CHECK_ACL +-#: index.c:3215 pager.c:3019 ++#: index.c:3241 pager.c:2994 + msgid "Can't delete message" + msgstr "Zprávu nelze smazat" + + #. L10N: CHECK_ACL +-#: index.c:3339 ++#: index.c:3365 + msgid "Can't edit message" + msgstr "Zprávu nelze upravit" + + # FIXME: Pluralize + #. L10N: This is displayed when the x-label on one or more + #. messages is edited. +-#: index.c:3432 pager.c:3495 ++#: index.c:3458 pager.c:3473 + #, c-format + msgid "%d label changed" + msgid_plural "%d labels changed" +@@ -2743,7 +2985,7 @@ msgstr[2] "%d štítků změněno" + #. L10N: This is displayed when editing an x-label, but no messages + #. were updated. Possibly due to canceling at the prompt or if the new + #. label is the same as the old label. +-#: index.c:3440 pager.c:3499 ++#: index.c:3466 pager.c:3477 + msgid "No labels changed" + msgstr "Žádné štítky nebyly změněny" + +@@ -2751,278 +2993,140 @@ msgstr "Žádné štítky nebyly změněny" + #. L10N: Due to the implementation details we do not know whether we + #. mark zero, 1, 12, ... messages as read. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:3571 ++#: index.c:3597 + msgid "Can't mark messages as read" + msgstr "Zprávy nelze označit za přečtené" + + #. L10N: This is the prompt for . Whatever they + #. enter will be prefixed by $mark_macro_prefix and will become + #. a macro hotkey to jump to the currently selected message. +-#: index.c:3612 ++#: index.c:3638 + msgid "Enter macro stroke: " + msgstr "Zadejte značku: " + + #. L10N: "message hotkey" is the key bindings menu description of a + #. macro created by . +-#: index.c:3620 ++#: index.c:3646 + msgid "message hotkey" + msgstr "horká klávesa pro značku zprávy" + + #. L10N: This is echoed after creates a new hotkey + #. macro. %s is the hotkey string ($mark_macro_prefix followed + #. by whatever they typed at the prompt.) +-#: index.c:3625 ++#: index.c:3651 + #, c-format + msgid "Message bound to %s" + msgstr "Zpráva svázána se značkou %s" + + #. L10N: This error is printed if can't find a + #. Message-ID for the currently selected message in the index. +-#: index.c:3634 ++#: index.c:3660 + msgid "No message ID to macro" + msgstr "ID zprávy ze značky neexistuje" + +-#: index.c:3688 pager.c:3221 recvattach.c:1646 ++#: index.c:3714 pager.c:3196 recvattach.c:1678 + msgid "Reply by mail as poster prefers?" + msgstr "Odpovědět e-mailem dle návrhu autora?" + +-#: index.c:3691 pager.c:3182 pager.c:3194 pager.c:3224 ++#: index.c:3717 pager.c:3157 pager.c:3169 pager.c:3199 + msgid "Posting to this group not allowed, may be moderated. Continue?" + msgstr "Publikování do této skupiny není povoleno, může být moderována. Pokračovat?" + + #. L10N: CHECK_ACL +-#: index.c:3768 pager.c:3397 ++#: index.c:3794 pager.c:3375 + msgid "Can't undelete message" + msgstr "Zprávu nelze obnovit" + +-#: init.c:313 ++#: init.c:223 + #, c-format + msgid "Error in command line: %s" + msgstr "Chyba %s na příkazovém řádku" + +-#: init.c:315 ++#: init.c:225 + #, c-format + msgid "Warning in command line: %s" + msgstr "Varování %s na příkazovém řádku" + +-#: init.c:426 ++#: init.c:336 + msgid "unable to determine nodename via uname()" + msgstr "název stroje nelze určit pomocí volání uname()" + +-#: init.c:580 +-msgid "-group: no group name" +-msgstr "-group: chybí jméno skupiny" +- +-#: init.c:590 +-msgid "out of arguments" +-msgstr "příliš málo argumentů" +- +-#: init.c:804 init.c:1752 +-#, c-format +-msgid "Error: Can't build path of '%s'" +-msgstr "Chyba: nelze sestavit cestu k „%s“" +- +-#: init.c:817 +-#, c-format +-msgid "Error: Cyclic sourcing of configuration file '%s'" +-msgstr "Chyba: zacyklení při vkládání konfiguračního souboru „%s“" +- +-#: init.c:850 +-#, c-format +-msgid "Error in %s, line %d: %s" +-msgstr "Chyba v %s na řádku %d: %s" +- +-#: init.c:861 +-#, c-format +-msgid "Warning in %s, line %d: %s" +-msgstr "Varování v %s na řádku %d: %s" +- +-#: init.c:885 +-#, c-format +-msgid "source: errors in %s" +-msgstr "source: chyby v %s" +- +-#: init.c:885 +-#, c-format +-msgid "source: reading aborted due to too many errors in %s" +-msgstr "source: čtení přerušeno kvůli velikému množství chyb v %s" +- +-#: init.c:894 +-#, c-format +-msgid "source: %d warning in %s" +-msgid_plural "source: %d warnings in %s" +-msgstr[0] "source: %d varování v %s" +-msgstr[1] "source: %d varování v %s" +-msgstr[2] "source: %d varování v %s" +- +-#: init.c:923 +-msgid "alias: no address" +-msgstr "přezdívka: žádná adresa" +- +-#: init.c:965 +-#, c-format +-msgid "Warning: Bad IDN '%s' in alias '%s'" +-msgstr "Pozor: Neplatné IDN „%s“ v přezdívce „%s“" +- +-#: init.c:1043 +-msgid "attachments: no disposition" +-msgstr "přílohy: chybí dispozice" +- +-#: init.c:1054 +-msgid "Current attachments settings:" +-msgstr "Současné nastavení příloh:" +- +-#: init.c:1084 +-msgid "attachments: invalid disposition" +-msgstr "přílohy: neplatná dispozice" +- +-# "%sgroup" is literal +-#: init.c:1160 +-#, c-format +-msgid "%sgroup: missing -rx or -addr" +-msgstr "%sgroup: chybí -rx nebo -addr" +- +-# "%sgroup" is literal +-#: init.c:1186 +-#, c-format +-msgid "%sgroup: warning: bad IDN '%s'" +-msgstr "%sgroup: pozor: chybné IDN „%s“" +- +-#: init.c:1278 +-#, c-format +-msgid "Error: %s" +-msgstr "Chyba: %s" +- +-#: init.c:1445 +-msgid "invalid header field" +-msgstr "neplatná hlavička" +- +-#: init.c:1711 init.c:1815 +-#, c-format +-msgid "%s: unknown variable" +-msgstr "Proměnná %s není známa." +- +-#: init.c:1908 +-#, c-format +-msgid "%s is unset" +-msgstr "%s není nastaveno" +- +-#: init.c:1953 mutt_lua.c:478 +-#, c-format +-msgid "source: error at %s" +-msgstr "source: chyba na %s" +- +-#: init.c:1961 +-#, c-format +-msgid "source: file %s could not be sourced" +-msgstr "source: soubor %s nelze vložit" +- +-#: init.c:1984 +-msgid "spam: no matching pattern" +-msgstr "spam: vzoru nic nevyhovuje" +- +-#: init.c:1986 +-msgid "nospam: no matching pattern" +-msgstr "nospam: vzoru nic nevyhovuje" +- +-#: init.c:2146 +-#, c-format +-msgid "Could not subscribe to %s" +-msgstr "Nelze přihlásit do %s" +- +-#: init.c:2154 init.c:2632 +-msgid "No folder specified" +-msgstr "Složka nebyla zadána" +- +-#: init.c:2341 +-msgid "unattachments: no disposition" +-msgstr "nepřílohy: chybí dispozice" +- +-#: init.c:2379 +-msgid "unattachments: invalid disposition" +-msgstr "nepřílohy: neplatná dispozice" +- +-#: init.c:2624 +-#, c-format +-msgid "Could not unsubscribe from %s" +-msgstr "Nelze odhlásit odběr %s" +- +-#: init.c:3292 ++#: init.c:1042 + #, c-format + msgid "%s: unknown command" + msgstr "Příkaz %s není znám." + +-#: init.c:3837 ++#: init.c:1588 + msgid "'charset' must contain exactly one character set name" + msgstr "„charset“ musí obsahovat právě jedno jméno znakové sady" + +-#: init.c:3853 init.c:3877 init.c:3912 ++#: init.c:1604 init.c:1628 init.c:1663 + #, c-format + msgid "Invalid value for option %s: %s" + msgstr "Neplatná hodnota přepínače %s: „%s“" + +-#: init.c:3890 ++#: init.c:1641 + #, c-format + msgid "Option %s may not be set or reset from the pager" + msgstr "Volba %s nemůže být nastavena z pageru" + +-#: init.c:3928 ++#: init.c:1679 + #, c-format + msgid "Option %s may not be set when in attach-message mode" + msgstr "Volba %s nemůže být nastavena v režimu přikládání zpráv." + + #. L10N: This applies to the "$wrap_headers" config variable +-#: init.c:3943 ++#: init.c:1694 + #, c-format + msgid "Option %s must between 78 and 998 inclusive" + msgstr "Hodnota %s musí být v rozmezí 78 a 998" + +-#: keymap.c:373 keymap.c:381 ++#: keymap.c:371 keymap.c:379 + #, c-format + msgid "Binding '%s' will alias '%s' Before, try: 'bind %s %s noop' https://neomutt.org/guide/configuration.html#bind-warnings" + msgstr "Zkratka „%s“ překryje „%s“. Nejdříve zkuste: 'bind %s %s noop' https://neomutt.org/guide/configuration.html#bind-warnings" + +-#: keymap.c:757 ++#: keymap.c:755 + msgid "Macro loop detected" + msgstr "Detekována smyčka v makru" + +-#: keymap.c:1064 keymap.c:1099 ++#: keymap.c:1062 keymap.c:1097 + msgid "Key is not bound" + msgstr "Klávesa není svázána s žádnou funkcí" + +-#: keymap.c:1104 ++#: keymap.c:1102 + #, c-format + msgid "Key is not bound. Press '%s' for help." + msgstr "Klávesa není svázána. Stiskněte „%s“ pro nápovědu." + +-#: keymap.c:1177 ++#: keymap.c:1175 + #, c-format + msgid "%s: null key sequence" + msgstr "%s: prázdný sled kláves" + +-#: keymap.c:1212 ++#: keymap.c:1210 + #, c-format + msgid "Function '%s' not available for menu '%s'" + msgstr "Funkce „%s“ není v menu „%s“ dostupná" + +-#: keymap.c:1495 ++#: keymap.c:1493 + msgid "macro: empty key sequence" + msgstr "macro: sled kláves je prázdný" + +-#: keymap.c:1543 ++#: keymap.c:1541 + msgid "exec: no arguments" + msgstr "exec: žádné argumenty" + +-#: keymap.c:1563 ++#: keymap.c:1561 + #, c-format + msgid "%s: no such function" + msgstr "funkce %s není známa" + +-#: keymap.c:1584 ++#: keymap.c:1582 + msgid "Enter keys (^G to abort): " + msgstr "Zadejte klávesy (nebo stiskněte ^G pro zrušení): " + +-#: keymap.c:1590 ++#: keymap.c:1588 + #, c-format + msgid "Char = %s, Octal = %o, Decimal = %d" + msgstr "Znak = %s, Osmičkově = %o, Desítkově = %d" +@@ -3046,7 +3150,7 @@ msgstr "pro typ %s nebyla nalezena položka v mailcapu" + msgid "Scanning %s..." + msgstr "Prohledávám %s…" + +-#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:353 ++#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:351 + #, c-format + msgid "Reading %s..." + msgstr "Čtu %s…" +@@ -3060,13 +3164,13 @@ msgid "md_commit_message(): unable to set time on file" + msgstr "md_commit_message(): nelze nastavit čas na souboru" + + #. L10N: Displayed before/as a mailbox is being synced +-#: maildir/shared.c:1723 mbox/mbox.c:1276 mx.c:461 notmuch/mutt_notmuch.c:2364 ++#: maildir/shared.c:1734 mbox/mbox.c:1276 mx.c:459 notmuch/mutt_notmuch.c:2364 + #, c-format + msgid "Writing %s..." + msgstr "Ukládám %s…" + + #. L10N: Try to limit to 80 columns +-#: main.c:227 ++#: main.c:160 + msgid "" + "usage:\n" + " neomutt [-Enx] [-e ] [-F ] [-H ] [-i ]\n" +@@ -3107,7 +3211,7 @@ msgstr "" + " neomutt -v[v]\n" + + #. L10N: Try to limit to 80 columns. If more space is needed add an indented line +-#: main.c:247 ++#: main.c:180 + msgid "" + "options:\n" + " -- Special argument forces NeoMutt to stop option parsing and treat\n" +@@ -3188,54 +3292,54 @@ msgstr "" + " -z Otevře buď první složku nebo zadanou pomocí „-f“ s novou poštou;\n" + " pokud není žádná nová nalezena, ihned skončí s kódem 1" + +-#: main.c:312 ++#: main.c:245 + msgid "Error initializing terminal" + msgstr "Chyba při inicializaci terminálu" + +-#: main.c:390 ++#: main.c:323 + msgid "unable to determine username" + msgstr "uživatelské jméno nelze určit" + +-#: main.c:396 ++#: main.c:329 + msgid "unable to determine home directory" + msgstr "domovský adresář nelze určit" + +-#: main.c:640 ++#: main.c:572 + #, c-format + msgid "Error: value '%s' is invalid for -d" + msgstr "Chyba: pro -d je „%s“ neplatná hodnota" + +-#: main.c:884 ++#: main.c:815 + msgid "Failed to parse mailto: link" + msgstr "Rozebrání odkazu mailto: se nezdařilo" + +-#: main.c:896 send.c:2452 send.c:2456 ++#: main.c:827 send.c:2463 send.c:2467 + msgid "No recipients specified" + msgstr "Nejsou specifikováni žádní příjemci" + +-#: main.c:923 ++#: main.c:854 + msgid "Can't use -E flag with stdin" + msgstr "Přepínač -E nelze se standardním vstupem použít" + +-#: main.c:1007 ++#: main.c:938 + #, c-format + msgid "Can't parse message template: %s" + msgstr "Soubor se šablonou zprávy nelze rozebrat: %s" + +-#: main.c:1073 mutt_header.c:329 ++#: main.c:1004 mutt_header.c:329 + #, c-format + msgid "%s: unable to attach file" + msgstr "soubor %s nelze připojit" + +-#: main.c:1156 ++#: main.c:1087 + msgid "No mailbox with new mail" + msgstr "V žádné schránce není nová pošta" + +-#: main.c:1180 ++#: main.c:1111 + msgid "No incoming mailboxes defined" + msgstr "Není definována žádná schránka přijímající novou poštu" + +-#: main.c:1230 ++#: main.c:1161 + msgid "Mailbox is empty" + msgstr "Schránka je prázdná" + +@@ -3277,52 +3381,52 @@ msgstr "Schránku nelze znovu otevřít" + msgid "Can't write message" + msgstr "Zprávu nelze uložit" + +-#: menu.c:632 ++#: menu.c:631 + msgid "Jump to: " + msgstr "Přeskočit na: " + +-#: menu.c:641 ++#: menu.c:640 + msgid "Invalid index number" + msgstr "Neplatné indexové číslo" + +-#: menu.c:645 menu.c:671 menu.c:744 menu.c:810 menu.c:828 menu.c:843 menu.c:858 +-#: menu.c:873 menu.c:890 menu.c:907 menu.c:1553 ++#: menu.c:644 menu.c:670 menu.c:743 menu.c:809 menu.c:827 menu.c:842 menu.c:857 ++#: menu.c:872 menu.c:889 menu.c:906 menu.c:1553 + msgid "No entries" + msgstr "Žádné položky" + +-#: menu.c:668 ++#: menu.c:667 + msgid "You can't scroll down farther" + msgstr "Dolů již rolovat nemůžete" + +-#: menu.c:690 ++#: menu.c:689 + msgid "You can't scroll up farther" + msgstr "Nahoru již rolovat nemůžete" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the first page" + msgstr "Jste na první stránce" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the last page" + msgstr "Jste na poslední stránce" + +-#: menu.c:922 ++#: menu.c:921 + msgid "You are on the last entry" + msgstr "Jste na poslední položce" + +-#: menu.c:937 ++#: menu.c:936 + msgid "You are on the first entry" + msgstr "Jste na první položce" + +-#: menu.c:1172 pager.c:2692 pattern.c:2578 ++#: menu.c:1172 pager.c:2666 pattern.c:2702 + msgid "Search for: " + msgstr "Vyhledat: " + +-#: menu.c:1173 pager.c:2693 pattern.c:2579 ++#: menu.c:1173 pager.c:2667 pattern.c:2703 + msgid "Reverse search for: " + msgstr "Vyhledat obráceným směrem: " + +-#: menu.c:1226 pager.c:2641 pager.c:2666 pager.c:2800 pattern.c:2708 ++#: menu.c:1226 pager.c:2615 pager.c:2640 pager.c:2774 pattern.c:2832 + msgid "Not found" + msgstr "Nenalezeno" + +@@ -3365,20 +3469,20 @@ msgstr "Čekám na pokus o zamknutí pomocí funkce flock… %d" + msgid "Bad history file format (line %d)" + msgstr "Špatný formát souboru s historií (řádek %d)" + +-#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1006 ncrypt/crypt_gpgme.c:2381 +-#: ncrypt/crypt_gpgme.c:2401 ncrypt/crypt_gpgme.c:2460 +-#: ncrypt/crypt_gpgme.c:2477 ncrypt/crypt_gpgme.c:2509 +-#: ncrypt/crypt_gpgme.c:2527 ncrypt/crypt_gpgme.c:2611 +-#: ncrypt/crypt_gpgme.c:3194 ncrypt/crypt_gpgme.c:3292 +-#: ncrypt/crypt_gpgme.c:4373 ncrypt/pgp.c:576 ncrypt/pgp.c:583 ncrypt/pgp.c:896 +-#: ncrypt/pgp.c:1014 ncrypt/pgp.c:1161 ncrypt/pgp.c:1181 ncrypt/pgp.c:1215 +-#: ncrypt/pgp.c:1568 ncrypt/pgpkey.c:708 ncrypt/pgpkey.c:902 +-#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1092 ncrypt/smime.c:1100 +-#: ncrypt/smime.c:1191 ncrypt/smime.c:1299 ncrypt/smime.c:1364 +-#: ncrypt/smime.c:1372 ncrypt/smime.c:1571 ncrypt/smime.c:1967 +-#: ncrypt/smime.c:2046 ncrypt/smime.c:2053 ncrypt/smime.c:2156 +-#: ncrypt/smime.c:2281 ncrypt/smime.c:2297 nntp/nntp.c:1397 nntp/nntp.c:2237 +-#: pattern.c:1132 pop/pop.c:182 ++#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1005 ncrypt/crypt_gpgme.c:2420 ++#: ncrypt/crypt_gpgme.c:2440 ncrypt/crypt_gpgme.c:2499 ++#: ncrypt/crypt_gpgme.c:2516 ncrypt/crypt_gpgme.c:2548 ++#: ncrypt/crypt_gpgme.c:2566 ncrypt/crypt_gpgme.c:2650 ++#: ncrypt/crypt_gpgme.c:3237 ncrypt/crypt_gpgme.c:3335 ++#: ncrypt/crypt_gpgme.c:4421 ncrypt/pgp.c:575 ncrypt/pgp.c:582 ncrypt/pgp.c:895 ++#: ncrypt/pgp.c:1013 ncrypt/pgp.c:1160 ncrypt/pgp.c:1180 ncrypt/pgp.c:1214 ++#: ncrypt/pgp.c:1570 ncrypt/pgpkey.c:741 ncrypt/pgpkey.c:937 ++#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1126 ncrypt/smime.c:1134 ++#: ncrypt/smime.c:1225 ncrypt/smime.c:1333 ncrypt/smime.c:1398 ++#: ncrypt/smime.c:1406 ncrypt/smime.c:1605 ncrypt/smime.c:2001 ++#: ncrypt/smime.c:2080 ncrypt/smime.c:2087 ncrypt/smime.c:2190 ++#: ncrypt/smime.c:2315 ncrypt/smime.c:2331 nntp/nntp.c:1399 nntp/nntp.c:2239 ++#: pattern.c:1171 pop/pop.c:182 + msgid "Can't create temporary file" + msgstr "Dočasný soubor nelze vytvořit." + +@@ -3397,7 +3501,7 @@ msgstr "Úroveň ladění je %d do souboru „%s“" + msgid "Logging at level %d to file '%s'" + msgstr "Úroveň ladění je %d do souboru „%s“" + +-#: mutt/path.c:401 ++#: mutt/path.c:420 + msgid "Error: converting path to absolute" + msgstr "Chyba při konverzi cesty na absolutní" + +@@ -3420,17 +3524,17 @@ msgstr "Zachycen signál %d (%s)… Končím.\n" + msgid "Caught signal %d ... Exiting.\n" + msgstr "Zachycen signál %d… Končím.\n" + +-#: muttlib.c:490 ++#: muttlib.c:488 + #, c-format + msgid "mutt_randbuf buflen=%zu" + msgstr "mutt_randbuf buflen=%zu" + +-#: muttlib.c:510 ++#: muttlib.c:508 + #, c-format + msgid "open /dev/urandom: %s" + msgstr "otevření /dev/urandom: %s" + +-#: muttlib.c:517 ++#: muttlib.c:515 + #, c-format + msgid "read /dev/urandom: %s" + msgstr "čtení /dev/urandom: %s" +@@ -3438,146 +3542,119 @@ msgstr "čtení /dev/urandom: %s" + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) + #. These three letters correspond to the choices in the string. +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "File is a directory, save under it: (y)es, (n)o, (a)ll?" + msgstr "Soubor je adresářem. Uložit do něj? (a)no, (n)e, (v)šechny" + +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "yna" + msgstr "anv" + + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) +-#: muttlib.c:763 ++#: muttlib.c:761 + msgid "File is a directory, save under it?" + msgstr "Soubor je adresářem. Uložit do něj?" + +-#: muttlib.c:768 ++#: muttlib.c:766 + msgid "File under directory: " + msgstr "Zadejte jméno souboru: " + +-#: muttlib.c:781 ++#: muttlib.c:779 + msgid "File exists, (o)verwrite, (a)ppend, or (c)ancel?" + msgstr "Soubor již existuje: (p)řepsat, př(i)pojit či (z)rušit?" + + #. L10N: Options for: File exists, (o)verwrite, (a)ppend, or (c)ancel? +-#: muttlib.c:783 ++#: muttlib.c:781 + msgid "oac" + msgstr "piz" + +-#: muttlib.c:1458 ++#: muttlib.c:1456 + msgid "Can't save message to POP mailbox" + msgstr "Do POP schránek nelze ukládat zprávy" + +-#: muttlib.c:1468 ++#: muttlib.c:1466 + #, c-format + msgid "Append messages to %s?" + msgstr "Připojit zprávy do %s?" + +-#: muttlib.c:1481 ++#: muttlib.c:1479 + msgid "Can't save message to news server" + msgstr "Nelze uložit zprávu na server diskusních skupin" + +-#. L10N: Example: Username at myhost.com +-#: mutt_account.c:233 +-#, c-format +-msgid "Username at %s: " +-msgstr "Uživatelské jméno na %s: " +- +-#: mutt_account.c:315 +-#, c-format +-msgid "Password for %s@%s: " +-msgstr "Heslo pro %s@%s: " +- +-#. L10N: You will see this error message if (1) you have "oauthbearer" in +-#. one of your $*_authenticators and (2) you do not have the corresponding +-#. $*_oauth_refresh_command defined. So the message does not mean "None of +-#. your $*_oauth_refresh_command's are defined." +-#: mutt_account.c:383 +-msgid "No OAUTH refresh command defined" +-msgstr "Není definován příkaz pro obnovení OAUTH" +- +-#: mutt_account.c:390 +-msgid "Unable to run refresh command" +-msgstr "Nezdařilo se provést příkaz obnovení" +- +-#: mutt_account.c:400 +-msgid "Command returned empty string" +-msgstr "Příkaz vrátil prázdný řetězec" +- +-#: mutt_attach.c:140 mutt_attach.c:274 mutt_attach.c:459 mutt_attach.c:1054 ++#: mutt_attach.c:142 mutt_attach.c:276 mutt_attach.c:488 mutt_attach.c:1087 + msgid "Can't match 'nametemplate', continue?" + msgstr "Shodu pro jmenný vzor nelze nalézt, pokračovat?" + +-#: mutt_attach.c:150 ++#: mutt_attach.c:152 + #, c-format + msgid "Mailcap compose entry requires %%s" + msgstr "Položka mailcapu „compose“ vyžaduje %%s" + +-#: mutt_attach.c:168 ++#: mutt_attach.c:170 + msgid "Failure to open file to parse headers" + msgstr "Soubor nutný pro zpracování hlaviček se nepodařilo otevřít" + +-#: mutt_attach.c:202 ++#: mutt_attach.c:204 + msgid "Failure to open file to strip headers" + msgstr "Soubor nutný pro odstranění hlaviček se nepodařilo otevřít" + +-#: mutt_attach.c:212 ++#: mutt_attach.c:214 + msgid "Failure to rename file" + msgstr "Soubor se nepodařilo přejmenovat" + +-#: mutt_attach.c:222 ++#: mutt_attach.c:224 + #, c-format + msgid "No mailcap compose entry for %s, creating empty file" + msgstr "Pro %s neexistuje položka mailcapu „compose“, vytvářím prázdný soubor" + +-#: mutt_attach.c:284 ++#: mutt_attach.c:286 + #, c-format + msgid "Mailcap Edit entry requires %%s" + msgstr "Položka mailcapu „edit“ vyžaduje %%s." + +-#: mutt_attach.c:305 ++#: mutt_attach.c:307 + #, c-format + msgid "No mailcap edit entry for %s" + msgstr "Pro %s neexistuje položka mailcapu „edit“." + +-#: mutt_attach.c:427 ++#: mutt_attach.c:456 + msgid "No matching mailcap entry found. Viewing as text." + msgstr "Odpovídající položka v mailcapu nebyla nalezena. Zobrazuji jako text." + +-#: mutt_attach.c:440 ++#: mutt_attach.c:469 + msgid "MIME type not defined. Can't view attachment." + msgstr "MIME typ není definován, nelze zobrazit přílohu." + +-#: mutt_attach.c:535 ++#: mutt_attach.c:563 + #, c-format + msgid "---Command: %-20.20s Description: %s" + msgstr "---Příkaz: %-20.20s Popis: %s" + +-#: mutt_attach.c:540 ++#: mutt_attach.c:568 + #, c-format + msgid "---Command: %-30.30s Attachment: %s" + msgstr "---Příkaz: %-30.30s Příloha: %s" + +-#: mutt_attach.c:619 ++#: mutt_attach.c:652 + #, c-format + msgid "---Attachment: %s: %s" + msgstr "---Příloha: %s: %s" + +-#: mutt_attach.c:621 ++#: mutt_attach.c:654 + #, c-format + msgid "---Attachment: %s" + msgstr "---Příloha: %s" + +-#: mutt_attach.c:902 mutt_attach.c:910 ++#: mutt_attach.c:935 mutt_attach.c:943 + msgid "Write fault" + msgstr "Chyba při zápisu" + +-#: mutt_attach.c:1174 ++#: mutt_attach.c:1207 + msgid "I don't know how to print that" + msgstr "Nevím, jak mám toto vytisknout" + +-#: mutt_history.c:47 query.c:84 ++#: mutt_history.c:47 query.c:82 + msgid "Search" + msgstr "Hledat" + +@@ -3586,21 +3663,21 @@ msgstr "Hledat" + msgid "History '%s'" + msgstr "Historie „%s“" + +-#: mutt_logging.c:315 ++#: mutt_logging.c:313 + #, c-format + msgid "Invalid value for option %s: %ld" + msgstr "Neplatná hodnota přepínače %s: „%ld“" + +-#: mutt_lua.c:429 ++#: mutt_lua.c:431 + msgid "Error: Couldn't load the lua interpreter" + msgstr "Chyba: nelze zavést interpret jazyka lua" + +-#: mutt_lua.c:491 ++#: mutt_lua.c:493 + #, c-format + msgid "Couldn't source lua source: %s" + msgstr "Nelze vložit lua zdroj: %s" + +-#: mutt_mailbox.c:214 ++#: mutt_mailbox.c:241 + msgid "New mail in " + msgstr "Nová pošta ve složce " + +@@ -3621,20 +3698,20 @@ msgstr "Kořenová zpráva není v omezeném zobrazení viditelná" + msgid "Parent message is not visible in this limited view" + msgstr "Rodičovská zpráva není v omezeném zobrazení viditelná" + +-#: mx.c:387 ++#: mx.c:385 + #, c-format + msgid "Reading from %s interrupted..." + msgstr "Čtení z %s bylo přerušeno…" + + #. L10N: Displayed if a mailbox sync fails +-#: mx.c:468 ++#: mx.c:469 + #, c-format + msgid "Unable to write %s" + msgstr "Nelze zapsat %s" + + #. L10N: Although we know the precise number of messages, we do not show it to the user. + #. So feel free to use a "generic plural" as plural translation if your language has one. +-#: mx.c:523 ++#: mx.c:525 + msgid "message not deleted" + msgid_plural "messages not deleted" + msgstr[0] "zprávy nesmazány" +@@ -3645,13 +3722,13 @@ msgstr[2] "zprávy nesmazány" + msgid "Can't open trash folder" + msgstr "Složku koš nelze otevřít" + +-#: mx.c:623 ++#: mx.c:627 + msgid "Mark all articles read?" + msgstr "Označit všechny články za přečtené?" + + #. L10N: The first argument is the number of read messages to be + #. moved, the second argument is the target mailbox. +-#: mx.c:671 ++#: mx.c:675 + #, c-format + msgid "Move %d read message to %s?" + msgid_plural "Move %d read messages to %s?" +@@ -3659,7 +3736,7 @@ msgstr[0] "Přesunout %d přečtených zpráv do %s?" + msgstr[1] "Přesunout %d přečtených zpráv do %s?" + msgstr[2] "Přesunout %d přečtených zpráv do %s?" + +-#: mx.c:685 mx.c:917 ++#: mx.c:689 mx.c:936 + #, c-format + msgid "Purge %d deleted message?" + msgid_plural "Purge %d deleted messages?" +@@ -3667,49 +3744,49 @@ msgstr[0] "Zahodit smazané zprávy (%d)?" + msgstr[1] "Zahodit smazané zprávy (%d)?" + msgstr[2] "Zahodit smazané zprávy (%d)?" + +-#: mx.c:708 ++#: mx.c:712 + #, c-format + msgid "Moving read messages to %s..." + msgstr "Přesunuji přečtené zprávy do %s…" + +-#: mx.c:774 mx.c:908 ++#: mx.c:783 mx.c:927 + msgid "Mailbox is unchanged" + msgstr "Obsah schránky nebyl změněn" + +-#: mx.c:827 ++#: mx.c:842 + #, c-format + msgid "%d kept, %d moved, %d deleted" + msgstr "ponecháno: %d, přesunuto: %d, smazáno: %d" + +-#: mx.c:831 mx.c:972 ++#: mx.c:846 mx.c:991 + #, c-format + msgid "%d kept, %d deleted" + msgstr "ponecháno: %d, smazáno: %d" + +-#: mx.c:892 ++#: mx.c:911 + #, c-format + msgid " Press '%s' to toggle write" + msgstr " Stiskněte „%s“ pro zapnutí zápisu" + +-#: mx.c:894 ++#: mx.c:913 + msgid "Use 'toggle-write' to re-enable write" + msgstr "Použijte „toggle-write“ pro zapnutí zápisu" + +-#: mx.c:896 ++#: mx.c:915 + #, c-format + msgid "Mailbox is marked unwritable. %s" + msgstr "Schránka má vypnut zápis. %s" + +-#: mx.c:966 ++#: mx.c:985 + msgid "Mailbox checkpointed" + msgstr "Do schránky byla vložena kontrolní značka" + +-#: ncrypt/crypt.c:93 ++#: ncrypt/crypt.c:91 + #, c-format + msgid " (current time: %c)" + msgstr " (aktuální čas: %c)" + +-#: ncrypt/crypt.c:98 ++#: ncrypt/crypt.c:96 + #, c-format + msgid "[-- %s output follows%s --]\n" + msgstr "[-- následuje výstup %s %s --]\n" +@@ -3718,52 +3795,52 @@ msgstr "[-- následuje výstup %s %s --]\n" + #. by gpg-agent) we can't know whether we forgot zero, 1, 12, ... + #. passwords. So in English we use "Passphrases". Your language might + #. have other means to express this. +-#: ncrypt/crypt.c:119 ++#: ncrypt/crypt.c:117 + msgid "Passphrases forgotten" + msgstr "Šifrovací hesla zapomenuta" + +-#: ncrypt/crypt.c:203 ++#: ncrypt/crypt.c:201 + msgid "Inline PGP can't be used with attachments. Revert to PGP/MIME?" + msgstr "PGP v textu nelze použít s přílohami. Použít PGP/MIME?" + +-#: ncrypt/crypt.c:207 ++#: ncrypt/crypt.c:205 + msgid "Mail not sent: inline PGP can't be used with attachments" + msgstr "E-mail neodeslán: PGP v textu nelze použít s přílohami" + +-#: ncrypt/crypt.c:214 ++#: ncrypt/crypt.c:212 + msgid "Inline PGP can't be used with format=flowed. Revert to PGP/MIME?" + msgstr "PGP v textu nelze použít s „format=flowed“. Použít PGP/MIME?" + +-#: ncrypt/crypt.c:218 ++#: ncrypt/crypt.c:216 + msgid "Mail not sent: inline PGP can't be used with format=flowed" + msgstr "E-mail neodeslán: PGP v textu nelze použít s „format=flowed“" + +-#: ncrypt/crypt.c:228 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:714 +-#: ncrypt/pgpkey.c:915 ++#: ncrypt/crypt.c:226 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:747 ++#: ncrypt/pgpkey.c:950 + msgid "Invoking PGP..." + msgstr "Spouští se PGP…" + +-#: ncrypt/crypt.c:240 ++#: ncrypt/crypt.c:238 + msgid "Message can't be sent inline. Revert to using PGP/MIME?" + msgstr "Zprávu nelze poslat vloženou do textu. Použít PGP/MIME?" + +-#: ncrypt/crypt.c:242 send.c:2430 ++#: ncrypt/crypt.c:240 send.c:2441 + msgid "Mail not sent" + msgstr "Zpráva nebyla odeslána" + +-#: ncrypt/crypt.c:662 ++#: ncrypt/crypt.c:666 + msgid "S/MIME messages with no hints on content are unsupported" + msgstr "S/MIME zprávy bez popisu obsahu nejsou podporovány" + +-#: ncrypt/crypt.c:888 ++#: ncrypt/crypt.c:892 + msgid "Trying to extract PGP keys...\n" + msgstr "Zkouším extrahovat PGP klíče…\n" + +-#: ncrypt/crypt.c:917 ++#: ncrypt/crypt.c:921 + msgid "Trying to extract S/MIME certificates..." + msgstr "Zkouším extrahovat S/MIME certifikáty…" + +-#: ncrypt/crypt.c:1140 ++#: ncrypt/crypt.c:1144 + #, c-format + msgid "" + "[-- Error: Unknown multipart/signed protocol %s --]\n" +@@ -3772,7 +3849,7 @@ msgstr "" + "[-- Chyba: „multipart/signed“ protokol %s není znám --]\n" + "\n" + +-#: ncrypt/crypt.c:1180 ++#: ncrypt/crypt.c:1184 + msgid "" + "[-- Error: Missing or bad-format multipart/signed signature --]\n" + "\n" +@@ -3780,7 +3857,7 @@ msgstr "" + "[-- Chyba: Chybná struktura zprávy typu „multipart/signed“ --]\n" + "\n" + +-#: ncrypt/crypt.c:1222 ++#: ncrypt/crypt.c:1226 + #, c-format + msgid "" + "[-- Warning: We can't verify %s/%s signatures. --]\n" +@@ -3789,7 +3866,7 @@ msgstr "" + "[-- Varování: Podpisy typu %s/%s nelze ověřit. --]\n" + "\n" + +-#: ncrypt/crypt.c:1235 ++#: ncrypt/crypt.c:1239 + msgid "" + "[-- The following data is signed --]\n" + "\n" +@@ -3797,7 +3874,7 @@ msgstr "" + "[-- Následují podepsaná data --]\n" + "\n" + +-#: ncrypt/crypt.c:1243 ++#: ncrypt/crypt.c:1248 + msgid "" + "[-- Warning: Can't find any signatures. --]\n" + "\n" +@@ -3805,7 +3882,7 @@ msgstr "" + "[-- Varování: Nemohu nalézt žádný podpis. --]\n" + "\n" + +-#: ncrypt/crypt.c:1249 ++#: ncrypt/crypt.c:1255 + msgid "" + "\n" + "[-- End of signed data --]\n" +@@ -3824,229 +3901,229 @@ msgstr "Spouštím S/MIME…" + #. L10N: The following are the headers for the "verify key" output from the + #. GPGME key selection menu (bound to "c" in the key selection menu). + #. They will be automatically aligned. +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Name: " + msgstr "Jméno: " + +-#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1869 ncrypt/crypt_gpgme.c:1874 ++#: ncrypt/crypt_gpgme.c:183 ncrypt/crypt_gpgme.c:1900 ncrypt/crypt_gpgme.c:1905 + msgid "aka: " + msgstr "alias: " + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Valid From: " + msgstr "Platný od:" + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Valid To: " + msgstr "Platný do:" + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Key Type: " + msgstr "Druh klíče : " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Key Usage: " + msgstr "Účel klíče : " + +-#: ncrypt/crypt_gpgme.c:185 ncrypt/crypt_gpgme.c:1759 ++#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1790 + msgid "Fingerprint: " + msgstr "Otisk klíče: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Serial-No: " + msgstr "Sériové č.:" + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + msgid "Issued By: " + msgstr "Vydal: " + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + msgid "Subkey: " + msgstr "Podklíč: " + +-#: ncrypt/crypt_gpgme.c:783 ++#: ncrypt/crypt_gpgme.c:782 + #, c-format + msgid "error enabling CMS protocol: %s" + msgstr "chybě při zapínání CMS protokolu: %s" + +-#: ncrypt/crypt_gpgme.c:806 ++#: ncrypt/crypt_gpgme.c:805 + #, c-format + msgid "error creating gpgme data object: %s" + msgstr "chybě při vytváření gpgme datového objektu: %s" + +-#: ncrypt/crypt_gpgme.c:907 ncrypt/crypt_gpgme.c:934 ncrypt/crypt_gpgme.c:2057 +-#: ncrypt/crypt_gpgme.c:2814 ++#: ncrypt/crypt_gpgme.c:906 ncrypt/crypt_gpgme.c:933 ncrypt/crypt_gpgme.c:2096 ++#: ncrypt/crypt_gpgme.c:2853 + #, c-format + msgid "error allocating data object: %s" + msgstr "chybě při alokování datového objektu: %s" + +-#: ncrypt/crypt_gpgme.c:956 ++#: ncrypt/crypt_gpgme.c:955 + #, c-format + msgid "error rewinding data object: %s" + msgstr "chyba při přetáčení datového objektu: %s" + +-#: ncrypt/crypt_gpgme.c:972 ++#: ncrypt/crypt_gpgme.c:971 + msgid "[tempfile]" + msgstr "[dočasný soubor]" + +-#: ncrypt/crypt_gpgme.c:978 ncrypt/crypt_gpgme.c:1032 ++#: ncrypt/crypt_gpgme.c:977 ncrypt/crypt_gpgme.c:1031 + #, c-format + msgid "error reading data object: %s" + msgstr "chyba při čtení datového objektu: %s" + +-#: ncrypt/crypt_gpgme.c:1149 ++#: ncrypt/crypt_gpgme.c:1148 + #, c-format + msgid "error adding recipient '%s': %s" + msgstr "chyba při přidávání příjemce „%s“: %s" + +-#: ncrypt/crypt_gpgme.c:1202 ++#: ncrypt/crypt_gpgme.c:1186 + #, c-format + msgid "secret key '%s' not found: %s" + msgstr "tajný klíč „%s“ nenalezen: %s" + +-#: ncrypt/crypt_gpgme.c:1218 ++#: ncrypt/crypt_gpgme.c:1203 + #, c-format + msgid "ambiguous specification of secret key '%s'\n" + msgstr "tajný klíč „%s“ není určen jednoznačně\n" + +-#: ncrypt/crypt_gpgme.c:1234 ++#: ncrypt/crypt_gpgme.c:1219 + #, c-format + msgid "error setting secret key '%s': %s" + msgstr "chyba při nastavování tajného klíče „%s“: %s" + +-#: ncrypt/crypt_gpgme.c:1250 ++#: ncrypt/crypt_gpgme.c:1278 + #, c-format + msgid "error setting PKA signature notation: %s" + msgstr "chyba při nastavování PKA podpisové poznámky: %s" + +-#: ncrypt/crypt_gpgme.c:1324 ++#: ncrypt/crypt_gpgme.c:1353 + #, c-format + msgid "error encrypting data: %s" + msgstr "chyba při šifrování dat: %s" + +-#: ncrypt/crypt_gpgme.c:1453 ++#: ncrypt/crypt_gpgme.c:1483 + #, c-format + msgid "error signing data: %s" + msgstr "chyba při podepisování dat: %s" + +-#: ncrypt/crypt_gpgme.c:1463 ++#: ncrypt/crypt_gpgme.c:1493 + msgid "$pgp_sign_as unset and no default key specified in ~/.gnupg/gpg.conf" + msgstr "„$pgp_sign_as“ není nastaveno a v ~/.gnupg/gpg.conf není určen výchozí klíč" + +-#: ncrypt/crypt_gpgme.c:1641 ++#: ncrypt/crypt_gpgme.c:1672 + msgid "Warning: One of the keys has been revoked\n" + msgstr "Pozor: Jeden z klíčů byl odvolán\n" + +-#: ncrypt/crypt_gpgme.c:1651 ++#: ncrypt/crypt_gpgme.c:1682 + msgid "Warning: The key used to create the signature expired at: " + msgstr "Pozor: Klíči použitému k podepsání vypršela platnost: " + +-#: ncrypt/crypt_gpgme.c:1657 ++#: ncrypt/crypt_gpgme.c:1688 + msgid "Warning: At least one certification key has expired\n" + msgstr "Pozor: Platnost alespoň jednoho certifikátu vypršela\n" + +-#: ncrypt/crypt_gpgme.c:1671 ++#: ncrypt/crypt_gpgme.c:1702 + msgid "Warning: The signature expired at: " + msgstr "Pozor: Podpis pozbyl platnosti: " + +-#: ncrypt/crypt_gpgme.c:1678 ++#: ncrypt/crypt_gpgme.c:1709 + msgid "Can't verify due to a missing key or certificate\n" + msgstr "Nelze ověřit, protože chybí klíč nebo certifikát\n" + +-#: ncrypt/crypt_gpgme.c:1683 ++#: ncrypt/crypt_gpgme.c:1714 + msgid "The CRL is not available\n" + msgstr "CRL není dostupný\n" + +-#: ncrypt/crypt_gpgme.c:1689 ++#: ncrypt/crypt_gpgme.c:1720 + msgid "Available CRL is too old\n" + msgstr "Dostupný CRL je příliš starý\n" + +-#: ncrypt/crypt_gpgme.c:1694 ++#: ncrypt/crypt_gpgme.c:1725 + msgid "A policy requirement was not met\n" + msgstr "Požadavky bezpečnostní politiky nebyly splněny\n" + +-#: ncrypt/crypt_gpgme.c:1703 ++#: ncrypt/crypt_gpgme.c:1734 + msgid "A system error occurred" + msgstr "Došlo k systémové chybě" + +-#: ncrypt/crypt_gpgme.c:1734 ++#: ncrypt/crypt_gpgme.c:1765 + msgid "WARNING: PKA entry does not match signer's address: " + msgstr "POZOR: Položka PKA se neshoduje s adresou podepsaného: " + +-#: ncrypt/crypt_gpgme.c:1740 ++#: ncrypt/crypt_gpgme.c:1771 + msgid "PKA verified signer's address is: " + msgstr "Adresa podepsaného ověřená pomocí PKA je: " + +-#: ncrypt/crypt_gpgme.c:1822 ++#: ncrypt/crypt_gpgme.c:1853 + msgid "WARNING: We have NO indication whether the key belongs to the person named as shown above\n" + msgstr "POZOR: Nemáme ŽÁDNÝ důkaz, že klíč patří výše jmenované osobě\n" + +-#: ncrypt/crypt_gpgme.c:1829 ++#: ncrypt/crypt_gpgme.c:1860 + msgid "WARNING: The key does NOT BELONG to the person named as shown above\n" + msgstr "POZOR: Klíč NEPATŘÍ výše jmenované osobě\n" + +-#: ncrypt/crypt_gpgme.c:1833 ++#: ncrypt/crypt_gpgme.c:1864 + msgid "WARNING: It is NOT certain that the key belongs to the person named as shown above\n" + msgstr "POZOR: NENÍ jisté, zda klíč patří výše jmenované osobě\n" + +-#: ncrypt/crypt_gpgme.c:1886 ++#: ncrypt/crypt_gpgme.c:1917 + msgid "KeyID " + msgstr "ID klíče " + + #. L10N: You will see this message in place of "KeyID " + #. if the S/MIME key has no ID. This is quite an error. +-#: ncrypt/crypt_gpgme.c:1893 ++#: ncrypt/crypt_gpgme.c:1924 + msgid "no signature fingerprint available" + msgstr "není k dispozici žádný otisk podpisu" + +-#: ncrypt/crypt_gpgme.c:1902 ncrypt/crypt_gpgme.c:1907 ++#: ncrypt/crypt_gpgme.c:1933 ncrypt/crypt_gpgme.c:1938 + msgid "created: " + msgstr "vytvořen: " + +-#: ncrypt/crypt_gpgme.c:1981 ++#: ncrypt/crypt_gpgme.c:2012 + #, c-format + msgid "Error getting key information for KeyID %s: %s\n" + msgstr "Chyba při získávání podrobností o klíči s ID %s: %s\n" + +-#: ncrypt/crypt_gpgme.c:1988 ncrypt/crypt_gpgme.c:2003 ++#: ncrypt/crypt_gpgme.c:2019 ncrypt/crypt_gpgme.c:2034 + msgid "Good signature from:" + msgstr "Dobrý podpis od:" + +-#: ncrypt/crypt_gpgme.c:1995 ++#: ncrypt/crypt_gpgme.c:2026 + msgid "*BAD* signature from:" + msgstr "*ŠPATNÝ* podpis od:" + +-#: ncrypt/crypt_gpgme.c:2011 ++#: ncrypt/crypt_gpgme.c:2042 + msgid "Problem signature from:" + msgstr "Problematický podpis od:" + + #. L10N: This is trying to match the width of the + #. "Problem signature from:" translation just above. +-#: ncrypt/crypt_gpgme.c:2017 ++#: ncrypt/crypt_gpgme.c:2048 + msgid " expires: " + msgstr " vyprší: " + +-#: ncrypt/crypt_gpgme.c:2064 ncrypt/crypt_gpgme.c:2294 +-#: ncrypt/crypt_gpgme.c:3081 ++#: ncrypt/crypt_gpgme.c:2103 ncrypt/crypt_gpgme.c:2333 ++#: ncrypt/crypt_gpgme.c:3124 + msgid "[-- Begin signature information --]\n" + msgstr "[-- Začátek podrobností o podpisu --]\n" + +-#: ncrypt/crypt_gpgme.c:2075 ++#: ncrypt/crypt_gpgme.c:2114 + #, c-format + msgid "Error: verification failed: %s\n" + msgstr "Chyba: ověření selhalo: %s\n" + +-#: ncrypt/crypt_gpgme.c:2126 ++#: ncrypt/crypt_gpgme.c:2165 + #, c-format + msgid "*** Begin Notation (signature by: %s) ***\n" + msgstr "*** Začátek zápisu (podepsáno: %s) ***\n" + +-#: ncrypt/crypt_gpgme.c:2145 ++#: ncrypt/crypt_gpgme.c:2184 + msgid "*** End Notation ***\n" + msgstr "*** Konec zápisu ***\n" + +-#: ncrypt/crypt_gpgme.c:2153 ncrypt/crypt_gpgme.c:2308 +-#: ncrypt/crypt_gpgme.c:3091 ++#: ncrypt/crypt_gpgme.c:2192 ncrypt/crypt_gpgme.c:2347 ++#: ncrypt/crypt_gpgme.c:3134 + msgid "" + "[-- End signature information --]\n" + "\n" +@@ -4054,7 +4131,7 @@ msgstr "" + "[-- Konec podrobností o podpisu --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:2268 ++#: ncrypt/crypt_gpgme.c:2307 + #, c-format + msgid "" + "[-- Error: decryption failed: %s --]\n" +@@ -4063,21 +4140,26 @@ msgstr "" + "[-- Chyba: dešifrování selhalo: %s --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:2821 ++#: ncrypt/crypt_gpgme.c:2860 + #, c-format + msgid "Error importing key: %s" + msgstr "Chyba při importu klíče: %s" + +-#: ncrypt/crypt_gpgme.c:3059 ++#: ncrypt/crypt_gpgme.c:3098 + #, c-format + msgid "Error: decryption/verification failed: %s\n" + msgstr "Chyba: dešifrování/ověřování selhalo: %s\n" + +-#: ncrypt/crypt_gpgme.c:3103 ++#: ncrypt/crypt_gpgme.c:3105 ncrypt/crypt_gpgme.c:3302 ncrypt/pgp.c:726 ++#: ncrypt/pgp.c:1273 ++msgid "PGP message successfully decrypted" ++msgstr "PGP zpráva byla úspěšně dešifrována" ++ ++#: ncrypt/crypt_gpgme.c:3146 + msgid "Error: copy data failed\n" + msgstr "Chyba: selhalo kopírování dat\n" + +-#: ncrypt/crypt_gpgme.c:3116 ncrypt/pgp.c:675 ++#: ncrypt/crypt_gpgme.c:3159 ncrypt/pgp.c:674 + msgid "" + "[-- BEGIN PGP MESSAGE --]\n" + "\n" +@@ -4085,11 +4167,11 @@ msgstr "" + "[-- ZAČÁTEK PGP ZPRÁVY --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3118 ncrypt/pgp.c:677 ++#: ncrypt/crypt_gpgme.c:3161 ncrypt/pgp.c:676 + msgid "[-- BEGIN PGP PUBLIC KEY BLOCK --]\n" + msgstr "[--ZAČÁTEK VEŘEJNÉHO KLÍČE PGP --]\n" + +-#: ncrypt/crypt_gpgme.c:3120 ncrypt/pgp.c:679 ++#: ncrypt/crypt_gpgme.c:3163 ncrypt/pgp.c:678 + msgid "" + "[-- BEGIN PGP SIGNED MESSAGE --]\n" + "\n" +@@ -4097,19 +4179,19 @@ msgstr "" + "[-- ZAČÁTEK PODEPSANÉ PGP ZPRÁVY --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3145 ncrypt/pgp.c:716 ++#: ncrypt/crypt_gpgme.c:3188 ncrypt/pgp.c:715 + msgid "[-- END PGP MESSAGE --]\n" + msgstr "[-- KONEC PGP ZPRÁVY --]\n" + +-#: ncrypt/crypt_gpgme.c:3147 ncrypt/pgp.c:730 ++#: ncrypt/crypt_gpgme.c:3190 ncrypt/pgp.c:729 + msgid "[-- END PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- KONEC VEŘEJNÉHO KLÍČE PGP --]\n" + +-#: ncrypt/crypt_gpgme.c:3149 ncrypt/pgp.c:732 ++#: ncrypt/crypt_gpgme.c:3192 ncrypt/pgp.c:731 + msgid "[-- END PGP SIGNED MESSAGE --]\n" + msgstr "[-- KONEC PODEPSANÉ PGP ZPRÁVY --]\n" + +-#: ncrypt/crypt_gpgme.c:3170 ncrypt/pgp.c:765 ++#: ncrypt/crypt_gpgme.c:3213 ncrypt/pgp.c:764 + msgid "" + "[-- Error: could not find beginning of PGP message --]\n" + "\n" +@@ -4117,11 +4199,11 @@ msgstr "" + "[-- Chyba: nelze najít začátek PGP zprávy --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3198 ncrypt/crypt_gpgme.c:3296 ncrypt/pgp.c:1218 ++#: ncrypt/crypt_gpgme.c:3241 ncrypt/crypt_gpgme.c:3339 ncrypt/pgp.c:1218 + msgid "[-- Error: could not create temporary file --]\n" + msgstr "[-- Chyba: dočasný soubor nelze vytvořit --]\n" + +-#: ncrypt/crypt_gpgme.c:3212 ++#: ncrypt/crypt_gpgme.c:3255 + msgid "" + "[-- The following data is PGP/MIME signed and encrypted --]\n" + "\n" +@@ -4129,7 +4211,7 @@ msgstr "" + "[-- Následující data jsou podepsána a zašifrována ve formátu PGP/MIME --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3214 ncrypt/pgp.c:1231 ++#: ncrypt/crypt_gpgme.c:3257 ncrypt/pgp.c:1232 + msgid "" + "[-- The following data is PGP/MIME encrypted --]\n" + "\n" +@@ -4137,24 +4219,20 @@ msgstr "" + "[-- Následující data jsou zašifrována ve formátu PGP/MIME --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3254 ++#: ncrypt/crypt_gpgme.c:3297 + msgid "[-- End of PGP/MIME signed and encrypted data --]\n" + msgstr "[-- Konec dat podepsaných a zašifrovaných ve formátu PGP/MIME --]\n" + +-#: ncrypt/crypt_gpgme.c:3255 ncrypt/pgp.c:1267 ++#: ncrypt/crypt_gpgme.c:3298 ncrypt/pgp.c:1268 + msgid "[-- End of PGP/MIME encrypted data --]\n" + msgstr "[-- Konec dat zašifrovaných ve formátu PGP/MIME --]\n" + +-#: ncrypt/crypt_gpgme.c:3259 ncrypt/pgp.c:727 ncrypt/pgp.c:1272 +-msgid "PGP message successfully decrypted" +-msgstr "PGP zpráva byla úspěšně dešifrována" +- +-#: ncrypt/crypt_gpgme.c:3265 ncrypt/pgp.c:666 ncrypt/pgp.c:718 +-#: ncrypt/pgp.c:1276 ++#: ncrypt/crypt_gpgme.c:3308 ncrypt/pgp.c:665 ncrypt/pgp.c:717 ++#: ncrypt/pgp.c:1277 + msgid "Could not decrypt PGP message" + msgstr "PGP zprávu nelze dešifrovat" + +-#: ncrypt/crypt_gpgme.c:3310 ++#: ncrypt/crypt_gpgme.c:3353 + msgid "" + "[-- The following data is S/MIME signed --]\n" + "\n" +@@ -4162,7 +4240,7 @@ msgstr "" + "[-- Následující data jsou podepsaná pomocí S/MIME --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3311 ++#: ncrypt/crypt_gpgme.c:3354 + msgid "" + "[-- The following data is S/MIME encrypted --]\n" + "\n" +@@ -4170,34 +4248,34 @@ msgstr "" + "[-- Následující data jsou zašifrována pomocí S/MIME --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3358 ++#: ncrypt/crypt_gpgme.c:3401 + msgid "[-- End of S/MIME signed data --]\n" + msgstr "[-- Konec dat podepsaných pomocí S/MIME --]\n" + +-#: ncrypt/crypt_gpgme.c:3359 ++#: ncrypt/crypt_gpgme.c:3402 + msgid "[-- End of S/MIME encrypted data --]\n" + msgstr "[-- Konec dat zašifrovaných ve formátu S/MIME --]\n" + +-#: ncrypt/crypt_gpgme.c:4029 ++#: ncrypt/crypt_gpgme.c:4077 + msgid "[Can't display this user ID (unknown encoding)]" + msgstr "[Nelze zobrazit ID tohoto uživatele (neznámé kódování)]" + +-#: ncrypt/crypt_gpgme.c:4031 ++#: ncrypt/crypt_gpgme.c:4079 + msgid "[Can't display this user ID (invalid encoding)]" + msgstr "[Nelze zobrazit ID tohoto uživatele (neplatné kódování)]" + +-#: ncrypt/crypt_gpgme.c:4036 ++#: ncrypt/crypt_gpgme.c:4084 + msgid "[Can't display this user ID (invalid DN)]" + msgstr "[Nelze zobrazit ID tohoto uživatele (neplatné DN)]" + + #. L10N: comes after the Name or aka if the key is invalid + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4150 ncrypt/crypt_gpgme.c:4291 ++#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4339 + msgid "[Invalid]" + msgstr "[Neplatný]" + + #. L10N: This is printed after "Key Type: " and looks like this: PGP, 2048 bit RSA +-#: ncrypt/crypt_gpgme.c:4190 ncrypt/crypt_gpgme.c:4331 ++#: ncrypt/crypt_gpgme.c:4238 ncrypt/crypt_gpgme.c:4379 + #, c-format + msgid "%s, %lu bit %s\n" + msgid_plural "%s, %lu bit %s\n" +@@ -4206,94 +4284,94 @@ msgstr[1] "%s, %lu bit %s\n" + msgstr[2] "%s, %lu bit %s\n" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4338 ++#: ncrypt/crypt_gpgme.c:4246 ncrypt/crypt_gpgme.c:4386 + msgid "encryption" + msgstr "šifrovaní" + +-#: ncrypt/crypt_gpgme.c:4199 ncrypt/crypt_gpgme.c:4205 +-#: ncrypt/crypt_gpgme.c:4339 ncrypt/crypt_gpgme.c:4344 ++#: ncrypt/crypt_gpgme.c:4247 ncrypt/crypt_gpgme.c:4253 ++#: ncrypt/crypt_gpgme.c:4387 ncrypt/crypt_gpgme.c:4392 + msgid ", " + msgstr ", " + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4204 ncrypt/crypt_gpgme.c:4343 ++#: ncrypt/crypt_gpgme.c:4252 ncrypt/crypt_gpgme.c:4391 + msgid "signing" + msgstr "podepisování" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4210 ncrypt/crypt_gpgme.c:4348 ++#: ncrypt/crypt_gpgme.c:4258 ncrypt/crypt_gpgme.c:4396 + msgid "certification" + msgstr "ověřování" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4285 ++#: ncrypt/crypt_gpgme.c:4333 + msgid "[Revoked]" + msgstr "[Odvolaný]" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4297 ++#: ncrypt/crypt_gpgme.c:4345 + msgid "[Expired]" + msgstr "[Platnost vypršela]" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4303 ++#: ncrypt/crypt_gpgme.c:4351 + msgid "[Disabled]" + msgstr "[Zakázán]" + +-#: ncrypt/crypt_gpgme.c:4376 ++#: ncrypt/crypt_gpgme.c:4424 + msgid "Collecting data..." + msgstr "Sbírám údaje…" + +-#: ncrypt/crypt_gpgme.c:4394 ++#: ncrypt/crypt_gpgme.c:4442 + #, c-format + msgid "Error finding issuer key: %s\n" + msgstr "Chyba při vyhledávání klíče vydavatele: %s\n" + +-#: ncrypt/crypt_gpgme.c:4403 ++#: ncrypt/crypt_gpgme.c:4451 + msgid "Error: certification chain too long - stopping here\n" + msgstr "Chyba: řetězec certifikátů je příliš dlouhý - zde se končí\n" + +-#: ncrypt/crypt_gpgme.c:4413 ncrypt/pgpkey.c:733 ++#: ncrypt/crypt_gpgme.c:4461 ncrypt/pgpkey.c:766 + #, c-format + msgid "Key ID: 0x%s" + msgstr "ID klíče: 0x%s" + +-#: ncrypt/crypt_gpgme.c:4538 ncrypt/crypt_gpgme.c:4589 ++#: ncrypt/crypt_gpgme.c:4586 ncrypt/crypt_gpgme.c:4637 + #, c-format + msgid "gpgme_op_keylist_start failed: %s" + msgstr "gpgme_op_keylist_start selhala: %s" + +-#: ncrypt/crypt_gpgme.c:4577 ncrypt/crypt_gpgme.c:4619 +-#: ncrypt/crypt_gpgme.c:5355 ++#: ncrypt/crypt_gpgme.c:4625 ncrypt/crypt_gpgme.c:4667 ++#: ncrypt/crypt_gpgme.c:5435 + #, c-format + msgid "gpgme_op_keylist_next failed: %s" + msgstr "gpgme_op_keylist_next selhala: %s" + +-#: ncrypt/crypt_gpgme.c:4701 ++#: ncrypt/crypt_gpgme.c:4749 + msgid "All matching keys are marked expired/revoked" + msgstr "Všem vyhovujícím klíčům vypršela platnost nebo byly zneplatněny" + +-#: ncrypt/crypt_gpgme.c:4731 ncrypt/pgpkey.c:666 ncrypt/smime.c:551 ++#: ncrypt/crypt_gpgme.c:4779 ncrypt/pgpkey.c:669 ncrypt/smime.c:553 + msgid "Select " + msgstr "Zvolit " + +-#: ncrypt/crypt_gpgme.c:4733 ncrypt/pgpkey.c:668 ++#: ncrypt/crypt_gpgme.c:4781 ncrypt/pgpkey.c:671 + msgid "Check key " + msgstr "Kontrolovat klíč " + +-#: ncrypt/crypt_gpgme.c:4749 ++#: ncrypt/crypt_gpgme.c:4827 + msgid "PGP and S/MIME keys matching" + msgstr "PGP a S/MIME klíče vyhovující" + +-#: ncrypt/crypt_gpgme.c:4751 ++#: ncrypt/crypt_gpgme.c:4829 + msgid "PGP keys matching" + msgstr "PGP klíče vyhovující" + +-#: ncrypt/crypt_gpgme.c:4753 ++#: ncrypt/crypt_gpgme.c:4831 + msgid "S/MIME keys matching" + msgstr "S/MIME klíče vyhovující" + +-#: ncrypt/crypt_gpgme.c:4755 ++#: ncrypt/crypt_gpgme.c:4833 + msgid "keys matching" + msgstr "klíče vyhovující" + +@@ -4301,55 +4379,55 @@ msgstr "klíče vyhovující" + #. %1$s is one of the previous four entries. + #. %2$s is an address. + #. e.g. "S/MIME keys matching " +-#: ncrypt/crypt_gpgme.c:4763 ++#: ncrypt/crypt_gpgme.c:4841 + #, c-format + msgid "%s <%s>" + msgstr "%s <%s>" + + #. L10N: e.g. 'S/MIME keys matching "Michael Elkins".' +-#: ncrypt/crypt_gpgme.c:4768 ++#: ncrypt/crypt_gpgme.c:4846 + #, c-format + msgid "%s \"%s\"" + msgstr "%s „%s“" + +-#: ncrypt/crypt_gpgme.c:4796 ncrypt/pgpkey.c:754 ++#: ncrypt/crypt_gpgme.c:4874 ncrypt/pgpkey.c:787 + msgid "This key can't be used: expired/disabled/revoked" + msgstr "Klíč nelze použít: vypršela jeho platnost, nebo byl zakázán či odvolán" + +-#: ncrypt/crypt_gpgme.c:4810 ncrypt/pgpkey.c:767 ncrypt/smime.c:581 ++#: ncrypt/crypt_gpgme.c:4888 ncrypt/pgpkey.c:800 ncrypt/smime.c:613 + msgid "ID is expired/disabled/revoked. Do you really want to use the key?" + msgstr "Tomuto ID vypršela platnost, nebo bylo zakázáno či odvoláno. Opravdu chcete tento klíč použít?" + +-#: ncrypt/crypt_gpgme.c:4820 ncrypt/pgpkey.c:779 ++#: ncrypt/crypt_gpgme.c:4898 ncrypt/pgpkey.c:812 + msgid "ID is not valid. Do you really want to use the key?" + msgstr "Toto ID není platné. Opravdu chcete tento klíč použít?" + +-#: ncrypt/crypt_gpgme.c:4823 ncrypt/pgpkey.c:782 ++#: ncrypt/crypt_gpgme.c:4901 ncrypt/pgpkey.c:815 + msgid "ID is only marginally valid. Do you really want to use the key?" + msgstr "Důvěryhodnost tohoto ID je pouze částečná. Opravdu chcete tento klíč použít?" + +-#: ncrypt/crypt_gpgme.c:4831 ncrypt/pgpkey.c:775 ncrypt/smime.c:585 ++#: ncrypt/crypt_gpgme.c:4909 ncrypt/pgpkey.c:808 ncrypt/smime.c:617 + msgid "ID has undefined validity. Do you really want to use the key?" + msgstr "ID nemá definovanou důvěryhodnost. Opravdu chcete tento klíč použít?" + +-#: ncrypt/crypt_gpgme.c:4911 ncrypt/crypt_gpgme.c:5024 ncrypt/pgpkey.c:1019 +-#: ncrypt/pgpkey.c:1146 ++#: ncrypt/crypt_gpgme.c:4991 ncrypt/crypt_gpgme.c:5104 ncrypt/pgpkey.c:1054 ++#: ncrypt/pgpkey.c:1181 + #, c-format + msgid "Looking for keys matching \"%s\"..." + msgstr "Hledám klíče vyhovující „%s“…" + +-#: ncrypt/crypt_gpgme.c:5140 ncrypt/pgpkey.c:870 ncrypt/smime.c:924 ++#: ncrypt/crypt_gpgme.c:5220 ncrypt/pgpkey.c:905 ncrypt/smime.c:958 + #, c-format + msgid "No matching keys found for \"%s\"" + msgstr "Nenalezeny vyhovující klíče pro „%s“" + +-#: ncrypt/crypt_gpgme.c:5190 ncrypt/pgp.c:1456 ++#: ncrypt/crypt_gpgme.c:5270 ncrypt/pgp.c:1457 + #, c-format + msgid "Use keyID = \"%s\" for %s?" + msgstr "Použít ID klíče „%s“ pro %s?" + +-#: ncrypt/crypt_gpgme.c:5238 ncrypt/pgp.c:1505 ncrypt/smime.c:944 +-#: ncrypt/smime.c:1049 ++#: ncrypt/crypt_gpgme.c:5318 ncrypt/pgp.c:1506 ncrypt/smime.c:978 ++#: ncrypt/smime.c:1083 + #, c-format + msgid "Enter keyID for %s: " + msgstr "Zadejte ID klíče pro %s: " +@@ -4358,15 +4436,15 @@ msgstr "Zadejte ID klíče pro %s: " + #. mutt_gpgme_select_secret_key() tries to list all secret keys to choose + #. from. This error is displayed if no results were found. + #. +-#: ncrypt/crypt_gpgme.c:5364 ++#: ncrypt/crypt_gpgme.c:5444 + msgid "No secret keys found" + msgstr "Nenalezeny žádné tajné klíče" + +-#: ncrypt/crypt_gpgme.c:5398 ncrypt/pgpkey.c:888 ++#: ncrypt/crypt_gpgme.c:5478 ncrypt/pgpkey.c:923 + msgid "Please enter the key ID: " + msgstr "Zadejte ID klíče: " + +-#: ncrypt/crypt_gpgme.c:5411 ++#: ncrypt/crypt_gpgme.c:5491 + #, c-format + msgid "Error exporting key: %s" + msgstr "Chyba při exportu klíče: %s" +@@ -4374,92 +4452,92 @@ msgstr "Chyba při exportu klíče: %s" + #. 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. +-#: ncrypt/crypt_gpgme.c:5429 ++#: ncrypt/crypt_gpgme.c:5509 + #, c-format + msgid "PGP Key 0x%s" + msgstr "Klíč PGP 0x%s" + +-#: ncrypt/crypt_gpgme.c:5474 ++#: ncrypt/crypt_gpgme.c:5554 + msgid "GPGME: OpenPGP protocol not available" + msgstr "GPGME: Protokol OpenGPG není dostupný" + +-#: ncrypt/crypt_gpgme.c:5485 ++#: ncrypt/crypt_gpgme.c:5565 + msgid "GPGME: CMS protocol not available" + msgstr "GPGME: Protokol CMS není dostupný" + +-#: ncrypt/crypt_gpgme.c:5536 ++#: ncrypt/crypt_gpgme.c:5616 + msgid "S/MIME (s)ign, sign (a)s, (p)gp, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME (p)odepsat, podepsat (j)ako, p(g)p, (n)ic či vypnout pří(l)ež. šifr.?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5538 ++#: ncrypt/crypt_gpgme.c:5618 + msgid "sapco" + msgstr "pjgnl" + +-#: ncrypt/crypt_gpgme.c:5545 ++#: ncrypt/crypt_gpgme.c:5625 + msgid "PGP (s)ign, sign (a)s, s/(m)ime, (c)lear, or (o)ppenc mode off?" + msgstr "PGP (p)odepsat, podepsat (j)ako, s/(m)ime, (n)ic či vypnout pří(l)ež. šifr.?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5547 ++#: ncrypt/crypt_gpgme.c:5627 + msgid "samco" + msgstr "pjmnl" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5557 ++#: ncrypt/crypt_gpgme.c:5637 + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME šif(r)ovat, (p)odepsat, pod.(j)ako, (o)bojí, p(g)p, (n)ic, pří(l).šifr.?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5560 ++#: ncrypt/crypt_gpgme.c:5640 + msgid "esabpco" + msgstr "rpjognl" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5566 ++#: ncrypt/crypt_gpgme.c:5646 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime, (c)lear, or (o)ppenc mode?" + msgstr "PGP šif(r)ovat, (p)odepsat, pod.(j)ako, (o)bojí, s/(m)ime, (n)ic, pří(l).šifr.?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5569 ++#: ncrypt/crypt_gpgme.c:5649 + msgid "esabmco" + msgstr "rpjomnl" + +-#: ncrypt/crypt_gpgme.c:5580 ++#: ncrypt/crypt_gpgme.c:5660 + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp or (c)lear?" + msgstr "S/MIME šif(r)ovat, (p)odepsat, podepsat (j)ako, (o)bojí, p(g)p či (n)ic?" + + #. L10N: S/MIME options +-#: ncrypt/crypt_gpgme.c:5582 ++#: ncrypt/crypt_gpgme.c:5662 + msgid "esabpc" + msgstr "rpjogn" + +-#: ncrypt/crypt_gpgme.c:5589 ++#: ncrypt/crypt_gpgme.c:5669 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime or (c)lear?" + msgstr "PGP šif(r)ovat, (p)odepsat, podepsat (j)ako, (o)bojí, s/(m)ime, či (n)ic?" + + #. L10N: PGP options +-#: ncrypt/crypt_gpgme.c:5591 ++#: ncrypt/crypt_gpgme.c:5671 + msgid "esabmc" + msgstr "rpjomn" + +-#: ncrypt/crypt_gpgme.c:5751 ++#: ncrypt/crypt_gpgme.c:5831 + msgid "Failed to verify sender" + msgstr "Odesílatele nelze ověřit" + +-#: ncrypt/crypt_gpgme.c:5754 ++#: ncrypt/crypt_gpgme.c:5834 + msgid "Failed to figure out sender" + msgstr "Nelze určit odesílatele" + +-#: ncrypt/pgp.c:108 ++#: ncrypt/pgp.c:107 + msgid "Enter PGP passphrase:" + msgstr "Zadejte PGP heslo:" + +-#: ncrypt/pgp.c:595 ++#: ncrypt/pgp.c:594 + msgid "[-- Error: unable to create PGP subprocess --]\n" + msgstr "[-- Chyba: nelze spustit PGP proces --]\n" + +-#: ncrypt/pgp.c:644 ncrypt/pgp.c:926 ncrypt/pgp.c:1086 ++#: ncrypt/pgp.c:643 ncrypt/pgp.c:925 ncrypt/pgp.c:1085 + msgid "" + "[-- End of PGP output --]\n" + "\n" +@@ -4470,15 +4548,15 @@ msgstr "" + #. L10N: You will see this error message if (1) you are decrypting + #. (not encrypting) something and (2) it is a plaintext. So the + #. message does not mean "You failed to encrypt the message." +-#: ncrypt/pgp.c:724 ++#: ncrypt/pgp.c:723 + msgid "PGP message is not encrypted" + msgstr "PGP zpráva nebyla zašifrována" + +-#: ncrypt/pgp.c:978 ++#: ncrypt/pgp.c:977 + msgid "Internal error. Please submit a bug report." + msgstr "Vnitřní chyba. Prosím, zašlete hlášení o chybě." + +-#: ncrypt/pgp.c:1043 ++#: ncrypt/pgp.c:1042 + msgid "" + "[-- Error: could not create a PGP subprocess --]\n" + "\n" +@@ -4486,128 +4564,128 @@ msgstr "" + "[-- Chyba: nelze spustit PGP --]\n" + "\n" + +-#: ncrypt/pgp.c:1073 ncrypt/pgp.c:1098 ncrypt/smime.c:2143 postpone.c:757 +-#: postpone.c:785 ++#: ncrypt/pgp.c:1072 ncrypt/pgp.c:1097 ncrypt/smime.c:2177 postpone.c:803 ++#: postpone.c:831 + msgid "Decryption failed" + msgstr "Dešifrování se nezdařilo" + +-#: ncrypt/pgp.c:1333 ++#: ncrypt/pgp.c:1334 + msgid "Can't open PGP subprocess" + msgstr "PGP proces nelze spustit" + +-#: ncrypt/pgp.c:1768 ++#: ncrypt/pgp.c:1770 + msgid "Can't invoke PGP" + msgstr "PGP nelze spustit." + + #. L10N: The next string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1875 ++#: ncrypt/pgp.c:1877 + msgid "PGP/M(i)ME" + msgstr "PGP/M(i)ME" + + #. L10N: The previous string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1881 ++#: ncrypt/pgp.c:1883 + msgid "(i)nline" + msgstr "(i)nline" + + # XXX: %s is "PGP/M(i)ME" or "(i)nline" + #. L10N: PGP options (inline) (opportunistic encryption is on) +-#: ncrypt/pgp.c:1893 ++#: ncrypt/pgp.c:1895 + #, c-format + msgid "PGP (s)ign, sign (a)s, %s format, (c)lear, or (o)ppenc mode off?" + msgstr "PGP (p)odepsat, pod.(j)ako, formát %s, (n)ic, vypnout pří(l).šifr.?" + + #. L10N: PGP options (inline) (opportunistic encryption is on) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1899 ++#: ncrypt/pgp.c:1901 + msgid "saico" + msgstr "pjinl" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1905 ++#: ncrypt/pgp.c:1907 + msgid "PGP (s)ign, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "PGP (p)odepsat, podepsat (j)ako, (n)ic, vypnout pří(l). šifr.?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1907 ++#: ncrypt/pgp.c:1909 + msgid "saco" + msgstr "pjnl" + + # XXX: %s is "PGP/M(i)ME" or "(i)nline" + #. L10N: PGP options (inline) (opportunistic encryption is off) +-#: ncrypt/pgp.c:1921 ++#: ncrypt/pgp.c:1923 + #, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, (c)lear, or (o)ppenc mode?" + msgstr "PGP šif(r)ovat, (p)odep., pod.(j)ako, (o)bojí, %s, (n)ic, pří(l).šif.?" + + #. L10N: PGP options (inline) (opportunistic encryption is off) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1927 ++#: ncrypt/pgp.c:1929 + msgid "esabico" + msgstr "rpjoinl" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1933 ++#: ncrypt/pgp.c:1935 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "PGP šif(r)ovat, (p)odepsat, podepsat (j)ako, (o)bojí, (n)ic, pří(l). šifr.?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1936 ++#: ncrypt/pgp.c:1938 + msgid "esabco" + msgstr "rpjonl" + + # XXX: %s is "PGP/M(i)ME" or "(i)nline" + #. L10N: PGP options (inline) +-#: ncrypt/pgp.c:1947 ++#: ncrypt/pgp.c:1949 + #, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, or (c)lear?" + msgstr "PGP šif(r)ovat, (p)odepsat, podp (j)ako, (o)bojí, formát %s, či (n)ic?" + + #. L10N: PGP options (inline) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1953 ++#: ncrypt/pgp.c:1955 + msgid "esabic" + msgstr "rpjoin" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1959 ++#: ncrypt/pgp.c:1961 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (c)lear?" + msgstr "PGP šif(r)ovat, (p)odepsat, podepsat (j)ako, (o)bojí, či (n)ic?" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1961 ++#: ncrypt/pgp.c:1963 + msgid "esabc" + msgstr "rpjon" + +-#: ncrypt/pgpinvoke.c:458 ++#: ncrypt/pgpinvoke.c:461 + msgid "Fetching PGP key..." + msgstr "Získávám PGP klíč…" + +-#: ncrypt/pgpkey.c:640 ++#: ncrypt/pgpkey.c:643 + msgid "All matching keys are expired, revoked, or disabled" + msgstr "Všem vyhovujícím klíčům vypršela platnost, byly odvolány nebo zakázány" + +-#: ncrypt/pgpkey.c:681 ++#: ncrypt/pgpkey.c:714 + #, c-format + msgid "PGP keys matching <%s>" + msgstr "klíče PGP vyhovující <%s>" + +-#: ncrypt/pgpkey.c:683 ++#: ncrypt/pgpkey.c:716 + #, c-format + msgid "PGP keys matching \"%s\"" + msgstr "klíče PGP vyhovující „%s“" + +-#: ncrypt/pgpkey.c:700 ncrypt/pgpkey.c:909 ++#: ncrypt/pgpkey.c:733 ncrypt/pgpkey.c:944 + msgid "Can't open /dev/null" + msgstr "Nelze otevřít /dev/null" + +-#: ncrypt/pgpkey.c:938 ++#: ncrypt/pgpkey.c:973 + #, c-format + msgid "PGP Key %s" + msgstr "Klíč PGP %s" + +-#: ncrypt/smime.c:182 ++#: ncrypt/smime.c:180 + msgid "Enter S/MIME passphrase:" + msgstr "Zadejte S/MIME heslo:" + +@@ -4616,7 +4694,7 @@ msgstr "Zadejte S/MIME heslo:" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:460 ++#: ncrypt/smime.c:462 + msgid "Expired " + msgstr "Platnost vypršela " + +@@ -4625,7 +4703,7 @@ msgstr "Platnost vypršela " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:468 ++#: ncrypt/smime.c:470 + msgid "Invalid " + msgstr "Neplatný " + +@@ -4634,7 +4712,7 @@ msgstr "Neplatný " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:476 ++#: ncrypt/smime.c:478 + msgid "Revoked " + msgstr "Odvolaný " + +@@ -4643,7 +4721,7 @@ msgstr "Odvolaný " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:484 ++#: ncrypt/smime.c:486 + msgid "Trusted " + msgstr "Důvěryhodný " + +@@ -4652,7 +4730,7 @@ msgstr "Důvěryhodný " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:492 ++#: ncrypt/smime.c:494 + msgid "Unverified" + msgstr "Neověřený " + +@@ -4661,7 +4739,7 @@ msgstr "Neověřený " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:500 ++#: ncrypt/smime.c:502 + msgid "Verified " + msgstr "Ověřený " + +@@ -4670,58 +4748,58 @@ msgstr "Ověřený " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:508 ++#: ncrypt/smime.c:510 + msgid "Unknown " + msgstr "Neznámý " + +-#: ncrypt/smime.c:545 ++#: ncrypt/smime.c:547 + #, c-format + msgid "S/MIME certificates matching \"%s\"" + msgstr "S/MIME klíče vyhovující „%s“" + +-#: ncrypt/smime.c:589 ++#: ncrypt/smime.c:621 + msgid "ID is not trusted. Do you really want to use the key?" + msgstr "ID není důvěryhodné. Opravdu chcete tento klíč použít?" + +-#: ncrypt/smime.c:910 ++#: ncrypt/smime.c:944 + msgid "Enter keyID: " + msgstr "Zadejte ID klíče: " + +-#: ncrypt/smime.c:1055 ++#: ncrypt/smime.c:1089 + #, c-format + msgid "No (valid) certificate found for %s" + msgstr "Nebyl nalezen žádný (platný) certifikát pro %s" + +-#: ncrypt/smime.c:1108 ncrypt/smime.c:1137 ncrypt/smime.c:1209 +-#: ncrypt/smime.c:1243 ncrypt/smime.c:1319 ncrypt/smime.c:1399 ++#: ncrypt/smime.c:1142 ncrypt/smime.c:1171 ncrypt/smime.c:1243 ++#: ncrypt/smime.c:1277 ncrypt/smime.c:1353 ncrypt/smime.c:1433 + msgid "Error: unable to create OpenSSL subprocess" + msgstr "Chyba: nelze spustit OpenSSL jako podproces" + +-#: ncrypt/smime.c:1379 ++#: ncrypt/smime.c:1413 + msgid "Label for certificate: " + msgstr "Název certifikátu: " + +-#: ncrypt/smime.c:1480 ++#: ncrypt/smime.c:1514 + msgid "no certfile" + msgstr "chybí soubor s certifikáty" + +-#: ncrypt/smime.c:1483 ++#: ncrypt/smime.c:1517 + msgid "no mbox" + msgstr "žádná schránka" + +-#: ncrypt/smime.c:1640 ncrypt/smime.c:1810 ++#: ncrypt/smime.c:1674 ncrypt/smime.c:1844 + msgid "No output from OpenSSL..." + msgstr "OpenSSL nevygenerovalo žádný výstup…" + +-#: ncrypt/smime.c:1727 ++#: ncrypt/smime.c:1761 + msgid "Can't sign: No key specified. Use Sign As." + msgstr "Nemohu najít klíč odesílatele, použijte funkci podepsat jako." + +-#: ncrypt/smime.c:1777 ++#: ncrypt/smime.c:1811 + msgid "Can't open OpenSSL subprocess" + msgstr "OpenSSL podproces nelze spustit" + +-#: ncrypt/smime.c:2004 ncrypt/smime.c:2123 ++#: ncrypt/smime.c:2038 ncrypt/smime.c:2157 + msgid "" + "[-- End of OpenSSL output --]\n" + "\n" +@@ -4729,19 +4807,19 @@ msgstr "" + "[-- Konec OpenSSL výstupu --]\n" + "\n" + +-#: ncrypt/smime.c:2080 ncrypt/smime.c:2093 ++#: ncrypt/smime.c:2114 ncrypt/smime.c:2127 + msgid "[-- Error: unable to create OpenSSL subprocess --]\n" + msgstr "[-- Chyba: nelze spustit OpenSSL podproces --]\n" + +-#: ncrypt/smime.c:2129 ++#: ncrypt/smime.c:2163 + msgid "[-- The following data is S/MIME encrypted --]\n" + msgstr "[-- Následující data jsou zašifrována pomocí S/MIME --]\n" + +-#: ncrypt/smime.c:2132 ++#: ncrypt/smime.c:2166 + msgid "[-- The following data is S/MIME signed --]\n" + msgstr "[-- Následují data podepsaná pomocí S/MIME --]\n" + +-#: ncrypt/smime.c:2225 ++#: ncrypt/smime.c:2259 + msgid "" + "\n" + "[-- End of S/MIME encrypted data. --]\n" +@@ -4749,7 +4827,7 @@ msgstr "" + "\n" + "[-- Konec dat zašifrovaných ve formátu S/MIME --]\n" + +-#: ncrypt/smime.c:2227 ++#: ncrypt/smime.c:2261 + msgid "" + "\n" + "[-- End of S/MIME signed data. --]\n" +@@ -4758,160 +4836,160 @@ msgstr "" + "[-- Konec dat podepsaných pomocí S/MIME --]\n" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2361 ++#: ncrypt/smime.c:2395 + msgid "S/MIME (s)ign, encrypt (w)ith, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME (p)odepsat, šifr. po(m)ocí, podep. (j)ako, (n)ic, vypnout pří(l). šifr.?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2364 ++#: ncrypt/smime.c:2398 + msgid "swaco" + msgstr "pmjnl" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2372 ++#: ncrypt/smime.c:2406 + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME šif(r)., (p)ode., šif.po(m)ocí, pod.(j)ako, (o)bojí, (n)ic, pří(l).šif.?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2375 ++#: ncrypt/smime.c:2409 + msgid "eswabco" + msgstr "rpmjonl" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2382 ++#: ncrypt/smime.c:2416 + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, or (c)lear?" + msgstr "S/MIME šif(r)ovat, (p)odepsat, šifr. po(m)ocí, podep. (j)ako, (o)bojí či (n)ic?" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2385 ++#: ncrypt/smime.c:2419 + msgid "eswabc" + msgstr "rpmjon" + +-#: ncrypt/smime.c:2449 ++#: ncrypt/smime.c:2483 + msgid "Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear?" + msgstr "Vyberte rodinu algoritmů: (1) DES, (2) RC2, (3) AES nebo (n)ešifrovaný?" + + #. L10N: Options for: Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear? +-#: ncrypt/smime.c:2452 ++#: ncrypt/smime.c:2486 + msgid "123c" + msgstr "123n" + +-#: ncrypt/smime.c:2455 ++#: ncrypt/smime.c:2489 + msgid "(1) DES, (2) Triple-DES?" + msgstr "(1) DES, (2) Triple-DES?" + + #. L10N: Options for: (1) DES, (2) Triple-DES +-#: ncrypt/smime.c:2457 ++#: ncrypt/smime.c:2491 + msgid "12" + msgstr "12" + +-#: ncrypt/smime.c:2470 ++#: ncrypt/smime.c:2504 + msgid "(1) RC2-40, (2) RC2-64, (3) RC2-128?" + msgstr "(1) RC2-40, (2) RC2-64, (3) RC2-128?" + + #. L10N: Options for: (1) RC2-40, (2) RC2-64, (3) RC2-128 + #. L10N: Options for: (1) AES128, (2) AES192, (3) AES256 +-#: ncrypt/smime.c:2472 ncrypt/smime.c:2490 ++#: ncrypt/smime.c:2506 ncrypt/smime.c:2524 + msgid "123" + msgstr "123" + +-#: ncrypt/smime.c:2488 ++#: ncrypt/smime.c:2522 + msgid "(1) AES128, (2) AES192, (3) AES256?" + msgstr "(1) AES128, (2) AES192, (3) AES256?" + +-#: nntp/newsrc.c:632 ++#: nntp/newsrc.c:639 + msgid "Loading list of groups from cache..." + msgstr "Načítám seznam skupin z cache…" + +-#: nntp/newsrc.c:997 ++#: nntp/newsrc.c:1023 + msgid "No news server defined" + msgstr "Není definován žádný server diskusních skupin" + +-#: nntp/newsrc.c:1012 ++#: nntp/newsrc.c:1041 + #, c-format + msgid "%s is an invalid news server specification" + msgstr "%s je neplatné zadání serveru diskusních skupin" + +-#: nntp/nntp.c:236 nntp/nntp.c:777 pop/pop.c:742 pop/pop_lib.c:398 ++#: nntp/nntp.c:238 nntp/nntp.c:779 pop/pop.c:742 pop/pop_lib.c:424 + msgid "Server closed connection" + msgstr "Server uzavřel spojení" + +-#: nntp/nntp.c:340 ++#: nntp/nntp.c:342 + msgid "Server doesn't support reader mode" + msgstr "Server nepodporuje režim pro klienty" + +-#: nntp/nntp.c:576 pop/pop_auth.c:504 smtp.c:650 ++#: nntp/nntp.c:578 pop/pop_auth.c:505 smtp.c:675 + msgid "No authenticators available" + msgstr "Nejsou k dispozici žádné autentizační metody" + +-#: nntp/nntp.c:766 ++#: nntp/nntp.c:768 + #, c-format + msgid "%s authentication failed" + msgstr "%s ověření se nezdařilo" + +-#: nntp/nntp.c:826 ++#: nntp/nntp.c:828 + #, c-format + msgid "Connection to %s lost. Reconnect?" + msgstr "Spojení s %s uzavřeno. Připojit znovu?" + +-#: nntp/nntp.c:1285 ++#: nntp/nntp.c:1287 + msgid "Fetching list of articles..." + msgstr "Stahuji seznam článků…" + +-#: nntp/nntp.c:1549 nntp/nntp.c:2138 pop/pop.c:614 pop/pop.c:910 ++#: nntp/nntp.c:1551 nntp/nntp.c:2140 pop/pop.c:614 pop/pop.c:905 + msgid "Checking for new messages..." + msgstr "Hledám nové zprávy…" + +-#: nntp/nntp.c:1864 nntp/nntp.c:1954 ++#: nntp/nntp.c:1866 nntp/nntp.c:1956 + msgid "Could not switch to reader mode" + msgstr "Nepodařilo se přepnout do režimu pro klienty" + +-#: nntp/nntp.c:1877 ++#: nntp/nntp.c:1879 + #, c-format + msgid "Connected to %s. %s" + msgstr "Připojeno k %s. %s" + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + msgid "Posting is ok" + msgstr "Publikování je povoleno" + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + msgid "Posting is NOT ok" + msgstr "Publikování NENÍ povoleno" + +-#: nntp/nntp.c:2008 nntp/nntp.c:2043 ++#: nntp/nntp.c:2010 nntp/nntp.c:2045 + #, c-format + msgid "Can't post article: %s" + msgstr "Nelze odeslat článek: %s" + +-#: nntp/nntp.c:2064 ++#: nntp/nntp.c:2066 + #, c-format + msgid "Loading list of groups from server %s..." + msgstr "Načítám seznam skupin ze serveru %s…" + +-#: nntp/nntp.c:2106 nntp/nntp.c:2198 ++#: nntp/nntp.c:2108 nntp/nntp.c:2200 + msgid "Loading descriptions..." + msgstr "Načítám popisy…" + +-#: nntp/nntp.c:2128 ++#: nntp/nntp.c:2130 + msgid "Checking for new newsgroups..." + msgstr "Hledám nové zprávy v diskusních skupinách…" + +-#: nntp/nntp.c:2332 ++#: nntp/nntp.c:2334 + msgid "Unable to find child articles because server does not support XPAT command" + msgstr "Nepodařilo se nalézt poďřízený článek, protože server nepodporuje příkaz XPAT" + +-#: nntp/nntp.c:2437 ++#: nntp/nntp.c:2439 + #, c-format + msgid "%s is an invalid newsgroup specification" + msgstr "%s je neplatné upřesnění diskusních skupin" + +-#: nntp/nntp.c:2476 ++#: nntp/nntp.c:2478 + #, c-format + msgid "Newsgroup %s not found on the server" + msgstr "Diskusní skupina %s nenalezena na serveru" + +-#: nntp/nntp.c:2498 ++#: nntp/nntp.c:2500 + #, c-format + msgid "Newsgroup %s has been removed from the server" + msgstr "Diskusní skupina %s byla odstraněna ze serveru" +@@ -4923,8 +5001,8 @@ msgstr "Rozebrání dotazu pro notmuch se nezdařilo: %s" + + #: notmuch/mutt_notmuch.c:219 notmuch/mutt_notmuch.c:1939 + #, c-format +-msgid "failed to parse notmuch uri: %s" +-msgstr "rozebrání URI pro notmuch se nezdařilo: %s" ++msgid "failed to parse notmuch url: %s" ++msgstr "rozebrání URL pro notmuch se nezdařilo: %s" + + #: notmuch/mutt_notmuch.c:449 + msgid "Invalid nm_query_window_timebase value (valid values are: hour, day, week, month or year)" +@@ -6014,182 +6092,182 @@ msgstr "zobrazit/skrýt postranní panel" + msgid "show S/MIME options" + msgstr "zobrazit menu S/MIME" + +-#: pager.c:222 ++#: pager.c:214 + msgid "Not available in this menu" + msgstr "V tomto menu není tato funkce dostupná" + +-#: pager.c:229 ++#: pager.c:221 + msgid "PrevPg" + msgstr "PřStr" + +-#: pager.c:230 ++#: pager.c:222 + msgid "NextPg" + msgstr "DlStr" + +-#: pager.c:235 ++#: pager.c:227 + msgid "View Attachm." + msgstr "Přílohy" + +-#: pager.c:238 pager.c:247 ++#: pager.c:230 pager.c:239 + msgid "Next" + msgstr "Další" + + #. L10N: Status bar message: the entire email is visible in the pager + #. L10N: Status bar message: all the emails are visible in the index +-#: pager.c:2180 status.c:278 ++#: pager.c:2136 status.c:278 + msgid "all" + msgstr "vše" + + #. L10N: Status bar message: the end of the email is visible in the pager + #. L10N: Status bar message: the end of the list emails is visible in the index +-#: pager.c:2182 status.c:276 ++#: pager.c:2138 status.c:276 + msgid "end" + msgstr "celé" + +-#: pager.c:2530 pager.c:2566 pager.c:2602 pager.c:2937 ++#: pager.c:2503 pager.c:2539 pager.c:2576 pager.c:2911 + msgid "Bottom of message is shown" + msgstr "Konec zprávy je zobrazen" + +-#: pager.c:2543 pager.c:2573 pager.c:2580 pager.c:2590 ++#: pager.c:2516 pager.c:2546 pager.c:2553 pager.c:2564 + msgid "Top of message is shown" + msgstr "Začátek zprávy je zobrazen" + +-#: pager.c:2840 ++#: pager.c:2814 + msgid "Help is currently being shown" + msgstr "Nápověda je právě zobrazena" + +-#: pager.c:2897 ++#: pager.c:2871 + msgid "No more quoted text" + msgstr "Žádný další citovaný text" + +-#: pager.c:2914 ++#: pager.c:2888 + msgid "No more unquoted text after quoted text" + msgstr "Za citovaným textem již nenásleduje žádný běžný text" + +-#: pattern.c:220 pattern.c:297 pattern.c:1046 ++#: pattern.c:221 pattern.c:298 pattern.c:1085 + #, c-format + msgid "Error in expression: %s" + msgstr "Výraz %s je chybný." + +-#: pattern.c:226 pattern.c:302 pattern.c:1052 ++#: pattern.c:227 pattern.c:303 pattern.c:1091 + msgid "Empty expression" + msgstr "Prázdný výraz" + +-#: pattern.c:288 ++#: pattern.c:289 + msgid "No search command defined" + msgstr "Není definován příkaz pro hledání" + +-#: pattern.c:326 ++#: pattern.c:327 + #, c-format + msgid "Running search command: %s ..." + msgstr "Provádím příkaz pro hledání: %s ..." + +-#: pattern.c:417 ++#: pattern.c:441 pattern.c:456 + #, c-format + msgid "Invalid day of month: %s" + msgstr "Neplatný den v měsící: %s" + +-#: pattern.c:431 ++#: pattern.c:446 pattern.c:470 + #, c-format + msgid "Invalid month: %s" + msgstr "Neplatný měsíc: %s" + +-#: pattern.c:534 ++#: pattern.c:573 + #, c-format + msgid "Invalid relative date: %s" + msgstr "Chybné relativní datum: %s" + +-#: pattern.c:842 pattern.c:975 ++#: pattern.c:881 pattern.c:1014 + msgid "No current message" + msgstr "Žádné vybraná zpráva" + +-#: pattern.c:1002 ++#: pattern.c:1041 + msgid "No Context" + msgstr "Chybí kontext" + +-#: pattern.c:1125 ++#: pattern.c:1164 + msgid "Error opening 'memory stream'" + msgstr "Chyba při otevírání 'memory stream'u" + +-#: pattern.c:1171 ++#: pattern.c:1210 + msgid "Error re-opening 'memory stream'" + msgstr "Chyba při opětovném otevírání 'memory stream'" + +-#: pattern.c:1180 ++#: pattern.c:1219 + msgid "Error opening /dev/null" + msgstr "Nelze otevřít /dev/null" + +-#: pattern.c:1443 pattern.c:1620 ++#: pattern.c:1482 pattern.c:1662 + #, c-format + msgid "error in pattern at: %s" + msgstr "chyba ve vzoru na: %s" + +-#: pattern.c:1476 ++#: pattern.c:1515 + #, c-format + msgid "missing pattern: %s" + msgstr "chybí vzor: %s" + +-#: pattern.c:1494 pattern.c:1593 ++#: pattern.c:1533 pattern.c:1635 + #, c-format + msgid "mismatched parentheses: %s" + msgstr "neshodují se závorky: %s" + +-#: pattern.c:1559 ++#: pattern.c:1598 + #, c-format + msgid "%c: invalid pattern modifier" + msgstr "%c: neplatný modifikátor vzoru" + +-#: pattern.c:1564 ++#: pattern.c:1603 + #, c-format + msgid "%c: not supported in this mode" + msgstr "V tomto režimu není %c podporováno" + +-#: pattern.c:1576 ++#: pattern.c:1618 + msgid "missing parameter" + msgstr "chybí parametr" + +-#: pattern.c:1626 ++#: pattern.c:1668 + msgid "empty pattern" + msgstr "prázdný vzor" + +-#: pattern.c:2080 pattern.c:2083 ++#: pattern.c:2202 pattern.c:2205 + msgid "error: server custom search only supported with IMAP" + msgstr "chyba: vyhledávání na straně serveru je podporováno pouze s IMAP" + +-#: pattern.c:2274 ++#: pattern.c:2398 + #, c-format + msgid "error: unknown op %d (report this error)" + msgstr "chyba: neznámý operand %d (ohlaste tuto chybu)" + +-#: pattern.c:2448 pattern.c:2604 ++#: pattern.c:2572 pattern.c:2728 + msgid "Compiling search pattern..." + msgstr "Překládám vzor k vyhledání…" + +-#: pattern.c:2468 ++#: pattern.c:2592 + msgid "Executing command on matching messages..." + msgstr "Spouštím příkaz pro shodující se zprávy… " + +-#: pattern.c:2537 ++#: pattern.c:2661 + msgid "No messages matched criteria" + msgstr "Žádná ze zpráv nesplňuje daná kritéria" + +-#: pattern.c:2641 ++#: pattern.c:2765 + msgid "Searching..." + msgstr "Hledám…" + +-#: pattern.c:2655 ++#: pattern.c:2779 + msgid "Search hit bottom without finding match" + msgstr "Při vyhledávání bylo dosaženo konce bez nalezení shody." + +-#: pattern.c:2666 ++#: pattern.c:2790 + msgid "Search hit top without finding match" + msgstr "Při vyhledávání bylo dosaženo začátku bez nalezení shody." + +-#: pattern.c:2700 ++#: pattern.c:2824 + msgid "Search interrupted" + msgstr "Hledání bylo přerušeno" + +-#: pop/pop.c:216 pop/pop_lib.c:234 ++#: pop/pop.c:216 pop/pop_lib.c:259 + msgid "Command TOP is not supported by server" + msgstr "Server nepodporuje příkaz TOP" + +@@ -6197,7 +6275,7 @@ msgstr "Server nepodporuje příkaz TOP" + msgid "Can't write header to temporary file" + msgstr "Nelze zapsat hlavičku do dočasného souboru" + +-#: pop/pop.c:420 pop/pop_lib.c:236 ++#: pop/pop.c:420 pop/pop_lib.c:261 + msgid "Command UIDL is not supported by server" + msgstr "Server nepodporuje příkaz UIDL" + +@@ -6214,7 +6292,7 @@ msgstr[2] "%d zpráv bylo ztraceno. Zkuste schránku znovu otevřít." + msgid "POP host is not defined" + msgstr "POP server není definován" + +-#: pop/pop.c:596 pop/pop.c:825 ++#: pop/pop.c:596 pop/pop.c:790 pop/pop.c:820 + #, c-format + msgid "%s is an invalid POP path" + msgstr "%s je neplatná POP cesta" +@@ -6249,126 +6327,126 @@ msgstr[0] "%s [počet přečtených zpráv: %d/%d]" + msgstr[1] "%s [počet přečtených zpráv: %d/%d]" + msgstr[2] "%s [počet přečtených zpráv: %d/%d]" + +-#: pop/pop.c:876 ++#: pop/pop.c:871 + msgid "Fetching list of messages..." + msgstr "Stahuji seznam zpráv…" + +-#: pop/pop.c:959 ++#: pop/pop.c:954 + msgid "Marking messages deleted..." + msgstr "Označuji zprávy ke smazání…" + +-#: pop/pop.c:1150 ++#: pop/pop.c:1145 + msgid "Can't write message to temporary file" + msgstr "Nelze zapsat zprávu do dočasného souboru" + +-#: pop/pop_auth.c:103 ++#: pop/pop_auth.c:104 + msgid "Authenticating (SASL)..." + msgstr "Ověřuji (SASL)…" + +-#: pop/pop_auth.c:245 ++#: pop/pop_auth.c:246 + msgid "POP timestamp is invalid" + msgstr "Časové razítko POP protokolu je neplatné" + +-#: pop/pop_auth.c:249 ++#: pop/pop_auth.c:250 + msgid "Authenticating (APOP)..." + msgstr "Ověřuji (APOP)…" + +-#: pop/pop_auth.c:269 ++#: pop/pop_auth.c:270 + msgid "APOP authentication failed" + msgstr "APOP ověření se nezdařilo" + +-#: pop/pop_auth.c:309 ++#: pop/pop_auth.c:310 + msgid "Command USER is not supported by server" + msgstr "Server nepodporuje příkaz USER" + +-#: pop/pop_auth.c:386 ++#: pop/pop_auth.c:387 + msgid "Authentication failed" + msgstr "Autentizace se nezdařila" + +-#: pop/pop_lib.c:78 ++#: pop/pop_lib.c:103 + #, c-format + msgid "Invalid POP URL: %s" + msgstr "Neplatné POP URL: %s" + +-#: pop/pop_lib.c:232 ++#: pop/pop_lib.c:257 + msgid "Unable to leave messages on server" + msgstr "Nelze ponechat zprávy na serveru" + +-#: pop/pop_lib.c:274 ++#: pop/pop_lib.c:300 + #, c-format + msgid "Error connecting to server: %s" + msgstr "Chyba při připojování k serveru: %s" + +-#: pop/pop_lib.c:414 ++#: pop/pop_lib.c:440 + msgid "Closing connection to POP server..." + msgstr "Končím spojení s POP serverem…" + +-#: pop/pop_lib.c:605 ++#: pop/pop_lib.c:631 + msgid "Verifying message indexes..." + msgstr "Ukládám indexy zpráv…" + +-#: pop/pop_lib.c:628 ++#: pop/pop_lib.c:654 + msgid "Connection lost. Reconnect to POP server?" + msgstr "Spojení ztraceno. Navázat znovu spojení s POP serverem." + +-#: postpone.c:229 ++#: postpone.c:260 + msgid "Postponed Messages" + msgstr "Odložené zprávy" + +-#: postpone.c:314 postpone.c:326 ++#: postpone.c:348 postpone.c:372 + msgid "No postponed messages" + msgstr "Žádné zprávy nejsou odloženy" + +-#: postpone.c:480 ++#: postpone.c:526 + msgid "Illegal S/MIME header" + msgstr "Nekorektní S/MIME hlavička" + +-#: postpone.c:510 postpone.c:551 postpone.c:560 ++#: postpone.c:556 postpone.c:597 postpone.c:606 + msgid "Illegal crypto header" + msgstr "Nekorektní šifrovací hlavička" + +-#: postpone.c:644 postpone.c:752 postpone.c:780 ++#: postpone.c:690 postpone.c:798 postpone.c:826 + msgid "Decrypting message..." + msgstr "Dešifruji zprávu…" + +-#: query.c:82 ++#: query.c:80 + msgid "New Query" + msgstr "Nový dotaz" + +-#: query.c:83 ++#: query.c:81 + msgid "Make Alias" + msgstr "Vytvořit přezdívku" + +-#: query.c:180 ++#: query.c:178 + msgid "Waiting for response..." + msgstr "Čekám na odpověď…" + +-#: query.c:362 query.c:400 ++#: query.c:365 query.c:434 + msgid "Query: " + msgstr "Dotázat se na: " + +-#: query.c:370 query.c:407 ++#: query.c:374 query.c:442 + #, c-format + msgid "Query '%s'" + msgstr "Dotaz na „%s“" + +-#: query.c:620 query.c:657 ++#: query.c:661 query.c:698 + msgid "Query command not defined" + msgstr "Příkaz pro dotazy není definován" + +-#: recvattach.c:93 ++#: recvattach.c:91 + msgid "Pipe" + msgstr "Poslat rourou" + +-#: recvattach.c:94 ++#: recvattach.c:92 + msgid "Print" + msgstr "Tisk" + +-#: recvattach.c:569 ++#: recvattach.c:571 + msgid "Saving..." + msgstr "Ukládám…" + +-#: recvattach.c:573 recvattach.c:744 recvattach.c:748 ++#: recvattach.c:575 recvattach.c:746 recvattach.c:750 + #, c-format + msgid "Attachment saved" + msgid_plural "%d attachments saved" +@@ -6376,26 +6454,26 @@ msgstr[0] "Příloha uložena" + msgstr[1] "%d přílohy uloženy" + msgstr[2] "%d příloh uloženo" + +-#: recvattach.c:772 ++#: recvattach.c:774 + #, c-format + msgid "WARNING! You are about to overwrite %s, continue?" + msgstr "VAROVÁNÍ! Takto přepíšete %s. Pokračovat?" + +-#: recvattach.c:790 ++#: recvattach.c:792 + msgid "Attachment filtered" + msgstr "Příloha byla filtrována" + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Filter through: " + msgstr "Filtrovat přes: " + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Pipe to: " + msgstr "Poslat rourou do: " + + #. L10N: s gets replaced by a MIME type, e.g. "text/plain" or + #. application/octet-stream. +-#: recvattach.c:935 ++#: recvattach.c:937 + #, c-format + msgid "I don't know how to print %s attachments" + msgstr "Neví se, jak vytisknout přílohy typu %s" +@@ -6403,7 +6481,7 @@ msgstr "Neví se, jak vytisknout přílohy typu %s" + #. L10N: Although we now the precise number of tagged messages, we + #. do not show it to the user. So feel free to use a "generic + #. plural" as plural translation if your language has one. +-#: recvattach.c:1038 ++#: recvattach.c:1040 + #, c-format + msgid "Print tagged attachment?" + msgid_plural "Print %d tagged attachments?" +@@ -6411,48 +6489,48 @@ msgstr[0] "Vytisknout %d označené přílohy?" + msgstr[1] "Vytisknout %d označené přílohy?" + msgstr[2] "Vytisknout %d označené přílohy?" + +-#: recvattach.c:1039 ++#: recvattach.c:1041 + #, c-format + msgid "Print attachment?" + msgstr "Vytisknout přílohu?" + +-#: recvattach.c:1123 ++#: recvattach.c:1125 + msgid "Structural changes to decrypted attachments are not supported" + msgstr "Úprava typu souboru rozšifrovaných příloh není podporována" + +-#: recvattach.c:1291 ++#: recvattach.c:1293 + msgid "Can't decrypt encrypted message" + msgstr "Nemohu dešifrovat zašifrovanou zprávu" + +-#: recvattach.c:1425 ++#: recvattach.c:1457 + msgid "Attachments" + msgstr "Přílohy" + +-#: recvattach.c:1465 ++#: recvattach.c:1497 + msgid "There are no subparts to show" + msgstr "Nejsou žádné podčásti pro zobrazení" + +-#: recvattach.c:1520 ++#: recvattach.c:1552 + msgid "Can't delete attachment from POP server" + msgstr "Z POP serveru nelze mazat přílohy" + +-#: recvattach.c:1529 ++#: recvattach.c:1561 + msgid "Can't delete attachment from news server" + msgstr "Nelze smazat přílohu ze serveru diskusních skupin" + +-#: recvattach.c:1536 ++#: recvattach.c:1568 + msgid "Deletion of attachments from encrypted messages is unsupported" + msgstr "Mazání příloh ze zašifrovaných zpráv není podporováno" + +-#: recvattach.c:1542 ++#: recvattach.c:1574 + msgid "Deletion of attachments from signed messages may invalidate the signature" + msgstr "Mazání příloh z podepsaných zpráv může zneplatnit podpis" + +-#: recvattach.c:1561 recvattach.c:1578 ++#: recvattach.c:1593 recvattach.c:1610 + msgid "Only deletion of multipart attachments is supported" + msgstr "Podporováno je pouze mazání příloh o více částech" + +-#: recvcmd.c:79 ++#: recvcmd.c:78 + msgid "You may only bounce message/rfc822 parts" + msgstr "Přeposílat v nezměněné podobě lze pouze části typu „message/rfc822“" + +@@ -6489,7 +6567,7 @@ msgstr "Soubor %s nelze vytvořit" + msgid "Can't find any tagged messages" + msgstr "Žádná zpráva není označena" + +-#: recvcmd.c:848 send.c:1073 ++#: recvcmd.c:848 send.c:1072 + msgid "No mailing lists found" + msgstr "Žádné poštovní konference nebyly nalezeny" + +@@ -6503,67 +6581,67 @@ msgstr "Všechny označené přílohy nelze dekódovat. Zapouzdřit je do MIME f + msgid "You may only compose to sender with message/rfc822 parts" + msgstr "Přeposílat v nezměněné podobě lze pouze části typu „message/rfc822“" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Append" + msgstr "Připojit" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Insert" + msgstr "Vložit" + +-#: remailer.c:78 ++#: remailer.c:76 + msgid "OK" + msgstr "OK" + +-#: remailer.c:210 ++#: remailer.c:207 + msgid "" + msgstr "" + +-#: remailer.c:586 ++#: remailer.c:617 + msgid "Can't get mixmaster's type2.list" + msgstr "„type2.list“ pro mixmaster nelze získat." + +-#: remailer.c:612 ++#: remailer.c:673 + msgid "Select a remailer chain" + msgstr "Vyberte řetěz remailerů" + +-#: remailer.c:674 ++#: remailer.c:735 + #, c-format + msgid "Error: %s can't be used as the final remailer of a chain" + msgstr "Chyba: %s nelze použít jako poslední článek řetězu remailerů" + + #. L10N The '%d' here hard-coded to 19 +-#: remailer.c:706 ++#: remailer.c:767 + #, c-format + msgid "Mixmaster chains are limited to %d elements" + msgstr "Maximální počet článků řetězu remailerů typu mixmaster je %d" + +-#: remailer.c:729 ++#: remailer.c:790 + msgid "The remailer chain is already empty" + msgstr "Řetěz remailerů je již prázdný" + +-#: remailer.c:739 ++#: remailer.c:800 + msgid "You already have the first chain element selected" + msgstr "První článek řetězu jste již vybral" + +-#: remailer.c:749 ++#: remailer.c:810 + msgid "You already have the last chain element selected" + msgstr "Poslední článek řetězu jste již vybral" + +-#: remailer.c:792 ++#: remailer.c:856 + msgid "Mixmaster doesn't accept Cc or Bcc headers" + msgstr "Mixmaster nepovoluje Cc a Bcc hlavičky" + +-#: remailer.c:817 ++#: remailer.c:881 + msgid "Please set the hostname variable to a proper value when using mixmaster" + msgstr "Pokud používáte mixmaster, je třeba správně nastavit proměnnou „hostname“." + +-#: remailer.c:860 ++#: remailer.c:924 + #, c-format + msgid "Error sending message, child exited %d.\n" + msgstr "Chyba při zasílání zprávy, potomek ukončen %d.\n" + +-#: remailer.c:864 ++#: remailer.c:928 + msgid "Error sending message" + msgstr "Chyba při zasílání zprávy" + +@@ -6593,41 +6671,41 @@ msgstr "Přeposlat jako přílohy?" + + #. L10N: Asks whether the user respects the reply-to header. + #. If she says no, neomutt will reply to the from header's address instead. +-#: send.c:793 ++#: send.c:792 + #, c-format + msgid "Reply to %s%s?" + msgstr "Odepsat %s%s?" + +-#: send.c:838 ++#: send.c:837 + #, c-format + msgid "Follow-up to %s%s?" + msgstr "Odepsat %s%s?" + +-#: send.c:1122 ++#: send.c:1121 + msgid "Include message in reply?" + msgstr "Vložit zprávu do odpovědi?" + +-#: send.c:1128 ++#: send.c:1127 + msgid "Including quoted message..." + msgstr "Vkládám citovanou zprávu…" + +-#: send.c:1137 ++#: send.c:1136 + msgid "Could not include all requested messages" + msgstr "Všechny požadované zprávy nelze vložit" + +-#: send.c:1148 ++#: send.c:1147 + msgid "Forward as attachment?" + msgstr "Přeposlat jako přílohu?" + +-#: send.c:1153 ++#: send.c:1152 + msgid "Preparing forwarded message..." + msgstr "Připravuji přeposílanou zprávu…" + +-#: send.c:1632 ++#: send.c:1631 + msgid "Fcc to an IMAP mailbox is not supported in batch mode" + msgstr "Kopie do souboru v IMAP složce nelze provést v dávkovém režimu" + +-#: send.c:1664 send.c:1690 ++#: send.c:1665 send.c:1675 send.c:1701 + msgid "Save attachments in Fcc?" + msgstr "Uložit do přílohy jako soubory?" + +@@ -6635,190 +6713,190 @@ msgstr "Uložit do přílohy jako soubory?" + #. (r)etry tries the same mailbox again. + #. alternate (m)ailbox prompts for a different mailbox to try. + #. (s)kip aborts saving. +-#: send.c:1712 ++#: send.c:1723 + msgid "Fcc failed. (r)etry, alternate (m)ailbox, or (s)kip?" + msgstr "Kopie do souboru selhala. Zkusit (z)novu, (d)alší schránka nebo pře(s)kočit?" + + #. L10N: These correspond to the "Fcc failed" multi-choice prompt + #. (r)etry, alternate (m)ailbox, or (s)kip. + #. Any similarity to famous leaders of the FSF is coincidental. +-#: send.c:1716 ++#: send.c:1727 + msgid "rms" + msgstr "zds" + + #. L10N: This is the prompt to enter an "alternate (m)ailbox" when the + #. initial Fcc fails. +-#: send.c:1722 ++#: send.c:1733 + msgid "Fcc mailbox" + msgstr "Soubor pro uložení schránky" + +-#: send.c:1788 ++#: send.c:1799 + msgid "Can't postpone. $postponed is unset" + msgstr "Nelze odložit. $postponed není nastaveno" + +-#: send.c:1923 ++#: send.c:1934 + msgid "Recall postponed message?" + msgstr "Vrátit se k odloženým zprávám?" + +-#: send.c:2228 ++#: send.c:2239 + msgid "Edit forwarded message?" + msgstr "Upravit přeposílanou zprávu?" + +-#: send.c:2266 ++#: send.c:2277 + msgid "Abort unmodified message?" + msgstr "Zahodit nezměněnou zprávu?" + +-#: send.c:2268 ++#: send.c:2279 + msgid "Aborted unmodified message" + msgstr "Nezměněná zpráva byla zahozena" + +-#: send.c:2388 ++#: send.c:2399 + msgid "No crypto backend configured. Disabling message security setting." + msgstr "Neni nakonfigurováno s podporou šifrování. Vypínám nastavení bezpečnosti." + +-#: send.c:2427 ++#: send.c:2438 + msgid "Article not posted" + msgstr "Článek nebyl publikován" + +-#: send.c:2437 ++#: send.c:2448 + msgid "Message postponed" + msgstr "Zpráva byla odložena" + +-#: send.c:2470 ++#: send.c:2481 + msgid "No subject, abort sending?" + msgstr "Žádná věc, zrušit odeslání?" + +-#: send.c:2474 send.c:2480 ++#: send.c:2485 send.c:2491 + msgid "No subject specified" + msgstr "Věc nebyla zadána" + +-#: send.c:2486 ++#: send.c:2497 + msgid "No newsgroup specified" + msgstr "Nezadány žádné diskusní skupiny" + +-#: send.c:2496 ++#: send.c:2507 + msgid "No attachments, cancel sending?" + msgstr "Žádné přílohy, zrušit odeslání?" + +-#: send.c:2501 ++#: send.c:2512 + msgid "Message contains text matching \"$abort_noattach_regex\". Not sending." + msgstr "Zpráva obsahuje text odpovídající „$abort_noattach_regex“. Neodesílám." + +-#: send.c:2559 smtp.c:227 ++#: send.c:2570 smtp.c:230 + msgid "Sending message..." + msgstr "Posílám zprávu…" + +-#: send.c:2598 ++#: send.c:2609 + msgid "Could not send the message" + msgstr "Zprávu nelze odeslat" + +-#: send.c:2608 ++#: send.c:2619 + msgid "Sending in background" + msgstr "Zasílám na pozadí" + +-#: send.c:2609 ++#: send.c:2620 + msgid "Article posted" + msgstr "Článek publikován" + +-#: send.c:2610 ++#: send.c:2621 + msgid "Mail sent" + msgstr "Zpráva odeslána" + +-#: sendlib.c:567 ++#: sendlib.c:566 + msgid "No boundary parameter found [report this error]" + msgstr "Nebyl nalezen parametr „boundary“ [ohlaste tuto chybu]" + +-#: sendlib.c:598 ++#: sendlib.c:597 + #, c-format + msgid "%s no longer exists" + msgstr "%s již neexistuje" + +-#: sendlib.c:1056 ++#: sendlib.c:1055 + #, c-format + msgid "%s isn't a regular file" + msgstr "%s není řádným souborem" + +-#: sendlib.c:1223 ++#: sendlib.c:1222 + msgid "Could not find any mime.types file." + msgstr "Nemohu nalézt žádný mime.types soubor." + +-#: sendlib.c:1314 ++#: sendlib.c:1313 + #, c-format + msgid "Could not open %s" + msgstr "%s nelze otevřít" + +-#: sendlib.c:2864 ++#: sendlib.c:2855 + msgid "$sendmail must be set in order to send mail" + msgstr "Aby bylo možné odesílat e-maily, je třeba nastavit $sendmail" + +-#: sendlib.c:2971 ++#: sendlib.c:2962 + #, c-format + msgid "Error sending message, child exited %d (%s)" + msgstr "Chyba při zasílání zprávy, potomek ukončen %d (%s)" + +-#: sendlib.c:2977 ++#: sendlib.c:2969 + msgid "Output of the delivery process" + msgstr "Výstup doručovacího programu" + +-#: sendlib.c:3157 ++#: sendlib.c:3154 + #, c-format + msgid "Bad IDN %s while preparing resent-from" + msgstr "Chybné IDN %s při generování „resent-from“ (odesláno z)" + +-#: smtp.c:165 ++#: smtp.c:168 + #, c-format + msgid "SMTP session failed: %s" + msgstr "SMTP relace selhala: %s" + +-#: smtp.c:222 ++#: smtp.c:225 + #, c-format + msgid "SMTP session failed: unable to open %s" + msgstr "SMTP relace selhala: nelze otevřít %s" + +-#: smtp.c:339 ++#: smtp.c:364 + #, c-format + msgid "Invalid SMTP URL: %s" + msgstr "Neplatné SMTP URL: %s" + +-#: smtp.c:618 ++#: smtp.c:643 + #, c-format + msgid "SMTP authentication method %s requires SASL" + msgstr "SMTP ověření metodou %s vyžaduje SASL" + +-#: smtp.c:625 ++#: smtp.c:650 + #, c-format + msgid "%s authentication failed, trying next method" + msgstr "%s autentizace se nezdařila, zkouším další metodu" + +-#: smtp.c:636 ++#: smtp.c:661 + msgid "SMTP authentication requires SASL" + msgstr "SMTP ověření vyžaduje SASL" + +-#: smtp.c:717 ++#: smtp.c:742 + msgid "SMTP server does not support authentication" + msgstr "SMTP server nepodporuje autentizaci" + +-#: smtp.c:756 ++#: smtp.c:781 + msgid "No from address given" + msgstr "Adresa odesílatele nezadána" + +-#: smtp.c:821 ++#: smtp.c:846 + msgid "SMTP session failed: read error" + msgstr "SMTP relace selhala: chyba při čtení" + +-#: smtp.c:823 ++#: smtp.c:848 + msgid "SMTP session failed: write error" + msgstr "SMTP relace selhala: chyba při zápisu" + +-#: smtp.c:825 ++#: smtp.c:850 + msgid "Invalid server response" + msgstr "Neplatná odpověď serveru" + +-#: sort.c:385 ++#: sort.c:387 + msgid "Sorting mailbox..." + msgstr "Řadím schránku…" + +-#: sort.c:427 ++#: sort.c:429 + msgid "Could not find sorting function [report this bug]" + msgstr "Řadící funkci nelze nalézt [ohlaste tuto chybu]" + +@@ -6887,10 +6965,49 @@ msgstr "" + "musíte ovšem dodržet určitá pravidla; další informace získáte příkazem\n" + "„neomutt -vv“.\n" + +-#: version.c:446 ++#: version.c:451 + msgid "Default options:" + msgstr "Výchzí volby:" + +-#: version.c:449 ++#: version.c:454 + msgid "Compile options:" + msgstr "Přeloženo s volbami:" ++ ++#~ msgid "Error creating autocrypt key: %s\n" ++#~ msgstr "Chyba při vytváření klíče autokryptu: %s\n" ++ ++#~ msgid "(c)reate new, or (s)elect existing GPG key? " ++#~ msgstr "(v)ytvořit nový, nebo vybrat exi(s)tující klíč GPG? " ++ ++#~ msgid "Autocrypt: (e)ncrypt, (c)lear, (a)utomatic? " ++#~ msgstr "Autokrypt: šif(r)ovat, (n)ic, (a)utomaticky? " ++ ++#~ msgid "$send_multipart_alternative_filter is not set" ++#~ msgstr "Proměnná $send_multipart_alternative_filter není nastavena" ++ ++#~ msgid "Generate multipart/alternative content?" ++#~ msgstr "Vytvořit multipart/alternative obsah?" ++ ++#~ msgid "Missing mime type from output of \"%s\"!" ++#~ msgstr "Ve výstupu „%s“ chybí typ MIME!" ++ ++#~ msgid "Missing blank line separator from output of \"%s\"!" ++#~ msgstr "Ve výstupu „%s“ chybí prázdný řádek oddělovače!" ++ ++#~ msgid "$send_multipart_alternative_filter does not support multipart type generation" ++#~ msgstr "$send_multipart_alternative_filter nepodporuje vytváření typu multipart" ++ ++#~ msgid "view multipart/alternative" ++#~ msgstr "zobrazit multipart/alternative přílohu" ++ ++#~ msgid "view multipart/alternative as text" ++#~ msgstr "zobrazit multipart/alternative přílohu jako text" ++ ++#~ msgid "view multipart/alternative using mailcap" ++#~ msgstr "zobrazit multipart/alternative přílohu skrze mailcap" ++ ++#~ msgid "select a new mailbox from the browser" ++#~ msgstr "zvolit v prohlížeči jinou schránku" ++ ++#~ msgid "select a new mailbox from the browser in read only mode" ++#~ msgstr "zvolit v prohlížeči novou schránku pouze pro čtení" +diff --git a/po/da.po b/po/da.po +index 7d07668ad..b732f66a4 100644 +--- a/po/da.po ++++ b/po/da.po +@@ -10,7 +10,7 @@ msgid "" + msgstr "" + "Project-Id-Version: neomutt-2019-12-07\n" + "Report-Msgid-Bugs-To: neomutt-devel@neomutt.org\n" +-"POT-Creation-Date: 2019-12-06 23:10+0000\n" ++"POT-Creation-Date: 2020-03-09 12:15+0000\n" + "PO-Revision-Date: 2019-05-10 21:15+0200\n" + "Last-Translator: Morten Bo Johansen \n" + "Language-Team: Danish \n" +@@ -21,16 +21,40 @@ msgstr "" + "X-Generator: Jed w/po-mode: http://mbjnet.dk/po_mode/\n" + "Plural-Forms: nplurals=2; plural=(n != 1);\n" + +-#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:59 browser.c:80 browser.c:90 +-#: mutt_history.c:45 pager.c:228 postpone.c:68 query.c:80 recvattach.c:93 ++msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" ++msgstr "(a)fvis, (g)odkend denne gang, (v)arig godkendelse, (s)pring over" ++ ++msgid "roas" ++msgstr "avgs" ++ ++msgid "(r)eject, accept (o)nce, (a)ccept always" ++msgstr "(a)fvis, (g)odkend denne gang, (v)arig godkendelse" ++ ++msgid "roa" ++msgstr "agv" ++ ++msgid "(r)eject, accept (o)nce, (s)kip" ++msgstr "(a)fvis, (g)odkend denne gang, (s)pring over" ++ ++msgid "ros" ++msgstr "avs" ++ ++msgid "(r)eject, accept (o)nce" ++msgstr "(a)fvis, (g)odkend denne gang" ++ ++msgid "ro" ++msgstr "ag" ++ ++#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:58 browser.c:79 browser.c:89 ++#: mutt_history.c:45 pager.c:220 postpone.c:68 query.c:78 recvattach.c:91 + msgid "Exit" + msgstr "Tilbage" + +-#: addrbook.c:56 index.c:116 index.c:129 pager.c:236 pager.c:246 postpone.c:69 ++#: addrbook.c:56 index.c:112 index.c:125 pager.c:228 pager.c:238 postpone.c:69 + msgid "Del" + msgstr "Slet" + +-#: addrbook.c:57 index.c:117 index.c:130 postpone.c:70 ++#: addrbook.c:57 index.c:113 index.c:126 postpone.c:70 + msgid "Undel" + msgstr "Behold" + +@@ -38,18 +62,18 @@ msgstr "Behold" + msgid "Select" + msgstr "Vælg" + +-#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:82 browser.c:84 browser.c:96 +-#: compose.c:218 compose.c:230 conn/ssl.c:983 conn/ssl_gnutls.c:691 index.c:122 +-#: index.c:135 mutt_history.c:48 ncrypt/crypt_gpgme.c:4735 ncrypt/pgpkey.c:670 +-#: ncrypt/smime.c:553 pager.c:2326 postpone.c:71 query.c:85 recvattach.c:94 ++#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:81 browser.c:83 browser.c:95 ++#: compose.c:216 compose.c:228 conn/ssl.c:996 conn/ssl_gnutls.c:722 index.c:118 ++#: index.c:131 mutt_history.c:48 ncrypt/crypt_gpgme.c:4783 ncrypt/pgpkey.c:673 ++#: ncrypt/smime.c:555 pager.c:2297 postpone.c:71 query.c:83 recvattach.c:92 + msgid "Help" + msgstr "Hjælp" + +-#: addrbook.c:208 ++#: addrbook.c:238 + msgid "You have no aliases" + msgstr "Adressebogen er tom" + +-#: addrbook.c:215 ++#: addrbook.c:276 + msgid "Aliases" + msgstr "Adressebog" + +@@ -58,52 +82,52 @@ msgstr "Adressebog" + msgid "Alias as: " + msgstr "Vælg et alias: " + +-#: alias.c:411 ++#: alias.c:414 + msgid "You already have an alias defined with that name" + msgstr "Der er allerede et alias med det navn" + +-#: alias.c:417 ++#: alias.c:420 + msgid "Warning: This alias name may not work. Fix it?" + msgstr "Advarsel: Dette navn for alias vil måske ikke virke. Ret det?" + +-#: alias.c:442 ++#: alias.c:445 + msgid "Address: " + msgstr "Adresse: " + +-#: alias.c:453 commands.c:444 compose.c:744 conn/conn_raw.c:152 +-#: conn/conn_raw.c:210 recvcmd.c:232 send.c:228 ++#: alias.c:457 commands.c:450 compose.c:743 conn/conn_raw.c:152 ++#: conn/conn_raw.c:210 recvcmd.c:231 send.c:227 + #, c-format + msgid "Bad IDN: '%s'" + msgstr "Forkert IDN: '%s'" + +-#: alias.c:464 ++#: alias.c:468 + msgid "Personal name: " + msgstr "Navn: " + +-#: alias.c:473 ++#: alias.c:477 + #, c-format + msgid "[%s = %s] Accept?" + msgstr "[%s = %s] O.k.?" + +-#: alias.c:484 recvattach.c:528 recvattach.c:550 recvattach.c:564 +-#: recvattach.c:579 recvattach.c:678 ++#: alias.c:488 recvattach.c:530 recvattach.c:552 recvattach.c:566 ++#: recvattach.c:581 recvattach.c:680 + msgid "Save to file: " + msgstr "Gem i fil: " + +-#: alias.c:503 ++#: alias.c:507 + msgid "Error reading alias file" + msgstr "Fejl ved læsning af alias-fil" + +-#: alias.c:525 ++#: alias.c:529 + #, fuzzy + msgid "Trouble adding alias" + msgstr "Fejl ved læsning af alias-fil" + +-#: alias.c:527 ++#: alias.c:531 + msgid "Alias added" + msgstr "Adresse tilføjet" + +-#: alias.c:532 ++#: alias.c:536 + msgid "Error seeking in alias file" + msgstr "Fejl ved søgning i alias-fil" + +@@ -112,7 +136,7 @@ msgstr "Fejl ved søgning i alias-fil" + #. for some reason (e.g. autocrypt, header cache, bcache), but it + #. doesn't exist. The prompt is asking whether to create the directory + #. +-#: autocrypt/autocrypt.c:70 main.c:826 ++#: autocrypt/autocrypt.c:70 main.c:757 + #, c-format + msgid "%s does not exist. Create it?" + msgstr "%s findes ikke. Opret?" +@@ -121,8 +145,8 @@ msgstr "%s findes ikke. Opret?" + #. mkdir() on the directory %s failed. The second %s is the + #. error message returned by libc + #. +-#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:830 +-#: nntp/newsrc.c:1069 ++#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:761 ++#: nntp/newsrc.c:1098 + #, c-format + msgid "Can't create %s: %s" + msgstr "Kan ikke oprette %s: %s" +@@ -132,7 +156,7 @@ msgstr "Kan ikke oprette %s: %s" + #. create $autocrypt_dir and then prompt to create an autocrypt + #. account with this message. + #. +-#: autocrypt/autocrypt.c:156 ++#: autocrypt/autocrypt.c:163 + msgid "Create an initial autocrypt account?" + msgstr "Opret en ny autocrypt-konto?" + +@@ -141,7 +165,7 @@ msgstr "Opret en ny autocrypt-konto?" + #. autocrypt account. This will generate a key and add a record + #. to the database for use in autocrypt operations. + #. +-#: autocrypt/autocrypt.c:180 ++#: autocrypt/autocrypt.c:187 + msgid "Autocrypt account address: " + msgstr "Autocrypt-kontoens adresse: " + +@@ -150,7 +174,7 @@ msgstr "Autocrypt-kontoens adresse: " + #. a single address. This is shown if they entered something invalid, + #. nothing, or more than one address for some reason. + #. +-#: autocrypt/autocrypt.c:191 ++#: autocrypt/autocrypt.c:198 + msgid "Please enter a single email address" + msgstr "Indtast kun en enkelt mailadresse" + +@@ -159,7 +183,7 @@ msgstr "Indtast kun en enkelt mailadresse" + #. if there is already an account in the database with the email address + #. they just entered. + #. +-#: autocrypt/autocrypt.c:208 ++#: autocrypt/autocrypt.c:215 + msgid "That email address already has an autocrypt account" + msgstr "Denne mailadresse har allerede en autocrypt-konto tilknyttet" + +@@ -171,14 +195,14 @@ msgstr "Denne mailadresse har allerede en autocrypt-konto tilknyttet" + #. Otherwise the UI will show encryption is "available" but the user + #. will be required to enable encryption manually. + #. +-#: autocrypt/autocrypt.c:223 ++#: autocrypt/autocrypt.c:230 + msgid "Prefer encryption?" + msgstr "Foretræk kryptering?" + + #. L10N: + #. Message displayed after an autocrypt account is successfully created. + #. +-#: autocrypt/autocrypt.c:236 ++#: autocrypt/autocrypt.c:243 + msgid "Autocrypt account creation succeeded" + msgstr "Oprettelse af autocrypt-konto lykkedes" + +@@ -186,7 +210,7 @@ msgstr "Oprettelse af autocrypt-konto lykkedes" + #. Error message displayed if creating an autocrypt account failed + #. or was aborted by the user. + #. +-#: autocrypt/autocrypt.c:242 ++#: autocrypt/autocrypt.c:249 + msgid "Autocrypt account creation aborted" + msgstr "Oprettelse af autocrypt-konto afbrudt" + +@@ -195,7 +219,7 @@ msgstr "Oprettelse af autocrypt-konto afbrudt" + #. to use to encrypt, but it can't find a valid keyid for this address. + #. The message is printed and they are returned to the compose menu. + #. +-#: autocrypt/autocrypt.c:610 autocrypt/autocrypt.c:639 ++#: autocrypt/autocrypt.c:617 autocrypt/autocrypt.c:646 + #, c-format + msgid "No (valid) autocrypt key found for %s" + msgstr "Fandt ikke nogen (gyldig) autocrypt-nøgle til %s" +@@ -207,12 +231,12 @@ msgstr "Fandt ikke nogen (gyldig) autocrypt-nøgle til %s" + #. and used for encryption. + #. If this is answered yes, they will be prompted for a mailbox. + #. +-#: autocrypt/autocrypt.c:903 ++#: autocrypt/autocrypt.c:910 + msgid "Scan a mailbox for autocrypt headers?" + msgstr "Skan brevbakke for autocrypt-headere?" + + #. L10N: The prompt for a mailbox to scan for Autocrypt: headers +-#: autocrypt/autocrypt.c:907 ++#: autocrypt/autocrypt.c:914 + msgid "Scan mailbox" + msgstr "Scan brevbakke" + +@@ -223,21 +247,21 @@ msgstr "Scan brevbakke" + #. for a mailbox. This is because this is a one-time operation + #. and I don't want them to accidentally ctrl-g and abort it. + #. +-#: autocrypt/autocrypt.c:927 ++#: autocrypt/autocrypt.c:934 + msgid "Scan another mailbox for autocrypt headers?" + msgstr "Skan en anden brevbakke for autocrypt-headere?" + + #. L10N: Autocrypt Account Menu Help line: + #. create new account + #. +-#: autocrypt/autocrypt_acct_menu.c:63 ++#: autocrypt/autocrypt_acct_menu.c:62 + msgid "Create" + msgstr "Opret" + + #. L10N: Autocrypt Account Menu Help line: + #. delete account + #. +-#: autocrypt/autocrypt_acct_menu.c:67 remailer.c:77 ++#: autocrypt/autocrypt_acct_menu.c:66 remailer.c:75 + msgid "Delete" + msgstr "Slet" + +@@ -245,9 +269,9 @@ msgstr "Slet" + #. toggle an account active/inactive + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:74 ++#: autocrypt/autocrypt_acct_menu.c:73 + msgid "Tgl Active" + msgstr "Aktiv til/fra" + +@@ -255,17 +279,17 @@ msgstr "Aktiv til/fra" + #. toggle "prefer-encrypt" on an account + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:81 +-msgid "Prf Enc" ++#: autocrypt/autocrypt_acct_menu.c:80 ++msgid "Prf Encr" + msgstr "Foretræk kryptering" + + #. L10N: + #. Autocrypt Account menu. + #. flag that an account has prefer-encrypt set + #. +-#: autocrypt/autocrypt_acct_menu.c:123 ++#: autocrypt/autocrypt_acct_menu.c:122 + msgid "prefer encrypt" + msgstr "foretræk kryptering" + +@@ -274,7 +298,7 @@ msgstr "foretræk kryptering" + #. flag that an account has prefer-encrypt unset; + #. thus encryption will need to be manually enabled. + #. +-#: autocrypt/autocrypt_acct_menu.c:130 ++#: autocrypt/autocrypt_acct_menu.c:129 + msgid "manual encrypt" + msgstr "manuel kryptering" + +@@ -282,7 +306,7 @@ msgstr "manuel kryptering" + #. Autocrypt Account menu. + #. flag that an account is enabled/active + #. +-#: autocrypt/autocrypt_acct_menu.c:138 ++#: autocrypt/autocrypt_acct_menu.c:137 + msgid "active" + msgstr "aktiv" + +@@ -290,12 +314,12 @@ msgstr "aktiv" + #. Autocrypt Account menu. + #. flag that an account is disabled/inactive + #. +-#: autocrypt/autocrypt_acct_menu.c:144 ++#: autocrypt/autocrypt_acct_menu.c:143 + msgid "inactive" + msgstr "inaktiv" + + #. L10N: Autocrypt Account Management Menu title +-#: autocrypt/autocrypt_acct_menu.c:183 ++#: autocrypt/autocrypt_acct_menu.c:182 + msgid "Autocrypt Accounts" + msgstr "Autocrypt-konti" + +@@ -303,12 +327,12 @@ msgstr "Autocrypt-konti" + #. This error message is displayed if a database update of an + #. account record fails for some odd reason. + #. +-#: autocrypt/autocrypt_acct_menu.c:245 autocrypt/autocrypt_acct_menu.c:259 ++#: autocrypt/autocrypt_acct_menu.c:244 autocrypt/autocrypt_acct_menu.c:258 + msgid "Error updating account record" + msgstr "Fejl ved opdatering af konto-optegnelse" + + #. L10N: Confirmation message when deleting an autocrypt account +-#: autocrypt/autocrypt_acct_menu.c:302 ++#: autocrypt/autocrypt_acct_menu.c:333 + #, c-format + msgid "Really delete account \"%s\"?" + msgstr "Skal kontoen \"%s\" virkelig slettes?" +@@ -326,7 +350,7 @@ msgstr "Skal kontoen \"%s\" virkelig slettes?" + msgid "Unable to open autocrypt database %s" + msgstr "Kan ikke åbne autocrypt-databasen %s" + +-#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:774 ++#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:773 + #, c-format + msgid "error creating gpgme context: %s" + msgstr "dannelse af gpgme-kontekst fejlede: %s" +@@ -399,335 +423,286 @@ msgstr "Version af autocrypt-database er for ny" + msgid "Message cache isn't a directory: %s" + msgstr "%s er ikke et filkatalog" + +-#: browser.c:81 ++#: browser.c:80 + msgid "Chdir" + msgstr "Skift filkatalog" + +-#: browser.c:82 ++#: browser.c:81 + msgid "Goto" + msgstr "" + +-#: browser.c:83 browser.c:95 ++#: browser.c:82 browser.c:94 + msgid "Mask" + msgstr "Maske" + +-#: browser.c:91 ++#: browser.c:90 + msgid "List" + msgstr "" + +-#: browser.c:92 ++#: browser.c:91 + #, fuzzy + msgid "Subscribe" + msgstr "Abonnerer på %s" + +-#: browser.c:93 ++#: browser.c:92 + #, fuzzy + msgid "Unsubscribe" + msgstr "Afmeldt fra %s" + +-#: browser.c:94 index.c:134 ++#: browser.c:93 index.c:130 + msgid "Catchup" + msgstr "" + +-#: browser.c:760 browser.c:1519 browser.c:1758 ++#: browser.c:763 browser.c:1584 browser.c:1825 + #, c-format + msgid "%s is not a directory" + msgstr "%s er ikke et filkatalog" + +-#: browser.c:1025 ++#: browser.c:1028 + #, fuzzy, c-format + msgid "Subscribed newsgroups" + msgstr "Abonnerer på %s" + +-#: browser.c:1028 ++#: browser.c:1031 + #, c-format + msgid "Newsgroups on server [%s]" + msgstr "" + +-#: browser.c:1038 ++#: browser.c:1041 + #, c-format + msgid "Mailboxes [%d]" + msgstr "Indbakker [%d]" + +-#: browser.c:1050 ++#: browser.c:1053 + #, c-format + msgid "Subscribed [%s], File mask: %s" + msgstr "Abonnementer [%s], filmaske: %s" + +-#: browser.c:1056 ++#: browser.c:1059 + #, c-format + msgid "Directory [%s], File mask: %s" + msgstr "Filkatalog [%s], filmaske: %s" + +-#: browser.c:1113 ++#: browser.c:1116 + msgid "Can't attach a directory" + msgstr "Kan ikke vedlægge et filkatalog" + +-#: browser.c:1380 browser.c:1814 browser.c:1959 ++#: browser.c:1445 browser.c:1881 browser.c:2026 + msgid "No files match the file mask" + msgstr "Ingen filer passer til filmasken" + +-#: browser.c:1587 ++#: browser.c:1654 + msgid "Create is only supported for IMAP mailboxes" + msgstr "Oprettelse er kun understøttet for IMAP-brevbakker" + +-#: browser.c:1609 ++#: browser.c:1676 + msgid "Rename is only supported for IMAP mailboxes" + msgstr "Omdøbning er kun understøttet for IMAP-brevbakker" + +-#: browser.c:1630 ++#: browser.c:1697 + msgid "Delete is only supported for IMAP mailboxes" + msgstr "Sletning er kun understøttet for IMAP-brevbakker" + +-#: browser.c:1642 ++#: browser.c:1709 + #, fuzzy + msgid "Can't delete currently selected mailbox" + msgstr "vis navnet på den aktuelt valgte fil" + +-#: browser.c:1646 ++#: browser.c:1713 + #, c-format + msgid "Really delete mailbox \"%s\"?" + msgstr "Virkelig slette brevbakke \"%s\"?" + +-#: browser.c:1663 ++#: browser.c:1730 + msgid "Mailbox deleted" + msgstr "Brevbakke slettet" + +-#: browser.c:1667 ++#: browser.c:1734 + #, fuzzy + msgid "Mailbox deletion failed" + msgstr "Sletning af brevbakke mislykkedes" + +-#: browser.c:1670 ++#: browser.c:1737 + msgid "Mailbox not deleted" + msgstr "Brevbakke ikke slettet" + +-#: browser.c:1697 ++#: browser.c:1764 + msgid "Chdir to: " + msgstr "Skift til filkatalog: " + +-#: browser.c:1747 browser.c:1808 ++#: browser.c:1814 browser.c:1875 + msgid "Error scanning directory" + msgstr "Fejl ved indlæsning af filkatalog" + +-#: browser.c:1769 ++#: browser.c:1836 + msgid "File Mask: " + msgstr "Filmaske: " + + #. L10N: The highlighted letters must match the "Sort" options +-#: browser.c:1831 ++#: browser.c:1898 + #, fuzzy + msgid "Reverse sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "Omvendt sortering efter (d)ato, (a)lfabetisk, (s)tr. eller (i)ngen?" + + #. L10N: The highlighted letters must match the "Reverse Sort" options +-#: browser.c:1834 ++#: browser.c:1901 + #, fuzzy + msgid "Sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "Sortering efter (d)ato, (a)lfabetisk, (s)tr. eller (i)ngen?" + + #. L10N: These must match the highlighted letters from "Sort" and "Reverse Sort" +-#: browser.c:1837 ++#: browser.c:1904 + msgid "dazecwn" + msgstr "" + +-#: browser.c:1948 ++#: browser.c:2015 + msgid "New file name: " + msgstr "Nyt filnavn: " + +-#: browser.c:1976 ++#: browser.c:2043 + msgid "Can't view a directory" + msgstr "Filkataloger kan ikke vises" + +-#: browser.c:1993 ++#: browser.c:2060 + msgid "Error trying to view file" + msgstr "Fejl ved visning af fil" + +-#: browser.c:2079 ++#: browser.c:2146 + #, fuzzy, c-format + msgid "Subscribe pattern: " + msgstr "Abonnerer på %s" + +-#: browser.c:2081 ++#: browser.c:2148 + #, fuzzy, c-format + msgid "Unsubscribe pattern: " + msgstr "Afmeldt fra %s" + +-#: browser.c:2101 ++#: browser.c:2169 + #, fuzzy + msgid "No newsgroups match the mask" + msgstr "Ingen filer passer til filmasken" + +-#: color.c:633 color.c:644 +-#, c-format +-msgid "%s: color not supported by term" +-msgstr "%s: farve er ikke understøttet af terminal" +- +-#: color.c:652 +-#, c-format +-msgid "%s: no such color" +-msgstr "%s: ukendt farve" +- +-#: color.c:717 color.c:740 color.c:751 color.c:842 +-#, c-format +-msgid "%s: no such object" +-msgstr "%s: ukendt objekt" +- +-#: color.c:731 color.c:868 color.c:1069 color.c:1098 color.c:1122 color.c:1191 +-#: color.c:1214 hook.c:110 hook.c:124 hook.c:367 hook.c:383 init.c:612 +-#: init.c:620 init.c:709 init.c:1099 init.c:1267 init.c:1871 init.c:1929 +-#: keymap.c:1184 score.c:110 +-#, c-format +-msgid "%s: too few arguments" +-msgstr "%s: for få parametre" +- +-#: color.c:1142 +-#, c-format +-msgid "%s: no such attribute" +-msgstr "%s: ukendt attribut" +- +-#: color.c:1223 color.c:1329 hook.c:131 hook.c:390 init.c:1123 init.c:2133 +-#: init.c:2611 keymap.c:1116 keymap.c:1289 keymap.c:1442 keymap.c:1506 +-#: mutt_lua.c:483 score.c:119 +-#, c-format +-msgid "%s: too many arguments" +-msgstr "%s: for mange parametre" +- +-#: color.c:1244 +-msgid "default colors not supported" +-msgstr "standard-farver er ikke understøttet" +- +-#: color.c:1282 +-#, c-format +-msgid "Maximum quoting level is %d" +-msgstr "" +- +-#: color.c:1319 +-#, fuzzy, c-format +-msgid "%s: invalid number: %s" +-msgstr "Fejl: score: ugyldigt tal" +- + #. L10N: Used for the $crypt_verify_sig prompt +-#: commands.c:230 ++#: commands.c:232 + msgid "Verify signature?" + msgstr "Verificér underskrift?" + +-#: commands.c:257 mbox/mbox.c:1236 ++#: commands.c:259 mbox/mbox.c:1236 + msgid "Could not create temporary file" + msgstr "Kunne ikke oprette midlertidig fil" + +-#: commands.c:269 ++#: commands.c:271 + msgid "Can't create display filter" + msgstr "Kan ikke oprette fremvisningsfilter" + +-#: commands.c:302 ++#: commands.c:304 + msgid "Could not copy message" + msgstr "Kunne ikke kopiere brevet" + +-#: commands.c:338 ++#: commands.c:340 + msgid "S/MIME signature successfully verified" + msgstr "S/MIME-underskrift er i orden" + +-#: commands.c:340 ++#: commands.c:342 + msgid "S/MIME certificate owner does not match sender" + msgstr "Der er ikke sammenfald mellem ejer af S/MIME-certifikat og afsender" + +-#: commands.c:343 commands.c:353 ++#: commands.c:345 commands.c:355 + msgid "Warning: Part of this message has not been signed" + msgstr "Advarsel: En del af dette brev er ikke underskrevet" + +-#: commands.c:345 ++#: commands.c:347 + msgid "S/MIME signature could NOT be verified" + msgstr "S/MIME-underskrift er IKKE i orden" + +-#: commands.c:351 ++#: commands.c:353 + msgid "PGP signature successfully verified" + msgstr "PGP-underskrift er i orden" + +-#: commands.c:355 ++#: commands.c:357 + msgid "PGP signature could NOT be verified" + msgstr "PGP-underskrift er IKKE i orden" + +-#: commands.c:372 compose.c:2116 compress.c:321 curs_lib.c:359 curs_lib.c:646 +-#: index.c:1235 index.c:1285 mutt_attach.c:159 mutt_attach.c:292 pager.c:2460 +-#: sendlib.c:1625 ++#: commands.c:378 compose.c:2187 compress/compress.c:320 gui/curs_lib.c:360 ++#: gui/curs_lib.c:714 index.c:1240 index.c:1290 mutt_attach.c:161 ++#: mutt_attach.c:294 pager.c:2433 sendlib.c:1624 + #, c-format + msgid "Error running \"%s\"" + msgstr "Fejl ved kørsel af \"%s\"" + +-#: commands.c:382 ++#: commands.c:388 + msgid "Command: " + msgstr "Kommando: " + +-#: commands.c:419 recvcmd.c:191 recvcmd.c:203 ++#: commands.c:425 recvcmd.c:190 recvcmd.c:202 + msgid "Warning: message contains no From: header" + msgstr "Advarsel: brevet har ingen From:-header" + +-#: commands.c:425 recvcmd.c:212 ++#: commands.c:431 recvcmd.c:211 + #, fuzzy + msgid "Bounce message to: " + msgstr "Gensend brev til: " + +-#: commands.c:427 recvcmd.c:214 ++#: commands.c:433 recvcmd.c:213 + #, fuzzy + msgid "Bounce tagged messages to: " + msgstr "Gensend udvalgte breve til: " + +-#: commands.c:436 recvcmd.c:224 ++#: commands.c:442 recvcmd.c:223 + msgid "Error parsing address" + msgstr "Ugyldig adresse" + +-#: commands.c:455 recvcmd.c:243 ++#: commands.c:461 recvcmd.c:242 + #, fuzzy, c-format + msgid "Bounce message to %s?" + msgid_plural "Bounce messages to %s?" + msgstr[0] "Gensend brev til %s?" + msgstr[1] "Gensend breve til %s?" + +-#: commands.c:470 recvcmd.c:257 ++#: commands.c:476 recvcmd.c:257 + #, fuzzy + msgid "Message not bounced" + msgid_plural "Messages not bounced" + msgstr[0] "Brevet er ikke gensendt" + msgstr[1] "Brevene er ikke gensendt" + +-#: commands.c:496 recvcmd.c:276 ++#: commands.c:502 recvcmd.c:276 + #, fuzzy + msgid "Message bounced" + msgid_plural "Messages bounced" + msgstr[0] "Brevet er gensendt" + msgstr[1] "Brevene er gensendt" + +-#: commands.c:606 commands.c:642 commands.c:662 ++#: commands.c:612 commands.c:648 commands.c:668 + msgid "Can't create filter process" + msgstr "Kan ikke oprette filterproces" + +-#: commands.c:698 ++#: commands.c:704 + msgid "Pipe to command: " + msgstr "Overfør til kommando: " + +-#: commands.c:720 ++#: commands.c:726 + msgid "No printing command has been defined" + msgstr "Ingen udskrivningskommando er defineret" + +-#: commands.c:732 ++#: commands.c:738 + #, fuzzy + msgid "Print message?" + msgstr "Udskriv brev?" + +-#: commands.c:733 ++#: commands.c:739 + #, fuzzy + msgid "Print tagged messages?" + msgstr "Udskriv udvalgte breve?" + +-#: commands.c:739 ++#: commands.c:745 + #, fuzzy + msgid "Message printed" + msgid_plural "Messages printed" + msgstr[0] "Brevet er udskrevet" + msgstr[1] "Brevene er udskrevet" + +-#: commands.c:742 ++#: commands.c:748 + #, fuzzy + msgid "Message could not be printed" + msgid_plural "Messages could not be printed" +@@ -735,161 +710,324 @@ msgstr[0] "Brevet kunne ikke udskrives" + msgstr[1] "Brevene kunne ikke udskrives" + + #. L10N: The highlighted letters must match the "Sort" options +-#: commands.c:759 ++#: commands.c:765 + msgid "Rev-Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "Omv-sort. (d)ato/(f)ra/(m)odt./(e)mne/ti(l)/(t)råd/(u)sort/(s)tr./s(c)ore/s(p)am/(e)tiket?" + + #. L10N: The highlighted letters must match the "Rev-Sort" options +-#: commands.c:763 ++#: commands.c:769 + msgid "Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "Sort. (d)ato/(f)ra/(m)odt./(e)mne/ti(l)/(t)råd/(u)sort/(s)tr./s(c)ore/s(p)am/(e)tiket?" + + #. L10N: These must match the highlighted letters from "Sort" and "Rev-Sort" +-#: commands.c:767 ++#: commands.c:773 + msgid "dfrsotuzcpl" + msgstr "dfmeltuscpe" + +-#: commands.c:831 ++#: commands.c:837 + msgid "Shell command: " + msgstr "Skalkommando: " + +-#: commands.c:1036 ++#: commands.c:1042 + #, fuzzy + msgid "Decode-save to mailbox" + msgstr "Afkod-gem i brevbakke" + +-#: commands.c:1036 ++#: commands.c:1042 + #, fuzzy + msgid "Decode-save tagged to mailbox" + msgstr "Afkod-gem udvalgte i brevbakke" + +-#: commands.c:1038 ++#: commands.c:1044 + #, fuzzy + msgid "Decrypt-save to mailbox" + msgstr "Dekryptér-gem i brevbakke" + +-#: commands.c:1038 ++#: commands.c:1044 + #, fuzzy + msgid "Decrypt-save tagged to mailbox" + msgstr "Dekryptér-gem udvalgte i brevbakke" + +-#: commands.c:1040 ++#: commands.c:1046 + #, fuzzy + msgid "Save to mailbox" + msgstr "Gem i brevbakke" + +-#: commands.c:1040 ++#: commands.c:1046 + #, fuzzy + msgid "Save tagged to mailbox" + msgstr "Gem udvalgte i brevbakke" + +-#: commands.c:1045 ++#: commands.c:1051 + #, fuzzy + msgid "Decode-copy to mailbox" + msgstr "Afkod-kopiér til brevbakke" + +-#: commands.c:1045 ++#: commands.c:1051 + #, fuzzy + msgid "Decode-copy tagged to mailbox" + msgstr "Afkod-kopiér udvalgte til brevbakke" + +-#: commands.c:1047 ++#: commands.c:1053 + #, fuzzy + msgid "Decrypt-copy to mailbox" + msgstr "Dekryptér-kopiér til brevbakke" + +-#: commands.c:1047 ++#: commands.c:1053 + #, fuzzy + msgid "Decrypt-copy tagged to mailbox" + msgstr "Dekryptér-kopiér udvalgte til brevbakke" + +-#: commands.c:1049 ++#: commands.c:1055 + #, fuzzy + msgid "Copy to mailbox" + msgstr "Kopiér til brevbakke" + +-#: commands.c:1049 ++#: commands.c:1055 + #, fuzzy + msgid "Copy tagged to mailbox" + msgstr "Kopiér udvalgte til brevbakke" + +-#: commands.c:1092 ++#: commands.c:1098 + #, c-format + msgid "Copying to %s..." + msgstr "Kopierer til %s ..." + + #. L10N: e.g. "text/plain; charset=UTF-8; ..." +-#: commands.c:1257 ++#: commands.c:1263 + #, fuzzy + msgid "Content type is too long" + msgstr "\"Content-Type\" ændret til %s" + +-#: commands.c:1281 ++#: commands.c:1290 + #, c-format + msgid "Convert to %s upon sending?" + msgstr "Omdan til %s ved afsendelse?" + +-#: commands.c:1292 ++#: commands.c:1301 + #, c-format + msgid "Content-Type changed to %s" + msgstr "\"Content-Type\" ændret til %s" + +-#: commands.c:1297 ++#: commands.c:1306 + #, fuzzy, c-format + msgid "Character set changed to %s; not converting" + msgstr "Tegnsæt ændret til %s; omdanner ikke" + +-#: commands.c:1298 ++#: commands.c:1307 + #, fuzzy, c-format + msgid "Character set changed to %s; converting" + msgstr "Tegnsæt ændret til %s; omdanner" + +-#: compose.c:99 ++#: command_parse.c:83 command_parse.c:211 command_parse.c:219 ++#: command_parse.c:740 command_parse.c:887 command_parse.c:1491 ++#: command_parse.c:1549 gui/color.c:731 gui/color.c:868 gui/color.c:1069 ++#: gui/color.c:1098 gui/color.c:1122 gui/color.c:1191 gui/color.c:1214 ++#: hook.c:110 hook.c:124 hook.c:372 hook.c:388 keymap.c:1182 score.c:110 ++#, c-format ++msgid "%s: too few arguments" ++msgstr "%s: for få parametre" ++ ++#: command_parse.c:394 ++msgid "-group: no group name" ++msgstr "-group: intet gruppenavn" ++ ++#: command_parse.c:404 ++msgid "out of arguments" ++msgstr "parametre slap op" ++ ++#: command_parse.c:445 command_parse.c:1372 ++#, c-format ++msgid "Error: Can't build path of '%s'" ++msgstr "" ++ ++#: command_parse.c:458 ++#, c-format ++msgid "Error: Cyclic sourcing of configuration file '%s'" ++msgstr "" ++ ++#: command_parse.c:491 ++#, c-format ++msgid "Error in %s, line %d: %s" ++msgstr "Fejl i %s, linje %d: %s" ++ ++#: command_parse.c:502 ++#, fuzzy, c-format ++msgid "Warning in %s, line %d: %s" ++msgstr "Fejl i %s, linje %d: %s" ++ ++#: command_parse.c:526 ++#, c-format ++msgid "source: errors in %s" ++msgstr "source: Fejl i %s" ++ ++#: command_parse.c:526 ++#, c-format ++msgid "source: reading aborted due to too many errors in %s" ++msgstr "source: læsning afbrudt pga. for mange fejl i %s" ++ ++#: command_parse.c:535 ++#, fuzzy, c-format ++msgid "source: %d warning in %s" ++msgid_plural "source: %d warnings in %s" ++msgstr[0] "source: Fejl i %s" ++msgstr[1] "source: Fejl i %s" ++ ++#: command_parse.c:564 ++msgid "alias: no address" ++msgstr "alias: Ingen adresse" ++ ++#: command_parse.c:606 ++#, c-format ++msgid "Warning: Bad IDN '%s' in alias '%s'" ++msgstr "Advarsel: Forkert IDN '%s' i alias '%s'" ++ ++#: command_parse.c:684 ++msgid "attachments: no disposition" ++msgstr "vedlæg bilag: ingen beskrivelse" ++ ++#: command_parse.c:695 ++#, fuzzy ++msgid "Current attachments settings:" ++msgstr "ret brevdelens beskrivelse" ++ ++#: command_parse.c:725 ++msgid "attachments: invalid disposition" ++msgstr "vedlæg bilag: ugyldig beskrivelse" ++ ++#: command_parse.c:764 command_parse.c:1753 command_parse.c:2205 ++#: gui/color.c:1223 gui/color.c:1329 hook.c:131 hook.c:395 keymap.c:1114 ++#: keymap.c:1287 keymap.c:1440 keymap.c:1504 mutt_lua.c:485 score.c:119 ++#, c-format ++msgid "%s: too many arguments" ++msgstr "%s: for mange parametre" ++ ++#: command_parse.c:801 ++#, c-format ++msgid "%sgroup: missing -rx or -addr" ++msgstr "%sgroup: mangler -rx eller -addr" ++ ++#: command_parse.c:827 ++#, c-format ++msgid "%sgroup: warning: bad IDN '%s'" ++msgstr "%sgroup: advarsel: forkert IDN \"%s\"" ++ ++#: command_parse.c:898 ++#, c-format ++msgid "Error: %s" ++msgstr "" ++ ++#: command_parse.c:1065 ++msgid "invalid header field" ++msgstr "ugyldig linje i brevhoved" ++ ++#: command_parse.c:1331 command_parse.c:1435 ++#, c-format ++msgid "%s: unknown variable" ++msgstr "%s: ukendt variabel" ++ ++#: command_parse.c:1528 ++#, c-format ++msgid "%s is unset" ++msgstr "%s er ikke sat" ++ ++#: command_parse.c:1573 mutt_lua.c:480 ++#, c-format ++msgid "source: error at %s" ++msgstr "source: Fejl ved %s" ++ ++#: command_parse.c:1581 ++#, fuzzy, c-format ++msgid "source: file %s could not be sourced" ++msgstr "Brevene kunne ikke udskrives" ++ ++#: command_parse.c:1604 ++msgid "spam: no matching pattern" ++msgstr "spam: intet mønster matcher" ++ ++#: command_parse.c:1606 ++msgid "nospam: no matching pattern" ++msgstr "nospam: intet mønster matcher" ++ ++#: command_parse.c:1762 imap/imap.c:1443 ++#, c-format ++msgid "Subscribed to %s" ++msgstr "Abonnerer på %s" ++ ++#: command_parse.c:1766 ++#, fuzzy, c-format ++msgid "Could not subscribe to %s" ++msgstr "Abonnerer på %s" ++ ++#: command_parse.c:1774 command_parse.c:2226 ++#, fuzzy ++msgid "No folder specified" ++msgstr "Intet emne er angivet." ++ ++#: command_parse.c:1943 ++msgid "unattachments: no disposition" ++msgstr "fjern bilag: ingen beskrivelse" ++ ++#: command_parse.c:1981 ++msgid "unattachments: invalid disposition" ++msgstr "fjern bilag: ugyldig beskrivelse" ++ ++#: command_parse.c:2214 imap/imap.c:1445 ++#, c-format ++msgid "Unsubscribed from %s" ++msgstr "Afmeldt fra %s" ++ ++#: command_parse.c:2218 ++#, fuzzy, c-format ++msgid "Could not unsubscribe from %s" ++msgstr "Afmeldt fra %s" ++ ++#: compose.c:97 + msgid "There are no attachments" + msgstr "Der er ingen bilag" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:166 ++#: compose.c:164 + msgid "From: " + msgstr "Fra: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:168 send.c:284 ++#: compose.c:166 send.c:284 + msgid "To: " + msgstr "Til: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:170 send.c:286 ++#: compose.c:168 send.c:286 + msgid "Cc: " + msgstr "Cc: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:172 send.c:288 ++#: compose.c:170 send.c:288 + msgid "Bcc: " + msgstr "Bcc: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:174 compose.c:1242 send.c:320 ++#: compose.c:172 compose.c:1302 send.c:320 + msgid "Subject: " + msgstr "Emne: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:176 ++#: compose.c:174 + msgid "Reply-To: " + msgstr "Svar til: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:178 compose.c:1261 ++#: compose.c:176 compose.c:1321 + msgid "Fcc: " + msgstr "Fcc: " + + #. L10N: "Mix" refers to the MixMaster chain for anonymous email +-#: compose.c:181 ++#: compose.c:179 + msgid "Mix: " + msgstr "Mix: " + + #. L10N: Compose menu field. Holds "Encrypt", "Sign" related information +-#: compose.c:184 ++#: compose.c:182 + msgid "Security: " + msgstr "Sikkerhed: " + +@@ -900,79 +1038,79 @@ msgstr "Sikkerhed: " + #. it should not be longer than the other compose menu fields. + #. Since it shares the row with "Encrypt with:", it should not be longer + #. than 15-20 character cells. +-#: compose.c:192 ncrypt/crypt_gpgme.c:5602 ncrypt/pgp.c:1974 +-#: ncrypt/smime.c:2395 ++#: compose.c:190 ncrypt/crypt_gpgme.c:5682 ncrypt/pgp.c:1976 ++#: ncrypt/smime.c:2429 + msgid "Sign as: " + msgstr "Underskriv som: " + + #. L10N: The compose menu autocrypt line +-#: compose.c:195 ++#: compose.c:193 + msgid "Autocrypt: " + msgstr "Autocrypt: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:199 ++#: compose.c:197 + #, fuzzy + msgid "Newsgroups: " + msgstr "Intet emne er angivet." + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:201 ++#: compose.c:199 + #, fuzzy + msgid "Followup-To: " + msgstr "Opfølg til %s%s?" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:203 ++#: compose.c:201 + #, fuzzy + msgid "X-Comment-To: " + msgstr "ret Reply-To-feltet" + +-#: compose.c:208 compose.c:224 ++#: compose.c:206 compose.c:222 + msgid "Send" + msgstr "Send" + +-#: compose.c:209 compose.c:225 remailer.c:77 ++#: compose.c:207 compose.c:223 remailer.c:75 + msgid "Abort" + msgstr "Afbryd" + + #. L10N: compose menu help line entry +-#: compose.c:211 ++#: compose.c:209 + msgid "To" + msgstr "Til" + + #. L10N: compose menu help line entry +-#: compose.c:213 ++#: compose.c:211 + msgid "CC" + msgstr "CC" + + #. L10N: compose menu help line entry +-#: compose.c:215 compose.c:227 ++#: compose.c:213 compose.c:225 + msgid "Subj" + msgstr "Emne" + +-#: compose.c:216 compose.c:228 compose.c:1556 ++#: compose.c:214 compose.c:226 compose.c:1616 + msgid "Attach file" + msgstr "Vedlæg fil" + +-#: compose.c:217 compose.c:229 ++#: compose.c:215 compose.c:227 + msgid "Descrip" + msgstr "Beskr." + +-#: compose.c:226 ++#: compose.c:224 + #, fuzzy + msgid "Newsgroups" + msgstr "Intet emne er angivet." + + #. L10N: Autocrypt recommendation flag: off. + #. * This is displayed when Autocrypt is turned off. +-#: compose.c:239 compose.c:473 ++#: compose.c:237 compose.c:472 + msgid "Off" + msgstr "Fra" + + #. L10N: Autocrypt recommendation flag: no. + #. * This is displayed when Autocrypt cannot encrypt to the recipients. +-#: compose.c:242 ++#: compose.c:240 + msgid "No" + msgstr "Nej" + +@@ -980,7 +1118,7 @@ msgstr "Nej" + #. * This is displayed when Autocrypt believes encryption should not be used. + #. * This might occur if one of the recipient Autocrypt Keys has not been + #. * used recently, or if the only key available is a Gossip Header key. +-#: compose.c:247 ++#: compose.c:245 + msgid "Discouraged" + msgstr "Frarådes" + +@@ -988,14 +1126,14 @@ msgstr "Frarådes" + #. * This is displayed when Autocrypt believes encryption is possible, but + #. * leaves enabling it up to the sender. Probably because "prefer encrypt" + #. * is not set in both the sender and recipient keys. +-#: compose.c:252 ++#: compose.c:250 + msgid "Available" + msgstr "Tilgængelig" + + #. L10N: Autocrypt recommendation flag: yes. + #. * This is displayed when Autocrypt would normally enable encryption + #. * automatically. +-#: compose.c:256 ++#: compose.c:254 + msgid "Yes" + msgstr "Ja" + +@@ -1005,7 +1143,7 @@ msgstr "Ja" + #. (c)lear sets cleartext. + #. (a)utomatic defers to the recommendation. + #. +-#: compose.c:338 ++#: compose.c:337 + msgid "Autocrypt: (e)ncrypt, (c)lear, (a)utomatic?" + msgstr "Autocrypt: (k)ryptér, (r)yd, (a)utomatisk?" + +@@ -1013,51 +1151,51 @@ msgstr "Autocrypt: (k)ryptér, (r)yd, (a)utomatisk?" + #. The letter corresponding to the compose menu autocrypt prompt + #. (e)ncrypt, (c)lear, (a)utomatic + #. +-#: compose.c:346 ++#: compose.c:345 + msgid "eca" + msgstr "kra" + +-#: compose.c:383 ++#: compose.c:382 + msgid "Not supported" + msgstr "Ikke understøttet" + +-#: compose.c:390 ++#: compose.c:389 + msgid "Sign, Encrypt" + msgstr "Underskriv og kryptér" + +-#: compose.c:395 compose.c:468 ++#: compose.c:394 compose.c:467 + msgid "Encrypt" + msgstr "Kryptér" + +-#: compose.c:400 ++#: compose.c:399 + msgid "Sign" + msgstr "Underskriv" + +-#: compose.c:406 ++#: compose.c:405 + msgid "None" + msgstr "Ingen" + +-#: compose.c:415 ++#: compose.c:414 + msgid " (inline PGP)" + msgstr " (indlejret PGP)" + +-#: compose.c:417 ++#: compose.c:416 + msgid " (PGP/MIME)" + msgstr " (PGP/MIME)" + +-#: compose.c:420 ++#: compose.c:419 + msgid " (S/MIME)" + msgstr " (S/MIME)" + +-#: compose.c:424 ++#: compose.c:423 + msgid " (OppEnc mode)" + msgstr " (OppEnc-tilstand)" + +-#: compose.c:436 compose.c:445 ++#: compose.c:435 compose.c:444 + msgid "" + msgstr "" + +-#: compose.c:452 ++#: compose.c:451 + msgid "Encrypt with: " + msgstr "Kryptér med: " + +@@ -1066,11 +1204,11 @@ msgstr "Kryptér med: " + #. Displays the output of the recommendation engine + #. (Off, No, Discouraged, Available, Yes) + #. +-#: compose.c:483 ++#: compose.c:482 + msgid "Recommendation: " + msgstr "Anbefaling: " + +-#: compose.c:547 ++#: compose.c:546 + msgid "" + msgstr "" + +@@ -1081,7 +1219,7 @@ msgstr "" + #. The filename is located last to avoid a long path hiding the + #. error message. + #. +-#: compose.c:601 ++#: compose.c:600 + #, c-format + msgid "Attachment #%d no longer exists: %s" + msgstr "Bilag #%d findes ikke længere: %s" +@@ -1093,239 +1231,359 @@ msgstr "Bilag #%d findes ikke længere: %s" + #. The filename is located last to avoid a long path hiding the + #. prompt question. + #. +-#: compose.c:621 ++#: compose.c:620 + #, c-format + msgid "Attachment #%d modified. Update encoding for %s?" + msgstr "Bilag #%d ændret. Opdatér kodning af %s?" + +-#: compose.c:716 ++#: compose.c:715 + msgid "-- Attachments" + msgstr "-- MIME-dele" + +-#: compose.c:770 ++#: compose.c:769 + msgid "You may not delete the only attachment" + msgstr "Brevets eneste del kan ikke slettes" + +-#: compose.c:1296 edit.c:538 send.c:2462 ++#: compose.c:1356 edit.c:536 send.c:2473 + #, c-format + msgid "Bad IDN in '%s': '%s'" + msgstr "Forkert IDN i '%s': '%s'" + +-#: compose.c:1347 ++#: compose.c:1407 + #, fuzzy + msgid "Attachment is already at top" + msgstr "Bilag gemt" + +-#: compose.c:1352 compose.c:1368 ++#: compose.c:1412 compose.c:1428 + #, fuzzy + msgid "The fundamental part can't be moved" + msgstr "Den aktuelle del vil ikke blive konverteret" + +-#: compose.c:1363 ++#: compose.c:1423 + #, fuzzy + msgid "Attachment is already at bottom" + msgstr "Brevdel filtreret" + +-#: compose.c:1381 ++#: compose.c:1441 + msgid "Grouping 'alternatives' requires at least 2 tagged messages" + msgstr "" + +-#: compose.c:1462 ++#: compose.c:1522 + msgid "Grouping 'multilingual' requires at least 2 tagged messages" + msgstr "" + +-#: compose.c:1475 ++#: compose.c:1535 + msgid "Not all parts have 'Content-Language' set, continue?" + msgstr "" + +-#: compose.c:1477 ++#: compose.c:1537 + #, fuzzy + msgid "Not sending this message" + msgstr "Fejl ved afsendelse af brev" + +-#: compose.c:1571 ++#: compose.c:1631 + #, fuzzy + msgid "Attaching selected file..." + msgid_plural "Attaching selected files..." + msgstr[0] "Vedlægger valgte filer ..." + msgstr[1] "Vedlægger valgte filer ..." + +-#: compose.c:1585 ++#: compose.c:1645 + #, c-format + msgid "Unable to attach %s" + msgstr "Kan ikke vedlægge %s" + +-#: compose.c:1606 ++#: compose.c:1666 + msgid "Open mailbox to attach message from" + msgstr "Åbn brevbakken med brevet som skal vedlægges" + +-#: compose.c:1616 ++#: compose.c:1676 + #, fuzzy + msgid "Open newsgroup to attach message from" + msgstr "Åbn brevbakken med brevet som skal vedlægges" + +-#: compose.c:1667 ++#: compose.c:1730 + #, c-format + msgid "Unable to open mailbox %s" + msgstr "Kan ikke åbne brevbakke %s" + +-#: compose.c:1676 ++#: compose.c:1739 + msgid "No messages in that folder" + msgstr "Ingen breve i den brevbakke" + +-#: compose.c:1686 ++#: compose.c:1749 + msgid "Tag the messages you want to attach" + msgstr "Udvælg de breve som du vil vedlægge" + +-#: compose.c:1715 ++#: compose.c:1785 + msgid "Unable to attach" + msgstr "Kan ikke vedlægge" + +-#: compose.c:1752 ++#: compose.c:1822 + msgid "Recoding only affects text attachments" + msgstr "Omkodning berører kun tekstdele" + +-#: compose.c:1757 ++#: compose.c:1827 + msgid "The current attachment won't be converted" + msgstr "Den aktuelle del vil ikke blive konverteret" + +-#: compose.c:1759 ++#: compose.c:1829 + msgid "The current attachment will be converted" + msgstr "Den aktuelle del vil blive konverteret" + +-#: compose.c:1831 ++#: compose.c:1901 + msgid "Empty 'Content-Language'" + msgstr "" + +-#: compose.c:1849 ++#: compose.c:1920 + msgid "Invalid encoding" + msgstr "Ugyldig indkodning" + +-#: compose.c:1871 ++#: compose.c:1942 + msgid "Save a copy of this message?" + msgstr "Gem en kopi af dette brev?" + +-#: compose.c:1924 ++#: compose.c:1995 + msgid "Send attachment with name: " + msgstr "Send bilag med navn: " + +-#: compose.c:1939 ++#: compose.c:2010 + msgid "Rename to: " + msgstr "Omdøb til: " + + #. L10N: "stat" is a system call. Do "man 2 stat" for more information. +-#: compose.c:1946 editmsg.c:102 editmsg.c:138 sendlib.c:1050 ++#: compose.c:2017 editmsg.c:102 editmsg.c:138 sendlib.c:1049 + #, c-format + msgid "Can't stat %s: %s" + msgstr "Kan ikke finde filen %s: %s" + +-#: compose.c:1966 ++#: compose.c:2037 + msgid "New file: " + msgstr "Ny fil: " + +-#: compose.c:1984 ++#: compose.c:2055 + msgid "Content-Type is of the form base/sub" + msgstr "\"Content-Type\" er på formen grundtype/undertype" + +-#: compose.c:1991 ++#: compose.c:2062 + #, c-format + msgid "Unknown Content-Type %s" + msgstr "Ukendt \"Content-Type\" %s" + +-#: compose.c:1999 ++#: compose.c:2070 + #, c-format + msgid "Can't create file %s" + msgstr "Kan ikke oprette filen %s" + +-#: compose.c:2008 ++#: compose.c:2079 + msgid "What we have here is a failure to make an attachment" + msgstr "Det er ikke muligt at lave et bilag" + +-#: compose.c:2073 ++#: compose.c:2144 + #, fuzzy + msgid "Save (postpone) draft message?" + msgstr "Genindlæs tilbageholdt brev?" + +-#: compose.c:2133 ++#: compose.c:2204 + msgid "Write message to mailbox" + msgstr "Skriv brevet til brevbakke" + +-#: compose.c:2136 ++#: compose.c:2207 + #, c-format + msgid "Writing message to %s ..." + msgstr "Skriver brevet til %s ..." + +-#: compose.c:2143 ++#: compose.c:2214 + msgid "Message written" + msgstr "Brevet skrevet" + +-#: compose.c:2154 ++#: compose.c:2225 + msgid "No PGP backend configured" + msgstr "Ingen PGP-ressource er konfigureret" + +-#: compose.c:2161 compose.c:2225 ++#: compose.c:2232 compose.c:2296 + msgid "S/MIME already selected. Clear and continue?" + msgstr "S/MIME allerede valgt. Ryd & fortsæt?" + +-#: compose.c:2186 ++#: compose.c:2257 + msgid "No S/MIME backend configured" + msgstr "Ingen S/MIME-ressource er konfigureret" + +-#: compose.c:2194 ++#: compose.c:2265 + msgid "PGP already selected. Clear and continue?" + msgstr "PGP allerede valgt. Ryd & fortsæt?" + +-#: compress.c:355 compress.c:499 ++#: compress/compress.c:354 compress/compress.c:498 + #, c-format + msgid "Can't append without an append-hook or close-hook : %s" + msgstr "Kan ikke tilføje uden en \"append-hook\" eller \"close-hook\" : %s" + +-#: compress.c:444 compress.c:511 compress.c:590 compress.c:628 mbox/mbox.c:1208 ++#: compress/compress.c:443 compress/compress.c:510 compress/compress.c:589 ++#: compress/compress.c:627 mbox/mbox.c:1208 + msgid "Unable to lock mailbox" + msgstr "Kan ikke låse brevbakke" + +-#: compress.c:448 compress.c:518 compress.c:594 ++#: compress/compress.c:447 compress/compress.c:517 compress/compress.c:593 + #, c-format + msgid "Decompressing %s" + msgstr "Dekomprimerer %s" + +-#: compress.c:457 ++#: compress/compress.c:456 + msgid "Can't identify the contents of the compressed file" + msgstr "Kan ikke bestemme indholdet i den komprimerede fil" + +-#: compress.c:464 compress.c:539 ++#: compress/compress.c:463 compress/compress.c:538 + #, c-format + msgid "Can't find mailbox ops for mailbox type %d" + msgstr "Kan ikke finde operationer for brevbakke af typen %d" + +-#: compress.c:521 ++#: compress/compress.c:520 + #, c-format + msgid "Compress command failed: %s" + msgstr "Komprimeringskommando fejlede: %s" + +-#: compress.c:532 ++#: compress/compress.c:531 + msgid "Unsupported mailbox type for appending" + msgstr "Typen på brevbakken understøttes ikke ved tilføjelse" + +-#: compress.c:618 ++#: compress/compress.c:617 + msgid "Can't sync a compressed file without a close-hook" + msgstr "Kan ikke synkronisere en komprimeret fil uden en \"close-hook\"" + +-#: compress.c:640 compress.c:692 ++#: compress/compress.c:639 compress/compress.c:691 + #, c-format + msgid "Compressing %s" + msgstr "Komprimerer %s" + +-#: compress.c:687 ++#: compress/compress.c:686 + #, c-format + msgid "Compressed-appending to %s..." + msgstr "Komprimeret-tilføjelse til %s ..." + +-#: compress.c:699 editmsg.c:247 ++#: compress/compress.c:698 editmsg.c:247 + #, c-format + msgid "Error. Preserving temporary file: %s" + msgstr "Fejl. Bevarer midlertidig fil: %s" + ++#: config/bool.c:70 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %s" ++msgstr "Ugyldig relativ dato: %s" ++ ++#: config/bool.c:131 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %ld" ++msgstr "Ugyldig relativ dato: %s" ++ ++#: config/enum.c:62 ++#, fuzzy, c-format ++msgid "Invalid enum value: %s" ++msgstr "Fejl: score: ugyldigt tal" ++ ++#: config/enum.c:149 ++#, fuzzy, c-format ++msgid "Invalid enum value: %ld" ++msgstr "Ugyldig værdi for tilvalget %s: \"%s\"" ++ ++#: config/long.c:50 ++#, fuzzy, c-format ++msgid "Invalid long: %s" ++msgstr "Ugyldig måned: %s" ++ ++#: config/long.c:56 config/long.c:114 config/number.c:68 config/number.c:133 ++#, fuzzy, c-format ++msgid "Option %s may not be negative" ++msgstr "Funktionen er ikke tilladt ved vedlægning af bilag." ++ ++#: config/number.c:49 config/sort.c:145 config/string.c:75 config/string.c:159 ++#, c-format ++msgid "Option %s may not be empty" ++msgstr "" ++ ++#: config/number.c:56 ++#, fuzzy, c-format ++msgid "Invalid number: %s" ++msgstr "Fejl: score: ugyldigt tal" ++ ++#: config/number.c:62 ++#, c-format ++msgid "Number is too big: %s" ++msgstr "" ++ ++#: config/number.c:127 ++#, fuzzy, c-format ++msgid "Invalid number: %ld" ++msgstr "Fejl: score: ugyldigt tal" ++ ++#: config/quad.c:69 ++#, fuzzy, c-format ++msgid "Invalid quad value: %s" ++msgstr "Ugyldig relativ dato: %s" ++ ++#: config/quad.c:133 ++#, fuzzy, c-format ++msgid "Invalid quad value: %ld" ++msgstr "Ugyldig værdi for tilvalget %s: \"%s\"" ++ ++#: config/set.c:102 ++#, c-format ++msgid "No such variable: %s" ++msgstr "" ++ ++#: config/set.c:134 config/set.c:821 ++#, fuzzy, c-format ++msgid "Variable '%s' has an invalid type %d" ++msgstr "Fejl: 'værdien \"%s\" er ugyldig til -d" ++ ++#: config/set.c:399 config/set.c:463 config/set.c:528 config/set.c:601 ++#: config/set.c:671 config/set.c:744 ++#, fuzzy, c-format ++msgid "Unknown variable '%s'" ++msgstr "%s: ukendt variabel" ++ ++#: config/sort.c:192 ++#, fuzzy, c-format ++msgid "Invalid sort name: %s" ++msgstr "Ugyldig relativ dato: %s" ++ ++#: config/sort.c:322 ++#, fuzzy, c-format ++msgid "Invalid sort type: %ld" ++msgstr "Ugyldig relativ dato: %s" ++ ++#. L10N: Example: Username at myhost.com ++#: conn/connaccount.c:61 ++#, c-format ++msgid "Username at %s: " ++msgstr "Brugernavn på %s: " ++ ++#: conn/connaccount.c:117 ++#, c-format ++msgid "Password for %s@%s: " ++msgstr "Adgangskode for %s@%s: " ++ ++#. L10N: You will see this error message if (1) you have "oauthbearer" in ++#. one of your $*_authenticators and (2) you do not have the corresponding ++#. $*_oauth_refresh_command defined. So the message does not mean "None of ++#. your $*_oauth_refresh_command's are defined." ++#: conn/connaccount.c:165 ++#, fuzzy ++msgid "No OAUTH refresh command defined" ++msgstr "Ingen forespørgsels-kommando defineret" ++ ++#: conn/connaccount.c:173 ++msgid "Unable to run refresh command" ++msgstr "" ++ ++#: conn/connaccount.c:184 ++msgid "Command returned empty string" ++msgstr "" ++ ++#: conn/connaccount.c:191 ++#, c-format ++msgid "OAUTH token is too big: %ld" ++msgstr "" ++ + #: conn/conn_raw.c:160 conn/conn_raw.c:218 + #, c-format + msgid "Looking up %s..." +@@ -1346,7 +1604,7 @@ msgstr "Forbinder til %s ..." + msgid "Could not connect to %s (%s)" + msgstr "Kunne ikke forbinde til %s (%s)" + +-#: conn/conn_raw.c:260 conn/ssl.c:1230 curs_lib.c:568 mutt_logging.c:149 ++#: conn/conn_raw.c:260 conn/ssl.c:1245 gui/curs_lib.c:569 mutt_logging.c:147 + msgid "unknown error" + msgstr "ukendt fejl" + +@@ -1360,23 +1618,23 @@ msgstr "Kommunikationsfejl med server %s (%s)" + msgid "Connection to %s has been aborted" + msgstr "Forbindelse til %s er lukket" + +-#: conn/sasl.c:565 ++#: conn/sasl.c:547 + msgid "Unknown SASL profile" + msgstr "Ukendt SASL-profil" + +-#: conn/sasl.c:598 ++#: conn/sasl.c:580 + msgid "Error allocating SASL connection" + msgstr "Fejl ved tildeling af SASL-forbindelse" + +-#: conn/sasl.c:608 ++#: conn/sasl.c:590 + msgid "Error setting SASL security properties" + msgstr "Fejl ved indstilling af sikkerhedsegenskaber for SASL" + +-#: conn/sasl.c:619 ++#: conn/sasl.c:601 + msgid "Error setting SASL external security strength" + msgstr "Fejl ved indstilling af ekstern sikkerhedsstyrke for SASL" + +-#: conn/sasl.c:629 ++#: conn/sasl.c:611 + msgid "Error setting SASL external user name" + msgstr "Fejl ved indstilling af eksternt brugernavn for SASL" + +@@ -1389,133 +1647,109 @@ msgstr "\"Preconnect\"-kommando slog fejl" + msgid "Connection to %s closed" + msgstr "Forbindelse til %s er lukket" + +-#: conn/ssl.c:237 ++#: conn/ssl.c:222 + #, c-format + msgid "Filling entropy pool: %s..." + msgstr "Fylder entropipuljen: %s ..." + +-#: conn/ssl.c:243 ++#: conn/ssl.c:228 + #, c-format + msgid "%s has insecure permissions" + msgstr "%s har usikre tilladelser" + +-#: conn/ssl.c:385 ++#: conn/ssl.c:369 + msgid "SSL disabled due to the lack of entropy" + msgstr "SSL deaktiveret pga. mangel på entropi" + +-#: conn/ssl.c:402 ++#: conn/ssl.c:386 + msgid "Unknown" + msgstr "Ukendt" + +-#: conn/ssl.c:421 conn/ssl_gnutls.c:186 ++#: conn/ssl.c:405 conn/ssl_gnutls.c:188 + #, c-format + msgid "[unable to calculate]" + msgstr "[kan ikke beregne]" + +-#: conn/ssl.c:446 ++#: conn/ssl.c:430 + msgid "[invalid date]" + msgstr "[ugyldig dato]" + +-#: conn/ssl.c:506 ++#: conn/ssl.c:490 + msgid "Server certificate is not yet valid" + msgstr "Server-certifikat er endnu ikke gyldigt" + +-#: conn/ssl.c:516 ++#: conn/ssl.c:500 + msgid "Server certificate has expired" + msgstr "Server-certifikat er udløbet" + +-#: conn/ssl.c:605 ++#: conn/ssl.c:589 + msgid "Failed to find enough entropy on your system" + msgstr "Kunne ikke finde nok entropi på dit system" + +-#: conn/ssl.c:799 ++#: conn/ssl.c:783 + msgid "can't get certificate subject" + msgstr "kan ikke hente certifikatets \"subject\"" + +-#: conn/ssl.c:808 conn/ssl.c:816 ++#: conn/ssl.c:792 conn/ssl.c:800 + msgid "can't get certificate common name" + msgstr "kan ikke finde certifikatets \"common name\"" + +-#: conn/ssl.c:830 ++#: conn/ssl.c:814 + #, c-format + msgid "certificate owner does not match hostname %s" + msgstr "der er ikke sammenfald mellem ejer af certifikat og værtsnavn %s" + +-#: conn/ssl.c:904 conn/ssl_gnutls.c:539 ++#: conn/ssl.c:917 conn/ssl_gnutls.c:570 + msgid "This certificate belongs to:" + msgstr "Dette certifikat tilhører:" + +-#: conn/ssl.c:913 conn/ssl_gnutls.c:593 ++#: conn/ssl.c:926 conn/ssl_gnutls.c:624 + msgid "This certificate was issued by:" + msgstr "Dette certifikat er udstedt af:" + +-#: conn/ssl.c:922 conn/ssl_gnutls.c:604 ++#: conn/ssl.c:935 conn/ssl_gnutls.c:635 + msgid "This certificate is valid" + msgstr "Dette certifikat er gyldigt" + +-#: conn/ssl.c:923 conn/ssl_gnutls.c:608 ++#: conn/ssl.c:936 conn/ssl_gnutls.c:639 + #, c-format + msgid " from %s" + msgstr " fra %s" + +-#: conn/ssl.c:925 conn/ssl_gnutls.c:612 ++#: conn/ssl.c:938 conn/ssl_gnutls.c:643 + #, c-format + msgid " to %s" + msgstr " til %s" + +-#: conn/ssl.c:931 conn/ssl_gnutls.c:617 ++#: conn/ssl.c:944 conn/ssl_gnutls.c:648 + #, c-format + msgid "SHA1 Fingerprint: %s" + msgstr "SHA1-fingeraftryk: %s" + +-#: conn/ssl.c:937 conn/ssl.c:940 conn/ssl_gnutls.c:623 conn/ssl_gnutls.c:625 ++#: conn/ssl.c:950 conn/ssl.c:953 conn/ssl_gnutls.c:654 conn/ssl_gnutls.c:656 + #, fuzzy + msgid "SHA256 Fingerprint: " + msgstr "SHA1-fingeraftryk: %s" + +-#: conn/ssl.c:944 conn/ssl_gnutls.c:664 ++#: conn/ssl.c:957 conn/ssl_gnutls.c:695 + #, c-format + msgid "SSL Certificate check (certificate %zu of %zu in chain)" + msgstr "Kontrol af SSL-certifikat (certifikat %zu af %zu i kæde)" + +-#. L10N: These four letters correspond to the choices in the next four strings: +-#. (r)eject, accept (o)nce, (a)ccept always, (s)kip. +-#. These prompts are the interactive certificate confirmation prompts for +-#. an OpenSSL connection. +-#: conn/ssl.c:964 +-msgid "roas" +-msgstr "avgs" +- +-#: conn/ssl.c:968 +-msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" +-msgstr "(a)fvis, (g)odkend denne gang, (v)arig godkendelse, (s)pring over" +- +-#: conn/ssl.c:970 conn/ssl_gnutls.c:671 +-msgid "(r)eject, accept (o)nce, (a)ccept always" +-msgstr "(a)fvis, (g)odkend denne gang, (v)arig godkendelse" +- +-#: conn/ssl.c:975 +-msgid "(r)eject, accept (o)nce, (s)kip" +-msgstr "(a)fvis, (g)odkend denne gang, (s)pring over" +- +-#: conn/ssl.c:977 conn/ssl_gnutls.c:680 +-msgid "(r)eject, accept (o)nce" +-msgstr "(a)fvis, (g)odkend denne gang" +- +-#: conn/ssl.c:981 conn/ssl_gnutls.c:689 ncrypt/crypt_gpgme.c:4729 +-#: ncrypt/pgpkey.c:664 ncrypt/smime.c:549 ++#: conn/ssl.c:994 conn/ssl_gnutls.c:720 ncrypt/crypt_gpgme.c:4777 ++#: ncrypt/pgpkey.c:667 ncrypt/smime.c:551 + msgid "Exit " + msgstr "Afslut " + +-#: conn/ssl.c:1016 conn/ssl_gnutls.c:742 ++#: conn/ssl.c:1029 conn/ssl_gnutls.c:773 + msgid "Warning: Couldn't save certificate" + msgstr "Advarsel: Kunne ikke gemme certifikat" + +-#: conn/ssl.c:1020 conn/ssl_gnutls.c:746 ++#: conn/ssl.c:1033 conn/ssl_gnutls.c:777 + msgid "Certificate saved" + msgstr "Certifikat gemt" + +-#: conn/ssl.c:1132 ++#: conn/ssl.c:1147 + #, c-format + msgid "Certificate host check failed: %s" + msgstr "Kontrol af certifikat-vært fejlede: %s" +@@ -1523,15 +1757,15 @@ msgstr "Kontrol af certifikat-vært fejlede: %s" + #. L10N: This is a warning when trying to set the host name for + #. * TLS Server Name Indication (SNI). This allows the server to present + #. * the correct certificate if it supports multiple hosts. +-#: conn/ssl.c:1213 conn/ssl_gnutls.c:1072 ++#: conn/ssl.c:1228 conn/ssl_gnutls.c:1105 + msgid "Warning: unable to set TLS SNI host name" + msgstr "Advarsel: Kunne ikke sætte værtsnavn for TLS SNI" + +-#: conn/ssl.c:1224 ++#: conn/ssl.c:1239 + msgid "I/O error" + msgstr "I/O-fejl" + +-#: conn/ssl.c:1233 ++#: conn/ssl.c:1248 + #, c-format + msgid "SSL failed: %s" + msgstr "SSL slog fejl: %s" +@@ -1539,89 +1773,73 @@ msgstr "SSL slog fejl: %s" + #. L10N: an SSL context is a data structure returned by the OpenSSL + #. function SSL_CTX_new(). In this case it returned NULL: an + #. error condition. +-#: conn/ssl.c:1269 ++#: conn/ssl.c:1284 + msgid "Unable to create SSL context" + msgstr "Kan ikke skabe SSL-kontekst" + +-#: conn/ssl.c:1322 ++#: conn/ssl.c:1337 + msgid "Warning: error enabling ssl_verify_partial_chains" + msgstr "Advarsel: fejl ved aktivering af ssl_verify_partial_chains" + +-#: conn/ssl_gnutls.c:150 conn/ssl_gnutls.c:784 conn/ssl_gnutls.c:793 ++#: conn/ssl_gnutls.c:152 conn/ssl_gnutls.c:817 conn/ssl_gnutls.c:826 + msgid "Unable to get certificate from peer" + msgstr "Ude af stand til at hente certifikat fra server" + +-#: conn/ssl_gnutls.c:155 ++#: conn/ssl_gnutls.c:157 + #, c-format + msgid "Certificate verification error (%s)" + msgstr "Fejl under godkendelse af certifikat (%s)" + +-#: conn/ssl_gnutls.c:162 ++#: conn/ssl_gnutls.c:164 + msgid "Certificate is not X.509" + msgstr "Certifikat er ikke X.509" + +-#: conn/ssl_gnutls.c:349 conn/ssl_gnutls.c:483 ++#: conn/ssl_gnutls.c:351 conn/ssl_gnutls.c:485 + msgid "Error initialising gnutls certificate data" + msgstr "Kan ikke klargøre gnutls-certifikatdata" + +-#: conn/ssl_gnutls.c:355 conn/ssl_gnutls.c:489 ++#: conn/ssl_gnutls.c:357 conn/ssl_gnutls.c:491 + msgid "Error processing certificate data" + msgstr "Fejl under behandling af certifikatdata" + +-#: conn/ssl_gnutls.c:635 ++#: conn/ssl_gnutls.c:666 + msgid "WARNING: Server certificate is not yet valid" + msgstr "ADVARSEL: Server-certifikat er endnu ikke gyldigt" + +-#: conn/ssl_gnutls.c:640 ++#: conn/ssl_gnutls.c:671 + msgid "WARNING: Server certificate has expired" + msgstr "ADVARSEL: Server-certifikat er udløbet" + +-#: conn/ssl_gnutls.c:645 ++#: conn/ssl_gnutls.c:676 + msgid "WARNING: Server certificate has been revoked" + msgstr "ADVARSEL: Server-certifikat er blevet tilbagekaldt" + +-#: conn/ssl_gnutls.c:650 ++#: conn/ssl_gnutls.c:681 + msgid "WARNING: Server hostname does not match certificate" + msgstr "ADVARSEL: Værtsnavn på server matcher ikke certifikat" + +-#: conn/ssl_gnutls.c:655 ++#: conn/ssl_gnutls.c:686 + msgid "WARNING: Signer of server certificate is not a CA" + msgstr "ADVARSEL: Undskriver af servercertifikat er ikke autoriseret (CA)" + +-#: conn/ssl_gnutls.c:659 conn/ssl_gnutls.c:1004 +-msgid "Warning: Server certificate was signed using an insecure algorithm" +-msgstr "Advarsel: Servercertifikat blev underskrevet med en usikker algoritme" +- +-#. L10N: These three letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce, (a)ccept always. +-#. This is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:676 +-msgid "roa" +-msgstr "agv" +- +-#. L10N: These two letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce. +-#. These is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:685 +-msgid "ro" +-msgstr "ag" +- +-#: conn/ssl_gnutls.c:950 conn/ssl_gnutls.c:992 ++#: conn/ssl_gnutls.c:690 conn/ssl_gnutls.c:1037 ++msgid "Warning: Server certificate was signed using an insecure algorithm" ++msgstr "Advarsel: Servercertifikat blev underskrevet med en usikker algoritme" ++ ++#: conn/ssl_gnutls.c:983 conn/ssl_gnutls.c:1025 + msgid "All available protocols for TLS/SSL connection disabled" + msgstr "Alle tilgængelige protokoller for TLS/SSL-forbindelse deaktiveret" + +-#: conn/ssl_gnutls.c:999 ++#: conn/ssl_gnutls.c:1032 + msgid "Explicit ciphersuite selection via $ssl_ciphers not supported" + msgstr "Eksplicit ciphersuite-valg via $ssl_ciphers ikke understøttet" + +-#: conn/ssl_gnutls.c:1120 ++#: conn/ssl_gnutls.c:1153 + #, c-format + msgid "SSL/TLS connection using %s (%s/%s/%s)" + msgstr "SSL/TLS-forbindelse bruger %s (%s/%s/%s)" + +-#: conn/ssl_gnutls.c:1175 conn/ssl_gnutls.c:1204 ++#: conn/ssl_gnutls.c:1210 conn/ssl_gnutls.c:1239 + msgid "Error: no TLS socket open" + msgstr "Fejl: ingen åben TLS-socket" + +@@ -1640,38 +1858,18 @@ msgstr "Fejl i tunnel under kommunikation med %s: %s" + msgid "Tunnel to %s returned error %d (%s)" + msgstr "Tunnel til %s returnerede fejl %d (%s)" + +-#: copy.c:660 ++#: copy.c:662 + #, c-format + msgid "The length calculation was wrong by %ld byte" + msgid_plural "The length calculation was wrong by %ld bytes" + msgstr[0] "" + msgstr[1] "" + +-#: copy.c:744 ++#: copy.c:746 + msgid "No decryption engine available for message" + msgstr "Intet tilgængeligt dekrypteringsprogram til brev" + +-#: curs_lib.c:378 +-msgid "yes" +-msgstr "ja" +- +-#: curs_lib.c:379 +-msgid "no" +-msgstr "nej" +- +-#: curs_lib.c:518 +-msgid "Exit NeoMutt?" +-msgstr "Afslut NeoMutt øjeblikkeligt?" +- +-#: curs_lib.c:597 +-msgid "Press any key to continue..." +-msgstr "Tryk på en tast for at fortsætte ..." +- +-#: curs_lib.c:705 +-msgid " ('?' for list): " +-msgstr " ('?' for en liste): " +- +-#: edit.c:64 ++#: edit.c:62 + msgid "" + "~~ insert a line beginning with a single ~\n" + "~b users add users to the Bcc: field\n" +@@ -1693,7 +1891,7 @@ msgstr "" + "~M breve samme som ~m, men inkl. brevhoved\n" + "~p udskriv brevet\n" + +-#: edit.c:75 ++#: edit.c:73 + msgid "" + "~q write file and quit editor\n" + "~r file read a file into the editor\n" +@@ -1715,20 +1913,20 @@ msgstr "" + "~? denne besked\n" + ". på en linje for sig selv afslutter input\n" + +-#: edit.c:261 ++#: edit.c:259 + #, c-format + msgid "%d: invalid message number.\n" + msgstr "%d: ugyldigt brevnummer.\n" + +-#: edit.c:416 ++#: edit.c:414 + msgid "(End message with a . on a line by itself)\n" + msgstr "(Afslut brevet med et '.' på en linje for sig selv).\n" + +-#: edit.c:474 ++#: edit.c:472 + msgid "No mailbox.\n" + msgstr "Ingen brevbakke.\n" + +-#: edit.c:478 ++#: edit.c:476 + msgid "Message contains:\n" + msgstr "Brevet indeholder:\n" + +@@ -1736,19 +1934,19 @@ msgstr "Brevet indeholder:\n" + #. not IN the middle of the content. + #. So it doesn't mean "(message will continue)" + #. but means "(press any key to continue using neomutt)". +-#: edit.c:486 edit.c:547 ++#: edit.c:484 edit.c:545 + msgid "(continue)\n" + msgstr "(fortsæt)\n" + +-#: edit.c:499 ++#: edit.c:497 + msgid "missing filename.\n" + msgstr "manglende filnavn.\n" + +-#: edit.c:519 ++#: edit.c:517 + msgid "No lines in message.\n" + msgstr "Ingen linjer i brevet.\n" + +-#: edit.c:558 ++#: edit.c:556 + #, c-format + msgid "%s: unknown editor command (~? for help)\n" + msgstr "%s: ukendt editor-kommando (~? for hjælp)\n" +@@ -1795,19 +1993,73 @@ msgstr "Kan ikke føje til brevbakke: %s" + msgid "multipart message has no boundary parameter" + msgstr "brev med flere dele har ingen \"boundary\"-parameter" + +-#: flags.c:382 index.c:2561 index.c:2604 index.c:3134 index.c:3171 ++#: flags.c:381 index.c:2587 index.c:2630 index.c:3160 index.c:3197 + #: mutt_thread.c:1091 mutt_thread.c:1158 mutt_thread.c:1246 + msgid "Threading is not enabled" + msgstr "Trådning er ikke i brug" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Set flag" + msgstr "Sæt statusindikator" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Clear flag" + msgstr "Fjern statusindikator" + ++#: gui/color.c:633 gui/color.c:644 ++#, c-format ++msgid "%s: color not supported by term" ++msgstr "%s: farve er ikke understøttet af terminal" ++ ++#: gui/color.c:652 ++#, c-format ++msgid "%s: no such color" ++msgstr "%s: ukendt farve" ++ ++#: gui/color.c:717 gui/color.c:740 gui/color.c:751 gui/color.c:842 ++#, c-format ++msgid "%s: no such object" ++msgstr "%s: ukendt objekt" ++ ++#: gui/color.c:1142 ++#, c-format ++msgid "%s: no such attribute" ++msgstr "%s: ukendt attribut" ++ ++#: gui/color.c:1244 ++msgid "default colors not supported" ++msgstr "standard-farver er ikke understøttet" ++ ++#: gui/color.c:1282 ++#, c-format ++msgid "Maximum quoting level is %d" ++msgstr "" ++ ++#: gui/color.c:1319 ++#, fuzzy, c-format ++msgid "%s: invalid number: %s" ++msgstr "Fejl: score: ugyldigt tal" ++ ++#: gui/curs_lib.c:379 ++msgid "yes" ++msgstr "ja" ++ ++#: gui/curs_lib.c:380 ++msgid "no" ++msgstr "nej" ++ ++#: gui/curs_lib.c:519 ++msgid "Exit NeoMutt?" ++msgstr "Afslut NeoMutt øjeblikkeligt?" ++ ++#: gui/curs_lib.c:598 ++msgid "Press any key to continue..." ++msgstr "Tryk på en tast for at fortsætte ..." ++ ++#: gui/curs_lib.c:749 ++msgid " ('?' for list): " ++msgstr " ('?' for en liste): " ++ + #: handler.c:102 + #, fuzzy, c-format + msgid "[-- Type: %s/%s%s%s, Encoding: %s, Size: %s --]\n" +@@ -1828,23 +2080,23 @@ msgstr "[-- Autovisning ved brug af %s --]\n" + msgid "Invoking autoview command: %s" + msgstr "Starter autovisning kommando: %s" + +-#: handler.c:591 mutt_attach.c:527 mutt_attach.c:714 mutt_attach.c:745 +-#: mutt_attach.c:1087 mutt_attach.c:1152 ncrypt/pgpkey.c:723 +-#: ncrypt/pgpkey.c:920 ++#: handler.c:590 mutt_attach.c:555 mutt_attach.c:747 mutt_attach.c:778 ++#: mutt_attach.c:1120 mutt_attach.c:1185 ncrypt/pgpkey.c:756 ++#: ncrypt/pgpkey.c:955 + msgid "Can't create filter" + msgstr "Kan ikke oprette filter" + +-#: handler.c:595 ++#: handler.c:594 + #, c-format + msgid "[-- Can't run %s. --]\n" + msgstr "[-- Kan ikke køre %s --]\n" + +-#: handler.c:614 handler.c:635 ++#: handler.c:613 handler.c:634 + #, c-format + msgid "[-- Autoview stderr of %s --]\n" + msgstr "[-- Fejl fra autovisning af %s --]\n" + +-#: handler.c:764 ++#: handler.c:763 + msgid "[-- Error: message/external-body has no access-type parameter --]\n" + msgstr "[-- Fejl: \"message/external-body\" har ingen \"access-type\"-parameter --]\n" + +@@ -1863,7 +2115,7 @@ msgstr "[-- Fejl: \"message/external-body\" har ingen \"access-type\"-parameter + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:807 ++#: handler.c:806 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" +@@ -1892,7 +2144,7 @@ msgstr[1] "" + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:830 ++#: handler.c:829 + #, fuzzy, c-format + msgid "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" + msgid_plural "[-- This %s/%s attachment (size %s bytes) has been deleted --]\n" +@@ -1906,7 +2158,7 @@ msgstr[1] "[-- Denne %s/%s-del (på %s bytes) er blevet slettet --]\n" + #. + #. Caution: Argument three %3$ is also defined but should not be used + #. in this translation! +-#: handler.c:848 ++#: handler.c:847 + #, fuzzy + msgid "" + "[-- This %s/%s attachment has been deleted --]\n" +@@ -1918,12 +2170,12 @@ msgstr "" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The first "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:856 ++#: handler.c:855 + #, fuzzy, c-format + msgid "[-- This %s/%s attachment has been deleted --]\n" + msgstr "[-- Denne %s/%s-del er blevet slettet --]\n" + +-#: handler.c:866 ++#: handler.c:865 + #, c-format + msgid "[-- name: %s --]\n" + msgstr "[-- navn %s --]\n" +@@ -1931,7 +2183,7 @@ msgstr "[-- navn %s --]\n" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:884 ++#: handler.c:883 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -1946,7 +2198,7 @@ msgstr "" + #. The "%s/%s" is a MIME type, e.g. "text/plain". The %s after + #. access-type is an access-type as defined by the MIME RFCs, e.g. "FTP", + #. "LOCAL-FILE", "MAIL-SERVER". +-#: handler.c:905 ++#: handler.c:904 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -1955,94 +2207,94 @@ msgstr "" + "[-- Denne %s/%s-del er ikke medtaget, --]\n" + "[-- og den angivne \"access-type\" %s er ikke understøttet --]\n" + +-#: handler.c:1090 ++#: handler.c:1089 + msgid "[-- Error: Could not display any parts of Multipart/Alternative --]\n" + msgstr "[-- Fejl: Kunne ikke vise nogen del af \"Multipart/Alternative\" --]\n" + + #. L10N: %s is the attachment description, filename or form_name. +-#: handler.c:1231 ++#: handler.c:1230 + #, fuzzy, c-format + msgid "[-- Attachment #%d: %s --]\n" + msgstr "[-- Brevdel #%d: %s --]\n" + +-#: handler.c:1236 ++#: handler.c:1235 + #, fuzzy, c-format + msgid "[-- Attachment #%d --]\n" + msgstr "[-- Brevdel #%d --]\n" + +-#: handler.c:1254 ++#: handler.c:1253 + msgid "One or more parts of this message could not be displayed" + msgstr "En eller flere dele af dette brev kunne ikke vises" + +-#: handler.c:1320 ++#: handler.c:1319 + #, fuzzy + msgid "Unable to open 'memory stream'" + msgstr "Kan ikke åbne midlertidig fil" + +-#: handler.c:1330 ++#: handler.c:1329 + msgid "Unable to open temporary file" + msgstr "Kan ikke åbne midlertidig fil" + +-#: handler.c:1379 ++#: handler.c:1378 + msgid "failed to re-open 'memory stream'" + msgstr "" + +-#: handler.c:1620 ++#: handler.c:1619 + msgid "Error: multipart/signed has no protocol" + msgstr "Fejl: \"multipart/signed\" har ingen \"protocol\"-parameter" + + #. L10N: %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1694 ++#: handler.c:1693 + #, fuzzy, c-format + msgid "[-- This is an attachment (use '%s' to view this part) --]\n" + msgstr "[-- Dette er et bilag (brug '%s' for vise denne brevdel) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". + #. The last %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1701 ++#: handler.c:1700 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported (use '%s' to view this part) --]\n" + msgstr "[-- %s/%s er ikke understøttet (brug '%s' for vise denne brevdel) --]\n" + +-#: handler.c:1709 ++#: handler.c:1708 + #, fuzzy + msgid "[-- This is an attachment (need 'view-attachments' bound to key) --]\n" + msgstr "[-- Dette er et bilag ('view-attachments' må tildeles en tast) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1715 ++#: handler.c:1714 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported (need 'view-attachments' bound to key) --]\n" + msgstr "[-- %s/%s er ikke understøttet ('view-attachments' må tildeles en tast) --]\n" + +-#: handler.c:1724 ++#: handler.c:1723 + #, fuzzy + msgid "[-- This is an attachment --]\n" + msgstr "[-- Dette er et bilag --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1729 ++#: handler.c:1728 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported --]\n" + msgstr "[-- %s/%s er ikke understøttet --]\n" + +-#: help.c:400 ++#: help.c:401 + msgid "ERROR: please report this bug" + msgstr "FEJL: vær venlig at rapportere denne fejl" + +-#: help.c:455 ++#: help.c:456 + msgid "" + msgstr "" + +-#: help.c:469 ++#: help.c:470 + msgid "Generic bindings:" + msgstr "Almene tastetildelinger:" + +-#: help.c:473 ++#: help.c:474 + msgid "Unbound functions:" + msgstr "Funktioner uden tastetildelinger:" + +-#: help.c:481 ++#: help.c:482 + #, c-format + msgid "Help for %s" + msgstr "Hjælp for %s" +@@ -2059,41 +2311,41 @@ msgstr "genvejstaste til brevbakke udfoldet til tomt regulært udtryk" + msgid "badly formatted command string" + msgstr "fejlformateret kommandostreng" + +-#: hook.c:461 ++#: hook.c:466 + msgid "unhook: Can't do unhook * from within a hook" + msgstr "unhook: Kan ikke foretage unhook * inde fra en hook" + +-#: hook.c:474 ++#: hook.c:479 + #, c-format + msgid "unhook: unknown hook type: %s" + msgstr "unhook: ukendt hooktype: %s" + +-#: hook.c:484 ++#: hook.c:489 + #, c-format + msgid "unhook: Can't delete a %s from within a %s" + msgstr "unhook: Kan ikke slette en %s inde fra en %s" + + #. L10N: '%s' is the (misspelled) name of the menu, e.g. 'index' or 'pager' +-#: icommands.c:259 keymap.c:1161 keymap.c:1346 ++#: icommands.c:261 keymap.c:1159 keymap.c:1344 + #, c-format + msgid "%s: no such menu" + msgstr "%s: ukendt menu" + + #. L10N: '%s' is the name of the menu, e.g. 'index' or 'pager', it might + #. L10N: also be 'all' when all menus are affected. +-#: icommands.c:272 ++#: icommands.c:274 + #, fuzzy, c-format + msgid "%s: no binds for this menu" + msgstr "%s: ukendt menu" + +-#: icommands.c:272 ++#: icommands.c:274 + #, fuzzy, c-format + msgid "%s: no macros for this menu" + msgstr "%s: ukendt menu" + + #. L10N: '%s' is the file name of the temporary file +-#: icommands.c:283 icommands.c:296 icommands.c:316 icommands.c:340 +-#: icommands.c:360 icommands.c:371 imap/message.c:1093 ++#: icommands.c:285 icommands.c:297 icommands.c:317 icommands.c:340 ++#: icommands.c:360 icommands.c:370 imap/message.c:1093 + #, c-format + msgid "Could not create temporary file %s" + msgstr "Kunne ikke oprette midlertidig fil %s" +@@ -2131,28 +2383,28 @@ msgstr "GSSAPI-godkendelse slog fejl" + msgid "LOGIN disabled on this server" + msgstr "Der er spærret for indlogning på denne server" + +-#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:288 ++#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:289 + msgid "Logging in..." + msgstr "Logger ind ..." + +-#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:329 ++#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:330 + msgid "Login failed" + msgstr "Login slog fejl" + +-#: imap/auth_oauth.c:64 pop/pop_auth.c:346 smtp.c:524 ++#: imap/auth_oauth.c:65 pop/pop_auth.c:347 smtp.c:549 + msgid "Authenticating (OAUTHBEARER)..." + msgstr "Godkender (OAUTHBEARER) ..." + +-#: imap/auth_oauth.c:96 ++#: imap/auth_oauth.c:97 + msgid "OAUTHBEARER authentication failed" + msgstr "OAUTHBEARER-godkendelse slog fejl" + +-#: imap/auth_sasl.c:128 nntp/nntp.c:606 nntp/nntp.c:671 smtp.c:443 ++#: imap/auth_sasl.c:128 nntp/nntp.c:608 nntp/nntp.c:673 smtp.c:468 + #, c-format + msgid "Authenticating (%s)..." + msgstr "Godkender (%s) ..." + +-#: imap/auth_sasl.c:259 pop/pop_auth.c:200 smtp.c:584 smtp.c:646 ++#: imap/auth_sasl.c:259 pop/pop_auth.c:201 smtp.c:609 smtp.c:671 + msgid "SASL authentication failed" + msgstr "SASL-godkendelse fejlede" + +@@ -2199,90 +2451,80 @@ msgstr "Omdøbning slog fejl: %s" + msgid "Mailbox renamed" + msgstr "Brevbakke omdøbt" + +-#: imap/command.c:164 ++#: imap/command.c:177 + #, c-format + msgid "Mailbox %s@%s closed" + msgstr "Brevbakke %s@%s lukket" + +-#: imap/command.c:1258 imap/command.c:1370 ++#: imap/command.c:1287 imap/command.c:1399 + #, c-format + msgid "Connection to %s timed out" + msgstr "Forbindelse til %s fik timeout" + +-#: imap/imap.c:87 ++#: imap/imap.c:93 + #, fuzzy + msgid "This IMAP server is ancient. NeoMutt does not work with it." + msgstr "Forældet IMAP-server. NeoMutt kan ikke bruge den." + +-#: imap/imap.c:438 ++#: imap/imap.c:444 + #, c-format + msgid "Header search without header name: %s" + msgstr "Headersøgning uden et headernavn: %s" + +-#: imap/imap.c:468 ++#: imap/imap.c:474 + #, c-format + msgid "Server-side custom search not supported: %s" + msgstr "" + +-#: imap/imap.c:584 ++#: imap/imap.c:590 + #, c-format + msgid "CREATE failed: %s" + msgstr "CREATE fejlede: %s" + +-#: imap/imap.c:704 ++#: imap/imap.c:710 + #, c-format + msgid "Closing connection to %s..." + msgstr "Lukker forbindelsen til %s ..." + +-#: imap/imap.c:882 nntp/nntp.c:1889 pop/pop_lib.c:324 smtp.c:687 ++#: imap/imap.c:888 nntp/nntp.c:1891 pop/pop_lib.c:350 smtp.c:712 + msgid "Secure connection with TLS?" + msgstr "Sikker forbindelse med TLS?" + +-#: imap/imap.c:895 nntp/nntp.c:1910 pop/pop_lib.c:343 smtp.c:702 ++#: imap/imap.c:901 nntp/nntp.c:1912 pop/pop_lib.c:369 smtp.c:727 + msgid "Could not negotiate TLS connection" + msgstr "Kunne ikke opnå TLS-forbindelse" + +-#: imap/imap.c:910 pop/pop_lib.c:360 ++#: imap/imap.c:916 pop/pop_lib.c:386 + msgid "Encrypted connection unavailable" + msgstr "Krypteret forbindelse ikke tilgængelig" + +-#: imap/imap.c:1417 ++#: imap/imap.c:1430 + #, c-format + msgid "Subscribing to %s..." + msgstr "Abonnerer på %s ..." + +-#: imap/imap.c:1419 ++#: imap/imap.c:1432 + #, c-format + msgid "Unsubscribing from %s..." + msgstr "Afmelder %s ..." + +-#: imap/imap.c:1430 init.c:2142 +-#, c-format +-msgid "Subscribed to %s" +-msgstr "Abonnerer på %s" +- +-#: imap/imap.c:1432 init.c:2620 +-#, c-format +-msgid "Unsubscribed from %s" +-msgstr "Afmeldt fra %s" +- +-#: imap/imap.c:1582 imap/message.c:1674 ++#: imap/imap.c:1595 imap/message.c:1674 + #, fuzzy, c-format + msgid "Copying %d message to %s..." + msgid_plural "Copying %d messages to %s..." + msgstr[0] "Kopierer %d breve til %s ..." + msgstr[1] "Kopierer %d breve til %s ..." + +-#: imap/imap.c:1599 imap/imap.c:2217 imap/message.c:1713 muttlib.c:1505 ++#: imap/imap.c:1612 imap/imap.c:2254 imap/message.c:1713 muttlib.c:1503 + #, c-format + msgid "Create %s?" + msgstr "Opret %s?" + +-#: imap/imap.c:1667 ++#: imap/imap.c:1685 + msgid "Expunge failed" + msgstr "Sletning slog fejl" + +-#: imap/imap.c:1683 ++#: imap/imap.c:1701 + #, fuzzy, c-format + msgid "Marking %d message deleted..." + msgid_plural "Marking %d messages deleted..." +@@ -2290,44 +2532,44 @@ msgstr[0] "Markerer %d breve slettet ..." + msgstr[1] "Markerer %d breve slettet ..." + + #. L10N: The plural is chosen by the last %d, i.e. the total number +-#: imap/imap.c:1720 ++#: imap/imap.c:1738 + #, fuzzy, c-format + msgid "Saving changed message... [%d/%d]" + msgid_plural "Saving changed messages... [%d/%d]" + msgstr[0] "Gemmer ændrede breve ... [%d/%d]" + msgstr[1] "Gemmer ændrede breve ... [%d/%d]" + +-#: imap/imap.c:1776 ++#: imap/imap.c:1794 + msgid "Error saving flags. Close anyway?" + msgstr "Fejl ved gemning af statusindikatorer. Luk alligevel?" + +-#: imap/imap.c:1783 ++#: imap/imap.c:1801 + msgid "Error saving flags" + msgstr "Fejl ved gemning af statusindikatorer" + +-#: imap/imap.c:1808 ++#: imap/imap.c:1826 + msgid "Expunging messages from server..." + msgstr "Sletter breve på server ..." + +-#: imap/imap.c:1814 ++#: imap/imap.c:1832 + msgid "imap_sync_mailbox: EXPUNGE failed" + msgstr "imap_sync_mailbox: EXPUNGE slog fejl" + +-#: imap/imap.c:2023 nntp/nntp.c:2486 ++#: imap/imap.c:2058 nntp/nntp.c:2488 + #, c-format + msgid "Selecting %s..." + msgstr "Vælger %s ..." + +-#: imap/imap.c:2184 ++#: imap/imap.c:2221 + msgid "Error opening mailbox" + msgstr "Fejl ved åbning af brevbakke" + +-#: imap/imap.c:2330 ++#: imap/imap.c:2367 + #, fuzzy + msgid "IMAP server doesn't support custom flags" + msgstr "SMTP-server understøtter ikke godkendelse" + +-#: imap/imap.c:2374 ++#: imap/imap.c:2411 + #, fuzzy + msgid "Invalid IMAP flags" + msgstr "Ugyldigt " +@@ -2338,7 +2580,7 @@ msgid "Abort download and close mailbox?" + msgstr "" + + #: imap/message.c:554 mutt/memory.c:58 mutt/memory.c:98 mutt/memory.c:134 +-#: mutt/string.c:1178 mx.c:1176 ++#: mutt/string.c:1201 mx.c:1195 + msgid "Out of memory" + msgstr "Ikke mere hukommelse" + +@@ -2358,7 +2600,7 @@ msgstr "Henter brevhoveder ..." + msgid "Unable to fetch headers from this IMAP server version" + msgstr "Kan ikke hente brevhoveder fra denne version IMAP-server" + +-#: imap/message.c:1099 index.c:1548 nntp/nntp.c:1328 pop/pop.c:426 ++#: imap/message.c:1099 index.c:1554 nntp/nntp.c:1330 pop/pop.c:426 + msgid "Fetching message headers..." + msgstr "Henter brevhoveder ..." + +@@ -2371,156 +2613,156 @@ msgstr "Uploader brev ..." + msgid "Copying message %d to %s..." + msgstr "Kopierer brev %d til %s ..." + +-#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2737 pop/pop.c:1110 ++#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2739 pop/pop.c:1105 + msgid "Fetching message..." + msgstr "Henter brev ..." + +-#: imap/message.c:1959 pop/pop.c:1106 ++#: imap/message.c:1959 pop/pop.c:1101 + msgid "The message index is incorrect. Try reopening the mailbox." + msgstr "Brevindekset er forkert. Prøv at genåbne brevbakken." + +-#: imap/util.c:767 ++#: imap/util.c:796 + msgid "Continue?" + msgstr "Fortsæt?" + +-#: index.c:115 index.c:128 ++#: index.c:111 index.c:124 + msgid "Quit" + msgstr "Afslut" + +-#: index.c:118 index.c:131 recvattach.c:93 ++#: index.c:114 index.c:127 recvattach.c:91 + msgid "Save" + msgstr "Gem" + +-#: index.c:119 query.c:81 ++#: index.c:115 query.c:79 + msgid "Mail" + msgstr "Send" + +-#: index.c:120 pager.c:237 ++#: index.c:116 pager.c:229 + msgid "Reply" + msgstr "Svar" + +-#: index.c:121 ++#: index.c:117 + msgid "Group" + msgstr "Gruppe" + +-#: index.c:132 pager.c:244 ++#: index.c:128 pager.c:236 + msgid "Post" + msgstr "" + +-#: index.c:133 pager.c:245 ++#: index.c:129 pager.c:237 + #, fuzzy + msgid "Followup" + msgstr "Opfølg til %s%s?" + +-#: index.c:190 index.c:1362 ++#: index.c:186 index.c:1367 + msgid "No mailbox is open" + msgstr "Ingen brevbakke er åben" + +-#: index.c:196 ++#: index.c:192 + msgid "There are no messages" + msgstr "Der er ingen breve" + +-#: index.c:202 ++#: index.c:198 + msgid "No visible messages" + msgstr "Ingen synlige breve" + +-#: index.c:208 mx.c:901 pager.c:223 recvattach.c:80 ++#: index.c:204 mx.c:920 pager.c:215 recvattach.c:78 + msgid "Mailbox is read-only" + msgstr "Brevbakken er skrivebeskyttet" + +-#: index.c:214 pager.c:225 recvattach.c:98 ++#: index.c:210 pager.c:217 recvattach.c:96 + msgid "Function not permitted in attach-message mode" + msgstr "Funktionen er ikke tilladt ved vedlægning af bilag" + + #. L10N: %s is one of the CHECK_ACL entries below. +-#: index.c:239 pager.c:290 ++#: index.c:235 pager.c:282 + #, c-format + msgid "%s: Operation not permitted by ACL" + msgstr "%s: Operationen er ikke tilladt af ACL" + +-#: index.c:430 ++#: index.c:426 + msgid "Can't toggle write on a readonly mailbox" + msgstr "Kan ikke skrive til en skrivebeskyttet brevbakke" + +-#: index.c:437 ++#: index.c:433 + msgid "Changes to folder will be written on folder exit" + msgstr "Ændringer i brevbakken vil blive skrevet til disk, når den forlades" + +-#: index.c:442 ++#: index.c:438 + msgid "Changes to folder will not be written" + msgstr "Ændringer i brevbakken vil ikke blive skrevet til disk" + +-#: index.c:719 muttlib.c:1490 mx.c:206 mx.c:340 ++#: index.c:714 muttlib.c:1488 mx.c:206 mx.c:338 + #, c-format + msgid "%s is not a mailbox" + msgstr "%s er ingen brevbakke" + +-#: index.c:1218 ++#: index.c:1223 + msgid "Mailbox was externally modified. Flags may be wrong." + msgstr "Brevbakke ændret udefra. Statusindikatorer kan være forkerte." + +-#: index.c:1227 pager.c:2409 ++#: index.c:1232 pager.c:2379 + msgid "New mail in this mailbox" + msgstr "Nye breve i denne brevbakke" + +-#: index.c:1242 ++#: index.c:1247 + msgid "Mailbox was externally modified" + msgstr "Brevbakke ændret udefra" + +-#: index.c:1369 ++#: index.c:1374 + msgid "No tagged messages" + msgstr "Ingen breve er udvalgt" + +-#: index.c:1373 index.c:1647 menu.c:1423 ++#: index.c:1378 index.c:1653 menu.c:1423 + msgid "Nothing to do" + msgstr "Intet at gøre" + +-#: index.c:1470 ++#: index.c:1475 + #, fuzzy + msgid "Enter Message-Id: " + msgstr "Anfør nøgle-ID: " + +-#: index.c:1481 ++#: index.c:1487 + msgid "Article has no parent reference" + msgstr "" + +-#: index.c:1504 ++#: index.c:1510 + #, fuzzy + msgid "Message is not visible in limited view" + msgstr "Første brev i tråden er ikke synligt i denne afgrænsede oversigt" + +-#: index.c:1508 ++#: index.c:1514 + #, fuzzy, c-format + msgid "Fetching %s from server..." + msgstr "Sletter breve på server ..." + +-#: index.c:1518 nntp/nntp.c:2772 ++#: index.c:1524 nntp/nntp.c:2774 + #, c-format + msgid "Article %s not found on the server" + msgstr "" + +-#: index.c:1544 ++#: index.c:1550 + msgid "No Message-Id. Unable to perform operation." + msgstr "" + +-#: index.c:1623 ++#: index.c:1629 + #, fuzzy + msgid "No deleted messages found in the thread" + msgstr "slet alle breve i tråd" + +-#: index.c:1644 ++#: index.c:1650 + msgid "Jump to message: " + msgstr "Hop til brev: " + +-#: index.c:1650 ++#: index.c:1656 + msgid "Argument must be a message number" + msgstr "Parameter skal være nummeret på et brev" + +-#: index.c:1652 ++#: index.c:1658 + msgid "Invalid message number" + msgstr "Ugyldigt brevnummer" + +-#: index.c:1654 ++#: index.c:1660 + msgid "That message is not visible" + msgstr "Brevet er ikke synligt" + +@@ -2533,38 +2775,38 @@ msgstr "Brevet er ikke synligt" + #. delete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. + #. +-#: index.c:1692 index.c:3267 pager.c:3064 ++#: index.c:1698 index.c:3293 pager.c:3039 + #, fuzzy + msgid "Can't delete messages" + msgstr "Kan ikke slette brev" + +-#: index.c:1695 ++#: index.c:1701 + msgid "Delete messages matching: " + msgstr "Slet breve efter mønster: " + +-#: index.c:1736 ++#: index.c:1742 + msgid "No limit pattern is in effect" + msgstr "Intet afgrænsningsmønster er i brug" + + #. L10N: ask for a limit to apply +-#: index.c:1741 ++#: index.c:1747 + #, c-format + msgid "Limit: %s" + msgstr "Afgrænsning: %s" + +-#: index.c:1778 ++#: index.c:1784 + msgid "Limit to messages matching: " + msgstr "Afgræns til breve efter mønster: " + +-#: index.c:1809 ++#: index.c:1815 + msgid "To view all messages, limit to \"all\"" + msgstr "Afgræns til \"all\" for at se alle breve" + +-#: index.c:1821 pager.c:2514 ++#: index.c:1827 pager.c:2487 + msgid "Quit NeoMutt?" + msgstr "Afslut NeoMutt?" + +-#: index.c:1924 ++#: index.c:1931 + msgid "Tag messages matching: " + msgstr "Udvælg breve efter mønster: " + +@@ -2572,204 +2814,204 @@ msgstr "Udvælg breve efter mønster: " + #. L10N: Due to the implementation details we do not know whether we + #. undelete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:1935 index.c:3807 pager.c:3418 ++#: index.c:1942 index.c:3833 pager.c:3396 + #, fuzzy + msgid "Can't undelete messages" + msgstr "Kan ikke fortryde sletning af brev" + +-#: index.c:1939 ++#: index.c:1946 + msgid "Undelete messages matching: " + msgstr "Behold breve efter mønster: " + +-#: index.c:1948 ++#: index.c:1955 + msgid "Untag messages matching: " + msgstr "Fjern valg efter mønster: " + +-#: index.c:1989 ++#: index.c:1996 + msgid "Logged out of IMAP servers" + msgstr "Logget ud fra IMAP-servere" + +-#: index.c:2105 ++#: index.c:2113 + #, fuzzy + msgid "No virtual folder and no Message-Id, aborting" + msgstr "Intet emne, afbryder" + +-#: index.c:2117 index.c:2288 index.c:2310 index.c:2331 ++#: index.c:2125 index.c:2313 index.c:2335 index.c:2356 + msgid "Failed to create query, aborting" + msgstr "" + +-#: index.c:2130 ++#: index.c:2138 + msgid "failed to find message in notmuch database. try running 'notmuch new'." + msgstr "" + +-#: index.c:2139 ++#: index.c:2147 + msgid "Failed to read thread, aborting" + msgstr "" + +-#: index.c:2171 mx.c:1252 mx.c:1272 ++#: index.c:2179 mx.c:1271 mx.c:1291 + #, fuzzy + msgid "Folder doesn't support tagging, aborting" + msgstr "SMTP-server understøtter ikke godkendelse" + +-#: index.c:2188 ++#: index.c:2196 + #, fuzzy + msgid "No tag specified, aborting" + msgstr "Intet emne, afbryder" + +-#: index.c:2198 ++#: index.c:2206 + msgid "Update tags..." + msgstr "" + +-#: index.c:2238 ++#: index.c:2246 + msgid "Failed to modify tags, aborting" + msgstr "" + +-#: index.c:2284 ++#: index.c:2293 + #, fuzzy + msgid "No query, aborting" + msgstr "Intet emne, afbryder" + +-#: index.c:2299 index.c:2320 ++#: index.c:2324 index.c:2345 + msgid "Windowed queries disabled" + msgstr "" + +-#: index.c:2304 index.c:2325 ++#: index.c:2329 index.c:2350 + msgid "No notmuch vfolder currently loaded" + msgstr "" + +-#: index.c:2374 ++#: index.c:2399 + msgid "Open mailbox in read-only mode" + msgstr "Åbn brevbakke i skrivebeskyttet tilstand" + +-#: index.c:2376 ++#: index.c:2401 + msgid "Open mailbox" + msgstr "Åbn brevbakke" + +-#: index.c:2386 ++#: index.c:2411 + msgid "No mailboxes have new mail" + msgstr "Ingen brevbakker med nye breve" + +-#: index.c:2419 ++#: index.c:2444 + #, fuzzy + msgid "Open newsgroup in read-only mode" + msgstr "Åbn brevbakke i skrivebeskyttet tilstand" + +-#: index.c:2421 ++#: index.c:2446 + msgid "Open newsgroup" + msgstr "" + +-#: index.c:2538 ++#: index.c:2564 + #, fuzzy + msgid "Exit NeoMutt without saving?" + msgstr "Afslut NeoMutt uden at gemme?" + + #. L10N: CHECK_ACL +-#: index.c:2554 ++#: index.c:2580 + #, fuzzy + msgid "Can't break thread" + msgstr "Kan ikke sammenkæde tråde" + +-#: index.c:2574 ++#: index.c:2600 + msgid "Thread broken" + msgstr "Tråden er brudt" + +-#: index.c:2587 ++#: index.c:2613 + msgid "Thread can't be broken, message is not part of a thread" + msgstr "Tråden må ikke være brudt, brevet er ikke en del af en tråd" + + #. L10N: CHECK_ACL +-#: index.c:2597 ++#: index.c:2623 + msgid "Can't link threads" + msgstr "Kan ikke sammenkæde tråde" + +-#: index.c:2606 ++#: index.c:2632 + msgid "No Message-ID: header available to link thread" + msgstr "Ingen Message-ID: i brevhoved er tilgængelig til at sammenkæde tråde" + +-#: index.c:2608 ++#: index.c:2634 + msgid "First, please tag a message to be linked here" + msgstr "Markér et brev til sammenkædning som det første" + +-#: index.c:2621 ++#: index.c:2647 + msgid "Threads linked" + msgstr "Tråde sammenkædet" + +-#: index.c:2624 ++#: index.c:2650 + msgid "No thread linked" + msgstr "Ingen tråd sammenkædet" + +-#: index.c:2665 index.c:2690 ++#: index.c:2691 index.c:2716 + msgid "You are on the last message" + msgstr "Du er ved sidste brev" + +-#: index.c:2673 index.c:2716 ++#: index.c:2699 index.c:2742 + msgid "No undeleted messages" + msgstr "Alle breve har slette-markering" + +-#: index.c:2708 index.c:2733 ++#: index.c:2734 index.c:2759 + msgid "You are on the first message" + msgstr "Du er ved første brev" + +-#: index.c:2874 ++#: index.c:2900 + msgid "No new messages in this limited view" + msgstr "Ingen nye breve i denne afgrænsede oversigt" + +-#: index.c:2876 ++#: index.c:2902 + msgid "No new messages" + msgstr "Ingen nye breve" + +-#: index.c:2881 ++#: index.c:2907 + msgid "No unread messages in this limited view" + msgstr "Ingen ulæste breve i denne afgrænsede oversigt" + +-#: index.c:2883 ++#: index.c:2909 + msgid "No unread messages" + msgstr "Ingen ulæste breve" + +-#: index.c:2893 menu.c:1208 pager.c:2644 pattern.c:2652 ++#: index.c:2919 menu.c:1208 pager.c:2618 pattern.c:2776 + msgid "Search wrapped to top" + msgstr "Søgning fortsat fra top" + +-#: index.c:2898 pager.c:2669 pattern.c:2663 ++#: index.c:2924 pager.c:2643 pattern.c:2787 + msgid "Search wrapped to bottom" + msgstr "Søgning fortsat fra bund" + + #. L10N: CHECK_ACL +-#: index.c:2915 ++#: index.c:2941 + msgid "Can't flag message" + msgstr "Kan ikke give brev statusindikator" + + #. L10N: CHECK_ACL +-#: index.c:2961 pager.c:3377 ++#: index.c:2987 pager.c:3355 + msgid "Can't toggle new" + msgstr "Kan ikke skifte mellem ny/ikke-ny" + +-#: index.c:3057 ++#: index.c:3083 + msgid "No more threads" + msgstr "Ikke flere tråde" + +-#: index.c:3059 ++#: index.c:3085 + msgid "You are on the first thread" + msgstr "Du er ved den første tråd" + +-#: index.c:3156 ++#: index.c:3182 + #, fuzzy + msgid "Thread contains unread or flagged messages" + msgstr "Tråden indeholder ulæste breve" + + #. L10N: CHECK_ACL +-#: index.c:3215 pager.c:3019 ++#: index.c:3241 pager.c:2994 + msgid "Can't delete message" + msgstr "Kan ikke slette brev" + + #. L10N: CHECK_ACL +-#: index.c:3339 ++#: index.c:3365 + msgid "Can't edit message" + msgstr "Kan ikke redigere brev" + + #. L10N: This is displayed when the x-label on one or more + #. messages is edited. +-#: index.c:3432 pager.c:3495 ++#: index.c:3458 pager.c:3473 + #, fuzzy, c-format + msgid "%d label changed" + msgid_plural "%d labels changed" +@@ -2779,7 +3021,7 @@ msgstr[1] "%d etiketter ændret" + #. L10N: This is displayed when editing an x-label, but no messages + #. were updated. Possibly due to canceling at the prompt or if the new + #. label is the same as the old label. +-#: index.c:3440 pager.c:3499 ++#: index.c:3466 pager.c:3477 + msgid "No labels changed" + msgstr "Ingen etiketter ændret" + +@@ -2787,277 +3029,140 @@ msgstr "Ingen etiketter ændret" + #. L10N: Due to the implementation details we do not know whether we + #. mark zero, 1, 12, ... messages as read. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:3571 ++#: index.c:3597 + msgid "Can't mark messages as read" + msgstr "Kan ikke markere breve som læst" + + #. L10N: This is the prompt for . Whatever they + #. enter will be prefixed by $mark_macro_prefix and will become + #. a macro hotkey to jump to the currently selected message. +-#: index.c:3612 ++#: index.c:3638 + msgid "Enter macro stroke: " + msgstr "Tryk makro-tast: " + + #. L10N: "message hotkey" is the key bindings menu description of a + #. macro created by . +-#: index.c:3620 ++#: index.c:3646 + msgid "message hotkey" + msgstr "brevets genvejstast" + + #. L10N: This is echoed after creates a new hotkey + #. macro. %s is the hotkey string ($mark_macro_prefix followed + #. by whatever they typed at the prompt.) +-#: index.c:3625 ++#: index.c:3651 + #, c-format + msgid "Message bound to %s" + msgstr "Brevet er tildelt %s" + + #. L10N: This error is printed if can't find a + #. Message-ID for the currently selected message in the index. +-#: index.c:3634 ++#: index.c:3660 + msgid "No message ID to macro" + msgstr "Ingen brev-ID for makro" + +-#: index.c:3688 pager.c:3221 recvattach.c:1646 ++#: index.c:3714 pager.c:3196 recvattach.c:1678 + msgid "Reply by mail as poster prefers?" + msgstr "" + +-#: index.c:3691 pager.c:3182 pager.c:3194 pager.c:3224 ++#: index.c:3717 pager.c:3157 pager.c:3169 pager.c:3199 + msgid "Posting to this group not allowed, may be moderated. Continue?" + msgstr "" + + #. L10N: CHECK_ACL +-#: index.c:3768 pager.c:3397 ++#: index.c:3794 pager.c:3375 + msgid "Can't undelete message" + msgstr "Kan ikke fortryde sletning af brev" + +-#: init.c:313 ++#: init.c:223 + #, c-format + msgid "Error in command line: %s" + msgstr "Fejl i kommandolinje: %s" + +-#: init.c:315 ++#: init.c:225 + #, fuzzy, c-format + msgid "Warning in command line: %s" + msgstr "Fejl i kommandolinje: %s" + +-#: init.c:426 ++#: init.c:336 + msgid "unable to determine nodename via uname()" + msgstr "kan ikke bestemme nodenavn via uname()" + +-#: init.c:580 +-msgid "-group: no group name" +-msgstr "-group: intet gruppenavn" +- +-#: init.c:590 +-msgid "out of arguments" +-msgstr "parametre slap op" +- +-#: init.c:804 init.c:1752 +-#, c-format +-msgid "Error: Can't build path of '%s'" +-msgstr "" +- +-#: init.c:817 +-#, c-format +-msgid "Error: Cyclic sourcing of configuration file '%s'" +-msgstr "" +- +-#: init.c:850 +-#, c-format +-msgid "Error in %s, line %d: %s" +-msgstr "Fejl i %s, linje %d: %s" +- +-#: init.c:861 +-#, fuzzy, c-format +-msgid "Warning in %s, line %d: %s" +-msgstr "Fejl i %s, linje %d: %s" +- +-#: init.c:885 +-#, c-format +-msgid "source: errors in %s" +-msgstr "source: Fejl i %s" +- +-#: init.c:885 +-#, c-format +-msgid "source: reading aborted due to too many errors in %s" +-msgstr "source: læsning afbrudt pga. for mange fejl i %s" +- +-#: init.c:894 +-#, fuzzy, c-format +-msgid "source: %d warning in %s" +-msgid_plural "source: %d warnings in %s" +-msgstr[0] "source: Fejl i %s" +-msgstr[1] "source: Fejl i %s" +- +-#: init.c:923 +-msgid "alias: no address" +-msgstr "alias: Ingen adresse" +- +-#: init.c:965 +-#, c-format +-msgid "Warning: Bad IDN '%s' in alias '%s'" +-msgstr "Advarsel: Forkert IDN '%s' i alias '%s'" +- +-#: init.c:1043 +-msgid "attachments: no disposition" +-msgstr "vedlæg bilag: ingen beskrivelse" +- +-#: init.c:1054 +-#, fuzzy +-msgid "Current attachments settings:" +-msgstr "ret brevdelens beskrivelse" +- +-#: init.c:1084 +-msgid "attachments: invalid disposition" +-msgstr "vedlæg bilag: ugyldig beskrivelse" +- +-#: init.c:1160 +-#, c-format +-msgid "%sgroup: missing -rx or -addr" +-msgstr "%sgroup: mangler -rx eller -addr" +- +-#: init.c:1186 +-#, c-format +-msgid "%sgroup: warning: bad IDN '%s'" +-msgstr "%sgroup: advarsel: forkert IDN \"%s\"" +- +-#: init.c:1278 +-#, c-format +-msgid "Error: %s" +-msgstr "" +- +-#: init.c:1445 +-msgid "invalid header field" +-msgstr "ugyldig linje i brevhoved" +- +-#: init.c:1711 init.c:1815 +-#, c-format +-msgid "%s: unknown variable" +-msgstr "%s: ukendt variabel" +- +-#: init.c:1908 +-#, c-format +-msgid "%s is unset" +-msgstr "%s er ikke sat" +- +-#: init.c:1953 mutt_lua.c:478 +-#, c-format +-msgid "source: error at %s" +-msgstr "source: Fejl ved %s" +- +-#: init.c:1961 +-#, fuzzy, c-format +-msgid "source: file %s could not be sourced" +-msgstr "Brevene kunne ikke udskrives" +- +-#: init.c:1984 +-msgid "spam: no matching pattern" +-msgstr "spam: intet mønster matcher" +- +-#: init.c:1986 +-msgid "nospam: no matching pattern" +-msgstr "nospam: intet mønster matcher" +- +-#: init.c:2146 +-#, fuzzy, c-format +-msgid "Could not subscribe to %s" +-msgstr "Abonnerer på %s" +- +-#: init.c:2154 init.c:2632 +-#, fuzzy +-msgid "No folder specified" +-msgstr "Intet emne er angivet." +- +-#: init.c:2341 +-msgid "unattachments: no disposition" +-msgstr "fjern bilag: ingen beskrivelse" +- +-#: init.c:2379 +-msgid "unattachments: invalid disposition" +-msgstr "fjern bilag: ugyldig beskrivelse" +- +-#: init.c:2624 +-#, fuzzy, c-format +-msgid "Could not unsubscribe from %s" +-msgstr "Afmeldt fra %s" +- +-#: init.c:3292 ++#: init.c:1042 + #, c-format + msgid "%s: unknown command" + msgstr "%s: Ukendt kommando" + +-#: init.c:3837 ++#: init.c:1588 + msgid "'charset' must contain exactly one character set name" + msgstr "" + +-#: init.c:3853 init.c:3877 init.c:3912 ++#: init.c:1604 init.c:1628 init.c:1663 + #, fuzzy, c-format + msgid "Invalid value for option %s: %s" + msgstr "Ugyldig værdi for tilvalget %s: \"%s\"" + +-#: init.c:3890 ++#: init.c:1641 + #, c-format + msgid "Option %s may not be set or reset from the pager" + msgstr "" + +-#: init.c:3928 ++#: init.c:1679 + #, fuzzy, c-format + msgid "Option %s may not be set when in attach-message mode" + msgstr "Funktionen er ikke tilladt ved vedlægning af bilag." + + #. L10N: This applies to the "$wrap_headers" config variable +-#: init.c:3943 ++#: init.c:1694 + #, c-format + msgid "Option %s must between 78 and 998 inclusive" + msgstr "" + +-#: keymap.c:373 keymap.c:381 ++#: keymap.c:371 keymap.c:379 + #, c-format + msgid "Binding '%s' will alias '%s' Before, try: 'bind %s %s noop' https://neomutt.org/guide/configuration.html#bind-warnings" + msgstr "" + +-#: keymap.c:757 ++#: keymap.c:755 + msgid "Macro loop detected" + msgstr "Makro-sløjfe opdaget" + +-#: keymap.c:1064 keymap.c:1099 ++#: keymap.c:1062 keymap.c:1097 + msgid "Key is not bound" + msgstr "Tasten er ikke tillagt en funktion" + +-#: keymap.c:1104 ++#: keymap.c:1102 + #, c-format + msgid "Key is not bound. Press '%s' for help." + msgstr "Tasten er ikke tillagt en funktion. Tast '%s' for hjælp." + +-#: keymap.c:1177 ++#: keymap.c:1175 + #, c-format + msgid "%s: null key sequence" + msgstr "%s: tom tastesekvens" + +-#: keymap.c:1212 ++#: keymap.c:1210 + #, c-format + msgid "Function '%s' not available for menu '%s'" + msgstr "" + +-#: keymap.c:1495 ++#: keymap.c:1493 + msgid "macro: empty key sequence" + msgstr "macro: tom tastesekvens" + +-#: keymap.c:1543 ++#: keymap.c:1541 + msgid "exec: no arguments" + msgstr "exec: ingen parametre" + +-#: keymap.c:1563 ++#: keymap.c:1561 + #, c-format + msgid "%s: no such function" + msgstr "%s: ukendt funktion" + +-#: keymap.c:1584 ++#: keymap.c:1582 + msgid "Enter keys (^G to abort): " + msgstr "Anfør nøgler (^G afbryder): " + +-#: keymap.c:1590 ++#: keymap.c:1588 + #, c-format + msgid "Char = %s, Octal = %o, Decimal = %d" + msgstr "Tegn = %s, oktalt = %o, decimalt = %d" +@@ -3081,7 +3186,7 @@ msgstr "ingen mailcap-angivelse for type %s" + msgid "Scanning %s..." + msgstr "Skanner %s ..." + +-#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:353 ++#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:351 + #, c-format + msgid "Reading %s..." + msgstr "Læser %s ..." +@@ -3096,13 +3201,13 @@ msgid "md_commit_message(): unable to set time on file" + msgstr "_maildir_commit_message(): kan ikke sætte tidsstempel på fil" + + #. L10N: Displayed before/as a mailbox is being synced +-#: maildir/shared.c:1723 mbox/mbox.c:1276 mx.c:461 notmuch/mutt_notmuch.c:2364 ++#: maildir/shared.c:1734 mbox/mbox.c:1276 mx.c:459 notmuch/mutt_notmuch.c:2364 + #, c-format + msgid "Writing %s..." + msgstr "Skriver %s ..." + + #. L10N: Try to limit to 80 columns +-#: main.c:227 ++#: main.c:160 + msgid "" + "usage:\n" + " neomutt [-Enx] [-e ] [-F ] [-H ] [-i ]\n" +@@ -3125,7 +3230,7 @@ msgid "" + msgstr "" + + #. L10N: Try to limit to 80 columns. If more space is needed add an indented line +-#: main.c:247 ++#: main.c:180 + msgid "" + "options:\n" + " -- Special argument forces NeoMutt to stop option parsing and treat\n" +@@ -3168,54 +3273,54 @@ msgid "" + " or exit immediately with exit code 1 otherwise" + msgstr "" + +-#: main.c:312 ++#: main.c:245 + msgid "Error initializing terminal" + msgstr "Kan ikke klargøre terminal" + +-#: main.c:390 ++#: main.c:323 + msgid "unable to determine username" + msgstr "kan ikke bestemme brugernavn" + +-#: main.c:396 ++#: main.c:329 + msgid "unable to determine home directory" + msgstr "kan ikke bestemme hjemmekatalog" + +-#: main.c:640 ++#: main.c:572 + #, c-format + msgid "Error: value '%s' is invalid for -d" + msgstr "Fejl: 'værdien \"%s\" er ugyldig til -d" + +-#: main.c:884 ++#: main.c:815 + msgid "Failed to parse mailto: link" + msgstr "Kunne ikke fortolke mailto:-link" + +-#: main.c:896 send.c:2452 send.c:2456 ++#: main.c:827 send.c:2463 send.c:2467 + msgid "No recipients specified" + msgstr "Ingen angivelse af modtagere" + +-#: main.c:923 ++#: main.c:854 + msgid "Can't use -E flag with stdin" + msgstr "Kan ikke bruge tilvalget -E sammen med standardinddata" + +-#: main.c:1007 ++#: main.c:938 + #, fuzzy, c-format + msgid "Can't parse message template: %s" + msgstr "Kan ikke åbne brev: %s" + +-#: main.c:1073 mutt_header.c:329 ++#: main.c:1004 mutt_header.c:329 + #, c-format + msgid "%s: unable to attach file" + msgstr "%s: kunne ikke vedlægge fil" + +-#: main.c:1156 ++#: main.c:1087 + msgid "No mailbox with new mail" + msgstr "Ingen brevbakke med nye breve" + +-#: main.c:1180 ++#: main.c:1111 + msgid "No incoming mailboxes defined" + msgstr "Ingen indbakker er defineret" + +-#: main.c:1230 ++#: main.c:1161 + msgid "Mailbox is empty" + msgstr "Brevbakken er tom" + +@@ -3257,52 +3362,52 @@ msgstr "Kunne ikke genåbne brevbakke" + msgid "Can't write message" + msgstr "Kan ikke skrive brev" + +-#: menu.c:632 ++#: menu.c:631 + msgid "Jump to: " + msgstr "Hop til: " + +-#: menu.c:641 ++#: menu.c:640 + msgid "Invalid index number" + msgstr "Ugyldigt indeksnummer" + +-#: menu.c:645 menu.c:671 menu.c:744 menu.c:810 menu.c:828 menu.c:843 menu.c:858 +-#: menu.c:873 menu.c:890 menu.c:907 menu.c:1553 ++#: menu.c:644 menu.c:670 menu.c:743 menu.c:809 menu.c:827 menu.c:842 menu.c:857 ++#: menu.c:872 menu.c:889 menu.c:906 menu.c:1553 + msgid "No entries" + msgstr "Ingen punkter" + +-#: menu.c:668 ++#: menu.c:667 + msgid "You can't scroll down farther" + msgstr "Du kan ikke komme længere ned" + +-#: menu.c:690 ++#: menu.c:689 + msgid "You can't scroll up farther" + msgstr "Du kan ikke komme længere op" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the first page" + msgstr "Du er på den første side" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the last page" + msgstr "Du er på den sidste side" + +-#: menu.c:922 ++#: menu.c:921 + msgid "You are on the last entry" + msgstr "Du er på sidste listning" + +-#: menu.c:937 ++#: menu.c:936 + msgid "You are on the first entry" + msgstr "Du er på første listning" + +-#: menu.c:1172 pager.c:2692 pattern.c:2578 ++#: menu.c:1172 pager.c:2666 pattern.c:2702 + msgid "Search for: " + msgstr "Søg efter: " + +-#: menu.c:1173 pager.c:2693 pattern.c:2579 ++#: menu.c:1173 pager.c:2667 pattern.c:2703 + msgid "Reverse search for: " + msgstr "Søg baglæns efter: " + +-#: menu.c:1226 pager.c:2641 pager.c:2666 pager.c:2800 pattern.c:2708 ++#: menu.c:1226 pager.c:2615 pager.c:2640 pager.c:2774 pattern.c:2832 + msgid "Not found" + msgstr "Ikke fundet" + +@@ -3345,20 +3450,20 @@ msgstr "Venter på flock-lås ... %d" + msgid "Bad history file format (line %d)" + msgstr "Fejlformateret historikfil (linje %d)" + +-#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1006 ncrypt/crypt_gpgme.c:2381 +-#: ncrypt/crypt_gpgme.c:2401 ncrypt/crypt_gpgme.c:2460 +-#: ncrypt/crypt_gpgme.c:2477 ncrypt/crypt_gpgme.c:2509 +-#: ncrypt/crypt_gpgme.c:2527 ncrypt/crypt_gpgme.c:2611 +-#: ncrypt/crypt_gpgme.c:3194 ncrypt/crypt_gpgme.c:3292 +-#: ncrypt/crypt_gpgme.c:4373 ncrypt/pgp.c:576 ncrypt/pgp.c:583 ncrypt/pgp.c:896 +-#: ncrypt/pgp.c:1014 ncrypt/pgp.c:1161 ncrypt/pgp.c:1181 ncrypt/pgp.c:1215 +-#: ncrypt/pgp.c:1568 ncrypt/pgpkey.c:708 ncrypt/pgpkey.c:902 +-#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1092 ncrypt/smime.c:1100 +-#: ncrypt/smime.c:1191 ncrypt/smime.c:1299 ncrypt/smime.c:1364 +-#: ncrypt/smime.c:1372 ncrypt/smime.c:1571 ncrypt/smime.c:1967 +-#: ncrypt/smime.c:2046 ncrypt/smime.c:2053 ncrypt/smime.c:2156 +-#: ncrypt/smime.c:2281 ncrypt/smime.c:2297 nntp/nntp.c:1397 nntp/nntp.c:2237 +-#: pattern.c:1132 pop/pop.c:182 ++#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1005 ncrypt/crypt_gpgme.c:2420 ++#: ncrypt/crypt_gpgme.c:2440 ncrypt/crypt_gpgme.c:2499 ++#: ncrypt/crypt_gpgme.c:2516 ncrypt/crypt_gpgme.c:2548 ++#: ncrypt/crypt_gpgme.c:2566 ncrypt/crypt_gpgme.c:2650 ++#: ncrypt/crypt_gpgme.c:3237 ncrypt/crypt_gpgme.c:3335 ++#: ncrypt/crypt_gpgme.c:4421 ncrypt/pgp.c:575 ncrypt/pgp.c:582 ncrypt/pgp.c:895 ++#: ncrypt/pgp.c:1013 ncrypt/pgp.c:1160 ncrypt/pgp.c:1180 ncrypt/pgp.c:1214 ++#: ncrypt/pgp.c:1570 ncrypt/pgpkey.c:741 ncrypt/pgpkey.c:937 ++#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1126 ncrypt/smime.c:1134 ++#: ncrypt/smime.c:1225 ncrypt/smime.c:1333 ncrypt/smime.c:1398 ++#: ncrypt/smime.c:1406 ncrypt/smime.c:1605 ncrypt/smime.c:2001 ++#: ncrypt/smime.c:2080 ncrypt/smime.c:2087 ncrypt/smime.c:2190 ++#: ncrypt/smime.c:2315 ncrypt/smime.c:2331 nntp/nntp.c:1399 nntp/nntp.c:2239 ++#: pattern.c:1171 pop/pop.c:182 + msgid "Can't create temporary file" + msgstr "Kan ikke oprette midlertidig fil" + +@@ -3377,7 +3482,7 @@ msgstr "Fejlfinder på niveau %d.\n" + msgid "Logging at level %d to file '%s'" + msgstr "Fejlfinder på niveau %d.\n" + +-#: mutt/path.c:401 ++#: mutt/path.c:420 + #, fuzzy + msgid "Error: converting path to absolute" + msgstr "Fejl under forbindelse til server: %s" +@@ -3401,17 +3506,17 @@ msgstr "Modtog signal %d (%s) ... Afslutter.\n" + msgid "Caught signal %d ... Exiting.\n" + msgstr "Modtog signal %d ... Afslutter.\n" + +-#: muttlib.c:490 ++#: muttlib.c:488 + #, c-format + msgid "mutt_randbuf buflen=%zu" + msgstr "" + +-#: muttlib.c:510 ++#: muttlib.c:508 + #, c-format + msgid "open /dev/urandom: %s" + msgstr "" + +-#: muttlib.c:517 ++#: muttlib.c:515 + #, c-format + msgid "read /dev/urandom: %s" + msgstr "" +@@ -3419,148 +3524,120 @@ msgstr "" + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) + #. These three letters correspond to the choices in the string. +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "File is a directory, save under it: (y)es, (n)o, (a)ll?" + msgstr "Filen er et filkatalog; gem i det? (j)a, (n)ej, (a)lle" + +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "yna" + msgstr "jna" + + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) +-#: muttlib.c:763 ++#: muttlib.c:761 + msgid "File is a directory, save under it?" + msgstr "Filen er et filkatalog, gem i det?" + +-#: muttlib.c:768 ++#: muttlib.c:766 + msgid "File under directory: " + msgstr "Fil i dette filkatalog: " + +-#: muttlib.c:781 ++#: muttlib.c:779 + msgid "File exists, (o)verwrite, (a)ppend, or (c)ancel?" + msgstr "Filen eksisterer , (o)verskriv, (t)ilføj, (a)nnulér?" + + #. L10N: Options for: File exists, (o)verwrite, (a)ppend, or (c)ancel? +-#: muttlib.c:783 ++#: muttlib.c:781 + msgid "oac" + msgstr "ota" + +-#: muttlib.c:1458 ++#: muttlib.c:1456 + msgid "Can't save message to POP mailbox" + msgstr "Kan ikke gemme brev i POP-brevbakke" + +-#: muttlib.c:1468 ++#: muttlib.c:1466 + #, c-format + msgid "Append messages to %s?" + msgstr "Føj breve til %s?" + +-#: muttlib.c:1481 ++#: muttlib.c:1479 + #, fuzzy + msgid "Can't save message to news server" + msgstr "Kunne ikke efterlade breve på server" + +-#. L10N: Example: Username at myhost.com +-#: mutt_account.c:233 +-#, c-format +-msgid "Username at %s: " +-msgstr "Brugernavn på %s: " +- +-#: mutt_account.c:315 +-#, c-format +-msgid "Password for %s@%s: " +-msgstr "Adgangskode for %s@%s: " +- +-#. L10N: You will see this error message if (1) you have "oauthbearer" in +-#. one of your $*_authenticators and (2) you do not have the corresponding +-#. $*_oauth_refresh_command defined. So the message does not mean "None of +-#. your $*_oauth_refresh_command's are defined." +-#: mutt_account.c:383 +-#, fuzzy +-msgid "No OAUTH refresh command defined" +-msgstr "Ingen forespørgsels-kommando defineret" +- +-#: mutt_account.c:390 +-msgid "Unable to run refresh command" +-msgstr "" +- +-#: mutt_account.c:400 +-msgid "Command returned empty string" +-msgstr "" +- +-#: mutt_attach.c:140 mutt_attach.c:274 mutt_attach.c:459 mutt_attach.c:1054 ++#: mutt_attach.c:142 mutt_attach.c:276 mutt_attach.c:488 mutt_attach.c:1087 + msgid "Can't match 'nametemplate', continue?" + msgstr "Kan ikke matche navneskabelon, fortsæt?" + +-#: mutt_attach.c:150 ++#: mutt_attach.c:152 + #, c-format + msgid "Mailcap compose entry requires %%s" + msgstr "Brug af \"compose\" i mailcap-fil kræver %%s" + +-#: mutt_attach.c:168 ++#: mutt_attach.c:170 + msgid "Failure to open file to parse headers" + msgstr "Kan ikke åbne fil for at analysere brevhovedet" + +-#: mutt_attach.c:202 ++#: mutt_attach.c:204 + msgid "Failure to open file to strip headers" + msgstr "Kan ikke åbne fil for at fjerne brevhovedet" + +-#: mutt_attach.c:212 ++#: mutt_attach.c:214 + msgid "Failure to rename file" + msgstr "Omdøbning af fil slog fejl" + +-#: mutt_attach.c:222 ++#: mutt_attach.c:224 + #, c-format + msgid "No mailcap compose entry for %s, creating empty file" + msgstr "Ingen \"compose\"-regel for %s i mailcap-fil, opretter en tom fil" + +-#: mutt_attach.c:284 ++#: mutt_attach.c:286 + #, c-format + msgid "Mailcap Edit entry requires %%s" + msgstr "Brug af \"edit\" i mailcap-fil kræver %%s" + +-#: mutt_attach.c:305 ++#: mutt_attach.c:307 + #, c-format + msgid "No mailcap edit entry for %s" + msgstr "Ingen \"edit\"-regel for %s i mailcap-fil" + +-#: mutt_attach.c:427 ++#: mutt_attach.c:456 + msgid "No matching mailcap entry found. Viewing as text." + msgstr "Ingen passende mailcap-regler fundet. Viser som tekst." + +-#: mutt_attach.c:440 ++#: mutt_attach.c:469 + msgid "MIME type not defined. Can't view attachment." + msgstr "MIME-typen er ikke defineret. Kan ikke vise bilag." + +-#: mutt_attach.c:535 ++#: mutt_attach.c:563 + #, c-format + msgid "---Command: %-20.20s Description: %s" + msgstr "---Kommando: %-20.20s Beskrivelse: %s" + +-#: mutt_attach.c:540 ++#: mutt_attach.c:568 + #, c-format + msgid "---Command: %-30.30s Attachment: %s" + msgstr "---Kommando: %-30.30s Bilag: %s" + +-#: mutt_attach.c:619 ++#: mutt_attach.c:652 + #, c-format + msgid "---Attachment: %s: %s" + msgstr "---Bilag: %s: %s" + +-#: mutt_attach.c:621 ++#: mutt_attach.c:654 + #, c-format + msgid "---Attachment: %s" + msgstr "---Bilag: %s" + +-#: mutt_attach.c:902 mutt_attach.c:910 ++#: mutt_attach.c:935 mutt_attach.c:943 + msgid "Write fault" + msgstr "Skrivefejl" + +-#: mutt_attach.c:1174 ++#: mutt_attach.c:1207 + msgid "I don't know how to print that" + msgstr "Jeg ved ikke hvordan man udskriver dette" + +-#: mutt_history.c:47 query.c:84 ++#: mutt_history.c:47 query.c:82 + msgid "Search" + msgstr "Søg" + +@@ -3569,21 +3646,21 @@ msgstr "Søg" + msgid "History '%s'" + msgstr "Forespørgsel: '%s'" + +-#: mutt_logging.c:315 ++#: mutt_logging.c:313 + #, fuzzy, c-format + msgid "Invalid value for option %s: %ld" + msgstr "Ugyldig værdi for tilvalget %s: \"%s\"" + +-#: mutt_lua.c:429 ++#: mutt_lua.c:431 + msgid "Error: Couldn't load the lua interpreter" + msgstr "" + +-#: mutt_lua.c:491 ++#: mutt_lua.c:493 + #, fuzzy, c-format + msgid "Couldn't source lua source: %s" + msgstr "Kunne ikke låse %s.\n" + +-#: mutt_mailbox.c:214 ++#: mutt_mailbox.c:241 + msgid "New mail in " + msgstr "Ny post i " + +@@ -3604,20 +3681,20 @@ msgstr "Første brev i tråden er ikke synligt i denne afgrænsede oversigt" + msgid "Parent message is not visible in this limited view" + msgstr "Forrige brev i tråden er ikke synligt i afgrænset oversigt" + +-#: mx.c:387 ++#: mx.c:385 + #, fuzzy, c-format + msgid "Reading from %s interrupted..." + msgstr "Søgning afbrudt." + + #. L10N: Displayed if a mailbox sync fails +-#: mx.c:468 ++#: mx.c:469 + #, fuzzy, c-format + msgid "Unable to write %s" + msgstr "Kan ikke vedlægge %s" + + #. L10N: Although we know the precise number of messages, we do not show it to the user. + #. So feel free to use a "generic plural" as plural translation if your language has one. +-#: mx.c:523 ++#: mx.c:525 + #, fuzzy + msgid "message not deleted" + msgid_plural "messages not deleted" +@@ -3628,69 +3705,69 @@ msgstr[1] "brev(e) som ikke blev slettet" + msgid "Can't open trash folder" + msgstr "Kan ikke åbne papirkurv" + +-#: mx.c:623 ++#: mx.c:627 + msgid "Mark all articles read?" + msgstr "" + + #. L10N: The first argument is the number of read messages to be + #. moved, the second argument is the target mailbox. +-#: mx.c:671 ++#: mx.c:675 + #, fuzzy, c-format + msgid "Move %d read message to %s?" + msgid_plural "Move %d read messages to %s?" + msgstr[0] "Flyt %d læste breve til %s?" + msgstr[1] "Flyt %d læste breve til %s?" + +-#: mx.c:685 mx.c:917 ++#: mx.c:689 mx.c:936 + #, fuzzy, c-format + msgid "Purge %d deleted message?" + msgid_plural "Purge %d deleted messages?" + msgstr[0] "Fjern %d slettet brev?" + msgstr[1] "Fjern %d slettede breve?" + +-#: mx.c:708 ++#: mx.c:712 + #, c-format + msgid "Moving read messages to %s..." + msgstr "Flytter læste breve til %s ..." + +-#: mx.c:774 mx.c:908 ++#: mx.c:783 mx.c:927 + msgid "Mailbox is unchanged" + msgstr "Brevbakken er uændret" + +-#: mx.c:827 ++#: mx.c:842 + #, c-format + msgid "%d kept, %d moved, %d deleted" + msgstr "%d beholdt, %d flyttet, %d slettet" + +-#: mx.c:831 mx.c:972 ++#: mx.c:846 mx.c:991 + #, c-format + msgid "%d kept, %d deleted" + msgstr "%d beholdt, %d slettet" + +-#: mx.c:892 ++#: mx.c:911 + #, c-format + msgid " Press '%s' to toggle write" + msgstr " Tast '%s' for at skifte til/fra skrivebeskyttet tilstand" + +-#: mx.c:894 ++#: mx.c:913 + msgid "Use 'toggle-write' to re-enable write" + msgstr "Brug 'toggle-write' for at muliggøre skrivning" + +-#: mx.c:896 ++#: mx.c:915 + #, c-format + msgid "Mailbox is marked unwritable. %s" + msgstr "Brevbakken er skrivebeskyttet. %s" + +-#: mx.c:966 ++#: mx.c:985 + msgid "Mailbox checkpointed" + msgstr "Brevbakke opdateret" + +-#: ncrypt/crypt.c:93 ++#: ncrypt/crypt.c:91 + #, c-format + msgid " (current time: %c)" + msgstr " (aktuelt tidspunkt: %c)" + +-#: ncrypt/crypt.c:98 ++#: ncrypt/crypt.c:96 + #, c-format + msgid "[-- %s output follows%s --]\n" + msgstr "[-- %s uddata følger%s --]\n" +@@ -3699,52 +3776,52 @@ msgstr "[-- %s uddata følger%s --]\n" + #. by gpg-agent) we can't know whether we forgot zero, 1, 12, ... + #. passwords. So in English we use "Passphrases". Your language might + #. have other means to express this. +-#: ncrypt/crypt.c:119 ++#: ncrypt/crypt.c:117 + msgid "Passphrases forgotten" + msgstr "Har glemt løsen(er)" + +-#: ncrypt/crypt.c:203 ++#: ncrypt/crypt.c:201 + msgid "Inline PGP can't be used with attachments. Revert to PGP/MIME?" + msgstr "Integreret PGP kan ikke bruges sammen med bilag. Brug PGP/MIME i stedet?" + +-#: ncrypt/crypt.c:207 ++#: ncrypt/crypt.c:205 + msgid "Mail not sent: inline PGP can't be used with attachments" + msgstr "Brev ikke sendt: integreret PGP kan ikke bruges sammen med bilag" + +-#: ncrypt/crypt.c:214 ++#: ncrypt/crypt.c:212 + msgid "Inline PGP can't be used with format=flowed. Revert to PGP/MIME?" + msgstr "Integreret PGP kan ikke bruges sammen med format=flowed. Brug PGP/MIME i stedet?" + +-#: ncrypt/crypt.c:218 ++#: ncrypt/crypt.c:216 + msgid "Mail not sent: inline PGP can't be used with format=flowed" + msgstr "Brev ikke sendt: integreret PGP kan ikke bruges sammen med format=flowed" + +-#: ncrypt/crypt.c:228 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:714 +-#: ncrypt/pgpkey.c:915 ++#: ncrypt/crypt.c:226 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:747 ++#: ncrypt/pgpkey.c:950 + msgid "Invoking PGP..." + msgstr "Starter PGP ..." + +-#: ncrypt/crypt.c:240 ++#: ncrypt/crypt.c:238 + msgid "Message can't be sent inline. Revert to using PGP/MIME?" + msgstr "Brevet kan ikke sendes integreret. Brug PGP/MIME i stedet?" + +-#: ncrypt/crypt.c:242 send.c:2430 ++#: ncrypt/crypt.c:240 send.c:2441 + msgid "Mail not sent" + msgstr "Brev ikke sendt" + +-#: ncrypt/crypt.c:662 ++#: ncrypt/crypt.c:666 + msgid "S/MIME messages with no hints on content are unsupported" + msgstr "S/MIME-breve uden antydning om indhold er ikke understøttet" + +-#: ncrypt/crypt.c:888 ++#: ncrypt/crypt.c:892 + msgid "Trying to extract PGP keys...\n" + msgstr "Forsøger at udtrække PGP-nøgler ...\n" + +-#: ncrypt/crypt.c:917 ++#: ncrypt/crypt.c:921 + msgid "Trying to extract S/MIME certificates..." + msgstr "Forsøger at udtrække S/MIME-certifikater ..." + +-#: ncrypt/crypt.c:1140 ++#: ncrypt/crypt.c:1144 + #, c-format + msgid "" + "[-- Error: Unknown multipart/signed protocol %s --]\n" +@@ -3753,7 +3830,7 @@ msgstr "" + "[-- Fejl: Ukendt \"multipart/signed\" protokol %s --]\n" + "\n" + +-#: ncrypt/crypt.c:1180 ++#: ncrypt/crypt.c:1184 + msgid "" + "[-- Error: Missing or bad-format multipart/signed signature --]\n" + "\n" +@@ -3761,14 +3838,14 @@ msgstr "" + "[-- Fejl: Manglende eller misdannet \"multipart/signed\"-undeskrift! --]\n" + "\n" + +-#: ncrypt/crypt.c:1222 ++#: ncrypt/crypt.c:1226 + #, c-format + msgid "" + "[-- Warning: We can't verify %s/%s signatures. --]\n" + "\n" + msgstr "[-- Advarsel: %s/%s underskrifter kan ikke kontrolleres. --]\n" + +-#: ncrypt/crypt.c:1235 ++#: ncrypt/crypt.c:1239 + msgid "" + "[-- The following data is signed --]\n" + "\n" +@@ -3776,13 +3853,13 @@ msgstr "" + "[-- Følgende data er underskrevet --]\n" + "\n" + +-#: ncrypt/crypt.c:1243 ++#: ncrypt/crypt.c:1248 + msgid "" + "[-- Warning: Can't find any signatures. --]\n" + "\n" + msgstr "[-- Advarsel: Kan ikke finde nogen underskrifter. --]\n" + +-#: ncrypt/crypt.c:1249 ++#: ncrypt/crypt.c:1255 + msgid "" + "\n" + "[-- End of signed data --]\n" +@@ -3801,256 +3878,261 @@ msgstr "Starter S/MIME ..." + #. L10N: The following are the headers for the "verify key" output from the + #. GPGME key selection menu (bound to "c" in the key selection menu). + #. They will be automatically aligned. +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Name: " + msgstr "Navn: " + +-#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1869 ncrypt/crypt_gpgme.c:1874 ++#: ncrypt/crypt_gpgme.c:183 ncrypt/crypt_gpgme.c:1900 ncrypt/crypt_gpgme.c:1905 + msgid "aka: " + msgstr "alias: " + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Valid From: " + msgstr "Gyldig fra: " + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Valid To: " + msgstr "Gyldig til: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Key Type: " + msgstr "Nøgletype: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Key Usage: " + msgstr "Nøgleanvendelse: " + +-#: ncrypt/crypt_gpgme.c:185 ncrypt/crypt_gpgme.c:1759 ++#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1790 + msgid "Fingerprint: " + msgstr "Fingeraftryk ....: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Serial-No: " + msgstr "Serienummer: " + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + msgid "Issued By: " + msgstr "Udstedt af: " + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + msgid "Subkey: " + msgstr "Delnøgle: " + +-#: ncrypt/crypt_gpgme.c:783 ++#: ncrypt/crypt_gpgme.c:782 + #, c-format + msgid "error enabling CMS protocol: %s" + msgstr "fejl ved aktivering af CMS-protokol: %s" + +-#: ncrypt/crypt_gpgme.c:806 ++#: ncrypt/crypt_gpgme.c:805 + #, c-format + msgid "error creating gpgme data object: %s" + msgstr "dannelse af gpgme-dataobjekt fejlede: %s" + +-#: ncrypt/crypt_gpgme.c:907 ncrypt/crypt_gpgme.c:934 ncrypt/crypt_gpgme.c:2057 +-#: ncrypt/crypt_gpgme.c:2814 ++#: ncrypt/crypt_gpgme.c:906 ncrypt/crypt_gpgme.c:933 ncrypt/crypt_gpgme.c:2096 ++#: ncrypt/crypt_gpgme.c:2853 + #, c-format + msgid "error allocating data object: %s" + msgstr "tildeling af dataobjekt fejlede: %s" + +-#: ncrypt/crypt_gpgme.c:956 ++#: ncrypt/crypt_gpgme.c:955 + #, c-format + msgid "error rewinding data object: %s" + msgstr "fejl ved tilbagespoling af dataobjekt: %s" + +-#: ncrypt/crypt_gpgme.c:972 ++#: ncrypt/crypt_gpgme.c:971 + msgid "[tempfile]" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:978 ncrypt/crypt_gpgme.c:1032 ++#: ncrypt/crypt_gpgme.c:977 ncrypt/crypt_gpgme.c:1031 + #, c-format + msgid "error reading data object: %s" + msgstr "fejl ved læsning af dataobjekt: %s" + +-#: ncrypt/crypt_gpgme.c:1149 ++#: ncrypt/crypt_gpgme.c:1148 + #, fuzzy, c-format + msgid "error adding recipient '%s': %s" + msgstr "tilføjelse af modtager fejlede \"%s\": %s" + +-#: ncrypt/crypt_gpgme.c:1202 ++#: ncrypt/crypt_gpgme.c:1186 + #, c-format + msgid "secret key '%s' not found: %s" + msgstr "hemmelig nøgle \"%s\" ikke fundet: %s" + +-#: ncrypt/crypt_gpgme.c:1218 ++#: ncrypt/crypt_gpgme.c:1203 + #, fuzzy, c-format + msgid "ambiguous specification of secret key '%s'\n" + msgstr "tvetydig specifikation af hemmelig nøgle \"%s\"" + +-#: ncrypt/crypt_gpgme.c:1234 ++#: ncrypt/crypt_gpgme.c:1219 + #, c-format + msgid "error setting secret key '%s': %s" + msgstr "fejl ved indstilling af hemmelig nøgle \"%s\": %s" + +-#: ncrypt/crypt_gpgme.c:1250 ++#: ncrypt/crypt_gpgme.c:1278 + #, c-format + msgid "error setting PKA signature notation: %s" + msgstr "fejl ved indstilling af PKA-underskrifts notation: %s" + +-#: ncrypt/crypt_gpgme.c:1324 ++#: ncrypt/crypt_gpgme.c:1353 + #, c-format + msgid "error encrypting data: %s" + msgstr "fejl ved kryptering af data: %s" + +-#: ncrypt/crypt_gpgme.c:1453 ++#: ncrypt/crypt_gpgme.c:1483 + #, c-format + msgid "error signing data: %s" + msgstr "fejl ved underskrivelse af data: %s" + +-#: ncrypt/crypt_gpgme.c:1463 ++#: ncrypt/crypt_gpgme.c:1493 + msgid "$pgp_sign_as unset and no default key specified in ~/.gnupg/gpg.conf" + msgstr "$pgp_sign_as er ikke indstilet, og ingen standardnøgle er anført i ~/.gnupg/gpg.conf" + +-#: ncrypt/crypt_gpgme.c:1641 ++#: ncrypt/crypt_gpgme.c:1672 + msgid "Warning: One of the keys has been revoked\n" + msgstr "Advarsel: En af nøglerne er blevet tilbagekaldt\n" + +-#: ncrypt/crypt_gpgme.c:1651 ++#: ncrypt/crypt_gpgme.c:1682 + msgid "Warning: The key used to create the signature expired at: " + msgstr "Advarsel: Nøglen som underskriften oprettedes med er udløbet den: " + +-#: ncrypt/crypt_gpgme.c:1657 ++#: ncrypt/crypt_gpgme.c:1688 + msgid "Warning: At least one certification key has expired\n" + msgstr "Advarsel: Mindst en certificeringsnøgle er udløbet\n" + +-#: ncrypt/crypt_gpgme.c:1671 ++#: ncrypt/crypt_gpgme.c:1702 + msgid "Warning: The signature expired at: " + msgstr "Advarsel: Undskriftens gyldighed udløb den: " + +-#: ncrypt/crypt_gpgme.c:1678 ++#: ncrypt/crypt_gpgme.c:1709 + msgid "Can't verify due to a missing key or certificate\n" + msgstr "Kan ikke verificere p.g.a. manglende nøgle eller certifikat\n" + +-#: ncrypt/crypt_gpgme.c:1683 ++#: ncrypt/crypt_gpgme.c:1714 + msgid "The CRL is not available\n" + msgstr "CRL er ikke tilgængelig.\n" + +-#: ncrypt/crypt_gpgme.c:1689 ++#: ncrypt/crypt_gpgme.c:1720 + msgid "Available CRL is too old\n" + msgstr "Tilgængelig CRL er for gammel\n" + +-#: ncrypt/crypt_gpgme.c:1694 ++#: ncrypt/crypt_gpgme.c:1725 + msgid "A policy requirement was not met\n" + msgstr "Et policy-krav blev ikke indfriet\n" + +-#: ncrypt/crypt_gpgme.c:1703 ++#: ncrypt/crypt_gpgme.c:1734 + msgid "A system error occurred" + msgstr "En systemfejl opstod" + +-#: ncrypt/crypt_gpgme.c:1734 ++#: ncrypt/crypt_gpgme.c:1765 + msgid "WARNING: PKA entry does not match signer's address: " + msgstr "ADVARSEL: PKA-nøgle matcher ikke underskrivers adresse: " + +-#: ncrypt/crypt_gpgme.c:1740 ++#: ncrypt/crypt_gpgme.c:1771 + msgid "PKA verified signer's address is: " + msgstr "Underskrivers PKA-verificerede adresse er: " + +-#: ncrypt/crypt_gpgme.c:1822 ++#: ncrypt/crypt_gpgme.c:1853 + msgid "WARNING: We have NO indication whether the key belongs to the person named as shown above\n" + msgstr "ADVARSEL: Vi har INGEN indikation på om Nøglen tilhører personen med det ovenfor viste navn\n" + +-#: ncrypt/crypt_gpgme.c:1829 ++#: ncrypt/crypt_gpgme.c:1860 + msgid "WARNING: The key does NOT BELONG to the person named as shown above\n" + msgstr "ADVARSEL: Nøglen TILHØRER IKKE personen med det ovenfor viste navn\n" + +-#: ncrypt/crypt_gpgme.c:1833 ++#: ncrypt/crypt_gpgme.c:1864 + msgid "WARNING: It is NOT certain that the key belongs to the person named as shown above\n" + msgstr "ADVARSEL: Det er IKKE sikkert at nøglen personen med det ovenfor viste navn\n" + +-#: ncrypt/crypt_gpgme.c:1886 ++#: ncrypt/crypt_gpgme.c:1917 + msgid "KeyID " + msgstr "KeyID " + + #. L10N: You will see this message in place of "KeyID " + #. if the S/MIME key has no ID. This is quite an error. +-#: ncrypt/crypt_gpgme.c:1893 ++#: ncrypt/crypt_gpgme.c:1924 + msgid "no signature fingerprint available" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1902 ncrypt/crypt_gpgme.c:1907 ++#: ncrypt/crypt_gpgme.c:1933 ncrypt/crypt_gpgme.c:1938 + msgid "created: " + msgstr "oprettet: " + +-#: ncrypt/crypt_gpgme.c:1981 ++#: ncrypt/crypt_gpgme.c:2012 + #, c-format + msgid "Error getting key information for KeyID %s: %s\n" + msgstr "Fejl ved indhentning af information for KeyID %s: %s\n" + +-#: ncrypt/crypt_gpgme.c:1988 ncrypt/crypt_gpgme.c:2003 ++#: ncrypt/crypt_gpgme.c:2019 ncrypt/crypt_gpgme.c:2034 + msgid "Good signature from:" + msgstr "God underskrift fra:" + +-#: ncrypt/crypt_gpgme.c:1995 ++#: ncrypt/crypt_gpgme.c:2026 + msgid "*BAD* signature from:" + msgstr "*DÅRLIG* underskrift fra:" + +-#: ncrypt/crypt_gpgme.c:2011 ++#: ncrypt/crypt_gpgme.c:2042 + msgid "Problem signature from:" + msgstr "Problematisk underskrift fra:" + + #. L10N: This is trying to match the width of the + #. "Problem signature from:" translation just above. +-#: ncrypt/crypt_gpgme.c:2017 ++#: ncrypt/crypt_gpgme.c:2048 + msgid " expires: " + msgstr " udløber: " + +-#: ncrypt/crypt_gpgme.c:2064 ncrypt/crypt_gpgme.c:2294 +-#: ncrypt/crypt_gpgme.c:3081 ++#: ncrypt/crypt_gpgme.c:2103 ncrypt/crypt_gpgme.c:2333 ++#: ncrypt/crypt_gpgme.c:3124 + msgid "[-- Begin signature information --]\n" + msgstr "[-- Begyndelse på underskriftsinformation --]\n" + +-#: ncrypt/crypt_gpgme.c:2075 ++#: ncrypt/crypt_gpgme.c:2114 + #, c-format + msgid "Error: verification failed: %s\n" + msgstr "Fejl: verificering fejlede: %s\n" + +-#: ncrypt/crypt_gpgme.c:2126 ++#: ncrypt/crypt_gpgme.c:2165 + #, c-format + msgid "*** Begin Notation (signature by: %s) ***\n" + msgstr "*** Begyndelse på påtegnelse (underskrift af: %s) ***\n" + +-#: ncrypt/crypt_gpgme.c:2145 ++#: ncrypt/crypt_gpgme.c:2184 + msgid "*** End Notation ***\n" + msgstr "*** Slut på påtegnelse ***\n" + +-#: ncrypt/crypt_gpgme.c:2153 ncrypt/crypt_gpgme.c:2308 +-#: ncrypt/crypt_gpgme.c:3091 ++#: ncrypt/crypt_gpgme.c:2192 ncrypt/crypt_gpgme.c:2347 ++#: ncrypt/crypt_gpgme.c:3134 + msgid "" + "[-- End signature information --]\n" + "\n" + msgstr "[-- Slut på underskriftsinformation --]\n" + +-#: ncrypt/crypt_gpgme.c:2268 ++#: ncrypt/crypt_gpgme.c:2307 + #, c-format + msgid "" + "[-- Error: decryption failed: %s --]\n" + "\n" + msgstr "[-- Fejl: dekryptering fejlede: %s --]\n" + +-#: ncrypt/crypt_gpgme.c:2821 ++#: ncrypt/crypt_gpgme.c:2860 + #, fuzzy, c-format + msgid "Error importing key: %s" + msgstr "Fejl ved eksportering af nøgle: %s" + +-#: ncrypt/crypt_gpgme.c:3059 ++#: ncrypt/crypt_gpgme.c:3098 + #, c-format + msgid "Error: decryption/verification failed: %s\n" + msgstr "Fejl: dekryptering/verificering fejlede: %s\n" + +-#: ncrypt/crypt_gpgme.c:3103 ++#: ncrypt/crypt_gpgme.c:3105 ncrypt/crypt_gpgme.c:3302 ncrypt/pgp.c:726 ++#: ncrypt/pgp.c:1273 ++msgid "PGP message successfully decrypted" ++msgstr "Vellykket dekryptering af PGP-brev" ++ ++#: ncrypt/crypt_gpgme.c:3146 + msgid "Error: copy data failed\n" + msgstr "Fejl: kopiering af data fejlede\n" + +-#: ncrypt/crypt_gpgme.c:3116 ncrypt/pgp.c:675 ++#: ncrypt/crypt_gpgme.c:3159 ncrypt/pgp.c:674 + msgid "" + "[-- BEGIN PGP MESSAGE --]\n" + "\n" +@@ -4058,11 +4140,11 @@ msgstr "" + "[-- BEGIN PGP MESSAGE --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3118 ncrypt/pgp.c:677 ++#: ncrypt/crypt_gpgme.c:3161 ncrypt/pgp.c:676 + msgid "[-- BEGIN PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- BEGIN PGP PUBLIC KEY BLOCK --]\n" + +-#: ncrypt/crypt_gpgme.c:3120 ncrypt/pgp.c:679 ++#: ncrypt/crypt_gpgme.c:3163 ncrypt/pgp.c:678 + msgid "" + "[-- BEGIN PGP SIGNED MESSAGE --]\n" + "\n" +@@ -4070,19 +4152,19 @@ msgstr "" + "[-- BEGIN PGP SIGNED MESSAGE --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3145 ncrypt/pgp.c:716 ++#: ncrypt/crypt_gpgme.c:3188 ncrypt/pgp.c:715 + msgid "[-- END PGP MESSAGE --]\n" + msgstr "[-- END PGP MESSAGE --]\n" + +-#: ncrypt/crypt_gpgme.c:3147 ncrypt/pgp.c:730 ++#: ncrypt/crypt_gpgme.c:3190 ncrypt/pgp.c:729 + msgid "[-- END PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- END PGP PUBLIC KEY BLOCK --]\n" + +-#: ncrypt/crypt_gpgme.c:3149 ncrypt/pgp.c:732 ++#: ncrypt/crypt_gpgme.c:3192 ncrypt/pgp.c:731 + msgid "[-- END PGP SIGNED MESSAGE --]\n" + msgstr "[-- END PGP SIGNED MESSAGE --]\n" + +-#: ncrypt/crypt_gpgme.c:3170 ncrypt/pgp.c:765 ++#: ncrypt/crypt_gpgme.c:3213 ncrypt/pgp.c:764 + msgid "" + "[-- Error: could not find beginning of PGP message --]\n" + "\n" +@@ -4090,11 +4172,11 @@ msgstr "" + "[-- Fejl: kunne ikke finde begyndelse på PGP-meddelelsen --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3198 ncrypt/crypt_gpgme.c:3296 ncrypt/pgp.c:1218 ++#: ncrypt/crypt_gpgme.c:3241 ncrypt/crypt_gpgme.c:3339 ncrypt/pgp.c:1218 + msgid "[-- Error: could not create temporary file --]\n" + msgstr "[-- Fejl: Kunne ikke oprette en midlertidig fil --]\n" + +-#: ncrypt/crypt_gpgme.c:3212 ++#: ncrypt/crypt_gpgme.c:3255 + msgid "" + "[-- The following data is PGP/MIME signed and encrypted --]\n" + "\n" +@@ -4102,7 +4184,7 @@ msgstr "" + "[-- Følgende data er underskrevet og krypteret med PGP/MIME --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3214 ncrypt/pgp.c:1231 ++#: ncrypt/crypt_gpgme.c:3257 ncrypt/pgp.c:1232 + msgid "" + "[-- The following data is PGP/MIME encrypted --]\n" + "\n" +@@ -4110,24 +4192,20 @@ msgstr "" + "[-- Følgende data er PGP/MIME-krypteret --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3254 ++#: ncrypt/crypt_gpgme.c:3297 + msgid "[-- End of PGP/MIME signed and encrypted data --]\n" + msgstr "[-- Slut på PGP/MIME-underskrevne og -krypterede data --]\n" + +-#: ncrypt/crypt_gpgme.c:3255 ncrypt/pgp.c:1267 ++#: ncrypt/crypt_gpgme.c:3298 ncrypt/pgp.c:1268 + msgid "[-- End of PGP/MIME encrypted data --]\n" + msgstr "[-- Slut på PGP/MIME-krypteret data --]\n" + +-#: ncrypt/crypt_gpgme.c:3259 ncrypt/pgp.c:727 ncrypt/pgp.c:1272 +-msgid "PGP message successfully decrypted" +-msgstr "Vellykket dekryptering af PGP-brev" +- +-#: ncrypt/crypt_gpgme.c:3265 ncrypt/pgp.c:666 ncrypt/pgp.c:718 +-#: ncrypt/pgp.c:1276 ++#: ncrypt/crypt_gpgme.c:3308 ncrypt/pgp.c:665 ncrypt/pgp.c:717 ++#: ncrypt/pgp.c:1277 + msgid "Could not decrypt PGP message" + msgstr "Kunne ikke dekryptere PGP-brev" + +-#: ncrypt/crypt_gpgme.c:3310 ++#: ncrypt/crypt_gpgme.c:3353 + msgid "" + "[-- The following data is S/MIME signed --]\n" + "\n" +@@ -4135,40 +4213,40 @@ msgstr "" + "[-- Følgende data er S/MIME-underskrevet --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3311 ++#: ncrypt/crypt_gpgme.c:3354 + msgid "" + "[-- The following data is S/MIME encrypted --]\n" + "\n" + msgstr "[-- Følgende data er krypteret med S/MIME --]\n" + +-#: ncrypt/crypt_gpgme.c:3358 ++#: ncrypt/crypt_gpgme.c:3401 + msgid "[-- End of S/MIME signed data --]\n" + msgstr "[-- Slut på S/MIME-underskrevne data --]\n" + +-#: ncrypt/crypt_gpgme.c:3359 ++#: ncrypt/crypt_gpgme.c:3402 + msgid "[-- End of S/MIME encrypted data --]\n" + msgstr "[-- Slut på S/MIME-krypteret data --]\n" + +-#: ncrypt/crypt_gpgme.c:4029 ++#: ncrypt/crypt_gpgme.c:4077 + msgid "[Can't display this user ID (unknown encoding)]" + msgstr "[Kan ikke vise denne bruger-id (ukendt indkodning)]" + +-#: ncrypt/crypt_gpgme.c:4031 ++#: ncrypt/crypt_gpgme.c:4079 + msgid "[Can't display this user ID (invalid encoding)]" + msgstr "[Kan ikke vise denne bruger-id (ugyldig indkodning)]" + +-#: ncrypt/crypt_gpgme.c:4036 ++#: ncrypt/crypt_gpgme.c:4084 + msgid "[Can't display this user ID (invalid DN)]" + msgstr "[Kan ikke vise denne bruger-id (ugyldig DN)]" + + #. L10N: comes after the Name or aka if the key is invalid + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4150 ncrypt/crypt_gpgme.c:4291 ++#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4339 + msgid "[Invalid]" + msgstr "[Ugyldigt]" + + #. L10N: This is printed after "Key Type: " and looks like this: PGP, 2048 bit RSA +-#: ncrypt/crypt_gpgme.c:4190 ncrypt/crypt_gpgme.c:4331 ++#: ncrypt/crypt_gpgme.c:4238 ncrypt/crypt_gpgme.c:4379 + #, fuzzy, c-format + msgid "%s, %lu bit %s\n" + msgid_plural "%s, %lu bit %s\n" +@@ -4176,94 +4254,94 @@ msgstr[0] "%s, %lu-bit %s\n" + msgstr[1] "%s, %lu-bit %s\n" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4338 ++#: ncrypt/crypt_gpgme.c:4246 ncrypt/crypt_gpgme.c:4386 + msgid "encryption" + msgstr "kryptering" + +-#: ncrypt/crypt_gpgme.c:4199 ncrypt/crypt_gpgme.c:4205 +-#: ncrypt/crypt_gpgme.c:4339 ncrypt/crypt_gpgme.c:4344 ++#: ncrypt/crypt_gpgme.c:4247 ncrypt/crypt_gpgme.c:4253 ++#: ncrypt/crypt_gpgme.c:4387 ncrypt/crypt_gpgme.c:4392 + msgid ", " + msgstr ", " + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4204 ncrypt/crypt_gpgme.c:4343 ++#: ncrypt/crypt_gpgme.c:4252 ncrypt/crypt_gpgme.c:4391 + msgid "signing" + msgstr "underskrivning" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4210 ncrypt/crypt_gpgme.c:4348 ++#: ncrypt/crypt_gpgme.c:4258 ncrypt/crypt_gpgme.c:4396 + msgid "certification" + msgstr "certificering" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4285 ++#: ncrypt/crypt_gpgme.c:4333 + msgid "[Revoked]" + msgstr "[Tilbagekaldt]" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4297 ++#: ncrypt/crypt_gpgme.c:4345 + msgid "[Expired]" + msgstr "[Udløbet]" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4303 ++#: ncrypt/crypt_gpgme.c:4351 + msgid "[Disabled]" + msgstr "[Deaktiveret]" + +-#: ncrypt/crypt_gpgme.c:4376 ++#: ncrypt/crypt_gpgme.c:4424 + msgid "Collecting data..." + msgstr "Samler data ..." + +-#: ncrypt/crypt_gpgme.c:4394 ++#: ncrypt/crypt_gpgme.c:4442 + #, c-format + msgid "Error finding issuer key: %s\n" + msgstr "Kunne ikke finde udsteders nøgle: %s\n" + +-#: ncrypt/crypt_gpgme.c:4403 ++#: ncrypt/crypt_gpgme.c:4451 + msgid "Error: certification chain too long - stopping here\n" + msgstr "Fejl: certificeringskæde er for lang - stopper her\n" + +-#: ncrypt/crypt_gpgme.c:4413 ncrypt/pgpkey.c:733 ++#: ncrypt/crypt_gpgme.c:4461 ncrypt/pgpkey.c:766 + #, c-format + msgid "Key ID: 0x%s" + msgstr "Nøgle-id: 0x%s" + +-#: ncrypt/crypt_gpgme.c:4538 ncrypt/crypt_gpgme.c:4589 ++#: ncrypt/crypt_gpgme.c:4586 ncrypt/crypt_gpgme.c:4637 + #, c-format + msgid "gpgme_op_keylist_start failed: %s" + msgstr "gpgme_op_keylist_start fejlede: %s" + +-#: ncrypt/crypt_gpgme.c:4577 ncrypt/crypt_gpgme.c:4619 +-#: ncrypt/crypt_gpgme.c:5355 ++#: ncrypt/crypt_gpgme.c:4625 ncrypt/crypt_gpgme.c:4667 ++#: ncrypt/crypt_gpgme.c:5435 + #, c-format + msgid "gpgme_op_keylist_next failed: %s" + msgstr "gpgme_op_keylist_next fejlede: %s" + +-#: ncrypt/crypt_gpgme.c:4701 ++#: ncrypt/crypt_gpgme.c:4749 + msgid "All matching keys are marked expired/revoked" + msgstr "Alle matchende nøgler er markeret som udløbet/tilbagekaldt" + +-#: ncrypt/crypt_gpgme.c:4731 ncrypt/pgpkey.c:666 ncrypt/smime.c:551 ++#: ncrypt/crypt_gpgme.c:4779 ncrypt/pgpkey.c:669 ncrypt/smime.c:553 + msgid "Select " + msgstr "Udvælg " + +-#: ncrypt/crypt_gpgme.c:4733 ncrypt/pgpkey.c:668 ++#: ncrypt/crypt_gpgme.c:4781 ncrypt/pgpkey.c:671 + msgid "Check key " + msgstr "Undersøg nøgle " + +-#: ncrypt/crypt_gpgme.c:4749 ++#: ncrypt/crypt_gpgme.c:4827 + msgid "PGP and S/MIME keys matching" + msgstr "PGP- og S/MIME-nøgler som matcher" + +-#: ncrypt/crypt_gpgme.c:4751 ++#: ncrypt/crypt_gpgme.c:4829 + msgid "PGP keys matching" + msgstr "PGP-nøgler som matcher" + +-#: ncrypt/crypt_gpgme.c:4753 ++#: ncrypt/crypt_gpgme.c:4831 + msgid "S/MIME keys matching" + msgstr "S/MIME-nøgler som matcher" + +-#: ncrypt/crypt_gpgme.c:4755 ++#: ncrypt/crypt_gpgme.c:4833 + msgid "keys matching" + msgstr "nøgler som matcher" + +@@ -4271,59 +4349,59 @@ msgstr "nøgler som matcher" + #. %1$s is one of the previous four entries. + #. %2$s is an address. + #. e.g. "S/MIME keys matching " +-#: ncrypt/crypt_gpgme.c:4763 ++#: ncrypt/crypt_gpgme.c:4841 + #, c-format + msgid "%s <%s>" + msgstr "%s <%s>" + + #. L10N: e.g. 'S/MIME keys matching "Michael Elkins".' +-#: ncrypt/crypt_gpgme.c:4768 ++#: ncrypt/crypt_gpgme.c:4846 + #, c-format + msgid "%s \"%s\"" + msgstr "%s \"%s\"" + +-#: ncrypt/crypt_gpgme.c:4796 ncrypt/pgpkey.c:754 ++#: ncrypt/crypt_gpgme.c:4874 ncrypt/pgpkey.c:787 + msgid "This key can't be used: expired/disabled/revoked" + msgstr "Denne nøgle kan ikke bruges: udløbet/sat ud af kraft/tilbagekaldt" + +-#: ncrypt/crypt_gpgme.c:4810 ncrypt/pgpkey.c:767 ncrypt/smime.c:581 ++#: ncrypt/crypt_gpgme.c:4888 ncrypt/pgpkey.c:800 ncrypt/smime.c:613 + #, fuzzy + msgid "ID is expired/disabled/revoked. Do you really want to use the key?" + msgstr "Id er udløbet/ugyldig/ophævet. Vil du virkelig anvende nøglen?" + +-#: ncrypt/crypt_gpgme.c:4820 ncrypt/pgpkey.c:779 ++#: ncrypt/crypt_gpgme.c:4898 ncrypt/pgpkey.c:812 + #, fuzzy + msgid "ID is not valid. Do you really want to use the key?" + msgstr "Id er ikke bevist ægte. Vil du virkelig anvende nøglen?" + +-#: ncrypt/crypt_gpgme.c:4823 ncrypt/pgpkey.c:782 ++#: ncrypt/crypt_gpgme.c:4901 ncrypt/pgpkey.c:815 + #, fuzzy + msgid "ID is only marginally valid. Do you really want to use the key?" + msgstr "Id er kun bevist marginalt ægte. Vil du virkelig anvende nøglen?" + +-#: ncrypt/crypt_gpgme.c:4831 ncrypt/pgpkey.c:775 ncrypt/smime.c:585 ++#: ncrypt/crypt_gpgme.c:4909 ncrypt/pgpkey.c:808 ncrypt/smime.c:617 + #, fuzzy + msgid "ID has undefined validity. Do you really want to use the key?" + msgstr "Ægthed af id er ubestemt. Vil du virkelig anvende nøglen?" + +-#: ncrypt/crypt_gpgme.c:4911 ncrypt/crypt_gpgme.c:5024 ncrypt/pgpkey.c:1019 +-#: ncrypt/pgpkey.c:1146 ++#: ncrypt/crypt_gpgme.c:4991 ncrypt/crypt_gpgme.c:5104 ncrypt/pgpkey.c:1054 ++#: ncrypt/pgpkey.c:1181 + #, c-format + msgid "Looking for keys matching \"%s\"..." + msgstr "Leder efter nøgler, der matcher \"%s\"..." + +-#: ncrypt/crypt_gpgme.c:5140 ncrypt/pgpkey.c:870 ncrypt/smime.c:924 ++#: ncrypt/crypt_gpgme.c:5220 ncrypt/pgpkey.c:905 ncrypt/smime.c:958 + #, c-format + msgid "No matching keys found for \"%s\"" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5190 ncrypt/pgp.c:1456 ++#: ncrypt/crypt_gpgme.c:5270 ncrypt/pgp.c:1457 + #, c-format + msgid "Use keyID = \"%s\" for %s?" + msgstr "Anvend nøgle-id = \"%s\" for %s?" + +-#: ncrypt/crypt_gpgme.c:5238 ncrypt/pgp.c:1505 ncrypt/smime.c:944 +-#: ncrypt/smime.c:1049 ++#: ncrypt/crypt_gpgme.c:5318 ncrypt/pgp.c:1506 ncrypt/smime.c:978 ++#: ncrypt/smime.c:1083 + #, c-format + msgid "Enter keyID for %s: " + msgstr "Anfør nøgle-id for %s: " +@@ -4332,15 +4410,15 @@ msgstr "Anfør nøgle-id for %s: " + #. mutt_gpgme_select_secret_key() tries to list all secret keys to choose + #. from. This error is displayed if no results were found. + #. +-#: ncrypt/crypt_gpgme.c:5364 ++#: ncrypt/crypt_gpgme.c:5444 + msgid "No secret keys found" + msgstr "Ingen hemmelige nøgler fundet" + +-#: ncrypt/crypt_gpgme.c:5398 ncrypt/pgpkey.c:888 ++#: ncrypt/crypt_gpgme.c:5478 ncrypt/pgpkey.c:923 + msgid "Please enter the key ID: " + msgstr "Anfør venligst nøgle-id: " + +-#: ncrypt/crypt_gpgme.c:5411 ++#: ncrypt/crypt_gpgme.c:5491 + #, c-format + msgid "Error exporting key: %s" + msgstr "Fejl ved eksportering af nøgle: %s" +@@ -4348,92 +4426,92 @@ msgstr "Fejl ved eksportering af nøgle: %s" + #. 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. +-#: ncrypt/crypt_gpgme.c:5429 ++#: ncrypt/crypt_gpgme.c:5509 + #, c-format + msgid "PGP Key 0x%s" + msgstr "PGP-nøgle 0x%s" + +-#: ncrypt/crypt_gpgme.c:5474 ++#: ncrypt/crypt_gpgme.c:5554 + msgid "GPGME: OpenPGP protocol not available" + msgstr "GPGME: OpenPGP-protokol utilgængelig" + +-#: ncrypt/crypt_gpgme.c:5485 ++#: ncrypt/crypt_gpgme.c:5565 + msgid "GPGME: CMS protocol not available" + msgstr "GPGME: CMS-protokol utilgængelig" + +-#: ncrypt/crypt_gpgme.c:5536 ++#: ncrypt/crypt_gpgme.c:5616 + msgid "S/MIME (s)ign, sign (a)s, (p)gp, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME (u)nderskriv, underskriv (s)om, (p)gp, r(y)d eller (o)ppenc-tilstand fra?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5538 ++#: ncrypt/crypt_gpgme.c:5618 + msgid "sapco" + msgstr "uspyo" + +-#: ncrypt/crypt_gpgme.c:5545 ++#: ncrypt/crypt_gpgme.c:5625 + msgid "PGP (s)ign, sign (a)s, s/(m)ime, (c)lear, or (o)ppenc mode off?" + msgstr "PGP (u)nderskriv, underskriv (s)om, s/(m)ime, r(y)d eller (o)ppenc-tilstand fra?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5547 ++#: ncrypt/crypt_gpgme.c:5627 + msgid "samco" + msgstr "usmyo" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5557 ++#: ncrypt/crypt_gpgme.c:5637 + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME (k)ryptér, (u)nderskriv, underskriv (s)om, (b)egge, (p)gp, r(y)d eller (o)ppenc-tilstand fra?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5560 ++#: ncrypt/crypt_gpgme.c:5640 + msgid "esabpco" + msgstr "kusbpyo" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5566 ++#: ncrypt/crypt_gpgme.c:5646 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime, (c)lear, or (o)ppenc mode?" + msgstr "PGP (k)ryptér, (u)nderskriv, underskriv (s)om, (b)egge, s/(m)ime, r(y)d eller (o)ppenc-tilstand?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5569 ++#: ncrypt/crypt_gpgme.c:5649 + msgid "esabmco" + msgstr "kusbmyo" + +-#: ncrypt/crypt_gpgme.c:5580 ++#: ncrypt/crypt_gpgme.c:5660 + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp or (c)lear?" + msgstr "S/MIME (k)ryptér, (u)nderskriv, underskriv (s)om, (b)egge, (p)gp, eller r(y)d?" + + #. L10N: S/MIME options +-#: ncrypt/crypt_gpgme.c:5582 ++#: ncrypt/crypt_gpgme.c:5662 + msgid "esabpc" + msgstr "kusbpy" + +-#: ncrypt/crypt_gpgme.c:5589 ++#: ncrypt/crypt_gpgme.c:5669 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime or (c)lear?" + msgstr "PGP (k)ryptér, (u)nderskriv, underskriv (s)om, (b)egge, s/(m)ime, eller r(y)d?" + + #. L10N: PGP options +-#: ncrypt/crypt_gpgme.c:5591 ++#: ncrypt/crypt_gpgme.c:5671 + msgid "esabmc" + msgstr "kusbmy" + +-#: ncrypt/crypt_gpgme.c:5751 ++#: ncrypt/crypt_gpgme.c:5831 + msgid "Failed to verify sender" + msgstr "Kunne ikke verificere afsender" + +-#: ncrypt/crypt_gpgme.c:5754 ++#: ncrypt/crypt_gpgme.c:5834 + msgid "Failed to figure out sender" + msgstr "Kunne ikke bestemme afsender" + +-#: ncrypt/pgp.c:108 ++#: ncrypt/pgp.c:107 + msgid "Enter PGP passphrase:" + msgstr "Anfør PGP-løsen:" + +-#: ncrypt/pgp.c:595 ++#: ncrypt/pgp.c:594 + msgid "[-- Error: unable to create PGP subprocess --]\n" + msgstr "[-- Fejl: kan ikke skabe en PGP-delproces --]\n" + +-#: ncrypt/pgp.c:644 ncrypt/pgp.c:926 ncrypt/pgp.c:1086 ++#: ncrypt/pgp.c:643 ncrypt/pgp.c:925 ncrypt/pgp.c:1085 + msgid "" + "[-- End of PGP output --]\n" + "\n" +@@ -4444,15 +4522,15 @@ msgstr "" + #. L10N: You will see this error message if (1) you are decrypting + #. (not encrypting) something and (2) it is a plaintext. So the + #. message does not mean "You failed to encrypt the message." +-#: ncrypt/pgp.c:724 ++#: ncrypt/pgp.c:723 + msgid "PGP message is not encrypted" + msgstr "PGP-brev er ikke krypteret." + +-#: ncrypt/pgp.c:978 ++#: ncrypt/pgp.c:977 + msgid "Internal error. Please submit a bug report." + msgstr "Intern fejl. Indsend venligst en fejlrapport." + +-#: ncrypt/pgp.c:1043 ++#: ncrypt/pgp.c:1042 + msgid "" + "[-- Error: could not create a PGP subprocess --]\n" + "\n" +@@ -4460,129 +4538,129 @@ msgstr "" + "[-- Fejl: Kunne ikke skabe en PGP-delproces --]\n" + "\n" + +-#: ncrypt/pgp.c:1073 ncrypt/pgp.c:1098 ncrypt/smime.c:2143 postpone.c:757 +-#: postpone.c:785 ++#: ncrypt/pgp.c:1072 ncrypt/pgp.c:1097 ncrypt/smime.c:2177 postpone.c:803 ++#: postpone.c:831 + msgid "Decryption failed" + msgstr "Dekryptering slog fejl" + +-#: ncrypt/pgp.c:1333 ++#: ncrypt/pgp.c:1334 + msgid "Can't open PGP subprocess" + msgstr "Kan ikke åbne PGP-delproces" + +-#: ncrypt/pgp.c:1768 ++#: ncrypt/pgp.c:1770 + msgid "Can't invoke PGP" + msgstr "Kan ikke starte PGP" + + #. L10N: The next string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1875 ++#: ncrypt/pgp.c:1877 + msgid "PGP/M(i)ME" + msgstr "PGP/M(i)ME" + + #. L10N: The previous string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1881 ++#: ncrypt/pgp.c:1883 + msgid "(i)nline" + msgstr "(i)ntegreret" + + #. L10N: PGP options (inline) (opportunistic encryption is on) +-#: ncrypt/pgp.c:1893 ++#: ncrypt/pgp.c:1895 + #, c-format + msgid "PGP (s)ign, sign (a)s, %s format, (c)lear, or (o)ppenc mode off?" + msgstr "PGP (u)nderskriv, underskriv (s)om, %s-format, r(y)d eller (o)ppenc-tilstand fra?" + + #. L10N: PGP options (inline) (opportunistic encryption is on) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1899 ++#: ncrypt/pgp.c:1901 + msgid "saico" + msgstr "usiyo" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1905 ++#: ncrypt/pgp.c:1907 + msgid "PGP (s)ign, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "PGP (u)nderskriv, underskriv (s)om, r(y)d eller (o)ppenc-tilstand fra?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1907 ++#: ncrypt/pgp.c:1909 + msgid "saco" + msgstr "usyo" + + #. L10N: PGP options (inline) (opportunistic encryption is off) +-#: ncrypt/pgp.c:1921 ++#: ncrypt/pgp.c:1923 + #, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, (c)lear, or (o)ppenc mode?" + msgstr "PGP (k)ryptér, (u)nderskriv, underskriv (s)om, (b)egge, %s-format, r(y)d eller (o)ppenc-tilstand?" + + #. L10N: PGP options (inline) (opportunistic encryption is off) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1927 ++#: ncrypt/pgp.c:1929 + #, fuzzy + msgid "esabico" + msgstr "kusbiyo" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1933 ++#: ncrypt/pgp.c:1935 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "PGP (k)ryptér, (u)nderskriv, underskriv (s)om, (b)egge, r(y)d eller (o)ppenc-tilstand?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1936 ++#: ncrypt/pgp.c:1938 + #, fuzzy + msgid "esabco" + msgstr "kusbyo" + + #. L10N: PGP options (inline) +-#: ncrypt/pgp.c:1947 ++#: ncrypt/pgp.c:1949 + #, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, or (c)lear?" + msgstr "PGP (k)ryptér, (u)nderskriv, underskriv (s)om, (b)egge, %s-format, r(y)d " + + #. L10N: PGP options (inline) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1953 ++#: ncrypt/pgp.c:1955 + #, fuzzy + msgid "esabic" + msgstr "kusbiy" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1959 ++#: ncrypt/pgp.c:1961 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (c)lear?" + msgstr "PGP (k)ryptér, (u)nderskriv, underskriv (s)om, (b)egge eller r(y)d?" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1961 ++#: ncrypt/pgp.c:1963 + #, fuzzy + msgid "esabc" + msgstr "kusby" + +-#: ncrypt/pgpinvoke.c:458 ++#: ncrypt/pgpinvoke.c:461 + msgid "Fetching PGP key..." + msgstr "Henter PGP-nøgle ..." + +-#: ncrypt/pgpkey.c:640 ++#: ncrypt/pgpkey.c:643 + msgid "All matching keys are expired, revoked, or disabled" + msgstr "Alle matchende nøgler er sat ud af kraft, udløbet eller tilbagekaldt" + +-#: ncrypt/pgpkey.c:681 ++#: ncrypt/pgpkey.c:714 + #, c-format + msgid "PGP keys matching <%s>" + msgstr "PGP-nøgler som matcher <%s>" + +-#: ncrypt/pgpkey.c:683 ++#: ncrypt/pgpkey.c:716 + #, c-format + msgid "PGP keys matching \"%s\"" + msgstr "PGP-nøgler som matcher \"%s\"" + +-#: ncrypt/pgpkey.c:700 ncrypt/pgpkey.c:909 ++#: ncrypt/pgpkey.c:733 ncrypt/pgpkey.c:944 + msgid "Can't open /dev/null" + msgstr "Kan ikke åbne /dev/null" + +-#: ncrypt/pgpkey.c:938 ++#: ncrypt/pgpkey.c:973 + #, c-format + msgid "PGP Key %s" + msgstr "PGP-nøgle %s" + +-#: ncrypt/smime.c:182 ++#: ncrypt/smime.c:180 + msgid "Enter S/MIME passphrase:" + msgstr "Anfør S/MIME-løsen:" + +@@ -4591,7 +4669,7 @@ msgstr "Anfør S/MIME-løsen:" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:460 ++#: ncrypt/smime.c:462 + msgid "Expired " + msgstr "Udløbet " + +@@ -4600,7 +4678,7 @@ msgstr "Udløbet " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:468 ++#: ncrypt/smime.c:470 + msgid "Invalid " + msgstr "Ugyldigt " + +@@ -4609,7 +4687,7 @@ msgstr "Ugyldigt " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:476 ++#: ncrypt/smime.c:478 + msgid "Revoked " + msgstr "Tilbagekaldt " + +@@ -4618,7 +4696,7 @@ msgstr "Tilbagekaldt " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:484 ++#: ncrypt/smime.c:486 + msgid "Trusted " + msgstr "Betroet " + +@@ -4627,7 +4705,7 @@ msgstr "Betroet " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:492 ++#: ncrypt/smime.c:494 + msgid "Unverified" + msgstr "Ikke kontrolleret" + +@@ -4636,7 +4714,7 @@ msgstr "Ikke kontrolleret" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:500 ++#: ncrypt/smime.c:502 + msgid "Verified " + msgstr "Kontrolleret " + +@@ -4645,59 +4723,59 @@ msgstr "Kontrolleret " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:508 ++#: ncrypt/smime.c:510 + msgid "Unknown " + msgstr "Ukendt " + +-#: ncrypt/smime.c:545 ++#: ncrypt/smime.c:547 + #, c-format + msgid "S/MIME certificates matching \"%s\"" + msgstr "S/MIME-certifikater som matcher \"%s\"" + +-#: ncrypt/smime.c:589 ++#: ncrypt/smime.c:621 + #, fuzzy + msgid "ID is not trusted. Do you really want to use the key?" + msgstr "Id er ikke betroet. Vil du virkelig anvende nøglen?" + +-#: ncrypt/smime.c:910 ++#: ncrypt/smime.c:944 + msgid "Enter keyID: " + msgstr "Anfør nøgle-ID: " + +-#: ncrypt/smime.c:1055 ++#: ncrypt/smime.c:1089 + #, c-format + msgid "No (valid) certificate found for %s" + msgstr "Fandt ikke et (gyldigt) certifikat for %s" + +-#: ncrypt/smime.c:1108 ncrypt/smime.c:1137 ncrypt/smime.c:1209 +-#: ncrypt/smime.c:1243 ncrypt/smime.c:1319 ncrypt/smime.c:1399 ++#: ncrypt/smime.c:1142 ncrypt/smime.c:1171 ncrypt/smime.c:1243 ++#: ncrypt/smime.c:1277 ncrypt/smime.c:1353 ncrypt/smime.c:1433 + msgid "Error: unable to create OpenSSL subprocess" + msgstr "Fejl: kan ikke skabe en OpenSSL-delproces" + +-#: ncrypt/smime.c:1379 ++#: ncrypt/smime.c:1413 + msgid "Label for certificate: " + msgstr "Certifikatets etiket: " + +-#: ncrypt/smime.c:1480 ++#: ncrypt/smime.c:1514 + msgid "no certfile" + msgstr "ingen certfil" + +-#: ncrypt/smime.c:1483 ++#: ncrypt/smime.c:1517 + msgid "no mbox" + msgstr "ingen afsender-adresse" + +-#: ncrypt/smime.c:1640 ncrypt/smime.c:1810 ++#: ncrypt/smime.c:1674 ncrypt/smime.c:1844 + msgid "No output from OpenSSL..." + msgstr "Ingen uddata fra OpenSSL ..." + +-#: ncrypt/smime.c:1727 ++#: ncrypt/smime.c:1761 + msgid "Can't sign: No key specified. Use Sign As." + msgstr "Kan ikke underskrive: Ingen nøgle er angivet. Brug \"underskriv som\"." + +-#: ncrypt/smime.c:1777 ++#: ncrypt/smime.c:1811 + msgid "Can't open OpenSSL subprocess" + msgstr "Kan ikke åbne OpenSSL-delproces" + +-#: ncrypt/smime.c:2004 ncrypt/smime.c:2123 ++#: ncrypt/smime.c:2038 ncrypt/smime.c:2157 + msgid "" + "[-- End of OpenSSL output --]\n" + "\n" +@@ -4705,19 +4783,19 @@ msgstr "" + "[-- Slut på OpenSSL-uddata --]\n" + "\n" + +-#: ncrypt/smime.c:2080 ncrypt/smime.c:2093 ++#: ncrypt/smime.c:2114 ncrypt/smime.c:2127 + msgid "[-- Error: unable to create OpenSSL subprocess --]\n" + msgstr "[-- Fejl: kan ikke skabe en OpenSSL-delproces --]\n" + +-#: ncrypt/smime.c:2129 ++#: ncrypt/smime.c:2163 + msgid "[-- The following data is S/MIME encrypted --]\n" + msgstr "[-- Følgende data er S/MIME-krypteret --]\n" + +-#: ncrypt/smime.c:2132 ++#: ncrypt/smime.c:2166 + msgid "[-- The following data is S/MIME signed --]\n" + msgstr "[-- Følgende data er S/MIME-underskrevet --]\n" + +-#: ncrypt/smime.c:2225 ++#: ncrypt/smime.c:2259 + msgid "" + "\n" + "[-- End of S/MIME encrypted data. --]\n" +@@ -4725,7 +4803,7 @@ msgstr "" + "\n" + "[-- Slut på S/MIME-krypteret data --]\n" + +-#: ncrypt/smime.c:2227 ++#: ncrypt/smime.c:2261 + msgid "" + "\n" + "[-- End of S/MIME signed data. --]\n" +@@ -4734,168 +4812,168 @@ msgstr "" + "[-- Slut på S/MIME-underskrevne data --]\n" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2361 ++#: ncrypt/smime.c:2395 + msgid "S/MIME (s)ign, encrypt (w)ith, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME (u).skriv, kryptér (m)ed, u.skriv (s)om, r(y)d eller (o)ppenc-tilstand fra?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2364 ++#: ncrypt/smime.c:2398 + msgid "swaco" + msgstr "umsyo" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2372 ++#: ncrypt/smime.c:2406 + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME (k)ryptér, (u).skriv, kryptér (m)ed, u.skriv (s)om, (b)egge, r(y)d eller (o)ppenc-tilstand?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2375 ++#: ncrypt/smime.c:2409 + #, fuzzy + msgid "eswabco" + msgstr "kumsbyo" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2382 ++#: ncrypt/smime.c:2416 + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, or (c)lear?" + msgstr "S/MIME (k)ryptér, (u).skriv, kryptér (m)ed, u.skriv (s)om, (b)egge, r(y)d?" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2385 ++#: ncrypt/smime.c:2419 + #, fuzzy + msgid "eswabc" + msgstr "kumsby" + +-#: ncrypt/smime.c:2449 ++#: ncrypt/smime.c:2483 + msgid "Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear?" + msgstr "Vælg algoritme-familie: (1) DES, (2) RC2, (3) AES, eller r(y)d?" + + #. L10N: Options for: Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear? +-#: ncrypt/smime.c:2452 ++#: ncrypt/smime.c:2486 + msgid "123c" + msgstr "123y" + +-#: ncrypt/smime.c:2455 ++#: ncrypt/smime.c:2489 + msgid "(1) DES, (2) Triple-DES?" + msgstr "(1) DES, (2) Triple-DES?" + + #. L10N: Options for: (1) DES, (2) Triple-DES +-#: ncrypt/smime.c:2457 ++#: ncrypt/smime.c:2491 + msgid "12" + msgstr "12" + +-#: ncrypt/smime.c:2470 ++#: ncrypt/smime.c:2504 + msgid "(1) RC2-40, (2) RC2-64, (3) RC2-128?" + msgstr "(1) RC2-40, (2) RC2-64, (3) RC2-128?" + + #. L10N: Options for: (1) RC2-40, (2) RC2-64, (3) RC2-128 + #. L10N: Options for: (1) AES128, (2) AES192, (3) AES256 +-#: ncrypt/smime.c:2472 ncrypt/smime.c:2490 ++#: ncrypt/smime.c:2506 ncrypt/smime.c:2524 + msgid "123" + msgstr "123" + +-#: ncrypt/smime.c:2488 ++#: ncrypt/smime.c:2522 + msgid "(1) AES128, (2) AES192, (3) AES256?" + msgstr "(1) AES128, (2) AES192, (3) AES256?" + +-#: nntp/newsrc.c:632 ++#: nntp/newsrc.c:639 + msgid "Loading list of groups from cache..." + msgstr "" + +-#: nntp/newsrc.c:997 ++#: nntp/newsrc.c:1023 + msgid "No news server defined" + msgstr "" + +-#: nntp/newsrc.c:1012 ++#: nntp/newsrc.c:1041 + #, fuzzy, c-format + msgid "%s is an invalid news server specification" + msgstr "%s er en ugyldig POP-sti" + +-#: nntp/nntp.c:236 nntp/nntp.c:777 pop/pop.c:742 pop/pop_lib.c:398 ++#: nntp/nntp.c:238 nntp/nntp.c:779 pop/pop.c:742 pop/pop_lib.c:424 + msgid "Server closed connection" + msgstr "Serveren afbrød forbindelsen" + +-#: nntp/nntp.c:340 ++#: nntp/nntp.c:342 + #, fuzzy + msgid "Server doesn't support reader mode" + msgstr "SMTP-server understøtter ikke godkendelse" + +-#: nntp/nntp.c:576 pop/pop_auth.c:504 smtp.c:650 ++#: nntp/nntp.c:578 pop/pop_auth.c:505 smtp.c:675 + msgid "No authenticators available" + msgstr "Ingen godkendelsesmetode kan bruges" + +-#: nntp/nntp.c:766 ++#: nntp/nntp.c:768 + #, fuzzy, c-format + msgid "%s authentication failed" + msgstr "SASL-godkendelse slog fejl" + +-#: nntp/nntp.c:826 ++#: nntp/nntp.c:828 + #, fuzzy, c-format + msgid "Connection to %s lost. Reconnect?" + msgstr "Forbindelse til %s er lukket" + +-#: nntp/nntp.c:1285 ++#: nntp/nntp.c:1287 + #, fuzzy + msgid "Fetching list of articles..." + msgstr "Henter liste over breve ..." + +-#: nntp/nntp.c:1549 nntp/nntp.c:2138 pop/pop.c:614 pop/pop.c:910 ++#: nntp/nntp.c:1551 nntp/nntp.c:2140 pop/pop.c:614 pop/pop.c:905 + msgid "Checking for new messages..." + msgstr "Kigger efter nye breve ..." + +-#: nntp/nntp.c:1864 nntp/nntp.c:1954 ++#: nntp/nntp.c:1866 nntp/nntp.c:1956 + #, fuzzy + msgid "Could not switch to reader mode" + msgstr "kunne ikke skrive til midlertidig brevbakke: %s" + +-#: nntp/nntp.c:1877 ++#: nntp/nntp.c:1879 + #, fuzzy, c-format + msgid "Connected to %s. %s" + msgstr "Forbinder til %s ..." + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + #, fuzzy + msgid "Posting is ok" + msgstr "Intet at gøre" + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + msgid "Posting is NOT ok" + msgstr "" + +-#: nntp/nntp.c:2008 nntp/nntp.c:2043 ++#: nntp/nntp.c:2010 nntp/nntp.c:2045 + #, fuzzy, c-format + msgid "Can't post article: %s" + msgstr "Kan ikke finde filen %s: %s" + +-#: nntp/nntp.c:2064 ++#: nntp/nntp.c:2066 + #, fuzzy, c-format + msgid "Loading list of groups from server %s..." + msgstr "Sletter breve på server ..." + +-#: nntp/nntp.c:2106 nntp/nntp.c:2198 ++#: nntp/nntp.c:2108 nntp/nntp.c:2200 + #, fuzzy + msgid "Loading descriptions..." + msgstr "Logger ind ..." + +-#: nntp/nntp.c:2128 ++#: nntp/nntp.c:2130 + #, fuzzy + msgid "Checking for new newsgroups..." + msgstr "Kigger efter nye breve ..." + +-#: nntp/nntp.c:2332 ++#: nntp/nntp.c:2334 + msgid "Unable to find child articles because server does not support XPAT command" + msgstr "" + +-#: nntp/nntp.c:2437 ++#: nntp/nntp.c:2439 + #, fuzzy, c-format + msgid "%s is an invalid newsgroup specification" + msgstr "%s er en ugyldig POP-sti" + +-#: nntp/nntp.c:2476 ++#: nntp/nntp.c:2478 + #, c-format + msgid "Newsgroup %s not found on the server" + msgstr "" + +-#: nntp/nntp.c:2498 ++#: nntp/nntp.c:2500 + #, c-format + msgid "Newsgroup %s has been removed from the server" + msgstr "" +@@ -4907,7 +4985,7 @@ msgstr "" + + #: notmuch/mutt_notmuch.c:219 notmuch/mutt_notmuch.c:1939 + #, fuzzy, c-format +-msgid "failed to parse notmuch uri: %s" ++msgid "failed to parse notmuch url: %s" + msgstr "Kunne ikke fortolke mailto:-link\n" + + #: notmuch/mutt_notmuch.c:449 +@@ -6036,187 +6114,187 @@ msgstr "gør sidepanelet (u)synligt" + msgid "show S/MIME options" + msgstr "vis tilvalg for S/MIME" + +-#: pager.c:222 ++#: pager.c:214 + msgid "Not available in this menu" + msgstr "Funktion er ikke tilgængelig i denne menu" + +-#: pager.c:229 ++#: pager.c:221 + msgid "PrevPg" + msgstr "Side op" + +-#: pager.c:230 ++#: pager.c:222 + msgid "NextPg" + msgstr "Side ned" + +-#: pager.c:235 ++#: pager.c:227 + msgid "View Attachm." + msgstr "Vis brevdel." + +-#: pager.c:238 pager.c:247 ++#: pager.c:230 pager.c:239 + msgid "Next" + msgstr "Næste" + + #. L10N: Status bar message: the entire email is visible in the pager + #. L10N: Status bar message: all the emails are visible in the index +-#: pager.c:2180 status.c:278 ++#: pager.c:2136 status.c:278 + msgid "all" + msgstr "" + + #. L10N: Status bar message: the end of the email is visible in the pager + #. L10N: Status bar message: the end of the list emails is visible in the index +-#: pager.c:2182 status.c:276 ++#: pager.c:2138 status.c:276 + msgid "end" + msgstr "" + +-#: pager.c:2530 pager.c:2566 pager.c:2602 pager.c:2937 ++#: pager.c:2503 pager.c:2539 pager.c:2576 pager.c:2911 + msgid "Bottom of message is shown" + msgstr "Bunden af brevet vises" + +-#: pager.c:2543 pager.c:2573 pager.c:2580 pager.c:2590 ++#: pager.c:2516 pager.c:2546 pager.c:2553 pager.c:2564 + msgid "Top of message is shown" + msgstr "Toppen af brevet vises" + +-#: pager.c:2840 ++#: pager.c:2814 + msgid "Help is currently being shown" + msgstr "Hjælpeskærm vises nu" + +-#: pager.c:2897 ++#: pager.c:2871 + msgid "No more quoted text" + msgstr "Ikke mere citeret tekst" + +-#: pager.c:2914 ++#: pager.c:2888 + msgid "No more unquoted text after quoted text" + msgstr "Ikke mere uciteret tekst efter citeret tekst" + +-#: pattern.c:220 pattern.c:297 pattern.c:1046 ++#: pattern.c:221 pattern.c:298 pattern.c:1085 + #, c-format + msgid "Error in expression: %s" + msgstr "Fejl i udtryk: %s" + +-#: pattern.c:226 pattern.c:302 pattern.c:1052 ++#: pattern.c:227 pattern.c:303 pattern.c:1091 + msgid "Empty expression" + msgstr "Tomt udtryk" + +-#: pattern.c:288 ++#: pattern.c:289 + #, fuzzy + msgid "No search command defined" + msgstr "Ingen forespørgsels-kommando defineret" + +-#: pattern.c:326 ++#: pattern.c:327 + #, fuzzy, c-format + msgid "Running search command: %s ..." + msgstr "Starter autovisning kommando: %s" + +-#: pattern.c:417 ++#: pattern.c:441 pattern.c:456 + #, c-format + msgid "Invalid day of month: %s" + msgstr "Ugyldig dag: %s" + +-#: pattern.c:431 ++#: pattern.c:446 pattern.c:470 + #, c-format + msgid "Invalid month: %s" + msgstr "Ugyldig måned: %s" + +-#: pattern.c:534 ++#: pattern.c:573 + #, c-format + msgid "Invalid relative date: %s" + msgstr "Ugyldig relativ dato: %s" + +-#: pattern.c:842 pattern.c:975 ++#: pattern.c:881 pattern.c:1014 + #, fuzzy + msgid "No current message" + msgstr "Ingen ulæste breve." + +-#: pattern.c:1002 ++#: pattern.c:1041 + msgid "No Context" + msgstr "" + +-#: pattern.c:1125 ++#: pattern.c:1164 + #, fuzzy + msgid "Error opening 'memory stream'" + msgstr "Fejl ved åbning af brevbakke" + +-#: pattern.c:1171 ++#: pattern.c:1210 + #, fuzzy + msgid "Error re-opening 'memory stream'" + msgstr "Fejl ved åbning af brevbakke" + +-#: pattern.c:1180 ++#: pattern.c:1219 + #, fuzzy + msgid "Error opening /dev/null" + msgstr "Kan ikke åbne /dev/null" + +-#: pattern.c:1443 pattern.c:1620 ++#: pattern.c:1482 pattern.c:1662 + #, c-format + msgid "error in pattern at: %s" + msgstr "fejl i mønster ved: %s" + +-#: pattern.c:1476 ++#: pattern.c:1515 + #, c-format + msgid "missing pattern: %s" + msgstr "manglende mønster: %s" + +-#: pattern.c:1494 pattern.c:1593 ++#: pattern.c:1533 pattern.c:1635 + #, c-format + msgid "mismatched parentheses: %s" + msgstr "parenteser matcher ikke: %s" + +-#: pattern.c:1559 ++#: pattern.c:1598 + #, c-format + msgid "%c: invalid pattern modifier" + msgstr "%c: ugyldig modifikator af søgemønster" + +-#: pattern.c:1564 ++#: pattern.c:1603 + #, c-format + msgid "%c: not supported in this mode" + msgstr "%c: er ikke understøttet i denne tilstand" + +-#: pattern.c:1576 ++#: pattern.c:1618 + msgid "missing parameter" + msgstr "manglende parameter" + +-#: pattern.c:1626 ++#: pattern.c:1668 + msgid "empty pattern" + msgstr "tomt mønster" + +-#: pattern.c:2080 pattern.c:2083 ++#: pattern.c:2202 pattern.c:2205 + msgid "error: server custom search only supported with IMAP" + msgstr "" + +-#: pattern.c:2274 ++#: pattern.c:2398 + #, c-format + msgid "error: unknown op %d (report this error)" + msgstr "fejl: ukendt op %d (rapportér denne fejl)" + +-#: pattern.c:2448 pattern.c:2604 ++#: pattern.c:2572 pattern.c:2728 + msgid "Compiling search pattern..." + msgstr "Klargør søgemønster ..." + +-#: pattern.c:2468 ++#: pattern.c:2592 + msgid "Executing command on matching messages..." + msgstr "Udfører kommando på matchende breve ..." + +-#: pattern.c:2537 ++#: pattern.c:2661 + msgid "No messages matched criteria" + msgstr "Ingen breve opfylder kriterierne" + +-#: pattern.c:2641 ++#: pattern.c:2765 + msgid "Searching..." + msgstr "Søger ..." + +-#: pattern.c:2655 ++#: pattern.c:2779 + msgid "Search hit bottom without finding match" + msgstr "Søgning er nået til bunden uden resultat" + +-#: pattern.c:2666 ++#: pattern.c:2790 + msgid "Search hit top without finding match" + msgstr "Søgning nåede toppen uden resultat" + +-#: pattern.c:2700 ++#: pattern.c:2824 + msgid "Search interrupted" + msgstr "Søgning afbrudt" + +-#: pop/pop.c:216 pop/pop_lib.c:234 ++#: pop/pop.c:216 pop/pop_lib.c:259 + msgid "Command TOP is not supported by server" + msgstr "Kommandoen TOP understøttes ikke af server" + +@@ -6224,7 +6302,7 @@ msgstr "Kommandoen TOP understøttes ikke af server" + msgid "Can't write header to temporary file" + msgstr "Kan ikke skrive brevhoved til midlertidig fil" + +-#: pop/pop.c:420 pop/pop_lib.c:236 ++#: pop/pop.c:420 pop/pop_lib.c:261 + msgid "Command UIDL is not supported by server" + msgstr "Kommandoen UIDL er ikke understøttet af server" + +@@ -6239,7 +6317,7 @@ msgstr[1] "%d breve er gået tabt. Prøv at genåbne brevbakken." + msgid "POP host is not defined" + msgstr "Ingen POP-server er defineret" + +-#: pop/pop.c:596 pop/pop.c:825 ++#: pop/pop.c:596 pop/pop.c:790 pop/pop.c:820 + #, c-format + msgid "%s is an invalid POP path" + msgstr "%s er en ugyldig POP-sti" +@@ -6272,153 +6350,153 @@ msgid_plural "%s [%d of %d messages read]" + msgstr[0] "%s [%d af %d breve læst]" + msgstr[1] "%s [%d af %d breve læst]" + +-#: pop/pop.c:876 ++#: pop/pop.c:871 + msgid "Fetching list of messages..." + msgstr "Henter liste over breve ..." + +-#: pop/pop.c:959 ++#: pop/pop.c:954 + msgid "Marking messages deleted..." + msgstr "Giver breve slettemarkering ..." + +-#: pop/pop.c:1150 ++#: pop/pop.c:1145 + msgid "Can't write message to temporary file" + msgstr "Kan ikke skrive brev til midlertidig fil" + +-#: pop/pop_auth.c:103 ++#: pop/pop_auth.c:104 + msgid "Authenticating (SASL)..." + msgstr "Godkender (SASL) ..." + +-#: pop/pop_auth.c:245 ++#: pop/pop_auth.c:246 + msgid "POP timestamp is invalid" + msgstr "POP-tidsstempel er ugyldigt" + +-#: pop/pop_auth.c:249 ++#: pop/pop_auth.c:250 + msgid "Authenticating (APOP)..." + msgstr "Godkender (APOP) ..." + +-#: pop/pop_auth.c:269 ++#: pop/pop_auth.c:270 + msgid "APOP authentication failed" + msgstr "APOP-godkendelse slog fejl" + +-#: pop/pop_auth.c:309 ++#: pop/pop_auth.c:310 + msgid "Command USER is not supported by server" + msgstr "Kommandoen USER er ikke understøttet af server" + +-#: pop/pop_auth.c:386 ++#: pop/pop_auth.c:387 + #, fuzzy + msgid "Authentication failed" + msgstr "SASL-godkendelse fejlede" + +-#: pop/pop_lib.c:78 ++#: pop/pop_lib.c:103 + #, c-format + msgid "Invalid POP URL: %s" + msgstr "Ugyldig POP-URL: %s" + +-#: pop/pop_lib.c:232 ++#: pop/pop_lib.c:257 + msgid "Unable to leave messages on server" + msgstr "Kunne ikke efterlade breve på server" + +-#: pop/pop_lib.c:274 ++#: pop/pop_lib.c:300 + #, c-format + msgid "Error connecting to server: %s" + msgstr "Fejl under forbindelse til server: %s" + +-#: pop/pop_lib.c:414 ++#: pop/pop_lib.c:440 + msgid "Closing connection to POP server..." + msgstr "Lukker forbindelsen til POP-server ..." + +-#: pop/pop_lib.c:605 ++#: pop/pop_lib.c:631 + msgid "Verifying message indexes..." + msgstr "Efterkontrollerer brevfortegnelser ..." + +-#: pop/pop_lib.c:628 ++#: pop/pop_lib.c:654 + msgid "Connection lost. Reconnect to POP server?" + msgstr "Mistede forbindelsen. Opret ny forbindelse til POP-server?" + +-#: postpone.c:229 ++#: postpone.c:260 + msgid "Postponed Messages" + msgstr "Tilbageholdte breve" + +-#: postpone.c:314 postpone.c:326 ++#: postpone.c:348 postpone.c:372 + msgid "No postponed messages" + msgstr "Ingen tilbageholdte breve" + +-#: postpone.c:480 ++#: postpone.c:526 + msgid "Illegal S/MIME header" + msgstr "Ugyldig S/MIME-header" + +-#: postpone.c:510 postpone.c:551 postpone.c:560 ++#: postpone.c:556 postpone.c:597 postpone.c:606 + msgid "Illegal crypto header" + msgstr "Ugyldig crypto-header" + +-#: postpone.c:644 postpone.c:752 postpone.c:780 ++#: postpone.c:690 postpone.c:798 postpone.c:826 + msgid "Decrypting message..." + msgstr "Dekrypterer brev ..." + +-#: query.c:82 ++#: query.c:80 + msgid "New Query" + msgstr "Ny forespørgsel" + +-#: query.c:83 ++#: query.c:81 + msgid "Make Alias" + msgstr "Opret alias" + +-#: query.c:180 ++#: query.c:178 + msgid "Waiting for response..." + msgstr "Venter på svar ..." + +-#: query.c:362 query.c:400 ++#: query.c:365 query.c:434 + msgid "Query: " + msgstr "Forespørgsel: " + +-#: query.c:370 query.c:407 ++#: query.c:374 query.c:442 + #, c-format + msgid "Query '%s'" + msgstr "Forespørgsel: '%s'" + +-#: query.c:620 query.c:657 ++#: query.c:661 query.c:698 + msgid "Query command not defined" + msgstr "Ingen forespørgsels-kommando defineret" + +-#: recvattach.c:93 ++#: recvattach.c:91 + msgid "Pipe" + msgstr "Overfør til program" + +-#: recvattach.c:94 ++#: recvattach.c:92 + msgid "Print" + msgstr "Udskriv" + +-#: recvattach.c:569 ++#: recvattach.c:571 + msgid "Saving..." + msgstr "Gemmer ..." + +-#: recvattach.c:573 recvattach.c:744 recvattach.c:748 ++#: recvattach.c:575 recvattach.c:746 recvattach.c:750 + #, fuzzy, c-format + msgid "Attachment saved" + msgid_plural "%d attachments saved" + msgstr[0] "Bilag gemt" + msgstr[1] "Bilag gemt" + +-#: recvattach.c:772 ++#: recvattach.c:774 + #, c-format + msgid "WARNING! You are about to overwrite %s, continue?" + msgstr "ADVARSEL! Fil %s findes, overskriv?" + +-#: recvattach.c:790 ++#: recvattach.c:792 + msgid "Attachment filtered" + msgstr "Brevdel filtreret" + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Filter through: " + msgstr "Filtrér gennem: " + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Pipe to: " + msgstr "Overfør til kommando (pipe): " + + #. L10N: s gets replaced by a MIME type, e.g. "text/plain" or + #. application/octet-stream. +-#: recvattach.c:935 ++#: recvattach.c:937 + #, c-format + msgid "I don't know how to print %s attachments" + msgstr "Jeg ved ikke hvordan man udskriver %s-brevdele" +@@ -6426,56 +6504,56 @@ msgstr "Jeg ved ikke hvordan man udskriver %s-brevdele" + #. L10N: Although we now the precise number of tagged messages, we + #. do not show it to the user. So feel free to use a "generic + #. plural" as plural translation if your language has one. +-#: recvattach.c:1038 ++#: recvattach.c:1040 + #, fuzzy, c-format + msgid "Print tagged attachment?" + msgid_plural "Print %d tagged attachments?" + msgstr[0] "Udskriv udvalgte brevdel(e)?" + msgstr[1] "Udskriv udvalgte brevdel(e)?" + +-#: recvattach.c:1039 ++#: recvattach.c:1041 + #, c-format + msgid "Print attachment?" + msgstr "Udskriv brevdel?" + +-#: recvattach.c:1123 ++#: recvattach.c:1125 + msgid "Structural changes to decrypted attachments are not supported" + msgstr "Strukturelle ændringer i dekrypterede bilag understøttes ikke" + +-#: recvattach.c:1291 ++#: recvattach.c:1293 + msgid "Can't decrypt encrypted message" + msgstr "Kan ikke dekryptere krypteret brev" + +-#: recvattach.c:1425 ++#: recvattach.c:1457 + msgid "Attachments" + msgstr "Brevdele" + +-#: recvattach.c:1465 ++#: recvattach.c:1497 + msgid "There are no subparts to show" + msgstr "Der er ingen underdele at vise" + +-#: recvattach.c:1520 ++#: recvattach.c:1552 + msgid "Can't delete attachment from POP server" + msgstr "Kan ikke slette bilag fra POP-server" + +-#: recvattach.c:1529 ++#: recvattach.c:1561 + #, fuzzy + msgid "Can't delete attachment from news server" + msgstr "Kan ikke slette bilag fra POP-server" + +-#: recvattach.c:1536 ++#: recvattach.c:1568 + msgid "Deletion of attachments from encrypted messages is unsupported" + msgstr "Sletning af brevdele fra krypterede breve er ikke understøttet" + +-#: recvattach.c:1542 ++#: recvattach.c:1574 + msgid "Deletion of attachments from signed messages may invalidate the signature" + msgstr "Sletning af brevdele fra underskrevne breve kan gøre underskriften ugyldig" + +-#: recvattach.c:1561 recvattach.c:1578 ++#: recvattach.c:1593 recvattach.c:1610 + msgid "Only deletion of multipart attachments is supported" + msgstr "Sletning af brevdele fra udelte breve er ikke understøttet" + +-#: recvcmd.c:79 ++#: recvcmd.c:78 + msgid "You may only bounce message/rfc822 parts" + msgstr "Du kan kun gensende message/rfc822-brevdele" + +@@ -6512,7 +6590,7 @@ msgstr "Kan ikke oprette %s" + msgid "Can't find any tagged messages" + msgstr "Kan ikke finde nogen udvalgte breve" + +-#: recvcmd.c:848 send.c:1073 ++#: recvcmd.c:848 send.c:1072 + msgid "No mailing lists found" + msgstr "Ingen postlister fundet" + +@@ -6527,67 +6605,67 @@ msgstr "Kan ikke afkode alle udvalgte brevdele. MIME-indkapsl de øvrige?" + msgid "You may only compose to sender with message/rfc822 parts" + msgstr "Du kan kun gensende message/rfc822-brevdele" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Append" + msgstr "Tilføj" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Insert" + msgstr "Indsæt" + +-#: remailer.c:78 ++#: remailer.c:76 + msgid "OK" + msgstr "OK" + +-#: remailer.c:210 ++#: remailer.c:207 + msgid "" + msgstr "" + +-#: remailer.c:586 ++#: remailer.c:617 + msgid "Can't get mixmaster's type2.list" + msgstr "Kan ikke hente mixmasters type2.liste" + +-#: remailer.c:612 ++#: remailer.c:673 + msgid "Select a remailer chain" + msgstr "Vælg en genposterkæde" + +-#: remailer.c:674 ++#: remailer.c:735 + #, c-format + msgid "Error: %s can't be used as the final remailer of a chain" + msgstr "Fejl: %s kan ikke være sidste led i kæden" + + #. L10N The '%d' here hard-coded to 19 +-#: remailer.c:706 ++#: remailer.c:767 + #, c-format + msgid "Mixmaster chains are limited to %d elements" + msgstr "Kæden må højst have %d led" + +-#: remailer.c:729 ++#: remailer.c:790 + msgid "The remailer chain is already empty" + msgstr "Genposterkæden er allerede tom" + +-#: remailer.c:739 ++#: remailer.c:800 + msgid "You already have the first chain element selected" + msgstr "Du har allerede valgt kædens første led" + +-#: remailer.c:749 ++#: remailer.c:810 + msgid "You already have the last chain element selected" + msgstr "Du har allerede valgt kædens sidste led" + +-#: remailer.c:792 ++#: remailer.c:856 + msgid "Mixmaster doesn't accept Cc or Bcc headers" + msgstr "Breve sendt med Mixmaster må ikke have Cc- eller Bcc-felter" + +-#: remailer.c:817 ++#: remailer.c:881 + msgid "Please set the hostname variable to a proper value when using mixmaster" + msgstr "Sæt hostname-variablen til en passende værdi ved brug af mixmaster" + +-#: remailer.c:860 ++#: remailer.c:924 + #, c-format + msgid "Error sending message, child exited %d.\n" + msgstr "Fejl ved afsendelse af brev, afslutningskode fra barneproces: %d.\n" + +-#: remailer.c:864 ++#: remailer.c:928 + msgid "Error sending message" + msgstr "Fejl ved afsendelse af brev" + +@@ -6617,41 +6695,41 @@ msgstr "Videresend bilag?" + + #. L10N: Asks whether the user respects the reply-to header. + #. If she says no, neomutt will reply to the from header's address instead. +-#: send.c:793 ++#: send.c:792 + #, c-format + msgid "Reply to %s%s?" + msgstr "Svar til %s%s?" + +-#: send.c:838 ++#: send.c:837 + #, c-format + msgid "Follow-up to %s%s?" + msgstr "Opfølg til %s%s?" + +-#: send.c:1122 ++#: send.c:1121 + msgid "Include message in reply?" + msgstr "Citér brevet i svar?" + +-#: send.c:1128 ++#: send.c:1127 + msgid "Including quoted message..." + msgstr "Inkluderer citeret brev ..." + +-#: send.c:1137 ++#: send.c:1136 + msgid "Could not include all requested messages" + msgstr "Kunne ikke citere alle ønskede breve" + +-#: send.c:1148 ++#: send.c:1147 + msgid "Forward as attachment?" + msgstr "Videresend som bilag?" + +-#: send.c:1153 ++#: send.c:1152 + msgid "Preparing forwarded message..." + msgstr "Forbereder brev til videresendelse ..." + +-#: send.c:1632 ++#: send.c:1631 + msgid "Fcc to an IMAP mailbox is not supported in batch mode" + msgstr "Fcc til en IMAP-brevbakke understøttes ikke i batch-tilstand" + +-#: send.c:1664 send.c:1690 ++#: send.c:1665 send.c:1675 send.c:1701 + msgid "Save attachments in Fcc?" + msgstr "Gem bilag i Fcc?" + +@@ -6659,195 +6737,195 @@ msgstr "Gem bilag i Fcc?" + #. (r)etry tries the same mailbox again. + #. alternate (m)ailbox prompts for a different mailbox to try. + #. (s)kip aborts saving. +-#: send.c:1712 ++#: send.c:1723 + msgid "Fcc failed. (r)etry, alternate (m)ailbox, or (s)kip?" + msgstr "Fcc fejlede. forsøg (i)gen, alternativ (b)revbakke, eller (a)fbryd? " + + #. L10N: These correspond to the "Fcc failed" multi-choice prompt + #. (r)etry, alternate (m)ailbox, or (s)kip. + #. Any similarity to famous leaders of the FSF is coincidental. +-#: send.c:1716 ++#: send.c:1727 + msgid "rms" + msgstr "iba" + + #. L10N: This is the prompt to enter an "alternate (m)ailbox" when the + #. initial Fcc fails. +-#: send.c:1722 ++#: send.c:1733 + msgid "Fcc mailbox" + msgstr "Fcc-brevbakke" + +-#: send.c:1788 ++#: send.c:1799 + msgid "Can't postpone. $postponed is unset" + msgstr "Kan ikke udsætte. Variablen $postponed er ikke sat" + +-#: send.c:1923 ++#: send.c:1934 + msgid "Recall postponed message?" + msgstr "Genindlæs tilbageholdt brev?" + +-#: send.c:2228 ++#: send.c:2239 + msgid "Edit forwarded message?" + msgstr "Redigér brev før videresendelse?" + +-#: send.c:2266 ++#: send.c:2277 + msgid "Abort unmodified message?" + msgstr "Annullér uændret brev?" + +-#: send.c:2268 ++#: send.c:2279 + msgid "Aborted unmodified message" + msgstr "Annullerede uændret brev" + +-#: send.c:2388 ++#: send.c:2399 + msgid "No crypto backend configured. Disabling message security setting." + msgstr "Ingen krypteringsressource er konfigureret. Deaktiverer brevets sikkerhedsindstilling." + +-#: send.c:2427 ++#: send.c:2438 + #, fuzzy + msgid "Article not posted" + msgstr "Brev ikke sendt" + +-#: send.c:2437 ++#: send.c:2448 + msgid "Message postponed" + msgstr "Brev tilbageholdt" + +-#: send.c:2470 ++#: send.c:2481 + msgid "No subject, abort sending?" + msgstr "Intet emne, undlad at sende?" + +-#: send.c:2474 send.c:2480 ++#: send.c:2485 send.c:2491 + msgid "No subject specified" + msgstr "Intet emne er angivet" + +-#: send.c:2486 ++#: send.c:2497 + #, fuzzy + msgid "No newsgroup specified" + msgstr "Intet emne er angivet" + +-#: send.c:2496 ++#: send.c:2507 + #, fuzzy + msgid "No attachments, cancel sending?" + msgstr "ret brevdelens indkodning" + +-#: send.c:2501 ++#: send.c:2512 + msgid "Message contains text matching \"$abort_noattach_regex\". Not sending." + msgstr "" + +-#: send.c:2559 smtp.c:227 ++#: send.c:2570 smtp.c:230 + msgid "Sending message..." + msgstr "Sender brev ..." + +-#: send.c:2598 ++#: send.c:2609 + msgid "Could not send the message" + msgstr "Kunne ikke sende brevet" + +-#: send.c:2608 ++#: send.c:2619 + msgid "Sending in background" + msgstr "Sender i baggrunden" + +-#: send.c:2609 ++#: send.c:2620 + msgid "Article posted" + msgstr "" + +-#: send.c:2610 ++#: send.c:2621 + msgid "Mail sent" + msgstr "Brev sendt" + +-#: sendlib.c:567 ++#: sendlib.c:566 + msgid "No boundary parameter found [report this error]" + msgstr "Fandt ingen \"boundary\"-parameter [rapportér denne fejl]" + +-#: sendlib.c:598 ++#: sendlib.c:597 + #, c-format + msgid "%s no longer exists" + msgstr "%s eksisterer ikke mere" + +-#: sendlib.c:1056 ++#: sendlib.c:1055 + #, c-format + msgid "%s isn't a regular file" + msgstr "%s er ikke en almindelig fil" + +-#: sendlib.c:1223 ++#: sendlib.c:1222 + #, fuzzy + msgid "Could not find any mime.types file." + msgstr "Kunne ikke sende brevet." + +-#: sendlib.c:1314 ++#: sendlib.c:1313 + #, c-format + msgid "Could not open %s" + msgstr "Kunne ikke åbne %s" + +-#: sendlib.c:2864 ++#: sendlib.c:2855 + msgid "$sendmail must be set in order to send mail" + msgstr "$sendmail skal sættes for at sende post" + +-#: sendlib.c:2971 ++#: sendlib.c:2962 + #, c-format + msgid "Error sending message, child exited %d (%s)" + msgstr "Fejl %d under afsendelse af brev (%s)" + +-#: sendlib.c:2977 ++#: sendlib.c:2969 + msgid "Output of the delivery process" + msgstr "Uddata fra leveringsprocessen" + +-#: sendlib.c:3157 ++#: sendlib.c:3154 + #, c-format + msgid "Bad IDN %s while preparing resent-from" + msgstr "Forkert IDN %s under forberedelse af af \"Resent-From\"-felt" + +-#: smtp.c:165 ++#: smtp.c:168 + #, c-format + msgid "SMTP session failed: %s" + msgstr "SMTP-session fejlede: %s" + +-#: smtp.c:222 ++#: smtp.c:225 + #, c-format + msgid "SMTP session failed: unable to open %s" + msgstr "SMTP-session fejlede: kunne ikke åbne %s" + +-#: smtp.c:339 ++#: smtp.c:364 + #, c-format + msgid "Invalid SMTP URL: %s" + msgstr "Ugyldig SMTP-URL: %s" + +-#: smtp.c:618 ++#: smtp.c:643 + #, c-format + msgid "SMTP authentication method %s requires SASL" + msgstr "" + +-#: smtp.c:625 ++#: smtp.c:650 + #, c-format + msgid "%s authentication failed, trying next method" + msgstr "%s-godkendelse fejlede, prøver næste metode" + +-#: smtp.c:636 ++#: smtp.c:661 + #, fuzzy + msgid "SMTP authentication requires SASL" + msgstr "GSSAPI-godkendelse slog fejl" + +-#: smtp.c:717 ++#: smtp.c:742 + msgid "SMTP server does not support authentication" + msgstr "SMTP-server understøtter ikke godkendelse" + +-#: smtp.c:756 ++#: smtp.c:781 + msgid "No from address given" + msgstr "Afsenderadresse ikke anført" + +-#: smtp.c:821 ++#: smtp.c:846 + msgid "SMTP session failed: read error" + msgstr "SMTP-session fejlede: læsningsfejl" + +-#: smtp.c:823 ++#: smtp.c:848 + msgid "SMTP session failed: write error" + msgstr "SMTP-session fejlede: skrivningsfejl" + +-#: smtp.c:825 ++#: smtp.c:850 + msgid "Invalid server response" + msgstr "Ugyldigt svar fra server" + +-#: sort.c:385 ++#: sort.c:387 + msgid "Sorting mailbox..." + msgstr "Sorterer brevbakke ..." + +-#: sort.c:427 ++#: sort.c:429 + msgid "Could not find sorting function [report this bug]" + msgstr "Kunne ikke finde sorteringsfunktion [rapportér denne fejl]" + +@@ -6915,11 +6993,71 @@ msgstr "" + "NeoMutt er et frit program, og du er velkommen til at redistribuere det\n" + "under visse betingelser; tast 'neomutt -vv' for detaljer.\n" + +-#: version.c:446 ++#: version.c:451 + #, fuzzy + msgid "Default options:" + msgstr "Tilvalg ved oversættelsen:" + +-#: version.c:449 ++#: version.c:454 + msgid "Compile options:" + msgstr "Tilvalg ved oversættelsen:" ++ ++#~ msgid "Autocrypt account creation aborted." ++#~ msgstr "Oprettelse af autocrypt-konto afbrudt." ++ ++#~ msgid "No (valid) autocrypt key found for %s." ++#~ msgstr "Fandt ikke nogen (gyldig) autocrypt-nøgle til %s." ++ ++#~ msgid "Error creating autocrypt key: %s\n" ++#~ msgstr "Fejl ved oprettelse af autocrypt-nøgle: %s\n" ++ ++#~ msgid "(c)reate new, or (s)elect existing GPG key? " ++#~ msgstr "(o)pret ny, eller (v)ælg eksisterende GPG-nøgle? " ++ ++#~ msgid "Autocrypt: (e)ncrypt, (c)lear, (a)utomatic? " ++#~ msgstr "Autocrypt: (k)ryptér, (r)yd, (a)utomatisk? " ++ ++#~ msgid "$send_multipart_alternative_filter is not set" ++#~ msgstr "$send_multipart_alternative_filter er ikke indstillet" ++ ++#~ msgid "Cannot mark message(s) as read" ++#~ msgstr "Kan ikke markere breve som læst" ++ ++#~ msgid "OAUTHBEARER authentication failed." ++#~ msgstr "OAUTHBEARER-godkendelse slog fejl." ++ ++#~ msgid "Lock count exceeded, remove lock for %s?" ++#~ msgstr "Fil blokeret af gammel lås. Fjern låsen på %s?" ++ ++#~ msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, or (c)lear? " ++#~ msgstr "PGP (k)ryptér, (u)nderskriv, underskriv (s)om, (b)egge, %s-format, r(y)d?" ++ ++#~ msgid "Generate multipart/alternative content?" ++#~ msgstr "Generér \"multipart/alternative\"-indhold?" ++ ++#~ msgid "Missing mime type from output of \"%s\"!" ++#~ msgstr "Manglende mime-type fra uddata af \"%s\"!" ++ ++#~ msgid "Missing blank line separator from output of \"%s\"!" ++#~ msgstr "Adskillelsesmarkering ved tom linje mangler fra uddata af \"%s\"!" ++ ++#~ msgid "$send_multipart_alternative_filter does not support multipart type generation." ++#~ msgstr "$send_multipart_alternative_filter understøtter ikke generering af multipart-type." ++ ++#~ msgid "Bad IDN %s while preparing resent-from." ++#~ msgstr "Forkert IDN %s under forberedelse af \"Resent-From\"-felt." ++ ++#~ msgid "view multipart/alternative" ++#~ msgstr "vis multipart/alternative" ++ ++#~ msgid "view multipart/alternative as text" ++#~ msgstr "vis multipart/alternative som tekst" ++ ++#~ msgid "view multipart/alternative using mailcap" ++#~ msgstr "vis multipart/alternative ved brug af mailcap" ++ ++#~ msgid "select a new mailbox from the browser" ++#~ msgstr "vælg en ny brevbakke fra katalogbrowseren" ++ ++#~ msgid "select a new mailbox from the browser in read only mode" ++#~ msgstr "åbn en ny brevbakke i skrivebeskyttet tilstand fra katalogbrowseren" +diff --git a/po/de.po b/po/de.po +index 33fa2a449..b28f9c44a 100644 +--- a/po/de.po ++++ b/po/de.po +@@ -14,7 +14,7 @@ msgid "" + msgstr "" + "Project-Id-Version: neomutt-2019-12-07\n" + "Report-Msgid-Bugs-To: neomutt-devel@neomutt.org\n" +-"POT-Creation-Date: 2019-12-06 23:10+0000\n" ++"POT-Creation-Date: 2020-03-09 12:15+0000\n" + "PO-Revision-Date: 2019-10-31 06:24+0100\n" + "Last-Translator: André Berger \n" + "Language-Team: none\n" +@@ -25,16 +25,40 @@ msgstr "" + "Plural-Forms: nplurals=2; plural=(n != 1);\n" + "X-Generator: Poedit 2.2.4\n" + +-#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:59 browser.c:80 browser.c:90 +-#: mutt_history.c:45 pager.c:228 postpone.c:68 query.c:80 recvattach.c:93 ++msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" ++msgstr "(z)urückweisen, (e)inmal akzeptieren, (i)mmer akzeptieren, über(g)ehen" ++ ++msgid "roas" ++msgstr "zeig" ++ ++msgid "(r)eject, accept (o)nce, (a)ccept always" ++msgstr "(z)urückweisen, (e)inmal akzeptieren, (i)mmer akzeptieren" ++ ++msgid "roa" ++msgstr "zei" ++ ++msgid "(r)eject, accept (o)nce, (s)kip" ++msgstr "(z)urückweisen, (e)inmal akzeptieren, über(g)ehen" ++ ++msgid "ros" ++msgstr "zeg" ++ ++msgid "(r)eject, accept (o)nce" ++msgstr "(z)urückweisen, (e)inmal akzeptieren" ++ ++msgid "ro" ++msgstr "ze" ++ ++#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:58 browser.c:79 browser.c:89 ++#: mutt_history.c:45 pager.c:220 postpone.c:68 query.c:78 recvattach.c:91 + msgid "Exit" + msgstr "Verlassen" + +-#: addrbook.c:56 index.c:116 index.c:129 pager.c:236 pager.c:246 postpone.c:69 ++#: addrbook.c:56 index.c:112 index.c:125 pager.c:228 pager.c:238 postpone.c:69 + msgid "Del" + msgstr "Entf" + +-#: addrbook.c:57 index.c:117 index.c:130 postpone.c:70 ++#: addrbook.c:57 index.c:113 index.c:126 postpone.c:70 + msgid "Undel" + msgstr "Behalten" + +@@ -42,18 +66,18 @@ msgstr "Behalten" + msgid "Select" + msgstr "Auswählen" + +-#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:82 browser.c:84 browser.c:96 +-#: compose.c:218 compose.c:230 conn/ssl.c:983 conn/ssl_gnutls.c:691 index.c:122 +-#: index.c:135 mutt_history.c:48 ncrypt/crypt_gpgme.c:4735 ncrypt/pgpkey.c:670 +-#: ncrypt/smime.c:553 pager.c:2326 postpone.c:71 query.c:85 recvattach.c:94 ++#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:81 browser.c:83 browser.c:95 ++#: compose.c:216 compose.c:228 conn/ssl.c:996 conn/ssl_gnutls.c:722 index.c:118 ++#: index.c:131 mutt_history.c:48 ncrypt/crypt_gpgme.c:4783 ncrypt/pgpkey.c:673 ++#: ncrypt/smime.c:555 pager.c:2297 postpone.c:71 query.c:83 recvattach.c:92 + msgid "Help" + msgstr "Hilfe" + +-#: addrbook.c:208 ++#: addrbook.c:238 + msgid "You have no aliases" + msgstr "Keine Kurznamen vorhanden" + +-#: addrbook.c:215 ++#: addrbook.c:276 + msgid "Aliases" + msgstr "Kurznamen" + +@@ -62,51 +86,51 @@ msgstr "Kurznamen" + msgid "Alias as: " + msgstr "Kurzname anlegen: " + +-#: alias.c:411 ++#: alias.c:414 + msgid "You already have an alias defined with that name" + msgstr "Dieser Kurzname wird bereits verwendet" + +-#: alias.c:417 ++#: alias.c:420 + msgid "Warning: This alias name may not work. Fix it?" + msgstr "Warnung: Dieser Kurzname könnte Probleme bereiten. Korrigieren?" + +-#: alias.c:442 ++#: alias.c:445 + msgid "Address: " + msgstr "Adresse: " + +-#: alias.c:453 commands.c:444 compose.c:744 conn/conn_raw.c:152 +-#: conn/conn_raw.c:210 recvcmd.c:232 send.c:228 ++#: alias.c:457 commands.c:450 compose.c:743 conn/conn_raw.c:152 ++#: conn/conn_raw.c:210 recvcmd.c:231 send.c:227 + #, c-format + msgid "Bad IDN: '%s'" + msgstr "Ungültige IDN: '%s'" + +-#: alias.c:464 ++#: alias.c:468 + msgid "Personal name: " + msgstr "Ihr Name: " + +-#: alias.c:473 ++#: alias.c:477 + #, c-format + msgid "[%s = %s] Accept?" + msgstr "[%s = %s] Akzeptieren?" + +-#: alias.c:484 recvattach.c:528 recvattach.c:550 recvattach.c:564 +-#: recvattach.c:579 recvattach.c:678 ++#: alias.c:488 recvattach.c:530 recvattach.c:552 recvattach.c:566 ++#: recvattach.c:581 recvattach.c:680 + msgid "Save to file: " + msgstr "Speichern in Datei: " + +-#: alias.c:503 ++#: alias.c:507 + msgid "Error reading alias file" + msgstr "Fehler beim Lesen der Kurznamendatei" + +-#: alias.c:525 ++#: alias.c:529 + msgid "Trouble adding alias" + msgstr "Problem bei Hinzufügen des Kurznamens" + +-#: alias.c:527 ++#: alias.c:531 + msgid "Alias added" + msgstr "Kurzname eingetragen" + +-#: alias.c:532 ++#: alias.c:536 + msgid "Error seeking in alias file" + msgstr "Fehler bei der Suche in Kurznamendatei" + +@@ -115,7 +139,7 @@ msgstr "Fehler bei der Suche in Kurznamendatei" + #. for some reason (e.g. autocrypt, header cache, bcache), but it + #. doesn't exist. The prompt is asking whether to create the directory + #. +-#: autocrypt/autocrypt.c:70 main.c:826 ++#: autocrypt/autocrypt.c:70 main.c:757 + #, c-format + msgid "%s does not exist. Create it?" + msgstr "%s existiert nicht. Neu anlegen?" +@@ -124,8 +148,8 @@ msgstr "%s existiert nicht. Neu anlegen?" + #. mkdir() on the directory %s failed. The second %s is the + #. error message returned by libc + #. +-#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:830 +-#: nntp/newsrc.c:1069 ++#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:761 ++#: nntp/newsrc.c:1098 + #, c-format + msgid "Can't create %s: %s" + msgstr "Kann %s nicht anlegen: %s" +@@ -135,7 +159,7 @@ msgstr "Kann %s nicht anlegen: %s" + #. create $autocrypt_dir and then prompt to create an autocrypt + #. account with this message. + #. +-#: autocrypt/autocrypt.c:156 ++#: autocrypt/autocrypt.c:163 + msgid "Create an initial autocrypt account?" + msgstr "Ersten Autocrypt-Account erstellen?" + +@@ -144,7 +168,7 @@ msgstr "Ersten Autocrypt-Account erstellen?" + #. autocrypt account. This will generate a key and add a record + #. to the database for use in autocrypt operations. + #. +-#: autocrypt/autocrypt.c:180 ++#: autocrypt/autocrypt.c:187 + msgid "Autocrypt account address: " + msgstr "Autocrypt-Account-Adresse: " + +@@ -153,7 +177,7 @@ msgstr "Autocrypt-Account-Adresse: " + #. a single address. This is shown if they entered something invalid, + #. nothing, or more than one address for some reason. + #. +-#: autocrypt/autocrypt.c:191 ++#: autocrypt/autocrypt.c:198 + msgid "Please enter a single email address" + msgstr "Bitte eine einzelne E-Mail-Adresse eingeben" + +@@ -162,7 +186,7 @@ msgstr "Bitte eine einzelne E-Mail-Adresse eingeben" + #. if there is already an account in the database with the email address + #. they just entered. + #. +-#: autocrypt/autocrypt.c:208 ++#: autocrypt/autocrypt.c:215 + msgid "That email address already has an autocrypt account" + msgstr "Diese E-Mail-Adresse hat bereits einen Autocrypt-Account" + +@@ -174,14 +198,14 @@ msgstr "Diese E-Mail-Adresse hat bereits einen Autocrypt-Account" + #. Otherwise the UI will show encryption is "available" but the user + #. will be required to enable encryption manually. + #. +-#: autocrypt/autocrypt.c:223 ++#: autocrypt/autocrypt.c:230 + msgid "Prefer encryption?" + msgstr "Verschlüsselung bevorzugen?" + + #. L10N: + #. Message displayed after an autocrypt account is successfully created. + #. +-#: autocrypt/autocrypt.c:236 ++#: autocrypt/autocrypt.c:243 + msgid "Autocrypt account creation succeeded" + msgstr "Autocrypt-Account-Erstellung erfolgreich" + +@@ -189,7 +213,7 @@ msgstr "Autocrypt-Account-Erstellung erfolgreich" + #. Error message displayed if creating an autocrypt account failed + #. or was aborted by the user. + #. +-#: autocrypt/autocrypt.c:242 ++#: autocrypt/autocrypt.c:249 + msgid "Autocrypt account creation aborted" + msgstr "Autocrypt-Account-Erstellung abgebrochen" + +@@ -198,7 +222,7 @@ msgstr "Autocrypt-Account-Erstellung abgebrochen" + #. to use to encrypt, but it can't find a valid keyid for this address. + #. The message is printed and they are returned to the compose menu. + #. +-#: autocrypt/autocrypt.c:610 autocrypt/autocrypt.c:639 ++#: autocrypt/autocrypt.c:617 autocrypt/autocrypt.c:646 + #, c-format + msgid "No (valid) autocrypt key found for %s" + msgstr "Kein (gültiges) Autocrypt-Zertifikat für %s gefunden" +@@ -210,12 +234,12 @@ msgstr "Kein (gültiges) Autocrypt-Zertifikat für %s gefunden" + #. and used for encryption. + #. If this is answered yes, they will be prompted for a mailbox. + #. +-#: autocrypt/autocrypt.c:903 ++#: autocrypt/autocrypt.c:910 + msgid "Scan a mailbox for autocrypt headers?" + msgstr "Mailbox nach Autocrypt-Headers durchsuchen?" + + #. L10N: The prompt for a mailbox to scan for Autocrypt: headers +-#: autocrypt/autocrypt.c:907 ++#: autocrypt/autocrypt.c:914 + msgid "Scan mailbox" + msgstr "Durchsuche Mailbox" + +@@ -226,21 +250,21 @@ msgstr "Durchsuche Mailbox" + #. for a mailbox. This is because this is a one-time operation + #. and I don't want them to accidentally ctrl-g and abort it. + #. +-#: autocrypt/autocrypt.c:927 ++#: autocrypt/autocrypt.c:934 + msgid "Scan another mailbox for autocrypt headers?" + msgstr "Weitere Mailbox nach Autocrypt-Headers durchsuchen?" + + #. L10N: Autocrypt Account Menu Help line: + #. create new account + #. +-#: autocrypt/autocrypt_acct_menu.c:63 ++#: autocrypt/autocrypt_acct_menu.c:62 + msgid "Create" + msgstr "Erstelle" + + #. L10N: Autocrypt Account Menu Help line: + #. delete account + #. +-#: autocrypt/autocrypt_acct_menu.c:67 remailer.c:77 ++#: autocrypt/autocrypt_acct_menu.c:66 remailer.c:75 + msgid "Delete" + msgstr "Löschen" + +@@ -248,9 +272,9 @@ msgstr "Löschen" + #. toggle an account active/inactive + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:74 ++#: autocrypt/autocrypt_acct_menu.c:73 + msgid "Tgl Active" + msgstr "AktiviergSetzen" + +@@ -258,17 +282,17 @@ msgstr "AktiviergSetzen" + #. toggle "prefer-encrypt" on an account + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:81 +-msgid "Prf Enc" ++#: autocrypt/autocrypt_acct_menu.c:80 ++msgid "Prf Encr" + msgstr "BevorzCodierg" + + #. L10N: + #. Autocrypt Account menu. + #. flag that an account has prefer-encrypt set + #. +-#: autocrypt/autocrypt_acct_menu.c:123 ++#: autocrypt/autocrypt_acct_menu.c:122 + msgid "prefer encrypt" + msgstr "Verschlüsselung bevorzugen" + +@@ -277,7 +301,7 @@ msgstr "Verschlüsselung bevorzugen" + #. flag that an account has prefer-encrypt unset; + #. thus encryption will need to be manually enabled. + #. +-#: autocrypt/autocrypt_acct_menu.c:130 ++#: autocrypt/autocrypt_acct_menu.c:129 + msgid "manual encrypt" + msgstr "manuell verschlüsseln" + +@@ -285,7 +309,7 @@ msgstr "manuell verschlüsseln" + #. Autocrypt Account menu. + #. flag that an account is enabled/active + #. +-#: autocrypt/autocrypt_acct_menu.c:138 ++#: autocrypt/autocrypt_acct_menu.c:137 + msgid "active" + msgstr "aktiv" + +@@ -293,12 +317,12 @@ msgstr "aktiv" + #. Autocrypt Account menu. + #. flag that an account is disabled/inactive + #. +-#: autocrypt/autocrypt_acct_menu.c:144 ++#: autocrypt/autocrypt_acct_menu.c:143 + msgid "inactive" + msgstr "inaktiv" + + #. L10N: Autocrypt Account Management Menu title +-#: autocrypt/autocrypt_acct_menu.c:183 ++#: autocrypt/autocrypt_acct_menu.c:182 + msgid "Autocrypt Accounts" + msgstr "Autocrypt-Accounts" + +@@ -306,12 +330,12 @@ msgstr "Autocrypt-Accounts" + #. This error message is displayed if a database update of an + #. account record fails for some odd reason. + #. +-#: autocrypt/autocrypt_acct_menu.c:245 autocrypt/autocrypt_acct_menu.c:259 ++#: autocrypt/autocrypt_acct_menu.c:244 autocrypt/autocrypt_acct_menu.c:258 + msgid "Error updating account record" + msgstr "Fehler bei der Aktualisierung des Account-Eintrags" + + #. L10N: Confirmation message when deleting an autocrypt account +-#: autocrypt/autocrypt_acct_menu.c:302 ++#: autocrypt/autocrypt_acct_menu.c:333 + #, c-format + msgid "Really delete account \"%s\"?" + msgstr "Account \"%s\" wirklich löschen?" +@@ -329,7 +353,7 @@ msgstr "Account \"%s\" wirklich löschen?" + msgid "Unable to open autocrypt database %s" + msgstr "Kann Autocrypt-Datenbank %s nicht öffnen" + +-#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:774 ++#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:773 + #, c-format + msgid "error creating gpgme context: %s" + msgstr "Fehler beim Erzeugen des GPGME-Kontexts: %s" +@@ -402,469 +426,581 @@ msgstr "Die Version der Autocrypt-Datenbank zu hoch" + msgid "Message cache isn't a directory: %s" + msgstr "Nachrichten-Cache ist kein Verzeichnis %s" + +-#: browser.c:81 ++#: browser.c:80 + msgid "Chdir" + msgstr "Verzeichnis" + +-#: browser.c:82 ++#: browser.c:81 + msgid "Goto" + msgstr "Gehe zu" + +-#: browser.c:83 browser.c:95 ++#: browser.c:82 browser.c:94 + msgid "Mask" + msgstr "Maske" + +-#: browser.c:91 ++#: browser.c:90 + msgid "List" + msgstr "Liste" + +-#: browser.c:92 ++#: browser.c:91 + msgid "Subscribe" + msgstr "Abonnieren" + +-#: browser.c:93 ++#: browser.c:92 + msgid "Unsubscribe" + msgstr "Abbestellen" + +-#: browser.c:94 index.c:134 ++#: browser.c:93 index.c:130 + msgid "Catchup" + msgstr "Newsgroup als gelesen markieren" + +-#: browser.c:760 browser.c:1519 browser.c:1758 ++#: browser.c:763 browser.c:1584 browser.c:1825 + #, c-format + msgid "%s is not a directory" + msgstr "%s ist kein Verzeichnis" + +-#: browser.c:1025 ++#: browser.c:1028 + #, c-format + msgid "Subscribed newsgroups" + msgstr "Abonnierte Newsgroups" + +-#: browser.c:1028 ++#: browser.c:1031 + #, c-format + msgid "Newsgroups on server [%s]" + msgstr "Newsgroups auf Server [%s]" + +-#: browser.c:1038 ++#: browser.c:1041 + #, c-format + msgid "Mailboxes [%d]" + msgstr "Mailbox-Dateien [%d]" + +-#: browser.c:1050 ++#: browser.c:1053 + #, c-format + msgid "Subscribed [%s], File mask: %s" + msgstr "Abonniert [%s], Dateimaske: %s" + +-#: browser.c:1056 ++#: browser.c:1059 + #, c-format + msgid "Directory [%s], File mask: %s" + msgstr "Verzeichnis [%s], Dateimaske: %s" + +-#: browser.c:1113 ++#: browser.c:1116 + msgid "Can't attach a directory" + msgstr "Verzeichnisse können nicht angehängt werden" + +-#: browser.c:1380 browser.c:1814 browser.c:1959 ++#: browser.c:1445 browser.c:1881 browser.c:2026 + msgid "No files match the file mask" + msgstr "Es gibt keine zur Maske passenden Dateien" + +-#: browser.c:1587 ++#: browser.c:1654 + msgid "Create is only supported for IMAP mailboxes" + msgstr "Es können nur IMAP-Mailboxen erzeugt werden" + +-#: browser.c:1609 ++#: browser.c:1676 + msgid "Rename is only supported for IMAP mailboxes" + msgstr "Es können nur IMAP-Mailboxen umbenannt werden" + +-#: browser.c:1630 ++#: browser.c:1697 + msgid "Delete is only supported for IMAP mailboxes" + msgstr "Es können nur IMAP-Mailboxen gelöscht werden" + +-#: browser.c:1642 ++#: browser.c:1709 + msgid "Can't delete currently selected mailbox" + msgstr "Kann derzeit ausgewählte Mailbox nicht löschen" + +-#: browser.c:1646 ++#: browser.c:1713 + #, c-format + msgid "Really delete mailbox \"%s\"?" + msgstr "Mailbox \"%s\" wirklich löschen?" + +-#: browser.c:1663 ++#: browser.c:1730 + msgid "Mailbox deleted" + msgstr "Mailbox gelöscht" + +-#: browser.c:1667 ++#: browser.c:1734 + msgid "Mailbox deletion failed" + msgstr "Mailbox konnte nicht gelöscht werden" + +-#: browser.c:1670 ++#: browser.c:1737 + msgid "Mailbox not deleted" + msgstr "Mailbox nicht gelöscht" + +-#: browser.c:1697 ++#: browser.c:1764 + msgid "Chdir to: " + msgstr "Verzeichnis wechseln nach: " + +-#: browser.c:1747 browser.c:1808 ++#: browser.c:1814 browser.c:1875 + msgid "Error scanning directory" + msgstr "Fehler beim Einlesen des Verzeichnisses" + +-#: browser.c:1769 ++#: browser.c:1836 + msgid "File Mask: " + msgstr "Dateimaske: " + + #. L10N: The highlighted letters must match the "Sort" options +-#: browser.c:1831 ++#: browser.c:1898 + msgid "Reverse sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "Sortiere umgekehrt nach (d)atum, (a)lphabet, (g)röße, (b)eschreibung, an(z)ahl, anzahl (n)euer nachr., oder n(i)cht?" + + #. L10N: The highlighted letters must match the "Reverse Sort" options +-#: browser.c:1834 ++#: browser.c:1901 + msgid "Sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "Sortiere nach (d)atum, (a)lphabet, (g)röße, (b)eschreibung, an(z)ahl, anzahl (n)euer nachr., oder n(i)cht?" + + #. L10N: These must match the highlighted letters from "Sort" and "Reverse Sort" +-#: browser.c:1837 ++#: browser.c:1904 + msgid "dazecwn" + msgstr "dagbzni" + +-#: browser.c:1948 ++#: browser.c:2015 + msgid "New file name: " + msgstr "Neuer Dateiname: " + +-#: browser.c:1976 ++#: browser.c:2043 + msgid "Can't view a directory" + msgstr "Verzeichnis kann nicht angezeigt werden" + +-#: browser.c:1993 ++#: browser.c:2060 + msgid "Error trying to view file" + msgstr "Fehler bei der Anzeige einer Datei" + +-#: browser.c:2079 ++#: browser.c:2146 + #, c-format + msgid "Subscribe pattern: " + msgstr "Abonnieren mittels Muster: " + +-#: browser.c:2081 ++#: browser.c:2148 + #, c-format + msgid "Unsubscribe pattern: " + msgstr "Abbestellen mittels Muster: " + +-#: browser.c:2101 ++#: browser.c:2169 + msgid "No newsgroups match the mask" + msgstr "Es gibt keine zur Maske passenden Newsgroups" + +-#: color.c:633 color.c:644 +-#, c-format +-msgid "%s: color not supported by term" +-msgstr "%s: Farbe wird vom Terminal nicht unterstützt" +- +-#: color.c:652 +-#, c-format +-msgid "%s: no such color" +-msgstr "%s: Farbe unbekannt" +- +-#: color.c:717 color.c:740 color.c:751 color.c:842 +-#, c-format +-msgid "%s: no such object" +-msgstr "%s: Objekt unbekannt" +- +-#: color.c:731 color.c:868 color.c:1069 color.c:1098 color.c:1122 color.c:1191 +-#: color.c:1214 hook.c:110 hook.c:124 hook.c:367 hook.c:383 init.c:612 +-#: init.c:620 init.c:709 init.c:1099 init.c:1267 init.c:1871 init.c:1929 +-#: keymap.c:1184 score.c:110 +-#, c-format +-msgid "%s: too few arguments" +-msgstr "%s: Zu wenige Parameter" +- +-#: color.c:1142 +-#, c-format +-msgid "%s: no such attribute" +-msgstr "%s: Attribut unbekannt" +- +-#: color.c:1223 color.c:1329 hook.c:131 hook.c:390 init.c:1123 init.c:2133 +-#: init.c:2611 keymap.c:1116 keymap.c:1289 keymap.c:1442 keymap.c:1506 +-#: mutt_lua.c:483 score.c:119 +-#, c-format +-msgid "%s: too many arguments" +-msgstr "%s: Zu viele Parameter" +- +-#: color.c:1244 +-msgid "default colors not supported" +-msgstr "Standardfarben werden nicht unterstützt" +- +-#: color.c:1282 +-#, c-format +-msgid "Maximum quoting level is %d" +-msgstr "Die maximale Antwortebene ist %d" +- +-#: color.c:1319 +-#, c-format +-msgid "%s: invalid number: %s" +-msgstr "%s: ungültige Zahl: %s" +- + #. L10N: Used for the $crypt_verify_sig prompt +-#: commands.c:230 ++#: commands.c:232 + msgid "Verify signature?" + msgstr "Signatur überprüfen?" + +-#: commands.c:257 mbox/mbox.c:1236 ++#: commands.c:259 mbox/mbox.c:1236 + msgid "Could not create temporary file" + msgstr "Kann keine Temporärdatei erzeugen" + +-#: commands.c:269 ++#: commands.c:271 + msgid "Can't create display filter" + msgstr "Kann Filter zum Anzeigen nicht erzeugen" + +-#: commands.c:302 ++#: commands.c:304 + msgid "Could not copy message" + msgstr "Konnte Nachricht nicht kopieren" + +-#: commands.c:338 ++#: commands.c:340 + msgid "S/MIME signature successfully verified" + msgstr "S/MIME-Unterschrift erfolgreich überprüft" + +-#: commands.c:340 ++#: commands.c:342 + msgid "S/MIME certificate owner does not match sender" + msgstr "S/MIME-Zertifikatinhaber stimmt nicht mit Absender überein" + +-#: commands.c:343 commands.c:353 ++#: commands.c:345 commands.c:355 + msgid "Warning: Part of this message has not been signed" + msgstr "Warnung: Ein Teil dieser Nachricht wurde nicht signiert" + +-#: commands.c:345 ++#: commands.c:347 + msgid "S/MIME signature could NOT be verified" + msgstr "S/MIME-Unterschrift konnte NICHT überprüft werden" + +-#: commands.c:351 ++#: commands.c:353 + msgid "PGP signature successfully verified" + msgstr "PGP-Unterschrift erfolgreich überprüft" + +-#: commands.c:355 ++#: commands.c:357 + msgid "PGP signature could NOT be verified" + msgstr "PGP-Unterschrift konnte NICHT überprüft werden" + +-#: commands.c:372 compose.c:2116 compress.c:321 curs_lib.c:359 curs_lib.c:646 +-#: index.c:1235 index.c:1285 mutt_attach.c:159 mutt_attach.c:292 pager.c:2460 +-#: sendlib.c:1625 ++#: commands.c:378 compose.c:2187 compress/compress.c:320 gui/curs_lib.c:360 ++#: gui/curs_lib.c:714 index.c:1240 index.c:1290 mutt_attach.c:161 ++#: mutt_attach.c:294 pager.c:2433 sendlib.c:1624 + #, c-format + msgid "Error running \"%s\"" + msgstr "Fehler beim Ausführen von \"%s\"" + +-#: commands.c:382 ++#: commands.c:388 + msgid "Command: " + msgstr "Kommando: " + +-#: commands.c:419 recvcmd.c:191 recvcmd.c:203 ++#: commands.c:425 recvcmd.c:190 recvcmd.c:202 + msgid "Warning: message contains no From: header" + msgstr "Warnung: Nachricht enthält keine From: Kopfzeile" + +-#: commands.c:425 recvcmd.c:212 ++#: commands.c:431 recvcmd.c:211 + msgid "Bounce message to: " + msgstr "Nachricht neu versenden an: " + +-#: commands.c:427 recvcmd.c:214 ++#: commands.c:433 recvcmd.c:213 + msgid "Bounce tagged messages to: " + msgstr "Markierte Nachrichten neu versenden an: " + +-#: commands.c:436 recvcmd.c:224 ++#: commands.c:442 recvcmd.c:223 + msgid "Error parsing address" + msgstr "Unverständliche Adresse" + +-#: commands.c:455 recvcmd.c:243 ++#: commands.c:461 recvcmd.c:242 + #, c-format + msgid "Bounce message to %s?" + msgid_plural "Bounce messages to %s?" + msgstr[0] "Nachricht neu an %s versenden?" + msgstr[1] "Nachrichten neu an %s versenden?" + +-#: commands.c:470 recvcmd.c:257 ++#: commands.c:476 recvcmd.c:257 + msgid "Message not bounced" + msgid_plural "Messages not bounced" + msgstr[0] "Nachricht nicht neu versandt" + msgstr[1] "Nachrichten nicht neu versandt" + +-#: commands.c:496 recvcmd.c:276 ++#: commands.c:502 recvcmd.c:276 + msgid "Message bounced" + msgid_plural "Messages bounced" + msgstr[0] "Nachricht neu versandt" + msgstr[1] "Nachrichten neu versandt" + +-#: commands.c:606 commands.c:642 commands.c:662 ++#: commands.c:612 commands.c:648 commands.c:668 + msgid "Can't create filter process" + msgstr "Kann Filterprozess nicht erzeugen" + +-#: commands.c:698 ++#: commands.c:704 + msgid "Pipe to command: " + msgstr "In Kommando einspeisen: " + +-#: commands.c:720 ++#: commands.c:726 + msgid "No printing command has been defined" + msgstr "Kein Druckkommando definiert" + +-#: commands.c:732 ++#: commands.c:738 + msgid "Print message?" + msgstr "Nachricht drucken?" + +-#: commands.c:733 ++#: commands.c:739 + msgid "Print tagged messages?" + msgstr "Ausgewählte Nachrichten drucken?" + +-#: commands.c:739 ++#: commands.c:745 + msgid "Message printed" + msgid_plural "Messages printed" + msgstr[0] "Nachricht gedruckt" + msgstr[1] "Nachrichten gedruckt" + +-#: commands.c:742 ++#: commands.c:748 + msgid "Message could not be printed" + msgid_plural "Messages could not be printed" + msgstr[0] "Nachricht konnte nicht gedruckt werden" + msgstr[1] "Nachrichten konnten nicht gedruckt werden" + + #. L10N: The highlighted letters must match the "Sort" options +-#: commands.c:759 ++#: commands.c:765 + msgid "Rev-Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "Umgekehrt sortieren (d)atum/(a)bs./ei(n)g./(b)etr./(e)mpf./(f)aden/(u)nsort./(g)röße/be(w)ert./s(p)am/e(t)ikett?" + + #. L10N: The highlighted letters must match the "Rev-Sort" options +-#: commands.c:763 ++#: commands.c:769 + msgid "Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "Sortieren (d)atum/(a)bs./ei(n)g./(b)etr./(e)mpf/(f)aden/(u)nsort./(g)röße/be(w)ert./s(p)am/e(t)ikett?" + + #. L10N: These must match the highlighted letters from "Sort" and "Rev-Sort" +-#: commands.c:767 ++#: commands.c:773 + msgid "dfrsotuzcpl" + msgstr "danbefugwpt" + +-#: commands.c:831 ++#: commands.c:837 + msgid "Shell command: " + msgstr "Shell-Kommando: " + +-#: commands.c:1036 ++#: commands.c:1042 + msgid "Decode-save to mailbox" + msgstr "Speichere dekodiert in Mailbox" + +-#: commands.c:1036 ++#: commands.c:1042 + msgid "Decode-save tagged to mailbox" + msgstr "Speichere ausgewählte dekodiert in Mailbox" + +-#: commands.c:1038 ++#: commands.c:1044 + msgid "Decrypt-save to mailbox" + msgstr "Speichere entschlüsselt in Mailbox" + +-#: commands.c:1038 ++#: commands.c:1044 + msgid "Decrypt-save tagged to mailbox" + msgstr "Speichere ausgewählte entschlüsselt in Mailbox" + +-#: commands.c:1040 ++#: commands.c:1046 + msgid "Save to mailbox" + msgstr "Speichere in Mailbox" + +-#: commands.c:1040 ++#: commands.c:1046 + msgid "Save tagged to mailbox" + msgstr "Speichere ausgewählte in Mailbox" + +-#: commands.c:1045 ++#: commands.c:1051 + msgid "Decode-copy to mailbox" + msgstr "Kopiere dekodiert in Mailbox" + +-#: commands.c:1045 ++#: commands.c:1051 + msgid "Decode-copy tagged to mailbox" + msgstr "Kopiere ausgewählte dekodiert in Mailbox" + +-#: commands.c:1047 ++#: commands.c:1053 + msgid "Decrypt-copy to mailbox" + msgstr "Kopiere entschlüsselt in Mailbox" + +-#: commands.c:1047 ++#: commands.c:1053 + msgid "Decrypt-copy tagged to mailbox" + msgstr "Kopiere ausgewählte entschlüsselt in Mailbox" + +-#: commands.c:1049 ++#: commands.c:1055 + msgid "Copy to mailbox" + msgstr "Kopiere in Mailbox" + +-#: commands.c:1049 ++#: commands.c:1055 + msgid "Copy tagged to mailbox" + msgstr "Kopiere ausgewählte in Mailbox" + +-#: commands.c:1092 ++#: commands.c:1098 + #, c-format + msgid "Copying to %s..." + msgstr "Kopiere nach %s..." + + #. L10N: e.g. "text/plain; charset=UTF-8; ..." +-#: commands.c:1257 ++#: commands.c:1263 + msgid "Content type is too long" + msgstr "Content-Type ist zu lang" + +-#: commands.c:1281 ++#: commands.c:1290 + #, c-format + msgid "Convert to %s upon sending?" + msgstr "Konvertiere beim Senden nach %s?" + +-#: commands.c:1292 ++#: commands.c:1301 + #, c-format + msgid "Content-Type changed to %s" + msgstr "Content-Type in %s abgeändert" + +-#: commands.c:1297 ++#: commands.c:1306 + #, c-format + msgid "Character set changed to %s; not converting" + msgstr "Zeichensatz in %s abgeändert; nicht konvertiert" + +-#: commands.c:1298 ++#: commands.c:1307 + #, c-format + msgid "Character set changed to %s; converting" + msgstr "Zeichensatz in %s abgeändert; konvertiert" + +-#: compose.c:99 ++#: command_parse.c:83 command_parse.c:211 command_parse.c:219 ++#: command_parse.c:740 command_parse.c:887 command_parse.c:1491 ++#: command_parse.c:1549 gui/color.c:731 gui/color.c:868 gui/color.c:1069 ++#: gui/color.c:1098 gui/color.c:1122 gui/color.c:1191 gui/color.c:1214 ++#: hook.c:110 hook.c:124 hook.c:372 hook.c:388 keymap.c:1182 score.c:110 ++#, c-format ++msgid "%s: too few arguments" ++msgstr "%s: Zu wenige Parameter" ++ ++#: command_parse.c:394 ++msgid "-group: no group name" ++msgstr "-group: Kein Gruppen Name" ++ ++#: command_parse.c:404 ++msgid "out of arguments" ++msgstr "Zu wenige Parameter" ++ ++#: command_parse.c:445 command_parse.c:1372 ++#, c-format ++msgid "Error: Can't build path of '%s'" ++msgstr "Fehler: Es gibt keinen Pfad zu '%s'" ++ ++#: command_parse.c:458 ++#, c-format ++msgid "Error: Cyclic sourcing of configuration file '%s'" ++msgstr "Fehler: Endlosschleife beim Einlesen der Konfigurationsdatei '%s'" ++ ++#: command_parse.c:491 ++#, c-format ++msgid "Error in %s, line %d: %s" ++msgstr "Fehler in %s, Zeile %d: %s" ++ ++#: command_parse.c:502 ++#, c-format ++msgid "Warning in %s, line %d: %s" ++msgstr "Warnung in %s, Zeile %d: %s" ++ ++#: command_parse.c:526 ++#, c-format ++msgid "source: errors in %s" ++msgstr "source: Fehler in %s" ++ ++#: command_parse.c:526 ++#, c-format ++msgid "source: reading aborted due to too many errors in %s" ++msgstr "source: Lesevorgang abgebrochen, zu viele Fehler in %s" ++ ++#: command_parse.c:535 ++#, c-format ++msgid "source: %d warning in %s" ++msgid_plural "source: %d warnings in %s" ++msgstr[0] "source: %d Warnung in %s" ++msgstr[1] "source: %d Warnungen in %s" ++ ++#: command_parse.c:564 ++msgid "alias: no address" ++msgstr "Kurzname: fehlende Adresse" ++ ++#: command_parse.c:606 ++#, c-format ++msgid "Warning: Bad IDN '%s' in alias '%s'" ++msgstr "Warnung: Ungültige IDN '%s' in Kurzname '%s'" ++ ++#: command_parse.c:684 ++msgid "attachments: no disposition" ++msgstr "attachments: keine Disposition" ++ ++#: command_parse.c:695 ++msgid "Current attachments settings:" ++msgstr "Aktuelle Einstellung für Anhänge:" ++ ++#: command_parse.c:725 ++msgid "attachments: invalid disposition" ++msgstr "attachments: ungültige disposition" ++ ++#: command_parse.c:764 command_parse.c:1753 command_parse.c:2205 ++#: gui/color.c:1223 gui/color.c:1329 hook.c:131 hook.c:395 keymap.c:1114 ++#: keymap.c:1287 keymap.c:1440 keymap.c:1504 mutt_lua.c:485 score.c:119 ++#, c-format ++msgid "%s: too many arguments" ++msgstr "%s: Zu viele Parameter" ++ ++#: command_parse.c:801 ++#, c-format ++msgid "%sgroup: missing -rx or -addr" ++msgstr "%sgroup: Es fehlt -rx oder -addr" ++ ++#: command_parse.c:827 ++#, c-format ++msgid "%sgroup: warning: bad IDN '%s'" ++msgstr "%sgroup: Warnung: Ungültige IDN '%s'" ++ ++#: command_parse.c:898 ++#, c-format ++msgid "Error: %s" ++msgstr "Fehler: %s" ++ ++#: command_parse.c:1065 ++msgid "invalid header field" ++msgstr "Ungültiges Kopffeld" ++ ++#: command_parse.c:1331 command_parse.c:1435 ++#, c-format ++msgid "%s: unknown variable" ++msgstr "%s: unbekannte Variable" ++ ++#: command_parse.c:1528 ++#, c-format ++msgid "%s is unset" ++msgstr "%s ist nicht gesetzt" ++ ++#: command_parse.c:1573 mutt_lua.c:480 ++#, c-format ++msgid "source: error at %s" ++msgstr "source: Fehler bei %s" ++ ++#: command_parse.c:1581 ++#, c-format ++msgid "source: file %s could not be sourced" ++msgstr "source: Datei %s konnte nicht eingelesen werden" ++ ++#: command_parse.c:1604 ++msgid "spam: no matching pattern" ++msgstr "Spam: kein passendes Muster" ++ ++#: command_parse.c:1606 ++msgid "nospam: no matching pattern" ++msgstr "nospam: kein passendes Muster" ++ ++#: command_parse.c:1762 imap/imap.c:1443 ++#, c-format ++msgid "Subscribed to %s" ++msgstr "Abonniere %s" ++ ++#: command_parse.c:1766 ++#, c-format ++msgid "Could not subscribe to %s" ++msgstr "Konnte %s nicht abonnieren" ++ ++#: command_parse.c:1774 command_parse.c:2226 ++msgid "No folder specified" ++msgstr "Kein Ordner angegeben" ++ ++#: command_parse.c:1943 ++msgid "unattachments: no disposition" ++msgstr "unattachments: keine Disposition" ++ ++#: command_parse.c:1981 ++msgid "unattachments: invalid disposition" ++msgstr "unattachments: ungültige disposition" ++ ++#: command_parse.c:2214 imap/imap.c:1445 ++#, c-format ++msgid "Unsubscribed from %s" ++msgstr "Abonnement von %s abbestellt" ++ ++#: command_parse.c:2218 ++#, c-format ++msgid "Could not unsubscribe from %s" ++msgstr "Konnte Abonnement von %s nicht abbestellen" ++ ++#: compose.c:97 + msgid "There are no attachments" + msgstr "Es sind keine Anhänge vorhanden" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:166 ++#: compose.c:164 + msgid "From: " + msgstr "Von: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:168 send.c:284 ++#: compose.c:166 send.c:284 + msgid "To: " + msgstr "An: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:170 send.c:286 ++#: compose.c:168 send.c:286 + msgid "Cc: " + msgstr "Kopie an: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:172 send.c:288 ++#: compose.c:170 send.c:288 + msgid "Bcc: " + msgstr "Blindkopie an: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:174 compose.c:1242 send.c:320 ++#: compose.c:172 compose.c:1302 send.c:320 + msgid "Subject: " + msgstr "Betreff: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:176 ++#: compose.c:174 + msgid "Reply-To: " + msgstr "Antw. an: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:178 compose.c:1261 ++#: compose.c:176 compose.c:1321 + msgid "Fcc: " + msgstr "Fcc speichern in: " + + #. L10N: "Mix" refers to the MixMaster chain for anonymous email +-#: compose.c:181 ++#: compose.c:179 + msgid "Mix: " + msgstr "Mix(Master): " + + #. L10N: Compose menu field. Holds "Encrypt", "Sign" related information +-#: compose.c:184 ++#: compose.c:182 + msgid "Security: " + msgstr "Sicherheit: " + +@@ -875,75 +1011,75 @@ msgstr "Sicherheit: " + #. it should not be longer than the other compose menu fields. + #. Since it shares the row with "Encrypt with:", it should not be longer + #. than 15-20 character cells. +-#: compose.c:192 ncrypt/crypt_gpgme.c:5602 ncrypt/pgp.c:1974 +-#: ncrypt/smime.c:2395 ++#: compose.c:190 ncrypt/crypt_gpgme.c:5682 ncrypt/pgp.c:1976 ++#: ncrypt/smime.c:2429 + msgid "Sign as: " + msgstr "Signiere als: " + + #. L10N: The compose menu autocrypt line +-#: compose.c:195 ++#: compose.c:193 + msgid "Autocrypt: " + msgstr "Autocrypt: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:199 ++#: compose.c:197 + msgid "Newsgroups: " + msgstr "Newsgroups: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:201 ++#: compose.c:199 + msgid "Followup-To: " + msgstr "Antworte an: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:203 ++#: compose.c:201 + msgid "X-Comment-To: " + msgstr "X-Comment-To: " + +-#: compose.c:208 compose.c:224 ++#: compose.c:206 compose.c:222 + msgid "Send" + msgstr "Absenden" + +-#: compose.c:209 compose.c:225 remailer.c:77 ++#: compose.c:207 compose.c:223 remailer.c:75 + msgid "Abort" + msgstr "Verwerfen" + + #. L10N: compose menu help line entry +-#: compose.c:211 ++#: compose.c:209 + msgid "To" + msgstr "An" + + #. L10N: compose menu help line entry +-#: compose.c:213 ++#: compose.c:211 + msgid "CC" + msgstr "Kopie" + + #. L10N: compose menu help line entry +-#: compose.c:215 compose.c:227 ++#: compose.c:213 compose.c:225 + msgid "Subj" + msgstr "Betr" + +-#: compose.c:216 compose.c:228 compose.c:1556 ++#: compose.c:214 compose.c:226 compose.c:1616 + msgid "Attach file" + msgstr "Datei anhängen" + +-#: compose.c:217 compose.c:229 ++#: compose.c:215 compose.c:227 + msgid "Descrip" + msgstr "Beschr" + +-#: compose.c:226 ++#: compose.c:224 + msgid "Newsgroups" + msgstr "Newsgroups" + + #. L10N: Autocrypt recommendation flag: off. + #. * This is displayed when Autocrypt is turned off. +-#: compose.c:239 compose.c:473 ++#: compose.c:237 compose.c:472 + msgid "Off" + msgstr "Aus" + + #. L10N: Autocrypt recommendation flag: no. + #. * This is displayed when Autocrypt cannot encrypt to the recipients. +-#: compose.c:242 ++#: compose.c:240 + msgid "No" + msgstr "Nein" + +@@ -951,7 +1087,7 @@ msgstr "Nein" + #. * This is displayed when Autocrypt believes encryption should not be used. + #. * This might occur if one of the recipient Autocrypt Keys has not been + #. * used recently, or if the only key available is a Gossip Header key. +-#: compose.c:247 ++#: compose.c:245 + msgid "Discouraged" + msgstr "Abgeraten" + +@@ -959,14 +1095,14 @@ msgstr "Abgeraten" + #. * This is displayed when Autocrypt believes encryption is possible, but + #. * leaves enabling it up to the sender. Probably because "prefer encrypt" + #. * is not set in both the sender and recipient keys. +-#: compose.c:252 ++#: compose.c:250 + msgid "Available" + msgstr "Verfügbar" + + #. L10N: Autocrypt recommendation flag: yes. + #. * This is displayed when Autocrypt would normally enable encryption + #. * automatically. +-#: compose.c:256 ++#: compose.c:254 + msgid "Yes" + msgstr "Ja" + +@@ -976,7 +1112,7 @@ msgstr "Ja" + #. (c)lear sets cleartext. + #. (a)utomatic defers to the recommendation. + #. +-#: compose.c:338 ++#: compose.c:337 + msgid "Autocrypt: (e)ncrypt, (c)lear, (a)utomatic?" + msgstr "Autocrypt: (v)erchlüsseln, (e)ntfernen, (a)utomatisch?" + +@@ -984,51 +1120,51 @@ msgstr "Autocrypt: (v)erchlüsseln, (e)ntfernen, (a)utomatisch?" + #. The letter corresponding to the compose menu autocrypt prompt + #. (e)ncrypt, (c)lear, (a)utomatic + #. +-#: compose.c:346 ++#: compose.c:345 + msgid "eca" + msgstr "vea" + +-#: compose.c:383 ++#: compose.c:382 + msgid "Not supported" + msgstr "Nicht unterstützt" + +-#: compose.c:390 ++#: compose.c:389 + msgid "Sign, Encrypt" + msgstr "Signieren, Verschlüsseln" + +-#: compose.c:395 compose.c:468 ++#: compose.c:394 compose.c:467 + msgid "Encrypt" + msgstr "Verschlüsseln" + +-#: compose.c:400 ++#: compose.c:399 + msgid "Sign" + msgstr "Signieren" + +-#: compose.c:406 ++#: compose.c:405 + msgid "None" + msgstr "Keine" + +-#: compose.c:415 ++#: compose.c:414 + msgid " (inline PGP)" + msgstr " (Inline-PGP)" + +-#: compose.c:417 ++#: compose.c:416 + msgid " (PGP/MIME)" + msgstr " (PGP/MIME)" + +-#: compose.c:420 ++#: compose.c:419 + msgid " (S/MIME)" + msgstr " (S/MIME)" + +-#: compose.c:424 ++#: compose.c:423 + msgid " (OppEnc mode)" + msgstr " (OppEnc-Modus)" + +-#: compose.c:436 compose.c:445 ++#: compose.c:435 compose.c:444 + msgid "" + msgstr "" + +-#: compose.c:452 ++#: compose.c:451 + msgid "Encrypt with: " + msgstr "Verschlüsseln mit: " + +@@ -1037,11 +1173,11 @@ msgstr "Verschlüsseln mit: " + #. Displays the output of the recommendation engine + #. (Off, No, Discouraged, Available, Yes) + #. +-#: compose.c:483 ++#: compose.c:482 + msgid "Recommendation: " + msgstr "Empfehlung: " + +-#: compose.c:547 ++#: compose.c:546 + msgid "" + msgstr "" + +@@ -1052,7 +1188,7 @@ msgstr "" + #. The filename is located last to avoid a long path hiding the + #. error message. + #. +-#: compose.c:601 ++#: compose.c:600 + #, c-format + msgid "Attachment #%d no longer exists: %s" + msgstr "Anhang #%d existiert nicht mehr: %s" +@@ -1064,232 +1200,351 @@ msgstr "Anhang #%d existiert nicht mehr: %s" + #. The filename is located last to avoid a long path hiding the + #. prompt question. + #. +-#: compose.c:621 ++#: compose.c:620 + #, c-format + msgid "Attachment #%d modified. Update encoding for %s?" + msgstr "Anhang #%d wurde verändert. Kodierung für %s anpassen?" + +-#: compose.c:716 ++#: compose.c:715 + msgid "-- Attachments" + msgstr "-- Anhänge" + +-#: compose.c:770 ++#: compose.c:769 + msgid "You may not delete the only attachment" + msgstr "Der alleinige Nachrichtenteil kann nicht gelöscht werden" + +-#: compose.c:1296 edit.c:538 send.c:2462 ++#: compose.c:1356 edit.c:536 send.c:2473 + #, c-format + msgid "Bad IDN in '%s': '%s'" + msgstr "Ungültige IDN in '%s': '%s'" + +-#: compose.c:1347 ++#: compose.c:1407 + msgid "Attachment is already at top" + msgstr "Anhang befindet sich bereits am Anfang" + +-#: compose.c:1352 compose.c:1368 ++#: compose.c:1412 compose.c:1428 + msgid "The fundamental part can't be moved" + msgstr "Ein wesentlicher Teil kann nicht verschoben werden" + +-#: compose.c:1363 ++#: compose.c:1423 + msgid "Attachment is already at bottom" + msgstr "Anhang befindet sich bereits am Ende" + +-#: compose.c:1381 ++#: compose.c:1441 + msgid "Grouping 'alternatives' requires at least 2 tagged messages" + msgstr "Gruppierung von 'multipart/alternative' erfordert wenigstens zwei markierte Nachrichten" + +-#: compose.c:1462 ++#: compose.c:1522 + msgid "Grouping 'multilingual' requires at least 2 tagged messages" + msgstr "Gruppierung von 'multipart/multilingual' erfordert wenigstens zwei markierte Nachrichten" + +-#: compose.c:1475 ++#: compose.c:1535 + msgid "Not all parts have 'Content-Language' set, continue?" + msgstr "Nicht alle Teile haben 'Content-Language' gesetzt, dennoch fortfahren?" + +-#: compose.c:1477 ++#: compose.c:1537 + msgid "Not sending this message" + msgstr "Diese Nachricht wurde nicht versandt" + +-#: compose.c:1571 ++#: compose.c:1631 + msgid "Attaching selected file..." + msgid_plural "Attaching selected files..." + msgstr[0] "Hänge ausgewählte Datei an..." + msgstr[1] "Hänge ausgewählte Dateien an..." + +-#: compose.c:1585 ++#: compose.c:1645 + #, c-format + msgid "Unable to attach %s" + msgstr "Kann %s nicht anhängen" + +-#: compose.c:1606 ++#: compose.c:1666 + msgid "Open mailbox to attach message from" + msgstr "Öffne Mailbox, aus der angehängt werden soll" + +-#: compose.c:1616 ++#: compose.c:1676 + msgid "Open newsgroup to attach message from" + msgstr "Öffne Newsgroup, aus der angehängt werden soll" + +-#: compose.c:1667 ++#: compose.c:1730 + #, c-format + msgid "Unable to open mailbox %s" + msgstr "Kann Mailbox %s nicht öffnen" + +-#: compose.c:1676 ++#: compose.c:1739 + msgid "No messages in that folder" + msgstr "Keine Nachrichten in dieser Mailbox" + +-#: compose.c:1686 ++#: compose.c:1749 + msgid "Tag the messages you want to attach" + msgstr "Bitte die Nachrichten markieren, die angehängt werden sollen" + +-#: compose.c:1715 ++#: compose.c:1785 + msgid "Unable to attach" + msgstr "Kann das nicht anhängen" + +-#: compose.c:1752 ++#: compose.c:1822 + msgid "Recoding only affects text attachments" + msgstr "Ändern der Kodierung betrifft nur Textanhänge" + +-#: compose.c:1757 ++#: compose.c:1827 + msgid "The current attachment won't be converted" + msgstr "Der aktuelle Anhang wird nicht konvertiert werden" + +-#: compose.c:1759 ++#: compose.c:1829 + msgid "The current attachment will be converted" + msgstr "Der aktuelle Anhang wird konvertiert werden" + +-#: compose.c:1831 ++#: compose.c:1901 + msgid "Empty 'Content-Language'" + msgstr "Leeres 'Content-Language'-Feld" + +-#: compose.c:1849 ++#: compose.c:1920 + msgid "Invalid encoding" + msgstr "Ungültige Kodierung" + +-#: compose.c:1871 ++#: compose.c:1942 + msgid "Save a copy of this message?" + msgstr "Soll eine Kopie dieser Nachricht gespeichert werden?" + +-#: compose.c:1924 ++#: compose.c:1995 + msgid "Send attachment with name: " + msgstr "Anhang mit folgendem Name senden: " + +-#: compose.c:1939 ++#: compose.c:2010 + msgid "Rename to: " + msgstr "Umbenennen in: " + + #. L10N: "stat" is a system call. Do "man 2 stat" for more information. +-#: compose.c:1946 editmsg.c:102 editmsg.c:138 sendlib.c:1050 ++#: compose.c:2017 editmsg.c:102 editmsg.c:138 sendlib.c:1049 + #, c-format + msgid "Can't stat %s: %s" + msgstr "Kann Verzeichniseintrag für Datei %s nicht lesen: %s" + +-#: compose.c:1966 ++#: compose.c:2037 + msgid "New file: " + msgstr "Neue Datei: " + +-#: compose.c:1984 ++#: compose.c:2055 + msgid "Content-Type is of the form base/sub" + msgstr "Content-Type ist von der Art Basis-/Untertyp" + +-#: compose.c:1991 ++#: compose.c:2062 + #, c-format + msgid "Unknown Content-Type %s" + msgstr "Unbekannter Content-Type %s" + +-#: compose.c:1999 ++#: compose.c:2070 + #, c-format + msgid "Can't create file %s" + msgstr "Kann Datei %s nicht anlegen" + +-#: compose.c:2008 ++#: compose.c:2079 + msgid "What we have here is a failure to make an attachment" + msgstr "Anhang kann nicht erzeugt werden" + +-#: compose.c:2073 ++#: compose.c:2144 + msgid "Save (postpone) draft message?" + msgstr "Nachricht als Entwurf speichern?" + +-#: compose.c:2133 ++#: compose.c:2204 + msgid "Write message to mailbox" + msgstr "Schreibe Nachricht in Mailbox" + +-#: compose.c:2136 ++#: compose.c:2207 + #, c-format + msgid "Writing message to %s ..." + msgstr "Schreibe Nachricht nach %s ..." + +-#: compose.c:2143 ++#: compose.c:2214 + msgid "Message written" + msgstr "Nachricht geschrieben" + +-#: compose.c:2154 ++#: compose.c:2225 + msgid "No PGP backend configured" + msgstr "Kein PGP-Backend eingerichtet" + +-#: compose.c:2161 compose.c:2225 ++#: compose.c:2232 compose.c:2296 + msgid "S/MIME already selected. Clear and continue?" + msgstr "S/MIME bereits ausgewählt. Löschen und fortfahren?" + +-#: compose.c:2186 ++#: compose.c:2257 + msgid "No S/MIME backend configured" + msgstr "Kein S/MIME-Backend eingerichtet" + +-#: compose.c:2194 ++#: compose.c:2265 + msgid "PGP already selected. Clear and continue?" + msgstr "PGP bereits ausgewählt. Löschen und fortfahren?" + +-#: compress.c:355 compress.c:499 ++#: compress/compress.c:354 compress/compress.c:498 + #, c-format + msgid "Can't append without an append-hook or close-hook : %s" + msgstr "Kann nicht ohne append-hook oder close-hook hinzufügen : %s" + +-#: compress.c:444 compress.c:511 compress.c:590 compress.c:628 mbox/mbox.c:1208 ++#: compress/compress.c:443 compress/compress.c:510 compress/compress.c:589 ++#: compress/compress.c:627 mbox/mbox.c:1208 + msgid "Unable to lock mailbox" + msgstr "Kann Mailbox nicht für exklusiven Zugriff sperren" + +-#: compress.c:448 compress.c:518 compress.c:594 ++#: compress/compress.c:447 compress/compress.c:517 compress/compress.c:593 + #, c-format + msgid "Decompressing %s" + msgstr "Dekomprimiere %s" + +-#: compress.c:457 ++#: compress/compress.c:456 + msgid "Can't identify the contents of the compressed file" + msgstr "Kann den Inhalt der komprimierten Datei nicht bestimmen" + +-#: compress.c:464 compress.c:539 ++#: compress/compress.c:463 compress/compress.c:538 + #, c-format + msgid "Can't find mailbox ops for mailbox type %d" + msgstr "Finde keine Mailbox-Operationen (Rückruffunktionen) für Mailbox-Typ %d" + +-#: compress.c:521 ++#: compress/compress.c:520 + #, c-format + msgid "Compress command failed: %s" + msgstr "Kommando zur Komprimierung fehlgeschlagen: %s" + +-#: compress.c:532 ++#: compress/compress.c:531 + msgid "Unsupported mailbox type for appending" + msgstr "Bei diesem Mailbox-Typ ist Hinzufügen nicht möglich" + +-#: compress.c:618 ++#: compress/compress.c:617 + msgid "Can't sync a compressed file without a close-hook" + msgstr "Kann komprimierte Datei nicht ohne close-hook synchronisieren" + +-#: compress.c:640 compress.c:692 ++#: compress/compress.c:639 compress/compress.c:691 + #, c-format + msgid "Compressing %s" + msgstr "Komprimiere %s" + +-#: compress.c:687 ++#: compress/compress.c:686 + #, c-format + msgid "Compressed-appending to %s..." + msgstr "Komprimieren-und-Hinzufügen zu %s..." + +-#: compress.c:699 editmsg.c:247 ++#: compress/compress.c:698 editmsg.c:247 + #, c-format + msgid "Error. Preserving temporary file: %s" + msgstr "Fehler. Speichere Temporärdatei: %s" + ++#: config/bool.c:70 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %s" ++msgstr "Ungültiges relatives Datum: %s" ++ ++#: config/bool.c:131 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %ld" ++msgstr "Ungültiges relatives Datum: %s" ++ ++#: config/enum.c:62 ++#, fuzzy, c-format ++msgid "Invalid enum value: %s" ++msgstr "%s: ungültige Zahl: %s" ++ ++#: config/enum.c:149 ++#, fuzzy, c-format ++msgid "Invalid enum value: %ld" ++msgstr "Ungültiger Wert für Option %s: %ld" ++ ++#: config/long.c:50 ++#, fuzzy, c-format ++msgid "Invalid long: %s" ++msgstr "Ungültiger Monat: %s" ++ ++#: config/long.c:56 config/long.c:114 config/number.c:68 config/number.c:133 ++#, fuzzy, c-format ++msgid "Option %s may not be negative" ++msgstr "Option %s kann vom Pager aus weder gesetzt noch zurückgesetzt werden" ++ ++#: config/number.c:49 config/sort.c:145 config/string.c:75 config/string.c:159 ++#, fuzzy, c-format ++msgid "Option %s may not be empty" ++msgstr "Option %s kann vom Pager aus weder gesetzt noch zurückgesetzt werden" ++ ++#: config/number.c:56 ++#, fuzzy, c-format ++msgid "Invalid number: %s" ++msgstr "%s: ungültige Zahl: %s" ++ ++#: config/number.c:62 ++#, c-format ++msgid "Number is too big: %s" ++msgstr "" ++ ++#: config/number.c:127 ++#, fuzzy, c-format ++msgid "Invalid number: %ld" ++msgstr "%s: ungültige Zahl: %s" ++ ++#: config/quad.c:69 ++#, fuzzy, c-format ++msgid "Invalid quad value: %s" ++msgstr "Ungültiges relatives Datum: %s" ++ ++#: config/quad.c:133 ++#, fuzzy, c-format ++msgid "Invalid quad value: %ld" ++msgstr "Ungültiger Wert für Option %s: %ld" ++ ++#: config/set.c:102 ++#, c-format ++msgid "No such variable: %s" ++msgstr "" ++ ++#: config/set.c:134 config/set.c:821 ++#, fuzzy, c-format ++msgid "Variable '%s' has an invalid type %d" ++msgstr "Fehler: Wert '%s' ist ungültig für -d" ++ ++#: config/set.c:399 config/set.c:463 config/set.c:528 config/set.c:601 ++#: config/set.c:671 config/set.c:744 ++#, fuzzy, c-format ++msgid "Unknown variable '%s'" ++msgstr "%s: unbekannte Variable" ++ ++#: config/sort.c:192 ++#, fuzzy, c-format ++msgid "Invalid sort name: %s" ++msgstr "Ungültiges relatives Datum: %s" ++ ++#: config/sort.c:322 ++#, fuzzy, c-format ++msgid "Invalid sort type: %ld" ++msgstr "Ungültiges relatives Datum: %s" ++ ++#. L10N: Example: Username at myhost.com ++#: conn/connaccount.c:61 ++#, c-format ++msgid "Username at %s: " ++msgstr "Benutzername am %s: " ++ ++#: conn/connaccount.c:117 ++#, c-format ++msgid "Password for %s@%s: " ++msgstr "Passwort für %s@%s: " ++ ++#. L10N: You will see this error message if (1) you have "oauthbearer" in ++#. one of your $*_authenticators and (2) you do not have the corresponding ++#. $*_oauth_refresh_command defined. So the message does not mean "None of ++#. your $*_oauth_refresh_command's are defined." ++#: conn/connaccount.c:165 ++msgid "No OAUTH refresh command defined" ++msgstr "Kein OAUTH Kommando zur Aktualisierung definiert" ++ ++#: conn/connaccount.c:173 ++msgid "Unable to run refresh command" ++msgstr "Kann Kommando zur Aktualisierung nicht ausführen" ++ ++#: conn/connaccount.c:184 ++msgid "Command returned empty string" ++msgstr "Kommando gibt leere Zeichenkette zurück" ++ ++#: conn/connaccount.c:191 ++#, c-format ++msgid "OAUTH token is too big: %ld" ++msgstr "" ++ + #: conn/conn_raw.c:160 conn/conn_raw.c:218 + #, c-format + msgid "Looking up %s..." +@@ -1310,7 +1565,7 @@ msgstr "Verbinde zu %s..." + msgid "Could not connect to %s (%s)" + msgstr "Konnte keine Verbindung zu %s aufbauen (%s)" + +-#: conn/conn_raw.c:260 conn/ssl.c:1230 curs_lib.c:568 mutt_logging.c:149 ++#: conn/conn_raw.c:260 conn/ssl.c:1245 gui/curs_lib.c:569 mutt_logging.c:147 + msgid "unknown error" + msgstr "unbekannter Fehler" + +@@ -1324,23 +1579,23 @@ msgstr "Fehler bei Verbindung mit %s (%s)" + msgid "Connection to %s has been aborted" + msgstr "Verbindung zu %s wurde beendet" + +-#: conn/sasl.c:565 ++#: conn/sasl.c:547 + msgid "Unknown SASL profile" + msgstr "Unbekanntes SASL-Profil" + +-#: conn/sasl.c:598 ++#: conn/sasl.c:580 + msgid "Error allocating SASL connection" + msgstr "Fehler beim Aufbau der SASL-Verbindung" + +-#: conn/sasl.c:608 ++#: conn/sasl.c:590 + msgid "Error setting SASL security properties" + msgstr "Fehler beim Setzen der SASL-Sicherheitsparameter" + +-#: conn/sasl.c:619 ++#: conn/sasl.c:601 + msgid "Error setting SASL external security strength" + msgstr "Fehler beim Setzen der externen SASL-Sicherheitsstärke" + +-#: conn/sasl.c:629 ++#: conn/sasl.c:611 + msgid "Error setting SASL external user name" + msgstr "Fehler beim Setzen des externen SASL-Benutzernamens" + +@@ -1353,132 +1608,108 @@ msgstr "\"Preconnect\"-Kommando fehlgeschlagen" + msgid "Connection to %s closed" + msgstr "Verbindung zu %s beendet" + +-#: conn/ssl.c:237 ++#: conn/ssl.c:222 + #, c-format + msgid "Filling entropy pool: %s..." + msgstr "Sammle Entropie für Zufallsgenerator: %s..." + +-#: conn/ssl.c:243 ++#: conn/ssl.c:228 + #, c-format + msgid "%s has insecure permissions" + msgstr "%s hat unsichere Zugriffsrechte" + +-#: conn/ssl.c:385 ++#: conn/ssl.c:369 + msgid "SSL disabled due to the lack of entropy" + msgstr "SSL deaktiviert, da nicht genügend Entropie zur Verfügung steht" + +-#: conn/ssl.c:402 ++#: conn/ssl.c:386 + msgid "Unknown" + msgstr "Unbekannt" + +-#: conn/ssl.c:421 conn/ssl_gnutls.c:186 ++#: conn/ssl.c:405 conn/ssl_gnutls.c:188 + #, c-format + msgid "[unable to calculate]" + msgstr "[kann nicht berechnet werden]" + +-#: conn/ssl.c:446 ++#: conn/ssl.c:430 + msgid "[invalid date]" + msgstr "[ungültiges Datum]" + +-#: conn/ssl.c:506 ++#: conn/ssl.c:490 + msgid "Server certificate is not yet valid" + msgstr "Zertifikat des Servers ist noch nicht gültig" + +-#: conn/ssl.c:516 ++#: conn/ssl.c:500 + msgid "Server certificate has expired" + msgstr "Zertifikat des Servers ist abgelaufen" + +-#: conn/ssl.c:605 ++#: conn/ssl.c:589 + msgid "Failed to find enough entropy on your system" + msgstr "Nicht genügend Entropie auf diesem System gefunden" + +-#: conn/ssl.c:799 ++#: conn/ssl.c:783 + msgid "can't get certificate subject" + msgstr "Kann Subject-Feld des Zertifikats nicht ermitteln" + +-#: conn/ssl.c:808 conn/ssl.c:816 ++#: conn/ssl.c:792 conn/ssl.c:800 + msgid "can't get certificate common name" + msgstr "Kann \"Common Name (CN)\"-Feld des Zertifikats nicht ermitteln" + +-#: conn/ssl.c:830 ++#: conn/ssl.c:814 + #, c-format + msgid "certificate owner does not match hostname %s" + msgstr "Zertifikatinhaber stimmt nicht mit Rechnername %s überein" + +-#: conn/ssl.c:904 conn/ssl_gnutls.c:539 ++#: conn/ssl.c:917 conn/ssl_gnutls.c:570 + msgid "This certificate belongs to:" + msgstr "Dieses Zertifikat gehört zu:" + +-#: conn/ssl.c:913 conn/ssl_gnutls.c:593 ++#: conn/ssl.c:926 conn/ssl_gnutls.c:624 + msgid "This certificate was issued by:" + msgstr "Dieses Zertifikat wurde ausgegeben von:" + +-#: conn/ssl.c:922 conn/ssl_gnutls.c:604 ++#: conn/ssl.c:935 conn/ssl_gnutls.c:635 + msgid "This certificate is valid" + msgstr "Dieses Zertifikat ist gültig" + +-#: conn/ssl.c:923 conn/ssl_gnutls.c:608 ++#: conn/ssl.c:936 conn/ssl_gnutls.c:639 + #, c-format + msgid " from %s" + msgstr " von %s" + +-#: conn/ssl.c:925 conn/ssl_gnutls.c:612 ++#: conn/ssl.c:938 conn/ssl_gnutls.c:643 + #, c-format + msgid " to %s" + msgstr " an %s" + +-#: conn/ssl.c:931 conn/ssl_gnutls.c:617 ++#: conn/ssl.c:944 conn/ssl_gnutls.c:648 + #, c-format + msgid "SHA1 Fingerprint: %s" + msgstr "SHA1-Fingerabdruck: %s" + +-#: conn/ssl.c:937 conn/ssl.c:940 conn/ssl_gnutls.c:623 conn/ssl_gnutls.c:625 +-msgid "SHA256 Fingerprint: " +-msgstr "SHA256-Fingerabdruck: " +- +-#: conn/ssl.c:944 conn/ssl_gnutls.c:664 +-#, c-format +-msgid "SSL Certificate check (certificate %zu of %zu in chain)" +-msgstr "SSL-Zertifikatprüfung (Zertifikat %zu von %zu in Kette)" +- +-#. L10N: These four letters correspond to the choices in the next four strings: +-#. (r)eject, accept (o)nce, (a)ccept always, (s)kip. +-#. These prompts are the interactive certificate confirmation prompts for +-#. an OpenSSL connection. +-#: conn/ssl.c:964 +-msgid "roas" +-msgstr "zeig" +- +-#: conn/ssl.c:968 +-msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" +-msgstr "(z)urückweisen, (e)inmal akzeptieren, (i)mmer akzeptieren, über(g)ehen" +- +-#: conn/ssl.c:970 conn/ssl_gnutls.c:671 +-msgid "(r)eject, accept (o)nce, (a)ccept always" +-msgstr "(z)urückweisen, (e)inmal akzeptieren, (i)mmer akzeptieren" +- +-#: conn/ssl.c:975 +-msgid "(r)eject, accept (o)nce, (s)kip" +-msgstr "(z)urückweisen, (e)inmal akzeptieren, über(g)ehen" ++#: conn/ssl.c:950 conn/ssl.c:953 conn/ssl_gnutls.c:654 conn/ssl_gnutls.c:656 ++msgid "SHA256 Fingerprint: " ++msgstr "SHA256-Fingerabdruck: " + +-#: conn/ssl.c:977 conn/ssl_gnutls.c:680 +-msgid "(r)eject, accept (o)nce" +-msgstr "(z)urückweisen, (e)inmal akzeptieren" ++#: conn/ssl.c:957 conn/ssl_gnutls.c:695 ++#, c-format ++msgid "SSL Certificate check (certificate %zu of %zu in chain)" ++msgstr "SSL-Zertifikatprüfung (Zertifikat %zu von %zu in Kette)" + +-#: conn/ssl.c:981 conn/ssl_gnutls.c:689 ncrypt/crypt_gpgme.c:4729 +-#: ncrypt/pgpkey.c:664 ncrypt/smime.c:549 ++#: conn/ssl.c:994 conn/ssl_gnutls.c:720 ncrypt/crypt_gpgme.c:4777 ++#: ncrypt/pgpkey.c:667 ncrypt/smime.c:551 + msgid "Exit " + msgstr "Ende " + +-#: conn/ssl.c:1016 conn/ssl_gnutls.c:742 ++#: conn/ssl.c:1029 conn/ssl_gnutls.c:773 + msgid "Warning: Couldn't save certificate" + msgstr "Warnung: Konnte Zertifikat nicht speichern" + +-#: conn/ssl.c:1020 conn/ssl_gnutls.c:746 ++#: conn/ssl.c:1033 conn/ssl_gnutls.c:777 + msgid "Certificate saved" + msgstr "Zertifikat gespeichert" + +-#: conn/ssl.c:1132 ++#: conn/ssl.c:1147 + #, c-format + msgid "Certificate host check failed: %s" + msgstr "Prüfung des Rechnernamens in Zertifikat gescheitert: %s" +@@ -1486,15 +1717,15 @@ msgstr "Prüfung des Rechnernamens in Zertifikat gescheitert: %s" + #. L10N: This is a warning when trying to set the host name for + #. * TLS Server Name Indication (SNI). This allows the server to present + #. * the correct certificate if it supports multiple hosts. +-#: conn/ssl.c:1213 conn/ssl_gnutls.c:1072 ++#: conn/ssl.c:1228 conn/ssl_gnutls.c:1105 + msgid "Warning: unable to set TLS SNI host name" + msgstr "Warnung: kann den Namen des TLS/SNI-Servers nicht setzen" + +-#: conn/ssl.c:1224 ++#: conn/ssl.c:1239 + msgid "I/O error" + msgstr "Ein-/Ausgabe Fehler" + +-#: conn/ssl.c:1233 ++#: conn/ssl.c:1248 + #, c-format + msgid "SSL failed: %s" + msgstr "SSL fehlgeschlagen: %s" +@@ -1502,89 +1733,73 @@ msgstr "SSL fehlgeschlagen: %s" + #. L10N: an SSL context is a data structure returned by the OpenSSL + #. function SSL_CTX_new(). In this case it returned NULL: an + #. error condition. +-#: conn/ssl.c:1269 ++#: conn/ssl.c:1284 + msgid "Unable to create SSL context" + msgstr "Kann keinen OpenSSL-Kontext erzeugen" + +-#: conn/ssl.c:1322 ++#: conn/ssl.c:1337 + msgid "Warning: error enabling ssl_verify_partial_chains" + msgstr "Warnung: Fehler bei der Aktivierung der ssl_verify_partial_chains" + +-#: conn/ssl_gnutls.c:150 conn/ssl_gnutls.c:784 conn/ssl_gnutls.c:793 ++#: conn/ssl_gnutls.c:152 conn/ssl_gnutls.c:817 conn/ssl_gnutls.c:826 + msgid "Unable to get certificate from peer" + msgstr "Kann kein Zertifikat vom Server erhalten" + +-#: conn/ssl_gnutls.c:155 ++#: conn/ssl_gnutls.c:157 + #, c-format + msgid "Certificate verification error (%s)" + msgstr "Fehler beim Prüfen des Zertifikats (%s)" + +-#: conn/ssl_gnutls.c:162 ++#: conn/ssl_gnutls.c:164 + msgid "Certificate is not X.509" + msgstr "Zertifikat ist kein X.509" + +-#: conn/ssl_gnutls.c:349 conn/ssl_gnutls.c:483 ++#: conn/ssl_gnutls.c:351 conn/ssl_gnutls.c:485 + msgid "Error initialising gnutls certificate data" + msgstr "Fehler beim Initialisieren von GnuTLS-Zertifikatdaten" + +-#: conn/ssl_gnutls.c:355 conn/ssl_gnutls.c:489 ++#: conn/ssl_gnutls.c:357 conn/ssl_gnutls.c:491 + msgid "Error processing certificate data" + msgstr "Fehler beim Verarbeiten der Zertifikatdaten" + +-#: conn/ssl_gnutls.c:635 ++#: conn/ssl_gnutls.c:666 + msgid "WARNING: Server certificate is not yet valid" + msgstr "WARNUNG: Server-Zertifikat ist noch nicht gültig" + +-#: conn/ssl_gnutls.c:640 ++#: conn/ssl_gnutls.c:671 + msgid "WARNING: Server certificate has expired" + msgstr "WARNUNG: Server-Zertifikat ist abgelaufen" + +-#: conn/ssl_gnutls.c:645 ++#: conn/ssl_gnutls.c:676 + msgid "WARNING: Server certificate has been revoked" + msgstr "WARNUNG: Server-Zertifikat wurde zurückgezogen" + +-#: conn/ssl_gnutls.c:650 ++#: conn/ssl_gnutls.c:681 + msgid "WARNING: Server hostname does not match certificate" + msgstr "WARNUNG: Hostname des Servers entspricht nicht dem Zertifikat" + +-#: conn/ssl_gnutls.c:655 ++#: conn/ssl_gnutls.c:686 + msgid "WARNING: Signer of server certificate is not a CA" + msgstr "WARNUNG: Aussteller des Server-Zertifikats ist keine CA" + +-#: conn/ssl_gnutls.c:659 conn/ssl_gnutls.c:1004 ++#: conn/ssl_gnutls.c:690 conn/ssl_gnutls.c:1037 + msgid "Warning: Server certificate was signed using an insecure algorithm" + msgstr "Warnung: Server-Zertifikat wurde mit unsicherem Algorithmus signiert" + +-#. L10N: These three letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce, (a)ccept always. +-#. This is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:676 +-msgid "roa" +-msgstr "zei" +- +-#. L10N: These two letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce. +-#. These is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:685 +-msgid "ro" +-msgstr "ze" +- +-#: conn/ssl_gnutls.c:950 conn/ssl_gnutls.c:992 ++#: conn/ssl_gnutls.c:983 conn/ssl_gnutls.c:1025 + msgid "All available protocols for TLS/SSL connection disabled" + msgstr "Alle verfügbaren TLS/SSL-Protokolle sind deaktiviert" + +-#: conn/ssl_gnutls.c:999 ++#: conn/ssl_gnutls.c:1032 + msgid "Explicit ciphersuite selection via $ssl_ciphers not supported" + msgstr "Keine direkte Auswahl der Verschlüsselungsgruppe durch $ssl_ciphers möglich" + +-#: conn/ssl_gnutls.c:1120 ++#: conn/ssl_gnutls.c:1153 + #, c-format + msgid "SSL/TLS connection using %s (%s/%s/%s)" + msgstr "SSL/TLS-Verbindung unter Verwendung von %s (%s/%s/%s)" + +-#: conn/ssl_gnutls.c:1175 conn/ssl_gnutls.c:1204 ++#: conn/ssl_gnutls.c:1210 conn/ssl_gnutls.c:1239 + msgid "Error: no TLS socket open" + msgstr "Fehler: kein TLS-Socket offen" + +@@ -1603,38 +1818,18 @@ msgstr "Tunnel-Fehler bei Verbindung mit %s: %s" + msgid "Tunnel to %s returned error %d (%s)" + msgstr "Tunnel zu %s liefert Fehler %d (%s)" + +-#: copy.c:660 ++#: copy.c:662 + #, c-format + msgid "The length calculation was wrong by %ld byte" + msgid_plural "The length calculation was wrong by %ld bytes" + msgstr[0] "Die Längenberechnung weicht um %ld Byte(s) ab" + msgstr[1] "Die Längenberechnung weicht um %ld Byte(s) ab" + +-#: copy.c:744 ++#: copy.c:746 + msgid "No decryption engine available for message" + msgstr "Kein Entschlüsselungsmechanismus für Nachricht vorhanden" + +-#: curs_lib.c:378 +-msgid "yes" +-msgstr "ja" +- +-#: curs_lib.c:379 +-msgid "no" +-msgstr "nein" +- +-#: curs_lib.c:518 +-msgid "Exit NeoMutt?" +-msgstr "NeoMutt verlassen?" +- +-#: curs_lib.c:597 +-msgid "Press any key to continue..." +-msgstr "Bitte eine Taste drücken..." +- +-#: curs_lib.c:705 +-msgid " ('?' for list): " +-msgstr " ('?' für Auswahlliste eingeben): " +- +-#: edit.c:64 ++#: edit.c:62 + msgid "" + "~~ insert a line beginning with a single ~\n" + "~b users add users to the Bcc: field\n" +@@ -1656,7 +1851,7 @@ msgstr "" + "~M Nachrichten Wie ~m, zusätzlich mit Nachrichtenkopf\n" + "~p Nachricht ausdrucken\n" + +-#: edit.c:75 ++#: edit.c:73 + msgid "" + "~q write file and quit editor\n" + "~r file read a file into the editor\n" +@@ -1678,20 +1873,20 @@ msgstr "" + "~? Diese Nachricht\n" + ". in einer Zeile alleine beendet die Eingabe\n" + +-#: edit.c:261 ++#: edit.c:259 + #, c-format + msgid "%d: invalid message number.\n" + msgstr "%d: Ungültige Nachrichtennummer.\n" + +-#: edit.c:416 ++#: edit.c:414 + msgid "(End message with a . on a line by itself)\n" + msgstr "(Beenden der Nachricht mit einem Punkt ('.') allein in einer Zeile)\n" + +-#: edit.c:474 ++#: edit.c:472 + msgid "No mailbox.\n" + msgstr "Keine Mailbox.\n" + +-#: edit.c:478 ++#: edit.c:476 + msgid "Message contains:\n" + msgstr "Nachricht enthält:\n" + +@@ -1699,19 +1894,19 @@ msgstr "Nachricht enthält:\n" + #. not IN the middle of the content. + #. So it doesn't mean "(message will continue)" + #. but means "(press any key to continue using neomutt)". +-#: edit.c:486 edit.c:547 ++#: edit.c:484 edit.c:545 + msgid "(continue)\n" + msgstr "(weiter)\n" + +-#: edit.c:499 ++#: edit.c:497 + msgid "missing filename.\n" + msgstr "Dateiname fehlt.\n" + +-#: edit.c:519 ++#: edit.c:517 + msgid "No lines in message.\n" + msgstr "Keine Zeilen in der Nachricht.\n" + +-#: edit.c:558 ++#: edit.c:556 + #, c-format + msgid "%s: unknown editor command (~? for help)\n" + msgstr "%s: Unbekanntes Editor-Kommando (~? für Hilfestellung)\n" +@@ -1758,19 +1953,73 @@ msgstr "Hinzufügen zu Mailbox %s nicht möglich" + msgid "multipart message has no boundary parameter" + msgstr "Mehrteilige Nachricht hat keinen \"boundary\"-Parameter" + +-#: flags.c:382 index.c:2561 index.c:2604 index.c:3134 index.c:3171 ++#: flags.c:381 index.c:2587 index.c:2630 index.c:3160 index.c:3197 + #: mutt_thread.c:1091 mutt_thread.c:1158 mutt_thread.c:1246 + msgid "Threading is not enabled" + msgstr "Die Darstellung von Diskussionsfäden ist abgeschaltet" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Set flag" + msgstr "Setze Statusindikator" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Clear flag" + msgstr "Entferne Statusindikator" + ++#: gui/color.c:633 gui/color.c:644 ++#, c-format ++msgid "%s: color not supported by term" ++msgstr "%s: Farbe wird vom Terminal nicht unterstützt" ++ ++#: gui/color.c:652 ++#, c-format ++msgid "%s: no such color" ++msgstr "%s: Farbe unbekannt" ++ ++#: gui/color.c:717 gui/color.c:740 gui/color.c:751 gui/color.c:842 ++#, c-format ++msgid "%s: no such object" ++msgstr "%s: Objekt unbekannt" ++ ++#: gui/color.c:1142 ++#, c-format ++msgid "%s: no such attribute" ++msgstr "%s: Attribut unbekannt" ++ ++#: gui/color.c:1244 ++msgid "default colors not supported" ++msgstr "Standardfarben werden nicht unterstützt" ++ ++#: gui/color.c:1282 ++#, c-format ++msgid "Maximum quoting level is %d" ++msgstr "Die maximale Antwortebene ist %d" ++ ++#: gui/color.c:1319 ++#, c-format ++msgid "%s: invalid number: %s" ++msgstr "%s: ungültige Zahl: %s" ++ ++#: gui/curs_lib.c:379 ++msgid "yes" ++msgstr "ja" ++ ++#: gui/curs_lib.c:380 ++msgid "no" ++msgstr "nein" ++ ++#: gui/curs_lib.c:519 ++msgid "Exit NeoMutt?" ++msgstr "NeoMutt verlassen?" ++ ++#: gui/curs_lib.c:598 ++msgid "Press any key to continue..." ++msgstr "Bitte eine Taste drücken..." ++ ++#: gui/curs_lib.c:749 ++msgid " ('?' for list): " ++msgstr " ('?' für Auswahlliste eingeben): " ++ + #: handler.c:102 + #, c-format + msgid "[-- Type: %s/%s%s%s, Encoding: %s, Size: %s --]\n" +@@ -1791,23 +2040,23 @@ msgstr "[-- Automatische Anzeige mittels %s --]\n" + msgid "Invoking autoview command: %s" + msgstr "Automatische Anzeige mittels: %s" + +-#: handler.c:591 mutt_attach.c:527 mutt_attach.c:714 mutt_attach.c:745 +-#: mutt_attach.c:1087 mutt_attach.c:1152 ncrypt/pgpkey.c:723 +-#: ncrypt/pgpkey.c:920 ++#: handler.c:590 mutt_attach.c:555 mutt_attach.c:747 mutt_attach.c:778 ++#: mutt_attach.c:1120 mutt_attach.c:1185 ncrypt/pgpkey.c:756 ++#: ncrypt/pgpkey.c:955 + msgid "Can't create filter" + msgstr "Kann Filter nicht erzeugen" + +-#: handler.c:595 ++#: handler.c:594 + #, c-format + msgid "[-- Can't run %s. --]\n" + msgstr "[-- Kann %s nicht ausführen. --]\n" + +-#: handler.c:614 handler.c:635 ++#: handler.c:613 handler.c:634 + #, c-format + msgid "[-- Autoview stderr of %s --]\n" + msgstr "[-- Fehlerausgabe von %s --]\n" + +-#: handler.c:764 ++#: handler.c:763 + msgid "[-- Error: message/external-body has no access-type parameter --]\n" + msgstr "[-- Fehler: message/external-body hat keinen access-type Parameter --]\n" + +@@ -1826,7 +2075,7 @@ msgstr "[-- Fehler: message/external-body hat keinen access-type Parameter --]\n + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:807 ++#: handler.c:806 + #, c-format + msgid "" + "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" +@@ -1855,7 +2104,7 @@ msgstr[1] "" + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:830 ++#: handler.c:829 + #, c-format + msgid "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" + msgid_plural "[-- This %s/%s attachment (size %s bytes) has been deleted --]\n" +@@ -1869,7 +2118,7 @@ msgstr[1] "[-- Dieser %s/%s-Anhang (Größe %s Byte) wurde gelöscht --]\n" + #. + #. Caution: Argument three %3$ is also defined but should not be used + #. in this translation! +-#: handler.c:848 ++#: handler.c:847 + msgid "" + "[-- This %s/%s attachment has been deleted --]\n" + "[-- on %4$s --]\n" +@@ -1880,12 +2129,12 @@ msgstr "" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The first "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:856 ++#: handler.c:855 + #, c-format + msgid "[-- This %s/%s attachment has been deleted --]\n" + msgstr "[-- Dieser %s/%s-Anhang wurde gelöscht --]\n" + +-#: handler.c:866 ++#: handler.c:865 + #, c-format + msgid "[-- name: %s --]\n" + msgstr "[-- Name: %s --]\n" +@@ -1893,7 +2142,7 @@ msgstr "[-- Name: %s --]\n" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:884 ++#: handler.c:883 + #, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -1909,7 +2158,7 @@ msgstr "" + #. The "%s/%s" is a MIME type, e.g. "text/plain". The %s after + #. access-type is an access-type as defined by the MIME RFCs, e.g. "FTP", + #. "LOCAL-FILE", "MAIL-SERVER". +-#: handler.c:905 ++#: handler.c:904 + #, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -1918,91 +2167,91 @@ msgstr "" + "[-- Dieser %s/%s-Anhang ist nicht in der Nachricht enthalten, --]\n" + "[-- und die angegebene Zugangsmethode %s wird nicht unterstützt --]\n" + +-#: handler.c:1090 ++#: handler.c:1089 + msgid "[-- Error: Could not display any parts of Multipart/Alternative --]\n" + msgstr "[-- Fehler: Konnte keinen der multipart/alternative-Teile anzeigen --]\n" + + #. L10N: %s is the attachment description, filename or form_name. +-#: handler.c:1231 ++#: handler.c:1230 + #, c-format + msgid "[-- Attachment #%d: %s --]\n" + msgstr "[-- Anhang #%d: %s --]\n" + +-#: handler.c:1236 ++#: handler.c:1235 + #, c-format + msgid "[-- Attachment #%d --]\n" + msgstr "[-- Anhang #%d --]\n" + +-#: handler.c:1254 ++#: handler.c:1253 + msgid "One or more parts of this message could not be displayed" + msgstr "Warnung: Mind. ein Teil dieser Nachricht konnte nicht angezeigt werden" + +-#: handler.c:1320 ++#: handler.c:1319 + msgid "Unable to open 'memory stream'" + msgstr "Konnte Datenstrom nicht öffnen" + +-#: handler.c:1330 ++#: handler.c:1329 + msgid "Unable to open temporary file" + msgstr "Konnte Temporärdatei nicht öffnen" + +-#: handler.c:1379 ++#: handler.c:1378 + msgid "failed to re-open 'memory stream'" + msgstr "Konnte Datenstrom nicht erneut öffnen" + +-#: handler.c:1620 ++#: handler.c:1619 + msgid "Error: multipart/signed has no protocol" + msgstr "Fehler: multipart/signed ohne \"protocol\"-Parameter" + + #. L10N: %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1694 ++#: handler.c:1693 + #, c-format + msgid "[-- This is an attachment (use '%s' to view this part) --]\n" + msgstr "[-- Dies ist ein Anhang ('%s' benutzen, um diesen Teil anzuzeigen) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". + #. The last %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1701 ++#: handler.c:1700 + #, c-format + msgid "[-- %s/%s is unsupported (use '%s' to view this part) --]\n" + msgstr "[-- %s/%s wird nicht unterstützt ('%s' benutzen, um diesen Teil anzuzeigen) --]\n" + +-#: handler.c:1709 ++#: handler.c:1708 + msgid "[-- This is an attachment (need 'view-attachments' bound to key) --]\n" + msgstr "[-- Dies ist ein Anhang (Tastaturbindung für 'view-attachments' benötigt) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1715 ++#: handler.c:1714 + #, c-format + msgid "[-- %s/%s is unsupported (need 'view-attachments' bound to key) --]\n" + msgstr "[-- %s/%s wird nicht unterstützt (Tastaturbindung für 'view-attachments' benötigt) --]\n" + +-#: handler.c:1724 ++#: handler.c:1723 + msgid "[-- This is an attachment --]\n" + msgstr "[-- Dies ist ein Anhang --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1729 ++#: handler.c:1728 + #, c-format + msgid "[-- %s/%s is unsupported --]\n" + msgstr "[-- %s/%s wird nicht unterstützt --]\n" + +-#: help.c:400 ++#: help.c:401 + msgid "ERROR: please report this bug" + msgstr "INTERNER FEHLER: Diesen Fehler bitte melden (bug report)" + +-#: help.c:455 ++#: help.c:456 + msgid "" + msgstr "" + +-#: help.c:469 ++#: help.c:470 + msgid "Generic bindings:" + msgstr "Allgemeine Tastenbelegungen:" + +-#: help.c:473 ++#: help.c:474 + msgid "Unbound functions:" + msgstr "Funktionen ohne Bindung an Taste:" + +-#: help.c:481 ++#: help.c:482 + #, c-format + msgid "Help for %s" + msgstr "Hilfe für %s" +@@ -2019,41 +2268,41 @@ msgstr "Mailbox-Kurzbefehl führte zu leerem regulären Ausdruck" + msgid "badly formatted command string" + msgstr "Falsch formatierte Kommandosequenz" + +-#: hook.c:461 ++#: hook.c:466 + msgid "unhook: Can't do unhook * from within a hook" + msgstr "unhook: Innerhalb eines Hooks kann kein unhook * aufgerufen werden" + +-#: hook.c:474 ++#: hook.c:479 + #, c-format + msgid "unhook: unknown hook type: %s" + msgstr "unhook: Unbekannter Hook-Typ: %s" + +-#: hook.c:484 ++#: hook.c:489 + #, c-format + msgid "unhook: Can't delete a %s from within a %s" + msgstr "unhook: Kann kein %s innerhalb von %s löschen" + + #. L10N: '%s' is the (misspelled) name of the menu, e.g. 'index' or 'pager' +-#: icommands.c:259 keymap.c:1161 keymap.c:1346 ++#: icommands.c:261 keymap.c:1159 keymap.c:1344 + #, c-format + msgid "%s: no such menu" + msgstr "Menü \"%s\" existiert nicht" + + #. L10N: '%s' is the name of the menu, e.g. 'index' or 'pager', it might + #. L10N: also be 'all' when all menus are affected. +-#: icommands.c:272 ++#: icommands.c:274 + #, c-format + msgid "%s: no binds for this menu" + msgstr "%s: Keine Tastenkombination für dieses Menü" + +-#: icommands.c:272 ++#: icommands.c:274 + #, c-format + msgid "%s: no macros for this menu" + msgstr "%s: kein Makro für dieses Menü" + + #. L10N: '%s' is the file name of the temporary file +-#: icommands.c:283 icommands.c:296 icommands.c:316 icommands.c:340 +-#: icommands.c:360 icommands.c:371 imap/message.c:1093 ++#: icommands.c:285 icommands.c:297 icommands.c:317 icommands.c:340 ++#: icommands.c:360 icommands.c:370 imap/message.c:1093 + #, c-format + msgid "Could not create temporary file %s" + msgstr "Konnte Temporärdatei %s nicht erzeugen" +@@ -2090,28 +2339,28 @@ msgstr "GSSAPI-Authentifizierung fehlgeschlagen" + msgid "LOGIN disabled on this server" + msgstr "LOGIN ist bei diesem Server abgeschaltet" + +-#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:288 ++#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:289 + msgid "Logging in..." + msgstr "Anmeldung..." + +-#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:329 ++#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:330 + msgid "Login failed" + msgstr "Anmeldung gescheitert" + +-#: imap/auth_oauth.c:64 pop/pop_auth.c:346 smtp.c:524 ++#: imap/auth_oauth.c:65 pop/pop_auth.c:347 smtp.c:549 + msgid "Authenticating (OAUTHBEARER)..." + msgstr "Authentifiziere (OAUTHBEARER)…" + +-#: imap/auth_oauth.c:96 ++#: imap/auth_oauth.c:97 + msgid "OAUTHBEARER authentication failed" + msgstr "OAUTHBEARER-Authentifizierung fehlgeschlagen" + +-#: imap/auth_sasl.c:128 nntp/nntp.c:606 nntp/nntp.c:671 smtp.c:443 ++#: imap/auth_sasl.c:128 nntp/nntp.c:608 nntp/nntp.c:673 smtp.c:468 + #, c-format + msgid "Authenticating (%s)..." + msgstr "Authentifiziere (%s)..." + +-#: imap/auth_sasl.c:259 pop/pop_auth.c:200 smtp.c:584 smtp.c:646 ++#: imap/auth_sasl.c:259 pop/pop_auth.c:201 smtp.c:609 smtp.c:671 + msgid "SASL authentication failed" + msgstr "SASL-Authentifizierung fehlgeschlagen" + +@@ -2158,89 +2407,79 @@ msgstr "Umbenennung fehlgeschlagen: %s" + msgid "Mailbox renamed" + msgstr "Mailbox umbenannt" + +-#: imap/command.c:164 ++#: imap/command.c:177 + #, c-format + msgid "Mailbox %s@%s closed" + msgstr "Mailbox %s@%s geschlossen" + +-#: imap/command.c:1258 imap/command.c:1370 ++#: imap/command.c:1287 imap/command.c:1399 + #, c-format + msgid "Connection to %s timed out" + msgstr "Verbindung zu %s beendet" + +-#: imap/imap.c:87 ++#: imap/imap.c:93 + msgid "This IMAP server is ancient. NeoMutt does not work with it." + msgstr "Dieser IMAP-Server ist veraltet und wird von NeoMutt nicht unterstützt." + +-#: imap/imap.c:438 ++#: imap/imap.c:444 + #, c-format + msgid "Header search without header name: %s" + msgstr "Suche im Nachrichtenkopf ohne Angabe des Feldes: %s" + +-#: imap/imap.c:468 ++#: imap/imap.c:474 + #, c-format + msgid "Server-side custom search not supported: %s" + msgstr "Benutzerdefinierte serverseitige Suche nicht unterstützt: %s" + +-#: imap/imap.c:584 ++#: imap/imap.c:590 + #, c-format + msgid "CREATE failed: %s" + msgstr "CREATE fehlgeschlagen: %s" + +-#: imap/imap.c:704 ++#: imap/imap.c:710 + #, c-format + msgid "Closing connection to %s..." + msgstr "Beende Verbindung zu %s..." + +-#: imap/imap.c:882 nntp/nntp.c:1889 pop/pop_lib.c:324 smtp.c:687 ++#: imap/imap.c:888 nntp/nntp.c:1891 pop/pop_lib.c:350 smtp.c:712 + msgid "Secure connection with TLS?" + msgstr "Sichere Verbindung mittels TLS?" + +-#: imap/imap.c:895 nntp/nntp.c:1910 pop/pop_lib.c:343 smtp.c:702 ++#: imap/imap.c:901 nntp/nntp.c:1912 pop/pop_lib.c:369 smtp.c:727 + msgid "Could not negotiate TLS connection" + msgstr "Konnte keine TLS-Verbindung realisieren" + +-#: imap/imap.c:910 pop/pop_lib.c:360 ++#: imap/imap.c:916 pop/pop_lib.c:386 + msgid "Encrypted connection unavailable" + msgstr "Verschlüsselte Verbindung nicht verfügbar" + +-#: imap/imap.c:1417 ++#: imap/imap.c:1430 + #, c-format + msgid "Subscribing to %s..." + msgstr "Abonniere %s..." + +-#: imap/imap.c:1419 ++#: imap/imap.c:1432 + #, c-format + msgid "Unsubscribing from %s..." + msgstr "Bestelle Abonnement von %s ab..." + +-#: imap/imap.c:1430 init.c:2142 +-#, c-format +-msgid "Subscribed to %s" +-msgstr "Abonniere %s" +- +-#: imap/imap.c:1432 init.c:2620 +-#, c-format +-msgid "Unsubscribed from %s" +-msgstr "Abonnement von %s abbestellt" +- +-#: imap/imap.c:1582 imap/message.c:1674 ++#: imap/imap.c:1595 imap/message.c:1674 + #, c-format + msgid "Copying %d message to %s..." + msgid_plural "Copying %d messages to %s..." + msgstr[0] "Kopiere %d Nachricht nach %s..." + msgstr[1] "Kopiere %d Nachrichten nach %s..." + +-#: imap/imap.c:1599 imap/imap.c:2217 imap/message.c:1713 muttlib.c:1505 ++#: imap/imap.c:1612 imap/imap.c:2254 imap/message.c:1713 muttlib.c:1503 + #, c-format + msgid "Create %s?" + msgstr "%s erstellen?" + +-#: imap/imap.c:1667 ++#: imap/imap.c:1685 + msgid "Expunge failed" + msgstr "Löschen fehlgeschlagen" + +-#: imap/imap.c:1683 ++#: imap/imap.c:1701 + #, c-format + msgid "Marking %d message deleted..." + msgid_plural "Marking %d messages deleted..." +@@ -2248,43 +2487,43 @@ msgstr[0] "Markiere %d Nachricht zum Löschen..." + msgstr[1] "Markiere %d Nachrichten zum Löschen..." + + #. L10N: The plural is chosen by the last %d, i.e. the total number +-#: imap/imap.c:1720 ++#: imap/imap.c:1738 + #, c-format + msgid "Saving changed message... [%d/%d]" + msgid_plural "Saving changed messages... [%d/%d]" + msgstr[0] "Speichere veränderte Nachricht... [%d/%d]" + msgstr[1] "Speichere veränderte Nachrichten... [%d/%d]" + +-#: imap/imap.c:1776 ++#: imap/imap.c:1794 + msgid "Error saving flags. Close anyway?" + msgstr "Fehler beim Speichern der Statusindikatoren. Trotzdem schließen?" + +-#: imap/imap.c:1783 ++#: imap/imap.c:1801 + msgid "Error saving flags" + msgstr "Fehler beim Speichern der Statusindikatoren" + +-#: imap/imap.c:1808 ++#: imap/imap.c:1826 + msgid "Expunging messages from server..." + msgstr "Lösche Nachrichten auf dem Server..." + +-#: imap/imap.c:1814 ++#: imap/imap.c:1832 + msgid "imap_sync_mailbox: EXPUNGE failed" + msgstr "imap_sync_mailbox: EXPUNGE fehlgeschlagen" + +-#: imap/imap.c:2023 nntp/nntp.c:2486 ++#: imap/imap.c:2058 nntp/nntp.c:2488 + #, c-format + msgid "Selecting %s..." + msgstr "Wähle %s aus..." + +-#: imap/imap.c:2184 ++#: imap/imap.c:2221 + msgid "Error opening mailbox" + msgstr "Fehler beim Öffnen der Mailbox" + +-#: imap/imap.c:2330 ++#: imap/imap.c:2367 + msgid "IMAP server doesn't support custom flags" + msgstr "IMAP-Server unterstützt keine selbstdefinierten Statusindikatoren" + +-#: imap/imap.c:2374 ++#: imap/imap.c:2411 + msgid "Invalid IMAP flags" + msgstr "Ungültige IMAP-Statusindikatoren" + +@@ -2294,7 +2533,7 @@ msgid "Abort download and close mailbox?" + msgstr "Download abbrechen und Mailbox schließen?" + + #: imap/message.c:554 mutt/memory.c:58 mutt/memory.c:98 mutt/memory.c:134 +-#: mutt/string.c:1178 mx.c:1176 ++#: mutt/string.c:1201 mx.c:1195 + msgid "Out of memory" + msgstr "Kein Speicher verfügbar" + +@@ -2312,7 +2551,7 @@ msgstr "Hole aktualisierte Markierungen..." + msgid "Unable to fetch headers from this IMAP server version" + msgstr "Kann keine Nachrichtenköpfe von dieser Version des IMAP-Servers laden" + +-#: imap/message.c:1099 index.c:1548 nntp/nntp.c:1328 pop/pop.c:426 ++#: imap/message.c:1099 index.c:1554 nntp/nntp.c:1330 pop/pop.c:426 + msgid "Fetching message headers..." + msgstr "Hole Kopfdaten von Nachricht..." + +@@ -2325,152 +2564,152 @@ msgstr "Lade Nachricht auf den Server..." + msgid "Copying message %d to %s..." + msgstr "Kopiere Nachricht %d nach %s..." + +-#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2737 pop/pop.c:1110 ++#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2739 pop/pop.c:1105 + msgid "Fetching message..." + msgstr "Hole Nachricht..." + +-#: imap/message.c:1959 pop/pop.c:1106 ++#: imap/message.c:1959 pop/pop.c:1101 + msgid "The message index is incorrect. Try reopening the mailbox." + msgstr "Der Nachrichtenindex ist fehlerhaft. Versuchen Sie, die Mailbox erneut zu öffnen." + +-#: imap/util.c:767 ++#: imap/util.c:796 + msgid "Continue?" + msgstr "Fortfahren?" + +-#: index.c:115 index.c:128 ++#: index.c:111 index.c:124 + msgid "Quit" + msgstr "Ende" + +-#: index.c:118 index.c:131 recvattach.c:93 ++#: index.c:114 index.c:127 recvattach.c:91 + msgid "Save" + msgstr "Speichern" + +-#: index.c:119 query.c:81 ++#: index.c:115 query.c:79 + msgid "Mail" + msgstr "Senden" + +-#: index.c:120 pager.c:237 ++#: index.c:116 pager.c:229 + msgid "Reply" + msgstr "Antwort" + +-#: index.c:121 ++#: index.c:117 + msgid "Group" + msgstr "Antw.alle" + +-#: index.c:132 pager.c:244 ++#: index.c:128 pager.c:236 + msgid "Post" + msgstr "Artikel" + +-#: index.c:133 pager.c:245 ++#: index.c:129 pager.c:237 + msgid "Followup" + msgstr "Antworte an" + +-#: index.c:190 index.c:1362 ++#: index.c:186 index.c:1367 + msgid "No mailbox is open" + msgstr "Keine Mailbox ist geöffnet" + +-#: index.c:196 ++#: index.c:192 + msgid "There are no messages" + msgstr "Es sind keine Nachrichten vorhanden" + +-#: index.c:202 ++#: index.c:198 + msgid "No visible messages" + msgstr "Keine sichtbaren Nachrichten" + +-#: index.c:208 mx.c:901 pager.c:223 recvattach.c:80 ++#: index.c:204 mx.c:920 pager.c:215 recvattach.c:78 + msgid "Mailbox is read-only" + msgstr "Mailbox ist schreibgeschützt" + +-#: index.c:214 pager.c:225 recvattach.c:98 ++#: index.c:210 pager.c:217 recvattach.c:96 + msgid "Function not permitted in attach-message mode" + msgstr "Funktion steht beim Anhängen von Nachrichten nicht zur Verfügung" + + #. L10N: %s is one of the CHECK_ACL entries below. +-#: index.c:239 pager.c:290 ++#: index.c:235 pager.c:282 + #, c-format + msgid "%s: Operation not permitted by ACL" + msgstr "Operation %s gemäß ACL nicht zulässig" + +-#: index.c:430 ++#: index.c:426 + msgid "Can't toggle write on a readonly mailbox" + msgstr "Kann Schreibschutz bei Mailbox im Nur-Lese-Modus nicht umschalten" + +-#: index.c:437 ++#: index.c:433 + msgid "Changes to folder will be written on folder exit" + msgstr "Änderungen an dieser Mailbox werden beim Verlassen geschrieben" + +-#: index.c:442 ++#: index.c:438 + msgid "Changes to folder will not be written" + msgstr "Änderungen an dieser Mailbox werden nicht geschrieben" + +-#: index.c:719 muttlib.c:1490 mx.c:206 mx.c:340 ++#: index.c:714 muttlib.c:1488 mx.c:206 mx.c:338 + #, c-format + msgid "%s is not a mailbox" + msgstr "%s ist keine Mailbox" + +-#: index.c:1218 ++#: index.c:1223 + msgid "Mailbox was externally modified. Flags may be wrong." + msgstr "Mailbox wurde extern verändert. Statusindikatoren nun ggf. inkorrekt." + +-#: index.c:1227 pager.c:2409 ++#: index.c:1232 pager.c:2379 + msgid "New mail in this mailbox" + msgstr "Neue Nachrichten in dieser Mailbox" + +-#: index.c:1242 ++#: index.c:1247 + msgid "Mailbox was externally modified" + msgstr "Mailbox wurde extern verändert" + +-#: index.c:1369 ++#: index.c:1374 + msgid "No tagged messages" + msgstr "Keine markierten Nachrichten" + +-#: index.c:1373 index.c:1647 menu.c:1423 ++#: index.c:1378 index.c:1653 menu.c:1423 + msgid "Nothing to do" + msgstr "Nichts zu erledigen" + +-#: index.c:1470 ++#: index.c:1475 + msgid "Enter Message-Id: " + msgstr "Message-ID eingeben: " + +-#: index.c:1481 ++#: index.c:1487 + msgid "Article has no parent reference" + msgstr "Der Artikel hat keine eigenen Eltern" + +-#: index.c:1504 ++#: index.c:1510 + msgid "Message is not visible in limited view" + msgstr "Nachricht in dieser begrenzten Ansicht nicht sichtbar" + +-#: index.c:1508 ++#: index.c:1514 + #, c-format + msgid "Fetching %s from server..." + msgstr "Lade %s vom Server..." + +-#: index.c:1518 nntp/nntp.c:2772 ++#: index.c:1524 nntp/nntp.c:2774 + #, c-format + msgid "Article %s not found on the server" + msgstr "Artikel %s wurde auf dem Server nicht gefunden" + +-#: index.c:1544 ++#: index.c:1550 + msgid "No Message-Id. Unable to perform operation." + msgstr "Keine Message-ID. Kann die Operation nicht ausführen." + +-#: index.c:1623 ++#: index.c:1629 + msgid "No deleted messages found in the thread" + msgstr "Keine gelöschten Nachrichten im Diskussionsfaden vorhanden" + +-#: index.c:1644 ++#: index.c:1650 + msgid "Jump to message: " + msgstr "Springe zu Nachricht: " + +-#: index.c:1650 ++#: index.c:1656 + msgid "Argument must be a message number" + msgstr "Argument muss eine Nachrichtennummer sein" + +-#: index.c:1652 ++#: index.c:1658 + msgid "Invalid message number" + msgstr "Ungültige Nachrichtennummer" + +-#: index.c:1654 ++#: index.c:1660 + msgid "That message is not visible" + msgstr "Diese Nachricht ist nicht sichtbar" + +@@ -2483,37 +2722,37 @@ msgstr "Diese Nachricht ist nicht sichtbar" + #. delete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. + #. +-#: index.c:1692 index.c:3267 pager.c:3064 ++#: index.c:1698 index.c:3293 pager.c:3039 + msgid "Can't delete messages" + msgstr "Kann Nachricht(en) nicht löschen" + +-#: index.c:1695 ++#: index.c:1701 + msgid "Delete messages matching: " + msgstr "Lösche Nachrichten nach Muster: " + +-#: index.c:1736 ++#: index.c:1742 + msgid "No limit pattern is in effect" + msgstr "Zur Zeit ist kein Muster zur Begrenzung aktiv" + + #. L10N: ask for a limit to apply +-#: index.c:1741 ++#: index.c:1747 + #, c-format + msgid "Limit: %s" + msgstr "Begrenze: %s" + +-#: index.c:1778 ++#: index.c:1784 + msgid "Limit to messages matching: " + msgstr "Begrenze auf Nachrichten nach Muster: " + +-#: index.c:1809 ++#: index.c:1815 + msgid "To view all messages, limit to \"all\"" + msgstr "Um alle Nachrichten zu sehen, begrenze auf \"all\"" + +-#: index.c:1821 pager.c:2514 ++#: index.c:1827 pager.c:2487 + msgid "Quit NeoMutt?" + msgstr "NeoMutt beenden?" + +-#: index.c:1924 ++#: index.c:1931 + msgid "Tag messages matching: " + msgstr "Markiere Nachrichten nach Muster: " + +@@ -2521,195 +2760,195 @@ msgstr "Markiere Nachrichten nach Muster: " + #. L10N: Due to the implementation details we do not know whether we + #. undelete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:1935 index.c:3807 pager.c:3418 ++#: index.c:1942 index.c:3833 pager.c:3396 + msgid "Can't undelete messages" + msgstr "Kann Löschmarkierung nicht entfernen" + +-#: index.c:1939 ++#: index.c:1946 + msgid "Undelete messages matching: " + msgstr "Entferne Löschmarkierung nach Muster: " + +-#: index.c:1948 ++#: index.c:1955 + msgid "Untag messages matching: " + msgstr "Entferne Markierung nach Muster: " + +-#: index.c:1989 ++#: index.c:1996 + msgid "Logged out of IMAP servers" + msgstr "Erfolgreich von IMAP-Servern abgemeldet" + +-#: index.c:2105 ++#: index.c:2113 + msgid "No virtual folder and no Message-Id, aborting" + msgstr "Keine virtuelle Mailbox und keine Message-Id, breche ab" + +-#: index.c:2117 index.c:2288 index.c:2310 index.c:2331 ++#: index.c:2125 index.c:2313 index.c:2335 index.c:2356 + msgid "Failed to create query, aborting" + msgstr "Konnte Anfrage nicht erzeugen, breche ab" + +-#: index.c:2130 ++#: index.c:2138 + msgid "failed to find message in notmuch database. try running 'notmuch new'." + msgstr "Nachricht nicht in der notmuch-Datenbank zu finden; ’notmuch new’ ausführen." + +-#: index.c:2139 ++#: index.c:2147 + msgid "Failed to read thread, aborting" + msgstr "Kann Diskussionsfaden nicht lesen, breche ab" + +-#: index.c:2171 mx.c:1252 mx.c:1272 ++#: index.c:2179 mx.c:1271 mx.c:1291 + msgid "Folder doesn't support tagging, aborting" + msgstr "Ordner unterstützt keine Etikettierung, breche ab" + +-#: index.c:2188 ++#: index.c:2196 + msgid "No tag specified, aborting" + msgstr "Kein Etikett angegeben, breche ab" + +-#: index.c:2198 ++#: index.c:2206 + msgid "Update tags..." + msgstr "Aktualisiere Etiketten..." + +-#: index.c:2238 ++#: index.c:2246 + msgid "Failed to modify tags, aborting" + msgstr "Konnte Etiketten nicht verändern, breche ab" + +-#: index.c:2284 ++#: index.c:2293 + msgid "No query, aborting" + msgstr "Keine Anfrage, breche ab" + +-#: index.c:2299 index.c:2320 ++#: index.c:2324 index.c:2345 + msgid "Windowed queries disabled" + msgstr "Fragefenster sind ausgeschaltet" + +-#: index.c:2304 index.c:2325 ++#: index.c:2329 index.c:2350 + msgid "No notmuch vfolder currently loaded" + msgstr "Zurzeit ist kein virtueller Notmuch-Ordner geladen" + +-#: index.c:2374 ++#: index.c:2399 + msgid "Open mailbox in read-only mode" + msgstr "Öffne Mailbox schreibgeschützt" + +-#: index.c:2376 ++#: index.c:2401 + msgid "Open mailbox" + msgstr "Öffne Mailbox" + +-#: index.c:2386 ++#: index.c:2411 + msgid "No mailboxes have new mail" + msgstr "Keine Mailbox mit neuen Nachrichten" + +-#: index.c:2419 ++#: index.c:2444 + msgid "Open newsgroup in read-only mode" + msgstr "Öffne Newsgroup schreibgeschützt" + +-#: index.c:2421 ++#: index.c:2446 + msgid "Open newsgroup" + msgstr "Öffne Newsgroup" + +-#: index.c:2538 ++#: index.c:2564 + msgid "Exit NeoMutt without saving?" + msgstr "NeoMutt verlassen, ohne Änderungen zu speichern?" + + #. L10N: CHECK_ACL +-#: index.c:2554 ++#: index.c:2580 + msgid "Can't break thread" + msgstr "Kann Diskussionsfaden nicht zerteilen" + +-#: index.c:2574 ++#: index.c:2600 + msgid "Thread broken" + msgstr "Diskussionsfaden unterbrochen" + +-#: index.c:2587 ++#: index.c:2613 + msgid "Thread can't be broken, message is not part of a thread" + msgstr "Kann Diskussionsfaden nicht abtrennen, da die Nachricht nicht Teil eines Diskussionsfadens ist" + + #. L10N: CHECK_ACL +-#: index.c:2597 ++#: index.c:2623 + msgid "Can't link threads" + msgstr "Kann Diskussionsfäden nicht verbinden" + +-#: index.c:2606 ++#: index.c:2632 + msgid "No Message-ID: header available to link thread" + msgstr "Keine Message-ID zum Aufbau von Diskussionsfäden verfügbar" + +-#: index.c:2608 ++#: index.c:2634 + msgid "First, please tag a message to be linked here" + msgstr "Bitte erst eine Nachricht zur Verlinkung markieren" + +-#: index.c:2621 ++#: index.c:2647 + msgid "Threads linked" + msgstr "Diskussionsfäden verbunden" + +-#: index.c:2624 ++#: index.c:2650 + msgid "No thread linked" + msgstr "Kein Diskussionsfaden verbunden" + +-#: index.c:2665 index.c:2690 ++#: index.c:2691 index.c:2716 + msgid "You are on the last message" + msgstr "Das ist bereits die letzte Nachricht" + +-#: index.c:2673 index.c:2716 ++#: index.c:2699 index.c:2742 + msgid "No undeleted messages" + msgstr "Keine ungelöschten Nachrichten" + +-#: index.c:2708 index.c:2733 ++#: index.c:2734 index.c:2759 + msgid "You are on the first message" + msgstr "Das ist bereits die erste Nachricht" + +-#: index.c:2874 ++#: index.c:2900 + msgid "No new messages in this limited view" + msgstr "Keine neuen Nachrichten in dieser begrenzten Ansicht" + +-#: index.c:2876 ++#: index.c:2902 + msgid "No new messages" + msgstr "Keine neuen Nachrichten" + +-#: index.c:2881 ++#: index.c:2907 + msgid "No unread messages in this limited view" + msgstr "Keine ungelesenen Nachrichten in dieser begrenzten Ansicht" + +-#: index.c:2883 ++#: index.c:2909 + msgid "No unread messages" + msgstr "Keine ungelesenen Nachrichten" + +-#: index.c:2893 menu.c:1208 pager.c:2644 pattern.c:2652 ++#: index.c:2919 menu.c:1208 pager.c:2618 pattern.c:2776 + msgid "Search wrapped to top" + msgstr "Suche von vorne begonnen" + +-#: index.c:2898 pager.c:2669 pattern.c:2663 ++#: index.c:2924 pager.c:2643 pattern.c:2787 + msgid "Search wrapped to bottom" + msgstr "Suche von hinten begonnen" + + #. L10N: CHECK_ACL +-#: index.c:2915 ++#: index.c:2941 + msgid "Can't flag message" + msgstr "Kann keinen Statusindikator für Nachricht setzen" + + #. L10N: CHECK_ACL +-#: index.c:2961 pager.c:3377 ++#: index.c:2987 pager.c:3355 + msgid "Can't toggle new" + msgstr "Kann nicht umschalten zwischen neu/nicht neu" + +-#: index.c:3057 ++#: index.c:3083 + msgid "No more threads" + msgstr "Keine weiteren Diskussionsfäden" + +-#: index.c:3059 ++#: index.c:3085 + msgid "You are on the first thread" + msgstr "Der erste Diskussionsfaden wurde bereits aufgerufen" + +-#: index.c:3156 ++#: index.c:3182 + msgid "Thread contains unread or flagged messages" + msgstr "Diskussionsfaden enthält ungelesene oder mit Statusindikator versehene Nachrichten" + + #. L10N: CHECK_ACL +-#: index.c:3215 pager.c:3019 ++#: index.c:3241 pager.c:2994 + msgid "Can't delete message" + msgstr "Kann Nachricht nicht löschen" + + #. L10N: CHECK_ACL +-#: index.c:3339 ++#: index.c:3365 + msgid "Can't edit message" + msgstr "Kann Nachricht nicht bearbeiten" + + #. L10N: This is displayed when the x-label on one or more + #. messages is edited. +-#: index.c:3432 pager.c:3495 ++#: index.c:3458 pager.c:3473 + #, c-format + msgid "%d label changed" + msgid_plural "%d labels changed" +@@ -2719,7 +2958,7 @@ msgstr[1] "%d Etiketten verändert" + #. L10N: This is displayed when editing an x-label, but no messages + #. were updated. Possibly due to canceling at the prompt or if the new + #. label is the same as the old label. +-#: index.c:3440 pager.c:3499 ++#: index.c:3466 pager.c:3477 + msgid "No labels changed" + msgstr "Etiketten unverändert" + +@@ -2727,275 +2966,140 @@ msgstr "Etiketten unverändert" + #. L10N: Due to the implementation details we do not know whether we + #. mark zero, 1, 12, ... messages as read. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:3571 ++#: index.c:3597 + msgid "Can't mark messages as read" + msgstr "Kann Nachricht(en) nicht als gelesen markieren" + + #. L10N: This is the prompt for . Whatever they + #. enter will be prefixed by $mark_macro_prefix and will become + #. a macro hotkey to jump to the currently selected message. +-#: index.c:3612 ++#: index.c:3638 + msgid "Enter macro stroke: " + msgstr "Kurztastenkombination für Makro eingeben: " + + #. L10N: "message hotkey" is the key bindings menu description of a + #. macro created by . +-#: index.c:3620 ++#: index.c:3646 + msgid "message hotkey" + msgstr "Kurztaste für Nachricht" + + #. L10N: This is echoed after creates a new hotkey + #. macro. %s is the hotkey string ($mark_macro_prefix followed + #. by whatever they typed at the prompt.) +-#: index.c:3625 ++#: index.c:3651 + #, c-format + msgid "Message bound to %s" + msgstr "Nachricht wurde an %s gebunden" + + #. L10N: This error is printed if can't find a + #. Message-ID for the currently selected message in the index. +-#: index.c:3634 ++#: index.c:3660 + msgid "No message ID to macro" + msgstr "Makro benötigt eine Message-ID" + +-#: index.c:3688 pager.c:3221 recvattach.c:1646 ++#: index.c:3714 pager.c:3196 recvattach.c:1678 + msgid "Reply by mail as poster prefers?" + msgstr "Gemäß dem Wunsch des Autors per Mail antworten?" + +-#: index.c:3691 pager.c:3182 pager.c:3194 pager.c:3224 ++#: index.c:3717 pager.c:3157 pager.c:3169 pager.c:3199 + msgid "Posting to this group not allowed, may be moderated. Continue?" + msgstr "Das Veröffentlichen in der Newsgroup ist nicht erlaubt, ggf. wird diese moderiert. Fortfahren?" + + #. L10N: CHECK_ACL +-#: index.c:3768 pager.c:3397 ++#: index.c:3794 pager.c:3375 + msgid "Can't undelete message" + msgstr "Kann Löschmarkierung nicht entfernen" + +-#: init.c:313 ++#: init.c:223 + #, c-format + msgid "Error in command line: %s" + msgstr "Fehler in Kommandozeile: %s" + +-#: init.c:315 ++#: init.c:225 + #, c-format + msgid "Warning in command line: %s" + msgstr "Warnung in der Kommandozeile: %s" + +-#: init.c:426 ++#: init.c:336 + msgid "unable to determine nodename via uname()" + msgstr "Kann Netzwerknamen nicht durch uname() bestimmen." + +-#: init.c:580 +-msgid "-group: no group name" +-msgstr "-group: Kein Gruppen Name" +- +-#: init.c:590 +-msgid "out of arguments" +-msgstr "Zu wenige Parameter" +- +-#: init.c:804 init.c:1752 +-#, c-format +-msgid "Error: Can't build path of '%s'" +-msgstr "Fehler: Es gibt keinen Pfad zu '%s'" +- +-#: init.c:817 +-#, c-format +-msgid "Error: Cyclic sourcing of configuration file '%s'" +-msgstr "Fehler: Endlosschleife beim Einlesen der Konfigurationsdatei '%s'" +- +-#: init.c:850 +-#, c-format +-msgid "Error in %s, line %d: %s" +-msgstr "Fehler in %s, Zeile %d: %s" +- +-#: init.c:861 +-#, c-format +-msgid "Warning in %s, line %d: %s" +-msgstr "Warnung in %s, Zeile %d: %s" +- +-#: init.c:885 +-#, c-format +-msgid "source: errors in %s" +-msgstr "source: Fehler in %s" +- +-#: init.c:885 +-#, c-format +-msgid "source: reading aborted due to too many errors in %s" +-msgstr "source: Lesevorgang abgebrochen, zu viele Fehler in %s" +- +-#: init.c:894 +-#, c-format +-msgid "source: %d warning in %s" +-msgid_plural "source: %d warnings in %s" +-msgstr[0] "source: %d Warnung in %s" +-msgstr[1] "source: %d Warnungen in %s" +- +-#: init.c:923 +-msgid "alias: no address" +-msgstr "Kurzname: fehlende Adresse" +- +-#: init.c:965 +-#, c-format +-msgid "Warning: Bad IDN '%s' in alias '%s'" +-msgstr "Warnung: Ungültige IDN '%s' in Kurzname '%s'" +- +-#: init.c:1043 +-msgid "attachments: no disposition" +-msgstr "attachments: keine Disposition" +- +-#: init.c:1054 +-msgid "Current attachments settings:" +-msgstr "Aktuelle Einstellung für Anhänge:" +- +-#: init.c:1084 +-msgid "attachments: invalid disposition" +-msgstr "attachments: ungültige disposition" +- +-#: init.c:1160 +-#, c-format +-msgid "%sgroup: missing -rx or -addr" +-msgstr "%sgroup: Es fehlt -rx oder -addr" +- +-#: init.c:1186 +-#, c-format +-msgid "%sgroup: warning: bad IDN '%s'" +-msgstr "%sgroup: Warnung: Ungültige IDN '%s'" +- +-#: init.c:1278 +-#, c-format +-msgid "Error: %s" +-msgstr "Fehler: %s" +- +-#: init.c:1445 +-msgid "invalid header field" +-msgstr "Ungültiges Kopffeld" +- +-#: init.c:1711 init.c:1815 +-#, c-format +-msgid "%s: unknown variable" +-msgstr "%s: unbekannte Variable" +- +-#: init.c:1908 +-#, c-format +-msgid "%s is unset" +-msgstr "%s ist nicht gesetzt" +- +-#: init.c:1953 mutt_lua.c:478 +-#, c-format +-msgid "source: error at %s" +-msgstr "source: Fehler bei %s" +- +-#: init.c:1961 +-#, c-format +-msgid "source: file %s could not be sourced" +-msgstr "source: Datei %s konnte nicht eingelesen werden" +- +-#: init.c:1984 +-msgid "spam: no matching pattern" +-msgstr "Spam: kein passendes Muster" +- +-#: init.c:1986 +-msgid "nospam: no matching pattern" +-msgstr "nospam: kein passendes Muster" +- +-#: init.c:2146 +-#, c-format +-msgid "Could not subscribe to %s" +-msgstr "Konnte %s nicht abonnieren" +- +-#: init.c:2154 init.c:2632 +-msgid "No folder specified" +-msgstr "Kein Ordner angegeben" +- +-#: init.c:2341 +-msgid "unattachments: no disposition" +-msgstr "unattachments: keine Disposition" +- +-#: init.c:2379 +-msgid "unattachments: invalid disposition" +-msgstr "unattachments: ungültige disposition" +- +-#: init.c:2624 +-#, c-format +-msgid "Could not unsubscribe from %s" +-msgstr "Konnte Abonnement von %s nicht abbestellen" +- +-#: init.c:3292 ++#: init.c:1042 + #, c-format + msgid "%s: unknown command" + msgstr "%s: Unbekanntes Kommando" + +-#: init.c:3837 ++#: init.c:1588 + msgid "'charset' must contain exactly one character set name" + msgstr "'charset' muss genau einen Zeichensatz enthalten" + +-#: init.c:3853 init.c:3877 init.c:3912 ++#: init.c:1604 init.c:1628 init.c:1663 + #, c-format + msgid "Invalid value for option %s: %s" + msgstr "Ungültiger Wert für Option %s: %s" + +-#: init.c:3890 ++#: init.c:1641 + #, c-format + msgid "Option %s may not be set or reset from the pager" + msgstr "Option %s kann vom Pager aus weder gesetzt noch zurückgesetzt werden" + +-#: init.c:3928 ++#: init.c:1679 + #, c-format + msgid "Option %s may not be set when in attach-message mode" + msgstr "Option %s kann im Nachrichte-Anhangmodus nicht gesetzt werden" + + #. L10N: This applies to the "$wrap_headers" config variable +-#: init.c:3943 ++#: init.c:1694 + #, c-format + msgid "Option %s must between 78 and 998 inclusive" + msgstr "Option %s muss zwischen 78 und einschließlich 998 eingestellt werden" + +-#: keymap.c:373 keymap.c:381 ++#: keymap.c:371 keymap.c:379 + #, c-format + msgid "Binding '%s' will alias '%s' Before, try: 'bind %s %s noop' https://neomutt.org/guide/configuration.html#bind-warnings" + msgstr "Tastenkombination '%s' überdeckt '%s'. Setze zuerst: 'bind %s %s noop', siehe auch https://neomutt.org/guide/configuration.html#bind-warnings" + +-#: keymap.c:757 ++#: keymap.c:755 + msgid "Macro loop detected" + msgstr "Makroschleife gefunden" + +-#: keymap.c:1064 keymap.c:1099 ++#: keymap.c:1062 keymap.c:1097 + msgid "Key is not bound" + msgstr "Taste ist nicht belegt" + +-#: keymap.c:1104 ++#: keymap.c:1102 + #, c-format + msgid "Key is not bound. Press '%s' for help." + msgstr "Taste ist nicht belegt. '%s' für Hilfe drücken." + +-#: keymap.c:1177 ++#: keymap.c:1175 + #, c-format + msgid "%s: null key sequence" + msgstr "%s: Leere Tastenfolge" + +-#: keymap.c:1212 ++#: keymap.c:1210 + #, c-format + msgid "Function '%s' not available for menu '%s'" + msgstr "Funktion '%s' ist nicht verfügbar für Menü '%s'" + +-#: keymap.c:1495 ++#: keymap.c:1493 + msgid "macro: empty key sequence" + msgstr "macro: Leere Tastenfolge" + +-#: keymap.c:1543 ++#: keymap.c:1541 + msgid "exec: no arguments" + msgstr "exec: Keine Parameter" + +-#: keymap.c:1563 ++#: keymap.c:1561 + #, c-format + msgid "%s: no such function" + msgstr "%s: Funktion unbekannt" + +-#: keymap.c:1584 ++#: keymap.c:1582 + msgid "Enter keys (^G to abort): " + msgstr "Tasten drücken (^G zum Abbrechen): " + +-#: keymap.c:1590 ++#: keymap.c:1588 + #, c-format + msgid "Char = %s, Octal = %o, Decimal = %d" + msgstr "Zeichen = %s, Oktal = %o, Dezimal = %d" +@@ -3019,7 +3123,7 @@ msgstr "Kann keinen Mailcap-Eintrag für %s finden" + msgid "Scanning %s..." + msgstr "Durchsuche %s..." + +-#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:353 ++#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:351 + #, c-format + msgid "Reading %s..." + msgstr "Lese %s..." +@@ -3033,13 +3137,13 @@ msgid "md_commit_message(): unable to set time on file" + msgstr "md_commit_message(): kann Dateizeitstempel nicht setzen" + + #. L10N: Displayed before/as a mailbox is being synced +-#: maildir/shared.c:1723 mbox/mbox.c:1276 mx.c:461 notmuch/mutt_notmuch.c:2364 ++#: maildir/shared.c:1734 mbox/mbox.c:1276 mx.c:459 notmuch/mutt_notmuch.c:2364 + #, c-format + msgid "Writing %s..." + msgstr "Schreibe %s..." + + #. L10N: Try to limit to 80 columns +-#: main.c:227 ++#: main.c:160 + msgid "" + "usage:\n" + " neomutt [-Enx] [-e ] [-F ] [-H ] [-i ]\n" +@@ -3080,7 +3184,7 @@ msgstr "" + " neomutt -v[v]\n" + + #. L10N: Try to limit to 80 columns. If more space is needed add an indented line +-#: main.c:247 ++#: main.c:180 + msgid "" + "options:\n" + " -- Special argument forces NeoMutt to stop option parsing and treat\n" +@@ -3164,54 +3268,54 @@ msgstr "" + " -z Öffne die erste oder angegebene (-f) Mailbox, sofern Nachrichten\n" + " enthalten sind, anderenfalls beende umgehend mit Rückgabewert 1" + +-#: main.c:312 ++#: main.c:245 + msgid "Error initializing terminal" + msgstr "Kann Terminal nicht initialisieren" + +-#: main.c:390 ++#: main.c:323 + msgid "unable to determine username" + msgstr "Kann Nutzernamen nicht bestimmen" + +-#: main.c:396 ++#: main.c:329 + msgid "unable to determine home directory" + msgstr "Kann Home-Verzeichnis nicht bestimmen" + +-#: main.c:640 ++#: main.c:572 + #, c-format + msgid "Error: value '%s' is invalid for -d" + msgstr "Fehler: Wert '%s' ist ungültig für -d" + +-#: main.c:884 ++#: main.c:815 + msgid "Failed to parse mailto: link" + msgstr "Fehler beim Verarbeiten von mailto: Link" + +-#: main.c:896 send.c:2452 send.c:2456 ++#: main.c:827 send.c:2463 send.c:2467 + msgid "No recipients specified" + msgstr "Keine Empfänger angegeben" + +-#: main.c:923 ++#: main.c:854 + msgid "Can't use -E flag with stdin" + msgstr "Parameter -E funktioniert nicht mit stdin" + +-#: main.c:1007 ++#: main.c:938 + #, c-format + msgid "Can't parse message template: %s" + msgstr "Kann Nachrichtenvorlage nicht verarbeiten: %s" + +-#: main.c:1073 mutt_header.c:329 ++#: main.c:1004 mutt_header.c:329 + #, c-format + msgid "%s: unable to attach file" + msgstr "%s: Kann Datei nicht anhängen" + +-#: main.c:1156 ++#: main.c:1087 + msgid "No mailbox with new mail" + msgstr "Keine Mailbox mit neuen Nachrichten" + +-#: main.c:1180 ++#: main.c:1111 + msgid "No incoming mailboxes defined" + msgstr "Keine Eingangs-Mailboxen definiert" + +-#: main.c:1230 ++#: main.c:1161 + msgid "Mailbox is empty" + msgstr "Mailbox ist leer" + +@@ -3253,52 +3357,52 @@ msgstr "Konnte Mailbox nicht erneut öffnen" + msgid "Can't write message" + msgstr "Kann Nachricht nicht schreiben" + +-#: menu.c:632 ++#: menu.c:631 + msgid "Jump to: " + msgstr "Springe zu: " + +-#: menu.c:641 ++#: menu.c:640 + msgid "Invalid index number" + msgstr "Ungültige Indexnummer" + +-#: menu.c:645 menu.c:671 menu.c:744 menu.c:810 menu.c:828 menu.c:843 menu.c:858 +-#: menu.c:873 menu.c:890 menu.c:907 menu.c:1553 ++#: menu.c:644 menu.c:670 menu.c:743 menu.c:809 menu.c:827 menu.c:842 menu.c:857 ++#: menu.c:872 menu.c:889 menu.c:906 menu.c:1553 + msgid "No entries" + msgstr "Keine Einträge" + +-#: menu.c:668 ++#: menu.c:667 + msgid "You can't scroll down farther" + msgstr "Weiter nach unten geht es nicht" + +-#: menu.c:690 ++#: menu.c:689 + msgid "You can't scroll up farther" + msgstr "Weiter nach oben geht es nicht" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the first page" + msgstr "Dies ist die erste Seite" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the last page" + msgstr "Dies ist die letzte Seite" + +-#: menu.c:922 ++#: menu.c:921 + msgid "You are on the last entry" + msgstr "Dies ist der letzte Eintrag" + +-#: menu.c:937 ++#: menu.c:936 + msgid "You are on the first entry" + msgstr "Dies ist der erste Eintrag" + +-#: menu.c:1172 pager.c:2692 pattern.c:2578 ++#: menu.c:1172 pager.c:2666 pattern.c:2702 + msgid "Search for: " + msgstr "Suche nach: " + +-#: menu.c:1173 pager.c:2693 pattern.c:2579 ++#: menu.c:1173 pager.c:2667 pattern.c:2703 + msgid "Reverse search for: " + msgstr "Rückwärtssuche nach: " + +-#: menu.c:1226 pager.c:2641 pager.c:2666 pager.c:2800 pattern.c:2708 ++#: menu.c:1226 pager.c:2615 pager.c:2640 pager.c:2774 pattern.c:2832 + msgid "Not found" + msgstr "Nicht gefunden" + +@@ -3341,20 +3445,20 @@ msgstr "Warte auf flock-Versuch... %d" + msgid "Bad history file format (line %d)" + msgstr "Falsches Format der Verlaufdatei (Zeile %d)" + +-#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1006 ncrypt/crypt_gpgme.c:2381 +-#: ncrypt/crypt_gpgme.c:2401 ncrypt/crypt_gpgme.c:2460 +-#: ncrypt/crypt_gpgme.c:2477 ncrypt/crypt_gpgme.c:2509 +-#: ncrypt/crypt_gpgme.c:2527 ncrypt/crypt_gpgme.c:2611 +-#: ncrypt/crypt_gpgme.c:3194 ncrypt/crypt_gpgme.c:3292 +-#: ncrypt/crypt_gpgme.c:4373 ncrypt/pgp.c:576 ncrypt/pgp.c:583 ncrypt/pgp.c:896 +-#: ncrypt/pgp.c:1014 ncrypt/pgp.c:1161 ncrypt/pgp.c:1181 ncrypt/pgp.c:1215 +-#: ncrypt/pgp.c:1568 ncrypt/pgpkey.c:708 ncrypt/pgpkey.c:902 +-#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1092 ncrypt/smime.c:1100 +-#: ncrypt/smime.c:1191 ncrypt/smime.c:1299 ncrypt/smime.c:1364 +-#: ncrypt/smime.c:1372 ncrypt/smime.c:1571 ncrypt/smime.c:1967 +-#: ncrypt/smime.c:2046 ncrypt/smime.c:2053 ncrypt/smime.c:2156 +-#: ncrypt/smime.c:2281 ncrypt/smime.c:2297 nntp/nntp.c:1397 nntp/nntp.c:2237 +-#: pattern.c:1132 pop/pop.c:182 ++#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1005 ncrypt/crypt_gpgme.c:2420 ++#: ncrypt/crypt_gpgme.c:2440 ncrypt/crypt_gpgme.c:2499 ++#: ncrypt/crypt_gpgme.c:2516 ncrypt/crypt_gpgme.c:2548 ++#: ncrypt/crypt_gpgme.c:2566 ncrypt/crypt_gpgme.c:2650 ++#: ncrypt/crypt_gpgme.c:3237 ncrypt/crypt_gpgme.c:3335 ++#: ncrypt/crypt_gpgme.c:4421 ncrypt/pgp.c:575 ncrypt/pgp.c:582 ncrypt/pgp.c:895 ++#: ncrypt/pgp.c:1013 ncrypt/pgp.c:1160 ncrypt/pgp.c:1180 ncrypt/pgp.c:1214 ++#: ncrypt/pgp.c:1570 ncrypt/pgpkey.c:741 ncrypt/pgpkey.c:937 ++#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1126 ncrypt/smime.c:1134 ++#: ncrypt/smime.c:1225 ncrypt/smime.c:1333 ncrypt/smime.c:1398 ++#: ncrypt/smime.c:1406 ncrypt/smime.c:1605 ncrypt/smime.c:2001 ++#: ncrypt/smime.c:2080 ncrypt/smime.c:2087 ncrypt/smime.c:2190 ++#: ncrypt/smime.c:2315 ncrypt/smime.c:2331 nntp/nntp.c:1399 nntp/nntp.c:2239 ++#: pattern.c:1171 pop/pop.c:182 + msgid "Can't create temporary file" + msgstr "Kann Temporärdatei nicht erzeugen" + +@@ -3373,7 +3477,7 @@ msgstr "Schreibe Fehlersuche der Stufe %d nach Datei '%s'" + msgid "Logging at level %d to file '%s'" + msgstr "Schreibe Protokoll der Stufe %d nach Datei '%s'" + +-#: mutt/path.c:401 ++#: mutt/path.c:420 + msgid "Error: converting path to absolute" + msgstr "Fehler: kann Pfad nicht in absoluten Pfad konvertieren" + +@@ -3396,17 +3500,17 @@ msgstr "Signal %d (%s) empfangen ... Abbruch.\n" + msgid "Caught signal %d ... Exiting.\n" + msgstr "Signal %d empfangen ... Abbruch.\n" + +-#: muttlib.c:490 ++#: muttlib.c:488 + #, c-format + msgid "mutt_randbuf buflen=%zu" + msgstr "mutt_randbuf buflen=%zu" + +-#: muttlib.c:510 ++#: muttlib.c:508 + #, c-format + msgid "open /dev/urandom: %s" + msgstr "Öffne /dev/urandom: %s" + +-#: muttlib.c:517 ++#: muttlib.c:515 + #, c-format + msgid "read /dev/urandom: %s" + msgstr "Lese /dev/urandom: %s" +@@ -3414,146 +3518,119 @@ msgstr "Lese /dev/urandom: %s" + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) + #. These three letters correspond to the choices in the string. +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "File is a directory, save under it: (y)es, (n)o, (a)ll?" + msgstr "Datei ist ein Verzeichnis, darin abspeichern? (j)a, (n)ein, (a)lle?" + +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "yna" + msgstr "jna" + + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) +-#: muttlib.c:763 ++#: muttlib.c:761 + msgid "File is a directory, save under it?" + msgstr "Datei ist ein Verzeichnis, darin abspeichern?" + +-#: muttlib.c:768 ++#: muttlib.c:766 + msgid "File under directory: " + msgstr "Datei in diesem Verzeichnis: " + +-#: muttlib.c:781 ++#: muttlib.c:779 + msgid "File exists, (o)verwrite, (a)ppend, or (c)ancel?" + msgstr "Datei existiert, (u)eberschreiben, (a)nhängen, a(b)brechen?" + + #. L10N: Options for: File exists, (o)verwrite, (a)ppend, or (c)ancel? +-#: muttlib.c:783 ++#: muttlib.c:781 + msgid "oac" + msgstr "uab" + +-#: muttlib.c:1458 ++#: muttlib.c:1456 + msgid "Can't save message to POP mailbox" + msgstr "Kann Nachricht nicht in POP-Mailbox schreiben" + +-#: muttlib.c:1468 ++#: muttlib.c:1466 + #, c-format + msgid "Append messages to %s?" + msgstr "Nachricht %s hinzufügen?" + +-#: muttlib.c:1481 ++#: muttlib.c:1479 + msgid "Can't save message to news server" + msgstr "Kann Nachricht nicht auf dem Server speichern" + +-#. L10N: Example: Username at myhost.com +-#: mutt_account.c:233 +-#, c-format +-msgid "Username at %s: " +-msgstr "Benutzername am %s: " +- +-#: mutt_account.c:315 +-#, c-format +-msgid "Password for %s@%s: " +-msgstr "Passwort für %s@%s: " +- +-#. L10N: You will see this error message if (1) you have "oauthbearer" in +-#. one of your $*_authenticators and (2) you do not have the corresponding +-#. $*_oauth_refresh_command defined. So the message does not mean "None of +-#. your $*_oauth_refresh_command's are defined." +-#: mutt_account.c:383 +-msgid "No OAUTH refresh command defined" +-msgstr "Kein OAUTH Kommando zur Aktualisierung definiert" +- +-#: mutt_account.c:390 +-msgid "Unable to run refresh command" +-msgstr "Kann Kommando zur Aktualisierung nicht ausführen" +- +-#: mutt_account.c:400 +-msgid "Command returned empty string" +-msgstr "Kommando gibt leere Zeichenkette zurück" +- +-#: mutt_attach.c:140 mutt_attach.c:274 mutt_attach.c:459 mutt_attach.c:1054 ++#: mutt_attach.c:142 mutt_attach.c:276 mutt_attach.c:488 mutt_attach.c:1087 + msgid "Can't match 'nametemplate', continue?" + msgstr "Namensschema kann nicht erfüllt werden, fortfahren?" + +-#: mutt_attach.c:150 ++#: mutt_attach.c:152 + #, c-format + msgid "Mailcap compose entry requires %%s" + msgstr "\"compose\"-Eintrag in der Mailcap-Datei erfordert %%s" + +-#: mutt_attach.c:168 ++#: mutt_attach.c:170 + msgid "Failure to open file to parse headers" + msgstr "Kann Datei nicht öffnen, um Nachrichtenkopf zu untersuchen" + +-#: mutt_attach.c:202 ++#: mutt_attach.c:204 + msgid "Failure to open file to strip headers" + msgstr "Kann Datei nicht öffnen, um Nachrichtenkopf zu entfernen" + +-#: mutt_attach.c:212 ++#: mutt_attach.c:214 + msgid "Failure to rename file" + msgstr "Fehler beim Umbenennen der Datei" + +-#: mutt_attach.c:222 ++#: mutt_attach.c:224 + #, c-format + msgid "No mailcap compose entry for %s, creating empty file" + msgstr "Kein \"compose\"-Eintrag für %s in der Mailcap-Datei, erzeuge leere Datei" + +-#: mutt_attach.c:284 ++#: mutt_attach.c:286 + #, c-format + msgid "Mailcap Edit entry requires %%s" + msgstr "\"edit\"-Eintrag in Mailcap-Datei erfordert %%s" + +-#: mutt_attach.c:305 ++#: mutt_attach.c:307 + #, c-format + msgid "No mailcap edit entry for %s" + msgstr "Kein \"edit\"-Eintrag für %s in Mailcap-Datei" + +-#: mutt_attach.c:427 ++#: mutt_attach.c:456 + msgid "No matching mailcap entry found. Viewing as text." + msgstr "Keinen passenden Mailcap-Eintrag gefunden. Anzeige als Text." + +-#: mutt_attach.c:440 ++#: mutt_attach.c:469 + msgid "MIME type not defined. Can't view attachment." + msgstr "Undefinierter MIME-Typ. Kann Anhang nicht anzeigen." + +-#: mutt_attach.c:535 ++#: mutt_attach.c:563 + #, c-format + msgid "---Command: %-20.20s Description: %s" + msgstr "---Kommando: %-20.20s Beschreibung: %s" + +-#: mutt_attach.c:540 ++#: mutt_attach.c:568 + #, c-format + msgid "---Command: %-30.30s Attachment: %s" + msgstr "---Kommando: %-30.30s Anhang: %s" + +-#: mutt_attach.c:619 ++#: mutt_attach.c:652 + #, c-format + msgid "---Attachment: %s: %s" + msgstr "---Anhang: %s: %s" + +-#: mutt_attach.c:621 ++#: mutt_attach.c:654 + #, c-format + msgid "---Attachment: %s" + msgstr "---Anhang: %s" + +-#: mutt_attach.c:902 mutt_attach.c:910 ++#: mutt_attach.c:935 mutt_attach.c:943 + msgid "Write fault" + msgstr "Schreibfehler" + +-#: mutt_attach.c:1174 ++#: mutt_attach.c:1207 + msgid "I don't know how to print that" + msgstr "Ich weiß nicht, wie man dies druckt" + +-#: mutt_history.c:47 query.c:84 ++#: mutt_history.c:47 query.c:82 + msgid "Search" + msgstr "Suchen" + +@@ -3562,21 +3639,21 @@ msgstr "Suchen" + msgid "History '%s'" + msgstr "Verlauf '%s'" + +-#: mutt_logging.c:315 ++#: mutt_logging.c:313 + #, c-format + msgid "Invalid value for option %s: %ld" + msgstr "Ungültiger Wert für Option %s: %ld" + +-#: mutt_lua.c:429 ++#: mutt_lua.c:431 + msgid "Error: Couldn't load the lua interpreter" + msgstr "Fehler: Kann Lua Interpreter nicht laden" + +-#: mutt_lua.c:491 ++#: mutt_lua.c:493 + #, c-format + msgid "Couldn't source lua source: %s" + msgstr "Konnte Lua-Datei nicht laden: %s" + +-#: mutt_mailbox.c:214 ++#: mutt_mailbox.c:241 + msgid "New mail in " + msgstr "Neue Nachrichten in " + +@@ -3597,20 +3674,20 @@ msgstr "Oberste Bezugsnachricht ist in dieser begrenzten Ansicht nicht sichtbar" + msgid "Parent message is not visible in this limited view" + msgstr "Bezugsnachricht ist in dieser begrenzten Ansicht nicht sichtbar" + +-#: mx.c:387 ++#: mx.c:385 + #, c-format + msgid "Reading from %s interrupted..." + msgstr "Lesen von %s unterbrochen..." + + #. L10N: Displayed if a mailbox sync fails +-#: mx.c:468 ++#: mx.c:469 + #, c-format + msgid "Unable to write %s" + msgstr "Kann %s nicht schreiben" + + #. L10N: Although we know the precise number of messages, we do not show it to the user. + #. So feel free to use a "generic plural" as plural translation if your language has one. +-#: mx.c:523 ++#: mx.c:525 + msgid "message not deleted" + msgid_plural "messages not deleted" + msgstr[0] "Nachricht nicht gelöscht" +@@ -3620,69 +3697,69 @@ msgstr[1] "Nachrichten nicht gelöscht" + msgid "Can't open trash folder" + msgstr "Kann Papierkorb nicht öffnen" + +-#: mx.c:623 ++#: mx.c:627 + msgid "Mark all articles read?" + msgstr "Alle Artikel als gelesen markieren?" + + #. L10N: The first argument is the number of read messages to be + #. moved, the second argument is the target mailbox. +-#: mx.c:671 ++#: mx.c:675 + #, c-format + msgid "Move %d read message to %s?" + msgid_plural "Move %d read messages to %s?" + msgstr[0] "%d gelesene Nachricht nach %s verschieben?" + msgstr[1] "%d gelesene Nachrichten nach %s verschieben?" + +-#: mx.c:685 mx.c:917 ++#: mx.c:689 mx.c:936 + #, c-format + msgid "Purge %d deleted message?" + msgid_plural "Purge %d deleted messages?" + msgstr[0] "Entferne %d als gelöscht markierte Nachricht?" + msgstr[1] "Entferne %d als gelöscht markierte Nachrichten?" + +-#: mx.c:708 ++#: mx.c:712 + #, c-format + msgid "Moving read messages to %s..." + msgstr "Verschiebe gelesene Nachrichten nach %s..." + +-#: mx.c:774 mx.c:908 ++#: mx.c:783 mx.c:927 + msgid "Mailbox is unchanged" + msgstr "Mailbox unverändert" + +-#: mx.c:827 ++#: mx.c:842 + #, c-format + msgid "%d kept, %d moved, %d deleted" + msgstr "%d behalten, %d verschoben, %d gelöscht" + +-#: mx.c:831 mx.c:972 ++#: mx.c:846 mx.c:991 + #, c-format + msgid "%d kept, %d deleted" + msgstr "%d behalten, %d gelöscht" + +-#: mx.c:892 ++#: mx.c:911 + #, c-format + msgid " Press '%s' to toggle write" + msgstr " Drücke '%s' zum Umschalten des Schreibmodus" + +-#: mx.c:894 ++#: mx.c:913 + msgid "Use 'toggle-write' to re-enable write" + msgstr "'toggle-write' reaktiviert den Schreibmodus" + +-#: mx.c:896 ++#: mx.c:915 + #, c-format + msgid "Mailbox is marked unwritable. %s" + msgstr "Mailbox ist als schreibgeschützt markiert. %s" + +-#: mx.c:966 ++#: mx.c:985 + msgid "Mailbox checkpointed" + msgstr "Checkpoint in der Mailbox gesetzt" + +-#: ncrypt/crypt.c:93 ++#: ncrypt/crypt.c:91 + #, c-format + msgid " (current time: %c)" + msgstr " (aktuelle Zeit: %c)" + +-#: ncrypt/crypt.c:98 ++#: ncrypt/crypt.c:96 + #, c-format + msgid "[-- %s output follows%s --]\n" + msgstr "[-- %s Ausgabe folgt%s --]\n" +@@ -3691,52 +3768,52 @@ msgstr "[-- %s Ausgabe folgt%s --]\n" + #. by gpg-agent) we can't know whether we forgot zero, 1, 12, ... + #. passwords. So in English we use "Passphrases". Your language might + #. have other means to express this. +-#: ncrypt/crypt.c:119 ++#: ncrypt/crypt.c:117 + msgid "Passphrases forgotten" + msgstr "Mantra(s) vergessen" + +-#: ncrypt/crypt.c:203 ++#: ncrypt/crypt.c:201 + msgid "Inline PGP can't be used with attachments. Revert to PGP/MIME?" + msgstr "Inline-PGP funktioniert nicht mit Anhängen. PGP/MIME verwenden?" + +-#: ncrypt/crypt.c:207 ++#: ncrypt/crypt.c:205 + msgid "Mail not sent: inline PGP can't be used with attachments" + msgstr "Mail nicht versandt: Inline-PGP funktioniert nicht mit Anhängen" + +-#: ncrypt/crypt.c:214 ++#: ncrypt/crypt.c:212 + msgid "Inline PGP can't be used with format=flowed. Revert to PGP/MIME?" + msgstr "Inline-PGP funktioniert nicht mit format=flowed. PGP/MIME verwenden?" + +-#: ncrypt/crypt.c:218 ++#: ncrypt/crypt.c:216 + msgid "Mail not sent: inline PGP can't be used with format=flowed" + msgstr "Mail nicht versandt: Inline-PGP funktioniert nicht mit format=flowed" + +-#: ncrypt/crypt.c:228 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:714 +-#: ncrypt/pgpkey.c:915 ++#: ncrypt/crypt.c:226 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:747 ++#: ncrypt/pgpkey.c:950 + msgid "Invoking PGP..." + msgstr "Rufe PGP auf..." + +-#: ncrypt/crypt.c:240 ++#: ncrypt/crypt.c:238 + msgid "Message can't be sent inline. Revert to using PGP/MIME?" + msgstr "Nachricht kann nicht Inline verschickt werden. PGP/MIME verwenden?" + +-#: ncrypt/crypt.c:242 send.c:2430 ++#: ncrypt/crypt.c:240 send.c:2441 + msgid "Mail not sent" + msgstr "Nachricht nicht verschickt" + +-#: ncrypt/crypt.c:662 ++#: ncrypt/crypt.c:666 + msgid "S/MIME messages with no hints on content are unsupported" + msgstr "S/MIME-Nachrichten ohne Hinweis auf den Inhalt werden nicht unterstützt" + +-#: ncrypt/crypt.c:888 ++#: ncrypt/crypt.c:892 + msgid "Trying to extract PGP keys...\n" + msgstr "Versuche PGP-Schlüssel zu extrahieren...\n" + +-#: ncrypt/crypt.c:917 ++#: ncrypt/crypt.c:921 + msgid "Trying to extract S/MIME certificates..." + msgstr "Versuche S/MIME-Zertifikate zu extrahieren..." + +-#: ncrypt/crypt.c:1140 ++#: ncrypt/crypt.c:1144 + #, c-format + msgid "" + "[-- Error: Unknown multipart/signed protocol %s --]\n" +@@ -3745,7 +3822,7 @@ msgstr "" + "[-- Fehler: Unbekanntes multipart/signed Protokoll %s --]\n" + "\n" + +-#: ncrypt/crypt.c:1180 ++#: ncrypt/crypt.c:1184 + msgid "" + "[-- Error: Missing or bad-format multipart/signed signature --]\n" + "\n" +@@ -3753,7 +3830,7 @@ msgstr "" + "[-- Fehler: Inkonsistente multipart/signed Unterschrift --]\n" + "\n" + +-#: ncrypt/crypt.c:1222 ++#: ncrypt/crypt.c:1226 + #, c-format + msgid "" + "[-- Warning: We can't verify %s/%s signatures. --]\n" +@@ -3762,7 +3839,7 @@ msgstr "" + "[-- Warnung: %s/%s Unterschriften können nicht geprüft werden. --]\n" + "\n" + +-#: ncrypt/crypt.c:1235 ++#: ncrypt/crypt.c:1239 + msgid "" + "[-- The following data is signed --]\n" + "\n" +@@ -3770,7 +3847,7 @@ msgstr "" + "[-- Die folgenden Daten sind signiert --]\n" + "\n" + +-#: ncrypt/crypt.c:1243 ++#: ncrypt/crypt.c:1248 + msgid "" + "[-- Warning: Can't find any signatures. --]\n" + "\n" +@@ -3778,7 +3855,7 @@ msgstr "" + "[-- Warnung: Kann keine Unterschriften finden. --]\n" + "\n" + +-#: ncrypt/crypt.c:1249 ++#: ncrypt/crypt.c:1255 + msgid "" + "\n" + "[-- End of signed data --]\n" +@@ -3797,229 +3874,229 @@ msgstr "Rufe S/MIME auf..." + #. L10N: The following are the headers for the "verify key" output from the + #. GPGME key selection menu (bound to "c" in the key selection menu). + #. They will be automatically aligned. +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Name: " + msgstr "Name: " + +-#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1869 ncrypt/crypt_gpgme.c:1874 ++#: ncrypt/crypt_gpgme.c:183 ncrypt/crypt_gpgme.c:1900 ncrypt/crypt_gpgme.c:1905 + msgid "aka: " + msgstr "auch bekannt als: " + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Valid From: " + msgstr "Gültig ab: " + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Valid To: " + msgstr "Gültig bis: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Key Type: " + msgstr "Schlüsseltyp: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Key Usage: " + msgstr "Schlüsselgebrauch: " + +-#: ncrypt/crypt_gpgme.c:185 ncrypt/crypt_gpgme.c:1759 ++#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1790 + msgid "Fingerprint: " + msgstr "Fingerabdruck: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Serial-No: " + msgstr "Seriennr.: " + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + msgid "Issued By: " + msgstr "Herausgegeben von: " + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + msgid "Subkey: " + msgstr "Unterschlüssel: " + +-#: ncrypt/crypt_gpgme.c:783 ++#: ncrypt/crypt_gpgme.c:782 + #, c-format + msgid "error enabling CMS protocol: %s" + msgstr "Fehler beim Aktivieren des CMS-Protokolls : %s" + +-#: ncrypt/crypt_gpgme.c:806 ++#: ncrypt/crypt_gpgme.c:805 + #, c-format + msgid "error creating gpgme data object: %s" + msgstr "Fehler beim Erzeugen des GPGME-Datenobjekts: %s" + +-#: ncrypt/crypt_gpgme.c:907 ncrypt/crypt_gpgme.c:934 ncrypt/crypt_gpgme.c:2057 +-#: ncrypt/crypt_gpgme.c:2814 ++#: ncrypt/crypt_gpgme.c:906 ncrypt/crypt_gpgme.c:933 ncrypt/crypt_gpgme.c:2096 ++#: ncrypt/crypt_gpgme.c:2853 + #, c-format + msgid "error allocating data object: %s" + msgstr "Fehler beim Anlegen des Datenobjekts: %s" + +-#: ncrypt/crypt_gpgme.c:956 ++#: ncrypt/crypt_gpgme.c:955 + #, c-format + msgid "error rewinding data object: %s" + msgstr "Fehler beim Zurücklegen des Datenobjekts: %s" + +-#: ncrypt/crypt_gpgme.c:972 ++#: ncrypt/crypt_gpgme.c:971 + msgid "[tempfile]" + msgstr "[Temporärdatei]" + +-#: ncrypt/crypt_gpgme.c:978 ncrypt/crypt_gpgme.c:1032 ++#: ncrypt/crypt_gpgme.c:977 ncrypt/crypt_gpgme.c:1031 + #, c-format + msgid "error reading data object: %s" + msgstr "Fehler beim Lesen des Datenobjekts: %s" + +-#: ncrypt/crypt_gpgme.c:1149 ++#: ncrypt/crypt_gpgme.c:1148 + #, c-format + msgid "error adding recipient '%s': %s" + msgstr "Fehler beim Hinzufügen des Empfängers '%s': %s" + +-#: ncrypt/crypt_gpgme.c:1202 ++#: ncrypt/crypt_gpgme.c:1186 + #, c-format + msgid "secret key '%s' not found: %s" + msgstr "Geheimer Schlüssel '%s' nicht gefunden: %s" + +-#: ncrypt/crypt_gpgme.c:1218 ++#: ncrypt/crypt_gpgme.c:1203 + #, c-format + msgid "ambiguous specification of secret key '%s'\n" + msgstr "mehrdeutige Angabe des geheimen Schlüssels '%s'\n" + +-#: ncrypt/crypt_gpgme.c:1234 ++#: ncrypt/crypt_gpgme.c:1219 + #, c-format + msgid "error setting secret key '%s': %s" + msgstr "Fehler beim Setzen des geheimen Schlüssels '%s': %s" + +-#: ncrypt/crypt_gpgme.c:1250 ++#: ncrypt/crypt_gpgme.c:1278 + #, c-format + msgid "error setting PKA signature notation: %s" + msgstr "Fehler beim Setzen der Darstellung der PKA-Unterschrift: %s" + +-#: ncrypt/crypt_gpgme.c:1324 ++#: ncrypt/crypt_gpgme.c:1353 + #, c-format + msgid "error encrypting data: %s" + msgstr "Fehler beim Verschlüsseln der Daten: %s" + +-#: ncrypt/crypt_gpgme.c:1453 ++#: ncrypt/crypt_gpgme.c:1483 + #, c-format + msgid "error signing data: %s" + msgstr "Fehler beim Signieren der Daten: %s" + +-#: ncrypt/crypt_gpgme.c:1463 ++#: ncrypt/crypt_gpgme.c:1493 + msgid "$pgp_sign_as unset and no default key specified in ~/.gnupg/gpg.conf" + msgstr "$pgp_sign_as nicht gesetzt und kein Standardschlüssel in ~/.gnupg/gpg.conf benannt" + +-#: ncrypt/crypt_gpgme.c:1641 ++#: ncrypt/crypt_gpgme.c:1672 + msgid "Warning: One of the keys has been revoked\n" + msgstr "Warnung: Einer der Schlüssel wurde zurückgezogen\n" + +-#: ncrypt/crypt_gpgme.c:1651 ++#: ncrypt/crypt_gpgme.c:1682 + msgid "Warning: The key used to create the signature expired at: " + msgstr "Warnung: Der Signaturschlüssel ist verfallen am: " + +-#: ncrypt/crypt_gpgme.c:1657 ++#: ncrypt/crypt_gpgme.c:1688 + msgid "Warning: At least one certification key has expired\n" + msgstr "Warnung: Mindestens ein Zertifikat ist abgelaufen\n" + +-#: ncrypt/crypt_gpgme.c:1671 ++#: ncrypt/crypt_gpgme.c:1702 + msgid "Warning: The signature expired at: " + msgstr "Warnung: Die Signatur ist verfallen am: " + +-#: ncrypt/crypt_gpgme.c:1678 ++#: ncrypt/crypt_gpgme.c:1709 + msgid "Can't verify due to a missing key or certificate\n" + msgstr "Kann wegen fehlenden Schlüssels oder Zertifikats nicht geprüft werden\n" + +-#: ncrypt/crypt_gpgme.c:1683 ++#: ncrypt/crypt_gpgme.c:1714 + msgid "The CRL is not available\n" + msgstr "Die CRL ist nicht verfügbar.\n" + +-#: ncrypt/crypt_gpgme.c:1689 ++#: ncrypt/crypt_gpgme.c:1720 + msgid "Available CRL is too old\n" + msgstr "Verfügbare CRL ist zu alt\n" + +-#: ncrypt/crypt_gpgme.c:1694 ++#: ncrypt/crypt_gpgme.c:1725 + msgid "A policy requirement was not met\n" + msgstr "Eine Richtlinienanforderung wurde nicht erfüllt\n" + +-#: ncrypt/crypt_gpgme.c:1703 ++#: ncrypt/crypt_gpgme.c:1734 + msgid "A system error occurred" + msgstr "Ein Systemfehler ist aufgetreten" + +-#: ncrypt/crypt_gpgme.c:1734 ++#: ncrypt/crypt_gpgme.c:1765 + msgid "WARNING: PKA entry does not match signer's address: " + msgstr "WARNUNG: PKA-Eintrag entspricht nicht der Adresse des Unterzeichners: " + +-#: ncrypt/crypt_gpgme.c:1740 ++#: ncrypt/crypt_gpgme.c:1771 + msgid "PKA verified signer's address is: " + msgstr "Die PKA-geprüfte Adresse des Unterzeichners lautet: " + +-#: ncrypt/crypt_gpgme.c:1822 ++#: ncrypt/crypt_gpgme.c:1853 + msgid "WARNING: We have NO indication whether the key belongs to the person named as shown above\n" + msgstr "WARNUNG: Wir haben KEINEN Beleg, dass der Schlüssel zur oben genannten Person gehört\n" + +-#: ncrypt/crypt_gpgme.c:1829 ++#: ncrypt/crypt_gpgme.c:1860 + msgid "WARNING: The key does NOT BELONG to the person named as shown above\n" + msgstr "WARNUNG: Der Schlüssel gehört NICHT zur oben genannten Person\n" + +-#: ncrypt/crypt_gpgme.c:1833 ++#: ncrypt/crypt_gpgme.c:1864 + msgid "WARNING: It is NOT certain that the key belongs to the person named as shown above\n" + msgstr "WARNUNG: Es ist NICHT sicher, dass der Schlüssel zur oben genannten Person gehört\n" + +-#: ncrypt/crypt_gpgme.c:1886 ++#: ncrypt/crypt_gpgme.c:1917 + msgid "KeyID " + msgstr "KeyID " + + #. L10N: You will see this message in place of "KeyID " + #. if the S/MIME key has no ID. This is quite an error. +-#: ncrypt/crypt_gpgme.c:1893 ++#: ncrypt/crypt_gpgme.c:1924 + msgid "no signature fingerprint available" + msgstr "Kein Fingerabdruck zur Unterschrift verfügbar" + +-#: ncrypt/crypt_gpgme.c:1902 ncrypt/crypt_gpgme.c:1907 ++#: ncrypt/crypt_gpgme.c:1933 ncrypt/crypt_gpgme.c:1938 + msgid "created: " + msgstr "erstellt: " + +-#: ncrypt/crypt_gpgme.c:1981 ++#: ncrypt/crypt_gpgme.c:2012 + #, c-format + msgid "Error getting key information for KeyID %s: %s\n" + msgstr "Fehler beim Auslesen der Schlüsselinformation für KeyID %s: %s\n" + +-#: ncrypt/crypt_gpgme.c:1988 ncrypt/crypt_gpgme.c:2003 ++#: ncrypt/crypt_gpgme.c:2019 ncrypt/crypt_gpgme.c:2034 + msgid "Good signature from:" + msgstr "Gültige Unterschrift von:" + +-#: ncrypt/crypt_gpgme.c:1995 ++#: ncrypt/crypt_gpgme.c:2026 + msgid "*BAD* signature from:" + msgstr "*UNGÜLTIGE* Unterschrift von:" + +-#: ncrypt/crypt_gpgme.c:2011 ++#: ncrypt/crypt_gpgme.c:2042 + msgid "Problem signature from:" + msgstr "Problematische Unterschrift von:" + + #. L10N: This is trying to match the width of the + #. "Problem signature from:" translation just above. +-#: ncrypt/crypt_gpgme.c:2017 ++#: ncrypt/crypt_gpgme.c:2048 + msgid " expires: " + msgstr " läuft ab: " + +-#: ncrypt/crypt_gpgme.c:2064 ncrypt/crypt_gpgme.c:2294 +-#: ncrypt/crypt_gpgme.c:3081 ++#: ncrypt/crypt_gpgme.c:2103 ncrypt/crypt_gpgme.c:2333 ++#: ncrypt/crypt_gpgme.c:3124 + msgid "[-- Begin signature information --]\n" + msgstr "[-- Anfang der Unterschrift --]\n" + +-#: ncrypt/crypt_gpgme.c:2075 ++#: ncrypt/crypt_gpgme.c:2114 + #, c-format + msgid "Error: verification failed: %s\n" + msgstr "Fehler: Überprüfung fehlgeschlagen: %s\n" + +-#: ncrypt/crypt_gpgme.c:2126 ++#: ncrypt/crypt_gpgme.c:2165 + #, c-format + msgid "*** Begin Notation (signature by: %s) ***\n" + msgstr "*** Anfang Darstellung (Unterschrift von: %s) ***\n" + +-#: ncrypt/crypt_gpgme.c:2145 ++#: ncrypt/crypt_gpgme.c:2184 + msgid "*** End Notation ***\n" + msgstr "*** Ende Darstellung ***\n" + +-#: ncrypt/crypt_gpgme.c:2153 ncrypt/crypt_gpgme.c:2308 +-#: ncrypt/crypt_gpgme.c:3091 ++#: ncrypt/crypt_gpgme.c:2192 ncrypt/crypt_gpgme.c:2347 ++#: ncrypt/crypt_gpgme.c:3134 + msgid "" + "[-- End signature information --]\n" + "\n" +@@ -4027,7 +4104,7 @@ msgstr "" + "[-- Ende der Unterschrift --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:2268 ++#: ncrypt/crypt_gpgme.c:2307 + #, c-format + msgid "" + "[-- Error: decryption failed: %s --]\n" +@@ -4036,21 +4113,26 @@ msgstr "" + "[-- Fehler: Entschlüsselung fehlgeschlagen: %s --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:2821 ++#: ncrypt/crypt_gpgme.c:2860 + #, c-format + msgid "Error importing key: %s" + msgstr "Fehler beim Import des Schlüssels: %s" + +-#: ncrypt/crypt_gpgme.c:3059 ++#: ncrypt/crypt_gpgme.c:3098 + #, c-format + msgid "Error: decryption/verification failed: %s\n" + msgstr "Fehler: Entschlüsselung/Prüfung fehlgeschlagen: %s\n" + +-#: ncrypt/crypt_gpgme.c:3103 ++#: ncrypt/crypt_gpgme.c:3105 ncrypt/crypt_gpgme.c:3302 ncrypt/pgp.c:726 ++#: ncrypt/pgp.c:1273 ++msgid "PGP message successfully decrypted" ++msgstr "PGP-Nachricht erfolgreich entschlüsselt" ++ ++#: ncrypt/crypt_gpgme.c:3146 + msgid "Error: copy data failed\n" + msgstr "Fehler: Kopieren der Daten fehlgeschlagen\n" + +-#: ncrypt/crypt_gpgme.c:3116 ncrypt/pgp.c:675 ++#: ncrypt/crypt_gpgme.c:3159 ncrypt/pgp.c:674 + msgid "" + "[-- BEGIN PGP MESSAGE --]\n" + "\n" +@@ -4058,11 +4140,11 @@ msgstr "" + "[-- BEGIN PGP MESSAGE --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3118 ncrypt/pgp.c:677 ++#: ncrypt/crypt_gpgme.c:3161 ncrypt/pgp.c:676 + msgid "[-- BEGIN PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- BEGIN PGP PUBLIC KEY BLOCK --]\n" + +-#: ncrypt/crypt_gpgme.c:3120 ncrypt/pgp.c:679 ++#: ncrypt/crypt_gpgme.c:3163 ncrypt/pgp.c:678 + msgid "" + "[-- BEGIN PGP SIGNED MESSAGE --]\n" + "\n" +@@ -4070,19 +4152,19 @@ msgstr "" + "[-- BEGIN PGP SIGNED MESSAGE --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3145 ncrypt/pgp.c:716 ++#: ncrypt/crypt_gpgme.c:3188 ncrypt/pgp.c:715 + msgid "[-- END PGP MESSAGE --]\n" + msgstr "[-- END PGP MESSAGE --]\n" + +-#: ncrypt/crypt_gpgme.c:3147 ncrypt/pgp.c:730 ++#: ncrypt/crypt_gpgme.c:3190 ncrypt/pgp.c:729 + msgid "[-- END PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- END PGP PUBLIC KEY BLOCK --]\n" + +-#: ncrypt/crypt_gpgme.c:3149 ncrypt/pgp.c:732 ++#: ncrypt/crypt_gpgme.c:3192 ncrypt/pgp.c:731 + msgid "[-- END PGP SIGNED MESSAGE --]\n" + msgstr "[-- END PGP SIGNED MESSAGE --]\n" + +-#: ncrypt/crypt_gpgme.c:3170 ncrypt/pgp.c:765 ++#: ncrypt/crypt_gpgme.c:3213 ncrypt/pgp.c:764 + msgid "" + "[-- Error: could not find beginning of PGP message --]\n" + "\n" +@@ -4090,11 +4172,11 @@ msgstr "" + "[-- Fehler: Konnte Anfang der PGP-Nachricht nicht finden --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3198 ncrypt/crypt_gpgme.c:3296 ncrypt/pgp.c:1218 ++#: ncrypt/crypt_gpgme.c:3241 ncrypt/crypt_gpgme.c:3339 ncrypt/pgp.c:1218 + msgid "[-- Error: could not create temporary file --]\n" + msgstr "[-- Fehler: Konnte Temporärdatei nicht anlegen --]\n" + +-#: ncrypt/crypt_gpgme.c:3212 ++#: ncrypt/crypt_gpgme.c:3255 + msgid "" + "[-- The following data is PGP/MIME signed and encrypted --]\n" + "\n" +@@ -4102,7 +4184,7 @@ msgstr "" + "[-- Die folgenden Daten sind PGP/MIME-signiert und -verschlüsselt --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3214 ncrypt/pgp.c:1231 ++#: ncrypt/crypt_gpgme.c:3257 ncrypt/pgp.c:1232 + msgid "" + "[-- The following data is PGP/MIME encrypted --]\n" + "\n" +@@ -4110,24 +4192,20 @@ msgstr "" + "[-- Die folgenden Daten sind PGP/MIME-verschlüsselt --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3254 ++#: ncrypt/crypt_gpgme.c:3297 + msgid "[-- End of PGP/MIME signed and encrypted data --]\n" + msgstr "[-- Ende der PGP/MIME-signierten und -verschlüsselten Daten --]\n" + +-#: ncrypt/crypt_gpgme.c:3255 ncrypt/pgp.c:1267 ++#: ncrypt/crypt_gpgme.c:3298 ncrypt/pgp.c:1268 + msgid "[-- End of PGP/MIME encrypted data --]\n" + msgstr "[-- Ende der PGP/MIME-verschlüsselten Daten --]\n" + +-#: ncrypt/crypt_gpgme.c:3259 ncrypt/pgp.c:727 ncrypt/pgp.c:1272 +-msgid "PGP message successfully decrypted" +-msgstr "PGP-Nachricht erfolgreich entschlüsselt" +- +-#: ncrypt/crypt_gpgme.c:3265 ncrypt/pgp.c:666 ncrypt/pgp.c:718 +-#: ncrypt/pgp.c:1276 ++#: ncrypt/crypt_gpgme.c:3308 ncrypt/pgp.c:665 ncrypt/pgp.c:717 ++#: ncrypt/pgp.c:1277 + msgid "Could not decrypt PGP message" + msgstr "Konnte PGP-Nachricht nicht entschlüsseln" + +-#: ncrypt/crypt_gpgme.c:3310 ++#: ncrypt/crypt_gpgme.c:3353 + msgid "" + "[-- The following data is S/MIME signed --]\n" + "\n" +@@ -4135,7 +4213,7 @@ msgstr "" + "[-- Die folgenden Daten sind S/MIME signiert --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3311 ++#: ncrypt/crypt_gpgme.c:3354 + msgid "" + "[-- The following data is S/MIME encrypted --]\n" + "\n" +@@ -4143,34 +4221,34 @@ msgstr "" + "[-- Die folgenden Daten sind S/MIME-verschlüsselt --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3358 ++#: ncrypt/crypt_gpgme.c:3401 + msgid "[-- End of S/MIME signed data --]\n" + msgstr "[-- Ende der S/MIME-signierten Daten --]\n" + +-#: ncrypt/crypt_gpgme.c:3359 ++#: ncrypt/crypt_gpgme.c:3402 + msgid "[-- End of S/MIME encrypted data --]\n" + msgstr "[-- Ende der S/MIME-verschlüsselten Daten --]\n" + +-#: ncrypt/crypt_gpgme.c:4029 ++#: ncrypt/crypt_gpgme.c:4077 + msgid "[Can't display this user ID (unknown encoding)]" + msgstr "[Kann Benutzer-ID nicht darstellen (unbekannte Kodierung)]" + +-#: ncrypt/crypt_gpgme.c:4031 ++#: ncrypt/crypt_gpgme.c:4079 + msgid "[Can't display this user ID (invalid encoding)]" + msgstr "[Kann Benutzer-ID nicht darstellen (unzulässige Kodierung)]" + +-#: ncrypt/crypt_gpgme.c:4036 ++#: ncrypt/crypt_gpgme.c:4084 + msgid "[Can't display this user ID (invalid DN)]" + msgstr "[Kann Benutzer-ID nicht darstellen (unzulässiger DN)]" + + #. L10N: comes after the Name or aka if the key is invalid + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4150 ncrypt/crypt_gpgme.c:4291 ++#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4339 + msgid "[Invalid]" + msgstr "[Ungültig]" + + #. L10N: This is printed after "Key Type: " and looks like this: PGP, 2048 bit RSA +-#: ncrypt/crypt_gpgme.c:4190 ncrypt/crypt_gpgme.c:4331 ++#: ncrypt/crypt_gpgme.c:4238 ncrypt/crypt_gpgme.c:4379 + #, c-format + msgid "%s, %lu bit %s\n" + msgid_plural "%s, %lu bit %s\n" +@@ -4178,94 +4256,94 @@ msgstr[0] "%s, %lu Bit %s\n" + msgstr[1] "%s, %lu Bit %s\n" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4338 ++#: ncrypt/crypt_gpgme.c:4246 ncrypt/crypt_gpgme.c:4386 + msgid "encryption" + msgstr "Verschlüsselung" + +-#: ncrypt/crypt_gpgme.c:4199 ncrypt/crypt_gpgme.c:4205 +-#: ncrypt/crypt_gpgme.c:4339 ncrypt/crypt_gpgme.c:4344 ++#: ncrypt/crypt_gpgme.c:4247 ncrypt/crypt_gpgme.c:4253 ++#: ncrypt/crypt_gpgme.c:4387 ncrypt/crypt_gpgme.c:4392 + msgid ", " + msgstr ", " + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4204 ncrypt/crypt_gpgme.c:4343 ++#: ncrypt/crypt_gpgme.c:4252 ncrypt/crypt_gpgme.c:4391 + msgid "signing" + msgstr "Signieren" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4210 ncrypt/crypt_gpgme.c:4348 ++#: ncrypt/crypt_gpgme.c:4258 ncrypt/crypt_gpgme.c:4396 + msgid "certification" + msgstr "Zertifikat" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4285 ++#: ncrypt/crypt_gpgme.c:4333 + msgid "[Revoked]" + msgstr "[Zurückgez.]" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4297 ++#: ncrypt/crypt_gpgme.c:4345 + msgid "[Expired]" + msgstr "[Abgelaufen]" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4303 ++#: ncrypt/crypt_gpgme.c:4351 + msgid "[Disabled]" + msgstr "[Deaktiviert]" + +-#: ncrypt/crypt_gpgme.c:4376 ++#: ncrypt/crypt_gpgme.c:4424 + msgid "Collecting data..." + msgstr "Sammle Informationen..." + +-#: ncrypt/crypt_gpgme.c:4394 ++#: ncrypt/crypt_gpgme.c:4442 + #, c-format + msgid "Error finding issuer key: %s\n" + msgstr "Fehler bei der Suche nach dem Schlüssel des Herausgebers: %s\n" + +-#: ncrypt/crypt_gpgme.c:4403 ++#: ncrypt/crypt_gpgme.c:4451 + msgid "Error: certification chain too long - stopping here\n" + msgstr "Fehler: Zertifikatkette zu lang - Stoppe hier\n" + +-#: ncrypt/crypt_gpgme.c:4413 ncrypt/pgpkey.c:733 ++#: ncrypt/crypt_gpgme.c:4461 ncrypt/pgpkey.c:766 + #, c-format + msgid "Key ID: 0x%s" + msgstr "Schlüssel ID: 0x%s" + +-#: ncrypt/crypt_gpgme.c:4538 ncrypt/crypt_gpgme.c:4589 ++#: ncrypt/crypt_gpgme.c:4586 ncrypt/crypt_gpgme.c:4637 + #, c-format + msgid "gpgme_op_keylist_start failed: %s" + msgstr "gpgme_op_keylist_start fehlgeschlagen: %s" + +-#: ncrypt/crypt_gpgme.c:4577 ncrypt/crypt_gpgme.c:4619 +-#: ncrypt/crypt_gpgme.c:5355 ++#: ncrypt/crypt_gpgme.c:4625 ncrypt/crypt_gpgme.c:4667 ++#: ncrypt/crypt_gpgme.c:5435 + #, c-format + msgid "gpgme_op_keylist_next failed: %s" + msgstr "gpgme_op_keylist_next fehlgeschlagen: %s" + +-#: ncrypt/crypt_gpgme.c:4701 ++#: ncrypt/crypt_gpgme.c:4749 + msgid "All matching keys are marked expired/revoked" + msgstr "Alle passenden Schlüssel sind abgelaufen/zurückgezogen" + +-#: ncrypt/crypt_gpgme.c:4731 ncrypt/pgpkey.c:666 ncrypt/smime.c:551 ++#: ncrypt/crypt_gpgme.c:4779 ncrypt/pgpkey.c:669 ncrypt/smime.c:553 + msgid "Select " + msgstr "Auswahl " + +-#: ncrypt/crypt_gpgme.c:4733 ncrypt/pgpkey.c:668 ++#: ncrypt/crypt_gpgme.c:4781 ncrypt/pgpkey.c:671 + msgid "Check key " + msgstr "Schlüssel prüfen " + +-#: ncrypt/crypt_gpgme.c:4749 ++#: ncrypt/crypt_gpgme.c:4827 + msgid "PGP and S/MIME keys matching" + msgstr "Passende PGP- und S/MIME-Schlüssel" + +-#: ncrypt/crypt_gpgme.c:4751 ++#: ncrypt/crypt_gpgme.c:4829 + msgid "PGP keys matching" + msgstr "Passende PGP-Schlüssel" + +-#: ncrypt/crypt_gpgme.c:4753 ++#: ncrypt/crypt_gpgme.c:4831 + msgid "S/MIME keys matching" + msgstr "Passende S/MIME-Schlüssel" + +-#: ncrypt/crypt_gpgme.c:4755 ++#: ncrypt/crypt_gpgme.c:4833 + msgid "keys matching" + msgstr "Passende Schlüssel" + +@@ -4273,55 +4351,55 @@ msgstr "Passende Schlüssel" + #. %1$s is one of the previous four entries. + #. %2$s is an address. + #. e.g. "S/MIME keys matching " +-#: ncrypt/crypt_gpgme.c:4763 ++#: ncrypt/crypt_gpgme.c:4841 + #, c-format + msgid "%s <%s>" + msgstr "%s <%s>" + + #. L10N: e.g. 'S/MIME keys matching "Michael Elkins".' +-#: ncrypt/crypt_gpgme.c:4768 ++#: ncrypt/crypt_gpgme.c:4846 + #, c-format + msgid "%s \"%s\"" + msgstr "%s \"%s\"" + +-#: ncrypt/crypt_gpgme.c:4796 ncrypt/pgpkey.c:754 ++#: ncrypt/crypt_gpgme.c:4874 ncrypt/pgpkey.c:787 + msgid "This key can't be used: expired/disabled/revoked" + msgstr "Dieser Schlüssel ist nicht verwendbar: veraltet/deaktiviert/zurückgezogen" + +-#: ncrypt/crypt_gpgme.c:4810 ncrypt/pgpkey.c:767 ncrypt/smime.c:581 ++#: ncrypt/crypt_gpgme.c:4888 ncrypt/pgpkey.c:800 ncrypt/smime.c:613 + msgid "ID is expired/disabled/revoked. Do you really want to use the key?" + msgstr "Diese ID ist veraltet/deaktiviert/zurückgezogen. Soll dieser Schlüssel wirklich benutzt werden?" + +-#: ncrypt/crypt_gpgme.c:4820 ncrypt/pgpkey.c:779 ++#: ncrypt/crypt_gpgme.c:4898 ncrypt/pgpkey.c:812 + msgid "ID is not valid. Do you really want to use the key?" + msgstr "Diese ID ist ungültig. Soll dieser Schlüssel wirklich benutzt werden?" + +-#: ncrypt/crypt_gpgme.c:4823 ncrypt/pgpkey.c:782 ++#: ncrypt/crypt_gpgme.c:4901 ncrypt/pgpkey.c:815 + msgid "ID is only marginally valid. Do you really want to use the key?" + msgstr "Diese Gültigkeit dieser ID ist grenzwertig. Soll dieser Schlüssel wirklich benutzt werden?" + +-#: ncrypt/crypt_gpgme.c:4831 ncrypt/pgpkey.c:775 ncrypt/smime.c:585 ++#: ncrypt/crypt_gpgme.c:4909 ncrypt/pgpkey.c:808 ncrypt/smime.c:617 + msgid "ID has undefined validity. Do you really want to use the key?" + msgstr "Die Gültigkeit dieser ID ist undefiniert. Soll dieser Schlüssel wirklich benutzt werden?" + +-#: ncrypt/crypt_gpgme.c:4911 ncrypt/crypt_gpgme.c:5024 ncrypt/pgpkey.c:1019 +-#: ncrypt/pgpkey.c:1146 ++#: ncrypt/crypt_gpgme.c:4991 ncrypt/crypt_gpgme.c:5104 ncrypt/pgpkey.c:1054 ++#: ncrypt/pgpkey.c:1181 + #, c-format + msgid "Looking for keys matching \"%s\"..." + msgstr "Suche nach Schlüsseln, die auf \"%s\" passen..." + +-#: ncrypt/crypt_gpgme.c:5140 ncrypt/pgpkey.c:870 ncrypt/smime.c:924 ++#: ncrypt/crypt_gpgme.c:5220 ncrypt/pgpkey.c:905 ncrypt/smime.c:958 + #, c-format + msgid "No matching keys found for \"%s\"" + msgstr "Keine passenden Schlüssel für \"%s\" gefunden" + +-#: ncrypt/crypt_gpgme.c:5190 ncrypt/pgp.c:1456 ++#: ncrypt/crypt_gpgme.c:5270 ncrypt/pgp.c:1457 + #, c-format + msgid "Use keyID = \"%s\" for %s?" + msgstr "Benutze KeyID = \"%s\" für %s?" + +-#: ncrypt/crypt_gpgme.c:5238 ncrypt/pgp.c:1505 ncrypt/smime.c:944 +-#: ncrypt/smime.c:1049 ++#: ncrypt/crypt_gpgme.c:5318 ncrypt/pgp.c:1506 ncrypt/smime.c:978 ++#: ncrypt/smime.c:1083 + #, c-format + msgid "Enter keyID for %s: " + msgstr "KeyID für %s: " +@@ -4330,15 +4408,15 @@ msgstr "KeyID für %s: " + #. mutt_gpgme_select_secret_key() tries to list all secret keys to choose + #. from. This error is displayed if no results were found. + #. +-#: ncrypt/crypt_gpgme.c:5364 ++#: ncrypt/crypt_gpgme.c:5444 + msgid "No secret keys found" + msgstr "Keine geheimen Schlüsselgefunden" + +-#: ncrypt/crypt_gpgme.c:5398 ncrypt/pgpkey.c:888 ++#: ncrypt/crypt_gpgme.c:5478 ncrypt/pgpkey.c:923 + msgid "Please enter the key ID: " + msgstr "Bitte Schlüsselidentifikation eingeben: " + +-#: ncrypt/crypt_gpgme.c:5411 ++#: ncrypt/crypt_gpgme.c:5491 + #, c-format + msgid "Error exporting key: %s" + msgstr "Fehler beim Export des Schlüssels: %s" +@@ -4346,92 +4424,92 @@ msgstr "Fehler beim Export des Schlüssels: %s" + #. 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. +-#: ncrypt/crypt_gpgme.c:5429 ++#: ncrypt/crypt_gpgme.c:5509 + #, c-format + msgid "PGP Key 0x%s" + msgstr "PGP-Schlüssel 0x%s" + +-#: ncrypt/crypt_gpgme.c:5474 ++#: ncrypt/crypt_gpgme.c:5554 + msgid "GPGME: OpenPGP protocol not available" + msgstr "GPGME: OpenPGP-Protokoll nicht verfügbar" + +-#: ncrypt/crypt_gpgme.c:5485 ++#: ncrypt/crypt_gpgme.c:5565 + msgid "GPGME: CMS protocol not available" + msgstr "GPGME: CMS-Protokoll nicht verfügbar" + +-#: ncrypt/crypt_gpgme.c:5536 ++#: ncrypt/crypt_gpgme.c:5616 + msgid "S/MIME (s)ign, sign (a)s, (p)gp, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME (s)ign., sign. (a)ls, (p)gp, (u)nverschl., oder kein (w)ie-mögl.-Modus?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5538 ++#: ncrypt/crypt_gpgme.c:5618 + msgid "sapco" + msgstr "sapuw" + +-#: ncrypt/crypt_gpgme.c:5545 ++#: ncrypt/crypt_gpgme.c:5625 + msgid "PGP (s)ign, sign (a)s, s/(m)ime, (c)lear, or (o)ppenc mode off?" + msgstr "PGP (s)ign., sign. (a)ls, s/(m)ime, (u)nverschl., oder kein (w)ie-mögl.-Modus?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5547 ++#: ncrypt/crypt_gpgme.c:5627 + msgid "samco" + msgstr "samuw" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5557 ++#: ncrypt/crypt_gpgme.c:5637 + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME (v)erschl., (s)ign., sign. (a)ls, (b)eides, (p)gp, (u)nverschl., oder (w)ie-mögl.-Modus?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5560 ++#: ncrypt/crypt_gpgme.c:5640 + msgid "esabpco" + msgstr "vsabpuw" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5566 ++#: ncrypt/crypt_gpgme.c:5646 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime, (c)lear, or (o)ppenc mode?" + msgstr "PGP (v)erschl., (s)ign., sign. (a)ls, (b)eides, s/(m)ime, (u)nverschl., oder (w)ie-mögl.-Modus?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5569 ++#: ncrypt/crypt_gpgme.c:5649 + msgid "esabmco" + msgstr "vsabmuw" + +-#: ncrypt/crypt_gpgme.c:5580 ++#: ncrypt/crypt_gpgme.c:5660 + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp or (c)lear?" + msgstr "S/MIME (v)erschl., (s)ign., sign. (a)ls, (b)eides, (p)gp oder (u)nverschl.?" + + #. L10N: S/MIME options +-#: ncrypt/crypt_gpgme.c:5582 ++#: ncrypt/crypt_gpgme.c:5662 + msgid "esabpc" + msgstr "vsabpu" + +-#: ncrypt/crypt_gpgme.c:5589 ++#: ncrypt/crypt_gpgme.c:5669 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime or (c)lear?" + msgstr "PGP (v)erschl., (s)ign., sign. (a)ls, (b)eides, s/(m)ime oder (u)nverschl.?" + + #. L10N: PGP options +-#: ncrypt/crypt_gpgme.c:5591 ++#: ncrypt/crypt_gpgme.c:5671 + msgid "esabmc" + msgstr "vsabmu" + +-#: ncrypt/crypt_gpgme.c:5751 ++#: ncrypt/crypt_gpgme.c:5831 + msgid "Failed to verify sender" + msgstr "Prüfung des Absenders fehlgeschlagen" + +-#: ncrypt/crypt_gpgme.c:5754 ++#: ncrypt/crypt_gpgme.c:5834 + msgid "Failed to figure out sender" + msgstr "Kann Absender nicht ermitteln" + +-#: ncrypt/pgp.c:108 ++#: ncrypt/pgp.c:107 + msgid "Enter PGP passphrase:" + msgstr "PGP-Mantra eingeben:" + +-#: ncrypt/pgp.c:595 ++#: ncrypt/pgp.c:594 + msgid "[-- Error: unable to create PGP subprocess --]\n" + msgstr "[-- Fehler: Kann keinen PGP-Prozess erzeugen --]\n" + +-#: ncrypt/pgp.c:644 ncrypt/pgp.c:926 ncrypt/pgp.c:1086 ++#: ncrypt/pgp.c:643 ncrypt/pgp.c:925 ncrypt/pgp.c:1085 + msgid "" + "[-- End of PGP output --]\n" + "\n" +@@ -4442,15 +4520,15 @@ msgstr "" + #. L10N: You will see this error message if (1) you are decrypting + #. (not encrypting) something and (2) it is a plaintext. So the + #. message does not mean "You failed to encrypt the message." +-#: ncrypt/pgp.c:724 ++#: ncrypt/pgp.c:723 + msgid "PGP message is not encrypted" + msgstr "PGP-Nachricht ist nicht verschlüsselt" + +-#: ncrypt/pgp.c:978 ++#: ncrypt/pgp.c:977 + msgid "Internal error. Please submit a bug report." + msgstr "Interner Fehler. Diesen Fehler bitte melden." + +-#: ncrypt/pgp.c:1043 ++#: ncrypt/pgp.c:1042 + msgid "" + "[-- Error: could not create a PGP subprocess --]\n" + "\n" +@@ -4458,125 +4536,125 @@ msgstr "" + "[-- Fehler: Konnte PGP-Subprozess nicht erzeugen --]\n" + "\n" + +-#: ncrypt/pgp.c:1073 ncrypt/pgp.c:1098 ncrypt/smime.c:2143 postpone.c:757 +-#: postpone.c:785 ++#: ncrypt/pgp.c:1072 ncrypt/pgp.c:1097 ncrypt/smime.c:2177 postpone.c:803 ++#: postpone.c:831 + msgid "Decryption failed" + msgstr "Entschlüsselung gescheitert" + +-#: ncrypt/pgp.c:1333 ++#: ncrypt/pgp.c:1334 + msgid "Can't open PGP subprocess" + msgstr "Kann PGP-Subprozess nicht erzeugen" + +-#: ncrypt/pgp.c:1768 ++#: ncrypt/pgp.c:1770 + msgid "Can't invoke PGP" + msgstr "Kann PGP nicht aufrufen" + + #. L10N: The next string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1875 ++#: ncrypt/pgp.c:1877 + msgid "PGP/M(i)ME" + msgstr "PGP/M(i)ME" + + #. L10N: The previous string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1881 ++#: ncrypt/pgp.c:1883 + msgid "(i)nline" + msgstr "(i)nline" + + #. L10N: PGP options (inline) (opportunistic encryption is on) +-#: ncrypt/pgp.c:1893 ++#: ncrypt/pgp.c:1895 + #, c-format + msgid "PGP (s)ign, sign (a)s, %s format, (c)lear, or (o)ppenc mode off?" + msgstr "PGP (s)ign., sign. (a)ls, %s Format, (u)nverschl., oder kein (w)ie-mögl.-Modus?" + + #. L10N: PGP options (inline) (opportunistic encryption is on) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1899 ++#: ncrypt/pgp.c:1901 + msgid "saico" + msgstr "saiuw" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1905 ++#: ncrypt/pgp.c:1907 + msgid "PGP (s)ign, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "PGP (s)ign., sign. (a)ls, (u)nverschl., oder kein (w)ie-mögl.-Modus?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1907 ++#: ncrypt/pgp.c:1909 + msgid "saco" + msgstr "sauw" + + #. L10N: PGP options (inline) (opportunistic encryption is off) +-#: ncrypt/pgp.c:1921 ++#: ncrypt/pgp.c:1923 + #, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, (c)lear, or (o)ppenc mode?" + msgstr "PGP (v)erschl., (s)ign., sign. (a)ls, (b)eides, %s Format, (u)nverschl., oder (w)ie-mögl.-Modus?" + + #. L10N: PGP options (inline) (opportunistic encryption is off) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1927 ++#: ncrypt/pgp.c:1929 + msgid "esabico" + msgstr "vsabiuw" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1933 ++#: ncrypt/pgp.c:1935 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "PGP (v)erschl., (s)ign., sign. (a)ls, (b)eides, (u)nverschl., oder (w)ie-mögl.-Modus?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1936 ++#: ncrypt/pgp.c:1938 + msgid "esabco" + msgstr "vsabuw" + + #. L10N: PGP options (inline) +-#: ncrypt/pgp.c:1947 ++#: ncrypt/pgp.c:1949 + #, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, or (c)lear?" + msgstr "PGP (v)erschl., (s)ign., sign. (a)ls, (b)eides, %s Format, oder (u)nverschl.?" + + #. L10N: PGP options (inline) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1953 ++#: ncrypt/pgp.c:1955 + msgid "esabic" + msgstr "vsabiu" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1959 ++#: ncrypt/pgp.c:1961 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (c)lear?" + msgstr "PGP (v)erschl., (s)ign., sign. (a)ls, (b)eides, oder (u)nverschl.?" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1961 ++#: ncrypt/pgp.c:1963 + msgid "esabc" + msgstr "vsabu" + +-#: ncrypt/pgpinvoke.c:458 ++#: ncrypt/pgpinvoke.c:461 + msgid "Fetching PGP key..." + msgstr "Hole PGP-Schlüssel..." + +-#: ncrypt/pgpkey.c:640 ++#: ncrypt/pgpkey.c:643 + msgid "All matching keys are expired, revoked, or disabled" + msgstr "Alle passenden Schlüssel sind veraltet, zurückgezogen oder deaktiviert" + +-#: ncrypt/pgpkey.c:681 ++#: ncrypt/pgpkey.c:714 + #, c-format + msgid "PGP keys matching <%s>" + msgstr "PGP-Schlüssel, die zu <%s> passen" + +-#: ncrypt/pgpkey.c:683 ++#: ncrypt/pgpkey.c:716 + #, c-format + msgid "PGP keys matching \"%s\"" + msgstr "PGP-Schlüssel, die zu \"%s\" passen" + +-#: ncrypt/pgpkey.c:700 ncrypt/pgpkey.c:909 ++#: ncrypt/pgpkey.c:733 ncrypt/pgpkey.c:944 + msgid "Can't open /dev/null" + msgstr "Kann /dev/null nicht öffnen" + +-#: ncrypt/pgpkey.c:938 ++#: ncrypt/pgpkey.c:973 + #, c-format + msgid "PGP Key %s" + msgstr "PGP-Schlüssel %s" + +-#: ncrypt/smime.c:182 ++#: ncrypt/smime.c:180 + msgid "Enter S/MIME passphrase:" + msgstr "S/MIME-Mantra eingeben:" + +@@ -4585,7 +4663,7 @@ msgstr "S/MIME-Mantra eingeben:" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:460 ++#: ncrypt/smime.c:462 + msgid "Expired " + msgstr "Veraltet " + +@@ -4594,7 +4672,7 @@ msgstr "Veraltet " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:468 ++#: ncrypt/smime.c:470 + msgid "Invalid " + msgstr "Ungültig " + +@@ -4603,7 +4681,7 @@ msgstr "Ungültig " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:476 ++#: ncrypt/smime.c:478 + msgid "Revoked " + msgstr "Zurückgezogen " + +@@ -4612,7 +4690,7 @@ msgstr "Zurückgezogen " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:484 ++#: ncrypt/smime.c:486 + msgid "Trusted " + msgstr "Vertrauenswürdig " + +@@ -4621,7 +4699,7 @@ msgstr "Vertrauenswürdig " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:492 ++#: ncrypt/smime.c:494 + msgid "Unverified" + msgstr "Ungeprüft" + +@@ -4630,7 +4708,7 @@ msgstr "Ungeprüft" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:500 ++#: ncrypt/smime.c:502 + msgid "Verified " + msgstr "Geprüft " + +@@ -4639,58 +4717,58 @@ msgstr "Geprüft " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:508 ++#: ncrypt/smime.c:510 + msgid "Unknown " + msgstr "Unbekannt " + +-#: ncrypt/smime.c:545 ++#: ncrypt/smime.c:547 + #, c-format + msgid "S/MIME certificates matching \"%s\"" + msgstr "S/MIME-Zertifikate, die zu \"%s\" passen" + +-#: ncrypt/smime.c:589 ++#: ncrypt/smime.c:621 + msgid "ID is not trusted. Do you really want to use the key?" + msgstr "Diese ID ist nicht vertrauenswürdig. Soll dieser Schlüssel wirklich benutzt werden?" + +-#: ncrypt/smime.c:910 ++#: ncrypt/smime.c:944 + msgid "Enter keyID: " + msgstr "KeyID eingeben: " + +-#: ncrypt/smime.c:1055 ++#: ncrypt/smime.c:1089 + #, c-format + msgid "No (valid) certificate found for %s" + msgstr "Kein (gültiges) Zertifikat für %s gefunden" + +-#: ncrypt/smime.c:1108 ncrypt/smime.c:1137 ncrypt/smime.c:1209 +-#: ncrypt/smime.c:1243 ncrypt/smime.c:1319 ncrypt/smime.c:1399 ++#: ncrypt/smime.c:1142 ncrypt/smime.c:1171 ncrypt/smime.c:1243 ++#: ncrypt/smime.c:1277 ncrypt/smime.c:1353 ncrypt/smime.c:1433 + msgid "Error: unable to create OpenSSL subprocess" + msgstr "Fehler: Kann keinen OpenSSL-Unterprozess erzeugen" + +-#: ncrypt/smime.c:1379 ++#: ncrypt/smime.c:1413 + msgid "Label for certificate: " + msgstr "Etikett für Zertifikat: " + +-#: ncrypt/smime.c:1480 ++#: ncrypt/smime.c:1514 + msgid "no certfile" + msgstr "keine Zertifikatdatei" + +-#: ncrypt/smime.c:1483 ++#: ncrypt/smime.c:1517 + msgid "no mbox" + msgstr "keine Mailbox" + +-#: ncrypt/smime.c:1640 ncrypt/smime.c:1810 ++#: ncrypt/smime.c:1674 ncrypt/smime.c:1844 + msgid "No output from OpenSSL..." + msgstr "Keine Ausgabe von OpenSSL..." + +-#: ncrypt/smime.c:1727 ++#: ncrypt/smime.c:1761 + msgid "Can't sign: No key specified. Use Sign As." + msgstr "Kann nicht signieren: Kein Schlüssel angegeben. \"sign. als\" verwenden." + +-#: ncrypt/smime.c:1777 ++#: ncrypt/smime.c:1811 + msgid "Can't open OpenSSL subprocess" + msgstr "Kann OpenSSL-Unterprozess nicht erzeugen" + +-#: ncrypt/smime.c:2004 ncrypt/smime.c:2123 ++#: ncrypt/smime.c:2038 ncrypt/smime.c:2157 + msgid "" + "[-- End of OpenSSL output --]\n" + "\n" +@@ -4698,19 +4776,19 @@ msgstr "" + "[-- Ende der OpenSSL-Ausgabe --]\n" + "\n" + +-#: ncrypt/smime.c:2080 ncrypt/smime.c:2093 ++#: ncrypt/smime.c:2114 ncrypt/smime.c:2127 + msgid "[-- Error: unable to create OpenSSL subprocess --]\n" + msgstr "[-- Fehler: Kann keinen OpenSSL-Unterprozess erzeugen --]\n" + +-#: ncrypt/smime.c:2129 ++#: ncrypt/smime.c:2163 + msgid "[-- The following data is S/MIME encrypted --]\n" + msgstr "[-- Die folgenden Daten sind S/MIME-verschlüsselt --]\n" + +-#: ncrypt/smime.c:2132 ++#: ncrypt/smime.c:2166 + msgid "[-- The following data is S/MIME signed --]\n" + msgstr "[-- Die folgenden Daten sind S/MIME-signiert --]\n" + +-#: ncrypt/smime.c:2225 ++#: ncrypt/smime.c:2259 + msgid "" + "\n" + "[-- End of S/MIME encrypted data. --]\n" +@@ -4718,7 +4796,7 @@ msgstr "" + "\n" + "[-- Ende der S/MIME-verschlüsselten Daten --]\n" + +-#: ncrypt/smime.c:2227 ++#: ncrypt/smime.c:2261 + msgid "" + "\n" + "[-- End of S/MIME signed data. --]\n" +@@ -4727,160 +4805,160 @@ msgstr "" + "[-- Ende der S/MIME-signierten Daten --]\n" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2361 ++#: ncrypt/smime.c:2395 + msgid "S/MIME (s)ign, encrypt (w)ith, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME (s)ign., verschl. (m)it, sign. (a)ls, (u)nverschl., oder kein (w)ie-mögl.-Modus?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2364 ++#: ncrypt/smime.c:2398 + msgid "swaco" + msgstr "smauw" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2372 ++#: ncrypt/smime.c:2406 + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME (v)erschl., (s)ign., verschl. (m)it, sign. (a)ls, (b)eides, (u)nverschl., oder (w)ie-mögl.-Modus?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2375 ++#: ncrypt/smime.c:2409 + msgid "eswabco" + msgstr "vsmabuw" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2382 ++#: ncrypt/smime.c:2416 + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, or (c)lear?" + msgstr "S/MIME (v)erschl., (s)ign., verschl. (m)it, sign. (a)ls, (b)eides, (u)nverschlüsselt?" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2385 ++#: ncrypt/smime.c:2419 + msgid "eswabc" + msgstr "vsmabu" + +-#: ncrypt/smime.c:2449 ++#: ncrypt/smime.c:2483 + msgid "Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear?" + msgstr "Wähle Algorithmus: (1) DES, (2) RC2, (3) AES, oder (u)nverschlüsselt?" + + #. L10N: Options for: Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear? +-#: ncrypt/smime.c:2452 ++#: ncrypt/smime.c:2486 + msgid "123c" + msgstr "123u" + +-#: ncrypt/smime.c:2455 ++#: ncrypt/smime.c:2489 + msgid "(1) DES, (2) Triple-DES?" + msgstr "(1) DES, (2) Triple-DES?" + + #. L10N: Options for: (1) DES, (2) Triple-DES +-#: ncrypt/smime.c:2457 ++#: ncrypt/smime.c:2491 + msgid "12" + msgstr "12" + +-#: ncrypt/smime.c:2470 ++#: ncrypt/smime.c:2504 + msgid "(1) RC2-40, (2) RC2-64, (3) RC2-128?" + msgstr "(1) RC2-40, (2) RC2-64, (3) RC2-128?" + + #. L10N: Options for: (1) RC2-40, (2) RC2-64, (3) RC2-128 + #. L10N: Options for: (1) AES128, (2) AES192, (3) AES256 +-#: ncrypt/smime.c:2472 ncrypt/smime.c:2490 ++#: ncrypt/smime.c:2506 ncrypt/smime.c:2524 + msgid "123" + msgstr "123" + +-#: ncrypt/smime.c:2488 ++#: ncrypt/smime.c:2522 + msgid "(1) AES128, (2) AES192, (3) AES256?" + msgstr "(1) AES128, (2) AES192, (3) AES256?" + +-#: nntp/newsrc.c:632 ++#: nntp/newsrc.c:639 + msgid "Loading list of groups from cache..." + msgstr "Lese Liste der Newsgroups aus dem Cache..." + +-#: nntp/newsrc.c:997 ++#: nntp/newsrc.c:1023 + msgid "No news server defined" + msgstr "Kein Newsserver definiert" + +-#: nntp/newsrc.c:1012 ++#: nntp/newsrc.c:1041 + #, c-format + msgid "%s is an invalid news server specification" + msgstr "%s ist eine ungültige Newsserver-Angabe" + +-#: nntp/nntp.c:236 nntp/nntp.c:777 pop/pop.c:742 pop/pop_lib.c:398 ++#: nntp/nntp.c:238 nntp/nntp.c:779 pop/pop.c:742 pop/pop_lib.c:424 + msgid "Server closed connection" + msgstr "Server hat Verbindung beendet" + +-#: nntp/nntp.c:340 ++#: nntp/nntp.c:342 + msgid "Server doesn't support reader mode" + msgstr "Server unterstützt den Lesermodus nicht" + +-#: nntp/nntp.c:576 pop/pop_auth.c:504 smtp.c:650 ++#: nntp/nntp.c:578 pop/pop_auth.c:505 smtp.c:675 + msgid "No authenticators available" + msgstr "Keine Authentifizierung verfügbar" + +-#: nntp/nntp.c:766 ++#: nntp/nntp.c:768 + #, c-format + msgid "%s authentication failed" + msgstr "%s Authentifizierung fehlgeschlagen" + +-#: nntp/nntp.c:826 ++#: nntp/nntp.c:828 + #, c-format + msgid "Connection to %s lost. Reconnect?" + msgstr "Verbindung zu %s verloren. Erneut verbinden?" + +-#: nntp/nntp.c:1285 ++#: nntp/nntp.c:1287 + msgid "Fetching list of articles..." + msgstr "Hole Liste der Artikel..." + +-#: nntp/nntp.c:1549 nntp/nntp.c:2138 pop/pop.c:614 pop/pop.c:910 ++#: nntp/nntp.c:1551 nntp/nntp.c:2140 pop/pop.c:614 pop/pop.c:905 + msgid "Checking for new messages..." + msgstr "Prüfe auf neue Nachrichten..." + +-#: nntp/nntp.c:1864 nntp/nntp.c:1954 ++#: nntp/nntp.c:1866 nntp/nntp.c:1956 + msgid "Could not switch to reader mode" + msgstr "Konnte nicht in den Lesermodus wechseln" + +-#: nntp/nntp.c:1877 ++#: nntp/nntp.c:1879 + #, c-format + msgid "Connected to %s. %s" + msgstr "Verbunden mit %s. %s" + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + msgid "Posting is ok" + msgstr "Veröffentlichung ist OK" + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + msgid "Posting is NOT ok" + msgstr "Veröffentlichung ist NICHT OK" + +-#: nntp/nntp.c:2008 nntp/nntp.c:2043 ++#: nntp/nntp.c:2010 nntp/nntp.c:2045 + #, c-format + msgid "Can't post article: %s" + msgstr "Kann Artikel nicht veröffentlichen: %s" + +-#: nntp/nntp.c:2064 ++#: nntp/nntp.c:2066 + #, c-format + msgid "Loading list of groups from server %s..." + msgstr "Lade Liste der Newsgroups von Server %s..." + +-#: nntp/nntp.c:2106 nntp/nntp.c:2198 ++#: nntp/nntp.c:2108 nntp/nntp.c:2200 + msgid "Loading descriptions..." + msgstr "Lade Beschreibungen..." + +-#: nntp/nntp.c:2128 ++#: nntp/nntp.c:2130 + msgid "Checking for new newsgroups..." + msgstr "Prüfe auf neue Newsgroups..." + +-#: nntp/nntp.c:2332 ++#: nntp/nntp.c:2334 + msgid "Unable to find child articles because server does not support XPAT command" + msgstr "Kann keine Folgeartikel finden, weil der Server das XPAT-Kommando nicht unterstützt" + +-#: nntp/nntp.c:2437 ++#: nntp/nntp.c:2439 + #, c-format + msgid "%s is an invalid newsgroup specification" + msgstr "%s ist keine gültige Newsgroup-Angabe" + +-#: nntp/nntp.c:2476 ++#: nntp/nntp.c:2478 + #, c-format + msgid "Newsgroup %s not found on the server" + msgstr "Newsgroup %s wurde nicht auf dem Server gefunden" + +-#: nntp/nntp.c:2498 ++#: nntp/nntp.c:2500 + #, c-format + msgid "Newsgroup %s has been removed from the server" + msgstr "Newsgroup %s wurde vom Server entfernt" +@@ -4892,8 +4970,8 @@ msgstr "Fehler beim Verwenden von Notmuch-Anfrage-Typ: %s" + + #: notmuch/mutt_notmuch.c:219 notmuch/mutt_notmuch.c:1939 + #, c-format +-msgid "failed to parse notmuch uri: %s" +-msgstr "Fehler beim Verwenden von Notmuch-URI: %s" ++msgid "failed to parse notmuch url: %s" ++msgstr "Fehler beim Verwenden von Notmuch-URL: %s" + + #: notmuch/mutt_notmuch.c:449 + msgid "Invalid nm_query_window_timebase value (valid values are: hour, day, week, month or year)" +@@ -5983,182 +6061,182 @@ msgstr "Schalte um zwischen Seitenleiste sichtbar/unsichtbar" + msgid "show S/MIME options" + msgstr "Zeige S/MIME-Optionen" + +-#: pager.c:222 ++#: pager.c:214 + msgid "Not available in this menu" + msgstr "Funktion ist in diesem Menü nicht verfügbar" + +-#: pager.c:229 ++#: pager.c:221 + msgid "PrevPg" + msgstr "S.zurück" + +-#: pager.c:230 ++#: pager.c:222 + msgid "NextPg" + msgstr "S.vor" + +-#: pager.c:235 ++#: pager.c:227 + msgid "View Attachm." + msgstr "Anhänge betr." + +-#: pager.c:238 pager.c:247 ++#: pager.c:230 pager.c:239 + msgid "Next" + msgstr "Nächste Nachricht" + + #. L10N: Status bar message: the entire email is visible in the pager + #. L10N: Status bar message: all the emails are visible in the index +-#: pager.c:2180 status.c:278 ++#: pager.c:2136 status.c:278 + msgid "all" + msgstr "Alles" + + #. L10N: Status bar message: the end of the email is visible in the pager + #. L10N: Status bar message: the end of the list emails is visible in the index +-#: pager.c:2182 status.c:276 ++#: pager.c:2138 status.c:276 + msgid "end" + msgstr "Ende" + +-#: pager.c:2530 pager.c:2566 pager.c:2602 pager.c:2937 ++#: pager.c:2503 pager.c:2539 pager.c:2576 pager.c:2911 + msgid "Bottom of message is shown" + msgstr "Das Ende der Nachricht wird angezeigt" + +-#: pager.c:2543 pager.c:2573 pager.c:2580 pager.c:2590 ++#: pager.c:2516 pager.c:2546 pager.c:2553 pager.c:2564 + msgid "Top of message is shown" + msgstr "Der Beginn der Nachricht wird angezeigt" + +-#: pager.c:2840 ++#: pager.c:2814 + msgid "Help is currently being shown" + msgstr "Hilfe wird bereits angezeigt" + +-#: pager.c:2897 ++#: pager.c:2871 + msgid "No more quoted text" + msgstr "Kein weiterer zitierter Text" + +-#: pager.c:2914 ++#: pager.c:2888 + msgid "No more unquoted text after quoted text" + msgstr "Kein weiterer eigener Text nach zitiertem Text" + +-#: pattern.c:220 pattern.c:297 pattern.c:1046 ++#: pattern.c:221 pattern.c:298 pattern.c:1085 + #, c-format + msgid "Error in expression: %s" + msgstr "Fehler in Ausdruck: %s" + +-#: pattern.c:226 pattern.c:302 pattern.c:1052 ++#: pattern.c:227 pattern.c:303 pattern.c:1091 + msgid "Empty expression" + msgstr "Leerer Ausdruck" + +-#: pattern.c:288 ++#: pattern.c:289 + msgid "No search command defined" + msgstr "Kein Such-Kommando definiert" + +-#: pattern.c:326 ++#: pattern.c:327 + #, c-format + msgid "Running search command: %s ..." + msgstr "Suche gerade nach: %s …" + +-#: pattern.c:417 ++#: pattern.c:441 pattern.c:456 + #, c-format + msgid "Invalid day of month: %s" + msgstr "Ungültiger Tag des Monats: %s" + +-#: pattern.c:431 ++#: pattern.c:446 pattern.c:470 + #, c-format + msgid "Invalid month: %s" + msgstr "Ungültiger Monat: %s" + +-#: pattern.c:534 ++#: pattern.c:573 + #, c-format + msgid "Invalid relative date: %s" + msgstr "Ungültiges relatives Datum: %s" + +-#: pattern.c:842 pattern.c:975 ++#: pattern.c:881 pattern.c:1014 + msgid "No current message" + msgstr "Keine gegenwärtige Nachricht" + +-#: pattern.c:1002 ++#: pattern.c:1041 + msgid "No Context" + msgstr "Kein Kontext" + +-#: pattern.c:1125 ++#: pattern.c:1164 + msgid "Error opening 'memory stream'" + msgstr "Fehler beim Öffnen des Datenstroms" + +-#: pattern.c:1171 ++#: pattern.c:1210 + msgid "Error re-opening 'memory stream'" + msgstr "Fehler beim erneuten Öffnen des Datenstroms" + +-#: pattern.c:1180 ++#: pattern.c:1219 + msgid "Error opening /dev/null" + msgstr "Kann /dev/null nicht öffnen" + +-#: pattern.c:1443 pattern.c:1620 ++#: pattern.c:1482 pattern.c:1662 + #, c-format + msgid "error in pattern at: %s" + msgstr "Fehler in Muster bei: %s" + +-#: pattern.c:1476 ++#: pattern.c:1515 + #, c-format + msgid "missing pattern: %s" + msgstr "Fehlendes Muster: %s" + +-#: pattern.c:1494 pattern.c:1593 ++#: pattern.c:1533 pattern.c:1635 + #, c-format + msgid "mismatched parentheses: %s" + msgstr "Unpassende Klammern: %s" + +-#: pattern.c:1559 ++#: pattern.c:1598 + #, c-format + msgid "%c: invalid pattern modifier" + msgstr "%c: Ungültiger Suchmuster-Modifikator" + +-#: pattern.c:1564 ++#: pattern.c:1603 + #, c-format + msgid "%c: not supported in this mode" + msgstr "%c: Wird in diesem Modus nicht unterstützt" + +-#: pattern.c:1576 ++#: pattern.c:1618 + msgid "missing parameter" + msgstr "Fehlendes Parameterargument" + +-#: pattern.c:1626 ++#: pattern.c:1668 + msgid "empty pattern" + msgstr "Leeres Muster" + +-#: pattern.c:2080 pattern.c:2083 ++#: pattern.c:2202 pattern.c:2205 + msgid "error: server custom search only supported with IMAP" + msgstr "Fehler: Benutzerdefinierte serverseitige Suche wird nur bei IMAP unterstützt" + +-#: pattern.c:2274 ++#: pattern.c:2398 + #, c-format + msgid "error: unknown op %d (report this error)" + msgstr "Fehler: Unbekannter Suchmuster-Operator %d (Bitte Bug melden)" + +-#: pattern.c:2448 pattern.c:2604 ++#: pattern.c:2572 pattern.c:2728 + msgid "Compiling search pattern..." + msgstr "Kompiliere Suchmuster..." + +-#: pattern.c:2468 ++#: pattern.c:2592 + msgid "Executing command on matching messages..." + msgstr "Führe Kommando aus..." + +-#: pattern.c:2537 ++#: pattern.c:2661 + msgid "No messages matched criteria" + msgstr "Keine Nachrichten haben Kriterium erfüllt" + +-#: pattern.c:2641 ++#: pattern.c:2765 + msgid "Searching..." + msgstr "Suche..." + +-#: pattern.c:2655 ++#: pattern.c:2779 + msgid "Search hit bottom without finding match" + msgstr "Suche hat Ende erreicht, ohne Treffer zu erzielen" + +-#: pattern.c:2666 ++#: pattern.c:2790 + msgid "Search hit top without finding match" + msgstr "Suche hat Anfang erreicht, ohne Treffer zu erzielen" + +-#: pattern.c:2700 ++#: pattern.c:2824 + msgid "Search interrupted" + msgstr "Suche unterbrochen" + +-#: pop/pop.c:216 pop/pop_lib.c:234 ++#: pop/pop.c:216 pop/pop_lib.c:259 + msgid "Command TOP is not supported by server" + msgstr "Das Kommando TOP wird vom Server nicht unterstützt" + +@@ -6166,7 +6244,7 @@ msgstr "Das Kommando TOP wird vom Server nicht unterstützt" + msgid "Can't write header to temporary file" + msgstr "Kann Header nicht in Temporärdatei schreiben" + +-#: pop/pop.c:420 pop/pop_lib.c:236 ++#: pop/pop.c:420 pop/pop_lib.c:261 + msgid "Command UIDL is not supported by server" + msgstr "Kommando UIDL wird vom Server nicht unterstützt" + +@@ -6181,7 +6259,7 @@ msgstr[1] "%d Nachrichten verloren gegangen. Die Mailbox sollte erneut geöffnet + msgid "POP host is not defined" + msgstr "Es wurde kein POP-Server definiert" + +-#: pop/pop.c:596 pop/pop.c:825 ++#: pop/pop.c:596 pop/pop.c:790 pop/pop.c:820 + #, c-format + msgid "%s is an invalid POP path" + msgstr "%s ist ein ungültiger POP-Pfad" +@@ -6214,152 +6292,152 @@ msgid_plural "%s [%d of %d messages read]" + msgstr[0] "%s [%d von %d Nachricht gelesen]" + msgstr[1] "%s [%d von %d Nachrichten gelesen]" + +-#: pop/pop.c:876 ++#: pop/pop.c:871 + msgid "Fetching list of messages..." + msgstr "Hole Liste der Nachrichten..." + +-#: pop/pop.c:959 ++#: pop/pop.c:954 + msgid "Marking messages deleted..." + msgstr "Markiere Nachrichten zum Löschen..." + +-#: pop/pop.c:1150 ++#: pop/pop.c:1145 + msgid "Can't write message to temporary file" + msgstr "Kann Nachricht nicht in Temporärdatei schreiben" + +-#: pop/pop_auth.c:103 ++#: pop/pop_auth.c:104 + msgid "Authenticating (SASL)..." + msgstr "Authentifiziere (SASL)..." + +-#: pop/pop_auth.c:245 ++#: pop/pop_auth.c:246 + msgid "POP timestamp is invalid" + msgstr "POP-Zeitstempel ist ungültig" + +-#: pop/pop_auth.c:249 ++#: pop/pop_auth.c:250 + msgid "Authenticating (APOP)..." + msgstr "Authentifiziere (APOP)..." + +-#: pop/pop_auth.c:269 ++#: pop/pop_auth.c:270 + msgid "APOP authentication failed" + msgstr "APOP-Authentifizierung fehlgeschlagen" + +-#: pop/pop_auth.c:309 ++#: pop/pop_auth.c:310 + msgid "Command USER is not supported by server" + msgstr "Kommando USER wird vom Server nicht unterstützt" + +-#: pop/pop_auth.c:386 ++#: pop/pop_auth.c:387 + msgid "Authentication failed" + msgstr "Authentifizierung fehlgeschlagen" + +-#: pop/pop_lib.c:78 ++#: pop/pop_lib.c:103 + #, c-format + msgid "Invalid POP URL: %s" + msgstr "Ungültige POP-URL: %s" + +-#: pop/pop_lib.c:232 ++#: pop/pop_lib.c:257 + msgid "Unable to leave messages on server" + msgstr "Kann Nachrichten nicht auf dem Server belassen" + +-#: pop/pop_lib.c:274 ++#: pop/pop_lib.c:300 + #, c-format + msgid "Error connecting to server: %s" + msgstr "Fehler beim Verbinden mit dem Server: %s" + +-#: pop/pop_lib.c:414 ++#: pop/pop_lib.c:440 + msgid "Closing connection to POP server..." + msgstr "Beende Verbindung zum POP-Server..." + +-#: pop/pop_lib.c:605 ++#: pop/pop_lib.c:631 + msgid "Verifying message indexes..." + msgstr "Überprüfe Nachrichten-Indexe..." + +-#: pop/pop_lib.c:628 ++#: pop/pop_lib.c:654 + msgid "Connection lost. Reconnect to POP server?" + msgstr "Verbindung unterbrochen. Verbindung zum POP-Server wiederherstellen?" + +-#: postpone.c:229 ++#: postpone.c:260 + msgid "Postponed Messages" + msgstr "Zurückgestellte Nachrichten" + +-#: postpone.c:314 postpone.c:326 ++#: postpone.c:348 postpone.c:372 + msgid "No postponed messages" + msgstr "Keine zurückgestellten Nachrichten" + +-#: postpone.c:480 ++#: postpone.c:526 + msgid "Illegal S/MIME header" + msgstr "Unzulässiger S/MIME-Header" + +-#: postpone.c:510 postpone.c:551 postpone.c:560 ++#: postpone.c:556 postpone.c:597 postpone.c:606 + msgid "Illegal crypto header" + msgstr "Unzulässiger Krypto-Header" + +-#: postpone.c:644 postpone.c:752 postpone.c:780 ++#: postpone.c:690 postpone.c:798 postpone.c:826 + msgid "Decrypting message..." + msgstr "Entschlüssle Nachricht..." + +-#: query.c:82 ++#: query.c:80 + msgid "New Query" + msgstr "Neue Abfrage" + +-#: query.c:83 ++#: query.c:81 + msgid "Make Alias" + msgstr "Erzeuge Kurzname" + +-#: query.c:180 ++#: query.c:178 + msgid "Waiting for response..." + msgstr "Warte auf Antwort..." + +-#: query.c:362 query.c:400 ++#: query.c:365 query.c:434 + msgid "Query: " + msgstr "Abfrage: " + +-#: query.c:370 query.c:407 ++#: query.c:374 query.c:442 + #, c-format + msgid "Query '%s'" + msgstr "Abfrage: '%s'" + +-#: query.c:620 query.c:657 ++#: query.c:661 query.c:698 + msgid "Query command not defined" + msgstr "Kein Abfragekommando definiert" + +-#: recvattach.c:93 ++#: recvattach.c:91 + msgid "Pipe" + msgstr "Filtern" + +-#: recvattach.c:94 ++#: recvattach.c:92 + msgid "Print" + msgstr "Drucke" + +-#: recvattach.c:569 ++#: recvattach.c:571 + msgid "Saving..." + msgstr "Speichere..." + +-#: recvattach.c:573 recvattach.c:744 recvattach.c:748 ++#: recvattach.c:575 recvattach.c:746 recvattach.c:750 + #, c-format + msgid "Attachment saved" + msgid_plural "%d attachments saved" + msgstr[0] "Anhang gespeichert" + msgstr[1] "%d Anhänge gespeichert" + +-#: recvattach.c:772 ++#: recvattach.c:774 + #, c-format + msgid "WARNING! You are about to overwrite %s, continue?" + msgstr "WARNUNG! Datei %s existiert, überschreiben?" + +-#: recvattach.c:790 ++#: recvattach.c:792 + msgid "Attachment filtered" + msgstr "Anhang gefiltert" + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Filter through: " + msgstr "Filtere durch: " + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Pipe to: " + msgstr "Übergebe an (pipe): " + + #. L10N: s gets replaced by a MIME type, e.g. "text/plain" or + #. application/octet-stream. +-#: recvattach.c:935 ++#: recvattach.c:937 + #, c-format + msgid "I don't know how to print %s attachments" + msgstr "Kann %s Anhänge nicht drucken" +@@ -6367,55 +6445,55 @@ msgstr "Kann %s Anhänge nicht drucken" + #. L10N: Although we now the precise number of tagged messages, we + #. do not show it to the user. So feel free to use a "generic + #. plural" as plural translation if your language has one. +-#: recvattach.c:1038 ++#: recvattach.c:1040 + #, c-format + msgid "Print tagged attachment?" + msgid_plural "Print %d tagged attachments?" + msgstr[0] "Markierten Anhang drucken?" + msgstr[1] "%d markierte Anhänge drucken?" + +-#: recvattach.c:1039 ++#: recvattach.c:1041 + #, c-format + msgid "Print attachment?" + msgstr "Anhang drucken?" + +-#: recvattach.c:1123 ++#: recvattach.c:1125 + msgid "Structural changes to decrypted attachments are not supported" + msgstr "Strukturelle Änderungen entschlüsselter Anhänge werden nicht unterstützt" + +-#: recvattach.c:1291 ++#: recvattach.c:1293 + msgid "Can't decrypt encrypted message" + msgstr "Kann verschlüsselte Nachricht nicht entschlüsseln" + +-#: recvattach.c:1425 ++#: recvattach.c:1457 + msgid "Attachments" + msgstr "Anhänge" + +-#: recvattach.c:1465 ++#: recvattach.c:1497 + msgid "There are no subparts to show" + msgstr "Es sind keine Teile zur Anzeige vorhanden" + +-#: recvattach.c:1520 ++#: recvattach.c:1552 + msgid "Can't delete attachment from POP server" + msgstr "Kann Dateianhang nicht vom POP-Server löschen" + +-#: recvattach.c:1529 ++#: recvattach.c:1561 + msgid "Can't delete attachment from news server" + msgstr "Kann Dateianhang nicht vom Newsserver löschen" + +-#: recvattach.c:1536 ++#: recvattach.c:1568 + msgid "Deletion of attachments from encrypted messages is unsupported" + msgstr "Kann Anhänge verschlüsselter Nachrichten nicht löschen" + +-#: recvattach.c:1542 ++#: recvattach.c:1574 + msgid "Deletion of attachments from signed messages may invalidate the signature" + msgstr "Das Löschen von Anhängen signierter Nachrichten kann deren Signatur ungültig machen" + +-#: recvattach.c:1561 recvattach.c:1578 ++#: recvattach.c:1593 recvattach.c:1610 + msgid "Only deletion of multipart attachments is supported" + msgstr "Kann nur aus mehrteiligen Anhängen löschen" + +-#: recvcmd.c:79 ++#: recvcmd.c:78 + msgid "You may only bounce message/rfc822 parts" + msgstr "Nur message/rfc822-Anhänge können erneut versendet werden" + +@@ -6451,7 +6529,7 @@ msgstr "Kann %s nicht anlegen" + msgid "Can't find any tagged messages" + msgstr "Es sind keine markierten Nachrichten vorhanden" + +-#: recvcmd.c:848 send.c:1073 ++#: recvcmd.c:848 send.c:1072 + msgid "No mailing lists found" + msgstr "Keine Mailinglisten gefunden" + +@@ -6465,67 +6543,67 @@ msgstr "Nicht alle markierten Anhänge sind dekodierbar. MIME-encapsulate für d + msgid "You may only compose to sender with message/rfc822 parts" + msgstr "Nur message/rfc822-Anhänge können an den Adressaten versendet werden" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Append" + msgstr "Hinzufügen" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Insert" + msgstr "Einfügen" + +-#: remailer.c:78 ++#: remailer.c:76 + msgid "OK" + msgstr "OK" + +-#: remailer.c:210 ++#: remailer.c:207 + msgid "" + msgstr "" + +-#: remailer.c:586 ++#: remailer.c:617 + msgid "Can't get mixmaster's type2.list" + msgstr "Kann die \"type2.list\" für Mixmaster nicht holen" + +-#: remailer.c:612 ++#: remailer.c:673 + msgid "Select a remailer chain" + msgstr "Wähle eine Remailer Kette aus" + +-#: remailer.c:674 ++#: remailer.c:735 + #, c-format + msgid "Error: %s can't be used as the final remailer of a chain" + msgstr "Fehler: %s kann nicht als letzter Remailer einer Kette verwendet werden" + + #. L10N The '%d' here hard-coded to 19 +-#: remailer.c:706 ++#: remailer.c:767 + #, c-format + msgid "Mixmaster chains are limited to %d elements" + msgstr "Eine Mixmaster-Kette kann maximal %d Elemente enthalten" + +-#: remailer.c:729 ++#: remailer.c:790 + msgid "The remailer chain is already empty" + msgstr "Die Remailer-Kette ist bereits leer" + +-#: remailer.c:739 ++#: remailer.c:800 + msgid "You already have the first chain element selected" + msgstr "Das erste Element der Kette ist bereits ausgewählt worden" + +-#: remailer.c:749 ++#: remailer.c:810 + msgid "You already have the last chain element selected" + msgstr "Das letzte Element der Kette ist bereits ausgewählt worden" + +-#: remailer.c:792 ++#: remailer.c:856 + msgid "Mixmaster doesn't accept Cc or Bcc headers" + msgstr "Mixmaster unterstützt weder Cc: noch Bcc: Felder" + +-#: remailer.c:817 ++#: remailer.c:881 + msgid "Please set the hostname variable to a proper value when using mixmaster" + msgstr "Zur Verwendung von Mixmaster muss die Variable \"hostname\" richtig gesetzt sein" + +-#: remailer.c:860 ++#: remailer.c:924 + #, c-format + msgid "Error sending message, child exited %d.\n" + msgstr "Fehler %d beim Versand der Nachricht.\n" + +-#: remailer.c:864 ++#: remailer.c:928 + msgid "Error sending message" + msgstr "Fehler beim Versand der Nachricht" + +@@ -6555,41 +6633,41 @@ msgstr "Anhänge weiterleiten?" + + #. L10N: Asks whether the user respects the reply-to header. + #. If she says no, neomutt will reply to the from header's address instead. +-#: send.c:793 ++#: send.c:792 + #, c-format + msgid "Reply to %s%s?" + msgstr "Antworte an %s%s?" + +-#: send.c:838 ++#: send.c:837 + #, c-format + msgid "Follow-up to %s%s?" + msgstr "Antworte an %s%s?" + +-#: send.c:1122 ++#: send.c:1121 + msgid "Include message in reply?" + msgstr "Nachricht in Antwort zitieren?" + +-#: send.c:1128 ++#: send.c:1127 + msgid "Including quoted message..." + msgstr "Binde zitierte Nachricht ein..." + +-#: send.c:1137 ++#: send.c:1136 + msgid "Could not include all requested messages" + msgstr "Konnte nicht alle gewünschten Nachrichten zitieren" + +-#: send.c:1148 ++#: send.c:1147 + msgid "Forward as attachment?" + msgstr "Als Anhang weiterleiten?" + +-#: send.c:1153 ++#: send.c:1152 + msgid "Preparing forwarded message..." + msgstr "Bereite Nachricht zum Weiterleiten vor..." + +-#: send.c:1632 ++#: send.c:1631 + msgid "Fcc to an IMAP mailbox is not supported in batch mode" + msgstr "Fcc zu einer IMAP-Mailbox wird in diesem Modus nicht unterstützt" + +-#: send.c:1664 send.c:1690 ++#: send.c:1665 send.c:1675 send.c:1701 + msgid "Save attachments in Fcc?" + msgstr "Anhänge in Fcc-Mailbox speichern?" + +@@ -6597,190 +6675,190 @@ msgstr "Anhänge in Fcc-Mailbox speichern?" + #. (r)etry tries the same mailbox again. + #. alternate (m)ailbox prompts for a different mailbox to try. + #. (s)kip aborts saving. +-#: send.c:1712 ++#: send.c:1723 + msgid "Fcc failed. (r)etry, alternate (m)ailbox, or (s)kip?" + msgstr "Fcc fehlgeschlagen; (w)iederholen, (a)ndere Mailbox oder ü(b)erspringen?" + + #. L10N: These correspond to the "Fcc failed" multi-choice prompt + #. (r)etry, alternate (m)ailbox, or (s)kip. + #. Any similarity to famous leaders of the FSF is coincidental. +-#: send.c:1716 ++#: send.c:1727 + msgid "rms" + msgstr "wab" + + #. L10N: This is the prompt to enter an "alternate (m)ailbox" when the + #. initial Fcc fails. +-#: send.c:1722 ++#: send.c:1733 + msgid "Fcc mailbox" + msgstr "Fcc Mailbox" + +-#: send.c:1788 ++#: send.c:1799 + msgid "Can't postpone. $postponed is unset" + msgstr "Kann Entwurf nirgendwohin speichern $postponed is unset" + +-#: send.c:1923 ++#: send.c:1934 + msgid "Recall postponed message?" + msgstr "Zurückgestellte Nachricht weiterbearbeiten?" + +-#: send.c:2228 ++#: send.c:2239 + msgid "Edit forwarded message?" + msgstr "Weitergeleitete Nachricht editieren?" + +-#: send.c:2266 ++#: send.c:2277 + msgid "Abort unmodified message?" + msgstr "Unveränderte Nachricht verwerfen?" + +-#: send.c:2268 ++#: send.c:2279 + msgid "Aborted unmodified message" + msgstr "Unveränderte Nachricht verworfen" + +-#: send.c:2388 ++#: send.c:2399 + msgid "No crypto backend configured. Disabling message security setting." + msgstr "Kein Krypto-Backend eingerichtet. Nachrichten-Sicherheitseinstellung deaktiviert." + +-#: send.c:2427 ++#: send.c:2438 + msgid "Article not posted" + msgstr "Artikel nicht veröffentlicht" + +-#: send.c:2437 ++#: send.c:2448 + msgid "Message postponed" + msgstr "Nachricht zurückgestellt" + +-#: send.c:2470 ++#: send.c:2481 + msgid "No subject, abort sending?" + msgstr "Kein Betreff, Versand abbrechen?" + +-#: send.c:2474 send.c:2480 ++#: send.c:2485 send.c:2491 + msgid "No subject specified" + msgstr "Kein Betreff" + +-#: send.c:2486 ++#: send.c:2497 + msgid "No newsgroup specified" + msgstr "Keine Newsgroup angegeben" + +-#: send.c:2496 ++#: send.c:2507 + msgid "No attachments, cancel sending?" + msgstr "Keine Anhänge vorhanden, Senden abbrechen?" + +-#: send.c:2501 ++#: send.c:2512 + msgid "Message contains text matching \"$abort_noattach_regex\". Not sending." + msgstr "Nachricht enthält Text, der \"$abort_noattach_regex\" entspricht. Versand abgebrochen." + +-#: send.c:2559 smtp.c:227 ++#: send.c:2570 smtp.c:230 + msgid "Sending message..." + msgstr "Versende Nachricht..." + +-#: send.c:2598 ++#: send.c:2609 + msgid "Could not send the message" + msgstr "Konnte Nachricht nicht versenden" + +-#: send.c:2608 ++#: send.c:2619 + msgid "Sending in background" + msgstr "Versende im Hintergrund" + +-#: send.c:2609 ++#: send.c:2620 + msgid "Article posted" + msgstr "Artikel veröffentlicht" + +-#: send.c:2610 ++#: send.c:2621 + msgid "Mail sent" + msgstr "Nachricht versandt" + +-#: sendlib.c:567 ++#: sendlib.c:566 + msgid "No boundary parameter found [report this error]" + msgstr "Kein boundary-Parameter gefunden (bitte Bug melden)" + +-#: sendlib.c:598 ++#: sendlib.c:597 + #, c-format + msgid "%s no longer exists" + msgstr "%s existiert nicht mehr" + +-#: sendlib.c:1056 ++#: sendlib.c:1055 + #, c-format + msgid "%s isn't a regular file" + msgstr "%s ist keine reguläre Datei" + +-#: sendlib.c:1223 ++#: sendlib.c:1222 + msgid "Could not find any mime.types file." + msgstr "Konnte keine Datei mime.types finden." + +-#: sendlib.c:1314 ++#: sendlib.c:1313 + #, c-format + msgid "Could not open %s" + msgstr "Konnte %s nicht öffnen" + +-#: sendlib.c:2864 ++#: sendlib.c:2855 + msgid "$sendmail must be set in order to send mail" + msgstr "$sendmail muss gesetzt sein, damit Mails versandt werden können" + +-#: sendlib.c:2971 ++#: sendlib.c:2962 + #, c-format + msgid "Error sending message, child exited %d (%s)" + msgstr "Fehler %d beim Versand der Nachricht (%s)" + +-#: sendlib.c:2977 ++#: sendlib.c:2969 + msgid "Output of the delivery process" + msgstr "Ausgabe des Auslieferungs-Prozesses" + +-#: sendlib.c:3157 ++#: sendlib.c:3154 + #, c-format + msgid "Bad IDN %s while preparing resent-from" + msgstr "Ungültige IDN %s bei der Vorbereitung von Resent-From" + +-#: smtp.c:165 ++#: smtp.c:168 + #, c-format + msgid "SMTP session failed: %s" + msgstr "SMTP-Verbindung fehlgeschlagen: %s" + +-#: smtp.c:222 ++#: smtp.c:225 + #, c-format + msgid "SMTP session failed: unable to open %s" + msgstr "SMTP-Verbindung fehlgeschlagen: Kann %s nicht öffnen" + +-#: smtp.c:339 ++#: smtp.c:364 + #, c-format + msgid "Invalid SMTP URL: %s" + msgstr "Ungültige SMTP-URL: %s" + +-#: smtp.c:618 ++#: smtp.c:643 + #, c-format + msgid "SMTP authentication method %s requires SASL" + msgstr "SMTP Authentifizierungsmethode %s benötigt SASL" + +-#: smtp.c:625 ++#: smtp.c:650 + #, c-format + msgid "%s authentication failed, trying next method" + msgstr "%s Authentifizierung fehlgeschlagen, versuche nächste Methode" + +-#: smtp.c:636 ++#: smtp.c:661 + msgid "SMTP authentication requires SASL" + msgstr "SMTP-Authentifizierung benötigt SASL" + +-#: smtp.c:717 ++#: smtp.c:742 + msgid "SMTP server does not support authentication" + msgstr "SMTP-Server unterstützt keine Authentifizierung" + +-#: smtp.c:756 ++#: smtp.c:781 + msgid "No from address given" + msgstr "Keine Absenderadresse angegeben" + +-#: smtp.c:821 ++#: smtp.c:846 + msgid "SMTP session failed: read error" + msgstr "SMTP-Verbindung fehlgeschlagen: Lesefehler" + +-#: smtp.c:823 ++#: smtp.c:848 + msgid "SMTP session failed: write error" + msgstr "SMTP-Verbindung fehlgeschlagen: Schreibfehler" + +-#: smtp.c:825 ++#: smtp.c:850 + msgid "Invalid server response" + msgstr "Ungültige Serverantwort" + +-#: sort.c:385 ++#: sort.c:387 + msgid "Sorting mailbox..." + msgstr "Sortiere Mailbox..." + +-#: sort.c:427 ++#: sort.c:429 + msgid "Could not find sorting function [report this bug]" + msgstr "Sortierfunktion nicht gefunden (bitte Bug melden)" + +@@ -6852,10 +6930,37 @@ msgstr "" + "Sie können es unter bestimmten Bedingungen weitergeben; starten Sie\n" + "'neomutt -vv' für weitere Details.\n" + +-#: version.c:446 ++#: version.c:451 + msgid "Default options:" + msgstr "Standard Einstellungen:" + +-#: version.c:449 ++#: version.c:454 + msgid "Compile options:" + msgstr "Einstellungen bei der Kompilierung:" ++ ++#~ msgid "Error creating autocrypt key: %s\n" ++#~ msgstr "Fehler beim erstellen des Autocrypt Schlüssels: %s\n" ++ ++#~ msgid "(c)reate new, or (s)elect existing GPG key? " ++#~ msgstr "(n)eu erstellen, oder existierenden GPG Schlüssel aus(w)ählen? " ++ ++#~ msgid "Autocrypt: (e)ncrypt, (c)lear, (a)utomatic? " ++#~ msgstr "Autocrypt: (v)erschlüsseln, (l)öschen, (a)utomatisch?" ++ ++#~ msgid "Error History is disabled" ++#~ msgstr "Einstellung error_history ist deaktiviert" ++ ++#~ msgid "$send_multipart_alternative_filter does not support multipart type generation" ++#~ msgstr "$send_multipart_alternative_filter funktioniert nicht mit Typ \"multipart\"" ++ ++#~ msgid "view multipart/alternative as text" ++#~ msgstr "Ansicht des Anhangs als Text" ++ ++#~ msgid "view multipart/alternative using mailcap" ++#~ msgstr "Ansicht des Anhangs mittels mailcap" ++ ++#~ msgid "select a new mailbox from the browser" ++#~ msgstr "Öffne Mailbox" ++ ++#~ msgid "select a new mailbox from the browser in read only mode" ++#~ msgstr "Öffne Mailbox im nur-Lesen-Modus" +diff --git a/po/el.po b/po/el.po +index 890010a05..c9ba75031 100644 +--- a/po/el.po ++++ b/po/el.po +@@ -13,7 +13,7 @@ msgid "" + msgstr "" + "Project-Id-Version: neomutt-2019-12-07\n" + "Report-Msgid-Bugs-To: neomutt-devel@neomutt.org\n" +-"POT-Creation-Date: 2019-12-06 23:10+0000\n" ++"POT-Creation-Date: 2020-03-09 12:15+0000\n" + "PO-Revision-Date: 2005-02-01 00:01GMT+2\n" + "Last-Translator: Dokianakis Fanis \n" + "Language-Team: Greek \n" +@@ -23,16 +23,44 @@ msgstr "" + "Content-Transfer-Encoding: 8bit\n" + "Plural-Forms: nplurals=2; plural=(n != 1);\n" + +-#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:59 browser.c:80 browser.c:90 +-#: mutt_history.c:45 pager.c:228 postpone.c:68 query.c:80 recvattach.c:93 ++#, fuzzy ++msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" ++msgstr "(r)απόρριψη, (o)αποδοχή μια φορά, (a)αποδοχή πάντα" ++ ++#, fuzzy ++msgid "roas" ++msgstr "roas" ++ ++msgid "(r)eject, accept (o)nce, (a)ccept always" ++msgstr "(r)απόρριψη, (o)αποδοχή μια φορά, (a)αποδοχή πάντα" ++ ++msgid "roa" ++msgstr "roa" ++ ++#, fuzzy ++msgid "(r)eject, accept (o)nce, (s)kip" ++msgstr "(r)απόρριψη, (o)αποδοχή μια φορά" ++ ++#, fuzzy ++msgid "ros" ++msgstr "ros" ++ ++msgid "(r)eject, accept (o)nce" ++msgstr "(r)απόρριψη, (o)αποδοχή μια φορά" ++ ++msgid "ro" ++msgstr "ro" ++ ++#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:58 browser.c:79 browser.c:89 ++#: mutt_history.c:45 pager.c:220 postpone.c:68 query.c:78 recvattach.c:91 + msgid "Exit" + msgstr "Έξοδος" + +-#: addrbook.c:56 index.c:116 index.c:129 pager.c:236 pager.c:246 postpone.c:69 ++#: addrbook.c:56 index.c:112 index.c:125 pager.c:228 pager.c:238 postpone.c:69 + msgid "Del" + msgstr "Διαγραφή" + +-#: addrbook.c:57 index.c:117 index.c:130 postpone.c:70 ++#: addrbook.c:57 index.c:113 index.c:126 postpone.c:70 + msgid "Undel" + msgstr "Επαναφορά" + +@@ -40,18 +68,18 @@ msgstr "Επαναφορά" + msgid "Select" + msgstr "Επιλέξτε" + +-#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:82 browser.c:84 browser.c:96 +-#: compose.c:218 compose.c:230 conn/ssl.c:983 conn/ssl_gnutls.c:691 index.c:122 +-#: index.c:135 mutt_history.c:48 ncrypt/crypt_gpgme.c:4735 ncrypt/pgpkey.c:670 +-#: ncrypt/smime.c:553 pager.c:2326 postpone.c:71 query.c:85 recvattach.c:94 ++#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:81 browser.c:83 browser.c:95 ++#: compose.c:216 compose.c:228 conn/ssl.c:996 conn/ssl_gnutls.c:722 index.c:118 ++#: index.c:131 mutt_history.c:48 ncrypt/crypt_gpgme.c:4783 ncrypt/pgpkey.c:673 ++#: ncrypt/smime.c:555 pager.c:2297 postpone.c:71 query.c:83 recvattach.c:92 + msgid "Help" + msgstr "Βοήθεια" + +-#: addrbook.c:208 ++#: addrbook.c:238 + msgid "You have no aliases" + msgstr "Δεν έχετε κανένα ψευδώνυμο" + +-#: addrbook.c:215 ++#: addrbook.c:276 + msgid "Aliases" + msgstr "Ψευδώνυμα" + +@@ -60,53 +88,53 @@ msgstr "Ψευδώνυμα" + msgid "Alias as: " + msgstr "Ψευδώνυμο ως: " + +-#: alias.c:411 ++#: alias.c:414 + msgid "You already have an alias defined with that name" + msgstr "Έχετε ήδη ένα ψευδώνυμο με αυτό το όνομα" + +-#: alias.c:417 ++#: alias.c:420 + msgid "Warning: This alias name may not work. Fix it?" + msgstr "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: αυτό το ψευδώνυμο ίσως να μην δουλεύει. Διόρθωση;" + +-#: alias.c:442 ++#: alias.c:445 + msgid "Address: " + msgstr "Διεύθυνση: " + +-#: alias.c:453 commands.c:444 compose.c:744 conn/conn_raw.c:152 +-#: conn/conn_raw.c:210 recvcmd.c:232 send.c:228 ++#: alias.c:457 commands.c:450 compose.c:743 conn/conn_raw.c:152 ++#: conn/conn_raw.c:210 recvcmd.c:231 send.c:227 + #, c-format + msgid "Bad IDN: '%s'" + msgstr "Λανθασμένη διεθνής διεύθυνση IDN: '%s'" + +-#: alias.c:464 ++#: alias.c:468 + msgid "Personal name: " + msgstr "Προσωπικό Όνομα: " + +-#: alias.c:473 ++#: alias.c:477 + #, c-format + msgid "[%s = %s] Accept?" + msgstr "[%s = %s] Δέχεστε;" + +-#: alias.c:484 recvattach.c:528 recvattach.c:550 recvattach.c:564 +-#: recvattach.c:579 recvattach.c:678 ++#: alias.c:488 recvattach.c:530 recvattach.c:552 recvattach.c:566 ++#: recvattach.c:581 recvattach.c:680 + msgid "Save to file: " + msgstr "Αποθήκευση στο αρχείο: " + +-#: alias.c:503 ++#: alias.c:507 + #, fuzzy + msgid "Error reading alias file" + msgstr "Σφάλμα κατά την εμφάνιση αρχείου" + +-#: alias.c:525 ++#: alias.c:529 + #, fuzzy + msgid "Trouble adding alias" + msgstr "Σφάλμα κατά την εμφάνιση αρχείου" + +-#: alias.c:527 ++#: alias.c:531 + msgid "Alias added" + msgstr "Το ψευδώνυμο προστέθηκε" + +-#: alias.c:532 ++#: alias.c:536 + #, fuzzy + msgid "Error seeking in alias file" + msgstr "Σφάλμα κατά την εμφάνιση αρχείου" +@@ -116,7 +144,7 @@ msgstr "Σφάλμα κατά την εμφάνιση αρχείου" + #. for some reason (e.g. autocrypt, header cache, bcache), but it + #. doesn't exist. The prompt is asking whether to create the directory + #. +-#: autocrypt/autocrypt.c:70 main.c:826 ++#: autocrypt/autocrypt.c:70 main.c:757 + #, c-format + msgid "%s does not exist. Create it?" + msgstr "Το %s δεν υπάρχει. Δημιουργία;" +@@ -125,8 +153,8 @@ msgstr "Το %s δεν υπάρχει. Δημιουργία;" + #. mkdir() on the directory %s failed. The second %s is the + #. error message returned by libc + #. +-#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:830 +-#: nntp/newsrc.c:1069 ++#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:761 ++#: nntp/newsrc.c:1098 + #, c-format + msgid "Can't create %s: %s" + msgstr "Αδυναμία δημιουργίας του %s: %s" +@@ -136,7 +164,7 @@ msgstr "Αδυναμία δημιουργίας του %s: %s" + #. create $autocrypt_dir and then prompt to create an autocrypt + #. account with this message. + #. +-#: autocrypt/autocrypt.c:156 ++#: autocrypt/autocrypt.c:163 + msgid "Create an initial autocrypt account?" + msgstr "" + +@@ -145,7 +173,7 @@ msgstr "" + #. autocrypt account. This will generate a key and add a record + #. to the database for use in autocrypt operations. + #. +-#: autocrypt/autocrypt.c:180 ++#: autocrypt/autocrypt.c:187 + msgid "Autocrypt account address: " + msgstr "" + +@@ -154,7 +182,7 @@ msgstr "" + #. a single address. This is shown if they entered something invalid, + #. nothing, or more than one address for some reason. + #. +-#: autocrypt/autocrypt.c:191 ++#: autocrypt/autocrypt.c:198 + msgid "Please enter a single email address" + msgstr "" + +@@ -163,7 +191,7 @@ msgstr "" + #. if there is already an account in the database with the email address + #. they just entered. + #. +-#: autocrypt/autocrypt.c:208 ++#: autocrypt/autocrypt.c:215 + msgid "That email address already has an autocrypt account" + msgstr "" + +@@ -175,7 +203,7 @@ msgstr "" + #. Otherwise the UI will show encryption is "available" but the user + #. will be required to enable encryption manually. + #. +-#: autocrypt/autocrypt.c:223 ++#: autocrypt/autocrypt.c:230 + #, fuzzy + msgid "Prefer encryption?" + msgstr "Κρυπτογράφηση" +@@ -183,7 +211,7 @@ msgstr "Κρυπτογράφηση" + #. L10N: + #. Message displayed after an autocrypt account is successfully created. + #. +-#: autocrypt/autocrypt.c:236 ++#: autocrypt/autocrypt.c:243 + msgid "Autocrypt account creation succeeded" + msgstr "" + +@@ -191,7 +219,7 @@ msgstr "" + #. Error message displayed if creating an autocrypt account failed + #. or was aborted by the user. + #. +-#: autocrypt/autocrypt.c:242 ++#: autocrypt/autocrypt.c:249 + msgid "Autocrypt account creation aborted" + msgstr "" + +@@ -200,7 +228,7 @@ msgstr "" + #. to use to encrypt, but it can't find a valid keyid for this address. + #. The message is printed and they are returned to the compose menu. + #. +-#: autocrypt/autocrypt.c:610 autocrypt/autocrypt.c:639 ++#: autocrypt/autocrypt.c:617 autocrypt/autocrypt.c:646 + #, fuzzy, c-format + msgid "No (valid) autocrypt key found for %s" + msgstr "Δεν βρέθηκαν (έγκυρα) πιστοποιητικά για το %s" +@@ -212,12 +240,12 @@ msgstr "Δεν βρέθηκαν (έγκυρα) πιστοποιητικά για + #. and used for encryption. + #. If this is answered yes, they will be prompted for a mailbox. + #. +-#: autocrypt/autocrypt.c:903 ++#: autocrypt/autocrypt.c:910 + msgid "Scan a mailbox for autocrypt headers?" + msgstr "" + + #. L10N: The prompt for a mailbox to scan for Autocrypt: headers +-#: autocrypt/autocrypt.c:907 ++#: autocrypt/autocrypt.c:914 + #, fuzzy + msgid "Scan mailbox" + msgstr "Κανένα γραμματοκιβώτιο.\n" +@@ -229,14 +257,14 @@ msgstr "Κανένα γραμματοκιβώτιο.\n" + #. for a mailbox. This is because this is a one-time operation + #. and I don't want them to accidentally ctrl-g and abort it. + #. +-#: autocrypt/autocrypt.c:927 ++#: autocrypt/autocrypt.c:934 + msgid "Scan another mailbox for autocrypt headers?" + msgstr "" + + #. L10N: Autocrypt Account Menu Help line: + #. create new account + #. +-#: autocrypt/autocrypt_acct_menu.c:63 ++#: autocrypt/autocrypt_acct_menu.c:62 + #, fuzzy + msgid "Create" + msgstr "Δημιουργία του %s;" +@@ -244,7 +272,7 @@ msgstr "Δημιουργία του %s;" + #. L10N: Autocrypt Account Menu Help line: + #. delete account + #. +-#: autocrypt/autocrypt_acct_menu.c:67 remailer.c:77 ++#: autocrypt/autocrypt_acct_menu.c:66 remailer.c:75 + msgid "Delete" + msgstr "Διαγραφή" + +@@ -252,9 +280,9 @@ msgstr "Διαγραφή" + #. toggle an account active/inactive + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:74 ++#: autocrypt/autocrypt_acct_menu.c:73 + msgid "Tgl Active" + msgstr "" + +@@ -262,17 +290,17 @@ msgstr "" + #. toggle "prefer-encrypt" on an account + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:81 +-msgid "Prf Enc" ++#: autocrypt/autocrypt_acct_menu.c:80 ++msgid "Prf Encr" + msgstr "" + + #. L10N: + #. Autocrypt Account menu. + #. flag that an account has prefer-encrypt set + #. +-#: autocrypt/autocrypt_acct_menu.c:123 ++#: autocrypt/autocrypt_acct_menu.c:122 + msgid "prefer encrypt" + msgstr "" + +@@ -281,7 +309,7 @@ msgstr "" + #. flag that an account has prefer-encrypt unset; + #. thus encryption will need to be manually enabled. + #. +-#: autocrypt/autocrypt_acct_menu.c:130 ++#: autocrypt/autocrypt_acct_menu.c:129 + msgid "manual encrypt" + msgstr "" + +@@ -289,7 +317,7 @@ msgstr "" + #. Autocrypt Account menu. + #. flag that an account is enabled/active + #. +-#: autocrypt/autocrypt_acct_menu.c:138 ++#: autocrypt/autocrypt_acct_menu.c:137 + msgid "active" + msgstr "" + +@@ -297,12 +325,12 @@ msgstr "" + #. Autocrypt Account menu. + #. flag that an account is disabled/inactive + #. +-#: autocrypt/autocrypt_acct_menu.c:144 ++#: autocrypt/autocrypt_acct_menu.c:143 + msgid "inactive" + msgstr "" + + #. L10N: Autocrypt Account Management Menu title +-#: autocrypt/autocrypt_acct_menu.c:183 ++#: autocrypt/autocrypt_acct_menu.c:182 + msgid "Autocrypt Accounts" + msgstr "" + +@@ -310,13 +338,13 @@ msgstr "" + #. This error message is displayed if a database update of an + #. account record fails for some odd reason. + #. +-#: autocrypt/autocrypt_acct_menu.c:245 autocrypt/autocrypt_acct_menu.c:259 ++#: autocrypt/autocrypt_acct_menu.c:244 autocrypt/autocrypt_acct_menu.c:258 + #, fuzzy + msgid "Error updating account record" + msgstr "Σφάλμα κατά τη διερεύνηση του καταλόγου" + + #. L10N: Confirmation message when deleting an autocrypt account +-#: autocrypt/autocrypt_acct_menu.c:302 ++#: autocrypt/autocrypt_acct_menu.c:333 + #, fuzzy, c-format + msgid "Really delete account \"%s\"?" + msgstr "Διαγραφή του γραμματοκιβωτίου \"%s\";" +@@ -334,7 +362,7 @@ msgstr "Διαγραφή του γραμματοκιβωτίου \"%s\";" + msgid "Unable to open autocrypt database %s" + msgstr "Αδυναμία κλειδώματος του γραμματοκιβωτίου!" + +-#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:774 ++#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:773 + #, fuzzy, c-format + msgid "error creating gpgme context: %s" + msgstr "σφάλμα στο μοντέλο στο: %s" +@@ -407,336 +435,287 @@ msgstr "" + msgid "Message cache isn't a directory: %s" + msgstr "Το %s δεν είναι κατάλογος" + +-#: browser.c:81 ++#: browser.c:80 + msgid "Chdir" + msgstr "Αλλαγή καταλόγου" + +-#: browser.c:82 ++#: browser.c:81 + msgid "Goto" + msgstr "" + +-#: browser.c:83 browser.c:95 ++#: browser.c:82 browser.c:94 + msgid "Mask" + msgstr "Μάσκα" + +-#: browser.c:91 ++#: browser.c:90 + msgid "List" + msgstr "" + +-#: browser.c:92 ++#: browser.c:91 + #, fuzzy + msgid "Subscribe" + msgstr "Εγγραφή στο %s..." + +-#: browser.c:93 ++#: browser.c:92 + #, fuzzy + msgid "Unsubscribe" + msgstr "Διαγραφή στο %s..." + +-#: browser.c:94 index.c:134 ++#: browser.c:93 index.c:130 + msgid "Catchup" + msgstr "" + +-#: browser.c:760 browser.c:1519 browser.c:1758 ++#: browser.c:763 browser.c:1584 browser.c:1825 + #, c-format + msgid "%s is not a directory" + msgstr "Το %s δεν είναι κατάλογος" + +-#: browser.c:1025 ++#: browser.c:1028 + #, fuzzy, c-format + msgid "Subscribed newsgroups" + msgstr "Εγγραφή στο %s..." + +-#: browser.c:1028 ++#: browser.c:1031 + #, c-format + msgid "Newsgroups on server [%s]" + msgstr "" + +-#: browser.c:1038 ++#: browser.c:1041 + #, c-format + msgid "Mailboxes [%d]" + msgstr "Γραμματοκιβώτια [%d]" + +-#: browser.c:1050 ++#: browser.c:1053 + #, c-format + msgid "Subscribed [%s], File mask: %s" + msgstr "Εγγεγραμμένα [%s], Μάσκα αρχείου: %s" + +-#: browser.c:1056 ++#: browser.c:1059 + #, c-format + msgid "Directory [%s], File mask: %s" + msgstr "Κατάλογος [%s], Μάσκα αρχείου: %s" + +-#: browser.c:1113 ++#: browser.c:1116 + msgid "Can't attach a directory" + msgstr "Αδυναμία προσάρτησης ενός κατάλογου" + +-#: browser.c:1380 browser.c:1814 browser.c:1959 ++#: browser.c:1445 browser.c:1881 browser.c:2026 + msgid "No files match the file mask" + msgstr "Κανένα αρχείο δεν ταιριάζει με τη μάσκα αρχείου" + +-#: browser.c:1587 ++#: browser.c:1654 + msgid "Create is only supported for IMAP mailboxes" + msgstr "Η δημιουργία υποστηρίζεται μόνο για τα γραμματοκιβώτια IMAP" + +-#: browser.c:1609 ++#: browser.c:1676 + #, fuzzy + msgid "Rename is only supported for IMAP mailboxes" + msgstr "Η δημιουργία υποστηρίζεται μόνο για τα γραμματοκιβώτια IMAP" + +-#: browser.c:1630 ++#: browser.c:1697 + msgid "Delete is only supported for IMAP mailboxes" + msgstr "Η διαγραφή υποστηρίζεται μόνο για τα γραμματοκιβώτια IMAP" + +-#: browser.c:1642 ++#: browser.c:1709 + #, fuzzy + msgid "Can't delete currently selected mailbox" + msgstr "απεικόνιση του ονόματος του τρέχοντος επιλεγμένου αρχείου" + +-#: browser.c:1646 ++#: browser.c:1713 + #, c-format + msgid "Really delete mailbox \"%s\"?" + msgstr "Διαγραφή του γραμματοκιβωτίου \"%s\";" + +-#: browser.c:1663 ++#: browser.c:1730 + msgid "Mailbox deleted" + msgstr "Το γραμματοκιβώτιο διαγράφηκε" + +-#: browser.c:1667 ++#: browser.c:1734 + #, fuzzy + msgid "Mailbox deletion failed" + msgstr "Το γραμματοκιβώτιο διαγράφηκε" + +-#: browser.c:1670 ++#: browser.c:1737 + msgid "Mailbox not deleted" + msgstr "Το γραμματοκιβώτιο δεν διαγράφηκε" + +-#: browser.c:1697 ++#: browser.c:1764 + msgid "Chdir to: " + msgstr "Αλλαγή καταλόγου σε:" + +-#: browser.c:1747 browser.c:1808 ++#: browser.c:1814 browser.c:1875 + msgid "Error scanning directory" + msgstr "Σφάλμα κατά τη διερεύνηση του καταλόγου" + +-#: browser.c:1769 ++#: browser.c:1836 + msgid "File Mask: " + msgstr "Μάσκα αρχείου: " + + #. L10N: The highlighted letters must match the "Sort" options +-#: browser.c:1831 ++#: browser.c:1898 + #, fuzzy + msgid "Reverse sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "Ανάστροφη ταξινόμηση κατά (d)ημερομηνία, (a)αλφαβητικά, (z)μέγεθος ή (n)άκυρο;" + + #. L10N: The highlighted letters must match the "Reverse Sort" options +-#: browser.c:1834 ++#: browser.c:1901 + #, fuzzy + msgid "Sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "Ταξινόμηση κατά (d)ημερομηνία, (a)αλφαβητικά, (z)μέγεθος ή (n)άκυρο;" + + #. L10N: These must match the highlighted letters from "Sort" and "Reverse Sort" +-#: browser.c:1837 ++#: browser.c:1904 + msgid "dazecwn" + msgstr "" + +-#: browser.c:1948 ++#: browser.c:2015 + msgid "New file name: " + msgstr "Νέο όνομα αρχείου: " + +-#: browser.c:1976 ++#: browser.c:2043 + msgid "Can't view a directory" + msgstr "Αδυναμία ανάγνωσης ενός κατάλογου" + +-#: browser.c:1993 ++#: browser.c:2060 + msgid "Error trying to view file" + msgstr "Σφάλμα κατά την εμφάνιση αρχείου" + +-#: browser.c:2079 ++#: browser.c:2146 + #, fuzzy, c-format + msgid "Subscribe pattern: " + msgstr "Εγγραφή στο %s..." + +-#: browser.c:2081 ++#: browser.c:2148 + #, fuzzy, c-format + msgid "Unsubscribe pattern: " + msgstr "Διαγραφή στο %s..." + +-#: browser.c:2101 ++#: browser.c:2169 + #, fuzzy + msgid "No newsgroups match the mask" + msgstr "Κανένα αρχείο δεν ταιριάζει με τη μάσκα αρχείου" + +-#: color.c:633 color.c:644 +-#, c-format +-msgid "%s: color not supported by term" +-msgstr "%s: το τερματικό δεν υποστηρίζει χρώμα" +- +-#: color.c:652 +-#, c-format +-msgid "%s: no such color" +-msgstr "%s: δεν υπάρχει τέτοιο χρώμα" +- +-#: color.c:717 color.c:740 color.c:751 color.c:842 +-#, c-format +-msgid "%s: no such object" +-msgstr "%s: δεν υπάρχει τέτοιο αντικείμενο" +- +-#: color.c:731 color.c:868 color.c:1069 color.c:1098 color.c:1122 color.c:1191 +-#: color.c:1214 hook.c:110 hook.c:124 hook.c:367 hook.c:383 init.c:612 +-#: init.c:620 init.c:709 init.c:1099 init.c:1267 init.c:1871 init.c:1929 +-#: keymap.c:1184 score.c:110 +-#, c-format +-msgid "%s: too few arguments" +-msgstr "%s: πολύ λίγα ορίσματα" +- +-#: color.c:1142 +-#, c-format +-msgid "%s: no such attribute" +-msgstr "%s: δεν υπάρχει τέτοια ιδιότητα" +- +-#: color.c:1223 color.c:1329 hook.c:131 hook.c:390 init.c:1123 init.c:2133 +-#: init.c:2611 keymap.c:1116 keymap.c:1289 keymap.c:1442 keymap.c:1506 +-#: mutt_lua.c:483 score.c:119 +-#, c-format +-msgid "%s: too many arguments" +-msgstr "%s: πάρα πολλά ορίσματα" +- +-#: color.c:1244 +-msgid "default colors not supported" +-msgstr "δεν υποστηρίζονται τα εξ'ορισμού χρώματα" +- +-#: color.c:1282 +-#, c-format +-msgid "Maximum quoting level is %d" +-msgstr "" +- +-#: color.c:1319 +-#, fuzzy, c-format +-msgid "%s: invalid number: %s" +-msgstr "%d: μη έγκυρος αριθμός μηνύματος.\n" +- + #. L10N: Used for the $crypt_verify_sig prompt +-#: commands.c:230 ++#: commands.c:232 + msgid "Verify signature?" + msgstr "Επιβεβαίωση της ψηφιακής υπογραφής;" + +-#: commands.c:257 mbox/mbox.c:1236 ++#: commands.c:259 mbox/mbox.c:1236 + msgid "Could not create temporary file" + msgstr "Αδυναμία δημιουργίας προσωρινού αρχείου" + +-#: commands.c:269 ++#: commands.c:271 + msgid "Can't create display filter" + msgstr "Αδυναμία δημιουργίας φίλτρου απεικόνισης" + +-#: commands.c:302 ++#: commands.c:304 + msgid "Could not copy message" + msgstr "Αδυναμία αντιγραφής του μηνύματος." + +-#: commands.c:338 ++#: commands.c:340 + msgid "S/MIME signature successfully verified" + msgstr "Η υπογραφή S/MIME επαληθεύτηκε επιτυχώς" + +-#: commands.c:340 ++#: commands.c:342 + msgid "S/MIME certificate owner does not match sender" + msgstr "Ο ιδιοκτήτης του πιστοποιητικού S/MIME δεν ταιριάζει με τον αποστολέα" + +-#: commands.c:343 commands.c:353 ++#: commands.c:345 commands.c:355 + msgid "Warning: Part of this message has not been signed" + msgstr "Προειδοποίηση: Τμήμα αυτού του μηνύματος δεν είναι υπογεγραμμένο" + +-#: commands.c:345 ++#: commands.c:347 + msgid "S/MIME signature could NOT be verified" + msgstr "Η υπογραφή S/MIME ΔΕΝ επαληθεύτηκε" + +-#: commands.c:351 ++#: commands.c:353 + msgid "PGP signature successfully verified" + msgstr "Η υπογραφή PGP επαληθεύτηκε επιτυχώς" + +-#: commands.c:355 ++#: commands.c:357 + msgid "PGP signature could NOT be verified" + msgstr "Η υπογραφή PGP ΔΕΝ επαληθεύτηκε" + +-#: commands.c:372 compose.c:2116 compress.c:321 curs_lib.c:359 curs_lib.c:646 +-#: index.c:1235 index.c:1285 mutt_attach.c:159 mutt_attach.c:292 pager.c:2460 +-#: sendlib.c:1625 ++#: commands.c:378 compose.c:2187 compress/compress.c:320 gui/curs_lib.c:360 ++#: gui/curs_lib.c:714 index.c:1240 index.c:1290 mutt_attach.c:161 ++#: mutt_attach.c:294 pager.c:2433 sendlib.c:1624 + #, c-format + msgid "Error running \"%s\"" + msgstr "Σφάλμα κατά την εκτέλεση του \"%s\"" + +-#: commands.c:382 ++#: commands.c:388 + msgid "Command: " + msgstr "Εντολή: " + +-#: commands.c:419 recvcmd.c:191 recvcmd.c:203 ++#: commands.c:425 recvcmd.c:190 recvcmd.c:202 + msgid "Warning: message contains no From: header" + msgstr "" + +-#: commands.c:425 recvcmd.c:212 ++#: commands.c:431 recvcmd.c:211 + #, fuzzy + msgid "Bounce message to: " + msgstr "Διαβίβαση μηνύματος στον: " + +-#: commands.c:427 recvcmd.c:214 ++#: commands.c:433 recvcmd.c:213 + #, fuzzy + msgid "Bounce tagged messages to: " + msgstr "Διαβίβαση σημειωμένων μηνυμάτων στον: " + +-#: commands.c:436 recvcmd.c:224 ++#: commands.c:442 recvcmd.c:223 + msgid "Error parsing address" + msgstr "Σφάλμα κατά την ανάλυση της διεύθυνσης" + +-#: commands.c:455 recvcmd.c:243 ++#: commands.c:461 recvcmd.c:242 + #, fuzzy, c-format + msgid "Bounce message to %s?" + msgid_plural "Bounce messages to %s?" + msgstr[0] "Διαβίβαση μηνύματος στον %s?" + msgstr[1] "Διαβίβαση μηνυμάτων στον %s?" + +-#: commands.c:470 recvcmd.c:257 ++#: commands.c:476 recvcmd.c:257 + #, fuzzy + msgid "Message not bounced" + msgid_plural "Messages not bounced" + msgstr[0] "Το μήνυμα δεν διαβιβάστηκε" + msgstr[1] "Τα μηνύματα δεν διαβιβάστηκαν" + +-#: commands.c:496 recvcmd.c:276 ++#: commands.c:502 recvcmd.c:276 + #, fuzzy + msgid "Message bounced" + msgid_plural "Messages bounced" + msgstr[0] "Το μήνυμα διαβιβάστηκε" + msgstr[1] "Τα μηνύματα διαβιβάστηκαν" + +-#: commands.c:606 commands.c:642 commands.c:662 ++#: commands.c:612 commands.c:648 commands.c:668 + msgid "Can't create filter process" + msgstr "Αδυναμία δημιουργίας διεργασίας φίλτρου" + +-#: commands.c:698 ++#: commands.c:704 + msgid "Pipe to command: " + msgstr "Διοχέτευση στην εντολή: " + +-#: commands.c:720 ++#: commands.c:726 + msgid "No printing command has been defined" + msgstr "Δεν έχει οριστεί εντολή εκτυπώσεως" + +-#: commands.c:732 ++#: commands.c:738 + #, fuzzy + msgid "Print message?" + msgstr "Εκτύπωση μηνύματος;" + +-#: commands.c:733 ++#: commands.c:739 + #, fuzzy + msgid "Print tagged messages?" + msgstr "Εκτύπωση των σημειωμένων μηνυμάτων;" + +-#: commands.c:739 ++#: commands.c:745 + #, fuzzy + msgid "Message printed" + msgid_plural "Messages printed" + msgstr[0] "Το μήνυμα εκτυπώθηκε" + msgstr[1] "Τα μηνύματα εκτυπώθηκαν" + +-#: commands.c:742 ++#: commands.c:748 + #, fuzzy + msgid "Message could not be printed" + msgid_plural "Messages could not be printed" +@@ -744,165 +723,332 @@ msgstr[0] "Αδυναμία εκτύπωσης μηνύματος" + msgstr[1] "Αδυναμία εκτύπωσης μηνυμάτων" + + #. L10N: The highlighted letters must match the "Sort" options +-#: commands.c:759 ++#: commands.c:765 + #, fuzzy + msgid "Rev-Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "Αντ-Ταξ (d)ημν/(f)από/(r)λήψ/(s)θέμ/(o)προς/(t)νήμ/(u)άνευ/(z)μεγ/(c)βαθμ/s(p)am;: " + + #. L10N: The highlighted letters must match the "Rev-Sort" options +-#: commands.c:763 ++#: commands.c:769 + #, fuzzy + msgid "Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "Ταξ (d)ημν/(f)από/(r)λήψ/(s)θέμ/(o)προς/(t)νήμ/(u)άνευ/(z)μεγ/(c)βαθμ/s(p)am;: " + + #. L10N: These must match the highlighted letters from "Sort" and "Rev-Sort" +-#: commands.c:767 ++#: commands.c:773 + #, fuzzy + msgid "dfrsotuzcpl" + msgstr "dfrsotuzcp" + +-#: commands.c:831 ++#: commands.c:837 + msgid "Shell command: " + msgstr "Εντολή φλοιού: " + +-#: commands.c:1036 ++#: commands.c:1042 + #, fuzzy + msgid "Decode-save to mailbox" + msgstr "Αποκωδικοποίηση-αποθήκευση στο γραμματοκιβώτιο" + +-#: commands.c:1036 ++#: commands.c:1042 + #, fuzzy + msgid "Decode-save tagged to mailbox" + msgstr "Αποκωδικοποίηση-αποθήκευση σημειωμένο στο γραμματοκιβώτιο" + +-#: commands.c:1038 ++#: commands.c:1044 + #, fuzzy + msgid "Decrypt-save to mailbox" + msgstr "Αποκρυπτογράφηση-αποθήκευση στο γραμματοκιβώτιο" + +-#: commands.c:1038 ++#: commands.c:1044 + #, fuzzy + msgid "Decrypt-save tagged to mailbox" + msgstr "Αποκρυπτογράφηση-αποθήκευση σημειωμένο στο γραμματοκιβώτιο" + +-#: commands.c:1040 ++#: commands.c:1046 + #, fuzzy + msgid "Save to mailbox" + msgstr "Αποθήκευση στο γραμματοκιβώτιο" + +-#: commands.c:1040 ++#: commands.c:1046 + #, fuzzy + msgid "Save tagged to mailbox" + msgstr "Αποθήκευση σημειωμένο στο γραμματοκιβώτιο" + +-#: commands.c:1045 ++#: commands.c:1051 + #, fuzzy + msgid "Decode-copy to mailbox" + msgstr "Αποκωδικοποίηση-αντιγραφή στο γραμματοκιβώτιο" + +-#: commands.c:1045 ++#: commands.c:1051 + #, fuzzy + msgid "Decode-copy tagged to mailbox" + msgstr "Αποκωδικοποίηση-αντιγραφή σημειωμένο στο γραμματοκιβώτιο" + +-#: commands.c:1047 ++#: commands.c:1053 + #, fuzzy + msgid "Decrypt-copy to mailbox" + msgstr "Αποκρυπτογράφηση-αντιγραφή στο γραμματοκιβώτιο" + +-#: commands.c:1047 ++#: commands.c:1053 + #, fuzzy + msgid "Decrypt-copy tagged to mailbox" + msgstr "Αποκρυπτογράφηση-αντιγραφή σημειωμένο στο γραμματοκιβώτιο" + +-#: commands.c:1049 ++#: commands.c:1055 + #, fuzzy + msgid "Copy to mailbox" + msgstr "Αντιγραφή στο γραμματοκιβώτιο" + +-#: commands.c:1049 ++#: commands.c:1055 + #, fuzzy + msgid "Copy tagged to mailbox" + msgstr "Αντιγραφή σημειωμένο στο γραμματοκιβώτιο" + +-#: commands.c:1092 ++#: commands.c:1098 + #, c-format + msgid "Copying to %s..." + msgstr "Αντιγραφή στο %s..." + + #. L10N: e.g. "text/plain; charset=UTF-8; ..." +-#: commands.c:1257 ++#: commands.c:1263 + #, fuzzy + msgid "Content type is too long" + msgstr "Το Content-Type άλλαξε σε %s" + +-#: commands.c:1281 ++#: commands.c:1290 + #, c-format + msgid "Convert to %s upon sending?" + msgstr "Μετατροπή σε %s κατά τη μεταφορά;" + +-#: commands.c:1292 ++#: commands.c:1301 + #, c-format + msgid "Content-Type changed to %s" + msgstr "Το Content-Type άλλαξε σε %s" + +-#: commands.c:1297 ++#: commands.c:1306 + #, fuzzy, c-format + msgid "Character set changed to %s; not converting" + msgstr "Το σετ χαρακτήρων άλλαξε σε %s; όχι μετατροπή" + +-#: commands.c:1298 ++#: commands.c:1307 + #, fuzzy, c-format + msgid "Character set changed to %s; converting" + msgstr "Το σετ χαρακτήρων άλλαξε σε %s; μετατροπή" + +-#: compose.c:99 ++#: command_parse.c:83 command_parse.c:211 command_parse.c:219 ++#: command_parse.c:740 command_parse.c:887 command_parse.c:1491 ++#: command_parse.c:1549 gui/color.c:731 gui/color.c:868 gui/color.c:1069 ++#: gui/color.c:1098 gui/color.c:1122 gui/color.c:1191 gui/color.c:1214 ++#: hook.c:110 hook.c:124 hook.c:372 hook.c:388 keymap.c:1182 score.c:110 ++#, c-format ++msgid "%s: too few arguments" ++msgstr "%s: πολύ λίγα ορίσματα" ++ ++#: command_parse.c:394 ++msgid "-group: no group name" ++msgstr "" ++ ++#: command_parse.c:404 ++#, fuzzy ++msgid "out of arguments" ++msgstr "πολύ λίγα ορίσματα" ++ ++#: command_parse.c:445 command_parse.c:1372 ++#, c-format ++msgid "Error: Can't build path of '%s'" ++msgstr "" ++ ++#: command_parse.c:458 ++#, c-format ++msgid "Error: Cyclic sourcing of configuration file '%s'" ++msgstr "" ++ ++#: command_parse.c:491 ++#, c-format ++msgid "Error in %s, line %d: %s" ++msgstr "Σφάλμα στο %s, γραμμή %d: %s" ++ ++#: command_parse.c:502 ++#, fuzzy, c-format ++msgid "Warning in %s, line %d: %s" ++msgstr "Σφάλμα στο %s, γραμμή %d: %s" ++ ++#: command_parse.c:526 ++#, c-format ++msgid "source: errors in %s" ++msgstr "source: λάθη στο %s" ++ ++#: command_parse.c:526 ++#, fuzzy, c-format ++msgid "source: reading aborted due to too many errors in %s" ++msgstr "πηγή: απόρριψη ανάγνωσης λόγω πολλών σφαλμάτων στο %s" ++ ++#: command_parse.c:535 ++#, fuzzy, c-format ++msgid "source: %d warning in %s" ++msgid_plural "source: %d warnings in %s" ++msgstr[0] "source: λάθη στο %s" ++msgstr[1] "source: λάθη στο %s" ++ ++#: command_parse.c:564 ++msgid "alias: no address" ++msgstr "ψευδώνυμο: καμμία διεύθυνση" ++ ++#: command_parse.c:606 ++#, c-format ++msgid "Warning: Bad IDN '%s' in alias '%s'" ++msgstr "Προειδοποίηση: Λανθασμένη διεθνής διεύθυνση IDN '%s' στο ψευδώνυμο '%s'" ++ ++#: command_parse.c:684 ++#, fuzzy ++msgid "attachments: no disposition" ++msgstr "επεξεργασία της περιγραφής της προσάρτησης" ++ ++#: command_parse.c:695 ++#, fuzzy ++msgid "Current attachments settings:" ++msgstr "επεξεργασία της περιγραφής της προσάρτησης" ++ ++#: command_parse.c:725 ++#, fuzzy ++msgid "attachments: invalid disposition" ++msgstr "επεξεργασία της περιγραφής της προσάρτησης" ++ ++#: command_parse.c:764 command_parse.c:1753 command_parse.c:2205 ++#: gui/color.c:1223 gui/color.c:1329 hook.c:131 hook.c:395 keymap.c:1114 ++#: keymap.c:1287 keymap.c:1440 keymap.c:1504 mutt_lua.c:485 score.c:119 ++#, c-format ++msgid "%s: too many arguments" ++msgstr "%s: πάρα πολλά ορίσματα" ++ ++#: command_parse.c:801 ++#, c-format ++msgid "%sgroup: missing -rx or -addr" ++msgstr "" ++ ++#: command_parse.c:827 ++#, fuzzy, c-format ++msgid "%sgroup: warning: bad IDN '%s'" ++msgstr "Προειδοποίηση: Λανθασμένη διεθνής διεύθυνση IDN '%s' στο ψευδώνυμο '%s'" ++ ++#: command_parse.c:898 ++#, c-format ++msgid "Error: %s" ++msgstr "" ++ ++#: command_parse.c:1065 ++msgid "invalid header field" ++msgstr "μη έγκυρο πεδίο επικεφαλίδας" ++ ++#: command_parse.c:1331 command_parse.c:1435 ++#, c-format ++msgid "%s: unknown variable" ++msgstr "%s: άγνωστη μεταβλητή" ++ ++#: command_parse.c:1528 ++#, c-format ++msgid "%s is unset" ++msgstr "Το %s δεν έχει τεθεί" ++ ++#: command_parse.c:1573 mutt_lua.c:480 ++#, c-format ++msgid "source: error at %s" ++msgstr "source: λάθος στο %s" ++ ++#: command_parse.c:1581 ++#, fuzzy, c-format ++msgid "source: file %s could not be sourced" ++msgstr "Αδυναμία εκτύπωσης μηνυμάτων" ++ ++#: command_parse.c:1604 ++msgid "spam: no matching pattern" ++msgstr "spam: δεν υπάρχει μοντέλο που να ταιριάζει" ++ ++#: command_parse.c:1606 ++msgid "nospam: no matching pattern" ++msgstr "nospam: δεν υπάρχει μοντέλο που να ταιριάζει" ++ ++#: command_parse.c:1762 imap/imap.c:1443 ++#, fuzzy, c-format ++msgid "Subscribed to %s" ++msgstr "Εγγραφή στο %s..." ++ ++#: command_parse.c:1766 ++#, fuzzy, c-format ++msgid "Could not subscribe to %s" ++msgstr "Εγγραφή στο %s..." ++ ++#: command_parse.c:1774 command_parse.c:2226 ++#, fuzzy ++msgid "No folder specified" ++msgstr "Δεν καθορίστηκε θέμα." ++ ++#: command_parse.c:1943 ++#, fuzzy ++msgid "unattachments: no disposition" ++msgstr "επεξεργασία της περιγραφής της προσάρτησης" ++ ++#: command_parse.c:1981 ++msgid "unattachments: invalid disposition" ++msgstr "" ++ ++#: command_parse.c:2214 imap/imap.c:1445 ++#, fuzzy, c-format ++msgid "Unsubscribed from %s" ++msgstr "Διαγραφή στο %s..." ++ ++#: command_parse.c:2218 ++#, fuzzy, c-format ++msgid "Could not unsubscribe from %s" ++msgstr "Διαγραφή στο %s..." ++ ++#: compose.c:97 + msgid "There are no attachments" + msgstr "Δεν υπάρχουν προσαρτήσεις" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:166 ++#: compose.c:164 + msgid "From: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:168 send.c:284 ++#: compose.c:166 send.c:284 + msgid "To: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:170 send.c:286 ++#: compose.c:168 send.c:286 + msgid "Cc: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:172 send.c:288 ++#: compose.c:170 send.c:288 + msgid "Bcc: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:174 compose.c:1242 send.c:320 ++#: compose.c:172 compose.c:1302 send.c:320 + msgid "Subject: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:176 ++#: compose.c:174 + #, fuzzy + msgid "Reply-To: " + msgstr "Απάντ" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:178 compose.c:1261 ++#: compose.c:176 compose.c:1321 + msgid "Fcc: " + msgstr "" + + #. L10N: "Mix" refers to the MixMaster chain for anonymous email +-#: compose.c:181 ++#: compose.c:179 + msgid "Mix: " + msgstr "" + + #. L10N: Compose menu field. Holds "Encrypt", "Sign" related information +-#: compose.c:184 ++#: compose.c:182 + msgid "Security: " + msgstr "" + +@@ -913,78 +1059,78 @@ msgstr "" + #. it should not be longer than the other compose menu fields. + #. Since it shares the row with "Encrypt with:", it should not be longer + #. than 15-20 character cells. +-#: compose.c:192 ncrypt/crypt_gpgme.c:5602 ncrypt/pgp.c:1974 +-#: ncrypt/smime.c:2395 ++#: compose.c:190 ncrypt/crypt_gpgme.c:5682 ncrypt/pgp.c:1976 ++#: ncrypt/smime.c:2429 + msgid "Sign as: " + msgstr "Υπογραφή ως: " + + #. L10N: The compose menu autocrypt line +-#: compose.c:195 ++#: compose.c:193 + msgid "Autocrypt: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:199 ++#: compose.c:197 + msgid "Newsgroups: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:201 ++#: compose.c:199 + #, fuzzy + msgid "Followup-To: " + msgstr "Συνέχεια στο %s%s;" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:203 ++#: compose.c:201 + #, fuzzy + msgid "X-Comment-To: " + msgstr "επεξεργασία του πεδίου Reply-To" + +-#: compose.c:208 compose.c:224 ++#: compose.c:206 compose.c:222 + msgid "Send" + msgstr "Αποστολή" + +-#: compose.c:209 compose.c:225 remailer.c:77 ++#: compose.c:207 compose.c:223 remailer.c:75 + msgid "Abort" + msgstr "Ακύρωση" + + #. L10N: compose menu help line entry +-#: compose.c:211 ++#: compose.c:209 + msgid "To" + msgstr "" + + #. L10N: compose menu help line entry +-#: compose.c:213 ++#: compose.c:211 + msgid "CC" + msgstr "" + + #. L10N: compose menu help line entry +-#: compose.c:215 compose.c:227 ++#: compose.c:213 compose.c:225 + msgid "Subj" + msgstr "" + +-#: compose.c:216 compose.c:228 compose.c:1556 ++#: compose.c:214 compose.c:226 compose.c:1616 + msgid "Attach file" + msgstr "Προσαρτήστε αρχείο" + +-#: compose.c:217 compose.c:229 ++#: compose.c:215 compose.c:227 + msgid "Descrip" + msgstr "Περιγραφή" + +-#: compose.c:226 ++#: compose.c:224 + #, fuzzy + msgid "Newsgroups" + msgstr "Δεν καθορίστηκε θέμα." + + #. L10N: Autocrypt recommendation flag: off. + #. * This is displayed when Autocrypt is turned off. +-#: compose.c:239 compose.c:473 ++#: compose.c:237 compose.c:472 + msgid "Off" + msgstr "" + + #. L10N: Autocrypt recommendation flag: no. + #. * This is displayed when Autocrypt cannot encrypt to the recipients. +-#: compose.c:242 ++#: compose.c:240 + msgid "No" + msgstr "" + +@@ -992,7 +1138,7 @@ msgstr "" + #. * This is displayed when Autocrypt believes encryption should not be used. + #. * This might occur if one of the recipient Autocrypt Keys has not been + #. * used recently, or if the only key available is a Gossip Header key. +-#: compose.c:247 ++#: compose.c:245 + msgid "Discouraged" + msgstr "" + +@@ -1000,14 +1146,14 @@ msgstr "" + #. * This is displayed when Autocrypt believes encryption is possible, but + #. * leaves enabling it up to the sender. Probably because "prefer encrypt" + #. * is not set in both the sender and recipient keys. +-#: compose.c:252 ++#: compose.c:250 + msgid "Available" + msgstr "" + + #. L10N: Autocrypt recommendation flag: yes. + #. * This is displayed when Autocrypt would normally enable encryption + #. * automatically. +-#: compose.c:256 ++#: compose.c:254 + #, fuzzy + msgid "Yes" + msgstr "y(ναι)" +@@ -1018,7 +1164,7 @@ msgstr "y(ναι)" + #. (c)lear sets cleartext. + #. (a)utomatic defers to the recommendation. + #. +-#: compose.c:338 ++#: compose.c:337 + msgid "Autocrypt: (e)ncrypt, (c)lear, (a)utomatic?" + msgstr "" + +@@ -1026,54 +1172,54 @@ msgstr "" + #. The letter corresponding to the compose menu autocrypt prompt + #. (e)ncrypt, (c)lear, (a)utomatic + #. +-#: compose.c:346 ++#: compose.c:345 + msgid "eca" + msgstr "" + +-#: compose.c:383 ++#: compose.c:382 + #, fuzzy + msgid "Not supported" + msgstr "Σημειώσεις δεν υποστηρίζονται." + +-#: compose.c:390 ++#: compose.c:389 + msgid "Sign, Encrypt" + msgstr "Υπογραφή, κρυπτογράφηση" + +-#: compose.c:395 compose.c:468 ++#: compose.c:394 compose.c:467 + msgid "Encrypt" + msgstr "Κρυπτογράφηση" + +-#: compose.c:400 ++#: compose.c:399 + msgid "Sign" + msgstr "Υπογραφή" + +-#: compose.c:406 ++#: compose.c:405 + msgid "None" + msgstr "" + +-#: compose.c:415 ++#: compose.c:414 + #, fuzzy + msgid " (inline PGP)" + msgstr "(εσωτερικό κείμενο)" + +-#: compose.c:417 ++#: compose.c:416 + msgid " (PGP/MIME)" + msgstr " (PGP/MIME)" + +-#: compose.c:420 ++#: compose.c:419 + #, fuzzy + msgid " (S/MIME)" + msgstr " (PGP/MIME)" + +-#: compose.c:424 ++#: compose.c:423 + msgid " (OppEnc mode)" + msgstr "" + +-#: compose.c:436 compose.c:445 ++#: compose.c:435 compose.c:444 + msgid "" + msgstr "<εξ'ορισμού>" + +-#: compose.c:452 ++#: compose.c:451 + msgid "Encrypt with: " + msgstr "Κρυπτογράφηση με: " + +@@ -1082,12 +1228,12 @@ msgstr "Κρυπτογράφηση με: " + #. Displays the output of the recommendation engine + #. (Off, No, Discouraged, Available, Yes) + #. +-#: compose.c:483 ++#: compose.c:482 + #, fuzzy + msgid "Recommendation: " + msgstr "επεξεργασία του πεδίου Reply-To" + +-#: compose.c:547 ++#: compose.c:546 + msgid "" + msgstr "" + +@@ -1098,7 +1244,7 @@ msgstr "" + #. The filename is located last to avoid a long path hiding the + #. error message. + #. +-#: compose.c:601 ++#: compose.c:600 + #, fuzzy, c-format + msgid "Attachment #%d no longer exists: %s" + msgstr "Το %s [#%d] δεν υπάρχει πια" +@@ -1110,240 +1256,360 @@ msgstr "Το %s [#%d] δεν υπάρχει πια" + #. The filename is located last to avoid a long path hiding the + #. prompt question. + #. +-#: compose.c:621 ++#: compose.c:620 + #, fuzzy, c-format + msgid "Attachment #%d modified. Update encoding for %s?" + msgstr "Το %s [#%d] μεταβλήθηκε. Ενημέρωση της κωδικοποίησης;" + +-#: compose.c:716 ++#: compose.c:715 + msgid "-- Attachments" + msgstr "-- Προσαρτήσεις" + +-#: compose.c:770 ++#: compose.c:769 + msgid "You may not delete the only attachment" + msgstr "Δεν μπορείτε να διαγράψετε τη μοναδική προσάρτηση" + +-#: compose.c:1296 edit.c:538 send.c:2462 ++#: compose.c:1356 edit.c:536 send.c:2473 + #, c-format + msgid "Bad IDN in '%s': '%s'" + msgstr "Λανθασμένη διεθνής διεύθυνση IDN στο '%s': '%s'" + +-#: compose.c:1347 ++#: compose.c:1407 + #, fuzzy + msgid "Attachment is already at top" + msgstr "Η προσάρτηση αποθηκεύθηκε" + +-#: compose.c:1352 compose.c:1368 ++#: compose.c:1412 compose.c:1428 + #, fuzzy + msgid "The fundamental part can't be moved" + msgstr "Η τρέχουσα προσάρτηση δεν θα μετατραπεί" + +-#: compose.c:1363 ++#: compose.c:1423 + #, fuzzy + msgid "Attachment is already at bottom" + msgstr "Η προσάρτηση έχει φιλτραριστεί" + +-#: compose.c:1381 ++#: compose.c:1441 + msgid "Grouping 'alternatives' requires at least 2 tagged messages" + msgstr "" + +-#: compose.c:1462 ++#: compose.c:1522 + msgid "Grouping 'multilingual' requires at least 2 tagged messages" + msgstr "" + +-#: compose.c:1475 ++#: compose.c:1535 + msgid "Not all parts have 'Content-Language' set, continue?" + msgstr "" + +-#: compose.c:1477 ++#: compose.c:1537 + #, fuzzy + msgid "Not sending this message" + msgstr "Σφάλμα κατά την αποστολή του μηνύματος" + +-#: compose.c:1571 ++#: compose.c:1631 + #, fuzzy + msgid "Attaching selected file..." + msgid_plural "Attaching selected files..." + msgstr[0] "Προσάρτηση επιλεγμένων αρχείων..." + msgstr[1] "Προσάρτηση επιλεγμένων αρχείων..." + +-#: compose.c:1585 ++#: compose.c:1645 + #, c-format + msgid "Unable to attach %s" + msgstr "Αδυναμία προσάρτησης του %s" + +-#: compose.c:1606 ++#: compose.c:1666 + msgid "Open mailbox to attach message from" + msgstr "Άνοιγμα γραμματοκιβωτίου για την προσάρτηση μηνύματος από" + +-#: compose.c:1616 ++#: compose.c:1676 + #, fuzzy + msgid "Open newsgroup to attach message from" + msgstr "Άνοιγμα γραμματοκιβωτίου για την προσάρτηση μηνύματος από" + +-#: compose.c:1667 ++#: compose.c:1730 + #, fuzzy, c-format + msgid "Unable to open mailbox %s" + msgstr "Αδυναμία κλειδώματος του γραμματοκιβωτίου!" + +-#: compose.c:1676 ++#: compose.c:1739 + msgid "No messages in that folder" + msgstr "Δεν υπάρχουν μηνύματα σε αυτό το φάκελο" + +-#: compose.c:1686 ++#: compose.c:1749 + msgid "Tag the messages you want to attach" + msgstr "Σημειώστε τα μηνύματα που θέλετε να προσαρτήσετε" + +-#: compose.c:1715 ++#: compose.c:1785 + msgid "Unable to attach" + msgstr "Αδυναμία προσάρτησης" + +-#: compose.c:1752 ++#: compose.c:1822 + msgid "Recoding only affects text attachments" + msgstr "Η επανακωδικοποίηση επηρεάζει μόνο της προσαρτήσεις κειμένου" + +-#: compose.c:1757 ++#: compose.c:1827 + msgid "The current attachment won't be converted" + msgstr "Η τρέχουσα προσάρτηση δεν θα μετατραπεί" + +-#: compose.c:1759 ++#: compose.c:1829 + msgid "The current attachment will be converted" + msgstr "Η τρέχουσα προσάρτηση θα μετατραπεί" + +-#: compose.c:1831 ++#: compose.c:1901 + msgid "Empty 'Content-Language'" + msgstr "" + +-#: compose.c:1849 ++#: compose.c:1920 + msgid "Invalid encoding" + msgstr "Μη έγκυρη κωδικοποίηση" + +-#: compose.c:1871 ++#: compose.c:1942 + msgid "Save a copy of this message?" + msgstr "Αποθήκευση αντιγράφου του μηνύματος;" + +-#: compose.c:1924 ++#: compose.c:1995 + #, fuzzy + msgid "Send attachment with name: " + msgstr "παρουσίαση της προσάρτησης ως κείμενο" + +-#: compose.c:1939 ++#: compose.c:2010 + msgid "Rename to: " + msgstr "Μετονομασία σε: " + + #. L10N: "stat" is a system call. Do "man 2 stat" for more information. +-#: compose.c:1946 editmsg.c:102 editmsg.c:138 sendlib.c:1050 ++#: compose.c:2017 editmsg.c:102 editmsg.c:138 sendlib.c:1049 + #, c-format + msgid "Can't stat %s: %s" + msgstr "Αδυναμία λήψης της κατάστασης του %s: %s" + +-#: compose.c:1966 ++#: compose.c:2037 + msgid "New file: " + msgstr "Νέο αρχείο: " + +-#: compose.c:1984 ++#: compose.c:2055 + msgid "Content-Type is of the form base/sub" + msgstr "Το Content-Type είναι της μορφής base/sub" + +-#: compose.c:1991 ++#: compose.c:2062 + #, c-format + msgid "Unknown Content-Type %s" + msgstr "Άγνωστο Content-Type %s" + +-#: compose.c:1999 ++#: compose.c:2070 + #, c-format + msgid "Can't create file %s" + msgstr "Αδυναμία δημιουργίας αρχείου %s" + +-#: compose.c:2008 ++#: compose.c:2079 + msgid "What we have here is a failure to make an attachment" + msgstr "Αποτυχία κατά την δημιουργία προσάρτησης" + +-#: compose.c:2073 ++#: compose.c:2144 + #, fuzzy + msgid "Save (postpone) draft message?" + msgstr "Ανάκληση αναβληθέντος μηνύματος;" + +-#: compose.c:2133 ++#: compose.c:2204 + msgid "Write message to mailbox" + msgstr "Εγγραφή τους μηνύματος στο γραμματοκιβώτιο" + +-#: compose.c:2136 ++#: compose.c:2207 + #, c-format + msgid "Writing message to %s ..." + msgstr "Εγγραφή μηνύματος στο %s ..." + +-#: compose.c:2143 ++#: compose.c:2214 + msgid "Message written" + msgstr "Το μήνυμα γράφτηκε" + +-#: compose.c:2154 ++#: compose.c:2225 + msgid "No PGP backend configured" + msgstr "" + +-#: compose.c:2161 compose.c:2225 ++#: compose.c:2232 compose.c:2296 + msgid "S/MIME already selected. Clear and continue?" + msgstr "Το S/MIME είχε ήδη επιλεγεί. Καθαρισμός ή συνέχεια ; " + +-#: compose.c:2186 ++#: compose.c:2257 + msgid "No S/MIME backend configured" + msgstr "" + +-#: compose.c:2194 ++#: compose.c:2265 + msgid "PGP already selected. Clear and continue?" + msgstr "Το PGP είχε ήδη επιλεγεί. Καθαρισμός ή συνέχεια ; " + +-#: compress.c:355 compress.c:499 ++#: compress/compress.c:354 compress/compress.c:498 + #, c-format + msgid "Can't append without an append-hook or close-hook : %s" + msgstr "" + +-#: compress.c:444 compress.c:511 compress.c:590 compress.c:628 mbox/mbox.c:1208 ++#: compress/compress.c:443 compress/compress.c:510 compress/compress.c:589 ++#: compress/compress.c:627 mbox/mbox.c:1208 + msgid "Unable to lock mailbox" + msgstr "Αδυναμία κλειδώματος του γραμματοκιβωτίου" + +-#: compress.c:448 compress.c:518 compress.c:594 ++#: compress/compress.c:447 compress/compress.c:517 compress/compress.c:593 + #, c-format + msgid "Decompressing %s" + msgstr "" + +-#: compress.c:457 ++#: compress/compress.c:456 + msgid "Can't identify the contents of the compressed file" + msgstr "" + +-#: compress.c:464 compress.c:539 ++#: compress/compress.c:463 compress/compress.c:538 + #, c-format + msgid "Can't find mailbox ops for mailbox type %d" + msgstr "" + +-#: compress.c:521 ++#: compress/compress.c:520 + #, fuzzy, c-format + msgid "Compress command failed: %s" + msgstr "Αποτυχία εντολής προσύνδεσης" + +-#: compress.c:532 ++#: compress/compress.c:531 + msgid "Unsupported mailbox type for appending" + msgstr "" + +-#: compress.c:618 ++#: compress/compress.c:617 + msgid "Can't sync a compressed file without a close-hook" + msgstr "" + +-#: compress.c:640 compress.c:692 ++#: compress/compress.c:639 compress/compress.c:691 + #, fuzzy, c-format + msgid "Compressing %s" + msgstr "Αντιγραφή στο %s..." + +-#: compress.c:687 ++#: compress/compress.c:686 + #, fuzzy, c-format + msgid "Compressed-appending to %s..." + msgstr "Αντιγραφή στο %s..." + +-#: compress.c:699 editmsg.c:247 ++#: compress/compress.c:698 editmsg.c:247 + #, c-format + msgid "Error. Preserving temporary file: %s" + msgstr "Σφάλμα. Διατήρηση προσωρινού αρχείου: %s" + ++#: config/bool.c:70 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %s" ++msgstr "Μη έγκυρος αναφορικώς μήνας: %s" ++ ++#: config/bool.c:131 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %ld" ++msgstr "Μη έγκυρος αναφορικώς μήνας: %s" ++ ++#: config/enum.c:62 ++#, fuzzy, c-format ++msgid "Invalid enum value: %s" ++msgstr "%d: μη έγκυρος αριθμός μηνύματος.\n" ++ ++#: config/enum.c:149 ++#, fuzzy, c-format ++msgid "Invalid enum value: %ld" ++msgstr "Μη έγκυρη μέρα του μήνα: %s" ++ ++#: config/long.c:50 ++#, fuzzy, c-format ++msgid "Invalid long: %s" ++msgstr "Μη έγκυρος μήνας: %s" ++ ++#: config/long.c:56 config/long.c:114 config/number.c:68 config/number.c:133 ++#, fuzzy, c-format ++msgid "Option %s may not be negative" ++msgstr "Η λειτουργία απαγορεύεται στην κατάσταση προσάρτηση-μηνύματος." ++ ++#: config/number.c:49 config/sort.c:145 config/string.c:75 config/string.c:159 ++#, c-format ++msgid "Option %s may not be empty" ++msgstr "" ++ ++#: config/number.c:56 ++#, fuzzy, c-format ++msgid "Invalid number: %s" ++msgstr "%d: μη έγκυρος αριθμός μηνύματος.\n" ++ ++#: config/number.c:62 ++#, c-format ++msgid "Number is too big: %s" ++msgstr "" ++ ++#: config/number.c:127 ++#, fuzzy, c-format ++msgid "Invalid number: %ld" ++msgstr "%d: μη έγκυρος αριθμός μηνύματος.\n" ++ ++#: config/quad.c:69 ++#, fuzzy, c-format ++msgid "Invalid quad value: %s" ++msgstr "Μη έγκυρος αναφορικώς μήνας: %s" ++ ++#: config/quad.c:133 ++#, fuzzy, c-format ++msgid "Invalid quad value: %ld" ++msgstr "Μη έγκυρη μέρα του μήνα: %s" ++ ++#: config/set.c:102 ++#, c-format ++msgid "No such variable: %s" ++msgstr "" ++ ++#: config/set.c:134 config/set.c:821 ++#, fuzzy, c-format ++msgid "Variable '%s' has an invalid type %d" ++msgstr "Σφάλμα: '%s' είναι λανθασμένη διεθνής διεύθυνση IDN" ++ ++#: config/set.c:399 config/set.c:463 config/set.c:528 config/set.c:601 ++#: config/set.c:671 config/set.c:744 ++#, fuzzy, c-format ++msgid "Unknown variable '%s'" ++msgstr "%s: άγνωστη μεταβλητή" ++ ++#: config/sort.c:192 ++#, fuzzy, c-format ++msgid "Invalid sort name: %s" ++msgstr "Μη έγκυρος αναφορικώς μήνας: %s" ++ ++#: config/sort.c:322 ++#, fuzzy, c-format ++msgid "Invalid sort type: %ld" ++msgstr "Μη έγκυρος αναφορικώς μήνας: %s" ++ ++#. L10N: Example: Username at myhost.com ++#: conn/connaccount.c:61 ++#, c-format ++msgid "Username at %s: " ++msgstr "Όνομα χρήστη στο %s: " ++ ++#: conn/connaccount.c:117 ++#, c-format ++msgid "Password for %s@%s: " ++msgstr "Συνθηματικό για το %s@%s: " ++ ++#. L10N: You will see this error message if (1) you have "oauthbearer" in ++#. one of your $*_authenticators and (2) you do not have the corresponding ++#. $*_oauth_refresh_command defined. So the message does not mean "None of ++#. your $*_oauth_refresh_command's are defined." ++#: conn/connaccount.c:165 ++#, fuzzy ++msgid "No OAUTH refresh command defined" ++msgstr "Η εντολή ερωτήσεως δεν καθορίστηκε" ++ ++#: conn/connaccount.c:173 ++msgid "Unable to run refresh command" ++msgstr "" ++ ++#: conn/connaccount.c:184 ++msgid "Command returned empty string" ++msgstr "" ++ ++#: conn/connaccount.c:191 ++#, c-format ++msgid "OAUTH token is too big: %ld" ++msgstr "" ++ + #: conn/conn_raw.c:160 conn/conn_raw.c:218 + #, c-format + msgid "Looking up %s..." +@@ -1364,7 +1630,7 @@ msgstr "Σύνδεση στο %s..." + msgid "Could not connect to %s (%s)" + msgstr "Αδυναμία σύνδεσης στο %s (%s)" + +-#: conn/conn_raw.c:260 conn/ssl.c:1230 curs_lib.c:568 mutt_logging.c:149 ++#: conn/conn_raw.c:260 conn/ssl.c:1245 gui/curs_lib.c:569 mutt_logging.c:147 + msgid "unknown error" + msgstr "άγνωστο σφάλμα" + +@@ -1378,24 +1644,24 @@ msgstr "Σφάλμα στη συνομιλία με το %s (%s)" + msgid "Connection to %s has been aborted" + msgstr "Έκλεισε η σύνδεση στο %s" + +-#: conn/sasl.c:565 ++#: conn/sasl.c:547 + msgid "Unknown SASL profile" + msgstr "" + +-#: conn/sasl.c:598 ++#: conn/sasl.c:580 + #, fuzzy + msgid "Error allocating SASL connection" + msgstr "σφάλμα στο μοντέλο στο: %s" + +-#: conn/sasl.c:608 ++#: conn/sasl.c:590 + msgid "Error setting SASL security properties" + msgstr "" + +-#: conn/sasl.c:619 ++#: conn/sasl.c:601 + msgid "Error setting SASL external security strength" + msgstr "" + +-#: conn/sasl.c:629 ++#: conn/sasl.c:611 + msgid "Error setting SASL external user name" + msgstr "" + +@@ -1408,138 +1674,112 @@ msgstr "Αποτυχία εντολής προσύνδεσης" + msgid "Connection to %s closed" + msgstr "Έκλεισε η σύνδεση στο %s" + +-#: conn/ssl.c:237 ++#: conn/ssl.c:222 + #, c-format + msgid "Filling entropy pool: %s..." + msgstr "Αποθήκευση εντροπίας: %s..." + +-#: conn/ssl.c:243 ++#: conn/ssl.c:228 + #, c-format + msgid "%s has insecure permissions" + msgstr "Το %s έχει ανασφαλή δικαιώματα" + +-#: conn/ssl.c:385 ++#: conn/ssl.c:369 + #, fuzzy + msgid "SSL disabled due to the lack of entropy" + msgstr "Το SSL απενεργοποιήθηκε λόγω λήψης εντροπίας" + +-#: conn/ssl.c:402 ++#: conn/ssl.c:386 + msgid "Unknown" + msgstr "Άγνωστο" + +-#: conn/ssl.c:421 conn/ssl_gnutls.c:186 ++#: conn/ssl.c:405 conn/ssl_gnutls.c:188 + #, c-format + msgid "[unable to calculate]" + msgstr "[αδυναμία υπολογισμού]" + +-#: conn/ssl.c:446 ++#: conn/ssl.c:430 + msgid "[invalid date]" + msgstr "[μη έγκυρη ημερομηνία]" + +-#: conn/ssl.c:506 ++#: conn/ssl.c:490 + msgid "Server certificate is not yet valid" + msgstr "Η πιστοποίηση του διακομιστή δεν είναι ακόμα έγκυρη" + +-#: conn/ssl.c:516 ++#: conn/ssl.c:500 + msgid "Server certificate has expired" + msgstr "Το πιστοποιητικό του διακομιστή έληξε" + +-#: conn/ssl.c:605 ++#: conn/ssl.c:589 + msgid "Failed to find enough entropy on your system" + msgstr "Αποτυχία στην εύρεση αρκετής εντροπίας στο σύστημα σας" + +-#: conn/ssl.c:799 ++#: conn/ssl.c:783 + #, fuzzy + msgid "can't get certificate subject" + msgstr "Αδυναμία στη λήψη πιστοποιητικού από το ταίρι" + +-#: conn/ssl.c:808 conn/ssl.c:816 ++#: conn/ssl.c:792 conn/ssl.c:800 + #, fuzzy + msgid "can't get certificate common name" + msgstr "Αδυναμία στη λήψη πιστοποιητικού από το ταίρι" + +-#: conn/ssl.c:830 ++#: conn/ssl.c:814 + #, fuzzy, c-format + msgid "certificate owner does not match hostname %s" + msgstr "Ο ιδιοκτήτης του πιστοποιητικού S/MIME δεν ταιριάζει με τον αποστολέα." + +-#: conn/ssl.c:904 conn/ssl_gnutls.c:539 ++#: conn/ssl.c:917 conn/ssl_gnutls.c:570 + msgid "This certificate belongs to:" + msgstr "Αυτό το πιστοποιητικό ανήκει στο:" + +-#: conn/ssl.c:913 conn/ssl_gnutls.c:593 ++#: conn/ssl.c:926 conn/ssl_gnutls.c:624 + msgid "This certificate was issued by:" + msgstr "Αυτό το πιστοποιητικό εκδόθηκε από το:" + +-#: conn/ssl.c:922 conn/ssl_gnutls.c:604 ++#: conn/ssl.c:935 conn/ssl_gnutls.c:635 + msgid "This certificate is valid" + msgstr "Αυτό το πιστοποιητικό είναι έγκυρο" + +-#: conn/ssl.c:923 conn/ssl_gnutls.c:608 ++#: conn/ssl.c:936 conn/ssl_gnutls.c:639 + #, c-format + msgid " from %s" + msgstr " από %s" + +-#: conn/ssl.c:925 conn/ssl_gnutls.c:612 ++#: conn/ssl.c:938 conn/ssl_gnutls.c:643 + #, c-format + msgid " to %s" + msgstr " προς %s" + +-#: conn/ssl.c:931 conn/ssl_gnutls.c:617 ++#: conn/ssl.c:944 conn/ssl_gnutls.c:648 + #, fuzzy, c-format + msgid "SHA1 Fingerprint: %s" + msgstr "Αποτύπωμα: %s" + +-#: conn/ssl.c:937 conn/ssl.c:940 conn/ssl_gnutls.c:623 conn/ssl_gnutls.c:625 +-#, fuzzy +-msgid "SHA256 Fingerprint: " +-msgstr "Αποτύπωμα: %s" +- +-#: conn/ssl.c:944 conn/ssl_gnutls.c:664 +-#, c-format +-msgid "SSL Certificate check (certificate %zu of %zu in chain)" +-msgstr "" +- +-#. L10N: These four letters correspond to the choices in the next four strings: +-#. (r)eject, accept (o)nce, (a)ccept always, (s)kip. +-#. These prompts are the interactive certificate confirmation prompts for +-#. an OpenSSL connection. +-#: conn/ssl.c:964 +-msgid "roas" +-msgstr "" +- +-#: conn/ssl.c:968 +-#, fuzzy +-msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" +-msgstr "(r)απόρριψη, (o)αποδοχή μια φορά, (a)αποδοχή πάντα" +- +-#: conn/ssl.c:970 conn/ssl_gnutls.c:671 +-msgid "(r)eject, accept (o)nce, (a)ccept always" +-msgstr "(r)απόρριψη, (o)αποδοχή μια φορά, (a)αποδοχή πάντα" +- +-#: conn/ssl.c:975 ++#: conn/ssl.c:950 conn/ssl.c:953 conn/ssl_gnutls.c:654 conn/ssl_gnutls.c:656 + #, fuzzy +-msgid "(r)eject, accept (o)nce, (s)kip" +-msgstr "(r)απόρριψη, (o)αποδοχή μια φορά" ++msgid "SHA256 Fingerprint: " ++msgstr "Αποτύπωμα: %s" + +-#: conn/ssl.c:977 conn/ssl_gnutls.c:680 +-msgid "(r)eject, accept (o)nce" +-msgstr "(r)απόρριψη, (o)αποδοχή μια φορά" ++#: conn/ssl.c:957 conn/ssl_gnutls.c:695 ++#, c-format ++msgid "SSL Certificate check (certificate %zu of %zu in chain)" ++msgstr "" + +-#: conn/ssl.c:981 conn/ssl_gnutls.c:689 ncrypt/crypt_gpgme.c:4729 +-#: ncrypt/pgpkey.c:664 ncrypt/smime.c:549 ++#: conn/ssl.c:994 conn/ssl_gnutls.c:720 ncrypt/crypt_gpgme.c:4777 ++#: ncrypt/pgpkey.c:667 ncrypt/smime.c:551 + msgid "Exit " + msgstr "Έξοδος " + +-#: conn/ssl.c:1016 conn/ssl_gnutls.c:742 ++#: conn/ssl.c:1029 conn/ssl_gnutls.c:773 + msgid "Warning: Couldn't save certificate" + msgstr "Προειδοποίηση: Αδυναμία αποθήκευσης πιστοποιητικού" + +-#: conn/ssl.c:1020 conn/ssl_gnutls.c:746 ++#: conn/ssl.c:1033 conn/ssl_gnutls.c:777 + msgid "Certificate saved" + msgstr "Το πιστοποιητικό αποθηκεύτηκε" + +-#: conn/ssl.c:1132 ++#: conn/ssl.c:1147 + #, fuzzy, c-format + msgid "Certificate host check failed: %s" + msgstr "Το πιστοποιητικό αποθηκεύτηκε" +@@ -1547,15 +1787,15 @@ msgstr "Το πιστοποιητικό αποθηκεύτηκε" + #. L10N: This is a warning when trying to set the host name for + #. * TLS Server Name Indication (SNI). This allows the server to present + #. * the correct certificate if it supports multiple hosts. +-#: conn/ssl.c:1213 conn/ssl_gnutls.c:1072 ++#: conn/ssl.c:1228 conn/ssl_gnutls.c:1105 + msgid "Warning: unable to set TLS SNI host name" + msgstr "" + +-#: conn/ssl.c:1224 ++#: conn/ssl.c:1239 + msgid "I/O error" + msgstr "I/O σφάλμα" + +-#: conn/ssl.c:1233 ++#: conn/ssl.c:1248 + #, c-format + msgid "SSL failed: %s" + msgstr "SSL απέτυχε: %s" +@@ -1563,96 +1803,80 @@ msgstr "SSL απέτυχε: %s" + #. L10N: an SSL context is a data structure returned by the OpenSSL + #. function SSL_CTX_new(). In this case it returned NULL: an + #. error condition. +-#: conn/ssl.c:1269 ++#: conn/ssl.c:1284 + #, fuzzy + msgid "Unable to create SSL context" + msgstr "Σφάλμα: αδυναμία δημιουργίας υποδιεργασίας OpenSSL!" + +-#: conn/ssl.c:1322 ++#: conn/ssl.c:1337 + msgid "Warning: error enabling ssl_verify_partial_chains" + msgstr "" + +-#: conn/ssl_gnutls.c:150 conn/ssl_gnutls.c:784 conn/ssl_gnutls.c:793 ++#: conn/ssl_gnutls.c:152 conn/ssl_gnutls.c:817 conn/ssl_gnutls.c:826 + msgid "Unable to get certificate from peer" + msgstr "Αδυναμία στη λήψη πιστοποιητικού από το ταίρι" + +-#: conn/ssl_gnutls.c:155 ++#: conn/ssl_gnutls.c:157 + #, c-format + msgid "Certificate verification error (%s)" + msgstr "" + +-#: conn/ssl_gnutls.c:162 ++#: conn/ssl_gnutls.c:164 + #, fuzzy + msgid "Certificate is not X.509" + msgstr "Το πιστοποιητικό αποθηκεύτηκε" + +-#: conn/ssl_gnutls.c:349 conn/ssl_gnutls.c:483 ++#: conn/ssl_gnutls.c:351 conn/ssl_gnutls.c:485 + #, fuzzy + msgid "Error initialising gnutls certificate data" + msgstr "Λάθος κατά την αρχικοποίηση του τερματικού." + +-#: conn/ssl_gnutls.c:355 conn/ssl_gnutls.c:489 ++#: conn/ssl_gnutls.c:357 conn/ssl_gnutls.c:491 + msgid "Error processing certificate data" + msgstr "" + +-#: conn/ssl_gnutls.c:635 ++#: conn/ssl_gnutls.c:666 + #, fuzzy + msgid "WARNING: Server certificate is not yet valid" + msgstr "Η πιστοποίηση του διακομιστή δεν είναι ακόμα έγκυρη" + +-#: conn/ssl_gnutls.c:640 ++#: conn/ssl_gnutls.c:671 + #, fuzzy + msgid "WARNING: Server certificate has expired" + msgstr "Το πιστοποιητικό του διακομιστή έληξε" + +-#: conn/ssl_gnutls.c:645 ++#: conn/ssl_gnutls.c:676 + #, fuzzy + msgid "WARNING: Server certificate has been revoked" + msgstr "Το πιστοποιητικό του διακομιστή έληξε" + +-#: conn/ssl_gnutls.c:650 ++#: conn/ssl_gnutls.c:681 + msgid "WARNING: Server hostname does not match certificate" + msgstr "" + +-#: conn/ssl_gnutls.c:655 ++#: conn/ssl_gnutls.c:686 + #, fuzzy + msgid "WARNING: Signer of server certificate is not a CA" + msgstr "Η πιστοποίηση του διακομιστή δεν είναι ακόμα έγκυρη" + +-#: conn/ssl_gnutls.c:659 conn/ssl_gnutls.c:1004 ++#: conn/ssl_gnutls.c:690 conn/ssl_gnutls.c:1037 + msgid "Warning: Server certificate was signed using an insecure algorithm" + msgstr "" + +-#. L10N: These three letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce, (a)ccept always. +-#. This is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:676 +-msgid "roa" +-msgstr "roa" +- +-#. L10N: These two letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce. +-#. These is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:685 +-msgid "ro" +-msgstr "ro" +- +-#: conn/ssl_gnutls.c:950 conn/ssl_gnutls.c:992 ++#: conn/ssl_gnutls.c:983 conn/ssl_gnutls.c:1025 + msgid "All available protocols for TLS/SSL connection disabled" + msgstr "" + +-#: conn/ssl_gnutls.c:999 ++#: conn/ssl_gnutls.c:1032 + msgid "Explicit ciphersuite selection via $ssl_ciphers not supported" + msgstr "" + +-#: conn/ssl_gnutls.c:1120 ++#: conn/ssl_gnutls.c:1153 + #, fuzzy, c-format + msgid "SSL/TLS connection using %s (%s/%s/%s)" + msgstr "Σύνδεση SSL χρησιμοποιώντας το %s (%s)" + +-#: conn/ssl_gnutls.c:1175 conn/ssl_gnutls.c:1204 ++#: conn/ssl_gnutls.c:1210 conn/ssl_gnutls.c:1239 + msgid "Error: no TLS socket open" + msgstr "" + +@@ -1671,38 +1895,18 @@ msgstr "Σφάλμα στη συνομιλία με το %s (%s)" + msgid "Tunnel to %s returned error %d (%s)" + msgstr "" + +-#: copy.c:660 ++#: copy.c:662 + #, c-format + msgid "The length calculation was wrong by %ld byte" + msgid_plural "The length calculation was wrong by %ld bytes" + msgstr[0] "" + msgstr[1] "" + +-#: copy.c:744 ++#: copy.c:746 + msgid "No decryption engine available for message" + msgstr "" + +-#: curs_lib.c:378 +-msgid "yes" +-msgstr "y(ναι)" +- +-#: curs_lib.c:379 +-msgid "no" +-msgstr "n(όχι)" +- +-#: curs_lib.c:518 +-msgid "Exit NeoMutt?" +-msgstr "Έξοδος από το NeoMutt;" +- +-#: curs_lib.c:597 +-msgid "Press any key to continue..." +-msgstr "Πατήστε ένα πλήκτρο για να συνεχίσετε..." +- +-#: curs_lib.c:705 +-msgid " ('?' for list): " +-msgstr "('?' για λίστα): " +- +-#: edit.c:64 ++#: edit.c:62 + #, fuzzy + msgid "" + "~~ insert a line beginning with a single ~\n" +@@ -1734,7 +1938,7 @@ msgstr "" + "~? αυτό το μήνυμα\n" + ". μόνη της σε μια γραμμή τερματίζει την είσοδο\n" + +-#: edit.c:75 ++#: edit.c:73 + #, fuzzy + msgid "" + "~q write file and quit editor\n" +@@ -1766,20 +1970,20 @@ msgstr "" + "~? αυτό το μήνυμα\n" + ". μόνη της σε μια γραμμή τερματίζει την είσοδο\n" + +-#: edit.c:261 ++#: edit.c:259 + #, c-format + msgid "%d: invalid message number.\n" + msgstr "%d: μη έγκυρος αριθμός μηνύματος.\n" + +-#: edit.c:416 ++#: edit.c:414 + msgid "(End message with a . on a line by itself)\n" + msgstr "(Τελειώστε το μήνυμα με . μόνη της σε μια γραμμή)\n" + +-#: edit.c:474 ++#: edit.c:472 + msgid "No mailbox.\n" + msgstr "Κανένα γραμματοκιβώτιο.\n" + +-#: edit.c:478 ++#: edit.c:476 + msgid "Message contains:\n" + msgstr "Το μήνυμα περιέχει:\n" + +@@ -1787,19 +1991,19 @@ msgstr "Το μήνυμα περιέχει:\n" + #. not IN the middle of the content. + #. So it doesn't mean "(message will continue)" + #. but means "(press any key to continue using neomutt)". +-#: edit.c:486 edit.c:547 ++#: edit.c:484 edit.c:545 + msgid "(continue)\n" + msgstr "(συνεχίστε)\n" + +-#: edit.c:499 ++#: edit.c:497 + msgid "missing filename.\n" + msgstr "λείπει το όνομα του αρχείου.\n" + +-#: edit.c:519 ++#: edit.c:517 + msgid "No lines in message.\n" + msgstr "Δεν υπάρχουν γραμμές στο μήνυμα.\n" + +-#: edit.c:558 ++#: edit.c:556 + #, c-format + msgid "%s: unknown editor command (~? for help)\n" + msgstr "%s: άγνωστη εντολή κειμενογράφου (~? για βοήθεια)\n" +@@ -1846,19 +2050,73 @@ msgstr "Αδυναμία πρόσθεσης στο φάκελο: %s" + msgid "multipart message has no boundary parameter" + msgstr "το πολυμερές μήνυμα δεν έχει οριοθέτουσα παράμετρο" + +-#: flags.c:382 index.c:2561 index.c:2604 index.c:3134 index.c:3171 ++#: flags.c:381 index.c:2587 index.c:2630 index.c:3160 index.c:3197 + #: mutt_thread.c:1091 mutt_thread.c:1158 mutt_thread.c:1246 + msgid "Threading is not enabled" + msgstr "Η χρήση συζητήσεων δεν έχει ενεργοποιηθεί" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Set flag" + msgstr "Ορίστε σημαία" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Clear flag" + msgstr "Καθαρίστε σημαία" + ++#: gui/color.c:633 gui/color.c:644 ++#, c-format ++msgid "%s: color not supported by term" ++msgstr "%s: το τερματικό δεν υποστηρίζει χρώμα" ++ ++#: gui/color.c:652 ++#, c-format ++msgid "%s: no such color" ++msgstr "%s: δεν υπάρχει τέτοιο χρώμα" ++ ++#: gui/color.c:717 gui/color.c:740 gui/color.c:751 gui/color.c:842 ++#, c-format ++msgid "%s: no such object" ++msgstr "%s: δεν υπάρχει τέτοιο αντικείμενο" ++ ++#: gui/color.c:1142 ++#, c-format ++msgid "%s: no such attribute" ++msgstr "%s: δεν υπάρχει τέτοια ιδιότητα" ++ ++#: gui/color.c:1244 ++msgid "default colors not supported" ++msgstr "δεν υποστηρίζονται τα εξ'ορισμού χρώματα" ++ ++#: gui/color.c:1282 ++#, c-format ++msgid "Maximum quoting level is %d" ++msgstr "" ++ ++#: gui/color.c:1319 ++#, fuzzy, c-format ++msgid "%s: invalid number: %s" ++msgstr "%d: μη έγκυρος αριθμός μηνύματος.\n" ++ ++#: gui/curs_lib.c:379 ++msgid "yes" ++msgstr "y(ναι)" ++ ++#: gui/curs_lib.c:380 ++msgid "no" ++msgstr "n(όχι)" ++ ++#: gui/curs_lib.c:519 ++msgid "Exit NeoMutt?" ++msgstr "Έξοδος από το NeoMutt;" ++ ++#: gui/curs_lib.c:598 ++msgid "Press any key to continue..." ++msgstr "Πατήστε ένα πλήκτρο για να συνεχίσετε..." ++ ++#: gui/curs_lib.c:749 ++msgid " ('?' for list): " ++msgstr "('?' για λίστα): " ++ + #: handler.c:102 + #, fuzzy, c-format + msgid "[-- Type: %s/%s%s%s, Encoding: %s, Size: %s --]\n" +@@ -1879,23 +2137,23 @@ msgstr "[-- Autoview χρησιμοποιώντας το %s --]\n" + msgid "Invoking autoview command: %s" + msgstr "Κλήση της εντολής autoview: %s" + +-#: handler.c:591 mutt_attach.c:527 mutt_attach.c:714 mutt_attach.c:745 +-#: mutt_attach.c:1087 mutt_attach.c:1152 ncrypt/pgpkey.c:723 +-#: ncrypt/pgpkey.c:920 ++#: handler.c:590 mutt_attach.c:555 mutt_attach.c:747 mutt_attach.c:778 ++#: mutt_attach.c:1120 mutt_attach.c:1185 ncrypt/pgpkey.c:756 ++#: ncrypt/pgpkey.c:955 + msgid "Can't create filter" + msgstr "Αδυναμία δημιουργίας φίλτρου" + +-#: handler.c:595 ++#: handler.c:594 + #, c-format + msgid "[-- Can't run %s. --]\n" + msgstr "[-- Αδυναμία εκτέλεσης στις %s --]\n" + +-#: handler.c:614 handler.c:635 ++#: handler.c:613 handler.c:634 + #, c-format + msgid "[-- Autoview stderr of %s --]\n" + msgstr "[-- Autoview κανονική έξοδος του %s --]\n" + +-#: handler.c:764 ++#: handler.c:763 + msgid "[-- Error: message/external-body has no access-type parameter --]\n" + msgstr "[-- Σφάλμα: το μήνυμα/εξωτερικό-σώμα δεν έχει παράμετρο access-type --]\n" + +@@ -1914,7 +2172,7 @@ msgstr "[-- Σφάλμα: το μήνυμα/εξωτερικό-σώμα δεν + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:807 ++#: handler.c:806 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" +@@ -1943,7 +2201,7 @@ msgstr[1] "" + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:830 ++#: handler.c:829 + #, fuzzy, c-format + msgid "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" + msgid_plural "[-- This %s/%s attachment (size %s bytes) has been deleted --]\n" +@@ -1957,7 +2215,7 @@ msgstr[1] "[-- Αυτή η %s/%s προσάρτηση (μέγεθος %s bytes) + #. + #. Caution: Argument three %3$ is also defined but should not be used + #. in this translation! +-#: handler.c:848 ++#: handler.c:847 + #, fuzzy + msgid "" + "[-- This %s/%s attachment has been deleted --]\n" +@@ -1969,12 +2227,12 @@ msgstr "" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The first "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:856 ++#: handler.c:855 + #, fuzzy, c-format + msgid "[-- This %s/%s attachment has been deleted --]\n" + msgstr "[-- Αυτή η %s/%s προσάρτηση έχει διαγραφεί --]\n" + +-#: handler.c:866 ++#: handler.c:865 + #, c-format + msgid "[-- name: %s --]\n" + msgstr "[-- όνομα: %s --]\n" +@@ -1982,7 +2240,7 @@ msgstr "[-- όνομα: %s --]\n" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:884 ++#: handler.c:883 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -1998,7 +2256,7 @@ msgstr "" + #. The "%s/%s" is a MIME type, e.g. "text/plain". The %s after + #. access-type is an access-type as defined by the MIME RFCs, e.g. "FTP", + #. "LOCAL-FILE", "MAIL-SERVER". +-#: handler.c:905 ++#: handler.c:904 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -2007,96 +2265,96 @@ msgstr "" + "[-- Αυτή η %s/%s προσάρτηση δεν περιλαμβάνετε, --]\n" + "[-- και το ενδεδειγμένο access-type %s δεν υποστηρίζεται --]\n" + +-#: handler.c:1090 ++#: handler.c:1089 + msgid "[-- Error: Could not display any parts of Multipart/Alternative --]\n" + msgstr "[-- Σφάλμα: Αδυναμία απεικόνισης σε όλα τα μέρη του Multipart/Alternative --]\n" + + #. L10N: %s is the attachment description, filename or form_name. +-#: handler.c:1231 ++#: handler.c:1230 + #, fuzzy, c-format + msgid "[-- Attachment #%d: %s --]\n" + msgstr "[-- Προσάρτηση #%d: %s --]\n" + +-#: handler.c:1236 ++#: handler.c:1235 + #, fuzzy, c-format + msgid "[-- Attachment #%d --]\n" + msgstr "[-- Προσάρτηση #%d --]\n" + +-#: handler.c:1254 ++#: handler.c:1253 + #, fuzzy + msgid "One or more parts of this message could not be displayed" + msgstr "Προειδοποίηση: Τμήμα αυτού του μηνύματος δεν είναι υπογεγραμμένο." + +-#: handler.c:1320 ++#: handler.c:1319 + #, fuzzy + msgid "Unable to open 'memory stream'" + msgstr "Αδυναμία ανοίγματος προσωρινού αρχείου" + +-#: handler.c:1330 ++#: handler.c:1329 + msgid "Unable to open temporary file" + msgstr "Αδυναμία ανοίγματος προσωρινού αρχείου" + +-#: handler.c:1379 ++#: handler.c:1378 + #, fuzzy + msgid "failed to re-open 'memory stream'" + msgstr "Αδυναμία ανοίγματος προσωρινού αρχείου" + +-#: handler.c:1620 ++#: handler.c:1619 + msgid "Error: multipart/signed has no protocol" + msgstr "Σφάλμα: το πολυμερές/υπογεγραμμένο δεν έχει πρωτόκολλο" + + #. L10N: %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1694 ++#: handler.c:1693 + #, fuzzy, c-format + msgid "[-- This is an attachment (use '%s' to view this part) --]\n" + msgstr "[-- Αυτή η %s/%s προσάρτηση (χρησιμοποιήστε το '%s' για να δείτε αυτό το μέρος) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". + #. The last %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1701 ++#: handler.c:1700 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported (use '%s' to view this part) --]\n" + msgstr "[-- Το %s/%s δεν υποστηρίζεται (χρησιμοποιήστε το '%s' για να δείτε αυτό το μέρος) --]\n" + +-#: handler.c:1709 ++#: handler.c:1708 + #, fuzzy + msgid "[-- This is an attachment (need 'view-attachments' bound to key) --]\n" + msgstr "[-- Αυτή η %s/%s προσάρτηση (απαιτείται το 'view-attachments' να είναι συνδεδεμένο με πλήκτρο --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1715 ++#: handler.c:1714 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported (need 'view-attachments' bound to key) --]\n" + msgstr "[-- Το %s/%s δεν υποστηρίζεται (απαιτείται το 'view-attachments' να είναι συνδεδεμένο με πλήκτρο --]\n" + +-#: handler.c:1724 ++#: handler.c:1723 + #, fuzzy + msgid "[-- This is an attachment --]\n" + msgstr "[-- Αυτή η %s/%s προσάρτηση --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1729 ++#: handler.c:1728 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported --]\n" + msgstr "[-- Το %s/%s δεν υποστηρίζεται --]\n" + +-#: help.c:400 ++#: help.c:401 + msgid "ERROR: please report this bug" + msgstr "ΣΦΑΛΜΑ: παρακαλώ αναφέρατε αυτό το σφάλμα προγράμματος" + +-#: help.c:455 ++#: help.c:456 + msgid "" + msgstr "<ΑΓΝΩΣΤΟ>" + +-#: help.c:469 ++#: help.c:470 + msgid "Generic bindings:" + msgstr "Γενικές συνδέσεις:" + +-#: help.c:473 ++#: help.c:474 + msgid "Unbound functions:" + msgstr "Μη συνδεδεμένες λειτουργίες:" + +-#: help.c:481 ++#: help.c:482 + #, c-format + msgid "Help for %s" + msgstr "Βοήθεια για το %s" +@@ -2113,41 +2371,41 @@ msgstr "" + msgid "badly formatted command string" + msgstr "" + +-#: hook.c:461 ++#: hook.c:466 + msgid "unhook: Can't do unhook * from within a hook" + msgstr "unhook: Αδυναμία unhook * μέσα από ένα hook" + +-#: hook.c:474 ++#: hook.c:479 + #, c-format + msgid "unhook: unknown hook type: %s" + msgstr "unhook: άγνωστος τύπος hook: %s" + +-#: hook.c:484 ++#: hook.c:489 + #, c-format + msgid "unhook: Can't delete a %s from within a %s" + msgstr "unhook: Αδυναμία διαγραφής ενός %s μέσα από ένα %s" + + #. L10N: '%s' is the (misspelled) name of the menu, e.g. 'index' or 'pager' +-#: icommands.c:259 keymap.c:1161 keymap.c:1346 ++#: icommands.c:261 keymap.c:1159 keymap.c:1344 + #, c-format + msgid "%s: no such menu" + msgstr "%s: δεν υπάρχει τέτοιο μενού" + + #. L10N: '%s' is the name of the menu, e.g. 'index' or 'pager', it might + #. L10N: also be 'all' when all menus are affected. +-#: icommands.c:272 ++#: icommands.c:274 + #, fuzzy, c-format + msgid "%s: no binds for this menu" + msgstr "%s: δεν υπάρχει τέτοιο μενού" + +-#: icommands.c:272 ++#: icommands.c:274 + #, fuzzy, c-format + msgid "%s: no macros for this menu" + msgstr "%s: δεν υπάρχει τέτοιο μενού" + + #. L10N: '%s' is the file name of the temporary file +-#: icommands.c:283 icommands.c:296 icommands.c:316 icommands.c:340 +-#: icommands.c:360 icommands.c:371 imap/message.c:1093 ++#: icommands.c:285 icommands.c:297 icommands.c:317 icommands.c:340 ++#: icommands.c:360 icommands.c:370 imap/message.c:1093 + #, c-format + msgid "Could not create temporary file %s" + msgstr "Αδυναμία δημιουργίας προσωρινού αρχείου %s" +@@ -2185,30 +2443,30 @@ msgstr "Αυθεντικοποίηση GSSAPI απέτυχε" + msgid "LOGIN disabled on this server" + msgstr "Το LOGIN απενεργοποιήθηκε σε αυτό τον διακομιστή" + +-#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:288 ++#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:289 + msgid "Logging in..." + msgstr "Είσοδος στο σύστημα..." + +-#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:329 ++#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:330 + msgid "Login failed" + msgstr "Απέτυχε η είσοδος στο σύστημα" + +-#: imap/auth_oauth.c:64 pop/pop_auth.c:346 smtp.c:524 ++#: imap/auth_oauth.c:65 pop/pop_auth.c:347 smtp.c:549 + #, fuzzy + msgid "Authenticating (OAUTHBEARER)..." + msgstr "Αυθεντικοποίηση (SASL)..." + +-#: imap/auth_oauth.c:96 ++#: imap/auth_oauth.c:97 + #, fuzzy + msgid "OAUTHBEARER authentication failed" + msgstr "Αυθεντικοποίηση OAUTHBEARER απέτυχε" + +-#: imap/auth_sasl.c:128 nntp/nntp.c:606 nntp/nntp.c:671 smtp.c:443 ++#: imap/auth_sasl.c:128 nntp/nntp.c:608 nntp/nntp.c:673 smtp.c:468 + #, c-format + msgid "Authenticating (%s)..." + msgstr "Αυθεντικοποίηση (%s)..." + +-#: imap/auth_sasl.c:259 pop/pop_auth.c:200 smtp.c:584 smtp.c:646 ++#: imap/auth_sasl.c:259 pop/pop_auth.c:201 smtp.c:609 smtp.c:671 + msgid "SASL authentication failed" + msgstr "Αυθεντικοποίηση SASL απέτυχε" + +@@ -2257,90 +2515,80 @@ msgstr "SSL απέτυχε: %s" + msgid "Mailbox renamed" + msgstr "Το γραμματοκιβώτιο δημιουργήθηκε" + +-#: imap/command.c:164 ++#: imap/command.c:177 + #, fuzzy, c-format + msgid "Mailbox %s@%s closed" + msgstr "Το γραμματοκιβώτιο έκλεισε" + +-#: imap/command.c:1258 imap/command.c:1370 ++#: imap/command.c:1287 imap/command.c:1399 + #, fuzzy, c-format + msgid "Connection to %s timed out" + msgstr "Έκλεισε η σύνδεση στο %s" + +-#: imap/imap.c:87 ++#: imap/imap.c:93 + #, fuzzy + msgid "This IMAP server is ancient. NeoMutt does not work with it." + msgstr "Αυτός ο εξυπηρετητής IMAP είναι αρχαίος. Το NeoMutt δεν είναι συμβατό με αυτόν." + +-#: imap/imap.c:438 ++#: imap/imap.c:444 + #, c-format + msgid "Header search without header name: %s" + msgstr "" + +-#: imap/imap.c:468 ++#: imap/imap.c:474 + #, c-format + msgid "Server-side custom search not supported: %s" + msgstr "" + +-#: imap/imap.c:584 ++#: imap/imap.c:590 + #, fuzzy, c-format + msgid "CREATE failed: %s" + msgstr "SSL απέτυχε: %s" + +-#: imap/imap.c:704 ++#: imap/imap.c:710 + #, c-format + msgid "Closing connection to %s..." + msgstr "Κλείσιμο σύνδεσης στο στο %s..." + +-#: imap/imap.c:882 nntp/nntp.c:1889 pop/pop_lib.c:324 smtp.c:687 ++#: imap/imap.c:888 nntp/nntp.c:1891 pop/pop_lib.c:350 smtp.c:712 + msgid "Secure connection with TLS?" + msgstr "Ασφαλής σύνδεση με TLS;" + +-#: imap/imap.c:895 nntp/nntp.c:1910 pop/pop_lib.c:343 smtp.c:702 ++#: imap/imap.c:901 nntp/nntp.c:1912 pop/pop_lib.c:369 smtp.c:727 + msgid "Could not negotiate TLS connection" + msgstr "Αδυναμία διαπραγμάτευσης σύνδεσης TLS" + +-#: imap/imap.c:910 pop/pop_lib.c:360 ++#: imap/imap.c:916 pop/pop_lib.c:386 + msgid "Encrypted connection unavailable" + msgstr "" + +-#: imap/imap.c:1417 ++#: imap/imap.c:1430 + #, c-format + msgid "Subscribing to %s..." + msgstr "Εγγραφή στο %s..." + +-#: imap/imap.c:1419 ++#: imap/imap.c:1432 + #, fuzzy, c-format + msgid "Unsubscribing from %s..." + msgstr "Διαγραφή στο %s..." + +-#: imap/imap.c:1430 init.c:2142 +-#, fuzzy, c-format +-msgid "Subscribed to %s" +-msgstr "Εγγραφή στο %s..." +- +-#: imap/imap.c:1432 init.c:2620 +-#, fuzzy, c-format +-msgid "Unsubscribed from %s" +-msgstr "Διαγραφή στο %s..." +- +-#: imap/imap.c:1582 imap/message.c:1674 ++#: imap/imap.c:1595 imap/message.c:1674 + #, fuzzy, c-format + msgid "Copying %d message to %s..." + msgid_plural "Copying %d messages to %s..." + msgstr[0] "Αντιγραφή %d μηνυμάτων στο %s..." + msgstr[1] "Αντιγραφή %d μηνυμάτων στο %s..." + +-#: imap/imap.c:1599 imap/imap.c:2217 imap/message.c:1713 muttlib.c:1505 ++#: imap/imap.c:1612 imap/imap.c:2254 imap/message.c:1713 muttlib.c:1503 + #, c-format + msgid "Create %s?" + msgstr "Δημιουργία του %s;" + +-#: imap/imap.c:1667 ++#: imap/imap.c:1685 + msgid "Expunge failed" + msgstr "Διαγραφή απέτυχε" + +-#: imap/imap.c:1683 ++#: imap/imap.c:1701 + #, fuzzy, c-format + msgid "Marking %d message deleted..." + msgid_plural "Marking %d messages deleted..." +@@ -2348,44 +2596,44 @@ msgstr[0] "Σημείωση %d διαγραφέντων μηνυμάτων..." + msgstr[1] "Σημείωση %d διαγραφέντων μηνυμάτων..." + + #. L10N: The plural is chosen by the last %d, i.e. the total number +-#: imap/imap.c:1720 ++#: imap/imap.c:1738 + #, fuzzy, c-format + msgid "Saving changed message... [%d/%d]" + msgid_plural "Saving changed messages... [%d/%d]" + msgstr[0] "Αποθήκευση σημαιών κατάστασης μηνύματος... [%d/%d]" + msgstr[1] "Αποθήκευση σημαιών κατάστασης μηνύματος... [%d/%d]" + +-#: imap/imap.c:1776 ++#: imap/imap.c:1794 + msgid "Error saving flags. Close anyway?" + msgstr "" + +-#: imap/imap.c:1783 ++#: imap/imap.c:1801 + #, fuzzy + msgid "Error saving flags" + msgstr "Σφάλμα κατά την ανάλυση της διεύθυνσης!" + +-#: imap/imap.c:1808 ++#: imap/imap.c:1826 + msgid "Expunging messages from server..." + msgstr "Διαγραφή μηνυμάτων από τον εξυπηρετητή..." + +-#: imap/imap.c:1814 ++#: imap/imap.c:1832 + msgid "imap_sync_mailbox: EXPUNGE failed" + msgstr "imap_sync_mailbox: EXPUNGE απέτυχε" + +-#: imap/imap.c:2023 nntp/nntp.c:2486 ++#: imap/imap.c:2058 nntp/nntp.c:2488 + #, c-format + msgid "Selecting %s..." + msgstr "Επιλογή %s..." + +-#: imap/imap.c:2184 ++#: imap/imap.c:2221 + msgid "Error opening mailbox" + msgstr "Σφάλμα κατά το άνοιγμα του γραμματοκιβωτίου" + +-#: imap/imap.c:2330 ++#: imap/imap.c:2367 + msgid "IMAP server doesn't support custom flags" + msgstr "" + +-#: imap/imap.c:2374 ++#: imap/imap.c:2411 + #, fuzzy + msgid "Invalid IMAP flags" + msgstr "Μη έγκυρο " +@@ -2396,7 +2644,7 @@ msgid "Abort download and close mailbox?" + msgstr "" + + #: imap/message.c:554 mutt/memory.c:58 mutt/memory.c:98 mutt/memory.c:134 +-#: mutt/string.c:1178 mx.c:1176 ++#: mutt/string.c:1201 mx.c:1195 + msgid "Out of memory" + msgstr "Η μνήμη εξαντλήθηκε" + +@@ -2417,7 +2665,7 @@ msgstr "Λήψη επικεφαλίδων από τα μηνύματα... [%d/%d + msgid "Unable to fetch headers from this IMAP server version" + msgstr "Αδυναμία λήψης επικεφαλίδων από αυτή την έκδοση του εξυπηρετητή IMAP" + +-#: imap/message.c:1099 index.c:1548 nntp/nntp.c:1328 pop/pop.c:426 ++#: imap/message.c:1099 index.c:1554 nntp/nntp.c:1330 pop/pop.c:426 + #, fuzzy + msgid "Fetching message headers..." + msgstr "Λήψη επικεφαλίδων από τα μηνύματα... [%d/%d]" +@@ -2432,156 +2680,156 @@ msgstr "Ανέβασμα μηνύματος ..." + msgid "Copying message %d to %s..." + msgstr "Αντιγραφή μηνύματος %d στο %s ..." + +-#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2737 pop/pop.c:1110 ++#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2739 pop/pop.c:1105 + msgid "Fetching message..." + msgstr "Λήψη μηνύματος..." + +-#: imap/message.c:1959 pop/pop.c:1106 ++#: imap/message.c:1959 pop/pop.c:1101 + msgid "The message index is incorrect. Try reopening the mailbox." + msgstr "Ο δείκτης του μηνύματος είναι άκυρος. Ξανανοίξτε το γραμματοκιβώτιο." + +-#: imap/util.c:767 ++#: imap/util.c:796 + msgid "Continue?" + msgstr "Συνέχεια;" + +-#: index.c:115 index.c:128 ++#: index.c:111 index.c:124 + msgid "Quit" + msgstr "Έξοδος" + +-#: index.c:118 index.c:131 recvattach.c:93 ++#: index.c:114 index.c:127 recvattach.c:91 + msgid "Save" + msgstr "Αποθήκ" + +-#: index.c:119 query.c:81 ++#: index.c:115 query.c:79 + msgid "Mail" + msgstr "Ταχυδρ" + +-#: index.c:120 pager.c:237 ++#: index.c:116 pager.c:229 + msgid "Reply" + msgstr "Απάντ" + +-#: index.c:121 ++#: index.c:117 + msgid "Group" + msgstr "Ομάδα" + +-#: index.c:132 pager.c:244 ++#: index.c:128 pager.c:236 + msgid "Post" + msgstr "" + +-#: index.c:133 pager.c:245 ++#: index.c:129 pager.c:237 + #, fuzzy + msgid "Followup" + msgstr "Συνέχεια στο %s%s;" + +-#: index.c:190 index.c:1362 ++#: index.c:186 index.c:1367 + msgid "No mailbox is open" + msgstr "Δεν υπάρχουν ανοιχτά γραμματοκιβώτια" + +-#: index.c:196 ++#: index.c:192 + msgid "There are no messages" + msgstr "Δεν υπάρχουν μηνύματα" + +-#: index.c:202 ++#: index.c:198 + msgid "No visible messages" + msgstr "Δεν υπάρχουν ορατά μηνύματα" + +-#: index.c:208 mx.c:901 pager.c:223 recvattach.c:80 ++#: index.c:204 mx.c:920 pager.c:215 recvattach.c:78 + msgid "Mailbox is read-only" + msgstr "Το γραμματοκιβώτιο είναι μόνο για ανάγνωση" + +-#: index.c:214 pager.c:225 recvattach.c:98 ++#: index.c:210 pager.c:217 recvattach.c:96 + msgid "Function not permitted in attach-message mode" + msgstr "Η λειτουργία απαγορεύεται στην κατάσταση προσάρτηση-μηνύματος" + + #. L10N: %s is one of the CHECK_ACL entries below. +-#: index.c:239 pager.c:290 ++#: index.c:235 pager.c:282 + #, c-format + msgid "%s: Operation not permitted by ACL" + msgstr "" + +-#: index.c:430 ++#: index.c:426 + msgid "Can't toggle write on a readonly mailbox" + msgstr "Αδυναμία αλλαγής σε κατάσταση εγγραφής σε γραμματοκιβώτιο μόνο για ανάγνωση" + +-#: index.c:437 ++#: index.c:433 + msgid "Changes to folder will be written on folder exit" + msgstr "Οι αλλαγές στο φάκελο θα γραφούν κατά τη έξοδο από το φάκελο" + +-#: index.c:442 ++#: index.c:438 + msgid "Changes to folder will not be written" + msgstr "Οι αλλαγές στο φάκελο δεν θα γραφούν" + +-#: index.c:719 muttlib.c:1490 mx.c:206 mx.c:340 ++#: index.c:714 muttlib.c:1488 mx.c:206 mx.c:338 + #, c-format + msgid "%s is not a mailbox" + msgstr "Το %s δεν είναι γραμματοκιβώτιο" + +-#: index.c:1218 ++#: index.c:1223 + msgid "Mailbox was externally modified. Flags may be wrong." + msgstr "Το γραμματοκιβώτιο τροποποιήθηκε εξωτερικά. Οι σημαίες μπορεί να είναι λάθος" + +-#: index.c:1227 pager.c:2409 ++#: index.c:1232 pager.c:2379 + msgid "New mail in this mailbox" + msgstr "Νέα αλληλογραφία σε αυτό το γραμματοκιβώτιο" + +-#: index.c:1242 ++#: index.c:1247 + msgid "Mailbox was externally modified" + msgstr "Το γραμματοκιβώτιο τροποποιήθηκε εξωτερικά" + +-#: index.c:1369 ++#: index.c:1374 + msgid "No tagged messages" + msgstr "Δεν υπάρχουν σημειωμένα μηνύματα" + +-#: index.c:1373 index.c:1647 menu.c:1423 ++#: index.c:1378 index.c:1653 menu.c:1423 + msgid "Nothing to do" + msgstr "Καμμία ενέργεια" + +-#: index.c:1470 ++#: index.c:1475 + #, fuzzy + msgid "Enter Message-Id: " + msgstr "Εισάγετε το keyID: " + +-#: index.c:1481 ++#: index.c:1487 + msgid "Article has no parent reference" + msgstr "" + +-#: index.c:1504 ++#: index.c:1510 + #, fuzzy + msgid "Message is not visible in limited view" + msgstr "Το τρέχον μήνυμα δεν είναι ορατό σε αυτή τη περιορισμένη όψη" + +-#: index.c:1508 ++#: index.c:1514 + #, fuzzy, c-format + msgid "Fetching %s from server..." + msgstr "Διαγραφή μηνυμάτων από τον εξυπηρετητή..." + +-#: index.c:1518 nntp/nntp.c:2772 ++#: index.c:1524 nntp/nntp.c:2774 + #, c-format + msgid "Article %s not found on the server" + msgstr "" + +-#: index.c:1544 ++#: index.c:1550 + msgid "No Message-Id. Unable to perform operation." + msgstr "" + +-#: index.c:1623 ++#: index.c:1629 + #, fuzzy + msgid "No deleted messages found in the thread" + msgstr "διαγραφή όλων των μηνυμάτων στη συζήτηση" + +-#: index.c:1644 ++#: index.c:1650 + msgid "Jump to message: " + msgstr "Μετάβαση στο μήνυμα: " + +-#: index.c:1650 ++#: index.c:1656 + msgid "Argument must be a message number" + msgstr "Η παράμετρος πρέπει να είναι αριθμός μηνύματος" + +-#: index.c:1652 ++#: index.c:1658 + msgid "Invalid message number" + msgstr "Μη έγκυρος αριθμός μηνύματος" + +-#: index.c:1654 ++#: index.c:1660 + msgid "That message is not visible" + msgstr "Αυτό το μήνυμα δεν είναι ορατό" + +@@ -2594,38 +2842,38 @@ msgstr "Αυτό το μήνυμα δεν είναι ορατό" + #. delete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. + #. +-#: index.c:1692 index.c:3267 pager.c:3064 ++#: index.c:1698 index.c:3293 pager.c:3039 + #, fuzzy + msgid "Can't delete messages" + msgstr "Δεν υπάρχουν αποκαταστημένα μηνύματα." + +-#: index.c:1695 ++#: index.c:1701 + msgid "Delete messages matching: " + msgstr "Διαγραφή παρόμοιων μηνυμάτων: " + +-#: index.c:1736 ++#: index.c:1742 + msgid "No limit pattern is in effect" + msgstr "Κανένα υπόδειγμα ορίων σε λειτουργία" + + #. L10N: ask for a limit to apply +-#: index.c:1741 ++#: index.c:1747 + #, c-format + msgid "Limit: %s" + msgstr "Όριο: %s" + +-#: index.c:1778 ++#: index.c:1784 + msgid "Limit to messages matching: " + msgstr "Περιορισμός στα παρόμοια μηνύματα: " + +-#: index.c:1809 ++#: index.c:1815 + msgid "To view all messages, limit to \"all\"" + msgstr "" + +-#: index.c:1821 pager.c:2514 ++#: index.c:1827 pager.c:2487 + msgid "Quit NeoMutt?" + msgstr "Έξοδος από το NeoMutt;" + +-#: index.c:1924 ++#: index.c:1931 + msgid "Tag messages matching: " + msgstr "Σημειώστε μηνύματα που ταιριάζουν σε: " + +@@ -2633,213 +2881,213 @@ msgstr "Σημειώστε μηνύματα που ταιριάζουν σε: " + #. L10N: Due to the implementation details we do not know whether we + #. undelete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:1935 index.c:3807 pager.c:3418 ++#: index.c:1942 index.c:3833 pager.c:3396 + #, fuzzy + msgid "Can't undelete messages" + msgstr "Δεν υπάρχουν αποκαταστημένα μηνύματα." + +-#: index.c:1939 ++#: index.c:1946 + msgid "Undelete messages matching: " + msgstr "Επαναφορά τα μηνύματα που ταιριάζουν σε: " + +-#: index.c:1948 ++#: index.c:1955 + msgid "Untag messages matching: " + msgstr "Αφαίρεση της σημείωσης στα μηνύματα που ταιριάζουν σε: " + +-#: index.c:1989 ++#: index.c:1996 + #, fuzzy + msgid "Logged out of IMAP servers" + msgstr "Κλείσιμο σύνδεσης στον εξυπηρετητή IMAP.." + +-#: index.c:2105 ++#: index.c:2113 + #, fuzzy + msgid "No virtual folder and no Message-Id, aborting" + msgstr "Δεν υπάρχει θέμα, εγκατάλειψη" + +-#: index.c:2117 index.c:2288 index.c:2310 index.c:2331 ++#: index.c:2125 index.c:2313 index.c:2335 index.c:2356 + msgid "Failed to create query, aborting" + msgstr "" + +-#: index.c:2130 ++#: index.c:2138 + msgid "failed to find message in notmuch database. try running 'notmuch new'." + msgstr "" + +-#: index.c:2139 ++#: index.c:2147 + msgid "Failed to read thread, aborting" + msgstr "" + +-#: index.c:2171 mx.c:1252 mx.c:1272 ++#: index.c:2179 mx.c:1271 mx.c:1291 + msgid "Folder doesn't support tagging, aborting" + msgstr "" + +-#: index.c:2188 ++#: index.c:2196 + #, fuzzy + msgid "No tag specified, aborting" + msgstr "Δεν υπάρχει θέμα, εγκατάλειψη" + +-#: index.c:2198 ++#: index.c:2206 + msgid "Update tags..." + msgstr "" + +-#: index.c:2238 ++#: index.c:2246 + msgid "Failed to modify tags, aborting" + msgstr "" + +-#: index.c:2284 ++#: index.c:2293 + #, fuzzy + msgid "No query, aborting" + msgstr "Δεν υπάρχει θέμα, εγκατάλειψη" + +-#: index.c:2299 index.c:2320 ++#: index.c:2324 index.c:2345 + msgid "Windowed queries disabled" + msgstr "" + +-#: index.c:2304 index.c:2325 ++#: index.c:2329 index.c:2350 + msgid "No notmuch vfolder currently loaded" + msgstr "" + +-#: index.c:2374 ++#: index.c:2399 + msgid "Open mailbox in read-only mode" + msgstr "Ανοίξτε το γραμματοκιβώτιο σε κατάσταση μόνο για εγγραφή" + +-#: index.c:2376 ++#: index.c:2401 + msgid "Open mailbox" + msgstr "Ανοίξτε το γραμματοκιβώτιο" + +-#: index.c:2386 ++#: index.c:2411 + #, fuzzy + msgid "No mailboxes have new mail" + msgstr "Δεν υπάρχει νέα αλληλογραφία σε κανένα γραμματοκιβώτιο." + +-#: index.c:2419 ++#: index.c:2444 + #, fuzzy + msgid "Open newsgroup in read-only mode" + msgstr "Ανοίξτε το γραμματοκιβώτιο σε κατάσταση μόνο για εγγραφή" + +-#: index.c:2421 ++#: index.c:2446 + msgid "Open newsgroup" + msgstr "" + +-#: index.c:2538 ++#: index.c:2564 + #, fuzzy + msgid "Exit NeoMutt without saving?" + msgstr "Έξοδος από το NeoMutt χωρίς αποθήκευση;" + + #. L10N: CHECK_ACL +-#: index.c:2554 ++#: index.c:2580 + #, fuzzy + msgid "Can't break thread" + msgstr "Αδυναμία δημιουργίας φίλτρου" + +-#: index.c:2574 ++#: index.c:2600 + msgid "Thread broken" + msgstr "" + +-#: index.c:2587 ++#: index.c:2613 + msgid "Thread can't be broken, message is not part of a thread" + msgstr "" + + #. L10N: CHECK_ACL +-#: index.c:2597 ++#: index.c:2623 + msgid "Can't link threads" + msgstr "" + +-#: index.c:2606 ++#: index.c:2632 + msgid "No Message-ID: header available to link thread" + msgstr "" + +-#: index.c:2608 ++#: index.c:2634 + #, fuzzy + msgid "First, please tag a message to be linked here" + msgstr "αποθήκευση αυτού του μηνύματος για μετέπειτα αποστολή" + +-#: index.c:2621 ++#: index.c:2647 + msgid "Threads linked" + msgstr "" + +-#: index.c:2624 ++#: index.c:2650 + msgid "No thread linked" + msgstr "" + +-#: index.c:2665 index.c:2690 ++#: index.c:2691 index.c:2716 + msgid "You are on the last message" + msgstr "Είστε στο τελευταίο μήνυμα" + +-#: index.c:2673 index.c:2716 ++#: index.c:2699 index.c:2742 + msgid "No undeleted messages" + msgstr "Δεν υπάρχουν αποκαταστημένα μηνύματα" + +-#: index.c:2708 index.c:2733 ++#: index.c:2734 index.c:2759 + msgid "You are on the first message" + msgstr "Είστε στο πρώτο μήνυμα" + +-#: index.c:2874 ++#: index.c:2900 + #, fuzzy + msgid "No new messages in this limited view" + msgstr "Το τρέχον μήνυμα δεν είναι ορατό σε αυτή τη περιορισμένη όψη" + +-#: index.c:2876 ++#: index.c:2902 + #, fuzzy + msgid "No new messages" + msgstr "Δεν υπάρχουν νέα μηνύματα" + +-#: index.c:2881 ++#: index.c:2907 + #, fuzzy + msgid "No unread messages in this limited view" + msgstr "Το τρέχον μήνυμα δεν είναι ορατό σε αυτή τη περιορισμένη όψη" + +-#: index.c:2883 ++#: index.c:2909 + #, fuzzy + msgid "No unread messages" + msgstr "Δεν υπάρχουν μη αναγνωσμένα μηνύματα" + +-#: index.c:2893 menu.c:1208 pager.c:2644 pattern.c:2652 ++#: index.c:2919 menu.c:1208 pager.c:2618 pattern.c:2776 + msgid "Search wrapped to top" + msgstr "Αναζήτηση συνεχίστηκε από την κορυφή" + +-#: index.c:2898 pager.c:2669 pattern.c:2663 ++#: index.c:2924 pager.c:2643 pattern.c:2787 + msgid "Search wrapped to bottom" + msgstr "Αναζήτηση συνεχίστηκε στη βάση" + + #. L10N: CHECK_ACL +-#: index.c:2915 ++#: index.c:2941 + #, fuzzy + msgid "Can't flag message" + msgstr "απεικόνιση του μηνύματος" + + #. L10N: CHECK_ACL +-#: index.c:2961 pager.c:3377 ++#: index.c:2987 pager.c:3355 + msgid "Can't toggle new" + msgstr "" + +-#: index.c:3057 ++#: index.c:3083 + msgid "No more threads" + msgstr "Δεν υπάρχουν άλλες συζητήσεις" + +-#: index.c:3059 ++#: index.c:3085 + msgid "You are on the first thread" + msgstr "Είστε στην πρώτη συζήτηση" + +-#: index.c:3156 ++#: index.c:3182 + #, fuzzy + msgid "Thread contains unread or flagged messages" + msgstr "Η συζήτηση περιέχει μη αναγνωσμένα μηνύματα" + + #. L10N: CHECK_ACL +-#: index.c:3215 pager.c:3019 ++#: index.c:3241 pager.c:2994 + #, fuzzy + msgid "Can't delete message" + msgstr "Δεν υπάρχουν αποκαταστημένα μηνύματα." + + #. L10N: CHECK_ACL +-#: index.c:3339 ++#: index.c:3365 + #, fuzzy + msgid "Can't edit message" + msgstr "Αδυναμία εγγραφής του μηνύματος" + + #. L10N: This is displayed when the x-label on one or more + #. messages is edited. +-#: index.c:3432 pager.c:3495 ++#: index.c:3458 pager.c:3473 + #, fuzzy, c-format + msgid "%d label changed" + msgid_plural "%d labels changed" +@@ -2849,7 +3097,7 @@ msgstr[1] "Δεν έγινε αλλαγή στο γραμματοκιβώτιο + #. L10N: This is displayed when editing an x-label, but no messages + #. were updated. Possibly due to canceling at the prompt or if the new + #. label is the same as the old label. +-#: index.c:3440 pager.c:3499 ++#: index.c:3466 pager.c:3477 + #, fuzzy + msgid "No labels changed" + msgstr "Δεν έγινε αλλαγή στο γραμματοκιβώτιο " +@@ -2858,7 +3106,7 @@ msgstr "Δεν έγινε αλλαγή στο γραμματοκιβώτιο " + #. L10N: Due to the implementation details we do not know whether we + #. mark zero, 1, 12, ... messages as read. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:3571 ++#: index.c:3597 + #, fuzzy + msgid "Can't mark messages as read" + msgstr "μετάβαση στο τρέχον μήνυμα της συζήτησης" +@@ -2866,14 +3114,14 @@ msgstr "μετάβαση στο τρέχον μήνυμα της συζήτησ + #. L10N: This is the prompt for . Whatever they + #. enter will be prefixed by $mark_macro_prefix and will become + #. a macro hotkey to jump to the currently selected message. +-#: index.c:3612 ++#: index.c:3638 + #, fuzzy + msgid "Enter macro stroke: " + msgstr "Εισάγετε το keyID: " + + #. L10N: "message hotkey" is the key bindings menu description of a + #. macro created by . +-#: index.c:3620 ++#: index.c:3646 + #, fuzzy + msgid "message hotkey" + msgstr "Το μήνυμα ανεβλήθη." +@@ -2881,264 +3129,123 @@ msgstr "Το μήνυμα ανεβλήθη." + #. L10N: This is echoed after creates a new hotkey + #. macro. %s is the hotkey string ($mark_macro_prefix followed + #. by whatever they typed at the prompt.) +-#: index.c:3625 ++#: index.c:3651 + #, fuzzy, c-format + msgid "Message bound to %s" + msgstr "Το μήνυμα διαβιβάστηκε" + + #. L10N: This error is printed if can't find a + #. Message-ID for the currently selected message in the index. +-#: index.c:3634 ++#: index.c:3660 + #, fuzzy + msgid "No message ID to macro" + msgstr "Δεν υπάρχουν μηνύματα σε αυτό το φάκελο" + +-#: index.c:3688 pager.c:3221 recvattach.c:1646 ++#: index.c:3714 pager.c:3196 recvattach.c:1678 + msgid "Reply by mail as poster prefers?" + msgstr "" + +-#: index.c:3691 pager.c:3182 pager.c:3194 pager.c:3224 ++#: index.c:3717 pager.c:3157 pager.c:3169 pager.c:3199 + msgid "Posting to this group not allowed, may be moderated. Continue?" + msgstr "" + + #. L10N: CHECK_ACL +-#: index.c:3768 pager.c:3397 ++#: index.c:3794 pager.c:3375 + #, fuzzy + msgid "Can't undelete message" + msgstr "Δεν υπάρχουν αποκαταστημένα μηνύματα." + +-#: init.c:313 ++#: init.c:223 + #, c-format + msgid "Error in command line: %s" + msgstr "Λάθος στη γραμμή εντολών: %s" + +-#: init.c:315 ++#: init.c:225 + #, fuzzy, c-format + msgid "Warning in command line: %s" + msgstr "Λάθος στη γραμμή εντολών: %s" + +-#: init.c:426 ++#: init.c:336 + #, fuzzy + msgid "unable to determine nodename via uname()" + msgstr "αδυναμία στον εντοπισμό του ονόματος χρήστη" + +-#: init.c:580 +-msgid "-group: no group name" +-msgstr "" +- +-#: init.c:590 +-#, fuzzy +-msgid "out of arguments" +-msgstr "πολύ λίγα ορίσματα" +- +-#: init.c:804 init.c:1752 +-#, c-format +-msgid "Error: Can't build path of '%s'" +-msgstr "" +- +-#: init.c:817 +-#, c-format +-msgid "Error: Cyclic sourcing of configuration file '%s'" +-msgstr "" +- +-#: init.c:850 +-#, c-format +-msgid "Error in %s, line %d: %s" +-msgstr "Σφάλμα στο %s, γραμμή %d: %s" +- +-#: init.c:861 +-#, fuzzy, c-format +-msgid "Warning in %s, line %d: %s" +-msgstr "Σφάλμα στο %s, γραμμή %d: %s" +- +-#: init.c:885 +-#, c-format +-msgid "source: errors in %s" +-msgstr "source: λάθη στο %s" +- +-#: init.c:885 +-#, fuzzy, c-format +-msgid "source: reading aborted due to too many errors in %s" +-msgstr "πηγή: απόρριψη ανάγνωσης λόγω πολλών σφαλμάτων στο %s" +- +-#: init.c:894 +-#, fuzzy, c-format +-msgid "source: %d warning in %s" +-msgid_plural "source: %d warnings in %s" +-msgstr[0] "source: λάθη στο %s" +-msgstr[1] "source: λάθη στο %s" +- +-#: init.c:923 +-msgid "alias: no address" +-msgstr "ψευδώνυμο: καμμία διεύθυνση" +- +-#: init.c:965 +-#, c-format +-msgid "Warning: Bad IDN '%s' in alias '%s'" +-msgstr "Προειδοποίηση: Λανθασμένη διεθνής διεύθυνση IDN '%s' στο ψευδώνυμο '%s'" +- +-#: init.c:1043 +-#, fuzzy +-msgid "attachments: no disposition" +-msgstr "επεξεργασία της περιγραφής της προσάρτησης" +- +-#: init.c:1054 +-#, fuzzy +-msgid "Current attachments settings:" +-msgstr "επεξεργασία της περιγραφής της προσάρτησης" +- +-#: init.c:1084 +-#, fuzzy +-msgid "attachments: invalid disposition" +-msgstr "επεξεργασία της περιγραφής της προσάρτησης" +- +-#: init.c:1160 +-#, c-format +-msgid "%sgroup: missing -rx or -addr" +-msgstr "" +- +-#: init.c:1186 +-#, fuzzy, c-format +-msgid "%sgroup: warning: bad IDN '%s'" +-msgstr "Προειδοποίηση: Λανθασμένη διεθνής διεύθυνση IDN '%s' στο ψευδώνυμο '%s'" +- +-#: init.c:1278 +-#, c-format +-msgid "Error: %s" +-msgstr "" +- +-#: init.c:1445 +-msgid "invalid header field" +-msgstr "μη έγκυρο πεδίο επικεφαλίδας" +- +-#: init.c:1711 init.c:1815 +-#, c-format +-msgid "%s: unknown variable" +-msgstr "%s: άγνωστη μεταβλητή" +- +-#: init.c:1908 +-#, c-format +-msgid "%s is unset" +-msgstr "Το %s δεν έχει τεθεί" +- +-#: init.c:1953 mutt_lua.c:478 +-#, c-format +-msgid "source: error at %s" +-msgstr "source: λάθος στο %s" +- +-#: init.c:1961 +-#, fuzzy, c-format +-msgid "source: file %s could not be sourced" +-msgstr "Αδυναμία εκτύπωσης μηνυμάτων" +- +-#: init.c:1984 +-msgid "spam: no matching pattern" +-msgstr "spam: δεν υπάρχει μοντέλο που να ταιριάζει" +- +-#: init.c:1986 +-msgid "nospam: no matching pattern" +-msgstr "nospam: δεν υπάρχει μοντέλο που να ταιριάζει" +- +-#: init.c:2146 +-#, fuzzy, c-format +-msgid "Could not subscribe to %s" +-msgstr "Εγγραφή στο %s..." +- +-#: init.c:2154 init.c:2632 +-#, fuzzy +-msgid "No folder specified" +-msgstr "Δεν καθορίστηκε θέμα." +- +-#: init.c:2341 +-#, fuzzy +-msgid "unattachments: no disposition" +-msgstr "επεξεργασία της περιγραφής της προσάρτησης" +- +-#: init.c:2379 +-msgid "unattachments: invalid disposition" +-msgstr "" +- +-#: init.c:2624 +-#, fuzzy, c-format +-msgid "Could not unsubscribe from %s" +-msgstr "Διαγραφή στο %s..." +- +-#: init.c:3292 ++#: init.c:1042 + #, c-format + msgid "%s: unknown command" + msgstr "%s: άγνωστη εντολή" + +-#: init.c:3837 ++#: init.c:1588 + msgid "'charset' must contain exactly one character set name" + msgstr "" + +-#: init.c:3853 init.c:3877 init.c:3912 ++#: init.c:1604 init.c:1628 init.c:1663 + #, fuzzy, c-format + msgid "Invalid value for option %s: %s" + msgstr "Μη έγκυρη μέρα του μήνα: %s" + +-#: init.c:3890 ++#: init.c:1641 + #, c-format + msgid "Option %s may not be set or reset from the pager" + msgstr "" + +-#: init.c:3928 ++#: init.c:1679 + #, fuzzy, c-format + msgid "Option %s may not be set when in attach-message mode" + msgstr "Η λειτουργία απαγορεύεται στην κατάσταση προσάρτηση-μηνύματος." + + #. L10N: This applies to the "$wrap_headers" config variable +-#: init.c:3943 ++#: init.c:1694 + #, c-format + msgid "Option %s must between 78 and 998 inclusive" + msgstr "" + +-#: keymap.c:373 keymap.c:381 ++#: keymap.c:371 keymap.c:379 + #, c-format + msgid "Binding '%s' will alias '%s' Before, try: 'bind %s %s noop' https://neomutt.org/guide/configuration.html#bind-warnings" + msgstr "" + +-#: keymap.c:757 ++#: keymap.c:755 + msgid "Macro loop detected" + msgstr "Εντοπίστηκε βρόγχος μακροεντολής" + +-#: keymap.c:1064 keymap.c:1099 ++#: keymap.c:1062 keymap.c:1097 + msgid "Key is not bound" + msgstr "Το πλήκτρο δεν είναι συνδεδεμένο" + +-#: keymap.c:1104 ++#: keymap.c:1102 + #, c-format + msgid "Key is not bound. Press '%s' for help." + msgstr "Το πλήκτρο δεν είναι συνδεδεμένο. Πατήστε '%s' για βοήθεια." + +-#: keymap.c:1177 ++#: keymap.c:1175 + #, c-format + msgid "%s: null key sequence" + msgstr "%s: κενή ακολουθία πλήκτρων" + +-#: keymap.c:1212 ++#: keymap.c:1210 + #, c-format + msgid "Function '%s' not available for menu '%s'" + msgstr "" + +-#: keymap.c:1495 ++#: keymap.c:1493 + msgid "macro: empty key sequence" + msgstr "macro: άδεια ακολουθία πλήκτρων" + +-#: keymap.c:1543 ++#: keymap.c:1541 + msgid "exec: no arguments" + msgstr "exec: καθόλου ορίσματα" + +-#: keymap.c:1563 ++#: keymap.c:1561 + #, c-format + msgid "%s: no such function" + msgstr "%s: δεν υπάρχει τέτοια λειτουργία" + +-#: keymap.c:1584 ++#: keymap.c:1582 + msgid "Enter keys (^G to abort): " + msgstr "Εισάγετε κλειδιά (^G για απόρριψη): " + +-#: keymap.c:1590 ++#: keymap.c:1588 + #, c-format + msgid "Char = %s, Octal = %o, Decimal = %d" + msgstr "Χαρακτ = %s, Οκταδικός = %o, Δεκαδικός = %d" +@@ -3162,7 +3269,7 @@ msgstr "Η είσοδος mailcap για το τύπο %s δε βρέθηκε" + msgid "Scanning %s..." + msgstr "Επιλογή %s..." + +-#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:353 ++#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:351 + #, c-format + msgid "Reading %s..." + msgstr "Ανάγνωση %s..." +@@ -3178,13 +3285,13 @@ msgid "md_commit_message(): unable to set time on file" + msgstr "maildir_commit_message(): αδυναμία ορισμού χρόνου στο αρχείο" + + #. L10N: Displayed before/as a mailbox is being synced +-#: maildir/shared.c:1723 mbox/mbox.c:1276 mx.c:461 notmuch/mutt_notmuch.c:2364 ++#: maildir/shared.c:1734 mbox/mbox.c:1276 mx.c:459 notmuch/mutt_notmuch.c:2364 + #, c-format + msgid "Writing %s..." + msgstr "Εγγραφή %s..." + + #. L10N: Try to limit to 80 columns +-#: main.c:227 ++#: main.c:160 + msgid "" + "usage:\n" + " neomutt [-Enx] [-e ] [-F ] [-H ] [-i ]\n" +@@ -3207,7 +3314,7 @@ msgid "" + msgstr "" + + #. L10N: Try to limit to 80 columns. If more space is needed add an indented line +-#: main.c:247 ++#: main.c:180 + msgid "" + "options:\n" + " -- Special argument forces NeoMutt to stop option parsing and treat\n" +@@ -3250,54 +3357,54 @@ msgid "" + " or exit immediately with exit code 1 otherwise" + msgstr "" + +-#: main.c:312 ++#: main.c:245 + msgid "Error initializing terminal" + msgstr "Λάθος κατά την αρχικοποίηση του τερματικού" + +-#: main.c:390 ++#: main.c:323 + msgid "unable to determine username" + msgstr "αδυναμία στον εντοπισμό του ονόματος χρήστη" + +-#: main.c:396 ++#: main.c:329 + msgid "unable to determine home directory" + msgstr "αδυναμία στον εντοπισμό του καταλόγου χρήστη (home directory)" + +-#: main.c:640 ++#: main.c:572 + #, fuzzy, c-format + msgid "Error: value '%s' is invalid for -d" + msgstr "Σφάλμα: '%s' είναι λανθασμένη διεθνής διεύθυνση IDN" + +-#: main.c:884 ++#: main.c:815 + msgid "Failed to parse mailto: link" + msgstr "" + +-#: main.c:896 send.c:2452 send.c:2456 ++#: main.c:827 send.c:2463 send.c:2467 + msgid "No recipients specified" + msgstr "Δεν έχουν οριστεί παραλήπτες" + +-#: main.c:923 ++#: main.c:854 + msgid "Can't use -E flag with stdin" + msgstr "" + +-#: main.c:1007 ++#: main.c:938 + #, fuzzy, c-format + msgid "Can't parse message template: %s" + msgstr "Αδυναμία πρόσβασης στο αρχείο μηνυμάτων: %s" + +-#: main.c:1073 mutt_header.c:329 ++#: main.c:1004 mutt_header.c:329 + #, c-format + msgid "%s: unable to attach file" + msgstr "%s: αδυναμία στην προσάρτηση του αρχείου" + +-#: main.c:1156 ++#: main.c:1087 + msgid "No mailbox with new mail" + msgstr "Δεν υπάρχει νέα αλληλογραφία σε κανένα γραμματοκιβώτιο" + +-#: main.c:1180 ++#: main.c:1111 + msgid "No incoming mailboxes defined" + msgstr "Δεν έχει οριστεί γραμματοκιβώτιο εισερχομένων" + +-#: main.c:1230 ++#: main.c:1161 + msgid "Mailbox is empty" + msgstr "Το γραμματοκιβώτιο είναι άδειο" + +@@ -3341,52 +3448,52 @@ msgstr "Αδυναμία επαναπρόσβασης του γραμματοκ + msgid "Can't write message" + msgstr "Αδυναμία εγγραφής του μηνύματος" + +-#: menu.c:632 ++#: menu.c:631 + msgid "Jump to: " + msgstr "Μετακίνηση στο: " + +-#: menu.c:641 ++#: menu.c:640 + msgid "Invalid index number" + msgstr "Μη έγκυρος αριθμός δείκτη" + +-#: menu.c:645 menu.c:671 menu.c:744 menu.c:810 menu.c:828 menu.c:843 menu.c:858 +-#: menu.c:873 menu.c:890 menu.c:907 menu.c:1553 ++#: menu.c:644 menu.c:670 menu.c:743 menu.c:809 menu.c:827 menu.c:842 menu.c:857 ++#: menu.c:872 menu.c:889 menu.c:906 menu.c:1553 + msgid "No entries" + msgstr "Καμμία καταχώρηση" + +-#: menu.c:668 ++#: menu.c:667 + msgid "You can't scroll down farther" + msgstr "Δεν μπορείτε να μετακινηθείτε παρακάτω" + +-#: menu.c:690 ++#: menu.c:689 + msgid "You can't scroll up farther" + msgstr "Δεν μπορείτε να μετακινηθείτε παραπάνω" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the first page" + msgstr "Είστε στην πρώτη σελίδα" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the last page" + msgstr "Είστε στην τελευταία σελίδα" + +-#: menu.c:922 ++#: menu.c:921 + msgid "You are on the last entry" + msgstr "Είστε στην τελευταία καταχώρηση" + +-#: menu.c:937 ++#: menu.c:936 + msgid "You are on the first entry" + msgstr "Είστε στην πρώτη καταχώρηση" + +-#: menu.c:1172 pager.c:2692 pattern.c:2578 ++#: menu.c:1172 pager.c:2666 pattern.c:2702 + msgid "Search for: " + msgstr "Αναζήτηση για: " + +-#: menu.c:1173 pager.c:2693 pattern.c:2579 ++#: menu.c:1173 pager.c:2667 pattern.c:2703 + msgid "Reverse search for: " + msgstr "Ανάστροφη αναζήτηση για: " + +-#: menu.c:1226 pager.c:2641 pager.c:2666 pager.c:2800 pattern.c:2708 ++#: menu.c:1226 pager.c:2615 pager.c:2640 pager.c:2774 pattern.c:2832 + msgid "Not found" + msgstr "Δε βρέθηκε" + +@@ -3429,20 +3536,20 @@ msgstr "Αναμονή για προσπάθεια flock... %d" + msgid "Bad history file format (line %d)" + msgstr "" + +-#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1006 ncrypt/crypt_gpgme.c:2381 +-#: ncrypt/crypt_gpgme.c:2401 ncrypt/crypt_gpgme.c:2460 +-#: ncrypt/crypt_gpgme.c:2477 ncrypt/crypt_gpgme.c:2509 +-#: ncrypt/crypt_gpgme.c:2527 ncrypt/crypt_gpgme.c:2611 +-#: ncrypt/crypt_gpgme.c:3194 ncrypt/crypt_gpgme.c:3292 +-#: ncrypt/crypt_gpgme.c:4373 ncrypt/pgp.c:576 ncrypt/pgp.c:583 ncrypt/pgp.c:896 +-#: ncrypt/pgp.c:1014 ncrypt/pgp.c:1161 ncrypt/pgp.c:1181 ncrypt/pgp.c:1215 +-#: ncrypt/pgp.c:1568 ncrypt/pgpkey.c:708 ncrypt/pgpkey.c:902 +-#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1092 ncrypt/smime.c:1100 +-#: ncrypt/smime.c:1191 ncrypt/smime.c:1299 ncrypt/smime.c:1364 +-#: ncrypt/smime.c:1372 ncrypt/smime.c:1571 ncrypt/smime.c:1967 +-#: ncrypt/smime.c:2046 ncrypt/smime.c:2053 ncrypt/smime.c:2156 +-#: ncrypt/smime.c:2281 ncrypt/smime.c:2297 nntp/nntp.c:1397 nntp/nntp.c:2237 +-#: pattern.c:1132 pop/pop.c:182 ++#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1005 ncrypt/crypt_gpgme.c:2420 ++#: ncrypt/crypt_gpgme.c:2440 ncrypt/crypt_gpgme.c:2499 ++#: ncrypt/crypt_gpgme.c:2516 ncrypt/crypt_gpgme.c:2548 ++#: ncrypt/crypt_gpgme.c:2566 ncrypt/crypt_gpgme.c:2650 ++#: ncrypt/crypt_gpgme.c:3237 ncrypt/crypt_gpgme.c:3335 ++#: ncrypt/crypt_gpgme.c:4421 ncrypt/pgp.c:575 ncrypt/pgp.c:582 ncrypt/pgp.c:895 ++#: ncrypt/pgp.c:1013 ncrypt/pgp.c:1160 ncrypt/pgp.c:1180 ncrypt/pgp.c:1214 ++#: ncrypt/pgp.c:1570 ncrypt/pgpkey.c:741 ncrypt/pgpkey.c:937 ++#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1126 ncrypt/smime.c:1134 ++#: ncrypt/smime.c:1225 ncrypt/smime.c:1333 ncrypt/smime.c:1398 ++#: ncrypt/smime.c:1406 ncrypt/smime.c:1605 ncrypt/smime.c:2001 ++#: ncrypt/smime.c:2080 ncrypt/smime.c:2087 ncrypt/smime.c:2190 ++#: ncrypt/smime.c:2315 ncrypt/smime.c:2331 nntp/nntp.c:1399 nntp/nntp.c:2239 ++#: pattern.c:1171 pop/pop.c:182 + msgid "Can't create temporary file" + msgstr "Αδυναμία δημιουργίας προσωρινού αρχείου" + +@@ -3461,7 +3568,7 @@ msgstr "Αποσφαλμάτωση στο επίπεδο %d.\n" + msgid "Logging at level %d to file '%s'" + msgstr "Αποσφαλμάτωση στο επίπεδο %d.\n" + +-#: mutt/path.c:401 ++#: mutt/path.c:420 + #, fuzzy + msgid "Error: converting path to absolute" + msgstr "Σφάλμα κατα τη σύνδεση στο διακομιστή: %s" +@@ -3485,17 +3592,17 @@ msgstr "Εντοπισμός σήματος %d (%s) ... Εγκατάλειψη. + msgid "Caught signal %d ... Exiting.\n" + msgstr "Εντοπισμός σήματος %d ... Εγκατάλειψη.\n" + +-#: muttlib.c:490 ++#: muttlib.c:488 + #, c-format + msgid "mutt_randbuf buflen=%zu" + msgstr "" + +-#: muttlib.c:510 ++#: muttlib.c:508 + #, c-format + msgid "open /dev/urandom: %s" + msgstr "" + +-#: muttlib.c:517 ++#: muttlib.c:515 + #, c-format + msgid "read /dev/urandom: %s" + msgstr "" +@@ -3503,148 +3610,120 @@ msgstr "" + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) + #. These three letters correspond to the choices in the string. +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "File is a directory, save under it: (y)es, (n)o, (a)ll?" + msgstr "Το αρχείο είναι φάκελος, αποθήκευση υπό αυτού; (y)ναι, (n)όχι, (a)όλα" + +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "yna" + msgstr "yna" + + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) +-#: muttlib.c:763 ++#: muttlib.c:761 + msgid "File is a directory, save under it?" + msgstr "Το αρχείο είναι φάκελος, αποθήκευση υπό αυτού;" + +-#: muttlib.c:768 ++#: muttlib.c:766 + msgid "File under directory: " + msgstr "Αρχείο υπό φάκελο:" + +-#: muttlib.c:781 ++#: muttlib.c:779 + msgid "File exists, (o)verwrite, (a)ppend, or (c)ancel?" + msgstr "Το αρχείο υπάρχει, (o)διαγραφή του υπάρχοντος, (a)πρόσθεση, (c)άκυρο;" + + #. L10N: Options for: File exists, (o)verwrite, (a)ppend, or (c)ancel? +-#: muttlib.c:783 ++#: muttlib.c:781 + msgid "oac" + msgstr "oac" + +-#: muttlib.c:1458 ++#: muttlib.c:1456 + msgid "Can't save message to POP mailbox" + msgstr "Αδυναμία εγγραφής του μηνύματος στο POP γραμματοκιβώτιο" + +-#: muttlib.c:1468 ++#: muttlib.c:1466 + #, c-format + msgid "Append messages to %s?" + msgstr "Πρόσθεση μηνυμάτων στο %s;" + +-#: muttlib.c:1481 ++#: muttlib.c:1479 + #, fuzzy + msgid "Can't save message to news server" + msgstr "Αδυναμία επεξεργασίας μηνύματος στο διακομιστή POP" + +-#. L10N: Example: Username at myhost.com +-#: mutt_account.c:233 +-#, c-format +-msgid "Username at %s: " +-msgstr "Όνομα χρήστη στο %s: " +- +-#: mutt_account.c:315 +-#, c-format +-msgid "Password for %s@%s: " +-msgstr "Συνθηματικό για το %s@%s: " +- +-#. L10N: You will see this error message if (1) you have "oauthbearer" in +-#. one of your $*_authenticators and (2) you do not have the corresponding +-#. $*_oauth_refresh_command defined. So the message does not mean "None of +-#. your $*_oauth_refresh_command's are defined." +-#: mutt_account.c:383 +-#, fuzzy +-msgid "No OAUTH refresh command defined" +-msgstr "Η εντολή ερωτήσεως δεν καθορίστηκε" +- +-#: mutt_account.c:390 +-msgid "Unable to run refresh command" +-msgstr "" +- +-#: mutt_account.c:400 +-msgid "Command returned empty string" +-msgstr "" +- +-#: mutt_attach.c:140 mutt_attach.c:274 mutt_attach.c:459 mutt_attach.c:1054 ++#: mutt_attach.c:142 mutt_attach.c:276 mutt_attach.c:488 mutt_attach.c:1087 + msgid "Can't match 'nametemplate', continue?" + msgstr "Αδυναμία ταιριάσματος του 'nametemplate', συνέχεια;" + +-#: mutt_attach.c:150 ++#: mutt_attach.c:152 + #, c-format + msgid "Mailcap compose entry requires %%s" + msgstr "Η καταχώρηση στοιχείων του mailcap χρειάζεται το %%s" + +-#: mutt_attach.c:168 ++#: mutt_attach.c:170 + msgid "Failure to open file to parse headers" + msgstr "Αποτυχία κατά το άνοιγμα αρχείου για την ανάλυση των επικεφαλίδων" + +-#: mutt_attach.c:202 ++#: mutt_attach.c:204 + msgid "Failure to open file to strip headers" + msgstr "Αποτυχία κατά το άνοιγμα αρχείου για την απογύμνωση των επικεφαλίδων" + +-#: mutt_attach.c:212 ++#: mutt_attach.c:214 + msgid "Failure to rename file" + msgstr "Αποτυχία μετονομασίας αρχείου" + +-#: mutt_attach.c:222 ++#: mutt_attach.c:224 + #, c-format + msgid "No mailcap compose entry for %s, creating empty file" + msgstr "Καμμία καταχώρηση mailcap για το %s, δημιουργία κενού αρχείου" + +-#: mutt_attach.c:284 ++#: mutt_attach.c:286 + #, c-format + msgid "Mailcap Edit entry requires %%s" + msgstr "Η καταχώρηση mailcap Edit χρειάζεται το %%s" + +-#: mutt_attach.c:305 ++#: mutt_attach.c:307 + #, c-format + msgid "No mailcap edit entry for %s" + msgstr "Δεν υπάρχει καταχώρηση mailcap για επεξεργασία κειμένου για το %s" + +-#: mutt_attach.c:427 ++#: mutt_attach.c:456 + msgid "No matching mailcap entry found. Viewing as text." + msgstr "Δεν βρέθηκε όμοια καταχώρηση Mailcap. Απεικόνιση ως κείμενο." + +-#: mutt_attach.c:440 ++#: mutt_attach.c:469 + msgid "MIME type not defined. Can't view attachment." + msgstr "Ο τύπος MIME δεν έχει οριστεί. Αδυναμία εμφάνισης προσαρτήσεως." + +-#: mutt_attach.c:535 ++#: mutt_attach.c:563 + #, c-format + msgid "---Command: %-20.20s Description: %s" + msgstr "" + +-#: mutt_attach.c:540 ++#: mutt_attach.c:568 + #, c-format + msgid "---Command: %-30.30s Attachment: %s" + msgstr "" + +-#: mutt_attach.c:619 ++#: mutt_attach.c:652 + #, fuzzy, c-format + msgid "---Attachment: %s: %s" + msgstr "-- Προσαρτήσεις" + +-#: mutt_attach.c:621 ++#: mutt_attach.c:654 + #, fuzzy, c-format + msgid "---Attachment: %s" + msgstr "-- Προσαρτήσεις" + +-#: mutt_attach.c:902 mutt_attach.c:910 ++#: mutt_attach.c:935 mutt_attach.c:943 + msgid "Write fault" + msgstr "Σφάλμα εγγραφής" + +-#: mutt_attach.c:1174 ++#: mutt_attach.c:1207 + msgid "I don't know how to print that" + msgstr "Δεν γνωρίζω πώς να το τυπώσω αυτό" + +-#: mutt_history.c:47 query.c:84 ++#: mutt_history.c:47 query.c:82 + msgid "Search" + msgstr "Αναζήτηση" + +@@ -3653,21 +3732,21 @@ msgstr "Αναζήτηση" + msgid "History '%s'" + msgstr "Ερώτηση '%s'" + +-#: mutt_logging.c:315 ++#: mutt_logging.c:313 + #, fuzzy, c-format + msgid "Invalid value for option %s: %ld" + msgstr "Μη έγκυρη μέρα του μήνα: %s" + +-#: mutt_lua.c:429 ++#: mutt_lua.c:431 + msgid "Error: Couldn't load the lua interpreter" + msgstr "" + +-#: mutt_lua.c:491 ++#: mutt_lua.c:493 + #, fuzzy, c-format + msgid "Couldn't source lua source: %s" + msgstr "Αδυναμία κλειδώματος του %s\n" + +-#: mutt_mailbox.c:214 ++#: mutt_mailbox.c:241 + msgid "New mail in " + msgstr "Νέα αλληλογραφία στο " + +@@ -3689,20 +3768,20 @@ msgstr "Το τρέχον μήνυμα δεν είναι ορατό σε αυτ + msgid "Parent message is not visible in this limited view" + msgstr "Το τρέχον μήνυμα δεν είναι ορατό σε αυτή τη περιορισμένη όψη" + +-#: mx.c:387 ++#: mx.c:385 + #, fuzzy, c-format + msgid "Reading from %s interrupted..." + msgstr "Η αναζήτηση διακόπηκε." + + #. L10N: Displayed if a mailbox sync fails +-#: mx.c:468 ++#: mx.c:469 + #, fuzzy, c-format + msgid "Unable to write %s" + msgstr "Αδυναμία προσάρτησης του %s" + + #. L10N: Although we know the precise number of messages, we do not show it to the user. + #. So feel free to use a "generic plural" as plural translation if your language has one. +-#: mx.c:523 ++#: mx.c:525 + #, fuzzy + msgid "message not deleted" + msgid_plural "messages not deleted" +@@ -3714,69 +3793,69 @@ msgstr[1] "Σημείωση %d διαγραφέντων μηνυμάτων..." + msgid "Can't open trash folder" + msgstr "Αδυναμία πρόσθεσης στο φάκελο: %s" + +-#: mx.c:623 ++#: mx.c:627 + msgid "Mark all articles read?" + msgstr "" + + #. L10N: The first argument is the number of read messages to be + #. moved, the second argument is the target mailbox. +-#: mx.c:671 ++#: mx.c:675 + #, fuzzy, c-format + msgid "Move %d read message to %s?" + msgid_plural "Move %d read messages to %s?" + msgstr[0] "Μετακίνηση αναγνωσμένων μηνυμάτων στο %s;" + msgstr[1] "Μετακίνηση αναγνωσμένων μηνυμάτων στο %s;" + +-#: mx.c:685 mx.c:917 ++#: mx.c:689 mx.c:936 + #, fuzzy, c-format + msgid "Purge %d deleted message?" + msgid_plural "Purge %d deleted messages?" + msgstr[0] "Καθαρισμός %d διεγραμμένου μηνύματος;" + msgstr[1] "Καθαρισμός %d διεγραμμένων μηνυμάτων;" + +-#: mx.c:708 ++#: mx.c:712 + #, c-format + msgid "Moving read messages to %s..." + msgstr "Μετακίνηση αναγνωσμένων μηνυμάτων στο %s..." + +-#: mx.c:774 mx.c:908 ++#: mx.c:783 mx.c:927 + msgid "Mailbox is unchanged" + msgstr "Δεν έγινε αλλαγή στο γραμματοκιβώτιο " + +-#: mx.c:827 ++#: mx.c:842 + #, c-format + msgid "%d kept, %d moved, %d deleted" + msgstr "%d κρατήθηκαν, %d μετακινήθηκαν, %d διαγράφηκαν" + +-#: mx.c:831 mx.c:972 ++#: mx.c:846 mx.c:991 + #, c-format + msgid "%d kept, %d deleted" + msgstr "%d κρατήθηκαν, %d διαγράφηκαν" + +-#: mx.c:892 ++#: mx.c:911 + #, c-format + msgid " Press '%s' to toggle write" + msgstr "Πατήστε '%s' για να ενεργοποιήσετε την εγγραφή!" + +-#: mx.c:894 ++#: mx.c:913 + msgid "Use 'toggle-write' to re-enable write" + msgstr "Χρησιμοποιήστε το 'toggle-write' για να ενεργοποιήσετε την εγγραφή" + +-#: mx.c:896 ++#: mx.c:915 + #, c-format + msgid "Mailbox is marked unwritable. %s" + msgstr "Το γραμματοκιβώτιο είναι σημειωμένο μη εγγράψιμο. %s" + +-#: mx.c:966 ++#: mx.c:985 + msgid "Mailbox checkpointed" + msgstr "Το γραμματοκιβώτιο σημειώθηκε" + +-#: ncrypt/crypt.c:93 ++#: ncrypt/crypt.c:91 + #, c-format + msgid " (current time: %c)" + msgstr "(τρέχουσα ώρα: %c)" + +-#: ncrypt/crypt.c:98 ++#: ncrypt/crypt.c:96 + #, c-format + msgid "[-- %s output follows%s --]\n" + msgstr "[-- %s ακολουθεί έξοδος%s --]\n" +@@ -3785,55 +3864,55 @@ msgstr "[-- %s ακολουθεί έξοδος%s --]\n" + #. by gpg-agent) we can't know whether we forgot zero, 1, 12, ... + #. passwords. So in English we use "Passphrases". Your language might + #. have other means to express this. +-#: ncrypt/crypt.c:119 ++#: ncrypt/crypt.c:117 + #, fuzzy + msgid "Passphrases forgotten" + msgstr "Η φράση(-εις)-κλειδί έχει ξεχαστεί" + +-#: ncrypt/crypt.c:203 ++#: ncrypt/crypt.c:201 + #, fuzzy + msgid "Inline PGP can't be used with attachments. Revert to PGP/MIME?" + msgstr "Το μήνυμα δεν μπορεί να σταλεί ως εσωτερικό κείμενο. Να χρησιμοποιηθεί PGP/MIME;" + +-#: ncrypt/crypt.c:207 ++#: ncrypt/crypt.c:205 + msgid "Mail not sent: inline PGP can't be used with attachments" + msgstr "" + +-#: ncrypt/crypt.c:214 ++#: ncrypt/crypt.c:212 + #, fuzzy + msgid "Inline PGP can't be used with format=flowed. Revert to PGP/MIME?" + msgstr "Το μήνυμα δεν μπορεί να σταλεί ως εσωτερικό κείμενο. Να χρησιμοποιηθεί PGP/MIME;" + +-#: ncrypt/crypt.c:218 ++#: ncrypt/crypt.c:216 + msgid "Mail not sent: inline PGP can't be used with format=flowed" + msgstr "" + +-#: ncrypt/crypt.c:228 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:714 +-#: ncrypt/pgpkey.c:915 ++#: ncrypt/crypt.c:226 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:747 ++#: ncrypt/pgpkey.c:950 + msgid "Invoking PGP..." + msgstr "Κλήση του PGP..." + +-#: ncrypt/crypt.c:240 ++#: ncrypt/crypt.c:238 + msgid "Message can't be sent inline. Revert to using PGP/MIME?" + msgstr "Το μήνυμα δεν μπορεί να σταλεί ως εσωτερικό κείμενο. Να χρησιμοποιηθεί PGP/MIME;" + +-#: ncrypt/crypt.c:242 send.c:2430 ++#: ncrypt/crypt.c:240 send.c:2441 + msgid "Mail not sent" + msgstr "Το γράμμα δεν εστάλη" + +-#: ncrypt/crypt.c:662 ++#: ncrypt/crypt.c:666 + msgid "S/MIME messages with no hints on content are unsupported" + msgstr "Δεν υποστηρίζονται μηνύματα S/MIME χωρίς πληροφορίες στην επικεφαλίδα" + +-#: ncrypt/crypt.c:888 ++#: ncrypt/crypt.c:892 + msgid "Trying to extract PGP keys...\n" + msgstr "Προσπάθεια εξαγωγής κλειδιών PGP...\n" + +-#: ncrypt/crypt.c:917 ++#: ncrypt/crypt.c:921 + msgid "Trying to extract S/MIME certificates..." + msgstr "Προσπάθεια εξαγωγής πιστοποιητικών S/MIME..." + +-#: ncrypt/crypt.c:1140 ++#: ncrypt/crypt.c:1144 + #, c-format + msgid "" + "[-- Error: Unknown multipart/signed protocol %s --]\n" +@@ -3842,7 +3921,7 @@ msgstr "" + "[-- Σφάλμα: Άγνωστο πολυμερές/υπογεγραμμένο πρωτόκολλο %s --]\n" + "\n" + +-#: ncrypt/crypt.c:1180 ++#: ncrypt/crypt.c:1184 + #, fuzzy + msgid "" + "[-- Error: Missing or bad-format multipart/signed signature --]\n" +@@ -3851,7 +3930,7 @@ msgstr "" + "[-- Σφάλμα: Ασυνεπής πολυμερής/υπογεγραμμένη δομή --]\n" + "\n" + +-#: ncrypt/crypt.c:1222 ++#: ncrypt/crypt.c:1226 + #, c-format + msgid "" + "[-- Warning: We can't verify %s/%s signatures. --]\n" +@@ -3860,7 +3939,7 @@ msgstr "" + "[-- Προειδοποίηση: αδυναμία επιβεβαίωσης %s%s υπογραφών --]\n" + "\n" + +-#: ncrypt/crypt.c:1235 ++#: ncrypt/crypt.c:1239 + msgid "" + "[-- The following data is signed --]\n" + "\n" +@@ -3868,7 +3947,7 @@ msgstr "" + "[-- Τα επόμενα δεδομένα είναι υπογεγραμμένα --]\n" + "\n" + +-#: ncrypt/crypt.c:1243 ++#: ncrypt/crypt.c:1248 + msgid "" + "[-- Warning: Can't find any signatures. --]\n" + "\n" +@@ -3876,7 +3955,7 @@ msgstr "" + "[-- Προειδοποίηση: Αδυναμία εύρεσης υπογραφών. --]\n" + "\n" + +-#: ncrypt/crypt.c:1249 ++#: ncrypt/crypt.c:1255 + msgid "" + "\n" + "[-- End of signed data --]\n" +@@ -3896,237 +3975,237 @@ msgstr "Κλήση του S/MIME..." + #. L10N: The following are the headers for the "verify key" output from the + #. GPGME key selection menu (bound to "c" in the key selection menu). + #. They will be automatically aligned. +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Name: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1869 ncrypt/crypt_gpgme.c:1874 ++#: ncrypt/crypt_gpgme.c:183 ncrypt/crypt_gpgme.c:1900 ncrypt/crypt_gpgme.c:1905 + msgid "aka: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + #, fuzzy + msgid "Valid From: " + msgstr "Μη έγκυρος μήνας: %s" + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + #, fuzzy + msgid "Valid To: " + msgstr "Μη έγκυρος μήνας: %s" + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Key Type: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Key Usage: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:185 ncrypt/crypt_gpgme.c:1759 ++#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1790 + #, fuzzy + msgid "Fingerprint: " + msgstr "Αποτύπωμα: %s" + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Serial-No: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + msgid "Issued By: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + #, fuzzy + msgid "Subkey: " + msgstr "ID κλειδιού: 0x%s" + +-#: ncrypt/crypt_gpgme.c:783 ++#: ncrypt/crypt_gpgme.c:782 + #, c-format + msgid "error enabling CMS protocol: %s" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:806 ++#: ncrypt/crypt_gpgme.c:805 + #, fuzzy, c-format + msgid "error creating gpgme data object: %s" + msgstr "σφάλμα στο μοντέλο στο: %s" + +-#: ncrypt/crypt_gpgme.c:907 ncrypt/crypt_gpgme.c:934 ncrypt/crypt_gpgme.c:2057 +-#: ncrypt/crypt_gpgme.c:2814 ++#: ncrypt/crypt_gpgme.c:906 ncrypt/crypt_gpgme.c:933 ncrypt/crypt_gpgme.c:2096 ++#: ncrypt/crypt_gpgme.c:2853 + #, fuzzy, c-format + msgid "error allocating data object: %s" + msgstr "σφάλμα στο μοντέλο στο: %s" + +-#: ncrypt/crypt_gpgme.c:956 ++#: ncrypt/crypt_gpgme.c:955 + #, fuzzy, c-format + msgid "error rewinding data object: %s" + msgstr "σφάλμα στο μοντέλο στο: %s" + +-#: ncrypt/crypt_gpgme.c:972 ++#: ncrypt/crypt_gpgme.c:971 + msgid "[tempfile]" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:978 ncrypt/crypt_gpgme.c:1032 ++#: ncrypt/crypt_gpgme.c:977 ncrypt/crypt_gpgme.c:1031 + #, fuzzy, c-format + msgid "error reading data object: %s" + msgstr "σφάλμα στο μοντέλο στο: %s" + +-#: ncrypt/crypt_gpgme.c:1149 ++#: ncrypt/crypt_gpgme.c:1148 + #, fuzzy, c-format + msgid "error adding recipient '%s': %s" + msgstr "σφάλμα στο μοντέλο στο: %s" + +-#: ncrypt/crypt_gpgme.c:1202 ++#: ncrypt/crypt_gpgme.c:1186 + #, c-format + msgid "secret key '%s' not found: %s" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1218 ++#: ncrypt/crypt_gpgme.c:1203 + #, c-format + msgid "ambiguous specification of secret key '%s'\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1234 ++#: ncrypt/crypt_gpgme.c:1219 + #, c-format + msgid "error setting secret key '%s': %s" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1250 ++#: ncrypt/crypt_gpgme.c:1278 + #, fuzzy, c-format + msgid "error setting PKA signature notation: %s" + msgstr "σφάλμα στο μοντέλο στο: %s" + +-#: ncrypt/crypt_gpgme.c:1324 ++#: ncrypt/crypt_gpgme.c:1353 + #, fuzzy, c-format + msgid "error encrypting data: %s" + msgstr "σφάλμα στο μοντέλο στο: %s" + +-#: ncrypt/crypt_gpgme.c:1453 ++#: ncrypt/crypt_gpgme.c:1483 + #, fuzzy, c-format + msgid "error signing data: %s" + msgstr "σφάλμα στο μοντέλο στο: %s" + +-#: ncrypt/crypt_gpgme.c:1463 ++#: ncrypt/crypt_gpgme.c:1493 + msgid "$pgp_sign_as unset and no default key specified in ~/.gnupg/gpg.conf" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1641 ++#: ncrypt/crypt_gpgme.c:1672 + #, fuzzy + msgid "Warning: One of the keys has been revoked\n" + msgstr "Προειδοποίηση: Τμήμα αυτού του μηνύματος δεν είναι υπογεγραμμένο." + +-#: ncrypt/crypt_gpgme.c:1651 ++#: ncrypt/crypt_gpgme.c:1682 + msgid "Warning: The key used to create the signature expired at: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1657 ++#: ncrypt/crypt_gpgme.c:1688 + #, fuzzy + msgid "Warning: At least one certification key has expired\n" + msgstr "Το πιστοποιητικό του διακομιστή έληξε" + +-#: ncrypt/crypt_gpgme.c:1671 ++#: ncrypt/crypt_gpgme.c:1702 + msgid "Warning: The signature expired at: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1678 ++#: ncrypt/crypt_gpgme.c:1709 + msgid "Can't verify due to a missing key or certificate\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1683 ++#: ncrypt/crypt_gpgme.c:1714 + #, fuzzy + msgid "The CRL is not available\n" + msgstr "Το SSL δεν είναι διαθέσιμο." + +-#: ncrypt/crypt_gpgme.c:1689 ++#: ncrypt/crypt_gpgme.c:1720 + msgid "Available CRL is too old\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1694 ++#: ncrypt/crypt_gpgme.c:1725 + msgid "A policy requirement was not met\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1703 ++#: ncrypt/crypt_gpgme.c:1734 + msgid "A system error occurred" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1734 ++#: ncrypt/crypt_gpgme.c:1765 + msgid "WARNING: PKA entry does not match signer's address: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1740 ++#: ncrypt/crypt_gpgme.c:1771 + msgid "PKA verified signer's address is: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1822 ++#: ncrypt/crypt_gpgme.c:1853 + msgid "WARNING: We have NO indication whether the key belongs to the person named as shown above\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1829 ++#: ncrypt/crypt_gpgme.c:1860 + msgid "WARNING: The key does NOT BELONG to the person named as shown above\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1833 ++#: ncrypt/crypt_gpgme.c:1864 + msgid "WARNING: It is NOT certain that the key belongs to the person named as shown above\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1886 ++#: ncrypt/crypt_gpgme.c:1917 + msgid "KeyID " + msgstr "" + + #. L10N: You will see this message in place of "KeyID " + #. if the S/MIME key has no ID. This is quite an error. +-#: ncrypt/crypt_gpgme.c:1893 ++#: ncrypt/crypt_gpgme.c:1924 + msgid "no signature fingerprint available" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1902 ncrypt/crypt_gpgme.c:1907 ++#: ncrypt/crypt_gpgme.c:1933 ncrypt/crypt_gpgme.c:1938 + #, fuzzy + msgid "created: " + msgstr "Δημιουργία του %s;" + +-#: ncrypt/crypt_gpgme.c:1981 ++#: ncrypt/crypt_gpgme.c:2012 + #, c-format + msgid "Error getting key information for KeyID %s: %s\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1988 ncrypt/crypt_gpgme.c:2003 ++#: ncrypt/crypt_gpgme.c:2019 ncrypt/crypt_gpgme.c:2034 + msgid "Good signature from:" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1995 ++#: ncrypt/crypt_gpgme.c:2026 + msgid "*BAD* signature from:" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:2011 ++#: ncrypt/crypt_gpgme.c:2042 + msgid "Problem signature from:" + msgstr "" + + #. L10N: This is trying to match the width of the + #. "Problem signature from:" translation just above. +-#: ncrypt/crypt_gpgme.c:2017 ++#: ncrypt/crypt_gpgme.c:2048 + msgid " expires: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:2064 ncrypt/crypt_gpgme.c:2294 +-#: ncrypt/crypt_gpgme.c:3081 ++#: ncrypt/crypt_gpgme.c:2103 ncrypt/crypt_gpgme.c:2333 ++#: ncrypt/crypt_gpgme.c:3124 + msgid "[-- Begin signature information --]\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:2075 ++#: ncrypt/crypt_gpgme.c:2114 + #, fuzzy, c-format + msgid "Error: verification failed: %s\n" + msgstr "Λάθος στη γραμμή εντολών: %s\n" + +-#: ncrypt/crypt_gpgme.c:2126 ++#: ncrypt/crypt_gpgme.c:2165 + #, c-format + msgid "*** Begin Notation (signature by: %s) ***\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:2145 ++#: ncrypt/crypt_gpgme.c:2184 + msgid "*** End Notation ***\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:2153 ncrypt/crypt_gpgme.c:2308 +-#: ncrypt/crypt_gpgme.c:3091 ++#: ncrypt/crypt_gpgme.c:2192 ncrypt/crypt_gpgme.c:2347 ++#: ncrypt/crypt_gpgme.c:3134 + #, fuzzy + msgid "" + "[-- End signature information --]\n" +@@ -4135,28 +4214,34 @@ msgstr "" + "\n" + "[-- Τέλος υπογεγραμμένων δεδομένων --]\n" + +-#: ncrypt/crypt_gpgme.c:2268 ++#: ncrypt/crypt_gpgme.c:2307 + #, fuzzy, c-format + msgid "" + "[-- Error: decryption failed: %s --]\n" + "\n" + msgstr "[-- Σφάλμα: αδυναμία δημιουργίας προσωρινού αρχείου! --]\n" + +-#: ncrypt/crypt_gpgme.c:2821 ++#: ncrypt/crypt_gpgme.c:2860 + #, fuzzy, c-format + msgid "Error importing key: %s" + msgstr "σφάλμα στο μοντέλο στο: %s" + +-#: ncrypt/crypt_gpgme.c:3059 ++#: ncrypt/crypt_gpgme.c:3098 + #, c-format + msgid "Error: decryption/verification failed: %s\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:3103 ++#: ncrypt/crypt_gpgme.c:3105 ncrypt/crypt_gpgme.c:3302 ncrypt/pgp.c:726 ++#: ncrypt/pgp.c:1273 ++#, fuzzy ++msgid "PGP message successfully decrypted" ++msgstr "Η υπογραφή PGP επαληθεύτηκε επιτυχώς" ++ ++#: ncrypt/crypt_gpgme.c:3146 + msgid "Error: copy data failed\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:3116 ncrypt/pgp.c:675 ++#: ncrypt/crypt_gpgme.c:3159 ncrypt/pgp.c:674 + msgid "" + "[-- BEGIN PGP MESSAGE --]\n" + "\n" +@@ -4164,11 +4249,11 @@ msgstr "" + "[-- ΕΝΑΡΞΗ ΜΗΝΥΜΑΤΟΣ PGP --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3118 ncrypt/pgp.c:677 ++#: ncrypt/crypt_gpgme.c:3161 ncrypt/pgp.c:676 + msgid "[-- BEGIN PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- ΕΝΑΡΞΗ ΟΜΑΔΑΣ ΔΗΜΟΣΙΩΝ ΚΛΕΙΔΙΩΝ PGP --]\n" + +-#: ncrypt/crypt_gpgme.c:3120 ncrypt/pgp.c:679 ++#: ncrypt/crypt_gpgme.c:3163 ncrypt/pgp.c:678 + msgid "" + "[-- BEGIN PGP SIGNED MESSAGE --]\n" + "\n" +@@ -4176,19 +4261,19 @@ msgstr "" + "[-- ΕΝΑΡΞΗ ΥΠΟΓΕΓΡΑΜΜΕΝΟΥ PGP ΜΗΝΥΜΑΤΟΣ --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3145 ncrypt/pgp.c:716 ++#: ncrypt/crypt_gpgme.c:3188 ncrypt/pgp.c:715 + msgid "[-- END PGP MESSAGE --]\n" + msgstr "[-- ΤΕΛΟΣ ΜΗΝΥΜΑΤΟΣ PGP --]\n" + +-#: ncrypt/crypt_gpgme.c:3147 ncrypt/pgp.c:730 ++#: ncrypt/crypt_gpgme.c:3190 ncrypt/pgp.c:729 + msgid "[-- END PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- ΤΕΛΟΣ ΟΜΑΔΑΣ ΔΗΜΟΣΙΩΝ ΚΛΕΙΔΙΩΝ PGP --]\n" + +-#: ncrypt/crypt_gpgme.c:3149 ncrypt/pgp.c:732 ++#: ncrypt/crypt_gpgme.c:3192 ncrypt/pgp.c:731 + msgid "[-- END PGP SIGNED MESSAGE --]\n" + msgstr "[-- ΤΕΛΟΣ ΥΠΟΓΕΓΡΑΜΜΕΝΟΥ PGP ΜΗΝΥΜΑΤΟΣ --]\n" + +-#: ncrypt/crypt_gpgme.c:3170 ncrypt/pgp.c:765 ++#: ncrypt/crypt_gpgme.c:3213 ncrypt/pgp.c:764 + msgid "" + "[-- Error: could not find beginning of PGP message --]\n" + "\n" +@@ -4196,11 +4281,11 @@ msgstr "" + "[-- Σφάλμα: δε μπόρεσε να βρεθεί η αρχή του μηνύματος PGP --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3198 ncrypt/crypt_gpgme.c:3296 ncrypt/pgp.c:1218 ++#: ncrypt/crypt_gpgme.c:3241 ncrypt/crypt_gpgme.c:3339 ncrypt/pgp.c:1218 + msgid "[-- Error: could not create temporary file --]\n" + msgstr "[-- Σφάλμα: αδυναμία δημιουργίας προσωρινού αρχείου --]\n" + +-#: ncrypt/crypt_gpgme.c:3212 ++#: ncrypt/crypt_gpgme.c:3255 + #, fuzzy + msgid "" + "[-- The following data is PGP/MIME signed and encrypted --]\n" +@@ -4209,7 +4294,7 @@ msgstr "" + "[-- Τα επόμενα δεδομένα είναι κρυπτογραφημένα μέσω PGP/MIME --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3214 ncrypt/pgp.c:1231 ++#: ncrypt/crypt_gpgme.c:3257 ncrypt/pgp.c:1232 + msgid "" + "[-- The following data is PGP/MIME encrypted --]\n" + "\n" +@@ -4217,75 +4302,70 @@ msgstr "" + "[-- Τα επόμενα δεδομένα είναι κρυπτογραφημένα μέσω PGP/MIME --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3254 ++#: ncrypt/crypt_gpgme.c:3297 + #, fuzzy + msgid "[-- End of PGP/MIME signed and encrypted data --]\n" + msgstr "[-- Τέλος δεδομένων κρυπτογραφημένων μέσω PGP/MIME --]\n" + +-#: ncrypt/crypt_gpgme.c:3255 ncrypt/pgp.c:1267 ++#: ncrypt/crypt_gpgme.c:3298 ncrypt/pgp.c:1268 + msgid "[-- End of PGP/MIME encrypted data --]\n" + msgstr "[-- Τέλος δεδομένων κρυπτογραφημένων μέσω PGP/MIME --]\n" + +-#: ncrypt/crypt_gpgme.c:3259 ncrypt/pgp.c:727 ncrypt/pgp.c:1272 +-#, fuzzy +-msgid "PGP message successfully decrypted" +-msgstr "Η υπογραφή PGP επαληθεύτηκε επιτυχώς" +- +-#: ncrypt/crypt_gpgme.c:3265 ncrypt/pgp.c:666 ncrypt/pgp.c:718 +-#: ncrypt/pgp.c:1276 ++#: ncrypt/crypt_gpgme.c:3308 ncrypt/pgp.c:665 ncrypt/pgp.c:717 ++#: ncrypt/pgp.c:1277 + #, fuzzy + msgid "Could not decrypt PGP message" + msgstr "Αδυναμία αντιγραφής του μηνύματος." + +-#: ncrypt/crypt_gpgme.c:3310 ++#: ncrypt/crypt_gpgme.c:3353 + #, fuzzy + msgid "" + "[-- The following data is S/MIME signed --]\n" + "\n" + msgstr "[-- Τα επόμενα δεδομένα είναι υπογεγραμμένα με S/MIME --]\n" + +-#: ncrypt/crypt_gpgme.c:3311 ++#: ncrypt/crypt_gpgme.c:3354 + #, fuzzy + msgid "" + "[-- The following data is S/MIME encrypted --]\n" + "\n" + msgstr "[-- Τα επόμενα δεδομένα είναι κρυπτογραφημένα μέσω S/MIME --]\n" + +-#: ncrypt/crypt_gpgme.c:3358 ++#: ncrypt/crypt_gpgme.c:3401 + #, fuzzy + msgid "[-- End of S/MIME signed data --]\n" + msgstr "" + "\n" + "[-- Τέλος δεδομένων υπογεγραμμένων με S/MIME --]\n" + +-#: ncrypt/crypt_gpgme.c:3359 ++#: ncrypt/crypt_gpgme.c:3402 + #, fuzzy + msgid "[-- End of S/MIME encrypted data --]\n" + msgstr "" + "\n" + "[-- Τέλος δεδομένων κρυπτογραφημένων μέσω S/MIME --]\n" + +-#: ncrypt/crypt_gpgme.c:4029 ++#: ncrypt/crypt_gpgme.c:4077 + msgid "[Can't display this user ID (unknown encoding)]" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:4031 ++#: ncrypt/crypt_gpgme.c:4079 + msgid "[Can't display this user ID (invalid encoding)]" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:4036 ++#: ncrypt/crypt_gpgme.c:4084 + msgid "[Can't display this user ID (invalid DN)]" + msgstr "" + + #. L10N: comes after the Name or aka if the key is invalid + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4150 ncrypt/crypt_gpgme.c:4291 ++#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4339 + #, fuzzy + msgid "[Invalid]" + msgstr "Μη έγκυρο " + + #. L10N: This is printed after "Key Type: " and looks like this: PGP, 2048 bit RSA +-#: ncrypt/crypt_gpgme.c:4190 ncrypt/crypt_gpgme.c:4331 ++#: ncrypt/crypt_gpgme.c:4238 ncrypt/crypt_gpgme.c:4379 + #, c-format + msgid "%s, %lu bit %s\n" + msgid_plural "%s, %lu bit %s\n" +@@ -4293,104 +4373,104 @@ msgstr[0] "" + msgstr[1] "" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4338 ++#: ncrypt/crypt_gpgme.c:4246 ncrypt/crypt_gpgme.c:4386 + #, fuzzy + msgid "encryption" + msgstr "Κρυπτογράφηση" + +-#: ncrypt/crypt_gpgme.c:4199 ncrypt/crypt_gpgme.c:4205 +-#: ncrypt/crypt_gpgme.c:4339 ncrypt/crypt_gpgme.c:4344 ++#: ncrypt/crypt_gpgme.c:4247 ncrypt/crypt_gpgme.c:4253 ++#: ncrypt/crypt_gpgme.c:4387 ncrypt/crypt_gpgme.c:4392 + msgid ", " + msgstr "" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4204 ncrypt/crypt_gpgme.c:4343 ++#: ncrypt/crypt_gpgme.c:4252 ncrypt/crypt_gpgme.c:4391 + msgid "signing" + msgstr "" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4210 ncrypt/crypt_gpgme.c:4348 ++#: ncrypt/crypt_gpgme.c:4258 ncrypt/crypt_gpgme.c:4396 + #, fuzzy + msgid "certification" + msgstr "Το πιστοποιητικό αποθηκεύτηκε" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4285 ++#: ncrypt/crypt_gpgme.c:4333 + #, fuzzy + msgid "[Revoked]" + msgstr "Ανακλήθηκε " + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4297 ++#: ncrypt/crypt_gpgme.c:4345 + #, fuzzy + msgid "[Expired]" + msgstr "Έληξε " + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4303 ++#: ncrypt/crypt_gpgme.c:4351 + msgid "[Disabled]" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:4376 ++#: ncrypt/crypt_gpgme.c:4424 + #, fuzzy + msgid "Collecting data..." + msgstr "Σύνδεση στο %s..." + +-#: ncrypt/crypt_gpgme.c:4394 ++#: ncrypt/crypt_gpgme.c:4442 + #, fuzzy, c-format + msgid "Error finding issuer key: %s\n" + msgstr "Σφάλμα κατα τη σύνδεση στο διακομιστή: %s" + +-#: ncrypt/crypt_gpgme.c:4403 ++#: ncrypt/crypt_gpgme.c:4451 + #, fuzzy + msgid "Error: certification chain too long - stopping here\n" + msgstr "Λάθος στη γραμμή εντολών: %s\n" + +-#: ncrypt/crypt_gpgme.c:4413 ncrypt/pgpkey.c:733 ++#: ncrypt/crypt_gpgme.c:4461 ncrypt/pgpkey.c:766 + #, c-format + msgid "Key ID: 0x%s" + msgstr "ID κλειδιού: 0x%s" + +-#: ncrypt/crypt_gpgme.c:4538 ncrypt/crypt_gpgme.c:4589 ++#: ncrypt/crypt_gpgme.c:4586 ncrypt/crypt_gpgme.c:4637 + #, c-format + msgid "gpgme_op_keylist_start failed: %s" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:4577 ncrypt/crypt_gpgme.c:4619 +-#: ncrypt/crypt_gpgme.c:5355 ++#: ncrypt/crypt_gpgme.c:4625 ncrypt/crypt_gpgme.c:4667 ++#: ncrypt/crypt_gpgme.c:5435 + #, c-format + msgid "gpgme_op_keylist_next failed: %s" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:4701 ++#: ncrypt/crypt_gpgme.c:4749 + #, fuzzy + msgid "All matching keys are marked expired/revoked" + msgstr "Όλα τα κλειδιά που ταιριάζουν είναι ληγμένα, ακυρωμένα ή ανενεργά" + +-#: ncrypt/crypt_gpgme.c:4731 ncrypt/pgpkey.c:666 ncrypt/smime.c:551 ++#: ncrypt/crypt_gpgme.c:4779 ncrypt/pgpkey.c:669 ncrypt/smime.c:553 + msgid "Select " + msgstr "Διαλέξτε " + +-#: ncrypt/crypt_gpgme.c:4733 ncrypt/pgpkey.c:668 ++#: ncrypt/crypt_gpgme.c:4781 ncrypt/pgpkey.c:671 + msgid "Check key " + msgstr "Ελέγξτε κλειδί " + +-#: ncrypt/crypt_gpgme.c:4749 ++#: ncrypt/crypt_gpgme.c:4827 + #, fuzzy + msgid "PGP and S/MIME keys matching" + msgstr "Όμοια S/MIME κλειδιά \"%s\"." + +-#: ncrypt/crypt_gpgme.c:4751 ++#: ncrypt/crypt_gpgme.c:4829 + #, fuzzy + msgid "PGP keys matching" + msgstr "Όμοια PGP κλειδιά \"%s\"." + +-#: ncrypt/crypt_gpgme.c:4753 ++#: ncrypt/crypt_gpgme.c:4831 + #, fuzzy + msgid "S/MIME keys matching" + msgstr "Όμοια πιστοποιητικά S/MIME \"%s\"." + +-#: ncrypt/crypt_gpgme.c:4755 ++#: ncrypt/crypt_gpgme.c:4833 + #, fuzzy + msgid "keys matching" + msgstr "Όμοια PGP κλειδιά \"%s\"." +@@ -4399,59 +4479,59 @@ msgstr "Όμοια PGP κλειδιά \"%s\"." + #. %1$s is one of the previous four entries. + #. %2$s is an address. + #. e.g. "S/MIME keys matching " +-#: ncrypt/crypt_gpgme.c:4763 ++#: ncrypt/crypt_gpgme.c:4841 + #, c-format + msgid "%s <%s>" + msgstr "" + + #. L10N: e.g. 'S/MIME keys matching "Michael Elkins".' +-#: ncrypt/crypt_gpgme.c:4768 ++#: ncrypt/crypt_gpgme.c:4846 + #, c-format + msgid "%s \"%s\"" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:4796 ncrypt/pgpkey.c:754 ++#: ncrypt/crypt_gpgme.c:4874 ncrypt/pgpkey.c:787 + msgid "This key can't be used: expired/disabled/revoked" + msgstr "Αυτό το κλειδί δεν μπορεί να χρησιμοποιηθεί ληγμένο/αχρηστευμένο/άκυρο" + +-#: ncrypt/crypt_gpgme.c:4810 ncrypt/pgpkey.c:767 ncrypt/smime.c:581 ++#: ncrypt/crypt_gpgme.c:4888 ncrypt/pgpkey.c:800 ncrypt/smime.c:613 + #, fuzzy + msgid "ID is expired/disabled/revoked. Do you really want to use the key?" + msgstr "Το ID είναι ληγμένο/αχρηστευμένο/άκυρο. Θέλετε σίγουρα να χρησιμοποιήσετε το κλειδί;" + +-#: ncrypt/crypt_gpgme.c:4820 ncrypt/pgpkey.c:779 ++#: ncrypt/crypt_gpgme.c:4898 ncrypt/pgpkey.c:812 + #, fuzzy + msgid "ID is not valid. Do you really want to use the key?" + msgstr "Το ID δεν είναι έγκυρο. Θέλετε σίγουρα να χρησιμοποιήσετε το κλειδί;" + +-#: ncrypt/crypt_gpgme.c:4823 ncrypt/pgpkey.c:782 ++#: ncrypt/crypt_gpgme.c:4901 ncrypt/pgpkey.c:815 + #, fuzzy + msgid "ID is only marginally valid. Do you really want to use the key?" + msgstr "Το ID είναι μόνο μερικώς έγκυρο. Θέλετε σίγουρα να χρησιμοποιήσετε το κλειδί;" + +-#: ncrypt/crypt_gpgme.c:4831 ncrypt/pgpkey.c:775 ncrypt/smime.c:585 ++#: ncrypt/crypt_gpgme.c:4909 ncrypt/pgpkey.c:808 ncrypt/smime.c:617 + #, fuzzy + msgid "ID has undefined validity. Do you really want to use the key?" + msgstr "Το ID έχει μη ορισμένη εγκυρότητα. Θέλετε σίγουρα να χρησιμοποιήσετε το κλειδί;" + +-#: ncrypt/crypt_gpgme.c:4911 ncrypt/crypt_gpgme.c:5024 ncrypt/pgpkey.c:1019 +-#: ncrypt/pgpkey.c:1146 ++#: ncrypt/crypt_gpgme.c:4991 ncrypt/crypt_gpgme.c:5104 ncrypt/pgpkey.c:1054 ++#: ncrypt/pgpkey.c:1181 + #, c-format + msgid "Looking for keys matching \"%s\"..." + msgstr "Εύρεση όμοιων κλειδιών με \"%s\"..." + +-#: ncrypt/crypt_gpgme.c:5140 ncrypt/pgpkey.c:870 ncrypt/smime.c:924 ++#: ncrypt/crypt_gpgme.c:5220 ncrypt/pgpkey.c:905 ncrypt/smime.c:958 + #, c-format + msgid "No matching keys found for \"%s\"" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5190 ncrypt/pgp.c:1456 ++#: ncrypt/crypt_gpgme.c:5270 ncrypt/pgp.c:1457 + #, c-format + msgid "Use keyID = \"%s\" for %s?" + msgstr "Να χρησιμοποιηθεί keyID = \"%s\" για το %s;" + +-#: ncrypt/crypt_gpgme.c:5238 ncrypt/pgp.c:1505 ncrypt/smime.c:944 +-#: ncrypt/smime.c:1049 ++#: ncrypt/crypt_gpgme.c:5318 ncrypt/pgp.c:1506 ncrypt/smime.c:978 ++#: ncrypt/smime.c:1083 + #, c-format + msgid "Enter keyID for %s: " + msgstr "Εισάγετε keyID για το %s: " +@@ -4460,16 +4540,16 @@ msgstr "Εισάγετε keyID για το %s: " + #. mutt_gpgme_select_secret_key() tries to list all secret keys to choose + #. from. This error is displayed if no results were found. + #. +-#: ncrypt/crypt_gpgme.c:5364 ++#: ncrypt/crypt_gpgme.c:5444 + #, fuzzy + msgid "No secret keys found" + msgstr "Δε βρέθηκε" + +-#: ncrypt/crypt_gpgme.c:5398 ncrypt/pgpkey.c:888 ++#: ncrypt/crypt_gpgme.c:5478 ncrypt/pgpkey.c:923 + msgid "Please enter the key ID: " + msgstr "Παρακαλώ γράψτε το ID του κλειδιού: " + +-#: ncrypt/crypt_gpgme.c:5411 ++#: ncrypt/crypt_gpgme.c:5491 + #, fuzzy, c-format + msgid "Error exporting key: %s" + msgstr "σφάλμα στο μοντέλο στο: %s" +@@ -4477,103 +4557,103 @@ msgstr "σφάλμα στο μοντέλο στο: %s" + #. 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. +-#: ncrypt/crypt_gpgme.c:5429 ++#: ncrypt/crypt_gpgme.c:5509 + #, fuzzy, c-format + msgid "PGP Key 0x%s" + msgstr "Κλειδί PGP %s" + +-#: ncrypt/crypt_gpgme.c:5474 ++#: ncrypt/crypt_gpgme.c:5554 + msgid "GPGME: OpenPGP protocol not available" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5485 ++#: ncrypt/crypt_gpgme.c:5565 + msgid "GPGME: CMS protocol not available" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5536 ++#: ncrypt/crypt_gpgme.c:5616 + #, fuzzy + msgid "S/MIME (s)ign, sign (a)s, (p)gp, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME (e)κλείδ, (s)υπογρ, υπογρ.σ(a)ν, (b)κλ+υπ, %s, ή (c)τίποτα; " + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5538 ++#: ncrypt/crypt_gpgme.c:5618 + msgid "sapco" + msgstr "esabc" + +-#: ncrypt/crypt_gpgme.c:5545 ++#: ncrypt/crypt_gpgme.c:5625 + #, fuzzy + msgid "PGP (s)ign, sign (a)s, s/(m)ime, (c)lear, or (o)ppenc mode off?" + msgstr "PGP (e)κλείδ, (s)υπογρ, υπογρ.σ(a)ν, (b)κλ+υπ, %s, ή (c)τίποτα; " + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5547 ++#: ncrypt/crypt_gpgme.c:5627 + msgid "samco" + msgstr "esabc" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5557 ++#: ncrypt/crypt_gpgme.c:5637 + #, fuzzy + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME (e)κλείδ, (s)υπογρ, υπογρ.σ(a)ν, (b)κλ+υπ, %s, ή (c)τίποτα; " + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5560 ++#: ncrypt/crypt_gpgme.c:5640 + #, fuzzy + msgid "esabpco" + msgstr "esabc" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5566 ++#: ncrypt/crypt_gpgme.c:5646 + #, fuzzy + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime, (c)lear, or (o)ppenc mode?" + msgstr "PGP (e)κλείδ, (s)υπογρ, υπογρ.σ(a)ν, (b)κλ+υπ, %s, ή (c)τίποτα; " + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5569 ++#: ncrypt/crypt_gpgme.c:5649 + #, fuzzy + msgid "esabmco" + msgstr "esabc" + +-#: ncrypt/crypt_gpgme.c:5580 ++#: ncrypt/crypt_gpgme.c:5660 + #, fuzzy + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp or (c)lear?" + msgstr "S/MIME (e)κλείδ, (s)υπογρ, υπογρ.σ(a)ν, (b)κλ+υπ, %s, ή (c)τίποτα; " + + #. L10N: S/MIME options +-#: ncrypt/crypt_gpgme.c:5582 ++#: ncrypt/crypt_gpgme.c:5662 + #, fuzzy + msgid "esabpc" + msgstr "esabc" + +-#: ncrypt/crypt_gpgme.c:5589 ++#: ncrypt/crypt_gpgme.c:5669 + #, fuzzy + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime or (c)lear?" + msgstr "PGP (e)κλείδ, (s)υπογρ, υπογρ.σ(a)ν, (b)κλ+υπ, %s, ή (c)τίποτα; " + + #. L10N: PGP options +-#: ncrypt/crypt_gpgme.c:5591 ++#: ncrypt/crypt_gpgme.c:5671 + #, fuzzy + msgid "esabmc" + msgstr "esabc" + +-#: ncrypt/crypt_gpgme.c:5751 ++#: ncrypt/crypt_gpgme.c:5831 + msgid "Failed to verify sender" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5754 ++#: ncrypt/crypt_gpgme.c:5834 + #, fuzzy + msgid "Failed to figure out sender" + msgstr "Αποτυχία κατά το άνοιγμα αρχείου για την ανάλυση των επικεφαλίδων." + +-#: ncrypt/pgp.c:108 ++#: ncrypt/pgp.c:107 + msgid "Enter PGP passphrase:" + msgstr "Εισάγετε την φράση-κλειδί PGP:" + +-#: ncrypt/pgp.c:595 ++#: ncrypt/pgp.c:594 + msgid "[-- Error: unable to create PGP subprocess --]\n" + msgstr "[-- Σφάλμα: αδυναμία στη δημιουργία υποδιεργασίας PGP --]\n" + +-#: ncrypt/pgp.c:644 ncrypt/pgp.c:926 ncrypt/pgp.c:1086 ++#: ncrypt/pgp.c:643 ncrypt/pgp.c:925 ncrypt/pgp.c:1085 + msgid "" + "[-- End of PGP output --]\n" + "\n" +@@ -4584,16 +4664,16 @@ msgstr "" + #. L10N: You will see this error message if (1) you are decrypting + #. (not encrypting) something and (2) it is a plaintext. So the + #. message does not mean "You failed to encrypt the message." +-#: ncrypt/pgp.c:724 ++#: ncrypt/pgp.c:723 + #, fuzzy + msgid "PGP message is not encrypted" + msgstr "Η υπογραφή PGP επαληθεύτηκε επιτυχώς" + +-#: ncrypt/pgp.c:978 ++#: ncrypt/pgp.c:977 + msgid "Internal error. Please submit a bug report." + msgstr "" + +-#: ncrypt/pgp.c:1043 ++#: ncrypt/pgp.c:1042 + msgid "" + "[-- Error: could not create a PGP subprocess --]\n" + "\n" +@@ -4601,132 +4681,132 @@ msgstr "" + "[-- Σφάλμα: αδυναμία στη δημιουργία υποδιεργασίας PGP --0]\n" + "\n" + +-#: ncrypt/pgp.c:1073 ncrypt/pgp.c:1098 ncrypt/smime.c:2143 postpone.c:757 +-#: postpone.c:785 ++#: ncrypt/pgp.c:1072 ncrypt/pgp.c:1097 ncrypt/smime.c:2177 postpone.c:803 ++#: postpone.c:831 + msgid "Decryption failed" + msgstr "Η αποκρυπτογράφηση απέτυχε" + +-#: ncrypt/pgp.c:1333 ++#: ncrypt/pgp.c:1334 + msgid "Can't open PGP subprocess" + msgstr "Αδυναμία ανοίγματος υποδιεργασίας PGP" + +-#: ncrypt/pgp.c:1768 ++#: ncrypt/pgp.c:1770 + msgid "Can't invoke PGP" + msgstr "Αδυναμία κλήσης του PGP" + + #. L10N: The next string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1875 ++#: ncrypt/pgp.c:1877 + msgid "PGP/M(i)ME" + msgstr "PGP/M(i)ME" + + #. L10N: The previous string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1881 ++#: ncrypt/pgp.c:1883 + msgid "(i)nline" + msgstr "(i)εσωτερικό κείμενο" + + #. L10N: PGP options (inline) (opportunistic encryption is on) +-#: ncrypt/pgp.c:1893 ++#: ncrypt/pgp.c:1895 + #, fuzzy, c-format + msgid "PGP (s)ign, sign (a)s, %s format, (c)lear, or (o)ppenc mode off?" + msgstr "PGP (e)κλείδ, (s)υπογρ, υπογρ.σ(a)ν, (b)κλ+υπ, %s, ή (c)τίποτα; " + + #. L10N: PGP options (inline) (opportunistic encryption is on) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1899 ++#: ncrypt/pgp.c:1901 + msgid "saico" + msgstr "esabc" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1905 ++#: ncrypt/pgp.c:1907 + #, fuzzy + msgid "PGP (s)ign, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "PGP (e)κλείδ, (s)υπογρ, υπογρ.σ(a)ν, (b)κλ+υπ, %s, ή (c)τίποτα; " + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1907 ++#: ncrypt/pgp.c:1909 + msgid "saco" + msgstr "esabc" + + #. L10N: PGP options (inline) (opportunistic encryption is off) +-#: ncrypt/pgp.c:1921 ++#: ncrypt/pgp.c:1923 + #, fuzzy, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, (c)lear, or (o)ppenc mode?" + msgstr "PGP (e)κλείδ, (s)υπογρ, υπογρ.σ(a)ν, (b)κλ+υπ, %s, ή (c)τίποτα; " + + #. L10N: PGP options (inline) (opportunistic encryption is off) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1927 ++#: ncrypt/pgp.c:1929 + #, fuzzy + msgid "esabico" + msgstr "esabc" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1933 ++#: ncrypt/pgp.c:1935 + #, fuzzy + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "PGP (e)κλείδ, (s)υπογρ, υπογρ.σ(a)ν, (b)κλ+υπ, %s, ή (c)τίποτα; " + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1936 ++#: ncrypt/pgp.c:1938 + #, fuzzy + msgid "esabco" + msgstr "esabc" + + #. L10N: PGP options (inline) +-#: ncrypt/pgp.c:1947 ++#: ncrypt/pgp.c:1949 + #, fuzzy, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, or (c)lear?" + msgstr "PGP (e)κλείδ, (s)υπογρ, υπογρ.σ(a)ν, (b)κλ+υπ, %s, ή (c)τίποτα; " + + #. L10N: PGP options (inline) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1953 ++#: ncrypt/pgp.c:1955 + #, fuzzy + msgid "esabic" + msgstr "esabc" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1959 ++#: ncrypt/pgp.c:1961 + #, fuzzy + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (c)lear?" + msgstr "PGP (e)κλείδ, (s)υπογρ, υπογρ.σ(a)ν, (b)κλ+υπ, %s, ή (c)τίποτα; " + + #. L10N: PGP options +-#: ncrypt/pgp.c:1961 ++#: ncrypt/pgp.c:1963 + #, fuzzy + msgid "esabc" + msgstr "esabc" + +-#: ncrypt/pgpinvoke.c:458 ++#: ncrypt/pgpinvoke.c:461 + msgid "Fetching PGP key..." + msgstr "Λήψη κλειδιού PGP..." + +-#: ncrypt/pgpkey.c:640 ++#: ncrypt/pgpkey.c:643 + msgid "All matching keys are expired, revoked, or disabled" + msgstr "Όλα τα κλειδιά που ταιριάζουν είναι ληγμένα, ακυρωμένα ή ανενεργά" + +-#: ncrypt/pgpkey.c:681 ++#: ncrypt/pgpkey.c:714 + #, c-format + msgid "PGP keys matching <%s>" + msgstr "Όμοια PGP κλειδιά <%s>" + +-#: ncrypt/pgpkey.c:683 ++#: ncrypt/pgpkey.c:716 + #, c-format + msgid "PGP keys matching \"%s\"" + msgstr "Όμοια PGP κλειδιά \"%s\"" + +-#: ncrypt/pgpkey.c:700 ncrypt/pgpkey.c:909 ++#: ncrypt/pgpkey.c:733 ncrypt/pgpkey.c:944 + msgid "Can't open /dev/null" + msgstr "Αδυναμία ανοίγματος /dev/null" + +-#: ncrypt/pgpkey.c:938 ++#: ncrypt/pgpkey.c:973 + #, c-format + msgid "PGP Key %s" + msgstr "Κλειδί PGP %s" + +-#: ncrypt/smime.c:182 ++#: ncrypt/smime.c:180 + msgid "Enter S/MIME passphrase:" + msgstr "Εισάγετε την φράση-κλειδί S/MIME:" + +@@ -4735,7 +4815,7 @@ msgstr "Εισάγετε την φράση-κλειδί S/MIME:" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:460 ++#: ncrypt/smime.c:462 + msgid "Expired " + msgstr "Έληξε " + +@@ -4744,7 +4824,7 @@ msgstr "Έληξε " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:468 ++#: ncrypt/smime.c:470 + msgid "Invalid " + msgstr "Μη έγκυρο " + +@@ -4753,7 +4833,7 @@ msgstr "Μη έγκυρο " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:476 ++#: ncrypt/smime.c:478 + msgid "Revoked " + msgstr "Ανακλήθηκε " + +@@ -4762,7 +4842,7 @@ msgstr "Ανακλήθηκε " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:484 ++#: ncrypt/smime.c:486 + msgid "Trusted " + msgstr "Εμπιστευμένο " + +@@ -4771,7 +4851,7 @@ msgstr "Εμπιστευμένο " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:492 ++#: ncrypt/smime.c:494 + msgid "Unverified" + msgstr "Μη Επιβεβαιωμένο" + +@@ -4780,7 +4860,7 @@ msgstr "Μη Επιβεβαιωμένο" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:500 ++#: ncrypt/smime.c:502 + msgid "Verified " + msgstr "Επιβεβαιωμένο " + +@@ -4789,60 +4869,60 @@ msgstr "Επιβεβαιωμένο " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:508 ++#: ncrypt/smime.c:510 + msgid "Unknown " + msgstr "Άγνωστο " + +-#: ncrypt/smime.c:545 ++#: ncrypt/smime.c:547 + #, c-format + msgid "S/MIME certificates matching \"%s\"" + msgstr "Όμοια πιστοποιητικά S/MIME \"%s\"" + +-#: ncrypt/smime.c:589 ++#: ncrypt/smime.c:621 + #, fuzzy + msgid "ID is not trusted. Do you really want to use the key?" + msgstr "Το ID δεν είναι έγκυρο. Θέλετε σίγουρα να χρησιμοποιήσετε το κλειδί;" + +-#: ncrypt/smime.c:910 ++#: ncrypt/smime.c:944 + msgid "Enter keyID: " + msgstr "Εισάγετε το keyID: " + +-#: ncrypt/smime.c:1055 ++#: ncrypt/smime.c:1089 + #, c-format + msgid "No (valid) certificate found for %s" + msgstr "Δεν βρέθηκαν (έγκυρα) πιστοποιητικά για το %s" + +-#: ncrypt/smime.c:1108 ncrypt/smime.c:1137 ncrypt/smime.c:1209 +-#: ncrypt/smime.c:1243 ncrypt/smime.c:1319 ncrypt/smime.c:1399 ++#: ncrypt/smime.c:1142 ncrypt/smime.c:1171 ncrypt/smime.c:1243 ++#: ncrypt/smime.c:1277 ncrypt/smime.c:1353 ncrypt/smime.c:1433 + msgid "Error: unable to create OpenSSL subprocess" + msgstr "Σφάλμα: αδυναμία δημιουργίας υποδιεργασίας OpenSSL" + +-#: ncrypt/smime.c:1379 ++#: ncrypt/smime.c:1413 + #, fuzzy + msgid "Label for certificate: " + msgstr "Αδυναμία στη λήψη πιστοποιητικού από το ταίρι" + +-#: ncrypt/smime.c:1480 ++#: ncrypt/smime.c:1514 + msgid "no certfile" + msgstr "κανένα αρχείο πιστοποιητικών" + +-#: ncrypt/smime.c:1483 ++#: ncrypt/smime.c:1517 + msgid "no mbox" + msgstr "κανένα γραμματοκιβώτιο" + +-#: ncrypt/smime.c:1640 ncrypt/smime.c:1810 ++#: ncrypt/smime.c:1674 ncrypt/smime.c:1844 + msgid "No output from OpenSSL..." + msgstr "Καμμία έξοδος από OpenSSL.." + +-#: ncrypt/smime.c:1727 ++#: ncrypt/smime.c:1761 + msgid "Can't sign: No key specified. Use Sign As." + msgstr "Αδυναμία υπογραφής. Δεν έχει οριστεί κλειδί. Χρησιμοποιήστε Υπογρ.σαν" + +-#: ncrypt/smime.c:1777 ++#: ncrypt/smime.c:1811 + msgid "Can't open OpenSSL subprocess" + msgstr "Αδυναμία εκκίνησης υποδιεργασίας OpenSSL" + +-#: ncrypt/smime.c:2004 ncrypt/smime.c:2123 ++#: ncrypt/smime.c:2038 ncrypt/smime.c:2157 + msgid "" + "[-- End of OpenSSL output --]\n" + "\n" +@@ -4850,19 +4930,19 @@ msgstr "" + "[-- Τέλος της εξόδου OpenSSL --]\n" + "\n" + +-#: ncrypt/smime.c:2080 ncrypt/smime.c:2093 ++#: ncrypt/smime.c:2114 ncrypt/smime.c:2127 + msgid "[-- Error: unable to create OpenSSL subprocess --]\n" + msgstr "[-- Σφάλμα: αδυναμία δημιουργίας υποδιεργασίας OpenSSL --]\n" + +-#: ncrypt/smime.c:2129 ++#: ncrypt/smime.c:2163 + msgid "[-- The following data is S/MIME encrypted --]\n" + msgstr "[-- Τα επόμενα δεδομένα είναι κρυπτογραφημένα μέσω S/MIME --]\n" + +-#: ncrypt/smime.c:2132 ++#: ncrypt/smime.c:2166 + msgid "[-- The following data is S/MIME signed --]\n" + msgstr "[-- Τα επόμενα δεδομένα είναι υπογεγραμμένα με S/MIME --]\n" + +-#: ncrypt/smime.c:2225 ++#: ncrypt/smime.c:2259 + msgid "" + "\n" + "[-- End of S/MIME encrypted data. --]\n" +@@ -4870,7 +4950,7 @@ msgstr "" + "\n" + "[-- Τέλος δεδομένων κρυπτογραφημένων μέσω S/MIME --]\n" + +-#: ncrypt/smime.c:2227 ++#: ncrypt/smime.c:2261 + msgid "" + "\n" + "[-- End of S/MIME signed data. --]\n" +@@ -4879,167 +4959,167 @@ msgstr "" + "[-- Τέλος δεδομένων υπογεγραμμένων με S/MIME --]\n" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2361 ++#: ncrypt/smime.c:2395 + #, fuzzy + msgid "S/MIME (s)ign, encrypt (w)ith, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME (e)κλείδ,(s)υπογρ,(w)υπογρ.με,υπογρ.σ(a)ν,(b)κλ+υπ, %s, ή (c)τίποτα; " + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2364 ++#: ncrypt/smime.c:2398 + msgid "swaco" + msgstr "eswabc" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2372 ++#: ncrypt/smime.c:2406 + #, fuzzy + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME (e)κλείδ,(s)υπογρ,(w)υπογρ.με,υπογρ.σ(a)ν,(b)κλ+υπ, %s, ή (c)τίποτα; " + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2375 ++#: ncrypt/smime.c:2409 + msgid "eswabco" + msgstr "eswabc" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2382 ++#: ncrypt/smime.c:2416 + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, or (c)lear?" + msgstr "S/MIME (e)κλείδ,(s)υπογρ,(w)υπογρ.με,υπογρ.σ(a)ν,(b)κλ+υπ, %s, ή (c)τίποτα; " + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2385 ++#: ncrypt/smime.c:2419 + msgid "eswabc" + msgstr "eswabc" + +-#: ncrypt/smime.c:2449 ++#: ncrypt/smime.c:2483 + msgid "Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear?" + msgstr "" + + #. L10N: Options for: Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear? +-#: ncrypt/smime.c:2452 ++#: ncrypt/smime.c:2486 + msgid "123c" + msgstr "" + +-#: ncrypt/smime.c:2455 ++#: ncrypt/smime.c:2489 + msgid "(1) DES, (2) Triple-DES?" + msgstr "" + + #. L10N: Options for: (1) DES, (2) Triple-DES +-#: ncrypt/smime.c:2457 ++#: ncrypt/smime.c:2491 + msgid "12" + msgstr "" + +-#: ncrypt/smime.c:2470 ++#: ncrypt/smime.c:2504 + msgid "(1) RC2-40, (2) RC2-64, (3) RC2-128?" + msgstr "" + + #. L10N: Options for: (1) RC2-40, (2) RC2-64, (3) RC2-128 + #. L10N: Options for: (1) AES128, (2) AES192, (3) AES256 +-#: ncrypt/smime.c:2472 ncrypt/smime.c:2490 ++#: ncrypt/smime.c:2506 ncrypt/smime.c:2524 + msgid "123" + msgstr "" + +-#: ncrypt/smime.c:2488 ++#: ncrypt/smime.c:2522 + msgid "(1) AES128, (2) AES192, (3) AES256?" + msgstr "" + +-#: nntp/newsrc.c:632 ++#: nntp/newsrc.c:639 + msgid "Loading list of groups from cache..." + msgstr "" + +-#: nntp/newsrc.c:997 ++#: nntp/newsrc.c:1023 + msgid "No news server defined" + msgstr "" + +-#: nntp/newsrc.c:1012 ++#: nntp/newsrc.c:1041 + #, fuzzy, c-format + msgid "%s is an invalid news server specification" + msgstr "%s είναι μη έγκυρη POP διαδρομή" + +-#: nntp/nntp.c:236 nntp/nntp.c:777 pop/pop.c:742 pop/pop_lib.c:398 ++#: nntp/nntp.c:238 nntp/nntp.c:779 pop/pop.c:742 pop/pop_lib.c:424 + msgid "Server closed connection" + msgstr "Η σύνδεση με τον εξυπηρετητή έκλεισε" + +-#: nntp/nntp.c:340 ++#: nntp/nntp.c:342 + msgid "Server doesn't support reader mode" + msgstr "" + +-#: nntp/nntp.c:576 pop/pop_auth.c:504 smtp.c:650 ++#: nntp/nntp.c:578 pop/pop_auth.c:505 smtp.c:675 + msgid "No authenticators available" + msgstr "Δεν υπάρχει διαθέσιμη αυθεντικοποίηση." + +-#: nntp/nntp.c:766 ++#: nntp/nntp.c:768 + #, fuzzy, c-format + msgid "%s authentication failed" + msgstr "Αυθεντικοποίηση SASL απέτυχε" + +-#: nntp/nntp.c:826 ++#: nntp/nntp.c:828 + #, fuzzy, c-format + msgid "Connection to %s lost. Reconnect?" + msgstr "Έκλεισε η σύνδεση στο %s" + +-#: nntp/nntp.c:1285 ++#: nntp/nntp.c:1287 + #, fuzzy + msgid "Fetching list of articles..." + msgstr "Λήψη λίστας μηνυμάτων..." + +-#: nntp/nntp.c:1549 nntp/nntp.c:2138 pop/pop.c:614 pop/pop.c:910 ++#: nntp/nntp.c:1551 nntp/nntp.c:2140 pop/pop.c:614 pop/pop.c:905 + msgid "Checking for new messages..." + msgstr "Έλεγχος για νέα μηνύματα..." + +-#: nntp/nntp.c:1864 nntp/nntp.c:1954 ++#: nntp/nntp.c:1866 nntp/nntp.c:1956 + #, fuzzy + msgid "Could not switch to reader mode" + msgstr "αδυναμία εγγραφής προσωρινού φακέλου αλληλογραφίας: %s" + +-#: nntp/nntp.c:1877 ++#: nntp/nntp.c:1879 + #, fuzzy, c-format + msgid "Connected to %s. %s" + msgstr "Σύνδεση στο %s..." + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + #, fuzzy + msgid "Posting is ok" + msgstr "Καμμία ενέργεια" + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + msgid "Posting is NOT ok" + msgstr "" + +-#: nntp/nntp.c:2008 nntp/nntp.c:2043 ++#: nntp/nntp.c:2010 nntp/nntp.c:2045 + #, fuzzy, c-format + msgid "Can't post article: %s" + msgstr "Αδυναμία λήψης της κατάστασης του %s: %s" + +-#: nntp/nntp.c:2064 ++#: nntp/nntp.c:2066 + #, fuzzy, c-format + msgid "Loading list of groups from server %s..." + msgstr "Διαγραφή μηνυμάτων από τον εξυπηρετητή..." + +-#: nntp/nntp.c:2106 nntp/nntp.c:2198 ++#: nntp/nntp.c:2108 nntp/nntp.c:2200 + #, fuzzy + msgid "Loading descriptions..." + msgstr "Είσοδος στο σύστημα..." + +-#: nntp/nntp.c:2128 ++#: nntp/nntp.c:2130 + #, fuzzy + msgid "Checking for new newsgroups..." + msgstr "Έλεγχος για νέα μηνύματα..." + +-#: nntp/nntp.c:2332 ++#: nntp/nntp.c:2334 + msgid "Unable to find child articles because server does not support XPAT command" + msgstr "" + +-#: nntp/nntp.c:2437 ++#: nntp/nntp.c:2439 + #, fuzzy, c-format + msgid "%s is an invalid newsgroup specification" + msgstr "%s είναι μη έγκυρη POP διαδρομή" + +-#: nntp/nntp.c:2476 ++#: nntp/nntp.c:2478 + #, c-format + msgid "Newsgroup %s not found on the server" + msgstr "" + +-#: nntp/nntp.c:2498 ++#: nntp/nntp.c:2500 + #, c-format + msgid "Newsgroup %s has been removed from the server" + msgstr "" +@@ -5051,7 +5131,7 @@ msgstr "" + + #: notmuch/mutt_notmuch.c:219 notmuch/mutt_notmuch.c:1939 + #, c-format +-msgid "failed to parse notmuch uri: %s" ++msgid "failed to parse notmuch url: %s" + msgstr "" + + #: notmuch/mutt_notmuch.c:449 +@@ -6202,189 +6282,189 @@ msgstr "" + msgid "show S/MIME options" + msgstr "εμφάνιση των επιλογών S/MIME" + +-#: pager.c:222 ++#: pager.c:214 + msgid "Not available in this menu" + msgstr "Δεν είναι διαθέσιμο σε αυτό το μενού" + +-#: pager.c:229 ++#: pager.c:221 + msgid "PrevPg" + msgstr "ΠροηγΣελ" + +-#: pager.c:230 ++#: pager.c:222 + msgid "NextPg" + msgstr "ΕπόμΣελ" + +-#: pager.c:235 ++#: pager.c:227 + msgid "View Attachm." + msgstr "ΌψηΠροσάρτ" + +-#: pager.c:238 pager.c:247 ++#: pager.c:230 pager.c:239 + msgid "Next" + msgstr "Επόμενο" + + #. L10N: Status bar message: the entire email is visible in the pager + #. L10N: Status bar message: all the emails are visible in the index +-#: pager.c:2180 status.c:278 ++#: pager.c:2136 status.c:278 + msgid "all" + msgstr "" + + #. L10N: Status bar message: the end of the email is visible in the pager + #. L10N: Status bar message: the end of the list emails is visible in the index +-#: pager.c:2182 status.c:276 ++#: pager.c:2138 status.c:276 + msgid "end" + msgstr "" + +-#: pager.c:2530 pager.c:2566 pager.c:2602 pager.c:2937 ++#: pager.c:2503 pager.c:2539 pager.c:2576 pager.c:2911 + msgid "Bottom of message is shown" + msgstr "Εμφανίζεται η βάση του μηνύματος" + +-#: pager.c:2543 pager.c:2573 pager.c:2580 pager.c:2590 ++#: pager.c:2516 pager.c:2546 pager.c:2553 pager.c:2564 + msgid "Top of message is shown" + msgstr "Εμφανίζεται η αρχή του μηνύματος" + +-#: pager.c:2840 ++#: pager.c:2814 + msgid "Help is currently being shown" + msgstr "Η βοήθεια ήδη εμφανίζεται" + +-#: pager.c:2897 ++#: pager.c:2871 + msgid "No more quoted text" + msgstr "Όχι άλλο καθορισμένο κείμενο" + +-#: pager.c:2914 ++#: pager.c:2888 + msgid "No more unquoted text after quoted text" + msgstr "Όχι άλλο μη καθορισμένο κείμενο μετά από καθορισμένο" + +-#: pattern.c:220 pattern.c:297 pattern.c:1046 ++#: pattern.c:221 pattern.c:298 pattern.c:1085 + #, c-format + msgid "Error in expression: %s" + msgstr "Λάθος στην έκφραση: %s" + +-#: pattern.c:226 pattern.c:302 pattern.c:1052 ++#: pattern.c:227 pattern.c:303 pattern.c:1091 + #, fuzzy + msgid "Empty expression" + msgstr "σφάλμα στην έκφραση" + +-#: pattern.c:288 ++#: pattern.c:289 + #, fuzzy + msgid "No search command defined" + msgstr "Η εντολή ερωτήσεως δεν καθορίστηκε" + +-#: pattern.c:326 ++#: pattern.c:327 + #, fuzzy, c-format + msgid "Running search command: %s ..." + msgstr "Κλήση της εντολής autoview: %s" + +-#: pattern.c:417 ++#: pattern.c:441 pattern.c:456 + #, c-format + msgid "Invalid day of month: %s" + msgstr "Μη έγκυρη μέρα του μήνα: %s" + +-#: pattern.c:431 ++#: pattern.c:446 pattern.c:470 + #, c-format + msgid "Invalid month: %s" + msgstr "Μη έγκυρος μήνας: %s" + +-#: pattern.c:534 ++#: pattern.c:573 + #, c-format + msgid "Invalid relative date: %s" + msgstr "Μη έγκυρος αναφορικώς μήνας: %s" + +-#: pattern.c:842 pattern.c:975 ++#: pattern.c:881 pattern.c:1014 + #, fuzzy + msgid "No current message" + msgstr "Δεν υπάρχουν μη αναγνωσμένα μηνύματα" + +-#: pattern.c:1002 ++#: pattern.c:1041 + msgid "No Context" + msgstr "" + +-#: pattern.c:1125 ++#: pattern.c:1164 + #, fuzzy + msgid "Error opening 'memory stream'" + msgstr "Σφάλμα κατά το άνοιγμα του γραμματοκιβωτίου" + +-#: pattern.c:1171 ++#: pattern.c:1210 + #, fuzzy + msgid "Error re-opening 'memory stream'" + msgstr "Σφάλμα κατά το άνοιγμα του γραμματοκιβωτίου" + +-#: pattern.c:1180 ++#: pattern.c:1219 + #, fuzzy + msgid "Error opening /dev/null" + msgstr "Αδυναμία ανοίγματος /dev/null" + +-#: pattern.c:1443 pattern.c:1620 ++#: pattern.c:1482 pattern.c:1662 + #, c-format + msgid "error in pattern at: %s" + msgstr "σφάλμα στο μοντέλο στο: %s" + +-#: pattern.c:1476 ++#: pattern.c:1515 + #, fuzzy, c-format + msgid "missing pattern: %s" + msgstr "έλλειψη παραμέτρου" + +-#: pattern.c:1494 pattern.c:1593 ++#: pattern.c:1533 pattern.c:1635 + #, c-format + msgid "mismatched parentheses: %s" + msgstr "αταίριαστη παρένθεση/εις: %s" + +-#: pattern.c:1559 ++#: pattern.c:1598 + #, fuzzy, c-format + msgid "%c: invalid pattern modifier" + msgstr "%c: μη έγκυρη εντολή" + +-#: pattern.c:1564 ++#: pattern.c:1603 + #, c-format + msgid "%c: not supported in this mode" + msgstr "Το %c: δεν υποστηρίζεται σε αυτή την κατάσταση" + +-#: pattern.c:1576 ++#: pattern.c:1618 + msgid "missing parameter" + msgstr "έλλειψη παραμέτρου" + +-#: pattern.c:1626 ++#: pattern.c:1668 + msgid "empty pattern" + msgstr "άδειο μοντέλο/μορφή" + +-#: pattern.c:2080 pattern.c:2083 ++#: pattern.c:2202 pattern.c:2205 + msgid "error: server custom search only supported with IMAP" + msgstr "" + +-#: pattern.c:2274 ++#: pattern.c:2398 + #, c-format + msgid "error: unknown op %d (report this error)" + msgstr "λάθος: άγνωστη διεργασία %d (ανέφερε αυτό το σφάλμα)" + +-#: pattern.c:2448 pattern.c:2604 ++#: pattern.c:2572 pattern.c:2728 + msgid "Compiling search pattern..." + msgstr "Σύνταξη μοντέλου αναζήτησης..." + +-#: pattern.c:2468 ++#: pattern.c:2592 + msgid "Executing command on matching messages..." + msgstr "Εκτέλεση εντολής στα παρόμοια μηνύματα..." + +-#: pattern.c:2537 ++#: pattern.c:2661 + msgid "No messages matched criteria" + msgstr "Κανένα μήνυμα δεν ταιριάζει στα κριτήρια" + +-#: pattern.c:2641 ++#: pattern.c:2765 + #, fuzzy + msgid "Searching..." + msgstr "Αποθήκευση..." + +-#: pattern.c:2655 ++#: pattern.c:2779 + msgid "Search hit bottom without finding match" + msgstr "Η αναζήτηση έφθασε στο τέλος χωρίς να βρει όμοιο" + +-#: pattern.c:2666 ++#: pattern.c:2790 + msgid "Search hit top without finding match" + msgstr "Η αναζήτηση έφθασε στην αρχή χωρίς να βρει όμοιο" + +-#: pattern.c:2700 ++#: pattern.c:2824 + msgid "Search interrupted" + msgstr "Η αναζήτηση διακόπηκε" + +-#: pop/pop.c:216 pop/pop_lib.c:234 ++#: pop/pop.c:216 pop/pop_lib.c:259 + msgid "Command TOP is not supported by server" + msgstr "Η εντολή TOP δεν υποστηρίζετε από το διακομιστή" + +@@ -6392,7 +6472,7 @@ msgstr "Η εντολή TOP δεν υποστηρίζετε από το διακ + msgid "Can't write header to temporary file" + msgstr "Αδυναμία εγγραφής επικεφαλίδας στο προσωρινό αρχείο" + +-#: pop/pop.c:420 pop/pop_lib.c:236 ++#: pop/pop.c:420 pop/pop_lib.c:261 + msgid "Command UIDL is not supported by server" + msgstr "Η εντολή UIDL δεν υποστηρίζετε από το διακομιστή" + +@@ -6407,7 +6487,7 @@ msgstr[1] "Ο δείκτης του μηνύματος είναι άκυρος. + msgid "POP host is not defined" + msgstr "Ο POP host δεν καθορίστηκε" + +-#: pop/pop.c:596 pop/pop.c:825 ++#: pop/pop.c:596 pop/pop.c:790 pop/pop.c:820 + #, c-format + msgid "%s is an invalid POP path" + msgstr "%s είναι μη έγκυρη POP διαδρομή" +@@ -6440,155 +6520,155 @@ msgid_plural "%s [%d of %d messages read]" + msgstr[0] "%s [%d από %d μηνύματα διαβάστηκαν]" + msgstr[1] "%s [%d από %d μηνύματα διαβάστηκαν]" + +-#: pop/pop.c:876 ++#: pop/pop.c:871 + msgid "Fetching list of messages..." + msgstr "Λήψη λίστας μηνυμάτων..." + +-#: pop/pop.c:959 ++#: pop/pop.c:954 + #, fuzzy + msgid "Marking messages deleted..." + msgstr "Σημείωση %d διαγραφέντων μηνυμάτων..." + +-#: pop/pop.c:1150 ++#: pop/pop.c:1145 + msgid "Can't write message to temporary file" + msgstr "Αδυναμία εγγραφής μηνύματος στο προσωρινό αρχείο" + +-#: pop/pop_auth.c:103 ++#: pop/pop_auth.c:104 + msgid "Authenticating (SASL)..." + msgstr "Αυθεντικοποίηση (SASL)..." + +-#: pop/pop_auth.c:245 ++#: pop/pop_auth.c:246 + msgid "POP timestamp is invalid" + msgstr "" + +-#: pop/pop_auth.c:249 ++#: pop/pop_auth.c:250 + msgid "Authenticating (APOP)..." + msgstr "Αυθεντικοποίηση (APOP)..." + +-#: pop/pop_auth.c:269 ++#: pop/pop_auth.c:270 + msgid "APOP authentication failed" + msgstr "Αυθεντικοποίηση APOP απέτυχε" + +-#: pop/pop_auth.c:309 ++#: pop/pop_auth.c:310 + msgid "Command USER is not supported by server" + msgstr "Η εντολή USER δεν υποστηρίζετε από το διακομιστή" + +-#: pop/pop_auth.c:386 ++#: pop/pop_auth.c:387 + #, fuzzy + msgid "Authentication failed" + msgstr "Αυθεντικοποίηση SASL απέτυχε" + +-#: pop/pop_lib.c:78 ++#: pop/pop_lib.c:103 + #, fuzzy, c-format + msgid "Invalid POP URL: %s" + msgstr "Μη έγκυρο " + +-#: pop/pop_lib.c:232 ++#: pop/pop_lib.c:257 + msgid "Unable to leave messages on server" + msgstr "Αδυναμία άφεσης των μηνυμάτων στον εξυπηρετητή" + +-#: pop/pop_lib.c:274 ++#: pop/pop_lib.c:300 + #, c-format + msgid "Error connecting to server: %s" + msgstr "Σφάλμα κατα τη σύνδεση στο διακομιστή: %s" + +-#: pop/pop_lib.c:414 ++#: pop/pop_lib.c:440 + msgid "Closing connection to POP server..." + msgstr "Κλείσιμο σύνδεσης στον εξυπηρετητή IMAP..." + +-#: pop/pop_lib.c:605 ++#: pop/pop_lib.c:631 + msgid "Verifying message indexes..." + msgstr "Επιβεβαίωση των ευρετηρίων μηνυμάτων..." + +-#: pop/pop_lib.c:628 ++#: pop/pop_lib.c:654 + msgid "Connection lost. Reconnect to POP server?" + msgstr "Απώλεια σύνδεσης. Επανασύνδεση στο διακομιστή POP;" + +-#: postpone.c:229 ++#: postpone.c:260 + msgid "Postponed Messages" + msgstr "Αναβληθέντα Μηνύματα" + +-#: postpone.c:314 postpone.c:326 ++#: postpone.c:348 postpone.c:372 + msgid "No postponed messages" + msgstr "Δεν υπάρχουν αναβληθέντα μηνύματα" + +-#: postpone.c:480 ++#: postpone.c:526 + msgid "Illegal S/MIME header" + msgstr "Ακατάλληλη επικεφαλίδα S/MIME" + +-#: postpone.c:510 postpone.c:551 postpone.c:560 ++#: postpone.c:556 postpone.c:597 postpone.c:606 + #, fuzzy + msgid "Illegal crypto header" + msgstr "Ακατάλληλη επικεφαλίδα PGP" + +-#: postpone.c:644 postpone.c:752 postpone.c:780 ++#: postpone.c:690 postpone.c:798 postpone.c:826 + msgid "Decrypting message..." + msgstr "Αποκρυπτογράφηση μηνύματος..." + +-#: query.c:82 ++#: query.c:80 + msgid "New Query" + msgstr "Νέα Ερώτηση" + +-#: query.c:83 ++#: query.c:81 + msgid "Make Alias" + msgstr "Δημιουργία Ψευδώνυμου" + +-#: query.c:180 ++#: query.c:178 + msgid "Waiting for response..." + msgstr "Αναμονή απάντησης..." + +-#: query.c:362 query.c:400 ++#: query.c:365 query.c:434 + msgid "Query: " + msgstr "Ερώτηση: " + +-#: query.c:370 query.c:407 ++#: query.c:374 query.c:442 + #, c-format + msgid "Query '%s'" + msgstr "Ερώτηση '%s'" + +-#: query.c:620 query.c:657 ++#: query.c:661 query.c:698 + msgid "Query command not defined" + msgstr "Η εντολή ερωτήσεως δεν καθορίστηκε" + +-#: recvattach.c:93 ++#: recvattach.c:91 + msgid "Pipe" + msgstr "Διοχέτευση" + +-#: recvattach.c:94 ++#: recvattach.c:92 + msgid "Print" + msgstr "Εκτύπωση" + +-#: recvattach.c:569 ++#: recvattach.c:571 + msgid "Saving..." + msgstr "Αποθήκευση..." + +-#: recvattach.c:573 recvattach.c:744 recvattach.c:748 ++#: recvattach.c:575 recvattach.c:746 recvattach.c:750 + #, fuzzy, c-format + msgid "Attachment saved" + msgid_plural "%d attachments saved" + msgstr[0] "Η προσάρτηση αποθηκεύθηκε" + msgstr[1] "Η προσάρτηση αποθηκεύθηκε" + +-#: recvattach.c:772 ++#: recvattach.c:774 + #, c-format + msgid "WARNING! You are about to overwrite %s, continue?" + msgstr "ΠΡΟΕΙΔΟΠΟΙΗΣΗ! Πρόκειται να γράψεις πάνω από το %s, συνέχεια;" + +-#: recvattach.c:790 ++#: recvattach.c:792 + msgid "Attachment filtered" + msgstr "Η προσάρτηση έχει φιλτραριστεί" + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Filter through: " + msgstr "Φιλτράρισμα μέσω: " + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Pipe to: " + msgstr "Διοχέτευση στο: " + + #. L10N: s gets replaced by a MIME type, e.g. "text/plain" or + #. application/octet-stream. +-#: recvattach.c:935 ++#: recvattach.c:937 + #, fuzzy, c-format + msgid "I don't know how to print %s attachments" + msgstr "Δεν ξέρω πως να τυπώσω τις %s προσαρτήσεις" +@@ -6596,57 +6676,57 @@ msgstr "Δεν ξέρω πως να τυπώσω τις %s προσαρτήσε + #. L10N: Although we now the precise number of tagged messages, we + #. do not show it to the user. So feel free to use a "generic + #. plural" as plural translation if your language has one. +-#: recvattach.c:1038 ++#: recvattach.c:1040 + #, fuzzy, c-format + msgid "Print tagged attachment?" + msgid_plural "Print %d tagged attachments?" + msgstr[0] "Εκτύπωση σημειωμένου/ων προσάρτησης/σεων;" + msgstr[1] "Εκτύπωση σημειωμένου/ων προσάρτησης/σεων;" + +-#: recvattach.c:1039 ++#: recvattach.c:1041 + #, c-format + msgid "Print attachment?" + msgstr "Εκτύπωση προσαρτήσεων;" + +-#: recvattach.c:1123 ++#: recvattach.c:1125 + msgid "Structural changes to decrypted attachments are not supported" + msgstr "" + +-#: recvattach.c:1291 ++#: recvattach.c:1293 + msgid "Can't decrypt encrypted message" + msgstr "Αδυναμία αποκρυπτογράφησης του κρυπτογραφημένου μηνύματος" + +-#: recvattach.c:1425 ++#: recvattach.c:1457 + msgid "Attachments" + msgstr "Προσαρτήσεις" + +-#: recvattach.c:1465 ++#: recvattach.c:1497 + msgid "There are no subparts to show" + msgstr "Δεν υπάρχουν επιμέρους τμήματα για να εμφανιστούν." + +-#: recvattach.c:1520 ++#: recvattach.c:1552 + msgid "Can't delete attachment from POP server" + msgstr "Αδυναμία διαγραφής προσάρτησης από τον εξυπηρετητή POP" + +-#: recvattach.c:1529 ++#: recvattach.c:1561 + #, fuzzy + msgid "Can't delete attachment from news server" + msgstr "Αδυναμία διαγραφής προσάρτησης από τον εξυπηρετητή POP" + +-#: recvattach.c:1536 ++#: recvattach.c:1568 + msgid "Deletion of attachments from encrypted messages is unsupported" + msgstr "Η διαγραφή προσαρτήσεων από κρυπτογραφημένα μηνύματα δεν υποστηρίζεται" + +-#: recvattach.c:1542 ++#: recvattach.c:1574 + #, fuzzy + msgid "Deletion of attachments from signed messages may invalidate the signature" + msgstr "Η διαγραφή προσαρτήσεων από κρυπτογραφημένα μηνύματα δεν υποστηρίζεται" + +-#: recvattach.c:1561 recvattach.c:1578 ++#: recvattach.c:1593 recvattach.c:1610 + msgid "Only deletion of multipart attachments is supported" + msgstr "Μόνο η διαγραφή πολυμερών προσαρτήσεων υποστηρίζεται" + +-#: recvcmd.c:79 ++#: recvcmd.c:78 + msgid "You may only bounce message/rfc822 parts" + msgstr "Μπορείτε να διαβιβάσετε μόνο μήνυμα/μέρη rfc822" + +@@ -6683,7 +6763,7 @@ msgstr "Αδυναμία δημιουργίας του %s" + msgid "Can't find any tagged messages" + msgstr "Αδυναμία εύρεσης σημειωμένων μηνυμάτων" + +-#: recvcmd.c:848 send.c:1073 ++#: recvcmd.c:848 send.c:1072 + msgid "No mailing lists found" + msgstr "Δεν βρέθηκαν λίστες συζητήσεων" + +@@ -6698,67 +6778,67 @@ msgstr "Αδυναμία αποκωδικοποίησης όλων των σημ + msgid "You may only compose to sender with message/rfc822 parts" + msgstr "Μπορείτε να διαβιβάσετε μόνο μήνυμα/μέρη rfc822" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Append" + msgstr "Πρόσθεση" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Insert" + msgstr "Είσοδος" + +-#: remailer.c:78 ++#: remailer.c:76 + msgid "OK" + msgstr "OK" + +-#: remailer.c:210 ++#: remailer.c:207 + msgid "" + msgstr "" + +-#: remailer.c:586 ++#: remailer.c:617 + msgid "Can't get mixmaster's type2.list" + msgstr "Αδυναμία λήψης της type2.list του mixmaster" + +-#: remailer.c:612 ++#: remailer.c:673 + msgid "Select a remailer chain" + msgstr "Επιλογή μιας αλυσίδας επαναποστολέων" + +-#: remailer.c:674 ++#: remailer.c:735 + #, c-format + msgid "Error: %s can't be used as the final remailer of a chain" + msgstr "Σφάλμα: το %s δεν μπορεί να είναι ο τελικός επαναποστολέας της αλυσίδας" + + #. L10N The '%d' here hard-coded to 19 +-#: remailer.c:706 ++#: remailer.c:767 + #, c-format + msgid "Mixmaster chains are limited to %d elements" + msgstr "Οι αλυσίδες Mixmaster είναι περιορισμένες σε %d στοιχεία" + +-#: remailer.c:729 ++#: remailer.c:790 + msgid "The remailer chain is already empty" + msgstr "Η αλυσίδα επαναποστολέων είναι ήδη άδεια" + +-#: remailer.c:739 ++#: remailer.c:800 + msgid "You already have the first chain element selected" + msgstr "Έχετε ήδη επιλέξει το πρώτο στοιχείο της αλυσίδας" + +-#: remailer.c:749 ++#: remailer.c:810 + msgid "You already have the last chain element selected" + msgstr "Έχετε ήδη επιλέξει το τελευταίο στοιχείο της αλυσίδας" + +-#: remailer.c:792 ++#: remailer.c:856 + msgid "Mixmaster doesn't accept Cc or Bcc headers" + msgstr "Ο Mixmaster δεν δέχεται Cc ή Bcc επικεφαλίδες" + +-#: remailer.c:817 ++#: remailer.c:881 + msgid "Please set the hostname variable to a proper value when using mixmaster" + msgstr "Παρακαλώ ορίστε σωστά την μεταβλητή του ονόματος του συστήματος όταν χρησιμοποιείτε το mixmaster" + +-#: remailer.c:860 ++#: remailer.c:924 + #, c-format + msgid "Error sending message, child exited %d.\n" + msgstr "Σφάλμα στην αποστολή μηνύματος, τερματισμός θυγατρικής με %d.\n" + +-#: remailer.c:864 ++#: remailer.c:928 + msgid "Error sending message" + msgstr "Σφάλμα κατά την αποστολή του μηνύματος" + +@@ -6789,42 +6869,42 @@ msgstr "Προώθηση σαν προσαρτήσεις;" + + #. L10N: Asks whether the user respects the reply-to header. + #. If she says no, neomutt will reply to the from header's address instead. +-#: send.c:793 ++#: send.c:792 + #, c-format + msgid "Reply to %s%s?" + msgstr "Απάντηση στο %s%s;" + +-#: send.c:838 ++#: send.c:837 + #, c-format + msgid "Follow-up to %s%s?" + msgstr "Συνέχεια στο %s%s;" + +-#: send.c:1122 ++#: send.c:1121 + msgid "Include message in reply?" + msgstr "Συμπερίληψη του μηνύματος στην απάντηση;" + +-#: send.c:1128 ++#: send.c:1127 + msgid "Including quoted message..." + msgstr "Συμπερίληψη καθορισμένου μηνύματος..." + +-#: send.c:1137 ++#: send.c:1136 + msgid "Could not include all requested messages" + msgstr "Αδυναμία συμπερίληψης όλων των μηνυμάτων που ζητήθηκαν" + +-#: send.c:1148 ++#: send.c:1147 + msgid "Forward as attachment?" + msgstr "Προώθηση σαν προσάρτηση;" + +-#: send.c:1153 ++#: send.c:1152 + msgid "Preparing forwarded message..." + msgstr "Ετοιμασία προωθημένου μηνύματος ..." + +-#: send.c:1632 ++#: send.c:1631 + #, fuzzy + msgid "Fcc to an IMAP mailbox is not supported in batch mode" + msgstr "Το %c: δεν υποστηρίζεται σε αυτή την κατάσταση" + +-#: send.c:1664 send.c:1690 ++#: send.c:1665 send.c:1675 send.c:1701 + #, fuzzy + msgid "Save attachments in Fcc?" + msgstr "παρουσίαση της προσάρτησης ως κείμενο" +@@ -6833,196 +6913,196 @@ msgstr "παρουσίαση της προσάρτησης ως κείμενο" + #. (r)etry tries the same mailbox again. + #. alternate (m)ailbox prompts for a different mailbox to try. + #. (s)kip aborts saving. +-#: send.c:1712 ++#: send.c:1723 + msgid "Fcc failed. (r)etry, alternate (m)ailbox, or (s)kip?" + msgstr "" + + #. L10N: These correspond to the "Fcc failed" multi-choice prompt + #. (r)etry, alternate (m)ailbox, or (s)kip. + #. Any similarity to famous leaders of the FSF is coincidental. +-#: send.c:1716 ++#: send.c:1727 + msgid "rms" + msgstr "" + + #. L10N: This is the prompt to enter an "alternate (m)ailbox" when the + #. initial Fcc fails. +-#: send.c:1722 ++#: send.c:1733 + #, fuzzy + msgid "Fcc mailbox" + msgstr "Κανένα γραμματοκιβώτιο.\n" + +-#: send.c:1788 ++#: send.c:1799 + msgid "Can't postpone. $postponed is unset" + msgstr "" + +-#: send.c:1923 ++#: send.c:1934 + msgid "Recall postponed message?" + msgstr "Ανάκληση αναβληθέντος μηνύματος;" + +-#: send.c:2228 ++#: send.c:2239 + msgid "Edit forwarded message?" + msgstr "Επεξεργασία προωθημένου μηνύματος;" + +-#: send.c:2266 ++#: send.c:2277 + msgid "Abort unmodified message?" + msgstr "Ματαίωση αποστολής μη τροποποιημένου μηνύματος;" + +-#: send.c:2268 ++#: send.c:2279 + msgid "Aborted unmodified message" + msgstr "Ματαίωση αποστολής μη τροποποιημένου μηνύματος" + +-#: send.c:2388 ++#: send.c:2399 + msgid "No crypto backend configured. Disabling message security setting." + msgstr "" + +-#: send.c:2427 ++#: send.c:2438 + #, fuzzy + msgid "Article not posted" + msgstr "Το γράμμα δεν εστάλη" + +-#: send.c:2437 ++#: send.c:2448 + msgid "Message postponed" + msgstr "Το μήνυμα ανεβλήθη" + +-#: send.c:2470 ++#: send.c:2481 + msgid "No subject, abort sending?" + msgstr "Δεν υπάρχει θέμα, ακύρωση αποστολής;" + +-#: send.c:2474 send.c:2480 ++#: send.c:2485 send.c:2491 + msgid "No subject specified" + msgstr "Δεν καθορίστηκε θέμα" + +-#: send.c:2486 ++#: send.c:2497 + #, fuzzy + msgid "No newsgroup specified" + msgstr "Δεν καθορίστηκε θέμα" + +-#: send.c:2496 ++#: send.c:2507 + #, fuzzy + msgid "No attachments, cancel sending?" + msgstr "επεξεργασία της κωδικοποίησης-μεταφοράς της προσάρτησης" + +-#: send.c:2501 ++#: send.c:2512 + msgid "Message contains text matching \"$abort_noattach_regex\". Not sending." + msgstr "" + +-#: send.c:2559 smtp.c:227 ++#: send.c:2570 smtp.c:230 + msgid "Sending message..." + msgstr "Αποστολή μηνύματος..." + +-#: send.c:2598 ++#: send.c:2609 + msgid "Could not send the message" + msgstr "Αδυναμία αποστολής του μηνύματος" + +-#: send.c:2608 ++#: send.c:2619 + msgid "Sending in background" + msgstr "Αποστολή στο παρασκήνιο" + +-#: send.c:2609 ++#: send.c:2620 + msgid "Article posted" + msgstr "" + +-#: send.c:2610 ++#: send.c:2621 + msgid "Mail sent" + msgstr "Το γράμμα εστάλη" + +-#: sendlib.c:567 ++#: sendlib.c:566 + msgid "No boundary parameter found [report this error]" + msgstr "Δε βρέθηκε παράμετρος οριοθέτησης [αναφέρατε αυτό το σφάλμα]" + +-#: sendlib.c:598 ++#: sendlib.c:597 + #, c-format + msgid "%s no longer exists" + msgstr "Το %s δεν υπάρχει πια" + +-#: sendlib.c:1056 ++#: sendlib.c:1055 + #, c-format + msgid "%s isn't a regular file" + msgstr "Το %s δεν είναι κανονικό αρχείο" + +-#: sendlib.c:1223 ++#: sendlib.c:1222 + #, fuzzy + msgid "Could not find any mime.types file." + msgstr "Αδυναμία αποστολής του μηνύματος." + +-#: sendlib.c:1314 ++#: sendlib.c:1313 + #, c-format + msgid "Could not open %s" + msgstr "Αδυναμία ανοίγματος του %s" + +-#: sendlib.c:2864 ++#: sendlib.c:2855 + msgid "$sendmail must be set in order to send mail" + msgstr "" + +-#: sendlib.c:2971 ++#: sendlib.c:2962 + #, c-format + msgid "Error sending message, child exited %d (%s)" + msgstr "Σφάλμα κατά την αποστολή μηνύματος, τερματισμός θυγατρικής με %d (%s)" + +-#: sendlib.c:2977 ++#: sendlib.c:2969 + msgid "Output of the delivery process" + msgstr "Έξοδος της διεργασίας αποστολής" + +-#: sendlib.c:3157 ++#: sendlib.c:3154 + #, c-format + msgid "Bad IDN %s while preparing resent-from" + msgstr "Λανθασμένη διεθνής διεύθυνση IDN %s κατά την δημιουργία του πεδίου Επαναποστολή-Από" + +-#: smtp.c:165 ++#: smtp.c:168 + #, fuzzy, c-format + msgid "SMTP session failed: %s" + msgstr "SSL απέτυχε: %s" + +-#: smtp.c:222 ++#: smtp.c:225 + #, fuzzy, c-format + msgid "SMTP session failed: unable to open %s" + msgstr "SSL απέτυχε: %s" + +-#: smtp.c:339 ++#: smtp.c:364 + #, fuzzy, c-format + msgid "Invalid SMTP URL: %s" + msgstr "Μη έγκυρο " + +-#: smtp.c:618 ++#: smtp.c:643 + #, c-format + msgid "SMTP authentication method %s requires SASL" + msgstr "" + +-#: smtp.c:625 ++#: smtp.c:650 + #, fuzzy, c-format + msgid "%s authentication failed, trying next method" + msgstr "Αυθεντικοποίηση SASL απέτυχε." + +-#: smtp.c:636 ++#: smtp.c:661 + #, fuzzy + msgid "SMTP authentication requires SASL" + msgstr "Αυθεντικοποίηση GSSAPI απέτυχε" + +-#: smtp.c:717 ++#: smtp.c:742 + msgid "SMTP server does not support authentication" + msgstr "" + +-#: smtp.c:756 ++#: smtp.c:781 + msgid "No from address given" + msgstr "" + +-#: smtp.c:821 ++#: smtp.c:846 + msgid "SMTP session failed: read error" + msgstr "" + +-#: smtp.c:823 ++#: smtp.c:848 + msgid "SMTP session failed: write error" + msgstr "" + +-#: smtp.c:825 ++#: smtp.c:850 + msgid "Invalid server response" + msgstr "" + +-#: sort.c:385 ++#: sort.c:387 + msgid "Sorting mailbox..." + msgstr "Τακτοποίηση γραμματοκιβωτίου..." + +-#: sort.c:427 ++#: sort.c:429 + msgid "Could not find sorting function [report this bug]" + msgstr "Αδυναμία εύρεσης της λειτουργίας ταξινόμησης [αναφέρατε αυτό το σφάλμα]" + +@@ -7074,11 +7154,11 @@ msgstr "" + "Το NeoMutt είναι ελεύθερο λογισμικό, και ευχαρίστως μπορείτε να το επαναδιανέμετε\n" + "υπό ορισμένους όρους; γράψτε 'neomutt -vv' για λεπτομέρειες.\n" + +-#: version.c:446 ++#: version.c:451 + #, fuzzy + msgid "Default options:" + msgstr "Παράμετροι μεταγλώττισης:" + +-#: version.c:449 ++#: version.c:454 + msgid "Compile options:" + msgstr "Παράμετροι μεταγλώττισης:" +diff --git a/po/en_GB.po b/po/en_GB.po +index 72104eec2..2f0c61211 100644 +--- a/po/en_GB.po ++++ b/po/en_GB.po +@@ -9,7 +9,7 @@ msgid "" + msgstr "" + "Project-Id-Version: neomutt-2019-12-07\n" + "Report-Msgid-Bugs-To: neomutt-devel@neomutt.org\n" +-"POT-Creation-Date: 2019-12-06 23:10+0000\n" ++"POT-Creation-Date: 2020-03-09 12:15+0000\n" + "PO-Revision-Date: 2017-04-17 17:06+0100\n" + "Last-Translator: Richard Russon \n" + "Language-Team: none\n" +@@ -19,16 +19,40 @@ msgstr "" + "Content-Transfer-Encoding: 8bit\n" + "Plural-Forms: nplurals=2; plural=(n != 1);\n" + +-#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:59 browser.c:80 browser.c:90 +-#: mutt_history.c:45 pager.c:228 postpone.c:68 query.c:80 recvattach.c:93 ++msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" ++msgstr "(r)eject, accept (o)nce, (a)ccept always, (s)kip" ++ ++msgid "roas" ++msgstr "roas" ++ ++msgid "(r)eject, accept (o)nce, (a)ccept always" ++msgstr "(r)eject, accept (o)nce, (a)ccept always" ++ ++msgid "roa" ++msgstr "roa" ++ ++msgid "(r)eject, accept (o)nce, (s)kip" ++msgstr "(r)eject, accept (o)nce, (s)kip" ++ ++msgid "ros" ++msgstr "ros" ++ ++msgid "(r)eject, accept (o)nce" ++msgstr "(r)eject, accept (o)nce" ++ ++msgid "ro" ++msgstr "ro" ++ ++#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:58 browser.c:79 browser.c:89 ++#: mutt_history.c:45 pager.c:220 postpone.c:68 query.c:78 recvattach.c:91 + msgid "Exit" + msgstr "Exit" + +-#: addrbook.c:56 index.c:116 index.c:129 pager.c:236 pager.c:246 postpone.c:69 ++#: addrbook.c:56 index.c:112 index.c:125 pager.c:228 pager.c:238 postpone.c:69 + msgid "Del" + msgstr "Del" + +-#: addrbook.c:57 index.c:117 index.c:130 postpone.c:70 ++#: addrbook.c:57 index.c:113 index.c:126 postpone.c:70 + msgid "Undel" + msgstr "Undel" + +@@ -36,18 +60,18 @@ msgstr "Undel" + msgid "Select" + msgstr "Select" + +-#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:82 browser.c:84 browser.c:96 +-#: compose.c:218 compose.c:230 conn/ssl.c:983 conn/ssl_gnutls.c:691 index.c:122 +-#: index.c:135 mutt_history.c:48 ncrypt/crypt_gpgme.c:4735 ncrypt/pgpkey.c:670 +-#: ncrypt/smime.c:553 pager.c:2326 postpone.c:71 query.c:85 recvattach.c:94 ++#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:81 browser.c:83 browser.c:95 ++#: compose.c:216 compose.c:228 conn/ssl.c:996 conn/ssl_gnutls.c:722 index.c:118 ++#: index.c:131 mutt_history.c:48 ncrypt/crypt_gpgme.c:4783 ncrypt/pgpkey.c:673 ++#: ncrypt/smime.c:555 pager.c:2297 postpone.c:71 query.c:83 recvattach.c:92 + msgid "Help" + msgstr "Help" + +-#: addrbook.c:208 ++#: addrbook.c:238 + msgid "You have no aliases" + msgstr "You have no aliases" + +-#: addrbook.c:215 ++#: addrbook.c:276 + msgid "Aliases" + msgstr "Aliases" + +@@ -56,51 +80,51 @@ msgstr "Aliases" + msgid "Alias as: " + msgstr "Alias as: " + +-#: alias.c:411 ++#: alias.c:414 + msgid "You already have an alias defined with that name" + msgstr "You already have an alias defined with that name" + +-#: alias.c:417 ++#: alias.c:420 + msgid "Warning: This alias name may not work. Fix it?" + msgstr "Warning: This alias name may not work. Fix it?" + +-#: alias.c:442 ++#: alias.c:445 + msgid "Address: " + msgstr "Address: " + +-#: alias.c:453 commands.c:444 compose.c:744 conn/conn_raw.c:152 +-#: conn/conn_raw.c:210 recvcmd.c:232 send.c:228 ++#: alias.c:457 commands.c:450 compose.c:743 conn/conn_raw.c:152 ++#: conn/conn_raw.c:210 recvcmd.c:231 send.c:227 + #, c-format + msgid "Bad IDN: '%s'" + msgstr "Bad IDN: '%s'" + +-#: alias.c:464 ++#: alias.c:468 + msgid "Personal name: " + msgstr "Personal name: " + +-#: alias.c:473 ++#: alias.c:477 + #, c-format + msgid "[%s = %s] Accept?" + msgstr "[%s = %s] Accept?" + +-#: alias.c:484 recvattach.c:528 recvattach.c:550 recvattach.c:564 +-#: recvattach.c:579 recvattach.c:678 ++#: alias.c:488 recvattach.c:530 recvattach.c:552 recvattach.c:566 ++#: recvattach.c:581 recvattach.c:680 + msgid "Save to file: " + msgstr "Save to file: " + +-#: alias.c:503 ++#: alias.c:507 + msgid "Error reading alias file" + msgstr "Error reading alias file" + +-#: alias.c:525 ++#: alias.c:529 + msgid "Trouble adding alias" + msgstr "Trouble adding alias" + +-#: alias.c:527 ++#: alias.c:531 + msgid "Alias added" + msgstr "Alias added" + +-#: alias.c:532 ++#: alias.c:536 + msgid "Error seeking in alias file" + msgstr "Error seeking in alias file" + +@@ -109,7 +133,7 @@ msgstr "Error seeking in alias file" + #. for some reason (e.g. autocrypt, header cache, bcache), but it + #. doesn't exist. The prompt is asking whether to create the directory + #. +-#: autocrypt/autocrypt.c:70 main.c:826 ++#: autocrypt/autocrypt.c:70 main.c:757 + #, c-format + msgid "%s does not exist. Create it?" + msgstr "%s does not exist. Create it?" +@@ -118,8 +142,8 @@ msgstr "%s does not exist. Create it?" + #. mkdir() on the directory %s failed. The second %s is the + #. error message returned by libc + #. +-#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:830 +-#: nntp/newsrc.c:1069 ++#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:761 ++#: nntp/newsrc.c:1098 + #, c-format + msgid "Can't create %s: %s" + msgstr "Can't create %s: %s" +@@ -129,7 +153,7 @@ msgstr "Can't create %s: %s" + #. create $autocrypt_dir and then prompt to create an autocrypt + #. account with this message. + #. +-#: autocrypt/autocrypt.c:156 ++#: autocrypt/autocrypt.c:163 + msgid "Create an initial autocrypt account?" + msgstr "Create an initial autocrypt account?" + +@@ -138,7 +162,7 @@ msgstr "Create an initial autocrypt account?" + #. autocrypt account. This will generate a key and add a record + #. to the database for use in autocrypt operations. + #. +-#: autocrypt/autocrypt.c:180 ++#: autocrypt/autocrypt.c:187 + msgid "Autocrypt account address: " + msgstr "Autocrypt account address: " + +@@ -147,7 +171,7 @@ msgstr "Autocrypt account address: " + #. a single address. This is shown if they entered something invalid, + #. nothing, or more than one address for some reason. + #. +-#: autocrypt/autocrypt.c:191 ++#: autocrypt/autocrypt.c:198 + msgid "Please enter a single email address" + msgstr "Please enter a single email address" + +@@ -156,7 +180,7 @@ msgstr "Please enter a single email address" + #. if there is already an account in the database with the email address + #. they just entered. + #. +-#: autocrypt/autocrypt.c:208 ++#: autocrypt/autocrypt.c:215 + msgid "That email address already has an autocrypt account" + msgstr "That email address already has an autocrypt account" + +@@ -168,14 +192,14 @@ msgstr "That email address already has an autocrypt account" + #. Otherwise the UI will show encryption is "available" but the user + #. will be required to enable encryption manually. + #. +-#: autocrypt/autocrypt.c:223 ++#: autocrypt/autocrypt.c:230 + msgid "Prefer encryption?" + msgstr "Prefer encryption?" + + #. L10N: + #. Message displayed after an autocrypt account is successfully created. + #. +-#: autocrypt/autocrypt.c:236 ++#: autocrypt/autocrypt.c:243 + msgid "Autocrypt account creation succeeded" + msgstr "Autocrypt account creation succeeded" + +@@ -183,7 +207,7 @@ msgstr "Autocrypt account creation succeeded" + #. Error message displayed if creating an autocrypt account failed + #. or was aborted by the user. + #. +-#: autocrypt/autocrypt.c:242 ++#: autocrypt/autocrypt.c:249 + msgid "Autocrypt account creation aborted" + msgstr "Autocrypt account creation aborted" + +@@ -192,7 +216,7 @@ msgstr "Autocrypt account creation aborted" + #. to use to encrypt, but it can't find a valid keyid for this address. + #. The message is printed and they are returned to the compose menu. + #. +-#: autocrypt/autocrypt.c:610 autocrypt/autocrypt.c:639 ++#: autocrypt/autocrypt.c:617 autocrypt/autocrypt.c:646 + #, c-format + msgid "No (valid) autocrypt key found for %s" + msgstr "No (valid) autocrypt key found for %s" +@@ -204,12 +228,12 @@ msgstr "No (valid) autocrypt key found for %s" + #. and used for encryption. + #. If this is answered yes, they will be prompted for a mailbox. + #. +-#: autocrypt/autocrypt.c:903 ++#: autocrypt/autocrypt.c:910 + msgid "Scan a mailbox for autocrypt headers?" + msgstr "Scan a mailbox for autocrypt headers?" + + #. L10N: The prompt for a mailbox to scan for Autocrypt: headers +-#: autocrypt/autocrypt.c:907 ++#: autocrypt/autocrypt.c:914 + msgid "Scan mailbox" + msgstr "Scan mailbox" + +@@ -220,21 +244,21 @@ msgstr "Scan mailbox" + #. for a mailbox. This is because this is a one-time operation + #. and I don't want them to accidentally ctrl-g and abort it. + #. +-#: autocrypt/autocrypt.c:927 ++#: autocrypt/autocrypt.c:934 + msgid "Scan another mailbox for autocrypt headers?" + msgstr "Scan another mailbox for autocrypt headers?" + + #. L10N: Autocrypt Account Menu Help line: + #. create new account + #. +-#: autocrypt/autocrypt_acct_menu.c:63 ++#: autocrypt/autocrypt_acct_menu.c:62 + msgid "Create" + msgstr "Create" + + #. L10N: Autocrypt Account Menu Help line: + #. delete account + #. +-#: autocrypt/autocrypt_acct_menu.c:67 remailer.c:77 ++#: autocrypt/autocrypt_acct_menu.c:66 remailer.c:75 + msgid "Delete" + msgstr "Delete" + +@@ -242,9 +266,9 @@ msgstr "Delete" + #. toggle an account active/inactive + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:74 ++#: autocrypt/autocrypt_acct_menu.c:73 + msgid "Tgl Active" + msgstr "Tgl Active" + +@@ -252,17 +276,17 @@ msgstr "Tgl Active" + #. toggle "prefer-encrypt" on an account + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:81 +-msgid "Prf Enc" +-msgstr "Prf Enc" ++#: autocrypt/autocrypt_acct_menu.c:80 ++msgid "Prf Encr" ++msgstr "Prf Encr" + + #. L10N: + #. Autocrypt Account menu. + #. flag that an account has prefer-encrypt set + #. +-#: autocrypt/autocrypt_acct_menu.c:123 ++#: autocrypt/autocrypt_acct_menu.c:122 + msgid "prefer encrypt" + msgstr "prefer encrypt" + +@@ -271,7 +295,7 @@ msgstr "prefer encrypt" + #. flag that an account has prefer-encrypt unset; + #. thus encryption will need to be manually enabled. + #. +-#: autocrypt/autocrypt_acct_menu.c:130 ++#: autocrypt/autocrypt_acct_menu.c:129 + msgid "manual encrypt" + msgstr "manual encrypt" + +@@ -279,7 +303,7 @@ msgstr "manual encrypt" + #. Autocrypt Account menu. + #. flag that an account is enabled/active + #. +-#: autocrypt/autocrypt_acct_menu.c:138 ++#: autocrypt/autocrypt_acct_menu.c:137 + msgid "active" + msgstr "active" + +@@ -287,12 +311,12 @@ msgstr "active" + #. Autocrypt Account menu. + #. flag that an account is disabled/inactive + #. +-#: autocrypt/autocrypt_acct_menu.c:144 ++#: autocrypt/autocrypt_acct_menu.c:143 + msgid "inactive" + msgstr "inactive" + + #. L10N: Autocrypt Account Management Menu title +-#: autocrypt/autocrypt_acct_menu.c:183 ++#: autocrypt/autocrypt_acct_menu.c:182 + msgid "Autocrypt Accounts" + msgstr "Autocrypt Accounts" + +@@ -300,12 +324,12 @@ msgstr "Autocrypt Accounts" + #. This error message is displayed if a database update of an + #. account record fails for some odd reason. + #. +-#: autocrypt/autocrypt_acct_menu.c:245 autocrypt/autocrypt_acct_menu.c:259 ++#: autocrypt/autocrypt_acct_menu.c:244 autocrypt/autocrypt_acct_menu.c:258 + msgid "Error updating account record" + msgstr "Error updating account record" + + #. L10N: Confirmation message when deleting an autocrypt account +-#: autocrypt/autocrypt_acct_menu.c:302 ++#: autocrypt/autocrypt_acct_menu.c:333 + #, c-format + msgid "Really delete account \"%s\"?" + msgstr "Really delete account \"%s\"?" +@@ -323,7 +347,7 @@ msgstr "Really delete account \"%s\"?" + msgid "Unable to open autocrypt database %s" + msgstr "Unable to open autocrypt database %s" + +-#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:774 ++#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:773 + #, c-format + msgid "error creating gpgme context: %s" + msgstr "error creating gpgme context: %s" +@@ -396,469 +420,581 @@ msgstr "Autocrypt database version is too new" + msgid "Message cache isn't a directory: %s" + msgstr "Message cache isn't a directory: %s" + +-#: browser.c:81 ++#: browser.c:80 + msgid "Chdir" + msgstr "Chdir" + +-#: browser.c:82 ++#: browser.c:81 + msgid "Goto" + msgstr "Goto" + +-#: browser.c:83 browser.c:95 ++#: browser.c:82 browser.c:94 + msgid "Mask" + msgstr "Mask" + +-#: browser.c:91 ++#: browser.c:90 + msgid "List" + msgstr "List" + +-#: browser.c:92 ++#: browser.c:91 + msgid "Subscribe" + msgstr "Subscribe" + +-#: browser.c:93 ++#: browser.c:92 + msgid "Unsubscribe" + msgstr "Unsubscribe" + +-#: browser.c:94 index.c:134 ++#: browser.c:93 index.c:130 + msgid "Catchup" + msgstr "Catchup" + +-#: browser.c:760 browser.c:1519 browser.c:1758 ++#: browser.c:763 browser.c:1584 browser.c:1825 + #, c-format + msgid "%s is not a directory" + msgstr "%s is not a directory" + +-#: browser.c:1025 ++#: browser.c:1028 + #, c-format + msgid "Subscribed newsgroups" + msgstr "Subscribed newsgroups" + +-#: browser.c:1028 ++#: browser.c:1031 + #, c-format + msgid "Newsgroups on server [%s]" + msgstr "Newsgroups on server [%s]" + +-#: browser.c:1038 ++#: browser.c:1041 + #, c-format + msgid "Mailboxes [%d]" + msgstr "Mailboxes [%d]" + +-#: browser.c:1050 ++#: browser.c:1053 + #, c-format + msgid "Subscribed [%s], File mask: %s" + msgstr "Subscribed [%s], File mask: %s" + +-#: browser.c:1056 ++#: browser.c:1059 + #, c-format + msgid "Directory [%s], File mask: %s" + msgstr "Directory [%s], File mask: %s" + +-#: browser.c:1113 ++#: browser.c:1116 + msgid "Can't attach a directory" + msgstr "Can't attach a directory" + +-#: browser.c:1380 browser.c:1814 browser.c:1959 ++#: browser.c:1445 browser.c:1881 browser.c:2026 + msgid "No files match the file mask" + msgstr "No files match the file mask" + +-#: browser.c:1587 ++#: browser.c:1654 + msgid "Create is only supported for IMAP mailboxes" + msgstr "Create is only supported for IMAP mailboxes" + +-#: browser.c:1609 ++#: browser.c:1676 + msgid "Rename is only supported for IMAP mailboxes" + msgstr "Rename is only supported for IMAP mailboxes" + +-#: browser.c:1630 ++#: browser.c:1697 + msgid "Delete is only supported for IMAP mailboxes" + msgstr "Delete is only supported for IMAP mailboxes" + +-#: browser.c:1642 ++#: browser.c:1709 + msgid "Can't delete currently selected mailbox" + msgstr "Can't delete currently selected mailbox" + +-#: browser.c:1646 ++#: browser.c:1713 + #, c-format + msgid "Really delete mailbox \"%s\"?" + msgstr "Really delete mailbox \"%s\"?" + +-#: browser.c:1663 ++#: browser.c:1730 + msgid "Mailbox deleted" + msgstr "Mailbox deleted" + +-#: browser.c:1667 ++#: browser.c:1734 + msgid "Mailbox deletion failed" + msgstr "Mailbox deletion failed" + +-#: browser.c:1670 ++#: browser.c:1737 + msgid "Mailbox not deleted" + msgstr "Mailbox not deleted" + +-#: browser.c:1697 ++#: browser.c:1764 + msgid "Chdir to: " + msgstr "Chdir to: " + +-#: browser.c:1747 browser.c:1808 ++#: browser.c:1814 browser.c:1875 + msgid "Error scanning directory" + msgstr "Error scanning directory" + +-#: browser.c:1769 ++#: browser.c:1836 + msgid "File Mask: " + msgstr "File Mask: " + + #. L10N: The highlighted letters must match the "Sort" options +-#: browser.c:1831 ++#: browser.c:1898 + msgid "Reverse sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "Reverse sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + + #. L10N: The highlighted letters must match the "Reverse Sort" options +-#: browser.c:1834 ++#: browser.c:1901 + msgid "Sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "Sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + + #. L10N: These must match the highlighted letters from "Sort" and "Reverse Sort" +-#: browser.c:1837 ++#: browser.c:1904 + msgid "dazecwn" + msgstr "dazecwn" + +-#: browser.c:1948 ++#: browser.c:2015 + msgid "New file name: " + msgstr "New file name: " + +-#: browser.c:1976 ++#: browser.c:2043 + msgid "Can't view a directory" + msgstr "Can't view a directory" + +-#: browser.c:1993 ++#: browser.c:2060 + msgid "Error trying to view file" + msgstr "Error trying to view file" + +-#: browser.c:2079 ++#: browser.c:2146 + #, c-format + msgid "Subscribe pattern: " + msgstr "Subscribe pattern: " + +-#: browser.c:2081 ++#: browser.c:2148 + #, c-format + msgid "Unsubscribe pattern: " + msgstr "Unsubscribe pattern: " + +-#: browser.c:2101 ++#: browser.c:2169 + msgid "No newsgroups match the mask" + msgstr "No newsgroups match the mask" + +-#: color.c:633 color.c:644 +-#, c-format +-msgid "%s: color not supported by term" +-msgstr "%s: colour not supported by term" +- +-#: color.c:652 +-#, c-format +-msgid "%s: no such color" +-msgstr "%s: no such colour" +- +-#: color.c:717 color.c:740 color.c:751 color.c:842 +-#, c-format +-msgid "%s: no such object" +-msgstr "%s: no such object" +- +-#: color.c:731 color.c:868 color.c:1069 color.c:1098 color.c:1122 color.c:1191 +-#: color.c:1214 hook.c:110 hook.c:124 hook.c:367 hook.c:383 init.c:612 +-#: init.c:620 init.c:709 init.c:1099 init.c:1267 init.c:1871 init.c:1929 +-#: keymap.c:1184 score.c:110 +-#, c-format +-msgid "%s: too few arguments" +-msgstr "%s: too few arguments" +- +-#: color.c:1142 +-#, c-format +-msgid "%s: no such attribute" +-msgstr "%s: no such attribute" +- +-#: color.c:1223 color.c:1329 hook.c:131 hook.c:390 init.c:1123 init.c:2133 +-#: init.c:2611 keymap.c:1116 keymap.c:1289 keymap.c:1442 keymap.c:1506 +-#: mutt_lua.c:483 score.c:119 +-#, c-format +-msgid "%s: too many arguments" +-msgstr "%s: too many arguments" +- +-#: color.c:1244 +-msgid "default colors not supported" +-msgstr "default colours not supported" +- +-#: color.c:1282 +-#, c-format +-msgid "Maximum quoting level is %d" +-msgstr "Maximum quoting level is %d" +- +-#: color.c:1319 +-#, c-format +-msgid "%s: invalid number: %s" +-msgstr "%s: invalid number: %s" +- + #. L10N: Used for the $crypt_verify_sig prompt +-#: commands.c:230 ++#: commands.c:232 + msgid "Verify signature?" + msgstr "Verify signature?" + +-#: commands.c:257 mbox/mbox.c:1236 ++#: commands.c:259 mbox/mbox.c:1236 + msgid "Could not create temporary file" + msgstr "Could not create temporary file" + +-#: commands.c:269 ++#: commands.c:271 + msgid "Can't create display filter" + msgstr "Can't create display filter" + +-#: commands.c:302 ++#: commands.c:304 + msgid "Could not copy message" + msgstr "Could not copy message" + +-#: commands.c:338 ++#: commands.c:340 + msgid "S/MIME signature successfully verified" + msgstr "S/MIME signature successfully verified" + +-#: commands.c:340 ++#: commands.c:342 + msgid "S/MIME certificate owner does not match sender" + msgstr "S/MIME certificate owner does not match sender" + +-#: commands.c:343 commands.c:353 ++#: commands.c:345 commands.c:355 + msgid "Warning: Part of this message has not been signed" + msgstr "Warning: Part of this message has not been signed" + +-#: commands.c:345 ++#: commands.c:347 + msgid "S/MIME signature could NOT be verified" + msgstr "S/MIME signature could NOT be verified" + +-#: commands.c:351 ++#: commands.c:353 + msgid "PGP signature successfully verified" + msgstr "PGP signature successfully verified" + +-#: commands.c:355 ++#: commands.c:357 + msgid "PGP signature could NOT be verified" + msgstr "PGP signature could NOT be verified" + +-#: commands.c:372 compose.c:2116 compress.c:321 curs_lib.c:359 curs_lib.c:646 +-#: index.c:1235 index.c:1285 mutt_attach.c:159 mutt_attach.c:292 pager.c:2460 +-#: sendlib.c:1625 ++#: commands.c:378 compose.c:2187 compress/compress.c:320 gui/curs_lib.c:360 ++#: gui/curs_lib.c:714 index.c:1240 index.c:1290 mutt_attach.c:161 ++#: mutt_attach.c:294 pager.c:2433 sendlib.c:1624 + #, c-format + msgid "Error running \"%s\"" + msgstr "Error running \"%s\"" + +-#: commands.c:382 ++#: commands.c:388 + msgid "Command: " + msgstr "Command: " + +-#: commands.c:419 recvcmd.c:191 recvcmd.c:203 ++#: commands.c:425 recvcmd.c:190 recvcmd.c:202 + msgid "Warning: message contains no From: header" + msgstr "Warning: message contains no From: header" + +-#: commands.c:425 recvcmd.c:212 ++#: commands.c:431 recvcmd.c:211 + msgid "Bounce message to: " + msgstr "Bounce message to: " + +-#: commands.c:427 recvcmd.c:214 ++#: commands.c:433 recvcmd.c:213 + msgid "Bounce tagged messages to: " + msgstr "Bounce tagged messages to: " + +-#: commands.c:436 recvcmd.c:224 ++#: commands.c:442 recvcmd.c:223 + msgid "Error parsing address" + msgstr "Error parsing address" + +-#: commands.c:455 recvcmd.c:243 ++#: commands.c:461 recvcmd.c:242 + #, c-format + msgid "Bounce message to %s?" + msgid_plural "Bounce messages to %s?" + msgstr[0] "Bounce message to %s?" + msgstr[1] "Bounce messages to %s?" + +-#: commands.c:470 recvcmd.c:257 ++#: commands.c:476 recvcmd.c:257 + msgid "Message not bounced" + msgid_plural "Messages not bounced" + msgstr[0] "Message not bounced" + msgstr[1] "Messages not bounced" + +-#: commands.c:496 recvcmd.c:276 ++#: commands.c:502 recvcmd.c:276 + msgid "Message bounced" + msgid_plural "Messages bounced" + msgstr[0] "Message bounced" + msgstr[1] "Messages bounced" + +-#: commands.c:606 commands.c:642 commands.c:662 ++#: commands.c:612 commands.c:648 commands.c:668 + msgid "Can't create filter process" + msgstr "Can't create filter process" + +-#: commands.c:698 ++#: commands.c:704 + msgid "Pipe to command: " + msgstr "Pipe to command: " + +-#: commands.c:720 ++#: commands.c:726 + msgid "No printing command has been defined" + msgstr "No printing command has been defined" + +-#: commands.c:732 ++#: commands.c:738 + msgid "Print message?" + msgstr "Print message?" + +-#: commands.c:733 ++#: commands.c:739 + msgid "Print tagged messages?" + msgstr "Print tagged messages?" + +-#: commands.c:739 ++#: commands.c:745 + msgid "Message printed" + msgid_plural "Messages printed" + msgstr[0] "Message printed" + msgstr[1] "Messages printed" + +-#: commands.c:742 ++#: commands.c:748 + msgid "Message could not be printed" + msgid_plural "Messages could not be printed" + msgstr[0] "Message could not be printed" + msgstr[1] "Messages could not be printed" + + #. L10N: The highlighted letters must match the "Sort" options +-#: commands.c:759 ++#: commands.c:765 + msgid "Rev-Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "Rev-Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + + #. L10N: The highlighted letters must match the "Rev-Sort" options +-#: commands.c:763 ++#: commands.c:769 + msgid "Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + + #. L10N: These must match the highlighted letters from "Sort" and "Rev-Sort" +-#: commands.c:767 ++#: commands.c:773 + msgid "dfrsotuzcpl" + msgstr "dfrsotuzcpl" + +-#: commands.c:831 ++#: commands.c:837 + msgid "Shell command: " + msgstr "Shell command: " + +-#: commands.c:1036 ++#: commands.c:1042 + msgid "Decode-save to mailbox" + msgstr "Decode-save to mailbox" + +-#: commands.c:1036 ++#: commands.c:1042 + msgid "Decode-save tagged to mailbox" + msgstr "Decode-save tagged to mailbox" + +-#: commands.c:1038 ++#: commands.c:1044 + msgid "Decrypt-save to mailbox" + msgstr "Decrypt-save to mailbox" + +-#: commands.c:1038 ++#: commands.c:1044 + msgid "Decrypt-save tagged to mailbox" + msgstr "Decrypt-save tagged to mailbox" + +-#: commands.c:1040 ++#: commands.c:1046 + msgid "Save to mailbox" + msgstr "Save to mailbox" + +-#: commands.c:1040 ++#: commands.c:1046 + msgid "Save tagged to mailbox" + msgstr "Save tagged to mailbox" + +-#: commands.c:1045 ++#: commands.c:1051 + msgid "Decode-copy to mailbox" + msgstr "Decode-copy to mailbox" + +-#: commands.c:1045 ++#: commands.c:1051 + msgid "Decode-copy tagged to mailbox" + msgstr "Decode-copy tagged to mailbox" + +-#: commands.c:1047 ++#: commands.c:1053 + msgid "Decrypt-copy to mailbox" + msgstr "Decrypt-copy to mailbox" + +-#: commands.c:1047 ++#: commands.c:1053 + msgid "Decrypt-copy tagged to mailbox" + msgstr "Decrypt-copy tagged to mailbox" + +-#: commands.c:1049 ++#: commands.c:1055 + msgid "Copy to mailbox" + msgstr "Copy to mailbox" + +-#: commands.c:1049 ++#: commands.c:1055 + msgid "Copy tagged to mailbox" + msgstr "Copy tagged to mailbox" + +-#: commands.c:1092 ++#: commands.c:1098 + #, c-format + msgid "Copying to %s..." + msgstr "Copying to %s..." + + #. L10N: e.g. "text/plain; charset=UTF-8; ..." +-#: commands.c:1257 ++#: commands.c:1263 + msgid "Content type is too long" + msgstr "Content type is too long" + +-#: commands.c:1281 ++#: commands.c:1290 + #, c-format + msgid "Convert to %s upon sending?" + msgstr "Convert to %s upon sending?" + +-#: commands.c:1292 ++#: commands.c:1301 + #, c-format + msgid "Content-Type changed to %s" + msgstr "Content-Type changed to %s" + +-#: commands.c:1297 ++#: commands.c:1306 + #, c-format + msgid "Character set changed to %s; not converting" + msgstr "Character set changed to %s; not converting" + +-#: commands.c:1298 ++#: commands.c:1307 + #, c-format + msgid "Character set changed to %s; converting" + msgstr "Character set changed to %s; converting" + +-#: compose.c:99 ++#: command_parse.c:83 command_parse.c:211 command_parse.c:219 ++#: command_parse.c:740 command_parse.c:887 command_parse.c:1491 ++#: command_parse.c:1549 gui/color.c:731 gui/color.c:868 gui/color.c:1069 ++#: gui/color.c:1098 gui/color.c:1122 gui/color.c:1191 gui/color.c:1214 ++#: hook.c:110 hook.c:124 hook.c:372 hook.c:388 keymap.c:1182 score.c:110 ++#, c-format ++msgid "%s: too few arguments" ++msgstr "%s: too few arguments" ++ ++#: command_parse.c:394 ++msgid "-group: no group name" ++msgstr "-group: no group name" ++ ++#: command_parse.c:404 ++msgid "out of arguments" ++msgstr "out of arguments" ++ ++#: command_parse.c:445 command_parse.c:1372 ++#, c-format ++msgid "Error: Can't build path of '%s'" ++msgstr "Error: Can't build path of '%s'" ++ ++#: command_parse.c:458 ++#, c-format ++msgid "Error: Cyclic sourcing of configuration file '%s'" ++msgstr "Error: Cyclic sourcing of configuration file '%s'" ++ ++#: command_parse.c:491 ++#, c-format ++msgid "Error in %s, line %d: %s" ++msgstr "Error in %s, line %d: %s" ++ ++#: command_parse.c:502 ++#, c-format ++msgid "Warning in %s, line %d: %s" ++msgstr "Warning in %s, line %d: %s" ++ ++#: command_parse.c:526 ++#, c-format ++msgid "source: errors in %s" ++msgstr "source: errors in %s" ++ ++#: command_parse.c:526 ++#, c-format ++msgid "source: reading aborted due to too many errors in %s" ++msgstr "source: reading aborted due to too many errors in %s" ++ ++#: command_parse.c:535 ++#, c-format ++msgid "source: %d warning in %s" ++msgid_plural "source: %d warnings in %s" ++msgstr[0] "source: %d warning in %s" ++msgstr[1] "source: %d warnings in %s" ++ ++#: command_parse.c:564 ++msgid "alias: no address" ++msgstr "alias: no address" ++ ++#: command_parse.c:606 ++#, c-format ++msgid "Warning: Bad IDN '%s' in alias '%s'" ++msgstr "Warning: Bad IDN '%s' in alias '%s'" ++ ++#: command_parse.c:684 ++msgid "attachments: no disposition" ++msgstr "attachments: no disposition" ++ ++#: command_parse.c:695 ++msgid "Current attachments settings:" ++msgstr "Current attachments settings:" ++ ++#: command_parse.c:725 ++msgid "attachments: invalid disposition" ++msgstr "attachments: invalid disposition" ++ ++#: command_parse.c:764 command_parse.c:1753 command_parse.c:2205 ++#: gui/color.c:1223 gui/color.c:1329 hook.c:131 hook.c:395 keymap.c:1114 ++#: keymap.c:1287 keymap.c:1440 keymap.c:1504 mutt_lua.c:485 score.c:119 ++#, c-format ++msgid "%s: too many arguments" ++msgstr "%s: too many arguments" ++ ++#: command_parse.c:801 ++#, c-format ++msgid "%sgroup: missing -rx or -addr" ++msgstr "%sgroup: missing -rx or -addr" ++ ++#: command_parse.c:827 ++#, c-format ++msgid "%sgroup: warning: bad IDN '%s'" ++msgstr "%sgroup: warning: bad IDN '%s'" ++ ++#: command_parse.c:898 ++#, c-format ++msgid "Error: %s" ++msgstr "Error: %s" ++ ++#: command_parse.c:1065 ++msgid "invalid header field" ++msgstr "invalid header field" ++ ++#: command_parse.c:1331 command_parse.c:1435 ++#, c-format ++msgid "%s: unknown variable" ++msgstr "%s: unknown variable" ++ ++#: command_parse.c:1528 ++#, c-format ++msgid "%s is unset" ++msgstr "%s is unset" ++ ++#: command_parse.c:1573 mutt_lua.c:480 ++#, c-format ++msgid "source: error at %s" ++msgstr "source: error at %s" ++ ++#: command_parse.c:1581 ++#, c-format ++msgid "source: file %s could not be sourced" ++msgstr "source: file %s could not be sourced" ++ ++#: command_parse.c:1604 ++msgid "spam: no matching pattern" ++msgstr "spam: no matching pattern" ++ ++#: command_parse.c:1606 ++msgid "nospam: no matching pattern" ++msgstr "nospam: no matching pattern" ++ ++#: command_parse.c:1762 imap/imap.c:1443 ++#, c-format ++msgid "Subscribed to %s" ++msgstr "Subscribed to %s" ++ ++#: command_parse.c:1766 ++#, c-format ++msgid "Could not subscribe to %s" ++msgstr "Could not subscribe to %s" ++ ++#: command_parse.c:1774 command_parse.c:2226 ++msgid "No folder specified" ++msgstr "No folder specified" ++ ++#: command_parse.c:1943 ++msgid "unattachments: no disposition" ++msgstr "unattachments: no disposition" ++ ++#: command_parse.c:1981 ++msgid "unattachments: invalid disposition" ++msgstr "unattachments: invalid disposition" ++ ++#: command_parse.c:2214 imap/imap.c:1445 ++#, c-format ++msgid "Unsubscribed from %s" ++msgstr "Unsubscribed from %s" ++ ++#: command_parse.c:2218 ++#, c-format ++msgid "Could not unsubscribe from %s" ++msgstr "Could not unsubscribe from %s" ++ ++#: compose.c:97 + msgid "There are no attachments" + msgstr "There are no attachments" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:166 ++#: compose.c:164 + msgid "From: " + msgstr "From: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:168 send.c:284 ++#: compose.c:166 send.c:284 + msgid "To: " + msgstr "To: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:170 send.c:286 ++#: compose.c:168 send.c:286 + msgid "Cc: " + msgstr "Cc: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:172 send.c:288 ++#: compose.c:170 send.c:288 + msgid "Bcc: " + msgstr "Bcc: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:174 compose.c:1242 send.c:320 ++#: compose.c:172 compose.c:1302 send.c:320 + msgid "Subject: " + msgstr "Subject: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:176 ++#: compose.c:174 + msgid "Reply-To: " + msgstr "Reply-To: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:178 compose.c:1261 ++#: compose.c:176 compose.c:1321 + msgid "Fcc: " + msgstr "Fcc: " + + #. L10N: "Mix" refers to the MixMaster chain for anonymous email +-#: compose.c:181 ++#: compose.c:179 + msgid "Mix: " + msgstr "Mix: " + + #. L10N: Compose menu field. Holds "Encrypt", "Sign" related information +-#: compose.c:184 ++#: compose.c:182 + msgid "Security: " + msgstr "Security: " + +@@ -869,75 +1005,75 @@ msgstr "Security: " + #. it should not be longer than the other compose menu fields. + #. Since it shares the row with "Encrypt with:", it should not be longer + #. than 15-20 character cells. +-#: compose.c:192 ncrypt/crypt_gpgme.c:5602 ncrypt/pgp.c:1974 +-#: ncrypt/smime.c:2395 ++#: compose.c:190 ncrypt/crypt_gpgme.c:5682 ncrypt/pgp.c:1976 ++#: ncrypt/smime.c:2429 + msgid "Sign as: " + msgstr "Sign as: " + + #. L10N: The compose menu autocrypt line +-#: compose.c:195 ++#: compose.c:193 + msgid "Autocrypt: " + msgstr "Autocrypt: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:199 ++#: compose.c:197 + msgid "Newsgroups: " + msgstr "Newsgroups: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:201 ++#: compose.c:199 + msgid "Followup-To: " + msgstr "Followup-To: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:203 ++#: compose.c:201 + msgid "X-Comment-To: " + msgstr "X-Comment-To: " + +-#: compose.c:208 compose.c:224 ++#: compose.c:206 compose.c:222 + msgid "Send" + msgstr "Send" + +-#: compose.c:209 compose.c:225 remailer.c:77 ++#: compose.c:207 compose.c:223 remailer.c:75 + msgid "Abort" + msgstr "Abort" + + #. L10N: compose menu help line entry +-#: compose.c:211 ++#: compose.c:209 + msgid "To" + msgstr "To" + + #. L10N: compose menu help line entry +-#: compose.c:213 ++#: compose.c:211 + msgid "CC" + msgstr "CC" + + #. L10N: compose menu help line entry +-#: compose.c:215 compose.c:227 ++#: compose.c:213 compose.c:225 + msgid "Subj" + msgstr "Subj" + +-#: compose.c:216 compose.c:228 compose.c:1556 ++#: compose.c:214 compose.c:226 compose.c:1616 + msgid "Attach file" + msgstr "Attach file" + +-#: compose.c:217 compose.c:229 ++#: compose.c:215 compose.c:227 + msgid "Descrip" + msgstr "Descrip" + +-#: compose.c:226 ++#: compose.c:224 + msgid "Newsgroups" + msgstr "Newsgroups" + + #. L10N: Autocrypt recommendation flag: off. + #. * This is displayed when Autocrypt is turned off. +-#: compose.c:239 compose.c:473 ++#: compose.c:237 compose.c:472 + msgid "Off" + msgstr "Off" + + #. L10N: Autocrypt recommendation flag: no. + #. * This is displayed when Autocrypt cannot encrypt to the recipients. +-#: compose.c:242 ++#: compose.c:240 + msgid "No" + msgstr "No" + +@@ -945,7 +1081,7 @@ msgstr "No" + #. * This is displayed when Autocrypt believes encryption should not be used. + #. * This might occur if one of the recipient Autocrypt Keys has not been + #. * used recently, or if the only key available is a Gossip Header key. +-#: compose.c:247 ++#: compose.c:245 + msgid "Discouraged" + msgstr "Discouraged" + +@@ -953,14 +1089,14 @@ msgstr "Discouraged" + #. * This is displayed when Autocrypt believes encryption is possible, but + #. * leaves enabling it up to the sender. Probably because "prefer encrypt" + #. * is not set in both the sender and recipient keys. +-#: compose.c:252 ++#: compose.c:250 + msgid "Available" + msgstr "Available" + + #. L10N: Autocrypt recommendation flag: yes. + #. * This is displayed when Autocrypt would normally enable encryption + #. * automatically. +-#: compose.c:256 ++#: compose.c:254 + msgid "Yes" + msgstr "Yes" + +@@ -970,7 +1106,7 @@ msgstr "Yes" + #. (c)lear sets cleartext. + #. (a)utomatic defers to the recommendation. + #. +-#: compose.c:338 ++#: compose.c:337 + msgid "Autocrypt: (e)ncrypt, (c)lear, (a)utomatic?" + msgstr "Autocrypt: (e)ncrypt, (c)lear, (a)utomatic?" + +@@ -978,51 +1114,51 @@ msgstr "Autocrypt: (e)ncrypt, (c)lear, (a)utomatic?" + #. The letter corresponding to the compose menu autocrypt prompt + #. (e)ncrypt, (c)lear, (a)utomatic + #. +-#: compose.c:346 ++#: compose.c:345 + msgid "eca" + msgstr "eca" + +-#: compose.c:383 ++#: compose.c:382 + msgid "Not supported" + msgstr "Not supported" + +-#: compose.c:390 ++#: compose.c:389 + msgid "Sign, Encrypt" + msgstr "Sign, Encrypt" + +-#: compose.c:395 compose.c:468 ++#: compose.c:394 compose.c:467 + msgid "Encrypt" + msgstr "Encrypt" + +-#: compose.c:400 ++#: compose.c:399 + msgid "Sign" + msgstr "Sign" + +-#: compose.c:406 ++#: compose.c:405 + msgid "None" + msgstr "None" + +-#: compose.c:415 ++#: compose.c:414 + msgid " (inline PGP)" + msgstr " (inline PGP)" + +-#: compose.c:417 ++#: compose.c:416 + msgid " (PGP/MIME)" + msgstr " (PGP/MIME)" + +-#: compose.c:420 ++#: compose.c:419 + msgid " (S/MIME)" + msgstr " (S/MIME)" + +-#: compose.c:424 ++#: compose.c:423 + msgid " (OppEnc mode)" + msgstr " (OppEnc mode)" + +-#: compose.c:436 compose.c:445 ++#: compose.c:435 compose.c:444 + msgid "" + msgstr "" + +-#: compose.c:452 ++#: compose.c:451 + msgid "Encrypt with: " + msgstr "Encrypt with: " + +@@ -1031,11 +1167,11 @@ msgstr "Encrypt with: " + #. Displays the output of the recommendation engine + #. (Off, No, Discouraged, Available, Yes) + #. +-#: compose.c:483 ++#: compose.c:482 + msgid "Recommendation: " + msgstr "Recommendation: " + +-#: compose.c:547 ++#: compose.c:546 + msgid "" + msgstr "" + +@@ -1046,7 +1182,7 @@ msgstr "" + #. The filename is located last to avoid a long path hiding the + #. error message. + #. +-#: compose.c:601 ++#: compose.c:600 + #, c-format + msgid "Attachment #%d no longer exists: %s" + msgstr "Attachment #%d no longer exists: %s" +@@ -1058,231 +1194,350 @@ msgstr "Attachment #%d no longer exists: %s" + #. The filename is located last to avoid a long path hiding the + #. prompt question. + #. +-#: compose.c:621 ++#: compose.c:620 + #, c-format + msgid "Attachment #%d modified. Update encoding for %s?" + msgstr "Attachment #%d modified. Update encoding for %s?" + +-#: compose.c:716 ++#: compose.c:715 + msgid "-- Attachments" + msgstr "-- Attachments" + +-#: compose.c:770 ++#: compose.c:769 + msgid "You may not delete the only attachment" + msgstr "You may not delete the only attachment" + +-#: compose.c:1296 edit.c:538 send.c:2462 ++#: compose.c:1356 edit.c:536 send.c:2473 + #, c-format + msgid "Bad IDN in '%s': '%s'" + msgstr "Bad IDN in '%s': '%s'" + +-#: compose.c:1347 ++#: compose.c:1407 + msgid "Attachment is already at top" + msgstr "Attachment is already at top" + +-#: compose.c:1352 compose.c:1368 ++#: compose.c:1412 compose.c:1428 + msgid "The fundamental part can't be moved" + msgstr "The fundamental part can't be moved" + +-#: compose.c:1363 ++#: compose.c:1423 + msgid "Attachment is already at bottom" + msgstr "Attachment is already at bottom" + +-#: compose.c:1381 ++#: compose.c:1441 + msgid "Grouping 'alternatives' requires at least 2 tagged messages" + msgstr "Grouping 'alternatives' requires at least 2 tagged messages" + +-#: compose.c:1462 ++#: compose.c:1522 + msgid "Grouping 'multilingual' requires at least 2 tagged messages" + msgstr "Grouping 'multilingual' requires at least 2 tagged messages" + +-#: compose.c:1475 ++#: compose.c:1535 + msgid "Not all parts have 'Content-Language' set, continue?" + msgstr "Not all parts have 'Content-Language' set, continue?" + +-#: compose.c:1477 ++#: compose.c:1537 + msgid "Not sending this message" + msgstr "Not sending this message" + +-#: compose.c:1571 ++#: compose.c:1631 + msgid "Attaching selected file..." + msgid_plural "Attaching selected files..." + msgstr[0] "Attaching selected file..." + msgstr[1] "Attaching selected files..." + +-#: compose.c:1585 ++#: compose.c:1645 + #, c-format + msgid "Unable to attach %s" + msgstr "Unable to attach %s" + +-#: compose.c:1606 ++#: compose.c:1666 + msgid "Open mailbox to attach message from" + msgstr "Open mailbox to attach message from" + +-#: compose.c:1616 ++#: compose.c:1676 + msgid "Open newsgroup to attach message from" + msgstr "Open newsgroup to attach message from" + +-#: compose.c:1667 ++#: compose.c:1730 + #, c-format + msgid "Unable to open mailbox %s" + msgstr "Unable to open mailbox %s" + +-#: compose.c:1676 ++#: compose.c:1739 + msgid "No messages in that folder" + msgstr "No messages in that folder" + +-#: compose.c:1686 ++#: compose.c:1749 + msgid "Tag the messages you want to attach" + msgstr "Tag the messages you want to attach" + +-#: compose.c:1715 ++#: compose.c:1785 + msgid "Unable to attach" + msgstr "Unable to attach" + +-#: compose.c:1752 ++#: compose.c:1822 + msgid "Recoding only affects text attachments" + msgstr "Recoding only affects text attachments" + +-#: compose.c:1757 ++#: compose.c:1827 + msgid "The current attachment won't be converted" + msgstr "The current attachment won't be converted" + +-#: compose.c:1759 ++#: compose.c:1829 + msgid "The current attachment will be converted" + msgstr "The current attachment will be converted" + +-#: compose.c:1831 ++#: compose.c:1901 + msgid "Empty 'Content-Language'" + msgstr "Empty 'Content-Language'" + +-#: compose.c:1849 ++#: compose.c:1920 + msgid "Invalid encoding" + msgstr "Invalid encoding" + +-#: compose.c:1871 ++#: compose.c:1942 + msgid "Save a copy of this message?" + msgstr "Save a copy of this message?" + +-#: compose.c:1924 ++#: compose.c:1995 + msgid "Send attachment with name: " + msgstr "Send attachment with name: " + +-#: compose.c:1939 ++#: compose.c:2010 + msgid "Rename to: " + msgstr "Rename to: " + + #. L10N: "stat" is a system call. Do "man 2 stat" for more information. +-#: compose.c:1946 editmsg.c:102 editmsg.c:138 sendlib.c:1050 ++#: compose.c:2017 editmsg.c:102 editmsg.c:138 sendlib.c:1049 + #, c-format + msgid "Can't stat %s: %s" + msgstr "Can't stat %s: %s" + +-#: compose.c:1966 ++#: compose.c:2037 + msgid "New file: " + msgstr "New file: " + +-#: compose.c:1984 ++#: compose.c:2055 + msgid "Content-Type is of the form base/sub" + msgstr "Content-Type is of the form base/sub" + +-#: compose.c:1991 ++#: compose.c:2062 + #, c-format + msgid "Unknown Content-Type %s" + msgstr "Unknown Content-Type %s" + +-#: compose.c:1999 ++#: compose.c:2070 + #, c-format + msgid "Can't create file %s" + msgstr "Can't create file %s" + +-#: compose.c:2008 ++#: compose.c:2079 + msgid "What we have here is a failure to make an attachment" + msgstr "What we have here is a failure to make an attachment" + +-#: compose.c:2073 ++#: compose.c:2144 + msgid "Save (postpone) draft message?" + msgstr "Save (postpone) draft message?" + +-#: compose.c:2133 ++#: compose.c:2204 + msgid "Write message to mailbox" + msgstr "Write message to mailbox" + +-#: compose.c:2136 ++#: compose.c:2207 + #, c-format + msgid "Writing message to %s ..." + msgstr "Writing message to %s ..." + +-#: compose.c:2143 ++#: compose.c:2214 + msgid "Message written" + msgstr "Message written" + +-#: compose.c:2154 ++#: compose.c:2225 + msgid "No PGP backend configured" + msgstr "No PGP backend configured" + +-#: compose.c:2161 compose.c:2225 ++#: compose.c:2232 compose.c:2296 + msgid "S/MIME already selected. Clear and continue?" + msgstr "S/MIME already selected. Clear and continue?" + +-#: compose.c:2186 ++#: compose.c:2257 + msgid "No S/MIME backend configured" + msgstr "No S/MIME backend configured" + +-#: compose.c:2194 ++#: compose.c:2265 + msgid "PGP already selected. Clear and continue?" + msgstr "PGP already selected. Clear and continue?" + +-#: compress.c:355 compress.c:499 ++#: compress/compress.c:354 compress/compress.c:498 + #, c-format + msgid "Can't append without an append-hook or close-hook : %s" + msgstr "Can't append without an append-hook or close-hook : %s" + +-#: compress.c:444 compress.c:511 compress.c:590 compress.c:628 mbox/mbox.c:1208 ++#: compress/compress.c:443 compress/compress.c:510 compress/compress.c:589 ++#: compress/compress.c:627 mbox/mbox.c:1208 + msgid "Unable to lock mailbox" + msgstr "Unable to lock mailbox" + +-#: compress.c:448 compress.c:518 compress.c:594 ++#: compress/compress.c:447 compress/compress.c:517 compress/compress.c:593 + #, c-format + msgid "Decompressing %s" + msgstr "Decompressing %s" + +-#: compress.c:457 ++#: compress/compress.c:456 + msgid "Can't identify the contents of the compressed file" + msgstr "Can't identify the contents of the compressed file" + +-#: compress.c:464 compress.c:539 ++#: compress/compress.c:463 compress/compress.c:538 + #, c-format + msgid "Can't find mailbox ops for mailbox type %d" + msgstr "Can't find mailbox ops for mailbox type %d" + +-#: compress.c:521 ++#: compress/compress.c:520 + #, c-format + msgid "Compress command failed: %s" + msgstr "Compress command failed: %s" + +-#: compress.c:532 ++#: compress/compress.c:531 + msgid "Unsupported mailbox type for appending" + msgstr "Unsupported mailbox type for appending" + +-#: compress.c:618 ++#: compress/compress.c:617 + msgid "Can't sync a compressed file without a close-hook" + msgstr "Can't sync a compressed file without a close-hook" + +-#: compress.c:640 compress.c:692 ++#: compress/compress.c:639 compress/compress.c:691 + #, c-format + msgid "Compressing %s" + msgstr "Compressing %s" + +-#: compress.c:687 ++#: compress/compress.c:686 + #, c-format + msgid "Compressed-appending to %s..." + msgstr "Compressed-appending to %s..." + +-#: compress.c:699 editmsg.c:247 ++#: compress/compress.c:698 editmsg.c:247 ++#, c-format ++msgid "Error. Preserving temporary file: %s" ++msgstr "Error. Preserving temporary file: %s" ++ ++#: config/bool.c:70 ++#, c-format ++msgid "Invalid boolean value: %s" ++msgstr "Invalid boolean value: %s" ++ ++#: config/bool.c:131 ++#, c-format ++msgid "Invalid boolean value: %ld" ++msgstr "Invalid boolean value: %ld" ++ ++#: config/enum.c:62 ++#, c-format ++msgid "Invalid enum value: %s" ++msgstr "Invalid enum value: %s" ++ ++#: config/enum.c:149 ++#, c-format ++msgid "Invalid enum value: %ld" ++msgstr "Invalid enum value: %ld" ++ ++#: config/long.c:50 ++#, c-format ++msgid "Invalid long: %s" ++msgstr "Invalid long: %s" ++ ++#: config/long.c:56 config/long.c:114 config/number.c:68 config/number.c:133 ++#, c-format ++msgid "Option %s may not be negative" ++msgstr "Option %s may not be negative" ++ ++#: config/number.c:49 config/sort.c:145 config/string.c:75 config/string.c:159 ++#, c-format ++msgid "Option %s may not be empty" ++msgstr "Option %s may not be empty" ++ ++#: config/number.c:56 ++#, c-format ++msgid "Invalid number: %s" ++msgstr "Invalid number: %s" ++ ++#: config/number.c:62 ++#, c-format ++msgid "Number is too big: %s" ++msgstr "Number is too big: %s" ++ ++#: config/number.c:127 ++#, c-format ++msgid "Invalid number: %ld" ++msgstr "Invalid number: %ld" ++ ++#: config/quad.c:69 ++#, c-format ++msgid "Invalid quad value: %s" ++msgstr "Invalid quad value: %s" ++ ++#: config/quad.c:133 ++#, c-format ++msgid "Invalid quad value: %ld" ++msgstr "Invalid quad value: %ld" ++ ++#: config/set.c:102 ++#, c-format ++msgid "No such variable: %s" ++msgstr "No such variable: %s" ++ ++#: config/set.c:134 config/set.c:821 ++#, c-format ++msgid "Variable '%s' has an invalid type %d" ++msgstr "Variable '%s' has an invalid type %d" ++ ++#: config/set.c:399 config/set.c:463 config/set.c:528 config/set.c:601 ++#: config/set.c:671 config/set.c:744 ++#, c-format ++msgid "Unknown variable '%s'" ++msgstr "Unknown variable '%s'" ++ ++#: config/sort.c:192 ++#, c-format ++msgid "Invalid sort name: %s" ++msgstr "Invalid sort name: %s" ++ ++#: config/sort.c:322 ++#, c-format ++msgid "Invalid sort type: %ld" ++msgstr "Invalid sort type: %ld" ++ ++#. L10N: Example: Username at myhost.com ++#: conn/connaccount.c:61 ++#, c-format ++msgid "Username at %s: " ++msgstr "Username at %s: " ++ ++#: conn/connaccount.c:117 ++#, c-format ++msgid "Password for %s@%s: " ++msgstr "Password for %s@%s: " ++ ++#. L10N: You will see this error message if (1) you have "oauthbearer" in ++#. one of your $*_authenticators and (2) you do not have the corresponding ++#. $*_oauth_refresh_command defined. So the message does not mean "None of ++#. your $*_oauth_refresh_command's are defined." ++#: conn/connaccount.c:165 ++msgid "No OAUTH refresh command defined" ++msgstr "No OAUTH refresh command defined" ++ ++#: conn/connaccount.c:173 ++msgid "Unable to run refresh command" ++msgstr "Unable to run refresh command" ++ ++#: conn/connaccount.c:184 ++msgid "Command returned empty string" ++msgstr "Command returned empty string" ++ ++#: conn/connaccount.c:191 + #, c-format +-msgid "Error. Preserving temporary file: %s" +-msgstr "Error. Preserving temporary file: %s" ++msgid "OAUTH token is too big: %ld" ++msgstr "OAUTH token is too big: %ld" + + #: conn/conn_raw.c:160 conn/conn_raw.c:218 + #, c-format +@@ -1304,7 +1559,7 @@ msgstr "Connecting to %s..." + msgid "Could not connect to %s (%s)" + msgstr "Could not connect to %s (%s)" + +-#: conn/conn_raw.c:260 conn/ssl.c:1230 curs_lib.c:568 mutt_logging.c:149 ++#: conn/conn_raw.c:260 conn/ssl.c:1245 gui/curs_lib.c:569 mutt_logging.c:147 + msgid "unknown error" + msgstr "unknown error" + +@@ -1318,23 +1573,23 @@ msgstr "Error talking to %s (%s)" + msgid "Connection to %s has been aborted" + msgstr "Connection to %s has been aborted" + +-#: conn/sasl.c:565 ++#: conn/sasl.c:547 + msgid "Unknown SASL profile" + msgstr "Unknown SASL profile" + +-#: conn/sasl.c:598 ++#: conn/sasl.c:580 + msgid "Error allocating SASL connection" + msgstr "Error allocating SASL connection" + +-#: conn/sasl.c:608 ++#: conn/sasl.c:590 + msgid "Error setting SASL security properties" + msgstr "Error setting SASL security properties" + +-#: conn/sasl.c:619 ++#: conn/sasl.c:601 + msgid "Error setting SASL external security strength" + msgstr "Error setting SASL external security strength" + +-#: conn/sasl.c:629 ++#: conn/sasl.c:611 + msgid "Error setting SASL external user name" + msgstr "Error setting SASL external user name" + +@@ -1347,132 +1602,108 @@ msgstr "Preconnect command failed" + msgid "Connection to %s closed" + msgstr "Connection to %s closed" + +-#: conn/ssl.c:237 ++#: conn/ssl.c:222 + #, c-format + msgid "Filling entropy pool: %s..." + msgstr "Filling entropy pool: %s..." + +-#: conn/ssl.c:243 ++#: conn/ssl.c:228 + #, c-format + msgid "%s has insecure permissions" + msgstr "%s has insecure permissions" + +-#: conn/ssl.c:385 ++#: conn/ssl.c:369 + msgid "SSL disabled due to the lack of entropy" + msgstr "SSL disabled due to the lack of entropy" + +-#: conn/ssl.c:402 ++#: conn/ssl.c:386 + msgid "Unknown" + msgstr "Unknown" + +-#: conn/ssl.c:421 conn/ssl_gnutls.c:186 ++#: conn/ssl.c:405 conn/ssl_gnutls.c:188 + #, c-format + msgid "[unable to calculate]" + msgstr "[unable to calculate]" + +-#: conn/ssl.c:446 ++#: conn/ssl.c:430 + msgid "[invalid date]" + msgstr "[invalid date]" + +-#: conn/ssl.c:506 ++#: conn/ssl.c:490 + msgid "Server certificate is not yet valid" + msgstr "Server certificate is not yet valid" + +-#: conn/ssl.c:516 ++#: conn/ssl.c:500 + msgid "Server certificate has expired" + msgstr "Server certificate has expired" + +-#: conn/ssl.c:605 ++#: conn/ssl.c:589 + msgid "Failed to find enough entropy on your system" + msgstr "Failed to find enough entropy on your system" + +-#: conn/ssl.c:799 ++#: conn/ssl.c:783 + msgid "can't get certificate subject" + msgstr "can't get certificate subject" + +-#: conn/ssl.c:808 conn/ssl.c:816 ++#: conn/ssl.c:792 conn/ssl.c:800 + msgid "can't get certificate common name" + msgstr "can't get certificate common name" + +-#: conn/ssl.c:830 ++#: conn/ssl.c:814 + #, c-format + msgid "certificate owner does not match hostname %s" + msgstr "certificate owner does not match hostname %s" + +-#: conn/ssl.c:904 conn/ssl_gnutls.c:539 ++#: conn/ssl.c:917 conn/ssl_gnutls.c:570 + msgid "This certificate belongs to:" + msgstr "This certificate belongs to:" + +-#: conn/ssl.c:913 conn/ssl_gnutls.c:593 ++#: conn/ssl.c:926 conn/ssl_gnutls.c:624 + msgid "This certificate was issued by:" + msgstr "This certificate was issued by:" + +-#: conn/ssl.c:922 conn/ssl_gnutls.c:604 ++#: conn/ssl.c:935 conn/ssl_gnutls.c:635 + msgid "This certificate is valid" + msgstr "This certificate is valid" + +-#: conn/ssl.c:923 conn/ssl_gnutls.c:608 ++#: conn/ssl.c:936 conn/ssl_gnutls.c:639 + #, c-format + msgid " from %s" + msgstr " from %s" + +-#: conn/ssl.c:925 conn/ssl_gnutls.c:612 ++#: conn/ssl.c:938 conn/ssl_gnutls.c:643 + #, c-format + msgid " to %s" + msgstr " to %s" + +-#: conn/ssl.c:931 conn/ssl_gnutls.c:617 ++#: conn/ssl.c:944 conn/ssl_gnutls.c:648 + #, c-format + msgid "SHA1 Fingerprint: %s" + msgstr "SHA1 Fingerprint: %s" + +-#: conn/ssl.c:937 conn/ssl.c:940 conn/ssl_gnutls.c:623 conn/ssl_gnutls.c:625 ++#: conn/ssl.c:950 conn/ssl.c:953 conn/ssl_gnutls.c:654 conn/ssl_gnutls.c:656 + msgid "SHA256 Fingerprint: " + msgstr "SHA256 Fingerprint: " + +-#: conn/ssl.c:944 conn/ssl_gnutls.c:664 ++#: conn/ssl.c:957 conn/ssl_gnutls.c:695 + #, c-format + msgid "SSL Certificate check (certificate %zu of %zu in chain)" + msgstr "SSL Certificate check (certificate %zu of %zu in chain)" + +-#. L10N: These four letters correspond to the choices in the next four strings: +-#. (r)eject, accept (o)nce, (a)ccept always, (s)kip. +-#. These prompts are the interactive certificate confirmation prompts for +-#. an OpenSSL connection. +-#: conn/ssl.c:964 +-msgid "roas" +-msgstr "roas" +- +-#: conn/ssl.c:968 +-msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" +-msgstr "(r)eject, accept (o)nce, (a)ccept always, (s)kip" +- +-#: conn/ssl.c:970 conn/ssl_gnutls.c:671 +-msgid "(r)eject, accept (o)nce, (a)ccept always" +-msgstr "(r)eject, accept (o)nce, (a)ccept always" +- +-#: conn/ssl.c:975 +-msgid "(r)eject, accept (o)nce, (s)kip" +-msgstr "(r)eject, accept (o)nce, (s)kip" +- +-#: conn/ssl.c:977 conn/ssl_gnutls.c:680 +-msgid "(r)eject, accept (o)nce" +-msgstr "(r)eject, accept (o)nce" +- +-#: conn/ssl.c:981 conn/ssl_gnutls.c:689 ncrypt/crypt_gpgme.c:4729 +-#: ncrypt/pgpkey.c:664 ncrypt/smime.c:549 ++#: conn/ssl.c:994 conn/ssl_gnutls.c:720 ncrypt/crypt_gpgme.c:4777 ++#: ncrypt/pgpkey.c:667 ncrypt/smime.c:551 + msgid "Exit " + msgstr "Exit " + +-#: conn/ssl.c:1016 conn/ssl_gnutls.c:742 ++#: conn/ssl.c:1029 conn/ssl_gnutls.c:773 + msgid "Warning: Couldn't save certificate" + msgstr "Warning: Couldn't save certificate" + +-#: conn/ssl.c:1020 conn/ssl_gnutls.c:746 ++#: conn/ssl.c:1033 conn/ssl_gnutls.c:777 + msgid "Certificate saved" + msgstr "Certificate saved" + +-#: conn/ssl.c:1132 ++#: conn/ssl.c:1147 + #, c-format + msgid "Certificate host check failed: %s" + msgstr "Certificate host check failed: %s" +@@ -1480,15 +1711,15 @@ msgstr "Certificate host check failed: %s" + #. L10N: This is a warning when trying to set the host name for + #. * TLS Server Name Indication (SNI). This allows the server to present + #. * the correct certificate if it supports multiple hosts. +-#: conn/ssl.c:1213 conn/ssl_gnutls.c:1072 ++#: conn/ssl.c:1228 conn/ssl_gnutls.c:1105 + msgid "Warning: unable to set TLS SNI host name" + msgstr "Warning: unable to set TLS SNI host name" + +-#: conn/ssl.c:1224 ++#: conn/ssl.c:1239 + msgid "I/O error" + msgstr "I/O error" + +-#: conn/ssl.c:1233 ++#: conn/ssl.c:1248 + #, c-format + msgid "SSL failed: %s" + msgstr "SSL failed: %s" +@@ -1496,89 +1727,73 @@ msgstr "SSL failed: %s" + #. L10N: an SSL context is a data structure returned by the OpenSSL + #. function SSL_CTX_new(). In this case it returned NULL: an + #. error condition. +-#: conn/ssl.c:1269 ++#: conn/ssl.c:1284 + msgid "Unable to create SSL context" + msgstr "Unable to create SSL context" + +-#: conn/ssl.c:1322 ++#: conn/ssl.c:1337 + msgid "Warning: error enabling ssl_verify_partial_chains" + msgstr "Warning: error enabling ssl_verify_partial_chains" + +-#: conn/ssl_gnutls.c:150 conn/ssl_gnutls.c:784 conn/ssl_gnutls.c:793 ++#: conn/ssl_gnutls.c:152 conn/ssl_gnutls.c:817 conn/ssl_gnutls.c:826 + msgid "Unable to get certificate from peer" + msgstr "Unable to get certificate from peer" + +-#: conn/ssl_gnutls.c:155 ++#: conn/ssl_gnutls.c:157 + #, c-format + msgid "Certificate verification error (%s)" + msgstr "Certificate verification error (%s)" + +-#: conn/ssl_gnutls.c:162 ++#: conn/ssl_gnutls.c:164 + msgid "Certificate is not X.509" + msgstr "Certificate is not X.509" + +-#: conn/ssl_gnutls.c:349 conn/ssl_gnutls.c:483 ++#: conn/ssl_gnutls.c:351 conn/ssl_gnutls.c:485 + msgid "Error initialising gnutls certificate data" + msgstr "Error initialising gnutls certificate data" + +-#: conn/ssl_gnutls.c:355 conn/ssl_gnutls.c:489 ++#: conn/ssl_gnutls.c:357 conn/ssl_gnutls.c:491 + msgid "Error processing certificate data" + msgstr "Error processing certificate data" + +-#: conn/ssl_gnutls.c:635 ++#: conn/ssl_gnutls.c:666 + msgid "WARNING: Server certificate is not yet valid" + msgstr "WARNING: Server certificate is not yet valid" + +-#: conn/ssl_gnutls.c:640 ++#: conn/ssl_gnutls.c:671 + msgid "WARNING: Server certificate has expired" + msgstr "WARNING: Server certificate has expired" + +-#: conn/ssl_gnutls.c:645 ++#: conn/ssl_gnutls.c:676 + msgid "WARNING: Server certificate has been revoked" + msgstr "WARNING: Server certificate has been revoked" + +-#: conn/ssl_gnutls.c:650 ++#: conn/ssl_gnutls.c:681 + msgid "WARNING: Server hostname does not match certificate" + msgstr "WARNING: Server hostname does not match certificate" + +-#: conn/ssl_gnutls.c:655 ++#: conn/ssl_gnutls.c:686 + msgid "WARNING: Signer of server certificate is not a CA" + msgstr "WARNING: Signer of server certificate is not a CA" + +-#: conn/ssl_gnutls.c:659 conn/ssl_gnutls.c:1004 ++#: conn/ssl_gnutls.c:690 conn/ssl_gnutls.c:1037 + msgid "Warning: Server certificate was signed using an insecure algorithm" + msgstr "Warning: Server certificate was signed using an insecure algorithm" + +-#. L10N: These three letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce, (a)ccept always. +-#. This is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:676 +-msgid "roa" +-msgstr "roa" +- +-#. L10N: These two letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce. +-#. These is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:685 +-msgid "ro" +-msgstr "ro" +- +-#: conn/ssl_gnutls.c:950 conn/ssl_gnutls.c:992 ++#: conn/ssl_gnutls.c:983 conn/ssl_gnutls.c:1025 + msgid "All available protocols for TLS/SSL connection disabled" + msgstr "All available protocols for TLS/SSL connection disabled" + +-#: conn/ssl_gnutls.c:999 ++#: conn/ssl_gnutls.c:1032 + msgid "Explicit ciphersuite selection via $ssl_ciphers not supported" + msgstr "Explicit ciphersuite selection via $ssl_ciphers not supported" + +-#: conn/ssl_gnutls.c:1120 ++#: conn/ssl_gnutls.c:1153 + #, c-format + msgid "SSL/TLS connection using %s (%s/%s/%s)" + msgstr "SSL/TLS connection using %s (%s/%s/%s)" + +-#: conn/ssl_gnutls.c:1175 conn/ssl_gnutls.c:1204 ++#: conn/ssl_gnutls.c:1210 conn/ssl_gnutls.c:1239 + msgid "Error: no TLS socket open" + msgstr "Error: no TLS socket open" + +@@ -1597,38 +1812,18 @@ msgstr "Tunnel error talking to %s: %s" + msgid "Tunnel to %s returned error %d (%s)" + msgstr "Tunnel to %s returned error %d (%s)" + +-#: copy.c:660 ++#: copy.c:662 + #, c-format + msgid "The length calculation was wrong by %ld byte" + msgid_plural "The length calculation was wrong by %ld bytes" + msgstr[0] "The length calculation was wrong by %ld byte" + msgstr[1] "The length calculation was wrong by %ld bytes" + +-#: copy.c:744 ++#: copy.c:746 + msgid "No decryption engine available for message" + msgstr "No decryption engine available for message" + +-#: curs_lib.c:378 +-msgid "yes" +-msgstr "yes" +- +-#: curs_lib.c:379 +-msgid "no" +-msgstr "no" +- +-#: curs_lib.c:518 +-msgid "Exit NeoMutt?" +-msgstr "Exit NeoMutt?" +- +-#: curs_lib.c:597 +-msgid "Press any key to continue..." +-msgstr "Press any key to continue..." +- +-#: curs_lib.c:705 +-msgid " ('?' for list): " +-msgstr " ('?' for list): " +- +-#: edit.c:64 ++#: edit.c:62 + msgid "" + "~~ insert a line beginning with a single ~\n" + "~b users add users to the Bcc: field\n" +@@ -1650,7 +1845,7 @@ msgstr "" + "~M messages same as ~m, except include headers\n" + "~p print the message\n" + +-#: edit.c:75 ++#: edit.c:73 + msgid "" + "~q write file and quit editor\n" + "~r file read a file into the editor\n" +@@ -1672,20 +1867,20 @@ msgstr "" + "~? this message\n" + ". on a line by itself ends input\n" + +-#: edit.c:261 ++#: edit.c:259 + #, c-format + msgid "%d: invalid message number.\n" + msgstr "%d: invalid message number.\n" + +-#: edit.c:416 ++#: edit.c:414 + msgid "(End message with a . on a line by itself)\n" + msgstr "(End message with a . on a line by itself)\n" + +-#: edit.c:474 ++#: edit.c:472 + msgid "No mailbox.\n" + msgstr "No mailbox.\n" + +-#: edit.c:478 ++#: edit.c:476 + msgid "Message contains:\n" + msgstr "Message contains:\n" + +@@ -1693,19 +1888,19 @@ msgstr "Message contains:\n" + #. not IN the middle of the content. + #. So it doesn't mean "(message will continue)" + #. but means "(press any key to continue using neomutt)". +-#: edit.c:486 edit.c:547 ++#: edit.c:484 edit.c:545 + msgid "(continue)\n" + msgstr "(continue)\n" + +-#: edit.c:499 ++#: edit.c:497 + msgid "missing filename.\n" + msgstr "missing filename.\n" + +-#: edit.c:519 ++#: edit.c:517 + msgid "No lines in message.\n" + msgstr "No lines in message.\n" + +-#: edit.c:558 ++#: edit.c:556 + #, c-format + msgid "%s: unknown editor command (~? for help)\n" + msgstr "%s: unknown editor command (~? for help)\n" +@@ -1752,19 +1947,73 @@ msgstr "Can't append to folder: %s" + msgid "multipart message has no boundary parameter" + msgstr "multipart message has no boundary parameter" + +-#: flags.c:382 index.c:2561 index.c:2604 index.c:3134 index.c:3171 ++#: flags.c:381 index.c:2587 index.c:2630 index.c:3160 index.c:3197 + #: mutt_thread.c:1091 mutt_thread.c:1158 mutt_thread.c:1246 + msgid "Threading is not enabled" + msgstr "Threading is not enabled" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Set flag" + msgstr "Set flag" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Clear flag" + msgstr "Clear flag" + ++#: gui/color.c:633 gui/color.c:644 ++#, c-format ++msgid "%s: color not supported by term" ++msgstr "%s: colour not supported by term" ++ ++#: gui/color.c:652 ++#, c-format ++msgid "%s: no such color" ++msgstr "%s: no such colour" ++ ++#: gui/color.c:717 gui/color.c:740 gui/color.c:751 gui/color.c:842 ++#, c-format ++msgid "%s: no such object" ++msgstr "%s: no such object" ++ ++#: gui/color.c:1142 ++#, c-format ++msgid "%s: no such attribute" ++msgstr "%s: no such attribute" ++ ++#: gui/color.c:1244 ++msgid "default colors not supported" ++msgstr "default colours not supported" ++ ++#: gui/color.c:1282 ++#, c-format ++msgid "Maximum quoting level is %d" ++msgstr "Maximum quoting level is %d" ++ ++#: gui/color.c:1319 ++#, c-format ++msgid "%s: invalid number: %s" ++msgstr "%s: invalid number: %s" ++ ++#: gui/curs_lib.c:379 ++msgid "yes" ++msgstr "yes" ++ ++#: gui/curs_lib.c:380 ++msgid "no" ++msgstr "no" ++ ++#: gui/curs_lib.c:519 ++msgid "Exit NeoMutt?" ++msgstr "Exit NeoMutt?" ++ ++#: gui/curs_lib.c:598 ++msgid "Press any key to continue..." ++msgstr "Press any key to continue..." ++ ++#: gui/curs_lib.c:749 ++msgid " ('?' for list): " ++msgstr " ('?' for list): " ++ + #: handler.c:102 + #, c-format + msgid "[-- Type: %s/%s%s%s, Encoding: %s, Size: %s --]\n" +@@ -1785,23 +2034,23 @@ msgstr "[-- Autoview using %s --]\n" + msgid "Invoking autoview command: %s" + msgstr "Invoking autoview command: %s" + +-#: handler.c:591 mutt_attach.c:527 mutt_attach.c:714 mutt_attach.c:745 +-#: mutt_attach.c:1087 mutt_attach.c:1152 ncrypt/pgpkey.c:723 +-#: ncrypt/pgpkey.c:920 ++#: handler.c:590 mutt_attach.c:555 mutt_attach.c:747 mutt_attach.c:778 ++#: mutt_attach.c:1120 mutt_attach.c:1185 ncrypt/pgpkey.c:756 ++#: ncrypt/pgpkey.c:955 + msgid "Can't create filter" + msgstr "Can't create filter" + +-#: handler.c:595 ++#: handler.c:594 + #, c-format + msgid "[-- Can't run %s. --]\n" + msgstr "[-- Can't run %s. --]\n" + +-#: handler.c:614 handler.c:635 ++#: handler.c:613 handler.c:634 + #, c-format + msgid "[-- Autoview stderr of %s --]\n" + msgstr "[-- Autoview stderr of %s --]\n" + +-#: handler.c:764 ++#: handler.c:763 + msgid "[-- Error: message/external-body has no access-type parameter --]\n" + msgstr "[-- Error: message/external-body has no access-type parameter --]\n" + +@@ -1820,7 +2069,7 @@ msgstr "[-- Error: message/external-body has no access-type parameter --]\n" + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:807 ++#: handler.c:806 + #, c-format + msgid "" + "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" +@@ -1849,7 +2098,7 @@ msgstr[1] "" + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:830 ++#: handler.c:829 + #, c-format + msgid "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" + msgid_plural "[-- This %s/%s attachment (size %s bytes) has been deleted --]\n" +@@ -1863,7 +2112,7 @@ msgstr[1] "[-- This %s/%s attachment (size %s bytes) has been deleted --]\n" + #. + #. Caution: Argument three %3$ is also defined but should not be used + #. in this translation! +-#: handler.c:848 ++#: handler.c:847 + msgid "" + "[-- This %s/%s attachment has been deleted --]\n" + "[-- on %4$s --]\n" +@@ -1874,12 +2123,12 @@ msgstr "" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The first "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:856 ++#: handler.c:855 + #, c-format + msgid "[-- This %s/%s attachment has been deleted --]\n" + msgstr "[-- This %s/%s attachment has been deleted --]\n" + +-#: handler.c:866 ++#: handler.c:865 + #, c-format + msgid "[-- name: %s --]\n" + msgstr "[-- name: %s --]\n" +@@ -1887,7 +2136,7 @@ msgstr "[-- name: %s --]\n" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:884 ++#: handler.c:883 + #, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -1903,7 +2152,7 @@ msgstr "" + #. The "%s/%s" is a MIME type, e.g. "text/plain". The %s after + #. access-type is an access-type as defined by the MIME RFCs, e.g. "FTP", + #. "LOCAL-FILE", "MAIL-SERVER". +-#: handler.c:905 ++#: handler.c:904 + #, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -1912,91 +2161,91 @@ msgstr "" + "[-- This %s/%s attachment is not included, --]\n" + "[-- and the indicated access-type %s is unsupported --]\n" + +-#: handler.c:1090 ++#: handler.c:1089 + msgid "[-- Error: Could not display any parts of Multipart/Alternative --]\n" + msgstr "[-- Error: Could not display any parts of Multipart/Alternative --]\n" + + #. L10N: %s is the attachment description, filename or form_name. +-#: handler.c:1231 ++#: handler.c:1230 + #, c-format + msgid "[-- Attachment #%d: %s --]\n" + msgstr "[-- Attachment #%d: %s --]\n" + +-#: handler.c:1236 ++#: handler.c:1235 + #, c-format + msgid "[-- Attachment #%d --]\n" + msgstr "[-- Attachment #%d --]\n" + +-#: handler.c:1254 ++#: handler.c:1253 + msgid "One or more parts of this message could not be displayed" + msgstr "One or more parts of this message could not be displayed" + +-#: handler.c:1320 ++#: handler.c:1319 + msgid "Unable to open 'memory stream'" + msgstr "Unable to open 'memory stream'" + +-#: handler.c:1330 ++#: handler.c:1329 + msgid "Unable to open temporary file" + msgstr "Unable to open temporary file" + +-#: handler.c:1379 ++#: handler.c:1378 + msgid "failed to re-open 'memory stream'" + msgstr "failed to re-open 'memory stream'" + +-#: handler.c:1620 ++#: handler.c:1619 + msgid "Error: multipart/signed has no protocol" + msgstr "Error: multipart/signed has no protocol" + + #. L10N: %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1694 ++#: handler.c:1693 + #, c-format + msgid "[-- This is an attachment (use '%s' to view this part) --]\n" + msgstr "[-- This is an attachment (use '%s' to view this part) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". + #. The last %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1701 ++#: handler.c:1700 + #, c-format + msgid "[-- %s/%s is unsupported (use '%s' to view this part) --]\n" + msgstr "[-- %s/%s is unsupported (use '%s' to view this part) --]\n" + +-#: handler.c:1709 ++#: handler.c:1708 + msgid "[-- This is an attachment (need 'view-attachments' bound to key) --]\n" + msgstr "[-- This is an attachment (need 'view-attachments' bound to key) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1715 ++#: handler.c:1714 + #, c-format + msgid "[-- %s/%s is unsupported (need 'view-attachments' bound to key) --]\n" + msgstr "[-- %s/%s is unsupported (need 'view-attachments' bound to key) --]\n" + +-#: handler.c:1724 ++#: handler.c:1723 + msgid "[-- This is an attachment --]\n" + msgstr "[-- This is an attachment --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1729 ++#: handler.c:1728 + #, c-format + msgid "[-- %s/%s is unsupported --]\n" + msgstr "[-- %s/%s is unsupported --]\n" + +-#: help.c:400 ++#: help.c:401 + msgid "ERROR: please report this bug" + msgstr "ERROR: please report this bug" + +-#: help.c:455 ++#: help.c:456 + msgid "" + msgstr "" + +-#: help.c:469 ++#: help.c:470 + msgid "Generic bindings:" + msgstr "Generic bindings:" + +-#: help.c:473 ++#: help.c:474 + msgid "Unbound functions:" + msgstr "Unbound functions:" + +-#: help.c:481 ++#: help.c:482 + #, c-format + msgid "Help for %s" + msgstr "Help for %s" +@@ -2013,41 +2262,41 @@ msgstr "mailbox shortcut expanded to empty regex" + msgid "badly formatted command string" + msgstr "badly formatted command string" + +-#: hook.c:461 ++#: hook.c:466 + msgid "unhook: Can't do unhook * from within a hook" + msgstr "unhook: Can't do unhook * from within a hook" + +-#: hook.c:474 ++#: hook.c:479 + #, c-format + msgid "unhook: unknown hook type: %s" + msgstr "unhook: unknown hook type: %s" + +-#: hook.c:484 ++#: hook.c:489 + #, c-format + msgid "unhook: Can't delete a %s from within a %s" + msgstr "unhook: Can't delete a %s from within a %s" + + #. L10N: '%s' is the (misspelled) name of the menu, e.g. 'index' or 'pager' +-#: icommands.c:259 keymap.c:1161 keymap.c:1346 ++#: icommands.c:261 keymap.c:1159 keymap.c:1344 + #, c-format + msgid "%s: no such menu" + msgstr "%s: no such menu" + + #. L10N: '%s' is the name of the menu, e.g. 'index' or 'pager', it might + #. L10N: also be 'all' when all menus are affected. +-#: icommands.c:272 ++#: icommands.c:274 + #, c-format + msgid "%s: no binds for this menu" + msgstr "%s: no binds for this menu" + +-#: icommands.c:272 ++#: icommands.c:274 + #, c-format + msgid "%s: no macros for this menu" + msgstr "%s: no macros for this menu" + + #. L10N: '%s' is the file name of the temporary file +-#: icommands.c:283 icommands.c:296 icommands.c:316 icommands.c:340 +-#: icommands.c:360 icommands.c:371 imap/message.c:1093 ++#: icommands.c:285 icommands.c:297 icommands.c:317 icommands.c:340 ++#: icommands.c:360 icommands.c:370 imap/message.c:1093 + #, c-format + msgid "Could not create temporary file %s" + msgstr "Could not create temporary file %s" +@@ -2084,28 +2333,28 @@ msgstr "GSSAPI authentication failed" + msgid "LOGIN disabled on this server" + msgstr "LOGIN disabled on this server" + +-#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:288 ++#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:289 + msgid "Logging in..." + msgstr "Logging in..." + +-#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:329 ++#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:330 + msgid "Login failed" + msgstr "Login failed" + +-#: imap/auth_oauth.c:64 pop/pop_auth.c:346 smtp.c:524 ++#: imap/auth_oauth.c:65 pop/pop_auth.c:347 smtp.c:549 + msgid "Authenticating (OAUTHBEARER)..." + msgstr "Authenticating (OAUTHBEARER)..." + +-#: imap/auth_oauth.c:96 ++#: imap/auth_oauth.c:97 + msgid "OAUTHBEARER authentication failed" + msgstr "OAUTHBEARER authentication failed" + +-#: imap/auth_sasl.c:128 nntp/nntp.c:606 nntp/nntp.c:671 smtp.c:443 ++#: imap/auth_sasl.c:128 nntp/nntp.c:608 nntp/nntp.c:673 smtp.c:468 + #, c-format + msgid "Authenticating (%s)..." + msgstr "Authenticating (%s)..." + +-#: imap/auth_sasl.c:259 pop/pop_auth.c:200 smtp.c:584 smtp.c:646 ++#: imap/auth_sasl.c:259 pop/pop_auth.c:201 smtp.c:609 smtp.c:671 + msgid "SASL authentication failed" + msgstr "SASL authentication failed" + +@@ -2152,89 +2401,79 @@ msgstr "Rename failed: %s" + msgid "Mailbox renamed" + msgstr "Mailbox renamed" + +-#: imap/command.c:164 ++#: imap/command.c:177 + #, c-format + msgid "Mailbox %s@%s closed" + msgstr "Mailbox %s@%s closed" + +-#: imap/command.c:1258 imap/command.c:1370 ++#: imap/command.c:1287 imap/command.c:1399 + #, c-format + msgid "Connection to %s timed out" + msgstr "Connection to %s timed out" + +-#: imap/imap.c:87 ++#: imap/imap.c:93 + msgid "This IMAP server is ancient. NeoMutt does not work with it." + msgstr "This IMAP server is ancient. NeoMutt does not work with it." + +-#: imap/imap.c:438 ++#: imap/imap.c:444 + #, c-format + msgid "Header search without header name: %s" + msgstr "Header search without header name: %s" + +-#: imap/imap.c:468 ++#: imap/imap.c:474 + #, c-format + msgid "Server-side custom search not supported: %s" + msgstr "Server-side custom search not supported: %s" + +-#: imap/imap.c:584 ++#: imap/imap.c:590 + #, c-format + msgid "CREATE failed: %s" + msgstr "CREATE failed: %s" + +-#: imap/imap.c:704 ++#: imap/imap.c:710 + #, c-format + msgid "Closing connection to %s..." + msgstr "Closing connection to %s..." + +-#: imap/imap.c:882 nntp/nntp.c:1889 pop/pop_lib.c:324 smtp.c:687 ++#: imap/imap.c:888 nntp/nntp.c:1891 pop/pop_lib.c:350 smtp.c:712 + msgid "Secure connection with TLS?" + msgstr "Secure connection with TLS?" + +-#: imap/imap.c:895 nntp/nntp.c:1910 pop/pop_lib.c:343 smtp.c:702 ++#: imap/imap.c:901 nntp/nntp.c:1912 pop/pop_lib.c:369 smtp.c:727 + msgid "Could not negotiate TLS connection" + msgstr "Could not negotiate TLS connection" + +-#: imap/imap.c:910 pop/pop_lib.c:360 ++#: imap/imap.c:916 pop/pop_lib.c:386 + msgid "Encrypted connection unavailable" + msgstr "Encrypted connection unavailable" + +-#: imap/imap.c:1417 ++#: imap/imap.c:1430 + #, c-format + msgid "Subscribing to %s..." + msgstr "Subscribing to %s..." + +-#: imap/imap.c:1419 ++#: imap/imap.c:1432 + #, c-format + msgid "Unsubscribing from %s..." + msgstr "Unsubscribing from %s..." + +-#: imap/imap.c:1430 init.c:2142 +-#, c-format +-msgid "Subscribed to %s" +-msgstr "Subscribed to %s" +- +-#: imap/imap.c:1432 init.c:2620 +-#, c-format +-msgid "Unsubscribed from %s" +-msgstr "Unsubscribed from %s" +- +-#: imap/imap.c:1582 imap/message.c:1674 ++#: imap/imap.c:1595 imap/message.c:1674 + #, c-format + msgid "Copying %d message to %s..." + msgid_plural "Copying %d messages to %s..." + msgstr[0] "Copying %d message to %s..." + msgstr[1] "Copying %d messages to %s..." + +-#: imap/imap.c:1599 imap/imap.c:2217 imap/message.c:1713 muttlib.c:1505 ++#: imap/imap.c:1612 imap/imap.c:2254 imap/message.c:1713 muttlib.c:1503 + #, c-format + msgid "Create %s?" + msgstr "Create %s?" + +-#: imap/imap.c:1667 ++#: imap/imap.c:1685 + msgid "Expunge failed" + msgstr "Expunge failed" + +-#: imap/imap.c:1683 ++#: imap/imap.c:1701 + #, c-format + msgid "Marking %d message deleted..." + msgid_plural "Marking %d messages deleted..." +@@ -2242,43 +2481,43 @@ msgstr[0] "Marking %d message deleted..." + msgstr[1] "Marking %d messages deleted..." + + #. L10N: The plural is chosen by the last %d, i.e. the total number +-#: imap/imap.c:1720 ++#: imap/imap.c:1738 + #, c-format + msgid "Saving changed message... [%d/%d]" + msgid_plural "Saving changed messages... [%d/%d]" + msgstr[0] "Saving changed message... [%d/%d]" + msgstr[1] "Saving changed messages... [%d/%d]" + +-#: imap/imap.c:1776 ++#: imap/imap.c:1794 + msgid "Error saving flags. Close anyway?" + msgstr "Error saving flags. Close anyway?" + +-#: imap/imap.c:1783 ++#: imap/imap.c:1801 + msgid "Error saving flags" + msgstr "Error saving flags" + +-#: imap/imap.c:1808 ++#: imap/imap.c:1826 + msgid "Expunging messages from server..." + msgstr "Expunging messages from server..." + +-#: imap/imap.c:1814 ++#: imap/imap.c:1832 + msgid "imap_sync_mailbox: EXPUNGE failed" + msgstr "imap_sync_mailbox: EXPUNGE failed" + +-#: imap/imap.c:2023 nntp/nntp.c:2486 ++#: imap/imap.c:2058 nntp/nntp.c:2488 + #, c-format + msgid "Selecting %s..." + msgstr "Selecting %s..." + +-#: imap/imap.c:2184 ++#: imap/imap.c:2221 + msgid "Error opening mailbox" + msgstr "Error opening mailbox" + +-#: imap/imap.c:2330 ++#: imap/imap.c:2367 + msgid "IMAP server doesn't support custom flags" + msgstr "IMAP server doesn't support custom flags" + +-#: imap/imap.c:2374 ++#: imap/imap.c:2411 + msgid "Invalid IMAP flags" + msgstr "Invalid IMAP flags" + +@@ -2288,7 +2527,7 @@ msgid "Abort download and close mailbox?" + msgstr "Abort download and close mailbox?" + + #: imap/message.c:554 mutt/memory.c:58 mutt/memory.c:98 mutt/memory.c:134 +-#: mutt/string.c:1178 mx.c:1176 ++#: mutt/string.c:1201 mx.c:1195 + msgid "Out of memory" + msgstr "Out of memory" + +@@ -2306,7 +2545,7 @@ msgstr "Fetching flag updates..." + msgid "Unable to fetch headers from this IMAP server version" + msgstr "Unable to fetch headers from this IMAP server version" + +-#: imap/message.c:1099 index.c:1548 nntp/nntp.c:1328 pop/pop.c:426 ++#: imap/message.c:1099 index.c:1554 nntp/nntp.c:1330 pop/pop.c:426 + msgid "Fetching message headers..." + msgstr "Fetching message headers..." + +@@ -2319,152 +2558,152 @@ msgstr "Uploading message..." + msgid "Copying message %d to %s..." + msgstr "Copying message %d to %s..." + +-#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2737 pop/pop.c:1110 ++#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2739 pop/pop.c:1105 + msgid "Fetching message..." + msgstr "Fetching message..." + +-#: imap/message.c:1959 pop/pop.c:1106 ++#: imap/message.c:1959 pop/pop.c:1101 + msgid "The message index is incorrect. Try reopening the mailbox." + msgstr "The message index is incorrect. Try reopening the mailbox." + +-#: imap/util.c:767 ++#: imap/util.c:796 + msgid "Continue?" + msgstr "Continue?" + +-#: index.c:115 index.c:128 ++#: index.c:111 index.c:124 + msgid "Quit" + msgstr "Quit" + +-#: index.c:118 index.c:131 recvattach.c:93 ++#: index.c:114 index.c:127 recvattach.c:91 + msgid "Save" + msgstr "Save" + +-#: index.c:119 query.c:81 ++#: index.c:115 query.c:79 + msgid "Mail" + msgstr "Mail" + +-#: index.c:120 pager.c:237 ++#: index.c:116 pager.c:229 + msgid "Reply" + msgstr "Reply" + +-#: index.c:121 ++#: index.c:117 + msgid "Group" + msgstr "Group" + +-#: index.c:132 pager.c:244 ++#: index.c:128 pager.c:236 + msgid "Post" + msgstr "Post" + +-#: index.c:133 pager.c:245 ++#: index.c:129 pager.c:237 + msgid "Followup" + msgstr "Followup" + +-#: index.c:190 index.c:1362 ++#: index.c:186 index.c:1367 + msgid "No mailbox is open" + msgstr "No mailbox is open" + +-#: index.c:196 ++#: index.c:192 + msgid "There are no messages" + msgstr "There are no messages" + +-#: index.c:202 ++#: index.c:198 + msgid "No visible messages" + msgstr "No visible messages" + +-#: index.c:208 mx.c:901 pager.c:223 recvattach.c:80 ++#: index.c:204 mx.c:920 pager.c:215 recvattach.c:78 + msgid "Mailbox is read-only" + msgstr "Mailbox is read-only" + +-#: index.c:214 pager.c:225 recvattach.c:98 ++#: index.c:210 pager.c:217 recvattach.c:96 + msgid "Function not permitted in attach-message mode" + msgstr "Function not permitted in attach-message mode" + + #. L10N: %s is one of the CHECK_ACL entries below. +-#: index.c:239 pager.c:290 ++#: index.c:235 pager.c:282 + #, c-format + msgid "%s: Operation not permitted by ACL" + msgstr "%s: Operation not permitted by ACL" + +-#: index.c:430 ++#: index.c:426 + msgid "Can't toggle write on a readonly mailbox" + msgstr "Can't toggle write on a readonly mailbox" + +-#: index.c:437 ++#: index.c:433 + msgid "Changes to folder will be written on folder exit" + msgstr "Changes to folder will be written on folder exit" + +-#: index.c:442 ++#: index.c:438 + msgid "Changes to folder will not be written" + msgstr "Changes to folder will not be written" + +-#: index.c:719 muttlib.c:1490 mx.c:206 mx.c:340 ++#: index.c:714 muttlib.c:1488 mx.c:206 mx.c:338 + #, c-format + msgid "%s is not a mailbox" + msgstr "%s is not a mailbox" + +-#: index.c:1218 ++#: index.c:1223 + msgid "Mailbox was externally modified. Flags may be wrong." + msgstr "Mailbox was externally modified. Flags may be wrong." + +-#: index.c:1227 pager.c:2409 ++#: index.c:1232 pager.c:2379 + msgid "New mail in this mailbox" + msgstr "New mail in this mailbox" + +-#: index.c:1242 ++#: index.c:1247 + msgid "Mailbox was externally modified" + msgstr "Mailbox was externally modified" + +-#: index.c:1369 ++#: index.c:1374 + msgid "No tagged messages" + msgstr "No tagged messages" + +-#: index.c:1373 index.c:1647 menu.c:1423 ++#: index.c:1378 index.c:1653 menu.c:1423 + msgid "Nothing to do" + msgstr "Nothing to do" + +-#: index.c:1470 ++#: index.c:1475 + msgid "Enter Message-Id: " + msgstr "Enter Message-Id: " + +-#: index.c:1481 ++#: index.c:1487 + msgid "Article has no parent reference" + msgstr "Article has no parent reference" + +-#: index.c:1504 ++#: index.c:1510 + msgid "Message is not visible in limited view" + msgstr "Message is not visible in limited view" + +-#: index.c:1508 ++#: index.c:1514 + #, c-format + msgid "Fetching %s from server..." + msgstr "Fetching %s from server..." + +-#: index.c:1518 nntp/nntp.c:2772 ++#: index.c:1524 nntp/nntp.c:2774 + #, c-format + msgid "Article %s not found on the server" + msgstr "Article %s not found on the server" + +-#: index.c:1544 ++#: index.c:1550 + msgid "No Message-Id. Unable to perform operation." + msgstr "No Message-Id. Unable to perform operation." + +-#: index.c:1623 ++#: index.c:1629 + msgid "No deleted messages found in the thread" + msgstr "No deleted messages found in the thread" + +-#: index.c:1644 ++#: index.c:1650 + msgid "Jump to message: " + msgstr "Jump to message: " + +-#: index.c:1650 ++#: index.c:1656 + msgid "Argument must be a message number" + msgstr "Argument must be a message number" + +-#: index.c:1652 ++#: index.c:1658 + msgid "Invalid message number" + msgstr "Invalid message number" + +-#: index.c:1654 ++#: index.c:1660 + msgid "That message is not visible" + msgstr "That message is not visible" + +@@ -2477,37 +2716,37 @@ msgstr "That message is not visible" + #. delete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. + #. +-#: index.c:1692 index.c:3267 pager.c:3064 ++#: index.c:1698 index.c:3293 pager.c:3039 + msgid "Can't delete messages" + msgstr "Can't delete messages" + +-#: index.c:1695 ++#: index.c:1701 + msgid "Delete messages matching: " + msgstr "Delete messages matching: " + +-#: index.c:1736 ++#: index.c:1742 + msgid "No limit pattern is in effect" + msgstr "No limit pattern is in effect" + + #. L10N: ask for a limit to apply +-#: index.c:1741 ++#: index.c:1747 + #, c-format + msgid "Limit: %s" + msgstr "Limit: %s" + +-#: index.c:1778 ++#: index.c:1784 + msgid "Limit to messages matching: " + msgstr "Limit to messages matching: " + +-#: index.c:1809 ++#: index.c:1815 + msgid "To view all messages, limit to \"all\"" + msgstr "To view all messages, limit to \"all\"" + +-#: index.c:1821 pager.c:2514 ++#: index.c:1827 pager.c:2487 + msgid "Quit NeoMutt?" + msgstr "Quit NeoMutt?" + +-#: index.c:1924 ++#: index.c:1931 + msgid "Tag messages matching: " + msgstr "Tag messages matching: " + +@@ -2515,195 +2754,195 @@ msgstr "Tag messages matching: " + #. L10N: Due to the implementation details we do not know whether we + #. undelete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:1935 index.c:3807 pager.c:3418 ++#: index.c:1942 index.c:3833 pager.c:3396 + msgid "Can't undelete messages" + msgstr "Can't undelete messages" + +-#: index.c:1939 ++#: index.c:1946 + msgid "Undelete messages matching: " + msgstr "Undelete messages matching: " + +-#: index.c:1948 ++#: index.c:1955 + msgid "Untag messages matching: " + msgstr "Untag messages matching: " + +-#: index.c:1989 ++#: index.c:1996 + msgid "Logged out of IMAP servers" + msgstr "Logged out of IMAP servers" + +-#: index.c:2105 ++#: index.c:2113 + msgid "No virtual folder and no Message-Id, aborting" + msgstr "No virtual folder and no Message-Id, aborting" + +-#: index.c:2117 index.c:2288 index.c:2310 index.c:2331 ++#: index.c:2125 index.c:2313 index.c:2335 index.c:2356 + msgid "Failed to create query, aborting" + msgstr "Failed to create query, aborting" + +-#: index.c:2130 ++#: index.c:2138 + msgid "failed to find message in notmuch database. try running 'notmuch new'." + msgstr "failed to find message in notmuch database. try running 'notmuch new'." + +-#: index.c:2139 ++#: index.c:2147 + msgid "Failed to read thread, aborting" + msgstr "Failed to read thread, aborting" + +-#: index.c:2171 mx.c:1252 mx.c:1272 ++#: index.c:2179 mx.c:1271 mx.c:1291 + msgid "Folder doesn't support tagging, aborting" + msgstr "Folder doesn't support tagging, aborting" + +-#: index.c:2188 ++#: index.c:2196 + msgid "No tag specified, aborting" + msgstr "No tag specified, aborting" + +-#: index.c:2198 ++#: index.c:2206 + msgid "Update tags..." + msgstr "Update tags..." + +-#: index.c:2238 ++#: index.c:2246 + msgid "Failed to modify tags, aborting" + msgstr "Failed to modify tags, aborting" + +-#: index.c:2284 ++#: index.c:2293 + msgid "No query, aborting" + msgstr "No query, aborting" + +-#: index.c:2299 index.c:2320 ++#: index.c:2324 index.c:2345 + msgid "Windowed queries disabled" + msgstr "Windowed queries disabled" + +-#: index.c:2304 index.c:2325 ++#: index.c:2329 index.c:2350 + msgid "No notmuch vfolder currently loaded" + msgstr "No notmuch vfolder currently loaded" + +-#: index.c:2374 ++#: index.c:2399 + msgid "Open mailbox in read-only mode" + msgstr "Open mailbox in read-only mode" + +-#: index.c:2376 ++#: index.c:2401 + msgid "Open mailbox" + msgstr "Open mailbox" + +-#: index.c:2386 ++#: index.c:2411 + msgid "No mailboxes have new mail" + msgstr "No mailboxes have new mail" + +-#: index.c:2419 ++#: index.c:2444 + msgid "Open newsgroup in read-only mode" + msgstr "Open newsgroup in read-only mode" + +-#: index.c:2421 ++#: index.c:2446 + msgid "Open newsgroup" + msgstr "Open newsgroup" + +-#: index.c:2538 ++#: index.c:2564 + msgid "Exit NeoMutt without saving?" + msgstr "Exit NeoMutt without saving?" + + #. L10N: CHECK_ACL +-#: index.c:2554 ++#: index.c:2580 + msgid "Can't break thread" + msgstr "Can't break thread" + +-#: index.c:2574 ++#: index.c:2600 + msgid "Thread broken" + msgstr "Thread broken" + +-#: index.c:2587 ++#: index.c:2613 + msgid "Thread can't be broken, message is not part of a thread" + msgstr "Thread can't be broken, message is not part of a thread" + + #. L10N: CHECK_ACL +-#: index.c:2597 ++#: index.c:2623 + msgid "Can't link threads" + msgstr "Can't link threads" + +-#: index.c:2606 ++#: index.c:2632 + msgid "No Message-ID: header available to link thread" + msgstr "No Message-ID: header available to link thread" + +-#: index.c:2608 ++#: index.c:2634 + msgid "First, please tag a message to be linked here" + msgstr "First, please tag a message to be linked here" + +-#: index.c:2621 ++#: index.c:2647 + msgid "Threads linked" + msgstr "Threads linked" + +-#: index.c:2624 ++#: index.c:2650 + msgid "No thread linked" + msgstr "No thread linked" + +-#: index.c:2665 index.c:2690 ++#: index.c:2691 index.c:2716 + msgid "You are on the last message" + msgstr "You are on the last message" + +-#: index.c:2673 index.c:2716 ++#: index.c:2699 index.c:2742 + msgid "No undeleted messages" + msgstr "No undeleted messages" + +-#: index.c:2708 index.c:2733 ++#: index.c:2734 index.c:2759 + msgid "You are on the first message" + msgstr "You are on the first message" + +-#: index.c:2874 ++#: index.c:2900 + msgid "No new messages in this limited view" + msgstr "No new messages in this limited view" + +-#: index.c:2876 ++#: index.c:2902 + msgid "No new messages" + msgstr "No new messages" + +-#: index.c:2881 ++#: index.c:2907 + msgid "No unread messages in this limited view" + msgstr "No unread messages in this limited view" + +-#: index.c:2883 ++#: index.c:2909 + msgid "No unread messages" + msgstr "No unread messages" + +-#: index.c:2893 menu.c:1208 pager.c:2644 pattern.c:2652 ++#: index.c:2919 menu.c:1208 pager.c:2618 pattern.c:2776 + msgid "Search wrapped to top" + msgstr "Search wrapped to top" + +-#: index.c:2898 pager.c:2669 pattern.c:2663 ++#: index.c:2924 pager.c:2643 pattern.c:2787 + msgid "Search wrapped to bottom" + msgstr "Search wrapped to bottom" + + #. L10N: CHECK_ACL +-#: index.c:2915 ++#: index.c:2941 + msgid "Can't flag message" + msgstr "Can't flag message" + + #. L10N: CHECK_ACL +-#: index.c:2961 pager.c:3377 ++#: index.c:2987 pager.c:3355 + msgid "Can't toggle new" + msgstr "Can't toggle new" + +-#: index.c:3057 ++#: index.c:3083 + msgid "No more threads" + msgstr "No more threads" + +-#: index.c:3059 ++#: index.c:3085 + msgid "You are on the first thread" + msgstr "You are on the first thread" + +-#: index.c:3156 ++#: index.c:3182 + msgid "Thread contains unread or flagged messages" + msgstr "Thread contains unread or flagged messages" + + #. L10N: CHECK_ACL +-#: index.c:3215 pager.c:3019 ++#: index.c:3241 pager.c:2994 + msgid "Can't delete message" + msgstr "Can't delete message" + + #. L10N: CHECK_ACL +-#: index.c:3339 ++#: index.c:3365 + msgid "Can't edit message" + msgstr "Can't edit message" + + #. L10N: This is displayed when the x-label on one or more + #. messages is edited. +-#: index.c:3432 pager.c:3495 ++#: index.c:3458 pager.c:3473 + #, c-format + msgid "%d label changed" + msgid_plural "%d labels changed" +@@ -2713,7 +2952,7 @@ msgstr[1] "%d labels changed" + #. L10N: This is displayed when editing an x-label, but no messages + #. were updated. Possibly due to canceling at the prompt or if the new + #. label is the same as the old label. +-#: index.c:3440 pager.c:3499 ++#: index.c:3466 pager.c:3477 + msgid "No labels changed" + msgstr "No labels changed" + +@@ -2721,275 +2960,140 @@ msgstr "No labels changed" + #. L10N: Due to the implementation details we do not know whether we + #. mark zero, 1, 12, ... messages as read. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:3571 ++#: index.c:3597 + msgid "Can't mark messages as read" + msgstr "Can't mark messages as read" + + #. L10N: This is the prompt for . Whatever they + #. enter will be prefixed by $mark_macro_prefix and will become + #. a macro hotkey to jump to the currently selected message. +-#: index.c:3612 ++#: index.c:3638 + msgid "Enter macro stroke: " + msgstr "Enter macro stroke: " + + #. L10N: "message hotkey" is the key bindings menu description of a + #. macro created by . +-#: index.c:3620 ++#: index.c:3646 + msgid "message hotkey" + msgstr "message hotkey" + + #. L10N: This is echoed after creates a new hotkey + #. macro. %s is the hotkey string ($mark_macro_prefix followed + #. by whatever they typed at the prompt.) +-#: index.c:3625 ++#: index.c:3651 + #, c-format + msgid "Message bound to %s" + msgstr "Message bound to %s" + + #. L10N: This error is printed if can't find a + #. Message-ID for the currently selected message in the index. +-#: index.c:3634 ++#: index.c:3660 + msgid "No message ID to macro" + msgstr "No message ID to macro" + +-#: index.c:3688 pager.c:3221 recvattach.c:1646 ++#: index.c:3714 pager.c:3196 recvattach.c:1678 + msgid "Reply by mail as poster prefers?" + msgstr "Reply by mail as poster prefers?" + +-#: index.c:3691 pager.c:3182 pager.c:3194 pager.c:3224 ++#: index.c:3717 pager.c:3157 pager.c:3169 pager.c:3199 + msgid "Posting to this group not allowed, may be moderated. Continue?" + msgstr "Posting to this group not allowed, may be moderated. Continue?" + + #. L10N: CHECK_ACL +-#: index.c:3768 pager.c:3397 ++#: index.c:3794 pager.c:3375 + msgid "Can't undelete message" + msgstr "Can't undelete message" + +-#: init.c:313 ++#: init.c:223 + #, c-format + msgid "Error in command line: %s" + msgstr "Error in command line: %s" + +-#: init.c:315 ++#: init.c:225 + #, c-format + msgid "Warning in command line: %s" + msgstr "Warning in command line: %s" + +-#: init.c:426 ++#: init.c:336 + msgid "unable to determine nodename via uname()" + msgstr "unable to determine nodename via uname()" + +-#: init.c:580 +-msgid "-group: no group name" +-msgstr "-group: no group name" +- +-#: init.c:590 +-msgid "out of arguments" +-msgstr "out of arguments" +- +-#: init.c:804 init.c:1752 +-#, c-format +-msgid "Error: Can't build path of '%s'" +-msgstr "Error: Can't build path of '%s'" +- +-#: init.c:817 +-#, c-format +-msgid "Error: Cyclic sourcing of configuration file '%s'" +-msgstr "Error: Cyclic sourcing of configuration file '%s'" +- +-#: init.c:850 +-#, c-format +-msgid "Error in %s, line %d: %s" +-msgstr "Error in %s, line %d: %s" +- +-#: init.c:861 +-#, c-format +-msgid "Warning in %s, line %d: %s" +-msgstr "Warning in %s, line %d: %s" +- +-#: init.c:885 +-#, c-format +-msgid "source: errors in %s" +-msgstr "source: errors in %s" +- +-#: init.c:885 +-#, c-format +-msgid "source: reading aborted due to too many errors in %s" +-msgstr "source: reading aborted due to too many errors in %s" +- +-#: init.c:894 +-#, c-format +-msgid "source: %d warning in %s" +-msgid_plural "source: %d warnings in %s" +-msgstr[0] "source: %d warning in %s" +-msgstr[1] "source: %d warnings in %s" +- +-#: init.c:923 +-msgid "alias: no address" +-msgstr "alias: no address" +- +-#: init.c:965 +-#, c-format +-msgid "Warning: Bad IDN '%s' in alias '%s'" +-msgstr "Warning: Bad IDN '%s' in alias '%s'" +- +-#: init.c:1043 +-msgid "attachments: no disposition" +-msgstr "attachments: no disposition" +- +-#: init.c:1054 +-msgid "Current attachments settings:" +-msgstr "Current attachments settings:" +- +-#: init.c:1084 +-msgid "attachments: invalid disposition" +-msgstr "attachments: invalid disposition" +- +-#: init.c:1160 +-#, c-format +-msgid "%sgroup: missing -rx or -addr" +-msgstr "%sgroup: missing -rx or -addr" +- +-#: init.c:1186 +-#, c-format +-msgid "%sgroup: warning: bad IDN '%s'" +-msgstr "%sgroup: warning: bad IDN '%s'" +- +-#: init.c:1278 +-#, c-format +-msgid "Error: %s" +-msgstr "Error: %s" +- +-#: init.c:1445 +-msgid "invalid header field" +-msgstr "invalid header field" +- +-#: init.c:1711 init.c:1815 +-#, c-format +-msgid "%s: unknown variable" +-msgstr "%s: unknown variable" +- +-#: init.c:1908 +-#, c-format +-msgid "%s is unset" +-msgstr "%s is unset" +- +-#: init.c:1953 mutt_lua.c:478 +-#, c-format +-msgid "source: error at %s" +-msgstr "source: error at %s" +- +-#: init.c:1961 +-#, c-format +-msgid "source: file %s could not be sourced" +-msgstr "source: file %s could not be sourced" +- +-#: init.c:1984 +-msgid "spam: no matching pattern" +-msgstr "spam: no matching pattern" +- +-#: init.c:1986 +-msgid "nospam: no matching pattern" +-msgstr "nospam: no matching pattern" +- +-#: init.c:2146 +-#, c-format +-msgid "Could not subscribe to %s" +-msgstr "Could not subscribe to %s" +- +-#: init.c:2154 init.c:2632 +-msgid "No folder specified" +-msgstr "No folder specified" +- +-#: init.c:2341 +-msgid "unattachments: no disposition" +-msgstr "unattachments: no disposition" +- +-#: init.c:2379 +-msgid "unattachments: invalid disposition" +-msgstr "unattachments: invalid disposition" +- +-#: init.c:2624 +-#, c-format +-msgid "Could not unsubscribe from %s" +-msgstr "Could not unsubscribe from %s" +- +-#: init.c:3292 ++#: init.c:1042 + #, c-format + msgid "%s: unknown command" + msgstr "%s: unknown command" + +-#: init.c:3837 ++#: init.c:1588 + msgid "'charset' must contain exactly one character set name" + msgstr "'charset' must contain exactly one character set name" + +-#: init.c:3853 init.c:3877 init.c:3912 ++#: init.c:1604 init.c:1628 init.c:1663 + #, c-format + msgid "Invalid value for option %s: %s" + msgstr "Invalid value for option %s: %s" + +-#: init.c:3890 ++#: init.c:1641 + #, c-format + msgid "Option %s may not be set or reset from the pager" + msgstr "Option %s may not be set or reset from the pager" + +-#: init.c:3928 ++#: init.c:1679 + #, c-format + msgid "Option %s may not be set when in attach-message mode" + msgstr "Option %s may not be set when in attach-message mode" + + #. L10N: This applies to the "$wrap_headers" config variable +-#: init.c:3943 ++#: init.c:1694 + #, c-format + msgid "Option %s must between 78 and 998 inclusive" + msgstr "Option %s must between 78 and 998 inclusive" + +-#: keymap.c:373 keymap.c:381 ++#: keymap.c:371 keymap.c:379 + #, c-format + msgid "Binding '%s' will alias '%s' Before, try: 'bind %s %s noop' https://neomutt.org/guide/configuration.html#bind-warnings" + msgstr "Binding '%s' will alias '%s' Before, try: 'bind %s %s noop' https://neomutt.org/guide/configuration.html#bind-warnings" + +-#: keymap.c:757 ++#: keymap.c:755 + msgid "Macro loop detected" + msgstr "Macro loop detected" + +-#: keymap.c:1064 keymap.c:1099 ++#: keymap.c:1062 keymap.c:1097 + msgid "Key is not bound" + msgstr "Key is not bound" + +-#: keymap.c:1104 ++#: keymap.c:1102 + #, c-format + msgid "Key is not bound. Press '%s' for help." + msgstr "Key is not bound. Press '%s' for help." + +-#: keymap.c:1177 ++#: keymap.c:1175 + #, c-format + msgid "%s: null key sequence" + msgstr "%s: null key sequence" + +-#: keymap.c:1212 ++#: keymap.c:1210 + #, c-format + msgid "Function '%s' not available for menu '%s'" + msgstr "Function '%s' not available for menu '%s'" + +-#: keymap.c:1495 ++#: keymap.c:1493 + msgid "macro: empty key sequence" + msgstr "macro: empty key sequence" + +-#: keymap.c:1543 ++#: keymap.c:1541 + msgid "exec: no arguments" + msgstr "exec: no arguments" + +-#: keymap.c:1563 ++#: keymap.c:1561 + #, c-format + msgid "%s: no such function" + msgstr "%s: no such function" + +-#: keymap.c:1584 ++#: keymap.c:1582 + msgid "Enter keys (^G to abort): " + msgstr "Enter keys (^G to abort): " + +-#: keymap.c:1590 ++#: keymap.c:1588 + #, c-format + msgid "Char = %s, Octal = %o, Decimal = %d" + msgstr "Char = %s, Octal = %o, Decimal = %d" +@@ -3013,7 +3117,7 @@ msgstr "mailcap entry for type %s not found" + msgid "Scanning %s..." + msgstr "Scanning %s..." + +-#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:353 ++#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:351 + #, c-format + msgid "Reading %s..." + msgstr "Reading %s..." +@@ -3027,13 +3131,13 @@ msgid "md_commit_message(): unable to set time on file" + msgstr "md_commit_message(): unable to set time on file" + + #. L10N: Displayed before/as a mailbox is being synced +-#: maildir/shared.c:1723 mbox/mbox.c:1276 mx.c:461 notmuch/mutt_notmuch.c:2364 ++#: maildir/shared.c:1734 mbox/mbox.c:1276 mx.c:459 notmuch/mutt_notmuch.c:2364 + #, c-format + msgid "Writing %s..." + msgstr "Writing %s..." + + #. L10N: Try to limit to 80 columns +-#: main.c:227 ++#: main.c:160 + msgid "" + "usage:\n" + " neomutt [-Enx] [-e ] [-F ] [-H ] [-i ]\n" +@@ -3074,7 +3178,7 @@ msgstr "" + " neomutt -v[v]\n" + + #. L10N: Try to limit to 80 columns. If more space is needed add an indented line +-#: main.c:247 ++#: main.c:180 + msgid "" + "options:\n" + " -- Special argument forces NeoMutt to stop option parsing and treat\n" +@@ -3156,54 +3260,54 @@ msgstr "" + " -z Open the first or specified (-f) mailbox if it holds any message\n" + " or exit immediately with exit code 1 otherwise" + +-#: main.c:312 ++#: main.c:245 + msgid "Error initializing terminal" + msgstr "Error initializing terminal" + +-#: main.c:390 ++#: main.c:323 + msgid "unable to determine username" + msgstr "unable to determine username" + +-#: main.c:396 ++#: main.c:329 + msgid "unable to determine home directory" + msgstr "unable to determine home directory" + +-#: main.c:640 ++#: main.c:572 + #, c-format + msgid "Error: value '%s' is invalid for -d" + msgstr "Error: value '%s' is invalid for -d" + +-#: main.c:884 ++#: main.c:815 + msgid "Failed to parse mailto: link" + msgstr "Failed to parse mailto: link" + +-#: main.c:896 send.c:2452 send.c:2456 ++#: main.c:827 send.c:2463 send.c:2467 + msgid "No recipients specified" + msgstr "No recipients specified" + +-#: main.c:923 ++#: main.c:854 + msgid "Can't use -E flag with stdin" + msgstr "Can't use -E flag with stdin" + +-#: main.c:1007 ++#: main.c:938 + #, c-format + msgid "Can't parse message template: %s" + msgstr "Can't parse message template: %s" + +-#: main.c:1073 mutt_header.c:329 ++#: main.c:1004 mutt_header.c:329 + #, c-format + msgid "%s: unable to attach file" + msgstr "%s: unable to attach file" + +-#: main.c:1156 ++#: main.c:1087 + msgid "No mailbox with new mail" + msgstr "No mailbox with new mail" + +-#: main.c:1180 ++#: main.c:1111 + msgid "No incoming mailboxes defined" + msgstr "No incoming mailboxes defined" + +-#: main.c:1230 ++#: main.c:1161 + msgid "Mailbox is empty" + msgstr "Mailbox is empty" + +@@ -3245,52 +3349,52 @@ msgstr "Could not reopen mailbox" + msgid "Can't write message" + msgstr "Can't write message" + +-#: menu.c:632 ++#: menu.c:631 + msgid "Jump to: " + msgstr "Jump to: " + +-#: menu.c:641 ++#: menu.c:640 + msgid "Invalid index number" + msgstr "Invalid index number" + +-#: menu.c:645 menu.c:671 menu.c:744 menu.c:810 menu.c:828 menu.c:843 menu.c:858 +-#: menu.c:873 menu.c:890 menu.c:907 menu.c:1553 ++#: menu.c:644 menu.c:670 menu.c:743 menu.c:809 menu.c:827 menu.c:842 menu.c:857 ++#: menu.c:872 menu.c:889 menu.c:906 menu.c:1553 + msgid "No entries" + msgstr "No entries" + +-#: menu.c:668 ++#: menu.c:667 + msgid "You can't scroll down farther" + msgstr "You can't scroll down farther" + +-#: menu.c:690 ++#: menu.c:689 + msgid "You can't scroll up farther" + msgstr "You can't scroll up farther" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the first page" + msgstr "You are on the first page" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the last page" + msgstr "You are on the last page" + +-#: menu.c:922 ++#: menu.c:921 + msgid "You are on the last entry" + msgstr "You are on the last entry" + +-#: menu.c:937 ++#: menu.c:936 + msgid "You are on the first entry" + msgstr "You are on the first entry" + +-#: menu.c:1172 pager.c:2692 pattern.c:2578 ++#: menu.c:1172 pager.c:2666 pattern.c:2702 + msgid "Search for: " + msgstr "Search for: " + +-#: menu.c:1173 pager.c:2693 pattern.c:2579 ++#: menu.c:1173 pager.c:2667 pattern.c:2703 + msgid "Reverse search for: " + msgstr "Reverse search for: " + +-#: menu.c:1226 pager.c:2641 pager.c:2666 pager.c:2800 pattern.c:2708 ++#: menu.c:1226 pager.c:2615 pager.c:2640 pager.c:2774 pattern.c:2832 + msgid "Not found" + msgstr "Not found" + +@@ -3333,20 +3437,20 @@ msgstr "Waiting for flock attempt... %d" + msgid "Bad history file format (line %d)" + msgstr "Bad history file format (line %d)" + +-#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1006 ncrypt/crypt_gpgme.c:2381 +-#: ncrypt/crypt_gpgme.c:2401 ncrypt/crypt_gpgme.c:2460 +-#: ncrypt/crypt_gpgme.c:2477 ncrypt/crypt_gpgme.c:2509 +-#: ncrypt/crypt_gpgme.c:2527 ncrypt/crypt_gpgme.c:2611 +-#: ncrypt/crypt_gpgme.c:3194 ncrypt/crypt_gpgme.c:3292 +-#: ncrypt/crypt_gpgme.c:4373 ncrypt/pgp.c:576 ncrypt/pgp.c:583 ncrypt/pgp.c:896 +-#: ncrypt/pgp.c:1014 ncrypt/pgp.c:1161 ncrypt/pgp.c:1181 ncrypt/pgp.c:1215 +-#: ncrypt/pgp.c:1568 ncrypt/pgpkey.c:708 ncrypt/pgpkey.c:902 +-#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1092 ncrypt/smime.c:1100 +-#: ncrypt/smime.c:1191 ncrypt/smime.c:1299 ncrypt/smime.c:1364 +-#: ncrypt/smime.c:1372 ncrypt/smime.c:1571 ncrypt/smime.c:1967 +-#: ncrypt/smime.c:2046 ncrypt/smime.c:2053 ncrypt/smime.c:2156 +-#: ncrypt/smime.c:2281 ncrypt/smime.c:2297 nntp/nntp.c:1397 nntp/nntp.c:2237 +-#: pattern.c:1132 pop/pop.c:182 ++#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1005 ncrypt/crypt_gpgme.c:2420 ++#: ncrypt/crypt_gpgme.c:2440 ncrypt/crypt_gpgme.c:2499 ++#: ncrypt/crypt_gpgme.c:2516 ncrypt/crypt_gpgme.c:2548 ++#: ncrypt/crypt_gpgme.c:2566 ncrypt/crypt_gpgme.c:2650 ++#: ncrypt/crypt_gpgme.c:3237 ncrypt/crypt_gpgme.c:3335 ++#: ncrypt/crypt_gpgme.c:4421 ncrypt/pgp.c:575 ncrypt/pgp.c:582 ncrypt/pgp.c:895 ++#: ncrypt/pgp.c:1013 ncrypt/pgp.c:1160 ncrypt/pgp.c:1180 ncrypt/pgp.c:1214 ++#: ncrypt/pgp.c:1570 ncrypt/pgpkey.c:741 ncrypt/pgpkey.c:937 ++#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1126 ncrypt/smime.c:1134 ++#: ncrypt/smime.c:1225 ncrypt/smime.c:1333 ncrypt/smime.c:1398 ++#: ncrypt/smime.c:1406 ncrypt/smime.c:1605 ncrypt/smime.c:2001 ++#: ncrypt/smime.c:2080 ncrypt/smime.c:2087 ncrypt/smime.c:2190 ++#: ncrypt/smime.c:2315 ncrypt/smime.c:2331 nntp/nntp.c:1399 nntp/nntp.c:2239 ++#: pattern.c:1171 pop/pop.c:182 + msgid "Can't create temporary file" + msgstr "Can't create temporary file" + +@@ -3365,7 +3469,7 @@ msgstr "Debugging at level %d to file '%s'" + msgid "Logging at level %d to file '%s'" + msgstr "Logging at level %d to file '%s'" + +-#: mutt/path.c:401 ++#: mutt/path.c:420 + msgid "Error: converting path to absolute" + msgstr "Error: converting path to absolute" + +@@ -3388,17 +3492,17 @@ msgstr "Caught signal %d (%s) ... Exiting.\n" + msgid "Caught signal %d ... Exiting.\n" + msgstr "Caught signal %d ... Exiting.\n" + +-#: muttlib.c:490 ++#: muttlib.c:488 + #, c-format + msgid "mutt_randbuf buflen=%zu" + msgstr "mutt_randbuf buflen=%zu" + +-#: muttlib.c:510 ++#: muttlib.c:508 + #, c-format + msgid "open /dev/urandom: %s" + msgstr "open /dev/urandom: %s" + +-#: muttlib.c:517 ++#: muttlib.c:515 + #, c-format + msgid "read /dev/urandom: %s" + msgstr "read /dev/urandom: %s" +@@ -3406,146 +3510,119 @@ msgstr "read /dev/urandom: %s" + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) + #. These three letters correspond to the choices in the string. +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "File is a directory, save under it: (y)es, (n)o, (a)ll?" + msgstr "File is a directory, save under it: (y)es, (n)o, (a)ll?" + +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "yna" + msgstr "yna" + + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) +-#: muttlib.c:763 ++#: muttlib.c:761 + msgid "File is a directory, save under it?" + msgstr "File is a directory, save under it?" + +-#: muttlib.c:768 ++#: muttlib.c:766 + msgid "File under directory: " + msgstr "File under directory: " + +-#: muttlib.c:781 ++#: muttlib.c:779 + msgid "File exists, (o)verwrite, (a)ppend, or (c)ancel?" + msgstr "File exists, (o)verwrite, (a)ppend, or (c)ancel?" + + #. L10N: Options for: File exists, (o)verwrite, (a)ppend, or (c)ancel? +-#: muttlib.c:783 ++#: muttlib.c:781 + msgid "oac" + msgstr "oac" + +-#: muttlib.c:1458 ++#: muttlib.c:1456 + msgid "Can't save message to POP mailbox" + msgstr "Can't save message to POP mailbox" + +-#: muttlib.c:1468 ++#: muttlib.c:1466 + #, c-format + msgid "Append messages to %s?" + msgstr "Append messages to %s?" + +-#: muttlib.c:1481 ++#: muttlib.c:1479 + msgid "Can't save message to news server" + msgstr "Can't save message to news server" + +-#. L10N: Example: Username at myhost.com +-#: mutt_account.c:233 +-#, c-format +-msgid "Username at %s: " +-msgstr "Username at %s: " +- +-#: mutt_account.c:315 +-#, c-format +-msgid "Password for %s@%s: " +-msgstr "Password for %s@%s: " +- +-#. L10N: You will see this error message if (1) you have "oauthbearer" in +-#. one of your $*_authenticators and (2) you do not have the corresponding +-#. $*_oauth_refresh_command defined. So the message does not mean "None of +-#. your $*_oauth_refresh_command's are defined." +-#: mutt_account.c:383 +-msgid "No OAUTH refresh command defined" +-msgstr "No OAUTH refresh command defined" +- +-#: mutt_account.c:390 +-msgid "Unable to run refresh command" +-msgstr "Unable to run refresh command" +- +-#: mutt_account.c:400 +-msgid "Command returned empty string" +-msgstr "Command returned empty string" +- +-#: mutt_attach.c:140 mutt_attach.c:274 mutt_attach.c:459 mutt_attach.c:1054 ++#: mutt_attach.c:142 mutt_attach.c:276 mutt_attach.c:488 mutt_attach.c:1087 + msgid "Can't match 'nametemplate', continue?" + msgstr "Can't match 'nametemplate', continue?" + +-#: mutt_attach.c:150 ++#: mutt_attach.c:152 + #, c-format + msgid "Mailcap compose entry requires %%s" + msgstr "Mailcap compose entry requires %%s" + +-#: mutt_attach.c:168 ++#: mutt_attach.c:170 + msgid "Failure to open file to parse headers" + msgstr "Failure to open file to parse headers" + +-#: mutt_attach.c:202 ++#: mutt_attach.c:204 + msgid "Failure to open file to strip headers" + msgstr "Failure to open file to strip headers" + +-#: mutt_attach.c:212 ++#: mutt_attach.c:214 + msgid "Failure to rename file" + msgstr "Failure to rename file" + +-#: mutt_attach.c:222 ++#: mutt_attach.c:224 + #, c-format + msgid "No mailcap compose entry for %s, creating empty file" + msgstr "No mailcap compose entry for %s, creating empty file" + +-#: mutt_attach.c:284 ++#: mutt_attach.c:286 + #, c-format + msgid "Mailcap Edit entry requires %%s" + msgstr "Mailcap Edit entry requires %%s" + +-#: mutt_attach.c:305 ++#: mutt_attach.c:307 + #, c-format + msgid "No mailcap edit entry for %s" + msgstr "No mailcap edit entry for %s" + +-#: mutt_attach.c:427 ++#: mutt_attach.c:456 + msgid "No matching mailcap entry found. Viewing as text." + msgstr "No matching mailcap entry found. Viewing as text." + +-#: mutt_attach.c:440 ++#: mutt_attach.c:469 + msgid "MIME type not defined. Can't view attachment." + msgstr "MIME type not defined. Can't view attachment." + +-#: mutt_attach.c:535 ++#: mutt_attach.c:563 + #, c-format + msgid "---Command: %-20.20s Description: %s" + msgstr "---Command: %-20.20s Description: %s" + +-#: mutt_attach.c:540 ++#: mutt_attach.c:568 + #, c-format + msgid "---Command: %-30.30s Attachment: %s" + msgstr "---Command: %-30.30s Attachment: %s" + +-#: mutt_attach.c:619 ++#: mutt_attach.c:652 + #, c-format + msgid "---Attachment: %s: %s" + msgstr "---Attachment: %s: %s" + +-#: mutt_attach.c:621 ++#: mutt_attach.c:654 + #, c-format + msgid "---Attachment: %s" + msgstr "---Attachment: %s" + +-#: mutt_attach.c:902 mutt_attach.c:910 ++#: mutt_attach.c:935 mutt_attach.c:943 + msgid "Write fault" + msgstr "Write fault" + +-#: mutt_attach.c:1174 ++#: mutt_attach.c:1207 + msgid "I don't know how to print that" + msgstr "I don't know how to print that" + +-#: mutt_history.c:47 query.c:84 ++#: mutt_history.c:47 query.c:82 + msgid "Search" + msgstr "Search" + +@@ -3554,21 +3631,21 @@ msgstr "Search" + msgid "History '%s'" + msgstr "History '%s'" + +-#: mutt_logging.c:315 ++#: mutt_logging.c:313 + #, c-format + msgid "Invalid value for option %s: %ld" + msgstr "Invalid value for option %s: %ld" + +-#: mutt_lua.c:429 ++#: mutt_lua.c:431 + msgid "Error: Couldn't load the lua interpreter" + msgstr "Error: Couldn't load the lua interpreter" + +-#: mutt_lua.c:491 ++#: mutt_lua.c:493 + #, c-format + msgid "Couldn't source lua source: %s" + msgstr "Couldn't source lua source: %s" + +-#: mutt_mailbox.c:214 ++#: mutt_mailbox.c:241 + msgid "New mail in " + msgstr "New mail in " + +@@ -3589,20 +3666,20 @@ msgstr "Root message is not visible in this limited view" + msgid "Parent message is not visible in this limited view" + msgstr "Parent message is not visible in this limited view" + +-#: mx.c:387 ++#: mx.c:385 + #, c-format + msgid "Reading from %s interrupted..." + msgstr "Reading from %s interrupted..." + + #. L10N: Displayed if a mailbox sync fails +-#: mx.c:468 ++#: mx.c:469 + #, c-format + msgid "Unable to write %s" + msgstr "Unable to write %s" + + #. L10N: Although we know the precise number of messages, we do not show it to the user. + #. So feel free to use a "generic plural" as plural translation if your language has one. +-#: mx.c:523 ++#: mx.c:525 + msgid "message not deleted" + msgid_plural "messages not deleted" + msgstr[0] "message not deleted" +@@ -3612,69 +3689,69 @@ msgstr[1] "messages not deleted" + msgid "Can't open trash folder" + msgstr "Can't open trash folder" + +-#: mx.c:623 ++#: mx.c:627 + msgid "Mark all articles read?" + msgstr "Mark all articles read?" + + #. L10N: The first argument is the number of read messages to be + #. moved, the second argument is the target mailbox. +-#: mx.c:671 ++#: mx.c:675 + #, c-format + msgid "Move %d read message to %s?" + msgid_plural "Move %d read messages to %s?" + msgstr[0] "Move %d read message to %s?" + msgstr[1] "Move %d read messages to %s?" + +-#: mx.c:685 mx.c:917 ++#: mx.c:689 mx.c:936 + #, c-format + msgid "Purge %d deleted message?" + msgid_plural "Purge %d deleted messages?" + msgstr[0] "Purge %d deleted message?" + msgstr[1] "Purge %d deleted messages?" + +-#: mx.c:708 ++#: mx.c:712 + #, c-format + msgid "Moving read messages to %s..." + msgstr "Moving read messages to %s..." + +-#: mx.c:774 mx.c:908 ++#: mx.c:783 mx.c:927 + msgid "Mailbox is unchanged" + msgstr "Mailbox is unchanged" + +-#: mx.c:827 ++#: mx.c:842 + #, c-format + msgid "%d kept, %d moved, %d deleted" + msgstr "%d kept, %d moved, %d deleted" + +-#: mx.c:831 mx.c:972 ++#: mx.c:846 mx.c:991 + #, c-format + msgid "%d kept, %d deleted" + msgstr "%d kept, %d deleted" + +-#: mx.c:892 ++#: mx.c:911 + #, c-format + msgid " Press '%s' to toggle write" + msgstr " Press '%s' to toggle write" + +-#: mx.c:894 ++#: mx.c:913 + msgid "Use 'toggle-write' to re-enable write" + msgstr "Use 'toggle-write' to re-enable write" + +-#: mx.c:896 ++#: mx.c:915 + #, c-format + msgid "Mailbox is marked unwritable. %s" + msgstr "Mailbox is marked unwritable. %s" + +-#: mx.c:966 ++#: mx.c:985 + msgid "Mailbox checkpointed" + msgstr "Mailbox checkpointed" + +-#: ncrypt/crypt.c:93 ++#: ncrypt/crypt.c:91 + #, c-format + msgid " (current time: %c)" + msgstr " (current time: %c)" + +-#: ncrypt/crypt.c:98 ++#: ncrypt/crypt.c:96 + #, c-format + msgid "[-- %s output follows%s --]\n" + msgstr "[-- %s output follows%s --]\n" +@@ -3683,52 +3760,52 @@ msgstr "[-- %s output follows%s --]\n" + #. by gpg-agent) we can't know whether we forgot zero, 1, 12, ... + #. passwords. So in English we use "Passphrases". Your language might + #. have other means to express this. +-#: ncrypt/crypt.c:119 ++#: ncrypt/crypt.c:117 + msgid "Passphrases forgotten" + msgstr "Passphrases forgotten" + +-#: ncrypt/crypt.c:203 ++#: ncrypt/crypt.c:201 + msgid "Inline PGP can't be used with attachments. Revert to PGP/MIME?" + msgstr "Inline PGP can't be used with attachments. Revert to PGP/MIME?" + +-#: ncrypt/crypt.c:207 ++#: ncrypt/crypt.c:205 + msgid "Mail not sent: inline PGP can't be used with attachments" + msgstr "Mail not sent: inline PGP can't be used with attachments" + +-#: ncrypt/crypt.c:214 ++#: ncrypt/crypt.c:212 + msgid "Inline PGP can't be used with format=flowed. Revert to PGP/MIME?" + msgstr "Inline PGP can't be used with format=flowed. Revert to PGP/MIME?" + +-#: ncrypt/crypt.c:218 ++#: ncrypt/crypt.c:216 + msgid "Mail not sent: inline PGP can't be used with format=flowed" + msgstr "Mail not sent: inline PGP can't be used with format=flowed" + +-#: ncrypt/crypt.c:228 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:714 +-#: ncrypt/pgpkey.c:915 ++#: ncrypt/crypt.c:226 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:747 ++#: ncrypt/pgpkey.c:950 + msgid "Invoking PGP..." + msgstr "Invoking PGP..." + +-#: ncrypt/crypt.c:240 ++#: ncrypt/crypt.c:238 + msgid "Message can't be sent inline. Revert to using PGP/MIME?" + msgstr "Message can't be sent inline. Revert to using PGP/MIME?" + +-#: ncrypt/crypt.c:242 send.c:2430 ++#: ncrypt/crypt.c:240 send.c:2441 + msgid "Mail not sent" + msgstr "Mail not sent" + +-#: ncrypt/crypt.c:662 ++#: ncrypt/crypt.c:666 + msgid "S/MIME messages with no hints on content are unsupported" + msgstr "S/MIME messages with no hints on content are unsupported" + +-#: ncrypt/crypt.c:888 ++#: ncrypt/crypt.c:892 + msgid "Trying to extract PGP keys...\n" + msgstr "Trying to extract PGP keys...\n" + +-#: ncrypt/crypt.c:917 ++#: ncrypt/crypt.c:921 + msgid "Trying to extract S/MIME certificates..." + msgstr "Trying to extract S/MIME certificates..." + +-#: ncrypt/crypt.c:1140 ++#: ncrypt/crypt.c:1144 + #, c-format + msgid "" + "[-- Error: Unknown multipart/signed protocol %s --]\n" +@@ -3737,7 +3814,7 @@ msgstr "" + "[-- Error: Unknown multipart/signed protocol %s --]\n" + "\n" + +-#: ncrypt/crypt.c:1180 ++#: ncrypt/crypt.c:1184 + msgid "" + "[-- Error: Missing or bad-format multipart/signed signature --]\n" + "\n" +@@ -3745,7 +3822,7 @@ msgstr "" + "[-- Error: Missing or bad-format multipart/signed signature --]\n" + "\n" + +-#: ncrypt/crypt.c:1222 ++#: ncrypt/crypt.c:1226 + #, c-format + msgid "" + "[-- Warning: We can't verify %s/%s signatures. --]\n" +@@ -3754,7 +3831,7 @@ msgstr "" + "[-- Warning: We can't verify %s/%s signatures. --]\n" + "\n" + +-#: ncrypt/crypt.c:1235 ++#: ncrypt/crypt.c:1239 + msgid "" + "[-- The following data is signed --]\n" + "\n" +@@ -3762,7 +3839,7 @@ msgstr "" + "[-- The following data is signed --]\n" + "\n" + +-#: ncrypt/crypt.c:1243 ++#: ncrypt/crypt.c:1248 + msgid "" + "[-- Warning: Can't find any signatures. --]\n" + "\n" +@@ -3770,7 +3847,7 @@ msgstr "" + "[-- Warning: Can't find any signatures. --]\n" + "\n" + +-#: ncrypt/crypt.c:1249 ++#: ncrypt/crypt.c:1255 + msgid "" + "\n" + "[-- End of signed data --]\n" +@@ -3789,229 +3866,229 @@ msgstr "Invoking S/MIME..." + #. L10N: The following are the headers for the "verify key" output from the + #. GPGME key selection menu (bound to "c" in the key selection menu). + #. They will be automatically aligned. +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Name: " + msgstr "Name: " + +-#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1869 ncrypt/crypt_gpgme.c:1874 ++#: ncrypt/crypt_gpgme.c:183 ncrypt/crypt_gpgme.c:1900 ncrypt/crypt_gpgme.c:1905 + msgid "aka: " + msgstr "aka: " + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Valid From: " + msgstr "Valid From: " + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Valid To: " + msgstr "Valid To: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Key Type: " + msgstr "Key Type: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Key Usage: " + msgstr "Key Usage: " + +-#: ncrypt/crypt_gpgme.c:185 ncrypt/crypt_gpgme.c:1759 ++#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1790 + msgid "Fingerprint: " + msgstr "Fingerprint: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Serial-No: " + msgstr "Serial-No: " + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + msgid "Issued By: " + msgstr "Issued By: " + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + msgid "Subkey: " + msgstr "Subkey: " + +-#: ncrypt/crypt_gpgme.c:783 ++#: ncrypt/crypt_gpgme.c:782 + #, c-format + msgid "error enabling CMS protocol: %s" + msgstr "error enabling CMS protocol: %s" + +-#: ncrypt/crypt_gpgme.c:806 ++#: ncrypt/crypt_gpgme.c:805 + #, c-format + msgid "error creating gpgme data object: %s" + msgstr "error creating gpgme data object: %s" + +-#: ncrypt/crypt_gpgme.c:907 ncrypt/crypt_gpgme.c:934 ncrypt/crypt_gpgme.c:2057 +-#: ncrypt/crypt_gpgme.c:2814 ++#: ncrypt/crypt_gpgme.c:906 ncrypt/crypt_gpgme.c:933 ncrypt/crypt_gpgme.c:2096 ++#: ncrypt/crypt_gpgme.c:2853 + #, c-format + msgid "error allocating data object: %s" + msgstr "error allocating data object: %s" + +-#: ncrypt/crypt_gpgme.c:956 ++#: ncrypt/crypt_gpgme.c:955 + #, c-format + msgid "error rewinding data object: %s" + msgstr "error rewinding data object: %s" + +-#: ncrypt/crypt_gpgme.c:972 ++#: ncrypt/crypt_gpgme.c:971 + msgid "[tempfile]" + msgstr "[tempfile]" + +-#: ncrypt/crypt_gpgme.c:978 ncrypt/crypt_gpgme.c:1032 ++#: ncrypt/crypt_gpgme.c:977 ncrypt/crypt_gpgme.c:1031 + #, c-format + msgid "error reading data object: %s" + msgstr "error reading data object: %s" + +-#: ncrypt/crypt_gpgme.c:1149 ++#: ncrypt/crypt_gpgme.c:1148 + #, c-format + msgid "error adding recipient '%s': %s" + msgstr "error adding recipient '%s': %s" + +-#: ncrypt/crypt_gpgme.c:1202 ++#: ncrypt/crypt_gpgme.c:1186 + #, c-format + msgid "secret key '%s' not found: %s" + msgstr "secret key '%s' not found: %s" + +-#: ncrypt/crypt_gpgme.c:1218 ++#: ncrypt/crypt_gpgme.c:1203 + #, c-format + msgid "ambiguous specification of secret key '%s'\n" + msgstr "ambiguous specification of secret key '%s'\n" + +-#: ncrypt/crypt_gpgme.c:1234 ++#: ncrypt/crypt_gpgme.c:1219 + #, c-format + msgid "error setting secret key '%s': %s" + msgstr "error setting secret key '%s': %s" + +-#: ncrypt/crypt_gpgme.c:1250 ++#: ncrypt/crypt_gpgme.c:1278 + #, c-format + msgid "error setting PKA signature notation: %s" + msgstr "error setting PKA signature notation: %s" + +-#: ncrypt/crypt_gpgme.c:1324 ++#: ncrypt/crypt_gpgme.c:1353 + #, c-format + msgid "error encrypting data: %s" + msgstr "error encrypting data: %s" + +-#: ncrypt/crypt_gpgme.c:1453 ++#: ncrypt/crypt_gpgme.c:1483 + #, c-format + msgid "error signing data: %s" + msgstr "error signing data: %s" + +-#: ncrypt/crypt_gpgme.c:1463 ++#: ncrypt/crypt_gpgme.c:1493 + msgid "$pgp_sign_as unset and no default key specified in ~/.gnupg/gpg.conf" + msgstr "$pgp_sign_as unset and no default key specified in ~/.gnupg/gpg.conf" + +-#: ncrypt/crypt_gpgme.c:1641 ++#: ncrypt/crypt_gpgme.c:1672 + msgid "Warning: One of the keys has been revoked\n" + msgstr "Warning: One of the keys has been revoked\n" + +-#: ncrypt/crypt_gpgme.c:1651 ++#: ncrypt/crypt_gpgme.c:1682 + msgid "Warning: The key used to create the signature expired at: " + msgstr "Warning: The key used to create the signature expired at: " + +-#: ncrypt/crypt_gpgme.c:1657 ++#: ncrypt/crypt_gpgme.c:1688 + msgid "Warning: At least one certification key has expired\n" + msgstr "Warning: At least one certification key has expired\n" + +-#: ncrypt/crypt_gpgme.c:1671 ++#: ncrypt/crypt_gpgme.c:1702 + msgid "Warning: The signature expired at: " + msgstr "Warning: The signature expired at: " + +-#: ncrypt/crypt_gpgme.c:1678 ++#: ncrypt/crypt_gpgme.c:1709 + msgid "Can't verify due to a missing key or certificate\n" + msgstr "Can't verify due to a missing key or certificate\n" + +-#: ncrypt/crypt_gpgme.c:1683 ++#: ncrypt/crypt_gpgme.c:1714 + msgid "The CRL is not available\n" + msgstr "The CRL is not available\n" + +-#: ncrypt/crypt_gpgme.c:1689 ++#: ncrypt/crypt_gpgme.c:1720 + msgid "Available CRL is too old\n" + msgstr "Available CRL is too old\n" + +-#: ncrypt/crypt_gpgme.c:1694 ++#: ncrypt/crypt_gpgme.c:1725 + msgid "A policy requirement was not met\n" + msgstr "A policy requirement was not met\n" + +-#: ncrypt/crypt_gpgme.c:1703 ++#: ncrypt/crypt_gpgme.c:1734 + msgid "A system error occurred" + msgstr "A system error occurred" + +-#: ncrypt/crypt_gpgme.c:1734 ++#: ncrypt/crypt_gpgme.c:1765 + msgid "WARNING: PKA entry does not match signer's address: " + msgstr "WARNING: PKA entry does not match signer's address: " + +-#: ncrypt/crypt_gpgme.c:1740 ++#: ncrypt/crypt_gpgme.c:1771 + msgid "PKA verified signer's address is: " + msgstr "PKA verified signer's address is: " + +-#: ncrypt/crypt_gpgme.c:1822 ++#: ncrypt/crypt_gpgme.c:1853 + msgid "WARNING: We have NO indication whether the key belongs to the person named as shown above\n" + msgstr "WARNING: We have NO indication whether the key belongs to the person named as shown above\n" + +-#: ncrypt/crypt_gpgme.c:1829 ++#: ncrypt/crypt_gpgme.c:1860 + msgid "WARNING: The key does NOT BELONG to the person named as shown above\n" + msgstr "WARNING: The key does NOT BELONG to the person named as shown above\n" + +-#: ncrypt/crypt_gpgme.c:1833 ++#: ncrypt/crypt_gpgme.c:1864 + msgid "WARNING: It is NOT certain that the key belongs to the person named as shown above\n" + msgstr "WARNING: It is NOT certain that the key belongs to the person named as shown above\n" + +-#: ncrypt/crypt_gpgme.c:1886 ++#: ncrypt/crypt_gpgme.c:1917 + msgid "KeyID " + msgstr "KeyID " + + #. L10N: You will see this message in place of "KeyID " + #. if the S/MIME key has no ID. This is quite an error. +-#: ncrypt/crypt_gpgme.c:1893 ++#: ncrypt/crypt_gpgme.c:1924 + msgid "no signature fingerprint available" + msgstr "no signature fingerprint available" + +-#: ncrypt/crypt_gpgme.c:1902 ncrypt/crypt_gpgme.c:1907 ++#: ncrypt/crypt_gpgme.c:1933 ncrypt/crypt_gpgme.c:1938 + msgid "created: " + msgstr "created: " + +-#: ncrypt/crypt_gpgme.c:1981 ++#: ncrypt/crypt_gpgme.c:2012 + #, c-format + msgid "Error getting key information for KeyID %s: %s\n" + msgstr "Error getting key information for KeyID %s: %s\n" + +-#: ncrypt/crypt_gpgme.c:1988 ncrypt/crypt_gpgme.c:2003 ++#: ncrypt/crypt_gpgme.c:2019 ncrypt/crypt_gpgme.c:2034 + msgid "Good signature from:" + msgstr "Good signature from:" + +-#: ncrypt/crypt_gpgme.c:1995 ++#: ncrypt/crypt_gpgme.c:2026 + msgid "*BAD* signature from:" + msgstr "*BAD* signature from:" + +-#: ncrypt/crypt_gpgme.c:2011 ++#: ncrypt/crypt_gpgme.c:2042 + msgid "Problem signature from:" + msgstr "Problem signature from:" + + #. L10N: This is trying to match the width of the + #. "Problem signature from:" translation just above. +-#: ncrypt/crypt_gpgme.c:2017 ++#: ncrypt/crypt_gpgme.c:2048 + msgid " expires: " + msgstr " expires: " + +-#: ncrypt/crypt_gpgme.c:2064 ncrypt/crypt_gpgme.c:2294 +-#: ncrypt/crypt_gpgme.c:3081 ++#: ncrypt/crypt_gpgme.c:2103 ncrypt/crypt_gpgme.c:2333 ++#: ncrypt/crypt_gpgme.c:3124 + msgid "[-- Begin signature information --]\n" + msgstr "[-- Begin signature information --]\n" + +-#: ncrypt/crypt_gpgme.c:2075 ++#: ncrypt/crypt_gpgme.c:2114 + #, c-format + msgid "Error: verification failed: %s\n" + msgstr "Error: verification failed: %s\n" + +-#: ncrypt/crypt_gpgme.c:2126 ++#: ncrypt/crypt_gpgme.c:2165 + #, c-format + msgid "*** Begin Notation (signature by: %s) ***\n" + msgstr "*** Begin Notation (signature by: %s) ***\n" + +-#: ncrypt/crypt_gpgme.c:2145 ++#: ncrypt/crypt_gpgme.c:2184 + msgid "*** End Notation ***\n" + msgstr "*** End Notation ***\n" + +-#: ncrypt/crypt_gpgme.c:2153 ncrypt/crypt_gpgme.c:2308 +-#: ncrypt/crypt_gpgme.c:3091 ++#: ncrypt/crypt_gpgme.c:2192 ncrypt/crypt_gpgme.c:2347 ++#: ncrypt/crypt_gpgme.c:3134 + msgid "" + "[-- End signature information --]\n" + "\n" +@@ -4019,7 +4096,7 @@ msgstr "" + "[-- End signature information --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:2268 ++#: ncrypt/crypt_gpgme.c:2307 + #, c-format + msgid "" + "[-- Error: decryption failed: %s --]\n" +@@ -4028,21 +4105,26 @@ msgstr "" + "[-- Error: decryption failed: %s --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:2821 ++#: ncrypt/crypt_gpgme.c:2860 + #, c-format + msgid "Error importing key: %s" + msgstr "Error importing key: %s" + +-#: ncrypt/crypt_gpgme.c:3059 ++#: ncrypt/crypt_gpgme.c:3098 + #, c-format + msgid "Error: decryption/verification failed: %s\n" + msgstr "Error: decryption/verification failed: %s\n" + +-#: ncrypt/crypt_gpgme.c:3103 ++#: ncrypt/crypt_gpgme.c:3105 ncrypt/crypt_gpgme.c:3302 ncrypt/pgp.c:726 ++#: ncrypt/pgp.c:1273 ++msgid "PGP message successfully decrypted" ++msgstr "PGP message successfully decrypted" ++ ++#: ncrypt/crypt_gpgme.c:3146 + msgid "Error: copy data failed\n" + msgstr "Error: copy data failed\n" + +-#: ncrypt/crypt_gpgme.c:3116 ncrypt/pgp.c:675 ++#: ncrypt/crypt_gpgme.c:3159 ncrypt/pgp.c:674 + msgid "" + "[-- BEGIN PGP MESSAGE --]\n" + "\n" +@@ -4050,11 +4132,11 @@ msgstr "" + "[-- BEGIN PGP MESSAGE --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3118 ncrypt/pgp.c:677 ++#: ncrypt/crypt_gpgme.c:3161 ncrypt/pgp.c:676 + msgid "[-- BEGIN PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- BEGIN PGP PUBLIC KEY BLOCK --]\n" + +-#: ncrypt/crypt_gpgme.c:3120 ncrypt/pgp.c:679 ++#: ncrypt/crypt_gpgme.c:3163 ncrypt/pgp.c:678 + msgid "" + "[-- BEGIN PGP SIGNED MESSAGE --]\n" + "\n" +@@ -4062,19 +4144,19 @@ msgstr "" + "[-- BEGIN PGP SIGNED MESSAGE --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3145 ncrypt/pgp.c:716 ++#: ncrypt/crypt_gpgme.c:3188 ncrypt/pgp.c:715 + msgid "[-- END PGP MESSAGE --]\n" + msgstr "[-- END PGP MESSAGE --]\n" + +-#: ncrypt/crypt_gpgme.c:3147 ncrypt/pgp.c:730 ++#: ncrypt/crypt_gpgme.c:3190 ncrypt/pgp.c:729 + msgid "[-- END PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- END PGP PUBLIC KEY BLOCK --]\n" + +-#: ncrypt/crypt_gpgme.c:3149 ncrypt/pgp.c:732 ++#: ncrypt/crypt_gpgme.c:3192 ncrypt/pgp.c:731 + msgid "[-- END PGP SIGNED MESSAGE --]\n" + msgstr "[-- END PGP SIGNED MESSAGE --]\n" + +-#: ncrypt/crypt_gpgme.c:3170 ncrypt/pgp.c:765 ++#: ncrypt/crypt_gpgme.c:3213 ncrypt/pgp.c:764 + msgid "" + "[-- Error: could not find beginning of PGP message --]\n" + "\n" +@@ -4082,11 +4164,11 @@ msgstr "" + "[-- Error: could not find beginning of PGP message --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3198 ncrypt/crypt_gpgme.c:3296 ncrypt/pgp.c:1218 ++#: ncrypt/crypt_gpgme.c:3241 ncrypt/crypt_gpgme.c:3339 ncrypt/pgp.c:1218 + msgid "[-- Error: could not create temporary file --]\n" + msgstr "[-- Error: could not create temporary file --]\n" + +-#: ncrypt/crypt_gpgme.c:3212 ++#: ncrypt/crypt_gpgme.c:3255 + msgid "" + "[-- The following data is PGP/MIME signed and encrypted --]\n" + "\n" +@@ -4094,7 +4176,7 @@ msgstr "" + "[-- The following data is PGP/MIME signed and encrypted --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3214 ncrypt/pgp.c:1231 ++#: ncrypt/crypt_gpgme.c:3257 ncrypt/pgp.c:1232 + msgid "" + "[-- The following data is PGP/MIME encrypted --]\n" + "\n" +@@ -4102,24 +4184,20 @@ msgstr "" + "[-- The following data is PGP/MIME encrypted --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3254 ++#: ncrypt/crypt_gpgme.c:3297 + msgid "[-- End of PGP/MIME signed and encrypted data --]\n" + msgstr "[-- End of PGP/MIME signed and encrypted data --]\n" + +-#: ncrypt/crypt_gpgme.c:3255 ncrypt/pgp.c:1267 ++#: ncrypt/crypt_gpgme.c:3298 ncrypt/pgp.c:1268 + msgid "[-- End of PGP/MIME encrypted data --]\n" + msgstr "[-- End of PGP/MIME encrypted data --]\n" + +-#: ncrypt/crypt_gpgme.c:3259 ncrypt/pgp.c:727 ncrypt/pgp.c:1272 +-msgid "PGP message successfully decrypted" +-msgstr "PGP message successfully decrypted" +- +-#: ncrypt/crypt_gpgme.c:3265 ncrypt/pgp.c:666 ncrypt/pgp.c:718 +-#: ncrypt/pgp.c:1276 ++#: ncrypt/crypt_gpgme.c:3308 ncrypt/pgp.c:665 ncrypt/pgp.c:717 ++#: ncrypt/pgp.c:1277 + msgid "Could not decrypt PGP message" + msgstr "Could not decrypt PGP message" + +-#: ncrypt/crypt_gpgme.c:3310 ++#: ncrypt/crypt_gpgme.c:3353 + msgid "" + "[-- The following data is S/MIME signed --]\n" + "\n" +@@ -4127,7 +4205,7 @@ msgstr "" + "[-- The following data is S/MIME signed --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3311 ++#: ncrypt/crypt_gpgme.c:3354 + msgid "" + "[-- The following data is S/MIME encrypted --]\n" + "\n" +@@ -4135,34 +4213,34 @@ msgstr "" + "[-- The following data is S/MIME encrypted --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3358 ++#: ncrypt/crypt_gpgme.c:3401 + msgid "[-- End of S/MIME signed data --]\n" + msgstr "[-- End of S/MIME signed data --]\n" + +-#: ncrypt/crypt_gpgme.c:3359 ++#: ncrypt/crypt_gpgme.c:3402 + msgid "[-- End of S/MIME encrypted data --]\n" + msgstr "[-- End of S/MIME encrypted data --]\n" + +-#: ncrypt/crypt_gpgme.c:4029 ++#: ncrypt/crypt_gpgme.c:4077 + msgid "[Can't display this user ID (unknown encoding)]" + msgstr "[Can't display this user ID (unknown encoding)]" + +-#: ncrypt/crypt_gpgme.c:4031 ++#: ncrypt/crypt_gpgme.c:4079 + msgid "[Can't display this user ID (invalid encoding)]" + msgstr "[Can't display this user ID (invalid encoding)]" + +-#: ncrypt/crypt_gpgme.c:4036 ++#: ncrypt/crypt_gpgme.c:4084 + msgid "[Can't display this user ID (invalid DN)]" + msgstr "[Can't display this user ID (invalid DN)]" + + #. L10N: comes after the Name or aka if the key is invalid + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4150 ncrypt/crypt_gpgme.c:4291 ++#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4339 + msgid "[Invalid]" + msgstr "[Invalid]" + + #. L10N: This is printed after "Key Type: " and looks like this: PGP, 2048 bit RSA +-#: ncrypt/crypt_gpgme.c:4190 ncrypt/crypt_gpgme.c:4331 ++#: ncrypt/crypt_gpgme.c:4238 ncrypt/crypt_gpgme.c:4379 + #, c-format + msgid "%s, %lu bit %s\n" + msgid_plural "%s, %lu bit %s\n" +@@ -4170,94 +4248,94 @@ msgstr[0] "%s, %lu bit %s\n" + msgstr[1] "%s, %lu bit %s\n" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4338 ++#: ncrypt/crypt_gpgme.c:4246 ncrypt/crypt_gpgme.c:4386 + msgid "encryption" + msgstr "encryption" + +-#: ncrypt/crypt_gpgme.c:4199 ncrypt/crypt_gpgme.c:4205 +-#: ncrypt/crypt_gpgme.c:4339 ncrypt/crypt_gpgme.c:4344 ++#: ncrypt/crypt_gpgme.c:4247 ncrypt/crypt_gpgme.c:4253 ++#: ncrypt/crypt_gpgme.c:4387 ncrypt/crypt_gpgme.c:4392 + msgid ", " + msgstr ", " + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4204 ncrypt/crypt_gpgme.c:4343 ++#: ncrypt/crypt_gpgme.c:4252 ncrypt/crypt_gpgme.c:4391 + msgid "signing" + msgstr "signing" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4210 ncrypt/crypt_gpgme.c:4348 ++#: ncrypt/crypt_gpgme.c:4258 ncrypt/crypt_gpgme.c:4396 + msgid "certification" + msgstr "certification" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4285 ++#: ncrypt/crypt_gpgme.c:4333 + msgid "[Revoked]" + msgstr "[Revoked]" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4297 ++#: ncrypt/crypt_gpgme.c:4345 + msgid "[Expired]" + msgstr "[Expired]" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4303 ++#: ncrypt/crypt_gpgme.c:4351 + msgid "[Disabled]" + msgstr "[Disabled]" + +-#: ncrypt/crypt_gpgme.c:4376 ++#: ncrypt/crypt_gpgme.c:4424 + msgid "Collecting data..." + msgstr "Collecting data..." + +-#: ncrypt/crypt_gpgme.c:4394 ++#: ncrypt/crypt_gpgme.c:4442 + #, c-format + msgid "Error finding issuer key: %s\n" + msgstr "Error finding issuer key: %s\n" + +-#: ncrypt/crypt_gpgme.c:4403 ++#: ncrypt/crypt_gpgme.c:4451 + msgid "Error: certification chain too long - stopping here\n" + msgstr "Error: certification chain too long - stopping here\n" + +-#: ncrypt/crypt_gpgme.c:4413 ncrypt/pgpkey.c:733 ++#: ncrypt/crypt_gpgme.c:4461 ncrypt/pgpkey.c:766 + #, c-format + msgid "Key ID: 0x%s" + msgstr "Key ID: 0x%s" + +-#: ncrypt/crypt_gpgme.c:4538 ncrypt/crypt_gpgme.c:4589 ++#: ncrypt/crypt_gpgme.c:4586 ncrypt/crypt_gpgme.c:4637 + #, c-format + msgid "gpgme_op_keylist_start failed: %s" + msgstr "gpgme_op_keylist_start failed: %s" + +-#: ncrypt/crypt_gpgme.c:4577 ncrypt/crypt_gpgme.c:4619 +-#: ncrypt/crypt_gpgme.c:5355 ++#: ncrypt/crypt_gpgme.c:4625 ncrypt/crypt_gpgme.c:4667 ++#: ncrypt/crypt_gpgme.c:5435 + #, c-format + msgid "gpgme_op_keylist_next failed: %s" + msgstr "gpgme_op_keylist_next failed: %s" + +-#: ncrypt/crypt_gpgme.c:4701 ++#: ncrypt/crypt_gpgme.c:4749 + msgid "All matching keys are marked expired/revoked" + msgstr "All matching keys are marked expired/revoked" + +-#: ncrypt/crypt_gpgme.c:4731 ncrypt/pgpkey.c:666 ncrypt/smime.c:551 ++#: ncrypt/crypt_gpgme.c:4779 ncrypt/pgpkey.c:669 ncrypt/smime.c:553 + msgid "Select " + msgstr "Select " + +-#: ncrypt/crypt_gpgme.c:4733 ncrypt/pgpkey.c:668 ++#: ncrypt/crypt_gpgme.c:4781 ncrypt/pgpkey.c:671 + msgid "Check key " + msgstr "Check key " + +-#: ncrypt/crypt_gpgme.c:4749 ++#: ncrypt/crypt_gpgme.c:4827 + msgid "PGP and S/MIME keys matching" + msgstr "PGP and S/MIME keys matching" + +-#: ncrypt/crypt_gpgme.c:4751 ++#: ncrypt/crypt_gpgme.c:4829 + msgid "PGP keys matching" + msgstr "PGP keys matching" + +-#: ncrypt/crypt_gpgme.c:4753 ++#: ncrypt/crypt_gpgme.c:4831 + msgid "S/MIME keys matching" + msgstr "S/MIME keys matching" + +-#: ncrypt/crypt_gpgme.c:4755 ++#: ncrypt/crypt_gpgme.c:4833 + msgid "keys matching" + msgstr "keys matching" + +@@ -4265,55 +4343,55 @@ msgstr "keys matching" + #. %1$s is one of the previous four entries. + #. %2$s is an address. + #. e.g. "S/MIME keys matching " +-#: ncrypt/crypt_gpgme.c:4763 ++#: ncrypt/crypt_gpgme.c:4841 + #, c-format + msgid "%s <%s>" + msgstr "%s <%s>" + + #. L10N: e.g. 'S/MIME keys matching "Michael Elkins".' +-#: ncrypt/crypt_gpgme.c:4768 ++#: ncrypt/crypt_gpgme.c:4846 + #, c-format + msgid "%s \"%s\"" + msgstr "%s \"%s\"" + +-#: ncrypt/crypt_gpgme.c:4796 ncrypt/pgpkey.c:754 ++#: ncrypt/crypt_gpgme.c:4874 ncrypt/pgpkey.c:787 + msgid "This key can't be used: expired/disabled/revoked" + msgstr "This key can't be used: expired/disabled/revoked" + +-#: ncrypt/crypt_gpgme.c:4810 ncrypt/pgpkey.c:767 ncrypt/smime.c:581 ++#: ncrypt/crypt_gpgme.c:4888 ncrypt/pgpkey.c:800 ncrypt/smime.c:613 + msgid "ID is expired/disabled/revoked. Do you really want to use the key?" + msgstr "ID is expired/disabled/revoked. Do you really want to use the key?" + +-#: ncrypt/crypt_gpgme.c:4820 ncrypt/pgpkey.c:779 ++#: ncrypt/crypt_gpgme.c:4898 ncrypt/pgpkey.c:812 + msgid "ID is not valid. Do you really want to use the key?" + msgstr "ID is not valid. Do you really want to use the key?" + +-#: ncrypt/crypt_gpgme.c:4823 ncrypt/pgpkey.c:782 ++#: ncrypt/crypt_gpgme.c:4901 ncrypt/pgpkey.c:815 + msgid "ID is only marginally valid. Do you really want to use the key?" + msgstr "ID is only marginally valid. Do you really want to use the key?" + +-#: ncrypt/crypt_gpgme.c:4831 ncrypt/pgpkey.c:775 ncrypt/smime.c:585 ++#: ncrypt/crypt_gpgme.c:4909 ncrypt/pgpkey.c:808 ncrypt/smime.c:617 + msgid "ID has undefined validity. Do you really want to use the key?" + msgstr "ID has undefined validity. Do you really want to use the key?" + +-#: ncrypt/crypt_gpgme.c:4911 ncrypt/crypt_gpgme.c:5024 ncrypt/pgpkey.c:1019 +-#: ncrypt/pgpkey.c:1146 ++#: ncrypt/crypt_gpgme.c:4991 ncrypt/crypt_gpgme.c:5104 ncrypt/pgpkey.c:1054 ++#: ncrypt/pgpkey.c:1181 + #, c-format + msgid "Looking for keys matching \"%s\"..." + msgstr "Looking for keys matching \"%s\"..." + +-#: ncrypt/crypt_gpgme.c:5140 ncrypt/pgpkey.c:870 ncrypt/smime.c:924 ++#: ncrypt/crypt_gpgme.c:5220 ncrypt/pgpkey.c:905 ncrypt/smime.c:958 + #, c-format + msgid "No matching keys found for \"%s\"" + msgstr "No matching keys found for \"%s\"" + +-#: ncrypt/crypt_gpgme.c:5190 ncrypt/pgp.c:1456 ++#: ncrypt/crypt_gpgme.c:5270 ncrypt/pgp.c:1457 + #, c-format + msgid "Use keyID = \"%s\" for %s?" + msgstr "Use keyID = \"%s\" for %s?" + +-#: ncrypt/crypt_gpgme.c:5238 ncrypt/pgp.c:1505 ncrypt/smime.c:944 +-#: ncrypt/smime.c:1049 ++#: ncrypt/crypt_gpgme.c:5318 ncrypt/pgp.c:1506 ncrypt/smime.c:978 ++#: ncrypt/smime.c:1083 + #, c-format + msgid "Enter keyID for %s: " + msgstr "Enter keyID for %s: " +@@ -4322,15 +4400,15 @@ msgstr "Enter keyID for %s: " + #. mutt_gpgme_select_secret_key() tries to list all secret keys to choose + #. from. This error is displayed if no results were found. + #. +-#: ncrypt/crypt_gpgme.c:5364 ++#: ncrypt/crypt_gpgme.c:5444 + msgid "No secret keys found" + msgstr "No secret keys found" + +-#: ncrypt/crypt_gpgme.c:5398 ncrypt/pgpkey.c:888 ++#: ncrypt/crypt_gpgme.c:5478 ncrypt/pgpkey.c:923 + msgid "Please enter the key ID: " + msgstr "Please enter the key ID: " + +-#: ncrypt/crypt_gpgme.c:5411 ++#: ncrypt/crypt_gpgme.c:5491 + #, c-format + msgid "Error exporting key: %s" + msgstr "Error exporting key: %s" +@@ -4338,92 +4416,92 @@ msgstr "Error exporting key: %s" + #. 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. +-#: ncrypt/crypt_gpgme.c:5429 ++#: ncrypt/crypt_gpgme.c:5509 + #, c-format + msgid "PGP Key 0x%s" + msgstr "PGP Key 0x%s" + +-#: ncrypt/crypt_gpgme.c:5474 ++#: ncrypt/crypt_gpgme.c:5554 + msgid "GPGME: OpenPGP protocol not available" + msgstr "GPGME: OpenPGP protocol not available" + +-#: ncrypt/crypt_gpgme.c:5485 ++#: ncrypt/crypt_gpgme.c:5565 + msgid "GPGME: CMS protocol not available" + msgstr "GPGME: CMS protocol not available" + +-#: ncrypt/crypt_gpgme.c:5536 ++#: ncrypt/crypt_gpgme.c:5616 + msgid "S/MIME (s)ign, sign (a)s, (p)gp, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME (s)ign, sign (a)s, (p)gp, (c)lear, or (o)ppenc mode off?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5538 ++#: ncrypt/crypt_gpgme.c:5618 + msgid "sapco" + msgstr "sapco" + +-#: ncrypt/crypt_gpgme.c:5545 ++#: ncrypt/crypt_gpgme.c:5625 + msgid "PGP (s)ign, sign (a)s, s/(m)ime, (c)lear, or (o)ppenc mode off?" + msgstr "PGP (s)ign, sign (a)s, s/(m)ime, (c)lear, or (o)ppenc mode off?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5547 ++#: ncrypt/crypt_gpgme.c:5627 + msgid "samco" + msgstr "samco" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5557 ++#: ncrypt/crypt_gpgme.c:5637 + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp, (c)lear, or (o)ppenc mode?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5560 ++#: ncrypt/crypt_gpgme.c:5640 + msgid "esabpco" + msgstr "esabpco" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5566 ++#: ncrypt/crypt_gpgme.c:5646 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime, (c)lear, or (o)ppenc mode?" + msgstr "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime, (c)lear, or (o)ppenc mode?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5569 ++#: ncrypt/crypt_gpgme.c:5649 + msgid "esabmco" + msgstr "esabmco" + +-#: ncrypt/crypt_gpgme.c:5580 ++#: ncrypt/crypt_gpgme.c:5660 + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp or (c)lear?" + msgstr "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp or (c)lear?" + + #. L10N: S/MIME options +-#: ncrypt/crypt_gpgme.c:5582 ++#: ncrypt/crypt_gpgme.c:5662 + msgid "esabpc" + msgstr "esabpc" + +-#: ncrypt/crypt_gpgme.c:5589 ++#: ncrypt/crypt_gpgme.c:5669 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime or (c)lear?" + msgstr "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime or (c)lear?" + + #. L10N: PGP options +-#: ncrypt/crypt_gpgme.c:5591 ++#: ncrypt/crypt_gpgme.c:5671 + msgid "esabmc" + msgstr "esabmc" + +-#: ncrypt/crypt_gpgme.c:5751 ++#: ncrypt/crypt_gpgme.c:5831 + msgid "Failed to verify sender" + msgstr "Failed to verify sender" + +-#: ncrypt/crypt_gpgme.c:5754 ++#: ncrypt/crypt_gpgme.c:5834 + msgid "Failed to figure out sender" + msgstr "Failed to figure out sender" + +-#: ncrypt/pgp.c:108 ++#: ncrypt/pgp.c:107 + msgid "Enter PGP passphrase:" + msgstr "Enter PGP passphrase:" + +-#: ncrypt/pgp.c:595 ++#: ncrypt/pgp.c:594 + msgid "[-- Error: unable to create PGP subprocess --]\n" + msgstr "[-- Error: unable to create PGP subprocess --]\n" + +-#: ncrypt/pgp.c:644 ncrypt/pgp.c:926 ncrypt/pgp.c:1086 ++#: ncrypt/pgp.c:643 ncrypt/pgp.c:925 ncrypt/pgp.c:1085 + msgid "" + "[-- End of PGP output --]\n" + "\n" +@@ -4434,15 +4512,15 @@ msgstr "" + #. L10N: You will see this error message if (1) you are decrypting + #. (not encrypting) something and (2) it is a plaintext. So the + #. message does not mean "You failed to encrypt the message." +-#: ncrypt/pgp.c:724 ++#: ncrypt/pgp.c:723 + msgid "PGP message is not encrypted" + msgstr "PGP message is not encrypted" + +-#: ncrypt/pgp.c:978 ++#: ncrypt/pgp.c:977 + msgid "Internal error. Please submit a bug report." + msgstr "Internal error. Please submit a bug report." + +-#: ncrypt/pgp.c:1043 ++#: ncrypt/pgp.c:1042 + msgid "" + "[-- Error: could not create a PGP subprocess --]\n" + "\n" +@@ -4450,125 +4528,125 @@ msgstr "" + "[-- Error: could not create a PGP subprocess --]\n" + "\n" + +-#: ncrypt/pgp.c:1073 ncrypt/pgp.c:1098 ncrypt/smime.c:2143 postpone.c:757 +-#: postpone.c:785 ++#: ncrypt/pgp.c:1072 ncrypt/pgp.c:1097 ncrypt/smime.c:2177 postpone.c:803 ++#: postpone.c:831 + msgid "Decryption failed" + msgstr "Decryption failed" + +-#: ncrypt/pgp.c:1333 ++#: ncrypt/pgp.c:1334 + msgid "Can't open PGP subprocess" + msgstr "Can't open PGP subprocess" + +-#: ncrypt/pgp.c:1768 ++#: ncrypt/pgp.c:1770 + msgid "Can't invoke PGP" + msgstr "Can't invoke PGP" + + #. L10N: The next string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1875 ++#: ncrypt/pgp.c:1877 + msgid "PGP/M(i)ME" + msgstr "PGP/M(i)ME" + + #. L10N: The previous string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1881 ++#: ncrypt/pgp.c:1883 + msgid "(i)nline" + msgstr "(i)nline" + + #. L10N: PGP options (inline) (opportunistic encryption is on) +-#: ncrypt/pgp.c:1893 ++#: ncrypt/pgp.c:1895 + #, c-format + msgid "PGP (s)ign, sign (a)s, %s format, (c)lear, or (o)ppenc mode off?" + msgstr "PGP (s)ign, sign (a)s, %s format, (c)lear, or (o)ppenc mode off?" + + #. L10N: PGP options (inline) (opportunistic encryption is on) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1899 ++#: ncrypt/pgp.c:1901 + msgid "saico" + msgstr "saico" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1905 ++#: ncrypt/pgp.c:1907 + msgid "PGP (s)ign, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "PGP (s)ign, sign (a)s, (c)lear, or (o)ppenc mode off?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1907 ++#: ncrypt/pgp.c:1909 + msgid "saco" + msgstr "saco" + + #. L10N: PGP options (inline) (opportunistic encryption is off) +-#: ncrypt/pgp.c:1921 ++#: ncrypt/pgp.c:1923 + #, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, (c)lear, or (o)ppenc mode?" + msgstr "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, (c)lear, or (o)ppenc mode?" + + #. L10N: PGP options (inline) (opportunistic encryption is off) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1927 ++#: ncrypt/pgp.c:1929 + msgid "esabico" + msgstr "esabico" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1933 ++#: ncrypt/pgp.c:1935 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1936 ++#: ncrypt/pgp.c:1938 + msgid "esabco" + msgstr "esabco" + + #. L10N: PGP options (inline) +-#: ncrypt/pgp.c:1947 ++#: ncrypt/pgp.c:1949 + #, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, or (c)lear?" + msgstr "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, or (c)lear?" + + #. L10N: PGP options (inline) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1953 ++#: ncrypt/pgp.c:1955 + msgid "esabic" + msgstr "esabic" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1959 ++#: ncrypt/pgp.c:1961 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (c)lear?" + msgstr "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (c)lear?" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1961 ++#: ncrypt/pgp.c:1963 + msgid "esabc" + msgstr "esabc" + +-#: ncrypt/pgpinvoke.c:458 ++#: ncrypt/pgpinvoke.c:461 + msgid "Fetching PGP key..." + msgstr "Fetching PGP key..." + +-#: ncrypt/pgpkey.c:640 ++#: ncrypt/pgpkey.c:643 + msgid "All matching keys are expired, revoked, or disabled" + msgstr "All matching keys are expired, revoked, or disabled" + +-#: ncrypt/pgpkey.c:681 ++#: ncrypt/pgpkey.c:714 + #, c-format + msgid "PGP keys matching <%s>" + msgstr "PGP keys matching <%s>" + +-#: ncrypt/pgpkey.c:683 ++#: ncrypt/pgpkey.c:716 + #, c-format + msgid "PGP keys matching \"%s\"" + msgstr "PGP keys matching \"%s\"" + +-#: ncrypt/pgpkey.c:700 ncrypt/pgpkey.c:909 ++#: ncrypt/pgpkey.c:733 ncrypt/pgpkey.c:944 + msgid "Can't open /dev/null" + msgstr "Can't open /dev/null" + +-#: ncrypt/pgpkey.c:938 ++#: ncrypt/pgpkey.c:973 + #, c-format + msgid "PGP Key %s" + msgstr "PGP Key %s" + +-#: ncrypt/smime.c:182 ++#: ncrypt/smime.c:180 + msgid "Enter S/MIME passphrase:" + msgstr "Enter S/MIME passphrase:" + +@@ -4577,7 +4655,7 @@ msgstr "Enter S/MIME passphrase:" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:460 ++#: ncrypt/smime.c:462 + msgid "Expired " + msgstr "Expired " + +@@ -4586,7 +4664,7 @@ msgstr "Expired " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:468 ++#: ncrypt/smime.c:470 + msgid "Invalid " + msgstr "Invalid " + +@@ -4595,7 +4673,7 @@ msgstr "Invalid " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:476 ++#: ncrypt/smime.c:478 + msgid "Revoked " + msgstr "Revoked " + +@@ -4604,7 +4682,7 @@ msgstr "Revoked " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:484 ++#: ncrypt/smime.c:486 + msgid "Trusted " + msgstr "Trusted " + +@@ -4613,7 +4691,7 @@ msgstr "Trusted " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:492 ++#: ncrypt/smime.c:494 + msgid "Unverified" + msgstr "Unverified" + +@@ -4622,7 +4700,7 @@ msgstr "Unverified" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:500 ++#: ncrypt/smime.c:502 + msgid "Verified " + msgstr "Verified " + +@@ -4631,58 +4709,58 @@ msgstr "Verified " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:508 ++#: ncrypt/smime.c:510 + msgid "Unknown " + msgstr "Unknown " + +-#: ncrypt/smime.c:545 ++#: ncrypt/smime.c:547 + #, c-format + msgid "S/MIME certificates matching \"%s\"" + msgstr "S/MIME certificates matching \"%s\"" + +-#: ncrypt/smime.c:589 ++#: ncrypt/smime.c:621 + msgid "ID is not trusted. Do you really want to use the key?" + msgstr "ID is not trusted. Do you really want to use the key?" + +-#: ncrypt/smime.c:910 ++#: ncrypt/smime.c:944 + msgid "Enter keyID: " + msgstr "Enter keyID: " + +-#: ncrypt/smime.c:1055 ++#: ncrypt/smime.c:1089 + #, c-format + msgid "No (valid) certificate found for %s" + msgstr "No (valid) certificate found for %s" + +-#: ncrypt/smime.c:1108 ncrypt/smime.c:1137 ncrypt/smime.c:1209 +-#: ncrypt/smime.c:1243 ncrypt/smime.c:1319 ncrypt/smime.c:1399 ++#: ncrypt/smime.c:1142 ncrypt/smime.c:1171 ncrypt/smime.c:1243 ++#: ncrypt/smime.c:1277 ncrypt/smime.c:1353 ncrypt/smime.c:1433 + msgid "Error: unable to create OpenSSL subprocess" + msgstr "Error: unable to create OpenSSL subprocess" + +-#: ncrypt/smime.c:1379 ++#: ncrypt/smime.c:1413 + msgid "Label for certificate: " + msgstr "Label for certificate: " + +-#: ncrypt/smime.c:1480 ++#: ncrypt/smime.c:1514 + msgid "no certfile" + msgstr "no certfile" + +-#: ncrypt/smime.c:1483 ++#: ncrypt/smime.c:1517 + msgid "no mbox" + msgstr "no mbox" + +-#: ncrypt/smime.c:1640 ncrypt/smime.c:1810 ++#: ncrypt/smime.c:1674 ncrypt/smime.c:1844 + msgid "No output from OpenSSL..." + msgstr "No output from OpenSSL..." + +-#: ncrypt/smime.c:1727 ++#: ncrypt/smime.c:1761 + msgid "Can't sign: No key specified. Use Sign As." + msgstr "Can't sign: No key specified. Use Sign As." + +-#: ncrypt/smime.c:1777 ++#: ncrypt/smime.c:1811 + msgid "Can't open OpenSSL subprocess" + msgstr "Can't open OpenSSL subprocess" + +-#: ncrypt/smime.c:2004 ncrypt/smime.c:2123 ++#: ncrypt/smime.c:2038 ncrypt/smime.c:2157 + msgid "" + "[-- End of OpenSSL output --]\n" + "\n" +@@ -4690,19 +4768,19 @@ msgstr "" + "[-- End of OpenSSL output --]\n" + "\n" + +-#: ncrypt/smime.c:2080 ncrypt/smime.c:2093 ++#: ncrypt/smime.c:2114 ncrypt/smime.c:2127 + msgid "[-- Error: unable to create OpenSSL subprocess --]\n" + msgstr "[-- Error: unable to create OpenSSL subprocess --]\n" + +-#: ncrypt/smime.c:2129 ++#: ncrypt/smime.c:2163 + msgid "[-- The following data is S/MIME encrypted --]\n" + msgstr "[-- The following data is S/MIME encrypted --]\n" + +-#: ncrypt/smime.c:2132 ++#: ncrypt/smime.c:2166 + msgid "[-- The following data is S/MIME signed --]\n" + msgstr "[-- The following data is S/MIME signed --]\n" + +-#: ncrypt/smime.c:2225 ++#: ncrypt/smime.c:2259 + msgid "" + "\n" + "[-- End of S/MIME encrypted data. --]\n" +@@ -4710,7 +4788,7 @@ msgstr "" + "\n" + "[-- End of S/MIME encrypted data. --]\n" + +-#: ncrypt/smime.c:2227 ++#: ncrypt/smime.c:2261 + msgid "" + "\n" + "[-- End of S/MIME signed data. --]\n" +@@ -4719,160 +4797,160 @@ msgstr "" + "[-- End of S/MIME signed data. --]\n" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2361 ++#: ncrypt/smime.c:2395 + msgid "S/MIME (s)ign, encrypt (w)ith, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME (s)ign, encrypt (w)ith, sign (a)s, (c)lear, or (o)ppenc mode off?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2364 ++#: ncrypt/smime.c:2398 + msgid "swaco" + msgstr "swaco" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2372 ++#: ncrypt/smime.c:2406 + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2375 ++#: ncrypt/smime.c:2409 + msgid "eswabco" + msgstr "eswabco" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2382 ++#: ncrypt/smime.c:2416 + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, or (c)lear?" + msgstr "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, or (c)lear?" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2385 ++#: ncrypt/smime.c:2419 + msgid "eswabc" + msgstr "eswabc" + +-#: ncrypt/smime.c:2449 ++#: ncrypt/smime.c:2483 + msgid "Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear?" + msgstr "Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear?" + + #. L10N: Options for: Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear? +-#: ncrypt/smime.c:2452 ++#: ncrypt/smime.c:2486 + msgid "123c" + msgstr "123c" + +-#: ncrypt/smime.c:2455 ++#: ncrypt/smime.c:2489 + msgid "(1) DES, (2) Triple-DES?" + msgstr "(1) DES, (2) Triple-DES?" + + #. L10N: Options for: (1) DES, (2) Triple-DES +-#: ncrypt/smime.c:2457 ++#: ncrypt/smime.c:2491 + msgid "12" + msgstr "12" + +-#: ncrypt/smime.c:2470 ++#: ncrypt/smime.c:2504 + msgid "(1) RC2-40, (2) RC2-64, (3) RC2-128?" + msgstr "(1) RC2-40, (2) RC2-64, (3) RC2-128?" + + #. L10N: Options for: (1) RC2-40, (2) RC2-64, (3) RC2-128 + #. L10N: Options for: (1) AES128, (2) AES192, (3) AES256 +-#: ncrypt/smime.c:2472 ncrypt/smime.c:2490 ++#: ncrypt/smime.c:2506 ncrypt/smime.c:2524 + msgid "123" + msgstr "123" + +-#: ncrypt/smime.c:2488 ++#: ncrypt/smime.c:2522 + msgid "(1) AES128, (2) AES192, (3) AES256?" + msgstr "(1) AES128, (2) AES192, (3) AES256?" + +-#: nntp/newsrc.c:632 ++#: nntp/newsrc.c:639 + msgid "Loading list of groups from cache..." + msgstr "Loading list of groups from cache..." + +-#: nntp/newsrc.c:997 ++#: nntp/newsrc.c:1023 + msgid "No news server defined" + msgstr "No news server defined" + +-#: nntp/newsrc.c:1012 ++#: nntp/newsrc.c:1041 + #, c-format + msgid "%s is an invalid news server specification" + msgstr "%s is an invalid news server specification" + +-#: nntp/nntp.c:236 nntp/nntp.c:777 pop/pop.c:742 pop/pop_lib.c:398 ++#: nntp/nntp.c:238 nntp/nntp.c:779 pop/pop.c:742 pop/pop_lib.c:424 + msgid "Server closed connection" + msgstr "Server closed connection" + +-#: nntp/nntp.c:340 ++#: nntp/nntp.c:342 + msgid "Server doesn't support reader mode" + msgstr "Server doesn't support reader mode" + +-#: nntp/nntp.c:576 pop/pop_auth.c:504 smtp.c:650 ++#: nntp/nntp.c:578 pop/pop_auth.c:505 smtp.c:675 + msgid "No authenticators available" + msgstr "No authenticators available" + +-#: nntp/nntp.c:766 ++#: nntp/nntp.c:768 + #, c-format + msgid "%s authentication failed" + msgstr "%s authentication failed" + +-#: nntp/nntp.c:826 ++#: nntp/nntp.c:828 + #, c-format + msgid "Connection to %s lost. Reconnect?" + msgstr "Connection to %s lost. Reconnect?" + +-#: nntp/nntp.c:1285 ++#: nntp/nntp.c:1287 + msgid "Fetching list of articles..." + msgstr "Fetching list of articles..." + +-#: nntp/nntp.c:1549 nntp/nntp.c:2138 pop/pop.c:614 pop/pop.c:910 ++#: nntp/nntp.c:1551 nntp/nntp.c:2140 pop/pop.c:614 pop/pop.c:905 + msgid "Checking for new messages..." + msgstr "Checking for new messages..." + +-#: nntp/nntp.c:1864 nntp/nntp.c:1954 ++#: nntp/nntp.c:1866 nntp/nntp.c:1956 + msgid "Could not switch to reader mode" + msgstr "Could not switch to reader mode" + +-#: nntp/nntp.c:1877 ++#: nntp/nntp.c:1879 + #, c-format + msgid "Connected to %s. %s" + msgstr "Connected to %s. %s" + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + msgid "Posting is ok" + msgstr "Posting is ok" + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + msgid "Posting is NOT ok" + msgstr "Posting is NOT ok" + +-#: nntp/nntp.c:2008 nntp/nntp.c:2043 ++#: nntp/nntp.c:2010 nntp/nntp.c:2045 + #, c-format + msgid "Can't post article: %s" + msgstr "Can't post article: %s" + +-#: nntp/nntp.c:2064 ++#: nntp/nntp.c:2066 + #, c-format + msgid "Loading list of groups from server %s..." + msgstr "Loading list of groups from server %s..." + +-#: nntp/nntp.c:2106 nntp/nntp.c:2198 ++#: nntp/nntp.c:2108 nntp/nntp.c:2200 + msgid "Loading descriptions..." + msgstr "Loading descriptions..." + +-#: nntp/nntp.c:2128 ++#: nntp/nntp.c:2130 + msgid "Checking for new newsgroups..." + msgstr "Checking for new newsgroups..." + +-#: nntp/nntp.c:2332 ++#: nntp/nntp.c:2334 + msgid "Unable to find child articles because server does not support XPAT command" + msgstr "Unable to find child articles because server does not support XPAT command" + +-#: nntp/nntp.c:2437 ++#: nntp/nntp.c:2439 + #, c-format + msgid "%s is an invalid newsgroup specification" + msgstr "%s is an invalid newsgroup specification" + +-#: nntp/nntp.c:2476 ++#: nntp/nntp.c:2478 + #, c-format + msgid "Newsgroup %s not found on the server" + msgstr "Newsgroup %s not found on the server" + +-#: nntp/nntp.c:2498 ++#: nntp/nntp.c:2500 + #, c-format + msgid "Newsgroup %s has been removed from the server" + msgstr "Newsgroup %s has been removed from the server" +@@ -4884,8 +4962,8 @@ msgstr "failed to parse notmuch query type: %s" + + #: notmuch/mutt_notmuch.c:219 notmuch/mutt_notmuch.c:1939 + #, c-format +-msgid "failed to parse notmuch uri: %s" +-msgstr "failed to parse notmuch uri: %s" ++msgid "failed to parse notmuch url: %s" ++msgstr "failed to parse notmuch url: %s" + + #: notmuch/mutt_notmuch.c:449 + msgid "Invalid nm_query_window_timebase value (valid values are: hour, day, week, month or year)" +@@ -5975,182 +6053,182 @@ msgstr "make the sidebar (in)visible" + msgid "show S/MIME options" + msgstr "show S/MIME options" + +-#: pager.c:222 ++#: pager.c:214 + msgid "Not available in this menu" + msgstr "Not available in this menu" + +-#: pager.c:229 ++#: pager.c:221 + msgid "PrevPg" + msgstr "PrevPg" + +-#: pager.c:230 ++#: pager.c:222 + msgid "NextPg" + msgstr "NextPg" + +-#: pager.c:235 ++#: pager.c:227 + msgid "View Attachm." + msgstr "View Attachm." + +-#: pager.c:238 pager.c:247 ++#: pager.c:230 pager.c:239 + msgid "Next" + msgstr "Next" + + #. L10N: Status bar message: the entire email is visible in the pager + #. L10N: Status bar message: all the emails are visible in the index +-#: pager.c:2180 status.c:278 ++#: pager.c:2136 status.c:278 + msgid "all" + msgstr "all" + + #. L10N: Status bar message: the end of the email is visible in the pager + #. L10N: Status bar message: the end of the list emails is visible in the index +-#: pager.c:2182 status.c:276 ++#: pager.c:2138 status.c:276 + msgid "end" + msgstr "end" + +-#: pager.c:2530 pager.c:2566 pager.c:2602 pager.c:2937 ++#: pager.c:2503 pager.c:2539 pager.c:2576 pager.c:2911 + msgid "Bottom of message is shown" + msgstr "Bottom of message is shown" + +-#: pager.c:2543 pager.c:2573 pager.c:2580 pager.c:2590 ++#: pager.c:2516 pager.c:2546 pager.c:2553 pager.c:2564 + msgid "Top of message is shown" + msgstr "Top of message is shown" + +-#: pager.c:2840 ++#: pager.c:2814 + msgid "Help is currently being shown" + msgstr "Help is currently being shown" + +-#: pager.c:2897 ++#: pager.c:2871 + msgid "No more quoted text" + msgstr "No more quoted text" + +-#: pager.c:2914 ++#: pager.c:2888 + msgid "No more unquoted text after quoted text" + msgstr "No more unquoted text after quoted text" + +-#: pattern.c:220 pattern.c:297 pattern.c:1046 ++#: pattern.c:221 pattern.c:298 pattern.c:1085 + #, c-format + msgid "Error in expression: %s" + msgstr "Error in expression: %s" + +-#: pattern.c:226 pattern.c:302 pattern.c:1052 ++#: pattern.c:227 pattern.c:303 pattern.c:1091 + msgid "Empty expression" + msgstr "Empty expression" + +-#: pattern.c:288 ++#: pattern.c:289 + msgid "No search command defined" + msgstr "No search command defined" + +-#: pattern.c:326 ++#: pattern.c:327 + #, c-format + msgid "Running search command: %s ..." + msgstr "Running search command: %s ..." + +-#: pattern.c:417 ++#: pattern.c:441 pattern.c:456 + #, c-format + msgid "Invalid day of month: %s" + msgstr "Invalid day of month: %s" + +-#: pattern.c:431 ++#: pattern.c:446 pattern.c:470 + #, c-format + msgid "Invalid month: %s" + msgstr "Invalid month: %s" + +-#: pattern.c:534 ++#: pattern.c:573 + #, c-format + msgid "Invalid relative date: %s" + msgstr "Invalid relative date: %s" + +-#: pattern.c:842 pattern.c:975 ++#: pattern.c:881 pattern.c:1014 + msgid "No current message" + msgstr "No current message" + +-#: pattern.c:1002 ++#: pattern.c:1041 + msgid "No Context" + msgstr "No Context" + +-#: pattern.c:1125 ++#: pattern.c:1164 + msgid "Error opening 'memory stream'" + msgstr "Error opening 'memory stream'" + +-#: pattern.c:1171 ++#: pattern.c:1210 + msgid "Error re-opening 'memory stream'" + msgstr "Error re-opening 'memory stream'" + +-#: pattern.c:1180 ++#: pattern.c:1219 + msgid "Error opening /dev/null" + msgstr "Error opening /dev/null" + +-#: pattern.c:1443 pattern.c:1620 ++#: pattern.c:1482 pattern.c:1662 + #, c-format + msgid "error in pattern at: %s" + msgstr "error in pattern at: %s" + +-#: pattern.c:1476 ++#: pattern.c:1515 + #, c-format + msgid "missing pattern: %s" + msgstr "missing pattern: %s" + +-#: pattern.c:1494 pattern.c:1593 ++#: pattern.c:1533 pattern.c:1635 + #, c-format + msgid "mismatched parentheses: %s" + msgstr "mismatched parentheses: %s" + +-#: pattern.c:1559 ++#: pattern.c:1598 + #, c-format + msgid "%c: invalid pattern modifier" + msgstr "%c: invalid pattern modifier" + +-#: pattern.c:1564 ++#: pattern.c:1603 + #, c-format + msgid "%c: not supported in this mode" + msgstr "%c: not supported in this mode" + +-#: pattern.c:1576 ++#: pattern.c:1618 + msgid "missing parameter" + msgstr "missing parameter" + +-#: pattern.c:1626 ++#: pattern.c:1668 + msgid "empty pattern" + msgstr "empty pattern" + +-#: pattern.c:2080 pattern.c:2083 ++#: pattern.c:2202 pattern.c:2205 + msgid "error: server custom search only supported with IMAP" + msgstr "error: server custom search only supported with IMAP" + +-#: pattern.c:2274 ++#: pattern.c:2398 + #, c-format + msgid "error: unknown op %d (report this error)" + msgstr "error: unknown op %d (report this error)" + +-#: pattern.c:2448 pattern.c:2604 ++#: pattern.c:2572 pattern.c:2728 + msgid "Compiling search pattern..." + msgstr "Compiling search pattern..." + +-#: pattern.c:2468 ++#: pattern.c:2592 + msgid "Executing command on matching messages..." + msgstr "Executing command on matching messages..." + +-#: pattern.c:2537 ++#: pattern.c:2661 + msgid "No messages matched criteria" + msgstr "No messages matched criteria" + +-#: pattern.c:2641 ++#: pattern.c:2765 + msgid "Searching..." + msgstr "Searching..." + +-#: pattern.c:2655 ++#: pattern.c:2779 + msgid "Search hit bottom without finding match" + msgstr "Search hit bottom without finding match" + +-#: pattern.c:2666 ++#: pattern.c:2790 + msgid "Search hit top without finding match" + msgstr "Search hit top without finding match" + +-#: pattern.c:2700 ++#: pattern.c:2824 + msgid "Search interrupted" + msgstr "Search interrupted" + +-#: pop/pop.c:216 pop/pop_lib.c:234 ++#: pop/pop.c:216 pop/pop_lib.c:259 + msgid "Command TOP is not supported by server" + msgstr "Command TOP is not supported by server" + +@@ -6158,7 +6236,7 @@ msgstr "Command TOP is not supported by server" + msgid "Can't write header to temporary file" + msgstr "Can't write header to temporary file" + +-#: pop/pop.c:420 pop/pop_lib.c:236 ++#: pop/pop.c:420 pop/pop_lib.c:261 + msgid "Command UIDL is not supported by server" + msgstr "Command UIDL is not supported by server" + +@@ -6173,7 +6251,7 @@ msgstr[1] "%d messages have been lost. Try reopening the mailbox." + msgid "POP host is not defined" + msgstr "POP host is not defined" + +-#: pop/pop.c:596 pop/pop.c:825 ++#: pop/pop.c:596 pop/pop.c:790 pop/pop.c:820 + #, c-format + msgid "%s is an invalid POP path" + msgstr "%s is an invalid POP path" +@@ -6206,152 +6284,152 @@ msgid_plural "%s [%d of %d messages read]" + msgstr[0] "%s [%d of %d message read]" + msgstr[1] "%s [%d of %d messages read]" + +-#: pop/pop.c:876 ++#: pop/pop.c:871 + msgid "Fetching list of messages..." + msgstr "Fetching list of messages..." + +-#: pop/pop.c:959 ++#: pop/pop.c:954 + msgid "Marking messages deleted..." + msgstr "Marking messages deleted..." + +-#: pop/pop.c:1150 ++#: pop/pop.c:1145 + msgid "Can't write message to temporary file" + msgstr "Can't write message to temporary file" + +-#: pop/pop_auth.c:103 ++#: pop/pop_auth.c:104 + msgid "Authenticating (SASL)..." + msgstr "Authenticating (SASL)..." + +-#: pop/pop_auth.c:245 ++#: pop/pop_auth.c:246 + msgid "POP timestamp is invalid" + msgstr "POP timestamp is invalid" + +-#: pop/pop_auth.c:249 ++#: pop/pop_auth.c:250 + msgid "Authenticating (APOP)..." + msgstr "Authenticating (APOP)..." + +-#: pop/pop_auth.c:269 ++#: pop/pop_auth.c:270 + msgid "APOP authentication failed" + msgstr "APOP authentication failed" + +-#: pop/pop_auth.c:309 ++#: pop/pop_auth.c:310 + msgid "Command USER is not supported by server" + msgstr "Command USER is not supported by server" + +-#: pop/pop_auth.c:386 ++#: pop/pop_auth.c:387 + msgid "Authentication failed" + msgstr "Authentication failed" + +-#: pop/pop_lib.c:78 ++#: pop/pop_lib.c:103 + #, c-format + msgid "Invalid POP URL: %s" + msgstr "Invalid POP URL: %s" + +-#: pop/pop_lib.c:232 ++#: pop/pop_lib.c:257 + msgid "Unable to leave messages on server" + msgstr "Unable to leave messages on server" + +-#: pop/pop_lib.c:274 ++#: pop/pop_lib.c:300 + #, c-format + msgid "Error connecting to server: %s" + msgstr "Error connecting to server: %s" + +-#: pop/pop_lib.c:414 ++#: pop/pop_lib.c:440 + msgid "Closing connection to POP server..." + msgstr "Closing connection to POP server..." + +-#: pop/pop_lib.c:605 ++#: pop/pop_lib.c:631 + msgid "Verifying message indexes..." + msgstr "Verifying message indexes..." + +-#: pop/pop_lib.c:628 ++#: pop/pop_lib.c:654 + msgid "Connection lost. Reconnect to POP server?" + msgstr "Connection lost. Reconnect to POP server?" + +-#: postpone.c:229 ++#: postpone.c:260 + msgid "Postponed Messages" + msgstr "Postponed Messages" + +-#: postpone.c:314 postpone.c:326 ++#: postpone.c:348 postpone.c:372 + msgid "No postponed messages" + msgstr "No postponed messages" + +-#: postpone.c:480 ++#: postpone.c:526 + msgid "Illegal S/MIME header" + msgstr "Illegal S/MIME header" + +-#: postpone.c:510 postpone.c:551 postpone.c:560 ++#: postpone.c:556 postpone.c:597 postpone.c:606 + msgid "Illegal crypto header" + msgstr "Illegal crypto header" + +-#: postpone.c:644 postpone.c:752 postpone.c:780 ++#: postpone.c:690 postpone.c:798 postpone.c:826 + msgid "Decrypting message..." + msgstr "Decrypting message..." + +-#: query.c:82 ++#: query.c:80 + msgid "New Query" + msgstr "New Query" + +-#: query.c:83 ++#: query.c:81 + msgid "Make Alias" + msgstr "Make Alias" + +-#: query.c:180 ++#: query.c:178 + msgid "Waiting for response..." + msgstr "Waiting for response..." + +-#: query.c:362 query.c:400 ++#: query.c:365 query.c:434 + msgid "Query: " + msgstr "Query: " + +-#: query.c:370 query.c:407 ++#: query.c:374 query.c:442 + #, c-format + msgid "Query '%s'" + msgstr "Query '%s'" + +-#: query.c:620 query.c:657 ++#: query.c:661 query.c:698 + msgid "Query command not defined" + msgstr "Query command not defined" + +-#: recvattach.c:93 ++#: recvattach.c:91 + msgid "Pipe" + msgstr "Pipe" + +-#: recvattach.c:94 ++#: recvattach.c:92 + msgid "Print" + msgstr "Print" + +-#: recvattach.c:569 ++#: recvattach.c:571 + msgid "Saving..." + msgstr "Saving..." + +-#: recvattach.c:573 recvattach.c:744 recvattach.c:748 ++#: recvattach.c:575 recvattach.c:746 recvattach.c:750 + #, c-format + msgid "Attachment saved" + msgid_plural "%d attachments saved" + msgstr[0] "Attachment saved" + msgstr[1] "%d attachments saved" + +-#: recvattach.c:772 ++#: recvattach.c:774 + #, c-format + msgid "WARNING! You are about to overwrite %s, continue?" + msgstr "WARNING! You are about to overwrite %s, continue?" + +-#: recvattach.c:790 ++#: recvattach.c:792 + msgid "Attachment filtered" + msgstr "Attachment filtered" + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Filter through: " + msgstr "Filter through: " + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Pipe to: " + msgstr "Pipe to: " + + #. L10N: s gets replaced by a MIME type, e.g. "text/plain" or + #. application/octet-stream. +-#: recvattach.c:935 ++#: recvattach.c:937 + #, c-format + msgid "I don't know how to print %s attachments" + msgstr "I don't know how to print %s attachments" +@@ -6359,55 +6437,55 @@ msgstr "I don't know how to print %s attachments" + #. L10N: Although we now the precise number of tagged messages, we + #. do not show it to the user. So feel free to use a "generic + #. plural" as plural translation if your language has one. +-#: recvattach.c:1038 ++#: recvattach.c:1040 + #, c-format + msgid "Print tagged attachment?" + msgid_plural "Print %d tagged attachments?" + msgstr[0] "Print tagged attachment?" + msgstr[1] "Print %d tagged attachments?" + +-#: recvattach.c:1039 ++#: recvattach.c:1041 + #, c-format + msgid "Print attachment?" + msgstr "Print attachment?" + +-#: recvattach.c:1123 ++#: recvattach.c:1125 + msgid "Structural changes to decrypted attachments are not supported" + msgstr "Structural changes to decrypted attachments are not supported" + +-#: recvattach.c:1291 ++#: recvattach.c:1293 + msgid "Can't decrypt encrypted message" + msgstr "Can't decrypt encrypted message" + +-#: recvattach.c:1425 ++#: recvattach.c:1457 + msgid "Attachments" + msgstr "Attachments" + +-#: recvattach.c:1465 ++#: recvattach.c:1497 + msgid "There are no subparts to show" + msgstr "There are no subparts to show" + +-#: recvattach.c:1520 ++#: recvattach.c:1552 + msgid "Can't delete attachment from POP server" + msgstr "Can't delete attachment from POP server" + +-#: recvattach.c:1529 ++#: recvattach.c:1561 + msgid "Can't delete attachment from news server" + msgstr "Can't delete attachment from news server" + +-#: recvattach.c:1536 ++#: recvattach.c:1568 + msgid "Deletion of attachments from encrypted messages is unsupported" + msgstr "Deletion of attachments from encrypted messages is unsupported" + +-#: recvattach.c:1542 ++#: recvattach.c:1574 + msgid "Deletion of attachments from signed messages may invalidate the signature" + msgstr "Deletion of attachments from signed messages may invalidate the signature" + +-#: recvattach.c:1561 recvattach.c:1578 ++#: recvattach.c:1593 recvattach.c:1610 + msgid "Only deletion of multipart attachments is supported" + msgstr "Only deletion of multipart attachments is supported" + +-#: recvcmd.c:79 ++#: recvcmd.c:78 + msgid "You may only bounce message/rfc822 parts" + msgstr "You may only bounce message/rfc822 parts" + +@@ -6443,7 +6521,7 @@ msgstr "Can't create %s" + msgid "Can't find any tagged messages" + msgstr "Can't find any tagged messages" + +-#: recvcmd.c:848 send.c:1073 ++#: recvcmd.c:848 send.c:1072 + msgid "No mailing lists found" + msgstr "No mailing lists found" + +@@ -6457,67 +6535,67 @@ msgstr "Can't decode all tagged attachments. MIME-encapsulate the others?" + msgid "You may only compose to sender with message/rfc822 parts" + msgstr "You may only compose to sender with message/rfc822 parts" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Append" + msgstr "Append" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Insert" + msgstr "Insert" + +-#: remailer.c:78 ++#: remailer.c:76 + msgid "OK" + msgstr "OK" + +-#: remailer.c:210 ++#: remailer.c:207 + msgid "" + msgstr "" + +-#: remailer.c:586 ++#: remailer.c:617 + msgid "Can't get mixmaster's type2.list" + msgstr "Can't get mixmaster's type2.list" + +-#: remailer.c:612 ++#: remailer.c:673 + msgid "Select a remailer chain" + msgstr "Select a remailer chain" + +-#: remailer.c:674 ++#: remailer.c:735 + #, c-format + msgid "Error: %s can't be used as the final remailer of a chain" + msgstr "Error: %s can't be used as the final remailer of a chain" + + #. L10N The '%d' here hard-coded to 19 +-#: remailer.c:706 ++#: remailer.c:767 + #, c-format + msgid "Mixmaster chains are limited to %d elements" + msgstr "Mixmaster chains are limited to %d elements" + +-#: remailer.c:729 ++#: remailer.c:790 + msgid "The remailer chain is already empty" + msgstr "The remailer chain is already empty" + +-#: remailer.c:739 ++#: remailer.c:800 + msgid "You already have the first chain element selected" + msgstr "You already have the first chain element selected" + +-#: remailer.c:749 ++#: remailer.c:810 + msgid "You already have the last chain element selected" + msgstr "You already have the last chain element selected" + +-#: remailer.c:792 ++#: remailer.c:856 + msgid "Mixmaster doesn't accept Cc or Bcc headers" + msgstr "Mixmaster doesn't accept Cc or Bcc headers" + +-#: remailer.c:817 ++#: remailer.c:881 + msgid "Please set the hostname variable to a proper value when using mixmaster" + msgstr "Please set the hostname variable to a proper value when using mixmaster" + +-#: remailer.c:860 ++#: remailer.c:924 + #, c-format + msgid "Error sending message, child exited %d.\n" + msgstr "Error sending message, child exited %d.\n" + +-#: remailer.c:864 ++#: remailer.c:928 + msgid "Error sending message" + msgstr "Error sending message" + +@@ -6547,41 +6625,41 @@ msgstr "Forward attachments?" + + #. L10N: Asks whether the user respects the reply-to header. + #. If she says no, neomutt will reply to the from header's address instead. +-#: send.c:793 ++#: send.c:792 + #, c-format + msgid "Reply to %s%s?" + msgstr "Reply to %s%s?" + +-#: send.c:838 ++#: send.c:837 + #, c-format + msgid "Follow-up to %s%s?" + msgstr "Follow-up to %s%s?" + +-#: send.c:1122 ++#: send.c:1121 + msgid "Include message in reply?" + msgstr "Include message in reply?" + +-#: send.c:1128 ++#: send.c:1127 + msgid "Including quoted message..." + msgstr "Including quoted message..." + +-#: send.c:1137 ++#: send.c:1136 + msgid "Could not include all requested messages" + msgstr "Could not include all requested messages" + +-#: send.c:1148 ++#: send.c:1147 + msgid "Forward as attachment?" + msgstr "Forward as attachment?" + +-#: send.c:1153 ++#: send.c:1152 + msgid "Preparing forwarded message..." + msgstr "Preparing forwarded message..." + +-#: send.c:1632 ++#: send.c:1631 + msgid "Fcc to an IMAP mailbox is not supported in batch mode" + msgstr "Fcc to an IMAP mailbox is not supported in batch mode" + +-#: send.c:1664 send.c:1690 ++#: send.c:1665 send.c:1675 send.c:1701 + msgid "Save attachments in Fcc?" + msgstr "Save attachments in Fcc?" + +@@ -6589,190 +6667,190 @@ msgstr "Save attachments in Fcc?" + #. (r)etry tries the same mailbox again. + #. alternate (m)ailbox prompts for a different mailbox to try. + #. (s)kip aborts saving. +-#: send.c:1712 ++#: send.c:1723 + msgid "Fcc failed. (r)etry, alternate (m)ailbox, or (s)kip?" + msgstr "Fcc failed. (r)etry, alternate (m)ailbox, or (s)kip?" + + #. L10N: These correspond to the "Fcc failed" multi-choice prompt + #. (r)etry, alternate (m)ailbox, or (s)kip. + #. Any similarity to famous leaders of the FSF is coincidental. +-#: send.c:1716 ++#: send.c:1727 + msgid "rms" + msgstr "rms" + + #. L10N: This is the prompt to enter an "alternate (m)ailbox" when the + #. initial Fcc fails. +-#: send.c:1722 ++#: send.c:1733 + msgid "Fcc mailbox" + msgstr "Fcc mailbox" + +-#: send.c:1788 ++#: send.c:1799 + msgid "Can't postpone. $postponed is unset" + msgstr "Can't postpone. $postponed is unset" + +-#: send.c:1923 ++#: send.c:1934 + msgid "Recall postponed message?" + msgstr "Recall postponed message?" + +-#: send.c:2228 ++#: send.c:2239 + msgid "Edit forwarded message?" + msgstr "Edit forwarded message?" + +-#: send.c:2266 ++#: send.c:2277 + msgid "Abort unmodified message?" + msgstr "Abort unmodified message?" + +-#: send.c:2268 ++#: send.c:2279 + msgid "Aborted unmodified message" + msgstr "Aborted unmodified message" + +-#: send.c:2388 ++#: send.c:2399 + msgid "No crypto backend configured. Disabling message security setting." + msgstr "No crypto backend configured. Disabling message security setting." + +-#: send.c:2427 ++#: send.c:2438 + msgid "Article not posted" + msgstr "Article not posted" + +-#: send.c:2437 ++#: send.c:2448 + msgid "Message postponed" + msgstr "Message postponed" + +-#: send.c:2470 ++#: send.c:2481 + msgid "No subject, abort sending?" + msgstr "No subject, abort sending?" + +-#: send.c:2474 send.c:2480 ++#: send.c:2485 send.c:2491 + msgid "No subject specified" + msgstr "No subject specified" + +-#: send.c:2486 ++#: send.c:2497 + msgid "No newsgroup specified" + msgstr "No newsgroup specified" + +-#: send.c:2496 ++#: send.c:2507 + msgid "No attachments, cancel sending?" + msgstr "No attachments, cancel sending?" + +-#: send.c:2501 ++#: send.c:2512 + msgid "Message contains text matching \"$abort_noattach_regex\". Not sending." + msgstr "Message contains text matching \"$abort_noattach_regex\". Not sending." + +-#: send.c:2559 smtp.c:227 ++#: send.c:2570 smtp.c:230 + msgid "Sending message..." + msgstr "Sending message..." + +-#: send.c:2598 ++#: send.c:2609 + msgid "Could not send the message" + msgstr "Could not send the message" + +-#: send.c:2608 ++#: send.c:2619 + msgid "Sending in background" + msgstr "Sending in background" + +-#: send.c:2609 ++#: send.c:2620 + msgid "Article posted" + msgstr "Article posted" + +-#: send.c:2610 ++#: send.c:2621 + msgid "Mail sent" + msgstr "Mail sent" + +-#: sendlib.c:567 ++#: sendlib.c:566 + msgid "No boundary parameter found [report this error]" + msgstr "No boundary parameter found [report this error]" + +-#: sendlib.c:598 ++#: sendlib.c:597 + #, c-format + msgid "%s no longer exists" + msgstr "%s no longer exists" + +-#: sendlib.c:1056 ++#: sendlib.c:1055 + #, c-format + msgid "%s isn't a regular file" + msgstr "%s isn't a regular file" + +-#: sendlib.c:1223 ++#: sendlib.c:1222 + msgid "Could not find any mime.types file." + msgstr "Could not find any mime.types file." + +-#: sendlib.c:1314 ++#: sendlib.c:1313 + #, c-format + msgid "Could not open %s" + msgstr "Could not open %s" + +-#: sendlib.c:2864 ++#: sendlib.c:2855 + msgid "$sendmail must be set in order to send mail" + msgstr "$sendmail must be set in order to send mail" + +-#: sendlib.c:2971 ++#: sendlib.c:2962 + #, c-format + msgid "Error sending message, child exited %d (%s)" + msgstr "Error sending message, child exited %d (%s)" + +-#: sendlib.c:2977 ++#: sendlib.c:2969 + msgid "Output of the delivery process" + msgstr "Output of the delivery process" + +-#: sendlib.c:3157 ++#: sendlib.c:3154 + #, c-format + msgid "Bad IDN %s while preparing resent-from" + msgstr "Bad IDN %s while preparing resent-from" + +-#: smtp.c:165 ++#: smtp.c:168 + #, c-format + msgid "SMTP session failed: %s" + msgstr "SMTP session failed: %s" + +-#: smtp.c:222 ++#: smtp.c:225 + #, c-format + msgid "SMTP session failed: unable to open %s" + msgstr "SMTP session failed: unable to open %s" + +-#: smtp.c:339 ++#: smtp.c:364 + #, c-format + msgid "Invalid SMTP URL: %s" + msgstr "Invalid SMTP URL: %s" + +-#: smtp.c:618 ++#: smtp.c:643 + #, c-format + msgid "SMTP authentication method %s requires SASL" + msgstr "SMTP authentication method %s requires SASL" + +-#: smtp.c:625 ++#: smtp.c:650 + #, c-format + msgid "%s authentication failed, trying next method" + msgstr "%s authentication failed, trying next method" + +-#: smtp.c:636 ++#: smtp.c:661 + msgid "SMTP authentication requires SASL" + msgstr "SMTP authentication requires SASL" + +-#: smtp.c:717 ++#: smtp.c:742 + msgid "SMTP server does not support authentication" + msgstr "SMTP server does not support authentication" + +-#: smtp.c:756 ++#: smtp.c:781 + msgid "No from address given" + msgstr "No from address given" + +-#: smtp.c:821 ++#: smtp.c:846 + msgid "SMTP session failed: read error" + msgstr "SMTP session failed: read error" + +-#: smtp.c:823 ++#: smtp.c:848 + msgid "SMTP session failed: write error" + msgstr "SMTP session failed: write error" + +-#: smtp.c:825 ++#: smtp.c:850 + msgid "Invalid server response" + msgstr "Invalid server response" + +-#: sort.c:385 ++#: sort.c:387 + msgid "Sorting mailbox..." + msgstr "Sorting mailbox..." + +-#: sort.c:427 ++#: sort.c:429 + msgid "Could not find sorting function [report this bug]" + msgstr "Could not find sorting function [report this bug]" + +@@ -6842,10 +6920,10 @@ msgstr "" + "NeoMutt is free software, and you are welcome to redistribute it\n" + "under certain conditions; type 'neomutt -vv' for details.\n" + +-#: version.c:446 ++#: version.c:451 + msgid "Default options:" + msgstr "Default options:" + +-#: version.c:449 ++#: version.c:454 + msgid "Compile options:" + msgstr "Compile options:" +diff --git a/po/eo.po b/po/eo.po +index 65eb49183..a6fce8125 100644 +--- a/po/eo.po ++++ b/po/eo.po +@@ -10,7 +10,7 @@ msgid "" + msgstr "" + "Project-Id-Version: neomutt-2019-12-07\n" + "Report-Msgid-Bugs-To: neomutt-devel@neomutt.org\n" +-"POT-Creation-Date: 2019-12-06 23:10+0000\n" ++"POT-Creation-Date: 2020-03-09 12:15+0000\n" + "PO-Revision-Date: 2017-02-22 21:14+0100\n" + "Last-Translator: Benno Schulenberg \n" + "Language-Team: Esperanto \n" +@@ -20,16 +20,40 @@ msgstr "" + "Content-Transfer-Encoding: 8bit\n" + "Plural-Forms: nplurals=2; plural=(n != 1);\n" + +-#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:59 browser.c:80 browser.c:90 +-#: mutt_history.c:45 pager.c:228 postpone.c:68 query.c:80 recvattach.c:93 ++msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" ++msgstr "(m)alakcepti, akcepti (u)nufoje, (a)kcepti ĉiam, (s)kip" ++ ++msgid "roas" ++msgstr "muas" ++ ++msgid "(r)eject, accept (o)nce, (a)ccept always" ++msgstr "(m)alakcepti, akcepti (u)nufoje, (a)kcepti ĉiam" ++ ++msgid "roa" ++msgstr "mua" ++ ++msgid "(r)eject, accept (o)nce, (s)kip" ++msgstr "(m)alakcepti, akcepti (u)nufoje, (s)kip" ++ ++msgid "ros" ++msgstr "mus" ++ ++msgid "(r)eject, accept (o)nce" ++msgstr "(m)alakcepti, akcepti (u)nufoje" ++ ++msgid "ro" ++msgstr "mu" ++ ++#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:58 browser.c:79 browser.c:89 ++#: mutt_history.c:45 pager.c:220 postpone.c:68 query.c:78 recvattach.c:91 + msgid "Exit" + msgstr "Fino" + +-#: addrbook.c:56 index.c:116 index.c:129 pager.c:236 pager.c:246 postpone.c:69 ++#: addrbook.c:56 index.c:112 index.c:125 pager.c:228 pager.c:238 postpone.c:69 + msgid "Del" + msgstr "Forviŝi" + +-#: addrbook.c:57 index.c:117 index.c:130 postpone.c:70 ++#: addrbook.c:57 index.c:113 index.c:126 postpone.c:70 + msgid "Undel" + msgstr "Malforviŝi" + +@@ -37,18 +61,18 @@ msgstr "Malforviŝi" + msgid "Select" + msgstr "Elekto" + +-#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:82 browser.c:84 browser.c:96 +-#: compose.c:218 compose.c:230 conn/ssl.c:983 conn/ssl_gnutls.c:691 index.c:122 +-#: index.c:135 mutt_history.c:48 ncrypt/crypt_gpgme.c:4735 ncrypt/pgpkey.c:670 +-#: ncrypt/smime.c:553 pager.c:2326 postpone.c:71 query.c:85 recvattach.c:94 ++#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:81 browser.c:83 browser.c:95 ++#: compose.c:216 compose.c:228 conn/ssl.c:996 conn/ssl_gnutls.c:722 index.c:118 ++#: index.c:131 mutt_history.c:48 ncrypt/crypt_gpgme.c:4783 ncrypt/pgpkey.c:673 ++#: ncrypt/smime.c:555 pager.c:2297 postpone.c:71 query.c:83 recvattach.c:92 + msgid "Help" + msgstr "Helpo" + +-#: addrbook.c:208 ++#: addrbook.c:238 + msgid "You have no aliases" + msgstr "Vi ne havas adresaron" + +-#: addrbook.c:215 ++#: addrbook.c:276 + msgid "Aliases" + msgstr "Adresaro" + +@@ -57,52 +81,52 @@ msgstr "Adresaro" + msgid "Alias as: " + msgstr "Aldonu nomon: " + +-#: alias.c:411 ++#: alias.c:414 + msgid "You already have an alias defined with that name" + msgstr "En la adresaro jam estas nomo kun tiu adreso" + +-#: alias.c:417 ++#: alias.c:420 + msgid "Warning: This alias name may not work. Fix it?" + msgstr "Averto: Ĉi tiu nomo eble ne funkcios. Ĉu ripari ĝin?" + +-#: alias.c:442 ++#: alias.c:445 + msgid "Address: " + msgstr "Adreso: " + +-#: alias.c:453 commands.c:444 compose.c:744 conn/conn_raw.c:152 +-#: conn/conn_raw.c:210 recvcmd.c:232 send.c:228 ++#: alias.c:457 commands.c:450 compose.c:743 conn/conn_raw.c:152 ++#: conn/conn_raw.c:210 recvcmd.c:231 send.c:227 + #, c-format + msgid "Bad IDN: '%s'" + msgstr "Malbona IDN: '%s'" + +-#: alias.c:464 ++#: alias.c:468 + msgid "Personal name: " + msgstr "Plena nomo: " + +-#: alias.c:473 ++#: alias.c:477 + #, c-format + msgid "[%s = %s] Accept?" + msgstr "[%s = %s] Ĉu akcepti?" + +-#: alias.c:484 recvattach.c:528 recvattach.c:550 recvattach.c:564 +-#: recvattach.c:579 recvattach.c:678 ++#: alias.c:488 recvattach.c:530 recvattach.c:552 recvattach.c:566 ++#: recvattach.c:581 recvattach.c:680 + msgid "Save to file: " + msgstr "Skribi al dosiero: " + +-#: alias.c:503 ++#: alias.c:507 + msgid "Error reading alias file" + msgstr "Eraro dum legado de adresaro-dosiero" + +-#: alias.c:525 ++#: alias.c:529 + #, fuzzy + msgid "Trouble adding alias" + msgstr "Eraro dum legado de adresaro-dosiero" + +-#: alias.c:527 ++#: alias.c:531 + msgid "Alias added" + msgstr "Adreso aldonita" + +-#: alias.c:532 ++#: alias.c:536 + msgid "Error seeking in alias file" + msgstr "Eraro dum alsalto en adresaro-dosiero" + +@@ -111,7 +135,7 @@ msgstr "Eraro dum alsalto en adresaro-dosiero" + #. for some reason (e.g. autocrypt, header cache, bcache), but it + #. doesn't exist. The prompt is asking whether to create the directory + #. +-#: autocrypt/autocrypt.c:70 main.c:826 ++#: autocrypt/autocrypt.c:70 main.c:757 + #, c-format + msgid "%s does not exist. Create it?" + msgstr "%s ne ekzistas. Ĉu krei ĝin?" +@@ -120,8 +144,8 @@ msgstr "%s ne ekzistas. Ĉu krei ĝin?" + #. mkdir() on the directory %s failed. The second %s is the + #. error message returned by libc + #. +-#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:830 +-#: nntp/newsrc.c:1069 ++#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:761 ++#: nntp/newsrc.c:1098 + #, c-format + msgid "Can't create %s: %s" + msgstr "Ne eblas krei %s: %s" +@@ -131,7 +155,7 @@ msgstr "Ne eblas krei %s: %s" + #. create $autocrypt_dir and then prompt to create an autocrypt + #. account with this message. + #. +-#: autocrypt/autocrypt.c:156 ++#: autocrypt/autocrypt.c:163 + msgid "Create an initial autocrypt account?" + msgstr "" + +@@ -140,7 +164,7 @@ msgstr "" + #. autocrypt account. This will generate a key and add a record + #. to the database for use in autocrypt operations. + #. +-#: autocrypt/autocrypt.c:180 ++#: autocrypt/autocrypt.c:187 + msgid "Autocrypt account address: " + msgstr "" + +@@ -149,7 +173,7 @@ msgstr "" + #. a single address. This is shown if they entered something invalid, + #. nothing, or more than one address for some reason. + #. +-#: autocrypt/autocrypt.c:191 ++#: autocrypt/autocrypt.c:198 + msgid "Please enter a single email address" + msgstr "" + +@@ -158,7 +182,7 @@ msgstr "" + #. if there is already an account in the database with the email address + #. they just entered. + #. +-#: autocrypt/autocrypt.c:208 ++#: autocrypt/autocrypt.c:215 + msgid "That email address already has an autocrypt account" + msgstr "" + +@@ -170,7 +194,7 @@ msgstr "" + #. Otherwise the UI will show encryption is "available" but the user + #. will be required to enable encryption manually. + #. +-#: autocrypt/autocrypt.c:223 ++#: autocrypt/autocrypt.c:230 + #, fuzzy + msgid "Prefer encryption?" + msgstr "ĉifrado" +@@ -178,7 +202,7 @@ msgstr "ĉifrado" + #. L10N: + #. Message displayed after an autocrypt account is successfully created. + #. +-#: autocrypt/autocrypt.c:236 ++#: autocrypt/autocrypt.c:243 + msgid "Autocrypt account creation succeeded" + msgstr "" + +@@ -186,7 +210,7 @@ msgstr "" + #. Error message displayed if creating an autocrypt account failed + #. or was aborted by the user. + #. +-#: autocrypt/autocrypt.c:242 ++#: autocrypt/autocrypt.c:249 + msgid "Autocrypt account creation aborted" + msgstr "" + +@@ -195,7 +219,7 @@ msgstr "" + #. to use to encrypt, but it can't find a valid keyid for this address. + #. The message is printed and they are returned to the compose menu. + #. +-#: autocrypt/autocrypt.c:610 autocrypt/autocrypt.c:639 ++#: autocrypt/autocrypt.c:617 autocrypt/autocrypt.c:646 + #, fuzzy, c-format + msgid "No (valid) autocrypt key found for %s" + msgstr "Nenia (valida) atestilo trovita por %s" +@@ -207,12 +231,12 @@ msgstr "Nenia (valida) atestilo trovita por %s" + #. and used for encryption. + #. If this is answered yes, they will be prompted for a mailbox. + #. +-#: autocrypt/autocrypt.c:903 ++#: autocrypt/autocrypt.c:910 + msgid "Scan a mailbox for autocrypt headers?" + msgstr "" + + #. L10N: The prompt for a mailbox to scan for Autocrypt: headers +-#: autocrypt/autocrypt.c:907 ++#: autocrypt/autocrypt.c:914 + #, fuzzy + msgid "Scan mailbox" + msgstr "Mankas poŝtfako.\n" +@@ -224,14 +248,14 @@ msgstr "Mankas poŝtfako.\n" + #. for a mailbox. This is because this is a one-time operation + #. and I don't want them to accidentally ctrl-g and abort it. + #. +-#: autocrypt/autocrypt.c:927 ++#: autocrypt/autocrypt.c:934 + msgid "Scan another mailbox for autocrypt headers?" + msgstr "" + + #. L10N: Autocrypt Account Menu Help line: + #. create new account + #. +-#: autocrypt/autocrypt_acct_menu.c:63 ++#: autocrypt/autocrypt_acct_menu.c:62 + #, fuzzy + msgid "Create" + msgstr "Ĉu krei %s?" +@@ -239,7 +263,7 @@ msgstr "Ĉu krei %s?" + #. L10N: Autocrypt Account Menu Help line: + #. delete account + #. +-#: autocrypt/autocrypt_acct_menu.c:67 remailer.c:77 ++#: autocrypt/autocrypt_acct_menu.c:66 remailer.c:75 + msgid "Delete" + msgstr "Forviŝi" + +@@ -247,9 +271,9 @@ msgstr "Forviŝi" + #. toggle an account active/inactive + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:74 ++#: autocrypt/autocrypt_acct_menu.c:73 + msgid "Tgl Active" + msgstr "" + +@@ -257,17 +281,17 @@ msgstr "" + #. toggle "prefer-encrypt" on an account + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:81 +-msgid "Prf Enc" ++#: autocrypt/autocrypt_acct_menu.c:80 ++msgid "Prf Encr" + msgstr "" + + #. L10N: + #. Autocrypt Account menu. + #. flag that an account has prefer-encrypt set + #. +-#: autocrypt/autocrypt_acct_menu.c:123 ++#: autocrypt/autocrypt_acct_menu.c:122 + msgid "prefer encrypt" + msgstr "" + +@@ -276,7 +300,7 @@ msgstr "" + #. flag that an account has prefer-encrypt unset; + #. thus encryption will need to be manually enabled. + #. +-#: autocrypt/autocrypt_acct_menu.c:130 ++#: autocrypt/autocrypt_acct_menu.c:129 + msgid "manual encrypt" + msgstr "" + +@@ -284,7 +308,7 @@ msgstr "" + #. Autocrypt Account menu. + #. flag that an account is enabled/active + #. +-#: autocrypt/autocrypt_acct_menu.c:138 ++#: autocrypt/autocrypt_acct_menu.c:137 + msgid "active" + msgstr "" + +@@ -292,12 +316,12 @@ msgstr "" + #. Autocrypt Account menu. + #. flag that an account is disabled/inactive + #. +-#: autocrypt/autocrypt_acct_menu.c:144 ++#: autocrypt/autocrypt_acct_menu.c:143 + msgid "inactive" + msgstr "" + + #. L10N: Autocrypt Account Management Menu title +-#: autocrypt/autocrypt_acct_menu.c:183 ++#: autocrypt/autocrypt_acct_menu.c:182 + msgid "Autocrypt Accounts" + msgstr "" + +@@ -305,13 +329,13 @@ msgstr "" + #. This error message is displayed if a database update of an + #. account record fails for some odd reason. + #. +-#: autocrypt/autocrypt_acct_menu.c:245 autocrypt/autocrypt_acct_menu.c:259 ++#: autocrypt/autocrypt_acct_menu.c:244 autocrypt/autocrypt_acct_menu.c:258 + #, fuzzy + msgid "Error updating account record" + msgstr "Eraro dum legado de dosierujo" + + #. L10N: Confirmation message when deleting an autocrypt account +-#: autocrypt/autocrypt_acct_menu.c:302 ++#: autocrypt/autocrypt_acct_menu.c:333 + #, fuzzy, c-format + msgid "Really delete account \"%s\"?" + msgstr "Ĉu vere forviŝi la poŝtfakon \"%s\"?" +@@ -329,7 +353,7 @@ msgstr "Ĉu vere forviŝi la poŝtfakon \"%s\"?" + msgid "Unable to open autocrypt database %s" + msgstr "Ne eblas malfermi poŝtfakon %s" + +-#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:774 ++#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:773 + #, c-format + msgid "error creating gpgme context: %s" + msgstr "eraro en kreado de gpgme-kunteksto: %s" +@@ -402,335 +426,286 @@ msgstr "" + msgid "Message cache isn't a directory: %s" + msgstr "%s ne estas dosierujo" + +-#: browser.c:81 ++#: browser.c:80 + msgid "Chdir" + msgstr "Listo" + +-#: browser.c:82 ++#: browser.c:81 + msgid "Goto" + msgstr "" + +-#: browser.c:83 browser.c:95 ++#: browser.c:82 browser.c:94 + msgid "Mask" + msgstr "Masko" + +-#: browser.c:91 ++#: browser.c:90 + msgid "List" + msgstr "" + +-#: browser.c:92 ++#: browser.c:91 + #, fuzzy + msgid "Subscribe" + msgstr "Abonas %s" + +-#: browser.c:93 ++#: browser.c:92 + #, fuzzy + msgid "Unsubscribe" + msgstr "Malabonis %s" + +-#: browser.c:94 index.c:134 ++#: browser.c:93 index.c:130 + msgid "Catchup" + msgstr "" + +-#: browser.c:760 browser.c:1519 browser.c:1758 ++#: browser.c:763 browser.c:1584 browser.c:1825 + #, c-format + msgid "%s is not a directory" + msgstr "%s ne estas dosierujo" + +-#: browser.c:1025 ++#: browser.c:1028 + #, fuzzy, c-format + msgid "Subscribed newsgroups" + msgstr "Abonas %s" + +-#: browser.c:1028 ++#: browser.c:1031 + #, c-format + msgid "Newsgroups on server [%s]" + msgstr "" + +-#: browser.c:1038 ++#: browser.c:1041 + #, c-format + msgid "Mailboxes [%d]" + msgstr "Poŝtfakoj [%d]" + +-#: browser.c:1050 ++#: browser.c:1053 + #, c-format + msgid "Subscribed [%s], File mask: %s" + msgstr "Abonita [%s], Dosieromasko: %s" + +-#: browser.c:1056 ++#: browser.c:1059 + #, c-format + msgid "Directory [%s], File mask: %s" + msgstr "Dosierujo [%s], Dosieromasko: %s" + +-#: browser.c:1113 ++#: browser.c:1116 + msgid "Can't attach a directory" + msgstr "Ne eblas aldoni dosierujon" + +-#: browser.c:1380 browser.c:1814 browser.c:1959 ++#: browser.c:1445 browser.c:1881 browser.c:2026 + msgid "No files match the file mask" + msgstr "Neniu dosiero kongruas kun la dosieromasko" + +-#: browser.c:1587 ++#: browser.c:1654 + msgid "Create is only supported for IMAP mailboxes" + msgstr "Kreado funkcias nur ĉe IMAP-poŝtfakoj" + +-#: browser.c:1609 ++#: browser.c:1676 + msgid "Rename is only supported for IMAP mailboxes" + msgstr "Renomado funkcias nur ĉe IMAP-poŝtfakoj" + +-#: browser.c:1630 ++#: browser.c:1697 + msgid "Delete is only supported for IMAP mailboxes" + msgstr "Forviŝado funkcias nur ĉe IMAP-poŝtfakoj" + +-#: browser.c:1642 ++#: browser.c:1709 + #, fuzzy + msgid "Can't delete currently selected mailbox" + msgstr "montri la nomon de la elektita dosiero" + +-#: browser.c:1646 ++#: browser.c:1713 + #, c-format + msgid "Really delete mailbox \"%s\"?" + msgstr "Ĉu vere forviŝi la poŝtfakon \"%s\"?" + +-#: browser.c:1663 ++#: browser.c:1730 + msgid "Mailbox deleted" + msgstr "Poŝtfako forviŝita" + +-#: browser.c:1667 ++#: browser.c:1734 + #, fuzzy + msgid "Mailbox deletion failed" + msgstr "Poŝtfako forviŝita" + +-#: browser.c:1670 ++#: browser.c:1737 + msgid "Mailbox not deleted" + msgstr "Poŝtfako ne forviŝita" + +-#: browser.c:1697 ++#: browser.c:1764 + msgid "Chdir to: " + msgstr "Iri al la dosierujo: " + +-#: browser.c:1747 browser.c:1808 ++#: browser.c:1814 browser.c:1875 + msgid "Error scanning directory" + msgstr "Eraro dum legado de dosierujo" + +-#: browser.c:1769 ++#: browser.c:1836 + msgid "File Mask: " + msgstr "Dosieromasko: " + + #. L10N: The highlighted letters must match the "Sort" options +-#: browser.c:1831 ++#: browser.c:1898 + #, fuzzy + msgid "Reverse sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "Inversa ordigo laŭ (d)ato, (a)lfabete, (g)rando, aŭ (n)e ordigi?" + + #. L10N: The highlighted letters must match the "Reverse Sort" options +-#: browser.c:1834 ++#: browser.c:1901 + #, fuzzy + msgid "Sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "Ordigo laŭ (d)ato, (a)lfabete, (g)rando, aŭ (n)e ordigi?" + + #. L10N: These must match the highlighted letters from "Sort" and "Reverse Sort" +-#: browser.c:1837 ++#: browser.c:1904 + msgid "dazecwn" + msgstr "" + +-#: browser.c:1948 ++#: browser.c:2015 + msgid "New file name: " + msgstr "Nova dosieronomo: " + +-#: browser.c:1976 ++#: browser.c:2043 + msgid "Can't view a directory" + msgstr "Ne eblas rigardi dosierujon" + +-#: browser.c:1993 ++#: browser.c:2060 + msgid "Error trying to view file" + msgstr "Eraro dum vidigo de dosiero" + +-#: browser.c:2079 ++#: browser.c:2146 + #, fuzzy, c-format + msgid "Subscribe pattern: " + msgstr "Abonas %s" + +-#: browser.c:2081 ++#: browser.c:2148 + #, fuzzy, c-format + msgid "Unsubscribe pattern: " + msgstr "Malabonis %s" + +-#: browser.c:2101 ++#: browser.c:2169 + #, fuzzy + msgid "No newsgroups match the mask" + msgstr "Neniu dosiero kongruas kun la dosieromasko" + +-#: color.c:633 color.c:644 +-#, c-format +-msgid "%s: color not supported by term" +-msgstr "%s: terminalo ne kapablas je koloro" +- +-#: color.c:652 +-#, c-format +-msgid "%s: no such color" +-msgstr "%s: koloro ne ekzistas" +- +-#: color.c:717 color.c:740 color.c:751 color.c:842 +-#, c-format +-msgid "%s: no such object" +-msgstr "%s: objekto ne ekzistas" +- +-#: color.c:731 color.c:868 color.c:1069 color.c:1098 color.c:1122 color.c:1191 +-#: color.c:1214 hook.c:110 hook.c:124 hook.c:367 hook.c:383 init.c:612 +-#: init.c:620 init.c:709 init.c:1099 init.c:1267 init.c:1871 init.c:1929 +-#: keymap.c:1184 score.c:110 +-#, c-format +-msgid "%s: too few arguments" +-msgstr "%s: nesufiĉe da argumentoj" +- +-#: color.c:1142 +-#, c-format +-msgid "%s: no such attribute" +-msgstr "%s: nekonata trajto" +- +-#: color.c:1223 color.c:1329 hook.c:131 hook.c:390 init.c:1123 init.c:2133 +-#: init.c:2611 keymap.c:1116 keymap.c:1289 keymap.c:1442 keymap.c:1506 +-#: mutt_lua.c:483 score.c:119 +-#, c-format +-msgid "%s: too many arguments" +-msgstr "%s: tro da argumentoj" +- +-#: color.c:1244 +-msgid "default colors not supported" +-msgstr "implicitaj koloroj ne funkcias" +- +-#: color.c:1282 +-#, c-format +-msgid "Maximum quoting level is %d" +-msgstr "" +- +-#: color.c:1319 +-#, fuzzy, c-format +-msgid "%s: invalid number: %s" +-msgstr "Eraro: score: nevalida nombro" +- + #. L10N: Used for the $crypt_verify_sig prompt +-#: commands.c:230 ++#: commands.c:232 + msgid "Verify signature?" + msgstr "Ĉu kontroli subskribon?" + +-#: commands.c:257 mbox/mbox.c:1236 ++#: commands.c:259 mbox/mbox.c:1236 + msgid "Could not create temporary file" + msgstr "Ne eblis krei dumtempan dosieron" + +-#: commands.c:269 ++#: commands.c:271 + msgid "Can't create display filter" + msgstr "Ne eblas krei vidig-filtrilon" + +-#: commands.c:302 ++#: commands.c:304 + msgid "Could not copy message" + msgstr "Ne eblis kopii mesaĝon" + +-#: commands.c:338 ++#: commands.c:340 + msgid "S/MIME signature successfully verified" + msgstr "S/MIME-subskribo estis sukcese kontrolita" + +-#: commands.c:340 ++#: commands.c:342 + msgid "S/MIME certificate owner does not match sender" + msgstr "Posedanto de S/MIME-atestilo ne kongruas kun sendinto" + +-#: commands.c:343 commands.c:353 ++#: commands.c:345 commands.c:355 + msgid "Warning: Part of this message has not been signed" + msgstr "Averto: Parto de ĉi tiu mesaĝo ne estis subskribita" + +-#: commands.c:345 ++#: commands.c:347 + msgid "S/MIME signature could NOT be verified" + msgstr "S/MIME-subskribo NE povis esti kontrolita" + +-#: commands.c:351 ++#: commands.c:353 + msgid "PGP signature successfully verified" + msgstr "PGP-subskribo estas sukcese kontrolita" + +-#: commands.c:355 ++#: commands.c:357 + msgid "PGP signature could NOT be verified" + msgstr "PGP-subskribo NE povis esti kontrolita" + +-#: commands.c:372 compose.c:2116 compress.c:321 curs_lib.c:359 curs_lib.c:646 +-#: index.c:1235 index.c:1285 mutt_attach.c:159 mutt_attach.c:292 pager.c:2460 +-#: sendlib.c:1625 ++#: commands.c:378 compose.c:2187 compress/compress.c:320 gui/curs_lib.c:360 ++#: gui/curs_lib.c:714 index.c:1240 index.c:1290 mutt_attach.c:161 ++#: mutt_attach.c:294 pager.c:2433 sendlib.c:1624 + #, c-format + msgid "Error running \"%s\"" + msgstr "Eraro dum ruligo de \"%s\"" + +-#: commands.c:382 ++#: commands.c:388 + msgid "Command: " + msgstr "Komando: " + +-#: commands.c:419 recvcmd.c:191 recvcmd.c:203 ++#: commands.c:425 recvcmd.c:190 recvcmd.c:202 + msgid "Warning: message contains no From: header" + msgstr "Averto: mesaĝo malhavas 'From:'-ĉapaĵon" + +-#: commands.c:425 recvcmd.c:212 ++#: commands.c:431 recvcmd.c:211 + #, fuzzy + msgid "Bounce message to: " + msgstr "Redirekti mesaĝon al: " + +-#: commands.c:427 recvcmd.c:214 ++#: commands.c:433 recvcmd.c:213 + #, fuzzy + msgid "Bounce tagged messages to: " + msgstr "Redirekti markitajn mesaĝojn al: " + +-#: commands.c:436 recvcmd.c:224 ++#: commands.c:442 recvcmd.c:223 + msgid "Error parsing address" + msgstr "Eraro dum analizo de adreso" + +-#: commands.c:455 recvcmd.c:243 ++#: commands.c:461 recvcmd.c:242 + #, fuzzy, c-format + msgid "Bounce message to %s?" + msgid_plural "Bounce messages to %s?" + msgstr[0] "Redirekti mesaĝon al %s?" + msgstr[1] "Redirekti mesaĝojn al %s?" + +-#: commands.c:470 recvcmd.c:257 ++#: commands.c:476 recvcmd.c:257 + #, fuzzy + msgid "Message not bounced" + msgid_plural "Messages not bounced" + msgstr[0] "Mesaĝo ne redirektita" + msgstr[1] "Mesaĝoj ne redirektitaj" + +-#: commands.c:496 recvcmd.c:276 ++#: commands.c:502 recvcmd.c:276 + #, fuzzy + msgid "Message bounced" + msgid_plural "Messages bounced" + msgstr[0] "Mesaĝo redirektita" + msgstr[1] "Mesaĝoj redirektitaj" + +-#: commands.c:606 commands.c:642 commands.c:662 ++#: commands.c:612 commands.c:648 commands.c:668 + msgid "Can't create filter process" + msgstr "Ne eblas krei filtrilprocezon" + +-#: commands.c:698 ++#: commands.c:704 + msgid "Pipe to command: " + msgstr "Filtri per komando: " + +-#: commands.c:720 ++#: commands.c:726 + msgid "No printing command has been defined" + msgstr "Neniu pres-komando estas difinita" + +-#: commands.c:732 ++#: commands.c:738 + #, fuzzy + msgid "Print message?" + msgstr "Ĉu presi mesaĝon?" + +-#: commands.c:733 ++#: commands.c:739 + #, fuzzy + msgid "Print tagged messages?" + msgstr "Ĉu presi markitajn mesaĝojn?" + +-#: commands.c:739 ++#: commands.c:745 + #, fuzzy + msgid "Message printed" + msgid_plural "Messages printed" + msgstr[0] "Mesaĝo presita" + msgstr[1] "Mesaĝoj presitaj" + +-#: commands.c:742 ++#: commands.c:748 + #, fuzzy + msgid "Message could not be printed" + msgid_plural "Messages could not be printed" +@@ -738,162 +713,325 @@ msgstr[0] "Ne eblis presi mesaĝon" + msgstr[1] "Ne eblis presi mesaĝojn" + + #. L10N: The highlighted letters must match the "Sort" options +-#: commands.c:759 ++#: commands.c:765 + msgid "Rev-Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "Inverse laŭ (d)ato/d(e)/(r)icev/(t)emo/(a)l/(f)aden/(n)eorde/(g)rando/(p)oent/spa(m)/(e)tikedo?" + + #. L10N: The highlighted letters must match the "Rev-Sort" options +-#: commands.c:763 ++#: commands.c:769 + msgid "Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "Ordigo laŭ (d)ato/d(e)/(r)icev/(t)emo/(a)l/(f)aden/(n)eorde/(g)rando/(p)oent/spa(m)/(e)tikedo?" + + #. L10N: These must match the highlighted letters from "Sort" and "Rev-Sort" +-#: commands.c:767 ++#: commands.c:773 + msgid "dfrsotuzcpl" + msgstr "dertafngpme" + +-#: commands.c:831 ++#: commands.c:837 + msgid "Shell command: " + msgstr "Ŝelkomando: " + +-#: commands.c:1036 ++#: commands.c:1042 + #, fuzzy + msgid "Decode-save to mailbox" + msgstr "Malkodita skribi al poŝtfako" + +-#: commands.c:1036 ++#: commands.c:1042 + #, fuzzy + msgid "Decode-save tagged to mailbox" + msgstr "Malkodita skribi markitajn al poŝtfako" + +-#: commands.c:1038 ++#: commands.c:1044 + #, fuzzy + msgid "Decrypt-save to mailbox" + msgstr "Malĉifrita skribi al poŝtfako" + +-#: commands.c:1038 ++#: commands.c:1044 + #, fuzzy + msgid "Decrypt-save tagged to mailbox" + msgstr "Malĉifrita skribi markitajn al poŝtfako" + +-#: commands.c:1040 ++#: commands.c:1046 + #, fuzzy + msgid "Save to mailbox" + msgstr "Skribi al poŝtfako" + +-#: commands.c:1040 ++#: commands.c:1046 + #, fuzzy + msgid "Save tagged to mailbox" + msgstr "Skribi markitajn al poŝtfako" + +-#: commands.c:1045 ++#: commands.c:1051 + #, fuzzy + msgid "Decode-copy to mailbox" + msgstr "Malkodita kopii al poŝtfako" + +-#: commands.c:1045 ++#: commands.c:1051 + #, fuzzy + msgid "Decode-copy tagged to mailbox" + msgstr "Malkodita kopii markitajn al poŝtfako" + +-#: commands.c:1047 ++#: commands.c:1053 + #, fuzzy + msgid "Decrypt-copy to mailbox" + msgstr "Malĉifrita kopii al poŝtfako" + +-#: commands.c:1047 ++#: commands.c:1053 + #, fuzzy + msgid "Decrypt-copy tagged to mailbox" + msgstr "Malĉifrita kopii markitajn al poŝtfako" + +-#: commands.c:1049 ++#: commands.c:1055 + #, fuzzy + msgid "Copy to mailbox" + msgstr "Kopii al poŝtfako" + +-#: commands.c:1049 ++#: commands.c:1055 + #, fuzzy + msgid "Copy tagged to mailbox" + msgstr "Kopii markitajn al poŝtfako" + +-#: commands.c:1092 ++#: commands.c:1098 + #, c-format + msgid "Copying to %s..." + msgstr "Kopias al %s..." + + #. L10N: e.g. "text/plain; charset=UTF-8; ..." +-#: commands.c:1257 ++#: commands.c:1263 + #, fuzzy + msgid "Content type is too long" + msgstr "Content-Type ŝanĝita al %s" + +-#: commands.c:1281 ++#: commands.c:1290 + #, c-format + msgid "Convert to %s upon sending?" + msgstr "Ĉu konverti al %s ĉe sendado?" + +-#: commands.c:1292 ++#: commands.c:1301 + #, c-format + msgid "Content-Type changed to %s" + msgstr "Content-Type ŝanĝita al %s" + +-#: commands.c:1297 ++#: commands.c:1306 + #, fuzzy, c-format + msgid "Character set changed to %s; not converting" + msgstr "Signaro ŝanĝita al %s; ne konvertiĝas" + +-#: commands.c:1298 ++#: commands.c:1307 + #, fuzzy, c-format + msgid "Character set changed to %s; converting" + msgstr "Signaro ŝanĝita al %s; konvertiĝas" + +-#: compose.c:99 ++#: command_parse.c:83 command_parse.c:211 command_parse.c:219 ++#: command_parse.c:740 command_parse.c:887 command_parse.c:1491 ++#: command_parse.c:1549 gui/color.c:731 gui/color.c:868 gui/color.c:1069 ++#: gui/color.c:1098 gui/color.c:1122 gui/color.c:1191 gui/color.c:1214 ++#: hook.c:110 hook.c:124 hook.c:372 hook.c:388 keymap.c:1182 score.c:110 ++#, c-format ++msgid "%s: too few arguments" ++msgstr "%s: nesufiĉe da argumentoj" ++ ++#: command_parse.c:394 ++msgid "-group: no group name" ++msgstr "-group: mankas gruponomo" ++ ++#: command_parse.c:404 ++msgid "out of arguments" ++msgstr "nesufiĉe da argumentoj" ++ ++#: command_parse.c:445 command_parse.c:1372 ++#, c-format ++msgid "Error: Can't build path of '%s'" ++msgstr "" ++ ++#: command_parse.c:458 ++#, c-format ++msgid "Error: Cyclic sourcing of configuration file '%s'" ++msgstr "" ++ ++#: command_parse.c:491 ++#, c-format ++msgid "Error in %s, line %d: %s" ++msgstr "Eraro en %s, linio %d: %s" ++ ++#: command_parse.c:502 ++#, fuzzy, c-format ++msgid "Warning in %s, line %d: %s" ++msgstr "Eraro en %s, linio %d: %s" ++ ++#: command_parse.c:526 ++#, c-format ++msgid "source: errors in %s" ++msgstr "source: eraroj en %s" ++ ++#: command_parse.c:526 ++#, c-format ++msgid "source: reading aborted due to too many errors in %s" ++msgstr "source: legado ĉesis pro tro da eraroj en %s" ++ ++#: command_parse.c:535 ++#, fuzzy, c-format ++msgid "source: %d warning in %s" ++msgid_plural "source: %d warnings in %s" ++msgstr[0] "source: eraroj en %s" ++msgstr[1] "source: eraroj en %s" ++ ++#: command_parse.c:564 ++msgid "alias: no address" ++msgstr "adresaro: mankas adreso" ++ ++#: command_parse.c:606 ++#, c-format ++msgid "Warning: Bad IDN '%s' in alias '%s'" ++msgstr "Averto: Malbona IDN '%s' en adreso '%s'" ++ ++#: command_parse.c:684 ++msgid "attachments: no disposition" ++msgstr "attachments: mankas dispozicio" ++ ++#: command_parse.c:695 ++#, fuzzy ++msgid "Current attachments settings:" ++msgstr "redakti priskribon de parto" ++ ++#: command_parse.c:725 ++msgid "attachments: invalid disposition" ++msgstr "attachments: nevalida dispozicio" ++ ++#: command_parse.c:764 command_parse.c:1753 command_parse.c:2205 ++#: gui/color.c:1223 gui/color.c:1329 hook.c:131 hook.c:395 keymap.c:1114 ++#: keymap.c:1287 keymap.c:1440 keymap.c:1504 mutt_lua.c:485 score.c:119 ++#, c-format ++msgid "%s: too many arguments" ++msgstr "%s: tro da argumentoj" ++ ++#: command_parse.c:801 ++#, c-format ++msgid "%sgroup: missing -rx or -addr" ++msgstr "%s-grupo: mankas -rx aŭ -addr" ++ ++#: command_parse.c:827 ++#, c-format ++msgid "%sgroup: warning: bad IDN '%s'" ++msgstr "%s-grupo: averto: malbona IDN '%s'" ++ ++#: command_parse.c:898 ++#, c-format ++msgid "Error: %s" ++msgstr "" ++ ++#: command_parse.c:1065 ++msgid "invalid header field" ++msgstr "nevalida ĉaplinio" ++ ++#: command_parse.c:1331 command_parse.c:1435 ++#, c-format ++msgid "%s: unknown variable" ++msgstr "%s: nekonata variablo" ++ ++#: command_parse.c:1528 ++#, c-format ++msgid "%s is unset" ++msgstr "%s estas malŝaltita" ++ ++#: command_parse.c:1573 mutt_lua.c:480 ++#, c-format ++msgid "source: error at %s" ++msgstr "source: eraro ĉe %s" ++ ++#: command_parse.c:1581 ++#, fuzzy, c-format ++msgid "source: file %s could not be sourced" ++msgstr "Ne eblis presi mesaĝojn" ++ ++#: command_parse.c:1604 ++msgid "spam: no matching pattern" ++msgstr "spam: neniu ŝablono kongruas" ++ ++#: command_parse.c:1606 ++msgid "nospam: no matching pattern" ++msgstr "nospam: neniu ŝablono kongruas" ++ ++#: command_parse.c:1762 imap/imap.c:1443 ++#, c-format ++msgid "Subscribed to %s" ++msgstr "Abonas %s" ++ ++#: command_parse.c:1766 ++#, fuzzy, c-format ++msgid "Could not subscribe to %s" ++msgstr "Abonas %s" ++ ++#: command_parse.c:1774 command_parse.c:2226 ++#, fuzzy ++msgid "No folder specified" ++msgstr "Temlinio ne specifita." ++ ++#: command_parse.c:1943 ++msgid "unattachments: no disposition" ++msgstr "unattachments: mankas dispozicio" ++ ++#: command_parse.c:1981 ++msgid "unattachments: invalid disposition" ++msgstr "unattachments: nevalida dispozicio" ++ ++#: command_parse.c:2214 imap/imap.c:1445 ++#, c-format ++msgid "Unsubscribed from %s" ++msgstr "Malabonis %s" ++ ++#: command_parse.c:2218 ++#, fuzzy, c-format ++msgid "Could not unsubscribe from %s" ++msgstr "Malabonis %s" ++ ++#: compose.c:97 + msgid "There are no attachments" + msgstr "Mankas mesaĝopartoj" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:166 ++#: compose.c:164 + msgid "From: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:168 send.c:284 ++#: compose.c:166 send.c:284 + msgid "To: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:170 send.c:286 ++#: compose.c:168 send.c:286 + msgid "Cc: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:172 send.c:288 ++#: compose.c:170 send.c:288 + msgid "Bcc: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:174 compose.c:1242 send.c:320 ++#: compose.c:172 compose.c:1302 send.c:320 + msgid "Subject: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:176 ++#: compose.c:174 + #, fuzzy + msgid "Reply-To: " + msgstr "Respondi" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:178 compose.c:1261 ++#: compose.c:176 compose.c:1321 + msgid "Fcc: " + msgstr "" + + #. L10N: "Mix" refers to the MixMaster chain for anonymous email +-#: compose.c:181 ++#: compose.c:179 + msgid "Mix: " + msgstr "Mix: " + + #. L10N: Compose menu field. Holds "Encrypt", "Sign" related information +-#: compose.c:184 ++#: compose.c:182 + msgid "Security: " + msgstr "" + +@@ -904,78 +1042,78 @@ msgstr "" + #. it should not be longer than the other compose menu fields. + #. Since it shares the row with "Encrypt with:", it should not be longer + #. than 15-20 character cells. +-#: compose.c:192 ncrypt/crypt_gpgme.c:5602 ncrypt/pgp.c:1974 +-#: ncrypt/smime.c:2395 ++#: compose.c:190 ncrypt/crypt_gpgme.c:5682 ncrypt/pgp.c:1976 ++#: ncrypt/smime.c:2429 + msgid "Sign as: " + msgstr "Subskribi kiel: " + + #. L10N: The compose menu autocrypt line +-#: compose.c:195 ++#: compose.c:193 + msgid "Autocrypt: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:199 ++#: compose.c:197 + msgid "Newsgroups: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:201 ++#: compose.c:199 + #, fuzzy + msgid "Followup-To: " + msgstr "Ĉu respondi grupe al %s%s?" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:203 ++#: compose.c:201 + #, fuzzy + msgid "X-Comment-To: " + msgstr "redakti la kampon Reply-To" + +-#: compose.c:208 compose.c:224 ++#: compose.c:206 compose.c:222 + msgid "Send" + msgstr "Sendi" + +-#: compose.c:209 compose.c:225 remailer.c:77 ++#: compose.c:207 compose.c:223 remailer.c:75 + msgid "Abort" + msgstr "Interrompi" + + #. L10N: compose menu help line entry +-#: compose.c:211 ++#: compose.c:209 + msgid "To" + msgstr "" + + #. L10N: compose menu help line entry +-#: compose.c:213 ++#: compose.c:211 + msgid "CC" + msgstr "" + + #. L10N: compose menu help line entry +-#: compose.c:215 compose.c:227 ++#: compose.c:213 compose.c:225 + msgid "Subj" + msgstr "" + +-#: compose.c:216 compose.c:228 compose.c:1556 ++#: compose.c:214 compose.c:226 compose.c:1616 + msgid "Attach file" + msgstr "Aldoni dosieron" + +-#: compose.c:217 compose.c:229 ++#: compose.c:215 compose.c:227 + msgid "Descrip" + msgstr "Priskribo" + +-#: compose.c:226 ++#: compose.c:224 + #, fuzzy + msgid "Newsgroups" + msgstr "Temlinio ne specifita." + + #. L10N: Autocrypt recommendation flag: off. + #. * This is displayed when Autocrypt is turned off. +-#: compose.c:239 compose.c:473 ++#: compose.c:237 compose.c:472 + msgid "Off" + msgstr "" + + #. L10N: Autocrypt recommendation flag: no. + #. * This is displayed when Autocrypt cannot encrypt to the recipients. +-#: compose.c:242 ++#: compose.c:240 + #, fuzzy + msgid "No" + msgstr "Nenio" +@@ -984,7 +1122,7 @@ msgstr "Nenio" + #. * This is displayed when Autocrypt believes encryption should not be used. + #. * This might occur if one of the recipient Autocrypt Keys has not been + #. * used recently, or if the only key available is a Gossip Header key. +-#: compose.c:247 ++#: compose.c:245 + msgid "Discouraged" + msgstr "" + +@@ -992,14 +1130,14 @@ msgstr "" + #. * This is displayed when Autocrypt believes encryption is possible, but + #. * leaves enabling it up to the sender. Probably because "prefer encrypt" + #. * is not set in both the sender and recipient keys. +-#: compose.c:252 ++#: compose.c:250 + msgid "Available" + msgstr "" + + #. L10N: Autocrypt recommendation flag: yes. + #. * This is displayed when Autocrypt would normally enable encryption + #. * automatically. +-#: compose.c:256 ++#: compose.c:254 + #, fuzzy + msgid "Yes" + msgstr "jes" +@@ -1010,7 +1148,7 @@ msgstr "jes" + #. (c)lear sets cleartext. + #. (a)utomatic defers to the recommendation. + #. +-#: compose.c:338 ++#: compose.c:337 + msgid "Autocrypt: (e)ncrypt, (c)lear, (a)utomatic?" + msgstr "" + +@@ -1018,51 +1156,51 @@ msgstr "" + #. The letter corresponding to the compose menu autocrypt prompt + #. (e)ncrypt, (c)lear, (a)utomatic + #. +-#: compose.c:346 ++#: compose.c:345 + msgid "eca" + msgstr "" + +-#: compose.c:383 ++#: compose.c:382 + msgid "Not supported" + msgstr "Ne subtenatas" + +-#: compose.c:390 ++#: compose.c:389 + msgid "Sign, Encrypt" + msgstr "Subskribi, Ĉifri" + +-#: compose.c:395 compose.c:468 ++#: compose.c:394 compose.c:467 + msgid "Encrypt" + msgstr "Ĉifri" + +-#: compose.c:400 ++#: compose.c:399 + msgid "Sign" + msgstr "Subskribi" + +-#: compose.c:406 ++#: compose.c:405 + msgid "None" + msgstr "Nenio" + +-#: compose.c:415 ++#: compose.c:414 + msgid " (inline PGP)" + msgstr " (enteksta PGP)" + +-#: compose.c:417 ++#: compose.c:416 + msgid " (PGP/MIME)" + msgstr " (PGP/MIME)" + +-#: compose.c:420 ++#: compose.c:419 + msgid " (S/MIME)" + msgstr " (S/MIME)" + +-#: compose.c:424 ++#: compose.c:423 + msgid " (OppEnc mode)" + msgstr " (OppEnc-moduso)" + +-#: compose.c:436 compose.c:445 ++#: compose.c:435 compose.c:444 + msgid "" + msgstr "" + +-#: compose.c:452 ++#: compose.c:451 + msgid "Encrypt with: " + msgstr "Ĉifri per: " + +@@ -1071,12 +1209,12 @@ msgstr "Ĉifri per: " + #. Displays the output of the recommendation engine + #. (Off, No, Discouraged, Available, Yes) + #. +-#: compose.c:483 ++#: compose.c:482 + #, fuzzy + msgid "Recommendation: " + msgstr "redakti la kampon Reply-To" + +-#: compose.c:547 ++#: compose.c:546 + msgid "" + msgstr "" + +@@ -1087,7 +1225,7 @@ msgstr "" + #. The filename is located last to avoid a long path hiding the + #. error message. + #. +-#: compose.c:601 ++#: compose.c:600 + #, fuzzy, c-format + msgid "Attachment #%d no longer exists: %s" + msgstr "%s [#%d] ne plu ekzistas" +@@ -1099,239 +1237,359 @@ msgstr "%s [#%d] ne plu ekzistas" + #. The filename is located last to avoid a long path hiding the + #. prompt question. + #. +-#: compose.c:621 ++#: compose.c:620 + #, fuzzy, c-format + msgid "Attachment #%d modified. Update encoding for %s?" + msgstr "%s [#%d] modifita. Ĉu aktualigi kodadon?" + +-#: compose.c:716 ++#: compose.c:715 + msgid "-- Attachments" + msgstr "-- Partoj" + +-#: compose.c:770 ++#: compose.c:769 + msgid "You may not delete the only attachment" + msgstr "Vi ne povas forviŝi la solan parton" + +-#: compose.c:1296 edit.c:538 send.c:2462 ++#: compose.c:1356 edit.c:536 send.c:2473 + #, c-format + msgid "Bad IDN in '%s': '%s'" + msgstr "Malbona IDN en '%s': '%s'" + +-#: compose.c:1347 ++#: compose.c:1407 + #, fuzzy + msgid "Attachment is already at top" + msgstr "Parto skribita" + +-#: compose.c:1352 compose.c:1368 ++#: compose.c:1412 compose.c:1428 + #, fuzzy + msgid "The fundamental part can't be moved" + msgstr "Ĉi tiu parto ne estos konvertita" + +-#: compose.c:1363 ++#: compose.c:1423 + #, fuzzy + msgid "Attachment is already at bottom" + msgstr "Parto filtrita" + +-#: compose.c:1381 ++#: compose.c:1441 + msgid "Grouping 'alternatives' requires at least 2 tagged messages" + msgstr "" + +-#: compose.c:1462 ++#: compose.c:1522 + msgid "Grouping 'multilingual' requires at least 2 tagged messages" + msgstr "" + +-#: compose.c:1475 ++#: compose.c:1535 + msgid "Not all parts have 'Content-Language' set, continue?" + msgstr "" + +-#: compose.c:1477 ++#: compose.c:1537 + #, fuzzy + msgid "Not sending this message" + msgstr "Eraro dum sendado de mesaĝo" + +-#: compose.c:1571 ++#: compose.c:1631 + #, fuzzy + msgid "Attaching selected file..." + msgid_plural "Attaching selected files..." + msgstr[0] "Aldonas la elektitajn dosierojn..." + msgstr[1] "Aldonas la elektitajn dosierojn..." + +-#: compose.c:1585 ++#: compose.c:1645 + #, c-format + msgid "Unable to attach %s" + msgstr "Ne eblas aldoni %s" + +-#: compose.c:1606 ++#: compose.c:1666 + msgid "Open mailbox to attach message from" + msgstr "Malfermu poŝtfakon por aldoni mesaĝon el ĝi" + +-#: compose.c:1616 ++#: compose.c:1676 + #, fuzzy + msgid "Open newsgroup to attach message from" + msgstr "Malfermu poŝtfakon por aldoni mesaĝon el ĝi" + +-#: compose.c:1667 ++#: compose.c:1730 + #, c-format + msgid "Unable to open mailbox %s" + msgstr "Ne eblas malfermi poŝtfakon %s" + +-#: compose.c:1676 ++#: compose.c:1739 + msgid "No messages in that folder" + msgstr "Ne estas mesaĝoj en tiu poŝtfako" + +-#: compose.c:1686 ++#: compose.c:1749 + msgid "Tag the messages you want to attach" + msgstr "Marku la mesaĝojn kiujn vi volas aldoni" + +-#: compose.c:1715 ++#: compose.c:1785 + msgid "Unable to attach" + msgstr "Ne eblas aldoni" + +-#: compose.c:1752 ++#: compose.c:1822 + msgid "Recoding only affects text attachments" + msgstr "Rekodado efikas nur al tekstaj partoj" + +-#: compose.c:1757 ++#: compose.c:1827 + msgid "The current attachment won't be converted" + msgstr "Ĉi tiu parto ne estos konvertita" + +-#: compose.c:1759 ++#: compose.c:1829 + msgid "The current attachment will be converted" + msgstr "Ĉi tiu parto estos konvertita" + +-#: compose.c:1831 ++#: compose.c:1901 + msgid "Empty 'Content-Language'" + msgstr "" + +-#: compose.c:1849 ++#: compose.c:1920 + msgid "Invalid encoding" + msgstr "Nevalida kodado" + +-#: compose.c:1871 ++#: compose.c:1942 + msgid "Save a copy of this message?" + msgstr "Ĉu skribi kopion de ĉi tiu mesaĝo?" + +-#: compose.c:1924 ++#: compose.c:1995 + msgid "Send attachment with name: " + msgstr "Sendi parton kun nomo: " + +-#: compose.c:1939 ++#: compose.c:2010 + msgid "Rename to: " + msgstr "Renomi al: " + + #. L10N: "stat" is a system call. Do "man 2 stat" for more information. +-#: compose.c:1946 editmsg.c:102 editmsg.c:138 sendlib.c:1050 ++#: compose.c:2017 editmsg.c:102 editmsg.c:138 sendlib.c:1049 + #, c-format + msgid "Can't stat %s: %s" + msgstr "Ne eblas ekzameni la dosieron %s: %s" + +-#: compose.c:1966 ++#: compose.c:2037 + msgid "New file: " + msgstr "Nova dosiero: " + +-#: compose.c:1984 ++#: compose.c:2055 + msgid "Content-Type is of the form base/sub" + msgstr "Content-Type havas la formon bazo/subspeco" + +-#: compose.c:1991 ++#: compose.c:2062 + #, c-format + msgid "Unknown Content-Type %s" + msgstr "Nekonata Content-Type %s" + +-#: compose.c:1999 ++#: compose.c:2070 + #, c-format + msgid "Can't create file %s" + msgstr "Ne eblas krei dosieron %s" + +-#: compose.c:2008 ++#: compose.c:2079 + msgid "What we have here is a failure to make an attachment" + msgstr "Malsukcesis krei kunsendaĵon" + +-#: compose.c:2073 ++#: compose.c:2144 + #, fuzzy + msgid "Save (postpone) draft message?" + msgstr "Ĉu revoki prokrastitan mesaĝon?" + +-#: compose.c:2133 ++#: compose.c:2204 + msgid "Write message to mailbox" + msgstr "Skribi mesaĝon al poŝtfako" + +-#: compose.c:2136 ++#: compose.c:2207 + #, c-format + msgid "Writing message to %s ..." + msgstr "Skribas mesaĝon al %s..." + +-#: compose.c:2143 ++#: compose.c:2214 + msgid "Message written" + msgstr "Mesaĝo skribita" + +-#: compose.c:2154 ++#: compose.c:2225 + msgid "No PGP backend configured" + msgstr "" + +-#: compose.c:2161 compose.c:2225 ++#: compose.c:2232 compose.c:2296 + msgid "S/MIME already selected. Clear and continue?" + msgstr "S/MIME jam elektita. Ĉu nuligi kaj daŭrigi?" + +-#: compose.c:2186 ++#: compose.c:2257 + msgid "No S/MIME backend configured" + msgstr "" + +-#: compose.c:2194 ++#: compose.c:2265 + msgid "PGP already selected. Clear and continue?" + msgstr "PGP jam elektita. Ĉu nuligi kaj daŭrigi?" + +-#: compress.c:355 compress.c:499 ++#: compress/compress.c:354 compress/compress.c:498 + #, c-format + msgid "Can't append without an append-hook or close-hook : %s" + msgstr "Ne eblas aldoni sen 'append-hook' aŭ 'close-hook': %s" + +-#: compress.c:444 compress.c:511 compress.c:590 compress.c:628 mbox/mbox.c:1208 ++#: compress/compress.c:443 compress/compress.c:510 compress/compress.c:589 ++#: compress/compress.c:627 mbox/mbox.c:1208 + msgid "Unable to lock mailbox" + msgstr "Ne eblis ŝlosi poŝtfakon" + +-#: compress.c:448 compress.c:518 compress.c:594 ++#: compress/compress.c:447 compress/compress.c:517 compress/compress.c:593 + #, c-format + msgid "Decompressing %s" + msgstr "Maldensigo de %s" + +-#: compress.c:457 ++#: compress/compress.c:456 + msgid "Can't identify the contents of the compressed file" + msgstr "Ne eblas identigi enhavon de densigita dosiero" + +-#: compress.c:464 compress.c:539 ++#: compress/compress.c:463 compress/compress.c:538 + #, c-format + msgid "Can't find mailbox ops for mailbox type %d" + msgstr "Ne eblas trovi poŝtfakajn agojn por poŝtfaktipo %d" + +-#: compress.c:521 ++#: compress/compress.c:520 + #, c-format + msgid "Compress command failed: %s" + msgstr "Densiga komando fiaskis: %s" + +-#: compress.c:532 ++#: compress/compress.c:531 + msgid "Unsupported mailbox type for appending" + msgstr "Nesubtenata poŝtfaktipo por aldoni" + +-#: compress.c:618 ++#: compress/compress.c:617 + msgid "Can't sync a compressed file without a close-hook" + msgstr "Ne eblas sinkronigi densigitan dosieron sen 'close-hook'" + +-#: compress.c:640 compress.c:692 ++#: compress/compress.c:639 compress/compress.c:691 + #, c-format + msgid "Compressing %s" + msgstr "Densigo de %s" + +-#: compress.c:687 ++#: compress/compress.c:686 + #, c-format + msgid "Compressed-appending to %s..." + msgstr "Densiga aldono al %s..." + +-#: compress.c:699 editmsg.c:247 ++#: compress/compress.c:698 editmsg.c:247 + #, c-format + msgid "Error. Preserving temporary file: %s" + msgstr "Eraro. Konservas dumtempan dosieron: %s" + ++#: config/bool.c:70 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %s" ++msgstr "Nevalida relativa dato: %s" ++ ++#: config/bool.c:131 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %ld" ++msgstr "Nevalida relativa dato: %s" ++ ++#: config/enum.c:62 ++#, fuzzy, c-format ++msgid "Invalid enum value: %s" ++msgstr "Eraro: score: nevalida nombro" ++ ++#: config/enum.c:149 ++#, fuzzy, c-format ++msgid "Invalid enum value: %ld" ++msgstr "Nevalida valoro por opcio %s: \"%s\"" ++ ++#: config/long.c:50 ++#, fuzzy, c-format ++msgid "Invalid long: %s" ++msgstr "Nevalida monato: %s" ++ ++#: config/long.c:56 config/long.c:114 config/number.c:68 config/number.c:133 ++#, fuzzy, c-format ++msgid "Option %s may not be negative" ++msgstr "Funkcio nepermesata dum elektado de aldonoj." ++ ++#: config/number.c:49 config/sort.c:145 config/string.c:75 config/string.c:159 ++#, c-format ++msgid "Option %s may not be empty" ++msgstr "" ++ ++#: config/number.c:56 ++#, fuzzy, c-format ++msgid "Invalid number: %s" ++msgstr "Eraro: score: nevalida nombro" ++ ++#: config/number.c:62 ++#, c-format ++msgid "Number is too big: %s" ++msgstr "" ++ ++#: config/number.c:127 ++#, fuzzy, c-format ++msgid "Invalid number: %ld" ++msgstr "Eraro: score: nevalida nombro" ++ ++#: config/quad.c:69 ++#, fuzzy, c-format ++msgid "Invalid quad value: %s" ++msgstr "Nevalida relativa dato: %s" ++ ++#: config/quad.c:133 ++#, fuzzy, c-format ++msgid "Invalid quad value: %ld" ++msgstr "Nevalida valoro por opcio %s: \"%s\"" ++ ++#: config/set.c:102 ++#, c-format ++msgid "No such variable: %s" ++msgstr "" ++ ++#: config/set.c:134 config/set.c:821 ++#, fuzzy, c-format ++msgid "Variable '%s' has an invalid type %d" ++msgstr "Eraro: valoro '%s' ne validas por '-d'" ++ ++#: config/set.c:399 config/set.c:463 config/set.c:528 config/set.c:601 ++#: config/set.c:671 config/set.c:744 ++#, fuzzy, c-format ++msgid "Unknown variable '%s'" ++msgstr "%s: nekonata variablo" ++ ++#: config/sort.c:192 ++#, fuzzy, c-format ++msgid "Invalid sort name: %s" ++msgstr "Nevalida relativa dato: %s" ++ ++#: config/sort.c:322 ++#, fuzzy, c-format ++msgid "Invalid sort type: %ld" ++msgstr "Nevalida relativa dato: %s" ++ ++#. L10N: Example: Username at myhost.com ++#: conn/connaccount.c:61 ++#, c-format ++msgid "Username at %s: " ++msgstr "Uzantonomo ĉe %s: " ++ ++#: conn/connaccount.c:117 ++#, c-format ++msgid "Password for %s@%s: " ++msgstr "Pasvorto por %s@%s: " ++ ++#. L10N: You will see this error message if (1) you have "oauthbearer" in ++#. one of your $*_authenticators and (2) you do not have the corresponding ++#. $*_oauth_refresh_command defined. So the message does not mean "None of ++#. your $*_oauth_refresh_command's are defined." ++#: conn/connaccount.c:165 ++#, fuzzy ++msgid "No OAUTH refresh command defined" ++msgstr "Demandokomando ne difinita" ++ ++#: conn/connaccount.c:173 ++msgid "Unable to run refresh command" ++msgstr "" ++ ++#: conn/connaccount.c:184 ++msgid "Command returned empty string" ++msgstr "" ++ ++#: conn/connaccount.c:191 ++#, c-format ++msgid "OAUTH token is too big: %ld" ++msgstr "" ++ + #: conn/conn_raw.c:160 conn/conn_raw.c:218 + #, c-format + msgid "Looking up %s..." +@@ -1352,7 +1610,7 @@ msgstr "Konektiĝas al %s..." + msgid "Could not connect to %s (%s)" + msgstr "Ne eblis konektiĝi al %s (%s)" + +-#: conn/conn_raw.c:260 conn/ssl.c:1230 curs_lib.c:568 mutt_logging.c:149 ++#: conn/conn_raw.c:260 conn/ssl.c:1245 gui/curs_lib.c:569 mutt_logging.c:147 + msgid "unknown error" + msgstr "nekonata eraro" + +@@ -1366,23 +1624,23 @@ msgstr "Eraro dum komunikado kun %s (%s)" + msgid "Connection to %s has been aborted" + msgstr "Konekto al %s fermita" + +-#: conn/sasl.c:565 ++#: conn/sasl.c:547 + msgid "Unknown SASL profile" + msgstr "Nekonata SASL-profilo" + +-#: conn/sasl.c:598 ++#: conn/sasl.c:580 + msgid "Error allocating SASL connection" + msgstr "Eraro en asignado de SASL-konekto" + +-#: conn/sasl.c:608 ++#: conn/sasl.c:590 + msgid "Error setting SASL security properties" + msgstr "Eraro dum agordo de SASL-sekureco-trajtoj" + +-#: conn/sasl.c:619 ++#: conn/sasl.c:601 + msgid "Error setting SASL external security strength" + msgstr "Eraro dum agordo de SASL-sekureco-forto" + +-#: conn/sasl.c:629 ++#: conn/sasl.c:611 + msgid "Error setting SASL external user name" + msgstr "Eraro dum agordo de ekstera uzantonomo de SASL" + +@@ -1395,133 +1653,109 @@ msgstr "Antaŭkonekta komando malsukcesis" + msgid "Connection to %s closed" + msgstr "Konekto al %s fermita" + +-#: conn/ssl.c:237 ++#: conn/ssl.c:222 + #, c-format + msgid "Filling entropy pool: %s..." + msgstr "Plenigas entropiujon: %s..." + +-#: conn/ssl.c:243 ++#: conn/ssl.c:228 + #, c-format + msgid "%s has insecure permissions" + msgstr "%s havas malsekurajn permesojn" + +-#: conn/ssl.c:385 ++#: conn/ssl.c:369 + msgid "SSL disabled due to the lack of entropy" + msgstr "SSL malŝaltita pro manko de entropio" + +-#: conn/ssl.c:402 ++#: conn/ssl.c:386 + msgid "Unknown" + msgstr "Nekonata" + +-#: conn/ssl.c:421 conn/ssl_gnutls.c:186 ++#: conn/ssl.c:405 conn/ssl_gnutls.c:188 + #, c-format + msgid "[unable to calculate]" + msgstr "[ne eblas kalkuli]" + +-#: conn/ssl.c:446 ++#: conn/ssl.c:430 + msgid "[invalid date]" + msgstr "[nevalida dato]" + +-#: conn/ssl.c:506 ++#: conn/ssl.c:490 + msgid "Server certificate is not yet valid" + msgstr "Atestilo de servilo ankoraŭ ne validas" + +-#: conn/ssl.c:516 ++#: conn/ssl.c:500 + msgid "Server certificate has expired" + msgstr "Atestilo de servilo estas eksvalidiĝinta" + +-#: conn/ssl.c:605 ++#: conn/ssl.c:589 + msgid "Failed to find enough entropy on your system" + msgstr "Ne trovis sufiĉe da entropio en via sistemo" + +-#: conn/ssl.c:799 ++#: conn/ssl.c:783 + msgid "can't get certificate subject" + msgstr "ne eblas akiri atestilan temon" + +-#: conn/ssl.c:808 conn/ssl.c:816 ++#: conn/ssl.c:792 conn/ssl.c:800 + msgid "can't get certificate common name" + msgstr "ne eblas akiri atestilan normalan nomon" + +-#: conn/ssl.c:830 ++#: conn/ssl.c:814 + #, c-format + msgid "certificate owner does not match hostname %s" + msgstr "posedanto de atestilo ne kongruas kun komputilretnomo %s" + +-#: conn/ssl.c:904 conn/ssl_gnutls.c:539 ++#: conn/ssl.c:917 conn/ssl_gnutls.c:570 + msgid "This certificate belongs to:" + msgstr "Ĉi tiu atestilo apartenas al:" + +-#: conn/ssl.c:913 conn/ssl_gnutls.c:593 ++#: conn/ssl.c:926 conn/ssl_gnutls.c:624 + msgid "This certificate was issued by:" + msgstr "Ĉi tiu atestilo estis eldonita de:" + +-#: conn/ssl.c:922 conn/ssl_gnutls.c:604 ++#: conn/ssl.c:935 conn/ssl_gnutls.c:635 + msgid "This certificate is valid" + msgstr "Ĉi tiu atestilo estas valida" + +-#: conn/ssl.c:923 conn/ssl_gnutls.c:608 ++#: conn/ssl.c:936 conn/ssl_gnutls.c:639 + #, c-format + msgid " from %s" + msgstr " de %s" + +-#: conn/ssl.c:925 conn/ssl_gnutls.c:612 ++#: conn/ssl.c:938 conn/ssl_gnutls.c:643 + #, c-format + msgid " to %s" + msgstr " al %s" + +-#: conn/ssl.c:931 conn/ssl_gnutls.c:617 ++#: conn/ssl.c:944 conn/ssl_gnutls.c:648 + #, c-format + msgid "SHA1 Fingerprint: %s" + msgstr "SHA1-fingrospuro: %s" + +-#: conn/ssl.c:937 conn/ssl.c:940 conn/ssl_gnutls.c:623 conn/ssl_gnutls.c:625 ++#: conn/ssl.c:950 conn/ssl.c:953 conn/ssl_gnutls.c:654 conn/ssl_gnutls.c:656 + #, fuzzy + msgid "SHA256 Fingerprint: " + msgstr "SHA1-fingrospuro: %s" + +-#: conn/ssl.c:944 conn/ssl_gnutls.c:664 ++#: conn/ssl.c:957 conn/ssl_gnutls.c:695 + #, c-format + msgid "SSL Certificate check (certificate %zu of %zu in chain)" + msgstr "Kontrolo de SSL-atestilo (%zu de %zu en ĉeno)" + +-#. L10N: These four letters correspond to the choices in the next four strings: +-#. (r)eject, accept (o)nce, (a)ccept always, (s)kip. +-#. These prompts are the interactive certificate confirmation prompts for +-#. an OpenSSL connection. +-#: conn/ssl.c:964 +-msgid "roas" +-msgstr "muas" +- +-#: conn/ssl.c:968 +-msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" +-msgstr "(m)alakcepti, akcepti (u)nufoje, (a)kcepti ĉiam, (s)kip" +- +-#: conn/ssl.c:970 conn/ssl_gnutls.c:671 +-msgid "(r)eject, accept (o)nce, (a)ccept always" +-msgstr "(m)alakcepti, akcepti (u)nufoje, (a)kcepti ĉiam" +- +-#: conn/ssl.c:975 +-msgid "(r)eject, accept (o)nce, (s)kip" +-msgstr "(m)alakcepti, akcepti (u)nufoje, (s)kip" +- +-#: conn/ssl.c:977 conn/ssl_gnutls.c:680 +-msgid "(r)eject, accept (o)nce" +-msgstr "(m)alakcepti, akcepti (u)nufoje" +- +-#: conn/ssl.c:981 conn/ssl_gnutls.c:689 ncrypt/crypt_gpgme.c:4729 +-#: ncrypt/pgpkey.c:664 ncrypt/smime.c:549 ++#: conn/ssl.c:994 conn/ssl_gnutls.c:720 ncrypt/crypt_gpgme.c:4777 ++#: ncrypt/pgpkey.c:667 ncrypt/smime.c:551 + msgid "Exit " + msgstr "Eliri " + +-#: conn/ssl.c:1016 conn/ssl_gnutls.c:742 ++#: conn/ssl.c:1029 conn/ssl_gnutls.c:773 + msgid "Warning: Couldn't save certificate" + msgstr "Averto: Ne eblis skribi atestilon" + +-#: conn/ssl.c:1020 conn/ssl_gnutls.c:746 ++#: conn/ssl.c:1033 conn/ssl_gnutls.c:777 + msgid "Certificate saved" + msgstr "Atestilo skribita" + +-#: conn/ssl.c:1132 ++#: conn/ssl.c:1147 + #, c-format + msgid "Certificate host check failed: %s" + msgstr "Malsukcesis kontrolo de gastiganta atestilo: %s" +@@ -1529,15 +1763,15 @@ msgstr "Malsukcesis kontrolo de gastiganta atestilo: %s" + #. L10N: This is a warning when trying to set the host name for + #. * TLS Server Name Indication (SNI). This allows the server to present + #. * the correct certificate if it supports multiple hosts. +-#: conn/ssl.c:1213 conn/ssl_gnutls.c:1072 ++#: conn/ssl.c:1228 conn/ssl_gnutls.c:1105 + msgid "Warning: unable to set TLS SNI host name" + msgstr "" + +-#: conn/ssl.c:1224 ++#: conn/ssl.c:1239 + msgid "I/O error" + msgstr "eraro ĉe legado aŭ skribado" + +-#: conn/ssl.c:1233 ++#: conn/ssl.c:1248 + #, c-format + msgid "SSL failed: %s" + msgstr "SSL malsukcesis: %s" +@@ -1545,89 +1779,73 @@ msgstr "SSL malsukcesis: %s" + #. L10N: an SSL context is a data structure returned by the OpenSSL + #. function SSL_CTX_new(). In this case it returned NULL: an + #. error condition. +-#: conn/ssl.c:1269 ++#: conn/ssl.c:1284 + msgid "Unable to create SSL context" + msgstr "Malsukcesis krei SSL-kuntekston" + +-#: conn/ssl.c:1322 ++#: conn/ssl.c:1337 + msgid "Warning: error enabling ssl_verify_partial_chains" + msgstr "" + +-#: conn/ssl_gnutls.c:150 conn/ssl_gnutls.c:784 conn/ssl_gnutls.c:793 ++#: conn/ssl_gnutls.c:152 conn/ssl_gnutls.c:817 conn/ssl_gnutls.c:826 + msgid "Unable to get certificate from peer" + msgstr "Ne eblas akiri SSL-atestilon" + +-#: conn/ssl_gnutls.c:155 ++#: conn/ssl_gnutls.c:157 + #, c-format + msgid "Certificate verification error (%s)" + msgstr "Eraro dum kontrolo de atestilo (%s)" + +-#: conn/ssl_gnutls.c:162 ++#: conn/ssl_gnutls.c:164 + msgid "Certificate is not X.509" + msgstr "Atestilo ne estas X.509" + +-#: conn/ssl_gnutls.c:349 conn/ssl_gnutls.c:483 ++#: conn/ssl_gnutls.c:351 conn/ssl_gnutls.c:485 + msgid "Error initialising gnutls certificate data" + msgstr "Eraro dum starigo de gnutls-atestilo-datenoj" + +-#: conn/ssl_gnutls.c:355 conn/ssl_gnutls.c:489 ++#: conn/ssl_gnutls.c:357 conn/ssl_gnutls.c:491 + msgid "Error processing certificate data" + msgstr "Eraro dum traktado de atestilodatenoj" + +-#: conn/ssl_gnutls.c:635 ++#: conn/ssl_gnutls.c:666 + msgid "WARNING: Server certificate is not yet valid" + msgstr "AVERTO: Atestilo de servilo ankoraŭ ne validas" + +-#: conn/ssl_gnutls.c:640 ++#: conn/ssl_gnutls.c:671 + msgid "WARNING: Server certificate has expired" + msgstr "AVERTO: Atestilo de servilo estas eksvalidiĝinta" + +-#: conn/ssl_gnutls.c:645 ++#: conn/ssl_gnutls.c:676 + msgid "WARNING: Server certificate has been revoked" + msgstr "AVERTO: Atestilo de servilo estas revokita" + +-#: conn/ssl_gnutls.c:650 ++#: conn/ssl_gnutls.c:681 + msgid "WARNING: Server hostname does not match certificate" + msgstr "AVERTO: Nomo de serviloj ne kongruas kun atestilo" + +-#: conn/ssl_gnutls.c:655 ++#: conn/ssl_gnutls.c:686 + msgid "WARNING: Signer of server certificate is not a CA" + msgstr "AVERTO: Subskribinto de servilo-atestilo ne estas CA" + +-#: conn/ssl_gnutls.c:659 conn/ssl_gnutls.c:1004 ++#: conn/ssl_gnutls.c:690 conn/ssl_gnutls.c:1037 + msgid "Warning: Server certificate was signed using an insecure algorithm" + msgstr "Averto: servila atestilo estas subskribita kun malsekura algoritmo" + +-#. L10N: These three letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce, (a)ccept always. +-#. This is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:676 +-msgid "roa" +-msgstr "mua" +- +-#. L10N: These two letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce. +-#. These is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:685 +-msgid "ro" +-msgstr "mu" +- +-#: conn/ssl_gnutls.c:950 conn/ssl_gnutls.c:992 ++#: conn/ssl_gnutls.c:983 conn/ssl_gnutls.c:1025 + msgid "All available protocols for TLS/SSL connection disabled" + msgstr "Ĉiuj disponeblaj protokoloj por TLS/SSL-konekto malŝaltitaj" + +-#: conn/ssl_gnutls.c:999 ++#: conn/ssl_gnutls.c:1032 + msgid "Explicit ciphersuite selection via $ssl_ciphers not supported" + msgstr "Rekta elekto de ĉifra algoritmo per $ssl_ciphers ne subtenatas" + +-#: conn/ssl_gnutls.c:1120 ++#: conn/ssl_gnutls.c:1153 + #, c-format + msgid "SSL/TLS connection using %s (%s/%s/%s)" + msgstr "SSL/TLS-konekto per %s (%s/%s/%s)" + +-#: conn/ssl_gnutls.c:1175 conn/ssl_gnutls.c:1204 ++#: conn/ssl_gnutls.c:1210 conn/ssl_gnutls.c:1239 + msgid "Error: no TLS socket open" + msgstr "Eraro: neniu TLS-konekto malfermita" + +@@ -1646,38 +1864,18 @@ msgstr "Tuneleraro dum komunikado kun %s: %s" + msgid "Tunnel to %s returned error %d (%s)" + msgstr "Tunelo al %s donis eraron %d (%s)" + +-#: copy.c:660 ++#: copy.c:662 + #, c-format + msgid "The length calculation was wrong by %ld byte" + msgid_plural "The length calculation was wrong by %ld bytes" + msgstr[0] "" + msgstr[1] "" + +-#: copy.c:744 ++#: copy.c:746 + msgid "No decryption engine available for message" + msgstr "" + +-#: curs_lib.c:378 +-msgid "yes" +-msgstr "jes" +- +-#: curs_lib.c:379 +-msgid "no" +-msgstr "ne" +- +-#: curs_lib.c:518 +-msgid "Exit NeoMutt?" +-msgstr "Ĉu eliri el NeoMutt?" +- +-#: curs_lib.c:597 +-msgid "Press any key to continue..." +-msgstr "Premu klavon por daŭrigi..." +- +-#: curs_lib.c:705 +-msgid " ('?' for list): " +-msgstr " ('?' por listo): " +- +-#: edit.c:64 ++#: edit.c:62 + msgid "" + "~~ insert a line beginning with a single ~\n" + "~b users add users to the Bcc: field\n" +@@ -1699,7 +1897,7 @@ msgstr "" + "~M mesaĝoj same kiel ~m, sed inkluzivi ankaŭ la ĉapojn\n" + "~p presi la mesaĝon\n" + +-#: edit.c:75 ++#: edit.c:73 + msgid "" + "~q write file and quit editor\n" + "~r file read a file into the editor\n" +@@ -1721,20 +1919,20 @@ msgstr "" + "~? vidi ĉi tiun informon\n" + ". sola en linio finas la enigon\n" + +-#: edit.c:261 ++#: edit.c:259 + #, c-format + msgid "%d: invalid message number.\n" + msgstr "%d: nevalida mesaĝnumero.\n" + +-#: edit.c:416 ++#: edit.c:414 + msgid "(End message with a . on a line by itself)\n" + msgstr "(Finu mesaĝon per . sur propra linio)\n" + +-#: edit.c:474 ++#: edit.c:472 + msgid "No mailbox.\n" + msgstr "Mankas poŝtfako.\n" + +-#: edit.c:478 ++#: edit.c:476 + msgid "Message contains:\n" + msgstr "Mesaĝo enhavas:\n" + +@@ -1742,19 +1940,19 @@ msgstr "Mesaĝo enhavas:\n" + #. not IN the middle of the content. + #. So it doesn't mean "(message will continue)" + #. but means "(press any key to continue using neomutt)". +-#: edit.c:486 edit.c:547 ++#: edit.c:484 edit.c:545 + msgid "(continue)\n" + msgstr "(daŭrigi)\n" + +-#: edit.c:499 ++#: edit.c:497 + msgid "missing filename.\n" + msgstr "mankas dosieronomo.\n" + +-#: edit.c:519 ++#: edit.c:517 + msgid "No lines in message.\n" + msgstr "Nul linioj en mesaĝo.\n" + +-#: edit.c:558 ++#: edit.c:556 + #, c-format + msgid "%s: unknown editor command (~? for help)\n" + msgstr "%s: nekonata redaktokomando (~? por helpo)\n" +@@ -1801,19 +1999,73 @@ msgstr "Ne eblas aldoni al dosierujo: %s" + msgid "multipart message has no boundary parameter" + msgstr "Plurparta mesaĝo ne havas limparametron" + +-#: flags.c:382 index.c:2561 index.c:2604 index.c:3134 index.c:3171 ++#: flags.c:381 index.c:2587 index.c:2630 index.c:3160 index.c:3197 + #: mutt_thread.c:1091 mutt_thread.c:1158 mutt_thread.c:1246 + msgid "Threading is not enabled" + msgstr "Fadenoj ne estas ŝaltitaj" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Set flag" + msgstr "Ŝalti flagon" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Clear flag" + msgstr "Malŝalti flagon" + ++#: gui/color.c:633 gui/color.c:644 ++#, c-format ++msgid "%s: color not supported by term" ++msgstr "%s: terminalo ne kapablas je koloro" ++ ++#: gui/color.c:652 ++#, c-format ++msgid "%s: no such color" ++msgstr "%s: koloro ne ekzistas" ++ ++#: gui/color.c:717 gui/color.c:740 gui/color.c:751 gui/color.c:842 ++#, c-format ++msgid "%s: no such object" ++msgstr "%s: objekto ne ekzistas" ++ ++#: gui/color.c:1142 ++#, c-format ++msgid "%s: no such attribute" ++msgstr "%s: nekonata trajto" ++ ++#: gui/color.c:1244 ++msgid "default colors not supported" ++msgstr "implicitaj koloroj ne funkcias" ++ ++#: gui/color.c:1282 ++#, c-format ++msgid "Maximum quoting level is %d" ++msgstr "" ++ ++#: gui/color.c:1319 ++#, fuzzy, c-format ++msgid "%s: invalid number: %s" ++msgstr "Eraro: score: nevalida nombro" ++ ++#: gui/curs_lib.c:379 ++msgid "yes" ++msgstr "jes" ++ ++#: gui/curs_lib.c:380 ++msgid "no" ++msgstr "ne" ++ ++#: gui/curs_lib.c:519 ++msgid "Exit NeoMutt?" ++msgstr "Ĉu eliri el NeoMutt?" ++ ++#: gui/curs_lib.c:598 ++msgid "Press any key to continue..." ++msgstr "Premu klavon por daŭrigi..." ++ ++#: gui/curs_lib.c:749 ++msgid " ('?' for list): " ++msgstr " ('?' por listo): " ++ + #: handler.c:102 + #, fuzzy, c-format + msgid "[-- Type: %s/%s%s%s, Encoding: %s, Size: %s --]\n" +@@ -1834,23 +2086,23 @@ msgstr "[-- Aŭtomata vidigo per %s --]\n" + msgid "Invoking autoview command: %s" + msgstr "Alvokas aŭtomatan vidigon per: %s" + +-#: handler.c:591 mutt_attach.c:527 mutt_attach.c:714 mutt_attach.c:745 +-#: mutt_attach.c:1087 mutt_attach.c:1152 ncrypt/pgpkey.c:723 +-#: ncrypt/pgpkey.c:920 ++#: handler.c:590 mutt_attach.c:555 mutt_attach.c:747 mutt_attach.c:778 ++#: mutt_attach.c:1120 mutt_attach.c:1185 ncrypt/pgpkey.c:756 ++#: ncrypt/pgpkey.c:955 + msgid "Can't create filter" + msgstr "Ne eblas krei filtrilon" + +-#: handler.c:595 ++#: handler.c:594 + #, c-format + msgid "[-- Can't run %s. --]\n" + msgstr "[-- Ne eblas ruli %s. --]\n" + +-#: handler.c:614 handler.c:635 ++#: handler.c:613 handler.c:634 + #, c-format + msgid "[-- Autoview stderr of %s --]\n" + msgstr "[-- Erareligo de %s --]\n" + +-#: handler.c:764 ++#: handler.c:763 + msgid "[-- Error: message/external-body has no access-type parameter --]\n" + msgstr "[-- Eraro: parto message/external ne havas parametro access-type --]\n" + +@@ -1869,7 +2121,7 @@ msgstr "[-- Eraro: parto message/external ne havas parametro access-type --]\n" + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:807 ++#: handler.c:806 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" +@@ -1898,7 +2150,7 @@ msgstr[1] "" + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:830 ++#: handler.c:829 + #, fuzzy, c-format + msgid "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" + msgid_plural "[-- This %s/%s attachment (size %s bytes) has been deleted --]\n" +@@ -1912,7 +2164,7 @@ msgstr[1] "[-- Ĉi tiu %s/%s-parto (grando %s bitokoj) estas forviŝita --]\n" + #. + #. Caution: Argument three %3$ is also defined but should not be used + #. in this translation! +-#: handler.c:848 ++#: handler.c:847 + #, fuzzy + msgid "" + "[-- This %s/%s attachment has been deleted --]\n" +@@ -1924,12 +2176,12 @@ msgstr "" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The first "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:856 ++#: handler.c:855 + #, fuzzy, c-format + msgid "[-- This %s/%s attachment has been deleted --]\n" + msgstr "[-- Ĉi tiu %s/%s-parto estas forviŝita --]\n" + +-#: handler.c:866 ++#: handler.c:865 + #, c-format + msgid "[-- name: %s --]\n" + msgstr "[-- nomo: %s --]\n" +@@ -1937,7 +2189,7 @@ msgstr "[-- nomo: %s --]\n" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:884 ++#: handler.c:883 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -1952,7 +2204,7 @@ msgstr "" + #. The "%s/%s" is a MIME type, e.g. "text/plain". The %s after + #. access-type is an access-type as defined by the MIME RFCs, e.g. "FTP", + #. "LOCAL-FILE", "MAIL-SERVER". +-#: handler.c:905 ++#: handler.c:904 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -1961,94 +2213,94 @@ msgstr "" + "[-- Ĉi tiu %s/%s-parto ne estas inkluzivita, --]\n" + "[-- kaj NeoMutt ne kapablas je la indikita alirmaniero %s. --]\n" + +-#: handler.c:1090 ++#: handler.c:1089 + msgid "[-- Error: Could not display any parts of Multipart/Alternative --]\n" + msgstr "[-- Eraro: Neniu parto de Multipart/Alternative estis montrebla --]\n" + + #. L10N: %s is the attachment description, filename or form_name. +-#: handler.c:1231 ++#: handler.c:1230 + #, fuzzy, c-format + msgid "[-- Attachment #%d: %s --]\n" + msgstr "[-- Parto #%d: %s --]\n" + +-#: handler.c:1236 ++#: handler.c:1235 + #, fuzzy, c-format + msgid "[-- Attachment #%d --]\n" + msgstr "[-- Parto #%d --]\n" + +-#: handler.c:1254 ++#: handler.c:1253 + msgid "One or more parts of this message could not be displayed" + msgstr "Unu aŭ pluraj partoj de ĉi tiu mesaĝo ne montriĝeblas" + +-#: handler.c:1320 ++#: handler.c:1319 + #, fuzzy + msgid "Unable to open 'memory stream'" + msgstr "Ne eblas malfermi dumtempan dosieron" + +-#: handler.c:1330 ++#: handler.c:1329 + msgid "Unable to open temporary file" + msgstr "Ne eblas malfermi dumtempan dosieron" + +-#: handler.c:1379 ++#: handler.c:1378 + msgid "failed to re-open 'memory stream'" + msgstr "" + +-#: handler.c:1620 ++#: handler.c:1619 + msgid "Error: multipart/signed has no protocol" + msgstr "Eraro: multipart/signed ne havas parametron 'protocol'!" + + #. L10N: %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1694 ++#: handler.c:1693 + #, fuzzy, c-format + msgid "[-- This is an attachment (use '%s' to view this part) --]\n" + msgstr "[-- Ĉi tiu estas parto (uzu '%s' por vidigi ĉi tiun parton) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". + #. The last %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1701 ++#: handler.c:1700 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported (use '%s' to view this part) --]\n" + msgstr "[-- %s/%s ne estas konata (uzu '%s' por vidigi ĉi tiun parton) --]\n" + +-#: handler.c:1709 ++#: handler.c:1708 + #, fuzzy + msgid "[-- This is an attachment (need 'view-attachments' bound to key) --]\n" + msgstr "[-- Ĉi tiu estas parto (bezonas klavodifinon por 'view-attachments') --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1715 ++#: handler.c:1714 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported (need 'view-attachments' bound to key) --]\n" + msgstr "[-- %s/%s ne estas konata (bezonas klavodifinon por 'view-attachments') --]\n" + +-#: handler.c:1724 ++#: handler.c:1723 + #, fuzzy + msgid "[-- This is an attachment --]\n" + msgstr "[-- Ĉi tiu estas parto --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1729 ++#: handler.c:1728 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported --]\n" + msgstr "[-- %s/%s ne estas konata --]\n" + +-#: help.c:400 ++#: help.c:401 + msgid "ERROR: please report this bug" + msgstr "ERARO: bonvolu raporti ĉi tiun cimon" + +-#: help.c:455 ++#: help.c:456 + msgid "" + msgstr "" + +-#: help.c:469 ++#: help.c:470 + msgid "Generic bindings:" + msgstr "Ĝeneralaj klavodifinoj:" + +-#: help.c:473 ++#: help.c:474 + msgid "Unbound functions:" + msgstr "Funkcioj kiuj ne havas klavodifinon:" + +-#: help.c:481 ++#: help.c:482 + #, c-format + msgid "Help for %s" + msgstr "Helpo por %s" +@@ -2065,41 +2317,41 @@ msgstr "poŝtfaka fulmklavo malvolvis al vaka regulesprimo" + msgid "badly formatted command string" + msgstr "malbone aranĝita komandoĉeno" + +-#: hook.c:461 ++#: hook.c:466 + msgid "unhook: Can't do unhook * from within a hook" + msgstr "unhook: Ne eblas fari unhook * de en hoko" + +-#: hook.c:474 ++#: hook.c:479 + #, c-format + msgid "unhook: unknown hook type: %s" + msgstr "unhook: nekonata speco de hook: %s" + +-#: hook.c:484 ++#: hook.c:489 + #, c-format + msgid "unhook: Can't delete a %s from within a %s" + msgstr "unhook: Ne eblas forviŝi %s de en %s" + + #. L10N: '%s' is the (misspelled) name of the menu, e.g. 'index' or 'pager' +-#: icommands.c:259 keymap.c:1161 keymap.c:1346 ++#: icommands.c:261 keymap.c:1159 keymap.c:1344 + #, c-format + msgid "%s: no such menu" + msgstr "%s: nekonata menuo" + + #. L10N: '%s' is the name of the menu, e.g. 'index' or 'pager', it might + #. L10N: also be 'all' when all menus are affected. +-#: icommands.c:272 ++#: icommands.c:274 + #, fuzzy, c-format + msgid "%s: no binds for this menu" + msgstr "%s: nekonata menuo" + +-#: icommands.c:272 ++#: icommands.c:274 + #, fuzzy, c-format + msgid "%s: no macros for this menu" + msgstr "%s: nekonata menuo" + + #. L10N: '%s' is the file name of the temporary file +-#: icommands.c:283 icommands.c:296 icommands.c:316 icommands.c:340 +-#: icommands.c:360 icommands.c:371 imap/message.c:1093 ++#: icommands.c:285 icommands.c:297 icommands.c:317 icommands.c:340 ++#: icommands.c:360 icommands.c:370 imap/message.c:1093 + #, c-format + msgid "Could not create temporary file %s" + msgstr "Ne eblis krei dumtempan dosieron %s" +@@ -2137,30 +2389,30 @@ msgstr "GSSAPI-rajtiĝo malsukcesis" + msgid "LOGIN disabled on this server" + msgstr "LOGIN estas malŝaltita ĉe ĉi tiu servilo" + +-#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:288 ++#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:289 + msgid "Logging in..." + msgstr "Salutas..." + +-#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:329 ++#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:330 + msgid "Login failed" + msgstr "Saluto malsukcesis" + +-#: imap/auth_oauth.c:64 pop/pop_auth.c:346 smtp.c:524 ++#: imap/auth_oauth.c:65 pop/pop_auth.c:347 smtp.c:549 + #, fuzzy + msgid "Authenticating (OAUTHBEARER)..." + msgstr "Rajtiĝas (SASL)..." + +-#: imap/auth_oauth.c:96 ++#: imap/auth_oauth.c:97 + #, fuzzy + msgid "OAUTHBEARER authentication failed" + msgstr "OAUTHBEARER-rajtiĝo malsukcesis" + +-#: imap/auth_sasl.c:128 nntp/nntp.c:606 nntp/nntp.c:671 smtp.c:443 ++#: imap/auth_sasl.c:128 nntp/nntp.c:608 nntp/nntp.c:673 smtp.c:468 + #, c-format + msgid "Authenticating (%s)..." + msgstr "Rajtiĝas (%s)..." + +-#: imap/auth_sasl.c:259 pop/pop_auth.c:200 smtp.c:584 smtp.c:646 ++#: imap/auth_sasl.c:259 pop/pop_auth.c:201 smtp.c:609 smtp.c:671 + msgid "SASL authentication failed" + msgstr "SASL-rajtiĝo malsukcesis" + +@@ -2207,90 +2459,80 @@ msgstr "Renomado malsukcesis: %s" + msgid "Mailbox renamed" + msgstr "Poŝtfako renomita" + +-#: imap/command.c:164 ++#: imap/command.c:177 + #, fuzzy, c-format + msgid "Mailbox %s@%s closed" + msgstr "Poŝtfako fermita" + +-#: imap/command.c:1258 imap/command.c:1370 ++#: imap/command.c:1287 imap/command.c:1399 + #, fuzzy, c-format + msgid "Connection to %s timed out" + msgstr "Konekto al %s fermita" + +-#: imap/imap.c:87 ++#: imap/imap.c:93 + #, fuzzy + msgid "This IMAP server is ancient. NeoMutt does not work with it." + msgstr "Ĉi tiu IMAP-servilo estas antikva. NeoMutt ne funkcias kun ĝi." + +-#: imap/imap.c:438 ++#: imap/imap.c:444 + #, c-format + msgid "Header search without header name: %s" + msgstr "Ĉaposerĉo sen ĉaponomo: %s" + +-#: imap/imap.c:468 ++#: imap/imap.c:474 + #, c-format + msgid "Server-side custom search not supported: %s" + msgstr "" + +-#: imap/imap.c:584 ++#: imap/imap.c:590 + #, c-format + msgid "CREATE failed: %s" + msgstr "CREATE malsukcesis: %s" + +-#: imap/imap.c:704 ++#: imap/imap.c:710 + #, c-format + msgid "Closing connection to %s..." + msgstr "Fermas la konekton al %s..." + +-#: imap/imap.c:882 nntp/nntp.c:1889 pop/pop_lib.c:324 smtp.c:687 ++#: imap/imap.c:888 nntp/nntp.c:1891 pop/pop_lib.c:350 smtp.c:712 + msgid "Secure connection with TLS?" + msgstr "Ĉu sekura konekto per TLS?" + +-#: imap/imap.c:895 nntp/nntp.c:1910 pop/pop_lib.c:343 smtp.c:702 ++#: imap/imap.c:901 nntp/nntp.c:1912 pop/pop_lib.c:369 smtp.c:727 + msgid "Could not negotiate TLS connection" + msgstr "Ne eblis negoci TLS-konekton" + +-#: imap/imap.c:910 pop/pop_lib.c:360 ++#: imap/imap.c:916 pop/pop_lib.c:386 + msgid "Encrypted connection unavailable" + msgstr "Ĉifrata konekto ne disponeblas" + +-#: imap/imap.c:1417 ++#: imap/imap.c:1430 + #, c-format + msgid "Subscribing to %s..." + msgstr "Abonas %s..." + +-#: imap/imap.c:1419 ++#: imap/imap.c:1432 + #, c-format + msgid "Unsubscribing from %s..." + msgstr "Malabonas %s..." + +-#: imap/imap.c:1430 init.c:2142 +-#, c-format +-msgid "Subscribed to %s" +-msgstr "Abonas %s" +- +-#: imap/imap.c:1432 init.c:2620 +-#, c-format +-msgid "Unsubscribed from %s" +-msgstr "Malabonis %s" +- +-#: imap/imap.c:1582 imap/message.c:1674 ++#: imap/imap.c:1595 imap/message.c:1674 + #, fuzzy, c-format + msgid "Copying %d message to %s..." + msgid_plural "Copying %d messages to %s..." + msgstr[0] "Kopias %d mesaĝojn al %s..." + msgstr[1] "Kopias %d mesaĝojn al %s..." + +-#: imap/imap.c:1599 imap/imap.c:2217 imap/message.c:1713 muttlib.c:1505 ++#: imap/imap.c:1612 imap/imap.c:2254 imap/message.c:1713 muttlib.c:1503 + #, c-format + msgid "Create %s?" + msgstr "Ĉu krei %s?" + +-#: imap/imap.c:1667 ++#: imap/imap.c:1685 + msgid "Expunge failed" + msgstr "Forviŝo malsukcesis" + +-#: imap/imap.c:1683 ++#: imap/imap.c:1701 + #, fuzzy, c-format + msgid "Marking %d message deleted..." + msgid_plural "Marking %d messages deleted..." +@@ -2298,44 +2540,44 @@ msgstr[0] "Markas %d mesaĝojn kiel forviŝitajn..." + msgstr[1] "Markas %d mesaĝojn kiel forviŝitajn..." + + #. L10N: The plural is chosen by the last %d, i.e. the total number +-#: imap/imap.c:1720 ++#: imap/imap.c:1738 + #, fuzzy, c-format + msgid "Saving changed message... [%d/%d]" + msgid_plural "Saving changed messages... [%d/%d]" + msgstr[0] "Skribas ŝanĝitajn mesaĝojn... [%d/%d]" + msgstr[1] "Skribas ŝanĝitajn mesaĝojn... [%d/%d]" + +-#: imap/imap.c:1776 ++#: imap/imap.c:1794 + msgid "Error saving flags. Close anyway?" + msgstr "Eraro dum skribado de flagoj. Ĉu tamen fermi?" + +-#: imap/imap.c:1783 ++#: imap/imap.c:1801 + msgid "Error saving flags" + msgstr "Eraro dum skribado de flagoj" + +-#: imap/imap.c:1808 ++#: imap/imap.c:1826 + msgid "Expunging messages from server..." + msgstr "Forviŝas mesaĝojn de la servilo..." + +-#: imap/imap.c:1814 ++#: imap/imap.c:1832 + msgid "imap_sync_mailbox: EXPUNGE failed" + msgstr "imap_sync_mailbox: EXPUNGE malsukcesis" + +-#: imap/imap.c:2023 nntp/nntp.c:2486 ++#: imap/imap.c:2058 nntp/nntp.c:2488 + #, c-format + msgid "Selecting %s..." + msgstr "Elektas %s..." + +-#: imap/imap.c:2184 ++#: imap/imap.c:2221 + msgid "Error opening mailbox" + msgstr "Eraro dum malfermado de poŝtfako" + +-#: imap/imap.c:2330 ++#: imap/imap.c:2367 + #, fuzzy + msgid "IMAP server doesn't support custom flags" + msgstr "SMTP-servilo ne akceptas rajtiĝon" + +-#: imap/imap.c:2374 ++#: imap/imap.c:2411 + #, fuzzy + msgid "Invalid IMAP flags" + msgstr "Nevalida " +@@ -2346,7 +2588,7 @@ msgid "Abort download and close mailbox?" + msgstr "" + + #: imap/message.c:554 mutt/memory.c:58 mutt/memory.c:98 mutt/memory.c:134 +-#: mutt/string.c:1178 mx.c:1176 ++#: mutt/string.c:1201 mx.c:1195 + msgid "Out of memory" + msgstr "Mankas sufiĉa memoro" + +@@ -2366,7 +2608,7 @@ msgstr "Prenas mesaĝoĉapojn..." + msgid "Unable to fetch headers from this IMAP server version" + msgstr "Ne eblas preni ĉapojn de ĉi tiu versio de IMAP-servilo" + +-#: imap/message.c:1099 index.c:1548 nntp/nntp.c:1328 pop/pop.c:426 ++#: imap/message.c:1099 index.c:1554 nntp/nntp.c:1330 pop/pop.c:426 + msgid "Fetching message headers..." + msgstr "Prenas mesaĝoĉapojn..." + +@@ -2379,156 +2621,156 @@ msgstr "Alŝutas mesaĝon..." + msgid "Copying message %d to %s..." + msgstr "Kopias mesaĝon %d al %s..." + +-#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2737 pop/pop.c:1110 ++#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2739 pop/pop.c:1105 + msgid "Fetching message..." + msgstr "Prenas mesaĝon..." + +-#: imap/message.c:1959 pop/pop.c:1106 ++#: imap/message.c:1959 pop/pop.c:1101 + msgid "The message index is incorrect. Try reopening the mailbox." + msgstr "La mesaĝindekso estas malĝusta. Provu remalfermi la poŝtfakon." + +-#: imap/util.c:767 ++#: imap/util.c:796 + msgid "Continue?" + msgstr "Ĉu daŭrigi?" + +-#: index.c:115 index.c:128 ++#: index.c:111 index.c:124 + msgid "Quit" + msgstr "Fini" + +-#: index.c:118 index.c:131 recvattach.c:93 ++#: index.c:114 index.c:127 recvattach.c:91 + msgid "Save" + msgstr "Skribi" + +-#: index.c:119 query.c:81 ++#: index.c:115 query.c:79 + msgid "Mail" + msgstr "Nova mesaĝo" + +-#: index.c:120 pager.c:237 ++#: index.c:116 pager.c:229 + msgid "Reply" + msgstr "Respondi" + +-#: index.c:121 ++#: index.c:117 + msgid "Group" + msgstr "Respondi al grupo" + +-#: index.c:132 pager.c:244 ++#: index.c:128 pager.c:236 + msgid "Post" + msgstr "" + +-#: index.c:133 pager.c:245 ++#: index.c:129 pager.c:237 + #, fuzzy + msgid "Followup" + msgstr "Ĉu respondi grupe al %s%s?" + +-#: index.c:190 index.c:1362 ++#: index.c:186 index.c:1367 + msgid "No mailbox is open" + msgstr "Neniu poŝtfako estas malfermita" + +-#: index.c:196 ++#: index.c:192 + msgid "There are no messages" + msgstr "Ne estas mesaĝoj" + +-#: index.c:202 ++#: index.c:198 + msgid "No visible messages" + msgstr "Malestas videblaj mesaĝoj" + +-#: index.c:208 mx.c:901 pager.c:223 recvattach.c:80 ++#: index.c:204 mx.c:920 pager.c:215 recvattach.c:78 + msgid "Mailbox is read-only" + msgstr "Poŝtfako estas nurlega" + +-#: index.c:214 pager.c:225 recvattach.c:98 ++#: index.c:210 pager.c:217 recvattach.c:96 + msgid "Function not permitted in attach-message mode" + msgstr "Funkcio nepermesata dum elektado de aldonoj" + + #. L10N: %s is one of the CHECK_ACL entries below. +-#: index.c:239 pager.c:290 ++#: index.c:235 pager.c:282 + #, c-format + msgid "%s: Operation not permitted by ACL" + msgstr "%s: operacio ne permesiĝas de ACL" + +-#: index.c:430 ++#: index.c:426 + msgid "Can't toggle write on a readonly mailbox" + msgstr "Ne eblas ŝanĝi skribostaton ĉe nurlega poŝtfako" + +-#: index.c:437 ++#: index.c:433 + msgid "Changes to folder will be written on folder exit" + msgstr "Ŝanĝoj al poŝtfako estos skribitaj ĉe eliro" + +-#: index.c:442 ++#: index.c:438 + msgid "Changes to folder will not be written" + msgstr "Ŝanĝoj al poŝtfako ne estos skribitaj" + +-#: index.c:719 muttlib.c:1490 mx.c:206 mx.c:340 ++#: index.c:714 muttlib.c:1488 mx.c:206 mx.c:338 + #, c-format + msgid "%s is not a mailbox" + msgstr "%s ne estas poŝtfako" + +-#: index.c:1218 ++#: index.c:1223 + msgid "Mailbox was externally modified. Flags may be wrong." + msgstr "Poŝtfako estis modifita de ekstere. Flagoj povas esti malĝustaj." + +-#: index.c:1227 pager.c:2409 ++#: index.c:1232 pager.c:2379 + msgid "New mail in this mailbox" + msgstr "Nova mesaĝo en ĉi tiu poŝtfako" + +-#: index.c:1242 ++#: index.c:1247 + msgid "Mailbox was externally modified" + msgstr "Poŝtfako estis modifita de ekstere" + +-#: index.c:1369 ++#: index.c:1374 + msgid "No tagged messages" + msgstr "Mankas markitaj mesaĝoj" + +-#: index.c:1373 index.c:1647 menu.c:1423 ++#: index.c:1378 index.c:1653 menu.c:1423 + msgid "Nothing to do" + msgstr "Nenio farenda" + +-#: index.c:1470 ++#: index.c:1475 + #, fuzzy + msgid "Enter Message-Id: " + msgstr "Donu keyID: " + +-#: index.c:1481 ++#: index.c:1487 + msgid "Article has no parent reference" + msgstr "" + +-#: index.c:1504 ++#: index.c:1510 + #, fuzzy + msgid "Message is not visible in limited view" + msgstr "Radika mesaĝo ne estas videbla en ĉi tiu limigita rigardo" + +-#: index.c:1508 ++#: index.c:1514 + #, fuzzy, c-format + msgid "Fetching %s from server..." + msgstr "Forviŝas mesaĝojn de la servilo..." + +-#: index.c:1518 nntp/nntp.c:2772 ++#: index.c:1524 nntp/nntp.c:2774 + #, c-format + msgid "Article %s not found on the server" + msgstr "" + +-#: index.c:1544 ++#: index.c:1550 + msgid "No Message-Id. Unable to perform operation." + msgstr "" + +-#: index.c:1623 ++#: index.c:1629 + #, fuzzy + msgid "No deleted messages found in the thread" + msgstr "forviŝi ĉiujn mesaĝojn en fadeno" + +-#: index.c:1644 ++#: index.c:1650 + msgid "Jump to message: " + msgstr "Salti al mesaĝo: " + +-#: index.c:1650 ++#: index.c:1656 + msgid "Argument must be a message number" + msgstr "Argumento devas esti mesaĝnumero" + +-#: index.c:1652 ++#: index.c:1658 + msgid "Invalid message number" + msgstr "Nevalida mesaĝnumero" + +-#: index.c:1654 ++#: index.c:1660 + msgid "That message is not visible" + msgstr "Tiu mesaĝo ne estas videbla" + +@@ -2541,38 +2783,38 @@ msgstr "Tiu mesaĝo ne estas videbla" + #. delete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. + #. +-#: index.c:1692 index.c:3267 pager.c:3064 ++#: index.c:1698 index.c:3293 pager.c:3039 + #, fuzzy + msgid "Can't delete messages" + msgstr "Ne eblas forviŝi mesaĝon" + +-#: index.c:1695 ++#: index.c:1701 + msgid "Delete messages matching: " + msgstr "Forviŝi mesaĝojn laŭ la ŝablono: " + +-#: index.c:1736 ++#: index.c:1742 + msgid "No limit pattern is in effect" + msgstr "Nenia ŝablono estas aktiva" + + #. L10N: ask for a limit to apply +-#: index.c:1741 ++#: index.c:1747 + #, c-format + msgid "Limit: %s" + msgstr "Ŝablono: %s" + +-#: index.c:1778 ++#: index.c:1784 + msgid "Limit to messages matching: " + msgstr "Limigi al mesaĝoj laŭ la ŝablono: " + +-#: index.c:1809 ++#: index.c:1815 + msgid "To view all messages, limit to \"all\"" + msgstr "Por vidi ĉiujn mesaĝojn, limigu al \"all\"" + +-#: index.c:1821 pager.c:2514 ++#: index.c:1827 pager.c:2487 + msgid "Quit NeoMutt?" + msgstr "Ĉu eliri el NeoMutt?" + +-#: index.c:1924 ++#: index.c:1931 + msgid "Tag messages matching: " + msgstr "Marki mesaĝojn laŭ la ŝablono: " + +@@ -2580,204 +2822,204 @@ msgstr "Marki mesaĝojn laŭ la ŝablono: " + #. L10N: Due to the implementation details we do not know whether we + #. undelete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:1935 index.c:3807 pager.c:3418 ++#: index.c:1942 index.c:3833 pager.c:3396 + #, fuzzy + msgid "Can't undelete messages" + msgstr "Ne eblas malforviŝi mesaĝon" + +-#: index.c:1939 ++#: index.c:1946 + msgid "Undelete messages matching: " + msgstr "Malforviŝi mesaĝojn laŭ la ŝablono: " + +-#: index.c:1948 ++#: index.c:1955 + msgid "Untag messages matching: " + msgstr "Malmarki mesaĝojn laŭ la ŝablono: " + +-#: index.c:1989 ++#: index.c:1996 + msgid "Logged out of IMAP servers" + msgstr "Elsalutis el IMAP-serviloj" + +-#: index.c:2105 ++#: index.c:2113 + #, fuzzy + msgid "No virtual folder and no Message-Id, aborting" + msgstr "Mankas temlinio; eliras" + +-#: index.c:2117 index.c:2288 index.c:2310 index.c:2331 ++#: index.c:2125 index.c:2313 index.c:2335 index.c:2356 + msgid "Failed to create query, aborting" + msgstr "" + +-#: index.c:2130 ++#: index.c:2138 + msgid "failed to find message in notmuch database. try running 'notmuch new'." + msgstr "" + +-#: index.c:2139 ++#: index.c:2147 + msgid "Failed to read thread, aborting" + msgstr "" + +-#: index.c:2171 mx.c:1252 mx.c:1272 ++#: index.c:2179 mx.c:1271 mx.c:1291 + #, fuzzy + msgid "Folder doesn't support tagging, aborting" + msgstr "SMTP-servilo ne akceptas rajtiĝon" + +-#: index.c:2188 ++#: index.c:2196 + #, fuzzy + msgid "No tag specified, aborting" + msgstr "Mankas temlinio; eliras" + +-#: index.c:2198 ++#: index.c:2206 + msgid "Update tags..." + msgstr "" + +-#: index.c:2238 ++#: index.c:2246 + msgid "Failed to modify tags, aborting" + msgstr "" + +-#: index.c:2284 ++#: index.c:2293 + #, fuzzy + msgid "No query, aborting" + msgstr "Mankas temlinio; eliras" + +-#: index.c:2299 index.c:2320 ++#: index.c:2324 index.c:2345 + msgid "Windowed queries disabled" + msgstr "" + +-#: index.c:2304 index.c:2325 ++#: index.c:2329 index.c:2350 + msgid "No notmuch vfolder currently loaded" + msgstr "" + +-#: index.c:2374 ++#: index.c:2399 + msgid "Open mailbox in read-only mode" + msgstr "Malfermi poŝtfakon nurlege" + +-#: index.c:2376 ++#: index.c:2401 + msgid "Open mailbox" + msgstr "Malfermi poŝtfakon" + +-#: index.c:2386 ++#: index.c:2411 + msgid "No mailboxes have new mail" + msgstr "Neniu poŝtfako havas novan poŝton." + +-#: index.c:2419 ++#: index.c:2444 + #, fuzzy + msgid "Open newsgroup in read-only mode" + msgstr "Malfermi poŝtfakon nurlege" + +-#: index.c:2421 ++#: index.c:2446 + msgid "Open newsgroup" + msgstr "" + +-#: index.c:2538 ++#: index.c:2564 + #, fuzzy + msgid "Exit NeoMutt without saving?" + msgstr "Eliri el NeoMutt sen skribi?" + + #. L10N: CHECK_ACL +-#: index.c:2554 ++#: index.c:2580 + #, fuzzy + msgid "Can't break thread" + msgstr "Ne eblas ligi fadenojn" + +-#: index.c:2574 ++#: index.c:2600 + msgid "Thread broken" + msgstr "Fadeno rompiĝis" + +-#: index.c:2587 ++#: index.c:2613 + msgid "Thread can't be broken, message is not part of a thread" + msgstr "Ne eblas rompi fadenon; mesaĝo ne estas parto de fadeno" + + #. L10N: CHECK_ACL +-#: index.c:2597 ++#: index.c:2623 + msgid "Can't link threads" + msgstr "Ne eblas ligi fadenojn" + +-#: index.c:2606 ++#: index.c:2632 + msgid "No Message-ID: header available to link thread" + msgstr "Neniu 'Message-ID:'-ĉapaĵo disponeblas por ligi fadenon" + +-#: index.c:2608 ++#: index.c:2634 + msgid "First, please tag a message to be linked here" + msgstr "Unue, bonvolu marki mesaĝon por ligi ĝin ĉi tie" + +-#: index.c:2621 ++#: index.c:2647 + msgid "Threads linked" + msgstr "Fadenoj ligitaj" + +-#: index.c:2624 ++#: index.c:2650 + msgid "No thread linked" + msgstr "Neniu fadeno ligita" + +-#: index.c:2665 index.c:2690 ++#: index.c:2691 index.c:2716 + msgid "You are on the last message" + msgstr "Vi estas ĉe la lasta mesaĝo" + +-#: index.c:2673 index.c:2716 ++#: index.c:2699 index.c:2742 + msgid "No undeleted messages" + msgstr "Malestas malforviŝitaj mesaĝoj" + +-#: index.c:2708 index.c:2733 ++#: index.c:2734 index.c:2759 + msgid "You are on the first message" + msgstr "Vi estas ĉe la unua mesaĝo" + +-#: index.c:2874 ++#: index.c:2900 + msgid "No new messages in this limited view" + msgstr "Malestas novaj mesaĝoj en ĉi tiu limigita rigardo" + +-#: index.c:2876 ++#: index.c:2902 + msgid "No new messages" + msgstr "Malestas novaj mesaĝoj" + +-#: index.c:2881 ++#: index.c:2907 + msgid "No unread messages in this limited view" + msgstr "Malestas nelegitaj mesaĝoj en ĉi tiu limigita rigardo" + +-#: index.c:2883 ++#: index.c:2909 + msgid "No unread messages" + msgstr "Malestas nelegitaj mesaĝoj" + +-#: index.c:2893 menu.c:1208 pager.c:2644 pattern.c:2652 ++#: index.c:2919 menu.c:1208 pager.c:2618 pattern.c:2776 + msgid "Search wrapped to top" + msgstr "Serĉo rekomencis ĉe la komenco" + +-#: index.c:2898 pager.c:2669 pattern.c:2663 ++#: index.c:2924 pager.c:2643 pattern.c:2787 + msgid "Search wrapped to bottom" + msgstr "Serĉo rekomencis ĉe la fino" + + #. L10N: CHECK_ACL +-#: index.c:2915 ++#: index.c:2941 + msgid "Can't flag message" + msgstr "Ne eblas flagi mesaĝon" + + #. L10N: CHECK_ACL +-#: index.c:2961 pager.c:3377 ++#: index.c:2987 pager.c:3355 + msgid "Can't toggle new" + msgstr "Ne eblas (mal)ŝalti \"nova\"" + +-#: index.c:3057 ++#: index.c:3083 + msgid "No more threads" + msgstr "Ne restas fadenoj" + +-#: index.c:3059 ++#: index.c:3085 + msgid "You are on the first thread" + msgstr "Vi estas ĉe la unua fadeno" + +-#: index.c:3156 ++#: index.c:3182 + #, fuzzy + msgid "Thread contains unread or flagged messages" + msgstr "Fadeno enhavas nelegitajn mesaĝojn" + + #. L10N: CHECK_ACL +-#: index.c:3215 pager.c:3019 ++#: index.c:3241 pager.c:2994 + msgid "Can't delete message" + msgstr "Ne eblas forviŝi mesaĝon" + + #. L10N: CHECK_ACL +-#: index.c:3339 ++#: index.c:3365 + msgid "Can't edit message" + msgstr "Ne eblas redakti mesaĝon" + + #. L10N: This is displayed when the x-label on one or more + #. messages is edited. +-#: index.c:3432 pager.c:3495 ++#: index.c:3458 pager.c:3473 + #, fuzzy, c-format + msgid "%d label changed" + msgid_plural "%d labels changed" +@@ -2787,7 +3029,7 @@ msgstr[1] "%d etikedoj ŝanĝiĝis" + #. L10N: This is displayed when editing an x-label, but no messages + #. were updated. Possibly due to canceling at the prompt or if the new + #. label is the same as the old label. +-#: index.c:3440 pager.c:3499 ++#: index.c:3466 pager.c:3477 + msgid "No labels changed" + msgstr "Neniu etikedo ŝanĝiĝis" + +@@ -2795,7 +3037,7 @@ msgstr "Neniu etikedo ŝanĝiĝis" + #. L10N: Due to the implementation details we do not know whether we + #. mark zero, 1, 12, ... messages as read. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:3571 ++#: index.c:3597 + #, fuzzy + msgid "Can't mark messages as read" + msgstr "Ne eblas marki mesaĝo(j)n kiel legita(j)n" +@@ -2803,270 +3045,133 @@ msgstr "Ne eblas marki mesaĝo(j)n kiel legita(j)n" + #. L10N: This is the prompt for . Whatever they + #. enter will be prefixed by $mark_macro_prefix and will become + #. a macro hotkey to jump to the currently selected message. +-#: index.c:3612 ++#: index.c:3638 + msgid "Enter macro stroke: " + msgstr "Tajpu makroan klavon: " + + #. L10N: "message hotkey" is the key bindings menu description of a + #. macro created by . +-#: index.c:3620 ++#: index.c:3646 + msgid "message hotkey" + msgstr "fulmklavo por mesaĝo" + + #. L10N: This is echoed after creates a new hotkey + #. macro. %s is the hotkey string ($mark_macro_prefix followed + #. by whatever they typed at the prompt.) +-#: index.c:3625 ++#: index.c:3651 + #, c-format + msgid "Message bound to %s" + msgstr "Mesaĝo ligiĝis al %s" + + #. L10N: This error is printed if can't find a + #. Message-ID for the currently selected message in the index. +-#: index.c:3634 ++#: index.c:3660 + msgid "No message ID to macro" + msgstr "Mesaĝa ID mankas en indekso" + +-#: index.c:3688 pager.c:3221 recvattach.c:1646 ++#: index.c:3714 pager.c:3196 recvattach.c:1678 + msgid "Reply by mail as poster prefers?" + msgstr "" + +-#: index.c:3691 pager.c:3182 pager.c:3194 pager.c:3224 ++#: index.c:3717 pager.c:3157 pager.c:3169 pager.c:3199 + msgid "Posting to this group not allowed, may be moderated. Continue?" + msgstr "" + + #. L10N: CHECK_ACL +-#: index.c:3768 pager.c:3397 ++#: index.c:3794 pager.c:3375 + msgid "Can't undelete message" + msgstr "Ne eblas malforviŝi mesaĝon" + +-#: init.c:313 ++#: init.c:223 + #, c-format + msgid "Error in command line: %s" + msgstr "Eraro en komandlinio: %s" + +-#: init.c:315 ++#: init.c:225 + #, fuzzy, c-format + msgid "Warning in command line: %s" + msgstr "Eraro en komandlinio: %s" + +-#: init.c:426 ++#: init.c:336 + msgid "unable to determine nodename via uname()" + msgstr "ne eblas eltrovi la komputilretnomo per 'uname()'" + +-#: init.c:580 +-msgid "-group: no group name" +-msgstr "-group: mankas gruponomo" +- +-#: init.c:590 +-msgid "out of arguments" +-msgstr "nesufiĉe da argumentoj" +- +-#: init.c:804 init.c:1752 +-#, c-format +-msgid "Error: Can't build path of '%s'" +-msgstr "" +- +-#: init.c:817 +-#, c-format +-msgid "Error: Cyclic sourcing of configuration file '%s'" +-msgstr "" +- +-#: init.c:850 +-#, c-format +-msgid "Error in %s, line %d: %s" +-msgstr "Eraro en %s, linio %d: %s" +- +-#: init.c:861 +-#, fuzzy, c-format +-msgid "Warning in %s, line %d: %s" +-msgstr "Eraro en %s, linio %d: %s" +- +-#: init.c:885 +-#, c-format +-msgid "source: errors in %s" +-msgstr "source: eraroj en %s" +- +-#: init.c:885 +-#, c-format +-msgid "source: reading aborted due to too many errors in %s" +-msgstr "source: legado ĉesis pro tro da eraroj en %s" +- +-#: init.c:894 +-#, fuzzy, c-format +-msgid "source: %d warning in %s" +-msgid_plural "source: %d warnings in %s" +-msgstr[0] "source: eraroj en %s" +-msgstr[1] "source: eraroj en %s" +- +-#: init.c:923 +-msgid "alias: no address" +-msgstr "adresaro: mankas adreso" +- +-#: init.c:965 +-#, c-format +-msgid "Warning: Bad IDN '%s' in alias '%s'" +-msgstr "Averto: Malbona IDN '%s' en adreso '%s'" +- +-#: init.c:1043 +-msgid "attachments: no disposition" +-msgstr "attachments: mankas dispozicio" +- +-#: init.c:1054 +-#, fuzzy +-msgid "Current attachments settings:" +-msgstr "redakti priskribon de parto" +- +-#: init.c:1084 +-msgid "attachments: invalid disposition" +-msgstr "attachments: nevalida dispozicio" +- +-#: init.c:1160 +-#, c-format +-msgid "%sgroup: missing -rx or -addr" +-msgstr "%s-grupo: mankas -rx aŭ -addr" +- +-#: init.c:1186 +-#, c-format +-msgid "%sgroup: warning: bad IDN '%s'" +-msgstr "%s-grupo: averto: malbona IDN '%s'" +- +-#: init.c:1278 +-#, c-format +-msgid "Error: %s" +-msgstr "" +- +-#: init.c:1445 +-msgid "invalid header field" +-msgstr "nevalida ĉaplinio" +- +-#: init.c:1711 init.c:1815 +-#, c-format +-msgid "%s: unknown variable" +-msgstr "%s: nekonata variablo" +- +-#: init.c:1908 +-#, c-format +-msgid "%s is unset" +-msgstr "%s estas malŝaltita" +- +-#: init.c:1953 mutt_lua.c:478 +-#, c-format +-msgid "source: error at %s" +-msgstr "source: eraro ĉe %s" +- +-#: init.c:1961 +-#, fuzzy, c-format +-msgid "source: file %s could not be sourced" +-msgstr "Ne eblis presi mesaĝojn" +- +-#: init.c:1984 +-msgid "spam: no matching pattern" +-msgstr "spam: neniu ŝablono kongruas" +- +-#: init.c:1986 +-msgid "nospam: no matching pattern" +-msgstr "nospam: neniu ŝablono kongruas" +- +-#: init.c:2146 +-#, fuzzy, c-format +-msgid "Could not subscribe to %s" +-msgstr "Abonas %s" +- +-#: init.c:2154 init.c:2632 +-#, fuzzy +-msgid "No folder specified" +-msgstr "Temlinio ne specifita." +- +-#: init.c:2341 +-msgid "unattachments: no disposition" +-msgstr "unattachments: mankas dispozicio" +- +-#: init.c:2379 +-msgid "unattachments: invalid disposition" +-msgstr "unattachments: nevalida dispozicio" +- +-#: init.c:2624 +-#, fuzzy, c-format +-msgid "Could not unsubscribe from %s" +-msgstr "Malabonis %s" +- +-#: init.c:3292 ++#: init.c:1042 + #, c-format + msgid "%s: unknown command" + msgstr "%s: nekonata komando" + +-#: init.c:3837 ++#: init.c:1588 + msgid "'charset' must contain exactly one character set name" + msgstr "" + +-#: init.c:3853 init.c:3877 init.c:3912 ++#: init.c:1604 init.c:1628 init.c:1663 + #, fuzzy, c-format + msgid "Invalid value for option %s: %s" + msgstr "Nevalida valoro por opcio %s: \"%s\"" + +-#: init.c:3890 ++#: init.c:1641 + #, c-format + msgid "Option %s may not be set or reset from the pager" + msgstr "" + +-#: init.c:3928 ++#: init.c:1679 + #, fuzzy, c-format + msgid "Option %s may not be set when in attach-message mode" + msgstr "Funkcio nepermesata dum elektado de aldonoj." + + #. L10N: This applies to the "$wrap_headers" config variable +-#: init.c:3943 ++#: init.c:1694 + #, c-format + msgid "Option %s must between 78 and 998 inclusive" + msgstr "" + +-#: keymap.c:373 keymap.c:381 ++#: keymap.c:371 keymap.c:379 + #, c-format + msgid "Binding '%s' will alias '%s' Before, try: 'bind %s %s noop' https://neomutt.org/guide/configuration.html#bind-warnings" + msgstr "" + +-#: keymap.c:757 ++#: keymap.c:755 + msgid "Macro loop detected" + msgstr "Cirkla makroo trovita" + +-#: keymap.c:1064 keymap.c:1099 ++#: keymap.c:1062 keymap.c:1097 + msgid "Key is not bound" + msgstr "Klavo ne estas difinita" + +-#: keymap.c:1104 ++#: keymap.c:1102 + #, c-format + msgid "Key is not bound. Press '%s' for help." + msgstr "Klavo ne estas difinita. Premu '%s' por helpo." + +-#: keymap.c:1177 ++#: keymap.c:1175 + #, c-format + msgid "%s: null key sequence" + msgstr "%s: malplena klavoserio" + +-#: keymap.c:1212 ++#: keymap.c:1210 + #, c-format + msgid "Function '%s' not available for menu '%s'" + msgstr "" + +-#: keymap.c:1495 ++#: keymap.c:1493 + msgid "macro: empty key sequence" + msgstr "macro: malplena klavoserio" + +-#: keymap.c:1543 ++#: keymap.c:1541 + msgid "exec: no arguments" + msgstr "exec: mankas argumentoj" + +-#: keymap.c:1563 ++#: keymap.c:1561 + #, c-format + msgid "%s: no such function" + msgstr "%s: funkcio ne ekzistas" + +-#: keymap.c:1584 ++#: keymap.c:1582 + msgid "Enter keys (^G to abort): " + msgstr "Donu ŝlosilojn (^G por nuligi): " + +-#: keymap.c:1590 ++#: keymap.c:1588 + #, c-format + msgid "Char = %s, Octal = %o, Decimal = %d" + msgstr "Signo = %s, Okume = %o, Dekume = %d" +@@ -3090,7 +3195,7 @@ msgstr "mailcap-regulo por speco %s ne trovita" + msgid "Scanning %s..." + msgstr "Traserĉas %s..." + +-#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:353 ++#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:351 + #, c-format + msgid "Reading %s..." + msgstr "Legiĝas %s..." +@@ -3105,13 +3210,13 @@ msgid "md_commit_message(): unable to set time on file" + msgstr "_maildir_commit_message(): ne eblas ŝanĝi tempon de dosiero" + + #. L10N: Displayed before/as a mailbox is being synced +-#: maildir/shared.c:1723 mbox/mbox.c:1276 mx.c:461 notmuch/mutt_notmuch.c:2364 ++#: maildir/shared.c:1734 mbox/mbox.c:1276 mx.c:459 notmuch/mutt_notmuch.c:2364 + #, c-format + msgid "Writing %s..." + msgstr "Skribiĝas %s..." + + #. L10N: Try to limit to 80 columns +-#: main.c:227 ++#: main.c:160 + msgid "" + "usage:\n" + " neomutt [-Enx] [-e ] [-F ] [-H ] [-i ]\n" +@@ -3134,7 +3239,7 @@ msgid "" + msgstr "" + + #. L10N: Try to limit to 80 columns. If more space is needed add an indented line +-#: main.c:247 ++#: main.c:180 + msgid "" + "options:\n" + " -- Special argument forces NeoMutt to stop option parsing and treat\n" +@@ -3177,54 +3282,54 @@ msgid "" + " or exit immediately with exit code 1 otherwise" + msgstr "" + +-#: main.c:312 ++#: main.c:245 + msgid "Error initializing terminal" + msgstr "Eraro dum startigo de la terminalo" + +-#: main.c:390 ++#: main.c:323 + msgid "unable to determine username" + msgstr "ne eblas eltrovi la uzantonomo" + +-#: main.c:396 ++#: main.c:329 + msgid "unable to determine home directory" + msgstr "ne eblas eltrovi la hejmdosierujon" + +-#: main.c:640 ++#: main.c:572 + #, c-format + msgid "Error: value '%s' is invalid for -d" + msgstr "Eraro: valoro '%s' ne validas por '-d'" + +-#: main.c:884 ++#: main.c:815 + msgid "Failed to parse mailto: link" + msgstr "Malsukcesis analizi 'mailto:'-ligon" + +-#: main.c:896 send.c:2452 send.c:2456 ++#: main.c:827 send.c:2463 send.c:2467 + msgid "No recipients specified" + msgstr "Nenia ricevonto specifita" + +-#: main.c:923 ++#: main.c:854 + msgid "Can't use -E flag with stdin" + msgstr "Ne eblas uzi opcio '-E' kun ĉefenigujo" + +-#: main.c:1007 ++#: main.c:938 + #, fuzzy, c-format + msgid "Can't parse message template: %s" + msgstr "Ne eblas malfermi mesaĝodosieron: %s" + +-#: main.c:1073 mutt_header.c:329 ++#: main.c:1004 mutt_header.c:329 + #, c-format + msgid "%s: unable to attach file" + msgstr "%s: ne eblas aldoni dosieron" + +-#: main.c:1156 ++#: main.c:1087 + msgid "No mailbox with new mail" + msgstr "Mankas poŝtfako kun nova poŝto" + +-#: main.c:1180 ++#: main.c:1111 + msgid "No incoming mailboxes defined" + msgstr "Neniu enir-poŝtfako estas difinita" + +-#: main.c:1230 ++#: main.c:1161 + msgid "Mailbox is empty" + msgstr "Poŝtfako estas malplena" + +@@ -3266,52 +3371,52 @@ msgstr "Ne eblis remalfermi poŝtfakon" + msgid "Can't write message" + msgstr "Ne eblas skribi mesaĝon" + +-#: menu.c:632 ++#: menu.c:631 + msgid "Jump to: " + msgstr "Salti al: " + +-#: menu.c:641 ++#: menu.c:640 + msgid "Invalid index number" + msgstr "Nevalida indeksnumero" + +-#: menu.c:645 menu.c:671 menu.c:744 menu.c:810 menu.c:828 menu.c:843 menu.c:858 +-#: menu.c:873 menu.c:890 menu.c:907 menu.c:1553 ++#: menu.c:644 menu.c:670 menu.c:743 menu.c:809 menu.c:827 menu.c:842 menu.c:857 ++#: menu.c:872 menu.c:889 menu.c:906 menu.c:1553 + msgid "No entries" + msgstr "Neniaj registroj" + +-#: menu.c:668 ++#: menu.c:667 + msgid "You can't scroll down farther" + msgstr "Ne eblas rulumi pli malsupren" + +-#: menu.c:690 ++#: menu.c:689 + msgid "You can't scroll up farther" + msgstr "Ne eblas rulumi pli supren" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the first page" + msgstr "Ĉi tiu estas la unua paĝo" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the last page" + msgstr "Ĉi tiu estas la lasta paĝo" + +-#: menu.c:922 ++#: menu.c:921 + msgid "You are on the last entry" + msgstr "Ĉi tiu estas la lasta elemento" + +-#: menu.c:937 ++#: menu.c:936 + msgid "You are on the first entry" + msgstr "Ĉi tiu estas la unua elemento" + +-#: menu.c:1172 pager.c:2692 pattern.c:2578 ++#: menu.c:1172 pager.c:2666 pattern.c:2702 + msgid "Search for: " + msgstr "Serĉi pri: " + +-#: menu.c:1173 pager.c:2693 pattern.c:2579 ++#: menu.c:1173 pager.c:2667 pattern.c:2703 + msgid "Reverse search for: " + msgstr "Inversa serĉo pri: " + +-#: menu.c:1226 pager.c:2641 pager.c:2666 pager.c:2800 pattern.c:2708 ++#: menu.c:1226 pager.c:2615 pager.c:2640 pager.c:2774 pattern.c:2832 + msgid "Not found" + msgstr "Ne trovita" + +@@ -3354,20 +3459,20 @@ msgstr "Atendas flock-ŝloson... %d" + msgid "Bad history file format (line %d)" + msgstr "Malbona strukturo de histori-dosiero (linio %d)" + +-#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1006 ncrypt/crypt_gpgme.c:2381 +-#: ncrypt/crypt_gpgme.c:2401 ncrypt/crypt_gpgme.c:2460 +-#: ncrypt/crypt_gpgme.c:2477 ncrypt/crypt_gpgme.c:2509 +-#: ncrypt/crypt_gpgme.c:2527 ncrypt/crypt_gpgme.c:2611 +-#: ncrypt/crypt_gpgme.c:3194 ncrypt/crypt_gpgme.c:3292 +-#: ncrypt/crypt_gpgme.c:4373 ncrypt/pgp.c:576 ncrypt/pgp.c:583 ncrypt/pgp.c:896 +-#: ncrypt/pgp.c:1014 ncrypt/pgp.c:1161 ncrypt/pgp.c:1181 ncrypt/pgp.c:1215 +-#: ncrypt/pgp.c:1568 ncrypt/pgpkey.c:708 ncrypt/pgpkey.c:902 +-#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1092 ncrypt/smime.c:1100 +-#: ncrypt/smime.c:1191 ncrypt/smime.c:1299 ncrypt/smime.c:1364 +-#: ncrypt/smime.c:1372 ncrypt/smime.c:1571 ncrypt/smime.c:1967 +-#: ncrypt/smime.c:2046 ncrypt/smime.c:2053 ncrypt/smime.c:2156 +-#: ncrypt/smime.c:2281 ncrypt/smime.c:2297 nntp/nntp.c:1397 nntp/nntp.c:2237 +-#: pattern.c:1132 pop/pop.c:182 ++#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1005 ncrypt/crypt_gpgme.c:2420 ++#: ncrypt/crypt_gpgme.c:2440 ncrypt/crypt_gpgme.c:2499 ++#: ncrypt/crypt_gpgme.c:2516 ncrypt/crypt_gpgme.c:2548 ++#: ncrypt/crypt_gpgme.c:2566 ncrypt/crypt_gpgme.c:2650 ++#: ncrypt/crypt_gpgme.c:3237 ncrypt/crypt_gpgme.c:3335 ++#: ncrypt/crypt_gpgme.c:4421 ncrypt/pgp.c:575 ncrypt/pgp.c:582 ncrypt/pgp.c:895 ++#: ncrypt/pgp.c:1013 ncrypt/pgp.c:1160 ncrypt/pgp.c:1180 ncrypt/pgp.c:1214 ++#: ncrypt/pgp.c:1570 ncrypt/pgpkey.c:741 ncrypt/pgpkey.c:937 ++#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1126 ncrypt/smime.c:1134 ++#: ncrypt/smime.c:1225 ncrypt/smime.c:1333 ncrypt/smime.c:1398 ++#: ncrypt/smime.c:1406 ncrypt/smime.c:1605 ncrypt/smime.c:2001 ++#: ncrypt/smime.c:2080 ncrypt/smime.c:2087 ncrypt/smime.c:2190 ++#: ncrypt/smime.c:2315 ncrypt/smime.c:2331 nntp/nntp.c:1399 nntp/nntp.c:2239 ++#: pattern.c:1171 pop/pop.c:182 + msgid "Can't create temporary file" + msgstr "Ne eblas krei dumtempan dosieron" + +@@ -3386,7 +3491,7 @@ msgstr "Sencimigo ĉe la nivelo %d.\n" + msgid "Logging at level %d to file '%s'" + msgstr "Sencimigo ĉe la nivelo %d.\n" + +-#: mutt/path.c:401 ++#: mutt/path.c:420 + #, fuzzy + msgid "Error: converting path to absolute" + msgstr "Eraro dum konektiĝo al servilo: %s" +@@ -3410,17 +3515,17 @@ msgstr "Ricevis signalon %d (%s) ... Eliras.\n" + msgid "Caught signal %d ... Exiting.\n" + msgstr "Ricevis signalon %d ... Eliras.\n" + +-#: muttlib.c:490 ++#: muttlib.c:488 + #, c-format + msgid "mutt_randbuf buflen=%zu" + msgstr "" + +-#: muttlib.c:510 ++#: muttlib.c:508 + #, c-format + msgid "open /dev/urandom: %s" + msgstr "" + +-#: muttlib.c:517 ++#: muttlib.c:515 + #, c-format + msgid "read /dev/urandom: %s" + msgstr "" +@@ -3428,148 +3533,120 @@ msgstr "" + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) + #. These three letters correspond to the choices in the string. +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "File is a directory, save under it: (y)es, (n)o, (a)ll?" + msgstr "Dosiero estas dosierujo; ĉu skribi sub ĝi? (j)es, (n)e, ĉ(i)uj" + +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "yna" + msgstr "jni" + + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) +-#: muttlib.c:763 ++#: muttlib.c:761 + msgid "File is a directory, save under it?" + msgstr "Tio estas dosierujo; ĉu skribi dosieron en ĝi?" + +-#: muttlib.c:768 ++#: muttlib.c:766 + msgid "File under directory: " + msgstr "Dosiero en dosierujo: " + +-#: muttlib.c:781 ++#: muttlib.c:779 + msgid "File exists, (o)verwrite, (a)ppend, or (c)ancel?" + msgstr "Dosiero ekzistas; ĉu (s)urskribi, (a)ldoni, aŭ (n)uligi?" + + #. L10N: Options for: File exists, (o)verwrite, (a)ppend, or (c)ancel? +-#: muttlib.c:783 ++#: muttlib.c:781 + msgid "oac" + msgstr "san" + +-#: muttlib.c:1458 ++#: muttlib.c:1456 + msgid "Can't save message to POP mailbox" + msgstr "Ne eblas skribi mesaĝon al POP-poŝtfako" + +-#: muttlib.c:1468 ++#: muttlib.c:1466 + #, c-format + msgid "Append messages to %s?" + msgstr "Ĉu aldoni mesaĝojn al %s?" + +-#: muttlib.c:1481 ++#: muttlib.c:1479 + #, fuzzy + msgid "Can't save message to news server" + msgstr "Ne eblas lasi mesaĝojn ĉe la servilo" + +-#. L10N: Example: Username at myhost.com +-#: mutt_account.c:233 +-#, c-format +-msgid "Username at %s: " +-msgstr "Uzantonomo ĉe %s: " +- +-#: mutt_account.c:315 +-#, c-format +-msgid "Password for %s@%s: " +-msgstr "Pasvorto por %s@%s: " +- +-#. L10N: You will see this error message if (1) you have "oauthbearer" in +-#. one of your $*_authenticators and (2) you do not have the corresponding +-#. $*_oauth_refresh_command defined. So the message does not mean "None of +-#. your $*_oauth_refresh_command's are defined." +-#: mutt_account.c:383 +-#, fuzzy +-msgid "No OAUTH refresh command defined" +-msgstr "Demandokomando ne difinita" +- +-#: mutt_account.c:390 +-msgid "Unable to run refresh command" +-msgstr "" +- +-#: mutt_account.c:400 +-msgid "Command returned empty string" +-msgstr "" +- +-#: mutt_attach.c:140 mutt_attach.c:274 mutt_attach.c:459 mutt_attach.c:1054 ++#: mutt_attach.c:142 mutt_attach.c:276 mutt_attach.c:488 mutt_attach.c:1087 + msgid "Can't match 'nametemplate', continue?" + msgstr "Nomŝablono ne estas plenumebla. Ĉu daŭrigi?" + +-#: mutt_attach.c:150 ++#: mutt_attach.c:152 + #, c-format + msgid "Mailcap compose entry requires %%s" + msgstr "\"compose\" en Mailcap-dosiero postulas %%s" + +-#: mutt_attach.c:168 ++#: mutt_attach.c:170 + msgid "Failure to open file to parse headers" + msgstr "Malsukcesis malfermi dosieron por analizi ĉapaĵojn" + +-#: mutt_attach.c:202 ++#: mutt_attach.c:204 + msgid "Failure to open file to strip headers" + msgstr "Malsukcesis malfermi dosieron por forigi ĉapaĵojn" + +-#: mutt_attach.c:212 ++#: mutt_attach.c:214 + msgid "Failure to rename file" + msgstr "Malsukcesis renomi dosieron" + +-#: mutt_attach.c:222 ++#: mutt_attach.c:224 + #, c-format + msgid "No mailcap compose entry for %s, creating empty file" + msgstr "En la Mailcap-dosiero mankas \"compose\" por %s; malplena dosiero estas kreita" + +-#: mutt_attach.c:284 ++#: mutt_attach.c:286 + #, c-format + msgid "Mailcap Edit entry requires %%s" + msgstr "\"edit\" en Mailcap-dosiero postulas %%s" + +-#: mutt_attach.c:305 ++#: mutt_attach.c:307 + #, c-format + msgid "No mailcap edit entry for %s" + msgstr "En la Mailcap-dosiero mankas \"edit\" por %s" + +-#: mutt_attach.c:427 ++#: mutt_attach.c:456 + msgid "No matching mailcap entry found. Viewing as text." + msgstr "Neniu Mailcap-regulo kongruas. Traktas kiel tekston." + +-#: mutt_attach.c:440 ++#: mutt_attach.c:469 + msgid "MIME type not defined. Can't view attachment." + msgstr "MIME-speco ne difinita. Ne eblas vidigi parton." + +-#: mutt_attach.c:535 ++#: mutt_attach.c:563 + #, c-format + msgid "---Command: %-20.20s Description: %s" + msgstr "---Komando: %-20.20s Priskribo: %s" + +-#: mutt_attach.c:540 ++#: mutt_attach.c:568 + #, c-format + msgid "---Command: %-30.30s Attachment: %s" + msgstr "---Komando: %-30.30s Parto: %s" + +-#: mutt_attach.c:619 ++#: mutt_attach.c:652 + #, c-format + msgid "---Attachment: %s: %s" + msgstr "---Parto: %s: %s" + +-#: mutt_attach.c:621 ++#: mutt_attach.c:654 + #, c-format + msgid "---Attachment: %s" + msgstr "---Parto: %s" + +-#: mutt_attach.c:902 mutt_attach.c:910 ++#: mutt_attach.c:935 mutt_attach.c:943 + msgid "Write fault" + msgstr "Skriberaro" + +-#: mutt_attach.c:1174 ++#: mutt_attach.c:1207 + msgid "I don't know how to print that" + msgstr "Mi ne scias presi tion" + +-#: mutt_history.c:47 query.c:84 ++#: mutt_history.c:47 query.c:82 + msgid "Search" + msgstr "Serĉi" + +@@ -3578,21 +3655,21 @@ msgstr "Serĉi" + msgid "History '%s'" + msgstr "Demando '%s'" + +-#: mutt_logging.c:315 ++#: mutt_logging.c:313 + #, fuzzy, c-format + msgid "Invalid value for option %s: %ld" + msgstr "Nevalida valoro por opcio %s: \"%s\"" + +-#: mutt_lua.c:429 ++#: mutt_lua.c:431 + msgid "Error: Couldn't load the lua interpreter" + msgstr "" + +-#: mutt_lua.c:491 ++#: mutt_lua.c:493 + #, fuzzy, c-format + msgid "Couldn't source lua source: %s" + msgstr "Ne eblis ŝlosi %s\n" + +-#: mutt_mailbox.c:214 ++#: mutt_mailbox.c:241 + msgid "New mail in " + msgstr "Nova mesaĝo en " + +@@ -3613,20 +3690,20 @@ msgstr "Radika mesaĝo ne estas videbla en ĉi tiu limigita rigardo" + msgid "Parent message is not visible in this limited view" + msgstr "Patra mesaĝo ne estas videbla en ĉi tiu limigita rigardo" + +-#: mx.c:387 ++#: mx.c:385 + #, fuzzy, c-format + msgid "Reading from %s interrupted..." + msgstr "Serĉo interrompita." + + #. L10N: Displayed if a mailbox sync fails +-#: mx.c:468 ++#: mx.c:469 + #, fuzzy, c-format + msgid "Unable to write %s" + msgstr "Ne eblas aldoni %s" + + #. L10N: Although we know the precise number of messages, we do not show it to the user. + #. So feel free to use a "generic plural" as plural translation if your language has one. +-#: mx.c:523 ++#: mx.c:525 + #, fuzzy + msgid "message not deleted" + msgid_plural "messages not deleted" +@@ -3637,69 +3714,69 @@ msgstr[1] "mesaĝo(j) ne forviŝiĝis" + msgid "Can't open trash folder" + msgstr "Ne eblas malfermi rubujon" + +-#: mx.c:623 ++#: mx.c:627 + msgid "Mark all articles read?" + msgstr "" + + #. L10N: The first argument is the number of read messages to be + #. moved, the second argument is the target mailbox. +-#: mx.c:671 ++#: mx.c:675 + #, fuzzy, c-format + msgid "Move %d read message to %s?" + msgid_plural "Move %d read messages to %s?" + msgstr[0] "Ĉu movi legitajn mesaĝojn al %s?" + msgstr[1] "Ĉu movi legitajn mesaĝojn al %s?" + +-#: mx.c:685 mx.c:917 ++#: mx.c:689 mx.c:936 + #, fuzzy, c-format + msgid "Purge %d deleted message?" + msgid_plural "Purge %d deleted messages?" + msgstr[0] "Ĉu forpurigi %d forviŝitan mesaĝon?" + msgstr[1] "Ĉu forpurigi %d forviŝitajn mesaĝojn?" + +-#: mx.c:708 ++#: mx.c:712 + #, c-format + msgid "Moving read messages to %s..." + msgstr "Movas legitajn mesaĝojn al %s..." + +-#: mx.c:774 mx.c:908 ++#: mx.c:783 mx.c:927 + msgid "Mailbox is unchanged" + msgstr "Poŝtfako estas neŝanĝita" + +-#: mx.c:827 ++#: mx.c:842 + #, c-format + msgid "%d kept, %d moved, %d deleted" + msgstr "%d retenite, %d movite, %d forviŝite" + +-#: mx.c:831 mx.c:972 ++#: mx.c:846 mx.c:991 + #, c-format + msgid "%d kept, %d deleted" + msgstr "%d retenite, %d forviŝite" + +-#: mx.c:892 ++#: mx.c:911 + #, c-format + msgid " Press '%s' to toggle write" + msgstr " Premu '%s' por (mal)ŝalti skribon" + +-#: mx.c:894 ++#: mx.c:913 + msgid "Use 'toggle-write' to re-enable write" + msgstr "Uzu 'toggle-write' por reebligi skribon" + +-#: mx.c:896 ++#: mx.c:915 + #, c-format + msgid "Mailbox is marked unwritable. %s" + msgstr "Poŝtfako estas markita kiel neskribebla. %s" + +-#: mx.c:966 ++#: mx.c:985 + msgid "Mailbox checkpointed" + msgstr "Poŝtfako sinkronigita" + +-#: ncrypt/crypt.c:93 ++#: ncrypt/crypt.c:91 + #, c-format + msgid " (current time: %c)" + msgstr " (nuna horo: %c)" + +-#: ncrypt/crypt.c:98 ++#: ncrypt/crypt.c:96 + #, c-format + msgid "[-- %s output follows%s --]\n" + msgstr "[-- %s eligo sekvas%s --]\n" +@@ -3708,55 +3785,55 @@ msgstr "[-- %s eligo sekvas%s --]\n" + #. by gpg-agent) we can't know whether we forgot zero, 1, 12, ... + #. passwords. So in English we use "Passphrases". Your language might + #. have other means to express this. +-#: ncrypt/crypt.c:119 ++#: ncrypt/crypt.c:117 + #, fuzzy + msgid "Passphrases forgotten" + msgstr "Pasfrazo(j) forgesita(j)" + +-#: ncrypt/crypt.c:203 ++#: ncrypt/crypt.c:201 + msgid "Inline PGP can't be used with attachments. Revert to PGP/MIME?" + msgstr "Ne eblas uzi PGP kun aldonaĵoj. Ĉu refali al PGP/MIME?" + +-#: ncrypt/crypt.c:207 ++#: ncrypt/crypt.c:205 + msgid "Mail not sent: inline PGP can't be used with attachments" + msgstr "Mesaĝo ne sendita: ne eblas uzi enteksta PGP kun aldonaĵoj" + +-#: ncrypt/crypt.c:214 ++#: ncrypt/crypt.c:212 + #, fuzzy + msgid "Inline PGP can't be used with format=flowed. Revert to PGP/MIME?" + msgstr "Ne eblas uzi PGP kun aldonaĵoj. Ĉu refali al PGP/MIME?" + +-#: ncrypt/crypt.c:218 ++#: ncrypt/crypt.c:216 + #, fuzzy + msgid "Mail not sent: inline PGP can't be used with format=flowed" + msgstr "Mesaĝo ne sendita: ne eblas uzi enteksta PGP kun aldonaĵoj" + +-#: ncrypt/crypt.c:228 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:714 +-#: ncrypt/pgpkey.c:915 ++#: ncrypt/crypt.c:226 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:747 ++#: ncrypt/pgpkey.c:950 + msgid "Invoking PGP..." + msgstr "Alvokas PGP..." + +-#: ncrypt/crypt.c:240 ++#: ncrypt/crypt.c:238 + msgid "Message can't be sent inline. Revert to using PGP/MIME?" + msgstr "Ne eblas sendi mesaĝon entekste. Ĉu refali al PGP/MIME?" + +-#: ncrypt/crypt.c:242 send.c:2430 ++#: ncrypt/crypt.c:240 send.c:2441 + msgid "Mail not sent" + msgstr "Mesaĝo ne sendita" + +-#: ncrypt/crypt.c:662 ++#: ncrypt/crypt.c:666 + msgid "S/MIME messages with no hints on content are unsupported" + msgstr "S/MIME-mesaĝoj sen informoj pri enhavo ne funkcias" + +-#: ncrypt/crypt.c:888 ++#: ncrypt/crypt.c:892 + msgid "Trying to extract PGP keys...\n" + msgstr "Provas eltiri PGP-ŝlosilojn...\n" + +-#: ncrypt/crypt.c:917 ++#: ncrypt/crypt.c:921 + msgid "Trying to extract S/MIME certificates..." + msgstr "Provas eltiri S/MIME-atestilojn..." + +-#: ncrypt/crypt.c:1140 ++#: ncrypt/crypt.c:1144 + #, c-format + msgid "" + "[-- Error: Unknown multipart/signed protocol %s --]\n" +@@ -3765,7 +3842,7 @@ msgstr "" + "[-- Eraro: nekonata multipart/signed-protokolo %s --]\n" + "\n" + +-#: ncrypt/crypt.c:1180 ++#: ncrypt/crypt.c:1184 + #, fuzzy + msgid "" + "[-- Error: Missing or bad-format multipart/signed signature --]\n" +@@ -3774,7 +3851,7 @@ msgstr "" + "[-- Eraro: malĝusta strukturo de multipart/signed --]\n" + "\n" + +-#: ncrypt/crypt.c:1222 ++#: ncrypt/crypt.c:1226 + #, c-format + msgid "" + "[-- Warning: We can't verify %s/%s signatures. --]\n" +@@ -3783,7 +3860,7 @@ msgstr "" + "[-- Averto: ne eblas kontroli %s/%s-subskribojn. --]\n" + "\n" + +-#: ncrypt/crypt.c:1235 ++#: ncrypt/crypt.c:1239 + msgid "" + "[-- The following data is signed --]\n" + "\n" +@@ -3791,7 +3868,7 @@ msgstr "" + "[-- La sekvaj datenoj estas subskribitaj --]\n" + "\n" + +-#: ncrypt/crypt.c:1243 ++#: ncrypt/crypt.c:1248 + msgid "" + "[-- Warning: Can't find any signatures. --]\n" + "\n" +@@ -3799,7 +3876,7 @@ msgstr "" + "[-- Averto: ne eblas trovi subskribon. --]\n" + "\n" + +-#: ncrypt/crypt.c:1249 ++#: ncrypt/crypt.c:1255 + msgid "" + "\n" + "[-- End of signed data --]\n" +@@ -3818,237 +3895,237 @@ msgstr "Alvokas S/MIME..." + #. L10N: The following are the headers for the "verify key" output from the + #. GPGME key selection menu (bound to "c" in the key selection menu). + #. They will be automatically aligned. +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + #, fuzzy + msgid "Name: " + msgstr "Nomo ......: " + +-#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1869 ncrypt/crypt_gpgme.c:1874 ++#: ncrypt/crypt_gpgme.c:183 ncrypt/crypt_gpgme.c:1900 ncrypt/crypt_gpgme.c:1905 + msgid "aka: " + msgstr "alinome: " + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + #, fuzzy + msgid "Valid From: " + msgstr "Valida de .: %s\n" + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + #, fuzzy + msgid "Valid To: " + msgstr "Valida ĝis : %s\n" + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + #, fuzzy + msgid "Key Type: " + msgstr "Ŝlosiluzado: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + #, fuzzy + msgid "Key Usage: " + msgstr "Ŝlosiluzado: " + +-#: ncrypt/crypt_gpgme.c:185 ncrypt/crypt_gpgme.c:1759 ++#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1790 + msgid "Fingerprint: " + msgstr "Fingrospuro: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + #, fuzzy + msgid "Serial-No: " + msgstr "Seri-numero: 0x%s\n" + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + #, fuzzy + msgid "Issued By: " + msgstr "Eldonita de: " + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + #, fuzzy + msgid "Subkey: " + msgstr "Subŝlosilo : 0x%s" + +-#: ncrypt/crypt_gpgme.c:783 ++#: ncrypt/crypt_gpgme.c:782 + #, c-format + msgid "error enabling CMS protocol: %s" + msgstr "eraro en funkciigo de CMS-protokolo: %s" + +-#: ncrypt/crypt_gpgme.c:806 ++#: ncrypt/crypt_gpgme.c:805 + #, c-format + msgid "error creating gpgme data object: %s" + msgstr "eraro en kreado de gpgme-datenobjekto: %s" + +-#: ncrypt/crypt_gpgme.c:907 ncrypt/crypt_gpgme.c:934 ncrypt/crypt_gpgme.c:2057 +-#: ncrypt/crypt_gpgme.c:2814 ++#: ncrypt/crypt_gpgme.c:906 ncrypt/crypt_gpgme.c:933 ncrypt/crypt_gpgme.c:2096 ++#: ncrypt/crypt_gpgme.c:2853 + #, c-format + msgid "error allocating data object: %s" + msgstr "eraro en asignado por datenobjekto: %s" + +-#: ncrypt/crypt_gpgme.c:956 ++#: ncrypt/crypt_gpgme.c:955 + #, c-format + msgid "error rewinding data object: %s" + msgstr "eraro en rebobenado de datenobjekto: %s" + +-#: ncrypt/crypt_gpgme.c:972 ++#: ncrypt/crypt_gpgme.c:971 + msgid "[tempfile]" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:978 ncrypt/crypt_gpgme.c:1032 ++#: ncrypt/crypt_gpgme.c:977 ncrypt/crypt_gpgme.c:1031 + #, c-format + msgid "error reading data object: %s" + msgstr "eraro en legado de datenobjekto: %s" + +-#: ncrypt/crypt_gpgme.c:1149 ++#: ncrypt/crypt_gpgme.c:1148 + #, fuzzy, c-format + msgid "error adding recipient '%s': %s" + msgstr "eraro en aldonado de ricevonto '%s': %s" + +-#: ncrypt/crypt_gpgme.c:1202 ++#: ncrypt/crypt_gpgme.c:1186 + #, c-format + msgid "secret key '%s' not found: %s" + msgstr "sekreta ŝlosilo '%s' ne trovita: %s" + +-#: ncrypt/crypt_gpgme.c:1218 ++#: ncrypt/crypt_gpgme.c:1203 + #, fuzzy, c-format + msgid "ambiguous specification of secret key '%s'\n" + msgstr "plursenca specifo de sekreta ŝlosilo '%s'" + +-#: ncrypt/crypt_gpgme.c:1234 ++#: ncrypt/crypt_gpgme.c:1219 + #, c-format + msgid "error setting secret key '%s': %s" + msgstr "eraro en elekto de sekreta ŝlosilo '%s': %s" + +-#: ncrypt/crypt_gpgme.c:1250 ++#: ncrypt/crypt_gpgme.c:1278 + #, c-format + msgid "error setting PKA signature notation: %s" + msgstr "eraro en elektado de PKA-subskribo-notacio: %s" + +-#: ncrypt/crypt_gpgme.c:1324 ++#: ncrypt/crypt_gpgme.c:1353 + #, c-format + msgid "error encrypting data: %s" + msgstr "eraro en ĉifrado de datenoj: %s" + +-#: ncrypt/crypt_gpgme.c:1453 ++#: ncrypt/crypt_gpgme.c:1483 + #, c-format + msgid "error signing data: %s" + msgstr "eraro en subskribado de datenoj: %s" + +-#: ncrypt/crypt_gpgme.c:1463 ++#: ncrypt/crypt_gpgme.c:1493 + msgid "$pgp_sign_as unset and no default key specified in ~/.gnupg/gpg.conf" + msgstr "$pgp_sign_as estas malŝaltita kaj neniu defaŭlta ŝlosilo indikatas en ~/.gnupg/gpg.conf" + +-#: ncrypt/crypt_gpgme.c:1641 ++#: ncrypt/crypt_gpgme.c:1672 + msgid "Warning: One of the keys has been revoked\n" + msgstr "Averto: Unu el la ŝlosiloj estas revokita\n" + +-#: ncrypt/crypt_gpgme.c:1651 ++#: ncrypt/crypt_gpgme.c:1682 + msgid "Warning: The key used to create the signature expired at: " + msgstr "Averto: La ŝlosilo uzita por krei la subskribon eksvalidiĝis je: " + +-#: ncrypt/crypt_gpgme.c:1657 ++#: ncrypt/crypt_gpgme.c:1688 + msgid "Warning: At least one certification key has expired\n" + msgstr "Averto: Almenaŭ unu atestila ŝlosilo eksvalidiĝis\n" + +-#: ncrypt/crypt_gpgme.c:1671 ++#: ncrypt/crypt_gpgme.c:1702 + msgid "Warning: The signature expired at: " + msgstr "Averto: La subskribo eksvalidiĝis je: " + +-#: ncrypt/crypt_gpgme.c:1678 ++#: ncrypt/crypt_gpgme.c:1709 + msgid "Can't verify due to a missing key or certificate\n" + msgstr "Ne eblas kontroli pro mankanta ŝlosilo aŭ atestilo\n" + +-#: ncrypt/crypt_gpgme.c:1683 ++#: ncrypt/crypt_gpgme.c:1714 + msgid "The CRL is not available\n" + msgstr "CRL ne disponeblas\n" + +-#: ncrypt/crypt_gpgme.c:1689 ++#: ncrypt/crypt_gpgme.c:1720 + msgid "Available CRL is too old\n" + msgstr "Disponebla CRL estas tro malnova\n" + +-#: ncrypt/crypt_gpgme.c:1694 ++#: ncrypt/crypt_gpgme.c:1725 + msgid "A policy requirement was not met\n" + msgstr "Politika postulo ne estis plenumita\n" + +-#: ncrypt/crypt_gpgme.c:1703 ++#: ncrypt/crypt_gpgme.c:1734 + msgid "A system error occurred" + msgstr "Sistemeraro okazis" + +-#: ncrypt/crypt_gpgme.c:1734 ++#: ncrypt/crypt_gpgme.c:1765 + msgid "WARNING: PKA entry does not match signer's address: " + msgstr "AVERTO: PKA-registro ne kongruas kun adreso de subskribinto: " + +-#: ncrypt/crypt_gpgme.c:1740 ++#: ncrypt/crypt_gpgme.c:1771 + msgid "PKA verified signer's address is: " + msgstr "PKA-kontrolita adreso de subskribinto estas: " + +-#: ncrypt/crypt_gpgme.c:1822 ++#: ncrypt/crypt_gpgme.c:1853 + msgid "WARNING: We have NO indication whether the key belongs to the person named as shown above\n" + msgstr "AVERTO: Ni havas NENIAN indikon, ĉu la ŝlosilo apartenas al la persono nomita supre\n" + +-#: ncrypt/crypt_gpgme.c:1829 ++#: ncrypt/crypt_gpgme.c:1860 + msgid "WARNING: The key does NOT BELONG to the person named as shown above\n" + msgstr "AVERTO: La ŝlosilo NE APARTENAS al la persono nomita supre\n" + +-#: ncrypt/crypt_gpgme.c:1833 ++#: ncrypt/crypt_gpgme.c:1864 + msgid "WARNING: It is NOT certain that the key belongs to the person named as shown above\n" + msgstr "AVERTO: NE estas certe ke la ŝlosilo apartenas al la persono nomita supre\n" + +-#: ncrypt/crypt_gpgme.c:1886 ++#: ncrypt/crypt_gpgme.c:1917 + msgid "KeyID " + msgstr "Ŝlosil-ID " + + #. L10N: You will see this message in place of "KeyID " + #. if the S/MIME key has no ID. This is quite an error. +-#: ncrypt/crypt_gpgme.c:1893 ++#: ncrypt/crypt_gpgme.c:1924 + msgid "no signature fingerprint available" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1902 ncrypt/crypt_gpgme.c:1907 ++#: ncrypt/crypt_gpgme.c:1933 ncrypt/crypt_gpgme.c:1938 + msgid "created: " + msgstr "kreita: " + +-#: ncrypt/crypt_gpgme.c:1981 ++#: ncrypt/crypt_gpgme.c:2012 + #, c-format + msgid "Error getting key information for KeyID %s: %s\n" + msgstr "Eraro en akirado de ŝlosilinformo por ŝlosil-ID %s: %s\n" + +-#: ncrypt/crypt_gpgme.c:1988 ncrypt/crypt_gpgme.c:2003 ++#: ncrypt/crypt_gpgme.c:2019 ncrypt/crypt_gpgme.c:2034 + msgid "Good signature from:" + msgstr "Bona subskribo de:" + +-#: ncrypt/crypt_gpgme.c:1995 ++#: ncrypt/crypt_gpgme.c:2026 + msgid "*BAD* signature from:" + msgstr "*MALBONA* subskribo de:" + +-#: ncrypt/crypt_gpgme.c:2011 ++#: ncrypt/crypt_gpgme.c:2042 + msgid "Problem signature from:" + msgstr "Problema subskribo de:" + + #. L10N: This is trying to match the width of the + #. "Problem signature from:" translation just above. +-#: ncrypt/crypt_gpgme.c:2017 ++#: ncrypt/crypt_gpgme.c:2048 + msgid " expires: " + msgstr " senvalidiĝas: " + +-#: ncrypt/crypt_gpgme.c:2064 ncrypt/crypt_gpgme.c:2294 +-#: ncrypt/crypt_gpgme.c:3081 ++#: ncrypt/crypt_gpgme.c:2103 ncrypt/crypt_gpgme.c:2333 ++#: ncrypt/crypt_gpgme.c:3124 + msgid "[-- Begin signature information --]\n" + msgstr "[-- Komenco de subskribinformo --]\n" + +-#: ncrypt/crypt_gpgme.c:2075 ++#: ncrypt/crypt_gpgme.c:2114 + #, c-format + msgid "Error: verification failed: %s\n" + msgstr "Eraro: kontrolado fiaskis: %s\n" + +-#: ncrypt/crypt_gpgme.c:2126 ++#: ncrypt/crypt_gpgme.c:2165 + #, c-format + msgid "*** Begin Notation (signature by: %s) ***\n" + msgstr "*** Komenco de notacio (subskribo de: %s) ***\n" + +-#: ncrypt/crypt_gpgme.c:2145 ++#: ncrypt/crypt_gpgme.c:2184 + msgid "*** End Notation ***\n" + msgstr "*** Fino de notacio ***\n" + +-#: ncrypt/crypt_gpgme.c:2153 ncrypt/crypt_gpgme.c:2308 +-#: ncrypt/crypt_gpgme.c:3091 ++#: ncrypt/crypt_gpgme.c:2192 ncrypt/crypt_gpgme.c:2347 ++#: ncrypt/crypt_gpgme.c:3134 + msgid "" + "[-- End signature information --]\n" + "\n" +@@ -4056,38 +4133,43 @@ msgstr "" + "[-- Fino de subskribo-informoj --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:2268 ++#: ncrypt/crypt_gpgme.c:2307 + #, c-format + msgid "" + "[-- Error: decryption failed: %s --]\n" + "\n" + msgstr "[-- Eraro: malĉifrado fiaskis: %s --]\n" + +-#: ncrypt/crypt_gpgme.c:2821 ++#: ncrypt/crypt_gpgme.c:2860 + #, fuzzy, c-format + msgid "Error importing key: %s" + msgstr "Eraro dum eksportado de ŝlosilo: %s" + +-#: ncrypt/crypt_gpgme.c:3059 ++#: ncrypt/crypt_gpgme.c:3098 + #, c-format + msgid "Error: decryption/verification failed: %s\n" + msgstr "Eraro: malĉifrado/kontrolado fiaskis: %s\n" + +-#: ncrypt/crypt_gpgme.c:3103 ++#: ncrypt/crypt_gpgme.c:3105 ncrypt/crypt_gpgme.c:3302 ncrypt/pgp.c:726 ++#: ncrypt/pgp.c:1273 ++msgid "PGP message successfully decrypted" ++msgstr "PGP-mesaĝo estis sukcese malĉifrita" ++ ++#: ncrypt/crypt_gpgme.c:3146 + msgid "Error: copy data failed\n" + msgstr "Eraro: datenkopiado fiaskis\n" + +-#: ncrypt/crypt_gpgme.c:3116 ncrypt/pgp.c:675 ++#: ncrypt/crypt_gpgme.c:3159 ncrypt/pgp.c:674 + msgid "" + "[-- BEGIN PGP MESSAGE --]\n" + "\n" + msgstr "[-- KOMENCO DE PGP-MESAĜO --]\n" + +-#: ncrypt/crypt_gpgme.c:3118 ncrypt/pgp.c:677 ++#: ncrypt/crypt_gpgme.c:3161 ncrypt/pgp.c:676 + msgid "[-- BEGIN PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- KOMENCO DE PUBLIKA PGP-ŜLOSILO --]\n" + +-#: ncrypt/crypt_gpgme.c:3120 ncrypt/pgp.c:679 ++#: ncrypt/crypt_gpgme.c:3163 ncrypt/pgp.c:678 + msgid "" + "[-- BEGIN PGP SIGNED MESSAGE --]\n" + "\n" +@@ -4095,19 +4177,19 @@ msgstr "" + "[-- KOMENCO DE PGP-SUBSKRIBITA MESAĜO --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3145 ncrypt/pgp.c:716 ++#: ncrypt/crypt_gpgme.c:3188 ncrypt/pgp.c:715 + msgid "[-- END PGP MESSAGE --]\n" + msgstr "[-- FINO DE PGP-MESAĜO --]\n" + +-#: ncrypt/crypt_gpgme.c:3147 ncrypt/pgp.c:730 ++#: ncrypt/crypt_gpgme.c:3190 ncrypt/pgp.c:729 + msgid "[-- END PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- FINO DE PUBLIKA PGP-ŜLOSILO --]\n" + +-#: ncrypt/crypt_gpgme.c:3149 ncrypt/pgp.c:732 ++#: ncrypt/crypt_gpgme.c:3192 ncrypt/pgp.c:731 + msgid "[-- END PGP SIGNED MESSAGE --]\n" + msgstr "[-- FINO DE PGP-SUBSKRIBITA MESAĜO --]\n" + +-#: ncrypt/crypt_gpgme.c:3170 ncrypt/pgp.c:765 ++#: ncrypt/crypt_gpgme.c:3213 ncrypt/pgp.c:764 + msgid "" + "[-- Error: could not find beginning of PGP message --]\n" + "\n" +@@ -4115,11 +4197,11 @@ msgstr "" + "[-- Eraro: ne eblas trovi komencon de PGP-mesaĝo --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3198 ncrypt/crypt_gpgme.c:3296 ncrypt/pgp.c:1218 ++#: ncrypt/crypt_gpgme.c:3241 ncrypt/crypt_gpgme.c:3339 ncrypt/pgp.c:1218 + msgid "[-- Error: could not create temporary file --]\n" + msgstr "[-- Eraro: ne eblas krei dumtempan dosieron --]\n" + +-#: ncrypt/crypt_gpgme.c:3212 ++#: ncrypt/crypt_gpgme.c:3255 + msgid "" + "[-- The following data is PGP/MIME signed and encrypted --]\n" + "\n" +@@ -4127,7 +4209,7 @@ msgstr "" + "[-- La sekvaj datenoj estas PGP/MIME-subskribitaj kaj -ĉifritaj --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3214 ncrypt/pgp.c:1231 ++#: ncrypt/crypt_gpgme.c:3257 ncrypt/pgp.c:1232 + msgid "" + "[-- The following data is PGP/MIME encrypted --]\n" + "\n" +@@ -4135,24 +4217,20 @@ msgstr "" + "[-- La sekvaj datenoj estas PGP/MIME-ĉifritaj --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3254 ++#: ncrypt/crypt_gpgme.c:3297 + msgid "[-- End of PGP/MIME signed and encrypted data --]\n" + msgstr "[-- Fino de PGP/MIME-subskribitaj kaj -ĉifritaj datenoj --]\n" + +-#: ncrypt/crypt_gpgme.c:3255 ncrypt/pgp.c:1267 ++#: ncrypt/crypt_gpgme.c:3298 ncrypt/pgp.c:1268 + msgid "[-- End of PGP/MIME encrypted data --]\n" + msgstr "[-- Fino de PGP/MIME-ĉifritaj datenoj --]\n" + +-#: ncrypt/crypt_gpgme.c:3259 ncrypt/pgp.c:727 ncrypt/pgp.c:1272 +-msgid "PGP message successfully decrypted" +-msgstr "PGP-mesaĝo estis sukcese malĉifrita" +- +-#: ncrypt/crypt_gpgme.c:3265 ncrypt/pgp.c:666 ncrypt/pgp.c:718 +-#: ncrypt/pgp.c:1276 ++#: ncrypt/crypt_gpgme.c:3308 ncrypt/pgp.c:665 ncrypt/pgp.c:717 ++#: ncrypt/pgp.c:1277 + msgid "Could not decrypt PGP message" + msgstr "Ne eblis malĉifri PGP-mesaĝon" + +-#: ncrypt/crypt_gpgme.c:3310 ++#: ncrypt/crypt_gpgme.c:3353 + msgid "" + "[-- The following data is S/MIME signed --]\n" + "\n" +@@ -4160,7 +4238,7 @@ msgstr "" + "[-- La sekvaj datenoj estas S/MIME-subskribitaj --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3311 ++#: ncrypt/crypt_gpgme.c:3354 + msgid "" + "[-- The following data is S/MIME encrypted --]\n" + "\n" +@@ -4168,34 +4246,34 @@ msgstr "" + "[-- La sekvaj datenoj estas S/MIME-ĉifritaj --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3358 ++#: ncrypt/crypt_gpgme.c:3401 + msgid "[-- End of S/MIME signed data --]\n" + msgstr "[-- Fino de S/MIME-subskribitaj datenoj --]\n" + +-#: ncrypt/crypt_gpgme.c:3359 ++#: ncrypt/crypt_gpgme.c:3402 + msgid "[-- End of S/MIME encrypted data --]\n" + msgstr "[-- Fino de S/MIME-ĉifritaj datenoj --]\n" + +-#: ncrypt/crypt_gpgme.c:4029 ++#: ncrypt/crypt_gpgme.c:4077 + msgid "[Can't display this user ID (unknown encoding)]" + msgstr "[Ne eblas montri ĉi tiun ID (nekonata kodado)]" + +-#: ncrypt/crypt_gpgme.c:4031 ++#: ncrypt/crypt_gpgme.c:4079 + msgid "[Can't display this user ID (invalid encoding)]" + msgstr "[Ne eblas montri ĉi tiun ID (nevalida kodado)]" + +-#: ncrypt/crypt_gpgme.c:4036 ++#: ncrypt/crypt_gpgme.c:4084 + msgid "[Can't display this user ID (invalid DN)]" + msgstr "[Ne eblas montri ĉi tiun ID (nevalida DN)]" + + #. L10N: comes after the Name or aka if the key is invalid + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4150 ncrypt/crypt_gpgme.c:4291 ++#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4339 + msgid "[Invalid]" + msgstr "[Nevalida]" + + #. L10N: This is printed after "Key Type: " and looks like this: PGP, 2048 bit RSA +-#: ncrypt/crypt_gpgme.c:4190 ncrypt/crypt_gpgme.c:4331 ++#: ncrypt/crypt_gpgme.c:4238 ncrypt/crypt_gpgme.c:4379 + #, fuzzy, c-format + msgid "%s, %lu bit %s\n" + msgid_plural "%s, %lu bit %s\n" +@@ -4203,94 +4281,94 @@ msgstr[0] "Ŝlosilspeco: %s, %lu-bita %s\n" + msgstr[1] "Ŝlosilspeco: %s, %lu-bita %s\n" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4338 ++#: ncrypt/crypt_gpgme.c:4246 ncrypt/crypt_gpgme.c:4386 + msgid "encryption" + msgstr "ĉifrado" + +-#: ncrypt/crypt_gpgme.c:4199 ncrypt/crypt_gpgme.c:4205 +-#: ncrypt/crypt_gpgme.c:4339 ncrypt/crypt_gpgme.c:4344 ++#: ncrypt/crypt_gpgme.c:4247 ncrypt/crypt_gpgme.c:4253 ++#: ncrypt/crypt_gpgme.c:4387 ncrypt/crypt_gpgme.c:4392 + msgid ", " + msgstr ", " + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4204 ncrypt/crypt_gpgme.c:4343 ++#: ncrypt/crypt_gpgme.c:4252 ncrypt/crypt_gpgme.c:4391 + msgid "signing" + msgstr "subskribo" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4210 ncrypt/crypt_gpgme.c:4348 ++#: ncrypt/crypt_gpgme.c:4258 ncrypt/crypt_gpgme.c:4396 + msgid "certification" + msgstr "atestado" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4285 ++#: ncrypt/crypt_gpgme.c:4333 + msgid "[Revoked]" + msgstr "[Revokite]" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4297 ++#: ncrypt/crypt_gpgme.c:4345 + msgid "[Expired]" + msgstr "[Eksvalidiĝinte]" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4303 ++#: ncrypt/crypt_gpgme.c:4351 + msgid "[Disabled]" + msgstr "[Malŝaltita]" + +-#: ncrypt/crypt_gpgme.c:4376 ++#: ncrypt/crypt_gpgme.c:4424 + msgid "Collecting data..." + msgstr "Kolektas datenojn..." + +-#: ncrypt/crypt_gpgme.c:4394 ++#: ncrypt/crypt_gpgme.c:4442 + #, c-format + msgid "Error finding issuer key: %s\n" + msgstr "Eraro dum trovado de eldoninto-ŝlosilo: %s\n" + +-#: ncrypt/crypt_gpgme.c:4403 ++#: ncrypt/crypt_gpgme.c:4451 + msgid "Error: certification chain too long - stopping here\n" + msgstr "Eraro: atestado-ĉeno tro longas -- haltas ĉi tie\n" + +-#: ncrypt/crypt_gpgme.c:4413 ncrypt/pgpkey.c:733 ++#: ncrypt/crypt_gpgme.c:4461 ncrypt/pgpkey.c:766 + #, c-format + msgid "Key ID: 0x%s" + msgstr "Key ID: 0x%s" + +-#: ncrypt/crypt_gpgme.c:4538 ncrypt/crypt_gpgme.c:4589 ++#: ncrypt/crypt_gpgme.c:4586 ncrypt/crypt_gpgme.c:4637 + #, c-format + msgid "gpgme_op_keylist_start failed: %s" + msgstr "gpgme_op_keylist_start() malsukcesis: %s" + +-#: ncrypt/crypt_gpgme.c:4577 ncrypt/crypt_gpgme.c:4619 +-#: ncrypt/crypt_gpgme.c:5355 ++#: ncrypt/crypt_gpgme.c:4625 ncrypt/crypt_gpgme.c:4667 ++#: ncrypt/crypt_gpgme.c:5435 + #, c-format + msgid "gpgme_op_keylist_next failed: %s" + msgstr "gpgme_op_keylist_next() malsukcesis: %s" + +-#: ncrypt/crypt_gpgme.c:4701 ++#: ncrypt/crypt_gpgme.c:4749 + msgid "All matching keys are marked expired/revoked" + msgstr "Ĉiuj kongruaj ŝlosiloj estas eksvalidiĝintaj/revokitaj" + +-#: ncrypt/crypt_gpgme.c:4731 ncrypt/pgpkey.c:666 ncrypt/smime.c:551 ++#: ncrypt/crypt_gpgme.c:4779 ncrypt/pgpkey.c:669 ncrypt/smime.c:553 + msgid "Select " + msgstr "Elekti " + +-#: ncrypt/crypt_gpgme.c:4733 ncrypt/pgpkey.c:668 ++#: ncrypt/crypt_gpgme.c:4781 ncrypt/pgpkey.c:671 + msgid "Check key " + msgstr "Kontroli ŝlosilon " + +-#: ncrypt/crypt_gpgme.c:4749 ++#: ncrypt/crypt_gpgme.c:4827 + msgid "PGP and S/MIME keys matching" + msgstr "PGP- kaj S/MIME-ŝlosiloj kongruaj" + +-#: ncrypt/crypt_gpgme.c:4751 ++#: ncrypt/crypt_gpgme.c:4829 + msgid "PGP keys matching" + msgstr "PGP-ŝlosiloj kongruaj" + +-#: ncrypt/crypt_gpgme.c:4753 ++#: ncrypt/crypt_gpgme.c:4831 + msgid "S/MIME keys matching" + msgstr "S/MIME-ŝlosiloj kongruaj" + +-#: ncrypt/crypt_gpgme.c:4755 ++#: ncrypt/crypt_gpgme.c:4833 + msgid "keys matching" + msgstr "ŝlosiloj kongruaj" + +@@ -4298,59 +4376,59 @@ msgstr "ŝlosiloj kongruaj" + #. %1$s is one of the previous four entries. + #. %2$s is an address. + #. e.g. "S/MIME keys matching " +-#: ncrypt/crypt_gpgme.c:4763 ++#: ncrypt/crypt_gpgme.c:4841 + #, c-format + msgid "%s <%s>" + msgstr "%s <%s>" + + #. L10N: e.g. 'S/MIME keys matching "Michael Elkins".' +-#: ncrypt/crypt_gpgme.c:4768 ++#: ncrypt/crypt_gpgme.c:4846 + #, c-format + msgid "%s \"%s\"" + msgstr "%s \"%s\"" + +-#: ncrypt/crypt_gpgme.c:4796 ncrypt/pgpkey.c:754 ++#: ncrypt/crypt_gpgme.c:4874 ncrypt/pgpkey.c:787 + msgid "This key can't be used: expired/disabled/revoked" + msgstr "Ĉi tiu ŝlosilo ne estas uzebla: eksvalidiĝinta/malŝaltita/revokita" + +-#: ncrypt/crypt_gpgme.c:4810 ncrypt/pgpkey.c:767 ncrypt/smime.c:581 ++#: ncrypt/crypt_gpgme.c:4888 ncrypt/pgpkey.c:800 ncrypt/smime.c:613 + #, fuzzy + msgid "ID is expired/disabled/revoked. Do you really want to use the key?" + msgstr "ID estas eksvalidiĝinta/malŝaltita/revokita. Ĉu vi vere volas uzi la ŝlosilon?" + +-#: ncrypt/crypt_gpgme.c:4820 ncrypt/pgpkey.c:779 ++#: ncrypt/crypt_gpgme.c:4898 ncrypt/pgpkey.c:812 + #, fuzzy + msgid "ID is not valid. Do you really want to use the key?" + msgstr "ID ne estas valida. Ĉu vi vere volas uzi la ŝlosilon?" + +-#: ncrypt/crypt_gpgme.c:4823 ncrypt/pgpkey.c:782 ++#: ncrypt/crypt_gpgme.c:4901 ncrypt/pgpkey.c:815 + #, fuzzy + msgid "ID is only marginally valid. Do you really want to use the key?" + msgstr "ID estas nur iomete valida. Ĉu vi vere volas uzi la ŝlosilon?" + +-#: ncrypt/crypt_gpgme.c:4831 ncrypt/pgpkey.c:775 ncrypt/smime.c:585 ++#: ncrypt/crypt_gpgme.c:4909 ncrypt/pgpkey.c:808 ncrypt/smime.c:617 + #, fuzzy + msgid "ID has undefined validity. Do you really want to use the key?" + msgstr "ID havas nedifinitan validecon. Ĉu vi vere volas uzi la ŝlosilon?" + +-#: ncrypt/crypt_gpgme.c:4911 ncrypt/crypt_gpgme.c:5024 ncrypt/pgpkey.c:1019 +-#: ncrypt/pgpkey.c:1146 ++#: ncrypt/crypt_gpgme.c:4991 ncrypt/crypt_gpgme.c:5104 ncrypt/pgpkey.c:1054 ++#: ncrypt/pgpkey.c:1181 + #, c-format + msgid "Looking for keys matching \"%s\"..." + msgstr "Serĉas ŝlosilojn kiuj kongruas kun \"%s\"..." + +-#: ncrypt/crypt_gpgme.c:5140 ncrypt/pgpkey.c:870 ncrypt/smime.c:924 ++#: ncrypt/crypt_gpgme.c:5220 ncrypt/pgpkey.c:905 ncrypt/smime.c:958 + #, c-format + msgid "No matching keys found for \"%s\"" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5190 ncrypt/pgp.c:1456 ++#: ncrypt/crypt_gpgme.c:5270 ncrypt/pgp.c:1457 + #, c-format + msgid "Use keyID = \"%s\" for %s?" + msgstr "Ĉu uzi keyID = \"%s\" por %s?" + +-#: ncrypt/crypt_gpgme.c:5238 ncrypt/pgp.c:1505 ncrypt/smime.c:944 +-#: ncrypt/smime.c:1049 ++#: ncrypt/crypt_gpgme.c:5318 ncrypt/pgp.c:1506 ncrypt/smime.c:978 ++#: ncrypt/smime.c:1083 + #, c-format + msgid "Enter keyID for %s: " + msgstr "Donu keyID por %s: " +@@ -4359,16 +4437,16 @@ msgstr "Donu keyID por %s: " + #. mutt_gpgme_select_secret_key() tries to list all secret keys to choose + #. from. This error is displayed if no results were found. + #. +-#: ncrypt/crypt_gpgme.c:5364 ++#: ncrypt/crypt_gpgme.c:5444 + #, fuzzy + msgid "No secret keys found" + msgstr "sekreta ŝlosilo '%s' ne trovita: %s" + +-#: ncrypt/crypt_gpgme.c:5398 ncrypt/pgpkey.c:888 ++#: ncrypt/crypt_gpgme.c:5478 ncrypt/pgpkey.c:923 + msgid "Please enter the key ID: " + msgstr "Bonvolu doni la ŝlosilidentigilon: " + +-#: ncrypt/crypt_gpgme.c:5411 ++#: ncrypt/crypt_gpgme.c:5491 + #, c-format + msgid "Error exporting key: %s" + msgstr "Eraro dum eksportado de ŝlosilo: %s" +@@ -4376,95 +4454,95 @@ msgstr "Eraro dum eksportado de ŝlosilo: %s" + #. 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. +-#: ncrypt/crypt_gpgme.c:5429 ++#: ncrypt/crypt_gpgme.c:5509 + #, c-format + msgid "PGP Key 0x%s" + msgstr "PGP-ŝlosilo 0x%s" + +-#: ncrypt/crypt_gpgme.c:5474 ++#: ncrypt/crypt_gpgme.c:5554 + msgid "GPGME: OpenPGP protocol not available" + msgstr "GPGME: OpenPGP-protokolo ne disponeblas" + +-#: ncrypt/crypt_gpgme.c:5485 ++#: ncrypt/crypt_gpgme.c:5565 + msgid "GPGME: CMS protocol not available" + msgstr "GPGME: CMS-protokolo ne disponeblas" + +-#: ncrypt/crypt_gpgme.c:5536 ++#: ncrypt/crypt_gpgme.c:5616 + msgid "S/MIME (s)ign, sign (a)s, (p)gp, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME (s)ubskribi, subskribi (k)iel, (p)gp, (f)orgesi, aŭ ne (o)ppenc-moduso?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5538 ++#: ncrypt/crypt_gpgme.c:5618 + msgid "sapco" + msgstr "skpfo" + +-#: ncrypt/crypt_gpgme.c:5545 ++#: ncrypt/crypt_gpgme.c:5625 + msgid "PGP (s)ign, sign (a)s, s/(m)ime, (c)lear, or (o)ppenc mode off?" + msgstr "PGP (s)ubskribi, subskribi (k)iel, s/(m)ime, (f)orgesi, aŭ ne (o)ppenc-moduso?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5547 ++#: ncrypt/crypt_gpgme.c:5627 + msgid "samco" + msgstr "skmfo" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5557 ++#: ncrypt/crypt_gpgme.c:5637 + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME ĉ(i)fri, (s)ubskribi, (k)iel, (a)mbaŭ, (p)gp, (f)or, aŭ (o)ppenc-moduso?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5560 ++#: ncrypt/crypt_gpgme.c:5640 + msgid "esabpco" + msgstr "iskapfo" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5566 ++#: ncrypt/crypt_gpgme.c:5646 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime, (c)lear, or (o)ppenc mode?" + msgstr "PGP ĉ(i)fri, (s)ubskribi, (k)iel, (a)mbaŭ, s/(m)ime, (f)or, aŭ (o)ppenc-moduso?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5569 ++#: ncrypt/crypt_gpgme.c:5649 + #, fuzzy + msgid "esabmco" + msgstr "iskamfo" + +-#: ncrypt/crypt_gpgme.c:5580 ++#: ncrypt/crypt_gpgme.c:5660 + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp or (c)lear?" + msgstr "S/MIME ĉ(i)fri, (s)ubskribi, subskribi (k)iel, (a)mbaŭ, \"(p)gp\", aŭ (f)orgesi?" + + #. L10N: S/MIME options +-#: ncrypt/crypt_gpgme.c:5582 ++#: ncrypt/crypt_gpgme.c:5662 + #, fuzzy + msgid "esabpc" + msgstr "iskapf" + +-#: ncrypt/crypt_gpgme.c:5589 ++#: ncrypt/crypt_gpgme.c:5669 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime or (c)lear?" + msgstr "PGP ĉ(i)fri, (s)ubskribi, subskribi (k)iel, (a)mbaŭ, \"s/(m)ime\", aŭ (f)orgesi?" + + #. L10N: PGP options +-#: ncrypt/crypt_gpgme.c:5591 ++#: ncrypt/crypt_gpgme.c:5671 + #, fuzzy + msgid "esabmc" + msgstr "iskamf" + +-#: ncrypt/crypt_gpgme.c:5751 ++#: ncrypt/crypt_gpgme.c:5831 + msgid "Failed to verify sender" + msgstr "Malsukcesis kontroli sendinton" + +-#: ncrypt/crypt_gpgme.c:5754 ++#: ncrypt/crypt_gpgme.c:5834 + msgid "Failed to figure out sender" + msgstr "Malsukcesis eltrovi sendinton" + +-#: ncrypt/pgp.c:108 ++#: ncrypt/pgp.c:107 + msgid "Enter PGP passphrase:" + msgstr "Donu PGP-pasfrazon:" + +-#: ncrypt/pgp.c:595 ++#: ncrypt/pgp.c:594 + msgid "[-- Error: unable to create PGP subprocess --]\n" + msgstr "[-- Eraro: ne eblas krei PGP-subprocezon --]\n" + +-#: ncrypt/pgp.c:644 ncrypt/pgp.c:926 ncrypt/pgp.c:1086 ++#: ncrypt/pgp.c:643 ncrypt/pgp.c:925 ncrypt/pgp.c:1085 + msgid "" + "[-- End of PGP output --]\n" + "\n" +@@ -4475,16 +4553,16 @@ msgstr "" + #. L10N: You will see this error message if (1) you are decrypting + #. (not encrypting) something and (2) it is a plaintext. So the + #. message does not mean "You failed to encrypt the message." +-#: ncrypt/pgp.c:724 ++#: ncrypt/pgp.c:723 + #, fuzzy + msgid "PGP message is not encrypted" + msgstr "PGP-mesaĝo estis sukcese malĉifrita" + +-#: ncrypt/pgp.c:978 ++#: ncrypt/pgp.c:977 + msgid "Internal error. Please submit a bug report." + msgstr "*Programeraro*. Bonvolu raporti." + +-#: ncrypt/pgp.c:1043 ++#: ncrypt/pgp.c:1042 + msgid "" + "[-- Error: could not create a PGP subprocess --]\n" + "\n" +@@ -4492,127 +4570,127 @@ msgstr "" + "[-- Eraro: ne eblas krei PGP-subprocezon --]\n" + "\n" + +-#: ncrypt/pgp.c:1073 ncrypt/pgp.c:1098 ncrypt/smime.c:2143 postpone.c:757 +-#: postpone.c:785 ++#: ncrypt/pgp.c:1072 ncrypt/pgp.c:1097 ncrypt/smime.c:2177 postpone.c:803 ++#: postpone.c:831 + msgid "Decryption failed" + msgstr "Malĉifro malsukcesis" + +-#: ncrypt/pgp.c:1333 ++#: ncrypt/pgp.c:1334 + msgid "Can't open PGP subprocess" + msgstr "Ne eblas malfermi PGP-subprocezon" + +-#: ncrypt/pgp.c:1768 ++#: ncrypt/pgp.c:1770 + msgid "Can't invoke PGP" + msgstr "Ne eblas alvoki PGP" + + #. L10N: The next string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1875 ++#: ncrypt/pgp.c:1877 + msgid "PGP/M(i)ME" + msgstr "PGP/MIM(e)" + + #. L10N: The previous string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1881 ++#: ncrypt/pgp.c:1883 + msgid "(i)nline" + msgstr "(e)nteksta" + + #. L10N: PGP options (inline) (opportunistic encryption is on) +-#: ncrypt/pgp.c:1893 ++#: ncrypt/pgp.c:1895 + #, c-format + msgid "PGP (s)ign, sign (a)s, %s format, (c)lear, or (o)ppenc mode off?" + msgstr "PGP (s)ubskribi, subskribi (k)iel, %s, (f)orgesi, aŭ ne (o)ppenc-moduso?" + + #. L10N: PGP options (inline) (opportunistic encryption is on) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1899 ++#: ncrypt/pgp.c:1901 + msgid "saico" + msgstr "skifo" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1905 ++#: ncrypt/pgp.c:1907 + msgid "PGP (s)ign, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "PGP (s)ubskribi, subskribi (k)iel, (f)orgesi, aŭ ne (o)ppenc-moduso?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1907 ++#: ncrypt/pgp.c:1909 + msgid "saco" + msgstr "skfo" + + #. L10N: PGP options (inline) (opportunistic encryption is off) +-#: ncrypt/pgp.c:1921 ++#: ncrypt/pgp.c:1923 + #, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, (c)lear, or (o)ppenc mode?" + msgstr "PGP ĉ(i)fri, (s)ubskribi, (k)iel, (a)mbaŭ, %s, (f)or, aŭ (o)ppenc-moduso?" + + #. L10N: PGP options (inline) (opportunistic encryption is off) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1927 ++#: ncrypt/pgp.c:1929 + #, fuzzy + msgid "esabico" + msgstr "iskaifo" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1933 ++#: ncrypt/pgp.c:1935 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "PGP ĉ(i)fri, (s)ubskribi, subskribi (k)iel, (a)mbaŭ, (f)or, aŭ (o)ppenc-moduso?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1936 ++#: ncrypt/pgp.c:1938 + #, fuzzy + msgid "esabco" + msgstr "iskafo" + + #. L10N: PGP options (inline) +-#: ncrypt/pgp.c:1947 ++#: ncrypt/pgp.c:1949 + #, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, or (c)lear?" + msgstr "PGP ĉ(i)fri, (s)ubskribi, subskribi (k)iel, (a)mbaŭ, %s, aŭ (f)orgesi?" + + #. L10N: PGP options (inline) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1953 ++#: ncrypt/pgp.c:1955 + msgid "esabic" + msgstr "iskaif" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1959 ++#: ncrypt/pgp.c:1961 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (c)lear?" + msgstr "PGP ĉ(i)fri, (s)ubskribi, subskribi (k)iel, (a)mbaŭ, aŭ (f)orgesi?" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1961 ++#: ncrypt/pgp.c:1963 + msgid "esabc" + msgstr "iskaf" + +-#: ncrypt/pgpinvoke.c:458 ++#: ncrypt/pgpinvoke.c:461 + msgid "Fetching PGP key..." + msgstr "Prenas PGP-ŝlosilon..." + +-#: ncrypt/pgpkey.c:640 ++#: ncrypt/pgpkey.c:643 + msgid "All matching keys are expired, revoked, or disabled" + msgstr "Ĉiuj kongruaj ŝlosiloj estas eksvalidiĝintaj, revokitaj, aŭ malŝaltitaj" + +-#: ncrypt/pgpkey.c:681 ++#: ncrypt/pgpkey.c:714 + #, c-format + msgid "PGP keys matching <%s>" + msgstr "PGP-ŝlosiloj kiuj kongruas kun <%s>" + +-#: ncrypt/pgpkey.c:683 ++#: ncrypt/pgpkey.c:716 + #, c-format + msgid "PGP keys matching \"%s\"" + msgstr "PGP-ŝlosiloj kiuj kongruas kun \"%s\"" + +-#: ncrypt/pgpkey.c:700 ncrypt/pgpkey.c:909 ++#: ncrypt/pgpkey.c:733 ncrypt/pgpkey.c:944 + msgid "Can't open /dev/null" + msgstr "Ne eblas malfermi /dev/null" + +-#: ncrypt/pgpkey.c:938 ++#: ncrypt/pgpkey.c:973 + #, c-format + msgid "PGP Key %s" + msgstr "PGP-ŝlosilo %s" + +-#: ncrypt/smime.c:182 ++#: ncrypt/smime.c:180 + msgid "Enter S/MIME passphrase:" + msgstr "Donu S/MIME-pasfrazon:" + +@@ -4621,7 +4699,7 @@ msgstr "Donu S/MIME-pasfrazon:" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:460 ++#: ncrypt/smime.c:462 + msgid "Expired " + msgstr "Eksvalidiĝinte" + +@@ -4630,7 +4708,7 @@ msgstr "Eksvalidiĝinte" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:468 ++#: ncrypt/smime.c:470 + msgid "Invalid " + msgstr "Nevalida " + +@@ -4639,7 +4717,7 @@ msgstr "Nevalida " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:476 ++#: ncrypt/smime.c:478 + msgid "Revoked " + msgstr "Revokite " + +@@ -4648,7 +4726,7 @@ msgstr "Revokite " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:484 ++#: ncrypt/smime.c:486 + msgid "Trusted " + msgstr "Fidate " + +@@ -4657,7 +4735,7 @@ msgstr "Fidate " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:492 ++#: ncrypt/smime.c:494 + msgid "Unverified" + msgstr "Nekontrolite " + +@@ -4666,7 +4744,7 @@ msgstr "Nekontrolite " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:500 ++#: ncrypt/smime.c:502 + msgid "Verified " + msgstr "Kontrolite " + +@@ -4675,59 +4753,59 @@ msgstr "Kontrolite " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:508 ++#: ncrypt/smime.c:510 + msgid "Unknown " + msgstr "Nekonate " + +-#: ncrypt/smime.c:545 ++#: ncrypt/smime.c:547 + #, c-format + msgid "S/MIME certificates matching \"%s\"" + msgstr "S/MIME-atestiloj kiuj kongruas kun \"%s\"" + +-#: ncrypt/smime.c:589 ++#: ncrypt/smime.c:621 + #, fuzzy + msgid "ID is not trusted. Do you really want to use the key?" + msgstr "ID ne fidatas. Ĉu vi vere volas uzi la ŝlosilon?" + +-#: ncrypt/smime.c:910 ++#: ncrypt/smime.c:944 + msgid "Enter keyID: " + msgstr "Donu keyID: " + +-#: ncrypt/smime.c:1055 ++#: ncrypt/smime.c:1089 + #, c-format + msgid "No (valid) certificate found for %s" + msgstr "Nenia (valida) atestilo trovita por %s" + +-#: ncrypt/smime.c:1108 ncrypt/smime.c:1137 ncrypt/smime.c:1209 +-#: ncrypt/smime.c:1243 ncrypt/smime.c:1319 ncrypt/smime.c:1399 ++#: ncrypt/smime.c:1142 ncrypt/smime.c:1171 ncrypt/smime.c:1243 ++#: ncrypt/smime.c:1277 ncrypt/smime.c:1353 ncrypt/smime.c:1433 + msgid "Error: unable to create OpenSSL subprocess" + msgstr "Eraro: ne povis krei OpenSSL-subprocezon" + +-#: ncrypt/smime.c:1379 ++#: ncrypt/smime.c:1413 + msgid "Label for certificate: " + msgstr "Etikedo por atestilo: " + +-#: ncrypt/smime.c:1480 ++#: ncrypt/smime.c:1514 + msgid "no certfile" + msgstr "mankas 'certfile'" + +-#: ncrypt/smime.c:1483 ++#: ncrypt/smime.c:1517 + msgid "no mbox" + msgstr "mankas poŝtfako" + +-#: ncrypt/smime.c:1640 ncrypt/smime.c:1810 ++#: ncrypt/smime.c:1674 ncrypt/smime.c:1844 + msgid "No output from OpenSSL..." + msgstr "Nenia eliro de OpenSSL..." + +-#: ncrypt/smime.c:1727 ++#: ncrypt/smime.c:1761 + msgid "Can't sign: No key specified. Use Sign As." + msgstr "Ne eblas subskribi: neniu ŝlosilo specifita. Uzu \"subskribi kiel\"." + +-#: ncrypt/smime.c:1777 ++#: ncrypt/smime.c:1811 + msgid "Can't open OpenSSL subprocess" + msgstr "Ne eblas malfermi OpenSSL-subprocezon" + +-#: ncrypt/smime.c:2004 ncrypt/smime.c:2123 ++#: ncrypt/smime.c:2038 ncrypt/smime.c:2157 + msgid "" + "[-- End of OpenSSL output --]\n" + "\n" +@@ -4735,19 +4813,19 @@ msgstr "" + "[-- Fino de OpenSSL-eligo --]\n" + "\n" + +-#: ncrypt/smime.c:2080 ncrypt/smime.c:2093 ++#: ncrypt/smime.c:2114 ncrypt/smime.c:2127 + msgid "[-- Error: unable to create OpenSSL subprocess --]\n" + msgstr "[-- Eraro: ne eblas krei OpenSSL-subprocezon --]\n" + +-#: ncrypt/smime.c:2129 ++#: ncrypt/smime.c:2163 + msgid "[-- The following data is S/MIME encrypted --]\n" + msgstr "[-- La sekvaj datenoj estas S/MIME-ĉifritaj --]\n" + +-#: ncrypt/smime.c:2132 ++#: ncrypt/smime.c:2166 + msgid "[-- The following data is S/MIME signed --]\n" + msgstr "[-- La sekvaj datenoj estas S/MIME-subskribitaj --]\n" + +-#: ncrypt/smime.c:2225 ++#: ncrypt/smime.c:2259 + msgid "" + "\n" + "[-- End of S/MIME encrypted data. --]\n" +@@ -4755,7 +4833,7 @@ msgstr "" + "\n" + "[-- Fino de S/MIME-ĉifritaj datenoj. --]\n" + +-#: ncrypt/smime.c:2227 ++#: ncrypt/smime.c:2261 + msgid "" + "\n" + "[-- End of S/MIME signed data. --]\n" +@@ -4765,167 +4843,167 @@ msgstr "" + + # Atentu -- mi ŝanĝis la ordon, sed la literoj devas sekvi la originalan. + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2361 ++#: ncrypt/smime.c:2395 + msgid "S/MIME (s)ign, encrypt (w)ith, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME (s)ubskribi, (k)iel, ĉifri (p)er, (f)orgesi, aŭ ne (o)ppenc-moduso?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2364 ++#: ncrypt/smime.c:2398 + msgid "swaco" + msgstr "skpfo" + + # Atentu -- mi ŝanĝis la ordon, sed la literoj devas sekvi la originalan. + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2372 ++#: ncrypt/smime.c:2406 + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME ĉ(i)fri, (p)er, (s)ubskribi, (k)iel, (a)mbaŭ, (f)or, aŭ (o)ppenc-moduso?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2375 ++#: ncrypt/smime.c:2409 + msgid "eswabco" + msgstr "ipskafo" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2382 ++#: ncrypt/smime.c:2416 + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, or (c)lear?" + msgstr "S/MIME ĉ(i)fri, (s)ubskribi, ĉifri (p)er, subskribi (k)iel, (a)mbaŭ, aŭ (f)orgesi?" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2385 ++#: ncrypt/smime.c:2419 + msgid "eswabc" + msgstr "ispkaf" + +-#: ncrypt/smime.c:2449 ++#: ncrypt/smime.c:2483 + msgid "Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear?" + msgstr "Elekti algoritmofamilion: (1) DES, (2) RC2, (3) AES, aŭ (f)orgesi?" + + #. L10N: Options for: Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear? +-#: ncrypt/smime.c:2452 ++#: ncrypt/smime.c:2486 + msgid "123c" + msgstr "123f" + +-#: ncrypt/smime.c:2455 ++#: ncrypt/smime.c:2489 + msgid "(1) DES, (2) Triple-DES?" + msgstr "(1) DES, (2) Triobla-DES?" + + #. L10N: Options for: (1) DES, (2) Triple-DES +-#: ncrypt/smime.c:2457 ++#: ncrypt/smime.c:2491 + msgid "12" + msgstr "12" + +-#: ncrypt/smime.c:2470 ++#: ncrypt/smime.c:2504 + msgid "(1) RC2-40, (2) RC2-64, (3) RC2-128?" + msgstr "(1) RC2-40, (2) RC2-64, (3) RC2-128?" + + #. L10N: Options for: (1) RC2-40, (2) RC2-64, (3) RC2-128 + #. L10N: Options for: (1) AES128, (2) AES192, (3) AES256 +-#: ncrypt/smime.c:2472 ncrypt/smime.c:2490 ++#: ncrypt/smime.c:2506 ncrypt/smime.c:2524 + msgid "123" + msgstr "123" + +-#: ncrypt/smime.c:2488 ++#: ncrypt/smime.c:2522 + msgid "(1) AES128, (2) AES192, (3) AES256?" + msgstr "(1) AES128, (2) AES192, (3) AES256?" + +-#: nntp/newsrc.c:632 ++#: nntp/newsrc.c:639 + msgid "Loading list of groups from cache..." + msgstr "" + +-#: nntp/newsrc.c:997 ++#: nntp/newsrc.c:1023 + msgid "No news server defined" + msgstr "" + +-#: nntp/newsrc.c:1012 ++#: nntp/newsrc.c:1041 + #, fuzzy, c-format + msgid "%s is an invalid news server specification" + msgstr "%s ne estas valida POP-vojo" + +-#: nntp/nntp.c:236 nntp/nntp.c:777 pop/pop.c:742 pop/pop_lib.c:398 ++#: nntp/nntp.c:238 nntp/nntp.c:779 pop/pop.c:742 pop/pop_lib.c:424 + msgid "Server closed connection" + msgstr "Servilo fermis la konekton" + +-#: nntp/nntp.c:340 ++#: nntp/nntp.c:342 + #, fuzzy + msgid "Server doesn't support reader mode" + msgstr "SMTP-servilo ne akceptas rajtiĝon" + +-#: nntp/nntp.c:576 pop/pop_auth.c:504 smtp.c:650 ++#: nntp/nntp.c:578 pop/pop_auth.c:505 smtp.c:675 + msgid "No authenticators available" + msgstr "Nenia rajtiĝilo disponeblas" + +-#: nntp/nntp.c:766 ++#: nntp/nntp.c:768 + #, fuzzy, c-format + msgid "%s authentication failed" + msgstr "SASL-rajtiĝo malsukcesis" + +-#: nntp/nntp.c:826 ++#: nntp/nntp.c:828 + #, fuzzy, c-format + msgid "Connection to %s lost. Reconnect?" + msgstr "Konekto al %s fermita" + +-#: nntp/nntp.c:1285 ++#: nntp/nntp.c:1287 + #, fuzzy + msgid "Fetching list of articles..." + msgstr "Prenas liston de mesaĝoj..." + +-#: nntp/nntp.c:1549 nntp/nntp.c:2138 pop/pop.c:614 pop/pop.c:910 ++#: nntp/nntp.c:1551 nntp/nntp.c:2140 pop/pop.c:614 pop/pop.c:905 + msgid "Checking for new messages..." + msgstr "Kontrolas pri novaj mesaĝoj..." + +-#: nntp/nntp.c:1864 nntp/nntp.c:1954 ++#: nntp/nntp.c:1866 nntp/nntp.c:1956 + #, fuzzy + msgid "Could not switch to reader mode" + msgstr "Ne eblis skribi al dumtempa poŝtfako: %s" + +-#: nntp/nntp.c:1877 ++#: nntp/nntp.c:1879 + #, fuzzy, c-format + msgid "Connected to %s. %s" + msgstr "Konektiĝas al %s..." + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + #, fuzzy + msgid "Posting is ok" + msgstr "Nenio farenda" + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + msgid "Posting is NOT ok" + msgstr "" + +-#: nntp/nntp.c:2008 nntp/nntp.c:2043 ++#: nntp/nntp.c:2010 nntp/nntp.c:2045 + #, fuzzy, c-format + msgid "Can't post article: %s" + msgstr "Ne eblas ekzameni la dosieron %s: %s" + +-#: nntp/nntp.c:2064 ++#: nntp/nntp.c:2066 + #, fuzzy, c-format + msgid "Loading list of groups from server %s..." + msgstr "Forviŝas mesaĝojn de la servilo..." + +-#: nntp/nntp.c:2106 nntp/nntp.c:2198 ++#: nntp/nntp.c:2108 nntp/nntp.c:2200 + #, fuzzy + msgid "Loading descriptions..." + msgstr "Salutas..." + +-#: nntp/nntp.c:2128 ++#: nntp/nntp.c:2130 + #, fuzzy + msgid "Checking for new newsgroups..." + msgstr "Kontrolas pri novaj mesaĝoj..." + +-#: nntp/nntp.c:2332 ++#: nntp/nntp.c:2334 + msgid "Unable to find child articles because server does not support XPAT command" + msgstr "" + +-#: nntp/nntp.c:2437 ++#: nntp/nntp.c:2439 + #, fuzzy, c-format + msgid "%s is an invalid newsgroup specification" + msgstr "%s ne estas valida POP-vojo" + +-#: nntp/nntp.c:2476 ++#: nntp/nntp.c:2478 + #, c-format + msgid "Newsgroup %s not found on the server" + msgstr "" + +-#: nntp/nntp.c:2498 ++#: nntp/nntp.c:2500 + #, c-format + msgid "Newsgroup %s has been removed from the server" + msgstr "" +@@ -4937,7 +5015,7 @@ msgstr "" + + #: notmuch/mutt_notmuch.c:219 notmuch/mutt_notmuch.c:1939 + #, fuzzy, c-format +-msgid "failed to parse notmuch uri: %s" ++msgid "failed to parse notmuch url: %s" + msgstr "Malsukcesis analizi 'mailto:'-ligon\n" + + #: notmuch/mutt_notmuch.c:449 +@@ -6070,187 +6148,187 @@ msgstr "kaŝi/malkaŝi la flankan strion" + msgid "show S/MIME options" + msgstr "montri S/MIME-funkciojn" + +-#: pager.c:222 ++#: pager.c:214 + msgid "Not available in this menu" + msgstr "Ne disponeblas en ĉi tiu menuo" + +-#: pager.c:229 ++#: pager.c:221 + msgid "PrevPg" + msgstr "AntPĝ" + +-#: pager.c:230 ++#: pager.c:222 + msgid "NextPg" + msgstr "SekvPĝ" + +-#: pager.c:235 ++#: pager.c:227 + msgid "View Attachm." + msgstr "Vidi Partojn" + +-#: pager.c:238 pager.c:247 ++#: pager.c:230 pager.c:239 + msgid "Next" + msgstr "Sekva" + + #. L10N: Status bar message: the entire email is visible in the pager + #. L10N: Status bar message: all the emails are visible in the index +-#: pager.c:2180 status.c:278 ++#: pager.c:2136 status.c:278 + msgid "all" + msgstr "" + + #. L10N: Status bar message: the end of the email is visible in the pager + #. L10N: Status bar message: the end of the list emails is visible in the index +-#: pager.c:2182 status.c:276 ++#: pager.c:2138 status.c:276 + msgid "end" + msgstr "" + +-#: pager.c:2530 pager.c:2566 pager.c:2602 pager.c:2937 ++#: pager.c:2503 pager.c:2539 pager.c:2576 pager.c:2911 + msgid "Bottom of message is shown" + msgstr "Fino de mesaĝo estas montrita" + +-#: pager.c:2543 pager.c:2573 pager.c:2580 pager.c:2590 ++#: pager.c:2516 pager.c:2546 pager.c:2553 pager.c:2564 + msgid "Top of message is shown" + msgstr "Vi estas ĉe la komenco de la mesaĝo" + +-#: pager.c:2840 ++#: pager.c:2814 + msgid "Help is currently being shown" + msgstr "Helpo estas nun montrata" + +-#: pager.c:2897 ++#: pager.c:2871 + msgid "No more quoted text" + msgstr "Ne plu da citita teksto" + +-#: pager.c:2914 ++#: pager.c:2888 + msgid "No more unquoted text after quoted text" + msgstr "Ne plu da necitita teksto post citita teksto" + +-#: pattern.c:220 pattern.c:297 pattern.c:1046 ++#: pattern.c:221 pattern.c:298 pattern.c:1085 + #, c-format + msgid "Error in expression: %s" + msgstr "Eraro en esprimo: %s" + +-#: pattern.c:226 pattern.c:302 pattern.c:1052 ++#: pattern.c:227 pattern.c:303 pattern.c:1091 + msgid "Empty expression" + msgstr "Malplena esprimo" + +-#: pattern.c:288 ++#: pattern.c:289 + #, fuzzy + msgid "No search command defined" + msgstr "Demandokomando ne difinita" + +-#: pattern.c:326 ++#: pattern.c:327 + #, fuzzy, c-format + msgid "Running search command: %s ..." + msgstr "Alvokas aŭtomatan vidigon per: %s" + +-#: pattern.c:417 ++#: pattern.c:441 pattern.c:456 + #, c-format + msgid "Invalid day of month: %s" + msgstr "Nevalida tago de monato: %s" + +-#: pattern.c:431 ++#: pattern.c:446 pattern.c:470 + #, c-format + msgid "Invalid month: %s" + msgstr "Nevalida monato: %s" + +-#: pattern.c:534 ++#: pattern.c:573 + #, c-format + msgid "Invalid relative date: %s" + msgstr "Nevalida relativa dato: %s" + +-#: pattern.c:842 pattern.c:975 ++#: pattern.c:881 pattern.c:1014 + #, fuzzy + msgid "No current message" + msgstr "Malestas nelegitaj mesaĝoj." + +-#: pattern.c:1002 ++#: pattern.c:1041 + msgid "No Context" + msgstr "" + +-#: pattern.c:1125 ++#: pattern.c:1164 + #, fuzzy + msgid "Error opening 'memory stream'" + msgstr "Eraro dum malfermado de poŝtfako" + +-#: pattern.c:1171 ++#: pattern.c:1210 + #, fuzzy + msgid "Error re-opening 'memory stream'" + msgstr "Eraro dum malfermado de poŝtfako" + +-#: pattern.c:1180 ++#: pattern.c:1219 + #, fuzzy + msgid "Error opening /dev/null" + msgstr "Ne eblas malfermi /dev/null" + +-#: pattern.c:1443 pattern.c:1620 ++#: pattern.c:1482 pattern.c:1662 + #, c-format + msgid "error in pattern at: %s" + msgstr "eraro en ŝablono ĉe: %s" + +-#: pattern.c:1476 ++#: pattern.c:1515 + #, c-format + msgid "missing pattern: %s" + msgstr "mankas ŝablono: %s" + +-#: pattern.c:1494 pattern.c:1593 ++#: pattern.c:1533 pattern.c:1635 + #, c-format + msgid "mismatched parentheses: %s" + msgstr "krampoj ne kongruas: %s" + +-#: pattern.c:1559 ++#: pattern.c:1598 + #, c-format + msgid "%c: invalid pattern modifier" + msgstr "%c: nevalida ŝablona modifilo" + +-#: pattern.c:1564 ++#: pattern.c:1603 + #, c-format + msgid "%c: not supported in this mode" + msgstr "%c: ne funkcias en ĉi tiu reĝimo" + +-#: pattern.c:1576 ++#: pattern.c:1618 + msgid "missing parameter" + msgstr "parametro mankas" + +-#: pattern.c:1626 ++#: pattern.c:1668 + msgid "empty pattern" + msgstr "malplena ŝablono" + +-#: pattern.c:2080 pattern.c:2083 ++#: pattern.c:2202 pattern.c:2205 + msgid "error: server custom search only supported with IMAP" + msgstr "" + +-#: pattern.c:2274 ++#: pattern.c:2398 + #, c-format + msgid "error: unknown op %d (report this error)" + msgstr "eraro: nekonata funkcio %d (raportu ĉi tiun cimon)" + +-#: pattern.c:2448 pattern.c:2604 ++#: pattern.c:2572 pattern.c:2728 + msgid "Compiling search pattern..." + msgstr "Tradukiĝas serĉŝablono..." + +-#: pattern.c:2468 ++#: pattern.c:2592 + msgid "Executing command on matching messages..." + msgstr "Ruliĝas komando je trafataj mesaĝoj..." + +-#: pattern.c:2537 ++#: pattern.c:2661 + msgid "No messages matched criteria" + msgstr "Mankas mesaĝoj kiuj plenumas la kondiĉojn" + +-#: pattern.c:2641 ++#: pattern.c:2765 + msgid "Searching..." + msgstr "Serĉas..." + +-#: pattern.c:2655 ++#: pattern.c:2779 + msgid "Search hit bottom without finding match" + msgstr "Serĉo atingis la finon sen trovi trafon" + +-#: pattern.c:2666 ++#: pattern.c:2790 + msgid "Search hit top without finding match" + msgstr "Serĉo atingis la komencon sen trovi trafon" + +-#: pattern.c:2700 ++#: pattern.c:2824 + msgid "Search interrupted" + msgstr "Serĉo interrompita" + +-#: pop/pop.c:216 pop/pop_lib.c:234 ++#: pop/pop.c:216 pop/pop_lib.c:259 + msgid "Command TOP is not supported by server" + msgstr "Servilo ne havas la komandon TOP" + +@@ -6258,7 +6336,7 @@ msgstr "Servilo ne havas la komandon TOP" + msgid "Can't write header to temporary file" + msgstr "Ne eblas skribi la ĉapaĵon al dumtempa dosiero" + +-#: pop/pop.c:420 pop/pop_lib.c:236 ++#: pop/pop.c:420 pop/pop_lib.c:261 + msgid "Command UIDL is not supported by server" + msgstr "Servilo ne havas la komandon UIDL" + +@@ -6273,7 +6351,7 @@ msgstr[1] "%d mesaĝoj perdiĝis. Provu remalfermi la poŝtfakon." + msgid "POP host is not defined" + msgstr "POP-servilo ne estas difinita" + +-#: pop/pop.c:596 pop/pop.c:825 ++#: pop/pop.c:596 pop/pop.c:790 pop/pop.c:820 + #, c-format + msgid "%s is an invalid POP path" + msgstr "%s ne estas valida POP-vojo" +@@ -6306,153 +6384,153 @@ msgid_plural "%s [%d of %d messages read]" + msgstr[0] "%s [%d el %d mesaĝoj legitaj]" + msgstr[1] "%s [%d el %d mesaĝoj legitaj]" + +-#: pop/pop.c:876 ++#: pop/pop.c:871 + msgid "Fetching list of messages..." + msgstr "Prenas liston de mesaĝoj..." + +-#: pop/pop.c:959 ++#: pop/pop.c:954 + msgid "Marking messages deleted..." + msgstr "Markas mesaĝojn kiel forviŝitajn..." + +-#: pop/pop.c:1150 ++#: pop/pop.c:1145 + msgid "Can't write message to temporary file" + msgstr "Ne eblas skribi mesaĝon al dumtempa dosiero" + +-#: pop/pop_auth.c:103 ++#: pop/pop_auth.c:104 + msgid "Authenticating (SASL)..." + msgstr "Rajtiĝas (SASL)..." + +-#: pop/pop_auth.c:245 ++#: pop/pop_auth.c:246 + msgid "POP timestamp is invalid" + msgstr "POP-horstampo malvalidas" + +-#: pop/pop_auth.c:249 ++#: pop/pop_auth.c:250 + msgid "Authenticating (APOP)..." + msgstr "Rajtiĝas (APOP)..." + +-#: pop/pop_auth.c:269 ++#: pop/pop_auth.c:270 + msgid "APOP authentication failed" + msgstr "APOP-rajtiĝo malsukcesis" + +-#: pop/pop_auth.c:309 ++#: pop/pop_auth.c:310 + msgid "Command USER is not supported by server" + msgstr "Servilo ne havas la komandon USER" + +-#: pop/pop_auth.c:386 ++#: pop/pop_auth.c:387 + #, fuzzy + msgid "Authentication failed" + msgstr "SASL-rajtiĝo malsukcesis" + +-#: pop/pop_lib.c:78 ++#: pop/pop_lib.c:103 + #, c-format + msgid "Invalid POP URL: %s" + msgstr "Nevalida POP-adreso: %s" + +-#: pop/pop_lib.c:232 ++#: pop/pop_lib.c:257 + msgid "Unable to leave messages on server" + msgstr "Ne eblas lasi mesaĝojn ĉe la servilo" + +-#: pop/pop_lib.c:274 ++#: pop/pop_lib.c:300 + #, c-format + msgid "Error connecting to server: %s" + msgstr "Eraro dum konektiĝo al servilo: %s" + +-#: pop/pop_lib.c:414 ++#: pop/pop_lib.c:440 + msgid "Closing connection to POP server..." + msgstr "Fermas la konekton al POP-servilo..." + +-#: pop/pop_lib.c:605 ++#: pop/pop_lib.c:631 + msgid "Verifying message indexes..." + msgstr "Kontrolas mesaĝindeksojn..." + +-#: pop/pop_lib.c:628 ++#: pop/pop_lib.c:654 + msgid "Connection lost. Reconnect to POP server?" + msgstr "Konekto perdita. Ĉu rekonekti al POP-servilo?" + +-#: postpone.c:229 ++#: postpone.c:260 + msgid "Postponed Messages" + msgstr "Prokrastitaj Mesaĝoj" + +-#: postpone.c:314 postpone.c:326 ++#: postpone.c:348 postpone.c:372 + msgid "No postponed messages" + msgstr "Malestas prokrastitaj mesaĝoj" + +-#: postpone.c:480 ++#: postpone.c:526 + msgid "Illegal S/MIME header" + msgstr "Nevalida S/MIME-ĉapo" + +-#: postpone.c:510 postpone.c:551 postpone.c:560 ++#: postpone.c:556 postpone.c:597 postpone.c:606 + msgid "Illegal crypto header" + msgstr "Nevalida kripto-ĉapo" + +-#: postpone.c:644 postpone.c:752 postpone.c:780 ++#: postpone.c:690 postpone.c:798 postpone.c:826 + msgid "Decrypting message..." + msgstr "Malĉifras mesaĝon..." + +-#: query.c:82 ++#: query.c:80 + msgid "New Query" + msgstr "Nova Demando" + +-#: query.c:83 ++#: query.c:81 + msgid "Make Alias" + msgstr "Aldoni Nomon" + +-#: query.c:180 ++#: query.c:178 + msgid "Waiting for response..." + msgstr "Atendas respondon..." + +-#: query.c:362 query.c:400 ++#: query.c:365 query.c:434 + msgid "Query: " + msgstr "Demando: " + +-#: query.c:370 query.c:407 ++#: query.c:374 query.c:442 + #, c-format + msgid "Query '%s'" + msgstr "Demando '%s'" + +-#: query.c:620 query.c:657 ++#: query.c:661 query.c:698 + msgid "Query command not defined" + msgstr "Demandokomando ne difinita" + +-#: recvattach.c:93 ++#: recvattach.c:91 + msgid "Pipe" + msgstr "Tubo" + +-#: recvattach.c:94 ++#: recvattach.c:92 + msgid "Print" + msgstr "Presi" + +-#: recvattach.c:569 ++#: recvattach.c:571 + msgid "Saving..." + msgstr "Skribas..." + +-#: recvattach.c:573 recvattach.c:744 recvattach.c:748 ++#: recvattach.c:575 recvattach.c:746 recvattach.c:750 + #, fuzzy, c-format + msgid "Attachment saved" + msgid_plural "%d attachments saved" + msgstr[0] "Parto skribita" + msgstr[1] "Parto skribita" + +-#: recvattach.c:772 ++#: recvattach.c:774 + #, c-format + msgid "WARNING! You are about to overwrite %s, continue?" + msgstr "AVERTO! Vi estas surskribonta %s; ĉu daŭrigi?" + +-#: recvattach.c:790 ++#: recvattach.c:792 + msgid "Attachment filtered" + msgstr "Parto filtrita" + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Filter through: " + msgstr "Filtri tra: " + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Pipe to: " + msgstr "Trakti per: " + + #. L10N: s gets replaced by a MIME type, e.g. "text/plain" or + #. application/octet-stream. +-#: recvattach.c:935 ++#: recvattach.c:937 + #, c-format + msgid "I don't know how to print %s attachments" + msgstr "Mi ne scias kiel presi %s-partojn" +@@ -6460,56 +6538,56 @@ msgstr "Mi ne scias kiel presi %s-partojn" + #. L10N: Although we now the precise number of tagged messages, we + #. do not show it to the user. So feel free to use a "generic + #. plural" as plural translation if your language has one. +-#: recvattach.c:1038 ++#: recvattach.c:1040 + #, fuzzy, c-format + msgid "Print tagged attachment?" + msgid_plural "Print %d tagged attachments?" + msgstr[0] "Ĉu presi markitajn partojn?" + msgstr[1] "Ĉu presi markitajn partojn?" + +-#: recvattach.c:1039 ++#: recvattach.c:1041 + #, c-format + msgid "Print attachment?" + msgstr "Ĉu presi parton?" + +-#: recvattach.c:1123 ++#: recvattach.c:1125 + msgid "Structural changes to decrypted attachments are not supported" + msgstr "" + +-#: recvattach.c:1291 ++#: recvattach.c:1293 + msgid "Can't decrypt encrypted message" + msgstr "Ne eblas malĉifri ĉifritan mesaĝon" + +-#: recvattach.c:1425 ++#: recvattach.c:1457 + msgid "Attachments" + msgstr "Partoj" + +-#: recvattach.c:1465 ++#: recvattach.c:1497 + msgid "There are no subparts to show" + msgstr "Mankas subpartoj por montri" + +-#: recvattach.c:1520 ++#: recvattach.c:1552 + msgid "Can't delete attachment from POP server" + msgstr "Ne eblas forviŝi parton de POP-servilo" + +-#: recvattach.c:1529 ++#: recvattach.c:1561 + #, fuzzy + msgid "Can't delete attachment from news server" + msgstr "Ne eblas forviŝi parton de POP-servilo" + +-#: recvattach.c:1536 ++#: recvattach.c:1568 + msgid "Deletion of attachments from encrypted messages is unsupported" + msgstr "NeoMutt ne kapablas forviŝi partojn el ĉifrita mesaĝo" + +-#: recvattach.c:1542 ++#: recvattach.c:1574 + msgid "Deletion of attachments from signed messages may invalidate the signature" + msgstr "Forviŝi partojn el ĉifrita mesaĝo eble malvalidigas la subskribon" + +-#: recvattach.c:1561 recvattach.c:1578 ++#: recvattach.c:1593 recvattach.c:1610 + msgid "Only deletion of multipart attachments is supported" + msgstr "NeoMutt kapablas forviŝi nur multipart-partojn" + +-#: recvcmd.c:79 ++#: recvcmd.c:78 + msgid "You may only bounce message/rfc822 parts" + msgstr "Vi povas redirekti nur message/rfc822-partojn" + +@@ -6546,7 +6624,7 @@ msgstr "Ne eblas krei %s" + msgid "Can't find any tagged messages" + msgstr "Ne eblas trovi markitajn mesaĝojn" + +-#: recvcmd.c:848 send.c:1073 ++#: recvcmd.c:848 send.c:1072 + msgid "No mailing lists found" + msgstr "Neniu dissendolisto trovita" + +@@ -6561,67 +6639,67 @@ msgstr "Ne eblas malkodi ĉiujn markitajn partojn. Ĉu MIME-paki la aliajn?" + msgid "You may only compose to sender with message/rfc822 parts" + msgstr "Vi povas redirekti nur message/rfc822-partojn" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Append" + msgstr "Aldoni" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Insert" + msgstr "Enŝovi" + +-#: remailer.c:78 ++#: remailer.c:76 + msgid "OK" + msgstr "Bone" + +-#: remailer.c:210 ++#: remailer.c:207 + msgid "" + msgstr "" + +-#: remailer.c:586 ++#: remailer.c:617 + msgid "Can't get mixmaster's type2.list" + msgstr "Ne eblas preni type2.list de mixmaster" + +-#: remailer.c:612 ++#: remailer.c:673 + msgid "Select a remailer chain" + msgstr "Elekti plusendiloĉenon" + +-#: remailer.c:674 ++#: remailer.c:735 + #, c-format + msgid "Error: %s can't be used as the final remailer of a chain" + msgstr "Eraro: %s ne estas uzebla kiel la fina plusendilo de ĉeno" + + #. L10N The '%d' here hard-coded to 19 +-#: remailer.c:706 ++#: remailer.c:767 + #, c-format + msgid "Mixmaster chains are limited to %d elements" + msgstr "Mixmaster-ĉenoj estas limigitaj al %d elementoj" + +-#: remailer.c:729 ++#: remailer.c:790 + msgid "The remailer chain is already empty" + msgstr "La plusendiloĉeno estas jam malplena" + +-#: remailer.c:739 ++#: remailer.c:800 + msgid "You already have the first chain element selected" + msgstr "Vi jam elektis la unuan elementon de la ĉeno" + +-#: remailer.c:749 ++#: remailer.c:810 + msgid "You already have the last chain element selected" + msgstr "Vi jam elektis la lastan elementon de la ĉeno" + +-#: remailer.c:792 ++#: remailer.c:856 + msgid "Mixmaster doesn't accept Cc or Bcc headers" + msgstr "Mixmaster ne akceptas la kampon Cc aŭ Bcc en la ĉapo" + +-#: remailer.c:817 ++#: remailer.c:881 + msgid "Please set the hostname variable to a proper value when using mixmaster" + msgstr "Bonvolu doni ĝustan valoron al \"hostname\" kiam vi uzas mixmaster" + +-#: remailer.c:860 ++#: remailer.c:924 + #, c-format + msgid "Error sending message, child exited %d.\n" + msgstr "Eraro dum sendado de mesaĝo; ido finis per %d.\n" + +-#: remailer.c:864 ++#: remailer.c:928 + msgid "Error sending message" + msgstr "Eraro dum sendado de mesaĝo" + +@@ -6652,42 +6730,42 @@ msgstr "Ĉu plusendi kiel kunsendaĵojn?" + + #. L10N: Asks whether the user respects the reply-to header. + #. If she says no, neomutt will reply to the from header's address instead. +-#: send.c:793 ++#: send.c:792 + #, c-format + msgid "Reply to %s%s?" + msgstr "Ĉu respondi al %s%s?" + +-#: send.c:838 ++#: send.c:837 + #, c-format + msgid "Follow-up to %s%s?" + msgstr "Ĉu respondi grupe al %s%s?" + +-#: send.c:1122 ++#: send.c:1121 + msgid "Include message in reply?" + msgstr "Ĉu inkluzivi mesaĝon en respondo?" + +-#: send.c:1128 ++#: send.c:1127 + msgid "Including quoted message..." + msgstr "Inkluzivas cititan mesaĝon..." + +-#: send.c:1137 ++#: send.c:1136 + msgid "Could not include all requested messages" + msgstr "Ne eblis inkluzivi ĉiujn petitajn mesaĝojn" + +-#: send.c:1148 ++#: send.c:1147 + msgid "Forward as attachment?" + msgstr "Ĉu plusendi kiel kunsendaĵon?" + +-#: send.c:1153 ++#: send.c:1152 + msgid "Preparing forwarded message..." + msgstr "Pretigas plusenditan mesaĝon..." + +-#: send.c:1632 ++#: send.c:1631 + #, fuzzy + msgid "Fcc to an IMAP mailbox is not supported in batch mode" + msgstr "%c: ne funkcias en ĉi tiu reĝimo" + +-#: send.c:1664 send.c:1690 ++#: send.c:1665 send.c:1675 send.c:1701 + msgid "Save attachments in Fcc?" + msgstr "Ĉu konservi parton en Fcc?" + +@@ -6695,196 +6773,196 @@ msgstr "Ĉu konservi parton en Fcc?" + #. (r)etry tries the same mailbox again. + #. alternate (m)ailbox prompts for a different mailbox to try. + #. (s)kip aborts saving. +-#: send.c:1712 ++#: send.c:1723 + msgid "Fcc failed. (r)etry, alternate (m)ailbox, or (s)kip?" + msgstr "" + + #. L10N: These correspond to the "Fcc failed" multi-choice prompt + #. (r)etry, alternate (m)ailbox, or (s)kip. + #. Any similarity to famous leaders of the FSF is coincidental. +-#: send.c:1716 ++#: send.c:1727 + msgid "rms" + msgstr "" + + #. L10N: This is the prompt to enter an "alternate (m)ailbox" when the + #. initial Fcc fails. +-#: send.c:1722 ++#: send.c:1733 + #, fuzzy + msgid "Fcc mailbox" + msgstr "Mankas poŝtfako.\n" + +-#: send.c:1788 ++#: send.c:1799 + msgid "Can't postpone. $postponed is unset" + msgstr "" + +-#: send.c:1923 ++#: send.c:1934 + msgid "Recall postponed message?" + msgstr "Ĉu revoki prokrastitan mesaĝon?" + +-#: send.c:2228 ++#: send.c:2239 + msgid "Edit forwarded message?" + msgstr "Ĉu redakti plusendatan mesaĝon?" + +-#: send.c:2266 ++#: send.c:2277 + msgid "Abort unmodified message?" + msgstr "Ĉu nuligi nemodifitan mesaĝon?" + +-#: send.c:2268 ++#: send.c:2279 + msgid "Aborted unmodified message" + msgstr "Nemodifita mesaĝon nuligita" + +-#: send.c:2388 ++#: send.c:2399 + msgid "No crypto backend configured. Disabling message security setting." + msgstr "" + +-#: send.c:2427 ++#: send.c:2438 + #, fuzzy + msgid "Article not posted" + msgstr "Mesaĝo ne sendita" + +-#: send.c:2437 ++#: send.c:2448 + msgid "Message postponed" + msgstr "Mesaĝo prokrastita" + +-#: send.c:2470 ++#: send.c:2481 + msgid "No subject, abort sending?" + msgstr "Mankas temlinio; ĉu haltigi sendon?" + +-#: send.c:2474 send.c:2480 ++#: send.c:2485 send.c:2491 + msgid "No subject specified" + msgstr "Temlinio ne specifita" + +-#: send.c:2486 ++#: send.c:2497 + #, fuzzy + msgid "No newsgroup specified" + msgstr "Temlinio ne specifita" + +-#: send.c:2496 ++#: send.c:2507 + #, fuzzy + msgid "No attachments, cancel sending?" + msgstr "redakti kodadon de parto" + +-#: send.c:2501 ++#: send.c:2512 + msgid "Message contains text matching \"$abort_noattach_regex\". Not sending." + msgstr "" + +-#: send.c:2559 smtp.c:227 ++#: send.c:2570 smtp.c:230 + msgid "Sending message..." + msgstr "Sendas mesaĝon..." + +-#: send.c:2598 ++#: send.c:2609 + msgid "Could not send the message" + msgstr "Ne eblis sendi la mesaĝon" + +-#: send.c:2608 ++#: send.c:2619 + msgid "Sending in background" + msgstr "Sendas en fono" + +-#: send.c:2609 ++#: send.c:2620 + msgid "Article posted" + msgstr "" + +-#: send.c:2610 ++#: send.c:2621 + msgid "Mail sent" + msgstr "Mesaĝo sendita" + +-#: sendlib.c:567 ++#: sendlib.c:566 + msgid "No boundary parameter found [report this error]" + msgstr "Nenia limparametro trovita (Raportu ĉi tiun cimon.)" + +-#: sendlib.c:598 ++#: sendlib.c:597 + #, c-format + msgid "%s no longer exists" + msgstr "%s ne plu ekzistas" + +-#: sendlib.c:1056 ++#: sendlib.c:1055 + #, c-format + msgid "%s isn't a regular file" + msgstr "%s ne estas normala dosiero" + +-#: sendlib.c:1223 ++#: sendlib.c:1222 + #, fuzzy + msgid "Could not find any mime.types file." + msgstr "Ne eblis sendi la mesaĝon." + +-#: sendlib.c:1314 ++#: sendlib.c:1313 + #, c-format + msgid "Could not open %s" + msgstr "Ne eblas malfermi %s" + +-#: sendlib.c:2864 ++#: sendlib.c:2855 + msgid "$sendmail must be set in order to send mail" + msgstr "Necesas difini $sendmail por povi sendi retpoŝton" + +-#: sendlib.c:2971 ++#: sendlib.c:2962 + #, c-format + msgid "Error sending message, child exited %d (%s)" + msgstr "Eraro dum sendado de mesaĝo; ido finis per %d (%s)" + +-#: sendlib.c:2977 ++#: sendlib.c:2969 + msgid "Output of the delivery process" + msgstr "Eligo de la liverprocezo" + +-#: sendlib.c:3157 ++#: sendlib.c:3154 + #, c-format + msgid "Bad IDN %s while preparing resent-from" + msgstr "Malbona IDN %s dum kreado de resent-from" + +-#: smtp.c:165 ++#: smtp.c:168 + #, c-format + msgid "SMTP session failed: %s" + msgstr "SMTP-konekto malsukcesis: %s" + +-#: smtp.c:222 ++#: smtp.c:225 + #, c-format + msgid "SMTP session failed: unable to open %s" + msgstr "SMTP-konekto malsukcesis: ne povis malfermi %s" + +-#: smtp.c:339 ++#: smtp.c:364 + #, c-format + msgid "Invalid SMTP URL: %s" + msgstr "Nevalida SMTP-adreso: %s" + +-#: smtp.c:618 ++#: smtp.c:643 + #, c-format + msgid "SMTP authentication method %s requires SASL" + msgstr "" + +-#: smtp.c:625 ++#: smtp.c:650 + #, c-format + msgid "%s authentication failed, trying next method" + msgstr "%s-rajtiĝo malsukcesis; provante sekvan metodon" + +-#: smtp.c:636 ++#: smtp.c:661 + #, fuzzy + msgid "SMTP authentication requires SASL" + msgstr "GSSAPI-rajtiĝo malsukcesis" + +-#: smtp.c:717 ++#: smtp.c:742 + msgid "SMTP server does not support authentication" + msgstr "SMTP-servilo ne akceptas rajtiĝon" + +-#: smtp.c:756 ++#: smtp.c:781 + msgid "No from address given" + msgstr "Neniu 'de'-adreso indikatas" + +-#: smtp.c:821 ++#: smtp.c:846 + msgid "SMTP session failed: read error" + msgstr "SMTP-konekto malsukcesis: legeraro" + +-#: smtp.c:823 ++#: smtp.c:848 + msgid "SMTP session failed: write error" + msgstr "SMTP-konekto malsukcesis: skriberaro" + +-#: smtp.c:825 ++#: smtp.c:850 + msgid "Invalid server response" + msgstr "Nevalida respondo de servilo" + +-#: sort.c:385 ++#: sort.c:387 + msgid "Sorting mailbox..." + msgstr "Ordigas poŝtfakon..." + +-#: sort.c:427 ++#: sort.c:429 + msgid "Could not find sorting function [report this bug]" + msgstr "Ne eblis trovi ordigfunkcion (Raportu ĉi tiun cimon.)" + +@@ -6952,11 +7030,11 @@ msgstr "" + "NeoMutt estas libera programo, kaj vi rajtas pludoni kopiojn\n" + "sub difinitaj kondiĉoj; tajpu 'neomutt -vv' por detaloj.\n" + +-#: version.c:446 ++#: version.c:451 + #, fuzzy + msgid "Default options:" + msgstr "Parametroj de la tradukaĵo:" + +-#: version.c:449 ++#: version.c:454 + msgid "Compile options:" + msgstr "Parametroj de la tradukaĵo:" +diff --git a/po/es.po b/po/es.po +index d99a5c2eb..fc8161185 100644 +--- a/po/es.po ++++ b/po/es.po +@@ -10,7 +10,7 @@ msgid "" + msgstr "" + "Project-Id-Version: neomutt-2019-12-07\n" + "Report-Msgid-Bugs-To: neomutt-devel@neomutt.org\n" +-"POT-Creation-Date: 2019-12-06 23:10+0000\n" ++"POT-Creation-Date: 2020-03-09 12:15+0000\n" + "PO-Revision-Date: \n" + "Last-Translator: \n" + "Language-Team: \n" +@@ -21,16 +21,40 @@ msgstr "" + "Plural-Forms: nplurals=2; plural=(n != 1);\n" + "X-Generator: Poedit 2.2.1\n" + +-#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:59 browser.c:80 browser.c:90 +-#: mutt_history.c:45 pager.c:228 postpone.c:68 query.c:80 recvattach.c:93 ++msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" ++msgstr "(r)echazar, aceptar (u)na vez, (a)ceptar siempre, (i)gnorar" ++ ++msgid "roas" ++msgstr "ruai" ++ ++msgid "(r)eject, accept (o)nce, (a)ccept always" ++msgstr "(r)echazar, aceptar (u)na vez, (a)ceptar siempre" ++ ++msgid "roa" ++msgstr "rua" ++ ++msgid "(r)eject, accept (o)nce, (s)kip" ++msgstr "(r)echazar, aceptar (u)na vez, (i)gnorar" ++ ++msgid "ros" ++msgstr "rui" ++ ++msgid "(r)eject, accept (o)nce" ++msgstr "(r)echazar, aceptar (u)na vez" ++ ++msgid "ro" ++msgstr "ru" ++ ++#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:58 browser.c:79 browser.c:89 ++#: mutt_history.c:45 pager.c:220 postpone.c:68 query.c:78 recvattach.c:91 + msgid "Exit" + msgstr "Salir" + +-#: addrbook.c:56 index.c:116 index.c:129 pager.c:236 pager.c:246 postpone.c:69 ++#: addrbook.c:56 index.c:112 index.c:125 pager.c:228 pager.c:238 postpone.c:69 + msgid "Del" + msgstr "Bor" + +-#: addrbook.c:57 index.c:117 index.c:130 postpone.c:70 ++#: addrbook.c:57 index.c:113 index.c:126 postpone.c:70 + msgid "Undel" + msgstr "Recuperar" + +@@ -38,18 +62,18 @@ msgstr "Recuperar" + msgid "Select" + msgstr "Seleccionar" + +-#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:82 browser.c:84 browser.c:96 +-#: compose.c:218 compose.c:230 conn/ssl.c:983 conn/ssl_gnutls.c:691 index.c:122 +-#: index.c:135 mutt_history.c:48 ncrypt/crypt_gpgme.c:4735 ncrypt/pgpkey.c:670 +-#: ncrypt/smime.c:553 pager.c:2326 postpone.c:71 query.c:85 recvattach.c:94 ++#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:81 browser.c:83 browser.c:95 ++#: compose.c:216 compose.c:228 conn/ssl.c:996 conn/ssl_gnutls.c:722 index.c:118 ++#: index.c:131 mutt_history.c:48 ncrypt/crypt_gpgme.c:4783 ncrypt/pgpkey.c:673 ++#: ncrypt/smime.c:555 pager.c:2297 postpone.c:71 query.c:83 recvattach.c:92 + msgid "Help" + msgstr "Ayuda" + +-#: addrbook.c:208 ++#: addrbook.c:238 + msgid "You have no aliases" + msgstr "No hay alias en la libreta" + +-#: addrbook.c:215 ++#: addrbook.c:276 + msgid "Aliases" + msgstr "Libreta" + +@@ -58,51 +82,51 @@ msgstr "Libreta" + msgid "Alias as: " + msgstr "Nombre corto: " + +-#: alias.c:411 ++#: alias.c:414 + msgid "You already have an alias defined with that name" + msgstr "Ya hay un alias definido con ese nombre en la libreta" + +-#: alias.c:417 ++#: alias.c:420 + msgid "Warning: This alias name may not work. Fix it?" + msgstr "Aviso: Este alias podría no funcionar adecuadamente. ¿Desea arreglarlo?" + +-#: alias.c:442 ++#: alias.c:445 + msgid "Address: " + msgstr "Dirección: " + +-#: alias.c:453 commands.c:444 compose.c:744 conn/conn_raw.c:152 +-#: conn/conn_raw.c:210 recvcmd.c:232 send.c:228 ++#: alias.c:457 commands.c:450 compose.c:743 conn/conn_raw.c:152 ++#: conn/conn_raw.c:210 recvcmd.c:231 send.c:227 + #, c-format + msgid "Bad IDN: '%s'" + msgstr "IDN incorrecto: '%s'" + +-#: alias.c:464 ++#: alias.c:468 + msgid "Personal name: " + msgstr "Nombre: " + +-#: alias.c:473 ++#: alias.c:477 + #, c-format + msgid "[%s = %s] Accept?" + msgstr "[%s = %s] ¿Aceptar?" + +-#: alias.c:484 recvattach.c:528 recvattach.c:550 recvattach.c:564 +-#: recvattach.c:579 recvattach.c:678 ++#: alias.c:488 recvattach.c:530 recvattach.c:552 recvattach.c:566 ++#: recvattach.c:581 recvattach.c:680 + msgid "Save to file: " + msgstr "Guardar en archivo: " + +-#: alias.c:503 ++#: alias.c:507 + msgid "Error reading alias file" + msgstr "Error al leer el archivo de aliases" + +-#: alias.c:525 ++#: alias.c:529 + msgid "Trouble adding alias" + msgstr "Ocurrió un error al intentar añadir el alias" + +-#: alias.c:527 ++#: alias.c:531 + msgid "Alias added" + msgstr "Se agregó el alias" + +-#: alias.c:532 ++#: alias.c:536 + msgid "Error seeking in alias file" + msgstr "Error al buscar en la libreta de alias" + +@@ -111,7 +135,7 @@ msgstr "Error al buscar en la libreta de alias" + #. for some reason (e.g. autocrypt, header cache, bcache), but it + #. doesn't exist. The prompt is asking whether to create the directory + #. +-#: autocrypt/autocrypt.c:70 main.c:826 ++#: autocrypt/autocrypt.c:70 main.c:757 + #, c-format + msgid "%s does not exist. Create it?" + msgstr "%s no existe. ¿Crearlo?" +@@ -120,8 +144,8 @@ msgstr "%s no existe. ¿Crearlo?" + #. mkdir() on the directory %s failed. The second %s is the + #. error message returned by libc + #. +-#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:830 +-#: nntp/newsrc.c:1069 ++#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:761 ++#: nntp/newsrc.c:1098 + #, c-format + msgid "Can't create %s: %s" + msgstr "No se pudo crear %s: %s" +@@ -131,7 +155,7 @@ msgstr "No se pudo crear %s: %s" + #. create $autocrypt_dir and then prompt to create an autocrypt + #. account with this message. + #. +-#: autocrypt/autocrypt.c:156 ++#: autocrypt/autocrypt.c:163 + msgid "Create an initial autocrypt account?" + msgstr "" + +@@ -140,7 +164,7 @@ msgstr "" + #. autocrypt account. This will generate a key and add a record + #. to the database for use in autocrypt operations. + #. +-#: autocrypt/autocrypt.c:180 ++#: autocrypt/autocrypt.c:187 + msgid "Autocrypt account address: " + msgstr "" + +@@ -149,7 +173,7 @@ msgstr "" + #. a single address. This is shown if they entered something invalid, + #. nothing, or more than one address for some reason. + #. +-#: autocrypt/autocrypt.c:191 ++#: autocrypt/autocrypt.c:198 + msgid "Please enter a single email address" + msgstr "" + +@@ -158,7 +182,7 @@ msgstr "" + #. if there is already an account in the database with the email address + #. they just entered. + #. +-#: autocrypt/autocrypt.c:208 ++#: autocrypt/autocrypt.c:215 + msgid "That email address already has an autocrypt account" + msgstr "" + +@@ -170,7 +194,7 @@ msgstr "" + #. Otherwise the UI will show encryption is "available" but the user + #. will be required to enable encryption manually. + #. +-#: autocrypt/autocrypt.c:223 ++#: autocrypt/autocrypt.c:230 + #, fuzzy + msgid "Prefer encryption?" + msgstr "Cifrar" +@@ -178,7 +202,7 @@ msgstr "Cifrar" + #. L10N: + #. Message displayed after an autocrypt account is successfully created. + #. +-#: autocrypt/autocrypt.c:236 ++#: autocrypt/autocrypt.c:243 + msgid "Autocrypt account creation succeeded" + msgstr "" + +@@ -186,7 +210,7 @@ msgstr "" + #. Error message displayed if creating an autocrypt account failed + #. or was aborted by the user. + #. +-#: autocrypt/autocrypt.c:242 ++#: autocrypt/autocrypt.c:249 + msgid "Autocrypt account creation aborted" + msgstr "" + +@@ -195,7 +219,7 @@ msgstr "" + #. to use to encrypt, but it can't find a valid keyid for this address. + #. The message is printed and they are returned to the compose menu. + #. +-#: autocrypt/autocrypt.c:610 autocrypt/autocrypt.c:639 ++#: autocrypt/autocrypt.c:617 autocrypt/autocrypt.c:646 + #, fuzzy, c-format + msgid "No (valid) autocrypt key found for %s" + msgstr "No se ha encontrado ningún certificado (válido) para %s" +@@ -207,12 +231,12 @@ msgstr "No se ha encontrado ningún certificado (válido) para %s" + #. and used for encryption. + #. If this is answered yes, they will be prompted for a mailbox. + #. +-#: autocrypt/autocrypt.c:903 ++#: autocrypt/autocrypt.c:910 + msgid "Scan a mailbox for autocrypt headers?" + msgstr "" + + #. L10N: The prompt for a mailbox to scan for Autocrypt: headers +-#: autocrypt/autocrypt.c:907 ++#: autocrypt/autocrypt.c:914 + #, fuzzy + msgid "Scan mailbox" + msgstr "No hay buzón.\n" +@@ -224,14 +248,14 @@ msgstr "No hay buzón.\n" + #. for a mailbox. This is because this is a one-time operation + #. and I don't want them to accidentally ctrl-g and abort it. + #. +-#: autocrypt/autocrypt.c:927 ++#: autocrypt/autocrypt.c:934 + msgid "Scan another mailbox for autocrypt headers?" + msgstr "" + + #. L10N: Autocrypt Account Menu Help line: + #. create new account + #. +-#: autocrypt/autocrypt_acct_menu.c:63 ++#: autocrypt/autocrypt_acct_menu.c:62 + #, fuzzy + msgid "Create" + msgstr "¿Crear %s?" +@@ -239,7 +263,7 @@ msgstr "¿Crear %s?" + #. L10N: Autocrypt Account Menu Help line: + #. delete account + #. +-#: autocrypt/autocrypt_acct_menu.c:67 remailer.c:77 ++#: autocrypt/autocrypt_acct_menu.c:66 remailer.c:75 + msgid "Delete" + msgstr "Suprimir" + +@@ -247,9 +271,9 @@ msgstr "Suprimir" + #. toggle an account active/inactive + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:74 ++#: autocrypt/autocrypt_acct_menu.c:73 + msgid "Tgl Active" + msgstr "" + +@@ -257,17 +281,17 @@ msgstr "" + #. toggle "prefer-encrypt" on an account + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:81 +-msgid "Prf Enc" ++#: autocrypt/autocrypt_acct_menu.c:80 ++msgid "Prf Encr" + msgstr "" + + #. L10N: + #. Autocrypt Account menu. + #. flag that an account has prefer-encrypt set + #. +-#: autocrypt/autocrypt_acct_menu.c:123 ++#: autocrypt/autocrypt_acct_menu.c:122 + msgid "prefer encrypt" + msgstr "" + +@@ -276,7 +300,7 @@ msgstr "" + #. flag that an account has prefer-encrypt unset; + #. thus encryption will need to be manually enabled. + #. +-#: autocrypt/autocrypt_acct_menu.c:130 ++#: autocrypt/autocrypt_acct_menu.c:129 + msgid "manual encrypt" + msgstr "" + +@@ -284,7 +308,7 @@ msgstr "" + #. Autocrypt Account menu. + #. flag that an account is enabled/active + #. +-#: autocrypt/autocrypt_acct_menu.c:138 ++#: autocrypt/autocrypt_acct_menu.c:137 + msgid "active" + msgstr "" + +@@ -292,12 +316,12 @@ msgstr "" + #. Autocrypt Account menu. + #. flag that an account is disabled/inactive + #. +-#: autocrypt/autocrypt_acct_menu.c:144 ++#: autocrypt/autocrypt_acct_menu.c:143 + msgid "inactive" + msgstr "" + + #. L10N: Autocrypt Account Management Menu title +-#: autocrypt/autocrypt_acct_menu.c:183 ++#: autocrypt/autocrypt_acct_menu.c:182 + msgid "Autocrypt Accounts" + msgstr "" + +@@ -305,13 +329,13 @@ msgstr "" + #. This error message is displayed if a database update of an + #. account record fails for some odd reason. + #. +-#: autocrypt/autocrypt_acct_menu.c:245 autocrypt/autocrypt_acct_menu.c:259 ++#: autocrypt/autocrypt_acct_menu.c:244 autocrypt/autocrypt_acct_menu.c:258 + #, fuzzy + msgid "Error updating account record" + msgstr "Error al escanear el directorio" + + #. L10N: Confirmation message when deleting an autocrypt account +-#: autocrypt/autocrypt_acct_menu.c:302 ++#: autocrypt/autocrypt_acct_menu.c:333 + #, fuzzy, c-format + msgid "Really delete account \"%s\"?" + msgstr "¿Estás sequro que quieres borrar el buzón \"%s\"?" +@@ -329,7 +353,7 @@ msgstr "¿Estás sequro que quieres borrar el buzón \"%s\"?" + msgid "Unable to open autocrypt database %s" + msgstr "Incapaz de abrir el buzón %s" + +-#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:774 ++#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:773 + #, c-format + msgid "error creating gpgme context: %s" + msgstr "error al crear el contexto gpgme: %s" +@@ -402,478 +426,595 @@ msgstr "" + msgid "Message cache isn't a directory: %s" + msgstr "El caché de mensajes %s no es un directorio" + +-#: browser.c:81 ++#: browser.c:80 + msgid "Chdir" + msgstr "Cambiar directorio" + +-#: browser.c:82 ++#: browser.c:81 + msgid "Goto" + msgstr "Ir a" + +-#: browser.c:83 browser.c:95 ++#: browser.c:82 browser.c:94 + msgid "Mask" + msgstr "Patrón" + +-#: browser.c:91 ++#: browser.c:90 + msgid "List" + msgstr "Lista" + +-#: browser.c:92 ++#: browser.c:91 + msgid "Subscribe" + msgstr "Inscribirse a" + +-#: browser.c:93 ++#: browser.c:92 + msgid "Unsubscribe" + msgstr "Anular inscripción a" + +-#: browser.c:94 index.c:134 ++#: browser.c:93 index.c:130 + msgid "Catchup" + msgstr "Actualizar" + +-#: browser.c:760 browser.c:1519 browser.c:1758 ++#: browser.c:763 browser.c:1584 browser.c:1825 + #, c-format + msgid "%s is not a directory" + msgstr "%s no es un directorio" + +-#: browser.c:1025 ++#: browser.c:1028 + #, c-format + msgid "Subscribed newsgroups" + msgstr "Inscripciones a grupos de noticias" + +-#: browser.c:1028 ++#: browser.c:1031 + #, c-format + msgid "Newsgroups on server [%s]" + msgstr "Grupos de noticias en el servidor [%s]" + +-#: browser.c:1038 ++#: browser.c:1041 + #, c-format + msgid "Mailboxes [%d]" + msgstr "Buzones [%d]" + +-#: browser.c:1050 ++#: browser.c:1053 + #, c-format + msgid "Subscribed [%s], File mask: %s" + msgstr "Suscrito [%s], patrón de archivos: %s" + +-#: browser.c:1056 ++#: browser.c:1059 + #, c-format + msgid "Directory [%s], File mask: %s" + msgstr "Directorio [%s], patrón de archivos: %s" + +-#: browser.c:1113 ++#: browser.c:1116 + msgid "Can't attach a directory" + msgstr "No se puede adjuntar un directorio" + +-#: browser.c:1380 browser.c:1814 browser.c:1959 ++#: browser.c:1445 browser.c:1881 browser.c:2026 + msgid "No files match the file mask" + msgstr "Ningún archivo coincide con el patrón" + +-#: browser.c:1587 ++#: browser.c:1654 + msgid "Create is only supported for IMAP mailboxes" + msgstr "Sólo se pueden crear buzones de IMAP" + +-#: browser.c:1609 ++#: browser.c:1676 + msgid "Rename is only supported for IMAP mailboxes" + msgstr "Sólo se pueden renombrar buzones de IMAP" + +-#: browser.c:1630 ++#: browser.c:1697 + msgid "Delete is only supported for IMAP mailboxes" + msgstr "Sólo se pueden borrar buzones de IMAP" + +-#: browser.c:1642 ++#: browser.c:1709 + msgid "Can't delete currently selected mailbox" + msgstr "No es posible borrar el buzón seleccionado" + +-#: browser.c:1646 ++#: browser.c:1713 + #, c-format + msgid "Really delete mailbox \"%s\"?" + msgstr "¿Estás sequro que quieres borrar el buzón \"%s\"?" + +-#: browser.c:1663 ++#: browser.c:1730 + msgid "Mailbox deleted" + msgstr "El buzón se borró" + +-#: browser.c:1667 ++#: browser.c:1734 + msgid "Mailbox deletion failed" + msgstr "Falló el intento de borrar el buzón" + +-#: browser.c:1670 ++#: browser.c:1737 + msgid "Mailbox not deleted" + msgstr "El buzón no se borró" + +-#: browser.c:1697 ++#: browser.c:1764 + msgid "Chdir to: " + msgstr "Cambiar directorio a: " + +-#: browser.c:1747 browser.c:1808 ++#: browser.c:1814 browser.c:1875 + msgid "Error scanning directory" + msgstr "Error al escanear el directorio" + +-#: browser.c:1769 ++#: browser.c:1836 + msgid "File Mask: " + msgstr "Patrón de archivos: " + + #. L10N: The highlighted letters must match the "Sort" options +-#: browser.c:1831 ++#: browser.c:1898 + msgid "Reverse sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "¿Ordenar al reverso por (f)echa, (t)amaño, d(e)scripción, (a)lfabéticamente o (s)in órden?" + + #. L10N: The highlighted letters must match the "Reverse Sort" options +-#: browser.c:1834 ++#: browser.c:1901 + msgid "Sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "¿Ordenar por (f)echa, (t)amaño, (d)escripción, (n)úmero, n(o)vedad, (a)lfabéticamente o (s)in órden?" + + #. L10N: These must match the highlighted letters from "Sort" and "Reverse Sort" +-#: browser.c:1837 ++#: browser.c:1904 + msgid "dazecwn" + msgstr "fatdnos" + +-#: browser.c:1948 ++#: browser.c:2015 + msgid "New file name: " + msgstr "Nombre del nuevo archivo: " + +-#: browser.c:1976 ++#: browser.c:2043 + msgid "Can't view a directory" + msgstr "No se puede mostrar el directorio" + +-#: browser.c:1993 ++#: browser.c:2060 + msgid "Error trying to view file" + msgstr "Error al tratar de ver el archivo" + +-#: browser.c:2079 ++#: browser.c:2146 + #, c-format + msgid "Subscribe pattern: " + msgstr "Patrón de inscripción: " + +-#: browser.c:2081 ++#: browser.c:2148 + #, c-format + msgid "Unsubscribe pattern: " + msgstr "Patrón de anular inscripción: " + +-#: browser.c:2101 ++#: browser.c:2169 + msgid "No newsgroups match the mask" + msgstr "Ningún grupo de noticias coinciden con el patrón" + +-#: color.c:633 color.c:644 +-#, c-format +-msgid "%s: color not supported by term" +-msgstr "%s: tu terminal no puede mostrar este color" +- +-#: color.c:652 +-#, c-format +-msgid "%s: no such color" +-msgstr "%s: color desconocido" +- +-#: color.c:717 color.c:740 color.c:751 color.c:842 +-#, c-format +-msgid "%s: no such object" +-msgstr "%s: objeto desconocido" +- +-#: color.c:731 color.c:868 color.c:1069 color.c:1098 color.c:1122 color.c:1191 +-#: color.c:1214 hook.c:110 hook.c:124 hook.c:367 hook.c:383 init.c:612 +-#: init.c:620 init.c:709 init.c:1099 init.c:1267 init.c:1871 init.c:1929 +-#: keymap.c:1184 score.c:110 +-#, c-format +-msgid "%s: too few arguments" +-msgstr "%s: parámetros insuficientes" +- +-#: color.c:1142 +-#, c-format +-msgid "%s: no such attribute" +-msgstr "%s: atributo desconocido" +- +-#: color.c:1223 color.c:1329 hook.c:131 hook.c:390 init.c:1123 init.c:2133 +-#: init.c:2611 keymap.c:1116 keymap.c:1289 keymap.c:1442 keymap.c:1506 +-#: mutt_lua.c:483 score.c:119 +-#, c-format +-msgid "%s: too many arguments" +-msgstr "%s: Demasiados parámetros" +- +-#: color.c:1244 +-msgid "default colors not supported" +-msgstr "No hay soporte para colores estándar" +- +-#: color.c:1282 +-#, c-format +-msgid "Maximum quoting level is %d" +-msgstr "" +- +-#: color.c:1319 +-#, fuzzy, c-format +-msgid "%s: invalid number: %s" +-msgstr "%d: número de mensaje erróneo.\n" +- + #. L10N: Used for the $crypt_verify_sig prompt +-#: commands.c:230 ++#: commands.c:232 + msgid "Verify signature?" + msgstr "¿Comprobar la firma?" + +-#: commands.c:257 mbox/mbox.c:1236 ++#: commands.c:259 mbox/mbox.c:1236 + msgid "Could not create temporary file" + msgstr "No se pudo crear el archivo temporáneo" + +-#: commands.c:269 ++#: commands.c:271 + msgid "Can't create display filter" + msgstr "No se pudo crear el filtro de muestra" + +-#: commands.c:302 ++#: commands.c:304 + msgid "Could not copy message" + msgstr "No se pudo copiar el mensaje" + +-#: commands.c:338 ++#: commands.c:340 + msgid "S/MIME signature successfully verified" + msgstr "La firma S/MIME se comprobó exitosamente" + +-#: commands.c:340 ++#: commands.c:342 + msgid "S/MIME certificate owner does not match sender" + msgstr "El propietario del certificado S/MIME no coincide con el remitente" + +-#: commands.c:343 commands.c:353 ++#: commands.c:345 commands.c:355 + msgid "Warning: Part of this message has not been signed" + msgstr "Aviso: Partes de este mensaje no tienen firma digital" + +-#: commands.c:345 ++#: commands.c:347 + msgid "S/MIME signature could NOT be verified" + msgstr "Firma S/MIME NO se pudo comprobar" + +-#: commands.c:351 ++#: commands.c:353 + msgid "PGP signature successfully verified" + msgstr "La firma PGP se verificó exitosamente" + +-#: commands.c:355 ++#: commands.c:357 + msgid "PGP signature could NOT be verified" + msgstr "Firma PGP NO pudo ser verificada" + +-#: commands.c:372 compose.c:2116 compress.c:321 curs_lib.c:359 curs_lib.c:646 +-#: index.c:1235 index.c:1285 mutt_attach.c:159 mutt_attach.c:292 pager.c:2460 +-#: sendlib.c:1625 ++#: commands.c:378 compose.c:2187 compress/compress.c:320 gui/curs_lib.c:360 ++#: gui/curs_lib.c:714 index.c:1240 index.c:1290 mutt_attach.c:161 ++#: mutt_attach.c:294 pager.c:2433 sendlib.c:1624 + #, c-format + msgid "Error running \"%s\"" + msgstr "¡Error al ejecutar \"%s\"" + +-#: commands.c:382 ++#: commands.c:388 + msgid "Command: " + msgstr "Comando: " + +-#: commands.c:419 recvcmd.c:191 recvcmd.c:203 ++#: commands.c:425 recvcmd.c:190 recvcmd.c:202 + msgid "Warning: message contains no From: header" + msgstr "Aviso: El mensaje no contiene ninguna cabecera From:" + +-#: commands.c:425 recvcmd.c:212 ++#: commands.c:431 recvcmd.c:211 + #, fuzzy + msgid "Bounce message to: " + msgstr "Rebotar mensaje a: " + +-#: commands.c:427 recvcmd.c:214 ++#: commands.c:433 recvcmd.c:213 + msgid "Bounce tagged messages to: " + msgstr "Rebotar mensajes seleccionados a: " + +-#: commands.c:436 recvcmd.c:224 ++#: commands.c:442 recvcmd.c:223 + msgid "Error parsing address" + msgstr "¡Dirección errónea!" + +-#: commands.c:455 recvcmd.c:243 ++#: commands.c:461 recvcmd.c:242 + #, fuzzy, c-format + msgid "Bounce message to %s?" + msgid_plural "Bounce messages to %s?" + msgstr[0] "Rebotar mensaje a %s?" + msgstr[1] "Rebotar mensajes a %s?" + +-#: commands.c:470 recvcmd.c:257 ++#: commands.c:476 recvcmd.c:257 + msgid "Message not bounced" + msgid_plural "Messages not bounced" + msgstr[0] "El mensaje no se rebotó" + msgstr[1] "Los mensajes no se rebotaron" + +-#: commands.c:496 recvcmd.c:276 ++#: commands.c:502 recvcmd.c:276 + #, fuzzy + msgid "Message bounced" + msgid_plural "Messages bounced" + msgstr[0] "Mensaje rebotado" + msgstr[1] "Mensajes rebotados" + +-#: commands.c:606 commands.c:642 commands.c:662 ++#: commands.c:612 commands.c:648 commands.c:668 + msgid "Can't create filter process" + msgstr "No se pudo crear el proceso del filtro" + +-#: commands.c:698 ++#: commands.c:704 + msgid "Pipe to command: " + msgstr "Redirigir el mensaje al comando:" + +-#: commands.c:720 ++#: commands.c:726 + msgid "No printing command has been defined" + msgstr "No ha sido definida la órden de impresión" + +-#: commands.c:732 ++#: commands.c:738 + msgid "Print message?" + msgstr "¿Imprimir el mensaje?" + +-#: commands.c:733 ++#: commands.c:739 + #, fuzzy + msgid "Print tagged messages?" + msgstr "¿Imprimir mensajes marcados?" + +-#: commands.c:739 ++#: commands.c:745 + #, fuzzy + msgid "Message printed" + msgid_plural "Messages printed" + msgstr[0] "Mensaje impreso" + msgstr[1] "Mensajes impresos" + +-#: commands.c:742 ++#: commands.c:748 + msgid "Message could not be printed" + msgid_plural "Messages could not be printed" + msgstr[0] "El mensaje no se pudo imprimir" + msgstr[1] "Los mensajes no pudieron ser imprimidos" + + #. L10N: The highlighted letters must match the "Sort" options +-#: commands.c:759 ++#: commands.c:765 + msgid "Rev-Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "Ordenar al revés por fech(a)/d(e)/(r)ece/a(s)nto/(p)ara/(h)ilo/(n)ada/ta(m)añ/punta(j)?" + + #. L10N: The highlighted letters must match the "Rev-Sort" options +-#: commands.c:763 ++#: commands.c:769 + msgid "Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "Ordenar por fech(a)/d(e)/(r)ecep/a(s)unto/(p)ara/(h)ilo/(n)ada/ta(m)año/punta(j)e?" + + #. L10N: These must match the highlighted letters from "Sort" and "Rev-Sort" +-#: commands.c:767 ++#: commands.c:773 + #, fuzzy + msgid "dfrsotuzcpl" + msgstr "aersphnmj" + +-#: commands.c:831 ++#: commands.c:837 + msgid "Shell command: " + msgstr "Comando de shell: " + +-#: commands.c:1036 ++#: commands.c:1042 + msgid "Decode-save to mailbox" + msgstr "Decodificar y guardar en el buzón" + +-#: commands.c:1036 ++#: commands.c:1042 + msgid "Decode-save tagged to mailbox" + msgstr "Decodificar y guardar correos seleccionados en el buzón" + +-#: commands.c:1038 ++#: commands.c:1044 + msgid "Decrypt-save to mailbox" + msgstr "Descifrar y guardar al buzón" + +-#: commands.c:1038 ++#: commands.c:1044 + msgid "Decrypt-save tagged to mailbox" + msgstr "Descifrar y guardar correos seleccionados al buzón" + +-#: commands.c:1040 ++#: commands.c:1046 + msgid "Save to mailbox" + msgstr "Guardar al buzón" + +-#: commands.c:1040 ++#: commands.c:1046 + msgid "Save tagged to mailbox" + msgstr "Guardar correos seleccionados al buzón" + +-#: commands.c:1045 ++#: commands.c:1051 + msgid "Decode-copy to mailbox" + msgstr "Decodificar y copiar al buzón" + +-#: commands.c:1045 ++#: commands.c:1051 + #, fuzzy + msgid "Decode-copy tagged to mailbox" + msgstr "Decodificar y copiar mensajes marcados al buzón" + +-#: commands.c:1047 ++#: commands.c:1053 + #, fuzzy + msgid "Decrypt-copy to mailbox" + msgstr "Descifrar y copiar al buzón" + +-#: commands.c:1047 ++#: commands.c:1053 + #, fuzzy + msgid "Decrypt-copy tagged to mailbox" + msgstr "Descifrar y copiar mensajes marcados al buzón" + +-#: commands.c:1049 ++#: commands.c:1055 + msgid "Copy to mailbox" + msgstr "Copiar al buzón" + +-#: commands.c:1049 ++#: commands.c:1055 + msgid "Copy tagged to mailbox" + msgstr "Copiar los correos seleccionados al buzón" + +-#: commands.c:1092 ++#: commands.c:1098 + #, c-format + msgid "Copying to %s..." + msgstr "Copiando a %s..." + + #. L10N: e.g. "text/plain; charset=UTF-8; ..." +-#: commands.c:1257 ++#: commands.c:1263 + #, fuzzy + msgid "Content type is too long" + msgstr "Content-Type cambiado a %s" + +-#: commands.c:1281 ++#: commands.c:1290 + #, c-format + msgid "Convert to %s upon sending?" + msgstr "¿Convertir a %s al mandar?" + +-#: commands.c:1292 ++#: commands.c:1301 + #, c-format + msgid "Content-Type changed to %s" + msgstr "Content-Type cambiado a %s" + +-#: commands.c:1297 ++#: commands.c:1306 + #, c-format + msgid "Character set changed to %s; not converting" + msgstr "El mapa de caracteres se ha cambiado a %s; sin convertir" + +-#: commands.c:1298 ++#: commands.c:1307 + #, c-format + msgid "Character set changed to %s; converting" + msgstr "El mapa de caracteres se ha cambiado a %s; convirtiendo" + +-#: compose.c:99 ++#: command_parse.c:83 command_parse.c:211 command_parse.c:219 ++#: command_parse.c:740 command_parse.c:887 command_parse.c:1491 ++#: command_parse.c:1549 gui/color.c:731 gui/color.c:868 gui/color.c:1069 ++#: gui/color.c:1098 gui/color.c:1122 gui/color.c:1191 gui/color.c:1214 ++#: hook.c:110 hook.c:124 hook.c:372 hook.c:388 keymap.c:1182 score.c:110 ++#, c-format ++msgid "%s: too few arguments" ++msgstr "%s: parámetros insuficientes" ++ ++#: command_parse.c:394 ++msgid "-group: no group name" ++msgstr "" ++ ++#: command_parse.c:404 ++#, fuzzy ++msgid "out of arguments" ++msgstr "Faltan parámetros" ++ ++#: command_parse.c:445 command_parse.c:1372 ++#, c-format ++msgid "Error: Can't build path of '%s'" ++msgstr "" ++ ++#: command_parse.c:458 ++#, c-format ++msgid "Error: Cyclic sourcing of configuration file '%s'" ++msgstr "" ++ ++#: command_parse.c:491 ++#, c-format ++msgid "Error in %s, line %d: %s" ++msgstr "Error en %s, renglón %d: %s" ++ ++#: command_parse.c:502 ++#, fuzzy, c-format ++msgid "Warning in %s, line %d: %s" ++msgstr "Error en %s, renglón %d: %s" ++ ++#: command_parse.c:526 ++#, c-format ++msgid "source: errors in %s" ++msgstr "source: errores en %s" ++ ++#: command_parse.c:526 ++#, c-format ++msgid "source: reading aborted due to too many errors in %s" ++msgstr "fuente: lectura se abortó por haber demasiados errores en %s" ++ ++#: command_parse.c:535 ++#, c-format ++msgid "source: %d warning in %s" ++msgid_plural "source: %d warnings in %s" ++msgstr[0] "fuente: %d error en %s" ++msgstr[1] "fuente: %d errores en %s" ++ ++#: command_parse.c:564 ++msgid "alias: no address" ++msgstr "alias: sin dirección" ++ ++#: command_parse.c:606 ++#, c-format ++msgid "Warning: Bad IDN '%s' in alias '%s'" ++msgstr "Aviso: IDN '%s' inválido en alias '%s'" ++ ++#: command_parse.c:684 ++#, fuzzy ++msgid "attachments: no disposition" ++msgstr "editar la descripción del archivo adjunto" ++ ++#: command_parse.c:695 ++msgid "Current attachments settings:" ++msgstr "Ajustes de adjuntos:" ++ ++#: command_parse.c:725 ++#, fuzzy ++msgid "attachments: invalid disposition" ++msgstr "editar la descripción del archivo adjunto" ++ ++#: command_parse.c:764 command_parse.c:1753 command_parse.c:2205 ++#: gui/color.c:1223 gui/color.c:1329 hook.c:131 hook.c:395 keymap.c:1114 ++#: keymap.c:1287 keymap.c:1440 keymap.c:1504 mutt_lua.c:485 score.c:119 ++#, c-format ++msgid "%s: too many arguments" ++msgstr "%s: Demasiados parámetros" ++ ++#: command_parse.c:801 ++#, c-format ++msgid "%sgroup: missing -rx or -addr" ++msgstr "%sgroup: falta -rx o -addr" ++ ++#: command_parse.c:827 ++#, c-format ++msgid "%sgroup: warning: bad IDN '%s'" ++msgstr "%sgroup: aviso: IDN inválido '%s'" ++ ++#: command_parse.c:898 ++#, c-format ++msgid "Error: %s" ++msgstr "" ++ ++#: command_parse.c:1065 ++msgid "invalid header field" ++msgstr "encabezado erróneo" ++ ++#: command_parse.c:1331 command_parse.c:1435 ++#, c-format ++msgid "%s: unknown variable" ++msgstr "%s: variable desconocida" ++ ++#: command_parse.c:1528 ++#, c-format ++msgid "%s is unset" ++msgstr "%s no está activada" ++ ++#: command_parse.c:1573 mutt_lua.c:480 ++#, c-format ++msgid "source: error at %s" ++msgstr "source: errores en %s" ++ ++#: command_parse.c:1581 ++#, c-format ++msgid "source: file %s could not be sourced" ++msgstr "fuente: el archivo %s no se pudo encontrar" ++ ++#: command_parse.c:1604 ++msgid "spam: no matching pattern" ++msgstr "spam: no hay patrón que coincida" ++ ++#: command_parse.c:1606 ++#, fuzzy ++msgid "nospam: no matching pattern" ++msgstr "quitar marca de los mensajes que coincidan con un patrón" ++ ++#: command_parse.c:1762 imap/imap.c:1443 ++#, c-format ++msgid "Subscribed to %s" ++msgstr "Inscribiéndose a %s..." ++ ++#: command_parse.c:1766 ++#, c-format ++msgid "Could not subscribe to %s" ++msgstr "" ++ ++#: command_parse.c:1774 command_parse.c:2226 ++msgid "No folder specified" ++msgstr "" ++ ++#: command_parse.c:1943 ++#, fuzzy ++msgid "unattachments: no disposition" ++msgstr "editar la descripción del archivo adjunto" ++ ++#: command_parse.c:1981 ++msgid "unattachments: invalid disposition" ++msgstr "" ++ ++#: command_parse.c:2214 imap/imap.c:1445 ++#, fuzzy, c-format ++msgid "Unsubscribed from %s" ++msgstr "Desuscribiendo de %s..." ++ ++#: command_parse.c:2218 ++#, c-format ++msgid "Could not unsubscribe from %s" ++msgstr "" ++ ++#: compose.c:97 + msgid "There are no attachments" + msgstr "No hay adjuntos" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:166 ++#: compose.c:164 + msgid "From: " + msgstr "De: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:168 send.c:284 ++#: compose.c:166 send.c:284 + msgid "To: " + msgstr "Para: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:170 send.c:286 ++#: compose.c:168 send.c:286 + msgid "Cc: " + msgstr "Cc: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:172 send.c:288 ++#: compose.c:170 send.c:288 + msgid "Bcc: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:174 compose.c:1242 send.c:320 ++#: compose.c:172 compose.c:1302 send.c:320 + msgid "Subject: " + msgstr "Asunto: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:176 ++#: compose.c:174 + msgid "Reply-To: " + msgstr "Responder a:" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:178 compose.c:1261 ++#: compose.c:176 compose.c:1321 + msgid "Fcc: " + msgstr "" + + #. L10N: "Mix" refers to the MixMaster chain for anonymous email +-#: compose.c:181 ++#: compose.c:179 + msgid "Mix: " + msgstr "" + + #. L10N: Compose menu field. Holds "Encrypt", "Sign" related information +-#: compose.c:184 ++#: compose.c:182 + msgid "Security: " + msgstr "" + +@@ -884,77 +1025,77 @@ msgstr "" + #. it should not be longer than the other compose menu fields. + #. Since it shares the row with "Encrypt with:", it should not be longer + #. than 15-20 character cells. +-#: compose.c:192 ncrypt/crypt_gpgme.c:5602 ncrypt/pgp.c:1974 +-#: ncrypt/smime.c:2395 ++#: compose.c:190 ncrypt/crypt_gpgme.c:5682 ncrypt/pgp.c:1976 ++#: ncrypt/smime.c:2429 + msgid "Sign as: " + msgstr "Firmar como: " + + #. L10N: The compose menu autocrypt line +-#: compose.c:195 ++#: compose.c:193 + msgid "Autocrypt: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:199 ++#: compose.c:197 + msgid "Newsgroups: " + msgstr "Grupos de noticias:" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:201 ++#: compose.c:199 + #, fuzzy + msgid "Followup-To: " + msgstr "¿Responder a %s%s?" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:203 ++#: compose.c:201 + #, fuzzy + msgid "X-Comment-To: " + msgstr "editar el campo Reply-To" + +-#: compose.c:208 compose.c:224 ++#: compose.c:206 compose.c:222 + msgid "Send" + msgstr "Enviar" + +-#: compose.c:209 compose.c:225 remailer.c:77 ++#: compose.c:207 compose.c:223 remailer.c:75 + msgid "Abort" + msgstr "Cancelar" + + #. L10N: compose menu help line entry +-#: compose.c:211 ++#: compose.c:209 + msgid "To" + msgstr "Para" + + #. L10N: compose menu help line entry +-#: compose.c:213 ++#: compose.c:211 + msgid "CC" + msgstr "CC" + + #. L10N: compose menu help line entry +-#: compose.c:215 compose.c:227 ++#: compose.c:213 compose.c:225 + msgid "Subj" + msgstr "Tema" + +-#: compose.c:216 compose.c:228 compose.c:1556 ++#: compose.c:214 compose.c:226 compose.c:1616 + msgid "Attach file" + msgstr "Adjuntar archivo" + +-#: compose.c:217 compose.c:229 ++#: compose.c:215 compose.c:227 + msgid "Descrip" + msgstr "Descrip" + +-#: compose.c:226 ++#: compose.c:224 + msgid "Newsgroups" + msgstr "Grupos de noticias" + + #. L10N: Autocrypt recommendation flag: off. + #. * This is displayed when Autocrypt is turned off. +-#: compose.c:239 compose.c:473 ++#: compose.c:237 compose.c:472 + msgid "Off" + msgstr "" + + #. L10N: Autocrypt recommendation flag: no. + #. * This is displayed when Autocrypt cannot encrypt to the recipients. +-#: compose.c:242 ++#: compose.c:240 + #, fuzzy + msgid "No" + msgstr "Ninguna" +@@ -963,7 +1104,7 @@ msgstr "Ninguna" + #. * This is displayed when Autocrypt believes encryption should not be used. + #. * This might occur if one of the recipient Autocrypt Keys has not been + #. * used recently, or if the only key available is a Gossip Header key. +-#: compose.c:247 ++#: compose.c:245 + msgid "Discouraged" + msgstr "" + +@@ -971,14 +1112,14 @@ msgstr "" + #. * This is displayed when Autocrypt believes encryption is possible, but + #. * leaves enabling it up to the sender. Probably because "prefer encrypt" + #. * is not set in both the sender and recipient keys. +-#: compose.c:252 ++#: compose.c:250 + msgid "Available" + msgstr "" + + #. L10N: Autocrypt recommendation flag: yes. + #. * This is displayed when Autocrypt would normally enable encryption + #. * automatically. +-#: compose.c:256 ++#: compose.c:254 + #, fuzzy + msgid "Yes" + msgstr "sí" +@@ -989,7 +1130,7 @@ msgstr "sí" + #. (c)lear sets cleartext. + #. (a)utomatic defers to the recommendation. + #. +-#: compose.c:338 ++#: compose.c:337 + msgid "Autocrypt: (e)ncrypt, (c)lear, (a)utomatic?" + msgstr "" + +@@ -997,51 +1138,51 @@ msgstr "" + #. The letter corresponding to the compose menu autocrypt prompt + #. (e)ncrypt, (c)lear, (a)utomatic + #. +-#: compose.c:346 ++#: compose.c:345 + msgid "eca" + msgstr "" + +-#: compose.c:383 ++#: compose.c:382 + msgid "Not supported" + msgstr "No disponible" + +-#: compose.c:390 ++#: compose.c:389 + msgid "Sign, Encrypt" + msgstr "Firmar, cifrar" + +-#: compose.c:395 compose.c:468 ++#: compose.c:394 compose.c:467 + msgid "Encrypt" + msgstr "Cifrar" + +-#: compose.c:400 ++#: compose.c:399 + msgid "Sign" + msgstr "Firmar" + +-#: compose.c:406 ++#: compose.c:405 + msgid "None" + msgstr "Ninguna" + +-#: compose.c:415 ++#: compose.c:414 + msgid " (inline PGP)" + msgstr "(PGP en línea)" + +-#: compose.c:417 ++#: compose.c:416 + msgid " (PGP/MIME)" + msgstr " (PGP/MIME)" + +-#: compose.c:420 ++#: compose.c:419 + msgid " (S/MIME)" + msgstr " (S/MIME)" + +-#: compose.c:424 ++#: compose.c:423 + msgid " (OppEnc mode)" + msgstr " (Modo OppEnc)" + +-#: compose.c:436 compose.c:445 ++#: compose.c:435 compose.c:444 + msgid "" + msgstr "" + +-#: compose.c:452 ++#: compose.c:451 + msgid "Encrypt with: " + msgstr "Cifrar con: " + +@@ -1050,12 +1191,12 @@ msgstr "Cifrar con: " + #. Displays the output of the recommendation engine + #. (Off, No, Discouraged, Available, Yes) + #. +-#: compose.c:483 ++#: compose.c:482 + #, fuzzy + msgid "Recommendation: " + msgstr "editar el campo Reply-To" + +-#: compose.c:547 ++#: compose.c:546 + msgid "" + msgstr "" + +@@ -1066,7 +1207,7 @@ msgstr "" + #. The filename is located last to avoid a long path hiding the + #. error message. + #. +-#: compose.c:601 ++#: compose.c:600 + #, fuzzy, c-format + msgid "Attachment #%d no longer exists: %s" + msgstr "¡%s [#%d] ya no existe!" +@@ -1078,233 +1219,353 @@ msgstr "¡%s [#%d] ya no existe!" + #. The filename is located last to avoid a long path hiding the + #. prompt question. + #. +-#: compose.c:621 ++#: compose.c:620 + #, fuzzy, c-format + msgid "Attachment #%d modified. Update encoding for %s?" + msgstr "%s [#%d] modificado. ¿Rehacer codificación?" + +-#: compose.c:716 ++#: compose.c:715 + msgid "-- Attachments" + msgstr "-- Adjuntos" + +-#: compose.c:770 ++#: compose.c:769 + msgid "You may not delete the only attachment" + msgstr "No se puede borrar el único adjunto" + +-#: compose.c:1296 edit.c:538 send.c:2462 ++#: compose.c:1356 edit.c:536 send.c:2473 + #, c-format + msgid "Bad IDN in '%s': '%s'" + msgstr "IDN inválido en '%s': '%s'" + +-#: compose.c:1347 ++#: compose.c:1407 + msgid "Attachment is already at top" + msgstr "El adjunto ya está al principio" + +-#: compose.c:1352 compose.c:1368 ++#: compose.c:1412 compose.c:1428 + #, fuzzy + msgid "The fundamental part can't be moved" + msgstr "Lo fundamental no se puede mover" + +-#: compose.c:1363 ++#: compose.c:1423 + msgid "Attachment is already at bottom" + msgstr "El adjunto ya está al fin" + +-#: compose.c:1381 ++#: compose.c:1441 + msgid "Grouping 'alternatives' requires at least 2 tagged messages" + msgstr "Agrupar como alternativo requiere por lo menos 2 mensajes seleccionados" + +-#: compose.c:1462 ++#: compose.c:1522 + msgid "Grouping 'multilingual' requires at least 2 tagged messages" + msgstr "Agrupar como multilingüe requiere por lo menos 2 mensajes seleccionados:" + +-#: compose.c:1475 ++#: compose.c:1535 + msgid "Not all parts have 'Content-Language' set, continue?" + msgstr "" + +-#: compose.c:1477 ++#: compose.c:1537 + msgid "Not sending this message" + msgstr "No se envía este mensaje" + +-#: compose.c:1571 ++#: compose.c:1631 + msgid "Attaching selected file..." + msgid_plural "Attaching selected files..." + msgstr[0] "Adjuntando el archivo seleccionado..." + msgstr[1] "Adjuntando los archivos seleccionados..." + +-#: compose.c:1585 ++#: compose.c:1645 + #, c-format + msgid "Unable to attach %s" + msgstr "¡Imposible adjuntar %s" + +-#: compose.c:1606 ++#: compose.c:1666 + msgid "Open mailbox to attach message from" + msgstr "Abrir buzón para adjuntar mensaje de" + +-#: compose.c:1616 ++#: compose.c:1676 + msgid "Open newsgroup to attach message from" + msgstr "Abrir buzón para adjuntar mensaje desde" + +-#: compose.c:1667 ++#: compose.c:1730 + #, c-format + msgid "Unable to open mailbox %s" + msgstr "Incapaz de abrir el buzón %s" + +-#: compose.c:1676 ++#: compose.c:1739 + msgid "No messages in that folder" + msgstr "No hay mensajes en esa carpeta" + +-#: compose.c:1686 ++#: compose.c:1749 + msgid "Tag the messages you want to attach" + msgstr "Marque los mensaje que quieres adjuntar." + +-#: compose.c:1715 ++#: compose.c:1785 + msgid "Unable to attach" + msgstr "¡Imposible adjuntar!" + +-#: compose.c:1752 ++#: compose.c:1822 + msgid "Recoding only affects text attachments" + msgstr "Recodificar sólo afecta adjuntos en formato de texto" + +-#: compose.c:1757 ++#: compose.c:1827 + msgid "The current attachment won't be converted" + msgstr "El archivo adjunto actual no será convertido" + +-#: compose.c:1759 ++#: compose.c:1829 + msgid "The current attachment will be converted" + msgstr "El archivo adjunto actual será convertido" + +-#: compose.c:1831 ++#: compose.c:1901 + msgid "Empty 'Content-Language'" + msgstr "" + +-#: compose.c:1849 ++#: compose.c:1920 + msgid "Invalid encoding" + msgstr "La codificación no es válida" + +-#: compose.c:1871 ++#: compose.c:1942 + msgid "Save a copy of this message?" + msgstr "¿Guardar una copia de este mensaje?" + +-#: compose.c:1924 ++#: compose.c:1995 + msgid "Send attachment with name: " + msgstr "Enviar adjuntos con nombre: " + +-#: compose.c:1939 ++#: compose.c:2010 + msgid "Rename to: " + msgstr "Renombrar a: " + + #. L10N: "stat" is a system call. Do "man 2 stat" for more information. +-#: compose.c:1946 editmsg.c:102 editmsg.c:138 sendlib.c:1050 ++#: compose.c:2017 editmsg.c:102 editmsg.c:138 sendlib.c:1049 + #, c-format + msgid "Can't stat %s: %s" + msgstr "No se pudo hacer `stat` en %s:%s" + +-#: compose.c:1966 ++#: compose.c:2037 + msgid "New file: " + msgstr "Archivo nuevo: " + +-#: compose.c:1984 ++#: compose.c:2055 + msgid "Content-Type is of the form base/sub" + msgstr "Content-Type es de la forma base/subtipo" + +-#: compose.c:1991 ++#: compose.c:2062 + #, c-format + msgid "Unknown Content-Type %s" + msgstr "Content-Type %s desconocido" + +-#: compose.c:1999 ++#: compose.c:2070 + #, c-format + msgid "Can't create file %s" + msgstr "No se pudo creal el archivo %s" + +-#: compose.c:2008 ++#: compose.c:2079 + msgid "What we have here is a failure to make an attachment" + msgstr "Lo que tenemos aquí es un fallo al producir el archivo a adjuntar" + +-#: compose.c:2073 ++#: compose.c:2144 + msgid "Save (postpone) draft message?" + msgstr "¿Guardar (posponer) borrador?" + +-#: compose.c:2133 ++#: compose.c:2204 + msgid "Write message to mailbox" + msgstr "Guardar mensaje en el buzón" + +-#: compose.c:2136 ++#: compose.c:2207 + #, c-format + msgid "Writing message to %s ..." + msgstr "Escribiendo mensaje en %s ..." + +-#: compose.c:2143 ++#: compose.c:2214 + msgid "Message written" + msgstr "Mensaje escrito" + +-#: compose.c:2154 ++#: compose.c:2225 + msgid "No PGP backend configured" + msgstr "" + +-#: compose.c:2161 compose.c:2225 ++#: compose.c:2232 compose.c:2296 + msgid "S/MIME already selected. Clear and continue?" + msgstr "S/MIME ya ha sido seleccionado. ¿Limpiar y continuar?" + +-#: compose.c:2186 ++#: compose.c:2257 + msgid "No S/MIME backend configured" + msgstr "" + +-#: compose.c:2194 ++#: compose.c:2265 + msgid "PGP already selected. Clear and continue?" + msgstr "PGP ya ha sido seleccionado. ¿Limpiar y continuar?" + +-#: compress.c:355 compress.c:499 ++#: compress/compress.c:354 compress/compress.c:498 + #, c-format + msgid "Can't append without an append-hook or close-hook : %s" + msgstr "No se puede concatenar sin un append-hook o close-hook: %s" + +-#: compress.c:444 compress.c:511 compress.c:590 compress.c:628 mbox/mbox.c:1208 ++#: compress/compress.c:443 compress/compress.c:510 compress/compress.c:589 ++#: compress/compress.c:627 mbox/mbox.c:1208 + msgid "Unable to lock mailbox" + msgstr "¡Imposible bloquear buzón" + +-#: compress.c:448 compress.c:518 compress.c:594 ++#: compress/compress.c:447 compress/compress.c:517 compress/compress.c:593 + #, c-format + msgid "Decompressing %s" + msgstr "Descomprimiendo %s" + +-#: compress.c:457 ++#: compress/compress.c:456 + msgid "Can't identify the contents of the compressed file" + msgstr "El contenido del archivo comprimido no puede ser identificado" + +-#: compress.c:464 compress.c:539 ++#: compress/compress.c:463 compress/compress.c:538 + #, c-format + msgid "Can't find mailbox ops for mailbox type %d" + msgstr "No se encuentran operaciones para la bandeja de email de tipo %d" + +-#: compress.c:521 ++#: compress/compress.c:520 + #, c-format + msgid "Compress command failed: %s" + msgstr "Comando de compresión falló: %s" + +-#: compress.c:532 ++#: compress/compress.c:531 + msgid "Unsupported mailbox type for appending" + msgstr "Este tipo de buzón no puede adjuntar archivos" + +-#: compress.c:618 ++#: compress/compress.c:617 + msgid "Can't sync a compressed file without a close-hook" + msgstr "No se puede sincronizar un archivo comprimido sin un close-hook" + +-#: compress.c:640 compress.c:692 ++#: compress/compress.c:639 compress/compress.c:691 + #, c-format + msgid "Compressing %s" + msgstr "Comprimiendo %s..." + +-#: compress.c:687 ++#: compress/compress.c:686 + #, c-format + msgid "Compressed-appending to %s..." + msgstr "Comprimiendo y adjuntando a %s..." + +-#: compress.c:699 editmsg.c:247 ++#: compress/compress.c:698 editmsg.c:247 + #, c-format + msgid "Error. Preserving temporary file: %s" + msgstr "Error. Preservando el archivo temporal: %s" + ++#: config/bool.c:70 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %s" ++msgstr "Fecha relativa incorrecta: %s" ++ ++#: config/bool.c:131 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %ld" ++msgstr "Fecha relativa incorrecta: %s" ++ ++#: config/enum.c:62 ++#, fuzzy, c-format ++msgid "Invalid enum value: %s" ++msgstr "%d: número de mensaje erróneo.\n" ++ ++#: config/enum.c:149 ++#, fuzzy, c-format ++msgid "Invalid enum value: %ld" ++msgstr "Valor inválido para el campo %s: %ld" ++ ++#: config/long.c:50 ++#, fuzzy, c-format ++msgid "Invalid long: %s" ++msgstr "Mes inválido: %s" ++ ++#: config/long.c:56 config/long.c:114 config/number.c:68 config/number.c:133 ++#, fuzzy, c-format ++msgid "Option %s may not be negative" ++msgstr "No se puede usar la opción %s cuando estás en el modo de adjuntar mensajes" ++ ++#: config/number.c:49 config/sort.c:145 config/string.c:75 config/string.c:159 ++#, c-format ++msgid "Option %s may not be empty" ++msgstr "" ++ ++#: config/number.c:56 ++#, fuzzy, c-format ++msgid "Invalid number: %s" ++msgstr "%d: número de mensaje erróneo.\n" ++ ++#: config/number.c:62 ++#, c-format ++msgid "Number is too big: %s" ++msgstr "" ++ ++#: config/number.c:127 ++#, fuzzy, c-format ++msgid "Invalid number: %ld" ++msgstr "%d: número de mensaje erróneo.\n" ++ ++#: config/quad.c:69 ++#, fuzzy, c-format ++msgid "Invalid quad value: %s" ++msgstr "Fecha relativa incorrecta: %s" ++ ++#: config/quad.c:133 ++#, fuzzy, c-format ++msgid "Invalid quad value: %ld" ++msgstr "Valor inválido para el campo %s: %ld" ++ ++#: config/set.c:102 ++#, c-format ++msgid "No such variable: %s" ++msgstr "" ++ ++#: config/set.c:134 config/set.c:821 ++#, fuzzy, c-format ++msgid "Variable '%s' has an invalid type %d" ++msgstr "Error: valor '%s' es inválido para -d" ++ ++#: config/set.c:399 config/set.c:463 config/set.c:528 config/set.c:601 ++#: config/set.c:671 config/set.c:744 ++#, fuzzy, c-format ++msgid "Unknown variable '%s'" ++msgstr "%s: variable desconocida" ++ ++#: config/sort.c:192 ++#, fuzzy, c-format ++msgid "Invalid sort name: %s" ++msgstr "Fecha relativa incorrecta: %s" ++ ++#: config/sort.c:322 ++#, fuzzy, c-format ++msgid "Invalid sort type: %ld" ++msgstr "Fecha relativa incorrecta: %s" ++ ++#. L10N: Example: Username at myhost.com ++#: conn/connaccount.c:61 ++#, c-format ++msgid "Username at %s: " ++msgstr "Nombre de usuario en %s: " ++ ++#: conn/connaccount.c:117 ++#, c-format ++msgid "Password for %s@%s: " ++msgstr "Contraseña para %s@%s: " ++ ++#. L10N: You will see this error message if (1) you have "oauthbearer" in ++#. one of your $*_authenticators and (2) you do not have the corresponding ++#. $*_oauth_refresh_command defined. So the message does not mean "None of ++#. your $*_oauth_refresh_command's are defined." ++#: conn/connaccount.c:165 ++#, fuzzy ++msgid "No OAUTH refresh command defined" ++msgstr "El comando de indagación no fue definido" ++ ++#: conn/connaccount.c:173 ++msgid "Unable to run refresh command" ++msgstr "" ++ ++#: conn/connaccount.c:184 ++msgid "Command returned empty string" ++msgstr "" ++ ++#: conn/connaccount.c:191 ++#, c-format ++msgid "OAUTH token is too big: %ld" ++msgstr "" ++ + #: conn/conn_raw.c:160 conn/conn_raw.c:218 + #, c-format + msgid "Looking up %s..." +@@ -1325,7 +1586,7 @@ msgstr "Conectando a %s..." + msgid "Could not connect to %s (%s)" + msgstr "No se pudo conectar a %s (%s)" + +-#: conn/conn_raw.c:260 conn/ssl.c:1230 curs_lib.c:568 mutt_logging.c:149 ++#: conn/conn_raw.c:260 conn/ssl.c:1245 gui/curs_lib.c:569 mutt_logging.c:147 + msgid "unknown error" + msgstr "error desconocido" + +@@ -1339,23 +1600,23 @@ msgstr "Error al hablar con %s (%s)" + msgid "Connection to %s has been aborted" + msgstr "Se ha anulado la conexión a %s" + +-#: conn/sasl.c:565 ++#: conn/sasl.c:547 + msgid "Unknown SASL profile" + msgstr "Perfil SASL desconocido" + +-#: conn/sasl.c:598 ++#: conn/sasl.c:580 + msgid "Error allocating SASL connection" + msgstr "Error al iniciar la conexión SASL" + +-#: conn/sasl.c:608 ++#: conn/sasl.c:590 + msgid "Error setting SASL security properties" + msgstr "Error al configurar las propiedades de seguridad SASL" + +-#: conn/sasl.c:619 ++#: conn/sasl.c:601 + msgid "Error setting SASL external security strength" + msgstr "" + +-#: conn/sasl.c:629 ++#: conn/sasl.c:611 + msgid "Error setting SASL external user name" + msgstr "Error al configurar el nombre de usuario externo SASL" + +@@ -1368,133 +1629,109 @@ msgstr "La órden anterior a la conexión falló" + msgid "Connection to %s closed" + msgstr "Conexión a %s cerrada" + +-#: conn/ssl.c:237 ++#: conn/ssl.c:222 + #, c-format + msgid "Filling entropy pool: %s..." + msgstr "Llenando repositorio de entropía: %s..." + +-#: conn/ssl.c:243 ++#: conn/ssl.c:228 + #, c-format + msgid "%s has insecure permissions" + msgstr "¡%s tiene derechos inseguros" + +-#: conn/ssl.c:385 ++#: conn/ssl.c:369 + msgid "SSL disabled due to the lack of entropy" + msgstr "SSL se desactivó debido a la falta de entropía" + +-#: conn/ssl.c:402 ++#: conn/ssl.c:386 + msgid "Unknown" + msgstr "Desconocido" + +-#: conn/ssl.c:421 conn/ssl_gnutls.c:186 ++#: conn/ssl.c:405 conn/ssl_gnutls.c:188 + #, c-format + msgid "[unable to calculate]" + msgstr "[imposible calcular]" + +-#: conn/ssl.c:446 ++#: conn/ssl.c:430 + msgid "[invalid date]" + msgstr "[fecha inválida]" + +-#: conn/ssl.c:506 ++#: conn/ssl.c:490 + msgid "Server certificate is not yet valid" + msgstr "Certificado del servidor todavía no es válido" + +-#: conn/ssl.c:516 ++#: conn/ssl.c:500 + msgid "Server certificate has expired" + msgstr "Certificado del servidor se ha vencido" + +-#: conn/ssl.c:605 ++#: conn/ssl.c:589 + msgid "Failed to find enough entropy on your system" + msgstr "No se pudo encontrar suficiente entropía en su sistema" + +-#: conn/ssl.c:799 ++#: conn/ssl.c:783 + msgid "can't get certificate subject" + msgstr "Imposible recoger el certificado del tema" + +-#: conn/ssl.c:808 conn/ssl.c:816 ++#: conn/ssl.c:792 conn/ssl.c:800 + #, fuzzy + msgid "can't get certificate common name" + msgstr "Imposible recoger el certificado de la contraparte" + +-#: conn/ssl.c:830 ++#: conn/ssl.c:814 + #, c-format + msgid "certificate owner does not match hostname %s" + msgstr "el propietario del certificado no coincide con el nombre del equipo %s" + +-#: conn/ssl.c:904 conn/ssl_gnutls.c:539 ++#: conn/ssl.c:917 conn/ssl_gnutls.c:570 + msgid "This certificate belongs to:" + msgstr "Este certificado pertenece a:" + +-#: conn/ssl.c:913 conn/ssl_gnutls.c:593 ++#: conn/ssl.c:926 conn/ssl_gnutls.c:624 + msgid "This certificate was issued by:" + msgstr "Este certificado fue producido por:" + +-#: conn/ssl.c:922 conn/ssl_gnutls.c:604 ++#: conn/ssl.c:935 conn/ssl_gnutls.c:635 + msgid "This certificate is valid" + msgstr "Este certificado es válido" + +-#: conn/ssl.c:923 conn/ssl_gnutls.c:608 ++#: conn/ssl.c:936 conn/ssl_gnutls.c:639 + #, c-format + msgid " from %s" + msgstr " de %s" + +-#: conn/ssl.c:925 conn/ssl_gnutls.c:612 ++#: conn/ssl.c:938 conn/ssl_gnutls.c:643 + #, c-format + msgid " to %s" + msgstr " para %s" + +-#: conn/ssl.c:931 conn/ssl_gnutls.c:617 +-#, c-format +-msgid "SHA1 Fingerprint: %s" +-msgstr "Huella SHA1: %s" +- +-#: conn/ssl.c:937 conn/ssl.c:940 conn/ssl_gnutls.c:623 conn/ssl_gnutls.c:625 +-msgid "SHA256 Fingerprint: " +-msgstr "Huella SHA256: %s" +- +-#: conn/ssl.c:944 conn/ssl_gnutls.c:664 +-#, c-format +-msgid "SSL Certificate check (certificate %zu of %zu in chain)" +-msgstr "" +- +-#. L10N: These four letters correspond to the choices in the next four strings: +-#. (r)eject, accept (o)nce, (a)ccept always, (s)kip. +-#. These prompts are the interactive certificate confirmation prompts for +-#. an OpenSSL connection. +-#: conn/ssl.c:964 +-msgid "roas" +-msgstr "ruai" +- +-#: conn/ssl.c:968 +-msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" +-msgstr "(r)echazar, aceptar (u)na vez, (a)ceptar siempre, (i)gnorar" +- +-#: conn/ssl.c:970 conn/ssl_gnutls.c:671 +-msgid "(r)eject, accept (o)nce, (a)ccept always" +-msgstr "(r)echazar, aceptar (u)na vez, (a)ceptar siempre" ++#: conn/ssl.c:944 conn/ssl_gnutls.c:648 ++#, c-format ++msgid "SHA1 Fingerprint: %s" ++msgstr "Huella SHA1: %s" + +-#: conn/ssl.c:975 +-msgid "(r)eject, accept (o)nce, (s)kip" +-msgstr "(r)echazar, aceptar (u)na vez, (i)gnorar" ++#: conn/ssl.c:950 conn/ssl.c:953 conn/ssl_gnutls.c:654 conn/ssl_gnutls.c:656 ++msgid "SHA256 Fingerprint: " ++msgstr "Huella SHA256: %s" + +-#: conn/ssl.c:977 conn/ssl_gnutls.c:680 +-msgid "(r)eject, accept (o)nce" +-msgstr "(r)echazar, aceptar (u)na vez" ++#: conn/ssl.c:957 conn/ssl_gnutls.c:695 ++#, c-format ++msgid "SSL Certificate check (certificate %zu of %zu in chain)" ++msgstr "" + +-#: conn/ssl.c:981 conn/ssl_gnutls.c:689 ncrypt/crypt_gpgme.c:4729 +-#: ncrypt/pgpkey.c:664 ncrypt/smime.c:549 ++#: conn/ssl.c:994 conn/ssl_gnutls.c:720 ncrypt/crypt_gpgme.c:4777 ++#: ncrypt/pgpkey.c:667 ncrypt/smime.c:551 + msgid "Exit " + msgstr "Salir " + +-#: conn/ssl.c:1016 conn/ssl_gnutls.c:742 ++#: conn/ssl.c:1029 conn/ssl_gnutls.c:773 + msgid "Warning: Couldn't save certificate" + msgstr "Aviso: no se pudo guardar el certificado" + +-#: conn/ssl.c:1020 conn/ssl_gnutls.c:746 ++#: conn/ssl.c:1033 conn/ssl_gnutls.c:777 + msgid "Certificate saved" + msgstr "El certificado se guardó" + +-#: conn/ssl.c:1132 ++#: conn/ssl.c:1147 + #, c-format + msgid "Certificate host check failed: %s" + msgstr "Verificación del servidor falló: %s" +@@ -1502,15 +1739,15 @@ msgstr "Verificación del servidor falló: %s" + #. L10N: This is a warning when trying to set the host name for + #. * TLS Server Name Indication (SNI). This allows the server to present + #. * the correct certificate if it supports multiple hosts. +-#: conn/ssl.c:1213 conn/ssl_gnutls.c:1072 ++#: conn/ssl.c:1228 conn/ssl_gnutls.c:1105 + msgid "Warning: unable to set TLS SNI host name" + msgstr "" + +-#: conn/ssl.c:1224 ++#: conn/ssl.c:1239 + msgid "I/O error" + msgstr "Error de Entrada/Salida" + +-#: conn/ssl.c:1233 ++#: conn/ssl.c:1248 + #, c-format + msgid "SSL failed: %s" + msgstr "SSL falló: %s" +@@ -1518,89 +1755,73 @@ msgstr "SSL falló: %s" + #. L10N: an SSL context is a data structure returned by the OpenSSL + #. function SSL_CTX_new(). In this case it returned NULL: an + #. error condition. +-#: conn/ssl.c:1269 ++#: conn/ssl.c:1284 + msgid "Unable to create SSL context" + msgstr "¡Error: imposible crear subproceso OpenSSL!" + +-#: conn/ssl.c:1322 ++#: conn/ssl.c:1337 + msgid "Warning: error enabling ssl_verify_partial_chains" + msgstr "Aviso: error al habilitar ssl_comprobar_cadenas_incompletas" + +-#: conn/ssl_gnutls.c:150 conn/ssl_gnutls.c:784 conn/ssl_gnutls.c:793 ++#: conn/ssl_gnutls.c:152 conn/ssl_gnutls.c:817 conn/ssl_gnutls.c:826 + msgid "Unable to get certificate from peer" + msgstr "Imposible recoger el certificado de la contraparte" + +-#: conn/ssl_gnutls.c:155 ++#: conn/ssl_gnutls.c:157 + #, c-format + msgid "Certificate verification error (%s)" + msgstr "Error de verificación de certificado (%s)" + +-#: conn/ssl_gnutls.c:162 ++#: conn/ssl_gnutls.c:164 + msgid "Certificate is not X.509" + msgstr "El certificado no es X.509" + +-#: conn/ssl_gnutls.c:349 conn/ssl_gnutls.c:483 ++#: conn/ssl_gnutls.c:351 conn/ssl_gnutls.c:485 + msgid "Error initialising gnutls certificate data" + msgstr "Error al inicializar la certificación de gnutls" + +-#: conn/ssl_gnutls.c:355 conn/ssl_gnutls.c:489 ++#: conn/ssl_gnutls.c:357 conn/ssl_gnutls.c:491 + msgid "Error processing certificate data" + msgstr "Error al procesar los datos del certificado" + +-#: conn/ssl_gnutls.c:635 ++#: conn/ssl_gnutls.c:666 + msgid "WARNING: Server certificate is not yet valid" + msgstr "ADVERTENCIA: El certificado del servidor todavía no se ha comprobado" + +-#: conn/ssl_gnutls.c:640 ++#: conn/ssl_gnutls.c:671 + msgid "WARNING: Server certificate has expired" + msgstr "ADVERTENCIA: El certificado del servidor se ha vencido" + +-#: conn/ssl_gnutls.c:645 ++#: conn/ssl_gnutls.c:676 + msgid "WARNING: Server certificate has been revoked" + msgstr "ADVERTENCIA: El certificado del servidor se ha revocado" + +-#: conn/ssl_gnutls.c:650 ++#: conn/ssl_gnutls.c:681 + msgid "WARNING: Server hostname does not match certificate" + msgstr "AVISO: El nombre del servidor no coincide con el certificado" + +-#: conn/ssl_gnutls.c:655 ++#: conn/ssl_gnutls.c:686 + msgid "WARNING: Signer of server certificate is not a CA" + msgstr "ADVERTENCIA: La firma del servidor no es del tipo «CA»" + +-#: conn/ssl_gnutls.c:659 conn/ssl_gnutls.c:1004 ++#: conn/ssl_gnutls.c:690 conn/ssl_gnutls.c:1037 + msgid "Warning: Server certificate was signed using an insecure algorithm" + msgstr "Aviso: el certificado del servidor ha sido firmado usando un algoritmo inseguro" + +-#. L10N: These three letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce, (a)ccept always. +-#. This is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:676 +-msgid "roa" +-msgstr "rua" +- +-#. L10N: These two letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce. +-#. These is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:685 +-msgid "ro" +-msgstr "ru" +- +-#: conn/ssl_gnutls.c:950 conn/ssl_gnutls.c:992 ++#: conn/ssl_gnutls.c:983 conn/ssl_gnutls.c:1025 + msgid "All available protocols for TLS/SSL connection disabled" + msgstr "Todos los protocolos para conexiones TLS/SSL deshabilitados" + +-#: conn/ssl_gnutls.c:999 ++#: conn/ssl_gnutls.c:1032 + msgid "Explicit ciphersuite selection via $ssl_ciphers not supported" + msgstr "" + +-#: conn/ssl_gnutls.c:1120 ++#: conn/ssl_gnutls.c:1153 + #, c-format + msgid "SSL/TLS connection using %s (%s/%s/%s)" + msgstr "Conectando por SSL/TLS con %s (%s/%s/%s)" + +-#: conn/ssl_gnutls.c:1175 conn/ssl_gnutls.c:1204 ++#: conn/ssl_gnutls.c:1210 conn/ssl_gnutls.c:1239 + msgid "Error: no TLS socket open" + msgstr "Error: no hay un socket TLS abierto" + +@@ -1619,38 +1840,18 @@ msgstr "Error al hablar con %s (%s)" + msgid "Tunnel to %s returned error %d (%s)" + msgstr "El túnel a %s devolvió el error %d (%s)" + +-#: copy.c:660 ++#: copy.c:662 + #, c-format + msgid "The length calculation was wrong by %ld byte" + msgid_plural "The length calculation was wrong by %ld bytes" + msgstr[0] "" + msgstr[1] "" + +-#: copy.c:744 ++#: copy.c:746 + msgid "No decryption engine available for message" + msgstr "No existe un motor de descifrado disponible para el mensaje" + +-#: curs_lib.c:378 +-msgid "yes" +-msgstr "sí" +- +-#: curs_lib.c:379 +-msgid "no" +-msgstr "no" +- +-#: curs_lib.c:518 +-msgid "Exit NeoMutt?" +-msgstr "¿Salir de NeoMutt?" +- +-#: curs_lib.c:597 +-msgid "Press any key to continue..." +-msgstr "Presione una tecla para continuar..." +- +-#: curs_lib.c:705 +-msgid " ('?' for list): " +-msgstr " ('?' para lista): " +- +-#: edit.c:64 ++#: edit.c:62 + msgid "" + "~~ insert a line beginning with a single ~\n" + "~b users add users to the Bcc: field\n" +@@ -1681,7 +1882,7 @@ msgstr "" + "~? este mensaje.\n" + ". sólo en un renglón finaliza la entrada.\n" + +-#: edit.c:75 ++#: edit.c:73 + #, fuzzy + msgid "" + "~q write file and quit editor\n" +@@ -1713,20 +1914,20 @@ msgstr "" + "~? este mensaje.\n" + ". sólo en un renglón finaliza la entrada.\n" + +-#: edit.c:261 ++#: edit.c:259 + #, c-format + msgid "%d: invalid message number.\n" + msgstr "%d: número de mensaje erróneo.\n" + +-#: edit.c:416 ++#: edit.c:414 + msgid "(End message with a . on a line by itself)\n" + msgstr "(Termine el mensaje con un . sólo en un renglón)\n" + +-#: edit.c:474 ++#: edit.c:472 + msgid "No mailbox.\n" + msgstr "No hay buzón.\n" + +-#: edit.c:478 ++#: edit.c:476 + msgid "Message contains:\n" + msgstr "Mensaje contiene:\n" + +@@ -1734,19 +1935,19 @@ msgstr "Mensaje contiene:\n" + #. not IN the middle of the content. + #. So it doesn't mean "(message will continue)" + #. but means "(press any key to continue using neomutt)". +-#: edit.c:486 edit.c:547 ++#: edit.c:484 edit.c:545 + msgid "(continue)\n" + msgstr "(continuar)\n" + +-#: edit.c:499 ++#: edit.c:497 + msgid "missing filename.\n" + msgstr "falta el nombre del archivo.\n" + +-#: edit.c:519 ++#: edit.c:517 + msgid "No lines in message.\n" + msgstr "No hay renglones en el mensaje.\n" + +-#: edit.c:558 ++#: edit.c:556 + #, c-format + msgid "%s: unknown editor command (~? for help)\n" + msgstr "%s: comando de editor deconocido (~? para ayuda)\n" +@@ -1793,19 +1994,73 @@ msgstr "No se pudo agregar a la carpeta: %s" + msgid "multipart message has no boundary parameter" + msgstr "¡mensaje multiparte no tiene parámetro boundary" + +-#: flags.c:382 index.c:2561 index.c:2604 index.c:3134 index.c:3171 ++#: flags.c:381 index.c:2587 index.c:2630 index.c:3160 index.c:3197 + #: mutt_thread.c:1091 mutt_thread.c:1158 mutt_thread.c:1246 + msgid "Threading is not enabled" + msgstr "La muestra por hilos no está activada" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Set flag" + msgstr "Poner indicador" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Clear flag" + msgstr "Quitar indicador" + ++#: gui/color.c:633 gui/color.c:644 ++#, c-format ++msgid "%s: color not supported by term" ++msgstr "%s: tu terminal no puede mostrar este color" ++ ++#: gui/color.c:652 ++#, c-format ++msgid "%s: no such color" ++msgstr "%s: color desconocido" ++ ++#: gui/color.c:717 gui/color.c:740 gui/color.c:751 gui/color.c:842 ++#, c-format ++msgid "%s: no such object" ++msgstr "%s: objeto desconocido" ++ ++#: gui/color.c:1142 ++#, c-format ++msgid "%s: no such attribute" ++msgstr "%s: atributo desconocido" ++ ++#: gui/color.c:1244 ++msgid "default colors not supported" ++msgstr "No hay soporte para colores estándar" ++ ++#: gui/color.c:1282 ++#, c-format ++msgid "Maximum quoting level is %d" ++msgstr "" ++ ++#: gui/color.c:1319 ++#, fuzzy, c-format ++msgid "%s: invalid number: %s" ++msgstr "%d: número de mensaje erróneo.\n" ++ ++#: gui/curs_lib.c:379 ++msgid "yes" ++msgstr "sí" ++ ++#: gui/curs_lib.c:380 ++msgid "no" ++msgstr "no" ++ ++#: gui/curs_lib.c:519 ++msgid "Exit NeoMutt?" ++msgstr "¿Salir de NeoMutt?" ++ ++#: gui/curs_lib.c:598 ++msgid "Press any key to continue..." ++msgstr "Presione una tecla para continuar..." ++ ++#: gui/curs_lib.c:749 ++msgid " ('?' for list): " ++msgstr " ('?' para lista): " ++ + #: handler.c:102 + #, fuzzy, c-format + msgid "[-- Type: %s/%s%s%s, Encoding: %s, Size: %s --]\n" +@@ -1826,23 +2081,23 @@ msgstr "[-- Automuestra usando %s --]\n" + msgid "Invoking autoview command: %s" + msgstr "Invocando comando de automuestra: %s" + +-#: handler.c:591 mutt_attach.c:527 mutt_attach.c:714 mutt_attach.c:745 +-#: mutt_attach.c:1087 mutt_attach.c:1152 ncrypt/pgpkey.c:723 +-#: ncrypt/pgpkey.c:920 ++#: handler.c:590 mutt_attach.c:555 mutt_attach.c:747 mutt_attach.c:778 ++#: mutt_attach.c:1120 mutt_attach.c:1185 ncrypt/pgpkey.c:756 ++#: ncrypt/pgpkey.c:955 + msgid "Can't create filter" + msgstr "No se pudo crear filtro" + +-#: handler.c:595 ++#: handler.c:594 + #, c-format + msgid "[-- Can't run %s. --]\n" + msgstr "[-- No se puede ejecutar %s. --]\n" + +-#: handler.c:614 handler.c:635 ++#: handler.c:613 handler.c:634 + #, c-format + msgid "[-- Autoview stderr of %s --]\n" + msgstr "[-- Error al ejecutar %s --]\n" + +-#: handler.c:764 ++#: handler.c:763 + msgid "[-- Error: message/external-body has no access-type parameter --]\n" + msgstr "[-- Error: Contenido message/external no tiene parámetro acces-type --]\n" + +@@ -1861,7 +2116,7 @@ msgstr "[-- Error: Contenido message/external no tiene parámetro acces-type --] + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:807 ++#: handler.c:806 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" +@@ -1890,7 +2145,7 @@ msgstr[1] "" + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:830 ++#: handler.c:829 + #, fuzzy, c-format + msgid "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" + msgid_plural "[-- This %s/%s attachment (size %s bytes) has been deleted --]\n" +@@ -1904,7 +2159,7 @@ msgstr[1] "[-- Este archivo adjunto %s/%s (tamaño %s bytes) ha sido suprimido - + #. + #. Caution: Argument three %3$ is also defined but should not be used + #. in this translation! +-#: handler.c:848 ++#: handler.c:847 + #, fuzzy + msgid "" + "[-- This %s/%s attachment has been deleted --]\n" +@@ -1916,12 +2171,12 @@ msgstr "" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The first "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:856 ++#: handler.c:855 + #, fuzzy, c-format + msgid "[-- This %s/%s attachment has been deleted --]\n" + msgstr "[-- Este archivo adjunto %s/%s ha sido suprimido --]\n" + +-#: handler.c:866 ++#: handler.c:865 + #, c-format + msgid "[-- name: %s --]\n" + msgstr "[-- nombre: %s --]\n" +@@ -1929,7 +2184,7 @@ msgstr "[-- nombre: %s --]\n" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:884 ++#: handler.c:883 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -1944,7 +2199,7 @@ msgstr "" + #. The "%s/%s" is a MIME type, e.g. "text/plain". The %s after + #. access-type is an access-type as defined by the MIME RFCs, e.g. "FTP", + #. "LOCAL-FILE", "MAIL-SERVER". +-#: handler.c:905 ++#: handler.c:904 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -1953,95 +2208,95 @@ msgstr "" + "[-- Este archivo adjunto %s/%s [-- Este archivo adjunto %s/%s no está incluido --]\n" + "[-- y el tipo de acceso indicado %s no está soportado --]\n" + +-#: handler.c:1090 ++#: handler.c:1089 + msgid "[-- Error: Could not display any parts of Multipart/Alternative --]\n" + msgstr "[-- ¡Error: no se pudo mostrar ninguna parte de multipart/alternative --]\n" + + #. L10N: %s is the attachment description, filename or form_name. +-#: handler.c:1231 ++#: handler.c:1230 + #, fuzzy, c-format + msgid "[-- Attachment #%d: %s --]\n" + msgstr "[-- Archivo adjunto #%d: %s --]\n" + +-#: handler.c:1236 ++#: handler.c:1235 + #, fuzzy, c-format + msgid "[-- Attachment #%d --]\n" + msgstr "[-- Archivo adjunto #%d --]\n" + +-#: handler.c:1254 ++#: handler.c:1253 + msgid "One or more parts of this message could not be displayed" + msgstr "Una o más partes de este mensaje no han podido ser mostradas" + +-#: handler.c:1320 ++#: handler.c:1319 + #, fuzzy + msgid "Unable to open 'memory stream'" + msgstr "¡Imposible abrir archivo temporal" + +-#: handler.c:1330 ++#: handler.c:1329 + msgid "Unable to open temporary file" + msgstr "¡Imposible abrir archivo temporal" + +-#: handler.c:1379 ++#: handler.c:1378 + #, fuzzy + msgid "failed to re-open 'memory stream'" + msgstr "¡Imposible abrir archivo temporal" + +-#: handler.c:1620 ++#: handler.c:1619 + msgid "Error: multipart/signed has no protocol" + msgstr "Error: multipart/signed no tiene protocolo" + + #. L10N: %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1694 ++#: handler.c:1693 + #, fuzzy, c-format + msgid "[-- This is an attachment (use '%s' to view this part) --]\n" + msgstr "[-- Este archivo adjunto %s/%s (use '%s' para ver esta parte) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". + #. The last %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1701 ++#: handler.c:1700 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported (use '%s' to view this part) --]\n" + msgstr "[-- %s/%s no está soportado (use '%s' para ver esta parte) --]\n" + +-#: handler.c:1709 ++#: handler.c:1708 + #, fuzzy + msgid "[-- This is an attachment (need 'view-attachments' bound to key) --]\n" + msgstr "[-- Este archivo adjunto %s/%s (necesita 'view-attachments' enlazado a una tecla) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1715 ++#: handler.c:1714 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported (need 'view-attachments' bound to key) --]\n" + msgstr "[-- %s/%s no está soportado (necesita 'view-attachments' enlazado a una tecla) --]\n" + +-#: handler.c:1724 ++#: handler.c:1723 + #, fuzzy + msgid "[-- This is an attachment --]\n" + msgstr "[-- Esto es un adjunto --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1729 ++#: handler.c:1728 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported --]\n" + msgstr "[-- %s/%s no está soportado --]\n" + +-#: help.c:400 ++#: help.c:401 + msgid "ERROR: please report this bug" + msgstr "ERROR: por favor reporte este fallo" + +-#: help.c:455 ++#: help.c:456 + msgid "" + msgstr "" + +-#: help.c:469 ++#: help.c:470 + msgid "Generic bindings:" + msgstr "Enlaces genéricos:" + +-#: help.c:473 ++#: help.c:474 + msgid "Unbound functions:" + msgstr "Funciones sin enlazar:" + +-#: help.c:481 ++#: help.c:482 + #, c-format + msgid "Help for %s" + msgstr "Ayuda para %s" +@@ -2058,41 +2313,41 @@ msgstr "" + msgid "badly formatted command string" + msgstr "línea de orden formateada de manera incorrecta" + +-#: hook.c:461 ++#: hook.c:466 + msgid "unhook: Can't do unhook * from within a hook" + msgstr "unhook: No se puede desenganchar * desde dentro de un gancho" + +-#: hook.c:474 ++#: hook.c:479 + #, c-format + msgid "unhook: unknown hook type: %s" + msgstr "unhook: tipo de gancho desconocido: %s" + +-#: hook.c:484 ++#: hook.c:489 + #, c-format + msgid "unhook: Can't delete a %s from within a %s" + msgstr "unhook: No se puede suprimir un %s desde dentro de un %s" + + #. L10N: '%s' is the (misspelled) name of the menu, e.g. 'index' or 'pager' +-#: icommands.c:259 keymap.c:1161 keymap.c:1346 ++#: icommands.c:261 keymap.c:1159 keymap.c:1344 + #, c-format + msgid "%s: no such menu" + msgstr "%s: menú desconocido" + + #. L10N: '%s' is the name of the menu, e.g. 'index' or 'pager', it might + #. L10N: also be 'all' when all menus are affected. +-#: icommands.c:272 ++#: icommands.c:274 + #, fuzzy, c-format + msgid "%s: no binds for this menu" + msgstr "%s: menú desconocido" + +-#: icommands.c:272 ++#: icommands.c:274 + #, fuzzy, c-format + msgid "%s: no macros for this menu" + msgstr "%s: menú desconocido" + + #. L10N: '%s' is the file name of the temporary file +-#: icommands.c:283 icommands.c:296 icommands.c:316 icommands.c:340 +-#: icommands.c:360 icommands.c:371 imap/message.c:1093 ++#: icommands.c:285 icommands.c:297 icommands.c:317 icommands.c:340 ++#: icommands.c:360 icommands.c:370 imap/message.c:1093 + #, c-format + msgid "Could not create temporary file %s" + msgstr "No se pudo crear el archivo temporáneo %s" +@@ -2129,28 +2384,28 @@ msgstr "Falló la autenticación GSSAPI" + msgid "LOGIN disabled on this server" + msgstr "LOGIN desactivado en este servidor" + +-#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:288 ++#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:289 + msgid "Logging in..." + msgstr "Entrando..." + +-#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:329 ++#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:330 + msgid "Login failed" + msgstr "El login falló" + +-#: imap/auth_oauth.c:64 pop/pop_auth.c:346 smtp.c:524 ++#: imap/auth_oauth.c:65 pop/pop_auth.c:347 smtp.c:549 + msgid "Authenticating (OAUTHBEARER)..." + msgstr "Comprobando autenticidad (OAUTHBEARER)..." + +-#: imap/auth_oauth.c:96 ++#: imap/auth_oauth.c:97 + msgid "OAUTHBEARER authentication failed" + msgstr "Falló la autenticación OAUTHBEARER" + +-#: imap/auth_sasl.c:128 nntp/nntp.c:606 nntp/nntp.c:671 smtp.c:443 ++#: imap/auth_sasl.c:128 nntp/nntp.c:608 nntp/nntp.c:673 smtp.c:468 + #, c-format + msgid "Authenticating (%s)..." + msgstr "Comprobando autentidad (%s)..." + +-#: imap/auth_sasl.c:259 pop/pop_auth.c:200 smtp.c:584 smtp.c:646 ++#: imap/auth_sasl.c:259 pop/pop_auth.c:201 smtp.c:609 smtp.c:671 + msgid "SASL authentication failed" + msgstr "Verificación de autentidad SASL falló" + +@@ -2197,91 +2452,81 @@ msgstr "Falló al renombrar %s" + msgid "Mailbox renamed" + msgstr "Se renombró el buzón" + +-#: imap/command.c:164 ++#: imap/command.c:177 + #, c-format + msgid "Mailbox %s@%s closed" + msgstr "Se cerro el buzón %s@%s" + +-#: imap/command.c:1258 imap/command.c:1370 ++#: imap/command.c:1287 imap/command.c:1399 + #, c-format + msgid "Connection to %s timed out" + msgstr "Se venció la conexión a %s" + +-#: imap/imap.c:87 ++#: imap/imap.c:93 + #, fuzzy + msgid "This IMAP server is ancient. NeoMutt does not work with it." + msgstr "Este servidor IMAP es anticuado. No funciona con neomutt." + +-#: imap/imap.c:438 ++#: imap/imap.c:444 + #, c-format + msgid "Header search without header name: %s" + msgstr "" + +-#: imap/imap.c:468 ++#: imap/imap.c:474 + #, c-format + msgid "Server-side custom search not supported: %s" + msgstr "" + +-#: imap/imap.c:584 ++#: imap/imap.c:590 + #, c-format + msgid "CREATE failed: %s" + msgstr "Falló el CREAR: %s" + +-#: imap/imap.c:704 ++#: imap/imap.c:710 + #, c-format + msgid "Closing connection to %s..." + msgstr "Cerrando conexión a %s..." + +-#: imap/imap.c:882 nntp/nntp.c:1889 pop/pop_lib.c:324 smtp.c:687 ++#: imap/imap.c:888 nntp/nntp.c:1891 pop/pop_lib.c:350 smtp.c:712 + msgid "Secure connection with TLS?" + msgstr "¿Iniciar conexión segura con TLS?" + +-#: imap/imap.c:895 nntp/nntp.c:1910 pop/pop_lib.c:343 smtp.c:702 ++#: imap/imap.c:901 nntp/nntp.c:1912 pop/pop_lib.c:369 smtp.c:727 + msgid "Could not negotiate TLS connection" + msgstr "No se pudo negociar una conexión TLS" + +-#: imap/imap.c:910 pop/pop_lib.c:360 ++#: imap/imap.c:916 pop/pop_lib.c:386 + msgid "Encrypted connection unavailable" + msgstr "Conexión cifrada no disponible" + +-#: imap/imap.c:1417 ++#: imap/imap.c:1430 + #, c-format + msgid "Subscribing to %s..." + msgstr "Suscribiendo a %s..." + +-#: imap/imap.c:1419 ++#: imap/imap.c:1432 + #, c-format + msgid "Unsubscribing from %s..." + msgstr "Anulando la inscripción a %s..." + +-#: imap/imap.c:1430 init.c:2142 +-#, c-format +-msgid "Subscribed to %s" +-msgstr "Inscribiéndose a %s..." +- +-#: imap/imap.c:1432 init.c:2620 +-#, fuzzy, c-format +-msgid "Unsubscribed from %s" +-msgstr "Desuscribiendo de %s..." +- +-#: imap/imap.c:1582 imap/message.c:1674 ++#: imap/imap.c:1595 imap/message.c:1674 + #, fuzzy, c-format + msgid "Copying %d message to %s..." + msgid_plural "Copying %d messages to %s..." + msgstr[0] "Copiando %d mensajes a %s..." + msgstr[1] "Copiando %d mensajes a %s..." + +-#: imap/imap.c:1599 imap/imap.c:2217 imap/message.c:1713 muttlib.c:1505 ++#: imap/imap.c:1612 imap/imap.c:2254 imap/message.c:1713 muttlib.c:1503 + #, c-format + msgid "Create %s?" + msgstr "¿Crear %s?" + +-#: imap/imap.c:1667 ++#: imap/imap.c:1685 + #, fuzzy + msgid "Expunge failed" + msgstr "Falló al borrar" + +-#: imap/imap.c:1683 ++#: imap/imap.c:1701 + #, fuzzy, c-format + msgid "Marking %d message deleted..." + msgid_plural "Marking %d messages deleted..." +@@ -2289,44 +2534,44 @@ msgstr[0] "Marcando %d mensajes como suprimidos..." + msgstr[1] "Marcando %d mensajes como suprimidos..." + + #. L10N: The plural is chosen by the last %d, i.e. the total number +-#: imap/imap.c:1720 ++#: imap/imap.c:1738 + #, fuzzy, c-format + msgid "Saving changed message... [%d/%d]" + msgid_plural "Saving changed messages... [%d/%d]" + msgstr[0] "Guardando indicadores de estado de mensajes... [%d/%d]" + msgstr[1] "Guardando indicadores de estado de mensajes... [%d/%d]" + +-#: imap/imap.c:1776 ++#: imap/imap.c:1794 + msgid "Error saving flags. Close anyway?" + msgstr "Error al guardar las marcas. ¿Cerrar igualmente?" + +-#: imap/imap.c:1783 ++#: imap/imap.c:1801 + #, fuzzy + msgid "Error saving flags" + msgstr "¡Dirección errónea!" + +-#: imap/imap.c:1808 ++#: imap/imap.c:1826 + msgid "Expunging messages from server..." + msgstr "Eliminando mensajes del servidor..." + +-#: imap/imap.c:1814 ++#: imap/imap.c:1832 + msgid "imap_sync_mailbox: EXPUNGE failed" + msgstr "" + +-#: imap/imap.c:2023 nntp/nntp.c:2486 ++#: imap/imap.c:2058 nntp/nntp.c:2488 + #, c-format + msgid "Selecting %s..." + msgstr "Seleccionando %s..." + +-#: imap/imap.c:2184 ++#: imap/imap.c:2221 + msgid "Error opening mailbox" + msgstr "¡Error al abrir el buzón!" + +-#: imap/imap.c:2330 ++#: imap/imap.c:2367 + msgid "IMAP server doesn't support custom flags" + msgstr "" + +-#: imap/imap.c:2374 ++#: imap/imap.c:2411 + msgid "Invalid IMAP flags" + msgstr "" + +@@ -2336,7 +2581,7 @@ msgid "Abort download and close mailbox?" + msgstr "" + + #: imap/message.c:554 mutt/memory.c:58 mutt/memory.c:98 mutt/memory.c:134 +-#: mutt/string.c:1178 mx.c:1176 ++#: mutt/string.c:1201 mx.c:1195 + msgid "Out of memory" + msgstr "¡Sin memoria" + +@@ -2356,7 +2601,7 @@ msgstr "Consiguiendo cabeceras de mensajes... [%d/%d]" + msgid "Unable to fetch headers from this IMAP server version" + msgstr "No se pueden recoger cabeceras de mensajes de esta versión de servidor IMAP" + +-#: imap/message.c:1099 index.c:1548 nntp/nntp.c:1328 pop/pop.c:426 ++#: imap/message.c:1099 index.c:1554 nntp/nntp.c:1330 pop/pop.c:426 + #, fuzzy + msgid "Fetching message headers..." + msgstr "Consiguiendo cabeceras de mensajes... [%d/%d]" +@@ -2371,154 +2616,154 @@ msgstr "Subiendo mensaje ..." + msgid "Copying message %d to %s..." + msgstr "Copiando mensaje %d a %s..." + +-#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2737 pop/pop.c:1110 ++#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2739 pop/pop.c:1105 + msgid "Fetching message..." + msgstr "Consiguiendo mensaje..." + +-#: imap/message.c:1959 pop/pop.c:1106 ++#: imap/message.c:1959 pop/pop.c:1101 + msgid "The message index is incorrect. Try reopening the mailbox." + msgstr "El índice de mensajes es incorrecto. Intente reabrir el buzón." + +-#: imap/util.c:767 ++#: imap/util.c:796 + msgid "Continue?" + msgstr "¿Continuar?" + +-#: index.c:115 index.c:128 ++#: index.c:111 index.c:124 + msgid "Quit" + msgstr "Salir" + +-#: index.c:118 index.c:131 recvattach.c:93 ++#: index.c:114 index.c:127 recvattach.c:91 + msgid "Save" + msgstr "Guardar" + +-#: index.c:119 query.c:81 ++#: index.c:115 query.c:79 + msgid "Mail" + msgstr "Nuevo" + +-#: index.c:120 pager.c:237 ++#: index.c:116 pager.c:229 + msgid "Reply" + msgstr "Responder" + +-#: index.c:121 ++#: index.c:117 + msgid "Group" + msgstr "Grupo" + +-#: index.c:132 pager.c:244 ++#: index.c:128 pager.c:236 + msgid "Post" + msgstr "" + +-#: index.c:133 pager.c:245 ++#: index.c:129 pager.c:237 + #, fuzzy + msgid "Followup" + msgstr "¿Responder a %s%s?" + +-#: index.c:190 index.c:1362 ++#: index.c:186 index.c:1367 + msgid "No mailbox is open" + msgstr "Ningún buzón está abierto" + +-#: index.c:196 ++#: index.c:192 + msgid "There are no messages" + msgstr "No hay nuevos mensajes" + +-#: index.c:202 ++#: index.c:198 + msgid "No visible messages" + msgstr "No hay mensajes visibles" + +-#: index.c:208 mx.c:901 pager.c:223 recvattach.c:80 ++#: index.c:204 mx.c:920 pager.c:215 recvattach.c:78 + msgid "Mailbox is read-only" + msgstr "El buzón es de sólo lectura" + +-#: index.c:214 pager.c:225 recvattach.c:98 ++#: index.c:210 pager.c:217 recvattach.c:96 + msgid "Function not permitted in attach-message mode" + msgstr "Función no permitida en el modo de adjuntar mensaje" + + #. L10N: %s is one of the CHECK_ACL entries below. +-#: index.c:239 pager.c:290 ++#: index.c:235 pager.c:282 + #, c-format + msgid "%s: Operation not permitted by ACL" + msgstr "ACL no permite la función %s" + +-#: index.c:430 ++#: index.c:426 + msgid "Can't toggle write on a readonly mailbox" + msgstr "¡No se puede cambiar a escritura un buzón de sólo lectura" + +-#: index.c:437 ++#: index.c:433 + msgid "Changes to folder will be written on folder exit" + msgstr "Los cambios al buzón seran escritos al salir del mismo" + +-#: index.c:442 ++#: index.c:438 + msgid "Changes to folder will not be written" + msgstr "Los cambios al buzón no serán escritos" + +-#: index.c:719 muttlib.c:1490 mx.c:206 mx.c:340 ++#: index.c:714 muttlib.c:1488 mx.c:206 mx.c:338 + #, c-format + msgid "%s is not a mailbox" + msgstr "¡%s no es un buzón" + +-#: index.c:1218 ++#: index.c:1223 + msgid "Mailbox was externally modified. Flags may be wrong." + msgstr "Buzón fue modificado. Los indicadores pueden estar mal." + +-#: index.c:1227 pager.c:2409 ++#: index.c:1232 pager.c:2379 + msgid "New mail in this mailbox" + msgstr "Correo nuevo en este buzón" + +-#: index.c:1242 ++#: index.c:1247 + msgid "Mailbox was externally modified" + msgstr "Buzón fue modificado externamente" + +-#: index.c:1369 ++#: index.c:1374 + msgid "No tagged messages" + msgstr "No hay mensajes marcados" + +-#: index.c:1373 index.c:1647 menu.c:1423 ++#: index.c:1378 index.c:1653 menu.c:1423 + msgid "Nothing to do" + msgstr "No hay qué hacer" + +-#: index.c:1470 ++#: index.c:1475 + msgid "Enter Message-Id: " + msgstr "Ingresar la identificación del mensaje: " + +-#: index.c:1481 ++#: index.c:1487 + msgid "Article has no parent reference" + msgstr "Al articulo no tiene referencia" + +-#: index.c:1504 ++#: index.c:1510 + #, fuzzy + msgid "Message is not visible in limited view" + msgstr "El mensaje anterior no es visible en vista limitada" + +-#: index.c:1508 ++#: index.c:1514 + #, fuzzy, c-format + msgid "Fetching %s from server..." + msgstr "Eliminando mensajes del servidor..." + +-#: index.c:1518 nntp/nntp.c:2772 ++#: index.c:1524 nntp/nntp.c:2774 + #, c-format + msgid "Article %s not found on the server" + msgstr "Artículo %s no encontrado en el servidor" + +-#: index.c:1544 ++#: index.c:1550 + msgid "No Message-Id. Unable to perform operation." + msgstr "Sin Message-Id. No se puede realizar la operación." + +-#: index.c:1623 ++#: index.c:1629 + msgid "No deleted messages found in the thread" + msgstr "Ningún mensaje borrado se encuentra en el hilo" + +-#: index.c:1644 ++#: index.c:1650 + msgid "Jump to message: " + msgstr "Saltar a mensaje: " + +-#: index.c:1650 ++#: index.c:1656 + msgid "Argument must be a message number" + msgstr "Argumento tiene que ser un número de mensaje" + +-#: index.c:1652 ++#: index.c:1658 + msgid "Invalid message number" + msgstr "Número de mensaje erróneo" + +-#: index.c:1654 ++#: index.c:1660 + msgid "That message is not visible" + msgstr "Ese mensaje no es visible" + +@@ -2531,37 +2776,37 @@ msgstr "Ese mensaje no es visible" + #. delete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. + #. +-#: index.c:1692 index.c:3267 pager.c:3064 ++#: index.c:1698 index.c:3293 pager.c:3039 + msgid "Can't delete messages" + msgstr "No se han podido borrar los mensajes" + +-#: index.c:1695 ++#: index.c:1701 + msgid "Delete messages matching: " + msgstr "Suprimir mensajes que coincidan con: " + +-#: index.c:1736 ++#: index.c:1742 + msgid "No limit pattern is in effect" + msgstr "No hay patrón limitante activo" + + #. L10N: ask for a limit to apply +-#: index.c:1741 ++#: index.c:1747 + #, c-format + msgid "Limit: %s" + msgstr "Límite: %s" + +-#: index.c:1778 ++#: index.c:1784 + msgid "Limit to messages matching: " + msgstr "Limitar a mensajes que coincidan con: " + +-#: index.c:1809 ++#: index.c:1815 + msgid "To view all messages, limit to \"all\"" + msgstr "Para ver todos los mensajes, limite a \"all\"" + +-#: index.c:1821 pager.c:2514 ++#: index.c:1827 pager.c:2487 + msgid "Quit NeoMutt?" + msgstr "¿Salir de NeoMutt?" + +-#: index.c:1924 ++#: index.c:1931 + msgid "Tag messages matching: " + msgstr "Marcar mensajes que coincidan con: " + +@@ -2569,198 +2814,198 @@ msgstr "Marcar mensajes que coincidan con: " + #. L10N: Due to the implementation details we do not know whether we + #. undelete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:1935 index.c:3807 pager.c:3418 ++#: index.c:1942 index.c:3833 pager.c:3396 + msgid "Can't undelete messages" + msgstr "No se puede recuperar mensajes borrados" + +-#: index.c:1939 ++#: index.c:1946 + msgid "Undelete messages matching: " + msgstr "No suprimir mensajes que coincidan con: " + +-#: index.c:1948 ++#: index.c:1955 + msgid "Untag messages matching: " + msgstr "Desmarcar mensajes que coincidan con: " + +-#: index.c:1989 ++#: index.c:1996 + msgid "Logged out of IMAP servers" + msgstr "Se cerró la conexión a los servidores IMAP.." + +-#: index.c:2105 ++#: index.c:2113 + msgid "No virtual folder and no Message-Id, aborting" + msgstr "No hubo carpeta temporaria ni identificación de mensaje, abortando" + +-#: index.c:2117 index.c:2288 index.c:2310 index.c:2331 ++#: index.c:2125 index.c:2313 index.c:2335 index.c:2356 + msgid "Failed to create query, aborting" + msgstr "Fallo al crear petición, abortando" + +-#: index.c:2130 ++#: index.c:2138 + msgid "failed to find message in notmuch database. try running 'notmuch new'." + msgstr "" + +-#: index.c:2139 ++#: index.c:2147 + msgid "Failed to read thread, aborting" + msgstr "Fallo al leer el hilo, abortando" + +-#: index.c:2171 mx.c:1252 mx.c:1272 ++#: index.c:2179 mx.c:1271 mx.c:1291 + msgid "Folder doesn't support tagging, aborting" + msgstr "" + +-#: index.c:2188 ++#: index.c:2196 + msgid "No tag specified, aborting" + msgstr "" + +-#: index.c:2198 ++#: index.c:2206 + msgid "Update tags..." + msgstr "" + +-#: index.c:2238 ++#: index.c:2246 + msgid "Failed to modify tags, aborting" + msgstr "" + +-#: index.c:2284 ++#: index.c:2293 + #, fuzzy + msgid "No query, aborting" + msgstr "Sin asunto, cancelando" + +-#: index.c:2299 index.c:2320 ++#: index.c:2324 index.c:2345 + msgid "Windowed queries disabled" + msgstr "" + +-#: index.c:2304 index.c:2325 ++#: index.c:2329 index.c:2350 + msgid "No notmuch vfolder currently loaded" + msgstr "" + +-#: index.c:2374 ++#: index.c:2399 + msgid "Open mailbox in read-only mode" + msgstr "Abrir buzón en modo de sólo lectura" + +-#: index.c:2376 ++#: index.c:2401 + msgid "Open mailbox" + msgstr "Abrir buzón" + +-#: index.c:2386 ++#: index.c:2411 + msgid "No mailboxes have new mail" + msgstr "Ningún buzón tiene mensajes nuevos." + +-#: index.c:2419 ++#: index.c:2444 + msgid "Open newsgroup in read-only mode" + msgstr "Abrir grupo de noticia en modo de sólo lectura" + +-#: index.c:2421 ++#: index.c:2446 + msgid "Open newsgroup" + msgstr "Abrir grupo de noticias" + +-#: index.c:2538 ++#: index.c:2564 + #, fuzzy + msgid "Exit NeoMutt without saving?" + msgstr "¿Salir de NeoMutt sin guardar?" + + #. L10N: CHECK_ACL +-#: index.c:2554 ++#: index.c:2580 + msgid "Can't break thread" + msgstr "No se puede detener el hilo" + +-#: index.c:2574 ++#: index.c:2600 + msgid "Thread broken" + msgstr "Hilo roto" + +-#: index.c:2587 ++#: index.c:2613 + msgid "Thread can't be broken, message is not part of a thread" + msgstr "El hilo no puede romperse, el mensaje no es parte de un hilo" + + #. L10N: CHECK_ACL +-#: index.c:2597 ++#: index.c:2623 + msgid "Can't link threads" + msgstr "No se pueden vincular los hilos" + +-#: index.c:2606 ++#: index.c:2632 + msgid "No Message-ID: header available to link thread" + msgstr "" + +-#: index.c:2608 ++#: index.c:2634 + msgid "First, please tag a message to be linked here" + msgstr "Primeramente, marcar un mensaje para enviar un enlace aquí" + +-#: index.c:2621 ++#: index.c:2647 + msgid "Threads linked" + msgstr "Hilos enlazados" + +-#: index.c:2624 ++#: index.c:2650 + msgid "No thread linked" + msgstr "Ningún hilo enlazado" + +-#: index.c:2665 index.c:2690 ++#: index.c:2691 index.c:2716 + msgid "You are on the last message" + msgstr "Está en el último mensaje" + +-#: index.c:2673 index.c:2716 ++#: index.c:2699 index.c:2742 + msgid "No undeleted messages" + msgstr "No hay mensajes sin suprimir" + +-#: index.c:2708 index.c:2733 ++#: index.c:2734 index.c:2759 + msgid "You are on the first message" + msgstr "Está en el primer mensaje" + +-#: index.c:2874 ++#: index.c:2900 + msgid "No new messages in this limited view" + msgstr "El mensaje anterior no es visible en la pestaña" + +-#: index.c:2876 ++#: index.c:2902 + #, fuzzy + msgid "No new messages" + msgstr "No hay mensajes nuevos" + +-#: index.c:2881 ++#: index.c:2907 + msgid "No unread messages in this limited view" + msgstr "No hay ningún mensaje no leído en esta pestaña" + +-#: index.c:2883 ++#: index.c:2909 + msgid "No unread messages" + msgstr "No hay mensajes no leídos" + +-#: index.c:2893 menu.c:1208 pager.c:2644 pattern.c:2652 ++#: index.c:2919 menu.c:1208 pager.c:2618 pattern.c:2776 + msgid "Search wrapped to top" + msgstr "La búsqueda volvió a empezar desde arriba" + +-#: index.c:2898 pager.c:2669 pattern.c:2663 ++#: index.c:2924 pager.c:2643 pattern.c:2787 + msgid "Search wrapped to bottom" + msgstr "La búsqueda volvió a empezar desde abajo" + + #. L10N: CHECK_ACL +-#: index.c:2915 ++#: index.c:2941 + msgid "Can't flag message" + msgstr "No se pudo marcar el mensaje" + + #. L10N: CHECK_ACL +-#: index.c:2961 pager.c:3377 ++#: index.c:2987 pager.c:3355 + msgid "Can't toggle new" + msgstr "No se puede alternar nuevo" + +-#: index.c:3057 ++#: index.c:3083 + msgid "No more threads" + msgstr "No hay mas hilos" + +-#: index.c:3059 ++#: index.c:3085 + msgid "You are on the first thread" + msgstr "Ya está en el primer hilo" + +-#: index.c:3156 ++#: index.c:3182 + msgid "Thread contains unread or flagged messages" + msgstr "El hilo contiene mensajes marcados o no leídos" + + #. L10N: CHECK_ACL +-#: index.c:3215 pager.c:3019 ++#: index.c:3241 pager.c:2994 + msgid "Can't delete message" + msgstr "No se puede borrar este mensaje" + + #. L10N: CHECK_ACL +-#: index.c:3339 ++#: index.c:3365 + msgid "Can't edit message" + msgstr "No se puede editar este mensaje" + + #. L10N: This is displayed when the x-label on one or more + #. messages is edited. +-#: index.c:3432 pager.c:3495 ++#: index.c:3458 pager.c:3473 + #, c-format + msgid "%d label changed" + msgid_plural "%d labels changed" +@@ -2770,7 +3015,7 @@ msgstr[1] "Se modificaron %d etiquetas" + #. L10N: This is displayed when editing an x-label, but no messages + #. were updated. Possibly due to canceling at the prompt or if the new + #. label is the same as the old label. +-#: index.c:3440 pager.c:3499 ++#: index.c:3466 pager.c:3477 + msgid "No labels changed" + msgstr "No se modificó ninguna etiqueta" + +@@ -2778,21 +3023,21 @@ msgstr "No se modificó ninguna etiqueta" + #. L10N: Due to the implementation details we do not know whether we + #. mark zero, 1, 12, ... messages as read. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:3571 ++#: index.c:3597 + msgid "Can't mark messages as read" + msgstr "No se pueden marcar estos mensajes como leídos" + + #. L10N: This is the prompt for . Whatever they + #. enter will be prefixed by $mark_macro_prefix and will become + #. a macro hotkey to jump to the currently selected message. +-#: index.c:3612 ++#: index.c:3638 + #, fuzzy + msgid "Enter macro stroke: " + msgstr "Entre keyID para %s: " + + #. L10N: "message hotkey" is the key bindings menu description of a + #. macro created by . +-#: index.c:3620 ++#: index.c:3646 + #, fuzzy + msgid "message hotkey" + msgstr "Mensaje pospuesto." +@@ -2800,264 +3045,124 @@ msgstr "Mensaje pospuesto." + #. L10N: This is echoed after creates a new hotkey + #. macro. %s is the hotkey string ($mark_macro_prefix followed + #. by whatever they typed at the prompt.) +-#: index.c:3625 ++#: index.c:3651 + #, c-format + msgid "Message bound to %s" + msgstr "El mensaje se rebotó a %s" + + #. L10N: This error is printed if can't find a + #. Message-ID for the currently selected message in the index. +-#: index.c:3634 ++#: index.c:3660 + #, fuzzy + msgid "No message ID to macro" + msgstr "No hay mensajes en esa carpeta" + +-#: index.c:3688 pager.c:3221 recvattach.c:1646 ++#: index.c:3714 pager.c:3196 recvattach.c:1678 + msgid "Reply by mail as poster prefers?" + msgstr "¿Responder mediante email tal y como el autor del mensaje prefiere?" + +-#: index.c:3691 pager.c:3182 pager.c:3194 pager.c:3224 ++#: index.c:3717 pager.c:3157 pager.c:3169 pager.c:3199 + msgid "Posting to this group not allowed, may be moderated. Continue?" + msgstr "Enviar un mensaje a este grupo no está permitido, puede ser un grupo moderado. ¿Continuar?" + + #. L10N: CHECK_ACL +-#: index.c:3768 pager.c:3397 ++#: index.c:3794 pager.c:3375 + msgid "Can't undelete message" + msgstr "No se puede recuperar el mensaje borrado" + +-#: init.c:313 ++#: init.c:223 + #, c-format + msgid "Error in command line: %s" + msgstr "Error en línea de comando: %s" + +-#: init.c:315 ++#: init.c:225 + #, fuzzy, c-format + msgid "Warning in command line: %s" + msgstr "Error en línea de comando: %s" + +-#: init.c:426 ++#: init.c:336 + #, fuzzy + msgid "unable to determine nodename via uname()" + msgstr "imposible determinar nombre del usuario" + +-#: init.c:580 +-msgid "-group: no group name" +-msgstr "" +- +-#: init.c:590 +-#, fuzzy +-msgid "out of arguments" +-msgstr "Faltan parámetros" +- +-#: init.c:804 init.c:1752 +-#, c-format +-msgid "Error: Can't build path of '%s'" +-msgstr "" +- +-#: init.c:817 +-#, c-format +-msgid "Error: Cyclic sourcing of configuration file '%s'" +-msgstr "" +- +-#: init.c:850 +-#, c-format +-msgid "Error in %s, line %d: %s" +-msgstr "Error en %s, renglón %d: %s" +- +-#: init.c:861 +-#, fuzzy, c-format +-msgid "Warning in %s, line %d: %s" +-msgstr "Error en %s, renglón %d: %s" +- +-#: init.c:885 +-#, c-format +-msgid "source: errors in %s" +-msgstr "source: errores en %s" +- +-#: init.c:885 +-#, c-format +-msgid "source: reading aborted due to too many errors in %s" +-msgstr "fuente: lectura se abortó por haber demasiados errores en %s" +- +-#: init.c:894 +-#, c-format +-msgid "source: %d warning in %s" +-msgid_plural "source: %d warnings in %s" +-msgstr[0] "fuente: %d error en %s" +-msgstr[1] "fuente: %d errores en %s" +- +-#: init.c:923 +-msgid "alias: no address" +-msgstr "alias: sin dirección" +- +-#: init.c:965 +-#, c-format +-msgid "Warning: Bad IDN '%s' in alias '%s'" +-msgstr "Aviso: IDN '%s' inválido en alias '%s'" +- +-#: init.c:1043 +-#, fuzzy +-msgid "attachments: no disposition" +-msgstr "editar la descripción del archivo adjunto" +- +-#: init.c:1054 +-msgid "Current attachments settings:" +-msgstr "Ajustes de adjuntos:" +- +-#: init.c:1084 +-#, fuzzy +-msgid "attachments: invalid disposition" +-msgstr "editar la descripción del archivo adjunto" +- +-#: init.c:1160 +-#, c-format +-msgid "%sgroup: missing -rx or -addr" +-msgstr "%sgroup: falta -rx o -addr" +- +-#: init.c:1186 +-#, c-format +-msgid "%sgroup: warning: bad IDN '%s'" +-msgstr "%sgroup: aviso: IDN inválido '%s'" +- +-#: init.c:1278 +-#, c-format +-msgid "Error: %s" +-msgstr "" +- +-#: init.c:1445 +-msgid "invalid header field" +-msgstr "encabezado erróneo" +- +-#: init.c:1711 init.c:1815 +-#, c-format +-msgid "%s: unknown variable" +-msgstr "%s: variable desconocida" +- +-#: init.c:1908 +-#, c-format +-msgid "%s is unset" +-msgstr "%s no está activada" +- +-#: init.c:1953 mutt_lua.c:478 +-#, c-format +-msgid "source: error at %s" +-msgstr "source: errores en %s" +- +-#: init.c:1961 +-#, c-format +-msgid "source: file %s could not be sourced" +-msgstr "fuente: el archivo %s no se pudo encontrar" +- +-#: init.c:1984 +-msgid "spam: no matching pattern" +-msgstr "spam: no hay patrón que coincida" +- +-#: init.c:1986 +-#, fuzzy +-msgid "nospam: no matching pattern" +-msgstr "quitar marca de los mensajes que coincidan con un patrón" +- +-#: init.c:2146 +-#, c-format +-msgid "Could not subscribe to %s" +-msgstr "" +- +-#: init.c:2154 init.c:2632 +-msgid "No folder specified" +-msgstr "" +- +-#: init.c:2341 +-#, fuzzy +-msgid "unattachments: no disposition" +-msgstr "editar la descripción del archivo adjunto" +- +-#: init.c:2379 +-msgid "unattachments: invalid disposition" +-msgstr "" +- +-#: init.c:2624 +-#, c-format +-msgid "Could not unsubscribe from %s" +-msgstr "" +- +-#: init.c:3292 ++#: init.c:1042 + #, c-format + msgid "%s: unknown command" + msgstr "%s: comando desconocido" + +-#: init.c:3837 ++#: init.c:1588 + msgid "'charset' must contain exactly one character set name" + msgstr "" + +-#: init.c:3853 init.c:3877 init.c:3912 ++#: init.c:1604 init.c:1628 init.c:1663 + #, c-format + msgid "Invalid value for option %s: %s" + msgstr "Valor no válido para la opción %s: %s" + +-#: init.c:3890 ++#: init.c:1641 + #, c-format + msgid "Option %s may not be set or reset from the pager" + msgstr "" + +-#: init.c:3928 ++#: init.c:1679 + #, c-format + msgid "Option %s may not be set when in attach-message mode" + msgstr "No se puede usar la opción %s cuando estás en el modo de adjuntar mensajes" + + #. L10N: This applies to the "$wrap_headers" config variable +-#: init.c:3943 ++#: init.c:1694 + #, c-format + msgid "Option %s must between 78 and 998 inclusive" + msgstr "" + +-#: keymap.c:373 keymap.c:381 ++#: keymap.c:371 keymap.c:379 + #, c-format + msgid "Binding '%s' will alias '%s' Before, try: 'bind %s %s noop' https://neomutt.org/guide/configuration.html#bind-warnings" + msgstr "" + +-#: keymap.c:757 ++#: keymap.c:755 + msgid "Macro loop detected" + msgstr "Bucle de macros detectado" + +-#: keymap.c:1064 keymap.c:1099 ++#: keymap.c:1062 keymap.c:1097 + msgid "Key is not bound" + msgstr "La tecla no tiene enlace a una función" + +-#: keymap.c:1104 ++#: keymap.c:1102 + #, c-format + msgid "Key is not bound. Press '%s' for help." + msgstr "Tecla sin enlace. Presione '%s' para obtener ayuda." + +-#: keymap.c:1177 ++#: keymap.c:1175 + #, c-format + msgid "%s: null key sequence" + msgstr "%s: sequencia de teclas vacía" + +-#: keymap.c:1212 ++#: keymap.c:1210 + #, fuzzy, c-format + msgid "Function '%s' not available for menu '%s'" + msgstr "No existe un motor de descifrado disponible para el mensaje" + +-#: keymap.c:1495 ++#: keymap.c:1493 + msgid "macro: empty key sequence" + msgstr "macro: sequencia de teclas vacía" + +-#: keymap.c:1543 ++#: keymap.c:1541 + #, fuzzy + msgid "exec: no arguments" + msgstr "exec: faltan parámetros" + +-#: keymap.c:1563 ++#: keymap.c:1561 + #, c-format + msgid "%s: no such function" + msgstr "%s: función desconocida" + +-#: keymap.c:1584 ++#: keymap.c:1582 + #, fuzzy + msgid "Enter keys (^G to abort): " + msgstr "Entre keyID para %s: " + +-#: keymap.c:1590 ++#: keymap.c:1588 + #, c-format + msgid "Char = %s, Octal = %o, Decimal = %d" + msgstr "" +@@ -3081,7 +3186,7 @@ msgstr "Entrada mailcap para tipo %s no encontrada" + msgid "Scanning %s..." + msgstr "Escaneando %s..." + +-#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:353 ++#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:351 + #, c-format + msgid "Reading %s..." + msgstr "Leyendo %s..." +@@ -3095,13 +3200,13 @@ msgid "md_commit_message(): unable to set time on file" + msgstr "" + + #. L10N: Displayed before/as a mailbox is being synced +-#: maildir/shared.c:1723 mbox/mbox.c:1276 mx.c:461 notmuch/mutt_notmuch.c:2364 ++#: maildir/shared.c:1734 mbox/mbox.c:1276 mx.c:459 notmuch/mutt_notmuch.c:2364 + #, c-format + msgid "Writing %s..." + msgstr "Escribiendo %s..." + + #. L10N: Try to limit to 80 columns +-#: main.c:227 ++#: main.c:160 + msgid "" + "usage:\n" + " neomutt [-Enx] [-e ] [-F ] [-H ] [-i ]\n" +@@ -3124,7 +3229,7 @@ msgid "" + msgstr "" + + #. L10N: Try to limit to 80 columns. If more space is needed add an indented line +-#: main.c:247 ++#: main.c:180 + msgid "" + "options:\n" + " -- Special argument forces NeoMutt to stop option parsing and treat\n" +@@ -3167,54 +3272,54 @@ msgid "" + " or exit immediately with exit code 1 otherwise" + msgstr "" + +-#: main.c:312 ++#: main.c:245 + msgid "Error initializing terminal" + msgstr "Error al inicializar la terminal" + +-#: main.c:390 ++#: main.c:323 + msgid "unable to determine username" + msgstr "imposible determinar nombre del usuario" + +-#: main.c:396 ++#: main.c:329 + msgid "unable to determine home directory" + msgstr "imposible determinar el directorio del usuario" + +-#: main.c:640 ++#: main.c:572 + #, c-format + msgid "Error: value '%s' is invalid for -d" + msgstr "Error: valor '%s' es inválido para -d" + +-#: main.c:884 ++#: main.c:815 + msgid "Failed to parse mailto: link" + msgstr "Fallo al interpretar enlace mailto:" + +-#: main.c:896 send.c:2452 send.c:2456 ++#: main.c:827 send.c:2463 send.c:2467 + msgid "No recipients specified" + msgstr "No hay destinatario" + +-#: main.c:923 ++#: main.c:854 + msgid "Can't use -E flag with stdin" + msgstr "No se puede usar -E con la salida estándar" + +-#: main.c:1007 ++#: main.c:938 + #, c-format + msgid "Can't parse message template: %s" + msgstr "No se puedo analizar la plantilla de mensaje : %s" + +-#: main.c:1073 mutt_header.c:329 ++#: main.c:1004 mutt_header.c:329 + #, c-format + msgid "%s: unable to attach file" + msgstr "%s: imposible adjuntar archivo" + +-#: main.c:1156 ++#: main.c:1087 + msgid "No mailbox with new mail" + msgstr "Ningún buzón con correo nuevo" + +-#: main.c:1180 ++#: main.c:1111 + msgid "No incoming mailboxes defined" + msgstr "Ningún buzón de entrada fue definido" + +-#: main.c:1230 ++#: main.c:1161 + msgid "Mailbox is empty" + msgstr "El buzón está vacío" + +@@ -3256,52 +3361,52 @@ msgstr "¡Imposible reabrir buzón" + msgid "Can't write message" + msgstr "No se pudo escribir el mensaje" + +-#: menu.c:632 ++#: menu.c:631 + msgid "Jump to: " + msgstr "Saltar a: " + +-#: menu.c:641 ++#: menu.c:640 + msgid "Invalid index number" + msgstr "Número de índice inválido" + +-#: menu.c:645 menu.c:671 menu.c:744 menu.c:810 menu.c:828 menu.c:843 menu.c:858 +-#: menu.c:873 menu.c:890 menu.c:907 menu.c:1553 ++#: menu.c:644 menu.c:670 menu.c:743 menu.c:809 menu.c:827 menu.c:842 menu.c:857 ++#: menu.c:872 menu.c:889 menu.c:906 menu.c:1553 + msgid "No entries" + msgstr "No hay entradas" + +-#: menu.c:668 ++#: menu.c:667 + msgid "You can't scroll down farther" + msgstr "Ya no puede bajar más" + +-#: menu.c:690 ++#: menu.c:689 + msgid "You can't scroll up farther" + msgstr "Ya no puede subir más" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the first page" + msgstr "Está en la primera página" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the last page" + msgstr "Está en la última página" + +-#: menu.c:922 ++#: menu.c:921 + msgid "You are on the last entry" + msgstr "Está en la última entrada" + +-#: menu.c:937 ++#: menu.c:936 + msgid "You are on the first entry" + msgstr "Está en la primera entrada" + +-#: menu.c:1172 pager.c:2692 pattern.c:2578 ++#: menu.c:1172 pager.c:2666 pattern.c:2702 + msgid "Search for: " + msgstr "Buscar por: " + +-#: menu.c:1173 pager.c:2693 pattern.c:2579 ++#: menu.c:1173 pager.c:2667 pattern.c:2703 + msgid "Reverse search for: " + msgstr "Buscar en sentido opuesto: " + +-#: menu.c:1226 pager.c:2641 pager.c:2666 pager.c:2800 pattern.c:2708 ++#: menu.c:1226 pager.c:2615 pager.c:2640 pager.c:2774 pattern.c:2832 + msgid "Not found" + msgstr "No fue encontrado" + +@@ -3344,20 +3449,20 @@ msgstr "Esperando bloqueo flock... %d" + msgid "Bad history file format (line %d)" + msgstr "Formato de archivo de historial inválido (línea %d)" + +-#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1006 ncrypt/crypt_gpgme.c:2381 +-#: ncrypt/crypt_gpgme.c:2401 ncrypt/crypt_gpgme.c:2460 +-#: ncrypt/crypt_gpgme.c:2477 ncrypt/crypt_gpgme.c:2509 +-#: ncrypt/crypt_gpgme.c:2527 ncrypt/crypt_gpgme.c:2611 +-#: ncrypt/crypt_gpgme.c:3194 ncrypt/crypt_gpgme.c:3292 +-#: ncrypt/crypt_gpgme.c:4373 ncrypt/pgp.c:576 ncrypt/pgp.c:583 ncrypt/pgp.c:896 +-#: ncrypt/pgp.c:1014 ncrypt/pgp.c:1161 ncrypt/pgp.c:1181 ncrypt/pgp.c:1215 +-#: ncrypt/pgp.c:1568 ncrypt/pgpkey.c:708 ncrypt/pgpkey.c:902 +-#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1092 ncrypt/smime.c:1100 +-#: ncrypt/smime.c:1191 ncrypt/smime.c:1299 ncrypt/smime.c:1364 +-#: ncrypt/smime.c:1372 ncrypt/smime.c:1571 ncrypt/smime.c:1967 +-#: ncrypt/smime.c:2046 ncrypt/smime.c:2053 ncrypt/smime.c:2156 +-#: ncrypt/smime.c:2281 ncrypt/smime.c:2297 nntp/nntp.c:1397 nntp/nntp.c:2237 +-#: pattern.c:1132 pop/pop.c:182 ++#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1005 ncrypt/crypt_gpgme.c:2420 ++#: ncrypt/crypt_gpgme.c:2440 ncrypt/crypt_gpgme.c:2499 ++#: ncrypt/crypt_gpgme.c:2516 ncrypt/crypt_gpgme.c:2548 ++#: ncrypt/crypt_gpgme.c:2566 ncrypt/crypt_gpgme.c:2650 ++#: ncrypt/crypt_gpgme.c:3237 ncrypt/crypt_gpgme.c:3335 ++#: ncrypt/crypt_gpgme.c:4421 ncrypt/pgp.c:575 ncrypt/pgp.c:582 ncrypt/pgp.c:895 ++#: ncrypt/pgp.c:1013 ncrypt/pgp.c:1160 ncrypt/pgp.c:1180 ncrypt/pgp.c:1214 ++#: ncrypt/pgp.c:1570 ncrypt/pgpkey.c:741 ncrypt/pgpkey.c:937 ++#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1126 ncrypt/smime.c:1134 ++#: ncrypt/smime.c:1225 ncrypt/smime.c:1333 ncrypt/smime.c:1398 ++#: ncrypt/smime.c:1406 ncrypt/smime.c:1605 ncrypt/smime.c:2001 ++#: ncrypt/smime.c:2080 ncrypt/smime.c:2087 ncrypt/smime.c:2190 ++#: ncrypt/smime.c:2315 ncrypt/smime.c:2331 nntp/nntp.c:1399 nntp/nntp.c:2239 ++#: pattern.c:1171 pop/pop.c:182 + msgid "Can't create temporary file" + msgstr "No se pudo crear archivo temporal" + +@@ -3376,7 +3481,7 @@ msgstr "Modo debug a nivel %d al archivo '%s'" + msgid "Logging at level %d to file '%s'" + msgstr "Modo debug a nivel %d al archivo '%s'" + +-#: mutt/path.c:401 ++#: mutt/path.c:420 + msgid "Error: converting path to absolute" + msgstr "Error: convertir la ruta relativa del fichero a una ruta absoluta" + +@@ -3400,17 +3505,17 @@ msgstr "Recibió señal %d (%s) ... Saliendo.\n" + msgid "Caught signal %d ... Exiting.\n" + msgstr "Señal %d recibida... Saliendo.\n" + +-#: muttlib.c:490 ++#: muttlib.c:488 + #, c-format + msgid "mutt_randbuf buflen=%zu" + msgstr "" + +-#: muttlib.c:510 ++#: muttlib.c:508 + #, c-format + msgid "open /dev/urandom: %s" + msgstr "abrir /dev/urandom: %s" + +-#: muttlib.c:517 ++#: muttlib.c:515 + #, c-format + msgid "read /dev/urandom: %s" + msgstr "leer /dev/urandom: %s" +@@ -3418,148 +3523,120 @@ msgstr "leer /dev/urandom: %s" + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) + #. These three letters correspond to the choices in the string. +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "File is a directory, save under it: (y)es, (n)o, (a)ll?" + msgstr "Este archivo es un directorio, ¿guardar en él? (s)í, (n)o, (t)odos" + +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "yna" + msgstr "snt" + + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) +-#: muttlib.c:763 ++#: muttlib.c:761 + msgid "File is a directory, save under it?" + msgstr "Archivo es un directorio, ¿guardar en él?" + +-#: muttlib.c:768 ++#: muttlib.c:766 + msgid "File under directory: " + msgstr "Archivo bajo directorio: " + +-#: muttlib.c:781 ++#: muttlib.c:779 + msgid "File exists, (o)verwrite, (a)ppend, or (c)ancel?" + msgstr "El archivo existe, ¿(s)obreescribir, (a)gregar o (c)ancelar?" + + #. L10N: Options for: File exists, (o)verwrite, (a)ppend, or (c)ancel? +-#: muttlib.c:783 ++#: muttlib.c:781 + msgid "oac" + msgstr "sac" + +-#: muttlib.c:1458 ++#: muttlib.c:1456 + msgid "Can't save message to POP mailbox" + msgstr "No se puede guardar un mensaje en un buzón POP" + +-#: muttlib.c:1468 ++#: muttlib.c:1466 + #, c-format + msgid "Append messages to %s?" + msgstr "¿Agregar mensajes a %s?" + +-#: muttlib.c:1481 ++#: muttlib.c:1479 + #, fuzzy + msgid "Can't save message to news server" + msgstr "No se pueden editar mensajes en el servidor POP" + +-#. L10N: Example: Username at myhost.com +-#: mutt_account.c:233 +-#, c-format +-msgid "Username at %s: " +-msgstr "Nombre de usuario en %s: " +- +-#: mutt_account.c:315 +-#, c-format +-msgid "Password for %s@%s: " +-msgstr "Contraseña para %s@%s: " +- +-#. L10N: You will see this error message if (1) you have "oauthbearer" in +-#. one of your $*_authenticators and (2) you do not have the corresponding +-#. $*_oauth_refresh_command defined. So the message does not mean "None of +-#. your $*_oauth_refresh_command's are defined." +-#: mutt_account.c:383 +-#, fuzzy +-msgid "No OAUTH refresh command defined" +-msgstr "El comando de indagación no fue definido" +- +-#: mutt_account.c:390 +-msgid "Unable to run refresh command" +-msgstr "" +- +-#: mutt_account.c:400 +-msgid "Command returned empty string" +-msgstr "" +- +-#: mutt_attach.c:140 mutt_attach.c:274 mutt_attach.c:459 mutt_attach.c:1054 ++#: mutt_attach.c:142 mutt_attach.c:276 mutt_attach.c:488 mutt_attach.c:1087 + msgid "Can't match 'nametemplate', continue?" + msgstr "No se pudo encontrar el nombre, ¿continuar?" + +-#: mutt_attach.c:150 ++#: mutt_attach.c:152 + #, c-format + msgid "Mailcap compose entry requires %%s" + msgstr "La entrada \"compose\" en el archivo Mailcap requiere %%s" + +-#: mutt_attach.c:168 ++#: mutt_attach.c:170 + msgid "Failure to open file to parse headers" + msgstr "Error al abrir el archivo para leer las cabeceras" + +-#: mutt_attach.c:202 ++#: mutt_attach.c:204 + msgid "Failure to open file to strip headers" + msgstr "Error al abrir el archivo para quitar las cabeceras" + +-#: mutt_attach.c:212 ++#: mutt_attach.c:214 + msgid "Failure to rename file" + msgstr "Falló el renombrar el archivo" + +-#: mutt_attach.c:222 ++#: mutt_attach.c:224 + #, c-format + msgid "No mailcap compose entry for %s, creating empty file" + msgstr "Falta la entrada \"compose\" de mailcap para %s, creando archivo vacío" + +-#: mutt_attach.c:284 ++#: mutt_attach.c:286 + #, c-format + msgid "Mailcap Edit entry requires %%s" + msgstr "La entrada \"edit\" en el archivo Mailcap requiere %%s" + +-#: mutt_attach.c:305 ++#: mutt_attach.c:307 + #, c-format + msgid "No mailcap edit entry for %s" + msgstr "Falta la entrada \"edit\" para %s en el archivo Mailcap" + +-#: mutt_attach.c:427 ++#: mutt_attach.c:456 + msgid "No matching mailcap entry found. Viewing as text." + msgstr "No hay una entrada correspondiente en el archivo mailcap. Viendo como texto." + +-#: mutt_attach.c:440 ++#: mutt_attach.c:469 + msgid "MIME type not defined. Can't view attachment." + msgstr "Tipo MIME no definido. No se puede mostrar el archivo adjunto." + +-#: mutt_attach.c:535 ++#: mutt_attach.c:563 + #, c-format + msgid "---Command: %-20.20s Description: %s" + msgstr "---Orden: %-20.20s Descripción: %s" + +-#: mutt_attach.c:540 ++#: mutt_attach.c:568 + #, c-format + msgid "---Command: %-30.30s Attachment: %s" + msgstr "---Orden: %-30.30s Adjunto: %s" + +-#: mutt_attach.c:619 ++#: mutt_attach.c:652 + #, c-format + msgid "---Attachment: %s: %s" + msgstr "-- Adjuntos: %s: %s" + +-#: mutt_attach.c:621 ++#: mutt_attach.c:654 + #, c-format + msgid "---Attachment: %s" + msgstr "-- Adjunto: %s" + +-#: mutt_attach.c:902 mutt_attach.c:910 ++#: mutt_attach.c:935 mutt_attach.c:943 + msgid "Write fault" + msgstr "¡Error de escritura" + +-#: mutt_attach.c:1174 ++#: mutt_attach.c:1207 + msgid "I don't know how to print that" + msgstr "¡No sé cómo se imprime eso" + +-#: mutt_history.c:47 query.c:84 ++#: mutt_history.c:47 query.c:82 + msgid "Search" + msgstr "Buscar" + +@@ -3568,21 +3645,21 @@ msgstr "Buscar" + msgid "History '%s'" + msgstr "" + +-#: mutt_logging.c:315 ++#: mutt_logging.c:313 + #, c-format + msgid "Invalid value for option %s: %ld" + msgstr "Valor inválido para el campo %s: %ld" + +-#: mutt_lua.c:429 ++#: mutt_lua.c:431 + msgid "Error: Couldn't load the lua interpreter" + msgstr "" + +-#: mutt_lua.c:491 ++#: mutt_lua.c:493 + #, c-format + msgid "Couldn't source lua source: %s" + msgstr "No pudo encontrar fuente lua: %s" + +-#: mutt_mailbox.c:214 ++#: mutt_mailbox.c:241 + msgid "New mail in " + msgstr "Correo nuevo en" + +@@ -3605,20 +3682,20 @@ msgstr "El mensaje anterior no es visible en vista limitada" + msgid "Parent message is not visible in this limited view" + msgstr "El mensaje anterior no es visible en vista limitada" + +-#: mx.c:387 ++#: mx.c:385 + #, fuzzy, c-format + msgid "Reading from %s interrupted..." + msgstr "Búsqueda interrumpida." + + #. L10N: Displayed if a mailbox sync fails +-#: mx.c:468 ++#: mx.c:469 + #, c-format + msgid "Unable to write %s" + msgstr "No se puede guardar %s" + + #. L10N: Although we know the precise number of messages, we do not show it to the user. + #. So feel free to use a "generic plural" as plural translation if your language has one. +-#: mx.c:523 ++#: mx.c:525 + msgid "message not deleted" + msgid_plural "messages not deleted" + msgstr[0] "Sin borrar el mensaje" +@@ -3628,69 +3705,69 @@ msgstr[1] "Sin borrar los mensajes" + msgid "Can't open trash folder" + msgstr "No se puede abrir la carpeta de basura" + +-#: mx.c:623 ++#: mx.c:627 + msgid "Mark all articles read?" + msgstr "¿Marcar todos los artículos como leídos?" + + #. L10N: The first argument is the number of read messages to be + #. moved, the second argument is the target mailbox. +-#: mx.c:671 ++#: mx.c:675 + #, c-format + msgid "Move %d read message to %s?" + msgid_plural "Move %d read messages to %s?" + msgstr[0] "¿Mover %d mensaje leído a %s?" + msgstr[1] "¿Mover %d mensajes leídos a %s?" + +-#: mx.c:685 mx.c:917 ++#: mx.c:689 mx.c:936 + #, c-format + msgid "Purge %d deleted message?" + msgid_plural "Purge %d deleted messages?" + msgstr[0] "¿Borrar por completo %d mensaje eliminado?" + msgstr[1] "¿Borrar por completo %d mensajes eliminados?" + +-#: mx.c:708 ++#: mx.c:712 + #, c-format + msgid "Moving read messages to %s..." + msgstr "Moviendo mensajes leídos a %s..." + +-#: mx.c:774 mx.c:908 ++#: mx.c:783 mx.c:927 + msgid "Mailbox is unchanged" + msgstr "Buzón sin cambios" + +-#: mx.c:827 ++#: mx.c:842 + #, c-format + msgid "%d kept, %d moved, %d deleted" + msgstr "quedan %d, %d movidos, %d suprimidos" + +-#: mx.c:831 mx.c:972 ++#: mx.c:846 mx.c:991 + #, c-format + msgid "%d kept, %d deleted" + msgstr "quedan %d, %d suprimidos" + +-#: mx.c:892 ++#: mx.c:911 + #, c-format + msgid " Press '%s' to toggle write" + msgstr "Presione '%s' para cambiar escritura" + +-#: mx.c:894 ++#: mx.c:913 + msgid "Use 'toggle-write' to re-enable write" + msgstr "¡Use 'toggle-write' para activar escritura" + +-#: mx.c:896 ++#: mx.c:915 + #, c-format + msgid "Mailbox is marked unwritable. %s" + msgstr "Buzón está marcado inescribible. %s" + +-#: mx.c:966 ++#: mx.c:985 + msgid "Mailbox checkpointed" + msgstr "El buzón fue marcado" + +-#: ncrypt/crypt.c:93 ++#: ncrypt/crypt.c:91 + #, c-format + msgid " (current time: %c)" + msgstr " (fecha actual: %c)" + +-#: ncrypt/crypt.c:98 ++#: ncrypt/crypt.c:96 + #, fuzzy, c-format + msgid "[-- %s output follows%s --]\n" + msgstr "[-- Salida de PGP a continuación (tiempo actual: %c) --]\n" +@@ -3699,55 +3776,55 @@ msgstr "[-- Salida de PGP a continuación (tiempo actual: %c) --]\n" + #. by gpg-agent) we can't know whether we forgot zero, 1, 12, ... + #. passwords. So in English we use "Passphrases". Your language might + #. have other means to express this. +-#: ncrypt/crypt.c:119 ++#: ncrypt/crypt.c:117 + #, fuzzy + msgid "Passphrases forgotten" + msgstr "Contraseña PGP olvidada" + +-#: ncrypt/crypt.c:203 ++#: ncrypt/crypt.c:201 + msgid "Inline PGP can't be used with attachments. Revert to PGP/MIME?" + msgstr "PGP Inline no puede ser utilizado con adjuntos. ¿Cambiar a PGP/MIME?" + +-#: ncrypt/crypt.c:207 ++#: ncrypt/crypt.c:205 + msgid "Mail not sent: inline PGP can't be used with attachments" + msgstr "Email no enviado: PGP inline no puede utilizarse con adjuntos" + +-#: ncrypt/crypt.c:214 ++#: ncrypt/crypt.c:212 + #, fuzzy + msgid "Inline PGP can't be used with format=flowed. Revert to PGP/MIME?" + msgstr "PGP Inline no puede ser utilizado con adjuntos. ¿Cambiar a PGP/MIME?" + +-#: ncrypt/crypt.c:218 ++#: ncrypt/crypt.c:216 + #, fuzzy + msgid "Mail not sent: inline PGP can't be used with format=flowed" + msgstr "Email no enviado: PGP inline no puede utilizarse con adjuntos" + +-#: ncrypt/crypt.c:228 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:714 +-#: ncrypt/pgpkey.c:915 ++#: ncrypt/crypt.c:226 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:747 ++#: ncrypt/pgpkey.c:950 + msgid "Invoking PGP..." + msgstr "Invocando PGP..." + +-#: ncrypt/crypt.c:240 ++#: ncrypt/crypt.c:238 + msgid "Message can't be sent inline. Revert to using PGP/MIME?" + msgstr "El mensaje no puede enviarse en modo inline. ¿Cambiar a PGP/MIME?" + +-#: ncrypt/crypt.c:242 send.c:2430 ++#: ncrypt/crypt.c:240 send.c:2441 + msgid "Mail not sent" + msgstr "Mensaje no enviado" + +-#: ncrypt/crypt.c:662 ++#: ncrypt/crypt.c:666 + msgid "S/MIME messages with no hints on content are unsupported" + msgstr "Los mensajes S/MIME sin pistas sobre el contenido no están soportados" + +-#: ncrypt/crypt.c:888 ++#: ncrypt/crypt.c:892 + msgid "Trying to extract PGP keys...\n" + msgstr "Intentando extraer las claces PGP... \n" + +-#: ncrypt/crypt.c:917 ++#: ncrypt/crypt.c:921 + msgid "Trying to extract S/MIME certificates..." + msgstr "Intentando extraer los certificados S/MIME... " + +-#: ncrypt/crypt.c:1140 ++#: ncrypt/crypt.c:1144 + #, c-format + msgid "" + "[-- Error: Unknown multipart/signed protocol %s --]\n" +@@ -3756,7 +3833,7 @@ msgstr "" + "[-- Error: ¡Protocolo multipart/signed %s desconocido --]\n" + "\n" + +-#: ncrypt/crypt.c:1180 ++#: ncrypt/crypt.c:1184 + #, fuzzy + msgid "" + "[-- Error: Missing or bad-format multipart/signed signature --]\n" +@@ -3765,7 +3842,7 @@ msgstr "" + "[-- Error: ¡Estructura multipart/signed inconsistente --]\n" + "\n" + +-#: ncrypt/crypt.c:1222 ++#: ncrypt/crypt.c:1226 + #, c-format + msgid "" + "[-- Warning: We can't verify %s/%s signatures. --]\n" +@@ -3774,7 +3851,7 @@ msgstr "" + "[-- Advertencia: No se pudieron verificar %s/%s firmas. --]\n" + "\n" + +-#: ncrypt/crypt.c:1235 ++#: ncrypt/crypt.c:1239 + #, fuzzy + msgid "" + "[-- The following data is signed --]\n" +@@ -3783,7 +3860,7 @@ msgstr "" + "[-- Los siguientes datos están firmados --]\n" + "\n" + +-#: ncrypt/crypt.c:1243 ++#: ncrypt/crypt.c:1248 + msgid "" + "[-- Warning: Can't find any signatures. --]\n" + "\n" +@@ -3791,7 +3868,7 @@ msgstr "" + "[-- Advertencia: No se pudieron encontrar firmas. --]\n" + "\n" + +-#: ncrypt/crypt.c:1249 ++#: ncrypt/crypt.c:1255 + #, fuzzy + msgid "" + "\n" +@@ -3812,260 +3889,265 @@ msgstr "Invocando S/MIME..." + #. L10N: The following are the headers for the "verify key" output from the + #. GPGME key selection menu (bound to "c" in the key selection menu). + #. They will be automatically aligned. +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Name: " + msgstr "Nombre: " + +-#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1869 ncrypt/crypt_gpgme.c:1874 ++#: ncrypt/crypt_gpgme.c:183 ncrypt/crypt_gpgme.c:1900 ncrypt/crypt_gpgme.c:1905 + msgid "aka: " + msgstr "alias: " + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Valid From: " + msgstr "Válido Desde:" + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Valid To: " + msgstr "Válido Hasta:" + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + #, fuzzy + msgid "Key Type: " + msgstr "Usos de la clave: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + #, fuzzy + msgid "Key Usage: " + msgstr "Usos de la clave: " + +-#: ncrypt/crypt_gpgme.c:185 ncrypt/crypt_gpgme.c:1759 ++#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1790 + msgid "Fingerprint: " + msgstr "Huella: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Serial-No: " + msgstr "Número de serie: " + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + #, fuzzy + msgid "Issued By: " + msgstr "Emitido por ....: " + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + #, fuzzy + msgid "Subkey: " + msgstr "Key ID .........: 0x%s" + +-#: ncrypt/crypt_gpgme.c:783 ++#: ncrypt/crypt_gpgme.c:782 + #, c-format + msgid "error enabling CMS protocol: %s" + msgstr "error activando el protocolo CMS: %s" + +-#: ncrypt/crypt_gpgme.c:806 ++#: ncrypt/crypt_gpgme.c:805 + #, fuzzy, c-format + msgid "error creating gpgme data object: %s" + msgstr "error en patrón en: %s" + +-#: ncrypt/crypt_gpgme.c:907 ncrypt/crypt_gpgme.c:934 ncrypt/crypt_gpgme.c:2057 +-#: ncrypt/crypt_gpgme.c:2814 ++#: ncrypt/crypt_gpgme.c:906 ncrypt/crypt_gpgme.c:933 ncrypt/crypt_gpgme.c:2096 ++#: ncrypt/crypt_gpgme.c:2853 + #, fuzzy, c-format + msgid "error allocating data object: %s" + msgstr "error en patrón en: %s" + +-#: ncrypt/crypt_gpgme.c:956 ++#: ncrypt/crypt_gpgme.c:955 + #, fuzzy, c-format + msgid "error rewinding data object: %s" + msgstr "error en patrón en: %s" + +-#: ncrypt/crypt_gpgme.c:972 ++#: ncrypt/crypt_gpgme.c:971 + msgid "[tempfile]" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:978 ncrypt/crypt_gpgme.c:1032 ++#: ncrypt/crypt_gpgme.c:977 ncrypt/crypt_gpgme.c:1031 + #, fuzzy, c-format + msgid "error reading data object: %s" + msgstr "error en patrón en: %s" + +-#: ncrypt/crypt_gpgme.c:1149 ++#: ncrypt/crypt_gpgme.c:1148 + #, c-format + msgid "error adding recipient '%s': %s" + msgstr "error al añadir recipiente '%s': %s" + +-#: ncrypt/crypt_gpgme.c:1202 ++#: ncrypt/crypt_gpgme.c:1186 + #, c-format + msgid "secret key '%s' not found: %s" + msgstr "clave secreta '%s' no encontrada: %s" + +-#: ncrypt/crypt_gpgme.c:1218 ++#: ncrypt/crypt_gpgme.c:1203 + #, fuzzy, c-format + msgid "ambiguous specification of secret key '%s'\n" + msgstr "Especificación ambigua de la clave secreta '%s'" + +-#: ncrypt/crypt_gpgme.c:1234 ++#: ncrypt/crypt_gpgme.c:1219 + #, c-format + msgid "error setting secret key '%s': %s" + msgstr "error seleccionando la clave secreta '%s': %s" + +-#: ncrypt/crypt_gpgme.c:1250 ++#: ncrypt/crypt_gpgme.c:1278 + #, fuzzy, c-format + msgid "error setting PKA signature notation: %s" + msgstr "error en patrón en: %s" + +-#: ncrypt/crypt_gpgme.c:1324 ++#: ncrypt/crypt_gpgme.c:1353 + #, c-format + msgid "error encrypting data: %s" + msgstr "error al cifrar data en: %s" + +-#: ncrypt/crypt_gpgme.c:1453 ++#: ncrypt/crypt_gpgme.c:1483 + #, fuzzy, c-format + msgid "error signing data: %s" + msgstr "error en patrón en: %s" + +-#: ncrypt/crypt_gpgme.c:1463 ++#: ncrypt/crypt_gpgme.c:1493 + msgid "$pgp_sign_as unset and no default key specified in ~/.gnupg/gpg.conf" + msgstr "$pgp_sign_as no está definido, y no hay clave por defecto especificada en ~/.gnupg/gpg.conf" + +-#: ncrypt/crypt_gpgme.c:1641 ++#: ncrypt/crypt_gpgme.c:1672 + msgid "Warning: One of the keys has been revoked\n" + msgstr "Aviso: una de las claves ha sido revocada\n" + +-#: ncrypt/crypt_gpgme.c:1651 ++#: ncrypt/crypt_gpgme.c:1682 + msgid "Warning: The key used to create the signature expired at: " + msgstr "Aviso: la clave empleada para crear la firma caducó el: " + +-#: ncrypt/crypt_gpgme.c:1657 ++#: ncrypt/crypt_gpgme.c:1688 + msgid "Warning: At least one certification key has expired\n" + msgstr "Aviso: Por lo menos un certificado del servidor se ha vencido\n" + +-#: ncrypt/crypt_gpgme.c:1671 ++#: ncrypt/crypt_gpgme.c:1702 + msgid "Warning: The signature expired at: " + msgstr "Aviso: la firma caducó el:" + +-#: ncrypt/crypt_gpgme.c:1678 ++#: ncrypt/crypt_gpgme.c:1709 + msgid "Can't verify due to a missing key or certificate\n" + msgstr "No se puede verificar, debido a la ausencia de una clave o certificado\n" + +-#: ncrypt/crypt_gpgme.c:1683 ++#: ncrypt/crypt_gpgme.c:1714 + msgid "The CRL is not available\n" + msgstr "CRL no está disponible.\n" + +-#: ncrypt/crypt_gpgme.c:1689 ++#: ncrypt/crypt_gpgme.c:1720 + msgid "Available CRL is too old\n" + msgstr "El CRL disponible es demasiado antigüo\n" + +-#: ncrypt/crypt_gpgme.c:1694 ++#: ncrypt/crypt_gpgme.c:1725 + msgid "A policy requirement was not met\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1703 ++#: ncrypt/crypt_gpgme.c:1734 + msgid "A system error occurred" + msgstr "Ha ocurrido un error del sistema" + +-#: ncrypt/crypt_gpgme.c:1734 ++#: ncrypt/crypt_gpgme.c:1765 + msgid "WARNING: PKA entry does not match signer's address: " + msgstr "AVISO: La entrada PKA no coincide con la dirección del firmante: " + +-#: ncrypt/crypt_gpgme.c:1740 ++#: ncrypt/crypt_gpgme.c:1771 + msgid "PKA verified signer's address is: " + msgstr "La dirección del firmante con PKA verificada es: " + +-#: ncrypt/crypt_gpgme.c:1822 ++#: ncrypt/crypt_gpgme.c:1853 + msgid "WARNING: We have NO indication whether the key belongs to the person named as shown above\n" + msgstr "AVISO: NO hay evidencia de que la clave pertenezca a la persona indicada más arriba\n" + +-#: ncrypt/crypt_gpgme.c:1829 ++#: ncrypt/crypt_gpgme.c:1860 + msgid "WARNING: The key does NOT BELONG to the person named as shown above\n" + msgstr "AVISO: La clave NO PERTENECE a la persona indicada más arriba\n" + +-#: ncrypt/crypt_gpgme.c:1833 ++#: ncrypt/crypt_gpgme.c:1864 + msgid "WARNING: It is NOT certain that the key belongs to the person named as shown above\n" + msgstr "AVISO: NO existe la seguridad de que la clave pertenezca a la persona indicada más arriba\n" + +-#: ncrypt/crypt_gpgme.c:1886 ++#: ncrypt/crypt_gpgme.c:1917 + msgid "KeyID " + msgstr "Identificador de clave " + + #. L10N: You will see this message in place of "KeyID " + #. if the S/MIME key has no ID. This is quite an error. +-#: ncrypt/crypt_gpgme.c:1893 ++#: ncrypt/crypt_gpgme.c:1924 + msgid "no signature fingerprint available" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1902 ncrypt/crypt_gpgme.c:1907 ++#: ncrypt/crypt_gpgme.c:1933 ncrypt/crypt_gpgme.c:1938 + msgid "created: " + msgstr "creado: " + +-#: ncrypt/crypt_gpgme.c:1981 ++#: ncrypt/crypt_gpgme.c:2012 + #, c-format + msgid "Error getting key information for KeyID %s: %s\n" + msgstr "Error al obtener información para el identificador de clave %s: %s\n" + +-#: ncrypt/crypt_gpgme.c:1988 ncrypt/crypt_gpgme.c:2003 ++#: ncrypt/crypt_gpgme.c:2019 ncrypt/crypt_gpgme.c:2034 + msgid "Good signature from:" + msgstr "Firma válida de:" + +-#: ncrypt/crypt_gpgme.c:1995 ++#: ncrypt/crypt_gpgme.c:2026 + msgid "*BAD* signature from:" + msgstr "Firma *INVÁLIDA* de:" + +-#: ncrypt/crypt_gpgme.c:2011 ++#: ncrypt/crypt_gpgme.c:2042 + msgid "Problem signature from:" + msgstr "Firma problemática de:" + + #. L10N: This is trying to match the width of the + #. "Problem signature from:" translation just above. +-#: ncrypt/crypt_gpgme.c:2017 ++#: ncrypt/crypt_gpgme.c:2048 + msgid " expires: " + msgstr " caduca: " + +-#: ncrypt/crypt_gpgme.c:2064 ncrypt/crypt_gpgme.c:2294 +-#: ncrypt/crypt_gpgme.c:3081 ++#: ncrypt/crypt_gpgme.c:2103 ncrypt/crypt_gpgme.c:2333 ++#: ncrypt/crypt_gpgme.c:3124 + msgid "[-- Begin signature information --]\n" + msgstr "[-- Inicio de la información de la firma --]\n" + +-#: ncrypt/crypt_gpgme.c:2075 ++#: ncrypt/crypt_gpgme.c:2114 + #, c-format + msgid "Error: verification failed: %s\n" + msgstr "Error: falló la verificación: %s\n" + +-#: ncrypt/crypt_gpgme.c:2126 ++#: ncrypt/crypt_gpgme.c:2165 + #, c-format + msgid "*** Begin Notation (signature by: %s) ***\n" + msgstr "*** Comienzo del Comentario (firma de: %s) ***\n" + +-#: ncrypt/crypt_gpgme.c:2145 ++#: ncrypt/crypt_gpgme.c:2184 + msgid "*** End Notation ***\n" + msgstr "*** Fin del Comentario ***\n" + +-#: ncrypt/crypt_gpgme.c:2153 ncrypt/crypt_gpgme.c:2308 +-#: ncrypt/crypt_gpgme.c:3091 ++#: ncrypt/crypt_gpgme.c:2192 ncrypt/crypt_gpgme.c:2347 ++#: ncrypt/crypt_gpgme.c:3134 + msgid "" + "[-- End signature information --]\n" + "\n" + msgstr "[-- Fin de datos firmados --]\n" + +-#: ncrypt/crypt_gpgme.c:2268 ++#: ncrypt/crypt_gpgme.c:2307 + #, fuzzy, c-format + msgid "" + "[-- Error: decryption failed: %s --]\n" + "\n" + msgstr "[-- ¡Error: no se pudo cear archivo temporal! --]\n" + +-#: ncrypt/crypt_gpgme.c:2821 ++#: ncrypt/crypt_gpgme.c:2860 + #, fuzzy, c-format + msgid "Error importing key: %s" + msgstr "error en patrón en: %s" + +-#: ncrypt/crypt_gpgme.c:3059 ++#: ncrypt/crypt_gpgme.c:3098 + #, c-format + msgid "Error: decryption/verification failed: %s\n" + msgstr "Error: descifrado/verificación fallida: %s\n" + +-#: ncrypt/crypt_gpgme.c:3103 ++#: ncrypt/crypt_gpgme.c:3105 ncrypt/crypt_gpgme.c:3302 ncrypt/pgp.c:726 ++#: ncrypt/pgp.c:1273 ++msgid "PGP message successfully decrypted" ++msgstr "Se descifró el mensaje PGP con éxito" ++ ++#: ncrypt/crypt_gpgme.c:3146 + msgid "Error: copy data failed\n" + msgstr "Error: copia de datos fallida\n" + +-#: ncrypt/crypt_gpgme.c:3116 ncrypt/pgp.c:675 ++#: ncrypt/crypt_gpgme.c:3159 ncrypt/pgp.c:674 + msgid "" + "[-- BEGIN PGP MESSAGE --]\n" + "\n" +@@ -4073,11 +4155,11 @@ msgstr "" + "[-- PRINCIPIO DEL MENSAJE PGP --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3118 ncrypt/pgp.c:677 ++#: ncrypt/crypt_gpgme.c:3161 ncrypt/pgp.c:676 + msgid "[-- BEGIN PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- PRINCIPIO DEL BLOQUE DE CLAVES PÚBLICAS PGP --]\n" + +-#: ncrypt/crypt_gpgme.c:3120 ncrypt/pgp.c:679 ++#: ncrypt/crypt_gpgme.c:3163 ncrypt/pgp.c:678 + msgid "" + "[-- BEGIN PGP SIGNED MESSAGE --]\n" + "\n" +@@ -4085,7 +4167,7 @@ msgstr "" + "[-- PRINCIPIO DEL MENSAJE FIRMADO CON PGP --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3145 ncrypt/pgp.c:716 ++#: ncrypt/crypt_gpgme.c:3188 ncrypt/pgp.c:715 + #, fuzzy + msgid "[-- END PGP MESSAGE --]\n" + msgstr "" +@@ -4093,11 +4175,11 @@ msgstr "" + "[-- FIN DEL MENSAJE PGP --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3147 ncrypt/pgp.c:730 ++#: ncrypt/crypt_gpgme.c:3190 ncrypt/pgp.c:729 + msgid "[-- END PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- FIN DEL BLOQUE DE CLAVES PÚBLICAS PGP --]\n" + +-#: ncrypt/crypt_gpgme.c:3149 ncrypt/pgp.c:732 ++#: ncrypt/crypt_gpgme.c:3192 ncrypt/pgp.c:731 + #, fuzzy + msgid "[-- END PGP SIGNED MESSAGE --]\n" + msgstr "" +@@ -4105,7 +4187,7 @@ msgstr "" + "[-- FIN DEL MENSAJE FIRMADO CON PGP --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3170 ncrypt/pgp.c:765 ++#: ncrypt/crypt_gpgme.c:3213 ncrypt/pgp.c:764 + msgid "" + "[-- Error: could not find beginning of PGP message --]\n" + "\n" +@@ -4113,11 +4195,11 @@ msgstr "" + "[-- ¡Error: no se encontró el principio del mensaje PGP --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3198 ncrypt/crypt_gpgme.c:3296 ncrypt/pgp.c:1218 ++#: ncrypt/crypt_gpgme.c:3241 ncrypt/crypt_gpgme.c:3339 ncrypt/pgp.c:1218 + msgid "[-- Error: could not create temporary file --]\n" + msgstr "[-- ¡Error: no se pudo cear archivo temporal --]\n" + +-#: ncrypt/crypt_gpgme.c:3212 ++#: ncrypt/crypt_gpgme.c:3255 + #, fuzzy + msgid "" + "[-- The following data is PGP/MIME signed and encrypted --]\n" +@@ -4126,7 +4208,7 @@ msgstr "" + "[-- Lo siguiente está cifrado con PGP/MIME --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3214 ncrypt/pgp.c:1231 ++#: ncrypt/crypt_gpgme.c:3257 ncrypt/pgp.c:1232 + msgid "" + "[-- The following data is PGP/MIME encrypted --]\n" + "\n" +@@ -4134,30 +4216,26 @@ msgstr "" + "[-- Lo siguiente está cifrado con PGP/MIME --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3254 ++#: ncrypt/crypt_gpgme.c:3297 + #, fuzzy + msgid "[-- End of PGP/MIME signed and encrypted data --]\n" + msgstr "" + "\n" + "[-- Fin de datos cifrados con PGP/MIME --]\n" + +-#: ncrypt/crypt_gpgme.c:3255 ncrypt/pgp.c:1267 ++#: ncrypt/crypt_gpgme.c:3298 ncrypt/pgp.c:1268 + #, fuzzy + msgid "[-- End of PGP/MIME encrypted data --]\n" + msgstr "" + "\n" + "[-- Fin de datos cifrados con PGP/MIME --]\n" + +-#: ncrypt/crypt_gpgme.c:3259 ncrypt/pgp.c:727 ncrypt/pgp.c:1272 +-msgid "PGP message successfully decrypted" +-msgstr "Se descifró el mensaje PGP con éxito" +- +-#: ncrypt/crypt_gpgme.c:3265 ncrypt/pgp.c:666 ncrypt/pgp.c:718 +-#: ncrypt/pgp.c:1276 ++#: ncrypt/crypt_gpgme.c:3308 ncrypt/pgp.c:665 ncrypt/pgp.c:717 ++#: ncrypt/pgp.c:1277 + msgid "Could not decrypt PGP message" + msgstr "No se pudo descifrar el mensaje PGP" + +-#: ncrypt/crypt_gpgme.c:3310 ++#: ncrypt/crypt_gpgme.c:3353 + #, fuzzy + msgid "" + "[-- The following data is S/MIME signed --]\n" +@@ -4166,7 +4244,7 @@ msgstr "" + "[-- Los siguientes datos están firmados --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3311 ++#: ncrypt/crypt_gpgme.c:3354 + #, fuzzy + msgid "" + "[-- The following data is S/MIME encrypted --]\n" +@@ -4175,40 +4253,40 @@ msgstr "" + "[-- Lo siguiente está cifrado con S/MIME --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3358 ++#: ncrypt/crypt_gpgme.c:3401 + #, fuzzy + msgid "[-- End of S/MIME signed data --]\n" + msgstr "" + "\n" + "[-- Fin de datos firmados --]\n" + +-#: ncrypt/crypt_gpgme.c:3359 ++#: ncrypt/crypt_gpgme.c:3402 + #, fuzzy + msgid "[-- End of S/MIME encrypted data --]\n" + msgstr "" + "\n" + "[-- Fin de datos cifrados con S/MIME --]\n" + +-#: ncrypt/crypt_gpgme.c:4029 ++#: ncrypt/crypt_gpgme.c:4077 + msgid "[Can't display this user ID (unknown encoding)]" + msgstr "[No se puede mostrar este identificador de usuario (codificación desconocida)]" + +-#: ncrypt/crypt_gpgme.c:4031 ++#: ncrypt/crypt_gpgme.c:4079 + msgid "[Can't display this user ID (invalid encoding)]" + msgstr "[No se puede mostrar este identificador de usuario (codificación inválida)]" + +-#: ncrypt/crypt_gpgme.c:4036 ++#: ncrypt/crypt_gpgme.c:4084 + msgid "[Can't display this user ID (invalid DN)]" + msgstr "[No se puede mostrar este identificador de usuario (DN inválido)]" + + #. L10N: comes after the Name or aka if the key is invalid + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4150 ncrypt/crypt_gpgme.c:4291 ++#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4339 + msgid "[Invalid]" + msgstr "[Inválido]" + + #. L10N: This is printed after "Key Type: " and looks like this: PGP, 2048 bit RSA +-#: ncrypt/crypt_gpgme.c:4190 ncrypt/crypt_gpgme.c:4331 ++#: ncrypt/crypt_gpgme.c:4238 ncrypt/crypt_gpgme.c:4379 + #, fuzzy, c-format + msgid "%s, %lu bit %s\n" + msgid_plural "%s, %lu bit %s\n" +@@ -4216,99 +4294,99 @@ msgstr[0] "Tipo de clave ..: %s, %lu bit %s\n" + msgstr[1] "Tipo de clave ..: %s, %lu bit %s\n" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4338 ++#: ncrypt/crypt_gpgme.c:4246 ncrypt/crypt_gpgme.c:4386 + #, fuzzy + msgid "encryption" + msgstr "Cifrar" + +-#: ncrypt/crypt_gpgme.c:4199 ncrypt/crypt_gpgme.c:4205 +-#: ncrypt/crypt_gpgme.c:4339 ncrypt/crypt_gpgme.c:4344 ++#: ncrypt/crypt_gpgme.c:4247 ncrypt/crypt_gpgme.c:4253 ++#: ncrypt/crypt_gpgme.c:4387 ncrypt/crypt_gpgme.c:4392 + msgid ", " + msgstr ", " + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4204 ncrypt/crypt_gpgme.c:4343 ++#: ncrypt/crypt_gpgme.c:4252 ncrypt/crypt_gpgme.c:4391 + msgid "signing" + msgstr "firmando" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4210 ncrypt/crypt_gpgme.c:4348 ++#: ncrypt/crypt_gpgme.c:4258 ncrypt/crypt_gpgme.c:4396 + #, fuzzy + msgid "certification" + msgstr "El certificado fue guardado" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4285 ++#: ncrypt/crypt_gpgme.c:4333 + msgid "[Revoked]" + msgstr "[Revocada]" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4297 ++#: ncrypt/crypt_gpgme.c:4345 + msgid "[Expired]" + msgstr "Vencido" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4303 ++#: ncrypt/crypt_gpgme.c:4351 + msgid "[Disabled]" + msgstr "[Disactivada]" + +-#: ncrypt/crypt_gpgme.c:4376 ++#: ncrypt/crypt_gpgme.c:4424 + msgid "Collecting data..." + msgstr "Recopilando datos..." + +-#: ncrypt/crypt_gpgme.c:4394 ++#: ncrypt/crypt_gpgme.c:4442 + #, fuzzy, c-format + msgid "Error finding issuer key: %s\n" + msgstr "Error al conectar al servidor: %s" + +-#: ncrypt/crypt_gpgme.c:4403 ++#: ncrypt/crypt_gpgme.c:4451 + msgid "Error: certification chain too long - stopping here\n" + msgstr "Error: la cadena de certificación es demasiada larga - deteniendo ahora\n" + +-#: ncrypt/crypt_gpgme.c:4413 ncrypt/pgpkey.c:733 ++#: ncrypt/crypt_gpgme.c:4461 ncrypt/pgpkey.c:766 + #, c-format + msgid "Key ID: 0x%s" + msgstr "Key ID: 0x%s" + +-#: ncrypt/crypt_gpgme.c:4538 ncrypt/crypt_gpgme.c:4589 ++#: ncrypt/crypt_gpgme.c:4586 ncrypt/crypt_gpgme.c:4637 + #, c-format + msgid "gpgme_op_keylist_start failed: %s" + msgstr "gpgme_op_keylist_start falló: %s" + +-#: ncrypt/crypt_gpgme.c:4577 ncrypt/crypt_gpgme.c:4619 +-#: ncrypt/crypt_gpgme.c:5355 ++#: ncrypt/crypt_gpgme.c:4625 ncrypt/crypt_gpgme.c:4667 ++#: ncrypt/crypt_gpgme.c:5435 + #, c-format + msgid "gpgme_op_keylist_next failed: %s" + msgstr "gpgme_op_keylist_next falló: %s" + +-#: ncrypt/crypt_gpgme.c:4701 ++#: ncrypt/crypt_gpgme.c:4749 + #, fuzzy + msgid "All matching keys are marked expired/revoked" + msgstr "Todas las llaves que coinciden están marcadas expiradas/revocadas" + +-#: ncrypt/crypt_gpgme.c:4731 ncrypt/pgpkey.c:666 ncrypt/smime.c:551 ++#: ncrypt/crypt_gpgme.c:4779 ncrypt/pgpkey.c:669 ncrypt/smime.c:553 + msgid "Select " + msgstr "Seleccionar " + +-#: ncrypt/crypt_gpgme.c:4733 ncrypt/pgpkey.c:668 ++#: ncrypt/crypt_gpgme.c:4781 ncrypt/pgpkey.c:671 + msgid "Check key " + msgstr "Verificar clave " + +-#: ncrypt/crypt_gpgme.c:4749 ++#: ncrypt/crypt_gpgme.c:4827 + msgid "PGP and S/MIME keys matching" + msgstr "Las llaves PGP y S/MIME coinciden" + +-#: ncrypt/crypt_gpgme.c:4751 ++#: ncrypt/crypt_gpgme.c:4829 + #, fuzzy + msgid "PGP keys matching" + msgstr "Claves PGP que coinciden con \"%s\"." + +-#: ncrypt/crypt_gpgme.c:4753 ++#: ncrypt/crypt_gpgme.c:4831 + #, fuzzy + msgid "S/MIME keys matching" + msgstr "Claves S/MIME que coinciden con \"%s\"." + +-#: ncrypt/crypt_gpgme.c:4755 ++#: ncrypt/crypt_gpgme.c:4833 + #, fuzzy + msgid "keys matching" + msgstr "Claves PGP que coinciden con \"%s\"." +@@ -4317,55 +4395,55 @@ msgstr "Claves PGP que coinciden con \"%s\"." + #. %1$s is one of the previous four entries. + #. %2$s is an address. + #. e.g. "S/MIME keys matching " +-#: ncrypt/crypt_gpgme.c:4763 ++#: ncrypt/crypt_gpgme.c:4841 + #, fuzzy, c-format + msgid "%s <%s>" + msgstr "%s [%s]\n" + + #. L10N: e.g. 'S/MIME keys matching "Michael Elkins".' +-#: ncrypt/crypt_gpgme.c:4768 ++#: ncrypt/crypt_gpgme.c:4846 + #, fuzzy, c-format + msgid "%s \"%s\"" + msgstr "%s [%s]\n" + +-#: ncrypt/crypt_gpgme.c:4796 ncrypt/pgpkey.c:754 ++#: ncrypt/crypt_gpgme.c:4874 ncrypt/pgpkey.c:787 + msgid "This key can't be used: expired/disabled/revoked" + msgstr "Esta clave no se puede usar: expirada/desactivada/revocada" + +-#: ncrypt/crypt_gpgme.c:4810 ncrypt/pgpkey.c:767 ncrypt/smime.c:581 ++#: ncrypt/crypt_gpgme.c:4888 ncrypt/pgpkey.c:800 ncrypt/smime.c:613 + msgid "ID is expired/disabled/revoked. Do you really want to use the key?" + msgstr "Esta clave está vencida/desactivada/revocada. ¿Estás seguro(a) que la quieres usar?" + +-#: ncrypt/crypt_gpgme.c:4820 ncrypt/pgpkey.c:779 ++#: ncrypt/crypt_gpgme.c:4898 ncrypt/pgpkey.c:812 + msgid "ID is not valid. Do you really want to use the key?" + msgstr "Esta ID no es confiable. ¿Estás seguro(a) que quieres utilizar la llave?" + +-#: ncrypt/crypt_gpgme.c:4823 ncrypt/pgpkey.c:782 ++#: ncrypt/crypt_gpgme.c:4901 ncrypt/pgpkey.c:815 + msgid "ID is only marginally valid. Do you really want to use the key?" + msgstr "Esta ID es apenas confiable. ¿Estás seguro(a) que quieres utilizar la llave?" + +-#: ncrypt/crypt_gpgme.c:4831 ncrypt/pgpkey.c:775 ncrypt/smime.c:585 ++#: ncrypt/crypt_gpgme.c:4909 ncrypt/pgpkey.c:808 ncrypt/smime.c:617 + msgid "ID has undefined validity. Do you really want to use the key?" + msgstr "No se sabe si el ID es válido ¿Estás seguro(a) que quieres usar la llave?" + +-#: ncrypt/crypt_gpgme.c:4911 ncrypt/crypt_gpgme.c:5024 ncrypt/pgpkey.c:1019 +-#: ncrypt/pgpkey.c:1146 ++#: ncrypt/crypt_gpgme.c:4991 ncrypt/crypt_gpgme.c:5104 ncrypt/pgpkey.c:1054 ++#: ncrypt/pgpkey.c:1181 + #, c-format + msgid "Looking for keys matching \"%s\"..." + msgstr "Buscando claves que coincidan con \"%s\"..." + +-#: ncrypt/crypt_gpgme.c:5140 ncrypt/pgpkey.c:870 ncrypt/smime.c:924 ++#: ncrypt/crypt_gpgme.c:5220 ncrypt/pgpkey.c:905 ncrypt/smime.c:958 + #, c-format + msgid "No matching keys found for \"%s\"" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5190 ncrypt/pgp.c:1456 ++#: ncrypt/crypt_gpgme.c:5270 ncrypt/pgp.c:1457 + #, c-format + msgid "Use keyID = \"%s\" for %s?" + msgstr "¿Usar keyID = \"%s\" para %s?" + +-#: ncrypt/crypt_gpgme.c:5238 ncrypt/pgp.c:1505 ncrypt/smime.c:944 +-#: ncrypt/smime.c:1049 ++#: ncrypt/crypt_gpgme.c:5318 ncrypt/pgp.c:1506 ncrypt/smime.c:978 ++#: ncrypt/smime.c:1083 + #, c-format + msgid "Enter keyID for %s: " + msgstr "Entre keyID para %s: " +@@ -4374,16 +4452,16 @@ msgstr "Entre keyID para %s: " + #. mutt_gpgme_select_secret_key() tries to list all secret keys to choose + #. from. This error is displayed if no results were found. + #. +-#: ncrypt/crypt_gpgme.c:5364 ++#: ncrypt/crypt_gpgme.c:5444 + #, fuzzy + msgid "No secret keys found" + msgstr "clave secreta '%s' no encontrada: %s" + +-#: ncrypt/crypt_gpgme.c:5398 ncrypt/pgpkey.c:888 ++#: ncrypt/crypt_gpgme.c:5478 ncrypt/pgpkey.c:923 + msgid "Please enter the key ID: " + msgstr "Por favor entre la identificación de la clave: " + +-#: ncrypt/crypt_gpgme.c:5411 ++#: ncrypt/crypt_gpgme.c:5491 + #, fuzzy, c-format + msgid "Error exporting key: %s" + msgstr "error en patrón en: %s" +@@ -4391,93 +4469,93 @@ msgstr "error en patrón en: %s" + #. 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. +-#: ncrypt/crypt_gpgme.c:5429 ++#: ncrypt/crypt_gpgme.c:5509 + #, fuzzy, c-format + msgid "PGP Key 0x%s" + msgstr "Clave PGP %s" + +-#: ncrypt/crypt_gpgme.c:5474 ++#: ncrypt/crypt_gpgme.c:5554 + msgid "GPGME: OpenPGP protocol not available" + msgstr "GPGME: protocolo OpenPGP no disponible" + +-#: ncrypt/crypt_gpgme.c:5485 ++#: ncrypt/crypt_gpgme.c:5565 + msgid "GPGME: CMS protocol not available" + msgstr "GPGME: protocolo CMS no disponible" + +-#: ncrypt/crypt_gpgme.c:5536 ++#: ncrypt/crypt_gpgme.c:5616 + msgid "S/MIME (s)ign, sign (a)s, (p)gp, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME ¿(f)irmar, firmar (c)omo, (p)gp, ca(n)celar o (m)odo oppenc off?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5538 ++#: ncrypt/crypt_gpgme.c:5618 + msgid "sapco" + msgstr "fcpnm" + +-#: ncrypt/crypt_gpgme.c:5545 ++#: ncrypt/crypt_gpgme.c:5625 + msgid "PGP (s)ign, sign (a)s, s/(m)ime, (c)lear, or (o)ppenc mode off?" + msgstr "PGP ¿(f)irmar, firmar (c)omo, s/m(i)me, ca(n)celar o (m)odo oppenc off?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5547 ++#: ncrypt/crypt_gpgme.c:5627 + msgid "samco" + msgstr "fcinm" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5557 ++#: ncrypt/crypt_gpgme.c:5637 + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME ¿(e)ncriptar, (f)irmar, firmar (c)omo, amb(o)s, (p)gp, ca(n)celar o (m)odo oppenc?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5560 ++#: ncrypt/crypt_gpgme.c:5640 + msgid "esabpco" + msgstr "efcopnm" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5566 ++#: ncrypt/crypt_gpgme.c:5646 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime, (c)lear, or (o)ppenc mode?" + msgstr "PGP ¿(e)ncriptar, (f)irmar, firmar (c)omo, amb(o)s, s/m(i)me, ca(n)celar o (m)odo oppenc?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5569 ++#: ncrypt/crypt_gpgme.c:5649 + msgid "esabmco" + msgstr "efcoinm" + +-#: ncrypt/crypt_gpgme.c:5580 ++#: ncrypt/crypt_gpgme.c:5660 + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp or (c)lear?" + msgstr "S/MIME ¿(e)ncriptar, (f)irmar, firmar (c)omo, amb(o)s, (p)gp o ca(n)celar?" + + #. L10N: S/MIME options +-#: ncrypt/crypt_gpgme.c:5582 ++#: ncrypt/crypt_gpgme.c:5662 + msgid "esabpc" + msgstr "efcopn" + +-#: ncrypt/crypt_gpgme.c:5589 ++#: ncrypt/crypt_gpgme.c:5669 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime or (c)lear?" + msgstr "PGP ¿(e)ncriptar, (f)irmar, firmar (c)omo, amb(o)s, s/m(i)me o ca(n)celar?" + + #. L10N: PGP options +-#: ncrypt/crypt_gpgme.c:5591 ++#: ncrypt/crypt_gpgme.c:5671 + msgid "esabmc" + msgstr "efcoin" + +-#: ncrypt/crypt_gpgme.c:5751 ++#: ncrypt/crypt_gpgme.c:5831 + msgid "Failed to verify sender" + msgstr "Fallo al verificar el remitente" + +-#: ncrypt/crypt_gpgme.c:5754 ++#: ncrypt/crypt_gpgme.c:5834 + #, fuzzy + msgid "Failed to figure out sender" + msgstr "Error al abrir el archivo para leer las cabeceras." + +-#: ncrypt/pgp.c:108 ++#: ncrypt/pgp.c:107 + msgid "Enter PGP passphrase:" + msgstr "Entre contraseña PGP:" + +-#: ncrypt/pgp.c:595 ++#: ncrypt/pgp.c:594 + msgid "[-- Error: unable to create PGP subprocess --]\n" + msgstr "[-- ¡Error: imposible crear subproceso PGP --]\n" + +-#: ncrypt/pgp.c:644 ncrypt/pgp.c:926 ncrypt/pgp.c:1086 ++#: ncrypt/pgp.c:643 ncrypt/pgp.c:925 ncrypt/pgp.c:1085 + msgid "" + "[-- End of PGP output --]\n" + "\n" +@@ -4488,15 +4566,15 @@ msgstr "" + #. L10N: You will see this error message if (1) you are decrypting + #. (not encrypting) something and (2) it is a plaintext. So the + #. message does not mean "You failed to encrypt the message." +-#: ncrypt/pgp.c:724 ++#: ncrypt/pgp.c:723 + msgid "PGP message is not encrypted" + msgstr "El mensaje PGP no está cifrado" + +-#: ncrypt/pgp.c:978 ++#: ncrypt/pgp.c:977 + msgid "Internal error. Please submit a bug report." + msgstr "Error interno. Por favor, envíe un informe del fallo." + +-#: ncrypt/pgp.c:1043 ++#: ncrypt/pgp.c:1042 + msgid "" + "[-- Error: could not create a PGP subprocess --]\n" + "\n" +@@ -4504,126 +4582,126 @@ msgstr "" + "[-- ¡Error: imposible crear subproceso PGP --]\n" + "\n" + +-#: ncrypt/pgp.c:1073 ncrypt/pgp.c:1098 ncrypt/smime.c:2143 postpone.c:757 +-#: postpone.c:785 ++#: ncrypt/pgp.c:1072 ncrypt/pgp.c:1097 ncrypt/smime.c:2177 postpone.c:803 ++#: postpone.c:831 + msgid "Decryption failed" + msgstr "Falló al descifrar" + +-#: ncrypt/pgp.c:1333 ++#: ncrypt/pgp.c:1334 + msgid "Can't open PGP subprocess" + msgstr "¡No se pudo abrir subproceso PGP" + +-#: ncrypt/pgp.c:1768 ++#: ncrypt/pgp.c:1770 + msgid "Can't invoke PGP" + msgstr "No se pudo invocar PGP" + + #. L10N: The next string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1875 ++#: ncrypt/pgp.c:1877 + msgid "PGP/M(i)ME" + msgstr "PGP/M(i)ME" + + #. L10N: The previous string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1881 ++#: ncrypt/pgp.c:1883 + msgid "(i)nline" + msgstr "en l(i)nea" + + #. L10N: PGP options (inline) (opportunistic encryption is on) +-#: ncrypt/pgp.c:1893 ++#: ncrypt/pgp.c:1895 + #, c-format + msgid "PGP (s)ign, sign (a)s, %s format, (c)lear, or (o)ppenc mode off?" + msgstr "PGP ¿(f)irmar, firmar (c)omo, formato %s, ca(n)celar o (m)odo oppenc off?" + + #. L10N: PGP options (inline) (opportunistic encryption is on) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1899 ++#: ncrypt/pgp.c:1901 + msgid "saico" + msgstr "fcinm" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1905 ++#: ncrypt/pgp.c:1907 + msgid "PGP (s)ign, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "PGP ¿(f)irmar, firmar (c)omo, ca(n)celar o (m)odo oppenc off?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1907 ++#: ncrypt/pgp.c:1909 + msgid "saco" + msgstr "fcnm" + + #. L10N: PGP options (inline) (opportunistic encryption is off) +-#: ncrypt/pgp.c:1921 ++#: ncrypt/pgp.c:1923 + #, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, (c)lear, or (o)ppenc mode?" + msgstr "PGP ¿(e)ncriptar, (f)irmar, firmar (c)omo, amb(o)s, formato %s, ca(n)celar o (m)odo oppenc?" + + #. L10N: PGP options (inline) (opportunistic encryption is off) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1927 ++#: ncrypt/pgp.c:1929 + msgid "esabico" + msgstr "efcoinm" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1933 ++#: ncrypt/pgp.c:1935 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "PGP ¿(e)ncriptar, (f)irmar, firmar (c)omo, amb(o)s, ca(n)celar o (m)odo oppenc?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1936 ++#: ncrypt/pgp.c:1938 + msgid "esabco" + msgstr "efconm" + + #. L10N: PGP options (inline) +-#: ncrypt/pgp.c:1947 ++#: ncrypt/pgp.c:1949 + #, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, or (c)lear?" + msgstr "PGP ¿(e)ncriptar, (f)irmar, firmar (c)omo, amb(o)s, formato %s o ca(n)celar?" + + #. L10N: PGP options (inline) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1953 ++#: ncrypt/pgp.c:1955 + msgid "esabic" + msgstr "efcoin" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1959 ++#: ncrypt/pgp.c:1961 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (c)lear?" + msgstr "PGP ¿(e)ncriptar, (f)irmar, firmar (c)omo, amb(o)s o ca(n)celar?" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1961 ++#: ncrypt/pgp.c:1963 + msgid "esabc" + msgstr "efcon" + +-#: ncrypt/pgpinvoke.c:458 ++#: ncrypt/pgpinvoke.c:461 + msgid "Fetching PGP key..." + msgstr "Recogiendo clave PGP..." + +-#: ncrypt/pgpkey.c:640 ++#: ncrypt/pgpkey.c:643 + #, fuzzy + msgid "All matching keys are expired, revoked, or disabled" + msgstr "Todas las llaves que coinciden están marcadas expiradas/revocadas" + +-#: ncrypt/pgpkey.c:681 ++#: ncrypt/pgpkey.c:714 + #, c-format + msgid "PGP keys matching <%s>" + msgstr "Claves PGP que coinciden con <%s>" + +-#: ncrypt/pgpkey.c:683 ++#: ncrypt/pgpkey.c:716 + #, c-format + msgid "PGP keys matching \"%s\"" + msgstr "Claves PGP que coinciden con \"%s\"" + +-#: ncrypt/pgpkey.c:700 ncrypt/pgpkey.c:909 ++#: ncrypt/pgpkey.c:733 ncrypt/pgpkey.c:944 + msgid "Can't open /dev/null" + msgstr "No se pudo abrir /dev/null" + +-#: ncrypt/pgpkey.c:938 ++#: ncrypt/pgpkey.c:973 + #, c-format + msgid "PGP Key %s" + msgstr "Clave PGP %s" + +-#: ncrypt/smime.c:182 ++#: ncrypt/smime.c:180 + #, fuzzy + msgid "Enter S/MIME passphrase:" + msgstr "Entre contraseña S/MIME:" +@@ -4633,7 +4711,7 @@ msgstr "Entre contraseña S/MIME:" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:460 ++#: ncrypt/smime.c:462 + msgid "Expired " + msgstr "Vencido" + +@@ -4642,7 +4720,7 @@ msgstr "Vencido" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:468 ++#: ncrypt/smime.c:470 + #, fuzzy + msgid "Invalid " + msgstr "Mes inválido: %s" +@@ -4652,7 +4730,7 @@ msgstr "Mes inválido: %s" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:476 ++#: ncrypt/smime.c:478 + msgid "Revoked " + msgstr "" + +@@ -4661,7 +4739,7 @@ msgstr "" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:484 ++#: ncrypt/smime.c:486 + msgid "Trusted " + msgstr "Confiable" + +@@ -4670,7 +4748,7 @@ msgstr "Confiable" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:492 ++#: ncrypt/smime.c:494 + msgid "Unverified" + msgstr "" + +@@ -4679,7 +4757,7 @@ msgstr "" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:500 ++#: ncrypt/smime.c:502 + msgid "Verified " + msgstr "" + +@@ -4688,65 +4766,65 @@ msgstr "" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:508 ++#: ncrypt/smime.c:510 + msgid "Unknown " + msgstr "Desconocido " + +-#: ncrypt/smime.c:545 ++#: ncrypt/smime.c:547 + #, fuzzy, c-format + msgid "S/MIME certificates matching \"%s\"" + msgstr "Claves S/MIME que coinciden con \"%s\"" + +-#: ncrypt/smime.c:589 ++#: ncrypt/smime.c:621 + #, fuzzy + msgid "ID is not trusted. Do you really want to use the key?" + msgstr "Esta ID no es de confianza. ¿Realmente quiere utilizar la llave?" + +-#: ncrypt/smime.c:910 ++#: ncrypt/smime.c:944 + #, fuzzy + msgid "Enter keyID: " + msgstr "Entre keyID para %s: " + +-#: ncrypt/smime.c:1055 ++#: ncrypt/smime.c:1089 + #, c-format + msgid "No (valid) certificate found for %s" + msgstr "No se ha encontrado ningún certificado (válido) para %s" + +-#: ncrypt/smime.c:1108 ncrypt/smime.c:1137 ncrypt/smime.c:1209 +-#: ncrypt/smime.c:1243 ncrypt/smime.c:1319 ncrypt/smime.c:1399 ++#: ncrypt/smime.c:1142 ncrypt/smime.c:1171 ncrypt/smime.c:1243 ++#: ncrypt/smime.c:1277 ncrypt/smime.c:1353 ncrypt/smime.c:1433 + #, fuzzy + msgid "Error: unable to create OpenSSL subprocess" + msgstr "[-- ¡Error: imposible crear subproceso OpenSSL --]\n" + +-#: ncrypt/smime.c:1379 ++#: ncrypt/smime.c:1413 + #, fuzzy + msgid "Label for certificate: " + msgstr "Imposible recoger el certificado de la contraparte" + +-#: ncrypt/smime.c:1480 ++#: ncrypt/smime.c:1514 + #, fuzzy + msgid "no certfile" + msgstr "No se pudo crear el filtro" + +-#: ncrypt/smime.c:1483 ++#: ncrypt/smime.c:1517 + #, fuzzy + msgid "no mbox" + msgstr "(ningún buzón)" + +-#: ncrypt/smime.c:1640 ncrypt/smime.c:1810 ++#: ncrypt/smime.c:1674 ncrypt/smime.c:1844 + msgid "No output from OpenSSL..." + msgstr "Sin respuesta de OpenSSL..." + +-#: ncrypt/smime.c:1727 ++#: ncrypt/smime.c:1761 + msgid "Can't sign: No key specified. Use Sign As." + msgstr "No se puede firmar: NO se ha especificado una clave. Utilice \"Firmar Como\"." + +-#: ncrypt/smime.c:1777 ++#: ncrypt/smime.c:1811 + #, fuzzy + msgid "Can't open OpenSSL subprocess" + msgstr "¡No se pudo abrir subproceso OpenSSL" + +-#: ncrypt/smime.c:2004 ncrypt/smime.c:2123 ++#: ncrypt/smime.c:2038 ncrypt/smime.c:2157 + #, fuzzy + msgid "" + "[-- End of OpenSSL output --]\n" +@@ -4755,26 +4833,26 @@ msgstr "" + "[-- Fin de salida OpenSSL --]\n" + "\n" + +-#: ncrypt/smime.c:2080 ncrypt/smime.c:2093 ++#: ncrypt/smime.c:2114 ncrypt/smime.c:2127 + #, fuzzy + msgid "[-- Error: unable to create OpenSSL subprocess --]\n" + msgstr "[-- ¡Error: imposible crear subproceso OpenSSL --]\n" + +-#: ncrypt/smime.c:2129 ++#: ncrypt/smime.c:2163 + #, fuzzy + msgid "[-- The following data is S/MIME encrypted --]\n" + msgstr "" + "[-- Lo siguiente está cifrado con S/MIME --]\n" + "\n" + +-#: ncrypt/smime.c:2132 ++#: ncrypt/smime.c:2166 + #, fuzzy + msgid "[-- The following data is S/MIME signed --]\n" + msgstr "" + "[-- Los siguientes datos están firmados --]\n" + "\n" + +-#: ncrypt/smime.c:2225 ++#: ncrypt/smime.c:2259 + #, fuzzy + msgid "" + "\n" +@@ -4783,7 +4861,7 @@ msgstr "" + "\n" + "[-- Fin de datos cifrados con S/MIME --]\n" + +-#: ncrypt/smime.c:2227 ++#: ncrypt/smime.c:2261 + #, fuzzy + msgid "" + "\n" +@@ -4793,162 +4871,162 @@ msgstr "" + "[-- Fin de datos firmados --]\n" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2361 ++#: ncrypt/smime.c:2395 + msgid "S/MIME (s)ign, encrypt (w)ith, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME ¿(f)irmar, enc(r)iptar con, firmar (c)omo, ca(n)celar o (m)odo oppenc off?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2364 ++#: ncrypt/smime.c:2398 + msgid "swaco" + msgstr "frcnm" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2372 ++#: ncrypt/smime.c:2406 + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME ¿(e)ncriptar, (f)irmar, enc(r)iptar con, firmar (c)omo, amb(o)s, ca(n)celar o (m)odo oppenc?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2375 ++#: ncrypt/smime.c:2409 + msgid "eswabco" + msgstr "efrconm" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2382 ++#: ncrypt/smime.c:2416 + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, or (c)lear?" + msgstr "S/MIME ¿(e)ncriptar, (f)irmar, enc(r)iptar con, firmar (c)omo, amb(o)s o ca(n)celar?" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2385 ++#: ncrypt/smime.c:2419 + msgid "eswabc" + msgstr "efrcon" + +-#: ncrypt/smime.c:2449 ++#: ncrypt/smime.c:2483 + msgid "Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear?" + msgstr "" + + #. L10N: Options for: Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear? +-#: ncrypt/smime.c:2452 ++#: ncrypt/smime.c:2486 + msgid "123c" + msgstr "" + +-#: ncrypt/smime.c:2455 ++#: ncrypt/smime.c:2489 + msgid "(1) DES, (2) Triple-DES?" + msgstr "" + + #. L10N: Options for: (1) DES, (2) Triple-DES +-#: ncrypt/smime.c:2457 ++#: ncrypt/smime.c:2491 + msgid "12" + msgstr "" + +-#: ncrypt/smime.c:2470 ++#: ncrypt/smime.c:2504 + msgid "(1) RC2-40, (2) RC2-64, (3) RC2-128?" + msgstr "" + + #. L10N: Options for: (1) RC2-40, (2) RC2-64, (3) RC2-128 + #. L10N: Options for: (1) AES128, (2) AES192, (3) AES256 +-#: ncrypt/smime.c:2472 ncrypt/smime.c:2490 ++#: ncrypt/smime.c:2506 ncrypt/smime.c:2524 + msgid "123" + msgstr "" + +-#: ncrypt/smime.c:2488 ++#: ncrypt/smime.c:2522 + msgid "(1) AES128, (2) AES192, (3) AES256?" + msgstr "" + +-#: nntp/newsrc.c:632 ++#: nntp/newsrc.c:639 + msgid "Loading list of groups from cache..." + msgstr "Cargando lista de grupos desde la cahé..." + +-#: nntp/newsrc.c:997 ++#: nntp/newsrc.c:1023 + msgid "No news server defined" + msgstr "¡NO hay servidor de noticias definido!" + +-#: nntp/newsrc.c:1012 ++#: nntp/newsrc.c:1041 + #, c-format + msgid "%s is an invalid news server specification" + msgstr "¡%s es una especificación de servidor de noticias inválida" + +-#: nntp/nntp.c:236 nntp/nntp.c:777 pop/pop.c:742 pop/pop_lib.c:398 ++#: nntp/nntp.c:238 nntp/nntp.c:779 pop/pop.c:742 pop/pop_lib.c:424 + msgid "Server closed connection" + msgstr "¡El servidor cerró la conneción" + +-#: nntp/nntp.c:340 ++#: nntp/nntp.c:342 + msgid "Server doesn't support reader mode" + msgstr "El servidor no soporta modo lectura" + +-#: nntp/nntp.c:576 pop/pop_auth.c:504 smtp.c:650 ++#: nntp/nntp.c:578 pop/pop_auth.c:505 smtp.c:675 + msgid "No authenticators available" + msgstr "Falta un método de verificación de autentidad" + +-#: nntp/nntp.c:766 ++#: nntp/nntp.c:768 + #, fuzzy, c-format + msgid "%s authentication failed" + msgstr "Verificación de autentidad SASL falló" + +-#: nntp/nntp.c:826 ++#: nntp/nntp.c:828 + #, c-format + msgid "Connection to %s lost. Reconnect?" + msgstr "Se perdió la conexión a %s. Quieres intentar a inciarla de nuevo?" + +-#: nntp/nntp.c:1285 ++#: nntp/nntp.c:1287 + #, fuzzy + msgid "Fetching list of articles..." + msgstr "Consiguiendo la lista de mensajes..." + +-#: nntp/nntp.c:1549 nntp/nntp.c:2138 pop/pop.c:614 pop/pop.c:910 ++#: nntp/nntp.c:1551 nntp/nntp.c:2140 pop/pop.c:614 pop/pop.c:905 + msgid "Checking for new messages..." + msgstr "Revisando si hay mensajes nuevos..." + +-#: nntp/nntp.c:1864 nntp/nntp.c:1954 ++#: nntp/nntp.c:1866 nntp/nntp.c:1956 + #, fuzzy + msgid "Could not switch to reader mode" + msgstr "no se pudo escribir la carpeta temporal: %s" + +-#: nntp/nntp.c:1877 ++#: nntp/nntp.c:1879 + #, fuzzy, c-format + msgid "Connected to %s. %s" + msgstr "Conectando a %s..." + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + msgid "Posting is ok" + msgstr "Está permitido hacer comentarios" + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + msgid "Posting is NOT ok" + msgstr "Está prohibido hacer comentarios" + +-#: nntp/nntp.c:2008 nntp/nntp.c:2043 ++#: nntp/nntp.c:2010 nntp/nntp.c:2045 + #, c-format + msgid "Can't post article: %s" + msgstr "No se pudo publicar el artículo: %s" + +-#: nntp/nntp.c:2064 ++#: nntp/nntp.c:2066 + #, c-format + msgid "Loading list of groups from server %s..." + msgstr "Descargando la lista de grupos desde el servidor %s..." + +-#: nntp/nntp.c:2106 nntp/nntp.c:2198 ++#: nntp/nntp.c:2108 nntp/nntp.c:2200 + msgid "Loading descriptions..." + msgstr "Cargando las descripciones..." + +-#: nntp/nntp.c:2128 ++#: nntp/nntp.c:2130 + msgid "Checking for new newsgroups..." + msgstr "Revisando si hay nuevos grupos de noticia..." + +-#: nntp/nntp.c:2332 ++#: nntp/nntp.c:2334 + msgid "Unable to find child articles because server does not support XPAT command" + msgstr "No se pudo encontrar artículos relacionados porque el servidor no soporta la función XPAT" + +-#: nntp/nntp.c:2437 ++#: nntp/nntp.c:2439 + #, c-format + msgid "%s is an invalid newsgroup specification" + msgstr "¡%s es un parámetro de grupo de noticias inválida!" + +-#: nntp/nntp.c:2476 ++#: nntp/nntp.c:2478 + #, c-format + msgid "Newsgroup %s not found on the server" + msgstr "El grupo de noticias %s no se encuentra en el servidor" + +-#: nntp/nntp.c:2498 ++#: nntp/nntp.c:2500 + #, c-format + msgid "Newsgroup %s has been removed from the server" + msgstr "El grupo de noticias %s se ha eliminado del servidor" +@@ -4960,8 +5038,8 @@ msgstr "fallo al interpretar tipo de petición notmuch: %s" + + #: notmuch/mutt_notmuch.c:219 notmuch/mutt_notmuch.c:1939 + #, c-format +-msgid "failed to parse notmuch uri: %s" +-msgstr "fallo al interpretar uri nontmuch: %s" ++msgid "failed to parse notmuch url: %s" ++msgstr "fallo al interpretar url nontmuch: %s" + + #: notmuch/mutt_notmuch.c:449 + msgid "Invalid nm_query_window_timebase value (valid values are: hour, day, week, month or year)" +@@ -6113,189 +6191,189 @@ msgstr "hacer la barra lateral (in)visible" + msgid "show S/MIME options" + msgstr "mostrar opciones S/MIME" + +-#: pager.c:222 ++#: pager.c:214 + msgid "Not available in this menu" + msgstr "No disponible en este menú" + +-#: pager.c:229 ++#: pager.c:221 + msgid "PrevPg" + msgstr "PágAnt" + +-#: pager.c:230 ++#: pager.c:222 + msgid "NextPg" + msgstr "PróxPág" + +-#: pager.c:235 ++#: pager.c:227 + msgid "View Attachm." + msgstr "Adjuntos" + +-#: pager.c:238 pager.c:247 ++#: pager.c:230 pager.c:239 + msgid "Next" + msgstr "Sig." + + #. L10N: Status bar message: the entire email is visible in the pager + #. L10N: Status bar message: all the emails are visible in the index +-#: pager.c:2180 status.c:278 ++#: pager.c:2136 status.c:278 + msgid "all" + msgstr "" + + #. L10N: Status bar message: the end of the email is visible in the pager + #. L10N: Status bar message: the end of the list emails is visible in the index +-#: pager.c:2182 status.c:276 ++#: pager.c:2138 status.c:276 + msgid "end" + msgstr "" + +-#: pager.c:2530 pager.c:2566 pager.c:2602 pager.c:2937 ++#: pager.c:2503 pager.c:2539 pager.c:2576 pager.c:2911 + msgid "Bottom of message is shown" + msgstr "El final del mensaje está siendo mostrado" + +-#: pager.c:2543 pager.c:2573 pager.c:2580 pager.c:2590 ++#: pager.c:2516 pager.c:2546 pager.c:2553 pager.c:2564 + msgid "Top of message is shown" + msgstr "El principio del mensaje está siendo mostrado" + +-#: pager.c:2840 ++#: pager.c:2814 + msgid "Help is currently being shown" + msgstr "La ayuda está siendo mostrada" + +-#: pager.c:2897 ++#: pager.c:2871 + msgid "No more quoted text" + msgstr "No hay mas texto citado" + +-#: pager.c:2914 ++#: pager.c:2888 + msgid "No more unquoted text after quoted text" + msgstr "No hay mas texto sin citar bajo el texto citado" + +-#: pattern.c:220 pattern.c:297 pattern.c:1046 ++#: pattern.c:221 pattern.c:298 pattern.c:1085 + #, c-format + msgid "Error in expression: %s" + msgstr "Error en expresión: %s" + +-#: pattern.c:226 pattern.c:302 pattern.c:1052 ++#: pattern.c:227 pattern.c:303 pattern.c:1091 + #, fuzzy + msgid "Empty expression" + msgstr "error en expresión" + +-#: pattern.c:288 ++#: pattern.c:289 + #, fuzzy + msgid "No search command defined" + msgstr "El comando de indagación no fue definido" + +-#: pattern.c:326 ++#: pattern.c:327 + #, fuzzy, c-format + msgid "Running search command: %s ..." + msgstr "Invocando comando de automuestra: %s" + +-#: pattern.c:417 ++#: pattern.c:441 pattern.c:456 + #, c-format + msgid "Invalid day of month: %s" + msgstr "Día inválido del mes: %s" + +-#: pattern.c:431 ++#: pattern.c:446 pattern.c:470 + #, c-format + msgid "Invalid month: %s" + msgstr "Mes inválido: %s" + +-#: pattern.c:534 ++#: pattern.c:573 + #, c-format + msgid "Invalid relative date: %s" + msgstr "Fecha relativa incorrecta: %s" + +-#: pattern.c:842 pattern.c:975 ++#: pattern.c:881 pattern.c:1014 + #, fuzzy + msgid "No current message" + msgstr "No hay mensajes sin leer" + +-#: pattern.c:1002 ++#: pattern.c:1041 + msgid "No Context" + msgstr "" + +-#: pattern.c:1125 ++#: pattern.c:1164 + #, fuzzy + msgid "Error opening 'memory stream'" + msgstr "¡Error al escribir el buzón!" + +-#: pattern.c:1171 ++#: pattern.c:1210 + #, fuzzy + msgid "Error re-opening 'memory stream'" + msgstr "¡Error al escribir el buzón!" + +-#: pattern.c:1180 ++#: pattern.c:1219 + #, fuzzy + msgid "Error opening /dev/null" + msgstr "No se pudo abrir /dev/null" + +-#: pattern.c:1443 pattern.c:1620 ++#: pattern.c:1482 pattern.c:1662 + #, c-format + msgid "error in pattern at: %s" + msgstr "error en patrón en: %s" + +-#: pattern.c:1476 ++#: pattern.c:1515 + #, fuzzy, c-format + msgid "missing pattern: %s" + msgstr "falta un parámetro" + +-#: pattern.c:1494 pattern.c:1593 ++#: pattern.c:1533 pattern.c:1635 + #, c-format + msgid "mismatched parentheses: %s" + msgstr "paréntesis sin contraparte: %s" + +-#: pattern.c:1559 ++#: pattern.c:1598 + #, fuzzy, c-format + msgid "%c: invalid pattern modifier" + msgstr "%c: comando inválido" + +-#: pattern.c:1564 ++#: pattern.c:1603 + #, c-format + msgid "%c: not supported in this mode" + msgstr "%c: no soportado en este modo" + +-#: pattern.c:1576 ++#: pattern.c:1618 + msgid "missing parameter" + msgstr "falta un parámetro" + +-#: pattern.c:1626 ++#: pattern.c:1668 + msgid "empty pattern" + msgstr "patrón vacío" + +-#: pattern.c:2080 pattern.c:2083 ++#: pattern.c:2202 pattern.c:2205 + msgid "error: server custom search only supported with IMAP" + msgstr "" + +-#: pattern.c:2274 ++#: pattern.c:2398 + #, c-format + msgid "error: unknown op %d (report this error)" + msgstr "error: op %d desconocida (reporte este error)" + +-#: pattern.c:2448 pattern.c:2604 ++#: pattern.c:2572 pattern.c:2728 + msgid "Compiling search pattern..." + msgstr "Compilando patrón de búsqueda..." + +-#: pattern.c:2468 ++#: pattern.c:2592 + msgid "Executing command on matching messages..." + msgstr "Ejecutando comando en mensajes que coinciden..." + +-#: pattern.c:2537 ++#: pattern.c:2661 + msgid "No messages matched criteria" + msgstr "Ningún mensaje responde al criterio dado" + +-#: pattern.c:2641 ++#: pattern.c:2765 + #, fuzzy + msgid "Searching..." + msgstr "Guardando..." + +-#: pattern.c:2655 ++#: pattern.c:2779 + msgid "Search hit bottom without finding match" + msgstr "La búsqueda llegó al final sin encontrar nada." + +-#: pattern.c:2666 ++#: pattern.c:2790 + msgid "Search hit top without finding match" + msgstr "La búsqueda llegó al principio sin encontrar nada." + +-#: pattern.c:2700 ++#: pattern.c:2824 + msgid "Search interrupted" + msgstr "Búsqueda interrumpida" + +-#: pop/pop.c:216 pop/pop_lib.c:234 ++#: pop/pop.c:216 pop/pop_lib.c:259 + msgid "Command TOP is not supported by server" + msgstr "La órden TOP no es soportada por el servidor" + +@@ -6303,7 +6381,7 @@ msgstr "La órden TOP no es soportada por el servidor" + msgid "Can't write header to temporary file" + msgstr "¡No se pudo escribir la cabecera al archivo temporal" + +-#: pop/pop.c:420 pop/pop_lib.c:236 ++#: pop/pop.c:420 pop/pop_lib.c:261 + msgid "Command UIDL is not supported by server" + msgstr "La órden UIDL no es soportada por el servidor" + +@@ -6318,7 +6396,7 @@ msgstr[1] "El índice de mensajes es incorrecto. Intente reabrir el buzón." + msgid "POP host is not defined" + msgstr "El servidor POP no fue definido" + +-#: pop/pop.c:596 pop/pop.c:825 ++#: pop/pop.c:596 pop/pop.c:790 pop/pop.c:820 + #, c-format + msgid "%s is an invalid POP path" + msgstr "%s es una ruta POP inválida" +@@ -6351,157 +6429,157 @@ msgid_plural "%s [%d of %d messages read]" + msgstr[0] "%s [%d de %d mensajes leídos]" + msgstr[1] "%s [%d de %d mensajes leídos]" + +-#: pop/pop.c:876 ++#: pop/pop.c:871 + msgid "Fetching list of messages..." + msgstr "Consiguiendo la lista de mensajes..." + +-#: pop/pop.c:959 ++#: pop/pop.c:954 + #, fuzzy + msgid "Marking messages deleted..." + msgstr "Marcando %d mensajes como suprimidos..." + +-#: pop/pop.c:1150 ++#: pop/pop.c:1145 + msgid "Can't write message to temporary file" + msgstr "¡No se pudo escribir el mensaje al archivo temporal" + +-#: pop/pop_auth.c:103 ++#: pop/pop_auth.c:104 + msgid "Authenticating (SASL)..." + msgstr "Verificando autentidad (SASL)..." + +-#: pop/pop_auth.c:245 ++#: pop/pop_auth.c:246 + msgid "POP timestamp is invalid" + msgstr "¡Marca de tiempo POP inválida" + +-#: pop/pop_auth.c:249 ++#: pop/pop_auth.c:250 + msgid "Authenticating (APOP)..." + msgstr "Verificando autentidad (APOP)..." + +-#: pop/pop_auth.c:269 ++#: pop/pop_auth.c:270 + msgid "APOP authentication failed" + msgstr "Verificación de autentidad APOP falló" + +-#: pop/pop_auth.c:309 ++#: pop/pop_auth.c:310 + msgid "Command USER is not supported by server" + msgstr "La órden USER no es soportada por el servidor" + +-#: pop/pop_auth.c:386 ++#: pop/pop_auth.c:387 + #, fuzzy + msgid "Authentication failed" + msgstr "Verificación de autentidad SASL falló" + +-#: pop/pop_lib.c:78 ++#: pop/pop_lib.c:103 + #, fuzzy, c-format + msgid "Invalid POP URL: %s" + msgstr "Mes inválido: %s" + +-#: pop/pop_lib.c:232 ++#: pop/pop_lib.c:257 + msgid "Unable to leave messages on server" + msgstr "No es posible dejar los mensajes en el servidor" + +-#: pop/pop_lib.c:274 ++#: pop/pop_lib.c:300 + #, c-format + msgid "Error connecting to server: %s" + msgstr "Error al conectar al servidor: %s" + +-#: pop/pop_lib.c:414 ++#: pop/pop_lib.c:440 + msgid "Closing connection to POP server..." + msgstr "Cerrando conexión al servidor POP..." + +-#: pop/pop_lib.c:605 ++#: pop/pop_lib.c:631 + msgid "Verifying message indexes..." + msgstr "Verificando índice de mensajes..." + +-#: pop/pop_lib.c:628 ++#: pop/pop_lib.c:654 + msgid "Connection lost. Reconnect to POP server?" + msgstr "Conexión perdida. ¿Reconectar al servidor POP?" + +-#: postpone.c:229 ++#: postpone.c:260 + msgid "Postponed Messages" + msgstr "Mensajes pospuestos" + +-#: postpone.c:314 postpone.c:326 ++#: postpone.c:348 postpone.c:372 + msgid "No postponed messages" + msgstr "No hay mensajes pospuestos" + +-#: postpone.c:480 ++#: postpone.c:526 + #, fuzzy + msgid "Illegal S/MIME header" + msgstr "Cabecera S/MIME illegal" + +-#: postpone.c:510 postpone.c:551 postpone.c:560 ++#: postpone.c:556 postpone.c:597 postpone.c:606 + #, fuzzy + msgid "Illegal crypto header" + msgstr "Cabecera PGP illegal" + +-#: postpone.c:644 postpone.c:752 postpone.c:780 ++#: postpone.c:690 postpone.c:798 postpone.c:826 + #, fuzzy + msgid "Decrypting message..." + msgstr "Consiguiendo mensaje..." + +-#: query.c:82 ++#: query.c:80 + msgid "New Query" + msgstr "Nueva indagación" + +-#: query.c:83 ++#: query.c:81 + msgid "Make Alias" + msgstr "Producir nombre corto" + +-#: query.c:180 ++#: query.c:178 + msgid "Waiting for response..." + msgstr "Esperando respuesta..." + +-#: query.c:362 query.c:400 ++#: query.c:365 query.c:434 + msgid "Query: " + msgstr "Indagar: " + +-#: query.c:370 query.c:407 ++#: query.c:374 query.c:442 + #, c-format + msgid "Query '%s'" + msgstr "Indagar '%s'" + +-#: query.c:620 query.c:657 ++#: query.c:661 query.c:698 + msgid "Query command not defined" + msgstr "El comando de indagación no fue definido" + +-#: recvattach.c:93 ++#: recvattach.c:91 + msgid "Pipe" + msgstr "Redirigir" + +-#: recvattach.c:94 ++#: recvattach.c:92 + msgid "Print" + msgstr "Imprimir" + +-#: recvattach.c:569 ++#: recvattach.c:571 + msgid "Saving..." + msgstr "Guardando..." + +-#: recvattach.c:573 recvattach.c:744 recvattach.c:748 ++#: recvattach.c:575 recvattach.c:746 recvattach.c:750 + #, fuzzy, c-format + msgid "Attachment saved" + msgid_plural "%d attachments saved" + msgstr[0] "Archivo adjunto guardado" + msgstr[1] "Archivo adjunto guardado" + +-#: recvattach.c:772 ++#: recvattach.c:774 + #, c-format + msgid "WARNING! You are about to overwrite %s, continue?" + msgstr "¡Atención! Está a punto de sobreescribir %s, ¿continuar?" + +-#: recvattach.c:790 ++#: recvattach.c:792 + msgid "Attachment filtered" + msgstr "Archivo adjunto filtrado" + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Filter through: " + msgstr "Filtrar a través de: " + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Pipe to: " + msgstr "Redirigir a: " + + #. L10N: s gets replaced by a MIME type, e.g. "text/plain" or + #. application/octet-stream. +-#: recvattach.c:935 ++#: recvattach.c:937 + #, fuzzy, c-format + msgid "I don't know how to print %s attachments" + msgstr "¡No sé cómo imprimir archivos adjuntos %s" +@@ -6509,58 +6587,58 @@ msgstr "¡No sé cómo imprimir archivos adjuntos %s" + #. L10N: Although we now the precise number of tagged messages, we + #. do not show it to the user. So feel free to use a "generic + #. plural" as plural translation if your language has one. +-#: recvattach.c:1038 ++#: recvattach.c:1040 + #, fuzzy, c-format + msgid "Print tagged attachment?" + msgid_plural "Print %d tagged attachments?" + msgstr[0] "¿Imprimir archivo(s) adjunto(s) marcado(s)?" + msgstr[1] "¿Imprimir archivo(s) adjunto(s) marcado(s)?" + +-#: recvattach.c:1039 ++#: recvattach.c:1041 + #, c-format + msgid "Print attachment?" + msgstr "¿Imprimir archivo adjunto?" + +-#: recvattach.c:1123 ++#: recvattach.c:1125 + msgid "Structural changes to decrypted attachments are not supported" + msgstr "" + +-#: recvattach.c:1291 ++#: recvattach.c:1293 + msgid "Can't decrypt encrypted message" + msgstr "No se puede decifrar un mensaje encriptado" + +-#: recvattach.c:1425 ++#: recvattach.c:1457 + msgid "Attachments" + msgstr "Archivos adjuntos" + +-#: recvattach.c:1465 ++#: recvattach.c:1497 + msgid "There are no subparts to show" + msgstr "¡No hay subpartes para mostrar" + +-#: recvattach.c:1520 ++#: recvattach.c:1552 + msgid "Can't delete attachment from POP server" + msgstr "No se puede suprimir un archivo adjunto del servidor POP" + +-#: recvattach.c:1529 ++#: recvattach.c:1561 + #, fuzzy + msgid "Can't delete attachment from news server" + msgstr "No se puede suprimir un archivo adjunto del servidor POP" + +-#: recvattach.c:1536 ++#: recvattach.c:1568 + #, fuzzy + msgid "Deletion of attachments from encrypted messages is unsupported" + msgstr "Suprimir archivos adjuntos de mensajes PGP no es soportado" + +-#: recvattach.c:1542 ++#: recvattach.c:1574 + #, fuzzy + msgid "Deletion of attachments from signed messages may invalidate the signature" + msgstr "Suprimir archivos adjuntos de mensajes PGP no es soportado" + +-#: recvattach.c:1561 recvattach.c:1578 ++#: recvattach.c:1593 recvattach.c:1610 + msgid "Only deletion of multipart attachments is supported" + msgstr "Suprimir sólo es soportado con archivos adjuntos tipo multiparte" + +-#: recvcmd.c:79 ++#: recvcmd.c:78 + msgid "You may only bounce message/rfc822 parts" + msgstr "Solo puede rebotar partes tipo message/rfc822" + +@@ -6597,7 +6675,7 @@ msgstr "No se pudo crear %s" + msgid "Can't find any tagged messages" + msgstr "No fue encontrado ningún mensaje marcado" + +-#: recvcmd.c:848 send.c:1073 ++#: recvcmd.c:848 send.c:1072 + msgid "No mailing lists found" + msgstr "¡Ninguna lista de correo encontrada" + +@@ -6612,67 +6690,67 @@ msgstr "No se pudieron decodificar todos los archivos adjuntos marcados. ¿Enca + msgid "You may only compose to sender with message/rfc822 parts" + msgstr "Solo puede rebotar partes tipo message/rfc822" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Append" + msgstr "Adjuntar" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Insert" + msgstr "Insertar" + +-#: remailer.c:78 ++#: remailer.c:76 + msgid "OK" + msgstr "Aceptar" + +-#: remailer.c:210 ++#: remailer.c:207 + msgid "" + msgstr "" + +-#: remailer.c:586 ++#: remailer.c:617 + msgid "Can't get mixmaster's type2.list" + msgstr "¡No se pudo obtener el type2.list del mixmaster" + +-#: remailer.c:612 ++#: remailer.c:673 + msgid "Select a remailer chain" + msgstr "Seleccionar una cadena de remailers" + +-#: remailer.c:674 ++#: remailer.c:735 + #, c-format + msgid "Error: %s can't be used as the final remailer of a chain" + msgstr "Error: %s no puede ser usado como remailer final de una cadena" + + #. L10N The '%d' here hard-coded to 19 +-#: remailer.c:706 ++#: remailer.c:767 + #, c-format + msgid "Mixmaster chains are limited to %d elements" + msgstr "Las cadenas mixmaster están limitadas a %d elementos" + +-#: remailer.c:729 ++#: remailer.c:790 + msgid "The remailer chain is already empty" + msgstr "La cadena de remailers ya está vacía" + +-#: remailer.c:739 ++#: remailer.c:800 + msgid "You already have the first chain element selected" + msgstr "Ya tiene el primer elemento de la cadena seleccionado" + +-#: remailer.c:749 ++#: remailer.c:810 + msgid "You already have the last chain element selected" + msgstr "Ya tiene el último elemento de la cadena seleccionado" + +-#: remailer.c:792 ++#: remailer.c:856 + msgid "Mixmaster doesn't accept Cc or Bcc headers" + msgstr "Mixmaster no acepta cabeceras Cc or Bcc" + +-#: remailer.c:817 ++#: remailer.c:881 + msgid "Please set the hostname variable to a proper value when using mixmaster" + msgstr "¡Por favor ajuste la variable hostname a un valor correcto si usa mixmaster" + +-#: remailer.c:860 ++#: remailer.c:924 + #, c-format + msgid "Error sending message, child exited %d.\n" + msgstr "Error al enviar mensaje, proceso hijo terminó %d.\n" + +-#: remailer.c:864 ++#: remailer.c:928 + msgid "Error sending message" + msgstr "Error al enviar el mensaje" + +@@ -6703,42 +6781,42 @@ msgstr "¿Reenviar como archivos adjuntos?" + + #. L10N: Asks whether the user respects the reply-to header. + #. If she says no, neomutt will reply to the from header's address instead. +-#: send.c:793 ++#: send.c:792 + #, c-format + msgid "Reply to %s%s?" + msgstr "¿Responder a %s%s?" + +-#: send.c:838 ++#: send.c:837 + #, c-format + msgid "Follow-up to %s%s?" + msgstr "¿Responder a %s%s?" + +-#: send.c:1122 ++#: send.c:1121 + msgid "Include message in reply?" + msgstr "¿Incluir mensaje en respuesta?" + +-#: send.c:1128 ++#: send.c:1127 + msgid "Including quoted message..." + msgstr "Incluyendo mensaje citado..." + +-#: send.c:1137 ++#: send.c:1136 + msgid "Could not include all requested messages" + msgstr "¡No se pudieron incluir todos los mensajes pedidos" + +-#: send.c:1148 ++#: send.c:1147 + msgid "Forward as attachment?" + msgstr "¿Reenviar como archivo adjunto?" + +-#: send.c:1153 ++#: send.c:1152 + msgid "Preparing forwarded message..." + msgstr "Preparando mensaje reenviado..." + +-#: send.c:1632 ++#: send.c:1631 + #, fuzzy + msgid "Fcc to an IMAP mailbox is not supported in batch mode" + msgstr "%c: no soportado en este modo" + +-#: send.c:1664 send.c:1690 ++#: send.c:1665 send.c:1675 send.c:1701 + #, fuzzy + msgid "Save attachments in Fcc?" + msgstr "mostrar archivos adjuntos como texto" +@@ -6747,197 +6825,197 @@ msgstr "mostrar archivos adjuntos como texto" + #. (r)etry tries the same mailbox again. + #. alternate (m)ailbox prompts for a different mailbox to try. + #. (s)kip aborts saving. +-#: send.c:1712 ++#: send.c:1723 + msgid "Fcc failed. (r)etry, alternate (m)ailbox, or (s)kip?" + msgstr "" + + #. L10N: These correspond to the "Fcc failed" multi-choice prompt + #. (r)etry, alternate (m)ailbox, or (s)kip. + #. Any similarity to famous leaders of the FSF is coincidental. +-#: send.c:1716 ++#: send.c:1727 + msgid "rms" + msgstr "" + + #. L10N: This is the prompt to enter an "alternate (m)ailbox" when the + #. initial Fcc fails. +-#: send.c:1722 ++#: send.c:1733 + #, fuzzy + msgid "Fcc mailbox" + msgstr "No hay buzón.\n" + +-#: send.c:1788 ++#: send.c:1799 + msgid "Can't postpone. $postponed is unset" + msgstr "" + +-#: send.c:1923 ++#: send.c:1934 + msgid "Recall postponed message?" + msgstr "¿Continuar mensaje pospuesto?" + +-#: send.c:2228 ++#: send.c:2239 + #, fuzzy + msgid "Edit forwarded message?" + msgstr "Preparando mensaje reenviado..." + +-#: send.c:2266 ++#: send.c:2277 + msgid "Abort unmodified message?" + msgstr "¿Cancelar mensaje sin cambios?" + +-#: send.c:2268 ++#: send.c:2279 + msgid "Aborted unmodified message" + msgstr "Mensaje sin cambios cancelado" + +-#: send.c:2388 ++#: send.c:2399 + msgid "No crypto backend configured. Disabling message security setting." + msgstr "" + +-#: send.c:2427 ++#: send.c:2438 + #, fuzzy + msgid "Article not posted" + msgstr "Mensaje no enviado" + +-#: send.c:2437 ++#: send.c:2448 + msgid "Message postponed" + msgstr "Mensaje pospuesto" + +-#: send.c:2470 ++#: send.c:2481 + msgid "No subject, abort sending?" + msgstr "Falta el asunto, ¿cancelar envío?" + +-#: send.c:2474 send.c:2480 ++#: send.c:2485 send.c:2491 + msgid "No subject specified" + msgstr "Asunto no fue especificado" + +-#: send.c:2486 ++#: send.c:2497 + #, fuzzy + msgid "No newsgroup specified" + msgstr "Asunto no fue especificado" + +-#: send.c:2496 ++#: send.c:2507 + #, fuzzy + msgid "No attachments, cancel sending?" + msgstr "editar la codificación del archivo adjunto" + +-#: send.c:2501 ++#: send.c:2512 + msgid "Message contains text matching \"$abort_noattach_regex\". Not sending." + msgstr "El mensaje contiene texto que coincide con \"$abort_noattach_regex\". No se envía." + +-#: send.c:2559 smtp.c:227 ++#: send.c:2570 smtp.c:230 + msgid "Sending message..." + msgstr "Enviando mensaje..." + +-#: send.c:2598 ++#: send.c:2609 + msgid "Could not send the message" + msgstr "No se pudo enviar el mensaje" + +-#: send.c:2608 ++#: send.c:2619 + msgid "Sending in background" + msgstr "Enviando en un proceso en segundo plano" + +-#: send.c:2609 ++#: send.c:2620 + msgid "Article posted" + msgstr "Artículo enviado" + +-#: send.c:2610 ++#: send.c:2621 + msgid "Mail sent" + msgstr "Mensaje enviado" + +-#: sendlib.c:567 ++#: sendlib.c:566 + msgid "No boundary parameter found [report this error]" + msgstr "El parámetro límite no fue encontrado. [reporte este error]" + +-#: sendlib.c:598 ++#: sendlib.c:597 + #, c-format + msgid "%s no longer exists" + msgstr "¡%s ya no existe" + +-#: sendlib.c:1056 ++#: sendlib.c:1055 + #, fuzzy, c-format + msgid "%s isn't a regular file" + msgstr "%s no es un buzón" + +-#: sendlib.c:1223 ++#: sendlib.c:1222 + #, fuzzy + msgid "Could not find any mime.types file." + msgstr "No se pudo enviar el mensaje." + +-#: sendlib.c:1314 ++#: sendlib.c:1313 + #, c-format + msgid "Could not open %s" + msgstr "No se pudo abrir %s" + +-#: sendlib.c:2864 ++#: sendlib.c:2855 + msgid "$sendmail must be set in order to send mail" + msgstr "$sendmail debe ser definido para mandar emails" + +-#: sendlib.c:2971 ++#: sendlib.c:2962 + #, c-format + msgid "Error sending message, child exited %d (%s)" + msgstr "Error al enviar mensaje, proceso hijo terminó %d (%s)" + +-#: sendlib.c:2977 ++#: sendlib.c:2969 + msgid "Output of the delivery process" + msgstr "Salida del proceso de repartición de correo" + +-#: sendlib.c:3157 ++#: sendlib.c:3154 + #, c-format + msgid "Bad IDN %s while preparing resent-from" + msgstr "IDN %s inválido mientras se preparaba resent-from" + +-#: smtp.c:165 ++#: smtp.c:168 + #, fuzzy, c-format + msgid "SMTP session failed: %s" + msgstr "CLOSE falló" + +-#: smtp.c:222 ++#: smtp.c:225 + #, fuzzy, c-format + msgid "SMTP session failed: unable to open %s" + msgstr "CLOSE falló" + +-#: smtp.c:339 ++#: smtp.c:364 + #, fuzzy, c-format + msgid "Invalid SMTP URL: %s" + msgstr "Mes inválido: %s" + +-#: smtp.c:618 ++#: smtp.c:643 + #, c-format + msgid "SMTP authentication method %s requires SASL" + msgstr "" + +-#: smtp.c:625 ++#: smtp.c:650 + #, c-format + msgid "%s authentication failed, trying next method" + msgstr "Autenticación %s falló, usando el método siguiente" + +-#: smtp.c:636 ++#: smtp.c:661 + #, fuzzy + msgid "SMTP authentication requires SASL" + msgstr "Verificación de autentidad GSSAPI falló" + +-#: smtp.c:717 ++#: smtp.c:742 + msgid "SMTP server does not support authentication" + msgstr "El servidor SMTP no soporta autentificación" + +-#: smtp.c:756 ++#: smtp.c:781 + msgid "No from address given" + msgstr "" + +-#: smtp.c:821 ++#: smtp.c:846 + msgid "SMTP session failed: read error" + msgstr "Sesión SMTP fallida: error de lectura" + +-#: smtp.c:823 ++#: smtp.c:848 + msgid "SMTP session failed: write error" + msgstr "Sesión SMTP fallida: error de escritura" + +-#: smtp.c:825 ++#: smtp.c:850 + msgid "Invalid server response" + msgstr "Respuesta del servidor inválida" + +-#: sort.c:385 ++#: sort.c:387 + msgid "Sorting mailbox..." + msgstr "Ordenando buzón..." + +-#: sort.c:427 ++#: sort.c:429 + msgid "Could not find sorting function [report this bug]" + msgstr "¡No se pudo encontrar la función para ordenar [reporte este fallo]" + +@@ -6989,11 +7067,11 @@ msgstr "" + "teclee 'neomutt -vv'. NeoMutt es software libre, puede redistribuirlo\n" + "bajo ciertas condiciones; teclee 'neomutt -vv' para más detalles.\n" + +-#: version.c:446 ++#: version.c:451 + #, fuzzy + msgid "Default options:" + msgstr "Opciones especificadas al compilar:" + +-#: version.c:449 ++#: version.c:454 + msgid "Compile options:" + msgstr "Opciones especificadas al compilar:" +diff --git a/po/et.po b/po/et.po +index bd73cc1b7..03b11b45b 100644 +--- a/po/et.po ++++ b/po/et.po +@@ -9,7 +9,7 @@ msgid "" + msgstr "" + "Project-Id-Version: neomutt-2019-12-07\n" + "Report-Msgid-Bugs-To: neomutt-devel@neomutt.org\n" +-"POT-Creation-Date: 2019-12-06 23:10+0000\n" ++"POT-Creation-Date: 2020-03-09 12:15+0000\n" + "PO-Revision-Date: 2002-12-09 17:19+02:00\n" + "Last-Translator: Toomas Soome \n" + "Language-Team: Estonian \n" +@@ -19,16 +19,44 @@ msgstr "" + "Content-Transfer-Encoding: 8bit\n" + "Plural-Forms: nplurals=2; plural=(n != 1);\n" + +-#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:59 browser.c:80 browser.c:90 +-#: mutt_history.c:45 pager.c:228 postpone.c:68 query.c:80 recvattach.c:93 ++#, fuzzy ++msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" ++msgstr "(k)eeldu, (n)õustu korra, nõustu (a)alati" ++ ++#, fuzzy ++msgid "roas" ++msgstr "kna" ++ ++msgid "(r)eject, accept (o)nce, (a)ccept always" ++msgstr "(k)eeldu, (n)õustu korra, nõustu (a)alati" ++ ++msgid "roa" ++msgstr "kna" ++ ++#, fuzzy ++msgid "(r)eject, accept (o)nce, (s)kip" ++msgstr "(k)eeldu, (n)õustu korra" ++ ++#, fuzzy ++msgid "ros" ++msgstr "kn" ++ ++msgid "(r)eject, accept (o)nce" ++msgstr "(k)eeldu, (n)õustu korra" ++ ++msgid "ro" ++msgstr "kn" ++ ++#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:58 browser.c:79 browser.c:89 ++#: mutt_history.c:45 pager.c:220 postpone.c:68 query.c:78 recvattach.c:91 + msgid "Exit" + msgstr "Välju" + +-#: addrbook.c:56 index.c:116 index.c:129 pager.c:236 pager.c:246 postpone.c:69 ++#: addrbook.c:56 index.c:112 index.c:125 pager.c:228 pager.c:238 postpone.c:69 + msgid "Del" + msgstr "Kustuta" + +-#: addrbook.c:57 index.c:117 index.c:130 postpone.c:70 ++#: addrbook.c:57 index.c:113 index.c:126 postpone.c:70 + msgid "Undel" + msgstr "Taasta" + +@@ -36,18 +64,18 @@ msgstr "Taasta" + msgid "Select" + msgstr "Vali" + +-#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:82 browser.c:84 browser.c:96 +-#: compose.c:218 compose.c:230 conn/ssl.c:983 conn/ssl_gnutls.c:691 index.c:122 +-#: index.c:135 mutt_history.c:48 ncrypt/crypt_gpgme.c:4735 ncrypt/pgpkey.c:670 +-#: ncrypt/smime.c:553 pager.c:2326 postpone.c:71 query.c:85 recvattach.c:94 ++#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:81 browser.c:83 browser.c:95 ++#: compose.c:216 compose.c:228 conn/ssl.c:996 conn/ssl_gnutls.c:722 index.c:118 ++#: index.c:131 mutt_history.c:48 ncrypt/crypt_gpgme.c:4783 ncrypt/pgpkey.c:673 ++#: ncrypt/smime.c:555 pager.c:2297 postpone.c:71 query.c:83 recvattach.c:92 + msgid "Help" + msgstr "Appi" + +-#: addrbook.c:208 ++#: addrbook.c:238 + msgid "You have no aliases" + msgstr "Tei pole hüüdnimesid" + +-#: addrbook.c:215 ++#: addrbook.c:276 + msgid "Aliases" + msgstr "Hüüdnimed" + +@@ -56,53 +84,53 @@ msgstr "Hüüdnimed" + msgid "Alias as: " + msgstr "Hüüdnimeks: " + +-#: alias.c:411 ++#: alias.c:414 + msgid "You already have an alias defined with that name" + msgstr "Teil on juba selle nimeline hüüdnimi" + +-#: alias.c:417 ++#: alias.c:420 + msgid "Warning: This alias name may not work. Fix it?" + msgstr "Hoiatus: See hüüdnimi ei pruugi toimida. Parandan?" + +-#: alias.c:442 ++#: alias.c:445 + msgid "Address: " + msgstr "Aadress: " + +-#: alias.c:453 commands.c:444 compose.c:744 conn/conn_raw.c:152 +-#: conn/conn_raw.c:210 recvcmd.c:232 send.c:228 ++#: alias.c:457 commands.c:450 compose.c:743 conn/conn_raw.c:152 ++#: conn/conn_raw.c:210 recvcmd.c:231 send.c:227 + #, c-format + msgid "Bad IDN: '%s'" + msgstr "" + +-#: alias.c:464 ++#: alias.c:468 + msgid "Personal name: " + msgstr "Isiku nimi: " + +-#: alias.c:473 ++#: alias.c:477 + #, c-format + msgid "[%s = %s] Accept?" + msgstr "[%s = %s] Nõus?" + +-#: alias.c:484 recvattach.c:528 recvattach.c:550 recvattach.c:564 +-#: recvattach.c:579 recvattach.c:678 ++#: alias.c:488 recvattach.c:530 recvattach.c:552 recvattach.c:566 ++#: recvattach.c:581 recvattach.c:680 + msgid "Save to file: " + msgstr "Salvestan faili: " + +-#: alias.c:503 ++#: alias.c:507 + #, fuzzy + msgid "Error reading alias file" + msgstr "Viga faili vaatamisel" + +-#: alias.c:525 ++#: alias.c:529 + #, fuzzy + msgid "Trouble adding alias" + msgstr "Viga faili vaatamisel" + +-#: alias.c:527 ++#: alias.c:531 + msgid "Alias added" + msgstr "Hüüdnimi on lisatud" + +-#: alias.c:532 ++#: alias.c:536 + #, fuzzy + msgid "Error seeking in alias file" + msgstr "Viga faili vaatamisel" +@@ -112,7 +140,7 @@ msgstr "Viga faili vaatamisel" + #. for some reason (e.g. autocrypt, header cache, bcache), but it + #. doesn't exist. The prompt is asking whether to create the directory + #. +-#: autocrypt/autocrypt.c:70 main.c:826 ++#: autocrypt/autocrypt.c:70 main.c:757 + #, c-format + msgid "%s does not exist. Create it?" + msgstr "%s ei ole. Loon selle?" +@@ -121,8 +149,8 @@ msgstr "%s ei ole. Loon selle?" + #. mkdir() on the directory %s failed. The second %s is the + #. error message returned by libc + #. +-#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:830 +-#: nntp/newsrc.c:1069 ++#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:761 ++#: nntp/newsrc.c:1098 + #, c-format + msgid "Can't create %s: %s" + msgstr "%s ei saa luua: %s" +@@ -132,7 +160,7 @@ msgstr "%s ei saa luua: %s" + #. create $autocrypt_dir and then prompt to create an autocrypt + #. account with this message. + #. +-#: autocrypt/autocrypt.c:156 ++#: autocrypt/autocrypt.c:163 + msgid "Create an initial autocrypt account?" + msgstr "" + +@@ -141,7 +169,7 @@ msgstr "" + #. autocrypt account. This will generate a key and add a record + #. to the database for use in autocrypt operations. + #. +-#: autocrypt/autocrypt.c:180 ++#: autocrypt/autocrypt.c:187 + msgid "Autocrypt account address: " + msgstr "" + +@@ -150,7 +178,7 @@ msgstr "" + #. a single address. This is shown if they entered something invalid, + #. nothing, or more than one address for some reason. + #. +-#: autocrypt/autocrypt.c:191 ++#: autocrypt/autocrypt.c:198 + msgid "Please enter a single email address" + msgstr "" + +@@ -159,7 +187,7 @@ msgstr "" + #. if there is already an account in the database with the email address + #. they just entered. + #. +-#: autocrypt/autocrypt.c:208 ++#: autocrypt/autocrypt.c:215 + msgid "That email address already has an autocrypt account" + msgstr "" + +@@ -171,7 +199,7 @@ msgstr "" + #. Otherwise the UI will show encryption is "available" but the user + #. will be required to enable encryption manually. + #. +-#: autocrypt/autocrypt.c:223 ++#: autocrypt/autocrypt.c:230 + #, fuzzy + msgid "Prefer encryption?" + msgstr "Krüpti" +@@ -179,7 +207,7 @@ msgstr "Krüpti" + #. L10N: + #. Message displayed after an autocrypt account is successfully created. + #. +-#: autocrypt/autocrypt.c:236 ++#: autocrypt/autocrypt.c:243 + msgid "Autocrypt account creation succeeded" + msgstr "" + +@@ -187,7 +215,7 @@ msgstr "" + #. Error message displayed if creating an autocrypt account failed + #. or was aborted by the user. + #. +-#: autocrypt/autocrypt.c:242 ++#: autocrypt/autocrypt.c:249 + msgid "Autocrypt account creation aborted" + msgstr "" + +@@ -196,7 +224,7 @@ msgstr "" + #. to use to encrypt, but it can't find a valid keyid for this address. + #. The message is printed and they are returned to the compose menu. + #. +-#: autocrypt/autocrypt.c:610 autocrypt/autocrypt.c:639 ++#: autocrypt/autocrypt.c:617 autocrypt/autocrypt.c:646 + #, fuzzy, c-format + msgid "No (valid) autocrypt key found for %s" + msgstr "%s jaoks puudub kehtiv sertifikaat" +@@ -208,12 +236,12 @@ msgstr "%s jaoks puudub kehtiv sertifikaat" + #. and used for encryption. + #. If this is answered yes, they will be prompted for a mailbox. + #. +-#: autocrypt/autocrypt.c:903 ++#: autocrypt/autocrypt.c:910 + msgid "Scan a mailbox for autocrypt headers?" + msgstr "" + + #. L10N: The prompt for a mailbox to scan for Autocrypt: headers +-#: autocrypt/autocrypt.c:907 ++#: autocrypt/autocrypt.c:914 + #, fuzzy + msgid "Scan mailbox" + msgstr "Postkasti pole.\n" +@@ -225,14 +253,14 @@ msgstr "Postkasti pole.\n" + #. for a mailbox. This is because this is a one-time operation + #. and I don't want them to accidentally ctrl-g and abort it. + #. +-#: autocrypt/autocrypt.c:927 ++#: autocrypt/autocrypt.c:934 + msgid "Scan another mailbox for autocrypt headers?" + msgstr "" + + #. L10N: Autocrypt Account Menu Help line: + #. create new account + #. +-#: autocrypt/autocrypt_acct_menu.c:63 ++#: autocrypt/autocrypt_acct_menu.c:62 + #, fuzzy + msgid "Create" + msgstr "Loon %s?" +@@ -240,7 +268,7 @@ msgstr "Loon %s?" + #. L10N: Autocrypt Account Menu Help line: + #. delete account + #. +-#: autocrypt/autocrypt_acct_menu.c:67 remailer.c:77 ++#: autocrypt/autocrypt_acct_menu.c:66 remailer.c:75 + msgid "Delete" + msgstr "Kustuta" + +@@ -248,9 +276,9 @@ msgstr "Kustuta" + #. toggle an account active/inactive + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:74 ++#: autocrypt/autocrypt_acct_menu.c:73 + msgid "Tgl Active" + msgstr "" + +@@ -258,17 +286,17 @@ msgstr "" + #. toggle "prefer-encrypt" on an account + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:81 +-msgid "Prf Enc" ++#: autocrypt/autocrypt_acct_menu.c:80 ++msgid "Prf Encr" + msgstr "" + + #. L10N: + #. Autocrypt Account menu. + #. flag that an account has prefer-encrypt set + #. +-#: autocrypt/autocrypt_acct_menu.c:123 ++#: autocrypt/autocrypt_acct_menu.c:122 + msgid "prefer encrypt" + msgstr "" + +@@ -277,7 +305,7 @@ msgstr "" + #. flag that an account has prefer-encrypt unset; + #. thus encryption will need to be manually enabled. + #. +-#: autocrypt/autocrypt_acct_menu.c:130 ++#: autocrypt/autocrypt_acct_menu.c:129 + msgid "manual encrypt" + msgstr "" + +@@ -285,7 +313,7 @@ msgstr "" + #. Autocrypt Account menu. + #. flag that an account is enabled/active + #. +-#: autocrypt/autocrypt_acct_menu.c:138 ++#: autocrypt/autocrypt_acct_menu.c:137 + msgid "active" + msgstr "" + +@@ -293,12 +321,12 @@ msgstr "" + #. Autocrypt Account menu. + #. flag that an account is disabled/inactive + #. +-#: autocrypt/autocrypt_acct_menu.c:144 ++#: autocrypt/autocrypt_acct_menu.c:143 + msgid "inactive" + msgstr "" + + #. L10N: Autocrypt Account Management Menu title +-#: autocrypt/autocrypt_acct_menu.c:183 ++#: autocrypt/autocrypt_acct_menu.c:182 + msgid "Autocrypt Accounts" + msgstr "" + +@@ -306,13 +334,13 @@ msgstr "" + #. This error message is displayed if a database update of an + #. account record fails for some odd reason. + #. +-#: autocrypt/autocrypt_acct_menu.c:245 autocrypt/autocrypt_acct_menu.c:259 ++#: autocrypt/autocrypt_acct_menu.c:244 autocrypt/autocrypt_acct_menu.c:258 + #, fuzzy + msgid "Error updating account record" + msgstr "Viga kataloogi skaneerimisel" + + #. L10N: Confirmation message when deleting an autocrypt account +-#: autocrypt/autocrypt_acct_menu.c:302 ++#: autocrypt/autocrypt_acct_menu.c:333 + #, fuzzy, c-format + msgid "Really delete account \"%s\"?" + msgstr "Kas tõesti kustutada postkast \"%s\"?" +@@ -330,7 +358,7 @@ msgstr "Kas tõesti kustutada postkast \"%s\"?" + msgid "Unable to open autocrypt database %s" + msgstr "Postkasti ei saa lukustada!" + +-#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:774 ++#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:773 + #, fuzzy, c-format + msgid "error creating gpgme context: %s" + msgstr "viga mustris: %s" +@@ -403,336 +431,287 @@ msgstr "" + msgid "Message cache isn't a directory: %s" + msgstr "%s ei ole kataloog" + +-#: browser.c:81 ++#: browser.c:80 + msgid "Chdir" + msgstr "Chdir" + +-#: browser.c:82 ++#: browser.c:81 + msgid "Goto" + msgstr "" + +-#: browser.c:83 browser.c:95 ++#: browser.c:82 browser.c:94 + msgid "Mask" + msgstr "Mask" + +-#: browser.c:91 ++#: browser.c:90 + msgid "List" + msgstr "" + +-#: browser.c:92 ++#: browser.c:91 + #, fuzzy + msgid "Subscribe" + msgstr "Tellin %s..." + +-#: browser.c:93 ++#: browser.c:92 + #, fuzzy + msgid "Unsubscribe" + msgstr "Loobun kaustast %s..." + +-#: browser.c:94 index.c:134 ++#: browser.c:93 index.c:130 + msgid "Catchup" + msgstr "" + +-#: browser.c:760 browser.c:1519 browser.c:1758 ++#: browser.c:763 browser.c:1584 browser.c:1825 + #, c-format + msgid "%s is not a directory" + msgstr "%s ei ole kataloog" + +-#: browser.c:1025 ++#: browser.c:1028 + #, fuzzy, c-format + msgid "Subscribed newsgroups" + msgstr "Tellin %s..." + +-#: browser.c:1028 ++#: browser.c:1031 + #, c-format + msgid "Newsgroups on server [%s]" + msgstr "" + +-#: browser.c:1038 ++#: browser.c:1041 + #, c-format + msgid "Mailboxes [%d]" + msgstr "Postkastid [%d]" + +-#: browser.c:1050 ++#: browser.c:1053 + #, c-format + msgid "Subscribed [%s], File mask: %s" + msgstr "Tellitud [%s], faili mask: %s" + +-#: browser.c:1056 ++#: browser.c:1059 + #, c-format + msgid "Directory [%s], File mask: %s" + msgstr "Kataloog [%s], failimask: %s" + +-#: browser.c:1113 ++#: browser.c:1116 + msgid "Can't attach a directory" + msgstr "Kataloogi ei saa lisada" + +-#: browser.c:1380 browser.c:1814 browser.c:1959 ++#: browser.c:1445 browser.c:1881 browser.c:2026 + msgid "No files match the file mask" + msgstr "Maskile vastavaid faile ei ole" + +-#: browser.c:1587 ++#: browser.c:1654 + msgid "Create is only supported for IMAP mailboxes" + msgstr "Luua saab ainult IMAP postkaste" + +-#: browser.c:1609 ++#: browser.c:1676 + #, fuzzy + msgid "Rename is only supported for IMAP mailboxes" + msgstr "Luua saab ainult IMAP postkaste" + +-#: browser.c:1630 ++#: browser.c:1697 + msgid "Delete is only supported for IMAP mailboxes" + msgstr "Kustutada saab ainult IMAP postkaste" + +-#: browser.c:1642 ++#: browser.c:1709 + #, fuzzy + msgid "Can't delete currently selected mailbox" + msgstr "näita praegu valitud faili nime" + +-#: browser.c:1646 ++#: browser.c:1713 + #, c-format + msgid "Really delete mailbox \"%s\"?" + msgstr "Kas tõesti kustutada postkast \"%s\"?" + +-#: browser.c:1663 ++#: browser.c:1730 + msgid "Mailbox deleted" + msgstr "Postkast on kustutatud" + +-#: browser.c:1667 ++#: browser.c:1734 + #, fuzzy + msgid "Mailbox deletion failed" + msgstr "Postkast on kustutatud" + +-#: browser.c:1670 ++#: browser.c:1737 + msgid "Mailbox not deleted" + msgstr "Postkasti ei kustutatud" + +-#: browser.c:1697 ++#: browser.c:1764 + msgid "Chdir to: " + msgstr "Mine kataloogi: " + +-#: browser.c:1747 browser.c:1808 ++#: browser.c:1814 browser.c:1875 + msgid "Error scanning directory" + msgstr "Viga kataloogi skaneerimisel" + +-#: browser.c:1769 ++#: browser.c:1836 + msgid "File Mask: " + msgstr "Failimask: " + + #. L10N: The highlighted letters must match the "Sort" options +-#: browser.c:1831 ++#: browser.c:1898 + #, fuzzy + msgid "Reverse sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "Järjestan tagurpidi (k)uup., (t)ähest., (s)uuruse järgi või (e)i järjesta?" + + #. L10N: The highlighted letters must match the "Reverse Sort" options +-#: browser.c:1834 ++#: browser.c:1901 + #, fuzzy + msgid "Sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "Järjestan (k)uup., (t)ähest., (s)uuruse järgi või (e)i järjesta?" + + #. L10N: These must match the highlighted letters from "Sort" and "Reverse Sort" +-#: browser.c:1837 ++#: browser.c:1904 + msgid "dazecwn" + msgstr "" + +-#: browser.c:1948 ++#: browser.c:2015 + msgid "New file name: " + msgstr "Uus failinimi: " + +-#: browser.c:1976 ++#: browser.c:2043 + msgid "Can't view a directory" + msgstr "Kataloogi ei saa vaadata" + +-#: browser.c:1993 ++#: browser.c:2060 + msgid "Error trying to view file" + msgstr "Viga faili vaatamisel" + +-#: browser.c:2079 ++#: browser.c:2146 + #, fuzzy, c-format + msgid "Subscribe pattern: " + msgstr "Tellin %s..." + +-#: browser.c:2081 ++#: browser.c:2148 + #, fuzzy, c-format + msgid "Unsubscribe pattern: " + msgstr "Loobun kaustast %s..." + +-#: browser.c:2101 ++#: browser.c:2169 + #, fuzzy + msgid "No newsgroups match the mask" + msgstr "Maskile vastavaid faile ei ole" + +-#: color.c:633 color.c:644 +-#, c-format +-msgid "%s: color not supported by term" +-msgstr "%s: terminal ei toeta värve" +- +-#: color.c:652 +-#, c-format +-msgid "%s: no such color" +-msgstr "%s. sellist värvi ei ole" +- +-#: color.c:717 color.c:740 color.c:751 color.c:842 +-#, c-format +-msgid "%s: no such object" +-msgstr "%s: sellist objekti ei ole" +- +-#: color.c:731 color.c:868 color.c:1069 color.c:1098 color.c:1122 color.c:1191 +-#: color.c:1214 hook.c:110 hook.c:124 hook.c:367 hook.c:383 init.c:612 +-#: init.c:620 init.c:709 init.c:1099 init.c:1267 init.c:1871 init.c:1929 +-#: keymap.c:1184 score.c:110 +-#, c-format +-msgid "%s: too few arguments" +-msgstr "%s: liiga vähe argumente" +- +-#: color.c:1142 +-#, c-format +-msgid "%s: no such attribute" +-msgstr "%s. sellist atribuuti pole" +- +-#: color.c:1223 color.c:1329 hook.c:131 hook.c:390 init.c:1123 init.c:2133 +-#: init.c:2611 keymap.c:1116 keymap.c:1289 keymap.c:1442 keymap.c:1506 +-#: mutt_lua.c:483 score.c:119 +-#, c-format +-msgid "%s: too many arguments" +-msgstr "%s: liiga palju argumente" +- +-#: color.c:1244 +-msgid "default colors not supported" +-msgstr "vaikimisi värve ei toetata" +- +-#: color.c:1282 +-#, c-format +-msgid "Maximum quoting level is %d" +-msgstr "" +- +-#: color.c:1319 +-#, fuzzy, c-format +-msgid "%s: invalid number: %s" +-msgstr "%d: vigane teate number.\n" +- + #. L10N: Used for the $crypt_verify_sig prompt +-#: commands.c:230 ++#: commands.c:232 + msgid "Verify signature?" + msgstr "Kontrollin allkirja?" + +-#: commands.c:257 mbox/mbox.c:1236 ++#: commands.c:259 mbox/mbox.c:1236 + msgid "Could not create temporary file" + msgstr "Ei õnnestu luua ajutist faili" + +-#: commands.c:269 ++#: commands.c:271 + msgid "Can't create display filter" + msgstr "Filtri loomine ebaõnnestus" + +-#: commands.c:302 ++#: commands.c:304 + msgid "Could not copy message" + msgstr "Teadet ei õnnestu kopeerida." + +-#: commands.c:338 ++#: commands.c:340 + msgid "S/MIME signature successfully verified" + msgstr "S/MIME allkiri on edukalt kontrollitud" + +-#: commands.c:340 ++#: commands.c:342 + msgid "S/MIME certificate owner does not match sender" + msgstr "S/MIME sertifikaadi omanik ei ole kirja saatja" + +-#: commands.c:343 commands.c:353 ++#: commands.c:345 commands.c:355 + msgid "Warning: Part of this message has not been signed" + msgstr "" + +-#: commands.c:345 ++#: commands.c:347 + msgid "S/MIME signature could NOT be verified" + msgstr "S/MIME allkirja EI ÕNNESTU kontrollida" + +-#: commands.c:351 ++#: commands.c:353 + msgid "PGP signature successfully verified" + msgstr "PGP allkiri on edukalt kontrollitud" + +-#: commands.c:355 ++#: commands.c:357 + msgid "PGP signature could NOT be verified" + msgstr "PGP allkirja EI ÕNNESTU kontrollida" + +-#: commands.c:372 compose.c:2116 compress.c:321 curs_lib.c:359 curs_lib.c:646 +-#: index.c:1235 index.c:1285 mutt_attach.c:159 mutt_attach.c:292 pager.c:2460 +-#: sendlib.c:1625 ++#: commands.c:378 compose.c:2187 compress/compress.c:320 gui/curs_lib.c:360 ++#: gui/curs_lib.c:714 index.c:1240 index.c:1290 mutt_attach.c:161 ++#: mutt_attach.c:294 pager.c:2433 sendlib.c:1624 + #, c-format + msgid "Error running \"%s\"" + msgstr "Viga \"%s\" käivitamisel" + +-#: commands.c:382 ++#: commands.c:388 + msgid "Command: " + msgstr "Käsklus: " + +-#: commands.c:419 recvcmd.c:191 recvcmd.c:203 ++#: commands.c:425 recvcmd.c:190 recvcmd.c:202 + msgid "Warning: message contains no From: header" + msgstr "" + +-#: commands.c:425 recvcmd.c:212 ++#: commands.c:431 recvcmd.c:211 + #, fuzzy + msgid "Bounce message to: " + msgstr "Peegelda teade aadressile: " + +-#: commands.c:427 recvcmd.c:214 ++#: commands.c:433 recvcmd.c:213 + #, fuzzy + msgid "Bounce tagged messages to: " + msgstr "Peegelda märgitud teated aadressile: " + +-#: commands.c:436 recvcmd.c:224 ++#: commands.c:442 recvcmd.c:223 + msgid "Error parsing address" + msgstr "Viga aadressi analüüsimisel" + +-#: commands.c:455 recvcmd.c:243 ++#: commands.c:461 recvcmd.c:242 + #, fuzzy, c-format + msgid "Bounce message to %s?" + msgid_plural "Bounce messages to %s?" + msgstr[0] "Peegelda teade aadressile %s?" + msgstr[1] "Peegelda teated aadressile %s?" + +-#: commands.c:470 recvcmd.c:257 ++#: commands.c:476 recvcmd.c:257 + #, fuzzy + msgid "Message not bounced" + msgid_plural "Messages not bounced" + msgstr[0] "Teade on peegeldatud" + msgstr[1] "Teated on peegeldatud" + +-#: commands.c:496 recvcmd.c:276 ++#: commands.c:502 recvcmd.c:276 + #, fuzzy + msgid "Message bounced" + msgid_plural "Messages bounced" + msgstr[0] "Teade on peegeldatud" + msgstr[1] "Teated on peegeldatud" + +-#: commands.c:606 commands.c:642 commands.c:662 ++#: commands.c:612 commands.c:648 commands.c:668 + msgid "Can't create filter process" + msgstr "Filterprotsessi loomine ebaõnnestus" + +-#: commands.c:698 ++#: commands.c:704 + msgid "Pipe to command: " + msgstr "Toruga käsule: " + +-#: commands.c:720 ++#: commands.c:726 + msgid "No printing command has been defined" + msgstr "Trükkimise käsklust ei ole defineeritud" + +-#: commands.c:732 ++#: commands.c:738 + #, fuzzy + msgid "Print message?" + msgstr "Trükin teate?" + +-#: commands.c:733 ++#: commands.c:739 + #, fuzzy + msgid "Print tagged messages?" + msgstr "Trükin märgitud teated?" + +-#: commands.c:739 ++#: commands.c:745 + #, fuzzy + msgid "Message printed" + msgid_plural "Messages printed" + msgstr[0] "Teade on trükitud" + msgstr[1] "Teated on trükitud" + +-#: commands.c:742 ++#: commands.c:748 + #, fuzzy + msgid "Message could not be printed" + msgid_plural "Messages could not be printed" +@@ -740,165 +719,334 @@ msgstr[0] "Teadet ei saa trükkida" + msgstr[1] "Teateid ei saa trükkida" + + #. L10N: The highlighted letters must match the "Sort" options +-#: commands.c:759 ++#: commands.c:765 + #, fuzzy + msgid "Rev-Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "Rev-Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore?" + + #. L10N: The highlighted letters must match the "Rev-Sort" options +-#: commands.c:763 ++#: commands.c:769 + #, fuzzy + msgid "Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore?" + + #. L10N: These must match the highlighted letters from "Sort" and "Rev-Sort" +-#: commands.c:767 ++#: commands.c:773 + #, fuzzy + msgid "dfrsotuzcpl" + msgstr "dfrsotuzc" + +-#: commands.c:831 ++#: commands.c:837 + msgid "Shell command: " + msgstr "Käsurea käsk: " + +-#: commands.c:1036 ++#: commands.c:1042 + #, fuzzy + msgid "Decode-save to mailbox" + msgstr "Dekodeeri-salvesta postkasti" + +-#: commands.c:1036 ++#: commands.c:1042 + #, fuzzy + msgid "Decode-save tagged to mailbox" + msgstr "Dekodeeri-salvesta märgitud postkasti" + +-#: commands.c:1038 ++#: commands.c:1044 + #, fuzzy + msgid "Decrypt-save to mailbox" + msgstr "Dekrüpti-salvesta postkasti" + +-#: commands.c:1038 ++#: commands.c:1044 + #, fuzzy + msgid "Decrypt-save tagged to mailbox" + msgstr "Dekrüpti-salvesta märgitud postkasti" + +-#: commands.c:1040 ++#: commands.c:1046 + #, fuzzy + msgid "Save to mailbox" + msgstr "Salvesta postkasti" + +-#: commands.c:1040 ++#: commands.c:1046 + #, fuzzy + msgid "Save tagged to mailbox" + msgstr "Salvesta märgitud postkasti" + +-#: commands.c:1045 ++#: commands.c:1051 + #, fuzzy + msgid "Decode-copy to mailbox" + msgstr "Dekodeeri-kopeeri postkasti" + +-#: commands.c:1045 ++#: commands.c:1051 + #, fuzzy + msgid "Decode-copy tagged to mailbox" + msgstr "Dekodeeri-kopeeri märgitud postkasti" + +-#: commands.c:1047 ++#: commands.c:1053 + #, fuzzy + msgid "Decrypt-copy to mailbox" + msgstr "Dekrüpti-kopeeri postkasti" + +-#: commands.c:1047 ++#: commands.c:1053 + #, fuzzy + msgid "Decrypt-copy tagged to mailbox" + msgstr "Dekrüpti-kopeeri märgitud postkasti" + +-#: commands.c:1049 ++#: commands.c:1055 + #, fuzzy + msgid "Copy to mailbox" + msgstr "Kopeeri postkasti" + +-#: commands.c:1049 ++#: commands.c:1055 + #, fuzzy + msgid "Copy tagged to mailbox" + msgstr "Kopeeri märgitud postkasti" + +-#: commands.c:1092 ++#: commands.c:1098 + #, c-format + msgid "Copying to %s..." + msgstr "Kopeerin kausta %s..." + + #. L10N: e.g. "text/plain; charset=UTF-8; ..." +-#: commands.c:1257 ++#: commands.c:1263 + #, fuzzy + msgid "Content type is too long" + msgstr "Sisu tüübiks on nüüd %s" + +-#: commands.c:1281 ++#: commands.c:1290 + #, c-format + msgid "Convert to %s upon sending?" + msgstr "Teisendan saatmisel kooditabelisse %s?" + +-#: commands.c:1292 ++#: commands.c:1301 + #, c-format + msgid "Content-Type changed to %s" + msgstr "Sisu tüübiks on nüüd %s" + +-#: commands.c:1297 ++#: commands.c:1306 + #, fuzzy, c-format + msgid "Character set changed to %s; not converting" + msgstr "Kooditabeliks on nüüd %s; ei teisenda" + +-#: commands.c:1298 ++#: commands.c:1307 + #, fuzzy, c-format + msgid "Character set changed to %s; converting" + msgstr "Kooditabeliks on nüüd %s; teisendan" + +-#: compose.c:99 ++#: command_parse.c:83 command_parse.c:211 command_parse.c:219 ++#: command_parse.c:740 command_parse.c:887 command_parse.c:1491 ++#: command_parse.c:1549 gui/color.c:731 gui/color.c:868 gui/color.c:1069 ++#: gui/color.c:1098 gui/color.c:1122 gui/color.c:1191 gui/color.c:1214 ++#: hook.c:110 hook.c:124 hook.c:372 hook.c:388 keymap.c:1182 score.c:110 ++#, c-format ++msgid "%s: too few arguments" ++msgstr "%s: liiga vähe argumente" ++ ++#: command_parse.c:394 ++msgid "-group: no group name" ++msgstr "" ++ ++#: command_parse.c:404 ++#, fuzzy ++msgid "out of arguments" ++msgstr "liiga vähe argumente" ++ ++#: command_parse.c:445 command_parse.c:1372 ++#, c-format ++msgid "Error: Can't build path of '%s'" ++msgstr "" ++ ++#: command_parse.c:458 ++#, c-format ++msgid "Error: Cyclic sourcing of configuration file '%s'" ++msgstr "" ++ ++#: command_parse.c:491 ++#, c-format ++msgid "Error in %s, line %d: %s" ++msgstr "Viga failis %s, real %d: %s" ++ ++#: command_parse.c:502 ++#, fuzzy, c-format ++msgid "Warning in %s, line %d: %s" ++msgstr "Viga failis %s, real %d: %s" ++ ++#: command_parse.c:526 ++#, c-format ++msgid "source: errors in %s" ++msgstr "source: vead failis %s" ++ ++#: command_parse.c:526 ++#, fuzzy, c-format ++msgid "source: reading aborted due to too many errors in %s" ++msgstr "source: lugemine katkestati, kuna %s on liialt vigane" ++ ++#: command_parse.c:535 ++#, fuzzy, c-format ++msgid "source: %d warning in %s" ++msgid_plural "source: %d warnings in %s" ++msgstr[0] "source: vead failis %s" ++msgstr[1] "source: vead failis %s" ++ ++#: command_parse.c:564 ++msgid "alias: no address" ++msgstr "alias: aadress puudub" ++ ++#: command_parse.c:606 ++#, c-format ++msgid "Warning: Bad IDN '%s' in alias '%s'" ++msgstr "" ++ ++#: command_parse.c:684 ++#, fuzzy ++msgid "attachments: no disposition" ++msgstr "toimeta lisa kirjeldust" ++ ++#: command_parse.c:695 ++#, fuzzy ++msgid "Current attachments settings:" ++msgstr "toimeta lisa kirjeldust" ++ ++#: command_parse.c:725 ++#, fuzzy ++msgid "attachments: invalid disposition" ++msgstr "toimeta lisa kirjeldust" ++ ++#: command_parse.c:764 command_parse.c:1753 command_parse.c:2205 ++#: gui/color.c:1223 gui/color.c:1329 hook.c:131 hook.c:395 keymap.c:1114 ++#: keymap.c:1287 keymap.c:1440 keymap.c:1504 mutt_lua.c:485 score.c:119 ++#, c-format ++msgid "%s: too many arguments" ++msgstr "%s: liiga palju argumente" ++ ++#: command_parse.c:801 ++#, c-format ++msgid "%sgroup: missing -rx or -addr" ++msgstr "" ++ ++#: command_parse.c:827 ++#, c-format ++msgid "%sgroup: warning: bad IDN '%s'" ++msgstr "" ++ ++#: command_parse.c:898 ++#, c-format ++msgid "Error: %s" ++msgstr "" ++ ++#: command_parse.c:1065 ++msgid "invalid header field" ++msgstr "vigane päiseväli" ++ ++#: command_parse.c:1331 command_parse.c:1435 ++#, c-format ++msgid "%s: unknown variable" ++msgstr "%s: tundmatu muutuja" ++ ++#: command_parse.c:1528 ++#, c-format ++msgid "%s is unset" ++msgstr "%s ei ole seatud" ++ ++#: command_parse.c:1573 mutt_lua.c:480 ++#, c-format ++msgid "source: error at %s" ++msgstr "source: viga kohal %s" ++ ++#: command_parse.c:1581 ++#, fuzzy, c-format ++msgid "source: file %s could not be sourced" ++msgstr "Teateid ei saa trükkida" ++ ++#: command_parse.c:1604 ++#, fuzzy ++msgid "spam: no matching pattern" ++msgstr "märgi mustrile vastavad teated" ++ ++#: command_parse.c:1606 ++#, fuzzy ++msgid "nospam: no matching pattern" ++msgstr "eemalda märk mustrile vastavatelt teadetelt" ++ ++#: command_parse.c:1762 imap/imap.c:1443 ++#, fuzzy, c-format ++msgid "Subscribed to %s" ++msgstr "Tellin %s..." ++ ++#: command_parse.c:1766 ++#, fuzzy, c-format ++msgid "Could not subscribe to %s" ++msgstr "Tellin %s..." ++ ++#: command_parse.c:1774 command_parse.c:2226 ++#, fuzzy ++msgid "No folder specified" ++msgstr "Teema puudub." ++ ++#: command_parse.c:1943 ++#, fuzzy ++msgid "unattachments: no disposition" ++msgstr "toimeta lisa kirjeldust" ++ ++#: command_parse.c:1981 ++msgid "unattachments: invalid disposition" ++msgstr "" ++ ++#: command_parse.c:2214 imap/imap.c:1445 ++#, fuzzy, c-format ++msgid "Unsubscribed from %s" ++msgstr "Loobun kaustast %s..." ++ ++#: command_parse.c:2218 ++#, fuzzy, c-format ++msgid "Could not unsubscribe from %s" ++msgstr "Loobun kaustast %s..." ++ ++#: compose.c:97 + msgid "There are no attachments" + msgstr "Lisasid ei ole" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:166 ++#: compose.c:164 + msgid "From: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:168 send.c:284 ++#: compose.c:166 send.c:284 + msgid "To: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:170 send.c:286 ++#: compose.c:168 send.c:286 + msgid "Cc: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:172 send.c:288 ++#: compose.c:170 send.c:288 + msgid "Bcc: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:174 compose.c:1242 send.c:320 ++#: compose.c:172 compose.c:1302 send.c:320 + msgid "Subject: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:176 ++#: compose.c:174 + #, fuzzy + msgid "Reply-To: " + msgstr "Vasta" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:178 compose.c:1261 ++#: compose.c:176 compose.c:1321 + msgid "Fcc: " + msgstr "" + + #. L10N: "Mix" refers to the MixMaster chain for anonymous email +-#: compose.c:181 ++#: compose.c:179 + msgid "Mix: " + msgstr "" + + #. L10N: Compose menu field. Holds "Encrypt", "Sign" related information +-#: compose.c:184 ++#: compose.c:182 + msgid "Security: " + msgstr "" + +@@ -909,78 +1057,78 @@ msgstr "" + #. it should not be longer than the other compose menu fields. + #. Since it shares the row with "Encrypt with:", it should not be longer + #. than 15-20 character cells. +-#: compose.c:192 ncrypt/crypt_gpgme.c:5602 ncrypt/pgp.c:1974 +-#: ncrypt/smime.c:2395 ++#: compose.c:190 ncrypt/crypt_gpgme.c:5682 ncrypt/pgp.c:1976 ++#: ncrypt/smime.c:2429 + msgid "Sign as: " + msgstr "Allkirjasta kui: " + + #. L10N: The compose menu autocrypt line +-#: compose.c:195 ++#: compose.c:193 + msgid "Autocrypt: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:199 ++#: compose.c:197 + msgid "Newsgroups: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:201 ++#: compose.c:199 + #, fuzzy + msgid "Followup-To: " + msgstr "Vastus aadressile %s%s?" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:203 ++#: compose.c:201 + #, fuzzy + msgid "X-Comment-To: " + msgstr "toimeta Reply-To välja" + +-#: compose.c:208 compose.c:224 ++#: compose.c:206 compose.c:222 + msgid "Send" + msgstr "Saada" + +-#: compose.c:209 compose.c:225 remailer.c:77 ++#: compose.c:207 compose.c:223 remailer.c:75 + msgid "Abort" + msgstr "Katkesta" + + #. L10N: compose menu help line entry +-#: compose.c:211 ++#: compose.c:209 + msgid "To" + msgstr "" + + #. L10N: compose menu help line entry +-#: compose.c:213 ++#: compose.c:211 + msgid "CC" + msgstr "" + + #. L10N: compose menu help line entry +-#: compose.c:215 compose.c:227 ++#: compose.c:213 compose.c:225 + msgid "Subj" + msgstr "" + +-#: compose.c:216 compose.c:228 compose.c:1556 ++#: compose.c:214 compose.c:226 compose.c:1616 + msgid "Attach file" + msgstr "Lisa fail" + +-#: compose.c:217 compose.c:229 ++#: compose.c:215 compose.c:227 + msgid "Descrip" + msgstr "Kirjeldus" + +-#: compose.c:226 ++#: compose.c:224 + #, fuzzy + msgid "Newsgroups" + msgstr "Teema puudub." + + #. L10N: Autocrypt recommendation flag: off. + #. * This is displayed when Autocrypt is turned off. +-#: compose.c:239 compose.c:473 ++#: compose.c:237 compose.c:472 + msgid "Off" + msgstr "" + + #. L10N: Autocrypt recommendation flag: no. + #. * This is displayed when Autocrypt cannot encrypt to the recipients. +-#: compose.c:242 ++#: compose.c:240 + msgid "No" + msgstr "" + +@@ -988,7 +1136,7 @@ msgstr "" + #. * This is displayed when Autocrypt believes encryption should not be used. + #. * This might occur if one of the recipient Autocrypt Keys has not been + #. * used recently, or if the only key available is a Gossip Header key. +-#: compose.c:247 ++#: compose.c:245 + msgid "Discouraged" + msgstr "" + +@@ -996,14 +1144,14 @@ msgstr "" + #. * This is displayed when Autocrypt believes encryption is possible, but + #. * leaves enabling it up to the sender. Probably because "prefer encrypt" + #. * is not set in both the sender and recipient keys. +-#: compose.c:252 ++#: compose.c:250 + msgid "Available" + msgstr "" + + #. L10N: Autocrypt recommendation flag: yes. + #. * This is displayed when Autocrypt would normally enable encryption + #. * automatically. +-#: compose.c:256 ++#: compose.c:254 + #, fuzzy + msgid "Yes" + msgstr "jah" +@@ -1014,7 +1162,7 @@ msgstr "jah" + #. (c)lear sets cleartext. + #. (a)utomatic defers to the recommendation. + #. +-#: compose.c:338 ++#: compose.c:337 + msgid "Autocrypt: (e)ncrypt, (c)lear, (a)utomatic?" + msgstr "" + +@@ -1022,53 +1170,53 @@ msgstr "" + #. The letter corresponding to the compose menu autocrypt prompt + #. (e)ncrypt, (c)lear, (a)utomatic + #. +-#: compose.c:346 ++#: compose.c:345 + msgid "eca" + msgstr "" + +-#: compose.c:383 ++#: compose.c:382 + #, fuzzy + msgid "Not supported" + msgstr "Märkimist ei toetata." + +-#: compose.c:390 ++#: compose.c:389 + msgid "Sign, Encrypt" + msgstr "Allkirjasta, krüpti" + +-#: compose.c:395 compose.c:468 ++#: compose.c:394 compose.c:467 + msgid "Encrypt" + msgstr "Krüpti" + +-#: compose.c:400 ++#: compose.c:399 + msgid "Sign" + msgstr "Allkirjasta" + +-#: compose.c:406 ++#: compose.c:405 + msgid "None" + msgstr "" + +-#: compose.c:415 ++#: compose.c:414 + #, fuzzy + msgid " (inline PGP)" + msgstr "(jätka)\n" + +-#: compose.c:417 ++#: compose.c:416 + msgid " (PGP/MIME)" + msgstr "" + +-#: compose.c:420 ++#: compose.c:419 + msgid " (S/MIME)" + msgstr "" + +-#: compose.c:424 ++#: compose.c:423 + msgid " (OppEnc mode)" + msgstr "" + +-#: compose.c:436 compose.c:445 ++#: compose.c:435 compose.c:444 + msgid "" + msgstr "" + +-#: compose.c:452 ++#: compose.c:451 + msgid "Encrypt with: " + msgstr "Krüpti kasutades: " + +@@ -1077,12 +1225,12 @@ msgstr "Krüpti kasutades: " + #. Displays the output of the recommendation engine + #. (Off, No, Discouraged, Available, Yes) + #. +-#: compose.c:483 ++#: compose.c:482 + #, fuzzy + msgid "Recommendation: " + msgstr "toimeta Reply-To välja" + +-#: compose.c:547 ++#: compose.c:546 + msgid "" + msgstr "" + +@@ -1093,7 +1241,7 @@ msgstr "" + #. The filename is located last to avoid a long path hiding the + #. error message. + #. +-#: compose.c:601 ++#: compose.c:600 + #, fuzzy, c-format + msgid "Attachment #%d no longer exists: %s" + msgstr "%s [#%d] ei eksisteeri" +@@ -1105,240 +1253,360 @@ msgstr "%s [#%d] ei eksisteeri" + #. The filename is located last to avoid a long path hiding the + #. prompt question. + #. +-#: compose.c:621 ++#: compose.c:620 + #, fuzzy, c-format + msgid "Attachment #%d modified. Update encoding for %s?" + msgstr "%s [#%d] muudeti. Uuendan kodeerimist?" + +-#: compose.c:716 ++#: compose.c:715 + msgid "-- Attachments" + msgstr "-- Lisad" + +-#: compose.c:770 ++#: compose.c:769 + msgid "You may not delete the only attachment" + msgstr "Ainukest lisa ei saa kustutada" + +-#: compose.c:1296 edit.c:538 send.c:2462 ++#: compose.c:1356 edit.c:536 send.c:2473 + #, c-format + msgid "Bad IDN in '%s': '%s'" + msgstr "" + +-#: compose.c:1347 ++#: compose.c:1407 + #, fuzzy + msgid "Attachment is already at top" + msgstr "Lisa on salvestatud" + +-#: compose.c:1352 compose.c:1368 ++#: compose.c:1412 compose.c:1428 + #, fuzzy + msgid "The fundamental part can't be moved" + msgstr "Käesolevat lisa ei teisendata" + +-#: compose.c:1363 ++#: compose.c:1423 + #, fuzzy + msgid "Attachment is already at bottom" + msgstr "Lisa on filtreeritud" + +-#: compose.c:1381 ++#: compose.c:1441 + msgid "Grouping 'alternatives' requires at least 2 tagged messages" + msgstr "" + +-#: compose.c:1462 ++#: compose.c:1522 + msgid "Grouping 'multilingual' requires at least 2 tagged messages" + msgstr "" + +-#: compose.c:1475 ++#: compose.c:1535 + msgid "Not all parts have 'Content-Language' set, continue?" + msgstr "" + +-#: compose.c:1477 ++#: compose.c:1537 + #, fuzzy + msgid "Not sending this message" + msgstr "Viga teate saatmisel" + +-#: compose.c:1571 ++#: compose.c:1631 + #, fuzzy + msgid "Attaching selected file..." + msgid_plural "Attaching selected files..." + msgstr[0] "Lisan valitud failid..." + msgstr[1] "Lisan valitud failid..." + +-#: compose.c:1585 ++#: compose.c:1645 + #, c-format + msgid "Unable to attach %s" + msgstr "%s ei õnnestu lisada" + +-#: compose.c:1606 ++#: compose.c:1666 + msgid "Open mailbox to attach message from" + msgstr "Avage postkast, millest lisada teade" + +-#: compose.c:1616 ++#: compose.c:1676 + #, fuzzy + msgid "Open newsgroup to attach message from" + msgstr "Avage postkast, millest lisada teade" + +-#: compose.c:1667 ++#: compose.c:1730 + #, fuzzy, c-format + msgid "Unable to open mailbox %s" + msgstr "Postkasti ei saa lukustada!" + +-#: compose.c:1676 ++#: compose.c:1739 + msgid "No messages in that folder" + msgstr "Selles kaustas ei ole teateid" + +-#: compose.c:1686 ++#: compose.c:1749 + msgid "Tag the messages you want to attach" + msgstr "Märkige teada, mida soovite lisada" + +-#: compose.c:1715 ++#: compose.c:1785 + msgid "Unable to attach" + msgstr "Ei õnnestu lisada" + +-#: compose.c:1752 ++#: compose.c:1822 + msgid "Recoding only affects text attachments" + msgstr "Ümberkodeerimine puudutab ainult tekstilisasid" + +-#: compose.c:1757 ++#: compose.c:1827 + msgid "The current attachment won't be converted" + msgstr "Käesolevat lisa ei teisendata" + +-#: compose.c:1759 ++#: compose.c:1829 + msgid "The current attachment will be converted" + msgstr "Käesolev lisa teisendatakse" + +-#: compose.c:1831 ++#: compose.c:1901 + msgid "Empty 'Content-Language'" + msgstr "" + +-#: compose.c:1849 ++#: compose.c:1920 + msgid "Invalid encoding" + msgstr "Vigane kodeering" + +-#: compose.c:1871 ++#: compose.c:1942 + msgid "Save a copy of this message?" + msgstr "Salvestan sellest teatest koopia?" + +-#: compose.c:1924 ++#: compose.c:1995 + #, fuzzy + msgid "Send attachment with name: " + msgstr "vaata lisa tekstina" + +-#: compose.c:1939 ++#: compose.c:2010 + msgid "Rename to: " + msgstr "Uus nimi: " + + #. L10N: "stat" is a system call. Do "man 2 stat" for more information. +-#: compose.c:1946 editmsg.c:102 editmsg.c:138 sendlib.c:1050 ++#: compose.c:2017 editmsg.c:102 editmsg.c:138 sendlib.c:1049 + #, c-format + msgid "Can't stat %s: %s" + msgstr "Ei saa lugeda %s atribuute: %s" + +-#: compose.c:1966 ++#: compose.c:2037 + msgid "New file: " + msgstr "Uus fail: " + +-#: compose.c:1984 ++#: compose.c:2055 + msgid "Content-Type is of the form base/sub" + msgstr "Content-Type on kujul baas/alam" + +-#: compose.c:1991 ++#: compose.c:2062 + #, c-format + msgid "Unknown Content-Type %s" + msgstr "Tundmatu Content-Type %s" + +-#: compose.c:1999 ++#: compose.c:2070 + #, c-format + msgid "Can't create file %s" + msgstr "Faili %s ei saa luua" + +-#: compose.c:2008 ++#: compose.c:2079 + msgid "What we have here is a failure to make an attachment" + msgstr "See mis siin nüüd on, on viga lisa loomisel" + +-#: compose.c:2073 ++#: compose.c:2144 + #, fuzzy + msgid "Save (postpone) draft message?" + msgstr "Laen postitusootel teate?" + +-#: compose.c:2133 ++#: compose.c:2204 + msgid "Write message to mailbox" + msgstr "Kirjuta teade postkasti" + +-#: compose.c:2136 ++#: compose.c:2207 + #, c-format + msgid "Writing message to %s ..." + msgstr "Kirjutan teate faili %s ..." + +-#: compose.c:2143 ++#: compose.c:2214 + msgid "Message written" + msgstr "Teade on kirjutatud" + +-#: compose.c:2154 ++#: compose.c:2225 + msgid "No PGP backend configured" + msgstr "" + +-#: compose.c:2161 compose.c:2225 ++#: compose.c:2232 compose.c:2296 + msgid "S/MIME already selected. Clear and continue?" + msgstr "S/MIME on juba valitud. Puhasta ja jätka?" + +-#: compose.c:2186 ++#: compose.c:2257 + msgid "No S/MIME backend configured" + msgstr "" + +-#: compose.c:2194 ++#: compose.c:2265 + msgid "PGP already selected. Clear and continue?" + msgstr "PGP on juba valitud. Puhasta ja jätka?" + +-#: compress.c:355 compress.c:499 ++#: compress/compress.c:354 compress/compress.c:498 + #, c-format + msgid "Can't append without an append-hook or close-hook : %s" + msgstr "" + +-#: compress.c:444 compress.c:511 compress.c:590 compress.c:628 mbox/mbox.c:1208 ++#: compress/compress.c:443 compress/compress.c:510 compress/compress.c:589 ++#: compress/compress.c:627 mbox/mbox.c:1208 + msgid "Unable to lock mailbox" + msgstr "Postkasti ei saa lukustada" + +-#: compress.c:448 compress.c:518 compress.c:594 ++#: compress/compress.c:447 compress/compress.c:517 compress/compress.c:593 + #, c-format + msgid "Decompressing %s" + msgstr "" + +-#: compress.c:457 ++#: compress/compress.c:456 + msgid "Can't identify the contents of the compressed file" + msgstr "" + +-#: compress.c:464 compress.c:539 ++#: compress/compress.c:463 compress/compress.c:538 + #, c-format + msgid "Can't find mailbox ops for mailbox type %d" + msgstr "" + +-#: compress.c:521 ++#: compress/compress.c:520 + #, fuzzy, c-format + msgid "Compress command failed: %s" + msgstr "Preconnect käsklus ebaõnnestus" + +-#: compress.c:532 ++#: compress/compress.c:531 + msgid "Unsupported mailbox type for appending" + msgstr "" + +-#: compress.c:618 ++#: compress/compress.c:617 + msgid "Can't sync a compressed file without a close-hook" + msgstr "" + +-#: compress.c:640 compress.c:692 ++#: compress/compress.c:639 compress/compress.c:691 + #, fuzzy, c-format + msgid "Compressing %s" + msgstr "Kopeerin kausta %s..." + +-#: compress.c:687 ++#: compress/compress.c:686 + #, fuzzy, c-format + msgid "Compressed-appending to %s..." + msgstr "Kopeerin kausta %s..." + +-#: compress.c:699 editmsg.c:247 ++#: compress/compress.c:698 editmsg.c:247 + #, c-format + msgid "Error. Preserving temporary file: %s" + msgstr "Viga. Säilitan ajutise faili: %s" + ++#: config/bool.c:70 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %s" ++msgstr "Vigane suhteline kuupäev: %s" ++ ++#: config/bool.c:131 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %ld" ++msgstr "Vigane suhteline kuupäev: %s" ++ ++#: config/enum.c:62 ++#, fuzzy, c-format ++msgid "Invalid enum value: %s" ++msgstr "%d: vigane teate number.\n" ++ ++#: config/enum.c:149 ++#, fuzzy, c-format ++msgid "Invalid enum value: %ld" ++msgstr "Vigane kuupäev: %s" ++ ++#: config/long.c:50 ++#, fuzzy, c-format ++msgid "Invalid long: %s" ++msgstr "Vigane kuu: %s" ++ ++#: config/long.c:56 config/long.c:114 config/number.c:68 config/number.c:133 ++#, fuzzy, c-format ++msgid "Option %s may not be negative" ++msgstr "Funktsioon ei ole teate lisamise moodis lubatud." ++ ++#: config/number.c:49 config/sort.c:145 config/string.c:75 config/string.c:159 ++#, c-format ++msgid "Option %s may not be empty" ++msgstr "" ++ ++#: config/number.c:56 ++#, fuzzy, c-format ++msgid "Invalid number: %s" ++msgstr "%d: vigane teate number.\n" ++ ++#: config/number.c:62 ++#, c-format ++msgid "Number is too big: %s" ++msgstr "" ++ ++#: config/number.c:127 ++#, fuzzy, c-format ++msgid "Invalid number: %ld" ++msgstr "%d: vigane teate number.\n" ++ ++#: config/quad.c:69 ++#, fuzzy, c-format ++msgid "Invalid quad value: %s" ++msgstr "Vigane suhteline kuupäev: %s" ++ ++#: config/quad.c:133 ++#, fuzzy, c-format ++msgid "Invalid quad value: %ld" ++msgstr "Vigane kuupäev: %s" ++ ++#: config/set.c:102 ++#, c-format ++msgid "No such variable: %s" ++msgstr "" ++ ++#: config/set.c:134 config/set.c:821 ++#, c-format ++msgid "Variable '%s' has an invalid type %d" ++msgstr "" ++ ++#: config/set.c:399 config/set.c:463 config/set.c:528 config/set.c:601 ++#: config/set.c:671 config/set.c:744 ++#, fuzzy, c-format ++msgid "Unknown variable '%s'" ++msgstr "%s: tundmatu muutuja" ++ ++#: config/sort.c:192 ++#, fuzzy, c-format ++msgid "Invalid sort name: %s" ++msgstr "Vigane suhteline kuupäev: %s" ++ ++#: config/sort.c:322 ++#, fuzzy, c-format ++msgid "Invalid sort type: %ld" ++msgstr "Vigane suhteline kuupäev: %s" ++ ++#. L10N: Example: Username at myhost.com ++#: conn/connaccount.c:61 ++#, c-format ++msgid "Username at %s: " ++msgstr "Kasutajanimi serveril %s: " ++ ++#: conn/connaccount.c:117 ++#, c-format ++msgid "Password for %s@%s: " ++msgstr "%s@%s parool: " ++ ++#. L10N: You will see this error message if (1) you have "oauthbearer" in ++#. one of your $*_authenticators and (2) you do not have the corresponding ++#. $*_oauth_refresh_command defined. So the message does not mean "None of ++#. your $*_oauth_refresh_command's are defined." ++#: conn/connaccount.c:165 ++#, fuzzy ++msgid "No OAUTH refresh command defined" ++msgstr "Päringukäsku ei ole defineeritud" ++ ++#: conn/connaccount.c:173 ++msgid "Unable to run refresh command" ++msgstr "" ++ ++#: conn/connaccount.c:184 ++msgid "Command returned empty string" ++msgstr "" ++ ++#: conn/connaccount.c:191 ++#, c-format ++msgid "OAUTH token is too big: %ld" ++msgstr "" ++ + #: conn/conn_raw.c:160 conn/conn_raw.c:218 + #, c-format + msgid "Looking up %s..." +@@ -1359,7 +1627,7 @@ msgstr "Ühendus serverisse %s..." + msgid "Could not connect to %s (%s)" + msgstr "Serveriga %s ei õnnestu ühendust luua (%s)" + +-#: conn/conn_raw.c:260 conn/ssl.c:1230 curs_lib.c:568 mutt_logging.c:149 ++#: conn/conn_raw.c:260 conn/ssl.c:1245 gui/curs_lib.c:569 mutt_logging.c:147 + msgid "unknown error" + msgstr "tundmatu viga" + +@@ -1373,24 +1641,24 @@ msgstr "Viga serveriga %s suhtlemisel (%s)" + msgid "Connection to %s has been aborted" + msgstr "Ühendus serveriga %s suleti" + +-#: conn/sasl.c:565 ++#: conn/sasl.c:547 + msgid "Unknown SASL profile" + msgstr "" + +-#: conn/sasl.c:598 ++#: conn/sasl.c:580 + #, fuzzy + msgid "Error allocating SASL connection" + msgstr "viga mustris: %s" + +-#: conn/sasl.c:608 ++#: conn/sasl.c:590 + msgid "Error setting SASL security properties" + msgstr "" + +-#: conn/sasl.c:619 ++#: conn/sasl.c:601 + msgid "Error setting SASL external security strength" + msgstr "" + +-#: conn/sasl.c:629 ++#: conn/sasl.c:611 + msgid "Error setting SASL external user name" + msgstr "" + +@@ -1403,138 +1671,112 @@ msgstr "Preconnect käsklus ebaõnnestus" + msgid "Connection to %s closed" + msgstr "Ühendus serveriga %s suleti" + +-#: conn/ssl.c:237 ++#: conn/ssl.c:222 + #, c-format + msgid "Filling entropy pool: %s..." + msgstr "Kogun entroopiat: %s..." + +-#: conn/ssl.c:243 ++#: conn/ssl.c:228 + #, c-format + msgid "%s has insecure permissions" + msgstr "%s omab ebaturvalisi õigusi" + +-#: conn/ssl.c:385 ++#: conn/ssl.c:369 + #, fuzzy + msgid "SSL disabled due to the lack of entropy" + msgstr "Entroopia nappuse tõttu on SSL kasutamine blokeeritud" + +-#: conn/ssl.c:402 ++#: conn/ssl.c:386 + msgid "Unknown" + msgstr "Tundmatu" + +-#: conn/ssl.c:421 conn/ssl_gnutls.c:186 ++#: conn/ssl.c:405 conn/ssl_gnutls.c:188 + #, c-format + msgid "[unable to calculate]" + msgstr "[arvutamine ei õnnestu]" + +-#: conn/ssl.c:446 ++#: conn/ssl.c:430 + msgid "[invalid date]" + msgstr "[vigane kuupäev]" + +-#: conn/ssl.c:506 ++#: conn/ssl.c:490 + msgid "Server certificate is not yet valid" + msgstr "Serveri sertifikaat ei ole veel kehtiv" + +-#: conn/ssl.c:516 ++#: conn/ssl.c:500 + msgid "Server certificate has expired" + msgstr "Serveri sertifikaat on aegunud" + +-#: conn/ssl.c:605 ++#: conn/ssl.c:589 + msgid "Failed to find enough entropy on your system" + msgstr "Teie süsteemis ei ole piisavalt entroopiat" + +-#: conn/ssl.c:799 ++#: conn/ssl.c:783 + #, fuzzy + msgid "can't get certificate subject" + msgstr "Ei õnnestu saada partneri sertifikaati" + +-#: conn/ssl.c:808 conn/ssl.c:816 ++#: conn/ssl.c:792 conn/ssl.c:800 + #, fuzzy + msgid "can't get certificate common name" + msgstr "Ei õnnestu saada partneri sertifikaati" + +-#: conn/ssl.c:830 ++#: conn/ssl.c:814 + #, fuzzy, c-format + msgid "certificate owner does not match hostname %s" + msgstr "S/MIME sertifikaadi omanik ei ole kirja saatja." + +-#: conn/ssl.c:904 conn/ssl_gnutls.c:539 ++#: conn/ssl.c:917 conn/ssl_gnutls.c:570 + msgid "This certificate belongs to:" + msgstr "Selle serveri omanik on:" + +-#: conn/ssl.c:913 conn/ssl_gnutls.c:593 ++#: conn/ssl.c:926 conn/ssl_gnutls.c:624 + msgid "This certificate was issued by:" + msgstr "Selle sertifikaadi väljastas:" + +-#: conn/ssl.c:922 conn/ssl_gnutls.c:604 ++#: conn/ssl.c:935 conn/ssl_gnutls.c:635 + msgid "This certificate is valid" + msgstr "See sertifikaat on kehtiv" + +-#: conn/ssl.c:923 conn/ssl_gnutls.c:608 ++#: conn/ssl.c:936 conn/ssl_gnutls.c:639 + #, c-format + msgid " from %s" + msgstr " alates %s" + +-#: conn/ssl.c:925 conn/ssl_gnutls.c:612 ++#: conn/ssl.c:938 conn/ssl_gnutls.c:643 + #, c-format + msgid " to %s" + msgstr " kuni %s" + +-#: conn/ssl.c:931 conn/ssl_gnutls.c:617 ++#: conn/ssl.c:944 conn/ssl_gnutls.c:648 + #, fuzzy, c-format + msgid "SHA1 Fingerprint: %s" + msgstr "Sõrmejälg: %s" + +-#: conn/ssl.c:937 conn/ssl.c:940 conn/ssl_gnutls.c:623 conn/ssl_gnutls.c:625 ++#: conn/ssl.c:950 conn/ssl.c:953 conn/ssl_gnutls.c:654 conn/ssl_gnutls.c:656 + #, fuzzy +-msgid "SHA256 Fingerprint: " +-msgstr "Sõrmejälg: %s" +- +-#: conn/ssl.c:944 conn/ssl_gnutls.c:664 +-#, c-format +-msgid "SSL Certificate check (certificate %zu of %zu in chain)" +-msgstr "" +- +-#. L10N: These four letters correspond to the choices in the next four strings: +-#. (r)eject, accept (o)nce, (a)ccept always, (s)kip. +-#. These prompts are the interactive certificate confirmation prompts for +-#. an OpenSSL connection. +-#: conn/ssl.c:964 +-msgid "roas" +-msgstr "" +- +-#: conn/ssl.c:968 +-#, fuzzy +-msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" +-msgstr "(k)eeldu, (n)õustu korra, nõustu (a)alati" +- +-#: conn/ssl.c:970 conn/ssl_gnutls.c:671 +-msgid "(r)eject, accept (o)nce, (a)ccept always" +-msgstr "(k)eeldu, (n)õustu korra, nõustu (a)alati" +- +-#: conn/ssl.c:975 +-#, fuzzy +-msgid "(r)eject, accept (o)nce, (s)kip" +-msgstr "(k)eeldu, (n)õustu korra" ++msgid "SHA256 Fingerprint: " ++msgstr "Sõrmejälg: %s" + +-#: conn/ssl.c:977 conn/ssl_gnutls.c:680 +-msgid "(r)eject, accept (o)nce" +-msgstr "(k)eeldu, (n)õustu korra" ++#: conn/ssl.c:957 conn/ssl_gnutls.c:695 ++#, c-format ++msgid "SSL Certificate check (certificate %zu of %zu in chain)" ++msgstr "" + +-#: conn/ssl.c:981 conn/ssl_gnutls.c:689 ncrypt/crypt_gpgme.c:4729 +-#: ncrypt/pgpkey.c:664 ncrypt/smime.c:549 ++#: conn/ssl.c:994 conn/ssl_gnutls.c:720 ncrypt/crypt_gpgme.c:4777 ++#: ncrypt/pgpkey.c:667 ncrypt/smime.c:551 + msgid "Exit " + msgstr "Välju " + +-#: conn/ssl.c:1016 conn/ssl_gnutls.c:742 ++#: conn/ssl.c:1029 conn/ssl_gnutls.c:773 + msgid "Warning: Couldn't save certificate" + msgstr "Hoiatus: Sertifikaati ei saa salvestada" + +-#: conn/ssl.c:1020 conn/ssl_gnutls.c:746 ++#: conn/ssl.c:1033 conn/ssl_gnutls.c:777 + msgid "Certificate saved" + msgstr "Sertifikaat on salvestatud" + +-#: conn/ssl.c:1132 ++#: conn/ssl.c:1147 + #, fuzzy, c-format + msgid "Certificate host check failed: %s" + msgstr "Sertifikaat on salvestatud" +@@ -1542,15 +1784,15 @@ msgstr "Sertifikaat on salvestatud" + #. L10N: This is a warning when trying to set the host name for + #. * TLS Server Name Indication (SNI). This allows the server to present + #. * the correct certificate if it supports multiple hosts. +-#: conn/ssl.c:1213 conn/ssl_gnutls.c:1072 ++#: conn/ssl.c:1228 conn/ssl_gnutls.c:1105 + msgid "Warning: unable to set TLS SNI host name" + msgstr "" + +-#: conn/ssl.c:1224 ++#: conn/ssl.c:1239 + msgid "I/O error" + msgstr "S/V viga" + +-#: conn/ssl.c:1233 ++#: conn/ssl.c:1248 + #, c-format + msgid "SSL failed: %s" + msgstr "SSL ebaõnnestus: %s" +@@ -1558,96 +1800,80 @@ msgstr "SSL ebaõnnestus: %s" + #. L10N: an SSL context is a data structure returned by the OpenSSL + #. function SSL_CTX_new(). In this case it returned NULL: an + #. error condition. +-#: conn/ssl.c:1269 ++#: conn/ssl.c:1284 + #, fuzzy + msgid "Unable to create SSL context" + msgstr "Viga: ei õnnestu luua OpenSSL alamprotsessi!" + +-#: conn/ssl.c:1322 ++#: conn/ssl.c:1337 + msgid "Warning: error enabling ssl_verify_partial_chains" + msgstr "" + +-#: conn/ssl_gnutls.c:150 conn/ssl_gnutls.c:784 conn/ssl_gnutls.c:793 ++#: conn/ssl_gnutls.c:152 conn/ssl_gnutls.c:817 conn/ssl_gnutls.c:826 + msgid "Unable to get certificate from peer" + msgstr "Ei õnnestu saada partneri sertifikaati" + +-#: conn/ssl_gnutls.c:155 ++#: conn/ssl_gnutls.c:157 + #, c-format + msgid "Certificate verification error (%s)" + msgstr "" + +-#: conn/ssl_gnutls.c:162 ++#: conn/ssl_gnutls.c:164 + #, fuzzy + msgid "Certificate is not X.509" + msgstr "Sertifikaat on salvestatud" + +-#: conn/ssl_gnutls.c:349 conn/ssl_gnutls.c:483 ++#: conn/ssl_gnutls.c:351 conn/ssl_gnutls.c:485 + #, fuzzy + msgid "Error initialising gnutls certificate data" + msgstr "Viga terminali initsialiseerimisel." + +-#: conn/ssl_gnutls.c:355 conn/ssl_gnutls.c:489 ++#: conn/ssl_gnutls.c:357 conn/ssl_gnutls.c:491 + msgid "Error processing certificate data" + msgstr "" + +-#: conn/ssl_gnutls.c:635 ++#: conn/ssl_gnutls.c:666 + #, fuzzy + msgid "WARNING: Server certificate is not yet valid" + msgstr "Serveri sertifikaat ei ole veel kehtiv" + +-#: conn/ssl_gnutls.c:640 ++#: conn/ssl_gnutls.c:671 + #, fuzzy + msgid "WARNING: Server certificate has expired" + msgstr "Serveri sertifikaat on aegunud" + +-#: conn/ssl_gnutls.c:645 ++#: conn/ssl_gnutls.c:676 + #, fuzzy + msgid "WARNING: Server certificate has been revoked" + msgstr "Serveri sertifikaat on aegunud" + +-#: conn/ssl_gnutls.c:650 ++#: conn/ssl_gnutls.c:681 + msgid "WARNING: Server hostname does not match certificate" + msgstr "" + +-#: conn/ssl_gnutls.c:655 ++#: conn/ssl_gnutls.c:686 + #, fuzzy + msgid "WARNING: Signer of server certificate is not a CA" + msgstr "Serveri sertifikaat ei ole veel kehtiv" + +-#: conn/ssl_gnutls.c:659 conn/ssl_gnutls.c:1004 ++#: conn/ssl_gnutls.c:690 conn/ssl_gnutls.c:1037 + msgid "Warning: Server certificate was signed using an insecure algorithm" + msgstr "" + +-#. L10N: These three letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce, (a)ccept always. +-#. This is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:676 +-msgid "roa" +-msgstr "kna" +- +-#. L10N: These two letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce. +-#. These is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:685 +-msgid "ro" +-msgstr "kn" +- +-#: conn/ssl_gnutls.c:950 conn/ssl_gnutls.c:992 ++#: conn/ssl_gnutls.c:983 conn/ssl_gnutls.c:1025 + msgid "All available protocols for TLS/SSL connection disabled" + msgstr "" + +-#: conn/ssl_gnutls.c:999 ++#: conn/ssl_gnutls.c:1032 + msgid "Explicit ciphersuite selection via $ssl_ciphers not supported" + msgstr "" + +-#: conn/ssl_gnutls.c:1120 ++#: conn/ssl_gnutls.c:1153 + #, fuzzy, c-format + msgid "SSL/TLS connection using %s (%s/%s/%s)" + msgstr "SSL ühendus kasutades %s (%s)" + +-#: conn/ssl_gnutls.c:1175 conn/ssl_gnutls.c:1204 ++#: conn/ssl_gnutls.c:1210 conn/ssl_gnutls.c:1239 + msgid "Error: no TLS socket open" + msgstr "" + +@@ -1666,38 +1892,18 @@ msgstr "Viga serveriga %s suhtlemisel (%s)" + msgid "Tunnel to %s returned error %d (%s)" + msgstr "" + +-#: copy.c:660 ++#: copy.c:662 + #, c-format + msgid "The length calculation was wrong by %ld byte" + msgid_plural "The length calculation was wrong by %ld bytes" + msgstr[0] "" + msgstr[1] "" + +-#: copy.c:744 ++#: copy.c:746 + msgid "No decryption engine available for message" + msgstr "" + +-#: curs_lib.c:378 +-msgid "yes" +-msgstr "jah" +- +-#: curs_lib.c:379 +-msgid "no" +-msgstr "ei" +- +-#: curs_lib.c:518 +-msgid "Exit NeoMutt?" +-msgstr "Väljuda NeoMuttist?" +- +-#: curs_lib.c:597 +-msgid "Press any key to continue..." +-msgstr "Jätkamiseks vajutage klahvi..." +- +-#: curs_lib.c:705 +-msgid " ('?' for list): " +-msgstr " ('?' annab loendi): " +- +-#: edit.c:64 ++#: edit.c:62 + #, fuzzy + msgid "" + "~~ insert a line beginning with a single ~\n" +@@ -1729,7 +1935,7 @@ msgstr "" + "~? see teade\n" + ". üksinda real lõpetab sisendi\n" + +-#: edit.c:75 ++#: edit.c:73 + #, fuzzy + msgid "" + "~q write file and quit editor\n" +@@ -1761,20 +1967,20 @@ msgstr "" + "~? see teade\n" + ". üksinda real lõpetab sisendi\n" + +-#: edit.c:261 ++#: edit.c:259 + #, c-format + msgid "%d: invalid message number.\n" + msgstr "%d: vigane teate number.\n" + +-#: edit.c:416 ++#: edit.c:414 + msgid "(End message with a . on a line by itself)\n" + msgstr "(Teate lõpetab rida, milles on ainult .)\n" + +-#: edit.c:474 ++#: edit.c:472 + msgid "No mailbox.\n" + msgstr "Postkasti pole.\n" + +-#: edit.c:478 ++#: edit.c:476 + msgid "Message contains:\n" + msgstr "Teade sisaldab:\n" + +@@ -1782,19 +1988,19 @@ msgstr "Teade sisaldab:\n" + #. not IN the middle of the content. + #. So it doesn't mean "(message will continue)" + #. but means "(press any key to continue using neomutt)". +-#: edit.c:486 edit.c:547 ++#: edit.c:484 edit.c:545 + msgid "(continue)\n" + msgstr "(jätka)\n" + +-#: edit.c:499 ++#: edit.c:497 + msgid "missing filename.\n" + msgstr "failinimi puudub.\n" + +-#: edit.c:519 ++#: edit.c:517 + msgid "No lines in message.\n" + msgstr "Teates pole ridu.\n" + +-#: edit.c:558 ++#: edit.c:556 + #, c-format + msgid "%s: unknown editor command (~? for help)\n" + msgstr "%s: tundmatu toimeti käsk (~? annab abiinfot)\n" +@@ -1841,19 +2047,73 @@ msgstr "Kausta ei saa lisada: %s" + msgid "multipart message has no boundary parameter" + msgstr "mitmeosalisel teatel puudub eraldaja" + +-#: flags.c:382 index.c:2561 index.c:2604 index.c:3134 index.c:3171 ++#: flags.c:381 index.c:2587 index.c:2630 index.c:3160 index.c:3197 + #: mutt_thread.c:1091 mutt_thread.c:1158 mutt_thread.c:1246 + msgid "Threading is not enabled" + msgstr "Teemad ei ole lubatud" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Set flag" + msgstr "Sea lipp" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Clear flag" + msgstr "Eemalda lipp" + ++#: gui/color.c:633 gui/color.c:644 ++#, c-format ++msgid "%s: color not supported by term" ++msgstr "%s: terminal ei toeta värve" ++ ++#: gui/color.c:652 ++#, c-format ++msgid "%s: no such color" ++msgstr "%s. sellist värvi ei ole" ++ ++#: gui/color.c:717 gui/color.c:740 gui/color.c:751 gui/color.c:842 ++#, c-format ++msgid "%s: no such object" ++msgstr "%s: sellist objekti ei ole" ++ ++#: gui/color.c:1142 ++#, c-format ++msgid "%s: no such attribute" ++msgstr "%s. sellist atribuuti pole" ++ ++#: gui/color.c:1244 ++msgid "default colors not supported" ++msgstr "vaikimisi värve ei toetata" ++ ++#: gui/color.c:1282 ++#, c-format ++msgid "Maximum quoting level is %d" ++msgstr "" ++ ++#: gui/color.c:1319 ++#, fuzzy, c-format ++msgid "%s: invalid number: %s" ++msgstr "%d: vigane teate number.\n" ++ ++#: gui/curs_lib.c:379 ++msgid "yes" ++msgstr "jah" ++ ++#: gui/curs_lib.c:380 ++msgid "no" ++msgstr "ei" ++ ++#: gui/curs_lib.c:519 ++msgid "Exit NeoMutt?" ++msgstr "Väljuda NeoMuttist?" ++ ++#: gui/curs_lib.c:598 ++msgid "Press any key to continue..." ++msgstr "Jätkamiseks vajutage klahvi..." ++ ++#: gui/curs_lib.c:749 ++msgid " ('?' for list): " ++msgstr " ('?' annab loendi): " ++ + #: handler.c:102 + #, fuzzy, c-format + msgid "[-- Type: %s/%s%s%s, Encoding: %s, Size: %s --]\n" +@@ -1874,23 +2134,23 @@ msgstr "[-- Autovaade kasutades %s --]\n" + msgid "Invoking autoview command: %s" + msgstr "Käivitan autovaate käskluse: %s" + +-#: handler.c:591 mutt_attach.c:527 mutt_attach.c:714 mutt_attach.c:745 +-#: mutt_attach.c:1087 mutt_attach.c:1152 ncrypt/pgpkey.c:723 +-#: ncrypt/pgpkey.c:920 ++#: handler.c:590 mutt_attach.c:555 mutt_attach.c:747 mutt_attach.c:778 ++#: mutt_attach.c:1120 mutt_attach.c:1185 ncrypt/pgpkey.c:756 ++#: ncrypt/pgpkey.c:955 + msgid "Can't create filter" + msgstr "Ei õnnestu luua filtrit" + +-#: handler.c:595 ++#: handler.c:594 + #, c-format + msgid "[-- Can't run %s. --]\n" + msgstr "[-- %s ei saa käivitada.--]\n" + +-#: handler.c:614 handler.c:635 ++#: handler.c:613 handler.c:634 + #, c-format + msgid "[-- Autoview stderr of %s --]\n" + msgstr "[-- Autovaate %s stderr --]\n" + +-#: handler.c:764 ++#: handler.c:763 + msgid "[-- Error: message/external-body has no access-type parameter --]\n" + msgstr "[-- Viga: message/external-body juurdepääsu parameeter puudub --]\n" + +@@ -1909,7 +2169,7 @@ msgstr "[-- Viga: message/external-body juurdepääsu parameeter puudub --]\n" + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:807 ++#: handler.c:806 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" +@@ -1938,7 +2198,7 @@ msgstr[1] "" + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:830 ++#: handler.c:829 + #, fuzzy, c-format + msgid "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" + msgid_plural "[-- This %s/%s attachment (size %s bytes) has been deleted --]\n" +@@ -1952,7 +2212,7 @@ msgstr[1] "[-- See %s/%s lisa (maht %s baiti) on kustutatud --]\n" + #. + #. Caution: Argument three %3$ is also defined but should not be used + #. in this translation! +-#: handler.c:848 ++#: handler.c:847 + #, fuzzy + msgid "" + "[-- This %s/%s attachment has been deleted --]\n" +@@ -1964,12 +2224,12 @@ msgstr "" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The first "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:856 ++#: handler.c:855 + #, fuzzy, c-format + msgid "[-- This %s/%s attachment has been deleted --]\n" + msgstr "[-- See %s/%s lisa on kustutatud --]\n" + +-#: handler.c:866 ++#: handler.c:865 + #, c-format + msgid "[-- name: %s --]\n" + msgstr "[-- nimi: %s --]\n" +@@ -1977,7 +2237,7 @@ msgstr "[-- nimi: %s --]\n" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:884 ++#: handler.c:883 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -1992,7 +2252,7 @@ msgstr "" + #. The "%s/%s" is a MIME type, e.g. "text/plain". The %s after + #. access-type is an access-type as defined by the MIME RFCs, e.g. "FTP", + #. "LOCAL-FILE", "MAIL-SERVER". +-#: handler.c:905 ++#: handler.c:904 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -2001,95 +2261,95 @@ msgstr "" + "[-- Seda %s/%s lisa ei ole kaasatud, --]\n" + "[-- ja näidatud juurdepääsu tüüpi %s ei toetata --]\n" + +-#: handler.c:1090 ++#: handler.c:1089 + msgid "[-- Error: Could not display any parts of Multipart/Alternative --]\n" + msgstr "[-- Viga: Multipart/Alternative osasid ei saa näidata --]\n" + + #. L10N: %s is the attachment description, filename or form_name. +-#: handler.c:1231 ++#: handler.c:1230 + #, fuzzy, c-format + msgid "[-- Attachment #%d: %s --]\n" + msgstr "[-- Lisa #%d: %s --]\n" + +-#: handler.c:1236 ++#: handler.c:1235 + #, fuzzy, c-format + msgid "[-- Attachment #%d --]\n" + msgstr "[-- Lisa #%d --]\n" + +-#: handler.c:1254 ++#: handler.c:1253 + msgid "One or more parts of this message could not be displayed" + msgstr "" + +-#: handler.c:1320 ++#: handler.c:1319 + #, fuzzy + msgid "Unable to open 'memory stream'" + msgstr "Ajutise faili avamine ebaõnnestus" + +-#: handler.c:1330 ++#: handler.c:1329 + msgid "Unable to open temporary file" + msgstr "Ajutise faili avamine ebaõnnestus" + +-#: handler.c:1379 ++#: handler.c:1378 + #, fuzzy + msgid "failed to re-open 'memory stream'" + msgstr "Ajutise faili avamine ebaõnnestus" + +-#: handler.c:1620 ++#: handler.c:1619 + msgid "Error: multipart/signed has no protocol" + msgstr "Viga: multipart/signed teatel puudub protokoll" + + #. L10N: %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1694 ++#: handler.c:1693 + #, fuzzy, c-format + msgid "[-- This is an attachment (use '%s' to view this part) --]\n" + msgstr "[-- See %s/%s lisa (selle osa vaatamiseks kasutage '%s') --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". + #. The last %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1701 ++#: handler.c:1700 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported (use '%s' to view this part) --]\n" + msgstr "[-- %s/%s ei toetata (selle osa vaatamiseks kasutage '%s') --]\n" + +-#: handler.c:1709 ++#: handler.c:1708 + #, fuzzy + msgid "[-- This is an attachment (need 'view-attachments' bound to key) --]\n" + msgstr "[-- See %s/%s lisa ('view-attachments' peab olema klahviga seotud) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1715 ++#: handler.c:1714 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported (need 'view-attachments' bound to key) --]\n" + msgstr "[-- %s/%s ei toetata ('view-attachments' peab olema klahviga seotud) --]\n" + +-#: handler.c:1724 ++#: handler.c:1723 + #, fuzzy + msgid "[-- This is an attachment --]\n" + msgstr "[-- See %s/%s lisa --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1729 ++#: handler.c:1728 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported --]\n" + msgstr "[-- %s/%s ei toetata --]\n" + +-#: help.c:400 ++#: help.c:401 + msgid "ERROR: please report this bug" + msgstr "VIGA: Palun teatage sellest veast" + +-#: help.c:455 ++#: help.c:456 + msgid "" + msgstr "" + +-#: help.c:469 ++#: help.c:470 + msgid "Generic bindings:" + msgstr "Üldised seosed:" + +-#: help.c:473 ++#: help.c:474 + msgid "Unbound functions:" + msgstr "Sidumata funktsioonid:" + +-#: help.c:481 ++#: help.c:482 + #, c-format + msgid "Help for %s" + msgstr "%s abiinfo" +@@ -2106,41 +2366,41 @@ msgstr "" + msgid "badly formatted command string" + msgstr "" + +-#: hook.c:461 ++#: hook.c:466 + msgid "unhook: Can't do unhook * from within a hook" + msgstr "unhook: seose sees ei saa unhook * kasutada" + +-#: hook.c:474 ++#: hook.c:479 + #, c-format + msgid "unhook: unknown hook type: %s" + msgstr "unhook: tundmatu seose tüüp: %s" + +-#: hook.c:484 ++#: hook.c:489 + #, c-format + msgid "unhook: Can't delete a %s from within a %s" + msgstr "unhook: %s ei saa %s seest kustutada" + + #. L10N: '%s' is the (misspelled) name of the menu, e.g. 'index' or 'pager' +-#: icommands.c:259 keymap.c:1161 keymap.c:1346 ++#: icommands.c:261 keymap.c:1159 keymap.c:1344 + #, c-format + msgid "%s: no such menu" + msgstr "%s: sellist menüüd ei ole" + + #. L10N: '%s' is the name of the menu, e.g. 'index' or 'pager', it might + #. L10N: also be 'all' when all menus are affected. +-#: icommands.c:272 ++#: icommands.c:274 + #, fuzzy, c-format + msgid "%s: no binds for this menu" + msgstr "%s: sellist menüüd ei ole" + +-#: icommands.c:272 ++#: icommands.c:274 + #, fuzzy, c-format + msgid "%s: no macros for this menu" + msgstr "%s: sellist menüüd ei ole" + + #. L10N: '%s' is the file name of the temporary file +-#: icommands.c:283 icommands.c:296 icommands.c:316 icommands.c:340 +-#: icommands.c:360 icommands.c:371 imap/message.c:1093 ++#: icommands.c:285 icommands.c:297 icommands.c:317 icommands.c:340 ++#: icommands.c:360 icommands.c:370 imap/message.c:1093 + #, c-format + msgid "Could not create temporary file %s" + msgstr "Ajutise faili %s loomine ebaõnnestus" +@@ -2178,30 +2438,30 @@ msgstr "GSSAPI autentimine ebaõnnestus" + msgid "LOGIN disabled on this server" + msgstr "LOGIN on sellel serveril blokeeritud" + +-#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:288 ++#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:289 + msgid "Logging in..." + msgstr "Meldin..." + +-#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:329 ++#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:330 + msgid "Login failed" + msgstr "Meldimine ebaõnnestus" + +-#: imap/auth_oauth.c:64 pop/pop_auth.c:346 smtp.c:524 ++#: imap/auth_oauth.c:65 pop/pop_auth.c:347 smtp.c:549 + #, fuzzy + msgid "Authenticating (OAUTHBEARER)..." + msgstr "Autentimine (SASL)..." + +-#: imap/auth_oauth.c:96 ++#: imap/auth_oauth.c:97 + #, fuzzy + msgid "OAUTHBEARER authentication failed" + msgstr "OAUTHBEARER autentimine ebaõnnestus" + +-#: imap/auth_sasl.c:128 nntp/nntp.c:606 nntp/nntp.c:671 smtp.c:443 ++#: imap/auth_sasl.c:128 nntp/nntp.c:608 nntp/nntp.c:673 smtp.c:468 + #, fuzzy, c-format + msgid "Authenticating (%s)..." + msgstr "Autentimine (APOP)..." + +-#: imap/auth_sasl.c:259 pop/pop_auth.c:200 smtp.c:584 smtp.c:646 ++#: imap/auth_sasl.c:259 pop/pop_auth.c:201 smtp.c:609 smtp.c:671 + msgid "SASL authentication failed" + msgstr "SASL autentimine ebaõnnestus" + +@@ -2250,90 +2510,80 @@ msgstr "SSL ebaõnnestus: %s" + msgid "Mailbox renamed" + msgstr "Postkast on loodud" + +-#: imap/command.c:164 ++#: imap/command.c:177 + #, fuzzy, c-format + msgid "Mailbox %s@%s closed" + msgstr "Postkast on suletud" + +-#: imap/command.c:1258 imap/command.c:1370 ++#: imap/command.c:1287 imap/command.c:1399 + #, fuzzy, c-format + msgid "Connection to %s timed out" + msgstr "Ühendus serveriga %s suleti" + +-#: imap/imap.c:87 ++#: imap/imap.c:93 + #, fuzzy + msgid "This IMAP server is ancient. NeoMutt does not work with it." + msgstr "See IMAP server on iganenud. NeoMutt ei tööta sellega." + +-#: imap/imap.c:438 ++#: imap/imap.c:444 + #, c-format + msgid "Header search without header name: %s" + msgstr "" + +-#: imap/imap.c:468 ++#: imap/imap.c:474 + #, c-format + msgid "Server-side custom search not supported: %s" + msgstr "" + +-#: imap/imap.c:584 ++#: imap/imap.c:590 + #, fuzzy, c-format + msgid "CREATE failed: %s" + msgstr "SSL ebaõnnestus: %s" + +-#: imap/imap.c:704 ++#: imap/imap.c:710 + #, c-format + msgid "Closing connection to %s..." + msgstr "Sulen ühendust serveriga %s..." + +-#: imap/imap.c:882 nntp/nntp.c:1889 pop/pop_lib.c:324 smtp.c:687 ++#: imap/imap.c:888 nntp/nntp.c:1891 pop/pop_lib.c:350 smtp.c:712 + msgid "Secure connection with TLS?" + msgstr "Turvan ühenduse TLS protokolliga?" + +-#: imap/imap.c:895 nntp/nntp.c:1910 pop/pop_lib.c:343 smtp.c:702 ++#: imap/imap.c:901 nntp/nntp.c:1912 pop/pop_lib.c:369 smtp.c:727 + msgid "Could not negotiate TLS connection" + msgstr "TLS ühendust ei õnnestu kokku leppida" + +-#: imap/imap.c:910 pop/pop_lib.c:360 ++#: imap/imap.c:916 pop/pop_lib.c:386 + msgid "Encrypted connection unavailable" + msgstr "" + +-#: imap/imap.c:1417 ++#: imap/imap.c:1430 + #, c-format + msgid "Subscribing to %s..." + msgstr "Tellin %s..." + +-#: imap/imap.c:1419 ++#: imap/imap.c:1432 + #, fuzzy, c-format + msgid "Unsubscribing from %s..." + msgstr "Loobun kaustast %s..." + +-#: imap/imap.c:1430 init.c:2142 +-#, fuzzy, c-format +-msgid "Subscribed to %s" +-msgstr "Tellin %s..." +- +-#: imap/imap.c:1432 init.c:2620 +-#, fuzzy, c-format +-msgid "Unsubscribed from %s" +-msgstr "Loobun kaustast %s..." +- +-#: imap/imap.c:1582 imap/message.c:1674 ++#: imap/imap.c:1595 imap/message.c:1674 + #, fuzzy, c-format + msgid "Copying %d message to %s..." + msgid_plural "Copying %d messages to %s..." + msgstr[0] "Kopeerin %d teadet kausta %s..." + msgstr[1] "Kopeerin %d teadet kausta %s..." + +-#: imap/imap.c:1599 imap/imap.c:2217 imap/message.c:1713 muttlib.c:1505 ++#: imap/imap.c:1612 imap/imap.c:2254 imap/message.c:1713 muttlib.c:1503 + #, c-format + msgid "Create %s?" + msgstr "Loon %s?" + +-#: imap/imap.c:1667 ++#: imap/imap.c:1685 + msgid "Expunge failed" + msgstr "Kustutamine ebaõnnestus." + +-#: imap/imap.c:1683 ++#: imap/imap.c:1701 + #, fuzzy, c-format + msgid "Marking %d message deleted..." + msgid_plural "Marking %d messages deleted..." +@@ -2341,44 +2591,44 @@ msgstr[0] "märgin %d teadet kustutatuks..." + msgstr[1] "märgin %d teadet kustutatuks..." + + #. L10N: The plural is chosen by the last %d, i.e. the total number +-#: imap/imap.c:1720 ++#: imap/imap.c:1738 + #, fuzzy, c-format + msgid "Saving changed message... [%d/%d]" + msgid_plural "Saving changed messages... [%d/%d]" + msgstr[0] "Salvestan teadete olekud... [%d/%d]" + msgstr[1] "Salvestan teadete olekud... [%d/%d]" + +-#: imap/imap.c:1776 ++#: imap/imap.c:1794 + msgid "Error saving flags. Close anyway?" + msgstr "" + +-#: imap/imap.c:1783 ++#: imap/imap.c:1801 + #, fuzzy + msgid "Error saving flags" + msgstr "Viga aadressi analüüsimisel!" + +-#: imap/imap.c:1808 ++#: imap/imap.c:1826 + msgid "Expunging messages from server..." + msgstr "Kustutan serveril teateid..." + +-#: imap/imap.c:1814 ++#: imap/imap.c:1832 + msgid "imap_sync_mailbox: EXPUNGE failed" + msgstr "imap_sync_mailbox: EXPUNGE ebaõnnestus" + +-#: imap/imap.c:2023 nntp/nntp.c:2486 ++#: imap/imap.c:2058 nntp/nntp.c:2488 + #, c-format + msgid "Selecting %s..." + msgstr "Valin %s..." + +-#: imap/imap.c:2184 ++#: imap/imap.c:2221 + msgid "Error opening mailbox" + msgstr "Viga postkasti avamisel!" + +-#: imap/imap.c:2330 ++#: imap/imap.c:2367 + msgid "IMAP server doesn't support custom flags" + msgstr "" + +-#: imap/imap.c:2374 ++#: imap/imap.c:2411 + #, fuzzy + msgid "Invalid IMAP flags" + msgstr "Vigane " +@@ -2389,7 +2639,7 @@ msgid "Abort download and close mailbox?" + msgstr "" + + #: imap/message.c:554 mutt/memory.c:58 mutt/memory.c:98 mutt/memory.c:134 +-#: mutt/string.c:1178 mx.c:1176 ++#: mutt/string.c:1201 mx.c:1195 + msgid "Out of memory" + msgstr "Mälu on otsas" + +@@ -2410,7 +2660,7 @@ msgstr "Laen teadete päiseid... [%d/%d]" + msgid "Unable to fetch headers from this IMAP server version" + msgstr "Sellest IMAP serverist ei saa päiseid laadida" + +-#: imap/message.c:1099 index.c:1548 nntp/nntp.c:1328 pop/pop.c:426 ++#: imap/message.c:1099 index.c:1554 nntp/nntp.c:1330 pop/pop.c:426 + #, fuzzy + msgid "Fetching message headers..." + msgstr "Laen teadete päiseid... [%d/%d]" +@@ -2425,157 +2675,157 @@ msgstr "Saadan teadet ..." + msgid "Copying message %d to %s..." + msgstr "Kopeerin teadet %d kausta %s..." + +-#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2737 pop/pop.c:1110 ++#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2739 pop/pop.c:1105 + msgid "Fetching message..." + msgstr "Laen teadet..." + +-#: imap/message.c:1959 pop/pop.c:1106 ++#: imap/message.c:1959 pop/pop.c:1101 + msgid "The message index is incorrect. Try reopening the mailbox." + msgstr "Teadete indeks on vigane. Proovige postkasti uuesti avada." + +-#: imap/util.c:767 ++#: imap/util.c:796 + msgid "Continue?" + msgstr "Jätkan?" + +-#: index.c:115 index.c:128 ++#: index.c:111 index.c:124 + msgid "Quit" + msgstr "Välju" + +-#: index.c:118 index.c:131 recvattach.c:93 ++#: index.c:114 index.c:127 recvattach.c:91 + msgid "Save" + msgstr "Salvesta" + +-#: index.c:119 query.c:81 ++#: index.c:115 query.c:79 + msgid "Mail" + msgstr "Kiri" + +-#: index.c:120 pager.c:237 ++#: index.c:116 pager.c:229 + msgid "Reply" + msgstr "Vasta" + +-#: index.c:121 ++#: index.c:117 + msgid "Group" + msgstr "Grupp" + +-#: index.c:132 pager.c:244 ++#: index.c:128 pager.c:236 + msgid "Post" + msgstr "" + +-#: index.c:133 pager.c:245 ++#: index.c:129 pager.c:237 + #, fuzzy + msgid "Followup" + msgstr "Vastus aadressile %s%s?" + +-#: index.c:190 index.c:1362 ++#: index.c:186 index.c:1367 + msgid "No mailbox is open" + msgstr "Avatud postkaste pole" + +-#: index.c:196 ++#: index.c:192 + msgid "There are no messages" + msgstr "Teateid ei ole" + +-#: index.c:202 ++#: index.c:198 + msgid "No visible messages" + msgstr "Nähtavaid teateid pole" + +-#: index.c:208 mx.c:901 pager.c:223 recvattach.c:80 ++#: index.c:204 mx.c:920 pager.c:215 recvattach.c:78 + msgid "Mailbox is read-only" + msgstr "Postkast on ainult lugemiseks" + +-#: index.c:214 pager.c:225 recvattach.c:98 ++#: index.c:210 pager.c:217 recvattach.c:96 + msgid "Function not permitted in attach-message mode" + msgstr "Funktsioon ei ole teate lisamise moodis lubatud" + + #. L10N: %s is one of the CHECK_ACL entries below. +-#: index.c:239 pager.c:290 ++#: index.c:235 pager.c:282 + #, c-format + msgid "%s: Operation not permitted by ACL" + msgstr "" + +-#: index.c:430 ++#: index.c:426 + msgid "Can't toggle write on a readonly mailbox" + msgstr "Ainult lugemiseks postkastil ei saa kirjutamist lülitada" + +-#: index.c:437 ++#: index.c:433 + msgid "Changes to folder will be written on folder exit" + msgstr "Muudatused kaustas salvestatakse kaustast väljumisel" + +-#: index.c:442 ++#: index.c:438 + msgid "Changes to folder will not be written" + msgstr "Muudatusi kaustas ei kirjutata" + +-#: index.c:719 muttlib.c:1490 mx.c:206 mx.c:340 ++#: index.c:714 muttlib.c:1488 mx.c:206 mx.c:338 + #, c-format + msgid "%s is not a mailbox" + msgstr "%s ei ole postkast" + +-#: index.c:1218 ++#: index.c:1223 + msgid "Mailbox was externally modified. Flags may be wrong." + msgstr "Postkasti on väliselt muudetud. Lipud võivad olla valed." + +-#: index.c:1227 pager.c:2409 ++#: index.c:1232 pager.c:2379 + msgid "New mail in this mailbox" + msgstr "Selles postkastis on uus kiri" + +-#: index.c:1242 ++#: index.c:1247 + msgid "Mailbox was externally modified" + msgstr "Postkasti on väliselt muudetud" + +-#: index.c:1369 ++#: index.c:1374 + msgid "No tagged messages" + msgstr "Märgitud teateid pole" + +-#: index.c:1373 index.c:1647 menu.c:1423 ++#: index.c:1378 index.c:1653 menu.c:1423 + #, fuzzy + msgid "Nothing to do" + msgstr "Ühendus serverisse %s.." + +-#: index.c:1470 ++#: index.c:1475 + #, fuzzy + msgid "Enter Message-Id: " + msgstr "Sisestage võtme ID: " + +-#: index.c:1481 ++#: index.c:1487 + msgid "Article has no parent reference" + msgstr "" + +-#: index.c:1504 ++#: index.c:1510 + #, fuzzy + msgid "Message is not visible in limited view" + msgstr "Vanem teade ei ole selles piiratud vaates nähtav" + +-#: index.c:1508 ++#: index.c:1514 + #, fuzzy, c-format + msgid "Fetching %s from server..." + msgstr "Kustutan serveril teateid..." + +-#: index.c:1518 nntp/nntp.c:2772 ++#: index.c:1524 nntp/nntp.c:2774 + #, c-format + msgid "Article %s not found on the server" + msgstr "" + +-#: index.c:1544 ++#: index.c:1550 + msgid "No Message-Id. Unable to perform operation." + msgstr "" + +-#: index.c:1623 ++#: index.c:1629 + #, fuzzy + msgid "No deleted messages found in the thread" + msgstr "kustuta kõik teated teemas" + +-#: index.c:1644 ++#: index.c:1650 + msgid "Jump to message: " + msgstr "Hüppa teatele: " + +-#: index.c:1650 ++#: index.c:1656 + msgid "Argument must be a message number" + msgstr "Argument peab olema teate number" + +-#: index.c:1652 ++#: index.c:1658 + msgid "Invalid message number" + msgstr "Vigane teate number" + +-#: index.c:1654 ++#: index.c:1660 + msgid "That message is not visible" + msgstr "See teate ei ole nähtav" + +@@ -2588,38 +2838,38 @@ msgstr "See teate ei ole nähtav" + #. delete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. + #. +-#: index.c:1692 index.c:3267 pager.c:3064 ++#: index.c:1698 index.c:3293 pager.c:3039 + #, fuzzy + msgid "Can't delete messages" + msgstr "Kustutamata teateid pole." + +-#: index.c:1695 ++#: index.c:1701 + msgid "Delete messages matching: " + msgstr "Kustuta teated mustriga: " + +-#: index.c:1736 ++#: index.c:1742 + msgid "No limit pattern is in effect" + msgstr "Kehtivat piirangumustrit ei ole" + + #. L10N: ask for a limit to apply +-#: index.c:1741 ++#: index.c:1747 + #, c-format + msgid "Limit: %s" + msgstr "Piirang: %s" + +-#: index.c:1778 ++#: index.c:1784 + msgid "Limit to messages matching: " + msgstr "Piirdu teadetega mustriga: " + +-#: index.c:1809 ++#: index.c:1815 + msgid "To view all messages, limit to \"all\"" + msgstr "" + +-#: index.c:1821 pager.c:2514 ++#: index.c:1827 pager.c:2487 + msgid "Quit NeoMutt?" + msgstr "Väljun NeoMuttist?" + +-#: index.c:1924 ++#: index.c:1931 + msgid "Tag messages matching: " + msgstr "Märgi teated mustriga: " + +@@ -2627,213 +2877,213 @@ msgstr "Märgi teated mustriga: " + #. L10N: Due to the implementation details we do not know whether we + #. undelete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:1935 index.c:3807 pager.c:3418 ++#: index.c:1942 index.c:3833 pager.c:3396 + #, fuzzy + msgid "Can't undelete messages" + msgstr "Kustutamata teateid pole." + +-#: index.c:1939 ++#: index.c:1946 + msgid "Undelete messages matching: " + msgstr "Taasta teated mustriga: " + +-#: index.c:1948 ++#: index.c:1955 + msgid "Untag messages matching: " + msgstr "Võta märk teadetelt mustriga: " + +-#: index.c:1989 ++#: index.c:1996 + #, fuzzy + msgid "Logged out of IMAP servers" + msgstr "Sulen ühenduse IMAP serveriga.." + +-#: index.c:2105 ++#: index.c:2113 + #, fuzzy + msgid "No virtual folder and no Message-Id, aborting" + msgstr "Teema puudub, katkestan" + +-#: index.c:2117 index.c:2288 index.c:2310 index.c:2331 ++#: index.c:2125 index.c:2313 index.c:2335 index.c:2356 + msgid "Failed to create query, aborting" + msgstr "" + +-#: index.c:2130 ++#: index.c:2138 + msgid "failed to find message in notmuch database. try running 'notmuch new'." + msgstr "" + +-#: index.c:2139 ++#: index.c:2147 + msgid "Failed to read thread, aborting" + msgstr "" + +-#: index.c:2171 mx.c:1252 mx.c:1272 ++#: index.c:2179 mx.c:1271 mx.c:1291 + msgid "Folder doesn't support tagging, aborting" + msgstr "" + +-#: index.c:2188 ++#: index.c:2196 + #, fuzzy + msgid "No tag specified, aborting" + msgstr "Teema puudub, katkestan" + +-#: index.c:2198 ++#: index.c:2206 + msgid "Update tags..." + msgstr "" + +-#: index.c:2238 ++#: index.c:2246 + msgid "Failed to modify tags, aborting" + msgstr "" + +-#: index.c:2284 ++#: index.c:2293 + #, fuzzy + msgid "No query, aborting" + msgstr "Teema puudub, katkestan" + +-#: index.c:2299 index.c:2320 ++#: index.c:2324 index.c:2345 + msgid "Windowed queries disabled" + msgstr "" + +-#: index.c:2304 index.c:2325 ++#: index.c:2329 index.c:2350 + msgid "No notmuch vfolder currently loaded" + msgstr "" + +-#: index.c:2374 ++#: index.c:2399 + msgid "Open mailbox in read-only mode" + msgstr "Avan postkasti ainult lugemiseks" + +-#: index.c:2376 ++#: index.c:2401 + msgid "Open mailbox" + msgstr "Avan postkasti" + +-#: index.c:2386 ++#: index.c:2411 + #, fuzzy + msgid "No mailboxes have new mail" + msgstr "Uute teadetega postkaste ei ole." + +-#: index.c:2419 ++#: index.c:2444 + #, fuzzy + msgid "Open newsgroup in read-only mode" + msgstr "Avan postkasti ainult lugemiseks" + +-#: index.c:2421 ++#: index.c:2446 + msgid "Open newsgroup" + msgstr "" + +-#: index.c:2538 ++#: index.c:2564 + #, fuzzy + msgid "Exit NeoMutt without saving?" + msgstr "Väljun NeoMuttist salvestamata?" + + #. L10N: CHECK_ACL +-#: index.c:2554 ++#: index.c:2580 + #, fuzzy + msgid "Can't break thread" + msgstr "Filtri loomine ebaõnnestus" + +-#: index.c:2574 ++#: index.c:2600 + msgid "Thread broken" + msgstr "" + +-#: index.c:2587 ++#: index.c:2613 + msgid "Thread can't be broken, message is not part of a thread" + msgstr "" + + #. L10N: CHECK_ACL +-#: index.c:2597 ++#: index.c:2623 + msgid "Can't link threads" + msgstr "" + +-#: index.c:2606 ++#: index.c:2632 + msgid "No Message-ID: header available to link thread" + msgstr "" + +-#: index.c:2608 ++#: index.c:2634 + #, fuzzy + msgid "First, please tag a message to be linked here" + msgstr "salvesta teade hilisemaks saatmiseks" + +-#: index.c:2621 ++#: index.c:2647 + msgid "Threads linked" + msgstr "" + +-#: index.c:2624 ++#: index.c:2650 + msgid "No thread linked" + msgstr "" + +-#: index.c:2665 index.c:2690 ++#: index.c:2691 index.c:2716 + msgid "You are on the last message" + msgstr "Te olete viimasel teatel" + +-#: index.c:2673 index.c:2716 ++#: index.c:2699 index.c:2742 + msgid "No undeleted messages" + msgstr "Kustutamata teateid pole" + +-#: index.c:2708 index.c:2733 ++#: index.c:2734 index.c:2759 + msgid "You are on the first message" + msgstr "Te olete esimesel teatel" + +-#: index.c:2874 ++#: index.c:2900 + #, fuzzy + msgid "No new messages in this limited view" + msgstr "Vanem teade ei ole selles piiratud vaates nähtav" + +-#: index.c:2876 ++#: index.c:2902 + #, fuzzy + msgid "No new messages" + msgstr "Uusi teateid pole" + +-#: index.c:2881 ++#: index.c:2907 + #, fuzzy + msgid "No unread messages in this limited view" + msgstr "Vanem teade ei ole selles piiratud vaates nähtav" + +-#: index.c:2883 ++#: index.c:2909 + #, fuzzy + msgid "No unread messages" + msgstr "Lugemata teateid pole" + +-#: index.c:2893 menu.c:1208 pager.c:2644 pattern.c:2652 ++#: index.c:2919 menu.c:1208 pager.c:2618 pattern.c:2776 + msgid "Search wrapped to top" + msgstr "Otsing pööras algusest tagasi" + +-#: index.c:2898 pager.c:2669 pattern.c:2663 ++#: index.c:2924 pager.c:2643 pattern.c:2787 + msgid "Search wrapped to bottom" + msgstr "Otsing pööras lõpust tagasi" + + #. L10N: CHECK_ACL +-#: index.c:2915 ++#: index.c:2941 + #, fuzzy + msgid "Can't flag message" + msgstr "näita teadet" + + #. L10N: CHECK_ACL +-#: index.c:2961 pager.c:3377 ++#: index.c:2987 pager.c:3355 + msgid "Can't toggle new" + msgstr "" + +-#: index.c:3057 ++#: index.c:3083 + msgid "No more threads" + msgstr "Rohkem teemasid pole" + +-#: index.c:3059 ++#: index.c:3085 + msgid "You are on the first thread" + msgstr "Te olete esimesel teemal" + +-#: index.c:3156 ++#: index.c:3182 + #, fuzzy + msgid "Thread contains unread or flagged messages" + msgstr "Teema sisaldab lugemata teateid" + + #. L10N: CHECK_ACL +-#: index.c:3215 pager.c:3019 ++#: index.c:3241 pager.c:2994 + #, fuzzy + msgid "Can't delete message" + msgstr "Kustutamata teateid pole." + + #. L10N: CHECK_ACL +-#: index.c:3339 ++#: index.c:3365 + #, fuzzy + msgid "Can't edit message" + msgstr "Teadet ei õnnestu kirjutada" + + #. L10N: This is displayed when the x-label on one or more + #. messages is edited. +-#: index.c:3432 pager.c:3495 ++#: index.c:3458 pager.c:3473 + #, fuzzy, c-format + msgid "%d label changed" + msgid_plural "%d labels changed" +@@ -2843,7 +3093,7 @@ msgstr[1] "Postkasti ei muudetud" + #. L10N: This is displayed when editing an x-label, but no messages + #. were updated. Possibly due to canceling at the prompt or if the new + #. label is the same as the old label. +-#: index.c:3440 pager.c:3499 ++#: index.c:3466 pager.c:3477 + #, fuzzy + msgid "No labels changed" + msgstr "Postkasti ei muudetud" +@@ -2852,7 +3102,7 @@ msgstr "Postkasti ei muudetud" + #. L10N: Due to the implementation details we do not know whether we + #. mark zero, 1, 12, ... messages as read. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:3571 ++#: index.c:3597 + #, fuzzy + msgid "Can't mark messages as read" + msgstr "hüppa teema vanemteatele" +@@ -2860,14 +3110,14 @@ msgstr "hüppa teema vanemteatele" + #. L10N: This is the prompt for . Whatever they + #. enter will be prefixed by $mark_macro_prefix and will become + #. a macro hotkey to jump to the currently selected message. +-#: index.c:3612 ++#: index.c:3638 + #, fuzzy + msgid "Enter macro stroke: " + msgstr "Sisestage võtme ID: " + + #. L10N: "message hotkey" is the key bindings menu description of a + #. macro created by . +-#: index.c:3620 ++#: index.c:3646 + #, fuzzy + msgid "message hotkey" + msgstr "Teade jäeti postitusootele." +@@ -2875,267 +3125,124 @@ msgstr "Teade jäeti postitusootele." + #. L10N: This is echoed after creates a new hotkey + #. macro. %s is the hotkey string ($mark_macro_prefix followed + #. by whatever they typed at the prompt.) +-#: index.c:3625 ++#: index.c:3651 + #, fuzzy, c-format + msgid "Message bound to %s" + msgstr "Teade on peegeldatud" + + #. L10N: This error is printed if can't find a + #. Message-ID for the currently selected message in the index. +-#: index.c:3634 ++#: index.c:3660 + #, fuzzy + msgid "No message ID to macro" + msgstr "Selles kaustas ei ole teateid" + +-#: index.c:3688 pager.c:3221 recvattach.c:1646 ++#: index.c:3714 pager.c:3196 recvattach.c:1678 + msgid "Reply by mail as poster prefers?" + msgstr "" + +-#: index.c:3691 pager.c:3182 pager.c:3194 pager.c:3224 ++#: index.c:3717 pager.c:3157 pager.c:3169 pager.c:3199 + msgid "Posting to this group not allowed, may be moderated. Continue?" + msgstr "" + + #. L10N: CHECK_ACL +-#: index.c:3768 pager.c:3397 ++#: index.c:3794 pager.c:3375 + #, fuzzy + msgid "Can't undelete message" + msgstr "Kustutamata teateid pole." + +-#: init.c:313 ++#: init.c:223 + #, c-format + msgid "Error in command line: %s" + msgstr "Viga käsureal: %s" + +-#: init.c:315 ++#: init.c:225 + #, fuzzy, c-format + msgid "Warning in command line: %s" + msgstr "Viga käsureal: %s" + +-#: init.c:426 ++#: init.c:336 + #, fuzzy + msgid "unable to determine nodename via uname()" + msgstr "ei suuda tuvastada kasutajanime" + +-#: init.c:580 +-msgid "-group: no group name" +-msgstr "" +- +-#: init.c:590 +-#, fuzzy +-msgid "out of arguments" +-msgstr "liiga vähe argumente" +- +-#: init.c:804 init.c:1752 +-#, c-format +-msgid "Error: Can't build path of '%s'" +-msgstr "" +- +-#: init.c:817 +-#, c-format +-msgid "Error: Cyclic sourcing of configuration file '%s'" +-msgstr "" +- +-#: init.c:850 +-#, c-format +-msgid "Error in %s, line %d: %s" +-msgstr "Viga failis %s, real %d: %s" +- +-#: init.c:861 +-#, fuzzy, c-format +-msgid "Warning in %s, line %d: %s" +-msgstr "Viga failis %s, real %d: %s" +- +-#: init.c:885 +-#, c-format +-msgid "source: errors in %s" +-msgstr "source: vead failis %s" +- +-#: init.c:885 +-#, fuzzy, c-format +-msgid "source: reading aborted due to too many errors in %s" +-msgstr "source: lugemine katkestati, kuna %s on liialt vigane" +- +-#: init.c:894 +-#, fuzzy, c-format +-msgid "source: %d warning in %s" +-msgid_plural "source: %d warnings in %s" +-msgstr[0] "source: vead failis %s" +-msgstr[1] "source: vead failis %s" +- +-#: init.c:923 +-msgid "alias: no address" +-msgstr "alias: aadress puudub" +- +-#: init.c:965 +-#, c-format +-msgid "Warning: Bad IDN '%s' in alias '%s'" +-msgstr "" +- +-#: init.c:1043 +-#, fuzzy +-msgid "attachments: no disposition" +-msgstr "toimeta lisa kirjeldust" +- +-#: init.c:1054 +-#, fuzzy +-msgid "Current attachments settings:" +-msgstr "toimeta lisa kirjeldust" +- +-#: init.c:1084 +-#, fuzzy +-msgid "attachments: invalid disposition" +-msgstr "toimeta lisa kirjeldust" +- +-#: init.c:1160 +-#, c-format +-msgid "%sgroup: missing -rx or -addr" +-msgstr "" +- +-#: init.c:1186 +-#, c-format +-msgid "%sgroup: warning: bad IDN '%s'" +-msgstr "" +- +-#: init.c:1278 +-#, c-format +-msgid "Error: %s" +-msgstr "" +- +-#: init.c:1445 +-msgid "invalid header field" +-msgstr "vigane päiseväli" +- +-#: init.c:1711 init.c:1815 +-#, c-format +-msgid "%s: unknown variable" +-msgstr "%s: tundmatu muutuja" +- +-#: init.c:1908 +-#, c-format +-msgid "%s is unset" +-msgstr "%s ei ole seatud" +- +-#: init.c:1953 mutt_lua.c:478 +-#, c-format +-msgid "source: error at %s" +-msgstr "source: viga kohal %s" +- +-#: init.c:1961 +-#, fuzzy, c-format +-msgid "source: file %s could not be sourced" +-msgstr "Teateid ei saa trükkida" +- +-#: init.c:1984 +-#, fuzzy +-msgid "spam: no matching pattern" +-msgstr "märgi mustrile vastavad teated" +- +-#: init.c:1986 +-#, fuzzy +-msgid "nospam: no matching pattern" +-msgstr "eemalda märk mustrile vastavatelt teadetelt" +- +-#: init.c:2146 +-#, fuzzy, c-format +-msgid "Could not subscribe to %s" +-msgstr "Tellin %s..." +- +-#: init.c:2154 init.c:2632 +-#, fuzzy +-msgid "No folder specified" +-msgstr "Teema puudub." +- +-#: init.c:2341 +-#, fuzzy +-msgid "unattachments: no disposition" +-msgstr "toimeta lisa kirjeldust" +- +-#: init.c:2379 +-msgid "unattachments: invalid disposition" +-msgstr "" +- +-#: init.c:2624 +-#, fuzzy, c-format +-msgid "Could not unsubscribe from %s" +-msgstr "Loobun kaustast %s..." +- +-#: init.c:3292 ++#: init.c:1042 + #, c-format + msgid "%s: unknown command" + msgstr "%s: tundmatu käsk" + +-#: init.c:3837 ++#: init.c:1588 + msgid "'charset' must contain exactly one character set name" + msgstr "" + +-#: init.c:3853 init.c:3877 init.c:3912 ++#: init.c:1604 init.c:1628 init.c:1663 + #, fuzzy, c-format + msgid "Invalid value for option %s: %s" + msgstr "Vigane kuupäev: %s" + +-#: init.c:3890 ++#: init.c:1641 + #, c-format + msgid "Option %s may not be set or reset from the pager" + msgstr "" + +-#: init.c:3928 ++#: init.c:1679 + #, fuzzy, c-format + msgid "Option %s may not be set when in attach-message mode" + msgstr "Funktsioon ei ole teate lisamise moodis lubatud." + + #. L10N: This applies to the "$wrap_headers" config variable +-#: init.c:3943 ++#: init.c:1694 + #, c-format + msgid "Option %s must between 78 and 998 inclusive" + msgstr "" + +-#: keymap.c:373 keymap.c:381 ++#: keymap.c:371 keymap.c:379 + #, c-format + msgid "Binding '%s' will alias '%s' Before, try: 'bind %s %s noop' https://neomutt.org/guide/configuration.html#bind-warnings" + msgstr "" + +-#: keymap.c:757 ++#: keymap.c:755 + msgid "Macro loop detected" + msgstr "Tuvastasin makros tsükli" + +-#: keymap.c:1064 keymap.c:1099 ++#: keymap.c:1062 keymap.c:1097 + msgid "Key is not bound" + msgstr "Klahv ei ole seotud" + +-#: keymap.c:1104 ++#: keymap.c:1102 + #, c-format + msgid "Key is not bound. Press '%s' for help." + msgstr "Klahv ei ole seotud. Abiinfo saamiseks vajutage '%s'." + +-#: keymap.c:1177 ++#: keymap.c:1175 + #, c-format + msgid "%s: null key sequence" + msgstr "%s: tühi klahvijärjend" + +-#: keymap.c:1212 ++#: keymap.c:1210 + #, c-format + msgid "Function '%s' not available for menu '%s'" + msgstr "" + +-#: keymap.c:1495 ++#: keymap.c:1493 + msgid "macro: empty key sequence" + msgstr "makro: tühi klahvijärjend" + +-#: keymap.c:1543 ++#: keymap.c:1541 + msgid "exec: no arguments" + msgstr "exec: argumente pole" + +-#: keymap.c:1563 ++#: keymap.c:1561 + #, c-format + msgid "%s: no such function" + msgstr "%s: sellist funktsiooni pole" + +-#: keymap.c:1584 ++#: keymap.c:1582 + #, fuzzy + msgid "Enter keys (^G to abort): " + msgstr "Sisestage kasutaja teatele %s: " + +-#: keymap.c:1590 ++#: keymap.c:1588 + #, c-format + msgid "Char = %s, Octal = %o, Decimal = %d" + msgstr "" +@@ -3159,7 +3266,7 @@ msgstr "Tüübil %s puudub mailcap kirje" + msgid "Scanning %s..." + msgstr "Valin %s..." + +-#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:353 ++#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:351 + #, c-format + msgid "Reading %s..." + msgstr "Loen %s..." +@@ -3175,13 +3282,13 @@ msgid "md_commit_message(): unable to set time on file" + msgstr "maildir_commit_message(): ei õnnestu seada faili aegu" + + #. L10N: Displayed before/as a mailbox is being synced +-#: maildir/shared.c:1723 mbox/mbox.c:1276 mx.c:461 notmuch/mutt_notmuch.c:2364 ++#: maildir/shared.c:1734 mbox/mbox.c:1276 mx.c:459 notmuch/mutt_notmuch.c:2364 + #, c-format + msgid "Writing %s..." + msgstr "Kirjutan %s..." + + #. L10N: Try to limit to 80 columns +-#: main.c:227 ++#: main.c:160 + msgid "" + "usage:\n" + " neomutt [-Enx] [-e ] [-F ] [-H ] [-i ]\n" +@@ -3204,7 +3311,7 @@ msgid "" + msgstr "" + + #. L10N: Try to limit to 80 columns. If more space is needed add an indented line +-#: main.c:247 ++#: main.c:180 + msgid "" + "options:\n" + " -- Special argument forces NeoMutt to stop option parsing and treat\n" +@@ -3247,54 +3354,54 @@ msgid "" + " or exit immediately with exit code 1 otherwise" + msgstr "" + +-#: main.c:312 ++#: main.c:245 + msgid "Error initializing terminal" + msgstr "Viga terminali initsialiseerimisel" + +-#: main.c:390 ++#: main.c:323 + msgid "unable to determine username" + msgstr "ei suuda tuvastada kasutajanime" + +-#: main.c:396 ++#: main.c:329 + msgid "unable to determine home directory" + msgstr "ei leia kodukataloogi" + +-#: main.c:640 ++#: main.c:572 + #, c-format + msgid "Error: value '%s' is invalid for -d" + msgstr "" + +-#: main.c:884 ++#: main.c:815 + msgid "Failed to parse mailto: link" + msgstr "" + +-#: main.c:896 send.c:2452 send.c:2456 ++#: main.c:827 send.c:2463 send.c:2467 + msgid "No recipients specified" + msgstr "Saajaid ei ole määratud" + +-#: main.c:923 ++#: main.c:854 + msgid "Can't use -E flag with stdin" + msgstr "" + +-#: main.c:1007 ++#: main.c:938 + #, fuzzy, c-format + msgid "Can't parse message template: %s" + msgstr "Teate faili ei saa avada: %s" + +-#: main.c:1073 mutt_header.c:329 ++#: main.c:1004 mutt_header.c:329 + #, c-format + msgid "%s: unable to attach file" + msgstr "%s: faili lisamine ebaõnnestus" + +-#: main.c:1156 ++#: main.c:1087 + msgid "No mailbox with new mail" + msgstr "Uute teadetega postkaste ei ole" + +-#: main.c:1180 ++#: main.c:1111 + msgid "No incoming mailboxes defined" + msgstr "Sissetulevate kirjade postkaste ei ole määratud" + +-#: main.c:1230 ++#: main.c:1161 + msgid "Mailbox is empty" + msgstr "Postkast on tühi" + +@@ -3336,52 +3443,52 @@ msgstr "Postkasti ei õnnestu uuesti avada" + msgid "Can't write message" + msgstr "Teadet ei õnnestu kirjutada" + +-#: menu.c:632 ++#: menu.c:631 + msgid "Jump to: " + msgstr "Hüppa: " + +-#: menu.c:641 ++#: menu.c:640 + msgid "Invalid index number" + msgstr "Vigane indeksi number" + +-#: menu.c:645 menu.c:671 menu.c:744 menu.c:810 menu.c:828 menu.c:843 menu.c:858 +-#: menu.c:873 menu.c:890 menu.c:907 menu.c:1553 ++#: menu.c:644 menu.c:670 menu.c:743 menu.c:809 menu.c:827 menu.c:842 menu.c:857 ++#: menu.c:872 menu.c:889 menu.c:906 menu.c:1553 + msgid "No entries" + msgstr "Kirjeid pole" + +-#: menu.c:668 ++#: menu.c:667 + msgid "You can't scroll down farther" + msgstr "Enam allapoole ei saa kerida" + +-#: menu.c:690 ++#: menu.c:689 + msgid "You can't scroll up farther" + msgstr "Enam ülespoole ei saa kerida" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the first page" + msgstr "Te olete esimesel lehel" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the last page" + msgstr "Te olete viimasel lehel" + +-#: menu.c:922 ++#: menu.c:921 + msgid "You are on the last entry" + msgstr "Te olete viimasel kirjel" + +-#: menu.c:937 ++#: menu.c:936 + msgid "You are on the first entry" + msgstr "Te olete esimesel kirjel" + +-#: menu.c:1172 pager.c:2692 pattern.c:2578 ++#: menu.c:1172 pager.c:2666 pattern.c:2702 + msgid "Search for: " + msgstr "Otsi: " + +-#: menu.c:1173 pager.c:2693 pattern.c:2579 ++#: menu.c:1173 pager.c:2667 pattern.c:2703 + msgid "Reverse search for: " + msgstr "Otsi tagurpidi: " + +-#: menu.c:1226 pager.c:2641 pager.c:2666 pager.c:2800 pattern.c:2708 ++#: menu.c:1226 pager.c:2615 pager.c:2640 pager.c:2774 pattern.c:2832 + msgid "Not found" + msgstr "Ei leitud" + +@@ -3424,20 +3531,20 @@ msgstr "Ootan flock lukku... %d" + msgid "Bad history file format (line %d)" + msgstr "" + +-#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1006 ncrypt/crypt_gpgme.c:2381 +-#: ncrypt/crypt_gpgme.c:2401 ncrypt/crypt_gpgme.c:2460 +-#: ncrypt/crypt_gpgme.c:2477 ncrypt/crypt_gpgme.c:2509 +-#: ncrypt/crypt_gpgme.c:2527 ncrypt/crypt_gpgme.c:2611 +-#: ncrypt/crypt_gpgme.c:3194 ncrypt/crypt_gpgme.c:3292 +-#: ncrypt/crypt_gpgme.c:4373 ncrypt/pgp.c:576 ncrypt/pgp.c:583 ncrypt/pgp.c:896 +-#: ncrypt/pgp.c:1014 ncrypt/pgp.c:1161 ncrypt/pgp.c:1181 ncrypt/pgp.c:1215 +-#: ncrypt/pgp.c:1568 ncrypt/pgpkey.c:708 ncrypt/pgpkey.c:902 +-#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1092 ncrypt/smime.c:1100 +-#: ncrypt/smime.c:1191 ncrypt/smime.c:1299 ncrypt/smime.c:1364 +-#: ncrypt/smime.c:1372 ncrypt/smime.c:1571 ncrypt/smime.c:1967 +-#: ncrypt/smime.c:2046 ncrypt/smime.c:2053 ncrypt/smime.c:2156 +-#: ncrypt/smime.c:2281 ncrypt/smime.c:2297 nntp/nntp.c:1397 nntp/nntp.c:2237 +-#: pattern.c:1132 pop/pop.c:182 ++#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1005 ncrypt/crypt_gpgme.c:2420 ++#: ncrypt/crypt_gpgme.c:2440 ncrypt/crypt_gpgme.c:2499 ++#: ncrypt/crypt_gpgme.c:2516 ncrypt/crypt_gpgme.c:2548 ++#: ncrypt/crypt_gpgme.c:2566 ncrypt/crypt_gpgme.c:2650 ++#: ncrypt/crypt_gpgme.c:3237 ncrypt/crypt_gpgme.c:3335 ++#: ncrypt/crypt_gpgme.c:4421 ncrypt/pgp.c:575 ncrypt/pgp.c:582 ncrypt/pgp.c:895 ++#: ncrypt/pgp.c:1013 ncrypt/pgp.c:1160 ncrypt/pgp.c:1180 ncrypt/pgp.c:1214 ++#: ncrypt/pgp.c:1570 ncrypt/pgpkey.c:741 ncrypt/pgpkey.c:937 ++#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1126 ncrypt/smime.c:1134 ++#: ncrypt/smime.c:1225 ncrypt/smime.c:1333 ncrypt/smime.c:1398 ++#: ncrypt/smime.c:1406 ncrypt/smime.c:1605 ncrypt/smime.c:2001 ++#: ncrypt/smime.c:2080 ncrypt/smime.c:2087 ncrypt/smime.c:2190 ++#: ncrypt/smime.c:2315 ncrypt/smime.c:2331 nntp/nntp.c:1399 nntp/nntp.c:2239 ++#: pattern.c:1171 pop/pop.c:182 + msgid "Can't create temporary file" + msgstr "Ei õnnestu avada ajutist faili" + +@@ -3456,7 +3563,7 @@ msgstr "Silumise tase %d.\n" + msgid "Logging at level %d to file '%s'" + msgstr "Silumise tase %d.\n" + +-#: mutt/path.c:401 ++#: mutt/path.c:420 + #, fuzzy + msgid "Error: converting path to absolute" + msgstr "Viga serveriga ühenduse loomisel: %s" +@@ -3480,17 +3587,17 @@ msgstr "Sain signaali %d (%s) ... Väljun.\n" + msgid "Caught signal %d ... Exiting.\n" + msgstr "Sain signaali %d ... Väljun.\n" + +-#: muttlib.c:490 ++#: muttlib.c:488 + #, c-format + msgid "mutt_randbuf buflen=%zu" + msgstr "" + +-#: muttlib.c:510 ++#: muttlib.c:508 + #, c-format + msgid "open /dev/urandom: %s" + msgstr "" + +-#: muttlib.c:517 ++#: muttlib.c:515 + #, c-format + msgid "read /dev/urandom: %s" + msgstr "" +@@ -3498,150 +3605,122 @@ msgstr "" + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) + #. These three letters correspond to the choices in the string. +-#: muttlib.c:745 ++#: muttlib.c:743 + #, fuzzy + msgid "File is a directory, save under it: (y)es, (n)o, (a)ll?" + msgstr "Fail on kataloog, salvestan sinna?" + +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "yna" + msgstr "" + + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) +-#: muttlib.c:763 ++#: muttlib.c:761 + msgid "File is a directory, save under it?" + msgstr "Fail on kataloog, salvestan sinna?" + +-#: muttlib.c:768 ++#: muttlib.c:766 + msgid "File under directory: " + msgstr "Fail kataloogis: " + +-#: muttlib.c:781 ++#: muttlib.c:779 + msgid "File exists, (o)verwrite, (a)ppend, or (c)ancel?" + msgstr "Fail on olemas, (k)irjutan üle, (l)isan või ka(t)kestan?" + + #. L10N: Options for: File exists, (o)verwrite, (a)ppend, or (c)ancel? +-#: muttlib.c:783 ++#: muttlib.c:781 + msgid "oac" + msgstr "klt" + +-#: muttlib.c:1458 ++#: muttlib.c:1456 + msgid "Can't save message to POP mailbox" + msgstr "Teadet ei saa POP postkasti salvestada" + +-#: muttlib.c:1468 ++#: muttlib.c:1466 + #, c-format + msgid "Append messages to %s?" + msgstr "Lisan teated kausta %s?" + +-#: muttlib.c:1481 ++#: muttlib.c:1479 + #, fuzzy + msgid "Can't save message to news server" + msgstr "POP serveril ei saa teadet toimetada" + +-#. L10N: Example: Username at myhost.com +-#: mutt_account.c:233 +-#, c-format +-msgid "Username at %s: " +-msgstr "Kasutajanimi serveril %s: " +- +-#: mutt_account.c:315 +-#, c-format +-msgid "Password for %s@%s: " +-msgstr "%s@%s parool: " +- +-#. L10N: You will see this error message if (1) you have "oauthbearer" in +-#. one of your $*_authenticators and (2) you do not have the corresponding +-#. $*_oauth_refresh_command defined. So the message does not mean "None of +-#. your $*_oauth_refresh_command's are defined." +-#: mutt_account.c:383 +-#, fuzzy +-msgid "No OAUTH refresh command defined" +-msgstr "Päringukäsku ei ole defineeritud" +- +-#: mutt_account.c:390 +-msgid "Unable to run refresh command" +-msgstr "" +- +-#: mutt_account.c:400 +-msgid "Command returned empty string" +-msgstr "" +- +-#: mutt_attach.c:140 mutt_attach.c:274 mutt_attach.c:459 mutt_attach.c:1054 ++#: mutt_attach.c:142 mutt_attach.c:276 mutt_attach.c:488 mutt_attach.c:1087 + msgid "Can't match 'nametemplate', continue?" + msgstr "Nimemuster ei sobi, jätkan?" + +-#: mutt_attach.c:150 ++#: mutt_attach.c:152 + #, c-format + msgid "Mailcap compose entry requires %%s" + msgstr "Mailcap koostamise kirje nõuab %%s" + +-#: mutt_attach.c:168 ++#: mutt_attach.c:170 + msgid "Failure to open file to parse headers" + msgstr "Faili avamine päiste analüüsiks ebaõnnestus" + +-#: mutt_attach.c:202 ++#: mutt_attach.c:204 + msgid "Failure to open file to strip headers" + msgstr "Faili avamine päiste eemaldamiseks ebaõnnestus" + +-#: mutt_attach.c:212 ++#: mutt_attach.c:214 + #, fuzzy + msgid "Failure to rename file" + msgstr "Faili avamine päiste analüüsiks ebaõnnestus" + +-#: mutt_attach.c:222 ++#: mutt_attach.c:224 + #, c-format + msgid "No mailcap compose entry for %s, creating empty file" + msgstr "Mailcap koostamise kirjet %s jaoks puudub, loon tühja faili" + +-#: mutt_attach.c:284 ++#: mutt_attach.c:286 + #, c-format + msgid "Mailcap Edit entry requires %%s" + msgstr "Mailcap toimeta kirje nõuab %%s" + +-#: mutt_attach.c:305 ++#: mutt_attach.c:307 + #, c-format + msgid "No mailcap edit entry for %s" + msgstr "Mailcap toimeta kirjet %s jaoks ei ole." + +-#: mutt_attach.c:427 ++#: mutt_attach.c:456 + msgid "No matching mailcap entry found. Viewing as text." + msgstr "Sobivat mailcap kirjet pole. Käsitlen tekstina." + +-#: mutt_attach.c:440 ++#: mutt_attach.c:469 + msgid "MIME type not defined. Can't view attachment." + msgstr "MIME tüüp ei ole defineeritud. Lisa ei saa vaadata." + +-#: mutt_attach.c:535 ++#: mutt_attach.c:563 + #, c-format + msgid "---Command: %-20.20s Description: %s" + msgstr "" + +-#: mutt_attach.c:540 ++#: mutt_attach.c:568 + #, c-format + msgid "---Command: %-30.30s Attachment: %s" + msgstr "" + +-#: mutt_attach.c:619 ++#: mutt_attach.c:652 + #, fuzzy, c-format + msgid "---Attachment: %s: %s" + msgstr "-- Lisad" + +-#: mutt_attach.c:621 ++#: mutt_attach.c:654 + #, fuzzy, c-format + msgid "---Attachment: %s" + msgstr "-- Lisad" + +-#: mutt_attach.c:902 mutt_attach.c:910 ++#: mutt_attach.c:935 mutt_attach.c:943 + msgid "Write fault" + msgstr "Viga kirjutamisel" + +-#: mutt_attach.c:1174 ++#: mutt_attach.c:1207 + msgid "I don't know how to print that" + msgstr "Ma ei tea, kuidas seda trükkida" + +-#: mutt_history.c:47 query.c:84 ++#: mutt_history.c:47 query.c:82 + msgid "Search" + msgstr "Otsi" + +@@ -3650,21 +3729,21 @@ msgstr "Otsi" + msgid "History '%s'" + msgstr "Päring '%s'" + +-#: mutt_logging.c:315 ++#: mutt_logging.c:313 + #, fuzzy, c-format + msgid "Invalid value for option %s: %ld" + msgstr "Vigane kuupäev: %s" + +-#: mutt_lua.c:429 ++#: mutt_lua.c:431 + msgid "Error: Couldn't load the lua interpreter" + msgstr "" + +-#: mutt_lua.c:491 ++#: mutt_lua.c:493 + #, fuzzy, c-format + msgid "Couldn't source lua source: %s" + msgstr "%s ei saa lukustada\n" + +-#: mutt_mailbox.c:214 ++#: mutt_mailbox.c:241 + msgid "New mail in " + msgstr "Uus kiri kaustas " + +@@ -3686,20 +3765,20 @@ msgstr "Vanem teade ei ole selles piiratud vaates nähtav" + msgid "Parent message is not visible in this limited view" + msgstr "Vanem teade ei ole selles piiratud vaates nähtav" + +-#: mx.c:387 ++#: mx.c:385 + #, fuzzy, c-format + msgid "Reading from %s interrupted..." + msgstr "Otsing katkestati." + + #. L10N: Displayed if a mailbox sync fails +-#: mx.c:468 ++#: mx.c:469 + #, fuzzy, c-format + msgid "Unable to write %s" + msgstr "%s ei õnnestu lisada" + + #. L10N: Although we know the precise number of messages, we do not show it to the user. + #. So feel free to use a "generic plural" as plural translation if your language has one. +-#: mx.c:523 ++#: mx.c:525 + #, fuzzy + msgid "message not deleted" + msgid_plural "messages not deleted" +@@ -3711,69 +3790,69 @@ msgstr[1] "märgin %d teadet kustutatuks..." + msgid "Can't open trash folder" + msgstr "Kausta ei saa lisada: %s" + +-#: mx.c:623 ++#: mx.c:627 + msgid "Mark all articles read?" + msgstr "" + + #. L10N: The first argument is the number of read messages to be + #. moved, the second argument is the target mailbox. +-#: mx.c:671 ++#: mx.c:675 + #, fuzzy, c-format + msgid "Move %d read message to %s?" + msgid_plural "Move %d read messages to %s?" + msgstr[0] "Tõstan loetud teated postkasti %s?" + msgstr[1] "Tõstan loetud teated postkasti %s?" + +-#: mx.c:685 mx.c:917 ++#: mx.c:689 mx.c:936 + #, fuzzy, c-format + msgid "Purge %d deleted message?" + msgid_plural "Purge %d deleted messages?" + msgstr[0] "Eemaldan %d kustutatud teate?" + msgstr[1] "Eemaldan %d kustutatud teadet?" + +-#: mx.c:708 ++#: mx.c:712 + #, c-format + msgid "Moving read messages to %s..." + msgstr "Tõstan loetud teated kausta %s..." + +-#: mx.c:774 mx.c:908 ++#: mx.c:783 mx.c:927 + msgid "Mailbox is unchanged" + msgstr "Postkasti ei muudetud" + +-#: mx.c:827 ++#: mx.c:842 + #, c-format + msgid "%d kept, %d moved, %d deleted" + msgstr "%d säilitatud, %d tõstetud, %d kustutatud" + +-#: mx.c:831 mx.c:972 ++#: mx.c:846 mx.c:991 + #, c-format + msgid "%d kept, %d deleted" + msgstr "%d säilitatud, %d kustutatud" + +-#: mx.c:892 ++#: mx.c:911 + #, c-format + msgid " Press '%s' to toggle write" + msgstr "Kirjutamise lülitamiseks vajutage '%s'" + +-#: mx.c:894 ++#: mx.c:913 + msgid "Use 'toggle-write' to re-enable write" + msgstr "Kirjutamise uuesti lubamiseks kasutage 'toggle-write'" + +-#: mx.c:896 ++#: mx.c:915 + #, c-format + msgid "Mailbox is marked unwritable. %s" + msgstr "Postkast on märgitud mittekirjutatavaks. %s" + +-#: mx.c:966 ++#: mx.c:985 + msgid "Mailbox checkpointed" + msgstr "Postkast on kontrollitud" + +-#: ncrypt/crypt.c:93 ++#: ncrypt/crypt.c:91 + #, c-format + msgid " (current time: %c)" + msgstr " (praegune aeg: %c)" + +-#: ncrypt/crypt.c:98 ++#: ncrypt/crypt.c:96 + #, c-format + msgid "[-- %s output follows%s --]\n" + msgstr "[-- järgneb %s väljund%s --]\n" +@@ -3782,53 +3861,53 @@ msgstr "[-- järgneb %s väljund%s --]\n" + #. by gpg-agent) we can't know whether we forgot zero, 1, 12, ... + #. passwords. So in English we use "Passphrases". Your language might + #. have other means to express this. +-#: ncrypt/crypt.c:119 ++#: ncrypt/crypt.c:117 + #, fuzzy + msgid "Passphrases forgotten" + msgstr "Parool(id) on unustatud" + +-#: ncrypt/crypt.c:203 ++#: ncrypt/crypt.c:201 + msgid "Inline PGP can't be used with attachments. Revert to PGP/MIME?" + msgstr "" + +-#: ncrypt/crypt.c:207 ++#: ncrypt/crypt.c:205 + msgid "Mail not sent: inline PGP can't be used with attachments" + msgstr "" + +-#: ncrypt/crypt.c:214 ++#: ncrypt/crypt.c:212 + msgid "Inline PGP can't be used with format=flowed. Revert to PGP/MIME?" + msgstr "" + +-#: ncrypt/crypt.c:218 ++#: ncrypt/crypt.c:216 + msgid "Mail not sent: inline PGP can't be used with format=flowed" + msgstr "" + +-#: ncrypt/crypt.c:228 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:714 +-#: ncrypt/pgpkey.c:915 ++#: ncrypt/crypt.c:226 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:747 ++#: ncrypt/pgpkey.c:950 + msgid "Invoking PGP..." + msgstr "Käivitan PGP..." + +-#: ncrypt/crypt.c:240 ++#: ncrypt/crypt.c:238 + msgid "Message can't be sent inline. Revert to using PGP/MIME?" + msgstr "" + +-#: ncrypt/crypt.c:242 send.c:2430 ++#: ncrypt/crypt.c:240 send.c:2441 + msgid "Mail not sent" + msgstr "Kirja ei saadetud" + +-#: ncrypt/crypt.c:662 ++#: ncrypt/crypt.c:666 + msgid "S/MIME messages with no hints on content are unsupported" + msgstr "Sisu vihjeta S/MIME teateid ei toetata" + +-#: ncrypt/crypt.c:888 ++#: ncrypt/crypt.c:892 + msgid "Trying to extract PGP keys...\n" + msgstr "Proovin eraldada PGP võtmed...\n" + +-#: ncrypt/crypt.c:917 ++#: ncrypt/crypt.c:921 + msgid "Trying to extract S/MIME certificates..." + msgstr "Proovin eraldada S/MIME sertifikaadid..." + +-#: ncrypt/crypt.c:1140 ++#: ncrypt/crypt.c:1144 + #, c-format + msgid "" + "[-- Error: Unknown multipart/signed protocol %s --]\n" +@@ -3837,7 +3916,7 @@ msgstr "" + "[-- Viga: Tundmatu multipart/signed protokoll %s --]\n" + "\n" + +-#: ncrypt/crypt.c:1180 ++#: ncrypt/crypt.c:1184 + #, fuzzy + msgid "" + "[-- Error: Missing or bad-format multipart/signed signature --]\n" +@@ -3846,7 +3925,7 @@ msgstr "" + "[-- Viga: Vigane multipart/signed struktuur --]\n" + "\n" + +-#: ncrypt/crypt.c:1222 ++#: ncrypt/crypt.c:1226 + #, c-format + msgid "" + "[-- Warning: We can't verify %s/%s signatures. --]\n" +@@ -3855,7 +3934,7 @@ msgstr "" + "[-- Hoiatus: Me ai saa kontrollida %s/%s allkirju. --]\n" + "\n" + +-#: ncrypt/crypt.c:1235 ++#: ncrypt/crypt.c:1239 + msgid "" + "[-- The following data is signed --]\n" + "\n" +@@ -3863,7 +3942,7 @@ msgstr "" + "[-- Järgnev info on allkirjastatud --]\n" + "\n" + +-#: ncrypt/crypt.c:1243 ++#: ncrypt/crypt.c:1248 + msgid "" + "[-- Warning: Can't find any signatures. --]\n" + "\n" +@@ -3871,7 +3950,7 @@ msgstr "" + "[-- Hoiatus: Ei leia ühtegi allkirja. --]\n" + "\n" + +-#: ncrypt/crypt.c:1249 ++#: ncrypt/crypt.c:1255 + msgid "" + "\n" + "[-- End of signed data --]\n" +@@ -3891,236 +3970,236 @@ msgstr "Käivitan S/MIME..." + #. L10N: The following are the headers for the "verify key" output from the + #. GPGME key selection menu (bound to "c" in the key selection menu). + #. They will be automatically aligned. +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Name: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1869 ncrypt/crypt_gpgme.c:1874 ++#: ncrypt/crypt_gpgme.c:183 ncrypt/crypt_gpgme.c:1900 ncrypt/crypt_gpgme.c:1905 + msgid "aka: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + #, fuzzy + msgid "Valid From: " + msgstr "Vigane kuu: %s" + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + #, fuzzy + msgid "Valid To: " + msgstr "Vigane kuu: %s" + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Key Type: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Key Usage: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:185 ncrypt/crypt_gpgme.c:1759 ++#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1790 + #, fuzzy + msgid "Fingerprint: " + msgstr "Sõrmejälg: %s" + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Serial-No: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + msgid "Issued By: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + #, fuzzy + msgid "Subkey: " + msgstr "Võtme ID: 0x%s" + +-#: ncrypt/crypt_gpgme.c:783 ++#: ncrypt/crypt_gpgme.c:782 + #, c-format + msgid "error enabling CMS protocol: %s" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:806 ++#: ncrypt/crypt_gpgme.c:805 + #, fuzzy, c-format + msgid "error creating gpgme data object: %s" + msgstr "viga mustris: %s" + +-#: ncrypt/crypt_gpgme.c:907 ncrypt/crypt_gpgme.c:934 ncrypt/crypt_gpgme.c:2057 +-#: ncrypt/crypt_gpgme.c:2814 ++#: ncrypt/crypt_gpgme.c:906 ncrypt/crypt_gpgme.c:933 ncrypt/crypt_gpgme.c:2096 ++#: ncrypt/crypt_gpgme.c:2853 + #, fuzzy, c-format + msgid "error allocating data object: %s" + msgstr "viga mustris: %s" + +-#: ncrypt/crypt_gpgme.c:956 ++#: ncrypt/crypt_gpgme.c:955 + #, fuzzy, c-format + msgid "error rewinding data object: %s" + msgstr "viga mustris: %s" + +-#: ncrypt/crypt_gpgme.c:972 ++#: ncrypt/crypt_gpgme.c:971 + msgid "[tempfile]" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:978 ncrypt/crypt_gpgme.c:1032 ++#: ncrypt/crypt_gpgme.c:977 ncrypt/crypt_gpgme.c:1031 + #, fuzzy, c-format + msgid "error reading data object: %s" + msgstr "viga mustris: %s" + +-#: ncrypt/crypt_gpgme.c:1149 ++#: ncrypt/crypt_gpgme.c:1148 + #, fuzzy, c-format + msgid "error adding recipient '%s': %s" + msgstr "viga mustris: %s" + +-#: ncrypt/crypt_gpgme.c:1202 ++#: ncrypt/crypt_gpgme.c:1186 + #, c-format + msgid "secret key '%s' not found: %s" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1218 ++#: ncrypt/crypt_gpgme.c:1203 + #, c-format + msgid "ambiguous specification of secret key '%s'\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1234 ++#: ncrypt/crypt_gpgme.c:1219 + #, c-format + msgid "error setting secret key '%s': %s" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1250 ++#: ncrypt/crypt_gpgme.c:1278 + #, fuzzy, c-format + msgid "error setting PKA signature notation: %s" + msgstr "viga mustris: %s" + +-#: ncrypt/crypt_gpgme.c:1324 ++#: ncrypt/crypt_gpgme.c:1353 + #, fuzzy, c-format + msgid "error encrypting data: %s" + msgstr "viga mustris: %s" + +-#: ncrypt/crypt_gpgme.c:1453 ++#: ncrypt/crypt_gpgme.c:1483 + #, fuzzy, c-format + msgid "error signing data: %s" + msgstr "viga mustris: %s" + +-#: ncrypt/crypt_gpgme.c:1463 ++#: ncrypt/crypt_gpgme.c:1493 + msgid "$pgp_sign_as unset and no default key specified in ~/.gnupg/gpg.conf" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1641 ++#: ncrypt/crypt_gpgme.c:1672 + msgid "Warning: One of the keys has been revoked\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1651 ++#: ncrypt/crypt_gpgme.c:1682 + msgid "Warning: The key used to create the signature expired at: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1657 ++#: ncrypt/crypt_gpgme.c:1688 + #, fuzzy + msgid "Warning: At least one certification key has expired\n" + msgstr "Serveri sertifikaat on aegunud" + +-#: ncrypt/crypt_gpgme.c:1671 ++#: ncrypt/crypt_gpgme.c:1702 + msgid "Warning: The signature expired at: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1678 ++#: ncrypt/crypt_gpgme.c:1709 + msgid "Can't verify due to a missing key or certificate\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1683 ++#: ncrypt/crypt_gpgme.c:1714 + #, fuzzy + msgid "The CRL is not available\n" + msgstr "SSL ei ole kasutatav." + +-#: ncrypt/crypt_gpgme.c:1689 ++#: ncrypt/crypt_gpgme.c:1720 + msgid "Available CRL is too old\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1694 ++#: ncrypt/crypt_gpgme.c:1725 + msgid "A policy requirement was not met\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1703 ++#: ncrypt/crypt_gpgme.c:1734 + msgid "A system error occurred" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1734 ++#: ncrypt/crypt_gpgme.c:1765 + msgid "WARNING: PKA entry does not match signer's address: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1740 ++#: ncrypt/crypt_gpgme.c:1771 + msgid "PKA verified signer's address is: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1822 ++#: ncrypt/crypt_gpgme.c:1853 + msgid "WARNING: We have NO indication whether the key belongs to the person named as shown above\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1829 ++#: ncrypt/crypt_gpgme.c:1860 + msgid "WARNING: The key does NOT BELONG to the person named as shown above\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1833 ++#: ncrypt/crypt_gpgme.c:1864 + msgid "WARNING: It is NOT certain that the key belongs to the person named as shown above\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1886 ++#: ncrypt/crypt_gpgme.c:1917 + msgid "KeyID " + msgstr "" + + #. L10N: You will see this message in place of "KeyID " + #. if the S/MIME key has no ID. This is quite an error. +-#: ncrypt/crypt_gpgme.c:1893 ++#: ncrypt/crypt_gpgme.c:1924 + msgid "no signature fingerprint available" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1902 ncrypt/crypt_gpgme.c:1907 ++#: ncrypt/crypt_gpgme.c:1933 ncrypt/crypt_gpgme.c:1938 + #, fuzzy + msgid "created: " + msgstr "Loon %s?" + +-#: ncrypt/crypt_gpgme.c:1981 ++#: ncrypt/crypt_gpgme.c:2012 + #, c-format + msgid "Error getting key information for KeyID %s: %s\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1988 ncrypt/crypt_gpgme.c:2003 ++#: ncrypt/crypt_gpgme.c:2019 ncrypt/crypt_gpgme.c:2034 + msgid "Good signature from:" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1995 ++#: ncrypt/crypt_gpgme.c:2026 + msgid "*BAD* signature from:" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:2011 ++#: ncrypt/crypt_gpgme.c:2042 + msgid "Problem signature from:" + msgstr "" + + #. L10N: This is trying to match the width of the + #. "Problem signature from:" translation just above. +-#: ncrypt/crypt_gpgme.c:2017 ++#: ncrypt/crypt_gpgme.c:2048 + msgid " expires: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:2064 ncrypt/crypt_gpgme.c:2294 +-#: ncrypt/crypt_gpgme.c:3081 ++#: ncrypt/crypt_gpgme.c:2103 ncrypt/crypt_gpgme.c:2333 ++#: ncrypt/crypt_gpgme.c:3124 + msgid "[-- Begin signature information --]\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:2075 ++#: ncrypt/crypt_gpgme.c:2114 + #, fuzzy, c-format + msgid "Error: verification failed: %s\n" + msgstr "Viga käsureal: %s\n" + +-#: ncrypt/crypt_gpgme.c:2126 ++#: ncrypt/crypt_gpgme.c:2165 + #, c-format + msgid "*** Begin Notation (signature by: %s) ***\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:2145 ++#: ncrypt/crypt_gpgme.c:2184 + msgid "*** End Notation ***\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:2153 ncrypt/crypt_gpgme.c:2308 +-#: ncrypt/crypt_gpgme.c:3091 ++#: ncrypt/crypt_gpgme.c:2192 ncrypt/crypt_gpgme.c:2347 ++#: ncrypt/crypt_gpgme.c:3134 + #, fuzzy + msgid "" + "[-- End signature information --]\n" +@@ -4129,28 +4208,34 @@ msgstr "" + "\n" + "[-- Allkirjastatud info lõpp --]\n" + +-#: ncrypt/crypt_gpgme.c:2268 ++#: ncrypt/crypt_gpgme.c:2307 + #, fuzzy, c-format + msgid "" + "[-- Error: decryption failed: %s --]\n" + "\n" + msgstr "[-- Viga: ajutise faili loomine ebaõnnestus! --]\n" + +-#: ncrypt/crypt_gpgme.c:2821 ++#: ncrypt/crypt_gpgme.c:2860 + #, fuzzy, c-format + msgid "Error importing key: %s" + msgstr "viga mustris: %s" + +-#: ncrypt/crypt_gpgme.c:3059 ++#: ncrypt/crypt_gpgme.c:3098 + #, c-format + msgid "Error: decryption/verification failed: %s\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:3103 ++#: ncrypt/crypt_gpgme.c:3105 ncrypt/crypt_gpgme.c:3302 ncrypt/pgp.c:726 ++#: ncrypt/pgp.c:1273 ++#, fuzzy ++msgid "PGP message successfully decrypted" ++msgstr "PGP allkiri on edukalt kontrollitud" ++ ++#: ncrypt/crypt_gpgme.c:3146 + msgid "Error: copy data failed\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:3116 ncrypt/pgp.c:675 ++#: ncrypt/crypt_gpgme.c:3159 ncrypt/pgp.c:674 + msgid "" + "[-- BEGIN PGP MESSAGE --]\n" + "\n" +@@ -4158,11 +4243,11 @@ msgstr "" + "[-- PGP TEATE ALGUS --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3118 ncrypt/pgp.c:677 ++#: ncrypt/crypt_gpgme.c:3161 ncrypt/pgp.c:676 + msgid "[-- BEGIN PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- PGP AVALIKU VÕTME BLOKI ALGUS --]\n" + +-#: ncrypt/crypt_gpgme.c:3120 ncrypt/pgp.c:679 ++#: ncrypt/crypt_gpgme.c:3163 ncrypt/pgp.c:678 + msgid "" + "[-- BEGIN PGP SIGNED MESSAGE --]\n" + "\n" +@@ -4170,19 +4255,19 @@ msgstr "" + "[-- PGP ALLKIRJASTATUD TEATE ALGUS --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3145 ncrypt/pgp.c:716 ++#: ncrypt/crypt_gpgme.c:3188 ncrypt/pgp.c:715 + msgid "[-- END PGP MESSAGE --]\n" + msgstr "[-- PGP TEATE LÕPP --]\n" + +-#: ncrypt/crypt_gpgme.c:3147 ncrypt/pgp.c:730 ++#: ncrypt/crypt_gpgme.c:3190 ncrypt/pgp.c:729 + msgid "[-- END PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- PGP AVALIKU VÕTME BLOKI LÕPP --]\n" + +-#: ncrypt/crypt_gpgme.c:3149 ncrypt/pgp.c:732 ++#: ncrypt/crypt_gpgme.c:3192 ncrypt/pgp.c:731 + msgid "[-- END PGP SIGNED MESSAGE --]\n" + msgstr "[-- PGP ALLKIRJASTATUD TEATE LÕPP --]\n" + +-#: ncrypt/crypt_gpgme.c:3170 ncrypt/pgp.c:765 ++#: ncrypt/crypt_gpgme.c:3213 ncrypt/pgp.c:764 + msgid "" + "[-- Error: could not find beginning of PGP message --]\n" + "\n" +@@ -4190,11 +4275,11 @@ msgstr "" + "[-- Viga: ei suuda leida PGP teate algust --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3198 ncrypt/crypt_gpgme.c:3296 ncrypt/pgp.c:1218 ++#: ncrypt/crypt_gpgme.c:3241 ncrypt/crypt_gpgme.c:3339 ncrypt/pgp.c:1218 + msgid "[-- Error: could not create temporary file --]\n" + msgstr "[-- Viga: ajutise faili loomine ebaõnnestus --]\n" + +-#: ncrypt/crypt_gpgme.c:3212 ++#: ncrypt/crypt_gpgme.c:3255 + #, fuzzy + msgid "" + "[-- The following data is PGP/MIME signed and encrypted --]\n" +@@ -4203,7 +4288,7 @@ msgstr "" + "[-- Järgneb PGP/MIME krüptitud info --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3214 ncrypt/pgp.c:1231 ++#: ncrypt/crypt_gpgme.c:3257 ncrypt/pgp.c:1232 + msgid "" + "[-- The following data is PGP/MIME encrypted --]\n" + "\n" +@@ -4211,75 +4296,70 @@ msgstr "" + "[-- Järgneb PGP/MIME krüptitud info --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3254 ++#: ncrypt/crypt_gpgme.c:3297 + #, fuzzy + msgid "[-- End of PGP/MIME signed and encrypted data --]\n" + msgstr "[-- PGP/MIME krüptitud info lõpp --]\n" + +-#: ncrypt/crypt_gpgme.c:3255 ncrypt/pgp.c:1267 ++#: ncrypt/crypt_gpgme.c:3298 ncrypt/pgp.c:1268 + msgid "[-- End of PGP/MIME encrypted data --]\n" + msgstr "[-- PGP/MIME krüptitud info lõpp --]\n" + +-#: ncrypt/crypt_gpgme.c:3259 ncrypt/pgp.c:727 ncrypt/pgp.c:1272 +-#, fuzzy +-msgid "PGP message successfully decrypted" +-msgstr "PGP allkiri on edukalt kontrollitud" +- +-#: ncrypt/crypt_gpgme.c:3265 ncrypt/pgp.c:666 ncrypt/pgp.c:718 +-#: ncrypt/pgp.c:1276 ++#: ncrypt/crypt_gpgme.c:3308 ncrypt/pgp.c:665 ncrypt/pgp.c:717 ++#: ncrypt/pgp.c:1277 + #, fuzzy + msgid "Could not decrypt PGP message" + msgstr "Teadet ei õnnestu kopeerida." + +-#: ncrypt/crypt_gpgme.c:3310 ++#: ncrypt/crypt_gpgme.c:3353 + #, fuzzy + msgid "" + "[-- The following data is S/MIME signed --]\n" + "\n" + msgstr "[-- Järgneb S/MIME allkirjastatud info --]\n" + +-#: ncrypt/crypt_gpgme.c:3311 ++#: ncrypt/crypt_gpgme.c:3354 + #, fuzzy + msgid "" + "[-- The following data is S/MIME encrypted --]\n" + "\n" + msgstr "[-- Järgneb S/MIME krüptitud info --]\n" + +-#: ncrypt/crypt_gpgme.c:3358 ++#: ncrypt/crypt_gpgme.c:3401 + #, fuzzy + msgid "[-- End of S/MIME signed data --]\n" + msgstr "" + "\n" + "[-- S/MIME Allkirjastatud info lõpp --]\n" + +-#: ncrypt/crypt_gpgme.c:3359 ++#: ncrypt/crypt_gpgme.c:3402 + #, fuzzy + msgid "[-- End of S/MIME encrypted data --]\n" + msgstr "" + "\n" + "[-- S/MIME krüptitud info lõpp --]\n" + +-#: ncrypt/crypt_gpgme.c:4029 ++#: ncrypt/crypt_gpgme.c:4077 + msgid "[Can't display this user ID (unknown encoding)]" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:4031 ++#: ncrypt/crypt_gpgme.c:4079 + msgid "[Can't display this user ID (invalid encoding)]" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:4036 ++#: ncrypt/crypt_gpgme.c:4084 + msgid "[Can't display this user ID (invalid DN)]" + msgstr "" + + #. L10N: comes after the Name or aka if the key is invalid + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4150 ncrypt/crypt_gpgme.c:4291 ++#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4339 + #, fuzzy + msgid "[Invalid]" + msgstr "Vigane " + + #. L10N: This is printed after "Key Type: " and looks like this: PGP, 2048 bit RSA +-#: ncrypt/crypt_gpgme.c:4190 ncrypt/crypt_gpgme.c:4331 ++#: ncrypt/crypt_gpgme.c:4238 ncrypt/crypt_gpgme.c:4379 + #, c-format + msgid "%s, %lu bit %s\n" + msgid_plural "%s, %lu bit %s\n" +@@ -4287,104 +4367,104 @@ msgstr[0] "" + msgstr[1] "" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4338 ++#: ncrypt/crypt_gpgme.c:4246 ncrypt/crypt_gpgme.c:4386 + #, fuzzy + msgid "encryption" + msgstr "Krüpti" + +-#: ncrypt/crypt_gpgme.c:4199 ncrypt/crypt_gpgme.c:4205 +-#: ncrypt/crypt_gpgme.c:4339 ncrypt/crypt_gpgme.c:4344 ++#: ncrypt/crypt_gpgme.c:4247 ncrypt/crypt_gpgme.c:4253 ++#: ncrypt/crypt_gpgme.c:4387 ncrypt/crypt_gpgme.c:4392 + msgid ", " + msgstr "" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4204 ncrypt/crypt_gpgme.c:4343 ++#: ncrypt/crypt_gpgme.c:4252 ncrypt/crypt_gpgme.c:4391 + msgid "signing" + msgstr "" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4210 ncrypt/crypt_gpgme.c:4348 ++#: ncrypt/crypt_gpgme.c:4258 ncrypt/crypt_gpgme.c:4396 + #, fuzzy + msgid "certification" + msgstr "Sertifikaat on salvestatud" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4285 ++#: ncrypt/crypt_gpgme.c:4333 + #, fuzzy + msgid "[Revoked]" + msgstr "Tühistatud " + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4297 ++#: ncrypt/crypt_gpgme.c:4345 + #, fuzzy + msgid "[Expired]" + msgstr "Aegunud " + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4303 ++#: ncrypt/crypt_gpgme.c:4351 + msgid "[Disabled]" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:4376 ++#: ncrypt/crypt_gpgme.c:4424 + #, fuzzy + msgid "Collecting data..." + msgstr "Ühendus serverisse %s..." + +-#: ncrypt/crypt_gpgme.c:4394 ++#: ncrypt/crypt_gpgme.c:4442 + #, fuzzy, c-format + msgid "Error finding issuer key: %s\n" + msgstr "Viga serveriga ühenduse loomisel: %s" + +-#: ncrypt/crypt_gpgme.c:4403 ++#: ncrypt/crypt_gpgme.c:4451 + #, fuzzy + msgid "Error: certification chain too long - stopping here\n" + msgstr "Viga käsureal: %s\n" + +-#: ncrypt/crypt_gpgme.c:4413 ncrypt/pgpkey.c:733 ++#: ncrypt/crypt_gpgme.c:4461 ncrypt/pgpkey.c:766 + #, c-format + msgid "Key ID: 0x%s" + msgstr "Võtme ID: 0x%s" + +-#: ncrypt/crypt_gpgme.c:4538 ncrypt/crypt_gpgme.c:4589 ++#: ncrypt/crypt_gpgme.c:4586 ncrypt/crypt_gpgme.c:4637 + #, c-format + msgid "gpgme_op_keylist_start failed: %s" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:4577 ncrypt/crypt_gpgme.c:4619 +-#: ncrypt/crypt_gpgme.c:5355 ++#: ncrypt/crypt_gpgme.c:4625 ncrypt/crypt_gpgme.c:4667 ++#: ncrypt/crypt_gpgme.c:5435 + #, c-format + msgid "gpgme_op_keylist_next failed: %s" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:4701 ++#: ncrypt/crypt_gpgme.c:4749 + #, fuzzy + msgid "All matching keys are marked expired/revoked" + msgstr "Kõik sobivad võtmed on märgitud aegunuks/tühistatuks" + +-#: ncrypt/crypt_gpgme.c:4731 ncrypt/pgpkey.c:666 ncrypt/smime.c:551 ++#: ncrypt/crypt_gpgme.c:4779 ncrypt/pgpkey.c:669 ncrypt/smime.c:553 + msgid "Select " + msgstr "Vali " + +-#: ncrypt/crypt_gpgme.c:4733 ncrypt/pgpkey.c:668 ++#: ncrypt/crypt_gpgme.c:4781 ncrypt/pgpkey.c:671 + msgid "Check key " + msgstr "Võtme kontroll " + +-#: ncrypt/crypt_gpgme.c:4749 ++#: ncrypt/crypt_gpgme.c:4827 + #, fuzzy + msgid "PGP and S/MIME keys matching" + msgstr "PGP võtmed, mis sisaldavad \"%s\"." + +-#: ncrypt/crypt_gpgme.c:4751 ++#: ncrypt/crypt_gpgme.c:4829 + #, fuzzy + msgid "PGP keys matching" + msgstr "PGP võtmed, mis sisaldavad \"%s\"." + +-#: ncrypt/crypt_gpgme.c:4753 ++#: ncrypt/crypt_gpgme.c:4831 + #, fuzzy + msgid "S/MIME keys matching" + msgstr "S/MIME sertifikaadid, mis sisaldavad \"%s\"." + +-#: ncrypt/crypt_gpgme.c:4755 ++#: ncrypt/crypt_gpgme.c:4833 + #, fuzzy + msgid "keys matching" + msgstr "PGP võtmed, mis sisaldavad \"%s\"." +@@ -4393,59 +4473,59 @@ msgstr "PGP võtmed, mis sisaldavad \"%s\"." + #. %1$s is one of the previous four entries. + #. %2$s is an address. + #. e.g. "S/MIME keys matching " +-#: ncrypt/crypt_gpgme.c:4763 ++#: ncrypt/crypt_gpgme.c:4841 + #, c-format + msgid "%s <%s>" + msgstr "" + + #. L10N: e.g. 'S/MIME keys matching "Michael Elkins".' +-#: ncrypt/crypt_gpgme.c:4768 ++#: ncrypt/crypt_gpgme.c:4846 + #, c-format + msgid "%s \"%s\"" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:4796 ncrypt/pgpkey.c:754 ++#: ncrypt/crypt_gpgme.c:4874 ncrypt/pgpkey.c:787 + msgid "This key can't be used: expired/disabled/revoked" + msgstr "Seda võtit ei saa kasutada: aegunud/blokeeritud/tühistatud" + +-#: ncrypt/crypt_gpgme.c:4810 ncrypt/pgpkey.c:767 ncrypt/smime.c:581 ++#: ncrypt/crypt_gpgme.c:4888 ncrypt/pgpkey.c:800 ncrypt/smime.c:613 + #, fuzzy + msgid "ID is expired/disabled/revoked. Do you really want to use the key?" + msgstr "ID on aegunud/blokeeritud/tühistatud. Kas te soovite seda võtit tõesti kasutada?" + +-#: ncrypt/crypt_gpgme.c:4820 ncrypt/pgpkey.c:779 ++#: ncrypt/crypt_gpgme.c:4898 ncrypt/pgpkey.c:812 + #, fuzzy + msgid "ID is not valid. Do you really want to use the key?" + msgstr "ID ei ole kehtiv. Kas te soovite seda võtit tõesti kasutada?" + +-#: ncrypt/crypt_gpgme.c:4823 ncrypt/pgpkey.c:782 ++#: ncrypt/crypt_gpgme.c:4901 ncrypt/pgpkey.c:815 + #, fuzzy + msgid "ID is only marginally valid. Do you really want to use the key?" + msgstr "ID on ainult osaliselt kehtiv. Kas te soovite seda võtit tõesti kasutada?" + +-#: ncrypt/crypt_gpgme.c:4831 ncrypt/pgpkey.c:775 ncrypt/smime.c:585 ++#: ncrypt/crypt_gpgme.c:4909 ncrypt/pgpkey.c:808 ncrypt/smime.c:617 + #, fuzzy + msgid "ID has undefined validity. Do you really want to use the key?" + msgstr "ID kehtivuse väärtus ei ole defineeritud. Kas te soovite seda võtit tõesti kasutada?" + +-#: ncrypt/crypt_gpgme.c:4911 ncrypt/crypt_gpgme.c:5024 ncrypt/pgpkey.c:1019 +-#: ncrypt/pgpkey.c:1146 ++#: ncrypt/crypt_gpgme.c:4991 ncrypt/crypt_gpgme.c:5104 ncrypt/pgpkey.c:1054 ++#: ncrypt/pgpkey.c:1181 + #, c-format + msgid "Looking for keys matching \"%s\"..." + msgstr "Otsin võtmeid, mis sisaldavad \"%s\"..." + +-#: ncrypt/crypt_gpgme.c:5140 ncrypt/pgpkey.c:870 ncrypt/smime.c:924 ++#: ncrypt/crypt_gpgme.c:5220 ncrypt/pgpkey.c:905 ncrypt/smime.c:958 + #, c-format + msgid "No matching keys found for \"%s\"" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5190 ncrypt/pgp.c:1456 ++#: ncrypt/crypt_gpgme.c:5270 ncrypt/pgp.c:1457 + #, c-format + msgid "Use keyID = \"%s\" for %s?" + msgstr "Kasutan kasutajat = \"%s\" teatel %s?" + +-#: ncrypt/crypt_gpgme.c:5238 ncrypt/pgp.c:1505 ncrypt/smime.c:944 +-#: ncrypt/smime.c:1049 ++#: ncrypt/crypt_gpgme.c:5318 ncrypt/pgp.c:1506 ncrypt/smime.c:978 ++#: ncrypt/smime.c:1083 + #, c-format + msgid "Enter keyID for %s: " + msgstr "Sisestage kasutaja teatele %s: " +@@ -4454,16 +4534,16 @@ msgstr "Sisestage kasutaja teatele %s: " + #. mutt_gpgme_select_secret_key() tries to list all secret keys to choose + #. from. This error is displayed if no results were found. + #. +-#: ncrypt/crypt_gpgme.c:5364 ++#: ncrypt/crypt_gpgme.c:5444 + #, fuzzy + msgid "No secret keys found" + msgstr "Ei leitud" + +-#: ncrypt/crypt_gpgme.c:5398 ncrypt/pgpkey.c:888 ++#: ncrypt/crypt_gpgme.c:5478 ncrypt/pgpkey.c:923 + msgid "Please enter the key ID: " + msgstr "Palun sisestage võtme ID: " + +-#: ncrypt/crypt_gpgme.c:5411 ++#: ncrypt/crypt_gpgme.c:5491 + #, fuzzy, c-format + msgid "Error exporting key: %s" + msgstr "viga mustris: %s" +@@ -4471,99 +4551,99 @@ msgstr "viga mustris: %s" + #. 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. +-#: ncrypt/crypt_gpgme.c:5429 ++#: ncrypt/crypt_gpgme.c:5509 + #, fuzzy, c-format + msgid "PGP Key 0x%s" + msgstr "PGP Võti %s" + +-#: ncrypt/crypt_gpgme.c:5474 ++#: ncrypt/crypt_gpgme.c:5554 + msgid "GPGME: OpenPGP protocol not available" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5485 ++#: ncrypt/crypt_gpgme.c:5565 + msgid "GPGME: CMS protocol not available" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5536 ++#: ncrypt/crypt_gpgme.c:5616 + #, fuzzy + msgid "S/MIME (s)ign, sign (a)s, (p)gp, (c)lear, or (o)ppenc mode off?" + msgstr "PGP (k)rüpti, (a)llkiri, allk. ku(i), (m)õlemad, k(e)hasse, või (u)nusta?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5538 ++#: ncrypt/crypt_gpgme.c:5618 + msgid "sapco" + msgstr "kaimeu" + +-#: ncrypt/crypt_gpgme.c:5545 ++#: ncrypt/crypt_gpgme.c:5625 + #, fuzzy + msgid "PGP (s)ign, sign (a)s, s/(m)ime, (c)lear, or (o)ppenc mode off?" + msgstr "PGP (k)rüpti, (a)llkiri, allk. ku(i), (m)õlemad, k(e)hasse, või (u)nusta?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5547 ++#: ncrypt/crypt_gpgme.c:5627 + msgid "samco" + msgstr "kaimeu" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5557 ++#: ncrypt/crypt_gpgme.c:5637 + #, fuzzy + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp, (c)lear, or (o)ppenc mode?" + msgstr "PGP (k)rüpti, (a)llkiri, allk. ku(i), (m)õlemad, k(e)hasse, või (u)nusta?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5560 ++#: ncrypt/crypt_gpgme.c:5640 + msgid "esabpco" + msgstr "kaimeu" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5566 ++#: ncrypt/crypt_gpgme.c:5646 + #, fuzzy + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime, (c)lear, or (o)ppenc mode?" + msgstr "PGP (k)rüpti, (a)llkiri, allk. ku(i), (m)õlemad, k(e)hasse, või (u)nusta?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5569 ++#: ncrypt/crypt_gpgme.c:5649 + msgid "esabmco" + msgstr "kaimeu" + +-#: ncrypt/crypt_gpgme.c:5580 ++#: ncrypt/crypt_gpgme.c:5660 + #, fuzzy + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp or (c)lear?" + msgstr "PGP (k)rüpti, (a)llkiri, allk. ku(i), (m)õlemad, k(e)hasse, või (u)nusta?" + + #. L10N: S/MIME options +-#: ncrypt/crypt_gpgme.c:5582 ++#: ncrypt/crypt_gpgme.c:5662 + msgid "esabpc" + msgstr "kaimeu" + +-#: ncrypt/crypt_gpgme.c:5589 ++#: ncrypt/crypt_gpgme.c:5669 + #, fuzzy + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime or (c)lear?" + msgstr "PGP (k)rüpti, (a)llkiri, allk. ku(i), (m)õlemad, k(e)hasse, või (u)nusta?" + + #. L10N: PGP options +-#: ncrypt/crypt_gpgme.c:5591 ++#: ncrypt/crypt_gpgme.c:5671 + msgid "esabmc" + msgstr "kaimeu" + +-#: ncrypt/crypt_gpgme.c:5751 ++#: ncrypt/crypt_gpgme.c:5831 + msgid "Failed to verify sender" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5754 ++#: ncrypt/crypt_gpgme.c:5834 + #, fuzzy + msgid "Failed to figure out sender" + msgstr "Faili avamine päiste analüüsiks ebaõnnestus." + +-#: ncrypt/pgp.c:108 ++#: ncrypt/pgp.c:107 + msgid "Enter PGP passphrase:" + msgstr "Sisestage PGP parool:" + +-#: ncrypt/pgp.c:595 ++#: ncrypt/pgp.c:594 + msgid "[-- Error: unable to create PGP subprocess --]\n" + msgstr "[-- Viga: ei õnnestu luua PGP alamprotsessi --]\n" + +-#: ncrypt/pgp.c:644 ncrypt/pgp.c:926 ncrypt/pgp.c:1086 ++#: ncrypt/pgp.c:643 ncrypt/pgp.c:925 ncrypt/pgp.c:1085 + msgid "" + "[-- End of PGP output --]\n" + "\n" +@@ -4574,16 +4654,16 @@ msgstr "" + #. L10N: You will see this error message if (1) you are decrypting + #. (not encrypting) something and (2) it is a plaintext. So the + #. message does not mean "You failed to encrypt the message." +-#: ncrypt/pgp.c:724 ++#: ncrypt/pgp.c:723 + #, fuzzy + msgid "PGP message is not encrypted" + msgstr "PGP allkiri on edukalt kontrollitud" + +-#: ncrypt/pgp.c:978 ++#: ncrypt/pgp.c:977 + msgid "Internal error. Please submit a bug report." + msgstr "" + +-#: ncrypt/pgp.c:1043 ++#: ncrypt/pgp.c:1042 + msgid "" + "[-- Error: could not create a PGP subprocess --]\n" + "\n" +@@ -4591,129 +4671,129 @@ msgstr "" + "[-- Viga: PGP alamprotsessi loomine ei õnnestu --]\n" + "\n" + +-#: ncrypt/pgp.c:1073 ncrypt/pgp.c:1098 ncrypt/smime.c:2143 postpone.c:757 +-#: postpone.c:785 ++#: ncrypt/pgp.c:1072 ncrypt/pgp.c:1097 ncrypt/smime.c:2177 postpone.c:803 ++#: postpone.c:831 + msgid "Decryption failed" + msgstr "Dekrüptimine ebaõnnestus" + +-#: ncrypt/pgp.c:1333 ++#: ncrypt/pgp.c:1334 + msgid "Can't open PGP subprocess" + msgstr "PGP protsessi loomine ebaõnnestus" + +-#: ncrypt/pgp.c:1768 ++#: ncrypt/pgp.c:1770 + msgid "Can't invoke PGP" + msgstr "PGP käivitamine ei õnnestu" + + #. L10N: The next string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1875 ++#: ncrypt/pgp.c:1877 + msgid "PGP/M(i)ME" + msgstr "" + + #. L10N: The previous string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1881 ++#: ncrypt/pgp.c:1883 + msgid "(i)nline" + msgstr "" + + #. L10N: PGP options (inline) (opportunistic encryption is on) +-#: ncrypt/pgp.c:1893 ++#: ncrypt/pgp.c:1895 + #, fuzzy, c-format + msgid "PGP (s)ign, sign (a)s, %s format, (c)lear, or (o)ppenc mode off?" + msgstr "PGP (k)rüpti, (a)llkiri, allk. ku(i), (m)õlemad, k(e)hasse, või (u)nusta?" + + #. L10N: PGP options (inline) (opportunistic encryption is on) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1899 ++#: ncrypt/pgp.c:1901 + msgid "saico" + msgstr "kaimeu" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1905 ++#: ncrypt/pgp.c:1907 + #, fuzzy + msgid "PGP (s)ign, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "PGP (k)rüpti, (a)llkiri, allk. ku(i), (m)õlemad, k(e)hasse, või (u)nusta?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1907 ++#: ncrypt/pgp.c:1909 + msgid "saco" + msgstr "kaimeu" + + #. L10N: PGP options (inline) (opportunistic encryption is off) +-#: ncrypt/pgp.c:1921 ++#: ncrypt/pgp.c:1923 + #, fuzzy, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, (c)lear, or (o)ppenc mode?" + msgstr "PGP (k)rüpti, (a)llkiri, allk. ku(i), (m)õlemad, k(e)hasse, või (u)nusta?" + + #. L10N: PGP options (inline) (opportunistic encryption is off) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1927 ++#: ncrypt/pgp.c:1929 + msgid "esabico" + msgstr "kaimeu" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1933 ++#: ncrypt/pgp.c:1935 + #, fuzzy + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "PGP (k)rüpti, (a)llkiri, allk. ku(i), (m)õlemad, k(e)hasse, või (u)nusta?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1936 ++#: ncrypt/pgp.c:1938 + msgid "esabco" + msgstr "kaimeu" + + #. L10N: PGP options (inline) +-#: ncrypt/pgp.c:1947 ++#: ncrypt/pgp.c:1949 + #, fuzzy, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, or (c)lear?" + msgstr "PGP (k)rüpti, (a)llkiri, allk. ku(i), (m)õlemad, k(e)hasse, või (u)nusta?" + + #. L10N: PGP options (inline) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1953 ++#: ncrypt/pgp.c:1955 + msgid "esabic" + msgstr "kaimeu" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1959 ++#: ncrypt/pgp.c:1961 + #, fuzzy + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (c)lear?" + msgstr "PGP (k)rüpti, (a)llkiri, allk. ku(i), (m)õlemad, k(e)hasse, või (u)nusta?" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1961 ++#: ncrypt/pgp.c:1963 + msgid "esabc" + msgstr "kaimeu" + +-#: ncrypt/pgpinvoke.c:458 ++#: ncrypt/pgpinvoke.c:461 + msgid "Fetching PGP key..." + msgstr "Laen PGP võtit..." + +-#: ncrypt/pgpkey.c:640 ++#: ncrypt/pgpkey.c:643 + #, fuzzy + msgid "All matching keys are expired, revoked, or disabled" + msgstr "Kõik sobivad võtmed on märgitud aegunuks/tühistatuks" + +-#: ncrypt/pgpkey.c:681 ++#: ncrypt/pgpkey.c:714 + #, c-format + msgid "PGP keys matching <%s>" + msgstr "PGP võtmed, mis sisaldavad <%s>" + +-#: ncrypt/pgpkey.c:683 ++#: ncrypt/pgpkey.c:716 + #, c-format + msgid "PGP keys matching \"%s\"" + msgstr "PGP võtmed, mis sisaldavad \"%s\"" + +-#: ncrypt/pgpkey.c:700 ncrypt/pgpkey.c:909 ++#: ncrypt/pgpkey.c:733 ncrypt/pgpkey.c:944 + msgid "Can't open /dev/null" + msgstr "/dev/null ei saa avada" + +-#: ncrypt/pgpkey.c:938 ++#: ncrypt/pgpkey.c:973 + #, c-format + msgid "PGP Key %s" + msgstr "PGP Võti %s" + +-#: ncrypt/smime.c:182 ++#: ncrypt/smime.c:180 + msgid "Enter S/MIME passphrase:" + msgstr "Sisestage S/MIME parool:" + +@@ -4722,7 +4802,7 @@ msgstr "Sisestage S/MIME parool:" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:460 ++#: ncrypt/smime.c:462 + msgid "Expired " + msgstr "Aegunud " + +@@ -4731,7 +4811,7 @@ msgstr "Aegunud " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:468 ++#: ncrypt/smime.c:470 + msgid "Invalid " + msgstr "Vigane " + +@@ -4740,7 +4820,7 @@ msgstr "Vigane " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:476 ++#: ncrypt/smime.c:478 + msgid "Revoked " + msgstr "Tühistatud " + +@@ -4749,7 +4829,7 @@ msgstr "Tühistatud " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:484 ++#: ncrypt/smime.c:486 + msgid "Trusted " + msgstr "Usaldatud " + +@@ -4758,7 +4838,7 @@ msgstr "Usaldatud " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:492 ++#: ncrypt/smime.c:494 + msgid "Unverified" + msgstr "Kontrollimata" + +@@ -4767,7 +4847,7 @@ msgstr "Kontrollimata" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:500 ++#: ncrypt/smime.c:502 + msgid "Verified " + msgstr "Kontrollitud " + +@@ -4776,60 +4856,60 @@ msgstr "Kontrollitud " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:508 ++#: ncrypt/smime.c:510 + msgid "Unknown " + msgstr "Tundmatu " + +-#: ncrypt/smime.c:545 ++#: ncrypt/smime.c:547 + #, c-format + msgid "S/MIME certificates matching \"%s\"" + msgstr "S/MIME sertifikaadid, mis sisaldavad \"%s\"" + +-#: ncrypt/smime.c:589 ++#: ncrypt/smime.c:621 + #, fuzzy + msgid "ID is not trusted. Do you really want to use the key?" + msgstr "ID ei ole kehtiv. Kas te soovite seda võtit tõesti kasutada?" + +-#: ncrypt/smime.c:910 ++#: ncrypt/smime.c:944 + msgid "Enter keyID: " + msgstr "Sisestage võtme ID: " + +-#: ncrypt/smime.c:1055 ++#: ncrypt/smime.c:1089 + #, c-format + msgid "No (valid) certificate found for %s" + msgstr "%s jaoks puudub kehtiv sertifikaat" + +-#: ncrypt/smime.c:1108 ncrypt/smime.c:1137 ncrypt/smime.c:1209 +-#: ncrypt/smime.c:1243 ncrypt/smime.c:1319 ncrypt/smime.c:1399 ++#: ncrypt/smime.c:1142 ncrypt/smime.c:1171 ncrypt/smime.c:1243 ++#: ncrypt/smime.c:1277 ncrypt/smime.c:1353 ncrypt/smime.c:1433 + msgid "Error: unable to create OpenSSL subprocess" + msgstr "Viga: ei õnnestu luua OpenSSL alamprotsessi" + +-#: ncrypt/smime.c:1379 ++#: ncrypt/smime.c:1413 + #, fuzzy + msgid "Label for certificate: " + msgstr "Ei õnnestu saada partneri sertifikaati" + +-#: ncrypt/smime.c:1480 ++#: ncrypt/smime.c:1514 + msgid "no certfile" + msgstr "sertifikaadi faili pole" + +-#: ncrypt/smime.c:1483 ++#: ncrypt/smime.c:1517 + msgid "no mbox" + msgstr "pole postkast" + +-#: ncrypt/smime.c:1640 ncrypt/smime.c:1810 ++#: ncrypt/smime.c:1674 ncrypt/smime.c:1844 + msgid "No output from OpenSSL..." + msgstr "OpenSSL väljundit pole..." + +-#: ncrypt/smime.c:1727 ++#: ncrypt/smime.c:1761 + msgid "Can't sign: No key specified. Use Sign As." + msgstr "" + +-#: ncrypt/smime.c:1777 ++#: ncrypt/smime.c:1811 + msgid "Can't open OpenSSL subprocess" + msgstr "OpenSSL protsessi avamine ebaõnnestus" + +-#: ncrypt/smime.c:2004 ncrypt/smime.c:2123 ++#: ncrypt/smime.c:2038 ncrypt/smime.c:2157 + msgid "" + "[-- End of OpenSSL output --]\n" + "\n" +@@ -4837,19 +4917,19 @@ msgstr "" + "[-- OpenSSL väljundi lõpp --]\n" + "\n" + +-#: ncrypt/smime.c:2080 ncrypt/smime.c:2093 ++#: ncrypt/smime.c:2114 ncrypt/smime.c:2127 + msgid "[-- Error: unable to create OpenSSL subprocess --]\n" + msgstr "[-- Viga: ei õnnestu luua OpenSSL alamprotsessi --]\n" + +-#: ncrypt/smime.c:2129 ++#: ncrypt/smime.c:2163 + msgid "[-- The following data is S/MIME encrypted --]\n" + msgstr "[-- Järgneb S/MIME krüptitud info --]\n" + +-#: ncrypt/smime.c:2132 ++#: ncrypt/smime.c:2166 + msgid "[-- The following data is S/MIME signed --]\n" + msgstr "[-- Järgneb S/MIME allkirjastatud info --]\n" + +-#: ncrypt/smime.c:2225 ++#: ncrypt/smime.c:2259 + msgid "" + "\n" + "[-- End of S/MIME encrypted data. --]\n" +@@ -4857,7 +4937,7 @@ msgstr "" + "\n" + "[-- S/MIME krüptitud info lõpp --]\n" + +-#: ncrypt/smime.c:2227 ++#: ncrypt/smime.c:2261 + msgid "" + "\n" + "[-- End of S/MIME signed data. --]\n" +@@ -4866,168 +4946,168 @@ msgstr "" + "[-- S/MIME Allkirjastatud info lõpp --]\n" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2361 ++#: ncrypt/smime.c:2395 + #, fuzzy + msgid "S/MIME (s)ign, encrypt (w)ith, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME (k)rüpti, (a)llkiri, allk. ku(i), (m)õlemad või (u)nusta?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2364 ++#: ncrypt/smime.c:2398 + msgid "swaco" + msgstr "kaimu" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2372 ++#: ncrypt/smime.c:2406 + #, fuzzy + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME (k)rüpti, (a)llkiri, allk. ku(i), (m)õlemad või (u)nusta?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2375 ++#: ncrypt/smime.c:2409 + msgid "eswabco" + msgstr "kaimu" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2382 ++#: ncrypt/smime.c:2416 + #, fuzzy + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, or (c)lear?" + msgstr "S/MIME (k)rüpti, (a)llkiri, allk. ku(i), (m)õlemad või (u)nusta?" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2385 ++#: ncrypt/smime.c:2419 + msgid "eswabc" + msgstr "kaimu" + +-#: ncrypt/smime.c:2449 ++#: ncrypt/smime.c:2483 + msgid "Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear?" + msgstr "" + + #. L10N: Options for: Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear? +-#: ncrypt/smime.c:2452 ++#: ncrypt/smime.c:2486 + msgid "123c" + msgstr "" + +-#: ncrypt/smime.c:2455 ++#: ncrypt/smime.c:2489 + msgid "(1) DES, (2) Triple-DES?" + msgstr "" + + #. L10N: Options for: (1) DES, (2) Triple-DES +-#: ncrypt/smime.c:2457 ++#: ncrypt/smime.c:2491 + msgid "12" + msgstr "" + +-#: ncrypt/smime.c:2470 ++#: ncrypt/smime.c:2504 + msgid "(1) RC2-40, (2) RC2-64, (3) RC2-128?" + msgstr "" + + #. L10N: Options for: (1) RC2-40, (2) RC2-64, (3) RC2-128 + #. L10N: Options for: (1) AES128, (2) AES192, (3) AES256 +-#: ncrypt/smime.c:2472 ncrypt/smime.c:2490 ++#: ncrypt/smime.c:2506 ncrypt/smime.c:2524 + msgid "123" + msgstr "" + +-#: ncrypt/smime.c:2488 ++#: ncrypt/smime.c:2522 + msgid "(1) AES128, (2) AES192, (3) AES256?" + msgstr "" + +-#: nntp/newsrc.c:632 ++#: nntp/newsrc.c:639 + msgid "Loading list of groups from cache..." + msgstr "" + +-#: nntp/newsrc.c:997 ++#: nntp/newsrc.c:1023 + msgid "No news server defined" + msgstr "" + +-#: nntp/newsrc.c:1012 ++#: nntp/newsrc.c:1041 + #, fuzzy, c-format + msgid "%s is an invalid news server specification" + msgstr "%s on vigane POP tee" + +-#: nntp/nntp.c:236 nntp/nntp.c:777 pop/pop.c:742 pop/pop_lib.c:398 ++#: nntp/nntp.c:238 nntp/nntp.c:779 pop/pop.c:742 pop/pop_lib.c:424 + msgid "Server closed connection" + msgstr "Server sulges ühenduse" + +-#: nntp/nntp.c:340 ++#: nntp/nntp.c:342 + msgid "Server doesn't support reader mode" + msgstr "" + +-#: nntp/nntp.c:576 pop/pop_auth.c:504 smtp.c:650 ++#: nntp/nntp.c:578 pop/pop_auth.c:505 smtp.c:675 + msgid "No authenticators available" + msgstr "Autentikaatoreid pole" + +-#: nntp/nntp.c:766 ++#: nntp/nntp.c:768 + #, fuzzy, c-format + msgid "%s authentication failed" + msgstr "SASL autentimine ebaõnnestus" + +-#: nntp/nntp.c:826 ++#: nntp/nntp.c:828 + #, fuzzy, c-format + msgid "Connection to %s lost. Reconnect?" + msgstr "Ühendus serveriga %s suleti" + +-#: nntp/nntp.c:1285 ++#: nntp/nntp.c:1287 + #, fuzzy + msgid "Fetching list of articles..." + msgstr "Laen teadete nimekirja..." + +-#: nntp/nntp.c:1549 nntp/nntp.c:2138 pop/pop.c:614 pop/pop.c:910 ++#: nntp/nntp.c:1551 nntp/nntp.c:2140 pop/pop.c:614 pop/pop.c:905 + msgid "Checking for new messages..." + msgstr "Kontrollin, kas on uusi teateid..." + +-#: nntp/nntp.c:1864 nntp/nntp.c:1954 ++#: nntp/nntp.c:1866 nntp/nntp.c:1956 + #, fuzzy + msgid "Could not switch to reader mode" + msgstr "ei õnnestu kirjutada ajutisse kausta: %s" + +-#: nntp/nntp.c:1877 ++#: nntp/nntp.c:1879 + #, fuzzy, c-format + msgid "Connected to %s. %s" + msgstr "Ühendus serverisse %s..." + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + #, fuzzy + msgid "Posting is ok" + msgstr "Ühendus serverisse %s.." + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + msgid "Posting is NOT ok" + msgstr "" + +-#: nntp/nntp.c:2008 nntp/nntp.c:2043 ++#: nntp/nntp.c:2010 nntp/nntp.c:2045 + #, fuzzy, c-format + msgid "Can't post article: %s" + msgstr "Ei saa lugeda %s atribuute: %s" + +-#: nntp/nntp.c:2064 ++#: nntp/nntp.c:2066 + #, fuzzy, c-format + msgid "Loading list of groups from server %s..." + msgstr "Kustutan serveril teateid..." + +-#: nntp/nntp.c:2106 nntp/nntp.c:2198 ++#: nntp/nntp.c:2108 nntp/nntp.c:2200 + #, fuzzy + msgid "Loading descriptions..." + msgstr "Meldin..." + +-#: nntp/nntp.c:2128 ++#: nntp/nntp.c:2130 + #, fuzzy + msgid "Checking for new newsgroups..." + msgstr "Kontrollin, kas on uusi teateid..." + +-#: nntp/nntp.c:2332 ++#: nntp/nntp.c:2334 + msgid "Unable to find child articles because server does not support XPAT command" + msgstr "" + +-#: nntp/nntp.c:2437 ++#: nntp/nntp.c:2439 + #, fuzzy, c-format + msgid "%s is an invalid newsgroup specification" + msgstr "%s on vigane POP tee" + +-#: nntp/nntp.c:2476 ++#: nntp/nntp.c:2478 + #, c-format + msgid "Newsgroup %s not found on the server" + msgstr "" + +-#: nntp/nntp.c:2498 ++#: nntp/nntp.c:2500 + #, c-format + msgid "Newsgroup %s has been removed from the server" + msgstr "" +@@ -5039,7 +5119,7 @@ msgstr "" + + #: notmuch/mutt_notmuch.c:219 notmuch/mutt_notmuch.c:1939 + #, c-format +-msgid "failed to parse notmuch uri: %s" ++msgid "failed to parse notmuch url: %s" + msgstr "" + + #: notmuch/mutt_notmuch.c:449 +@@ -6193,189 +6273,189 @@ msgstr "" + msgid "show S/MIME options" + msgstr "näita S/MIME võtmeid" + +-#: pager.c:222 ++#: pager.c:214 + msgid "Not available in this menu" + msgstr "Ei ole selles menüüs kasutatav" + +-#: pager.c:229 ++#: pager.c:221 + msgid "PrevPg" + msgstr "EelmLk" + +-#: pager.c:230 ++#: pager.c:222 + msgid "NextPg" + msgstr "JärgmLm" + +-#: pager.c:235 ++#: pager.c:227 + msgid "View Attachm." + msgstr "Vaata lisa" + +-#: pager.c:238 pager.c:247 ++#: pager.c:230 pager.c:239 + msgid "Next" + msgstr "Järgm." + + #. L10N: Status bar message: the entire email is visible in the pager + #. L10N: Status bar message: all the emails are visible in the index +-#: pager.c:2180 status.c:278 ++#: pager.c:2136 status.c:278 + msgid "all" + msgstr "" + + #. L10N: Status bar message: the end of the email is visible in the pager + #. L10N: Status bar message: the end of the list emails is visible in the index +-#: pager.c:2182 status.c:276 ++#: pager.c:2138 status.c:276 + msgid "end" + msgstr "" + +-#: pager.c:2530 pager.c:2566 pager.c:2602 pager.c:2937 ++#: pager.c:2503 pager.c:2539 pager.c:2576 pager.c:2911 + msgid "Bottom of message is shown" + msgstr "Teate lõpp on näidatud" + +-#: pager.c:2543 pager.c:2573 pager.c:2580 pager.c:2590 ++#: pager.c:2516 pager.c:2546 pager.c:2553 pager.c:2564 + msgid "Top of message is shown" + msgstr "Teate algus on näidatud" + +-#: pager.c:2840 ++#: pager.c:2814 + msgid "Help is currently being shown" + msgstr "Te loete praegu abiinfot" + +-#: pager.c:2897 ++#: pager.c:2871 + msgid "No more quoted text" + msgstr "Rohkem tsiteetitud teksti pole" + +-#: pager.c:2914 ++#: pager.c:2888 + msgid "No more unquoted text after quoted text" + msgstr "Tsiteeritud teksiti järel rohkem teksti ei ole" + +-#: pattern.c:220 pattern.c:297 pattern.c:1046 ++#: pattern.c:221 pattern.c:298 pattern.c:1085 + #, c-format + msgid "Error in expression: %s" + msgstr "Viga avaldises: %s" + +-#: pattern.c:226 pattern.c:302 pattern.c:1052 ++#: pattern.c:227 pattern.c:303 pattern.c:1091 + #, fuzzy + msgid "Empty expression" + msgstr "viga avaldises" + +-#: pattern.c:288 ++#: pattern.c:289 + #, fuzzy + msgid "No search command defined" + msgstr "Päringukäsku ei ole defineeritud" + +-#: pattern.c:326 ++#: pattern.c:327 + #, fuzzy, c-format + msgid "Running search command: %s ..." + msgstr "Käivitan autovaate käskluse: %s" + +-#: pattern.c:417 ++#: pattern.c:441 pattern.c:456 + #, c-format + msgid "Invalid day of month: %s" + msgstr "Vigane kuupäev: %s" + +-#: pattern.c:431 ++#: pattern.c:446 pattern.c:470 + #, c-format + msgid "Invalid month: %s" + msgstr "Vigane kuu: %s" + +-#: pattern.c:534 ++#: pattern.c:573 + #, c-format + msgid "Invalid relative date: %s" + msgstr "Vigane suhteline kuupäev: %s" + +-#: pattern.c:842 pattern.c:975 ++#: pattern.c:881 pattern.c:1014 + #, fuzzy + msgid "No current message" + msgstr "Lugemata teateid pole" + +-#: pattern.c:1002 ++#: pattern.c:1041 + msgid "No Context" + msgstr "" + +-#: pattern.c:1125 ++#: pattern.c:1164 + #, fuzzy + msgid "Error opening 'memory stream'" + msgstr "Viga postkasti avamisel!" + +-#: pattern.c:1171 ++#: pattern.c:1210 + #, fuzzy + msgid "Error re-opening 'memory stream'" + msgstr "Viga postkasti avamisel!" + +-#: pattern.c:1180 ++#: pattern.c:1219 + #, fuzzy + msgid "Error opening /dev/null" + msgstr "/dev/null ei saa avada" + +-#: pattern.c:1443 pattern.c:1620 ++#: pattern.c:1482 pattern.c:1662 + #, c-format + msgid "error in pattern at: %s" + msgstr "viga mustris: %s" + +-#: pattern.c:1476 ++#: pattern.c:1515 + #, fuzzy, c-format + msgid "missing pattern: %s" + msgstr "parameeter puudub" + +-#: pattern.c:1494 pattern.c:1593 ++#: pattern.c:1533 pattern.c:1635 + #, c-format + msgid "mismatched parentheses: %s" + msgstr "sulud ei klapi: %s" + +-#: pattern.c:1559 ++#: pattern.c:1598 + #, fuzzy, c-format + msgid "%c: invalid pattern modifier" + msgstr "%c: vigane käsklus" + +-#: pattern.c:1564 ++#: pattern.c:1603 + #, c-format + msgid "%c: not supported in this mode" + msgstr "%c: ei toetata selles moodis" + +-#: pattern.c:1576 ++#: pattern.c:1618 + msgid "missing parameter" + msgstr "parameeter puudub" + +-#: pattern.c:1626 ++#: pattern.c:1668 + msgid "empty pattern" + msgstr "tühi muster" + +-#: pattern.c:2080 pattern.c:2083 ++#: pattern.c:2202 pattern.c:2205 + msgid "error: server custom search only supported with IMAP" + msgstr "" + +-#: pattern.c:2274 ++#: pattern.c:2398 + #, c-format + msgid "error: unknown op %d (report this error)" + msgstr "viga: tundmatu op %d (teatage sellest veast)" + +-#: pattern.c:2448 pattern.c:2604 ++#: pattern.c:2572 pattern.c:2728 + msgid "Compiling search pattern..." + msgstr "Kompileerin otsingumustrit..." + +-#: pattern.c:2468 ++#: pattern.c:2592 + msgid "Executing command on matching messages..." + msgstr "Käivitan leitud teadetel käsu..." + +-#: pattern.c:2537 ++#: pattern.c:2661 + msgid "No messages matched criteria" + msgstr "Ühtegi mustrile vastavat teadet ei leitud" + +-#: pattern.c:2641 ++#: pattern.c:2765 + #, fuzzy + msgid "Searching..." + msgstr "Salvestan..." + +-#: pattern.c:2655 ++#: pattern.c:2779 + msgid "Search hit bottom without finding match" + msgstr "Otsing jõudis midagi leidmata lõppu" + +-#: pattern.c:2666 ++#: pattern.c:2790 + msgid "Search hit top without finding match" + msgstr "Otsing jõudis midagi leidmata algusse" + +-#: pattern.c:2700 ++#: pattern.c:2824 + msgid "Search interrupted" + msgstr "Otsing katkestati" + +-#: pop/pop.c:216 pop/pop_lib.c:234 ++#: pop/pop.c:216 pop/pop_lib.c:259 + msgid "Command TOP is not supported by server" + msgstr "Server ei toeta käsklust TOP" + +@@ -6383,7 +6463,7 @@ msgstr "Server ei toeta käsklust TOP" + msgid "Can't write header to temporary file" + msgstr "Päist ei õnnestu ajutissse faili kirjutada" + +-#: pop/pop.c:420 pop/pop_lib.c:236 ++#: pop/pop.c:420 pop/pop_lib.c:261 + msgid "Command UIDL is not supported by server" + msgstr "Server ei toeta UIDL käsklust" + +@@ -6398,7 +6478,7 @@ msgstr[1] "Teadete indeks on vigane. Proovige postkasti uuesti avada." + msgid "POP host is not defined" + msgstr "POP serverit ei ole määratud" + +-#: pop/pop.c:596 pop/pop.c:825 ++#: pop/pop.c:596 pop/pop.c:790 pop/pop.c:820 + #, c-format + msgid "%s is an invalid POP path" + msgstr "%s on vigane POP tee" +@@ -6431,156 +6511,156 @@ msgid_plural "%s [%d of %d messages read]" + msgstr[0] "%s [%d/%d teadet loetud]" + msgstr[1] "%s [%d/%d teadet loetud]" + +-#: pop/pop.c:876 ++#: pop/pop.c:871 + msgid "Fetching list of messages..." + msgstr "Laen teadete nimekirja..." + +-#: pop/pop.c:959 ++#: pop/pop.c:954 + #, fuzzy + msgid "Marking messages deleted..." + msgstr "märgin %d teadet kustutatuks..." + +-#: pop/pop.c:1150 ++#: pop/pop.c:1145 + msgid "Can't write message to temporary file" + msgstr "Teadet ei õnnestu ajutisse faili kirjutada" + +-#: pop/pop_auth.c:103 ++#: pop/pop_auth.c:104 + msgid "Authenticating (SASL)..." + msgstr "Autentimine (SASL)..." + +-#: pop/pop_auth.c:245 ++#: pop/pop_auth.c:246 + msgid "POP timestamp is invalid" + msgstr "" + +-#: pop/pop_auth.c:249 ++#: pop/pop_auth.c:250 + msgid "Authenticating (APOP)..." + msgstr "Autentimine (APOP)..." + +-#: pop/pop_auth.c:269 ++#: pop/pop_auth.c:270 + msgid "APOP authentication failed" + msgstr "APOP autentimine ebaõnnestus" + +-#: pop/pop_auth.c:309 ++#: pop/pop_auth.c:310 + msgid "Command USER is not supported by server" + msgstr "Server ei toeta käsklust USER" + +-#: pop/pop_auth.c:386 ++#: pop/pop_auth.c:387 + #, fuzzy + msgid "Authentication failed" + msgstr "SASL autentimine ebaõnnestus" + +-#: pop/pop_lib.c:78 ++#: pop/pop_lib.c:103 + #, fuzzy, c-format + msgid "Invalid POP URL: %s" + msgstr "Vigane " + +-#: pop/pop_lib.c:232 ++#: pop/pop_lib.c:257 + msgid "Unable to leave messages on server" + msgstr "Teateid ei õnnestu sererile jätta" + +-#: pop/pop_lib.c:274 ++#: pop/pop_lib.c:300 + #, c-format + msgid "Error connecting to server: %s" + msgstr "Viga serveriga ühenduse loomisel: %s" + +-#: pop/pop_lib.c:414 ++#: pop/pop_lib.c:440 + msgid "Closing connection to POP server..." + msgstr "Sulen ühenduse POP serveriga..." + +-#: pop/pop_lib.c:605 ++#: pop/pop_lib.c:631 + msgid "Verifying message indexes..." + msgstr "Kontrollin teadete indekseid ..." + +-#: pop/pop_lib.c:628 ++#: pop/pop_lib.c:654 + msgid "Connection lost. Reconnect to POP server?" + msgstr "Ühendus katkes. Taastan ühenduse POP serveriga?" + +-#: postpone.c:229 ++#: postpone.c:260 + msgid "Postponed Messages" + msgstr "Postitusootel teated" + +-#: postpone.c:314 postpone.c:326 ++#: postpone.c:348 postpone.c:372 + msgid "No postponed messages" + msgstr "Postitusootel teateid pole" + +-#: postpone.c:480 ++#: postpone.c:526 + msgid "Illegal S/MIME header" + msgstr "Vigane S/MIME päis" + +-#: postpone.c:510 postpone.c:551 postpone.c:560 ++#: postpone.c:556 postpone.c:597 postpone.c:606 + #, fuzzy + msgid "Illegal crypto header" + msgstr "Vigane PGP päis" + +-#: postpone.c:644 postpone.c:752 postpone.c:780 ++#: postpone.c:690 postpone.c:798 postpone.c:826 + #, fuzzy + msgid "Decrypting message..." + msgstr "Laen teadet..." + +-#: query.c:82 ++#: query.c:80 + msgid "New Query" + msgstr "Uus päring" + +-#: query.c:83 ++#: query.c:81 + msgid "Make Alias" + msgstr "Loo alias" + +-#: query.c:180 ++#: query.c:178 + msgid "Waiting for response..." + msgstr "Ootan vastust..." + +-#: query.c:362 query.c:400 ++#: query.c:365 query.c:434 + msgid "Query: " + msgstr "Päring: " + +-#: query.c:370 query.c:407 ++#: query.c:374 query.c:442 + #, c-format + msgid "Query '%s'" + msgstr "Päring '%s'" + +-#: query.c:620 query.c:657 ++#: query.c:661 query.c:698 + msgid "Query command not defined" + msgstr "Päringukäsku ei ole defineeritud" + +-#: recvattach.c:93 ++#: recvattach.c:91 + msgid "Pipe" + msgstr "Toru" + +-#: recvattach.c:94 ++#: recvattach.c:92 + msgid "Print" + msgstr "Trüki" + +-#: recvattach.c:569 ++#: recvattach.c:571 + msgid "Saving..." + msgstr "Salvestan..." + +-#: recvattach.c:573 recvattach.c:744 recvattach.c:748 ++#: recvattach.c:575 recvattach.c:746 recvattach.c:750 + #, fuzzy, c-format + msgid "Attachment saved" + msgid_plural "%d attachments saved" + msgstr[0] "Lisa on salvestatud" + msgstr[1] "Lisa on salvestatud" + +-#: recvattach.c:772 ++#: recvattach.c:774 + #, c-format + msgid "WARNING! You are about to overwrite %s, continue?" + msgstr "HOIATUS: Te olete üle kirjutamas faili %s, jätkan?" + +-#: recvattach.c:790 ++#: recvattach.c:792 + msgid "Attachment filtered" + msgstr "Lisa on filtreeritud" + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Filter through: " + msgstr "Filtreeri läbi: " + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Pipe to: " + msgstr "Toru käsule: " + + #. L10N: s gets replaced by a MIME type, e.g. "text/plain" or + #. application/octet-stream. +-#: recvattach.c:935 ++#: recvattach.c:937 + #, fuzzy, c-format + msgid "I don't know how to print %s attachments" + msgstr "Ma ei tea, kuidas trükkida %s lisasid" +@@ -6588,57 +6668,57 @@ msgstr "Ma ei tea, kuidas trükkida %s lisasid" + #. L10N: Although we now the precise number of tagged messages, we + #. do not show it to the user. So feel free to use a "generic + #. plural" as plural translation if your language has one. +-#: recvattach.c:1038 ++#: recvattach.c:1040 + #, fuzzy, c-format + msgid "Print tagged attachment?" + msgid_plural "Print %d tagged attachments?" + msgstr[0] "Trükin märgitud lisa(d)?" + msgstr[1] "Trükin märgitud lisa(d)?" + +-#: recvattach.c:1039 ++#: recvattach.c:1041 + #, c-format + msgid "Print attachment?" + msgstr "Trükin lisa?" + +-#: recvattach.c:1123 ++#: recvattach.c:1125 + msgid "Structural changes to decrypted attachments are not supported" + msgstr "" + +-#: recvattach.c:1291 ++#: recvattach.c:1293 + msgid "Can't decrypt encrypted message" + msgstr "Krüpteeritud teadet ei õnnestu lahti krüpteerida" + +-#: recvattach.c:1425 ++#: recvattach.c:1457 + msgid "Attachments" + msgstr "Lisad" + +-#: recvattach.c:1465 ++#: recvattach.c:1497 + msgid "There are no subparts to show" + msgstr "Osasid, mida näidata, ei ole" + +-#: recvattach.c:1520 ++#: recvattach.c:1552 + msgid "Can't delete attachment from POP server" + msgstr "Lisasid ei saa POP serverilt kustutada" + +-#: recvattach.c:1529 ++#: recvattach.c:1561 + #, fuzzy + msgid "Can't delete attachment from news server" + msgstr "Lisasid ei saa POP serverilt kustutada" + +-#: recvattach.c:1536 ++#: recvattach.c:1568 + msgid "Deletion of attachments from encrypted messages is unsupported" + msgstr "Krüpteeritud teadetest ei saa lisasid eemaldada" + +-#: recvattach.c:1542 ++#: recvattach.c:1574 + #, fuzzy + msgid "Deletion of attachments from signed messages may invalidate the signature" + msgstr "Krüpteeritud teadetest ei saa lisasid eemaldada" + +-#: recvattach.c:1561 recvattach.c:1578 ++#: recvattach.c:1593 recvattach.c:1610 + msgid "Only deletion of multipart attachments is supported" + msgstr "Kustutada saab ainult mitmeosalise teate lisasid" + +-#: recvcmd.c:79 ++#: recvcmd.c:78 + msgid "You may only bounce message/rfc822 parts" + msgstr "Peegeldada saab ainult message/rfc822 osi" + +@@ -6675,7 +6755,7 @@ msgstr "%s loomine ebaõnnestus" + msgid "Can't find any tagged messages" + msgstr "Ei leia ühtegi märgitud teadet" + +-#: recvcmd.c:848 send.c:1073 ++#: recvcmd.c:848 send.c:1072 + msgid "No mailing lists found" + msgstr "Postiloendeid pole" + +@@ -6690,67 +6770,67 @@ msgstr "Kõiki märgitud lisasid ei saa dekodeerida. Kapseldan ülejäänud MIME + msgid "You may only compose to sender with message/rfc822 parts" + msgstr "Peegeldada saab ainult message/rfc822 osi" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Append" + msgstr "Lõppu" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Insert" + msgstr "Lisa" + +-#: remailer.c:78 ++#: remailer.c:76 + msgid "OK" + msgstr "OK" + +-#: remailer.c:210 ++#: remailer.c:207 + msgid "" + msgstr "" + +-#: remailer.c:586 ++#: remailer.c:617 + msgid "Can't get mixmaster's type2.list" + msgstr "Mixmaster type2.list laadimine ei õnnestu" + +-#: remailer.c:612 ++#: remailer.c:673 + msgid "Select a remailer chain" + msgstr "Valige vahendajate ahel" + +-#: remailer.c:674 ++#: remailer.c:735 + #, c-format + msgid "Error: %s can't be used as the final remailer of a chain" + msgstr "Viga: %s ei saa ahela viimase vahendajana kasutada" + + #. L10N The '%d' here hard-coded to 19 +-#: remailer.c:706 ++#: remailer.c:767 + #, c-format + msgid "Mixmaster chains are limited to %d elements" + msgstr "Mixmaster ahelad on piiratud %d lüliga" + +-#: remailer.c:729 ++#: remailer.c:790 + msgid "The remailer chain is already empty" + msgstr "Vahendajate ahel on juba tühi" + +-#: remailer.c:739 ++#: remailer.c:800 + msgid "You already have the first chain element selected" + msgstr "Te olete ahela esimese lüli juba valinud" + +-#: remailer.c:749 ++#: remailer.c:810 + msgid "You already have the last chain element selected" + msgstr "Te olete ahela viimase lüli juba valinud" + +-#: remailer.c:792 ++#: remailer.c:856 + msgid "Mixmaster doesn't accept Cc or Bcc headers" + msgstr "Mixmaster ei toeta Cc või Bcc päiseid" + +-#: remailer.c:817 ++#: remailer.c:881 + msgid "Please set the hostname variable to a proper value when using mixmaster" + msgstr "Mixmaster kasutamisel omistage palun hostname muutujale korrektne väärtus" + +-#: remailer.c:860 ++#: remailer.c:924 + #, c-format + msgid "Error sending message, child exited %d.\n" + msgstr "Viga teate saatmisel, alamprotsess lõpetas koodiga %d.\n" + +-#: remailer.c:864 ++#: remailer.c:928 + msgid "Error sending message" + msgstr "Viga teate saatmisel" + +@@ -6781,42 +6861,42 @@ msgstr "Edasta lisadena?" + + #. L10N: Asks whether the user respects the reply-to header. + #. If she says no, neomutt will reply to the from header's address instead. +-#: send.c:793 ++#: send.c:792 + #, c-format + msgid "Reply to %s%s?" + msgstr "Vastan aadressile %s%s?" + +-#: send.c:838 ++#: send.c:837 + #, c-format + msgid "Follow-up to %s%s?" + msgstr "Vastus aadressile %s%s?" + +-#: send.c:1122 ++#: send.c:1121 + msgid "Include message in reply?" + msgstr "Kaasan vastuses teate?" + +-#: send.c:1128 ++#: send.c:1127 + msgid "Including quoted message..." + msgstr "Tsiteerin teadet..." + +-#: send.c:1137 ++#: send.c:1136 + msgid "Could not include all requested messages" + msgstr "Kõiki soovitud teateid ei õnnestu kaasata" + +-#: send.c:1148 ++#: send.c:1147 + msgid "Forward as attachment?" + msgstr "Edasta lisadena?" + +-#: send.c:1153 ++#: send.c:1152 + msgid "Preparing forwarded message..." + msgstr "Valmistan edastatavat teadet..." + +-#: send.c:1632 ++#: send.c:1631 + #, fuzzy + msgid "Fcc to an IMAP mailbox is not supported in batch mode" + msgstr "%c: ei toetata selles moodis" + +-#: send.c:1664 send.c:1690 ++#: send.c:1665 send.c:1675 send.c:1701 + #, fuzzy + msgid "Save attachments in Fcc?" + msgstr "vaata lisa tekstina" +@@ -6825,196 +6905,196 @@ msgstr "vaata lisa tekstina" + #. (r)etry tries the same mailbox again. + #. alternate (m)ailbox prompts for a different mailbox to try. + #. (s)kip aborts saving. +-#: send.c:1712 ++#: send.c:1723 + msgid "Fcc failed. (r)etry, alternate (m)ailbox, or (s)kip?" + msgstr "" + + #. L10N: These correspond to the "Fcc failed" multi-choice prompt + #. (r)etry, alternate (m)ailbox, or (s)kip. + #. Any similarity to famous leaders of the FSF is coincidental. +-#: send.c:1716 ++#: send.c:1727 + msgid "rms" + msgstr "" + + #. L10N: This is the prompt to enter an "alternate (m)ailbox" when the + #. initial Fcc fails. +-#: send.c:1722 ++#: send.c:1733 + #, fuzzy + msgid "Fcc mailbox" + msgstr "Postkasti pole.\n" + +-#: send.c:1788 ++#: send.c:1799 + msgid "Can't postpone. $postponed is unset" + msgstr "" + +-#: send.c:1923 ++#: send.c:1934 + msgid "Recall postponed message?" + msgstr "Laen postitusootel teate?" + +-#: send.c:2228 ++#: send.c:2239 + msgid "Edit forwarded message?" + msgstr "Toimetan edastatavat teadet?" + +-#: send.c:2266 ++#: send.c:2277 + msgid "Abort unmodified message?" + msgstr "Katkestan muutmata teate?" + +-#: send.c:2268 ++#: send.c:2279 + msgid "Aborted unmodified message" + msgstr "Katkestasin muutmata teate saatmise" + +-#: send.c:2388 ++#: send.c:2399 + msgid "No crypto backend configured. Disabling message security setting." + msgstr "" + +-#: send.c:2427 ++#: send.c:2438 + #, fuzzy + msgid "Article not posted" + msgstr "Kirja ei saadetud" + +-#: send.c:2437 ++#: send.c:2448 + msgid "Message postponed" + msgstr "Teade jäeti postitusootele" + +-#: send.c:2470 ++#: send.c:2481 + msgid "No subject, abort sending?" + msgstr "Teema puudub, katkestan saatmise?" + +-#: send.c:2474 send.c:2480 ++#: send.c:2485 send.c:2491 + msgid "No subject specified" + msgstr "Teema puudub" + +-#: send.c:2486 ++#: send.c:2497 + #, fuzzy + msgid "No newsgroup specified" + msgstr "Teema puudub" + +-#: send.c:2496 ++#: send.c:2507 + #, fuzzy + msgid "No attachments, cancel sending?" + msgstr "toimeta lisa kodeeringut" + +-#: send.c:2501 ++#: send.c:2512 + msgid "Message contains text matching \"$abort_noattach_regex\". Not sending." + msgstr "" + +-#: send.c:2559 smtp.c:227 ++#: send.c:2570 smtp.c:230 + msgid "Sending message..." + msgstr "Saadan teadet..." + +-#: send.c:2598 ++#: send.c:2609 + msgid "Could not send the message" + msgstr "Teadet ei õnnestu saata" + +-#: send.c:2608 ++#: send.c:2619 + msgid "Sending in background" + msgstr "Saadan taustal" + +-#: send.c:2609 ++#: send.c:2620 + msgid "Article posted" + msgstr "" + +-#: send.c:2610 ++#: send.c:2621 + msgid "Mail sent" + msgstr "Teade on saadetud" + +-#: sendlib.c:567 ++#: sendlib.c:566 + msgid "No boundary parameter found [report this error]" + msgstr "Eraldaja puudub [teatage sellest veast]" + +-#: sendlib.c:598 ++#: sendlib.c:597 + #, c-format + msgid "%s no longer exists" + msgstr "%s ei ole enam" + +-#: sendlib.c:1056 ++#: sendlib.c:1055 + #, c-format + msgid "%s isn't a regular file" + msgstr "%s ei ole tavaline fail" + +-#: sendlib.c:1223 ++#: sendlib.c:1222 + #, fuzzy + msgid "Could not find any mime.types file." + msgstr "Teadet ei õnnestu saata." + +-#: sendlib.c:1314 ++#: sendlib.c:1313 + #, c-format + msgid "Could not open %s" + msgstr "%s ei saa avada" + +-#: sendlib.c:2864 ++#: sendlib.c:2855 + msgid "$sendmail must be set in order to send mail" + msgstr "" + +-#: sendlib.c:2971 ++#: sendlib.c:2962 + #, c-format + msgid "Error sending message, child exited %d (%s)" + msgstr "Viga teate saatmisel, alamprotsess lõpetas %d (%s)" + +-#: sendlib.c:2977 ++#: sendlib.c:2969 + msgid "Output of the delivery process" + msgstr "Väljund saatmise protsessist" + +-#: sendlib.c:3157 ++#: sendlib.c:3154 + #, c-format + msgid "Bad IDN %s while preparing resent-from" + msgstr "" + +-#: smtp.c:165 ++#: smtp.c:168 + #, fuzzy, c-format + msgid "SMTP session failed: %s" + msgstr "SSL ebaõnnestus: %s" + +-#: smtp.c:222 ++#: smtp.c:225 + #, fuzzy, c-format + msgid "SMTP session failed: unable to open %s" + msgstr "SSL ebaõnnestus: %s" + +-#: smtp.c:339 ++#: smtp.c:364 + #, fuzzy, c-format + msgid "Invalid SMTP URL: %s" + msgstr "Vigane " + +-#: smtp.c:618 ++#: smtp.c:643 + #, c-format + msgid "SMTP authentication method %s requires SASL" + msgstr "" + +-#: smtp.c:625 ++#: smtp.c:650 + #, fuzzy, c-format + msgid "%s authentication failed, trying next method" + msgstr "SASL autentimine ebaõnnestus." + +-#: smtp.c:636 ++#: smtp.c:661 + #, fuzzy + msgid "SMTP authentication requires SASL" + msgstr "GSSAPI autentimine ebaõnnestus" + +-#: smtp.c:717 ++#: smtp.c:742 + msgid "SMTP server does not support authentication" + msgstr "" + +-#: smtp.c:756 ++#: smtp.c:781 + msgid "No from address given" + msgstr "" + +-#: smtp.c:821 ++#: smtp.c:846 + msgid "SMTP session failed: read error" + msgstr "" + +-#: smtp.c:823 ++#: smtp.c:848 + msgid "SMTP session failed: write error" + msgstr "" + +-#: smtp.c:825 ++#: smtp.c:850 + msgid "Invalid server response" + msgstr "" + +-#: sort.c:385 ++#: sort.c:387 + msgid "Sorting mailbox..." + msgstr "Järjestan teateid..." + +-#: sort.c:427 ++#: sort.c:429 + msgid "Could not find sorting function [report this bug]" + msgstr "Ei leia järjestamisfunktsiooni [teatage sellest veast]" + +@@ -7066,11 +7146,11 @@ msgstr "" + "NeoMutt on vaba tarkvara ja te võite seda teatud tingimustel levitada;\n" + "detailsemat infot saate käsuga 'neomutt -vv'.\n" + +-#: version.c:446 ++#: version.c:451 + #, fuzzy + msgid "Default options:" + msgstr "Kompileerimise võtmed:" + +-#: version.c:449 ++#: version.c:454 + msgid "Compile options:" + msgstr "Kompileerimise võtmed:" +diff --git a/po/eu.po b/po/eu.po +index e4a72abbd..b8d82d1ca 100644 +--- a/po/eu.po ++++ b/po/eu.po +@@ -10,7 +10,7 @@ msgid "" + msgstr "" + "Project-Id-Version: neomutt-2019-12-07\n" + "Report-Msgid-Bugs-To: neomutt-devel@neomutt.org\n" +-"POT-Creation-Date: 2019-12-06 23:10+0000\n" ++"POT-Creation-Date: 2020-03-09 12:15+0000\n" + "PO-Revision-Date: 2008-05-20 22:39+0200\n" + "Last-Translator: Piarres Beobide \n" + "Language-Team: Euskara \n" +@@ -20,16 +20,44 @@ msgstr "" + "Content-Transfer-Encoding: 8bit\n" + "Plural-Forms: nplurals=2; plural=(n != 1);\n" + +-#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:59 browser.c:80 browser.c:90 +-#: mutt_history.c:45 pager.c:228 postpone.c:68 query.c:80 recvattach.c:93 ++#, fuzzy ++msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" ++msgstr "(u)katu, behin (o)nartu, (b)etirko onartu" ++ ++#, fuzzy ++msgid "roas" ++msgstr "uob" ++ ++msgid "(r)eject, accept (o)nce, (a)ccept always" ++msgstr "(u)katu, behin (o)nartu, (b)etirko onartu" ++ ++msgid "roa" ++msgstr "uob" ++ ++#, fuzzy ++msgid "(r)eject, accept (o)nce, (s)kip" ++msgstr "(u)katu, behin (o)nartu" ++ ++#, fuzzy ++msgid "ros" ++msgstr "uo" ++ ++msgid "(r)eject, accept (o)nce" ++msgstr "(u)katu, behin (o)nartu" ++ ++msgid "ro" ++msgstr "uo" ++ ++#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:58 browser.c:79 browser.c:89 ++#: mutt_history.c:45 pager.c:220 postpone.c:68 query.c:78 recvattach.c:91 + msgid "Exit" + msgstr "Irten" + +-#: addrbook.c:56 index.c:116 index.c:129 pager.c:236 pager.c:246 postpone.c:69 ++#: addrbook.c:56 index.c:112 index.c:125 pager.c:228 pager.c:238 postpone.c:69 + msgid "Del" + msgstr "Ezab" + +-#: addrbook.c:57 index.c:117 index.c:130 postpone.c:70 ++#: addrbook.c:57 index.c:113 index.c:126 postpone.c:70 + msgid "Undel" + msgstr "Desezabatu" + +@@ -37,18 +65,18 @@ msgstr "Desezabatu" + msgid "Select" + msgstr "Hautatu" + +-#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:82 browser.c:84 browser.c:96 +-#: compose.c:218 compose.c:230 conn/ssl.c:983 conn/ssl_gnutls.c:691 index.c:122 +-#: index.c:135 mutt_history.c:48 ncrypt/crypt_gpgme.c:4735 ncrypt/pgpkey.c:670 +-#: ncrypt/smime.c:553 pager.c:2326 postpone.c:71 query.c:85 recvattach.c:94 ++#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:81 browser.c:83 browser.c:95 ++#: compose.c:216 compose.c:228 conn/ssl.c:996 conn/ssl_gnutls.c:722 index.c:118 ++#: index.c:131 mutt_history.c:48 ncrypt/crypt_gpgme.c:4783 ncrypt/pgpkey.c:673 ++#: ncrypt/smime.c:555 pager.c:2297 postpone.c:71 query.c:83 recvattach.c:92 + msgid "Help" + msgstr "Laguntza" + +-#: addrbook.c:208 ++#: addrbook.c:238 + msgid "You have no aliases" + msgstr "Ez duzu aliasik" + +-#: addrbook.c:215 ++#: addrbook.c:276 + msgid "Aliases" + msgstr "Aliasak" + +@@ -57,52 +85,52 @@ msgstr "Aliasak" + msgid "Alias as: " + msgstr "Aliasa sortu: " + +-#: alias.c:411 ++#: alias.c:414 + msgid "You already have an alias defined with that name" + msgstr "Izen honekin baduzu ezarritako ezizena bat" + +-#: alias.c:417 ++#: alias.c:420 + msgid "Warning: This alias name may not work. Fix it?" + msgstr "Kontuz: ezizena izen honek ez du funtzionatuko. Konpondu?" + +-#: alias.c:442 ++#: alias.c:445 + msgid "Address: " + msgstr "Helbidea: " + +-#: alias.c:453 commands.c:444 compose.c:744 conn/conn_raw.c:152 +-#: conn/conn_raw.c:210 recvcmd.c:232 send.c:228 ++#: alias.c:457 commands.c:450 compose.c:743 conn/conn_raw.c:152 ++#: conn/conn_raw.c:210 recvcmd.c:231 send.c:227 + #, c-format + msgid "Bad IDN: '%s'" + msgstr "IDN Okerra: '%s'" + +-#: alias.c:464 ++#: alias.c:468 + msgid "Personal name: " + msgstr "Pertsona izena: " + +-#: alias.c:473 ++#: alias.c:477 + #, c-format + msgid "[%s = %s] Accept?" + msgstr "[%s = %s] Onartu?" + +-#: alias.c:484 recvattach.c:528 recvattach.c:550 recvattach.c:564 +-#: recvattach.c:579 recvattach.c:678 ++#: alias.c:488 recvattach.c:530 recvattach.c:552 recvattach.c:566 ++#: recvattach.c:581 recvattach.c:680 + msgid "Save to file: " + msgstr "Gorde fitxategian: " + +-#: alias.c:503 ++#: alias.c:507 + msgid "Error reading alias file" + msgstr "Errorea ezizen fitxategia irakurtzean" + +-#: alias.c:525 ++#: alias.c:529 + #, fuzzy + msgid "Trouble adding alias" + msgstr "Errorea ezizen fitxategia irakurtzean" + +-#: alias.c:527 ++#: alias.c:531 + msgid "Alias added" + msgstr "Ezizena gehiturik" + +-#: alias.c:532 ++#: alias.c:536 + msgid "Error seeking in alias file" + msgstr "Errorea ezizen fitxategian bilatzean" + +@@ -111,7 +139,7 @@ msgstr "Errorea ezizen fitxategian bilatzean" + #. for some reason (e.g. autocrypt, header cache, bcache), but it + #. doesn't exist. The prompt is asking whether to create the directory + #. +-#: autocrypt/autocrypt.c:70 main.c:826 ++#: autocrypt/autocrypt.c:70 main.c:757 + #, c-format + msgid "%s does not exist. Create it?" + msgstr "%s ez da existitzen. Sortu?" +@@ -120,8 +148,8 @@ msgstr "%s ez da existitzen. Sortu?" + #. mkdir() on the directory %s failed. The second %s is the + #. error message returned by libc + #. +-#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:830 +-#: nntp/newsrc.c:1069 ++#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:761 ++#: nntp/newsrc.c:1098 + #, c-format + msgid "Can't create %s: %s" + msgstr "Ezin da %s sortu: %s" +@@ -131,7 +159,7 @@ msgstr "Ezin da %s sortu: %s" + #. create $autocrypt_dir and then prompt to create an autocrypt + #. account with this message. + #. +-#: autocrypt/autocrypt.c:156 ++#: autocrypt/autocrypt.c:163 + msgid "Create an initial autocrypt account?" + msgstr "" + +@@ -140,7 +168,7 @@ msgstr "" + #. autocrypt account. This will generate a key and add a record + #. to the database for use in autocrypt operations. + #. +-#: autocrypt/autocrypt.c:180 ++#: autocrypt/autocrypt.c:187 + msgid "Autocrypt account address: " + msgstr "" + +@@ -149,7 +177,7 @@ msgstr "" + #. a single address. This is shown if they entered something invalid, + #. nothing, or more than one address for some reason. + #. +-#: autocrypt/autocrypt.c:191 ++#: autocrypt/autocrypt.c:198 + msgid "Please enter a single email address" + msgstr "" + +@@ -158,7 +186,7 @@ msgstr "" + #. if there is already an account in the database with the email address + #. they just entered. + #. +-#: autocrypt/autocrypt.c:208 ++#: autocrypt/autocrypt.c:215 + msgid "That email address already has an autocrypt account" + msgstr "" + +@@ -170,7 +198,7 @@ msgstr "" + #. Otherwise the UI will show encryption is "available" but the user + #. will be required to enable encryption manually. + #. +-#: autocrypt/autocrypt.c:223 ++#: autocrypt/autocrypt.c:230 + #, fuzzy + msgid "Prefer encryption?" + msgstr "enkriptazioa" +@@ -178,7 +206,7 @@ msgstr "enkriptazioa" + #. L10N: + #. Message displayed after an autocrypt account is successfully created. + #. +-#: autocrypt/autocrypt.c:236 ++#: autocrypt/autocrypt.c:243 + msgid "Autocrypt account creation succeeded" + msgstr "" + +@@ -186,7 +214,7 @@ msgstr "" + #. Error message displayed if creating an autocrypt account failed + #. or was aborted by the user. + #. +-#: autocrypt/autocrypt.c:242 ++#: autocrypt/autocrypt.c:249 + msgid "Autocrypt account creation aborted" + msgstr "" + +@@ -195,7 +223,7 @@ msgstr "" + #. to use to encrypt, but it can't find a valid keyid for this address. + #. The message is printed and they are returned to the compose menu. + #. +-#: autocrypt/autocrypt.c:610 autocrypt/autocrypt.c:639 ++#: autocrypt/autocrypt.c:617 autocrypt/autocrypt.c:646 + #, fuzzy, c-format + msgid "No (valid) autocrypt key found for %s" + msgstr "Ez da (baliozko) ziurtagiririk aurkitu %s-rentzat" +@@ -207,12 +235,12 @@ msgstr "Ez da (baliozko) ziurtagiririk aurkitu %s-rentzat" + #. and used for encryption. + #. If this is answered yes, they will be prompted for a mailbox. + #. +-#: autocrypt/autocrypt.c:903 ++#: autocrypt/autocrypt.c:910 + msgid "Scan a mailbox for autocrypt headers?" + msgstr "" + + #. L10N: The prompt for a mailbox to scan for Autocrypt: headers +-#: autocrypt/autocrypt.c:907 ++#: autocrypt/autocrypt.c:914 + #, fuzzy + msgid "Scan mailbox" + msgstr "Ez dago postakutxarik.\n" +@@ -224,14 +252,14 @@ msgstr "Ez dago postakutxarik.\n" + #. for a mailbox. This is because this is a one-time operation + #. and I don't want them to accidentally ctrl-g and abort it. + #. +-#: autocrypt/autocrypt.c:927 ++#: autocrypt/autocrypt.c:934 + msgid "Scan another mailbox for autocrypt headers?" + msgstr "" + + #. L10N: Autocrypt Account Menu Help line: + #. create new account + #. +-#: autocrypt/autocrypt_acct_menu.c:63 ++#: autocrypt/autocrypt_acct_menu.c:62 + #, fuzzy + msgid "Create" + msgstr "Sortu %s?" +@@ -239,7 +267,7 @@ msgstr "Sortu %s?" + #. L10N: Autocrypt Account Menu Help line: + #. delete account + #. +-#: autocrypt/autocrypt_acct_menu.c:67 remailer.c:77 ++#: autocrypt/autocrypt_acct_menu.c:66 remailer.c:75 + msgid "Delete" + msgstr "Ezabatu" + +@@ -247,9 +275,9 @@ msgstr "Ezabatu" + #. toggle an account active/inactive + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:74 ++#: autocrypt/autocrypt_acct_menu.c:73 + msgid "Tgl Active" + msgstr "" + +@@ -257,17 +285,17 @@ msgstr "" + #. toggle "prefer-encrypt" on an account + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:81 +-msgid "Prf Enc" ++#: autocrypt/autocrypt_acct_menu.c:80 ++msgid "Prf Encr" + msgstr "" + + #. L10N: + #. Autocrypt Account menu. + #. flag that an account has prefer-encrypt set + #. +-#: autocrypt/autocrypt_acct_menu.c:123 ++#: autocrypt/autocrypt_acct_menu.c:122 + msgid "prefer encrypt" + msgstr "" + +@@ -276,7 +304,7 @@ msgstr "" + #. flag that an account has prefer-encrypt unset; + #. thus encryption will need to be manually enabled. + #. +-#: autocrypt/autocrypt_acct_menu.c:130 ++#: autocrypt/autocrypt_acct_menu.c:129 + msgid "manual encrypt" + msgstr "" + +@@ -284,7 +312,7 @@ msgstr "" + #. Autocrypt Account menu. + #. flag that an account is enabled/active + #. +-#: autocrypt/autocrypt_acct_menu.c:138 ++#: autocrypt/autocrypt_acct_menu.c:137 + msgid "active" + msgstr "" + +@@ -292,12 +320,12 @@ msgstr "" + #. Autocrypt Account menu. + #. flag that an account is disabled/inactive + #. +-#: autocrypt/autocrypt_acct_menu.c:144 ++#: autocrypt/autocrypt_acct_menu.c:143 + msgid "inactive" + msgstr "" + + #. L10N: Autocrypt Account Management Menu title +-#: autocrypt/autocrypt_acct_menu.c:183 ++#: autocrypt/autocrypt_acct_menu.c:182 + msgid "Autocrypt Accounts" + msgstr "" + +@@ -305,13 +333,13 @@ msgstr "" + #. This error message is displayed if a database update of an + #. account record fails for some odd reason. + #. +-#: autocrypt/autocrypt_acct_menu.c:245 autocrypt/autocrypt_acct_menu.c:259 ++#: autocrypt/autocrypt_acct_menu.c:244 autocrypt/autocrypt_acct_menu.c:258 + #, fuzzy + msgid "Error updating account record" + msgstr "Errorea karpeta arakatzerakoan" + + #. L10N: Confirmation message when deleting an autocrypt account +-#: autocrypt/autocrypt_acct_menu.c:302 ++#: autocrypt/autocrypt_acct_menu.c:333 + #, fuzzy, c-format + msgid "Really delete account \"%s\"?" + msgstr "Benetan \"%s\" postakutxa ezabatu?" +@@ -329,7 +357,7 @@ msgstr "Benetan \"%s\" postakutxa ezabatu?" + msgid "Unable to open autocrypt database %s" + msgstr "Ezin da postakutxa blokeatu!" + +-#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:774 ++#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:773 + #, c-format + msgid "error creating gpgme context: %s" + msgstr "errorea gpgme ingurunea sortzean: %s" +@@ -402,335 +430,286 @@ msgstr "" + msgid "Message cache isn't a directory: %s" + msgstr "%s ez da karpeta bat" + +-#: browser.c:81 ++#: browser.c:80 + msgid "Chdir" + msgstr "Karpetara joan: " + +-#: browser.c:82 ++#: browser.c:81 + msgid "Goto" + msgstr "" + +-#: browser.c:83 browser.c:95 ++#: browser.c:82 browser.c:94 + msgid "Mask" + msgstr "Maskara" + +-#: browser.c:91 ++#: browser.c:90 + msgid "List" + msgstr "" + +-#: browser.c:92 ++#: browser.c:91 + #, fuzzy + msgid "Subscribe" + msgstr "%s-ra harpideturik" + +-#: browser.c:93 ++#: browser.c:92 + #, fuzzy + msgid "Unsubscribe" + msgstr "%s-ra harpidetzaz ezabaturik" + +-#: browser.c:94 index.c:134 ++#: browser.c:93 index.c:130 + msgid "Catchup" + msgstr "" + +-#: browser.c:760 browser.c:1519 browser.c:1758 ++#: browser.c:763 browser.c:1584 browser.c:1825 + #, c-format + msgid "%s is not a directory" + msgstr "%s ez da karpeta bat" + +-#: browser.c:1025 ++#: browser.c:1028 + #, fuzzy, c-format + msgid "Subscribed newsgroups" + msgstr "%s-ra harpideturik" + +-#: browser.c:1028 ++#: browser.c:1031 + #, c-format + msgid "Newsgroups on server [%s]" + msgstr "" + +-#: browser.c:1038 ++#: browser.c:1041 + #, c-format + msgid "Mailboxes [%d]" + msgstr "Postakutxak [%d]" + +-#: browser.c:1050 ++#: browser.c:1053 + #, c-format + msgid "Subscribed [%s], File mask: %s" + msgstr "Harpidedun [%s], Fitxategi maskara: %s" + +-#: browser.c:1056 ++#: browser.c:1059 + #, c-format + msgid "Directory [%s], File mask: %s" + msgstr "Karpeta [%s], Fitxategi maskara: %s" + +-#: browser.c:1113 ++#: browser.c:1116 + msgid "Can't attach a directory" + msgstr "Ezin da karpeta bat gehitu" + +-#: browser.c:1380 browser.c:1814 browser.c:1959 ++#: browser.c:1445 browser.c:1881 browser.c:2026 + msgid "No files match the file mask" + msgstr "Ez da fitxategi maskara araberako fitxategirik aurkitu" + +-#: browser.c:1587 ++#: browser.c:1654 + msgid "Create is only supported for IMAP mailboxes" + msgstr "\"Create\" IMAP posta kutxek bakarrik onartzen dute" + +-#: browser.c:1609 ++#: browser.c:1676 + msgid "Rename is only supported for IMAP mailboxes" + msgstr "Berrizendaketa IMAP postakutxentzat bakarrik onartzen da" + +-#: browser.c:1630 ++#: browser.c:1697 + msgid "Delete is only supported for IMAP mailboxes" + msgstr "\"Delete\" IMAP posta kutxek bakarrik onartzen dute" + +-#: browser.c:1642 ++#: browser.c:1709 + #, fuzzy + msgid "Can't delete currently selected mailbox" + msgstr "une honetan aukeratutako fitxategi izena erakutsi" + +-#: browser.c:1646 ++#: browser.c:1713 + #, c-format + msgid "Really delete mailbox \"%s\"?" + msgstr "Benetan \"%s\" postakutxa ezabatu?" + +-#: browser.c:1663 ++#: browser.c:1730 + msgid "Mailbox deleted" + msgstr "Postakutxa ezabatua" + +-#: browser.c:1667 ++#: browser.c:1734 + #, fuzzy + msgid "Mailbox deletion failed" + msgstr "Postakutxa ezabatua" + +-#: browser.c:1670 ++#: browser.c:1737 + msgid "Mailbox not deleted" + msgstr "Postakutxa ez da ezabatu" + +-#: browser.c:1697 ++#: browser.c:1764 + msgid "Chdir to: " + msgstr "Karpetara joan: " + +-#: browser.c:1747 browser.c:1808 ++#: browser.c:1814 browser.c:1875 + msgid "Error scanning directory" + msgstr "Errorea karpeta arakatzerakoan" + +-#: browser.c:1769 ++#: browser.c:1836 + msgid "File Mask: " + msgstr "Fitxategi maskara: " + + #. L10N: The highlighted letters must match the "Sort" options +-#: browser.c:1831 ++#: browser.c:1898 + #, fuzzy + msgid "Reverse sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "Atzekoz aurrera (d)ataz, (a)lphaz, tamaina(z) edo ez orde(n)atu?" + + #. L10N: The highlighted letters must match the "Reverse Sort" options +-#: browser.c:1834 ++#: browser.c:1901 + #, fuzzy + msgid "Sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "(d)ataz, (a)lpha, tamaina(z) edo ez orde(n)atu?" + + #. L10N: These must match the highlighted letters from "Sort" and "Reverse Sort" +-#: browser.c:1837 ++#: browser.c:1904 + msgid "dazecwn" + msgstr "" + +-#: browser.c:1948 ++#: browser.c:2015 + msgid "New file name: " + msgstr "Fitxategi izen berria: " + +-#: browser.c:1976 ++#: browser.c:2043 + msgid "Can't view a directory" + msgstr "Ezin da karpeta ikusi" + +-#: browser.c:1993 ++#: browser.c:2060 + msgid "Error trying to view file" + msgstr "Errorea fitxategia ikusten saiatzerakoan" + +-#: browser.c:2079 ++#: browser.c:2146 + #, fuzzy, c-format + msgid "Subscribe pattern: " + msgstr "%s-ra harpideturik" + +-#: browser.c:2081 ++#: browser.c:2148 + #, fuzzy, c-format + msgid "Unsubscribe pattern: " + msgstr "%s-ra harpidetzaz ezabaturik" + +-#: browser.c:2101 ++#: browser.c:2169 + #, fuzzy + msgid "No newsgroups match the mask" + msgstr "Ez da fitxategi maskara araberako fitxategirik aurkitu" + +-#: color.c:633 color.c:644 +-#, c-format +-msgid "%s: color not supported by term" +-msgstr "%s: kolorea ez du terminalak onartzen" +- +-#: color.c:652 +-#, c-format +-msgid "%s: no such color" +-msgstr "%s: ez da kolorea aurkitu" +- +-#: color.c:717 color.c:740 color.c:751 color.c:842 +-#, c-format +-msgid "%s: no such object" +-msgstr "%s: ez da objektua aurkitu" +- +-#: color.c:731 color.c:868 color.c:1069 color.c:1098 color.c:1122 color.c:1191 +-#: color.c:1214 hook.c:110 hook.c:124 hook.c:367 hook.c:383 init.c:612 +-#: init.c:620 init.c:709 init.c:1099 init.c:1267 init.c:1871 init.c:1929 +-#: keymap.c:1184 score.c:110 +-#, c-format +-msgid "%s: too few arguments" +-msgstr "%s: argumentu gutxiegi" +- +-#: color.c:1142 +-#, c-format +-msgid "%s: no such attribute" +-msgstr "%s: ez da atributua aurkitu" +- +-#: color.c:1223 color.c:1329 hook.c:131 hook.c:390 init.c:1123 init.c:2133 +-#: init.c:2611 keymap.c:1116 keymap.c:1289 keymap.c:1442 keymap.c:1506 +-#: mutt_lua.c:483 score.c:119 +-#, c-format +-msgid "%s: too many arguments" +-msgstr "%s: argumentu gehiegi" +- +-#: color.c:1244 +-msgid "default colors not supported" +-msgstr "lehenetsitako kolorea ez da onartzen" +- +-#: color.c:1282 +-#, c-format +-msgid "Maximum quoting level is %d" +-msgstr "" +- +-#: color.c:1319 +-#, fuzzy, c-format +-msgid "%s: invalid number: %s" +-msgstr "%d: mezu zenbaki okerra.\n" +- + #. L10N: Used for the $crypt_verify_sig prompt +-#: commands.c:230 ++#: commands.c:232 + msgid "Verify signature?" + msgstr "Sinadura egiaztatu?" + +-#: commands.c:257 mbox/mbox.c:1236 ++#: commands.c:259 mbox/mbox.c:1236 + msgid "Could not create temporary file" + msgstr "Ezin da behin-behineko fitxategia sortu" + +-#: commands.c:269 ++#: commands.c:271 + msgid "Can't create display filter" + msgstr "Ezin da bistaratze iragazkia sortu" + +-#: commands.c:302 ++#: commands.c:304 + msgid "Could not copy message" + msgstr "Ezin da mezurik kopiatu" + +-#: commands.c:338 ++#: commands.c:340 + msgid "S/MIME signature successfully verified" + msgstr "S/MIME sinadura arrakastatsuki egiaztaturik" + +-#: commands.c:340 ++#: commands.c:342 + msgid "S/MIME certificate owner does not match sender" + msgstr "S/MIME ziurtagiriaren jabea ez da mezua bidali duena" + +-#: commands.c:343 commands.c:353 ++#: commands.c:345 commands.c:355 + msgid "Warning: Part of this message has not been signed" + msgstr "Abisua -.Mezu honen zati bat ezin izan da sinatu" + +-#: commands.c:345 ++#: commands.c:347 + msgid "S/MIME signature could NOT be verified" + msgstr "S/MIME sinadura EZIN da egiaztatu" + +-#: commands.c:351 ++#: commands.c:353 + msgid "PGP signature successfully verified" + msgstr "PGP sinadura arrakastatsuki egiaztaturik" + +-#: commands.c:355 ++#: commands.c:357 + msgid "PGP signature could NOT be verified" + msgstr "PGP sinadura EZIN da egiaztatu" + +-#: commands.c:372 compose.c:2116 compress.c:321 curs_lib.c:359 curs_lib.c:646 +-#: index.c:1235 index.c:1285 mutt_attach.c:159 mutt_attach.c:292 pager.c:2460 +-#: sendlib.c:1625 ++#: commands.c:378 compose.c:2187 compress/compress.c:320 gui/curs_lib.c:360 ++#: gui/curs_lib.c:714 index.c:1240 index.c:1290 mutt_attach.c:161 ++#: mutt_attach.c:294 pager.c:2433 sendlib.c:1624 + #, c-format + msgid "Error running \"%s\"" + msgstr "Errorea \"%s\" abiarazten" + +-#: commands.c:382 ++#: commands.c:388 + msgid "Command: " + msgstr "Komandoa: " + +-#: commands.c:419 recvcmd.c:191 recvcmd.c:203 ++#: commands.c:425 recvcmd.c:190 recvcmd.c:202 + msgid "Warning: message contains no From: header" + msgstr "" + +-#: commands.c:425 recvcmd.c:212 ++#: commands.c:431 recvcmd.c:211 + #, fuzzy + msgid "Bounce message to: " + msgstr "Mezuak hona errebotatu: " + +-#: commands.c:427 recvcmd.c:214 ++#: commands.c:433 recvcmd.c:213 + #, fuzzy + msgid "Bounce tagged messages to: " + msgstr "Markatutako mezuak hona errebotatu: " + +-#: commands.c:436 recvcmd.c:224 ++#: commands.c:442 recvcmd.c:223 + msgid "Error parsing address" + msgstr "Errorea helbidea analizatzean" + +-#: commands.c:455 recvcmd.c:243 ++#: commands.c:461 recvcmd.c:242 + #, fuzzy, c-format + msgid "Bounce message to %s?" + msgid_plural "Bounce messages to %s?" + msgstr[0] "Mezua %s-ra errebotatu" + msgstr[1] "Mezuak %s-ra errebotatu" + +-#: commands.c:470 recvcmd.c:257 ++#: commands.c:476 recvcmd.c:257 + #, fuzzy + msgid "Message not bounced" + msgid_plural "Messages not bounced" + msgstr[0] "Mezua ez da errebotatu" + msgstr[1] "Mezuak ez dira errebotatu" + +-#: commands.c:496 recvcmd.c:276 ++#: commands.c:502 recvcmd.c:276 + #, fuzzy + msgid "Message bounced" + msgid_plural "Messages bounced" + msgstr[0] "Mezua errebotaturik" + msgstr[1] "Mezuak errebotaturik" + +-#: commands.c:606 commands.c:642 commands.c:662 ++#: commands.c:612 commands.c:648 commands.c:668 + msgid "Can't create filter process" + msgstr "Ezin da iragazki prozesua sortu" + +-#: commands.c:698 ++#: commands.c:704 + msgid "Pipe to command: " + msgstr "Komandora hodia egin: " + +-#: commands.c:720 ++#: commands.c:726 + msgid "No printing command has been defined" + msgstr "Ez da inprimatze komandorik ezarri" + +-#: commands.c:732 ++#: commands.c:738 + #, fuzzy + msgid "Print message?" + msgstr "Mezua inprimatu?" + +-#: commands.c:733 ++#: commands.c:739 + #, fuzzy + msgid "Print tagged messages?" + msgstr "Markatutako mezuak inprimatu?" + +-#: commands.c:739 ++#: commands.c:745 + #, fuzzy + msgid "Message printed" + msgid_plural "Messages printed" + msgstr[0] "Mezua inprimaturik" + msgstr[1] "Mezuak inprimaturik" + +-#: commands.c:742 ++#: commands.c:748 + #, fuzzy + msgid "Message could not be printed" + msgid_plural "Messages could not be printed" +@@ -738,165 +717,328 @@ msgstr[0] "Ezin da mezua inprimatu" + msgstr[1] "Ezin dira mezuak inprimatu" + + #. L10N: The highlighted letters must match the "Sort" options +-#: commands.c:759 ++#: commands.c:765 + #, fuzzy + msgid "Rev-Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "Alderantziz-Ordenatu (d)ata/(j)at/ja(s)/(g)aia/(n)ori/(h)aria/(e)z-ordenatu/(t)amaina/(p)untuak/(z)abor-posta?" + + #. L10N: The highlighted letters must match the "Rev-Sort" options +-#: commands.c:763 ++#: commands.c:769 + #, fuzzy + msgid "Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "Ordenatu (d)ata/(j)at/ja(s)/(g)aia/(n)ori/(h)aria/(e)z-ordenatu/(t)amaina/(p)untuak/(z)abor-posta? " + + #. L10N: These must match the highlighted letters from "Sort" and "Rev-Sort" +-#: commands.c:767 ++#: commands.c:773 + #, fuzzy + msgid "dfrsotuzcpl" + msgstr "djsgnhetpz" + +-#: commands.c:831 ++#: commands.c:837 + msgid "Shell command: " + msgstr "Shell komandoa: " + +-#: commands.c:1036 ++#: commands.c:1042 + #, fuzzy + msgid "Decode-save to mailbox" + msgstr "Deskodifikatu-gorde postakutxan" + +-#: commands.c:1036 ++#: commands.c:1042 + #, fuzzy + msgid "Decode-save tagged to mailbox" + msgstr "Deskodifikatu-gorde markatua postakutxan" + +-#: commands.c:1038 ++#: commands.c:1044 + #, fuzzy + msgid "Decrypt-save to mailbox" + msgstr "Desenkriptatu-gorde postakutxan" + +-#: commands.c:1038 ++#: commands.c:1044 + #, fuzzy + msgid "Decrypt-save tagged to mailbox" + msgstr "Desenkriptatu-gorde markatua postakutxan" + +-#: commands.c:1040 ++#: commands.c:1046 + #, fuzzy + msgid "Save to mailbox" + msgstr " posta-kutxan gorde" + +-#: commands.c:1040 ++#: commands.c:1046 + #, fuzzy + msgid "Save tagged to mailbox" + msgstr " markatua posta-kutxan gorde" + +-#: commands.c:1045 ++#: commands.c:1051 + #, fuzzy + msgid "Decode-copy to mailbox" + msgstr "Deskodifikatu-kopiatu postakutxan" + +-#: commands.c:1045 ++#: commands.c:1051 + #, fuzzy + msgid "Decode-copy tagged to mailbox" + msgstr "Deskodifikatu-kopiatu markatua postakutxan" + +-#: commands.c:1047 ++#: commands.c:1053 + #, fuzzy + msgid "Decrypt-copy to mailbox" + msgstr "Desenkriptatu-kopiatu postakutxan" + +-#: commands.c:1047 ++#: commands.c:1053 + #, fuzzy + msgid "Decrypt-copy tagged to mailbox" + msgstr "Desenkriptatu-kopiatu markatua postakutxan" + +-#: commands.c:1049 ++#: commands.c:1055 + #, fuzzy + msgid "Copy to mailbox" + msgstr " posta-kutxan kopiatu" + +-#: commands.c:1049 ++#: commands.c:1055 + #, fuzzy + msgid "Copy tagged to mailbox" + msgstr " markatua posta-kutxan kopiatu" + +-#: commands.c:1092 ++#: commands.c:1098 + #, c-format + msgid "Copying to %s..." + msgstr "Hona kopiatzen %s..." + + #. L10N: e.g. "text/plain; charset=UTF-8; ..." +-#: commands.c:1257 ++#: commands.c:1263 + #, fuzzy + msgid "Content type is too long" + msgstr "Eduki mota %s-ra aldatzen" + +-#: commands.c:1281 ++#: commands.c:1290 + #, c-format + msgid "Convert to %s upon sending?" + msgstr "Bidali aurretik %s-ra bihurtu?" + +-#: commands.c:1292 ++#: commands.c:1301 + #, c-format + msgid "Content-Type changed to %s" + msgstr "Eduki mota %s-ra aldatzen" + +-#: commands.c:1297 ++#: commands.c:1306 + #, fuzzy, c-format + msgid "Character set changed to %s; not converting" + msgstr "Karaktere ezarpena %s-ra aldaturik: ez da bihurtzen" + +-#: commands.c:1298 ++#: commands.c:1307 + #, fuzzy, c-format + msgid "Character set changed to %s; converting" + msgstr "Karaktere ezarpena %s-ra aldaturik: bihurtzen" + +-#: compose.c:99 ++#: command_parse.c:83 command_parse.c:211 command_parse.c:219 ++#: command_parse.c:740 command_parse.c:887 command_parse.c:1491 ++#: command_parse.c:1549 gui/color.c:731 gui/color.c:868 gui/color.c:1069 ++#: gui/color.c:1098 gui/color.c:1122 gui/color.c:1191 gui/color.c:1214 ++#: hook.c:110 hook.c:124 hook.c:372 hook.c:388 keymap.c:1182 score.c:110 ++#, c-format ++msgid "%s: too few arguments" ++msgstr "%s: argumentu gutxiegi" ++ ++#: command_parse.c:394 ++msgid "-group: no group name" ++msgstr "-group: ez dago talde izenik" ++ ++#: command_parse.c:404 ++msgid "out of arguments" ++msgstr "argumentu gehiegi" ++ ++#: command_parse.c:445 command_parse.c:1372 ++#, c-format ++msgid "Error: Can't build path of '%s'" ++msgstr "" ++ ++#: command_parse.c:458 ++#, c-format ++msgid "Error: Cyclic sourcing of configuration file '%s'" ++msgstr "" ++ ++#: command_parse.c:491 ++#, c-format ++msgid "Error in %s, line %d: %s" ++msgstr "Errorea %s-n, %d lerroan: %s" ++ ++#: command_parse.c:502 ++#, fuzzy, c-format ++msgid "Warning in %s, line %d: %s" ++msgstr "Errorea %s-n, %d lerroan: %s" ++ ++#: command_parse.c:526 ++#, c-format ++msgid "source: errors in %s" ++msgstr "jatorria: erroreak %s-n" ++ ++#: command_parse.c:526 ++#, fuzzy, c-format ++msgid "source: reading aborted due to too many errors in %s" ++msgstr "jatorria: %s-n akats gehiegiengatik irakurketa ezeztatua" ++ ++#: command_parse.c:535 ++#, fuzzy, c-format ++msgid "source: %d warning in %s" ++msgid_plural "source: %d warnings in %s" ++msgstr[0] "jatorria: erroreak %s-n" ++msgstr[1] "jatorria: erroreak %s-n" ++ ++#: command_parse.c:564 ++msgid "alias: no address" ++msgstr "ezizena: helbide gabea" ++ ++#: command_parse.c:606 ++#, c-format ++msgid "Warning: Bad IDN '%s' in alias '%s'" ++msgstr "Kontuz: '%s' IDN okerra '%s' ezizenean" ++ ++#: command_parse.c:684 ++msgid "attachments: no disposition" ++msgstr "eranskinak: disposiziorik ez" ++ ++#: command_parse.c:695 ++#, fuzzy ++msgid "Current attachments settings:" ++msgstr "gehigarri deskribapena editatu" ++ ++#: command_parse.c:725 ++msgid "attachments: invalid disposition" ++msgstr "eranskinak: disposizio okerra" ++ ++#: command_parse.c:764 command_parse.c:1753 command_parse.c:2205 ++#: gui/color.c:1223 gui/color.c:1329 hook.c:131 hook.c:395 keymap.c:1114 ++#: keymap.c:1287 keymap.c:1440 keymap.c:1504 mutt_lua.c:485 score.c:119 ++#, c-format ++msgid "%s: too many arguments" ++msgstr "%s: argumentu gehiegi" ++ ++#: command_parse.c:801 ++#, fuzzy, c-format ++msgid "%sgroup: missing -rx or -addr" ++msgstr "-rx edo -helb falta da" ++ ++#: command_parse.c:827 ++#, fuzzy, c-format ++msgid "%sgroup: warning: bad IDN '%s'" ++msgstr "Kontuz: '%s' IDN okerra" ++ ++#: command_parse.c:898 ++#, c-format ++msgid "Error: %s" ++msgstr "" ++ ++#: command_parse.c:1065 ++msgid "invalid header field" ++msgstr "baliogabeko mezu burua" ++ ++#: command_parse.c:1331 command_parse.c:1435 ++#, c-format ++msgid "%s: unknown variable" ++msgstr "%s: aldagai ezezaguna" ++ ++#: command_parse.c:1528 ++#, c-format ++msgid "%s is unset" ++msgstr "%s ezarri gabe dago" ++ ++#: command_parse.c:1573 mutt_lua.c:480 ++#, c-format ++msgid "source: error at %s" ++msgstr "jatorria: %s-n errorea" ++ ++#: command_parse.c:1581 ++#, fuzzy, c-format ++msgid "source: file %s could not be sourced" ++msgstr "Ezin dira mezuak inprimatu" ++ ++#: command_parse.c:1604 ++msgid "spam: no matching pattern" ++msgstr "zabor-posta: ez da patroia aurkitu" ++ ++#: command_parse.c:1606 ++msgid "nospam: no matching pattern" ++msgstr "ez zabor-posta: ez da patroia aurkitu" ++ ++#: command_parse.c:1762 imap/imap.c:1443 ++#, c-format ++msgid "Subscribed to %s" ++msgstr "%s-ra harpideturik" ++ ++#: command_parse.c:1766 ++#, fuzzy, c-format ++msgid "Could not subscribe to %s" ++msgstr "%s-ra harpideturik" ++ ++#: command_parse.c:1774 command_parse.c:2226 ++#, fuzzy ++msgid "No folder specified" ++msgstr "Ez da gairik ezarri." ++ ++#: command_parse.c:1943 ++msgid "unattachments: no disposition" ++msgstr "deseranskinak: disposiziorik ez" ++ ++#: command_parse.c:1981 ++msgid "unattachments: invalid disposition" ++msgstr "deseranskinak: disposizio okerra" ++ ++#: command_parse.c:2214 imap/imap.c:1445 ++#, c-format ++msgid "Unsubscribed from %s" ++msgstr "%s-ra harpidetzaz ezabaturik" ++ ++#: command_parse.c:2218 ++#, fuzzy, c-format ++msgid "Could not unsubscribe from %s" ++msgstr "%s-ra harpidetzaz ezabaturik" ++ ++#: compose.c:97 + msgid "There are no attachments" + msgstr "Ez dago gehigarririk" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:166 ++#: compose.c:164 + msgid "From: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:168 send.c:284 ++#: compose.c:166 send.c:284 + msgid "To: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:170 send.c:286 ++#: compose.c:168 send.c:286 + msgid "Cc: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:172 send.c:288 ++#: compose.c:170 send.c:288 + msgid "Bcc: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:174 compose.c:1242 send.c:320 ++#: compose.c:172 compose.c:1302 send.c:320 + msgid "Subject: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:176 ++#: compose.c:174 + #, fuzzy + msgid "Reply-To: " + msgstr "Erantzun" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:178 compose.c:1261 ++#: compose.c:176 compose.c:1321 + msgid "Fcc: " + msgstr "" + + #. L10N: "Mix" refers to the MixMaster chain for anonymous email +-#: compose.c:181 ++#: compose.c:179 + msgid "Mix: " + msgstr "" + + #. L10N: Compose menu field. Holds "Encrypt", "Sign" related information +-#: compose.c:184 ++#: compose.c:182 + msgid "Security: " + msgstr "" + +@@ -907,78 +1049,78 @@ msgstr "" + #. it should not be longer than the other compose menu fields. + #. Since it shares the row with "Encrypt with:", it should not be longer + #. than 15-20 character cells. +-#: compose.c:192 ncrypt/crypt_gpgme.c:5602 ncrypt/pgp.c:1974 +-#: ncrypt/smime.c:2395 ++#: compose.c:190 ncrypt/crypt_gpgme.c:5682 ncrypt/pgp.c:1976 ++#: ncrypt/smime.c:2429 + msgid "Sign as: " + msgstr "Honela sinatu: " + + #. L10N: The compose menu autocrypt line +-#: compose.c:195 ++#: compose.c:193 + msgid "Autocrypt: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:199 ++#: compose.c:197 + msgid "Newsgroups: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:201 ++#: compose.c:199 + #, fuzzy + msgid "Followup-To: " + msgstr "Jarraitu %s%s-ra?" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:203 ++#: compose.c:201 + #, fuzzy + msgid "X-Comment-To: " + msgstr "erantzun-honi eremua aldatu" + +-#: compose.c:208 compose.c:224 ++#: compose.c:206 compose.c:222 + msgid "Send" + msgstr "Bidali" + +-#: compose.c:209 compose.c:225 remailer.c:77 ++#: compose.c:207 compose.c:223 remailer.c:75 + msgid "Abort" + msgstr "Ezeztatu" + + #. L10N: compose menu help line entry +-#: compose.c:211 ++#: compose.c:209 + msgid "To" + msgstr "" + + #. L10N: compose menu help line entry +-#: compose.c:213 ++#: compose.c:211 + msgid "CC" + msgstr "" + + #. L10N: compose menu help line entry +-#: compose.c:215 compose.c:227 ++#: compose.c:213 compose.c:225 + msgid "Subj" + msgstr "" + +-#: compose.c:216 compose.c:228 compose.c:1556 ++#: compose.c:214 compose.c:226 compose.c:1616 + msgid "Attach file" + msgstr "Fitxategia gehitu" + +-#: compose.c:217 compose.c:229 ++#: compose.c:215 compose.c:227 + msgid "Descrip" + msgstr "Deskrib" + +-#: compose.c:226 ++#: compose.c:224 + #, fuzzy + msgid "Newsgroups" + msgstr "Ez da gairik ezarri." + + #. L10N: Autocrypt recommendation flag: off. + #. * This is displayed when Autocrypt is turned off. +-#: compose.c:239 compose.c:473 ++#: compose.c:237 compose.c:472 + msgid "Off" + msgstr "" + + #. L10N: Autocrypt recommendation flag: no. + #. * This is displayed when Autocrypt cannot encrypt to the recipients. +-#: compose.c:242 ++#: compose.c:240 + msgid "No" + msgstr "" + +@@ -986,7 +1128,7 @@ msgstr "" + #. * This is displayed when Autocrypt believes encryption should not be used. + #. * This might occur if one of the recipient Autocrypt Keys has not been + #. * used recently, or if the only key available is a Gossip Header key. +-#: compose.c:247 ++#: compose.c:245 + msgid "Discouraged" + msgstr "" + +@@ -994,14 +1136,14 @@ msgstr "" + #. * This is displayed when Autocrypt believes encryption is possible, but + #. * leaves enabling it up to the sender. Probably because "prefer encrypt" + #. * is not set in both the sender and recipient keys. +-#: compose.c:252 ++#: compose.c:250 + msgid "Available" + msgstr "" + + #. L10N: Autocrypt recommendation flag: yes. + #. * This is displayed when Autocrypt would normally enable encryption + #. * automatically. +-#: compose.c:256 ++#: compose.c:254 + #, fuzzy + msgid "Yes" + msgstr "bai" +@@ -1012,7 +1154,7 @@ msgstr "bai" + #. (c)lear sets cleartext. + #. (a)utomatic defers to the recommendation. + #. +-#: compose.c:338 ++#: compose.c:337 + msgid "Autocrypt: (e)ncrypt, (c)lear, (a)utomatic?" + msgstr "" + +@@ -1020,54 +1162,54 @@ msgstr "" + #. The letter corresponding to the compose menu autocrypt prompt + #. (e)ncrypt, (c)lear, (a)utomatic + #. +-#: compose.c:346 ++#: compose.c:345 + msgid "eca" + msgstr "" + +-#: compose.c:383 ++#: compose.c:382 + #, fuzzy + msgid "Not supported" + msgstr "Markatzea ez da onartzen." + +-#: compose.c:390 ++#: compose.c:389 + msgid "Sign, Encrypt" + msgstr "Sinatu, Enkriptatu" + +-#: compose.c:395 compose.c:468 ++#: compose.c:394 compose.c:467 + msgid "Encrypt" + msgstr "Enkriptatu" + +-#: compose.c:400 ++#: compose.c:399 + msgid "Sign" + msgstr "Sinatu" + +-#: compose.c:406 ++#: compose.c:405 + msgid "None" + msgstr "" + +-#: compose.c:415 ++#: compose.c:414 + #, fuzzy + msgid " (inline PGP)" + msgstr " (barruan)" + +-#: compose.c:417 ++#: compose.c:416 + msgid " (PGP/MIME)" + msgstr " (PGP/MIME)" + +-#: compose.c:420 ++#: compose.c:419 + #, fuzzy + msgid " (S/MIME)" + msgstr " (PGP/MIME)" + +-#: compose.c:424 ++#: compose.c:423 + msgid " (OppEnc mode)" + msgstr "" + +-#: compose.c:436 compose.c:445 ++#: compose.c:435 compose.c:444 + msgid "" + msgstr "" + +-#: compose.c:452 ++#: compose.c:451 + msgid "Encrypt with: " + msgstr "Honekin enkriptatu: " + +@@ -1076,12 +1218,12 @@ msgstr "Honekin enkriptatu: " + #. Displays the output of the recommendation engine + #. (Off, No, Discouraged, Available, Yes) + #. +-#: compose.c:483 ++#: compose.c:482 + #, fuzzy + msgid "Recommendation: " + msgstr "erantzun-honi eremua aldatu" + +-#: compose.c:547 ++#: compose.c:546 + msgid "" + msgstr "" + +@@ -1092,7 +1234,7 @@ msgstr "" + #. The filename is located last to avoid a long path hiding the + #. error message. + #. +-#: compose.c:601 ++#: compose.c:600 + #, fuzzy, c-format + msgid "Attachment #%d no longer exists: %s" + msgstr "%s [#%d] ez da gehiago existitzen" +@@ -1104,240 +1246,360 @@ msgstr "%s [#%d] ez da gehiago existitzen" + #. The filename is located last to avoid a long path hiding the + #. prompt question. + #. +-#: compose.c:621 ++#: compose.c:620 + #, fuzzy, c-format + msgid "Attachment #%d modified. Update encoding for %s?" + msgstr "%s [#%d] aldaturik. Kodeketea eguneratu?" + +-#: compose.c:716 ++#: compose.c:715 + msgid "-- Attachments" + msgstr "-- Gehigarriak" + +-#: compose.c:770 ++#: compose.c:769 + msgid "You may not delete the only attachment" + msgstr "Ezin duzu gehigarri bakarra ezabatu" + +-#: compose.c:1296 edit.c:538 send.c:2462 ++#: compose.c:1356 edit.c:536 send.c:2473 + #, c-format + msgid "Bad IDN in '%s': '%s'" + msgstr "IDN okerra '%s'-n: '%s'" + +-#: compose.c:1347 ++#: compose.c:1407 + #, fuzzy + msgid "Attachment is already at top" + msgstr "Gehigarria gordea" + +-#: compose.c:1352 compose.c:1368 ++#: compose.c:1412 compose.c:1428 + #, fuzzy + msgid "The fundamental part can't be moved" + msgstr "Gehigarri hau ezin da bihurtu" + +-#: compose.c:1363 ++#: compose.c:1423 + #, fuzzy + msgid "Attachment is already at bottom" + msgstr "Gehigarria iragazirik" + +-#: compose.c:1381 ++#: compose.c:1441 + msgid "Grouping 'alternatives' requires at least 2 tagged messages" + msgstr "" + +-#: compose.c:1462 ++#: compose.c:1522 + msgid "Grouping 'multilingual' requires at least 2 tagged messages" + msgstr "" + +-#: compose.c:1475 ++#: compose.c:1535 + msgid "Not all parts have 'Content-Language' set, continue?" + msgstr "" + +-#: compose.c:1477 ++#: compose.c:1537 + #, fuzzy + msgid "Not sending this message" + msgstr "Errorea mezua bidaltzerakoan" + +-#: compose.c:1571 ++#: compose.c:1631 + #, fuzzy + msgid "Attaching selected file..." + msgid_plural "Attaching selected files..." + msgstr[0] "Aukeratutako fitxategia gehitzen..." + msgstr[1] "Aukeratutako fitxategia gehitzen..." + +-#: compose.c:1585 ++#: compose.c:1645 + #, c-format + msgid "Unable to attach %s" + msgstr "Ezin da %s gehitu" + +-#: compose.c:1606 ++#: compose.c:1666 + msgid "Open mailbox to attach message from" + msgstr "Bertatik mezu bat gehitzeko postakutxa ireki" + +-#: compose.c:1616 ++#: compose.c:1676 + #, fuzzy + msgid "Open newsgroup to attach message from" + msgstr "Bertatik mezu bat gehitzeko postakutxa ireki" + +-#: compose.c:1667 ++#: compose.c:1730 + #, fuzzy, c-format + msgid "Unable to open mailbox %s" + msgstr "Ezin da postakutxa blokeatu!" + +-#: compose.c:1676 ++#: compose.c:1739 + msgid "No messages in that folder" + msgstr "Ez dago mezurik karpeta honetan" + +-#: compose.c:1686 ++#: compose.c:1749 + msgid "Tag the messages you want to attach" + msgstr "Gehitu nahi dituzun mezuak markatu" + +-#: compose.c:1715 ++#: compose.c:1785 + msgid "Unable to attach" + msgstr "Ezin da gehitu" + +-#: compose.c:1752 ++#: compose.c:1822 + msgid "Recoding only affects text attachments" + msgstr "Gordetzeak mezu gehigarriei bakarrik eragiten die" + +-#: compose.c:1757 ++#: compose.c:1827 + msgid "The current attachment won't be converted" + msgstr "Gehigarri hau ezin da bihurtu" + +-#: compose.c:1759 ++#: compose.c:1829 + msgid "The current attachment will be converted" + msgstr "Gehigarri hau bihurtua izango da" + +-#: compose.c:1831 ++#: compose.c:1901 + msgid "Empty 'Content-Language'" + msgstr "" + +-#: compose.c:1849 ++#: compose.c:1920 + msgid "Invalid encoding" + msgstr "Kodifikazio baliogabea" + +-#: compose.c:1871 ++#: compose.c:1942 + msgid "Save a copy of this message?" + msgstr "Mezu honen kopia gorde?" + +-#: compose.c:1924 ++#: compose.c:1995 + #, fuzzy + msgid "Send attachment with name: " + msgstr "gehigarriak testua balira ikusi" + +-#: compose.c:1939 ++#: compose.c:2010 + msgid "Rename to: " + msgstr "Honetara berrizendatu: " + + #. L10N: "stat" is a system call. Do "man 2 stat" for more information. +-#: compose.c:1946 editmsg.c:102 editmsg.c:138 sendlib.c:1050 ++#: compose.c:2017 editmsg.c:102 editmsg.c:138 sendlib.c:1049 + #, c-format + msgid "Can't stat %s: %s" + msgstr "Ezin egiaztatu %s egoera: %s" + +-#: compose.c:1966 ++#: compose.c:2037 + msgid "New file: " + msgstr "Fitxategi berria: " + +-#: compose.c:1984 ++#: compose.c:2055 + msgid "Content-Type is of the form base/sub" + msgstr "Eduki-mota base/sub modukoa da" + +-#: compose.c:1991 ++#: compose.c:2062 + #, c-format + msgid "Unknown Content-Type %s" + msgstr "%s eduki mota ezezaguna" + +-#: compose.c:1999 ++#: compose.c:2070 + #, c-format + msgid "Can't create file %s" + msgstr "Ezin da %s fitxategia sortu" + +-#: compose.c:2008 ++#: compose.c:2079 + msgid "What we have here is a failure to make an attachment" + msgstr "Hemen duguna gehigarria sortzerakoan huts bat da" + +-#: compose.c:2073 ++#: compose.c:2144 + #, fuzzy + msgid "Save (postpone) draft message?" + msgstr "Atzeraturiko mezuak hartu?" + +-#: compose.c:2133 ++#: compose.c:2204 + msgid "Write message to mailbox" + msgstr "Mezuak postakutxan gorde" + +-#: compose.c:2136 ++#: compose.c:2207 + #, c-format + msgid "Writing message to %s ..." + msgstr "Mezuak %s-n gordetzen ..." + +-#: compose.c:2143 ++#: compose.c:2214 + msgid "Message written" + msgstr "Mezua idazten" + +-#: compose.c:2154 ++#: compose.c:2225 + msgid "No PGP backend configured" + msgstr "" + +-#: compose.c:2161 compose.c:2225 ++#: compose.c:2232 compose.c:2296 + msgid "S/MIME already selected. Clear and continue?" + msgstr "S/MIME dagoeneko aukeraturik. Garbitu era jarraitu ?" + +-#: compose.c:2186 ++#: compose.c:2257 + msgid "No S/MIME backend configured" + msgstr "" + +-#: compose.c:2194 ++#: compose.c:2265 + msgid "PGP already selected. Clear and continue?" + msgstr "PGP dagoeneko aukeraturik. Garbitu eta jarraitu?" + +-#: compress.c:355 compress.c:499 ++#: compress/compress.c:354 compress/compress.c:498 + #, c-format + msgid "Can't append without an append-hook or close-hook : %s" + msgstr "" + +-#: compress.c:444 compress.c:511 compress.c:590 compress.c:628 mbox/mbox.c:1208 ++#: compress/compress.c:443 compress/compress.c:510 compress/compress.c:589 ++#: compress/compress.c:627 mbox/mbox.c:1208 + msgid "Unable to lock mailbox" + msgstr "Ezin da postakutxa blokeatu" + +-#: compress.c:448 compress.c:518 compress.c:594 ++#: compress/compress.c:447 compress/compress.c:517 compress/compress.c:593 + #, c-format + msgid "Decompressing %s" + msgstr "" + +-#: compress.c:457 ++#: compress/compress.c:456 + msgid "Can't identify the contents of the compressed file" + msgstr "" + +-#: compress.c:464 compress.c:539 ++#: compress/compress.c:463 compress/compress.c:538 + #, c-format + msgid "Can't find mailbox ops for mailbox type %d" + msgstr "" + +-#: compress.c:521 ++#: compress/compress.c:520 + #, fuzzy, c-format + msgid "Compress command failed: %s" + msgstr "Aurrekonexio komandoak huts egin du." + +-#: compress.c:532 ++#: compress/compress.c:531 + msgid "Unsupported mailbox type for appending" + msgstr "" + +-#: compress.c:618 ++#: compress/compress.c:617 + msgid "Can't sync a compressed file without a close-hook" + msgstr "" + +-#: compress.c:640 compress.c:692 ++#: compress/compress.c:639 compress/compress.c:691 + #, fuzzy, c-format + msgid "Compressing %s" + msgstr "Hona kopiatzen %s..." + +-#: compress.c:687 ++#: compress/compress.c:686 + #, fuzzy, c-format + msgid "Compressed-appending to %s..." + msgstr "Hona kopiatzen %s..." + +-#: compress.c:699 editmsg.c:247 ++#: compress/compress.c:698 editmsg.c:247 + #, c-format + msgid "Error. Preserving temporary file: %s" + msgstr "Errorea. Behin behineko fitxategi gordetzen: %s" + ++#: config/bool.c:70 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %s" ++msgstr "Data erlatibo baliogabea: %s" ++ ++#: config/bool.c:131 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %ld" ++msgstr "Data erlatibo baliogabea: %s" ++ ++#: config/enum.c:62 ++#, fuzzy, c-format ++msgid "Invalid enum value: %s" ++msgstr "%d: mezu zenbaki okerra.\n" ++ ++#: config/enum.c:149 ++#, fuzzy, c-format ++msgid "Invalid enum value: %ld" ++msgstr "Baliogabeko hilabete eguna: %s" ++ ++#: config/long.c:50 ++#, fuzzy, c-format ++msgid "Invalid long: %s" ++msgstr "Baliogabeko hilabetea: %s" ++ ++#: config/long.c:56 config/long.c:114 config/number.c:68 config/number.c:133 ++#, fuzzy, c-format ++msgid "Option %s may not be negative" ++msgstr "Mezu-gehitze moduan baimenik gabeko funtzioa." ++ ++#: config/number.c:49 config/sort.c:145 config/string.c:75 config/string.c:159 ++#, c-format ++msgid "Option %s may not be empty" ++msgstr "" ++ ++#: config/number.c:56 ++#, fuzzy, c-format ++msgid "Invalid number: %s" ++msgstr "%d: mezu zenbaki okerra.\n" ++ ++#: config/number.c:62 ++#, c-format ++msgid "Number is too big: %s" ++msgstr "" ++ ++#: config/number.c:127 ++#, fuzzy, c-format ++msgid "Invalid number: %ld" ++msgstr "%d: mezu zenbaki okerra.\n" ++ ++#: config/quad.c:69 ++#, fuzzy, c-format ++msgid "Invalid quad value: %s" ++msgstr "Data erlatibo baliogabea: %s" ++ ++#: config/quad.c:133 ++#, fuzzy, c-format ++msgid "Invalid quad value: %ld" ++msgstr "Baliogabeko hilabete eguna: %s" ++ ++#: config/set.c:102 ++#, c-format ++msgid "No such variable: %s" ++msgstr "" ++ ++#: config/set.c:134 config/set.c:821 ++#, fuzzy, c-format ++msgid "Variable '%s' has an invalid type %d" ++msgstr "Errorea: '%s' IDN okerra da" ++ ++#: config/set.c:399 config/set.c:463 config/set.c:528 config/set.c:601 ++#: config/set.c:671 config/set.c:744 ++#, fuzzy, c-format ++msgid "Unknown variable '%s'" ++msgstr "%s: aldagai ezezaguna" ++ ++#: config/sort.c:192 ++#, fuzzy, c-format ++msgid "Invalid sort name: %s" ++msgstr "Data erlatibo baliogabea: %s" ++ ++#: config/sort.c:322 ++#, fuzzy, c-format ++msgid "Invalid sort type: %ld" ++msgstr "Data erlatibo baliogabea: %s" ++ ++#. L10N: Example: Username at myhost.com ++#: conn/connaccount.c:61 ++#, c-format ++msgid "Username at %s: " ++msgstr "%s -n erabiltzaile izena: " ++ ++#: conn/connaccount.c:117 ++#, c-format ++msgid "Password for %s@%s: " ++msgstr "%s@%s-ren pasahitza: " ++ ++#. L10N: You will see this error message if (1) you have "oauthbearer" in ++#. one of your $*_authenticators and (2) you do not have the corresponding ++#. $*_oauth_refresh_command defined. So the message does not mean "None of ++#. your $*_oauth_refresh_command's are defined." ++#: conn/connaccount.c:165 ++#, fuzzy ++msgid "No OAUTH refresh command defined" ++msgstr "Bilaketa komadoa ezarri gabea" ++ ++#: conn/connaccount.c:173 ++msgid "Unable to run refresh command" ++msgstr "" ++ ++#: conn/connaccount.c:184 ++msgid "Command returned empty string" ++msgstr "" ++ ++#: conn/connaccount.c:191 ++#, c-format ++msgid "OAUTH token is too big: %ld" ++msgstr "" ++ + #: conn/conn_raw.c:160 conn/conn_raw.c:218 + #, c-format + msgid "Looking up %s..." +@@ -1358,7 +1620,7 @@ msgstr "%s-ra konektatzen..." + msgid "Could not connect to %s (%s)" + msgstr "Ezin da %s (%s)-ra konektatu" + +-#: conn/conn_raw.c:260 conn/ssl.c:1230 curs_lib.c:568 mutt_logging.c:149 ++#: conn/conn_raw.c:260 conn/ssl.c:1245 gui/curs_lib.c:569 mutt_logging.c:147 + msgid "unknown error" + msgstr "errore ezezaguna" + +@@ -1372,23 +1634,23 @@ msgstr "Errorea %s (%s) komunikatzerakoan" + msgid "Connection to %s has been aborted" + msgstr "%s-rekiko konexioa itxia" + +-#: conn/sasl.c:565 ++#: conn/sasl.c:547 + msgid "Unknown SASL profile" + msgstr "SASL profil ezezaguna" + +-#: conn/sasl.c:598 ++#: conn/sasl.c:580 + msgid "Error allocating SASL connection" + msgstr "Errorea SASL konexioa esleitzerakoan" + +-#: conn/sasl.c:608 ++#: conn/sasl.c:590 + msgid "Error setting SASL security properties" + msgstr "Errorea SASL segurtasun propietateak ezartzean" + +-#: conn/sasl.c:619 ++#: conn/sasl.c:601 + msgid "Error setting SASL external security strength" + msgstr "Errorea SASL kanpo segurtasun maila ezartzean" + +-#: conn/sasl.c:629 ++#: conn/sasl.c:611 + msgid "Error setting SASL external user name" + msgstr "Errorea SASL kanpo erabiltzaile izena ezartzean" + +@@ -1401,138 +1663,112 @@ msgstr "Aurrekonexio komandoak huts egin du" + msgid "Connection to %s closed" + msgstr "%s-rekiko konexioa itxia" + +-#: conn/ssl.c:237 ++#: conn/ssl.c:222 + #, c-format + msgid "Filling entropy pool: %s..." + msgstr "Entropia elkarbiltzea betetzen: %s..." + +-#: conn/ssl.c:243 ++#: conn/ssl.c:228 + #, c-format + msgid "%s has insecure permissions" + msgstr "%s ziurtasun gabeko biamenak ditu" + +-#: conn/ssl.c:385 ++#: conn/ssl.c:369 + #, fuzzy + msgid "SSL disabled due to the lack of entropy" + msgstr "Entropia gabezia dela eta SSL ezgaitu egin da" + +-#: conn/ssl.c:402 ++#: conn/ssl.c:386 + msgid "Unknown" + msgstr "Ezezaguna" + +-#: conn/ssl.c:421 conn/ssl_gnutls.c:186 ++#: conn/ssl.c:405 conn/ssl_gnutls.c:188 + #, c-format + msgid "[unable to calculate]" + msgstr "[ezin da kalkulatu]" + +-#: conn/ssl.c:446 ++#: conn/ssl.c:430 + msgid "[invalid date]" + msgstr "[baliogabeko data]" + +-#: conn/ssl.c:506 ++#: conn/ssl.c:490 + msgid "Server certificate is not yet valid" + msgstr "Jadanik zerbitzari ziurtagiria ez da baliozkoa" + +-#: conn/ssl.c:516 ++#: conn/ssl.c:500 + msgid "Server certificate has expired" + msgstr "Zerbitzariaren ziurtagiria denboraz kanpo dago" + +-#: conn/ssl.c:605 ++#: conn/ssl.c:589 + msgid "Failed to find enough entropy on your system" + msgstr "Huts zure sisteman entropia nahikoak bidaltzerakoan" + +-#: conn/ssl.c:799 ++#: conn/ssl.c:783 + #, fuzzy + msgid "can't get certificate subject" + msgstr "Auzolagunengatik ezin da ziurtagiria jaso" + +-#: conn/ssl.c:808 conn/ssl.c:816 ++#: conn/ssl.c:792 conn/ssl.c:800 + #, fuzzy + msgid "can't get certificate common name" + msgstr "Auzolagunengatik ezin da ziurtagiria jaso" + +-#: conn/ssl.c:830 ++#: conn/ssl.c:814 + #, fuzzy, c-format + msgid "certificate owner does not match hostname %s" + msgstr "S/MIME ziurtagiriaren jabea ez da mezua bidali duena." + +-#: conn/ssl.c:904 conn/ssl_gnutls.c:539 ++#: conn/ssl.c:917 conn/ssl_gnutls.c:570 + msgid "This certificate belongs to:" + msgstr "Ziurtagiriaren jabea:" + +-#: conn/ssl.c:913 conn/ssl_gnutls.c:593 ++#: conn/ssl.c:926 conn/ssl_gnutls.c:624 + msgid "This certificate was issued by:" + msgstr "Honek emandako ziurtagiria:" + +-#: conn/ssl.c:922 conn/ssl_gnutls.c:604 ++#: conn/ssl.c:935 conn/ssl_gnutls.c:635 + msgid "This certificate is valid" + msgstr "Ziurtagiria hau baliozkoa da" + +-#: conn/ssl.c:923 conn/ssl_gnutls.c:608 ++#: conn/ssl.c:936 conn/ssl_gnutls.c:639 + #, c-format + msgid " from %s" + msgstr " %s-tik" + +-#: conn/ssl.c:925 conn/ssl_gnutls.c:612 ++#: conn/ssl.c:938 conn/ssl_gnutls.c:643 + #, c-format + msgid " to %s" +-msgstr " %s-ra" +- +-#: conn/ssl.c:931 conn/ssl_gnutls.c:617 +-#, c-format +-msgid "SHA1 Fingerprint: %s" +-msgstr "SHA1 Hatz-marka: %s" +- +-#: conn/ssl.c:937 conn/ssl.c:940 conn/ssl_gnutls.c:623 conn/ssl_gnutls.c:625 +-#, fuzzy +-msgid "SHA256 Fingerprint: " +-msgstr "SHA1 Hatz-marka: %s" +- +-#: conn/ssl.c:944 conn/ssl_gnutls.c:664 +-#, c-format +-msgid "SSL Certificate check (certificate %zu of %zu in chain)" +-msgstr "" +- +-#. L10N: These four letters correspond to the choices in the next four strings: +-#. (r)eject, accept (o)nce, (a)ccept always, (s)kip. +-#. These prompts are the interactive certificate confirmation prompts for +-#. an OpenSSL connection. +-#: conn/ssl.c:964 +-msgid "roas" +-msgstr "" +- +-#: conn/ssl.c:968 +-#, fuzzy +-msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" +-msgstr "(u)katu, behin (o)nartu, (b)etirko onartu" ++msgstr " %s-ra" + +-#: conn/ssl.c:970 conn/ssl_gnutls.c:671 +-msgid "(r)eject, accept (o)nce, (a)ccept always" +-msgstr "(u)katu, behin (o)nartu, (b)etirko onartu" ++#: conn/ssl.c:944 conn/ssl_gnutls.c:648 ++#, c-format ++msgid "SHA1 Fingerprint: %s" ++msgstr "SHA1 Hatz-marka: %s" + +-#: conn/ssl.c:975 ++#: conn/ssl.c:950 conn/ssl.c:953 conn/ssl_gnutls.c:654 conn/ssl_gnutls.c:656 + #, fuzzy +-msgid "(r)eject, accept (o)nce, (s)kip" +-msgstr "(u)katu, behin (o)nartu" ++msgid "SHA256 Fingerprint: " ++msgstr "SHA1 Hatz-marka: %s" + +-#: conn/ssl.c:977 conn/ssl_gnutls.c:680 +-msgid "(r)eject, accept (o)nce" +-msgstr "(u)katu, behin (o)nartu" ++#: conn/ssl.c:957 conn/ssl_gnutls.c:695 ++#, c-format ++msgid "SSL Certificate check (certificate %zu of %zu in chain)" ++msgstr "" + +-#: conn/ssl.c:981 conn/ssl_gnutls.c:689 ncrypt/crypt_gpgme.c:4729 +-#: ncrypt/pgpkey.c:664 ncrypt/smime.c:549 ++#: conn/ssl.c:994 conn/ssl_gnutls.c:720 ncrypt/crypt_gpgme.c:4777 ++#: ncrypt/pgpkey.c:667 ncrypt/smime.c:551 + msgid "Exit " + msgstr "Irten " + +-#: conn/ssl.c:1016 conn/ssl_gnutls.c:742 ++#: conn/ssl.c:1029 conn/ssl_gnutls.c:773 + msgid "Warning: Couldn't save certificate" + msgstr "Kontuz: Ezin da ziurtagiria gorde" + +-#: conn/ssl.c:1020 conn/ssl_gnutls.c:746 ++#: conn/ssl.c:1033 conn/ssl_gnutls.c:777 + msgid "Certificate saved" + msgstr "Ziurtagiria gordea" + +-#: conn/ssl.c:1132 ++#: conn/ssl.c:1147 + #, fuzzy, c-format + msgid "Certificate host check failed: %s" + msgstr "Ziurtagiria gordea" +@@ -1540,15 +1776,15 @@ msgstr "Ziurtagiria gordea" + #. L10N: This is a warning when trying to set the host name for + #. * TLS Server Name Indication (SNI). This allows the server to present + #. * the correct certificate if it supports multiple hosts. +-#: conn/ssl.c:1213 conn/ssl_gnutls.c:1072 ++#: conn/ssl.c:1228 conn/ssl_gnutls.c:1105 + msgid "Warning: unable to set TLS SNI host name" + msgstr "" + +-#: conn/ssl.c:1224 ++#: conn/ssl.c:1239 + msgid "I/O error" + msgstr "S/I errorea" + +-#: conn/ssl.c:1233 ++#: conn/ssl.c:1248 + #, c-format + msgid "SSL failed: %s" + msgstr "SSL hutsa: %s" +@@ -1556,90 +1792,74 @@ msgstr "SSL hutsa: %s" + #. L10N: an SSL context is a data structure returned by the OpenSSL + #. function SSL_CTX_new(). In this case it returned NULL: an + #. error condition. +-#: conn/ssl.c:1269 ++#: conn/ssl.c:1284 + #, fuzzy + msgid "Unable to create SSL context" + msgstr "Errorea: Ezin da OpenSSL azpiprozesua sortu!" + +-#: conn/ssl.c:1322 ++#: conn/ssl.c:1337 + msgid "Warning: error enabling ssl_verify_partial_chains" + msgstr "" + +-#: conn/ssl_gnutls.c:150 conn/ssl_gnutls.c:784 conn/ssl_gnutls.c:793 ++#: conn/ssl_gnutls.c:152 conn/ssl_gnutls.c:817 conn/ssl_gnutls.c:826 + msgid "Unable to get certificate from peer" + msgstr "Auzolagunengatik ezin da ziurtagiria jaso" + +-#: conn/ssl_gnutls.c:155 ++#: conn/ssl_gnutls.c:157 + #, c-format + msgid "Certificate verification error (%s)" + msgstr "Ziurtagiria egiaztapen errorea (%s)" + +-#: conn/ssl_gnutls.c:162 ++#: conn/ssl_gnutls.c:164 + msgid "Certificate is not X.509" + msgstr "Ziurtagiria ez da X.509" + +-#: conn/ssl_gnutls.c:349 conn/ssl_gnutls.c:483 ++#: conn/ssl_gnutls.c:351 conn/ssl_gnutls.c:485 + msgid "Error initialising gnutls certificate data" + msgstr "Errorea gnutls ziurtagiri datuak abiaraztean" + +-#: conn/ssl_gnutls.c:355 conn/ssl_gnutls.c:489 ++#: conn/ssl_gnutls.c:357 conn/ssl_gnutls.c:491 + msgid "Error processing certificate data" + msgstr "Errorea ziurtagiri datuak prozesatzerakoan" + +-#: conn/ssl_gnutls.c:635 ++#: conn/ssl_gnutls.c:666 + msgid "WARNING: Server certificate is not yet valid" + msgstr "ABISUA Zerbitzari ziurtagiria ez baliozkoa dagoeneko" + +-#: conn/ssl_gnutls.c:640 ++#: conn/ssl_gnutls.c:671 + msgid "WARNING: Server certificate has expired" + msgstr "ABISUA Zerbitzaria ziurtagiria iraungi egin da" + +-#: conn/ssl_gnutls.c:645 ++#: conn/ssl_gnutls.c:676 + msgid "WARNING: Server certificate has been revoked" + msgstr "ABISUA Zerbitzariaziurtagiria errebokatu egin da" + +-#: conn/ssl_gnutls.c:650 ++#: conn/ssl_gnutls.c:681 + msgid "WARNING: Server hostname does not match certificate" + msgstr "ABISUA Zerbitzari ostalari izena ez da ziurtagiriko berdina" + +-#: conn/ssl_gnutls.c:655 ++#: conn/ssl_gnutls.c:686 + msgid "WARNING: Signer of server certificate is not a CA" + msgstr "KONTUZ:: Zerbitzari ziurtagiri sinatzailea ez da CA" + +-#: conn/ssl_gnutls.c:659 conn/ssl_gnutls.c:1004 ++#: conn/ssl_gnutls.c:690 conn/ssl_gnutls.c:1037 + msgid "Warning: Server certificate was signed using an insecure algorithm" + msgstr "" + +-#. L10N: These three letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce, (a)ccept always. +-#. This is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:676 +-msgid "roa" +-msgstr "uob" +- +-#. L10N: These two letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce. +-#. These is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:685 +-msgid "ro" +-msgstr "uo" +- +-#: conn/ssl_gnutls.c:950 conn/ssl_gnutls.c:992 ++#: conn/ssl_gnutls.c:983 conn/ssl_gnutls.c:1025 + msgid "All available protocols for TLS/SSL connection disabled" + msgstr "TLS/SSL bidezko protokolo erabilgarri guztiak ezgaiturik" + +-#: conn/ssl_gnutls.c:999 ++#: conn/ssl_gnutls.c:1032 + msgid "Explicit ciphersuite selection via $ssl_ciphers not supported" + msgstr "" + +-#: conn/ssl_gnutls.c:1120 ++#: conn/ssl_gnutls.c:1153 + #, c-format + msgid "SSL/TLS connection using %s (%s/%s/%s)" + msgstr "SSL/TLS konexioa hau erabiliaz: %s (%s/%s/%s)" + +-#: conn/ssl_gnutls.c:1175 conn/ssl_gnutls.c:1204 ++#: conn/ssl_gnutls.c:1210 conn/ssl_gnutls.c:1239 + msgid "Error: no TLS socket open" + msgstr "Errorea ez da TLS socket-ik ireki" + +@@ -1658,38 +1878,18 @@ msgstr "Tunel errorea %s-rekiko konexioan: %s" + msgid "Tunnel to %s returned error %d (%s)" + msgstr "%s-rako tunelak %d errorea itzuli du (%s)" + +-#: copy.c:660 ++#: copy.c:662 + #, c-format + msgid "The length calculation was wrong by %ld byte" + msgid_plural "The length calculation was wrong by %ld bytes" + msgstr[0] "" + msgstr[1] "" + +-#: copy.c:744 ++#: copy.c:746 + msgid "No decryption engine available for message" + msgstr "" + +-#: curs_lib.c:378 +-msgid "yes" +-msgstr "bai" +- +-#: curs_lib.c:379 +-msgid "no" +-msgstr "ez" +- +-#: curs_lib.c:518 +-msgid "Exit NeoMutt?" +-msgstr "NeoMutt utzi?" +- +-#: curs_lib.c:597 +-msgid "Press any key to continue..." +-msgstr "Edozein tekla jo jarraitzeko..." +- +-#: curs_lib.c:705 +-msgid " ('?' for list): " +-msgstr " (? zerrendarako): " +- +-#: edit.c:64 ++#: edit.c:62 + #, fuzzy + msgid "" + "~~ insert a line beginning with a single ~\n" +@@ -1712,7 +1912,7 @@ msgstr "" + "~M mezuak ~m-ren berdina, baina buruak ere txertatuaz\n" + "~p inprimatu mezua\n" + +-#: edit.c:75 ++#: edit.c:73 + msgid "" + "~q write file and quit editor\n" + "~r file read a file into the editor\n" +@@ -1734,20 +1934,20 @@ msgstr "" + "~? mezu hau\n" + ". bakarrik lerro batetan sarrera amaitzen du\n" + +-#: edit.c:261 ++#: edit.c:259 + #, c-format + msgid "%d: invalid message number.\n" + msgstr "%d: mezu zenbaki okerra.\n" + +-#: edit.c:416 ++#: edit.c:414 + msgid "(End message with a . on a line by itself)\n" + msgstr "(Mezua . bakarreko lerro batekin amaitu)\n" + +-#: edit.c:474 ++#: edit.c:472 + msgid "No mailbox.\n" + msgstr "Ez dago postakutxarik.\n" + +-#: edit.c:478 ++#: edit.c:476 + msgid "Message contains:\n" + msgstr "Mezuaren edukia:\n" + +@@ -1755,19 +1955,19 @@ msgstr "Mezuaren edukia:\n" + #. not IN the middle of the content. + #. So it doesn't mean "(message will continue)" + #. but means "(press any key to continue using neomutt)". +-#: edit.c:486 edit.c:547 ++#: edit.c:484 edit.c:545 + msgid "(continue)\n" + msgstr "(jarraitu)\n" + +-#: edit.c:499 ++#: edit.c:497 + msgid "missing filename.\n" + msgstr "fitxategi izena ez da aurkitu.\n" + +-#: edit.c:519 ++#: edit.c:517 + msgid "No lines in message.\n" + msgstr "Ez dago lerrorik mezuan.\n" + +-#: edit.c:558 ++#: edit.c:556 + #, c-format + msgid "%s: unknown editor command (~? for help)\n" + msgstr "%s: editore komando ezezaguna (~? laguntzarako)\n" +@@ -1815,19 +2015,73 @@ msgstr "Ezin karpetan gehitu: %s" + msgid "multipart message has no boundary parameter" + msgstr "zati anitzeko mezuak ez du errebote parametrorik" + +-#: flags.c:382 index.c:2561 index.c:2604 index.c:3134 index.c:3171 ++#: flags.c:381 index.c:2587 index.c:2630 index.c:3160 index.c:3197 + #: mutt_thread.c:1091 mutt_thread.c:1158 mutt_thread.c:1246 + msgid "Threading is not enabled" + msgstr "Hari bihurketa ez dago gaiturik" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Set flag" + msgstr "Bandera ezarri" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Clear flag" + msgstr "Bandera ezabatu" + ++#: gui/color.c:633 gui/color.c:644 ++#, c-format ++msgid "%s: color not supported by term" ++msgstr "%s: kolorea ez du terminalak onartzen" ++ ++#: gui/color.c:652 ++#, c-format ++msgid "%s: no such color" ++msgstr "%s: ez da kolorea aurkitu" ++ ++#: gui/color.c:717 gui/color.c:740 gui/color.c:751 gui/color.c:842 ++#, c-format ++msgid "%s: no such object" ++msgstr "%s: ez da objektua aurkitu" ++ ++#: gui/color.c:1142 ++#, c-format ++msgid "%s: no such attribute" ++msgstr "%s: ez da atributua aurkitu" ++ ++#: gui/color.c:1244 ++msgid "default colors not supported" ++msgstr "lehenetsitako kolorea ez da onartzen" ++ ++#: gui/color.c:1282 ++#, c-format ++msgid "Maximum quoting level is %d" ++msgstr "" ++ ++#: gui/color.c:1319 ++#, fuzzy, c-format ++msgid "%s: invalid number: %s" ++msgstr "%d: mezu zenbaki okerra.\n" ++ ++#: gui/curs_lib.c:379 ++msgid "yes" ++msgstr "bai" ++ ++#: gui/curs_lib.c:380 ++msgid "no" ++msgstr "ez" ++ ++#: gui/curs_lib.c:519 ++msgid "Exit NeoMutt?" ++msgstr "NeoMutt utzi?" ++ ++#: gui/curs_lib.c:598 ++msgid "Press any key to continue..." ++msgstr "Edozein tekla jo jarraitzeko..." ++ ++#: gui/curs_lib.c:749 ++msgid " ('?' for list): " ++msgstr " (? zerrendarako): " ++ + #: handler.c:102 + #, fuzzy, c-format + msgid "[-- Type: %s/%s%s%s, Encoding: %s, Size: %s --]\n" +@@ -1848,23 +2102,23 @@ msgstr "[-- Autoerkutsi %s erabiliaz --]\n" + msgid "Invoking autoview command: %s" + msgstr "Autoikusketarako komandoa deitzen: %s" + +-#: handler.c:591 mutt_attach.c:527 mutt_attach.c:714 mutt_attach.c:745 +-#: mutt_attach.c:1087 mutt_attach.c:1152 ncrypt/pgpkey.c:723 +-#: ncrypt/pgpkey.c:920 ++#: handler.c:590 mutt_attach.c:555 mutt_attach.c:747 mutt_attach.c:778 ++#: mutt_attach.c:1120 mutt_attach.c:1185 ncrypt/pgpkey.c:756 ++#: ncrypt/pgpkey.c:955 + msgid "Can't create filter" + msgstr "Ezin da iragazkia sortu" + +-#: handler.c:595 ++#: handler.c:594 + #, c-format + msgid "[-- Can't run %s. --]\n" + msgstr "[-- Ezin da %s abiarazi. --]\n" + +-#: handler.c:614 handler.c:635 ++#: handler.c:613 handler.c:634 + #, c-format + msgid "[-- Autoview stderr of %s --]\n" + msgstr "[-- Aurreikusi %s-eko stderr --]\n" + +-#: handler.c:764 ++#: handler.c:763 + msgid "[-- Error: message/external-body has no access-type parameter --]\n" + msgstr "[-- Erroreak: mezu/kanpoko edukiak ez du access-type parametrorik --]\n" + +@@ -1883,7 +2137,7 @@ msgstr "[-- Erroreak: mezu/kanpoko edukiak ez du access-type parametrorik --]\n" + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:807 ++#: handler.c:806 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" +@@ -1912,7 +2166,7 @@ msgstr[1] "" + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:830 ++#: handler.c:829 + #, fuzzy, c-format + msgid "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" + msgid_plural "[-- This %s/%s attachment (size %s bytes) has been deleted --]\n" +@@ -1926,7 +2180,7 @@ msgstr[1] "[-- %s/%s gehigarri hau (tamaina %s byte) ezabatua izan da --]\n" + #. + #. Caution: Argument three %3$ is also defined but should not be used + #. in this translation! +-#: handler.c:848 ++#: handler.c:847 + #, fuzzy + msgid "" + "[-- This %s/%s attachment has been deleted --]\n" +@@ -1938,12 +2192,12 @@ msgstr "" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The first "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:856 ++#: handler.c:855 + #, fuzzy, c-format + msgid "[-- This %s/%s attachment has been deleted --]\n" + msgstr "[-- %s/%s gehigarri hau ezabatua izan da --]\n" + +-#: handler.c:866 ++#: handler.c:865 + #, c-format + msgid "[-- name: %s --]\n" + msgstr "[-- izena: %s --]\n" +@@ -1951,7 +2205,7 @@ msgstr "[-- izena: %s --]\n" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:884 ++#: handler.c:883 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -1967,7 +2221,7 @@ msgstr "" + #. The "%s/%s" is a MIME type, e.g. "text/plain". The %s after + #. access-type is an access-type as defined by the MIME RFCs, e.g. "FTP", + #. "LOCAL-FILE", "MAIL-SERVER". +-#: handler.c:905 ++#: handler.c:904 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -1976,96 +2230,96 @@ msgstr "" + "[-- %s/%s gehigarria ez dago gehiturik, --]\n" + "[-- eta ezarritako access type %s ez da onartzen --]\n" + +-#: handler.c:1090 ++#: handler.c:1089 + msgid "[-- Error: Could not display any parts of Multipart/Alternative --]\n" + msgstr "[-- Errorea: Ezin da Multipart/Alternative zatirik bistarazi --]\n" + + #. L10N: %s is the attachment description, filename or form_name. +-#: handler.c:1231 ++#: handler.c:1230 + #, fuzzy, c-format + msgid "[-- Attachment #%d: %s --]\n" + msgstr "[-- Gehigarria #%d: %s --]\n" + +-#: handler.c:1236 ++#: handler.c:1235 + #, fuzzy, c-format + msgid "[-- Attachment #%d --]\n" + msgstr "[-- Gehigarria #%d --]\n" + +-#: handler.c:1254 ++#: handler.c:1253 + #, fuzzy + msgid "One or more parts of this message could not be displayed" + msgstr "Abisua -.Mezu honen zati bat ezin izan da sinatu." + +-#: handler.c:1320 ++#: handler.c:1319 + #, fuzzy + msgid "Unable to open 'memory stream'" + msgstr "Ezin da behin-behineko fitxategia ireki" + +-#: handler.c:1330 ++#: handler.c:1329 + msgid "Unable to open temporary file" + msgstr "Ezin da behin-behineko fitxategia ireki" + +-#: handler.c:1379 ++#: handler.c:1378 + #, fuzzy + msgid "failed to re-open 'memory stream'" + msgstr "Ezin da behin-behineko fitxategia ireki" + +-#: handler.c:1620 ++#: handler.c:1619 + msgid "Error: multipart/signed has no protocol" + msgstr "Errorea: zati anitzeko sinadurak ez du protokolorik" + + #. L10N: %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1694 ++#: handler.c:1693 + #, fuzzy, c-format + msgid "[-- This is an attachment (use '%s' to view this part) --]\n" + msgstr "[-- %s/%s gehigarri hau ('%s' erabili zati hau ikusteko) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". + #. The last %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1701 ++#: handler.c:1700 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported (use '%s' to view this part) --]\n" + msgstr "[-- %s/%s ez da onartzen ('%s' erabili zati hau ikusteko) --]\n" + +-#: handler.c:1709 ++#: handler.c:1708 + #, fuzzy + msgid "[-- This is an attachment (need 'view-attachments' bound to key) --]\n" + msgstr "[-- %s/%s gehigarri hau (lotu 'view-attachments' tekla bati) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1715 ++#: handler.c:1714 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported (need 'view-attachments' bound to key) --]\n" + msgstr "[-- %s/%s ez da onartzen (lotu 'view-attachments' tekla bati) --]\n" + +-#: handler.c:1724 ++#: handler.c:1723 + #, fuzzy + msgid "[-- This is an attachment --]\n" + msgstr "[-- %s/%s gehigarri hau --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1729 ++#: handler.c:1728 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported --]\n" + msgstr "[-- %s/%s ez da onartzen --]\n" + +-#: help.c:400 ++#: help.c:401 + msgid "ERROR: please report this bug" + msgstr "ERROREA: Mesedez zorri honetaz berri eman" + +-#: help.c:455 ++#: help.c:456 + msgid "" + msgstr "" + +-#: help.c:469 ++#: help.c:470 + msgid "Generic bindings:" + msgstr "Lotura orokorrak:" + +-#: help.c:473 ++#: help.c:474 + msgid "Unbound functions:" + msgstr "Loturagabeko funtzioak:" + +-#: help.c:481 ++#: help.c:482 + #, c-format + msgid "Help for %s" + msgstr "%s-rako laguntza" +@@ -2082,41 +2336,41 @@ msgstr "" + msgid "badly formatted command string" + msgstr "" + +-#: hook.c:461 ++#: hook.c:466 + msgid "unhook: Can't do unhook * from within a hook" + msgstr "unhook: Ezin da gantxoaren barnekaldetik desengatxatu" + +-#: hook.c:474 ++#: hook.c:479 + #, c-format + msgid "unhook: unknown hook type: %s" + msgstr "unhook: gantxo mota ezezaguna: %s" + +-#: hook.c:484 ++#: hook.c:489 + #, c-format + msgid "unhook: Can't delete a %s from within a %s" + msgstr "unhook: Ezin da %s bat ezabatu %s baten barnetik" + + #. L10N: '%s' is the (misspelled) name of the menu, e.g. 'index' or 'pager' +-#: icommands.c:259 keymap.c:1161 keymap.c:1346 ++#: icommands.c:261 keymap.c:1159 keymap.c:1344 + #, c-format + msgid "%s: no such menu" + msgstr "%s: ez da menurik" + + #. L10N: '%s' is the name of the menu, e.g. 'index' or 'pager', it might + #. L10N: also be 'all' when all menus are affected. +-#: icommands.c:272 ++#: icommands.c:274 + #, fuzzy, c-format + msgid "%s: no binds for this menu" + msgstr "%s: ez da menurik" + +-#: icommands.c:272 ++#: icommands.c:274 + #, fuzzy, c-format + msgid "%s: no macros for this menu" + msgstr "%s: ez da menurik" + + #. L10N: '%s' is the file name of the temporary file +-#: icommands.c:283 icommands.c:296 icommands.c:316 icommands.c:340 +-#: icommands.c:360 icommands.c:371 imap/message.c:1093 ++#: icommands.c:285 icommands.c:297 icommands.c:317 icommands.c:340 ++#: icommands.c:360 icommands.c:370 imap/message.c:1093 + #, c-format + msgid "Could not create temporary file %s" + msgstr "Ezin da %s fitxategi tenporala sortu" +@@ -2154,30 +2408,30 @@ msgstr "GSSAPI autentifikazioak huts egin du" + msgid "LOGIN disabled on this server" + msgstr "Zerbitzari honetan saio astea ezgaiturik" + +-#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:288 ++#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:289 + msgid "Logging in..." + msgstr "Saio asten..." + +-#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:329 ++#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:330 + msgid "Login failed" + msgstr "Huts saioa hasterakoan" + +-#: imap/auth_oauth.c:64 pop/pop_auth.c:346 smtp.c:524 ++#: imap/auth_oauth.c:65 pop/pop_auth.c:347 smtp.c:549 + #, fuzzy + msgid "Authenticating (OAUTHBEARER)..." + msgstr "Autentifikatzen (SASL)..." + +-#: imap/auth_oauth.c:96 ++#: imap/auth_oauth.c:97 + #, fuzzy + msgid "OAUTHBEARER authentication failed" + msgstr "OAUTHBEARER egiaztapenak huts egin du" + +-#: imap/auth_sasl.c:128 nntp/nntp.c:606 nntp/nntp.c:671 smtp.c:443 ++#: imap/auth_sasl.c:128 nntp/nntp.c:608 nntp/nntp.c:673 smtp.c:468 + #, c-format + msgid "Authenticating (%s)..." + msgstr "Autentifikazioa (%s)..." + +-#: imap/auth_sasl.c:259 pop/pop_auth.c:200 smtp.c:584 smtp.c:646 ++#: imap/auth_sasl.c:259 pop/pop_auth.c:201 smtp.c:609 smtp.c:671 + msgid "SASL authentication failed" + msgstr "SASL egiaztapenak huts egin du" + +@@ -2225,90 +2479,80 @@ msgstr "Berrizendaketak huts egin du: %s" + msgid "Mailbox renamed" + msgstr "Postakutxa berrizendaturik" + +-#: imap/command.c:164 ++#: imap/command.c:177 + #, fuzzy, c-format + msgid "Mailbox %s@%s closed" + msgstr "Postakutxa itxia" + +-#: imap/command.c:1258 imap/command.c:1370 ++#: imap/command.c:1287 imap/command.c:1399 + #, fuzzy, c-format + msgid "Connection to %s timed out" + msgstr "%s-rekiko konexioa itxia" + +-#: imap/imap.c:87 ++#: imap/imap.c:93 + #, fuzzy + msgid "This IMAP server is ancient. NeoMutt does not work with it." + msgstr "IMAP zerbitzaria aspaldikoa da. NeoMutt-ek ezin du berarekin lan egin." + +-#: imap/imap.c:438 ++#: imap/imap.c:444 + #, c-format + msgid "Header search without header name: %s" + msgstr "Goiburu bilaketa goiburu izen gabe: %s" + +-#: imap/imap.c:468 ++#: imap/imap.c:474 + #, c-format + msgid "Server-side custom search not supported: %s" + msgstr "" + +-#: imap/imap.c:584 ++#: imap/imap.c:590 + #, fuzzy, c-format + msgid "CREATE failed: %s" + msgstr "SSL hutsa: %s" + +-#: imap/imap.c:704 ++#: imap/imap.c:710 + #, c-format + msgid "Closing connection to %s..." + msgstr "%s-ra konexioak ixten..." + +-#: imap/imap.c:882 nntp/nntp.c:1889 pop/pop_lib.c:324 smtp.c:687 ++#: imap/imap.c:888 nntp/nntp.c:1891 pop/pop_lib.c:350 smtp.c:712 + msgid "Secure connection with TLS?" + msgstr "TLS-duen konexio ziurra?" + +-#: imap/imap.c:895 nntp/nntp.c:1910 pop/pop_lib.c:343 smtp.c:702 ++#: imap/imap.c:901 nntp/nntp.c:1912 pop/pop_lib.c:369 smtp.c:727 + msgid "Could not negotiate TLS connection" + msgstr "Ezin da TLS konexioa negoziatu" + +-#: imap/imap.c:910 pop/pop_lib.c:360 ++#: imap/imap.c:916 pop/pop_lib.c:386 + msgid "Encrypted connection unavailable" + msgstr "Enkriptaturiko konexioa ez da erabilgarria" + +-#: imap/imap.c:1417 ++#: imap/imap.c:1430 + #, c-format + msgid "Subscribing to %s..." + msgstr "%s-ra harpidetzen..." + +-#: imap/imap.c:1419 ++#: imap/imap.c:1432 + #, c-format + msgid "Unsubscribing from %s..." + msgstr "%s-ra harpidetzaz ezabatzen..." + +-#: imap/imap.c:1430 init.c:2142 +-#, c-format +-msgid "Subscribed to %s" +-msgstr "%s-ra harpideturik" +- +-#: imap/imap.c:1432 init.c:2620 +-#, c-format +-msgid "Unsubscribed from %s" +-msgstr "%s-ra harpidetzaz ezabaturik" +- +-#: imap/imap.c:1582 imap/message.c:1674 ++#: imap/imap.c:1595 imap/message.c:1674 + #, fuzzy, c-format + msgid "Copying %d message to %s..." + msgid_plural "Copying %d messages to %s..." + msgstr[0] "%d mezuak %s-ra kopiatzen..." + msgstr[1] "%d mezuak %s-ra kopiatzen..." + +-#: imap/imap.c:1599 imap/imap.c:2217 imap/message.c:1713 muttlib.c:1505 ++#: imap/imap.c:1612 imap/imap.c:2254 imap/message.c:1713 muttlib.c:1503 + #, c-format + msgid "Create %s?" + msgstr "Sortu %s?" + +-#: imap/imap.c:1667 ++#: imap/imap.c:1685 + msgid "Expunge failed" + msgstr "Ezabatzea huts" + +-#: imap/imap.c:1683 ++#: imap/imap.c:1701 + #, fuzzy, c-format + msgid "Marking %d message deleted..." + msgid_plural "Marking %d messages deleted..." +@@ -2316,44 +2560,44 @@ msgstr[0] "%d mezu ezabatuak markatzen..." + msgstr[1] "%d mezu ezabatuak markatzen..." + + #. L10N: The plural is chosen by the last %d, i.e. the total number +-#: imap/imap.c:1720 ++#: imap/imap.c:1738 + #, fuzzy, c-format + msgid "Saving changed message... [%d/%d]" + msgid_plural "Saving changed messages... [%d/%d]" + msgstr[0] "Aldaturiko mezuak gordetzen... [%d/%d]" + msgstr[1] "Aldaturiko mezuak gordetzen... [%d/%d]" + +-#: imap/imap.c:1776 ++#: imap/imap.c:1794 + msgid "Error saving flags. Close anyway?" + msgstr "Erroreak banderak gordetzean. Itxi hala ere?" + +-#: imap/imap.c:1783 ++#: imap/imap.c:1801 + msgid "Error saving flags" + msgstr "Errorea banderak gordetzean" + +-#: imap/imap.c:1808 ++#: imap/imap.c:1826 + msgid "Expunging messages from server..." + msgstr "Mezuak zerbitzaritik ezabatzen..." + +-#: imap/imap.c:1814 ++#: imap/imap.c:1832 + msgid "imap_sync_mailbox: EXPUNGE failed" + msgstr "imap_sync_mailbox: EXPUNGE huts egin du" + +-#: imap/imap.c:2023 nntp/nntp.c:2486 ++#: imap/imap.c:2058 nntp/nntp.c:2488 + #, c-format + msgid "Selecting %s..." + msgstr "Aukeratzen %s..." + +-#: imap/imap.c:2184 ++#: imap/imap.c:2221 + msgid "Error opening mailbox" + msgstr "Postakutxa irekitzean errorea" + +-#: imap/imap.c:2330 ++#: imap/imap.c:2367 + #, fuzzy + msgid "IMAP server doesn't support custom flags" + msgstr "SMTP zerbitzariak ez du autentifikazioa onartzen" + +-#: imap/imap.c:2374 ++#: imap/imap.c:2411 + #, fuzzy + msgid "Invalid IMAP flags" + msgstr "Baliogabea " +@@ -2364,7 +2608,7 @@ msgid "Abort download and close mailbox?" + msgstr "" + + #: imap/message.c:554 mutt/memory.c:58 mutt/memory.c:98 mutt/memory.c:134 +-#: mutt/string.c:1178 mx.c:1176 ++#: mutt/string.c:1201 mx.c:1195 + msgid "Out of memory" + msgstr "Memoriaz kanpo" + +@@ -2384,7 +2628,7 @@ msgstr "Mezu burukoak eskuratzen..." + msgid "Unable to fetch headers from this IMAP server version" + msgstr "IMAP zerbitzari bertsio honetatik ezin dira mezuak eskuratu" + +-#: imap/message.c:1099 index.c:1548 nntp/nntp.c:1328 pop/pop.c:426 ++#: imap/message.c:1099 index.c:1554 nntp/nntp.c:1330 pop/pop.c:426 + msgid "Fetching message headers..." + msgstr "Mezu burukoak eskuratzen..." + +@@ -2397,156 +2641,156 @@ msgstr "Mezua igotzen..." + msgid "Copying message %d to %s..." + msgstr "%d mezua %s-ra kopiatzen..." + +-#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2737 pop/pop.c:1110 ++#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2739 pop/pop.c:1105 + msgid "Fetching message..." + msgstr "Mezua eskuratzen..." + +-#: imap/message.c:1959 pop/pop.c:1106 ++#: imap/message.c:1959 pop/pop.c:1101 + msgid "The message index is incorrect. Try reopening the mailbox." + msgstr "Mezu sarrera baliogabekoa. Saia zaitez postakutxa berrirekitzen." + +-#: imap/util.c:767 ++#: imap/util.c:796 + msgid "Continue?" + msgstr "Jarraitu?" + +-#: index.c:115 index.c:128 ++#: index.c:111 index.c:124 + msgid "Quit" + msgstr "Irten" + +-#: index.c:118 index.c:131 recvattach.c:93 ++#: index.c:114 index.c:127 recvattach.c:91 + msgid "Save" + msgstr "Gorde" + +-#: index.c:119 query.c:81 ++#: index.c:115 query.c:79 + msgid "Mail" + msgstr "Posta" + +-#: index.c:120 pager.c:237 ++#: index.c:116 pager.c:229 + msgid "Reply" + msgstr "Erantzun" + +-#: index.c:121 ++#: index.c:117 + msgid "Group" + msgstr "Taldea" + +-#: index.c:132 pager.c:244 ++#: index.c:128 pager.c:236 + msgid "Post" + msgstr "" + +-#: index.c:133 pager.c:245 ++#: index.c:129 pager.c:237 + #, fuzzy + msgid "Followup" + msgstr "Jarraitu %s%s-ra?" + +-#: index.c:190 index.c:1362 ++#: index.c:186 index.c:1367 + msgid "No mailbox is open" + msgstr "Ez da postakutxarik irekirik" + +-#: index.c:196 ++#: index.c:192 + msgid "There are no messages" + msgstr "Ez daude mezurik" + +-#: index.c:202 ++#: index.c:198 + msgid "No visible messages" + msgstr "Ez dago ikus daitekeen mezurik" + +-#: index.c:208 mx.c:901 pager.c:223 recvattach.c:80 ++#: index.c:204 mx.c:920 pager.c:215 recvattach.c:78 + msgid "Mailbox is read-only" + msgstr "Irakurketa soileko posta-kutxa" + +-#: index.c:214 pager.c:225 recvattach.c:98 ++#: index.c:210 pager.c:217 recvattach.c:96 + msgid "Function not permitted in attach-message mode" + msgstr "Mezu-gehitze moduan baimenik gabeko funtzioa" + + #. L10N: %s is one of the CHECK_ACL entries below. +-#: index.c:239 pager.c:290 ++#: index.c:235 pager.c:282 + #, fuzzy, c-format + msgid "%s: Operation not permitted by ACL" + msgstr "Ezin da %s: ACL-ak ez du ekintza onartzen" + +-#: index.c:430 ++#: index.c:426 + msgid "Can't toggle write on a readonly mailbox" + msgstr "Ezin da idazgarritasuna aldatu idaztezina den postakutxa batetan" + +-#: index.c:437 ++#: index.c:433 + msgid "Changes to folder will be written on folder exit" + msgstr "Posta-kutxaren aldaketa bertatik irtetean gordeak izango dira" + +-#: index.c:442 ++#: index.c:438 + msgid "Changes to folder will not be written" + msgstr "Karpetako aldaketak ezin dira gorde" + +-#: index.c:719 muttlib.c:1490 mx.c:206 mx.c:340 ++#: index.c:714 muttlib.c:1488 mx.c:206 mx.c:338 + #, c-format + msgid "%s is not a mailbox" + msgstr "%s ez da postakutxa bat" + +-#: index.c:1218 ++#: index.c:1223 + msgid "Mailbox was externally modified. Flags may be wrong." + msgstr "Posta-kutxa kanpoaldetik aldaturik. Banderak gaizki egon litezke." + +-#: index.c:1227 pager.c:2409 ++#: index.c:1232 pager.c:2379 + msgid "New mail in this mailbox" + msgstr "Eposta berria posta-kutxa honetan" + +-#: index.c:1242 ++#: index.c:1247 + msgid "Mailbox was externally modified" + msgstr "Postakutxa kanpokoaldetik aldatua" + +-#: index.c:1369 ++#: index.c:1374 + msgid "No tagged messages" + msgstr "Ez dago mezu markaturik" + +-#: index.c:1373 index.c:1647 menu.c:1423 ++#: index.c:1378 index.c:1653 menu.c:1423 + msgid "Nothing to do" + msgstr "Ez dago ezer egiterik" + +-#: index.c:1470 ++#: index.c:1475 + #, fuzzy + msgid "Enter Message-Id: " + msgstr "IDgakoa sartu: " + +-#: index.c:1481 ++#: index.c:1487 + msgid "Article has no parent reference" + msgstr "" + +-#: index.c:1504 ++#: index.c:1510 + #, fuzzy + msgid "Message is not visible in limited view" + msgstr "Jatorrizko mezua ez da ikusgarria bistaratze mugatu honetan" + +-#: index.c:1508 ++#: index.c:1514 + #, fuzzy, c-format + msgid "Fetching %s from server..." + msgstr "Mezuak zerbitzaritik ezabatzen..." + +-#: index.c:1518 nntp/nntp.c:2772 ++#: index.c:1524 nntp/nntp.c:2774 + #, c-format + msgid "Article %s not found on the server" + msgstr "" + +-#: index.c:1544 ++#: index.c:1550 + msgid "No Message-Id. Unable to perform operation." + msgstr "" + +-#: index.c:1623 ++#: index.c:1629 + #, fuzzy + msgid "No deleted messages found in the thread" + msgstr "hari honetako mezu guztiak ezabatu" + +-#: index.c:1644 ++#: index.c:1650 + msgid "Jump to message: " + msgstr "Mezura salto egin: " + +-#: index.c:1650 ++#: index.c:1656 + msgid "Argument must be a message number" + msgstr "Argumentua mezu zenbaki bat izan behar da" + +-#: index.c:1652 ++#: index.c:1658 + msgid "Invalid message number" + msgstr "Mezu zenbaki okerra" + +-#: index.c:1654 ++#: index.c:1660 + msgid "That message is not visible" + msgstr "Mezu hau ez da ikusgarria" + +@@ -2559,38 +2803,38 @@ msgstr "Mezu hau ez da ikusgarria" + #. delete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. + #. +-#: index.c:1692 index.c:3267 pager.c:3064 ++#: index.c:1698 index.c:3293 pager.c:3039 + #, fuzzy + msgid "Can't delete messages" + msgstr "desezabatu mezua" + +-#: index.c:1695 ++#: index.c:1701 + msgid "Delete messages matching: " + msgstr "Horrelako mezuak ezabatu: " + +-#: index.c:1736 ++#: index.c:1742 + msgid "No limit pattern is in effect" + msgstr "Ez da muga patroirik funtzionamenduan" + + #. L10N: ask for a limit to apply +-#: index.c:1741 ++#: index.c:1747 + #, c-format + msgid "Limit: %s" + msgstr "Muga: %s" + +-#: index.c:1778 ++#: index.c:1784 + msgid "Limit to messages matching: " + msgstr "Hau duten mezuetara mugatu: " + +-#: index.c:1809 ++#: index.c:1815 + msgid "To view all messages, limit to \"all\"" + msgstr "Mezu guztiak ikusteko, \"dena\" bezala mugatu" + +-#: index.c:1821 pager.c:2514 ++#: index.c:1827 pager.c:2487 + msgid "Quit NeoMutt?" + msgstr "NeoMutt Itxi?" + +-#: index.c:1924 ++#: index.c:1931 + msgid "Tag messages matching: " + msgstr "Horrelako mezuak markatu: " + +@@ -2598,213 +2842,213 @@ msgstr "Horrelako mezuak markatu: " + #. L10N: Due to the implementation details we do not know whether we + #. undelete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:1935 index.c:3807 pager.c:3418 ++#: index.c:1942 index.c:3833 pager.c:3396 + #, fuzzy + msgid "Can't undelete messages" + msgstr "desezabatu mezua" + +-#: index.c:1939 ++#: index.c:1946 + msgid "Undelete messages matching: " + msgstr "Hau betetzen duten mezua desezabatu: " + +-#: index.c:1948 ++#: index.c:1955 + msgid "Untag messages matching: " + msgstr "Horrelako mezuen marka ezabatzen: " + +-#: index.c:1989 ++#: index.c:1996 + msgid "Logged out of IMAP servers" + msgstr "" + +-#: index.c:2105 ++#: index.c:2113 + #, fuzzy + msgid "No virtual folder and no Message-Id, aborting" + msgstr "Ez du gairik, ezeztatzen" + +-#: index.c:2117 index.c:2288 index.c:2310 index.c:2331 ++#: index.c:2125 index.c:2313 index.c:2335 index.c:2356 + msgid "Failed to create query, aborting" + msgstr "" + +-#: index.c:2130 ++#: index.c:2138 + msgid "failed to find message in notmuch database. try running 'notmuch new'." + msgstr "" + +-#: index.c:2139 ++#: index.c:2147 + msgid "Failed to read thread, aborting" + msgstr "" + +-#: index.c:2171 mx.c:1252 mx.c:1272 ++#: index.c:2179 mx.c:1271 mx.c:1291 + #, fuzzy + msgid "Folder doesn't support tagging, aborting" + msgstr "SMTP zerbitzariak ez du autentifikazioa onartzen" + +-#: index.c:2188 ++#: index.c:2196 + #, fuzzy + msgid "No tag specified, aborting" + msgstr "Ez du gairik, ezeztatzen" + +-#: index.c:2198 ++#: index.c:2206 + msgid "Update tags..." + msgstr "" + +-#: index.c:2238 ++#: index.c:2246 + msgid "Failed to modify tags, aborting" + msgstr "" + +-#: index.c:2284 ++#: index.c:2293 + #, fuzzy + msgid "No query, aborting" + msgstr "Ez du gairik, ezeztatzen" + +-#: index.c:2299 index.c:2320 ++#: index.c:2324 index.c:2345 + msgid "Windowed queries disabled" + msgstr "" + +-#: index.c:2304 index.c:2325 ++#: index.c:2329 index.c:2350 + msgid "No notmuch vfolder currently loaded" + msgstr "" + +-#: index.c:2374 ++#: index.c:2399 + msgid "Open mailbox in read-only mode" + msgstr "Postakutxa irakurtzeko bakarrik ireki" + +-#: index.c:2376 ++#: index.c:2401 + msgid "Open mailbox" + msgstr "Postakutxa ireki" + +-#: index.c:2386 ++#: index.c:2411 + msgid "No mailboxes have new mail" + msgstr "Ez dago posta berririk duen postakutxarik" + +-#: index.c:2419 ++#: index.c:2444 + #, fuzzy + msgid "Open newsgroup in read-only mode" + msgstr "Postakutxa irakurtzeko bakarrik ireki" + +-#: index.c:2421 ++#: index.c:2446 + msgid "Open newsgroup" + msgstr "" + +-#: index.c:2538 ++#: index.c:2564 + #, fuzzy + msgid "Exit NeoMutt without saving?" + msgstr "NeoMutt gorde gabe itxi?" + + #. L10N: CHECK_ACL +-#: index.c:2554 ++#: index.c:2580 + #, fuzzy + msgid "Can't break thread" + msgstr "hariak lotu" + +-#: index.c:2574 ++#: index.c:2600 + msgid "Thread broken" + msgstr "Haria apurturik" + +-#: index.c:2587 ++#: index.c:2613 + msgid "Thread can't be broken, message is not part of a thread" + msgstr "" + + #. L10N: CHECK_ACL +-#: index.c:2597 ++#: index.c:2623 + #, fuzzy + msgid "Can't link threads" + msgstr "hariak lotu" + +-#: index.c:2606 ++#: index.c:2632 + msgid "No Message-ID: header available to link thread" + msgstr "Ez da Mezu-ID burua jaso harira lotzeko" + +-#: index.c:2608 ++#: index.c:2634 + msgid "First, please tag a message to be linked here" + msgstr "Lehenengo, markatu mezu bat hemen lotzeko" + +-#: index.c:2621 ++#: index.c:2647 + msgid "Threads linked" + msgstr "Hariak loturik" + +-#: index.c:2624 ++#: index.c:2650 + msgid "No thread linked" + msgstr "Hariak ez dira lotu" + +-#: index.c:2665 index.c:2690 ++#: index.c:2691 index.c:2716 + msgid "You are on the last message" + msgstr "Azkenengo mezuan zaude" + +-#: index.c:2673 index.c:2716 ++#: index.c:2699 index.c:2742 + msgid "No undeleted messages" + msgstr "Ez dago desezabatutako mezurik" + +-#: index.c:2708 index.c:2733 ++#: index.c:2734 index.c:2759 + msgid "You are on the first message" + msgstr "Lehenengo mezuan zaude" + +-#: index.c:2874 ++#: index.c:2900 + #, fuzzy + msgid "No new messages in this limited view" + msgstr "Jatorrizko mezua ez da ikusgarria bistaratze mugatu honetan" + +-#: index.c:2876 ++#: index.c:2902 + #, fuzzy + msgid "No new messages" + msgstr "Ez dago mezu berririk" + +-#: index.c:2881 ++#: index.c:2907 + #, fuzzy + msgid "No unread messages in this limited view" + msgstr "Jatorrizko mezua ez da ikusgarria bistaratze mugatu honetan" + +-#: index.c:2883 ++#: index.c:2909 + #, fuzzy + msgid "No unread messages" + msgstr "Ez dago irakurgabeko mezurik" + +-#: index.c:2893 menu.c:1208 pager.c:2644 pattern.c:2652 ++#: index.c:2919 menu.c:1208 pager.c:2618 pattern.c:2776 + msgid "Search wrapped to top" + msgstr "Bilaketa berriz hasieratik hasi da" + +-#: index.c:2898 pager.c:2669 pattern.c:2663 ++#: index.c:2924 pager.c:2643 pattern.c:2787 + msgid "Search wrapped to bottom" + msgstr "Bilaketa berriz amaieratik hasi da" + + #. L10N: CHECK_ACL +-#: index.c:2915 ++#: index.c:2941 + #, fuzzy + msgid "Can't flag message" + msgstr "markatu mezua" + + #. L10N: CHECK_ACL +-#: index.c:2961 pager.c:3377 ++#: index.c:2987 pager.c:3355 + #, fuzzy + msgid "Can't toggle new" + msgstr "txandakatu berria" + +-#: index.c:3057 ++#: index.c:3083 + msgid "No more threads" + msgstr "Ez dago hari gehiagorik" + +-#: index.c:3059 ++#: index.c:3085 + msgid "You are on the first thread" + msgstr "Lehenengo harian zaude" + +-#: index.c:3156 ++#: index.c:3182 + #, fuzzy + msgid "Thread contains unread or flagged messages" + msgstr "Irakurgabeko mezuak dituen haria" + + #. L10N: CHECK_ACL +-#: index.c:3215 pager.c:3019 ++#: index.c:3241 pager.c:2994 + #, fuzzy + msgid "Can't delete message" + msgstr "desezabatu mezua" + + #. L10N: CHECK_ACL +-#: index.c:3339 ++#: index.c:3365 + #, fuzzy + msgid "Can't edit message" + msgstr "Ezin da mezua idatzi" + + #. L10N: This is displayed when the x-label on one or more + #. messages is edited. +-#: index.c:3432 pager.c:3495 ++#: index.c:3458 pager.c:3473 + #, fuzzy, c-format + msgid "%d label changed" + msgid_plural "%d labels changed" +@@ -2814,7 +3058,7 @@ msgstr[1] "Postakutxak ez du aldaketarik" + #. L10N: This is displayed when editing an x-label, but no messages + #. were updated. Possibly due to canceling at the prompt or if the new + #. label is the same as the old label. +-#: index.c:3440 pager.c:3499 ++#: index.c:3466 pager.c:3477 + #, fuzzy + msgid "No labels changed" + msgstr "Postakutxak ez du aldaketarik" +@@ -2823,7 +3067,7 @@ msgstr "Postakutxak ez du aldaketarik" + #. L10N: Due to the implementation details we do not know whether we + #. mark zero, 1, 12, ... messages as read. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:3571 ++#: index.c:3597 + #, fuzzy + msgid "Can't mark messages as read" + msgstr "markatu mezua(k) irakurri gisa" +@@ -2831,14 +3075,14 @@ msgstr "markatu mezua(k) irakurri gisa" + #. L10N: This is the prompt for . Whatever they + #. enter will be prefixed by $mark_macro_prefix and will become + #. a macro hotkey to jump to the currently selected message. +-#: index.c:3612 ++#: index.c:3638 + #, fuzzy + msgid "Enter macro stroke: " + msgstr "IDgakoa sartu: " + + #. L10N: "message hotkey" is the key bindings menu description of a + #. macro created by . +-#: index.c:3620 ++#: index.c:3646 + #, fuzzy + msgid "message hotkey" + msgstr "Mezua atzeraturik." +@@ -2846,260 +3090,123 @@ msgstr "Mezua atzeraturik." + #. L10N: This is echoed after creates a new hotkey + #. macro. %s is the hotkey string ($mark_macro_prefix followed + #. by whatever they typed at the prompt.) +-#: index.c:3625 ++#: index.c:3651 + #, fuzzy, c-format + msgid "Message bound to %s" + msgstr "Mezua errebotaturik" + + #. L10N: This error is printed if can't find a + #. Message-ID for the currently selected message in the index. +-#: index.c:3634 ++#: index.c:3660 + #, fuzzy + msgid "No message ID to macro" + msgstr "Ez dago mezurik karpeta honetan" + +-#: index.c:3688 pager.c:3221 recvattach.c:1646 ++#: index.c:3714 pager.c:3196 recvattach.c:1678 + msgid "Reply by mail as poster prefers?" + msgstr "" + +-#: index.c:3691 pager.c:3182 pager.c:3194 pager.c:3224 ++#: index.c:3717 pager.c:3157 pager.c:3169 pager.c:3199 + msgid "Posting to this group not allowed, may be moderated. Continue?" + msgstr "" + + #. L10N: CHECK_ACL +-#: index.c:3768 pager.c:3397 ++#: index.c:3794 pager.c:3375 + #, fuzzy + msgid "Can't undelete message" + msgstr "desezabatu mezua" + +-#: init.c:313 ++#: init.c:223 + #, c-format + msgid "Error in command line: %s" + msgstr "Komando lerroan errorea: %s" + +-#: init.c:315 ++#: init.c:225 + #, fuzzy, c-format + msgid "Warning in command line: %s" + msgstr "Komando lerroan errorea: %s" + +-#: init.c:426 ++#: init.c:336 + #, fuzzy + msgid "unable to determine nodename via uname()" + msgstr "ezinda erabiltzaile izena aurkitu" + +-#: init.c:580 +-msgid "-group: no group name" +-msgstr "-group: ez dago talde izenik" +- +-#: init.c:590 +-msgid "out of arguments" +-msgstr "argumentu gehiegi" +- +-#: init.c:804 init.c:1752 +-#, c-format +-msgid "Error: Can't build path of '%s'" +-msgstr "" +- +-#: init.c:817 +-#, c-format +-msgid "Error: Cyclic sourcing of configuration file '%s'" +-msgstr "" +- +-#: init.c:850 +-#, c-format +-msgid "Error in %s, line %d: %s" +-msgstr "Errorea %s-n, %d lerroan: %s" +- +-#: init.c:861 +-#, fuzzy, c-format +-msgid "Warning in %s, line %d: %s" +-msgstr "Errorea %s-n, %d lerroan: %s" +- +-#: init.c:885 +-#, c-format +-msgid "source: errors in %s" +-msgstr "jatorria: erroreak %s-n" +- +-#: init.c:885 +-#, fuzzy, c-format +-msgid "source: reading aborted due to too many errors in %s" +-msgstr "jatorria: %s-n akats gehiegiengatik irakurketa ezeztatua" +- +-#: init.c:894 +-#, fuzzy, c-format +-msgid "source: %d warning in %s" +-msgid_plural "source: %d warnings in %s" +-msgstr[0] "jatorria: erroreak %s-n" +-msgstr[1] "jatorria: erroreak %s-n" +- +-#: init.c:923 +-msgid "alias: no address" +-msgstr "ezizena: helbide gabea" +- +-#: init.c:965 +-#, c-format +-msgid "Warning: Bad IDN '%s' in alias '%s'" +-msgstr "Kontuz: '%s' IDN okerra '%s' ezizenean" +- +-#: init.c:1043 +-msgid "attachments: no disposition" +-msgstr "eranskinak: disposiziorik ez" +- +-#: init.c:1054 +-#, fuzzy +-msgid "Current attachments settings:" +-msgstr "gehigarri deskribapena editatu" +- +-#: init.c:1084 +-msgid "attachments: invalid disposition" +-msgstr "eranskinak: disposizio okerra" +- +-#: init.c:1160 +-#, fuzzy, c-format +-msgid "%sgroup: missing -rx or -addr" +-msgstr "-rx edo -helb falta da" +- +-#: init.c:1186 +-#, fuzzy, c-format +-msgid "%sgroup: warning: bad IDN '%s'" +-msgstr "Kontuz: '%s' IDN okerra" +- +-#: init.c:1278 +-#, c-format +-msgid "Error: %s" +-msgstr "" +- +-#: init.c:1445 +-msgid "invalid header field" +-msgstr "baliogabeko mezu burua" +- +-#: init.c:1711 init.c:1815 +-#, c-format +-msgid "%s: unknown variable" +-msgstr "%s: aldagai ezezaguna" +- +-#: init.c:1908 +-#, c-format +-msgid "%s is unset" +-msgstr "%s ezarri gabe dago" +- +-#: init.c:1953 mutt_lua.c:478 +-#, c-format +-msgid "source: error at %s" +-msgstr "jatorria: %s-n errorea" +- +-#: init.c:1961 +-#, fuzzy, c-format +-msgid "source: file %s could not be sourced" +-msgstr "Ezin dira mezuak inprimatu" +- +-#: init.c:1984 +-msgid "spam: no matching pattern" +-msgstr "zabor-posta: ez da patroia aurkitu" +- +-#: init.c:1986 +-msgid "nospam: no matching pattern" +-msgstr "ez zabor-posta: ez da patroia aurkitu" +- +-#: init.c:2146 +-#, fuzzy, c-format +-msgid "Could not subscribe to %s" +-msgstr "%s-ra harpideturik" +- +-#: init.c:2154 init.c:2632 +-#, fuzzy +-msgid "No folder specified" +-msgstr "Ez da gairik ezarri." +- +-#: init.c:2341 +-msgid "unattachments: no disposition" +-msgstr "deseranskinak: disposiziorik ez" +- +-#: init.c:2379 +-msgid "unattachments: invalid disposition" +-msgstr "deseranskinak: disposizio okerra" +- +-#: init.c:2624 +-#, fuzzy, c-format +-msgid "Could not unsubscribe from %s" +-msgstr "%s-ra harpidetzaz ezabaturik" +- +-#: init.c:3292 ++#: init.c:1042 + #, c-format + msgid "%s: unknown command" + msgstr "%s: komando ezezaguna" + +-#: init.c:3837 ++#: init.c:1588 + msgid "'charset' must contain exactly one character set name" + msgstr "" + +-#: init.c:3853 init.c:3877 init.c:3912 ++#: init.c:1604 init.c:1628 init.c:1663 + #, fuzzy, c-format + msgid "Invalid value for option %s: %s" + msgstr "Baliogabeko hilabete eguna: %s" + +-#: init.c:3890 ++#: init.c:1641 + #, c-format + msgid "Option %s may not be set or reset from the pager" + msgstr "" + +-#: init.c:3928 ++#: init.c:1679 + #, fuzzy, c-format + msgid "Option %s may not be set when in attach-message mode" + msgstr "Mezu-gehitze moduan baimenik gabeko funtzioa." + + #. L10N: This applies to the "$wrap_headers" config variable +-#: init.c:3943 ++#: init.c:1694 + #, c-format + msgid "Option %s must between 78 and 998 inclusive" + msgstr "" + +-#: keymap.c:373 keymap.c:381 ++#: keymap.c:371 keymap.c:379 + #, c-format + msgid "Binding '%s' will alias '%s' Before, try: 'bind %s %s noop' https://neomutt.org/guide/configuration.html#bind-warnings" + msgstr "" + +-#: keymap.c:757 ++#: keymap.c:755 + msgid "Macro loop detected" + msgstr "Makro begizta aurkitua" + +-#: keymap.c:1064 keymap.c:1099 ++#: keymap.c:1062 keymap.c:1097 + msgid "Key is not bound" + msgstr "Letra ez dago mugaturik" + +-#: keymap.c:1104 ++#: keymap.c:1102 + #, c-format + msgid "Key is not bound. Press '%s' for help." + msgstr "Letra ez dago mugaturik. %s jo laguntzarako." + +-#: keymap.c:1177 ++#: keymap.c:1175 + #, c-format + msgid "%s: null key sequence" + msgstr "%s: baloigabeko sekuentzi gakoa" + +-#: keymap.c:1212 ++#: keymap.c:1210 + #, c-format + msgid "Function '%s' not available for menu '%s'" + msgstr "" + +-#: keymap.c:1495 ++#: keymap.c:1493 + msgid "macro: empty key sequence" + msgstr "macro: sekuentzi gako hutsa" + +-#: keymap.c:1543 ++#: keymap.c:1541 + msgid "exec: no arguments" + msgstr "exec: ez da argumenturik" + +-#: keymap.c:1563 ++#: keymap.c:1561 + #, c-format + msgid "%s: no such function" + msgstr "%s: ez da funtziorik" + +-#: keymap.c:1584 ++#: keymap.c:1582 + msgid "Enter keys (^G to abort): " + msgstr "Sartu gakoak (^G uzteko): " + +-#: keymap.c:1590 ++#: keymap.c:1588 + #, c-format + msgid "Char = %s, Octal = %o, Decimal = %d" + msgstr "Kar = %s, Zortziko = %o, hamarreko = %d" +@@ -3123,7 +3230,7 @@ msgstr "ez da aurkitu %s motako mailcap sarrerarik" + msgid "Scanning %s..." + msgstr "Arakatzen %s..." + +-#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:353 ++#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:351 + #, c-format + msgid "Reading %s..." + msgstr "%s irakurtzen..." +@@ -3139,13 +3246,13 @@ msgid "md_commit_message(): unable to set time on file" + msgstr "maildir_commit_message(): fitxategian ezin da data ezarri" + + #. L10N: Displayed before/as a mailbox is being synced +-#: maildir/shared.c:1723 mbox/mbox.c:1276 mx.c:461 notmuch/mutt_notmuch.c:2364 ++#: maildir/shared.c:1734 mbox/mbox.c:1276 mx.c:459 notmuch/mutt_notmuch.c:2364 + #, c-format + msgid "Writing %s..." + msgstr "%s idazten..." + + #. L10N: Try to limit to 80 columns +-#: main.c:227 ++#: main.c:160 + msgid "" + "usage:\n" + " neomutt [-Enx] [-e ] [-F ] [-H ] [-i ]\n" +@@ -3168,7 +3275,7 @@ msgid "" + msgstr "" + + #. L10N: Try to limit to 80 columns. If more space is needed add an indented line +-#: main.c:247 ++#: main.c:180 + msgid "" + "options:\n" + " -- Special argument forces NeoMutt to stop option parsing and treat\n" +@@ -3211,54 +3318,54 @@ msgid "" + " or exit immediately with exit code 1 otherwise" + msgstr "" + +-#: main.c:312 ++#: main.c:245 + msgid "Error initializing terminal" + msgstr "Errorea terminala abiaraztekoan" + +-#: main.c:390 ++#: main.c:323 + msgid "unable to determine username" + msgstr "ezinda erabiltzaile izena aurkitu" + +-#: main.c:396 ++#: main.c:329 + msgid "unable to determine home directory" + msgstr "ezin da \"home\" karpeta aukeratu" + +-#: main.c:640 ++#: main.c:572 + #, fuzzy, c-format + msgid "Error: value '%s' is invalid for -d" + msgstr "Errorea: '%s' IDN okerra da" + +-#: main.c:884 ++#: main.c:815 + msgid "Failed to parse mailto: link" + msgstr "Huts maito: lotura analizatzean" + +-#: main.c:896 send.c:2452 send.c:2456 ++#: main.c:827 send.c:2463 send.c:2467 + msgid "No recipients specified" + msgstr "Ez da jasotzailerik eman" + +-#: main.c:923 ++#: main.c:854 + msgid "Can't use -E flag with stdin" + msgstr "" + +-#: main.c:1007 ++#: main.c:938 + #, fuzzy, c-format + msgid "Can't parse message template: %s" + msgstr "Ezin da mezu fitxategia ireki: %s" + +-#: main.c:1073 mutt_header.c:329 ++#: main.c:1004 mutt_header.c:329 + #, c-format + msgid "%s: unable to attach file" + msgstr "%s: ezin gehigarria gehitu" + +-#: main.c:1156 ++#: main.c:1087 + msgid "No mailbox with new mail" + msgstr "Ez dago posta berririk duen postakutxarik" + +-#: main.c:1180 ++#: main.c:1111 + msgid "No incoming mailboxes defined" + msgstr "Ez da sarrera postakutxarik ezarri" + +-#: main.c:1230 ++#: main.c:1161 + msgid "Mailbox is empty" + msgstr "Postakutxa hutsik dago" + +@@ -3300,52 +3407,52 @@ msgstr "Ezin da postakutxa berrireki" + msgid "Can't write message" + msgstr "Ezin da mezua idatzi" + +-#: menu.c:632 ++#: menu.c:631 + msgid "Jump to: " + msgstr "Joan hona: " + +-#: menu.c:641 ++#: menu.c:640 + msgid "Invalid index number" + msgstr "Baliogabeko sarrera zenbakia" + +-#: menu.c:645 menu.c:671 menu.c:744 menu.c:810 menu.c:828 menu.c:843 menu.c:858 +-#: menu.c:873 menu.c:890 menu.c:907 menu.c:1553 ++#: menu.c:644 menu.c:670 menu.c:743 menu.c:809 menu.c:827 menu.c:842 menu.c:857 ++#: menu.c:872 menu.c:889 menu.c:906 menu.c:1553 + msgid "No entries" + msgstr "Ez dago sarrerarik" + +-#: menu.c:668 ++#: menu.c:667 + msgid "You can't scroll down farther" + msgstr "Ezin duzu hurrunago jaitsi" + +-#: menu.c:690 ++#: menu.c:689 + msgid "You can't scroll up farther" + msgstr "Ezin duzu hurrunago igo" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the first page" + msgstr "Lehenengo orrialdean zaude" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the last page" + msgstr "Azkenengo orrialdean zaude" + +-#: menu.c:922 ++#: menu.c:921 + msgid "You are on the last entry" + msgstr "Azkenengo sarreran zaude" + +-#: menu.c:937 ++#: menu.c:936 + msgid "You are on the first entry" + msgstr "Lehenengo sarreran zaude" + +-#: menu.c:1172 pager.c:2692 pattern.c:2578 ++#: menu.c:1172 pager.c:2666 pattern.c:2702 + msgid "Search for: " + msgstr "Bilatu hau: " + +-#: menu.c:1173 pager.c:2693 pattern.c:2579 ++#: menu.c:1173 pager.c:2667 pattern.c:2703 + msgid "Reverse search for: " + msgstr "Bilatu hau atzetik-aurrera: " + +-#: menu.c:1226 pager.c:2641 pager.c:2666 pager.c:2800 pattern.c:2708 ++#: menu.c:1226 pager.c:2615 pager.c:2640 pager.c:2774 pattern.c:2832 + msgid "Not found" + msgstr "Ez da aurkitu" + +@@ -3388,20 +3495,20 @@ msgstr "flock eskuratzea itxaroten... %d" + msgid "Bad history file format (line %d)" + msgstr "Okerreko historia fitxategi formatua (%d lerroa)" + +-#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1006 ncrypt/crypt_gpgme.c:2381 +-#: ncrypt/crypt_gpgme.c:2401 ncrypt/crypt_gpgme.c:2460 +-#: ncrypt/crypt_gpgme.c:2477 ncrypt/crypt_gpgme.c:2509 +-#: ncrypt/crypt_gpgme.c:2527 ncrypt/crypt_gpgme.c:2611 +-#: ncrypt/crypt_gpgme.c:3194 ncrypt/crypt_gpgme.c:3292 +-#: ncrypt/crypt_gpgme.c:4373 ncrypt/pgp.c:576 ncrypt/pgp.c:583 ncrypt/pgp.c:896 +-#: ncrypt/pgp.c:1014 ncrypt/pgp.c:1161 ncrypt/pgp.c:1181 ncrypt/pgp.c:1215 +-#: ncrypt/pgp.c:1568 ncrypt/pgpkey.c:708 ncrypt/pgpkey.c:902 +-#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1092 ncrypt/smime.c:1100 +-#: ncrypt/smime.c:1191 ncrypt/smime.c:1299 ncrypt/smime.c:1364 +-#: ncrypt/smime.c:1372 ncrypt/smime.c:1571 ncrypt/smime.c:1967 +-#: ncrypt/smime.c:2046 ncrypt/smime.c:2053 ncrypt/smime.c:2156 +-#: ncrypt/smime.c:2281 ncrypt/smime.c:2297 nntp/nntp.c:1397 nntp/nntp.c:2237 +-#: pattern.c:1132 pop/pop.c:182 ++#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1005 ncrypt/crypt_gpgme.c:2420 ++#: ncrypt/crypt_gpgme.c:2440 ncrypt/crypt_gpgme.c:2499 ++#: ncrypt/crypt_gpgme.c:2516 ncrypt/crypt_gpgme.c:2548 ++#: ncrypt/crypt_gpgme.c:2566 ncrypt/crypt_gpgme.c:2650 ++#: ncrypt/crypt_gpgme.c:3237 ncrypt/crypt_gpgme.c:3335 ++#: ncrypt/crypt_gpgme.c:4421 ncrypt/pgp.c:575 ncrypt/pgp.c:582 ncrypt/pgp.c:895 ++#: ncrypt/pgp.c:1013 ncrypt/pgp.c:1160 ncrypt/pgp.c:1180 ncrypt/pgp.c:1214 ++#: ncrypt/pgp.c:1570 ncrypt/pgpkey.c:741 ncrypt/pgpkey.c:937 ++#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1126 ncrypt/smime.c:1134 ++#: ncrypt/smime.c:1225 ncrypt/smime.c:1333 ncrypt/smime.c:1398 ++#: ncrypt/smime.c:1406 ncrypt/smime.c:1605 ncrypt/smime.c:2001 ++#: ncrypt/smime.c:2080 ncrypt/smime.c:2087 ncrypt/smime.c:2190 ++#: ncrypt/smime.c:2315 ncrypt/smime.c:2331 nntp/nntp.c:1399 nntp/nntp.c:2239 ++#: pattern.c:1171 pop/pop.c:182 + msgid "Can't create temporary file" + msgstr "Ezin da behin-behineko fitxategia sortu" + +@@ -3420,7 +3527,7 @@ msgstr "%d. mailan arazten.\n" + msgid "Logging at level %d to file '%s'" + msgstr "%d. mailan arazten.\n" + +-#: mutt/path.c:401 ++#: mutt/path.c:420 + #, fuzzy + msgid "Error: converting path to absolute" + msgstr "Errorea zerbitzariarekin konektatzerakoan: %s" +@@ -3445,17 +3552,17 @@ msgstr "Mozte seinalea %d (%s) ... Irteten.\n" + msgid "Caught signal %d ... Exiting.\n" + msgstr "Mozte seinalea %d ... Irteten.\n" + +-#: muttlib.c:490 ++#: muttlib.c:488 + #, c-format + msgid "mutt_randbuf buflen=%zu" + msgstr "" + +-#: muttlib.c:510 ++#: muttlib.c:508 + #, c-format + msgid "open /dev/urandom: %s" + msgstr "" + +-#: muttlib.c:517 ++#: muttlib.c:515 + #, c-format + msgid "read /dev/urandom: %s" + msgstr "" +@@ -3463,148 +3570,120 @@ msgstr "" + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) + #. These three letters correspond to the choices in the string. +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "File is a directory, save under it: (y)es, (n)o, (a)ll?" + msgstr "Fitxategia direktorioa bat da, honen barnean gorde?(b)ai, (e)z, d(a)na" + +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "yna" + msgstr "bea" + + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) +-#: muttlib.c:763 ++#: muttlib.c:761 + msgid "File is a directory, save under it?" + msgstr "Fitxategia direktorio bat da, honen barnean gorde?" + +-#: muttlib.c:768 ++#: muttlib.c:766 + msgid "File under directory: " + msgstr "Direktorio barneko fitxategiak: " + +-#: muttlib.c:781 ++#: muttlib.c:779 + msgid "File exists, (o)verwrite, (a)ppend, or (c)ancel?" + msgstr "Fitxategia existitzen da (b)erridatzi, (g)ehitu edo (e)zeztatu?" + + #. L10N: Options for: File exists, (o)verwrite, (a)ppend, or (c)ancel? +-#: muttlib.c:783 ++#: muttlib.c:781 + msgid "oac" + msgstr "bge" + +-#: muttlib.c:1458 ++#: muttlib.c:1456 + msgid "Can't save message to POP mailbox" + msgstr "Ezin da mezua POP postakutxan gorde" + +-#: muttlib.c:1468 ++#: muttlib.c:1466 + #, c-format + msgid "Append messages to %s?" + msgstr "Mezuak %s-ra gehitu?" + +-#: muttlib.c:1481 ++#: muttlib.c:1479 + #, fuzzy + msgid "Can't save message to news server" + msgstr "Ezin dira mezuak zerbitzarian utzi" + +-#. L10N: Example: Username at myhost.com +-#: mutt_account.c:233 +-#, c-format +-msgid "Username at %s: " +-msgstr "%s -n erabiltzaile izena: " +- +-#: mutt_account.c:315 +-#, c-format +-msgid "Password for %s@%s: " +-msgstr "%s@%s-ren pasahitza: " +- +-#. L10N: You will see this error message if (1) you have "oauthbearer" in +-#. one of your $*_authenticators and (2) you do not have the corresponding +-#. $*_oauth_refresh_command defined. So the message does not mean "None of +-#. your $*_oauth_refresh_command's are defined." +-#: mutt_account.c:383 +-#, fuzzy +-msgid "No OAUTH refresh command defined" +-msgstr "Bilaketa komadoa ezarri gabea" +- +-#: mutt_account.c:390 +-msgid "Unable to run refresh command" +-msgstr "" +- +-#: mutt_account.c:400 +-msgid "Command returned empty string" +-msgstr "" +- +-#: mutt_attach.c:140 mutt_attach.c:274 mutt_attach.c:459 mutt_attach.c:1054 ++#: mutt_attach.c:142 mutt_attach.c:276 mutt_attach.c:488 mutt_attach.c:1087 + msgid "Can't match 'nametemplate', continue?" + msgstr "Ezin da txantiloi izena aurkitu, jarraitu?" + +-#: mutt_attach.c:150 ++#: mutt_attach.c:152 + #, c-format + msgid "Mailcap compose entry requires %%s" + msgstr "Mailcap konposaketa sarrerak hau behar du %%s" + +-#: mutt_attach.c:168 ++#: mutt_attach.c:170 + msgid "Failure to open file to parse headers" + msgstr "Huts buruak analizatzeko fitxategia irekitzerakoan" + +-#: mutt_attach.c:202 ++#: mutt_attach.c:204 + msgid "Failure to open file to strip headers" + msgstr "Huts buruak kentzeko fitxategia irekitzerakoan" + +-#: mutt_attach.c:212 ++#: mutt_attach.c:214 + msgid "Failure to rename file" + msgstr "Huts fitxategia berrizendatzerakoan" + +-#: mutt_attach.c:222 ++#: mutt_attach.c:224 + #, c-format + msgid "No mailcap compose entry for %s, creating empty file" + msgstr "%s-rentza ez dago mailcap sorrera sarrerarik, fitxategi hutsa sortzen" + +-#: mutt_attach.c:284 ++#: mutt_attach.c:286 + #, c-format + msgid "Mailcap Edit entry requires %%s" + msgstr "Mailcap edizio sarrerak %%s behar du" + +-#: mutt_attach.c:305 ++#: mutt_attach.c:307 + #, c-format + msgid "No mailcap edit entry for %s" + msgstr "Ez dago mailcap edizio sarrerarik %s-rentzat" + +-#: mutt_attach.c:427 ++#: mutt_attach.c:456 + msgid "No matching mailcap entry found. Viewing as text." + msgstr "Ez da pareko mailcap sarrerarik aurkitu. Testu bezala bistarazten." + +-#: mutt_attach.c:440 ++#: mutt_attach.c:469 + msgid "MIME type not defined. Can't view attachment." + msgstr "MIME mota ezarri gabe. Ezin da gehigarria erakutsi." + +-#: mutt_attach.c:535 ++#: mutt_attach.c:563 + #, c-format + msgid "---Command: %-20.20s Description: %s" + msgstr "" + +-#: mutt_attach.c:540 ++#: mutt_attach.c:568 + #, c-format + msgid "---Command: %-30.30s Attachment: %s" + msgstr "" + +-#: mutt_attach.c:619 ++#: mutt_attach.c:652 + #, fuzzy, c-format + msgid "---Attachment: %s: %s" + msgstr "-- Gehigarriak" + +-#: mutt_attach.c:621 ++#: mutt_attach.c:654 + #, fuzzy, c-format + msgid "---Attachment: %s" + msgstr "-- Gehigarriak" + +-#: mutt_attach.c:902 mutt_attach.c:910 ++#: mutt_attach.c:935 mutt_attach.c:943 + msgid "Write fault" + msgstr "Idaztean huts" + +-#: mutt_attach.c:1174 ++#: mutt_attach.c:1207 + msgid "I don't know how to print that" + msgstr "Ez dakit non inprimatu hau" + +-#: mutt_history.c:47 query.c:84 ++#: mutt_history.c:47 query.c:82 + msgid "Search" + msgstr "Bilatu" + +@@ -3613,21 +3692,21 @@ msgstr "Bilatu" + msgid "History '%s'" + msgstr "Bilaketa '%s'" + +-#: mutt_logging.c:315 ++#: mutt_logging.c:313 + #, fuzzy, c-format + msgid "Invalid value for option %s: %ld" + msgstr "Baliogabeko hilabete eguna: %s" + +-#: mutt_lua.c:429 ++#: mutt_lua.c:431 + msgid "Error: Couldn't load the lua interpreter" + msgstr "" + +-#: mutt_lua.c:491 ++#: mutt_lua.c:493 + #, fuzzy, c-format + msgid "Couldn't source lua source: %s" + msgstr "Ezin da %s blokeatu\n" + +-#: mutt_mailbox.c:214 ++#: mutt_mailbox.c:241 + msgid "New mail in " + msgstr "Posta berria " + +@@ -3649,20 +3728,20 @@ msgstr "Jatorrizko mezua ez da ikusgarria bistaratze mugatu honetan" + msgid "Parent message is not visible in this limited view" + msgstr "Jatorrizko mezua ez da ikusgarria bistaratze mugatu honetan" + +-#: mx.c:387 ++#: mx.c:385 + #, fuzzy, c-format + msgid "Reading from %s interrupted..." + msgstr "Bilaketa geldiarazirik." + + #. L10N: Displayed if a mailbox sync fails +-#: mx.c:468 ++#: mx.c:469 + #, fuzzy, c-format + msgid "Unable to write %s" + msgstr "Ezin da %s gehitu" + + #. L10N: Although we know the precise number of messages, we do not show it to the user. + #. So feel free to use a "generic plural" as plural translation if your language has one. +-#: mx.c:523 ++#: mx.c:525 + #, fuzzy + msgid "message not deleted" + msgid_plural "messages not deleted" +@@ -3674,69 +3753,69 @@ msgstr[1] "Mezu ezabatuak markatzen..." + msgid "Can't open trash folder" + msgstr "Ezin karpetan gehitu: %s" + +-#: mx.c:623 ++#: mx.c:627 + msgid "Mark all articles read?" + msgstr "" + + #. L10N: The first argument is the number of read messages to be + #. moved, the second argument is the target mailbox. +-#: mx.c:671 ++#: mx.c:675 + #, fuzzy, c-format + msgid "Move %d read message to %s?" + msgid_plural "Move %d read messages to %s?" + msgstr[0] "Irakurritako mezuak %s-ra mugitu?" + msgstr[1] "Irakurritako mezuak %s-ra mugitu?" + +-#: mx.c:685 mx.c:917 ++#: mx.c:689 mx.c:936 + #, fuzzy, c-format + msgid "Purge %d deleted message?" + msgid_plural "Purge %d deleted messages?" + msgstr[0] "Ezabatutako %d mezua betirako ezabatu?" + msgstr[1] "Ezabatutako %d mezuak betirako ezabatu?" + +-#: mx.c:708 ++#: mx.c:712 + #, c-format + msgid "Moving read messages to %s..." + msgstr "Irakurritako mezuak %s-ra mugitzen..." + +-#: mx.c:774 mx.c:908 ++#: mx.c:783 mx.c:927 + msgid "Mailbox is unchanged" + msgstr "Postakutxak ez du aldaketarik" + +-#: mx.c:827 ++#: mx.c:842 + #, c-format + msgid "%d kept, %d moved, %d deleted" + msgstr "%d utzi, %d mugiturik, %d ezabaturik" + +-#: mx.c:831 mx.c:972 ++#: mx.c:846 mx.c:991 + #, c-format + msgid "%d kept, %d deleted" + msgstr "%d utzi, %d ezabaturik" + +-#: mx.c:892 ++#: mx.c:911 + #, c-format + msgid " Press '%s' to toggle write" + msgstr " %s sakatu idatzitarikoa aldatzeko" + +-#: mx.c:894 ++#: mx.c:913 + msgid "Use 'toggle-write' to re-enable write" + msgstr "'toogle-write' erabili idazketa berriz gaitzeko" + +-#: mx.c:896 ++#: mx.c:915 + #, c-format + msgid "Mailbox is marked unwritable. %s" + msgstr "Postakutxa idaztezin bezala markatuta. %s" + +-#: mx.c:966 ++#: mx.c:985 + msgid "Mailbox checkpointed" + msgstr "Postakutxa markaturik" + +-#: ncrypt/crypt.c:93 ++#: ncrypt/crypt.c:91 + #, c-format + msgid " (current time: %c)" + msgstr " (uneko ordua:%c)" + +-#: ncrypt/crypt.c:98 ++#: ncrypt/crypt.c:96 + #, c-format + msgid "[-- %s output follows%s --]\n" + msgstr "[-- %s irteera jarraian%s --]\n" +@@ -3745,55 +3824,55 @@ msgstr "[-- %s irteera jarraian%s --]\n" + #. by gpg-agent) we can't know whether we forgot zero, 1, 12, ... + #. passwords. So in English we use "Passphrases". Your language might + #. have other means to express this. +-#: ncrypt/crypt.c:119 ++#: ncrypt/crypt.c:117 + #, fuzzy + msgid "Passphrases forgotten" + msgstr "Pasahitza(k) ahazturik" + +-#: ncrypt/crypt.c:203 ++#: ncrypt/crypt.c:201 + #, fuzzy + msgid "Inline PGP can't be used with attachments. Revert to PGP/MIME?" + msgstr "Mezua ezin da erantsia bidali. PGP/MIME erabiltzea itzuli?" + +-#: ncrypt/crypt.c:207 ++#: ncrypt/crypt.c:205 + msgid "Mail not sent: inline PGP can't be used with attachments" + msgstr "" + +-#: ncrypt/crypt.c:214 ++#: ncrypt/crypt.c:212 + #, fuzzy + msgid "Inline PGP can't be used with format=flowed. Revert to PGP/MIME?" + msgstr "Mezua ezin da erantsia bidali. PGP/MIME erabiltzea itzuli?" + +-#: ncrypt/crypt.c:218 ++#: ncrypt/crypt.c:216 + msgid "Mail not sent: inline PGP can't be used with format=flowed" + msgstr "" + +-#: ncrypt/crypt.c:228 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:714 +-#: ncrypt/pgpkey.c:915 ++#: ncrypt/crypt.c:226 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:747 ++#: ncrypt/pgpkey.c:950 + msgid "Invoking PGP..." + msgstr "PGP deitzen..." + +-#: ncrypt/crypt.c:240 ++#: ncrypt/crypt.c:238 + msgid "Message can't be sent inline. Revert to using PGP/MIME?" + msgstr "Mezua ezin da erantsia bidali. PGP/MIME erabiltzea itzuli?" + +-#: ncrypt/crypt.c:242 send.c:2430 ++#: ncrypt/crypt.c:240 send.c:2441 + msgid "Mail not sent" + msgstr "Eposta ez da bidali" + +-#: ncrypt/crypt.c:662 ++#: ncrypt/crypt.c:666 + msgid "S/MIME messages with no hints on content are unsupported" + msgstr "S/MIME mezuak ez dira onartzen edukian gomendiorik ez badute" + +-#: ncrypt/crypt.c:888 ++#: ncrypt/crypt.c:892 + msgid "Trying to extract PGP keys...\n" + msgstr "PGP-gakoak ateratzen saiatzen...\n" + +-#: ncrypt/crypt.c:917 ++#: ncrypt/crypt.c:921 + msgid "Trying to extract S/MIME certificates..." + msgstr "S/MIME ziurtagiria ateratzen saiatzen..." + +-#: ncrypt/crypt.c:1140 ++#: ncrypt/crypt.c:1144 + #, c-format + msgid "" + "[-- Error: Unknown multipart/signed protocol %s --]\n" +@@ -3802,7 +3881,7 @@ msgstr "" + "[-- Errorea: zatianitz/sinatutako protokolo ezezaguna %s --]\n" + "\n" + +-#: ncrypt/crypt.c:1180 ++#: ncrypt/crypt.c:1184 + #, fuzzy + msgid "" + "[-- Error: Missing or bad-format multipart/signed signature --]\n" +@@ -3811,7 +3890,7 @@ msgstr "" + "[-- Errorea: konsistentzi gabeko zatianitz/sinaturiko estruktura --]\n" + "\n" + +-#: ncrypt/crypt.c:1222 ++#: ncrypt/crypt.c:1226 + #, c-format + msgid "" + "[-- Warning: We can't verify %s/%s signatures. --]\n" +@@ -3820,7 +3899,7 @@ msgstr "" + "[-- Kontuz: Ezin dira %s/%s sinadurak egiaztatu. --]\n" + "\n" + +-#: ncrypt/crypt.c:1235 ++#: ncrypt/crypt.c:1239 + msgid "" + "[-- The following data is signed --]\n" + "\n" +@@ -3828,7 +3907,7 @@ msgstr "" + "[-- Hurrengo datuak sinaturik daude --]\n" + "\n" + +-#: ncrypt/crypt.c:1243 ++#: ncrypt/crypt.c:1248 + msgid "" + "[-- Warning: Can't find any signatures. --]\n" + "\n" +@@ -3836,7 +3915,7 @@ msgstr "" + "[-- Kontuz: Ez da sinadurarik aurkitu. --]\n" + "\n" + +-#: ncrypt/crypt.c:1249 ++#: ncrypt/crypt.c:1255 + msgid "" + "\n" + "[-- End of signed data --]\n" +@@ -3855,242 +3934,242 @@ msgstr "S/MIME deitzen..." + #. L10N: The following are the headers for the "verify key" output from the + #. GPGME key selection menu (bound to "c" in the key selection menu). + #. They will be automatically aligned. +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + #, fuzzy + msgid "Name: " + msgstr "Izena ......: " + +-#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1869 ncrypt/crypt_gpgme.c:1874 ++#: ncrypt/crypt_gpgme.c:183 ncrypt/crypt_gpgme.c:1900 ncrypt/crypt_gpgme.c:1905 + msgid "aka: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + #, fuzzy + msgid "Valid From: " + msgstr "Baliozko Nork: %s\n" + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + #, fuzzy + msgid "Valid To: " + msgstr "Baliozko Nori ..: %s\n" + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + #, fuzzy + msgid "Key Type: " + msgstr "Tekla Erabilera .: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + #, fuzzy + msgid "Key Usage: " + msgstr "Tekla Erabilera .: " + +-#: ncrypt/crypt_gpgme.c:185 ncrypt/crypt_gpgme.c:1759 ++#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1790 + msgid "Fingerprint: " + msgstr "Hatz-marka: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + #, fuzzy + msgid "Serial-No: " + msgstr "Serial-Zb .: 0x%s\n" + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + #, fuzzy + msgid "Issued By: " + msgstr "Emana : " + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + #, fuzzy + msgid "Subkey: " + msgstr "Azpigakoa ....: 0x%s" + +-#: ncrypt/crypt_gpgme.c:783 ++#: ncrypt/crypt_gpgme.c:782 + #, c-format + msgid "error enabling CMS protocol: %s" + msgstr "errorea CMS protokoloa gaitzerakoan: %s" + +-#: ncrypt/crypt_gpgme.c:806 ++#: ncrypt/crypt_gpgme.c:805 + #, c-format + msgid "error creating gpgme data object: %s" + msgstr "errorea gpgme datu objektua sortzerakoan: %s" + +-#: ncrypt/crypt_gpgme.c:907 ncrypt/crypt_gpgme.c:934 ncrypt/crypt_gpgme.c:2057 +-#: ncrypt/crypt_gpgme.c:2814 ++#: ncrypt/crypt_gpgme.c:906 ncrypt/crypt_gpgme.c:933 ncrypt/crypt_gpgme.c:2096 ++#: ncrypt/crypt_gpgme.c:2853 + #, c-format + msgid "error allocating data object: %s" + msgstr "errorea datu objektua esleitzerakoan: %s" + +-#: ncrypt/crypt_gpgme.c:956 ++#: ncrypt/crypt_gpgme.c:955 + #, c-format + msgid "error rewinding data object: %s" + msgstr "errorea datu objektua atzera eraman: %s" + +-#: ncrypt/crypt_gpgme.c:972 ++#: ncrypt/crypt_gpgme.c:971 + msgid "[tempfile]" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:978 ncrypt/crypt_gpgme.c:1032 ++#: ncrypt/crypt_gpgme.c:977 ncrypt/crypt_gpgme.c:1031 + #, c-format + msgid "error reading data object: %s" + msgstr "errorea datu objektua irakurtzerakoan: %s" + +-#: ncrypt/crypt_gpgme.c:1149 ++#: ncrypt/crypt_gpgme.c:1148 + #, fuzzy, c-format + msgid "error adding recipient '%s': %s" + msgstr "errorea '%s' hartzailea gehitzerakoan: %s" + +-#: ncrypt/crypt_gpgme.c:1202 ++#: ncrypt/crypt_gpgme.c:1186 + #, c-format + msgid "secret key '%s' not found: %s" + msgstr "ez da '%s' gako sekretua aurkitu: %s" + +-#: ncrypt/crypt_gpgme.c:1218 ++#: ncrypt/crypt_gpgme.c:1203 + #, fuzzy, c-format + msgid "ambiguous specification of secret key '%s'\n" + msgstr "'%s' gako sekretu espezifikazio anbiguoa" + +-#: ncrypt/crypt_gpgme.c:1234 ++#: ncrypt/crypt_gpgme.c:1219 + #, c-format + msgid "error setting secret key '%s': %s" + msgstr "errorea'%s' gako sekretua ezartzerakoan: %s" + +-#: ncrypt/crypt_gpgme.c:1250 ++#: ncrypt/crypt_gpgme.c:1278 + #, c-format + msgid "error setting PKA signature notation: %s" + msgstr "errorea PKA sinadura notazioa ezartzean: %s" + +-#: ncrypt/crypt_gpgme.c:1324 ++#: ncrypt/crypt_gpgme.c:1353 + #, c-format + msgid "error encrypting data: %s" + msgstr "errorea datuak enkriptatzerakoan: %s" + +-#: ncrypt/crypt_gpgme.c:1453 ++#: ncrypt/crypt_gpgme.c:1483 + #, c-format + msgid "error signing data: %s" + msgstr "errorea datuak sinatzerakoan: %s" + +-#: ncrypt/crypt_gpgme.c:1463 ++#: ncrypt/crypt_gpgme.c:1493 + msgid "$pgp_sign_as unset and no default key specified in ~/.gnupg/gpg.conf" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1641 ++#: ncrypt/crypt_gpgme.c:1672 + msgid "Warning: One of the keys has been revoked\n" + msgstr "Abisua: Gakoetako bat errebokatua izan da\n" + +-#: ncrypt/crypt_gpgme.c:1651 ++#: ncrypt/crypt_gpgme.c:1682 + msgid "Warning: The key used to create the signature expired at: " + msgstr "Abisua: sinadura sortzeko erabilitako gakoa iraungitze data: " + +-#: ncrypt/crypt_gpgme.c:1657 ++#: ncrypt/crypt_gpgme.c:1688 + msgid "Warning: At least one certification key has expired\n" + msgstr "Abisua: Ziurtagiri bat behintzat iraungi egin da\n" + +-#: ncrypt/crypt_gpgme.c:1671 ++#: ncrypt/crypt_gpgme.c:1702 + msgid "Warning: The signature expired at: " + msgstr "Abisua: Sinadura iraungitze data: " + +-#: ncrypt/crypt_gpgme.c:1678 ++#: ncrypt/crypt_gpgme.c:1709 + msgid "Can't verify due to a missing key or certificate\n" + msgstr "Ezin da egiaztatu gakoa edo ziurtagiria falta delako\n" + +-#: ncrypt/crypt_gpgme.c:1683 ++#: ncrypt/crypt_gpgme.c:1714 + msgid "The CRL is not available\n" + msgstr "CRL ez da erabilgarri\n" + +-#: ncrypt/crypt_gpgme.c:1689 ++#: ncrypt/crypt_gpgme.c:1720 + msgid "Available CRL is too old\n" + msgstr "CRL erabilgarria zaharregia da\n" + +-#: ncrypt/crypt_gpgme.c:1694 ++#: ncrypt/crypt_gpgme.c:1725 + msgid "A policy requirement was not met\n" + msgstr "Politika behar bat ez da aurkitu\n" + +-#: ncrypt/crypt_gpgme.c:1703 ++#: ncrypt/crypt_gpgme.c:1734 + msgid "A system error occurred" + msgstr "Sistema errore bat gertatu da" + +-#: ncrypt/crypt_gpgme.c:1734 ++#: ncrypt/crypt_gpgme.c:1765 + msgid "WARNING: PKA entry does not match signer's address: " + msgstr "KONTUAZ: PKA sarrera ez da sinatzaile helbidearen berdina: " + +-#: ncrypt/crypt_gpgme.c:1740 ++#: ncrypt/crypt_gpgme.c:1771 + msgid "PKA verified signer's address is: " + msgstr "PKA egiaztaturiko sinatzaile helbidea: " + +-#: ncrypt/crypt_gpgme.c:1822 ++#: ncrypt/crypt_gpgme.c:1853 + msgid "WARNING: We have NO indication whether the key belongs to the person named as shown above\n" + msgstr "KONTUZ: EZ dugu ezagutzarik gakoa behean agertzen den pertsonarena dela frogatzen duenik\n" + +-#: ncrypt/crypt_gpgme.c:1829 ++#: ncrypt/crypt_gpgme.c:1860 + msgid "WARNING: The key does NOT BELONG to the person named as shown above\n" + msgstr "ABISUA: Gakoa ez da aurrerantzean behean agertzen den pertsonarena\n" + +-#: ncrypt/crypt_gpgme.c:1833 ++#: ncrypt/crypt_gpgme.c:1864 + msgid "WARNING: It is NOT certain that the key belongs to the person named as shown above\n" + msgstr "ABISUA: Ez da egia gakoa aurrerantzean behean agertzen den pertsonarena dela\n" + +-#: ncrypt/crypt_gpgme.c:1886 ++#: ncrypt/crypt_gpgme.c:1917 + msgid "KeyID " + msgstr "" + + #. L10N: You will see this message in place of "KeyID " + #. if the S/MIME key has no ID. This is quite an error. +-#: ncrypt/crypt_gpgme.c:1893 ++#: ncrypt/crypt_gpgme.c:1924 + msgid "no signature fingerprint available" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1902 ncrypt/crypt_gpgme.c:1907 ++#: ncrypt/crypt_gpgme.c:1933 ncrypt/crypt_gpgme.c:1938 + #, fuzzy + msgid "created: " + msgstr "Sortu %s?" + +-#: ncrypt/crypt_gpgme.c:1981 ++#: ncrypt/crypt_gpgme.c:2012 + #, fuzzy, c-format + msgid "Error getting key information for KeyID %s: %s\n" + msgstr "Errorea gako argibideak eskuratzen: " + +-#: ncrypt/crypt_gpgme.c:1988 ncrypt/crypt_gpgme.c:2003 ++#: ncrypt/crypt_gpgme.c:2019 ncrypt/crypt_gpgme.c:2034 + #, fuzzy + msgid "Good signature from:" + msgstr "Hemendik ondo sinaturik: " + +-#: ncrypt/crypt_gpgme.c:1995 ++#: ncrypt/crypt_gpgme.c:2026 + #, fuzzy + msgid "*BAD* signature from:" + msgstr "Hemendik ondo sinaturik: " + +-#: ncrypt/crypt_gpgme.c:2011 ++#: ncrypt/crypt_gpgme.c:2042 + #, fuzzy + msgid "Problem signature from:" + msgstr "Hemendik ondo sinaturik: " + + #. L10N: This is trying to match the width of the + #. "Problem signature from:" translation just above. +-#: ncrypt/crypt_gpgme.c:2017 ++#: ncrypt/crypt_gpgme.c:2048 + #, fuzzy + msgid " expires: " + msgstr " ezizena: " + +-#: ncrypt/crypt_gpgme.c:2064 ncrypt/crypt_gpgme.c:2294 +-#: ncrypt/crypt_gpgme.c:3081 ++#: ncrypt/crypt_gpgme.c:2103 ncrypt/crypt_gpgme.c:2333 ++#: ncrypt/crypt_gpgme.c:3124 + msgid "[-- Begin signature information --]\n" + msgstr "[-- Sinadura argibide hasiera --]\n" + +-#: ncrypt/crypt_gpgme.c:2075 ++#: ncrypt/crypt_gpgme.c:2114 + #, c-format + msgid "Error: verification failed: %s\n" + msgstr "Errorea: huts egiaztatzerakoan: %s\n" + +-#: ncrypt/crypt_gpgme.c:2126 ++#: ncrypt/crypt_gpgme.c:2165 + #, c-format + msgid "*** Begin Notation (signature by: %s) ***\n" + msgstr "*** Hasiera idazkera (sinadura: %s) ***\n" + +-#: ncrypt/crypt_gpgme.c:2145 ++#: ncrypt/crypt_gpgme.c:2184 + msgid "*** End Notation ***\n" + msgstr "*** Amaiera idazkera ***\n" + +-#: ncrypt/crypt_gpgme.c:2153 ncrypt/crypt_gpgme.c:2308 +-#: ncrypt/crypt_gpgme.c:3091 ++#: ncrypt/crypt_gpgme.c:2192 ncrypt/crypt_gpgme.c:2347 ++#: ncrypt/crypt_gpgme.c:3134 + msgid "" + "[-- End signature information --]\n" + "\n" +@@ -4098,7 +4177,7 @@ msgstr "" + "[-- Sinadura argibide amaiera --] \n" + "\n" + +-#: ncrypt/crypt_gpgme.c:2268 ++#: ncrypt/crypt_gpgme.c:2307 + #, c-format + msgid "" + "[-- Error: decryption failed: %s --]\n" +@@ -4107,21 +4186,26 @@ msgstr "" + "[-- Errorea: desenkriptatzerakoan huts: %s --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:2821 ++#: ncrypt/crypt_gpgme.c:2860 + #, fuzzy, c-format + msgid "Error importing key: %s" + msgstr "Errorea gako argibideak eskuratzen: " + +-#: ncrypt/crypt_gpgme.c:3059 ++#: ncrypt/crypt_gpgme.c:3098 + #, c-format + msgid "Error: decryption/verification failed: %s\n" + msgstr "Errorea: desenkriptazio/egiaztapenak huts egin du: %s\n" + +-#: ncrypt/crypt_gpgme.c:3103 ++#: ncrypt/crypt_gpgme.c:3105 ncrypt/crypt_gpgme.c:3302 ncrypt/pgp.c:726 ++#: ncrypt/pgp.c:1273 ++msgid "PGP message successfully decrypted" ++msgstr "PGP mezua arrakastatsuki desenkriptatu da" ++ ++#: ncrypt/crypt_gpgme.c:3146 + msgid "Error: copy data failed\n" + msgstr "Errorea: huts datuak kopiatzerakoan\n" + +-#: ncrypt/crypt_gpgme.c:3116 ncrypt/pgp.c:675 ++#: ncrypt/crypt_gpgme.c:3159 ncrypt/pgp.c:674 + msgid "" + "[-- BEGIN PGP MESSAGE --]\n" + "\n" +@@ -4129,11 +4213,11 @@ msgstr "" + "[-- PGP MEZU HASIERA --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3118 ncrypt/pgp.c:677 ++#: ncrypt/crypt_gpgme.c:3161 ncrypt/pgp.c:676 + msgid "[-- BEGIN PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- PGP PUBLIKO GAKO BLOKE HASIERA --]\n" + +-#: ncrypt/crypt_gpgme.c:3120 ncrypt/pgp.c:679 ++#: ncrypt/crypt_gpgme.c:3163 ncrypt/pgp.c:678 + msgid "" + "[-- BEGIN PGP SIGNED MESSAGE --]\n" + "\n" +@@ -4141,19 +4225,19 @@ msgstr "" + "[-- PGP SINATUTAKO MEZUAREN HASIERA --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3145 ncrypt/pgp.c:716 ++#: ncrypt/crypt_gpgme.c:3188 ncrypt/pgp.c:715 + msgid "[-- END PGP MESSAGE --]\n" + msgstr "[-- PGP MEZU BUKAERA--]\n" + +-#: ncrypt/crypt_gpgme.c:3147 ncrypt/pgp.c:730 ++#: ncrypt/crypt_gpgme.c:3190 ncrypt/pgp.c:729 + msgid "[-- END PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- PGP PUBLIKO GAKO BLOKE AMAIERA --]\n" + +-#: ncrypt/crypt_gpgme.c:3149 ncrypt/pgp.c:732 ++#: ncrypt/crypt_gpgme.c:3192 ncrypt/pgp.c:731 + msgid "[-- END PGP SIGNED MESSAGE --]\n" + msgstr "[-- PGP SINATUTAKO MEZU BUKAERA --]\n" + +-#: ncrypt/crypt_gpgme.c:3170 ncrypt/pgp.c:765 ++#: ncrypt/crypt_gpgme.c:3213 ncrypt/pgp.c:764 + msgid "" + "[-- Error: could not find beginning of PGP message --]\n" + "\n" +@@ -4161,11 +4245,11 @@ msgstr "" + "[-- Errorea: ezin da PGP mezuaren hasiera aurkitu --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3198 ncrypt/crypt_gpgme.c:3296 ncrypt/pgp.c:1218 ++#: ncrypt/crypt_gpgme.c:3241 ncrypt/crypt_gpgme.c:3339 ncrypt/pgp.c:1218 + msgid "[-- Error: could not create temporary file --]\n" + msgstr "[-- Errorea: ezin da behin-behineko fitxategi sortu --]\n" + +-#: ncrypt/crypt_gpgme.c:3212 ++#: ncrypt/crypt_gpgme.c:3255 + msgid "" + "[-- The following data is PGP/MIME signed and encrypted --]\n" + "\n" +@@ -4173,7 +4257,7 @@ msgstr "" + "[-- Hurrengo datuak PGP/MIME bidez sinatu eta enkriptaturik daude --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3214 ncrypt/pgp.c:1231 ++#: ncrypt/crypt_gpgme.c:3257 ncrypt/pgp.c:1232 + msgid "" + "[-- The following data is PGP/MIME encrypted --]\n" + "\n" +@@ -4181,24 +4265,20 @@ msgstr "" + "[-- Hurrengo datuak PGP/MIME bidez enkriptaturik daude --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3254 ++#: ncrypt/crypt_gpgme.c:3297 + msgid "[-- End of PGP/MIME signed and encrypted data --]\n" + msgstr "[-- PGP/MIME bidez sinatu eta enkriptaturiko datuen amaiera --]\n" + +-#: ncrypt/crypt_gpgme.c:3255 ncrypt/pgp.c:1267 ++#: ncrypt/crypt_gpgme.c:3298 ncrypt/pgp.c:1268 + msgid "[-- End of PGP/MIME encrypted data --]\n" + msgstr "[-- PGP/MIME bidez enkriptaturiko datuen amaiera --]\n" + +-#: ncrypt/crypt_gpgme.c:3259 ncrypt/pgp.c:727 ncrypt/pgp.c:1272 +-msgid "PGP message successfully decrypted" +-msgstr "PGP mezua arrakastatsuki desenkriptatu da" +- +-#: ncrypt/crypt_gpgme.c:3265 ncrypt/pgp.c:666 ncrypt/pgp.c:718 +-#: ncrypt/pgp.c:1276 ++#: ncrypt/crypt_gpgme.c:3308 ncrypt/pgp.c:665 ncrypt/pgp.c:717 ++#: ncrypt/pgp.c:1277 + msgid "Could not decrypt PGP message" + msgstr "Ezin da PGP mezua desenkriptatu" + +-#: ncrypt/crypt_gpgme.c:3310 ++#: ncrypt/crypt_gpgme.c:3353 + msgid "" + "[-- The following data is S/MIME signed --]\n" + "\n" +@@ -4206,7 +4286,7 @@ msgstr "" + "[-- hurrengo datuak S/MIME bidez sinaturik daude --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3311 ++#: ncrypt/crypt_gpgme.c:3354 + msgid "" + "[-- The following data is S/MIME encrypted --]\n" + "\n" +@@ -4214,34 +4294,34 @@ msgstr "" + "[-- hurrengo datuak S/MIME bidez enkriptaturik daude --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3358 ++#: ncrypt/crypt_gpgme.c:3401 + msgid "[-- End of S/MIME signed data --]\n" + msgstr "[-- S/MIME bidez sinaturiko datuen amaiera --]\n" + +-#: ncrypt/crypt_gpgme.c:3359 ++#: ncrypt/crypt_gpgme.c:3402 + msgid "[-- End of S/MIME encrypted data --]\n" + msgstr "[-- S/MIME bidez enkriptaturiko datuen amaiera --]\n" + +-#: ncrypt/crypt_gpgme.c:4029 ++#: ncrypt/crypt_gpgme.c:4077 + msgid "[Can't display this user ID (unknown encoding)]" + msgstr "[Ezin da erabiltzaile ID hau bistarazi (kodeketa ezezaguna)]" + +-#: ncrypt/crypt_gpgme.c:4031 ++#: ncrypt/crypt_gpgme.c:4079 + msgid "[Can't display this user ID (invalid encoding)]" + msgstr "[Ezin da erabiltzaile ID hau bistarazi (kodeketa baliogabea)]" + +-#: ncrypt/crypt_gpgme.c:4036 ++#: ncrypt/crypt_gpgme.c:4084 + msgid "[Can't display this user ID (invalid DN)]" + msgstr "[Ezin da erabiltzaile ID hau bistarazi (DN baliogabea)]" + + #. L10N: comes after the Name or aka if the key is invalid + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4150 ncrypt/crypt_gpgme.c:4291 ++#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4339 + msgid "[Invalid]" + msgstr "[Baliogabea]" + + #. L10N: This is printed after "Key Type: " and looks like this: PGP, 2048 bit RSA +-#: ncrypt/crypt_gpgme.c:4190 ncrypt/crypt_gpgme.c:4331 ++#: ncrypt/crypt_gpgme.c:4238 ncrypt/crypt_gpgme.c:4379 + #, fuzzy, c-format + msgid "%s, %lu bit %s\n" + msgid_plural "%s, %lu bit %s\n" +@@ -4249,95 +4329,95 @@ msgstr[0] "Gako mota ..: %s, %lu bit %s\n" + msgstr[1] "Gako mota ..: %s, %lu bit %s\n" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4338 ++#: ncrypt/crypt_gpgme.c:4246 ncrypt/crypt_gpgme.c:4386 + msgid "encryption" + msgstr "enkriptazioa" + +-#: ncrypt/crypt_gpgme.c:4199 ncrypt/crypt_gpgme.c:4205 +-#: ncrypt/crypt_gpgme.c:4339 ncrypt/crypt_gpgme.c:4344 ++#: ncrypt/crypt_gpgme.c:4247 ncrypt/crypt_gpgme.c:4253 ++#: ncrypt/crypt_gpgme.c:4387 ncrypt/crypt_gpgme.c:4392 + msgid ", " + msgstr ", " + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4204 ncrypt/crypt_gpgme.c:4343 ++#: ncrypt/crypt_gpgme.c:4252 ncrypt/crypt_gpgme.c:4391 + msgid "signing" + msgstr "sinatzen" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4210 ncrypt/crypt_gpgme.c:4348 ++#: ncrypt/crypt_gpgme.c:4258 ncrypt/crypt_gpgme.c:4396 + msgid "certification" + msgstr "ziurtapena" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4285 ++#: ncrypt/crypt_gpgme.c:4333 + msgid "[Revoked]" + msgstr "[Indargabetua]" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4297 ++#: ncrypt/crypt_gpgme.c:4345 + msgid "[Expired]" + msgstr "[Iraungia]" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4303 ++#: ncrypt/crypt_gpgme.c:4351 + msgid "[Disabled]" + msgstr "[Desgaitua]" + +-#: ncrypt/crypt_gpgme.c:4376 ++#: ncrypt/crypt_gpgme.c:4424 + msgid "Collecting data..." + msgstr "Datuak batzen..." + +-#: ncrypt/crypt_gpgme.c:4394 ++#: ncrypt/crypt_gpgme.c:4442 + #, c-format + msgid "Error finding issuer key: %s\n" + msgstr "Errorea jaulkitzaile gakoa bilatzean: %s\n" + +-#: ncrypt/crypt_gpgme.c:4403 ++#: ncrypt/crypt_gpgme.c:4451 + #, fuzzy + msgid "Error: certification chain too long - stopping here\n" + msgstr "Errorea: ziurtagiri kate luzeegia - hemen gelditzen\n" + +-#: ncrypt/crypt_gpgme.c:4413 ncrypt/pgpkey.c:733 ++#: ncrypt/crypt_gpgme.c:4461 ncrypt/pgpkey.c:766 + #, c-format + msgid "Key ID: 0x%s" + msgstr "Gako IDa: 0x%s" + +-#: ncrypt/crypt_gpgme.c:4538 ncrypt/crypt_gpgme.c:4589 ++#: ncrypt/crypt_gpgme.c:4586 ncrypt/crypt_gpgme.c:4637 + #, c-format + msgid "gpgme_op_keylist_start failed: %s" + msgstr "gpgme_op_keylist_start hutsa: %s" + +-#: ncrypt/crypt_gpgme.c:4577 ncrypt/crypt_gpgme.c:4619 +-#: ncrypt/crypt_gpgme.c:5355 ++#: ncrypt/crypt_gpgme.c:4625 ncrypt/crypt_gpgme.c:4667 ++#: ncrypt/crypt_gpgme.c:5435 + #, c-format + msgid "gpgme_op_keylist_next failed: %s" + msgstr "gpgme_op_keylist_next hutsa: %s" + +-#: ncrypt/crypt_gpgme.c:4701 ++#: ncrypt/crypt_gpgme.c:4749 + msgid "All matching keys are marked expired/revoked" + msgstr "Pareko gako guztiak iraungita/errebokatua bezala markaturik daude" + +-#: ncrypt/crypt_gpgme.c:4731 ncrypt/pgpkey.c:666 ncrypt/smime.c:551 ++#: ncrypt/crypt_gpgme.c:4779 ncrypt/pgpkey.c:669 ncrypt/smime.c:553 + msgid "Select " + msgstr "Aukeratu " + +-#: ncrypt/crypt_gpgme.c:4733 ncrypt/pgpkey.c:668 ++#: ncrypt/crypt_gpgme.c:4781 ncrypt/pgpkey.c:671 + msgid "Check key " + msgstr "Gakoa egiaztatu " + +-#: ncrypt/crypt_gpgme.c:4749 ++#: ncrypt/crypt_gpgme.c:4827 + msgid "PGP and S/MIME keys matching" + msgstr "PGP eta S/MIME gako parekatzea" + +-#: ncrypt/crypt_gpgme.c:4751 ++#: ncrypt/crypt_gpgme.c:4829 + msgid "PGP keys matching" + msgstr "PGP gako parekatzea" + +-#: ncrypt/crypt_gpgme.c:4753 ++#: ncrypt/crypt_gpgme.c:4831 + msgid "S/MIME keys matching" + msgstr "S/MIME gako parekatzea" + +-#: ncrypt/crypt_gpgme.c:4755 ++#: ncrypt/crypt_gpgme.c:4833 + msgid "keys matching" + msgstr "gako parekatzea" + +@@ -4345,59 +4425,59 @@ msgstr "gako parekatzea" + #. %1$s is one of the previous four entries. + #. %2$s is an address. + #. e.g. "S/MIME keys matching " +-#: ncrypt/crypt_gpgme.c:4763 ++#: ncrypt/crypt_gpgme.c:4841 + #, c-format + msgid "%s <%s>" + msgstr "%s <%s>" + + #. L10N: e.g. 'S/MIME keys matching "Michael Elkins".' +-#: ncrypt/crypt_gpgme.c:4768 ++#: ncrypt/crypt_gpgme.c:4846 + #, c-format + msgid "%s \"%s\"" + msgstr "%s \"%s\"" + +-#: ncrypt/crypt_gpgme.c:4796 ncrypt/pgpkey.c:754 ++#: ncrypt/crypt_gpgme.c:4874 ncrypt/pgpkey.c:787 + msgid "This key can't be used: expired/disabled/revoked" + msgstr "Gako hau ezin da erabili: iraungita/desgaitua/errebokatuta" + +-#: ncrypt/crypt_gpgme.c:4810 ncrypt/pgpkey.c:767 ncrypt/smime.c:581 ++#: ncrypt/crypt_gpgme.c:4888 ncrypt/pgpkey.c:800 ncrypt/smime.c:613 + #, fuzzy + msgid "ID is expired/disabled/revoked. Do you really want to use the key?" + msgstr "ID-a denboraz kanpo/ezgaitua/ukatua dago. Zihur zaude gakoa erabili nahi duzula?" + +-#: ncrypt/crypt_gpgme.c:4820 ncrypt/pgpkey.c:779 ++#: ncrypt/crypt_gpgme.c:4898 ncrypt/pgpkey.c:812 + #, fuzzy + msgid "ID is not valid. Do you really want to use the key?" + msgstr "ID-a ez da baliozkoa. Zihur zaude gakoa erabili nahi duzula?" + +-#: ncrypt/crypt_gpgme.c:4823 ncrypt/pgpkey.c:782 ++#: ncrypt/crypt_gpgme.c:4901 ncrypt/pgpkey.c:815 + #, fuzzy + msgid "ID is only marginally valid. Do you really want to use the key?" + msgstr "ID bakarrik marginalki erabilgarria da. Zihur zaude gakoa erabili nahi duzula?" + +-#: ncrypt/crypt_gpgme.c:4831 ncrypt/pgpkey.c:775 ncrypt/smime.c:585 ++#: ncrypt/crypt_gpgme.c:4909 ncrypt/pgpkey.c:808 ncrypt/smime.c:617 + #, fuzzy + msgid "ID has undefined validity. Do you really want to use the key?" + msgstr "ID-ak mugagabeko balioa du. Zihur zaude gakoa erabili nahi duzula?" + +-#: ncrypt/crypt_gpgme.c:4911 ncrypt/crypt_gpgme.c:5024 ncrypt/pgpkey.c:1019 +-#: ncrypt/pgpkey.c:1146 ++#: ncrypt/crypt_gpgme.c:4991 ncrypt/crypt_gpgme.c:5104 ncrypt/pgpkey.c:1054 ++#: ncrypt/pgpkey.c:1181 + #, c-format + msgid "Looking for keys matching \"%s\"..." + msgstr "\"%s\" duten gakoen bila..." + +-#: ncrypt/crypt_gpgme.c:5140 ncrypt/pgpkey.c:870 ncrypt/smime.c:924 ++#: ncrypt/crypt_gpgme.c:5220 ncrypt/pgpkey.c:905 ncrypt/smime.c:958 + #, c-format + msgid "No matching keys found for \"%s\"" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5190 ncrypt/pgp.c:1456 ++#: ncrypt/crypt_gpgme.c:5270 ncrypt/pgp.c:1457 + #, c-format + msgid "Use keyID = \"%s\" for %s?" + msgstr "ID-gakoa=\"%s\" %s-rako erabili?" + +-#: ncrypt/crypt_gpgme.c:5238 ncrypt/pgp.c:1505 ncrypt/smime.c:944 +-#: ncrypt/smime.c:1049 ++#: ncrypt/crypt_gpgme.c:5318 ncrypt/pgp.c:1506 ncrypt/smime.c:978 ++#: ncrypt/smime.c:1083 + #, c-format + msgid "Enter keyID for %s: " + msgstr "%s-rako ID-gakoa sartu: " +@@ -4406,16 +4486,16 @@ msgstr "%s-rako ID-gakoa sartu: " + #. mutt_gpgme_select_secret_key() tries to list all secret keys to choose + #. from. This error is displayed if no results were found. + #. +-#: ncrypt/crypt_gpgme.c:5364 ++#: ncrypt/crypt_gpgme.c:5444 + #, fuzzy + msgid "No secret keys found" + msgstr "ez da '%s' gako sekretua aurkitu: %s" + +-#: ncrypt/crypt_gpgme.c:5398 ncrypt/pgpkey.c:888 ++#: ncrypt/crypt_gpgme.c:5478 ncrypt/pgpkey.c:923 + msgid "Please enter the key ID: " + msgstr "Mesedez sar ezazu gako-ID-a: " + +-#: ncrypt/crypt_gpgme.c:5411 ++#: ncrypt/crypt_gpgme.c:5491 + #, fuzzy, c-format + msgid "Error exporting key: %s" + msgstr "Errorea gako argibideak eskuratzen: " +@@ -4423,102 +4503,102 @@ msgstr "Errorea gako argibideak eskuratzen: " + #. 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. +-#: ncrypt/crypt_gpgme.c:5429 ++#: ncrypt/crypt_gpgme.c:5509 + #, fuzzy, c-format + msgid "PGP Key 0x%s" + msgstr "PGP Gakoa %s" + +-#: ncrypt/crypt_gpgme.c:5474 ++#: ncrypt/crypt_gpgme.c:5554 + msgid "GPGME: OpenPGP protocol not available" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5485 ++#: ncrypt/crypt_gpgme.c:5565 + msgid "GPGME: CMS protocol not available" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5536 ++#: ncrypt/crypt_gpgme.c:5616 + #, fuzzy + msgid "S/MIME (s)ign, sign (a)s, (p)gp, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME (e)nkript, (s)ina, sin (a) honela, (b)iak, (p)gp or (g)arbitu?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5538 ++#: ncrypt/crypt_gpgme.c:5618 + msgid "sapco" + msgstr "esabpg" + +-#: ncrypt/crypt_gpgme.c:5545 ++#: ncrypt/crypt_gpgme.c:5625 + #, fuzzy + msgid "PGP (s)ign, sign (a)s, s/(m)ime, (c)lear, or (o)ppenc mode off?" + msgstr "PGP (e)nkrippt, (s)ina, sin(a)tu hola, (b)iak, s/(m)ime edo (g)abitu?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5547 ++#: ncrypt/crypt_gpgme.c:5627 + msgid "samco" + msgstr "esabmg" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5557 ++#: ncrypt/crypt_gpgme.c:5637 + #, fuzzy + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME (e)nkript, (s)ina, sin (a) honela, (b)iak, (p)gp or (g)arbitu?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5560 ++#: ncrypt/crypt_gpgme.c:5640 + #, fuzzy + msgid "esabpco" + msgstr "esabpg" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5566 ++#: ncrypt/crypt_gpgme.c:5646 + #, fuzzy + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime, (c)lear, or (o)ppenc mode?" + msgstr "PGP (e)nkrippt, (s)ina, sin(a)tu hola, (b)iak, s/(m)ime edo (g)abitu?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5569 ++#: ncrypt/crypt_gpgme.c:5649 + #, fuzzy + msgid "esabmco" + msgstr "esabmg" + +-#: ncrypt/crypt_gpgme.c:5580 ++#: ncrypt/crypt_gpgme.c:5660 + #, fuzzy + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp or (c)lear?" + msgstr "S/MIME (e)nkript, (s)ina, sin (a) honela, (b)iak, (p)gp or (g)arbitu?" + + #. L10N: S/MIME options +-#: ncrypt/crypt_gpgme.c:5582 ++#: ncrypt/crypt_gpgme.c:5662 + #, fuzzy + msgid "esabpc" + msgstr "esabpg" + +-#: ncrypt/crypt_gpgme.c:5589 ++#: ncrypt/crypt_gpgme.c:5669 + #, fuzzy + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime or (c)lear?" + msgstr "PGP (e)nkrippt, (s)ina, sin(a)tu hola, (b)iak, s/(m)ime edo (g)abitu?" + + #. L10N: PGP options +-#: ncrypt/crypt_gpgme.c:5591 ++#: ncrypt/crypt_gpgme.c:5671 + #, fuzzy + msgid "esabmc" + msgstr "esabmg" + +-#: ncrypt/crypt_gpgme.c:5751 ++#: ncrypt/crypt_gpgme.c:5831 + msgid "Failed to verify sender" + msgstr "Huts bidaltzailea egiaztatzerakoan" + +-#: ncrypt/crypt_gpgme.c:5754 ++#: ncrypt/crypt_gpgme.c:5834 + msgid "Failed to figure out sender" + msgstr "Ezin izan da biltzailea atzeman" + +-#: ncrypt/pgp.c:108 ++#: ncrypt/pgp.c:107 + msgid "Enter PGP passphrase:" + msgstr "Sar PGP pasahitza:" + +-#: ncrypt/pgp.c:595 ++#: ncrypt/pgp.c:594 + msgid "[-- Error: unable to create PGP subprocess --]\n" + msgstr "[-- Errorea: Ezin da PGP azpiprozesua sortu --]\n" + +-#: ncrypt/pgp.c:644 ncrypt/pgp.c:926 ncrypt/pgp.c:1086 ++#: ncrypt/pgp.c:643 ncrypt/pgp.c:925 ncrypt/pgp.c:1085 + msgid "" + "[-- End of PGP output --]\n" + "\n" +@@ -4529,16 +4609,16 @@ msgstr "" + #. L10N: You will see this error message if (1) you are decrypting + #. (not encrypting) something and (2) it is a plaintext. So the + #. message does not mean "You failed to encrypt the message." +-#: ncrypt/pgp.c:724 ++#: ncrypt/pgp.c:723 + #, fuzzy + msgid "PGP message is not encrypted" + msgstr "PGP mezua arrakastatsuki desenkriptatu da" + +-#: ncrypt/pgp.c:978 ++#: ncrypt/pgp.c:977 + msgid "Internal error. Please submit a bug report." + msgstr "" + +-#: ncrypt/pgp.c:1043 ++#: ncrypt/pgp.c:1042 + msgid "" + "[-- Error: could not create a PGP subprocess --]\n" + "\n" +@@ -4546,132 +4626,132 @@ msgstr "" + "[-- Errorea: ezin da PGP azpiprozesua sortu --]\n" + "\n" + +-#: ncrypt/pgp.c:1073 ncrypt/pgp.c:1098 ncrypt/smime.c:2143 postpone.c:757 +-#: postpone.c:785 ++#: ncrypt/pgp.c:1072 ncrypt/pgp.c:1097 ncrypt/smime.c:2177 postpone.c:803 ++#: postpone.c:831 + msgid "Decryption failed" + msgstr "Deskribapenak huts egin du" + +-#: ncrypt/pgp.c:1333 ++#: ncrypt/pgp.c:1334 + msgid "Can't open PGP subprocess" + msgstr "Ezin da PGP azpiprozesua ireki" + +-#: ncrypt/pgp.c:1768 ++#: ncrypt/pgp.c:1770 + msgid "Can't invoke PGP" + msgstr "Ezin da PGP deitu" + + #. L10N: The next string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1875 ++#: ncrypt/pgp.c:1877 + msgid "PGP/M(i)ME" + msgstr "PGP/M(i)ME" + + #. L10N: The previous string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1881 ++#: ncrypt/pgp.c:1883 + msgid "(i)nline" + msgstr "(i)barnean" + + #. L10N: PGP options (inline) (opportunistic encryption is on) +-#: ncrypt/pgp.c:1893 ++#: ncrypt/pgp.c:1895 + #, fuzzy, c-format + msgid "PGP (s)ign, sign (a)s, %s format, (c)lear, or (o)ppenc mode off?" + msgstr "PGP (e)nkript, (s)ina, sign (a)tu hola, (b)iak, %s, edo (g)arbitu?" + + #. L10N: PGP options (inline) (opportunistic encryption is on) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1899 ++#: ncrypt/pgp.c:1901 + msgid "saico" + msgstr "esabg" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1905 ++#: ncrypt/pgp.c:1907 + #, fuzzy + msgid "PGP (s)ign, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "PGP (e)nkript, (s)ina, sign (a)tu hola, (b)iak, %s, edo (g)arbitu?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1907 ++#: ncrypt/pgp.c:1909 + msgid "saco" + msgstr "esabg" + + #. L10N: PGP options (inline) (opportunistic encryption is off) +-#: ncrypt/pgp.c:1921 ++#: ncrypt/pgp.c:1923 + #, fuzzy, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, (c)lear, or (o)ppenc mode?" + msgstr "PGP (e)nkript, (s)ina, sign (a)tu hola, (b)iak, %s, edo (g)arbitu?" + + #. L10N: PGP options (inline) (opportunistic encryption is off) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1927 ++#: ncrypt/pgp.c:1929 + #, fuzzy + msgid "esabico" + msgstr "esabg" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1933 ++#: ncrypt/pgp.c:1935 + #, fuzzy + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "PGP (e)nkript, (s)ina, sign (a)tu hola, (b)iak, %s, edo (g)arbitu?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1936 ++#: ncrypt/pgp.c:1938 + #, fuzzy + msgid "esabco" + msgstr "esabg" + + #. L10N: PGP options (inline) +-#: ncrypt/pgp.c:1947 ++#: ncrypt/pgp.c:1949 + #, fuzzy, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, or (c)lear?" + msgstr "PGP (e)nkript, (s)ina, sign (a)tu hola, (b)iak, %s, edo (g)arbitu?" + + #. L10N: PGP options (inline) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1953 ++#: ncrypt/pgp.c:1955 + #, fuzzy + msgid "esabic" + msgstr "esabig" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1959 ++#: ncrypt/pgp.c:1961 + #, fuzzy + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (c)lear?" + msgstr "PGP (e)nkript, (s)ina, sign (a)tu hola, (b)iak, %s, edo (g)arbitu?" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1961 ++#: ncrypt/pgp.c:1963 + #, fuzzy + msgid "esabc" + msgstr "esabg" + +-#: ncrypt/pgpinvoke.c:458 ++#: ncrypt/pgpinvoke.c:461 + msgid "Fetching PGP key..." + msgstr "PGP gakoa eskuratzen..." + +-#: ncrypt/pgpkey.c:640 ++#: ncrypt/pgpkey.c:643 + msgid "All matching keys are expired, revoked, or disabled" + msgstr "Aurkitutako gako guztiak denboraz kanpo, errebokatutarik edo ezgaiturik daude" + +-#: ncrypt/pgpkey.c:681 ++#: ncrypt/pgpkey.c:714 + #, c-format + msgid "PGP keys matching <%s>" + msgstr "aurkitutako PGP gakoak <%s>" + +-#: ncrypt/pgpkey.c:683 ++#: ncrypt/pgpkey.c:716 + #, c-format + msgid "PGP keys matching \"%s\"" + msgstr "\"%s\" duten PGP gakoak" + +-#: ncrypt/pgpkey.c:700 ncrypt/pgpkey.c:909 ++#: ncrypt/pgpkey.c:733 ncrypt/pgpkey.c:944 + msgid "Can't open /dev/null" + msgstr "Ezin da /dev/null ireki" + +-#: ncrypt/pgpkey.c:938 ++#: ncrypt/pgpkey.c:973 + #, c-format + msgid "PGP Key %s" + msgstr "PGP Gakoa %s" + +-#: ncrypt/smime.c:182 ++#: ncrypt/smime.c:180 + msgid "Enter S/MIME passphrase:" + msgstr "Sartu S/MIME pasahitza:" + +@@ -4680,7 +4760,7 @@ msgstr "Sartu S/MIME pasahitza:" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:460 ++#: ncrypt/smime.c:462 + msgid "Expired " + msgstr "Denboraz kanpo " + +@@ -4689,7 +4769,7 @@ msgstr "Denboraz kanpo " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:468 ++#: ncrypt/smime.c:470 + msgid "Invalid " + msgstr "Baliogabea " + +@@ -4698,7 +4778,7 @@ msgstr "Baliogabea " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:476 ++#: ncrypt/smime.c:478 + msgid "Revoked " + msgstr "Errebokaturik " + +@@ -4707,7 +4787,7 @@ msgstr "Errebokaturik " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:484 ++#: ncrypt/smime.c:486 + msgid "Trusted " + msgstr "Fidagarria " + +@@ -4716,7 +4796,7 @@ msgstr "Fidagarria " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:492 ++#: ncrypt/smime.c:494 + msgid "Unverified" + msgstr "Egiaztatu gabea" + +@@ -4725,7 +4805,7 @@ msgstr "Egiaztatu gabea" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:500 ++#: ncrypt/smime.c:502 + msgid "Verified " + msgstr "Egiaztaturik " + +@@ -4734,60 +4814,60 @@ msgstr "Egiaztaturik " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:508 ++#: ncrypt/smime.c:510 + msgid "Unknown " + msgstr "Ezezaguna " + +-#: ncrypt/smime.c:545 ++#: ncrypt/smime.c:547 + #, c-format + msgid "S/MIME certificates matching \"%s\"" + msgstr "S/MIME ziurtagiria aurkiturik \"%s\"" + +-#: ncrypt/smime.c:589 ++#: ncrypt/smime.c:621 + #, fuzzy + msgid "ID is not trusted. Do you really want to use the key?" + msgstr "ID-a ez da baliozkoa. Zihur zaude gakoa erabili nahi duzula?" + +-#: ncrypt/smime.c:910 ++#: ncrypt/smime.c:944 + msgid "Enter keyID: " + msgstr "IDgakoa sartu: " + +-#: ncrypt/smime.c:1055 ++#: ncrypt/smime.c:1089 + #, c-format + msgid "No (valid) certificate found for %s" + msgstr "Ez da (baliozko) ziurtagiririk aurkitu %s-rentzat" + +-#: ncrypt/smime.c:1108 ncrypt/smime.c:1137 ncrypt/smime.c:1209 +-#: ncrypt/smime.c:1243 ncrypt/smime.c:1319 ncrypt/smime.c:1399 ++#: ncrypt/smime.c:1142 ncrypt/smime.c:1171 ncrypt/smime.c:1243 ++#: ncrypt/smime.c:1277 ncrypt/smime.c:1353 ncrypt/smime.c:1433 + msgid "Error: unable to create OpenSSL subprocess" + msgstr "Errorea: Ezin da OpenSSL azpiprozesua sortu" + +-#: ncrypt/smime.c:1379 ++#: ncrypt/smime.c:1413 + #, fuzzy + msgid "Label for certificate: " + msgstr "Auzolagunengatik ezin da ziurtagiria jaso" + +-#: ncrypt/smime.c:1480 ++#: ncrypt/smime.c:1514 + msgid "no certfile" + msgstr "ziurtagiri gabea" + +-#: ncrypt/smime.c:1483 ++#: ncrypt/smime.c:1517 + msgid "no mbox" + msgstr "ez dago postakutxarik" + +-#: ncrypt/smime.c:1640 ncrypt/smime.c:1810 ++#: ncrypt/smime.c:1674 ncrypt/smime.c:1844 + msgid "No output from OpenSSL..." + msgstr "Ez dago irteerarik OpenSSL-tik..." + +-#: ncrypt/smime.c:1727 ++#: ncrypt/smime.c:1761 + msgid "Can't sign: No key specified. Use Sign As." + msgstr "Ezin da sinatu. Ez da gakorik ezarri. Honela sinatu erabili." + +-#: ncrypt/smime.c:1777 ++#: ncrypt/smime.c:1811 + msgid "Can't open OpenSSL subprocess" + msgstr "Ezin da OpenSSL azpiprozesua ireki" + +-#: ncrypt/smime.c:2004 ncrypt/smime.c:2123 ++#: ncrypt/smime.c:2038 ncrypt/smime.c:2157 + msgid "" + "[-- End of OpenSSL output --]\n" + "\n" +@@ -4795,19 +4875,19 @@ msgstr "" + "[-- OpenSSL irteeraren bukaera --]\n" + "\n" + +-#: ncrypt/smime.c:2080 ncrypt/smime.c:2093 ++#: ncrypt/smime.c:2114 ncrypt/smime.c:2127 + msgid "[-- Error: unable to create OpenSSL subprocess --]\n" + msgstr "[-- Errorea: Ezin da OpenSSL azpiprozesua sortu--]\n" + +-#: ncrypt/smime.c:2129 ++#: ncrypt/smime.c:2163 + msgid "[-- The following data is S/MIME encrypted --]\n" + msgstr "[-- Honako datu hauek S/MIME enkriptatutik daude --]\n" + +-#: ncrypt/smime.c:2132 ++#: ncrypt/smime.c:2166 + msgid "[-- The following data is S/MIME signed --]\n" + msgstr "[-- Hurrengo datu hauek S/MIME sinaturik daude --]\n" + +-#: ncrypt/smime.c:2225 ++#: ncrypt/smime.c:2259 + msgid "" + "\n" + "[-- End of S/MIME encrypted data. --]\n" +@@ -4815,7 +4895,7 @@ msgstr "" + "\n" + "[-- S/MIME enkriptaturiko duen amaiera --]\n" + +-#: ncrypt/smime.c:2227 ++#: ncrypt/smime.c:2261 + msgid "" + "\n" + "[-- End of S/MIME signed data. --]\n" +@@ -4824,170 +4904,170 @@ msgstr "" + "[-- S/MIME sinatutako datuen amaiera. --]\n" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2361 ++#: ncrypt/smime.c:2395 + #, fuzzy + msgid "S/MIME (s)ign, encrypt (w)ith, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME (e)nkrip, (s)inatu, enript (h)onez, sinatu hol(a), (b)iak) edo (g)arbitu?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2364 ++#: ncrypt/smime.c:2398 + msgid "swaco" + msgstr "eshabg" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2372 ++#: ncrypt/smime.c:2406 + #, fuzzy + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME (e)nkrip, (s)inatu, enript (h)onez, sinatu hol(a), (b)iak) edo (g)arbitu?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2375 ++#: ncrypt/smime.c:2409 + #, fuzzy + msgid "eswabco" + msgstr "eshabg" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2382 ++#: ncrypt/smime.c:2416 + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, or (c)lear?" + msgstr "S/MIME (e)nkrip, (s)inatu, enript (h)onez, sinatu hol(a), (b)iak) edo (g)arbitu?" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2385 ++#: ncrypt/smime.c:2419 + #, fuzzy + msgid "eswabc" + msgstr "eshabg" + +-#: ncrypt/smime.c:2449 ++#: ncrypt/smime.c:2483 + msgid "Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear?" + msgstr "Hautatu algoritmo familia: (1) DES, (2) RC2, (3) AES, edo (g)arbitu?" + + #. L10N: Options for: Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear? +-#: ncrypt/smime.c:2452 ++#: ncrypt/smime.c:2486 + msgid "123c" + msgstr "123g" + +-#: ncrypt/smime.c:2455 ++#: ncrypt/smime.c:2489 + msgid "(1) DES, (2) Triple-DES?" + msgstr "(1) DES, (2) DES-Hirukoitza?" + + #. L10N: Options for: (1) DES, (2) Triple-DES +-#: ncrypt/smime.c:2457 ++#: ncrypt/smime.c:2491 + msgid "12" + msgstr "12" + +-#: ncrypt/smime.c:2470 ++#: ncrypt/smime.c:2504 + msgid "(1) RC2-40, (2) RC2-64, (3) RC2-128?" + msgstr "(1) RC2-40, (2) RC2-64, (3) RC2-128?" + + #. L10N: Options for: (1) RC2-40, (2) RC2-64, (3) RC2-128 + #. L10N: Options for: (1) AES128, (2) AES192, (3) AES256 +-#: ncrypt/smime.c:2472 ncrypt/smime.c:2490 ++#: ncrypt/smime.c:2506 ncrypt/smime.c:2524 + msgid "123" + msgstr "123" + +-#: ncrypt/smime.c:2488 ++#: ncrypt/smime.c:2522 + msgid "(1) AES128, (2) AES192, (3) AES256?" + msgstr "(1) AES128, (2) AES192, (3) AES256?" + +-#: nntp/newsrc.c:632 ++#: nntp/newsrc.c:639 + msgid "Loading list of groups from cache..." + msgstr "" + +-#: nntp/newsrc.c:997 ++#: nntp/newsrc.c:1023 + msgid "No news server defined" + msgstr "" + +-#: nntp/newsrc.c:1012 ++#: nntp/newsrc.c:1041 + #, fuzzy, c-format + msgid "%s is an invalid news server specification" + msgstr "%s ez da baliozko datu-bidea" + +-#: nntp/nntp.c:236 nntp/nntp.c:777 pop/pop.c:742 pop/pop_lib.c:398 ++#: nntp/nntp.c:238 nntp/nntp.c:779 pop/pop.c:742 pop/pop_lib.c:424 + msgid "Server closed connection" + msgstr "Zerbitzariak konexioa itxi du" + +-#: nntp/nntp.c:340 ++#: nntp/nntp.c:342 + #, fuzzy + msgid "Server doesn't support reader mode" + msgstr "SMTP zerbitzariak ez du autentifikazioa onartzen" + +-#: nntp/nntp.c:576 pop/pop_auth.c:504 smtp.c:650 ++#: nntp/nntp.c:578 pop/pop_auth.c:505 smtp.c:675 + msgid "No authenticators available" + msgstr "Ez da autentifikatzailerik aukeran" + +-#: nntp/nntp.c:766 ++#: nntp/nntp.c:768 + #, fuzzy, c-format + msgid "%s authentication failed" + msgstr "SASL egiaztapenak huts egin du" + +-#: nntp/nntp.c:826 ++#: nntp/nntp.c:828 + #, fuzzy, c-format + msgid "Connection to %s lost. Reconnect?" + msgstr "%s-rekiko konexioa itxia" + +-#: nntp/nntp.c:1285 ++#: nntp/nntp.c:1287 + #, fuzzy + msgid "Fetching list of articles..." + msgstr "Mezuen zerrenda eskuratzen..." + +-#: nntp/nntp.c:1549 nntp/nntp.c:2138 pop/pop.c:614 pop/pop.c:910 ++#: nntp/nntp.c:1551 nntp/nntp.c:2140 pop/pop.c:614 pop/pop.c:905 + msgid "Checking for new messages..." + msgstr "Mezu berriak bilatzen..." + +-#: nntp/nntp.c:1864 nntp/nntp.c:1954 ++#: nntp/nntp.c:1866 nntp/nntp.c:1956 + #, fuzzy + msgid "Could not switch to reader mode" + msgstr "ezin da posta behin-behineko karpetan idatzi: %s" + +-#: nntp/nntp.c:1877 ++#: nntp/nntp.c:1879 + #, fuzzy, c-format + msgid "Connected to %s. %s" + msgstr "%s-ra konektatzen..." + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + #, fuzzy + msgid "Posting is ok" + msgstr "Ez dago ezer egiterik" + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + msgid "Posting is NOT ok" + msgstr "" + +-#: nntp/nntp.c:2008 nntp/nntp.c:2043 ++#: nntp/nntp.c:2010 nntp/nntp.c:2045 + #, fuzzy, c-format + msgid "Can't post article: %s" + msgstr "Ezin egiaztatu %s egoera: %s" + +-#: nntp/nntp.c:2064 ++#: nntp/nntp.c:2066 + #, fuzzy, c-format + msgid "Loading list of groups from server %s..." + msgstr "Mezuak zerbitzaritik ezabatzen..." + +-#: nntp/nntp.c:2106 nntp/nntp.c:2198 ++#: nntp/nntp.c:2108 nntp/nntp.c:2200 + #, fuzzy + msgid "Loading descriptions..." + msgstr "Saio asten..." + +-#: nntp/nntp.c:2128 ++#: nntp/nntp.c:2130 + #, fuzzy + msgid "Checking for new newsgroups..." + msgstr "Mezu berriak bilatzen..." + +-#: nntp/nntp.c:2332 ++#: nntp/nntp.c:2334 + msgid "Unable to find child articles because server does not support XPAT command" + msgstr "" + +-#: nntp/nntp.c:2437 ++#: nntp/nntp.c:2439 + #, fuzzy, c-format + msgid "%s is an invalid newsgroup specification" + msgstr "%s ez da baliozko datu-bidea" + +-#: nntp/nntp.c:2476 ++#: nntp/nntp.c:2478 + #, c-format + msgid "Newsgroup %s not found on the server" + msgstr "" + +-#: nntp/nntp.c:2498 ++#: nntp/nntp.c:2500 + #, c-format + msgid "Newsgroup %s has been removed from the server" + msgstr "" +@@ -4999,7 +5079,7 @@ msgstr "" + + #: notmuch/mutt_notmuch.c:219 notmuch/mutt_notmuch.c:1939 + #, fuzzy, c-format +-msgid "failed to parse notmuch uri: %s" ++msgid "failed to parse notmuch url: %s" + msgstr "Huts maito: lotura analizatzean\n" + + #: notmuch/mutt_notmuch.c:449 +@@ -6146,187 +6226,187 @@ msgstr "" + msgid "show S/MIME options" + msgstr "S/MIME aukerak ikusi" + +-#: pager.c:222 ++#: pager.c:214 + msgid "Not available in this menu" + msgstr "Menu honetan ezin da egin" + +-#: pager.c:229 ++#: pager.c:221 + msgid "PrevPg" + msgstr "AurrekoOrria" + +-#: pager.c:230 ++#: pager.c:222 + msgid "NextPg" + msgstr "HurrengoOrria" + +-#: pager.c:235 ++#: pager.c:227 + msgid "View Attachm." + msgstr "Ikusi gehigar." + +-#: pager.c:238 pager.c:247 ++#: pager.c:230 pager.c:239 + msgid "Next" + msgstr "Hurrengoa" + + #. L10N: Status bar message: the entire email is visible in the pager + #. L10N: Status bar message: all the emails are visible in the index +-#: pager.c:2180 status.c:278 ++#: pager.c:2136 status.c:278 + msgid "all" + msgstr "" + + #. L10N: Status bar message: the end of the email is visible in the pager + #. L10N: Status bar message: the end of the list emails is visible in the index +-#: pager.c:2182 status.c:276 ++#: pager.c:2138 status.c:276 + msgid "end" + msgstr "" + +-#: pager.c:2530 pager.c:2566 pager.c:2602 pager.c:2937 ++#: pager.c:2503 pager.c:2539 pager.c:2576 pager.c:2911 + msgid "Bottom of message is shown" + msgstr "Mezuaren bukaera erakutsita dago" + +-#: pager.c:2543 pager.c:2573 pager.c:2580 pager.c:2590 ++#: pager.c:2516 pager.c:2546 pager.c:2553 pager.c:2564 + msgid "Top of message is shown" + msgstr "Mezuaren hasiera erakutsita dago" + +-#: pager.c:2840 ++#: pager.c:2814 + msgid "Help is currently being shown" + msgstr "Laguntza erakutsirik dago" + +-#: pager.c:2897 ++#: pager.c:2871 + msgid "No more quoted text" + msgstr "Ez dago gakoarteko testu gehiago" + +-#: pager.c:2914 ++#: pager.c:2888 + msgid "No more unquoted text after quoted text" + msgstr "Ez dago gakogabeko testu gehiago gakoarteko testuaren ondoren" + +-#: pattern.c:220 pattern.c:297 pattern.c:1046 ++#: pattern.c:221 pattern.c:298 pattern.c:1085 + #, c-format + msgid "Error in expression: %s" + msgstr "Espresioan errorea: %s" + +-#: pattern.c:226 pattern.c:302 pattern.c:1052 ++#: pattern.c:227 pattern.c:303 pattern.c:1091 + msgid "Empty expression" + msgstr "Espresio hutsa" + +-#: pattern.c:288 ++#: pattern.c:289 + #, fuzzy + msgid "No search command defined" + msgstr "Bilaketa komadoa ezarri gabea" + +-#: pattern.c:326 ++#: pattern.c:327 + #, fuzzy, c-format + msgid "Running search command: %s ..." + msgstr "Autoikusketarako komandoa deitzen: %s" + +-#: pattern.c:417 ++#: pattern.c:441 pattern.c:456 + #, c-format + msgid "Invalid day of month: %s" + msgstr "Baliogabeko hilabete eguna: %s" + +-#: pattern.c:431 ++#: pattern.c:446 pattern.c:470 + #, c-format + msgid "Invalid month: %s" + msgstr "Baliogabeko hilabetea: %s" + +-#: pattern.c:534 ++#: pattern.c:573 + #, c-format + msgid "Invalid relative date: %s" + msgstr "Data erlatibo baliogabea: %s" + +-#: pattern.c:842 pattern.c:975 ++#: pattern.c:881 pattern.c:1014 + #, fuzzy + msgid "No current message" + msgstr "Ez dago irakurgabeko mezurik" + +-#: pattern.c:1002 ++#: pattern.c:1041 + msgid "No Context" + msgstr "" + +-#: pattern.c:1125 ++#: pattern.c:1164 + #, fuzzy + msgid "Error opening 'memory stream'" + msgstr "Postakutxa irekitzean errorea" + +-#: pattern.c:1171 ++#: pattern.c:1210 + #, fuzzy + msgid "Error re-opening 'memory stream'" + msgstr "Postakutxa irekitzean errorea" + +-#: pattern.c:1180 ++#: pattern.c:1219 + #, fuzzy + msgid "Error opening /dev/null" + msgstr "Ezin da /dev/null ireki" + +-#: pattern.c:1443 pattern.c:1620 ++#: pattern.c:1482 pattern.c:1662 + #, c-format + msgid "error in pattern at: %s" + msgstr "patroiean akatsa: %s" + +-#: pattern.c:1476 ++#: pattern.c:1515 + #, fuzzy, c-format + msgid "missing pattern: %s" + msgstr "galdutako parametroa" + +-#: pattern.c:1494 pattern.c:1593 ++#: pattern.c:1533 pattern.c:1635 + #, c-format + msgid "mismatched parentheses: %s" + msgstr "parentesiak ez datoz bat: %s" + +-#: pattern.c:1559 ++#: pattern.c:1598 + #, c-format + msgid "%c: invalid pattern modifier" + msgstr "%c: patroi eraldatzaile baliogabea" + +-#: pattern.c:1564 ++#: pattern.c:1603 + #, c-format + msgid "%c: not supported in this mode" + msgstr "%c: ez da onartzen modu honetan" + +-#: pattern.c:1576 ++#: pattern.c:1618 + msgid "missing parameter" + msgstr "galdutako parametroa" + +-#: pattern.c:1626 ++#: pattern.c:1668 + msgid "empty pattern" + msgstr "patroi hutsa" + +-#: pattern.c:2080 pattern.c:2083 ++#: pattern.c:2202 pattern.c:2205 + msgid "error: server custom search only supported with IMAP" + msgstr "" + +-#: pattern.c:2274 ++#: pattern.c:2398 + #, c-format + msgid "error: unknown op %d (report this error)" + msgstr "errorea:%d aukera ezezaguna (errore honen berri eman)" + +-#: pattern.c:2448 pattern.c:2604 ++#: pattern.c:2572 pattern.c:2728 + msgid "Compiling search pattern..." + msgstr "Bilaketa patroia konpilatzen..." + +-#: pattern.c:2468 ++#: pattern.c:2592 + msgid "Executing command on matching messages..." + msgstr "Markaturiko mezuetan komandoa abiarazten..." + +-#: pattern.c:2537 ++#: pattern.c:2661 + msgid "No messages matched criteria" + msgstr "Ez eskatutako parametroetako mezurik aurkitu" + +-#: pattern.c:2641 ++#: pattern.c:2765 + msgid "Searching..." + msgstr "Bilatzen..." + +-#: pattern.c:2655 ++#: pattern.c:2779 + msgid "Search hit bottom without finding match" + msgstr "Bilaketa bukaeraraino iritsi da parekorik aurkitu gabe" + +-#: pattern.c:2666 ++#: pattern.c:2790 + msgid "Search hit top without finding match" + msgstr "Bilaketa hasieraraino iritsi da parekorik aurkitu gabe" + +-#: pattern.c:2700 ++#: pattern.c:2824 + msgid "Search interrupted" + msgstr "Bilaketa geldiarazirik" + +-#: pop/pop.c:216 pop/pop_lib.c:234 ++#: pop/pop.c:216 pop/pop_lib.c:259 + msgid "Command TOP is not supported by server" + msgstr "TOP komandoa ez du zerbitzariak onartzen" + +@@ -6334,7 +6414,7 @@ msgstr "TOP komandoa ez du zerbitzariak onartzen" + msgid "Can't write header to temporary file" + msgstr "Ezin da burua fitxategi tenporalean gorde" + +-#: pop/pop.c:420 pop/pop_lib.c:236 ++#: pop/pop.c:420 pop/pop_lib.c:261 + msgid "Command UIDL is not supported by server" + msgstr "UIDL komandoa ez du zerbitzariak onartzen" + +@@ -6349,7 +6429,7 @@ msgstr[1] "Mezu sarrera baliogabekoa. Saia zaitez postakutxa berrirekitzen." + msgid "POP host is not defined" + msgstr "POP ostalaria ez dago ezarririk" + +-#: pop/pop.c:596 pop/pop.c:825 ++#: pop/pop.c:596 pop/pop.c:790 pop/pop.c:820 + #, c-format + msgid "%s is an invalid POP path" + msgstr "%s ez da baliozko datu-bidea" +@@ -6382,153 +6462,153 @@ msgid_plural "%s [%d of %d messages read]" + msgstr[0] "%s [%d-tik %d mezu irakurririk]" + msgstr[1] "%s [%d-tik %d mezu irakurririk]" + +-#: pop/pop.c:876 ++#: pop/pop.c:871 + msgid "Fetching list of messages..." + msgstr "Mezuen zerrenda eskuratzen..." + +-#: pop/pop.c:959 ++#: pop/pop.c:954 + msgid "Marking messages deleted..." + msgstr "Mezu ezabatuak markatzen..." + +-#: pop/pop.c:1150 ++#: pop/pop.c:1145 + msgid "Can't write message to temporary file" + msgstr "Ezin da mezua fitxategi tenporalean gorde" + +-#: pop/pop_auth.c:103 ++#: pop/pop_auth.c:104 + msgid "Authenticating (SASL)..." + msgstr "Autentifikatzen (SASL)..." + +-#: pop/pop_auth.c:245 ++#: pop/pop_auth.c:246 + msgid "POP timestamp is invalid" + msgstr "POP data-marka baliogabea" + +-#: pop/pop_auth.c:249 ++#: pop/pop_auth.c:250 + msgid "Authenticating (APOP)..." + msgstr "Autentifikatzen (APOP)..." + +-#: pop/pop_auth.c:269 ++#: pop/pop_auth.c:270 + msgid "APOP authentication failed" + msgstr "APOP autentifikazioak huts egin du" + +-#: pop/pop_auth.c:309 ++#: pop/pop_auth.c:310 + msgid "Command USER is not supported by server" + msgstr "USER komandoa ez du zerbitzariak onartzen" + +-#: pop/pop_auth.c:386 ++#: pop/pop_auth.c:387 + #, fuzzy + msgid "Authentication failed" + msgstr "SASL egiaztapenak huts egin du" + +-#: pop/pop_lib.c:78 ++#: pop/pop_lib.c:103 + #, fuzzy, c-format + msgid "Invalid POP URL: %s" + msgstr "Okerreko SMTP URLa: %s" + +-#: pop/pop_lib.c:232 ++#: pop/pop_lib.c:257 + msgid "Unable to leave messages on server" + msgstr "Ezin dira mezuak zerbitzarian utzi" + +-#: pop/pop_lib.c:274 ++#: pop/pop_lib.c:300 + #, c-format + msgid "Error connecting to server: %s" + msgstr "Errorea zerbitzariarekin konektatzerakoan: %s" + +-#: pop/pop_lib.c:414 ++#: pop/pop_lib.c:440 + msgid "Closing connection to POP server..." + msgstr "POP Zerbitzariarekiko konexioa ixten..." + +-#: pop/pop_lib.c:605 ++#: pop/pop_lib.c:631 + msgid "Verifying message indexes..." + msgstr "Mezu indizea egiaztatzen..." + +-#: pop/pop_lib.c:628 ++#: pop/pop_lib.c:654 + msgid "Connection lost. Reconnect to POP server?" + msgstr "Konexioa galdua. POP zerbitzariarekiko konexio berrasi?" + +-#: postpone.c:229 ++#: postpone.c:260 + msgid "Postponed Messages" + msgstr "Atzeratutako mezuak" + +-#: postpone.c:314 postpone.c:326 ++#: postpone.c:348 postpone.c:372 + msgid "No postponed messages" + msgstr "Ez da atzeraturiko mezurik" + +-#: postpone.c:480 ++#: postpone.c:526 + msgid "Illegal S/MIME header" + msgstr "Baliogabeko S/MIME burukoa" + +-#: postpone.c:510 postpone.c:551 postpone.c:560 ++#: postpone.c:556 postpone.c:597 postpone.c:606 + msgid "Illegal crypto header" + msgstr "Kriptografia baliogabeko burukoa" + +-#: postpone.c:644 postpone.c:752 postpone.c:780 ++#: postpone.c:690 postpone.c:798 postpone.c:826 + msgid "Decrypting message..." + msgstr "Mezua desenkriptatzen..." + +-#: query.c:82 ++#: query.c:80 + msgid "New Query" + msgstr "Bilaketa berria" + +-#: query.c:83 ++#: query.c:81 + msgid "Make Alias" + msgstr "Aliasa egin" + +-#: query.c:180 ++#: query.c:178 + msgid "Waiting for response..." + msgstr "Erantzunaren zai..." + +-#: query.c:362 query.c:400 ++#: query.c:365 query.c:434 + msgid "Query: " + msgstr "Bilaketa: " + +-#: query.c:370 query.c:407 ++#: query.c:374 query.c:442 + #, c-format + msgid "Query '%s'" + msgstr "Bilaketa '%s'" + +-#: query.c:620 query.c:657 ++#: query.c:661 query.c:698 + msgid "Query command not defined" + msgstr "Bilaketa komadoa ezarri gabea" + +-#: recvattach.c:93 ++#: recvattach.c:91 + msgid "Pipe" + msgstr "Hodia" + +-#: recvattach.c:94 ++#: recvattach.c:92 + msgid "Print" + msgstr "Inprimatu" + +-#: recvattach.c:569 ++#: recvattach.c:571 + msgid "Saving..." + msgstr "Gordetzen..." + +-#: recvattach.c:573 recvattach.c:744 recvattach.c:748 ++#: recvattach.c:575 recvattach.c:746 recvattach.c:750 + #, fuzzy, c-format + msgid "Attachment saved" + msgid_plural "%d attachments saved" + msgstr[0] "Gehigarria gordea" + msgstr[1] "Gehigarria gordea" + +-#: recvattach.c:772 ++#: recvattach.c:774 + #, c-format + msgid "WARNING! You are about to overwrite %s, continue?" + msgstr "KONTUZ! %s gainetik idaztera zoaz, Jarraitu ?" + +-#: recvattach.c:790 ++#: recvattach.c:792 + msgid "Attachment filtered" + msgstr "Gehigarria iragazirik" + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Filter through: " + msgstr "Iragazi honen arabera: " + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Pipe to: " + msgstr "Komandora hodia egin: " + + #. L10N: s gets replaced by a MIME type, e.g. "text/plain" or + #. application/octet-stream. +-#: recvattach.c:935 ++#: recvattach.c:937 + #, fuzzy, c-format + msgid "I don't know how to print %s attachments" + msgstr "Ez dakit nola inprimatu %s gehigarriak" +@@ -6536,57 +6616,57 @@ msgstr "Ez dakit nola inprimatu %s gehigarriak" + #. L10N: Although we now the precise number of tagged messages, we + #. do not show it to the user. So feel free to use a "generic + #. plural" as plural translation if your language has one. +-#: recvattach.c:1038 ++#: recvattach.c:1040 + #, fuzzy, c-format + msgid "Print tagged attachment?" + msgid_plural "Print %d tagged attachments?" + msgstr[0] "Markaturiko mezua(k) inprimatu?" + msgstr[1] "Markaturiko mezua(k) inprimatu?" + +-#: recvattach.c:1039 ++#: recvattach.c:1041 + #, c-format + msgid "Print attachment?" + msgstr "Gehigarria inprimatu?" + +-#: recvattach.c:1123 ++#: recvattach.c:1125 + msgid "Structural changes to decrypted attachments are not supported" + msgstr "" + +-#: recvattach.c:1291 ++#: recvattach.c:1293 + msgid "Can't decrypt encrypted message" + msgstr "Ezin da enkriptaturiko mezua desenkriptratu" + +-#: recvattach.c:1425 ++#: recvattach.c:1457 + msgid "Attachments" + msgstr "Gehigarriak" + +-#: recvattach.c:1465 ++#: recvattach.c:1497 + msgid "There are no subparts to show" + msgstr "Hemen ez dago erakusteko azpizatirik" + +-#: recvattach.c:1520 ++#: recvattach.c:1552 + msgid "Can't delete attachment from POP server" + msgstr "Ezi da gehigarria POP zerbitzaritik ezabatu" + +-#: recvattach.c:1529 ++#: recvattach.c:1561 + #, fuzzy + msgid "Can't delete attachment from news server" + msgstr "Ezi da gehigarria POP zerbitzaritik ezabatu" + +-#: recvattach.c:1536 ++#: recvattach.c:1568 + msgid "Deletion of attachments from encrypted messages is unsupported" + msgstr "Enkriptaturiko mezuetatik gehigarriak ezabatzea ez da onartzen" + +-#: recvattach.c:1542 ++#: recvattach.c:1574 + #, fuzzy + msgid "Deletion of attachments from signed messages may invalidate the signature" + msgstr "Enkriptaturiko mezuetatik gehigarriak ezabatzea ez da onartzen" + +-#: recvattach.c:1561 recvattach.c:1578 ++#: recvattach.c:1593 recvattach.c:1610 + msgid "Only deletion of multipart attachments is supported" + msgstr "Zati anitzetako gehigarrien ezabaketa bakarrik onartzen da" + +-#: recvcmd.c:79 ++#: recvcmd.c:78 + msgid "You may only bounce message/rfc822 parts" + msgstr "Bakarrik message/rfc822 motako zatiak errebota ditzakezu" + +@@ -6623,7 +6703,7 @@ msgstr "Ezin da %s sortu" + msgid "Can't find any tagged messages" + msgstr "Ezin da markaturiko mezurik aurkitu" + +-#: recvcmd.c:848 send.c:1073 ++#: recvcmd.c:848 send.c:1072 + msgid "No mailing lists found" + msgstr "Ez da eposta zerrendarik aurkitu" + +@@ -6638,67 +6718,67 @@ msgstr "Ezin dira markaturiko mezu guztiak deskodifikatu. MIME enkapsulatu best + msgid "You may only compose to sender with message/rfc822 parts" + msgstr "Bakarrik message/rfc822 motako zatiak errebota ditzakezu" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Append" + msgstr "Gehitu" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Insert" + msgstr "Txertatu" + +-#: remailer.c:78 ++#: remailer.c:76 + msgid "OK" + msgstr "Ados" + +-#: remailer.c:210 ++#: remailer.c:207 + msgid "" + msgstr "" + +-#: remailer.c:586 ++#: remailer.c:617 + msgid "Can't get mixmaster's type2.list" + msgstr "Mixmaster-en type2.zerrenda ezin da eskuratu" + +-#: remailer.c:612 ++#: remailer.c:673 + msgid "Select a remailer chain" + msgstr "Berbidaltze katea aukeratu" + +-#: remailer.c:674 ++#: remailer.c:735 + #, c-format + msgid "Error: %s can't be used as the final remailer of a chain" + msgstr "Errorea: %s ezin da katearen azken berbidaltze bezala erabili" + + #. L10N The '%d' here hard-coded to 19 +-#: remailer.c:706 ++#: remailer.c:767 + #, c-format + msgid "Mixmaster chains are limited to %d elements" + msgstr "Mixmaster kateak %d elementuetara mugaturik daude" + +-#: remailer.c:729 ++#: remailer.c:790 + msgid "The remailer chain is already empty" + msgstr "Berbidaltzaile katea dagoeneko betea dago" + +-#: remailer.c:739 ++#: remailer.c:800 + msgid "You already have the first chain element selected" + msgstr "Zuk dagoeneko kateko lehenengo elementua aukeraturik duzu" + +-#: remailer.c:749 ++#: remailer.c:810 + msgid "You already have the last chain element selected" + msgstr "Zuk dagoeneko kateko azkenengo elementua aukeraturik duzu" + +-#: remailer.c:792 ++#: remailer.c:856 + msgid "Mixmaster doesn't accept Cc or Bcc headers" + msgstr "Miixmasterrek ez du Cc eta Bcc burukorik onartzen" + +-#: remailer.c:817 ++#: remailer.c:881 + msgid "Please set the hostname variable to a proper value when using mixmaster" + msgstr "Mesedez ezarri mixmaster erabiltzen denerako ostalari izen egokia" + +-#: remailer.c:860 ++#: remailer.c:924 + #, c-format + msgid "Error sending message, child exited %d.\n" + msgstr "Errorea mezua bidaltzerakoan, azpiprozesua uzten %d.\n" + +-#: remailer.c:864 ++#: remailer.c:928 + msgid "Error sending message" + msgstr "Errorea mezua bidaltzerakoan" + +@@ -6729,42 +6809,42 @@ msgstr "Gehigarri bezala berbidali?" + + #. L10N: Asks whether the user respects the reply-to header. + #. If she says no, neomutt will reply to the from header's address instead. +-#: send.c:793 ++#: send.c:792 + #, c-format + msgid "Reply to %s%s?" + msgstr "%s%s-ra erantzun?" + +-#: send.c:838 ++#: send.c:837 + #, c-format + msgid "Follow-up to %s%s?" + msgstr "Jarraitu %s%s-ra?" + +-#: send.c:1122 ++#: send.c:1121 + msgid "Include message in reply?" + msgstr "Erantzunean mezua gehitu?" + +-#: send.c:1128 ++#: send.c:1127 + msgid "Including quoted message..." + msgstr "Markaturiko mezua gehitzen..." + +-#: send.c:1137 ++#: send.c:1136 + msgid "Could not include all requested messages" + msgstr "Ezin dira eskaturiko mezu guztiak gehitu" + +-#: send.c:1148 ++#: send.c:1147 + msgid "Forward as attachment?" + msgstr "Gehigarri gisa berbidali?" + +-#: send.c:1153 ++#: send.c:1152 + msgid "Preparing forwarded message..." + msgstr "Berbidalketa mezua prestatzen..." + +-#: send.c:1632 ++#: send.c:1631 + #, fuzzy + msgid "Fcc to an IMAP mailbox is not supported in batch mode" + msgstr "%c: ez da onartzen modu honetan" + +-#: send.c:1664 send.c:1690 ++#: send.c:1665 send.c:1675 send.c:1701 + #, fuzzy + msgid "Save attachments in Fcc?" + msgstr "gehigarriak testua balira ikusi" +@@ -6773,196 +6853,196 @@ msgstr "gehigarriak testua balira ikusi" + #. (r)etry tries the same mailbox again. + #. alternate (m)ailbox prompts for a different mailbox to try. + #. (s)kip aborts saving. +-#: send.c:1712 ++#: send.c:1723 + msgid "Fcc failed. (r)etry, alternate (m)ailbox, or (s)kip?" + msgstr "" + + #. L10N: These correspond to the "Fcc failed" multi-choice prompt + #. (r)etry, alternate (m)ailbox, or (s)kip. + #. Any similarity to famous leaders of the FSF is coincidental. +-#: send.c:1716 ++#: send.c:1727 + msgid "rms" + msgstr "" + + #. L10N: This is the prompt to enter an "alternate (m)ailbox" when the + #. initial Fcc fails. +-#: send.c:1722 ++#: send.c:1733 + #, fuzzy + msgid "Fcc mailbox" + msgstr "Ez dago postakutxarik.\n" + +-#: send.c:1788 ++#: send.c:1799 + msgid "Can't postpone. $postponed is unset" + msgstr "" + +-#: send.c:1923 ++#: send.c:1934 + msgid "Recall postponed message?" + msgstr "Atzeraturiko mezuak hartu?" + +-#: send.c:2228 ++#: send.c:2239 + msgid "Edit forwarded message?" + msgstr "Berbidalitako mezua editatu?" + +-#: send.c:2266 ++#: send.c:2277 + msgid "Abort unmodified message?" + msgstr "Aldatugabeko mezua ezeztatu?" + +-#: send.c:2268 ++#: send.c:2279 + msgid "Aborted unmodified message" + msgstr "Aldatugabeko mezua ezeztatuta" + +-#: send.c:2388 ++#: send.c:2399 + msgid "No crypto backend configured. Disabling message security setting." + msgstr "" + +-#: send.c:2427 ++#: send.c:2438 + #, fuzzy + msgid "Article not posted" + msgstr "Eposta ez da bidali" + +-#: send.c:2437 ++#: send.c:2448 + msgid "Message postponed" + msgstr "Mezua atzeraturik" + +-#: send.c:2470 ++#: send.c:2481 + msgid "No subject, abort sending?" + msgstr "Ez dago gairik, bidalketa ezeztatzen?" + +-#: send.c:2474 send.c:2480 ++#: send.c:2485 send.c:2491 + msgid "No subject specified" + msgstr "Ez da gairik ezarri" + +-#: send.c:2486 ++#: send.c:2497 + #, fuzzy + msgid "No newsgroup specified" + msgstr "Ez da gairik ezarri" + +-#: send.c:2496 ++#: send.c:2507 + #, fuzzy + msgid "No attachments, cancel sending?" + msgstr "gehigarriaren transferentzi kodifikazioa editatu" + +-#: send.c:2501 ++#: send.c:2512 + msgid "Message contains text matching \"$abort_noattach_regex\". Not sending." + msgstr "" + +-#: send.c:2559 smtp.c:227 ++#: send.c:2570 smtp.c:230 + msgid "Sending message..." + msgstr "Mezua bidaltzen..." + +-#: send.c:2598 ++#: send.c:2609 + msgid "Could not send the message" + msgstr "Ezin da mezua bidali" + +-#: send.c:2608 ++#: send.c:2619 + msgid "Sending in background" + msgstr "Bigarren planoan bidaltzen" + +-#: send.c:2609 ++#: send.c:2620 + msgid "Article posted" + msgstr "" + +-#: send.c:2610 ++#: send.c:2621 + msgid "Mail sent" + msgstr "Mezua bidalirik" + +-#: sendlib.c:567 ++#: sendlib.c:566 + msgid "No boundary parameter found [report this error]" + msgstr "Ez da birbidalketa parametroa aurkitu [errore honen berri eman]" + +-#: sendlib.c:598 ++#: sendlib.c:597 + #, c-format + msgid "%s no longer exists" + msgstr "%s ez da gehiago existitzen" + +-#: sendlib.c:1056 ++#: sendlib.c:1055 + #, c-format + msgid "%s isn't a regular file" + msgstr "%s ez da fitxategi erregularra" + +-#: sendlib.c:1223 ++#: sendlib.c:1222 + #, fuzzy + msgid "Could not find any mime.types file." + msgstr "Ezin da mezua bidali." + +-#: sendlib.c:1314 ++#: sendlib.c:1313 + #, c-format + msgid "Could not open %s" + msgstr "Ezin da %s ireki" + +-#: sendlib.c:2864 ++#: sendlib.c:2855 + msgid "$sendmail must be set in order to send mail" + msgstr "" + +-#: sendlib.c:2971 ++#: sendlib.c:2962 + #, c-format + msgid "Error sending message, child exited %d (%s)" + msgstr "Errorea mezua bidaltzerakoan, azpiprozesua irteten %d (%s)" + +-#: sendlib.c:2977 ++#: sendlib.c:2969 + msgid "Output of the delivery process" + msgstr "Postaketa prozesuaren irteera" + +-#: sendlib.c:3157 ++#: sendlib.c:3154 + #, c-format + msgid "Bad IDN %s while preparing resent-from" + msgstr "%s berbidalketa inprimakia prestatzerakoan IDN okerra" + +-#: smtp.c:165 ++#: smtp.c:168 + #, c-format + msgid "SMTP session failed: %s" + msgstr "SMTP saioak huts egin du: %s" + +-#: smtp.c:222 ++#: smtp.c:225 + #, c-format + msgid "SMTP session failed: unable to open %s" + msgstr "SMTP saioak huts egin du: ezin da %s ireki" + +-#: smtp.c:339 ++#: smtp.c:364 + #, c-format + msgid "Invalid SMTP URL: %s" + msgstr "Okerreko SMTP URLa: %s" + +-#: smtp.c:618 ++#: smtp.c:643 + #, c-format + msgid "SMTP authentication method %s requires SASL" + msgstr "" + +-#: smtp.c:625 ++#: smtp.c:650 + #, fuzzy, c-format + msgid "%s authentication failed, trying next method" + msgstr "SASL egiaztapenak huts egin du" + +-#: smtp.c:636 ++#: smtp.c:661 + #, fuzzy + msgid "SMTP authentication requires SASL" + msgstr "GSSAPI autentifikazioak huts egin du" + +-#: smtp.c:717 ++#: smtp.c:742 + msgid "SMTP server does not support authentication" + msgstr "SMTP zerbitzariak ez du autentifikazioa onartzen" + +-#: smtp.c:756 ++#: smtp.c:781 + msgid "No from address given" + msgstr "" + +-#: smtp.c:821 ++#: smtp.c:846 + msgid "SMTP session failed: read error" + msgstr "SMTP saioak huts egin du: irakurketa errorea" + +-#: smtp.c:823 ++#: smtp.c:848 + msgid "SMTP session failed: write error" + msgstr "SMTP saioak huts egin du: idazketa errorea" + +-#: smtp.c:825 ++#: smtp.c:850 + msgid "Invalid server response" + msgstr "" + +-#: sort.c:385 ++#: sort.c:387 + msgid "Sorting mailbox..." + msgstr "Postakutxa ordenatzen..." + +-#: sort.c:427 ++#: sort.c:429 + msgid "Could not find sorting function [report this bug]" + msgstr "Ezin da ordenatze funtzioa aurkitu [zorri honen berri eman]" + +@@ -7012,11 +7092,11 @@ msgid "" + "under certain conditions; type 'neomutt -vv' for details.\n" + msgstr "" + +-#: version.c:446 ++#: version.c:451 + #, fuzzy + msgid "Default options:" + msgstr "Konpilazio aukerak:" + +-#: version.c:449 ++#: version.c:454 + msgid "Compile options:" + msgstr "Konpilazio aukerak:" +diff --git a/po/fi.po b/po/fi.po +index d0654498c..80670249d 100644 +--- a/po/fi.po ++++ b/po/fi.po +@@ -17,7 +17,7 @@ msgid "" + msgstr "" + "Project-Id-Version: neomutt-2019-12-07\n" + "Report-Msgid-Bugs-To: neomutt-devel@neomutt.org\n" +-"POT-Creation-Date: 2019-12-06 23:10+0000\n" ++"POT-Creation-Date: 2020-03-09 12:15+0000\n" + "PO-Revision-Date: 2018-09-19 03:36+0200\n" + "Last-Translator: Flammie A Pirinen \n" + "Language-Team: Finnish\n" +@@ -27,16 +27,40 @@ msgstr "" + "Content-Transfer-Encoding: 8bit\n" + "Plural-Forms: nplurals=2; plural=(n != 1);\n" + +-#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:59 browser.c:80 browser.c:90 +-#: mutt_history.c:45 pager.c:228 postpone.c:68 query.c:80 recvattach.c:93 ++msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" ++msgstr "(h)ylkää, hyväksy (k)erran, hyväksy (a)ina, (s)kippaa" ++ ++msgid "roas" ++msgstr "hkas" ++ ++msgid "(r)eject, accept (o)nce, (a)ccept always" ++msgstr "(h)ylkää, hyväksy (k)erran, hyväksy (a)ina" ++ ++msgid "roa" ++msgstr "hka" ++ ++msgid "(r)eject, accept (o)nce, (s)kip" ++msgstr "(h)ylkää, hyväksy (k)erran, (s)kippaa" ++ ++msgid "ros" ++msgstr "hks" ++ ++msgid "(r)eject, accept (o)nce" ++msgstr "(h)ylkää, hyväksy (k)erran" ++ ++msgid "ro" ++msgstr "hk" ++ ++#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:58 browser.c:79 browser.c:89 ++#: mutt_history.c:45 pager.c:220 postpone.c:68 query.c:78 recvattach.c:91 + msgid "Exit" + msgstr "Poistu" + +-#: addrbook.c:56 index.c:116 index.c:129 pager.c:236 pager.c:246 postpone.c:69 ++#: addrbook.c:56 index.c:112 index.c:125 pager.c:228 pager.c:238 postpone.c:69 + msgid "Del" + msgstr "Poista" + +-#: addrbook.c:57 index.c:117 index.c:130 postpone.c:70 ++#: addrbook.c:57 index.c:113 index.c:126 postpone.c:70 + msgid "Undel" + msgstr "Palauta" + +@@ -44,18 +68,18 @@ msgstr "Palauta" + msgid "Select" + msgstr "Valitse" + +-#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:82 browser.c:84 browser.c:96 +-#: compose.c:218 compose.c:230 conn/ssl.c:983 conn/ssl_gnutls.c:691 index.c:122 +-#: index.c:135 mutt_history.c:48 ncrypt/crypt_gpgme.c:4735 ncrypt/pgpkey.c:670 +-#: ncrypt/smime.c:553 pager.c:2326 postpone.c:71 query.c:85 recvattach.c:94 ++#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:81 browser.c:83 browser.c:95 ++#: compose.c:216 compose.c:228 conn/ssl.c:996 conn/ssl_gnutls.c:722 index.c:118 ++#: index.c:131 mutt_history.c:48 ncrypt/crypt_gpgme.c:4783 ncrypt/pgpkey.c:673 ++#: ncrypt/smime.c:555 pager.c:2297 postpone.c:71 query.c:83 recvattach.c:92 + msgid "Help" + msgstr "Ohje" + +-#: addrbook.c:208 ++#: addrbook.c:238 + msgid "You have no aliases" + msgstr "Aliaksia ei ole" + +-#: addrbook.c:215 ++#: addrbook.c:276 + msgid "Aliases" + msgstr "Aliakset" + +@@ -64,51 +88,51 @@ msgstr "Aliakset" + msgid "Alias as: " + msgstr "Aliakseksi: " + +-#: alias.c:411 ++#: alias.c:414 + msgid "You already have an alias defined with that name" + msgstr "Tällä nimellä on jo alias" + +-#: alias.c:417 ++#: alias.c:420 + msgid "Warning: This alias name may not work. Fix it?" + msgstr "Varoitus: Tämä alias ei ehkä toimi, korjataanko?" + +-#: alias.c:442 ++#: alias.c:445 + msgid "Address: " + msgstr "Osoite: " + +-#: alias.c:453 commands.c:444 compose.c:744 conn/conn_raw.c:152 +-#: conn/conn_raw.c:210 recvcmd.c:232 send.c:228 ++#: alias.c:457 commands.c:450 compose.c:743 conn/conn_raw.c:152 ++#: conn/conn_raw.c:210 recvcmd.c:231 send.c:227 + #, c-format + msgid "Bad IDN: '%s'" + msgstr "Viallinen IDN: %s" + +-#: alias.c:464 ++#: alias.c:468 + msgid "Personal name: " + msgstr "Henkilönnimi: " + +-#: alias.c:473 ++#: alias.c:477 + #, c-format + msgid "[%s = %s] Accept?" + msgstr "[%s = %s] Hyväksytäänkö?" + +-#: alias.c:484 recvattach.c:528 recvattach.c:550 recvattach.c:564 +-#: recvattach.c:579 recvattach.c:678 ++#: alias.c:488 recvattach.c:530 recvattach.c:552 recvattach.c:566 ++#: recvattach.c:581 recvattach.c:680 + msgid "Save to file: " + msgstr "Tallenna tiedostoon: " + +-#: alias.c:503 ++#: alias.c:507 + msgid "Error reading alias file" + msgstr "Virhe luettaessa aliastiedostoa" + +-#: alias.c:525 ++#: alias.c:529 + msgid "Trouble adding alias" + msgstr "Virhe lisättäessä aliasta" + +-#: alias.c:527 ++#: alias.c:531 + msgid "Alias added" + msgstr "Alias lisätty" + +-#: alias.c:532 ++#: alias.c:536 + msgid "Error seeking in alias file" + msgstr "Virhe haettaessa aliastiedostosta" + +@@ -117,7 +141,7 @@ msgstr "Virhe haettaessa aliastiedostosta" + #. for some reason (e.g. autocrypt, header cache, bcache), but it + #. doesn't exist. The prompt is asking whether to create the directory + #. +-#: autocrypt/autocrypt.c:70 main.c:826 ++#: autocrypt/autocrypt.c:70 main.c:757 + #, c-format + msgid "%s does not exist. Create it?" + msgstr "%s puuttuu, luodaanko se?" +@@ -126,8 +150,8 @@ msgstr "%s puuttuu, luodaanko se?" + #. mkdir() on the directory %s failed. The second %s is the + #. error message returned by libc + #. +-#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:830 +-#: nntp/newsrc.c:1069 ++#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:761 ++#: nntp/newsrc.c:1098 + #, c-format + msgid "Can't create %s: %s" + msgstr "Ei voitu luoda kohdetta %s: %s" +@@ -137,7 +161,7 @@ msgstr "Ei voitu luoda kohdetta %s: %s" + #. create $autocrypt_dir and then prompt to create an autocrypt + #. account with this message. + #. +-#: autocrypt/autocrypt.c:156 ++#: autocrypt/autocrypt.c:163 + msgid "Create an initial autocrypt account?" + msgstr "" + +@@ -146,7 +170,7 @@ msgstr "" + #. autocrypt account. This will generate a key and add a record + #. to the database for use in autocrypt operations. + #. +-#: autocrypt/autocrypt.c:180 ++#: autocrypt/autocrypt.c:187 + msgid "Autocrypt account address: " + msgstr "" + +@@ -155,7 +179,7 @@ msgstr "" + #. a single address. This is shown if they entered something invalid, + #. nothing, or more than one address for some reason. + #. +-#: autocrypt/autocrypt.c:191 ++#: autocrypt/autocrypt.c:198 + msgid "Please enter a single email address" + msgstr "" + +@@ -164,7 +188,7 @@ msgstr "" + #. if there is already an account in the database with the email address + #. they just entered. + #. +-#: autocrypt/autocrypt.c:208 ++#: autocrypt/autocrypt.c:215 + msgid "That email address already has an autocrypt account" + msgstr "" + +@@ -176,7 +200,7 @@ msgstr "" + #. Otherwise the UI will show encryption is "available" but the user + #. will be required to enable encryption manually. + #. +-#: autocrypt/autocrypt.c:223 ++#: autocrypt/autocrypt.c:230 + #, fuzzy + msgid "Prefer encryption?" + msgstr "salaus" +@@ -184,7 +208,7 @@ msgstr "salaus" + #. L10N: + #. Message displayed after an autocrypt account is successfully created. + #. +-#: autocrypt/autocrypt.c:236 ++#: autocrypt/autocrypt.c:243 + msgid "Autocrypt account creation succeeded" + msgstr "" + +@@ -192,7 +216,7 @@ msgstr "" + #. Error message displayed if creating an autocrypt account failed + #. or was aborted by the user. + #. +-#: autocrypt/autocrypt.c:242 ++#: autocrypt/autocrypt.c:249 + msgid "Autocrypt account creation aborted" + msgstr "" + +@@ -201,7 +225,7 @@ msgstr "" + #. to use to encrypt, but it can't find a valid keyid for this address. + #. The message is printed and they are returned to the compose menu. + #. +-#: autocrypt/autocrypt.c:610 autocrypt/autocrypt.c:639 ++#: autocrypt/autocrypt.c:617 autocrypt/autocrypt.c:646 + #, fuzzy, c-format + msgid "No (valid) autocrypt key found for %s" + msgstr "Ei toimivaa sertifikaattia kohteelle %s" +@@ -213,12 +237,12 @@ msgstr "Ei toimivaa sertifikaattia kohteelle %s" + #. and used for encryption. + #. If this is answered yes, they will be prompted for a mailbox. + #. +-#: autocrypt/autocrypt.c:903 ++#: autocrypt/autocrypt.c:910 + msgid "Scan a mailbox for autocrypt headers?" + msgstr "" + + #. L10N: The prompt for a mailbox to scan for Autocrypt: headers +-#: autocrypt/autocrypt.c:907 ++#: autocrypt/autocrypt.c:914 + #, fuzzy + msgid "Scan mailbox" + msgstr "Avaa postilaatikko" +@@ -230,14 +254,14 @@ msgstr "Avaa postilaatikko" + #. for a mailbox. This is because this is a one-time operation + #. and I don't want them to accidentally ctrl-g and abort it. + #. +-#: autocrypt/autocrypt.c:927 ++#: autocrypt/autocrypt.c:934 + msgid "Scan another mailbox for autocrypt headers?" + msgstr "" + + #. L10N: Autocrypt Account Menu Help line: + #. create new account + #. +-#: autocrypt/autocrypt_acct_menu.c:63 ++#: autocrypt/autocrypt_acct_menu.c:62 + #, fuzzy + msgid "Create" + msgstr "Luodaanko %s?" +@@ -245,7 +269,7 @@ msgstr "Luodaanko %s?" + #. L10N: Autocrypt Account Menu Help line: + #. delete account + #. +-#: autocrypt/autocrypt_acct_menu.c:67 remailer.c:77 ++#: autocrypt/autocrypt_acct_menu.c:66 remailer.c:75 + msgid "Delete" + msgstr "Poista" + +@@ -253,9 +277,9 @@ msgstr "Poista" + #. toggle an account active/inactive + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:74 ++#: autocrypt/autocrypt_acct_menu.c:73 + msgid "Tgl Active" + msgstr "" + +@@ -263,17 +287,17 @@ msgstr "" + #. toggle "prefer-encrypt" on an account + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:81 +-msgid "Prf Enc" ++#: autocrypt/autocrypt_acct_menu.c:80 ++msgid "Prf Encr" + msgstr "" + + #. L10N: + #. Autocrypt Account menu. + #. flag that an account has prefer-encrypt set + #. +-#: autocrypt/autocrypt_acct_menu.c:123 ++#: autocrypt/autocrypt_acct_menu.c:122 + msgid "prefer encrypt" + msgstr "" + +@@ -282,7 +306,7 @@ msgstr "" + #. flag that an account has prefer-encrypt unset; + #. thus encryption will need to be manually enabled. + #. +-#: autocrypt/autocrypt_acct_menu.c:130 ++#: autocrypt/autocrypt_acct_menu.c:129 + msgid "manual encrypt" + msgstr "" + +@@ -290,7 +314,7 @@ msgstr "" + #. Autocrypt Account menu. + #. flag that an account is enabled/active + #. +-#: autocrypt/autocrypt_acct_menu.c:138 ++#: autocrypt/autocrypt_acct_menu.c:137 + msgid "active" + msgstr "" + +@@ -298,12 +322,12 @@ msgstr "" + #. Autocrypt Account menu. + #. flag that an account is disabled/inactive + #. +-#: autocrypt/autocrypt_acct_menu.c:144 ++#: autocrypt/autocrypt_acct_menu.c:143 + msgid "inactive" + msgstr "" + + #. L10N: Autocrypt Account Management Menu title +-#: autocrypt/autocrypt_acct_menu.c:183 ++#: autocrypt/autocrypt_acct_menu.c:182 + msgid "Autocrypt Accounts" + msgstr "" + +@@ -311,13 +335,13 @@ msgstr "" + #. This error message is displayed if a database update of an + #. account record fails for some odd reason. + #. +-#: autocrypt/autocrypt_acct_menu.c:245 autocrypt/autocrypt_acct_menu.c:259 ++#: autocrypt/autocrypt_acct_menu.c:244 autocrypt/autocrypt_acct_menu.c:258 + #, fuzzy + msgid "Error updating account record" + msgstr "Virhe skannatessa hakemistoa" + + #. L10N: Confirmation message when deleting an autocrypt account +-#: autocrypt/autocrypt_acct_menu.c:302 ++#: autocrypt/autocrypt_acct_menu.c:333 + #, fuzzy, c-format + msgid "Really delete account \"%s\"?" + msgstr "Poistetaanko %s?" +@@ -335,7 +359,7 @@ msgstr "Poistetaanko %s?" + msgid "Unable to open autocrypt database %s" + msgstr "Ei voitu avata postilaatikkoa %s" + +-#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:774 ++#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:773 + #, c-format + msgid "error creating gpgme context: %s" + msgstr "virhe gpgme-kontekstin luonnissa: %s" +@@ -408,471 +432,583 @@ msgstr "" + msgid "Message cache isn't a directory: %s" + msgstr "Viestivälimuisti ei ole hakemisto: %s" + +-#: browser.c:81 ++#: browser.c:80 + msgid "Chdir" + msgstr "Chdir" + +-#: browser.c:82 ++#: browser.c:81 + msgid "Goto" + msgstr "Siirry" + +-#: browser.c:83 browser.c:95 ++#: browser.c:82 browser.c:94 + msgid "Mask" + msgstr "Maski" + +-#: browser.c:91 ++#: browser.c:90 + msgid "List" + msgstr "Lista" + +-#: browser.c:92 ++#: browser.c:91 + msgid "Subscribe" + msgstr "Tilaa" + +-#: browser.c:93 ++#: browser.c:92 + msgid "Unsubscribe" + msgstr "Poista tilaus" + +-#: browser.c:94 index.c:134 ++#: browser.c:93 index.c:130 + msgid "Catchup" + msgstr "Ota kiinni" + +-#: browser.c:760 browser.c:1519 browser.c:1758 ++#: browser.c:763 browser.c:1584 browser.c:1825 + #, c-format + msgid "%s is not a directory" + msgstr "%s ei ole hakemisto" + +-#: browser.c:1025 ++#: browser.c:1028 + #, c-format + msgid "Subscribed newsgroups" + msgstr "Tilatut uutisryhmät" + +-#: browser.c:1028 ++#: browser.c:1031 + #, c-format + msgid "Newsgroups on server [%s]" + msgstr "Uutisryhmät palvelimella [%s]" + +-#: browser.c:1038 ++#: browser.c:1041 + #, c-format + msgid "Mailboxes [%d]" + msgstr "Postilaatikot [%d]" + +-#: browser.c:1050 ++#: browser.c:1053 + #, c-format + msgid "Subscribed [%s], File mask: %s" + msgstr "Tilattu [%s], Tiedostomaski: %s" + +-#: browser.c:1056 ++#: browser.c:1059 + #, c-format + msgid "Directory [%s], File mask: %s" + msgstr "Hakemisto [%s], Tiedostomaski: %s" + +-#: browser.c:1113 ++#: browser.c:1116 + msgid "Can't attach a directory" + msgstr "Ei voida liittää hakemistoa" + +-#: browser.c:1380 browser.c:1814 browser.c:1959 ++#: browser.c:1445 browser.c:1881 browser.c:2026 + msgid "No files match the file mask" + msgstr "Ei tiedostoja jotka täsmäävät maskiin" + +-#: browser.c:1587 ++#: browser.c:1654 + msgid "Create is only supported for IMAP mailboxes" + msgstr "Luonti toimii vain IMAP-postille" + +-#: browser.c:1609 ++#: browser.c:1676 + msgid "Rename is only supported for IMAP mailboxes" + msgstr "Uudellennimeys toimii vain IMAP-laatikoille" + +-#: browser.c:1630 ++#: browser.c:1697 + msgid "Delete is only supported for IMAP mailboxes" + msgstr "Poisto toimii vain IMAP-laatikoille" + +-#: browser.c:1642 ++#: browser.c:1709 + #, fuzzy + msgid "Can't delete currently selected mailbox" + msgstr "näytä nykyisen valitun tiedoston nimi" + +-#: browser.c:1646 ++#: browser.c:1713 + #, c-format + msgid "Really delete mailbox \"%s\"?" + msgstr "Poistetaanko %s?" + +-#: browser.c:1663 ++#: browser.c:1730 + msgid "Mailbox deleted" + msgstr "Laatikko poistettu" + +-#: browser.c:1667 ++#: browser.c:1734 + msgid "Mailbox deletion failed" + msgstr "Laatikon poisto ei onnistunut" + +-#: browser.c:1670 ++#: browser.c:1737 + msgid "Mailbox not deleted" + msgstr "Laatikkoa ei poistettu" + +-#: browser.c:1697 ++#: browser.c:1764 + msgid "Chdir to: " + msgstr "Vaihda hakemistoa: " + +-#: browser.c:1747 browser.c:1808 ++#: browser.c:1814 browser.c:1875 + msgid "Error scanning directory" + msgstr "Virhe skannatessa hakemistoa" + +-#: browser.c:1769 ++#: browser.c:1836 + msgid "File Mask: " + msgstr "Tiedostomaski: " + + #. L10N: The highlighted letters must match the "Sort" options +-#: browser.c:1831 ++#: browser.c:1898 + msgid "Reverse sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "Järjestele (p)äivän, (a)akkosten, (k)oon, ku(v)auksen, uusien (m)äärän mukaan laskevasti, vai ei lai(n)kaan?" + + #. L10N: The highlighted letters must match the "Reverse Sort" options +-#: browser.c:1834 ++#: browser.c:1901 + msgid "Sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "Järjestele (p)äivän, (a)akkosten, (k)oon, ku(v)auksen, uusien (m)äärän mukaan, vai ei lai(n)kaan?" + + #. L10N: These must match the highlighted letters from "Sort" and "Reverse Sort" +-#: browser.c:1837 ++#: browser.c:1904 + msgid "dazecwn" + msgstr "pakvmun" + +-#: browser.c:1948 ++#: browser.c:2015 + msgid "New file name: " + msgstr "Uusi tiedostonimi: " + +-#: browser.c:1976 ++#: browser.c:2043 + msgid "Can't view a directory" + msgstr "Ei voida näyttää tiedostoa" + +-#: browser.c:1993 ++#: browser.c:2060 + msgid "Error trying to view file" + msgstr "Virhe tiedostoa näytettäessä" + +-#: browser.c:2079 ++#: browser.c:2146 + #, c-format + msgid "Subscribe pattern: " + msgstr "Tilauskuvio: " + +-#: browser.c:2081 ++#: browser.c:2148 + #, c-format + msgid "Unsubscribe pattern: " + msgstr "Tilauksen poistokuvio: " + +-#: browser.c:2101 ++#: browser.c:2169 + msgid "No newsgroups match the mask" + msgstr "Ei uutisryhmiä jotka täsmäävät maskiin" + +-#: color.c:633 color.c:644 +-#, c-format +-msgid "%s: color not supported by term" +-msgstr "%s: väri ei toimi tässä terminaalissa" +- +-#: color.c:652 +-#, c-format +-msgid "%s: no such color" +-msgstr "%s: väriä ei löydy" +- +-#: color.c:717 color.c:740 color.c:751 color.c:842 +-#, c-format +-msgid "%s: no such object" +-msgstr "%s: objektia ei löydy" +- +-#: color.c:731 color.c:868 color.c:1069 color.c:1098 color.c:1122 color.c:1191 +-#: color.c:1214 hook.c:110 hook.c:124 hook.c:367 hook.c:383 init.c:612 +-#: init.c:620 init.c:709 init.c:1099 init.c:1267 init.c:1871 init.c:1929 +-#: keymap.c:1184 score.c:110 +-#, c-format +-msgid "%s: too few arguments" +-msgstr "%s: liian vähän argumentteja" +- +-#: color.c:1142 +-#, c-format +-msgid "%s: no such attribute" +-msgstr "%s: attribuuttia ei ole olemassa" +- +-#: color.c:1223 color.c:1329 hook.c:131 hook.c:390 init.c:1123 init.c:2133 +-#: init.c:2611 keymap.c:1116 keymap.c:1289 keymap.c:1442 keymap.c:1506 +-#: mutt_lua.c:483 score.c:119 +-#, c-format +-msgid "%s: too many arguments" +-msgstr "%s: liikaa argumentteja" +- +-#: color.c:1244 +-msgid "default colors not supported" +-msgstr "oletusvärejä ei tueta" +- +-#: color.c:1282 +-#, c-format +-msgid "Maximum quoting level is %d" +-msgstr "" +- +-#: color.c:1319 +-#, fuzzy, c-format +-msgid "%s: invalid number: %s" +-msgstr "Virhe: score: ei ole numero" +- + #. L10N: Used for the $crypt_verify_sig prompt +-#: commands.c:230 ++#: commands.c:232 + msgid "Verify signature?" + msgstr "Tarkistetaanko allekirjoitus" + +-#: commands.c:257 mbox/mbox.c:1236 ++#: commands.c:259 mbox/mbox.c:1236 + msgid "Could not create temporary file" + msgstr "Ei voitu kirjoittaa väliaikaistiedostoon" + +-#: commands.c:269 ++#: commands.c:271 + msgid "Can't create display filter" + msgstr "Ei voitu luoda filtteriä näyttämistä varten" + +-#: commands.c:302 ++#: commands.c:304 + msgid "Could not copy message" + msgstr "Ei voitu kopioida viestiä" + +-#: commands.c:338 ++#: commands.c:340 + msgid "S/MIME signature successfully verified" + msgstr "S/MIME-allekirjoitus varmistettiin" + +-#: commands.c:340 ++#: commands.c:342 + msgid "S/MIME certificate owner does not match sender" + msgstr "S/MIME-sertifikaatin omistaja ei täsmää lähettäjään" + +-#: commands.c:343 commands.c:353 ++#: commands.c:345 commands.c:355 + msgid "Warning: Part of this message has not been signed" + msgstr "Varoitus: Viestin osa on allekirjoittamatta" + +-#: commands.c:345 ++#: commands.c:347 + msgid "S/MIME signature could NOT be verified" + msgstr "S/MIME-allekirjoitusta ei voitu vahvistaa" + +-#: commands.c:351 ++#: commands.c:353 + msgid "PGP signature successfully verified" + msgstr "PGP-allekirjoitus vahvistettu" + +-#: commands.c:355 ++#: commands.c:357 + msgid "PGP signature could NOT be verified" + msgstr "PGP-allekirjoitusta ei voitu vahvistaa" + +-#: commands.c:372 compose.c:2116 compress.c:321 curs_lib.c:359 curs_lib.c:646 +-#: index.c:1235 index.c:1285 mutt_attach.c:159 mutt_attach.c:292 pager.c:2460 +-#: sendlib.c:1625 ++#: commands.c:378 compose.c:2187 compress/compress.c:320 gui/curs_lib.c:360 ++#: gui/curs_lib.c:714 index.c:1240 index.c:1290 mutt_attach.c:161 ++#: mutt_attach.c:294 pager.c:2433 sendlib.c:1624 + #, c-format + msgid "Error running \"%s\"" + msgstr "Virhe toiminnolla %s" + +-#: commands.c:382 ++#: commands.c:388 + msgid "Command: " + msgstr "Komento: " + +-#: commands.c:419 recvcmd.c:191 recvcmd.c:203 ++#: commands.c:425 recvcmd.c:190 recvcmd.c:202 + msgid "Warning: message contains no From: header" + msgstr "Varoitus: viestissä ei ole From:-kenttää" + +-#: commands.c:425 recvcmd.c:212 ++#: commands.c:431 recvcmd.c:211 + msgid "Bounce message to: " + msgstr "Käännytä viesti osoitteeseen: " + +-#: commands.c:427 recvcmd.c:214 ++#: commands.c:433 recvcmd.c:213 + msgid "Bounce tagged messages to: " + msgstr "Käännytä tägätyt viestit osoitteeseen: " + +-#: commands.c:436 recvcmd.c:224 ++#: commands.c:442 recvcmd.c:223 + msgid "Error parsing address" + msgstr "Virhe osoitteen jäsennyksessä" + +-#: commands.c:455 recvcmd.c:243 ++#: commands.c:461 recvcmd.c:242 + #, c-format + msgid "Bounce message to %s?" + msgid_plural "Bounce messages to %s?" + msgstr[0] "Käännytä viesti kohteeseen %s?" + msgstr[1] "Käännytä viestit kohteeseen %s?" + +-#: commands.c:470 recvcmd.c:257 ++#: commands.c:476 recvcmd.c:257 + msgid "Message not bounced" + msgid_plural "Messages not bounced" + msgstr[0] "Viestiä ei käännytetty." + msgstr[1] "Viestejä ei käännytetty." + +-#: commands.c:496 recvcmd.c:276 ++#: commands.c:502 recvcmd.c:276 + msgid "Message bounced" + msgid_plural "Messages bounced" + msgstr[0] "Viesti käännytetty." + msgstr[1] "Viestit käännytetty." + +-#: commands.c:606 commands.c:642 commands.c:662 ++#: commands.c:612 commands.c:648 commands.c:668 + msgid "Can't create filter process" + msgstr "Ei voida aloittaa filtteröintiprosessia" + +-#: commands.c:698 ++#: commands.c:704 + msgid "Pipe to command: " + msgstr "Ohjaa putkitse komennolle: " + +-#: commands.c:720 ++#: commands.c:726 + msgid "No printing command has been defined" + msgstr "Tulostuskomento puuttuu" + +-#: commands.c:732 ++#: commands.c:738 + msgid "Print message?" + msgstr "Tulostetaanko" + +-#: commands.c:733 ++#: commands.c:739 + msgid "Print tagged messages?" + msgstr "Tulostetaanko tägätyt viestit?" + +-#: commands.c:739 ++#: commands.c:745 + msgid "Message printed" + msgid_plural "Messages printed" + msgstr[0] "Viesti tulostettu" + msgstr[1] "Viestit tulostettu" + +-#: commands.c:742 ++#: commands.c:748 + msgid "Message could not be printed" + msgid_plural "Messages could not be printed" + msgstr[0] "Viestiä ei voitu tulostaa" + msgstr[1] "Viestejä ei voitu tulostaa" + + #. L10N: The highlighted letters must match the "Sort" options +-#: commands.c:759 ++#: commands.c:765 + msgid "Rev-Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "Järjestä laskevasti (P)äiväys/(L)äh/(V)ast/(O)tsikko/(T)o/(S)äie/(E)päjärj/(K)oko/s(C)ore/sp(A)m/(M)erkintä?" + + #. L10N: The highlighted letters must match the "Rev-Sort" options +-#: commands.c:763 ++#: commands.c:769 + msgid "Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "Järjestä (P)äiväys/(L)äh/(V)ast/(O)tsikko/(T)o/(S)äie/(E)päjärj/(K)oko/s(C)ore/sp(A)m/(M)erkintä?" + + #. L10N: These must match the highlighted letters from "Sort" and "Rev-Sort" +-#: commands.c:767 ++#: commands.c:773 + msgid "dfrsotuzcpl" + msgstr "plvotsekcam" + +-#: commands.c:831 ++#: commands.c:837 + msgid "Shell command: " + msgstr "Komentorivikomento: " + +-#: commands.c:1036 ++#: commands.c:1042 + msgid "Decode-save to mailbox" + msgstr "Decode-save postilaatikkoon" + +-#: commands.c:1036 ++#: commands.c:1042 + msgid "Decode-save tagged to mailbox" + msgstr "Decode-save merkitty postilaatikkoon" + +-#: commands.c:1038 ++#: commands.c:1044 + msgid "Decrypt-save to mailbox" + msgstr "Decrypt-save postilaatikkoon" + +-#: commands.c:1038 ++#: commands.c:1044 + msgid "Decrypt-save tagged to mailbox" + msgstr "Decrypt-save merkitty postilaatikkoon" + +-#: commands.c:1040 ++#: commands.c:1046 + msgid "Save to mailbox" + msgstr "Tallenna postilaatikkoon" + +-#: commands.c:1040 ++#: commands.c:1046 + msgid "Save tagged to mailbox" + msgstr "Tallenna merkitty postilaatikkoon" + +-#: commands.c:1045 ++#: commands.c:1051 + msgid "Decode-copy to mailbox" + msgstr "Decode-copy postilaatikkoon" + +-#: commands.c:1045 ++#: commands.c:1051 + msgid "Decode-copy tagged to mailbox" + msgstr "Decode-copy merkitty postilaatikkoon" + +-#: commands.c:1047 ++#: commands.c:1053 + msgid "Decrypt-copy to mailbox" + msgstr "Decrypt-copy postilaatikkoon" + +-#: commands.c:1047 ++#: commands.c:1053 + msgid "Decrypt-copy tagged to mailbox" + msgstr "Decrypt-copy merkitty postilaatikkoon" + +-#: commands.c:1049 ++#: commands.c:1055 + msgid "Copy to mailbox" + msgstr "Kopio postilaatikkoon" + +-#: commands.c:1049 ++#: commands.c:1055 + msgid "Copy tagged to mailbox" + msgstr "Kopioi merkitty postilaatikkoon" + +-#: commands.c:1092 ++#: commands.c:1098 + #, c-format + msgid "Copying to %s..." + msgstr "Kopioidaan kohteeseen%s..." + + #. L10N: e.g. "text/plain; charset=UTF-8; ..." +-#: commands.c:1257 ++#: commands.c:1263 + #, fuzzy + msgid "Content type is too long" + msgstr "Sisältötyypiksi asetettiin %s" + +-#: commands.c:1281 ++#: commands.c:1290 + #, c-format + msgid "Convert to %s upon sending?" + msgstr "Konvertoidaanko muotook %s lähetettäessä?" + +-#: commands.c:1292 ++#: commands.c:1301 + #, c-format + msgid "Content-Type changed to %s" + msgstr "Sisältötyypiksi asetettiin %s" + +-#: commands.c:1297 ++#: commands.c:1306 + #, c-format + msgid "Character set changed to %s; not converting" + msgstr "Merkistöksi asetettiin %s; ei konvertoida." + +-#: commands.c:1298 ++#: commands.c:1307 + #, c-format + msgid "Character set changed to %s; converting" + msgstr "Merkistöksi asetettiin %s; konvertoidaan." + +-#: compose.c:99 ++#: command_parse.c:83 command_parse.c:211 command_parse.c:219 ++#: command_parse.c:740 command_parse.c:887 command_parse.c:1491 ++#: command_parse.c:1549 gui/color.c:731 gui/color.c:868 gui/color.c:1069 ++#: gui/color.c:1098 gui/color.c:1122 gui/color.c:1191 gui/color.c:1214 ++#: hook.c:110 hook.c:124 hook.c:372 hook.c:388 keymap.c:1182 score.c:110 ++#, c-format ++msgid "%s: too few arguments" ++msgstr "%s: liian vähän argumentteja" ++ ++#: command_parse.c:394 ++msgid "-group: no group name" ++msgstr "-group: ei ryhmän nimeä" ++ ++#: command_parse.c:404 ++msgid "out of arguments" ++msgstr "argumentit loppuivat" ++ ++#: command_parse.c:445 command_parse.c:1372 ++#, c-format ++msgid "Error: Can't build path of '%s'" ++msgstr "Virhe: polun %s rakentaminen ei onnistu" ++ ++#: command_parse.c:458 ++#, c-format ++msgid "Error: Cyclic sourcing of configuration file '%s'" ++msgstr "Virhe: asetustiedoston %s latauksissa on sykli" ++ ++#: command_parse.c:491 ++#, c-format ++msgid "Error in %s, line %d: %s" ++msgstr "Virhe tiedostossa %s rivillä %d: %s" ++ ++#: command_parse.c:502 ++#, c-format ++msgid "Warning in %s, line %d: %s" ++msgstr "Virhe tiedostossa %s rivillä %d: %s" ++ ++#: command_parse.c:526 ++#, c-format ++msgid "source: errors in %s" ++msgstr "source: virheet kohteessa %s" ++ ++#: command_parse.c:526 ++#, c-format ++msgid "source: reading aborted due to too many errors in %s" ++msgstr "source: lukeminen peruttu liian monen virheen takia kohteessa %s" ++ ++#: command_parse.c:535 ++#, c-format ++msgid "source: %d warning in %s" ++msgid_plural "source: %d warnings in %s" ++msgstr[0] "source: %d irhe kohteessa %s" ++msgstr[1] "source: %d virhettä kohteessa %s" ++ ++#: command_parse.c:564 ++msgid "alias: no address" ++msgstr "alias: ei osoitetta" ++ ++#: command_parse.c:606 ++#, c-format ++msgid "Warning: Bad IDN '%s' in alias '%s'" ++msgstr "Varoitus: Viallinen IDN %s aliaksessa %s" ++ ++#: command_parse.c:684 ++msgid "attachments: no disposition" ++msgstr "liitteet: dispositio puuttuu" ++ ++#: command_parse.c:695 ++msgid "Current attachments settings:" ++msgstr "Nykyiset liiteasetukset:" ++ ++#: command_parse.c:725 ++msgid "attachments: invalid disposition" ++msgstr "liitteet: dispositio on väärä" ++ ++#: command_parse.c:764 command_parse.c:1753 command_parse.c:2205 ++#: gui/color.c:1223 gui/color.c:1329 hook.c:131 hook.c:395 keymap.c:1114 ++#: keymap.c:1287 keymap.c:1440 keymap.c:1504 mutt_lua.c:485 score.c:119 ++#, c-format ++msgid "%s: too many arguments" ++msgstr "%s: liikaa argumentteja" ++ ++#: command_parse.c:801 ++#, c-format ++msgid "%sgroup: missing -rx or -addr" ++msgstr "%sryhmä: -rx tai -addr puuttuu" ++ ++#: command_parse.c:827 ++#, c-format ++msgid "%sgroup: warning: bad IDN '%s'" ++msgstr "%sryhmä: varoitus: huono IDN '%s'" ++ ++#: command_parse.c:898 ++#, c-format ++msgid "Error: %s" ++msgstr "Virhe: %s" ++ ++#: command_parse.c:1065 ++msgid "invalid header field" ++msgstr "viallinen otsakekenttä" ++ ++#: command_parse.c:1331 command_parse.c:1435 ++#, c-format ++msgid "%s: unknown variable" ++msgstr "%s: tuntematon muuttuja" ++ ++#: command_parse.c:1528 ++#, c-format ++msgid "%s is unset" ++msgstr "%s on asettamatta" ++ ++#: command_parse.c:1573 mutt_lua.c:480 ++#, c-format ++msgid "source: error at %s" ++msgstr "source: virhe kohteessa %s" ++ ++#: command_parse.c:1581 ++#, c-format ++msgid "source: file %s could not be sourced" ++msgstr "source: tiedostoa %s ei voi ladata" ++ ++#: command_parse.c:1604 ++msgid "spam: no matching pattern" ++msgstr "spam: ei täsmää" ++ ++#: command_parse.c:1606 ++msgid "nospam: no matching pattern" ++msgstr "nospam: ei täsmää" ++ ++#: command_parse.c:1762 imap/imap.c:1443 ++#, c-format ++msgid "Subscribed to %s" ++msgstr "%s tilattu" ++ ++#: command_parse.c:1766 ++#, c-format ++msgid "Could not subscribe to %s" ++msgstr "Ryhmää %s ei voitu tilata" ++ ++#: command_parse.c:1774 command_parse.c:2226 ++msgid "No folder specified" ++msgstr "Ei kansiota" ++ ++#: command_parse.c:1943 ++msgid "unattachments: no disposition" ++msgstr "epäliitteet: dispositio puuttuu" ++ ++#: command_parse.c:1981 ++msgid "unattachments: invalid disposition" ++msgstr "epäliitteet: viallinen dispositio" ++ ++#: command_parse.c:2214 imap/imap.c:1445 ++#, c-format ++msgid "Unsubscribed from %s" ++msgstr "Kansion %s tilaus poistettu" ++ ++#: command_parse.c:2218 ++#, c-format ++msgid "Could not unsubscribe from %s" ++msgstr "Kansion %s tilausta ei voitu poistaa" ++ ++#: compose.c:97 + msgid "There are no attachments" + msgstr "Ei liitteitä" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:166 ++#: compose.c:164 + msgid "From: " + msgstr "From: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:168 send.c:284 ++#: compose.c:166 send.c:284 + msgid "To: " + msgstr "To: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:170 send.c:286 ++#: compose.c:168 send.c:286 + msgid "Cc: " + msgstr "Cc: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:172 send.c:288 ++#: compose.c:170 send.c:288 + msgid "Bcc: " + msgstr "Bcc: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:174 compose.c:1242 send.c:320 ++#: compose.c:172 compose.c:1302 send.c:320 + msgid "Subject: " + msgstr "Subjet: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:176 ++#: compose.c:174 + msgid "Reply-To: " + msgstr "Reply-To: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:178 compose.c:1261 ++#: compose.c:176 compose.c:1321 + msgid "Fcc: " + msgstr "Fcc: " + + #. L10N: "Mix" refers to the MixMaster chain for anonymous email +-#: compose.c:181 ++#: compose.c:179 + msgid "Mix: " + msgstr "Mix: " + + #. L10N: Compose menu field. Holds "Encrypt", "Sign" related information +-#: compose.c:184 ++#: compose.c:182 + msgid "Security: " + msgstr "Security: " + +@@ -883,75 +1019,75 @@ msgstr "Security: " + #. it should not be longer than the other compose menu fields. + #. Since it shares the row with "Encrypt with:", it should not be longer + #. than 15-20 character cells. +-#: compose.c:192 ncrypt/crypt_gpgme.c:5602 ncrypt/pgp.c:1974 +-#: ncrypt/smime.c:2395 ++#: compose.c:190 ncrypt/crypt_gpgme.c:5682 ncrypt/pgp.c:1976 ++#: ncrypt/smime.c:2429 + msgid "Sign as: " + msgstr "Sign as: " + + #. L10N: The compose menu autocrypt line +-#: compose.c:195 ++#: compose.c:193 + msgid "Autocrypt: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:199 ++#: compose.c:197 + msgid "Newsgroups: " + msgstr "Newsgroups: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:201 ++#: compose.c:199 + msgid "Followup-To: " + msgstr "Followup-To: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:203 ++#: compose.c:201 + msgid "X-Comment-To: " + msgstr "X-Comment-To: " + +-#: compose.c:208 compose.c:224 ++#: compose.c:206 compose.c:222 + msgid "Send" + msgstr "Lähetä" + +-#: compose.c:209 compose.c:225 remailer.c:77 ++#: compose.c:207 compose.c:223 remailer.c:75 + msgid "Abort" + msgstr "Peru" + + #. L10N: compose menu help line entry +-#: compose.c:211 ++#: compose.c:209 + msgid "To" + msgstr "Vastaanottaja" + + #. L10N: compose menu help line entry +-#: compose.c:213 ++#: compose.c:211 + msgid "CC" + msgstr "Kopio" + + #. L10N: compose menu help line entry +-#: compose.c:215 compose.c:227 ++#: compose.c:213 compose.c:225 + msgid "Subj" + msgstr "Aihe" + +-#: compose.c:216 compose.c:228 compose.c:1556 ++#: compose.c:214 compose.c:226 compose.c:1616 + msgid "Attach file" + msgstr "Liitä tiedosto" + +-#: compose.c:217 compose.c:229 ++#: compose.c:215 compose.c:227 + msgid "Descrip" + msgstr "Kuvaus" + +-#: compose.c:226 ++#: compose.c:224 + msgid "Newsgroups" + msgstr "Uutisryhmät" + + #. L10N: Autocrypt recommendation flag: off. + #. * This is displayed when Autocrypt is turned off. +-#: compose.c:239 compose.c:473 ++#: compose.c:237 compose.c:472 + msgid "Off" + msgstr "" + + #. L10N: Autocrypt recommendation flag: no. + #. * This is displayed when Autocrypt cannot encrypt to the recipients. +-#: compose.c:242 ++#: compose.c:240 + #, fuzzy + msgid "No" + msgstr "Ei mitään" +@@ -960,7 +1096,7 @@ msgstr "Ei mitään" + #. * This is displayed when Autocrypt believes encryption should not be used. + #. * This might occur if one of the recipient Autocrypt Keys has not been + #. * used recently, or if the only key available is a Gossip Header key. +-#: compose.c:247 ++#: compose.c:245 + msgid "Discouraged" + msgstr "" + +@@ -968,14 +1104,14 @@ msgstr "" + #. * This is displayed when Autocrypt believes encryption is possible, but + #. * leaves enabling it up to the sender. Probably because "prefer encrypt" + #. * is not set in both the sender and recipient keys. +-#: compose.c:252 ++#: compose.c:250 + msgid "Available" + msgstr "" + + #. L10N: Autocrypt recommendation flag: yes. + #. * This is displayed when Autocrypt would normally enable encryption + #. * automatically. +-#: compose.c:256 ++#: compose.c:254 + #, fuzzy + msgid "Yes" + msgstr "kyllä" +@@ -986,7 +1122,7 @@ msgstr "kyllä" + #. (c)lear sets cleartext. + #. (a)utomatic defers to the recommendation. + #. +-#: compose.c:338 ++#: compose.c:337 + msgid "Autocrypt: (e)ncrypt, (c)lear, (a)utomatic?" + msgstr "" + +@@ -994,51 +1130,51 @@ msgstr "" + #. The letter corresponding to the compose menu autocrypt prompt + #. (e)ncrypt, (c)lear, (a)utomatic + #. +-#: compose.c:346 ++#: compose.c:345 + msgid "eca" + msgstr "" + +-#: compose.c:383 ++#: compose.c:382 + msgid "Not supported" + msgstr "Ei tuettu" + +-#: compose.c:390 ++#: compose.c:389 + msgid "Sign, Encrypt" + msgstr "Allekirjoita, salaa" + +-#: compose.c:395 compose.c:468 ++#: compose.c:394 compose.c:467 + msgid "Encrypt" + msgstr "Salaa" + +-#: compose.c:400 ++#: compose.c:399 + msgid "Sign" + msgstr "Allekirjoita" + +-#: compose.c:406 ++#: compose.c:405 + msgid "None" + msgstr "Ei mitään" + +-#: compose.c:415 ++#: compose.c:414 + msgid " (inline PGP)" + msgstr " (sisäll. PGP)" + +-#: compose.c:417 ++#: compose.c:416 + msgid " (PGP/MIME)" + msgstr " (PGP/MIME)" + +-#: compose.c:420 ++#: compose.c:419 + msgid " (S/MIME)" + msgstr " (S/MIME)" + +-#: compose.c:424 ++#: compose.c:423 + msgid " (OppEnc mode)" + msgstr " (OppEnc-moodi)" + +-#: compose.c:436 compose.c:445 ++#: compose.c:435 compose.c:444 + msgid "" + msgstr "" + +-#: compose.c:452 ++#: compose.c:451 + msgid "Encrypt with: " + msgstr "Salaa käyttäen: " + +@@ -1047,12 +1183,12 @@ msgstr "Salaa käyttäen: " + #. Displays the output of the recommendation engine + #. (Off, No, Discouraged, Available, Yes) + #. +-#: compose.c:483 ++#: compose.c:482 + #, fuzzy + msgid "Recommendation: " + msgstr "X-Comment-To: " + +-#: compose.c:547 ++#: compose.c:546 + msgid "" + msgstr "" + +@@ -1063,7 +1199,7 @@ msgstr "" + #. The filename is located last to avoid a long path hiding the + #. error message. + #. +-#: compose.c:601 ++#: compose.c:600 + #, fuzzy, c-format + msgid "Attachment #%d no longer exists: %s" + msgstr "%s [#%d] on kadonnut" +@@ -1075,232 +1211,351 @@ msgstr "%s [#%d] on kadonnut" + #. The filename is located last to avoid a long path hiding the + #. prompt question. + #. +-#: compose.c:621 ++#: compose.c:620 + #, fuzzy, c-format + msgid "Attachment #%d modified. Update encoding for %s?" + msgstr "%s [#%d] on muokattu, päivitetäänkö koodaus?" + +-#: compose.c:716 ++#: compose.c:715 + msgid "-- Attachments" + msgstr "-- Liitteet" + +-#: compose.c:770 ++#: compose.c:769 + msgid "You may not delete the only attachment" + msgstr "Ainoaa liitettä ei voi poistaa" + +-#: compose.c:1296 edit.c:538 send.c:2462 ++#: compose.c:1356 edit.c:536 send.c:2473 + #, c-format + msgid "Bad IDN in '%s': '%s'" + msgstr "Virheellinen IDN %s: %s" + +-#: compose.c:1347 ++#: compose.c:1407 + msgid "Attachment is already at top" + msgstr "Liite on jo ensimmäisenä" + +-#: compose.c:1352 compose.c:1368 ++#: compose.c:1412 compose.c:1428 + msgid "The fundamental part can't be moved" + msgstr "Kekseistä osaa ei voida siirtää" + +-#: compose.c:1363 ++#: compose.c:1423 + msgid "Attachment is already at bottom" + msgstr "Liite on jo viimeisenä" + +-#: compose.c:1381 ++#: compose.c:1441 + msgid "Grouping 'alternatives' requires at least 2 tagged messages" + msgstr "Vaihtoehtojen ryhmittely vaatii vähintään 2 merkittyä viestiä" + +-#: compose.c:1462 ++#: compose.c:1522 + msgid "Grouping 'multilingual' requires at least 2 tagged messages" + msgstr "Monikielinen ryhmittely vaatii vähintään 2 merkittyä viestiä" + +-#: compose.c:1475 ++#: compose.c:1535 + msgid "Not all parts have 'Content-Language' set, continue?" + msgstr "Kaikissa osissa ei ole 'Content-Language'-ostaketta, jatketaanko joka tapauksessa?" + +-#: compose.c:1477 ++#: compose.c:1537 + msgid "Not sending this message" + msgstr "Ei lähetetä tätä viestiä" + +-#: compose.c:1571 ++#: compose.c:1631 + msgid "Attaching selected file..." + msgid_plural "Attaching selected files..." + msgstr[0] "Liitetään valittua tiedostoa..." + msgstr[1] "Liitetään valittuja tiedostoja..." + +-#: compose.c:1585 ++#: compose.c:1645 + #, c-format + msgid "Unable to attach %s" + msgstr "Ei voida liittää kohdetta %s" + +-#: compose.c:1606 ++#: compose.c:1666 + msgid "Open mailbox to attach message from" + msgstr "Avaa postilaatikko josta liitetään viesti" + +-#: compose.c:1616 ++#: compose.c:1676 + msgid "Open newsgroup to attach message from" + msgstr "Avaa uutisryhmä josta liitetään viesti" + +-#: compose.c:1667 ++#: compose.c:1730 + #, c-format + msgid "Unable to open mailbox %s" + msgstr "Ei voitu avata postilaatikkoa %s" + +-#: compose.c:1676 ++#: compose.c:1739 + msgid "No messages in that folder" + msgstr "Ei viestejä tässä kansiossa" + +-#: compose.c:1686 ++#: compose.c:1749 + msgid "Tag the messages you want to attach" + msgstr "Tägää viestit jotka haluat liittää" + +-#: compose.c:1715 ++#: compose.c:1785 + msgid "Unable to attach" + msgstr "Ei voida liittää" + +-#: compose.c:1752 ++#: compose.c:1822 + msgid "Recoding only affects text attachments" + msgstr "Uudelleenkoodaus vaikuttaa vain tekstiliitteisiin" + +-#: compose.c:1757 ++#: compose.c:1827 + msgid "The current attachment won't be converted" + msgstr "Tätä liitettä ei konvertoida" + +-#: compose.c:1759 ++#: compose.c:1829 + msgid "The current attachment will be converted" + msgstr "Tämä liite konvertoidaan" + +-#: compose.c:1831 ++#: compose.c:1901 + msgid "Empty 'Content-Language'" + msgstr "Tyhjä 'Content-Language'" + +-#: compose.c:1849 ++#: compose.c:1920 + msgid "Invalid encoding" + msgstr "Virheellinen koodaus" + +-#: compose.c:1871 ++#: compose.c:1942 + msgid "Save a copy of this message?" + msgstr "Tallennetaanko viestin kopio?" + +-#: compose.c:1924 ++#: compose.c:1995 + msgid "Send attachment with name: " + msgstr "Lähetä liite nimellä: " + +-#: compose.c:1939 ++#: compose.c:2010 + msgid "Rename to: " + msgstr "Uudelleennimeä:" + + #. L10N: "stat" is a system call. Do "man 2 stat" for more information. +-#: compose.c:1946 editmsg.c:102 editmsg.c:138 sendlib.c:1050 ++#: compose.c:2017 editmsg.c:102 editmsg.c:138 sendlib.c:1049 + #, c-format + msgid "Can't stat %s: %s" + msgstr "stat ei onnistunut %s: %s" + +-#: compose.c:1966 ++#: compose.c:2037 + msgid "New file: " + msgstr "Uusi tiedosto: " + +-#: compose.c:1984 ++#: compose.c:2055 + msgid "Content-Type is of the form base/sub" + msgstr "Sisältötyypin muoto on perusosa/aliosa" + +-#: compose.c:1991 ++#: compose.c:2062 + #, c-format + msgid "Unknown Content-Type %s" + msgstr "Tuntematon sisältötyyppi %s" + +-#: compose.c:1999 ++#: compose.c:2070 + #, c-format + msgid "Can't create file %s" + msgstr "Tiedostoa ei voitu luoda %s" + +-#: compose.c:2008 ++#: compose.c:2079 + msgid "What we have here is a failure to make an attachment" + msgstr "Tässä on epäonnistunut yritys liitteen tuottamisessa" + +-#: compose.c:2073 ++#: compose.c:2144 + #, fuzzy + msgid "Save (postpone) draft message?" + msgstr "Palautetaanko lykätty viesti?" + +-#: compose.c:2133 ++#: compose.c:2204 + msgid "Write message to mailbox" + msgstr "Kirjoita viesti postilaatikkoon" + +-#: compose.c:2136 ++#: compose.c:2207 + #, c-format + msgid "Writing message to %s ..." + msgstr "Kirjoitetaan viestiä kohteesee %s..." + +-#: compose.c:2143 ++#: compose.c:2214 + msgid "Message written" + msgstr "Viesti kirjoitettu" + +-#: compose.c:2154 ++#: compose.c:2225 + msgid "No PGP backend configured" + msgstr "PGP-sovellusta ei ole asetettu" + +-#: compose.c:2161 compose.c:2225 ++#: compose.c:2232 compose.c:2296 + msgid "S/MIME already selected. Clear and continue?" + msgstr "S/MIME on jo valittu, poistetaanko ja jatketaan?" + +-#: compose.c:2186 ++#: compose.c:2257 + msgid "No S/MIME backend configured" + msgstr "S/MIME-sovellusta ei ole asetettu" + +-#: compose.c:2194 ++#: compose.c:2265 + msgid "PGP already selected. Clear and continue?" + msgstr "PGP on jo valittu, poistetaanko ja jatketaan?" + +-#: compress.c:355 compress.c:499 ++#: compress/compress.c:354 compress/compress.c:498 + #, c-format + msgid "Can't append without an append-hook or close-hook : %s" + msgstr "Ei voi lisätä ilman append- tai close-hookkia: %s" + +-#: compress.c:444 compress.c:511 compress.c:590 compress.c:628 mbox/mbox.c:1208 ++#: compress/compress.c:443 compress/compress.c:510 compress/compress.c:589 ++#: compress/compress.c:627 mbox/mbox.c:1208 + msgid "Unable to lock mailbox" + msgstr "Ei voitu lukita postilaatikkoa." + +-#: compress.c:448 compress.c:518 compress.c:594 ++#: compress/compress.c:447 compress/compress.c:517 compress/compress.c:593 + #, c-format + msgid "Decompressing %s" + msgstr "Puretaan %s" + +-#: compress.c:457 ++#: compress/compress.c:456 + msgid "Can't identify the contents of the compressed file" + msgstr "Ei voida tunnistaa pakatun tiedoston sisältöä" + +-#: compress.c:464 compress.c:539 ++#: compress/compress.c:463 compress/compress.c:538 + #, c-format + msgid "Can't find mailbox ops for mailbox type %d" + msgstr "Postilaatokkotoimintoja tyypille %d ei löydy" + +-#: compress.c:521 ++#: compress/compress.c:520 + #, c-format + msgid "Compress command failed: %s" + msgstr "Pakkaus epäonnistui: %s" + +-#: compress.c:532 ++#: compress/compress.c:531 + msgid "Unsupported mailbox type for appending" + msgstr "Postilaatikkotyyppiä ei tueta lisäyksessä" + +-#: compress.c:618 ++#: compress/compress.c:617 + msgid "Can't sync a compressed file without a close-hook" + msgstr "Ei voida synkata pakattua tiedostoa ilman close-hookkia" + +-#: compress.c:640 compress.c:692 ++#: compress/compress.c:639 compress/compress.c:691 + #, c-format + msgid "Compressing %s" + msgstr "Pakataan kohdetta %s" + +-#: compress.c:687 ++#: compress/compress.c:686 + #, c-format + msgid "Compressed-appending to %s..." + msgstr "Pakattu lisäys kohteeseen %s..." + +-#: compress.c:699 editmsg.c:247 ++#: compress/compress.c:698 editmsg.c:247 ++#, c-format ++msgid "Error. Preserving temporary file: %s" ++msgstr "Virhe. Varattaessa väliaikaistiedostoa: %s" ++ ++#: config/bool.c:70 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %s" ++msgstr "Virheellinen suhteellinen päiväys: %s" ++ ++#: config/bool.c:131 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %ld" ++msgstr "Virheellinen suhteellinen päiväys: %s" ++ ++#: config/enum.c:62 ++#, fuzzy, c-format ++msgid "Invalid enum value: %s" ++msgstr "Virhe: score: ei ole numero" ++ ++#: config/enum.c:149 ++#, fuzzy, c-format ++msgid "Invalid enum value: %ld" ++msgstr "Väärä arvo asetuksella %s: %ld" ++ ++#: config/long.c:50 ++#, fuzzy, c-format ++msgid "Invalid long: %s" ++msgstr "Virheellinen kuukausi: %s" ++ ++#: config/long.c:56 config/long.c:114 config/number.c:68 config/number.c:133 ++#, fuzzy, c-format ++msgid "Option %s may not be negative" ++msgstr "Asetusta %s ei voi asettaa tai poistaa sivuttimesta" ++ ++#: config/number.c:49 config/sort.c:145 config/string.c:75 config/string.c:159 ++#, fuzzy, c-format ++msgid "Option %s may not be empty" ++msgstr "Asetusta %s ei voi asettaa tai poistaa sivuttimesta" ++ ++#: config/number.c:56 ++#, fuzzy, c-format ++msgid "Invalid number: %s" ++msgstr "Virhe: score: ei ole numero" ++ ++#: config/number.c:62 ++#, c-format ++msgid "Number is too big: %s" ++msgstr "" ++ ++#: config/number.c:127 ++#, fuzzy, c-format ++msgid "Invalid number: %ld" ++msgstr "Virhe: score: ei ole numero" ++ ++#: config/quad.c:69 ++#, fuzzy, c-format ++msgid "Invalid quad value: %s" ++msgstr "Virheellinen suhteellinen päiväys: %s" ++ ++#: config/quad.c:133 ++#, fuzzy, c-format ++msgid "Invalid quad value: %ld" ++msgstr "Väärä arvo asetuksella %s: %ld" ++ ++#: config/set.c:102 ++#, c-format ++msgid "No such variable: %s" ++msgstr "" ++ ++#: config/set.c:134 config/set.c:821 ++#, fuzzy, c-format ++msgid "Variable '%s' has an invalid type %d" ++msgstr "Virhe: arvo %s ei ole salittu valitsimelle -d" ++ ++#: config/set.c:399 config/set.c:463 config/set.c:528 config/set.c:601 ++#: config/set.c:671 config/set.c:744 ++#, fuzzy, c-format ++msgid "Unknown variable '%s'" ++msgstr "%s: tuntematon muuttuja" ++ ++#: config/sort.c:192 ++#, fuzzy, c-format ++msgid "Invalid sort name: %s" ++msgstr "Virheellinen suhteellinen päiväys: %s" ++ ++#: config/sort.c:322 ++#, fuzzy, c-format ++msgid "Invalid sort type: %ld" ++msgstr "Virheellinen suhteellinen päiväys: %s" ++ ++#. L10N: Example: Username at myhost.com ++#: conn/connaccount.c:61 ++#, c-format ++msgid "Username at %s: " ++msgstr "Käyttäjänimi kohteessa %s: " ++ ++#: conn/connaccount.c:117 ++#, c-format ++msgid "Password for %s@%s: " ++msgstr "Salasana kohteelle %s@%s: " ++ ++#. L10N: You will see this error message if (1) you have "oauthbearer" in ++#. one of your $*_authenticators and (2) you do not have the corresponding ++#. $*_oauth_refresh_command defined. So the message does not mean "None of ++#. your $*_oauth_refresh_command's are defined." ++#: conn/connaccount.c:165 ++msgid "No OAUTH refresh command defined" ++msgstr "OAUTH refresh komento puuttuu" ++ ++#: conn/connaccount.c:173 ++msgid "Unable to run refresh command" ++msgstr "Refresh-komento ei toimi" ++ ++#: conn/connaccount.c:184 ++msgid "Command returned empty string" ++msgstr "Komento palautti tyhjän merkkijonon" ++ ++#: conn/connaccount.c:191 + #, c-format +-msgid "Error. Preserving temporary file: %s" +-msgstr "Virhe. Varattaessa väliaikaistiedostoa: %s" ++msgid "OAUTH token is too big: %ld" ++msgstr "" + + #: conn/conn_raw.c:160 conn/conn_raw.c:218 + #, c-format +@@ -1322,7 +1577,7 @@ msgstr "Yhdistetään kohteeseen %s..." + msgid "Could not connect to %s (%s)" + msgstr "Ei voitu yhdistää kohteeseen %s (%s)" + +-#: conn/conn_raw.c:260 conn/ssl.c:1230 curs_lib.c:568 mutt_logging.c:149 ++#: conn/conn_raw.c:260 conn/ssl.c:1245 gui/curs_lib.c:569 mutt_logging.c:147 + msgid "unknown error" + msgstr "tuntematon virhe" + +@@ -1336,23 +1591,23 @@ msgstr "Virhe kohteen %s kanssa keskustellessa (%s)" + msgid "Connection to %s has been aborted" + msgstr "Yhteys kohteeseen %s on peruttu" + +-#: conn/sasl.c:565 ++#: conn/sasl.c:547 + msgid "Unknown SASL profile" + msgstr "Tuntematon SASL-profiili" + +-#: conn/sasl.c:598 ++#: conn/sasl.c:580 + msgid "Error allocating SASL connection" + msgstr "Virhe SASL-yhteyden allokoinnissa" + +-#: conn/sasl.c:608 ++#: conn/sasl.c:590 + msgid "Error setting SASL security properties" + msgstr "Virhe SASL-turvallisuusasetusten määrittämisessä" + +-#: conn/sasl.c:619 ++#: conn/sasl.c:601 + msgid "Error setting SASL external security strength" + msgstr "Virhe ulkoisen SASL-turvallisuusvahvuuden määrittämisessä" + +-#: conn/sasl.c:629 ++#: conn/sasl.c:611 + msgid "Error setting SASL external user name" + msgstr "Virhe ulkoisen SASL-käyttäjänimen asetuksessa" + +@@ -1365,132 +1620,108 @@ msgstr "Esiyhdistyskomento epäonnistui" + msgid "Connection to %s closed" + msgstr "Yhteys kohteeseen %s on katkaistu" + +-#: conn/ssl.c:237 ++#: conn/ssl.c:222 + #, c-format + msgid "Filling entropy pool: %s..." + msgstr "Täytetään entropialähdettä: %s..." + +-#: conn/ssl.c:243 ++#: conn/ssl.c:228 + #, c-format + msgid "%s has insecure permissions" + msgstr "kohteen %s käyttöoikeudet ovat vaaralliset" + +-#: conn/ssl.c:385 ++#: conn/ssl.c:369 + msgid "SSL disabled due to the lack of entropy" + msgstr "SSL on pois käytöstä vajavaisen entropian takia" + +-#: conn/ssl.c:402 ++#: conn/ssl.c:386 + msgid "Unknown" + msgstr "Tuntematon" + +-#: conn/ssl.c:421 conn/ssl_gnutls.c:186 ++#: conn/ssl.c:405 conn/ssl_gnutls.c:188 + #, c-format + msgid "[unable to calculate]" + msgstr "[ei voida laskea]" + +-#: conn/ssl.c:446 ++#: conn/ssl.c:430 + msgid "[invalid date]" + msgstr "[viallinen päiväys]" + +-#: conn/ssl.c:506 ++#: conn/ssl.c:490 + msgid "Server certificate is not yet valid" + msgstr "Palvelimen sertifikaatti ei kelpaa" + +-#: conn/ssl.c:516 ++#: conn/ssl.c:500 + msgid "Server certificate has expired" + msgstr "Palvelimen sertifikaatti on vanhentunut" + +-#: conn/ssl.c:605 ++#: conn/ssl.c:589 + msgid "Failed to find enough entropy on your system" + msgstr "Ei löytynyt tarpeeksi entropiaa järjestelmästä" + +-#: conn/ssl.c:799 ++#: conn/ssl.c:783 + msgid "can't get certificate subject" + msgstr "ei voitu löytää sertifikaatin kohdetta (subject)" + +-#: conn/ssl.c:808 conn/ssl.c:816 ++#: conn/ssl.c:792 conn/ssl.c:800 + msgid "can't get certificate common name" + msgstr "ei voitu löytää sertifikaatin yleisnimeä (cn)" + +-#: conn/ssl.c:830 ++#: conn/ssl.c:814 + #, c-format + msgid "certificate owner does not match hostname %s" + msgstr "sertifikaatin omistaja on eri kuin hostname %s" + +-#: conn/ssl.c:904 conn/ssl_gnutls.c:539 ++#: conn/ssl.c:917 conn/ssl_gnutls.c:570 + msgid "This certificate belongs to:" + msgstr "Sertifikaatin omistaja:" + +-#: conn/ssl.c:913 conn/ssl_gnutls.c:593 ++#: conn/ssl.c:926 conn/ssl_gnutls.c:624 + msgid "This certificate was issued by:" + msgstr "Sertifikaatin myöntäjä:" + +-#: conn/ssl.c:922 conn/ssl_gnutls.c:604 ++#: conn/ssl.c:935 conn/ssl_gnutls.c:635 + msgid "This certificate is valid" + msgstr "Käypä sertifikaatti" + +-#: conn/ssl.c:923 conn/ssl_gnutls.c:608 ++#: conn/ssl.c:936 conn/ssl_gnutls.c:639 + #, c-format + msgid " from %s" + msgstr " %s" + +-#: conn/ssl.c:925 conn/ssl_gnutls.c:612 ++#: conn/ssl.c:938 conn/ssl_gnutls.c:643 + #, c-format + msgid " to %s" + msgstr " ...%s" + +-#: conn/ssl.c:931 conn/ssl_gnutls.c:617 ++#: conn/ssl.c:944 conn/ssl_gnutls.c:648 + #, c-format + msgid "SHA1 Fingerprint: %s" + msgstr "SHA1-sormenjälki: %s" + +-#: conn/ssl.c:937 conn/ssl.c:940 conn/ssl_gnutls.c:623 conn/ssl_gnutls.c:625 ++#: conn/ssl.c:950 conn/ssl.c:953 conn/ssl_gnutls.c:654 conn/ssl_gnutls.c:656 + msgid "SHA256 Fingerprint: " + msgstr "SHA256-sormenjälki: " + +-#: conn/ssl.c:944 conn/ssl_gnutls.c:664 ++#: conn/ssl.c:957 conn/ssl_gnutls.c:695 + #, c-format + msgid "SSL Certificate check (certificate %zu of %zu in chain)" + msgstr "SSL-sertifikaatin tarkastus (sertifikaatti %zu/%zu ketjussa)" + +-#. L10N: These four letters correspond to the choices in the next four strings: +-#. (r)eject, accept (o)nce, (a)ccept always, (s)kip. +-#. These prompts are the interactive certificate confirmation prompts for +-#. an OpenSSL connection. +-#: conn/ssl.c:964 +-msgid "roas" +-msgstr "hkas" +- +-#: conn/ssl.c:968 +-msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" +-msgstr "(h)ylkää, hyväksy (k)erran, hyväksy (a)ina, (s)kippaa" +- +-#: conn/ssl.c:970 conn/ssl_gnutls.c:671 +-msgid "(r)eject, accept (o)nce, (a)ccept always" +-msgstr "(h)ylkää, hyväksy (k)erran, hyväksy (a)ina" +- +-#: conn/ssl.c:975 +-msgid "(r)eject, accept (o)nce, (s)kip" +-msgstr "(h)ylkää, hyväksy (k)erran, (s)kippaa" +- +-#: conn/ssl.c:977 conn/ssl_gnutls.c:680 +-msgid "(r)eject, accept (o)nce" +-msgstr "(h)ylkää, hyväksy (k)erran" +- +-#: conn/ssl.c:981 conn/ssl_gnutls.c:689 ncrypt/crypt_gpgme.c:4729 +-#: ncrypt/pgpkey.c:664 ncrypt/smime.c:549 ++#: conn/ssl.c:994 conn/ssl_gnutls.c:720 ncrypt/crypt_gpgme.c:4777 ++#: ncrypt/pgpkey.c:667 ncrypt/smime.c:551 + msgid "Exit " + msgstr "Poistu " + +-#: conn/ssl.c:1016 conn/ssl_gnutls.c:742 ++#: conn/ssl.c:1029 conn/ssl_gnutls.c:773 + msgid "Warning: Couldn't save certificate" + msgstr "Varoitus: sertifikaatin tallennus epäonnistui" + +-#: conn/ssl.c:1020 conn/ssl_gnutls.c:746 ++#: conn/ssl.c:1033 conn/ssl_gnutls.c:777 + msgid "Certificate saved" + msgstr "Sertifikaatti tallennettu" + +-#: conn/ssl.c:1132 ++#: conn/ssl.c:1147 + #, c-format + msgid "Certificate host check failed: %s" + msgstr "Sertifikaatin palvelintesti epäonnistui: %s" +@@ -1498,15 +1729,15 @@ msgstr "Sertifikaatin palvelintesti epäonnistui: %s" + #. L10N: This is a warning when trying to set the host name for + #. * TLS Server Name Indication (SNI). This allows the server to present + #. * the correct certificate if it supports multiple hosts. +-#: conn/ssl.c:1213 conn/ssl_gnutls.c:1072 ++#: conn/ssl.c:1228 conn/ssl_gnutls.c:1105 + msgid "Warning: unable to set TLS SNI host name" + msgstr "Varoitus: Ei voitu asettaa TLS:n SNI-palvelinnimeä" + +-#: conn/ssl.c:1224 ++#: conn/ssl.c:1239 + msgid "I/O error" + msgstr "I/O-virhe" + +-#: conn/ssl.c:1233 ++#: conn/ssl.c:1248 + #, c-format + msgid "SSL failed: %s" + msgstr "SSL epäonnistui: %s" +@@ -1514,89 +1745,73 @@ msgstr "SSL epäonnistui: %s" + #. L10N: an SSL context is a data structure returned by the OpenSSL + #. function SSL_CTX_new(). In this case it returned NULL: an + #. error condition. +-#: conn/ssl.c:1269 ++#: conn/ssl.c:1284 + msgid "Unable to create SSL context" + msgstr "Ei voitu yhdistää SSL-kontekstiin" + +-#: conn/ssl.c:1322 ++#: conn/ssl.c:1337 + msgid "Warning: error enabling ssl_verify_partial_chains" + msgstr "Varoitus: ssl_verify_partial_chains-asetus epäonnistui" + +-#: conn/ssl_gnutls.c:150 conn/ssl_gnutls.c:784 conn/ssl_gnutls.c:793 ++#: conn/ssl_gnutls.c:152 conn/ssl_gnutls.c:817 conn/ssl_gnutls.c:826 + msgid "Unable to get certificate from peer" + msgstr "Ei voitu hakea sertifikaattia vertaiselta" + +-#: conn/ssl_gnutls.c:155 ++#: conn/ssl_gnutls.c:157 + #, c-format + msgid "Certificate verification error (%s)" + msgstr "Sertifikaatin varmennusvirhe (%s)" + +-#: conn/ssl_gnutls.c:162 ++#: conn/ssl_gnutls.c:164 + msgid "Certificate is not X.509" + msgstr "Sertifikaatti ei ole X.509" + +-#: conn/ssl_gnutls.c:349 conn/ssl_gnutls.c:483 ++#: conn/ssl_gnutls.c:351 conn/ssl_gnutls.c:485 + msgid "Error initialising gnutls certificate data" + msgstr "Virhe alustettaessa gnutls-sertifikaattidataa" + +-#: conn/ssl_gnutls.c:355 conn/ssl_gnutls.c:489 ++#: conn/ssl_gnutls.c:357 conn/ssl_gnutls.c:491 + msgid "Error processing certificate data" + msgstr "Virhe käsiteltäessä sertifikaattidataa" + +-#: conn/ssl_gnutls.c:635 ++#: conn/ssl_gnutls.c:666 + msgid "WARNING: Server certificate is not yet valid" + msgstr "Varoitus: Palvelinsertifikaatti ei ole käypä vielä" + +-#: conn/ssl_gnutls.c:640 ++#: conn/ssl_gnutls.c:671 + msgid "WARNING: Server certificate has expired" + msgstr "Varoitus: Palvelinsertifikaatti on vanhentunut" + +-#: conn/ssl_gnutls.c:645 ++#: conn/ssl_gnutls.c:676 + msgid "WARNING: Server certificate has been revoked" + msgstr "Varoitus: Palvelinsertifikaatti on poistettu käytöstä" + +-#: conn/ssl_gnutls.c:650 ++#: conn/ssl_gnutls.c:681 + msgid "WARNING: Server hostname does not match certificate" + msgstr "Varoitus: Palvelimen verkkonimi ei täsmää sertifikaattiin" + +-#: conn/ssl_gnutls.c:655 ++#: conn/ssl_gnutls.c:686 + msgid "WARNING: Signer of server certificate is not a CA" + msgstr "Varoitus: Palvelinsertifikaatin allekirjoittaja ei ole CA" + +-#: conn/ssl_gnutls.c:659 conn/ssl_gnutls.c:1004 ++#: conn/ssl_gnutls.c:690 conn/ssl_gnutls.c:1037 + msgid "Warning: Server certificate was signed using an insecure algorithm" + msgstr "Varoitus: Palvelimen sertifikaatti on allekirjoitettu epäturvalliseslla algoritmilla" + +-#. L10N: These three letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce, (a)ccept always. +-#. This is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:676 +-msgid "roa" +-msgstr "hka" +- +-#. L10N: These two letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce. +-#. These is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:685 +-msgid "ro" +-msgstr "hk" +- +-#: conn/ssl_gnutls.c:950 conn/ssl_gnutls.c:992 ++#: conn/ssl_gnutls.c:983 conn/ssl_gnutls.c:1025 + msgid "All available protocols for TLS/SSL connection disabled" + msgstr "Kaikki protokollat TLS/SSL-yhteyttä varten ovat pois käytöstä" + +-#: conn/ssl_gnutls.c:999 ++#: conn/ssl_gnutls.c:1032 + msgid "Explicit ciphersuite selection via $ssl_ciphers not supported" + msgstr "Salauksen valintaa $ssl_ciphers-muuttujalla ei tueta" + +-#: conn/ssl_gnutls.c:1120 ++#: conn/ssl_gnutls.c:1153 + #, c-format + msgid "SSL/TLS connection using %s (%s/%s/%s)" + msgstr "SSL/TLS-yhteys %s (%s/%s/%s)" + +-#: conn/ssl_gnutls.c:1175 conn/ssl_gnutls.c:1204 ++#: conn/ssl_gnutls.c:1210 conn/ssl_gnutls.c:1239 + msgid "Error: no TLS socket open" + msgstr "Virhe: Ei TLS-sokettia avoinna" + +@@ -1615,38 +1830,18 @@ msgstr "Tunnelivirhe yhteydessä kohteeseen %s: %s" + msgid "Tunnel to %s returned error %d (%s)" + msgstr "Tunneli kohteeseen %s palautti virheen %d (%s)" + +-#: copy.c:660 ++#: copy.c:662 + #, c-format + msgid "The length calculation was wrong by %ld byte" + msgid_plural "The length calculation was wrong by %ld bytes" + msgstr[0] "Pituuslaskelmat ovat pielessä %ld tavulla" + msgstr[1] "Pituuslaskelmat ovat pielessä %ld tavulla" + +-#: copy.c:744 ++#: copy.c:746 + msgid "No decryption engine available for message" + msgstr "Viestille ei ole purkualgoritmia" + +-#: curs_lib.c:378 +-msgid "yes" +-msgstr "kyllä" +- +-#: curs_lib.c:379 +-msgid "no" +-msgstr "ei" +- +-#: curs_lib.c:518 +-msgid "Exit NeoMutt?" +-msgstr "Lopetetaanko neomutt?" +- +-#: curs_lib.c:597 +-msgid "Press any key to continue..." +-msgstr "Paina jotain näppäintä jatkaaksesi..." +- +-#: curs_lib.c:705 +-msgid " ('?' for list): " +-msgstr " (? listaa): " +- +-#: edit.c:64 ++#: edit.c:62 + msgid "" + "~~ insert a line beginning with a single ~\n" + "~b users add users to the Bcc: field\n" +@@ -1668,7 +1863,7 @@ msgstr "" + "~M messages sama kuin ~m, mutta otsakkeiden kanssa\n" + "~p tulosta viesti\n" + +-#: edit.c:75 ++#: edit.c:73 + msgid "" + "~q write file and quit editor\n" + "~r file read a file into the editor\n" +@@ -1690,20 +1885,20 @@ msgstr "" + "~? tämä ohje\n" + ". rivillä yksinään lopettaa\n" + +-#: edit.c:261 ++#: edit.c:259 + #, c-format + msgid "%d: invalid message number.\n" + msgstr "%d: virheellinen viestinnumero.\n" + +-#: edit.c:416 ++#: edit.c:414 + msgid "(End message with a . on a line by itself)\n" + msgstr "(Lopeta viesti rivillä jolla on pelkkä .)\n" + +-#: edit.c:474 ++#: edit.c:472 + msgid "No mailbox.\n" + msgstr "Ei postilaatikkoa.\n" + +-#: edit.c:478 ++#: edit.c:476 + msgid "Message contains:\n" + msgstr "Viesti sisältää:\n" + +@@ -1711,19 +1906,19 @@ msgstr "Viesti sisältää:\n" + #. not IN the middle of the content. + #. So it doesn't mean "(message will continue)" + #. but means "(press any key to continue using neomutt)". +-#: edit.c:486 edit.c:547 ++#: edit.c:484 edit.c:545 + msgid "(continue)\n" + msgstr "(jatka)\n" + +-#: edit.c:499 ++#: edit.c:497 + msgid "missing filename.\n" + msgstr "puuttuva tiedostonimi.\n" + +-#: edit.c:519 ++#: edit.c:517 + msgid "No lines in message.\n" + msgstr "Ei rivejä viestissä.\n" + +-#: edit.c:558 ++#: edit.c:556 + #, c-format + msgid "%s: unknown editor command (~? for help)\n" + msgstr "%s: tuntematon muokkauskomento (~? näyttää ohjeita)\n" +@@ -1770,19 +1965,73 @@ msgstr "Ei voitu avata kansiota: %s" + msgid "multipart message has no boundary parameter" + msgstr "multipart-viestillä ei ole rajoitinmerkkiparametriä" + +-#: flags.c:382 index.c:2561 index.c:2604 index.c:3134 index.c:3171 ++#: flags.c:381 index.c:2587 index.c:2630 index.c:3160 index.c:3197 + #: mutt_thread.c:1091 mutt_thread.c:1158 mutt_thread.c:1246 + msgid "Threading is not enabled" + msgstr "Ketjutus ei ole päällä" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Set flag" + msgstr "Aseta lippu" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Clear flag" + msgstr "Poista lippu" + ++#: gui/color.c:633 gui/color.c:644 ++#, c-format ++msgid "%s: color not supported by term" ++msgstr "%s: väri ei toimi tässä terminaalissa" ++ ++#: gui/color.c:652 ++#, c-format ++msgid "%s: no such color" ++msgstr "%s: väriä ei löydy" ++ ++#: gui/color.c:717 gui/color.c:740 gui/color.c:751 gui/color.c:842 ++#, c-format ++msgid "%s: no such object" ++msgstr "%s: objektia ei löydy" ++ ++#: gui/color.c:1142 ++#, c-format ++msgid "%s: no such attribute" ++msgstr "%s: attribuuttia ei ole olemassa" ++ ++#: gui/color.c:1244 ++msgid "default colors not supported" ++msgstr "oletusvärejä ei tueta" ++ ++#: gui/color.c:1282 ++#, c-format ++msgid "Maximum quoting level is %d" ++msgstr "" ++ ++#: gui/color.c:1319 ++#, fuzzy, c-format ++msgid "%s: invalid number: %s" ++msgstr "Virhe: score: ei ole numero" ++ ++#: gui/curs_lib.c:379 ++msgid "yes" ++msgstr "kyllä" ++ ++#: gui/curs_lib.c:380 ++msgid "no" ++msgstr "ei" ++ ++#: gui/curs_lib.c:519 ++msgid "Exit NeoMutt?" ++msgstr "Lopetetaanko neomutt?" ++ ++#: gui/curs_lib.c:598 ++msgid "Press any key to continue..." ++msgstr "Paina jotain näppäintä jatkaaksesi..." ++ ++#: gui/curs_lib.c:749 ++msgid " ('?' for list): " ++msgstr " (? listaa): " ++ + #: handler.c:102 + #, c-format + msgid "[-- Type: %s/%s%s%s, Encoding: %s, Size: %s --]\n" +@@ -1803,23 +2052,23 @@ msgstr "[-- Automaattisesti näytetään komennolla %s --]\n" + msgid "Invoking autoview command: %s" + msgstr "Avataan automaattinen näyttö: %s" + +-#: handler.c:591 mutt_attach.c:527 mutt_attach.c:714 mutt_attach.c:745 +-#: mutt_attach.c:1087 mutt_attach.c:1152 ncrypt/pgpkey.c:723 +-#: ncrypt/pgpkey.c:920 ++#: handler.c:590 mutt_attach.c:555 mutt_attach.c:747 mutt_attach.c:778 ++#: mutt_attach.c:1120 mutt_attach.c:1185 ncrypt/pgpkey.c:756 ++#: ncrypt/pgpkey.c:955 + msgid "Can't create filter" + msgstr "Ei voida luoda filtteriä" + +-#: handler.c:595 ++#: handler.c:594 + #, c-format + msgid "[-- Can't run %s. --]\n" + msgstr "[-- Ei voitu suorittaa %s. --]\n" + +-#: handler.c:614 handler.c:635 ++#: handler.c:613 handler.c:634 + #, c-format + msgid "[-- Autoview stderr of %s --]\n" + msgstr "[-- Näytetään stderr komennosta %s --]\n" + +-#: handler.c:764 ++#: handler.c:763 + msgid "[-- Error: message/external-body has no access-type parameter --]\n" + msgstr "[-- Virhe: message/external-body ei sisällä access-type-parametriä --]\n" + +@@ -1838,7 +2087,7 @@ msgstr "[-- Virhe: message/external-body ei sisällä access-type-parametriä -- + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:807 ++#: handler.c:806 + #, c-format + msgid "" + "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" +@@ -1867,7 +2116,7 @@ msgstr[1] "" + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:830 ++#: handler.c:829 + #, c-format + msgid "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" + msgid_plural "[-- This %s/%s attachment (size %s bytes) has been deleted --]\n" +@@ -1881,7 +2130,7 @@ msgstr[1] "[-- Liite %s/%s (koko %s) on poistettu --]\n" + #. + #. Caution: Argument three %3$ is also defined but should not be used + #. in this translation! +-#: handler.c:848 ++#: handler.c:847 + msgid "" + "[-- This %s/%s attachment has been deleted --]\n" + "[-- on %4$s --]\n" +@@ -1892,12 +2141,12 @@ msgstr "" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The first "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:856 ++#: handler.c:855 + #, c-format + msgid "[-- This %s/%s attachment has been deleted --]\n" + msgstr "[-- Liite %s/%s on poistettu --]\n" + +-#: handler.c:866 ++#: handler.c:865 + #, c-format + msgid "[-- name: %s --]\n" + msgstr "[-- nimi: %s --]\n" +@@ -1905,7 +2154,7 @@ msgstr "[-- nimi: %s --]\n" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:884 ++#: handler.c:883 + #, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -1920,7 +2169,7 @@ msgstr "" + #. The "%s/%s" is a MIME type, e.g. "text/plain". The %s after + #. access-type is an access-type as defined by the MIME RFCs, e.g. "FTP", + #. "LOCAL-FILE", "MAIL-SERVER". +-#: handler.c:905 ++#: handler.c:904 + #, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -1929,91 +2178,91 @@ msgstr "" + "[-- Liite %s/%s ei ole mukana, --]\n" + "[-- eikä annettua access-typeä %s tueta --]\n" + +-#: handler.c:1090 ++#: handler.c:1089 + msgid "[-- Error: Could not display any parts of Multipart/Alternative --]\n" + msgstr "[-- Virhe: Ei voitu näyttää tyypin Multipart/Alternative osia --]\n" + + #. L10N: %s is the attachment description, filename or form_name. +-#: handler.c:1231 ++#: handler.c:1230 + #, c-format + msgid "[-- Attachment #%d: %s --]\n" + msgstr "[-- Liite #%d: %s --]\n" + +-#: handler.c:1236 ++#: handler.c:1235 + #, c-format + msgid "[-- Attachment #%d --]\n" + msgstr "[-- Liite #%d --]\n" + +-#: handler.c:1254 ++#: handler.c:1253 + msgid "One or more parts of this message could not be displayed" + msgstr "Yhtä tai useampaa osa viestistä ei voitu näyttää" + +-#: handler.c:1320 ++#: handler.c:1319 + msgid "Unable to open 'memory stream'" + msgstr "Ei voitu avata muistivirtaa" + +-#: handler.c:1330 ++#: handler.c:1329 + msgid "Unable to open temporary file" + msgstr "Ei voitu avata väliaikaistiedostoa" + +-#: handler.c:1379 ++#: handler.c:1378 + msgid "failed to re-open 'memory stream'" + msgstr "Ei voitu avata muistivirtaa uudelleen" + +-#: handler.c:1620 ++#: handler.c:1619 + msgid "Error: multipart/signed has no protocol" + msgstr "Virhe: multipart/signed ilman protokollaa" + + #. L10N: %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1694 ++#: handler.c:1693 + #, c-format + msgid "[-- This is an attachment (use '%s' to view this part) --]\n" + msgstr "[-- Tämä on liitetiedosto (avaa osa komennolla '%s) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". + #. The last %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1701 ++#: handler.c:1700 + #, c-format + msgid "[-- %s/%s is unsupported (use '%s' to view this part) --]\n" + msgstr "[-- tyyppiä %s/%s ei tueta (avaa osa komennolla '%s') --]\n" + +-#: handler.c:1709 ++#: handler.c:1708 + msgid "[-- This is an attachment (need 'view-attachments' bound to key) --]\n" + msgstr "[-- Tämä on liitetiedosto ('view-attachments' pitää olla asetettu näppäimeen) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1715 ++#: handler.c:1714 + #, c-format + msgid "[-- %s/%s is unsupported (need 'view-attachments' bound to key) --]\n" + msgstr "[-- tyyppiä %s/%s ei tueta ('view-attachments' pitää olla asetettu näppäimeen) --]\n" + +-#: handler.c:1724 ++#: handler.c:1723 + msgid "[-- This is an attachment --]\n" + msgstr "[-- Tämä on liite --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1729 ++#: handler.c:1728 + #, c-format + msgid "[-- %s/%s is unsupported --]\n" + msgstr "[-- %s/%s ei ole tuettu --]\n" + +-#: help.c:400 ++#: help.c:401 + msgid "ERROR: please report this bug" + msgstr "Virhe: ilmoita tästä viasta" + +-#: help.c:455 ++#: help.c:456 + msgid "" + msgstr "" + +-#: help.c:469 ++#: help.c:470 + msgid "Generic bindings:" + msgstr "Yleiset näppäinasettelut:" + +-#: help.c:473 ++#: help.c:474 + msgid "Unbound functions:" + msgstr "Näppäimettömät funktiot:" + +-#: help.c:481 ++#: help.c:482 + #, c-format + msgid "Help for %s" + msgstr "Ohje %s" +@@ -2030,41 +2279,41 @@ msgstr "postilaatikon oikopolku laventui tyhjäksi ilmaukseksi" + msgid "badly formatted command string" + msgstr "epäkelpo komentojono" + +-#: hook.c:461 ++#: hook.c:466 + msgid "unhook: Can't do unhook * from within a hook" + msgstr "unhook: unhook * ei toimi hookin sisältä." + +-#: hook.c:474 ++#: hook.c:479 + #, c-format + msgid "unhook: unknown hook type: %s" + msgstr "unhook: tuntematon hook-tyyppi: %s" + +-#: hook.c:484 ++#: hook.c:489 + #, c-format + msgid "unhook: Can't delete a %s from within a %s" + msgstr "unhook: Ei voitu poistaa kohdetta %s kohteesta %s" + + #. L10N: '%s' is the (misspelled) name of the menu, e.g. 'index' or 'pager' +-#: icommands.c:259 keymap.c:1161 keymap.c:1346 ++#: icommands.c:261 keymap.c:1159 keymap.c:1344 + #, c-format + msgid "%s: no such menu" + msgstr "%s: valikko puuttuu" + + #. L10N: '%s' is the name of the menu, e.g. 'index' or 'pager', it might + #. L10N: also be 'all' when all menus are affected. +-#: icommands.c:272 ++#: icommands.c:274 + #, fuzzy, c-format + msgid "%s: no binds for this menu" + msgstr "%s: valikko puuttuu" + +-#: icommands.c:272 ++#: icommands.c:274 + #, fuzzy, c-format + msgid "%s: no macros for this menu" + msgstr "%s: valikko puuttuu" + + #. L10N: '%s' is the file name of the temporary file +-#: icommands.c:283 icommands.c:296 icommands.c:316 icommands.c:340 +-#: icommands.c:360 icommands.c:371 imap/message.c:1093 ++#: icommands.c:285 icommands.c:297 icommands.c:317 icommands.c:340 ++#: icommands.c:360 icommands.c:370 imap/message.c:1093 + #, c-format + msgid "Could not create temporary file %s" + msgstr "Ei voitu luoda väliaikaistiedostoa %s" +@@ -2101,28 +2350,28 @@ msgstr "GSSAPI-autentikointi epäonnistui" + msgid "LOGIN disabled on this server" + msgstr "LOGIN on poistettu käytöstä palvelimella" + +-#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:288 ++#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:289 + msgid "Logging in..." + msgstr "Kirjaudutaan siäsään..." + +-#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:329 ++#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:330 + msgid "Login failed" + msgstr "Kirjautuminen epäonnistui" + +-#: imap/auth_oauth.c:64 pop/pop_auth.c:346 smtp.c:524 ++#: imap/auth_oauth.c:65 pop/pop_auth.c:347 smtp.c:549 + msgid "Authenticating (OAUTHBEARER)..." + msgstr "Authentikoidaan (OAUTHBEARER)..." + +-#: imap/auth_oauth.c:96 ++#: imap/auth_oauth.c:97 + msgid "OAUTHBEARER authentication failed" + msgstr "OAUTHBEARER-autentikointi epäonnistui" + +-#: imap/auth_sasl.c:128 nntp/nntp.c:606 nntp/nntp.c:671 smtp.c:443 ++#: imap/auth_sasl.c:128 nntp/nntp.c:608 nntp/nntp.c:673 smtp.c:468 + #, c-format + msgid "Authenticating (%s)..." + msgstr "Autentikoidaan (%s)..." + +-#: imap/auth_sasl.c:259 pop/pop_auth.c:200 smtp.c:584 smtp.c:646 ++#: imap/auth_sasl.c:259 pop/pop_auth.c:201 smtp.c:609 smtp.c:671 + msgid "SASL authentication failed" + msgstr "SASL-autentikointi epäonnistui" + +@@ -2169,89 +2418,79 @@ msgstr "Uudelleennimeys epäonnistui: %s" + msgid "Mailbox renamed" + msgstr "Postilaatikko uudelleennimetty" + +-#: imap/command.c:164 ++#: imap/command.c:177 + #, c-format + msgid "Mailbox %s@%s closed" + msgstr "Postilaatikko %s@%s on katkaistu" + +-#: imap/command.c:1258 imap/command.c:1370 ++#: imap/command.c:1287 imap/command.c:1399 + #, c-format + msgid "Connection to %s timed out" + msgstr "Yhteys %s aikakatkaistu" + +-#: imap/imap.c:87 ++#: imap/imap.c:93 + msgid "This IMAP server is ancient. NeoMutt does not work with it." + msgstr "IMAP-palvelin on niin vanha ettei neomutt toimi sen kanssa." + +-#: imap/imap.c:438 ++#: imap/imap.c:444 + #, c-format + msgid "Header search without header name: %s" + msgstr "Otsakehausta puuttuu otsakkeen nimi: %s" + +-#: imap/imap.c:468 ++#: imap/imap.c:474 + #, c-format + msgid "Server-side custom search not supported: %s" + msgstr "Palvelimen muokattua hakua ei tueta: %s" + +-#: imap/imap.c:584 ++#: imap/imap.c:590 + #, c-format + msgid "CREATE failed: %s" + msgstr "CREATE epäonnistui: %s" + +-#: imap/imap.c:704 ++#: imap/imap.c:710 + #, c-format + msgid "Closing connection to %s..." + msgstr "Suljetaan yhteyttä %s..." + +-#: imap/imap.c:882 nntp/nntp.c:1889 pop/pop_lib.c:324 smtp.c:687 ++#: imap/imap.c:888 nntp/nntp.c:1891 pop/pop_lib.c:350 smtp.c:712 + msgid "Secure connection with TLS?" + msgstr "Salataanko yhteys TLS:llä?" + +-#: imap/imap.c:895 nntp/nntp.c:1910 pop/pop_lib.c:343 smtp.c:702 ++#: imap/imap.c:901 nntp/nntp.c:1912 pop/pop_lib.c:369 smtp.c:727 + msgid "Could not negotiate TLS connection" + msgstr "Ei voitu neuvotella TLS-yhteyttä" + +-#: imap/imap.c:910 pop/pop_lib.c:360 ++#: imap/imap.c:916 pop/pop_lib.c:386 + msgid "Encrypted connection unavailable" + msgstr "Salattu yhteys ei käytettävissä" + +-#: imap/imap.c:1417 ++#: imap/imap.c:1430 + #, c-format + msgid "Subscribing to %s..." + msgstr "Tilataan hakemistoa %s..." + +-#: imap/imap.c:1419 ++#: imap/imap.c:1432 + #, c-format + msgid "Unsubscribing from %s..." + msgstr "Poistetaan hakemiston %s tilaus..." + +-#: imap/imap.c:1430 init.c:2142 +-#, c-format +-msgid "Subscribed to %s" +-msgstr "%s tilattu" +- +-#: imap/imap.c:1432 init.c:2620 +-#, c-format +-msgid "Unsubscribed from %s" +-msgstr "Kansion %s tilaus poistettu" +- +-#: imap/imap.c:1582 imap/message.c:1674 ++#: imap/imap.c:1595 imap/message.c:1674 + #, c-format + msgid "Copying %d message to %s..." + msgid_plural "Copying %d messages to %s..." + msgstr[0] "Kopioidaan %d viestiä kansioon %s..." + msgstr[1] "Kopioidaan %d viestejä kansioon %s..." + +-#: imap/imap.c:1599 imap/imap.c:2217 imap/message.c:1713 muttlib.c:1505 ++#: imap/imap.c:1612 imap/imap.c:2254 imap/message.c:1713 muttlib.c:1503 + #, c-format + msgid "Create %s?" + msgstr "Luodaanko %s?" + +-#: imap/imap.c:1667 ++#: imap/imap.c:1685 + msgid "Expunge failed" + msgstr "Poisto epäonnistui" + +-#: imap/imap.c:1683 ++#: imap/imap.c:1701 + #, c-format + msgid "Marking %d message deleted..." + msgid_plural "Marking %d messages deleted..." +@@ -2259,43 +2498,43 @@ msgstr[0] "Merkataan %d viesti poistetuksi..." + msgstr[1] "Merkataan %d viestiä poistetuksi..." + + #. L10N: The plural is chosen by the last %d, i.e. the total number +-#: imap/imap.c:1720 ++#: imap/imap.c:1738 + #, c-format + msgid "Saving changed message... [%d/%d]" + msgid_plural "Saving changed messages... [%d/%d]" + msgstr[0] "Tallennetaan muutettua viestiä... [%d/%d]" + msgstr[1] "Tallennetaan muutettuja viestejä... [%d/%d]" + +-#: imap/imap.c:1776 ++#: imap/imap.c:1794 + msgid "Error saving flags. Close anyway?" + msgstr "Virhe tallennettaessa lippuja, suljetaanko joka tapauksessa?" + +-#: imap/imap.c:1783 ++#: imap/imap.c:1801 + msgid "Error saving flags" + msgstr "Virhe tallennettaessa lippuja." + +-#: imap/imap.c:1808 ++#: imap/imap.c:1826 + msgid "Expunging messages from server..." + msgstr "Poistetaan viestejä palvelimelta..." + +-#: imap/imap.c:1814 ++#: imap/imap.c:1832 + msgid "imap_sync_mailbox: EXPUNGE failed" + msgstr "imap_sync_mailbox: EXPUNGE epäonnistui" + +-#: imap/imap.c:2023 nntp/nntp.c:2486 ++#: imap/imap.c:2058 nntp/nntp.c:2488 + #, c-format + msgid "Selecting %s..." + msgstr "Valitaan %s..." + +-#: imap/imap.c:2184 ++#: imap/imap.c:2221 + msgid "Error opening mailbox" + msgstr "Virhe avattaessa postilaatikkoa" + +-#: imap/imap.c:2330 ++#: imap/imap.c:2367 + msgid "IMAP server doesn't support custom flags" + msgstr "IMAP-palvelin ei tue omia merkintöjä" + +-#: imap/imap.c:2374 ++#: imap/imap.c:2411 + msgid "Invalid IMAP flags" + msgstr "Vialliset IMAP-merkinnät " + +@@ -2305,7 +2544,7 @@ msgid "Abort download and close mailbox?" + msgstr "Perutaanko lataus ja suljetaan postilaatikko?" + + #: imap/message.c:554 mutt/memory.c:58 mutt/memory.c:98 mutt/memory.c:134 +-#: mutt/string.c:1178 mx.c:1176 ++#: mutt/string.c:1201 mx.c:1195 + msgid "Out of memory" + msgstr "muisti loppui" + +@@ -2323,7 +2562,7 @@ msgstr "Haetaan uusia merkintöjä..." + msgid "Unable to fetch headers from this IMAP server version" + msgstr "Ei voida hakea otsakkeita tämän IMAP-version palvelimelta" + +-#: imap/message.c:1099 index.c:1548 nntp/nntp.c:1328 pop/pop.c:426 ++#: imap/message.c:1099 index.c:1554 nntp/nntp.c:1330 pop/pop.c:426 + msgid "Fetching message headers..." + msgstr "Haetaan viestien otsakkeita..." + +@@ -2336,152 +2575,152 @@ msgstr "Ladataan viestiä verkkoon..." + msgid "Copying message %d to %s..." + msgstr "Kopioidaan viestiä %d kohteeseen %s..." + +-#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2737 pop/pop.c:1110 ++#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2739 pop/pop.c:1105 + msgid "Fetching message..." + msgstr "Haetaan viestejä..." + +-#: imap/message.c:1959 pop/pop.c:1106 ++#: imap/message.c:1959 pop/pop.c:1101 + msgid "The message index is incorrect. Try reopening the mailbox." + msgstr "Viesti-indeksi on pielessä, joten kannattaa avata postilaatikko uudelleen" + +-#: imap/util.c:767 ++#: imap/util.c:796 + msgid "Continue?" + msgstr "Jatketaanko?" + +-#: index.c:115 index.c:128 ++#: index.c:111 index.c:124 + msgid "Quit" + msgstr "Lopeta" + +-#: index.c:118 index.c:131 recvattach.c:93 ++#: index.c:114 index.c:127 recvattach.c:91 + msgid "Save" + msgstr "Tallenna" + +-#: index.c:119 query.c:81 ++#: index.c:115 query.c:79 + msgid "Mail" + msgstr "Posti" + +-#: index.c:120 pager.c:237 ++#: index.c:116 pager.c:229 + msgid "Reply" + msgstr "Vastaa" + +-#: index.c:121 ++#: index.c:117 + msgid "Group" + msgstr "Ryhmä" + +-#: index.c:132 pager.c:244 ++#: index.c:128 pager.c:236 + msgid "Post" + msgstr "Viesti" + +-#: index.c:133 pager.c:245 ++#: index.c:129 pager.c:237 + msgid "Followup" + msgstr "Vastine" + +-#: index.c:190 index.c:1362 ++#: index.c:186 index.c:1367 + msgid "No mailbox is open" + msgstr "Ei postilaatikoita auki" + +-#: index.c:196 ++#: index.c:192 + msgid "There are no messages" + msgstr "Ei viestejä" + +-#: index.c:202 ++#: index.c:198 + msgid "No visible messages" + msgstr "Ei näkyviä viestejä" + +-#: index.c:208 mx.c:901 pager.c:223 recvattach.c:80 ++#: index.c:204 mx.c:920 pager.c:215 recvattach.c:78 + msgid "Mailbox is read-only" + msgstr "Kirjoitussuojattu postilaatikko" + +-#: index.c:214 pager.c:225 recvattach.c:98 ++#: index.c:210 pager.c:217 recvattach.c:96 + msgid "Function not permitted in attach-message mode" + msgstr "Funktio ei toimi viestinliitetilassa" + + #. L10N: %s is one of the CHECK_ACL entries below. +-#: index.c:239 pager.c:290 ++#: index.c:235 pager.c:282 + #, c-format + msgid "%s: Operation not permitted by ACL" + msgstr "%s: Operaatio on estetty ACL:n perusteella" + +-#: index.c:430 ++#: index.c:426 + msgid "Can't toggle write on a readonly mailbox" + msgstr "Ei voida vaihtaa kirjoitustilaan kirjoitussuojatussa postilaatikossa" + +-#: index.c:437 ++#: index.c:433 + msgid "Changes to folder will be written on folder exit" + msgstr "Muutokset kansioon tallennetaan poistuttaessa" + +-#: index.c:442 ++#: index.c:438 + msgid "Changes to folder will not be written" + msgstr "Muutoksia kansioon ei tallenneta" + +-#: index.c:719 muttlib.c:1490 mx.c:206 mx.c:340 ++#: index.c:714 muttlib.c:1488 mx.c:206 mx.c:338 + #, c-format + msgid "%s is not a mailbox" + msgstr "%s ei ole postilaatikko" + +-#: index.c:1218 ++#: index.c:1223 + msgid "Mailbox was externally modified. Flags may be wrong." + msgstr "Postilaatikkoa on muokattu muualla, joten liput voivat olla pielessä." + +-#: index.c:1227 pager.c:2409 ++#: index.c:1232 pager.c:2379 + msgid "New mail in this mailbox" + msgstr "Uusi viesti postilaatikossa" + +-#: index.c:1242 ++#: index.c:1247 + msgid "Mailbox was externally modified" + msgstr "Postilaatikkoa on muokattu muualla" + +-#: index.c:1369 ++#: index.c:1374 + msgid "No tagged messages" + msgstr "Ei merkittyjä viestejä" + +-#: index.c:1373 index.c:1647 menu.c:1423 ++#: index.c:1378 index.c:1653 menu.c:1423 + msgid "Nothing to do" + msgstr "Ei mitään tehtävissä" + +-#: index.c:1470 ++#: index.c:1475 + msgid "Enter Message-Id: " + msgstr "Anna viesti-ID: " + +-#: index.c:1481 ++#: index.c:1487 + msgid "Article has no parent reference" + msgstr "Artikkelilla ei ole viitettä vanhempaan" + +-#: index.c:1504 ++#: index.c:1510 + msgid "Message is not visible in limited view" + msgstr "Juuriviesti ei ole näkyvissä tässä rajatussa näkymässä" + +-#: index.c:1508 ++#: index.c:1514 + #, c-format + msgid "Fetching %s from server..." + msgstr "Haetaan %s palvelimelta..." + +-#: index.c:1518 nntp/nntp.c:2772 ++#: index.c:1524 nntp/nntp.c:2774 + #, c-format + msgid "Article %s not found on the server" + msgstr "Artikkelia %s ei ole palvelimella" + +-#: index.c:1544 ++#: index.c:1550 + msgid "No Message-Id. Unable to perform operation." + msgstr "Ei Viesti-Id:tä, joten ei voida suorittaa." + +-#: index.c:1623 ++#: index.c:1629 + msgid "No deleted messages found in the thread" + msgstr "Tässä ketjussa ei ole poistettuja viestejä" + +-#: index.c:1644 ++#: index.c:1650 + msgid "Jump to message: " + msgstr "Siirry viestiin: " + +-#: index.c:1650 ++#: index.c:1656 + msgid "Argument must be a message number" + msgstr "Argumentin pitää olla viestinnumero" + +-#: index.c:1652 ++#: index.c:1658 + msgid "Invalid message number" + msgstr "Viestinnumero ei kelpaa" + +-#: index.c:1654 ++#: index.c:1660 + msgid "That message is not visible" + msgstr "Se viesti ei ole näkyvissä" + +@@ -2494,37 +2733,37 @@ msgstr "Se viesti ei ole näkyvissä" + #. delete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. + #. +-#: index.c:1692 index.c:3267 pager.c:3064 ++#: index.c:1698 index.c:3293 pager.c:3039 + msgid "Can't delete messages" + msgstr "Ei voitu poistaa viestejä" + +-#: index.c:1695 ++#: index.c:1701 + msgid "Delete messages matching: " + msgstr "Poista täsmäävät viestit: " + +-#: index.c:1736 ++#: index.c:1742 + msgid "No limit pattern is in effect" + msgstr "Ei rajoittavaa kuviota" + + #. L10N: ask for a limit to apply +-#: index.c:1741 ++#: index.c:1747 + #, c-format + msgid "Limit: %s" + msgstr "Rajoite: %s" + +-#: index.c:1778 ++#: index.c:1784 + msgid "Limit to messages matching: " + msgstr "Rajoita viestit täsmäämään: " + +-#: index.c:1809 ++#: index.c:1815 + msgid "To view all messages, limit to \"all\"" + msgstr "Kaikkiin viesteihin täsmää rajoite \"all\"" + +-#: index.c:1821 pager.c:2514 ++#: index.c:1827 pager.c:2487 + msgid "Quit NeoMutt?" + msgstr "Lopetetaanko neomutt?" + +-#: index.c:1924 ++#: index.c:1931 + msgid "Tag messages matching: " + msgstr "Merkitse täsmäävät viestit: " + +@@ -2532,196 +2771,196 @@ msgstr "Merkitse täsmäävät viestit: " + #. L10N: Due to the implementation details we do not know whether we + #. undelete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:1935 index.c:3807 pager.c:3418 ++#: index.c:1942 index.c:3833 pager.c:3396 + msgid "Can't undelete messages" + msgstr "Ei voitu perua viestien poistoa" + +-#: index.c:1939 ++#: index.c:1946 + msgid "Undelete messages matching: " + msgstr "Peru täsmäävien viestien poisto: " + +-#: index.c:1948 ++#: index.c:1955 + msgid "Untag messages matching: " + msgstr "Peru täsmäävien viestien merkintä: " + +-#: index.c:1989 ++#: index.c:1996 + msgid "Logged out of IMAP servers" + msgstr "Kirjauduttiin ulos IMAP-palvelimelta" + +-#: index.c:2105 ++#: index.c:2113 + #, fuzzy + msgid "No virtual folder and no Message-Id, aborting" + msgstr "Ei virtuaalikansiota, joten peruttiin" + +-#: index.c:2117 index.c:2288 index.c:2310 index.c:2331 ++#: index.c:2125 index.c:2313 index.c:2335 index.c:2356 + msgid "Failed to create query, aborting" + msgstr "Haun luonti epäonnistui joten peruutetaan" + +-#: index.c:2130 ++#: index.c:2138 + msgid "failed to find message in notmuch database. try running 'notmuch new'." + msgstr "" + +-#: index.c:2139 ++#: index.c:2147 + msgid "Failed to read thread, aborting" + msgstr "Ei voitu lukea ketjua joten peruttiin" + +-#: index.c:2171 mx.c:1252 mx.c:1272 ++#: index.c:2179 mx.c:1271 mx.c:1291 + msgid "Folder doesn't support tagging, aborting" + msgstr "Kansiosta puuttuu merkintätuki, joten peruutetaan" + +-#: index.c:2188 ++#: index.c:2196 + msgid "No tag specified, aborting" + msgstr "Ei merkintää, joten peruttiin" + +-#: index.c:2198 ++#: index.c:2206 + msgid "Update tags..." + msgstr "Päivitetään merkinnät..." + +-#: index.c:2238 ++#: index.c:2246 + msgid "Failed to modify tags, aborting" + msgstr "Merkintöjen muokkaaminen epäonnistui joten peruutetaan" + +-#: index.c:2284 ++#: index.c:2293 + msgid "No query, aborting" + msgstr "Ei hakua, joten peruttiin" + +-#: index.c:2299 index.c:2320 ++#: index.c:2324 index.c:2345 + msgid "Windowed queries disabled" + msgstr "Ikkunoidut haut poissa köytöstä" + +-#: index.c:2304 index.c:2325 ++#: index.c:2329 index.c:2350 + msgid "No notmuch vfolder currently loaded" + msgstr "Notmuch-vkansiota ei ole ladattuna" + +-#: index.c:2374 ++#: index.c:2399 + msgid "Open mailbox in read-only mode" + msgstr "Avaa postilaatikko kirjoitussuojattuna" + +-#: index.c:2376 ++#: index.c:2401 + msgid "Open mailbox" + msgstr "Avaa postilaatikko" + +-#: index.c:2386 ++#: index.c:2411 + msgid "No mailboxes have new mail" + msgstr "Ei uusia viestejä postilaatikoissa" + +-#: index.c:2419 ++#: index.c:2444 + msgid "Open newsgroup in read-only mode" + msgstr "Avaa uutosryhmä kirjoitussuojattuna" + +-#: index.c:2421 ++#: index.c:2446 + msgid "Open newsgroup" + msgstr "Avoin uutisryhmä" + +-#: index.c:2538 ++#: index.c:2564 + msgid "Exit NeoMutt without saving?" + msgstr "Poistutaanko neomuttista tallentamatta?" + + #. L10N: CHECK_ACL +-#: index.c:2554 ++#: index.c:2580 + msgid "Can't break thread" + msgstr "Ei voitu katkaista ketjuja" + +-#: index.c:2574 ++#: index.c:2600 + msgid "Thread broken" + msgstr "Ketju rikki" + +-#: index.c:2587 ++#: index.c:2613 + msgid "Thread can't be broken, message is not part of a thread" + msgstr "Ketjua ei voi rikkoa, kun viesti ei ole osa ketjua" + + #. L10N: CHECK_ACL +-#: index.c:2597 ++#: index.c:2623 + msgid "Can't link threads" + msgstr "Ei voitu yhdistää ketjuja" + +-#: index.c:2606 ++#: index.c:2632 + msgid "No Message-ID: header available to link thread" + msgstr "Ei Viesti-ID-otsaketta ketjun yhdistämiseksi" + +-#: index.c:2608 ++#: index.c:2634 + msgid "First, please tag a message to be linked here" + msgstr "Ensin pitää merkitä viesti linkitettäväksi" + +-#: index.c:2621 ++#: index.c:2647 + msgid "Threads linked" + msgstr "Ketjut linkitetty" + +-#: index.c:2624 ++#: index.c:2650 + msgid "No thread linked" + msgstr "Ei ketjuja linkitetty" + +-#: index.c:2665 index.c:2690 ++#: index.c:2691 index.c:2716 + msgid "You are on the last message" + msgstr "Viimeisessä viestissä" + +-#: index.c:2673 index.c:2716 ++#: index.c:2699 index.c:2742 + msgid "No undeleted messages" + msgstr "Ei poistetusta palautettuja viestejä" + +-#: index.c:2708 index.c:2733 ++#: index.c:2734 index.c:2759 + msgid "You are on the first message" + msgstr "Ensimmäisessä viestissä" + +-#: index.c:2874 ++#: index.c:2900 + msgid "No new messages in this limited view" + msgstr "Ei uusia viestejä tässä rajallisessa näkymässä" + +-#: index.c:2876 ++#: index.c:2902 + msgid "No new messages" + msgstr "Ei uusia viestejä" + +-#: index.c:2881 ++#: index.c:2907 + msgid "No unread messages in this limited view" + msgstr "Ei lukemattomia viestejä tässä rajallisessa näkymässä" + +-#: index.c:2883 ++#: index.c:2909 + msgid "No unread messages" + msgstr "Ei lukemattomia viestejä" + +-#: index.c:2893 menu.c:1208 pager.c:2644 pattern.c:2652 ++#: index.c:2919 menu.c:1208 pager.c:2618 pattern.c:2776 + msgid "Search wrapped to top" + msgstr "Haku jatkoi ylhäältä" + +-#: index.c:2898 pager.c:2669 pattern.c:2663 ++#: index.c:2924 pager.c:2643 pattern.c:2787 + msgid "Search wrapped to bottom" + msgstr "Haku jatkoi alhaalta" + + #. L10N: CHECK_ACL +-#: index.c:2915 ++#: index.c:2941 + msgid "Can't flag message" + msgstr "Ei voitu merkitä viestejä" + + #. L10N: CHECK_ACL +-#: index.c:2961 pager.c:3377 ++#: index.c:2987 pager.c:3355 + msgid "Can't toggle new" + msgstr "Ei voitu vaihtaa uudeksi" + +-#: index.c:3057 ++#: index.c:3083 + msgid "No more threads" + msgstr "Ei enää ketjuja" + +-#: index.c:3059 ++#: index.c:3085 + msgid "You are on the first thread" + msgstr "Ensimmäisessä ketjussa" + +-#: index.c:3156 ++#: index.c:3182 + msgid "Thread contains unread or flagged messages" + msgstr "Ketjussa on lukemattomia viestejä" + + #. L10N: CHECK_ACL +-#: index.c:3215 pager.c:3019 ++#: index.c:3241 pager.c:2994 + msgid "Can't delete message" + msgstr "Ei voitu poistaa viestejä" + + #. L10N: CHECK_ACL +-#: index.c:3339 ++#: index.c:3365 + msgid "Can't edit message" + msgstr "Ei voitu muokata viestiä" + + #. L10N: This is displayed when the x-label on one or more + #. messages is edited. +-#: index.c:3432 pager.c:3495 ++#: index.c:3458 pager.c:3473 + #, c-format + msgid "%d label changed" + msgid_plural "%d labels changed" +@@ -2731,7 +2970,7 @@ msgstr[1] "%d merkintää muutettu." + #. L10N: This is displayed when editing an x-label, but no messages + #. were updated. Possibly due to canceling at the prompt or if the new + #. label is the same as the old label. +-#: index.c:3440 pager.c:3499 ++#: index.c:3466 pager.c:3477 + msgid "No labels changed" + msgstr "Ei muuttuneita merkintöjä" + +@@ -2739,275 +2978,140 @@ msgstr "Ei muuttuneita merkintöjä" + #. L10N: Due to the implementation details we do not know whether we + #. mark zero, 1, 12, ... messages as read. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:3571 ++#: index.c:3597 + msgid "Can't mark messages as read" + msgstr "Ei voitu merkitä viestejä lukemattomiksi" + + #. L10N: This is the prompt for . Whatever they + #. enter will be prefixed by $mark_macro_prefix and will become + #. a macro hotkey to jump to the currently selected message. +-#: index.c:3612 ++#: index.c:3638 + msgid "Enter macro stroke: " + msgstr "Makronäppäimet: " + + #. L10N: "message hotkey" is the key bindings menu description of a + #. macro created by . +-#: index.c:3620 ++#: index.c:3646 + msgid "message hotkey" + msgstr "viestin pikanäppäin" + + #. L10N: This is echoed after creates a new hotkey + #. macro. %s is the hotkey string ($mark_macro_prefix followed + #. by whatever they typed at the prompt.) +-#: index.c:3625 ++#: index.c:3651 + #, c-format + msgid "Message bound to %s" + msgstr "Viesti yhdistetty makroon %s." + + #. L10N: This error is printed if can't find a + #. Message-ID for the currently selected message in the index. +-#: index.c:3634 ++#: index.c:3660 + msgid "No message ID to macro" + msgstr "Ei viesti-ID:tä makrolle" + +-#: index.c:3688 pager.c:3221 recvattach.c:1646 ++#: index.c:3714 pager.c:3196 recvattach.c:1678 + msgid "Reply by mail as poster prefers?" + msgstr "Vastataanko postitse kuten lähettäjä pyytää?" + +-#: index.c:3691 pager.c:3182 pager.c:3194 pager.c:3224 ++#: index.c:3717 pager.c:3157 pager.c:3169 pager.c:3199 + msgid "Posting to this group not allowed, may be moderated. Continue?" + msgstr "Vastaaminen ryhmään ei ole sallittu, ehkä se on moderoitu, jatketaanko?" + + #. L10N: CHECK_ACL +-#: index.c:3768 pager.c:3397 ++#: index.c:3794 pager.c:3375 + msgid "Can't undelete message" + msgstr "Ei voitu perua viestin poistoa" + +-#: init.c:313 ++#: init.c:223 + #, c-format + msgid "Error in command line: %s" + msgstr "Virhe komentorivillä: %s" + +-#: init.c:315 ++#: init.c:225 + #, fuzzy, c-format + msgid "Warning in command line: %s" + msgstr "Virhe komentorivillä: %s" + +-#: init.c:426 ++#: init.c:336 + msgid "unable to determine nodename via uname()" + msgstr "ei voitu ratkaista laitenimeä uname()-funktiolla" + +-#: init.c:580 +-msgid "-group: no group name" +-msgstr "-group: ei ryhmän nimeä" +- +-#: init.c:590 +-msgid "out of arguments" +-msgstr "argumentit loppuivat" +- +-#: init.c:804 init.c:1752 +-#, c-format +-msgid "Error: Can't build path of '%s'" +-msgstr "Virhe: polun %s rakentaminen ei onnistu" +- +-#: init.c:817 +-#, c-format +-msgid "Error: Cyclic sourcing of configuration file '%s'" +-msgstr "Virhe: asetustiedoston %s latauksissa on sykli" +- +-#: init.c:850 +-#, c-format +-msgid "Error in %s, line %d: %s" +-msgstr "Virhe tiedostossa %s rivillä %d: %s" +- +-#: init.c:861 +-#, c-format +-msgid "Warning in %s, line %d: %s" +-msgstr "Virhe tiedostossa %s rivillä %d: %s" +- +-#: init.c:885 +-#, c-format +-msgid "source: errors in %s" +-msgstr "source: virheet kohteessa %s" +- +-#: init.c:885 +-#, c-format +-msgid "source: reading aborted due to too many errors in %s" +-msgstr "source: lukeminen peruttu liian monen virheen takia kohteessa %s" +- +-#: init.c:894 +-#, c-format +-msgid "source: %d warning in %s" +-msgid_plural "source: %d warnings in %s" +-msgstr[0] "source: %d irhe kohteessa %s" +-msgstr[1] "source: %d virhettä kohteessa %s" +- +-#: init.c:923 +-msgid "alias: no address" +-msgstr "alias: ei osoitetta" +- +-#: init.c:965 +-#, c-format +-msgid "Warning: Bad IDN '%s' in alias '%s'" +-msgstr "Varoitus: Viallinen IDN %s aliaksessa %s" +- +-#: init.c:1043 +-msgid "attachments: no disposition" +-msgstr "liitteet: dispositio puuttuu" +- +-#: init.c:1054 +-msgid "Current attachments settings:" +-msgstr "Nykyiset liiteasetukset:" +- +-#: init.c:1084 +-msgid "attachments: invalid disposition" +-msgstr "liitteet: dispositio on väärä" +- +-#: init.c:1160 +-#, c-format +-msgid "%sgroup: missing -rx or -addr" +-msgstr "%sryhmä: -rx tai -addr puuttuu" +- +-#: init.c:1186 +-#, c-format +-msgid "%sgroup: warning: bad IDN '%s'" +-msgstr "%sryhmä: varoitus: huono IDN '%s'" +- +-#: init.c:1278 +-#, c-format +-msgid "Error: %s" +-msgstr "Virhe: %s" +- +-#: init.c:1445 +-msgid "invalid header field" +-msgstr "viallinen otsakekenttä" +- +-#: init.c:1711 init.c:1815 +-#, c-format +-msgid "%s: unknown variable" +-msgstr "%s: tuntematon muuttuja" +- +-#: init.c:1908 +-#, c-format +-msgid "%s is unset" +-msgstr "%s on asettamatta" +- +-#: init.c:1953 mutt_lua.c:478 +-#, c-format +-msgid "source: error at %s" +-msgstr "source: virhe kohteessa %s" +- +-#: init.c:1961 +-#, c-format +-msgid "source: file %s could not be sourced" +-msgstr "source: tiedostoa %s ei voi ladata" +- +-#: init.c:1984 +-msgid "spam: no matching pattern" +-msgstr "spam: ei täsmää" +- +-#: init.c:1986 +-msgid "nospam: no matching pattern" +-msgstr "nospam: ei täsmää" +- +-#: init.c:2146 +-#, c-format +-msgid "Could not subscribe to %s" +-msgstr "Ryhmää %s ei voitu tilata" +- +-#: init.c:2154 init.c:2632 +-msgid "No folder specified" +-msgstr "Ei kansiota" +- +-#: init.c:2341 +-msgid "unattachments: no disposition" +-msgstr "epäliitteet: dispositio puuttuu" +- +-#: init.c:2379 +-msgid "unattachments: invalid disposition" +-msgstr "epäliitteet: viallinen dispositio" +- +-#: init.c:2624 +-#, c-format +-msgid "Could not unsubscribe from %s" +-msgstr "Kansion %s tilausta ei voitu poistaa" +- +-#: init.c:3292 ++#: init.c:1042 + #, c-format + msgid "%s: unknown command" + msgstr "%s: tuntematon komento" + +-#: init.c:3837 ++#: init.c:1588 + msgid "'charset' must contain exactly one character set name" + msgstr "" + +-#: init.c:3853 init.c:3877 init.c:3912 ++#: init.c:1604 init.c:1628 init.c:1663 + #, c-format + msgid "Invalid value for option %s: %s" + msgstr "Väärä arvo asetukselle %s: %s" + +-#: init.c:3890 ++#: init.c:1641 + #, c-format + msgid "Option %s may not be set or reset from the pager" + msgstr "Asetusta %s ei voi asettaa tai poistaa sivuttimesta" + +-#: init.c:3928 ++#: init.c:1679 + #, c-format + msgid "Option %s may not be set when in attach-message mode" + msgstr "Asetusta %s ei voi asettaa liittämistilassa" + + #. L10N: This applies to the "$wrap_headers" config variable +-#: init.c:3943 ++#: init.c:1694 + #, c-format + msgid "Option %s must between 78 and 998 inclusive" + msgstr "" + +-#: keymap.c:373 keymap.c:381 ++#: keymap.c:371 keymap.c:379 + #, c-format + msgid "Binding '%s' will alias '%s' Before, try: 'bind %s %s noop' https://neomutt.org/guide/configuration.html#bind-warnings" + msgstr "Yhdistys '%s' tarviaa aliasta '%s' Kokeile: 'bind %s %s noop' https://neomutt.org/guide/configuration.html#bind-warnings" + +-#: keymap.c:757 ++#: keymap.c:755 + msgid "Macro loop detected" + msgstr "Makrosilmukka havaittu" + +-#: keymap.c:1064 keymap.c:1099 ++#: keymap.c:1062 keymap.c:1097 + msgid "Key is not bound" + msgstr "Näppäin on asettamatta" + +-#: keymap.c:1104 ++#: keymap.c:1102 + #, c-format + msgid "Key is not bound. Press '%s' for help." + msgstr "Näppäin on asettamatta, näppäimellä %s saa ohjeita." + +-#: keymap.c:1177 ++#: keymap.c:1175 + #, c-format + msgid "%s: null key sequence" + msgstr "%s: tyhjä avainsekvenssi" + +-#: keymap.c:1212 ++#: keymap.c:1210 + #, c-format + msgid "Function '%s' not available for menu '%s'" + msgstr "Funktio %s ei ole saatavilla valikossa %s" + +-#: keymap.c:1495 ++#: keymap.c:1493 + msgid "macro: empty key sequence" + msgstr "macro: tyhjä näppäinsekvenssi" + +-#: keymap.c:1543 ++#: keymap.c:1541 + msgid "exec: no arguments" + msgstr "exec: ei argumentteja" + +-#: keymap.c:1563 ++#: keymap.c:1561 + #, c-format + msgid "%s: no such function" + msgstr "%s: funktiota ei ole" + +-#: keymap.c:1584 ++#: keymap.c:1582 + msgid "Enter keys (^G to abort): " + msgstr "Näppäimet (^G peruu): " + +-#: keymap.c:1590 ++#: keymap.c:1588 + #, c-format + msgid "Char = %s, Octal = %o, Decimal = %d" + msgstr "Merkki = %s, Oktaali = %o, Desimaali = %d" +@@ -3031,7 +3135,7 @@ msgstr "Mailcap-tietue tyypille %s puuttuu" + msgid "Scanning %s..." + msgstr "Skannataan kohdetta %s..." + +-#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:353 ++#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:351 + #, c-format + msgid "Reading %s..." + msgstr "Luetaan kohdetta %s..." +@@ -3046,13 +3150,13 @@ msgid "md_commit_message(): unable to set time on file" + msgstr "md_commit_message(): tiedoston ajan asetus ei onnistunut" + + #. L10N: Displayed before/as a mailbox is being synced +-#: maildir/shared.c:1723 mbox/mbox.c:1276 mx.c:461 notmuch/mutt_notmuch.c:2364 ++#: maildir/shared.c:1734 mbox/mbox.c:1276 mx.c:459 notmuch/mutt_notmuch.c:2364 + #, c-format + msgid "Writing %s..." + msgstr "Kirjoitetaan kohdetta %s..." + + #. L10N: Try to limit to 80 columns +-#: main.c:227 ++#: main.c:160 + msgid "" + "usage:\n" + " neomutt [-Enx] [-e ] [-F ] [-H ] [-i ]\n" +@@ -3093,7 +3197,7 @@ msgstr "" + " neomutt -v[v]\n" + + #. L10N: Try to limit to 80 columns. If more space is needed add an indented line +-#: main.c:247 ++#: main.c:180 + msgid "" + "options:\n" + " -- Special argument forces NeoMutt to stop option parsing and treat\n" +@@ -3175,54 +3279,54 @@ msgstr "" + " -z Avaa ensimmäinen tai määritelty (-f) postilaatikko tahi\n" + " lopeta välittömästi palautusarvolla 1" + +-#: main.c:312 ++#: main.c:245 + msgid "Error initializing terminal" + msgstr "Virhe terminaalin alustuksessa" + +-#: main.c:390 ++#: main.c:323 + msgid "unable to determine username" + msgstr "ei voitu ratkaista käyttäjänimeä" + +-#: main.c:396 ++#: main.c:329 + msgid "unable to determine home directory" + msgstr "ei voitu ratkaista kotihakemistoa" + +-#: main.c:640 ++#: main.c:572 + #, c-format + msgid "Error: value '%s' is invalid for -d" + msgstr "Virhe: arvo %s ei ole salittu valitsimelle -d" + +-#: main.c:884 ++#: main.c:815 + msgid "Failed to parse mailto: link" + msgstr "Virhe mailto:-linkin jäsennyksessä" + +-#: main.c:896 send.c:2452 send.c:2456 ++#: main.c:827 send.c:2463 send.c:2467 + msgid "No recipients specified" + msgstr "Ei vastaanottajia" + +-#: main.c:923 ++#: main.c:854 + msgid "Can't use -E flag with stdin" + msgstr "Valitsin -E ei toimi yhdessä vakiosyötteen kanssa" + +-#: main.c:1007 ++#: main.c:938 + #, c-format + msgid "Can't parse message template: %s" + msgstr "Ei voitu avata viestimallinetta: %s" + +-#: main.c:1073 mutt_header.c:329 ++#: main.c:1004 mutt_header.c:329 + #, c-format + msgid "%s: unable to attach file" + msgstr "%s: ei voitu liittää tiedostoa" + +-#: main.c:1156 ++#: main.c:1087 + msgid "No mailbox with new mail" + msgstr "Ei uutta postia postilaatikoissa" + +-#: main.c:1180 ++#: main.c:1111 + msgid "No incoming mailboxes defined" + msgstr "Tulevien viestien postilaatikoita ei ole määritelty" + +-#: main.c:1230 ++#: main.c:1161 + msgid "Mailbox is empty" + msgstr "Postilaatikko on tyhjä" + +@@ -3264,52 +3368,52 @@ msgstr "Ei voitu uudelleenavata postilaatikkoa" + msgid "Can't write message" + msgstr "Ei voitu kirjoittaa viestiä" + +-#: menu.c:632 ++#: menu.c:631 + msgid "Jump to: " + msgstr "Hyppää kohteeseen: " + +-#: menu.c:641 ++#: menu.c:640 + msgid "Invalid index number" + msgstr "Virheellinen indeksi" + +-#: menu.c:645 menu.c:671 menu.c:744 menu.c:810 menu.c:828 menu.c:843 menu.c:858 +-#: menu.c:873 menu.c:890 menu.c:907 menu.c:1553 ++#: menu.c:644 menu.c:670 menu.c:743 menu.c:809 menu.c:827 menu.c:842 menu.c:857 ++#: menu.c:872 menu.c:889 menu.c:906 menu.c:1553 + msgid "No entries" + msgstr "Ei tietueita" + +-#: menu.c:668 ++#: menu.c:667 + msgid "You can't scroll down farther" + msgstr "Ei voida vierittää alemmas" + +-#: menu.c:690 ++#: menu.c:689 + msgid "You can't scroll up farther" + msgstr "Ei voida vierittää ylemmäs" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the first page" + msgstr "Ensimmäisellä sivulla" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the last page" + msgstr "Viimeisellä sivulla" + +-#: menu.c:922 ++#: menu.c:921 + msgid "You are on the last entry" + msgstr "Viimeisessä tietueessa" + +-#: menu.c:937 ++#: menu.c:936 + msgid "You are on the first entry" + msgstr "Ensimmäisessä tietueessa" + +-#: menu.c:1172 pager.c:2692 pattern.c:2578 ++#: menu.c:1172 pager.c:2666 pattern.c:2702 + msgid "Search for: " + msgstr "Hae: " + +-#: menu.c:1173 pager.c:2693 pattern.c:2579 ++#: menu.c:1173 pager.c:2667 pattern.c:2703 + msgid "Reverse search for: " + msgstr "Hae takaperin: " + +-#: menu.c:1226 pager.c:2641 pager.c:2666 pager.c:2800 pattern.c:2708 ++#: menu.c:1226 pager.c:2615 pager.c:2640 pager.c:2774 pattern.c:2832 + msgid "Not found" + msgstr "Ei löytynyt" + +@@ -3352,20 +3456,20 @@ msgstr "Odotetaan flock-yritystä... %d" + msgid "Bad history file format (line %d)" + msgstr "Historiatiedoston muotovirhe (rivillä %d)" + +-#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1006 ncrypt/crypt_gpgme.c:2381 +-#: ncrypt/crypt_gpgme.c:2401 ncrypt/crypt_gpgme.c:2460 +-#: ncrypt/crypt_gpgme.c:2477 ncrypt/crypt_gpgme.c:2509 +-#: ncrypt/crypt_gpgme.c:2527 ncrypt/crypt_gpgme.c:2611 +-#: ncrypt/crypt_gpgme.c:3194 ncrypt/crypt_gpgme.c:3292 +-#: ncrypt/crypt_gpgme.c:4373 ncrypt/pgp.c:576 ncrypt/pgp.c:583 ncrypt/pgp.c:896 +-#: ncrypt/pgp.c:1014 ncrypt/pgp.c:1161 ncrypt/pgp.c:1181 ncrypt/pgp.c:1215 +-#: ncrypt/pgp.c:1568 ncrypt/pgpkey.c:708 ncrypt/pgpkey.c:902 +-#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1092 ncrypt/smime.c:1100 +-#: ncrypt/smime.c:1191 ncrypt/smime.c:1299 ncrypt/smime.c:1364 +-#: ncrypt/smime.c:1372 ncrypt/smime.c:1571 ncrypt/smime.c:1967 +-#: ncrypt/smime.c:2046 ncrypt/smime.c:2053 ncrypt/smime.c:2156 +-#: ncrypt/smime.c:2281 ncrypt/smime.c:2297 nntp/nntp.c:1397 nntp/nntp.c:2237 +-#: pattern.c:1132 pop/pop.c:182 ++#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1005 ncrypt/crypt_gpgme.c:2420 ++#: ncrypt/crypt_gpgme.c:2440 ncrypt/crypt_gpgme.c:2499 ++#: ncrypt/crypt_gpgme.c:2516 ncrypt/crypt_gpgme.c:2548 ++#: ncrypt/crypt_gpgme.c:2566 ncrypt/crypt_gpgme.c:2650 ++#: ncrypt/crypt_gpgme.c:3237 ncrypt/crypt_gpgme.c:3335 ++#: ncrypt/crypt_gpgme.c:4421 ncrypt/pgp.c:575 ncrypt/pgp.c:582 ncrypt/pgp.c:895 ++#: ncrypt/pgp.c:1013 ncrypt/pgp.c:1160 ncrypt/pgp.c:1180 ncrypt/pgp.c:1214 ++#: ncrypt/pgp.c:1570 ncrypt/pgpkey.c:741 ncrypt/pgpkey.c:937 ++#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1126 ncrypt/smime.c:1134 ++#: ncrypt/smime.c:1225 ncrypt/smime.c:1333 ncrypt/smime.c:1398 ++#: ncrypt/smime.c:1406 ncrypt/smime.c:1605 ncrypt/smime.c:2001 ++#: ncrypt/smime.c:2080 ncrypt/smime.c:2087 ncrypt/smime.c:2190 ++#: ncrypt/smime.c:2315 ncrypt/smime.c:2331 nntp/nntp.c:1399 nntp/nntp.c:2239 ++#: pattern.c:1171 pop/pop.c:182 + msgid "Can't create temporary file" + msgstr "Ei voitu luoda väliaikaistiedostoa" + +@@ -3384,7 +3488,7 @@ msgstr "Virheenjäljitystasolla %d tiedostoon %s" + msgid "Logging at level %d to file '%s'" + msgstr "Lokitasolla %d tiedostoon %s" + +-#: mutt/path.c:401 ++#: mutt/path.c:420 + msgid "Error: converting path to absolute" + msgstr "Virhe: polun konversiossa absoluuttiseksi" + +@@ -3407,17 +3511,17 @@ msgstr "Signaali %d (%s)... lopetetaan.\n" + msgid "Caught signal %d ... Exiting.\n" + msgstr "Signaali %d... lopetetaan.\n" + +-#: muttlib.c:490 ++#: muttlib.c:488 + #, c-format + msgid "mutt_randbuf buflen=%zu" + msgstr "mutt_randbuf buflen=%zu" + +-#: muttlib.c:510 ++#: muttlib.c:508 + #, c-format + msgid "open /dev/urandom: %s" + msgstr "avaus /dev/urandom: %s" + +-#: muttlib.c:517 ++#: muttlib.c:515 + #, c-format + msgid "read /dev/urandom: %s" + msgstr "luku /dev/urandom: %s" +@@ -3425,146 +3529,119 @@ msgstr "luku /dev/urandom: %s" + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) + #. These three letters correspond to the choices in the string. +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "File is a directory, save under it: (y)es, (n)o, (a)ll?" + msgstr "Tiedosto on hakemisto, tallennetaanko sen alle? k(y)llä, (e)i, k(a)ikki" + +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "yna" + msgstr "yea" + + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) +-#: muttlib.c:763 ++#: muttlib.c:761 + msgid "File is a directory, save under it?" + msgstr "Tiedosto on hakemisto, tallennetaanko sen alle?" + +-#: muttlib.c:768 ++#: muttlib.c:766 + msgid "File under directory: " + msgstr "Tiedosto hakemistossa: " + +-#: muttlib.c:781 ++#: muttlib.c:779 + msgid "File exists, (o)verwrite, (a)ppend, or (c)ancel?" + msgstr "Tiedosto on olemassa, k(o)rvaa, j(a)tka tai (p)eru?" + + #. L10N: Options for: File exists, (o)verwrite, (a)ppend, or (c)ancel? +-#: muttlib.c:783 ++#: muttlib.c:781 + msgid "oac" + msgstr "oap" + +-#: muttlib.c:1458 ++#: muttlib.c:1456 + msgid "Can't save message to POP mailbox" + msgstr "Ei voida tallentaa POP-laatikkoon" + +-#: muttlib.c:1468 ++#: muttlib.c:1466 + #, c-format + msgid "Append messages to %s?" + msgstr "Lisätäänkö viestit kohteeseen %s?" + +-#: muttlib.c:1481 ++#: muttlib.c:1479 + msgid "Can't save message to news server" + msgstr "Ei voitu tallentaa viestiä uutispalvelimelle" + +-#. L10N: Example: Username at myhost.com +-#: mutt_account.c:233 +-#, c-format +-msgid "Username at %s: " +-msgstr "Käyttäjänimi kohteessa %s: " +- +-#: mutt_account.c:315 +-#, c-format +-msgid "Password for %s@%s: " +-msgstr "Salasana kohteelle %s@%s: " +- +-#. L10N: You will see this error message if (1) you have "oauthbearer" in +-#. one of your $*_authenticators and (2) you do not have the corresponding +-#. $*_oauth_refresh_command defined. So the message does not mean "None of +-#. your $*_oauth_refresh_command's are defined." +-#: mutt_account.c:383 +-msgid "No OAUTH refresh command defined" +-msgstr "OAUTH refresh komento puuttuu" +- +-#: mutt_account.c:390 +-msgid "Unable to run refresh command" +-msgstr "Refresh-komento ei toimi" +- +-#: mutt_account.c:400 +-msgid "Command returned empty string" +-msgstr "Komento palautti tyhjän merkkijonon" +- +-#: mutt_attach.c:140 mutt_attach.c:274 mutt_attach.c:459 mutt_attach.c:1054 ++#: mutt_attach.c:142 mutt_attach.c:276 mutt_attach.c:488 mutt_attach.c:1087 + msgid "Can't match 'nametemplate', continue?" + msgstr "Ei täsmää nimimallineeseen, jatketaanko?" + +-#: mutt_attach.c:150 ++#: mutt_attach.c:152 + #, c-format + msgid "Mailcap compose entry requires %%s" + msgstr "Mailcapin compose-tietueessa pitää olla %%s" + +-#: mutt_attach.c:168 ++#: mutt_attach.c:170 + msgid "Failure to open file to parse headers" + msgstr "Ei voitu avata tiedostoa otsakkeiden jäsentämiseksi" + +-#: mutt_attach.c:202 ++#: mutt_attach.c:204 + msgid "Failure to open file to strip headers" + msgstr "Ei voitu avata tiedostoa otsakkeiden poistamiseksi" + +-#: mutt_attach.c:212 ++#: mutt_attach.c:214 + msgid "Failure to rename file" + msgstr "Virhe uudelleennimeämisessä" + +-#: mutt_attach.c:222 ++#: mutt_attach.c:224 + #, c-format + msgid "No mailcap compose entry for %s, creating empty file" + msgstr "Ei mailcapin compose-tietuetta kohteelle %s, luodaan tyhjä tiedosto" + +-#: mutt_attach.c:284 ++#: mutt_attach.c:286 + #, c-format + msgid "Mailcap Edit entry requires %%s" + msgstr "Mailcapin edit-tietueessa pitää olla %%s" + +-#: mutt_attach.c:305 ++#: mutt_attach.c:307 + #, c-format + msgid "No mailcap edit entry for %s" + msgstr "Ei mailcapin edit-tietuetta kohteelle %s" + +-#: mutt_attach.c:427 ++#: mutt_attach.c:456 + msgid "No matching mailcap entry found. Viewing as text." + msgstr "Ei löytynyt sopivaa mailcap-tietueita, näytetään tekstinä." + +-#: mutt_attach.c:440 ++#: mutt_attach.c:469 + msgid "MIME type not defined. Can't view attachment." + msgstr "MIME-tyyppiä ei ole määritelty, joten liitettä ei voi avata." + +-#: mutt_attach.c:535 ++#: mutt_attach.c:563 + #, c-format + msgid "---Command: %-20.20s Description: %s" + msgstr "---Komento: %-20.20s Kuvaus: %s" + +-#: mutt_attach.c:540 ++#: mutt_attach.c:568 + #, c-format + msgid "---Command: %-30.30s Attachment: %s" + msgstr "---Komento: %-30.30s Liite: %s" + +-#: mutt_attach.c:619 ++#: mutt_attach.c:652 + #, c-format + msgid "---Attachment: %s: %s" + msgstr "---Liite: %s: %s" + +-#: mutt_attach.c:621 ++#: mutt_attach.c:654 + #, c-format + msgid "---Attachment: %s" + msgstr "---Liite: %s" + +-#: mutt_attach.c:902 mutt_attach.c:910 ++#: mutt_attach.c:935 mutt_attach.c:943 + msgid "Write fault" + msgstr "Kirjoittamisvirhe" + +-#: mutt_attach.c:1174 ++#: mutt_attach.c:1207 + msgid "I don't know how to print that" + msgstr "Tätä ei voi tulostaa" + +-#: mutt_history.c:47 query.c:84 ++#: mutt_history.c:47 query.c:82 + msgid "Search" + msgstr "Haku" + +@@ -3573,21 +3650,21 @@ msgstr "Haku" + msgid "History '%s'" + msgstr "Historia %s" + +-#: mutt_logging.c:315 ++#: mutt_logging.c:313 + #, c-format + msgid "Invalid value for option %s: %ld" + msgstr "Väärä arvo asetuksella %s: %ld" + +-#: mutt_lua.c:429 ++#: mutt_lua.c:431 + msgid "Error: Couldn't load the lua interpreter" + msgstr "Virhe: Ei voitu ladata lua-tulkkia" + +-#: mutt_lua.c:491 ++#: mutt_lua.c:493 + #, c-format + msgid "Couldn't source lua source: %s" + msgstr "Ei voitu ladata lua-koodia: %s" + +-#: mutt_mailbox.c:214 ++#: mutt_mailbox.c:241 + msgid "New mail in " + msgstr "Uutta postia kohteessa " + +@@ -3608,20 +3685,20 @@ msgstr "Juuriviesti ei ole näkyvissä tässä rajatussa näkymässä" + msgid "Parent message is not visible in this limited view" + msgstr "Ylempi viesti ei ole näkyvissä tässä rajatussa näkymässä" + +-#: mx.c:387 ++#: mx.c:385 + #, c-format + msgid "Reading from %s interrupted..." + msgstr "Lukeminen kohteesta %s on keskeytetty..." + + #. L10N: Displayed if a mailbox sync fails +-#: mx.c:468 ++#: mx.c:469 + #, c-format + msgid "Unable to write %s" + msgstr "Ei voida kirjoittaa kohteeseen %s" + + #. L10N: Although we know the precise number of messages, we do not show it to the user. + #. So feel free to use a "generic plural" as plural translation if your language has one. +-#: mx.c:523 ++#: mx.c:525 + msgid "message not deleted" + msgid_plural "messages not deleted" + msgstr[0] "viestiä ei poistettu" +@@ -3631,69 +3708,69 @@ msgstr[1] "viestejä ei poistettu" + msgid "Can't open trash folder" + msgstr "Ei voitu avata roskahakemistoa" + +-#: mx.c:623 ++#: mx.c:627 + msgid "Mark all articles read?" + msgstr "Merkitäänkö kaikki artikkelit luetuiksi?" + + #. L10N: The first argument is the number of read messages to be + #. moved, the second argument is the target mailbox. +-#: mx.c:671 ++#: mx.c:675 + #, c-format + msgid "Move %d read message to %s?" + msgid_plural "Move %d read messages to %s?" + msgstr[0] "Siirretäänkö %d luettu viesti kohteeseen %s?" + msgstr[1] "Siirretäänkö %d luettua viestiä kohteeseen %s?" + +-#: mx.c:685 mx.c:917 ++#: mx.c:689 mx.c:936 + #, c-format + msgid "Purge %d deleted message?" + msgid_plural "Purge %d deleted messages?" + msgstr[0] "Poistetaanko %d poistettu viesti lopullisesti?" + msgstr[1] "Poistetaanko %d poistettua viesti lopullisesti?" + +-#: mx.c:708 ++#: mx.c:712 + #, c-format + msgid "Moving read messages to %s..." + msgstr "Siirretään luettuja viestejä kohteeseen %s..." + +-#: mx.c:774 mx.c:908 ++#: mx.c:783 mx.c:927 + msgid "Mailbox is unchanged" + msgstr "Postilaatikko ei muuttunut" + +-#: mx.c:827 ++#: mx.c:842 + #, c-format + msgid "%d kept, %d moved, %d deleted" + msgstr "%d tallella, %d siirretty, %d poistettu" + +-#: mx.c:831 mx.c:972 ++#: mx.c:846 mx.c:991 + #, c-format + msgid "%d kept, %d deleted" + msgstr "%d tallella, %d poistettu" + +-#: mx.c:892 ++#: mx.c:911 + #, c-format + msgid " Press '%s' to toggle write" + msgstr " %s vaihtaa kirjoitussuojausta" + +-#: mx.c:894 ++#: mx.c:913 + msgid "Use 'toggle-write' to re-enable write" + msgstr "Komento toggle-write palauttaa kirjoitussuojaamattoman tilan" + +-#: mx.c:896 ++#: mx.c:915 + #, c-format + msgid "Mailbox is marked unwritable. %s" + msgstr "Postilaatikko on merkitty kirjoitussuojatuksi. %s" + +-#: mx.c:966 ++#: mx.c:985 + msgid "Mailbox checkpointed" + msgstr "Postilaatikon tila on tallennettu" + +-#: ncrypt/crypt.c:93 ++#: ncrypt/crypt.c:91 + #, c-format + msgid " (current time: %c)" + msgstr " (aika nyt: %c)" + +-#: ncrypt/crypt.c:98 ++#: ncrypt/crypt.c:96 + #, c-format + msgid "[-- %s output follows%s --]\n" + msgstr "[-- %s tuloste seuraa%s --]\n" +@@ -3702,52 +3779,52 @@ msgstr "[-- %s tuloste seuraa%s --]\n" + #. by gpg-agent) we can't know whether we forgot zero, 1, 12, ... + #. passwords. So in English we use "Passphrases". Your language might + #. have other means to express this. +-#: ncrypt/crypt.c:119 ++#: ncrypt/crypt.c:117 + msgid "Passphrases forgotten" + msgstr "Salasanoja unohdettiin" + +-#: ncrypt/crypt.c:203 ++#: ncrypt/crypt.c:201 + msgid "Inline PGP can't be used with attachments. Revert to PGP/MIME?" + msgstr "Inline-PGP ei toimi liitteiden kanssa, käytetäänkö sittenkin PGP/MIMEä?" + +-#: ncrypt/crypt.c:207 ++#: ncrypt/crypt.c:205 + msgid "Mail not sent: inline PGP can't be used with attachments" + msgstr "Viestiä ei lähetetty: inline-PGP ei toimi liitteiden kanssa" + +-#: ncrypt/crypt.c:214 ++#: ncrypt/crypt.c:212 + msgid "Inline PGP can't be used with format=flowed. Revert to PGP/MIME?" + msgstr "Inline-PGP ei toimi tekstimuodossa format=flowed, käytetäänkö sittenkin PGP/MIMEä?" + +-#: ncrypt/crypt.c:218 ++#: ncrypt/crypt.c:216 + msgid "Mail not sent: inline PGP can't be used with format=flowed" + msgstr "Viestiä ei lähetetty: inline-PGP ei toimi tekstimuodossa format=flowed" + +-#: ncrypt/crypt.c:228 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:714 +-#: ncrypt/pgpkey.c:915 ++#: ncrypt/crypt.c:226 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:747 ++#: ncrypt/pgpkey.c:950 + msgid "Invoking PGP..." + msgstr "Kutsutaan PGP:tä..." + +-#: ncrypt/crypt.c:240 ++#: ncrypt/crypt.c:238 + msgid "Message can't be sent inline. Revert to using PGP/MIME?" + msgstr "Viestiä ei voi lähettää sisällytettynä, käytetäänkö sittenkin PGP/MIMEä?" + +-#: ncrypt/crypt.c:242 send.c:2430 ++#: ncrypt/crypt.c:240 send.c:2441 + msgid "Mail not sent" + msgstr "Viestiä ei lähetetty" + +-#: ncrypt/crypt.c:662 ++#: ncrypt/crypt.c:666 + msgid "S/MIME messages with no hints on content are unsupported" + msgstr "S/MIME-viestejä ilman sisältövihjeitä ei tueta" + +-#: ncrypt/crypt.c:888 ++#: ncrypt/crypt.c:892 + msgid "Trying to extract PGP keys...\n" + msgstr "Yritetään hakea PGP-avaimia...\n" + +-#: ncrypt/crypt.c:917 ++#: ncrypt/crypt.c:921 + msgid "Trying to extract S/MIME certificates..." + msgstr "Yritetäään hakea S/MIME-sertifikaatteja..." + +-#: ncrypt/crypt.c:1140 ++#: ncrypt/crypt.c:1144 + #, c-format + msgid "" + "[-- Error: Unknown multipart/signed protocol %s --]\n" +@@ -3756,7 +3833,7 @@ msgstr "" + "[-- Virhe: Tuntematon multipart/signed-protokolla %s --]\n" + "\n" + +-#: ncrypt/crypt.c:1180 ++#: ncrypt/crypt.c:1184 + msgid "" + "[-- Error: Missing or bad-format multipart/signed signature --]\n" + "\n" +@@ -3764,7 +3841,7 @@ msgstr "" + "[-- Virhe: Puuttuva tai viallinen multipart/signed-allekirjoitus --]\n" + "\n" + +-#: ncrypt/crypt.c:1222 ++#: ncrypt/crypt.c:1226 + #, c-format + msgid "" + "[-- Warning: We can't verify %s/%s signatures. --]\n" +@@ -3773,7 +3850,7 @@ msgstr "" + "[-- Varoitus: Ei voitu tarkistaa %s/%s allekirjoitusta. --]\n" + "\n" + +-#: ncrypt/crypt.c:1235 ++#: ncrypt/crypt.c:1239 + msgid "" + "[-- The following data is signed --]\n" + "\n" +@@ -3781,7 +3858,7 @@ msgstr "" + "[-- Seuraava data on allekirjoitettu --]\n" + "\n" + +-#: ncrypt/crypt.c:1243 ++#: ncrypt/crypt.c:1248 + msgid "" + "[-- Warning: Can't find any signatures. --]\n" + "\n" +@@ -3789,7 +3866,7 @@ msgstr "" + "[-- Varoitus: Ei löydetty allekirjoituksia. --]\n" + "\n" + +-#: ncrypt/crypt.c:1249 ++#: ncrypt/crypt.c:1255 + msgid "" + "\n" + "[-- End of signed data --]\n" +@@ -3808,229 +3885,229 @@ msgstr "Kutsutaan S/MIMEä..." + #. L10N: The following are the headers for the "verify key" output from the + #. GPGME key selection menu (bound to "c" in the key selection menu). + #. They will be automatically aligned. +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Name: " + msgstr "Nimi: " + +-#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1869 ncrypt/crypt_gpgme.c:1874 ++#: ncrypt/crypt_gpgme.c:183 ncrypt/crypt_gpgme.c:1900 ncrypt/crypt_gpgme.c:1905 + msgid "aka: " + msgstr "alias: " + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Valid From: " + msgstr "Voimassa lähtien:" + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Valid To: " + msgstr "Voimassa saakka:" + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Key Type: " + msgstr "Avaintyyppi: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Key Usage: " + msgstr "Avaimen käyttö: " + +-#: ncrypt/crypt_gpgme.c:185 ncrypt/crypt_gpgme.c:1759 ++#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1790 + msgid "Fingerprint: " + msgstr "Sormenjälki: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Serial-No: " + msgstr "Sarjanumero: " + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + msgid "Issued By: " + msgstr "Myöntäjä: " + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + msgid "Subkey: " + msgstr "Aliavain: " + +-#: ncrypt/crypt_gpgme.c:783 ++#: ncrypt/crypt_gpgme.c:782 + #, c-format + msgid "error enabling CMS protocol: %s" + msgstr "virhe CMS-protokollan käyttöönotossa: %s" + +-#: ncrypt/crypt_gpgme.c:806 ++#: ncrypt/crypt_gpgme.c:805 + #, c-format + msgid "error creating gpgme data object: %s" + msgstr "virhe gpgpme-dataobjektin luonnissa: %s" + +-#: ncrypt/crypt_gpgme.c:907 ncrypt/crypt_gpgme.c:934 ncrypt/crypt_gpgme.c:2057 +-#: ncrypt/crypt_gpgme.c:2814 ++#: ncrypt/crypt_gpgme.c:906 ncrypt/crypt_gpgme.c:933 ncrypt/crypt_gpgme.c:2096 ++#: ncrypt/crypt_gpgme.c:2853 + #, c-format + msgid "error allocating data object: %s" + msgstr "virhe data-objektin allokoinnissa: %s" + +-#: ncrypt/crypt_gpgme.c:956 ++#: ncrypt/crypt_gpgme.c:955 + #, c-format + msgid "error rewinding data object: %s" + msgstr "virhe data-objektin takaisinkelauksessa: %s" + +-#: ncrypt/crypt_gpgme.c:972 ++#: ncrypt/crypt_gpgme.c:971 + msgid "[tempfile]" + msgstr "[väliaikaistiedosto]" + +-#: ncrypt/crypt_gpgme.c:978 ncrypt/crypt_gpgme.c:1032 ++#: ncrypt/crypt_gpgme.c:977 ncrypt/crypt_gpgme.c:1031 + #, c-format + msgid "error reading data object: %s" + msgstr "virhe data-objketin lukemisessa: %s" + +-#: ncrypt/crypt_gpgme.c:1149 ++#: ncrypt/crypt_gpgme.c:1148 + #, fuzzy, c-format + msgid "error adding recipient '%s': %s" + msgstr "virhe vastaanottajan %s lisäyksessä: %s" + +-#: ncrypt/crypt_gpgme.c:1202 ++#: ncrypt/crypt_gpgme.c:1186 + #, c-format + msgid "secret key '%s' not found: %s" + msgstr "salaista avainta %s ei löydetty: %s" + +-#: ncrypt/crypt_gpgme.c:1218 ++#: ncrypt/crypt_gpgme.c:1203 + #, fuzzy, c-format + msgid "ambiguous specification of secret key '%s'\n" + msgstr "salaisen avaimen määritys %s täsmää moneen" + +-#: ncrypt/crypt_gpgme.c:1234 ++#: ncrypt/crypt_gpgme.c:1219 + #, c-format + msgid "error setting secret key '%s': %s" + msgstr "virhe salaisen avaimen %s asettamisessa: %s" + +-#: ncrypt/crypt_gpgme.c:1250 ++#: ncrypt/crypt_gpgme.c:1278 + #, c-format + msgid "error setting PKA signature notation: %s" + msgstr "virhe asetettaessa PKA-allekirjoitusnotaatiota: %s" + +-#: ncrypt/crypt_gpgme.c:1324 ++#: ncrypt/crypt_gpgme.c:1353 + #, c-format + msgid "error encrypting data: %s" + msgstr "virhe salatessa dataa: %s" + +-#: ncrypt/crypt_gpgme.c:1453 ++#: ncrypt/crypt_gpgme.c:1483 + #, c-format + msgid "error signing data: %s" + msgstr "virhe allekirjoittaessa dataa: %s" + +-#: ncrypt/crypt_gpgme.c:1463 ++#: ncrypt/crypt_gpgme.c:1493 + msgid "$pgp_sign_as unset and no default key specified in ~/.gnupg/gpg.conf" + msgstr "$pgp_sign_as on asettamatta eikä oletusavainta ole määritelty tiedostossa ̃~/.gnupg/gpg.conf" + +-#: ncrypt/crypt_gpgme.c:1641 ++#: ncrypt/crypt_gpgme.c:1672 + msgid "Warning: One of the keys has been revoked\n" + msgstr "Varoitus: Yksi avaimista on poistettu käytöstä\n" + +-#: ncrypt/crypt_gpgme.c:1651 ++#: ncrypt/crypt_gpgme.c:1682 + msgid "Warning: The key used to create the signature expired at: " + msgstr "Varoitus: Avain jolla allekirjoitus on luotu vanheni: " + +-#: ncrypt/crypt_gpgme.c:1657 ++#: ncrypt/crypt_gpgme.c:1688 + msgid "Warning: At least one certification key has expired\n" + msgstr "Varoitus: Ainakin yksi avain on vanhennut\n" + +-#: ncrypt/crypt_gpgme.c:1671 ++#: ncrypt/crypt_gpgme.c:1702 + msgid "Warning: The signature expired at: " + msgstr "Varoitus: allekirjoitus vanheni:" + +-#: ncrypt/crypt_gpgme.c:1678 ++#: ncrypt/crypt_gpgme.c:1709 + msgid "Can't verify due to a missing key or certificate\n" + msgstr "Ei voida varmistaa puuttuvan avaimen tai sertifikaatin takia\n" + +-#: ncrypt/crypt_gpgme.c:1683 ++#: ncrypt/crypt_gpgme.c:1714 + msgid "The CRL is not available\n" + msgstr "CRL puuttuu\n" + +-#: ncrypt/crypt_gpgme.c:1689 ++#: ncrypt/crypt_gpgme.c:1720 + msgid "Available CRL is too old\n" + msgstr "CRL on liian vanha\n" + +-#: ncrypt/crypt_gpgme.c:1694 ++#: ncrypt/crypt_gpgme.c:1725 + msgid "A policy requirement was not met\n" + msgstr "Käytäntövaatimusta ei saavutettu\n" + +-#: ncrypt/crypt_gpgme.c:1703 ++#: ncrypt/crypt_gpgme.c:1734 + msgid "A system error occurred" + msgstr "Järjestelmävirhe" + +-#: ncrypt/crypt_gpgme.c:1734 ++#: ncrypt/crypt_gpgme.c:1765 + msgid "WARNING: PKA entry does not match signer's address: " + msgstr "Varoitus: PKA-tietue ei täsmää allekirjoittajan osoitteeseen: " + +-#: ncrypt/crypt_gpgme.c:1740 ++#: ncrypt/crypt_gpgme.c:1771 + msgid "PKA verified signer's address is: " + msgstr "PKA-varmistettu allekirjoitusosoite on: " + +-#: ncrypt/crypt_gpgme.c:1822 ++#: ncrypt/crypt_gpgme.c:1853 + msgid "WARNING: We have NO indication whether the key belongs to the person named as shown above\n" + msgstr "Varoitus: Ei ole tiedossa kuuluuko avain yllä mainitulle henkilölle\n" + +-#: ncrypt/crypt_gpgme.c:1829 ++#: ncrypt/crypt_gpgme.c:1860 + msgid "WARNING: The key does NOT BELONG to the person named as shown above\n" + msgstr "Varoitus: Avain ei varmasti kuulu yllä mainitulle henkilölle\n" + +-#: ncrypt/crypt_gpgme.c:1833 ++#: ncrypt/crypt_gpgme.c:1864 + msgid "WARNING: It is NOT certain that the key belongs to the person named as shown above\n" + msgstr "Varoitus: Ei ole varmaa kuuluuko avain yllämainitulle henkilölle\n" + +-#: ncrypt/crypt_gpgme.c:1886 ++#: ncrypt/crypt_gpgme.c:1917 + msgid "KeyID " + msgstr "avain-ID " + + #. L10N: You will see this message in place of "KeyID " + #. if the S/MIME key has no ID. This is quite an error. +-#: ncrypt/crypt_gpgme.c:1893 ++#: ncrypt/crypt_gpgme.c:1924 + msgid "no signature fingerprint available" + msgstr "ei sormenjälkeä allekirjoitukselle" + +-#: ncrypt/crypt_gpgme.c:1902 ncrypt/crypt_gpgme.c:1907 ++#: ncrypt/crypt_gpgme.c:1933 ncrypt/crypt_gpgme.c:1938 + msgid "created: " + msgstr "luotu: " + +-#: ncrypt/crypt_gpgme.c:1981 ++#: ncrypt/crypt_gpgme.c:2012 + #, c-format + msgid "Error getting key information for KeyID %s: %s\n" + msgstr "Virhe haettaessa avaimen tietoja avaimelle %s: %s\n" + +-#: ncrypt/crypt_gpgme.c:1988 ncrypt/crypt_gpgme.c:2003 ++#: ncrypt/crypt_gpgme.c:2019 ncrypt/crypt_gpgme.c:2034 + msgid "Good signature from:" + msgstr "Hyvä allekirjoitus käyttäjälle:" + +-#: ncrypt/crypt_gpgme.c:1995 ++#: ncrypt/crypt_gpgme.c:2026 + msgid "*BAD* signature from:" + msgstr "HUONO allekirjoitus käyttäjälle:" + +-#: ncrypt/crypt_gpgme.c:2011 ++#: ncrypt/crypt_gpgme.c:2042 + msgid "Problem signature from:" + msgstr "Ongelmallinen allekirjoitus käyttäjälle:" + + #. L10N: This is trying to match the width of the + #. "Problem signature from:" translation just above. +-#: ncrypt/crypt_gpgme.c:2017 ++#: ncrypt/crypt_gpgme.c:2048 + msgid " expires: " + msgstr " vanhenee:" + +-#: ncrypt/crypt_gpgme.c:2064 ncrypt/crypt_gpgme.c:2294 +-#: ncrypt/crypt_gpgme.c:3081 ++#: ncrypt/crypt_gpgme.c:2103 ncrypt/crypt_gpgme.c:2333 ++#: ncrypt/crypt_gpgme.c:3124 + msgid "[-- Begin signature information --]\n" + msgstr "[-- Allekirjoituksen tiedot --]\n" + +-#: ncrypt/crypt_gpgme.c:2075 ++#: ncrypt/crypt_gpgme.c:2114 + #, c-format + msgid "Error: verification failed: %s\n" + msgstr "Virhe: varmennus epäonnistui: %s\n" + +-#: ncrypt/crypt_gpgme.c:2126 ++#: ncrypt/crypt_gpgme.c:2165 + #, c-format + msgid "*** Begin Notation (signature by: %s) ***\n" + msgstr "*** Notaation alku (allekirjoittaja: %s) ***\n" + +-#: ncrypt/crypt_gpgme.c:2145 ++#: ncrypt/crypt_gpgme.c:2184 + msgid "*** End Notation ***\n" + msgstr "*** Notaation loppu ***\n" + +-#: ncrypt/crypt_gpgme.c:2153 ncrypt/crypt_gpgme.c:2308 +-#: ncrypt/crypt_gpgme.c:3091 ++#: ncrypt/crypt_gpgme.c:2192 ncrypt/crypt_gpgme.c:2347 ++#: ncrypt/crypt_gpgme.c:3134 + msgid "" + "[-- End signature information --]\n" + "\n" +@@ -4038,7 +4115,7 @@ msgstr "" + "[-- Allekirjoitustietojen loppu --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:2268 ++#: ncrypt/crypt_gpgme.c:2307 + #, c-format + msgid "" + "[-- Error: decryption failed: %s --]\n" +@@ -4047,21 +4124,26 @@ msgstr "" + "[-- Virhe: purku ei onnistunut: %s --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:2821 ++#: ncrypt/crypt_gpgme.c:2860 + #, fuzzy, c-format + msgid "Error importing key: %s" + msgstr "Virhe avainta vietäessä: %s" + +-#: ncrypt/crypt_gpgme.c:3059 ++#: ncrypt/crypt_gpgme.c:3098 + #, c-format + msgid "Error: decryption/verification failed: %s\n" + msgstr "Virhe: purku tai varmistus ei onnistunut: %s\n" + +-#: ncrypt/crypt_gpgme.c:3103 ++#: ncrypt/crypt_gpgme.c:3105 ncrypt/crypt_gpgme.c:3302 ncrypt/pgp.c:726 ++#: ncrypt/pgp.c:1273 ++msgid "PGP message successfully decrypted" ++msgstr "PGP-viesti purettiin" ++ ++#: ncrypt/crypt_gpgme.c:3146 + msgid "Error: copy data failed\n" + msgstr "Virhe: datan kopiointi ei onnistunut\n" + +-#: ncrypt/crypt_gpgme.c:3116 ncrypt/pgp.c:675 ++#: ncrypt/crypt_gpgme.c:3159 ncrypt/pgp.c:674 + msgid "" + "[-- BEGIN PGP MESSAGE --]\n" + "\n" +@@ -4069,11 +4151,11 @@ msgstr "" + "[-- PGP-VIESTIN ALKU --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3118 ncrypt/pgp.c:677 ++#: ncrypt/crypt_gpgme.c:3161 ncrypt/pgp.c:676 + msgid "[-- BEGIN PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- JULKISEN PGP-AVAIMEN ALKU --]\n" + +-#: ncrypt/crypt_gpgme.c:3120 ncrypt/pgp.c:679 ++#: ncrypt/crypt_gpgme.c:3163 ncrypt/pgp.c:678 + msgid "" + "[-- BEGIN PGP SIGNED MESSAGE --]\n" + "\n" +@@ -4081,19 +4163,19 @@ msgstr "" + "[-- PGP-ALLEKIRJOITETUN VIESTIN ALKU --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3145 ncrypt/pgp.c:716 ++#: ncrypt/crypt_gpgme.c:3188 ncrypt/pgp.c:715 + msgid "[-- END PGP MESSAGE --]\n" + msgstr "[-- PGP-VIESTIN LOPPU --]\n" + +-#: ncrypt/crypt_gpgme.c:3147 ncrypt/pgp.c:730 ++#: ncrypt/crypt_gpgme.c:3190 ncrypt/pgp.c:729 + msgid "[-- END PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- JULKISEN PGP-AVAIMEN LOPPU --]\n" + +-#: ncrypt/crypt_gpgme.c:3149 ncrypt/pgp.c:732 ++#: ncrypt/crypt_gpgme.c:3192 ncrypt/pgp.c:731 + msgid "[-- END PGP SIGNED MESSAGE --]\n" + msgstr "[-- PGP-ALLEKIRJOITETUN VIESTIN LOPPU --]\n" + +-#: ncrypt/crypt_gpgme.c:3170 ncrypt/pgp.c:765 ++#: ncrypt/crypt_gpgme.c:3213 ncrypt/pgp.c:764 + msgid "" + "[-- Error: could not find beginning of PGP message --]\n" + "\n" +@@ -4101,11 +4183,11 @@ msgstr "" + "[-- Virhe: PGP-viestin alkua ei löydy --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3198 ncrypt/crypt_gpgme.c:3296 ncrypt/pgp.c:1218 ++#: ncrypt/crypt_gpgme.c:3241 ncrypt/crypt_gpgme.c:3339 ncrypt/pgp.c:1218 + msgid "[-- Error: could not create temporary file --]\n" + msgstr "[-- Virhe: ei voitu luoda väliaikaistiedostoa --]\n" + +-#: ncrypt/crypt_gpgme.c:3212 ++#: ncrypt/crypt_gpgme.c:3255 + msgid "" + "[-- The following data is PGP/MIME signed and encrypted --]\n" + "\n" +@@ -4113,7 +4195,7 @@ msgstr "" + "[-- Seuraava data on PGP/MIME-allekirjoitettu ja salattu --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3214 ncrypt/pgp.c:1231 ++#: ncrypt/crypt_gpgme.c:3257 ncrypt/pgp.c:1232 + msgid "" + "[-- The following data is PGP/MIME encrypted --]\n" + "\n" +@@ -4121,24 +4203,20 @@ msgstr "" + "[-- Seuraava data on PGP/MIME-salattu --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3254 ++#: ncrypt/crypt_gpgme.c:3297 + msgid "[-- End of PGP/MIME signed and encrypted data --]\n" + msgstr "[-- PGP/MIME-allekirjoitetun ja salatun datan loppu --]\n" + +-#: ncrypt/crypt_gpgme.c:3255 ncrypt/pgp.c:1267 ++#: ncrypt/crypt_gpgme.c:3298 ncrypt/pgp.c:1268 + msgid "[-- End of PGP/MIME encrypted data --]\n" + msgstr "[-- PGP/MIME-salatun datan loppu --]\n" + +-#: ncrypt/crypt_gpgme.c:3259 ncrypt/pgp.c:727 ncrypt/pgp.c:1272 +-msgid "PGP message successfully decrypted" +-msgstr "PGP-viesti purettiin" +- +-#: ncrypt/crypt_gpgme.c:3265 ncrypt/pgp.c:666 ncrypt/pgp.c:718 +-#: ncrypt/pgp.c:1276 ++#: ncrypt/crypt_gpgme.c:3308 ncrypt/pgp.c:665 ncrypt/pgp.c:717 ++#: ncrypt/pgp.c:1277 + msgid "Could not decrypt PGP message" + msgstr "Ei voitu purkaa PGP-viestiä" + +-#: ncrypt/crypt_gpgme.c:3310 ++#: ncrypt/crypt_gpgme.c:3353 + msgid "" + "[-- The following data is S/MIME signed --]\n" + "\n" +@@ -4146,7 +4224,7 @@ msgstr "" + "[-- Seuraava data on S/MIME-allekirjoitettu --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3311 ++#: ncrypt/crypt_gpgme.c:3354 + msgid "" + "[-- The following data is S/MIME encrypted --]\n" + "\n" +@@ -4154,34 +4232,34 @@ msgstr "" + "[-- Seuraava data on S/MIME-salattu --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3358 ++#: ncrypt/crypt_gpgme.c:3401 + msgid "[-- End of S/MIME signed data --]\n" + msgstr "[-- S/MIME-allekirjoitetun datn loppu --]\n" + +-#: ncrypt/crypt_gpgme.c:3359 ++#: ncrypt/crypt_gpgme.c:3402 + msgid "[-- End of S/MIME encrypted data --]\n" + msgstr "[-- S/MIME-salatun datan loppu --]\n" + +-#: ncrypt/crypt_gpgme.c:4029 ++#: ncrypt/crypt_gpgme.c:4077 + msgid "[Can't display this user ID (unknown encoding)]" + msgstr "[Ei voida näyttää käyttäjätunnusta (tuntematon koodaus)]" + +-#: ncrypt/crypt_gpgme.c:4031 ++#: ncrypt/crypt_gpgme.c:4079 + msgid "[Can't display this user ID (invalid encoding)]" + msgstr "[Ei voida näyttää käyttäjätunnusta (huono koodaus)]" + +-#: ncrypt/crypt_gpgme.c:4036 ++#: ncrypt/crypt_gpgme.c:4084 + msgid "[Can't display this user ID (invalid DN)]" + msgstr "[Ei voida näyttää käyttäjätunnusta (huono domain)]" + + #. L10N: comes after the Name or aka if the key is invalid + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4150 ncrypt/crypt_gpgme.c:4291 ++#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4339 + msgid "[Invalid]" + msgstr "[Kelvoton]" + + #. L10N: This is printed after "Key Type: " and looks like this: PGP, 2048 bit RSA +-#: ncrypt/crypt_gpgme.c:4190 ncrypt/crypt_gpgme.c:4331 ++#: ncrypt/crypt_gpgme.c:4238 ncrypt/crypt_gpgme.c:4379 + #, c-format + msgid "%s, %lu bit %s\n" + msgid_plural "%s, %lu bit %s\n" +@@ -4189,94 +4267,94 @@ msgstr[0] "%s, %lu-bittinen %s\n" + msgstr[1] "%s, %lu-bittinen %s\n" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4338 ++#: ncrypt/crypt_gpgme.c:4246 ncrypt/crypt_gpgme.c:4386 + msgid "encryption" + msgstr "salaus" + +-#: ncrypt/crypt_gpgme.c:4199 ncrypt/crypt_gpgme.c:4205 +-#: ncrypt/crypt_gpgme.c:4339 ncrypt/crypt_gpgme.c:4344 ++#: ncrypt/crypt_gpgme.c:4247 ncrypt/crypt_gpgme.c:4253 ++#: ncrypt/crypt_gpgme.c:4387 ncrypt/crypt_gpgme.c:4392 + msgid ", " + msgstr ", " + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4204 ncrypt/crypt_gpgme.c:4343 ++#: ncrypt/crypt_gpgme.c:4252 ncrypt/crypt_gpgme.c:4391 + msgid "signing" + msgstr "allekirjotus" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4210 ncrypt/crypt_gpgme.c:4348 ++#: ncrypt/crypt_gpgme.c:4258 ncrypt/crypt_gpgme.c:4396 + msgid "certification" + msgstr "sertifikaation" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4285 ++#: ncrypt/crypt_gpgme.c:4333 + msgid "[Revoked]" + msgstr "[Käytöstä poistettu]" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4297 ++#: ncrypt/crypt_gpgme.c:4345 + msgid "[Expired]" + msgstr "[Vanhentunut]" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4303 ++#: ncrypt/crypt_gpgme.c:4351 + msgid "[Disabled]" + msgstr "[Ei käytössä]" + +-#: ncrypt/crypt_gpgme.c:4376 ++#: ncrypt/crypt_gpgme.c:4424 + msgid "Collecting data..." + msgstr "Haetaan dataa..." + +-#: ncrypt/crypt_gpgme.c:4394 ++#: ncrypt/crypt_gpgme.c:4442 + #, c-format + msgid "Error finding issuer key: %s\n" + msgstr "Ei löytynyt myöntäjän avainta: %s\n" + +-#: ncrypt/crypt_gpgme.c:4403 ++#: ncrypt/crypt_gpgme.c:4451 + msgid "Error: certification chain too long - stopping here\n" + msgstr "Virhe: ylipitkä sertifikaattiketju, lopetettiin tähän\n" + +-#: ncrypt/crypt_gpgme.c:4413 ncrypt/pgpkey.c:733 ++#: ncrypt/crypt_gpgme.c:4461 ncrypt/pgpkey.c:766 + #, c-format + msgid "Key ID: 0x%s" + msgstr "Avaimen ID: 0x%s" + +-#: ncrypt/crypt_gpgme.c:4538 ncrypt/crypt_gpgme.c:4589 ++#: ncrypt/crypt_gpgme.c:4586 ncrypt/crypt_gpgme.c:4637 + #, c-format + msgid "gpgme_op_keylist_start failed: %s" + msgstr "gpgme_op_keylist_stasrt-virhe: %s" + +-#: ncrypt/crypt_gpgme.c:4577 ncrypt/crypt_gpgme.c:4619 +-#: ncrypt/crypt_gpgme.c:5355 ++#: ncrypt/crypt_gpgme.c:4625 ncrypt/crypt_gpgme.c:4667 ++#: ncrypt/crypt_gpgme.c:5435 + #, c-format + msgid "gpgme_op_keylist_next failed: %s" + msgstr "gpgme_op_keylist_next-virhe: %s" + +-#: ncrypt/crypt_gpgme.c:4701 ++#: ncrypt/crypt_gpgme.c:4749 + msgid "All matching keys are marked expired/revoked" + msgstr "Kaikki täsmäävät avaimet on merkitty vanhenneiksi tai käytöstä poistetuiksi" + +-#: ncrypt/crypt_gpgme.c:4731 ncrypt/pgpkey.c:666 ncrypt/smime.c:551 ++#: ncrypt/crypt_gpgme.c:4779 ncrypt/pgpkey.c:669 ncrypt/smime.c:553 + msgid "Select " + msgstr "Valitse " + +-#: ncrypt/crypt_gpgme.c:4733 ncrypt/pgpkey.c:668 ++#: ncrypt/crypt_gpgme.c:4781 ncrypt/pgpkey.c:671 + msgid "Check key " + msgstr "Tarkasta avain " + +-#: ncrypt/crypt_gpgme.c:4749 ++#: ncrypt/crypt_gpgme.c:4827 + msgid "PGP and S/MIME keys matching" + msgstr "PGP ja S/MIME täsmäävät" + +-#: ncrypt/crypt_gpgme.c:4751 ++#: ncrypt/crypt_gpgme.c:4829 + msgid "PGP keys matching" + msgstr "PGP-avaimet täsmäävät" + +-#: ncrypt/crypt_gpgme.c:4753 ++#: ncrypt/crypt_gpgme.c:4831 + msgid "S/MIME keys matching" + msgstr "S/MIME-avaimet täsmäävät" + +-#: ncrypt/crypt_gpgme.c:4755 ++#: ncrypt/crypt_gpgme.c:4833 + msgid "keys matching" + msgstr "avaimet täsmäävät" + +@@ -4284,55 +4362,55 @@ msgstr "avaimet täsmäävät" + #. %1$s is one of the previous four entries. + #. %2$s is an address. + #. e.g. "S/MIME keys matching " +-#: ncrypt/crypt_gpgme.c:4763 ++#: ncrypt/crypt_gpgme.c:4841 + #, c-format + msgid "%s <%s>" + msgstr "%s <%s>" + + #. L10N: e.g. 'S/MIME keys matching "Michael Elkins".' +-#: ncrypt/crypt_gpgme.c:4768 ++#: ncrypt/crypt_gpgme.c:4846 + #, c-format + msgid "%s \"%s\"" + msgstr "%s ”%s”" + +-#: ncrypt/crypt_gpgme.c:4796 ncrypt/pgpkey.c:754 ++#: ncrypt/crypt_gpgme.c:4874 ncrypt/pgpkey.c:787 + msgid "This key can't be used: expired/disabled/revoked" + msgstr "Tätä avainta ei voi käyttää, koska se on vanhentunut/pois käytöstä/poistettu käytöstä" + +-#: ncrypt/crypt_gpgme.c:4810 ncrypt/pgpkey.c:767 ncrypt/smime.c:581 ++#: ncrypt/crypt_gpgme.c:4888 ncrypt/pgpkey.c:800 ncrypt/smime.c:613 + msgid "ID is expired/disabled/revoked. Do you really want to use the key?" + msgstr "ID on vanhentunut/pois käytöstä/poistettu käytöstä, käytetäänkö siitä huolimatta?" + +-#: ncrypt/crypt_gpgme.c:4820 ncrypt/pgpkey.c:779 ++#: ncrypt/crypt_gpgme.c:4898 ncrypt/pgpkey.c:812 + msgid "ID is not valid. Do you really want to use the key?" + msgstr "ID ei ole toimiva, käytetäänkö siitä huolimatta?" + +-#: ncrypt/crypt_gpgme.c:4823 ncrypt/pgpkey.c:782 ++#: ncrypt/crypt_gpgme.c:4901 ncrypt/pgpkey.c:815 + msgid "ID is only marginally valid. Do you really want to use the key?" + msgstr "ID on rajallisesti toimiva, käytetäänkö siitä huolimatta?" + +-#: ncrypt/crypt_gpgme.c:4831 ncrypt/pgpkey.c:775 ncrypt/smime.c:585 ++#: ncrypt/crypt_gpgme.c:4909 ncrypt/pgpkey.c:808 ncrypt/smime.c:617 + msgid "ID has undefined validity. Do you really want to use the key?" + msgstr "ID:n toimivuutta ei tiedetä, käytetäänkö siitä huolimatta?" + +-#: ncrypt/crypt_gpgme.c:4911 ncrypt/crypt_gpgme.c:5024 ncrypt/pgpkey.c:1019 +-#: ncrypt/pgpkey.c:1146 ++#: ncrypt/crypt_gpgme.c:4991 ncrypt/crypt_gpgme.c:5104 ncrypt/pgpkey.c:1054 ++#: ncrypt/pgpkey.c:1181 + #, c-format + msgid "Looking for keys matching \"%s\"..." + msgstr "Etsitään täsmääviä avaimia %s..." + +-#: ncrypt/crypt_gpgme.c:5140 ncrypt/pgpkey.c:870 ncrypt/smime.c:924 ++#: ncrypt/crypt_gpgme.c:5220 ncrypt/pgpkey.c:905 ncrypt/smime.c:958 + #, c-format + msgid "No matching keys found for \"%s\"" + msgstr "Ei täsmääviä avaimia kohteelle \"%s\"" + +-#: ncrypt/crypt_gpgme.c:5190 ncrypt/pgp.c:1456 ++#: ncrypt/crypt_gpgme.c:5270 ncrypt/pgp.c:1457 + #, c-format + msgid "Use keyID = \"%s\" for %s?" + msgstr "Käytetäänkö avainta keyID = ”%s” kohteelle %s?" + +-#: ncrypt/crypt_gpgme.c:5238 ncrypt/pgp.c:1505 ncrypt/smime.c:944 +-#: ncrypt/smime.c:1049 ++#: ncrypt/crypt_gpgme.c:5318 ncrypt/pgp.c:1506 ncrypt/smime.c:978 ++#: ncrypt/smime.c:1083 + #, c-format + msgid "Enter keyID for %s: " + msgstr "Anna keyID kohteelle %s: " +@@ -4341,16 +4419,16 @@ msgstr "Anna keyID kohteelle %s: " + #. mutt_gpgme_select_secret_key() tries to list all secret keys to choose + #. from. This error is displayed if no results were found. + #. +-#: ncrypt/crypt_gpgme.c:5364 ++#: ncrypt/crypt_gpgme.c:5444 + #, fuzzy + msgid "No secret keys found" + msgstr "salaista avainta %s ei löydetty: %s" + +-#: ncrypt/crypt_gpgme.c:5398 ncrypt/pgpkey.c:888 ++#: ncrypt/crypt_gpgme.c:5478 ncrypt/pgpkey.c:923 + msgid "Please enter the key ID: " + msgstr "Anna avaimen tunnus: " + +-#: ncrypt/crypt_gpgme.c:5411 ++#: ncrypt/crypt_gpgme.c:5491 + #, c-format + msgid "Error exporting key: %s" + msgstr "Virhe avainta vietäessä: %s" +@@ -4358,92 +4436,92 @@ msgstr "Virhe avainta vietäessä: %s" + #. 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. +-#: ncrypt/crypt_gpgme.c:5429 ++#: ncrypt/crypt_gpgme.c:5509 + #, c-format + msgid "PGP Key 0x%s" + msgstr "PGP-avain 0x%s" + +-#: ncrypt/crypt_gpgme.c:5474 ++#: ncrypt/crypt_gpgme.c:5554 + msgid "GPGME: OpenPGP protocol not available" + msgstr "GPGME: OpenPGP-protokolla puuttuu" + +-#: ncrypt/crypt_gpgme.c:5485 ++#: ncrypt/crypt_gpgme.c:5565 + msgid "GPGME: CMS protocol not available" + msgstr "GPGME: CMS-protokolla puuttuu" + +-#: ncrypt/crypt_gpgme.c:5536 ++#: ncrypt/crypt_gpgme.c:5616 + msgid "S/MIME (s)ign, sign (a)s, (p)gp, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME-(a)llekirjoita, -allekirjoita (n)imellä, (p)gp, (t)yhjennä tai poista (o)ppenc käytöstä?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5538 ++#: ncrypt/crypt_gpgme.c:5618 + msgid "sapco" + msgstr "anpto" + +-#: ncrypt/crypt_gpgme.c:5545 ++#: ncrypt/crypt_gpgme.c:5625 + msgid "PGP (s)ign, sign (a)s, s/(m)ime, (c)lear, or (o)ppenc mode off?" + msgstr "PGP-(a)llekirjoita, -allekirjoita (n)imellä, (s)/mime, (t)yhjennä tai poista (o)ppenc käytöstä?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5547 ++#: ncrypt/crypt_gpgme.c:5627 + msgid "samco" + msgstr "ansto" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5557 ++#: ncrypt/crypt_gpgme.c:5637 + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME-sa(l)aa, -(a)llekirjoita, allekirjoita (n)imellä, (m)olemmat, (p)gp, (t)yhjennä, tai poista (o)ppenc käytöstä?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5560 ++#: ncrypt/crypt_gpgme.c:5640 + msgid "esabpco" + msgstr "lanmpto" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5566 ++#: ncrypt/crypt_gpgme.c:5646 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime, (c)lear, or (o)ppenc mode?" + msgstr "PGP-sa(l)aa, -(a)llekirjoita, allekirjoita (n)imellä, (m)olemmat, (s)/mime, (t)yhennä, tai poista (o)ppenc käytöstä?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5569 ++#: ncrypt/crypt_gpgme.c:5649 + msgid "esabmco" + msgstr "lanmsto" + +-#: ncrypt/crypt_gpgme.c:5580 ++#: ncrypt/crypt_gpgme.c:5660 + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp or (c)lear?" + msgstr "S/MIME-sa(l)aa, -(a)llekirjoita, allekirjoita (n)imellä, (m)olemmat, (p)gp, (t)yhjennä, tai poista (o)ppenc käytöstä?" + + #. L10N: S/MIME options +-#: ncrypt/crypt_gpgme.c:5582 ++#: ncrypt/crypt_gpgme.c:5662 + msgid "esabpc" + msgstr "lanmpto" + +-#: ncrypt/crypt_gpgme.c:5589 ++#: ncrypt/crypt_gpgme.c:5669 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime or (c)lear?" + msgstr "PGP-sa(l)aa, -(a)llekirjoita, -allekirjoita (n)imellä, (m)olemmat, (s)/mime, tai (t)yhjennä?" + + #. L10N: PGP options +-#: ncrypt/crypt_gpgme.c:5591 ++#: ncrypt/crypt_gpgme.c:5671 + msgid "esabmc" + msgstr "lanmst" + +-#: ncrypt/crypt_gpgme.c:5751 ++#: ncrypt/crypt_gpgme.c:5831 + msgid "Failed to verify sender" + msgstr "Ei voitu varmistaa lähettäjää" + +-#: ncrypt/crypt_gpgme.c:5754 ++#: ncrypt/crypt_gpgme.c:5834 + msgid "Failed to figure out sender" + msgstr "Ei voitu selvittää lähettäjää" + +-#: ncrypt/pgp.c:108 ++#: ncrypt/pgp.c:107 + msgid "Enter PGP passphrase:" + msgstr "PGP-salasana:" + +-#: ncrypt/pgp.c:595 ++#: ncrypt/pgp.c:594 + msgid "[-- Error: unable to create PGP subprocess --]\n" + msgstr "[-- Virhe: ei voitu luoda PGP-aliprosessia --]\n" + +-#: ncrypt/pgp.c:644 ncrypt/pgp.c:926 ncrypt/pgp.c:1086 ++#: ncrypt/pgp.c:643 ncrypt/pgp.c:925 ncrypt/pgp.c:1085 + msgid "" + "[-- End of PGP output --]\n" + "\n" +@@ -4454,16 +4532,16 @@ msgstr "" + #. L10N: You will see this error message if (1) you are decrypting + #. (not encrypting) something and (2) it is a plaintext. So the + #. message does not mean "You failed to encrypt the message." +-#: ncrypt/pgp.c:724 ++#: ncrypt/pgp.c:723 + #, fuzzy + msgid "PGP message is not encrypted" + msgstr "PGP-viesti on salaamatta" + +-#: ncrypt/pgp.c:978 ++#: ncrypt/pgp.c:977 + msgid "Internal error. Please submit a bug report." + msgstr "Sisäinen virhe, lähetä vikailmoitus." + +-#: ncrypt/pgp.c:1043 ++#: ncrypt/pgp.c:1042 + msgid "" + "[-- Error: could not create a PGP subprocess --]\n" + "\n" +@@ -4471,125 +4549,125 @@ msgstr "" + "[-- Virhe: PGP-prosessin käynnistys ei onnistunut --]\n" + "\n" + +-#: ncrypt/pgp.c:1073 ncrypt/pgp.c:1098 ncrypt/smime.c:2143 postpone.c:757 +-#: postpone.c:785 ++#: ncrypt/pgp.c:1072 ncrypt/pgp.c:1097 ncrypt/smime.c:2177 postpone.c:803 ++#: postpone.c:831 + msgid "Decryption failed" + msgstr "Purku epäonnistui" + +-#: ncrypt/pgp.c:1333 ++#: ncrypt/pgp.c:1334 + msgid "Can't open PGP subprocess" + msgstr "Ei voitu avata PGP-prosessia" + +-#: ncrypt/pgp.c:1768 ++#: ncrypt/pgp.c:1770 + msgid "Can't invoke PGP" + msgstr "Ei voitu kutsua PGP:tä" + + #. L10N: The next string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1875 ++#: ncrypt/pgp.c:1877 + msgid "PGP/M(i)ME" + msgstr "PGP/M(I)ME" + + #. L10N: The previous string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1881 ++#: ncrypt/pgp.c:1883 + msgid "(i)nline" + msgstr "(i)nline" + + #. L10N: PGP options (inline) (opportunistic encryption is on) +-#: ncrypt/pgp.c:1893 ++#: ncrypt/pgp.c:1895 + #, c-format + msgid "PGP (s)ign, sign (a)s, %s format, (c)lear, or (o)ppenc mode off?" + msgstr "PGP-(a)llekirjoita, (n)imellä, %s-formaatti, (t)yhjennä, (o)ppenc pois?" + + #. L10N: PGP options (inline) (opportunistic encryption is on) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1899 ++#: ncrypt/pgp.c:1901 + msgid "saico" + msgstr "anito" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1905 ++#: ncrypt/pgp.c:1907 + msgid "PGP (s)ign, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "PGP-(a)llekirjoita, (n)imellä, (t)yhjennä, (o)ppenc pois?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1907 ++#: ncrypt/pgp.c:1909 + msgid "saco" + msgstr "anto" + + #. L10N: PGP options (inline) (opportunistic encryption is off) +-#: ncrypt/pgp.c:1921 ++#: ncrypt/pgp.c:1923 + #, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, (c)lear, or (o)ppenc mode?" + msgstr "PGP-(s)alaa, -(a)llekirjoita, (n)imellä, (m)olemmat, %s-formaatti, (t)yhjennä, tai (o)ppenc?" + + #. L10N: PGP options (inline) (opportunistic encryption is off) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1927 ++#: ncrypt/pgp.c:1929 + msgid "esabico" + msgstr "sanmito" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1933 ++#: ncrypt/pgp.c:1935 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "PGP-(s)alaa, -(a)llekirjoita, (n)imellä, (t)yhjennä tai (o)ppenc?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1936 ++#: ncrypt/pgp.c:1938 + msgid "esabco" + msgstr "sanmto" + + #. L10N: PGP options (inline) +-#: ncrypt/pgp.c:1947 ++#: ncrypt/pgp.c:1949 + #, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, or (c)lear?" + msgstr "PGP-(s)alaa, -(a)llekirjoita, (n)imellä, (m)olemmat, %s-formaatti, tai (t)yhjennä?" + + #. L10N: PGP options (inline) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1953 ++#: ncrypt/pgp.c:1955 + msgid "esabic" + msgstr "sanmit" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1959 ++#: ncrypt/pgp.c:1961 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (c)lear?" + msgstr "PGP-(s)alaa, -(a)llekirjoita, (n)imellä, (m)olemmat tai (t)yhjennä" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1961 ++#: ncrypt/pgp.c:1963 + msgid "esabc" + msgstr "sanmt" + +-#: ncrypt/pgpinvoke.c:458 ++#: ncrypt/pgpinvoke.c:461 + msgid "Fetching PGP key..." + msgstr "Haetaan PGP-avainta..." + +-#: ncrypt/pgpkey.c:640 ++#: ncrypt/pgpkey.c:643 + msgid "All matching keys are expired, revoked, or disabled" + msgstr "Kaikki täsmäävät avaimet ovat joko vanhentuneet, poistettu käytöstä tai pois päältä" + +-#: ncrypt/pgpkey.c:681 ++#: ncrypt/pgpkey.c:714 + #, c-format + msgid "PGP keys matching <%s>" + msgstr "PGP-avaimet täsmäävät <%s>." + +-#: ncrypt/pgpkey.c:683 ++#: ncrypt/pgpkey.c:716 + #, c-format + msgid "PGP keys matching \"%s\"" + msgstr "PGP-avaimet täsmäävät %s" + +-#: ncrypt/pgpkey.c:700 ncrypt/pgpkey.c:909 ++#: ncrypt/pgpkey.c:733 ncrypt/pgpkey.c:944 + msgid "Can't open /dev/null" + msgstr "Ei voitu avata laitetta /dev/null" + +-#: ncrypt/pgpkey.c:938 ++#: ncrypt/pgpkey.c:973 + #, c-format + msgid "PGP Key %s" + msgstr "PGP-avain %s" + +-#: ncrypt/smime.c:182 ++#: ncrypt/smime.c:180 + msgid "Enter S/MIME passphrase:" + msgstr "S/MIME-salasana:" + +@@ -4598,7 +4676,7 @@ msgstr "S/MIME-salasana:" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:460 ++#: ncrypt/smime.c:462 + msgid "Expired " + msgstr "Vanhennut " + +@@ -4607,7 +4685,7 @@ msgstr "Vanhennut " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:468 ++#: ncrypt/smime.c:470 + msgid "Invalid " + msgstr "Viallinen " + +@@ -4616,7 +4694,7 @@ msgstr "Viallinen " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:476 ++#: ncrypt/smime.c:478 + msgid "Revoked " + msgstr "Poistettu käytöstä " + +@@ -4625,7 +4703,7 @@ msgstr "Poistettu käytöstä " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:484 ++#: ncrypt/smime.c:486 + msgid "Trusted " + msgstr "Luotettu " + +@@ -4634,7 +4712,7 @@ msgstr "Luotettu " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:492 ++#: ncrypt/smime.c:494 + msgid "Unverified" + msgstr "Varmistamaton" + +@@ -4643,7 +4721,7 @@ msgstr "Varmistamaton" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:500 ++#: ncrypt/smime.c:502 + msgid "Verified " + msgstr "Varmistettu " + +@@ -4652,58 +4730,58 @@ msgstr "Varmistettu " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:508 ++#: ncrypt/smime.c:510 + msgid "Unknown " + msgstr "Tuntematon " + +-#: ncrypt/smime.c:545 ++#: ncrypt/smime.c:547 + #, c-format + msgid "S/MIME certificates matching \"%s\"" + msgstr "S/MIME-sertifikaatit täsmäävät %s" + +-#: ncrypt/smime.c:589 ++#: ncrypt/smime.c:621 + msgid "ID is not trusted. Do you really want to use the key?" + msgstr "ID:hen ei luoteta, käytetäänkö siitä huolimatta?" + +-#: ncrypt/smime.c:910 ++#: ncrypt/smime.c:944 + msgid "Enter keyID: " + msgstr "Anna avain-ID: " + +-#: ncrypt/smime.c:1055 ++#: ncrypt/smime.c:1089 + #, c-format + msgid "No (valid) certificate found for %s" + msgstr "Ei toimivaa sertifikaattia kohteelle %s" + +-#: ncrypt/smime.c:1108 ncrypt/smime.c:1137 ncrypt/smime.c:1209 +-#: ncrypt/smime.c:1243 ncrypt/smime.c:1319 ncrypt/smime.c:1399 ++#: ncrypt/smime.c:1142 ncrypt/smime.c:1171 ncrypt/smime.c:1243 ++#: ncrypt/smime.c:1277 ncrypt/smime.c:1353 ncrypt/smime.c:1433 + msgid "Error: unable to create OpenSSL subprocess" + msgstr "Virhe: ei voitu luoda OpenSSL-prosessia" + +-#: ncrypt/smime.c:1379 ++#: ncrypt/smime.c:1413 + msgid "Label for certificate: " + msgstr "Sertifikaatin nimi: " + +-#: ncrypt/smime.c:1480 ++#: ncrypt/smime.c:1514 + msgid "no certfile" + msgstr "certfile puuttuu" + +-#: ncrypt/smime.c:1483 ++#: ncrypt/smime.c:1517 + msgid "no mbox" + msgstr "mbox puuttuu" + +-#: ncrypt/smime.c:1640 ncrypt/smime.c:1810 ++#: ncrypt/smime.c:1674 ncrypt/smime.c:1844 + msgid "No output from OpenSSL..." + msgstr "Ei tulostetta OpenSSL:ltä..." + +-#: ncrypt/smime.c:1727 ++#: ncrypt/smime.c:1761 + msgid "Can't sign: No key specified. Use Sign As." + msgstr "Ei voida allekirjoittaa: Avain määrittelemättä. Valitse allekirjoita nimellä." + +-#: ncrypt/smime.c:1777 ++#: ncrypt/smime.c:1811 + msgid "Can't open OpenSSL subprocess" + msgstr "Ei voitu avata OpenSSL-prosessia" + +-#: ncrypt/smime.c:2004 ncrypt/smime.c:2123 ++#: ncrypt/smime.c:2038 ncrypt/smime.c:2157 + msgid "" + "[-- End of OpenSSL output --]\n" + "\n" +@@ -4711,19 +4789,19 @@ msgstr "" + "[-- OpenSSL-tulosteen loppu --]\n" + "\n" + +-#: ncrypt/smime.c:2080 ncrypt/smime.c:2093 ++#: ncrypt/smime.c:2114 ncrypt/smime.c:2127 + msgid "[-- Error: unable to create OpenSSL subprocess --]\n" + msgstr "[-- Virhe: ei voitu luoda OpenSSL-prosessia --]\n" + +-#: ncrypt/smime.c:2129 ++#: ncrypt/smime.c:2163 + msgid "[-- The following data is S/MIME encrypted --]\n" + msgstr "[-- Seuraava data on S/MIME-salattu --]\n" + +-#: ncrypt/smime.c:2132 ++#: ncrypt/smime.c:2166 + msgid "[-- The following data is S/MIME signed --]\n" + msgstr "[-- Seuraava data on S/MIME-allekirjoitettu --]\n" + +-#: ncrypt/smime.c:2225 ++#: ncrypt/smime.c:2259 + msgid "" + "\n" + "[-- End of S/MIME encrypted data. --]\n" +@@ -4731,7 +4809,7 @@ msgstr "" + "\n" + "[-- S/MIME-salatun datan loppu. --]\n" + +-#: ncrypt/smime.c:2227 ++#: ncrypt/smime.c:2261 + msgid "" + "\n" + "[-- End of S/MIME signed data. --]\n" +@@ -4740,160 +4818,160 @@ msgstr "" + "[-- S/MIME-allekirjoitetun datan loppu. --]\n" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2361 ++#: ncrypt/smime.c:2395 + msgid "S/MIME (s)ign, encrypt (w)ith, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME-(a)llekirjoita, -salaa (k)anssa, allek. (n)imellä, (t)yhjennä, tai (o)ppenc pois?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2364 ++#: ncrypt/smime.c:2398 + msgid "swaco" + msgstr "aknto" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2372 ++#: ncrypt/smime.c:2406 + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME-(s)alaa, -(a)llekirjoita, -salaa (k)anssa, -allek. (n)imellä, (m)olemmat, (t)yhjennä, tai (o)ppenc?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2375 ++#: ncrypt/smime.c:2409 + msgid "eswabco" + msgstr "saknmto" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2382 ++#: ncrypt/smime.c:2416 + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, or (c)lear?" + msgstr "S/MIME-(s)alaa, (a)llekirjoita, -salaa (k)anssa, -allek. (n)imellä, (m)olemmat, tai (t)yhjennä?" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2385 ++#: ncrypt/smime.c:2419 + msgid "eswabc" + msgstr "saknmt" + +-#: ncrypt/smime.c:2449 ++#: ncrypt/smime.c:2483 + msgid "Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear?" + msgstr "Valitse algoritmiperhe: (1) DES, (2) RC2, (3) AES tai (t)yhjennä" + + #. L10N: Options for: Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear? +-#: ncrypt/smime.c:2452 ++#: ncrypt/smime.c:2486 + msgid "123c" + msgstr "123t" + +-#: ncrypt/smime.c:2455 ++#: ncrypt/smime.c:2489 + msgid "(1) DES, (2) Triple-DES?" + msgstr "(1) DES, (2) tripla-DES" + + #. L10N: Options for: (1) DES, (2) Triple-DES +-#: ncrypt/smime.c:2457 ++#: ncrypt/smime.c:2491 + msgid "12" + msgstr "12" + +-#: ncrypt/smime.c:2470 ++#: ncrypt/smime.c:2504 + msgid "(1) RC2-40, (2) RC2-64, (3) RC2-128?" + msgstr "(1) RC2-40, (2) RC2-64, (3) RC2-128?" + + #. L10N: Options for: (1) RC2-40, (2) RC2-64, (3) RC2-128 + #. L10N: Options for: (1) AES128, (2) AES192, (3) AES256 +-#: ncrypt/smime.c:2472 ncrypt/smime.c:2490 ++#: ncrypt/smime.c:2506 ncrypt/smime.c:2524 + msgid "123" + msgstr "123" + +-#: ncrypt/smime.c:2488 ++#: ncrypt/smime.c:2522 + msgid "(1) AES128, (2) AES192, (3) AES256?" + msgstr "(1) AES128, (2) AES192, (3) AES256?" + +-#: nntp/newsrc.c:632 ++#: nntp/newsrc.c:639 + msgid "Loading list of groups from cache..." + msgstr "Ladataan ryhmälistaa välimuistista..." + +-#: nntp/newsrc.c:997 ++#: nntp/newsrc.c:1023 + msgid "No news server defined" + msgstr "Ei uutispalvelinta määriteltynä" + +-#: nntp/newsrc.c:1012 ++#: nntp/newsrc.c:1041 + #, c-format + msgid "%s is an invalid news server specification" + msgstr "%s ei ole toimiva uutispalvelinmäärittely" + +-#: nntp/nntp.c:236 nntp/nntp.c:777 pop/pop.c:742 pop/pop_lib.c:398 ++#: nntp/nntp.c:238 nntp/nntp.c:779 pop/pop.c:742 pop/pop_lib.c:424 + msgid "Server closed connection" + msgstr "Palvelin katkaisi yhteyden" + +-#: nntp/nntp.c:340 ++#: nntp/nntp.c:342 + msgid "Server doesn't support reader mode" + msgstr "Palvelin ei tue luintilaa" + +-#: nntp/nntp.c:576 pop/pop_auth.c:504 smtp.c:650 ++#: nntp/nntp.c:578 pop/pop_auth.c:505 smtp.c:675 + msgid "No authenticators available" + msgstr "Ei autentikoijia" + +-#: nntp/nntp.c:766 ++#: nntp/nntp.c:768 + #, c-format + msgid "%s authentication failed" + msgstr "%s-autentikointi epäonnistui" + +-#: nntp/nntp.c:826 ++#: nntp/nntp.c:828 + #, c-format + msgid "Connection to %s lost. Reconnect?" + msgstr "Yhteys kohteeseen %s on katkaistu, yhdistetäänkö uudelleen?" + +-#: nntp/nntp.c:1285 ++#: nntp/nntp.c:1287 + msgid "Fetching list of articles..." + msgstr "Haetaan artikkeliluetteloa..." + +-#: nntp/nntp.c:1549 nntp/nntp.c:2138 pop/pop.c:614 pop/pop.c:910 ++#: nntp/nntp.c:1551 nntp/nntp.c:2140 pop/pop.c:614 pop/pop.c:905 + msgid "Checking for new messages..." + msgstr "Haetaan uusia viestejä..." + +-#: nntp/nntp.c:1864 nntp/nntp.c:1954 ++#: nntp/nntp.c:1866 nntp/nntp.c:1956 + msgid "Could not switch to reader mode" + msgstr "Ei voitu vaihtaa luintilaan" + +-#: nntp/nntp.c:1877 ++#: nntp/nntp.c:1879 + #, c-format + msgid "Connected to %s. %s" + msgstr "Yhdistetty kohteeseen %s. %s" + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + msgid "Posting is ok" + msgstr "Postaus on ok" + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + msgid "Posting is NOT ok" + msgstr "Postaus ei ole ok" + +-#: nntp/nntp.c:2008 nntp/nntp.c:2043 ++#: nntp/nntp.c:2010 nntp/nntp.c:2045 + #, c-format + msgid "Can't post article: %s" + msgstr "Ei voitu postata artikkelia: %s" + +-#: nntp/nntp.c:2064 ++#: nntp/nntp.c:2066 + #, c-format + msgid "Loading list of groups from server %s..." + msgstr "Ladataan uutisryhmälistaa palvelimelta %s..." + +-#: nntp/nntp.c:2106 nntp/nntp.c:2198 ++#: nntp/nntp.c:2108 nntp/nntp.c:2200 + msgid "Loading descriptions..." + msgstr "Ladataan kuvauksia..." + +-#: nntp/nntp.c:2128 ++#: nntp/nntp.c:2130 + msgid "Checking for new newsgroups..." + msgstr "Tarkastetaan uusia ryhmiä..." + +-#: nntp/nntp.c:2332 ++#: nntp/nntp.c:2334 + msgid "Unable to find child articles because server does not support XPAT command" + msgstr "Jälkeläisartikkeleja ei voi löytää koska palvelin ei tue XPAT-komentoa" + +-#: nntp/nntp.c:2437 ++#: nntp/nntp.c:2439 + #, c-format + msgid "%s is an invalid newsgroup specification" + msgstr "%s ei ole toimiva uutisryhmämääritelmä" + +-#: nntp/nntp.c:2476 ++#: nntp/nntp.c:2478 + #, c-format + msgid "Newsgroup %s not found on the server" + msgstr "Uutisryhmää %s ei ole palvelimella" + +-#: nntp/nntp.c:2498 ++#: nntp/nntp.c:2500 + #, c-format + msgid "Newsgroup %s has been removed from the server" + msgstr "Uutisryhmä %s on poistettu palvelimelta" +@@ -4905,7 +4983,7 @@ msgstr "ei voitu jäsentää notmuch-haun tyyppiä: %s" + + #: notmuch/mutt_notmuch.c:219 notmuch/mutt_notmuch.c:1939 + #, c-format +-msgid "failed to parse notmuch uri: %s" ++msgid "failed to parse notmuch url: %s" + msgstr "Nomuch-URIn jäsennys ei onnistunut: %s" + + #: notmuch/mutt_notmuch.c:449 +@@ -6000,183 +6078,183 @@ msgstr "tee palkista näkyvä / näkymätön" + msgid "show S/MIME options" + msgstr "näytä S/MIME-asetukset" + +-#: pager.c:222 ++#: pager.c:214 + msgid "Not available in this menu" + msgstr "Ei tässä valikossa" + +-#: pager.c:229 ++#: pager.c:221 + msgid "PrevPg" + msgstr "Ed.Siv." + +-#: pager.c:230 ++#: pager.c:222 + msgid "NextPg" + msgstr "Seur.siv." + +-#: pager.c:235 ++#: pager.c:227 + msgid "View Attachm." + msgstr "Näytä liite" + +-#: pager.c:238 pager.c:247 ++#: pager.c:230 pager.c:239 + msgid "Next" + msgstr "Seuraava" + + #. L10N: Status bar message: the entire email is visible in the pager + #. L10N: Status bar message: all the emails are visible in the index +-#: pager.c:2180 status.c:278 ++#: pager.c:2136 status.c:278 + msgid "all" + msgstr "kaikki" + + #. L10N: Status bar message: the end of the email is visible in the pager + #. L10N: Status bar message: the end of the list emails is visible in the index +-#: pager.c:2182 status.c:276 ++#: pager.c:2138 status.c:276 + msgid "end" + msgstr "loppu" + +-#: pager.c:2530 pager.c:2566 pager.c:2602 pager.c:2937 ++#: pager.c:2503 pager.c:2539 pager.c:2576 pager.c:2911 + msgid "Bottom of message is shown" + msgstr "Viestin loppu näkyy" + +-#: pager.c:2543 pager.c:2573 pager.c:2580 pager.c:2590 ++#: pager.c:2516 pager.c:2546 pager.c:2553 pager.c:2564 + msgid "Top of message is shown" + msgstr "Viestin alku näkyy" + +-#: pager.c:2840 ++#: pager.c:2814 + msgid "Help is currently being shown" + msgstr "Ohje näkyy" + +-#: pager.c:2897 ++#: pager.c:2871 + msgid "No more quoted text" + msgstr "Ei enää lainauksia" + +-#: pager.c:2914 ++#: pager.c:2888 + msgid "No more unquoted text after quoted text" + msgstr "Ei enää lainaamatont tekstiä lainausten jälkeen" + +-#: pattern.c:220 pattern.c:297 pattern.c:1046 ++#: pattern.c:221 pattern.c:298 pattern.c:1085 + #, c-format + msgid "Error in expression: %s" + msgstr "Virhe ilmauksessa: %s" + +-#: pattern.c:226 pattern.c:302 pattern.c:1052 ++#: pattern.c:227 pattern.c:303 pattern.c:1091 + msgid "Empty expression" + msgstr "Tyhjä ilmaus" + +-#: pattern.c:288 ++#: pattern.c:289 + #, fuzzy + msgid "No search command defined" + msgstr "OAUTH refresh komento puuttuu" + +-#: pattern.c:326 ++#: pattern.c:327 + #, fuzzy, c-format + msgid "Running search command: %s ..." + msgstr "Avataan automaattinen näyttö: %s" + +-#: pattern.c:417 ++#: pattern.c:441 pattern.c:456 + #, c-format + msgid "Invalid day of month: %s" + msgstr "Virheellinen kuukaudenpäivä: %s" + +-#: pattern.c:431 ++#: pattern.c:446 pattern.c:470 + #, c-format + msgid "Invalid month: %s" + msgstr "Virheellinen kuukausi: %s" + +-#: pattern.c:534 ++#: pattern.c:573 + #, c-format + msgid "Invalid relative date: %s" + msgstr "Virheellinen suhteellinen päiväys: %s" + +-#: pattern.c:842 pattern.c:975 ++#: pattern.c:881 pattern.c:1014 + msgid "No current message" + msgstr "Ei nykyistä viestejä" + +-#: pattern.c:1002 ++#: pattern.c:1041 + msgid "No Context" + msgstr "Ei kontekstia" + +-#: pattern.c:1125 ++#: pattern.c:1164 + msgid "Error opening 'memory stream'" + msgstr "Virhe avattaessa muistivirtaa" + +-#: pattern.c:1171 ++#: pattern.c:1210 + msgid "Error re-opening 'memory stream'" + msgstr "Virhe avattaessa muistivirtaa uudestaan" + +-#: pattern.c:1180 ++#: pattern.c:1219 + msgid "Error opening /dev/null" + msgstr "Ei voitu avata laitetta /dev/null" + +-#: pattern.c:1443 pattern.c:1620 ++#: pattern.c:1482 pattern.c:1662 + #, c-format + msgid "error in pattern at: %s" + msgstr "virhe ilmauksen kohdassa: %s" + +-#: pattern.c:1476 ++#: pattern.c:1515 + #, c-format + msgid "missing pattern: %s" + msgstr "puuttuvua ilmaus: %s" + +-#: pattern.c:1494 pattern.c:1593 ++#: pattern.c:1533 pattern.c:1635 + #, c-format + msgid "mismatched parentheses: %s" + msgstr "pariton sulje: %s" + +-#: pattern.c:1559 ++#: pattern.c:1598 + #, c-format + msgid "%c: invalid pattern modifier" + msgstr "%c: viallinen ilmaus-parametri" + +-#: pattern.c:1564 ++#: pattern.c:1603 + #, c-format + msgid "%c: not supported in this mode" + msgstr "%c: ei tuettu tässä tilassa" + +-#: pattern.c:1576 ++#: pattern.c:1618 + msgid "missing parameter" + msgstr "puuttuva parametri" + +-#: pattern.c:1626 ++#: pattern.c:1668 + msgid "empty pattern" + msgstr "tyhjä kuvio" + +-#: pattern.c:2080 pattern.c:2083 ++#: pattern.c:2202 pattern.c:2205 + msgid "error: server custom search only supported with IMAP" + msgstr "virhe: palvelimen haku toimii vain IMAPilla" + +-#: pattern.c:2274 ++#: pattern.c:2398 + #, c-format + msgid "error: unknown op %d (report this error)" + msgstr "virhe: tuntematon operaatio %d (ilmoita viasta)" + +-#: pattern.c:2448 pattern.c:2604 ++#: pattern.c:2572 pattern.c:2728 + msgid "Compiling search pattern..." + msgstr "Käännetään hakuilmausta..." + +-#: pattern.c:2468 ++#: pattern.c:2592 + msgid "Executing command on matching messages..." + msgstr "Suoritetaan viestintäsmäyskomentoa..." + +-#: pattern.c:2537 ++#: pattern.c:2661 + msgid "No messages matched criteria" + msgstr "Ei täsmääviä viestejä" + +-#: pattern.c:2641 ++#: pattern.c:2765 + msgid "Searching..." + msgstr "Haetaan..." + +-#: pattern.c:2655 ++#: pattern.c:2779 + msgid "Search hit bottom without finding match" + msgstr "Haku eteni loppuun ilman täsmäyksiä" + +-#: pattern.c:2666 ++#: pattern.c:2790 + msgid "Search hit top without finding match" + msgstr "Haku eteni alkuun ilman täsmäyksiä" + +-#: pattern.c:2700 ++#: pattern.c:2824 + msgid "Search interrupted" + msgstr "Haku katkaistu" + +-#: pop/pop.c:216 pop/pop_lib.c:234 ++#: pop/pop.c:216 pop/pop_lib.c:259 + msgid "Command TOP is not supported by server" + msgstr "Komento TOP ei toimi tällä palvelimella" + +@@ -6184,7 +6262,7 @@ msgstr "Komento TOP ei toimi tällä palvelimella" + msgid "Can't write header to temporary file" + msgstr "Ei voida kirjoittaa otsaketta väliaikaistiedostoon" + +-#: pop/pop.c:420 pop/pop_lib.c:236 ++#: pop/pop.c:420 pop/pop_lib.c:261 + msgid "Command UIDL is not supported by server" + msgstr "Komento UIDL ei toimi tällä palvelimella" + +@@ -6199,7 +6277,7 @@ msgstr[1] "%d viestiä on hävinyt, yritä avata postilaatikkoa uudelleen." + msgid "POP host is not defined" + msgstr "POP-palvelin on määrittelemättä" + +-#: pop/pop.c:596 pop/pop.c:825 ++#: pop/pop.c:596 pop/pop.c:790 pop/pop.c:820 + #, c-format + msgid "%s is an invalid POP path" + msgstr "%s ei ole toimiva POP-polku" +@@ -6232,152 +6310,152 @@ msgid_plural "%s [%d of %d messages read]" + msgstr[0] "%s [%d/%d viesti luettu]" + msgstr[1] "%s [%d/%d viestiä luettu]" + +-#: pop/pop.c:876 ++#: pop/pop.c:871 + msgid "Fetching list of messages..." + msgstr "Haetaan viestiluetteloa..." + +-#: pop/pop.c:959 ++#: pop/pop.c:954 + msgid "Marking messages deleted..." + msgstr "Merkitään viestejä poistetuiksi..." + +-#: pop/pop.c:1150 ++#: pop/pop.c:1145 + msgid "Can't write message to temporary file" + msgstr "Ei voitu kirjoittaa väliaikaistiedostoon" + +-#: pop/pop_auth.c:103 ++#: pop/pop_auth.c:104 + msgid "Authenticating (SASL)..." + msgstr "Autentikoidaan (SASL)..." + +-#: pop/pop_auth.c:245 ++#: pop/pop_auth.c:246 + msgid "POP timestamp is invalid" + msgstr "POP-aikaleima on viallinen" + +-#: pop/pop_auth.c:249 ++#: pop/pop_auth.c:250 + msgid "Authenticating (APOP)..." + msgstr "Autentikoidaan (APOP)..." + +-#: pop/pop_auth.c:269 ++#: pop/pop_auth.c:270 + msgid "APOP authentication failed" + msgstr "APOP-autentilointi epäonnistui" + +-#: pop/pop_auth.c:309 ++#: pop/pop_auth.c:310 + msgid "Command USER is not supported by server" + msgstr "Komento USER ei toimi tällä palvelimella" + +-#: pop/pop_auth.c:386 ++#: pop/pop_auth.c:387 + msgid "Authentication failed" + msgstr "Autentikaatio epäonnistui" + +-#: pop/pop_lib.c:78 ++#: pop/pop_lib.c:103 + #, c-format + msgid "Invalid POP URL: %s" + msgstr "Viallinen POP-verkko-osoite: %s" + +-#: pop/pop_lib.c:232 ++#: pop/pop_lib.c:257 + msgid "Unable to leave messages on server" + msgstr "Ei voitu jättää viestejä palvelimelle" + +-#: pop/pop_lib.c:274 ++#: pop/pop_lib.c:300 + #, c-format + msgid "Error connecting to server: %s" + msgstr "Ei voitu yhdistää palvelimeen: %s" + +-#: pop/pop_lib.c:414 ++#: pop/pop_lib.c:440 + msgid "Closing connection to POP server..." + msgstr "Suljetaan yhteyttä POP-palvelimeen..." + +-#: pop/pop_lib.c:605 ++#: pop/pop_lib.c:631 + msgid "Verifying message indexes..." + msgstr "Varmistetaan viesti-indeksejä..." + +-#: pop/pop_lib.c:628 ++#: pop/pop_lib.c:654 + msgid "Connection lost. Reconnect to POP server?" + msgstr "Yhteys katkesi, yhdistetäänkö POP-palvelimelle uudestaan?" + +-#: postpone.c:229 ++#: postpone.c:260 + msgid "Postponed Messages" + msgstr "Lykättyjä viestejä" + +-#: postpone.c:314 postpone.c:326 ++#: postpone.c:348 postpone.c:372 + msgid "No postponed messages" + msgstr "Ei lykättyjä viestejä" + +-#: postpone.c:480 ++#: postpone.c:526 + msgid "Illegal S/MIME header" + msgstr "Viallinen S/MIME-otsake" + +-#: postpone.c:510 postpone.c:551 postpone.c:560 ++#: postpone.c:556 postpone.c:597 postpone.c:606 + msgid "Illegal crypto header" + msgstr "Viallinen crypto-otsake" + +-#: postpone.c:644 postpone.c:752 postpone.c:780 ++#: postpone.c:690 postpone.c:798 postpone.c:826 + msgid "Decrypting message..." + msgstr "Puretaan viestin salausta..." + +-#: query.c:82 ++#: query.c:80 + msgid "New Query" + msgstr "Uusi haku" + +-#: query.c:83 ++#: query.c:81 + msgid "Make Alias" + msgstr "Tee alias" + +-#: query.c:180 ++#: query.c:178 + msgid "Waiting for response..." + msgstr "Odotetaan vastausta..." + +-#: query.c:362 query.c:400 ++#: query.c:365 query.c:434 + msgid "Query: " + msgstr "Haku: " + +-#: query.c:370 query.c:407 ++#: query.c:374 query.c:442 + #, c-format + msgid "Query '%s'" + msgstr "Haku %s" + +-#: query.c:620 query.c:657 ++#: query.c:661 query.c:698 + msgid "Query command not defined" + msgstr "Hakukomentoa ei ole määritelty" + +-#: recvattach.c:93 ++#: recvattach.c:91 + msgid "Pipe" + msgstr "Putki" + +-#: recvattach.c:94 ++#: recvattach.c:92 + msgid "Print" + msgstr "Tulosta" + +-#: recvattach.c:569 ++#: recvattach.c:571 + msgid "Saving..." + msgstr "Tallennetaan..." + +-#: recvattach.c:573 recvattach.c:744 recvattach.c:748 ++#: recvattach.c:575 recvattach.c:746 recvattach.c:750 + #, fuzzy, c-format + msgid "Attachment saved" + msgid_plural "%d attachments saved" + msgstr[0] "Liite tallennettu" + msgstr[1] "Liite tallennettu" + +-#: recvattach.c:772 ++#: recvattach.c:774 + #, c-format + msgid "WARNING! You are about to overwrite %s, continue?" + msgstr "Varoitus: tiedostoa %s ollaan korvaamassa, jatketaanko?" + +-#: recvattach.c:790 ++#: recvattach.c:792 + msgid "Attachment filtered" + msgstr "Liite filtteröity" + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Filter through: " + msgstr "Filtteröintikomento: " + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Pipe to: " + msgstr "Putkikomento: " + + #. L10N: s gets replaced by a MIME type, e.g. "text/plain" or + #. application/octet-stream. +-#: recvattach.c:935 ++#: recvattach.c:937 + #, c-format + msgid "I don't know how to print %s attachments" + msgstr "Ei tulostuskeinoa tyypin %s liitteille" +@@ -6385,55 +6463,55 @@ msgstr "Ei tulostuskeinoa tyypin %s liitteille" + #. L10N: Although we now the precise number of tagged messages, we + #. do not show it to the user. So feel free to use a "generic + #. plural" as plural translation if your language has one. +-#: recvattach.c:1038 ++#: recvattach.c:1040 + #, c-format + msgid "Print tagged attachment?" + msgid_plural "Print %d tagged attachments?" + msgstr[0] "Tulostetaanko merkitty liite?" + msgstr[1] "Tulostetaanko %d merkittyä liitettä?" + +-#: recvattach.c:1039 ++#: recvattach.c:1041 + #, c-format + msgid "Print attachment?" + msgstr "Tulostetaanko liite?" + +-#: recvattach.c:1123 ++#: recvattach.c:1125 + msgid "Structural changes to decrypted attachments are not supported" + msgstr "Rakenteelliset muutokset puretuissa liiitteissä eivät toimi" + +-#: recvattach.c:1291 ++#: recvattach.c:1293 + msgid "Can't decrypt encrypted message" + msgstr "Ei voitu purkaa salattua viestiä" + +-#: recvattach.c:1425 ++#: recvattach.c:1457 + msgid "Attachments" + msgstr "Liitteitä" + +-#: recvattach.c:1465 ++#: recvattach.c:1497 + msgid "There are no subparts to show" + msgstr "Ei aliosia näytettäväksi" + +-#: recvattach.c:1520 ++#: recvattach.c:1552 + msgid "Can't delete attachment from POP server" + msgstr "Ei voitu poistaa liitettä POP-palvelimelta" + +-#: recvattach.c:1529 ++#: recvattach.c:1561 + msgid "Can't delete attachment from news server" + msgstr "Ei voitu poistaa liitettä uutisryhmäpalvelimelta" + +-#: recvattach.c:1536 ++#: recvattach.c:1568 + msgid "Deletion of attachments from encrypted messages is unsupported" + msgstr "Liitteiden poistoa salatuista viesteistä ei tueta" + +-#: recvattach.c:1542 ++#: recvattach.c:1574 + msgid "Deletion of attachments from signed messages may invalidate the signature" + msgstr "Liitteiden poista allekirjoitetusta viestistä saattaa mitätöidä allekirjoituksen" + +-#: recvattach.c:1561 recvattach.c:1578 ++#: recvattach.c:1593 recvattach.c:1610 + msgid "Only deletion of multipart attachments is supported" + msgstr "Vain multipart-liitteiden poisto on tuettu" + +-#: recvcmd.c:79 ++#: recvcmd.c:78 + msgid "You may only bounce message/rfc822 parts" + msgstr "Vain message/rfc822-osia voi pompottaa" + +@@ -6469,7 +6547,7 @@ msgstr "Ei voitu luoda kohdetta %s" + msgid "Can't find any tagged messages" + msgstr "Ei löytynyt merkittyjä viestejä" + +-#: recvcmd.c:848 send.c:1073 ++#: recvcmd.c:848 send.c:1072 + msgid "No mailing lists found" + msgstr "Ei löytynyt postituslistoja" + +@@ -6483,67 +6561,67 @@ msgstr "Ei voitu purkaa kaikkia liitteitä, MIME-koodataanko muut?" + msgid "You may only compose to sender with message/rfc822 parts" + msgstr "Vain message/rfc822-osia kirjoittaa lähettäjälle" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Append" + msgstr "Jatka perään" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Insert" + msgstr "Sisällytä" + +-#: remailer.c:78 ++#: remailer.c:76 + msgid "OK" + msgstr "OK" + +-#: remailer.c:210 ++#: remailer.c:207 + msgid "" + msgstr "" + +-#: remailer.c:586 ++#: remailer.c:617 + msgid "Can't get mixmaster's type2.list" + msgstr "Ei voitu hakea mixmasterin type2.listaa" + +-#: remailer.c:612 ++#: remailer.c:673 + msgid "Select a remailer chain" + msgstr "Valitse uudelleenpostitusketju" + +-#: remailer.c:674 ++#: remailer.c:735 + #, c-format + msgid "Error: %s can't be used as the final remailer of a chain" + msgstr "Virhe: %s ei voi olla uudelleenpostitusketjun viimeinen osa" + + #. L10N The '%d' here hard-coded to 19 +-#: remailer.c:706 ++#: remailer.c:767 + #, c-format + msgid "Mixmaster chains are limited to %d elements" + msgstr "Mixmaster-ketjuissa voi olla enintään %d elementtiä." + +-#: remailer.c:729 ++#: remailer.c:790 + msgid "The remailer chain is already empty" + msgstr "Uudelleenpostitusketju on jo tyhjä." + +-#: remailer.c:739 ++#: remailer.c:800 + msgid "You already have the first chain element selected" + msgstr "Ketjun ensimmäinen elementti on jo valittu" + +-#: remailer.c:749 ++#: remailer.c:810 + msgid "You already have the last chain element selected" + msgstr "Ketjun viimeinen elementti on jo valittu" + +-#: remailer.c:792 ++#: remailer.c:856 + msgid "Mixmaster doesn't accept Cc or Bcc headers" + msgstr "Mixmaster ei tue CC- tai BCC-otsakkeita" + +-#: remailer.c:817 ++#: remailer.c:881 + msgid "Please set the hostname variable to a proper value when using mixmaster" + msgstr "Verkkonimimuuttujan pitää olla toimiva mixmasteria varten" + +-#: remailer.c:860 ++#: remailer.c:924 + #, c-format + msgid "Error sending message, child exited %d.\n" + msgstr "Virhe viestin lähetyksessä, lapsiprosessi palautti arvon %d.\n" + +-#: remailer.c:864 ++#: remailer.c:928 + msgid "Error sending message" + msgstr "Virhe viestin lähetyksessä" + +@@ -6574,42 +6652,42 @@ msgstr "Lähetetäänkö edelleen liitteenä?" + + #. L10N: Asks whether the user respects the reply-to header. + #. If she says no, neomutt will reply to the from header's address instead. +-#: send.c:793 ++#: send.c:792 + #, c-format + msgid "Reply to %s%s?" + msgstr "Vastataanko osoitteeseen %s%s?" + +-#: send.c:838 ++#: send.c:837 + #, c-format + msgid "Follow-up to %s%s?" + msgstr "Vastineetko osoitteeseen %s%s?" + +-#: send.c:1122 ++#: send.c:1121 + msgid "Include message in reply?" + msgstr "Sisällytetäänkö viesti vastaukseen?" + +-#: send.c:1128 ++#: send.c:1127 + msgid "Including quoted message..." + msgstr "Sisällytetään lainattua viestiä..." + +-#: send.c:1137 ++#: send.c:1136 + msgid "Could not include all requested messages" + msgstr "Ei voitu sisällyttää kaikkia pyydettyjä viestejä" + +-#: send.c:1148 ++#: send.c:1147 + msgid "Forward as attachment?" + msgstr "Lähetetäänkö edelleen liitteenä?" + +-#: send.c:1153 ++#: send.c:1152 + msgid "Preparing forwarded message..." + msgstr "Valmistellaan edelleenlähetettävää viestiä..." + +-#: send.c:1632 ++#: send.c:1631 + #, fuzzy + msgid "Fcc to an IMAP mailbox is not supported in batch mode" + msgstr "%c: ei tuettu tässä tilassa" + +-#: send.c:1664 send.c:1690 ++#: send.c:1665 send.c:1675 send.c:1701 + msgid "Save attachments in Fcc?" + msgstr "Tallennetaanko liitteet FCC-kansioon myös?" + +@@ -6617,191 +6695,191 @@ msgstr "Tallennetaanko liitteet FCC-kansioon myös?" + #. (r)etry tries the same mailbox again. + #. alternate (m)ailbox prompts for a different mailbox to try. + #. (s)kip aborts saving. +-#: send.c:1712 ++#: send.c:1723 + msgid "Fcc failed. (r)etry, alternate (m)ailbox, or (s)kip?" + msgstr "" + + #. L10N: These correspond to the "Fcc failed" multi-choice prompt + #. (r)etry, alternate (m)ailbox, or (s)kip. + #. Any similarity to famous leaders of the FSF is coincidental. +-#: send.c:1716 ++#: send.c:1727 + msgid "rms" + msgstr "" + + #. L10N: This is the prompt to enter an "alternate (m)ailbox" when the + #. initial Fcc fails. +-#: send.c:1722 ++#: send.c:1733 + #, fuzzy + msgid "Fcc mailbox" + msgstr "Avaa postilaatikko" + +-#: send.c:1788 ++#: send.c:1799 + msgid "Can't postpone. $postponed is unset" + msgstr "" + +-#: send.c:1923 ++#: send.c:1934 + msgid "Recall postponed message?" + msgstr "Palautetaanko lykätty viesti?" + +-#: send.c:2228 ++#: send.c:2239 + msgid "Edit forwarded message?" + msgstr "Muokataanko edelleenlähetettävää viestiä?" + +-#: send.c:2266 ++#: send.c:2277 + msgid "Abort unmodified message?" + msgstr "Perutaanko muokkaamaton viesti?" + +-#: send.c:2268 ++#: send.c:2279 + msgid "Aborted unmodified message" + msgstr "Muokkaamaton viesti peruttu" + +-#: send.c:2388 ++#: send.c:2399 + msgid "No crypto backend configured. Disabling message security setting." + msgstr "Crypto-backend on asettamatta, joten turvallisuusasetukset on pois käytöstä." + +-#: send.c:2427 ++#: send.c:2438 + msgid "Article not posted" + msgstr "Artikkelia ei postattu" + +-#: send.c:2437 ++#: send.c:2448 + msgid "Message postponed" + msgstr "Viesti lykätty" + +-#: send.c:2470 ++#: send.c:2481 + msgid "No subject, abort sending?" + msgstr "Ei aihetta, perutaanko lähetys?" + +-#: send.c:2474 send.c:2480 ++#: send.c:2485 send.c:2491 + msgid "No subject specified" + msgstr "Ei aihetta" + +-#: send.c:2486 ++#: send.c:2497 + msgid "No newsgroup specified" + msgstr "Ei uutisryhmiä" + +-#: send.c:2496 ++#: send.c:2507 + msgid "No attachments, cancel sending?" + msgstr "Ei liitteitä, perutaanko lähetys?" + +-#: send.c:2501 ++#: send.c:2512 + msgid "Message contains text matching \"$abort_noattach_regex\". Not sending." + msgstr "Viesti täsmää hakuun \"$abort_noattach_regex\", joten sitä ei lähetetä." + +-#: send.c:2559 smtp.c:227 ++#: send.c:2570 smtp.c:230 + msgid "Sending message..." + msgstr "Lähetetään viestiä..." + +-#: send.c:2598 ++#: send.c:2609 + msgid "Could not send the message" + msgstr "Ei voitu lähettää viestiä" + +-#: send.c:2608 ++#: send.c:2619 + msgid "Sending in background" + msgstr "Lähetetää taustalla" + +-#: send.c:2609 ++#: send.c:2620 + msgid "Article posted" + msgstr "Artikkeli postattu" + +-#: send.c:2610 ++#: send.c:2621 + msgid "Mail sent" + msgstr "Viesti lähetetty" + +-#: sendlib.c:567 ++#: sendlib.c:566 + msgid "No boundary parameter found [report this error]" + msgstr "Ei rajamerkkiparametriä. (ilmoita ohjelmistovirheestä)" + +-#: sendlib.c:598 ++#: sendlib.c:597 + #, c-format + msgid "%s no longer exists" + msgstr "%s ei ole enää olemassa" + +-#: sendlib.c:1056 ++#: sendlib.c:1055 + #, c-format + msgid "%s isn't a regular file" + msgstr "%s ei ole tavallinen tiedosto" + +-#: sendlib.c:1223 ++#: sendlib.c:1222 + msgid "Could not find any mime.types file." + msgstr "Ei voitu löytää ainuttakaan mime.types-tiedostoa." + +-#: sendlib.c:1314 ++#: sendlib.c:1313 + #, c-format + msgid "Could not open %s" + msgstr "Ei voitu avata tiedostoa %s" + +-#: sendlib.c:2864 ++#: sendlib.c:2855 + msgid "$sendmail must be set in order to send mail" + msgstr "$sendmail pitää olla asetettuna jotta viestejä voi lähettää" + +-#: sendlib.c:2971 ++#: sendlib.c:2962 + #, c-format + msgid "Error sending message, child exited %d (%s)" + msgstr "Virhe viestin lähetyksessä, lapsiprosessi palautti arvon %d (%s)" + +-#: sendlib.c:2977 ++#: sendlib.c:2969 + msgid "Output of the delivery process" + msgstr "Lähetysprosessin tuloste" + +-#: sendlib.c:3157 ++#: sendlib.c:3154 + #, c-format + msgid "Bad IDN %s while preparing resent-from" + msgstr "Huono IDN %s resent-from-otsakkeen valmistelussa" + +-#: smtp.c:165 ++#: smtp.c:168 + #, c-format + msgid "SMTP session failed: %s" + msgstr "SMTP-sessio epäonnistui: %s" + +-#: smtp.c:222 ++#: smtp.c:225 + #, c-format + msgid "SMTP session failed: unable to open %s" + msgstr "SMTP-sessio epäonnistui: ei voitu avata kohdetta %s" + +-#: smtp.c:339 ++#: smtp.c:364 + #, c-format + msgid "Invalid SMTP URL: %s" + msgstr "Viallinen SMTP-URL: %s" + +-#: smtp.c:618 ++#: smtp.c:643 + #, c-format + msgid "SMTP authentication method %s requires SASL" + msgstr "SMTP-autentikointimenetelmä %s vaatii SASL:n" + +-#: smtp.c:625 ++#: smtp.c:650 + #, c-format + msgid "%s authentication failed, trying next method" + msgstr "%s-autentikointi epäonnistui, yritetään seuraavaa menetelmää" + +-#: smtp.c:636 ++#: smtp.c:661 + msgid "SMTP authentication requires SASL" + msgstr "SMTP-autentikaatio vaatii SASLia" + +-#: smtp.c:717 ++#: smtp.c:742 + msgid "SMTP server does not support authentication" + msgstr "SMTP-palvelin ei tue autentikointia" + +-#: smtp.c:756 ++#: smtp.c:781 + msgid "No from address given" + msgstr "Ei lähettäjäosoitetta" + +-#: smtp.c:821 ++#: smtp.c:846 + msgid "SMTP session failed: read error" + msgstr "SMTP-sessio epäonnistui: lukuvirhe" + +-#: smtp.c:823 ++#: smtp.c:848 + msgid "SMTP session failed: write error" + msgstr "SMTP-sessio epäonnistui: kirjoitusvirhe" + +-#: smtp.c:825 ++#: smtp.c:850 + msgid "Invalid server response" + msgstr "Viallinen palvelinvastaus" + +-#: sort.c:385 ++#: sort.c:387 + msgid "Sorting mailbox..." + msgstr "Järjestellään postilaatikkoa..." + +-#: sort.c:427 ++#: sort.c:429 + msgid "Could not find sorting function [report this bug]" + msgstr "Ei voitu löytää järjestelyfunktiota (ilmoita ohjelmistoviasta)" + +@@ -6865,10 +6943,10 @@ msgstr "" + "Mutt is free software, and you are welcome to redistribute it\n" + "under certain conditions; lisätietoja komennolla `mutt -vv'.\n" + +-#: version.c:446 ++#: version.c:451 + msgid "Default options:" + msgstr "Oletusasetukset:" + +-#: version.c:449 ++#: version.c:454 + msgid "Compile options:" + msgstr "Käännösaikaiset asetukset:" +diff --git a/po/fr.po b/po/fr.po +index 9b5da450d..c76d87c85 100644 +--- a/po/fr.po ++++ b/po/fr.po +@@ -24,7 +24,7 @@ msgid "" + msgstr "" + "Project-Id-Version: neomutt-2019-12-07\n" + "Report-Msgid-Bugs-To: neomutt-devel@neomutt.org\n" +-"POT-Creation-Date: 2019-12-06 23:10+0000\n" ++"POT-Creation-Date: 2020-03-09 12:15+0000\n" + "PO-Revision-Date: 2017-02-10 12:46+0100\n" + "Last-Translator: Vincent Lefevre \n" + "Language-Team: Vincent Lefevre \n" +@@ -34,16 +34,44 @@ msgstr "" + "Content-Transfer-Encoding: 8bit\n" + "Plural-Forms: nplurals=2; plural=(n > 1);\n" + +-#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:59 browser.c:80 browser.c:90 +-#: mutt_history.c:45 pager.c:228 postpone.c:68 query.c:80 recvattach.c:93 ++#, fuzzy ++msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" ++msgstr "(r)ejeter, accepter (u)ne fois, (a)ccepter toujours" ++ ++#, fuzzy ++msgid "roas" ++msgstr "rua" ++ ++msgid "(r)eject, accept (o)nce, (a)ccept always" ++msgstr "(r)ejeter, accepter (u)ne fois, (a)ccepter toujours" ++ ++msgid "roa" ++msgstr "rua" ++ ++#, fuzzy ++msgid "(r)eject, accept (o)nce, (s)kip" ++msgstr "(r)ejeter, accepter (u)ne fois" ++ ++#, fuzzy ++msgid "ros" ++msgstr "ru" ++ ++msgid "(r)eject, accept (o)nce" ++msgstr "(r)ejeter, accepter (u)ne fois" ++ ++msgid "ro" ++msgstr "ru" ++ ++#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:58 browser.c:79 browser.c:89 ++#: mutt_history.c:45 pager.c:220 postpone.c:68 query.c:78 recvattach.c:91 + msgid "Exit" + msgstr "Quitter" + +-#: addrbook.c:56 index.c:116 index.c:129 pager.c:236 pager.c:246 postpone.c:69 ++#: addrbook.c:56 index.c:112 index.c:125 pager.c:228 pager.c:238 postpone.c:69 + msgid "Del" + msgstr "Effacer" + +-#: addrbook.c:57 index.c:117 index.c:130 postpone.c:70 ++#: addrbook.c:57 index.c:113 index.c:126 postpone.c:70 + msgid "Undel" + msgstr "Récup" + +@@ -51,18 +79,18 @@ msgstr "Récup" + msgid "Select" + msgstr "Sélectionner" + +-#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:82 browser.c:84 browser.c:96 +-#: compose.c:218 compose.c:230 conn/ssl.c:983 conn/ssl_gnutls.c:691 index.c:122 +-#: index.c:135 mutt_history.c:48 ncrypt/crypt_gpgme.c:4735 ncrypt/pgpkey.c:670 +-#: ncrypt/smime.c:553 pager.c:2326 postpone.c:71 query.c:85 recvattach.c:94 ++#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:81 browser.c:83 browser.c:95 ++#: compose.c:216 compose.c:228 conn/ssl.c:996 conn/ssl_gnutls.c:722 index.c:118 ++#: index.c:131 mutt_history.c:48 ncrypt/crypt_gpgme.c:4783 ncrypt/pgpkey.c:673 ++#: ncrypt/smime.c:555 pager.c:2297 postpone.c:71 query.c:83 recvattach.c:92 + msgid "Help" + msgstr "Aide" + +-#: addrbook.c:208 ++#: addrbook.c:238 + msgid "You have no aliases" + msgstr "Vous n'avez pas défini d'alias " + +-#: addrbook.c:215 ++#: addrbook.c:276 + msgid "Aliases" + msgstr "Alias" + +@@ -71,53 +99,53 @@ msgstr "Alias" + msgid "Alias as: " + msgstr "Créer l'alias : " + +-#: alias.c:411 ++#: alias.c:414 + msgid "You already have an alias defined with that name" + msgstr "Vous avez déjà défini un alias ayant ce nom " + +-#: alias.c:417 ++#: alias.c:420 + msgid "Warning: This alias name may not work. Fix it?" + msgstr "Attention : ce nom d'alias peut ne pas fonctionner. Corriger?" + +-#: alias.c:442 ++#: alias.c:445 + msgid "Address: " + msgstr "Adresse : " + +-#: alias.c:453 commands.c:444 compose.c:744 conn/conn_raw.c:152 +-#: conn/conn_raw.c:210 recvcmd.c:232 send.c:228 ++#: alias.c:457 commands.c:450 compose.c:743 conn/conn_raw.c:152 ++#: conn/conn_raw.c:210 recvcmd.c:231 send.c:227 + #, c-format + msgid "Bad IDN: '%s'" + msgstr "Mauvais IDN : '%s'" + +-#: alias.c:464 ++#: alias.c:468 + msgid "Personal name: " + msgstr "Nom de la personne : " + + # , c-format +-#: alias.c:473 ++#: alias.c:477 + #, c-format + msgid "[%s = %s] Accept?" + msgstr "[%s = %s] Accepter?" + +-#: alias.c:484 recvattach.c:528 recvattach.c:550 recvattach.c:564 +-#: recvattach.c:579 recvattach.c:678 ++#: alias.c:488 recvattach.c:530 recvattach.c:552 recvattach.c:566 ++#: recvattach.c:581 recvattach.c:680 + msgid "Save to file: " + msgstr "Sauver dans le fichier : " + +-#: alias.c:503 ++#: alias.c:507 + msgid "Error reading alias file" + msgstr "Erreur en lisant le fichier d'alias" + +-#: alias.c:525 ++#: alias.c:529 + #, fuzzy + msgid "Trouble adding alias" + msgstr "Erreur en lisant le fichier d'alias" + +-#: alias.c:527 ++#: alias.c:531 + msgid "Alias added" + msgstr "Alias ajouté" + +-#: alias.c:532 ++#: alias.c:536 + msgid "Error seeking in alias file" + msgstr "Erreur en se repositionnant (seek) dans le fichier d'alias" + +@@ -126,7 +154,7 @@ msgstr "Erreur en se repositionnant (seek) dans le fichier d'alias" + #. for some reason (e.g. autocrypt, header cache, bcache), but it + #. doesn't exist. The prompt is asking whether to create the directory + #. +-#: autocrypt/autocrypt.c:70 main.c:826 ++#: autocrypt/autocrypt.c:70 main.c:757 + #, c-format + msgid "%s does not exist. Create it?" + msgstr "%s n'existe pas. Le créer?" +@@ -136,8 +164,8 @@ msgstr "%s n'existe pas. Le créer?" + #. mkdir() on the directory %s failed. The second %s is the + #. error message returned by libc + #. +-#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:830 +-#: nntp/newsrc.c:1069 ++#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:761 ++#: nntp/newsrc.c:1098 + #, c-format + msgid "Can't create %s: %s" + msgstr "Impossible de créer %s : %s" +@@ -147,7 +175,7 @@ msgstr "Impossible de créer %s : %s" + #. create $autocrypt_dir and then prompt to create an autocrypt + #. account with this message. + #. +-#: autocrypt/autocrypt.c:156 ++#: autocrypt/autocrypt.c:163 + msgid "Create an initial autocrypt account?" + msgstr "" + +@@ -156,7 +184,7 @@ msgstr "" + #. autocrypt account. This will generate a key and add a record + #. to the database for use in autocrypt operations. + #. +-#: autocrypt/autocrypt.c:180 ++#: autocrypt/autocrypt.c:187 + msgid "Autocrypt account address: " + msgstr "" + +@@ -165,7 +193,7 @@ msgstr "" + #. a single address. This is shown if they entered something invalid, + #. nothing, or more than one address for some reason. + #. +-#: autocrypt/autocrypt.c:191 ++#: autocrypt/autocrypt.c:198 + msgid "Please enter a single email address" + msgstr "" + +@@ -174,7 +202,7 @@ msgstr "" + #. if there is already an account in the database with the email address + #. they just entered. + #. +-#: autocrypt/autocrypt.c:208 ++#: autocrypt/autocrypt.c:215 + msgid "That email address already has an autocrypt account" + msgstr "" + +@@ -186,7 +214,7 @@ msgstr "" + #. Otherwise the UI will show encryption is "available" but the user + #. will be required to enable encryption manually. + #. +-#: autocrypt/autocrypt.c:223 ++#: autocrypt/autocrypt.c:230 + #, fuzzy + msgid "Prefer encryption?" + msgstr "chiffrage" +@@ -194,7 +222,7 @@ msgstr "chiffrage" + #. L10N: + #. Message displayed after an autocrypt account is successfully created. + #. +-#: autocrypt/autocrypt.c:236 ++#: autocrypt/autocrypt.c:243 + msgid "Autocrypt account creation succeeded" + msgstr "" + +@@ -202,7 +230,7 @@ msgstr "" + #. Error message displayed if creating an autocrypt account failed + #. or was aborted by the user. + #. +-#: autocrypt/autocrypt.c:242 ++#: autocrypt/autocrypt.c:249 + msgid "Autocrypt account creation aborted" + msgstr "" + +@@ -211,7 +239,7 @@ msgstr "" + #. to use to encrypt, but it can't find a valid keyid for this address. + #. The message is printed and they are returned to the compose menu. + #. +-#: autocrypt/autocrypt.c:610 autocrypt/autocrypt.c:639 ++#: autocrypt/autocrypt.c:617 autocrypt/autocrypt.c:646 + #, fuzzy, c-format + msgid "No (valid) autocrypt key found for %s" + msgstr "Pas de certificat (valide) trouvé pour %s" +@@ -223,12 +251,12 @@ msgstr "Pas de certificat (valide) trouvé pour %s" + #. and used for encryption. + #. If this is answered yes, they will be prompted for a mailbox. + #. +-#: autocrypt/autocrypt.c:903 ++#: autocrypt/autocrypt.c:910 + msgid "Scan a mailbox for autocrypt headers?" + msgstr "" + + #. L10N: The prompt for a mailbox to scan for Autocrypt: headers +-#: autocrypt/autocrypt.c:907 ++#: autocrypt/autocrypt.c:914 + #, fuzzy + msgid "Scan mailbox" + msgstr "Boîte aux lettres Fcc" +@@ -240,7 +268,7 @@ msgstr "Boîte aux lettres Fcc" + #. for a mailbox. This is because this is a one-time operation + #. and I don't want them to accidentally ctrl-g and abort it. + #. +-#: autocrypt/autocrypt.c:927 ++#: autocrypt/autocrypt.c:934 + msgid "Scan another mailbox for autocrypt headers?" + msgstr "" + +@@ -248,7 +276,7 @@ msgstr "" + #. L10N: Autocrypt Account Menu Help line: + #. create new account + #. +-#: autocrypt/autocrypt_acct_menu.c:63 ++#: autocrypt/autocrypt_acct_menu.c:62 + #, fuzzy + msgid "Create" + msgstr "Créer %s?" +@@ -256,7 +284,7 @@ msgstr "Créer %s?" + #. L10N: Autocrypt Account Menu Help line: + #. delete account + #. +-#: autocrypt/autocrypt_acct_menu.c:67 remailer.c:77 ++#: autocrypt/autocrypt_acct_menu.c:66 remailer.c:75 + msgid "Delete" + msgstr "Retirer" + +@@ -264,9 +292,9 @@ msgstr "Retirer" + #. toggle an account active/inactive + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:74 ++#: autocrypt/autocrypt_acct_menu.c:73 + msgid "Tgl Active" + msgstr "" + +@@ -274,17 +302,17 @@ msgstr "" + #. toggle "prefer-encrypt" on an account + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:81 +-msgid "Prf Enc" ++#: autocrypt/autocrypt_acct_menu.c:80 ++msgid "Prf Encr" + msgstr "" + + #. L10N: + #. Autocrypt Account menu. + #. flag that an account has prefer-encrypt set + #. +-#: autocrypt/autocrypt_acct_menu.c:123 ++#: autocrypt/autocrypt_acct_menu.c:122 + msgid "prefer encrypt" + msgstr "" + +@@ -293,7 +321,7 @@ msgstr "" + #. flag that an account has prefer-encrypt unset; + #. thus encryption will need to be manually enabled. + #. +-#: autocrypt/autocrypt_acct_menu.c:130 ++#: autocrypt/autocrypt_acct_menu.c:129 + msgid "manual encrypt" + msgstr "" + +@@ -301,7 +329,7 @@ msgstr "" + #. Autocrypt Account menu. + #. flag that an account is enabled/active + #. +-#: autocrypt/autocrypt_acct_menu.c:138 ++#: autocrypt/autocrypt_acct_menu.c:137 + msgid "active" + msgstr "" + +@@ -309,12 +337,12 @@ msgstr "" + #. Autocrypt Account menu. + #. flag that an account is disabled/inactive + #. +-#: autocrypt/autocrypt_acct_menu.c:144 ++#: autocrypt/autocrypt_acct_menu.c:143 + msgid "inactive" + msgstr "" + + #. L10N: Autocrypt Account Management Menu title +-#: autocrypt/autocrypt_acct_menu.c:183 ++#: autocrypt/autocrypt_acct_menu.c:182 + msgid "Autocrypt Accounts" + msgstr "" + +@@ -322,13 +350,13 @@ msgstr "" + #. This error message is displayed if a database update of an + #. account record fails for some odd reason. + #. +-#: autocrypt/autocrypt_acct_menu.c:245 autocrypt/autocrypt_acct_menu.c:259 ++#: autocrypt/autocrypt_acct_menu.c:244 autocrypt/autocrypt_acct_menu.c:258 + #, fuzzy + msgid "Error updating account record" + msgstr "Erreur de lecture du répertoire" + + #. L10N: Confirmation message when deleting an autocrypt account +-#: autocrypt/autocrypt_acct_menu.c:302 ++#: autocrypt/autocrypt_acct_menu.c:333 + #, fuzzy, c-format + msgid "Really delete account \"%s\"?" + msgstr "Voulez-vous vraiment supprimer la boîte aux lettres \"%s\"?" +@@ -347,7 +375,7 @@ msgid "Unable to open autocrypt database %s" + msgstr "Impossible d'ouvrir la BAL %s" + + # , c-format +-#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:774 ++#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:773 + #, c-format + msgid "error creating gpgme context: %s" + msgstr "erreur lors de la création du contexte gpgme : %s" +@@ -421,348 +449,294 @@ msgstr "" + msgid "Message cache isn't a directory: %s" + msgstr "%s n'est pas un répertoire" + +-#: browser.c:81 ++#: browser.c:80 + msgid "Chdir" + msgstr "Changement de répertoire" + +-#: browser.c:82 ++#: browser.c:81 + msgid "Goto" + msgstr "" + +-#: browser.c:83 browser.c:95 ++#: browser.c:82 browser.c:94 + msgid "Mask" + msgstr "Masque" + +-#: browser.c:91 ++#: browser.c:90 + msgid "List" + msgstr "" + + # , c-format +-#: browser.c:92 ++#: browser.c:91 + #, fuzzy + msgid "Subscribe" + msgstr "Abonné à %s" + + # , c-format +-#: browser.c:93 ++#: browser.c:92 + #, fuzzy + msgid "Unsubscribe" + msgstr "Désabonné de %s" + +-#: browser.c:94 index.c:134 ++#: browser.c:93 index.c:130 + msgid "Catchup" + msgstr "" + + # , c-format +-#: browser.c:760 browser.c:1519 browser.c:1758 ++#: browser.c:763 browser.c:1584 browser.c:1825 + #, c-format + msgid "%s is not a directory" + msgstr "%s n'est pas un répertoire" + + # , c-format +-#: browser.c:1025 ++#: browser.c:1028 + #, fuzzy, c-format + msgid "Subscribed newsgroups" + msgstr "Abonné à %s" + +-#: browser.c:1028 ++#: browser.c:1031 + #, c-format + msgid "Newsgroups on server [%s]" + msgstr "" + + # , c-format +-#: browser.c:1038 ++#: browser.c:1041 + #, c-format + msgid "Mailboxes [%d]" + msgstr "Boîtes aux lettres [%d]" + +-#: browser.c:1050 ++#: browser.c:1053 + #, c-format + msgid "Subscribed [%s], File mask: %s" + msgstr "Abonné [%s], masque de fichier : %s" + + # , c-format +-#: browser.c:1056 ++#: browser.c:1059 + #, c-format + msgid "Directory [%s], File mask: %s" + msgstr "Répertoire [%s], masque de fichier : %s" + +-#: browser.c:1113 ++#: browser.c:1116 + msgid "Can't attach a directory" + msgstr "Impossible d'attacher un répertoire " + +-#: browser.c:1380 browser.c:1814 browser.c:1959 ++#: browser.c:1445 browser.c:1881 browser.c:2026 + msgid "No files match the file mask" + msgstr "Aucun fichier ne correspond au masque" + +-#: browser.c:1587 ++#: browser.c:1654 + msgid "Create is only supported for IMAP mailboxes" + msgstr "La création n'est supportée que pour les boîtes aux lettres IMAP" + +-#: browser.c:1609 ++#: browser.c:1676 + msgid "Rename is only supported for IMAP mailboxes" + msgstr "Le renommage n'est supporté que pour les boîtes aux lettres IMAP" + +-#: browser.c:1630 ++#: browser.c:1697 + msgid "Delete is only supported for IMAP mailboxes" + msgstr "La suppression n'est supportée que pour les boîtes aux lettres IMAP" + +-#: browser.c:1642 ++#: browser.c:1709 + #, fuzzy + msgid "Can't delete currently selected mailbox" + msgstr "afficher le nom du fichier sélectionné actuellement" + +-#: browser.c:1646 ++#: browser.c:1713 + #, c-format + msgid "Really delete mailbox \"%s\"?" + msgstr "Voulez-vous vraiment supprimer la boîte aux lettres \"%s\"?" + +-#: browser.c:1663 ++#: browser.c:1730 + msgid "Mailbox deleted" + msgstr "Boîte aux lettres supprimée" + +-#: browser.c:1667 ++#: browser.c:1734 + msgid "Mailbox deletion failed" + msgstr "La suppression de la boîte aux lettres a échoué" + +-#: browser.c:1670 ++#: browser.c:1737 + msgid "Mailbox not deleted" + msgstr "Boîte aux lettres non supprimée" + +-#: browser.c:1697 ++#: browser.c:1764 + msgid "Chdir to: " + msgstr "Changement de répertoire vers : " + +-#: browser.c:1747 browser.c:1808 ++#: browser.c:1814 browser.c:1875 + msgid "Error scanning directory" + msgstr "Erreur de lecture du répertoire" + +-#: browser.c:1769 ++#: browser.c:1836 + msgid "File Mask: " + msgstr "Masque de fichier : " + + #. L10N: The highlighted letters must match the "Sort" options +-#: browser.c:1831 ++#: browser.c:1898 + #, fuzzy + msgid "Reverse sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "Tri inverse par (d)ate, (a)lphabétique, (t)aille ou (n)e pas trier?" + + #. L10N: The highlighted letters must match the "Reverse Sort" options +-#: browser.c:1834 ++#: browser.c:1901 + #, fuzzy + msgid "Sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "Tri par (d)ate, (a)lphabétique, (t)aille ou (n)e pas trier?" + + #. L10N: These must match the highlighted letters from "Sort" and "Reverse Sort" +-#: browser.c:1837 ++#: browser.c:1904 + msgid "dazecwn" + msgstr "" + +-#: browser.c:1948 ++#: browser.c:2015 + msgid "New file name: " + msgstr "Nouveau nom de fichier : " + +-#: browser.c:1976 ++#: browser.c:2043 + msgid "Can't view a directory" + msgstr "Impossible de visualiser un répertoire" + +-#: browser.c:1993 ++#: browser.c:2060 + msgid "Error trying to view file" + msgstr "Erreur en essayant de visualiser le fichier" + + # , c-format +-#: browser.c:2079 ++#: browser.c:2146 + #, fuzzy, c-format + msgid "Subscribe pattern: " + msgstr "Abonné à %s" + + # , c-format +-#: browser.c:2081 ++#: browser.c:2148 + #, fuzzy, c-format + msgid "Unsubscribe pattern: " + msgstr "Désabonné de %s" + +-#: browser.c:2101 ++#: browser.c:2169 + #, fuzzy + msgid "No newsgroups match the mask" + msgstr "Aucun fichier ne correspond au masque" + +-# , c-format +-#: color.c:633 color.c:644 +-#, c-format +-msgid "%s: color not supported by term" +-msgstr "%s : couleur non disponible sur ce terminal" +- +-# , c-format +-#: color.c:652 +-#, c-format +-msgid "%s: no such color" +-msgstr "%s : cette couleur n'existe pas" +- +-# , c-format +-#: color.c:717 color.c:740 color.c:751 color.c:842 +-#, c-format +-msgid "%s: no such object" +-msgstr "%s : cet objet n'existe pas" +- +-# , c-format +-#: color.c:731 color.c:868 color.c:1069 color.c:1098 color.c:1122 color.c:1191 +-#: color.c:1214 hook.c:110 hook.c:124 hook.c:367 hook.c:383 init.c:612 +-#: init.c:620 init.c:709 init.c:1099 init.c:1267 init.c:1871 init.c:1929 +-#: keymap.c:1184 score.c:110 +-#, c-format +-msgid "%s: too few arguments" +-msgstr "%s : pas assez d'arguments" +- +-# , c-format +-#: color.c:1142 +-#, c-format +-msgid "%s: no such attribute" +-msgstr "%s : cet attribut n'existe pas" +- +-#: color.c:1223 color.c:1329 hook.c:131 hook.c:390 init.c:1123 init.c:2133 +-#: init.c:2611 keymap.c:1116 keymap.c:1289 keymap.c:1442 keymap.c:1506 +-#: mutt_lua.c:483 score.c:119 +-#, c-format +-msgid "%s: too many arguments" +-msgstr "%s: trop d'arguments" +- +-#: color.c:1244 +-msgid "default colors not supported" +-msgstr "La couleur default n'est pas disponible" +- +-#: color.c:1282 +-#, c-format +-msgid "Maximum quoting level is %d" +-msgstr "" +- +-#: color.c:1319 +-#, fuzzy, c-format +-msgid "%s: invalid number: %s" +-msgstr "Erreur : score : nombre invalide" +- + #. L10N: Used for the $crypt_verify_sig prompt +-#: commands.c:230 ++#: commands.c:232 + msgid "Verify signature?" + msgstr "Vérifier la signature?" + +-#: commands.c:257 mbox/mbox.c:1236 ++#: commands.c:259 mbox/mbox.c:1236 + msgid "Could not create temporary file" + msgstr "Impossible de créer le fichier temporaire " + +-#: commands.c:269 ++#: commands.c:271 + msgid "Can't create display filter" + msgstr "Impossible de créer le filtre d'affichage" + +-#: commands.c:302 ++#: commands.c:304 + msgid "Could not copy message" + msgstr "Impossible de copier le message" + +-#: commands.c:338 ++#: commands.c:340 + msgid "S/MIME signature successfully verified" + msgstr "Signature S/MIME vérifiée avec succès" + +-#: commands.c:340 ++#: commands.c:342 + msgid "S/MIME certificate owner does not match sender" + msgstr "Le propriétaire du certificat S/MIME ne correspond pas à l'expéditeur" + +-#: commands.c:343 commands.c:353 ++#: commands.c:345 commands.c:355 + msgid "Warning: Part of this message has not been signed" + msgstr "Attention Une partie de ce message n'a pas été signée" + +-#: commands.c:345 ++#: commands.c:347 + msgid "S/MIME signature could NOT be verified" + msgstr "La signature S/MIME n'a PAS pu être vérifiée" + +-#: commands.c:351 ++#: commands.c:353 + msgid "PGP signature successfully verified" + msgstr "Signature PGP vérifiée avec succès" + +-#: commands.c:355 ++#: commands.c:357 + msgid "PGP signature could NOT be verified" + msgstr "La signature PGP n'a PAS pu être vérifiée" + +-#: commands.c:372 compose.c:2116 compress.c:321 curs_lib.c:359 curs_lib.c:646 +-#: index.c:1235 index.c:1285 mutt_attach.c:159 mutt_attach.c:292 pager.c:2460 +-#: sendlib.c:1625 ++#: commands.c:378 compose.c:2187 compress/compress.c:320 gui/curs_lib.c:360 ++#: gui/curs_lib.c:714 index.c:1240 index.c:1290 mutt_attach.c:161 ++#: mutt_attach.c:294 pager.c:2433 sendlib.c:1624 + #, c-format + msgid "Error running \"%s\"" + msgstr "Erreur en exécutant \"%s\" " + +-#: commands.c:382 ++#: commands.c:388 + msgid "Command: " + msgstr "Commande : " + +-#: commands.c:419 recvcmd.c:191 recvcmd.c:203 ++#: commands.c:425 recvcmd.c:190 recvcmd.c:202 + msgid "Warning: message contains no From: header" + msgstr "Attention : le message ne contient pas d'en-tête From:" + +-#: commands.c:425 recvcmd.c:212 ++#: commands.c:431 recvcmd.c:211 + #, fuzzy + msgid "Bounce message to: " + msgstr "Renvoyer le message à : " + +-#: commands.c:427 recvcmd.c:214 ++#: commands.c:433 recvcmd.c:213 + #, fuzzy + msgid "Bounce tagged messages to: " + msgstr "Renvoyer les messages marqués à : " + +-#: commands.c:436 recvcmd.c:224 ++#: commands.c:442 recvcmd.c:223 + msgid "Error parsing address" + msgstr "Erreur de décodage de l'adresse " + + # , c-format +-#: commands.c:455 recvcmd.c:243 ++#: commands.c:461 recvcmd.c:242 + #, fuzzy, c-format + msgid "Bounce message to %s?" + msgid_plural "Bounce messages to %s?" + msgstr[0] "Renvoyer le message à %s?" + msgstr[1] "Renvoyer les messages à %s?" + +-#: commands.c:470 recvcmd.c:257 ++#: commands.c:476 recvcmd.c:257 + #, fuzzy + msgid "Message not bounced" + msgid_plural "Messages not bounced" + msgstr[0] "Message non renvoyé" + msgstr[1] "Messages non renvoyés" + +-#: commands.c:496 recvcmd.c:276 ++#: commands.c:502 recvcmd.c:276 + #, fuzzy + msgid "Message bounced" + msgid_plural "Messages bounced" + msgstr[0] "Message renvoyé" + msgstr[1] "Messages renvoyés" + +-#: commands.c:606 commands.c:642 commands.c:662 ++#: commands.c:612 commands.c:648 commands.c:668 + msgid "Can't create filter process" + msgstr "Impossible de créer le processus filtrant" + +-#: commands.c:698 ++#: commands.c:704 + msgid "Pipe to command: " + msgstr "Passer à la commande : " + +-#: commands.c:720 ++#: commands.c:726 + msgid "No printing command has been defined" + msgstr "Aucune commande d'impression n'a été définie" + +-#: commands.c:732 ++#: commands.c:738 + #, fuzzy + msgid "Print message?" + msgstr "Imprimer le message?" + +-#: commands.c:733 ++#: commands.c:739 + #, fuzzy + msgid "Print tagged messages?" + msgstr "Imprimer les messages marqués?" + +-#: commands.c:739 ++#: commands.c:745 + #, fuzzy + msgid "Message printed" + msgid_plural "Messages printed" + msgstr[0] "Message imprimé" + msgstr[1] "Messages imprimés" + +-#: commands.c:742 ++#: commands.c:748 + #, fuzzy + msgid "Message could not be printed" + msgid_plural "Messages could not be printed" +@@ -770,170 +744,345 @@ msgstr[0] "Le message n'a pas pu être imprimé" + msgstr[1] "Les messages n'ont pas pu être imprimés" + + #. L10N: The highlighted letters must match the "Sort" options +-#: commands.c:759 ++#: commands.c:765 + msgid "Rev-Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "Tri inv (d)ate/(a)uteur/(r)eçu/(o)bjet/de(s)t/d(i)scus/aucu(n)/(t)aille/s(c)ore/s(p)am/(l)abel?" + + #. L10N: The highlighted letters must match the "Rev-Sort" options +-#: commands.c:763 ++#: commands.c:769 + msgid "Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "Tri (d)ate/(a)uteur/(r)eçu/(o)bjet/de(s)t/d(i)scus/aucu(n)/(t)aille/s(c)ore/s(p)am/(l)abel?" + + #. L10N: These must match the highlighted letters from "Sort" and "Rev-Sort" +-#: commands.c:767 ++#: commands.c:773 + msgid "dfrsotuzcpl" + msgstr "darosintcpl" + +-#: commands.c:831 ++#: commands.c:837 + msgid "Shell command: " + msgstr "Commande shell : " + + # , c-format +-#: commands.c:1036 ++#: commands.c:1042 + #, fuzzy + msgid "Decode-save to mailbox" + msgstr "Décoder-sauver vers une BAL" + +-#: commands.c:1036 ++#: commands.c:1042 + #, fuzzy + msgid "Decode-save tagged to mailbox" + msgstr "Décoder-sauver les messages marqués vers une BAL" + + # , c-format +-#: commands.c:1038 ++#: commands.c:1044 + #, fuzzy + msgid "Decrypt-save to mailbox" + msgstr "Déchiffrer-sauver vers une BAL" + +-#: commands.c:1038 ++#: commands.c:1044 + #, fuzzy + msgid "Decrypt-save tagged to mailbox" + msgstr "Déchiffrer-sauver les messages marqués vers une BAL" + + # , c-format +-#: commands.c:1040 ++#: commands.c:1046 + #, fuzzy + msgid "Save to mailbox" + msgstr "Sauver vers une BAL" + +-#: commands.c:1040 ++#: commands.c:1046 + #, fuzzy + msgid "Save tagged to mailbox" + msgstr "Sauver les messages marqués vers une BAL" + + # , c-format +-#: commands.c:1045 ++#: commands.c:1051 + #, fuzzy + msgid "Decode-copy to mailbox" + msgstr "Décoder-copier vers une BAL" + +-#: commands.c:1045 ++#: commands.c:1051 + #, fuzzy + msgid "Decode-copy tagged to mailbox" + msgstr "Décoder-copier les messages marqués vers une BAL" + + # , c-format +-#: commands.c:1047 ++#: commands.c:1053 + #, fuzzy + msgid "Decrypt-copy to mailbox" + msgstr "Déchiffrer-copier vers une BAL" + +-#: commands.c:1047 ++#: commands.c:1053 + #, fuzzy + msgid "Decrypt-copy tagged to mailbox" + msgstr "Déchiffrer-copier les messages marqués vers une BAL" + + # , c-format +-#: commands.c:1049 ++#: commands.c:1055 + #, fuzzy + msgid "Copy to mailbox" + msgstr "Copier vers une BAL" + +-#: commands.c:1049 ++#: commands.c:1055 + #, fuzzy + msgid "Copy tagged to mailbox" + msgstr "Copier les messages marqués vers une BAL" + + # , c-format +-#: commands.c:1092 ++#: commands.c:1098 + #, c-format + msgid "Copying to %s..." + msgstr "Copie vers %s..." + + # , c-format + #. L10N: e.g. "text/plain; charset=UTF-8; ..." +-#: commands.c:1257 ++#: commands.c:1263 + #, fuzzy + msgid "Content type is too long" + msgstr "Content-Type changé à %s" + +-#: commands.c:1281 ++#: commands.c:1290 + #, c-format + msgid "Convert to %s upon sending?" + msgstr "Convertir en %s à l'envoi?" + + # , c-format +-#: commands.c:1292 ++#: commands.c:1301 + #, c-format + msgid "Content-Type changed to %s" + msgstr "Content-Type changé à %s" + +-#: commands.c:1297 ++#: commands.c:1306 + #, fuzzy, c-format + msgid "Character set changed to %s; not converting" + msgstr "Jeu de caractères changé à %s ; pas de conversion" + +-#: commands.c:1298 ++#: commands.c:1307 + #, fuzzy, c-format + msgid "Character set changed to %s; converting" + msgstr "Jeu de caractères changé à %s ; conversion" + +-#: compose.c:99 ++# , c-format ++#: command_parse.c:83 command_parse.c:211 command_parse.c:219 ++#: command_parse.c:740 command_parse.c:887 command_parse.c:1491 ++#: command_parse.c:1549 gui/color.c:731 gui/color.c:868 gui/color.c:1069 ++#: gui/color.c:1098 gui/color.c:1122 gui/color.c:1191 gui/color.c:1214 ++#: hook.c:110 hook.c:124 hook.c:372 hook.c:388 keymap.c:1182 score.c:110 ++#, c-format ++msgid "%s: too few arguments" ++msgstr "%s : pas assez d'arguments" ++ ++#: command_parse.c:394 ++msgid "-group: no group name" ++msgstr "-group: pas de nom de groupe" ++ ++#: command_parse.c:404 ++msgid "out of arguments" ++msgstr "pas assez d'arguments" ++ ++#: command_parse.c:445 command_parse.c:1372 ++#, c-format ++msgid "Error: Can't build path of '%s'" ++msgstr "" ++ ++#: command_parse.c:458 ++#, c-format ++msgid "Error: Cyclic sourcing of configuration file '%s'" ++msgstr "" ++ ++# , c-format ++#: command_parse.c:491 ++#, c-format ++msgid "Error in %s, line %d: %s" ++msgstr "Erreur dans %s, ligne %d : %s" ++ ++# , c-format ++#: command_parse.c:502 ++#, fuzzy, c-format ++msgid "Warning in %s, line %d: %s" ++msgstr "Erreur dans %s, ligne %d : %s" ++ ++# , c-format ++#: command_parse.c:526 ++#, c-format ++msgid "source: errors in %s" ++msgstr "source : erreurs dans %s" ++ ++#: command_parse.c:526 ++#, c-format ++msgid "source: reading aborted due to too many errors in %s" ++msgstr "source : lecture interrompue car trop d'erreurs dans %s" ++ ++# , c-format ++#: command_parse.c:535 ++#, fuzzy, c-format ++msgid "source: %d warning in %s" ++msgid_plural "source: %d warnings in %s" ++msgstr[0] "source : erreurs dans %s" ++msgstr[1] "source : erreurs dans %s" ++ ++#: command_parse.c:564 ++msgid "alias: no address" ++msgstr "alias : pas d'adresse" ++ ++#: command_parse.c:606 ++#, c-format ++msgid "Warning: Bad IDN '%s' in alias '%s'" ++msgstr "Attention : mauvais IDN '%s' dans l'alias '%s'" ++ ++#: command_parse.c:684 ++msgid "attachments: no disposition" ++msgstr "attachments : pas de disposition" ++ ++#: command_parse.c:695 ++#, fuzzy ++msgid "Current attachments settings:" ++msgstr "éditer la description de l'attachement" ++ ++#: command_parse.c:725 ++msgid "attachments: invalid disposition" ++msgstr "attachments : disposition invalide" ++ ++#: command_parse.c:764 command_parse.c:1753 command_parse.c:2205 ++#: gui/color.c:1223 gui/color.c:1329 hook.c:131 hook.c:395 keymap.c:1114 ++#: keymap.c:1287 keymap.c:1440 keymap.c:1504 mutt_lua.c:485 score.c:119 ++#, c-format ++msgid "%s: too many arguments" ++msgstr "%s: trop d'arguments" ++ ++#: command_parse.c:801 ++#, c-format ++msgid "%sgroup: missing -rx or -addr" ++msgstr "%sgroup : il manque un -rx ou -addr" ++ ++#: command_parse.c:827 ++#, c-format ++msgid "%sgroup: warning: bad IDN '%s'" ++msgstr "%sgroup : attention : mauvais IDN '%s'" ++ ++#: command_parse.c:898 ++#, c-format ++msgid "Error: %s" ++msgstr "" ++ ++#: command_parse.c:1065 ++msgid "invalid header field" ++msgstr "en-tête invalide" ++ ++# , c-format ++#: command_parse.c:1331 command_parse.c:1435 ++#, c-format ++msgid "%s: unknown variable" ++msgstr "%s : variable inconnue" ++ ++# , c-format ++#: command_parse.c:1528 ++#, c-format ++msgid "%s is unset" ++msgstr "%s n'est pas positionné" ++ ++# , c-format ++#: command_parse.c:1573 mutt_lua.c:480 ++#, c-format ++msgid "source: error at %s" ++msgstr "source : erreur dans %s" ++ ++#: command_parse.c:1581 ++#, fuzzy, c-format ++msgid "source: file %s could not be sourced" ++msgstr "Les messages n'ont pas pu être imprimés" ++ ++#: command_parse.c:1604 ++msgid "spam: no matching pattern" ++msgstr "spam : pas de motif correspondant" ++ ++#: command_parse.c:1606 ++msgid "nospam: no matching pattern" ++msgstr "nospam : pas de motif correspondant" ++ ++# , c-format ++#: command_parse.c:1762 imap/imap.c:1443 ++#, c-format ++msgid "Subscribed to %s" ++msgstr "Abonné à %s" ++ ++# , c-format ++#: command_parse.c:1766 ++#, fuzzy, c-format ++msgid "Could not subscribe to %s" ++msgstr "Abonné à %s" ++ ++#: command_parse.c:1774 command_parse.c:2226 ++#, fuzzy ++msgid "No folder specified" ++msgstr "Pas d'objet (Subject) spécifié." ++ ++#: command_parse.c:1943 ++msgid "unattachments: no disposition" ++msgstr "unattachments : pas de disposition" ++ ++#: command_parse.c:1981 ++msgid "unattachments: invalid disposition" ++msgstr "unattachments : disposition invalide" ++ ++# , c-format ++#: command_parse.c:2214 imap/imap.c:1445 ++#, c-format ++msgid "Unsubscribed from %s" ++msgstr "Désabonné de %s" ++ ++# , c-format ++#: command_parse.c:2218 ++#, fuzzy, c-format ++msgid "Could not unsubscribe from %s" ++msgstr "Désabonné de %s" ++ ++#: compose.c:97 + msgid "There are no attachments" + msgstr "Il n'y a pas d'attachements" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:166 ++#: compose.c:164 + msgid "From: " + msgstr "De : " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:168 send.c:284 ++#: compose.c:166 send.c:284 + msgid "To: " + msgstr "À : " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:170 send.c:286 ++#: compose.c:168 send.c:286 + msgid "Cc: " + msgstr "Cc : " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:172 send.c:288 ++#: compose.c:170 send.c:288 + msgid "Bcc: " + msgstr "Cci : " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:174 compose.c:1242 send.c:320 ++#: compose.c:172 compose.c:1302 send.c:320 + msgid "Subject: " + msgstr "Objet : " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:176 ++#: compose.c:174 + msgid "Reply-To: " + msgstr "Réponse à : " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:178 compose.c:1261 ++#: compose.c:176 compose.c:1321 + msgid "Fcc: " + msgstr "Fcc : " + + #. L10N: "Mix" refers to the MixMaster chain for anonymous email +-#: compose.c:181 ++#: compose.c:179 + msgid "Mix: " + msgstr "Mix : " + + #. L10N: Compose menu field. Holds "Encrypt", "Sign" related information +-#: compose.c:184 ++#: compose.c:182 + msgid "Security: " + msgstr "Sécurité : " + +@@ -944,79 +1093,79 @@ msgstr "Sécurité : " + #. it should not be longer than the other compose menu fields. + #. Since it shares the row with "Encrypt with:", it should not be longer + #. than 15-20 character cells. +-#: compose.c:192 ncrypt/crypt_gpgme.c:5602 ncrypt/pgp.c:1974 +-#: ncrypt/smime.c:2395 ++#: compose.c:190 ncrypt/crypt_gpgme.c:5682 ncrypt/pgp.c:1976 ++#: ncrypt/smime.c:2429 + msgid "Sign as: " + msgstr "Signer avec : " + + #. L10N: The compose menu autocrypt line +-#: compose.c:195 ++#: compose.c:193 + msgid "Autocrypt: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:199 ++#: compose.c:197 + msgid "Newsgroups: " + msgstr "" + + # , c-format + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:201 ++#: compose.c:199 + #, fuzzy + msgid "Followup-To: " + msgstr "Suivi de la discussion à %s%s?" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:203 ++#: compose.c:201 + #, fuzzy + msgid "X-Comment-To: " + msgstr "éditer le champ Reply-To" + +-#: compose.c:208 compose.c:224 ++#: compose.c:206 compose.c:222 + msgid "Send" + msgstr "Envoyer" + +-#: compose.c:209 compose.c:225 remailer.c:77 ++#: compose.c:207 compose.c:223 remailer.c:75 + msgid "Abort" + msgstr "Abandonner" + + #. L10N: compose menu help line entry +-#: compose.c:211 ++#: compose.c:209 + msgid "To" + msgstr "À" + + #. L10N: compose menu help line entry +-#: compose.c:213 ++#: compose.c:211 + msgid "CC" + msgstr "CC" + + #. L10N: compose menu help line entry +-#: compose.c:215 compose.c:227 ++#: compose.c:213 compose.c:225 + msgid "Subj" + msgstr "Obj" + +-#: compose.c:216 compose.c:228 compose.c:1556 ++#: compose.c:214 compose.c:226 compose.c:1616 + msgid "Attach file" + msgstr "Attacher fichier" + +-#: compose.c:217 compose.c:229 ++#: compose.c:215 compose.c:227 + msgid "Descrip" + msgstr "Description" + +-#: compose.c:226 ++#: compose.c:224 + #, fuzzy + msgid "Newsgroups" + msgstr "Pas d'objet (Subject) spécifié." + + #. L10N: Autocrypt recommendation flag: off. + #. * This is displayed when Autocrypt is turned off. +-#: compose.c:239 compose.c:473 ++#: compose.c:237 compose.c:472 + msgid "Off" + msgstr "" + + #. L10N: Autocrypt recommendation flag: no. + #. * This is displayed when Autocrypt cannot encrypt to the recipients. +-#: compose.c:242 ++#: compose.c:240 + #, fuzzy + msgid "No" + msgstr "Aucune" +@@ -1025,7 +1174,7 @@ msgstr "Aucune" + #. * This is displayed when Autocrypt believes encryption should not be used. + #. * This might occur if one of the recipient Autocrypt Keys has not been + #. * used recently, or if the only key available is a Gossip Header key. +-#: compose.c:247 ++#: compose.c:245 + msgid "Discouraged" + msgstr "" + +@@ -1033,14 +1182,14 @@ msgstr "" + #. * This is displayed when Autocrypt believes encryption is possible, but + #. * leaves enabling it up to the sender. Probably because "prefer encrypt" + #. * is not set in both the sender and recipient keys. +-#: compose.c:252 ++#: compose.c:250 + msgid "Available" + msgstr "" + + #. L10N: Autocrypt recommendation flag: yes. + #. * This is displayed when Autocrypt would normally enable encryption + #. * automatically. +-#: compose.c:256 ++#: compose.c:254 + #, fuzzy + msgid "Yes" + msgstr "oui" +@@ -1051,7 +1200,7 @@ msgstr "oui" + #. (c)lear sets cleartext. + #. (a)utomatic defers to the recommendation. + #. +-#: compose.c:338 ++#: compose.c:337 + msgid "Autocrypt: (e)ncrypt, (c)lear, (a)utomatic?" + msgstr "" + +@@ -1059,51 +1208,51 @@ msgstr "" + #. The letter corresponding to the compose menu autocrypt prompt + #. (e)ncrypt, (c)lear, (a)utomatic + #. +-#: compose.c:346 ++#: compose.c:345 + msgid "eca" + msgstr "" + +-#: compose.c:383 ++#: compose.c:382 + msgid "Not supported" + msgstr "Non supportée" + +-#: compose.c:390 ++#: compose.c:389 + msgid "Sign, Encrypt" + msgstr "Signer, Chiffrer" + +-#: compose.c:395 compose.c:468 ++#: compose.c:394 compose.c:467 + msgid "Encrypt" + msgstr "Chiffrer" + +-#: compose.c:400 ++#: compose.c:399 + msgid "Sign" + msgstr "Signer" + +-#: compose.c:406 ++#: compose.c:405 + msgid "None" + msgstr "Aucune" + +-#: compose.c:415 ++#: compose.c:414 + msgid " (inline PGP)" + msgstr " (PGP en ligne)" + +-#: compose.c:417 ++#: compose.c:416 + msgid " (PGP/MIME)" + msgstr " (PGP/MIME)" + +-#: compose.c:420 ++#: compose.c:419 + msgid " (S/MIME)" + msgstr " (S/MIME)" + +-#: compose.c:424 ++#: compose.c:423 + msgid " (OppEnc mode)" + msgstr " (mode OppEnc)" + +-#: compose.c:436 compose.c:445 ++#: compose.c:435 compose.c:444 + msgid "" + msgstr "" + +-#: compose.c:452 ++#: compose.c:451 + msgid "Encrypt with: " + msgstr "Chiffrer avec : " + +@@ -1112,12 +1261,12 @@ msgstr "Chiffrer avec : " + #. Displays the output of the recommendation engine + #. (Off, No, Discouraged, Available, Yes) + #. +-#: compose.c:483 ++#: compose.c:482 + #, fuzzy + msgid "Recommendation: " + msgstr "éditer le champ Reply-To" + +-#: compose.c:547 ++#: compose.c:546 + msgid "" + msgstr "" + +@@ -1129,7 +1278,7 @@ msgstr "" + #. The filename is located last to avoid a long path hiding the + #. error message. + #. +-#: compose.c:601 ++#: compose.c:600 + #, fuzzy, c-format + msgid "Attachment #%d no longer exists: %s" + msgstr "%s [#%d] n'existe plus " +@@ -1142,245 +1291,376 @@ msgstr "%s [#%d] n'existe plus " + #. The filename is located last to avoid a long path hiding the + #. prompt question. + #. +-#: compose.c:621 ++#: compose.c:620 + #, fuzzy, c-format + msgid "Attachment #%d modified. Update encoding for %s?" + msgstr "%s [#%d] modifié. Mise à jour du codage?" + +-#: compose.c:716 ++#: compose.c:715 + msgid "-- Attachments" + msgstr "-- Attachements" + +-#: compose.c:770 ++#: compose.c:769 + msgid "You may not delete the only attachment" + msgstr "Vous ne pouvez pas supprimer l'unique attachement" + +-#: compose.c:1296 edit.c:538 send.c:2462 ++#: compose.c:1356 edit.c:536 send.c:2473 + #, c-format + msgid "Bad IDN in '%s': '%s'" + msgstr "Mauvais IDN dans « %s » : '%s'" + +-#: compose.c:1347 ++#: compose.c:1407 + #, fuzzy + msgid "Attachment is already at top" + msgstr "Attachement sauvé" + +-#: compose.c:1352 compose.c:1368 ++#: compose.c:1412 compose.c:1428 + #, fuzzy + msgid "The fundamental part can't be moved" + msgstr "L'attachement courant ne sera pas converti" + +-#: compose.c:1363 ++#: compose.c:1423 + #, fuzzy + msgid "Attachment is already at bottom" + msgstr "Attachement filtré" + +-#: compose.c:1381 ++#: compose.c:1441 + msgid "Grouping 'alternatives' requires at least 2 tagged messages" + msgstr "" + +-#: compose.c:1462 ++#: compose.c:1522 + msgid "Grouping 'multilingual' requires at least 2 tagged messages" + msgstr "" + +-#: compose.c:1475 ++#: compose.c:1535 + msgid "Not all parts have 'Content-Language' set, continue?" + msgstr "" + +-#: compose.c:1477 ++#: compose.c:1537 + #, fuzzy + msgid "Not sending this message" + msgstr "Erreur en envoyant le message" + +-#: compose.c:1571 ++#: compose.c:1631 + #, fuzzy + msgid "Attaching selected file..." + msgid_plural "Attaching selected files..." + msgstr[0] "J'attache les fichiers sélectionnés..." + msgstr[1] "J'attache les fichiers sélectionnés..." + +-#: compose.c:1585 ++#: compose.c:1645 + #, c-format + msgid "Unable to attach %s" + msgstr "Impossible d'attacher %s " + +-#: compose.c:1606 ++#: compose.c:1666 + msgid "Open mailbox to attach message from" + msgstr "Ouvrir une BAL d'où attacher un message" + +-#: compose.c:1616 ++#: compose.c:1676 + #, fuzzy + msgid "Open newsgroup to attach message from" + msgstr "Ouvrir une BAL d'où attacher un message" + +-#: compose.c:1667 ++#: compose.c:1730 + #, c-format + msgid "Unable to open mailbox %s" + msgstr "Impossible d'ouvrir la BAL %s" + +-#: compose.c:1676 ++#: compose.c:1739 + msgid "No messages in that folder" + msgstr "Aucun message dans ce dossier" + +-#: compose.c:1686 ++#: compose.c:1749 + msgid "Tag the messages you want to attach" + msgstr "Marquez les messages que vous voulez attacher " + +-#: compose.c:1715 ++#: compose.c:1785 + msgid "Unable to attach" + msgstr "Impossible d'attacher " + +-#: compose.c:1752 ++#: compose.c:1822 + msgid "Recoding only affects text attachments" + msgstr "Le recodage affecte uniquement les attachements textuels" + +-#: compose.c:1757 ++#: compose.c:1827 + msgid "The current attachment won't be converted" + msgstr "L'attachement courant ne sera pas converti" + +-#: compose.c:1759 ++#: compose.c:1829 + msgid "The current attachment will be converted" + msgstr "L'attachement courant sera converti" + +-#: compose.c:1831 ++#: compose.c:1901 + msgid "Empty 'Content-Language'" + msgstr "" + +-#: compose.c:1849 ++#: compose.c:1920 + msgid "Invalid encoding" + msgstr "Codage invalide" + +-#: compose.c:1871 ++#: compose.c:1942 + msgid "Save a copy of this message?" + msgstr "Sauver une copie de ce message?" + +-#: compose.c:1924 ++#: compose.c:1995 + msgid "Send attachment with name: " + msgstr "Envoyer l'attachement avec le nom : " + +-#: compose.c:1939 ++#: compose.c:2010 + msgid "Rename to: " + msgstr "Renommer en : " + + # , c-format + #. L10N: "stat" is a system call. Do "man 2 stat" for more information. +-#: compose.c:1946 editmsg.c:102 editmsg.c:138 sendlib.c:1050 ++#: compose.c:2017 editmsg.c:102 editmsg.c:138 sendlib.c:1049 + #, c-format + msgid "Can't stat %s: %s" + msgstr "Impossible d'obtenir le statut de %s : %s" + +-#: compose.c:1966 ++#: compose.c:2037 + msgid "New file: " + msgstr "Nouveau fichier : " + +-#: compose.c:1984 ++#: compose.c:2055 + msgid "Content-Type is of the form base/sub" + msgstr "Content-Type est de la forme base/sous" + + # , c-format +-#: compose.c:1991 ++#: compose.c:2062 + #, c-format + msgid "Unknown Content-Type %s" + msgstr "Content-Type %s inconnu" + + # , c-format +-#: compose.c:1999 ++#: compose.c:2070 + #, c-format + msgid "Can't create file %s" + msgstr "Impossible de créer le fichier %s" + +-#: compose.c:2008 ++#: compose.c:2079 + msgid "What we have here is a failure to make an attachment" + msgstr "Nous sommes en présence d'un échec de fabrication d'un attachement" + +-#: compose.c:2073 ++#: compose.c:2144 + #, fuzzy + msgid "Save (postpone) draft message?" + msgstr "Rappeler un message ajourné?" + +-#: compose.c:2133 ++#: compose.c:2204 + msgid "Write message to mailbox" + msgstr "Écrire le message dans la boîte aux lettres" + + # , c-format +-#: compose.c:2136 ++#: compose.c:2207 + #, c-format + msgid "Writing message to %s ..." + msgstr "Écriture du message dans %s ..." + +-#: compose.c:2143 ++#: compose.c:2214 + msgid "Message written" + msgstr "Message écrit" + +-#: compose.c:2154 ++#: compose.c:2225 + msgid "No PGP backend configured" + msgstr "Pas de backend PGP configuré" + +-#: compose.c:2161 compose.c:2225 ++#: compose.c:2232 compose.c:2296 + msgid "S/MIME already selected. Clear and continue?" + msgstr "S/MIME déjà sélectionné. Effacer & continuer?" + +-#: compose.c:2186 ++#: compose.c:2257 + msgid "No S/MIME backend configured" + msgstr "Pas de backend S/MIME configuré" + +-#: compose.c:2194 ++#: compose.c:2265 + msgid "PGP already selected. Clear and continue?" + msgstr "PGP déjà sélectionné. Effacer & continuer?" + +-#: compress.c:355 compress.c:499 ++#: compress/compress.c:354 compress/compress.c:498 + #, c-format + msgid "Can't append without an append-hook or close-hook : %s" + msgstr "Impossible d'ajouter sans append-hook ou close-hook : %s" + +-#: compress.c:444 compress.c:511 compress.c:590 compress.c:628 mbox/mbox.c:1208 ++#: compress/compress.c:443 compress/compress.c:510 compress/compress.c:589 ++#: compress/compress.c:627 mbox/mbox.c:1208 + msgid "Unable to lock mailbox" + msgstr "Impossible de verrouiller la boîte aux lettres " + +-#: compress.c:448 compress.c:518 compress.c:594 ++#: compress/compress.c:447 compress/compress.c:517 compress/compress.c:593 + #, c-format + msgid "Decompressing %s" + msgstr "Décompression de %s" + +-#: compress.c:457 ++#: compress/compress.c:456 + msgid "Can't identify the contents of the compressed file" + msgstr "Impossible d'identifier le contenu du fichier compressé" + +-#: compress.c:464 compress.c:539 ++#: compress/compress.c:463 compress/compress.c:538 + #, c-format + msgid "Can't find mailbox ops for mailbox type %d" + msgstr "Impossible de trouver les opérations pour la boîte aux lettres de type %d" + +-#: compress.c:521 ++#: compress/compress.c:520 + #, c-format + msgid "Compress command failed: %s" + msgstr "La commande de compression a échoué : %s" + +-#: compress.c:532 ++#: compress/compress.c:531 + msgid "Unsupported mailbox type for appending" + msgstr "Type de boîte aux lettres non supporté pour l'ajout" + +-#: compress.c:618 ++#: compress/compress.c:617 + msgid "Can't sync a compressed file without a close-hook" + msgstr "Impossible de synchroniser un fichier compressé sans close-hook" + + # , c-format +-#: compress.c:640 compress.c:692 ++#: compress/compress.c:639 compress/compress.c:691 + #, c-format + msgid "Compressing %s" + msgstr "Compression de %s" + + # , c-format +-#: compress.c:687 ++#: compress/compress.c:686 + #, c-format + msgid "Compressed-appending to %s..." + msgstr "Ajout avec compression à %s..." + +-#: compress.c:699 editmsg.c:247 ++#: compress/compress.c:698 editmsg.c:247 + #, c-format + msgid "Error. Preserving temporary file: %s" + msgstr "Erreur. Préservation du fichier temporaire : %s" + ++# , c-format ++#: config/bool.c:70 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %s" ++msgstr "Date relative invalide : %s" ++ ++# , c-format ++#: config/bool.c:131 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %ld" ++msgstr "Date relative invalide : %s" ++ ++#: config/enum.c:62 ++#, fuzzy, c-format ++msgid "Invalid enum value: %s" ++msgstr "Erreur : score : nombre invalide" ++ ++# , c-format ++#: config/enum.c:149 ++#, fuzzy, c-format ++msgid "Invalid enum value: %ld" ++msgstr "Valeur invalide pour l'option %s : \"%s\"" ++ ++# , c-format ++#: config/long.c:50 ++#, fuzzy, c-format ++msgid "Invalid long: %s" ++msgstr "Mois invalide : %s" ++ ++# , c-format ++#: config/long.c:56 config/long.c:114 config/number.c:68 config/number.c:133 ++#, fuzzy, c-format ++msgid "Option %s may not be negative" ++msgstr "Fonction non autorisée en mode attach-message." ++ ++#: config/number.c:49 config/sort.c:145 config/string.c:75 config/string.c:159 ++#, c-format ++msgid "Option %s may not be empty" ++msgstr "" ++ ++#: config/number.c:56 ++#, fuzzy, c-format ++msgid "Invalid number: %s" ++msgstr "Erreur : score : nombre invalide" ++ ++#: config/number.c:62 ++#, c-format ++msgid "Number is too big: %s" ++msgstr "" ++ ++#: config/number.c:127 ++#, fuzzy, c-format ++msgid "Invalid number: %ld" ++msgstr "Erreur : score : nombre invalide" ++ ++# , c-format ++#: config/quad.c:69 ++#, fuzzy, c-format ++msgid "Invalid quad value: %s" ++msgstr "Date relative invalide : %s" ++ ++# , c-format ++#: config/quad.c:133 ++#, fuzzy, c-format ++msgid "Invalid quad value: %ld" ++msgstr "Valeur invalide pour l'option %s : \"%s\"" ++ ++#: config/set.c:102 ++#, c-format ++msgid "No such variable: %s" ++msgstr "" ++ ++#: config/set.c:134 config/set.c:821 ++#, fuzzy, c-format ++msgid "Variable '%s' has an invalid type %d" ++msgstr "Erreur : la valeur '%s' est invalide pour -d" ++ ++# , c-format ++#: config/set.c:399 config/set.c:463 config/set.c:528 config/set.c:601 ++#: config/set.c:671 config/set.c:744 ++#, fuzzy, c-format ++msgid "Unknown variable '%s'" ++msgstr "%s : variable inconnue" ++ ++# , c-format ++#: config/sort.c:192 ++#, fuzzy, c-format ++msgid "Invalid sort name: %s" ++msgstr "Date relative invalide : %s" ++ ++# , c-format ++#: config/sort.c:322 ++#, fuzzy, c-format ++msgid "Invalid sort type: %ld" ++msgstr "Date relative invalide : %s" ++ ++#. L10N: Example: Username at myhost.com ++#: conn/connaccount.c:61 ++#, c-format ++msgid "Username at %s: " ++msgstr "Nom d'utilisateur sur %s : " ++ ++# , c-format ++#: conn/connaccount.c:117 ++#, c-format ++msgid "Password for %s@%s: " ++msgstr "Mot de passe pour %s@%s : " ++ ++#. L10N: You will see this error message if (1) you have "oauthbearer" in ++#. one of your $*_authenticators and (2) you do not have the corresponding ++#. $*_oauth_refresh_command defined. So the message does not mean "None of ++#. your $*_oauth_refresh_command's are defined." ++#: conn/connaccount.c:165 ++#, fuzzy ++msgid "No OAUTH refresh command defined" ++msgstr "Commande de requête non définie" ++ ++#: conn/connaccount.c:173 ++msgid "Unable to run refresh command" ++msgstr "" ++ ++#: conn/connaccount.c:184 ++msgid "Command returned empty string" ++msgstr "" ++ ++#: conn/connaccount.c:191 ++#, c-format ++msgid "OAUTH token is too big: %ld" ++msgstr "" ++ + # , c-format + #: conn/conn_raw.c:160 conn/conn_raw.c:218 + #, c-format +@@ -1404,7 +1684,7 @@ msgstr "Connexion à %s..." + msgid "Could not connect to %s (%s)" + msgstr "Impossible de se connecter à %s (%s)" + +-#: conn/conn_raw.c:260 conn/ssl.c:1230 curs_lib.c:568 mutt_logging.c:149 ++#: conn/conn_raw.c:260 conn/ssl.c:1245 gui/curs_lib.c:569 mutt_logging.c:147 + msgid "unknown error" + msgstr "erreur inconnue" + +@@ -1420,24 +1700,24 @@ msgstr "Erreur en parlant à %s (%s)" + msgid "Connection to %s has been aborted" + msgstr "Connexion à %s fermée" + +-#: conn/sasl.c:565 ++#: conn/sasl.c:547 + msgid "Unknown SASL profile" + msgstr "Profil SASL inconnu" + + # , c-format +-#: conn/sasl.c:598 ++#: conn/sasl.c:580 + msgid "Error allocating SASL connection" + msgstr "Erreur lors de l'allocation de la connexion SASL" + +-#: conn/sasl.c:608 ++#: conn/sasl.c:590 + msgid "Error setting SASL security properties" + msgstr "Erreur lors de la mise en place des propriétés de sécurité SASL" + +-#: conn/sasl.c:619 ++#: conn/sasl.c:601 + msgid "Error setting SASL external security strength" + msgstr "Erreur lors de la mise en place de la force de sécurité externe" + +-#: conn/sasl.c:629 ++#: conn/sasl.c:611 + msgid "Error setting SASL external user name" + msgstr "Erreur lors de la mise en place du nom d'utilisateur externe" + +@@ -1451,137 +1731,111 @@ msgstr "La commande Preconnect a échoué" + msgid "Connection to %s closed" + msgstr "Connexion à %s fermée" + +-#: conn/ssl.c:237 ++#: conn/ssl.c:222 + #, c-format + msgid "Filling entropy pool: %s..." + msgstr "Remplissage du tas d'entropie : %s..." + +-#: conn/ssl.c:243 ++#: conn/ssl.c:228 + #, c-format + msgid "%s has insecure permissions" + msgstr "%s a des droits d'accès peu sûrs " + +-#: conn/ssl.c:385 ++#: conn/ssl.c:369 + msgid "SSL disabled due to the lack of entropy" + msgstr "SSL désactivé par manque d'entropie" + +-#: conn/ssl.c:402 ++#: conn/ssl.c:386 + msgid "Unknown" + msgstr "Inconnu" + + # , c-format +-#: conn/ssl.c:421 conn/ssl_gnutls.c:186 ++#: conn/ssl.c:405 conn/ssl_gnutls.c:188 + #, c-format + msgid "[unable to calculate]" + msgstr "[impossible de calculer]" + + # , c-format +-#: conn/ssl.c:446 ++#: conn/ssl.c:430 + msgid "[invalid date]" + msgstr "[date invalide]" + +-#: conn/ssl.c:506 ++#: conn/ssl.c:490 + msgid "Server certificate is not yet valid" + msgstr "Le certificat du serveur n'est pas encore valide" + +-#: conn/ssl.c:516 ++#: conn/ssl.c:500 + msgid "Server certificate has expired" + msgstr "Le certificat du serveur a expiré" + +-#: conn/ssl.c:605 ++#: conn/ssl.c:589 + msgid "Failed to find enough entropy on your system" + msgstr "Impossible de trouver assez d'entropie sur votre système" + +-#: conn/ssl.c:799 ++#: conn/ssl.c:783 + msgid "can't get certificate subject" + msgstr "impossible d'obtenir le détenteur du certificat (subject)" + +-#: conn/ssl.c:808 conn/ssl.c:816 ++#: conn/ssl.c:792 conn/ssl.c:800 + msgid "can't get certificate common name" + msgstr "impossible d'obtenir le nom du détenteur du certificat (CN)" + +-#: conn/ssl.c:830 ++#: conn/ssl.c:814 + #, c-format + msgid "certificate owner does not match hostname %s" + msgstr "le propriétaire du certificat ne correspond pas au nom %s" + +-#: conn/ssl.c:904 conn/ssl_gnutls.c:539 ++#: conn/ssl.c:917 conn/ssl_gnutls.c:570 + msgid "This certificate belongs to:" + msgstr "Ce certificat appartient à :" + +-#: conn/ssl.c:913 conn/ssl_gnutls.c:593 ++#: conn/ssl.c:926 conn/ssl_gnutls.c:624 + msgid "This certificate was issued by:" + msgstr "Ce certificat a été émis par :" + +-#: conn/ssl.c:922 conn/ssl_gnutls.c:604 ++#: conn/ssl.c:935 conn/ssl_gnutls.c:635 + msgid "This certificate is valid" + msgstr "Ce certificat est valide" + +-#: conn/ssl.c:923 conn/ssl_gnutls.c:608 ++#: conn/ssl.c:936 conn/ssl_gnutls.c:639 + #, c-format + msgid " from %s" + msgstr " de %s" + +-#: conn/ssl.c:925 conn/ssl_gnutls.c:612 ++#: conn/ssl.c:938 conn/ssl_gnutls.c:643 + #, c-format + msgid " to %s" + msgstr " à %s" + +-#: conn/ssl.c:931 conn/ssl_gnutls.c:617 ++#: conn/ssl.c:944 conn/ssl_gnutls.c:648 + #, c-format + msgid "SHA1 Fingerprint: %s" + msgstr "Empreinte SHA1 : %s" + +-#: conn/ssl.c:937 conn/ssl.c:940 conn/ssl_gnutls.c:623 conn/ssl_gnutls.c:625 ++#: conn/ssl.c:950 conn/ssl.c:953 conn/ssl_gnutls.c:654 conn/ssl_gnutls.c:656 + #, fuzzy + msgid "SHA256 Fingerprint: " + msgstr "Empreinte SHA1 : %s" + +-#: conn/ssl.c:944 conn/ssl_gnutls.c:664 ++#: conn/ssl.c:957 conn/ssl_gnutls.c:695 + #, c-format + msgid "SSL Certificate check (certificate %zu of %zu in chain)" + msgstr "Vérification du certificat SSL (certificat %zu sur %zu dans la chaîne)" + +-#. L10N: These four letters correspond to the choices in the next four strings: +-#. (r)eject, accept (o)nce, (a)ccept always, (s)kip. +-#. These prompts are the interactive certificate confirmation prompts for +-#. an OpenSSL connection. +-#: conn/ssl.c:964 +-msgid "roas" +-msgstr "" +- +-#: conn/ssl.c:968 +-#, fuzzy +-msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" +-msgstr "(r)ejeter, accepter (u)ne fois, (a)ccepter toujours" +- +-#: conn/ssl.c:970 conn/ssl_gnutls.c:671 +-msgid "(r)eject, accept (o)nce, (a)ccept always" +-msgstr "(r)ejeter, accepter (u)ne fois, (a)ccepter toujours" +- +-#: conn/ssl.c:975 +-#, fuzzy +-msgid "(r)eject, accept (o)nce, (s)kip" +-msgstr "(r)ejeter, accepter (u)ne fois" +- +-#: conn/ssl.c:977 conn/ssl_gnutls.c:680 +-msgid "(r)eject, accept (o)nce" +-msgstr "(r)ejeter, accepter (u)ne fois" +- +-#: conn/ssl.c:981 conn/ssl_gnutls.c:689 ncrypt/crypt_gpgme.c:4729 +-#: ncrypt/pgpkey.c:664 ncrypt/smime.c:549 ++#: conn/ssl.c:994 conn/ssl_gnutls.c:720 ncrypt/crypt_gpgme.c:4777 ++#: ncrypt/pgpkey.c:667 ncrypt/smime.c:551 + msgid "Exit " + msgstr "Quitter " + +-#: conn/ssl.c:1016 conn/ssl_gnutls.c:742 ++#: conn/ssl.c:1029 conn/ssl_gnutls.c:773 + msgid "Warning: Couldn't save certificate" + msgstr "Attention : le certificat n'a pas pu être sauvé" + +-#: conn/ssl.c:1020 conn/ssl_gnutls.c:746 ++#: conn/ssl.c:1033 conn/ssl_gnutls.c:777 + msgid "Certificate saved" + msgstr "Certificat sauvé" + +-#: conn/ssl.c:1132 ++#: conn/ssl.c:1147 + #, c-format + msgid "Certificate host check failed: %s" + msgstr "Échec de vérification de machine : %s" +@@ -1589,15 +1843,15 @@ msgstr "Échec de vérification de machine : %s" + #. L10N: This is a warning when trying to set the host name for + #. * TLS Server Name Indication (SNI). This allows the server to present + #. * the correct certificate if it supports multiple hosts. +-#: conn/ssl.c:1213 conn/ssl_gnutls.c:1072 ++#: conn/ssl.c:1228 conn/ssl_gnutls.c:1105 + msgid "Warning: unable to set TLS SNI host name" + msgstr "" + +-#: conn/ssl.c:1224 ++#: conn/ssl.c:1239 + msgid "I/O error" + msgstr "erreur d'E/S" + +-#: conn/ssl.c:1233 ++#: conn/ssl.c:1248 + #, c-format + msgid "SSL failed: %s" + msgstr "SSL a échoué : %s" +@@ -1605,90 +1859,74 @@ msgstr "SSL a échoué : %s" + #. L10N: an SSL context is a data structure returned by the OpenSSL + #. function SSL_CTX_new(). In this case it returned NULL: an + #. error condition. +-#: conn/ssl.c:1269 ++#: conn/ssl.c:1284 + msgid "Unable to create SSL context" + msgstr "Impossible de créer le contexte SSL" + +-#: conn/ssl.c:1322 ++#: conn/ssl.c:1337 + msgid "Warning: error enabling ssl_verify_partial_chains" + msgstr "" + +-#: conn/ssl_gnutls.c:150 conn/ssl_gnutls.c:784 conn/ssl_gnutls.c:793 ++#: conn/ssl_gnutls.c:152 conn/ssl_gnutls.c:817 conn/ssl_gnutls.c:826 + msgid "Unable to get certificate from peer" + msgstr "Impossible d'obtenir le certificat de la machine distante" + +-#: conn/ssl_gnutls.c:155 ++#: conn/ssl_gnutls.c:157 + #, c-format + msgid "Certificate verification error (%s)" + msgstr "Erreur de vérification du certificat (%s)" + +-#: conn/ssl_gnutls.c:162 ++#: conn/ssl_gnutls.c:164 + msgid "Certificate is not X.509" + msgstr "Le certificat n'est pas de type X.509" + +-#: conn/ssl_gnutls.c:349 conn/ssl_gnutls.c:483 ++#: conn/ssl_gnutls.c:351 conn/ssl_gnutls.c:485 + msgid "Error initialising gnutls certificate data" + msgstr "Erreur d'initialisation des données du certificat gnutls" + +-#: conn/ssl_gnutls.c:355 conn/ssl_gnutls.c:489 ++#: conn/ssl_gnutls.c:357 conn/ssl_gnutls.c:491 + msgid "Error processing certificate data" + msgstr "Erreur de traitement des données du certificat" + +-#: conn/ssl_gnutls.c:635 ++#: conn/ssl_gnutls.c:666 + msgid "WARNING: Server certificate is not yet valid" + msgstr "ATTENTION ! Le certificat du serveur n'est pas encore valide" + +-#: conn/ssl_gnutls.c:640 ++#: conn/ssl_gnutls.c:671 + msgid "WARNING: Server certificate has expired" + msgstr "ATTENTION ! Le certificat du serveur a expiré" + +-#: conn/ssl_gnutls.c:645 ++#: conn/ssl_gnutls.c:676 + msgid "WARNING: Server certificate has been revoked" + msgstr "ATTENTION ! Le certificat du serveur a été révoqué" + +-#: conn/ssl_gnutls.c:650 ++#: conn/ssl_gnutls.c:681 + msgid "WARNING: Server hostname does not match certificate" + msgstr "ATTENTION ! Le nom du serveur ne correspond pas au certificat" + +-#: conn/ssl_gnutls.c:655 ++#: conn/ssl_gnutls.c:686 + msgid "WARNING: Signer of server certificate is not a CA" + msgstr "ATTENTION ! Le signataire du certificat du serveur n'est pas un CA" + +-#: conn/ssl_gnutls.c:659 conn/ssl_gnutls.c:1004 ++#: conn/ssl_gnutls.c:690 conn/ssl_gnutls.c:1037 + msgid "Warning: Server certificate was signed using an insecure algorithm" + msgstr "Attention : le certificat du serveur a été signé avec un algorithme peu sûr" + +-#. L10N: These three letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce, (a)ccept always. +-#. This is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:676 +-msgid "roa" +-msgstr "rua" +- +-#. L10N: These two letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce. +-#. These is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:685 +-msgid "ro" +-msgstr "ru" +- +-#: conn/ssl_gnutls.c:950 conn/ssl_gnutls.c:992 ++#: conn/ssl_gnutls.c:983 conn/ssl_gnutls.c:1025 + msgid "All available protocols for TLS/SSL connection disabled" + msgstr "Tous les protocoles disponibles pour une connexion TLS/SSL sont désactivés" + +-#: conn/ssl_gnutls.c:999 ++#: conn/ssl_gnutls.c:1032 + msgid "Explicit ciphersuite selection via $ssl_ciphers not supported" + msgstr "Sélection de suite cryptographique explicite via $ssl_ciphers non supportée" + + # , c-format +-#: conn/ssl_gnutls.c:1120 ++#: conn/ssl_gnutls.c:1153 + #, c-format + msgid "SSL/TLS connection using %s (%s/%s/%s)" + msgstr "Connexion SSL/TLS utilisant %s (%s/%s/%s)" + +-#: conn/ssl_gnutls.c:1175 conn/ssl_gnutls.c:1204 ++#: conn/ssl_gnutls.c:1210 conn/ssl_gnutls.c:1239 + msgid "Error: no TLS socket open" + msgstr "Erreur : pas de socket TLS ouverte" + +@@ -1709,38 +1947,18 @@ msgstr "Erreur de tunnel en parlant à %s : %s" + msgid "Tunnel to %s returned error %d (%s)" + msgstr "Le tunnel vers %s a renvoyé l'erreur %d (%s)" + +-#: copy.c:660 ++#: copy.c:662 + #, c-format + msgid "The length calculation was wrong by %ld byte" + msgid_plural "The length calculation was wrong by %ld bytes" + msgstr[0] "" + msgstr[1] "" + +-#: copy.c:744 ++#: copy.c:746 + msgid "No decryption engine available for message" + msgstr "" + +-#: curs_lib.c:378 +-msgid "yes" +-msgstr "oui" +- +-#: curs_lib.c:379 +-msgid "no" +-msgstr "non" +- +-#: curs_lib.c:518 +-msgid "Exit NeoMutt?" +-msgstr "Quitter NeoMutt?" +- +-#: curs_lib.c:597 +-msgid "Press any key to continue..." +-msgstr "Appuyez sur une touche pour continuer..." +- +-#: curs_lib.c:705 +-msgid " ('?' for list): " +-msgstr " ('?' pour avoir la liste) : " +- +-#: edit.c:64 ++#: edit.c:62 + msgid "" + "~~ insert a line beginning with a single ~\n" + "~b users add users to the Bcc: field\n" +@@ -1762,7 +1980,7 @@ msgstr "" + "~M messages identique à ~m, mais inclut les en-têtes\n" + "~p imprime le message\n" + +-#: edit.c:75 ++#: edit.c:73 + msgid "" + "~q write file and quit editor\n" + "~r file read a file into the editor\n" +@@ -1785,20 +2003,20 @@ msgstr "" + ". seul sur une ligne, termine la saisie\n" + + # , c-format +-#: edit.c:261 ++#: edit.c:259 + #, c-format + msgid "%d: invalid message number.\n" + msgstr "%d : numéro de message invalide.\n" + +-#: edit.c:416 ++#: edit.c:414 + msgid "(End message with a . on a line by itself)\n" + msgstr "(Veuillez terminer le message par un . en début de ligne)\n" + +-#: edit.c:474 ++#: edit.c:472 + msgid "No mailbox.\n" + msgstr "Pas de boîte aux lettres.\n" + +-#: edit.c:478 ++#: edit.c:476 + msgid "Message contains:\n" + msgstr "Le message contient :\n" + +@@ -1806,20 +2024,20 @@ msgstr "Le message contient :\n" + #. not IN the middle of the content. + #. So it doesn't mean "(message will continue)" + #. but means "(press any key to continue using neomutt)". +-#: edit.c:486 edit.c:547 ++#: edit.c:484 edit.c:545 + msgid "(continue)\n" + msgstr "(continuer)\n" + +-#: edit.c:499 ++#: edit.c:497 + msgid "missing filename.\n" + msgstr "nom de fichier manquant.\n" + +-#: edit.c:519 ++#: edit.c:517 + msgid "No lines in message.\n" + msgstr "Pas de lignes dans le message.\n" + + # , c-format +-#: edit.c:558 ++#: edit.c:556 + #, c-format + msgid "%s: unknown editor command (~? for help)\n" + msgstr "%s : commande d'éditeur inconnue (~? pour l'aide)\n" +@@ -1868,21 +2086,79 @@ msgstr "Impossible d'ajouter au dossier : %s" + msgid "multipart message has no boundary parameter" + msgstr "le message multipart n'a pas de paramètre boundary " + +-#: flags.c:382 index.c:2561 index.c:2604 index.c:3134 index.c:3171 ++#: flags.c:381 index.c:2587 index.c:2630 index.c:3160 index.c:3197 + #: mutt_thread.c:1091 mutt_thread.c:1158 mutt_thread.c:1246 + msgid "Threading is not enabled" + msgstr "L'affichage des discussions n'est pas activé" + + # , c-format +-#: flags.c:442 ++#: flags.c:441 + msgid "Set flag" + msgstr "Positionner l'indicateur" + + # , c-format +-#: flags.c:442 ++#: flags.c:441 + msgid "Clear flag" + msgstr "Effacer l'indicateur" + ++# , c-format ++#: gui/color.c:633 gui/color.c:644 ++#, c-format ++msgid "%s: color not supported by term" ++msgstr "%s : couleur non disponible sur ce terminal" ++ ++# , c-format ++#: gui/color.c:652 ++#, c-format ++msgid "%s: no such color" ++msgstr "%s : cette couleur n'existe pas" ++ ++# , c-format ++#: gui/color.c:717 gui/color.c:740 gui/color.c:751 gui/color.c:842 ++#, c-format ++msgid "%s: no such object" ++msgstr "%s : cet objet n'existe pas" ++ ++# , c-format ++#: gui/color.c:1142 ++#, c-format ++msgid "%s: no such attribute" ++msgstr "%s : cet attribut n'existe pas" ++ ++#: gui/color.c:1244 ++msgid "default colors not supported" ++msgstr "La couleur default n'est pas disponible" ++ ++#: gui/color.c:1282 ++#, c-format ++msgid "Maximum quoting level is %d" ++msgstr "" ++ ++#: gui/color.c:1319 ++#, fuzzy, c-format ++msgid "%s: invalid number: %s" ++msgstr "Erreur : score : nombre invalide" ++ ++#: gui/curs_lib.c:379 ++msgid "yes" ++msgstr "oui" ++ ++#: gui/curs_lib.c:380 ++msgid "no" ++msgstr "non" ++ ++#: gui/curs_lib.c:519 ++msgid "Exit NeoMutt?" ++msgstr "Quitter NeoMutt?" ++ ++#: gui/curs_lib.c:598 ++msgid "Press any key to continue..." ++msgstr "Appuyez sur une touche pour continuer..." ++ ++#: gui/curs_lib.c:749 ++msgid " ('?' for list): " ++msgstr " ('?' pour avoir la liste) : " ++ + # , c-format + #: handler.c:102 + #, fuzzy, c-format +@@ -1907,25 +2183,25 @@ msgstr "[-- Visualisation automatique en utilisant %s --]\n" + msgid "Invoking autoview command: %s" + msgstr "Invocation de la commande de visualisation automatique : %s" + +-#: handler.c:591 mutt_attach.c:527 mutt_attach.c:714 mutt_attach.c:745 +-#: mutt_attach.c:1087 mutt_attach.c:1152 ncrypt/pgpkey.c:723 +-#: ncrypt/pgpkey.c:920 ++#: handler.c:590 mutt_attach.c:555 mutt_attach.c:747 mutt_attach.c:778 ++#: mutt_attach.c:1120 mutt_attach.c:1185 ncrypt/pgpkey.c:756 ++#: ncrypt/pgpkey.c:955 + msgid "Can't create filter" + msgstr "Impossible de créer le filtre" + + # , c-format +-#: handler.c:595 ++#: handler.c:594 + #, c-format + msgid "[-- Can't run %s. --]\n" + msgstr "[-- Impossible d'exécuter %s. --]\n" + + # , c-format +-#: handler.c:614 handler.c:635 ++#: handler.c:613 handler.c:634 + #, c-format + msgid "[-- Autoview stderr of %s --]\n" + msgstr "[-- Visualisation automatique stderr de %s --]\n" + +-#: handler.c:764 ++#: handler.c:763 + msgid "[-- Error: message/external-body has no access-type parameter --]\n" + msgstr "[-- Erreur : message/external-body n'a pas de paramètre access-type --]\n" + +@@ -1945,7 +2221,7 @@ msgstr "[-- Erreur : message/external-body n'a pas de paramètre access-type --] + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:807 ++#: handler.c:806 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" +@@ -1975,7 +2251,7 @@ msgstr[1] "" + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:830 ++#: handler.c:829 + #, fuzzy, c-format + msgid "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" + msgid_plural "[-- This %s/%s attachment (size %s bytes) has been deleted --]\n" +@@ -1990,7 +2266,7 @@ msgstr[1] "[-- Cet attachement %s/%s (taille %s octets) a été effacé --]\n" + #. + #. Caution: Argument three %3$ is also defined but should not be used + #. in this translation! +-#: handler.c:848 ++#: handler.c:847 + #, fuzzy + msgid "" + "[-- This %s/%s attachment has been deleted --]\n" +@@ -2003,13 +2279,13 @@ msgstr "" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The first "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:856 ++#: handler.c:855 + #, fuzzy, c-format + msgid "[-- This %s/%s attachment has been deleted --]\n" + msgstr "[-- Cet attachement %s/%s a été effacé --]\n" + + # , c-format +-#: handler.c:866 ++#: handler.c:865 + #, c-format + msgid "[-- name: %s --]\n" + msgstr "[-- nom : %s --]\n" +@@ -2017,7 +2293,7 @@ msgstr "[-- nom : %s --]\n" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:884 ++#: handler.c:883 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -2032,7 +2308,7 @@ msgstr "" + #. The "%s/%s" is a MIME type, e.g. "text/plain". The %s after + #. access-type is an access-type as defined by the MIME RFCs, e.g. "FTP", + #. "LOCAL-FILE", "MAIL-SERVER". +-#: handler.c:905 ++#: handler.c:904 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -2041,47 +2317,47 @@ msgstr "" + "[-- Cet attachement %s/%s n'est pas inclus, --]\n" + "[-- et l'access-type %s indiqué n'est pas supporté --]\n" + +-#: handler.c:1090 ++#: handler.c:1089 + msgid "[-- Error: Could not display any parts of Multipart/Alternative --]\n" + msgstr "[-- Erreur : Aucune partie du Multipart/Alternative n'a pu être affichée --]\n" + + # , c-format + #. L10N: %s is the attachment description, filename or form_name. +-#: handler.c:1231 ++#: handler.c:1230 + #, fuzzy, c-format + msgid "[-- Attachment #%d: %s --]\n" + msgstr "[-- Attachement #%d: %s --]\n" + + # , c-format +-#: handler.c:1236 ++#: handler.c:1235 + #, fuzzy, c-format + msgid "[-- Attachment #%d --]\n" + msgstr "[-- Attachement #%d --]\n" + +-#: handler.c:1254 ++#: handler.c:1253 + msgid "One or more parts of this message could not be displayed" + msgstr "Une ou plusieurs parties de ce message n'ont pas pu être affichées" + +-#: handler.c:1320 ++#: handler.c:1319 + #, fuzzy + msgid "Unable to open 'memory stream'" + msgstr "Impossible d'ouvrir le fichier temporaire " + +-#: handler.c:1330 ++#: handler.c:1329 + msgid "Unable to open temporary file" + msgstr "Impossible d'ouvrir le fichier temporaire " + +-#: handler.c:1379 ++#: handler.c:1378 + msgid "failed to re-open 'memory stream'" + msgstr "" + +-#: handler.c:1620 ++#: handler.c:1619 + msgid "Error: multipart/signed has no protocol" + msgstr "Erreur : multipart/signed n'a pas de protocole" + + # , c-format + #. L10N: %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1694 ++#: handler.c:1693 + #, fuzzy, c-format + msgid "[-- This is an attachment (use '%s' to view this part) --]\n" + msgstr "[-- Ceci est un attachement (utilisez '%s' pour voir cette partie) --]\n" +@@ -2089,53 +2365,53 @@ msgstr "[-- Ceci est un attachement (utilisez '%s' pour voir cette partie) --]\n + # , c-format + #. L10N: %s/%s is a MIME type, e.g. "text/plain". + #. The last %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1701 ++#: handler.c:1700 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported (use '%s' to view this part) --]\n" + msgstr "[-- %s/%s n'est pas disponible (utilisez '%s' pour voir cette partie) --]\n" + +-#: handler.c:1709 ++#: handler.c:1708 + #, fuzzy + msgid "[-- This is an attachment (need 'view-attachments' bound to key) --]\n" + msgstr "[-- Ceci est un attachement (la fonction 'view-attachments' doit être affectée à une touche ) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1715 ++#: handler.c:1714 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported (need 'view-attachments' bound to key) --]\n" + msgstr "[-- %s/%s n'est pas disponible (la fonction 'view-attachments' doit être affectée à une touche ) --]\n" + + # , c-format +-#: handler.c:1724 ++#: handler.c:1723 + #, fuzzy + msgid "[-- This is an attachment --]\n" + msgstr "[-- Ceci est un attachement --]\n" + + # , c-format + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1729 ++#: handler.c:1728 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported --]\n" + msgstr "[-- %s/%s n'est pas disponible --]\n" + +-#: help.c:400 ++#: help.c:401 + msgid "ERROR: please report this bug" + msgstr "ERREUR : veuillez signaler ce problème" + +-#: help.c:455 ++#: help.c:456 + msgid "" + msgstr "" + +-#: help.c:469 ++#: help.c:470 + msgid "Generic bindings:" + msgstr "Affectations génériques :" + +-#: help.c:473 ++#: help.c:474 + msgid "Unbound functions:" + msgstr "Fonctions non affectées :" + + # , c-format +-#: help.c:481 ++#: help.c:482 + #, c-format + msgid "Help for %s" + msgstr "Aide pour %s" +@@ -2152,24 +2428,24 @@ msgstr "le raccourci de boîte aux lettres a donné une expression rationnelle v + msgid "badly formatted command string" + msgstr "chaîne de commande incorrectement formatée" + +-#: hook.c:461 ++#: hook.c:466 + msgid "unhook: Can't do unhook * from within a hook" + msgstr "unhook : impossible de faire un unhook * à l'intérieur d'un hook" + + # , c-format +-#: hook.c:474 ++#: hook.c:479 + #, c-format + msgid "unhook: unknown hook type: %s" + msgstr "unhook : type hook inconnu : %s" + +-#: hook.c:484 ++#: hook.c:489 + #, c-format + msgid "unhook: Can't delete a %s from within a %s" + msgstr "unhook : impossible de supprimer un %s à l'intérieur d'un %s" + + # , c-format + #. L10N: '%s' is the (misspelled) name of the menu, e.g. 'index' or 'pager' +-#: icommands.c:259 keymap.c:1161 keymap.c:1346 ++#: icommands.c:261 keymap.c:1159 keymap.c:1344 + #, c-format + msgid "%s: no such menu" + msgstr "%s : ce menu n'existe pas" +@@ -2177,20 +2453,20 @@ msgstr "%s : ce menu n'existe pas" + # , c-format + #. L10N: '%s' is the name of the menu, e.g. 'index' or 'pager', it might + #. L10N: also be 'all' when all menus are affected. +-#: icommands.c:272 ++#: icommands.c:274 + #, fuzzy, c-format + msgid "%s: no binds for this menu" + msgstr "%s : ce menu n'existe pas" + + # , c-format +-#: icommands.c:272 ++#: icommands.c:274 + #, fuzzy, c-format + msgid "%s: no macros for this menu" + msgstr "%s : ce menu n'existe pas" + + #. L10N: '%s' is the file name of the temporary file +-#: icommands.c:283 icommands.c:296 icommands.c:316 icommands.c:340 +-#: icommands.c:360 icommands.c:371 imap/message.c:1093 ++#: icommands.c:285 icommands.c:297 icommands.c:317 icommands.c:340 ++#: icommands.c:360 icommands.c:370 imap/message.c:1093 + #, c-format + msgid "Could not create temporary file %s" + msgstr "Impossible de créer le fichier temporaire %s" +@@ -2228,30 +2504,30 @@ msgstr "L'authentification GSSAPI a échoué" + msgid "LOGIN disabled on this server" + msgstr "LOGIN désactivée sur ce serveur" + +-#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:288 ++#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:289 + msgid "Logging in..." + msgstr "Connexion..." + +-#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:329 ++#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:330 + msgid "Login failed" + msgstr "La connexion a échoué" + +-#: imap/auth_oauth.c:64 pop/pop_auth.c:346 smtp.c:524 ++#: imap/auth_oauth.c:65 pop/pop_auth.c:347 smtp.c:549 + #, fuzzy + msgid "Authenticating (OAUTHBEARER)..." + msgstr "Authentification (SASL)..." + +-#: imap/auth_oauth.c:96 ++#: imap/auth_oauth.c:97 + #, fuzzy + msgid "OAUTHBEARER authentication failed" + msgstr "L'authentification OAUTHBEARER a échoué" + +-#: imap/auth_sasl.c:128 nntp/nntp.c:606 nntp/nntp.c:671 smtp.c:443 ++#: imap/auth_sasl.c:128 nntp/nntp.c:608 nntp/nntp.c:673 smtp.c:468 + #, c-format + msgid "Authenticating (%s)..." + msgstr "Authentification (%s)..." + +-#: imap/auth_sasl.c:259 pop/pop_auth.c:200 smtp.c:584 smtp.c:646 ++#: imap/auth_sasl.c:259 pop/pop_auth.c:201 smtp.c:609 smtp.c:671 + msgid "SASL authentication failed" + msgstr "L'authentification SASL a échoué" + +@@ -2299,79 +2575,67 @@ msgstr "Le renommage a échoué : %s" + msgid "Mailbox renamed" + msgstr "Boîte aux lettres renommée" + +-#: imap/command.c:164 ++#: imap/command.c:177 + #, c-format + msgid "Mailbox %s@%s closed" + msgstr "Boîte aux lettres %s@%s fermée" + +-#: imap/command.c:1258 imap/command.c:1370 ++#: imap/command.c:1287 imap/command.c:1399 + #, c-format + msgid "Connection to %s timed out" + msgstr "Connexion à %s interrompue" + +-#: imap/imap.c:87 ++#: imap/imap.c:93 + #, fuzzy + msgid "This IMAP server is ancient. NeoMutt does not work with it." + msgstr "Ce serveur IMAP est trop ancien. NeoMutt ne marche pas avec." + +-#: imap/imap.c:438 ++#: imap/imap.c:444 + #, c-format + msgid "Header search without header name: %s" + msgstr "Recherche d'en-tête sans nom d'en-tête : %s" + +-#: imap/imap.c:468 ++#: imap/imap.c:474 + #, c-format + msgid "Server-side custom search not supported: %s" + msgstr "" + +-#: imap/imap.c:584 ++#: imap/imap.c:590 + #, c-format + msgid "CREATE failed: %s" + msgstr "CREATE a échoué : %s" + +-#: imap/imap.c:704 ++#: imap/imap.c:710 + #, c-format + msgid "Closing connection to %s..." + msgstr "Fermeture de la connexion à %s..." + +-#: imap/imap.c:882 nntp/nntp.c:1889 pop/pop_lib.c:324 smtp.c:687 ++#: imap/imap.c:888 nntp/nntp.c:1891 pop/pop_lib.c:350 smtp.c:712 + msgid "Secure connection with TLS?" + msgstr "Connexion sécurisée avec TLS?" + +-#: imap/imap.c:895 nntp/nntp.c:1910 pop/pop_lib.c:343 smtp.c:702 ++#: imap/imap.c:901 nntp/nntp.c:1912 pop/pop_lib.c:369 smtp.c:727 + msgid "Could not negotiate TLS connection" + msgstr "Impossible de négocier la connexion TLS" + +-#: imap/imap.c:910 pop/pop_lib.c:360 ++#: imap/imap.c:916 pop/pop_lib.c:386 + msgid "Encrypted connection unavailable" + msgstr "Connexion chiffrée non disponible" + + # , c-format +-#: imap/imap.c:1417 ++#: imap/imap.c:1430 + #, c-format + msgid "Subscribing to %s..." + msgstr "Abonnement à %s..." + + # , c-format +-#: imap/imap.c:1419 ++#: imap/imap.c:1432 + #, c-format + msgid "Unsubscribing from %s..." + msgstr "Désabonnement de %s..." + + # , c-format +-#: imap/imap.c:1430 init.c:2142 +-#, c-format +-msgid "Subscribed to %s" +-msgstr "Abonné à %s" +- +-# , c-format +-#: imap/imap.c:1432 init.c:2620 +-#, c-format +-msgid "Unsubscribed from %s" +-msgstr "Désabonné de %s" +- +-# , c-format +-#: imap/imap.c:1582 imap/message.c:1674 ++#: imap/imap.c:1595 imap/message.c:1674 + #, fuzzy, c-format + msgid "Copying %d message to %s..." + msgid_plural "Copying %d messages to %s..." +@@ -2379,17 +2643,17 @@ msgstr[0] "Copie de %d messages dans %s..." + msgstr[1] "Copie de %d messages dans %s..." + + # , c-format +-#: imap/imap.c:1599 imap/imap.c:2217 imap/message.c:1713 muttlib.c:1505 ++#: imap/imap.c:1612 imap/imap.c:2254 imap/message.c:1713 muttlib.c:1503 + #, c-format + msgid "Create %s?" + msgstr "Créer %s?" + +-#: imap/imap.c:1667 ++#: imap/imap.c:1685 + msgid "Expunge failed" + msgstr "Expunge a échoué" + + # , c-format +-#: imap/imap.c:1683 ++#: imap/imap.c:1701 + #, fuzzy, c-format + msgid "Marking %d message deleted..." + msgid_plural "Marking %d messages deleted..." +@@ -2398,46 +2662,46 @@ msgstr[1] "Marquage de %d messages à effacer..." + + # , c-format + #. L10N: The plural is chosen by the last %d, i.e. the total number +-#: imap/imap.c:1720 ++#: imap/imap.c:1738 + #, fuzzy, c-format + msgid "Saving changed message... [%d/%d]" + msgid_plural "Saving changed messages... [%d/%d]" + msgstr[0] "La sauvegarde a changé des messages... [%d/%d]" + msgstr[1] "La sauvegarde a changé des messages... [%d/%d]" + +-#: imap/imap.c:1776 ++#: imap/imap.c:1794 + msgid "Error saving flags. Close anyway?" + msgstr "Erreur en sauvant les indicateurs. Fermer tout de même?" + +-#: imap/imap.c:1783 ++#: imap/imap.c:1801 + msgid "Error saving flags" + msgstr "Erreur en sauvant les indicateurs" + +-#: imap/imap.c:1808 ++#: imap/imap.c:1826 + msgid "Expunging messages from server..." + msgstr "Effacement des messages sur le serveur..." + +-#: imap/imap.c:1814 ++#: imap/imap.c:1832 + msgid "imap_sync_mailbox: EXPUNGE failed" + msgstr "imap_sync_mailbox : EXPUNGE a échoué" + + # , c-format +-#: imap/imap.c:2023 nntp/nntp.c:2486 ++#: imap/imap.c:2058 nntp/nntp.c:2488 + #, c-format + msgid "Selecting %s..." + msgstr "Sélection de %s..." + +-#: imap/imap.c:2184 ++#: imap/imap.c:2221 + msgid "Error opening mailbox" + msgstr "Erreur à l'ouverture de la boîte aux lettres" + +-#: imap/imap.c:2330 ++#: imap/imap.c:2367 + #, fuzzy + msgid "IMAP server doesn't support custom flags" + msgstr "Le serveur SMTP ne supporte pas l'authentification" + + # , c-format +-#: imap/imap.c:2374 ++#: imap/imap.c:2411 + #, fuzzy + msgid "Invalid IMAP flags" + msgstr "Invalide " +@@ -2448,7 +2712,7 @@ msgid "Abort download and close mailbox?" + msgstr "" + + #: imap/message.c:554 mutt/memory.c:58 mutt/memory.c:98 mutt/memory.c:134 +-#: mutt/string.c:1178 mx.c:1176 ++#: mutt/string.c:1201 mx.c:1195 + msgid "Out of memory" + msgstr "Plus de mémoire " + +@@ -2471,7 +2735,7 @@ msgid "Unable to fetch headers from this IMAP server version" + msgstr "Impossible de récupérer les en-têtes à partir de cette version du serveur IMAP" + + # , c-format +-#: imap/message.c:1099 index.c:1548 nntp/nntp.c:1328 pop/pop.c:426 ++#: imap/message.c:1099 index.c:1554 nntp/nntp.c:1330 pop/pop.c:426 + msgid "Fetching message headers..." + msgstr "Récupération des en-têtes des messages..." + +@@ -2485,161 +2749,161 @@ msgstr "Chargement du message..." + msgid "Copying message %d to %s..." + msgstr "Copie du message %d dans %s..." + +-#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2737 pop/pop.c:1110 ++#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2739 pop/pop.c:1105 + msgid "Fetching message..." + msgstr "Récupération du message..." + +-#: imap/message.c:1959 pop/pop.c:1106 ++#: imap/message.c:1959 pop/pop.c:1101 + msgid "The message index is incorrect. Try reopening the mailbox." + msgstr "L'index du message est incorrect. Essayez de rouvrir la boîte aux lettres." + +-#: imap/util.c:767 ++#: imap/util.c:796 + msgid "Continue?" + msgstr "Continuer?" + +-#: index.c:115 index.c:128 ++#: index.c:111 index.c:124 + msgid "Quit" + msgstr "Quitter" + +-#: index.c:118 index.c:131 recvattach.c:93 ++#: index.c:114 index.c:127 recvattach.c:91 + msgid "Save" + msgstr "Sauver" + +-#: index.c:119 query.c:81 ++#: index.c:115 query.c:79 + msgid "Mail" + msgstr "Message" + +-#: index.c:120 pager.c:237 ++#: index.c:116 pager.c:229 + msgid "Reply" + msgstr "Répondre" + +-#: index.c:121 ++#: index.c:117 + msgid "Group" + msgstr "Groupe" + +-#: index.c:132 pager.c:244 ++#: index.c:128 pager.c:236 + msgid "Post" + msgstr "" + + # , c-format +-#: index.c:133 pager.c:245 ++#: index.c:129 pager.c:237 + #, fuzzy + msgid "Followup" + msgstr "Suivi de la discussion à %s%s?" + +-#: index.c:190 index.c:1362 ++#: index.c:186 index.c:1367 + msgid "No mailbox is open" + msgstr "Aucune boîte aux lettres n'est ouverte" + +-#: index.c:196 ++#: index.c:192 + msgid "There are no messages" + msgstr "Il n'y a pas de messages" + +-#: index.c:202 ++#: index.c:198 + msgid "No visible messages" + msgstr "Pas de messages visibles" + +-#: index.c:208 mx.c:901 pager.c:223 recvattach.c:80 ++#: index.c:204 mx.c:920 pager.c:215 recvattach.c:78 + msgid "Mailbox is read-only" + msgstr "La boîte aux lettres est en lecture seule" + + # , c-format +-#: index.c:214 pager.c:225 recvattach.c:98 ++#: index.c:210 pager.c:217 recvattach.c:96 + msgid "Function not permitted in attach-message mode" + msgstr "Fonction non autorisée en mode attach-message" + + #. L10N: %s is one of the CHECK_ACL entries below. +-#: index.c:239 pager.c:290 ++#: index.c:235 pager.c:282 + #, c-format + msgid "%s: Operation not permitted by ACL" + msgstr "%s : opération non permise par les ACL" + +-#: index.c:430 ++#: index.c:426 + msgid "Can't toggle write on a readonly mailbox" + msgstr "Impossible de rendre inscriptible une boîte aux lettres en lecture seule " + +-#: index.c:437 ++#: index.c:433 + msgid "Changes to folder will be written on folder exit" + msgstr "Les modifications du dossier seront enregistrées à sa sortie" + +-#: index.c:442 ++#: index.c:438 + msgid "Changes to folder will not be written" + msgstr "Les modifications du dossier ne seront pas enregistrées" + + # , c-format +-#: index.c:719 muttlib.c:1490 mx.c:206 mx.c:340 ++#: index.c:714 muttlib.c:1488 mx.c:206 mx.c:338 + #, c-format + msgid "%s is not a mailbox" + msgstr "%s n'est pas une boîte aux lettres " + +-#: index.c:1218 ++#: index.c:1223 + msgid "Mailbox was externally modified. Flags may be wrong." + msgstr "Boîte aux lettres modifiée extérieurement. Les indicateurs peuvent être faux." + +-#: index.c:1227 pager.c:2409 ++#: index.c:1232 pager.c:2379 + msgid "New mail in this mailbox" + msgstr "Nouveau(x) message(s) dans cette boîte aux lettres" + +-#: index.c:1242 ++#: index.c:1247 + msgid "Mailbox was externally modified" + msgstr "La boîte aux lettres a été modifiée extérieurement" + +-#: index.c:1369 ++#: index.c:1374 + msgid "No tagged messages" + msgstr "Pas de messages marqués" + + # , c-format +-#: index.c:1373 index.c:1647 menu.c:1423 ++#: index.c:1378 index.c:1653 menu.c:1423 + msgid "Nothing to do" + msgstr "Rien à faire" + + # , c-format +-#: index.c:1470 ++#: index.c:1475 + #, fuzzy + msgid "Enter Message-Id: " + msgstr "Entrez keyID : " + +-#: index.c:1481 ++#: index.c:1487 + msgid "Article has no parent reference" + msgstr "" + +-#: index.c:1504 ++#: index.c:1510 + #, fuzzy + msgid "Message is not visible in limited view" + msgstr "Le message racine n'est pas visible dans cette vue limitée" + +-#: index.c:1508 ++#: index.c:1514 + #, fuzzy, c-format + msgid "Fetching %s from server..." + msgstr "Effacement des messages sur le serveur..." + +-#: index.c:1518 nntp/nntp.c:2772 ++#: index.c:1524 nntp/nntp.c:2774 + #, c-format + msgid "Article %s not found on the server" + msgstr "" + +-#: index.c:1544 ++#: index.c:1550 + msgid "No Message-Id. Unable to perform operation." + msgstr "" + +-#: index.c:1623 ++#: index.c:1629 + #, fuzzy + msgid "No deleted messages found in the thread" + msgstr "effacer tous les messages dans la discussion" + +-#: index.c:1644 ++#: index.c:1650 + msgid "Jump to message: " + msgstr "Aller au message : " + +-#: index.c:1650 ++#: index.c:1656 + msgid "Argument must be a message number" + msgstr "L'argument doit être un numéro de message" + +-#: index.c:1652 ++#: index.c:1658 + msgid "Invalid message number" + msgstr "Numéro de message invalide" + +-#: index.c:1654 ++#: index.c:1660 + msgid "That message is not visible" + msgstr "Ce message n'est pas visible" + +@@ -2652,39 +2916,39 @@ msgstr "Ce message n'est pas visible" + #. delete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. + #. +-#: index.c:1692 index.c:3267 pager.c:3064 ++#: index.c:1698 index.c:3293 pager.c:3039 + #, fuzzy + msgid "Can't delete messages" + msgstr "Impossible d'effacer le message" + +-#: index.c:1695 ++#: index.c:1701 + msgid "Delete messages matching: " + msgstr "Effacer les messages correspondant à : " + +-#: index.c:1736 ++#: index.c:1742 + msgid "No limit pattern is in effect" + msgstr "Aucun motif de limite n'est en vigueur" + + # , c-format + #. L10N: ask for a limit to apply +-#: index.c:1741 ++#: index.c:1747 + #, c-format + msgid "Limit: %s" + msgstr "Limite : %s" + +-#: index.c:1778 ++#: index.c:1784 + msgid "Limit to messages matching: " + msgstr "Limiter aux messages correspondant à : " + +-#: index.c:1809 ++#: index.c:1815 + msgid "To view all messages, limit to \"all\"" + msgstr "Pour voir tous les messages, limiter à \"all\"" + +-#: index.c:1821 pager.c:2514 ++#: index.c:1827 pager.c:2487 + msgid "Quit NeoMutt?" + msgstr "Quitter NeoMutt?" + +-#: index.c:1924 ++#: index.c:1931 + msgid "Tag messages matching: " + msgstr "Marquer les messages correspondant à : " + +@@ -2692,204 +2956,204 @@ msgstr "Marquer les messages correspondant à : " + #. L10N: Due to the implementation details we do not know whether we + #. undelete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:1935 index.c:3807 pager.c:3418 ++#: index.c:1942 index.c:3833 pager.c:3396 + #, fuzzy + msgid "Can't undelete messages" + msgstr "Impossible de récupérer le message" + +-#: index.c:1939 ++#: index.c:1946 + msgid "Undelete messages matching: " + msgstr "Récupérer les messages correspondant à : " + +-#: index.c:1948 ++#: index.c:1955 + msgid "Untag messages matching: " + msgstr "Démarquer les messages correspondant à : " + +-#: index.c:1989 ++#: index.c:1996 + msgid "Logged out of IMAP servers" + msgstr "Déconnecté des serveurs IMAP" + +-#: index.c:2105 ++#: index.c:2113 + #, fuzzy + msgid "No virtual folder and no Message-Id, aborting" + msgstr "Pas d'objet (Subject), abandon" + +-#: index.c:2117 index.c:2288 index.c:2310 index.c:2331 ++#: index.c:2125 index.c:2313 index.c:2335 index.c:2356 + msgid "Failed to create query, aborting" + msgstr "" + +-#: index.c:2130 ++#: index.c:2138 + msgid "failed to find message in notmuch database. try running 'notmuch new'." + msgstr "" + +-#: index.c:2139 ++#: index.c:2147 + msgid "Failed to read thread, aborting" + msgstr "" + +-#: index.c:2171 mx.c:1252 mx.c:1272 ++#: index.c:2179 mx.c:1271 mx.c:1291 + #, fuzzy + msgid "Folder doesn't support tagging, aborting" + msgstr "Le serveur SMTP ne supporte pas l'authentification" + +-#: index.c:2188 ++#: index.c:2196 + #, fuzzy + msgid "No tag specified, aborting" + msgstr "Pas d'objet (Subject), abandon" + +-#: index.c:2198 ++#: index.c:2206 + msgid "Update tags..." + msgstr "" + +-#: index.c:2238 ++#: index.c:2246 + msgid "Failed to modify tags, aborting" + msgstr "" + +-#: index.c:2284 ++#: index.c:2293 + #, fuzzy + msgid "No query, aborting" + msgstr "Pas d'objet (Subject), abandon" + +-#: index.c:2299 index.c:2320 ++#: index.c:2324 index.c:2345 + msgid "Windowed queries disabled" + msgstr "" + +-#: index.c:2304 index.c:2325 ++#: index.c:2329 index.c:2350 + msgid "No notmuch vfolder currently loaded" + msgstr "" + +-#: index.c:2374 ++#: index.c:2399 + msgid "Open mailbox in read-only mode" + msgstr "Ouvrir la boîte aux lettres en lecture seule" + +-#: index.c:2376 ++#: index.c:2401 + msgid "Open mailbox" + msgstr "Ouvrir la boîte aux lettres" + +-#: index.c:2386 ++#: index.c:2411 + msgid "No mailboxes have new mail" + msgstr "Pas de boîte aux lettres avec des nouveaux messages" + +-#: index.c:2419 ++#: index.c:2444 + #, fuzzy + msgid "Open newsgroup in read-only mode" + msgstr "Ouvrir la boîte aux lettres en lecture seule" + +-#: index.c:2421 ++#: index.c:2446 + msgid "Open newsgroup" + msgstr "" + +-#: index.c:2538 ++#: index.c:2564 + #, fuzzy + msgid "Exit NeoMutt without saving?" + msgstr "Quitter NeoMutt sans sauvegarder?" + + #. L10N: CHECK_ACL +-#: index.c:2554 ++#: index.c:2580 + #, fuzzy + msgid "Can't break thread" + msgstr "Impossible de lier les discussions" + +-#: index.c:2574 ++#: index.c:2600 + msgid "Thread broken" + msgstr "Discussion cassée" + +-#: index.c:2587 ++#: index.c:2613 + msgid "Thread can't be broken, message is not part of a thread" + msgstr "La discussion ne peut pas être cassée, le message n'est pas dans une discussion" + + #. L10N: CHECK_ACL +-#: index.c:2597 ++#: index.c:2623 + msgid "Can't link threads" + msgstr "Impossible de lier les discussions" + +-#: index.c:2606 ++#: index.c:2632 + msgid "No Message-ID: header available to link thread" + msgstr "Pas d'en-tête Message-ID: disponible pour lier la discussion" + +-#: index.c:2608 ++#: index.c:2634 + msgid "First, please tag a message to be linked here" + msgstr "D'abord, veuillez marquer un message à lier ici" + +-#: index.c:2621 ++#: index.c:2647 + msgid "Threads linked" + msgstr "Discussions liées" + +-#: index.c:2624 ++#: index.c:2650 + msgid "No thread linked" + msgstr "Pas de discussion liée" + +-#: index.c:2665 index.c:2690 ++#: index.c:2691 index.c:2716 + msgid "You are on the last message" + msgstr "Vous êtes sur le dernier message" + +-#: index.c:2673 index.c:2716 ++#: index.c:2699 index.c:2742 + msgid "No undeleted messages" + msgstr "Pas de message non effacé" + +-#: index.c:2708 index.c:2733 ++#: index.c:2734 index.c:2759 + msgid "You are on the first message" + msgstr "Vous êtes sur le premier message" + +-#: index.c:2874 ++#: index.c:2900 + msgid "No new messages in this limited view" + msgstr "Pas de nouveaux messages dans cette vue limitée" + +-#: index.c:2876 ++#: index.c:2902 + msgid "No new messages" + msgstr "Pas de nouveaux messages" + +-#: index.c:2881 ++#: index.c:2907 + msgid "No unread messages in this limited view" + msgstr "Pas de messages non lus dans cette vue limitée" + +-#: index.c:2883 ++#: index.c:2909 + msgid "No unread messages" + msgstr "Pas de messages non lus" + +-#: index.c:2893 menu.c:1208 pager.c:2644 pattern.c:2652 ++#: index.c:2919 menu.c:1208 pager.c:2618 pattern.c:2776 + msgid "Search wrapped to top" + msgstr "La recherche est repartie du début" + +-#: index.c:2898 pager.c:2669 pattern.c:2663 ++#: index.c:2924 pager.c:2643 pattern.c:2787 + msgid "Search wrapped to bottom" + msgstr "La recherche est repartie de la fin" + + #. L10N: CHECK_ACL +-#: index.c:2915 ++#: index.c:2941 + msgid "Can't flag message" + msgstr "Impossible de marquer le message" + + #. L10N: CHECK_ACL +-#: index.c:2961 pager.c:3377 ++#: index.c:2987 pager.c:3355 + msgid "Can't toggle new" + msgstr "Impossible d'inverser l'indic. 'nouveau'" + +-#: index.c:3057 ++#: index.c:3083 + msgid "No more threads" + msgstr "Pas d'autres discussions" + +-#: index.c:3059 ++#: index.c:3085 + msgid "You are on the first thread" + msgstr "Vous êtes sur la première discussion" + +-#: index.c:3156 ++#: index.c:3182 + #, fuzzy + msgid "Thread contains unread or flagged messages" + msgstr "Cette discussion contient des messages non-lus" + + #. L10N: CHECK_ACL +-#: index.c:3215 pager.c:3019 ++#: index.c:3241 pager.c:2994 + msgid "Can't delete message" + msgstr "Impossible d'effacer le message" + + #. L10N: CHECK_ACL +-#: index.c:3339 ++#: index.c:3365 + msgid "Can't edit message" + msgstr "Impossible d'éditer le message" + + #. L10N: This is displayed when the x-label on one or more + #. messages is edited. +-#: index.c:3432 pager.c:3495 ++#: index.c:3458 pager.c:3473 + #, fuzzy, c-format + msgid "%d label changed" + msgid_plural "%d labels changed" +@@ -2899,7 +3163,7 @@ msgstr[1] "%d labels ont changé" + #. L10N: This is displayed when editing an x-label, but no messages + #. were updated. Possibly due to canceling at the prompt or if the new + #. label is the same as the old label. +-#: index.c:3440 pager.c:3499 ++#: index.c:3466 pager.c:3477 + msgid "No labels changed" + msgstr "Aucun label n'a changé" + +@@ -2907,7 +3171,7 @@ msgstr "Aucun label n'a changé" + #. L10N: Due to the implementation details we do not know whether we + #. mark zero, 1, 12, ... messages as read. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:3571 ++#: index.c:3597 + #, fuzzy + msgid "Can't mark messages as read" + msgstr "Impossible de marquer le(s) message(s) comme lu(s)" +@@ -2916,287 +3180,141 @@ msgstr "Impossible de marquer le(s) message(s) comme lu(s)" + #. L10N: This is the prompt for . Whatever they + #. enter will be prefixed by $mark_macro_prefix and will become + #. a macro hotkey to jump to the currently selected message. +-#: index.c:3612 ++#: index.c:3638 + msgid "Enter macro stroke: " + msgstr "Entrez les touches de la macro : " + + #. L10N: "message hotkey" is the key bindings menu description of a + #. macro created by . +-#: index.c:3620 ++#: index.c:3646 + msgid "message hotkey" + msgstr "hotkey (marque-page)" + + #. L10N: This is echoed after creates a new hotkey + #. macro. %s is the hotkey string ($mark_macro_prefix followed + #. by whatever they typed at the prompt.) +-#: index.c:3625 ++#: index.c:3651 + #, c-format + msgid "Message bound to %s" + msgstr "Message lié à %s" + + #. L10N: This error is printed if can't find a + #. Message-ID for the currently selected message in the index. +-#: index.c:3634 ++#: index.c:3660 + msgid "No message ID to macro" + msgstr "Pas de Message-ID pour la macro" + +-#: index.c:3688 pager.c:3221 recvattach.c:1646 ++#: index.c:3714 pager.c:3196 recvattach.c:1678 + msgid "Reply by mail as poster prefers?" + msgstr "" + +-#: index.c:3691 pager.c:3182 pager.c:3194 pager.c:3224 ++#: index.c:3717 pager.c:3157 pager.c:3169 pager.c:3199 + msgid "Posting to this group not allowed, may be moderated. Continue?" + msgstr "" + + #. L10N: CHECK_ACL +-#: index.c:3768 pager.c:3397 ++#: index.c:3794 pager.c:3375 + msgid "Can't undelete message" + msgstr "Impossible de récupérer le message" + + # , c-format +-#: init.c:313 ++#: init.c:223 + #, c-format + msgid "Error in command line: %s" + msgstr "Erreur dans la ligne de commande : %s" + + # , c-format +-#: init.c:315 ++#: init.c:225 + #, fuzzy, c-format + msgid "Warning in command line: %s" + msgstr "Erreur dans la ligne de commande : %s" + +-#: init.c:426 ++#: init.c:336 + msgid "unable to determine nodename via uname()" + msgstr "impossible de déterminer nodename via uname()" + +-#: init.c:580 +-msgid "-group: no group name" +-msgstr "-group: pas de nom de groupe" +- +-#: init.c:590 +-msgid "out of arguments" +-msgstr "pas assez d'arguments" +- +-#: init.c:804 init.c:1752 +-#, c-format +-msgid "Error: Can't build path of '%s'" +-msgstr "" +- +-#: init.c:817 +-#, c-format +-msgid "Error: Cyclic sourcing of configuration file '%s'" +-msgstr "" +- +-# , c-format +-#: init.c:850 +-#, c-format +-msgid "Error in %s, line %d: %s" +-msgstr "Erreur dans %s, ligne %d : %s" +- +-# , c-format +-#: init.c:861 +-#, fuzzy, c-format +-msgid "Warning in %s, line %d: %s" +-msgstr "Erreur dans %s, ligne %d : %s" +- +-# , c-format +-#: init.c:885 +-#, c-format +-msgid "source: errors in %s" +-msgstr "source : erreurs dans %s" +- +-#: init.c:885 +-#, c-format +-msgid "source: reading aborted due to too many errors in %s" +-msgstr "source : lecture interrompue car trop d'erreurs dans %s" +- +-# , c-format +-#: init.c:894 +-#, fuzzy, c-format +-msgid "source: %d warning in %s" +-msgid_plural "source: %d warnings in %s" +-msgstr[0] "source : erreurs dans %s" +-msgstr[1] "source : erreurs dans %s" +- +-#: init.c:923 +-msgid "alias: no address" +-msgstr "alias : pas d'adresse" +- +-#: init.c:965 +-#, c-format +-msgid "Warning: Bad IDN '%s' in alias '%s'" +-msgstr "Attention : mauvais IDN '%s' dans l'alias '%s'" +- +-#: init.c:1043 +-msgid "attachments: no disposition" +-msgstr "attachments : pas de disposition" +- +-#: init.c:1054 +-#, fuzzy +-msgid "Current attachments settings:" +-msgstr "éditer la description de l'attachement" +- +-#: init.c:1084 +-msgid "attachments: invalid disposition" +-msgstr "attachments : disposition invalide" +- +-#: init.c:1160 +-#, c-format +-msgid "%sgroup: missing -rx or -addr" +-msgstr "%sgroup : il manque un -rx ou -addr" +- +-#: init.c:1186 +-#, c-format +-msgid "%sgroup: warning: bad IDN '%s'" +-msgstr "%sgroup : attention : mauvais IDN '%s'" +- +-#: init.c:1278 +-#, c-format +-msgid "Error: %s" +-msgstr "" +- +-#: init.c:1445 +-msgid "invalid header field" +-msgstr "en-tête invalide" +- +-# , c-format +-#: init.c:1711 init.c:1815 +-#, c-format +-msgid "%s: unknown variable" +-msgstr "%s : variable inconnue" +- +-# , c-format +-#: init.c:1908 +-#, c-format +-msgid "%s is unset" +-msgstr "%s n'est pas positionné" +- +-# , c-format +-#: init.c:1953 mutt_lua.c:478 +-#, c-format +-msgid "source: error at %s" +-msgstr "source : erreur dans %s" +- +-#: init.c:1961 +-#, fuzzy, c-format +-msgid "source: file %s could not be sourced" +-msgstr "Les messages n'ont pas pu être imprimés" +- +-#: init.c:1984 +-msgid "spam: no matching pattern" +-msgstr "spam : pas de motif correspondant" +- +-#: init.c:1986 +-msgid "nospam: no matching pattern" +-msgstr "nospam : pas de motif correspondant" +- +-# , c-format +-#: init.c:2146 +-#, fuzzy, c-format +-msgid "Could not subscribe to %s" +-msgstr "Abonné à %s" +- +-#: init.c:2154 init.c:2632 +-#, fuzzy +-msgid "No folder specified" +-msgstr "Pas d'objet (Subject) spécifié." +- +-#: init.c:2341 +-msgid "unattachments: no disposition" +-msgstr "unattachments : pas de disposition" +- +-#: init.c:2379 +-msgid "unattachments: invalid disposition" +-msgstr "unattachments : disposition invalide" +- + # , c-format +-#: init.c:2624 +-#, fuzzy, c-format +-msgid "Could not unsubscribe from %s" +-msgstr "Désabonné de %s" +- +-# , c-format +-#: init.c:3292 ++#: init.c:1042 + #, c-format + msgid "%s: unknown command" + msgstr "%s : commande inconnue" + +-#: init.c:3837 ++#: init.c:1588 + msgid "'charset' must contain exactly one character set name" + msgstr "" + + # , c-format +-#: init.c:3853 init.c:3877 init.c:3912 ++#: init.c:1604 init.c:1628 init.c:1663 + #, fuzzy, c-format + msgid "Invalid value for option %s: %s" + msgstr "Valeur invalide pour l'option %s : \"%s\"" + +-#: init.c:3890 ++#: init.c:1641 + #, c-format + msgid "Option %s may not be set or reset from the pager" + msgstr "" + + # , c-format +-#: init.c:3928 ++#: init.c:1679 + #, fuzzy, c-format + msgid "Option %s may not be set when in attach-message mode" + msgstr "Fonction non autorisée en mode attach-message." + + #. L10N: This applies to the "$wrap_headers" config variable +-#: init.c:3943 ++#: init.c:1694 + #, c-format + msgid "Option %s must between 78 and 998 inclusive" + msgstr "" + +-#: keymap.c:373 keymap.c:381 ++#: keymap.c:371 keymap.c:379 + #, c-format + msgid "Binding '%s' will alias '%s' Before, try: 'bind %s %s noop' https://neomutt.org/guide/configuration.html#bind-warnings" + msgstr "" + +-#: keymap.c:757 ++#: keymap.c:755 + msgid "Macro loop detected" + msgstr "Boucle de macro détectée" + +-#: keymap.c:1064 keymap.c:1099 ++#: keymap.c:1062 keymap.c:1097 + msgid "Key is not bound" + msgstr "Cette touche n'est pas affectée" + + # , c-format +-#: keymap.c:1104 ++#: keymap.c:1102 + #, c-format + msgid "Key is not bound. Press '%s' for help." + msgstr "Cette touche n'est pas affectée. Tapez '%s' pour avoir l'aide." + +-#: keymap.c:1177 ++#: keymap.c:1175 + #, c-format + msgid "%s: null key sequence" + msgstr "%s: séquence de touches nulle" + +-#: keymap.c:1212 ++#: keymap.c:1210 + #, c-format + msgid "Function '%s' not available for menu '%s'" + msgstr "" + +-#: keymap.c:1495 ++#: keymap.c:1493 + msgid "macro: empty key sequence" + msgstr "macro : séquence de touches vide" + +-#: keymap.c:1543 ++#: keymap.c:1541 + msgid "exec: no arguments" + msgstr "exec : pas d'arguments" + + # , c-format +-#: keymap.c:1563 ++#: keymap.c:1561 + #, c-format + msgid "%s: no such function" + msgstr "%s : cette fonction n'existe pas" + + # , c-format +-#: keymap.c:1584 ++#: keymap.c:1582 + msgid "Enter keys (^G to abort): " + msgstr "Entrez des touches (^G pour abandonner) : " + +-#: keymap.c:1590 ++#: keymap.c:1588 + #, c-format + msgid "Char = %s, Octal = %o, Decimal = %d" + msgstr "Caractère = %s, Octal = %o, Decimal = %d" +@@ -3224,7 +3342,7 @@ msgid "Scanning %s..." + msgstr "Lecture de %s..." + + # , c-format +-#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:353 ++#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:351 + #, c-format + msgid "Reading %s..." + msgstr "Lecture de %s..." +@@ -3240,13 +3358,13 @@ msgstr "_maildir_commit_message() : impossible de fixer l'heure du fichier" + + # , c-format + #. L10N: Displayed before/as a mailbox is being synced +-#: maildir/shared.c:1723 mbox/mbox.c:1276 mx.c:461 notmuch/mutt_notmuch.c:2364 ++#: maildir/shared.c:1734 mbox/mbox.c:1276 mx.c:459 notmuch/mutt_notmuch.c:2364 + #, c-format + msgid "Writing %s..." + msgstr "Écriture de %s..." + + #. L10N: Try to limit to 80 columns +-#: main.c:227 ++#: main.c:160 + msgid "" + "usage:\n" + " neomutt [-Enx] [-e ] [-F ] [-H ] [-i ]\n" +@@ -3269,7 +3387,7 @@ msgid "" + msgstr "" + + #. L10N: Try to limit to 80 columns. If more space is needed add an indented line +-#: main.c:247 ++#: main.c:180 + msgid "" + "options:\n" + " -- Special argument forces NeoMutt to stop option parsing and treat\n" +@@ -3312,56 +3430,56 @@ msgid "" + " or exit immediately with exit code 1 otherwise" + msgstr "" + +-#: main.c:312 ++#: main.c:245 + msgid "Error initializing terminal" + msgstr "Erreur d'initialisation du terminal" + +-#: main.c:390 ++#: main.c:323 + msgid "unable to determine username" + msgstr "impossible de déterminer le nom d'utilisateur" + +-#: main.c:396 ++#: main.c:329 + msgid "unable to determine home directory" + msgstr "impossible de déterminer le répertoire personnel" + +-#: main.c:640 ++#: main.c:572 + #, c-format + msgid "Error: value '%s' is invalid for -d" + msgstr "Erreur : la valeur '%s' est invalide pour -d" + +-#: main.c:884 ++#: main.c:815 + msgid "Failed to parse mailto: link" + msgstr "Impossible d'analyser le lien mailto:" + +-#: main.c:896 send.c:2452 send.c:2456 ++#: main.c:827 send.c:2463 send.c:2467 + msgid "No recipients specified" + msgstr "Pas de destinataire spécifié" + +-#: main.c:923 ++#: main.c:854 + msgid "Can't use -E flag with stdin" + msgstr "Impossible d'utiliser l'option -E avec stdin" + + # , c-format +-#: main.c:1007 ++#: main.c:938 + #, fuzzy, c-format + msgid "Can't parse message template: %s" + msgstr "Impossible d'ouvrir le fichier : %s" + + # , c-format +-#: main.c:1073 mutt_header.c:329 ++#: main.c:1004 mutt_header.c:329 + #, c-format + msgid "%s: unable to attach file" + msgstr "%s : impossible d'attacher le fichier" + +-#: main.c:1156 ++#: main.c:1087 + msgid "No mailbox with new mail" + msgstr "Pas de boîte aux lettres avec des nouveaux messages" + +-#: main.c:1180 ++#: main.c:1111 + msgid "No incoming mailboxes defined" + msgstr "Pas de boîtes aux lettres recevant du courrier définies" + +-#: main.c:1230 ++#: main.c:1161 + msgid "Mailbox is empty" + msgstr "La boîte aux lettres est vide" + +@@ -3405,52 +3523,52 @@ msgstr "La boîte aux lettres n'a pas pu être réouverte " + msgid "Can't write message" + msgstr "Impossible d'écrire le message" + +-#: menu.c:632 ++#: menu.c:631 + msgid "Jump to: " + msgstr "Aller à : " + +-#: menu.c:641 ++#: menu.c:640 + msgid "Invalid index number" + msgstr "Numéro d'index invalide" + +-#: menu.c:645 menu.c:671 menu.c:744 menu.c:810 menu.c:828 menu.c:843 menu.c:858 +-#: menu.c:873 menu.c:890 menu.c:907 menu.c:1553 ++#: menu.c:644 menu.c:670 menu.c:743 menu.c:809 menu.c:827 menu.c:842 menu.c:857 ++#: menu.c:872 menu.c:889 menu.c:906 menu.c:1553 + msgid "No entries" + msgstr "Pas d'entrées" + +-#: menu.c:668 ++#: menu.c:667 + msgid "You can't scroll down farther" + msgstr "Défilement vers le bas impossible" + +-#: menu.c:690 ++#: menu.c:689 + msgid "You can't scroll up farther" + msgstr "Défilement vers le haut impossible" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the first page" + msgstr "Vous êtes sur la première page" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the last page" + msgstr "Vous êtes sur la dernière page" + +-#: menu.c:922 ++#: menu.c:921 + msgid "You are on the last entry" + msgstr "Vous êtes sur la dernière entrée" + +-#: menu.c:937 ++#: menu.c:936 + msgid "You are on the first entry" + msgstr "Vous êtes sur la première entrée" + +-#: menu.c:1172 pager.c:2692 pattern.c:2578 ++#: menu.c:1172 pager.c:2666 pattern.c:2702 + msgid "Search for: " + msgstr "Rechercher : " + +-#: menu.c:1173 pager.c:2693 pattern.c:2579 ++#: menu.c:1173 pager.c:2667 pattern.c:2703 + msgid "Reverse search for: " + msgstr "Rechercher en arrière : " + +-#: menu.c:1226 pager.c:2641 pager.c:2666 pager.c:2800 pattern.c:2708 ++#: menu.c:1226 pager.c:2615 pager.c:2640 pager.c:2774 pattern.c:2832 + msgid "Not found" + msgstr "Non trouvé" + +@@ -3495,20 +3613,20 @@ msgstr "Attente de la tentative de flock... %d" + msgid "Bad history file format (line %d)" + msgstr "Mauvais format de fichier d'historique (ligne %d)" + +-#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1006 ncrypt/crypt_gpgme.c:2381 +-#: ncrypt/crypt_gpgme.c:2401 ncrypt/crypt_gpgme.c:2460 +-#: ncrypt/crypt_gpgme.c:2477 ncrypt/crypt_gpgme.c:2509 +-#: ncrypt/crypt_gpgme.c:2527 ncrypt/crypt_gpgme.c:2611 +-#: ncrypt/crypt_gpgme.c:3194 ncrypt/crypt_gpgme.c:3292 +-#: ncrypt/crypt_gpgme.c:4373 ncrypt/pgp.c:576 ncrypt/pgp.c:583 ncrypt/pgp.c:896 +-#: ncrypt/pgp.c:1014 ncrypt/pgp.c:1161 ncrypt/pgp.c:1181 ncrypt/pgp.c:1215 +-#: ncrypt/pgp.c:1568 ncrypt/pgpkey.c:708 ncrypt/pgpkey.c:902 +-#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1092 ncrypt/smime.c:1100 +-#: ncrypt/smime.c:1191 ncrypt/smime.c:1299 ncrypt/smime.c:1364 +-#: ncrypt/smime.c:1372 ncrypt/smime.c:1571 ncrypt/smime.c:1967 +-#: ncrypt/smime.c:2046 ncrypt/smime.c:2053 ncrypt/smime.c:2156 +-#: ncrypt/smime.c:2281 ncrypt/smime.c:2297 nntp/nntp.c:1397 nntp/nntp.c:2237 +-#: pattern.c:1132 pop/pop.c:182 ++#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1005 ncrypt/crypt_gpgme.c:2420 ++#: ncrypt/crypt_gpgme.c:2440 ncrypt/crypt_gpgme.c:2499 ++#: ncrypt/crypt_gpgme.c:2516 ncrypt/crypt_gpgme.c:2548 ++#: ncrypt/crypt_gpgme.c:2566 ncrypt/crypt_gpgme.c:2650 ++#: ncrypt/crypt_gpgme.c:3237 ncrypt/crypt_gpgme.c:3335 ++#: ncrypt/crypt_gpgme.c:4421 ncrypt/pgp.c:575 ncrypt/pgp.c:582 ncrypt/pgp.c:895 ++#: ncrypt/pgp.c:1013 ncrypt/pgp.c:1160 ncrypt/pgp.c:1180 ncrypt/pgp.c:1214 ++#: ncrypt/pgp.c:1570 ncrypt/pgpkey.c:741 ncrypt/pgpkey.c:937 ++#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1126 ncrypt/smime.c:1134 ++#: ncrypt/smime.c:1225 ncrypt/smime.c:1333 ncrypt/smime.c:1398 ++#: ncrypt/smime.c:1406 ncrypt/smime.c:1605 ncrypt/smime.c:2001 ++#: ncrypt/smime.c:2080 ncrypt/smime.c:2087 ncrypt/smime.c:2190 ++#: ncrypt/smime.c:2315 ncrypt/smime.c:2331 nntp/nntp.c:1399 nntp/nntp.c:2239 ++#: pattern.c:1171 pop/pop.c:182 + msgid "Can't create temporary file" + msgstr "Impossible de créer le fichier temporaire" + +@@ -3531,7 +3649,7 @@ msgid "Logging at level %d to file '%s'" + msgstr "Débuggage au niveau %d.\n" + + # , c-format +-#: mutt/path.c:401 ++#: mutt/path.c:420 + #, fuzzy + msgid "Error: converting path to absolute" + msgstr "Erreur de connexion au serveur : %s" +@@ -3557,17 +3675,17 @@ msgstr "Signal %d (%s) ... On quitte.\n" + msgid "Caught signal %d ... Exiting.\n" + msgstr "Signal %d ... On quitte.\n" + +-#: muttlib.c:490 ++#: muttlib.c:488 + #, c-format + msgid "mutt_randbuf buflen=%zu" + msgstr "" + +-#: muttlib.c:510 ++#: muttlib.c:508 + #, c-format + msgid "open /dev/urandom: %s" + msgstr "" + +-#: muttlib.c:517 ++#: muttlib.c:515 + #, c-format + msgid "read /dev/urandom: %s" + msgstr "" +@@ -3575,152 +3693,123 @@ msgstr "" + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) + #. These three letters correspond to the choices in the string. +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "File is a directory, save under it: (y)es, (n)o, (a)ll?" + msgstr "Le fichier est un répertoire, sauver dans celui-ci? (o)ui, (n)on, (t)ous" + +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "yna" + msgstr "ont" + + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) +-#: muttlib.c:763 ++#: muttlib.c:761 + msgid "File is a directory, save under it?" + msgstr "Le fichier est un répertoire, sauver dans celui-ci?" + +-#: muttlib.c:768 ++#: muttlib.c:766 + msgid "File under directory: " + msgstr "Fichier dans le répertoire : " + +-#: muttlib.c:781 ++#: muttlib.c:779 + msgid "File exists, (o)verwrite, (a)ppend, or (c)ancel?" + msgstr "Le fichier existe, écras(e)r, (c)oncaténer ou (a)nnuler?" + + #. L10N: Options for: File exists, (o)verwrite, (a)ppend, or (c)ancel? +-#: muttlib.c:783 ++#: muttlib.c:781 + msgid "oac" + msgstr "eca" + +-#: muttlib.c:1458 ++#: muttlib.c:1456 + msgid "Can't save message to POP mailbox" + msgstr "Impossible de sauver le message dans la boîte aux lettres POP" + + # , c-format +-#: muttlib.c:1468 ++#: muttlib.c:1466 + #, c-format + msgid "Append messages to %s?" + msgstr "Ajouter les messages à %s?" + +-#: muttlib.c:1481 ++#: muttlib.c:1479 + #, fuzzy + msgid "Can't save message to news server" + msgstr "Impossible de laisser les messages sur le serveur" + +-#. L10N: Example: Username at myhost.com +-#: mutt_account.c:233 +-#, c-format +-msgid "Username at %s: " +-msgstr "Nom d'utilisateur sur %s : " +- +-# , c-format +-#: mutt_account.c:315 +-#, c-format +-msgid "Password for %s@%s: " +-msgstr "Mot de passe pour %s@%s : " +- +-#. L10N: You will see this error message if (1) you have "oauthbearer" in +-#. one of your $*_authenticators and (2) you do not have the corresponding +-#. $*_oauth_refresh_command defined. So the message does not mean "None of +-#. your $*_oauth_refresh_command's are defined." +-#: mutt_account.c:383 +-#, fuzzy +-msgid "No OAUTH refresh command defined" +-msgstr "Commande de requête non définie" +- +-#: mutt_account.c:390 +-msgid "Unable to run refresh command" +-msgstr "" +- +-#: mutt_account.c:400 +-msgid "Command returned empty string" +-msgstr "" +- +-#: mutt_attach.c:140 mutt_attach.c:274 mutt_attach.c:459 mutt_attach.c:1054 ++#: mutt_attach.c:142 mutt_attach.c:276 mutt_attach.c:488 mutt_attach.c:1087 + msgid "Can't match 'nametemplate', continue?" + msgstr "Ne correspond pas au 'nametemplate', continuer?" + +-#: mutt_attach.c:150 ++#: mutt_attach.c:152 + #, c-format + msgid "Mailcap compose entry requires %%s" + msgstr "L'entrée compose du fichier mailcap nécessite %%s" + +-#: mutt_attach.c:168 ++#: mutt_attach.c:170 + msgid "Failure to open file to parse headers" + msgstr "Échec d'ouverture du fichier pour analyser les en-têtes" + +-#: mutt_attach.c:202 ++#: mutt_attach.c:204 + msgid "Failure to open file to strip headers" + msgstr "Échec d'ouverture du fichier pour enlever les en-têtes" + +-#: mutt_attach.c:212 ++#: mutt_attach.c:214 + msgid "Failure to rename file" + msgstr "Échec de renommage du fichier" + + # , c-format +-#: mutt_attach.c:222 ++#: mutt_attach.c:224 + #, c-format + msgid "No mailcap compose entry for %s, creating empty file" + msgstr "Pas d'entrée compose pour %s dans mailcap, création d'un fichier vide" + +-#: mutt_attach.c:284 ++#: mutt_attach.c:286 + #, c-format + msgid "Mailcap Edit entry requires %%s" + msgstr "L'entrée Edit du fichier mailcap nécessite %%s" + + # , c-format +-#: mutt_attach.c:305 ++#: mutt_attach.c:307 + #, c-format + msgid "No mailcap edit entry for %s" + msgstr "Pas d'entrée edit pour %s dans mailcap" + +-#: mutt_attach.c:427 ++#: mutt_attach.c:456 + msgid "No matching mailcap entry found. Viewing as text." + msgstr "Pas d'entrée mailcap correspondante. Visualisation en texte." + +-#: mutt_attach.c:440 ++#: mutt_attach.c:469 + msgid "MIME type not defined. Can't view attachment." + msgstr "Type MIME non défini. Impossible de visualiser l'attachement." + +-#: mutt_attach.c:535 ++#: mutt_attach.c:563 + #, c-format + msgid "---Command: %-20.20s Description: %s" + msgstr "---Commande: %-20.20s Description: %s" + +-#: mutt_attach.c:540 ++#: mutt_attach.c:568 + #, c-format + msgid "---Command: %-30.30s Attachment: %s" + msgstr "---Commande: %-30.30s Attachement: %s" + +-#: mutt_attach.c:619 ++#: mutt_attach.c:652 + #, c-format + msgid "---Attachment: %s: %s" + msgstr "---Attachement: %s: %s" + +-#: mutt_attach.c:621 ++#: mutt_attach.c:654 + #, c-format + msgid "---Attachment: %s" + msgstr "---Attachement: %s" + +-#: mutt_attach.c:902 mutt_attach.c:910 ++#: mutt_attach.c:935 mutt_attach.c:943 + msgid "Write fault" + msgstr "Erreur d'écriture " + +-#: mutt_attach.c:1174 ++#: mutt_attach.c:1207 + msgid "I don't know how to print that" + msgstr "Je ne sais pas comment imprimer ceci " + +-#: mutt_history.c:47 query.c:84 ++#: mutt_history.c:47 query.c:82 + msgid "Search" + msgstr "Rechercher" + +@@ -3730,23 +3819,23 @@ msgid "History '%s'" + msgstr "Historique '%s'" + + # , c-format +-#: mutt_logging.c:315 ++#: mutt_logging.c:313 + #, fuzzy, c-format + msgid "Invalid value for option %s: %ld" + msgstr "Valeur invalide pour l'option %s : \"%s\"" + +-#: mutt_lua.c:429 ++#: mutt_lua.c:431 + msgid "Error: Couldn't load the lua interpreter" + msgstr "" + + # , c-format +-#: mutt_lua.c:491 ++#: mutt_lua.c:493 + #, fuzzy, c-format + msgid "Couldn't source lua source: %s" + msgstr "Impossible de verrouiller %s\n" + + # , c-format +-#: mutt_mailbox.c:214 ++#: mutt_mailbox.c:241 + msgid "New mail in " + msgstr "Nouveau(x) message(s) dans " + +@@ -3767,13 +3856,13 @@ msgstr "Le message racine n'est pas visible dans cette vue limitée" + msgid "Parent message is not visible in this limited view" + msgstr "Le message père n'est pas visible dans cette vue limitée" + +-#: mx.c:387 ++#: mx.c:385 + #, fuzzy, c-format + msgid "Reading from %s interrupted..." + msgstr "Recherche interrompue." + + #. L10N: Displayed if a mailbox sync fails +-#: mx.c:468 ++#: mx.c:469 + #, fuzzy, c-format + msgid "Unable to write %s" + msgstr "Impossible d'attacher %s " +@@ -3781,7 +3870,7 @@ msgstr "Impossible d'attacher %s " + # , c-format + #. L10N: Although we know the precise number of messages, we do not show it to the user. + #. So feel free to use a "generic plural" as plural translation if your language has one. +-#: mx.c:523 ++#: mx.c:525 + #, fuzzy + msgid "message not deleted" + msgid_plural "messages not deleted" +@@ -3793,14 +3882,14 @@ msgstr[1] "message(s) non effacé(s)" + msgid "Can't open trash folder" + msgstr "Impossible d'ouvrir la corbeille" + +-#: mx.c:623 ++#: mx.c:627 + msgid "Mark all articles read?" + msgstr "" + + # , c-format + #. L10N: The first argument is the number of read messages to be + #. moved, the second argument is the target mailbox. +-#: mx.c:671 ++#: mx.c:675 + #, fuzzy, c-format + msgid "Move %d read message to %s?" + msgid_plural "Move %d read messages to %s?" +@@ -3808,7 +3897,7 @@ msgstr[0] "Déplacer %d messages lus dans %s ?" + msgstr[1] "Déplacer %d messages lus dans %s ?" + + # , c-format +-#: mx.c:685 mx.c:917 ++#: mx.c:689 mx.c:936 + #, fuzzy, c-format + msgid "Purge %d deleted message?" + msgid_plural "Purge %d deleted messages?" +@@ -3816,53 +3905,53 @@ msgstr[0] "Effacer %d message marqué à effacer ?" + msgstr[1] "Effacer %d messages marqués à effacer ?" + + # , c-format +-#: mx.c:708 ++#: mx.c:712 + #, c-format + msgid "Moving read messages to %s..." + msgstr "Déplacement des messages lus dans %s..." + +-#: mx.c:774 mx.c:908 ++#: mx.c:783 mx.c:927 + msgid "Mailbox is unchanged" + msgstr "La boîte aux lettres est inchangée" + + # , c-format +-#: mx.c:827 ++#: mx.c:842 + #, c-format + msgid "%d kept, %d moved, %d deleted" + msgstr "%d gardé(s), %d déplacé(s), %d effacé(s)" + + # , c-format +-#: mx.c:831 mx.c:972 ++#: mx.c:846 mx.c:991 + #, c-format + msgid "%d kept, %d deleted" + msgstr "%d gardé(s), %d effacé(s)" + + # , c-format +-#: mx.c:892 ++#: mx.c:911 + #, c-format + msgid " Press '%s' to toggle write" + msgstr " Appuyez sur '%s' pour inverser l'écriture autorisée" + +-#: mx.c:894 ++#: mx.c:913 + msgid "Use 'toggle-write' to re-enable write" + msgstr "Utilisez 'toggle-write' pour réautoriser l'écriture " + + # , c-format +-#: mx.c:896 ++#: mx.c:915 + #, c-format + msgid "Mailbox is marked unwritable. %s" + msgstr "La boîte aux lettres est protégée contre l'écriture. %s" + +-#: mx.c:966 ++#: mx.c:985 + msgid "Mailbox checkpointed" + msgstr "Boîte aux lettres vérifiée" + +-#: ncrypt/crypt.c:93 ++#: ncrypt/crypt.c:91 + #, c-format + msgid " (current time: %c)" + msgstr " (heure courante : %c)" + +-#: ncrypt/crypt.c:98 ++#: ncrypt/crypt.c:96 + #, c-format + msgid "[-- %s output follows%s --]\n" + msgstr "[-- La sortie %s suit%s --]\n" +@@ -3871,53 +3960,53 @@ msgstr "[-- La sortie %s suit%s --]\n" + #. by gpg-agent) we can't know whether we forgot zero, 1, 12, ... + #. passwords. So in English we use "Passphrases". Your language might + #. have other means to express this. +-#: ncrypt/crypt.c:119 ++#: ncrypt/crypt.c:117 + #, fuzzy + msgid "Passphrases forgotten" + msgstr "Phrase(s) de passe oubliée(s)" + +-#: ncrypt/crypt.c:203 ++#: ncrypt/crypt.c:201 + msgid "Inline PGP can't be used with attachments. Revert to PGP/MIME?" + msgstr "PGP en ligne est impossible avec format=flowed. Utiliser PGP/MIME ?" + +-#: ncrypt/crypt.c:207 ++#: ncrypt/crypt.c:205 + msgid "Mail not sent: inline PGP can't be used with attachments" + msgstr "Message non envoyé : PGP en ligne est impossible avec format=flowed" + +-#: ncrypt/crypt.c:214 ++#: ncrypt/crypt.c:212 + msgid "Inline PGP can't be used with format=flowed. Revert to PGP/MIME?" + msgstr "PGP en ligne est impossible avec format=flowed. Utiliser PGP/MIME ?" + +-#: ncrypt/crypt.c:218 ++#: ncrypt/crypt.c:216 + msgid "Mail not sent: inline PGP can't be used with format=flowed" + msgstr "Message non envoyé : PGP en ligne est impossible avec format=flowed" + +-#: ncrypt/crypt.c:228 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:714 +-#: ncrypt/pgpkey.c:915 ++#: ncrypt/crypt.c:226 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:747 ++#: ncrypt/pgpkey.c:950 + msgid "Invoking PGP..." + msgstr "Appel de PGP..." + +-#: ncrypt/crypt.c:240 ++#: ncrypt/crypt.c:238 + msgid "Message can't be sent inline. Revert to using PGP/MIME?" + msgstr "Le message ne peut pas être envoyé en ligne. Utiliser PGP/MIME?" + +-#: ncrypt/crypt.c:242 send.c:2430 ++#: ncrypt/crypt.c:240 send.c:2441 + msgid "Mail not sent" + msgstr "Message non envoyé" + +-#: ncrypt/crypt.c:662 ++#: ncrypt/crypt.c:666 + msgid "S/MIME messages with no hints on content are unsupported" + msgstr "Les messages S/MIME sans indication sur le contenu ne sont pas supportés" + +-#: ncrypt/crypt.c:888 ++#: ncrypt/crypt.c:892 + msgid "Trying to extract PGP keys...\n" + msgstr "Tentative d'extraction de clés PGP...\n" + +-#: ncrypt/crypt.c:917 ++#: ncrypt/crypt.c:921 + msgid "Trying to extract S/MIME certificates..." + msgstr "Tentative d'extraction de certificats S/MIME..." + +-#: ncrypt/crypt.c:1140 ++#: ncrypt/crypt.c:1144 + #, c-format + msgid "" + "[-- Error: Unknown multipart/signed protocol %s --]\n" +@@ -3926,7 +4015,7 @@ msgstr "" + "[-- Erreur : Protocole multipart/signed %s inconnu --]\n" + "\n" + +-#: ncrypt/crypt.c:1180 ++#: ncrypt/crypt.c:1184 + msgid "" + "[-- Error: Missing or bad-format multipart/signed signature --]\n" + "\n" +@@ -3934,7 +4023,7 @@ msgstr "" + "[-- Erreur : Signature multipart/signed manquante ou mauvais format  --]\n" + "\n" + +-#: ncrypt/crypt.c:1222 ++#: ncrypt/crypt.c:1226 + #, c-format + msgid "" + "[-- Warning: We can't verify %s/%s signatures. --]\n" +@@ -3943,7 +4032,7 @@ msgstr "" + "[-- Attention : les signatures %s/%s ne peuvent pas être vérifiées. --]\n" + "\n" + +-#: ncrypt/crypt.c:1235 ++#: ncrypt/crypt.c:1239 + msgid "" + "[-- The following data is signed --]\n" + "\n" +@@ -3951,7 +4040,7 @@ msgstr "" + "[-- Les données suivantes sont signées --]\n" + "\n" + +-#: ncrypt/crypt.c:1243 ++#: ncrypt/crypt.c:1248 + msgid "" + "[-- Warning: Can't find any signatures. --]\n" + "\n" +@@ -3959,7 +4048,7 @@ msgstr "" + "[-- Attention : Impossible de trouver des signatures. --]\n" + "\n" + +-#: ncrypt/crypt.c:1249 ++#: ncrypt/crypt.c:1255 + msgid "" + "\n" + "[-- End of signed data --]\n" +@@ -3978,241 +4067,241 @@ msgstr "Appel de S/MIME..." + #. L10N: The following are the headers for the "verify key" output from the + #. GPGME key selection menu (bound to "c" in the key selection menu). + #. They will be automatically aligned. +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Name: " + msgstr "Nom : " + +-#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1869 ncrypt/crypt_gpgme.c:1874 ++#: ncrypt/crypt_gpgme.c:183 ncrypt/crypt_gpgme.c:1900 ncrypt/crypt_gpgme.c:1905 + msgid "aka: " + msgstr "aka : " + + # , c-format +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Valid From: " + msgstr "From valide : " + + # , c-format +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Valid To: " + msgstr "To valide : " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Key Type: " + msgstr "Type de clé : " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Key Usage: " + msgstr "Utilisation : " + +-#: ncrypt/crypt_gpgme.c:185 ncrypt/crypt_gpgme.c:1759 ++#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1790 + msgid "Fingerprint: " + msgstr "Empreinte : " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Serial-No: " + msgstr "N° de série : " + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + msgid "Issued By: " + msgstr "Publiée par : " + + # , c-format +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + msgid "Subkey: " + msgstr "Sous-clé : " + +-#: ncrypt/crypt_gpgme.c:783 ++#: ncrypt/crypt_gpgme.c:782 + #, c-format + msgid "error enabling CMS protocol: %s" + msgstr "erreur lors de l'activation du protocole CMS : %s" + + # , c-format +-#: ncrypt/crypt_gpgme.c:806 ++#: ncrypt/crypt_gpgme.c:805 + #, c-format + msgid "error creating gpgme data object: %s" + msgstr "erreur lors de la création de l'objet gpgme : %s" + + # , c-format +-#: ncrypt/crypt_gpgme.c:907 ncrypt/crypt_gpgme.c:934 ncrypt/crypt_gpgme.c:2057 +-#: ncrypt/crypt_gpgme.c:2814 ++#: ncrypt/crypt_gpgme.c:906 ncrypt/crypt_gpgme.c:933 ncrypt/crypt_gpgme.c:2096 ++#: ncrypt/crypt_gpgme.c:2853 + #, c-format + msgid "error allocating data object: %s" + msgstr "erreur lors de l'allocation de l'objet : %s" + + # , c-format +-#: ncrypt/crypt_gpgme.c:956 ++#: ncrypt/crypt_gpgme.c:955 + #, c-format + msgid "error rewinding data object: %s" + msgstr "erreur lors du retour au début de l'objet : %s" + +-#: ncrypt/crypt_gpgme.c:972 ++#: ncrypt/crypt_gpgme.c:971 + msgid "[tempfile]" + msgstr "" + + # , c-format +-#: ncrypt/crypt_gpgme.c:978 ncrypt/crypt_gpgme.c:1032 ++#: ncrypt/crypt_gpgme.c:977 ncrypt/crypt_gpgme.c:1031 + #, c-format + msgid "error reading data object: %s" + msgstr "erreur lors de la lecture de l'objet : %s" + + # , c-format +-#: ncrypt/crypt_gpgme.c:1149 ++#: ncrypt/crypt_gpgme.c:1148 + #, fuzzy, c-format + msgid "error adding recipient '%s': %s" + msgstr "erreur lors de l'ajout du destinataire « %s » : %s" + +-#: ncrypt/crypt_gpgme.c:1202 ++#: ncrypt/crypt_gpgme.c:1186 + #, c-format + msgid "secret key '%s' not found: %s" + msgstr "clé secrète « %s » non trouvée : %s" + +-#: ncrypt/crypt_gpgme.c:1218 ++#: ncrypt/crypt_gpgme.c:1203 + #, fuzzy, c-format + msgid "ambiguous specification of secret key '%s'\n" + msgstr "spécification de la clé secrète « %s » ambiguë" + +-#: ncrypt/crypt_gpgme.c:1234 ++#: ncrypt/crypt_gpgme.c:1219 + #, c-format + msgid "error setting secret key '%s': %s" + msgstr "erreur lors de la mise en place de la clé secrète « %s » : %s" + +-#: ncrypt/crypt_gpgme.c:1250 ++#: ncrypt/crypt_gpgme.c:1278 + #, c-format + msgid "error setting PKA signature notation: %s" + msgstr "erreur lors de la mise en place de la note de signature PKA : %s" + + # , c-format +-#: ncrypt/crypt_gpgme.c:1324 ++#: ncrypt/crypt_gpgme.c:1353 + #, c-format + msgid "error encrypting data: %s" + msgstr "erreur lors du chiffrage des données : %s" + + # , c-format +-#: ncrypt/crypt_gpgme.c:1453 ++#: ncrypt/crypt_gpgme.c:1483 + #, c-format + msgid "error signing data: %s" + msgstr "erreur lors de la signature des données : %s" + +-#: ncrypt/crypt_gpgme.c:1463 ++#: ncrypt/crypt_gpgme.c:1493 + msgid "$pgp_sign_as unset and no default key specified in ~/.gnupg/gpg.conf" + msgstr "$pgp_sign_as non renseigné et pas de clé par défaut dans ~/.gnupg/gpg.conf" + +-#: ncrypt/crypt_gpgme.c:1641 ++#: ncrypt/crypt_gpgme.c:1672 + msgid "Warning: One of the keys has been revoked\n" + msgstr "Attention ! Une des clés a été révoquée\n" + +-#: ncrypt/crypt_gpgme.c:1651 ++#: ncrypt/crypt_gpgme.c:1682 + msgid "Warning: The key used to create the signature expired at: " + msgstr "Attention ! La clé utilisée pour créer la signature a expiré à :" + +-#: ncrypt/crypt_gpgme.c:1657 ++#: ncrypt/crypt_gpgme.c:1688 + msgid "Warning: At least one certification key has expired\n" + msgstr "Attention ! Au moins une clé de certification a expiré\n" + +-#: ncrypt/crypt_gpgme.c:1671 ++#: ncrypt/crypt_gpgme.c:1702 + msgid "Warning: The signature expired at: " + msgstr "Attention ! La signature a expiré à :" + +-#: ncrypt/crypt_gpgme.c:1678 ++#: ncrypt/crypt_gpgme.c:1709 + msgid "Can't verify due to a missing key or certificate\n" + msgstr "Impossible de vérifier par suite d'une clé ou certificat manquant\n" + +-#: ncrypt/crypt_gpgme.c:1683 ++#: ncrypt/crypt_gpgme.c:1714 + msgid "The CRL is not available\n" + msgstr "La CRL n'est pas disponible.\n" + +-#: ncrypt/crypt_gpgme.c:1689 ++#: ncrypt/crypt_gpgme.c:1720 + msgid "Available CRL is too old\n" + msgstr "La CRL disponible est trop ancienne\n" + +-#: ncrypt/crypt_gpgme.c:1694 ++#: ncrypt/crypt_gpgme.c:1725 + msgid "A policy requirement was not met\n" + msgstr "Désaccord avec une partie de la politique\n" + +-#: ncrypt/crypt_gpgme.c:1703 ++#: ncrypt/crypt_gpgme.c:1734 + msgid "A system error occurred" + msgstr "Une erreur système s'est produite" + +-#: ncrypt/crypt_gpgme.c:1734 ++#: ncrypt/crypt_gpgme.c:1765 + msgid "WARNING: PKA entry does not match signer's address: " + msgstr "ATTENTION : l'entrée PKA ne correspond pas à l'adresse du signataire : " + +-#: ncrypt/crypt_gpgme.c:1740 ++#: ncrypt/crypt_gpgme.c:1771 + msgid "PKA verified signer's address is: " + msgstr "L'adresse du signataire vérifiée par PKA est : " + +-#: ncrypt/crypt_gpgme.c:1822 ++#: ncrypt/crypt_gpgme.c:1853 + msgid "WARNING: We have NO indication whether the key belongs to the person named as shown above\n" + msgstr "ATTENTION ! Nous n'avons AUCUNE indication informant si la clé appartient à la personne nommée ci-dessus\n" + +-#: ncrypt/crypt_gpgme.c:1829 ++#: ncrypt/crypt_gpgme.c:1860 + msgid "WARNING: The key does NOT BELONG to the person named as shown above\n" + msgstr "ATTENTION ! La clé N'APPARTIENT PAS à la personne nommée ci-dessus\n" + +-#: ncrypt/crypt_gpgme.c:1833 ++#: ncrypt/crypt_gpgme.c:1864 + msgid "WARNING: It is NOT certain that the key belongs to the person named as shown above\n" + msgstr "ATTENTION ! Il n'est PAS certain que la clé appartienne à la personne nommée ci-dessus\n" + +-#: ncrypt/crypt_gpgme.c:1886 ++#: ncrypt/crypt_gpgme.c:1917 + msgid "KeyID " + msgstr "ID de la clé " + + #. L10N: You will see this message in place of "KeyID " + #. if the S/MIME key has no ID. This is quite an error. +-#: ncrypt/crypt_gpgme.c:1893 ++#: ncrypt/crypt_gpgme.c:1924 + msgid "no signature fingerprint available" + msgstr "" + + # , c-format +-#: ncrypt/crypt_gpgme.c:1902 ncrypt/crypt_gpgme.c:1907 ++#: ncrypt/crypt_gpgme.c:1933 ncrypt/crypt_gpgme.c:1938 + msgid "created: " + msgstr "créée : " + +-#: ncrypt/crypt_gpgme.c:1981 ++#: ncrypt/crypt_gpgme.c:2012 + #, c-format + msgid "Error getting key information for KeyID %s: %s\n" + msgstr "Erreur en récupérant les infos de la clé pour l'ID %s : %s\n" + +-#: ncrypt/crypt_gpgme.c:1988 ncrypt/crypt_gpgme.c:2003 ++#: ncrypt/crypt_gpgme.c:2019 ncrypt/crypt_gpgme.c:2034 + msgid "Good signature from:" + msgstr "Bonne signature de :" + +-#: ncrypt/crypt_gpgme.c:1995 ++#: ncrypt/crypt_gpgme.c:2026 + msgid "*BAD* signature from:" + msgstr "*MAUVAISE* signature de :" + +-#: ncrypt/crypt_gpgme.c:2011 ++#: ncrypt/crypt_gpgme.c:2042 + msgid "Problem signature from:" + msgstr "Signature problématique de :" + + #. L10N: This is trying to match the width of the + #. "Problem signature from:" translation just above. +-#: ncrypt/crypt_gpgme.c:2017 ++#: ncrypt/crypt_gpgme.c:2048 + msgid " expires: " + msgstr " expire : " + +-#: ncrypt/crypt_gpgme.c:2064 ncrypt/crypt_gpgme.c:2294 +-#: ncrypt/crypt_gpgme.c:3081 ++#: ncrypt/crypt_gpgme.c:2103 ncrypt/crypt_gpgme.c:2333 ++#: ncrypt/crypt_gpgme.c:3124 + msgid "[-- Begin signature information --]\n" + msgstr "[-- Début des informations sur la signature --]\n" + + # , c-format +-#: ncrypt/crypt_gpgme.c:2075 ++#: ncrypt/crypt_gpgme.c:2114 + #, c-format + msgid "Error: verification failed: %s\n" + msgstr "Erreur : la vérification a échoué : %s\n" + +-#: ncrypt/crypt_gpgme.c:2126 ++#: ncrypt/crypt_gpgme.c:2165 + #, c-format + msgid "*** Begin Notation (signature by: %s) ***\n" + msgstr "*** Début de la note (signature par : %s) ***\n" + +-#: ncrypt/crypt_gpgme.c:2145 ++#: ncrypt/crypt_gpgme.c:2184 + msgid "*** End Notation ***\n" + msgstr "*** Fin de la note ***\n" + +-#: ncrypt/crypt_gpgme.c:2153 ncrypt/crypt_gpgme.c:2308 +-#: ncrypt/crypt_gpgme.c:3091 ++#: ncrypt/crypt_gpgme.c:2192 ncrypt/crypt_gpgme.c:2347 ++#: ncrypt/crypt_gpgme.c:3134 + msgid "" + "[-- End signature information --]\n" + "\n" +@@ -4220,7 +4309,7 @@ msgstr "" + "[-- Fin des informations sur la signature --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:2268 ++#: ncrypt/crypt_gpgme.c:2307 + #, c-format + msgid "" + "[-- Error: decryption failed: %s --]\n" +@@ -4229,21 +4318,26 @@ msgstr "" + "[-- Erreur : le déchiffrage a échoué : %s --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:2821 ++#: ncrypt/crypt_gpgme.c:2860 + #, fuzzy, c-format + msgid "Error importing key: %s" + msgstr "Erreur à l'export de la clé : %s" + +-#: ncrypt/crypt_gpgme.c:3059 ++#: ncrypt/crypt_gpgme.c:3098 + #, c-format + msgid "Error: decryption/verification failed: %s\n" + msgstr "Erreur : le déchiffrage/vérification a échoué : %s\n" + +-#: ncrypt/crypt_gpgme.c:3103 ++#: ncrypt/crypt_gpgme.c:3105 ncrypt/crypt_gpgme.c:3302 ncrypt/pgp.c:726 ++#: ncrypt/pgp.c:1273 ++msgid "PGP message successfully decrypted" ++msgstr "Message PGP déchiffré avec succès" ++ ++#: ncrypt/crypt_gpgme.c:3146 + msgid "Error: copy data failed\n" + msgstr "Erreur : la copie des données a échoué\n" + +-#: ncrypt/crypt_gpgme.c:3116 ncrypt/pgp.c:675 ++#: ncrypt/crypt_gpgme.c:3159 ncrypt/pgp.c:674 + msgid "" + "[-- BEGIN PGP MESSAGE --]\n" + "\n" +@@ -4251,11 +4345,11 @@ msgstr "" + "[-- DÉBUT DE MESSAGE PGP --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3118 ncrypt/pgp.c:677 ++#: ncrypt/crypt_gpgme.c:3161 ncrypt/pgp.c:676 + msgid "[-- BEGIN PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- DÉBUT DE BLOC DE CLÉ PUBLIQUE PGP --]\n" + +-#: ncrypt/crypt_gpgme.c:3120 ncrypt/pgp.c:679 ++#: ncrypt/crypt_gpgme.c:3163 ncrypt/pgp.c:678 + msgid "" + "[-- BEGIN PGP SIGNED MESSAGE --]\n" + "\n" +@@ -4263,19 +4357,19 @@ msgstr "" + "[-- DÉBUT DE MESSAGE SIGNÉ PGP --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3145 ncrypt/pgp.c:716 ++#: ncrypt/crypt_gpgme.c:3188 ncrypt/pgp.c:715 + msgid "[-- END PGP MESSAGE --]\n" + msgstr "[-- FIN DE MESSAGE PGP --]\n" + +-#: ncrypt/crypt_gpgme.c:3147 ncrypt/pgp.c:730 ++#: ncrypt/crypt_gpgme.c:3190 ncrypt/pgp.c:729 + msgid "[-- END PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- FIN DE BLOC DE CLÉ PUBLIQUE PGP --]\n" + +-#: ncrypt/crypt_gpgme.c:3149 ncrypt/pgp.c:732 ++#: ncrypt/crypt_gpgme.c:3192 ncrypt/pgp.c:731 + msgid "[-- END PGP SIGNED MESSAGE --]\n" + msgstr "[-- FIN DE MESSAGE SIGNÉ PGP --]\n" + +-#: ncrypt/crypt_gpgme.c:3170 ncrypt/pgp.c:765 ++#: ncrypt/crypt_gpgme.c:3213 ncrypt/pgp.c:764 + msgid "" + "[-- Error: could not find beginning of PGP message --]\n" + "\n" +@@ -4283,11 +4377,11 @@ msgstr "" + "[-- Erreur : impossible de trouver le début du message PGP --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3198 ncrypt/crypt_gpgme.c:3296 ncrypt/pgp.c:1218 ++#: ncrypt/crypt_gpgme.c:3241 ncrypt/crypt_gpgme.c:3339 ncrypt/pgp.c:1218 + msgid "[-- Error: could not create temporary file --]\n" + msgstr "[-- Erreur : impossible de créer le fichier temporaire --]\n" + +-#: ncrypt/crypt_gpgme.c:3212 ++#: ncrypt/crypt_gpgme.c:3255 + msgid "" + "[-- The following data is PGP/MIME signed and encrypted --]\n" + "\n" +@@ -4295,7 +4389,7 @@ msgstr "" + "[-- Les données suivantes sont signées et chiffrées avec PGP/MIME --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3214 ncrypt/pgp.c:1231 ++#: ncrypt/crypt_gpgme.c:3257 ncrypt/pgp.c:1232 + msgid "" + "[-- The following data is PGP/MIME encrypted --]\n" + "\n" +@@ -4303,24 +4397,20 @@ msgstr "" + "[-- Les données suivantes sont chiffrées avec PGP/MIME --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3254 ++#: ncrypt/crypt_gpgme.c:3297 + msgid "[-- End of PGP/MIME signed and encrypted data --]\n" + msgstr "[-- Fin des données signées et chiffrées avec PGP/MIME --]\n" + +-#: ncrypt/crypt_gpgme.c:3255 ncrypt/pgp.c:1267 ++#: ncrypt/crypt_gpgme.c:3298 ncrypt/pgp.c:1268 + msgid "[-- End of PGP/MIME encrypted data --]\n" + msgstr "[-- Fin des données chiffrées avec PGP/MIME --]\n" + +-#: ncrypt/crypt_gpgme.c:3259 ncrypt/pgp.c:727 ncrypt/pgp.c:1272 +-msgid "PGP message successfully decrypted" +-msgstr "Message PGP déchiffré avec succès" +- +-#: ncrypt/crypt_gpgme.c:3265 ncrypt/pgp.c:666 ncrypt/pgp.c:718 +-#: ncrypt/pgp.c:1276 ++#: ncrypt/crypt_gpgme.c:3308 ncrypt/pgp.c:665 ncrypt/pgp.c:717 ++#: ncrypt/pgp.c:1277 + msgid "Could not decrypt PGP message" + msgstr "Impossible de déchiffrer le message PGP" + +-#: ncrypt/crypt_gpgme.c:3310 ++#: ncrypt/crypt_gpgme.c:3353 + msgid "" + "[-- The following data is S/MIME signed --]\n" + "\n" +@@ -4328,7 +4418,7 @@ msgstr "" + "[-- Les données suivantes sont signées avec S/MIME --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3311 ++#: ncrypt/crypt_gpgme.c:3354 + msgid "" + "[-- The following data is S/MIME encrypted --]\n" + "\n" +@@ -4336,35 +4426,35 @@ msgstr "" + "[-- Les données suivantes sont chiffrées avec S/MIME --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3358 ++#: ncrypt/crypt_gpgme.c:3401 + msgid "[-- End of S/MIME signed data --]\n" + msgstr "[-- Fin des données signées avec S/MIME --]\n" + +-#: ncrypt/crypt_gpgme.c:3359 ++#: ncrypt/crypt_gpgme.c:3402 + msgid "[-- End of S/MIME encrypted data --]\n" + msgstr "[-- Fin des données chiffrées avec S/MIME --]\n" + +-#: ncrypt/crypt_gpgme.c:4029 ++#: ncrypt/crypt_gpgme.c:4077 + msgid "[Can't display this user ID (unknown encoding)]" + msgstr "[Impossible d'afficher cet ID d'utilisateur (encodage inconnu)]" + +-#: ncrypt/crypt_gpgme.c:4031 ++#: ncrypt/crypt_gpgme.c:4079 + msgid "[Can't display this user ID (invalid encoding)]" + msgstr "[Impossible d'afficher cet ID d'utilisateur (encodage invalide)]" + +-#: ncrypt/crypt_gpgme.c:4036 ++#: ncrypt/crypt_gpgme.c:4084 + msgid "[Can't display this user ID (invalid DN)]" + msgstr "[Impossible d'afficher cet ID d'utilisateur (DN invalide)]" + + # , c-format + #. L10N: comes after the Name or aka if the key is invalid + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4150 ncrypt/crypt_gpgme.c:4291 ++#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4339 + msgid "[Invalid]" + msgstr "[Invalide]" + + #. L10N: This is printed after "Key Type: " and looks like this: PGP, 2048 bit RSA +-#: ncrypt/crypt_gpgme.c:4190 ncrypt/crypt_gpgme.c:4331 ++#: ncrypt/crypt_gpgme.c:4238 ncrypt/crypt_gpgme.c:4379 + #, fuzzy, c-format + msgid "%s, %lu bit %s\n" + msgid_plural "%s, %lu bit %s\n" +@@ -4372,97 +4462,97 @@ msgstr[0] "%s, %lu bits, %s\n" + msgstr[1] "%s, %lu bits, %s\n" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4338 ++#: ncrypt/crypt_gpgme.c:4246 ncrypt/crypt_gpgme.c:4386 + msgid "encryption" + msgstr "chiffrage" + +-#: ncrypt/crypt_gpgme.c:4199 ncrypt/crypt_gpgme.c:4205 +-#: ncrypt/crypt_gpgme.c:4339 ncrypt/crypt_gpgme.c:4344 ++#: ncrypt/crypt_gpgme.c:4247 ncrypt/crypt_gpgme.c:4253 ++#: ncrypt/crypt_gpgme.c:4387 ncrypt/crypt_gpgme.c:4392 + msgid ", " + msgstr ", " + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4204 ncrypt/crypt_gpgme.c:4343 ++#: ncrypt/crypt_gpgme.c:4252 ncrypt/crypt_gpgme.c:4391 + msgid "signing" + msgstr "signature" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4210 ncrypt/crypt_gpgme.c:4348 ++#: ncrypt/crypt_gpgme.c:4258 ncrypt/crypt_gpgme.c:4396 + msgid "certification" + msgstr "certification" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4285 ++#: ncrypt/crypt_gpgme.c:4333 + msgid "[Revoked]" + msgstr "[Révoquée]" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4297 ++#: ncrypt/crypt_gpgme.c:4345 + msgid "[Expired]" + msgstr "[Expirée]" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4303 ++#: ncrypt/crypt_gpgme.c:4351 + msgid "[Disabled]" + msgstr "[Désactivée]" + + # , c-format +-#: ncrypt/crypt_gpgme.c:4376 ++#: ncrypt/crypt_gpgme.c:4424 + msgid "Collecting data..." + msgstr "Récupération des données..." + + # , c-format +-#: ncrypt/crypt_gpgme.c:4394 ++#: ncrypt/crypt_gpgme.c:4442 + #, c-format + msgid "Error finding issuer key: %s\n" + msgstr "Erreur en cherchant la clé de l'émetteur : %s\n" + +-#: ncrypt/crypt_gpgme.c:4403 ++#: ncrypt/crypt_gpgme.c:4451 + msgid "Error: certification chain too long - stopping here\n" + msgstr "Erreur : chaîne de certification trop longue - on arrête ici\n" + + # , c-format +-#: ncrypt/crypt_gpgme.c:4413 ncrypt/pgpkey.c:733 ++#: ncrypt/crypt_gpgme.c:4461 ncrypt/pgpkey.c:766 + #, c-format + msgid "Key ID: 0x%s" + msgstr "ID de la clé : 0x%s" + +-#: ncrypt/crypt_gpgme.c:4538 ncrypt/crypt_gpgme.c:4589 ++#: ncrypt/crypt_gpgme.c:4586 ncrypt/crypt_gpgme.c:4637 + #, c-format + msgid "gpgme_op_keylist_start failed: %s" + msgstr "gpgme_op_keylist_start a échoué : %s" + +-#: ncrypt/crypt_gpgme.c:4577 ncrypt/crypt_gpgme.c:4619 +-#: ncrypt/crypt_gpgme.c:5355 ++#: ncrypt/crypt_gpgme.c:4625 ncrypt/crypt_gpgme.c:4667 ++#: ncrypt/crypt_gpgme.c:5435 + #, c-format + msgid "gpgme_op_keylist_next failed: %s" + msgstr "gpgme_op_keylist_next a échoué : %s" + +-#: ncrypt/crypt_gpgme.c:4701 ++#: ncrypt/crypt_gpgme.c:4749 + msgid "All matching keys are marked expired/revoked" + msgstr "Toutes les clés correspondantes sont marquées expirées/révoquées" + +-#: ncrypt/crypt_gpgme.c:4731 ncrypt/pgpkey.c:666 ncrypt/smime.c:551 ++#: ncrypt/crypt_gpgme.c:4779 ncrypt/pgpkey.c:669 ncrypt/smime.c:553 + msgid "Select " + msgstr "Sélectionner " + +-#: ncrypt/crypt_gpgme.c:4733 ncrypt/pgpkey.c:668 ++#: ncrypt/crypt_gpgme.c:4781 ncrypt/pgpkey.c:671 + msgid "Check key " + msgstr "Vérifier clé " + +-#: ncrypt/crypt_gpgme.c:4749 ++#: ncrypt/crypt_gpgme.c:4827 + msgid "PGP and S/MIME keys matching" + msgstr "clés PGP et S/MIME correspondant à" + +-#: ncrypt/crypt_gpgme.c:4751 ++#: ncrypt/crypt_gpgme.c:4829 + msgid "PGP keys matching" + msgstr "clés PGP correspondant à" + +-#: ncrypt/crypt_gpgme.c:4753 ++#: ncrypt/crypt_gpgme.c:4831 + msgid "S/MIME keys matching" + msgstr "clés S/MIME correspondant à" + +-#: ncrypt/crypt_gpgme.c:4755 ++#: ncrypt/crypt_gpgme.c:4833 + msgid "keys matching" + msgstr "clés correspondant à" + +@@ -4470,65 +4560,65 @@ msgstr "clés correspondant à" + #. %1$s is one of the previous four entries. + #. %2$s is an address. + #. e.g. "S/MIME keys matching " +-#: ncrypt/crypt_gpgme.c:4763 ++#: ncrypt/crypt_gpgme.c:4841 + #, c-format + msgid "%s <%s>" + msgstr "%s <%s>" + + #. L10N: e.g. 'S/MIME keys matching "Michael Elkins".' +-#: ncrypt/crypt_gpgme.c:4768 ++#: ncrypt/crypt_gpgme.c:4846 + #, c-format + msgid "%s \"%s\"" + msgstr "%s \"%s\"" + +-#: ncrypt/crypt_gpgme.c:4796 ncrypt/pgpkey.c:754 ++#: ncrypt/crypt_gpgme.c:4874 ncrypt/pgpkey.c:787 + msgid "This key can't be used: expired/disabled/revoked" + msgstr "Cette clé ne peut pas être utilisée : expirée/désactivée/révoquée" + + # , c-format +-#: ncrypt/crypt_gpgme.c:4810 ncrypt/pgpkey.c:767 ncrypt/smime.c:581 ++#: ncrypt/crypt_gpgme.c:4888 ncrypt/pgpkey.c:800 ncrypt/smime.c:613 + #, fuzzy + msgid "ID is expired/disabled/revoked. Do you really want to use the key?" + msgstr "L'ID est expiré/désactivé/révoqué. Voulez-vous vraiment utiliser la clé?" + + # , c-format +-#: ncrypt/crypt_gpgme.c:4820 ncrypt/pgpkey.c:779 ++#: ncrypt/crypt_gpgme.c:4898 ncrypt/pgpkey.c:812 + #, fuzzy + msgid "ID is not valid. Do you really want to use the key?" + msgstr "L'ID n'est pas valide. Voulez-vous vraiment utiliser la clé?" + + # , c-format +-#: ncrypt/crypt_gpgme.c:4823 ncrypt/pgpkey.c:782 ++#: ncrypt/crypt_gpgme.c:4901 ncrypt/pgpkey.c:815 + #, fuzzy + msgid "ID is only marginally valid. Do you really want to use the key?" + msgstr "L'ID n'est que peu valide. Voulez-vous vraiment utiliser la clé?" + + # , c-format +-#: ncrypt/crypt_gpgme.c:4831 ncrypt/pgpkey.c:775 ncrypt/smime.c:585 ++#: ncrypt/crypt_gpgme.c:4909 ncrypt/pgpkey.c:808 ncrypt/smime.c:617 + #, fuzzy + msgid "ID has undefined validity. Do you really want to use the key?" + msgstr "L'ID a une validité indéfinie. Voulez-vous vraiment utiliser la clé?" + +-#: ncrypt/crypt_gpgme.c:4911 ncrypt/crypt_gpgme.c:5024 ncrypt/pgpkey.c:1019 +-#: ncrypt/pgpkey.c:1146 ++#: ncrypt/crypt_gpgme.c:4991 ncrypt/crypt_gpgme.c:5104 ncrypt/pgpkey.c:1054 ++#: ncrypt/pgpkey.c:1181 + #, c-format + msgid "Looking for keys matching \"%s\"..." + msgstr "Recherche des clés correspondant à \"%s\"..." + +-#: ncrypt/crypt_gpgme.c:5140 ncrypt/pgpkey.c:870 ncrypt/smime.c:924 ++#: ncrypt/crypt_gpgme.c:5220 ncrypt/pgpkey.c:905 ncrypt/smime.c:958 + #, c-format + msgid "No matching keys found for \"%s\"" + msgstr "" + + # , c-format +-#: ncrypt/crypt_gpgme.c:5190 ncrypt/pgp.c:1456 ++#: ncrypt/crypt_gpgme.c:5270 ncrypt/pgp.c:1457 + #, c-format + msgid "Use keyID = \"%s\" for %s?" + msgstr "Utiliser keyID = \"%s\" pour %s?" + + # , c-format +-#: ncrypt/crypt_gpgme.c:5238 ncrypt/pgp.c:1505 ncrypt/smime.c:944 +-#: ncrypt/smime.c:1049 ++#: ncrypt/crypt_gpgme.c:5318 ncrypt/pgp.c:1506 ncrypt/smime.c:978 ++#: ncrypt/smime.c:1083 + #, c-format + msgid "Enter keyID for %s: " + msgstr "Entrez keyID pour %s : " +@@ -4537,16 +4627,16 @@ msgstr "Entrez keyID pour %s : " + #. mutt_gpgme_select_secret_key() tries to list all secret keys to choose + #. from. This error is displayed if no results were found. + #. +-#: ncrypt/crypt_gpgme.c:5364 ++#: ncrypt/crypt_gpgme.c:5444 + #, fuzzy + msgid "No secret keys found" + msgstr "clé secrète « %s » non trouvée : %s" + +-#: ncrypt/crypt_gpgme.c:5398 ncrypt/pgpkey.c:888 ++#: ncrypt/crypt_gpgme.c:5478 ncrypt/pgpkey.c:923 + msgid "Please enter the key ID: " + msgstr "Veuillez entrer l'ID de la clé : " + +-#: ncrypt/crypt_gpgme.c:5411 ++#: ncrypt/crypt_gpgme.c:5491 + #, c-format + msgid "Error exporting key: %s" + msgstr "Erreur à l'export de la clé : %s" +@@ -4555,92 +4645,92 @@ msgstr "Erreur à l'export de la clé : %s" + #. 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. +-#: ncrypt/crypt_gpgme.c:5429 ++#: ncrypt/crypt_gpgme.c:5509 + #, c-format + msgid "PGP Key 0x%s" + msgstr "Clé PGP 0x%s" + +-#: ncrypt/crypt_gpgme.c:5474 ++#: ncrypt/crypt_gpgme.c:5554 + msgid "GPGME: OpenPGP protocol not available" + msgstr "GPGME : protocole OpenPGP non disponible" + +-#: ncrypt/crypt_gpgme.c:5485 ++#: ncrypt/crypt_gpgme.c:5565 + msgid "GPGME: CMS protocol not available" + msgstr "GPGME : protocole CMS non disponible" + +-#: ncrypt/crypt_gpgme.c:5536 ++#: ncrypt/crypt_gpgme.c:5616 + msgid "S/MIME (s)ign, sign (a)s, (p)gp, (c)lear, or (o)ppenc mode off?" + msgstr "(S)igner s/mime, (E)n tant que, (P)gp, (R)ien, ou mode (O)ppenc inactif?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5538 ++#: ncrypt/crypt_gpgme.c:5618 + msgid "sapco" + msgstr "sepro" + +-#: ncrypt/crypt_gpgme.c:5545 ++#: ncrypt/crypt_gpgme.c:5625 + msgid "PGP (s)ign, sign (a)s, s/(m)ime, (c)lear, or (o)ppenc mode off?" + msgstr "(S)igner pgp, (E)n tant que, s/(M)ime, (R)ien, ou mode (O)ppenc inactif?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5547 ++#: ncrypt/crypt_gpgme.c:5627 + msgid "samco" + msgstr "semro" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5557 ++#: ncrypt/crypt_gpgme.c:5637 + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp, (c)lear, or (o)ppenc mode?" + msgstr "(C)hiffrer s/mime, (S)igner, (E)n tant que, les (D)eux, (P)gp, (R)ien, ou mode (O)ppenc?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5560 ++#: ncrypt/crypt_gpgme.c:5640 + msgid "esabpco" + msgstr "csedpro" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5566 ++#: ncrypt/crypt_gpgme.c:5646 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime, (c)lear, or (o)ppenc mode?" + msgstr "(C)hiffrer pgp, (S)igner, (E)n tant que, les (D)eux, s/(M)ime, (R)ien, ou mode (O)ppenc?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5569 ++#: ncrypt/crypt_gpgme.c:5649 + msgid "esabmco" + msgstr "csedmro" + +-#: ncrypt/crypt_gpgme.c:5580 ++#: ncrypt/crypt_gpgme.c:5660 + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp or (c)lear?" + msgstr "(C)hiffrer s/mime, (S)igner, (E)n tant que, les (D)eux, (P)gp, ou (R)ien?" + + #. L10N: S/MIME options +-#: ncrypt/crypt_gpgme.c:5582 ++#: ncrypt/crypt_gpgme.c:5662 + msgid "esabpc" + msgstr "csedpr" + +-#: ncrypt/crypt_gpgme.c:5589 ++#: ncrypt/crypt_gpgme.c:5669 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime or (c)lear?" + msgstr "(C)hiffrer pgp, (S)igner, (E)n tant que, les (D)eux, s/(M)ime, ou (R)ien?" + + #. L10N: PGP options +-#: ncrypt/crypt_gpgme.c:5591 ++#: ncrypt/crypt_gpgme.c:5671 + msgid "esabmc" + msgstr "csedmr" + +-#: ncrypt/crypt_gpgme.c:5751 ++#: ncrypt/crypt_gpgme.c:5831 + msgid "Failed to verify sender" + msgstr "Impossible de vérifier l'expéditeur" + +-#: ncrypt/crypt_gpgme.c:5754 ++#: ncrypt/crypt_gpgme.c:5834 + msgid "Failed to figure out sender" + msgstr "Impossible de trouver l'expéditeur" + +-#: ncrypt/pgp.c:108 ++#: ncrypt/pgp.c:107 + msgid "Enter PGP passphrase:" + msgstr "Entrez la phrase de passe PGP :" + +-#: ncrypt/pgp.c:595 ++#: ncrypt/pgp.c:594 + msgid "[-- Error: unable to create PGP subprocess --]\n" + msgstr "[-- Erreur : impossible de créer le sous-processus PGP ! --]\n" + +-#: ncrypt/pgp.c:644 ncrypt/pgp.c:926 ncrypt/pgp.c:1086 ++#: ncrypt/pgp.c:643 ncrypt/pgp.c:925 ncrypt/pgp.c:1085 + msgid "" + "[-- End of PGP output --]\n" + "\n" +@@ -4651,16 +4741,16 @@ msgstr "" + #. L10N: You will see this error message if (1) you are decrypting + #. (not encrypting) something and (2) it is a plaintext. So the + #. message does not mean "You failed to encrypt the message." +-#: ncrypt/pgp.c:724 ++#: ncrypt/pgp.c:723 + #, fuzzy + msgid "PGP message is not encrypted" + msgstr "Message PGP déchiffré avec succès" + +-#: ncrypt/pgp.c:978 ++#: ncrypt/pgp.c:977 + msgid "Internal error. Please submit a bug report." + msgstr "Erreur interne. Veuillez soumettre un rapport de bug." + +-#: ncrypt/pgp.c:1043 ++#: ncrypt/pgp.c:1042 + msgid "" + "[-- Error: could not create a PGP subprocess --]\n" + "\n" +@@ -4668,126 +4758,126 @@ msgstr "" + "[-- Erreur : impossible de créer un sous-processus PGP --]\n" + "\n" + +-#: ncrypt/pgp.c:1073 ncrypt/pgp.c:1098 ncrypt/smime.c:2143 postpone.c:757 +-#: postpone.c:785 ++#: ncrypt/pgp.c:1072 ncrypt/pgp.c:1097 ncrypt/smime.c:2177 postpone.c:803 ++#: postpone.c:831 + msgid "Decryption failed" + msgstr "Le déchiffrage a échoué" + +-#: ncrypt/pgp.c:1333 ++#: ncrypt/pgp.c:1334 + msgid "Can't open PGP subprocess" + msgstr "Impossible d'ouvrir le sous-processus PGP " + +-#: ncrypt/pgp.c:1768 ++#: ncrypt/pgp.c:1770 + msgid "Can't invoke PGP" + msgstr "Impossible d'invoquer PGP" + + #. L10N: The next string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1875 ++#: ncrypt/pgp.c:1877 + msgid "PGP/M(i)ME" + msgstr "pgp/m(I)me" + + #. L10N: The previous string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1881 ++#: ncrypt/pgp.c:1883 + msgid "(i)nline" + msgstr "en l(I)gne" + + #. L10N: PGP options (inline) (opportunistic encryption is on) +-#: ncrypt/pgp.c:1893 ++#: ncrypt/pgp.c:1895 + #, c-format + msgid "PGP (s)ign, sign (a)s, %s format, (c)lear, or (o)ppenc mode off?" + msgstr "(S)igner pgp, (E)n tant que, format %s, (R)ien, ou mode (O)ppenc inactif?" + + #. L10N: PGP options (inline) (opportunistic encryption is on) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1899 ++#: ncrypt/pgp.c:1901 + msgid "saico" + msgstr "seiro" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1905 ++#: ncrypt/pgp.c:1907 + msgid "PGP (s)ign, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "(S)igner pgp, (E)n tant que, (R)ien, ou mode (O)ppenc inactif?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1907 ++#: ncrypt/pgp.c:1909 + msgid "saco" + msgstr "sero" + + #. L10N: PGP options (inline) (opportunistic encryption is off) +-#: ncrypt/pgp.c:1921 ++#: ncrypt/pgp.c:1923 + #, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, (c)lear, or (o)ppenc mode?" + msgstr "(C)hiffrer pgp, (S)igner, (E)n tant que, les (D)eux, format %s, (R)ien, ou (O)ppenc?" + + #. L10N: PGP options (inline) (opportunistic encryption is off) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1927 ++#: ncrypt/pgp.c:1929 + msgid "esabico" + msgstr "csediro" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1933 ++#: ncrypt/pgp.c:1935 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "(C)hiffrer pgp, (S)igner, (E)n tant que, les (D)eux, (R)ien, ou mode (O)ppenc?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1936 ++#: ncrypt/pgp.c:1938 + msgid "esabco" + msgstr "csedro" + + #. L10N: PGP options (inline) +-#: ncrypt/pgp.c:1947 ++#: ncrypt/pgp.c:1949 + #, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, or (c)lear?" + msgstr "(C)hiffrer pgp, (S)igner, (E)n tant que, les (D)eux, format %s, ou (R)ien?" + + #. L10N: PGP options (inline) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1953 ++#: ncrypt/pgp.c:1955 + msgid "esabic" + msgstr "csedir" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1959 ++#: ncrypt/pgp.c:1961 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (c)lear?" + msgstr "(C)hiffrer pgp, (S)igner, (E)n tant que, les (D)eux, ou (R)ien?" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1961 ++#: ncrypt/pgp.c:1963 + msgid "esabc" + msgstr "csedr" + +-#: ncrypt/pgpinvoke.c:458 ++#: ncrypt/pgpinvoke.c:461 + msgid "Fetching PGP key..." + msgstr "Récupération de la clé PGP..." + +-#: ncrypt/pgpkey.c:640 ++#: ncrypt/pgpkey.c:643 + msgid "All matching keys are expired, revoked, or disabled" + msgstr "Toutes les clés correspondantes sont expirées, révoquées, ou désactivées" + +-#: ncrypt/pgpkey.c:681 ++#: ncrypt/pgpkey.c:714 + #, c-format + msgid "PGP keys matching <%s>" + msgstr "Clés PGP correspondant à <%s>" + +-#: ncrypt/pgpkey.c:683 ++#: ncrypt/pgpkey.c:716 + #, c-format + msgid "PGP keys matching \"%s\"" + msgstr "Clés PGP correspondant à \"%s\"" + +-#: ncrypt/pgpkey.c:700 ncrypt/pgpkey.c:909 ++#: ncrypt/pgpkey.c:733 ncrypt/pgpkey.c:944 + msgid "Can't open /dev/null" + msgstr "Impossible d'ouvrir /dev/null" + + # , c-format +-#: ncrypt/pgpkey.c:938 ++#: ncrypt/pgpkey.c:973 + #, c-format + msgid "PGP Key %s" + msgstr "Clé PGP %s" + +-#: ncrypt/smime.c:182 ++#: ncrypt/smime.c:180 + msgid "Enter S/MIME passphrase:" + msgstr "Entrez la phrase de passe S/MIME :" + +@@ -4796,7 +4886,7 @@ msgstr "Entrez la phrase de passe S/MIME :" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:460 ++#: ncrypt/smime.c:462 + msgid "Expired " + msgstr "Expirée " + +@@ -4806,7 +4896,7 @@ msgstr "Expirée " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:468 ++#: ncrypt/smime.c:470 + msgid "Invalid " + msgstr "Invalide " + +@@ -4815,7 +4905,7 @@ msgstr "Invalide " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:476 ++#: ncrypt/smime.c:478 + msgid "Revoked " + msgstr "Révoquée " + +@@ -4824,7 +4914,7 @@ msgstr "Révoquée " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:484 ++#: ncrypt/smime.c:486 + msgid "Trusted " + msgstr "De confiance" + +@@ -4833,7 +4923,7 @@ msgstr "De confiance" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:492 ++#: ncrypt/smime.c:494 + msgid "Unverified" + msgstr "Non vérifiée" + +@@ -4842,7 +4932,7 @@ msgstr "Non vérifiée" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:500 ++#: ncrypt/smime.c:502 + msgid "Verified " + msgstr "Vérifiée " + +@@ -4851,61 +4941,61 @@ msgstr "Vérifiée " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:508 ++#: ncrypt/smime.c:510 + msgid "Unknown " + msgstr "Inconnue " + +-#: ncrypt/smime.c:545 ++#: ncrypt/smime.c:547 + #, c-format + msgid "S/MIME certificates matching \"%s\"" + msgstr "Certificats S/MIME correspondant à \"%s\"" + + # , c-format +-#: ncrypt/smime.c:589 ++#: ncrypt/smime.c:621 + #, fuzzy + msgid "ID is not trusted. Do you really want to use the key?" + msgstr "L'ID n'est pas de confiance. Voulez-vous vraiment utiliser la clé?" + + # , c-format +-#: ncrypt/smime.c:910 ++#: ncrypt/smime.c:944 + msgid "Enter keyID: " + msgstr "Entrez keyID : " + +-#: ncrypt/smime.c:1055 ++#: ncrypt/smime.c:1089 + #, c-format + msgid "No (valid) certificate found for %s" + msgstr "Pas de certificat (valide) trouvé pour %s" + +-#: ncrypt/smime.c:1108 ncrypt/smime.c:1137 ncrypt/smime.c:1209 +-#: ncrypt/smime.c:1243 ncrypt/smime.c:1319 ncrypt/smime.c:1399 ++#: ncrypt/smime.c:1142 ncrypt/smime.c:1171 ncrypt/smime.c:1243 ++#: ncrypt/smime.c:1277 ncrypt/smime.c:1353 ncrypt/smime.c:1433 + msgid "Error: unable to create OpenSSL subprocess" + msgstr "Erreur : impossible de créer le sous-processus OpenSSL " + +-#: ncrypt/smime.c:1379 ++#: ncrypt/smime.c:1413 + msgid "Label for certificate: " + msgstr "Étiquette pour le certificat : " + +-#: ncrypt/smime.c:1480 ++#: ncrypt/smime.c:1514 + msgid "no certfile" + msgstr "pas de certfile" + +-#: ncrypt/smime.c:1483 ++#: ncrypt/smime.c:1517 + msgid "no mbox" + msgstr "pas de BAL" + +-#: ncrypt/smime.c:1640 ncrypt/smime.c:1810 ++#: ncrypt/smime.c:1674 ncrypt/smime.c:1844 + msgid "No output from OpenSSL..." + msgstr "Pas de sortie pour OpenSSL..." + +-#: ncrypt/smime.c:1727 ++#: ncrypt/smime.c:1761 + msgid "Can't sign: No key specified. Use Sign As." + msgstr "Impossible de signer : pas de clé spécifiée. Utilisez « Signer avec »." + +-#: ncrypt/smime.c:1777 ++#: ncrypt/smime.c:1811 + msgid "Can't open OpenSSL subprocess" + msgstr "Impossible d'ouvrir le sous-processus OpenSSL " + +-#: ncrypt/smime.c:2004 ncrypt/smime.c:2123 ++#: ncrypt/smime.c:2038 ncrypt/smime.c:2157 + msgid "" + "[-- End of OpenSSL output --]\n" + "\n" +@@ -4913,19 +5003,19 @@ msgstr "" + "[-- Fin de sortie OpenSSL --]\n" + "\n" + +-#: ncrypt/smime.c:2080 ncrypt/smime.c:2093 ++#: ncrypt/smime.c:2114 ncrypt/smime.c:2127 + msgid "[-- Error: unable to create OpenSSL subprocess --]\n" + msgstr "[-- Erreur : impossible de créer le sous-processus OpenSSL --]\n" + +-#: ncrypt/smime.c:2129 ++#: ncrypt/smime.c:2163 + msgid "[-- The following data is S/MIME encrypted --]\n" + msgstr "[-- Les données suivantes sont chiffrées avec S/MIME --]\n" + +-#: ncrypt/smime.c:2132 ++#: ncrypt/smime.c:2166 + msgid "[-- The following data is S/MIME signed --]\n" + msgstr "[-- Les données suivantes sont signées avec S/MIME --]\n" + +-#: ncrypt/smime.c:2225 ++#: ncrypt/smime.c:2259 + msgid "" + "\n" + "[-- End of S/MIME encrypted data. --]\n" +@@ -4933,7 +5023,7 @@ msgstr "" + "\n" + "[-- Fin des données chiffrées avec S/MIME. --]\n" + +-#: ncrypt/smime.c:2227 ++#: ncrypt/smime.c:2261 + msgid "" + "\n" + "[-- End of S/MIME signed data. --]\n" +@@ -4942,170 +5032,170 @@ msgstr "" + "[-- Fin des données signées avec S/MIME. --]\n" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2361 ++#: ncrypt/smime.c:2395 + msgid "S/MIME (s)ign, encrypt (w)ith, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "(S)igner s/mime, chiffer (A)vec, signer (E)n tant que, (R)ien, ou (O)ppenc inactif?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2364 ++#: ncrypt/smime.c:2398 + msgid "swaco" + msgstr "saero" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2372 ++#: ncrypt/smime.c:2406 + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "(C)h. s/mime, (S)igner, ch. (A)vec, signer (E)n tant que, les (D)eux, (R)ien, ou (O)ppenc?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2375 ++#: ncrypt/smime.c:2409 + msgid "eswabco" + msgstr "csaedro" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2382 ++#: ncrypt/smime.c:2416 + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, or (c)lear?" + msgstr "(C)hiffrer s/mime, (S)igner, ch. (A)vec, signer (E)n tant que, les (D)eux, ou (R)ien?" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2385 ++#: ncrypt/smime.c:2419 + msgid "eswabc" + msgstr "csaedr" + +-#: ncrypt/smime.c:2449 ++#: ncrypt/smime.c:2483 + msgid "Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear?" + msgstr "Choisissez une famille d'algo : (1) DES, (2) RC2, (3) AES, ou (e)ffacer?" + + #. L10N: Options for: Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear? +-#: ncrypt/smime.c:2452 ++#: ncrypt/smime.c:2486 + msgid "123c" + msgstr "123e" + +-#: ncrypt/smime.c:2455 ++#: ncrypt/smime.c:2489 + msgid "(1) DES, (2) Triple-DES?" + msgstr "(1) DES, (2) Triple-DES?" + + #. L10N: Options for: (1) DES, (2) Triple-DES +-#: ncrypt/smime.c:2457 ++#: ncrypt/smime.c:2491 + msgid "12" + msgstr "12" + +-#: ncrypt/smime.c:2470 ++#: ncrypt/smime.c:2504 + msgid "(1) RC2-40, (2) RC2-64, (3) RC2-128?" + msgstr "(1) RC2-40, (2) RC2-64, (3) RC2-128?" + + #. L10N: Options for: (1) RC2-40, (2) RC2-64, (3) RC2-128 + #. L10N: Options for: (1) AES128, (2) AES192, (3) AES256 +-#: ncrypt/smime.c:2472 ncrypt/smime.c:2490 ++#: ncrypt/smime.c:2506 ncrypt/smime.c:2524 + msgid "123" + msgstr "123" + +-#: ncrypt/smime.c:2488 ++#: ncrypt/smime.c:2522 + msgid "(1) AES128, (2) AES192, (3) AES256?" + msgstr "(1) AES128, (2) AES192, (3) AES256?" + +-#: nntp/newsrc.c:632 ++#: nntp/newsrc.c:639 + msgid "Loading list of groups from cache..." + msgstr "" + +-#: nntp/newsrc.c:997 ++#: nntp/newsrc.c:1023 + msgid "No news server defined" + msgstr "" + +-#: nntp/newsrc.c:1012 ++#: nntp/newsrc.c:1041 + #, fuzzy, c-format + msgid "%s is an invalid news server specification" + msgstr "%s est un chemin POP invalide" + +-#: nntp/nntp.c:236 nntp/nntp.c:777 pop/pop.c:742 pop/pop_lib.c:398 ++#: nntp/nntp.c:238 nntp/nntp.c:779 pop/pop.c:742 pop/pop_lib.c:424 + msgid "Server closed connection" + msgstr "Le serveur a fermé la connexion " + +-#: nntp/nntp.c:340 ++#: nntp/nntp.c:342 + #, fuzzy + msgid "Server doesn't support reader mode" + msgstr "Le serveur SMTP ne supporte pas l'authentification" + +-#: nntp/nntp.c:576 pop/pop_auth.c:504 smtp.c:650 ++#: nntp/nntp.c:578 pop/pop_auth.c:505 smtp.c:675 + msgid "No authenticators available" + msgstr "Pas d'authentificateurs disponibles" + +-#: nntp/nntp.c:766 ++#: nntp/nntp.c:768 + #, fuzzy, c-format + msgid "%s authentication failed" + msgstr "L'authentification SASL a échoué" + + # , c-format +-#: nntp/nntp.c:826 ++#: nntp/nntp.c:828 + #, fuzzy, c-format + msgid "Connection to %s lost. Reconnect?" + msgstr "Connexion à %s fermée" + +-#: nntp/nntp.c:1285 ++#: nntp/nntp.c:1287 + #, fuzzy + msgid "Fetching list of articles..." + msgstr "Récupération de la liste des messages..." + +-#: nntp/nntp.c:1549 nntp/nntp.c:2138 pop/pop.c:614 pop/pop.c:910 ++#: nntp/nntp.c:1551 nntp/nntp.c:2140 pop/pop.c:614 pop/pop.c:905 + msgid "Checking for new messages..." + msgstr "Recherche de nouveaux messages..." + +-#: nntp/nntp.c:1864 nntp/nntp.c:1954 ++#: nntp/nntp.c:1866 nntp/nntp.c:1956 + #, fuzzy + msgid "Could not switch to reader mode" + msgstr "impossible d'écrire dans le dossier temporaire : %s" + + # , c-format +-#: nntp/nntp.c:1877 ++#: nntp/nntp.c:1879 + #, fuzzy, c-format + msgid "Connected to %s. %s" + msgstr "Connexion à %s..." + + # , c-format +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + #, fuzzy + msgid "Posting is ok" + msgstr "Rien à faire" + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + msgid "Posting is NOT ok" + msgstr "" + + # , c-format +-#: nntp/nntp.c:2008 nntp/nntp.c:2043 ++#: nntp/nntp.c:2010 nntp/nntp.c:2045 + #, fuzzy, c-format + msgid "Can't post article: %s" + msgstr "Impossible d'obtenir le statut de %s : %s" + +-#: nntp/nntp.c:2064 ++#: nntp/nntp.c:2066 + #, fuzzy, c-format + msgid "Loading list of groups from server %s..." + msgstr "Effacement des messages sur le serveur..." + +-#: nntp/nntp.c:2106 nntp/nntp.c:2198 ++#: nntp/nntp.c:2108 nntp/nntp.c:2200 + #, fuzzy + msgid "Loading descriptions..." + msgstr "Connexion..." + +-#: nntp/nntp.c:2128 ++#: nntp/nntp.c:2130 + #, fuzzy + msgid "Checking for new newsgroups..." + msgstr "Recherche de nouveaux messages..." + +-#: nntp/nntp.c:2332 ++#: nntp/nntp.c:2334 + msgid "Unable to find child articles because server does not support XPAT command" + msgstr "" + +-#: nntp/nntp.c:2437 ++#: nntp/nntp.c:2439 + #, fuzzy, c-format + msgid "%s is an invalid newsgroup specification" + msgstr "%s est un chemin POP invalide" + +-#: nntp/nntp.c:2476 ++#: nntp/nntp.c:2478 + #, c-format + msgid "Newsgroup %s not found on the server" + msgstr "" + +-#: nntp/nntp.c:2498 ++#: nntp/nntp.c:2500 + #, c-format + msgid "Newsgroup %s has been removed from the server" + msgstr "" +@@ -5117,7 +5207,7 @@ msgstr "" + + #: notmuch/mutt_notmuch.c:219 notmuch/mutt_notmuch.c:1939 + #, fuzzy, c-format +-msgid "failed to parse notmuch uri: %s" ++msgid "failed to parse notmuch url: %s" + msgstr "Impossible d'analyser le lien mailto:\n" + + #: notmuch/mutt_notmuch.c:449 +@@ -6251,197 +6341,197 @@ msgstr "rendre la barre latérale (in)visible" + msgid "show S/MIME options" + msgstr "afficher les options S/MIME" + +-#: pager.c:222 ++#: pager.c:214 + msgid "Not available in this menu" + msgstr "Non disponible dans ce menu" + +-#: pager.c:229 ++#: pager.c:221 + msgid "PrevPg" + msgstr "PgPréc" + +-#: pager.c:230 ++#: pager.c:222 + msgid "NextPg" + msgstr "PgSuiv" + +-#: pager.c:235 ++#: pager.c:227 + msgid "View Attachm." + msgstr "Voir attach." + +-#: pager.c:238 pager.c:247 ++#: pager.c:230 pager.c:239 + msgid "Next" + msgstr "Suivant" + + #. L10N: Status bar message: the entire email is visible in the pager + #. L10N: Status bar message: all the emails are visible in the index +-#: pager.c:2180 status.c:278 ++#: pager.c:2136 status.c:278 + msgid "all" + msgstr "" + + #. L10N: Status bar message: the end of the email is visible in the pager + #. L10N: Status bar message: the end of the list emails is visible in the index +-#: pager.c:2182 status.c:276 ++#: pager.c:2138 status.c:276 + msgid "end" + msgstr "" + +-#: pager.c:2530 pager.c:2566 pager.c:2602 pager.c:2937 ++#: pager.c:2503 pager.c:2539 pager.c:2576 pager.c:2911 + msgid "Bottom of message is shown" + msgstr "La fin du message est affichée" + +-#: pager.c:2543 pager.c:2573 pager.c:2580 pager.c:2590 ++#: pager.c:2516 pager.c:2546 pager.c:2553 pager.c:2564 + msgid "Top of message is shown" + msgstr "Le début du message est affiché" + +-#: pager.c:2840 ++#: pager.c:2814 + msgid "Help is currently being shown" + msgstr "L'aide est actuellement affichée" + +-#: pager.c:2897 ++#: pager.c:2871 + msgid "No more quoted text" + msgstr "Il n'y a plus de texte cité" + +-#: pager.c:2914 ++#: pager.c:2888 + msgid "No more unquoted text after quoted text" + msgstr "Il n'y a plus de texte non cité après le texte cité" + + # , c-format +-#: pattern.c:220 pattern.c:297 pattern.c:1046 ++#: pattern.c:221 pattern.c:298 pattern.c:1085 + #, c-format + msgid "Error in expression: %s" + msgstr "Erreur dans l'expression : %s" + +-#: pattern.c:226 pattern.c:302 pattern.c:1052 ++#: pattern.c:227 pattern.c:303 pattern.c:1091 + msgid "Empty expression" + msgstr "Expression vide" + +-#: pattern.c:288 ++#: pattern.c:289 + #, fuzzy + msgid "No search command defined" + msgstr "Commande de requête non définie" + + # , c-format +-#: pattern.c:326 ++#: pattern.c:327 + #, fuzzy, c-format + msgid "Running search command: %s ..." + msgstr "Invocation de la commande de visualisation automatique : %s" + + # , c-format +-#: pattern.c:417 ++#: pattern.c:441 pattern.c:456 + #, c-format + msgid "Invalid day of month: %s" + msgstr "Quantième invalide : %s" + + # , c-format +-#: pattern.c:431 ++#: pattern.c:446 pattern.c:470 + #, c-format + msgid "Invalid month: %s" + msgstr "Mois invalide : %s" + + # , c-format +-#: pattern.c:534 ++#: pattern.c:573 + #, c-format + msgid "Invalid relative date: %s" + msgstr "Date relative invalide : %s" + +-#: pattern.c:842 pattern.c:975 ++#: pattern.c:881 pattern.c:1014 + #, fuzzy + msgid "No current message" + msgstr "Pas de messages non lus." + +-#: pattern.c:1002 ++#: pattern.c:1041 + msgid "No Context" + msgstr "" + +-#: pattern.c:1125 ++#: pattern.c:1164 + #, fuzzy + msgid "Error opening 'memory stream'" + msgstr "Erreur à l'ouverture de la boîte aux lettres" + +-#: pattern.c:1171 ++#: pattern.c:1210 + #, fuzzy + msgid "Error re-opening 'memory stream'" + msgstr "Erreur à l'ouverture de la boîte aux lettres" + +-#: pattern.c:1180 ++#: pattern.c:1219 + #, fuzzy + msgid "Error opening /dev/null" + msgstr "Impossible d'ouvrir /dev/null" + + # , c-format +-#: pattern.c:1443 pattern.c:1620 ++#: pattern.c:1482 pattern.c:1662 + #, c-format + msgid "error in pattern at: %s" + msgstr "erreur dans le motif à : %s" + +-#: pattern.c:1476 ++#: pattern.c:1515 + #, c-format + msgid "missing pattern: %s" + msgstr "motif manquant : %s" + + # , c-format +-#: pattern.c:1494 pattern.c:1593 ++#: pattern.c:1533 pattern.c:1635 + #, c-format + msgid "mismatched parentheses: %s" + msgstr "parenthésage incorrect : %s" + + # , c-format +-#: pattern.c:1559 ++#: pattern.c:1598 + #, c-format + msgid "%c: invalid pattern modifier" + msgstr "%c : modificateur de motif invalide" + + # , c-format +-#: pattern.c:1564 ++#: pattern.c:1603 + #, c-format + msgid "%c: not supported in this mode" + msgstr "%c : non supporté dans ce mode" + +-#: pattern.c:1576 ++#: pattern.c:1618 + msgid "missing parameter" + msgstr "paramètre manquant" + +-#: pattern.c:1626 ++#: pattern.c:1668 + msgid "empty pattern" + msgstr "motif vide" + +-#: pattern.c:2080 pattern.c:2083 ++#: pattern.c:2202 pattern.c:2205 + msgid "error: server custom search only supported with IMAP" + msgstr "" + + # , c-format +-#: pattern.c:2274 ++#: pattern.c:2398 + #, c-format + msgid "error: unknown op %d (report this error)" + msgstr "erreur : opération inconnue %d (signalez cette erreur)" + +-#: pattern.c:2448 pattern.c:2604 ++#: pattern.c:2572 pattern.c:2728 + msgid "Compiling search pattern..." + msgstr "Compilation du motif de recherche..." + +-#: pattern.c:2468 ++#: pattern.c:2592 + msgid "Executing command on matching messages..." + msgstr "Exécution de la commande sur les messages correspondants..." + +-#: pattern.c:2537 ++#: pattern.c:2661 + msgid "No messages matched criteria" + msgstr "Aucun message ne correspond au critère" + +-#: pattern.c:2641 ++#: pattern.c:2765 + msgid "Searching..." + msgstr "Recherche..." + +-#: pattern.c:2655 ++#: pattern.c:2779 + msgid "Search hit bottom without finding match" + msgstr "Fin atteinte sans rien avoir trouvé" + +-#: pattern.c:2666 ++#: pattern.c:2790 + msgid "Search hit top without finding match" + msgstr "Début atteint sans rien avoir trouvé" + +-#: pattern.c:2700 ++#: pattern.c:2824 + msgid "Search interrupted" + msgstr "Recherche interrompue" + +-#: pop/pop.c:216 pop/pop_lib.c:234 ++#: pop/pop.c:216 pop/pop_lib.c:259 + msgid "Command TOP is not supported by server" + msgstr "La commande TOP n'est pas supportée par le serveur" + +@@ -6449,7 +6539,7 @@ msgstr "La commande TOP n'est pas supportée par le serveur" + msgid "Can't write header to temporary file" + msgstr "Impossible d'écrire l'en-tête dans le fichier temporaire " + +-#: pop/pop.c:420 pop/pop_lib.c:236 ++#: pop/pop.c:420 pop/pop_lib.c:261 + msgid "Command UIDL is not supported by server" + msgstr "La commande UIDL n'est pas supportée par le serveur" + +@@ -6464,7 +6554,7 @@ msgstr[1] "%d messages ont été perdus. Essayez de rouvrir la boîte aux lettre + msgid "POP host is not defined" + msgstr "Le serveur POP n'est pas défini" + +-#: pop/pop.c:596 pop/pop.c:825 ++#: pop/pop.c:596 pop/pop.c:790 pop/pop.c:820 + #, c-format + msgid "%s is an invalid POP path" + msgstr "%s est un chemin POP invalide" +@@ -6499,132 +6589,132 @@ msgid_plural "%s [%d of %d messages read]" + msgstr[0] "%s [%d messages lus sur %d]" + msgstr[1] "%s [%d messages lus sur %d]" + +-#: pop/pop.c:876 ++#: pop/pop.c:871 + msgid "Fetching list of messages..." + msgstr "Récupération de la liste des messages..." + + # , c-format +-#: pop/pop.c:959 ++#: pop/pop.c:954 + msgid "Marking messages deleted..." + msgstr "Marquage des messages à effacer..." + +-#: pop/pop.c:1150 ++#: pop/pop.c:1145 + msgid "Can't write message to temporary file" + msgstr "Impossible d'écrire le message dans le fichier temporaire " + +-#: pop/pop_auth.c:103 ++#: pop/pop_auth.c:104 + msgid "Authenticating (SASL)..." + msgstr "Authentification (SASL)..." + +-#: pop/pop_auth.c:245 ++#: pop/pop_auth.c:246 + msgid "POP timestamp is invalid" + msgstr "L'horodatage POP est invalide " + +-#: pop/pop_auth.c:249 ++#: pop/pop_auth.c:250 + msgid "Authenticating (APOP)..." + msgstr "Authentification (APOP)..." + +-#: pop/pop_auth.c:269 ++#: pop/pop_auth.c:270 + msgid "APOP authentication failed" + msgstr "L'authentification APOP a échoué" + +-#: pop/pop_auth.c:309 ++#: pop/pop_auth.c:310 + msgid "Command USER is not supported by server" + msgstr "La commande USER n'est pas supportée par le serveur" + +-#: pop/pop_auth.c:386 ++#: pop/pop_auth.c:387 + #, fuzzy + msgid "Authentication failed" + msgstr "L'authentification SASL a échoué" + + # , c-format +-#: pop/pop_lib.c:78 ++#: pop/pop_lib.c:103 + #, c-format + msgid "Invalid POP URL: %s" + msgstr "URL POP invalide : %s" + +-#: pop/pop_lib.c:232 ++#: pop/pop_lib.c:257 + msgid "Unable to leave messages on server" + msgstr "Impossible de laisser les messages sur le serveur" + + # , c-format +-#: pop/pop_lib.c:274 ++#: pop/pop_lib.c:300 + #, c-format + msgid "Error connecting to server: %s" + msgstr "Erreur de connexion au serveur : %s" + +-#: pop/pop_lib.c:414 ++#: pop/pop_lib.c:440 + msgid "Closing connection to POP server..." + msgstr "Fermeture de la connexion au serveur POP..." + + # , c-format +-#: pop/pop_lib.c:605 ++#: pop/pop_lib.c:631 + msgid "Verifying message indexes..." + msgstr "Vérification des index des messages..." + +-#: pop/pop_lib.c:628 ++#: pop/pop_lib.c:654 + msgid "Connection lost. Reconnect to POP server?" + msgstr "Connexion perdue. Se reconnecter au serveur POP?" + +-#: postpone.c:229 ++#: postpone.c:260 + msgid "Postponed Messages" + msgstr "Messages ajournés" + +-#: postpone.c:314 postpone.c:326 ++#: postpone.c:348 postpone.c:372 + msgid "No postponed messages" + msgstr "Pas de message ajourné" + +-#: postpone.c:480 ++#: postpone.c:526 + msgid "Illegal S/MIME header" + msgstr "En-tête S/MIME illégal" + +-#: postpone.c:510 postpone.c:551 postpone.c:560 ++#: postpone.c:556 postpone.c:597 postpone.c:606 + msgid "Illegal crypto header" + msgstr "En-tête crypto illégal" + +-#: postpone.c:644 postpone.c:752 postpone.c:780 ++#: postpone.c:690 postpone.c:798 postpone.c:826 + msgid "Decrypting message..." + msgstr "Déchiffrage du message..." + +-#: query.c:82 ++#: query.c:80 + msgid "New Query" + msgstr "Nouvelle requête" + +-#: query.c:83 ++#: query.c:81 + msgid "Make Alias" + msgstr "Créer un alias" + +-#: query.c:180 ++#: query.c:178 + msgid "Waiting for response..." + msgstr "Attente de la réponse..." + +-#: query.c:362 query.c:400 ++#: query.c:365 query.c:434 + msgid "Query: " + msgstr "Requête : " + + # , c-format +-#: query.c:370 query.c:407 ++#: query.c:374 query.c:442 + #, c-format + msgid "Query '%s'" + msgstr "Requête '%s'" + +-#: query.c:620 query.c:657 ++#: query.c:661 query.c:698 + msgid "Query command not defined" + msgstr "Commande de requête non définie" + +-#: recvattach.c:93 ++#: recvattach.c:91 + msgid "Pipe" + msgstr "Pipe" + +-#: recvattach.c:94 ++#: recvattach.c:92 + msgid "Print" + msgstr "Imprimer" + +-#: recvattach.c:569 ++#: recvattach.c:571 + msgid "Saving..." + msgstr "On sauve..." + +-#: recvattach.c:573 recvattach.c:744 recvattach.c:748 ++#: recvattach.c:575 recvattach.c:746 recvattach.c:750 + #, fuzzy, c-format + msgid "Attachment saved" + msgid_plural "%d attachments saved" +@@ -6632,27 +6722,27 @@ msgstr[0] "Attachement sauvé" + msgstr[1] "Attachement sauvé" + + # , c-format +-#: recvattach.c:772 ++#: recvattach.c:774 + #, c-format + msgid "WARNING! You are about to overwrite %s, continue?" + msgstr "ATTENTION ! Vous allez écraser %s, continuer?" + +-#: recvattach.c:790 ++#: recvattach.c:792 + msgid "Attachment filtered" + msgstr "Attachement filtré" + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Filter through: " + msgstr "Filtrer avec : " + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Pipe to: " + msgstr "Passer à la commande : " + + # , c-format + #. L10N: s gets replaced by a MIME type, e.g. "text/plain" or + #. application/octet-stream. +-#: recvattach.c:935 ++#: recvattach.c:937 + #, c-format + msgid "I don't know how to print %s attachments" + msgstr "Je ne sais pas comment imprimer %s attachements " +@@ -6660,56 +6750,56 @@ msgstr "Je ne sais pas comment imprimer %s attachements " + #. L10N: Although we now the precise number of tagged messages, we + #. do not show it to the user. So feel free to use a "generic + #. plural" as plural translation if your language has one. +-#: recvattach.c:1038 ++#: recvattach.c:1040 + #, fuzzy, c-format + msgid "Print tagged attachment?" + msgid_plural "Print %d tagged attachments?" + msgstr[0] "Imprimer l(es) attachement(s) marqué(s)?" + msgstr[1] "Imprimer l(es) attachement(s) marqué(s)?" + +-#: recvattach.c:1039 ++#: recvattach.c:1041 + #, c-format + msgid "Print attachment?" + msgstr "Imprimer l'attachement?" + +-#: recvattach.c:1123 ++#: recvattach.c:1125 + msgid "Structural changes to decrypted attachments are not supported" + msgstr "" + +-#: recvattach.c:1291 ++#: recvattach.c:1293 + msgid "Can't decrypt encrypted message" + msgstr "Impossible de déchiffrer le message chiffré " + +-#: recvattach.c:1425 ++#: recvattach.c:1457 + msgid "Attachments" + msgstr "Attachements" + +-#: recvattach.c:1465 ++#: recvattach.c:1497 + msgid "There are no subparts to show" + msgstr "Il n'y a pas de sous-parties à montrer " + +-#: recvattach.c:1520 ++#: recvattach.c:1552 + msgid "Can't delete attachment from POP server" + msgstr "Impossible d'effacer l'attachement depuis le serveur POP" + +-#: recvattach.c:1529 ++#: recvattach.c:1561 + #, fuzzy + msgid "Can't delete attachment from news server" + msgstr "Impossible d'effacer l'attachement depuis le serveur POP" + +-#: recvattach.c:1536 ++#: recvattach.c:1568 + msgid "Deletion of attachments from encrypted messages is unsupported" + msgstr "L'effacement d'attachements de messages chiffrés n'est pas supporté" + +-#: recvattach.c:1542 ++#: recvattach.c:1574 + msgid "Deletion of attachments from signed messages may invalidate the signature" + msgstr "L'effacement d'attachements de messages signés peut invalider la signature" + +-#: recvattach.c:1561 recvattach.c:1578 ++#: recvattach.c:1593 recvattach.c:1610 + msgid "Only deletion of multipart attachments is supported" + msgstr "Seul l'effacement d'attachements multipart est supporté" + +-#: recvcmd.c:79 ++#: recvcmd.c:78 + msgid "You may only bounce message/rfc822 parts" + msgstr "Vous ne pouvez renvoyer que des parties message/rfc822" + +@@ -6747,7 +6837,7 @@ msgstr "Impossible de créer %s" + msgid "Can't find any tagged messages" + msgstr "Aucun message marqué n'a pu être trouvé" + +-#: recvcmd.c:848 send.c:1073 ++#: recvcmd.c:848 send.c:1072 + msgid "No mailing lists found" + msgstr "Pas de liste de diffusion trouvée " + +@@ -6762,68 +6852,68 @@ msgstr "Impossible de décoder ts les attachements marqués. MIME-encapsuler les + msgid "You may only compose to sender with message/rfc822 parts" + msgstr "Vous ne pouvez renvoyer que des parties message/rfc822" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Append" + msgstr "Ajouter" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Insert" + msgstr "Insérer" + +-#: remailer.c:78 ++#: remailer.c:76 + msgid "OK" + msgstr "OK" + +-#: remailer.c:210 ++#: remailer.c:207 + msgid "" + msgstr "" + +-#: remailer.c:586 ++#: remailer.c:617 + msgid "Can't get mixmaster's type2.list" + msgstr "Impossible d'obtenir le type2.list du mixmaster " + +-#: remailer.c:612 ++#: remailer.c:673 + msgid "Select a remailer chain" + msgstr "Sélectionner une chaîne de redistributeurs de courrier" + +-#: remailer.c:674 ++#: remailer.c:735 + #, c-format + msgid "Error: %s can't be used as the final remailer of a chain" + msgstr "Erreur : %s ne peut pas être utilisé comme redistributeur final" + + #. L10N The '%d' here hard-coded to 19 +-#: remailer.c:706 ++#: remailer.c:767 + #, c-format + msgid "Mixmaster chains are limited to %d elements" + msgstr "Les chaînes mixmaster sont limitées à %d éléments" + +-#: remailer.c:729 ++#: remailer.c:790 + msgid "The remailer chain is already empty" + msgstr "La chaîne de redistributeurs de courrier est déjà vide" + +-#: remailer.c:739 ++#: remailer.c:800 + msgid "You already have the first chain element selected" + msgstr "Le premier élément de la chaîne est déjà sélectionné" + +-#: remailer.c:749 ++#: remailer.c:810 + msgid "You already have the last chain element selected" + msgstr "Le dernier élément de la chaîne est déjà sélectionné" + +-#: remailer.c:792 ++#: remailer.c:856 + msgid "Mixmaster doesn't accept Cc or Bcc headers" + msgstr "Le mixmaster n'accepte pas les en-têtes Cc et Bcc" + +-#: remailer.c:817 ++#: remailer.c:881 + msgid "Please set the hostname variable to a proper value when using mixmaster" + msgstr "Donnez une valeur correcte à hostname quand vous utilisez le mixmaster " + + # , c-format +-#: remailer.c:860 ++#: remailer.c:924 + #, c-format + msgid "Error sending message, child exited %d.\n" + msgstr "Erreur en envoyant le message, fils terminé avec le code %d.\n" + +-#: remailer.c:864 ++#: remailer.c:928 + msgid "Error sending message" + msgstr "Erreur en envoyant le message" + +@@ -6854,43 +6944,43 @@ msgstr "Faire suivre les attachements ?" + # , c-format + #. L10N: Asks whether the user respects the reply-to header. + #. If she says no, neomutt will reply to the from header's address instead. +-#: send.c:793 ++#: send.c:792 + #, c-format + msgid "Reply to %s%s?" + msgstr "Répondre à %s%s?" + + # , c-format +-#: send.c:838 ++#: send.c:837 + #, c-format + msgid "Follow-up to %s%s?" + msgstr "Suivi de la discussion à %s%s?" + +-#: send.c:1122 ++#: send.c:1121 + msgid "Include message in reply?" + msgstr "Inclure le message dans la réponse?" + +-#: send.c:1128 ++#: send.c:1127 + msgid "Including quoted message..." + msgstr "Inclusion du message cité..." + +-#: send.c:1137 ++#: send.c:1136 + msgid "Could not include all requested messages" + msgstr "Tous les messages demandés n'ont pas pu être inclus " + +-#: send.c:1148 ++#: send.c:1147 + msgid "Forward as attachment?" + msgstr "Faire suivre sous forme d'attachement?" + +-#: send.c:1153 ++#: send.c:1152 + msgid "Preparing forwarded message..." + msgstr "Préparation du message à faire suivre..." + + # , c-format +-#: send.c:1632 ++#: send.c:1631 + msgid "Fcc to an IMAP mailbox is not supported in batch mode" + msgstr "Fcc vers une boîte aux lettres IMAP n'est pas supporté en mode batch" + +-#: send.c:1664 send.c:1690 ++#: send.c:1665 send.c:1675 send.c:1701 + msgid "Save attachments in Fcc?" + msgstr "Sauver les attachements dans Fcc?" + +@@ -6898,199 +6988,199 @@ msgstr "Sauver les attachements dans Fcc?" + #. (r)etry tries the same mailbox again. + #. alternate (m)ailbox prompts for a different mailbox to try. + #. (s)kip aborts saving. +-#: send.c:1712 ++#: send.c:1723 + msgid "Fcc failed. (r)etry, alternate (m)ailbox, or (s)kip?" + msgstr "Fcc a échoué. (r)éessayer, autre (b)oîte aux lettres, ou (s)auter ?" + + #. L10N: These correspond to the "Fcc failed" multi-choice prompt + #. (r)etry, alternate (m)ailbox, or (s)kip. + #. Any similarity to famous leaders of the FSF is coincidental. +-#: send.c:1716 ++#: send.c:1727 + msgid "rms" + msgstr "rbs" + + #. L10N: This is the prompt to enter an "alternate (m)ailbox" when the + #. initial Fcc fails. +-#: send.c:1722 ++#: send.c:1733 + msgid "Fcc mailbox" + msgstr "Boîte aux lettres Fcc" + +-#: send.c:1788 ++#: send.c:1799 + msgid "Can't postpone. $postponed is unset" + msgstr "Impossible d'ajourner. $postponed est non renseigné" + +-#: send.c:1923 ++#: send.c:1934 + msgid "Recall postponed message?" + msgstr "Rappeler un message ajourné?" + +-#: send.c:2228 ++#: send.c:2239 + msgid "Edit forwarded message?" + msgstr "Éditer le message à faire suivre?" + +-#: send.c:2266 ++#: send.c:2277 + msgid "Abort unmodified message?" + msgstr "Message non modifié. Abandonner?" + +-#: send.c:2268 ++#: send.c:2279 + msgid "Aborted unmodified message" + msgstr "Message non modifié. Abandon" + +-#: send.c:2388 ++#: send.c:2399 + msgid "No crypto backend configured. Disabling message security setting." + msgstr "Pas de backend crypto configuré. Désactivation de la sécurité du message." + +-#: send.c:2427 ++#: send.c:2438 + #, fuzzy + msgid "Article not posted" + msgstr "Message non envoyé" + +-#: send.c:2437 ++#: send.c:2448 + msgid "Message postponed" + msgstr "Message ajourné" + +-#: send.c:2470 ++#: send.c:2481 + msgid "No subject, abort sending?" + msgstr "Pas d'objet (Subject), abandonner l'envoi?" + +-#: send.c:2474 send.c:2480 ++#: send.c:2485 send.c:2491 + msgid "No subject specified" + msgstr "Pas d'objet (Subject) spécifié" + +-#: send.c:2486 ++#: send.c:2497 + #, fuzzy + msgid "No newsgroup specified" + msgstr "Pas d'objet (Subject) spécifié" + +-#: send.c:2496 ++#: send.c:2507 + msgid "No attachments, cancel sending?" + msgstr "Pas d'attachements, abandonner l'envoi ?" + +-#: send.c:2501 ++#: send.c:2512 + msgid "Message contains text matching \"$abort_noattach_regex\". Not sending." + msgstr "L'attachement référencé dans le message est manquant" + +-#: send.c:2559 smtp.c:227 ++#: send.c:2570 smtp.c:230 + msgid "Sending message..." + msgstr "Envoi du message..." + +-#: send.c:2598 ++#: send.c:2609 + msgid "Could not send the message" + msgstr "Impossible d'envoyer le message" + +-#: send.c:2608 ++#: send.c:2619 + msgid "Sending in background" + msgstr "Envoi en tâche de fond" + +-#: send.c:2609 ++#: send.c:2620 + msgid "Article posted" + msgstr "" + +-#: send.c:2610 ++#: send.c:2621 + msgid "Mail sent" + msgstr "Message envoyé" + +-#: sendlib.c:567 ++#: sendlib.c:566 + msgid "No boundary parameter found [report this error]" + msgstr "Pas de paramètre boundary trouvé [signalez cette erreur]" + + # , c-format +-#: sendlib.c:598 ++#: sendlib.c:597 + #, c-format + msgid "%s no longer exists" + msgstr "%s n'existe plus " + + # , c-format +-#: sendlib.c:1056 ++#: sendlib.c:1055 + #, c-format + msgid "%s isn't a regular file" + msgstr "%s n'est pas un fichier ordinaire" + +-#: sendlib.c:1223 ++#: sendlib.c:1222 + #, fuzzy + msgid "Could not find any mime.types file." + msgstr "Impossible d'envoyer le message." + + # , c-format +-#: sendlib.c:1314 ++#: sendlib.c:1313 + #, c-format + msgid "Could not open %s" + msgstr "Impossible d'ouvrir %s" + +-#: sendlib.c:2864 ++#: sendlib.c:2855 + msgid "$sendmail must be set in order to send mail" + msgstr "$sendmail doit avoir une valeur pour pouvoir envoyer du courrier" + + # , c-format +-#: sendlib.c:2971 ++#: sendlib.c:2962 + #, c-format + msgid "Error sending message, child exited %d (%s)" + msgstr "Erreur en envoyant le message, fils terminé avec le code %d (%s)" + +-#: sendlib.c:2977 ++#: sendlib.c:2969 + msgid "Output of the delivery process" + msgstr "Sortie du processus de livraison" + +-#: sendlib.c:3157 ++#: sendlib.c:3154 + #, c-format + msgid "Bad IDN %s while preparing resent-from" + msgstr "Mauvais IDN %s lors de la préparation du resent-from" + +-#: smtp.c:165 ++#: smtp.c:168 + #, c-format + msgid "SMTP session failed: %s" + msgstr "La session SMTP a échoué : %s" + +-#: smtp.c:222 ++#: smtp.c:225 + #, c-format + msgid "SMTP session failed: unable to open %s" + msgstr "La session SMTP a échoué : impossible d'ouvrir %s" + + # , c-format +-#: smtp.c:339 ++#: smtp.c:364 + #, c-format + msgid "Invalid SMTP URL: %s" + msgstr "URL SMTP invalide : %s" + +-#: smtp.c:618 ++#: smtp.c:643 + #, c-format + msgid "SMTP authentication method %s requires SASL" + msgstr "" + +-#: smtp.c:625 ++#: smtp.c:650 + #, c-format + msgid "%s authentication failed, trying next method" + msgstr "L'authentification %s a échoué, essayons la méthode suivante" + +-#: smtp.c:636 ++#: smtp.c:661 + #, fuzzy + msgid "SMTP authentication requires SASL" + msgstr "L'authentification GSSAPI a échoué" + +-#: smtp.c:717 ++#: smtp.c:742 + msgid "SMTP server does not support authentication" + msgstr "Le serveur SMTP ne supporte pas l'authentification" + +-#: smtp.c:756 ++#: smtp.c:781 + msgid "No from address given" + msgstr "Pas d'adresse from donnée" + +-#: smtp.c:821 ++#: smtp.c:846 + msgid "SMTP session failed: read error" + msgstr "La session SMTP a échoué : erreur de lecture" + +-#: smtp.c:823 ++#: smtp.c:848 + msgid "SMTP session failed: write error" + msgstr "La session SMTP a échoué : erreur d'écriture" + +-#: smtp.c:825 ++#: smtp.c:850 + msgid "Invalid server response" + msgstr "Réponse du serveur invalide" + +-#: sort.c:385 ++#: sort.c:387 + msgid "Sorting mailbox..." + msgstr "Tri de la boîte aux lettres..." + +-#: sort.c:427 ++#: sort.c:429 + msgid "Could not find sorting function [report this bug]" + msgstr "Fonction de tri non trouvée [signalez ce bug]" + +@@ -7158,11 +7248,11 @@ msgstr "" + "NeoMutt est un logiciel libre, et vous êtes libre de le redistribuer\n" + "sous certaines conditions ; tapez 'neomutt -vv' pour les détails.\n" + +-#: version.c:446 ++#: version.c:451 + #, fuzzy + msgid "Default options:" + msgstr "Options de compilation :" + +-#: version.c:449 ++#: version.c:454 + msgid "Compile options:" + msgstr "Options de compilation :" +diff --git a/po/ga.po b/po/ga.po +index f8b21a1db..644be7898 100644 +--- a/po/ga.po ++++ b/po/ga.po +@@ -9,7 +9,7 @@ msgid "" + msgstr "" + "Project-Id-Version: neomutt-2019-12-07\n" + "Report-Msgid-Bugs-To: neomutt-devel@neomutt.org\n" +-"POT-Creation-Date: 2019-12-06 23:10+0000\n" ++"POT-Creation-Date: 2020-03-09 12:15+0000\n" + "PO-Revision-Date: 2006-10-16 14:22-0500\n" + "Last-Translator: Kevin Patrick Scannell \n" + "Language-Team: Irish \n" +@@ -19,16 +19,44 @@ msgstr "" + "Content-Transfer-Encoding: 8bit\n" + "Plural-Forms: nplurals=5; plural=(n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : 4);\n" + +-#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:59 browser.c:80 browser.c:90 +-#: mutt_history.c:45 pager.c:228 postpone.c:68 query.c:80 recvattach.c:93 ++#, fuzzy ++msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" ++msgstr "(d)iúltaigh, glac leis (u)air amháin, gl(a)c leis i gcónaí" ++ ++#, fuzzy ++msgid "roas" ++msgstr "dau" ++ ++msgid "(r)eject, accept (o)nce, (a)ccept always" ++msgstr "(d)iúltaigh, glac leis (u)air amháin, gl(a)c leis i gcónaí" ++ ++msgid "roa" ++msgstr "dua" ++ ++#, fuzzy ++msgid "(r)eject, accept (o)nce, (s)kip" ++msgstr "(d)iúltaigh, glac leis (u)air amháin" ++ ++#, fuzzy ++msgid "ros" ++msgstr "du" ++ ++msgid "(r)eject, accept (o)nce" ++msgstr "(d)iúltaigh, glac leis (u)air amháin" ++ ++msgid "ro" ++msgstr "du" ++ ++#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:58 browser.c:79 browser.c:89 ++#: mutt_history.c:45 pager.c:220 postpone.c:68 query.c:78 recvattach.c:91 + msgid "Exit" + msgstr "Scoir" + +-#: addrbook.c:56 index.c:116 index.c:129 pager.c:236 pager.c:246 postpone.c:69 ++#: addrbook.c:56 index.c:112 index.c:125 pager.c:228 pager.c:238 postpone.c:69 + msgid "Del" + msgstr "Scr" + +-#: addrbook.c:57 index.c:117 index.c:130 postpone.c:70 ++#: addrbook.c:57 index.c:113 index.c:126 postpone.c:70 + msgid "Undel" + msgstr "DíScr" + +@@ -36,18 +64,18 @@ msgstr "DíScr" + msgid "Select" + msgstr "Roghnaigh" + +-#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:82 browser.c:84 browser.c:96 +-#: compose.c:218 compose.c:230 conn/ssl.c:983 conn/ssl_gnutls.c:691 index.c:122 +-#: index.c:135 mutt_history.c:48 ncrypt/crypt_gpgme.c:4735 ncrypt/pgpkey.c:670 +-#: ncrypt/smime.c:553 pager.c:2326 postpone.c:71 query.c:85 recvattach.c:94 ++#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:81 browser.c:83 browser.c:95 ++#: compose.c:216 compose.c:228 conn/ssl.c:996 conn/ssl_gnutls.c:722 index.c:118 ++#: index.c:131 mutt_history.c:48 ncrypt/crypt_gpgme.c:4783 ncrypt/pgpkey.c:673 ++#: ncrypt/smime.c:555 pager.c:2297 postpone.c:71 query.c:83 recvattach.c:92 + msgid "Help" + msgstr "Cabhair" + +-#: addrbook.c:208 ++#: addrbook.c:238 + msgid "You have no aliases" + msgstr "Níl aon ailias agat" + +-#: addrbook.c:215 ++#: addrbook.c:276 + msgid "Aliases" + msgstr "Ailiasanna" + +@@ -56,53 +84,53 @@ msgstr "Ailiasanna" + msgid "Alias as: " + msgstr "Ailias: " + +-#: alias.c:411 ++#: alias.c:414 + msgid "You already have an alias defined with that name" + msgstr "Tá an t-ailias seo agat cheana féin" + +-#: alias.c:417 ++#: alias.c:420 + msgid "Warning: This alias name may not work. Fix it?" + msgstr "Rabhadh: Is féidir nach n-oibreoidh an t-ailias seo i gceart. Ceartaigh?" + +-#: alias.c:442 ++#: alias.c:445 + msgid "Address: " + msgstr "Seoladh: " + +-#: alias.c:453 commands.c:444 compose.c:744 conn/conn_raw.c:152 +-#: conn/conn_raw.c:210 recvcmd.c:232 send.c:228 ++#: alias.c:457 commands.c:450 compose.c:743 conn/conn_raw.c:152 ++#: conn/conn_raw.c:210 recvcmd.c:231 send.c:227 + #, c-format + msgid "Bad IDN: '%s'" + msgstr "DrochIDN: '%s'" + +-#: alias.c:464 ++#: alias.c:468 + msgid "Personal name: " + msgstr "Ainm pearsanta: " + +-#: alias.c:473 ++#: alias.c:477 + #, c-format + msgid "[%s = %s] Accept?" + msgstr "[%s = %s] Glac Leis?" + +-#: alias.c:484 recvattach.c:528 recvattach.c:550 recvattach.c:564 +-#: recvattach.c:579 recvattach.c:678 ++#: alias.c:488 recvattach.c:530 recvattach.c:552 recvattach.c:566 ++#: recvattach.c:581 recvattach.c:680 + msgid "Save to file: " + msgstr "Sábháil go comhad: " + +-#: alias.c:503 ++#: alias.c:507 + #, fuzzy + msgid "Error reading alias file" + msgstr "Earráid ag iarraidh comhad a scrúdú" + +-#: alias.c:525 ++#: alias.c:529 + #, fuzzy + msgid "Trouble adding alias" + msgstr "Earráid ag iarraidh comhad a scrúdú" + +-#: alias.c:527 ++#: alias.c:531 + msgid "Alias added" + msgstr "Cuireadh an t-ailias leis" + +-#: alias.c:532 ++#: alias.c:536 + #, fuzzy + msgid "Error seeking in alias file" + msgstr "Earráid ag iarraidh comhad a scrúdú" +@@ -112,7 +140,7 @@ msgstr "Earráid ag iarraidh comhad a scrúdú" + #. for some reason (e.g. autocrypt, header cache, bcache), but it + #. doesn't exist. The prompt is asking whether to create the directory + #. +-#: autocrypt/autocrypt.c:70 main.c:826 ++#: autocrypt/autocrypt.c:70 main.c:757 + #, c-format + msgid "%s does not exist. Create it?" + msgstr "Níl a leithéid de %s ann. Cruthaigh?" +@@ -121,8 +149,8 @@ msgstr "Níl a leithéid de %s ann. Cruthaigh?" + #. mkdir() on the directory %s failed. The second %s is the + #. error message returned by libc + #. +-#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:830 +-#: nntp/newsrc.c:1069 ++#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:761 ++#: nntp/newsrc.c:1098 + #, c-format + msgid "Can't create %s: %s" + msgstr "Ní féidir %s a chruthú: %s" +@@ -132,7 +160,7 @@ msgstr "Ní féidir %s a chruthú: %s" + #. create $autocrypt_dir and then prompt to create an autocrypt + #. account with this message. + #. +-#: autocrypt/autocrypt.c:156 ++#: autocrypt/autocrypt.c:163 + msgid "Create an initial autocrypt account?" + msgstr "" + +@@ -141,7 +169,7 @@ msgstr "" + #. autocrypt account. This will generate a key and add a record + #. to the database for use in autocrypt operations. + #. +-#: autocrypt/autocrypt.c:180 ++#: autocrypt/autocrypt.c:187 + msgid "Autocrypt account address: " + msgstr "" + +@@ -150,7 +178,7 @@ msgstr "" + #. a single address. This is shown if they entered something invalid, + #. nothing, or more than one address for some reason. + #. +-#: autocrypt/autocrypt.c:191 ++#: autocrypt/autocrypt.c:198 + msgid "Please enter a single email address" + msgstr "" + +@@ -159,7 +187,7 @@ msgstr "" + #. if there is already an account in the database with the email address + #. they just entered. + #. +-#: autocrypt/autocrypt.c:208 ++#: autocrypt/autocrypt.c:215 + msgid "That email address already has an autocrypt account" + msgstr "" + +@@ -171,7 +199,7 @@ msgstr "" + #. Otherwise the UI will show encryption is "available" but the user + #. will be required to enable encryption manually. + #. +-#: autocrypt/autocrypt.c:223 ++#: autocrypt/autocrypt.c:230 + #, fuzzy + msgid "Prefer encryption?" + msgstr "criptiúchán" +@@ -179,7 +207,7 @@ msgstr "criptiúchán" + #. L10N: + #. Message displayed after an autocrypt account is successfully created. + #. +-#: autocrypt/autocrypt.c:236 ++#: autocrypt/autocrypt.c:243 + msgid "Autocrypt account creation succeeded" + msgstr "" + +@@ -187,7 +215,7 @@ msgstr "" + #. Error message displayed if creating an autocrypt account failed + #. or was aborted by the user. + #. +-#: autocrypt/autocrypt.c:242 ++#: autocrypt/autocrypt.c:249 + msgid "Autocrypt account creation aborted" + msgstr "" + +@@ -196,7 +224,7 @@ msgstr "" + #. to use to encrypt, but it can't find a valid keyid for this address. + #. The message is printed and they are returned to the compose menu. + #. +-#: autocrypt/autocrypt.c:610 autocrypt/autocrypt.c:639 ++#: autocrypt/autocrypt.c:617 autocrypt/autocrypt.c:646 + #, fuzzy, c-format + msgid "No (valid) autocrypt key found for %s" + msgstr "Níor aimsíodh aon teastas (bailí) do %s" +@@ -208,12 +236,12 @@ msgstr "Níor aimsíodh aon teastas (bailí) do %s" + #. and used for encryption. + #. If this is answered yes, they will be prompted for a mailbox. + #. +-#: autocrypt/autocrypt.c:903 ++#: autocrypt/autocrypt.c:910 + msgid "Scan a mailbox for autocrypt headers?" + msgstr "" + + #. L10N: The prompt for a mailbox to scan for Autocrypt: headers +-#: autocrypt/autocrypt.c:907 ++#: autocrypt/autocrypt.c:914 + #, fuzzy + msgid "Scan mailbox" + msgstr "Níl aon bhosca poist.\n" +@@ -225,14 +253,14 @@ msgstr "Níl aon bhosca poist.\n" + #. for a mailbox. This is because this is a one-time operation + #. and I don't want them to accidentally ctrl-g and abort it. + #. +-#: autocrypt/autocrypt.c:927 ++#: autocrypt/autocrypt.c:934 + msgid "Scan another mailbox for autocrypt headers?" + msgstr "" + + #. L10N: Autocrypt Account Menu Help line: + #. create new account + #. +-#: autocrypt/autocrypt_acct_menu.c:63 ++#: autocrypt/autocrypt_acct_menu.c:62 + #, fuzzy + msgid "Create" + msgstr "Cruthaigh %s?" +@@ -240,7 +268,7 @@ msgstr "Cruthaigh %s?" + #. L10N: Autocrypt Account Menu Help line: + #. delete account + #. +-#: autocrypt/autocrypt_acct_menu.c:67 remailer.c:77 ++#: autocrypt/autocrypt_acct_menu.c:66 remailer.c:75 + msgid "Delete" + msgstr "Scrios" + +@@ -248,9 +276,9 @@ msgstr "Scrios" + #. toggle an account active/inactive + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:74 ++#: autocrypt/autocrypt_acct_menu.c:73 + msgid "Tgl Active" + msgstr "" + +@@ -258,17 +286,17 @@ msgstr "" + #. toggle "prefer-encrypt" on an account + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:81 +-msgid "Prf Enc" ++#: autocrypt/autocrypt_acct_menu.c:80 ++msgid "Prf Encr" + msgstr "" + + #. L10N: + #. Autocrypt Account menu. + #. flag that an account has prefer-encrypt set + #. +-#: autocrypt/autocrypt_acct_menu.c:123 ++#: autocrypt/autocrypt_acct_menu.c:122 + msgid "prefer encrypt" + msgstr "" + +@@ -277,7 +305,7 @@ msgstr "" + #. flag that an account has prefer-encrypt unset; + #. thus encryption will need to be manually enabled. + #. +-#: autocrypt/autocrypt_acct_menu.c:130 ++#: autocrypt/autocrypt_acct_menu.c:129 + msgid "manual encrypt" + msgstr "" + +@@ -285,7 +313,7 @@ msgstr "" + #. Autocrypt Account menu. + #. flag that an account is enabled/active + #. +-#: autocrypt/autocrypt_acct_menu.c:138 ++#: autocrypt/autocrypt_acct_menu.c:137 + msgid "active" + msgstr "" + +@@ -293,12 +321,12 @@ msgstr "" + #. Autocrypt Account menu. + #. flag that an account is disabled/inactive + #. +-#: autocrypt/autocrypt_acct_menu.c:144 ++#: autocrypt/autocrypt_acct_menu.c:143 + msgid "inactive" + msgstr "" + + #. L10N: Autocrypt Account Management Menu title +-#: autocrypt/autocrypt_acct_menu.c:183 ++#: autocrypt/autocrypt_acct_menu.c:182 + msgid "Autocrypt Accounts" + msgstr "" + +@@ -306,13 +334,13 @@ msgstr "" + #. This error message is displayed if a database update of an + #. account record fails for some odd reason. + #. +-#: autocrypt/autocrypt_acct_menu.c:245 autocrypt/autocrypt_acct_menu.c:259 ++#: autocrypt/autocrypt_acct_menu.c:244 autocrypt/autocrypt_acct_menu.c:258 + #, fuzzy + msgid "Error updating account record" + msgstr "Earráid agus comhadlann á scanadh" + + #. L10N: Confirmation message when deleting an autocrypt account +-#: autocrypt/autocrypt_acct_menu.c:302 ++#: autocrypt/autocrypt_acct_menu.c:333 + #, fuzzy, c-format + msgid "Really delete account \"%s\"?" + msgstr "Scrios bosca poist \"%s\" i ndáiríre?" +@@ -330,7 +358,7 @@ msgstr "Scrios bosca poist \"%s\" i ndáiríre?" + msgid "Unable to open autocrypt database %s" + msgstr "Ní féidir an bosca poist a chur faoi ghlas!" + +-#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:774 ++#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:773 + #, c-format + msgid "error creating gpgme context: %s" + msgstr "earráid agus comhthéacs gpgme á chruthú: %s" +@@ -403,285 +431,236 @@ msgstr "" + msgid "Message cache isn't a directory: %s" + msgstr "Ní comhadlann í %s" + +-#: browser.c:81 ++#: browser.c:80 + msgid "Chdir" + msgstr "Chdir" + +-#: browser.c:82 ++#: browser.c:81 + msgid "Goto" + msgstr "" + +-#: browser.c:83 browser.c:95 ++#: browser.c:82 browser.c:94 + msgid "Mask" + msgstr "Masc" + +-#: browser.c:91 ++#: browser.c:90 + msgid "List" + msgstr "" + +-#: browser.c:92 ++#: browser.c:91 + #, fuzzy + msgid "Subscribe" + msgstr "Liostáilte le %s" + +-#: browser.c:93 ++#: browser.c:92 + #, fuzzy + msgid "Unsubscribe" + msgstr "Díliostáilte ó %s" + +-#: browser.c:94 index.c:134 ++#: browser.c:93 index.c:130 + msgid "Catchup" + msgstr "" + +-#: browser.c:760 browser.c:1519 browser.c:1758 ++#: browser.c:763 browser.c:1584 browser.c:1825 + #, c-format + msgid "%s is not a directory" + msgstr "Ní comhadlann í %s" + +-#: browser.c:1025 ++#: browser.c:1028 + #, fuzzy, c-format + msgid "Subscribed newsgroups" + msgstr "Liostáilte le %s" + +-#: browser.c:1028 ++#: browser.c:1031 + #, c-format + msgid "Newsgroups on server [%s]" + msgstr "" + +-#: browser.c:1038 ++#: browser.c:1041 + #, c-format + msgid "Mailboxes [%d]" + msgstr "Boscaí Poist [%d]" + +-#: browser.c:1050 ++#: browser.c:1053 + #, c-format + msgid "Subscribed [%s], File mask: %s" + msgstr "Liostáilte [%s], Masc comhaid: %s" + +-#: browser.c:1056 ++#: browser.c:1059 + #, c-format + msgid "Directory [%s], File mask: %s" + msgstr "Comhadlann [%s], Masc comhaid: %s" + +-#: browser.c:1113 ++#: browser.c:1116 + msgid "Can't attach a directory" + msgstr "Ní féidir comhadlann a cheangal" + +-#: browser.c:1380 browser.c:1814 browser.c:1959 ++#: browser.c:1445 browser.c:1881 browser.c:2026 + msgid "No files match the file mask" + msgstr "Níl aon chomhad comhoiriúnach leis an mhasc chomhaid" + +-#: browser.c:1587 ++#: browser.c:1654 + msgid "Create is only supported for IMAP mailboxes" + msgstr "Ní féidir cruthú ach le boscaí poist IMAP" + +-#: browser.c:1609 ++#: browser.c:1676 + msgid "Rename is only supported for IMAP mailboxes" + msgstr "Ní féidir athainmniú ach le boscaí poist IMAP" + +-#: browser.c:1630 ++#: browser.c:1697 + msgid "Delete is only supported for IMAP mailboxes" + msgstr "Ní féidir scriosadh ach le boscaí poist IMAP" + +-#: browser.c:1642 ++#: browser.c:1709 + #, fuzzy + msgid "Can't delete currently selected mailbox" + msgstr "taispeáin ainm an chomhaid atá roghnaithe faoi láthair" + +-#: browser.c:1646 ++#: browser.c:1713 + #, c-format + msgid "Really delete mailbox \"%s\"?" + msgstr "Scrios bosca poist \"%s\" i ndáiríre?" + +-#: browser.c:1663 ++#: browser.c:1730 + msgid "Mailbox deleted" + msgstr "Scriosadh an bosca" + +-#: browser.c:1667 ++#: browser.c:1734 + #, fuzzy + msgid "Mailbox deletion failed" + msgstr "Scriosadh an bosca" + +-#: browser.c:1670 ++#: browser.c:1737 + msgid "Mailbox not deleted" + msgstr "Níor scriosadh an bosca" + +-#: browser.c:1697 ++#: browser.c:1764 + msgid "Chdir to: " + msgstr "Chdir go: " + +-#: browser.c:1747 browser.c:1808 ++#: browser.c:1814 browser.c:1875 + msgid "Error scanning directory" + msgstr "Earráid agus comhadlann á scanadh" + +-#: browser.c:1769 ++#: browser.c:1836 + msgid "File Mask: " + msgstr "Masc Comhaid: " + + #. L10N: The highlighted letters must match the "Sort" options +-#: browser.c:1831 ++#: browser.c:1898 + #, fuzzy + msgid "Reverse sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "Sórtáil droim ar ais de réir (d)áta, (a)ibítíre, (m)éid, nó (n)á sórtáil?" + + #. L10N: The highlighted letters must match the "Reverse Sort" options +-#: browser.c:1834 ++#: browser.c:1901 + #, fuzzy + msgid "Sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "Sórtáil de réir (d)áta, (a)ibítíre, (m)éid, nó (n)á sórtáil?" + + #. L10N: These must match the highlighted letters from "Sort" and "Reverse Sort" +-#: browser.c:1837 ++#: browser.c:1904 + msgid "dazecwn" + msgstr "" + +-#: browser.c:1948 ++#: browser.c:2015 + msgid "New file name: " + msgstr "Ainm comhaid nua: " + +-#: browser.c:1976 ++#: browser.c:2043 + msgid "Can't view a directory" + msgstr "Ní féidir comhadlann a scrúdú" + +-#: browser.c:1993 ++#: browser.c:2060 + msgid "Error trying to view file" + msgstr "Earráid ag iarraidh comhad a scrúdú" + +-#: browser.c:2079 ++#: browser.c:2146 + #, fuzzy, c-format + msgid "Subscribe pattern: " + msgstr "Liostáilte le %s" + +-#: browser.c:2081 ++#: browser.c:2148 + #, fuzzy, c-format + msgid "Unsubscribe pattern: " + msgstr "Díliostáilte ó %s" + +-#: browser.c:2101 ++#: browser.c:2169 + #, fuzzy + msgid "No newsgroups match the mask" + msgstr "Níl aon chomhad comhoiriúnach leis an mhasc chomhaid" + +-#: color.c:633 color.c:644 +-#, c-format +-msgid "%s: color not supported by term" +-msgstr "%s: níl dathanna ar fáil leis an teirminéal seo" +- +-#: color.c:652 +-#, c-format +-msgid "%s: no such color" +-msgstr "%s: níl a leithéid de dhath ann" +- +-#: color.c:717 color.c:740 color.c:751 color.c:842 +-#, c-format +-msgid "%s: no such object" +-msgstr "%s: níl a leithéid de rud ann" +- +-#: color.c:731 color.c:868 color.c:1069 color.c:1098 color.c:1122 color.c:1191 +-#: color.c:1214 hook.c:110 hook.c:124 hook.c:367 hook.c:383 init.c:612 +-#: init.c:620 init.c:709 init.c:1099 init.c:1267 init.c:1871 init.c:1929 +-#: keymap.c:1184 score.c:110 +-#, c-format +-msgid "%s: too few arguments" +-msgstr "%s: níl go leor argóintí ann" +- +-#: color.c:1142 +-#, c-format +-msgid "%s: no such attribute" +-msgstr "%s: níl a leithéid d'aitreabúid ann" +- +-#: color.c:1223 color.c:1329 hook.c:131 hook.c:390 init.c:1123 init.c:2133 +-#: init.c:2611 keymap.c:1116 keymap.c:1289 keymap.c:1442 keymap.c:1506 +-#: mutt_lua.c:483 score.c:119 +-#, c-format +-msgid "%s: too many arguments" +-msgstr "%s: an iomarca argóintí" +- +-#: color.c:1244 +-msgid "default colors not supported" +-msgstr "níl na dathanna réamhshocraithe ar fáil" +- +-#: color.c:1282 +-#, c-format +-msgid "Maximum quoting level is %d" +-msgstr "" +- +-#: color.c:1319 +-#, fuzzy, c-format +-msgid "%s: invalid number: %s" +-msgstr "%d: uimhir theachtaireachtaí neamhbhailí.\n" +- + #. L10N: Used for the $crypt_verify_sig prompt +-#: commands.c:230 ++#: commands.c:232 + msgid "Verify signature?" + msgstr "Fíoraigh síniú?" + +-#: commands.c:257 mbox/mbox.c:1236 ++#: commands.c:259 mbox/mbox.c:1236 + msgid "Could not create temporary file" + msgstr "Níorbh fhéidir comhad sealadach a chruthú" + +-#: commands.c:269 ++#: commands.c:271 + msgid "Can't create display filter" + msgstr "Ní féidir scagaire taispeána a chruthú" + +-#: commands.c:302 ++#: commands.c:304 + msgid "Could not copy message" + msgstr "Níorbh fhéidir teachtaireacht a chóipeáil" + +-#: commands.c:338 ++#: commands.c:340 + msgid "S/MIME signature successfully verified" + msgstr "Bhí an síniú S/MIME fíoraithe" + +-#: commands.c:340 ++#: commands.c:342 + msgid "S/MIME certificate owner does not match sender" + msgstr "Níl úinéir an teastais S/MIME comhoiriúnach leis an seoltóir" + +-#: commands.c:343 commands.c:353 ++#: commands.c:345 commands.c:355 + msgid "Warning: Part of this message has not been signed" + msgstr "Rabhadh: Níor síníodh cuid den teachtaireacht seo" + +-#: commands.c:345 ++#: commands.c:347 + msgid "S/MIME signature could NOT be verified" + msgstr "Níorbh fhéidir an síniú S/MIME a fhíorú" + +-#: commands.c:351 ++#: commands.c:353 + msgid "PGP signature successfully verified" + msgstr "Bhí an síniú PGP fíoraithe" + +-#: commands.c:355 ++#: commands.c:357 + msgid "PGP signature could NOT be verified" + msgstr "Níorbh fhéidir an síniú PGP a fhíorú" + +-#: commands.c:372 compose.c:2116 compress.c:321 curs_lib.c:359 curs_lib.c:646 +-#: index.c:1235 index.c:1285 mutt_attach.c:159 mutt_attach.c:292 pager.c:2460 +-#: sendlib.c:1625 ++#: commands.c:378 compose.c:2187 compress/compress.c:320 gui/curs_lib.c:360 ++#: gui/curs_lib.c:714 index.c:1240 index.c:1290 mutt_attach.c:161 ++#: mutt_attach.c:294 pager.c:2433 sendlib.c:1624 + #, c-format + msgid "Error running \"%s\"" + msgstr "Earráid agus \"%s\" á rith" + +-#: commands.c:382 ++#: commands.c:388 + msgid "Command: " + msgstr "Ordú: " + +-#: commands.c:419 recvcmd.c:191 recvcmd.c:203 ++#: commands.c:425 recvcmd.c:190 recvcmd.c:202 + msgid "Warning: message contains no From: header" + msgstr "" + +-#: commands.c:425 recvcmd.c:212 ++#: commands.c:431 recvcmd.c:211 + #, fuzzy + msgid "Bounce message to: " + msgstr "Scinn teachtaireacht go: " + +-#: commands.c:427 recvcmd.c:214 ++#: commands.c:433 recvcmd.c:213 + #, fuzzy + msgid "Bounce tagged messages to: " + msgstr "Scinn teachtaireachtaí clibeáilte go: " + +-#: commands.c:436 recvcmd.c:224 ++#: commands.c:442 recvcmd.c:223 + msgid "Error parsing address" + msgstr "Earráid agus seoladh á pharsáil" + +-#: commands.c:455 recvcmd.c:243 ++#: commands.c:461 recvcmd.c:242 + #, fuzzy, c-format + msgid "Bounce message to %s?" + msgid_plural "Bounce messages to %s?" +@@ -691,7 +670,7 @@ msgstr[2] "Scinn teachtaireachtaí go %s?" + msgstr[3] "Scinn teachtaireachtaí go %s?" + msgstr[4] "Scinn teachtaireachtaí go %s?" + +-#: commands.c:470 recvcmd.c:257 ++#: commands.c:476 recvcmd.c:257 + #, fuzzy + msgid "Message not bounced" + msgid_plural "Messages not bounced" +@@ -701,7 +680,7 @@ msgstr[2] "Níor scinneadh na teachtaireachtaí" + msgstr[3] "Níor scinneadh na teachtaireachtaí" + msgstr[4] "Níor scinneadh na teachtaireachtaí" + +-#: commands.c:496 recvcmd.c:276 ++#: commands.c:502 recvcmd.c:276 + #, fuzzy + msgid "Message bounced" + msgid_plural "Messages bounced" +@@ -711,29 +690,29 @@ msgstr[2] "Scinneadh na teachtaireachtaí" + msgstr[3] "Scinneadh na teachtaireachtaí" + msgstr[4] "Scinneadh na teachtaireachtaí" + +-#: commands.c:606 commands.c:642 commands.c:662 ++#: commands.c:612 commands.c:648 commands.c:668 + msgid "Can't create filter process" + msgstr "Ní féidir próiseas a chruthú chun scagadh a dhéanamh" + +-#: commands.c:698 ++#: commands.c:704 + msgid "Pipe to command: " + msgstr "Píopa go dtí an t-ordú: " + +-#: commands.c:720 ++#: commands.c:726 + msgid "No printing command has been defined" + msgstr "Níl aon ordú priontála sainmhínithe" + +-#: commands.c:732 ++#: commands.c:738 + #, fuzzy + msgid "Print message?" + msgstr "Priontáil teachtaireacht?" + +-#: commands.c:733 ++#: commands.c:739 + #, fuzzy + msgid "Print tagged messages?" + msgstr "Priontáil teachtaireachtaí clibeáilte?" + +-#: commands.c:739 ++#: commands.c:745 + #, fuzzy + msgid "Message printed" + msgid_plural "Messages printed" +@@ -743,7 +722,7 @@ msgstr[2] "Priontáilte" + msgstr[3] "Priontáilte" + msgstr[4] "Priontáilte" + +-#: commands.c:742 ++#: commands.c:748 + #, fuzzy + msgid "Message could not be printed" + msgid_plural "Messages could not be printed" +@@ -754,165 +733,331 @@ msgstr[3] "Níorbh fhéidir na teachtaireachtaí a phriontáil" + msgstr[4] "Níorbh fhéidir na teachtaireachtaí a phriontáil" + + #. L10N: The highlighted letters must match the "Sort" options +-#: commands.c:759 ++#: commands.c:765 + #, fuzzy + msgid "Rev-Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "DroimArAis (d)áta/(ó)/(f)ág/á(b)har/(g)o/s(n)áith/dí(s)hórt/(m)éid/s(c)ór/s(p)am?" + + #. L10N: The highlighted letters must match the "Rev-Sort" options +-#: commands.c:763 ++#: commands.c:769 + #, fuzzy + msgid "Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "Sórtáil (d)áta/(ó)/(f)ág/á(b)har/(g)o/s(n)áith/dí(s)hórt/(m)éid/s(c)ór/s(p)am?" + + #. L10N: These must match the highlighted letters from "Sort" and "Rev-Sort" +-#: commands.c:767 ++#: commands.c:773 + #, fuzzy + msgid "dfrsotuzcpl" + msgstr "dófbgnsmcp" + +-#: commands.c:831 ++#: commands.c:837 + msgid "Shell command: " + msgstr "Ordú blaoisce: " + +-#: commands.c:1036 ++#: commands.c:1042 + #, fuzzy + msgid "Decode-save to mailbox" + msgstr "Díchódaigh-sábháil go bosca poist" + +-#: commands.c:1036 ++#: commands.c:1042 + #, fuzzy + msgid "Decode-save tagged to mailbox" + msgstr "Díchódaigh-sábháil clibeáilte go bosca poist" + +-#: commands.c:1038 ++#: commands.c:1044 + #, fuzzy + msgid "Decrypt-save to mailbox" + msgstr "Díchriptigh-sábháil go bosca poist" + +-#: commands.c:1038 ++#: commands.c:1044 + #, fuzzy + msgid "Decrypt-save tagged to mailbox" + msgstr "Díchriptigh-sábháil clibeáilte go bosca poist" + +-#: commands.c:1040 ++#: commands.c:1046 + #, fuzzy + msgid "Save to mailbox" + msgstr "Sábháil go dtí an bosca poist" + +-#: commands.c:1040 ++#: commands.c:1046 + #, fuzzy + msgid "Save tagged to mailbox" + msgstr "Sábháil clibeáilte go dtí an bosca poist" + +-#: commands.c:1045 ++#: commands.c:1051 + #, fuzzy + msgid "Decode-copy to mailbox" + msgstr "Díchódaigh-cóipeáil go bosca poist" + +-#: commands.c:1045 ++#: commands.c:1051 + #, fuzzy + msgid "Decode-copy tagged to mailbox" + msgstr "Díchódaigh-cóipeáil clibeáilte go bosca poist" + +-#: commands.c:1047 ++#: commands.c:1053 + #, fuzzy + msgid "Decrypt-copy to mailbox" + msgstr "Díchriptigh-cóipeáil go bosca poist" + +-#: commands.c:1047 ++#: commands.c:1053 + #, fuzzy + msgid "Decrypt-copy tagged to mailbox" + msgstr "Díchriptigh-cóipeáil clibeáilte go bosca poist" + +-#: commands.c:1049 ++#: commands.c:1055 + #, fuzzy + msgid "Copy to mailbox" + msgstr "Cóipeáil go dtí an bosca poist" + +-#: commands.c:1049 ++#: commands.c:1055 + #, fuzzy + msgid "Copy tagged to mailbox" + msgstr "Cóipeáil clibeáilte go dtí an bosca poist" + +-#: commands.c:1092 ++#: commands.c:1098 + #, c-format + msgid "Copying to %s..." + msgstr "Á chóipeáil go %s..." + + #. L10N: e.g. "text/plain; charset=UTF-8; ..." +-#: commands.c:1257 ++#: commands.c:1263 + #, fuzzy + msgid "Content type is too long" + msgstr "Athraíodh Content-Type go %s" + +-#: commands.c:1281 ++#: commands.c:1290 + #, c-format + msgid "Convert to %s upon sending?" + msgstr "Tiontaigh go %s agus á sheoladh?" + +-#: commands.c:1292 ++#: commands.c:1301 + #, c-format + msgid "Content-Type changed to %s" + msgstr "Athraíodh Content-Type go %s" + +-#: commands.c:1297 ++#: commands.c:1306 + #, fuzzy, c-format + msgid "Character set changed to %s; not converting" + msgstr "Athraíodh an tacar carachtar go %s; gan tiontú" + +-#: commands.c:1298 ++#: commands.c:1307 + #, fuzzy, c-format + msgid "Character set changed to %s; converting" + msgstr "Athraíodh an tacar carachtar go %s; á tiontú" + +-#: compose.c:99 ++#: command_parse.c:83 command_parse.c:211 command_parse.c:219 ++#: command_parse.c:740 command_parse.c:887 command_parse.c:1491 ++#: command_parse.c:1549 gui/color.c:731 gui/color.c:868 gui/color.c:1069 ++#: gui/color.c:1098 gui/color.c:1122 gui/color.c:1191 gui/color.c:1214 ++#: hook.c:110 hook.c:124 hook.c:372 hook.c:388 keymap.c:1182 score.c:110 ++#, c-format ++msgid "%s: too few arguments" ++msgstr "%s: níl go leor argóintí ann" ++ ++#: command_parse.c:394 ++msgid "-group: no group name" ++msgstr "-group: gan ainm grúpa" ++ ++#: command_parse.c:404 ++msgid "out of arguments" ++msgstr "níl go leor argóintí ann" ++ ++#: command_parse.c:445 command_parse.c:1372 ++#, c-format ++msgid "Error: Can't build path of '%s'" ++msgstr "" ++ ++#: command_parse.c:458 ++#, c-format ++msgid "Error: Cyclic sourcing of configuration file '%s'" ++msgstr "" ++ ++#: command_parse.c:491 ++#, c-format ++msgid "Error in %s, line %d: %s" ++msgstr "Earráid i %s, líne %d: %s" ++ ++#: command_parse.c:502 ++#, fuzzy, c-format ++msgid "Warning in %s, line %d: %s" ++msgstr "Earráid i %s, líne %d: %s" ++ ++#: command_parse.c:526 ++#, c-format ++msgid "source: errors in %s" ++msgstr "source: earráidí i %s" ++ ++#: command_parse.c:526 ++#, fuzzy, c-format ++msgid "source: reading aborted due to too many errors in %s" ++msgstr "source: an iomarca earráidí i %s, ag tobscor" ++ ++#: command_parse.c:535 ++#, fuzzy, c-format ++msgid "source: %d warning in %s" ++msgid_plural "source: %d warnings in %s" ++msgstr[0] "source: earráidí i %s" ++msgstr[1] "source: earráidí i %s" ++msgstr[2] "source: earráidí i %s" ++msgstr[3] "source: earráidí i %s" ++msgstr[4] "source: earráidí i %s" ++ ++#: command_parse.c:564 ++msgid "alias: no address" ++msgstr "ailias: gan seoladh" ++ ++#: command_parse.c:606 ++#, c-format ++msgid "Warning: Bad IDN '%s' in alias '%s'" ++msgstr "Rabhadh: DrochIDN '%s' san ailias '%s'" ++ ++#: command_parse.c:684 ++msgid "attachments: no disposition" ++msgstr "iatáin: gan chóiriú" ++ ++#: command_parse.c:695 ++#, fuzzy ++msgid "Current attachments settings:" ++msgstr "cuir cur síos an iatáin in eagar" ++ ++#: command_parse.c:725 ++msgid "attachments: invalid disposition" ++msgstr "iatáin: cóiriú neamhbhailí" ++ ++#: command_parse.c:764 command_parse.c:1753 command_parse.c:2205 ++#: gui/color.c:1223 gui/color.c:1329 hook.c:131 hook.c:395 keymap.c:1114 ++#: keymap.c:1287 keymap.c:1440 keymap.c:1504 mutt_lua.c:485 score.c:119 ++#, c-format ++msgid "%s: too many arguments" ++msgstr "%s: an iomarca argóintí" ++ ++#: command_parse.c:801 ++#, fuzzy, c-format ++msgid "%sgroup: missing -rx or -addr" ++msgstr "-rx nó -addr ar iarraidh" ++ ++#: command_parse.c:827 ++#, fuzzy, c-format ++msgid "%sgroup: warning: bad IDN '%s'" ++msgstr "Rabhadh: DrochIDN '%s'" ++ ++#: command_parse.c:898 ++#, c-format ++msgid "Error: %s" ++msgstr "" ++ ++#: command_parse.c:1065 ++msgid "invalid header field" ++msgstr "réimse cheanntáisc neamhbhailí" ++ ++#: command_parse.c:1331 command_parse.c:1435 ++#, c-format ++msgid "%s: unknown variable" ++msgstr "%s: athróg anaithnid" ++ ++#: command_parse.c:1528 ++#, c-format ++msgid "%s is unset" ++msgstr "%s gan socrú" ++ ++#: command_parse.c:1573 mutt_lua.c:480 ++#, c-format ++msgid "source: error at %s" ++msgstr "source: earráid ag %s" ++ ++#: command_parse.c:1581 ++#, fuzzy, c-format ++msgid "source: file %s could not be sourced" ++msgstr "Níorbh fhéidir na teachtaireachtaí a phriontáil" ++ ++#: command_parse.c:1604 ++msgid "spam: no matching pattern" ++msgstr "spam: níl aon phatrún comhoiriúnach ann" ++ ++#: command_parse.c:1606 ++msgid "nospam: no matching pattern" ++msgstr "nospam: níl aon phatrún comhoiriúnach ann" ++ ++#: command_parse.c:1762 imap/imap.c:1443 ++#, c-format ++msgid "Subscribed to %s" ++msgstr "Liostáilte le %s" ++ ++#: command_parse.c:1766 ++#, fuzzy, c-format ++msgid "Could not subscribe to %s" ++msgstr "Liostáilte le %s" ++ ++#: command_parse.c:1774 command_parse.c:2226 ++#, fuzzy ++msgid "No folder specified" ++msgstr "Níor sonraíodh aon ábhar." ++ ++#: command_parse.c:1943 ++msgid "unattachments: no disposition" ++msgstr "dí-iatáin: gan chóiriú" ++ ++#: command_parse.c:1981 ++msgid "unattachments: invalid disposition" ++msgstr "dí-iatáin: cóiriú neamhbhailí" ++ ++#: command_parse.c:2214 imap/imap.c:1445 ++#, c-format ++msgid "Unsubscribed from %s" ++msgstr "Díliostáilte ó %s" ++ ++#: command_parse.c:2218 ++#, fuzzy, c-format ++msgid "Could not unsubscribe from %s" ++msgstr "Díliostáilte ó %s" ++ ++#: compose.c:97 + msgid "There are no attachments" + msgstr "Níl aon iatán ann" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:166 ++#: compose.c:164 + msgid "From: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:168 send.c:284 ++#: compose.c:166 send.c:284 + msgid "To: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:170 send.c:286 ++#: compose.c:168 send.c:286 + msgid "Cc: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:172 send.c:288 ++#: compose.c:170 send.c:288 + msgid "Bcc: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:174 compose.c:1242 send.c:320 ++#: compose.c:172 compose.c:1302 send.c:320 + msgid "Subject: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:176 ++#: compose.c:174 + #, fuzzy + msgid "Reply-To: " + msgstr "Freagair" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:178 compose.c:1261 ++#: compose.c:176 compose.c:1321 + msgid "Fcc: " + msgstr "" + + #. L10N: "Mix" refers to the MixMaster chain for anonymous email +-#: compose.c:181 ++#: compose.c:179 + msgid "Mix: " + msgstr "" + + #. L10N: Compose menu field. Holds "Encrypt", "Sign" related information +-#: compose.c:184 ++#: compose.c:182 + msgid "Security: " + msgstr "" + +@@ -923,78 +1068,78 @@ msgstr "" + #. it should not be longer than the other compose menu fields. + #. Since it shares the row with "Encrypt with:", it should not be longer + #. than 15-20 character cells. +-#: compose.c:192 ncrypt/crypt_gpgme.c:5602 ncrypt/pgp.c:1974 +-#: ncrypt/smime.c:2395 ++#: compose.c:190 ncrypt/crypt_gpgme.c:5682 ncrypt/pgp.c:1976 ++#: ncrypt/smime.c:2429 + msgid "Sign as: " + msgstr "Sínigh mar: " + + #. L10N: The compose menu autocrypt line +-#: compose.c:195 ++#: compose.c:193 + msgid "Autocrypt: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:199 ++#: compose.c:197 + msgid "Newsgroups: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:201 ++#: compose.c:199 + #, fuzzy + msgid "Followup-To: " + msgstr "Teachtaireacht leantach go %s%s?" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:203 ++#: compose.c:201 + #, fuzzy + msgid "X-Comment-To: " + msgstr "cuir an réimse \"Reply-To\" in eagar" + +-#: compose.c:208 compose.c:224 ++#: compose.c:206 compose.c:222 + msgid "Send" + msgstr "Seol" + +-#: compose.c:209 compose.c:225 remailer.c:77 ++#: compose.c:207 compose.c:223 remailer.c:75 + msgid "Abort" + msgstr "Tobscoir" + + #. L10N: compose menu help line entry +-#: compose.c:211 ++#: compose.c:209 + msgid "To" + msgstr "" + + #. L10N: compose menu help line entry +-#: compose.c:213 ++#: compose.c:211 + msgid "CC" + msgstr "" + + #. L10N: compose menu help line entry +-#: compose.c:215 compose.c:227 ++#: compose.c:213 compose.c:225 + msgid "Subj" + msgstr "" + +-#: compose.c:216 compose.c:228 compose.c:1556 ++#: compose.c:214 compose.c:226 compose.c:1616 + msgid "Attach file" + msgstr "Iatán" + +-#: compose.c:217 compose.c:229 ++#: compose.c:215 compose.c:227 + msgid "Descrip" + msgstr "Cur Síos" + +-#: compose.c:226 ++#: compose.c:224 + #, fuzzy + msgid "Newsgroups" + msgstr "Níor sonraíodh aon ábhar." + + #. L10N: Autocrypt recommendation flag: off. + #. * This is displayed when Autocrypt is turned off. +-#: compose.c:239 compose.c:473 ++#: compose.c:237 compose.c:472 + msgid "Off" + msgstr "" + + #. L10N: Autocrypt recommendation flag: no. + #. * This is displayed when Autocrypt cannot encrypt to the recipients. +-#: compose.c:242 ++#: compose.c:240 + msgid "No" + msgstr "" + +@@ -1002,7 +1147,7 @@ msgstr "" + #. * This is displayed when Autocrypt believes encryption should not be used. + #. * This might occur if one of the recipient Autocrypt Keys has not been + #. * used recently, or if the only key available is a Gossip Header key. +-#: compose.c:247 ++#: compose.c:245 + msgid "Discouraged" + msgstr "" + +@@ -1010,14 +1155,14 @@ msgstr "" + #. * This is displayed when Autocrypt believes encryption is possible, but + #. * leaves enabling it up to the sender. Probably because "prefer encrypt" + #. * is not set in both the sender and recipient keys. +-#: compose.c:252 ++#: compose.c:250 + msgid "Available" + msgstr "" + + #. L10N: Autocrypt recommendation flag: yes. + #. * This is displayed when Autocrypt would normally enable encryption + #. * automatically. +-#: compose.c:256 ++#: compose.c:254 + #, fuzzy + msgid "Yes" + msgstr "is sea" +@@ -1028,7 +1173,7 @@ msgstr "is sea" + #. (c)lear sets cleartext. + #. (a)utomatic defers to the recommendation. + #. +-#: compose.c:338 ++#: compose.c:337 + msgid "Autocrypt: (e)ncrypt, (c)lear, (a)utomatic?" + msgstr "" + +@@ -1036,54 +1181,54 @@ msgstr "" + #. The letter corresponding to the compose menu autocrypt prompt + #. (e)ncrypt, (c)lear, (a)utomatic + #. +-#: compose.c:346 ++#: compose.c:345 + msgid "eca" + msgstr "" + +-#: compose.c:383 ++#: compose.c:382 + #, fuzzy + msgid "Not supported" + msgstr "Níl clibeáil le fáil." + +-#: compose.c:390 ++#: compose.c:389 + msgid "Sign, Encrypt" + msgstr "Sínigh, Criptigh" + +-#: compose.c:395 compose.c:468 ++#: compose.c:394 compose.c:467 + msgid "Encrypt" + msgstr "Criptigh" + +-#: compose.c:400 ++#: compose.c:399 + msgid "Sign" + msgstr "Sínigh" + +-#: compose.c:406 ++#: compose.c:405 + msgid "None" + msgstr "" + +-#: compose.c:415 ++#: compose.c:414 + #, fuzzy + msgid " (inline PGP)" + msgstr " (inlíne)" + +-#: compose.c:417 ++#: compose.c:416 + msgid " (PGP/MIME)" + msgstr " (PGP/MIME)" + +-#: compose.c:420 ++#: compose.c:419 + #, fuzzy + msgid " (S/MIME)" + msgstr " (PGP/MIME)" + +-#: compose.c:424 ++#: compose.c:423 + msgid " (OppEnc mode)" + msgstr "" + +-#: compose.c:436 compose.c:445 ++#: compose.c:435 compose.c:444 + msgid "" + msgstr "" + +-#: compose.c:452 ++#: compose.c:451 + msgid "Encrypt with: " + msgstr "Criptigh le: " + +@@ -1092,12 +1237,12 @@ msgstr "Criptigh le: " + #. Displays the output of the recommendation engine + #. (Off, No, Discouraged, Available, Yes) + #. +-#: compose.c:483 ++#: compose.c:482 + #, fuzzy + msgid "Recommendation: " + msgstr "cuir an réimse \"Reply-To\" in eagar" + +-#: compose.c:547 ++#: compose.c:546 + msgid "" + msgstr "" + +@@ -1108,7 +1253,7 @@ msgstr "" + #. The filename is located last to avoid a long path hiding the + #. error message. + #. +-#: compose.c:601 ++#: compose.c:600 + #, fuzzy, c-format + msgid "Attachment #%d no longer exists: %s" + msgstr "níl %s [#%d] ann níos mó" +@@ -1120,57 +1265,57 @@ msgstr "níl %s [#%d] ann níos mó" + #. The filename is located last to avoid a long path hiding the + #. prompt question. + #. +-#: compose.c:621 ++#: compose.c:620 + #, fuzzy, c-format + msgid "Attachment #%d modified. Update encoding for %s?" + msgstr "Mionathraíodh %s [#%d]. Nuashonraigh a ionchódú?" + +-#: compose.c:716 ++#: compose.c:715 + msgid "-- Attachments" + msgstr "-- Iatáin" + +-#: compose.c:770 ++#: compose.c:769 + msgid "You may not delete the only attachment" + msgstr "Ní féidir leat an t-iatán amháin a scriosadh" + +-#: compose.c:1296 edit.c:538 send.c:2462 ++#: compose.c:1356 edit.c:536 send.c:2473 + #, c-format + msgid "Bad IDN in '%s': '%s'" + msgstr "DrochIDN i '%s': '%s'" + +-#: compose.c:1347 ++#: compose.c:1407 + #, fuzzy + msgid "Attachment is already at top" + msgstr "Sábháladh an t-iatán" + +-#: compose.c:1352 compose.c:1368 ++#: compose.c:1412 compose.c:1428 + #, fuzzy + msgid "The fundamental part can't be moved" + msgstr "Ní thiontófar an t-iatán reatha" + +-#: compose.c:1363 ++#: compose.c:1423 + #, fuzzy + msgid "Attachment is already at bottom" + msgstr "Scagadh an t-iatán" + +-#: compose.c:1381 ++#: compose.c:1441 + msgid "Grouping 'alternatives' requires at least 2 tagged messages" + msgstr "" + +-#: compose.c:1462 ++#: compose.c:1522 + msgid "Grouping 'multilingual' requires at least 2 tagged messages" + msgstr "" + +-#: compose.c:1475 ++#: compose.c:1535 + msgid "Not all parts have 'Content-Language' set, continue?" + msgstr "" + +-#: compose.c:1477 ++#: compose.c:1537 + #, fuzzy + msgid "Not sending this message" + msgstr "Earráid agus teachtaireacht á seoladh" + +-#: compose.c:1571 ++#: compose.c:1631 + #, fuzzy + msgid "Attaching selected file..." + msgid_plural "Attaching selected files..." +@@ -1180,183 +1325,303 @@ msgstr[2] "Comhaid roghnaithe á gceangal..." + msgstr[3] "Comhaid roghnaithe á gceangal..." + msgstr[4] "Comhaid roghnaithe á gceangal..." + +-#: compose.c:1585 ++#: compose.c:1645 + #, c-format + msgid "Unable to attach %s" + msgstr "Ní féidir %s a cheangal" + +-#: compose.c:1606 ++#: compose.c:1666 + msgid "Open mailbox to attach message from" + msgstr "Oscail an bosca poist as a gceanglóidh tú teachtaireacht" + +-#: compose.c:1616 ++#: compose.c:1676 + #, fuzzy + msgid "Open newsgroup to attach message from" + msgstr "Oscail an bosca poist as a gceanglóidh tú teachtaireacht" + +-#: compose.c:1667 ++#: compose.c:1730 + #, fuzzy, c-format + msgid "Unable to open mailbox %s" + msgstr "Ní féidir an bosca poist a chur faoi ghlas!" + +-#: compose.c:1676 ++#: compose.c:1739 + msgid "No messages in that folder" + msgstr "Níl aon teachtaireacht san fhillteán sin" + +-#: compose.c:1686 ++#: compose.c:1749 + msgid "Tag the messages you want to attach" + msgstr "Clibeáil na teachtaireachtaí le ceangal" + +-#: compose.c:1715 ++#: compose.c:1785 + msgid "Unable to attach" + msgstr "Ní féidir a cheangal" + +-#: compose.c:1752 ++#: compose.c:1822 + msgid "Recoding only affects text attachments" + msgstr "Téann ath-ionchódú i bhfeidhm ar iatáin téacs amháin" + +-#: compose.c:1757 ++#: compose.c:1827 + msgid "The current attachment won't be converted" + msgstr "Ní thiontófar an t-iatán reatha" + +-#: compose.c:1759 ++#: compose.c:1829 + msgid "The current attachment will be converted" + msgstr "Tiontófar an t-iatán reatha" + +-#: compose.c:1831 ++#: compose.c:1901 + msgid "Empty 'Content-Language'" + msgstr "" + +-#: compose.c:1849 ++#: compose.c:1920 + msgid "Invalid encoding" + msgstr "Ionchódú neamhbhailí" + +-#: compose.c:1871 ++#: compose.c:1942 + msgid "Save a copy of this message?" + msgstr "Sábháil cóip den teachtaireacht seo?" + +-#: compose.c:1924 ++#: compose.c:1995 + #, fuzzy + msgid "Send attachment with name: " + msgstr "féach ar an iatán mar théacs" + +-#: compose.c:1939 ++#: compose.c:2010 + msgid "Rename to: " + msgstr "Athainmnigh go: " + + #. L10N: "stat" is a system call. Do "man 2 stat" for more information. +-#: compose.c:1946 editmsg.c:102 editmsg.c:138 sendlib.c:1050 ++#: compose.c:2017 editmsg.c:102 editmsg.c:138 sendlib.c:1049 + #, c-format + msgid "Can't stat %s: %s" + msgstr "ní féidir %s a 'stat': %s" + +-#: compose.c:1966 ++#: compose.c:2037 + msgid "New file: " + msgstr "Comhad nua: " + +-#: compose.c:1984 ++#: compose.c:2055 + msgid "Content-Type is of the form base/sub" + msgstr "Is san fhoirm base/sub é Content-Type" + +-#: compose.c:1991 ++#: compose.c:2062 + #, c-format + msgid "Unknown Content-Type %s" + msgstr "Content-Type anaithnid %s" + +-#: compose.c:1999 ++#: compose.c:2070 + #, c-format + msgid "Can't create file %s" + msgstr "Ní féidir an comhad %s a chruthú" + +-#: compose.c:2008 ++#: compose.c:2079 + msgid "What we have here is a failure to make an attachment" + msgstr "Ní féidir iatán a chruthú" + +-#: compose.c:2073 ++#: compose.c:2144 + #, fuzzy + msgid "Save (postpone) draft message?" + msgstr "Athghlaoigh teachtaireacht a bhí curtha ar athlá?" + +-#: compose.c:2133 ++#: compose.c:2204 + msgid "Write message to mailbox" + msgstr "Scríobh teachtaireacht sa bhosca poist" + +-#: compose.c:2136 ++#: compose.c:2207 + #, c-format + msgid "Writing message to %s ..." + msgstr "Teachtaireacht á scríobh i %s ..." + +-#: compose.c:2143 ++#: compose.c:2214 + msgid "Message written" + msgstr "Teachtaireacht scríofa" + +-#: compose.c:2154 ++#: compose.c:2225 + msgid "No PGP backend configured" + msgstr "" + +-#: compose.c:2161 compose.c:2225 ++#: compose.c:2232 compose.c:2296 + msgid "S/MIME already selected. Clear and continue?" + msgstr "S/MIME roghnaithe cheana. Glan agus lean ar aghaidh?" + +-#: compose.c:2186 ++#: compose.c:2257 + msgid "No S/MIME backend configured" + msgstr "" + +-#: compose.c:2194 ++#: compose.c:2265 + msgid "PGP already selected. Clear and continue?" + msgstr "PGP roghnaithe cheana. Glan agus lean ar aghaidh?" + +-#: compress.c:355 compress.c:499 ++#: compress/compress.c:354 compress/compress.c:498 + #, c-format + msgid "Can't append without an append-hook or close-hook : %s" + msgstr "" + +-#: compress.c:444 compress.c:511 compress.c:590 compress.c:628 mbox/mbox.c:1208 ++#: compress/compress.c:443 compress/compress.c:510 compress/compress.c:589 ++#: compress/compress.c:627 mbox/mbox.c:1208 + msgid "Unable to lock mailbox" + msgstr "Ní féidir an bosca poist a chur faoi ghlas" + +-#: compress.c:448 compress.c:518 compress.c:594 ++#: compress/compress.c:447 compress/compress.c:517 compress/compress.c:593 + #, c-format + msgid "Decompressing %s" + msgstr "" + +-#: compress.c:457 ++#: compress/compress.c:456 + msgid "Can't identify the contents of the compressed file" + msgstr "" + +-#: compress.c:464 compress.c:539 ++#: compress/compress.c:463 compress/compress.c:538 + #, c-format + msgid "Can't find mailbox ops for mailbox type %d" + msgstr "" + +-#: compress.c:521 ++#: compress/compress.c:520 + #, fuzzy, c-format + msgid "Compress command failed: %s" + msgstr "Theip ar ordú réamhnaisc." + +-#: compress.c:532 ++#: compress/compress.c:531 + msgid "Unsupported mailbox type for appending" + msgstr "" + +-#: compress.c:618 ++#: compress/compress.c:617 + msgid "Can't sync a compressed file without a close-hook" + msgstr "" + +-#: compress.c:640 compress.c:692 ++#: compress/compress.c:639 compress/compress.c:691 + #, fuzzy, c-format + msgid "Compressing %s" + msgstr "Á chóipeáil go %s..." + +-#: compress.c:687 ++#: compress/compress.c:686 + #, fuzzy, c-format + msgid "Compressed-appending to %s..." + msgstr "Á chóipeáil go %s..." + +-#: compress.c:699 editmsg.c:247 ++#: compress/compress.c:698 editmsg.c:247 + #, c-format + msgid "Error. Preserving temporary file: %s" + msgstr "Earráid. Ag caomhnú an chomhaid shealadaigh: %s" + ++#: config/bool.c:70 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %s" ++msgstr "Dáta coibhneasta neamhbhailí: %s" ++ ++#: config/bool.c:131 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %ld" ++msgstr "Dáta coibhneasta neamhbhailí: %s" ++ ++#: config/enum.c:62 ++#, fuzzy, c-format ++msgid "Invalid enum value: %s" ++msgstr "%d: uimhir theachtaireachtaí neamhbhailí.\n" ++ ++#: config/enum.c:149 ++#, fuzzy, c-format ++msgid "Invalid enum value: %ld" ++msgstr "Lá neamhbhailí na míosa: %s" ++ ++#: config/long.c:50 ++#, fuzzy, c-format ++msgid "Invalid long: %s" ++msgstr "Mí neamhbhailí: %s" ++ ++#: config/long.c:56 config/long.c:114 config/number.c:68 config/number.c:133 ++#, fuzzy, c-format ++msgid "Option %s may not be negative" ++msgstr "Ní cheadaítear an fheidhm seo sa mhód iatáin." ++ ++#: config/number.c:49 config/sort.c:145 config/string.c:75 config/string.c:159 ++#, c-format ++msgid "Option %s may not be empty" ++msgstr "" ++ ++#: config/number.c:56 ++#, fuzzy, c-format ++msgid "Invalid number: %s" ++msgstr "%d: uimhir theachtaireachtaí neamhbhailí.\n" ++ ++#: config/number.c:62 ++#, c-format ++msgid "Number is too big: %s" ++msgstr "" ++ ++#: config/number.c:127 ++#, fuzzy, c-format ++msgid "Invalid number: %ld" ++msgstr "%d: uimhir theachtaireachtaí neamhbhailí.\n" ++ ++#: config/quad.c:69 ++#, fuzzy, c-format ++msgid "Invalid quad value: %s" ++msgstr "Dáta coibhneasta neamhbhailí: %s" ++ ++#: config/quad.c:133 ++#, fuzzy, c-format ++msgid "Invalid quad value: %ld" ++msgstr "Lá neamhbhailí na míosa: %s" ++ ++#: config/set.c:102 ++#, c-format ++msgid "No such variable: %s" ++msgstr "" ++ ++#: config/set.c:134 config/set.c:821 ++#, fuzzy, c-format ++msgid "Variable '%s' has an invalid type %d" ++msgstr "Earráid: Is drochIDN é '%s'" ++ ++#: config/set.c:399 config/set.c:463 config/set.c:528 config/set.c:601 ++#: config/set.c:671 config/set.c:744 ++#, fuzzy, c-format ++msgid "Unknown variable '%s'" ++msgstr "%s: athróg anaithnid" ++ ++#: config/sort.c:192 ++#, fuzzy, c-format ++msgid "Invalid sort name: %s" ++msgstr "Dáta coibhneasta neamhbhailí: %s" ++ ++#: config/sort.c:322 ++#, fuzzy, c-format ++msgid "Invalid sort type: %ld" ++msgstr "Dáta coibhneasta neamhbhailí: %s" ++ ++#. L10N: Example: Username at myhost.com ++#: conn/connaccount.c:61 ++#, c-format ++msgid "Username at %s: " ++msgstr "Ainm úsáideora ag %s: " ++ ++#: conn/connaccount.c:117 ++#, c-format ++msgid "Password for %s@%s: " ++msgstr "Focal faire do %s@%s: " ++ ++#. L10N: You will see this error message if (1) you have "oauthbearer" in ++#. one of your $*_authenticators and (2) you do not have the corresponding ++#. $*_oauth_refresh_command defined. So the message does not mean "None of ++#. your $*_oauth_refresh_command's are defined." ++#: conn/connaccount.c:165 ++#, fuzzy ++msgid "No OAUTH refresh command defined" ++msgstr "Níl aon ordú iarratais sainmhínithe" ++ ++#: conn/connaccount.c:173 ++msgid "Unable to run refresh command" ++msgstr "" ++ ++#: conn/connaccount.c:184 ++msgid "Command returned empty string" ++msgstr "" ++ ++#: conn/connaccount.c:191 ++#, c-format ++msgid "OAUTH token is too big: %ld" ++msgstr "" ++ + #: conn/conn_raw.c:160 conn/conn_raw.c:218 + #, c-format + msgid "Looking up %s..." +@@ -1377,7 +1642,7 @@ msgstr "Ag dul i dteagmháil le %s..." + msgid "Could not connect to %s (%s)" + msgstr "Níorbh fhéidir dul i dteagmháil le %s (%s)" + +-#: conn/conn_raw.c:260 conn/ssl.c:1230 curs_lib.c:568 mutt_logging.c:149 ++#: conn/conn_raw.c:260 conn/ssl.c:1245 gui/curs_lib.c:569 mutt_logging.c:147 + msgid "unknown error" + msgstr "earráid anaithnid" + +@@ -1391,24 +1656,24 @@ msgstr "Earráid i rith déanamh teagmháil le %s (%s)" + msgid "Connection to %s has been aborted" + msgstr "Nasc le %s dúnta" + +-#: conn/sasl.c:565 ++#: conn/sasl.c:547 + msgid "Unknown SASL profile" + msgstr "" + +-#: conn/sasl.c:598 ++#: conn/sasl.c:580 + #, fuzzy + msgid "Error allocating SASL connection" + msgstr "earráid agus réad á dháileadh: %s\n" + +-#: conn/sasl.c:608 ++#: conn/sasl.c:590 + msgid "Error setting SASL security properties" + msgstr "" + +-#: conn/sasl.c:619 ++#: conn/sasl.c:601 + msgid "Error setting SASL external security strength" + msgstr "" + +-#: conn/sasl.c:629 ++#: conn/sasl.c:611 + msgid "Error setting SASL external user name" + msgstr "" + +@@ -1421,138 +1686,112 @@ msgstr "Theip ar ordú réamhnaisc" + msgid "Connection to %s closed" + msgstr "Nasc le %s dúnta" + +-#: conn/ssl.c:237 ++#: conn/ssl.c:222 + #, c-format + msgid "Filling entropy pool: %s..." + msgstr "Linn eantrópachta á líonadh: %s..." + +-#: conn/ssl.c:243 ++#: conn/ssl.c:228 + #, c-format + msgid "%s has insecure permissions" + msgstr "Ceadanna neamhdhaingne ar %s" + +-#: conn/ssl.c:385 ++#: conn/ssl.c:369 + #, fuzzy + msgid "SSL disabled due to the lack of entropy" + msgstr "Díchumasaíodh SSL de bharr easpa eantrópachta" + +-#: conn/ssl.c:402 ++#: conn/ssl.c:386 + msgid "Unknown" + msgstr "Anaithnid" + +-#: conn/ssl.c:421 conn/ssl_gnutls.c:186 ++#: conn/ssl.c:405 conn/ssl_gnutls.c:188 + #, c-format + msgid "[unable to calculate]" + msgstr "[ní féidir a ríomh]" + +-#: conn/ssl.c:446 ++#: conn/ssl.c:430 + msgid "[invalid date]" + msgstr "[dáta neamhbhailí]" + +-#: conn/ssl.c:506 ++#: conn/ssl.c:490 + msgid "Server certificate is not yet valid" + msgstr "Tá an teastas neamhbhailí fós" + +-#: conn/ssl.c:516 ++#: conn/ssl.c:500 + msgid "Server certificate has expired" + msgstr "Tá an teastas as feidhm" + +-#: conn/ssl.c:605 ++#: conn/ssl.c:589 + msgid "Failed to find enough entropy on your system" + msgstr "Níl go leor eantrópacht ar fáil ar do chóras-sa" + +-#: conn/ssl.c:799 ++#: conn/ssl.c:783 + #, fuzzy + msgid "can't get certificate subject" + msgstr "Níorbh fhéidir an teastas a fháil ón gcomhghleacaí" + +-#: conn/ssl.c:808 conn/ssl.c:816 ++#: conn/ssl.c:792 conn/ssl.c:800 + #, fuzzy + msgid "can't get certificate common name" + msgstr "Níorbh fhéidir an teastas a fháil ón gcomhghleacaí" + +-#: conn/ssl.c:830 ++#: conn/ssl.c:814 + #, fuzzy, c-format + msgid "certificate owner does not match hostname %s" + msgstr "Níl úinéir an teastais S/MIME comhoiriúnach leis an seoltóir." + +-#: conn/ssl.c:904 conn/ssl_gnutls.c:539 ++#: conn/ssl.c:917 conn/ssl_gnutls.c:570 + msgid "This certificate belongs to:" + msgstr "Tá an teastas seo ag:" + +-#: conn/ssl.c:913 conn/ssl_gnutls.c:593 ++#: conn/ssl.c:926 conn/ssl_gnutls.c:624 + msgid "This certificate was issued by:" + msgstr "Bhí an teastas seo eisithe ag:" + +-#: conn/ssl.c:922 conn/ssl_gnutls.c:604 ++#: conn/ssl.c:935 conn/ssl_gnutls.c:635 + msgid "This certificate is valid" + msgstr "Tá an teastas bailí" + +-#: conn/ssl.c:923 conn/ssl_gnutls.c:608 ++#: conn/ssl.c:936 conn/ssl_gnutls.c:639 + #, c-format + msgid " from %s" + msgstr " ó %s" + +-#: conn/ssl.c:925 conn/ssl_gnutls.c:612 ++#: conn/ssl.c:938 conn/ssl_gnutls.c:643 + #, c-format + msgid " to %s" + msgstr " go %s" + +-#: conn/ssl.c:931 conn/ssl_gnutls.c:617 +-#, c-format +-msgid "SHA1 Fingerprint: %s" +-msgstr "Méarlorg SHA1: %s" +- +-#: conn/ssl.c:937 conn/ssl.c:940 conn/ssl_gnutls.c:623 conn/ssl_gnutls.c:625 +-#, fuzzy +-msgid "SHA256 Fingerprint: " +-msgstr "Méarlorg SHA256: %s" +- +-#: conn/ssl.c:944 conn/ssl_gnutls.c:664 +-#, c-format +-msgid "SSL Certificate check (certificate %zu of %zu in chain)" +-msgstr "" +- +-#. L10N: These four letters correspond to the choices in the next four strings: +-#. (r)eject, accept (o)nce, (a)ccept always, (s)kip. +-#. These prompts are the interactive certificate confirmation prompts for +-#. an OpenSSL connection. +-#: conn/ssl.c:964 +-msgid "roas" +-msgstr "" +- +-#: conn/ssl.c:968 +-#, fuzzy +-msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" +-msgstr "(d)iúltaigh, glac leis (u)air amháin, gl(a)c leis i gcónaí" +- +-#: conn/ssl.c:970 conn/ssl_gnutls.c:671 +-msgid "(r)eject, accept (o)nce, (a)ccept always" +-msgstr "(d)iúltaigh, glac leis (u)air amháin, gl(a)c leis i gcónaí" ++#: conn/ssl.c:944 conn/ssl_gnutls.c:648 ++#, c-format ++msgid "SHA1 Fingerprint: %s" ++msgstr "Méarlorg SHA1: %s" + +-#: conn/ssl.c:975 ++#: conn/ssl.c:950 conn/ssl.c:953 conn/ssl_gnutls.c:654 conn/ssl_gnutls.c:656 + #, fuzzy +-msgid "(r)eject, accept (o)nce, (s)kip" +-msgstr "(d)iúltaigh, glac leis (u)air amháin" ++msgid "SHA256 Fingerprint: " ++msgstr "Méarlorg SHA256: %s" + +-#: conn/ssl.c:977 conn/ssl_gnutls.c:680 +-msgid "(r)eject, accept (o)nce" +-msgstr "(d)iúltaigh, glac leis (u)air amháin" ++#: conn/ssl.c:957 conn/ssl_gnutls.c:695 ++#, c-format ++msgid "SSL Certificate check (certificate %zu of %zu in chain)" ++msgstr "" + +-#: conn/ssl.c:981 conn/ssl_gnutls.c:689 ncrypt/crypt_gpgme.c:4729 +-#: ncrypt/pgpkey.c:664 ncrypt/smime.c:549 ++#: conn/ssl.c:994 conn/ssl_gnutls.c:720 ncrypt/crypt_gpgme.c:4777 ++#: ncrypt/pgpkey.c:667 ncrypt/smime.c:551 + msgid "Exit " + msgstr "Scoir " + +-#: conn/ssl.c:1016 conn/ssl_gnutls.c:742 ++#: conn/ssl.c:1029 conn/ssl_gnutls.c:773 + msgid "Warning: Couldn't save certificate" + msgstr "Rabhadh: Ní féidir an teastas a shábháil" + +-#: conn/ssl.c:1020 conn/ssl_gnutls.c:746 ++#: conn/ssl.c:1033 conn/ssl_gnutls.c:777 + msgid "Certificate saved" + msgstr "Sábháladh an teastas" + +-#: conn/ssl.c:1132 ++#: conn/ssl.c:1147 + #, fuzzy, c-format + msgid "Certificate host check failed: %s" + msgstr "Sábháladh an teastas" +@@ -1560,15 +1799,15 @@ msgstr "Sábháladh an teastas" + #. L10N: This is a warning when trying to set the host name for + #. * TLS Server Name Indication (SNI). This allows the server to present + #. * the correct certificate if it supports multiple hosts. +-#: conn/ssl.c:1213 conn/ssl_gnutls.c:1072 ++#: conn/ssl.c:1228 conn/ssl_gnutls.c:1105 + msgid "Warning: unable to set TLS SNI host name" + msgstr "" + +-#: conn/ssl.c:1224 ++#: conn/ssl.c:1239 + msgid "I/O error" + msgstr "Earráid I/A" + +-#: conn/ssl.c:1233 ++#: conn/ssl.c:1248 + #, c-format + msgid "SSL failed: %s" + msgstr "Theip ar SSL: %s" +@@ -1576,90 +1815,74 @@ msgstr "Theip ar SSL: %s" + #. L10N: an SSL context is a data structure returned by the OpenSSL + #. function SSL_CTX_new(). In this case it returned NULL: an + #. error condition. +-#: conn/ssl.c:1269 ++#: conn/ssl.c:1284 + #, fuzzy + msgid "Unable to create SSL context" + msgstr "Earráid: ní féidir fo-phróiseas OpenSSL a chruthú!" + +-#: conn/ssl.c:1322 ++#: conn/ssl.c:1337 + msgid "Warning: error enabling ssl_verify_partial_chains" + msgstr "" + +-#: conn/ssl_gnutls.c:150 conn/ssl_gnutls.c:784 conn/ssl_gnutls.c:793 ++#: conn/ssl_gnutls.c:152 conn/ssl_gnutls.c:817 conn/ssl_gnutls.c:826 + msgid "Unable to get certificate from peer" + msgstr "Níorbh fhéidir an teastas a fháil ón gcomhghleacaí" + +-#: conn/ssl_gnutls.c:155 ++#: conn/ssl_gnutls.c:157 + #, c-format + msgid "Certificate verification error (%s)" + msgstr "Earráid agus teastas á fhíorú (%s)" + +-#: conn/ssl_gnutls.c:162 ++#: conn/ssl_gnutls.c:164 + msgid "Certificate is not X.509" + msgstr "Ní X.509 é an teastas" + +-#: conn/ssl_gnutls.c:349 conn/ssl_gnutls.c:483 ++#: conn/ssl_gnutls.c:351 conn/ssl_gnutls.c:485 + msgid "Error initialising gnutls certificate data" + msgstr "Earráid agus sonraí teastais gnutls á dtúsú" + +-#: conn/ssl_gnutls.c:355 conn/ssl_gnutls.c:489 ++#: conn/ssl_gnutls.c:357 conn/ssl_gnutls.c:491 + msgid "Error processing certificate data" + msgstr "Earráid agus sonraí an teastais á bpróiseáil" + +-#: conn/ssl_gnutls.c:635 ++#: conn/ssl_gnutls.c:666 + msgid "WARNING: Server certificate is not yet valid" + msgstr "RABHADH: Níl teastas an fhreastalaí bailí fós" + +-#: conn/ssl_gnutls.c:640 ++#: conn/ssl_gnutls.c:671 + msgid "WARNING: Server certificate has expired" + msgstr "RABHADH: Tá teastas an fhreastalaí as feidhm" + +-#: conn/ssl_gnutls.c:645 ++#: conn/ssl_gnutls.c:676 + msgid "WARNING: Server certificate has been revoked" + msgstr "RABHADH: Cúlghaireadh an teastas freastalaí" + +-#: conn/ssl_gnutls.c:650 ++#: conn/ssl_gnutls.c:681 + msgid "WARNING: Server hostname does not match certificate" + msgstr "RABHADH: Níl óstainm an fhreastalaí comhoiriúnach leis an teastas." + +-#: conn/ssl_gnutls.c:655 ++#: conn/ssl_gnutls.c:686 + msgid "WARNING: Signer of server certificate is not a CA" + msgstr "RABHADH: Ní CA é sínitheoir an teastais" + +-#: conn/ssl_gnutls.c:659 conn/ssl_gnutls.c:1004 ++#: conn/ssl_gnutls.c:690 conn/ssl_gnutls.c:1037 + msgid "Warning: Server certificate was signed using an insecure algorithm" + msgstr "" + +-#. L10N: These three letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce, (a)ccept always. +-#. This is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:676 +-msgid "roa" +-msgstr "dua" +- +-#. L10N: These two letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce. +-#. These is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:685 +-msgid "ro" +-msgstr "du" +- +-#: conn/ssl_gnutls.c:950 conn/ssl_gnutls.c:992 ++#: conn/ssl_gnutls.c:983 conn/ssl_gnutls.c:1025 + msgid "All available protocols for TLS/SSL connection disabled" + msgstr "Díchumasaíodh gach prótacal atá le fáil le haghaidh naisc TLS/SSL" + +-#: conn/ssl_gnutls.c:999 ++#: conn/ssl_gnutls.c:1032 + msgid "Explicit ciphersuite selection via $ssl_ciphers not supported" + msgstr "" + +-#: conn/ssl_gnutls.c:1120 ++#: conn/ssl_gnutls.c:1153 + #, c-format + msgid "SSL/TLS connection using %s (%s/%s/%s)" + msgstr "Nasc SSL/TLS le %s (%s/%s/%s)" + +-#: conn/ssl_gnutls.c:1175 conn/ssl_gnutls.c:1204 ++#: conn/ssl_gnutls.c:1210 conn/ssl_gnutls.c:1239 + msgid "Error: no TLS socket open" + msgstr "Earráid: níl aon soicéad oscailte TLS" + +@@ -1678,7 +1901,7 @@ msgstr "Earráid tolláin i rith déanamh teagmháil le %s: %s" + msgid "Tunnel to %s returned error %d (%s)" + msgstr "D'fhill tollán %s earráid %d (%s)" + +-#: copy.c:660 ++#: copy.c:662 + #, c-format + msgid "The length calculation was wrong by %ld byte" + msgid_plural "The length calculation was wrong by %ld bytes" +@@ -1688,31 +1911,11 @@ msgstr[2] "" + msgstr[3] "" + msgstr[4] "" + +-#: copy.c:744 ++#: copy.c:746 + msgid "No decryption engine available for message" + msgstr "" + +-#: curs_lib.c:378 +-msgid "yes" +-msgstr "is sea" +- +-#: curs_lib.c:379 +-msgid "no" +-msgstr "ní hea" +- +-#: curs_lib.c:518 +-msgid "Exit NeoMutt?" +-msgstr "Scoir NeoMutt?" +- +-#: curs_lib.c:597 +-msgid "Press any key to continue..." +-msgstr "Brúigh eochair ar bith chun leanúint..." +- +-#: curs_lib.c:705 +-msgid " ('?' for list): " +-msgstr " ('?' le haghaidh liosta): " +- +-#: edit.c:64 ++#: edit.c:62 + #, fuzzy + msgid "" + "~~ insert a line beginning with a single ~\n" +@@ -1735,7 +1938,7 @@ msgstr "" + "~M tchtaí ar comhbhrí le ~m, ach le ceanntásca\n" + "~p priontáil an teachtaireacht\n" + +-#: edit.c:75 ++#: edit.c:73 + msgid "" + "~q write file and quit editor\n" + "~r file read a file into the editor\n" +@@ -1757,20 +1960,20 @@ msgstr "" + "~? an teachtaireacht seo\n" + ". ar líne leis féin chun ionchur a stopadh\n" + +-#: edit.c:261 ++#: edit.c:259 + #, c-format + msgid "%d: invalid message number.\n" + msgstr "%d: uimhir theachtaireachtaí neamhbhailí.\n" + +-#: edit.c:416 ++#: edit.c:414 + msgid "(End message with a . on a line by itself)\n" + msgstr "(Cuir an teachtaireacht i gcrích le . ar líne leis féin amháin)\n" + +-#: edit.c:474 ++#: edit.c:472 + msgid "No mailbox.\n" + msgstr "Níl aon bhosca poist.\n" + +-#: edit.c:478 ++#: edit.c:476 + msgid "Message contains:\n" + msgstr "Sa teachtaireacht:\n" + +@@ -1778,19 +1981,19 @@ msgstr "Sa teachtaireacht:\n" + #. not IN the middle of the content. + #. So it doesn't mean "(message will continue)" + #. but means "(press any key to continue using neomutt)". +-#: edit.c:486 edit.c:547 ++#: edit.c:484 edit.c:545 + msgid "(continue)\n" + msgstr "(lean ar aghaidh)\n" + +-#: edit.c:499 ++#: edit.c:497 + msgid "missing filename.\n" + msgstr "ainm comhaid ar iarraidh.\n" + +-#: edit.c:519 ++#: edit.c:517 + msgid "No lines in message.\n" + msgstr "Níl aon líne sa teachtaireacht.\n" + +-#: edit.c:558 ++#: edit.c:556 + #, c-format + msgid "%s: unknown editor command (~? for help)\n" + msgstr "%s: ordú anaithnid eagarthóra (~? = cabhair)\n" +@@ -1837,19 +2040,73 @@ msgstr "Ní féidir aon rud a iarcheangal leis an fhillteán: %s" + msgid "multipart message has no boundary parameter" + msgstr "teachtaireacht ilchodach gan paraiméadar teoranta" + +-#: flags.c:382 index.c:2561 index.c:2604 index.c:3134 index.c:3171 ++#: flags.c:381 index.c:2587 index.c:2630 index.c:3160 index.c:3197 + #: mutt_thread.c:1091 mutt_thread.c:1158 mutt_thread.c:1246 + msgid "Threading is not enabled" + msgstr "Snáithe gan cumasú" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Set flag" + msgstr "Socraigh bratach" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Clear flag" + msgstr "Glan bratach" + ++#: gui/color.c:633 gui/color.c:644 ++#, c-format ++msgid "%s: color not supported by term" ++msgstr "%s: níl dathanna ar fáil leis an teirminéal seo" ++ ++#: gui/color.c:652 ++#, c-format ++msgid "%s: no such color" ++msgstr "%s: níl a leithéid de dhath ann" ++ ++#: gui/color.c:717 gui/color.c:740 gui/color.c:751 gui/color.c:842 ++#, c-format ++msgid "%s: no such object" ++msgstr "%s: níl a leithéid de rud ann" ++ ++#: gui/color.c:1142 ++#, c-format ++msgid "%s: no such attribute" ++msgstr "%s: níl a leithéid d'aitreabúid ann" ++ ++#: gui/color.c:1244 ++msgid "default colors not supported" ++msgstr "níl na dathanna réamhshocraithe ar fáil" ++ ++#: gui/color.c:1282 ++#, c-format ++msgid "Maximum quoting level is %d" ++msgstr "" ++ ++#: gui/color.c:1319 ++#, fuzzy, c-format ++msgid "%s: invalid number: %s" ++msgstr "%d: uimhir theachtaireachtaí neamhbhailí.\n" ++ ++#: gui/curs_lib.c:379 ++msgid "yes" ++msgstr "is sea" ++ ++#: gui/curs_lib.c:380 ++msgid "no" ++msgstr "ní hea" ++ ++#: gui/curs_lib.c:519 ++msgid "Exit NeoMutt?" ++msgstr "Scoir NeoMutt?" ++ ++#: gui/curs_lib.c:598 ++msgid "Press any key to continue..." ++msgstr "Brúigh eochair ar bith chun leanúint..." ++ ++#: gui/curs_lib.c:749 ++msgid " ('?' for list): " ++msgstr " ('?' le haghaidh liosta): " ++ + #: handler.c:102 + #, fuzzy, c-format + msgid "[-- Type: %s/%s%s%s, Encoding: %s, Size: %s --]\n" +@@ -1870,23 +2127,23 @@ msgstr "[-- Uathamharc le %s --]\n" + msgid "Invoking autoview command: %s" + msgstr "Ordú uathamhairc á rith: %s" + +-#: handler.c:591 mutt_attach.c:527 mutt_attach.c:714 mutt_attach.c:745 +-#: mutt_attach.c:1087 mutt_attach.c:1152 ncrypt/pgpkey.c:723 +-#: ncrypt/pgpkey.c:920 ++#: handler.c:590 mutt_attach.c:555 mutt_attach.c:747 mutt_attach.c:778 ++#: mutt_attach.c:1120 mutt_attach.c:1185 ncrypt/pgpkey.c:756 ++#: ncrypt/pgpkey.c:955 + msgid "Can't create filter" + msgstr "Ní féidir an scagaire a chruthú" + +-#: handler.c:595 ++#: handler.c:594 + #, c-format + msgid "[-- Can't run %s. --]\n" + msgstr "[-- Ní féidir %s a rith. --]\n" + +-#: handler.c:614 handler.c:635 ++#: handler.c:613 handler.c:634 + #, c-format + msgid "[-- Autoview stderr of %s --]\n" + msgstr "[-- Uathamharc ar stderr de %s --]\n" + +-#: handler.c:764 ++#: handler.c:763 + msgid "[-- Error: message/external-body has no access-type parameter --]\n" + msgstr "[-- Earráid: níl aon pharaiméadar den chineál rochtana ag message/external-body --]\n" + +@@ -1905,7 +2162,7 @@ msgstr "[-- Earráid: níl aon pharaiméadar den chineál rochtana ag message/ex + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:807 ++#: handler.c:806 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" +@@ -1943,7 +2200,7 @@ msgstr[4] "" + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:830 ++#: handler.c:829 + #, fuzzy, c-format + msgid "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" + msgid_plural "[-- This %s/%s attachment (size %s bytes) has been deleted --]\n" +@@ -1960,7 +2217,7 @@ msgstr[4] "[-- Bhí an t-iatán seo %s/%s (méid %s beart) scriosta --]\n" + #. + #. Caution: Argument three %3$ is also defined but should not be used + #. in this translation! +-#: handler.c:848 ++#: handler.c:847 + #, fuzzy + msgid "" + "[-- This %s/%s attachment has been deleted --]\n" +@@ -1972,12 +2229,12 @@ msgstr "" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The first "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:856 ++#: handler.c:855 + #, fuzzy, c-format + msgid "[-- This %s/%s attachment has been deleted --]\n" + msgstr "[-- Bhí an t-iatán seo %s/%s scriosta --]\n" + +-#: handler.c:866 ++#: handler.c:865 + #, c-format + msgid "[-- name: %s --]\n" + msgstr "[-- ainm: %s --]\n" +@@ -1985,7 +2242,7 @@ msgstr "[-- ainm: %s --]\n" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:884 ++#: handler.c:883 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -2001,7 +2258,7 @@ msgstr "" + #. The "%s/%s" is a MIME type, e.g. "text/plain". The %s after + #. access-type is an access-type as defined by the MIME RFCs, e.g. "FTP", + #. "LOCAL-FILE", "MAIL-SERVER". +-#: handler.c:905 ++#: handler.c:904 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -2010,96 +2267,96 @@ msgstr "" + "[-- Níor cuireadh an t-iatán seo %s/%s san áireamh, --]\n" + "[-- agus ní ghlacann leis an chineál shainithe rochtana %s --]\n" + +-#: handler.c:1090 ++#: handler.c:1089 + msgid "[-- Error: Could not display any parts of Multipart/Alternative --]\n" + msgstr "[-- Earráid: Níorbh fhéidir aon chuid de Multipart/Alternative a thaispeáint --]\n" + + #. L10N: %s is the attachment description, filename or form_name. +-#: handler.c:1231 ++#: handler.c:1230 + #, fuzzy, c-format + msgid "[-- Attachment #%d: %s --]\n" + msgstr "[-- Iatán #%d: %s --]\n" + +-#: handler.c:1236 ++#: handler.c:1235 + #, fuzzy, c-format + msgid "[-- Attachment #%d --]\n" + msgstr "[-- Iatán #%d --]\n" + +-#: handler.c:1254 ++#: handler.c:1253 + #, fuzzy + msgid "One or more parts of this message could not be displayed" + msgstr "Rabhadh: Níor síníodh cuid den teachtaireacht seo." + +-#: handler.c:1320 ++#: handler.c:1319 + #, fuzzy + msgid "Unable to open 'memory stream'" + msgstr "Níorbh fhéidir an comhad sealadach a oscailt" + +-#: handler.c:1330 ++#: handler.c:1329 + msgid "Unable to open temporary file" + msgstr "Níorbh fhéidir an comhad sealadach a oscailt" + +-#: handler.c:1379 ++#: handler.c:1378 + #, fuzzy + msgid "failed to re-open 'memory stream'" + msgstr "Níorbh fhéidir an comhad sealadach a oscailt" + +-#: handler.c:1620 ++#: handler.c:1619 + msgid "Error: multipart/signed has no protocol" + msgstr "Earráid: Níl aon phrótacal le haghaidh multipart/signed" + + #. L10N: %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1694 ++#: handler.c:1693 + #, fuzzy, c-format + msgid "[-- This is an attachment (use '%s' to view this part) --]\n" + msgstr "[-- Bhí an t-iatán seo %s/%s (bain úsáid as '%s' chun na páirte seo a fheiceáil) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". + #. The last %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1701 ++#: handler.c:1700 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported (use '%s' to view this part) --]\n" + msgstr "[-- %s/%s gan tacaíocht (bain úsáid as '%s' chun na páirte seo a fheiceáil) --]\n" + +-#: handler.c:1709 ++#: handler.c:1708 + #, fuzzy + msgid "[-- This is an attachment (need 'view-attachments' bound to key) --]\n" + msgstr "[-- Bhí an t-iatán seo %s/%s (ní foláir 'view-attachments' a cheangal le heochair) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1715 ++#: handler.c:1714 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported (need 'view-attachments' bound to key) --]\n" + msgstr "[-- %s/%s gan tacaíocht (ní foláir 'view-attachments' a cheangal le heochair) --]\n" + +-#: handler.c:1724 ++#: handler.c:1723 + #, fuzzy + msgid "[-- This is an attachment --]\n" + msgstr "[-- Bhí an t-iatán seo %s/%s --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1729 ++#: handler.c:1728 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported --]\n" + msgstr "[-- %s/%s gan tacaíocht --]\n" + +-#: help.c:400 ++#: help.c:401 + msgid "ERROR: please report this bug" + msgstr "Earráid: seol tuairisc fhabht, le do thoil" + +-#: help.c:455 ++#: help.c:456 + msgid "" + msgstr "" + +-#: help.c:469 ++#: help.c:470 + msgid "Generic bindings:" + msgstr "Ceangail ghinearálta:" + +-#: help.c:473 ++#: help.c:474 + msgid "Unbound functions:" + msgstr "Feidhmeanna gan cheangal:" + +-#: help.c:481 ++#: help.c:482 + #, c-format + msgid "Help for %s" + msgstr "Cabhair le %s" +@@ -2116,41 +2373,41 @@ msgstr "" + msgid "badly formatted command string" + msgstr "" + +-#: hook.c:461 ++#: hook.c:466 + msgid "unhook: Can't do unhook * from within a hook" + msgstr "unhook: Ní cheadaítear unhook * isteach i hook" + +-#: hook.c:474 ++#: hook.c:479 + #, c-format + msgid "unhook: unknown hook type: %s" + msgstr "unhook: cineál anaithnid crúca: %s" + +-#: hook.c:484 ++#: hook.c:489 + #, c-format + msgid "unhook: Can't delete a %s from within a %s" + msgstr "unhook: Ní féidir %s a scriosadh taobh istigh de %s" + + #. L10N: '%s' is the (misspelled) name of the menu, e.g. 'index' or 'pager' +-#: icommands.c:259 keymap.c:1161 keymap.c:1346 ++#: icommands.c:261 keymap.c:1159 keymap.c:1344 + #, c-format + msgid "%s: no such menu" + msgstr "%s: níl a leithéid de roghchlár ann" + + #. L10N: '%s' is the name of the menu, e.g. 'index' or 'pager', it might + #. L10N: also be 'all' when all menus are affected. +-#: icommands.c:272 ++#: icommands.c:274 + #, fuzzy, c-format + msgid "%s: no binds for this menu" + msgstr "%s: níl a leithéid de roghchlár ann" + +-#: icommands.c:272 ++#: icommands.c:274 + #, fuzzy, c-format + msgid "%s: no macros for this menu" + msgstr "%s: níl a leithéid de roghchlár ann" + + #. L10N: '%s' is the file name of the temporary file +-#: icommands.c:283 icommands.c:296 icommands.c:316 icommands.c:340 +-#: icommands.c:360 icommands.c:371 imap/message.c:1093 ++#: icommands.c:285 icommands.c:297 icommands.c:317 icommands.c:340 ++#: icommands.c:360 icommands.c:370 imap/message.c:1093 + #, c-format + msgid "Could not create temporary file %s" + msgstr "Níorbh fhéidir comhad sealadach %s a chruthú" +@@ -2188,31 +2445,31 @@ msgstr "Theip ar fhíordheimhniú GSSAPI" + msgid "LOGIN disabled on this server" + msgstr "Díchumasaíodh LOGIN ar an fhreastalaí seo" + +-#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:288 ++#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:289 + msgid "Logging in..." + msgstr "Logáil isteach..." + +-#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:329 ++#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:330 + msgid "Login failed" + msgstr "Theip ar logáil isteach" + +-#: imap/auth_oauth.c:64 pop/pop_auth.c:346 smtp.c:524 ++#: imap/auth_oauth.c:65 pop/pop_auth.c:347 smtp.c:549 + #, fuzzy + msgid "Authenticating (OAUTHBEARER)..." + msgstr "Á fhíordheimhniú (SASL)..." + +-#: imap/auth_oauth.c:96 ++#: imap/auth_oauth.c:97 + #, fuzzy + msgid "OAUTHBEARER authentication failed" + msgstr "Theip ar fhíordheimhniú OAUTHBEARER" + + # %s is the method, not what's being authenticated I think +-#: imap/auth_sasl.c:128 nntp/nntp.c:606 nntp/nntp.c:671 smtp.c:443 ++#: imap/auth_sasl.c:128 nntp/nntp.c:608 nntp/nntp.c:673 smtp.c:468 + #, c-format + msgid "Authenticating (%s)..." + msgstr "Á fhíordheimhniú (%s)..." + +-#: imap/auth_sasl.c:259 pop/pop_auth.c:200 smtp.c:584 smtp.c:646 ++#: imap/auth_sasl.c:259 pop/pop_auth.c:201 smtp.c:609 smtp.c:671 + msgid "SASL authentication failed" + msgstr "Theip ar fhíordheimhniú SASL" + +@@ -2260,74 +2517,64 @@ msgstr "Theip ar athainmniú: %s" + msgid "Mailbox renamed" + msgstr "Athainmníodh an bosca poist" + +-#: imap/command.c:164 ++#: imap/command.c:177 + #, fuzzy, c-format + msgid "Mailbox %s@%s closed" + msgstr "Dúnadh bosca poist" + +-#: imap/command.c:1258 imap/command.c:1370 ++#: imap/command.c:1287 imap/command.c:1399 + #, fuzzy, c-format + msgid "Connection to %s timed out" + msgstr "Nasc le %s dúnta" + +-#: imap/imap.c:87 ++#: imap/imap.c:93 + #, fuzzy + msgid "This IMAP server is ancient. NeoMutt does not work with it." + msgstr "Freastalaí ársa IMAP. Ní oibríonn NeoMutt leis." + +-#: imap/imap.c:438 ++#: imap/imap.c:444 + #, c-format + msgid "Header search without header name: %s" + msgstr "Cuardach ceanntáisc gan ainm an cheanntáisc: %s" + +-#: imap/imap.c:468 ++#: imap/imap.c:474 + #, c-format + msgid "Server-side custom search not supported: %s" + msgstr "" + +-#: imap/imap.c:584 ++#: imap/imap.c:590 + #, fuzzy, c-format + msgid "CREATE failed: %s" + msgstr "Theip ar SSL: %s" + +-#: imap/imap.c:704 ++#: imap/imap.c:710 + #, c-format + msgid "Closing connection to %s..." + msgstr "Nasc le %s á dhúnadh..." + +-#: imap/imap.c:882 nntp/nntp.c:1889 pop/pop_lib.c:324 smtp.c:687 ++#: imap/imap.c:888 nntp/nntp.c:1891 pop/pop_lib.c:350 smtp.c:712 + msgid "Secure connection with TLS?" + msgstr "Nasc daingean le TLS?" + +-#: imap/imap.c:895 nntp/nntp.c:1910 pop/pop_lib.c:343 smtp.c:702 ++#: imap/imap.c:901 nntp/nntp.c:1912 pop/pop_lib.c:369 smtp.c:727 + msgid "Could not negotiate TLS connection" + msgstr "Níorbh fhéidir nasc TLS a shocrú" + +-#: imap/imap.c:910 pop/pop_lib.c:360 ++#: imap/imap.c:916 pop/pop_lib.c:386 + msgid "Encrypted connection unavailable" + msgstr "Níl nasc criptithe ar fáil" + +-#: imap/imap.c:1417 ++#: imap/imap.c:1430 + #, c-format + msgid "Subscribing to %s..." + msgstr "Ag liostáil le %s..." + +-#: imap/imap.c:1419 ++#: imap/imap.c:1432 + #, c-format + msgid "Unsubscribing from %s..." + msgstr "Ag díliostáil ó %s..." + +-#: imap/imap.c:1430 init.c:2142 +-#, c-format +-msgid "Subscribed to %s" +-msgstr "Liostáilte le %s" +- +-#: imap/imap.c:1432 init.c:2620 +-#, c-format +-msgid "Unsubscribed from %s" +-msgstr "Díliostáilte ó %s" +- +-#: imap/imap.c:1582 imap/message.c:1674 ++#: imap/imap.c:1595 imap/message.c:1674 + #, fuzzy, c-format + msgid "Copying %d message to %s..." + msgid_plural "Copying %d messages to %s..." +@@ -2337,16 +2584,16 @@ msgstr[2] "%d teachtaireacht á gcóipeáil go %s..." + msgstr[3] "%d teachtaireacht á gcóipeáil go %s..." + msgstr[4] "%d teachtaireacht á gcóipeáil go %s..." + +-#: imap/imap.c:1599 imap/imap.c:2217 imap/message.c:1713 muttlib.c:1505 ++#: imap/imap.c:1612 imap/imap.c:2254 imap/message.c:1713 muttlib.c:1503 + #, c-format + msgid "Create %s?" + msgstr "Cruthaigh %s?" + +-#: imap/imap.c:1667 ++#: imap/imap.c:1685 + msgid "Expunge failed" + msgstr "Theip ar scriosadh" + +-#: imap/imap.c:1683 ++#: imap/imap.c:1701 + #, fuzzy, c-format + msgid "Marking %d message deleted..." + msgid_plural "Marking %d messages deleted..." +@@ -2357,7 +2604,7 @@ msgstr[3] "Ag marcáil %d teachtaireacht mar scriosta..." + msgstr[4] "Ag marcáil %d teachtaireacht mar scriosta..." + + #. L10N: The plural is chosen by the last %d, i.e. the total number +-#: imap/imap.c:1720 ++#: imap/imap.c:1738 + #, fuzzy, c-format + msgid "Saving changed message... [%d/%d]" + msgid_plural "Saving changed messages... [%d/%d]" +@@ -2367,36 +2614,36 @@ msgstr[2] "Teachtaireachtaí athraithe á sábháil... [%d/%d]" + msgstr[3] "Teachtaireachtaí athraithe á sábháil... [%d/%d]" + msgstr[4] "Teachtaireachtaí athraithe á sábháil... [%d/%d]" + +-#: imap/imap.c:1776 ++#: imap/imap.c:1794 + msgid "Error saving flags. Close anyway?" + msgstr "Earráid agus bratacha á sábháil. Dún mar sin féin?" + +-#: imap/imap.c:1783 ++#: imap/imap.c:1801 + msgid "Error saving flags" + msgstr "Earráid agus bratacha á sábháil" + +-#: imap/imap.c:1808 ++#: imap/imap.c:1826 + msgid "Expunging messages from server..." + msgstr "Teachtaireachtaí á scriosadh ón fhreastalaí..." + +-#: imap/imap.c:1814 ++#: imap/imap.c:1832 + msgid "imap_sync_mailbox: EXPUNGE failed" + msgstr "imap_sync_mailbox: Theip ar scriosadh" + +-#: imap/imap.c:2023 nntp/nntp.c:2486 ++#: imap/imap.c:2058 nntp/nntp.c:2488 + #, c-format + msgid "Selecting %s..." + msgstr "%s á roghnú..." + +-#: imap/imap.c:2184 ++#: imap/imap.c:2221 + msgid "Error opening mailbox" + msgstr "Earráid ag oscailt an bhosca poist" + +-#: imap/imap.c:2330 ++#: imap/imap.c:2367 + msgid "IMAP server doesn't support custom flags" + msgstr "" + +-#: imap/imap.c:2374 ++#: imap/imap.c:2411 + #, fuzzy + msgid "Invalid IMAP flags" + msgstr "Neamhbhailí " +@@ -2407,7 +2654,7 @@ msgid "Abort download and close mailbox?" + msgstr "" + + #: imap/message.c:554 mutt/memory.c:58 mutt/memory.c:98 mutt/memory.c:134 +-#: mutt/string.c:1178 mx.c:1176 ++#: mutt/string.c:1201 mx.c:1195 + msgid "Out of memory" + msgstr "Cuimhne ídithe" + +@@ -2428,7 +2675,7 @@ msgstr "Ceanntásca na dteachtaireachtaí á bhfáil... [%d/%d]" + msgid "Unable to fetch headers from this IMAP server version" + msgstr "Ní féidir na ceanntásca a fháil ó fhreastalaí IMAP den leagan seo" + +-#: imap/message.c:1099 index.c:1548 nntp/nntp.c:1328 pop/pop.c:426 ++#: imap/message.c:1099 index.c:1554 nntp/nntp.c:1330 pop/pop.c:426 + #, fuzzy + msgid "Fetching message headers..." + msgstr "Ceanntásca na dteachtaireachtaí á bhfáil... [%d/%d]" +@@ -2442,156 +2689,156 @@ msgstr "Teachtaireacht á huasluchtú..." + msgid "Copying message %d to %s..." + msgstr "Teachtaireacht %d á cóipeáil go %s..." + +-#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2737 pop/pop.c:1110 ++#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2739 pop/pop.c:1105 + msgid "Fetching message..." + msgstr "Teachtaireacht á fáil..." + +-#: imap/message.c:1959 pop/pop.c:1106 ++#: imap/message.c:1959 pop/pop.c:1101 + msgid "The message index is incorrect. Try reopening the mailbox." + msgstr "Tá innéacs na dteachtaireachtaí mícheart. Bain triail as an mbosca poist a athoscailt." + +-#: imap/util.c:767 ++#: imap/util.c:796 + msgid "Continue?" + msgstr "Lean ar aghaidh?" + +-#: index.c:115 index.c:128 ++#: index.c:111 index.c:124 + msgid "Quit" + msgstr "Scoir" + +-#: index.c:118 index.c:131 recvattach.c:93 ++#: index.c:114 index.c:127 recvattach.c:91 + msgid "Save" + msgstr "Sábháil" + +-#: index.c:119 query.c:81 ++#: index.c:115 query.c:79 + msgid "Mail" + msgstr "Post" + +-#: index.c:120 pager.c:237 ++#: index.c:116 pager.c:229 + msgid "Reply" + msgstr "Freagair" + +-#: index.c:121 ++#: index.c:117 + msgid "Group" + msgstr "Grúpa" + +-#: index.c:132 pager.c:244 ++#: index.c:128 pager.c:236 + msgid "Post" + msgstr "" + +-#: index.c:133 pager.c:245 ++#: index.c:129 pager.c:237 + #, fuzzy + msgid "Followup" + msgstr "Teachtaireacht leantach go %s%s?" + +-#: index.c:190 index.c:1362 ++#: index.c:186 index.c:1367 + msgid "No mailbox is open" + msgstr "Níl aon bhosca poist oscailte" + +-#: index.c:196 ++#: index.c:192 + msgid "There are no messages" + msgstr "Níl aon teachtaireacht ann" + +-#: index.c:202 ++#: index.c:198 + msgid "No visible messages" + msgstr "Níl aon teachtaireacht le feiceáil" + +-#: index.c:208 mx.c:901 pager.c:223 recvattach.c:80 ++#: index.c:204 mx.c:920 pager.c:215 recvattach.c:78 + msgid "Mailbox is read-only" + msgstr "Tá an bosca poist inléite amháin" + +-#: index.c:214 pager.c:225 recvattach.c:98 ++#: index.c:210 pager.c:217 recvattach.c:96 + msgid "Function not permitted in attach-message mode" + msgstr "Ní cheadaítear an fheidhm seo sa mhód iatáin" + + #. L10N: %s is one of the CHECK_ACL entries below. +-#: index.c:239 pager.c:290 ++#: index.c:235 pager.c:282 + #, c-format + msgid "%s: Operation not permitted by ACL" + msgstr "" + +-#: index.c:430 ++#: index.c:426 + msgid "Can't toggle write on a readonly mailbox" + msgstr "Ní féidir 'scríobh' a scoránú ar bhosca poist inléite amháin" + +-#: index.c:437 ++#: index.c:433 + msgid "Changes to folder will be written on folder exit" + msgstr "Scríobhfar na hathruithe agus an fillteán á dhúnadh" + +-#: index.c:442 ++#: index.c:438 + msgid "Changes to folder will not be written" + msgstr "Ní scríobhfar na hathruithe" + +-#: index.c:719 muttlib.c:1490 mx.c:206 mx.c:340 ++#: index.c:714 muttlib.c:1488 mx.c:206 mx.c:338 + #, c-format + msgid "%s is not a mailbox" + msgstr "Ní bosca poist %s" + +-#: index.c:1218 ++#: index.c:1223 + msgid "Mailbox was externally modified. Flags may be wrong." + msgstr "Mionathraíodh an bosca poist go seachtrach. Is féidir go bhfuil bratacha míchearta ann." + +-#: index.c:1227 pager.c:2409 ++#: index.c:1232 pager.c:2379 + msgid "New mail in this mailbox" + msgstr "Post nua sa bhosca seo" + +-#: index.c:1242 ++#: index.c:1247 + msgid "Mailbox was externally modified" + msgstr "Mionathraíodh an bosca poist go seachtrach" + +-#: index.c:1369 ++#: index.c:1374 + msgid "No tagged messages" + msgstr "Níl aon teachtaireacht chlibeáilte" + +-#: index.c:1373 index.c:1647 menu.c:1423 ++#: index.c:1378 index.c:1653 menu.c:1423 + msgid "Nothing to do" + msgstr "Níl faic le déanamh" + +-#: index.c:1470 ++#: index.c:1475 + #, fuzzy + msgid "Enter Message-Id: " + msgstr "Iontráil aitheantas na heochrach: " + +-#: index.c:1481 ++#: index.c:1487 + msgid "Article has no parent reference" + msgstr "" + +-#: index.c:1504 ++#: index.c:1510 + #, fuzzy + msgid "Message is not visible in limited view" + msgstr "Níl an mháthair-theachtaireacht infheicthe san amharc srianta seo" + +-#: index.c:1508 ++#: index.c:1514 + #, fuzzy, c-format + msgid "Fetching %s from server..." + msgstr "Teachtaireachtaí á scriosadh ón fhreastalaí..." + +-#: index.c:1518 nntp/nntp.c:2772 ++#: index.c:1524 nntp/nntp.c:2774 + #, c-format + msgid "Article %s not found on the server" + msgstr "" + +-#: index.c:1544 ++#: index.c:1550 + msgid "No Message-Id. Unable to perform operation." + msgstr "" + +-#: index.c:1623 ++#: index.c:1629 + #, fuzzy + msgid "No deleted messages found in the thread" + msgstr "scrios gach teachtaireacht sa snáithe" + +-#: index.c:1644 ++#: index.c:1650 + msgid "Jump to message: " + msgstr "Léim go teachtaireacht: " + +-#: index.c:1650 ++#: index.c:1656 + msgid "Argument must be a message number" + msgstr "Caithfidh an argóint a bheith ina huimhir theachtaireachta" + +-#: index.c:1652 ++#: index.c:1658 + msgid "Invalid message number" + msgstr "Uimhir neamhbhailí theachtaireachta" + +-#: index.c:1654 ++#: index.c:1660 + msgid "That message is not visible" + msgstr "Níl an teachtaireacht sin infheicthe" + +@@ -2604,38 +2851,38 @@ msgstr "Níl an teachtaireacht sin infheicthe" + #. delete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. + #. +-#: index.c:1692 index.c:3267 pager.c:3064 ++#: index.c:1698 index.c:3293 pager.c:3039 + #, fuzzy + msgid "Can't delete messages" + msgstr "Níl aon teachtaireacht nach scriosta." + +-#: index.c:1695 ++#: index.c:1701 + msgid "Delete messages matching: " + msgstr "Scrios teachtaireachtaí atá comhoiriúnach le: " + +-#: index.c:1736 ++#: index.c:1742 + msgid "No limit pattern is in effect" + msgstr "Níl aon phatrún teorannaithe i bhfeidhm" + + #. L10N: ask for a limit to apply +-#: index.c:1741 ++#: index.c:1747 + #, c-format + msgid "Limit: %s" + msgstr "Teorainn: %s" + +-#: index.c:1778 ++#: index.c:1784 + msgid "Limit to messages matching: " + msgstr "Teorannaigh go teachtaireachtaí atá comhoiriúnach le: " + +-#: index.c:1809 ++#: index.c:1815 + msgid "To view all messages, limit to \"all\"" + msgstr "Chun gach teachtaireacht a fheiceáil, socraigh teorainn mar \"all\"" + +-#: index.c:1821 pager.c:2514 ++#: index.c:1827 pager.c:2487 + msgid "Quit NeoMutt?" + msgstr "Scoir NeoMutt?" + +-#: index.c:1924 ++#: index.c:1931 + msgid "Tag messages matching: " + msgstr "Clibeáil teachtaireachtaí atá comhoiriúnach le: " + +@@ -2643,211 +2890,211 @@ msgstr "Clibeáil teachtaireachtaí atá comhoiriúnach le: " + #. L10N: Due to the implementation details we do not know whether we + #. undelete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:1935 index.c:3807 pager.c:3418 ++#: index.c:1942 index.c:3833 pager.c:3396 + #, fuzzy + msgid "Can't undelete messages" + msgstr "Níl aon teachtaireacht nach scriosta." + +-#: index.c:1939 ++#: index.c:1946 + msgid "Undelete messages matching: " + msgstr "Díscrios teachtaireachtaí atá comhoiriúnach le: " + +-#: index.c:1948 ++#: index.c:1955 + msgid "Untag messages matching: " + msgstr "Díchlibeáil teachtaireachtaí atá comhoiriúnach le: " + +-#: index.c:1989 ++#: index.c:1996 + msgid "Logged out of IMAP servers" + msgstr "" + +-#: index.c:2105 ++#: index.c:2113 + #, fuzzy + msgid "No virtual folder and no Message-Id, aborting" + msgstr "Gan ábhar, á thobscor" + +-#: index.c:2117 index.c:2288 index.c:2310 index.c:2331 ++#: index.c:2125 index.c:2313 index.c:2335 index.c:2356 + msgid "Failed to create query, aborting" + msgstr "" + +-#: index.c:2130 ++#: index.c:2138 + msgid "failed to find message in notmuch database. try running 'notmuch new'." + msgstr "" + +-#: index.c:2139 ++#: index.c:2147 + msgid "Failed to read thread, aborting" + msgstr "" + +-#: index.c:2171 mx.c:1252 mx.c:1272 ++#: index.c:2179 mx.c:1271 mx.c:1291 + msgid "Folder doesn't support tagging, aborting" + msgstr "" + +-#: index.c:2188 ++#: index.c:2196 + #, fuzzy + msgid "No tag specified, aborting" + msgstr "Gan ábhar, á thobscor" + +-#: index.c:2198 ++#: index.c:2206 + msgid "Update tags..." + msgstr "" + +-#: index.c:2238 ++#: index.c:2246 + msgid "Failed to modify tags, aborting" + msgstr "" + +-#: index.c:2284 ++#: index.c:2293 + #, fuzzy + msgid "No query, aborting" + msgstr "Gan ábhar, á thobscor" + +-#: index.c:2299 index.c:2320 ++#: index.c:2324 index.c:2345 + msgid "Windowed queries disabled" + msgstr "" + +-#: index.c:2304 index.c:2325 ++#: index.c:2329 index.c:2350 + msgid "No notmuch vfolder currently loaded" + msgstr "" + +-#: index.c:2374 ++#: index.c:2399 + msgid "Open mailbox in read-only mode" + msgstr "Oscail bosca poist i mód inléite amháin" + +-#: index.c:2376 ++#: index.c:2401 + msgid "Open mailbox" + msgstr "Oscail bosca poist" + +-#: index.c:2386 ++#: index.c:2411 + #, fuzzy + msgid "No mailboxes have new mail" + msgstr "Níl aon bhosca le ríomhphost nua." + +-#: index.c:2419 ++#: index.c:2444 + #, fuzzy + msgid "Open newsgroup in read-only mode" + msgstr "Oscail bosca poist i mód inléite amháin" + +-#: index.c:2421 ++#: index.c:2446 + msgid "Open newsgroup" + msgstr "" + +-#: index.c:2538 ++#: index.c:2564 + #, fuzzy + msgid "Exit NeoMutt without saving?" + msgstr "Éirigh as NeoMutt gan sábháil?" + + #. L10N: CHECK_ACL +-#: index.c:2554 ++#: index.c:2580 + #, fuzzy + msgid "Can't break thread" + msgstr "Ní féidir an scagaire a chruthú" + +-#: index.c:2574 ++#: index.c:2600 + msgid "Thread broken" + msgstr "Snáithe briste" + +-#: index.c:2587 ++#: index.c:2613 + msgid "Thread can't be broken, message is not part of a thread" + msgstr "" + + #. L10N: CHECK_ACL +-#: index.c:2597 ++#: index.c:2623 + msgid "Can't link threads" + msgstr "" + +-#: index.c:2606 ++#: index.c:2632 + msgid "No Message-ID: header available to link thread" + msgstr "Gan cheanntásc 'Message-ID:'; ní féidir an snáithe a nasc" + +-#: index.c:2608 ++#: index.c:2634 + msgid "First, please tag a message to be linked here" + msgstr "Ar dtús, clibeáil teachtaireacht le nascadh anseo" + +-#: index.c:2621 ++#: index.c:2647 + msgid "Threads linked" + msgstr "Snáitheanna nasctha" + +-#: index.c:2624 ++#: index.c:2650 + msgid "No thread linked" + msgstr "Níor nascadh snáithe" + +-#: index.c:2665 index.c:2690 ++#: index.c:2691 index.c:2716 + msgid "You are on the last message" + msgstr "An teachtaireacht deiridh" + +-#: index.c:2673 index.c:2716 ++#: index.c:2699 index.c:2742 + msgid "No undeleted messages" + msgstr "Níl aon teachtaireacht nach scriosta" + +-#: index.c:2708 index.c:2733 ++#: index.c:2734 index.c:2759 + msgid "You are on the first message" + msgstr "An chéad teachtaireacht" + +-#: index.c:2874 ++#: index.c:2900 + #, fuzzy + msgid "No new messages in this limited view" + msgstr "Níl an mháthair-theachtaireacht infheicthe san amharc srianta seo" + +-#: index.c:2876 ++#: index.c:2902 + #, fuzzy + msgid "No new messages" + msgstr "Níl aon teachtaireacht nua" + +-#: index.c:2881 ++#: index.c:2907 + #, fuzzy + msgid "No unread messages in this limited view" + msgstr "Níl an mháthair-theachtaireacht infheicthe san amharc srianta seo" + +-#: index.c:2883 ++#: index.c:2909 + #, fuzzy + msgid "No unread messages" + msgstr "Níl aon teachtaireacht gan léamh" + +-#: index.c:2893 menu.c:1208 pager.c:2644 pattern.c:2652 ++#: index.c:2919 menu.c:1208 pager.c:2618 pattern.c:2776 + msgid "Search wrapped to top" + msgstr "Thimfhill an cuardach go dtí an barr" + +-#: index.c:2898 pager.c:2669 pattern.c:2663 ++#: index.c:2924 pager.c:2643 pattern.c:2787 + msgid "Search wrapped to bottom" + msgstr "Thimfhill an cuardach go dtí an bun" + + #. L10N: CHECK_ACL +-#: index.c:2915 ++#: index.c:2941 + #, fuzzy + msgid "Can't flag message" + msgstr "taispeáin teachtaireacht" + + #. L10N: CHECK_ACL +-#: index.c:2961 pager.c:3377 ++#: index.c:2987 pager.c:3355 + msgid "Can't toggle new" + msgstr "" + +-#: index.c:3057 ++#: index.c:3083 + msgid "No more threads" + msgstr "Níl aon snáithe eile" + +-#: index.c:3059 ++#: index.c:3085 + msgid "You are on the first thread" + msgstr "Is é seo an chéad snáithe" + +-#: index.c:3156 ++#: index.c:3182 + #, fuzzy + msgid "Thread contains unread or flagged messages" + msgstr "Tá teachtaireachtaí gan léamh sa snáithe seo" + + #. L10N: CHECK_ACL +-#: index.c:3215 pager.c:3019 ++#: index.c:3241 pager.c:2994 + #, fuzzy + msgid "Can't delete message" + msgstr "Níl aon teachtaireacht nach scriosta." + + #. L10N: CHECK_ACL +-#: index.c:3339 ++#: index.c:3365 + #, fuzzy + msgid "Can't edit message" + msgstr "Ní féidir teachtaireacht a scríobh " + + #. L10N: This is displayed when the x-label on one or more + #. messages is edited. +-#: index.c:3432 pager.c:3495 ++#: index.c:3458 pager.c:3473 + #, fuzzy, c-format + msgid "%d label changed" + msgid_plural "%d labels changed" +@@ -2860,7 +3107,7 @@ msgstr[4] "Bosca poist gan athrú" + #. L10N: This is displayed when editing an x-label, but no messages + #. were updated. Possibly due to canceling at the prompt or if the new + #. label is the same as the old label. +-#: index.c:3440 pager.c:3499 ++#: index.c:3466 pager.c:3477 + #, fuzzy + msgid "No labels changed" + msgstr "Bosca poist gan athrú" +@@ -2869,7 +3116,7 @@ msgstr "Bosca poist gan athrú" + #. L10N: Due to the implementation details we do not know whether we + #. mark zero, 1, 12, ... messages as read. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:3571 ++#: index.c:3597 + #, fuzzy + msgid "Can't mark messages as read" + msgstr "léim go máthair-theachtaireacht sa snáithe" +@@ -2877,14 +3124,14 @@ msgstr "léim go máthair-theachtaireacht sa snáithe" + #. L10N: This is the prompt for . Whatever they + #. enter will be prefixed by $mark_macro_prefix and will become + #. a macro hotkey to jump to the currently selected message. +-#: index.c:3612 ++#: index.c:3638 + #, fuzzy + msgid "Enter macro stroke: " + msgstr "Iontráil aitheantas na heochrach: " + + #. L10N: "message hotkey" is the key bindings menu description of a + #. macro created by . +-#: index.c:3620 ++#: index.c:3646 + #, fuzzy + msgid "message hotkey" + msgstr "Cuireadh an teachtaireacht ar athlá." +@@ -2892,263 +3139,123 @@ msgstr "Cuireadh an teachtaireacht ar athlá." + #. L10N: This is echoed after creates a new hotkey + #. macro. %s is the hotkey string ($mark_macro_prefix followed + #. by whatever they typed at the prompt.) +-#: index.c:3625 ++#: index.c:3651 + #, fuzzy, c-format + msgid "Message bound to %s" + msgstr "Scinneadh an teachtaireacht" + + #. L10N: This error is printed if can't find a + #. Message-ID for the currently selected message in the index. +-#: index.c:3634 ++#: index.c:3660 + #, fuzzy + msgid "No message ID to macro" + msgstr "Níl aon teachtaireacht san fhillteán sin" + +-#: index.c:3688 pager.c:3221 recvattach.c:1646 ++#: index.c:3714 pager.c:3196 recvattach.c:1678 + msgid "Reply by mail as poster prefers?" + msgstr "" + +-#: index.c:3691 pager.c:3182 pager.c:3194 pager.c:3224 ++#: index.c:3717 pager.c:3157 pager.c:3169 pager.c:3199 + msgid "Posting to this group not allowed, may be moderated. Continue?" + msgstr "" + + #. L10N: CHECK_ACL +-#: index.c:3768 pager.c:3397 ++#: index.c:3794 pager.c:3375 + #, fuzzy + msgid "Can't undelete message" + msgstr "Níl aon teachtaireacht nach scriosta." + +-#: init.c:313 ++#: init.c:223 + #, c-format + msgid "Error in command line: %s" + msgstr "Earráid ar líne ordaithe: %s" + +-#: init.c:315 ++#: init.c:225 + #, fuzzy, c-format + msgid "Warning in command line: %s" + msgstr "Earráid ar líne ordaithe: %s" + +-#: init.c:426 ++#: init.c:336 + #, fuzzy + msgid "unable to determine nodename via uname()" + msgstr "ní féidir an t-ainm úsáideora a aimsiú" + +-#: init.c:580 +-msgid "-group: no group name" +-msgstr "-group: gan ainm grúpa" +- +-#: init.c:590 +-msgid "out of arguments" +-msgstr "níl go leor argóintí ann" +- +-#: init.c:804 init.c:1752 +-#, c-format +-msgid "Error: Can't build path of '%s'" +-msgstr "" +- +-#: init.c:817 +-#, c-format +-msgid "Error: Cyclic sourcing of configuration file '%s'" +-msgstr "" +- +-#: init.c:850 +-#, c-format +-msgid "Error in %s, line %d: %s" +-msgstr "Earráid i %s, líne %d: %s" +- +-#: init.c:861 +-#, fuzzy, c-format +-msgid "Warning in %s, line %d: %s" +-msgstr "Earráid i %s, líne %d: %s" +- +-#: init.c:885 +-#, c-format +-msgid "source: errors in %s" +-msgstr "source: earráidí i %s" +- +-#: init.c:885 +-#, fuzzy, c-format +-msgid "source: reading aborted due to too many errors in %s" +-msgstr "source: an iomarca earráidí i %s, ag tobscor" +- +-#: init.c:894 +-#, fuzzy, c-format +-msgid "source: %d warning in %s" +-msgid_plural "source: %d warnings in %s" +-msgstr[0] "source: earráidí i %s" +-msgstr[1] "source: earráidí i %s" +-msgstr[2] "source: earráidí i %s" +-msgstr[3] "source: earráidí i %s" +-msgstr[4] "source: earráidí i %s" +- +-#: init.c:923 +-msgid "alias: no address" +-msgstr "ailias: gan seoladh" +- +-#: init.c:965 +-#, c-format +-msgid "Warning: Bad IDN '%s' in alias '%s'" +-msgstr "Rabhadh: DrochIDN '%s' san ailias '%s'" +- +-#: init.c:1043 +-msgid "attachments: no disposition" +-msgstr "iatáin: gan chóiriú" +- +-#: init.c:1054 +-#, fuzzy +-msgid "Current attachments settings:" +-msgstr "cuir cur síos an iatáin in eagar" +- +-#: init.c:1084 +-msgid "attachments: invalid disposition" +-msgstr "iatáin: cóiriú neamhbhailí" +- +-#: init.c:1160 +-#, fuzzy, c-format +-msgid "%sgroup: missing -rx or -addr" +-msgstr "-rx nó -addr ar iarraidh" +- +-#: init.c:1186 +-#, fuzzy, c-format +-msgid "%sgroup: warning: bad IDN '%s'" +-msgstr "Rabhadh: DrochIDN '%s'" +- +-#: init.c:1278 +-#, c-format +-msgid "Error: %s" +-msgstr "" +- +-#: init.c:1445 +-msgid "invalid header field" +-msgstr "réimse cheanntáisc neamhbhailí" +- +-#: init.c:1711 init.c:1815 +-#, c-format +-msgid "%s: unknown variable" +-msgstr "%s: athróg anaithnid" +- +-#: init.c:1908 +-#, c-format +-msgid "%s is unset" +-msgstr "%s gan socrú" +- +-#: init.c:1953 mutt_lua.c:478 +-#, c-format +-msgid "source: error at %s" +-msgstr "source: earráid ag %s" +- +-#: init.c:1961 +-#, fuzzy, c-format +-msgid "source: file %s could not be sourced" +-msgstr "Níorbh fhéidir na teachtaireachtaí a phriontáil" +- +-#: init.c:1984 +-msgid "spam: no matching pattern" +-msgstr "spam: níl aon phatrún comhoiriúnach ann" +- +-#: init.c:1986 +-msgid "nospam: no matching pattern" +-msgstr "nospam: níl aon phatrún comhoiriúnach ann" +- +-#: init.c:2146 +-#, fuzzy, c-format +-msgid "Could not subscribe to %s" +-msgstr "Liostáilte le %s" +- +-#: init.c:2154 init.c:2632 +-#, fuzzy +-msgid "No folder specified" +-msgstr "Níor sonraíodh aon ábhar." +- +-#: init.c:2341 +-msgid "unattachments: no disposition" +-msgstr "dí-iatáin: gan chóiriú" +- +-#: init.c:2379 +-msgid "unattachments: invalid disposition" +-msgstr "dí-iatáin: cóiriú neamhbhailí" +- +-#: init.c:2624 +-#, fuzzy, c-format +-msgid "Could not unsubscribe from %s" +-msgstr "Díliostáilte ó %s" +- +-#: init.c:3292 ++#: init.c:1042 + #, c-format + msgid "%s: unknown command" + msgstr "%s: ordú anaithnid" + +-#: init.c:3837 ++#: init.c:1588 + msgid "'charset' must contain exactly one character set name" + msgstr "" + +-#: init.c:3853 init.c:3877 init.c:3912 ++#: init.c:1604 init.c:1628 init.c:1663 + #, fuzzy, c-format + msgid "Invalid value for option %s: %s" + msgstr "Lá neamhbhailí na míosa: %s" + +-#: init.c:3890 ++#: init.c:1641 + #, c-format + msgid "Option %s may not be set or reset from the pager" + msgstr "" + +-#: init.c:3928 ++#: init.c:1679 + #, fuzzy, c-format + msgid "Option %s may not be set when in attach-message mode" + msgstr "Ní cheadaítear an fheidhm seo sa mhód iatáin." + + #. L10N: This applies to the "$wrap_headers" config variable +-#: init.c:3943 ++#: init.c:1694 + #, c-format + msgid "Option %s must between 78 and 998 inclusive" + msgstr "" + +-#: keymap.c:373 keymap.c:381 ++#: keymap.c:371 keymap.c:379 + #, c-format + msgid "Binding '%s' will alias '%s' Before, try: 'bind %s %s noop' https://neomutt.org/guide/configuration.html#bind-warnings" + msgstr "" + +-#: keymap.c:757 ++#: keymap.c:755 + msgid "Macro loop detected" + msgstr "Braitheadh lúb i macraí" + +-#: keymap.c:1064 keymap.c:1099 ++#: keymap.c:1062 keymap.c:1097 + msgid "Key is not bound" + msgstr "Eochair gan cheangal" + +-#: keymap.c:1104 ++#: keymap.c:1102 + #, c-format + msgid "Key is not bound. Press '%s' for help." + msgstr "Eochair gan cheangal. Brúigh '%s' chun cabhrú a fháil." + +-#: keymap.c:1177 ++#: keymap.c:1175 + #, c-format + msgid "%s: null key sequence" + msgstr "%s: seicheamh neamhbhailí" + +-#: keymap.c:1212 ++#: keymap.c:1210 + #, c-format + msgid "Function '%s' not available for menu '%s'" + msgstr "" + +-#: keymap.c:1495 ++#: keymap.c:1493 + msgid "macro: empty key sequence" + msgstr "macra: seicheamh folamh eochrach" + +-#: keymap.c:1543 ++#: keymap.c:1541 + msgid "exec: no arguments" + msgstr "exec: níl aon argóint" + +-#: keymap.c:1563 ++#: keymap.c:1561 + #, c-format + msgid "%s: no such function" + msgstr "%s: níl a leithéid d'fheidhm ann" + +-#: keymap.c:1584 ++#: keymap.c:1582 + msgid "Enter keys (^G to abort): " + msgstr "Iontráil eochracha (^G chun scor):" + +-#: keymap.c:1590 ++#: keymap.c:1588 + #, c-format + msgid "Char = %s, Octal = %o, Decimal = %d" + msgstr "Car = %s, Ochtnártha = %o, Deachúlach = %d" +@@ -3172,7 +3279,7 @@ msgstr "níor aimsíodh iontráil mailcap don chineál %s" + msgid "Scanning %s..." + msgstr "%s á roghnú..." + +-#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:353 ++#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:351 + #, c-format + msgid "Reading %s..." + msgstr "%s á léamh..." +@@ -3188,13 +3295,13 @@ msgid "md_commit_message(): unable to set time on file" + msgstr "maildir_commit_message(): ní féidir an t-am a shocrú ar chomhad" + + #. L10N: Displayed before/as a mailbox is being synced +-#: maildir/shared.c:1723 mbox/mbox.c:1276 mx.c:461 notmuch/mutt_notmuch.c:2364 ++#: maildir/shared.c:1734 mbox/mbox.c:1276 mx.c:459 notmuch/mutt_notmuch.c:2364 + #, c-format + msgid "Writing %s..." + msgstr "%s á scríobh..." + + #. L10N: Try to limit to 80 columns +-#: main.c:227 ++#: main.c:160 + msgid "" + "usage:\n" + " neomutt [-Enx] [-e ] [-F ] [-H ] [-i ]\n" +@@ -3217,7 +3324,7 @@ msgid "" + msgstr "" + + #. L10N: Try to limit to 80 columns. If more space is needed add an indented line +-#: main.c:247 ++#: main.c:180 + msgid "" + "options:\n" + " -- Special argument forces NeoMutt to stop option parsing and treat\n" +@@ -3260,54 +3367,54 @@ msgid "" + " or exit immediately with exit code 1 otherwise" + msgstr "" + +-#: main.c:312 ++#: main.c:245 + msgid "Error initializing terminal" + msgstr "Earráid agus teirminéal á thúsú" + +-#: main.c:390 ++#: main.c:323 + msgid "unable to determine username" + msgstr "ní féidir an t-ainm úsáideora a aimsiú" + +-#: main.c:396 ++#: main.c:329 + msgid "unable to determine home directory" + msgstr "ní féidir an chomhadlann bhaile a aimsiú" + +-#: main.c:640 ++#: main.c:572 + #, fuzzy, c-format + msgid "Error: value '%s' is invalid for -d" + msgstr "Earráid: Is drochIDN é '%s'" + +-#: main.c:884 ++#: main.c:815 + msgid "Failed to parse mailto: link" + msgstr "" + +-#: main.c:896 send.c:2452 send.c:2456 ++#: main.c:827 send.c:2463 send.c:2467 + msgid "No recipients specified" + msgstr "Níor sonraíodh aon fhaighteoir" + +-#: main.c:923 ++#: main.c:854 + msgid "Can't use -E flag with stdin" + msgstr "" + +-#: main.c:1007 ++#: main.c:938 + #, fuzzy, c-format + msgid "Can't parse message template: %s" + msgstr "Níorbh fhéidir an comhad teachtaireachta a oscailt: %s" + +-#: main.c:1073 mutt_header.c:329 ++#: main.c:1004 mutt_header.c:329 + #, c-format + msgid "%s: unable to attach file" + msgstr "%s: ní féidir comhad a cheangal" + +-#: main.c:1156 ++#: main.c:1087 + msgid "No mailbox with new mail" + msgstr "Níl aon bhosca le ríomhphost nua" + +-#: main.c:1180 ++#: main.c:1111 + msgid "No incoming mailboxes defined" + msgstr "Níl aon bhosca isteach socraithe agat" + +-#: main.c:1230 ++#: main.c:1161 + msgid "Mailbox is empty" + msgstr "Tá an bosca poist folamh" + +@@ -3349,52 +3456,52 @@ msgstr "Níorbh fhéidir an bosca poist a athoscailt" + msgid "Can't write message" + msgstr "Ní féidir teachtaireacht a scríobh " + +-#: menu.c:632 ++#: menu.c:631 + msgid "Jump to: " + msgstr "Téigh go: " + +-#: menu.c:641 ++#: menu.c:640 + msgid "Invalid index number" + msgstr "Uimhir innéacs neamhbhailí" + +-#: menu.c:645 menu.c:671 menu.c:744 menu.c:810 menu.c:828 menu.c:843 menu.c:858 +-#: menu.c:873 menu.c:890 menu.c:907 menu.c:1553 ++#: menu.c:644 menu.c:670 menu.c:743 menu.c:809 menu.c:827 menu.c:842 menu.c:857 ++#: menu.c:872 menu.c:889 menu.c:906 menu.c:1553 + msgid "No entries" + msgstr "Níl aon iontráil ann" + +-#: menu.c:668 ++#: menu.c:667 + msgid "You can't scroll down farther" + msgstr "Ní féidir leat scrollú síos níos mó" + +-#: menu.c:690 ++#: menu.c:689 + msgid "You can't scroll up farther" + msgstr "Ní féidir leat scrollú suas níos mó" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the first page" + msgstr "Ar an chéad leathanach" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the last page" + msgstr "Ar an leathanach deireanach" + +-#: menu.c:922 ++#: menu.c:921 + msgid "You are on the last entry" + msgstr "Ar an iontráil dheireanach" + +-#: menu.c:937 ++#: menu.c:936 + msgid "You are on the first entry" + msgstr "Ar an chéad iontráil" + +-#: menu.c:1172 pager.c:2692 pattern.c:2578 ++#: menu.c:1172 pager.c:2666 pattern.c:2702 + msgid "Search for: " + msgstr "Déan cuardach ar: " + +-#: menu.c:1173 pager.c:2693 pattern.c:2579 ++#: menu.c:1173 pager.c:2667 pattern.c:2703 + msgid "Reverse search for: " + msgstr "Déan cuardach droim ar ais ar: " + +-#: menu.c:1226 pager.c:2641 pager.c:2666 pager.c:2800 pattern.c:2708 ++#: menu.c:1226 pager.c:2615 pager.c:2640 pager.c:2774 pattern.c:2832 + msgid "Not found" + msgstr "Ar iarraidh" + +@@ -3437,20 +3544,20 @@ msgstr "Ag feitheamh le hiarracht flock... %d" + msgid "Bad history file format (line %d)" + msgstr "" + +-#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1006 ncrypt/crypt_gpgme.c:2381 +-#: ncrypt/crypt_gpgme.c:2401 ncrypt/crypt_gpgme.c:2460 +-#: ncrypt/crypt_gpgme.c:2477 ncrypt/crypt_gpgme.c:2509 +-#: ncrypt/crypt_gpgme.c:2527 ncrypt/crypt_gpgme.c:2611 +-#: ncrypt/crypt_gpgme.c:3194 ncrypt/crypt_gpgme.c:3292 +-#: ncrypt/crypt_gpgme.c:4373 ncrypt/pgp.c:576 ncrypt/pgp.c:583 ncrypt/pgp.c:896 +-#: ncrypt/pgp.c:1014 ncrypt/pgp.c:1161 ncrypt/pgp.c:1181 ncrypt/pgp.c:1215 +-#: ncrypt/pgp.c:1568 ncrypt/pgpkey.c:708 ncrypt/pgpkey.c:902 +-#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1092 ncrypt/smime.c:1100 +-#: ncrypt/smime.c:1191 ncrypt/smime.c:1299 ncrypt/smime.c:1364 +-#: ncrypt/smime.c:1372 ncrypt/smime.c:1571 ncrypt/smime.c:1967 +-#: ncrypt/smime.c:2046 ncrypt/smime.c:2053 ncrypt/smime.c:2156 +-#: ncrypt/smime.c:2281 ncrypt/smime.c:2297 nntp/nntp.c:1397 nntp/nntp.c:2237 +-#: pattern.c:1132 pop/pop.c:182 ++#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1005 ncrypt/crypt_gpgme.c:2420 ++#: ncrypt/crypt_gpgme.c:2440 ncrypt/crypt_gpgme.c:2499 ++#: ncrypt/crypt_gpgme.c:2516 ncrypt/crypt_gpgme.c:2548 ++#: ncrypt/crypt_gpgme.c:2566 ncrypt/crypt_gpgme.c:2650 ++#: ncrypt/crypt_gpgme.c:3237 ncrypt/crypt_gpgme.c:3335 ++#: ncrypt/crypt_gpgme.c:4421 ncrypt/pgp.c:575 ncrypt/pgp.c:582 ncrypt/pgp.c:895 ++#: ncrypt/pgp.c:1013 ncrypt/pgp.c:1160 ncrypt/pgp.c:1180 ncrypt/pgp.c:1214 ++#: ncrypt/pgp.c:1570 ncrypt/pgpkey.c:741 ncrypt/pgpkey.c:937 ++#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1126 ncrypt/smime.c:1134 ++#: ncrypt/smime.c:1225 ncrypt/smime.c:1333 ncrypt/smime.c:1398 ++#: ncrypt/smime.c:1406 ncrypt/smime.c:1605 ncrypt/smime.c:2001 ++#: ncrypt/smime.c:2080 ncrypt/smime.c:2087 ncrypt/smime.c:2190 ++#: ncrypt/smime.c:2315 ncrypt/smime.c:2331 nntp/nntp.c:1399 nntp/nntp.c:2239 ++#: pattern.c:1171 pop/pop.c:182 + msgid "Can't create temporary file" + msgstr "Ní féidir comhad sealadach a chruthú" + +@@ -3469,7 +3576,7 @@ msgstr "Leibhéal dífhabhtaithe = %d.\n" + msgid "Logging at level %d to file '%s'" + msgstr "Leibhéal dífhabhtaithe = %d.\n" + +-#: mutt/path.c:401 ++#: mutt/path.c:420 + #, fuzzy + msgid "Error: converting path to absolute" + msgstr "Earráid ag nascadh leis an bhfreastalaí: %s" +@@ -3493,17 +3600,17 @@ msgstr "Fuarthas comhartha %d (%s) ... Ag scor.\n" + msgid "Caught signal %d ... Exiting.\n" + msgstr "Fuarthas comhartha %d ... Ag scor.\n" + +-#: muttlib.c:490 ++#: muttlib.c:488 + #, c-format + msgid "mutt_randbuf buflen=%zu" + msgstr "" + +-#: muttlib.c:510 ++#: muttlib.c:508 + #, c-format + msgid "open /dev/urandom: %s" + msgstr "" + +-#: muttlib.c:517 ++#: muttlib.c:515 + #, c-format + msgid "read /dev/urandom: %s" + msgstr "" +@@ -3511,148 +3618,120 @@ msgstr "" + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) + #. These three letters correspond to the choices in the string. +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "File is a directory, save under it: (y)es, (n)o, (a)ll?" + msgstr "Is comhadlann é an comhad seo, sábháil fúithi? (s)ábháil, (n)á sábháil, (u)ile" + +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "yna" + msgstr "snu" + + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) +-#: muttlib.c:763 ++#: muttlib.c:761 + msgid "File is a directory, save under it?" + msgstr "Is comhadlann í an comhad seo, sábháil fúithi?" + +-#: muttlib.c:768 ++#: muttlib.c:766 + msgid "File under directory: " + msgstr "Comhad faoin chomhadlann: " + +-#: muttlib.c:781 ++#: muttlib.c:779 + msgid "File exists, (o)verwrite, (a)ppend, or (c)ancel?" + msgstr "Tá an comhad ann cheana, (f)orscríobh, c(u)ir leis, nó (c)ealaigh?" + + #. L10N: Options for: File exists, (o)verwrite, (a)ppend, or (c)ancel? +-#: muttlib.c:783 ++#: muttlib.c:781 + msgid "oac" + msgstr "fuc" + +-#: muttlib.c:1458 ++#: muttlib.c:1456 + msgid "Can't save message to POP mailbox" + msgstr "Ní féidir teachtaireacht a shábháil i mbosca poist POP" + +-#: muttlib.c:1468 ++#: muttlib.c:1466 + #, c-format + msgid "Append messages to %s?" + msgstr "Iarcheangail teachtaireachtaí le %s?" + +-#: muttlib.c:1481 ++#: muttlib.c:1479 + #, fuzzy + msgid "Can't save message to news server" + msgstr "Ní féidir teachtaireacht a chur in eagar ar fhreastalaí POP" + +-#. L10N: Example: Username at myhost.com +-#: mutt_account.c:233 +-#, c-format +-msgid "Username at %s: " +-msgstr "Ainm úsáideora ag %s: " +- +-#: mutt_account.c:315 +-#, c-format +-msgid "Password for %s@%s: " +-msgstr "Focal faire do %s@%s: " +- +-#. L10N: You will see this error message if (1) you have "oauthbearer" in +-#. one of your $*_authenticators and (2) you do not have the corresponding +-#. $*_oauth_refresh_command defined. So the message does not mean "None of +-#. your $*_oauth_refresh_command's are defined." +-#: mutt_account.c:383 +-#, fuzzy +-msgid "No OAUTH refresh command defined" +-msgstr "Níl aon ordú iarratais sainmhínithe" +- +-#: mutt_account.c:390 +-msgid "Unable to run refresh command" +-msgstr "" +- +-#: mutt_account.c:400 +-msgid "Command returned empty string" +-msgstr "" +- +-#: mutt_attach.c:140 mutt_attach.c:274 mutt_attach.c:459 mutt_attach.c:1054 ++#: mutt_attach.c:142 mutt_attach.c:276 mutt_attach.c:488 mutt_attach.c:1087 + msgid "Can't match 'nametemplate', continue?" + msgstr "Ní féidir ainmtheimpléad comhoiriúnach a fháil; lean ar aghaidh?" + +-#: mutt_attach.c:150 ++#: mutt_attach.c:152 + #, c-format + msgid "Mailcap compose entry requires %%s" + msgstr "Tá gá le %%s in iontráil chumtha Mailcap" + +-#: mutt_attach.c:168 ++#: mutt_attach.c:170 + msgid "Failure to open file to parse headers" + msgstr "Níorbh fhéidir comhad a oscailt chun ceanntásca a pharsáil" + +-#: mutt_attach.c:202 ++#: mutt_attach.c:204 + msgid "Failure to open file to strip headers" + msgstr "Níorbh fhéidir comhad a oscailt chun ceanntásca a struipeáil" + +-#: mutt_attach.c:212 ++#: mutt_attach.c:214 + msgid "Failure to rename file" + msgstr "Theip ar athainmniú comhaid" + +-#: mutt_attach.c:222 ++#: mutt_attach.c:224 + #, c-format + msgid "No mailcap compose entry for %s, creating empty file" + msgstr "Níl aon iontráil chumadóra mailcap do %s, comhad folamh á chruthú" + +-#: mutt_attach.c:284 ++#: mutt_attach.c:286 + #, c-format + msgid "Mailcap Edit entry requires %%s" + msgstr "Tá gá le %%s in iontráil Eagair Mailcap" + +-#: mutt_attach.c:305 ++#: mutt_attach.c:307 + #, c-format + msgid "No mailcap edit entry for %s" + msgstr "Níl aon iontráil eagair mailcap do %s" + +-#: mutt_attach.c:427 ++#: mutt_attach.c:456 + msgid "No matching mailcap entry found. Viewing as text." + msgstr "Níor aimsíodh iontráil chomhoiriúnach mailcap. Féach air mar théacs." + +-#: mutt_attach.c:440 ++#: mutt_attach.c:469 + msgid "MIME type not defined. Can't view attachment." + msgstr "Tá an cineál MIME gan sainmhíniú. Ní féidir an t-iatán a léamh." + +-#: mutt_attach.c:535 ++#: mutt_attach.c:563 + #, c-format + msgid "---Command: %-20.20s Description: %s" + msgstr "" + +-#: mutt_attach.c:540 ++#: mutt_attach.c:568 + #, c-format + msgid "---Command: %-30.30s Attachment: %s" + msgstr "" + +-#: mutt_attach.c:619 ++#: mutt_attach.c:652 + #, fuzzy, c-format + msgid "---Attachment: %s: %s" + msgstr "-- Iatáin" + +-#: mutt_attach.c:621 ++#: mutt_attach.c:654 + #, fuzzy, c-format + msgid "---Attachment: %s" + msgstr "-- Iatáin" + +-#: mutt_attach.c:902 mutt_attach.c:910 ++#: mutt_attach.c:935 mutt_attach.c:943 + msgid "Write fault" + msgstr "Fadhb i rith scríofa" + +-#: mutt_attach.c:1174 ++#: mutt_attach.c:1207 + msgid "I don't know how to print that" + msgstr "Ní fhéadaim priontáil" + +-#: mutt_history.c:47 query.c:84 ++#: mutt_history.c:47 query.c:82 + msgid "Search" + msgstr "Cuardaigh" + +@@ -3661,21 +3740,21 @@ msgstr "Cuardaigh" + msgid "History '%s'" + msgstr "Iarratas '%s'" + +-#: mutt_logging.c:315 ++#: mutt_logging.c:313 + #, fuzzy, c-format + msgid "Invalid value for option %s: %ld" + msgstr "Lá neamhbhailí na míosa: %s" + +-#: mutt_lua.c:429 ++#: mutt_lua.c:431 + msgid "Error: Couldn't load the lua interpreter" + msgstr "" + +-#: mutt_lua.c:491 ++#: mutt_lua.c:493 + #, fuzzy, c-format + msgid "Couldn't source lua source: %s" + msgstr "Níorbh fhéidir %s a ghlasáil\n" + +-#: mutt_mailbox.c:214 ++#: mutt_mailbox.c:241 + msgid "New mail in " + msgstr "Post nua i " + +@@ -3697,20 +3776,20 @@ msgstr "Níl an mháthair-theachtaireacht infheicthe san amharc srianta seo" + msgid "Parent message is not visible in this limited view" + msgstr "Níl an mháthair-theachtaireacht infheicthe san amharc srianta seo" + +-#: mx.c:387 ++#: mx.c:385 + #, fuzzy, c-format + msgid "Reading from %s interrupted..." + msgstr "Idirbhriseadh an cuardach." + + #. L10N: Displayed if a mailbox sync fails +-#: mx.c:468 ++#: mx.c:469 + #, fuzzy, c-format + msgid "Unable to write %s" + msgstr "Ní féidir %s a cheangal" + + #. L10N: Although we know the precise number of messages, we do not show it to the user. + #. So feel free to use a "generic plural" as plural translation if your language has one. +-#: mx.c:523 ++#: mx.c:525 + #, fuzzy + msgid "message not deleted" + msgid_plural "messages not deleted" +@@ -3725,13 +3804,13 @@ msgstr[4] "Ag marcáil %d teachtaireacht mar scriosta..." + msgid "Can't open trash folder" + msgstr "Ní féidir aon rud a iarcheangal leis an fhillteán: %s" + +-#: mx.c:623 ++#: mx.c:627 + msgid "Mark all articles read?" + msgstr "" + + #. L10N: The first argument is the number of read messages to be + #. moved, the second argument is the target mailbox. +-#: mx.c:671 ++#: mx.c:675 + #, fuzzy, c-format + msgid "Move %d read message to %s?" + msgid_plural "Move %d read messages to %s?" +@@ -3741,7 +3820,7 @@ msgstr[2] "Bog na teachtaireachtaí léite go %s?" + msgstr[3] "Bog na teachtaireachtaí léite go %s?" + msgstr[4] "Bog na teachtaireachtaí léite go %s?" + +-#: mx.c:685 mx.c:917 ++#: mx.c:689 mx.c:936 + #, fuzzy, c-format + msgid "Purge %d deleted message?" + msgid_plural "Purge %d deleted messages?" +@@ -3751,49 +3830,49 @@ msgstr[2] "Glan %d teachtaireacht scriosta?" + msgstr[3] "Glan %d teachtaireacht scriosta?" + msgstr[4] "Glan %d teachtaireacht scriosta?" + +-#: mx.c:708 ++#: mx.c:712 + #, c-format + msgid "Moving read messages to %s..." + msgstr "Teachtaireachtaí léite á mbogadh go %s..." + +-#: mx.c:774 mx.c:908 ++#: mx.c:783 mx.c:927 + msgid "Mailbox is unchanged" + msgstr "Bosca poist gan athrú" + +-#: mx.c:827 ++#: mx.c:842 + #, c-format + msgid "%d kept, %d moved, %d deleted" + msgstr "%d coinnithe, %d aistrithe, %d scriosta" + +-#: mx.c:831 mx.c:972 ++#: mx.c:846 mx.c:991 + #, c-format + msgid "%d kept, %d deleted" + msgstr "%d coinnithe, %d scriosta" + +-#: mx.c:892 ++#: mx.c:911 + #, c-format + msgid " Press '%s' to toggle write" + msgstr " Brúigh '%s' chun mód scríofa a scoránú" + +-#: mx.c:894 ++#: mx.c:913 + msgid "Use 'toggle-write' to re-enable write" + msgstr "Bain úsáid as 'toggle-write' chun an mód scríofa a athchumasú" + +-#: mx.c:896 ++#: mx.c:915 + #, c-format + msgid "Mailbox is marked unwritable. %s" + msgstr "Tá an bosca poist marcáilte \"neamh-inscríofa\". %s" + +-#: mx.c:966 ++#: mx.c:985 + msgid "Mailbox checkpointed" + msgstr "Seicphointeáladh an bosca poist" + +-#: ncrypt/crypt.c:93 ++#: ncrypt/crypt.c:91 + #, c-format + msgid " (current time: %c)" + msgstr " (an t-am anois: %c)" + +-#: ncrypt/crypt.c:98 ++#: ncrypt/crypt.c:96 + #, c-format + msgid "[-- %s output follows%s --]\n" + msgstr "[-- an t-aschur %s:%s --]\n" +@@ -3802,55 +3881,55 @@ msgstr "[-- an t-aschur %s:%s --]\n" + #. by gpg-agent) we can't know whether we forgot zero, 1, 12, ... + #. passwords. So in English we use "Passphrases". Your language might + #. have other means to express this. +-#: ncrypt/crypt.c:119 ++#: ncrypt/crypt.c:117 + #, fuzzy + msgid "Passphrases forgotten" + msgstr "Rinneadh dearmad ar an bhfrása faire" + +-#: ncrypt/crypt.c:203 ++#: ncrypt/crypt.c:201 + #, fuzzy + msgid "Inline PGP can't be used with attachments. Revert to PGP/MIME?" + msgstr "Ní féidir an teachtaireacht a sheoladh inlíne. Úsáid PGP/MIME?" + +-#: ncrypt/crypt.c:207 ++#: ncrypt/crypt.c:205 + msgid "Mail not sent: inline PGP can't be used with attachments" + msgstr "" + +-#: ncrypt/crypt.c:214 ++#: ncrypt/crypt.c:212 + #, fuzzy + msgid "Inline PGP can't be used with format=flowed. Revert to PGP/MIME?" + msgstr "Ní féidir an teachtaireacht a sheoladh inlíne. Úsáid PGP/MIME?" + +-#: ncrypt/crypt.c:218 ++#: ncrypt/crypt.c:216 + msgid "Mail not sent: inline PGP can't be used with format=flowed" + msgstr "" + +-#: ncrypt/crypt.c:228 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:714 +-#: ncrypt/pgpkey.c:915 ++#: ncrypt/crypt.c:226 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:747 ++#: ncrypt/pgpkey.c:950 + msgid "Invoking PGP..." + msgstr "PGP á thosú..." + +-#: ncrypt/crypt.c:240 ++#: ncrypt/crypt.c:238 + msgid "Message can't be sent inline. Revert to using PGP/MIME?" + msgstr "Ní féidir an teachtaireacht a sheoladh inlíne. Úsáid PGP/MIME?" + +-#: ncrypt/crypt.c:242 send.c:2430 ++#: ncrypt/crypt.c:240 send.c:2441 + msgid "Mail not sent" + msgstr "Níor seoladh an post" + +-#: ncrypt/crypt.c:662 ++#: ncrypt/crypt.c:666 + msgid "S/MIME messages with no hints on content are unsupported" + msgstr "Ní ghlacann le teachtaireachtaí S/MIME gan leideanna maidir lena n-inneachar" + +-#: ncrypt/crypt.c:888 ++#: ncrypt/crypt.c:892 + msgid "Trying to extract PGP keys...\n" + msgstr "Ag baint triail as eochracha PGP a bhaint amach...\n" + +-#: ncrypt/crypt.c:917 ++#: ncrypt/crypt.c:921 + msgid "Trying to extract S/MIME certificates..." + msgstr "Ag baint triail as teastais S/MIME a bhaint amach..." + +-#: ncrypt/crypt.c:1140 ++#: ncrypt/crypt.c:1144 + #, c-format + msgid "" + "[-- Error: Unknown multipart/signed protocol %s --]\n" +@@ -3859,7 +3938,7 @@ msgstr "" + "[-- Earráid: Prótacal anaithnid multipart/signed %s --]\n" + "\n" + +-#: ncrypt/crypt.c:1180 ++#: ncrypt/crypt.c:1184 + #, fuzzy + msgid "" + "[-- Error: Missing or bad-format multipart/signed signature --]\n" +@@ -3868,7 +3947,7 @@ msgstr "" + "[-- Earráid: Struchtúr neamhréireach multipart/signed --]\n" + "\n" + +-#: ncrypt/crypt.c:1222 ++#: ncrypt/crypt.c:1226 + #, c-format + msgid "" + "[-- Warning: We can't verify %s/%s signatures. --]\n" +@@ -3877,7 +3956,7 @@ msgstr "" + "[-- Rabhadh: Ní féidir %s/%s síniú a fhíorú. --]\n" + "\n" + +-#: ncrypt/crypt.c:1235 ++#: ncrypt/crypt.c:1239 + msgid "" + "[-- The following data is signed --]\n" + "\n" +@@ -3885,7 +3964,7 @@ msgstr "" + "[-- Is sínithe iad na sonraí seo a leanas --]\n" + "\n" + +-#: ncrypt/crypt.c:1243 ++#: ncrypt/crypt.c:1248 + msgid "" + "[-- Warning: Can't find any signatures. --]\n" + "\n" +@@ -3893,7 +3972,7 @@ msgstr "" + "[-- Rabhadh: Ní féidir aon síniú a aimsiú. --]\n" + "\n" + +-#: ncrypt/crypt.c:1249 ++#: ncrypt/crypt.c:1255 + msgid "" + "\n" + "[-- End of signed data --]\n" +@@ -3912,243 +3991,243 @@ msgstr "S/MIME á thosú..." + #. L10N: The following are the headers for the "verify key" output from the + #. GPGME key selection menu (bound to "c" in the key selection menu). + #. They will be automatically aligned. +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + #, fuzzy + msgid "Name: " + msgstr "Ainm ......: " + +-#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1869 ncrypt/crypt_gpgme.c:1874 ++#: ncrypt/crypt_gpgme.c:183 ncrypt/crypt_gpgme.c:1900 ncrypt/crypt_gpgme.c:1905 + msgid "aka: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + #, fuzzy + msgid "Valid From: " + msgstr "Bailí Ó : %s\n" + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + #, fuzzy + msgid "Valid To: " + msgstr "Bailí Go ..: %s\n" + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + #, fuzzy + msgid "Key Type: " + msgstr "Úsáid Eochrach .: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + #, fuzzy + msgid "Key Usage: " + msgstr "Úsáid Eochrach .: " + +-#: ncrypt/crypt_gpgme.c:185 ncrypt/crypt_gpgme.c:1759 ++#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1790 + msgid "Fingerprint: " + msgstr "Méarlorg: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + #, fuzzy + msgid "Serial-No: " + msgstr "Sraithuimhir .: 0x%s\n" + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + #, fuzzy + msgid "Issued By: " + msgstr "Eisithe Ag .: " + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + #, fuzzy + msgid "Subkey: " + msgstr "Fo-eochair ....: 0x%s" + +-#: ncrypt/crypt_gpgme.c:783 ++#: ncrypt/crypt_gpgme.c:782 + #, c-format + msgid "error enabling CMS protocol: %s" + msgstr "earráid agus prótacal CMS á chumasú: %s" + +-#: ncrypt/crypt_gpgme.c:806 ++#: ncrypt/crypt_gpgme.c:805 + #, c-format + msgid "error creating gpgme data object: %s" + msgstr "earráid agus réad gpgme á chruthú: %s" + +-#: ncrypt/crypt_gpgme.c:907 ncrypt/crypt_gpgme.c:934 ncrypt/crypt_gpgme.c:2057 +-#: ncrypt/crypt_gpgme.c:2814 ++#: ncrypt/crypt_gpgme.c:906 ncrypt/crypt_gpgme.c:933 ncrypt/crypt_gpgme.c:2096 ++#: ncrypt/crypt_gpgme.c:2853 + #, c-format + msgid "error allocating data object: %s" + msgstr "earráid agus réad á dháileadh: %s" + +-#: ncrypt/crypt_gpgme.c:956 ++#: ncrypt/crypt_gpgme.c:955 + #, c-format + msgid "error rewinding data object: %s" + msgstr "earráid agus réad á atochras: %s" + +-#: ncrypt/crypt_gpgme.c:972 ++#: ncrypt/crypt_gpgme.c:971 + msgid "[tempfile]" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:978 ncrypt/crypt_gpgme.c:1032 ++#: ncrypt/crypt_gpgme.c:977 ncrypt/crypt_gpgme.c:1031 + #, c-format + msgid "error reading data object: %s" + msgstr "earráid agus réad á léamh: %s" + +-#: ncrypt/crypt_gpgme.c:1149 ++#: ncrypt/crypt_gpgme.c:1148 + #, fuzzy, c-format + msgid "error adding recipient '%s': %s" + msgstr "earráid agus faighteoir '%s' á chur leis: %s" + +-#: ncrypt/crypt_gpgme.c:1202 ++#: ncrypt/crypt_gpgme.c:1186 + #, c-format + msgid "secret key '%s' not found: %s" + msgstr "eochair rúnda '%s' gan aimsiú: %s" + +-#: ncrypt/crypt_gpgme.c:1218 ++#: ncrypt/crypt_gpgme.c:1203 + #, fuzzy, c-format + msgid "ambiguous specification of secret key '%s'\n" + msgstr "sonrú débhríoch d'eochair rúnda '%s'" + +-#: ncrypt/crypt_gpgme.c:1234 ++#: ncrypt/crypt_gpgme.c:1219 + #, c-format + msgid "error setting secret key '%s': %s" + msgstr "earráid agus eochair rúnda á shocrú '%s': %s" + +-#: ncrypt/crypt_gpgme.c:1250 ++#: ncrypt/crypt_gpgme.c:1278 + #, fuzzy, c-format + msgid "error setting PKA signature notation: %s" + msgstr "Earráid agus eolas faoin eochair á fháil: " + +-#: ncrypt/crypt_gpgme.c:1324 ++#: ncrypt/crypt_gpgme.c:1353 + #, c-format + msgid "error encrypting data: %s" + msgstr "earráid agus sonraí á gcriptiú: %s" + +-#: ncrypt/crypt_gpgme.c:1453 ++#: ncrypt/crypt_gpgme.c:1483 + #, c-format + msgid "error signing data: %s" + msgstr "earráid agus sonraí á síniú: %s" + +-#: ncrypt/crypt_gpgme.c:1463 ++#: ncrypt/crypt_gpgme.c:1493 + msgid "$pgp_sign_as unset and no default key specified in ~/.gnupg/gpg.conf" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1641 ++#: ncrypt/crypt_gpgme.c:1672 + msgid "Warning: One of the keys has been revoked\n" + msgstr "Rabhadh: Cúlghaireadh ceann amháin de na heochracha\n" + +-#: ncrypt/crypt_gpgme.c:1651 ++#: ncrypt/crypt_gpgme.c:1682 + msgid "Warning: The key used to create the signature expired at: " + msgstr "Rabhadh: D'imigh an eochair lena gcruthaíodh an síniú as feidhm ar: " + +-#: ncrypt/crypt_gpgme.c:1657 ++#: ncrypt/crypt_gpgme.c:1688 + msgid "Warning: At least one certification key has expired\n" + msgstr "Rabhadh: D'imigh eochair amháin deimhnithe as feidhm, ar a laghad\n" + +-#: ncrypt/crypt_gpgme.c:1671 ++#: ncrypt/crypt_gpgme.c:1702 + msgid "Warning: The signature expired at: " + msgstr "Rabhadh: D'imigh an síniú as feidhm ar: " + +-#: ncrypt/crypt_gpgme.c:1678 ++#: ncrypt/crypt_gpgme.c:1709 + msgid "Can't verify due to a missing key or certificate\n" + msgstr "Ní féidir fíorú de bharr eochair nó teastas ar iarraidh\n" + +-#: ncrypt/crypt_gpgme.c:1683 ++#: ncrypt/crypt_gpgme.c:1714 + msgid "The CRL is not available\n" + msgstr "Níl an CRL ar fáil\n" + +-#: ncrypt/crypt_gpgme.c:1689 ++#: ncrypt/crypt_gpgme.c:1720 + msgid "Available CRL is too old\n" + msgstr "Tá an CRL le fáil róshean\n" + +-#: ncrypt/crypt_gpgme.c:1694 ++#: ncrypt/crypt_gpgme.c:1725 + msgid "A policy requirement was not met\n" + msgstr "Níor freastalaíodh ar riachtanas polasaí\n" + +-#: ncrypt/crypt_gpgme.c:1703 ++#: ncrypt/crypt_gpgme.c:1734 + msgid "A system error occurred" + msgstr "Tharla earráid chórais" + +-#: ncrypt/crypt_gpgme.c:1734 ++#: ncrypt/crypt_gpgme.c:1765 + #, fuzzy + msgid "WARNING: PKA entry does not match signer's address: " + msgstr "RABHADH: Níl óstainm an fhreastalaí comhoiriúnach leis an teastas." + +-#: ncrypt/crypt_gpgme.c:1740 ++#: ncrypt/crypt_gpgme.c:1771 + msgid "PKA verified signer's address is: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1822 ++#: ncrypt/crypt_gpgme.c:1853 + msgid "WARNING: We have NO indication whether the key belongs to the person named as shown above\n" + msgstr "RABHADH: Níl fianaise AR BITH againn go bhfuil an eochair ag an duine ainmnithe thuas\n" + +-#: ncrypt/crypt_gpgme.c:1829 ++#: ncrypt/crypt_gpgme.c:1860 + msgid "WARNING: The key does NOT BELONG to the person named as shown above\n" + msgstr "RABHADH: NÍL an eochair ag an duine ainmnithe thuas\n" + +-#: ncrypt/crypt_gpgme.c:1833 ++#: ncrypt/crypt_gpgme.c:1864 + msgid "WARNING: It is NOT certain that the key belongs to the person named as shown above\n" + msgstr "RABHADH: NÍL mé cinnte go bhfuil an eochair ag an duine ainmnithe thuas\n" + +-#: ncrypt/crypt_gpgme.c:1886 ++#: ncrypt/crypt_gpgme.c:1917 + msgid "KeyID " + msgstr "" + + #. L10N: You will see this message in place of "KeyID " + #. if the S/MIME key has no ID. This is quite an error. +-#: ncrypt/crypt_gpgme.c:1893 ++#: ncrypt/crypt_gpgme.c:1924 + msgid "no signature fingerprint available" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1902 ncrypt/crypt_gpgme.c:1907 ++#: ncrypt/crypt_gpgme.c:1933 ncrypt/crypt_gpgme.c:1938 + #, fuzzy + msgid "created: " + msgstr "Cruthaigh %s?" + +-#: ncrypt/crypt_gpgme.c:1981 ++#: ncrypt/crypt_gpgme.c:2012 + #, fuzzy, c-format + msgid "Error getting key information for KeyID %s: %s\n" + msgstr "Earráid agus eolas faoin eochair á fháil: " + +-#: ncrypt/crypt_gpgme.c:1988 ncrypt/crypt_gpgme.c:2003 ++#: ncrypt/crypt_gpgme.c:2019 ncrypt/crypt_gpgme.c:2034 + #, fuzzy + msgid "Good signature from:" + msgstr "Síniú maith ó: " + +-#: ncrypt/crypt_gpgme.c:1995 ++#: ncrypt/crypt_gpgme.c:2026 + #, fuzzy + msgid "*BAD* signature from:" + msgstr "Síniú maith ó: " + +-#: ncrypt/crypt_gpgme.c:2011 ++#: ncrypt/crypt_gpgme.c:2042 + #, fuzzy + msgid "Problem signature from:" + msgstr "Síniú maith ó: " + + #. L10N: This is trying to match the width of the + #. "Problem signature from:" translation just above. +-#: ncrypt/crypt_gpgme.c:2017 ++#: ncrypt/crypt_gpgme.c:2048 + #, fuzzy + msgid " expires: " + msgstr "ar a dtugtar freisin: " + +-#: ncrypt/crypt_gpgme.c:2064 ncrypt/crypt_gpgme.c:2294 +-#: ncrypt/crypt_gpgme.c:3081 ++#: ncrypt/crypt_gpgme.c:2103 ncrypt/crypt_gpgme.c:2333 ++#: ncrypt/crypt_gpgme.c:3124 + msgid "[-- Begin signature information --]\n" + msgstr "[-- Tosú ar eolas faoin síniú --]\n" + +-#: ncrypt/crypt_gpgme.c:2075 ++#: ncrypt/crypt_gpgme.c:2114 + #, c-format + msgid "Error: verification failed: %s\n" + msgstr "Earráid: theip ar fhíorú: %s\n" + +-#: ncrypt/crypt_gpgme.c:2126 ++#: ncrypt/crypt_gpgme.c:2165 + #, c-format + msgid "*** Begin Notation (signature by: %s) ***\n" + msgstr "*** Tosú na Nodaireachta (sínithe ag: %s) ***\n" + +-#: ncrypt/crypt_gpgme.c:2145 ++#: ncrypt/crypt_gpgme.c:2184 + msgid "*** End Notation ***\n" + msgstr "*** Deireadh na Nodaireachta ***\n" + +-#: ncrypt/crypt_gpgme.c:2153 ncrypt/crypt_gpgme.c:2308 +-#: ncrypt/crypt_gpgme.c:3091 ++#: ncrypt/crypt_gpgme.c:2192 ncrypt/crypt_gpgme.c:2347 ++#: ncrypt/crypt_gpgme.c:3134 + msgid "" + "[-- End signature information --]\n" + "\n" +@@ -4156,7 +4235,7 @@ msgstr "" + "[-- Deireadh an eolais faoin síniú --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:2268 ++#: ncrypt/crypt_gpgme.c:2307 + #, c-format + msgid "" + "[-- Error: decryption failed: %s --]\n" +@@ -4165,21 +4244,26 @@ msgstr "" + "[-- Earráid: theip ar dhíchriptiú: %s --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:2821 ++#: ncrypt/crypt_gpgme.c:2860 + #, fuzzy, c-format + msgid "Error importing key: %s" + msgstr "Earráid agus eolas faoin eochair á fháil: " + +-#: ncrypt/crypt_gpgme.c:3059 ++#: ncrypt/crypt_gpgme.c:3098 + #, c-format + msgid "Error: decryption/verification failed: %s\n" + msgstr "Earráid: theip ar dhíchriptiú/fhíorú: %s\n" + +-#: ncrypt/crypt_gpgme.c:3103 ++#: ncrypt/crypt_gpgme.c:3105 ncrypt/crypt_gpgme.c:3302 ncrypt/pgp.c:726 ++#: ncrypt/pgp.c:1273 ++msgid "PGP message successfully decrypted" ++msgstr "D'éirigh le díchriptiú na teachtaireachta PGP" ++ ++#: ncrypt/crypt_gpgme.c:3146 + msgid "Error: copy data failed\n" + msgstr "Earráid: theip ar chóipeáil na sonraí\n" + +-#: ncrypt/crypt_gpgme.c:3116 ncrypt/pgp.c:675 ++#: ncrypt/crypt_gpgme.c:3159 ncrypt/pgp.c:674 + msgid "" + "[-- BEGIN PGP MESSAGE --]\n" + "\n" +@@ -4187,11 +4271,11 @@ msgstr "" + "[-- TOSACH TEACHTAIREACHTA PGP --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3118 ncrypt/pgp.c:677 ++#: ncrypt/crypt_gpgme.c:3161 ncrypt/pgp.c:676 + msgid "[-- BEGIN PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- TOSAIGH BLOC NA hEOCHRACH POIBLÍ PGP --]\n" + +-#: ncrypt/crypt_gpgme.c:3120 ncrypt/pgp.c:679 ++#: ncrypt/crypt_gpgme.c:3163 ncrypt/pgp.c:678 + msgid "" + "[-- BEGIN PGP SIGNED MESSAGE --]\n" + "\n" +@@ -4199,19 +4283,19 @@ msgstr "" + "[-- TOSACH TEACHTAIREACHTA PGP SÍNITHE --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3145 ncrypt/pgp.c:716 ++#: ncrypt/crypt_gpgme.c:3188 ncrypt/pgp.c:715 + msgid "[-- END PGP MESSAGE --]\n" + msgstr "[-- DEIREADH TEACHTAIREACHTA PGP --]\n" + +-#: ncrypt/crypt_gpgme.c:3147 ncrypt/pgp.c:730 ++#: ncrypt/crypt_gpgme.c:3190 ncrypt/pgp.c:729 + msgid "[-- END PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- CRÍOCH BHLOC NA hEOCHRACH POIBLÍ PGP --]\n" + +-#: ncrypt/crypt_gpgme.c:3149 ncrypt/pgp.c:732 ++#: ncrypt/crypt_gpgme.c:3192 ncrypt/pgp.c:731 + msgid "[-- END PGP SIGNED MESSAGE --]\n" + msgstr "[-- DEIREADH NA TEACHTAIREACHTA SÍNITHE PGP --]\n" + +-#: ncrypt/crypt_gpgme.c:3170 ncrypt/pgp.c:765 ++#: ncrypt/crypt_gpgme.c:3213 ncrypt/pgp.c:764 + msgid "" + "[-- Error: could not find beginning of PGP message --]\n" + "\n" +@@ -4219,11 +4303,11 @@ msgstr "" + "[-- Earráid: níorbh fhéidir tosach na teachtaireachta PGP a aimsiú --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3198 ncrypt/crypt_gpgme.c:3296 ncrypt/pgp.c:1218 ++#: ncrypt/crypt_gpgme.c:3241 ncrypt/crypt_gpgme.c:3339 ncrypt/pgp.c:1218 + msgid "[-- Error: could not create temporary file --]\n" + msgstr "[-- Earráid: ní féidir comhad sealadach a chruthú --]\n" + +-#: ncrypt/crypt_gpgme.c:3212 ++#: ncrypt/crypt_gpgme.c:3255 + msgid "" + "[-- The following data is PGP/MIME signed and encrypted --]\n" + "\n" +@@ -4231,7 +4315,7 @@ msgstr "" + "[-- Is sínithe agus criptithe le PGP/MIME iad na sonraí seo a leanas --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3214 ncrypt/pgp.c:1231 ++#: ncrypt/crypt_gpgme.c:3257 ncrypt/pgp.c:1232 + msgid "" + "[-- The following data is PGP/MIME encrypted --]\n" + "\n" +@@ -4239,24 +4323,20 @@ msgstr "" + "[-- Is criptithe le PGP/MIME iad na sonraí seo a leanas --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3254 ++#: ncrypt/crypt_gpgme.c:3297 + msgid "[-- End of PGP/MIME signed and encrypted data --]\n" + msgstr "[-- Deireadh na sonraí sínithe agus criptithe le PGP/MIME --]\n" + +-#: ncrypt/crypt_gpgme.c:3255 ncrypt/pgp.c:1267 ++#: ncrypt/crypt_gpgme.c:3298 ncrypt/pgp.c:1268 + msgid "[-- End of PGP/MIME encrypted data --]\n" + msgstr "[-- Deireadh na sonraí criptithe le PGP/MIME --]\n" + +-#: ncrypt/crypt_gpgme.c:3259 ncrypt/pgp.c:727 ncrypt/pgp.c:1272 +-msgid "PGP message successfully decrypted" +-msgstr "D'éirigh le díchriptiú na teachtaireachta PGP" +- +-#: ncrypt/crypt_gpgme.c:3265 ncrypt/pgp.c:666 ncrypt/pgp.c:718 +-#: ncrypt/pgp.c:1276 ++#: ncrypt/crypt_gpgme.c:3308 ncrypt/pgp.c:665 ncrypt/pgp.c:717 ++#: ncrypt/pgp.c:1277 + msgid "Could not decrypt PGP message" + msgstr "Níorbh fhéidir an teachtaireacht PGP a dhíchriptiú" + +-#: ncrypt/crypt_gpgme.c:3310 ++#: ncrypt/crypt_gpgme.c:3353 + msgid "" + "[-- The following data is S/MIME signed --]\n" + "\n" +@@ -4264,7 +4344,7 @@ msgstr "" + "[-- Is sínithe le S/MIME iad na sonraí seo a leanas --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3311 ++#: ncrypt/crypt_gpgme.c:3354 + msgid "" + "[-- The following data is S/MIME encrypted --]\n" + "\n" +@@ -4272,34 +4352,34 @@ msgstr "" + "[-- Is criptithe le S/MIME iad na sonraí seo a leanas --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3358 ++#: ncrypt/crypt_gpgme.c:3401 + msgid "[-- End of S/MIME signed data --]\n" + msgstr "[-- Deireadh na sonraí sínithe le S/MIME --]\n" + +-#: ncrypt/crypt_gpgme.c:3359 ++#: ncrypt/crypt_gpgme.c:3402 + msgid "[-- End of S/MIME encrypted data --]\n" + msgstr "[-- Deireadh na sonraí criptithe le S/MIME --]\n" + +-#: ncrypt/crypt_gpgme.c:4029 ++#: ncrypt/crypt_gpgme.c:4077 + msgid "[Can't display this user ID (unknown encoding)]" + msgstr "[Ní féidir an t-aitheantas úsáideora a thaispeáint (ionchódú anaithnid)]" + +-#: ncrypt/crypt_gpgme.c:4031 ++#: ncrypt/crypt_gpgme.c:4079 + msgid "[Can't display this user ID (invalid encoding)]" + msgstr "[Ní féidir an t-aitheantas úsáideora a thaispeáint (ionchódú neamhbhailí)]" + +-#: ncrypt/crypt_gpgme.c:4036 ++#: ncrypt/crypt_gpgme.c:4084 + msgid "[Can't display this user ID (invalid DN)]" + msgstr "[Ní féidir an t-aitheantas úsáideora a thaispeáint (DN neamhbhailí)]" + + #. L10N: comes after the Name or aka if the key is invalid + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4150 ncrypt/crypt_gpgme.c:4291 ++#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4339 + msgid "[Invalid]" + msgstr "[Neamhbhailí]" + + #. L10N: This is printed after "Key Type: " and looks like this: PGP, 2048 bit RSA +-#: ncrypt/crypt_gpgme.c:4190 ncrypt/crypt_gpgme.c:4331 ++#: ncrypt/crypt_gpgme.c:4238 ncrypt/crypt_gpgme.c:4379 + #, fuzzy, c-format + msgid "%s, %lu bit %s\n" + msgid_plural "%s, %lu bit %s\n" +@@ -4310,95 +4390,95 @@ msgstr[3] "Cineál na hEochrach ..: %s, %lu giotán %s\n" + msgstr[4] "Cineál na hEochrach ..: %s, %lu giotán %s\n" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4338 ++#: ncrypt/crypt_gpgme.c:4246 ncrypt/crypt_gpgme.c:4386 + msgid "encryption" + msgstr "criptiúchán" + +-#: ncrypt/crypt_gpgme.c:4199 ncrypt/crypt_gpgme.c:4205 +-#: ncrypt/crypt_gpgme.c:4339 ncrypt/crypt_gpgme.c:4344 ++#: ncrypt/crypt_gpgme.c:4247 ncrypt/crypt_gpgme.c:4253 ++#: ncrypt/crypt_gpgme.c:4387 ncrypt/crypt_gpgme.c:4392 + msgid ", " + msgstr ", " + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4204 ncrypt/crypt_gpgme.c:4343 ++#: ncrypt/crypt_gpgme.c:4252 ncrypt/crypt_gpgme.c:4391 + msgid "signing" + msgstr "síniú" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4210 ncrypt/crypt_gpgme.c:4348 ++#: ncrypt/crypt_gpgme.c:4258 ncrypt/crypt_gpgme.c:4396 + msgid "certification" + msgstr "deimhniú" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4285 ++#: ncrypt/crypt_gpgme.c:4333 + msgid "[Revoked]" + msgstr "[Cúlghairthe]" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4297 ++#: ncrypt/crypt_gpgme.c:4345 + msgid "[Expired]" + msgstr "[As Feidhm]" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4303 ++#: ncrypt/crypt_gpgme.c:4351 + msgid "[Disabled]" + msgstr "[Díchumasaithe]" + +-#: ncrypt/crypt_gpgme.c:4376 ++#: ncrypt/crypt_gpgme.c:4424 + msgid "Collecting data..." + msgstr "Sonraí á mbailiú..." + +-#: ncrypt/crypt_gpgme.c:4394 ++#: ncrypt/crypt_gpgme.c:4442 + #, c-format + msgid "Error finding issuer key: %s\n" + msgstr "Earráid agus eochair an eisitheora á aimsiú: %s\n" + +-#: ncrypt/crypt_gpgme.c:4403 ++#: ncrypt/crypt_gpgme.c:4451 + #, fuzzy + msgid "Error: certification chain too long - stopping here\n" + msgstr "Earráid: slabhra rófhada deimhnithe - á stopadh anseo\n" + +-#: ncrypt/crypt_gpgme.c:4413 ncrypt/pgpkey.c:733 ++#: ncrypt/crypt_gpgme.c:4461 ncrypt/pgpkey.c:766 + #, c-format + msgid "Key ID: 0x%s" + msgstr "Aitheantas na heochrach: 0x%s" + +-#: ncrypt/crypt_gpgme.c:4538 ncrypt/crypt_gpgme.c:4589 ++#: ncrypt/crypt_gpgme.c:4586 ncrypt/crypt_gpgme.c:4637 + #, c-format + msgid "gpgme_op_keylist_start failed: %s" + msgstr "theip ar gpgme_op_keylist_start: %s" + +-#: ncrypt/crypt_gpgme.c:4577 ncrypt/crypt_gpgme.c:4619 +-#: ncrypt/crypt_gpgme.c:5355 ++#: ncrypt/crypt_gpgme.c:4625 ncrypt/crypt_gpgme.c:4667 ++#: ncrypt/crypt_gpgme.c:5435 + #, c-format + msgid "gpgme_op_keylist_next failed: %s" + msgstr "theip ar gpgme_op_keylist_next: %s" + +-#: ncrypt/crypt_gpgme.c:4701 ++#: ncrypt/crypt_gpgme.c:4749 + msgid "All matching keys are marked expired/revoked" + msgstr "Tá gach eochair chomhoiriúnach marcáilte mar as feidhm/cúlghairthe" + +-#: ncrypt/crypt_gpgme.c:4731 ncrypt/pgpkey.c:666 ncrypt/smime.c:551 ++#: ncrypt/crypt_gpgme.c:4779 ncrypt/pgpkey.c:669 ncrypt/smime.c:553 + msgid "Select " + msgstr "Roghnaigh " + +-#: ncrypt/crypt_gpgme.c:4733 ncrypt/pgpkey.c:668 ++#: ncrypt/crypt_gpgme.c:4781 ncrypt/pgpkey.c:671 + msgid "Check key " + msgstr "Seiceáil eochair " + +-#: ncrypt/crypt_gpgme.c:4749 ++#: ncrypt/crypt_gpgme.c:4827 + msgid "PGP and S/MIME keys matching" + msgstr "Eochracha PGP agus S/MIME atá comhoiriúnach le" + +-#: ncrypt/crypt_gpgme.c:4751 ++#: ncrypt/crypt_gpgme.c:4829 + msgid "PGP keys matching" + msgstr "Eochracha PGP atá comhoiriúnach le" + +-#: ncrypt/crypt_gpgme.c:4753 ++#: ncrypt/crypt_gpgme.c:4831 + msgid "S/MIME keys matching" + msgstr "Eochracha S/MIME atá comhoiriúnach le" + +-#: ncrypt/crypt_gpgme.c:4755 ++#: ncrypt/crypt_gpgme.c:4833 + msgid "keys matching" + msgstr "eochracha atá comhoiriúnach le" + +@@ -4406,59 +4486,59 @@ msgstr "eochracha atá comhoiriúnach le" + #. %1$s is one of the previous four entries. + #. %2$s is an address. + #. e.g. "S/MIME keys matching " +-#: ncrypt/crypt_gpgme.c:4763 ++#: ncrypt/crypt_gpgme.c:4841 + #, c-format + msgid "%s <%s>" + msgstr "%s <%s>" + + #. L10N: e.g. 'S/MIME keys matching "Michael Elkins".' +-#: ncrypt/crypt_gpgme.c:4768 ++#: ncrypt/crypt_gpgme.c:4846 + #, c-format + msgid "%s \"%s\"" + msgstr "%s \"%s\"" + +-#: ncrypt/crypt_gpgme.c:4796 ncrypt/pgpkey.c:754 ++#: ncrypt/crypt_gpgme.c:4874 ncrypt/pgpkey.c:787 + msgid "This key can't be used: expired/disabled/revoked" + msgstr "Ní féidir an eochair seo a úsáid: as feidhm/díchumasaithe/cúlghairthe" + +-#: ncrypt/crypt_gpgme.c:4810 ncrypt/pgpkey.c:767 ncrypt/smime.c:581 ++#: ncrypt/crypt_gpgme.c:4888 ncrypt/pgpkey.c:800 ncrypt/smime.c:613 + #, fuzzy + msgid "ID is expired/disabled/revoked. Do you really want to use the key?" + msgstr "Tá an t-aitheantas as feidhm/díchumasaithe/cúlghairthe. An bhfuil tú cinnte gur mhaith leat an eochair seo a úsáid?" + +-#: ncrypt/crypt_gpgme.c:4820 ncrypt/pgpkey.c:779 ++#: ncrypt/crypt_gpgme.c:4898 ncrypt/pgpkey.c:812 + #, fuzzy + msgid "ID is not valid. Do you really want to use the key?" + msgstr "Níl an t-aitheantas bailí. An bhfuil tú cinnte gur mhaith leat an eochair seo a úsáid?" + +-#: ncrypt/crypt_gpgme.c:4823 ncrypt/pgpkey.c:782 ++#: ncrypt/crypt_gpgme.c:4901 ncrypt/pgpkey.c:815 + #, fuzzy + msgid "ID is only marginally valid. Do you really want to use the key?" + msgstr "Is ar éigean atá an t-aitheantas bailí. An bhfuil tú cinnte gur mhaith leat an eochair seo a úsáid?" + +-#: ncrypt/crypt_gpgme.c:4831 ncrypt/pgpkey.c:775 ncrypt/smime.c:585 ++#: ncrypt/crypt_gpgme.c:4909 ncrypt/pgpkey.c:808 ncrypt/smime.c:617 + #, fuzzy + msgid "ID has undefined validity. Do you really want to use the key?" + msgstr "Aitheantas gan bailíocht chinnte. An bhfuil tú cinnte gur mhaith leat an eochair seo a úsáid?" + +-#: ncrypt/crypt_gpgme.c:4911 ncrypt/crypt_gpgme.c:5024 ncrypt/pgpkey.c:1019 +-#: ncrypt/pgpkey.c:1146 ++#: ncrypt/crypt_gpgme.c:4991 ncrypt/crypt_gpgme.c:5104 ncrypt/pgpkey.c:1054 ++#: ncrypt/pgpkey.c:1181 + #, c-format + msgid "Looking for keys matching \"%s\"..." + msgstr "Ag cuardach ar eochracha atá comhoiriúnach le \"%s\"..." + +-#: ncrypt/crypt_gpgme.c:5140 ncrypt/pgpkey.c:870 ncrypt/smime.c:924 ++#: ncrypt/crypt_gpgme.c:5220 ncrypt/pgpkey.c:905 ncrypt/smime.c:958 + #, c-format + msgid "No matching keys found for \"%s\"" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5190 ncrypt/pgp.c:1456 ++#: ncrypt/crypt_gpgme.c:5270 ncrypt/pgp.c:1457 + #, c-format + msgid "Use keyID = \"%s\" for %s?" + msgstr "Úsáid aitheantas eochrach = \"%s\" le haghaidh %s?" + +-#: ncrypt/crypt_gpgme.c:5238 ncrypt/pgp.c:1505 ncrypt/smime.c:944 +-#: ncrypt/smime.c:1049 ++#: ncrypt/crypt_gpgme.c:5318 ncrypt/pgp.c:1506 ncrypt/smime.c:978 ++#: ncrypt/smime.c:1083 + #, c-format + msgid "Enter keyID for %s: " + msgstr "Iontráil aitheantas eochrach le haghaidh %s: " +@@ -4467,16 +4547,16 @@ msgstr "Iontráil aitheantas eochrach le haghaidh %s: " + #. mutt_gpgme_select_secret_key() tries to list all secret keys to choose + #. from. This error is displayed if no results were found. + #. +-#: ncrypt/crypt_gpgme.c:5364 ++#: ncrypt/crypt_gpgme.c:5444 + #, fuzzy + msgid "No secret keys found" + msgstr "eochair rúnda '%s' gan aimsiú: %s" + +-#: ncrypt/crypt_gpgme.c:5398 ncrypt/pgpkey.c:888 ++#: ncrypt/crypt_gpgme.c:5478 ncrypt/pgpkey.c:923 + msgid "Please enter the key ID: " + msgstr "Iontráil aitheantas na heochrach, le do thoil: " + +-#: ncrypt/crypt_gpgme.c:5411 ++#: ncrypt/crypt_gpgme.c:5491 + #, fuzzy, c-format + msgid "Error exporting key: %s" + msgstr "Earráid agus eolas faoin eochair á fháil: " +@@ -4484,102 +4564,102 @@ msgstr "Earráid agus eolas faoin eochair á fháil: " + #. 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. +-#: ncrypt/crypt_gpgme.c:5429 ++#: ncrypt/crypt_gpgme.c:5509 + #, fuzzy, c-format + msgid "PGP Key 0x%s" + msgstr "Eochair PGP %s" + +-#: ncrypt/crypt_gpgme.c:5474 ++#: ncrypt/crypt_gpgme.c:5554 + msgid "GPGME: OpenPGP protocol not available" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5485 ++#: ncrypt/crypt_gpgme.c:5565 + msgid "GPGME: CMS protocol not available" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5536 ++#: ncrypt/crypt_gpgme.c:5616 + #, fuzzy + msgid "S/MIME (s)ign, sign (a)s, (p)gp, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME (c)ript, (s)ínigh, sínigh (m)ar, (a)raon, (p)gp, nó (g)lan?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5538 ++#: ncrypt/crypt_gpgme.c:5618 + msgid "sapco" + msgstr "csmapg" + +-#: ncrypt/crypt_gpgme.c:5545 ++#: ncrypt/crypt_gpgme.c:5625 + #, fuzzy + msgid "PGP (s)ign, sign (a)s, s/(m)ime, (c)lear, or (o)ppenc mode off?" + msgstr "PGP (c)ript, (s)ínigh, sínigh (m)ar, (a)raon, s/m(i)me, nó (g)lan?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5547 ++#: ncrypt/crypt_gpgme.c:5627 + msgid "samco" + msgstr "csmaig" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5557 ++#: ncrypt/crypt_gpgme.c:5637 + #, fuzzy + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME (c)ript, (s)ínigh, sínigh (m)ar, (a)raon, (p)gp, nó (g)lan?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5560 ++#: ncrypt/crypt_gpgme.c:5640 + #, fuzzy + msgid "esabpco" + msgstr "csmapg" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5566 ++#: ncrypt/crypt_gpgme.c:5646 + #, fuzzy + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime, (c)lear, or (o)ppenc mode?" + msgstr "PGP (c)ript, (s)ínigh, sínigh (m)ar, (a)raon, s/m(i)me, nó (g)lan?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5569 ++#: ncrypt/crypt_gpgme.c:5649 + #, fuzzy + msgid "esabmco" + msgstr "csmaig" + +-#: ncrypt/crypt_gpgme.c:5580 ++#: ncrypt/crypt_gpgme.c:5660 + #, fuzzy + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp or (c)lear?" + msgstr "S/MIME (c)ript, (s)ínigh, sínigh (m)ar, (a)raon, (p)gp, nó (g)lan?" + + #. L10N: S/MIME options +-#: ncrypt/crypt_gpgme.c:5582 ++#: ncrypt/crypt_gpgme.c:5662 + #, fuzzy + msgid "esabpc" + msgstr "csmapg" + +-#: ncrypt/crypt_gpgme.c:5589 ++#: ncrypt/crypt_gpgme.c:5669 + #, fuzzy + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime or (c)lear?" + msgstr "PGP (c)ript, (s)ínigh, sínigh (m)ar, (a)raon, s/m(i)me, nó (g)lan?" + + #. L10N: PGP options +-#: ncrypt/crypt_gpgme.c:5591 ++#: ncrypt/crypt_gpgme.c:5671 + #, fuzzy + msgid "esabmc" + msgstr "csmaig" + +-#: ncrypt/crypt_gpgme.c:5751 ++#: ncrypt/crypt_gpgme.c:5831 + msgid "Failed to verify sender" + msgstr "Theip ar fhíorú an tseoltóra" + +-#: ncrypt/crypt_gpgme.c:5754 ++#: ncrypt/crypt_gpgme.c:5834 + msgid "Failed to figure out sender" + msgstr "Theip ar dhéanamh amach an tseoltóra" + +-#: ncrypt/pgp.c:108 ++#: ncrypt/pgp.c:107 + msgid "Enter PGP passphrase:" + msgstr "Iontráil frása faire PGP:" + +-#: ncrypt/pgp.c:595 ++#: ncrypt/pgp.c:594 + msgid "[-- Error: unable to create PGP subprocess --]\n" + msgstr "[-- Earráid: ní féidir fo-phróiseas PGP a chruthú --]\n" + +-#: ncrypt/pgp.c:644 ncrypt/pgp.c:926 ncrypt/pgp.c:1086 ++#: ncrypt/pgp.c:643 ncrypt/pgp.c:925 ncrypt/pgp.c:1085 + msgid "" + "[-- End of PGP output --]\n" + "\n" +@@ -4590,16 +4670,16 @@ msgstr "" + #. L10N: You will see this error message if (1) you are decrypting + #. (not encrypting) something and (2) it is a plaintext. So the + #. message does not mean "You failed to encrypt the message." +-#: ncrypt/pgp.c:724 ++#: ncrypt/pgp.c:723 + #, fuzzy + msgid "PGP message is not encrypted" + msgstr "D'éirigh le díchriptiú na teachtaireachta PGP" + +-#: ncrypt/pgp.c:978 ++#: ncrypt/pgp.c:977 + msgid "Internal error. Please submit a bug report." + msgstr "" + +-#: ncrypt/pgp.c:1043 ++#: ncrypt/pgp.c:1042 + msgid "" + "[-- Error: could not create a PGP subprocess --]\n" + "\n" +@@ -4607,132 +4687,132 @@ msgstr "" + "[-- Earráid: ní féidir fo-phróiseas PGP a chruthú --]\n" + "\n" + +-#: ncrypt/pgp.c:1073 ncrypt/pgp.c:1098 ncrypt/smime.c:2143 postpone.c:757 +-#: postpone.c:785 ++#: ncrypt/pgp.c:1072 ncrypt/pgp.c:1097 ncrypt/smime.c:2177 postpone.c:803 ++#: postpone.c:831 + msgid "Decryption failed" + msgstr "Theip ar dhíchriptiú" + +-#: ncrypt/pgp.c:1333 ++#: ncrypt/pgp.c:1334 + msgid "Can't open PGP subprocess" + msgstr "Ní féidir fo-phróiseas PGP a oscailt" + +-#: ncrypt/pgp.c:1768 ++#: ncrypt/pgp.c:1770 + msgid "Can't invoke PGP" + msgstr "Ní féidir PGP a thosú" + + #. L10N: The next string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1875 ++#: ncrypt/pgp.c:1877 + msgid "PGP/M(i)ME" + msgstr "PGP/M(i)ME" + + #. L10N: The previous string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1881 ++#: ncrypt/pgp.c:1883 + msgid "(i)nline" + msgstr "(i)nlíne" + + #. L10N: PGP options (inline) (opportunistic encryption is on) +-#: ncrypt/pgp.c:1893 ++#: ncrypt/pgp.c:1895 + #, fuzzy, c-format + msgid "PGP (s)ign, sign (a)s, %s format, (c)lear, or (o)ppenc mode off?" + msgstr "PGP (c)ript, (s)ínigh, sínigh (m)ar, (a)raon, %s, nó (n)á déan?" + + #. L10N: PGP options (inline) (opportunistic encryption is on) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1899 ++#: ncrypt/pgp.c:1901 + msgid "saico" + msgstr "csman" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1905 ++#: ncrypt/pgp.c:1907 + #, fuzzy + msgid "PGP (s)ign, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "PGP (c)ript, (s)ínigh, sínigh (m)ar, (a)raon, %s, nó (n)á déan?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1907 ++#: ncrypt/pgp.c:1909 + msgid "saco" + msgstr "csman" + + #. L10N: PGP options (inline) (opportunistic encryption is off) +-#: ncrypt/pgp.c:1921 ++#: ncrypt/pgp.c:1923 + #, fuzzy, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, (c)lear, or (o)ppenc mode?" + msgstr "PGP (c)ript, (s)ínigh, sínigh (m)ar, (a)raon, %s, nó (n)á déan?" + + #. L10N: PGP options (inline) (opportunistic encryption is off) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1927 ++#: ncrypt/pgp.c:1929 + #, fuzzy + msgid "esabico" + msgstr "csman" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1933 ++#: ncrypt/pgp.c:1935 + #, fuzzy + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "PGP (c)ript, (s)ínigh, sínigh (m)ar, (a)raon, %s, nó (n)á déan?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1936 ++#: ncrypt/pgp.c:1938 + #, fuzzy + msgid "esabco" + msgstr "csman" + + #. L10N: PGP options (inline) +-#: ncrypt/pgp.c:1947 ++#: ncrypt/pgp.c:1949 + #, fuzzy, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, or (c)lear?" + msgstr "PGP (c)ript, (s)ínigh, sínigh (m)ar, (a)raon, %s, nó (n)á déan?" + + #. L10N: PGP options (inline) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1953 ++#: ncrypt/pgp.c:1955 + #, fuzzy + msgid "esabic" + msgstr "csman" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1959 ++#: ncrypt/pgp.c:1961 + #, fuzzy + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (c)lear?" + msgstr "PGP (c)ript, (s)ínigh, sínigh (m)ar, (a)raon, %s, nó (n)á déan?" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1961 ++#: ncrypt/pgp.c:1963 + #, fuzzy + msgid "esabc" + msgstr "csman" + +-#: ncrypt/pgpinvoke.c:458 ++#: ncrypt/pgpinvoke.c:461 + msgid "Fetching PGP key..." + msgstr "Eochair PGP á fáil..." + +-#: ncrypt/pgpkey.c:640 ++#: ncrypt/pgpkey.c:643 + msgid "All matching keys are expired, revoked, or disabled" + msgstr "Tá gach eochair chomhoiriúnach as feidhm, cúlghairthe, nó díchumasaithe" + +-#: ncrypt/pgpkey.c:681 ++#: ncrypt/pgpkey.c:714 + #, c-format + msgid "PGP keys matching <%s>" + msgstr "Eochracha PGP atá comhoiriúnach le <%s>" + +-#: ncrypt/pgpkey.c:683 ++#: ncrypt/pgpkey.c:716 + #, c-format + msgid "PGP keys matching \"%s\"" + msgstr "Eochracha PGP atá comhoiriúnach le \"%s\"" + +-#: ncrypt/pgpkey.c:700 ncrypt/pgpkey.c:909 ++#: ncrypt/pgpkey.c:733 ncrypt/pgpkey.c:944 + msgid "Can't open /dev/null" + msgstr "Ní féidir /dev/null a oscailt" + +-#: ncrypt/pgpkey.c:938 ++#: ncrypt/pgpkey.c:973 + #, c-format + msgid "PGP Key %s" + msgstr "Eochair PGP %s" + +-#: ncrypt/smime.c:182 ++#: ncrypt/smime.c:180 + msgid "Enter S/MIME passphrase:" + msgstr "Iontráil frása faire S/MIME:" + +@@ -4741,7 +4821,7 @@ msgstr "Iontráil frása faire S/MIME:" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:460 ++#: ncrypt/smime.c:462 + msgid "Expired " + msgstr "As Feidhm " + +@@ -4750,7 +4830,7 @@ msgstr "As Feidhm " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:468 ++#: ncrypt/smime.c:470 + msgid "Invalid " + msgstr "Neamhbhailí " + +@@ -4759,7 +4839,7 @@ msgstr "Neamhbhailí " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:476 ++#: ncrypt/smime.c:478 + msgid "Revoked " + msgstr "Cúlghairthe " + +@@ -4768,7 +4848,7 @@ msgstr "Cúlghairthe " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:484 ++#: ncrypt/smime.c:486 + msgid "Trusted " + msgstr "Iontaofa " + +@@ -4777,7 +4857,7 @@ msgstr "Iontaofa " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:492 ++#: ncrypt/smime.c:494 + msgid "Unverified" + msgstr "Gan fíorú " + +@@ -4786,7 +4866,7 @@ msgstr "Gan fíorú " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:500 ++#: ncrypt/smime.c:502 + msgid "Verified " + msgstr "Fíoraithe " + +@@ -4795,60 +4875,60 @@ msgstr "Fíoraithe " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:508 ++#: ncrypt/smime.c:510 + msgid "Unknown " + msgstr "Anaithnid " + +-#: ncrypt/smime.c:545 ++#: ncrypt/smime.c:547 + #, c-format + msgid "S/MIME certificates matching \"%s\"" + msgstr "Teastais S/MIME atá comhoiriúnach le \"%s\"" + +-#: ncrypt/smime.c:589 ++#: ncrypt/smime.c:621 + #, fuzzy + msgid "ID is not trusted. Do you really want to use the key?" + msgstr "Níl an t-aitheantas bailí. An bhfuil tú cinnte gur mhaith leat an eochair seo a úsáid?" + +-#: ncrypt/smime.c:910 ++#: ncrypt/smime.c:944 + msgid "Enter keyID: " + msgstr "Iontráil aitheantas na heochrach: " + +-#: ncrypt/smime.c:1055 ++#: ncrypt/smime.c:1089 + #, c-format + msgid "No (valid) certificate found for %s" + msgstr "Níor aimsíodh aon teastas (bailí) do %s" + +-#: ncrypt/smime.c:1108 ncrypt/smime.c:1137 ncrypt/smime.c:1209 +-#: ncrypt/smime.c:1243 ncrypt/smime.c:1319 ncrypt/smime.c:1399 ++#: ncrypt/smime.c:1142 ncrypt/smime.c:1171 ncrypt/smime.c:1243 ++#: ncrypt/smime.c:1277 ncrypt/smime.c:1353 ncrypt/smime.c:1433 + msgid "Error: unable to create OpenSSL subprocess" + msgstr "Earráid: ní féidir fo-phróiseas OpenSSL a chruthú" + +-#: ncrypt/smime.c:1379 ++#: ncrypt/smime.c:1413 + #, fuzzy + msgid "Label for certificate: " + msgstr "Níorbh fhéidir an teastas a fháil ón gcomhghleacaí" + +-#: ncrypt/smime.c:1480 ++#: ncrypt/smime.c:1514 + msgid "no certfile" + msgstr "gan comhad teastais" + +-#: ncrypt/smime.c:1483 ++#: ncrypt/smime.c:1517 + msgid "no mbox" + msgstr "gan mbox" + +-#: ncrypt/smime.c:1640 ncrypt/smime.c:1810 ++#: ncrypt/smime.c:1674 ncrypt/smime.c:1844 + msgid "No output from OpenSSL..." + msgstr "Gan aschur ó OpenSSL..." + +-#: ncrypt/smime.c:1727 ++#: ncrypt/smime.c:1761 + msgid "Can't sign: No key specified. Use Sign As." + msgstr "Ní féidir é a shíniú: Níor sonraíodh eochair. Úsáid \"Sínigh Mar\"." + +-#: ncrypt/smime.c:1777 ++#: ncrypt/smime.c:1811 + msgid "Can't open OpenSSL subprocess" + msgstr "Ní féidir fo-phróiseas OpenSSL a oscailt" + +-#: ncrypt/smime.c:2004 ncrypt/smime.c:2123 ++#: ncrypt/smime.c:2038 ncrypt/smime.c:2157 + msgid "" + "[-- End of OpenSSL output --]\n" + "\n" +@@ -4856,19 +4936,19 @@ msgstr "" + "[-- Deireadh an aschuir OpenSSL --]\n" + "\n" + +-#: ncrypt/smime.c:2080 ncrypt/smime.c:2093 ++#: ncrypt/smime.c:2114 ncrypt/smime.c:2127 + msgid "[-- Error: unable to create OpenSSL subprocess --]\n" + msgstr "[-- Earráid: ní féidir fo-phróiseas OpenSSL a chruthú --]\n" + +-#: ncrypt/smime.c:2129 ++#: ncrypt/smime.c:2163 + msgid "[-- The following data is S/MIME encrypted --]\n" + msgstr "[-- Is criptithe mar S/MIME iad na sonraí seo a leanas --]\n" + +-#: ncrypt/smime.c:2132 ++#: ncrypt/smime.c:2166 + msgid "[-- The following data is S/MIME signed --]\n" + msgstr "[-- Is sínithe mar S/MIME iad na sonraí seo a leanas --]\n" + +-#: ncrypt/smime.c:2225 ++#: ncrypt/smime.c:2259 + msgid "" + "\n" + "[-- End of S/MIME encrypted data. --]\n" +@@ -4876,7 +4956,7 @@ msgstr "" + "\n" + "[-- Deireadh na sonraí criptithe mar S/MIME. --]\n" + +-#: ncrypt/smime.c:2227 ++#: ncrypt/smime.c:2261 + msgid "" + "\n" + "[-- End of S/MIME signed data. --]\n" +@@ -4885,169 +4965,169 @@ msgstr "" + "[-- Deireadh na sonraí sínithe mar S/MIME. --]\n" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2361 ++#: ncrypt/smime.c:2395 + #, fuzzy + msgid "S/MIME (s)ign, encrypt (w)ith, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME (c)riptigh, (s)ínigh, criptigh (l)e, sínigh (m)ar, (a)raon, (n)á déan?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2364 ++#: ncrypt/smime.c:2398 + msgid "swaco" + msgstr "cslman" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2372 ++#: ncrypt/smime.c:2406 + #, fuzzy + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME (c)riptigh, (s)ínigh, criptigh (l)e, sínigh (m)ar, (a)raon, (n)á déan?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2375 ++#: ncrypt/smime.c:2409 + #, fuzzy + msgid "eswabco" + msgstr "cslman" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2382 ++#: ncrypt/smime.c:2416 + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, or (c)lear?" + msgstr "S/MIME (c)riptigh, (s)ínigh, criptigh (l)e, sínigh (m)ar, (a)raon, (n)á déan?" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2385 ++#: ncrypt/smime.c:2419 + #, fuzzy + msgid "eswabc" + msgstr "cslman" + +-#: ncrypt/smime.c:2449 ++#: ncrypt/smime.c:2483 + msgid "Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear?" + msgstr "Roghnaigh clann algartaim: (1) DES, (2) RC2, (3) AES, or (g)lan?" + + #. L10N: Options for: Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear? +-#: ncrypt/smime.c:2452 ++#: ncrypt/smime.c:2486 + msgid "123c" + msgstr "123g" + +-#: ncrypt/smime.c:2455 ++#: ncrypt/smime.c:2489 + msgid "(1) DES, (2) Triple-DES?" + msgstr "(1) DES, (2) Triple-DES?" + + #. L10N: Options for: (1) DES, (2) Triple-DES +-#: ncrypt/smime.c:2457 ++#: ncrypt/smime.c:2491 + msgid "12" + msgstr "12" + +-#: ncrypt/smime.c:2470 ++#: ncrypt/smime.c:2504 + msgid "(1) RC2-40, (2) RC2-64, (3) RC2-128?" + msgstr "(1) RC2-40, (2) RC2-64, (3) RC2-128?" + + #. L10N: Options for: (1) RC2-40, (2) RC2-64, (3) RC2-128 + #. L10N: Options for: (1) AES128, (2) AES192, (3) AES256 +-#: ncrypt/smime.c:2472 ncrypt/smime.c:2490 ++#: ncrypt/smime.c:2506 ncrypt/smime.c:2524 + msgid "123" + msgstr "123" + +-#: ncrypt/smime.c:2488 ++#: ncrypt/smime.c:2522 + msgid "(1) AES128, (2) AES192, (3) AES256?" + msgstr "(1) AES128, (2) AES192, (3) AES256?" + +-#: nntp/newsrc.c:632 ++#: nntp/newsrc.c:639 + msgid "Loading list of groups from cache..." + msgstr "" + +-#: nntp/newsrc.c:997 ++#: nntp/newsrc.c:1023 + msgid "No news server defined" + msgstr "" + +-#: nntp/newsrc.c:1012 ++#: nntp/newsrc.c:1041 + #, fuzzy, c-format + msgid "%s is an invalid news server specification" + msgstr "%s: is conair POP neamhbhailí" + +-#: nntp/nntp.c:236 nntp/nntp.c:777 pop/pop.c:742 pop/pop_lib.c:398 ++#: nntp/nntp.c:238 nntp/nntp.c:779 pop/pop.c:742 pop/pop_lib.c:424 + msgid "Server closed connection" + msgstr "Dhún an freastalaí an nasc" + +-#: nntp/nntp.c:340 ++#: nntp/nntp.c:342 + msgid "Server doesn't support reader mode" + msgstr "" + +-#: nntp/nntp.c:576 pop/pop_auth.c:504 smtp.c:650 ++#: nntp/nntp.c:578 pop/pop_auth.c:505 smtp.c:675 + msgid "No authenticators available" + msgstr "Níl aon fhíordheimhneoirí ar fáil" + +-#: nntp/nntp.c:766 ++#: nntp/nntp.c:768 + #, fuzzy, c-format + msgid "%s authentication failed" + msgstr "Theip ar fhíordheimhniú SASL" + +-#: nntp/nntp.c:826 ++#: nntp/nntp.c:828 + #, fuzzy, c-format + msgid "Connection to %s lost. Reconnect?" + msgstr "Nasc le %s dúnta" + +-#: nntp/nntp.c:1285 ++#: nntp/nntp.c:1287 + #, fuzzy + msgid "Fetching list of articles..." + msgstr "Liosta teachtaireachtaí á fháil..." + +-#: nntp/nntp.c:1549 nntp/nntp.c:2138 pop/pop.c:614 pop/pop.c:910 ++#: nntp/nntp.c:1551 nntp/nntp.c:2140 pop/pop.c:614 pop/pop.c:905 + msgid "Checking for new messages..." + msgstr "Ag seiceáil do theachtaireachtaí nua..." + +-#: nntp/nntp.c:1864 nntp/nntp.c:1954 ++#: nntp/nntp.c:1866 nntp/nntp.c:1956 + #, fuzzy + msgid "Could not switch to reader mode" + msgstr "níorbh fhéidir fillteán poist shealadach a chruthú: %s" + +-#: nntp/nntp.c:1877 ++#: nntp/nntp.c:1879 + #, fuzzy, c-format + msgid "Connected to %s. %s" + msgstr "Ag dul i dteagmháil le %s..." + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + #, fuzzy + msgid "Posting is ok" + msgstr "Níl faic le déanamh" + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + msgid "Posting is NOT ok" + msgstr "" + +-#: nntp/nntp.c:2008 nntp/nntp.c:2043 ++#: nntp/nntp.c:2010 nntp/nntp.c:2045 + #, fuzzy, c-format + msgid "Can't post article: %s" + msgstr "ní féidir %s a 'stat': %s" + +-#: nntp/nntp.c:2064 ++#: nntp/nntp.c:2066 + #, fuzzy, c-format + msgid "Loading list of groups from server %s..." + msgstr "Teachtaireachtaí á scriosadh ón fhreastalaí..." + +-#: nntp/nntp.c:2106 nntp/nntp.c:2198 ++#: nntp/nntp.c:2108 nntp/nntp.c:2200 + #, fuzzy + msgid "Loading descriptions..." + msgstr "Logáil isteach..." + +-#: nntp/nntp.c:2128 ++#: nntp/nntp.c:2130 + #, fuzzy + msgid "Checking for new newsgroups..." + msgstr "Ag seiceáil do theachtaireachtaí nua..." + +-#: nntp/nntp.c:2332 ++#: nntp/nntp.c:2334 + msgid "Unable to find child articles because server does not support XPAT command" + msgstr "" + +-#: nntp/nntp.c:2437 ++#: nntp/nntp.c:2439 + #, fuzzy, c-format + msgid "%s is an invalid newsgroup specification" + msgstr "%s: is conair POP neamhbhailí" + +-#: nntp/nntp.c:2476 ++#: nntp/nntp.c:2478 + #, c-format + msgid "Newsgroup %s not found on the server" + msgstr "" + +-#: nntp/nntp.c:2498 ++#: nntp/nntp.c:2500 + #, c-format + msgid "Newsgroup %s has been removed from the server" + msgstr "" +@@ -5059,7 +5139,7 @@ msgstr "" + + #: notmuch/mutt_notmuch.c:219 notmuch/mutt_notmuch.c:1939 + #, c-format +-msgid "failed to parse notmuch uri: %s" ++msgid "failed to parse notmuch url: %s" + msgstr "" + + #: notmuch/mutt_notmuch.c:449 +@@ -6208,188 +6288,188 @@ msgstr "" + msgid "show S/MIME options" + msgstr "taispeáin roghanna S/MIME" + +-#: pager.c:222 ++#: pager.c:214 + msgid "Not available in this menu" + msgstr "Ní ar fáil sa roghchlár seo" + +-#: pager.c:229 ++#: pager.c:221 + msgid "PrevPg" + msgstr "Suas " + +-#: pager.c:230 ++#: pager.c:222 + msgid "NextPg" + msgstr "Síos " + +-#: pager.c:235 ++#: pager.c:227 + msgid "View Attachm." + msgstr "Iatáin" + +-#: pager.c:238 pager.c:247 ++#: pager.c:230 pager.c:239 + msgid "Next" + msgstr "Ar Aghaidh" + + #. L10N: Status bar message: the entire email is visible in the pager + #. L10N: Status bar message: all the emails are visible in the index +-#: pager.c:2180 status.c:278 ++#: pager.c:2136 status.c:278 + msgid "all" + msgstr "" + + #. L10N: Status bar message: the end of the email is visible in the pager + #. L10N: Status bar message: the end of the list emails is visible in the index +-#: pager.c:2182 status.c:276 ++#: pager.c:2138 status.c:276 + msgid "end" + msgstr "" + +-#: pager.c:2530 pager.c:2566 pager.c:2602 pager.c:2937 ++#: pager.c:2503 pager.c:2539 pager.c:2576 pager.c:2911 + msgid "Bottom of message is shown" + msgstr "Seo é bun na teachtaireachta" + +-#: pager.c:2543 pager.c:2573 pager.c:2580 pager.c:2590 ++#: pager.c:2516 pager.c:2546 pager.c:2553 pager.c:2564 + msgid "Top of message is shown" + msgstr "Seo é barr na teachtaireachta" + +-#: pager.c:2840 ++#: pager.c:2814 + msgid "Help is currently being shown" + msgstr "Cabhair á taispeáint faoi láthair" + +-#: pager.c:2897 ++#: pager.c:2871 + msgid "No more quoted text" + msgstr "Níl a thuilleadh téacs athfhriotail ann" + +-#: pager.c:2914 ++#: pager.c:2888 + msgid "No more unquoted text after quoted text" + msgstr "Níl a thuilleadh téacs gan athfhriotal tar éis téacs athfhriotail" + +-#: pattern.c:220 pattern.c:297 pattern.c:1046 ++#: pattern.c:221 pattern.c:298 pattern.c:1085 + #, c-format + msgid "Error in expression: %s" + msgstr "Earráid i slonn: %s" + +-#: pattern.c:226 pattern.c:302 pattern.c:1052 ++#: pattern.c:227 pattern.c:303 pattern.c:1091 + msgid "Empty expression" + msgstr "Slonn folamh" + +-#: pattern.c:288 ++#: pattern.c:289 + #, fuzzy + msgid "No search command defined" + msgstr "Níl aon ordú iarratais sainmhínithe" + +-#: pattern.c:326 ++#: pattern.c:327 + #, fuzzy, c-format + msgid "Running search command: %s ..." + msgstr "Ordú uathamhairc á rith: %s" + +-#: pattern.c:417 ++#: pattern.c:441 pattern.c:456 + #, c-format + msgid "Invalid day of month: %s" + msgstr "Lá neamhbhailí na míosa: %s" + +-#: pattern.c:431 ++#: pattern.c:446 pattern.c:470 + #, c-format + msgid "Invalid month: %s" + msgstr "Mí neamhbhailí: %s" + +-#: pattern.c:534 ++#: pattern.c:573 + #, c-format + msgid "Invalid relative date: %s" + msgstr "Dáta coibhneasta neamhbhailí: %s" + +-#: pattern.c:842 pattern.c:975 ++#: pattern.c:881 pattern.c:1014 + #, fuzzy + msgid "No current message" + msgstr "Níl aon teachtaireacht gan léamh" + +-#: pattern.c:1002 ++#: pattern.c:1041 + msgid "No Context" + msgstr "" + +-#: pattern.c:1125 ++#: pattern.c:1164 + #, fuzzy + msgid "Error opening 'memory stream'" + msgstr "Earráid ag oscailt an bhosca poist" + +-#: pattern.c:1171 ++#: pattern.c:1210 + #, fuzzy + msgid "Error re-opening 'memory stream'" + msgstr "Earráid ag oscailt an bhosca poist" + +-#: pattern.c:1180 ++#: pattern.c:1219 + #, fuzzy + msgid "Error opening /dev/null" + msgstr "Ní féidir /dev/null a oscailt" + +-#: pattern.c:1443 pattern.c:1620 ++#: pattern.c:1482 pattern.c:1662 + #, c-format + msgid "error in pattern at: %s" + msgstr "earráid i slonn ag: %s" + +-#: pattern.c:1476 ++#: pattern.c:1515 + #, fuzzy, c-format + msgid "missing pattern: %s" + msgstr "paraiméadar ar iarraidh" + +-#: pattern.c:1494 pattern.c:1593 ++#: pattern.c:1533 pattern.c:1635 + #, c-format + msgid "mismatched parentheses: %s" + msgstr "lúibín gan meaitseáil: %s" + +-#: pattern.c:1559 ++#: pattern.c:1598 + #, fuzzy, c-format + msgid "%c: invalid pattern modifier" + msgstr "%c: ordú neamhbhailí" + +-#: pattern.c:1564 ++#: pattern.c:1603 + #, c-format + msgid "%c: not supported in this mode" + msgstr "%c: níl sé ar fáil sa mhód seo" + +-#: pattern.c:1576 ++#: pattern.c:1618 + msgid "missing parameter" + msgstr "paraiméadar ar iarraidh" + +-#: pattern.c:1626 ++#: pattern.c:1668 + msgid "empty pattern" + msgstr "slonn folamh" + +-#: pattern.c:2080 pattern.c:2083 ++#: pattern.c:2202 pattern.c:2205 + msgid "error: server custom search only supported with IMAP" + msgstr "" + +-#: pattern.c:2274 ++#: pattern.c:2398 + #, c-format + msgid "error: unknown op %d (report this error)" + msgstr "earráid: op anaithnid %d (seol tuairisc fhabht)" + +-#: pattern.c:2448 pattern.c:2604 ++#: pattern.c:2572 pattern.c:2728 + msgid "Compiling search pattern..." + msgstr "Patrún cuardaigh á thiomsú..." + +-#: pattern.c:2468 ++#: pattern.c:2592 + msgid "Executing command on matching messages..." + msgstr "Ordú á rith ar theachtaireachtaí comhoiriúnacha..." + +-#: pattern.c:2537 ++#: pattern.c:2661 + msgid "No messages matched criteria" + msgstr "Ní raibh aon teachtaireacht chomhoiriúnach" + +-#: pattern.c:2641 ++#: pattern.c:2765 + #, fuzzy + msgid "Searching..." + msgstr "Á Shábháil..." + +-#: pattern.c:2655 ++#: pattern.c:2779 + msgid "Search hit bottom without finding match" + msgstr "Bhuail an cuardach an bun gan teaghrán comhoiriúnach" + +-#: pattern.c:2666 ++#: pattern.c:2790 + msgid "Search hit top without finding match" + msgstr "Bhuail an cuardach an barr gan teaghrán comhoiriúnach" + +-#: pattern.c:2700 ++#: pattern.c:2824 + msgid "Search interrupted" + msgstr "Idirbhriseadh an cuardach" + +-#: pop/pop.c:216 pop/pop_lib.c:234 ++#: pop/pop.c:216 pop/pop_lib.c:259 + msgid "Command TOP is not supported by server" + msgstr "Ní ghlacann an freastalaí leis an ordú TOP" + +@@ -6397,7 +6477,7 @@ msgstr "Ní ghlacann an freastalaí leis an ordú TOP" + msgid "Can't write header to temporary file" + msgstr "ní féidir ceanntásc a scríobh chuig comhad sealadach" + +-#: pop/pop.c:420 pop/pop_lib.c:236 ++#: pop/pop.c:420 pop/pop_lib.c:261 + msgid "Command UIDL is not supported by server" + msgstr "Ní ghlacann an freastalaí leis an ordú UIDL" + +@@ -6415,7 +6495,7 @@ msgstr[4] "Tá innéacs na dteachtaireachtaí mícheart. Bain triail as an mbosc + msgid "POP host is not defined" + msgstr "ní bhfuarthas an t-óstríomhaire POP" + +-#: pop/pop.c:596 pop/pop.c:825 ++#: pop/pop.c:596 pop/pop.c:790 pop/pop.c:820 + #, c-format + msgid "%s is an invalid POP path" + msgstr "%s: is conair POP neamhbhailí" +@@ -6454,128 +6534,128 @@ msgstr[2] "%s [léadh %d as %d teachtaireacht]" + msgstr[3] "%s [léadh %d as %d teachtaireacht]" + msgstr[4] "%s [léadh %d as %d teachtaireacht]" + +-#: pop/pop.c:876 ++#: pop/pop.c:871 + msgid "Fetching list of messages..." + msgstr "Liosta teachtaireachtaí á fháil..." + +-#: pop/pop.c:959 ++#: pop/pop.c:954 + #, fuzzy + msgid "Marking messages deleted..." + msgstr "Ag marcáil %d teachtaireacht mar scriosta..." + +-#: pop/pop.c:1150 ++#: pop/pop.c:1145 + msgid "Can't write message to temporary file" + msgstr "ní féidir teachtaireacht a scríobh i gcomhad sealadach" + +-#: pop/pop_auth.c:103 ++#: pop/pop_auth.c:104 + msgid "Authenticating (SASL)..." + msgstr "Á fhíordheimhniú (SASL)..." + +-#: pop/pop_auth.c:245 ++#: pop/pop_auth.c:246 + msgid "POP timestamp is invalid" + msgstr "" + +-#: pop/pop_auth.c:249 ++#: pop/pop_auth.c:250 + msgid "Authenticating (APOP)..." + msgstr "Á fhíordheimhniú (APOP)..." + +-#: pop/pop_auth.c:269 ++#: pop/pop_auth.c:270 + msgid "APOP authentication failed" + msgstr "Theip ar fhíordheimhniú APOP" + +-#: pop/pop_auth.c:309 ++#: pop/pop_auth.c:310 + msgid "Command USER is not supported by server" + msgstr "Ní ghlacann an freastalaí leis an ordú USER" + +-#: pop/pop_auth.c:386 ++#: pop/pop_auth.c:387 + #, fuzzy + msgid "Authentication failed" + msgstr "Theip ar fhíordheimhniú SASL" + +-#: pop/pop_lib.c:78 ++#: pop/pop_lib.c:103 + #, fuzzy, c-format + msgid "Invalid POP URL: %s" + msgstr "Neamhbhailí " + +-#: pop/pop_lib.c:232 ++#: pop/pop_lib.c:257 + msgid "Unable to leave messages on server" + msgstr "Ní féidir teachtaireachtaí a fhágáil ar an bhfreastalaí" + +-#: pop/pop_lib.c:274 ++#: pop/pop_lib.c:300 + #, c-format + msgid "Error connecting to server: %s" + msgstr "Earráid ag nascadh leis an bhfreastalaí: %s" + +-#: pop/pop_lib.c:414 ++#: pop/pop_lib.c:440 + msgid "Closing connection to POP server..." + msgstr "Nasc leis an bhfreastalaí POP á dhúnadh..." + +-#: pop/pop_lib.c:605 ++#: pop/pop_lib.c:631 + msgid "Verifying message indexes..." + msgstr "Innéacsanna na dteachtaireachtaí á bhfíorú..." + +-#: pop/pop_lib.c:628 ++#: pop/pop_lib.c:654 + msgid "Connection lost. Reconnect to POP server?" + msgstr "Cailleadh an nasc. Athnasc leis an bhfreastalaí POP?" + +-#: postpone.c:229 ++#: postpone.c:260 + msgid "Postponed Messages" + msgstr "Teachtaireachtaí Ar Athlá" + +-#: postpone.c:314 postpone.c:326 ++#: postpone.c:348 postpone.c:372 + msgid "No postponed messages" + msgstr "Níl aon teachtaireacht ar athlá" + +-#: postpone.c:480 ++#: postpone.c:526 + msgid "Illegal S/MIME header" + msgstr "Ceanntásc neamhcheadaithe S/MIME" + +-#: postpone.c:510 postpone.c:551 postpone.c:560 ++#: postpone.c:556 postpone.c:597 postpone.c:606 + msgid "Illegal crypto header" + msgstr "Ceanntásc neamhcheadaithe criptithe" + +-#: postpone.c:644 postpone.c:752 postpone.c:780 ++#: postpone.c:690 postpone.c:798 postpone.c:826 + msgid "Decrypting message..." + msgstr "Teachtaireacht á díchriptiú..." + +-#: query.c:82 ++#: query.c:80 + msgid "New Query" + msgstr "Iarratas Nua" + +-#: query.c:83 ++#: query.c:81 + msgid "Make Alias" + msgstr "Déan Ailias" + +-#: query.c:180 ++#: query.c:178 + msgid "Waiting for response..." + msgstr "Ag feitheamh le freagra..." + +-#: query.c:362 query.c:400 ++#: query.c:365 query.c:434 + msgid "Query: " + msgstr "Iarratas: " + +-#: query.c:370 query.c:407 ++#: query.c:374 query.c:442 + #, c-format + msgid "Query '%s'" + msgstr "Iarratas '%s'" + +-#: query.c:620 query.c:657 ++#: query.c:661 query.c:698 + msgid "Query command not defined" + msgstr "Níl aon ordú iarratais sainmhínithe" + +-#: recvattach.c:93 ++#: recvattach.c:91 + msgid "Pipe" + msgstr "Píopa" + +-#: recvattach.c:94 ++#: recvattach.c:92 + msgid "Print" + msgstr "Priontáil" + +-#: recvattach.c:569 ++#: recvattach.c:571 + msgid "Saving..." + msgstr "Á Shábháil..." + +-#: recvattach.c:573 recvattach.c:744 recvattach.c:748 ++#: recvattach.c:575 recvattach.c:746 recvattach.c:750 + #, fuzzy, c-format + msgid "Attachment saved" + msgid_plural "%d attachments saved" +@@ -6585,26 +6665,26 @@ msgstr[2] "Sábháladh an t-iatán" + msgstr[3] "Sábháladh an t-iatán" + msgstr[4] "Sábháladh an t-iatán" + +-#: recvattach.c:772 ++#: recvattach.c:774 + #, c-format + msgid "WARNING! You are about to overwrite %s, continue?" + msgstr "RABHADH! Tá tú ar tí %s a fhorscríobh, lean ar aghaidh?" + +-#: recvattach.c:790 ++#: recvattach.c:792 + msgid "Attachment filtered" + msgstr "Scagadh an t-iatán" + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Filter through: " + msgstr "Scagaire: " + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Pipe to: " + msgstr "Píopa go: " + + #. L10N: s gets replaced by a MIME type, e.g. "text/plain" or + #. application/octet-stream. +-#: recvattach.c:935 ++#: recvattach.c:937 + #, fuzzy, c-format + msgid "I don't know how to print %s attachments" + msgstr "Ní eol dom conas a phriontáil iatáin %s" +@@ -6612,7 +6692,7 @@ msgstr "Ní eol dom conas a phriontáil iatáin %s" + #. L10N: Although we now the precise number of tagged messages, we + #. do not show it to the user. So feel free to use a "generic + #. plural" as plural translation if your language has one. +-#: recvattach.c:1038 ++#: recvattach.c:1040 + #, fuzzy, c-format + msgid "Print tagged attachment?" + msgid_plural "Print %d tagged attachments?" +@@ -6622,50 +6702,50 @@ msgstr[2] "Priontáil iatá(i)n c(h)libeáilte?" + msgstr[3] "Priontáil iatá(i)n c(h)libeáilte?" + msgstr[4] "Priontáil iatá(i)n c(h)libeáilte?" + +-#: recvattach.c:1039 ++#: recvattach.c:1041 + #, c-format + msgid "Print attachment?" + msgstr "Priontáil iatán?" + +-#: recvattach.c:1123 ++#: recvattach.c:1125 + msgid "Structural changes to decrypted attachments are not supported" + msgstr "" + +-#: recvattach.c:1291 ++#: recvattach.c:1293 + msgid "Can't decrypt encrypted message" + msgstr "Ní féidir teachtaireacht chriptithe a dhíchriptiú" + +-#: recvattach.c:1425 ++#: recvattach.c:1457 + msgid "Attachments" + msgstr "Iatáin" + +-#: recvattach.c:1465 ++#: recvattach.c:1497 + msgid "There are no subparts to show" + msgstr "Níl aon fopháirt le taispeáint" + +-#: recvattach.c:1520 ++#: recvattach.c:1552 + msgid "Can't delete attachment from POP server" + msgstr "Ní féidir an t-iatán a scriosadh ón fhreastalaí POP" + +-#: recvattach.c:1529 ++#: recvattach.c:1561 + #, fuzzy + msgid "Can't delete attachment from news server" + msgstr "Ní féidir an t-iatán a scriosadh ón fhreastalaí POP" + +-#: recvattach.c:1536 ++#: recvattach.c:1568 + msgid "Deletion of attachments from encrypted messages is unsupported" + msgstr "Ní cheadaítear iatáin a bheith scriosta ó theachtaireachtaí criptithe" + +-#: recvattach.c:1542 ++#: recvattach.c:1574 + #, fuzzy + msgid "Deletion of attachments from signed messages may invalidate the signature" + msgstr "Ní cheadaítear iatáin a bheith scriosta ó theachtaireachtaí criptithe" + +-#: recvattach.c:1561 recvattach.c:1578 ++#: recvattach.c:1593 recvattach.c:1610 + msgid "Only deletion of multipart attachments is supported" + msgstr "Ní cheadaítear ach iatáin ilpháirt a bheith scriosta" + +-#: recvcmd.c:79 ++#: recvcmd.c:78 + msgid "You may only bounce message/rfc822 parts" + msgstr "Ní cheadaítear ach páirteanna message/rfc822 a scinneadh" + +@@ -6705,7 +6785,7 @@ msgstr "Ní féidir %s a chruthú" + msgid "Can't find any tagged messages" + msgstr "Ní féidir aon teachtaireacht chlibeáilte a aimsiú" + +-#: recvcmd.c:848 send.c:1073 ++#: recvcmd.c:848 send.c:1072 + msgid "No mailing lists found" + msgstr "Níor aimsíodh aon liosta postála" + +@@ -6720,67 +6800,67 @@ msgstr "Ní féidir gach iatán clibeáilte a dhíchódú. Cuach na cinn eile m + msgid "You may only compose to sender with message/rfc822 parts" + msgstr "Ní cheadaítear ach páirteanna message/rfc822 a scinneadh" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Append" + msgstr "Iarcheangail" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Insert" + msgstr "Ionsáigh" + +-#: remailer.c:78 ++#: remailer.c:76 + msgid "OK" + msgstr "OK" + +-#: remailer.c:210 ++#: remailer.c:207 + msgid "" + msgstr "" + +-#: remailer.c:586 ++#: remailer.c:617 + msgid "Can't get mixmaster's type2.list" + msgstr "Ní féidir type2.list ag mixmaster a fháil" + +-#: remailer.c:612 ++#: remailer.c:673 + msgid "Select a remailer chain" + msgstr "Roghnaigh slabhra athphostóirí" + +-#: remailer.c:674 ++#: remailer.c:735 + #, c-format + msgid "Error: %s can't be used as the final remailer of a chain" + msgstr "Earráid: ní féidir %s a úsáid mar an t-athphostóir deiridh i slabhra" + + #. L10N The '%d' here hard-coded to 19 +-#: remailer.c:706 ++#: remailer.c:767 + #, c-format + msgid "Mixmaster chains are limited to %d elements" + msgstr "Ní cheadaítear ach %d ball i slabhra \"mixmaster\"" + +-#: remailer.c:729 ++#: remailer.c:790 + msgid "The remailer chain is already empty" + msgstr "Tá an slabhra athphostóirí folamh cheana féin" + +-#: remailer.c:739 ++#: remailer.c:800 + msgid "You already have the first chain element selected" + msgstr "Tá an chéad bhall slabhra roghnaithe agat cheana" + +-#: remailer.c:749 ++#: remailer.c:810 + msgid "You already have the last chain element selected" + msgstr "Tá ball deiridh an slabhra roghnaithe agat cheana" + +-#: remailer.c:792 ++#: remailer.c:856 + msgid "Mixmaster doesn't accept Cc or Bcc headers" + msgstr "Ní ghlacann \"mixmaster\" le ceanntásca Cc nó Bcc" + +-#: remailer.c:817 ++#: remailer.c:881 + msgid "Please set the hostname variable to a proper value when using mixmaster" + msgstr "Socraigh an athróg óstainm go cuí le do thoil le linn úsáid \"mixmaster\"" + +-#: remailer.c:860 ++#: remailer.c:924 + #, c-format + msgid "Error sending message, child exited %d.\n" + msgstr "Earráid agus teachtaireacht á seoladh, scoir an macphróiseas le stádas %d.\n" + +-#: remailer.c:864 ++#: remailer.c:928 + msgid "Error sending message" + msgstr "Earráid agus teachtaireacht á seoladh" + +@@ -6811,42 +6891,42 @@ msgstr "Seol iad ar aghaidh mar iatáin?" + + #. L10N: Asks whether the user respects the reply-to header. + #. If she says no, neomutt will reply to the from header's address instead. +-#: send.c:793 ++#: send.c:792 + #, c-format + msgid "Reply to %s%s?" + msgstr "Tabhair freagra ar %s%s?" + +-#: send.c:838 ++#: send.c:837 + #, c-format + msgid "Follow-up to %s%s?" + msgstr "Teachtaireacht leantach go %s%s?" + +-#: send.c:1122 ++#: send.c:1121 + msgid "Include message in reply?" + msgstr "Cuir an teachtaireacht isteach sa fhreagra?" + +-#: send.c:1128 ++#: send.c:1127 + msgid "Including quoted message..." + msgstr "Teachtaireacht athfhriotail san áireamh..." + +-#: send.c:1137 ++#: send.c:1136 + msgid "Could not include all requested messages" + msgstr "Níorbh fhéidir gach teachtaireacht iarrtha a chur sa fhreagra" + +-#: send.c:1148 ++#: send.c:1147 + msgid "Forward as attachment?" + msgstr "Seol é ar aghaidh mar iatán?" + +-#: send.c:1153 ++#: send.c:1152 + msgid "Preparing forwarded message..." + msgstr "Teachtaireacht curtha ar aghaidh á hullmhú..." + +-#: send.c:1632 ++#: send.c:1631 + #, fuzzy + msgid "Fcc to an IMAP mailbox is not supported in batch mode" + msgstr "%c: níl sé ar fáil sa mhód seo" + +-#: send.c:1664 send.c:1690 ++#: send.c:1665 send.c:1675 send.c:1701 + #, fuzzy + msgid "Save attachments in Fcc?" + msgstr "féach ar an iatán mar théacs" +@@ -6855,196 +6935,196 @@ msgstr "féach ar an iatán mar théacs" + #. (r)etry tries the same mailbox again. + #. alternate (m)ailbox prompts for a different mailbox to try. + #. (s)kip aborts saving. +-#: send.c:1712 ++#: send.c:1723 + msgid "Fcc failed. (r)etry, alternate (m)ailbox, or (s)kip?" + msgstr "" + + #. L10N: These correspond to the "Fcc failed" multi-choice prompt + #. (r)etry, alternate (m)ailbox, or (s)kip. + #. Any similarity to famous leaders of the FSF is coincidental. +-#: send.c:1716 ++#: send.c:1727 + msgid "rms" + msgstr "" + + #. L10N: This is the prompt to enter an "alternate (m)ailbox" when the + #. initial Fcc fails. +-#: send.c:1722 ++#: send.c:1733 + #, fuzzy + msgid "Fcc mailbox" + msgstr "Níl aon bhosca poist.\n" + +-#: send.c:1788 ++#: send.c:1799 + msgid "Can't postpone. $postponed is unset" + msgstr "" + +-#: send.c:1923 ++#: send.c:1934 + msgid "Recall postponed message?" + msgstr "Athghlaoigh teachtaireacht a bhí curtha ar athlá?" + +-#: send.c:2228 ++#: send.c:2239 + msgid "Edit forwarded message?" + msgstr "Cuir teachtaireacht in eagar roimh é a chur ar aghaidh?" + +-#: send.c:2266 ++#: send.c:2277 + msgid "Abort unmodified message?" + msgstr "Tobscoir an teachtaireacht seo (gan athrú)?" + +-#: send.c:2268 ++#: send.c:2279 + msgid "Aborted unmodified message" + msgstr "Tobscoireadh teachtaireacht gan athrú" + +-#: send.c:2388 ++#: send.c:2399 + msgid "No crypto backend configured. Disabling message security setting." + msgstr "" + +-#: send.c:2427 ++#: send.c:2438 + #, fuzzy + msgid "Article not posted" + msgstr "Níor seoladh an post" + +-#: send.c:2437 ++#: send.c:2448 + msgid "Message postponed" + msgstr "Cuireadh an teachtaireacht ar athlá" + +-#: send.c:2470 ++#: send.c:2481 + msgid "No subject, abort sending?" + msgstr "Níor sonraíodh aon ábhar, tobscoir?" + +-#: send.c:2474 send.c:2480 ++#: send.c:2485 send.c:2491 + msgid "No subject specified" + msgstr "Níor sonraíodh aon ábhar" + +-#: send.c:2486 ++#: send.c:2497 + #, fuzzy + msgid "No newsgroup specified" + msgstr "Níor sonraíodh aon ábhar" + +-#: send.c:2496 ++#: send.c:2507 + #, fuzzy + msgid "No attachments, cancel sending?" + msgstr "cuir transfer-encoding an iatáin in eagar" + +-#: send.c:2501 ++#: send.c:2512 + msgid "Message contains text matching \"$abort_noattach_regex\". Not sending." + msgstr "" + +-#: send.c:2559 smtp.c:227 ++#: send.c:2570 smtp.c:230 + msgid "Sending message..." + msgstr "Teachtaireacht á seoladh..." + +-#: send.c:2598 ++#: send.c:2609 + msgid "Could not send the message" + msgstr "Níorbh fhéidir an teachtaireacht a sheoladh" + +-#: send.c:2608 ++#: send.c:2619 + msgid "Sending in background" + msgstr "Á seoladh sa chúlra" + +-#: send.c:2609 ++#: send.c:2620 + msgid "Article posted" + msgstr "" + +-#: send.c:2610 ++#: send.c:2621 + msgid "Mail sent" + msgstr "Seoladh an teachtaireacht" + +-#: sendlib.c:567 ++#: sendlib.c:566 + msgid "No boundary parameter found [report this error]" + msgstr "Níor aimsíodh paraiméadar teorann [seol tuairisc fhabht]" + +-#: sendlib.c:598 ++#: sendlib.c:597 + #, c-format + msgid "%s no longer exists" + msgstr "Níl %s ann níos mó" + +-#: sendlib.c:1056 ++#: sendlib.c:1055 + #, c-format + msgid "%s isn't a regular file" + msgstr "Ní gnáthchomhad %s" + +-#: sendlib.c:1223 ++#: sendlib.c:1222 + #, fuzzy + msgid "Could not find any mime.types file." + msgstr "Níorbh fhéidir an teachtaireacht a sheoladh." + +-#: sendlib.c:1314 ++#: sendlib.c:1313 + #, c-format + msgid "Could not open %s" + msgstr "Níorbh fhéidir %s a oscailt" + +-#: sendlib.c:2864 ++#: sendlib.c:2855 + msgid "$sendmail must be set in order to send mail" + msgstr "" + +-#: sendlib.c:2971 ++#: sendlib.c:2962 + #, c-format + msgid "Error sending message, child exited %d (%s)" + msgstr "Earráid agus teachtaireacht á seoladh, scoir an macphróiseas le stádas %d (%s)" + +-#: sendlib.c:2977 ++#: sendlib.c:2969 + msgid "Output of the delivery process" + msgstr "Aschur an phróisis seolta" + +-#: sendlib.c:3157 ++#: sendlib.c:3154 + #, c-format + msgid "Bad IDN %s while preparing resent-from" + msgstr "DrochIDN %s agus resent-from á ullmhú" + +-#: smtp.c:165 ++#: smtp.c:168 + #, fuzzy, c-format + msgid "SMTP session failed: %s" + msgstr "Theip ar athainmniú: %s" + +-#: smtp.c:222 ++#: smtp.c:225 + #, fuzzy, c-format + msgid "SMTP session failed: unable to open %s" + msgstr "Theip ar athainmniú: %s" + +-#: smtp.c:339 ++#: smtp.c:364 + #, fuzzy, c-format + msgid "Invalid SMTP URL: %s" + msgstr "Neamhbhailí " + +-#: smtp.c:618 ++#: smtp.c:643 + #, c-format + msgid "SMTP authentication method %s requires SASL" + msgstr "" + +-#: smtp.c:625 ++#: smtp.c:650 + #, fuzzy, c-format + msgid "%s authentication failed, trying next method" + msgstr "Theip ar fhíordheimhniú SASL." + +-#: smtp.c:636 ++#: smtp.c:661 + #, fuzzy + msgid "SMTP authentication requires SASL" + msgstr "Theip ar fhíordheimhniú GSSAPI" + +-#: smtp.c:717 ++#: smtp.c:742 + msgid "SMTP server does not support authentication" + msgstr "" + +-#: smtp.c:756 ++#: smtp.c:781 + msgid "No from address given" + msgstr "" + +-#: smtp.c:821 ++#: smtp.c:846 + msgid "SMTP session failed: read error" + msgstr "" + +-#: smtp.c:823 ++#: smtp.c:848 + msgid "SMTP session failed: write error" + msgstr "" + +-#: smtp.c:825 ++#: smtp.c:850 + msgid "Invalid server response" + msgstr "" + +-#: sort.c:385 ++#: sort.c:387 + msgid "Sorting mailbox..." + msgstr "Bosca poist á shórtáil..." + +-#: sort.c:427 ++#: sort.c:429 + msgid "Could not find sorting function [report this bug]" + msgstr "Níorbh fhéidir feidhm shórtála a aimsiú [seol tuairisc fhabht]" + +@@ -7113,11 +7193,11 @@ msgstr "" + "a athdháileadh, agus fáilte, ach de réir coinníollacha áirithe.\n" + "Iontráil 'neomutt -vv' chun tuilleadh eolais a fháil.\n" + +-#: version.c:446 ++#: version.c:451 + #, fuzzy + msgid "Default options:" + msgstr "Roghanna tiomsaithe:" + +-#: version.c:449 ++#: version.c:454 + msgid "Compile options:" + msgstr "Roghanna tiomsaithe:" +diff --git a/po/gl.po b/po/gl.po +index 4d9a80244..5a85442d1 100644 +--- a/po/gl.po ++++ b/po/gl.po +@@ -9,7 +9,7 @@ msgid "" + msgstr "" + "Project-Id-Version: neomutt-2019-12-07\n" + "Report-Msgid-Bugs-To: neomutt-devel@neomutt.org\n" +-"POT-Creation-Date: 2019-12-06 23:10+0000\n" ++"POT-Creation-Date: 2020-03-09 12:15+0000\n" + "PO-Revision-Date: 2001-04-22 22:05+0200\n" + "Last-Translator: Roberto Suarez Soto \n" + "Language-Team: Galician \n" +@@ -19,16 +19,44 @@ msgstr "" + "Content-Transfer-Encoding: 8bit\n" + "Plural-Forms: nplurals=2; plural=(n != 1);\n" + +-#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:59 browser.c:80 browser.c:90 +-#: mutt_history.c:45 pager.c:228 postpone.c:68 query.c:80 recvattach.c:93 ++#, fuzzy ++msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" ++msgstr "(r)exeitar, aceptar (e)sta vez, (a)ceptar sempre" ++ ++#, fuzzy ++msgid "roas" ++msgstr "rea" ++ ++msgid "(r)eject, accept (o)nce, (a)ccept always" ++msgstr "(r)exeitar, aceptar (e)sta vez, (a)ceptar sempre" ++ ++msgid "roa" ++msgstr "rea" ++ ++#, fuzzy ++msgid "(r)eject, accept (o)nce, (s)kip" ++msgstr "(r)exeitar, aceptar (e)sta vez" ++ ++#, fuzzy ++msgid "ros" ++msgstr "re" ++ ++msgid "(r)eject, accept (o)nce" ++msgstr "(r)exeitar, aceptar (e)sta vez" ++ ++msgid "ro" ++msgstr "re" ++ ++#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:58 browser.c:79 browser.c:89 ++#: mutt_history.c:45 pager.c:220 postpone.c:68 query.c:78 recvattach.c:91 + msgid "Exit" + msgstr "Saír" + +-#: addrbook.c:56 index.c:116 index.c:129 pager.c:236 pager.c:246 postpone.c:69 ++#: addrbook.c:56 index.c:112 index.c:125 pager.c:228 pager.c:238 postpone.c:69 + msgid "Del" + msgstr "Borrar" + +-#: addrbook.c:57 index.c:117 index.c:130 postpone.c:70 ++#: addrbook.c:57 index.c:113 index.c:126 postpone.c:70 + msgid "Undel" + msgstr "Recuperar" + +@@ -36,18 +64,18 @@ msgstr "Recuperar" + msgid "Select" + msgstr "Seleccionar" + +-#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:82 browser.c:84 browser.c:96 +-#: compose.c:218 compose.c:230 conn/ssl.c:983 conn/ssl_gnutls.c:691 index.c:122 +-#: index.c:135 mutt_history.c:48 ncrypt/crypt_gpgme.c:4735 ncrypt/pgpkey.c:670 +-#: ncrypt/smime.c:553 pager.c:2326 postpone.c:71 query.c:85 recvattach.c:94 ++#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:81 browser.c:83 browser.c:95 ++#: compose.c:216 compose.c:228 conn/ssl.c:996 conn/ssl_gnutls.c:722 index.c:118 ++#: index.c:131 mutt_history.c:48 ncrypt/crypt_gpgme.c:4783 ncrypt/pgpkey.c:673 ++#: ncrypt/smime.c:555 pager.c:2297 postpone.c:71 query.c:83 recvattach.c:92 + msgid "Help" + msgstr "Axuda" + +-#: addrbook.c:208 ++#: addrbook.c:238 + msgid "You have no aliases" + msgstr "¡Non tés aliases definidas" + +-#: addrbook.c:215 ++#: addrbook.c:276 + msgid "Aliases" + msgstr "Aliases" + +@@ -56,53 +84,53 @@ msgstr "Aliases" + msgid "Alias as: " + msgstr "Alias como: " + +-#: alias.c:411 ++#: alias.c:414 + msgid "You already have an alias defined with that name" + msgstr "¡Xa tés un alias definido con ese nome" + +-#: alias.c:417 ++#: alias.c:420 + msgid "Warning: This alias name may not work. Fix it?" + msgstr "" + +-#: alias.c:442 ++#: alias.c:445 + msgid "Address: " + msgstr "Enderezo: " + +-#: alias.c:453 commands.c:444 compose.c:744 conn/conn_raw.c:152 +-#: conn/conn_raw.c:210 recvcmd.c:232 send.c:228 ++#: alias.c:457 commands.c:450 compose.c:743 conn/conn_raw.c:152 ++#: conn/conn_raw.c:210 recvcmd.c:231 send.c:227 + #, c-format + msgid "Bad IDN: '%s'" + msgstr "" + +-#: alias.c:464 ++#: alias.c:468 + msgid "Personal name: " + msgstr "Nome persoal: " + +-#: alias.c:473 ++#: alias.c:477 + #, c-format + msgid "[%s = %s] Accept?" + msgstr "[%s = %s] ¿Aceptar?" + +-#: alias.c:484 recvattach.c:528 recvattach.c:550 recvattach.c:564 +-#: recvattach.c:579 recvattach.c:678 ++#: alias.c:488 recvattach.c:530 recvattach.c:552 recvattach.c:566 ++#: recvattach.c:581 recvattach.c:680 + msgid "Save to file: " + msgstr "Gardar a ficheiro: " + +-#: alias.c:503 ++#: alias.c:507 + #, fuzzy + msgid "Error reading alias file" + msgstr "¡Erro lendo mensaxe!" + +-#: alias.c:525 ++#: alias.c:529 + #, fuzzy + msgid "Trouble adding alias" + msgstr "¡Erro lendo mensaxe!" + +-#: alias.c:527 ++#: alias.c:531 + msgid "Alias added" + msgstr "Alias engadido" + +-#: alias.c:532 ++#: alias.c:536 + #, fuzzy + msgid "Error seeking in alias file" + msgstr "Erro intentando ver ficheiro" +@@ -112,7 +140,7 @@ msgstr "Erro intentando ver ficheiro" + #. for some reason (e.g. autocrypt, header cache, bcache), but it + #. doesn't exist. The prompt is asking whether to create the directory + #. +-#: autocrypt/autocrypt.c:70 main.c:826 ++#: autocrypt/autocrypt.c:70 main.c:757 + #, c-format + msgid "%s does not exist. Create it?" + msgstr "%s non existe. ¿Desexa crealo?" +@@ -121,8 +149,8 @@ msgstr "%s non existe. ¿Desexa crealo?" + #. mkdir() on the directory %s failed. The second %s is the + #. error message returned by libc + #. +-#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:830 +-#: nntp/newsrc.c:1069 ++#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:761 ++#: nntp/newsrc.c:1098 + #, c-format + msgid "Can't create %s: %s" + msgstr "Non foi posible crear %s: %s" +@@ -132,7 +160,7 @@ msgstr "Non foi posible crear %s: %s" + #. create $autocrypt_dir and then prompt to create an autocrypt + #. account with this message. + #. +-#: autocrypt/autocrypt.c:156 ++#: autocrypt/autocrypt.c:163 + msgid "Create an initial autocrypt account?" + msgstr "" + +@@ -141,7 +169,7 @@ msgstr "" + #. autocrypt account. This will generate a key and add a record + #. to the database for use in autocrypt operations. + #. +-#: autocrypt/autocrypt.c:180 ++#: autocrypt/autocrypt.c:187 + msgid "Autocrypt account address: " + msgstr "" + +@@ -150,7 +178,7 @@ msgstr "" + #. a single address. This is shown if they entered something invalid, + #. nothing, or more than one address for some reason. + #. +-#: autocrypt/autocrypt.c:191 ++#: autocrypt/autocrypt.c:198 + msgid "Please enter a single email address" + msgstr "" + +@@ -159,7 +187,7 @@ msgstr "" + #. if there is already an account in the database with the email address + #. they just entered. + #. +-#: autocrypt/autocrypt.c:208 ++#: autocrypt/autocrypt.c:215 + msgid "That email address already has an autocrypt account" + msgstr "" + +@@ -171,7 +199,7 @@ msgstr "" + #. Otherwise the UI will show encryption is "available" but the user + #. will be required to enable encryption manually. + #. +-#: autocrypt/autocrypt.c:223 ++#: autocrypt/autocrypt.c:230 + #, fuzzy + msgid "Prefer encryption?" + msgstr "Encriptar" +@@ -179,7 +207,7 @@ msgstr "Encriptar" + #. L10N: + #. Message displayed after an autocrypt account is successfully created. + #. +-#: autocrypt/autocrypt.c:236 ++#: autocrypt/autocrypt.c:243 + msgid "Autocrypt account creation succeeded" + msgstr "" + +@@ -187,7 +215,7 @@ msgstr "" + #. Error message displayed if creating an autocrypt account failed + #. or was aborted by the user. + #. +-#: autocrypt/autocrypt.c:242 ++#: autocrypt/autocrypt.c:249 + msgid "Autocrypt account creation aborted" + msgstr "" + +@@ -196,7 +224,7 @@ msgstr "" + #. to use to encrypt, but it can't find a valid keyid for this address. + #. The message is printed and they are returned to the compose menu. + #. +-#: autocrypt/autocrypt.c:610 autocrypt/autocrypt.c:639 ++#: autocrypt/autocrypt.c:617 autocrypt/autocrypt.c:646 + #, c-format + msgid "No (valid) autocrypt key found for %s" + msgstr "" +@@ -208,12 +236,12 @@ msgstr "" + #. and used for encryption. + #. If this is answered yes, they will be prompted for a mailbox. + #. +-#: autocrypt/autocrypt.c:903 ++#: autocrypt/autocrypt.c:910 + msgid "Scan a mailbox for autocrypt headers?" + msgstr "" + + #. L10N: The prompt for a mailbox to scan for Autocrypt: headers +-#: autocrypt/autocrypt.c:907 ++#: autocrypt/autocrypt.c:914 + #, fuzzy + msgid "Scan mailbox" + msgstr "Non hai buzón.\n" +@@ -225,14 +253,14 @@ msgstr "Non hai buzón.\n" + #. for a mailbox. This is because this is a one-time operation + #. and I don't want them to accidentally ctrl-g and abort it. + #. +-#: autocrypt/autocrypt.c:927 ++#: autocrypt/autocrypt.c:934 + msgid "Scan another mailbox for autocrypt headers?" + msgstr "" + + #. L10N: Autocrypt Account Menu Help line: + #. create new account + #. +-#: autocrypt/autocrypt_acct_menu.c:63 ++#: autocrypt/autocrypt_acct_menu.c:62 + #, fuzzy + msgid "Create" + msgstr "¿Crear %s?" +@@ -240,7 +268,7 @@ msgstr "¿Crear %s?" + #. L10N: Autocrypt Account Menu Help line: + #. delete account + #. +-#: autocrypt/autocrypt_acct_menu.c:67 remailer.c:77 ++#: autocrypt/autocrypt_acct_menu.c:66 remailer.c:75 + msgid "Delete" + msgstr "Borrar" + +@@ -248,9 +276,9 @@ msgstr "Borrar" + #. toggle an account active/inactive + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:74 ++#: autocrypt/autocrypt_acct_menu.c:73 + msgid "Tgl Active" + msgstr "" + +@@ -258,17 +286,17 @@ msgstr "" + #. toggle "prefer-encrypt" on an account + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:81 +-msgid "Prf Enc" ++#: autocrypt/autocrypt_acct_menu.c:80 ++msgid "Prf Encr" + msgstr "" + + #. L10N: + #. Autocrypt Account menu. + #. flag that an account has prefer-encrypt set + #. +-#: autocrypt/autocrypt_acct_menu.c:123 ++#: autocrypt/autocrypt_acct_menu.c:122 + msgid "prefer encrypt" + msgstr "" + +@@ -277,7 +305,7 @@ msgstr "" + #. flag that an account has prefer-encrypt unset; + #. thus encryption will need to be manually enabled. + #. +-#: autocrypt/autocrypt_acct_menu.c:130 ++#: autocrypt/autocrypt_acct_menu.c:129 + msgid "manual encrypt" + msgstr "" + +@@ -285,7 +313,7 @@ msgstr "" + #. Autocrypt Account menu. + #. flag that an account is enabled/active + #. +-#: autocrypt/autocrypt_acct_menu.c:138 ++#: autocrypt/autocrypt_acct_menu.c:137 + msgid "active" + msgstr "" + +@@ -293,12 +321,12 @@ msgstr "" + #. Autocrypt Account menu. + #. flag that an account is disabled/inactive + #. +-#: autocrypt/autocrypt_acct_menu.c:144 ++#: autocrypt/autocrypt_acct_menu.c:143 + msgid "inactive" + msgstr "" + + #. L10N: Autocrypt Account Management Menu title +-#: autocrypt/autocrypt_acct_menu.c:183 ++#: autocrypt/autocrypt_acct_menu.c:182 + msgid "Autocrypt Accounts" + msgstr "" + +@@ -306,13 +334,13 @@ msgstr "" + #. This error message is displayed if a database update of an + #. account record fails for some odd reason. + #. +-#: autocrypt/autocrypt_acct_menu.c:245 autocrypt/autocrypt_acct_menu.c:259 ++#: autocrypt/autocrypt_acct_menu.c:244 autocrypt/autocrypt_acct_menu.c:258 + #, fuzzy + msgid "Error updating account record" + msgstr "Erro lendo directorio" + + #. L10N: Confirmation message when deleting an autocrypt account +-#: autocrypt/autocrypt_acct_menu.c:302 ++#: autocrypt/autocrypt_acct_menu.c:333 + #, fuzzy, c-format + msgid "Really delete account \"%s\"?" + msgstr "¿Seguro de borra-lo buzón \"%s\"?" +@@ -330,7 +358,7 @@ msgstr "¿Seguro de borra-lo buzón \"%s\"?" + msgid "Unable to open autocrypt database %s" + msgstr "¡Imposible bloquea-lo buzón!" + +-#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:774 ++#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:773 + #, fuzzy, c-format + msgid "error creating gpgme context: %s" + msgstr "erro no patrón en: %s" +@@ -403,339 +431,290 @@ msgstr "" + msgid "Message cache isn't a directory: %s" + msgstr "%s non é un directorio" + +-#: browser.c:81 ++#: browser.c:80 + msgid "Chdir" + msgstr "Directorio" + +-#: browser.c:82 ++#: browser.c:81 + msgid "Goto" + msgstr "" + +-#: browser.c:83 browser.c:95 ++#: browser.c:82 browser.c:94 + msgid "Mask" + msgstr "Máscara" + +-#: browser.c:91 ++#: browser.c:90 + msgid "List" + msgstr "" + +-#: browser.c:92 ++#: browser.c:91 + #, fuzzy + msgid "Subscribe" + msgstr "Subscribindo a %s..." + +-#: browser.c:93 ++#: browser.c:92 + #, fuzzy + msgid "Unsubscribe" + msgstr "Borrando a subscripción con %s..." + +-#: browser.c:94 index.c:134 ++#: browser.c:93 index.c:130 + msgid "Catchup" + msgstr "" + +-#: browser.c:760 browser.c:1519 browser.c:1758 ++#: browser.c:763 browser.c:1584 browser.c:1825 + #, c-format + msgid "%s is not a directory" + msgstr "%s non é un directorio" + +-#: browser.c:1025 ++#: browser.c:1028 + #, fuzzy, c-format + msgid "Subscribed newsgroups" + msgstr "Subscribindo a %s..." + +-#: browser.c:1028 ++#: browser.c:1031 + #, c-format + msgid "Newsgroups on server [%s]" + msgstr "" + +-#: browser.c:1038 ++#: browser.c:1041 + #, c-format + msgid "Mailboxes [%d]" + msgstr "Buzóns [%d]" + +-#: browser.c:1050 ++#: browser.c:1053 + #, c-format + msgid "Subscribed [%s], File mask: %s" + msgstr "Subscrito [%s], máscara de ficheiro: %s" + +-#: browser.c:1056 ++#: browser.c:1059 + #, c-format + msgid "Directory [%s], File mask: %s" + msgstr "Directorio [%s], máscara de ficheiro: %s" + +-#: browser.c:1113 ++#: browser.c:1116 + msgid "Can't attach a directory" + msgstr "Non é posible adxuntar un directorio" + +-#: browser.c:1380 browser.c:1814 browser.c:1959 ++#: browser.c:1445 browser.c:1881 browser.c:2026 + msgid "No files match the file mask" + msgstr "Non hai ficheiros que coincidan coa máscara" + +-#: browser.c:1587 ++#: browser.c:1654 + msgid "Create is only supported for IMAP mailboxes" + msgstr "A operación 'Crear' está soportada só en buzóns IMAP" + +-#: browser.c:1609 ++#: browser.c:1676 + #, fuzzy + msgid "Rename is only supported for IMAP mailboxes" + msgstr "A operación 'Crear' está soportada só en buzóns IMAP" + +-#: browser.c:1630 ++#: browser.c:1697 + msgid "Delete is only supported for IMAP mailboxes" + msgstr "A operación 'Borrar' está soportada só en buzóns IMAP" + +-#: browser.c:1642 ++#: browser.c:1709 + #, fuzzy + msgid "Can't delete currently selected mailbox" + msgstr "ve-lo nome do ficheiro seleccioado actualmente" + +-#: browser.c:1646 ++#: browser.c:1713 + #, c-format + msgid "Really delete mailbox \"%s\"?" + msgstr "¿Seguro de borra-lo buzón \"%s\"?" + +-#: browser.c:1663 ++#: browser.c:1730 + msgid "Mailbox deleted" + msgstr "Buzón borrado" + +-#: browser.c:1667 ++#: browser.c:1734 + #, fuzzy + msgid "Mailbox deletion failed" + msgstr "Buzón borrado" + +-#: browser.c:1670 ++#: browser.c:1737 + msgid "Mailbox not deleted" + msgstr "Buzón non borrado" + +-#: browser.c:1697 ++#: browser.c:1764 + msgid "Chdir to: " + msgstr "Cambiar directorio a: " + +-#: browser.c:1747 browser.c:1808 ++#: browser.c:1814 browser.c:1875 + msgid "Error scanning directory" + msgstr "Erro lendo directorio" + +-#: browser.c:1769 ++#: browser.c:1836 + msgid "File Mask: " + msgstr "Máscara de ficheiro: " + + #. L10N: The highlighted letters must match the "Sort" options +-#: browser.c:1831 ++#: browser.c:1898 + #, fuzzy + msgid "Reverse sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "¿Ordear inversamente por (d)ata, (a)lfabeto, (t)amaño ou (s)en orden?" + + #. L10N: The highlighted letters must match the "Reverse Sort" options +-#: browser.c:1834 ++#: browser.c:1901 + #, fuzzy + msgid "Sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "¿Ordear por (d)ata, (a)lfabeto, (t)amaño ou (s)en orden?" + + #. L10N: These must match the highlighted letters from "Sort" and "Reverse Sort" +-#: browser.c:1837 ++#: browser.c:1904 + msgid "dazecwn" + msgstr "" + +-#: browser.c:1948 ++#: browser.c:2015 + msgid "New file name: " + msgstr "Novo nome de ficheiro: " + +-#: browser.c:1976 ++#: browser.c:2043 + msgid "Can't view a directory" + msgstr "Non é posible ver un directorio" + +-#: browser.c:1993 ++#: browser.c:2060 + msgid "Error trying to view file" + msgstr "Erro intentando ver ficheiro" + +-#: browser.c:2079 ++#: browser.c:2146 + #, fuzzy, c-format + msgid "Subscribe pattern: " + msgstr "Subscribindo a %s..." + +-#: browser.c:2081 ++#: browser.c:2148 + #, fuzzy, c-format + msgid "Unsubscribe pattern: " + msgstr "Borrando a subscripción con %s..." + +-#: browser.c:2101 ++#: browser.c:2169 + #, fuzzy + msgid "No newsgroups match the mask" + msgstr "Non hai ficheiros que coincidan coa máscara" + +-#: color.c:633 color.c:644 +-#, c-format +-msgid "%s: color not supported by term" +-msgstr "%s: color non soportado polo terminal" +- +-#: color.c:652 +-#, c-format +-msgid "%s: no such color" +-msgstr "%s: non hai tal color" +- +-#: color.c:717 color.c:740 color.c:751 color.c:842 +-#, c-format +-msgid "%s: no such object" +-msgstr "%s: non hai tal obxeto" +- +-#: color.c:731 color.c:868 color.c:1069 color.c:1098 color.c:1122 color.c:1191 +-#: color.c:1214 hook.c:110 hook.c:124 hook.c:367 hook.c:383 init.c:612 +-#: init.c:620 init.c:709 init.c:1099 init.c:1267 init.c:1871 init.c:1929 +-#: keymap.c:1184 score.c:110 +-#, c-format +-msgid "%s: too few arguments" +-msgstr "%s: parámetros insuficientes" +- +-#: color.c:1142 +-#, c-format +-msgid "%s: no such attribute" +-msgstr "%s: non hai tal atributo" +- +-#: color.c:1223 color.c:1329 hook.c:131 hook.c:390 init.c:1123 init.c:2133 +-#: init.c:2611 keymap.c:1116 keymap.c:1289 keymap.c:1442 keymap.c:1506 +-#: mutt_lua.c:483 score.c:119 +-#, c-format +-msgid "%s: too many arguments" +-msgstr "%s: demasiados parámetros" +- +-#: color.c:1244 +-msgid "default colors not supported" +-msgstr "colores por defecto non soportados" +- +-#: color.c:1282 +-#, c-format +-msgid "Maximum quoting level is %d" +-msgstr "" +- +-#: color.c:1319 +-#, fuzzy, c-format +-msgid "%s: invalid number: %s" +-msgstr "%d: número de mensaxe non válido.\n" +- + #. L10N: Used for the $crypt_verify_sig prompt +-#: commands.c:230 ++#: commands.c:232 + msgid "Verify signature?" + msgstr "¿Verificar firma?" + +-#: commands.c:257 mbox/mbox.c:1236 ++#: commands.c:259 mbox/mbox.c:1236 + msgid "Could not create temporary file" + msgstr "¡Non foi posible crear o ficheiro temporal" + +-#: commands.c:269 ++#: commands.c:271 + msgid "Can't create display filter" + msgstr "Non foi posible crea-lo filtro de visualización" + +-#: commands.c:302 ++#: commands.c:304 + msgid "Could not copy message" + msgstr "Non foi posible copia-la mensaxe." + +-#: commands.c:338 ++#: commands.c:340 + #, fuzzy + msgid "S/MIME signature successfully verified" + msgstr "Sinatura S/MIME verificada con éxito" + +-#: commands.c:340 ++#: commands.c:342 + msgid "S/MIME certificate owner does not match sender" + msgstr "" + +-#: commands.c:343 commands.c:353 ++#: commands.c:345 commands.c:355 + msgid "Warning: Part of this message has not been signed" + msgstr "" + +-#: commands.c:345 ++#: commands.c:347 + #, fuzzy + msgid "S/MIME signature could NOT be verified" + msgstr "Non foi posible verifica-la sinatura S/MIME" + +-#: commands.c:351 ++#: commands.c:353 + msgid "PGP signature successfully verified" + msgstr "Sinatura PGP verificada con éxito" + +-#: commands.c:355 ++#: commands.c:357 + msgid "PGP signature could NOT be verified" + msgstr "Non foi posible verifica-la sinatura PGP" + +-#: commands.c:372 compose.c:2116 compress.c:321 curs_lib.c:359 curs_lib.c:646 +-#: index.c:1235 index.c:1285 mutt_attach.c:159 mutt_attach.c:292 pager.c:2460 +-#: sendlib.c:1625 ++#: commands.c:378 compose.c:2187 compress/compress.c:320 gui/curs_lib.c:360 ++#: gui/curs_lib.c:714 index.c:1240 index.c:1290 mutt_attach.c:161 ++#: mutt_attach.c:294 pager.c:2433 sendlib.c:1624 + #, c-format + msgid "Error running \"%s\"" + msgstr "¡Erro executando \"%s\"" + +-#: commands.c:382 ++#: commands.c:388 + msgid "Command: " + msgstr "Comando: " + +-#: commands.c:419 recvcmd.c:191 recvcmd.c:203 ++#: commands.c:425 recvcmd.c:190 recvcmd.c:202 + msgid "Warning: message contains no From: header" + msgstr "" + +-#: commands.c:425 recvcmd.c:212 ++#: commands.c:431 recvcmd.c:211 + #, fuzzy + msgid "Bounce message to: " + msgstr "Rebotar mensaxe a: " + +-#: commands.c:427 recvcmd.c:214 ++#: commands.c:433 recvcmd.c:213 + #, fuzzy + msgid "Bounce tagged messages to: " + msgstr "Rebotar mensaxes marcadas a: " + +-#: commands.c:436 recvcmd.c:224 ++#: commands.c:442 recvcmd.c:223 + msgid "Error parsing address" + msgstr "¡Erro analizando enderezo" + +-#: commands.c:455 recvcmd.c:243 ++#: commands.c:461 recvcmd.c:242 + #, fuzzy, c-format + msgid "Bounce message to %s?" + msgid_plural "Bounce messages to %s?" + msgstr[0] "Rebotar mensaxe a %s?" + msgstr[1] "Rebotar mensaxes a %s?" + +-#: commands.c:470 recvcmd.c:257 ++#: commands.c:476 recvcmd.c:257 + #, fuzzy + msgid "Message not bounced" + msgid_plural "Messages not bounced" + msgstr[0] "Mensaxe rebotada" + msgstr[1] "Mensaxes rebotadas" + +-#: commands.c:496 recvcmd.c:276 ++#: commands.c:502 recvcmd.c:276 + #, fuzzy + msgid "Message bounced" + msgid_plural "Messages bounced" + msgstr[0] "Mensaxe rebotada" + msgstr[1] "Mensaxes rebotadas" + +-#: commands.c:606 commands.c:642 commands.c:662 ++#: commands.c:612 commands.c:648 commands.c:668 + #, fuzzy + msgid "Can't create filter process" + msgstr "Non podo crea-lo filtro" + +-#: commands.c:698 ++#: commands.c:704 + msgid "Pipe to command: " + msgstr "Canalizar ó comando: " + +-#: commands.c:720 ++#: commands.c:726 + msgid "No printing command has been defined" + msgstr "Non foi definido ningún comando de impresión" + +-#: commands.c:732 ++#: commands.c:738 + #, fuzzy + msgid "Print message?" + msgstr "¿Imprimir mensaxe?" + +-#: commands.c:733 ++#: commands.c:739 + #, fuzzy + msgid "Print tagged messages?" + msgstr "¿Imprimir mensaxes marcadas?" + +-#: commands.c:739 ++#: commands.c:745 + #, fuzzy + msgid "Message printed" + msgid_plural "Messages printed" + msgstr[0] "Mensaxe impresa" + msgstr[1] "Mensaxes impresas" + +-#: commands.c:742 ++#: commands.c:748 + #, fuzzy + msgid "Message could not be printed" + msgid_plural "Messages could not be printed" +@@ -743,166 +722,335 @@ msgstr[0] "Non foi posible imprimi-la mensaxe" + msgstr[1] "Non foi posible imprimi-las mensaxes" + + #. L10N: The highlighted letters must match the "Sort" options +-#: commands.c:759 ++#: commands.c:765 + #, fuzzy + msgid "Rev-Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "Ordear-inv (d)ata/d(e)/(r)ecb/(t)ema/(p)ara/(f)ío/(n)ada/t(a)m/p(u)nt: " + + #. L10N: The highlighted letters must match the "Rev-Sort" options +-#: commands.c:763 ++#: commands.c:769 + #, fuzzy + msgid "Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "Ordear (d)ata/d(e)/(r)ecb/(t)ema/(p)ara/(f)ío/(n)ada/t(a)m/p(u)nt: " + + #. L10N: These must match the highlighted letters from "Sort" and "Rev-Sort" +-#: commands.c:767 ++#: commands.c:773 + #, fuzzy + msgid "dfrsotuzcpl" + msgstr "dertpfnau" + +-#: commands.c:831 ++#: commands.c:837 + msgid "Shell command: " + msgstr "Comando de shell: " + +-#: commands.c:1036 ++#: commands.c:1042 + #, fuzzy + msgid "Decode-save to mailbox" + msgstr "%s ó buzón" + +-#: commands.c:1036 ++#: commands.c:1042 + #, fuzzy + msgid "Decode-save tagged to mailbox" + msgstr " marcado%s ó buzón" + +-#: commands.c:1038 ++#: commands.c:1044 + #, fuzzy + msgid "Decrypt-save to mailbox" + msgstr "%s ó buzón" + +-#: commands.c:1038 ++#: commands.c:1044 + #, fuzzy + msgid "Decrypt-save tagged to mailbox" + msgstr " marcado%s ó buzón" + +-#: commands.c:1040 ++#: commands.c:1046 + #, fuzzy + msgid "Save to mailbox" + msgstr "%s ó buzón" + +-#: commands.c:1040 ++#: commands.c:1046 + #, fuzzy + msgid "Save tagged to mailbox" + msgstr " marcado%s ó buzón" + +-#: commands.c:1045 ++#: commands.c:1051 + #, fuzzy + msgid "Decode-copy to mailbox" + msgstr "%s ó buzón" + +-#: commands.c:1045 ++#: commands.c:1051 + #, fuzzy + msgid "Decode-copy tagged to mailbox" + msgstr " marcado%s ó buzón" + +-#: commands.c:1047 ++#: commands.c:1053 + #, fuzzy + msgid "Decrypt-copy to mailbox" + msgstr "%s ó buzón" + +-#: commands.c:1047 ++#: commands.c:1053 + #, fuzzy + msgid "Decrypt-copy tagged to mailbox" + msgstr " marcado%s ó buzón" + +-#: commands.c:1049 ++#: commands.c:1055 + #, fuzzy + msgid "Copy to mailbox" + msgstr "%s ó buzón" + +-#: commands.c:1049 ++#: commands.c:1055 + #, fuzzy + msgid "Copy tagged to mailbox" + msgstr " marcado%s ó buzón" + +-#: commands.c:1092 ++#: commands.c:1098 + #, c-format + msgid "Copying to %s..." + msgstr "Copiando a %s..." + + #. L10N: e.g. "text/plain; charset=UTF-8; ..." +-#: commands.c:1257 ++#: commands.c:1263 + #, fuzzy + msgid "Content type is too long" + msgstr "Tipo de contido cambiado a %s.." + +-#: commands.c:1281 ++#: commands.c:1290 + #, c-format + msgid "Convert to %s upon sending?" + msgstr "" + +-#: commands.c:1292 ++#: commands.c:1301 + #, c-format + msgid "Content-Type changed to %s" + msgstr "Tipo de contido cambiado a %s.." + +-#: commands.c:1297 ++#: commands.c:1306 + #, fuzzy, c-format + msgid "Character set changed to %s; not converting" + msgstr "O xogo de caracteres foi cambiado a %s" + +-#: commands.c:1298 ++#: commands.c:1307 + #, fuzzy, c-format + msgid "Character set changed to %s; converting" + msgstr "O xogo de caracteres foi cambiado a %s" + ++#: command_parse.c:83 command_parse.c:211 command_parse.c:219 ++#: command_parse.c:740 command_parse.c:887 command_parse.c:1491 ++#: command_parse.c:1549 gui/color.c:731 gui/color.c:868 gui/color.c:1069 ++#: gui/color.c:1098 gui/color.c:1122 gui/color.c:1191 gui/color.c:1214 ++#: hook.c:110 hook.c:124 hook.c:372 hook.c:388 keymap.c:1182 score.c:110 ++#, c-format ++msgid "%s: too few arguments" ++msgstr "%s: parámetros insuficientes" ++ ++#: command_parse.c:394 ++msgid "-group: no group name" ++msgstr "" ++ ++#: command_parse.c:404 ++#, fuzzy ++msgid "out of arguments" ++msgstr "parámetros insuficientes" ++ ++#: command_parse.c:445 command_parse.c:1372 ++#, c-format ++msgid "Error: Can't build path of '%s'" ++msgstr "" ++ ++#: command_parse.c:458 ++#, c-format ++msgid "Error: Cyclic sourcing of configuration file '%s'" ++msgstr "" ++ ++#: command_parse.c:491 ++#, c-format ++msgid "Error in %s, line %d: %s" ++msgstr "Erro en %s, liña %d: %s" ++ ++#: command_parse.c:502 ++#, fuzzy, c-format ++msgid "Warning in %s, line %d: %s" ++msgstr "Erro en %s, liña %d: %s" ++ ++#: command_parse.c:526 ++#, c-format ++msgid "source: errors in %s" ++msgstr "source: erros en %s" ++ ++#: command_parse.c:526 ++#, fuzzy, c-format ++msgid "source: reading aborted due to too many errors in %s" ++msgstr "source: a lectura foi abortada por haber demasiados erros in %s" ++ ++#: command_parse.c:535 ++#, fuzzy, c-format ++msgid "source: %d warning in %s" ++msgid_plural "source: %d warnings in %s" ++msgstr[0] "source: erros en %s" ++msgstr[1] "source: erros en %s" ++ ++#: command_parse.c:564 ++msgid "alias: no address" ++msgstr "alias: sen enderezo" ++ ++#: command_parse.c:606 ++#, c-format ++msgid "Warning: Bad IDN '%s' in alias '%s'" ++msgstr "" ++ ++#: command_parse.c:684 ++#, fuzzy ++msgid "attachments: no disposition" ++msgstr "edita-la descripción do adxunto" ++ ++#: command_parse.c:695 ++#, fuzzy ++msgid "Current attachments settings:" ++msgstr "edita-la descripción do adxunto" ++ ++#: command_parse.c:725 ++#, fuzzy ++msgid "attachments: invalid disposition" ++msgstr "edita-la descripción do adxunto" ++ ++#: command_parse.c:764 command_parse.c:1753 command_parse.c:2205 ++#: gui/color.c:1223 gui/color.c:1329 hook.c:131 hook.c:395 keymap.c:1114 ++#: keymap.c:1287 keymap.c:1440 keymap.c:1504 mutt_lua.c:485 score.c:119 ++#, c-format ++msgid "%s: too many arguments" ++msgstr "%s: demasiados parámetros" ++ ++#: command_parse.c:801 ++#, c-format ++msgid "%sgroup: missing -rx or -addr" ++msgstr "" ++ ++#: command_parse.c:827 ++#, c-format ++msgid "%sgroup: warning: bad IDN '%s'" ++msgstr "" ++ ++#: command_parse.c:898 ++#, c-format ++msgid "Error: %s" ++msgstr "" ++ ++#: command_parse.c:1065 ++msgid "invalid header field" ++msgstr "campo de cabeceira inválido" ++ ++#: command_parse.c:1331 command_parse.c:1435 ++#, c-format ++msgid "%s: unknown variable" ++msgstr "%s: variable descoñecida" ++ ++#: command_parse.c:1528 ++#, c-format ++msgid "%s is unset" ++msgstr "%s non está activada" ++ ++#: command_parse.c:1573 mutt_lua.c:480 ++#, c-format ++msgid "source: error at %s" ++msgstr "source: erro en %s" ++ ++#: command_parse.c:1581 ++#, fuzzy, c-format ++msgid "source: file %s could not be sourced" ++msgstr "Non foi posible imprimi-las mensaxes" ++ ++#: command_parse.c:1604 ++#, fuzzy ++msgid "spam: no matching pattern" ++msgstr "marcar mensaxes coincidintes cun patrón" ++ ++#: command_parse.c:1606 ++#, fuzzy ++msgid "nospam: no matching pattern" ++msgstr "quitar marca a mensaxes coincidintes cun patrón" ++ ++#: command_parse.c:1762 imap/imap.c:1443 ++#, fuzzy, c-format ++msgid "Subscribed to %s" ++msgstr "Subscribindo a %s..." ++ ++#: command_parse.c:1766 ++#, fuzzy, c-format ++msgid "Could not subscribe to %s" ++msgstr "Subscribindo a %s..." ++ ++#: command_parse.c:1774 command_parse.c:2226 ++#, fuzzy ++msgid "No folder specified" ++msgstr "Non se especificou tema." ++ ++#: command_parse.c:1943 ++#, fuzzy ++msgid "unattachments: no disposition" ++msgstr "edita-la descripción do adxunto" ++ ++#: command_parse.c:1981 ++msgid "unattachments: invalid disposition" ++msgstr "" ++ ++#: command_parse.c:2214 imap/imap.c:1445 ++#, fuzzy, c-format ++msgid "Unsubscribed from %s" ++msgstr "Borrando a subscripción con %s..." ++ ++#: command_parse.c:2218 ++#, fuzzy, c-format ++msgid "Could not unsubscribe from %s" ++msgstr "Borrando a subscripción con %s..." ++ + # +-#: compose.c:99 ++#: compose.c:97 + msgid "There are no attachments" + msgstr "Non hai ficheiros adxuntos" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:166 ++#: compose.c:164 + msgid "From: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:168 send.c:284 ++#: compose.c:166 send.c:284 + msgid "To: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:170 send.c:286 ++#: compose.c:168 send.c:286 + msgid "Cc: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:172 send.c:288 ++#: compose.c:170 send.c:288 + msgid "Bcc: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:174 compose.c:1242 send.c:320 ++#: compose.c:172 compose.c:1302 send.c:320 + msgid "Subject: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:176 ++#: compose.c:174 + #, fuzzy + msgid "Reply-To: " + msgstr "Responder" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:178 compose.c:1261 ++#: compose.c:176 compose.c:1321 + msgid "Fcc: " + msgstr "" + + #. L10N: "Mix" refers to the MixMaster chain for anonymous email +-#: compose.c:181 ++#: compose.c:179 + msgid "Mix: " + msgstr "" + + #. L10N: Compose menu field. Holds "Encrypt", "Sign" related information +-#: compose.c:184 ++#: compose.c:182 + msgid "Security: " + msgstr "" + +@@ -913,78 +1061,78 @@ msgstr "" + #. it should not be longer than the other compose menu fields. + #. Since it shares the row with "Encrypt with:", it should not be longer + #. than 15-20 character cells. +-#: compose.c:192 ncrypt/crypt_gpgme.c:5602 ncrypt/pgp.c:1974 +-#: ncrypt/smime.c:2395 ++#: compose.c:190 ncrypt/crypt_gpgme.c:5682 ncrypt/pgp.c:1976 ++#: ncrypt/smime.c:2429 + msgid "Sign as: " + msgstr "Firmar como: " + + #. L10N: The compose menu autocrypt line +-#: compose.c:195 ++#: compose.c:193 + msgid "Autocrypt: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:199 ++#: compose.c:197 + msgid "Newsgroups: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:201 ++#: compose.c:199 + #, fuzzy + msgid "Followup-To: " + msgstr "¿Responder a %s%s?" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:203 ++#: compose.c:201 + #, fuzzy + msgid "X-Comment-To: " + msgstr "edita-lo campo Responder-A" + +-#: compose.c:208 compose.c:224 ++#: compose.c:206 compose.c:222 + msgid "Send" + msgstr "Enviar" + +-#: compose.c:209 compose.c:225 remailer.c:77 ++#: compose.c:207 compose.c:223 remailer.c:75 + msgid "Abort" + msgstr "Cancelar" + + #. L10N: compose menu help line entry +-#: compose.c:211 ++#: compose.c:209 + msgid "To" + msgstr "" + + #. L10N: compose menu help line entry +-#: compose.c:213 ++#: compose.c:211 + msgid "CC" + msgstr "" + + #. L10N: compose menu help line entry +-#: compose.c:215 compose.c:227 ++#: compose.c:213 compose.c:225 + msgid "Subj" + msgstr "" + +-#: compose.c:216 compose.c:228 compose.c:1556 ++#: compose.c:214 compose.c:226 compose.c:1616 + msgid "Attach file" + msgstr "Adxuntar ficheiro" + +-#: compose.c:217 compose.c:229 ++#: compose.c:215 compose.c:227 + msgid "Descrip" + msgstr "Descrip" + +-#: compose.c:226 ++#: compose.c:224 + #, fuzzy + msgid "Newsgroups" + msgstr "Non se especificou tema." + + #. L10N: Autocrypt recommendation flag: off. + #. * This is displayed when Autocrypt is turned off. +-#: compose.c:239 compose.c:473 ++#: compose.c:237 compose.c:472 + msgid "Off" + msgstr "" + + #. L10N: Autocrypt recommendation flag: no. + #. * This is displayed when Autocrypt cannot encrypt to the recipients. +-#: compose.c:242 ++#: compose.c:240 + msgid "No" + msgstr "" + +@@ -992,7 +1140,7 @@ msgstr "" + #. * This is displayed when Autocrypt believes encryption should not be used. + #. * This might occur if one of the recipient Autocrypt Keys has not been + #. * used recently, or if the only key available is a Gossip Header key. +-#: compose.c:247 ++#: compose.c:245 + msgid "Discouraged" + msgstr "" + +@@ -1000,14 +1148,14 @@ msgstr "" + #. * This is displayed when Autocrypt believes encryption is possible, but + #. * leaves enabling it up to the sender. Probably because "prefer encrypt" + #. * is not set in both the sender and recipient keys. +-#: compose.c:252 ++#: compose.c:250 + msgid "Available" + msgstr "" + + #. L10N: Autocrypt recommendation flag: yes. + #. * This is displayed when Autocrypt would normally enable encryption + #. * automatically. +-#: compose.c:256 ++#: compose.c:254 + #, fuzzy + msgid "Yes" + msgstr "sí" +@@ -1018,7 +1166,7 @@ msgstr "sí" + #. (c)lear sets cleartext. + #. (a)utomatic defers to the recommendation. + #. +-#: compose.c:338 ++#: compose.c:337 + msgid "Autocrypt: (e)ncrypt, (c)lear, (a)utomatic?" + msgstr "" + +@@ -1026,53 +1174,53 @@ msgstr "" + #. The letter corresponding to the compose menu autocrypt prompt + #. (e)ncrypt, (c)lear, (a)utomatic + #. +-#: compose.c:346 ++#: compose.c:345 + msgid "eca" + msgstr "" + +-#: compose.c:383 ++#: compose.c:382 + #, fuzzy + msgid "Not supported" + msgstr "O marcado non está soportado." + +-#: compose.c:390 ++#: compose.c:389 + msgid "Sign, Encrypt" + msgstr "Firmar, Encriptar" + +-#: compose.c:395 compose.c:468 ++#: compose.c:394 compose.c:467 + msgid "Encrypt" + msgstr "Encriptar" + +-#: compose.c:400 ++#: compose.c:399 + msgid "Sign" + msgstr "Firmar" + +-#: compose.c:406 ++#: compose.c:405 + msgid "None" + msgstr "" + +-#: compose.c:415 ++#: compose.c:414 + #, fuzzy + msgid " (inline PGP)" + msgstr "(seguir)\n" + +-#: compose.c:417 ++#: compose.c:416 + msgid " (PGP/MIME)" + msgstr "" + +-#: compose.c:420 ++#: compose.c:419 + msgid " (S/MIME)" + msgstr "" + +-#: compose.c:424 ++#: compose.c:423 + msgid " (OppEnc mode)" + msgstr "" + +-#: compose.c:436 compose.c:445 ++#: compose.c:435 compose.c:444 + msgid "" + msgstr "" + +-#: compose.c:452 ++#: compose.c:451 + #, fuzzy + msgid "Encrypt with: " + msgstr "Encriptar" +@@ -1082,12 +1230,12 @@ msgstr "Encriptar" + #. Displays the output of the recommendation engine + #. (Off, No, Discouraged, Available, Yes) + #. +-#: compose.c:483 ++#: compose.c:482 + #, fuzzy + msgid "Recommendation: " + msgstr "edita-lo campo Responder-A" + +-#: compose.c:547 ++#: compose.c:546 + msgid "" + msgstr "" + +@@ -1098,7 +1246,7 @@ msgstr "" + #. The filename is located last to avoid a long path hiding the + #. error message. + #. +-#: compose.c:601 ++#: compose.c:600 + #, fuzzy, c-format + msgid "Attachment #%d no longer exists: %s" + msgstr "%s [#%d] xa non existe" +@@ -1110,240 +1258,361 @@ msgstr "%s [#%d] xa non existe" + #. The filename is located last to avoid a long path hiding the + #. prompt question. + #. +-#: compose.c:621 ++#: compose.c:620 + #, fuzzy, c-format + msgid "Attachment #%d modified. Update encoding for %s?" + msgstr "%s [#%d] modificado. ¿Actualizar codificación?" + +-#: compose.c:716 ++#: compose.c:715 + msgid "-- Attachments" + msgstr "-- Adxuntos" + +-#: compose.c:770 ++#: compose.c:769 + msgid "You may not delete the only attachment" + msgstr "Non podes borra-lo único adxunto" + +-#: compose.c:1296 edit.c:538 send.c:2462 ++#: compose.c:1356 edit.c:536 send.c:2473 + #, c-format + msgid "Bad IDN in '%s': '%s'" + msgstr "" + +-#: compose.c:1347 ++#: compose.c:1407 + #, fuzzy + msgid "Attachment is already at top" + msgstr "Adxunto gardado" + +-#: compose.c:1352 compose.c:1368 ++#: compose.c:1412 compose.c:1428 + #, fuzzy + msgid "The fundamental part can't be moved" + msgstr "O adxunto actual non será convertido" + +-#: compose.c:1363 ++#: compose.c:1423 + #, fuzzy + msgid "Attachment is already at bottom" + msgstr "Adxunto filtrado" + +-#: compose.c:1381 ++#: compose.c:1441 + msgid "Grouping 'alternatives' requires at least 2 tagged messages" + msgstr "" + +-#: compose.c:1462 ++#: compose.c:1522 + msgid "Grouping 'multilingual' requires at least 2 tagged messages" + msgstr "" + +-#: compose.c:1475 ++#: compose.c:1535 + msgid "Not all parts have 'Content-Language' set, continue?" + msgstr "" + +-#: compose.c:1477 ++#: compose.c:1537 + #, fuzzy + msgid "Not sending this message" + msgstr "Erro enviando a mensaxe" + +-#: compose.c:1571 ++#: compose.c:1631 + #, fuzzy + msgid "Attaching selected file..." + msgid_plural "Attaching selected files..." + msgstr[0] "Adxuntando ficheiros seleccionados ..." + msgstr[1] "Adxuntando ficheiros seleccionados ..." + +-#: compose.c:1585 ++#: compose.c:1645 + #, c-format + msgid "Unable to attach %s" + msgstr "¡Non foi posible adxuntar %s" + +-#: compose.c:1606 ++#: compose.c:1666 + msgid "Open mailbox to attach message from" + msgstr "Abrir buzón do que adxuntar mensaxe" + +-#: compose.c:1616 ++#: compose.c:1676 + #, fuzzy + msgid "Open newsgroup to attach message from" + msgstr "Abrir buzón do que adxuntar mensaxe" + +-#: compose.c:1667 ++#: compose.c:1730 + #, fuzzy, c-format + msgid "Unable to open mailbox %s" + msgstr "¡Imposible bloquea-lo buzón!" + +-#: compose.c:1676 ++#: compose.c:1739 + msgid "No messages in that folder" + msgstr "Non hai mensaxes nese buzón" + +-#: compose.c:1686 ++#: compose.c:1749 + msgid "Tag the messages you want to attach" + msgstr "¡Marca as mensaxes que queres adxuntar" + +-#: compose.c:1715 ++#: compose.c:1785 + msgid "Unable to attach" + msgstr "¡Non foi posible adxuntar" + +-#: compose.c:1752 ++#: compose.c:1822 + msgid "Recoding only affects text attachments" + msgstr "A recodificación só afecta ós adxuntos de texto" + +-#: compose.c:1757 ++#: compose.c:1827 + msgid "The current attachment won't be converted" + msgstr "O adxunto actual non será convertido" + +-#: compose.c:1759 ++#: compose.c:1829 + msgid "The current attachment will be converted" + msgstr "O adxunto actual será convertido" + +-#: compose.c:1831 ++#: compose.c:1901 + msgid "Empty 'Content-Language'" + msgstr "" + +-#: compose.c:1849 ++#: compose.c:1920 + msgid "Invalid encoding" + msgstr "Codificación inválida" + +-#: compose.c:1871 ++#: compose.c:1942 + msgid "Save a copy of this message?" + msgstr "¿Gardar unha copia desta mensaxe?" + +-#: compose.c:1924 ++#: compose.c:1995 + #, fuzzy + msgid "Send attachment with name: " + msgstr "ver adxunto como texto" + +-#: compose.c:1939 ++#: compose.c:2010 + msgid "Rename to: " + msgstr "Cambiar nome a: " + + #. L10N: "stat" is a system call. Do "man 2 stat" for more information. +-#: compose.c:1946 editmsg.c:102 editmsg.c:138 sendlib.c:1050 ++#: compose.c:2017 editmsg.c:102 editmsg.c:138 sendlib.c:1049 + #, fuzzy, c-format + msgid "Can't stat %s: %s" + msgstr "Non foi atopado: %s" + +-#: compose.c:1966 ++#: compose.c:2037 + msgid "New file: " + msgstr "Novo ficheiro: " + +-#: compose.c:1984 ++#: compose.c:2055 + msgid "Content-Type is of the form base/sub" + msgstr "Content-Type é da forma base/subtipo" + +-#: compose.c:1991 ++#: compose.c:2062 + #, c-format + msgid "Unknown Content-Type %s" + msgstr "Non coñezo ó Content-Type %s" + +-#: compose.c:1999 ++#: compose.c:2070 + #, c-format + msgid "Can't create file %s" + msgstr "Non fun capaz de crea-lo ficheiro %s" + +-#: compose.c:2008 ++#: compose.c:2079 + msgid "What we have here is a failure to make an attachment" + msgstr "O que temos aquí é un fallo ó face-lo adxunto" + +-#: compose.c:2073 ++#: compose.c:2144 + #, fuzzy + msgid "Save (postpone) draft message?" + msgstr "¿Editar mensaxe posposta?" + +-#: compose.c:2133 ++#: compose.c:2204 + msgid "Write message to mailbox" + msgstr "Escribir mensaxe ó buzón" + +-#: compose.c:2136 ++#: compose.c:2207 + #, c-format + msgid "Writing message to %s ..." + msgstr "Escribindo mensaxe a %s..." + +-#: compose.c:2143 ++#: compose.c:2214 + msgid "Message written" + msgstr "Mensaxe escrita" + +-#: compose.c:2154 ++#: compose.c:2225 + msgid "No PGP backend configured" + msgstr "" + +-#: compose.c:2161 compose.c:2225 ++#: compose.c:2232 compose.c:2296 + msgid "S/MIME already selected. Clear and continue?" + msgstr "" + +-#: compose.c:2186 ++#: compose.c:2257 + msgid "No S/MIME backend configured" + msgstr "" + +-#: compose.c:2194 ++#: compose.c:2265 + msgid "PGP already selected. Clear and continue?" + msgstr "" + +-#: compress.c:355 compress.c:499 ++#: compress/compress.c:354 compress/compress.c:498 + #, c-format + msgid "Can't append without an append-hook or close-hook : %s" + msgstr "" + +-#: compress.c:444 compress.c:511 compress.c:590 compress.c:628 mbox/mbox.c:1208 ++#: compress/compress.c:443 compress/compress.c:510 compress/compress.c:589 ++#: compress/compress.c:627 mbox/mbox.c:1208 + msgid "Unable to lock mailbox" + msgstr "¡Imposible bloquea-lo buzón" + +-#: compress.c:448 compress.c:518 compress.c:594 ++#: compress/compress.c:447 compress/compress.c:517 compress/compress.c:593 + #, c-format + msgid "Decompressing %s" + msgstr "" + +-#: compress.c:457 ++#: compress/compress.c:456 + msgid "Can't identify the contents of the compressed file" + msgstr "" + +-#: compress.c:464 compress.c:539 ++#: compress/compress.c:463 compress/compress.c:538 + #, c-format + msgid "Can't find mailbox ops for mailbox type %d" + msgstr "" + +-#: compress.c:521 ++#: compress/compress.c:520 + #, fuzzy, c-format + msgid "Compress command failed: %s" + msgstr "O comando de preconexión fallou." + +-#: compress.c:532 ++#: compress/compress.c:531 + msgid "Unsupported mailbox type for appending" + msgstr "" + +-#: compress.c:618 ++#: compress/compress.c:617 + msgid "Can't sync a compressed file without a close-hook" + msgstr "" + +-#: compress.c:640 compress.c:692 ++#: compress/compress.c:639 compress/compress.c:691 + #, fuzzy, c-format + msgid "Compressing %s" + msgstr "Copiando a %s..." + +-#: compress.c:687 ++#: compress/compress.c:686 + #, fuzzy, c-format + msgid "Compressed-appending to %s..." + msgstr "Copiando a %s..." + +-#: compress.c:699 editmsg.c:247 ++#: compress/compress.c:698 editmsg.c:247 + #, c-format + msgid "Error. Preserving temporary file: %s" + msgstr "Erro. Conservando ficheiro temporal: %s" + ++#: config/bool.c:70 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %s" ++msgstr "Data relativa incorrecta: %s" ++ ++#: config/bool.c:131 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %ld" ++msgstr "Data relativa incorrecta: %s" ++ ++#: config/enum.c:62 ++#, fuzzy, c-format ++msgid "Invalid enum value: %s" ++msgstr "%d: número de mensaxe non válido.\n" ++ ++#: config/enum.c:149 ++#, fuzzy, c-format ++msgid "Invalid enum value: %ld" ++msgstr "Día do mes inválido: %s" ++ ++#: config/long.c:50 ++#, fuzzy, c-format ++msgid "Invalid long: %s" ++msgstr "Mes inválido: %s" ++ ++# ++#: config/long.c:56 config/long.c:114 config/number.c:68 config/number.c:133 ++#, fuzzy, c-format ++msgid "Option %s may not be negative" ++msgstr "Función non permitida no modo \"adxuntar-mensaxe\"." ++ ++#: config/number.c:49 config/sort.c:145 config/string.c:75 config/string.c:159 ++#, c-format ++msgid "Option %s may not be empty" ++msgstr "" ++ ++#: config/number.c:56 ++#, fuzzy, c-format ++msgid "Invalid number: %s" ++msgstr "%d: número de mensaxe non válido.\n" ++ ++#: config/number.c:62 ++#, c-format ++msgid "Number is too big: %s" ++msgstr "" ++ ++#: config/number.c:127 ++#, fuzzy, c-format ++msgid "Invalid number: %ld" ++msgstr "%d: número de mensaxe non válido.\n" ++ ++#: config/quad.c:69 ++#, fuzzy, c-format ++msgid "Invalid quad value: %s" ++msgstr "Data relativa incorrecta: %s" ++ ++#: config/quad.c:133 ++#, fuzzy, c-format ++msgid "Invalid quad value: %ld" ++msgstr "Día do mes inválido: %s" ++ ++#: config/set.c:102 ++#, c-format ++msgid "No such variable: %s" ++msgstr "" ++ ++#: config/set.c:134 config/set.c:821 ++#, c-format ++msgid "Variable '%s' has an invalid type %d" ++msgstr "" ++ ++#: config/set.c:399 config/set.c:463 config/set.c:528 config/set.c:601 ++#: config/set.c:671 config/set.c:744 ++#, fuzzy, c-format ++msgid "Unknown variable '%s'" ++msgstr "%s: variable descoñecida" ++ ++#: config/sort.c:192 ++#, fuzzy, c-format ++msgid "Invalid sort name: %s" ++msgstr "Data relativa incorrecta: %s" ++ ++#: config/sort.c:322 ++#, fuzzy, c-format ++msgid "Invalid sort type: %ld" ++msgstr "Data relativa incorrecta: %s" ++ ++#. L10N: Example: Username at myhost.com ++#: conn/connaccount.c:61 ++#, c-format ++msgid "Username at %s: " ++msgstr "Nome de usuario en %s: " ++ ++#: conn/connaccount.c:117 ++#, c-format ++msgid "Password for %s@%s: " ++msgstr "Contrasinal para %s@%s: " ++ ++#. L10N: You will see this error message if (1) you have "oauthbearer" in ++#. one of your $*_authenticators and (2) you do not have the corresponding ++#. $*_oauth_refresh_command defined. So the message does not mean "None of ++#. your $*_oauth_refresh_command's are defined." ++#: conn/connaccount.c:165 ++#, fuzzy ++msgid "No OAUTH refresh command defined" ++msgstr "Comando de consulta non definido" ++ ++#: conn/connaccount.c:173 ++msgid "Unable to run refresh command" ++msgstr "" ++ ++#: conn/connaccount.c:184 ++msgid "Command returned empty string" ++msgstr "" ++ ++#: conn/connaccount.c:191 ++#, c-format ++msgid "OAUTH token is too big: %ld" ++msgstr "" ++ + #: conn/conn_raw.c:160 conn/conn_raw.c:218 + #, c-format + msgid "Looking up %s..." +@@ -1364,7 +1633,7 @@ msgstr "Conectando con %s..." + msgid "Could not connect to %s (%s)" + msgstr "Non foi posible conectar con %s (%s)" + +-#: conn/conn_raw.c:260 conn/ssl.c:1230 curs_lib.c:568 mutt_logging.c:149 ++#: conn/conn_raw.c:260 conn/ssl.c:1245 gui/curs_lib.c:569 mutt_logging.c:147 + msgid "unknown error" + msgstr "erro descoñecido" + +@@ -1378,24 +1647,24 @@ msgstr "Erro ó conectar có servidor: %s" + msgid "Connection to %s has been aborted" + msgstr "Fallou a conexión con %s." + +-#: conn/sasl.c:565 ++#: conn/sasl.c:547 + msgid "Unknown SASL profile" + msgstr "" + +-#: conn/sasl.c:598 ++#: conn/sasl.c:580 + #, fuzzy + msgid "Error allocating SASL connection" + msgstr "erro no patrón en: %s" + +-#: conn/sasl.c:608 ++#: conn/sasl.c:590 + msgid "Error setting SASL security properties" + msgstr "" + +-#: conn/sasl.c:619 ++#: conn/sasl.c:601 + msgid "Error setting SASL external security strength" + msgstr "" + +-#: conn/sasl.c:629 ++#: conn/sasl.c:611 + msgid "Error setting SASL external user name" + msgstr "" + +@@ -1408,138 +1677,112 @@ msgstr "O comando de preconexión fallou" + msgid "Connection to %s closed" + msgstr "Fallou a conexión con %s." + +-#: conn/ssl.c:237 ++#: conn/ssl.c:222 + #, c-format + msgid "Filling entropy pool: %s..." + msgstr "Enchendo pozo de entropía: %s..." + +-#: conn/ssl.c:243 ++#: conn/ssl.c:228 + #, c-format + msgid "%s has insecure permissions" + msgstr "%s ten permisos inseguros." + +-#: conn/ssl.c:385 ++#: conn/ssl.c:369 + #, fuzzy + msgid "SSL disabled due to the lack of entropy" + msgstr "SSL foi deshabilitado debido á falta de entropía." + +-#: conn/ssl.c:402 ++#: conn/ssl.c:386 + msgid "Unknown" + msgstr "Descoñecido" + +-#: conn/ssl.c:421 conn/ssl_gnutls.c:186 ++#: conn/ssl.c:405 conn/ssl_gnutls.c:188 + #, c-format + msgid "[unable to calculate]" + msgstr "[imposible calcular]" + +-#: conn/ssl.c:446 ++#: conn/ssl.c:430 + msgid "[invalid date]" + msgstr "[ data incorrecta ]" + +-#: conn/ssl.c:506 ++#: conn/ssl.c:490 + msgid "Server certificate is not yet valid" + msgstr "O certificado do servidor non é aínda válido" + +-#: conn/ssl.c:516 ++#: conn/ssl.c:500 + msgid "Server certificate has expired" + msgstr "O certificado do servidor expirou" + +-#: conn/ssl.c:605 ++#: conn/ssl.c:589 + msgid "Failed to find enough entropy on your system" + msgstr "Non hai entropía abondo no seu sistema" + +-#: conn/ssl.c:799 ++#: conn/ssl.c:783 + #, fuzzy + msgid "can't get certificate subject" + msgstr "Non foi posible obter un certificado do outro extremo" + +-#: conn/ssl.c:808 conn/ssl.c:816 ++#: conn/ssl.c:792 conn/ssl.c:800 + #, fuzzy + msgid "can't get certificate common name" + msgstr "Non foi posible obter un certificado do outro extremo" + +-#: conn/ssl.c:830 ++#: conn/ssl.c:814 + #, c-format + msgid "certificate owner does not match hostname %s" + msgstr "" + +-#: conn/ssl.c:904 conn/ssl_gnutls.c:539 ++#: conn/ssl.c:917 conn/ssl_gnutls.c:570 + msgid "This certificate belongs to:" + msgstr "Este certificado pertence a:" + +-#: conn/ssl.c:913 conn/ssl_gnutls.c:593 ++#: conn/ssl.c:926 conn/ssl_gnutls.c:624 + msgid "This certificate was issued by:" + msgstr "Este certificado foi emitido por:" + +-#: conn/ssl.c:922 conn/ssl_gnutls.c:604 ++#: conn/ssl.c:935 conn/ssl_gnutls.c:635 + msgid "This certificate is valid" + msgstr "Este certificado é válido" + +-#: conn/ssl.c:923 conn/ssl_gnutls.c:608 ++#: conn/ssl.c:936 conn/ssl_gnutls.c:639 + #, c-format + msgid " from %s" + msgstr " de %s" + +-#: conn/ssl.c:925 conn/ssl_gnutls.c:612 ++#: conn/ssl.c:938 conn/ssl_gnutls.c:643 + #, c-format + msgid " to %s" + msgstr " a %s" + +-#: conn/ssl.c:931 conn/ssl_gnutls.c:617 ++#: conn/ssl.c:944 conn/ssl_gnutls.c:648 + #, fuzzy, c-format + msgid "SHA1 Fingerprint: %s" + msgstr "Fingerprint: %s" + +-#: conn/ssl.c:937 conn/ssl.c:940 conn/ssl_gnutls.c:623 conn/ssl_gnutls.c:625 ++#: conn/ssl.c:950 conn/ssl.c:953 conn/ssl_gnutls.c:654 conn/ssl_gnutls.c:656 + #, fuzzy +-msgid "SHA256 Fingerprint: " +-msgstr "Fingerprint: %s" +- +-#: conn/ssl.c:944 conn/ssl_gnutls.c:664 +-#, c-format +-msgid "SSL Certificate check (certificate %zu of %zu in chain)" +-msgstr "" +- +-#. L10N: These four letters correspond to the choices in the next four strings: +-#. (r)eject, accept (o)nce, (a)ccept always, (s)kip. +-#. These prompts are the interactive certificate confirmation prompts for +-#. an OpenSSL connection. +-#: conn/ssl.c:964 +-msgid "roas" +-msgstr "" +- +-#: conn/ssl.c:968 +-#, fuzzy +-msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" +-msgstr "(r)exeitar, aceptar (e)sta vez, (a)ceptar sempre" +- +-#: conn/ssl.c:970 conn/ssl_gnutls.c:671 +-msgid "(r)eject, accept (o)nce, (a)ccept always" +-msgstr "(r)exeitar, aceptar (e)sta vez, (a)ceptar sempre" +- +-#: conn/ssl.c:975 +-#, fuzzy +-msgid "(r)eject, accept (o)nce, (s)kip" +-msgstr "(r)exeitar, aceptar (e)sta vez" ++msgid "SHA256 Fingerprint: " ++msgstr "Fingerprint: %s" + +-#: conn/ssl.c:977 conn/ssl_gnutls.c:680 +-msgid "(r)eject, accept (o)nce" +-msgstr "(r)exeitar, aceptar (e)sta vez" ++#: conn/ssl.c:957 conn/ssl_gnutls.c:695 ++#, c-format ++msgid "SSL Certificate check (certificate %zu of %zu in chain)" ++msgstr "" + +-#: conn/ssl.c:981 conn/ssl_gnutls.c:689 ncrypt/crypt_gpgme.c:4729 +-#: ncrypt/pgpkey.c:664 ncrypt/smime.c:549 ++#: conn/ssl.c:994 conn/ssl_gnutls.c:720 ncrypt/crypt_gpgme.c:4777 ++#: ncrypt/pgpkey.c:667 ncrypt/smime.c:551 + msgid "Exit " + msgstr "Saír " + +-#: conn/ssl.c:1016 conn/ssl_gnutls.c:742 ++#: conn/ssl.c:1029 conn/ssl_gnutls.c:773 + msgid "Warning: Couldn't save certificate" + msgstr "Atención: non foi posible garda-lo certificado" + +-#: conn/ssl.c:1020 conn/ssl_gnutls.c:746 ++#: conn/ssl.c:1033 conn/ssl_gnutls.c:777 + msgid "Certificate saved" + msgstr "Certificado gardado" + +-#: conn/ssl.c:1132 ++#: conn/ssl.c:1147 + #, fuzzy, c-format + msgid "Certificate host check failed: %s" + msgstr "Certificado gardado" +@@ -1547,15 +1790,15 @@ msgstr "Certificado gardado" + #. L10N: This is a warning when trying to set the host name for + #. * TLS Server Name Indication (SNI). This allows the server to present + #. * the correct certificate if it supports multiple hosts. +-#: conn/ssl.c:1213 conn/ssl_gnutls.c:1072 ++#: conn/ssl.c:1228 conn/ssl_gnutls.c:1105 + msgid "Warning: unable to set TLS SNI host name" + msgstr "" + +-#: conn/ssl.c:1224 ++#: conn/ssl.c:1239 + msgid "I/O error" + msgstr "" + +-#: conn/ssl.c:1233 ++#: conn/ssl.c:1248 + #, fuzzy, c-format + msgid "SSL failed: %s" + msgstr "O login fallou." +@@ -1563,96 +1806,80 @@ msgstr "O login fallou." + #. L10N: an SSL context is a data structure returned by the OpenSSL + #. function SSL_CTX_new(). In this case it returned NULL: an + #. error condition. +-#: conn/ssl.c:1269 ++#: conn/ssl.c:1284 + #, fuzzy + msgid "Unable to create SSL context" + msgstr "[-- Erro: ¡non foi posible crear subproceso OpenSSL! --]\n" + +-#: conn/ssl.c:1322 ++#: conn/ssl.c:1337 + msgid "Warning: error enabling ssl_verify_partial_chains" + msgstr "" + +-#: conn/ssl_gnutls.c:150 conn/ssl_gnutls.c:784 conn/ssl_gnutls.c:793 ++#: conn/ssl_gnutls.c:152 conn/ssl_gnutls.c:817 conn/ssl_gnutls.c:826 + msgid "Unable to get certificate from peer" + msgstr "Non foi posible obter un certificado do outro extremo" + +-#: conn/ssl_gnutls.c:155 ++#: conn/ssl_gnutls.c:157 + #, c-format + msgid "Certificate verification error (%s)" + msgstr "" + +-#: conn/ssl_gnutls.c:162 ++#: conn/ssl_gnutls.c:164 + #, fuzzy + msgid "Certificate is not X.509" + msgstr "Certificado gardado" + +-#: conn/ssl_gnutls.c:349 conn/ssl_gnutls.c:483 ++#: conn/ssl_gnutls.c:351 conn/ssl_gnutls.c:485 + #, fuzzy + msgid "Error initialising gnutls certificate data" + msgstr "Error iniciando terminal." + +-#: conn/ssl_gnutls.c:355 conn/ssl_gnutls.c:489 ++#: conn/ssl_gnutls.c:357 conn/ssl_gnutls.c:491 + msgid "Error processing certificate data" + msgstr "" + +-#: conn/ssl_gnutls.c:635 ++#: conn/ssl_gnutls.c:666 + #, fuzzy + msgid "WARNING: Server certificate is not yet valid" + msgstr "O certificado do servidor non é aínda válido" + +-#: conn/ssl_gnutls.c:640 ++#: conn/ssl_gnutls.c:671 + #, fuzzy + msgid "WARNING: Server certificate has expired" + msgstr "O certificado do servidor expirou" + +-#: conn/ssl_gnutls.c:645 ++#: conn/ssl_gnutls.c:676 + #, fuzzy + msgid "WARNING: Server certificate has been revoked" + msgstr "O certificado do servidor expirou" + +-#: conn/ssl_gnutls.c:650 ++#: conn/ssl_gnutls.c:681 + msgid "WARNING: Server hostname does not match certificate" + msgstr "" + +-#: conn/ssl_gnutls.c:655 ++#: conn/ssl_gnutls.c:686 + #, fuzzy + msgid "WARNING: Signer of server certificate is not a CA" + msgstr "O certificado do servidor non é aínda válido" + +-#: conn/ssl_gnutls.c:659 conn/ssl_gnutls.c:1004 ++#: conn/ssl_gnutls.c:690 conn/ssl_gnutls.c:1037 + msgid "Warning: Server certificate was signed using an insecure algorithm" + msgstr "" + +-#. L10N: These three letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce, (a)ccept always. +-#. This is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:676 +-msgid "roa" +-msgstr "rea" +- +-#. L10N: These two letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce. +-#. These is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:685 +-msgid "ro" +-msgstr "re" +- +-#: conn/ssl_gnutls.c:950 conn/ssl_gnutls.c:992 ++#: conn/ssl_gnutls.c:983 conn/ssl_gnutls.c:1025 + msgid "All available protocols for TLS/SSL connection disabled" + msgstr "" + +-#: conn/ssl_gnutls.c:999 ++#: conn/ssl_gnutls.c:1032 + msgid "Explicit ciphersuite selection via $ssl_ciphers not supported" + msgstr "" + +-#: conn/ssl_gnutls.c:1120 ++#: conn/ssl_gnutls.c:1153 + #, fuzzy, c-format + msgid "SSL/TLS connection using %s (%s/%s/%s)" + msgstr "Conectando mediante SSL usando %s (%s)" + +-#: conn/ssl_gnutls.c:1175 conn/ssl_gnutls.c:1204 ++#: conn/ssl_gnutls.c:1210 conn/ssl_gnutls.c:1239 + msgid "Error: no TLS socket open" + msgstr "" + +@@ -1671,38 +1898,18 @@ msgstr "Erro ó conectar có servidor: %s" + msgid "Tunnel to %s returned error %d (%s)" + msgstr "" + +-#: copy.c:660 ++#: copy.c:662 + #, c-format + msgid "The length calculation was wrong by %ld byte" + msgid_plural "The length calculation was wrong by %ld bytes" + msgstr[0] "" + msgstr[1] "" + +-#: copy.c:744 ++#: copy.c:746 + msgid "No decryption engine available for message" + msgstr "" + +-#: curs_lib.c:378 +-msgid "yes" +-msgstr "sí" +- +-#: curs_lib.c:379 +-msgid "no" +-msgstr "non" +- +-#: curs_lib.c:518 +-msgid "Exit NeoMutt?" +-msgstr "¿Saír de NeoMutt?" +- +-#: curs_lib.c:597 +-msgid "Press any key to continue..." +-msgstr "Pulsa calquera tecla para seguir..." +- +-#: curs_lib.c:705 +-msgid " ('?' for list): " +-msgstr "('?' para lista): " +- +-#: edit.c:64 ++#: edit.c:62 + #, fuzzy + msgid "" + "~~ insert a line beginning with a single ~\n" +@@ -1734,7 +1941,7 @@ msgstr "" + "~? esta mensaxe\n" + ". nunha liña, de seu, acaba a entrada\n" + +-#: edit.c:75 ++#: edit.c:73 + #, fuzzy + msgid "" + "~q write file and quit editor\n" +@@ -1766,20 +1973,20 @@ msgstr "" + "~? esta mensaxe\n" + ". nunha liña, de seu, acaba a entrada\n" + +-#: edit.c:261 ++#: edit.c:259 + #, c-format + msgid "%d: invalid message number.\n" + msgstr "%d: número de mensaxe non válido.\n" + +-#: edit.c:416 ++#: edit.c:414 + msgid "(End message with a . on a line by itself)\n" + msgstr "(Un '.' de seu nunha liña remata a mensaxe)\n" + +-#: edit.c:474 ++#: edit.c:472 + msgid "No mailbox.\n" + msgstr "Non hai buzón.\n" + +-#: edit.c:478 ++#: edit.c:476 + msgid "Message contains:\n" + msgstr "A mensaxe contén:\n" + +@@ -1787,19 +1994,19 @@ msgstr "A mensaxe contén:\n" + #. not IN the middle of the content. + #. So it doesn't mean "(message will continue)" + #. but means "(press any key to continue using neomutt)". +-#: edit.c:486 edit.c:547 ++#: edit.c:484 edit.c:545 + msgid "(continue)\n" + msgstr "(seguir)\n" + +-#: edit.c:499 ++#: edit.c:497 + msgid "missing filename.\n" + msgstr "falta o nome do ficheiro.\n" + +-#: edit.c:519 ++#: edit.c:517 + msgid "No lines in message.\n" + msgstr "Non hai liñas na mensaxe.\n" + +-#: edit.c:558 ++#: edit.c:556 + #, c-format + msgid "%s: unknown editor command (~? for help)\n" + msgstr "%s: comando de editor descoñecido (~? para axuda)\n" +@@ -1846,19 +2053,73 @@ msgstr "Non foi posible engadir á carpeta: %s" + msgid "multipart message has no boundary parameter" + msgstr "¡A mensaxe multiparte non ten parámetro \"boundary\"" + +-#: flags.c:382 index.c:2561 index.c:2604 index.c:3134 index.c:3171 ++#: flags.c:381 index.c:2587 index.c:2630 index.c:3160 index.c:3197 + #: mutt_thread.c:1091 mutt_thread.c:1158 mutt_thread.c:1246 + msgid "Threading is not enabled" + msgstr "Enfiamento non habilitado" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Set flag" + msgstr "Pór indicador" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Clear flag" + msgstr "Limpar indicador" + ++#: gui/color.c:633 gui/color.c:644 ++#, c-format ++msgid "%s: color not supported by term" ++msgstr "%s: color non soportado polo terminal" ++ ++#: gui/color.c:652 ++#, c-format ++msgid "%s: no such color" ++msgstr "%s: non hai tal color" ++ ++#: gui/color.c:717 gui/color.c:740 gui/color.c:751 gui/color.c:842 ++#, c-format ++msgid "%s: no such object" ++msgstr "%s: non hai tal obxeto" ++ ++#: gui/color.c:1142 ++#, c-format ++msgid "%s: no such attribute" ++msgstr "%s: non hai tal atributo" ++ ++#: gui/color.c:1244 ++msgid "default colors not supported" ++msgstr "colores por defecto non soportados" ++ ++#: gui/color.c:1282 ++#, c-format ++msgid "Maximum quoting level is %d" ++msgstr "" ++ ++#: gui/color.c:1319 ++#, fuzzy, c-format ++msgid "%s: invalid number: %s" ++msgstr "%d: número de mensaxe non válido.\n" ++ ++#: gui/curs_lib.c:379 ++msgid "yes" ++msgstr "sí" ++ ++#: gui/curs_lib.c:380 ++msgid "no" ++msgstr "non" ++ ++#: gui/curs_lib.c:519 ++msgid "Exit NeoMutt?" ++msgstr "¿Saír de NeoMutt?" ++ ++#: gui/curs_lib.c:598 ++msgid "Press any key to continue..." ++msgstr "Pulsa calquera tecla para seguir..." ++ ++#: gui/curs_lib.c:749 ++msgid " ('?' for list): " ++msgstr "('?' para lista): " ++ + #: handler.c:102 + #, fuzzy, c-format + msgid "[-- Type: %s/%s%s%s, Encoding: %s, Size: %s --]\n" +@@ -1879,23 +2140,23 @@ msgstr "[-- Automostra usando %s --]\n" + msgid "Invoking autoview command: %s" + msgstr "Chamando ó comando de automostra: %s" + +-#: handler.c:591 mutt_attach.c:527 mutt_attach.c:714 mutt_attach.c:745 +-#: mutt_attach.c:1087 mutt_attach.c:1152 ncrypt/pgpkey.c:723 +-#: ncrypt/pgpkey.c:920 ++#: handler.c:590 mutt_attach.c:555 mutt_attach.c:747 mutt_attach.c:778 ++#: mutt_attach.c:1120 mutt_attach.c:1185 ncrypt/pgpkey.c:756 ++#: ncrypt/pgpkey.c:955 + msgid "Can't create filter" + msgstr "Non podo crea-lo filtro" + +-#: handler.c:595 ++#: handler.c:594 + #, fuzzy, c-format + msgid "[-- Can't run %s. --]\n" + msgstr "[-- o %s --]\n" + +-#: handler.c:614 handler.c:635 ++#: handler.c:613 handler.c:634 + #, c-format + msgid "[-- Autoview stderr of %s --]\n" + msgstr "[-- Automostra da stderr de %s --]\n" + +-#: handler.c:764 ++#: handler.c:763 + msgid "[-- Error: message/external-body has no access-type parameter --]\n" + msgstr "[-- Erro: mensaxe/corpo externo non ten parámetro \"access-type\"--]\n" + +@@ -1914,7 +2175,7 @@ msgstr "[-- Erro: mensaxe/corpo externo non ten parámetro \"access-type\"--]\n" + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:807 ++#: handler.c:806 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" +@@ -1943,7 +2204,7 @@ msgstr[1] "" + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:830 ++#: handler.c:829 + #, fuzzy, c-format + msgid "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" + msgid_plural "[-- This %s/%s attachment (size %s bytes) has been deleted --]\n" +@@ -1957,7 +2218,7 @@ msgstr[1] "[-- Este adxunto %s/%s (tamaño %s bytes) foi borrado --]\n" + #. + #. Caution: Argument three %3$ is also defined but should not be used + #. in this translation! +-#: handler.c:848 ++#: handler.c:847 + #, fuzzy + msgid "" + "[-- This %s/%s attachment has been deleted --]\n" +@@ -1969,12 +2230,12 @@ msgstr "" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The first "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:856 ++#: handler.c:855 + #, fuzzy, c-format + msgid "[-- This %s/%s attachment has been deleted --]\n" + msgstr "[-- Este adxunto %s/%s foi borrado --]\n" + +-#: handler.c:866 ++#: handler.c:865 + #, c-format + msgid "[-- name: %s --]\n" + msgstr "[-- nome: %s --]\n" +@@ -1982,7 +2243,7 @@ msgstr "[-- nome: %s --]\n" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:884 ++#: handler.c:883 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -1997,7 +2258,7 @@ msgstr "" + #. The "%s/%s" is a MIME type, e.g. "text/plain". The %s after + #. access-type is an access-type as defined by the MIME RFCs, e.g. "FTP", + #. "LOCAL-FILE", "MAIL-SERVER". +-#: handler.c:905 ++#: handler.c:904 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -2006,95 +2267,95 @@ msgstr "" + "[-- Este adxunto %s/%s non está incluido, --]\n" + "[-- e o \"access-type\" %s indicado non está soportado --]\n" + +-#: handler.c:1090 ++#: handler.c:1089 + msgid "[-- Error: Could not display any parts of Multipart/Alternative --]\n" + msgstr "[-- Erro: ¡Non foi posible amosar ningunha parte de Multipart/Alternative--]\n" + + #. L10N: %s is the attachment description, filename or form_name. +-#: handler.c:1231 ++#: handler.c:1230 + #, fuzzy, c-format + msgid "[-- Attachment #%d: %s --]\n" + msgstr "[-- Adxunto #%d: %s --]\n" + +-#: handler.c:1236 ++#: handler.c:1235 + #, fuzzy, c-format + msgid "[-- Attachment #%d --]\n" + msgstr "[-- Adxunto #%d --]\n" + +-#: handler.c:1254 ++#: handler.c:1253 + msgid "One or more parts of this message could not be displayed" + msgstr "" + +-#: handler.c:1320 ++#: handler.c:1319 + #, fuzzy + msgid "Unable to open 'memory stream'" + msgstr "¡Non foi posible abri-lo ficheiro temporal" + +-#: handler.c:1330 ++#: handler.c:1329 + msgid "Unable to open temporary file" + msgstr "¡Non foi posible abri-lo ficheiro temporal" + +-#: handler.c:1379 ++#: handler.c:1378 + #, fuzzy + msgid "failed to re-open 'memory stream'" + msgstr "¡Non foi posible abri-lo ficheiro temporal" + +-#: handler.c:1620 ++#: handler.c:1619 + msgid "Error: multipart/signed has no protocol" + msgstr "Erro: multipart/signed non ten protocolo" + + #. L10N: %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1694 ++#: handler.c:1693 + #, fuzzy, c-format + msgid "[-- This is an attachment (use '%s' to view this part) --]\n" + msgstr "[-- Este adxunto %s/%s (use '%s' para ver esta parte) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". + #. The last %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1701 ++#: handler.c:1700 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported (use '%s' to view this part) --]\n" + msgstr "[-- %s/%s non está soportado (use '%s' para ver esta parte) --]\n" + +-#: handler.c:1709 ++#: handler.c:1708 + #, fuzzy + msgid "[-- This is an attachment (need 'view-attachments' bound to key) --]\n" + msgstr "[-- Este adxunto %s/%s (cómpre que 'view-attachments' esté vinculado a unha tecla) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1715 ++#: handler.c:1714 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported (need 'view-attachments' bound to key) --]\n" + msgstr "[-- %s/%s non está soportado (cómpre que 'view-attachments' esté vinculado a unha tecla) --]\n" + +-#: handler.c:1724 ++#: handler.c:1723 + #, fuzzy + msgid "[-- This is an attachment --]\n" + msgstr "[-- Este adxunto %s/%s --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1729 ++#: handler.c:1728 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported --]\n" + msgstr "[-- %s/%s non está soportado --]\n" + +-#: help.c:400 ++#: help.c:401 + msgid "ERROR: please report this bug" + msgstr "ERRO: por favor, informe deste fallo" + +-#: help.c:455 ++#: help.c:456 + msgid "" + msgstr "" + +-#: help.c:469 ++#: help.c:470 + msgid "Generic bindings:" + msgstr "Vínculos xerais:" + +-#: help.c:473 ++#: help.c:474 + msgid "Unbound functions:" + msgstr "Funcións sen vínculo:" + +-#: help.c:481 ++#: help.c:482 + #, c-format + msgid "Help for %s" + msgstr "Axuda sobre %s" +@@ -2111,41 +2372,41 @@ msgstr "" + msgid "badly formatted command string" + msgstr "" + +-#: hook.c:461 ++#: hook.c:466 + msgid "unhook: Can't do unhook * from within a hook" + msgstr "unhook: Non é posible facer 'unhook *' dentro doutro hook" + +-#: hook.c:474 ++#: hook.c:479 + #, c-format + msgid "unhook: unknown hook type: %s" + msgstr "unhook: tipo descoñecido: %s" + +-#: hook.c:484 ++#: hook.c:489 + #, c-format + msgid "unhook: Can't delete a %s from within a %s" + msgstr "unhook: non é posible borrar un %s dende dentro dun %s" + + #. L10N: '%s' is the (misspelled) name of the menu, e.g. 'index' or 'pager' +-#: icommands.c:259 keymap.c:1161 keymap.c:1346 ++#: icommands.c:261 keymap.c:1159 keymap.c:1344 + #, c-format + msgid "%s: no such menu" + msgstr "%s: non hai tal menú" + + #. L10N: '%s' is the name of the menu, e.g. 'index' or 'pager', it might + #. L10N: also be 'all' when all menus are affected. +-#: icommands.c:272 ++#: icommands.c:274 + #, fuzzy, c-format + msgid "%s: no binds for this menu" + msgstr "%s: non hai tal menú" + +-#: icommands.c:272 ++#: icommands.c:274 + #, fuzzy, c-format + msgid "%s: no macros for this menu" + msgstr "%s: non hai tal menú" + + #. L10N: '%s' is the file name of the temporary file +-#: icommands.c:283 icommands.c:296 icommands.c:316 icommands.c:340 +-#: icommands.c:360 icommands.c:371 imap/message.c:1093 ++#: icommands.c:285 icommands.c:297 icommands.c:317 icommands.c:340 ++#: icommands.c:360 icommands.c:370 imap/message.c:1093 + #, fuzzy, c-format + msgid "Could not create temporary file %s" + msgstr "¡Non foi posible crear o ficheiro temporal!" +@@ -2183,30 +2444,30 @@ msgstr "Autenticación GSSAPI fallida" + msgid "LOGIN disabled on this server" + msgstr "LOGIN deshabilitado neste servidor" + +-#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:288 ++#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:289 + msgid "Logging in..." + msgstr "Comezando secuencia de login ..." + +-#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:329 ++#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:330 + msgid "Login failed" + msgstr "O login fallou" + +-#: imap/auth_oauth.c:64 pop/pop_auth.c:346 smtp.c:524 ++#: imap/auth_oauth.c:65 pop/pop_auth.c:347 smtp.c:549 + #, fuzzy + msgid "Authenticating (OAUTHBEARER)..." + msgstr "Autenticando (SASL)..." + +-#: imap/auth_oauth.c:96 ++#: imap/auth_oauth.c:97 + #, fuzzy + msgid "OAUTHBEARER authentication failed" + msgstr "Autenticación OAUTHBEARER fallida" + +-#: imap/auth_sasl.c:128 nntp/nntp.c:606 nntp/nntp.c:671 smtp.c:443 ++#: imap/auth_sasl.c:128 nntp/nntp.c:608 nntp/nntp.c:673 smtp.c:468 + #, fuzzy, c-format + msgid "Authenticating (%s)..." + msgstr "Autenticando (APOP)..." + +-#: imap/auth_sasl.c:259 pop/pop_auth.c:200 smtp.c:584 smtp.c:646 ++#: imap/auth_sasl.c:259 pop/pop_auth.c:201 smtp.c:609 smtp.c:671 + msgid "SASL authentication failed" + msgstr "Autenticación SASL fallida" + +@@ -2257,92 +2518,82 @@ msgstr "O login fallou." + msgid "Mailbox renamed" + msgstr "Buzón creado" + +-#: imap/command.c:164 ++#: imap/command.c:177 + #, fuzzy, c-format + msgid "Mailbox %s@%s closed" + msgstr "Buzón borrado." + +-#: imap/command.c:1258 imap/command.c:1370 ++#: imap/command.c:1287 imap/command.c:1399 + #, fuzzy, c-format + msgid "Connection to %s timed out" + msgstr "Fallou a conexión con %s." + +-#: imap/imap.c:87 ++#: imap/imap.c:93 + #, fuzzy + msgid "This IMAP server is ancient. NeoMutt does not work with it." + msgstr "Este servidor IMAP é moi vello. NeoMutt non traballa con el." + +-#: imap/imap.c:438 ++#: imap/imap.c:444 + #, c-format + msgid "Header search without header name: %s" + msgstr "" + +-#: imap/imap.c:468 ++#: imap/imap.c:474 + #, c-format + msgid "Server-side custom search not supported: %s" + msgstr "" + +-#: imap/imap.c:584 ++#: imap/imap.c:590 + #, fuzzy, c-format + msgid "CREATE failed: %s" + msgstr "O login fallou." + +-#: imap/imap.c:704 ++#: imap/imap.c:710 + #, c-format + msgid "Closing connection to %s..." + msgstr "Pechando conexión con %s..." + +-#: imap/imap.c:882 nntp/nntp.c:1889 pop/pop_lib.c:324 smtp.c:687 ++#: imap/imap.c:888 nntp/nntp.c:1891 pop/pop_lib.c:350 smtp.c:712 + msgid "Secure connection with TLS?" + msgstr "¿Usar conexión segura con TLS?" + +-#: imap/imap.c:895 nntp/nntp.c:1910 pop/pop_lib.c:343 smtp.c:702 ++#: imap/imap.c:901 nntp/nntp.c:1912 pop/pop_lib.c:369 smtp.c:727 + msgid "Could not negotiate TLS connection" + msgstr "" + +-#: imap/imap.c:910 pop/pop_lib.c:360 ++#: imap/imap.c:916 pop/pop_lib.c:386 + #, fuzzy + msgid "Encrypted connection unavailable" + msgstr "Chave da sesión encriptada" + +-#: imap/imap.c:1417 ++#: imap/imap.c:1430 + #, c-format + msgid "Subscribing to %s..." + msgstr "Subscribindo a %s..." + +-#: imap/imap.c:1419 ++#: imap/imap.c:1432 + #, fuzzy, c-format + msgid "Unsubscribing from %s..." + msgstr "Borrando a subscripción con %s..." + +-#: imap/imap.c:1430 init.c:2142 +-#, fuzzy, c-format +-msgid "Subscribed to %s" +-msgstr "Subscribindo a %s..." +- +-#: imap/imap.c:1432 init.c:2620 +-#, fuzzy, c-format +-msgid "Unsubscribed from %s" +-msgstr "Borrando a subscripción con %s..." +- +-#: imap/imap.c:1582 imap/message.c:1674 ++#: imap/imap.c:1595 imap/message.c:1674 + #, fuzzy, c-format + msgid "Copying %d message to %s..." + msgid_plural "Copying %d messages to %s..." + msgstr[0] "Copiando %d mensaxes a %s..." + msgstr[1] "Copiando %d mensaxes a %s..." + +-#: imap/imap.c:1599 imap/imap.c:2217 imap/message.c:1713 muttlib.c:1505 ++#: imap/imap.c:1612 imap/imap.c:2254 imap/message.c:1713 muttlib.c:1503 + #, c-format + msgid "Create %s?" + msgstr "¿Crear %s?" + +-#: imap/imap.c:1667 ++#: imap/imap.c:1685 + #, fuzzy + msgid "Expunge failed" + msgstr "O login fallou." + +-#: imap/imap.c:1683 ++#: imap/imap.c:1701 + #, fuzzy, c-format + msgid "Marking %d message deleted..." + msgid_plural "Marking %d messages deleted..." +@@ -2350,45 +2601,45 @@ msgstr[0] "Marcando %d mensaxes borradas ..." + msgstr[1] "Marcando %d mensaxes borradas ..." + + #. L10N: The plural is chosen by the last %d, i.e. the total number +-#: imap/imap.c:1720 ++#: imap/imap.c:1738 + #, fuzzy, c-format + msgid "Saving changed message... [%d/%d]" + msgid_plural "Saving changed messages... [%d/%d]" + msgstr[0] "Gardando indicadores de estado da mensaxe... [%d/%d]" + msgstr[1] "Gardando indicadores de estado da mensaxe... [%d/%d]" + +-#: imap/imap.c:1776 ++#: imap/imap.c:1794 + msgid "Error saving flags. Close anyway?" + msgstr "" + +-#: imap/imap.c:1783 ++#: imap/imap.c:1801 + #, fuzzy + msgid "Error saving flags" + msgstr "¡Erro analizando enderezo!" + +-#: imap/imap.c:1808 ++#: imap/imap.c:1826 + msgid "Expunging messages from server..." + msgstr "Borrando mensaxes do servidor..." + +-#: imap/imap.c:1814 ++#: imap/imap.c:1832 + msgid "imap_sync_mailbox: EXPUNGE failed" + msgstr "" + +-#: imap/imap.c:2023 nntp/nntp.c:2486 ++#: imap/imap.c:2058 nntp/nntp.c:2488 + #, c-format + msgid "Selecting %s..." + msgstr "Seleccionando %s..." + +-#: imap/imap.c:2184 ++#: imap/imap.c:2221 + #, fuzzy + msgid "Error opening mailbox" + msgstr "¡Erro cando se estaba a escribi-lo buzón!" + +-#: imap/imap.c:2330 ++#: imap/imap.c:2367 + msgid "IMAP server doesn't support custom flags" + msgstr "" + +-#: imap/imap.c:2374 ++#: imap/imap.c:2411 + #, fuzzy + msgid "Invalid IMAP flags" + msgstr "Mes inválido: %s" +@@ -2399,7 +2650,7 @@ msgid "Abort download and close mailbox?" + msgstr "" + + #: imap/message.c:554 mutt/memory.c:58 mutt/memory.c:98 mutt/memory.c:134 +-#: mutt/string.c:1178 mx.c:1176 ++#: mutt/string.c:1201 mx.c:1195 + msgid "Out of memory" + msgstr "¡Memoria agotada" + +@@ -2420,7 +2671,7 @@ msgstr "Recollendo cabeceiras de mensaxes... [%d/%d]" + msgid "Unable to fetch headers from this IMAP server version" + msgstr "Non foi posible recoller cabeceiras da versión de IMAP do servidor" + +-#: imap/message.c:1099 index.c:1548 nntp/nntp.c:1328 pop/pop.c:426 ++#: imap/message.c:1099 index.c:1554 nntp/nntp.c:1330 pop/pop.c:426 + #, fuzzy + msgid "Fetching message headers..." + msgstr "Recollendo cabeceiras de mensaxes... [%d/%d]" +@@ -2435,161 +2686,161 @@ msgstr "Enviando mensaxe ..." + msgid "Copying message %d to %s..." + msgstr "Copiando mensaxe %d a %s..." + +-#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2737 pop/pop.c:1110 ++#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2739 pop/pop.c:1105 + msgid "Fetching message..." + msgstr "Recollendo mensaxe..." + +-#: imap/message.c:1959 pop/pop.c:1106 ++#: imap/message.c:1959 pop/pop.c:1101 + msgid "The message index is incorrect. Try reopening the mailbox." + msgstr "O índice de mensaxes é incorrecto. Tente reabri-lo buzón." + +-#: imap/util.c:767 ++#: imap/util.c:796 + msgid "Continue?" + msgstr "¿Seguir?" + +-#: index.c:115 index.c:128 ++#: index.c:111 index.c:124 + msgid "Quit" + msgstr "Saír" + +-#: index.c:118 index.c:131 recvattach.c:93 ++#: index.c:114 index.c:127 recvattach.c:91 + msgid "Save" + msgstr "Gardar" + +-#: index.c:119 query.c:81 ++#: index.c:115 query.c:79 + msgid "Mail" + msgstr "Nova" + +-#: index.c:120 pager.c:237 ++#: index.c:116 pager.c:229 + msgid "Reply" + msgstr "Responder" + +-#: index.c:121 ++#: index.c:117 + msgid "Group" + msgstr "Grupo" + +-#: index.c:132 pager.c:244 ++#: index.c:128 pager.c:236 + msgid "Post" + msgstr "" + +-#: index.c:133 pager.c:245 ++#: index.c:129 pager.c:237 + #, fuzzy + msgid "Followup" + msgstr "¿Responder a %s%s?" + +-#: index.c:190 index.c:1362 ++#: index.c:186 index.c:1367 + msgid "No mailbox is open" + msgstr "Non hai buzóns abertos" + + # +-#: index.c:196 ++#: index.c:192 + msgid "There are no messages" + msgstr "Non hai mensaxes" + +-#: index.c:202 ++#: index.c:198 + #, fuzzy + msgid "No visible messages" + msgstr "Non hai novas mensaxes" + +-#: index.c:208 mx.c:901 pager.c:223 recvattach.c:80 ++#: index.c:204 mx.c:920 pager.c:215 recvattach.c:78 + msgid "Mailbox is read-only" + msgstr "O buzón é de só lectura" + + # +-#: index.c:214 pager.c:225 recvattach.c:98 ++#: index.c:210 pager.c:217 recvattach.c:96 + msgid "Function not permitted in attach-message mode" + msgstr "Función non permitida no modo \"adxuntar-mensaxe\"" + + #. L10N: %s is one of the CHECK_ACL entries below. +-#: index.c:239 pager.c:290 ++#: index.c:235 pager.c:282 + #, c-format + msgid "%s: Operation not permitted by ACL" + msgstr "" + +-#: index.c:430 ++#: index.c:426 + msgid "Can't toggle write on a readonly mailbox" + msgstr "¡Non se pode cambiar a escritura un buzón de só lectura" + +-#: index.c:437 ++#: index.c:433 + msgid "Changes to folder will be written on folder exit" + msgstr "Os cambios ó buzón serán escritos á saída da carpeta" + +-#: index.c:442 ++#: index.c:438 + msgid "Changes to folder will not be written" + msgstr "Os cambios á carpeta non serán gardados" + +-#: index.c:719 muttlib.c:1490 mx.c:206 mx.c:340 ++#: index.c:714 muttlib.c:1488 mx.c:206 mx.c:338 + #, c-format + msgid "%s is not a mailbox" + msgstr "¡%s non é un buzón" + +-#: index.c:1218 ++#: index.c:1223 + msgid "Mailbox was externally modified. Flags may be wrong." + msgstr "O buzón foi modificado externamente. Os indicadores poden ser erróneos" + +-#: index.c:1227 pager.c:2409 ++#: index.c:1232 pager.c:2379 + msgid "New mail in this mailbox" + msgstr "Novo correo neste buzón" + +-#: index.c:1242 ++#: index.c:1247 + #, fuzzy + msgid "Mailbox was externally modified" + msgstr "O buzón foi modificado externamente. Os indicadores poden ser erróneos" + +-#: index.c:1369 ++#: index.c:1374 + msgid "No tagged messages" + msgstr "Non hai mensaxes marcadas" + +-#: index.c:1373 index.c:1647 menu.c:1423 ++#: index.c:1378 index.c:1653 menu.c:1423 + #, fuzzy + msgid "Nothing to do" + msgstr "Conectando con %s.." + +-#: index.c:1470 ++#: index.c:1475 + #, fuzzy + msgid "Enter Message-Id: " + msgstr "Introduza keyID para %s: " + +-#: index.c:1481 ++#: index.c:1487 + msgid "Article has no parent reference" + msgstr "" + +-#: index.c:1504 ++#: index.c:1510 + #, fuzzy + msgid "Message is not visible in limited view" + msgstr "A mensaxe pai non é visible na vista limitada" + +-#: index.c:1508 ++#: index.c:1514 + #, fuzzy, c-format + msgid "Fetching %s from server..." + msgstr "Borrando mensaxes do servidor..." + +-#: index.c:1518 nntp/nntp.c:2772 ++#: index.c:1524 nntp/nntp.c:2774 + #, c-format + msgid "Article %s not found on the server" + msgstr "" + +-#: index.c:1544 ++#: index.c:1550 + msgid "No Message-Id. Unable to perform operation." + msgstr "" + +-#: index.c:1623 ++#: index.c:1629 + #, fuzzy + msgid "No deleted messages found in the thread" + msgstr "borrar tódalas mensaxes no fío" + +-#: index.c:1644 ++#: index.c:1650 + msgid "Jump to message: " + msgstr "Saltar á mensaxe: " + +-#: index.c:1650 ++#: index.c:1656 + msgid "Argument must be a message number" + msgstr "O parámetro debe ser un número de mensaxe" + +-#: index.c:1652 ++#: index.c:1658 + msgid "Invalid message number" + msgstr "Número de mensaxe inválido" + +-#: index.c:1654 ++#: index.c:1660 + msgid "That message is not visible" + msgstr "Esa mensaxe non é visible" + +@@ -2602,38 +2853,38 @@ msgstr "Esa mensaxe non é visible" + #. delete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. + #. +-#: index.c:1692 index.c:3267 pager.c:3064 ++#: index.c:1698 index.c:3293 pager.c:3039 + #, fuzzy + msgid "Can't delete messages" + msgstr "Non hai mensaxes recuperadas." + +-#: index.c:1695 ++#: index.c:1701 + msgid "Delete messages matching: " + msgstr "Borrar as mensaxes que coincidan con: " + +-#: index.c:1736 ++#: index.c:1742 + msgid "No limit pattern is in effect" + msgstr "Non hai patrón limitante efectivo" + + #. L10N: ask for a limit to apply +-#: index.c:1741 ++#: index.c:1747 + #, c-format + msgid "Limit: %s" + msgstr "Límite: %s" + +-#: index.c:1778 ++#: index.c:1784 + msgid "Limit to messages matching: " + msgstr "Limitar ás mensaxes que coincidan con: " + +-#: index.c:1809 ++#: index.c:1815 + msgid "To view all messages, limit to \"all\"" + msgstr "" + +-#: index.c:1821 pager.c:2514 ++#: index.c:1827 pager.c:2487 + msgid "Quit NeoMutt?" + msgstr "¿Saír de NeoMutt?" + +-#: index.c:1924 ++#: index.c:1931 + msgid "Tag messages matching: " + msgstr "Marcar as mensaxes que coincidan con: " + +@@ -2641,213 +2892,213 @@ msgstr "Marcar as mensaxes que coincidan con: " + #. L10N: Due to the implementation details we do not know whether we + #. undelete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:1935 index.c:3807 pager.c:3418 ++#: index.c:1942 index.c:3833 pager.c:3396 + #, fuzzy + msgid "Can't undelete messages" + msgstr "Non hai mensaxes recuperadas." + +-#: index.c:1939 ++#: index.c:1946 + msgid "Undelete messages matching: " + msgstr "Recuperar as mensaxes que coincidan con: " + +-#: index.c:1948 ++#: index.c:1955 + msgid "Untag messages matching: " + msgstr "Desmarcar as mensaxes que coincidan con: " + +-#: index.c:1989 ++#: index.c:1996 + #, fuzzy + msgid "Logged out of IMAP servers" + msgstr "Pechando conexión ó servidor IMAP.." + +-#: index.c:2105 ++#: index.c:2113 + #, fuzzy + msgid "No virtual folder and no Message-Id, aborting" + msgstr "Non hai tema, cancelando" + +-#: index.c:2117 index.c:2288 index.c:2310 index.c:2331 ++#: index.c:2125 index.c:2313 index.c:2335 index.c:2356 + msgid "Failed to create query, aborting" + msgstr "" + +-#: index.c:2130 ++#: index.c:2138 + msgid "failed to find message in notmuch database. try running 'notmuch new'." + msgstr "" + +-#: index.c:2139 ++#: index.c:2147 + msgid "Failed to read thread, aborting" + msgstr "" + +-#: index.c:2171 mx.c:1252 mx.c:1272 ++#: index.c:2179 mx.c:1271 mx.c:1291 + msgid "Folder doesn't support tagging, aborting" + msgstr "" + +-#: index.c:2188 ++#: index.c:2196 + #, fuzzy + msgid "No tag specified, aborting" + msgstr "Non hai tema, cancelando" + +-#: index.c:2198 ++#: index.c:2206 + msgid "Update tags..." + msgstr "" + +-#: index.c:2238 ++#: index.c:2246 + msgid "Failed to modify tags, aborting" + msgstr "" + +-#: index.c:2284 ++#: index.c:2293 + #, fuzzy + msgid "No query, aborting" + msgstr "Non hai tema, cancelando" + +-#: index.c:2299 index.c:2320 ++#: index.c:2324 index.c:2345 + msgid "Windowed queries disabled" + msgstr "" + +-#: index.c:2304 index.c:2325 ++#: index.c:2329 index.c:2350 + msgid "No notmuch vfolder currently loaded" + msgstr "" + +-#: index.c:2374 ++#: index.c:2399 + msgid "Open mailbox in read-only mode" + msgstr "Abrir buzón en modo de só lectura" + +-#: index.c:2376 ++#: index.c:2401 + msgid "Open mailbox" + msgstr "Abrir buzón" + +-#: index.c:2386 ++#: index.c:2411 + #, fuzzy + msgid "No mailboxes have new mail" + msgstr "Non hai buzóns con novo correo." + +-#: index.c:2419 ++#: index.c:2444 + #, fuzzy + msgid "Open newsgroup in read-only mode" + msgstr "Abrir buzón en modo de só lectura" + +-#: index.c:2421 ++#: index.c:2446 + msgid "Open newsgroup" + msgstr "" + +-#: index.c:2538 ++#: index.c:2564 + #, fuzzy + msgid "Exit NeoMutt without saving?" + msgstr "¿Saír de NeoMutt sen gardar?" + + #. L10N: CHECK_ACL +-#: index.c:2554 ++#: index.c:2580 + #, fuzzy + msgid "Can't break thread" + msgstr "Non se puido crea-lo filtro" + +-#: index.c:2574 ++#: index.c:2600 + msgid "Thread broken" + msgstr "" + +-#: index.c:2587 ++#: index.c:2613 + msgid "Thread can't be broken, message is not part of a thread" + msgstr "" + + #. L10N: CHECK_ACL +-#: index.c:2597 ++#: index.c:2623 + msgid "Can't link threads" + msgstr "" + +-#: index.c:2606 ++#: index.c:2632 + msgid "No Message-ID: header available to link thread" + msgstr "" + +-#: index.c:2608 ++#: index.c:2634 + #, fuzzy + msgid "First, please tag a message to be linked here" + msgstr "gardar esta mensaxe para mandar logo" + +-#: index.c:2621 ++#: index.c:2647 + msgid "Threads linked" + msgstr "" + +-#: index.c:2624 ++#: index.c:2650 + msgid "No thread linked" + msgstr "" + +-#: index.c:2665 index.c:2690 ++#: index.c:2691 index.c:2716 + msgid "You are on the last message" + msgstr "Está na última mensaxe" + +-#: index.c:2673 index.c:2716 ++#: index.c:2699 index.c:2742 + msgid "No undeleted messages" + msgstr "Non hai mensaxes recuperadas" + +-#: index.c:2708 index.c:2733 ++#: index.c:2734 index.c:2759 + msgid "You are on the first message" + msgstr "Está na primeira mensaxe" + +-#: index.c:2874 ++#: index.c:2900 + #, fuzzy + msgid "No new messages in this limited view" + msgstr "A mensaxe pai non é visible na vista limitada" + +-#: index.c:2876 ++#: index.c:2902 + #, fuzzy + msgid "No new messages" + msgstr "Non hai novas mensaxes" + +-#: index.c:2881 ++#: index.c:2907 + #, fuzzy + msgid "No unread messages in this limited view" + msgstr "A mensaxe pai non é visible na vista limitada" + +-#: index.c:2883 ++#: index.c:2909 + #, fuzzy + msgid "No unread messages" + msgstr "Non hai mensaxes sen ler" + +-#: index.c:2893 menu.c:1208 pager.c:2644 pattern.c:2652 ++#: index.c:2919 menu.c:1208 pager.c:2618 pattern.c:2776 + msgid "Search wrapped to top" + msgstr "A búsqueda volveu ó principio" + +-#: index.c:2898 pager.c:2669 pattern.c:2663 ++#: index.c:2924 pager.c:2643 pattern.c:2787 + msgid "Search wrapped to bottom" + msgstr "A búsqueda volveu ó final" + + #. L10N: CHECK_ACL +-#: index.c:2915 ++#: index.c:2941 + #, fuzzy + msgid "Can't flag message" + msgstr "amosar unha mensaxe" + + #. L10N: CHECK_ACL +-#: index.c:2961 pager.c:3377 ++#: index.c:2987 pager.c:3355 + msgid "Can't toggle new" + msgstr "" + +-#: index.c:3057 ++#: index.c:3083 + msgid "No more threads" + msgstr "Non hai máis fíos" + +-#: index.c:3059 ++#: index.c:3085 + msgid "You are on the first thread" + msgstr "Está no primeiro fío" + +-#: index.c:3156 ++#: index.c:3182 + #, fuzzy + msgid "Thread contains unread or flagged messages" + msgstr "O fío contén mensaxes sen ler" + + #. L10N: CHECK_ACL +-#: index.c:3215 pager.c:3019 ++#: index.c:3241 pager.c:2994 + #, fuzzy + msgid "Can't delete message" + msgstr "Non hai mensaxes recuperadas." + + #. L10N: CHECK_ACL +-#: index.c:3339 ++#: index.c:3365 + #, fuzzy + msgid "Can't edit message" + msgstr "Non foi posible escribi-la mensaxe" + + #. L10N: This is displayed when the x-label on one or more + #. messages is edited. +-#: index.c:3432 pager.c:3495 ++#: index.c:3458 pager.c:3473 + #, fuzzy, c-format + msgid "%d label changed" + msgid_plural "%d labels changed" +@@ -2857,7 +3108,7 @@ msgstr[1] "O buzón non cambiou" + #. L10N: This is displayed when editing an x-label, but no messages + #. were updated. Possibly due to canceling at the prompt or if the new + #. label is the same as the old label. +-#: index.c:3440 pager.c:3499 ++#: index.c:3466 pager.c:3477 + #, fuzzy + msgid "No labels changed" + msgstr "O buzón non cambiou" +@@ -2866,7 +3117,7 @@ msgstr "O buzón non cambiou" + #. L10N: Due to the implementation details we do not know whether we + #. mark zero, 1, 12, ... messages as read. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:3571 ++#: index.c:3597 + #, fuzzy + msgid "Can't mark messages as read" + msgstr "saltar á mensaxe pai no fío" +@@ -2874,14 +3125,14 @@ msgstr "saltar á mensaxe pai no fío" + #. L10N: This is the prompt for . Whatever they + #. enter will be prefixed by $mark_macro_prefix and will become + #. a macro hotkey to jump to the currently selected message. +-#: index.c:3612 ++#: index.c:3638 + #, fuzzy + msgid "Enter macro stroke: " + msgstr "Introduza keyID para %s: " + + #. L10N: "message hotkey" is the key bindings menu description of a + #. macro created by . +-#: index.c:3620 ++#: index.c:3646 + #, fuzzy + msgid "message hotkey" + msgstr "Mensaxe posposta." +@@ -2889,269 +3140,126 @@ msgstr "Mensaxe posposta." + #. L10N: This is echoed after creates a new hotkey + #. macro. %s is the hotkey string ($mark_macro_prefix followed + #. by whatever they typed at the prompt.) +-#: index.c:3625 ++#: index.c:3651 + #, fuzzy, c-format + msgid "Message bound to %s" + msgstr "Mensaxe rebotada" + + #. L10N: This error is printed if can't find a + #. Message-ID for the currently selected message in the index. +-#: index.c:3634 ++#: index.c:3660 + #, fuzzy + msgid "No message ID to macro" + msgstr "Non hai mensaxes nese buzón" + +-#: index.c:3688 pager.c:3221 recvattach.c:1646 ++#: index.c:3714 pager.c:3196 recvattach.c:1678 + msgid "Reply by mail as poster prefers?" + msgstr "" + +-#: index.c:3691 pager.c:3182 pager.c:3194 pager.c:3224 ++#: index.c:3717 pager.c:3157 pager.c:3169 pager.c:3199 + msgid "Posting to this group not allowed, may be moderated. Continue?" + msgstr "" + + #. L10N: CHECK_ACL +-#: index.c:3768 pager.c:3397 ++#: index.c:3794 pager.c:3375 + #, fuzzy + msgid "Can't undelete message" + msgstr "Non hai mensaxes recuperadas." + +-#: init.c:313 ++#: init.c:223 + #, c-format + msgid "Error in command line: %s" + msgstr "Erro na liña de comando: %s" + +-#: init.c:315 ++#: init.c:225 + #, fuzzy, c-format + msgid "Warning in command line: %s" + msgstr "Erro na liña de comando: %s" + +-#: init.c:426 ++#: init.c:336 + #, fuzzy + msgid "unable to determine nodename via uname()" + msgstr "non foi posible determina-lo nome de usuario" + +-#: init.c:580 +-msgid "-group: no group name" +-msgstr "" +- +-#: init.c:590 +-#, fuzzy +-msgid "out of arguments" +-msgstr "parámetros insuficientes" +- +-#: init.c:804 init.c:1752 +-#, c-format +-msgid "Error: Can't build path of '%s'" +-msgstr "" +- +-#: init.c:817 +-#, c-format +-msgid "Error: Cyclic sourcing of configuration file '%s'" +-msgstr "" +- +-#: init.c:850 +-#, c-format +-msgid "Error in %s, line %d: %s" +-msgstr "Erro en %s, liña %d: %s" +- +-#: init.c:861 +-#, fuzzy, c-format +-msgid "Warning in %s, line %d: %s" +-msgstr "Erro en %s, liña %d: %s" +- +-#: init.c:885 +-#, c-format +-msgid "source: errors in %s" +-msgstr "source: erros en %s" +- +-#: init.c:885 +-#, fuzzy, c-format +-msgid "source: reading aborted due to too many errors in %s" +-msgstr "source: a lectura foi abortada por haber demasiados erros in %s" +- +-#: init.c:894 +-#, fuzzy, c-format +-msgid "source: %d warning in %s" +-msgid_plural "source: %d warnings in %s" +-msgstr[0] "source: erros en %s" +-msgstr[1] "source: erros en %s" +- +-#: init.c:923 +-msgid "alias: no address" +-msgstr "alias: sen enderezo" +- +-#: init.c:965 +-#, c-format +-msgid "Warning: Bad IDN '%s' in alias '%s'" +-msgstr "" +- +-#: init.c:1043 +-#, fuzzy +-msgid "attachments: no disposition" +-msgstr "edita-la descripción do adxunto" +- +-#: init.c:1054 +-#, fuzzy +-msgid "Current attachments settings:" +-msgstr "edita-la descripción do adxunto" +- +-#: init.c:1084 +-#, fuzzy +-msgid "attachments: invalid disposition" +-msgstr "edita-la descripción do adxunto" +- +-#: init.c:1160 +-#, c-format +-msgid "%sgroup: missing -rx or -addr" +-msgstr "" +- +-#: init.c:1186 +-#, c-format +-msgid "%sgroup: warning: bad IDN '%s'" +-msgstr "" +- +-#: init.c:1278 +-#, c-format +-msgid "Error: %s" +-msgstr "" +- +-#: init.c:1445 +-msgid "invalid header field" +-msgstr "campo de cabeceira inválido" +- +-#: init.c:1711 init.c:1815 +-#, c-format +-msgid "%s: unknown variable" +-msgstr "%s: variable descoñecida" +- +-#: init.c:1908 +-#, c-format +-msgid "%s is unset" +-msgstr "%s non está activada" +- +-#: init.c:1953 mutt_lua.c:478 +-#, c-format +-msgid "source: error at %s" +-msgstr "source: erro en %s" +- +-#: init.c:1961 +-#, fuzzy, c-format +-msgid "source: file %s could not be sourced" +-msgstr "Non foi posible imprimi-las mensaxes" +- +-#: init.c:1984 +-#, fuzzy +-msgid "spam: no matching pattern" +-msgstr "marcar mensaxes coincidintes cun patrón" +- +-#: init.c:1986 +-#, fuzzy +-msgid "nospam: no matching pattern" +-msgstr "quitar marca a mensaxes coincidintes cun patrón" +- +-#: init.c:2146 +-#, fuzzy, c-format +-msgid "Could not subscribe to %s" +-msgstr "Subscribindo a %s..." +- +-#: init.c:2154 init.c:2632 +-#, fuzzy +-msgid "No folder specified" +-msgstr "Non se especificou tema." +- +-#: init.c:2341 +-#, fuzzy +-msgid "unattachments: no disposition" +-msgstr "edita-la descripción do adxunto" +- +-#: init.c:2379 +-msgid "unattachments: invalid disposition" +-msgstr "" +- +-#: init.c:2624 +-#, fuzzy, c-format +-msgid "Could not unsubscribe from %s" +-msgstr "Borrando a subscripción con %s..." +- +-#: init.c:3292 ++#: init.c:1042 + #, c-format + msgid "%s: unknown command" + msgstr "%s: comando descoñecido" + +-#: init.c:3837 ++#: init.c:1588 + msgid "'charset' must contain exactly one character set name" + msgstr "" + +-#: init.c:3853 init.c:3877 init.c:3912 ++#: init.c:1604 init.c:1628 init.c:1663 + #, fuzzy, c-format + msgid "Invalid value for option %s: %s" + msgstr "Día do mes inválido: %s" + +-#: init.c:3890 ++#: init.c:1641 + #, c-format + msgid "Option %s may not be set or reset from the pager" + msgstr "" + + # +-#: init.c:3928 ++#: init.c:1679 + #, fuzzy, c-format + msgid "Option %s may not be set when in attach-message mode" + msgstr "Función non permitida no modo \"adxuntar-mensaxe\"." + + #. L10N: This applies to the "$wrap_headers" config variable +-#: init.c:3943 ++#: init.c:1694 + #, c-format + msgid "Option %s must between 78 and 998 inclusive" + msgstr "" + +-#: keymap.c:373 keymap.c:381 ++#: keymap.c:371 keymap.c:379 + #, c-format + msgid "Binding '%s' will alias '%s' Before, try: 'bind %s %s noop' https://neomutt.org/guide/configuration.html#bind-warnings" + msgstr "" + +-#: keymap.c:757 ++#: keymap.c:755 + msgid "Macro loop detected" + msgstr "Bucle de macro detectado" + +-#: keymap.c:1064 keymap.c:1099 ++#: keymap.c:1062 keymap.c:1097 + msgid "Key is not bound" + msgstr "A tecla non está vinculada" + +-#: keymap.c:1104 ++#: keymap.c:1102 + #, c-format + msgid "Key is not bound. Press '%s' for help." + msgstr "A tecla non está vinculada. Pulsa '%s' para axuda." + +-#: keymap.c:1177 ++#: keymap.c:1175 + #, c-format + msgid "%s: null key sequence" + msgstr "%s: secuencia de teclas nula" + +-#: keymap.c:1212 ++#: keymap.c:1210 + #, c-format + msgid "Function '%s' not available for menu '%s'" + msgstr "" + +-#: keymap.c:1495 ++#: keymap.c:1493 + msgid "macro: empty key sequence" + msgstr "macro: secuencia de teclas baleira" + +-#: keymap.c:1543 ++#: keymap.c:1541 + #, fuzzy + msgid "exec: no arguments" + msgstr "exec: parámetros insuficientes" + +-#: keymap.c:1563 ++#: keymap.c:1561 + #, fuzzy, c-format + msgid "%s: no such function" + msgstr "%s: función descoñecida" + +-#: keymap.c:1584 ++#: keymap.c:1582 + #, fuzzy + msgid "Enter keys (^G to abort): " + msgstr "Introduza keyID para %s: " + +-#: keymap.c:1590 ++#: keymap.c:1588 + #, c-format + msgid "Char = %s, Octal = %o, Decimal = %d" + msgstr "" +@@ -3175,7 +3283,7 @@ msgstr "non se atopou unha entrada mailcap para o tipo %s" + msgid "Scanning %s..." + msgstr "Seleccionando %s..." + +-#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:353 ++#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:351 + #, c-format + msgid "Reading %s..." + msgstr "Lendo %s..." +@@ -3190,13 +3298,13 @@ msgid "md_commit_message(): unable to set time on file" + msgstr "" + + #. L10N: Displayed before/as a mailbox is being synced +-#: maildir/shared.c:1723 mbox/mbox.c:1276 mx.c:461 notmuch/mutt_notmuch.c:2364 ++#: maildir/shared.c:1734 mbox/mbox.c:1276 mx.c:459 notmuch/mutt_notmuch.c:2364 + #, c-format + msgid "Writing %s..." + msgstr "Escribindo %s..." + + #. L10N: Try to limit to 80 columns +-#: main.c:227 ++#: main.c:160 + msgid "" + "usage:\n" + " neomutt [-Enx] [-e ] [-F ] [-H ] [-i ]\n" +@@ -3219,7 +3327,7 @@ msgid "" + msgstr "" + + #. L10N: Try to limit to 80 columns. If more space is needed add an indented line +-#: main.c:247 ++#: main.c:180 + msgid "" + "options:\n" + " -- Special argument forces NeoMutt to stop option parsing and treat\n" +@@ -3262,54 +3370,54 @@ msgid "" + " or exit immediately with exit code 1 otherwise" + msgstr "" + +-#: main.c:312 ++#: main.c:245 + msgid "Error initializing terminal" + msgstr "Error iniciando terminal" + +-#: main.c:390 ++#: main.c:323 + msgid "unable to determine username" + msgstr "non foi posible determina-lo nome de usuario" + +-#: main.c:396 ++#: main.c:329 + msgid "unable to determine home directory" + msgstr "non foi posible determina-lo directorio \"home\"" + +-#: main.c:640 ++#: main.c:572 + #, c-format + msgid "Error: value '%s' is invalid for -d" + msgstr "" + +-#: main.c:884 ++#: main.c:815 + msgid "Failed to parse mailto: link" + msgstr "" + +-#: main.c:896 send.c:2452 send.c:2456 ++#: main.c:827 send.c:2463 send.c:2467 + msgid "No recipients specified" + msgstr "Non foi especificado ningún destinatario" + +-#: main.c:923 ++#: main.c:854 + msgid "Can't use -E flag with stdin" + msgstr "" + +-#: main.c:1007 ++#: main.c:938 + #, fuzzy, c-format + msgid "Can't parse message template: %s" + msgstr "Non foi posible abri-lo ficheiro da mensaxe: %s" + +-#: main.c:1073 mutt_header.c:329 ++#: main.c:1004 mutt_header.c:329 + #, c-format + msgid "%s: unable to attach file" + msgstr "%s: non foi posible adxuntar ficheiro" + +-#: main.c:1156 ++#: main.c:1087 + msgid "No mailbox with new mail" + msgstr "Non hai buzóns con novo correo" + +-#: main.c:1180 ++#: main.c:1111 + msgid "No incoming mailboxes defined" + msgstr "Non se definiron buzóns para correo entrante" + +-#: main.c:1230 ++#: main.c:1161 + msgid "Mailbox is empty" + msgstr "O buzón está valeiro" + +@@ -3352,52 +3460,52 @@ msgstr "¡Non foi posible reabri-lo buzón" + msgid "Can't write message" + msgstr "Non foi posible escribi-la mensaxe" + +-#: menu.c:632 ++#: menu.c:631 + msgid "Jump to: " + msgstr "Saltar a: " + +-#: menu.c:641 ++#: menu.c:640 + msgid "Invalid index number" + msgstr "Número de índice inválido" + +-#: menu.c:645 menu.c:671 menu.c:744 menu.c:810 menu.c:828 menu.c:843 menu.c:858 +-#: menu.c:873 menu.c:890 menu.c:907 menu.c:1553 ++#: menu.c:644 menu.c:670 menu.c:743 menu.c:809 menu.c:827 menu.c:842 menu.c:857 ++#: menu.c:872 menu.c:889 menu.c:906 menu.c:1553 + msgid "No entries" + msgstr "Non hai entradas" + +-#: menu.c:668 ++#: menu.c:667 + msgid "You can't scroll down farther" + msgstr "Non é posible moverse máis abaixo" + +-#: menu.c:690 ++#: menu.c:689 + msgid "You can't scroll up farther" + msgstr "Non é posible moverse máis arriba" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the first page" + msgstr "Está na primeira páxina" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the last page" + msgstr "Está na derradeira páxina" + +-#: menu.c:922 ++#: menu.c:921 + msgid "You are on the last entry" + msgstr "Está na derradeira entrada" + +-#: menu.c:937 ++#: menu.c:936 + msgid "You are on the first entry" + msgstr "Está na primeira entrada" + +-#: menu.c:1172 pager.c:2692 pattern.c:2578 ++#: menu.c:1172 pager.c:2666 pattern.c:2702 + msgid "Search for: " + msgstr "Búsqueda de: " + +-#: menu.c:1173 pager.c:2693 pattern.c:2579 ++#: menu.c:1173 pager.c:2667 pattern.c:2703 + msgid "Reverse search for: " + msgstr "Búsqueda inversa de: " + +-#: menu.c:1226 pager.c:2641 pager.c:2666 pager.c:2800 pattern.c:2708 ++#: menu.c:1226 pager.c:2615 pager.c:2640 pager.c:2774 pattern.c:2832 + msgid "Not found" + msgstr "Non se atopou" + +@@ -3440,20 +3548,20 @@ msgstr "Agardando polo intento de flock... %d" + msgid "Bad history file format (line %d)" + msgstr "" + +-#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1006 ncrypt/crypt_gpgme.c:2381 +-#: ncrypt/crypt_gpgme.c:2401 ncrypt/crypt_gpgme.c:2460 +-#: ncrypt/crypt_gpgme.c:2477 ncrypt/crypt_gpgme.c:2509 +-#: ncrypt/crypt_gpgme.c:2527 ncrypt/crypt_gpgme.c:2611 +-#: ncrypt/crypt_gpgme.c:3194 ncrypt/crypt_gpgme.c:3292 +-#: ncrypt/crypt_gpgme.c:4373 ncrypt/pgp.c:576 ncrypt/pgp.c:583 ncrypt/pgp.c:896 +-#: ncrypt/pgp.c:1014 ncrypt/pgp.c:1161 ncrypt/pgp.c:1181 ncrypt/pgp.c:1215 +-#: ncrypt/pgp.c:1568 ncrypt/pgpkey.c:708 ncrypt/pgpkey.c:902 +-#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1092 ncrypt/smime.c:1100 +-#: ncrypt/smime.c:1191 ncrypt/smime.c:1299 ncrypt/smime.c:1364 +-#: ncrypt/smime.c:1372 ncrypt/smime.c:1571 ncrypt/smime.c:1967 +-#: ncrypt/smime.c:2046 ncrypt/smime.c:2053 ncrypt/smime.c:2156 +-#: ncrypt/smime.c:2281 ncrypt/smime.c:2297 nntp/nntp.c:1397 nntp/nntp.c:2237 +-#: pattern.c:1132 pop/pop.c:182 ++#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1005 ncrypt/crypt_gpgme.c:2420 ++#: ncrypt/crypt_gpgme.c:2440 ncrypt/crypt_gpgme.c:2499 ++#: ncrypt/crypt_gpgme.c:2516 ncrypt/crypt_gpgme.c:2548 ++#: ncrypt/crypt_gpgme.c:2566 ncrypt/crypt_gpgme.c:2650 ++#: ncrypt/crypt_gpgme.c:3237 ncrypt/crypt_gpgme.c:3335 ++#: ncrypt/crypt_gpgme.c:4421 ncrypt/pgp.c:575 ncrypt/pgp.c:582 ncrypt/pgp.c:895 ++#: ncrypt/pgp.c:1013 ncrypt/pgp.c:1160 ncrypt/pgp.c:1180 ncrypt/pgp.c:1214 ++#: ncrypt/pgp.c:1570 ncrypt/pgpkey.c:741 ncrypt/pgpkey.c:937 ++#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1126 ncrypt/smime.c:1134 ++#: ncrypt/smime.c:1225 ncrypt/smime.c:1333 ncrypt/smime.c:1398 ++#: ncrypt/smime.c:1406 ncrypt/smime.c:1605 ncrypt/smime.c:2001 ++#: ncrypt/smime.c:2080 ncrypt/smime.c:2087 ncrypt/smime.c:2190 ++#: ncrypt/smime.c:2315 ncrypt/smime.c:2331 nntp/nntp.c:1399 nntp/nntp.c:2239 ++#: pattern.c:1171 pop/pop.c:182 + msgid "Can't create temporary file" + msgstr "Non podo crea-lo ficheiro temporal" + +@@ -3472,7 +3580,7 @@ msgstr "Depurando a nivel %d.\n" + msgid "Logging at level %d to file '%s'" + msgstr "Depurando a nivel %d.\n" + +-#: mutt/path.c:401 ++#: mutt/path.c:420 + #, fuzzy + msgid "Error: converting path to absolute" + msgstr "Erro ó conectar có servidor: %s" +@@ -3496,17 +3604,17 @@ msgstr "Atrapado sinal %d (%s) ... Saíndo.\n" + msgid "Caught signal %d ... Exiting.\n" + msgstr "Atrapado sinal %d ... Saíndo.\n" + +-#: muttlib.c:490 ++#: muttlib.c:488 + #, c-format + msgid "mutt_randbuf buflen=%zu" + msgstr "" + +-#: muttlib.c:510 ++#: muttlib.c:508 + #, c-format + msgid "open /dev/urandom: %s" + msgstr "" + +-#: muttlib.c:517 ++#: muttlib.c:515 + #, c-format + msgid "read /dev/urandom: %s" + msgstr "" +@@ -3514,152 +3622,124 @@ msgstr "" + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) + #. These three letters correspond to the choices in the string. +-#: muttlib.c:745 ++#: muttlib.c:743 + #, fuzzy + msgid "File is a directory, save under it: (y)es, (n)o, (a)ll?" + msgstr "O ficheiro é un directorio, ¿gardar nel?" + +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "yna" + msgstr "" + + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) +-#: muttlib.c:763 ++#: muttlib.c:761 + msgid "File is a directory, save under it?" + msgstr "O ficheiro é un directorio, ¿gardar nel?" + +-#: muttlib.c:768 ++#: muttlib.c:766 + msgid "File under directory: " + msgstr "Ficheiro no directorio: " + +-#: muttlib.c:781 ++#: muttlib.c:779 + msgid "File exists, (o)verwrite, (a)ppend, or (c)ancel?" + msgstr "O ficheiro existe, ¿(s)obreescribir, (e)ngadir ou (c)ancelar?" + + #. L10N: Options for: File exists, (o)verwrite, (a)ppend, or (c)ancel? +-#: muttlib.c:783 ++#: muttlib.c:781 + msgid "oac" + msgstr "sec" + +-#: muttlib.c:1458 ++#: muttlib.c:1456 + msgid "Can't save message to POP mailbox" + msgstr "Non foi posible garda-la mensaxe no buzón POP" + +-#: muttlib.c:1468 ++#: muttlib.c:1466 + #, c-format + msgid "Append messages to %s?" + msgstr "¿engadir mensaxes a %s?" + +-#: muttlib.c:1481 ++#: muttlib.c:1479 + #, fuzzy + msgid "Can't save message to news server" + msgstr "Non é posible editar unha mensaxe no servidor POP" + +-#. L10N: Example: Username at myhost.com +-#: mutt_account.c:233 +-#, c-format +-msgid "Username at %s: " +-msgstr "Nome de usuario en %s: " +- +-#: mutt_account.c:315 +-#, c-format +-msgid "Password for %s@%s: " +-msgstr "Contrasinal para %s@%s: " +- +-#. L10N: You will see this error message if (1) you have "oauthbearer" in +-#. one of your $*_authenticators and (2) you do not have the corresponding +-#. $*_oauth_refresh_command defined. So the message does not mean "None of +-#. your $*_oauth_refresh_command's are defined." +-#: mutt_account.c:383 +-#, fuzzy +-msgid "No OAUTH refresh command defined" +-msgstr "Comando de consulta non definido" +- +-#: mutt_account.c:390 +-msgid "Unable to run refresh command" +-msgstr "" +- +-#: mutt_account.c:400 +-msgid "Command returned empty string" +-msgstr "" +- +-#: mutt_attach.c:140 mutt_attach.c:274 mutt_attach.c:459 mutt_attach.c:1054 ++#: mutt_attach.c:142 mutt_attach.c:276 mutt_attach.c:488 mutt_attach.c:1087 + msgid "Can't match 'nametemplate', continue?" + msgstr "Non se puido atopa-lo nome, ¿continuar?" + +-#: mutt_attach.c:150 ++#: mutt_attach.c:152 + #, c-format + msgid "Mailcap compose entry requires %%s" + msgstr "A entrada \"compose\" no ficheiro Mailcap require %%s" + +-#: mutt_attach.c:168 ++#: mutt_attach.c:170 + msgid "Failure to open file to parse headers" + msgstr "Fallo ó abri-lo ficheiro para analiza-las cabeceiras" + +-#: mutt_attach.c:202 ++#: mutt_attach.c:204 + msgid "Failure to open file to strip headers" + msgstr "Fallo ó abri-lo ficheiro para quitar as cabeceiras" + +-#: mutt_attach.c:212 ++#: mutt_attach.c:214 + #, fuzzy + msgid "Failure to rename file" + msgstr "Fallo ó abri-lo ficheiro para analiza-las cabeceiras" + +-#: mutt_attach.c:222 ++#: mutt_attach.c:224 + #, c-format + msgid "No mailcap compose entry for %s, creating empty file" + msgstr "" + "Non hai entrada \"compose\" para %sno ficheiro Mailcap, creando\n" + " ficheiro vacío" + +-#: mutt_attach.c:284 ++#: mutt_attach.c:286 + #, c-format + msgid "Mailcap Edit entry requires %%s" + msgstr "A entrada \"Edit\" do ficheiro Mailcap require %%s" + +-#: mutt_attach.c:305 ++#: mutt_attach.c:307 + #, c-format + msgid "No mailcap edit entry for %s" + msgstr "Non hai entrada \"edit\" no ficheiro Mailcap para %s" + +-#: mutt_attach.c:427 ++#: mutt_attach.c:456 + msgid "No matching mailcap entry found. Viewing as text." + msgstr "Non se atopou ningunha entrada coincidente no ficheiro mailcap.Vendo como texto" + +-#: mutt_attach.c:440 ++#: mutt_attach.c:469 + msgid "MIME type not defined. Can't view attachment." + msgstr "Tipo MIME non definido. Non se pode ver-lo ficheiro adxunto." + +-#: mutt_attach.c:535 ++#: mutt_attach.c:563 + #, c-format + msgid "---Command: %-20.20s Description: %s" + msgstr "" + +-#: mutt_attach.c:540 ++#: mutt_attach.c:568 + #, c-format + msgid "---Command: %-30.30s Attachment: %s" + msgstr "" + +-#: mutt_attach.c:619 ++#: mutt_attach.c:652 + #, fuzzy, c-format + msgid "---Attachment: %s: %s" + msgstr "-- Adxuntos" + +-#: mutt_attach.c:621 ++#: mutt_attach.c:654 + #, fuzzy, c-format + msgid "---Attachment: %s" + msgstr "-- Adxuntos" + +-#: mutt_attach.c:902 mutt_attach.c:910 ++#: mutt_attach.c:935 mutt_attach.c:943 + msgid "Write fault" + msgstr "¡Fallo de escritura" + +-#: mutt_attach.c:1174 ++#: mutt_attach.c:1207 + msgid "I don't know how to print that" + msgstr "¡Non lle sei cómo imprimir iso" + +-#: mutt_history.c:47 query.c:84 ++#: mutt_history.c:47 query.c:82 + msgid "Search" + msgstr "Búsqueda" + +@@ -3668,21 +3748,21 @@ msgstr "Búsqueda" + msgid "History '%s'" + msgstr "Consulta '%s'" + +-#: mutt_logging.c:315 ++#: mutt_logging.c:313 + #, fuzzy, c-format + msgid "Invalid value for option %s: %ld" + msgstr "Día do mes inválido: %s" + +-#: mutt_lua.c:429 ++#: mutt_lua.c:431 + msgid "Error: Couldn't load the lua interpreter" + msgstr "" + +-#: mutt_lua.c:491 ++#: mutt_lua.c:493 + #, fuzzy, c-format + msgid "Couldn't source lua source: %s" + msgstr "Non foi posible bloquear %s.\n" + +-#: mutt_mailbox.c:214 ++#: mutt_mailbox.c:241 + #, fuzzy + msgid "New mail in " + msgstr "Novo correo en %s." +@@ -3706,20 +3786,20 @@ msgstr "A mensaxe pai non é visible na vista limitada" + msgid "Parent message is not visible in this limited view" + msgstr "A mensaxe pai non é visible na vista limitada" + +-#: mx.c:387 ++#: mx.c:385 + #, fuzzy, c-format + msgid "Reading from %s interrupted..." + msgstr "Búsqueda interrompida." + + #. L10N: Displayed if a mailbox sync fails +-#: mx.c:468 ++#: mx.c:469 + #, fuzzy, c-format + msgid "Unable to write %s" + msgstr "¡Non foi posible adxuntar %s" + + #. L10N: Although we know the precise number of messages, we do not show it to the user. + #. So feel free to use a "generic plural" as plural translation if your language has one. +-#: mx.c:523 ++#: mx.c:525 + #, fuzzy + msgid "message not deleted" + msgid_plural "messages not deleted" +@@ -3731,69 +3811,69 @@ msgstr[1] "Marcando %d mensaxes borradas ..." + msgid "Can't open trash folder" + msgstr "Non foi posible engadir á carpeta: %s" + +-#: mx.c:623 ++#: mx.c:627 + msgid "Mark all articles read?" + msgstr "" + + #. L10N: The first argument is the number of read messages to be + #. moved, the second argument is the target mailbox. +-#: mx.c:671 ++#: mx.c:675 + #, fuzzy, c-format + msgid "Move %d read message to %s?" + msgid_plural "Move %d read messages to %s?" + msgstr[0] "¿Mover mensaxes lidas a %s?" + msgstr[1] "¿Mover mensaxes lidas a %s?" + +-#: mx.c:685 mx.c:917 ++#: mx.c:689 mx.c:936 + #, fuzzy, c-format + msgid "Purge %d deleted message?" + msgid_plural "Purge %d deleted messages?" + msgstr[0] "¿Purgar %d mensaxe marcada como borrada?" + msgstr[1] "¿Purgar %d mensaxes marcadas como borradas?" + +-#: mx.c:708 ++#: mx.c:712 + #, c-format + msgid "Moving read messages to %s..." + msgstr "Movendo mensaxes lidas a %s..." + +-#: mx.c:774 mx.c:908 ++#: mx.c:783 mx.c:927 + msgid "Mailbox is unchanged" + msgstr "O buzón non cambiou" + +-#: mx.c:827 ++#: mx.c:842 + #, c-format + msgid "%d kept, %d moved, %d deleted" + msgstr "%d conservados, %d movidos, %d borrados" + +-#: mx.c:831 mx.c:972 ++#: mx.c:846 mx.c:991 + #, c-format + msgid "%d kept, %d deleted" + msgstr "%d conservados, %d borrados" + +-#: mx.c:892 ++#: mx.c:911 + #, c-format + msgid " Press '%s' to toggle write" + msgstr " Pulse '%s' para cambiar a modo escritura" + +-#: mx.c:894 ++#: mx.c:913 + msgid "Use 'toggle-write' to re-enable write" + msgstr "¡Use 'toggle-write' para restablece-lo modo escritura" + +-#: mx.c:896 ++#: mx.c:915 + #, c-format + msgid "Mailbox is marked unwritable. %s" + msgstr "O buzón está marcado como non escribible. %s" + +-#: mx.c:966 ++#: mx.c:985 + msgid "Mailbox checkpointed" + msgstr "Buzón marcado para comprobación" + +-#: ncrypt/crypt.c:93 ++#: ncrypt/crypt.c:91 + #, c-format + msgid " (current time: %c)" + msgstr "" + +-#: ncrypt/crypt.c:98 ++#: ncrypt/crypt.c:96 + #, fuzzy, c-format + msgid "[-- %s output follows%s --]\n" + msgstr "[-- Saída PGP a continuación (hora actual: %c) --]\n" +@@ -3802,67 +3882,67 @@ msgstr "[-- Saída PGP a continuación (hora actual: %c) --]\n" + #. by gpg-agent) we can't know whether we forgot zero, 1, 12, ... + #. passwords. So in English we use "Passphrases". Your language might + #. have other means to express this. +-#: ncrypt/crypt.c:119 ++#: ncrypt/crypt.c:117 + #, fuzzy + msgid "Passphrases forgotten" + msgstr "Contrasinal PGP esquecido" + +-#: ncrypt/crypt.c:203 ++#: ncrypt/crypt.c:201 + msgid "Inline PGP can't be used with attachments. Revert to PGP/MIME?" + msgstr "" + +-#: ncrypt/crypt.c:207 ++#: ncrypt/crypt.c:205 + msgid "Mail not sent: inline PGP can't be used with attachments" + msgstr "" + +-#: ncrypt/crypt.c:214 ++#: ncrypt/crypt.c:212 + msgid "Inline PGP can't be used with format=flowed. Revert to PGP/MIME?" + msgstr "" + +-#: ncrypt/crypt.c:218 ++#: ncrypt/crypt.c:216 + msgid "Mail not sent: inline PGP can't be used with format=flowed" + msgstr "" + +-#: ncrypt/crypt.c:228 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:714 +-#: ncrypt/pgpkey.c:915 ++#: ncrypt/crypt.c:226 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:747 ++#: ncrypt/pgpkey.c:950 + msgid "Invoking PGP..." + msgstr "Chamando ó PGP..." + +-#: ncrypt/crypt.c:240 ++#: ncrypt/crypt.c:238 + msgid "Message can't be sent inline. Revert to using PGP/MIME?" + msgstr "" + +-#: ncrypt/crypt.c:242 send.c:2430 ++#: ncrypt/crypt.c:240 send.c:2441 + msgid "Mail not sent" + msgstr "Mensaxe non enviada" + +-#: ncrypt/crypt.c:662 ++#: ncrypt/crypt.c:666 + msgid "S/MIME messages with no hints on content are unsupported" + msgstr "" + +-#: ncrypt/crypt.c:888 ++#: ncrypt/crypt.c:892 + msgid "Trying to extract PGP keys...\n" + msgstr "" + +-#: ncrypt/crypt.c:917 ++#: ncrypt/crypt.c:921 + msgid "Trying to extract S/MIME certificates..." + msgstr "" + +-#: ncrypt/crypt.c:1140 ++#: ncrypt/crypt.c:1144 + #, c-format + msgid "" + "[-- Error: Unknown multipart/signed protocol %s --]\n" + "\n" + msgstr "[-- Erro: protocolo multiparte/asinado %s descoñecido --]\n" + +-#: ncrypt/crypt.c:1180 ++#: ncrypt/crypt.c:1184 + #, fuzzy + msgid "" + "[-- Error: Missing or bad-format multipart/signed signature --]\n" + "\n" + msgstr "[-- Erro: estructura multiparte/asinada inconsistente --]\n" + +-#: ncrypt/crypt.c:1222 ++#: ncrypt/crypt.c:1226 + #, c-format + msgid "" + "[-- Warning: We can't verify %s/%s signatures. --]\n" +@@ -3871,7 +3951,7 @@ msgstr "" + "[-- Atención: non é posible verificar sinaturas %s/%s --]\n" + "\n" + +-#: ncrypt/crypt.c:1235 ++#: ncrypt/crypt.c:1239 + #, fuzzy + msgid "" + "[-- The following data is signed --]\n" +@@ -3880,7 +3960,7 @@ msgstr "" + "[-- Os datos a continuación están asinados --]\n" + "\n" + +-#: ncrypt/crypt.c:1243 ++#: ncrypt/crypt.c:1248 + msgid "" + "[-- Warning: Can't find any signatures. --]\n" + "\n" +@@ -3888,7 +3968,7 @@ msgstr "" + "[-- Atención: non se atoparon sinaturas. --]\n" + "\n" + +-#: ncrypt/crypt.c:1249 ++#: ncrypt/crypt.c:1255 + #, fuzzy + msgid "" + "\n" +@@ -3909,236 +3989,236 @@ msgstr "Chamando ó S/MIME..." + #. L10N: The following are the headers for the "verify key" output from the + #. GPGME key selection menu (bound to "c" in the key selection menu). + #. They will be automatically aligned. +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Name: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1869 ncrypt/crypt_gpgme.c:1874 ++#: ncrypt/crypt_gpgme.c:183 ncrypt/crypt_gpgme.c:1900 ncrypt/crypt_gpgme.c:1905 + msgid "aka: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + #, fuzzy + msgid "Valid From: " + msgstr "Mes inválido: %s" + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + #, fuzzy + msgid "Valid To: " + msgstr "Mes inválido: %s" + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Key Type: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Key Usage: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:185 ncrypt/crypt_gpgme.c:1759 ++#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1790 + #, fuzzy + msgid "Fingerprint: " + msgstr "Fingerprint: %s" + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Serial-No: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + msgid "Issued By: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + #, fuzzy + msgid "Subkey: " + msgstr "Key ID: 0x%s" + +-#: ncrypt/crypt_gpgme.c:783 ++#: ncrypt/crypt_gpgme.c:782 + #, c-format + msgid "error enabling CMS protocol: %s" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:806 ++#: ncrypt/crypt_gpgme.c:805 + #, fuzzy, c-format + msgid "error creating gpgme data object: %s" + msgstr "erro no patrón en: %s" + +-#: ncrypt/crypt_gpgme.c:907 ncrypt/crypt_gpgme.c:934 ncrypt/crypt_gpgme.c:2057 +-#: ncrypt/crypt_gpgme.c:2814 ++#: ncrypt/crypt_gpgme.c:906 ncrypt/crypt_gpgme.c:933 ncrypt/crypt_gpgme.c:2096 ++#: ncrypt/crypt_gpgme.c:2853 + #, fuzzy, c-format + msgid "error allocating data object: %s" + msgstr "erro no patrón en: %s" + +-#: ncrypt/crypt_gpgme.c:956 ++#: ncrypt/crypt_gpgme.c:955 + #, fuzzy, c-format + msgid "error rewinding data object: %s" + msgstr "erro no patrón en: %s" + +-#: ncrypt/crypt_gpgme.c:972 ++#: ncrypt/crypt_gpgme.c:971 + msgid "[tempfile]" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:978 ncrypt/crypt_gpgme.c:1032 ++#: ncrypt/crypt_gpgme.c:977 ncrypt/crypt_gpgme.c:1031 + #, fuzzy, c-format + msgid "error reading data object: %s" + msgstr "erro no patrón en: %s" + +-#: ncrypt/crypt_gpgme.c:1149 ++#: ncrypt/crypt_gpgme.c:1148 + #, fuzzy, c-format + msgid "error adding recipient '%s': %s" + msgstr "erro no patrón en: %s" + +-#: ncrypt/crypt_gpgme.c:1202 ++#: ncrypt/crypt_gpgme.c:1186 + #, c-format + msgid "secret key '%s' not found: %s" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1218 ++#: ncrypt/crypt_gpgme.c:1203 + #, c-format + msgid "ambiguous specification of secret key '%s'\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1234 ++#: ncrypt/crypt_gpgme.c:1219 + #, c-format + msgid "error setting secret key '%s': %s" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1250 ++#: ncrypt/crypt_gpgme.c:1278 + #, fuzzy, c-format + msgid "error setting PKA signature notation: %s" + msgstr "erro no patrón en: %s" + +-#: ncrypt/crypt_gpgme.c:1324 ++#: ncrypt/crypt_gpgme.c:1353 + #, fuzzy, c-format + msgid "error encrypting data: %s" + msgstr "erro no patrón en: %s" + +-#: ncrypt/crypt_gpgme.c:1453 ++#: ncrypt/crypt_gpgme.c:1483 + #, fuzzy, c-format + msgid "error signing data: %s" + msgstr "erro no patrón en: %s" + +-#: ncrypt/crypt_gpgme.c:1463 ++#: ncrypt/crypt_gpgme.c:1493 + msgid "$pgp_sign_as unset and no default key specified in ~/.gnupg/gpg.conf" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1641 ++#: ncrypt/crypt_gpgme.c:1672 + msgid "Warning: One of the keys has been revoked\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1651 ++#: ncrypt/crypt_gpgme.c:1682 + msgid "Warning: The key used to create the signature expired at: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1657 ++#: ncrypt/crypt_gpgme.c:1688 + #, fuzzy + msgid "Warning: At least one certification key has expired\n" + msgstr "O certificado do servidor expirou" + +-#: ncrypt/crypt_gpgme.c:1671 ++#: ncrypt/crypt_gpgme.c:1702 + msgid "Warning: The signature expired at: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1678 ++#: ncrypt/crypt_gpgme.c:1709 + msgid "Can't verify due to a missing key or certificate\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1683 ++#: ncrypt/crypt_gpgme.c:1714 + #, fuzzy + msgid "The CRL is not available\n" + msgstr "SSL non está accesible." + +-#: ncrypt/crypt_gpgme.c:1689 ++#: ncrypt/crypt_gpgme.c:1720 + msgid "Available CRL is too old\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1694 ++#: ncrypt/crypt_gpgme.c:1725 + msgid "A policy requirement was not met\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1703 ++#: ncrypt/crypt_gpgme.c:1734 + msgid "A system error occurred" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1734 ++#: ncrypt/crypt_gpgme.c:1765 + msgid "WARNING: PKA entry does not match signer's address: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1740 ++#: ncrypt/crypt_gpgme.c:1771 + msgid "PKA verified signer's address is: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1822 ++#: ncrypt/crypt_gpgme.c:1853 + msgid "WARNING: We have NO indication whether the key belongs to the person named as shown above\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1829 ++#: ncrypt/crypt_gpgme.c:1860 + msgid "WARNING: The key does NOT BELONG to the person named as shown above\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1833 ++#: ncrypt/crypt_gpgme.c:1864 + msgid "WARNING: It is NOT certain that the key belongs to the person named as shown above\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1886 ++#: ncrypt/crypt_gpgme.c:1917 + msgid "KeyID " + msgstr "" + + #. L10N: You will see this message in place of "KeyID " + #. if the S/MIME key has no ID. This is quite an error. +-#: ncrypt/crypt_gpgme.c:1893 ++#: ncrypt/crypt_gpgme.c:1924 + msgid "no signature fingerprint available" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1902 ncrypt/crypt_gpgme.c:1907 ++#: ncrypt/crypt_gpgme.c:1933 ncrypt/crypt_gpgme.c:1938 + #, fuzzy + msgid "created: " + msgstr "¿Crear %s?" + +-#: ncrypt/crypt_gpgme.c:1981 ++#: ncrypt/crypt_gpgme.c:2012 + #, c-format + msgid "Error getting key information for KeyID %s: %s\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1988 ncrypt/crypt_gpgme.c:2003 ++#: ncrypt/crypt_gpgme.c:2019 ncrypt/crypt_gpgme.c:2034 + msgid "Good signature from:" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1995 ++#: ncrypt/crypt_gpgme.c:2026 + msgid "*BAD* signature from:" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:2011 ++#: ncrypt/crypt_gpgme.c:2042 + msgid "Problem signature from:" + msgstr "" + + #. L10N: This is trying to match the width of the + #. "Problem signature from:" translation just above. +-#: ncrypt/crypt_gpgme.c:2017 ++#: ncrypt/crypt_gpgme.c:2048 + msgid " expires: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:2064 ncrypt/crypt_gpgme.c:2294 +-#: ncrypt/crypt_gpgme.c:3081 ++#: ncrypt/crypt_gpgme.c:2103 ncrypt/crypt_gpgme.c:2333 ++#: ncrypt/crypt_gpgme.c:3124 + msgid "[-- Begin signature information --]\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:2075 ++#: ncrypt/crypt_gpgme.c:2114 + #, fuzzy, c-format + msgid "Error: verification failed: %s\n" + msgstr "Erro na liña de comando: %s\n" + +-#: ncrypt/crypt_gpgme.c:2126 ++#: ncrypt/crypt_gpgme.c:2165 + #, c-format + msgid "*** Begin Notation (signature by: %s) ***\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:2145 ++#: ncrypt/crypt_gpgme.c:2184 + msgid "*** End Notation ***\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:2153 ncrypt/crypt_gpgme.c:2308 +-#: ncrypt/crypt_gpgme.c:3091 ++#: ncrypt/crypt_gpgme.c:2192 ncrypt/crypt_gpgme.c:2347 ++#: ncrypt/crypt_gpgme.c:3134 + #, fuzzy + msgid "" + "[-- End signature information --]\n" +@@ -4147,28 +4227,34 @@ msgstr "" + "\n" + "[-- Fin dos datos asinados --]\n" + +-#: ncrypt/crypt_gpgme.c:2268 ++#: ncrypt/crypt_gpgme.c:2307 + #, fuzzy, c-format + msgid "" + "[-- Error: decryption failed: %s --]\n" + "\n" + msgstr "[-- Erro: ¡fin de ficheiro inesperado! --]\n" + +-#: ncrypt/crypt_gpgme.c:2821 ++#: ncrypt/crypt_gpgme.c:2860 + #, fuzzy, c-format + msgid "Error importing key: %s" + msgstr "erro no patrón en: %s" + +-#: ncrypt/crypt_gpgme.c:3059 ++#: ncrypt/crypt_gpgme.c:3098 + #, c-format + msgid "Error: decryption/verification failed: %s\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:3103 ++#: ncrypt/crypt_gpgme.c:3105 ncrypt/crypt_gpgme.c:3302 ncrypt/pgp.c:726 ++#: ncrypt/pgp.c:1273 ++#, fuzzy ++msgid "PGP message successfully decrypted" ++msgstr "Sinatura PGP verificada con éxito" ++ ++#: ncrypt/crypt_gpgme.c:3146 + msgid "Error: copy data failed\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:3116 ncrypt/pgp.c:675 ++#: ncrypt/crypt_gpgme.c:3159 ncrypt/pgp.c:674 + msgid "" + "[-- BEGIN PGP MESSAGE --]\n" + "\n" +@@ -4176,11 +4262,11 @@ msgstr "" + "[-- COMEZA A MESAXE PGP --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3118 ncrypt/pgp.c:677 ++#: ncrypt/crypt_gpgme.c:3161 ncrypt/pgp.c:676 + msgid "[-- BEGIN PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- COMEZA O BLOQUE DE CHAVE PÚBLICA PGP --]\n" + +-#: ncrypt/crypt_gpgme.c:3120 ncrypt/pgp.c:679 ++#: ncrypt/crypt_gpgme.c:3163 ncrypt/pgp.c:678 + msgid "" + "[-- BEGIN PGP SIGNED MESSAGE --]\n" + "\n" +@@ -4188,25 +4274,25 @@ msgstr "" + "[-- COMEZA A MESAXE FIRMADA CON PGP --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3145 ncrypt/pgp.c:716 ++#: ncrypt/crypt_gpgme.c:3188 ncrypt/pgp.c:715 + #, fuzzy + msgid "[-- END PGP MESSAGE --]\n" + msgstr "" + "\n" + "[-- FIN DA MESAXE PGP --]\n" + +-#: ncrypt/crypt_gpgme.c:3147 ncrypt/pgp.c:730 ++#: ncrypt/crypt_gpgme.c:3190 ncrypt/pgp.c:729 + msgid "[-- END PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- FIN DO BLOQUE DE CHAVE PÚBLICA PGP --]\n" + +-#: ncrypt/crypt_gpgme.c:3149 ncrypt/pgp.c:732 ++#: ncrypt/crypt_gpgme.c:3192 ncrypt/pgp.c:731 + #, fuzzy + msgid "[-- END PGP SIGNED MESSAGE --]\n" + msgstr "" + "\n" + "[-- FIN DA MESAXE FIRMADA CON PGP --]\n" + +-#: ncrypt/crypt_gpgme.c:3170 ncrypt/pgp.c:765 ++#: ncrypt/crypt_gpgme.c:3213 ncrypt/pgp.c:764 + msgid "" + "[-- Error: could not find beginning of PGP message --]\n" + "\n" +@@ -4214,11 +4300,11 @@ msgstr "" + "[-- Erro: ¡non se atopou o comezo da mensaxe PGP --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3198 ncrypt/crypt_gpgme.c:3296 ncrypt/pgp.c:1218 ++#: ncrypt/crypt_gpgme.c:3241 ncrypt/crypt_gpgme.c:3339 ncrypt/pgp.c:1218 + msgid "[-- Error: could not create temporary file --]\n" + msgstr "[-- Erro: ¡non foi posible crea-lo ficheiro temporal --]\n" + +-#: ncrypt/crypt_gpgme.c:3212 ++#: ncrypt/crypt_gpgme.c:3255 + #, fuzzy + msgid "" + "[-- The following data is PGP/MIME signed and encrypted --]\n" +@@ -4227,7 +4313,7 @@ msgstr "" + "[-- Os datos a continuación están encriptados con PGP/MIME --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3214 ncrypt/pgp.c:1231 ++#: ncrypt/crypt_gpgme.c:3257 ncrypt/pgp.c:1232 + msgid "" + "[-- The following data is PGP/MIME encrypted --]\n" + "\n" +@@ -4235,32 +4321,27 @@ msgstr "" + "[-- Os datos a continuación están encriptados con PGP/MIME --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3254 ++#: ncrypt/crypt_gpgme.c:3297 + #, fuzzy + msgid "[-- End of PGP/MIME signed and encrypted data --]\n" + msgstr "" + "\n" + "[-- Fin dos datos con encriptación PGP/MIME --]\n" + +-#: ncrypt/crypt_gpgme.c:3255 ncrypt/pgp.c:1267 ++#: ncrypt/crypt_gpgme.c:3298 ncrypt/pgp.c:1268 + #, fuzzy + msgid "[-- End of PGP/MIME encrypted data --]\n" + msgstr "" + "\n" + "[-- Fin dos datos con encriptación PGP/MIME --]\n" + +-#: ncrypt/crypt_gpgme.c:3259 ncrypt/pgp.c:727 ncrypt/pgp.c:1272 +-#, fuzzy +-msgid "PGP message successfully decrypted" +-msgstr "Sinatura PGP verificada con éxito" +- +-#: ncrypt/crypt_gpgme.c:3265 ncrypt/pgp.c:666 ncrypt/pgp.c:718 +-#: ncrypt/pgp.c:1276 ++#: ncrypt/crypt_gpgme.c:3308 ncrypt/pgp.c:665 ncrypt/pgp.c:717 ++#: ncrypt/pgp.c:1277 + #, fuzzy + msgid "Could not decrypt PGP message" + msgstr "Non foi posible copia-la mensaxe." + +-#: ncrypt/crypt_gpgme.c:3310 ++#: ncrypt/crypt_gpgme.c:3353 + #, fuzzy + msgid "" + "[-- The following data is S/MIME signed --]\n" +@@ -4269,7 +4350,7 @@ msgstr "" + "[-- Os datos a continuación están asinados --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3311 ++#: ncrypt/crypt_gpgme.c:3354 + #, fuzzy + msgid "" + "[-- The following data is S/MIME encrypted --]\n" +@@ -4278,41 +4359,41 @@ msgstr "" + "[-- Os datos a continuación están encriptados con S/MIME --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3358 ++#: ncrypt/crypt_gpgme.c:3401 + #, fuzzy + msgid "[-- End of S/MIME signed data --]\n" + msgstr "" + "\n" + "[-- Fin dos datos asinados --]\n" + +-#: ncrypt/crypt_gpgme.c:3359 ++#: ncrypt/crypt_gpgme.c:3402 + #, fuzzy + msgid "[-- End of S/MIME encrypted data --]\n" + msgstr "" + "\n" + "[-- Fin dos datos con encriptación S/MIME --]\n" + +-#: ncrypt/crypt_gpgme.c:4029 ++#: ncrypt/crypt_gpgme.c:4077 + msgid "[Can't display this user ID (unknown encoding)]" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:4031 ++#: ncrypt/crypt_gpgme.c:4079 + msgid "[Can't display this user ID (invalid encoding)]" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:4036 ++#: ncrypt/crypt_gpgme.c:4084 + msgid "[Can't display this user ID (invalid DN)]" + msgstr "" + + #. L10N: comes after the Name or aka if the key is invalid + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4150 ncrypt/crypt_gpgme.c:4291 ++#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4339 + #, fuzzy + msgid "[Invalid]" + msgstr "Mes inválido: %s" + + #. L10N: This is printed after "Key Type: " and looks like this: PGP, 2048 bit RSA +-#: ncrypt/crypt_gpgme.c:4190 ncrypt/crypt_gpgme.c:4331 ++#: ncrypt/crypt_gpgme.c:4238 ncrypt/crypt_gpgme.c:4379 + #, c-format + msgid "%s, %lu bit %s\n" + msgid_plural "%s, %lu bit %s\n" +@@ -4320,103 +4401,103 @@ msgstr[0] "" + msgstr[1] "" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4338 ++#: ncrypt/crypt_gpgme.c:4246 ncrypt/crypt_gpgme.c:4386 + #, fuzzy + msgid "encryption" + msgstr "Encriptar" + +-#: ncrypt/crypt_gpgme.c:4199 ncrypt/crypt_gpgme.c:4205 +-#: ncrypt/crypt_gpgme.c:4339 ncrypt/crypt_gpgme.c:4344 ++#: ncrypt/crypt_gpgme.c:4247 ncrypt/crypt_gpgme.c:4253 ++#: ncrypt/crypt_gpgme.c:4387 ncrypt/crypt_gpgme.c:4392 + msgid ", " + msgstr "" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4204 ncrypt/crypt_gpgme.c:4343 ++#: ncrypt/crypt_gpgme.c:4252 ncrypt/crypt_gpgme.c:4391 + msgid "signing" + msgstr "" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4210 ncrypt/crypt_gpgme.c:4348 ++#: ncrypt/crypt_gpgme.c:4258 ncrypt/crypt_gpgme.c:4396 + #, fuzzy + msgid "certification" + msgstr "Certificado gardado" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4285 ++#: ncrypt/crypt_gpgme.c:4333 + msgid "[Revoked]" + msgstr "" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4297 ++#: ncrypt/crypt_gpgme.c:4345 + #, fuzzy + msgid "[Expired]" + msgstr "Saír " + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4303 ++#: ncrypt/crypt_gpgme.c:4351 + msgid "[Disabled]" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:4376 ++#: ncrypt/crypt_gpgme.c:4424 + #, fuzzy + msgid "Collecting data..." + msgstr "Conectando con %s..." + +-#: ncrypt/crypt_gpgme.c:4394 ++#: ncrypt/crypt_gpgme.c:4442 + #, fuzzy, c-format + msgid "Error finding issuer key: %s\n" + msgstr "Erro ó conectar có servidor: %s" + +-#: ncrypt/crypt_gpgme.c:4403 ++#: ncrypt/crypt_gpgme.c:4451 + #, fuzzy + msgid "Error: certification chain too long - stopping here\n" + msgstr "Erro na liña de comando: %s\n" + +-#: ncrypt/crypt_gpgme.c:4413 ncrypt/pgpkey.c:733 ++#: ncrypt/crypt_gpgme.c:4461 ncrypt/pgpkey.c:766 + #, c-format + msgid "Key ID: 0x%s" + msgstr "Key ID: 0x%s" + +-#: ncrypt/crypt_gpgme.c:4538 ncrypt/crypt_gpgme.c:4589 ++#: ncrypt/crypt_gpgme.c:4586 ncrypt/crypt_gpgme.c:4637 + #, c-format + msgid "gpgme_op_keylist_start failed: %s" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:4577 ncrypt/crypt_gpgme.c:4619 +-#: ncrypt/crypt_gpgme.c:5355 ++#: ncrypt/crypt_gpgme.c:4625 ncrypt/crypt_gpgme.c:4667 ++#: ncrypt/crypt_gpgme.c:5435 + #, c-format + msgid "gpgme_op_keylist_next failed: %s" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:4701 ++#: ncrypt/crypt_gpgme.c:4749 + #, fuzzy + msgid "All matching keys are marked expired/revoked" + msgstr "Tódalas chaves coincidintes están marcadas como expiradas/revocadas" + +-#: ncrypt/crypt_gpgme.c:4731 ncrypt/pgpkey.c:666 ncrypt/smime.c:551 ++#: ncrypt/crypt_gpgme.c:4779 ncrypt/pgpkey.c:669 ncrypt/smime.c:553 + msgid "Select " + msgstr "Seleccionar " + +-#: ncrypt/crypt_gpgme.c:4733 ncrypt/pgpkey.c:668 ++#: ncrypt/crypt_gpgme.c:4781 ncrypt/pgpkey.c:671 + msgid "Check key " + msgstr "Comprobar chave " + +-#: ncrypt/crypt_gpgme.c:4749 ++#: ncrypt/crypt_gpgme.c:4827 + #, fuzzy + msgid "PGP and S/MIME keys matching" + msgstr "Chaves S/MIME coincidintes con \"%s\"" + +-#: ncrypt/crypt_gpgme.c:4751 ++#: ncrypt/crypt_gpgme.c:4829 + #, fuzzy + msgid "PGP keys matching" + msgstr "Chaves PGP coincidintes con \"%s\"" + +-#: ncrypt/crypt_gpgme.c:4753 ++#: ncrypt/crypt_gpgme.c:4831 + #, fuzzy + msgid "S/MIME keys matching" + msgstr "Chaves S/MIME coincidintes con \"%s\"" + +-#: ncrypt/crypt_gpgme.c:4755 ++#: ncrypt/crypt_gpgme.c:4833 + #, fuzzy + msgid "keys matching" + msgstr "Chaves PGP coincidintes con \"%s\"" +@@ -4425,58 +4506,58 @@ msgstr "Chaves PGP coincidintes con \"%s\"" + #. %1$s is one of the previous four entries. + #. %2$s is an address. + #. e.g. "S/MIME keys matching " +-#: ncrypt/crypt_gpgme.c:4763 ++#: ncrypt/crypt_gpgme.c:4841 + #, fuzzy, c-format + msgid "%s <%s>" + msgstr "%s [%s]\n" + + #. L10N: e.g. 'S/MIME keys matching "Michael Elkins".' +-#: ncrypt/crypt_gpgme.c:4768 ++#: ncrypt/crypt_gpgme.c:4846 + #, fuzzy, c-format + msgid "%s \"%s\"" + msgstr "%s [%s]\n" + +-#: ncrypt/crypt_gpgme.c:4796 ncrypt/pgpkey.c:754 ++#: ncrypt/crypt_gpgme.c:4874 ncrypt/pgpkey.c:787 + msgid "This key can't be used: expired/disabled/revoked" + msgstr "Esta chave non pode ser usada: expirada/deshabilitada/revocada" + +-#: ncrypt/crypt_gpgme.c:4810 ncrypt/pgpkey.c:767 ncrypt/smime.c:581 ++#: ncrypt/crypt_gpgme.c:4888 ncrypt/pgpkey.c:800 ncrypt/smime.c:613 + #, fuzzy + msgid "ID is expired/disabled/revoked. Do you really want to use the key?" + msgstr "Este ID expirou/foi deshabilitado/foi revocado. ¿Está seguro de querer usa-la chave?" + +-#: ncrypt/crypt_gpgme.c:4820 ncrypt/pgpkey.c:779 ++#: ncrypt/crypt_gpgme.c:4898 ncrypt/pgpkey.c:812 + #, fuzzy + msgid "ID is not valid. Do you really want to use the key?" + msgstr "Este ID non é de confianza. ¿Está seguro de querer usa-la chave?" + +-#: ncrypt/crypt_gpgme.c:4823 ncrypt/pgpkey.c:782 ++#: ncrypt/crypt_gpgme.c:4901 ncrypt/pgpkey.c:815 + #, fuzzy + msgid "ID is only marginally valid. Do you really want to use the key?" + msgstr "Este ID é de confianza marxinal. ¿Está seguro de querer usa-la chave?" + +-#: ncrypt/crypt_gpgme.c:4831 ncrypt/pgpkey.c:775 ncrypt/smime.c:585 ++#: ncrypt/crypt_gpgme.c:4909 ncrypt/pgpkey.c:808 ncrypt/smime.c:617 + msgid "ID has undefined validity. Do you really want to use the key?" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:4911 ncrypt/crypt_gpgme.c:5024 ncrypt/pgpkey.c:1019 +-#: ncrypt/pgpkey.c:1146 ++#: ncrypt/crypt_gpgme.c:4991 ncrypt/crypt_gpgme.c:5104 ncrypt/pgpkey.c:1054 ++#: ncrypt/pgpkey.c:1181 + #, c-format + msgid "Looking for keys matching \"%s\"..." + msgstr "Buscando chaves que coincidan con \"%s\"..." + +-#: ncrypt/crypt_gpgme.c:5140 ncrypt/pgpkey.c:870 ncrypt/smime.c:924 ++#: ncrypt/crypt_gpgme.c:5220 ncrypt/pgpkey.c:905 ncrypt/smime.c:958 + #, c-format + msgid "No matching keys found for \"%s\"" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5190 ncrypt/pgp.c:1456 ++#: ncrypt/crypt_gpgme.c:5270 ncrypt/pgp.c:1457 + #, c-format + msgid "Use keyID = \"%s\" for %s?" + msgstr "¿Usa-lo keyID = \"%s\" para %s?" + +-#: ncrypt/crypt_gpgme.c:5238 ncrypt/pgp.c:1505 ncrypt/smime.c:944 +-#: ncrypt/smime.c:1049 ++#: ncrypt/crypt_gpgme.c:5318 ncrypt/pgp.c:1506 ncrypt/smime.c:978 ++#: ncrypt/smime.c:1083 + #, c-format + msgid "Enter keyID for %s: " + msgstr "Introduza keyID para %s: " +@@ -4485,16 +4566,16 @@ msgstr "Introduza keyID para %s: " + #. mutt_gpgme_select_secret_key() tries to list all secret keys to choose + #. from. This error is displayed if no results were found. + #. +-#: ncrypt/crypt_gpgme.c:5364 ++#: ncrypt/crypt_gpgme.c:5444 + #, fuzzy + msgid "No secret keys found" + msgstr "Non se atopou" + +-#: ncrypt/crypt_gpgme.c:5398 ncrypt/pgpkey.c:888 ++#: ncrypt/crypt_gpgme.c:5478 ncrypt/pgpkey.c:923 + msgid "Please enter the key ID: " + msgstr "Introduza o key ID: " + +-#: ncrypt/crypt_gpgme.c:5411 ++#: ncrypt/crypt_gpgme.c:5491 + #, fuzzy, c-format + msgid "Error exporting key: %s" + msgstr "erro no patrón en: %s" +@@ -4502,99 +4583,99 @@ msgstr "erro no patrón en: %s" + #. 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. +-#: ncrypt/crypt_gpgme.c:5429 ++#: ncrypt/crypt_gpgme.c:5509 + #, fuzzy, c-format + msgid "PGP Key 0x%s" + msgstr "Chave PGP %s" + +-#: ncrypt/crypt_gpgme.c:5474 ++#: ncrypt/crypt_gpgme.c:5554 + msgid "GPGME: OpenPGP protocol not available" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5485 ++#: ncrypt/crypt_gpgme.c:5565 + msgid "GPGME: CMS protocol not available" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5536 ++#: ncrypt/crypt_gpgme.c:5616 + #, fuzzy + msgid "S/MIME (s)ign, sign (a)s, (p)gp, (c)lear, or (o)ppenc mode off?" + msgstr "¿(e)ncriptar, (f)irmar, firmar (c)omo, (a)mbas, (i)nterior, ou (o)lvidar?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5538 ++#: ncrypt/crypt_gpgme.c:5618 + msgid "sapco" + msgstr "efcaio" + +-#: ncrypt/crypt_gpgme.c:5545 ++#: ncrypt/crypt_gpgme.c:5625 + #, fuzzy + msgid "PGP (s)ign, sign (a)s, s/(m)ime, (c)lear, or (o)ppenc mode off?" + msgstr "¿(e)ncriptar, (f)irmar, firmar (c)omo, (a)mbas, (i)nterior, ou (o)lvidar?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5547 ++#: ncrypt/crypt_gpgme.c:5627 + msgid "samco" + msgstr "efcaio" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5557 ++#: ncrypt/crypt_gpgme.c:5637 + #, fuzzy + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp, (c)lear, or (o)ppenc mode?" + msgstr "¿(e)ncriptar, (f)irmar, firmar (c)omo, (a)mbas, (i)nterior, ou (o)lvidar?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5560 ++#: ncrypt/crypt_gpgme.c:5640 + msgid "esabpco" + msgstr "efcaio" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5566 ++#: ncrypt/crypt_gpgme.c:5646 + #, fuzzy + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime, (c)lear, or (o)ppenc mode?" + msgstr "¿(e)ncriptar, (f)irmar, firmar (c)omo, (a)mbas, (i)nterior, ou (o)lvidar?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5569 ++#: ncrypt/crypt_gpgme.c:5649 + msgid "esabmco" + msgstr "efcaio" + +-#: ncrypt/crypt_gpgme.c:5580 ++#: ncrypt/crypt_gpgme.c:5660 + #, fuzzy + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp or (c)lear?" + msgstr "¿(e)ncriptar, (f)irmar, firmar (c)omo, (a)mbas, (i)nterior, ou (o)lvidar?" + + #. L10N: S/MIME options +-#: ncrypt/crypt_gpgme.c:5582 ++#: ncrypt/crypt_gpgme.c:5662 + msgid "esabpc" + msgstr "efcaio" + +-#: ncrypt/crypt_gpgme.c:5589 ++#: ncrypt/crypt_gpgme.c:5669 + #, fuzzy + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime or (c)lear?" + msgstr "¿(e)ncriptar, (f)irmar, firmar (c)omo, (a)mbas, (i)nterior, ou (o)lvidar?" + + #. L10N: PGP options +-#: ncrypt/crypt_gpgme.c:5591 ++#: ncrypt/crypt_gpgme.c:5671 + msgid "esabmc" + msgstr "efcaio" + +-#: ncrypt/crypt_gpgme.c:5751 ++#: ncrypt/crypt_gpgme.c:5831 + msgid "Failed to verify sender" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5754 ++#: ncrypt/crypt_gpgme.c:5834 + #, fuzzy + msgid "Failed to figure out sender" + msgstr "Fallo ó abri-lo ficheiro para analiza-las cabeceiras." + +-#: ncrypt/pgp.c:108 ++#: ncrypt/pgp.c:107 + msgid "Enter PGP passphrase:" + msgstr "Introduza o contrasinal PGP:" + +-#: ncrypt/pgp.c:595 ++#: ncrypt/pgp.c:594 + msgid "[-- Error: unable to create PGP subprocess --]\n" + msgstr "[-- Erro: ¡non foi posible crear subproceso PGP --]\n" + +-#: ncrypt/pgp.c:644 ncrypt/pgp.c:926 ncrypt/pgp.c:1086 ++#: ncrypt/pgp.c:643 ncrypt/pgp.c:925 ncrypt/pgp.c:1085 + msgid "" + "[-- End of PGP output --]\n" + "\n" +@@ -4603,16 +4684,16 @@ msgstr "[-- Fin da saída PGP --]\n" + #. L10N: You will see this error message if (1) you are decrypting + #. (not encrypting) something and (2) it is a plaintext. So the + #. message does not mean "You failed to encrypt the message." +-#: ncrypt/pgp.c:724 ++#: ncrypt/pgp.c:723 + #, fuzzy + msgid "PGP message is not encrypted" + msgstr "Sinatura PGP verificada con éxito" + +-#: ncrypt/pgp.c:978 ++#: ncrypt/pgp.c:977 + msgid "Internal error. Please submit a bug report." + msgstr "" + +-#: ncrypt/pgp.c:1043 ++#: ncrypt/pgp.c:1042 + msgid "" + "[-- Error: could not create a PGP subprocess --]\n" + "\n" +@@ -4620,130 +4701,130 @@ msgstr "" + "[-- Erro: ¡non foi posible crear un subproceso PGP --]\n" + "\n" + +-#: ncrypt/pgp.c:1073 ncrypt/pgp.c:1098 ncrypt/smime.c:2143 postpone.c:757 +-#: postpone.c:785 ++#: ncrypt/pgp.c:1072 ncrypt/pgp.c:1097 ncrypt/smime.c:2177 postpone.c:803 ++#: postpone.c:831 + #, fuzzy + msgid "Decryption failed" + msgstr "O login fallou" + +-#: ncrypt/pgp.c:1333 ++#: ncrypt/pgp.c:1334 + msgid "Can't open PGP subprocess" + msgstr "¡Non foi posible abri-lo subproceso PGP" + +-#: ncrypt/pgp.c:1768 ++#: ncrypt/pgp.c:1770 + msgid "Can't invoke PGP" + msgstr "Non foi posible invocar ó PGP" + + #. L10N: The next string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1875 ++#: ncrypt/pgp.c:1877 + msgid "PGP/M(i)ME" + msgstr "" + + #. L10N: The previous string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1881 ++#: ncrypt/pgp.c:1883 + msgid "(i)nline" + msgstr "" + + #. L10N: PGP options (inline) (opportunistic encryption is on) +-#: ncrypt/pgp.c:1893 ++#: ncrypt/pgp.c:1895 + #, fuzzy, c-format + msgid "PGP (s)ign, sign (a)s, %s format, (c)lear, or (o)ppenc mode off?" + msgstr "¿(e)ncriptar, (f)irmar, firmar (c)omo, (a)mbas, (i)nterior, ou (o)lvidar?" + + #. L10N: PGP options (inline) (opportunistic encryption is on) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1899 ++#: ncrypt/pgp.c:1901 + msgid "saico" + msgstr "efcaio" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1905 ++#: ncrypt/pgp.c:1907 + #, fuzzy + msgid "PGP (s)ign, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "¿(e)ncriptar, (f)irmar, firmar (c)omo, (a)mbas, (i)nterior, ou (o)lvidar?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1907 ++#: ncrypt/pgp.c:1909 + msgid "saco" + msgstr "efcaio" + + #. L10N: PGP options (inline) (opportunistic encryption is off) +-#: ncrypt/pgp.c:1921 ++#: ncrypt/pgp.c:1923 + #, fuzzy, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, (c)lear, or (o)ppenc mode?" + msgstr "¿(e)ncriptar, (f)irmar, firmar (c)omo, (a)mbas, (i)nterior, ou (o)lvidar?" + + #. L10N: PGP options (inline) (opportunistic encryption is off) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1927 ++#: ncrypt/pgp.c:1929 + msgid "esabico" + msgstr "efcaio" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1933 ++#: ncrypt/pgp.c:1935 + #, fuzzy + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "¿(e)ncriptar, (f)irmar, firmar (c)omo, (a)mbas, (i)nterior, ou (o)lvidar?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1936 ++#: ncrypt/pgp.c:1938 + msgid "esabco" + msgstr "efcaio" + + #. L10N: PGP options (inline) +-#: ncrypt/pgp.c:1947 ++#: ncrypt/pgp.c:1949 + #, fuzzy, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, or (c)lear?" + msgstr "¿(e)ncriptar, (f)irmar, firmar (c)omo, (a)mbas, (i)nterior, ou (o)lvidar?" + + #. L10N: PGP options (inline) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1953 ++#: ncrypt/pgp.c:1955 + msgid "esabic" + msgstr "efcaio" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1959 ++#: ncrypt/pgp.c:1961 + #, fuzzy + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (c)lear?" + msgstr "¿(e)ncriptar, (f)irmar, firmar (c)omo, (a)mbas, (i)nterior, ou (o)lvidar?" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1961 ++#: ncrypt/pgp.c:1963 + msgid "esabc" + msgstr "efcaio" + +-#: ncrypt/pgpinvoke.c:458 ++#: ncrypt/pgpinvoke.c:461 + msgid "Fetching PGP key..." + msgstr "Recollendo chave PGP..." + +-#: ncrypt/pgpkey.c:640 ++#: ncrypt/pgpkey.c:643 + #, fuzzy + msgid "All matching keys are expired, revoked, or disabled" + msgstr "Tódalas chaves coincidintes están marcadas como expiradas/revocadas" + +-#: ncrypt/pgpkey.c:681 ++#: ncrypt/pgpkey.c:714 + #, c-format + msgid "PGP keys matching <%s>" + msgstr "Chaves PGP coincidintes con <%s>" + +-#: ncrypt/pgpkey.c:683 ++#: ncrypt/pgpkey.c:716 + #, c-format + msgid "PGP keys matching \"%s\"" + msgstr "Chaves PGP coincidintes con \"%s\"" + +-#: ncrypt/pgpkey.c:700 ncrypt/pgpkey.c:909 ++#: ncrypt/pgpkey.c:733 ncrypt/pgpkey.c:944 + msgid "Can't open /dev/null" + msgstr "Non foi posible abrir /dev/null" + +-#: ncrypt/pgpkey.c:938 ++#: ncrypt/pgpkey.c:973 + #, c-format + msgid "PGP Key %s" + msgstr "Chave PGP %s" + +-#: ncrypt/smime.c:182 ++#: ncrypt/smime.c:180 + #, fuzzy + msgid "Enter S/MIME passphrase:" + msgstr "Introduza o contrasinal S/MIME:" +@@ -4753,7 +4834,7 @@ msgstr "Introduza o contrasinal S/MIME:" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:460 ++#: ncrypt/smime.c:462 + #, fuzzy + msgid "Expired " + msgstr "Saír " +@@ -4763,7 +4844,7 @@ msgstr "Saír " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:468 ++#: ncrypt/smime.c:470 + #, fuzzy + msgid "Invalid " + msgstr "Mes inválido: %s" +@@ -4773,7 +4854,7 @@ msgstr "Mes inválido: %s" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:476 ++#: ncrypt/smime.c:478 + msgid "Revoked " + msgstr "" + +@@ -4782,7 +4863,7 @@ msgstr "" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:484 ++#: ncrypt/smime.c:486 + msgid "Trusted " + msgstr "" + +@@ -4791,7 +4872,7 @@ msgstr "" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:492 ++#: ncrypt/smime.c:494 + msgid "Unverified" + msgstr "" + +@@ -4800,7 +4881,7 @@ msgstr "" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:500 ++#: ncrypt/smime.c:502 + msgid "Verified " + msgstr "" + +@@ -4809,92 +4890,92 @@ msgstr "" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:508 ++#: ncrypt/smime.c:510 + #, fuzzy + msgid "Unknown " + msgstr "Descoñecido" + +-#: ncrypt/smime.c:545 ++#: ncrypt/smime.c:547 + #, fuzzy, c-format + msgid "S/MIME certificates matching \"%s\"" + msgstr "Chaves S/MIME coincidintes con \"%s\"" + +-#: ncrypt/smime.c:589 ++#: ncrypt/smime.c:621 + #, fuzzy + msgid "ID is not trusted. Do you really want to use the key?" + msgstr "Este ID non é de confianza. ¿Está seguro de querer usa-la chave?" + +-#: ncrypt/smime.c:910 ++#: ncrypt/smime.c:944 + #, fuzzy + msgid "Enter keyID: " + msgstr "Introduza keyID para %s: " + +-#: ncrypt/smime.c:1055 ++#: ncrypt/smime.c:1089 + #, c-format + msgid "No (valid) certificate found for %s" + msgstr "" + +-#: ncrypt/smime.c:1108 ncrypt/smime.c:1137 ncrypt/smime.c:1209 +-#: ncrypt/smime.c:1243 ncrypt/smime.c:1319 ncrypt/smime.c:1399 ++#: ncrypt/smime.c:1142 ncrypt/smime.c:1171 ncrypt/smime.c:1243 ++#: ncrypt/smime.c:1277 ncrypt/smime.c:1353 ncrypt/smime.c:1433 + #, fuzzy + msgid "Error: unable to create OpenSSL subprocess" + msgstr "[-- Erro: ¡non foi posible crear subproceso OpenSSL --]\n" + +-#: ncrypt/smime.c:1379 ++#: ncrypt/smime.c:1413 + #, fuzzy + msgid "Label for certificate: " + msgstr "Non foi posible obter un certificado do outro extremo" + +-#: ncrypt/smime.c:1480 ++#: ncrypt/smime.c:1514 + #, fuzzy + msgid "no certfile" + msgstr "Non se puido crea-lo filtro" + +-#: ncrypt/smime.c:1483 ++#: ncrypt/smime.c:1517 + #, fuzzy + msgid "no mbox" + msgstr "(non hai buzón)" + +-#: ncrypt/smime.c:1640 ncrypt/smime.c:1810 ++#: ncrypt/smime.c:1674 ncrypt/smime.c:1844 + msgid "No output from OpenSSL..." + msgstr "" + +-#: ncrypt/smime.c:1727 ++#: ncrypt/smime.c:1761 + msgid "Can't sign: No key specified. Use Sign As." + msgstr "" + +-#: ncrypt/smime.c:1777 ++#: ncrypt/smime.c:1811 + #, fuzzy + msgid "Can't open OpenSSL subprocess" + msgstr "¡Non foi posible abri-lo subproceso OpenSSL" + +-#: ncrypt/smime.c:2004 ncrypt/smime.c:2123 ++#: ncrypt/smime.c:2038 ncrypt/smime.c:2157 + #, fuzzy + msgid "" + "[-- End of OpenSSL output --]\n" + "\n" + msgstr "[-- Fin da saída OpenSSL --]\n" + +-#: ncrypt/smime.c:2080 ncrypt/smime.c:2093 ++#: ncrypt/smime.c:2114 ncrypt/smime.c:2127 + #, fuzzy + msgid "[-- Error: unable to create OpenSSL subprocess --]\n" + msgstr "[-- Erro: ¡non foi posible crear subproceso OpenSSL --]\n" + +-#: ncrypt/smime.c:2129 ++#: ncrypt/smime.c:2163 + #, fuzzy + msgid "[-- The following data is S/MIME encrypted --]\n" + msgstr "" + "[-- Os datos a continuación están encriptados con S/MIME --]\n" + "\n" + +-#: ncrypt/smime.c:2132 ++#: ncrypt/smime.c:2166 + #, fuzzy + msgid "[-- The following data is S/MIME signed --]\n" + msgstr "" + "[-- Os datos a continuación están asinados --]\n" + "\n" + +-#: ncrypt/smime.c:2225 ++#: ncrypt/smime.c:2259 + #, fuzzy + msgid "" + "\n" +@@ -4903,7 +4984,7 @@ msgstr "" + "\n" + "[-- Fin dos datos con encriptación S/MIME --]\n" + +-#: ncrypt/smime.c:2227 ++#: ncrypt/smime.c:2261 + #, fuzzy + msgid "" + "\n" +@@ -4913,170 +4994,170 @@ msgstr "" + "[-- Fin dos datos asinados --]\n" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2361 ++#: ncrypt/smime.c:2395 + #, fuzzy + msgid "S/MIME (s)ign, encrypt (w)ith, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "¿(e)ncriptar, (f)irmar, firmar (c)omo, (a)mbas ou (o)lvidar?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2364 ++#: ncrypt/smime.c:2398 + msgid "swaco" + msgstr "efcao" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2372 ++#: ncrypt/smime.c:2406 + #, fuzzy + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "¿(e)ncriptar, (f)irmar, firmar (c)omo, (a)mbas ou (o)lvidar?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2375 ++#: ncrypt/smime.c:2409 + msgid "eswabco" + msgstr "efcao" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2382 ++#: ncrypt/smime.c:2416 + #, fuzzy + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, or (c)lear?" + msgstr "¿(e)ncriptar, (f)irmar, firmar (c)omo, (a)mbas ou (o)lvidar?" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2385 ++#: ncrypt/smime.c:2419 + msgid "eswabc" + msgstr "efcao" + +-#: ncrypt/smime.c:2449 ++#: ncrypt/smime.c:2483 + msgid "Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear?" + msgstr "" + + #. L10N: Options for: Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear? +-#: ncrypt/smime.c:2452 ++#: ncrypt/smime.c:2486 + msgid "123c" + msgstr "" + +-#: ncrypt/smime.c:2455 ++#: ncrypt/smime.c:2489 + msgid "(1) DES, (2) Triple-DES?" + msgstr "" + + #. L10N: Options for: (1) DES, (2) Triple-DES +-#: ncrypt/smime.c:2457 ++#: ncrypt/smime.c:2491 + msgid "12" + msgstr "" + +-#: ncrypt/smime.c:2470 ++#: ncrypt/smime.c:2504 + msgid "(1) RC2-40, (2) RC2-64, (3) RC2-128?" + msgstr "" + + #. L10N: Options for: (1) RC2-40, (2) RC2-64, (3) RC2-128 + #. L10N: Options for: (1) AES128, (2) AES192, (3) AES256 +-#: ncrypt/smime.c:2472 ncrypt/smime.c:2490 ++#: ncrypt/smime.c:2506 ncrypt/smime.c:2524 + msgid "123" + msgstr "" + +-#: ncrypt/smime.c:2488 ++#: ncrypt/smime.c:2522 + msgid "(1) AES128, (2) AES192, (3) AES256?" + msgstr "" + +-#: nntp/newsrc.c:632 ++#: nntp/newsrc.c:639 + msgid "Loading list of groups from cache..." + msgstr "" + +-#: nntp/newsrc.c:997 ++#: nntp/newsrc.c:1023 + #, fuzzy + msgid "No news server defined" + msgstr "Non foi definido nome de usuario POP." + +-#: nntp/newsrc.c:1012 ++#: nntp/newsrc.c:1041 + #, c-format + msgid "%s is an invalid news server specification" + msgstr "" + +-#: nntp/nntp.c:236 nntp/nntp.c:777 pop/pop.c:742 pop/pop_lib.c:398 ++#: nntp/nntp.c:238 nntp/nntp.c:779 pop/pop.c:742 pop/pop_lib.c:424 + msgid "Server closed connection" + msgstr "¡O servidor pechou a conexión" + +-#: nntp/nntp.c:340 ++#: nntp/nntp.c:342 + msgid "Server doesn't support reader mode" + msgstr "" + +-#: nntp/nntp.c:576 pop/pop_auth.c:504 smtp.c:650 ++#: nntp/nntp.c:578 pop/pop_auth.c:505 smtp.c:675 + #, fuzzy + msgid "No authenticators available" + msgstr "Autenticación SASL fallida." + +-#: nntp/nntp.c:766 ++#: nntp/nntp.c:768 + #, fuzzy, c-format + msgid "%s authentication failed" + msgstr "Autenticación SASL fallida" + +-#: nntp/nntp.c:826 ++#: nntp/nntp.c:828 + #, fuzzy, c-format + msgid "Connection to %s lost. Reconnect?" + msgstr "Fallou a conexión con %s." + +-#: nntp/nntp.c:1285 ++#: nntp/nntp.c:1287 + #, fuzzy + msgid "Fetching list of articles..." + msgstr "Recollendo a lista de mensaxes..." + +-#: nntp/nntp.c:1549 nntp/nntp.c:2138 pop/pop.c:614 pop/pop.c:910 ++#: nntp/nntp.c:1551 nntp/nntp.c:2140 pop/pop.c:614 pop/pop.c:905 + msgid "Checking for new messages..." + msgstr "Buscando novas mensaxes..." + +-#: nntp/nntp.c:1864 nntp/nntp.c:1954 ++#: nntp/nntp.c:1866 nntp/nntp.c:1956 + #, fuzzy + msgid "Could not switch to reader mode" + msgstr "Non foi posible crea-lo buzón temporal: %s" + +-#: nntp/nntp.c:1877 ++#: nntp/nntp.c:1879 + #, fuzzy, c-format + msgid "Connected to %s. %s" + msgstr "Conectando con %s..." + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + #, fuzzy + msgid "Posting is ok" + msgstr "Conectando con %s.." + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + msgid "Posting is NOT ok" + msgstr "" + +-#: nntp/nntp.c:2008 nntp/nntp.c:2043 ++#: nntp/nntp.c:2010 nntp/nntp.c:2045 + #, fuzzy, c-format + msgid "Can't post article: %s" + msgstr "Non foi atopado: %s" + +-#: nntp/nntp.c:2064 ++#: nntp/nntp.c:2066 + #, fuzzy, c-format + msgid "Loading list of groups from server %s..." + msgstr "Borrando mensaxes do servidor..." + +-#: nntp/nntp.c:2106 nntp/nntp.c:2198 ++#: nntp/nntp.c:2108 nntp/nntp.c:2200 + #, fuzzy + msgid "Loading descriptions..." + msgstr "Comezando secuencia de login ..." + +-#: nntp/nntp.c:2128 ++#: nntp/nntp.c:2130 + #, fuzzy + msgid "Checking for new newsgroups..." + msgstr "Buscando novas mensaxes..." + +-#: nntp/nntp.c:2332 ++#: nntp/nntp.c:2334 + msgid "Unable to find child articles because server does not support XPAT command" + msgstr "" + +-#: nntp/nntp.c:2437 ++#: nntp/nntp.c:2439 + #, c-format + msgid "%s is an invalid newsgroup specification" + msgstr "" + +-#: nntp/nntp.c:2476 ++#: nntp/nntp.c:2478 + #, c-format + msgid "Newsgroup %s not found on the server" + msgstr "" + +-#: nntp/nntp.c:2498 ++#: nntp/nntp.c:2500 + #, c-format + msgid "Newsgroup %s has been removed from the server" + msgstr "" +@@ -5088,7 +5169,7 @@ msgstr "" + + #: notmuch/mutt_notmuch.c:219 notmuch/mutt_notmuch.c:1939 + #, c-format +-msgid "failed to parse notmuch uri: %s" ++msgid "failed to parse notmuch url: %s" + msgstr "" + + #: notmuch/mutt_notmuch.c:449 +@@ -6247,189 +6328,189 @@ msgid "show S/MIME options" + msgstr "amosa-las opcións S/MIME" + + # +-#: pager.c:222 ++#: pager.c:214 + msgid "Not available in this menu" + msgstr "Non dispoñible neste menú" + +-#: pager.c:229 ++#: pager.c:221 + msgid "PrevPg" + msgstr "PáxAnt" + +-#: pager.c:230 ++#: pager.c:222 + msgid "NextPg" + msgstr "SegPáx" + +-#: pager.c:235 ++#: pager.c:227 + msgid "View Attachm." + msgstr "Ver adxunto" + +-#: pager.c:238 pager.c:247 ++#: pager.c:230 pager.c:239 + msgid "Next" + msgstr "Seguinte" + + #. L10N: Status bar message: the entire email is visible in the pager + #. L10N: Status bar message: all the emails are visible in the index +-#: pager.c:2180 status.c:278 ++#: pager.c:2136 status.c:278 + msgid "all" + msgstr "" + + #. L10N: Status bar message: the end of the email is visible in the pager + #. L10N: Status bar message: the end of the list emails is visible in the index +-#: pager.c:2182 status.c:276 ++#: pager.c:2138 status.c:276 + msgid "end" + msgstr "" + +-#: pager.c:2530 pager.c:2566 pager.c:2602 pager.c:2937 ++#: pager.c:2503 pager.c:2539 pager.c:2576 pager.c:2911 + msgid "Bottom of message is shown" + msgstr "Amosase o final da mensaxe" + +-#: pager.c:2543 pager.c:2573 pager.c:2580 pager.c:2590 ++#: pager.c:2516 pager.c:2546 pager.c:2553 pager.c:2564 + msgid "Top of message is shown" + msgstr "Amosase o principio da mensaxe" + +-#: pager.c:2840 ++#: pager.c:2814 + msgid "Help is currently being shown" + msgstr "Estase a amosa-la axuda" + +-#: pager.c:2897 ++#: pager.c:2871 + msgid "No more quoted text" + msgstr "Non hai máis texto citado" + +-#: pager.c:2914 ++#: pager.c:2888 + msgid "No more unquoted text after quoted text" + msgstr "Non hai máis texto sen citar despois do texto citado" + +-#: pattern.c:220 pattern.c:297 pattern.c:1046 ++#: pattern.c:221 pattern.c:298 pattern.c:1085 + #, c-format + msgid "Error in expression: %s" + msgstr "Erro na expresión: %s" + +-#: pattern.c:226 pattern.c:302 pattern.c:1052 ++#: pattern.c:227 pattern.c:303 pattern.c:1091 + #, fuzzy + msgid "Empty expression" + msgstr "erro na expresión" + +-#: pattern.c:288 ++#: pattern.c:289 + #, fuzzy + msgid "No search command defined" + msgstr "Comando de consulta non definido" + +-#: pattern.c:326 ++#: pattern.c:327 + #, fuzzy, c-format + msgid "Running search command: %s ..." + msgstr "Chamando ó comando de automostra: %s" + +-#: pattern.c:417 ++#: pattern.c:441 pattern.c:456 + #, c-format + msgid "Invalid day of month: %s" + msgstr "Día do mes inválido: %s" + +-#: pattern.c:431 ++#: pattern.c:446 pattern.c:470 + #, c-format + msgid "Invalid month: %s" + msgstr "Mes inválido: %s" + +-#: pattern.c:534 ++#: pattern.c:573 + #, c-format + msgid "Invalid relative date: %s" + msgstr "Data relativa incorrecta: %s" + +-#: pattern.c:842 pattern.c:975 ++#: pattern.c:881 pattern.c:1014 + #, fuzzy + msgid "No current message" + msgstr "Non hai mensaxes sen ler" + +-#: pattern.c:1002 ++#: pattern.c:1041 + msgid "No Context" + msgstr "" + +-#: pattern.c:1125 ++#: pattern.c:1164 + #, fuzzy + msgid "Error opening 'memory stream'" + msgstr "¡Erro cando se estaba a escribi-lo buzón!" + +-#: pattern.c:1171 ++#: pattern.c:1210 + #, fuzzy + msgid "Error re-opening 'memory stream'" + msgstr "¡Erro cando se estaba a escribi-lo buzón!" + +-#: pattern.c:1180 ++#: pattern.c:1219 + #, fuzzy + msgid "Error opening /dev/null" + msgstr "Non foi posible abrir /dev/null" + +-#: pattern.c:1443 pattern.c:1620 ++#: pattern.c:1482 pattern.c:1662 + #, c-format + msgid "error in pattern at: %s" + msgstr "erro no patrón en: %s" + +-#: pattern.c:1476 ++#: pattern.c:1515 + #, fuzzy, c-format + msgid "missing pattern: %s" + msgstr "falta un parámetro" + +-#: pattern.c:1494 pattern.c:1593 ++#: pattern.c:1533 pattern.c:1635 + #, c-format + msgid "mismatched parentheses: %s" + msgstr "paréntese sen contraparte: %s" + +-#: pattern.c:1559 ++#: pattern.c:1598 + #, fuzzy, c-format + msgid "%c: invalid pattern modifier" + msgstr "%c: comando inválido" + +-#: pattern.c:1564 ++#: pattern.c:1603 + #, c-format + msgid "%c: not supported in this mode" + msgstr "%c: non está soportado neste modo" + +-#: pattern.c:1576 ++#: pattern.c:1618 + msgid "missing parameter" + msgstr "falta un parámetro" + +-#: pattern.c:1626 ++#: pattern.c:1668 + msgid "empty pattern" + msgstr "patrón valeiro" + +-#: pattern.c:2080 pattern.c:2083 ++#: pattern.c:2202 pattern.c:2205 + msgid "error: server custom search only supported with IMAP" + msgstr "" + +-#: pattern.c:2274 ++#: pattern.c:2398 + #, c-format + msgid "error: unknown op %d (report this error)" + msgstr "erro: operador descoñecido %d (informe deste erro)" + +-#: pattern.c:2448 pattern.c:2604 ++#: pattern.c:2572 pattern.c:2728 + msgid "Compiling search pattern..." + msgstr "Compilando patrón de búsqueda..." + +-#: pattern.c:2468 ++#: pattern.c:2592 + msgid "Executing command on matching messages..." + msgstr "Executando comando nas mensaxes coincidintes..." + +-#: pattern.c:2537 ++#: pattern.c:2661 + msgid "No messages matched criteria" + msgstr "Non hai mensaxes que coincidan co criterio" + +-#: pattern.c:2641 ++#: pattern.c:2765 + #, fuzzy + msgid "Searching..." + msgstr "Gardando..." + +-#: pattern.c:2655 ++#: pattern.c:2779 + msgid "Search hit bottom without finding match" + msgstr "A búsqueda cheou ó final sen atopar coincidencias" + +-#: pattern.c:2666 ++#: pattern.c:2790 + msgid "Search hit top without finding match" + msgstr "A búsqueda chegou ó comezo sen atopar coincidencia" + +-#: pattern.c:2700 ++#: pattern.c:2824 + msgid "Search interrupted" + msgstr "Búsqueda interrompida" + +-#: pop/pop.c:216 pop/pop_lib.c:234 ++#: pop/pop.c:216 pop/pop_lib.c:259 + msgid "Command TOP is not supported by server" + msgstr "O comando TOP non está soportado polo servidor" + +@@ -6437,7 +6518,7 @@ msgstr "O comando TOP non está soportado polo servidor" + msgid "Can't write header to temporary file" + msgstr "Non foi posible escribi-la cabeceira ó ficheiro temporal" + +-#: pop/pop.c:420 pop/pop_lib.c:236 ++#: pop/pop.c:420 pop/pop_lib.c:261 + msgid "Command UIDL is not supported by server" + msgstr "O comando UIDL non está soportado polo servidor" + +@@ -6452,7 +6533,7 @@ msgstr[1] "O índice de mensaxes é incorrecto. Tente reabri-lo buzón." + msgid "POP host is not defined" + msgstr "O servidor POP non está definido" + +-#: pop/pop.c:596 pop/pop.c:825 ++#: pop/pop.c:596 pop/pop.c:790 pop/pop.c:820 + #, c-format + msgid "%s is an invalid POP path" + msgstr "" +@@ -6485,157 +6566,157 @@ msgid_plural "%s [%d of %d messages read]" + msgstr[0] "%s [%d de %d mensaxes lidas]" + msgstr[1] "%s [%d de %d mensaxes lidas]" + +-#: pop/pop.c:876 ++#: pop/pop.c:871 + msgid "Fetching list of messages..." + msgstr "Recollendo a lista de mensaxes..." + +-#: pop/pop.c:959 ++#: pop/pop.c:954 + #, fuzzy + msgid "Marking messages deleted..." + msgstr "Marcando %d mensaxes borradas ..." + +-#: pop/pop.c:1150 ++#: pop/pop.c:1145 + msgid "Can't write message to temporary file" + msgstr "Non foi posible escribi-la mensaxe ó ficheiro temporal" + +-#: pop/pop_auth.c:103 ++#: pop/pop_auth.c:104 + msgid "Authenticating (SASL)..." + msgstr "Autenticando (SASL)..." + +-#: pop/pop_auth.c:245 ++#: pop/pop_auth.c:246 + msgid "POP timestamp is invalid" + msgstr "" + +-#: pop/pop_auth.c:249 ++#: pop/pop_auth.c:250 + msgid "Authenticating (APOP)..." + msgstr "Autenticando (APOP)..." + +-#: pop/pop_auth.c:269 ++#: pop/pop_auth.c:270 + msgid "APOP authentication failed" + msgstr "Autenticación APOP fallida" + +-#: pop/pop_auth.c:309 ++#: pop/pop_auth.c:310 + msgid "Command USER is not supported by server" + msgstr "O comando USER non está soportado polo servidor" + +-#: pop/pop_auth.c:386 ++#: pop/pop_auth.c:387 + #, fuzzy + msgid "Authentication failed" + msgstr "Autenticación SASL fallida" + +-#: pop/pop_lib.c:78 ++#: pop/pop_lib.c:103 + #, fuzzy, c-format + msgid "Invalid POP URL: %s" + msgstr "Mes inválido: %s" + +-#: pop/pop_lib.c:232 ++#: pop/pop_lib.c:257 + msgid "Unable to leave messages on server" + msgstr "Non foi posible deixa-las mensaxes no servidor" + +-#: pop/pop_lib.c:274 ++#: pop/pop_lib.c:300 + #, c-format + msgid "Error connecting to server: %s" + msgstr "Erro ó conectar có servidor: %s" + +-#: pop/pop_lib.c:414 ++#: pop/pop_lib.c:440 + msgid "Closing connection to POP server..." + msgstr "Pechando conexión có servidor POP..." + +-#: pop/pop_lib.c:605 ++#: pop/pop_lib.c:631 + msgid "Verifying message indexes..." + msgstr "Verificando os índices de mensaxes..." + +-#: pop/pop_lib.c:628 ++#: pop/pop_lib.c:654 + msgid "Connection lost. Reconnect to POP server?" + msgstr "Perdeuse a conexión. ¿Volver a conectar ó servidor POP?" + +-#: postpone.c:229 ++#: postpone.c:260 + msgid "Postponed Messages" + msgstr "Mensaxes pospostas" + +-#: postpone.c:314 postpone.c:326 ++#: postpone.c:348 postpone.c:372 + msgid "No postponed messages" + msgstr "Non hai mensaxes pospostas" + +-#: postpone.c:480 ++#: postpone.c:526 + #, fuzzy + msgid "Illegal S/MIME header" + msgstr "Cabeceira S/MIME ilegal" + +-#: postpone.c:510 postpone.c:551 postpone.c:560 ++#: postpone.c:556 postpone.c:597 postpone.c:606 + #, fuzzy + msgid "Illegal crypto header" + msgstr "Cabeceira PGP ilegal" + +-#: postpone.c:644 postpone.c:752 postpone.c:780 ++#: postpone.c:690 postpone.c:798 postpone.c:826 + #, fuzzy + msgid "Decrypting message..." + msgstr "Recollendo mensaxe..." + +-#: query.c:82 ++#: query.c:80 + msgid "New Query" + msgstr "Nova consulta" + +-#: query.c:83 ++#: query.c:81 + msgid "Make Alias" + msgstr "Facer alias" + +-#: query.c:180 ++#: query.c:178 + msgid "Waiting for response..." + msgstr "Agardando resposta..." + +-#: query.c:362 query.c:400 ++#: query.c:365 query.c:434 + msgid "Query: " + msgstr "Consulta: " + +-#: query.c:370 query.c:407 ++#: query.c:374 query.c:442 + #, c-format + msgid "Query '%s'" + msgstr "Consulta '%s'" + +-#: query.c:620 query.c:657 ++#: query.c:661 query.c:698 + msgid "Query command not defined" + msgstr "Comando de consulta non definido" + +-#: recvattach.c:93 ++#: recvattach.c:91 + msgid "Pipe" + msgstr "Canalizar" + +-#: recvattach.c:94 ++#: recvattach.c:92 + msgid "Print" + msgstr "Imprimir" + +-#: recvattach.c:569 ++#: recvattach.c:571 + msgid "Saving..." + msgstr "Gardando..." + +-#: recvattach.c:573 recvattach.c:744 recvattach.c:748 ++#: recvattach.c:575 recvattach.c:746 recvattach.c:750 + #, fuzzy, c-format + msgid "Attachment saved" + msgid_plural "%d attachments saved" + msgstr[0] "Adxunto gardado" + msgstr[1] "Adxunto gardado" + +-#: recvattach.c:772 ++#: recvattach.c:774 + #, c-format + msgid "WARNING! You are about to overwrite %s, continue?" + msgstr "¡ATENCION! Está a punto de sobreescribir %s, ¿seguir?" + +-#: recvattach.c:790 ++#: recvattach.c:792 + msgid "Attachment filtered" + msgstr "Adxunto filtrado" + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Filter through: " + msgstr "Filtrar a través de: " + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Pipe to: " + msgstr "Canalizar a: " + + #. L10N: s gets replaced by a MIME type, e.g. "text/plain" or + #. application/octet-stream. +-#: recvattach.c:935 ++#: recvattach.c:937 + #, fuzzy, c-format + msgid "I don't know how to print %s attachments" + msgstr "¡Non sei cómo imprimir adxuntos %s" +@@ -6643,60 +6724,60 @@ msgstr "¡Non sei cómo imprimir adxuntos %s" + #. L10N: Although we now the precise number of tagged messages, we + #. do not show it to the user. So feel free to use a "generic + #. plural" as plural translation if your language has one. +-#: recvattach.c:1038 ++#: recvattach.c:1040 + #, fuzzy, c-format + msgid "Print tagged attachment?" + msgid_plural "Print %d tagged attachments?" + msgstr[0] "¿Imprimi-la(s) mensaxe(s) marcada(s)?" + msgstr[1] "¿Imprimi-la(s) mensaxe(s) marcada(s)?" + +-#: recvattach.c:1039 ++#: recvattach.c:1041 + #, c-format + msgid "Print attachment?" + msgstr "¿Imprimir adxunto?" + +-#: recvattach.c:1123 ++#: recvattach.c:1125 + msgid "Structural changes to decrypted attachments are not supported" + msgstr "" + +-#: recvattach.c:1291 ++#: recvattach.c:1293 + #, fuzzy + msgid "Can't decrypt encrypted message" + msgstr "Non foi posible atopar ningunha mensaxe marcada." + +-#: recvattach.c:1425 ++#: recvattach.c:1457 + msgid "Attachments" + msgstr "Adxuntos" + + # +-#: recvattach.c:1465 ++#: recvattach.c:1497 + msgid "There are no subparts to show" + msgstr "Non hai subpartes que amosar." + +-#: recvattach.c:1520 ++#: recvattach.c:1552 + msgid "Can't delete attachment from POP server" + msgstr "Non é posible borrar un adxunto do servidor POP" + +-#: recvattach.c:1529 ++#: recvattach.c:1561 + #, fuzzy + msgid "Can't delete attachment from news server" + msgstr "Non é posible borrar un adxunto do servidor POP" + +-#: recvattach.c:1536 ++#: recvattach.c:1568 + #, fuzzy + msgid "Deletion of attachments from encrypted messages is unsupported" + msgstr "O borrado de adxuntos de mensaxes PGP non está soportado" + +-#: recvattach.c:1542 ++#: recvattach.c:1574 + #, fuzzy + msgid "Deletion of attachments from signed messages may invalidate the signature" + msgstr "O borrado de adxuntos de mensaxes PGP non está soportado" + +-#: recvattach.c:1561 recvattach.c:1578 ++#: recvattach.c:1593 recvattach.c:1610 + msgid "Only deletion of multipart attachments is supported" + msgstr "Só o borrado de adxuntos de mensaxes multiparte está soportado" + +-#: recvcmd.c:79 ++#: recvcmd.c:78 + msgid "You may only bounce message/rfc822 parts" + msgstr "Somentes podes rebotar partes \"message/rfc822\"" + +@@ -6735,7 +6816,7 @@ msgstr "Non foi posible crear %s" + msgid "Can't find any tagged messages" + msgstr "Non foi posible atopar ningunha mensaxe marcada" + +-#: recvcmd.c:848 send.c:1073 ++#: recvcmd.c:848 send.c:1072 + msgid "No mailing lists found" + msgstr "¡Non se atoparon listas de correo" + +@@ -6752,67 +6833,67 @@ msgstr "" + msgid "You may only compose to sender with message/rfc822 parts" + msgstr "Somentes podes rebotar partes \"message/rfc822\"" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Append" + msgstr "Engadir" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Insert" + msgstr "Insertar" + +-#: remailer.c:78 ++#: remailer.c:76 + msgid "OK" + msgstr "Ok" + +-#: remailer.c:210 ++#: remailer.c:207 + msgid "" + msgstr "" + +-#: remailer.c:586 ++#: remailer.c:617 + msgid "Can't get mixmaster's type2.list" + msgstr "Non foi posible recolle-lo 'type2.list' do mixmaster." + +-#: remailer.c:612 ++#: remailer.c:673 + msgid "Select a remailer chain" + msgstr "Seleccionar unha cadea de remailers" + +-#: remailer.c:674 ++#: remailer.c:735 + #, c-format + msgid "Error: %s can't be used as the final remailer of a chain" + msgstr "Erro: %s non pode ser usado como remailer final dunha cadea" + + #. L10N The '%d' here hard-coded to 19 +-#: remailer.c:706 ++#: remailer.c:767 + #, c-format + msgid "Mixmaster chains are limited to %d elements" + msgstr "As cadeas mixmaster están limitadas a %d elementos" + +-#: remailer.c:729 ++#: remailer.c:790 + msgid "The remailer chain is already empty" + msgstr "A cadea de remailers xa está valeira" + +-#: remailer.c:739 ++#: remailer.c:800 + msgid "You already have the first chain element selected" + msgstr "O primeiro elemento da cadea xa está seleccionado" + +-#: remailer.c:749 ++#: remailer.c:810 + msgid "You already have the last chain element selected" + msgstr "O derradeiro elemento da cadea xa está seleccionado" + +-#: remailer.c:792 ++#: remailer.c:856 + msgid "Mixmaster doesn't accept Cc or Bcc headers" + msgstr "O mixmaster non acepta cabeceiras Cc ou Bcc" + +-#: remailer.c:817 ++#: remailer.c:881 + msgid "Please set the hostname variable to a proper value when using mixmaster" + msgstr "Por favor, use un valor correcto da variable 'hostname' cando use o mixmaster." + +-#: remailer.c:860 ++#: remailer.c:924 + #, c-format + msgid "Error sending message, child exited %d.\n" + msgstr "Erro enviando mensaxe, o proceso fillo saíu con %d.\n" + +-#: remailer.c:864 ++#: remailer.c:928 + msgid "Error sending message" + msgstr "Erro enviando a mensaxe" + +@@ -6843,42 +6924,42 @@ msgstr "¿Reenviar mensaxes coma adxuntos?" + + #. L10N: Asks whether the user respects the reply-to header. + #. If she says no, neomutt will reply to the from header's address instead. +-#: send.c:793 ++#: send.c:792 + #, c-format + msgid "Reply to %s%s?" + msgstr "¿Responder a %s%s?" + +-#: send.c:838 ++#: send.c:837 + #, c-format + msgid "Follow-up to %s%s?" + msgstr "¿Responder a %s%s?" + +-#: send.c:1122 ++#: send.c:1121 + msgid "Include message in reply?" + msgstr "¿Inclui-la mensaxe na resposta?" + +-#: send.c:1128 ++#: send.c:1127 + msgid "Including quoted message..." + msgstr "Incluindo mensaxe citada..." + +-#: send.c:1137 ++#: send.c:1136 + msgid "Could not include all requested messages" + msgstr "¡Non foi posible incluir tódalas mensaxes requeridas" + +-#: send.c:1148 ++#: send.c:1147 + msgid "Forward as attachment?" + msgstr "¿Remitir como adxunto?" + +-#: send.c:1153 ++#: send.c:1152 + msgid "Preparing forwarded message..." + msgstr "Preparando mensaxe remitida ..." + +-#: send.c:1632 ++#: send.c:1631 + #, fuzzy + msgid "Fcc to an IMAP mailbox is not supported in batch mode" + msgstr "%c: non está soportado neste modo" + +-#: send.c:1664 send.c:1690 ++#: send.c:1665 send.c:1675 send.c:1701 + #, fuzzy + msgid "Save attachments in Fcc?" + msgstr "ver adxunto como texto" +@@ -6887,197 +6968,197 @@ msgstr "ver adxunto como texto" + #. (r)etry tries the same mailbox again. + #. alternate (m)ailbox prompts for a different mailbox to try. + #. (s)kip aborts saving. +-#: send.c:1712 ++#: send.c:1723 + msgid "Fcc failed. (r)etry, alternate (m)ailbox, or (s)kip?" + msgstr "" + + #. L10N: These correspond to the "Fcc failed" multi-choice prompt + #. (r)etry, alternate (m)ailbox, or (s)kip. + #. Any similarity to famous leaders of the FSF is coincidental. +-#: send.c:1716 ++#: send.c:1727 + msgid "rms" + msgstr "" + + #. L10N: This is the prompt to enter an "alternate (m)ailbox" when the + #. initial Fcc fails. +-#: send.c:1722 ++#: send.c:1733 + #, fuzzy + msgid "Fcc mailbox" + msgstr "Non hai buzón.\n" + +-#: send.c:1788 ++#: send.c:1799 + msgid "Can't postpone. $postponed is unset" + msgstr "" + +-#: send.c:1923 ++#: send.c:1934 + msgid "Recall postponed message?" + msgstr "¿Editar mensaxe posposta?" + +-#: send.c:2228 ++#: send.c:2239 + #, fuzzy + msgid "Edit forwarded message?" + msgstr "Preparando mensaxe remitida ..." + +-#: send.c:2266 ++#: send.c:2277 + msgid "Abort unmodified message?" + msgstr "¿Cancelar mensaxe sen modificar?" + +-#: send.c:2268 ++#: send.c:2279 + msgid "Aborted unmodified message" + msgstr "Mensaxe sen modificar cancelada" + +-#: send.c:2388 ++#: send.c:2399 + msgid "No crypto backend configured. Disabling message security setting." + msgstr "" + +-#: send.c:2427 ++#: send.c:2438 + #, fuzzy + msgid "Article not posted" + msgstr "Mensaxe non enviada" + +-#: send.c:2437 ++#: send.c:2448 + msgid "Message postponed" + msgstr "Mensaxe posposta" + +-#: send.c:2470 ++#: send.c:2481 + msgid "No subject, abort sending?" + msgstr "Non hai tema, ¿cancela-lo envío?" + +-#: send.c:2474 send.c:2480 ++#: send.c:2485 send.c:2491 + msgid "No subject specified" + msgstr "Non se especificou tema" + +-#: send.c:2486 ++#: send.c:2497 + #, fuzzy + msgid "No newsgroup specified" + msgstr "Non se especificou tema" + +-#: send.c:2496 ++#: send.c:2507 + #, fuzzy + msgid "No attachments, cancel sending?" + msgstr "edita-lo \"transfer-encoding\" do adxunto" + +-#: send.c:2501 ++#: send.c:2512 + msgid "Message contains text matching \"$abort_noattach_regex\". Not sending." + msgstr "" + +-#: send.c:2559 smtp.c:227 ++#: send.c:2570 smtp.c:230 + msgid "Sending message..." + msgstr "Enviando mensaxe..." + +-#: send.c:2598 ++#: send.c:2609 + msgid "Could not send the message" + msgstr "Non foi posible envia-la mensaxe" + +-#: send.c:2608 ++#: send.c:2619 + msgid "Sending in background" + msgstr "Mandando en segundo plano" + +-#: send.c:2609 ++#: send.c:2620 + msgid "Article posted" + msgstr "" + +-#: send.c:2610 ++#: send.c:2621 + msgid "Mail sent" + msgstr "Mensaxe enviada" + +-#: sendlib.c:567 ++#: sendlib.c:566 + msgid "No boundary parameter found [report this error]" + msgstr "¡Non se atopout parámetro \"boundary\" [informe deste erro]" + +-#: sendlib.c:598 ++#: sendlib.c:597 + #, c-format + msgid "%s no longer exists" + msgstr "¡Xa non existe %s" + +-#: sendlib.c:1056 ++#: sendlib.c:1055 + #, fuzzy, c-format + msgid "%s isn't a regular file" + msgstr "%s non é un buzón" + +-#: sendlib.c:1223 ++#: sendlib.c:1222 + #, fuzzy + msgid "Could not find any mime.types file." + msgstr "Non foi posible envia-la mensaxe." + +-#: sendlib.c:1314 ++#: sendlib.c:1313 + #, c-format + msgid "Could not open %s" + msgstr "Non foi posible abrir %s" + +-#: sendlib.c:2864 ++#: sendlib.c:2855 + msgid "$sendmail must be set in order to send mail" + msgstr "" + +-#: sendlib.c:2971 ++#: sendlib.c:2962 + #, c-format + msgid "Error sending message, child exited %d (%s)" + msgstr "Erro enviando mensaxe, o proceso fillo saíu con %d (%s)" + +-#: sendlib.c:2977 ++#: sendlib.c:2969 + msgid "Output of the delivery process" + msgstr "Saída do proceso de distribución" + +-#: sendlib.c:3157 ++#: sendlib.c:3154 + #, c-format + msgid "Bad IDN %s while preparing resent-from" + msgstr "" + +-#: smtp.c:165 ++#: smtp.c:168 + #, fuzzy, c-format + msgid "SMTP session failed: %s" + msgstr "O login fallou." + +-#: smtp.c:222 ++#: smtp.c:225 + #, fuzzy, c-format + msgid "SMTP session failed: unable to open %s" + msgstr "O login fallou." + +-#: smtp.c:339 ++#: smtp.c:364 + #, fuzzy, c-format + msgid "Invalid SMTP URL: %s" + msgstr "Mes inválido: %s" + +-#: smtp.c:618 ++#: smtp.c:643 + #, c-format + msgid "SMTP authentication method %s requires SASL" + msgstr "" + +-#: smtp.c:625 ++#: smtp.c:650 + #, fuzzy, c-format + msgid "%s authentication failed, trying next method" + msgstr "Autenticación SASL fallida." + +-#: smtp.c:636 ++#: smtp.c:661 + #, fuzzy + msgid "SMTP authentication requires SASL" + msgstr "Autenticación GSSAPI fallida" + +-#: smtp.c:717 ++#: smtp.c:742 + msgid "SMTP server does not support authentication" + msgstr "" + +-#: smtp.c:756 ++#: smtp.c:781 + msgid "No from address given" + msgstr "" + +-#: smtp.c:821 ++#: smtp.c:846 + msgid "SMTP session failed: read error" + msgstr "" + +-#: smtp.c:823 ++#: smtp.c:848 + msgid "SMTP session failed: write error" + msgstr "" + +-#: smtp.c:825 ++#: smtp.c:850 + msgid "Invalid server response" + msgstr "" + +-#: sort.c:385 ++#: sort.c:387 + msgid "Sorting mailbox..." + msgstr "Ordeando buzón..." + +-#: sort.c:427 ++#: sort.c:429 + msgid "Could not find sorting function [report this bug]" + msgstr "¡Non foi atopada unha función de ordeación [informe deste fallo]" + +@@ -7129,11 +7210,11 @@ msgstr "" + "NeoMutt é software libre, e vostede é benvido cando desexe redistribuilo \n" + "baixo certas condicións; escriba 'neomutt -vv' para ve-losdetalles.\n" + +-#: version.c:446 ++#: version.c:451 + #, fuzzy + msgid "Default options:" + msgstr "Opcións de compilación:" + +-#: version.c:449 ++#: version.c:454 + msgid "Compile options:" + msgstr "Opcións de compilación:" +diff --git a/po/hu.po b/po/hu.po +index cfd33b583..a1a6af2e1 100644 +--- a/po/hu.po ++++ b/po/hu.po +@@ -10,7 +10,7 @@ msgid "" + msgstr "" + "Project-Id-Version: neomutt-2019-12-07\n" + "Report-Msgid-Bugs-To: neomutt-devel@neomutt.org\n" +-"POT-Creation-Date: 2019-12-06 23:10+0000\n" ++"POT-Creation-Date: 2020-03-09 12:15+0000\n" + "PO-Revision-Date: 2003-08-01 13:56+0000\n" + "Last-Translator: Szabolcs Horváth \n" + "Language-Team: LME Magyaritasok Lista \n" +@@ -20,16 +20,44 @@ msgstr "" + "Content-Transfer-Encoding: 8bit\n" + "Plural-Forms: nplurals=2; plural=(n != 1);\n" + +-#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:59 browser.c:80 browser.c:90 +-#: mutt_history.c:45 pager.c:228 postpone.c:68 query.c:80 recvattach.c:93 ++#, fuzzy ++msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" ++msgstr "(v)isszautasít, (e)gyszer elfogad, (m)indig elfogad" ++ ++#, fuzzy ++msgid "roas" ++msgstr "vem" ++ ++msgid "(r)eject, accept (o)nce, (a)ccept always" ++msgstr "(v)isszautasít, (e)gyszer elfogad, (m)indig elfogad" ++ ++msgid "roa" ++msgstr "vem" ++ ++#, fuzzy ++msgid "(r)eject, accept (o)nce, (s)kip" ++msgstr "(v)isszautasít, (e)gyszer elfogad" ++ ++#, fuzzy ++msgid "ros" ++msgstr "ve" ++ ++msgid "(r)eject, accept (o)nce" ++msgstr "(v)isszautasít, (e)gyszer elfogad" ++ ++msgid "ro" ++msgstr "ve" ++ ++#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:58 browser.c:79 browser.c:89 ++#: mutt_history.c:45 pager.c:220 postpone.c:68 query.c:78 recvattach.c:91 + msgid "Exit" + msgstr "Kilép" + +-#: addrbook.c:56 index.c:116 index.c:129 pager.c:236 pager.c:246 postpone.c:69 ++#: addrbook.c:56 index.c:112 index.c:125 pager.c:228 pager.c:238 postpone.c:69 + msgid "Del" + msgstr "Töröl" + +-#: addrbook.c:57 index.c:117 index.c:130 postpone.c:70 ++#: addrbook.c:57 index.c:113 index.c:126 postpone.c:70 + msgid "Undel" + msgstr "Visszaállít" + +@@ -37,18 +65,18 @@ msgstr "Visszaállít" + msgid "Select" + msgstr "Választ" + +-#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:82 browser.c:84 browser.c:96 +-#: compose.c:218 compose.c:230 conn/ssl.c:983 conn/ssl_gnutls.c:691 index.c:122 +-#: index.c:135 mutt_history.c:48 ncrypt/crypt_gpgme.c:4735 ncrypt/pgpkey.c:670 +-#: ncrypt/smime.c:553 pager.c:2326 postpone.c:71 query.c:85 recvattach.c:94 ++#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:81 browser.c:83 browser.c:95 ++#: compose.c:216 compose.c:228 conn/ssl.c:996 conn/ssl_gnutls.c:722 index.c:118 ++#: index.c:131 mutt_history.c:48 ncrypt/crypt_gpgme.c:4783 ncrypt/pgpkey.c:673 ++#: ncrypt/smime.c:555 pager.c:2297 postpone.c:71 query.c:83 recvattach.c:92 + msgid "Help" + msgstr "Súgó" + +-#: addrbook.c:208 ++#: addrbook.c:238 + msgid "You have no aliases" + msgstr "Nincs bejegyzés a címjegyzékben" + +-#: addrbook.c:215 ++#: addrbook.c:276 + msgid "Aliases" + msgstr "Címjegyzék" + +@@ -57,53 +85,53 @@ msgstr "Címjegyzék" + msgid "Alias as: " + msgstr "Álnév: " + +-#: alias.c:411 ++#: alias.c:414 + msgid "You already have an alias defined with that name" + msgstr "Már van bejegyzés ilyen álnévvel" + +-#: alias.c:417 ++#: alias.c:420 + msgid "Warning: This alias name may not work. Fix it?" + msgstr "Figyelmeztetés: Ez az álnév lehet, hogy nem működik. Javítsam?" + +-#: alias.c:442 ++#: alias.c:445 + msgid "Address: " + msgstr "Cím: " + +-#: alias.c:453 commands.c:444 compose.c:744 conn/conn_raw.c:152 +-#: conn/conn_raw.c:210 recvcmd.c:232 send.c:228 ++#: alias.c:457 commands.c:450 compose.c:743 conn/conn_raw.c:152 ++#: conn/conn_raw.c:210 recvcmd.c:231 send.c:227 + #, c-format + msgid "Bad IDN: '%s'" + msgstr "Hibás IDN: '%s'" + +-#: alias.c:464 ++#: alias.c:468 + msgid "Personal name: " + msgstr "Név: " + +-#: alias.c:473 ++#: alias.c:477 + #, c-format + msgid "[%s = %s] Accept?" + msgstr "[%s = %s] Rendben?" + +-#: alias.c:484 recvattach.c:528 recvattach.c:550 recvattach.c:564 +-#: recvattach.c:579 recvattach.c:678 ++#: alias.c:488 recvattach.c:530 recvattach.c:552 recvattach.c:566 ++#: recvattach.c:581 recvattach.c:680 + msgid "Save to file: " + msgstr "Mentés fájlba: " + +-#: alias.c:503 ++#: alias.c:507 + #, fuzzy + msgid "Error reading alias file" + msgstr "Hiba a fájl megjelenítéskor" + +-#: alias.c:525 ++#: alias.c:529 + #, fuzzy + msgid "Trouble adding alias" + msgstr "Hiba a fájl megjelenítéskor" + +-#: alias.c:527 ++#: alias.c:531 + msgid "Alias added" + msgstr "Cím bejegyezve" + +-#: alias.c:532 ++#: alias.c:536 + #, fuzzy + msgid "Error seeking in alias file" + msgstr "Hiba a fájl megjelenítéskor" +@@ -113,7 +141,7 @@ msgstr "Hiba a fájl megjelenítéskor" + #. for some reason (e.g. autocrypt, header cache, bcache), but it + #. doesn't exist. The prompt is asking whether to create the directory + #. +-#: autocrypt/autocrypt.c:70 main.c:826 ++#: autocrypt/autocrypt.c:70 main.c:757 + #, c-format + msgid "%s does not exist. Create it?" + msgstr "%s nem létezik. Létrehozzam?" +@@ -122,8 +150,8 @@ msgstr "%s nem létezik. Létrehozzam?" + #. mkdir() on the directory %s failed. The second %s is the + #. error message returned by libc + #. +-#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:830 +-#: nntp/newsrc.c:1069 ++#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:761 ++#: nntp/newsrc.c:1098 + #, c-format + msgid "Can't create %s: %s" + msgstr "Nem tudom létrehozni %s: %s" +@@ -133,7 +161,7 @@ msgstr "Nem tudom létrehozni %s: %s" + #. create $autocrypt_dir and then prompt to create an autocrypt + #. account with this message. + #. +-#: autocrypt/autocrypt.c:156 ++#: autocrypt/autocrypt.c:163 + msgid "Create an initial autocrypt account?" + msgstr "" + +@@ -142,7 +170,7 @@ msgstr "" + #. autocrypt account. This will generate a key and add a record + #. to the database for use in autocrypt operations. + #. +-#: autocrypt/autocrypt.c:180 ++#: autocrypt/autocrypt.c:187 + msgid "Autocrypt account address: " + msgstr "" + +@@ -151,7 +179,7 @@ msgstr "" + #. a single address. This is shown if they entered something invalid, + #. nothing, or more than one address for some reason. + #. +-#: autocrypt/autocrypt.c:191 ++#: autocrypt/autocrypt.c:198 + msgid "Please enter a single email address" + msgstr "" + +@@ -160,7 +188,7 @@ msgstr "" + #. if there is already an account in the database with the email address + #. they just entered. + #. +-#: autocrypt/autocrypt.c:208 ++#: autocrypt/autocrypt.c:215 + msgid "That email address already has an autocrypt account" + msgstr "" + +@@ -172,7 +200,7 @@ msgstr "" + #. Otherwise the UI will show encryption is "available" but the user + #. will be required to enable encryption manually. + #. +-#: autocrypt/autocrypt.c:223 ++#: autocrypt/autocrypt.c:230 + #, fuzzy + msgid "Prefer encryption?" + msgstr "Titkosít" +@@ -180,7 +208,7 @@ msgstr "Titkosít" + #. L10N: + #. Message displayed after an autocrypt account is successfully created. + #. +-#: autocrypt/autocrypt.c:236 ++#: autocrypt/autocrypt.c:243 + msgid "Autocrypt account creation succeeded" + msgstr "" + +@@ -188,7 +216,7 @@ msgstr "" + #. Error message displayed if creating an autocrypt account failed + #. or was aborted by the user. + #. +-#: autocrypt/autocrypt.c:242 ++#: autocrypt/autocrypt.c:249 + msgid "Autocrypt account creation aborted" + msgstr "" + +@@ -197,7 +225,7 @@ msgstr "" + #. to use to encrypt, but it can't find a valid keyid for this address. + #. The message is printed and they are returned to the compose menu. + #. +-#: autocrypt/autocrypt.c:610 autocrypt/autocrypt.c:639 ++#: autocrypt/autocrypt.c:617 autocrypt/autocrypt.c:646 + #, fuzzy, c-format + msgid "No (valid) autocrypt key found for %s" + msgstr "Nem található (érvényes) tanúsítvány ehhez: %s" +@@ -209,12 +237,12 @@ msgstr "Nem található (érvényes) tanúsítvány ehhez: %s" + #. and used for encryption. + #. If this is answered yes, they will be prompted for a mailbox. + #. +-#: autocrypt/autocrypt.c:903 ++#: autocrypt/autocrypt.c:910 + msgid "Scan a mailbox for autocrypt headers?" + msgstr "" + + #. L10N: The prompt for a mailbox to scan for Autocrypt: headers +-#: autocrypt/autocrypt.c:907 ++#: autocrypt/autocrypt.c:914 + #, fuzzy + msgid "Scan mailbox" + msgstr "Nincs postafiók.\n" +@@ -226,14 +254,14 @@ msgstr "Nincs postafiók.\n" + #. for a mailbox. This is because this is a one-time operation + #. and I don't want them to accidentally ctrl-g and abort it. + #. +-#: autocrypt/autocrypt.c:927 ++#: autocrypt/autocrypt.c:934 + msgid "Scan another mailbox for autocrypt headers?" + msgstr "" + + #. L10N: Autocrypt Account Menu Help line: + #. create new account + #. +-#: autocrypt/autocrypt_acct_menu.c:63 ++#: autocrypt/autocrypt_acct_menu.c:62 + #, fuzzy + msgid "Create" + msgstr "%s létrehozása?" +@@ -241,7 +269,7 @@ msgstr "%s létrehozása?" + #. L10N: Autocrypt Account Menu Help line: + #. delete account + #. +-#: autocrypt/autocrypt_acct_menu.c:67 remailer.c:77 ++#: autocrypt/autocrypt_acct_menu.c:66 remailer.c:75 + msgid "Delete" + msgstr "Törlés" + +@@ -249,9 +277,9 @@ msgstr "Törlés" + #. toggle an account active/inactive + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:74 ++#: autocrypt/autocrypt_acct_menu.c:73 + msgid "Tgl Active" + msgstr "" + +@@ -259,17 +287,17 @@ msgstr "" + #. toggle "prefer-encrypt" on an account + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:81 +-msgid "Prf Enc" ++#: autocrypt/autocrypt_acct_menu.c:80 ++msgid "Prf Encr" + msgstr "" + + #. L10N: + #. Autocrypt Account menu. + #. flag that an account has prefer-encrypt set + #. +-#: autocrypt/autocrypt_acct_menu.c:123 ++#: autocrypt/autocrypt_acct_menu.c:122 + msgid "prefer encrypt" + msgstr "" + +@@ -278,7 +306,7 @@ msgstr "" + #. flag that an account has prefer-encrypt unset; + #. thus encryption will need to be manually enabled. + #. +-#: autocrypt/autocrypt_acct_menu.c:130 ++#: autocrypt/autocrypt_acct_menu.c:129 + msgid "manual encrypt" + msgstr "" + +@@ -286,7 +314,7 @@ msgstr "" + #. Autocrypt Account menu. + #. flag that an account is enabled/active + #. +-#: autocrypt/autocrypt_acct_menu.c:138 ++#: autocrypt/autocrypt_acct_menu.c:137 + msgid "active" + msgstr "" + +@@ -294,12 +322,12 @@ msgstr "" + #. Autocrypt Account menu. + #. flag that an account is disabled/inactive + #. +-#: autocrypt/autocrypt_acct_menu.c:144 ++#: autocrypt/autocrypt_acct_menu.c:143 + msgid "inactive" + msgstr "" + + #. L10N: Autocrypt Account Management Menu title +-#: autocrypt/autocrypt_acct_menu.c:183 ++#: autocrypt/autocrypt_acct_menu.c:182 + msgid "Autocrypt Accounts" + msgstr "" + +@@ -307,13 +335,13 @@ msgstr "" + #. This error message is displayed if a database update of an + #. account record fails for some odd reason. + #. +-#: autocrypt/autocrypt_acct_menu.c:245 autocrypt/autocrypt_acct_menu.c:259 ++#: autocrypt/autocrypt_acct_menu.c:244 autocrypt/autocrypt_acct_menu.c:258 + #, fuzzy + msgid "Error updating account record" + msgstr "Hiba a könyvtár beolvasásakor" + + #. L10N: Confirmation message when deleting an autocrypt account +-#: autocrypt/autocrypt_acct_menu.c:302 ++#: autocrypt/autocrypt_acct_menu.c:333 + #, fuzzy, c-format + msgid "Really delete account \"%s\"?" + msgstr "Valóban törli a \"%s\" postafiókot?" +@@ -331,7 +359,7 @@ msgstr "Valóban törli a \"%s\" postafiókot?" + msgid "Unable to open autocrypt database %s" + msgstr "Nem tudom zárolni a postafiókot!" + +-#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:774 ++#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:773 + #, fuzzy, c-format + msgid "error creating gpgme context: %s" + msgstr "hiba a mintában: %s" +@@ -404,336 +432,287 @@ msgstr "" + msgid "Message cache isn't a directory: %s" + msgstr "A(z) %s nem könyvtár" + +-#: browser.c:81 ++#: browser.c:80 + msgid "Chdir" + msgstr "Könyvtárváltás" + +-#: browser.c:82 ++#: browser.c:81 + msgid "Goto" + msgstr "" + +-#: browser.c:83 browser.c:95 ++#: browser.c:82 browser.c:94 + msgid "Mask" + msgstr "Maszk" + +-#: browser.c:91 ++#: browser.c:90 + msgid "List" + msgstr "" + +-#: browser.c:92 ++#: browser.c:91 + #, fuzzy + msgid "Subscribe" + msgstr "%s felírása..." + +-#: browser.c:93 ++#: browser.c:92 + #, fuzzy + msgid "Unsubscribe" + msgstr "%s leírása..." + +-#: browser.c:94 index.c:134 ++#: browser.c:93 index.c:130 + msgid "Catchup" + msgstr "" + +-#: browser.c:760 browser.c:1519 browser.c:1758 ++#: browser.c:763 browser.c:1584 browser.c:1825 + #, c-format + msgid "%s is not a directory" + msgstr "A(z) %s nem könyvtár" + +-#: browser.c:1025 ++#: browser.c:1028 + #, fuzzy, c-format + msgid "Subscribed newsgroups" + msgstr "%s felírása..." + +-#: browser.c:1028 ++#: browser.c:1031 + #, c-format + msgid "Newsgroups on server [%s]" + msgstr "" + +-#: browser.c:1038 ++#: browser.c:1041 + #, c-format + msgid "Mailboxes [%d]" + msgstr "Postafiókok [%d]" + +-#: browser.c:1050 ++#: browser.c:1053 + #, c-format + msgid "Subscribed [%s], File mask: %s" + msgstr "Felírt [%s], Fájlmaszk: %s" + +-#: browser.c:1056 ++#: browser.c:1059 + #, c-format + msgid "Directory [%s], File mask: %s" + msgstr "Könyvtár [%s], Fájlmaszk: %s" + +-#: browser.c:1113 ++#: browser.c:1116 + msgid "Can't attach a directory" + msgstr "Könyvtár nem csatolható" + +-#: browser.c:1380 browser.c:1814 browser.c:1959 ++#: browser.c:1445 browser.c:1881 browser.c:2026 + msgid "No files match the file mask" + msgstr "Nincs a fájlmaszknak megfelelő fájl" + +-#: browser.c:1587 ++#: browser.c:1654 + msgid "Create is only supported for IMAP mailboxes" + msgstr "Csak IMAP postafiókok létrehozása támogatott" + +-#: browser.c:1609 ++#: browser.c:1676 + #, fuzzy + msgid "Rename is only supported for IMAP mailboxes" + msgstr "Csak IMAP postafiókok létrehozása támogatott" + +-#: browser.c:1630 ++#: browser.c:1697 + msgid "Delete is only supported for IMAP mailboxes" + msgstr "Csak IMAP postafiókok törlése támogatott" + +-#: browser.c:1642 ++#: browser.c:1709 + #, fuzzy + msgid "Can't delete currently selected mailbox" + msgstr "kijelölt fájl nevének mutatása" + +-#: browser.c:1646 ++#: browser.c:1713 + #, c-format + msgid "Really delete mailbox \"%s\"?" + msgstr "Valóban törli a \"%s\" postafiókot?" + +-#: browser.c:1663 ++#: browser.c:1730 + msgid "Mailbox deleted" + msgstr "Postafiók törölve" + +-#: browser.c:1667 ++#: browser.c:1734 + #, fuzzy + msgid "Mailbox deletion failed" + msgstr "Postafiók törölve" + +-#: browser.c:1670 ++#: browser.c:1737 + msgid "Mailbox not deleted" + msgstr "A postafiók nem lett törölve" + +-#: browser.c:1697 ++#: browser.c:1764 + msgid "Chdir to: " + msgstr "Könyvtár: " + +-#: browser.c:1747 browser.c:1808 ++#: browser.c:1814 browser.c:1875 + msgid "Error scanning directory" + msgstr "Hiba a könyvtár beolvasásakor" + +-#: browser.c:1769 ++#: browser.c:1836 + msgid "File Mask: " + msgstr "Fájlmaszk: " + + #. L10N: The highlighted letters must match the "Sort" options +-#: browser.c:1831 ++#: browser.c:1898 + #, fuzzy + msgid "Reverse sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "Fordított rendezés (d)átum, (n)év, (m)éret szerint vagy (r)endezetlen?" + + #. L10N: The highlighted letters must match the "Reverse Sort" options +-#: browser.c:1834 ++#: browser.c:1901 + #, fuzzy + msgid "Sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "Rendezés (d)átum, (n)év, (m)éret szerint vagy (r)endezetlen?" + + #. L10N: These must match the highlighted letters from "Sort" and "Reverse Sort" +-#: browser.c:1837 ++#: browser.c:1904 + msgid "dazecwn" + msgstr "" + +-#: browser.c:1948 ++#: browser.c:2015 + msgid "New file name: " + msgstr "Az új fájl neve: " + +-#: browser.c:1976 ++#: browser.c:2043 + msgid "Can't view a directory" + msgstr "A könyvtár nem jeleníthető meg" + +-#: browser.c:1993 ++#: browser.c:2060 + msgid "Error trying to view file" + msgstr "Hiba a fájl megjelenítéskor" + +-#: browser.c:2079 ++#: browser.c:2146 + #, fuzzy, c-format + msgid "Subscribe pattern: " + msgstr "%s felírása..." + +-#: browser.c:2081 ++#: browser.c:2148 + #, fuzzy, c-format + msgid "Unsubscribe pattern: " + msgstr "%s leírása..." + +-#: browser.c:2101 ++#: browser.c:2169 + #, fuzzy + msgid "No newsgroups match the mask" + msgstr "Nincs a fájlmaszknak megfelelő fájl" + +-#: color.c:633 color.c:644 +-#, c-format +-msgid "%s: color not supported by term" +-msgstr "%s: a terminál által nem támogatott szín" +- +-#: color.c:652 +-#, c-format +-msgid "%s: no such color" +-msgstr "%s: nincs ilyen szín" +- +-#: color.c:717 color.c:740 color.c:751 color.c:842 +-#, c-format +-msgid "%s: no such object" +-msgstr "%s: nincs ilyen objektum" +- +-#: color.c:731 color.c:868 color.c:1069 color.c:1098 color.c:1122 color.c:1191 +-#: color.c:1214 hook.c:110 hook.c:124 hook.c:367 hook.c:383 init.c:612 +-#: init.c:620 init.c:709 init.c:1099 init.c:1267 init.c:1871 init.c:1929 +-#: keymap.c:1184 score.c:110 +-#, c-format +-msgid "%s: too few arguments" +-msgstr "%s: túl kevés paraméter" +- +-#: color.c:1142 +-#, c-format +-msgid "%s: no such attribute" +-msgstr "%s: nincs ilyen attribútum" +- +-#: color.c:1223 color.c:1329 hook.c:131 hook.c:390 init.c:1123 init.c:2133 +-#: init.c:2611 keymap.c:1116 keymap.c:1289 keymap.c:1442 keymap.c:1506 +-#: mutt_lua.c:483 score.c:119 +-#, c-format +-msgid "%s: too many arguments" +-msgstr "%s: túl sok paraméter" +- +-#: color.c:1244 +-msgid "default colors not supported" +-msgstr "az alapértelmezett színek nem támogatottak" +- +-#: color.c:1282 +-#, c-format +-msgid "Maximum quoting level is %d" +-msgstr "" +- +-#: color.c:1319 +-#, fuzzy, c-format +-msgid "%s: invalid number: %s" +-msgstr "%d: érvénytelen levélszám.\n" +- + #. L10N: Used for the $crypt_verify_sig prompt +-#: commands.c:230 ++#: commands.c:232 + msgid "Verify signature?" + msgstr "Ellenőrizzük a aláírást?" + +-#: commands.c:257 mbox/mbox.c:1236 ++#: commands.c:259 mbox/mbox.c:1236 + msgid "Could not create temporary file" + msgstr "Nem lehet átmeneti fájlt létrehozni" + +-#: commands.c:269 ++#: commands.c:271 + msgid "Can't create display filter" + msgstr "Nem lehet megjelenítő szűrőt létrehozni." + +-#: commands.c:302 ++#: commands.c:304 + msgid "Could not copy message" + msgstr "A levelet nem tudtam másolni" + +-#: commands.c:338 ++#: commands.c:340 + msgid "S/MIME signature successfully verified" + msgstr "S/MIME aláírás sikeresen ellenőrizve" + +-#: commands.c:340 ++#: commands.c:342 + msgid "S/MIME certificate owner does not match sender" + msgstr "Az S/MIME tanúsítvány tulajdonosa nem egyezik a küldővel. " + +-#: commands.c:343 commands.c:353 ++#: commands.c:345 commands.c:355 + msgid "Warning: Part of this message has not been signed" + msgstr "" + +-#: commands.c:345 ++#: commands.c:347 + msgid "S/MIME signature could NOT be verified" + msgstr "Az S/MIME aláírást NEM tudtam ellenőrizni" + +-#: commands.c:351 ++#: commands.c:353 + msgid "PGP signature successfully verified" + msgstr "A PGP aláírás sikeresen ellenőrizve" + +-#: commands.c:355 ++#: commands.c:357 + msgid "PGP signature could NOT be verified" + msgstr "A PGP aláírást NEM tudtam ellenőrizni" + +-#: commands.c:372 compose.c:2116 compress.c:321 curs_lib.c:359 curs_lib.c:646 +-#: index.c:1235 index.c:1285 mutt_attach.c:159 mutt_attach.c:292 pager.c:2460 +-#: sendlib.c:1625 ++#: commands.c:378 compose.c:2187 compress/compress.c:320 gui/curs_lib.c:360 ++#: gui/curs_lib.c:714 index.c:1240 index.c:1290 mutt_attach.c:161 ++#: mutt_attach.c:294 pager.c:2433 sendlib.c:1624 + #, c-format + msgid "Error running \"%s\"" + msgstr "Hiba a(z) \"%s\" futtatásakor" + +-#: commands.c:382 ++#: commands.c:388 + msgid "Command: " + msgstr "Parancs: " + +-#: commands.c:419 recvcmd.c:191 recvcmd.c:203 ++#: commands.c:425 recvcmd.c:190 recvcmd.c:202 + msgid "Warning: message contains no From: header" + msgstr "" + +-#: commands.c:425 recvcmd.c:212 ++#: commands.c:431 recvcmd.c:211 + #, fuzzy + msgid "Bounce message to: " + msgstr "Levél visszaküldése. Címzett: " + +-#: commands.c:427 recvcmd.c:214 ++#: commands.c:433 recvcmd.c:213 + #, fuzzy + msgid "Bounce tagged messages to: " + msgstr "Kijelölt levelek visszaküldése. Címzett: " + +-#: commands.c:436 recvcmd.c:224 ++#: commands.c:442 recvcmd.c:223 + msgid "Error parsing address" + msgstr "Hibás cím" + +-#: commands.c:455 recvcmd.c:243 ++#: commands.c:461 recvcmd.c:242 + #, fuzzy, c-format + msgid "Bounce message to %s?" + msgid_plural "Bounce messages to %s?" + msgstr[0] "Levél visszaküldése %s részére" + msgstr[1] "Levél visszaküldése %s részére" + +-#: commands.c:470 recvcmd.c:257 ++#: commands.c:476 recvcmd.c:257 + #, fuzzy + msgid "Message not bounced" + msgid_plural "Messages not bounced" + msgstr[0] "A levél nem lett visszaküldve" + msgstr[1] "A levél nem lett visszaküldve" + +-#: commands.c:496 recvcmd.c:276 ++#: commands.c:502 recvcmd.c:276 + #, fuzzy + msgid "Message bounced" + msgid_plural "Messages bounced" + msgstr[0] "Levél visszaküldve" + msgstr[1] "Levél visszaküldve" + +-#: commands.c:606 commands.c:642 commands.c:662 ++#: commands.c:612 commands.c:648 commands.c:668 + msgid "Can't create filter process" + msgstr "Szűrőfolyamatot nem lehet létrehozni" + +-#: commands.c:698 ++#: commands.c:704 + msgid "Pipe to command: " + msgstr "Parancs, aminek továbbít: " + +-#: commands.c:720 ++#: commands.c:726 + msgid "No printing command has been defined" + msgstr "Nincs nyomtatási parancs megadva" + +-#: commands.c:732 ++#: commands.c:738 + #, fuzzy + msgid "Print message?" + msgstr "Kinyomtatod a levelet?" + +-#: commands.c:733 ++#: commands.c:739 + #, fuzzy + msgid "Print tagged messages?" + msgstr "Kinyomtatod a kijelölt leveleket?" + +-#: commands.c:739 ++#: commands.c:745 + #, fuzzy + msgid "Message printed" + msgid_plural "Messages printed" + msgstr[0] "Levél kinyomtatva" + msgstr[1] "Levél kinyomtatva" + +-#: commands.c:742 ++#: commands.c:748 + #, fuzzy + msgid "Message could not be printed" + msgid_plural "Messages could not be printed" +@@ -741,165 +720,334 @@ msgstr[0] "A levelet nem tudtam kinyomtatni" + msgstr[1] "A leveleket nem tudtam kinyomtatni" + + #. L10N: The highlighted letters must match the "Sort" options +-#: commands.c:759 ++#: commands.c:765 + #, fuzzy + msgid "Rev-Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "Fordítva rendez (d)átum/(f)eladó/ér(k)/tár(g)y/(c)ímzett/(t)éma/(r)endetlen/(m)éret/(p)ontszám: " + + #. L10N: The highlighted letters must match the "Rev-Sort" options +-#: commands.c:763 ++#: commands.c:769 + #, fuzzy + msgid "Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "Rendez (d)átum/(f)eladó/ér(k)ezés/tár(g)y/(c)ímzett/(t)éma/(r)endezetlen/(m)éret/(p)ontszám: " + + #. L10N: These must match the highlighted letters from "Sort" and "Rev-Sort" +-#: commands.c:767 ++#: commands.c:773 + #, fuzzy + msgid "dfrsotuzcpl" + msgstr "dfkgctrmp" + +-#: commands.c:831 ++#: commands.c:837 + msgid "Shell command: " + msgstr "Shell parancs: " + +-#: commands.c:1036 ++#: commands.c:1042 + #, fuzzy + msgid "Decode-save to mailbox" + msgstr "Dekódolás-mentés postafiókba" + +-#: commands.c:1036 ++#: commands.c:1042 + #, fuzzy + msgid "Decode-save tagged to mailbox" + msgstr "Dekódolás-mentés kijelölt postafiókba" + +-#: commands.c:1038 ++#: commands.c:1044 + #, fuzzy + msgid "Decrypt-save to mailbox" + msgstr "Visszafejtés-mentés postafiókba" + +-#: commands.c:1038 ++#: commands.c:1044 + #, fuzzy + msgid "Decrypt-save tagged to mailbox" + msgstr "Visszafejtés-mentés kijelölt postafiókba" + +-#: commands.c:1040 ++#: commands.c:1046 + #, fuzzy + msgid "Save to mailbox" + msgstr "Mentés postafiókba" + +-#: commands.c:1040 ++#: commands.c:1046 + #, fuzzy + msgid "Save tagged to mailbox" + msgstr "Mentés kijelölt postafiókba" + +-#: commands.c:1045 ++#: commands.c:1051 + #, fuzzy + msgid "Decode-copy to mailbox" + msgstr "Dekódolás-másolás postafiókba" + +-#: commands.c:1045 ++#: commands.c:1051 + #, fuzzy + msgid "Decode-copy tagged to mailbox" + msgstr "Dekódolás-másolás kijelölt postafiókba" + +-#: commands.c:1047 ++#: commands.c:1053 + #, fuzzy + msgid "Decrypt-copy to mailbox" + msgstr "Visszafejtés-másolás postafiókba" + +-#: commands.c:1047 ++#: commands.c:1053 + #, fuzzy + msgid "Decrypt-copy tagged to mailbox" + msgstr "Visszafejtés-másolás kijelölt postafiókba" + +-#: commands.c:1049 ++#: commands.c:1055 + #, fuzzy + msgid "Copy to mailbox" + msgstr "Másolás postafiókba" + +-#: commands.c:1049 ++#: commands.c:1055 + #, fuzzy + msgid "Copy tagged to mailbox" + msgstr "Másolás kijelölt postafiókba" + +-#: commands.c:1092 ++#: commands.c:1098 + #, c-format + msgid "Copying to %s..." + msgstr "Másolás a(z) %s-ba..." + + #. L10N: e.g. "text/plain; charset=UTF-8; ..." +-#: commands.c:1257 ++#: commands.c:1263 + #, fuzzy + msgid "Content type is too long" + msgstr "Tartalom-típus megváltoztatva %s-ra" + +-#: commands.c:1281 ++#: commands.c:1290 + #, c-format + msgid "Convert to %s upon sending?" + msgstr "Átalakítsam %s formátumra küldéskor?" + +-#: commands.c:1292 ++#: commands.c:1301 + #, c-format + msgid "Content-Type changed to %s" + msgstr "Tartalom-típus megváltoztatva %s-ra" + +-#: commands.c:1297 ++#: commands.c:1306 + #, fuzzy, c-format + msgid "Character set changed to %s; not converting" + msgstr "Karakterkészlet beállítva: %s; nem alakítom át" + +-#: commands.c:1298 ++#: commands.c:1307 + #, fuzzy, c-format + msgid "Character set changed to %s; converting" + msgstr "Karakterkészlet beállítva: %s; átalakítom" + +-#: compose.c:99 ++#: command_parse.c:83 command_parse.c:211 command_parse.c:219 ++#: command_parse.c:740 command_parse.c:887 command_parse.c:1491 ++#: command_parse.c:1549 gui/color.c:731 gui/color.c:868 gui/color.c:1069 ++#: gui/color.c:1098 gui/color.c:1122 gui/color.c:1191 gui/color.c:1214 ++#: hook.c:110 hook.c:124 hook.c:372 hook.c:388 keymap.c:1182 score.c:110 ++#, c-format ++msgid "%s: too few arguments" ++msgstr "%s: túl kevés paraméter" ++ ++#: command_parse.c:394 ++msgid "-group: no group name" ++msgstr "" ++ ++#: command_parse.c:404 ++#, fuzzy ++msgid "out of arguments" ++msgstr "túl kevés paraméter" ++ ++#: command_parse.c:445 command_parse.c:1372 ++#, c-format ++msgid "Error: Can't build path of '%s'" ++msgstr "" ++ ++#: command_parse.c:458 ++#, c-format ++msgid "Error: Cyclic sourcing of configuration file '%s'" ++msgstr "" ++ ++#: command_parse.c:491 ++#, c-format ++msgid "Error in %s, line %d: %s" ++msgstr "Hiba a %s-ban, sor %d: %s" ++ ++#: command_parse.c:502 ++#, fuzzy, c-format ++msgid "Warning in %s, line %d: %s" ++msgstr "Hiba a %s-ban, sor %d: %s" ++ ++#: command_parse.c:526 ++#, c-format ++msgid "source: errors in %s" ++msgstr "source: hiba a %s fájlban" ++ ++#: command_parse.c:526 ++#, fuzzy, c-format ++msgid "source: reading aborted due to too many errors in %s" ++msgstr "source: az olvasás megszakadt, a %s fájlban túl sok a hiba" ++ ++#: command_parse.c:535 ++#, fuzzy, c-format ++msgid "source: %d warning in %s" ++msgid_plural "source: %d warnings in %s" ++msgstr[0] "source: hiba a %s fájlban" ++msgstr[1] "source: hiba a %s fájlban" ++ ++#: command_parse.c:564 ++msgid "alias: no address" ++msgstr "címjegyzék: nincs cím" ++ ++#: command_parse.c:606 ++#, c-format ++msgid "Warning: Bad IDN '%s' in alias '%s'" ++msgstr "Figyelmeztetés: Hibás IDN '%s' a '%s' álnévben" ++ ++#: command_parse.c:684 ++#, fuzzy ++msgid "attachments: no disposition" ++msgstr "melléklet-leírás szerkesztése" ++ ++#: command_parse.c:695 ++#, fuzzy ++msgid "Current attachments settings:" ++msgstr "melléklet-leírás szerkesztése" ++ ++#: command_parse.c:725 ++#, fuzzy ++msgid "attachments: invalid disposition" ++msgstr "melléklet-leírás szerkesztése" ++ ++#: command_parse.c:764 command_parse.c:1753 command_parse.c:2205 ++#: gui/color.c:1223 gui/color.c:1329 hook.c:131 hook.c:395 keymap.c:1114 ++#: keymap.c:1287 keymap.c:1440 keymap.c:1504 mutt_lua.c:485 score.c:119 ++#, c-format ++msgid "%s: too many arguments" ++msgstr "%s: túl sok paraméter" ++ ++#: command_parse.c:801 ++#, c-format ++msgid "%sgroup: missing -rx or -addr" ++msgstr "" ++ ++#: command_parse.c:827 ++#, fuzzy, c-format ++msgid "%sgroup: warning: bad IDN '%s'" ++msgstr "Figyelmeztetés: Hibás IDN '%s' a '%s' álnévben" ++ ++#: command_parse.c:898 ++#, c-format ++msgid "Error: %s" ++msgstr "" ++ ++#: command_parse.c:1065 ++msgid "invalid header field" ++msgstr "érvénytelen mező a fejlécben" ++ ++#: command_parse.c:1331 command_parse.c:1435 ++#, c-format ++msgid "%s: unknown variable" ++msgstr "%s: ismeretlen változó" ++ ++#: command_parse.c:1528 ++#, c-format ++msgid "%s is unset" ++msgstr "%s beállítása törölve" ++ ++#: command_parse.c:1573 mutt_lua.c:480 ++#, c-format ++msgid "source: error at %s" ++msgstr "source: hiba a %s-nál" ++ ++#: command_parse.c:1581 ++#, fuzzy, c-format ++msgid "source: file %s could not be sourced" ++msgstr "A leveleket nem tudtam kinyomtatni" ++ ++#: command_parse.c:1604 ++#, fuzzy ++msgid "spam: no matching pattern" ++msgstr "levelek kijelölése mintára illesztéssel" ++ ++#: command_parse.c:1606 ++#, fuzzy ++msgid "nospam: no matching pattern" ++msgstr "kijelölés megszüntetése mintára illesztéssel" ++ ++#: command_parse.c:1762 imap/imap.c:1443 ++#, fuzzy, c-format ++msgid "Subscribed to %s" ++msgstr "%s felírása..." ++ ++#: command_parse.c:1766 ++#, fuzzy, c-format ++msgid "Could not subscribe to %s" ++msgstr "%s felírása..." ++ ++#: command_parse.c:1774 command_parse.c:2226 ++#, fuzzy ++msgid "No folder specified" ++msgstr "Nincs tárgy megadva." ++ ++#: command_parse.c:1943 ++#, fuzzy ++msgid "unattachments: no disposition" ++msgstr "melléklet-leírás szerkesztése" ++ ++#: command_parse.c:1981 ++msgid "unattachments: invalid disposition" ++msgstr "" ++ ++#: command_parse.c:2214 imap/imap.c:1445 ++#, fuzzy, c-format ++msgid "Unsubscribed from %s" ++msgstr "%s leírása..." ++ ++#: command_parse.c:2218 ++#, fuzzy, c-format ++msgid "Could not unsubscribe from %s" ++msgstr "%s leírása..." ++ ++#: compose.c:97 + msgid "There are no attachments" + msgstr "Nincs melléklet" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:166 ++#: compose.c:164 + msgid "From: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:168 send.c:284 ++#: compose.c:166 send.c:284 + msgid "To: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:170 send.c:286 ++#: compose.c:168 send.c:286 + msgid "Cc: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:172 send.c:288 ++#: compose.c:170 send.c:288 + msgid "Bcc: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:174 compose.c:1242 send.c:320 ++#: compose.c:172 compose.c:1302 send.c:320 + msgid "Subject: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:176 ++#: compose.c:174 + #, fuzzy + msgid "Reply-To: " + msgstr "Válasz" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:178 compose.c:1261 ++#: compose.c:176 compose.c:1321 + msgid "Fcc: " + msgstr "" + + #. L10N: "Mix" refers to the MixMaster chain for anonymous email +-#: compose.c:181 ++#: compose.c:179 + msgid "Mix: " + msgstr "" + + #. L10N: Compose menu field. Holds "Encrypt", "Sign" related information +-#: compose.c:184 ++#: compose.c:182 + msgid "Security: " + msgstr "" + +@@ -910,78 +1058,78 @@ msgstr "" + #. it should not be longer than the other compose menu fields. + #. Since it shares the row with "Encrypt with:", it should not be longer + #. than 15-20 character cells. +-#: compose.c:192 ncrypt/crypt_gpgme.c:5602 ncrypt/pgp.c:1974 +-#: ncrypt/smime.c:2395 ++#: compose.c:190 ncrypt/crypt_gpgme.c:5682 ncrypt/pgp.c:1976 ++#: ncrypt/smime.c:2429 + msgid "Sign as: " + msgstr "Aláír mint: " + + #. L10N: The compose menu autocrypt line +-#: compose.c:195 ++#: compose.c:193 + msgid "Autocrypt: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:199 ++#: compose.c:197 + msgid "Newsgroups: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:201 ++#: compose.c:199 + #, fuzzy + msgid "Followup-To: " + msgstr "Válasz a %s%s címre?" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:203 ++#: compose.c:201 + #, fuzzy + msgid "X-Comment-To: " + msgstr "Válaszcím szerkesztése" + +-#: compose.c:208 compose.c:224 ++#: compose.c:206 compose.c:222 + msgid "Send" + msgstr "Küld" + +-#: compose.c:209 compose.c:225 remailer.c:77 ++#: compose.c:207 compose.c:223 remailer.c:75 + msgid "Abort" + msgstr "Mégse" + + #. L10N: compose menu help line entry +-#: compose.c:211 ++#: compose.c:209 + msgid "To" + msgstr "" + + #. L10N: compose menu help line entry +-#: compose.c:213 ++#: compose.c:211 + msgid "CC" + msgstr "" + + #. L10N: compose menu help line entry +-#: compose.c:215 compose.c:227 ++#: compose.c:213 compose.c:225 + msgid "Subj" + msgstr "" + +-#: compose.c:216 compose.c:228 compose.c:1556 ++#: compose.c:214 compose.c:226 compose.c:1616 + msgid "Attach file" + msgstr "Fájl csatolás" + +-#: compose.c:217 compose.c:229 ++#: compose.c:215 compose.c:227 + msgid "Descrip" + msgstr "Leírás" + +-#: compose.c:226 ++#: compose.c:224 + #, fuzzy + msgid "Newsgroups" + msgstr "Nincs tárgy megadva." + + #. L10N: Autocrypt recommendation flag: off. + #. * This is displayed when Autocrypt is turned off. +-#: compose.c:239 compose.c:473 ++#: compose.c:237 compose.c:472 + msgid "Off" + msgstr "" + + #. L10N: Autocrypt recommendation flag: no. + #. * This is displayed when Autocrypt cannot encrypt to the recipients. +-#: compose.c:242 ++#: compose.c:240 + msgid "No" + msgstr "" + +@@ -989,7 +1137,7 @@ msgstr "" + #. * This is displayed when Autocrypt believes encryption should not be used. + #. * This might occur if one of the recipient Autocrypt Keys has not been + #. * used recently, or if the only key available is a Gossip Header key. +-#: compose.c:247 ++#: compose.c:245 + msgid "Discouraged" + msgstr "" + +@@ -997,14 +1145,14 @@ msgstr "" + #. * This is displayed when Autocrypt believes encryption is possible, but + #. * leaves enabling it up to the sender. Probably because "prefer encrypt" + #. * is not set in both the sender and recipient keys. +-#: compose.c:252 ++#: compose.c:250 + msgid "Available" + msgstr "" + + #. L10N: Autocrypt recommendation flag: yes. + #. * This is displayed when Autocrypt would normally enable encryption + #. * automatically. +-#: compose.c:256 ++#: compose.c:254 + #, fuzzy + msgid "Yes" + msgstr "igen" +@@ -1015,7 +1163,7 @@ msgstr "igen" + #. (c)lear sets cleartext. + #. (a)utomatic defers to the recommendation. + #. +-#: compose.c:338 ++#: compose.c:337 + msgid "Autocrypt: (e)ncrypt, (c)lear, (a)utomatic?" + msgstr "" + +@@ -1023,53 +1171,53 @@ msgstr "" + #. The letter corresponding to the compose menu autocrypt prompt + #. (e)ncrypt, (c)lear, (a)utomatic + #. +-#: compose.c:346 ++#: compose.c:345 + msgid "eca" + msgstr "" + +-#: compose.c:383 ++#: compose.c:382 + #, fuzzy + msgid "Not supported" + msgstr "Kijelölés nem támogatott." + +-#: compose.c:390 ++#: compose.c:389 + msgid "Sign, Encrypt" + msgstr "Aláír, Titkosít" + +-#: compose.c:395 compose.c:468 ++#: compose.c:394 compose.c:467 + msgid "Encrypt" + msgstr "Titkosít" + +-#: compose.c:400 ++#: compose.c:399 + msgid "Sign" + msgstr "Aláír" + +-#: compose.c:406 ++#: compose.c:405 + msgid "None" + msgstr "" + +-#: compose.c:415 ++#: compose.c:414 + #, fuzzy + msgid " (inline PGP)" + msgstr "(tovább)\n" + +-#: compose.c:417 ++#: compose.c:416 + msgid " (PGP/MIME)" + msgstr "" + +-#: compose.c:420 ++#: compose.c:419 + msgid " (S/MIME)" + msgstr "" + +-#: compose.c:424 ++#: compose.c:423 + msgid " (OppEnc mode)" + msgstr "" + +-#: compose.c:436 compose.c:445 ++#: compose.c:435 compose.c:444 + msgid "" + msgstr "" + +-#: compose.c:452 ++#: compose.c:451 + msgid "Encrypt with: " + msgstr "Titkosítás: " + +@@ -1078,12 +1226,12 @@ msgstr "Titkosítás: " + #. Displays the output of the recommendation engine + #. (Off, No, Discouraged, Available, Yes) + #. +-#: compose.c:483 ++#: compose.c:482 + #, fuzzy + msgid "Recommendation: " + msgstr "Válaszcím szerkesztése" + +-#: compose.c:547 ++#: compose.c:546 + msgid "" + msgstr "" + +@@ -1094,7 +1242,7 @@ msgstr "" + #. The filename is located last to avoid a long path hiding the + #. error message. + #. +-#: compose.c:601 ++#: compose.c:600 + #, fuzzy, c-format + msgid "Attachment #%d no longer exists: %s" + msgstr "%s [#%d] tovább nem létezik" +@@ -1106,240 +1254,360 @@ msgstr "%s [#%d] tovább nem létezik" + #. The filename is located last to avoid a long path hiding the + #. prompt question. + #. +-#: compose.c:621 ++#: compose.c:620 + #, fuzzy, c-format + msgid "Attachment #%d modified. Update encoding for %s?" + msgstr "%s [#%d] módosítva. Frissítsük a kódolást?" + +-#: compose.c:716 ++#: compose.c:715 + msgid "-- Attachments" + msgstr "-- Mellékletek" + +-#: compose.c:770 ++#: compose.c:769 + msgid "You may not delete the only attachment" + msgstr "Az egyetlen melléklet nem törölhető" + +-#: compose.c:1296 edit.c:538 send.c:2462 ++#: compose.c:1356 edit.c:536 send.c:2473 + #, c-format + msgid "Bad IDN in '%s': '%s'" + msgstr "Hibás IDN '%s': '%s'" + +-#: compose.c:1347 ++#: compose.c:1407 + #, fuzzy + msgid "Attachment is already at top" + msgstr "A melléklet elmentve" + +-#: compose.c:1352 compose.c:1368 ++#: compose.c:1412 compose.c:1428 + #, fuzzy + msgid "The fundamental part can't be moved" + msgstr "Ez a melléklet nem lesz konvertálva" + +-#: compose.c:1363 ++#: compose.c:1423 + #, fuzzy + msgid "Attachment is already at bottom" + msgstr "Melléklet szűrve" + +-#: compose.c:1381 ++#: compose.c:1441 + msgid "Grouping 'alternatives' requires at least 2 tagged messages" + msgstr "" + +-#: compose.c:1462 ++#: compose.c:1522 + msgid "Grouping 'multilingual' requires at least 2 tagged messages" + msgstr "" + +-#: compose.c:1475 ++#: compose.c:1535 + msgid "Not all parts have 'Content-Language' set, continue?" + msgstr "" + +-#: compose.c:1477 ++#: compose.c:1537 + #, fuzzy + msgid "Not sending this message" + msgstr "Hiba a levél elküldésekor" + +-#: compose.c:1571 ++#: compose.c:1631 + #, fuzzy + msgid "Attaching selected file..." + msgid_plural "Attaching selected files..." + msgstr[0] "A kiválasztott fájlok csatolása..." + msgstr[1] "A kiválasztott fájlok csatolása..." + +-#: compose.c:1585 ++#: compose.c:1645 + #, c-format + msgid "Unable to attach %s" + msgstr "%s nem csatolható" + +-#: compose.c:1606 ++#: compose.c:1666 + msgid "Open mailbox to attach message from" + msgstr "Postafiók megnyitása levél csatolásához" + +-#: compose.c:1616 ++#: compose.c:1676 + #, fuzzy + msgid "Open newsgroup to attach message from" + msgstr "Postafiók megnyitása levél csatolásához" + +-#: compose.c:1667 ++#: compose.c:1730 + #, fuzzy, c-format + msgid "Unable to open mailbox %s" + msgstr "Nem tudom zárolni a postafiókot!" + +-#: compose.c:1676 ++#: compose.c:1739 + msgid "No messages in that folder" + msgstr "Nincs levél ebben a postafiókban" + +-#: compose.c:1686 ++#: compose.c:1749 + msgid "Tag the messages you want to attach" + msgstr "Jelöld ki a csatolandó levelet" + +-#: compose.c:1715 ++#: compose.c:1785 + msgid "Unable to attach" + msgstr "Nem lehet csatolni" + +-#: compose.c:1752 ++#: compose.c:1822 + msgid "Recoding only affects text attachments" + msgstr "Az újrakódolás csak a szöveg mellékleteket érinti" + +-#: compose.c:1757 ++#: compose.c:1827 + msgid "The current attachment won't be converted" + msgstr "Ez a melléklet nem lesz konvertálva" + +-#: compose.c:1759 ++#: compose.c:1829 + msgid "The current attachment will be converted" + msgstr "Ez a melléklet konvertálva lesz" + +-#: compose.c:1831 ++#: compose.c:1901 + msgid "Empty 'Content-Language'" + msgstr "" + +-#: compose.c:1849 ++#: compose.c:1920 + msgid "Invalid encoding" + msgstr "Érvénytelen kódolás" + +-#: compose.c:1871 ++#: compose.c:1942 + msgid "Save a copy of this message?" + msgstr "Mented egy másolatát a levélnek?" + +-#: compose.c:1924 ++#: compose.c:1995 + #, fuzzy + msgid "Send attachment with name: " + msgstr "melléklet megtekintése szövegként" + +-#: compose.c:1939 ++#: compose.c:2010 + msgid "Rename to: " + msgstr "Átnevezés: " + + #. L10N: "stat" is a system call. Do "man 2 stat" for more information. +-#: compose.c:1946 editmsg.c:102 editmsg.c:138 sendlib.c:1050 ++#: compose.c:2017 editmsg.c:102 editmsg.c:138 sendlib.c:1049 + #, c-format + msgid "Can't stat %s: %s" + msgstr "%s nem olvasható: %s" + +-#: compose.c:1966 ++#: compose.c:2037 + msgid "New file: " + msgstr "Új fájl: " + +-#: compose.c:1984 ++#: compose.c:2055 + msgid "Content-Type is of the form base/sub" + msgstr "A tartalom-típus alap-/altípus formájú." + +-#: compose.c:1991 ++#: compose.c:2062 + #, c-format + msgid "Unknown Content-Type %s" + msgstr "%s ismeretlen tartalom-típus" + +-#: compose.c:1999 ++#: compose.c:2070 + #, c-format + msgid "Can't create file %s" + msgstr "Nem lehet a(z) %s fájlt létrehozni" + +-#: compose.c:2008 ++#: compose.c:2079 + msgid "What we have here is a failure to make an attachment" + msgstr "Hiba a melléklet csatolásakor" + +-#: compose.c:2073 ++#: compose.c:2144 + #, fuzzy + msgid "Save (postpone) draft message?" + msgstr "Elhalasztott levél újrahívása?" + +-#: compose.c:2133 ++#: compose.c:2204 + msgid "Write message to mailbox" + msgstr "Levél mentése postafiókba" + +-#: compose.c:2136 ++#: compose.c:2207 + #, c-format + msgid "Writing message to %s ..." + msgstr "Levél mentése %s-ba ..." + +-#: compose.c:2143 ++#: compose.c:2214 + msgid "Message written" + msgstr "Levél elmentve" + +-#: compose.c:2154 ++#: compose.c:2225 + msgid "No PGP backend configured" + msgstr "" + +-#: compose.c:2161 compose.c:2225 ++#: compose.c:2232 compose.c:2296 + msgid "S/MIME already selected. Clear and continue?" + msgstr "S/MIME már ki van jelölve. Törlés & folytatás?" + +-#: compose.c:2186 ++#: compose.c:2257 + msgid "No S/MIME backend configured" + msgstr "" + +-#: compose.c:2194 ++#: compose.c:2265 + msgid "PGP already selected. Clear and continue?" + msgstr "PGP már ki van jelölve. Törlés & folytatás?" + +-#: compress.c:355 compress.c:499 ++#: compress/compress.c:354 compress/compress.c:498 + #, c-format + msgid "Can't append without an append-hook or close-hook : %s" + msgstr "" + +-#: compress.c:444 compress.c:511 compress.c:590 compress.c:628 mbox/mbox.c:1208 ++#: compress/compress.c:443 compress/compress.c:510 compress/compress.c:589 ++#: compress/compress.c:627 mbox/mbox.c:1208 + msgid "Unable to lock mailbox" + msgstr "Nem tudom zárolni a postafiókot" + +-#: compress.c:448 compress.c:518 compress.c:594 ++#: compress/compress.c:447 compress/compress.c:517 compress/compress.c:593 + #, c-format + msgid "Decompressing %s" + msgstr "" + +-#: compress.c:457 ++#: compress/compress.c:456 + msgid "Can't identify the contents of the compressed file" + msgstr "" + +-#: compress.c:464 compress.c:539 ++#: compress/compress.c:463 compress/compress.c:538 + #, c-format + msgid "Can't find mailbox ops for mailbox type %d" + msgstr "" + +-#: compress.c:521 ++#: compress/compress.c:520 + #, fuzzy, c-format + msgid "Compress command failed: %s" + msgstr "A \"preconnect\" parancs nem sikerült." + +-#: compress.c:532 ++#: compress/compress.c:531 + msgid "Unsupported mailbox type for appending" + msgstr "" + +-#: compress.c:618 ++#: compress/compress.c:617 + msgid "Can't sync a compressed file without a close-hook" + msgstr "" + +-#: compress.c:640 compress.c:692 ++#: compress/compress.c:639 compress/compress.c:691 + #, fuzzy, c-format + msgid "Compressing %s" + msgstr "Másolás a(z) %s-ba..." + +-#: compress.c:687 ++#: compress/compress.c:686 + #, fuzzy, c-format + msgid "Compressed-appending to %s..." + msgstr "Másolás a(z) %s-ba..." + +-#: compress.c:699 editmsg.c:247 ++#: compress/compress.c:698 editmsg.c:247 + #, c-format + msgid "Error. Preserving temporary file: %s" + msgstr "Hiba a(z) %s ideiglenes fájl mentésekor" + ++#: config/bool.c:70 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %s" ++msgstr "Érvénytelen viszonylagos hónap: %s" ++ ++#: config/bool.c:131 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %ld" ++msgstr "Érvénytelen viszonylagos hónap: %s" ++ ++#: config/enum.c:62 ++#, fuzzy, c-format ++msgid "Invalid enum value: %s" ++msgstr "%d: érvénytelen levélszám.\n" ++ ++#: config/enum.c:149 ++#, fuzzy, c-format ++msgid "Invalid enum value: %ld" ++msgstr "Érvénytelen a hónap napja: %s" ++ ++#: config/long.c:50 ++#, fuzzy, c-format ++msgid "Invalid long: %s" ++msgstr "Érvénytelen hónap: %s" ++ ++#: config/long.c:56 config/long.c:114 config/number.c:68 config/number.c:133 ++#, fuzzy, c-format ++msgid "Option %s may not be negative" ++msgstr "A funkció levél-csatolás módban le van tiltva." ++ ++#: config/number.c:49 config/sort.c:145 config/string.c:75 config/string.c:159 ++#, c-format ++msgid "Option %s may not be empty" ++msgstr "" ++ ++#: config/number.c:56 ++#, fuzzy, c-format ++msgid "Invalid number: %s" ++msgstr "%d: érvénytelen levélszám.\n" ++ ++#: config/number.c:62 ++#, c-format ++msgid "Number is too big: %s" ++msgstr "" ++ ++#: config/number.c:127 ++#, fuzzy, c-format ++msgid "Invalid number: %ld" ++msgstr "%d: érvénytelen levélszám.\n" ++ ++#: config/quad.c:69 ++#, fuzzy, c-format ++msgid "Invalid quad value: %s" ++msgstr "Érvénytelen viszonylagos hónap: %s" ++ ++#: config/quad.c:133 ++#, fuzzy, c-format ++msgid "Invalid quad value: %ld" ++msgstr "Érvénytelen a hónap napja: %s" ++ ++#: config/set.c:102 ++#, c-format ++msgid "No such variable: %s" ++msgstr "" ++ ++#: config/set.c:134 config/set.c:821 ++#, fuzzy, c-format ++msgid "Variable '%s' has an invalid type %d" ++msgstr "Hiba: '%s' hibás IDN" ++ ++#: config/set.c:399 config/set.c:463 config/set.c:528 config/set.c:601 ++#: config/set.c:671 config/set.c:744 ++#, fuzzy, c-format ++msgid "Unknown variable '%s'" ++msgstr "%s: ismeretlen változó" ++ ++#: config/sort.c:192 ++#, fuzzy, c-format ++msgid "Invalid sort name: %s" ++msgstr "Érvénytelen viszonylagos hónap: %s" ++ ++#: config/sort.c:322 ++#, fuzzy, c-format ++msgid "Invalid sort type: %ld" ++msgstr "Érvénytelen viszonylagos hónap: %s" ++ ++#. L10N: Example: Username at myhost.com ++#: conn/connaccount.c:61 ++#, c-format ++msgid "Username at %s: " ++msgstr "%s azonosító: " ++ ++#: conn/connaccount.c:117 ++#, c-format ++msgid "Password for %s@%s: " ++msgstr "%s@%s jelszava: " ++ ++#. L10N: You will see this error message if (1) you have "oauthbearer" in ++#. one of your $*_authenticators and (2) you do not have the corresponding ++#. $*_oauth_refresh_command defined. So the message does not mean "None of ++#. your $*_oauth_refresh_command's are defined." ++#: conn/connaccount.c:165 ++#, fuzzy ++msgid "No OAUTH refresh command defined" ++msgstr "A lekérdezés parancs nincs megadva" ++ ++#: conn/connaccount.c:173 ++msgid "Unable to run refresh command" ++msgstr "" ++ ++#: conn/connaccount.c:184 ++msgid "Command returned empty string" ++msgstr "" ++ ++#: conn/connaccount.c:191 ++#, c-format ++msgid "OAUTH token is too big: %ld" ++msgstr "" ++ + #: conn/conn_raw.c:160 conn/conn_raw.c:218 + #, c-format + msgid "Looking up %s..." +@@ -1360,7 +1628,7 @@ msgstr "Kapcsolódás %s-hez..." + msgid "Could not connect to %s (%s)" + msgstr "%s-hoz nem lehet kapcsolódni (%s)" + +-#: conn/conn_raw.c:260 conn/ssl.c:1230 curs_lib.c:568 mutt_logging.c:149 ++#: conn/conn_raw.c:260 conn/ssl.c:1245 gui/curs_lib.c:569 mutt_logging.c:147 + msgid "unknown error" + msgstr "ismeretlen hiba" + +@@ -1374,24 +1642,24 @@ msgstr "Hiba a %s kapcsolat közben (%s)" + msgid "Connection to %s has been aborted" + msgstr "%s kapcsolat lezárva" + +-#: conn/sasl.c:565 ++#: conn/sasl.c:547 + msgid "Unknown SASL profile" + msgstr "" + +-#: conn/sasl.c:598 ++#: conn/sasl.c:580 + #, fuzzy + msgid "Error allocating SASL connection" + msgstr "hiba a mintában: %s" + +-#: conn/sasl.c:608 ++#: conn/sasl.c:590 + msgid "Error setting SASL security properties" + msgstr "" + +-#: conn/sasl.c:619 ++#: conn/sasl.c:601 + msgid "Error setting SASL external security strength" + msgstr "" + +-#: conn/sasl.c:629 ++#: conn/sasl.c:611 + msgid "Error setting SASL external user name" + msgstr "" + +@@ -1404,138 +1672,112 @@ msgstr "A \"preconnect\" parancs nem sikerült" + msgid "Connection to %s closed" + msgstr "%s kapcsolat lezárva" + +-#: conn/ssl.c:237 ++#: conn/ssl.c:222 + #, c-format + msgid "Filling entropy pool: %s..." + msgstr "Entrópiát szerzek a véletlenszámgenerátorhoz: %s..." + +-#: conn/ssl.c:243 ++#: conn/ssl.c:228 + #, c-format + msgid "%s has insecure permissions" + msgstr "%s jogai nem biztonságosak" + +-#: conn/ssl.c:385 ++#: conn/ssl.c:369 + #, fuzzy + msgid "SSL disabled due to the lack of entropy" + msgstr "Entrópia hiány miatt az SSL letiltva" + +-#: conn/ssl.c:402 ++#: conn/ssl.c:386 + msgid "Unknown" + msgstr "Ismeretlen" + +-#: conn/ssl.c:421 conn/ssl_gnutls.c:186 ++#: conn/ssl.c:405 conn/ssl_gnutls.c:188 + #, c-format + msgid "[unable to calculate]" + msgstr "[nem kiszámítható]" + +-#: conn/ssl.c:446 ++#: conn/ssl.c:430 + msgid "[invalid date]" + msgstr "[érvénytelen dátum]" + +-#: conn/ssl.c:506 ++#: conn/ssl.c:490 + msgid "Server certificate is not yet valid" + msgstr "A szerver tanúsítványa még nem érvényes" + +-#: conn/ssl.c:516 ++#: conn/ssl.c:500 + msgid "Server certificate has expired" + msgstr "A szerver tanúsítványa lejárt" + +-#: conn/ssl.c:605 ++#: conn/ssl.c:589 + msgid "Failed to find enough entropy on your system" + msgstr "Nem találtam elég entrópiát ezen a rendszeren" + +-#: conn/ssl.c:799 ++#: conn/ssl.c:783 + #, fuzzy + msgid "can't get certificate subject" + msgstr "A szervertől nem lehet tanusítványt kapni" + +-#: conn/ssl.c:808 conn/ssl.c:816 ++#: conn/ssl.c:792 conn/ssl.c:800 + #, fuzzy + msgid "can't get certificate common name" + msgstr "A szervertől nem lehet tanusítványt kapni" + +-#: conn/ssl.c:830 ++#: conn/ssl.c:814 + #, fuzzy, c-format + msgid "certificate owner does not match hostname %s" + msgstr "Az S/MIME tanúsítvány tulajdonosa nem egyezik a küldővel. " + +-#: conn/ssl.c:904 conn/ssl_gnutls.c:539 ++#: conn/ssl.c:917 conn/ssl_gnutls.c:570 + msgid "This certificate belongs to:" + msgstr "Akire a tanusítvány vonatkozik:" + +-#: conn/ssl.c:913 conn/ssl_gnutls.c:593 ++#: conn/ssl.c:926 conn/ssl_gnutls.c:624 + msgid "This certificate was issued by:" + msgstr "A tanusítványt kiállította:" + +-#: conn/ssl.c:922 conn/ssl_gnutls.c:604 ++#: conn/ssl.c:935 conn/ssl_gnutls.c:635 + msgid "This certificate is valid" + msgstr "Ez a tanúsítvány érvényes" + +-#: conn/ssl.c:923 conn/ssl_gnutls.c:608 ++#: conn/ssl.c:936 conn/ssl_gnutls.c:639 + #, c-format + msgid " from %s" + msgstr " kezdete: %s" + +-#: conn/ssl.c:925 conn/ssl_gnutls.c:612 ++#: conn/ssl.c:938 conn/ssl_gnutls.c:643 + #, c-format + msgid " to %s" + msgstr " vége: %s" + +-#: conn/ssl.c:931 conn/ssl_gnutls.c:617 ++#: conn/ssl.c:944 conn/ssl_gnutls.c:648 + #, fuzzy, c-format + msgid "SHA1 Fingerprint: %s" + msgstr "Ujjlenyomat: %s" + +-#: conn/ssl.c:937 conn/ssl.c:940 conn/ssl_gnutls.c:623 conn/ssl_gnutls.c:625 ++#: conn/ssl.c:950 conn/ssl.c:953 conn/ssl_gnutls.c:654 conn/ssl_gnutls.c:656 + #, fuzzy +-msgid "SHA256 Fingerprint: " +-msgstr "Ujjlenyomat: %s" +- +-#: conn/ssl.c:944 conn/ssl_gnutls.c:664 +-#, c-format +-msgid "SSL Certificate check (certificate %zu of %zu in chain)" +-msgstr "" +- +-#. L10N: These four letters correspond to the choices in the next four strings: +-#. (r)eject, accept (o)nce, (a)ccept always, (s)kip. +-#. These prompts are the interactive certificate confirmation prompts for +-#. an OpenSSL connection. +-#: conn/ssl.c:964 +-msgid "roas" +-msgstr "" +- +-#: conn/ssl.c:968 +-#, fuzzy +-msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" +-msgstr "(v)isszautasít, (e)gyszer elfogad, (m)indig elfogad" +- +-#: conn/ssl.c:970 conn/ssl_gnutls.c:671 +-msgid "(r)eject, accept (o)nce, (a)ccept always" +-msgstr "(v)isszautasít, (e)gyszer elfogad, (m)indig elfogad" +- +-#: conn/ssl.c:975 +-#, fuzzy +-msgid "(r)eject, accept (o)nce, (s)kip" +-msgstr "(v)isszautasít, (e)gyszer elfogad" ++msgid "SHA256 Fingerprint: " ++msgstr "Ujjlenyomat: %s" + +-#: conn/ssl.c:977 conn/ssl_gnutls.c:680 +-msgid "(r)eject, accept (o)nce" +-msgstr "(v)isszautasít, (e)gyszer elfogad" ++#: conn/ssl.c:957 conn/ssl_gnutls.c:695 ++#, c-format ++msgid "SSL Certificate check (certificate %zu of %zu in chain)" ++msgstr "" + +-#: conn/ssl.c:981 conn/ssl_gnutls.c:689 ncrypt/crypt_gpgme.c:4729 +-#: ncrypt/pgpkey.c:664 ncrypt/smime.c:549 ++#: conn/ssl.c:994 conn/ssl_gnutls.c:720 ncrypt/crypt_gpgme.c:4777 ++#: ncrypt/pgpkey.c:667 ncrypt/smime.c:551 + msgid "Exit " + msgstr "Kilép " + +-#: conn/ssl.c:1016 conn/ssl_gnutls.c:742 ++#: conn/ssl.c:1029 conn/ssl_gnutls.c:773 + msgid "Warning: Couldn't save certificate" + msgstr "Figyelmeztetés: A tanúsítvány nem menthető" + +-#: conn/ssl.c:1020 conn/ssl_gnutls.c:746 ++#: conn/ssl.c:1033 conn/ssl_gnutls.c:777 + msgid "Certificate saved" + msgstr "A tanúsítvány elmentve" + +-#: conn/ssl.c:1132 ++#: conn/ssl.c:1147 + #, fuzzy, c-format + msgid "Certificate host check failed: %s" + msgstr "A tanúsítvány elmentve" +@@ -1543,15 +1785,15 @@ msgstr "A tanúsítvány elmentve" + #. L10N: This is a warning when trying to set the host name for + #. * TLS Server Name Indication (SNI). This allows the server to present + #. * the correct certificate if it supports multiple hosts. +-#: conn/ssl.c:1213 conn/ssl_gnutls.c:1072 ++#: conn/ssl.c:1228 conn/ssl_gnutls.c:1105 + msgid "Warning: unable to set TLS SNI host name" + msgstr "" + +-#: conn/ssl.c:1224 ++#: conn/ssl.c:1239 + msgid "I/O error" + msgstr "I/O hiba" + +-#: conn/ssl.c:1233 ++#: conn/ssl.c:1248 + #, c-format + msgid "SSL failed: %s" + msgstr "SSL sikertelen: %s" +@@ -1559,96 +1801,80 @@ msgstr "SSL sikertelen: %s" + #. L10N: an SSL context is a data structure returned by the OpenSSL + #. function SSL_CTX_new(). In this case it returned NULL: an + #. error condition. +-#: conn/ssl.c:1269 ++#: conn/ssl.c:1284 + #, fuzzy + msgid "Unable to create SSL context" + msgstr "Hiba: nem lehet létrehozni az OpenSSL alfolyamatot!" + +-#: conn/ssl.c:1322 ++#: conn/ssl.c:1337 + msgid "Warning: error enabling ssl_verify_partial_chains" + msgstr "" + +-#: conn/ssl_gnutls.c:150 conn/ssl_gnutls.c:784 conn/ssl_gnutls.c:793 ++#: conn/ssl_gnutls.c:152 conn/ssl_gnutls.c:817 conn/ssl_gnutls.c:826 + msgid "Unable to get certificate from peer" + msgstr "A szervertől nem lehet tanusítványt kapni" + +-#: conn/ssl_gnutls.c:155 ++#: conn/ssl_gnutls.c:157 + #, c-format + msgid "Certificate verification error (%s)" + msgstr "" + +-#: conn/ssl_gnutls.c:162 ++#: conn/ssl_gnutls.c:164 + #, fuzzy + msgid "Certificate is not X.509" + msgstr "A tanúsítvány elmentve" + +-#: conn/ssl_gnutls.c:349 conn/ssl_gnutls.c:483 ++#: conn/ssl_gnutls.c:351 conn/ssl_gnutls.c:485 + #, fuzzy + msgid "Error initialising gnutls certificate data" + msgstr "Hiba a terminál inicializálásakor." + +-#: conn/ssl_gnutls.c:355 conn/ssl_gnutls.c:489 ++#: conn/ssl_gnutls.c:357 conn/ssl_gnutls.c:491 + msgid "Error processing certificate data" + msgstr "" + +-#: conn/ssl_gnutls.c:635 ++#: conn/ssl_gnutls.c:666 + #, fuzzy + msgid "WARNING: Server certificate is not yet valid" + msgstr "A szerver tanúsítványa még nem érvényes" + +-#: conn/ssl_gnutls.c:640 ++#: conn/ssl_gnutls.c:671 + #, fuzzy + msgid "WARNING: Server certificate has expired" + msgstr "A szerver tanúsítványa lejárt" + +-#: conn/ssl_gnutls.c:645 ++#: conn/ssl_gnutls.c:676 + #, fuzzy + msgid "WARNING: Server certificate has been revoked" + msgstr "A szerver tanúsítványa lejárt" + +-#: conn/ssl_gnutls.c:650 ++#: conn/ssl_gnutls.c:681 + msgid "WARNING: Server hostname does not match certificate" + msgstr "" + +-#: conn/ssl_gnutls.c:655 ++#: conn/ssl_gnutls.c:686 + #, fuzzy + msgid "WARNING: Signer of server certificate is not a CA" + msgstr "A szerver tanúsítványa még nem érvényes" + +-#: conn/ssl_gnutls.c:659 conn/ssl_gnutls.c:1004 ++#: conn/ssl_gnutls.c:690 conn/ssl_gnutls.c:1037 + msgid "Warning: Server certificate was signed using an insecure algorithm" + msgstr "" + +-#. L10N: These three letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce, (a)ccept always. +-#. This is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:676 +-msgid "roa" +-msgstr "vem" +- +-#. L10N: These two letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce. +-#. These is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:685 +-msgid "ro" +-msgstr "ve" +- +-#: conn/ssl_gnutls.c:950 conn/ssl_gnutls.c:992 ++#: conn/ssl_gnutls.c:983 conn/ssl_gnutls.c:1025 + msgid "All available protocols for TLS/SSL connection disabled" + msgstr "" + +-#: conn/ssl_gnutls.c:999 ++#: conn/ssl_gnutls.c:1032 + msgid "Explicit ciphersuite selection via $ssl_ciphers not supported" + msgstr "" + +-#: conn/ssl_gnutls.c:1120 ++#: conn/ssl_gnutls.c:1153 + #, fuzzy, c-format + msgid "SSL/TLS connection using %s (%s/%s/%s)" + msgstr "SSL kapcsolódás a(z) %s használatával (%s)" + +-#: conn/ssl_gnutls.c:1175 conn/ssl_gnutls.c:1204 ++#: conn/ssl_gnutls.c:1210 conn/ssl_gnutls.c:1239 + msgid "Error: no TLS socket open" + msgstr "" + +@@ -1667,38 +1893,18 @@ msgstr "Hiba a %s kapcsolat közben (%s)" + msgid "Tunnel to %s returned error %d (%s)" + msgstr "" + +-#: copy.c:660 ++#: copy.c:662 + #, c-format + msgid "The length calculation was wrong by %ld byte" + msgid_plural "The length calculation was wrong by %ld bytes" + msgstr[0] "" + msgstr[1] "" + +-#: copy.c:744 ++#: copy.c:746 + msgid "No decryption engine available for message" + msgstr "" + +-#: curs_lib.c:378 +-msgid "yes" +-msgstr "igen" +- +-#: curs_lib.c:379 +-msgid "no" +-msgstr "nem" +- +-#: curs_lib.c:518 +-msgid "Exit NeoMutt?" +-msgstr "Kilépsz a NeoMutt-ból?" +- +-#: curs_lib.c:597 +-msgid "Press any key to continue..." +-msgstr "Nyomj le egy billentyűt a folytatáshoz..." +- +-#: curs_lib.c:705 +-msgid " ('?' for list): " +-msgstr " ('?' lista): " +- +-#: edit.c:64 ++#: edit.c:62 + #, fuzzy + msgid "" + "~~ insert a line beginning with a single ~\n" +@@ -1730,7 +1936,7 @@ msgstr "" + "~? ez az üzenet\n" + ". ha egyedül áll a sorban befejezi a bevitelt\n" + +-#: edit.c:75 ++#: edit.c:73 + #, fuzzy + msgid "" + "~q write file and quit editor\n" +@@ -1762,20 +1968,20 @@ msgstr "" + "~? ez az üzenet\n" + ". ha egyedül áll a sorban befejezi a bevitelt\n" + +-#: edit.c:261 ++#: edit.c:259 + #, c-format + msgid "%d: invalid message number.\n" + msgstr "%d: érvénytelen levélszám.\n" + +-#: edit.c:416 ++#: edit.c:414 + msgid "(End message with a . on a line by itself)\n" + msgstr "(Levél befejezése egyetlen '.'-ot tartalmazó sorral)\n" + +-#: edit.c:474 ++#: edit.c:472 + msgid "No mailbox.\n" + msgstr "Nincs postafiók.\n" + +-#: edit.c:478 ++#: edit.c:476 + msgid "Message contains:\n" + msgstr "Levél tartalom:\n" + +@@ -1783,19 +1989,19 @@ msgstr "Levél tartalom:\n" + #. not IN the middle of the content. + #. So it doesn't mean "(message will continue)" + #. but means "(press any key to continue using neomutt)". +-#: edit.c:486 edit.c:547 ++#: edit.c:484 edit.c:545 + msgid "(continue)\n" + msgstr "(tovább)\n" + +-#: edit.c:499 ++#: edit.c:497 + msgid "missing filename.\n" + msgstr "hiányzó fájlnév.\n" + +-#: edit.c:519 ++#: edit.c:517 + msgid "No lines in message.\n" + msgstr "Nincsenek sorok a levélben.\n" + +-#: edit.c:558 ++#: edit.c:556 + #, c-format + msgid "%s: unknown editor command (~? for help)\n" + msgstr "%s: ismeretlen editor parancs (~? súgó)\n" +@@ -1842,19 +2048,73 @@ msgstr "Nem lehet hozzáfűzni a(z) %s postafiókhoz" + msgid "multipart message has no boundary parameter" + msgstr "a többrészes üzenetnek nincs határoló paramétere" + +-#: flags.c:382 index.c:2561 index.c:2604 index.c:3134 index.c:3171 ++#: flags.c:381 index.c:2587 index.c:2630 index.c:3160 index.c:3197 + #: mutt_thread.c:1091 mutt_thread.c:1158 mutt_thread.c:1246 + msgid "Threading is not enabled" + msgstr "A témázás le van tiltva" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Set flag" + msgstr "Jelző beállítása" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Clear flag" + msgstr "Jelző törlése" + ++#: gui/color.c:633 gui/color.c:644 ++#, c-format ++msgid "%s: color not supported by term" ++msgstr "%s: a terminál által nem támogatott szín" ++ ++#: gui/color.c:652 ++#, c-format ++msgid "%s: no such color" ++msgstr "%s: nincs ilyen szín" ++ ++#: gui/color.c:717 gui/color.c:740 gui/color.c:751 gui/color.c:842 ++#, c-format ++msgid "%s: no such object" ++msgstr "%s: nincs ilyen objektum" ++ ++#: gui/color.c:1142 ++#, c-format ++msgid "%s: no such attribute" ++msgstr "%s: nincs ilyen attribútum" ++ ++#: gui/color.c:1244 ++msgid "default colors not supported" ++msgstr "az alapértelmezett színek nem támogatottak" ++ ++#: gui/color.c:1282 ++#, c-format ++msgid "Maximum quoting level is %d" ++msgstr "" ++ ++#: gui/color.c:1319 ++#, fuzzy, c-format ++msgid "%s: invalid number: %s" ++msgstr "%d: érvénytelen levélszám.\n" ++ ++#: gui/curs_lib.c:379 ++msgid "yes" ++msgstr "igen" ++ ++#: gui/curs_lib.c:380 ++msgid "no" ++msgstr "nem" ++ ++#: gui/curs_lib.c:519 ++msgid "Exit NeoMutt?" ++msgstr "Kilépsz a NeoMutt-ból?" ++ ++#: gui/curs_lib.c:598 ++msgid "Press any key to continue..." ++msgstr "Nyomj le egy billentyűt a folytatáshoz..." ++ ++#: gui/curs_lib.c:749 ++msgid " ('?' for list): " ++msgstr " ('?' lista): " ++ + #: handler.c:102 + #, fuzzy, c-format + msgid "[-- Type: %s/%s%s%s, Encoding: %s, Size: %s --]\n" +@@ -1875,23 +2135,23 @@ msgstr "[-- Automatikus megjelenítés a(z) %s segítségével --]\n" + msgid "Invoking autoview command: %s" + msgstr "Megjelenítő parancs indítása: %s" + +-#: handler.c:591 mutt_attach.c:527 mutt_attach.c:714 mutt_attach.c:745 +-#: mutt_attach.c:1087 mutt_attach.c:1152 ncrypt/pgpkey.c:723 +-#: ncrypt/pgpkey.c:920 ++#: handler.c:590 mutt_attach.c:555 mutt_attach.c:747 mutt_attach.c:778 ++#: mutt_attach.c:1120 mutt_attach.c:1185 ncrypt/pgpkey.c:756 ++#: ncrypt/pgpkey.c:955 + msgid "Can't create filter" + msgstr "Szűrőt nem lehet létrehozni" + +-#: handler.c:595 ++#: handler.c:594 + #, c-format + msgid "[-- Can't run %s. --]\n" + msgstr "[-- Nem futtatható: %s --]\n" + +-#: handler.c:614 handler.c:635 ++#: handler.c:613 handler.c:634 + #, c-format + msgid "[-- Autoview stderr of %s --]\n" + msgstr "[-- A(z) %s hiba kimenete --]\n" + +-#: handler.c:764 ++#: handler.c:763 + msgid "[-- Error: message/external-body has no access-type parameter --]\n" + msgstr "[-- Hiba: az üzenetnek/külső-törzsének nincs elérési-típus paramétere --]\n" + +@@ -1910,7 +2170,7 @@ msgstr "[-- Hiba: az üzenetnek/külső-törzsének nincs elérési-típus param + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:807 ++#: handler.c:806 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" +@@ -1939,7 +2199,7 @@ msgstr[1] "" + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:830 ++#: handler.c:829 + #, fuzzy, c-format + msgid "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" + msgid_plural "[-- This %s/%s attachment (size %s bytes) has been deleted --]\n" +@@ -1953,7 +2213,7 @@ msgstr[1] "[-- Ez a %s/%s melléklet (mérete %s bájt) törölve lett --]\n" + #. + #. Caution: Argument three %3$ is also defined but should not be used + #. in this translation! +-#: handler.c:848 ++#: handler.c:847 + #, fuzzy + msgid "" + "[-- This %s/%s attachment has been deleted --]\n" +@@ -1965,12 +2225,12 @@ msgstr "" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The first "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:856 ++#: handler.c:855 + #, fuzzy, c-format + msgid "[-- This %s/%s attachment has been deleted --]\n" + msgstr "[-- Ez a %s/%s melléklet törölve lett --]\n" + +-#: handler.c:866 ++#: handler.c:865 + #, c-format + msgid "[-- name: %s --]\n" + msgstr "[-- név: %s --]\n" +@@ -1978,7 +2238,7 @@ msgstr "[-- név: %s --]\n" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:884 ++#: handler.c:883 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -1994,7 +2254,7 @@ msgstr "" + #. The "%s/%s" is a MIME type, e.g. "text/plain". The %s after + #. access-type is an access-type as defined by the MIME RFCs, e.g. "FTP", + #. "LOCAL-FILE", "MAIL-SERVER". +-#: handler.c:905 ++#: handler.c:904 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -2003,95 +2263,95 @@ msgstr "" + "[-- A %s/%s melléklet nincs beágyazva, --]\n" + "[-- és a jelzett elérési-típus, %s nincs támogatva --]\n" + +-#: handler.c:1090 ++#: handler.c:1089 + msgid "[-- Error: Could not display any parts of Multipart/Alternative --]\n" + msgstr "[-- Hiba: Egy Többrészes/Alternatív rész sem jeleníthető meg --]\n" + + #. L10N: %s is the attachment description, filename or form_name. +-#: handler.c:1231 ++#: handler.c:1230 + #, fuzzy, c-format + msgid "[-- Attachment #%d: %s --]\n" + msgstr "[-- Melléklet #%d: %s --]\n" + +-#: handler.c:1236 ++#: handler.c:1235 + #, fuzzy, c-format + msgid "[-- Attachment #%d --]\n" + msgstr "[-- Melléklet #%d --]\n" + +-#: handler.c:1254 ++#: handler.c:1253 + msgid "One or more parts of this message could not be displayed" + msgstr "" + +-#: handler.c:1320 ++#: handler.c:1319 + #, fuzzy + msgid "Unable to open 'memory stream'" + msgstr "Nem lehet megnyitni átmeneti fájlt" + +-#: handler.c:1330 ++#: handler.c:1329 + msgid "Unable to open temporary file" + msgstr "Nem lehet megnyitni átmeneti fájlt" + +-#: handler.c:1379 ++#: handler.c:1378 + #, fuzzy + msgid "failed to re-open 'memory stream'" + msgstr "Nem lehet megnyitni átmeneti fájlt" + +-#: handler.c:1620 ++#: handler.c:1619 + msgid "Error: multipart/signed has no protocol" + msgstr "Hiba: a többrészes/aláírt részhez nincs protokoll megadva" + + #. L10N: %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1694 ++#: handler.c:1693 + #, fuzzy, c-format + msgid "[-- This is an attachment (use '%s' to view this part) --]\n" + msgstr "[-- Ez a %s/%s melléklet (E rész megjelenítéséhez használja a(z) '%s'-t) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". + #. The last %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1701 ++#: handler.c:1700 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported (use '%s' to view this part) --]\n" + msgstr "[-- %s/%s nincs támogatva (E rész megjelenítéséhez használja a(z) '%s'-t) --]\n" + +-#: handler.c:1709 ++#: handler.c:1708 + #, fuzzy + msgid "[-- This is an attachment (need 'view-attachments' bound to key) --]\n" + msgstr "[-- Ez a %s/%s melléklet (a mellélet megtekintéshez billentyű lenyomás szükséges) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1715 ++#: handler.c:1714 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported (need 'view-attachments' bound to key) --]\n" + msgstr "[-- %s/%s nincs támogatva (a mellélet megtekintéshez billentyű lenyomás szükséges) --]\n" + +-#: handler.c:1724 ++#: handler.c:1723 + #, fuzzy + msgid "[-- This is an attachment --]\n" + msgstr "[-- Ez a %s/%s melléklet --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1729 ++#: handler.c:1728 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported --]\n" + msgstr "[-- %s/%s nincs támogatva --]\n" + +-#: help.c:400 ++#: help.c:401 + msgid "ERROR: please report this bug" + msgstr "HIBA: kérlek jelezd ezt a hibát a fejlesztőknek" + +-#: help.c:455 ++#: help.c:456 + msgid "" + msgstr "" + +-#: help.c:469 ++#: help.c:470 + msgid "Generic bindings:" + msgstr "Alap billentyűkombinációk:" + +-#: help.c:473 ++#: help.c:474 + msgid "Unbound functions:" + msgstr "Billentyűkombináció nélküli parancsok:" + +-#: help.c:481 ++#: help.c:482 + #, c-format + msgid "Help for %s" + msgstr "Súgó: %s" +@@ -2108,41 +2368,41 @@ msgstr "" + msgid "badly formatted command string" + msgstr "" + +-#: hook.c:461 ++#: hook.c:466 + msgid "unhook: Can't do unhook * from within a hook" + msgstr "unhook: Nem lehet 'unhook *'-ot végrehajtani hook parancsból" + +-#: hook.c:474 ++#: hook.c:479 + #, c-format + msgid "unhook: unknown hook type: %s" + msgstr "hozzárendelés törlése: ismeretlen hozzárendelési típus: %s" + +-#: hook.c:484 ++#: hook.c:489 + #, c-format + msgid "unhook: Can't delete a %s from within a %s" + msgstr "unhook: %s-t nem lehet törölni a következőből: %s" + + #. L10N: '%s' is the (misspelled) name of the menu, e.g. 'index' or 'pager' +-#: icommands.c:259 keymap.c:1161 keymap.c:1346 ++#: icommands.c:261 keymap.c:1159 keymap.c:1344 + #, c-format + msgid "%s: no such menu" + msgstr "%s: nincs ilyen menü" + + #. L10N: '%s' is the name of the menu, e.g. 'index' or 'pager', it might + #. L10N: also be 'all' when all menus are affected. +-#: icommands.c:272 ++#: icommands.c:274 + #, fuzzy, c-format + msgid "%s: no binds for this menu" + msgstr "%s: nincs ilyen menü" + +-#: icommands.c:272 ++#: icommands.c:274 + #, fuzzy, c-format + msgid "%s: no macros for this menu" + msgstr "%s: nincs ilyen menü" + + #. L10N: '%s' is the file name of the temporary file +-#: icommands.c:283 icommands.c:296 icommands.c:316 icommands.c:340 +-#: icommands.c:360 icommands.c:371 imap/message.c:1093 ++#: icommands.c:285 icommands.c:297 icommands.c:317 icommands.c:340 ++#: icommands.c:360 icommands.c:370 imap/message.c:1093 + #, c-format + msgid "Could not create temporary file %s" + msgstr "Nem lehet a %s átmeneti fájlt létrehozni" +@@ -2180,30 +2440,30 @@ msgstr "GSSAPI azonosítás nem sikerült" + msgid "LOGIN disabled on this server" + msgstr "A LOGIN parancsot letiltották ezen a szerveren" + +-#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:288 ++#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:289 + msgid "Logging in..." + msgstr "Bejelentkezés..." + +-#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:329 ++#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:330 + msgid "Login failed" + msgstr "Sikertelen bejelentkezés" + +-#: imap/auth_oauth.c:64 pop/pop_auth.c:346 smtp.c:524 ++#: imap/auth_oauth.c:65 pop/pop_auth.c:347 smtp.c:549 + #, fuzzy + msgid "Authenticating (OAUTHBEARER)..." + msgstr "Azonosítás (SASL)..." + +-#: imap/auth_oauth.c:96 ++#: imap/auth_oauth.c:97 + #, fuzzy + msgid "OAUTHBEARER authentication failed" + msgstr "OAUTHBEARER azonosítás nem sikerült" + +-#: imap/auth_sasl.c:128 nntp/nntp.c:606 nntp/nntp.c:671 smtp.c:443 ++#: imap/auth_sasl.c:128 nntp/nntp.c:608 nntp/nntp.c:673 smtp.c:468 + #, fuzzy, c-format + msgid "Authenticating (%s)..." + msgstr "Azonosítás (APOP)..." + +-#: imap/auth_sasl.c:259 pop/pop_auth.c:200 smtp.c:584 smtp.c:646 ++#: imap/auth_sasl.c:259 pop/pop_auth.c:201 smtp.c:609 smtp.c:671 + msgid "SASL authentication failed" + msgstr "SASL azonosítás nem sikerült" + +@@ -2252,90 +2512,80 @@ msgstr "SSL sikertelen: %s" + msgid "Mailbox renamed" + msgstr "Postafiók létrehozva" + +-#: imap/command.c:164 ++#: imap/command.c:177 + #, fuzzy, c-format + msgid "Mailbox %s@%s closed" + msgstr "Postafiók lezárva" + +-#: imap/command.c:1258 imap/command.c:1370 ++#: imap/command.c:1287 imap/command.c:1399 + #, fuzzy, c-format + msgid "Connection to %s timed out" + msgstr "%s kapcsolat lezárva" + +-#: imap/imap.c:87 ++#: imap/imap.c:93 + #, fuzzy + msgid "This IMAP server is ancient. NeoMutt does not work with it." + msgstr "Ez az IMAP kiszolgáló nagyon régi. A NeoMutt nem tud együttműködni vele." + +-#: imap/imap.c:438 ++#: imap/imap.c:444 + #, c-format + msgid "Header search without header name: %s" + msgstr "" + +-#: imap/imap.c:468 ++#: imap/imap.c:474 + #, c-format + msgid "Server-side custom search not supported: %s" + msgstr "" + +-#: imap/imap.c:584 ++#: imap/imap.c:590 + #, fuzzy, c-format + msgid "CREATE failed: %s" + msgstr "SSL sikertelen: %s" + +-#: imap/imap.c:704 ++#: imap/imap.c:710 + #, c-format + msgid "Closing connection to %s..." + msgstr "%s kapcsolat lezárása..." + +-#: imap/imap.c:882 nntp/nntp.c:1889 pop/pop_lib.c:324 smtp.c:687 ++#: imap/imap.c:888 nntp/nntp.c:1891 pop/pop_lib.c:350 smtp.c:712 + msgid "Secure connection with TLS?" + msgstr "Biztonságos TLS kapcsolat?" + +-#: imap/imap.c:895 nntp/nntp.c:1910 pop/pop_lib.c:343 smtp.c:702 ++#: imap/imap.c:901 nntp/nntp.c:1912 pop/pop_lib.c:369 smtp.c:727 + msgid "Could not negotiate TLS connection" + msgstr "Nem lehetett megtárgyalni a TLS kapcsolatot" + +-#: imap/imap.c:910 pop/pop_lib.c:360 ++#: imap/imap.c:916 pop/pop_lib.c:386 + msgid "Encrypted connection unavailable" + msgstr "" + +-#: imap/imap.c:1417 ++#: imap/imap.c:1430 + #, c-format + msgid "Subscribing to %s..." + msgstr "%s felírása..." + +-#: imap/imap.c:1419 ++#: imap/imap.c:1432 + #, fuzzy, c-format + msgid "Unsubscribing from %s..." + msgstr "%s leírása..." + +-#: imap/imap.c:1430 init.c:2142 +-#, fuzzy, c-format +-msgid "Subscribed to %s" +-msgstr "%s felírása..." +- +-#: imap/imap.c:1432 init.c:2620 +-#, fuzzy, c-format +-msgid "Unsubscribed from %s" +-msgstr "%s leírása..." +- +-#: imap/imap.c:1582 imap/message.c:1674 ++#: imap/imap.c:1595 imap/message.c:1674 + #, fuzzy, c-format + msgid "Copying %d message to %s..." + msgid_plural "Copying %d messages to %s..." + msgstr[0] "%d levél másolása a %s postafiókba..." + msgstr[1] "%d levél másolása a %s postafiókba..." + +-#: imap/imap.c:1599 imap/imap.c:2217 imap/message.c:1713 muttlib.c:1505 ++#: imap/imap.c:1612 imap/imap.c:2254 imap/message.c:1713 muttlib.c:1503 + #, c-format + msgid "Create %s?" + msgstr "%s létrehozása?" + +-#: imap/imap.c:1667 ++#: imap/imap.c:1685 + msgid "Expunge failed" + msgstr "Sikertelen törlés" + +-#: imap/imap.c:1683 ++#: imap/imap.c:1701 + #, fuzzy, c-format + msgid "Marking %d message deleted..." + msgid_plural "Marking %d messages deleted..." +@@ -2343,44 +2593,44 @@ msgstr[0] "%d levél megjelölése töröltnek..." + msgstr[1] "%d levél megjelölése töröltnek..." + + #. L10N: The plural is chosen by the last %d, i.e. the total number +-#: imap/imap.c:1720 ++#: imap/imap.c:1738 + #, fuzzy, c-format + msgid "Saving changed message... [%d/%d]" + msgid_plural "Saving changed messages... [%d/%d]" + msgstr[0] "Állapotjelzők mentése... [%d/%d]" + msgstr[1] "Állapotjelzők mentése... [%d/%d]" + +-#: imap/imap.c:1776 ++#: imap/imap.c:1794 + msgid "Error saving flags. Close anyway?" + msgstr "" + +-#: imap/imap.c:1783 ++#: imap/imap.c:1801 + #, fuzzy + msgid "Error saving flags" + msgstr "Hibás cím!" + +-#: imap/imap.c:1808 ++#: imap/imap.c:1826 + msgid "Expunging messages from server..." + msgstr "Levelek törlése a szerverről..." + +-#: imap/imap.c:1814 ++#: imap/imap.c:1832 + msgid "imap_sync_mailbox: EXPUNGE failed" + msgstr "imap_sync_mailbox: EXPUNGE sikertelen" + +-#: imap/imap.c:2023 nntp/nntp.c:2486 ++#: imap/imap.c:2058 nntp/nntp.c:2488 + #, c-format + msgid "Selecting %s..." + msgstr "%s választása..." + +-#: imap/imap.c:2184 ++#: imap/imap.c:2221 + msgid "Error opening mailbox" + msgstr "Hiba a postafiók megnyitásaor" + +-#: imap/imap.c:2330 ++#: imap/imap.c:2367 + msgid "IMAP server doesn't support custom flags" + msgstr "" + +-#: imap/imap.c:2374 ++#: imap/imap.c:2411 + #, fuzzy + msgid "Invalid IMAP flags" + msgstr "Érvénytelen " +@@ -2391,7 +2641,7 @@ msgid "Abort download and close mailbox?" + msgstr "" + + #: imap/message.c:554 mutt/memory.c:58 mutt/memory.c:98 mutt/memory.c:134 +-#: mutt/string.c:1178 mx.c:1176 ++#: mutt/string.c:1201 mx.c:1195 + msgid "Out of memory" + msgstr "Elfogyott a memória" + +@@ -2412,7 +2662,7 @@ msgstr "Levélfejlécek letöltése... [%d/%d]" + msgid "Unable to fetch headers from this IMAP server version" + msgstr "Nem lehet a fejléceket letölteni ezen verziójú IMAP szerverről" + +-#: imap/message.c:1099 index.c:1548 nntp/nntp.c:1328 pop/pop.c:426 ++#: imap/message.c:1099 index.c:1554 nntp/nntp.c:1330 pop/pop.c:426 + #, fuzzy + msgid "Fetching message headers..." + msgstr "Levélfejlécek letöltése... [%d/%d]" +@@ -2427,157 +2677,157 @@ msgstr "Levél feltöltése..." + msgid "Copying message %d to %s..." + msgstr "%d levél másolása %s-ba ..." + +-#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2737 pop/pop.c:1110 ++#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2739 pop/pop.c:1105 + msgid "Fetching message..." + msgstr "Levél letöltése..." + +-#: imap/message.c:1959 pop/pop.c:1106 ++#: imap/message.c:1959 pop/pop.c:1101 + msgid "The message index is incorrect. Try reopening the mailbox." + msgstr "A levelek tartalomjegyzéke hibás. Próbáld megnyitni újra a postafiókot." + +-#: imap/util.c:767 ++#: imap/util.c:796 + msgid "Continue?" + msgstr "Folytatod?" + +-#: index.c:115 index.c:128 ++#: index.c:111 index.c:124 + msgid "Quit" + msgstr "Kilép" + +-#: index.c:118 index.c:131 recvattach.c:93 ++#: index.c:114 index.c:127 recvattach.c:91 + msgid "Save" + msgstr "Ment" + +-#: index.c:119 query.c:81 ++#: index.c:115 query.c:79 + msgid "Mail" + msgstr "Levél" + +-#: index.c:120 pager.c:237 ++#: index.c:116 pager.c:229 + msgid "Reply" + msgstr "Válasz" + +-#: index.c:121 ++#: index.c:117 + msgid "Group" + msgstr "Csoport" + +-#: index.c:132 pager.c:244 ++#: index.c:128 pager.c:236 + msgid "Post" + msgstr "" + +-#: index.c:133 pager.c:245 ++#: index.c:129 pager.c:237 + #, fuzzy + msgid "Followup" + msgstr "Válasz a %s%s címre?" + +-#: index.c:190 index.c:1362 ++#: index.c:186 index.c:1367 + msgid "No mailbox is open" + msgstr "Nincs megnyitott postafiók" + +-#: index.c:196 ++#: index.c:192 + msgid "There are no messages" + msgstr "Nincs levél" + +-#: index.c:202 ++#: index.c:198 + msgid "No visible messages" + msgstr "Nincs látható levél" + +-#: index.c:208 mx.c:901 pager.c:223 recvattach.c:80 ++#: index.c:204 mx.c:920 pager.c:215 recvattach.c:78 + msgid "Mailbox is read-only" + msgstr "A postafiók csak olvasható" + +-#: index.c:214 pager.c:225 recvattach.c:98 ++#: index.c:210 pager.c:217 recvattach.c:96 + msgid "Function not permitted in attach-message mode" + msgstr "A funkció levél-csatolás módban le van tiltva" + + #. L10N: %s is one of the CHECK_ACL entries below. +-#: index.c:239 pager.c:290 ++#: index.c:235 pager.c:282 + #, c-format + msgid "%s: Operation not permitted by ACL" + msgstr "" + +-#: index.c:430 ++#: index.c:426 + msgid "Can't toggle write on a readonly mailbox" + msgstr "A csak olvasható postafiókba nem lehet írni" + +-#: index.c:437 ++#: index.c:433 + msgid "Changes to folder will be written on folder exit" + msgstr "A postafiók módosításai a postafiókból történő kilépéskor lesznek elmentve" + +-#: index.c:442 ++#: index.c:438 + msgid "Changes to folder will not be written" + msgstr "A postafiók módosításai nem lesznek elmentve" + +-#: index.c:719 muttlib.c:1490 mx.c:206 mx.c:340 ++#: index.c:714 muttlib.c:1488 mx.c:206 mx.c:338 + #, c-format + msgid "%s is not a mailbox" + msgstr "A %s nem postafiók" + +-#: index.c:1218 ++#: index.c:1223 + msgid "Mailbox was externally modified. Flags may be wrong." + msgstr "A postafiókot más program módosította. A jelzők hibásak lehetnek." + +-#: index.c:1227 pager.c:2409 ++#: index.c:1232 pager.c:2379 + msgid "New mail in this mailbox" + msgstr "Új levél érkezett a postafiókba" + +-#: index.c:1242 ++#: index.c:1247 + msgid "Mailbox was externally modified" + msgstr "A postafiókot más program módosította" + +-#: index.c:1369 ++#: index.c:1374 + msgid "No tagged messages" + msgstr "Nincs kijelölt levél" + +-#: index.c:1373 index.c:1647 menu.c:1423 ++#: index.c:1378 index.c:1653 menu.c:1423 + #, fuzzy + msgid "Nothing to do" + msgstr "Kapcsolódás %s-hez.." + +-#: index.c:1470 ++#: index.c:1475 + #, fuzzy + msgid "Enter Message-Id: " + msgstr "Add meg a kulcsID-t: " + +-#: index.c:1481 ++#: index.c:1487 + msgid "Article has no parent reference" + msgstr "" + +-#: index.c:1504 ++#: index.c:1510 + #, fuzzy + msgid "Message is not visible in limited view" + msgstr "A nyitóüzenet nem látható a szűkített nézetben" + +-#: index.c:1508 ++#: index.c:1514 + #, fuzzy, c-format + msgid "Fetching %s from server..." + msgstr "Levelek törlése a szerverről..." + +-#: index.c:1518 nntp/nntp.c:2772 ++#: index.c:1524 nntp/nntp.c:2774 + #, c-format + msgid "Article %s not found on the server" + msgstr "" + +-#: index.c:1544 ++#: index.c:1550 + msgid "No Message-Id. Unable to perform operation." + msgstr "" + +-#: index.c:1623 ++#: index.c:1629 + #, fuzzy + msgid "No deleted messages found in the thread" + msgstr "téma összes üzenetének törlése" + +-#: index.c:1644 ++#: index.c:1650 + msgid "Jump to message: " + msgstr "Levélre ugrás: " + +-#: index.c:1650 ++#: index.c:1656 + msgid "Argument must be a message number" + msgstr "A paraméternek levélszámnak kell lennie" + +-#: index.c:1652 ++#: index.c:1658 + msgid "Invalid message number" + msgstr "Érvénytelen levélszám" + +-#: index.c:1654 ++#: index.c:1660 + msgid "That message is not visible" + msgstr "Ez a levél nem látható" + +@@ -2590,38 +2840,38 @@ msgstr "Ez a levél nem látható" + #. delete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. + #. +-#: index.c:1692 index.c:3267 pager.c:3064 ++#: index.c:1698 index.c:3293 pager.c:3039 + #, fuzzy + msgid "Can't delete messages" + msgstr "Nincs visszaállított levél." + +-#: index.c:1695 ++#: index.c:1701 + msgid "Delete messages matching: " + msgstr "A mintára illeszkedő levelek törlése: " + +-#: index.c:1736 ++#: index.c:1742 + msgid "No limit pattern is in effect" + msgstr "A szűrő mintának nincs hatása" + + #. L10N: ask for a limit to apply +-#: index.c:1741 ++#: index.c:1747 + #, c-format + msgid "Limit: %s" + msgstr "Szűkítés: %s" + +-#: index.c:1778 ++#: index.c:1784 + msgid "Limit to messages matching: " + msgstr "Minta a levelek szűkítéséhez: " + +-#: index.c:1809 ++#: index.c:1815 + msgid "To view all messages, limit to \"all\"" + msgstr "" + +-#: index.c:1821 pager.c:2514 ++#: index.c:1827 pager.c:2487 + msgid "Quit NeoMutt?" + msgstr "Kilépsz a NeoMuttból?" + +-#: index.c:1924 ++#: index.c:1931 + msgid "Tag messages matching: " + msgstr "Minta a levelek kijelöléséhez: " + +@@ -2629,213 +2879,213 @@ msgstr "Minta a levelek kijelöléséhez: " + #. L10N: Due to the implementation details we do not know whether we + #. undelete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:1935 index.c:3807 pager.c:3418 ++#: index.c:1942 index.c:3833 pager.c:3396 + #, fuzzy + msgid "Can't undelete messages" + msgstr "Nincs visszaállított levél." + +-#: index.c:1939 ++#: index.c:1946 + msgid "Undelete messages matching: " + msgstr "Minta a levelek visszaállításához: " + +-#: index.c:1948 ++#: index.c:1955 + msgid "Untag messages matching: " + msgstr "Minta a levélkijelölés megszüntetéséhez:" + +-#: index.c:1989 ++#: index.c:1996 + #, fuzzy + msgid "Logged out of IMAP servers" + msgstr "IMAP kapcsolat lezárása.." + +-#: index.c:2105 ++#: index.c:2113 + #, fuzzy + msgid "No virtual folder and no Message-Id, aborting" + msgstr "Nincs tárgy megadva, megszakítom" + +-#: index.c:2117 index.c:2288 index.c:2310 index.c:2331 ++#: index.c:2125 index.c:2313 index.c:2335 index.c:2356 + msgid "Failed to create query, aborting" + msgstr "" + +-#: index.c:2130 ++#: index.c:2138 + msgid "failed to find message in notmuch database. try running 'notmuch new'." + msgstr "" + +-#: index.c:2139 ++#: index.c:2147 + msgid "Failed to read thread, aborting" + msgstr "" + +-#: index.c:2171 mx.c:1252 mx.c:1272 ++#: index.c:2179 mx.c:1271 mx.c:1291 + msgid "Folder doesn't support tagging, aborting" + msgstr "" + +-#: index.c:2188 ++#: index.c:2196 + #, fuzzy + msgid "No tag specified, aborting" + msgstr "Nincs tárgy megadva, megszakítom" + +-#: index.c:2198 ++#: index.c:2206 + msgid "Update tags..." + msgstr "" + +-#: index.c:2238 ++#: index.c:2246 + msgid "Failed to modify tags, aborting" + msgstr "" + +-#: index.c:2284 ++#: index.c:2293 + #, fuzzy + msgid "No query, aborting" + msgstr "Nincs tárgy megadva, megszakítom" + +-#: index.c:2299 index.c:2320 ++#: index.c:2324 index.c:2345 + msgid "Windowed queries disabled" + msgstr "" + +-#: index.c:2304 index.c:2325 ++#: index.c:2329 index.c:2350 + msgid "No notmuch vfolder currently loaded" + msgstr "" + +-#: index.c:2374 ++#: index.c:2399 + msgid "Open mailbox in read-only mode" + msgstr "Postafiók megnyitása csak olvasásra" + +-#: index.c:2376 ++#: index.c:2401 + msgid "Open mailbox" + msgstr "Postafiók megnyitása" + +-#: index.c:2386 ++#: index.c:2411 + #, fuzzy + msgid "No mailboxes have new mail" + msgstr "Nincs új levél egyik postafiókban sem." + +-#: index.c:2419 ++#: index.c:2444 + #, fuzzy + msgid "Open newsgroup in read-only mode" + msgstr "Postafiók megnyitása csak olvasásra" + +-#: index.c:2421 ++#: index.c:2446 + msgid "Open newsgroup" + msgstr "" + +-#: index.c:2538 ++#: index.c:2564 + #, fuzzy + msgid "Exit NeoMutt without saving?" + msgstr "Kilépsz a NeoMuttból mentés nélül?" + + #. L10N: CHECK_ACL +-#: index.c:2554 ++#: index.c:2580 + #, fuzzy + msgid "Can't break thread" + msgstr "Nem lehet szűrőt létrehozni." + +-#: index.c:2574 ++#: index.c:2600 + msgid "Thread broken" + msgstr "" + +-#: index.c:2587 ++#: index.c:2613 + msgid "Thread can't be broken, message is not part of a thread" + msgstr "" + + #. L10N: CHECK_ACL +-#: index.c:2597 ++#: index.c:2623 + msgid "Can't link threads" + msgstr "" + +-#: index.c:2606 ++#: index.c:2632 + msgid "No Message-ID: header available to link thread" + msgstr "" + +-#: index.c:2608 ++#: index.c:2634 + #, fuzzy + msgid "First, please tag a message to be linked here" + msgstr "üzenet elmentése későbbi küldéshez" + +-#: index.c:2621 ++#: index.c:2647 + msgid "Threads linked" + msgstr "" + +-#: index.c:2624 ++#: index.c:2650 + msgid "No thread linked" + msgstr "" + +-#: index.c:2665 index.c:2690 ++#: index.c:2691 index.c:2716 + msgid "You are on the last message" + msgstr "Ez az utolsó levél" + +-#: index.c:2673 index.c:2716 ++#: index.c:2699 index.c:2742 + msgid "No undeleted messages" + msgstr "Nincs visszaállított levél" + +-#: index.c:2708 index.c:2733 ++#: index.c:2734 index.c:2759 + msgid "You are on the first message" + msgstr "Ez az első levél" + +-#: index.c:2874 ++#: index.c:2900 + #, fuzzy + msgid "No new messages in this limited view" + msgstr "A nyitóüzenet nem látható a szűkített nézetben" + +-#: index.c:2876 ++#: index.c:2902 + #, fuzzy + msgid "No new messages" + msgstr "Nincs új levél" + +-#: index.c:2881 ++#: index.c:2907 + #, fuzzy + msgid "No unread messages in this limited view" + msgstr "A nyitóüzenet nem látható a szűkített nézetben" + +-#: index.c:2883 ++#: index.c:2909 + #, fuzzy + msgid "No unread messages" + msgstr "Nincs olvasatlan levél" + +-#: index.c:2893 menu.c:1208 pager.c:2644 pattern.c:2652 ++#: index.c:2919 menu.c:1208 pager.c:2618 pattern.c:2776 + msgid "Search wrapped to top" + msgstr "Keresés az elejétől" + +-#: index.c:2898 pager.c:2669 pattern.c:2663 ++#: index.c:2924 pager.c:2643 pattern.c:2787 + msgid "Search wrapped to bottom" + msgstr "Keresés a végétől" + + #. L10N: CHECK_ACL +-#: index.c:2915 ++#: index.c:2941 + #, fuzzy + msgid "Can't flag message" + msgstr "üzenet megjelenítése" + + #. L10N: CHECK_ACL +-#: index.c:2961 pager.c:3377 ++#: index.c:2987 pager.c:3355 + msgid "Can't toggle new" + msgstr "" + +-#: index.c:3057 ++#: index.c:3083 + msgid "No more threads" + msgstr "Nincs több téma" + +-#: index.c:3059 ++#: index.c:3085 + msgid "You are on the first thread" + msgstr "Ez az első téma" + +-#: index.c:3156 ++#: index.c:3182 + #, fuzzy + msgid "Thread contains unread or flagged messages" + msgstr "A témában olvasatlan levelek vannak" + + #. L10N: CHECK_ACL +-#: index.c:3215 pager.c:3019 ++#: index.c:3241 pager.c:2994 + #, fuzzy + msgid "Can't delete message" + msgstr "Nincs visszaállított levél." + + #. L10N: CHECK_ACL +-#: index.c:3339 ++#: index.c:3365 + #, fuzzy + msgid "Can't edit message" + msgstr "Nem lehet írni a levelet" + + #. L10N: This is displayed when the x-label on one or more + #. messages is edited. +-#: index.c:3432 pager.c:3495 ++#: index.c:3458 pager.c:3473 + #, fuzzy, c-format + msgid "%d label changed" + msgid_plural "%d labels changed" +@@ -2845,7 +3095,7 @@ msgstr[1] "Postafiók változatlan" + #. L10N: This is displayed when editing an x-label, but no messages + #. were updated. Possibly due to canceling at the prompt or if the new + #. label is the same as the old label. +-#: index.c:3440 pager.c:3499 ++#: index.c:3466 pager.c:3477 + #, fuzzy + msgid "No labels changed" + msgstr "Postafiók változatlan" +@@ -2854,7 +3104,7 @@ msgstr "Postafiók változatlan" + #. L10N: Due to the implementation details we do not know whether we + #. mark zero, 1, 12, ... messages as read. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:3571 ++#: index.c:3597 + #, fuzzy + msgid "Can't mark messages as read" + msgstr "ugrás a levél előzményére ebben a témában" +@@ -2862,14 +3112,14 @@ msgstr "ugrás a levél előzményére ebben a témában" + #. L10N: This is the prompt for . Whatever they + #. enter will be prefixed by $mark_macro_prefix and will become + #. a macro hotkey to jump to the currently selected message. +-#: index.c:3612 ++#: index.c:3638 + #, fuzzy + msgid "Enter macro stroke: " + msgstr "Add meg a kulcsID-t: " + + #. L10N: "message hotkey" is the key bindings menu description of a + #. macro created by . +-#: index.c:3620 ++#: index.c:3646 + #, fuzzy + msgid "message hotkey" + msgstr "A levél el lett halasztva." +@@ -2877,266 +3127,123 @@ msgstr "A levél el lett halasztva." + #. L10N: This is echoed after creates a new hotkey + #. macro. %s is the hotkey string ($mark_macro_prefix followed + #. by whatever they typed at the prompt.) +-#: index.c:3625 ++#: index.c:3651 + #, fuzzy, c-format + msgid "Message bound to %s" + msgstr "Levél visszaküldve" + + #. L10N: This error is printed if can't find a + #. Message-ID for the currently selected message in the index. +-#: index.c:3634 ++#: index.c:3660 + #, fuzzy + msgid "No message ID to macro" + msgstr "Nincs levél ebben a postafiókban" + +-#: index.c:3688 pager.c:3221 recvattach.c:1646 ++#: index.c:3714 pager.c:3196 recvattach.c:1678 + msgid "Reply by mail as poster prefers?" + msgstr "" + +-#: index.c:3691 pager.c:3182 pager.c:3194 pager.c:3224 ++#: index.c:3717 pager.c:3157 pager.c:3169 pager.c:3199 + msgid "Posting to this group not allowed, may be moderated. Continue?" + msgstr "" + + #. L10N: CHECK_ACL +-#: index.c:3768 pager.c:3397 ++#: index.c:3794 pager.c:3375 + #, fuzzy + msgid "Can't undelete message" + msgstr "Nincs visszaállított levél." + +-#: init.c:313 ++#: init.c:223 + #, c-format + msgid "Error in command line: %s" + msgstr "Hibás parancssor: %s" + +-#: init.c:315 ++#: init.c:225 + #, fuzzy, c-format + msgid "Warning in command line: %s" + msgstr "Hibás parancssor: %s" + +-#: init.c:426 ++#: init.c:336 + #, fuzzy + msgid "unable to determine nodename via uname()" + msgstr "meghatározhatatlan felhasználónév" + +-#: init.c:580 +-msgid "-group: no group name" +-msgstr "" +- +-#: init.c:590 +-#, fuzzy +-msgid "out of arguments" +-msgstr "túl kevés paraméter" +- +-#: init.c:804 init.c:1752 +-#, c-format +-msgid "Error: Can't build path of '%s'" +-msgstr "" +- +-#: init.c:817 +-#, c-format +-msgid "Error: Cyclic sourcing of configuration file '%s'" +-msgstr "" +- +-#: init.c:850 +-#, c-format +-msgid "Error in %s, line %d: %s" +-msgstr "Hiba a %s-ban, sor %d: %s" +- +-#: init.c:861 +-#, fuzzy, c-format +-msgid "Warning in %s, line %d: %s" +-msgstr "Hiba a %s-ban, sor %d: %s" +- +-#: init.c:885 +-#, c-format +-msgid "source: errors in %s" +-msgstr "source: hiba a %s fájlban" +- +-#: init.c:885 +-#, fuzzy, c-format +-msgid "source: reading aborted due to too many errors in %s" +-msgstr "source: az olvasás megszakadt, a %s fájlban túl sok a hiba" +- +-#: init.c:894 +-#, fuzzy, c-format +-msgid "source: %d warning in %s" +-msgid_plural "source: %d warnings in %s" +-msgstr[0] "source: hiba a %s fájlban" +-msgstr[1] "source: hiba a %s fájlban" +- +-#: init.c:923 +-msgid "alias: no address" +-msgstr "címjegyzék: nincs cím" +- +-#: init.c:965 +-#, c-format +-msgid "Warning: Bad IDN '%s' in alias '%s'" +-msgstr "Figyelmeztetés: Hibás IDN '%s' a '%s' álnévben" +- +-#: init.c:1043 +-#, fuzzy +-msgid "attachments: no disposition" +-msgstr "melléklet-leírás szerkesztése" +- +-#: init.c:1054 +-#, fuzzy +-msgid "Current attachments settings:" +-msgstr "melléklet-leírás szerkesztése" +- +-#: init.c:1084 +-#, fuzzy +-msgid "attachments: invalid disposition" +-msgstr "melléklet-leírás szerkesztése" +- +-#: init.c:1160 +-#, c-format +-msgid "%sgroup: missing -rx or -addr" +-msgstr "" +- +-#: init.c:1186 +-#, fuzzy, c-format +-msgid "%sgroup: warning: bad IDN '%s'" +-msgstr "Figyelmeztetés: Hibás IDN '%s' a '%s' álnévben" +- +-#: init.c:1278 +-#, c-format +-msgid "Error: %s" +-msgstr "" +- +-#: init.c:1445 +-msgid "invalid header field" +-msgstr "érvénytelen mező a fejlécben" +- +-#: init.c:1711 init.c:1815 +-#, c-format +-msgid "%s: unknown variable" +-msgstr "%s: ismeretlen változó" +- +-#: init.c:1908 +-#, c-format +-msgid "%s is unset" +-msgstr "%s beállítása törölve" +- +-#: init.c:1953 mutt_lua.c:478 +-#, c-format +-msgid "source: error at %s" +-msgstr "source: hiba a %s-nál" +- +-#: init.c:1961 +-#, fuzzy, c-format +-msgid "source: file %s could not be sourced" +-msgstr "A leveleket nem tudtam kinyomtatni" +- +-#: init.c:1984 +-#, fuzzy +-msgid "spam: no matching pattern" +-msgstr "levelek kijelölése mintára illesztéssel" +- +-#: init.c:1986 +-#, fuzzy +-msgid "nospam: no matching pattern" +-msgstr "kijelölés megszüntetése mintára illesztéssel" +- +-#: init.c:2146 +-#, fuzzy, c-format +-msgid "Could not subscribe to %s" +-msgstr "%s felírása..." +- +-#: init.c:2154 init.c:2632 +-#, fuzzy +-msgid "No folder specified" +-msgstr "Nincs tárgy megadva." +- +-#: init.c:2341 +-#, fuzzy +-msgid "unattachments: no disposition" +-msgstr "melléklet-leírás szerkesztése" +- +-#: init.c:2379 +-msgid "unattachments: invalid disposition" +-msgstr "" +- +-#: init.c:2624 +-#, fuzzy, c-format +-msgid "Could not unsubscribe from %s" +-msgstr "%s leírása..." +- +-#: init.c:3292 ++#: init.c:1042 + #, c-format + msgid "%s: unknown command" + msgstr "%s: ismeretlen parancs" + +-#: init.c:3837 ++#: init.c:1588 + msgid "'charset' must contain exactly one character set name" + msgstr "" + +-#: init.c:3853 init.c:3877 init.c:3912 ++#: init.c:1604 init.c:1628 init.c:1663 + #, fuzzy, c-format + msgid "Invalid value for option %s: %s" + msgstr "Érvénytelen a hónap napja: %s" + +-#: init.c:3890 ++#: init.c:1641 + #, c-format + msgid "Option %s may not be set or reset from the pager" + msgstr "" + +-#: init.c:3928 ++#: init.c:1679 + #, fuzzy, c-format + msgid "Option %s may not be set when in attach-message mode" + msgstr "A funkció levél-csatolás módban le van tiltva." + + #. L10N: This applies to the "$wrap_headers" config variable +-#: init.c:3943 ++#: init.c:1694 + #, c-format + msgid "Option %s must between 78 and 998 inclusive" + msgstr "" + +-#: keymap.c:373 keymap.c:381 ++#: keymap.c:371 keymap.c:379 + #, c-format + msgid "Binding '%s' will alias '%s' Before, try: 'bind %s %s noop' https://neomutt.org/guide/configuration.html#bind-warnings" + msgstr "" + +-#: keymap.c:757 ++#: keymap.c:755 + msgid "Macro loop detected" + msgstr "Végtelen ciklus a makróban" + +-#: keymap.c:1064 keymap.c:1099 ++#: keymap.c:1062 keymap.c:1097 + msgid "Key is not bound" + msgstr "A billentyűhöz nincs funkció rendelve" + +-#: keymap.c:1104 ++#: keymap.c:1102 + #, c-format + msgid "Key is not bound. Press '%s' for help." + msgstr "A billentyűhöz nincs funkció rendelve. A súgóhoz nyomd meg a '%s'-t." + +-#: keymap.c:1177 ++#: keymap.c:1175 + #, c-format + msgid "%s: null key sequence" + msgstr "%s: üres billentyűzet-szekvencia" + +-#: keymap.c:1212 ++#: keymap.c:1210 + #, c-format + msgid "Function '%s' not available for menu '%s'" + msgstr "" + +-#: keymap.c:1495 ++#: keymap.c:1493 + msgid "macro: empty key sequence" + msgstr "macro: üres billentyűzet-szekvencia" + +-#: keymap.c:1543 ++#: keymap.c:1541 + msgid "exec: no arguments" + msgstr "exec: nincs paraméter" + +-#: keymap.c:1563 ++#: keymap.c:1561 + #, c-format + msgid "%s: no such function" + msgstr "%s: nincs ilyen funkció" + +-#: keymap.c:1584 ++#: keymap.c:1582 + msgid "Enter keys (^G to abort): " + msgstr "Add meg a kulcsokat (^G megszakítás): " + +-#: keymap.c:1590 ++#: keymap.c:1588 + #, c-format + msgid "Char = %s, Octal = %o, Decimal = %d" + msgstr "Karakter = %s, Oktális = %o, Decimális = %d" +@@ -3160,7 +3267,7 @@ msgstr "mailcap bejegyzés a(z) %s típushoz nem található" + msgid "Scanning %s..." + msgstr "%s választása..." + +-#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:353 ++#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:351 + #, c-format + msgid "Reading %s..." + msgstr "%s olvasása..." +@@ -3176,13 +3283,13 @@ msgid "md_commit_message(): unable to set time on file" + msgstr "maildir_commit_message (): a fájlidő beállítása nem sikerült" + + #. L10N: Displayed before/as a mailbox is being synced +-#: maildir/shared.c:1723 mbox/mbox.c:1276 mx.c:461 notmuch/mutt_notmuch.c:2364 ++#: maildir/shared.c:1734 mbox/mbox.c:1276 mx.c:459 notmuch/mutt_notmuch.c:2364 + #, c-format + msgid "Writing %s..." + msgstr "%s írása..." + + #. L10N: Try to limit to 80 columns +-#: main.c:227 ++#: main.c:160 + msgid "" + "usage:\n" + " neomutt [-Enx] [-e ] [-F ] [-H ] [-i ]\n" +@@ -3205,7 +3312,7 @@ msgid "" + msgstr "" + + #. L10N: Try to limit to 80 columns. If more space is needed add an indented line +-#: main.c:247 ++#: main.c:180 + msgid "" + "options:\n" + " -- Special argument forces NeoMutt to stop option parsing and treat\n" +@@ -3248,54 +3355,54 @@ msgid "" + " or exit immediately with exit code 1 otherwise" + msgstr "" + +-#: main.c:312 ++#: main.c:245 + msgid "Error initializing terminal" + msgstr "Hiba a terminál inicializálásakor" + +-#: main.c:390 ++#: main.c:323 + msgid "unable to determine username" + msgstr "meghatározhatatlan felhasználónév" + +-#: main.c:396 ++#: main.c:329 + msgid "unable to determine home directory" + msgstr "meghatározhatatlan felhasználói könyvtár" + +-#: main.c:640 ++#: main.c:572 + #, fuzzy, c-format + msgid "Error: value '%s' is invalid for -d" + msgstr "Hiba: '%s' hibás IDN" + +-#: main.c:884 ++#: main.c:815 + msgid "Failed to parse mailto: link" + msgstr "" + +-#: main.c:896 send.c:2452 send.c:2456 ++#: main.c:827 send.c:2463 send.c:2467 + msgid "No recipients specified" + msgstr "Nincs címzett megadva" + +-#: main.c:923 ++#: main.c:854 + msgid "Can't use -E flag with stdin" + msgstr "" + +-#: main.c:1007 ++#: main.c:938 + #, fuzzy, c-format + msgid "Can't parse message template: %s" + msgstr "A(z) %s levélfájl üres" + +-#: main.c:1073 mutt_header.c:329 ++#: main.c:1004 mutt_header.c:329 + #, c-format + msgid "%s: unable to attach file" + msgstr "%s: nem lehet csatolni a fájlt" + +-#: main.c:1156 ++#: main.c:1087 + msgid "No mailbox with new mail" + msgstr "Nincs új levél egyik postafiókban sem" + +-#: main.c:1180 ++#: main.c:1111 + msgid "No incoming mailboxes defined" + msgstr "Nincs bejövő postafiók megadva" + +-#: main.c:1230 ++#: main.c:1161 + msgid "Mailbox is empty" + msgstr "A postafiók üres" + +@@ -3337,52 +3444,52 @@ msgstr "Nem lehetett újra megnyitni a postafiókot" + msgid "Can't write message" + msgstr "Nem lehet írni a levelet" + +-#: menu.c:632 ++#: menu.c:631 + msgid "Jump to: " + msgstr "Ugrás: " + +-#: menu.c:641 ++#: menu.c:640 + msgid "Invalid index number" + msgstr "Érvénytelen indexszám" + +-#: menu.c:645 menu.c:671 menu.c:744 menu.c:810 menu.c:828 menu.c:843 menu.c:858 +-#: menu.c:873 menu.c:890 menu.c:907 menu.c:1553 ++#: menu.c:644 menu.c:670 menu.c:743 menu.c:809 menu.c:827 menu.c:842 menu.c:857 ++#: menu.c:872 menu.c:889 menu.c:906 menu.c:1553 + msgid "No entries" + msgstr "Nincsenek bejegyzések" + +-#: menu.c:668 ++#: menu.c:667 + msgid "You can't scroll down farther" + msgstr "Nem lehet tovább lefelé scrollozni" + +-#: menu.c:690 ++#: menu.c:689 + msgid "You can't scroll up farther" + msgstr "Nem lehet tovább felfelé scrollozni" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the first page" + msgstr "Ez az első oldal" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the last page" + msgstr "Ez az utolsó oldal" + +-#: menu.c:922 ++#: menu.c:921 + msgid "You are on the last entry" + msgstr "Az utolsó bejegyzésen vagy" + +-#: menu.c:937 ++#: menu.c:936 + msgid "You are on the first entry" + msgstr "Az első bejegyzésen vagy" + +-#: menu.c:1172 pager.c:2692 pattern.c:2578 ++#: menu.c:1172 pager.c:2666 pattern.c:2702 + msgid "Search for: " + msgstr "Keresés: " + +-#: menu.c:1173 pager.c:2693 pattern.c:2579 ++#: menu.c:1173 pager.c:2667 pattern.c:2703 + msgid "Reverse search for: " + msgstr "Keresés visszafelé: " + +-#: menu.c:1226 pager.c:2641 pager.c:2666 pager.c:2800 pattern.c:2708 ++#: menu.c:1226 pager.c:2615 pager.c:2640 pager.c:2774 pattern.c:2832 + msgid "Not found" + msgstr "Nem található" + +@@ -3425,20 +3532,20 @@ msgstr "Várakozás az flock-ra... %d" + msgid "Bad history file format (line %d)" + msgstr "" + +-#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1006 ncrypt/crypt_gpgme.c:2381 +-#: ncrypt/crypt_gpgme.c:2401 ncrypt/crypt_gpgme.c:2460 +-#: ncrypt/crypt_gpgme.c:2477 ncrypt/crypt_gpgme.c:2509 +-#: ncrypt/crypt_gpgme.c:2527 ncrypt/crypt_gpgme.c:2611 +-#: ncrypt/crypt_gpgme.c:3194 ncrypt/crypt_gpgme.c:3292 +-#: ncrypt/crypt_gpgme.c:4373 ncrypt/pgp.c:576 ncrypt/pgp.c:583 ncrypt/pgp.c:896 +-#: ncrypt/pgp.c:1014 ncrypt/pgp.c:1161 ncrypt/pgp.c:1181 ncrypt/pgp.c:1215 +-#: ncrypt/pgp.c:1568 ncrypt/pgpkey.c:708 ncrypt/pgpkey.c:902 +-#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1092 ncrypt/smime.c:1100 +-#: ncrypt/smime.c:1191 ncrypt/smime.c:1299 ncrypt/smime.c:1364 +-#: ncrypt/smime.c:1372 ncrypt/smime.c:1571 ncrypt/smime.c:1967 +-#: ncrypt/smime.c:2046 ncrypt/smime.c:2053 ncrypt/smime.c:2156 +-#: ncrypt/smime.c:2281 ncrypt/smime.c:2297 nntp/nntp.c:1397 nntp/nntp.c:2237 +-#: pattern.c:1132 pop/pop.c:182 ++#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1005 ncrypt/crypt_gpgme.c:2420 ++#: ncrypt/crypt_gpgme.c:2440 ncrypt/crypt_gpgme.c:2499 ++#: ncrypt/crypt_gpgme.c:2516 ncrypt/crypt_gpgme.c:2548 ++#: ncrypt/crypt_gpgme.c:2566 ncrypt/crypt_gpgme.c:2650 ++#: ncrypt/crypt_gpgme.c:3237 ncrypt/crypt_gpgme.c:3335 ++#: ncrypt/crypt_gpgme.c:4421 ncrypt/pgp.c:575 ncrypt/pgp.c:582 ncrypt/pgp.c:895 ++#: ncrypt/pgp.c:1013 ncrypt/pgp.c:1160 ncrypt/pgp.c:1180 ncrypt/pgp.c:1214 ++#: ncrypt/pgp.c:1570 ncrypt/pgpkey.c:741 ncrypt/pgpkey.c:937 ++#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1126 ncrypt/smime.c:1134 ++#: ncrypt/smime.c:1225 ncrypt/smime.c:1333 ncrypt/smime.c:1398 ++#: ncrypt/smime.c:1406 ncrypt/smime.c:1605 ncrypt/smime.c:2001 ++#: ncrypt/smime.c:2080 ncrypt/smime.c:2087 ncrypt/smime.c:2190 ++#: ncrypt/smime.c:2315 ncrypt/smime.c:2331 nntp/nntp.c:1399 nntp/nntp.c:2239 ++#: pattern.c:1171 pop/pop.c:182 + msgid "Can't create temporary file" + msgstr "Nem lehet ideiglenes fájlt létrehozni" + +@@ -3457,7 +3564,7 @@ msgstr "Hibakövetés szintje: %d.\n" + msgid "Logging at level %d to file '%s'" + msgstr "Hibakövetés szintje: %d.\n" + +-#: mutt/path.c:401 ++#: mutt/path.c:420 + #, fuzzy + msgid "Error: converting path to absolute" + msgstr "Hiba a szerverre való csatlakozás közben: %s" +@@ -3481,17 +3588,17 @@ msgstr "%d (%s) jelzést kaptam... Kilépek.\n" + msgid "Caught signal %d ... Exiting.\n" + msgstr "%d jelzést kaptam... Kilépek.\n" + +-#: muttlib.c:490 ++#: muttlib.c:488 + #, c-format + msgid "mutt_randbuf buflen=%zu" + msgstr "" + +-#: muttlib.c:510 ++#: muttlib.c:508 + #, c-format + msgid "open /dev/urandom: %s" + msgstr "" + +-#: muttlib.c:517 ++#: muttlib.c:515 + #, c-format + msgid "read /dev/urandom: %s" + msgstr "" +@@ -3499,150 +3606,122 @@ msgstr "" + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) + #. These three letters correspond to the choices in the string. +-#: muttlib.c:745 ++#: muttlib.c:743 + #, fuzzy + msgid "File is a directory, save under it: (y)es, (n)o, (a)ll?" + msgstr "A fájl egy könyvtár, elmentsem ebbe a könyvtárba?" + +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "yna" + msgstr "" + + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) +-#: muttlib.c:763 ++#: muttlib.c:761 + msgid "File is a directory, save under it?" + msgstr "A fájl egy könyvtár, elmentsem ebbe a könyvtárba?" + +-#: muttlib.c:768 ++#: muttlib.c:766 + msgid "File under directory: " + msgstr "Könyvtárbeli fájlok: " + +-#: muttlib.c:781 ++#: muttlib.c:779 + msgid "File exists, (o)verwrite, (a)ppend, or (c)ancel?" + msgstr "A fájl létezik, (f)elülírjam, (h)ozzáfűzzem, vagy (m)égsem?" + + #. L10N: Options for: File exists, (o)verwrite, (a)ppend, or (c)ancel? +-#: muttlib.c:783 ++#: muttlib.c:781 + msgid "oac" + msgstr "fhm" + +-#: muttlib.c:1458 ++#: muttlib.c:1456 + msgid "Can't save message to POP mailbox" + msgstr "Levelet nem lehet menteni POP postafiókba" + +-#: muttlib.c:1468 ++#: muttlib.c:1466 + #, c-format + msgid "Append messages to %s?" + msgstr "Levelek hozzáfűzése %s postafiókhoz?" + +-#: muttlib.c:1481 ++#: muttlib.c:1479 + #, fuzzy + msgid "Can't save message to news server" + msgstr "A POP kiszolgálón nem lehet szerkeszteni a levelet" + +-#. L10N: Example: Username at myhost.com +-#: mutt_account.c:233 +-#, c-format +-msgid "Username at %s: " +-msgstr "%s azonosító: " +- +-#: mutt_account.c:315 +-#, c-format +-msgid "Password for %s@%s: " +-msgstr "%s@%s jelszava: " +- +-#. L10N: You will see this error message if (1) you have "oauthbearer" in +-#. one of your $*_authenticators and (2) you do not have the corresponding +-#. $*_oauth_refresh_command defined. So the message does not mean "None of +-#. your $*_oauth_refresh_command's are defined." +-#: mutt_account.c:383 +-#, fuzzy +-msgid "No OAUTH refresh command defined" +-msgstr "A lekérdezés parancs nincs megadva" +- +-#: mutt_account.c:390 +-msgid "Unable to run refresh command" +-msgstr "" +- +-#: mutt_account.c:400 +-msgid "Command returned empty string" +-msgstr "" +- +-#: mutt_attach.c:140 mutt_attach.c:274 mutt_attach.c:459 mutt_attach.c:1054 ++#: mutt_attach.c:142 mutt_attach.c:276 mutt_attach.c:488 mutt_attach.c:1087 + msgid "Can't match 'nametemplate', continue?" + msgstr "Nem felel meg a névmintának, tovább?" + +-#: mutt_attach.c:150 ++#: mutt_attach.c:152 + #, c-format + msgid "Mailcap compose entry requires %%s" + msgstr "A mailcap-ba \"compose\" bejegyzés szükséges %%s" + +-#: mutt_attach.c:168 ++#: mutt_attach.c:170 + msgid "Failure to open file to parse headers" + msgstr "Fájl megnyitási hiba a fejléc vizsgálatakor" + +-#: mutt_attach.c:202 ++#: mutt_attach.c:204 + msgid "Failure to open file to strip headers" + msgstr "Fájl megnyitási hiba a fejléc eltávolításkor" + +-#: mutt_attach.c:212 ++#: mutt_attach.c:214 + #, fuzzy + msgid "Failure to rename file" + msgstr "Fájl megnyitási hiba a fejléc vizsgálatakor" + +-#: mutt_attach.c:222 ++#: mutt_attach.c:224 + #, c-format + msgid "No mailcap compose entry for %s, creating empty file" + msgstr "Nincs mailcap \"compose\" bejegyzés a(z) %s esetre, üres fájl létrehozása" + +-#: mutt_attach.c:284 ++#: mutt_attach.c:286 + #, c-format + msgid "Mailcap Edit entry requires %%s" + msgstr "A mailcap-ba \"edit\" bejegyzés szükséges %%s" + +-#: mutt_attach.c:305 ++#: mutt_attach.c:307 + #, c-format + msgid "No mailcap edit entry for %s" + msgstr "Nincs \"edit\" bejegyzés a mailcap-ban a(z) %s esetre" + +-#: mutt_attach.c:427 ++#: mutt_attach.c:456 + msgid "No matching mailcap entry found. Viewing as text." + msgstr "Nincs megfelelő mailcap bejegyzés. Megjelenítés szövegként." + +-#: mutt_attach.c:440 ++#: mutt_attach.c:469 + msgid "MIME type not defined. Can't view attachment." + msgstr "A MIME típus nincs definiálva. A melléklet nem jeleníthető meg." + +-#: mutt_attach.c:535 ++#: mutt_attach.c:563 + #, c-format + msgid "---Command: %-20.20s Description: %s" + msgstr "" + +-#: mutt_attach.c:540 ++#: mutt_attach.c:568 + #, c-format + msgid "---Command: %-30.30s Attachment: %s" + msgstr "" + +-#: mutt_attach.c:619 ++#: mutt_attach.c:652 + #, fuzzy, c-format + msgid "---Attachment: %s: %s" + msgstr "-- Mellékletek" + +-#: mutt_attach.c:621 ++#: mutt_attach.c:654 + #, fuzzy, c-format + msgid "---Attachment: %s" + msgstr "-- Mellékletek" + +-#: mutt_attach.c:902 mutt_attach.c:910 ++#: mutt_attach.c:935 mutt_attach.c:943 + msgid "Write fault" + msgstr "Írási hiba" + +-#: mutt_attach.c:1174 ++#: mutt_attach.c:1207 + msgid "I don't know how to print that" + msgstr "Nem ismert, hogy ezt hogyan kell kinyomtatni" + +-#: mutt_history.c:47 query.c:84 ++#: mutt_history.c:47 query.c:82 + msgid "Search" + msgstr "Keresés" + +@@ -3651,21 +3730,21 @@ msgstr "Keresés" + msgid "History '%s'" + msgstr "'%s' lekérdezése" + +-#: mutt_logging.c:315 ++#: mutt_logging.c:313 + #, fuzzy, c-format + msgid "Invalid value for option %s: %ld" + msgstr "Érvénytelen a hónap napja: %s" + +-#: mutt_lua.c:429 ++#: mutt_lua.c:431 + msgid "Error: Couldn't load the lua interpreter" + msgstr "" + +-#: mutt_lua.c:491 ++#: mutt_lua.c:493 + #, fuzzy, c-format + msgid "Couldn't source lua source: %s" + msgstr "Nem lehet lockolni %s\n" + +-#: mutt_mailbox.c:214 ++#: mutt_mailbox.c:241 + msgid "New mail in " + msgstr "Új levél: " + +@@ -3687,20 +3766,20 @@ msgstr "A nyitóüzenet nem látható a szűkített nézetben" + msgid "Parent message is not visible in this limited view" + msgstr "A nyitóüzenet nem látható a szűkített nézetben" + +-#: mx.c:387 ++#: mx.c:385 + #, fuzzy, c-format + msgid "Reading from %s interrupted..." + msgstr "Keresés megszakítva." + + #. L10N: Displayed if a mailbox sync fails +-#: mx.c:468 ++#: mx.c:469 + #, fuzzy, c-format + msgid "Unable to write %s" + msgstr "%s nem csatolható" + + #. L10N: Although we know the precise number of messages, we do not show it to the user. + #. So feel free to use a "generic plural" as plural translation if your language has one. +-#: mx.c:523 ++#: mx.c:525 + #, fuzzy + msgid "message not deleted" + msgid_plural "messages not deleted" +@@ -3712,69 +3791,69 @@ msgstr[1] "%d levél megjelölése töröltnek..." + msgid "Can't open trash folder" + msgstr "Nem lehet hozzáfűzni a(z) %s postafiókhoz" + +-#: mx.c:623 ++#: mx.c:627 + msgid "Mark all articles read?" + msgstr "" + + #. L10N: The first argument is the number of read messages to be + #. moved, the second argument is the target mailbox. +-#: mx.c:671 ++#: mx.c:675 + #, fuzzy, c-format + msgid "Move %d read message to %s?" + msgid_plural "Move %d read messages to %s?" + msgstr[0] "Az olvasott leveleket mozgassam a %s postafiókba?" + msgstr[1] "Az olvasott leveleket mozgassam a %s postafiókba?" + +-#: mx.c:685 mx.c:917 ++#: mx.c:689 mx.c:936 + #, fuzzy, c-format + msgid "Purge %d deleted message?" + msgid_plural "Purge %d deleted messages?" + msgstr[0] "Töröljem a %d töröltnek jelölt levelet?" + msgstr[1] "Töröljem a %d töröltnek jelölt levelet?" + +-#: mx.c:708 ++#: mx.c:712 + #, c-format + msgid "Moving read messages to %s..." + msgstr "Olvasott levelek mozgatása a %s postafiókba..." + +-#: mx.c:774 mx.c:908 ++#: mx.c:783 mx.c:927 + msgid "Mailbox is unchanged" + msgstr "Postafiók változatlan" + +-#: mx.c:827 ++#: mx.c:842 + #, c-format + msgid "%d kept, %d moved, %d deleted" + msgstr "%d megtartva, %d átmozgatva, %d törölve" + +-#: mx.c:831 mx.c:972 ++#: mx.c:846 mx.c:991 + #, c-format + msgid "%d kept, %d deleted" + msgstr "%d megtartva, %d törölve" + +-#: mx.c:892 ++#: mx.c:911 + #, c-format + msgid " Press '%s' to toggle write" + msgstr " Nyomd meg a '%s' gombot az írás ki/bekapcsolásához" + +-#: mx.c:894 ++#: mx.c:913 + msgid "Use 'toggle-write' to re-enable write" + msgstr "Használd a 'toggle-write'-ot az írás újra engedélyezéséhez" + +-#: mx.c:896 ++#: mx.c:915 + #, c-format + msgid "Mailbox is marked unwritable. %s" + msgstr "A postafiókot megjelöltem nem írhatónak. %s" + +-#: mx.c:966 ++#: mx.c:985 + msgid "Mailbox checkpointed" + msgstr "A postafiók ellenőrizve" + +-#: ncrypt/crypt.c:93 ++#: ncrypt/crypt.c:91 + #, c-format + msgid " (current time: %c)" + msgstr " (pontos idő: %c)" + +-#: ncrypt/crypt.c:98 ++#: ncrypt/crypt.c:96 + #, c-format + msgid "[-- %s output follows%s --]\n" + msgstr "[-- %s kimenet következik%s --]\n" +@@ -3783,53 +3862,53 @@ msgstr "[-- %s kimenet következik%s --]\n" + #. by gpg-agent) we can't know whether we forgot zero, 1, 12, ... + #. passwords. So in English we use "Passphrases". Your language might + #. have other means to express this. +-#: ncrypt/crypt.c:119 ++#: ncrypt/crypt.c:117 + #, fuzzy + msgid "Passphrases forgotten" + msgstr "Jelszó elfelejtve" + +-#: ncrypt/crypt.c:203 ++#: ncrypt/crypt.c:201 + msgid "Inline PGP can't be used with attachments. Revert to PGP/MIME?" + msgstr "" + +-#: ncrypt/crypt.c:207 ++#: ncrypt/crypt.c:205 + msgid "Mail not sent: inline PGP can't be used with attachments" + msgstr "" + +-#: ncrypt/crypt.c:214 ++#: ncrypt/crypt.c:212 + msgid "Inline PGP can't be used with format=flowed. Revert to PGP/MIME?" + msgstr "" + +-#: ncrypt/crypt.c:218 ++#: ncrypt/crypt.c:216 + msgid "Mail not sent: inline PGP can't be used with format=flowed" + msgstr "" + +-#: ncrypt/crypt.c:228 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:714 +-#: ncrypt/pgpkey.c:915 ++#: ncrypt/crypt.c:226 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:747 ++#: ncrypt/pgpkey.c:950 + msgid "Invoking PGP..." + msgstr "PGP betöltés..." + +-#: ncrypt/crypt.c:240 ++#: ncrypt/crypt.c:238 + msgid "Message can't be sent inline. Revert to using PGP/MIME?" + msgstr "" + +-#: ncrypt/crypt.c:242 send.c:2430 ++#: ncrypt/crypt.c:240 send.c:2441 + msgid "Mail not sent" + msgstr "A levél nem lett elküldve" + +-#: ncrypt/crypt.c:662 ++#: ncrypt/crypt.c:666 + msgid "S/MIME messages with no hints on content are unsupported" + msgstr "Tartalom-útmutatás nélküli S/MIME üzenetek nem támogatottak" + +-#: ncrypt/crypt.c:888 ++#: ncrypt/crypt.c:892 + msgid "Trying to extract PGP keys...\n" + msgstr "PGP kulcsok kibontása...\n" + +-#: ncrypt/crypt.c:917 ++#: ncrypt/crypt.c:921 + msgid "Trying to extract S/MIME certificates..." + msgstr "S/MIME tanúsítványok kibontása..." + +-#: ncrypt/crypt.c:1140 ++#: ncrypt/crypt.c:1144 + #, c-format + msgid "" + "[-- Error: Unknown multipart/signed protocol %s --]\n" +@@ -3838,7 +3917,7 @@ msgstr "" + "[-- Hiba: Ismeretlen többrészes/aláírt protokoll %s --]\n" + "\n" + +-#: ncrypt/crypt.c:1180 ++#: ncrypt/crypt.c:1184 + #, fuzzy + msgid "" + "[-- Error: Missing or bad-format multipart/signed signature --]\n" +@@ -3847,7 +3926,7 @@ msgstr "" + "[-- Hiba: Ellentmondó többrészes/aláírt struktúra --]\n" + "\n" + +-#: ncrypt/crypt.c:1222 ++#: ncrypt/crypt.c:1226 + #, c-format + msgid "" + "[-- Warning: We can't verify %s/%s signatures. --]\n" +@@ -3856,7 +3935,7 @@ msgstr "" + "[-- Figyelmeztetés: Nem tudtam leellenőrizni a %s/%s aláírásokat. --]\n" + "\n" + +-#: ncrypt/crypt.c:1235 ++#: ncrypt/crypt.c:1239 + msgid "" + "[-- The following data is signed --]\n" + "\n" +@@ -3864,7 +3943,7 @@ msgstr "" + "[-- A következő adatok alá vannak írva --]\n" + "\n" + +-#: ncrypt/crypt.c:1243 ++#: ncrypt/crypt.c:1248 + msgid "" + "[-- Warning: Can't find any signatures. --]\n" + "\n" +@@ -3872,7 +3951,7 @@ msgstr "" + "[-- Figyelmeztetés: Nem találtam egy aláírást sem. --]\n" + "\n" + +-#: ncrypt/crypt.c:1249 ++#: ncrypt/crypt.c:1255 + msgid "" + "\n" + "[-- End of signed data --]\n" +@@ -3892,236 +3971,236 @@ msgstr "S/MIME betöltés..." + #. L10N: The following are the headers for the "verify key" output from the + #. GPGME key selection menu (bound to "c" in the key selection menu). + #. They will be automatically aligned. +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Name: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1869 ncrypt/crypt_gpgme.c:1874 ++#: ncrypt/crypt_gpgme.c:183 ncrypt/crypt_gpgme.c:1900 ncrypt/crypt_gpgme.c:1905 + msgid "aka: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + #, fuzzy + msgid "Valid From: " + msgstr "Érvénytelen hónap: %s" + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + #, fuzzy + msgid "Valid To: " + msgstr "Érvénytelen hónap: %s" + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Key Type: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Key Usage: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:185 ncrypt/crypt_gpgme.c:1759 ++#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1790 + #, fuzzy + msgid "Fingerprint: " + msgstr "Ujjlenyomat: %s" + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Serial-No: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + msgid "Issued By: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + #, fuzzy + msgid "Subkey: " + msgstr "Kulcs ID: 0x%s" + +-#: ncrypt/crypt_gpgme.c:783 ++#: ncrypt/crypt_gpgme.c:782 + #, c-format + msgid "error enabling CMS protocol: %s" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:806 ++#: ncrypt/crypt_gpgme.c:805 + #, fuzzy, c-format + msgid "error creating gpgme data object: %s" + msgstr "hiba a mintában: %s" + +-#: ncrypt/crypt_gpgme.c:907 ncrypt/crypt_gpgme.c:934 ncrypt/crypt_gpgme.c:2057 +-#: ncrypt/crypt_gpgme.c:2814 ++#: ncrypt/crypt_gpgme.c:906 ncrypt/crypt_gpgme.c:933 ncrypt/crypt_gpgme.c:2096 ++#: ncrypt/crypt_gpgme.c:2853 + #, fuzzy, c-format + msgid "error allocating data object: %s" + msgstr "hiba a mintában: %s" + +-#: ncrypt/crypt_gpgme.c:956 ++#: ncrypt/crypt_gpgme.c:955 + #, fuzzy, c-format + msgid "error rewinding data object: %s" + msgstr "hiba a mintában: %s" + +-#: ncrypt/crypt_gpgme.c:972 ++#: ncrypt/crypt_gpgme.c:971 + msgid "[tempfile]" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:978 ncrypt/crypt_gpgme.c:1032 ++#: ncrypt/crypt_gpgme.c:977 ncrypt/crypt_gpgme.c:1031 + #, fuzzy, c-format + msgid "error reading data object: %s" + msgstr "hiba a mintában: %s" + +-#: ncrypt/crypt_gpgme.c:1149 ++#: ncrypt/crypt_gpgme.c:1148 + #, fuzzy, c-format + msgid "error adding recipient '%s': %s" + msgstr "hiba a mintában: %s" + +-#: ncrypt/crypt_gpgme.c:1202 ++#: ncrypt/crypt_gpgme.c:1186 + #, c-format + msgid "secret key '%s' not found: %s" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1218 ++#: ncrypt/crypt_gpgme.c:1203 + #, c-format + msgid "ambiguous specification of secret key '%s'\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1234 ++#: ncrypt/crypt_gpgme.c:1219 + #, c-format + msgid "error setting secret key '%s': %s" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1250 ++#: ncrypt/crypt_gpgme.c:1278 + #, fuzzy, c-format + msgid "error setting PKA signature notation: %s" + msgstr "hiba a mintában: %s" + +-#: ncrypt/crypt_gpgme.c:1324 ++#: ncrypt/crypt_gpgme.c:1353 + #, fuzzy, c-format + msgid "error encrypting data: %s" + msgstr "hiba a mintában: %s" + +-#: ncrypt/crypt_gpgme.c:1453 ++#: ncrypt/crypt_gpgme.c:1483 + #, fuzzy, c-format + msgid "error signing data: %s" + msgstr "hiba a mintában: %s" + +-#: ncrypt/crypt_gpgme.c:1463 ++#: ncrypt/crypt_gpgme.c:1493 + msgid "$pgp_sign_as unset and no default key specified in ~/.gnupg/gpg.conf" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1641 ++#: ncrypt/crypt_gpgme.c:1672 + msgid "Warning: One of the keys has been revoked\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1651 ++#: ncrypt/crypt_gpgme.c:1682 + msgid "Warning: The key used to create the signature expired at: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1657 ++#: ncrypt/crypt_gpgme.c:1688 + #, fuzzy + msgid "Warning: At least one certification key has expired\n" + msgstr "A szerver tanúsítványa lejárt" + +-#: ncrypt/crypt_gpgme.c:1671 ++#: ncrypt/crypt_gpgme.c:1702 + msgid "Warning: The signature expired at: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1678 ++#: ncrypt/crypt_gpgme.c:1709 + msgid "Can't verify due to a missing key or certificate\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1683 ++#: ncrypt/crypt_gpgme.c:1714 + #, fuzzy + msgid "The CRL is not available\n" + msgstr "SSL nem elérhető." + +-#: ncrypt/crypt_gpgme.c:1689 ++#: ncrypt/crypt_gpgme.c:1720 + msgid "Available CRL is too old\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1694 ++#: ncrypt/crypt_gpgme.c:1725 + msgid "A policy requirement was not met\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1703 ++#: ncrypt/crypt_gpgme.c:1734 + msgid "A system error occurred" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1734 ++#: ncrypt/crypt_gpgme.c:1765 + msgid "WARNING: PKA entry does not match signer's address: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1740 ++#: ncrypt/crypt_gpgme.c:1771 + msgid "PKA verified signer's address is: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1822 ++#: ncrypt/crypt_gpgme.c:1853 + msgid "WARNING: We have NO indication whether the key belongs to the person named as shown above\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1829 ++#: ncrypt/crypt_gpgme.c:1860 + msgid "WARNING: The key does NOT BELONG to the person named as shown above\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1833 ++#: ncrypt/crypt_gpgme.c:1864 + msgid "WARNING: It is NOT certain that the key belongs to the person named as shown above\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1886 ++#: ncrypt/crypt_gpgme.c:1917 + msgid "KeyID " + msgstr "" + + #. L10N: You will see this message in place of "KeyID " + #. if the S/MIME key has no ID. This is quite an error. +-#: ncrypt/crypt_gpgme.c:1893 ++#: ncrypt/crypt_gpgme.c:1924 + msgid "no signature fingerprint available" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1902 ncrypt/crypt_gpgme.c:1907 ++#: ncrypt/crypt_gpgme.c:1933 ncrypt/crypt_gpgme.c:1938 + #, fuzzy + msgid "created: " + msgstr "%s létrehozása?" + +-#: ncrypt/crypt_gpgme.c:1981 ++#: ncrypt/crypt_gpgme.c:2012 + #, c-format + msgid "Error getting key information for KeyID %s: %s\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1988 ncrypt/crypt_gpgme.c:2003 ++#: ncrypt/crypt_gpgme.c:2019 ncrypt/crypt_gpgme.c:2034 + msgid "Good signature from:" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1995 ++#: ncrypt/crypt_gpgme.c:2026 + msgid "*BAD* signature from:" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:2011 ++#: ncrypt/crypt_gpgme.c:2042 + msgid "Problem signature from:" + msgstr "" + + #. L10N: This is trying to match the width of the + #. "Problem signature from:" translation just above. +-#: ncrypt/crypt_gpgme.c:2017 ++#: ncrypt/crypt_gpgme.c:2048 + msgid " expires: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:2064 ncrypt/crypt_gpgme.c:2294 +-#: ncrypt/crypt_gpgme.c:3081 ++#: ncrypt/crypt_gpgme.c:2103 ncrypt/crypt_gpgme.c:2333 ++#: ncrypt/crypt_gpgme.c:3124 + msgid "[-- Begin signature information --]\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:2075 ++#: ncrypt/crypt_gpgme.c:2114 + #, fuzzy, c-format + msgid "Error: verification failed: %s\n" + msgstr "Hibás parancssor: %s\n" + +-#: ncrypt/crypt_gpgme.c:2126 ++#: ncrypt/crypt_gpgme.c:2165 + #, c-format + msgid "*** Begin Notation (signature by: %s) ***\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:2145 ++#: ncrypt/crypt_gpgme.c:2184 + msgid "*** End Notation ***\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:2153 ncrypt/crypt_gpgme.c:2308 +-#: ncrypt/crypt_gpgme.c:3091 ++#: ncrypt/crypt_gpgme.c:2192 ncrypt/crypt_gpgme.c:2347 ++#: ncrypt/crypt_gpgme.c:3134 + #, fuzzy + msgid "" + "[-- End signature information --]\n" +@@ -4130,28 +4209,34 @@ msgstr "" + "\n" + "[-- Aláírt adat vége --]\n" + +-#: ncrypt/crypt_gpgme.c:2268 ++#: ncrypt/crypt_gpgme.c:2307 + #, fuzzy, c-format + msgid "" + "[-- Error: decryption failed: %s --]\n" + "\n" + msgstr "[-- Hiba: nem lehet létrehozni az ideiglenes fájlt! --]\n" + +-#: ncrypt/crypt_gpgme.c:2821 ++#: ncrypt/crypt_gpgme.c:2860 + #, fuzzy, c-format + msgid "Error importing key: %s" + msgstr "hiba a mintában: %s" + +-#: ncrypt/crypt_gpgme.c:3059 ++#: ncrypt/crypt_gpgme.c:3098 + #, c-format + msgid "Error: decryption/verification failed: %s\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:3103 ++#: ncrypt/crypt_gpgme.c:3105 ncrypt/crypt_gpgme.c:3302 ncrypt/pgp.c:726 ++#: ncrypt/pgp.c:1273 ++#, fuzzy ++msgid "PGP message successfully decrypted" ++msgstr "A PGP aláírás sikeresen ellenőrizve" ++ ++#: ncrypt/crypt_gpgme.c:3146 + msgid "Error: copy data failed\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:3116 ncrypt/pgp.c:675 ++#: ncrypt/crypt_gpgme.c:3159 ncrypt/pgp.c:674 + msgid "" + "[-- BEGIN PGP MESSAGE --]\n" + "\n" +@@ -4159,11 +4244,11 @@ msgstr "" + "[-- PGP LEVÉL KEZDŐDIK --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3118 ncrypt/pgp.c:677 ++#: ncrypt/crypt_gpgme.c:3161 ncrypt/pgp.c:676 + msgid "[-- BEGIN PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- PGP NYILVÁNOS KULCS KEZDŐDIK --]\n" + +-#: ncrypt/crypt_gpgme.c:3120 ncrypt/pgp.c:679 ++#: ncrypt/crypt_gpgme.c:3163 ncrypt/pgp.c:678 + msgid "" + "[-- BEGIN PGP SIGNED MESSAGE --]\n" + "\n" +@@ -4171,19 +4256,19 @@ msgstr "" + "[-- PGP ALÁÍRT LEVÉL KEZDŐDIK --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3145 ncrypt/pgp.c:716 ++#: ncrypt/crypt_gpgme.c:3188 ncrypt/pgp.c:715 + msgid "[-- END PGP MESSAGE --]\n" + msgstr "[-- PGP LEVÉL VÉGE --]\n" + +-#: ncrypt/crypt_gpgme.c:3147 ncrypt/pgp.c:730 ++#: ncrypt/crypt_gpgme.c:3190 ncrypt/pgp.c:729 + msgid "[-- END PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- PGP NYILVÁNOS KULCS VÉGE --]\n" + +-#: ncrypt/crypt_gpgme.c:3149 ncrypt/pgp.c:732 ++#: ncrypt/crypt_gpgme.c:3192 ncrypt/pgp.c:731 + msgid "[-- END PGP SIGNED MESSAGE --]\n" + msgstr "[-- PGP ALÁÍRT LEVÉL VÉGE --]\n" + +-#: ncrypt/crypt_gpgme.c:3170 ncrypt/pgp.c:765 ++#: ncrypt/crypt_gpgme.c:3213 ncrypt/pgp.c:764 + msgid "" + "[-- Error: could not find beginning of PGP message --]\n" + "\n" +@@ -4191,11 +4276,11 @@ msgstr "" + "[-- Hiba: nem található a PGP levél kezdete --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3198 ncrypt/crypt_gpgme.c:3296 ncrypt/pgp.c:1218 ++#: ncrypt/crypt_gpgme.c:3241 ncrypt/crypt_gpgme.c:3339 ncrypt/pgp.c:1218 + msgid "[-- Error: could not create temporary file --]\n" + msgstr "[-- Hiba: nem lehet létrehozni az ideiglenes fájlt --]\n" + +-#: ncrypt/crypt_gpgme.c:3212 ++#: ncrypt/crypt_gpgme.c:3255 + #, fuzzy + msgid "" + "[-- The following data is PGP/MIME signed and encrypted --]\n" +@@ -4204,7 +4289,7 @@ msgstr "" + "[-- A következő adat PGP/MIME-vel titkosított --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3214 ncrypt/pgp.c:1231 ++#: ncrypt/crypt_gpgme.c:3257 ncrypt/pgp.c:1232 + msgid "" + "[-- The following data is PGP/MIME encrypted --]\n" + "\n" +@@ -4212,75 +4297,70 @@ msgstr "" + "[-- A következő adat PGP/MIME-vel titkosított --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3254 ++#: ncrypt/crypt_gpgme.c:3297 + #, fuzzy + msgid "[-- End of PGP/MIME signed and encrypted data --]\n" + msgstr "[-- PGP/MIME titkosított adat vége --]\n" + +-#: ncrypt/crypt_gpgme.c:3255 ncrypt/pgp.c:1267 ++#: ncrypt/crypt_gpgme.c:3298 ncrypt/pgp.c:1268 + msgid "[-- End of PGP/MIME encrypted data --]\n" + msgstr "[-- PGP/MIME titkosított adat vége --]\n" + +-#: ncrypt/crypt_gpgme.c:3259 ncrypt/pgp.c:727 ncrypt/pgp.c:1272 +-#, fuzzy +-msgid "PGP message successfully decrypted" +-msgstr "A PGP aláírás sikeresen ellenőrizve" +- +-#: ncrypt/crypt_gpgme.c:3265 ncrypt/pgp.c:666 ncrypt/pgp.c:718 +-#: ncrypt/pgp.c:1276 ++#: ncrypt/crypt_gpgme.c:3308 ncrypt/pgp.c:665 ncrypt/pgp.c:717 ++#: ncrypt/pgp.c:1277 + #, fuzzy + msgid "Could not decrypt PGP message" + msgstr "A levelet nem tudtam másolni" + +-#: ncrypt/crypt_gpgme.c:3310 ++#: ncrypt/crypt_gpgme.c:3353 + #, fuzzy + msgid "" + "[-- The following data is S/MIME signed --]\n" + "\n" + msgstr "[-- A következő adatok S/MIME-vel alá vannak írva --]\n" + +-#: ncrypt/crypt_gpgme.c:3311 ++#: ncrypt/crypt_gpgme.c:3354 + #, fuzzy + msgid "" + "[-- The following data is S/MIME encrypted --]\n" + "\n" + msgstr "[-- A következő adat S/MIME-vel titkosított --]\n" + +-#: ncrypt/crypt_gpgme.c:3358 ++#: ncrypt/crypt_gpgme.c:3401 + #, fuzzy + msgid "[-- End of S/MIME signed data --]\n" + msgstr "" + "\n" + "[-- S/MIME aláírt adat vége --]\n" + +-#: ncrypt/crypt_gpgme.c:3359 ++#: ncrypt/crypt_gpgme.c:3402 + #, fuzzy + msgid "[-- End of S/MIME encrypted data --]\n" + msgstr "" + "\n" + "[-- S/MIME titkosított adat vége. --]\n" + +-#: ncrypt/crypt_gpgme.c:4029 ++#: ncrypt/crypt_gpgme.c:4077 + msgid "[Can't display this user ID (unknown encoding)]" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:4031 ++#: ncrypt/crypt_gpgme.c:4079 + msgid "[Can't display this user ID (invalid encoding)]" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:4036 ++#: ncrypt/crypt_gpgme.c:4084 + msgid "[Can't display this user ID (invalid DN)]" + msgstr "" + + #. L10N: comes after the Name or aka if the key is invalid + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4150 ncrypt/crypt_gpgme.c:4291 ++#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4339 + #, fuzzy + msgid "[Invalid]" + msgstr "Érvénytelen " + + #. L10N: This is printed after "Key Type: " and looks like this: PGP, 2048 bit RSA +-#: ncrypt/crypt_gpgme.c:4190 ncrypt/crypt_gpgme.c:4331 ++#: ncrypt/crypt_gpgme.c:4238 ncrypt/crypt_gpgme.c:4379 + #, c-format + msgid "%s, %lu bit %s\n" + msgid_plural "%s, %lu bit %s\n" +@@ -4288,104 +4368,104 @@ msgstr[0] "" + msgstr[1] "" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4338 ++#: ncrypt/crypt_gpgme.c:4246 ncrypt/crypt_gpgme.c:4386 + #, fuzzy + msgid "encryption" + msgstr "Titkosít" + +-#: ncrypt/crypt_gpgme.c:4199 ncrypt/crypt_gpgme.c:4205 +-#: ncrypt/crypt_gpgme.c:4339 ncrypt/crypt_gpgme.c:4344 ++#: ncrypt/crypt_gpgme.c:4247 ncrypt/crypt_gpgme.c:4253 ++#: ncrypt/crypt_gpgme.c:4387 ncrypt/crypt_gpgme.c:4392 + msgid ", " + msgstr "" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4204 ncrypt/crypt_gpgme.c:4343 ++#: ncrypt/crypt_gpgme.c:4252 ncrypt/crypt_gpgme.c:4391 + msgid "signing" + msgstr "" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4210 ncrypt/crypt_gpgme.c:4348 ++#: ncrypt/crypt_gpgme.c:4258 ncrypt/crypt_gpgme.c:4396 + #, fuzzy + msgid "certification" + msgstr "A tanúsítvány elmentve" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4285 ++#: ncrypt/crypt_gpgme.c:4333 + #, fuzzy + msgid "[Revoked]" + msgstr "Visszavont " + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4297 ++#: ncrypt/crypt_gpgme.c:4345 + #, fuzzy + msgid "[Expired]" + msgstr "Lejárt " + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4303 ++#: ncrypt/crypt_gpgme.c:4351 + msgid "[Disabled]" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:4376 ++#: ncrypt/crypt_gpgme.c:4424 + #, fuzzy + msgid "Collecting data..." + msgstr "Kapcsolódás %s-hez..." + +-#: ncrypt/crypt_gpgme.c:4394 ++#: ncrypt/crypt_gpgme.c:4442 + #, fuzzy, c-format + msgid "Error finding issuer key: %s\n" + msgstr "Hiba a szerverre való csatlakozás közben: %s" + +-#: ncrypt/crypt_gpgme.c:4403 ++#: ncrypt/crypt_gpgme.c:4451 + #, fuzzy + msgid "Error: certification chain too long - stopping here\n" + msgstr "Hibás parancssor: %s\n" + +-#: ncrypt/crypt_gpgme.c:4413 ncrypt/pgpkey.c:733 ++#: ncrypt/crypt_gpgme.c:4461 ncrypt/pgpkey.c:766 + #, c-format + msgid "Key ID: 0x%s" + msgstr "Kulcs ID: 0x%s" + +-#: ncrypt/crypt_gpgme.c:4538 ncrypt/crypt_gpgme.c:4589 ++#: ncrypt/crypt_gpgme.c:4586 ncrypt/crypt_gpgme.c:4637 + #, c-format + msgid "gpgme_op_keylist_start failed: %s" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:4577 ncrypt/crypt_gpgme.c:4619 +-#: ncrypt/crypt_gpgme.c:5355 ++#: ncrypt/crypt_gpgme.c:4625 ncrypt/crypt_gpgme.c:4667 ++#: ncrypt/crypt_gpgme.c:5435 + #, c-format + msgid "gpgme_op_keylist_next failed: %s" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:4701 ++#: ncrypt/crypt_gpgme.c:4749 + #, fuzzy + msgid "All matching keys are marked expired/revoked" + msgstr "Minden illeszkedő kulcs lejárt/letiltott/visszavont" + +-#: ncrypt/crypt_gpgme.c:4731 ncrypt/pgpkey.c:666 ncrypt/smime.c:551 ++#: ncrypt/crypt_gpgme.c:4779 ncrypt/pgpkey.c:669 ncrypt/smime.c:553 + msgid "Select " + msgstr "Választ " + +-#: ncrypt/crypt_gpgme.c:4733 ncrypt/pgpkey.c:668 ++#: ncrypt/crypt_gpgme.c:4781 ncrypt/pgpkey.c:671 + msgid "Check key " + msgstr "Kulcs ellenőrzése " + +-#: ncrypt/crypt_gpgme.c:4749 ++#: ncrypt/crypt_gpgme.c:4827 + #, fuzzy + msgid "PGP and S/MIME keys matching" + msgstr "PGP kulcsok egyeznek \"%s\"." + +-#: ncrypt/crypt_gpgme.c:4751 ++#: ncrypt/crypt_gpgme.c:4829 + #, fuzzy + msgid "PGP keys matching" + msgstr "PGP kulcsok egyeznek \"%s\"." + +-#: ncrypt/crypt_gpgme.c:4753 ++#: ncrypt/crypt_gpgme.c:4831 + #, fuzzy + msgid "S/MIME keys matching" + msgstr "S/MIME kulcsok egyeznek \"%s\"." + +-#: ncrypt/crypt_gpgme.c:4755 ++#: ncrypt/crypt_gpgme.c:4833 + #, fuzzy + msgid "keys matching" + msgstr "PGP kulcsok egyeznek \"%s\"." +@@ -4394,59 +4474,59 @@ msgstr "PGP kulcsok egyeznek \"%s\"." + #. %1$s is one of the previous four entries. + #. %2$s is an address. + #. e.g. "S/MIME keys matching " +-#: ncrypt/crypt_gpgme.c:4763 ++#: ncrypt/crypt_gpgme.c:4841 + #, c-format + msgid "%s <%s>" + msgstr "" + + #. L10N: e.g. 'S/MIME keys matching "Michael Elkins".' +-#: ncrypt/crypt_gpgme.c:4768 ++#: ncrypt/crypt_gpgme.c:4846 + #, c-format + msgid "%s \"%s\"" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:4796 ncrypt/pgpkey.c:754 ++#: ncrypt/crypt_gpgme.c:4874 ncrypt/pgpkey.c:787 + msgid "This key can't be used: expired/disabled/revoked" + msgstr "Ez a kulcs nem használható: lejárt/letiltott/visszahívott" + +-#: ncrypt/crypt_gpgme.c:4810 ncrypt/pgpkey.c:767 ncrypt/smime.c:581 ++#: ncrypt/crypt_gpgme.c:4888 ncrypt/pgpkey.c:800 ncrypt/smime.c:613 + #, fuzzy + msgid "ID is expired/disabled/revoked. Do you really want to use the key?" + msgstr "ID lejárt/letiltott/visszavont. Valóban szeretnéd használni ezt a kulcsot?" + +-#: ncrypt/crypt_gpgme.c:4820 ncrypt/pgpkey.c:779 ++#: ncrypt/crypt_gpgme.c:4898 ncrypt/pgpkey.c:812 + #, fuzzy + msgid "ID is not valid. Do you really want to use the key?" + msgstr "Az ID nem érvényes. Valóban szeretnéd használni ezt a kulcsot?" + +-#: ncrypt/crypt_gpgme.c:4823 ncrypt/pgpkey.c:782 ++#: ncrypt/crypt_gpgme.c:4901 ncrypt/pgpkey.c:815 + #, fuzzy + msgid "ID is only marginally valid. Do you really want to use the key?" + msgstr "Az ID csak részlegesen érvényes. Valóban szeretnéd használni ezt a kulcsot?" + +-#: ncrypt/crypt_gpgme.c:4831 ncrypt/pgpkey.c:775 ncrypt/smime.c:585 ++#: ncrypt/crypt_gpgme.c:4909 ncrypt/pgpkey.c:808 ncrypt/smime.c:617 + #, fuzzy + msgid "ID has undefined validity. Do you really want to use the key?" + msgstr "ID-nek nincs meghatározva az érvényessége. Valóban szeretnéd használni ezt a kulcsot?" + +-#: ncrypt/crypt_gpgme.c:4911 ncrypt/crypt_gpgme.c:5024 ncrypt/pgpkey.c:1019 +-#: ncrypt/pgpkey.c:1146 ++#: ncrypt/crypt_gpgme.c:4991 ncrypt/crypt_gpgme.c:5104 ncrypt/pgpkey.c:1054 ++#: ncrypt/pgpkey.c:1181 + #, c-format + msgid "Looking for keys matching \"%s\"..." + msgstr "Egyező \"%s\" kulcsok keresése..." + +-#: ncrypt/crypt_gpgme.c:5140 ncrypt/pgpkey.c:870 ncrypt/smime.c:924 ++#: ncrypt/crypt_gpgme.c:5220 ncrypt/pgpkey.c:905 ncrypt/smime.c:958 + #, c-format + msgid "No matching keys found for \"%s\"" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5190 ncrypt/pgp.c:1456 ++#: ncrypt/crypt_gpgme.c:5270 ncrypt/pgp.c:1457 + #, c-format + msgid "Use keyID = \"%s\" for %s?" + msgstr "Használjam a kulcsID = \"%s\" ehhez: %s?" + +-#: ncrypt/crypt_gpgme.c:5238 ncrypt/pgp.c:1505 ncrypt/smime.c:944 +-#: ncrypt/smime.c:1049 ++#: ncrypt/crypt_gpgme.c:5318 ncrypt/pgp.c:1506 ncrypt/smime.c:978 ++#: ncrypt/smime.c:1083 + #, c-format + msgid "Enter keyID for %s: " + msgstr "Add meg a kulcsID-t %s-hoz: " +@@ -4455,16 +4535,16 @@ msgstr "Add meg a kulcsID-t %s-hoz: " + #. mutt_gpgme_select_secret_key() tries to list all secret keys to choose + #. from. This error is displayed if no results were found. + #. +-#: ncrypt/crypt_gpgme.c:5364 ++#: ncrypt/crypt_gpgme.c:5444 + #, fuzzy + msgid "No secret keys found" + msgstr "Nem található" + +-#: ncrypt/crypt_gpgme.c:5398 ncrypt/pgpkey.c:888 ++#: ncrypt/crypt_gpgme.c:5478 ncrypt/pgpkey.c:923 + msgid "Please enter the key ID: " + msgstr "Kérlek írd be a kulcs ID-t: " + +-#: ncrypt/crypt_gpgme.c:5411 ++#: ncrypt/crypt_gpgme.c:5491 + #, fuzzy, c-format + msgid "Error exporting key: %s" + msgstr "hiba a mintában: %s" +@@ -4472,99 +4552,99 @@ msgstr "hiba a mintában: %s" + #. 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. +-#: ncrypt/crypt_gpgme.c:5429 ++#: ncrypt/crypt_gpgme.c:5509 + #, fuzzy, c-format + msgid "PGP Key 0x%s" + msgstr "PGP Kulcs %s" + +-#: ncrypt/crypt_gpgme.c:5474 ++#: ncrypt/crypt_gpgme.c:5554 + msgid "GPGME: OpenPGP protocol not available" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5485 ++#: ncrypt/crypt_gpgme.c:5565 + msgid "GPGME: CMS protocol not available" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5536 ++#: ncrypt/crypt_gpgme.c:5616 + #, fuzzy + msgid "S/MIME (s)ign, sign (a)s, (p)gp, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME (t)itkosít, (a)láír, aláír (m)int, titkosít é(s) aláír, (b)eágyazott, mé(g)se?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5538 ++#: ncrypt/crypt_gpgme.c:5618 + msgid "sapco" + msgstr "tamsbg" + +-#: ncrypt/crypt_gpgme.c:5545 ++#: ncrypt/crypt_gpgme.c:5625 + #, fuzzy + msgid "PGP (s)ign, sign (a)s, s/(m)ime, (c)lear, or (o)ppenc mode off?" + msgstr "PGP (t)itkosít, (a)láír, aláír (m)int, titkosít é(s) aláír, (b)eágyazott, mé(g)se?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5547 ++#: ncrypt/crypt_gpgme.c:5627 + msgid "samco" + msgstr "tamsbg" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5557 ++#: ncrypt/crypt_gpgme.c:5637 + #, fuzzy + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME (t)itkosít, (a)láír, aláír (m)int, titkosít é(s) aláír, (b)eágyazott, mé(g)se?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5560 ++#: ncrypt/crypt_gpgme.c:5640 + msgid "esabpco" + msgstr "tamsbg" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5566 ++#: ncrypt/crypt_gpgme.c:5646 + #, fuzzy + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime, (c)lear, or (o)ppenc mode?" + msgstr "PGP (t)itkosít, (a)láír, aláír (m)int, titkosít é(s) aláír, (b)eágyazott, mé(g)se?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5569 ++#: ncrypt/crypt_gpgme.c:5649 + msgid "esabmco" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5580 ++#: ncrypt/crypt_gpgme.c:5660 + #, fuzzy + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp or (c)lear?" + msgstr "S/MIME (t)itkosít, (a)láír, aláír (m)int, titkosít é(s) aláír, (b)eágyazott, mé(g)se?" + + #. L10N: S/MIME options +-#: ncrypt/crypt_gpgme.c:5582 ++#: ncrypt/crypt_gpgme.c:5662 + msgid "esabpc" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5589 ++#: ncrypt/crypt_gpgme.c:5669 + #, fuzzy + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime or (c)lear?" + msgstr "PGP (t)itkosít, (a)láír, aláír (m)int, titkosít é(s) aláír, (b)eágyazott, mé(g)se?" + + #. L10N: PGP options +-#: ncrypt/crypt_gpgme.c:5591 ++#: ncrypt/crypt_gpgme.c:5671 + msgid "esabmc" + msgstr "tamsbg" + +-#: ncrypt/crypt_gpgme.c:5751 ++#: ncrypt/crypt_gpgme.c:5831 + msgid "Failed to verify sender" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5754 ++#: ncrypt/crypt_gpgme.c:5834 + #, fuzzy + msgid "Failed to figure out sender" + msgstr "Fájl megnyitási hiba a fejléc vizsgálatakor." + +-#: ncrypt/pgp.c:108 ++#: ncrypt/pgp.c:107 + msgid "Enter PGP passphrase:" + msgstr "Kérlek írd be a PGP jelszavadat: " + +-#: ncrypt/pgp.c:595 ++#: ncrypt/pgp.c:594 + msgid "[-- Error: unable to create PGP subprocess --]\n" + msgstr "[-- Hiba: nem lehet létrehozni a PGP alfolyamatot --]\n" + +-#: ncrypt/pgp.c:644 ncrypt/pgp.c:926 ncrypt/pgp.c:1086 ++#: ncrypt/pgp.c:643 ncrypt/pgp.c:925 ncrypt/pgp.c:1085 + msgid "" + "[-- End of PGP output --]\n" + "\n" +@@ -4575,16 +4655,16 @@ msgstr "" + #. L10N: You will see this error message if (1) you are decrypting + #. (not encrypting) something and (2) it is a plaintext. So the + #. message does not mean "You failed to encrypt the message." +-#: ncrypt/pgp.c:724 ++#: ncrypt/pgp.c:723 + #, fuzzy + msgid "PGP message is not encrypted" + msgstr "A PGP aláírás sikeresen ellenőrizve" + +-#: ncrypt/pgp.c:978 ++#: ncrypt/pgp.c:977 + msgid "Internal error. Please submit a bug report." + msgstr "" + +-#: ncrypt/pgp.c:1043 ++#: ncrypt/pgp.c:1042 + msgid "" + "[-- Error: could not create a PGP subprocess --]\n" + "\n" +@@ -4592,128 +4672,128 @@ msgstr "" + "[-- Hiba: nem lehet a PGP alfolyamatot létrehozni --]\n" + "\n" + +-#: ncrypt/pgp.c:1073 ncrypt/pgp.c:1098 ncrypt/smime.c:2143 postpone.c:757 +-#: postpone.c:785 ++#: ncrypt/pgp.c:1072 ncrypt/pgp.c:1097 ncrypt/smime.c:2177 postpone.c:803 ++#: postpone.c:831 + msgid "Decryption failed" + msgstr "Visszafejtés sikertelen" + +-#: ncrypt/pgp.c:1333 ++#: ncrypt/pgp.c:1334 + msgid "Can't open PGP subprocess" + msgstr "PGP alfolyamatot nem lehet megnyitni" + +-#: ncrypt/pgp.c:1768 ++#: ncrypt/pgp.c:1770 + msgid "Can't invoke PGP" + msgstr "PGP-t nem tudom meghívni" + + #. L10N: The next string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1875 ++#: ncrypt/pgp.c:1877 + msgid "PGP/M(i)ME" + msgstr "" + + #. L10N: The previous string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1881 ++#: ncrypt/pgp.c:1883 + msgid "(i)nline" + msgstr "" + + #. L10N: PGP options (inline) (opportunistic encryption is on) +-#: ncrypt/pgp.c:1893 ++#: ncrypt/pgp.c:1895 + #, fuzzy, c-format + msgid "PGP (s)ign, sign (a)s, %s format, (c)lear, or (o)ppenc mode off?" + msgstr "PGP (t)itkosít, (a)láír, aláír (m)int, titkosít é(s) aláír, (b)eágyazott, mé(g)se?" + + #. L10N: PGP options (inline) (opportunistic encryption is on) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1899 ++#: ncrypt/pgp.c:1901 + msgid "saico" + msgstr "tamsbg" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1905 ++#: ncrypt/pgp.c:1907 + #, fuzzy + msgid "PGP (s)ign, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "PGP (t)itkosít, (a)láír, aláír (m)int, titkosít é(s) aláír, (b)eágyazott, mé(g)se?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1907 ++#: ncrypt/pgp.c:1909 + msgid "saco" + msgstr "tamsbg" + + #. L10N: PGP options (inline) (opportunistic encryption is off) +-#: ncrypt/pgp.c:1921 ++#: ncrypt/pgp.c:1923 + #, fuzzy, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, (c)lear, or (o)ppenc mode?" + msgstr "PGP (t)itkosít, (a)láír, aláír (m)int, titkosít é(s) aláír, (b)eágyazott, mé(g)se?" + + #. L10N: PGP options (inline) (opportunistic encryption is off) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1927 ++#: ncrypt/pgp.c:1929 + msgid "esabico" + msgstr "tamsbg" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1933 ++#: ncrypt/pgp.c:1935 + #, fuzzy + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "PGP (t)itkosít, (a)láír, aláír (m)int, titkosít é(s) aláír, (b)eágyazott, mé(g)se?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1936 ++#: ncrypt/pgp.c:1938 + msgid "esabco" + msgstr "tamsbg" + + #. L10N: PGP options (inline) +-#: ncrypt/pgp.c:1947 ++#: ncrypt/pgp.c:1949 + #, fuzzy, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, or (c)lear?" + msgstr "PGP (t)itkosít, (a)láír, aláír (m)int, titkosít é(s) aláír, (b)eágyazott, mé(g)se?" + + #. L10N: PGP options (inline) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1953 ++#: ncrypt/pgp.c:1955 + msgid "esabic" + msgstr "tamsbg" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1959 ++#: ncrypt/pgp.c:1961 + #, fuzzy + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (c)lear?" + msgstr "PGP (t)itkosít, (a)láír, aláír (m)int, titkosít é(s) aláír, (b)eágyazott, mé(g)se?" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1961 ++#: ncrypt/pgp.c:1963 + msgid "esabc" + msgstr "tamsbg" + +-#: ncrypt/pgpinvoke.c:458 ++#: ncrypt/pgpinvoke.c:461 + msgid "Fetching PGP key..." + msgstr "PGP kulcs leszedése..." + +-#: ncrypt/pgpkey.c:640 ++#: ncrypt/pgpkey.c:643 + msgid "All matching keys are expired, revoked, or disabled" + msgstr "Minden illeszkedő kulcs lejárt/letiltott/visszavont" + +-#: ncrypt/pgpkey.c:681 ++#: ncrypt/pgpkey.c:714 + #, c-format + msgid "PGP keys matching <%s>" + msgstr "PGP kulcsok egyeznek <%s>" + +-#: ncrypt/pgpkey.c:683 ++#: ncrypt/pgpkey.c:716 + #, c-format + msgid "PGP keys matching \"%s\"" + msgstr "PGP kulcsok egyeznek \"%s\"" + +-#: ncrypt/pgpkey.c:700 ncrypt/pgpkey.c:909 ++#: ncrypt/pgpkey.c:733 ncrypt/pgpkey.c:944 + msgid "Can't open /dev/null" + msgstr "Nem lehet a /dev/null-t megnyitni" + +-#: ncrypt/pgpkey.c:938 ++#: ncrypt/pgpkey.c:973 + #, c-format + msgid "PGP Key %s" + msgstr "PGP Kulcs %s" + +-#: ncrypt/smime.c:182 ++#: ncrypt/smime.c:180 + msgid "Enter S/MIME passphrase:" + msgstr "Kérlek írd be az S/MIME jelszavadat: " + +@@ -4722,7 +4802,7 @@ msgstr "Kérlek írd be az S/MIME jelszavadat: " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:460 ++#: ncrypt/smime.c:462 + msgid "Expired " + msgstr "Lejárt " + +@@ -4731,7 +4811,7 @@ msgstr "Lejárt " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:468 ++#: ncrypt/smime.c:470 + msgid "Invalid " + msgstr "Érvénytelen " + +@@ -4740,7 +4820,7 @@ msgstr "Érvénytelen " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:476 ++#: ncrypt/smime.c:478 + msgid "Revoked " + msgstr "Visszavont " + +@@ -4749,7 +4829,7 @@ msgstr "Visszavont " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:484 ++#: ncrypt/smime.c:486 + msgid "Trusted " + msgstr "Megbízható " + +@@ -4758,7 +4838,7 @@ msgstr "Megbízható " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:492 ++#: ncrypt/smime.c:494 + msgid "Unverified" + msgstr "Ellenőrizetlen" + +@@ -4767,7 +4847,7 @@ msgstr "Ellenőrizetlen" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:500 ++#: ncrypt/smime.c:502 + msgid "Verified " + msgstr "Ellenőrzött " + +@@ -4776,60 +4856,60 @@ msgstr "Ellenőrzött " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:508 ++#: ncrypt/smime.c:510 + msgid "Unknown " + msgstr "Ismeretlen " + +-#: ncrypt/smime.c:545 ++#: ncrypt/smime.c:547 + #, c-format + msgid "S/MIME certificates matching \"%s\"" + msgstr "S/MIME kulcsok egyeznek \"%s\"" + +-#: ncrypt/smime.c:589 ++#: ncrypt/smime.c:621 + #, fuzzy + msgid "ID is not trusted. Do you really want to use the key?" + msgstr "Az ID nem érvényes. Valóban szeretnéd használni ezt a kulcsot?" + +-#: ncrypt/smime.c:910 ++#: ncrypt/smime.c:944 + msgid "Enter keyID: " + msgstr "Add meg a kulcsID-t: " + +-#: ncrypt/smime.c:1055 ++#: ncrypt/smime.c:1089 + #, c-format + msgid "No (valid) certificate found for %s" + msgstr "Nem található (érvényes) tanúsítvány ehhez: %s" + +-#: ncrypt/smime.c:1108 ncrypt/smime.c:1137 ncrypt/smime.c:1209 +-#: ncrypt/smime.c:1243 ncrypt/smime.c:1319 ncrypt/smime.c:1399 ++#: ncrypt/smime.c:1142 ncrypt/smime.c:1171 ncrypt/smime.c:1243 ++#: ncrypt/smime.c:1277 ncrypt/smime.c:1353 ncrypt/smime.c:1433 + msgid "Error: unable to create OpenSSL subprocess" + msgstr "Hiba: nem lehet létrehozni az OpenSSL alfolyamatot" + +-#: ncrypt/smime.c:1379 ++#: ncrypt/smime.c:1413 + #, fuzzy + msgid "Label for certificate: " + msgstr "A szervertől nem lehet tanusítványt kapni" + +-#: ncrypt/smime.c:1480 ++#: ncrypt/smime.c:1514 + msgid "no certfile" + msgstr "nincs tanúsítványfájl" + +-#: ncrypt/smime.c:1483 ++#: ncrypt/smime.c:1517 + msgid "no mbox" + msgstr "nincs postafiók" + +-#: ncrypt/smime.c:1640 ncrypt/smime.c:1810 ++#: ncrypt/smime.c:1674 ncrypt/smime.c:1844 + msgid "No output from OpenSSL..." + msgstr "Nincs kimenet az OpenSSLtől..." + +-#: ncrypt/smime.c:1727 ++#: ncrypt/smime.c:1761 + msgid "Can't sign: No key specified. Use Sign As." + msgstr "" + +-#: ncrypt/smime.c:1777 ++#: ncrypt/smime.c:1811 + msgid "Can't open OpenSSL subprocess" + msgstr "OpenSSL alfolyamatot nem lehet megnyitni" + +-#: ncrypt/smime.c:2004 ncrypt/smime.c:2123 ++#: ncrypt/smime.c:2038 ncrypt/smime.c:2157 + msgid "" + "[-- End of OpenSSL output --]\n" + "\n" +@@ -4837,19 +4917,19 @@ msgstr "" + "[-- OpenSSL kimenet vége --]\n" + "\n" + +-#: ncrypt/smime.c:2080 ncrypt/smime.c:2093 ++#: ncrypt/smime.c:2114 ncrypt/smime.c:2127 + msgid "[-- Error: unable to create OpenSSL subprocess --]\n" + msgstr "[-- Hiba: nem lehet létrehozni az OpenSSL alfolyamatot --]\n" + +-#: ncrypt/smime.c:2129 ++#: ncrypt/smime.c:2163 + msgid "[-- The following data is S/MIME encrypted --]\n" + msgstr "[-- A következő adat S/MIME-vel titkosított --]\n" + +-#: ncrypt/smime.c:2132 ++#: ncrypt/smime.c:2166 + msgid "[-- The following data is S/MIME signed --]\n" + msgstr "[-- A következő adatok S/MIME-vel alá vannak írva --]\n" + +-#: ncrypt/smime.c:2225 ++#: ncrypt/smime.c:2259 + msgid "" + "\n" + "[-- End of S/MIME encrypted data. --]\n" +@@ -4857,7 +4937,7 @@ msgstr "" + "\n" + "[-- S/MIME titkosított adat vége. --]\n" + +-#: ncrypt/smime.c:2227 ++#: ncrypt/smime.c:2261 + msgid "" + "\n" + "[-- End of S/MIME signed data. --]\n" +@@ -4866,170 +4946,170 @@ msgstr "" + "[-- S/MIME aláírt adat vége --]\n" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2361 ++#: ncrypt/smime.c:2395 + #, fuzzy + msgid "S/MIME (s)ign, encrypt (w)ith, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME (t)itkosít, (a)láír, titkosít (p)rg, aláír (m)int, titkosít é(s) aláír, mé(g)se?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2364 ++#: ncrypt/smime.c:2398 + msgid "swaco" + msgstr "tapmsg" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2372 ++#: ncrypt/smime.c:2406 + #, fuzzy + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME (t)itkosít, (a)láír, titkosít (p)rg, aláír (m)int, titkosít é(s) aláír, mé(g)se?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2375 ++#: ncrypt/smime.c:2409 + #, fuzzy + msgid "eswabco" + msgstr "tapmsg" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2382 ++#: ncrypt/smime.c:2416 + #, fuzzy + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, or (c)lear?" + msgstr "S/MIME (t)itkosít, (a)láír, titkosít (p)rg, aláír (m)int, titkosít é(s) aláír, mé(g)se?" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2385 ++#: ncrypt/smime.c:2419 + #, fuzzy + msgid "eswabc" + msgstr "tapmsg" + +-#: ncrypt/smime.c:2449 ++#: ncrypt/smime.c:2483 + msgid "Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear?" + msgstr "" + + #. L10N: Options for: Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear? +-#: ncrypt/smime.c:2452 ++#: ncrypt/smime.c:2486 + msgid "123c" + msgstr "" + +-#: ncrypt/smime.c:2455 ++#: ncrypt/smime.c:2489 + msgid "(1) DES, (2) Triple-DES?" + msgstr "" + + #. L10N: Options for: (1) DES, (2) Triple-DES +-#: ncrypt/smime.c:2457 ++#: ncrypt/smime.c:2491 + msgid "12" + msgstr "" + +-#: ncrypt/smime.c:2470 ++#: ncrypt/smime.c:2504 + msgid "(1) RC2-40, (2) RC2-64, (3) RC2-128?" + msgstr "" + + #. L10N: Options for: (1) RC2-40, (2) RC2-64, (3) RC2-128 + #. L10N: Options for: (1) AES128, (2) AES192, (3) AES256 +-#: ncrypt/smime.c:2472 ncrypt/smime.c:2490 ++#: ncrypt/smime.c:2506 ncrypt/smime.c:2524 + msgid "123" + msgstr "" + +-#: ncrypt/smime.c:2488 ++#: ncrypt/smime.c:2522 + msgid "(1) AES128, (2) AES192, (3) AES256?" + msgstr "" + +-#: nntp/newsrc.c:632 ++#: nntp/newsrc.c:639 + msgid "Loading list of groups from cache..." + msgstr "" + +-#: nntp/newsrc.c:997 ++#: nntp/newsrc.c:1023 + msgid "No news server defined" + msgstr "" + +-#: nntp/newsrc.c:1012 ++#: nntp/newsrc.c:1041 + #, fuzzy, c-format + msgid "%s is an invalid news server specification" + msgstr "%s érvénytelen POP útvonal" + +-#: nntp/nntp.c:236 nntp/nntp.c:777 pop/pop.c:742 pop/pop_lib.c:398 ++#: nntp/nntp.c:238 nntp/nntp.c:779 pop/pop.c:742 pop/pop_lib.c:424 + msgid "Server closed connection" + msgstr "A szerver lezárta a kapcsolatot" + +-#: nntp/nntp.c:340 ++#: nntp/nntp.c:342 + msgid "Server doesn't support reader mode" + msgstr "" + +-#: nntp/nntp.c:576 pop/pop_auth.c:504 smtp.c:650 ++#: nntp/nntp.c:578 pop/pop_auth.c:505 smtp.c:675 + msgid "No authenticators available" + msgstr "Egyetlen azonosító sem érhető el" + +-#: nntp/nntp.c:766 ++#: nntp/nntp.c:768 + #, fuzzy, c-format + msgid "%s authentication failed" + msgstr "SASL azonosítás nem sikerült" + +-#: nntp/nntp.c:826 ++#: nntp/nntp.c:828 + #, fuzzy, c-format + msgid "Connection to %s lost. Reconnect?" + msgstr "%s kapcsolat lezárva" + +-#: nntp/nntp.c:1285 ++#: nntp/nntp.c:1287 + #, fuzzy + msgid "Fetching list of articles..." + msgstr "Üzenetek listájának letöltése..." + +-#: nntp/nntp.c:1549 nntp/nntp.c:2138 pop/pop.c:614 pop/pop.c:910 ++#: nntp/nntp.c:1551 nntp/nntp.c:2140 pop/pop.c:614 pop/pop.c:905 + msgid "Checking for new messages..." + msgstr "Új levelek letöltése..." + +-#: nntp/nntp.c:1864 nntp/nntp.c:1954 ++#: nntp/nntp.c:1866 nntp/nntp.c:1956 + #, fuzzy + msgid "Could not switch to reader mode" + msgstr "nem lehet írni a(z) %s ideiglenes postafiókba" + +-#: nntp/nntp.c:1877 ++#: nntp/nntp.c:1879 + #, fuzzy, c-format + msgid "Connected to %s. %s" + msgstr "Kapcsolódás %s-hez..." + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + #, fuzzy + msgid "Posting is ok" + msgstr "Kapcsolódás %s-hez.." + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + msgid "Posting is NOT ok" + msgstr "" + +-#: nntp/nntp.c:2008 nntp/nntp.c:2043 ++#: nntp/nntp.c:2010 nntp/nntp.c:2045 + #, fuzzy, c-format + msgid "Can't post article: %s" + msgstr "%s nem olvasható: %s" + +-#: nntp/nntp.c:2064 ++#: nntp/nntp.c:2066 + #, fuzzy, c-format + msgid "Loading list of groups from server %s..." + msgstr "Levelek törlése a szerverről..." + +-#: nntp/nntp.c:2106 nntp/nntp.c:2198 ++#: nntp/nntp.c:2108 nntp/nntp.c:2200 + #, fuzzy + msgid "Loading descriptions..." + msgstr "Bejelentkezés..." + +-#: nntp/nntp.c:2128 ++#: nntp/nntp.c:2130 + #, fuzzy + msgid "Checking for new newsgroups..." + msgstr "Új levelek letöltése..." + +-#: nntp/nntp.c:2332 ++#: nntp/nntp.c:2334 + msgid "Unable to find child articles because server does not support XPAT command" + msgstr "" + +-#: nntp/nntp.c:2437 ++#: nntp/nntp.c:2439 + #, fuzzy, c-format + msgid "%s is an invalid newsgroup specification" + msgstr "%s érvénytelen POP útvonal" + +-#: nntp/nntp.c:2476 ++#: nntp/nntp.c:2478 + #, c-format + msgid "Newsgroup %s not found on the server" + msgstr "" + +-#: nntp/nntp.c:2498 ++#: nntp/nntp.c:2500 + #, c-format + msgid "Newsgroup %s has been removed from the server" + msgstr "" +@@ -5041,7 +5121,7 @@ msgstr "" + + #: notmuch/mutt_notmuch.c:219 notmuch/mutt_notmuch.c:1939 + #, c-format +-msgid "failed to parse notmuch uri: %s" ++msgid "failed to parse notmuch url: %s" + msgstr "" + + #: notmuch/mutt_notmuch.c:449 +@@ -6193,189 +6273,189 @@ msgstr "" + msgid "show S/MIME options" + msgstr "S/MIME opciók mutatása" + +-#: pager.c:222 ++#: pager.c:214 + msgid "Not available in this menu" + msgstr "Nem elérhető ebben a menüben" + +-#: pager.c:229 ++#: pager.c:221 + msgid "PrevPg" + msgstr "ElőzőO" + +-#: pager.c:230 ++#: pager.c:222 + msgid "NextPg" + msgstr "KövO" + +-#: pager.c:235 ++#: pager.c:227 + msgid "View Attachm." + msgstr "Melléklet" + +-#: pager.c:238 pager.c:247 ++#: pager.c:230 pager.c:239 + msgid "Next" + msgstr "Köv." + + #. L10N: Status bar message: the entire email is visible in the pager + #. L10N: Status bar message: all the emails are visible in the index +-#: pager.c:2180 status.c:278 ++#: pager.c:2136 status.c:278 + msgid "all" + msgstr "" + + #. L10N: Status bar message: the end of the email is visible in the pager + #. L10N: Status bar message: the end of the list emails is visible in the index +-#: pager.c:2182 status.c:276 ++#: pager.c:2138 status.c:276 + msgid "end" + msgstr "" + +-#: pager.c:2530 pager.c:2566 pager.c:2602 pager.c:2937 ++#: pager.c:2503 pager.c:2539 pager.c:2576 pager.c:2911 + msgid "Bottom of message is shown" + msgstr "Ez az üzenet vége" + +-#: pager.c:2543 pager.c:2573 pager.c:2580 pager.c:2590 ++#: pager.c:2516 pager.c:2546 pager.c:2553 pager.c:2564 + msgid "Top of message is shown" + msgstr "Ez az üzenet eleje" + +-#: pager.c:2840 ++#: pager.c:2814 + msgid "Help is currently being shown" + msgstr "A súgó már meg van jelenítve" + +-#: pager.c:2897 ++#: pager.c:2871 + msgid "No more quoted text" + msgstr "Nincs több idézett szöveg" + +-#: pager.c:2914 ++#: pager.c:2888 + msgid "No more unquoted text after quoted text" + msgstr "Nincs nem idézett szöveg az idézett szöveg után" + +-#: pattern.c:220 pattern.c:297 pattern.c:1046 ++#: pattern.c:221 pattern.c:298 pattern.c:1085 + #, c-format + msgid "Error in expression: %s" + msgstr "Hiba a kifejezésben: %s" + +-#: pattern.c:226 pattern.c:302 pattern.c:1052 ++#: pattern.c:227 pattern.c:303 pattern.c:1091 + #, fuzzy + msgid "Empty expression" + msgstr "hiba a kifejezésben" + +-#: pattern.c:288 ++#: pattern.c:289 + #, fuzzy + msgid "No search command defined" + msgstr "A lekérdezés parancs nincs megadva" + +-#: pattern.c:326 ++#: pattern.c:327 + #, fuzzy, c-format + msgid "Running search command: %s ..." + msgstr "Megjelenítő parancs indítása: %s" + +-#: pattern.c:417 ++#: pattern.c:441 pattern.c:456 + #, c-format + msgid "Invalid day of month: %s" + msgstr "Érvénytelen a hónap napja: %s" + +-#: pattern.c:431 ++#: pattern.c:446 pattern.c:470 + #, c-format + msgid "Invalid month: %s" + msgstr "Érvénytelen hónap: %s" + +-#: pattern.c:534 ++#: pattern.c:573 + #, c-format + msgid "Invalid relative date: %s" + msgstr "Érvénytelen viszonylagos hónap: %s" + +-#: pattern.c:842 pattern.c:975 ++#: pattern.c:881 pattern.c:1014 + #, fuzzy + msgid "No current message" + msgstr "Nincs olvasatlan levél" + +-#: pattern.c:1002 ++#: pattern.c:1041 + msgid "No Context" + msgstr "" + +-#: pattern.c:1125 ++#: pattern.c:1164 + #, fuzzy + msgid "Error opening 'memory stream'" + msgstr "Hiba a postafiók megnyitásaor" + +-#: pattern.c:1171 ++#: pattern.c:1210 + #, fuzzy + msgid "Error re-opening 'memory stream'" + msgstr "Hiba a postafiók megnyitásaor" + +-#: pattern.c:1180 ++#: pattern.c:1219 + #, fuzzy + msgid "Error opening /dev/null" + msgstr "Nem lehet a /dev/null-t megnyitni" + +-#: pattern.c:1443 pattern.c:1620 ++#: pattern.c:1482 pattern.c:1662 + #, c-format + msgid "error in pattern at: %s" + msgstr "hiba a mintában: %s" + +-#: pattern.c:1476 ++#: pattern.c:1515 + #, fuzzy, c-format + msgid "missing pattern: %s" + msgstr "hiányzó paraméter" + +-#: pattern.c:1494 pattern.c:1593 ++#: pattern.c:1533 pattern.c:1635 + #, c-format + msgid "mismatched parentheses: %s" + msgstr "nem megegyező zárójelek: %s" + +-#: pattern.c:1559 ++#: pattern.c:1598 + #, fuzzy, c-format + msgid "%c: invalid pattern modifier" + msgstr "%c: érvénytelen parancs" + +-#: pattern.c:1564 ++#: pattern.c:1603 + #, c-format + msgid "%c: not supported in this mode" + msgstr "%c: nincs támogatva ebben a módban" + +-#: pattern.c:1576 ++#: pattern.c:1618 + msgid "missing parameter" + msgstr "hiányzó paraméter" + +-#: pattern.c:1626 ++#: pattern.c:1668 + msgid "empty pattern" + msgstr "üres minta" + +-#: pattern.c:2080 pattern.c:2083 ++#: pattern.c:2202 pattern.c:2205 + msgid "error: server custom search only supported with IMAP" + msgstr "" + +-#: pattern.c:2274 ++#: pattern.c:2398 + #, c-format + msgid "error: unknown op %d (report this error)" + msgstr "hiba: ismeretlen operandus %d (jelentsd ezt a hibát)" + +-#: pattern.c:2448 pattern.c:2604 ++#: pattern.c:2572 pattern.c:2728 + msgid "Compiling search pattern..." + msgstr "Keresési minta fordítása..." + +-#: pattern.c:2468 ++#: pattern.c:2592 + msgid "Executing command on matching messages..." + msgstr "Parancs végrehajtása az egyező leveleken..." + +-#: pattern.c:2537 ++#: pattern.c:2661 + msgid "No messages matched criteria" + msgstr "Nincs a kritériumnak megfelelő levél" + +-#: pattern.c:2641 ++#: pattern.c:2765 + #, fuzzy + msgid "Searching..." + msgstr "Mentés..." + +-#: pattern.c:2655 ++#: pattern.c:2779 + msgid "Search hit bottom without finding match" + msgstr "A kereső elérte a végét, és nem talált egyezést" + +-#: pattern.c:2666 ++#: pattern.c:2790 + msgid "Search hit top without finding match" + msgstr "A kereső elérte az elejét, és nem talált egyezést" + +-#: pattern.c:2700 ++#: pattern.c:2824 + msgid "Search interrupted" + msgstr "Keresés megszakítva" + +-#: pop/pop.c:216 pop/pop_lib.c:234 ++#: pop/pop.c:216 pop/pop_lib.c:259 + msgid "Command TOP is not supported by server" + msgstr "A TOP parancsot nem támogatja a szerver" + +@@ -6383,7 +6463,7 @@ msgstr "A TOP parancsot nem támogatja a szerver" + msgid "Can't write header to temporary file" + msgstr "Nem lehet írni az ideiglenes fájlba" + +-#: pop/pop.c:420 pop/pop_lib.c:236 ++#: pop/pop.c:420 pop/pop_lib.c:261 + msgid "Command UIDL is not supported by server" + msgstr "Az UIDL parancsot nem támogatja a szerver" + +@@ -6398,7 +6478,7 @@ msgstr[1] "A levelek tartalomjegyzéke hibás. Próbáld megnyitni újra a posta + msgid "POP host is not defined" + msgstr "POP szerver nincs megadva" + +-#: pop/pop.c:596 pop/pop.c:825 ++#: pop/pop.c:596 pop/pop.c:790 pop/pop.c:820 + #, c-format + msgid "%s is an invalid POP path" + msgstr "%s érvénytelen POP útvonal" +@@ -6431,156 +6511,156 @@ msgid_plural "%s [%d of %d messages read]" + msgstr[0] "%s [%d/%d levél beolvasva]" + msgstr[1] "%s [%d/%d levél beolvasva]" + +-#: pop/pop.c:876 ++#: pop/pop.c:871 + msgid "Fetching list of messages..." + msgstr "Üzenetek listájának letöltése..." + +-#: pop/pop.c:959 ++#: pop/pop.c:954 + #, fuzzy + msgid "Marking messages deleted..." + msgstr "%d levél megjelölése töröltnek..." + +-#: pop/pop.c:1150 ++#: pop/pop.c:1145 + msgid "Can't write message to temporary file" + msgstr "Nem lehet a levelet beleírni az ideiglenes fájlba" + +-#: pop/pop_auth.c:103 ++#: pop/pop_auth.c:104 + msgid "Authenticating (SASL)..." + msgstr "Azonosítás (SASL)..." + +-#: pop/pop_auth.c:245 ++#: pop/pop_auth.c:246 + msgid "POP timestamp is invalid" + msgstr "" + +-#: pop/pop_auth.c:249 ++#: pop/pop_auth.c:250 + msgid "Authenticating (APOP)..." + msgstr "Azonosítás (APOP)..." + +-#: pop/pop_auth.c:269 ++#: pop/pop_auth.c:270 + msgid "APOP authentication failed" + msgstr "APOP azonosítás sikertelen" + +-#: pop/pop_auth.c:309 ++#: pop/pop_auth.c:310 + msgid "Command USER is not supported by server" + msgstr "A USER parancsot nem ismeri ez a kiszolgáló" + +-#: pop/pop_auth.c:386 ++#: pop/pop_auth.c:387 + #, fuzzy + msgid "Authentication failed" + msgstr "SASL azonosítás nem sikerült" + +-#: pop/pop_lib.c:78 ++#: pop/pop_lib.c:103 + #, fuzzy, c-format + msgid "Invalid POP URL: %s" + msgstr "Érvénytelen " + +-#: pop/pop_lib.c:232 ++#: pop/pop_lib.c:257 + msgid "Unable to leave messages on server" + msgstr "Nem lehet a leveleket a szerveren hagyni" + +-#: pop/pop_lib.c:274 ++#: pop/pop_lib.c:300 + #, c-format + msgid "Error connecting to server: %s" + msgstr "Hiba a szerverre való csatlakozás közben: %s" + +-#: pop/pop_lib.c:414 ++#: pop/pop_lib.c:440 + msgid "Closing connection to POP server..." + msgstr "POP kapcsolat lezárása..." + +-#: pop/pop_lib.c:605 ++#: pop/pop_lib.c:631 + msgid "Verifying message indexes..." + msgstr "Levelek tartalomjegyzékének ellenőrzése..." + +-#: pop/pop_lib.c:628 ++#: pop/pop_lib.c:654 + msgid "Connection lost. Reconnect to POP server?" + msgstr "A kapcsolatot elveszett. Újracsatlakozik a POP kiszolgálóhoz?" + +-#: postpone.c:229 ++#: postpone.c:260 + msgid "Postponed Messages" + msgstr "Elhalasztott levelek" + +-#: postpone.c:314 postpone.c:326 ++#: postpone.c:348 postpone.c:372 + msgid "No postponed messages" + msgstr "Nincsenek elhalasztott levelek" + +-#: postpone.c:480 ++#: postpone.c:526 + msgid "Illegal S/MIME header" + msgstr "Érvénytelen S/MIME fejléc" + +-#: postpone.c:510 postpone.c:551 postpone.c:560 ++#: postpone.c:556 postpone.c:597 postpone.c:606 + #, fuzzy + msgid "Illegal crypto header" + msgstr "Érvénytelen PGP fejléc" + +-#: postpone.c:644 postpone.c:752 postpone.c:780 ++#: postpone.c:690 postpone.c:798 postpone.c:826 + #, fuzzy + msgid "Decrypting message..." + msgstr "Levél letöltése..." + +-#: query.c:82 ++#: query.c:80 + msgid "New Query" + msgstr "Új lekérdezés" + +-#: query.c:83 ++#: query.c:81 + msgid "Make Alias" + msgstr "Álnév" + +-#: query.c:180 ++#: query.c:178 + msgid "Waiting for response..." + msgstr "Várakozás a válaszra..." + +-#: query.c:362 query.c:400 ++#: query.c:365 query.c:434 + msgid "Query: " + msgstr "Lekérdezés: " + +-#: query.c:370 query.c:407 ++#: query.c:374 query.c:442 + #, c-format + msgid "Query '%s'" + msgstr "'%s' lekérdezése" + +-#: query.c:620 query.c:657 ++#: query.c:661 query.c:698 + msgid "Query command not defined" + msgstr "A lekérdezés parancs nincs megadva" + +-#: recvattach.c:93 ++#: recvattach.c:91 + msgid "Pipe" + msgstr "Átküld" + +-#: recvattach.c:94 ++#: recvattach.c:92 + msgid "Print" + msgstr "Nyomtat" + +-#: recvattach.c:569 ++#: recvattach.c:571 + msgid "Saving..." + msgstr "Mentés..." + +-#: recvattach.c:573 recvattach.c:744 recvattach.c:748 ++#: recvattach.c:575 recvattach.c:746 recvattach.c:750 + #, fuzzy, c-format + msgid "Attachment saved" + msgid_plural "%d attachments saved" + msgstr[0] "A melléklet elmentve" + msgstr[1] "A melléklet elmentve" + +-#: recvattach.c:772 ++#: recvattach.c:774 + #, c-format + msgid "WARNING! You are about to overwrite %s, continue?" + msgstr "FIGYELMEZTETÉS! %s-t felülírására készülsz, folytatod?" + +-#: recvattach.c:790 ++#: recvattach.c:792 + msgid "Attachment filtered" + msgstr "Melléklet szűrve" + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Filter through: " + msgstr "Szűrőn keresztül: " + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Pipe to: " + msgstr "Átküld: " + + #. L10N: s gets replaced by a MIME type, e.g. "text/plain" or + #. application/octet-stream. +-#: recvattach.c:935 ++#: recvattach.c:937 + #, fuzzy, c-format + msgid "I don't know how to print %s attachments" + msgstr "Nem tudom hogyan kell nyomtatni a(z) %s csatolást" +@@ -6588,57 +6668,57 @@ msgstr "Nem tudom hogyan kell nyomtatni a(z) %s csatolást" + #. L10N: Although we now the precise number of tagged messages, we + #. do not show it to the user. So feel free to use a "generic + #. plural" as plural translation if your language has one. +-#: recvattach.c:1038 ++#: recvattach.c:1040 + #, fuzzy, c-format + msgid "Print tagged attachment?" + msgid_plural "Print %d tagged attachments?" + msgstr[0] "Kinyomtassam a kijelölt melléklet(ek)et?" + msgstr[1] "Kinyomtassam a kijelölt melléklet(ek)et?" + +-#: recvattach.c:1039 ++#: recvattach.c:1041 + #, c-format + msgid "Print attachment?" + msgstr "Kinyomtassam a mellékletet?" + +-#: recvattach.c:1123 ++#: recvattach.c:1125 + msgid "Structural changes to decrypted attachments are not supported" + msgstr "" + +-#: recvattach.c:1291 ++#: recvattach.c:1293 + msgid "Can't decrypt encrypted message" + msgstr "Nem tudtam visszafejteni a titkosított üzenetet" + +-#: recvattach.c:1425 ++#: recvattach.c:1457 + msgid "Attachments" + msgstr "Mellékletek" + +-#: recvattach.c:1465 ++#: recvattach.c:1497 + msgid "There are no subparts to show" + msgstr "Nincsenek mutatható részek" + +-#: recvattach.c:1520 ++#: recvattach.c:1552 + msgid "Can't delete attachment from POP server" + msgstr "POP kiszolgálón nem lehet mellékletet törölni" + +-#: recvattach.c:1529 ++#: recvattach.c:1561 + #, fuzzy + msgid "Can't delete attachment from news server" + msgstr "POP kiszolgálón nem lehet mellékletet törölni" + +-#: recvattach.c:1536 ++#: recvattach.c:1568 + msgid "Deletion of attachments from encrypted messages is unsupported" + msgstr "Mellékletek törlése kódolt üzenetből nem támogatott" + +-#: recvattach.c:1542 ++#: recvattach.c:1574 + #, fuzzy + msgid "Deletion of attachments from signed messages may invalidate the signature" + msgstr "Mellékletek törlése kódolt üzenetből nem támogatott" + +-#: recvattach.c:1561 recvattach.c:1578 ++#: recvattach.c:1593 recvattach.c:1610 + msgid "Only deletion of multipart attachments is supported" + msgstr "Többrészes csatolásoknál csak a törlés támogatott" + +-#: recvcmd.c:79 ++#: recvcmd.c:78 + msgid "You may only bounce message/rfc822 parts" + msgstr "Csak levél/rfc222 részeket lehet visszaküldeni" + +@@ -6675,7 +6755,7 @@ msgstr "Nem tudtam létrehozni: %s" + msgid "Can't find any tagged messages" + msgstr "Nem található egyetlen kijelölt levél sem" + +-#: recvcmd.c:848 send.c:1073 ++#: recvcmd.c:848 send.c:1072 + msgid "No mailing lists found" + msgstr "Nincs levelezőlista" + +@@ -6690,67 +6770,67 @@ msgstr "Nem tudom az összes kijelölt mellékletet visszaalakítani. A többit + msgid "You may only compose to sender with message/rfc822 parts" + msgstr "Csak levél/rfc222 részeket lehet visszaküldeni" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Append" + msgstr "Hozzáfűzés" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Insert" + msgstr "Beszúrás" + +-#: remailer.c:78 ++#: remailer.c:76 + msgid "OK" + msgstr "OK" + +-#: remailer.c:210 ++#: remailer.c:207 + msgid "" + msgstr "" + +-#: remailer.c:586 ++#: remailer.c:617 + msgid "Can't get mixmaster's type2.list" + msgstr "Nem lehet beolvasni a mixmaster type2.list-jét" + +-#: remailer.c:612 ++#: remailer.c:673 + msgid "Select a remailer chain" + msgstr "Válaszd ki az újraküldő láncot" + +-#: remailer.c:674 ++#: remailer.c:735 + #, c-format + msgid "Error: %s can't be used as the final remailer of a chain" + msgstr "Hiba: %s-t nem lehet használni a lánc utolsó újraküldőjeként" + + #. L10N The '%d' here hard-coded to 19 +-#: remailer.c:706 ++#: remailer.c:767 + #, c-format + msgid "Mixmaster chains are limited to %d elements" + msgstr "A Mixmaster lánc maximálisan %d elemből állhat" + +-#: remailer.c:729 ++#: remailer.c:790 + msgid "The remailer chain is already empty" + msgstr "Az újraküldő lánc már üres" + +-#: remailer.c:739 ++#: remailer.c:800 + msgid "You already have the first chain element selected" + msgstr "Már ki van választva a lánc első eleme" + +-#: remailer.c:749 ++#: remailer.c:810 + msgid "You already have the last chain element selected" + msgstr "Már ki van választva a lánc utolsó eleme" + +-#: remailer.c:792 ++#: remailer.c:856 + msgid "Mixmaster doesn't accept Cc or Bcc headers" + msgstr "A Mixmaster nem fogadja el a Cc vagy a Bcc fejléceket" + +-#: remailer.c:817 ++#: remailer.c:881 + msgid "Please set the hostname variable to a proper value when using mixmaster" + msgstr "Kérlek állítsd be a hostname változót a megfelelő értékre, ha mixmastert használsz" + +-#: remailer.c:860 ++#: remailer.c:924 + #, c-format + msgid "Error sending message, child exited %d.\n" + msgstr "Hiba a levél elküldésekor, a gyermek folyamat kilépett: %d.\n" + +-#: remailer.c:864 ++#: remailer.c:928 + msgid "Error sending message" + msgstr "Hiba a levél elküldésekor" + +@@ -6781,42 +6861,42 @@ msgstr "Továbbítás mellékletként?" + + #. L10N: Asks whether the user respects the reply-to header. + #. If she says no, neomutt will reply to the from header's address instead. +-#: send.c:793 ++#: send.c:792 + #, c-format + msgid "Reply to %s%s?" + msgstr "Válasz a %s%s címre?" + +-#: send.c:838 ++#: send.c:837 + #, c-format + msgid "Follow-up to %s%s?" + msgstr "Válasz a %s%s címre?" + +-#: send.c:1122 ++#: send.c:1121 + msgid "Include message in reply?" + msgstr "Levél beillesztése a válaszba?" + +-#: send.c:1128 ++#: send.c:1127 + msgid "Including quoted message..." + msgstr "Idézett levél beillesztése..." + +-#: send.c:1137 ++#: send.c:1136 + msgid "Could not include all requested messages" + msgstr "Nem tudtam az összes kért levelet beilleszteni" + +-#: send.c:1148 ++#: send.c:1147 + msgid "Forward as attachment?" + msgstr "Továbbítás mellékletként?" + +-#: send.c:1153 ++#: send.c:1152 + msgid "Preparing forwarded message..." + msgstr "Továbbított levél előkészítése..." + +-#: send.c:1632 ++#: send.c:1631 + #, fuzzy + msgid "Fcc to an IMAP mailbox is not supported in batch mode" + msgstr "%c: nincs támogatva ebben a módban" + +-#: send.c:1664 send.c:1690 ++#: send.c:1665 send.c:1675 send.c:1701 + #, fuzzy + msgid "Save attachments in Fcc?" + msgstr "melléklet megtekintése szövegként" +@@ -6825,196 +6905,196 @@ msgstr "melléklet megtekintése szövegként" + #. (r)etry tries the same mailbox again. + #. alternate (m)ailbox prompts for a different mailbox to try. + #. (s)kip aborts saving. +-#: send.c:1712 ++#: send.c:1723 + msgid "Fcc failed. (r)etry, alternate (m)ailbox, or (s)kip?" + msgstr "" + + #. L10N: These correspond to the "Fcc failed" multi-choice prompt + #. (r)etry, alternate (m)ailbox, or (s)kip. + #. Any similarity to famous leaders of the FSF is coincidental. +-#: send.c:1716 ++#: send.c:1727 + msgid "rms" + msgstr "" + + #. L10N: This is the prompt to enter an "alternate (m)ailbox" when the + #. initial Fcc fails. +-#: send.c:1722 ++#: send.c:1733 + #, fuzzy + msgid "Fcc mailbox" + msgstr "Nincs postafiók.\n" + +-#: send.c:1788 ++#: send.c:1799 + msgid "Can't postpone. $postponed is unset" + msgstr "" + +-#: send.c:1923 ++#: send.c:1934 + msgid "Recall postponed message?" + msgstr "Elhalasztott levél újrahívása?" + +-#: send.c:2228 ++#: send.c:2239 + msgid "Edit forwarded message?" + msgstr "Továbbított levél szerkesztése?" + +-#: send.c:2266 ++#: send.c:2277 + msgid "Abort unmodified message?" + msgstr "Megszakítod a nem módosított levelet?" + +-#: send.c:2268 ++#: send.c:2279 + msgid "Aborted unmodified message" + msgstr "Nem módosított levelet megszakítottam" + +-#: send.c:2388 ++#: send.c:2399 + msgid "No crypto backend configured. Disabling message security setting." + msgstr "" + +-#: send.c:2427 ++#: send.c:2438 + #, fuzzy + msgid "Article not posted" + msgstr "A levél nem lett elküldve" + +-#: send.c:2437 ++#: send.c:2448 + msgid "Message postponed" + msgstr "A levél el lett halasztva" + +-#: send.c:2470 ++#: send.c:2481 + msgid "No subject, abort sending?" + msgstr "Nincs tárgy, megszakítsam a küldést?" + +-#: send.c:2474 send.c:2480 ++#: send.c:2485 send.c:2491 + msgid "No subject specified" + msgstr "Nincs tárgy megadva" + +-#: send.c:2486 ++#: send.c:2497 + #, fuzzy + msgid "No newsgroup specified" + msgstr "Nincs tárgy megadva" + +-#: send.c:2496 ++#: send.c:2507 + #, fuzzy + msgid "No attachments, cancel sending?" + msgstr "melléklet átviteli-kódolás szerkesztése" + +-#: send.c:2501 ++#: send.c:2512 + msgid "Message contains text matching \"$abort_noattach_regex\". Not sending." + msgstr "" + +-#: send.c:2559 smtp.c:227 ++#: send.c:2570 smtp.c:230 + msgid "Sending message..." + msgstr "Levél elküldése..." + +-#: send.c:2598 ++#: send.c:2609 + msgid "Could not send the message" + msgstr "Nem tudtam a levelet elküldeni" + +-#: send.c:2608 ++#: send.c:2619 + msgid "Sending in background" + msgstr "Küldés a háttérben" + +-#: send.c:2609 ++#: send.c:2620 + msgid "Article posted" + msgstr "" + +-#: send.c:2610 ++#: send.c:2621 + msgid "Mail sent" + msgstr "Levél elküldve" + +-#: sendlib.c:567 ++#: sendlib.c:566 + msgid "No boundary parameter found [report this error]" + msgstr "Nem található határoló paraméter [jelentsd ezt a hibát]" + +-#: sendlib.c:598 ++#: sendlib.c:597 + #, c-format + msgid "%s no longer exists" + msgstr "%s többé nem létezik" + +-#: sendlib.c:1056 ++#: sendlib.c:1055 + #, c-format + msgid "%s isn't a regular file" + msgstr "%s nem egy hagyományos fájl" + +-#: sendlib.c:1223 ++#: sendlib.c:1222 + #, fuzzy + msgid "Could not find any mime.types file." + msgstr "Nem tudtam a levelet elküldeni." + +-#: sendlib.c:1314 ++#: sendlib.c:1313 + #, c-format + msgid "Could not open %s" + msgstr "%s nem nyitható meg" + +-#: sendlib.c:2864 ++#: sendlib.c:2855 + msgid "$sendmail must be set in order to send mail" + msgstr "" + +-#: sendlib.c:2971 ++#: sendlib.c:2962 + #, c-format + msgid "Error sending message, child exited %d (%s)" + msgstr "Hiba a levél elküldése közben, a gyermek folyamat kilépett: %d (%s)" + +-#: sendlib.c:2977 ++#: sendlib.c:2969 + msgid "Output of the delivery process" + msgstr "A kézbesítő folyamat kimenete" + +-#: sendlib.c:3157 ++#: sendlib.c:3154 + #, c-format + msgid "Bad IDN %s while preparing resent-from" + msgstr "Hibás IDN %s a resent-from mező előkészítésekor" + +-#: smtp.c:165 ++#: smtp.c:168 + #, fuzzy, c-format + msgid "SMTP session failed: %s" + msgstr "SSL sikertelen: %s" + +-#: smtp.c:222 ++#: smtp.c:225 + #, fuzzy, c-format + msgid "SMTP session failed: unable to open %s" + msgstr "SSL sikertelen: %s" + +-#: smtp.c:339 ++#: smtp.c:364 + #, fuzzy, c-format + msgid "Invalid SMTP URL: %s" + msgstr "Érvénytelen " + +-#: smtp.c:618 ++#: smtp.c:643 + #, c-format + msgid "SMTP authentication method %s requires SASL" + msgstr "" + +-#: smtp.c:625 ++#: smtp.c:650 + #, fuzzy, c-format + msgid "%s authentication failed, trying next method" + msgstr "SASL azonosítás nem sikerült." + +-#: smtp.c:636 ++#: smtp.c:661 + #, fuzzy + msgid "SMTP authentication requires SASL" + msgstr "GSSAPI azonosítás nem sikerült" + +-#: smtp.c:717 ++#: smtp.c:742 + msgid "SMTP server does not support authentication" + msgstr "" + +-#: smtp.c:756 ++#: smtp.c:781 + msgid "No from address given" + msgstr "" + +-#: smtp.c:821 ++#: smtp.c:846 + msgid "SMTP session failed: read error" + msgstr "" + +-#: smtp.c:823 ++#: smtp.c:848 + msgid "SMTP session failed: write error" + msgstr "" + +-#: smtp.c:825 ++#: smtp.c:850 + msgid "Invalid server response" + msgstr "" + +-#: sort.c:385 ++#: sort.c:387 + msgid "Sorting mailbox..." + msgstr "Postafiók rendezése..." + +-#: sort.c:427 ++#: sort.c:429 + msgid "Could not find sorting function [report this bug]" + msgstr "Nincs meg a rendező függvény [kérlek jelentsd ezt a hibát]" + +@@ -7066,11 +7146,11 @@ msgstr "" + "A NeoMutt szabad szoftver, és terjesztheted az alábbi feltételek\n" + "szerint; írd be a 'neomutt -vv'-t a részletekért.\n" + +-#: version.c:446 ++#: version.c:451 + #, fuzzy + msgid "Default options:" + msgstr "Fordítási opciók:" + +-#: version.c:449 ++#: version.c:454 + msgid "Compile options:" + msgstr "Fordítási opciók:" +diff --git a/po/id.po b/po/id.po +index 2f82f31b7..362f0cec0 100644 +--- a/po/id.po ++++ b/po/id.po +@@ -11,7 +11,7 @@ msgid "" + msgstr "" + "Project-Id-Version: neomutt-2019-12-07\n" + "Report-Msgid-Bugs-To: neomutt-devel@neomutt.org\n" +-"POT-Creation-Date: 2019-12-06 23:10+0000\n" ++"POT-Creation-Date: 2020-03-09 12:15+0000\n" + "PO-Revision-Date: 2007-11-07 10:39+1100\n" + "Last-Translator: Ronny Haryanto \n" + "Language-Team: Indonesian \n" +@@ -21,16 +21,44 @@ msgstr "" + "Content-Transfer-Encoding: 8bit\n" + "Plural-Forms: nplurals=1; plural=0;\n" + +-#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:59 browser.c:80 browser.c:90 +-#: mutt_history.c:45 pager.c:228 postpone.c:68 query.c:80 recvattach.c:93 ++#, fuzzy ++msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" ++msgstr "(t)olak, terima (s)ekali, terima selal(u)" ++ ++#, fuzzy ++msgid "roas" ++msgstr "tsu" ++ ++msgid "(r)eject, accept (o)nce, (a)ccept always" ++msgstr "(t)olak, terima (s)ekali, terima selal(u)" ++ ++msgid "roa" ++msgstr "tsu" ++ ++#, fuzzy ++msgid "(r)eject, accept (o)nce, (s)kip" ++msgstr "(t)olak, terima (s)ekali" ++ ++#, fuzzy ++msgid "ros" ++msgstr "ts" ++ ++msgid "(r)eject, accept (o)nce" ++msgstr "(t)olak, terima (s)ekali" ++ ++msgid "ro" ++msgstr "ts" ++ ++#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:58 browser.c:79 browser.c:89 ++#: mutt_history.c:45 pager.c:220 postpone.c:68 query.c:78 recvattach.c:91 + msgid "Exit" + msgstr "Keluar" + +-#: addrbook.c:56 index.c:116 index.c:129 pager.c:236 pager.c:246 postpone.c:69 ++#: addrbook.c:56 index.c:112 index.c:125 pager.c:228 pager.c:238 postpone.c:69 + msgid "Del" + msgstr "Hapus" + +-#: addrbook.c:57 index.c:117 index.c:130 postpone.c:70 ++#: addrbook.c:57 index.c:113 index.c:126 postpone.c:70 + msgid "Undel" + msgstr "Nggak jadi hapus" + +@@ -38,18 +66,18 @@ msgstr "Nggak jadi hapus" + msgid "Select" + msgstr "Pilih" + +-#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:82 browser.c:84 browser.c:96 +-#: compose.c:218 compose.c:230 conn/ssl.c:983 conn/ssl_gnutls.c:691 index.c:122 +-#: index.c:135 mutt_history.c:48 ncrypt/crypt_gpgme.c:4735 ncrypt/pgpkey.c:670 +-#: ncrypt/smime.c:553 pager.c:2326 postpone.c:71 query.c:85 recvattach.c:94 ++#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:81 browser.c:83 browser.c:95 ++#: compose.c:216 compose.c:228 conn/ssl.c:996 conn/ssl_gnutls.c:722 index.c:118 ++#: index.c:131 mutt_history.c:48 ncrypt/crypt_gpgme.c:4783 ncrypt/pgpkey.c:673 ++#: ncrypt/smime.c:555 pager.c:2297 postpone.c:71 query.c:83 recvattach.c:92 + msgid "Help" + msgstr "Bantuan" + +-#: addrbook.c:208 ++#: addrbook.c:238 + msgid "You have no aliases" + msgstr "Anda tidak punya kumpulan alias" + +-#: addrbook.c:215 ++#: addrbook.c:276 + msgid "Aliases" + msgstr "Kumpulan alias" + +@@ -58,53 +86,53 @@ msgstr "Kumpulan alias" + msgid "Alias as: " + msgstr "Alias sebagai: " + +-#: alias.c:411 ++#: alias.c:414 + msgid "You already have an alias defined with that name" + msgstr "Anda telah punya alias dengan nama tersebut" + +-#: alias.c:417 ++#: alias.c:420 + msgid "Warning: This alias name may not work. Fix it?" + msgstr "Perhatian: Nama alias ini mungkin tidak akan bekerja. Betulkan?" + +-#: alias.c:442 ++#: alias.c:445 + msgid "Address: " + msgstr "Alamat: " + +-#: alias.c:453 commands.c:444 compose.c:744 conn/conn_raw.c:152 +-#: conn/conn_raw.c:210 recvcmd.c:232 send.c:228 ++#: alias.c:457 commands.c:450 compose.c:743 conn/conn_raw.c:152 ++#: conn/conn_raw.c:210 recvcmd.c:231 send.c:227 + #, c-format + msgid "Bad IDN: '%s'" + msgstr "IDN salah: '%s'" + +-#: alias.c:464 ++#: alias.c:468 + msgid "Personal name: " + msgstr "Nama lengkap: " + +-#: alias.c:473 ++#: alias.c:477 + #, c-format + msgid "[%s = %s] Accept?" + msgstr "[%s = %s] Sudah betul?" + +-#: alias.c:484 recvattach.c:528 recvattach.c:550 recvattach.c:564 +-#: recvattach.c:579 recvattach.c:678 ++#: alias.c:488 recvattach.c:530 recvattach.c:552 recvattach.c:566 ++#: recvattach.c:581 recvattach.c:680 + msgid "Save to file: " + msgstr "Simpan ke file: " + +-#: alias.c:503 ++#: alias.c:507 + #, fuzzy + msgid "Error reading alias file" + msgstr "Gagal menampilkan file" + +-#: alias.c:525 ++#: alias.c:529 + #, fuzzy + msgid "Trouble adding alias" + msgstr "Gagal menampilkan file" + +-#: alias.c:527 ++#: alias.c:531 + msgid "Alias added" + msgstr "Alias telah ditambahkan" + +-#: alias.c:532 ++#: alias.c:536 + #, fuzzy + msgid "Error seeking in alias file" + msgstr "Gagal menampilkan file" +@@ -114,7 +142,7 @@ msgstr "Gagal menampilkan file" + #. for some reason (e.g. autocrypt, header cache, bcache), but it + #. doesn't exist. The prompt is asking whether to create the directory + #. +-#: autocrypt/autocrypt.c:70 main.c:826 ++#: autocrypt/autocrypt.c:70 main.c:757 + #, c-format + msgid "%s does not exist. Create it?" + msgstr "%s tidak ada. Buat?" +@@ -123,8 +151,8 @@ msgstr "%s tidak ada. Buat?" + #. mkdir() on the directory %s failed. The second %s is the + #. error message returned by libc + #. +-#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:830 +-#: nntp/newsrc.c:1069 ++#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:761 ++#: nntp/newsrc.c:1098 + #, c-format + msgid "Can't create %s: %s" + msgstr "Tidak bisa membuat %s: %s" +@@ -134,7 +162,7 @@ msgstr "Tidak bisa membuat %s: %s" + #. create $autocrypt_dir and then prompt to create an autocrypt + #. account with this message. + #. +-#: autocrypt/autocrypt.c:156 ++#: autocrypt/autocrypt.c:163 + msgid "Create an initial autocrypt account?" + msgstr "" + +@@ -143,7 +171,7 @@ msgstr "" + #. autocrypt account. This will generate a key and add a record + #. to the database for use in autocrypt operations. + #. +-#: autocrypt/autocrypt.c:180 ++#: autocrypt/autocrypt.c:187 + msgid "Autocrypt account address: " + msgstr "" + +@@ -152,7 +180,7 @@ msgstr "" + #. a single address. This is shown if they entered something invalid, + #. nothing, or more than one address for some reason. + #. +-#: autocrypt/autocrypt.c:191 ++#: autocrypt/autocrypt.c:198 + msgid "Please enter a single email address" + msgstr "" + +@@ -161,7 +189,7 @@ msgstr "" + #. if there is already an account in the database with the email address + #. they just entered. + #. +-#: autocrypt/autocrypt.c:208 ++#: autocrypt/autocrypt.c:215 + msgid "That email address already has an autocrypt account" + msgstr "" + +@@ -173,7 +201,7 @@ msgstr "" + #. Otherwise the UI will show encryption is "available" but the user + #. will be required to enable encryption manually. + #. +-#: autocrypt/autocrypt.c:223 ++#: autocrypt/autocrypt.c:230 + #, fuzzy + msgid "Prefer encryption?" + msgstr "enkripsi" +@@ -181,7 +209,7 @@ msgstr "enkripsi" + #. L10N: + #. Message displayed after an autocrypt account is successfully created. + #. +-#: autocrypt/autocrypt.c:236 ++#: autocrypt/autocrypt.c:243 + msgid "Autocrypt account creation succeeded" + msgstr "" + +@@ -189,7 +217,7 @@ msgstr "" + #. Error message displayed if creating an autocrypt account failed + #. or was aborted by the user. + #. +-#: autocrypt/autocrypt.c:242 ++#: autocrypt/autocrypt.c:249 + msgid "Autocrypt account creation aborted" + msgstr "" + +@@ -198,7 +226,7 @@ msgstr "" + #. to use to encrypt, but it can't find a valid keyid for this address. + #. The message is printed and they are returned to the compose menu. + #. +-#: autocrypt/autocrypt.c:610 autocrypt/autocrypt.c:639 ++#: autocrypt/autocrypt.c:617 autocrypt/autocrypt.c:646 + #, fuzzy, c-format + msgid "No (valid) autocrypt key found for %s" + msgstr "Tidak ditemukan sertifikat (yg valid) utk %s" +@@ -210,12 +238,12 @@ msgstr "Tidak ditemukan sertifikat (yg valid) utk %s" + #. and used for encryption. + #. If this is answered yes, they will be prompted for a mailbox. + #. +-#: autocrypt/autocrypt.c:903 ++#: autocrypt/autocrypt.c:910 + msgid "Scan a mailbox for autocrypt headers?" + msgstr "" + + #. L10N: The prompt for a mailbox to scan for Autocrypt: headers +-#: autocrypt/autocrypt.c:907 ++#: autocrypt/autocrypt.c:914 + #, fuzzy + msgid "Scan mailbox" + msgstr "Tidak ada kotak surat.\n" +@@ -227,14 +255,14 @@ msgstr "Tidak ada kotak surat.\n" + #. for a mailbox. This is because this is a one-time operation + #. and I don't want them to accidentally ctrl-g and abort it. + #. +-#: autocrypt/autocrypt.c:927 ++#: autocrypt/autocrypt.c:934 + msgid "Scan another mailbox for autocrypt headers?" + msgstr "" + + #. L10N: Autocrypt Account Menu Help line: + #. create new account + #. +-#: autocrypt/autocrypt_acct_menu.c:63 ++#: autocrypt/autocrypt_acct_menu.c:62 + #, fuzzy + msgid "Create" + msgstr "Buat %s?" +@@ -242,7 +270,7 @@ msgstr "Buat %s?" + #. L10N: Autocrypt Account Menu Help line: + #. delete account + #. +-#: autocrypt/autocrypt_acct_menu.c:67 remailer.c:77 ++#: autocrypt/autocrypt_acct_menu.c:66 remailer.c:75 + msgid "Delete" + msgstr "Hapus" + +@@ -250,9 +278,9 @@ msgstr "Hapus" + #. toggle an account active/inactive + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:74 ++#: autocrypt/autocrypt_acct_menu.c:73 + msgid "Tgl Active" + msgstr "" + +@@ -260,17 +288,17 @@ msgstr "" + #. toggle "prefer-encrypt" on an account + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:81 +-msgid "Prf Enc" ++#: autocrypt/autocrypt_acct_menu.c:80 ++msgid "Prf Encr" + msgstr "" + + #. L10N: + #. Autocrypt Account menu. + #. flag that an account has prefer-encrypt set + #. +-#: autocrypt/autocrypt_acct_menu.c:123 ++#: autocrypt/autocrypt_acct_menu.c:122 + msgid "prefer encrypt" + msgstr "" + +@@ -279,7 +307,7 @@ msgstr "" + #. flag that an account has prefer-encrypt unset; + #. thus encryption will need to be manually enabled. + #. +-#: autocrypt/autocrypt_acct_menu.c:130 ++#: autocrypt/autocrypt_acct_menu.c:129 + msgid "manual encrypt" + msgstr "" + +@@ -287,7 +315,7 @@ msgstr "" + #. Autocrypt Account menu. + #. flag that an account is enabled/active + #. +-#: autocrypt/autocrypt_acct_menu.c:138 ++#: autocrypt/autocrypt_acct_menu.c:137 + msgid "active" + msgstr "" + +@@ -295,12 +323,12 @@ msgstr "" + #. Autocrypt Account menu. + #. flag that an account is disabled/inactive + #. +-#: autocrypt/autocrypt_acct_menu.c:144 ++#: autocrypt/autocrypt_acct_menu.c:143 + msgid "inactive" + msgstr "" + + #. L10N: Autocrypt Account Management Menu title +-#: autocrypt/autocrypt_acct_menu.c:183 ++#: autocrypt/autocrypt_acct_menu.c:182 + msgid "Autocrypt Accounts" + msgstr "" + +@@ -308,13 +336,13 @@ msgstr "" + #. This error message is displayed if a database update of an + #. account record fails for some odd reason. + #. +-#: autocrypt/autocrypt_acct_menu.c:245 autocrypt/autocrypt_acct_menu.c:259 ++#: autocrypt/autocrypt_acct_menu.c:244 autocrypt/autocrypt_acct_menu.c:258 + #, fuzzy + msgid "Error updating account record" + msgstr "Gagal membaca direktori" + + #. L10N: Confirmation message when deleting an autocrypt account +-#: autocrypt/autocrypt_acct_menu.c:302 ++#: autocrypt/autocrypt_acct_menu.c:333 + #, fuzzy, c-format + msgid "Really delete account \"%s\"?" + msgstr "Yakin hapus kotak surat \"%s\"?" +@@ -332,7 +360,7 @@ msgstr "Yakin hapus kotak surat \"%s\"?" + msgid "Unable to open autocrypt database %s" + msgstr "Tidak bisa mengunci kotak surat!" + +-#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:774 ++#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:773 + #, c-format + msgid "error creating gpgme context: %s" + msgstr "error saat membuat konteks gpgme: %s" +@@ -405,496 +433,609 @@ msgstr "" + msgid "Message cache isn't a directory: %s" + msgstr "%s bukan direktori" + +-#: browser.c:81 ++#: browser.c:80 + msgid "Chdir" + msgstr "Pindah dir" + +-#: browser.c:82 ++#: browser.c:81 + msgid "Goto" + msgstr "" + +-#: browser.c:83 browser.c:95 ++#: browser.c:82 browser.c:94 + msgid "Mask" + msgstr "Mask" + +-#: browser.c:91 ++#: browser.c:90 + msgid "List" + msgstr "" + +-#: browser.c:92 ++#: browser.c:91 + #, fuzzy + msgid "Subscribe" + msgstr "Berlangganan ke %s..." + +-#: browser.c:93 ++#: browser.c:92 + #, fuzzy + msgid "Unsubscribe" + msgstr "Berhenti langganan dari %s" + +-#: browser.c:94 index.c:134 ++#: browser.c:93 index.c:130 + msgid "Catchup" + msgstr "" + +-#: browser.c:760 browser.c:1519 browser.c:1758 ++#: browser.c:763 browser.c:1584 browser.c:1825 + #, c-format + msgid "%s is not a directory" + msgstr "%s bukan direktori" + +-#: browser.c:1025 ++#: browser.c:1028 + #, fuzzy, c-format + msgid "Subscribed newsgroups" + msgstr "Berlangganan ke %s..." + +-#: browser.c:1028 ++#: browser.c:1031 + #, c-format + msgid "Newsgroups on server [%s]" + msgstr "" + +-#: browser.c:1038 ++#: browser.c:1041 + #, c-format + msgid "Mailboxes [%d]" + msgstr "Kotak surat [%d]" + +-#: browser.c:1050 ++#: browser.c:1053 + #, c-format + msgid "Subscribed [%s], File mask: %s" + msgstr "Berlangganan [%s], File mask: %s" + +-#: browser.c:1056 ++#: browser.c:1059 + #, c-format + msgid "Directory [%s], File mask: %s" + msgstr "Direktori [%s], File mask: %s" + +-#: browser.c:1113 ++#: browser.c:1116 + msgid "Can't attach a directory" + msgstr "Tidak bisa melampirkan sebuah direktori" + +-#: browser.c:1380 browser.c:1814 browser.c:1959 ++#: browser.c:1445 browser.c:1881 browser.c:2026 + msgid "No files match the file mask" + msgstr "Tidak ada file yang sesuai dengan mask" + +-#: browser.c:1587 ++#: browser.c:1654 + msgid "Create is only supported for IMAP mailboxes" + msgstr "Pembuatan hanya didukung untuk kotak surat jenis IMAP." + +-#: browser.c:1609 ++#: browser.c:1676 + msgid "Rename is only supported for IMAP mailboxes" + msgstr "Penggantian nama hanya didukung untuk kotak surat jenis IMAP." + +-#: browser.c:1630 ++#: browser.c:1697 + msgid "Delete is only supported for IMAP mailboxes" + msgstr "Penghapusan hanya didukung untuk kotak surat jenis IMAP." + +-#: browser.c:1642 ++#: browser.c:1709 + #, fuzzy + msgid "Can't delete currently selected mailbox" + msgstr "tampilkan nama file yang sedang dipilih" + +-#: browser.c:1646 ++#: browser.c:1713 + #, c-format + msgid "Really delete mailbox \"%s\"?" + msgstr "Yakin hapus kotak surat \"%s\"?" + +-#: browser.c:1663 ++#: browser.c:1730 + msgid "Mailbox deleted" + msgstr "Kotak surat telah dihapus" + +-#: browser.c:1667 ++#: browser.c:1734 + #, fuzzy + msgid "Mailbox deletion failed" + msgstr "Kotak surat telah dihapus" + +-#: browser.c:1670 ++#: browser.c:1737 + msgid "Mailbox not deleted" + msgstr "Kotak surat tidak dihapus" + +-#: browser.c:1697 ++#: browser.c:1764 + msgid "Chdir to: " + msgstr "Pindah dir ke: " + +-#: browser.c:1747 browser.c:1808 ++#: browser.c:1814 browser.c:1875 + msgid "Error scanning directory" + msgstr "Gagal membaca direktori" + +-#: browser.c:1769 ++#: browser.c:1836 + msgid "File Mask: " + msgstr "File Mask: " + + #. L10N: The highlighted letters must match the "Sort" options +-#: browser.c:1831 ++#: browser.c:1898 + #, fuzzy + msgid "Reverse sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "Urut terbalik berdasarkan (t)anggal, (a)bjad, (u)kuran atau (n)ggak diurut?" + + #. L10N: The highlighted letters must match the "Reverse Sort" options +-#: browser.c:1834 ++#: browser.c:1901 + #, fuzzy + msgid "Sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "Urut berdasarkan (t)anggal, (a)bjad, (u)kuran atau (n)ggak diurut?" + + #. L10N: These must match the highlighted letters from "Sort" and "Reverse Sort" +-#: browser.c:1837 ++#: browser.c:1904 + msgid "dazecwn" + msgstr "" + +-#: browser.c:1948 ++#: browser.c:2015 + msgid "New file name: " + msgstr "Nama file baru: " + +-#: browser.c:1976 ++#: browser.c:2043 + msgid "Can't view a directory" + msgstr "Tidak bisa menampilkan sebuah direktori" + +-#: browser.c:1993 ++#: browser.c:2060 + msgid "Error trying to view file" + msgstr "Gagal menampilkan file" + +-#: browser.c:2079 ++#: browser.c:2146 + #, fuzzy, c-format + msgid "Subscribe pattern: " + msgstr "Berlangganan ke %s..." + +-#: browser.c:2081 ++#: browser.c:2148 + #, fuzzy, c-format + msgid "Unsubscribe pattern: " + msgstr "Berhenti langganan dari %s" + +-#: browser.c:2101 ++#: browser.c:2169 + #, fuzzy + msgid "No newsgroups match the mask" + msgstr "Tidak ada file yang sesuai dengan mask" + +-#: color.c:633 color.c:644 +-#, c-format +-msgid "%s: color not supported by term" +-msgstr "%s: warna tidak didukung oleh term" +- +-#: color.c:652 +-#, c-format +-msgid "%s: no such color" +-msgstr "%s: tidak ada warna begitu" +- +-#: color.c:717 color.c:740 color.c:751 color.c:842 +-#, c-format +-msgid "%s: no such object" +-msgstr "%s: tidak ada objek begitu" +- +-#: color.c:731 color.c:868 color.c:1069 color.c:1098 color.c:1122 color.c:1191 +-#: color.c:1214 hook.c:110 hook.c:124 hook.c:367 hook.c:383 init.c:612 +-#: init.c:620 init.c:709 init.c:1099 init.c:1267 init.c:1871 init.c:1929 +-#: keymap.c:1184 score.c:110 +-#, c-format +-msgid "%s: too few arguments" +-msgstr "%s: parameternya kurang" +- +-#: color.c:1142 +-#, c-format +-msgid "%s: no such attribute" +-msgstr "%s: tidak ada atribut begitu" +- +-#: color.c:1223 color.c:1329 hook.c:131 hook.c:390 init.c:1123 init.c:2133 +-#: init.c:2611 keymap.c:1116 keymap.c:1289 keymap.c:1442 keymap.c:1506 +-#: mutt_lua.c:483 score.c:119 +-#, c-format +-msgid "%s: too many arguments" +-msgstr "%s: parameternya terlalu banyak" +- +-#: color.c:1244 +-msgid "default colors not supported" +-msgstr "warna default tidak didukung" +- +-#: color.c:1282 +-#, c-format +-msgid "Maximum quoting level is %d" +-msgstr "" +- +-#: color.c:1319 +-#, fuzzy, c-format +-msgid "%s: invalid number: %s" +-msgstr "%d: bukan nomer surat yang betul.\n" +- + #. L10N: Used for the $crypt_verify_sig prompt +-#: commands.c:230 ++#: commands.c:232 + msgid "Verify signature?" + msgstr "Periksa tandatangan?" + +-#: commands.c:257 mbox/mbox.c:1236 ++#: commands.c:259 mbox/mbox.c:1236 + msgid "Could not create temporary file" + msgstr "Tidak bisa membuat file sementara" + +-#: commands.c:269 ++#: commands.c:271 + msgid "Can't create display filter" + msgstr "Tidak bisa membuat tampilan filter" + +-#: commands.c:302 ++#: commands.c:304 + msgid "Could not copy message" + msgstr "Tidak bisa menyalin surat" + +-#: commands.c:338 ++#: commands.c:340 + msgid "S/MIME signature successfully verified" + msgstr "Tanda tangan S/MIME berhasil diverifikasi" + +-#: commands.c:340 ++#: commands.c:342 + msgid "S/MIME certificate owner does not match sender" + msgstr "Pemilik sertifikat S/MIME tidak sesuai dg pengirim" + +-#: commands.c:343 commands.c:353 ++#: commands.c:345 commands.c:355 + msgid "Warning: Part of this message has not been signed" + msgstr "Perhatian: Sebagian dari pesan ini belum ditandatangani" + +-#: commands.c:345 ++#: commands.c:347 + msgid "S/MIME signature could NOT be verified" + msgstr "Tanda tangan S/MIME TIDAK berhasil diverifikasi" + +-#: commands.c:351 ++#: commands.c:353 + msgid "PGP signature successfully verified" + msgstr "Tanda tangan PGP berhasil diverifikasi" + +-#: commands.c:355 ++#: commands.c:357 + msgid "PGP signature could NOT be verified" + msgstr "Tanda tangan PGP TIDAK berhasil diverifikasi" + +-#: commands.c:372 compose.c:2116 compress.c:321 curs_lib.c:359 curs_lib.c:646 +-#: index.c:1235 index.c:1285 mutt_attach.c:159 mutt_attach.c:292 pager.c:2460 +-#: sendlib.c:1625 ++#: commands.c:378 compose.c:2187 compress/compress.c:320 gui/curs_lib.c:360 ++#: gui/curs_lib.c:714 index.c:1240 index.c:1290 mutt_attach.c:161 ++#: mutt_attach.c:294 pager.c:2433 sendlib.c:1624 + #, c-format + msgid "Error running \"%s\"" + msgstr "Gagal menjalankan \"%s\"" + +-#: commands.c:382 ++#: commands.c:388 + msgid "Command: " + msgstr "Perintah: " + +-#: commands.c:419 recvcmd.c:191 recvcmd.c:203 ++#: commands.c:425 recvcmd.c:190 recvcmd.c:202 + msgid "Warning: message contains no From: header" + msgstr "" + +-#: commands.c:425 recvcmd.c:212 ++#: commands.c:431 recvcmd.c:211 + #, fuzzy + msgid "Bounce message to: " + msgstr "Bounce surat ke: " + +-#: commands.c:427 recvcmd.c:214 ++#: commands.c:433 recvcmd.c:213 + #, fuzzy + msgid "Bounce tagged messages to: " + msgstr "Bounce surat ke: " + +-#: commands.c:436 recvcmd.c:224 ++#: commands.c:442 recvcmd.c:223 + msgid "Error parsing address" + msgstr "Gagal menguraikan alamat" + +-#: commands.c:455 recvcmd.c:243 ++#: commands.c:461 recvcmd.c:242 + #, fuzzy, c-format + msgid "Bounce message to %s?" + msgid_plural "Bounce messages to %s?" + msgstr[0] "Bounce surat ke %s?" + +-#: commands.c:470 recvcmd.c:257 ++#: commands.c:476 recvcmd.c:257 + #, fuzzy + msgid "Message not bounced" + msgid_plural "Messages not bounced" + msgstr[0] "Surat tidak dibounce" + +-#: commands.c:496 recvcmd.c:276 ++#: commands.c:502 recvcmd.c:276 + #, fuzzy + msgid "Message bounced" + msgid_plural "Messages bounced" + msgstr[0] "Surat telah dibounce" + +-#: commands.c:606 commands.c:642 commands.c:662 ++#: commands.c:612 commands.c:648 commands.c:668 + msgid "Can't create filter process" + msgstr "Tidak bisa membuat proses filter" + +-#: commands.c:698 ++#: commands.c:704 + msgid "Pipe to command: " + msgstr "Pipe ke perintah: " + +-#: commands.c:720 ++#: commands.c:726 + msgid "No printing command has been defined" + msgstr "Perintah untuk mencetak belum didefinisikan" + +-#: commands.c:732 ++#: commands.c:738 + #, fuzzy + msgid "Print message?" + msgstr "Cetak surat?" + +-#: commands.c:733 ++#: commands.c:739 + #, fuzzy + msgid "Print tagged messages?" + msgstr "Cetak surat?" + +-#: commands.c:739 ++#: commands.c:745 + #, fuzzy + msgid "Message printed" + msgid_plural "Messages printed" + msgstr[0] "Surat telah dicetak" + +-#: commands.c:742 ++#: commands.c:748 + #, fuzzy + msgid "Message could not be printed" + msgid_plural "Messages could not be printed" + msgstr[0] "Surat tidak dapat dicetak" + + #. L10N: The highlighted letters must match the "Sort" options +-#: commands.c:759 ++#: commands.c:765 + #, fuzzy + msgid "Rev-Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "Urut terbalik tan(g)gal/d(a)ri/t(e)rima/(s)ubj/(k)e/(t)hread/(n)ggak urut/(u)kuran/n(i)lai/s(p)am?" + + #. L10N: The highlighted letters must match the "Rev-Sort" options +-#: commands.c:763 ++#: commands.c:769 + #, fuzzy + msgid "Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "Urut tan(g)gal/d(a)ri/t(e)rima/(s)ubj/(k)e/(t)hread/(n)ggak urut/(u)kuran/n(i)lai/s(p)am?" + + #. L10N: These must match the highlighted letters from "Sort" and "Rev-Sort" +-#: commands.c:767 ++#: commands.c:773 + #, fuzzy + msgid "dfrsotuzcpl" + msgstr "gaesktnuip" + +-#: commands.c:831 ++#: commands.c:837 + msgid "Shell command: " + msgstr "Perintah shell: " + +-#: commands.c:1036 ++#: commands.c:1042 + #, fuzzy + msgid "Decode-save to mailbox" + msgstr "Urai-simpan ke kotak surat" + +-#: commands.c:1036 ++#: commands.c:1042 + #, fuzzy + msgid "Decode-save tagged to mailbox" + msgstr "Urai-simpan ke kotak surat" + +-#: commands.c:1038 ++#: commands.c:1044 + #, fuzzy + msgid "Decrypt-save to mailbox" + msgstr "Dekripsi-simpan ke kotak surat" + +-#: commands.c:1038 ++#: commands.c:1044 + #, fuzzy + msgid "Decrypt-save tagged to mailbox" + msgstr "Dekripsi-simpan ke kotak surat" + +-#: commands.c:1040 ++#: commands.c:1046 + #, fuzzy + msgid "Save to mailbox" + msgstr "Simpan ke kotak surat" + +-#: commands.c:1040 ++#: commands.c:1046 + #, fuzzy + msgid "Save tagged to mailbox" + msgstr "Simpan ke kotak surat" + +-#: commands.c:1045 ++#: commands.c:1051 + #, fuzzy + msgid "Decode-copy to mailbox" + msgstr "Urai-salin ke kotak surat" + +-#: commands.c:1045 ++#: commands.c:1051 + #, fuzzy + msgid "Decode-copy tagged to mailbox" + msgstr "Urai-salin ke kotak surat" + +-#: commands.c:1047 ++#: commands.c:1053 + #, fuzzy + msgid "Decrypt-copy to mailbox" + msgstr "Dekripsi-salin ke kotak surat" + +-#: commands.c:1047 ++#: commands.c:1053 + #, fuzzy + msgid "Decrypt-copy tagged to mailbox" + msgstr "Dekripsi-salin ke kotak surat" + +-#: commands.c:1049 ++#: commands.c:1055 + #, fuzzy + msgid "Copy to mailbox" + msgstr "Salin ke kotak surat" + +-#: commands.c:1049 ++#: commands.c:1055 + #, fuzzy + msgid "Copy tagged to mailbox" + msgstr "Salin ke kotak surat" + +-#: commands.c:1092 ++#: commands.c:1098 + #, c-format + msgid "Copying to %s..." + msgstr "Sedang menyalin ke %s..." + + #. L10N: e.g. "text/plain; charset=UTF-8; ..." +-#: commands.c:1257 ++#: commands.c:1263 + #, fuzzy + msgid "Content type is too long" + msgstr "Content-Type diubah ke %s" + +-#: commands.c:1281 ++#: commands.c:1290 + #, c-format + msgid "Convert to %s upon sending?" + msgstr "Ubah ke %s saat mengirim?" + +-#: commands.c:1292 ++#: commands.c:1301 + #, c-format + msgid "Content-Type changed to %s" + msgstr "Content-Type diubah ke %s" + +-#: commands.c:1297 ++#: commands.c:1306 + #, fuzzy, c-format + msgid "Character set changed to %s; not converting" + msgstr "Character set diubah ke %s; tidak melakukan konversi" + +-#: commands.c:1298 ++#: commands.c:1307 + #, fuzzy, c-format + msgid "Character set changed to %s; converting" + msgstr "Character set diubah ke %s; melakukan konversi" + +-#: compose.c:99 ++#: command_parse.c:83 command_parse.c:211 command_parse.c:219 ++#: command_parse.c:740 command_parse.c:887 command_parse.c:1491 ++#: command_parse.c:1549 gui/color.c:731 gui/color.c:868 gui/color.c:1069 ++#: gui/color.c:1098 gui/color.c:1122 gui/color.c:1191 gui/color.c:1214 ++#: hook.c:110 hook.c:124 hook.c:372 hook.c:388 keymap.c:1182 score.c:110 ++#, c-format ++msgid "%s: too few arguments" ++msgstr "%s: parameternya kurang" ++ ++#: command_parse.c:394 ++msgid "-group: no group name" ++msgstr "-group: tidak ada nama group" ++ ++#: command_parse.c:404 ++msgid "out of arguments" ++msgstr "parameternya kurang" ++ ++#: command_parse.c:445 command_parse.c:1372 ++#, c-format ++msgid "Error: Can't build path of '%s'" ++msgstr "" ++ ++#: command_parse.c:458 ++#, c-format ++msgid "Error: Cyclic sourcing of configuration file '%s'" ++msgstr "" ++ ++#: command_parse.c:491 ++#, c-format ++msgid "Error in %s, line %d: %s" ++msgstr "Error di %s, baris %d: %s" ++ ++#: command_parse.c:502 ++#, fuzzy, c-format ++msgid "Warning in %s, line %d: %s" ++msgstr "Error di %s, baris %d: %s" ++ ++#: command_parse.c:526 ++#, c-format ++msgid "source: errors in %s" ++msgstr "source: errors di %s" ++ ++#: command_parse.c:526 ++#, fuzzy, c-format ++msgid "source: reading aborted due to too many errors in %s" ++msgstr "source: pembacaan dibatalkan sebab terlalu banyak error di %s" ++ ++#: command_parse.c:535 ++#, fuzzy, c-format ++msgid "source: %d warning in %s" ++msgid_plural "source: %d warnings in %s" ++msgstr[0] "source: errors di %s" ++ ++#: command_parse.c:564 ++msgid "alias: no address" ++msgstr "alias: tidak ada alamat email" ++ ++#: command_parse.c:606 ++#, c-format ++msgid "Warning: Bad IDN '%s' in alias '%s'" ++msgstr "Perhatian: IDN '%s' di alias '%s' tidak benar" ++ ++#: command_parse.c:684 ++msgid "attachments: no disposition" ++msgstr "lampiran: tidak ada disposisi" ++ ++#: command_parse.c:695 ++#, fuzzy ++msgid "Current attachments settings:" ++msgstr "edit keterangan lampiran" ++ ++#: command_parse.c:725 ++msgid "attachments: invalid disposition" ++msgstr "lampiran: disposisi tidak benar" ++ ++#: command_parse.c:764 command_parse.c:1753 command_parse.c:2205 ++#: gui/color.c:1223 gui/color.c:1329 hook.c:131 hook.c:395 keymap.c:1114 ++#: keymap.c:1287 keymap.c:1440 keymap.c:1504 mutt_lua.c:485 score.c:119 ++#, c-format ++msgid "%s: too many arguments" ++msgstr "%s: parameternya terlalu banyak" ++ ++#: command_parse.c:801 ++#, fuzzy, c-format ++msgid "%sgroup: missing -rx or -addr" ++msgstr "Tidak ada -rx atau -addr" ++ ++#: command_parse.c:827 ++#, fuzzy, c-format ++msgid "%sgroup: warning: bad IDN '%s'" ++msgstr "Perhatian: IDN '%s' tidak benar" ++ ++#: command_parse.c:898 ++#, c-format ++msgid "Error: %s" ++msgstr "" ++ ++#: command_parse.c:1065 ++msgid "invalid header field" ++msgstr "kolom header tidak dikenali" ++ ++#: command_parse.c:1331 command_parse.c:1435 ++#, c-format ++msgid "%s: unknown variable" ++msgstr "%s: variable tidak diketahui" ++ ++#: command_parse.c:1528 ++#, c-format ++msgid "%s is unset" ++msgstr "%s mati" ++ ++#: command_parse.c:1573 mutt_lua.c:480 ++#, c-format ++msgid "source: error at %s" ++msgstr "source: error pada %s" ++ ++#: command_parse.c:1581 ++#, fuzzy, c-format ++msgid "source: file %s could not be sourced" ++msgstr "Surat-surat tidak dapat dicetak" ++ ++#: command_parse.c:1604 ++msgid "spam: no matching pattern" ++msgstr "spam: tidak ada pola yg cocok" ++ ++#: command_parse.c:1606 ++msgid "nospam: no matching pattern" ++msgstr "nospam: tidak ada pola yg cocok" ++ ++#: command_parse.c:1762 imap/imap.c:1443 ++#, c-format ++msgid "Subscribed to %s" ++msgstr "Berlangganan ke %s..." ++ ++#: command_parse.c:1766 ++#, fuzzy, c-format ++msgid "Could not subscribe to %s" ++msgstr "Berlangganan ke %s..." ++ ++#: command_parse.c:1774 command_parse.c:2226 ++#, fuzzy ++msgid "No folder specified" ++msgstr "Tidak ada subjek." ++ ++#: command_parse.c:1943 ++msgid "unattachments: no disposition" ++msgstr "bukan lampiran: tidak ada disposisi" ++ ++#: command_parse.c:1981 ++msgid "unattachments: invalid disposition" ++msgstr "bukan lampiran: disposisi tidak benar" ++ ++#: command_parse.c:2214 imap/imap.c:1445 ++#, c-format ++msgid "Unsubscribed from %s" ++msgstr "Berhenti langganan dari %s" ++ ++#: command_parse.c:2218 ++#, fuzzy, c-format ++msgid "Could not unsubscribe from %s" ++msgstr "Berhenti langganan dari %s" ++ ++#: compose.c:97 + msgid "There are no attachments" + msgstr "Tidak ada lampiran" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:166 ++#: compose.c:164 + msgid "From: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:168 send.c:284 ++#: compose.c:166 send.c:284 + msgid "To: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:170 send.c:286 ++#: compose.c:168 send.c:286 + msgid "Cc: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:172 send.c:288 ++#: compose.c:170 send.c:288 + msgid "Bcc: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:174 compose.c:1242 send.c:320 ++#: compose.c:172 compose.c:1302 send.c:320 + msgid "Subject: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:176 ++#: compose.c:174 + #, fuzzy + msgid "Reply-To: " + msgstr "Balas" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:178 compose.c:1261 ++#: compose.c:176 compose.c:1321 + msgid "Fcc: " + msgstr "" + + #. L10N: "Mix" refers to the MixMaster chain for anonymous email +-#: compose.c:181 ++#: compose.c:179 + msgid "Mix: " + msgstr "" + + #. L10N: Compose menu field. Holds "Encrypt", "Sign" related information +-#: compose.c:184 ++#: compose.c:182 + msgid "Security: " + msgstr "" + +@@ -905,78 +1046,78 @@ msgstr "" + #. it should not be longer than the other compose menu fields. + #. Since it shares the row with "Encrypt with:", it should not be longer + #. than 15-20 character cells. +-#: compose.c:192 ncrypt/crypt_gpgme.c:5602 ncrypt/pgp.c:1974 +-#: ncrypt/smime.c:2395 ++#: compose.c:190 ncrypt/crypt_gpgme.c:5682 ncrypt/pgp.c:1976 ++#: ncrypt/smime.c:2429 + msgid "Sign as: " + msgstr "Tandatangani sebagai: " + + #. L10N: The compose menu autocrypt line +-#: compose.c:195 ++#: compose.c:193 + msgid "Autocrypt: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:199 ++#: compose.c:197 + msgid "Newsgroups: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:201 ++#: compose.c:199 + #, fuzzy + msgid "Followup-To: " + msgstr "Balas ke %s%s?" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:203 ++#: compose.c:201 + #, fuzzy + msgid "X-Comment-To: " + msgstr "edit kolom Reply-To" + +-#: compose.c:208 compose.c:224 ++#: compose.c:206 compose.c:222 + msgid "Send" + msgstr "Kirim" + +-#: compose.c:209 compose.c:225 remailer.c:77 ++#: compose.c:207 compose.c:223 remailer.c:75 + msgid "Abort" + msgstr "Batal" + + #. L10N: compose menu help line entry +-#: compose.c:211 ++#: compose.c:209 + msgid "To" + msgstr "" + + #. L10N: compose menu help line entry +-#: compose.c:213 ++#: compose.c:211 + msgid "CC" + msgstr "" + + #. L10N: compose menu help line entry +-#: compose.c:215 compose.c:227 ++#: compose.c:213 compose.c:225 + msgid "Subj" + msgstr "" + +-#: compose.c:216 compose.c:228 compose.c:1556 ++#: compose.c:214 compose.c:226 compose.c:1616 + msgid "Attach file" + msgstr "Lampirkan file" + +-#: compose.c:217 compose.c:229 ++#: compose.c:215 compose.c:227 + msgid "Descrip" + msgstr "Ket" + +-#: compose.c:226 ++#: compose.c:224 + #, fuzzy + msgid "Newsgroups" + msgstr "Tidak ada subjek." + + #. L10N: Autocrypt recommendation flag: off. + #. * This is displayed when Autocrypt is turned off. +-#: compose.c:239 compose.c:473 ++#: compose.c:237 compose.c:472 + msgid "Off" + msgstr "" + + #. L10N: Autocrypt recommendation flag: no. + #. * This is displayed when Autocrypt cannot encrypt to the recipients. +-#: compose.c:242 ++#: compose.c:240 + msgid "No" + msgstr "" + +@@ -984,7 +1125,7 @@ msgstr "" + #. * This is displayed when Autocrypt believes encryption should not be used. + #. * This might occur if one of the recipient Autocrypt Keys has not been + #. * used recently, or if the only key available is a Gossip Header key. +-#: compose.c:247 ++#: compose.c:245 + msgid "Discouraged" + msgstr "" + +@@ -992,14 +1133,14 @@ msgstr "" + #. * This is displayed when Autocrypt believes encryption is possible, but + #. * leaves enabling it up to the sender. Probably because "prefer encrypt" + #. * is not set in both the sender and recipient keys. +-#: compose.c:252 ++#: compose.c:250 + msgid "Available" + msgstr "" + + #. L10N: Autocrypt recommendation flag: yes. + #. * This is displayed when Autocrypt would normally enable encryption + #. * automatically. +-#: compose.c:256 ++#: compose.c:254 + #, fuzzy + msgid "Yes" + msgstr "ya" +@@ -1010,7 +1151,7 @@ msgstr "ya" + #. (c)lear sets cleartext. + #. (a)utomatic defers to the recommendation. + #. +-#: compose.c:338 ++#: compose.c:337 + msgid "Autocrypt: (e)ncrypt, (c)lear, (a)utomatic?" + msgstr "" + +@@ -1018,54 +1159,54 @@ msgstr "" + #. The letter corresponding to the compose menu autocrypt prompt + #. (e)ncrypt, (c)lear, (a)utomatic + #. +-#: compose.c:346 ++#: compose.c:345 + msgid "eca" + msgstr "" + +-#: compose.c:383 ++#: compose.c:382 + #, fuzzy + msgid "Not supported" + msgstr "Penandaan tidak didukung." + +-#: compose.c:390 ++#: compose.c:389 + msgid "Sign, Encrypt" + msgstr "Tandatangan, Enkrip" + +-#: compose.c:395 compose.c:468 ++#: compose.c:394 compose.c:467 + msgid "Encrypt" + msgstr "Enkrip" + +-#: compose.c:400 ++#: compose.c:399 + msgid "Sign" + msgstr "Tandatangan" + +-#: compose.c:406 ++#: compose.c:405 + msgid "None" + msgstr "" + +-#: compose.c:415 ++#: compose.c:414 + #, fuzzy + msgid " (inline PGP)" + msgstr " (inline)" + +-#: compose.c:417 ++#: compose.c:416 + msgid " (PGP/MIME)" + msgstr " (PGP/MIME)" + +-#: compose.c:420 ++#: compose.c:419 + #, fuzzy + msgid " (S/MIME)" + msgstr " (PGP/MIME)" + +-#: compose.c:424 ++#: compose.c:423 + msgid " (OppEnc mode)" + msgstr "" + +-#: compose.c:436 compose.c:445 ++#: compose.c:435 compose.c:444 + msgid "" + msgstr "" + +-#: compose.c:452 ++#: compose.c:451 + msgid "Encrypt with: " + msgstr "Enkrip dengan: " + +@@ -1074,12 +1215,12 @@ msgstr "Enkrip dengan: " + #. Displays the output of the recommendation engine + #. (Off, No, Discouraged, Available, Yes) + #. +-#: compose.c:483 ++#: compose.c:482 + #, fuzzy + msgid "Recommendation: " + msgstr "edit kolom Reply-To" + +-#: compose.c:547 ++#: compose.c:546 + msgid "" + msgstr "" + +@@ -1090,7 +1231,7 @@ msgstr "" + #. The filename is located last to avoid a long path hiding the + #. error message. + #. +-#: compose.c:601 ++#: compose.c:600 + #, fuzzy, c-format + msgid "Attachment #%d no longer exists: %s" + msgstr "%s [#%d] sudah tidak ada" +@@ -1102,239 +1243,359 @@ msgstr "%s [#%d] sudah tidak ada" + #. The filename is located last to avoid a long path hiding the + #. prompt question. + #. +-#: compose.c:621 ++#: compose.c:620 + #, fuzzy, c-format + msgid "Attachment #%d modified. Update encoding for %s?" + msgstr "%s [#%d] telah diubah. Update encoding?" + +-#: compose.c:716 ++#: compose.c:715 + msgid "-- Attachments" + msgstr "-- Lampiran" + +-#: compose.c:770 ++#: compose.c:769 + msgid "You may not delete the only attachment" + msgstr "Tidak bisa menghapus satu-satunya lampiran" + +-#: compose.c:1296 edit.c:538 send.c:2462 ++#: compose.c:1356 edit.c:536 send.c:2473 + #, c-format + msgid "Bad IDN in '%s': '%s'" + msgstr "IDN di '%s' tidak benar: '%s'" + +-#: compose.c:1347 ++#: compose.c:1407 + #, fuzzy + msgid "Attachment is already at top" + msgstr "Lampiran telah disimpan" + +-#: compose.c:1352 compose.c:1368 ++#: compose.c:1412 compose.c:1428 + #, fuzzy + msgid "The fundamental part can't be moved" + msgstr "Lampiran yg dipilih tidak akan dikonersi" + +-#: compose.c:1363 ++#: compose.c:1423 + #, fuzzy + msgid "Attachment is already at bottom" + msgstr "Lampiran telah difilter" + +-#: compose.c:1381 ++#: compose.c:1441 + msgid "Grouping 'alternatives' requires at least 2 tagged messages" + msgstr "" + +-#: compose.c:1462 ++#: compose.c:1522 + msgid "Grouping 'multilingual' requires at least 2 tagged messages" + msgstr "" + +-#: compose.c:1475 ++#: compose.c:1535 + msgid "Not all parts have 'Content-Language' set, continue?" + msgstr "" + +-#: compose.c:1477 ++#: compose.c:1537 + #, fuzzy + msgid "Not sending this message" + msgstr "Gagal mengirim surat" + +-#: compose.c:1571 ++#: compose.c:1631 + #, fuzzy + msgid "Attaching selected file..." + msgid_plural "Attaching selected files..." + msgstr[0] "Melampirkan file-file yang dipilih..." + +-#: compose.c:1585 ++#: compose.c:1645 + #, c-format + msgid "Unable to attach %s" + msgstr "Tidak bisa melampirkan %s" + +-#: compose.c:1606 ++#: compose.c:1666 + msgid "Open mailbox to attach message from" + msgstr "Buka kotak surat untuk mengambil lampiran" + +-#: compose.c:1616 ++#: compose.c:1676 + #, fuzzy + msgid "Open newsgroup to attach message from" + msgstr "Buka kotak surat untuk mengambil lampiran" + +-#: compose.c:1667 ++#: compose.c:1730 + #, fuzzy, c-format + msgid "Unable to open mailbox %s" + msgstr "Tidak bisa mengunci kotak surat!" + +-#: compose.c:1676 ++#: compose.c:1739 + msgid "No messages in that folder" + msgstr "Tidak ada surat di kotak tersebut" + +-#: compose.c:1686 ++#: compose.c:1749 + msgid "Tag the messages you want to attach" + msgstr "Tandai surat-surat yang mau dilampirkan" + +-#: compose.c:1715 ++#: compose.c:1785 + msgid "Unable to attach" + msgstr "Tidak bisa dilampirkan" + +-#: compose.c:1752 ++#: compose.c:1822 + msgid "Recoding only affects text attachments" + msgstr "Peng-coding-an ulang hanya berpengaruh terhadap lampiran teks" + +-#: compose.c:1757 ++#: compose.c:1827 + msgid "The current attachment won't be converted" + msgstr "Lampiran yg dipilih tidak akan dikonersi" + +-#: compose.c:1759 ++#: compose.c:1829 + msgid "The current attachment will be converted" + msgstr "Lampiran yg dipilih akan dikonversi" + +-#: compose.c:1831 ++#: compose.c:1901 + msgid "Empty 'Content-Language'" + msgstr "" + +-#: compose.c:1849 ++#: compose.c:1920 + msgid "Invalid encoding" + msgstr "Encoding tidak betul" + +-#: compose.c:1871 ++#: compose.c:1942 + msgid "Save a copy of this message?" + msgstr "Simpan salinan dari surat ini?" + +-#: compose.c:1924 ++#: compose.c:1995 + #, fuzzy + msgid "Send attachment with name: " + msgstr "tampilkan lampiran sebagai teks" + +-#: compose.c:1939 ++#: compose.c:2010 + msgid "Rename to: " + msgstr "Ganti nama ke: " + + #. L10N: "stat" is a system call. Do "man 2 stat" for more information. +-#: compose.c:1946 editmsg.c:102 editmsg.c:138 sendlib.c:1050 ++#: compose.c:2017 editmsg.c:102 editmsg.c:138 sendlib.c:1049 + #, c-format + msgid "Can't stat %s: %s" + msgstr "Tidak bisa stat %s: %s" + +-#: compose.c:1966 ++#: compose.c:2037 + msgid "New file: " + msgstr "File baru: " + +-#: compose.c:1984 ++#: compose.c:2055 + msgid "Content-Type is of the form base/sub" + msgstr "Content-Type harus dalam format jenis-dasar/sub-jenis" + +-#: compose.c:1991 ++#: compose.c:2062 + #, c-format + msgid "Unknown Content-Type %s" + msgstr "Content-Type %s tak dikenali" + +-#: compose.c:1999 ++#: compose.c:2070 + #, c-format + msgid "Can't create file %s" + msgstr "Tidak bisa membuat file %s" + +-#: compose.c:2008 ++#: compose.c:2079 + msgid "What we have here is a failure to make an attachment" + msgstr "Gagal membuat lampiran, nih..." + +-#: compose.c:2073 ++#: compose.c:2144 + #, fuzzy + msgid "Save (postpone) draft message?" + msgstr "Lanjutkan surat yang ditunda sebelumnya?" + +-#: compose.c:2133 ++#: compose.c:2204 + msgid "Write message to mailbox" + msgstr "Simpan surat ke kotak surat" + +-#: compose.c:2136 ++#: compose.c:2207 + #, c-format + msgid "Writing message to %s ..." + msgstr "Menyimpan surat ke %s ..." + +-#: compose.c:2143 ++#: compose.c:2214 + msgid "Message written" + msgstr "Surat telah disimpan" + +-#: compose.c:2154 ++#: compose.c:2225 + msgid "No PGP backend configured" + msgstr "" + +-#: compose.c:2161 compose.c:2225 ++#: compose.c:2232 compose.c:2296 + msgid "S/MIME already selected. Clear and continue?" + msgstr "S/MIME sudah dipilih. Bersihkan & lanjut?" + +-#: compose.c:2186 ++#: compose.c:2257 + msgid "No S/MIME backend configured" + msgstr "" + +-#: compose.c:2194 ++#: compose.c:2265 + msgid "PGP already selected. Clear and continue?" + msgstr "PGP sudah dipilih. Bersihkan & lanjut?" + +-#: compress.c:355 compress.c:499 ++#: compress/compress.c:354 compress/compress.c:498 + #, c-format + msgid "Can't append without an append-hook or close-hook : %s" + msgstr "" + +-#: compress.c:444 compress.c:511 compress.c:590 compress.c:628 mbox/mbox.c:1208 ++#: compress/compress.c:443 compress/compress.c:510 compress/compress.c:589 ++#: compress/compress.c:627 mbox/mbox.c:1208 + msgid "Unable to lock mailbox" + msgstr "Tidak bisa mengunci kotak surat" + +-#: compress.c:448 compress.c:518 compress.c:594 ++#: compress/compress.c:447 compress/compress.c:517 compress/compress.c:593 + #, c-format + msgid "Decompressing %s" + msgstr "" + +-#: compress.c:457 ++#: compress/compress.c:456 + msgid "Can't identify the contents of the compressed file" + msgstr "" + +-#: compress.c:464 compress.c:539 ++#: compress/compress.c:463 compress/compress.c:538 + #, c-format + msgid "Can't find mailbox ops for mailbox type %d" + msgstr "" + +-#: compress.c:521 ++#: compress/compress.c:520 + #, fuzzy, c-format + msgid "Compress command failed: %s" + msgstr "Perintah pra-koneksi gagal." + +-#: compress.c:532 ++#: compress/compress.c:531 + msgid "Unsupported mailbox type for appending" + msgstr "" + +-#: compress.c:618 ++#: compress/compress.c:617 + msgid "Can't sync a compressed file without a close-hook" + msgstr "" + +-#: compress.c:640 compress.c:692 ++#: compress/compress.c:639 compress/compress.c:691 + #, fuzzy, c-format + msgid "Compressing %s" + msgstr "Sedang menyalin ke %s..." + +-#: compress.c:687 ++#: compress/compress.c:686 + #, fuzzy, c-format + msgid "Compressed-appending to %s..." + msgstr "Sedang menyalin ke %s..." + +-#: compress.c:699 editmsg.c:247 ++#: compress/compress.c:698 editmsg.c:247 + #, c-format + msgid "Error. Preserving temporary file: %s" + msgstr "Error. Menyimpan file sementara: %s" + ++#: config/bool.c:70 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %s" ++msgstr "Bulan relatif tidak benar: %s" ++ ++#: config/bool.c:131 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %ld" ++msgstr "Bulan relatif tidak benar: %s" ++ ++#: config/enum.c:62 ++#, fuzzy, c-format ++msgid "Invalid enum value: %s" ++msgstr "%d: bukan nomer surat yang betul.\n" ++ ++#: config/enum.c:149 ++#, fuzzy, c-format ++msgid "Invalid enum value: %ld" ++msgstr "Tidak tanggal: %s" ++ ++#: config/long.c:50 ++#, fuzzy, c-format ++msgid "Invalid long: %s" ++msgstr "Tidak ada bulan: %s" ++ ++#: config/long.c:56 config/long.c:114 config/number.c:68 config/number.c:133 ++#, fuzzy, c-format ++msgid "Option %s may not be negative" ++msgstr "Fungsi ini tidak diperbolehkan pada mode pelampiran-surat" ++ ++#: config/number.c:49 config/sort.c:145 config/string.c:75 config/string.c:159 ++#, c-format ++msgid "Option %s may not be empty" ++msgstr "" ++ ++#: config/number.c:56 ++#, fuzzy, c-format ++msgid "Invalid number: %s" ++msgstr "%d: bukan nomer surat yang betul.\n" ++ ++#: config/number.c:62 ++#, c-format ++msgid "Number is too big: %s" ++msgstr "" ++ ++#: config/number.c:127 ++#, fuzzy, c-format ++msgid "Invalid number: %ld" ++msgstr "%d: bukan nomer surat yang betul.\n" ++ ++#: config/quad.c:69 ++#, fuzzy, c-format ++msgid "Invalid quad value: %s" ++msgstr "Bulan relatif tidak benar: %s" ++ ++#: config/quad.c:133 ++#, fuzzy, c-format ++msgid "Invalid quad value: %ld" ++msgstr "Tidak tanggal: %s" ++ ++#: config/set.c:102 ++#, c-format ++msgid "No such variable: %s" ++msgstr "" ++ ++#: config/set.c:134 config/set.c:821 ++#, fuzzy, c-format ++msgid "Variable '%s' has an invalid type %d" ++msgstr "Error: IDN '%s' tidak benar" ++ ++#: config/set.c:399 config/set.c:463 config/set.c:528 config/set.c:601 ++#: config/set.c:671 config/set.c:744 ++#, fuzzy, c-format ++msgid "Unknown variable '%s'" ++msgstr "%s: variable tidak diketahui" ++ ++#: config/sort.c:192 ++#, fuzzy, c-format ++msgid "Invalid sort name: %s" ++msgstr "Bulan relatif tidak benar: %s" ++ ++#: config/sort.c:322 ++#, fuzzy, c-format ++msgid "Invalid sort type: %ld" ++msgstr "Bulan relatif tidak benar: %s" ++ ++#. L10N: Example: Username at myhost.com ++#: conn/connaccount.c:61 ++#, c-format ++msgid "Username at %s: " ++msgstr "Nama user di %s: " ++ ++#: conn/connaccount.c:117 ++#, c-format ++msgid "Password for %s@%s: " ++msgstr "Password utk %s@%s: " ++ ++#. L10N: You will see this error message if (1) you have "oauthbearer" in ++#. one of your $*_authenticators and (2) you do not have the corresponding ++#. $*_oauth_refresh_command defined. So the message does not mean "None of ++#. your $*_oauth_refresh_command's are defined." ++#: conn/connaccount.c:165 ++#, fuzzy ++msgid "No OAUTH refresh command defined" ++msgstr "Perintah query tidak diketahui" ++ ++#: conn/connaccount.c:173 ++msgid "Unable to run refresh command" ++msgstr "" ++ ++#: conn/connaccount.c:184 ++msgid "Command returned empty string" ++msgstr "" ++ ++#: conn/connaccount.c:191 ++#, c-format ++msgid "OAUTH token is too big: %ld" ++msgstr "" ++ + #: conn/conn_raw.c:160 conn/conn_raw.c:218 + #, c-format + msgid "Looking up %s..." +@@ -1355,7 +1616,7 @@ msgstr "Menghubungi %s..." + msgid "Could not connect to %s (%s)" + msgstr "Tidak bisa berhubungan ke %s (%s)" + +-#: conn/conn_raw.c:260 conn/ssl.c:1230 curs_lib.c:568 mutt_logging.c:149 ++#: conn/conn_raw.c:260 conn/ssl.c:1245 gui/curs_lib.c:569 mutt_logging.c:147 + msgid "unknown error" + msgstr "eh..eh.. napa nih?" + +@@ -1369,23 +1630,23 @@ msgstr "Kesalahan waktu menghubungi ke server %s (%s)" + msgid "Connection to %s has been aborted" + msgstr "Hubungan ke %s ditutup." + +-#: conn/sasl.c:565 ++#: conn/sasl.c:547 + msgid "Unknown SASL profile" + msgstr "Profil SASL tidak diketahui" + +-#: conn/sasl.c:598 ++#: conn/sasl.c:580 + msgid "Error allocating SASL connection" + msgstr "Gagal mengalokasikan koneksi SASL" + +-#: conn/sasl.c:608 ++#: conn/sasl.c:590 + msgid "Error setting SASL security properties" + msgstr "Gagal mengeset detil keamanan SASL" + +-#: conn/sasl.c:619 ++#: conn/sasl.c:601 + msgid "Error setting SASL external security strength" + msgstr "Gagal mengeset tingkat keamanan eksternal SASL" + +-#: conn/sasl.c:629 ++#: conn/sasl.c:611 + msgid "Error setting SASL external user name" + msgstr "Gagal mengeset nama pengguna eksternal SASL" + +@@ -1398,138 +1659,112 @@ msgstr "Perintah pra-koneksi gagal" + msgid "Connection to %s closed" + msgstr "Hubungan ke %s ditutup." + +-#: conn/ssl.c:237 ++#: conn/ssl.c:222 + #, c-format + msgid "Filling entropy pool: %s..." + msgstr "Mengisi pool entropy: %s..." + +-#: conn/ssl.c:243 ++#: conn/ssl.c:228 + #, c-format + msgid "%s has insecure permissions" + msgstr "%s mempunyai permissions yang tidak aman" + +-#: conn/ssl.c:385 ++#: conn/ssl.c:369 + #, fuzzy + msgid "SSL disabled due to the lack of entropy" + msgstr "SSL tidak dapat digunakan karena kekurangan entropy" + +-#: conn/ssl.c:402 ++#: conn/ssl.c:386 + msgid "Unknown" + msgstr "Tidak diketahui" + +-#: conn/ssl.c:421 conn/ssl_gnutls.c:186 ++#: conn/ssl.c:405 conn/ssl_gnutls.c:188 + #, c-format + msgid "[unable to calculate]" + msgstr "[tidak bisa melakukan penghitungan]" + +-#: conn/ssl.c:446 ++#: conn/ssl.c:430 + msgid "[invalid date]" + msgstr "[tanggal tidak betul]" + +-#: conn/ssl.c:506 ++#: conn/ssl.c:490 + msgid "Server certificate is not yet valid" + msgstr "Sertifikat server belum sah" + +-#: conn/ssl.c:516 ++#: conn/ssl.c:500 + msgid "Server certificate has expired" + msgstr "Sertifikat server sudah kadaluwarsa" + +-#: conn/ssl.c:605 ++#: conn/ssl.c:589 + msgid "Failed to find enough entropy on your system" + msgstr "Gagal menemukan cukup entropy di sistem anda" + +-#: conn/ssl.c:799 ++#: conn/ssl.c:783 + #, fuzzy + msgid "can't get certificate subject" + msgstr "Tidak bisa mengambil sertifikat" + +-#: conn/ssl.c:808 conn/ssl.c:816 ++#: conn/ssl.c:792 conn/ssl.c:800 + #, fuzzy + msgid "can't get certificate common name" + msgstr "Tidak bisa mengambil sertifikat" + +-#: conn/ssl.c:830 ++#: conn/ssl.c:814 + #, fuzzy, c-format + msgid "certificate owner does not match hostname %s" + msgstr "Pemilik sertifikat S/MIME tidak sesuai dg pengirim." + +-#: conn/ssl.c:904 conn/ssl_gnutls.c:539 ++#: conn/ssl.c:917 conn/ssl_gnutls.c:570 + msgid "This certificate belongs to:" + msgstr "Sertifikat ini dimiliki oleh:" + +-#: conn/ssl.c:913 conn/ssl_gnutls.c:593 ++#: conn/ssl.c:926 conn/ssl_gnutls.c:624 + msgid "This certificate was issued by:" + msgstr "Sertifikat ini dikeluarkan oleh:" + +-#: conn/ssl.c:922 conn/ssl_gnutls.c:604 ++#: conn/ssl.c:935 conn/ssl_gnutls.c:635 + msgid "This certificate is valid" + msgstr "Sertifikat ini sah" + +-#: conn/ssl.c:923 conn/ssl_gnutls.c:608 ++#: conn/ssl.c:936 conn/ssl_gnutls.c:639 + #, c-format + msgid " from %s" + msgstr " dari %s" + +-#: conn/ssl.c:925 conn/ssl_gnutls.c:612 +-#, c-format +-msgid " to %s" +-msgstr " ke %s" +- +-#: conn/ssl.c:931 conn/ssl_gnutls.c:617 +-#, c-format +-msgid "SHA1 Fingerprint: %s" +-msgstr "Cap jari SHA1: %s" +- +-#: conn/ssl.c:937 conn/ssl.c:940 conn/ssl_gnutls.c:623 conn/ssl_gnutls.c:625 +-#, fuzzy +-msgid "SHA256 Fingerprint: " +-msgstr "Cap jari SHA256: %s" +- +-#: conn/ssl.c:944 conn/ssl_gnutls.c:664 ++#: conn/ssl.c:938 conn/ssl_gnutls.c:643 + #, c-format +-msgid "SSL Certificate check (certificate %zu of %zu in chain)" +-msgstr "" +- +-#. L10N: These four letters correspond to the choices in the next four strings: +-#. (r)eject, accept (o)nce, (a)ccept always, (s)kip. +-#. These prompts are the interactive certificate confirmation prompts for +-#. an OpenSSL connection. +-#: conn/ssl.c:964 +-msgid "roas" +-msgstr "" +- +-#: conn/ssl.c:968 +-#, fuzzy +-msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" +-msgstr "(t)olak, terima (s)ekali, terima selal(u)" ++msgid " to %s" ++msgstr " ke %s" + +-#: conn/ssl.c:970 conn/ssl_gnutls.c:671 +-msgid "(r)eject, accept (o)nce, (a)ccept always" +-msgstr "(t)olak, terima (s)ekali, terima selal(u)" ++#: conn/ssl.c:944 conn/ssl_gnutls.c:648 ++#, c-format ++msgid "SHA1 Fingerprint: %s" ++msgstr "Cap jari SHA1: %s" + +-#: conn/ssl.c:975 ++#: conn/ssl.c:950 conn/ssl.c:953 conn/ssl_gnutls.c:654 conn/ssl_gnutls.c:656 + #, fuzzy +-msgid "(r)eject, accept (o)nce, (s)kip" +-msgstr "(t)olak, terima (s)ekali" ++msgid "SHA256 Fingerprint: " ++msgstr "Cap jari SHA256: %s" + +-#: conn/ssl.c:977 conn/ssl_gnutls.c:680 +-msgid "(r)eject, accept (o)nce" +-msgstr "(t)olak, terima (s)ekali" ++#: conn/ssl.c:957 conn/ssl_gnutls.c:695 ++#, c-format ++msgid "SSL Certificate check (certificate %zu of %zu in chain)" ++msgstr "" + +-#: conn/ssl.c:981 conn/ssl_gnutls.c:689 ncrypt/crypt_gpgme.c:4729 +-#: ncrypt/pgpkey.c:664 ncrypt/smime.c:549 ++#: conn/ssl.c:994 conn/ssl_gnutls.c:720 ncrypt/crypt_gpgme.c:4777 ++#: ncrypt/pgpkey.c:667 ncrypt/smime.c:551 + msgid "Exit " + msgstr "Keluar " + +-#: conn/ssl.c:1016 conn/ssl_gnutls.c:742 ++#: conn/ssl.c:1029 conn/ssl_gnutls.c:773 + msgid "Warning: Couldn't save certificate" + msgstr "Warning: Tidak dapat menyimpan sertifikat" + +-#: conn/ssl.c:1020 conn/ssl_gnutls.c:746 ++#: conn/ssl.c:1033 conn/ssl_gnutls.c:777 + msgid "Certificate saved" + msgstr "Sertifikat telah disimpan" + +-#: conn/ssl.c:1132 ++#: conn/ssl.c:1147 + #, fuzzy, c-format + msgid "Certificate host check failed: %s" + msgstr "Sertifikat telah disimpan" +@@ -1537,15 +1772,15 @@ msgstr "Sertifikat telah disimpan" + #. L10N: This is a warning when trying to set the host name for + #. * TLS Server Name Indication (SNI). This allows the server to present + #. * the correct certificate if it supports multiple hosts. +-#: conn/ssl.c:1213 conn/ssl_gnutls.c:1072 ++#: conn/ssl.c:1228 conn/ssl_gnutls.c:1105 + msgid "Warning: unable to set TLS SNI host name" + msgstr "" + +-#: conn/ssl.c:1224 ++#: conn/ssl.c:1239 + msgid "I/O error" + msgstr "Kesalahan I/O" + +-#: conn/ssl.c:1233 ++#: conn/ssl.c:1248 + #, c-format + msgid "SSL failed: %s" + msgstr "SSL gagal: %s" +@@ -1553,90 +1788,74 @@ msgstr "SSL gagal: %s" + #. L10N: an SSL context is a data structure returned by the OpenSSL + #. function SSL_CTX_new(). In this case it returned NULL: an + #. error condition. +-#: conn/ssl.c:1269 ++#: conn/ssl.c:1284 + #, fuzzy + msgid "Unable to create SSL context" + msgstr "Error: tidak bisa membuat subproses utk OpenSSL!" + +-#: conn/ssl.c:1322 ++#: conn/ssl.c:1337 + msgid "Warning: error enabling ssl_verify_partial_chains" + msgstr "" + +-#: conn/ssl_gnutls.c:150 conn/ssl_gnutls.c:784 conn/ssl_gnutls.c:793 ++#: conn/ssl_gnutls.c:152 conn/ssl_gnutls.c:817 conn/ssl_gnutls.c:826 + msgid "Unable to get certificate from peer" + msgstr "Tidak bisa mengambil sertifikat" + +-#: conn/ssl_gnutls.c:155 ++#: conn/ssl_gnutls.c:157 + #, c-format + msgid "Certificate verification error (%s)" + msgstr "Error verifikasi sertifikat (%s)" + +-#: conn/ssl_gnutls.c:162 ++#: conn/ssl_gnutls.c:164 + msgid "Certificate is not X.509" + msgstr "Sertifikat bukan X.509" + +-#: conn/ssl_gnutls.c:349 conn/ssl_gnutls.c:483 ++#: conn/ssl_gnutls.c:351 conn/ssl_gnutls.c:485 + msgid "Error initialising gnutls certificate data" + msgstr "Gagal menginisialisasi data sertifikat gnutls" + +-#: conn/ssl_gnutls.c:355 conn/ssl_gnutls.c:489 ++#: conn/ssl_gnutls.c:357 conn/ssl_gnutls.c:491 + msgid "Error processing certificate data" + msgstr "Gagal memproses data sertifikat" + +-#: conn/ssl_gnutls.c:635 ++#: conn/ssl_gnutls.c:666 + msgid "WARNING: Server certificate is not yet valid" + msgstr "PERHATIAN: Sertifikat server masih belum valid" + +-#: conn/ssl_gnutls.c:640 ++#: conn/ssl_gnutls.c:671 + msgid "WARNING: Server certificate has expired" + msgstr "PERHATIAN: Sertifikat server sudah kadaluwarsa" + +-#: conn/ssl_gnutls.c:645 ++#: conn/ssl_gnutls.c:676 + msgid "WARNING: Server certificate has been revoked" + msgstr "PERHATIAN: Sertifikat server sudah dicabut" + +-#: conn/ssl_gnutls.c:650 ++#: conn/ssl_gnutls.c:681 + msgid "WARNING: Server hostname does not match certificate" + msgstr "PERHATIAN: Nama host server tidak cocok dengan sertifikat" + +-#: conn/ssl_gnutls.c:655 ++#: conn/ssl_gnutls.c:686 + msgid "WARNING: Signer of server certificate is not a CA" + msgstr "PERHATIAN: Penandatangan sertifikat server bukan CA" + +-#: conn/ssl_gnutls.c:659 conn/ssl_gnutls.c:1004 ++#: conn/ssl_gnutls.c:690 conn/ssl_gnutls.c:1037 + msgid "Warning: Server certificate was signed using an insecure algorithm" + msgstr "" + +-#. L10N: These three letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce, (a)ccept always. +-#. This is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:676 +-msgid "roa" +-msgstr "tsu" +- +-#. L10N: These two letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce. +-#. These is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:685 +-msgid "ro" +-msgstr "ts" +- +-#: conn/ssl_gnutls.c:950 conn/ssl_gnutls.c:992 ++#: conn/ssl_gnutls.c:983 conn/ssl_gnutls.c:1025 + msgid "All available protocols for TLS/SSL connection disabled" + msgstr "Semua protokol yg tersedia utk TLS/SSL tidak aktif" + +-#: conn/ssl_gnutls.c:999 ++#: conn/ssl_gnutls.c:1032 + msgid "Explicit ciphersuite selection via $ssl_ciphers not supported" + msgstr "" + +-#: conn/ssl_gnutls.c:1120 ++#: conn/ssl_gnutls.c:1153 + #, c-format + msgid "SSL/TLS connection using %s (%s/%s/%s)" + msgstr "Hubungan SSL menggunakan %s (%s/%s/%s)" + +-#: conn/ssl_gnutls.c:1175 conn/ssl_gnutls.c:1204 ++#: conn/ssl_gnutls.c:1210 conn/ssl_gnutls.c:1239 + msgid "Error: no TLS socket open" + msgstr "Error: tidak ada socket TLS terbuka" + +@@ -1655,37 +1874,17 @@ msgstr "Kesalahan tunnel saat berbicara dg %s: %s" + msgid "Tunnel to %s returned error %d (%s)" + msgstr "Tunnel ke %s menghasilkan error %d (%s)" + +-#: copy.c:660 ++#: copy.c:662 + #, c-format + msgid "The length calculation was wrong by %ld byte" + msgid_plural "The length calculation was wrong by %ld bytes" + msgstr[0] "" + +-#: copy.c:744 ++#: copy.c:746 + msgid "No decryption engine available for message" + msgstr "" + +-#: curs_lib.c:378 +-msgid "yes" +-msgstr "ya" +- +-#: curs_lib.c:379 +-msgid "no" +-msgstr "nggak" +- +-#: curs_lib.c:518 +-msgid "Exit NeoMutt?" +-msgstr "Keluar dari NeoMutt?" +- +-#: curs_lib.c:597 +-msgid "Press any key to continue..." +-msgstr "Tekan sembarang tombol untuk lanjut..." +- +-#: curs_lib.c:705 +-msgid " ('?' for list): " +-msgstr " ('?' utk lihat daftar): " +- +-#: edit.c:64 ++#: edit.c:62 + #, fuzzy + msgid "" + "~~ insert a line beginning with a single ~\n" +@@ -1708,7 +1907,7 @@ msgstr "" + "~M surat2 sama seperti ~m, tapi menyertakan headers\n" + "~p cetak surat\n" + +-#: edit.c:75 ++#: edit.c:73 + msgid "" + "~q write file and quit editor\n" + "~r file read a file into the editor\n" +@@ -1730,20 +1929,20 @@ msgstr "" + "~? pesan ini\n" + ". di satu baris sendiri menyudahi input\n" + +-#: edit.c:261 ++#: edit.c:259 + #, c-format + msgid "%d: invalid message number.\n" + msgstr "%d: bukan nomer surat yang betul.\n" + +-#: edit.c:416 ++#: edit.c:414 + msgid "(End message with a . on a line by itself)\n" + msgstr "(Akhiri surat dengan . di satu baris sendiri)\n" + +-#: edit.c:474 ++#: edit.c:472 + msgid "No mailbox.\n" + msgstr "Tidak ada kotak surat.\n" + +-#: edit.c:478 ++#: edit.c:476 + msgid "Message contains:\n" + msgstr "Surat berisi:\n" + +@@ -1751,19 +1950,19 @@ msgstr "Surat berisi:\n" + #. not IN the middle of the content. + #. So it doesn't mean "(message will continue)" + #. but means "(press any key to continue using neomutt)". +-#: edit.c:486 edit.c:547 ++#: edit.c:484 edit.c:545 + msgid "(continue)\n" + msgstr "(lanjut)\n" + +-#: edit.c:499 ++#: edit.c:497 + msgid "missing filename.\n" + msgstr "nama file tidak ditemukan.\n" + +-#: edit.c:519 ++#: edit.c:517 + msgid "No lines in message.\n" + msgstr "Tidak ada sebaris pun di dalam surat.\n" + +-#: edit.c:558 ++#: edit.c:556 + #, c-format + msgid "%s: unknown editor command (~? for help)\n" + msgstr "%s: perintah editor tidak dikenali (~? utk bantuan)\n" +@@ -1810,19 +2009,73 @@ msgstr "Tidak bisa menambah ke kotak surat: %s" + msgid "multipart message has no boundary parameter" + msgstr "surat multi bagian tidak punya parameter batas" + +-#: flags.c:382 index.c:2561 index.c:2604 index.c:3134 index.c:3171 ++#: flags.c:381 index.c:2587 index.c:2630 index.c:3160 index.c:3197 + #: mutt_thread.c:1091 mutt_thread.c:1158 mutt_thread.c:1246 + msgid "Threading is not enabled" + msgstr "Tidak disetting untuk melakukan threading" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Set flag" + msgstr "Tandai" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Clear flag" + msgstr "Batal ditandai" + ++#: gui/color.c:633 gui/color.c:644 ++#, c-format ++msgid "%s: color not supported by term" ++msgstr "%s: warna tidak didukung oleh term" ++ ++#: gui/color.c:652 ++#, c-format ++msgid "%s: no such color" ++msgstr "%s: tidak ada warna begitu" ++ ++#: gui/color.c:717 gui/color.c:740 gui/color.c:751 gui/color.c:842 ++#, c-format ++msgid "%s: no such object" ++msgstr "%s: tidak ada objek begitu" ++ ++#: gui/color.c:1142 ++#, c-format ++msgid "%s: no such attribute" ++msgstr "%s: tidak ada atribut begitu" ++ ++#: gui/color.c:1244 ++msgid "default colors not supported" ++msgstr "warna default tidak didukung" ++ ++#: gui/color.c:1282 ++#, c-format ++msgid "Maximum quoting level is %d" ++msgstr "" ++ ++#: gui/color.c:1319 ++#, fuzzy, c-format ++msgid "%s: invalid number: %s" ++msgstr "%d: bukan nomer surat yang betul.\n" ++ ++#: gui/curs_lib.c:379 ++msgid "yes" ++msgstr "ya" ++ ++#: gui/curs_lib.c:380 ++msgid "no" ++msgstr "nggak" ++ ++#: gui/curs_lib.c:519 ++msgid "Exit NeoMutt?" ++msgstr "Keluar dari NeoMutt?" ++ ++#: gui/curs_lib.c:598 ++msgid "Press any key to continue..." ++msgstr "Tekan sembarang tombol untuk lanjut..." ++ ++#: gui/curs_lib.c:749 ++msgid " ('?' for list): " ++msgstr " ('?' utk lihat daftar): " ++ + #: handler.c:102 + #, fuzzy, c-format + msgid "[-- Type: %s/%s%s%s, Encoding: %s, Size: %s --]\n" +@@ -1843,23 +2096,23 @@ msgstr "[-- Tampil-otomatis dengan %s --]\n" + msgid "Invoking autoview command: %s" + msgstr "Menjalankan perintah tampil-otomatis: %s" + +-#: handler.c:591 mutt_attach.c:527 mutt_attach.c:714 mutt_attach.c:745 +-#: mutt_attach.c:1087 mutt_attach.c:1152 ncrypt/pgpkey.c:723 +-#: ncrypt/pgpkey.c:920 ++#: handler.c:590 mutt_attach.c:555 mutt_attach.c:747 mutt_attach.c:778 ++#: mutt_attach.c:1120 mutt_attach.c:1185 ncrypt/pgpkey.c:756 ++#: ncrypt/pgpkey.c:955 + msgid "Can't create filter" + msgstr "Tidak bisa membuat filter" + +-#: handler.c:595 ++#: handler.c:594 + #, c-format + msgid "[-- Can't run %s. --]\n" + msgstr "[-- Tidak bisa menjalankan %s. --]\n" + +-#: handler.c:614 handler.c:635 ++#: handler.c:613 handler.c:634 + #, c-format + msgid "[-- Autoview stderr of %s --]\n" + msgstr "[-- Stderr dari tampil-otomatis %s --]\n" + +-#: handler.c:764 ++#: handler.c:763 + msgid "[-- Error: message/external-body has no access-type parameter --]\n" + msgstr "[-- Error: message/external-body tidak punya parameter access-type --]\n" + +@@ -1878,7 +2131,7 @@ msgstr "[-- Error: message/external-body tidak punya parameter access-type --]\ + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:807 ++#: handler.c:806 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" +@@ -1904,7 +2157,7 @@ msgstr[0] "" + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:830 ++#: handler.c:829 + #, fuzzy, c-format + msgid "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" + msgid_plural "[-- This %s/%s attachment (size %s bytes) has been deleted --]\n" +@@ -1917,7 +2170,7 @@ msgstr[0] "[-- Lampiran %s/%s ini (ukuran %s bytes) telah dihapus --]\n" + #. + #. Caution: Argument three %3$ is also defined but should not be used + #. in this translation! +-#: handler.c:848 ++#: handler.c:847 + #, fuzzy + msgid "" + "[-- This %s/%s attachment has been deleted --]\n" +@@ -1929,12 +2182,12 @@ msgstr "" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The first "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:856 ++#: handler.c:855 + #, fuzzy, c-format + msgid "[-- This %s/%s attachment has been deleted --]\n" + msgstr "[-- Lampiran %s/%s ini telah dihapus --]\n" + +-#: handler.c:866 ++#: handler.c:865 + #, c-format + msgid "[-- name: %s --]\n" + msgstr "[-- nama: %s --]\n" +@@ -1942,7 +2195,7 @@ msgstr "[-- nama: %s --]\n" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:884 ++#: handler.c:883 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -1958,7 +2211,7 @@ msgstr "" + #. The "%s/%s" is a MIME type, e.g. "text/plain". The %s after + #. access-type is an access-type as defined by the MIME RFCs, e.g. "FTP", + #. "LOCAL-FILE", "MAIL-SERVER". +-#: handler.c:905 ++#: handler.c:904 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -1967,96 +2220,96 @@ msgstr "" + "[-- Lampiran %s/%s ini tidak disertakan, --]\n" + "[-- dan tipe akses %s tsb tidak didukung --]\n" + +-#: handler.c:1090 ++#: handler.c:1089 + msgid "[-- Error: Could not display any parts of Multipart/Alternative --]\n" + msgstr "[-- Error: Tidak ada bagian Multipart/Alternative yg bisa ditampilkan --]\n" + + #. L10N: %s is the attachment description, filename or form_name. +-#: handler.c:1231 ++#: handler.c:1230 + #, fuzzy, c-format + msgid "[-- Attachment #%d: %s --]\n" + msgstr "[-- Lampiran #%d: %s --]\n" + +-#: handler.c:1236 ++#: handler.c:1235 + #, fuzzy, c-format + msgid "[-- Attachment #%d --]\n" + msgstr "[-- Lampiran #%d --]\n" + +-#: handler.c:1254 ++#: handler.c:1253 + #, fuzzy + msgid "One or more parts of this message could not be displayed" + msgstr "Perhatian: Sebagian dari pesan ini belum ditandatangani." + +-#: handler.c:1320 ++#: handler.c:1319 + #, fuzzy + msgid "Unable to open 'memory stream'" + msgstr "Tidak bisa membuka file sementara" + +-#: handler.c:1330 ++#: handler.c:1329 + msgid "Unable to open temporary file" + msgstr "Tidak bisa membuka file sementara" + +-#: handler.c:1379 ++#: handler.c:1378 + #, fuzzy + msgid "failed to re-open 'memory stream'" + msgstr "Tidak bisa membuka file sementara" + +-#: handler.c:1620 ++#: handler.c:1619 + msgid "Error: multipart/signed has no protocol" + msgstr "Error: multipart/signed tidak punya protokol" + + #. L10N: %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1694 ++#: handler.c:1693 + #, fuzzy, c-format + msgid "[-- This is an attachment (use '%s' to view this part) --]\n" + msgstr "[-- Lampiran %s/%s ini (gunakan '%s' untuk melihat bagian ini) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". + #. The last %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1701 ++#: handler.c:1700 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported (use '%s' to view this part) --]\n" + msgstr "[-- %s/%s tidak didukung (gunakan '%s' untuk melihat bagian ini) --]\n" + +-#: handler.c:1709 ++#: handler.c:1708 + #, fuzzy + msgid "[-- This is an attachment (need 'view-attachments' bound to key) --]\n" + msgstr "[-- Lampiran %s/%s ini (tombol untuk 'view-attachments' belum ditentukan) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1715 ++#: handler.c:1714 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported (need 'view-attachments' bound to key) --]\n" + msgstr "[-- %s/%s tidak didukung (tombol untuk 'view-attachments' belum ditentukan) --]\n" + +-#: handler.c:1724 ++#: handler.c:1723 + #, fuzzy + msgid "[-- This is an attachment --]\n" + msgstr "[-- Lampiran %s/%s ini --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1729 ++#: handler.c:1728 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported --]\n" + msgstr "[-- %s/%s tidak didukung --]\n" + +-#: help.c:400 ++#: help.c:401 + msgid "ERROR: please report this bug" + msgstr "ERROR: harap laporkan bug ini" + +-#: help.c:455 ++#: help.c:456 + msgid "" + msgstr "" + +-#: help.c:469 ++#: help.c:470 + msgid "Generic bindings:" + msgstr "Penentuan tombol generik:" + +-#: help.c:473 ++#: help.c:474 + msgid "Unbound functions:" + msgstr "Fungsi-fungsi yang belum ditentukan tombolnya:" + +-#: help.c:481 ++#: help.c:482 + #, c-format + msgid "Help for %s" + msgstr "Bantuan utk %s" +@@ -2073,41 +2326,41 @@ msgstr "" + msgid "badly formatted command string" + msgstr "" + +-#: hook.c:461 ++#: hook.c:466 + msgid "unhook: Can't do unhook * from within a hook" + msgstr "unhook: Tidak dapat melakukan unhook * dari hook" + +-#: hook.c:474 ++#: hook.c:479 + #, c-format + msgid "unhook: unknown hook type: %s" + msgstr "unhook: jenis tidak dikenali: %s" + +-#: hook.c:484 ++#: hook.c:489 + #, c-format + msgid "unhook: Can't delete a %s from within a %s" + msgstr "unhook: Tidak dapat menghapus %s dari %s" + + #. L10N: '%s' is the (misspelled) name of the menu, e.g. 'index' or 'pager' +-#: icommands.c:259 keymap.c:1161 keymap.c:1346 ++#: icommands.c:261 keymap.c:1159 keymap.c:1344 + #, c-format + msgid "%s: no such menu" + msgstr "%s: tidak ada menu begitu" + + #. L10N: '%s' is the name of the menu, e.g. 'index' or 'pager', it might + #. L10N: also be 'all' when all menus are affected. +-#: icommands.c:272 ++#: icommands.c:274 + #, fuzzy, c-format + msgid "%s: no binds for this menu" + msgstr "%s: tidak ada menu begitu" + +-#: icommands.c:272 ++#: icommands.c:274 + #, fuzzy, c-format + msgid "%s: no macros for this menu" + msgstr "%s: tidak ada menu begitu" + + #. L10N: '%s' is the file name of the temporary file +-#: icommands.c:283 icommands.c:296 icommands.c:316 icommands.c:340 +-#: icommands.c:360 icommands.c:371 imap/message.c:1093 ++#: icommands.c:285 icommands.c:297 icommands.c:317 icommands.c:340 ++#: icommands.c:360 icommands.c:370 imap/message.c:1093 + #, c-format + msgid "Could not create temporary file %s" + msgstr "Tidak bisa membuat file sementara %s" +@@ -2145,30 +2398,30 @@ msgstr "Authentikasi GSSAPI gagal" + msgid "LOGIN disabled on this server" + msgstr "LOGIN tidak diaktifkan di server ini" + +-#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:288 ++#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:289 + msgid "Logging in..." + msgstr "Sedang login..." + +-#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:329 ++#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:330 + msgid "Login failed" + msgstr "Login gagal" + +-#: imap/auth_oauth.c:64 pop/pop_auth.c:346 smtp.c:524 ++#: imap/auth_oauth.c:65 pop/pop_auth.c:347 smtp.c:549 + #, fuzzy + msgid "Authenticating (OAUTHBEARER)..." + msgstr "Mengauthentikasi (SASL)..." + +-#: imap/auth_oauth.c:96 ++#: imap/auth_oauth.c:97 + #, fuzzy + msgid "OAUTHBEARER authentication failed" + msgstr "Authentikasi OAUTHBEARER gagal" + +-#: imap/auth_sasl.c:128 nntp/nntp.c:606 nntp/nntp.c:671 smtp.c:443 ++#: imap/auth_sasl.c:128 nntp/nntp.c:608 nntp/nntp.c:673 smtp.c:468 + #, c-format + msgid "Authenticating (%s)..." + msgstr "Mengauthentikasi (%s)..." + +-#: imap/auth_sasl.c:259 pop/pop_auth.c:200 smtp.c:584 smtp.c:646 ++#: imap/auth_sasl.c:259 pop/pop_auth.c:201 smtp.c:609 smtp.c:671 + msgid "SASL authentication failed" + msgstr "Authentikasi SASL gagal" + +@@ -2216,132 +2469,122 @@ msgstr "Penggantian nama gagal: %s" + msgid "Mailbox renamed" + msgstr "Kotak surat telah diganti namanya" + +-#: imap/command.c:164 ++#: imap/command.c:177 + #, fuzzy, c-format + msgid "Mailbox %s@%s closed" + msgstr "Kotak surat telah ditutup." + +-#: imap/command.c:1258 imap/command.c:1370 ++#: imap/command.c:1287 imap/command.c:1399 + #, fuzzy, c-format + msgid "Connection to %s timed out" + msgstr "Hubungan ke %s ditutup." + +-#: imap/imap.c:87 ++#: imap/imap.c:93 + #, fuzzy + msgid "This IMAP server is ancient. NeoMutt does not work with it." + msgstr "IMAP server ini sudah kuno. NeoMutt tidak bisa menggunakannya." + +-#: imap/imap.c:438 ++#: imap/imap.c:444 + #, c-format + msgid "Header search without header name: %s" + msgstr "Pencarian header tanpa nama header: %s" + +-#: imap/imap.c:468 ++#: imap/imap.c:474 + #, c-format + msgid "Server-side custom search not supported: %s" + msgstr "" + +-#: imap/imap.c:584 ++#: imap/imap.c:590 + #, fuzzy, c-format + msgid "CREATE failed: %s" + msgstr "SSL gagal: %s" + +-#: imap/imap.c:704 ++#: imap/imap.c:710 + #, c-format + msgid "Closing connection to %s..." + msgstr "Menutup hubungan ke %s..." + +-#: imap/imap.c:882 nntp/nntp.c:1889 pop/pop_lib.c:324 smtp.c:687 ++#: imap/imap.c:888 nntp/nntp.c:1891 pop/pop_lib.c:350 smtp.c:712 + msgid "Secure connection with TLS?" + msgstr "Gunakan hubungan aman dg TLS?" + +-#: imap/imap.c:895 nntp/nntp.c:1910 pop/pop_lib.c:343 smtp.c:702 ++#: imap/imap.c:901 nntp/nntp.c:1912 pop/pop_lib.c:369 smtp.c:727 + msgid "Could not negotiate TLS connection" + msgstr "Tidak dapat negosiasi hubungan TLS" + +-#: imap/imap.c:910 pop/pop_lib.c:360 ++#: imap/imap.c:916 pop/pop_lib.c:386 + msgid "Encrypted connection unavailable" + msgstr "Hubungan terenkripsi tidak tersedia" + +-#: imap/imap.c:1417 ++#: imap/imap.c:1430 + #, c-format + msgid "Subscribing to %s..." + msgstr "Berlangganan ke %s..." + +-#: imap/imap.c:1419 ++#: imap/imap.c:1432 + #, c-format + msgid "Unsubscribing from %s..." + msgstr "Berhenti langganan dari %s..." + +-#: imap/imap.c:1430 init.c:2142 +-#, c-format +-msgid "Subscribed to %s" +-msgstr "Berlangganan ke %s..." +- +-#: imap/imap.c:1432 init.c:2620 +-#, c-format +-msgid "Unsubscribed from %s" +-msgstr "Berhenti langganan dari %s" +- +-#: imap/imap.c:1582 imap/message.c:1674 ++#: imap/imap.c:1595 imap/message.c:1674 + #, fuzzy, c-format + msgid "Copying %d message to %s..." + msgid_plural "Copying %d messages to %s..." + msgstr[0] "Menyalin %d surat ke %s..." + +-#: imap/imap.c:1599 imap/imap.c:2217 imap/message.c:1713 muttlib.c:1505 ++#: imap/imap.c:1612 imap/imap.c:2254 imap/message.c:1713 muttlib.c:1503 + #, c-format + msgid "Create %s?" + msgstr "Buat %s?" + +-#: imap/imap.c:1667 ++#: imap/imap.c:1685 + msgid "Expunge failed" + msgstr "Penghapusan gagal" + +-#: imap/imap.c:1683 ++#: imap/imap.c:1701 + #, fuzzy, c-format + msgid "Marking %d message deleted..." + msgid_plural "Marking %d messages deleted..." + msgstr[0] "Menandai %d surat-surat \"dihapus\"..." + + #. L10N: The plural is chosen by the last %d, i.e. the total number +-#: imap/imap.c:1720 ++#: imap/imap.c:1738 + #, fuzzy, c-format + msgid "Saving changed message... [%d/%d]" + msgid_plural "Saving changed messages... [%d/%d]" + msgstr[0] "Menyimpan surat2 yg berubah... [%d/%d]" + +-#: imap/imap.c:1776 ++#: imap/imap.c:1794 + msgid "Error saving flags. Close anyway?" + msgstr "Gagal menyimpan flags. Tetap mau ditutup aja?" + +-#: imap/imap.c:1783 ++#: imap/imap.c:1801 + msgid "Error saving flags" + msgstr "Gagal menyimpan flags" + +-#: imap/imap.c:1808 ++#: imap/imap.c:1826 + msgid "Expunging messages from server..." + msgstr "Menghapus surat-surat di server..." + +-#: imap/imap.c:1814 ++#: imap/imap.c:1832 + msgid "imap_sync_mailbox: EXPUNGE failed" + msgstr "imap_sync_mailbox: EXPUNGE (hapus) gagal" + +-#: imap/imap.c:2023 nntp/nntp.c:2486 ++#: imap/imap.c:2058 nntp/nntp.c:2488 + #, c-format + msgid "Selecting %s..." + msgstr "Memilih %s..." + +-#: imap/imap.c:2184 ++#: imap/imap.c:2221 + msgid "Error opening mailbox" + msgstr "Error saat membuka kotak surat" + +-#: imap/imap.c:2330 ++#: imap/imap.c:2367 + #, fuzzy + msgid "IMAP server doesn't support custom flags" + msgstr "Server SMTP tidak mendukung authentikasi" + +-#: imap/imap.c:2374 ++#: imap/imap.c:2411 + #, fuzzy + msgid "Invalid IMAP flags" + msgstr "Tdk valid " +@@ -2352,7 +2595,7 @@ msgid "Abort download and close mailbox?" + msgstr "" + + #: imap/message.c:554 mutt/memory.c:58 mutt/memory.c:98 mutt/memory.c:134 +-#: mutt/string.c:1178 mx.c:1176 ++#: mutt/string.c:1201 mx.c:1195 + msgid "Out of memory" + msgstr "Buset, memory abis" + +@@ -2372,7 +2615,7 @@ msgstr "Mengambil header surat..." + msgid "Unable to fetch headers from this IMAP server version" + msgstr "Tidak dapat mengambil header dari IMAP server versi ini" + +-#: imap/message.c:1099 index.c:1548 nntp/nntp.c:1328 pop/pop.c:426 ++#: imap/message.c:1099 index.c:1554 nntp/nntp.c:1330 pop/pop.c:426 + msgid "Fetching message headers..." + msgstr "Mengambil header surat..." + +@@ -2385,156 +2628,156 @@ msgstr "Meletakkan surat ..." + msgid "Copying message %d to %s..." + msgstr "Menyalin surat %d ke %s..." + +-#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2737 pop/pop.c:1110 ++#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2739 pop/pop.c:1105 + msgid "Fetching message..." + msgstr "Mengambil surat..." + +-#: imap/message.c:1959 pop/pop.c:1106 ++#: imap/message.c:1959 pop/pop.c:1101 + msgid "The message index is incorrect. Try reopening the mailbox." + msgstr "Index dari surat tidak benar. Cobalah membuka kembali kotak surat tsb." + +-#: imap/util.c:767 ++#: imap/util.c:796 + msgid "Continue?" + msgstr "Lanjutkan?" + +-#: index.c:115 index.c:128 ++#: index.c:111 index.c:124 + msgid "Quit" + msgstr "Keluar" + +-#: index.c:118 index.c:131 recvattach.c:93 ++#: index.c:114 index.c:127 recvattach.c:91 + msgid "Save" + msgstr "Simpan" + +-#: index.c:119 query.c:81 ++#: index.c:115 query.c:79 + msgid "Mail" + msgstr "Surat" + +-#: index.c:120 pager.c:237 ++#: index.c:116 pager.c:229 + msgid "Reply" + msgstr "Balas" + +-#: index.c:121 ++#: index.c:117 + msgid "Group" + msgstr "Grup" + +-#: index.c:132 pager.c:244 ++#: index.c:128 pager.c:236 + msgid "Post" + msgstr "" + +-#: index.c:133 pager.c:245 ++#: index.c:129 pager.c:237 + #, fuzzy + msgid "Followup" + msgstr "Balas ke %s%s?" + +-#: index.c:190 index.c:1362 ++#: index.c:186 index.c:1367 + msgid "No mailbox is open" + msgstr "Tidak ada kotak surat yang terbuka" + +-#: index.c:196 ++#: index.c:192 + msgid "There are no messages" + msgstr "Tidak ada surat" + +-#: index.c:202 ++#: index.c:198 + msgid "No visible messages" + msgstr "Tidak ada surat yg bisa dilihat" + +-#: index.c:208 mx.c:901 pager.c:223 recvattach.c:80 ++#: index.c:204 mx.c:920 pager.c:215 recvattach.c:78 + msgid "Mailbox is read-only" + msgstr "Kotak surat hanya bisa dibaca" + +-#: index.c:214 pager.c:225 recvattach.c:98 ++#: index.c:210 pager.c:217 recvattach.c:96 + msgid "Function not permitted in attach-message mode" + msgstr "Fungsi ini tidak diperbolehkan pada mode pelampiran-surat" + + #. L10N: %s is one of the CHECK_ACL entries below. +-#: index.c:239 pager.c:290 ++#: index.c:235 pager.c:282 + #, fuzzy, c-format + msgid "%s: Operation not permitted by ACL" + msgstr "Tidak dapat %s: tidak diijinkan oleh ACL" + +-#: index.c:430 ++#: index.c:426 + msgid "Can't toggle write on a readonly mailbox" + msgstr "Kotak surat read-only, tidak bisa toggle write" + +-#: index.c:437 ++#: index.c:433 + msgid "Changes to folder will be written on folder exit" + msgstr "Perubahan ke folder akan dilakukan saat keluar dari folder" + +-#: index.c:442 ++#: index.c:438 + msgid "Changes to folder will not be written" + msgstr "Perubahan ke folder tidak akan dilakukan" + +-#: index.c:719 muttlib.c:1490 mx.c:206 mx.c:340 ++#: index.c:714 muttlib.c:1488 mx.c:206 mx.c:338 + #, c-format + msgid "%s is not a mailbox" + msgstr "%s bukan kotak surat" + +-#: index.c:1218 ++#: index.c:1223 + msgid "Mailbox was externally modified. Flags may be wrong." + msgstr "Kotak surat diobok-obok oleh program lain. Tanda-tanda surat mungkin tidak tepat." + +-#: index.c:1227 pager.c:2409 ++#: index.c:1232 pager.c:2379 + msgid "New mail in this mailbox" + msgstr "Surat baru di kotak ini" + +-#: index.c:1242 ++#: index.c:1247 + msgid "Mailbox was externally modified" + msgstr "Kotak surat diobok-obok oleh program lain" + +-#: index.c:1369 ++#: index.c:1374 + msgid "No tagged messages" + msgstr "Tidak ada surat yang ditandai" + +-#: index.c:1373 index.c:1647 menu.c:1423 ++#: index.c:1378 index.c:1653 menu.c:1423 + msgid "Nothing to do" + msgstr "Gak ngapa-ngapain" + +-#: index.c:1470 ++#: index.c:1475 + #, fuzzy + msgid "Enter Message-Id: " + msgstr "Masukkan keyID: " + +-#: index.c:1481 ++#: index.c:1487 + msgid "Article has no parent reference" + msgstr "" + +-#: index.c:1504 ++#: index.c:1510 + #, fuzzy + msgid "Message is not visible in limited view" + msgstr "Surat induk tidak bisa dilihat di tampilan terbatas ini" + +-#: index.c:1508 ++#: index.c:1514 + #, fuzzy, c-format + msgid "Fetching %s from server..." + msgstr "Menghapus surat-surat di server..." + +-#: index.c:1518 nntp/nntp.c:2772 ++#: index.c:1524 nntp/nntp.c:2774 + #, c-format + msgid "Article %s not found on the server" + msgstr "" + +-#: index.c:1544 ++#: index.c:1550 + msgid "No Message-Id. Unable to perform operation." + msgstr "" + +-#: index.c:1623 ++#: index.c:1629 + #, fuzzy + msgid "No deleted messages found in the thread" + msgstr "hapus semua surat di thread" + +-#: index.c:1644 ++#: index.c:1650 + msgid "Jump to message: " + msgstr "Ke surat no: " + +-#: index.c:1650 ++#: index.c:1656 + msgid "Argument must be a message number" + msgstr "Parameter harus berupa nomer surat" + +-#: index.c:1652 ++#: index.c:1658 + msgid "Invalid message number" + msgstr "Tidak ada nomer begitu" + +-#: index.c:1654 ++#: index.c:1660 + msgid "That message is not visible" + msgstr "Surat itu tidak bisa dilihat" + +@@ -2547,38 +2790,38 @@ msgstr "Surat itu tidak bisa dilihat" + #. delete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. + #. +-#: index.c:1692 index.c:3267 pager.c:3064 ++#: index.c:1698 index.c:3293 pager.c:3039 + #, fuzzy + msgid "Can't delete messages" + msgstr "tidak jadi hapus surat" + +-#: index.c:1695 ++#: index.c:1701 + msgid "Delete messages matching: " + msgstr "Hapus surat-surat yang: " + +-#: index.c:1736 ++#: index.c:1742 + msgid "No limit pattern is in effect" + msgstr "Pola batas (limit pattern) tidak ditentukan" + + #. L10N: ask for a limit to apply +-#: index.c:1741 ++#: index.c:1747 + #, c-format + msgid "Limit: %s" + msgstr " Batas: %s" + +-#: index.c:1778 ++#: index.c:1784 + msgid "Limit to messages matching: " + msgstr "Hanya surat-surat yang: " + +-#: index.c:1809 ++#: index.c:1815 + msgid "To view all messages, limit to \"all\"" + msgstr "Utk melihat semua pesan, batasi dengan \"semua\"" + +-#: index.c:1821 pager.c:2514 ++#: index.c:1827 pager.c:2487 + msgid "Quit NeoMutt?" + msgstr "Keluar dari NeoMutt?" + +-#: index.c:1924 ++#: index.c:1931 + msgid "Tag messages matching: " + msgstr "Tandai surat-surat yang: " + +@@ -2586,213 +2829,213 @@ msgstr "Tandai surat-surat yang: " + #. L10N: Due to the implementation details we do not know whether we + #. undelete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:1935 index.c:3807 pager.c:3418 ++#: index.c:1942 index.c:3833 pager.c:3396 + #, fuzzy + msgid "Can't undelete messages" + msgstr "tidak jadi hapus surat" + +-#: index.c:1939 ++#: index.c:1946 + msgid "Undelete messages matching: " + msgstr "Tidak jadi hapus surat-surat yang: " + +-#: index.c:1948 ++#: index.c:1955 + msgid "Untag messages matching: " + msgstr "Tidak jadi tandai surat-surat yang: " + +-#: index.c:1989 ++#: index.c:1996 + msgid "Logged out of IMAP servers" + msgstr "" + +-#: index.c:2105 ++#: index.c:2113 + #, fuzzy + msgid "No virtual folder and no Message-Id, aborting" + msgstr "Tidak ada subjek, batal" + +-#: index.c:2117 index.c:2288 index.c:2310 index.c:2331 ++#: index.c:2125 index.c:2313 index.c:2335 index.c:2356 + msgid "Failed to create query, aborting" + msgstr "" + +-#: index.c:2130 ++#: index.c:2138 + msgid "failed to find message in notmuch database. try running 'notmuch new'." + msgstr "" + +-#: index.c:2139 ++#: index.c:2147 + msgid "Failed to read thread, aborting" + msgstr "" + +-#: index.c:2171 mx.c:1252 mx.c:1272 ++#: index.c:2179 mx.c:1271 mx.c:1291 + #, fuzzy + msgid "Folder doesn't support tagging, aborting" + msgstr "Server SMTP tidak mendukung authentikasi" + +-#: index.c:2188 ++#: index.c:2196 + #, fuzzy + msgid "No tag specified, aborting" + msgstr "Tidak ada subjek, batal" + +-#: index.c:2198 ++#: index.c:2206 + msgid "Update tags..." + msgstr "" + +-#: index.c:2238 ++#: index.c:2246 + msgid "Failed to modify tags, aborting" + msgstr "" + +-#: index.c:2284 ++#: index.c:2293 + #, fuzzy + msgid "No query, aborting" + msgstr "Tidak ada subjek, batal" + +-#: index.c:2299 index.c:2320 ++#: index.c:2324 index.c:2345 + msgid "Windowed queries disabled" + msgstr "" + +-#: index.c:2304 index.c:2325 ++#: index.c:2329 index.c:2350 + msgid "No notmuch vfolder currently loaded" + msgstr "" + +-#: index.c:2374 ++#: index.c:2399 + msgid "Open mailbox in read-only mode" + msgstr "Buka kotak surat dengan mode read-only" + +-#: index.c:2376 ++#: index.c:2401 + msgid "Open mailbox" + msgstr "Buka kotak surat" + +-#: index.c:2386 ++#: index.c:2411 + msgid "No mailboxes have new mail" + msgstr "Tidak ada kotak surat dengan surat baru." + +-#: index.c:2419 ++#: index.c:2444 + #, fuzzy + msgid "Open newsgroup in read-only mode" + msgstr "Buka kotak surat dengan mode read-only" + +-#: index.c:2421 ++#: index.c:2446 + msgid "Open newsgroup" + msgstr "" + +-#: index.c:2538 ++#: index.c:2564 + #, fuzzy + msgid "Exit NeoMutt without saving?" + msgstr "Keluar dari NeoMutt tanpa menyimpan?" + + #. L10N: CHECK_ACL +-#: index.c:2554 ++#: index.c:2580 + #, fuzzy + msgid "Can't break thread" + msgstr "hubungkan thread" + +-#: index.c:2574 ++#: index.c:2600 + msgid "Thread broken" + msgstr "Thread dipecah" + +-#: index.c:2587 ++#: index.c:2613 + msgid "Thread can't be broken, message is not part of a thread" + msgstr "" + + #. L10N: CHECK_ACL +-#: index.c:2597 ++#: index.c:2623 + #, fuzzy + msgid "Can't link threads" + msgstr "hubungkan thread" + +-#: index.c:2606 ++#: index.c:2632 + msgid "No Message-ID: header available to link thread" + msgstr "Tidak ada header Message-ID: tersedia utk menghubungkan thread" + +-#: index.c:2608 ++#: index.c:2634 + msgid "First, please tag a message to be linked here" + msgstr "Pertama, tandai sebuah surat utk dihubungkan ke sini" + +-#: index.c:2621 ++#: index.c:2647 + msgid "Threads linked" + msgstr "Thread dihubungkan" + +-#: index.c:2624 ++#: index.c:2650 + msgid "No thread linked" + msgstr "Tidak ada thread yg dihubungkan" + +-#: index.c:2665 index.c:2690 ++#: index.c:2691 index.c:2716 + msgid "You are on the last message" + msgstr "Anda sudah di surat yang terakhir" + +-#: index.c:2673 index.c:2716 ++#: index.c:2699 index.c:2742 + msgid "No undeleted messages" + msgstr "Tidak ada surat yang tidak jadi dihapus" + +-#: index.c:2708 index.c:2733 ++#: index.c:2734 index.c:2759 + msgid "You are on the first message" + msgstr "Anda sudah di surat yang pertama" + +-#: index.c:2874 ++#: index.c:2900 + #, fuzzy + msgid "No new messages in this limited view" + msgstr "Surat induk tidak bisa dilihat di tampilan terbatas ini" + +-#: index.c:2876 ++#: index.c:2902 + #, fuzzy + msgid "No new messages" + msgstr "Tidak ada surat baru" + +-#: index.c:2881 ++#: index.c:2907 + #, fuzzy + msgid "No unread messages in this limited view" + msgstr "Surat induk tidak bisa dilihat di tampilan terbatas ini" + +-#: index.c:2883 ++#: index.c:2909 + #, fuzzy + msgid "No unread messages" + msgstr "Tidak ada surat yang belum dibaca" + +-#: index.c:2893 menu.c:1208 pager.c:2644 pattern.c:2652 ++#: index.c:2919 menu.c:1208 pager.c:2618 pattern.c:2776 + msgid "Search wrapped to top" + msgstr "Pencarian kembali ke atas" + +-#: index.c:2898 pager.c:2669 pattern.c:2663 ++#: index.c:2924 pager.c:2643 pattern.c:2787 + msgid "Search wrapped to bottom" + msgstr "Pencarian kembali ke bawah" + + #. L10N: CHECK_ACL +-#: index.c:2915 ++#: index.c:2941 + #, fuzzy + msgid "Can't flag message" + msgstr "tandai surat" + + #. L10N: CHECK_ACL +-#: index.c:2961 pager.c:3377 ++#: index.c:2987 pager.c:3355 + #, fuzzy + msgid "Can't toggle new" + msgstr "tandai/tidak baru" + +-#: index.c:3057 ++#: index.c:3083 + msgid "No more threads" + msgstr "Tidak ada thread lagi" + +-#: index.c:3059 ++#: index.c:3085 + msgid "You are on the first thread" + msgstr "Anda di thread yang pertama" + +-#: index.c:3156 ++#: index.c:3182 + #, fuzzy + msgid "Thread contains unread or flagged messages" + msgstr "Thread berisi surat yang belum dibaca" + + #. L10N: CHECK_ACL +-#: index.c:3215 pager.c:3019 ++#: index.c:3241 pager.c:2994 + #, fuzzy + msgid "Can't delete message" + msgstr "tidak jadi hapus surat" + + #. L10N: CHECK_ACL +-#: index.c:3339 ++#: index.c:3365 + #, fuzzy + msgid "Can't edit message" + msgstr "Tidak dapat menulis surat" + + #. L10N: This is displayed when the x-label on one or more + #. messages is edited. +-#: index.c:3432 pager.c:3495 ++#: index.c:3458 pager.c:3473 + #, fuzzy, c-format + msgid "%d label changed" + msgid_plural "%d labels changed" +@@ -2801,7 +3044,7 @@ msgstr[0] "Kotak surat tidak berubah" + #. L10N: This is displayed when editing an x-label, but no messages + #. were updated. Possibly due to canceling at the prompt or if the new + #. label is the same as the old label. +-#: index.c:3440 pager.c:3499 ++#: index.c:3466 pager.c:3477 + #, fuzzy + msgid "No labels changed" + msgstr "Kotak surat tidak berubah" +@@ -2810,7 +3053,7 @@ msgstr "Kotak surat tidak berubah" + #. L10N: Due to the implementation details we do not know whether we + #. mark zero, 1, 12, ... messages as read. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:3571 ++#: index.c:3597 + #, fuzzy + msgid "Can't mark messages as read" + msgstr "loncat ke surat induk di thread ini" +@@ -2818,14 +3061,14 @@ msgstr "loncat ke surat induk di thread ini" + #. L10N: This is the prompt for . Whatever they + #. enter will be prefixed by $mark_macro_prefix and will become + #. a macro hotkey to jump to the currently selected message. +-#: index.c:3612 ++#: index.c:3638 + #, fuzzy + msgid "Enter macro stroke: " + msgstr "Masukkan keyID: " + + #. L10N: "message hotkey" is the key bindings menu description of a + #. macro created by . +-#: index.c:3620 ++#: index.c:3646 + #, fuzzy + msgid "message hotkey" + msgstr "Surat ditunda." +@@ -2833,259 +3076,123 @@ msgstr "Surat ditunda." + #. L10N: This is echoed after creates a new hotkey + #. macro. %s is the hotkey string ($mark_macro_prefix followed + #. by whatever they typed at the prompt.) +-#: index.c:3625 ++#: index.c:3651 + #, fuzzy, c-format + msgid "Message bound to %s" + msgstr "Surat telah dibounce" + + #. L10N: This error is printed if can't find a + #. Message-ID for the currently selected message in the index. +-#: index.c:3634 ++#: index.c:3660 + #, fuzzy + msgid "No message ID to macro" + msgstr "Tidak ada surat di kotak tersebut" + +-#: index.c:3688 pager.c:3221 recvattach.c:1646 ++#: index.c:3714 pager.c:3196 recvattach.c:1678 + msgid "Reply by mail as poster prefers?" + msgstr "" + +-#: index.c:3691 pager.c:3182 pager.c:3194 pager.c:3224 ++#: index.c:3717 pager.c:3157 pager.c:3169 pager.c:3199 + msgid "Posting to this group not allowed, may be moderated. Continue?" + msgstr "" + + #. L10N: CHECK_ACL +-#: index.c:3768 pager.c:3397 ++#: index.c:3794 pager.c:3375 + #, fuzzy + msgid "Can't undelete message" + msgstr "tidak jadi hapus surat" + +-#: init.c:313 ++#: init.c:223 + #, c-format + msgid "Error in command line: %s" + msgstr "Error di baris perintah: %s" + +-#: init.c:315 ++#: init.c:225 + #, fuzzy, c-format + msgid "Warning in command line: %s" + msgstr "Error di baris perintah: %s" + +-#: init.c:426 ++#: init.c:336 + #, fuzzy + msgid "unable to determine nodename via uname()" + msgstr "tidak bisa menentukan username" + +-#: init.c:580 +-msgid "-group: no group name" +-msgstr "-group: tidak ada nama group" +- +-#: init.c:590 +-msgid "out of arguments" +-msgstr "parameternya kurang" +- +-#: init.c:804 init.c:1752 +-#, c-format +-msgid "Error: Can't build path of '%s'" +-msgstr "" +- +-#: init.c:817 +-#, c-format +-msgid "Error: Cyclic sourcing of configuration file '%s'" +-msgstr "" +- +-#: init.c:850 +-#, c-format +-msgid "Error in %s, line %d: %s" +-msgstr "Error di %s, baris %d: %s" +- +-#: init.c:861 +-#, fuzzy, c-format +-msgid "Warning in %s, line %d: %s" +-msgstr "Error di %s, baris %d: %s" +- +-#: init.c:885 +-#, c-format +-msgid "source: errors in %s" +-msgstr "source: errors di %s" +- +-#: init.c:885 +-#, fuzzy, c-format +-msgid "source: reading aborted due to too many errors in %s" +-msgstr "source: pembacaan dibatalkan sebab terlalu banyak error di %s" +- +-#: init.c:894 +-#, fuzzy, c-format +-msgid "source: %d warning in %s" +-msgid_plural "source: %d warnings in %s" +-msgstr[0] "source: errors di %s" +- +-#: init.c:923 +-msgid "alias: no address" +-msgstr "alias: tidak ada alamat email" +- +-#: init.c:965 +-#, c-format +-msgid "Warning: Bad IDN '%s' in alias '%s'" +-msgstr "Perhatian: IDN '%s' di alias '%s' tidak benar" +- +-#: init.c:1043 +-msgid "attachments: no disposition" +-msgstr "lampiran: tidak ada disposisi" +- +-#: init.c:1054 +-#, fuzzy +-msgid "Current attachments settings:" +-msgstr "edit keterangan lampiran" +- +-#: init.c:1084 +-msgid "attachments: invalid disposition" +-msgstr "lampiran: disposisi tidak benar" +- +-#: init.c:1160 +-#, fuzzy, c-format +-msgid "%sgroup: missing -rx or -addr" +-msgstr "Tidak ada -rx atau -addr" +- +-#: init.c:1186 +-#, fuzzy, c-format +-msgid "%sgroup: warning: bad IDN '%s'" +-msgstr "Perhatian: IDN '%s' tidak benar" +- +-#: init.c:1278 +-#, c-format +-msgid "Error: %s" +-msgstr "" +- +-#: init.c:1445 +-msgid "invalid header field" +-msgstr "kolom header tidak dikenali" +- +-#: init.c:1711 init.c:1815 +-#, c-format +-msgid "%s: unknown variable" +-msgstr "%s: variable tidak diketahui" +- +-#: init.c:1908 +-#, c-format +-msgid "%s is unset" +-msgstr "%s mati" +- +-#: init.c:1953 mutt_lua.c:478 +-#, c-format +-msgid "source: error at %s" +-msgstr "source: error pada %s" +- +-#: init.c:1961 +-#, fuzzy, c-format +-msgid "source: file %s could not be sourced" +-msgstr "Surat-surat tidak dapat dicetak" +- +-#: init.c:1984 +-msgid "spam: no matching pattern" +-msgstr "spam: tidak ada pola yg cocok" +- +-#: init.c:1986 +-msgid "nospam: no matching pattern" +-msgstr "nospam: tidak ada pola yg cocok" +- +-#: init.c:2146 +-#, fuzzy, c-format +-msgid "Could not subscribe to %s" +-msgstr "Berlangganan ke %s..." +- +-#: init.c:2154 init.c:2632 +-#, fuzzy +-msgid "No folder specified" +-msgstr "Tidak ada subjek." +- +-#: init.c:2341 +-msgid "unattachments: no disposition" +-msgstr "bukan lampiran: tidak ada disposisi" +- +-#: init.c:2379 +-msgid "unattachments: invalid disposition" +-msgstr "bukan lampiran: disposisi tidak benar" +- +-#: init.c:2624 +-#, fuzzy, c-format +-msgid "Could not unsubscribe from %s" +-msgstr "Berhenti langganan dari %s" +- +-#: init.c:3292 ++#: init.c:1042 + #, c-format + msgid "%s: unknown command" + msgstr "%s: perintah tidak dikenali" + +-#: init.c:3837 ++#: init.c:1588 + msgid "'charset' must contain exactly one character set name" + msgstr "" + +-#: init.c:3853 init.c:3877 init.c:3912 ++#: init.c:1604 init.c:1628 init.c:1663 + #, fuzzy, c-format + msgid "Invalid value for option %s: %s" + msgstr "Tidak tanggal: %s" + +-#: init.c:3890 ++#: init.c:1641 + #, c-format + msgid "Option %s may not be set or reset from the pager" + msgstr "" + +-#: init.c:3928 ++#: init.c:1679 + #, fuzzy, c-format + msgid "Option %s may not be set when in attach-message mode" + msgstr "Fungsi ini tidak diperbolehkan pada mode pelampiran-surat" + + #. L10N: This applies to the "$wrap_headers" config variable +-#: init.c:3943 ++#: init.c:1694 + #, c-format + msgid "Option %s must between 78 and 998 inclusive" + msgstr "" + +-#: keymap.c:373 keymap.c:381 ++#: keymap.c:371 keymap.c:379 + #, c-format + msgid "Binding '%s' will alias '%s' Before, try: 'bind %s %s noop' https://neomutt.org/guide/configuration.html#bind-warnings" + msgstr "" + +-#: keymap.c:757 ++#: keymap.c:755 + msgid "Macro loop detected" + msgstr "Loop macro terdeteksi" + +-#: keymap.c:1064 keymap.c:1099 ++#: keymap.c:1062 keymap.c:1097 + msgid "Key is not bound" + msgstr "Tombol itu tidak ditentukan untuk apa" + +-#: keymap.c:1104 ++#: keymap.c:1102 + #, c-format + msgid "Key is not bound. Press '%s' for help." + msgstr "Tombol itu tidak ditentukan untuk apa. Tekan '%s' utk bantuan." + +-#: keymap.c:1177 ++#: keymap.c:1175 + #, c-format + msgid "%s: null key sequence" + msgstr "%s: urutan tombol kosong" + +-#: keymap.c:1212 ++#: keymap.c:1210 + #, c-format + msgid "Function '%s' not available for menu '%s'" + msgstr "" + +-#: keymap.c:1495 ++#: keymap.c:1493 + msgid "macro: empty key sequence" + msgstr "macro: urutan tombol kosong" + +-#: keymap.c:1543 ++#: keymap.c:1541 + msgid "exec: no arguments" + msgstr "exec: tidak ada parameter" + +-#: keymap.c:1563 ++#: keymap.c:1561 + #, c-format + msgid "%s: no such function" + msgstr "%s: tidak ada fungsi begitu" + +-#: keymap.c:1584 ++#: keymap.c:1582 + msgid "Enter keys (^G to abort): " + msgstr "Masukkan kunci-kunci (^G utk batal): " + +-#: keymap.c:1590 ++#: keymap.c:1588 + #, c-format + msgid "Char = %s, Octal = %o, Decimal = %d" + msgstr "Kar = %s, Oktal = %o, Desimal = %d" +@@ -3109,7 +3216,7 @@ msgstr "entry mailcap untuk jenis %s tidak ditemukan" + msgid "Scanning %s..." + msgstr "Memindai %s..." + +-#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:353 ++#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:351 + #, c-format + msgid "Reading %s..." + msgstr "Membaca %s..." +@@ -3125,13 +3232,13 @@ msgid "md_commit_message(): unable to set time on file" + msgstr "maildir_commit_message(): tidak dapat mengeset waktu pada file" + + #. L10N: Displayed before/as a mailbox is being synced +-#: maildir/shared.c:1723 mbox/mbox.c:1276 mx.c:461 notmuch/mutt_notmuch.c:2364 ++#: maildir/shared.c:1734 mbox/mbox.c:1276 mx.c:459 notmuch/mutt_notmuch.c:2364 + #, c-format + msgid "Writing %s..." + msgstr "Menulis %s..." + + #. L10N: Try to limit to 80 columns +-#: main.c:227 ++#: main.c:160 + msgid "" + "usage:\n" + " neomutt [-Enx] [-e ] [-F ] [-H ] [-i ]\n" +@@ -3154,7 +3261,7 @@ msgid "" + msgstr "" + + #. L10N: Try to limit to 80 columns. If more space is needed add an indented line +-#: main.c:247 ++#: main.c:180 + msgid "" + "options:\n" + " -- Special argument forces NeoMutt to stop option parsing and treat\n" +@@ -3197,54 +3304,54 @@ msgid "" + " or exit immediately with exit code 1 otherwise" + msgstr "" + +-#: main.c:312 ++#: main.c:245 + msgid "Error initializing terminal" + msgstr "Gagal menginisialisasi terminal" + +-#: main.c:390 ++#: main.c:323 + msgid "unable to determine username" + msgstr "tidak bisa menentukan username" + +-#: main.c:396 ++#: main.c:329 + msgid "unable to determine home directory" + msgstr "tidak bisa menentukan home direktori" + +-#: main.c:640 ++#: main.c:572 + #, fuzzy, c-format + msgid "Error: value '%s' is invalid for -d" + msgstr "Error: IDN '%s' tidak benar" + +-#: main.c:884 ++#: main.c:815 + msgid "Failed to parse mailto: link" + msgstr "" + +-#: main.c:896 send.c:2452 send.c:2456 ++#: main.c:827 send.c:2463 send.c:2467 + msgid "No recipients specified" + msgstr "Tidak ada penerima yang disebutkan" + +-#: main.c:923 ++#: main.c:854 + msgid "Can't use -E flag with stdin" + msgstr "" + +-#: main.c:1007 ++#: main.c:938 + #, fuzzy, c-format + msgid "Can't parse message template: %s" + msgstr "Tidak bisa membuka file surat: %s" + +-#: main.c:1073 mutt_header.c:329 ++#: main.c:1004 mutt_header.c:329 + #, c-format + msgid "%s: unable to attach file" + msgstr "%s: tidak bisa melampirkan file" + +-#: main.c:1156 ++#: main.c:1087 + msgid "No mailbox with new mail" + msgstr "Tidak ada kotak surat dengan surat baru" + +-#: main.c:1180 ++#: main.c:1111 + msgid "No incoming mailboxes defined" + msgstr "Tidak ada kotak surat incoming yang didefinisikan" + +-#: main.c:1230 ++#: main.c:1161 + msgid "Mailbox is empty" + msgstr "Kotak surat kosong" + +@@ -3286,52 +3393,52 @@ msgstr "Tidak bisa membuka kembali mailbox" + msgid "Can't write message" + msgstr "Tidak dapat menulis surat" + +-#: menu.c:632 ++#: menu.c:631 + msgid "Jump to: " + msgstr "Ke: " + +-#: menu.c:641 ++#: menu.c:640 + msgid "Invalid index number" + msgstr "Nomer indeks tidak betul" + +-#: menu.c:645 menu.c:671 menu.c:744 menu.c:810 menu.c:828 menu.c:843 menu.c:858 +-#: menu.c:873 menu.c:890 menu.c:907 menu.c:1553 ++#: menu.c:644 menu.c:670 menu.c:743 menu.c:809 menu.c:827 menu.c:842 menu.c:857 ++#: menu.c:872 menu.c:889 menu.c:906 menu.c:1553 + msgid "No entries" + msgstr "Tidak ada entry" + +-#: menu.c:668 ++#: menu.c:667 + msgid "You can't scroll down farther" + msgstr "Sudah tidak bisa geser lagi. Jebol nanti" + +-#: menu.c:690 ++#: menu.c:689 + msgid "You can't scroll up farther" + msgstr "Sudah tidak bisa geser lagi. Jebol nanti" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the first page" + msgstr "Anda di halaman pertama" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the last page" + msgstr "Anda di halaman terakhir" + +-#: menu.c:922 ++#: menu.c:921 + msgid "You are on the last entry" + msgstr "Anda di entry terakhir" + +-#: menu.c:937 ++#: menu.c:936 + msgid "You are on the first entry" + msgstr "Anda di entry pertama" + +-#: menu.c:1172 pager.c:2692 pattern.c:2578 ++#: menu.c:1172 pager.c:2666 pattern.c:2702 + msgid "Search for: " + msgstr "Cari: " + +-#: menu.c:1173 pager.c:2693 pattern.c:2579 ++#: menu.c:1173 pager.c:2667 pattern.c:2703 + msgid "Reverse search for: " + msgstr "Cari mundur: " + +-#: menu.c:1226 pager.c:2641 pager.c:2666 pager.c:2800 pattern.c:2708 ++#: menu.c:1226 pager.c:2615 pager.c:2640 pager.c:2774 pattern.c:2832 + msgid "Not found" + msgstr "Tidak ketemu" + +@@ -3374,20 +3481,20 @@ msgstr "Menunggu flock... %d" + msgid "Bad history file format (line %d)" + msgstr "Format berkas sejarah salah (baris %d)" + +-#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1006 ncrypt/crypt_gpgme.c:2381 +-#: ncrypt/crypt_gpgme.c:2401 ncrypt/crypt_gpgme.c:2460 +-#: ncrypt/crypt_gpgme.c:2477 ncrypt/crypt_gpgme.c:2509 +-#: ncrypt/crypt_gpgme.c:2527 ncrypt/crypt_gpgme.c:2611 +-#: ncrypt/crypt_gpgme.c:3194 ncrypt/crypt_gpgme.c:3292 +-#: ncrypt/crypt_gpgme.c:4373 ncrypt/pgp.c:576 ncrypt/pgp.c:583 ncrypt/pgp.c:896 +-#: ncrypt/pgp.c:1014 ncrypt/pgp.c:1161 ncrypt/pgp.c:1181 ncrypt/pgp.c:1215 +-#: ncrypt/pgp.c:1568 ncrypt/pgpkey.c:708 ncrypt/pgpkey.c:902 +-#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1092 ncrypt/smime.c:1100 +-#: ncrypt/smime.c:1191 ncrypt/smime.c:1299 ncrypt/smime.c:1364 +-#: ncrypt/smime.c:1372 ncrypt/smime.c:1571 ncrypt/smime.c:1967 +-#: ncrypt/smime.c:2046 ncrypt/smime.c:2053 ncrypt/smime.c:2156 +-#: ncrypt/smime.c:2281 ncrypt/smime.c:2297 nntp/nntp.c:1397 nntp/nntp.c:2237 +-#: pattern.c:1132 pop/pop.c:182 ++#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1005 ncrypt/crypt_gpgme.c:2420 ++#: ncrypt/crypt_gpgme.c:2440 ncrypt/crypt_gpgme.c:2499 ++#: ncrypt/crypt_gpgme.c:2516 ncrypt/crypt_gpgme.c:2548 ++#: ncrypt/crypt_gpgme.c:2566 ncrypt/crypt_gpgme.c:2650 ++#: ncrypt/crypt_gpgme.c:3237 ncrypt/crypt_gpgme.c:3335 ++#: ncrypt/crypt_gpgme.c:4421 ncrypt/pgp.c:575 ncrypt/pgp.c:582 ncrypt/pgp.c:895 ++#: ncrypt/pgp.c:1013 ncrypt/pgp.c:1160 ncrypt/pgp.c:1180 ncrypt/pgp.c:1214 ++#: ncrypt/pgp.c:1570 ncrypt/pgpkey.c:741 ncrypt/pgpkey.c:937 ++#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1126 ncrypt/smime.c:1134 ++#: ncrypt/smime.c:1225 ncrypt/smime.c:1333 ncrypt/smime.c:1398 ++#: ncrypt/smime.c:1406 ncrypt/smime.c:1605 ncrypt/smime.c:2001 ++#: ncrypt/smime.c:2080 ncrypt/smime.c:2087 ncrypt/smime.c:2190 ++#: ncrypt/smime.c:2315 ncrypt/smime.c:2331 nntp/nntp.c:1399 nntp/nntp.c:2239 ++#: pattern.c:1171 pop/pop.c:182 + msgid "Can't create temporary file" + msgstr "Tidak bisa membuat file sementara" + +@@ -3406,7 +3513,7 @@ msgstr "Melakukan debug tingkat %d.\n" + msgid "Logging at level %d to file '%s'" + msgstr "Melakukan debug tingkat %d.\n" + +-#: mutt/path.c:401 ++#: mutt/path.c:420 + #, fuzzy + msgid "Error: converting path to absolute" + msgstr "Kesalahan waktu menghubungi ke server: %s" +@@ -3431,17 +3538,17 @@ msgstr "Sinyal %d (%s) tertangkap... Keluar.\n" + msgid "Caught signal %d ... Exiting.\n" + msgstr "Sinyal %d tertangkap... Keluar.\n" + +-#: muttlib.c:490 ++#: muttlib.c:488 + #, c-format + msgid "mutt_randbuf buflen=%zu" + msgstr "" + +-#: muttlib.c:510 ++#: muttlib.c:508 + #, c-format + msgid "open /dev/urandom: %s" + msgstr "" + +-#: muttlib.c:517 ++#: muttlib.c:515 + #, c-format + msgid "read /dev/urandom: %s" + msgstr "" +@@ -3449,148 +3556,120 @@ msgstr "" + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) + #. These three letters correspond to the choices in the string. +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "File is a directory, save under it: (y)es, (n)o, (a)ll?" + msgstr "File adalah sebuah direktori, simpan di dalamnya? (y)a, (t)idak, (s)emua" + +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "yna" + msgstr "yts" + + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) +-#: muttlib.c:763 ++#: muttlib.c:761 + msgid "File is a directory, save under it?" + msgstr "File adalah sebuah direktori, simpan di dalamnya?" + +-#: muttlib.c:768 ++#: muttlib.c:766 + msgid "File under directory: " + msgstr "File di dalam direktori: " + +-#: muttlib.c:781 ++#: muttlib.c:779 + msgid "File exists, (o)verwrite, (a)ppend, or (c)ancel?" + msgstr "File sudah ada, (t)impa, t(a)mbahkan, atau (b)atal?" + + #. L10N: Options for: File exists, (o)verwrite, (a)ppend, or (c)ancel? +-#: muttlib.c:783 ++#: muttlib.c:781 + msgid "oac" + msgstr "tab" + +-#: muttlib.c:1458 ++#: muttlib.c:1456 + msgid "Can't save message to POP mailbox" + msgstr "Tidak bisa menyimpan surat ke kotak surat POP" + +-#: muttlib.c:1468 ++#: muttlib.c:1466 + #, c-format + msgid "Append messages to %s?" + msgstr "Tambahkan surat-surat ke %s?" + +-#: muttlib.c:1481 ++#: muttlib.c:1479 + #, fuzzy + msgid "Can't save message to news server" + msgstr "Tidak bisa menyunting surat di server POP" + +-#. L10N: Example: Username at myhost.com +-#: mutt_account.c:233 +-#, c-format +-msgid "Username at %s: " +-msgstr "Nama user di %s: " +- +-#: mutt_account.c:315 +-#, c-format +-msgid "Password for %s@%s: " +-msgstr "Password utk %s@%s: " +- +-#. L10N: You will see this error message if (1) you have "oauthbearer" in +-#. one of your $*_authenticators and (2) you do not have the corresponding +-#. $*_oauth_refresh_command defined. So the message does not mean "None of +-#. your $*_oauth_refresh_command's are defined." +-#: mutt_account.c:383 +-#, fuzzy +-msgid "No OAUTH refresh command defined" +-msgstr "Perintah query tidak diketahui" +- +-#: mutt_account.c:390 +-msgid "Unable to run refresh command" +-msgstr "" +- +-#: mutt_account.c:400 +-msgid "Command returned empty string" +-msgstr "" +- +-#: mutt_attach.c:140 mutt_attach.c:274 mutt_attach.c:459 mutt_attach.c:1054 ++#: mutt_attach.c:142 mutt_attach.c:276 mutt_attach.c:488 mutt_attach.c:1087 + msgid "Can't match 'nametemplate', continue?" + msgstr "Tidak cocok dengan 'nametemplate', lanjutkan?" + +-#: mutt_attach.c:150 ++#: mutt_attach.c:152 + #, c-format + msgid "Mailcap compose entry requires %%s" + msgstr "'compose' di file mailcap membutuhkan %%s" + +-#: mutt_attach.c:168 ++#: mutt_attach.c:170 + msgid "Failure to open file to parse headers" + msgstr "Gagal membuka file untuk menge-parse headers" + +-#: mutt_attach.c:202 ++#: mutt_attach.c:204 + msgid "Failure to open file to strip headers" + msgstr "Gagal membuka file untuk menghapus headers" + +-#: mutt_attach.c:212 ++#: mutt_attach.c:214 + msgid "Failure to rename file" + msgstr "Gagal mengganti nama file" + +-#: mutt_attach.c:222 ++#: mutt_attach.c:224 + #, c-format + msgid "No mailcap compose entry for %s, creating empty file" + msgstr "'compose' di file mailcap tidak ditemukan untuk %s, membuat file kosong" + +-#: mutt_attach.c:284 ++#: mutt_attach.c:286 + #, c-format + msgid "Mailcap Edit entry requires %%s" + msgstr "'Edit' di file mailcap membutuhkan %%s" + +-#: mutt_attach.c:305 ++#: mutt_attach.c:307 + #, c-format + msgid "No mailcap edit entry for %s" + msgstr "'Edit' di file mailcap tidak ditemukan untuk %s" + +-#: mutt_attach.c:427 ++#: mutt_attach.c:456 + msgid "No matching mailcap entry found. Viewing as text." + msgstr "Tidak ada jenis yang cocok di file mailcap. Ditampilkan sebagai teks." + +-#: mutt_attach.c:440 ++#: mutt_attach.c:469 + msgid "MIME type not defined. Can't view attachment." + msgstr "Jenis MIME tidak didefinisikan. Tidak bisa melihat lampiran." + +-#: mutt_attach.c:535 ++#: mutt_attach.c:563 + #, c-format + msgid "---Command: %-20.20s Description: %s" + msgstr "" + +-#: mutt_attach.c:540 ++#: mutt_attach.c:568 + #, c-format + msgid "---Command: %-30.30s Attachment: %s" + msgstr "" + +-#: mutt_attach.c:619 ++#: mutt_attach.c:652 + #, fuzzy, c-format + msgid "---Attachment: %s: %s" + msgstr "-- Lampiran" + +-#: mutt_attach.c:621 ++#: mutt_attach.c:654 + #, fuzzy, c-format + msgid "---Attachment: %s" + msgstr "-- Lampiran" + +-#: mutt_attach.c:902 mutt_attach.c:910 ++#: mutt_attach.c:935 mutt_attach.c:943 + msgid "Write fault" + msgstr "Gagal menulis" + +-#: mutt_attach.c:1174 ++#: mutt_attach.c:1207 + msgid "I don't know how to print that" + msgstr "Saya tidak tahu bagaimana mencetak itu" + +-#: mutt_history.c:47 query.c:84 ++#: mutt_history.c:47 query.c:82 + msgid "Search" + msgstr "Cari" + +@@ -3599,21 +3678,21 @@ msgstr "Cari" + msgid "History '%s'" + msgstr "Query '%s'" + +-#: mutt_logging.c:315 ++#: mutt_logging.c:313 + #, fuzzy, c-format + msgid "Invalid value for option %s: %ld" + msgstr "Tidak tanggal: %s" + +-#: mutt_lua.c:429 ++#: mutt_lua.c:431 + msgid "Error: Couldn't load the lua interpreter" + msgstr "" + +-#: mutt_lua.c:491 ++#: mutt_lua.c:493 + #, fuzzy, c-format + msgid "Couldn't source lua source: %s" + msgstr "Tidak bisa mengunci %s\n" + +-#: mutt_mailbox.c:214 ++#: mutt_mailbox.c:241 + msgid "New mail in " + msgstr "Surat baru di " + +@@ -3635,20 +3714,20 @@ msgstr "Surat induk tidak bisa dilihat di tampilan terbatas ini" + msgid "Parent message is not visible in this limited view" + msgstr "Surat induk tidak bisa dilihat di tampilan terbatas ini" + +-#: mx.c:387 ++#: mx.c:385 + #, fuzzy, c-format + msgid "Reading from %s interrupted..." + msgstr "Pencarian dibatalkan." + + #. L10N: Displayed if a mailbox sync fails +-#: mx.c:468 ++#: mx.c:469 + #, fuzzy, c-format + msgid "Unable to write %s" + msgstr "Tidak bisa melampirkan %s" + + #. L10N: Although we know the precise number of messages, we do not show it to the user. + #. So feel free to use a "generic plural" as plural translation if your language has one. +-#: mx.c:523 ++#: mx.c:525 + #, fuzzy + msgid "message not deleted" + msgid_plural "messages not deleted" +@@ -3659,67 +3738,67 @@ msgstr[0] "Menandai surat-surat \"dihapus\"..." + msgid "Can't open trash folder" + msgstr "Tidak bisa menambah ke kotak surat: %s" + +-#: mx.c:623 ++#: mx.c:627 + msgid "Mark all articles read?" + msgstr "" + + #. L10N: The first argument is the number of read messages to be + #. moved, the second argument is the target mailbox. +-#: mx.c:671 ++#: mx.c:675 + #, fuzzy, c-format + msgid "Move %d read message to %s?" + msgid_plural "Move %d read messages to %s?" + msgstr[0] "Pindahkan surat-surat yang sudah dibaca ke %s?" + +-#: mx.c:685 mx.c:917 ++#: mx.c:689 mx.c:936 + #, fuzzy, c-format + msgid "Purge %d deleted message?" + msgid_plural "Purge %d deleted messages?" + msgstr[0] "Benar-benar hapus %d surat yang ditandai akan dihapus?" + +-#: mx.c:708 ++#: mx.c:712 + #, c-format + msgid "Moving read messages to %s..." + msgstr "Pindahkan surat-surat yang sudah dibaca ke %s..." + +-#: mx.c:774 mx.c:908 ++#: mx.c:783 mx.c:927 + msgid "Mailbox is unchanged" + msgstr "Kotak surat tidak berubah" + +-#: mx.c:827 ++#: mx.c:842 + #, c-format + msgid "%d kept, %d moved, %d deleted" + msgstr "%d disimpan, %d dipindahkan, %d dihapus" + +-#: mx.c:831 mx.c:972 ++#: mx.c:846 mx.c:991 + #, c-format + msgid "%d kept, %d deleted" + msgstr "%d disimpan, %d dihapus" + +-#: mx.c:892 ++#: mx.c:911 + #, c-format + msgid " Press '%s' to toggle write" + msgstr "Tekan '%s' untuk mengeset bisa/tidak menulis" + +-#: mx.c:894 ++#: mx.c:913 + msgid "Use 'toggle-write' to re-enable write" + msgstr "Gunakan 'toggle-write' supaya bisa menulis lagi" + +-#: mx.c:896 ++#: mx.c:915 + #, c-format + msgid "Mailbox is marked unwritable. %s" + msgstr "Kotak surat ditandai tidak boleh ditulisi. %s" + +-#: mx.c:966 ++#: mx.c:985 + msgid "Mailbox checkpointed" + msgstr "Kotak surat telah di-checkpoint" + +-#: ncrypt/crypt.c:93 ++#: ncrypt/crypt.c:91 + #, c-format + msgid " (current time: %c)" + msgstr " (waktu skrg: %c)" + +-#: ncrypt/crypt.c:98 ++#: ncrypt/crypt.c:96 + #, c-format + msgid "[-- %s output follows%s --]\n" + msgstr "[-- Keluaran dari %s%s --]\n" +@@ -3728,55 +3807,55 @@ msgstr "[-- Keluaran dari %s%s --]\n" + #. by gpg-agent) we can't know whether we forgot zero, 1, 12, ... + #. passwords. So in English we use "Passphrases". Your language might + #. have other means to express this. +-#: ncrypt/crypt.c:119 ++#: ncrypt/crypt.c:117 + #, fuzzy + msgid "Passphrases forgotten" + msgstr "Passphrase sudah dilupakan" + +-#: ncrypt/crypt.c:203 ++#: ncrypt/crypt.c:201 + #, fuzzy + msgid "Inline PGP can't be used with attachments. Revert to PGP/MIME?" + msgstr "Pesan tdk bisa dikirim inline. Gunakan PGP/MIME?" + +-#: ncrypt/crypt.c:207 ++#: ncrypt/crypt.c:205 + msgid "Mail not sent: inline PGP can't be used with attachments" + msgstr "" + +-#: ncrypt/crypt.c:214 ++#: ncrypt/crypt.c:212 + #, fuzzy + msgid "Inline PGP can't be used with format=flowed. Revert to PGP/MIME?" + msgstr "Pesan tdk bisa dikirim inline. Gunakan PGP/MIME?" + +-#: ncrypt/crypt.c:218 ++#: ncrypt/crypt.c:216 + msgid "Mail not sent: inline PGP can't be used with format=flowed" + msgstr "" + +-#: ncrypt/crypt.c:228 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:714 +-#: ncrypt/pgpkey.c:915 ++#: ncrypt/crypt.c:226 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:747 ++#: ncrypt/pgpkey.c:950 + msgid "Invoking PGP..." + msgstr "Memanggil PGP..." + +-#: ncrypt/crypt.c:240 ++#: ncrypt/crypt.c:238 + msgid "Message can't be sent inline. Revert to using PGP/MIME?" + msgstr "Pesan tdk bisa dikirim inline. Gunakan PGP/MIME?" + +-#: ncrypt/crypt.c:242 send.c:2430 ++#: ncrypt/crypt.c:240 send.c:2441 + msgid "Mail not sent" + msgstr "Surat tidak dikirim" + +-#: ncrypt/crypt.c:662 ++#: ncrypt/crypt.c:666 + msgid "S/MIME messages with no hints on content are unsupported" + msgstr "Surat2 S/MIME tanpa hints pada isi tidak didukung" + +-#: ncrypt/crypt.c:888 ++#: ncrypt/crypt.c:892 + msgid "Trying to extract PGP keys...\n" + msgstr "Mencoba mengekstrak kunci2 PGP...\n" + +-#: ncrypt/crypt.c:917 ++#: ncrypt/crypt.c:921 + msgid "Trying to extract S/MIME certificates..." + msgstr "Mencoba mengekstrak sertifikat2 S/MIME..." + +-#: ncrypt/crypt.c:1140 ++#: ncrypt/crypt.c:1144 + #, c-format + msgid "" + "[-- Error: Unknown multipart/signed protocol %s --]\n" +@@ -3785,7 +3864,7 @@ msgstr "" + "[-- Error: Protokol multipart/signed %s tidak dikenal --]\n" + "\n" + +-#: ncrypt/crypt.c:1180 ++#: ncrypt/crypt.c:1184 + #, fuzzy + msgid "" + "[-- Error: Missing or bad-format multipart/signed signature --]\n" +@@ -3794,7 +3873,7 @@ msgstr "" + "[-- Error: Struktur multipart/signed tidak konsisten --]\n" + "\n" + +-#: ncrypt/crypt.c:1222 ++#: ncrypt/crypt.c:1226 + #, c-format + msgid "" + "[-- Warning: We can't verify %s/%s signatures. --]\n" +@@ -3803,7 +3882,7 @@ msgstr "" + "[-- Warning: Tidak dapat mem-verifikasi tandatangan %s/%s. --]\n" + "\n" + +-#: ncrypt/crypt.c:1235 ++#: ncrypt/crypt.c:1239 + msgid "" + "[-- The following data is signed --]\n" + "\n" +@@ -3811,7 +3890,7 @@ msgstr "" + "[-- Data berikut ini ditandatangani --]\n" + "\n" + +-#: ncrypt/crypt.c:1243 ++#: ncrypt/crypt.c:1248 + msgid "" + "[-- Warning: Can't find any signatures. --]\n" + "\n" +@@ -3819,7 +3898,7 @@ msgstr "" + "[-- Warning: Tidak dapat menemukan tandatangan. --]\n" + "\n" + +-#: ncrypt/crypt.c:1249 ++#: ncrypt/crypt.c:1255 + msgid "" + "\n" + "[-- End of signed data --]\n" +@@ -3838,242 +3917,242 @@ msgstr "Memanggil S/MIME..." + #. L10N: The following are the headers for the "verify key" output from the + #. GPGME key selection menu (bound to "c" in the key selection menu). + #. They will be automatically aligned. +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + #, fuzzy + msgid "Name: " + msgstr "Nama ......: " + +-#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1869 ncrypt/crypt_gpgme.c:1874 ++#: ncrypt/crypt_gpgme.c:183 ncrypt/crypt_gpgme.c:1900 ncrypt/crypt_gpgme.c:1905 + msgid "aka: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + #, fuzzy + msgid "Valid From: " + msgstr "Berlaku Dari..: %s\n" + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + #, fuzzy + msgid "Valid To: " + msgstr "Berlaku Sampai: %s\n" + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + #, fuzzy + msgid "Key Type: " + msgstr "Penggunaan Kunci: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + #, fuzzy + msgid "Key Usage: " + msgstr "Penggunaan Kunci: " + +-#: ncrypt/crypt_gpgme.c:185 ncrypt/crypt_gpgme.c:1759 ++#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1790 + msgid "Fingerprint: " + msgstr "Cap jari: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + #, fuzzy + msgid "Serial-No: " + msgstr "Nomer Seri .: 0x%s\n" + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + #, fuzzy + msgid "Issued By: " + msgstr "Dikeluarkan oleh: " + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + #, fuzzy + msgid "Subkey: " + msgstr "Sub kunci..: 0x%s" + +-#: ncrypt/crypt_gpgme.c:783 ++#: ncrypt/crypt_gpgme.c:782 + #, c-format + msgid "error enabling CMS protocol: %s" + msgstr "error saat mengaktifkan protokol CMS: %s" + +-#: ncrypt/crypt_gpgme.c:806 ++#: ncrypt/crypt_gpgme.c:805 + #, c-format + msgid "error creating gpgme data object: %s" + msgstr "error saat membuat objek data gpgme: %s" + +-#: ncrypt/crypt_gpgme.c:907 ncrypt/crypt_gpgme.c:934 ncrypt/crypt_gpgme.c:2057 +-#: ncrypt/crypt_gpgme.c:2814 ++#: ncrypt/crypt_gpgme.c:906 ncrypt/crypt_gpgme.c:933 ncrypt/crypt_gpgme.c:2096 ++#: ncrypt/crypt_gpgme.c:2853 + #, c-format + msgid "error allocating data object: %s" + msgstr "error saat mengalokasikan objek data: %s" + +-#: ncrypt/crypt_gpgme.c:956 ++#: ncrypt/crypt_gpgme.c:955 + #, c-format + msgid "error rewinding data object: %s" + msgstr "error saat me-rewind objek data: %s" + +-#: ncrypt/crypt_gpgme.c:972 ++#: ncrypt/crypt_gpgme.c:971 + msgid "[tempfile]" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:978 ncrypt/crypt_gpgme.c:1032 ++#: ncrypt/crypt_gpgme.c:977 ncrypt/crypt_gpgme.c:1031 + #, c-format + msgid "error reading data object: %s" + msgstr "error saat membaca objek data: %s" + +-#: ncrypt/crypt_gpgme.c:1149 ++#: ncrypt/crypt_gpgme.c:1148 + #, fuzzy, c-format + msgid "error adding recipient '%s': %s" + msgstr "error saat menambah penerima '%s': %s" + +-#: ncrypt/crypt_gpgme.c:1202 ++#: ncrypt/crypt_gpgme.c:1186 + #, c-format + msgid "secret key '%s' not found: %s" + msgstr "kunci rahasia '%s' tidak ditemukan: %s" + +-#: ncrypt/crypt_gpgme.c:1218 ++#: ncrypt/crypt_gpgme.c:1203 + #, fuzzy, c-format + msgid "ambiguous specification of secret key '%s'\n" + msgstr "lebih dari satu kunci rahasia yang cocok dengan '%s'" + +-#: ncrypt/crypt_gpgme.c:1234 ++#: ncrypt/crypt_gpgme.c:1219 + #, c-format + msgid "error setting secret key '%s': %s" + msgstr "error saat memasang '%s' sebagai kunci rahasia: %s" + +-#: ncrypt/crypt_gpgme.c:1250 ++#: ncrypt/crypt_gpgme.c:1278 + #, c-format + msgid "error setting PKA signature notation: %s" + msgstr "kesalahan mengatur notasi tanda tangan PKA: %s" + +-#: ncrypt/crypt_gpgme.c:1324 ++#: ncrypt/crypt_gpgme.c:1353 + #, c-format + msgid "error encrypting data: %s" + msgstr "error saat mengenkripsi data: %s" + +-#: ncrypt/crypt_gpgme.c:1453 ++#: ncrypt/crypt_gpgme.c:1483 + #, c-format + msgid "error signing data: %s" + msgstr "error saat menandatangani data: %s" + +-#: ncrypt/crypt_gpgme.c:1463 ++#: ncrypt/crypt_gpgme.c:1493 + msgid "$pgp_sign_as unset and no default key specified in ~/.gnupg/gpg.conf" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1641 ++#: ncrypt/crypt_gpgme.c:1672 + msgid "Warning: One of the keys has been revoked\n" + msgstr "Perhatian: Salah satu kunci telah dicabut.\n" + +-#: ncrypt/crypt_gpgme.c:1651 ++#: ncrypt/crypt_gpgme.c:1682 + msgid "Warning: The key used to create the signature expired at: " + msgstr "Perhatian: Kunci yg digunakan utk membuat tandatangan telah kadaluwarsa pada: " + +-#: ncrypt/crypt_gpgme.c:1657 ++#: ncrypt/crypt_gpgme.c:1688 + msgid "Warning: At least one certification key has expired\n" + msgstr "Perhatian: Minimal satu sertifikat sudah kadaluwarsa\n" + +-#: ncrypt/crypt_gpgme.c:1671 ++#: ncrypt/crypt_gpgme.c:1702 + msgid "Warning: The signature expired at: " + msgstr "Perhatian: Tandatangan sudah kadaluwarsa pada: " + +-#: ncrypt/crypt_gpgme.c:1678 ++#: ncrypt/crypt_gpgme.c:1709 + msgid "Can't verify due to a missing key or certificate\n" + msgstr "Tidak bisa memverifikasi karena kunci atau sertifikat tidak ditemukan\n" + +-#: ncrypt/crypt_gpgme.c:1683 ++#: ncrypt/crypt_gpgme.c:1714 + msgid "The CRL is not available\n" + msgstr "CRL tidak tersedia.\n" + +-#: ncrypt/crypt_gpgme.c:1689 ++#: ncrypt/crypt_gpgme.c:1720 + msgid "Available CRL is too old\n" + msgstr "CRL yang tersedia sudah terlalu tua/lama\n" + +-#: ncrypt/crypt_gpgme.c:1694 ++#: ncrypt/crypt_gpgme.c:1725 + msgid "A policy requirement was not met\n" + msgstr "Salah satu persyaratan kebijaksanaan tidak terpenuhi\n" + +-#: ncrypt/crypt_gpgme.c:1703 ++#: ncrypt/crypt_gpgme.c:1734 + msgid "A system error occurred" + msgstr "Telah terjadi suatu kesalahan di sistem" + +-#: ncrypt/crypt_gpgme.c:1734 ++#: ncrypt/crypt_gpgme.c:1765 + msgid "WARNING: PKA entry does not match signer's address: " + msgstr "PERHATIAN: Masukan PKA tidak cocok dengan alamat penandatangan: " + +-#: ncrypt/crypt_gpgme.c:1740 ++#: ncrypt/crypt_gpgme.c:1771 + msgid "PKA verified signer's address is: " + msgstr "Alamat penandatangan PKA yang sudah diverifikasi adalah: " + +-#: ncrypt/crypt_gpgme.c:1822 ++#: ncrypt/crypt_gpgme.c:1853 + msgid "WARNING: We have NO indication whether the key belongs to the person named as shown above\n" + msgstr "PERHATIAN: TIDAK ada indikasi bahwa kunci tersebut dimiliki oleh orang yang namanya tertera di atas\n" + +-#: ncrypt/crypt_gpgme.c:1829 ++#: ncrypt/crypt_gpgme.c:1860 + msgid "WARNING: The key does NOT BELONG to the person named as shown above\n" + msgstr "PERHATIAN: Kunci tersebut TIDAK dimiliki oleh oleh orang yang namanya tertera di atas\n" + +-#: ncrypt/crypt_gpgme.c:1833 ++#: ncrypt/crypt_gpgme.c:1864 + msgid "WARNING: It is NOT certain that the key belongs to the person named as shown above\n" + msgstr "PERHATIAN: TIDAK bisa dipastikan bahwa kunci tersebut dimiliki oleh orang yang namanya tertera di atas\n" + +-#: ncrypt/crypt_gpgme.c:1886 ++#: ncrypt/crypt_gpgme.c:1917 + msgid "KeyID " + msgstr "" + + #. L10N: You will see this message in place of "KeyID " + #. if the S/MIME key has no ID. This is quite an error. +-#: ncrypt/crypt_gpgme.c:1893 ++#: ncrypt/crypt_gpgme.c:1924 + msgid "no signature fingerprint available" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1902 ncrypt/crypt_gpgme.c:1907 ++#: ncrypt/crypt_gpgme.c:1933 ncrypt/crypt_gpgme.c:1938 + #, fuzzy + msgid "created: " + msgstr "Buat %s?" + +-#: ncrypt/crypt_gpgme.c:1981 ++#: ncrypt/crypt_gpgme.c:2012 + #, fuzzy, c-format + msgid "Error getting key information for KeyID %s: %s\n" + msgstr "Error saat mengambil informasi tentang kunci: " + +-#: ncrypt/crypt_gpgme.c:1988 ncrypt/crypt_gpgme.c:2003 ++#: ncrypt/crypt_gpgme.c:2019 ncrypt/crypt_gpgme.c:2034 + #, fuzzy + msgid "Good signature from:" + msgstr "Tandatangan valid dari: " + +-#: ncrypt/crypt_gpgme.c:1995 ++#: ncrypt/crypt_gpgme.c:2026 + #, fuzzy + msgid "*BAD* signature from:" + msgstr "Tandatangan valid dari: " + +-#: ncrypt/crypt_gpgme.c:2011 ++#: ncrypt/crypt_gpgme.c:2042 + #, fuzzy + msgid "Problem signature from:" + msgstr "Tandatangan valid dari: " + + #. L10N: This is trying to match the width of the + #. "Problem signature from:" translation just above. +-#: ncrypt/crypt_gpgme.c:2017 ++#: ncrypt/crypt_gpgme.c:2048 + #, fuzzy + msgid " expires: " + msgstr " alias: " + +-#: ncrypt/crypt_gpgme.c:2064 ncrypt/crypt_gpgme.c:2294 +-#: ncrypt/crypt_gpgme.c:3081 ++#: ncrypt/crypt_gpgme.c:2103 ncrypt/crypt_gpgme.c:2333 ++#: ncrypt/crypt_gpgme.c:3124 + msgid "[-- Begin signature information --]\n" + msgstr "[-- Awal informasi tandatangan --]\n" + +-#: ncrypt/crypt_gpgme.c:2075 ++#: ncrypt/crypt_gpgme.c:2114 + #, c-format + msgid "Error: verification failed: %s\n" + msgstr "Error: verifikasi gagal: %s\n" + +-#: ncrypt/crypt_gpgme.c:2126 ++#: ncrypt/crypt_gpgme.c:2165 + #, c-format + msgid "*** Begin Notation (signature by: %s) ***\n" + msgstr "*** Awal Notasi (tandatangan oleh: %s) ***\n" + +-#: ncrypt/crypt_gpgme.c:2145 ++#: ncrypt/crypt_gpgme.c:2184 + msgid "*** End Notation ***\n" + msgstr "*** Akhir Notasi ***\n" + +-#: ncrypt/crypt_gpgme.c:2153 ncrypt/crypt_gpgme.c:2308 +-#: ncrypt/crypt_gpgme.c:3091 ++#: ncrypt/crypt_gpgme.c:2192 ncrypt/crypt_gpgme.c:2347 ++#: ncrypt/crypt_gpgme.c:3134 + msgid "" + "[-- End signature information --]\n" + "\n" +@@ -4081,7 +4160,7 @@ msgstr "" + "[-- Akhir informasi tandatangan --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:2268 ++#: ncrypt/crypt_gpgme.c:2307 + #, c-format + msgid "" + "[-- Error: decryption failed: %s --]\n" +@@ -4090,21 +4169,26 @@ msgstr "" + "[-- Error: dekripsi gagal: %s --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:2821 ++#: ncrypt/crypt_gpgme.c:2860 + #, fuzzy, c-format + msgid "Error importing key: %s" + msgstr "Error saat mengambil informasi tentang kunci: " + +-#: ncrypt/crypt_gpgme.c:3059 ++#: ncrypt/crypt_gpgme.c:3098 + #, c-format + msgid "Error: decryption/verification failed: %s\n" + msgstr "Error: dekripsi/verifikasi gagal: %s\n" + +-#: ncrypt/crypt_gpgme.c:3103 ++#: ncrypt/crypt_gpgme.c:3105 ncrypt/crypt_gpgme.c:3302 ncrypt/pgp.c:726 ++#: ncrypt/pgp.c:1273 ++msgid "PGP message successfully decrypted" ++msgstr "Surat PGP berhasil didekrip" ++ ++#: ncrypt/crypt_gpgme.c:3146 + msgid "Error: copy data failed\n" + msgstr "Error: penyalinan data gagal\n" + +-#: ncrypt/crypt_gpgme.c:3116 ncrypt/pgp.c:675 ++#: ncrypt/crypt_gpgme.c:3159 ncrypt/pgp.c:674 + msgid "" + "[-- BEGIN PGP MESSAGE --]\n" + "\n" +@@ -4112,11 +4196,11 @@ msgstr "" + "[-- AWAL SURAT PGP --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3118 ncrypt/pgp.c:677 ++#: ncrypt/crypt_gpgme.c:3161 ncrypt/pgp.c:676 + msgid "[-- BEGIN PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- AWAL PGP PUBLIC KEY BLOCK --]\n" + +-#: ncrypt/crypt_gpgme.c:3120 ncrypt/pgp.c:679 ++#: ncrypt/crypt_gpgme.c:3163 ncrypt/pgp.c:678 + msgid "" + "[-- BEGIN PGP SIGNED MESSAGE --]\n" + "\n" +@@ -4124,19 +4208,19 @@ msgstr "" + "[-- AWAL SURAT DG TANDATANGAN PGP --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3145 ncrypt/pgp.c:716 ++#: ncrypt/crypt_gpgme.c:3188 ncrypt/pgp.c:715 + msgid "[-- END PGP MESSAGE --]\n" + msgstr "[-- AKHIR PESAN PGP --]\n" + +-#: ncrypt/crypt_gpgme.c:3147 ncrypt/pgp.c:730 ++#: ncrypt/crypt_gpgme.c:3190 ncrypt/pgp.c:729 + msgid "[-- END PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- AKHIR PGP PUBLIC KEY BLOCK --]\n" + +-#: ncrypt/crypt_gpgme.c:3149 ncrypt/pgp.c:732 ++#: ncrypt/crypt_gpgme.c:3192 ncrypt/pgp.c:731 + msgid "[-- END PGP SIGNED MESSAGE --]\n" + msgstr "[-- AKHIR PESAN DG TANDATANGAN PGP --]\n" + +-#: ncrypt/crypt_gpgme.c:3170 ncrypt/pgp.c:765 ++#: ncrypt/crypt_gpgme.c:3213 ncrypt/pgp.c:764 + msgid "" + "[-- Error: could not find beginning of PGP message --]\n" + "\n" +@@ -4144,11 +4228,11 @@ msgstr "" + "[-- Error: tidak tahu dimana surat PGP dimulai --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3198 ncrypt/crypt_gpgme.c:3296 ncrypt/pgp.c:1218 ++#: ncrypt/crypt_gpgme.c:3241 ncrypt/crypt_gpgme.c:3339 ncrypt/pgp.c:1218 + msgid "[-- Error: could not create temporary file --]\n" + msgstr "[-- Error: tidak bisa membuat file sementara --]\n" + +-#: ncrypt/crypt_gpgme.c:3212 ++#: ncrypt/crypt_gpgme.c:3255 + msgid "" + "[-- The following data is PGP/MIME signed and encrypted --]\n" + "\n" +@@ -4156,7 +4240,7 @@ msgstr "" + "[-- Data berikut ditandatangani dan dienkripsi dg PGP/MIME --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3214 ncrypt/pgp.c:1231 ++#: ncrypt/crypt_gpgme.c:3257 ncrypt/pgp.c:1232 + msgid "" + "[-- The following data is PGP/MIME encrypted --]\n" + "\n" +@@ -4164,24 +4248,20 @@ msgstr "" + "[-- Data berikut dienkripsi dg PGP/MIME --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3254 ++#: ncrypt/crypt_gpgme.c:3297 + msgid "[-- End of PGP/MIME signed and encrypted data --]\n" + msgstr "[-- Akhir data yang ditandatangani dan dienkripsi dg PGP/MIME --]\n" + +-#: ncrypt/crypt_gpgme.c:3255 ncrypt/pgp.c:1267 ++#: ncrypt/crypt_gpgme.c:3298 ncrypt/pgp.c:1268 + msgid "[-- End of PGP/MIME encrypted data --]\n" + msgstr "[-- Akhir data yang dienkripsi dg PGP/MIME --]\n" + +-#: ncrypt/crypt_gpgme.c:3259 ncrypt/pgp.c:727 ncrypt/pgp.c:1272 +-msgid "PGP message successfully decrypted" +-msgstr "Surat PGP berhasil didekrip" +- +-#: ncrypt/crypt_gpgme.c:3265 ncrypt/pgp.c:666 ncrypt/pgp.c:718 +-#: ncrypt/pgp.c:1276 ++#: ncrypt/crypt_gpgme.c:3308 ncrypt/pgp.c:665 ncrypt/pgp.c:717 ++#: ncrypt/pgp.c:1277 + msgid "Could not decrypt PGP message" + msgstr "Tidak bisa mendekripsi surat PGP" + +-#: ncrypt/crypt_gpgme.c:3310 ++#: ncrypt/crypt_gpgme.c:3353 + msgid "" + "[-- The following data is S/MIME signed --]\n" + "\n" +@@ -4189,7 +4269,7 @@ msgstr "" + "[-- Data berikut ditandatangani dg S/MIME --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3311 ++#: ncrypt/crypt_gpgme.c:3354 + msgid "" + "[-- The following data is S/MIME encrypted --]\n" + "\n" +@@ -4197,129 +4277,129 @@ msgstr "" + "[-- Data berikut dienkripsi dg S/MIME --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3358 ++#: ncrypt/crypt_gpgme.c:3401 + msgid "[-- End of S/MIME signed data --]\n" + msgstr "[-- Akhir data yg ditandatangani dg S/MIME --]\n" + +-#: ncrypt/crypt_gpgme.c:3359 ++#: ncrypt/crypt_gpgme.c:3402 + msgid "[-- End of S/MIME encrypted data --]\n" + msgstr "[-- Akhir data yang dienkripsi dg S/MIME --]\n" + +-#: ncrypt/crypt_gpgme.c:4029 ++#: ncrypt/crypt_gpgme.c:4077 + msgid "[Can't display this user ID (unknown encoding)]" + msgstr "[Tidak bisa menampilkan user ID ini (encoding tidak diketahui)]" + +-#: ncrypt/crypt_gpgme.c:4031 ++#: ncrypt/crypt_gpgme.c:4079 + msgid "[Can't display this user ID (invalid encoding)]" + msgstr "[Tidak bisa menampilkan user ID ini (encoding tidak valid)]" + +-#: ncrypt/crypt_gpgme.c:4036 ++#: ncrypt/crypt_gpgme.c:4084 + msgid "[Can't display this user ID (invalid DN)]" + msgstr "[Tidak bisa menampilkan user ID ini (DN tidak valid)]" + + #. L10N: comes after the Name or aka if the key is invalid + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4150 ncrypt/crypt_gpgme.c:4291 ++#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4339 + msgid "[Invalid]" + msgstr "[Tidak valid]" + + #. L10N: This is printed after "Key Type: " and looks like this: PGP, 2048 bit RSA +-#: ncrypt/crypt_gpgme.c:4190 ncrypt/crypt_gpgme.c:4331 ++#: ncrypt/crypt_gpgme.c:4238 ncrypt/crypt_gpgme.c:4379 + #, fuzzy, c-format + msgid "%s, %lu bit %s\n" + msgid_plural "%s, %lu bit %s\n" + msgstr[0] "Jenis Kunci: %s, %lu bit %s\n" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4338 ++#: ncrypt/crypt_gpgme.c:4246 ncrypt/crypt_gpgme.c:4386 + msgid "encryption" + msgstr "enkripsi" + +-#: ncrypt/crypt_gpgme.c:4199 ncrypt/crypt_gpgme.c:4205 +-#: ncrypt/crypt_gpgme.c:4339 ncrypt/crypt_gpgme.c:4344 ++#: ncrypt/crypt_gpgme.c:4247 ncrypt/crypt_gpgme.c:4253 ++#: ncrypt/crypt_gpgme.c:4387 ncrypt/crypt_gpgme.c:4392 + msgid ", " + msgstr ", " + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4204 ncrypt/crypt_gpgme.c:4343 ++#: ncrypt/crypt_gpgme.c:4252 ncrypt/crypt_gpgme.c:4391 + msgid "signing" + msgstr "menandatangani" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4210 ncrypt/crypt_gpgme.c:4348 ++#: ncrypt/crypt_gpgme.c:4258 ncrypt/crypt_gpgme.c:4396 + msgid "certification" + msgstr "sertifikasi" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4285 ++#: ncrypt/crypt_gpgme.c:4333 + msgid "[Revoked]" + msgstr "[Dicabut]" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4297 ++#: ncrypt/crypt_gpgme.c:4345 + msgid "[Expired]" + msgstr "[Kadaluwarsa]" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4303 ++#: ncrypt/crypt_gpgme.c:4351 + msgid "[Disabled]" + msgstr "[Tidak aktif]" + +-#: ncrypt/crypt_gpgme.c:4376 ++#: ncrypt/crypt_gpgme.c:4424 + msgid "Collecting data..." + msgstr "Mengumpulkan data ..." + +-#: ncrypt/crypt_gpgme.c:4394 ++#: ncrypt/crypt_gpgme.c:4442 + #, c-format + msgid "Error finding issuer key: %s\n" + msgstr "Error saat mencari kunci yg mengeluarkan: %s\n" + +-#: ncrypt/crypt_gpgme.c:4403 ++#: ncrypt/crypt_gpgme.c:4451 + #, fuzzy + msgid "Error: certification chain too long - stopping here\n" + msgstr "Error: rantai sertifikasi terlalu panjang - berhenti di sini\n" + +-#: ncrypt/crypt_gpgme.c:4413 ncrypt/pgpkey.c:733 ++#: ncrypt/crypt_gpgme.c:4461 ncrypt/pgpkey.c:766 + #, c-format + msgid "Key ID: 0x%s" + msgstr "Identifikasi kunci: 0x%s" + +-#: ncrypt/crypt_gpgme.c:4538 ncrypt/crypt_gpgme.c:4589 ++#: ncrypt/crypt_gpgme.c:4586 ncrypt/crypt_gpgme.c:4637 + #, c-format + msgid "gpgme_op_keylist_start failed: %s" + msgstr "gpgme_op_keylist_start gagal: %s" + +-#: ncrypt/crypt_gpgme.c:4577 ncrypt/crypt_gpgme.c:4619 +-#: ncrypt/crypt_gpgme.c:5355 ++#: ncrypt/crypt_gpgme.c:4625 ncrypt/crypt_gpgme.c:4667 ++#: ncrypt/crypt_gpgme.c:5435 + #, c-format + msgid "gpgme_op_keylist_next failed: %s" + msgstr "gpgme_op_keylist_next gagal: %s" + +-#: ncrypt/crypt_gpgme.c:4701 ++#: ncrypt/crypt_gpgme.c:4749 + msgid "All matching keys are marked expired/revoked" + msgstr "Semua kunci yang cocok ditandai kadaluwarsa/dicabut" + +-#: ncrypt/crypt_gpgme.c:4731 ncrypt/pgpkey.c:666 ncrypt/smime.c:551 ++#: ncrypt/crypt_gpgme.c:4779 ncrypt/pgpkey.c:669 ncrypt/smime.c:553 + msgid "Select " + msgstr "Pilih " + +-#: ncrypt/crypt_gpgme.c:4733 ncrypt/pgpkey.c:668 ++#: ncrypt/crypt_gpgme.c:4781 ncrypt/pgpkey.c:671 + msgid "Check key " + msgstr "Cek key " + +-#: ncrypt/crypt_gpgme.c:4749 ++#: ncrypt/crypt_gpgme.c:4827 + msgid "PGP and S/MIME keys matching" + msgstr "Kunci-kunci PGP dan S/MIME cocok" + +-#: ncrypt/crypt_gpgme.c:4751 ++#: ncrypt/crypt_gpgme.c:4829 + msgid "PGP keys matching" + msgstr "Kunci-kunci PGP cocok" + +-#: ncrypt/crypt_gpgme.c:4753 ++#: ncrypt/crypt_gpgme.c:4831 + msgid "S/MIME keys matching" + msgstr "Kunci-kunci S/MIME cocok" + +-#: ncrypt/crypt_gpgme.c:4755 ++#: ncrypt/crypt_gpgme.c:4833 + msgid "keys matching" + msgstr "kunci-kunci cocok" + +@@ -4327,59 +4407,59 @@ msgstr "kunci-kunci cocok" + #. %1$s is one of the previous four entries. + #. %2$s is an address. + #. e.g. "S/MIME keys matching " +-#: ncrypt/crypt_gpgme.c:4763 ++#: ncrypt/crypt_gpgme.c:4841 + #, c-format + msgid "%s <%s>" + msgstr "%s <%s>" + + #. L10N: e.g. 'S/MIME keys matching "Michael Elkins".' +-#: ncrypt/crypt_gpgme.c:4768 ++#: ncrypt/crypt_gpgme.c:4846 + #, c-format + msgid "%s \"%s\"" + msgstr "%s \"%s\"" + +-#: ncrypt/crypt_gpgme.c:4796 ncrypt/pgpkey.c:754 ++#: ncrypt/crypt_gpgme.c:4874 ncrypt/pgpkey.c:787 + msgid "This key can't be used: expired/disabled/revoked" + msgstr "Kunci ini tidak dapat digunakan: kadaluwarsa/disabled/dicabut" + +-#: ncrypt/crypt_gpgme.c:4810 ncrypt/pgpkey.c:767 ncrypt/smime.c:581 ++#: ncrypt/crypt_gpgme.c:4888 ncrypt/pgpkey.c:800 ncrypt/smime.c:613 + #, fuzzy + msgid "ID is expired/disabled/revoked. Do you really want to use the key?" + msgstr "ID telah kadaluwarsa/disabled/dicabut. Anda yakin mau menggunakan kunci tsb?" + +-#: ncrypt/crypt_gpgme.c:4820 ncrypt/pgpkey.c:779 ++#: ncrypt/crypt_gpgme.c:4898 ncrypt/pgpkey.c:812 + #, fuzzy + msgid "ID is not valid. Do you really want to use the key?" + msgstr "ID tidak valid. Anda yakin mau menggunakan kunci tsb?" + +-#: ncrypt/crypt_gpgme.c:4823 ncrypt/pgpkey.c:782 ++#: ncrypt/crypt_gpgme.c:4901 ncrypt/pgpkey.c:815 + #, fuzzy + msgid "ID is only marginally valid. Do you really want to use the key?" + msgstr "ID hanya valid secara marginal. Anda yakin mau menggunakan kunci tsb?" + +-#: ncrypt/crypt_gpgme.c:4831 ncrypt/pgpkey.c:775 ncrypt/smime.c:585 ++#: ncrypt/crypt_gpgme.c:4909 ncrypt/pgpkey.c:808 ncrypt/smime.c:617 + #, fuzzy + msgid "ID has undefined validity. Do you really want to use the key?" + msgstr "Validitas ID tidak terdifinisikan. Anda yakin mau menggunakan kunci tsb?" + +-#: ncrypt/crypt_gpgme.c:4911 ncrypt/crypt_gpgme.c:5024 ncrypt/pgpkey.c:1019 +-#: ncrypt/pgpkey.c:1146 ++#: ncrypt/crypt_gpgme.c:4991 ncrypt/crypt_gpgme.c:5104 ncrypt/pgpkey.c:1054 ++#: ncrypt/pgpkey.c:1181 + #, c-format + msgid "Looking for keys matching \"%s\"..." + msgstr "Mencari kunci yg cocok dengan \"%s\"..." + +-#: ncrypt/crypt_gpgme.c:5140 ncrypt/pgpkey.c:870 ncrypt/smime.c:924 ++#: ncrypt/crypt_gpgme.c:5220 ncrypt/pgpkey.c:905 ncrypt/smime.c:958 + #, c-format + msgid "No matching keys found for \"%s\"" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5190 ncrypt/pgp.c:1456 ++#: ncrypt/crypt_gpgme.c:5270 ncrypt/pgp.c:1457 + #, c-format + msgid "Use keyID = \"%s\" for %s?" + msgstr "Gunakan keyID = '%s' untuk %s?" + +-#: ncrypt/crypt_gpgme.c:5238 ncrypt/pgp.c:1505 ncrypt/smime.c:944 +-#: ncrypt/smime.c:1049 ++#: ncrypt/crypt_gpgme.c:5318 ncrypt/pgp.c:1506 ncrypt/smime.c:978 ++#: ncrypt/smime.c:1083 + #, c-format + msgid "Enter keyID for %s: " + msgstr "Masukkan keyID untuk %s: " +@@ -4388,16 +4468,16 @@ msgstr "Masukkan keyID untuk %s: " + #. mutt_gpgme_select_secret_key() tries to list all secret keys to choose + #. from. This error is displayed if no results were found. + #. +-#: ncrypt/crypt_gpgme.c:5364 ++#: ncrypt/crypt_gpgme.c:5444 + #, fuzzy + msgid "No secret keys found" + msgstr "kunci rahasia '%s' tidak ditemukan: %s" + +-#: ncrypt/crypt_gpgme.c:5398 ncrypt/pgpkey.c:888 ++#: ncrypt/crypt_gpgme.c:5478 ncrypt/pgpkey.c:923 + msgid "Please enter the key ID: " + msgstr "Masukkan key ID: " + +-#: ncrypt/crypt_gpgme.c:5411 ++#: ncrypt/crypt_gpgme.c:5491 + #, fuzzy, c-format + msgid "Error exporting key: %s" + msgstr "Error saat mengambil informasi tentang kunci: " +@@ -4405,102 +4485,102 @@ msgstr "Error saat mengambil informasi tentang kunci: " + #. 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. +-#: ncrypt/crypt_gpgme.c:5429 ++#: ncrypt/crypt_gpgme.c:5509 + #, fuzzy, c-format + msgid "PGP Key 0x%s" + msgstr "Kunci PGP %s" + +-#: ncrypt/crypt_gpgme.c:5474 ++#: ncrypt/crypt_gpgme.c:5554 + msgid "GPGME: OpenPGP protocol not available" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5485 ++#: ncrypt/crypt_gpgme.c:5565 + msgid "GPGME: CMS protocol not available" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5536 ++#: ncrypt/crypt_gpgme.c:5616 + #, fuzzy + msgid "S/MIME (s)ign, sign (a)s, (p)gp, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME (e)nkrip, (t)andatangan, tandatangan (s)bg, ke(d)uanya, (p)gp atau (b)ersih?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5538 ++#: ncrypt/crypt_gpgme.c:5618 + msgid "sapco" + msgstr "etsdpb" + +-#: ncrypt/crypt_gpgme.c:5545 ++#: ncrypt/crypt_gpgme.c:5625 + #, fuzzy + msgid "PGP (s)ign, sign (a)s, s/(m)ime, (c)lear, or (o)ppenc mode off?" + msgstr "PGP (e)nkrip, (t)andatangan, tandatangan (s)bg, ke(d)uanya, s/(m)ime atau (b)ersih?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5547 ++#: ncrypt/crypt_gpgme.c:5627 + msgid "samco" + msgstr "etsdmb" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5557 ++#: ncrypt/crypt_gpgme.c:5637 + #, fuzzy + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME (e)nkrip, (t)andatangan, tandatangan (s)bg, ke(d)uanya, (p)gp atau (b)ersih?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5560 ++#: ncrypt/crypt_gpgme.c:5640 + #, fuzzy + msgid "esabpco" + msgstr "etsdpb" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5566 ++#: ncrypt/crypt_gpgme.c:5646 + #, fuzzy + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime, (c)lear, or (o)ppenc mode?" + msgstr "PGP (e)nkrip, (t)andatangan, tandatangan (s)bg, ke(d)uanya, s/(m)ime atau (b)ersih?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5569 ++#: ncrypt/crypt_gpgme.c:5649 + #, fuzzy + msgid "esabmco" + msgstr "etsdmb" + +-#: ncrypt/crypt_gpgme.c:5580 ++#: ncrypt/crypt_gpgme.c:5660 + #, fuzzy + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp or (c)lear?" + msgstr "S/MIME (e)nkrip, (t)andatangan, tandatangan (s)bg, ke(d)uanya, (p)gp atau (b)ersih?" + + #. L10N: S/MIME options +-#: ncrypt/crypt_gpgme.c:5582 ++#: ncrypt/crypt_gpgme.c:5662 + #, fuzzy + msgid "esabpc" + msgstr "etsdpb" + +-#: ncrypt/crypt_gpgme.c:5589 ++#: ncrypt/crypt_gpgme.c:5669 + #, fuzzy + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime or (c)lear?" + msgstr "PGP (e)nkrip, (t)andatangan, tandatangan (s)bg, ke(d)uanya, s/(m)ime atau (b)ersih?" + + #. L10N: PGP options +-#: ncrypt/crypt_gpgme.c:5591 ++#: ncrypt/crypt_gpgme.c:5671 + #, fuzzy + msgid "esabmc" + msgstr "etsdmb" + +-#: ncrypt/crypt_gpgme.c:5751 ++#: ncrypt/crypt_gpgme.c:5831 + msgid "Failed to verify sender" + msgstr "Gagal memverifikasi pengirim" + +-#: ncrypt/crypt_gpgme.c:5754 ++#: ncrypt/crypt_gpgme.c:5834 + msgid "Failed to figure out sender" + msgstr "Gagal menentukan pengirim" + +-#: ncrypt/pgp.c:108 ++#: ncrypt/pgp.c:107 + msgid "Enter PGP passphrase:" + msgstr "Masukkan passphrase PGP: " + +-#: ncrypt/pgp.c:595 ++#: ncrypt/pgp.c:594 + msgid "[-- Error: unable to create PGP subprocess --]\n" + msgstr "[-- Error: tidak bisa membuat subproses utk PGP --]\n" + +-#: ncrypt/pgp.c:644 ncrypt/pgp.c:926 ncrypt/pgp.c:1086 ++#: ncrypt/pgp.c:643 ncrypt/pgp.c:925 ncrypt/pgp.c:1085 + msgid "" + "[-- End of PGP output --]\n" + "\n" +@@ -4511,16 +4591,16 @@ msgstr "" + #. L10N: You will see this error message if (1) you are decrypting + #. (not encrypting) something and (2) it is a plaintext. So the + #. message does not mean "You failed to encrypt the message." +-#: ncrypt/pgp.c:724 ++#: ncrypt/pgp.c:723 + #, fuzzy + msgid "PGP message is not encrypted" + msgstr "Surat PGP berhasil didekrip" + +-#: ncrypt/pgp.c:978 ++#: ncrypt/pgp.c:977 + msgid "Internal error. Please submit a bug report." + msgstr "" + +-#: ncrypt/pgp.c:1043 ++#: ncrypt/pgp.c:1042 + msgid "" + "[-- Error: could not create a PGP subprocess --]\n" + "\n" +@@ -4528,132 +4608,132 @@ msgstr "" + "[-- Error: tidak bisa membuat subproses PGP --]\n" + "\n" + +-#: ncrypt/pgp.c:1073 ncrypt/pgp.c:1098 ncrypt/smime.c:2143 postpone.c:757 +-#: postpone.c:785 ++#: ncrypt/pgp.c:1072 ncrypt/pgp.c:1097 ncrypt/smime.c:2177 postpone.c:803 ++#: postpone.c:831 + msgid "Decryption failed" + msgstr "Dekripsi gagal" + +-#: ncrypt/pgp.c:1333 ++#: ncrypt/pgp.c:1334 + msgid "Can't open PGP subprocess" + msgstr "Tidak bisa membuka subproses PGP" + +-#: ncrypt/pgp.c:1768 ++#: ncrypt/pgp.c:1770 + msgid "Can't invoke PGP" + msgstr "Tidak dapat menjalankan PGP" + + #. L10N: The next string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1875 ++#: ncrypt/pgp.c:1877 + msgid "PGP/M(i)ME" + msgstr "PGP/M(i)ME" + + #. L10N: The previous string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1881 ++#: ncrypt/pgp.c:1883 + msgid "(i)nline" + msgstr "(i)nline" + + #. L10N: PGP options (inline) (opportunistic encryption is on) +-#: ncrypt/pgp.c:1893 ++#: ncrypt/pgp.c:1895 + #, fuzzy, c-format + msgid "PGP (s)ign, sign (a)s, %s format, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME (e)nkrip, (t)andatangan, tandatangan (s)bg, ke(d)uanya, %s, (b)ersih?" + + #. L10N: PGP options (inline) (opportunistic encryption is on) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1899 ++#: ncrypt/pgp.c:1901 + msgid "saico" + msgstr "etsdb" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1905 ++#: ncrypt/pgp.c:1907 + #, fuzzy + msgid "PGP (s)ign, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME (e)nkrip, (t)andatangan, tandatangan (s)bg, ke(d)uanya, %s, (b)ersih?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1907 ++#: ncrypt/pgp.c:1909 + msgid "saco" + msgstr "etsdb" + + #. L10N: PGP options (inline) (opportunistic encryption is off) +-#: ncrypt/pgp.c:1921 ++#: ncrypt/pgp.c:1923 + #, fuzzy, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME (e)nkrip, (t)andatangan, tandatangan (s)bg, ke(d)uanya, %s, (b)ersih?" + + #. L10N: PGP options (inline) (opportunistic encryption is off) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1927 ++#: ncrypt/pgp.c:1929 + #, fuzzy + msgid "esabico" + msgstr "etsdb" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1933 ++#: ncrypt/pgp.c:1935 + #, fuzzy + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME (e)nkrip, (t)andatangan, tandatangan (s)bg, ke(d)uanya, %s, (b)ersih?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1936 ++#: ncrypt/pgp.c:1938 + #, fuzzy + msgid "esabco" + msgstr "etsdb" + + #. L10N: PGP options (inline) +-#: ncrypt/pgp.c:1947 ++#: ncrypt/pgp.c:1949 + #, fuzzy, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, or (c)lear?" + msgstr "S/MIME (e)nkrip, (t)andatangan, tandatangan (s)bg, ke(d)uanya, %s, (b)ersih?" + + #. L10N: PGP options (inline) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1953 ++#: ncrypt/pgp.c:1955 + #, fuzzy + msgid "esabic" + msgstr "etsdb" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1959 ++#: ncrypt/pgp.c:1961 + #, fuzzy + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (c)lear?" + msgstr "S/MIME (e)nkrip, (t)andatangan, tandatangan (s)bg, ke(d)uanya, %s, (b)ersih?" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1961 ++#: ncrypt/pgp.c:1963 + #, fuzzy + msgid "esabc" + msgstr "etsdb" + +-#: ncrypt/pgpinvoke.c:458 ++#: ncrypt/pgpinvoke.c:461 + msgid "Fetching PGP key..." + msgstr "Mengambil PGP key..." + +-#: ncrypt/pgpkey.c:640 ++#: ncrypt/pgpkey.c:643 + msgid "All matching keys are expired, revoked, or disabled" + msgstr "Semua kunci yang cocok telah kadaluwarsa, dicabut, atau disabled" + +-#: ncrypt/pgpkey.c:681 ++#: ncrypt/pgpkey.c:714 + #, c-format + msgid "PGP keys matching <%s>" + msgstr "PGP keys yg cocok dg <%s>" + +-#: ncrypt/pgpkey.c:683 ++#: ncrypt/pgpkey.c:716 + #, c-format + msgid "PGP keys matching \"%s\"" + msgstr "PGP keys yg cocok dg \"%s\"" + +-#: ncrypt/pgpkey.c:700 ncrypt/pgpkey.c:909 ++#: ncrypt/pgpkey.c:733 ncrypt/pgpkey.c:944 + msgid "Can't open /dev/null" + msgstr "Tidak bisa membuka /dev/null" + +-#: ncrypt/pgpkey.c:938 ++#: ncrypt/pgpkey.c:973 + #, c-format + msgid "PGP Key %s" + msgstr "Kunci PGP %s" + +-#: ncrypt/smime.c:182 ++#: ncrypt/smime.c:180 + msgid "Enter S/MIME passphrase:" + msgstr "Masukkan passphrase S/MIME: " + +@@ -4662,7 +4742,7 @@ msgstr "Masukkan passphrase S/MIME: " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:460 ++#: ncrypt/smime.c:462 + msgid "Expired " + msgstr "Kadaluwarsa" + +@@ -4671,7 +4751,7 @@ msgstr "Kadaluwarsa" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:468 ++#: ncrypt/smime.c:470 + msgid "Invalid " + msgstr "Tdk valid " + +@@ -4680,7 +4760,7 @@ msgstr "Tdk valid " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:476 ++#: ncrypt/smime.c:478 + msgid "Revoked " + msgstr "Dicabut " + +@@ -4689,7 +4769,7 @@ msgstr "Dicabut " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:484 ++#: ncrypt/smime.c:486 + msgid "Trusted " + msgstr "Dipercaya " + +@@ -4698,7 +4778,7 @@ msgstr "Dipercaya " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:492 ++#: ncrypt/smime.c:494 + msgid "Unverified" + msgstr "Blm verif." + +@@ -4707,7 +4787,7 @@ msgstr "Blm verif." + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:500 ++#: ncrypt/smime.c:502 + msgid "Verified " + msgstr "Sudah verif." + +@@ -4716,60 +4796,60 @@ msgstr "Sudah verif." + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:508 ++#: ncrypt/smime.c:510 + msgid "Unknown " + msgstr "Tdk diketahui" + +-#: ncrypt/smime.c:545 ++#: ncrypt/smime.c:547 + #, c-format + msgid "S/MIME certificates matching \"%s\"" + msgstr "Sertifikat2 S/MIME yg cocok dg \"%s\"" + +-#: ncrypt/smime.c:589 ++#: ncrypt/smime.c:621 + #, fuzzy + msgid "ID is not trusted. Do you really want to use the key?" + msgstr "ID tidak valid. Anda yakin mau menggunakan kunci tsb?" + +-#: ncrypt/smime.c:910 ++#: ncrypt/smime.c:944 + msgid "Enter keyID: " + msgstr "Masukkan keyID: " + +-#: ncrypt/smime.c:1055 ++#: ncrypt/smime.c:1089 + #, c-format + msgid "No (valid) certificate found for %s" + msgstr "Tidak ditemukan sertifikat (yg valid) utk %s" + +-#: ncrypt/smime.c:1108 ncrypt/smime.c:1137 ncrypt/smime.c:1209 +-#: ncrypt/smime.c:1243 ncrypt/smime.c:1319 ncrypt/smime.c:1399 ++#: ncrypt/smime.c:1142 ncrypt/smime.c:1171 ncrypt/smime.c:1243 ++#: ncrypt/smime.c:1277 ncrypt/smime.c:1353 ncrypt/smime.c:1433 + msgid "Error: unable to create OpenSSL subprocess" + msgstr "Error: tidak bisa membuat subproses utk OpenSSL" + +-#: ncrypt/smime.c:1379 ++#: ncrypt/smime.c:1413 + #, fuzzy + msgid "Label for certificate: " + msgstr "Tidak bisa mengambil sertifikat" + +-#: ncrypt/smime.c:1480 ++#: ncrypt/smime.c:1514 + msgid "no certfile" + msgstr "tdk ada certfile" + +-#: ncrypt/smime.c:1483 ++#: ncrypt/smime.c:1517 + msgid "no mbox" + msgstr "tdk ada mbox" + +-#: ncrypt/smime.c:1640 ncrypt/smime.c:1810 ++#: ncrypt/smime.c:1674 ncrypt/smime.c:1844 + msgid "No output from OpenSSL..." + msgstr "Tdk ada keluaran dr OpenSSL..." + +-#: ncrypt/smime.c:1727 ++#: ncrypt/smime.c:1761 + msgid "Can't sign: No key specified. Use Sign As." + msgstr "Tdk bisa tandatangan: Kunci tdk diberikan. Gunakan Tandatangan Sbg." + +-#: ncrypt/smime.c:1777 ++#: ncrypt/smime.c:1811 + msgid "Can't open OpenSSL subprocess" + msgstr "Tidak bisa membuka subproses OpenSSL" + +-#: ncrypt/smime.c:2004 ncrypt/smime.c:2123 ++#: ncrypt/smime.c:2038 ncrypt/smime.c:2157 + msgid "" + "[-- End of OpenSSL output --]\n" + "\n" +@@ -4777,19 +4857,19 @@ msgstr "" + "[-- Akhir keluaran OpenSSL --]\n" + "\n" + +-#: ncrypt/smime.c:2080 ncrypt/smime.c:2093 ++#: ncrypt/smime.c:2114 ncrypt/smime.c:2127 + msgid "[-- Error: unable to create OpenSSL subprocess --]\n" + msgstr "[-- Error: tidak bisa membuat subproses utk OpenSSL --]\n" + +-#: ncrypt/smime.c:2129 ++#: ncrypt/smime.c:2163 + msgid "[-- The following data is S/MIME encrypted --]\n" + msgstr "[-- Data berikut dienkripsi dg S/MIME --]\n" + +-#: ncrypt/smime.c:2132 ++#: ncrypt/smime.c:2166 + msgid "[-- The following data is S/MIME signed --]\n" + msgstr "[-- Data berikut ditandatangani dg S/MIME --]\n" + +-#: ncrypt/smime.c:2225 ++#: ncrypt/smime.c:2259 + msgid "" + "\n" + "[-- End of S/MIME encrypted data. --]\n" +@@ -4797,7 +4877,7 @@ msgstr "" + "\n" + "[-- Akhir data yang dienkripsi dg S/MIME. --]\n" + +-#: ncrypt/smime.c:2227 ++#: ncrypt/smime.c:2261 + msgid "" + "\n" + "[-- End of S/MIME signed data. --]\n" +@@ -4806,170 +4886,170 @@ msgstr "" + "[-- Akhir data yg ditandatangani dg S/MIME. --]\n" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2361 ++#: ncrypt/smime.c:2395 + #, fuzzy + msgid "S/MIME (s)ign, encrypt (w)ith, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME (e)nkrip, (t)andatangan, enkrip d(g), tandatangan (s)bg, ke(d)uanya, atau (b)ersih?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2364 ++#: ncrypt/smime.c:2398 + msgid "swaco" + msgstr "etgsdb" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2372 ++#: ncrypt/smime.c:2406 + #, fuzzy + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME (e)nkrip, (t)andatangan, enkrip d(g), tandatangan (s)bg, ke(d)uanya, atau (b)ersih?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2375 ++#: ncrypt/smime.c:2409 + #, fuzzy + msgid "eswabco" + msgstr "etgsdb" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2382 ++#: ncrypt/smime.c:2416 + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, or (c)lear?" + msgstr "S/MIME (e)nkrip, (t)andatangan, enkrip d(g), tandatangan (s)bg, ke(d)uanya, atau (b)ersih?" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2385 ++#: ncrypt/smime.c:2419 + #, fuzzy + msgid "eswabc" + msgstr "etgsdb" + +-#: ncrypt/smime.c:2449 ++#: ncrypt/smime.c:2483 + msgid "Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear?" + msgstr "Pilih algoritma: (1) DES, (2) RC2, (3) AES, atau (b)atal?" + + #. L10N: Options for: Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear? +-#: ncrypt/smime.c:2452 ++#: ncrypt/smime.c:2486 + msgid "123c" + msgstr "123b" + +-#: ncrypt/smime.c:2455 ++#: ncrypt/smime.c:2489 + msgid "(1) DES, (2) Triple-DES?" + msgstr "" + + #. L10N: Options for: (1) DES, (2) Triple-DES +-#: ncrypt/smime.c:2457 ++#: ncrypt/smime.c:2491 + msgid "12" + msgstr "" + +-#: ncrypt/smime.c:2470 ++#: ncrypt/smime.c:2504 + msgid "(1) RC2-40, (2) RC2-64, (3) RC2-128?" + msgstr "" + + #. L10N: Options for: (1) RC2-40, (2) RC2-64, (3) RC2-128 + #. L10N: Options for: (1) AES128, (2) AES192, (3) AES256 +-#: ncrypt/smime.c:2472 ncrypt/smime.c:2490 ++#: ncrypt/smime.c:2506 ncrypt/smime.c:2524 + msgid "123" + msgstr "" + +-#: ncrypt/smime.c:2488 ++#: ncrypt/smime.c:2522 + msgid "(1) AES128, (2) AES192, (3) AES256?" + msgstr "" + +-#: nntp/newsrc.c:632 ++#: nntp/newsrc.c:639 + msgid "Loading list of groups from cache..." + msgstr "" + +-#: nntp/newsrc.c:997 ++#: nntp/newsrc.c:1023 + msgid "No news server defined" + msgstr "" + +-#: nntp/newsrc.c:1012 ++#: nntp/newsrc.c:1041 + #, fuzzy, c-format + msgid "%s is an invalid news server specification" + msgstr "%s bukan path POP yang valid" + +-#: nntp/nntp.c:236 nntp/nntp.c:777 pop/pop.c:742 pop/pop_lib.c:398 ++#: nntp/nntp.c:238 nntp/nntp.c:779 pop/pop.c:742 pop/pop_lib.c:424 + msgid "Server closed connection" + msgstr "Server menutup hubungan" + +-#: nntp/nntp.c:340 ++#: nntp/nntp.c:342 + #, fuzzy + msgid "Server doesn't support reader mode" + msgstr "Server SMTP tidak mendukung authentikasi" + +-#: nntp/nntp.c:576 pop/pop_auth.c:504 smtp.c:650 ++#: nntp/nntp.c:578 pop/pop_auth.c:505 smtp.c:675 + msgid "No authenticators available" + msgstr "Tidak ada pengauthentikasi yg bisa digunakan" + +-#: nntp/nntp.c:766 ++#: nntp/nntp.c:768 + #, fuzzy, c-format + msgid "%s authentication failed" + msgstr "Authentikasi SASL gagal" + +-#: nntp/nntp.c:826 ++#: nntp/nntp.c:828 + #, fuzzy, c-format + msgid "Connection to %s lost. Reconnect?" + msgstr "Hubungan ke %s ditutup." + +-#: nntp/nntp.c:1285 ++#: nntp/nntp.c:1287 + #, fuzzy + msgid "Fetching list of articles..." + msgstr "Mengambil daftar surat..." + +-#: nntp/nntp.c:1549 nntp/nntp.c:2138 pop/pop.c:614 pop/pop.c:910 ++#: nntp/nntp.c:1551 nntp/nntp.c:2140 pop/pop.c:614 pop/pop.c:905 + msgid "Checking for new messages..." + msgstr "Memeriksa surat baru..." + +-#: nntp/nntp.c:1864 nntp/nntp.c:1954 ++#: nntp/nntp.c:1866 nntp/nntp.c:1956 + #, fuzzy + msgid "Could not switch to reader mode" + msgstr "Tidak bisa membuat kotak surat sementara: %s" + +-#: nntp/nntp.c:1877 ++#: nntp/nntp.c:1879 + #, fuzzy, c-format + msgid "Connected to %s. %s" + msgstr "Menghubungi %s..." + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + #, fuzzy + msgid "Posting is ok" + msgstr "Gak ngapa-ngapain" + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + msgid "Posting is NOT ok" + msgstr "" + +-#: nntp/nntp.c:2008 nntp/nntp.c:2043 ++#: nntp/nntp.c:2010 nntp/nntp.c:2045 + #, fuzzy, c-format + msgid "Can't post article: %s" + msgstr "Tidak bisa stat %s: %s" + +-#: nntp/nntp.c:2064 ++#: nntp/nntp.c:2066 + #, fuzzy, c-format + msgid "Loading list of groups from server %s..." + msgstr "Menghapus surat-surat di server..." + +-#: nntp/nntp.c:2106 nntp/nntp.c:2198 ++#: nntp/nntp.c:2108 nntp/nntp.c:2200 + #, fuzzy + msgid "Loading descriptions..." + msgstr "Sedang login..." + +-#: nntp/nntp.c:2128 ++#: nntp/nntp.c:2130 + #, fuzzy + msgid "Checking for new newsgroups..." + msgstr "Memeriksa surat baru..." + +-#: nntp/nntp.c:2332 ++#: nntp/nntp.c:2334 + msgid "Unable to find child articles because server does not support XPAT command" + msgstr "" + +-#: nntp/nntp.c:2437 ++#: nntp/nntp.c:2439 + #, fuzzy, c-format + msgid "%s is an invalid newsgroup specification" + msgstr "%s bukan path POP yang valid" + +-#: nntp/nntp.c:2476 ++#: nntp/nntp.c:2478 + #, c-format + msgid "Newsgroup %s not found on the server" + msgstr "" + +-#: nntp/nntp.c:2498 ++#: nntp/nntp.c:2500 + #, c-format + msgid "Newsgroup %s has been removed from the server" + msgstr "" +@@ -4981,7 +5061,7 @@ msgstr "" + + #: notmuch/mutt_notmuch.c:219 notmuch/mutt_notmuch.c:1939 + #, fuzzy, c-format +-msgid "failed to parse notmuch uri: %s" ++msgid "failed to parse notmuch url: %s" + msgstr "SASL gagal membaca alamat IP lokal" + + #: notmuch/mutt_notmuch.c:449 +@@ -6128,187 +6208,187 @@ msgstr "" + msgid "show S/MIME options" + msgstr "tunjukan opsi2 S/MIME" + +-#: pager.c:222 ++#: pager.c:214 + msgid "Not available in this menu" + msgstr "Tidak ada di menu ini" + +-#: pager.c:229 ++#: pager.c:221 + msgid "PrevPg" + msgstr "HlmnSblm" + +-#: pager.c:230 ++#: pager.c:222 + msgid "NextPg" + msgstr "HlmnBrkt" + +-#: pager.c:235 ++#: pager.c:227 + msgid "View Attachm." + msgstr "Lampiran" + +-#: pager.c:238 pager.c:247 ++#: pager.c:230 pager.c:239 + msgid "Next" + msgstr "Brkt" + + #. L10N: Status bar message: the entire email is visible in the pager + #. L10N: Status bar message: all the emails are visible in the index +-#: pager.c:2180 status.c:278 ++#: pager.c:2136 status.c:278 + msgid "all" + msgstr "" + + #. L10N: Status bar message: the end of the email is visible in the pager + #. L10N: Status bar message: the end of the list emails is visible in the index +-#: pager.c:2182 status.c:276 ++#: pager.c:2138 status.c:276 + msgid "end" + msgstr "" + +-#: pager.c:2530 pager.c:2566 pager.c:2602 pager.c:2937 ++#: pager.c:2503 pager.c:2539 pager.c:2576 pager.c:2911 + msgid "Bottom of message is shown" + msgstr "Sudah paling bawah" + +-#: pager.c:2543 pager.c:2573 pager.c:2580 pager.c:2590 ++#: pager.c:2516 pager.c:2546 pager.c:2553 pager.c:2564 + msgid "Top of message is shown" + msgstr "Sudah paling atas" + +-#: pager.c:2840 ++#: pager.c:2814 + msgid "Help is currently being shown" + msgstr "Bantuan sedang ditampilkan" + +-#: pager.c:2897 ++#: pager.c:2871 + msgid "No more quoted text" + msgstr "Tidak ada lagi teks kutipan" + +-#: pager.c:2914 ++#: pager.c:2888 + msgid "No more unquoted text after quoted text" + msgstr "Tidak ada lagi teks yang tidak dikutp setelah teks kutipan" + +-#: pattern.c:220 pattern.c:297 pattern.c:1046 ++#: pattern.c:221 pattern.c:298 pattern.c:1085 + #, c-format + msgid "Error in expression: %s" + msgstr "Kesalahan pada ekspresi: %s" + +-#: pattern.c:226 pattern.c:302 pattern.c:1052 ++#: pattern.c:227 pattern.c:303 pattern.c:1091 + msgid "Empty expression" + msgstr "Ekspresi kosong" + +-#: pattern.c:288 ++#: pattern.c:289 + #, fuzzy + msgid "No search command defined" + msgstr "Perintah query tidak diketahui" + +-#: pattern.c:326 ++#: pattern.c:327 + #, fuzzy, c-format + msgid "Running search command: %s ..." + msgstr "Menjalankan perintah tampil-otomatis: %s" + +-#: pattern.c:417 ++#: pattern.c:441 pattern.c:456 + #, c-format + msgid "Invalid day of month: %s" + msgstr "Tidak tanggal: %s" + +-#: pattern.c:431 ++#: pattern.c:446 pattern.c:470 + #, c-format + msgid "Invalid month: %s" + msgstr "Tidak ada bulan: %s" + +-#: pattern.c:534 ++#: pattern.c:573 + #, c-format + msgid "Invalid relative date: %s" + msgstr "Bulan relatif tidak benar: %s" + +-#: pattern.c:842 pattern.c:975 ++#: pattern.c:881 pattern.c:1014 + #, fuzzy + msgid "No current message" + msgstr "Tidak ada surat yang belum dibaca" + +-#: pattern.c:1002 ++#: pattern.c:1041 + msgid "No Context" + msgstr "" + +-#: pattern.c:1125 ++#: pattern.c:1164 + #, fuzzy + msgid "Error opening 'memory stream'" + msgstr "Error saat membuka kotak surat" + +-#: pattern.c:1171 ++#: pattern.c:1210 + #, fuzzy + msgid "Error re-opening 'memory stream'" + msgstr "Error saat membuka kotak surat" + +-#: pattern.c:1180 ++#: pattern.c:1219 + #, fuzzy + msgid "Error opening /dev/null" + msgstr "Tidak bisa membuka /dev/null" + +-#: pattern.c:1443 pattern.c:1620 ++#: pattern.c:1482 pattern.c:1662 + #, c-format + msgid "error in pattern at: %s" + msgstr "error pada kriteria pada: %s" + +-#: pattern.c:1476 ++#: pattern.c:1515 + #, fuzzy, c-format + msgid "missing pattern: %s" + msgstr "parameter tidak ada" + +-#: pattern.c:1494 pattern.c:1593 ++#: pattern.c:1533 pattern.c:1635 + #, c-format + msgid "mismatched parentheses: %s" + msgstr "tanda kurung tidak klop: %s" + +-#: pattern.c:1559 ++#: pattern.c:1598 + #, c-format + msgid "%c: invalid pattern modifier" + msgstr "%c: pengubah pola tidak valid" + +-#: pattern.c:1564 ++#: pattern.c:1603 + #, c-format + msgid "%c: not supported in this mode" + msgstr "%c: tidak didukung pada mode ini" + +-#: pattern.c:1576 ++#: pattern.c:1618 + msgid "missing parameter" + msgstr "parameter tidak ada" + +-#: pattern.c:1626 ++#: pattern.c:1668 + msgid "empty pattern" + msgstr "kriteria kosong" + +-#: pattern.c:2080 pattern.c:2083 ++#: pattern.c:2202 pattern.c:2205 + msgid "error: server custom search only supported with IMAP" + msgstr "" + +-#: pattern.c:2274 ++#: pattern.c:2398 + #, c-format + msgid "error: unknown op %d (report this error)" + msgstr "error: %d tidak dikenali (laporkan error ini)" + +-#: pattern.c:2448 pattern.c:2604 ++#: pattern.c:2572 pattern.c:2728 + msgid "Compiling search pattern..." + msgstr "Menyusun kriteria pencarian..." + +-#: pattern.c:2468 ++#: pattern.c:2592 + msgid "Executing command on matching messages..." + msgstr "Menjalankan perintah terhadap surat-surat yang cocok..." + +-#: pattern.c:2537 ++#: pattern.c:2661 + msgid "No messages matched criteria" + msgstr "Tidak ada surat yang memenuhi kriteria" + +-#: pattern.c:2641 ++#: pattern.c:2765 + msgid "Searching..." + msgstr "Mencari..." + +-#: pattern.c:2655 ++#: pattern.c:2779 + msgid "Search hit bottom without finding match" + msgstr "Sudah dicari sampe bawah, tapi tidak ketemu" + +-#: pattern.c:2666 ++#: pattern.c:2790 + msgid "Search hit top without finding match" + msgstr "Sudah dicari sampe atas, tapi tidak ketemu" + +-#: pattern.c:2700 ++#: pattern.c:2824 + msgid "Search interrupted" + msgstr "Pencarian dibatalkan" + +-#: pop/pop.c:216 pop/pop_lib.c:234 ++#: pop/pop.c:216 pop/pop_lib.c:259 + msgid "Command TOP is not supported by server" + msgstr "Perintah TOP tidak didukung oleh server" + +@@ -6316,7 +6396,7 @@ msgstr "Perintah TOP tidak didukung oleh server" + msgid "Can't write header to temporary file" + msgstr "Tidak bisa menulis header ke file sementara" + +-#: pop/pop.c:420 pop/pop_lib.c:236 ++#: pop/pop.c:420 pop/pop_lib.c:261 + msgid "Command UIDL is not supported by server" + msgstr "Perintah UIDL tidak didukung oleh server" + +@@ -6330,7 +6410,7 @@ msgstr[0] "Index dari surat tidak benar. Cobalah membuka kembali kotak surat tsb + msgid "POP host is not defined" + msgstr "Nama server POP tidak diketahui" + +-#: pop/pop.c:596 pop/pop.c:825 ++#: pop/pop.c:596 pop/pop.c:790 pop/pop.c:820 + #, c-format + msgid "%s is an invalid POP path" + msgstr "%s bukan path POP yang valid" +@@ -6361,152 +6441,152 @@ msgid "%s [%d of %d message read]" + msgid_plural "%s [%d of %d messages read]" + msgstr[0] "%s [%d dari %d surat dibaca]" + +-#: pop/pop.c:876 ++#: pop/pop.c:871 + msgid "Fetching list of messages..." + msgstr "Mengambil daftar surat..." + +-#: pop/pop.c:959 ++#: pop/pop.c:954 + msgid "Marking messages deleted..." + msgstr "Menandai surat-surat \"dihapus\"..." + +-#: pop/pop.c:1150 ++#: pop/pop.c:1145 + msgid "Can't write message to temporary file" + msgstr "Tidak bisa menulis surat ke file sementara" + +-#: pop/pop_auth.c:103 ++#: pop/pop_auth.c:104 + msgid "Authenticating (SASL)..." + msgstr "Mengauthentikasi (SASL)..." + +-#: pop/pop_auth.c:245 ++#: pop/pop_auth.c:246 + msgid "POP timestamp is invalid" + msgstr "Tanda waktu POP tidak valid" + +-#: pop/pop_auth.c:249 ++#: pop/pop_auth.c:250 + msgid "Authenticating (APOP)..." + msgstr "Mengauthentikasi (APOP)..." + +-#: pop/pop_auth.c:269 ++#: pop/pop_auth.c:270 + msgid "APOP authentication failed" + msgstr "Authentikasi APOP gagal" + +-#: pop/pop_auth.c:309 ++#: pop/pop_auth.c:310 + msgid "Command USER is not supported by server" + msgstr "Perintah USER tidak didukung oleh server" + +-#: pop/pop_auth.c:386 ++#: pop/pop_auth.c:387 + #, fuzzy + msgid "Authentication failed" + msgstr "Authentikasi SASL gagal" + +-#: pop/pop_lib.c:78 ++#: pop/pop_lib.c:103 + #, fuzzy, c-format + msgid "Invalid POP URL: %s" + msgstr "URL SMTP tidak valid: %s" + +-#: pop/pop_lib.c:232 ++#: pop/pop_lib.c:257 + msgid "Unable to leave messages on server" + msgstr "Tidak bisa meninggalkan surat-surat di server" + +-#: pop/pop_lib.c:274 ++#: pop/pop_lib.c:300 + #, c-format + msgid "Error connecting to server: %s" + msgstr "Kesalahan waktu menghubungi ke server: %s" + +-#: pop/pop_lib.c:414 ++#: pop/pop_lib.c:440 + msgid "Closing connection to POP server..." + msgstr "Menutup hubungan ke server POP..." + +-#: pop/pop_lib.c:605 ++#: pop/pop_lib.c:631 + msgid "Verifying message indexes..." + msgstr "Memverifikasi indeks surat..." + +-#: pop/pop_lib.c:628 ++#: pop/pop_lib.c:654 + msgid "Connection lost. Reconnect to POP server?" + msgstr "Hubungan terputus. Hubungi kembali server POP?" + +-#: postpone.c:229 ++#: postpone.c:260 + msgid "Postponed Messages" + msgstr "Surat-surat tertunda" + +-#: postpone.c:314 postpone.c:326 ++#: postpone.c:348 postpone.c:372 + msgid "No postponed messages" + msgstr "Tidak ada surat yg ditunda" + +-#: postpone.c:480 ++#: postpone.c:526 + msgid "Illegal S/MIME header" + msgstr "S/MIME header tidak betul" + +-#: postpone.c:510 postpone.c:551 postpone.c:560 ++#: postpone.c:556 postpone.c:597 postpone.c:606 + msgid "Illegal crypto header" + msgstr "Header crypto tidak betul" + +-#: postpone.c:644 postpone.c:752 postpone.c:780 ++#: postpone.c:690 postpone.c:798 postpone.c:826 + msgid "Decrypting message..." + msgstr "Mendekripsi surat..." + +-#: query.c:82 ++#: query.c:80 + msgid "New Query" + msgstr "Query Baru" + +-#: query.c:83 ++#: query.c:81 + msgid "Make Alias" + msgstr "Buat Alias" + +-#: query.c:180 ++#: query.c:178 + msgid "Waiting for response..." + msgstr "Menunggu respons..." + +-#: query.c:362 query.c:400 ++#: query.c:365 query.c:434 + msgid "Query: " + msgstr "Query: " + +-#: query.c:370 query.c:407 ++#: query.c:374 query.c:442 + #, c-format + msgid "Query '%s'" + msgstr "Query '%s'" + +-#: query.c:620 query.c:657 ++#: query.c:661 query.c:698 + msgid "Query command not defined" + msgstr "Perintah query tidak diketahui" + +-#: recvattach.c:93 ++#: recvattach.c:91 + msgid "Pipe" + msgstr "Pipa" + +-#: recvattach.c:94 ++#: recvattach.c:92 + msgid "Print" + msgstr "Cetak" + +-#: recvattach.c:569 ++#: recvattach.c:571 + msgid "Saving..." + msgstr "Menyimpan..." + +-#: recvattach.c:573 recvattach.c:744 recvattach.c:748 ++#: recvattach.c:575 recvattach.c:746 recvattach.c:750 + #, fuzzy, c-format + msgid "Attachment saved" + msgid_plural "%d attachments saved" + msgstr[0] "Lampiran telah disimpan" + +-#: recvattach.c:772 ++#: recvattach.c:774 + #, c-format + msgid "WARNING! You are about to overwrite %s, continue?" + msgstr "PERHATIAN! Anda akan menimpa %s, lanjut?" + +-#: recvattach.c:790 ++#: recvattach.c:792 + msgid "Attachment filtered" + msgstr "Lampiran telah difilter" + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Filter through: " + msgstr "Filter melalui: " + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Pipe to: " + msgstr "Pipe ke: " + + #. L10N: s gets replaced by a MIME type, e.g. "text/plain" or + #. application/octet-stream. +-#: recvattach.c:935 ++#: recvattach.c:937 + #, fuzzy, c-format + msgid "I don't know how to print %s attachments" + msgstr "Saya tidak tahu bagaimana mencetak lampiran %s" +@@ -6514,56 +6594,56 @@ msgstr "Saya tidak tahu bagaimana mencetak lampiran %s" + #. L10N: Although we now the precise number of tagged messages, we + #. do not show it to the user. So feel free to use a "generic + #. plural" as plural translation if your language has one. +-#: recvattach.c:1038 ++#: recvattach.c:1040 + #, fuzzy, c-format + msgid "Print tagged attachment?" + msgid_plural "Print %d tagged attachments?" + msgstr[0] "Cetak lampiran yang ditandai?" + +-#: recvattach.c:1039 ++#: recvattach.c:1041 + #, c-format + msgid "Print attachment?" + msgstr "Cetak lampiran?" + +-#: recvattach.c:1123 ++#: recvattach.c:1125 + msgid "Structural changes to decrypted attachments are not supported" + msgstr "" + +-#: recvattach.c:1291 ++#: recvattach.c:1293 + msgid "Can't decrypt encrypted message" + msgstr "Tidak dapat men-decrypt surat ini" + +-#: recvattach.c:1425 ++#: recvattach.c:1457 + msgid "Attachments" + msgstr "Lampiran" + +-#: recvattach.c:1465 ++#: recvattach.c:1497 + msgid "There are no subparts to show" + msgstr "Tidak ada sub-bagian yg bisa ditampilkan" + +-#: recvattach.c:1520 ++#: recvattach.c:1552 + msgid "Can't delete attachment from POP server" + msgstr "Tidak bisa menghapus lampiran dari server POP" + +-#: recvattach.c:1529 ++#: recvattach.c:1561 + #, fuzzy + msgid "Can't delete attachment from news server" + msgstr "Tidak bisa menghapus lampiran dari server POP" + +-#: recvattach.c:1536 ++#: recvattach.c:1568 + msgid "Deletion of attachments from encrypted messages is unsupported" + msgstr "Penghapusan lampiran dari surat yg dienkripsi tidak didukung" + +-#: recvattach.c:1542 ++#: recvattach.c:1574 + #, fuzzy + msgid "Deletion of attachments from signed messages may invalidate the signature" + msgstr "Penghapusan lampiran dari surat yg dienkripsi tidak didukung" + +-#: recvattach.c:1561 recvattach.c:1578 ++#: recvattach.c:1593 recvattach.c:1610 + msgid "Only deletion of multipart attachments is supported" + msgstr "Hanya penghapusan lampiran dari surat multi bagian yang didukung" + +-#: recvcmd.c:79 ++#: recvcmd.c:78 + msgid "You may only bounce message/rfc822 parts" + msgstr "Anda hanya dapat menge-bounce bagian-bagian 'message/rfc822'" + +@@ -6599,7 +6679,7 @@ msgstr "Tidak bisa membuat %s" + msgid "Can't find any tagged messages" + msgstr "Tidak dapat menemukan surat yang ditandai" + +-#: recvcmd.c:848 send.c:1073 ++#: recvcmd.c:848 send.c:1072 + msgid "No mailing lists found" + msgstr "Tidak ada mailing list yang ditemukan" + +@@ -6614,67 +6694,67 @@ msgstr "Tidak dapat menguraikan semua lampiran yang ditandai. Ubah yg lainnya ke + msgid "You may only compose to sender with message/rfc822 parts" + msgstr "Anda hanya dapat menge-bounce bagian-bagian 'message/rfc822'" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Append" + msgstr "Tambahkan" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Insert" + msgstr "Masukkan" + +-#: remailer.c:78 ++#: remailer.c:76 + msgid "OK" + msgstr "OK" + +-#: remailer.c:210 ++#: remailer.c:207 + msgid "" + msgstr "" + +-#: remailer.c:586 ++#: remailer.c:617 + msgid "Can't get mixmaster's type2.list" + msgstr "Tidak dapat mengambil type2.list milik mixmaster" + +-#: remailer.c:612 ++#: remailer.c:673 + msgid "Select a remailer chain" + msgstr "Pilih rangkaian remailer" + +-#: remailer.c:674 ++#: remailer.c:735 + #, c-format + msgid "Error: %s can't be used as the final remailer of a chain" + msgstr "Error: %s tidak dapat digunakan sebagai akhir rangkaian remailer" + + #. L10N The '%d' here hard-coded to 19 +-#: remailer.c:706 ++#: remailer.c:767 + #, c-format + msgid "Mixmaster chains are limited to %d elements" + msgstr "Rangkaian mixmaster dibatasi hingga %d elemen" + +-#: remailer.c:729 ++#: remailer.c:790 + msgid "The remailer chain is already empty" + msgstr "Rangkaian remailer sudah kosong" + +-#: remailer.c:739 ++#: remailer.c:800 + msgid "You already have the first chain element selected" + msgstr "Anda sudah memilih awal rangkaian" + +-#: remailer.c:749 ++#: remailer.c:810 + msgid "You already have the last chain element selected" + msgstr "Anda sudah memilih akhir rangkaian" + +-#: remailer.c:792 ++#: remailer.c:856 + msgid "Mixmaster doesn't accept Cc or Bcc headers" + msgstr "Mixmaster tidak menerima header Cc maupun Bcc" + +-#: remailer.c:817 ++#: remailer.c:881 + msgid "Please set the hostname variable to a proper value when using mixmaster" + msgstr "Mohon variabel hostname diisi dengan benar jika menggunakan mixmaster" + +-#: remailer.c:860 ++#: remailer.c:924 + #, c-format + msgid "Error sending message, child exited %d.\n" + msgstr "Error mengirimkan surat, proses keluar dengan kode %d.\n" + +-#: remailer.c:864 ++#: remailer.c:928 + msgid "Error sending message" + msgstr "Gagal mengirim surat" + +@@ -6705,42 +6785,42 @@ msgstr "Forward sebagai lampiran?" + + #. L10N: Asks whether the user respects the reply-to header. + #. If she says no, neomutt will reply to the from header's address instead. +-#: send.c:793 ++#: send.c:792 + #, c-format + msgid "Reply to %s%s?" + msgstr "Balas ke %s%s?" + +-#: send.c:838 ++#: send.c:837 + #, c-format + msgid "Follow-up to %s%s?" + msgstr "Balas ke %s%s?" + +-#: send.c:1122 ++#: send.c:1121 + msgid "Include message in reply?" + msgstr "Sertakan surat asli di surat balasan?" + +-#: send.c:1128 ++#: send.c:1127 + msgid "Including quoted message..." + msgstr "Menyertakan surat terkutip..." + +-#: send.c:1137 ++#: send.c:1136 + msgid "Could not include all requested messages" + msgstr "Tidak bisa menyertakan semua surat yang diminta" + +-#: send.c:1148 ++#: send.c:1147 + msgid "Forward as attachment?" + msgstr "Forward sebagai lampiran?" + +-#: send.c:1153 ++#: send.c:1152 + msgid "Preparing forwarded message..." + msgstr "Mempersiapkan surat yg diforward..." + +-#: send.c:1632 ++#: send.c:1631 + #, fuzzy + msgid "Fcc to an IMAP mailbox is not supported in batch mode" + msgstr "%c: tidak didukung pada mode ini" + +-#: send.c:1664 send.c:1690 ++#: send.c:1665 send.c:1675 send.c:1701 + #, fuzzy + msgid "Save attachments in Fcc?" + msgstr "tampilkan lampiran sebagai teks" +@@ -6749,196 +6829,196 @@ msgstr "tampilkan lampiran sebagai teks" + #. (r)etry tries the same mailbox again. + #. alternate (m)ailbox prompts for a different mailbox to try. + #. (s)kip aborts saving. +-#: send.c:1712 ++#: send.c:1723 + msgid "Fcc failed. (r)etry, alternate (m)ailbox, or (s)kip?" + msgstr "" + + #. L10N: These correspond to the "Fcc failed" multi-choice prompt + #. (r)etry, alternate (m)ailbox, or (s)kip. + #. Any similarity to famous leaders of the FSF is coincidental. +-#: send.c:1716 ++#: send.c:1727 + msgid "rms" + msgstr "" + + #. L10N: This is the prompt to enter an "alternate (m)ailbox" when the + #. initial Fcc fails. +-#: send.c:1722 ++#: send.c:1733 + #, fuzzy + msgid "Fcc mailbox" + msgstr "Tidak ada kotak surat.\n" + +-#: send.c:1788 ++#: send.c:1799 + msgid "Can't postpone. $postponed is unset" + msgstr "" + +-#: send.c:1923 ++#: send.c:1934 + msgid "Recall postponed message?" + msgstr "Lanjutkan surat yang ditunda sebelumnya?" + +-#: send.c:2228 ++#: send.c:2239 + msgid "Edit forwarded message?" + msgstr "Edit surat yg diforward?" + +-#: send.c:2266 ++#: send.c:2277 + msgid "Abort unmodified message?" + msgstr "Batalkan surat yang tidak diubah?" + +-#: send.c:2268 ++#: send.c:2279 + msgid "Aborted unmodified message" + msgstr "Surat yang tidak diubah dibatalkan" + +-#: send.c:2388 ++#: send.c:2399 + msgid "No crypto backend configured. Disabling message security setting." + msgstr "" + +-#: send.c:2427 ++#: send.c:2438 + #, fuzzy + msgid "Article not posted" + msgstr "Surat tidak dikirim" + +-#: send.c:2437 ++#: send.c:2448 + msgid "Message postponed" + msgstr "Surat ditunda" + +-#: send.c:2470 ++#: send.c:2481 + msgid "No subject, abort sending?" + msgstr "Tidak ada subjek, batalkan pengiriman?" + +-#: send.c:2474 send.c:2480 ++#: send.c:2485 send.c:2491 + msgid "No subject specified" + msgstr "Tidak ada subjek" + +-#: send.c:2486 ++#: send.c:2497 + #, fuzzy + msgid "No newsgroup specified" + msgstr "Tidak ada subjek" + +-#: send.c:2496 ++#: send.c:2507 + #, fuzzy + msgid "No attachments, cancel sending?" + msgstr "edit transfer-encoding dari lampiran" + +-#: send.c:2501 ++#: send.c:2512 + msgid "Message contains text matching \"$abort_noattach_regex\". Not sending." + msgstr "" + +-#: send.c:2559 smtp.c:227 ++#: send.c:2570 smtp.c:230 + msgid "Sending message..." + msgstr "Mengirim surat..." + +-#: send.c:2598 ++#: send.c:2609 + msgid "Could not send the message" + msgstr "Tidak bisa mengirim surat" + +-#: send.c:2608 ++#: send.c:2619 + msgid "Sending in background" + msgstr "Mengirim di latar belakang" + +-#: send.c:2609 ++#: send.c:2620 + msgid "Article posted" + msgstr "" + +-#: send.c:2610 ++#: send.c:2621 + msgid "Mail sent" + msgstr "Surat telah dikirim" + +-#: sendlib.c:567 ++#: sendlib.c:566 + msgid "No boundary parameter found [report this error]" + msgstr "Tidak ada parameter batas yang bisa ditemukan [laporkan error ini]" + +-#: sendlib.c:598 ++#: sendlib.c:597 + #, c-format + msgid "%s no longer exists" + msgstr "%s tidak ada lagi" + +-#: sendlib.c:1056 ++#: sendlib.c:1055 + #, c-format + msgid "%s isn't a regular file" + msgstr "%s bukan file biasa" + +-#: sendlib.c:1223 ++#: sendlib.c:1222 + #, fuzzy + msgid "Could not find any mime.types file." + msgstr "Tidak bisa mengirim surat." + +-#: sendlib.c:1314 ++#: sendlib.c:1313 + #, c-format + msgid "Could not open %s" + msgstr "Tidak bisa membuka %s" + +-#: sendlib.c:2864 ++#: sendlib.c:2855 + msgid "$sendmail must be set in order to send mail" + msgstr "" + +-#: sendlib.c:2971 ++#: sendlib.c:2962 + #, c-format + msgid "Error sending message, child exited %d (%s)" + msgstr "Error mengirimkan surat, proses keluar dengan kode %d (%s)" + +-#: sendlib.c:2977 ++#: sendlib.c:2969 + msgid "Output of the delivery process" + msgstr "Keluaran dari proses pengiriman" + +-#: sendlib.c:3157 ++#: sendlib.c:3154 + #, c-format + msgid "Bad IDN %s while preparing resent-from" + msgstr "IDN %s pada saat mempersiapkan resent-from tidak benar" + +-#: smtp.c:165 ++#: smtp.c:168 + #, c-format + msgid "SMTP session failed: %s" + msgstr "Sesi SMTP gagal: %s" + +-#: smtp.c:222 ++#: smtp.c:225 + #, c-format + msgid "SMTP session failed: unable to open %s" + msgstr "Sesi SMTP gagal: tidak dapat membuka %s" + +-#: smtp.c:339 ++#: smtp.c:364 + #, c-format + msgid "Invalid SMTP URL: %s" + msgstr "URL SMTP tidak valid: %s" + +-#: smtp.c:618 ++#: smtp.c:643 + #, c-format + msgid "SMTP authentication method %s requires SASL" + msgstr "" + +-#: smtp.c:625 ++#: smtp.c:650 + #, fuzzy, c-format + msgid "%s authentication failed, trying next method" + msgstr "Authentikasi SASL gagal" + +-#: smtp.c:636 ++#: smtp.c:661 + #, fuzzy + msgid "SMTP authentication requires SASL" + msgstr "Authentikasi GSSAPI gagal" + +-#: smtp.c:717 ++#: smtp.c:742 + msgid "SMTP server does not support authentication" + msgstr "Server SMTP tidak mendukung authentikasi" + +-#: smtp.c:756 ++#: smtp.c:781 + msgid "No from address given" + msgstr "" + +-#: smtp.c:821 ++#: smtp.c:846 + msgid "SMTP session failed: read error" + msgstr "Sesi SMTP gagal: kesalahan pembacaan" + +-#: smtp.c:823 ++#: smtp.c:848 + msgid "SMTP session failed: write error" + msgstr "Sesi SMTP gagal: kesalahan penulisan" + +-#: smtp.c:825 ++#: smtp.c:850 + msgid "Invalid server response" + msgstr "" + +-#: sort.c:385 ++#: sort.c:387 + msgid "Sorting mailbox..." + msgstr "Mengurutkan surat-surat..." + +-#: sort.c:427 ++#: sort.c:429 + msgid "Could not find sorting function [report this bug]" + msgstr "Tidak bisa menemukan fungsi pengurutan [laporkan bug ini]" + +@@ -6993,11 +7073,11 @@ msgstr "" + "NeoMutt adalah software bebas, anda diperbolehkan utk menyebarluaskannya\n" + "dengan beberapa persyaratan; baca 'neomutt -vv' utk jelasnya.\n" + +-#: version.c:446 ++#: version.c:451 + #, fuzzy + msgid "Default options:" + msgstr "Opsi2 saat kompilasi:" + +-#: version.c:449 ++#: version.c:454 + msgid "Compile options:" + msgstr "Opsi2 saat kompilasi:" +diff --git a/po/it.po b/po/it.po +index b8fe9ad2b..4a4c34d02 100644 +--- a/po/it.po ++++ b/po/it.po +@@ -11,7 +11,7 @@ msgid "" + msgstr "" + "Project-Id-Version: neomutt-2019-12-07\n" + "Report-Msgid-Bugs-To: neomutt-devel@neomutt.org\n" +-"POT-Creation-Date: 2019-12-06 23:10+0000\n" ++"POT-Creation-Date: 2020-03-09 12:15+0000\n" + "PO-Revision-Date: 2012-05-25 22:14+0200\n" + "Last-Translator: Marco Paolone \n" + "Language-Team: none\n" +@@ -21,16 +21,44 @@ msgstr "" + "Content-Transfer-Encoding: 8bit\n" + "Plural-Forms: nplurals=2; plural=(n != 1);\n" + +-#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:59 browser.c:80 browser.c:90 +-#: mutt_history.c:45 pager.c:228 postpone.c:68 query.c:80 recvattach.c:93 ++#, fuzzy ++msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" ++msgstr "(r)ifiuta, accetta questa v(o)lta, (a)ccetta sempre" ++ ++#, fuzzy ++msgid "roas" ++msgstr "roa" ++ ++msgid "(r)eject, accept (o)nce, (a)ccept always" ++msgstr "(r)ifiuta, accetta questa v(o)lta, (a)ccetta sempre" ++ ++msgid "roa" ++msgstr "roa" ++ ++#, fuzzy ++msgid "(r)eject, accept (o)nce, (s)kip" ++msgstr "(r)ifiuta, accetta questa v(o)lta" ++ ++#, fuzzy ++msgid "ros" ++msgstr "ro" ++ ++msgid "(r)eject, accept (o)nce" ++msgstr "(r)ifiuta, accetta questa v(o)lta" ++ ++msgid "ro" ++msgstr "ro" ++ ++#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:58 browser.c:79 browser.c:89 ++#: mutt_history.c:45 pager.c:220 postpone.c:68 query.c:78 recvattach.c:91 + msgid "Exit" + msgstr "Esci" + +-#: addrbook.c:56 index.c:116 index.c:129 pager.c:236 pager.c:246 postpone.c:69 ++#: addrbook.c:56 index.c:112 index.c:125 pager.c:228 pager.c:238 postpone.c:69 + msgid "Del" + msgstr "Canc" + +-#: addrbook.c:57 index.c:117 index.c:130 postpone.c:70 ++#: addrbook.c:57 index.c:113 index.c:126 postpone.c:70 + msgid "Undel" + msgstr "DeCanc" + +@@ -38,18 +66,18 @@ msgstr "DeCanc" + msgid "Select" + msgstr "Seleziona" + +-#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:82 browser.c:84 browser.c:96 +-#: compose.c:218 compose.c:230 conn/ssl.c:983 conn/ssl_gnutls.c:691 index.c:122 +-#: index.c:135 mutt_history.c:48 ncrypt/crypt_gpgme.c:4735 ncrypt/pgpkey.c:670 +-#: ncrypt/smime.c:553 pager.c:2326 postpone.c:71 query.c:85 recvattach.c:94 ++#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:81 browser.c:83 browser.c:95 ++#: compose.c:216 compose.c:228 conn/ssl.c:996 conn/ssl_gnutls.c:722 index.c:118 ++#: index.c:131 mutt_history.c:48 ncrypt/crypt_gpgme.c:4783 ncrypt/pgpkey.c:673 ++#: ncrypt/smime.c:555 pager.c:2297 postpone.c:71 query.c:83 recvattach.c:92 + msgid "Help" + msgstr "Aiuto" + +-#: addrbook.c:208 ++#: addrbook.c:238 + msgid "You have no aliases" + msgstr "Non ci sono alias" + +-#: addrbook.c:215 ++#: addrbook.c:276 + msgid "Aliases" + msgstr "Alias" + +@@ -58,52 +86,52 @@ msgstr "Alias" + msgid "Alias as: " + msgstr "Crea l'alias: " + +-#: alias.c:411 ++#: alias.c:414 + msgid "You already have an alias defined with that name" + msgstr "È già stato definito un alias con questo nome" + +-#: alias.c:417 ++#: alias.c:420 + msgid "Warning: This alias name may not work. Fix it?" + msgstr "Attenzione: il nome di questo alias può non funzionare. Correggerlo?" + +-#: alias.c:442 ++#: alias.c:445 + msgid "Address: " + msgstr "Indirizzo: " + +-#: alias.c:453 commands.c:444 compose.c:744 conn/conn_raw.c:152 +-#: conn/conn_raw.c:210 recvcmd.c:232 send.c:228 ++#: alias.c:457 commands.c:450 compose.c:743 conn/conn_raw.c:152 ++#: conn/conn_raw.c:210 recvcmd.c:231 send.c:227 + #, c-format + msgid "Bad IDN: '%s'" + msgstr "IDN non valido: '%s'" + +-#: alias.c:464 ++#: alias.c:468 + msgid "Personal name: " + msgstr "Nome della persona: " + +-#: alias.c:473 ++#: alias.c:477 + #, c-format + msgid "[%s = %s] Accept?" + msgstr "[%s = %s] Confermare?" + +-#: alias.c:484 recvattach.c:528 recvattach.c:550 recvattach.c:564 +-#: recvattach.c:579 recvattach.c:678 ++#: alias.c:488 recvattach.c:530 recvattach.c:552 recvattach.c:566 ++#: recvattach.c:581 recvattach.c:680 + msgid "Save to file: " + msgstr "Salva nel file: " + +-#: alias.c:503 ++#: alias.c:507 + msgid "Error reading alias file" + msgstr "Errore nella lettura del file degli alias" + +-#: alias.c:525 ++#: alias.c:529 + #, fuzzy + msgid "Trouble adding alias" + msgstr "Errore nella lettura del file degli alias" + +-#: alias.c:527 ++#: alias.c:531 + msgid "Alias added" + msgstr "Alias aggiunto" + +-#: alias.c:532 ++#: alias.c:536 + msgid "Error seeking in alias file" + msgstr "Errore nella ricerca nel file degli alias" + +@@ -112,7 +140,7 @@ msgstr "Errore nella ricerca nel file degli alias" + #. for some reason (e.g. autocrypt, header cache, bcache), but it + #. doesn't exist. The prompt is asking whether to create the directory + #. +-#: autocrypt/autocrypt.c:70 main.c:826 ++#: autocrypt/autocrypt.c:70 main.c:757 + #, c-format + msgid "%s does not exist. Create it?" + msgstr "%s non esiste. Crearlo?" +@@ -121,8 +149,8 @@ msgstr "%s non esiste. Crearlo?" + #. mkdir() on the directory %s failed. The second %s is the + #. error message returned by libc + #. +-#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:830 +-#: nntp/newsrc.c:1069 ++#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:761 ++#: nntp/newsrc.c:1098 + #, c-format + msgid "Can't create %s: %s" + msgstr "Impossibile creare %s: %s" +@@ -132,7 +160,7 @@ msgstr "Impossibile creare %s: %s" + #. create $autocrypt_dir and then prompt to create an autocrypt + #. account with this message. + #. +-#: autocrypt/autocrypt.c:156 ++#: autocrypt/autocrypt.c:163 + msgid "Create an initial autocrypt account?" + msgstr "" + +@@ -141,7 +169,7 @@ msgstr "" + #. autocrypt account. This will generate a key and add a record + #. to the database for use in autocrypt operations. + #. +-#: autocrypt/autocrypt.c:180 ++#: autocrypt/autocrypt.c:187 + msgid "Autocrypt account address: " + msgstr "" + +@@ -150,7 +178,7 @@ msgstr "" + #. a single address. This is shown if they entered something invalid, + #. nothing, or more than one address for some reason. + #. +-#: autocrypt/autocrypt.c:191 ++#: autocrypt/autocrypt.c:198 + msgid "Please enter a single email address" + msgstr "" + +@@ -159,7 +187,7 @@ msgstr "" + #. if there is already an account in the database with the email address + #. they just entered. + #. +-#: autocrypt/autocrypt.c:208 ++#: autocrypt/autocrypt.c:215 + msgid "That email address already has an autocrypt account" + msgstr "" + +@@ -171,7 +199,7 @@ msgstr "" + #. Otherwise the UI will show encryption is "available" but the user + #. will be required to enable encryption manually. + #. +-#: autocrypt/autocrypt.c:223 ++#: autocrypt/autocrypt.c:230 + #, fuzzy + msgid "Prefer encryption?" + msgstr "cifratura" +@@ -179,7 +207,7 @@ msgstr "cifratura" + #. L10N: + #. Message displayed after an autocrypt account is successfully created. + #. +-#: autocrypt/autocrypt.c:236 ++#: autocrypt/autocrypt.c:243 + msgid "Autocrypt account creation succeeded" + msgstr "" + +@@ -187,7 +215,7 @@ msgstr "" + #. Error message displayed if creating an autocrypt account failed + #. or was aborted by the user. + #. +-#: autocrypt/autocrypt.c:242 ++#: autocrypt/autocrypt.c:249 + msgid "Autocrypt account creation aborted" + msgstr "" + +@@ -196,7 +224,7 @@ msgstr "" + #. to use to encrypt, but it can't find a valid keyid for this address. + #. The message is printed and they are returned to the compose menu. + #. +-#: autocrypt/autocrypt.c:610 autocrypt/autocrypt.c:639 ++#: autocrypt/autocrypt.c:617 autocrypt/autocrypt.c:646 + #, fuzzy, c-format + msgid "No (valid) autocrypt key found for %s" + msgstr "Non è stato trovato un certificato (valido) per %s" +@@ -208,12 +236,12 @@ msgstr "Non è stato trovato un certificato (valido) per %s" + #. and used for encryption. + #. If this is answered yes, they will be prompted for a mailbox. + #. +-#: autocrypt/autocrypt.c:903 ++#: autocrypt/autocrypt.c:910 + msgid "Scan a mailbox for autocrypt headers?" + msgstr "" + + #. L10N: The prompt for a mailbox to scan for Autocrypt: headers +-#: autocrypt/autocrypt.c:907 ++#: autocrypt/autocrypt.c:914 + #, fuzzy + msgid "Scan mailbox" + msgstr "Nessuna mailbox.\n" +@@ -225,14 +253,14 @@ msgstr "Nessuna mailbox.\n" + #. for a mailbox. This is because this is a one-time operation + #. and I don't want them to accidentally ctrl-g and abort it. + #. +-#: autocrypt/autocrypt.c:927 ++#: autocrypt/autocrypt.c:934 + msgid "Scan another mailbox for autocrypt headers?" + msgstr "" + + #. L10N: Autocrypt Account Menu Help line: + #. create new account + #. +-#: autocrypt/autocrypt_acct_menu.c:63 ++#: autocrypt/autocrypt_acct_menu.c:62 + #, fuzzy + msgid "Create" + msgstr "Creare %s?" +@@ -240,7 +268,7 @@ msgstr "Creare %s?" + #. L10N: Autocrypt Account Menu Help line: + #. delete account + #. +-#: autocrypt/autocrypt_acct_menu.c:67 remailer.c:77 ++#: autocrypt/autocrypt_acct_menu.c:66 remailer.c:75 + msgid "Delete" + msgstr "Cancella" + +@@ -248,9 +276,9 @@ msgstr "Cancella" + #. toggle an account active/inactive + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:74 ++#: autocrypt/autocrypt_acct_menu.c:73 + msgid "Tgl Active" + msgstr "" + +@@ -258,17 +286,17 @@ msgstr "" + #. toggle "prefer-encrypt" on an account + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:81 +-msgid "Prf Enc" ++#: autocrypt/autocrypt_acct_menu.c:80 ++msgid "Prf Encr" + msgstr "" + + #. L10N: + #. Autocrypt Account menu. + #. flag that an account has prefer-encrypt set + #. +-#: autocrypt/autocrypt_acct_menu.c:123 ++#: autocrypt/autocrypt_acct_menu.c:122 + msgid "prefer encrypt" + msgstr "" + +@@ -277,7 +305,7 @@ msgstr "" + #. flag that an account has prefer-encrypt unset; + #. thus encryption will need to be manually enabled. + #. +-#: autocrypt/autocrypt_acct_menu.c:130 ++#: autocrypt/autocrypt_acct_menu.c:129 + msgid "manual encrypt" + msgstr "" + +@@ -285,7 +313,7 @@ msgstr "" + #. Autocrypt Account menu. + #. flag that an account is enabled/active + #. +-#: autocrypt/autocrypt_acct_menu.c:138 ++#: autocrypt/autocrypt_acct_menu.c:137 + msgid "active" + msgstr "" + +@@ -293,12 +321,12 @@ msgstr "" + #. Autocrypt Account menu. + #. flag that an account is disabled/inactive + #. +-#: autocrypt/autocrypt_acct_menu.c:144 ++#: autocrypt/autocrypt_acct_menu.c:143 + msgid "inactive" + msgstr "" + + #. L10N: Autocrypt Account Management Menu title +-#: autocrypt/autocrypt_acct_menu.c:183 ++#: autocrypt/autocrypt_acct_menu.c:182 + msgid "Autocrypt Accounts" + msgstr "" + +@@ -306,13 +334,13 @@ msgstr "" + #. This error message is displayed if a database update of an + #. account record fails for some odd reason. + #. +-#: autocrypt/autocrypt_acct_menu.c:245 autocrypt/autocrypt_acct_menu.c:259 ++#: autocrypt/autocrypt_acct_menu.c:244 autocrypt/autocrypt_acct_menu.c:258 + #, fuzzy + msgid "Error updating account record" + msgstr "Errore nella lettura della directory" + + #. L10N: Confirmation message when deleting an autocrypt account +-#: autocrypt/autocrypt_acct_menu.c:302 ++#: autocrypt/autocrypt_acct_menu.c:333 + #, fuzzy, c-format + msgid "Really delete account \"%s\"?" + msgstr "Cancellare davvero la mailbox \"%s\"?" +@@ -330,7 +358,7 @@ msgstr "Cancellare davvero la mailbox \"%s\"?" + msgid "Unable to open autocrypt database %s" + msgstr "Impossibile bloccare la mailbox!" + +-#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:774 ++#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:773 + #, c-format + msgid "error creating gpgme context: %s" + msgstr "errore nella creazione del contesto gpgme: %s" +@@ -403,335 +431,286 @@ msgstr "" + msgid "Message cache isn't a directory: %s" + msgstr "%s non è una directory" + +-#: browser.c:81 ++#: browser.c:80 + msgid "Chdir" + msgstr "CambiaDir" + +-#: browser.c:82 ++#: browser.c:81 + msgid "Goto" + msgstr "" + +-#: browser.c:83 browser.c:95 ++#: browser.c:82 browser.c:94 + msgid "Mask" + msgstr "Maschera" + +-#: browser.c:91 ++#: browser.c:90 + msgid "List" + msgstr "" + +-#: browser.c:92 ++#: browser.c:91 + #, fuzzy + msgid "Subscribe" + msgstr "Iscritto a %s" + +-#: browser.c:93 ++#: browser.c:92 + #, fuzzy + msgid "Unsubscribe" + msgstr "Sottoscrizione rimossa da %s..." + +-#: browser.c:94 index.c:134 ++#: browser.c:93 index.c:130 + msgid "Catchup" + msgstr "" + +-#: browser.c:760 browser.c:1519 browser.c:1758 ++#: browser.c:763 browser.c:1584 browser.c:1825 + #, c-format + msgid "%s is not a directory" + msgstr "%s non è una directory" + +-#: browser.c:1025 ++#: browser.c:1028 + #, fuzzy, c-format + msgid "Subscribed newsgroups" + msgstr "Iscritto a %s" + +-#: browser.c:1028 ++#: browser.c:1031 + #, c-format + msgid "Newsgroups on server [%s]" + msgstr "" + +-#: browser.c:1038 ++#: browser.c:1041 + #, c-format + msgid "Mailboxes [%d]" + msgstr "Mailbox [%d]" + +-#: browser.c:1050 ++#: browser.c:1053 + #, c-format + msgid "Subscribed [%s], File mask: %s" + msgstr "Iscritto [%s], maschera del file: %s" + +-#: browser.c:1056 ++#: browser.c:1059 + #, c-format + msgid "Directory [%s], File mask: %s" + msgstr "Directory [%s], Maschera dei file: %s" + +-#: browser.c:1113 ++#: browser.c:1116 + msgid "Can't attach a directory" + msgstr "Impossibile allegare una directory" + +-#: browser.c:1380 browser.c:1814 browser.c:1959 ++#: browser.c:1445 browser.c:1881 browser.c:2026 + msgid "No files match the file mask" + msgstr "Non ci sono file corrispondenti alla maschera" + +-#: browser.c:1587 ++#: browser.c:1654 + msgid "Create is only supported for IMAP mailboxes" + msgstr "È possibile creare solo mailbox IMAP" + +-#: browser.c:1609 ++#: browser.c:1676 + msgid "Rename is only supported for IMAP mailboxes" + msgstr "È possibile rinominare solo mailbox IMAP" + +-#: browser.c:1630 ++#: browser.c:1697 + msgid "Delete is only supported for IMAP mailboxes" + msgstr "È possibile cancellare solo mailbox IMAP" + +-#: browser.c:1642 ++#: browser.c:1709 + #, fuzzy + msgid "Can't delete currently selected mailbox" + msgstr "mostra il nome del file attualmente selezionato" + +-#: browser.c:1646 ++#: browser.c:1713 + #, c-format + msgid "Really delete mailbox \"%s\"?" + msgstr "Cancellare davvero la mailbox \"%s\"?" + +-#: browser.c:1663 ++#: browser.c:1730 + msgid "Mailbox deleted" + msgstr "Mailbox cancellata" + +-#: browser.c:1667 ++#: browser.c:1734 + #, fuzzy + msgid "Mailbox deletion failed" + msgstr "Mailbox cancellata" + +-#: browser.c:1670 ++#: browser.c:1737 + msgid "Mailbox not deleted" + msgstr "Mailbox non cancellata" + +-#: browser.c:1697 ++#: browser.c:1764 + msgid "Chdir to: " + msgstr "Cambia directory in: " + +-#: browser.c:1747 browser.c:1808 ++#: browser.c:1814 browser.c:1875 + msgid "Error scanning directory" + msgstr "Errore nella lettura della directory" + +-#: browser.c:1769 ++#: browser.c:1836 + msgid "File Mask: " + msgstr "Maschera dei file: " + + #. L10N: The highlighted letters must match the "Sort" options +-#: browser.c:1831 ++#: browser.c:1898 + #, fuzzy + msgid "Reverse sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "Ordino al contrario per (d)ata, (a)lfabetico, dimensioni(z) o (n)ulla?" + + #. L10N: The highlighted letters must match the "Reverse Sort" options +-#: browser.c:1834 ++#: browser.c:1901 + #, fuzzy + msgid "Sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "Ordino per (d)ata, (a)lfabetico, dimensioni(z) o (n)ulla?" + + #. L10N: These must match the highlighted letters from "Sort" and "Reverse Sort" +-#: browser.c:1837 ++#: browser.c:1904 + msgid "dazecwn" + msgstr "" + +-#: browser.c:1948 ++#: browser.c:2015 + msgid "New file name: " + msgstr "Nuovo nome del file: " + +-#: browser.c:1976 ++#: browser.c:2043 + msgid "Can't view a directory" + msgstr "Impossibile vedere una directory" + +-#: browser.c:1993 ++#: browser.c:2060 + msgid "Error trying to view file" + msgstr "C'è stato un errore nella visualizzazione del file" + +-#: browser.c:2079 ++#: browser.c:2146 + #, fuzzy, c-format + msgid "Subscribe pattern: " + msgstr "Iscritto a %s" + +-#: browser.c:2081 ++#: browser.c:2148 + #, fuzzy, c-format + msgid "Unsubscribe pattern: " + msgstr "Sottoscrizione rimossa da %s..." + +-#: browser.c:2101 ++#: browser.c:2169 + #, fuzzy + msgid "No newsgroups match the mask" + msgstr "Non ci sono file corrispondenti alla maschera" + +-#: color.c:633 color.c:644 +-#, c-format +-msgid "%s: color not supported by term" +-msgstr "%s: il colore non è gestito dal terminale" +- +-#: color.c:652 +-#, c-format +-msgid "%s: no such color" +-msgstr "%s: colore inesistente" +- +-#: color.c:717 color.c:740 color.c:751 color.c:842 +-#, c-format +-msgid "%s: no such object" +-msgstr "%s: oggetto inesistente" +- +-#: color.c:731 color.c:868 color.c:1069 color.c:1098 color.c:1122 color.c:1191 +-#: color.c:1214 hook.c:110 hook.c:124 hook.c:367 hook.c:383 init.c:612 +-#: init.c:620 init.c:709 init.c:1099 init.c:1267 init.c:1871 init.c:1929 +-#: keymap.c:1184 score.c:110 +-#, c-format +-msgid "%s: too few arguments" +-msgstr "%s: troppo pochi argomenti" +- +-#: color.c:1142 +-#, c-format +-msgid "%s: no such attribute" +-msgstr "%s: attributo inesistente" +- +-#: color.c:1223 color.c:1329 hook.c:131 hook.c:390 init.c:1123 init.c:2133 +-#: init.c:2611 keymap.c:1116 keymap.c:1289 keymap.c:1442 keymap.c:1506 +-#: mutt_lua.c:483 score.c:119 +-#, c-format +-msgid "%s: too many arguments" +-msgstr "%s: troppi argomenti" +- +-#: color.c:1244 +-msgid "default colors not supported" +-msgstr "i colori predefiniti non sono gestiti" +- +-#: color.c:1282 +-#, c-format +-msgid "Maximum quoting level is %d" +-msgstr "" +- +-#: color.c:1319 +-#, fuzzy, c-format +-msgid "%s: invalid number: %s" +-msgstr "Errore: score: numero non valido" +- + #. L10N: Used for the $crypt_verify_sig prompt +-#: commands.c:230 ++#: commands.c:232 + msgid "Verify signature?" + msgstr "Verifico la firma?" + +-#: commands.c:257 mbox/mbox.c:1236 ++#: commands.c:259 mbox/mbox.c:1236 + msgid "Could not create temporary file" + msgstr "Impossibile creare il file temporaneo" + +-#: commands.c:269 ++#: commands.c:271 + msgid "Can't create display filter" + msgstr "Impossibile creare il filtro di visualizzazione" + +-#: commands.c:302 ++#: commands.c:304 + msgid "Could not copy message" + msgstr "Impossibile copiare il messaggio" + +-#: commands.c:338 ++#: commands.c:340 + msgid "S/MIME signature successfully verified" + msgstr "Firma S/MIME verificata con successo" + +-#: commands.c:340 ++#: commands.c:342 + msgid "S/MIME certificate owner does not match sender" + msgstr "Il proprietario del certificato S/MIME non corrisponde al mittente" + +-#: commands.c:343 commands.c:353 ++#: commands.c:345 commands.c:355 + msgid "Warning: Part of this message has not been signed" + msgstr "Attenzione: una parte di questo messaggio non è stata firmata" + +-#: commands.c:345 ++#: commands.c:347 + msgid "S/MIME signature could NOT be verified" + msgstr "Non è stato possibile verificare la firma S/MIME" + +-#: commands.c:351 ++#: commands.c:353 + msgid "PGP signature successfully verified" + msgstr "Firma PGP verificata con successo" + +-#: commands.c:355 ++#: commands.c:357 + msgid "PGP signature could NOT be verified" + msgstr "Non è stato possibile verificare la firma PGP" + +-#: commands.c:372 compose.c:2116 compress.c:321 curs_lib.c:359 curs_lib.c:646 +-#: index.c:1235 index.c:1285 mutt_attach.c:159 mutt_attach.c:292 pager.c:2460 +-#: sendlib.c:1625 ++#: commands.c:378 compose.c:2187 compress/compress.c:320 gui/curs_lib.c:360 ++#: gui/curs_lib.c:714 index.c:1240 index.c:1290 mutt_attach.c:161 ++#: mutt_attach.c:294 pager.c:2433 sendlib.c:1624 + #, c-format + msgid "Error running \"%s\"" + msgstr "Errore eseguendo \"%s\"" + +-#: commands.c:382 ++#: commands.c:388 + msgid "Command: " + msgstr "Comando: " + +-#: commands.c:419 recvcmd.c:191 recvcmd.c:203 ++#: commands.c:425 recvcmd.c:190 recvcmd.c:202 + msgid "Warning: message contains no From: header" + msgstr "Attenzione: il messaggio non contiene alcun header From:" + +-#: commands.c:425 recvcmd.c:212 ++#: commands.c:431 recvcmd.c:211 + #, fuzzy + msgid "Bounce message to: " + msgstr "Rimbalza il messaggio a: " + +-#: commands.c:427 recvcmd.c:214 ++#: commands.c:433 recvcmd.c:213 + #, fuzzy + msgid "Bounce tagged messages to: " + msgstr "Rimbalza i messaggi segnati a: " + +-#: commands.c:436 recvcmd.c:224 ++#: commands.c:442 recvcmd.c:223 + msgid "Error parsing address" + msgstr "Errore nella lettura dell'indirizzo" + +-#: commands.c:455 recvcmd.c:243 ++#: commands.c:461 recvcmd.c:242 + #, fuzzy, c-format + msgid "Bounce message to %s?" + msgid_plural "Bounce messages to %s?" + msgstr[0] "Rimbalza il messaggio a %s?" + msgstr[1] "Rimbalza i messaggi a %s?" + +-#: commands.c:470 recvcmd.c:257 ++#: commands.c:476 recvcmd.c:257 + #, fuzzy + msgid "Message not bounced" + msgid_plural "Messages not bounced" + msgstr[0] "Messaggio non rimbalzato" + msgstr[1] "Messaggi non rimbalzati" + +-#: commands.c:496 recvcmd.c:276 ++#: commands.c:502 recvcmd.c:276 + #, fuzzy + msgid "Message bounced" + msgid_plural "Messages bounced" + msgstr[0] "Messaggio rimbalzato" + msgstr[1] "Messaggi rimbalzati" + +-#: commands.c:606 commands.c:642 commands.c:662 ++#: commands.c:612 commands.c:648 commands.c:668 + msgid "Can't create filter process" + msgstr "Impossibile creare il processo filtro" + +-#: commands.c:698 ++#: commands.c:704 + msgid "Pipe to command: " + msgstr "Apri una pipe con il comando: " + +-#: commands.c:720 ++#: commands.c:726 + msgid "No printing command has been defined" + msgstr "Non è stato definito un comando di stampa" + +-#: commands.c:732 ++#: commands.c:738 + #, fuzzy + msgid "Print message?" + msgstr "Stampare il messaggio?" + +-#: commands.c:733 ++#: commands.c:739 + #, fuzzy + msgid "Print tagged messages?" + msgstr "Stampare i messaggi segnati?" + +-#: commands.c:739 ++#: commands.c:745 + #, fuzzy + msgid "Message printed" + msgid_plural "Messages printed" + msgstr[0] "Messaggio stampato" + msgstr[1] "Messaggi stampati" + +-#: commands.c:742 ++#: commands.c:748 + #, fuzzy + msgid "Message could not be printed" + msgid_plural "Messages could not be printed" +@@ -739,162 +718,325 @@ msgstr[0] "Impossibile stampare il messaggio" + msgstr[1] "Impossibile stampare i messaggi" + + #. L10N: The highlighted letters must match the "Sort" options +-#: commands.c:759 ++#: commands.c:765 + msgid "Rev-Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "" + + #. L10N: The highlighted letters must match the "Rev-Sort" options +-#: commands.c:763 ++#: commands.c:769 + msgid "Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "" + + #. L10N: These must match the highlighted letters from "Sort" and "Rev-Sort" +-#: commands.c:767 ++#: commands.c:773 + msgid "dfrsotuzcpl" + msgstr "" + +-#: commands.c:831 ++#: commands.c:837 + msgid "Shell command: " + msgstr "Comando della shell: " + +-#: commands.c:1036 ++#: commands.c:1042 + #, fuzzy + msgid "Decode-save to mailbox" + msgstr "Decodifica e salva nella mailbox" + +-#: commands.c:1036 ++#: commands.c:1042 + #, fuzzy + msgid "Decode-save tagged to mailbox" + msgstr "Decodifica e salva nella mailbox i messaggi segnati" + +-#: commands.c:1038 ++#: commands.c:1044 + #, fuzzy + msgid "Decrypt-save to mailbox" + msgstr "Decifra e salva nella mailbox" + +-#: commands.c:1038 ++#: commands.c:1044 + #, fuzzy + msgid "Decrypt-save tagged to mailbox" + msgstr "Decifra e salva nella mailbox i messaggi segnati" + +-#: commands.c:1040 ++#: commands.c:1046 + #, fuzzy + msgid "Save to mailbox" + msgstr "Salva nella mailbox" + +-#: commands.c:1040 ++#: commands.c:1046 + #, fuzzy + msgid "Save tagged to mailbox" + msgstr "Salva nella mailbox i messaggi segnati" + +-#: commands.c:1045 ++#: commands.c:1051 + #, fuzzy + msgid "Decode-copy to mailbox" + msgstr "Decodifica e copia nella mailbox" + +-#: commands.c:1045 ++#: commands.c:1051 + #, fuzzy + msgid "Decode-copy tagged to mailbox" + msgstr "Decodifica e copia nella mailbox i messaggi segnati" + +-#: commands.c:1047 ++#: commands.c:1053 + #, fuzzy + msgid "Decrypt-copy to mailbox" + msgstr "Decifra e copia nella mailbox" + +-#: commands.c:1047 ++#: commands.c:1053 + #, fuzzy + msgid "Decrypt-copy tagged to mailbox" + msgstr "Decifra e copia nella mailbox i messaggi segnati" + +-#: commands.c:1049 ++#: commands.c:1055 + #, fuzzy + msgid "Copy to mailbox" + msgstr "Copia nella mailbox" + +-#: commands.c:1049 ++#: commands.c:1055 + #, fuzzy + msgid "Copy tagged to mailbox" + msgstr "Copia nella mailbox i messaggi segnati" + +-#: commands.c:1092 ++#: commands.c:1098 + #, c-format + msgid "Copying to %s..." + msgstr "Copio in %s..." + + #. L10N: e.g. "text/plain; charset=UTF-8; ..." +-#: commands.c:1257 ++#: commands.c:1263 + #, fuzzy + msgid "Content type is too long" + msgstr "Il Content-Type è stato cambiato in %s" + +-#: commands.c:1281 ++#: commands.c:1290 + #, c-format + msgid "Convert to %s upon sending?" + msgstr "Convertire in %s al momento dell'invio?" + +-#: commands.c:1292 ++#: commands.c:1301 + #, c-format + msgid "Content-Type changed to %s" + msgstr "Il Content-Type è stato cambiato in %s" + +-#: commands.c:1297 ++#: commands.c:1306 + #, fuzzy, c-format + msgid "Character set changed to %s; not converting" + msgstr "Il set di caratteri è stato cambiato in %s; non convertito" + +-#: commands.c:1298 ++#: commands.c:1307 + #, fuzzy, c-format + msgid "Character set changed to %s; converting" + msgstr "Il set di caratteri è stato cambiato in %s; convertito" + +-#: compose.c:99 ++#: command_parse.c:83 command_parse.c:211 command_parse.c:219 ++#: command_parse.c:740 command_parse.c:887 command_parse.c:1491 ++#: command_parse.c:1549 gui/color.c:731 gui/color.c:868 gui/color.c:1069 ++#: gui/color.c:1098 gui/color.c:1122 gui/color.c:1191 gui/color.c:1214 ++#: hook.c:110 hook.c:124 hook.c:372 hook.c:388 keymap.c:1182 score.c:110 ++#, c-format ++msgid "%s: too few arguments" ++msgstr "%s: troppo pochi argomenti" ++ ++#: command_parse.c:394 ++msgid "-group: no group name" ++msgstr "-group: nessun nome per il gruppo" ++ ++#: command_parse.c:404 ++msgid "out of arguments" ++msgstr "" ++ ++#: command_parse.c:445 command_parse.c:1372 ++#, c-format ++msgid "Error: Can't build path of '%s'" ++msgstr "" ++ ++#: command_parse.c:458 ++#, c-format ++msgid "Error: Cyclic sourcing of configuration file '%s'" ++msgstr "" ++ ++#: command_parse.c:491 ++#, c-format ++msgid "Error in %s, line %d: %s" ++msgstr "Errore in %s, linea %d: %s" ++ ++#: command_parse.c:502 ++#, fuzzy, c-format ++msgid "Warning in %s, line %d: %s" ++msgstr "Errore in %s, linea %d: %s" ++ ++#: command_parse.c:526 ++#, c-format ++msgid "source: errors in %s" ++msgstr "source: errori in %s" ++ ++#: command_parse.c:526 ++#, fuzzy, c-format ++msgid "source: reading aborted due to too many errors in %s" ++msgstr "source: lettura terminata a causa di troppi errori in %s" ++ ++#: command_parse.c:535 ++#, fuzzy, c-format ++msgid "source: %d warning in %s" ++msgid_plural "source: %d warnings in %s" ++msgstr[0] "source: errori in %s" ++msgstr[1] "source: errori in %s" ++ ++#: command_parse.c:564 ++msgid "alias: no address" ++msgstr "alias: nessun indirizzo" ++ ++#: command_parse.c:606 ++#, c-format ++msgid "Warning: Bad IDN '%s' in alias '%s'" ++msgstr "Attenzione: l'IDN '%s' nell'alias '%s' non è valido" ++ ++#: command_parse.c:684 ++msgid "attachments: no disposition" ++msgstr "allegati: nessuna disposizione" ++ ++#: command_parse.c:695 ++#, fuzzy ++msgid "Current attachments settings:" ++msgstr "modifica la descrizione dell'allegato" ++ ++#: command_parse.c:725 ++msgid "attachments: invalid disposition" ++msgstr "allegati: disposizione non valida" ++ ++#: command_parse.c:764 command_parse.c:1753 command_parse.c:2205 ++#: gui/color.c:1223 gui/color.c:1329 hook.c:131 hook.c:395 keymap.c:1114 ++#: keymap.c:1287 keymap.c:1440 keymap.c:1504 mutt_lua.c:485 score.c:119 ++#, c-format ++msgid "%s: too many arguments" ++msgstr "%s: troppi argomenti" ++ ++#: command_parse.c:801 ++#, c-format ++msgid "%sgroup: missing -rx or -addr" ++msgstr "%sgroup: -rx o -addr mancanti" ++ ++#: command_parse.c:827 ++#, c-format ++msgid "%sgroup: warning: bad IDN '%s'" ++msgstr "%sgroup: attenzione: ID '%s' errato" ++ ++#: command_parse.c:898 ++#, c-format ++msgid "Error: %s" ++msgstr "" ++ ++#: command_parse.c:1065 ++msgid "invalid header field" ++msgstr "Campo dell'header non valido" ++ ++#: command_parse.c:1331 command_parse.c:1435 ++#, c-format ++msgid "%s: unknown variable" ++msgstr "%s: variabile sconosciuta" ++ ++#: command_parse.c:1528 ++#, c-format ++msgid "%s is unset" ++msgstr "%s non è attivo" ++ ++#: command_parse.c:1573 mutt_lua.c:480 ++#, c-format ++msgid "source: error at %s" ++msgstr "source: errore in %s" ++ ++#: command_parse.c:1581 ++#, fuzzy, c-format ++msgid "source: file %s could not be sourced" ++msgstr "Impossibile stampare i messaggi" ++ ++#: command_parse.c:1604 ++msgid "spam: no matching pattern" ++msgstr "spam: nessun modello corrispondente" ++ ++#: command_parse.c:1606 ++msgid "nospam: no matching pattern" ++msgstr "nospam: nessun modello corrispondente" ++ ++#: command_parse.c:1762 imap/imap.c:1443 ++#, c-format ++msgid "Subscribed to %s" ++msgstr "Iscritto a %s" ++ ++#: command_parse.c:1766 ++#, fuzzy, c-format ++msgid "Could not subscribe to %s" ++msgstr "Iscritto a %s" ++ ++#: command_parse.c:1774 command_parse.c:2226 ++#, fuzzy ++msgid "No folder specified" ++msgstr "Non è stato specificato un oggetto." ++ ++#: command_parse.c:1943 ++msgid "unattachments: no disposition" ++msgstr "" ++ ++#: command_parse.c:1981 ++msgid "unattachments: invalid disposition" ++msgstr "" ++ ++#: command_parse.c:2214 imap/imap.c:1445 ++#, c-format ++msgid "Unsubscribed from %s" ++msgstr "Sottoscrizione rimossa da %s..." ++ ++#: command_parse.c:2218 ++#, fuzzy, c-format ++msgid "Could not unsubscribe from %s" ++msgstr "Sottoscrizione rimossa da %s..." ++ ++#: compose.c:97 + msgid "There are no attachments" + msgstr "Non ci sono allegati" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:166 ++#: compose.c:164 + msgid "From: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:168 send.c:284 ++#: compose.c:166 send.c:284 + msgid "To: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:170 send.c:286 ++#: compose.c:168 send.c:286 + msgid "Cc: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:172 send.c:288 ++#: compose.c:170 send.c:288 + msgid "Bcc: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:174 compose.c:1242 send.c:320 ++#: compose.c:172 compose.c:1302 send.c:320 + msgid "Subject: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:176 ++#: compose.c:174 + #, fuzzy + msgid "Reply-To: " + msgstr "Rispondi" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:178 compose.c:1261 ++#: compose.c:176 compose.c:1321 + msgid "Fcc: " + msgstr "" + + #. L10N: "Mix" refers to the MixMaster chain for anonymous email +-#: compose.c:181 ++#: compose.c:179 + msgid "Mix: " + msgstr "" + + #. L10N: Compose menu field. Holds "Encrypt", "Sign" related information +-#: compose.c:184 ++#: compose.c:182 + msgid "Security: " + msgstr "" + +@@ -905,79 +1047,79 @@ msgstr "" + #. it should not be longer than the other compose menu fields. + #. Since it shares the row with "Encrypt with:", it should not be longer + #. than 15-20 character cells. +-#: compose.c:192 ncrypt/crypt_gpgme.c:5602 ncrypt/pgp.c:1974 +-#: ncrypt/smime.c:2395 ++#: compose.c:190 ncrypt/crypt_gpgme.c:5682 ncrypt/pgp.c:1976 ++#: ncrypt/smime.c:2429 + msgid "Sign as: " + msgstr "Firma come: " + + #. L10N: The compose menu autocrypt line +-#: compose.c:195 ++#: compose.c:193 + msgid "Autocrypt: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:199 ++#: compose.c:197 + msgid "Newsgroups: " + msgstr "" + + # FIXME - come tradurre questo messaggio? + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:201 ++#: compose.c:199 + #, fuzzy + msgid "Followup-To: " + msgstr "Inviare un Follow-up a %s%s?" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:203 ++#: compose.c:201 + #, fuzzy + msgid "X-Comment-To: " + msgstr "modifica il campo Reply-To" + +-#: compose.c:208 compose.c:224 ++#: compose.c:206 compose.c:222 + msgid "Send" + msgstr "Spedisci" + +-#: compose.c:209 compose.c:225 remailer.c:77 ++#: compose.c:207 compose.c:223 remailer.c:75 + msgid "Abort" + msgstr "Abbandona" + + #. L10N: compose menu help line entry +-#: compose.c:211 ++#: compose.c:209 + msgid "To" + msgstr "" + + #. L10N: compose menu help line entry +-#: compose.c:213 ++#: compose.c:211 + msgid "CC" + msgstr "" + + #. L10N: compose menu help line entry +-#: compose.c:215 compose.c:227 ++#: compose.c:213 compose.c:225 + msgid "Subj" + msgstr "" + +-#: compose.c:216 compose.c:228 compose.c:1556 ++#: compose.c:214 compose.c:226 compose.c:1616 + msgid "Attach file" + msgstr "Allega un file" + +-#: compose.c:217 compose.c:229 ++#: compose.c:215 compose.c:227 + msgid "Descrip" + msgstr "Descr" + +-#: compose.c:226 ++#: compose.c:224 + #, fuzzy + msgid "Newsgroups" + msgstr "Non è stato specificato un oggetto." + + #. L10N: Autocrypt recommendation flag: off. + #. * This is displayed when Autocrypt is turned off. +-#: compose.c:239 compose.c:473 ++#: compose.c:237 compose.c:472 + msgid "Off" + msgstr "" + + #. L10N: Autocrypt recommendation flag: no. + #. * This is displayed when Autocrypt cannot encrypt to the recipients. +-#: compose.c:242 ++#: compose.c:240 + #, fuzzy + msgid "No" + msgstr "Nessuno" +@@ -986,7 +1128,7 @@ msgstr "Nessuno" + #. * This is displayed when Autocrypt believes encryption should not be used. + #. * This might occur if one of the recipient Autocrypt Keys has not been + #. * used recently, or if the only key available is a Gossip Header key. +-#: compose.c:247 ++#: compose.c:245 + msgid "Discouraged" + msgstr "" + +@@ -994,14 +1136,14 @@ msgstr "" + #. * This is displayed when Autocrypt believes encryption is possible, but + #. * leaves enabling it up to the sender. Probably because "prefer encrypt" + #. * is not set in both the sender and recipient keys. +-#: compose.c:252 ++#: compose.c:250 + msgid "Available" + msgstr "" + + #. L10N: Autocrypt recommendation flag: yes. + #. * This is displayed when Autocrypt would normally enable encryption + #. * automatically. +-#: compose.c:256 ++#: compose.c:254 + #, fuzzy + msgid "Yes" + msgstr "sì" +@@ -1012,7 +1154,7 @@ msgstr "sì" + #. (c)lear sets cleartext. + #. (a)utomatic defers to the recommendation. + #. +-#: compose.c:338 ++#: compose.c:337 + msgid "Autocrypt: (e)ncrypt, (c)lear, (a)utomatic?" + msgstr "" + +@@ -1020,51 +1162,51 @@ msgstr "" + #. The letter corresponding to the compose menu autocrypt prompt + #. (e)ncrypt, (c)lear, (a)utomatic + #. +-#: compose.c:346 ++#: compose.c:345 + msgid "eca" + msgstr "" + +-#: compose.c:383 ++#: compose.c:382 + msgid "Not supported" + msgstr "Non supportato" + +-#: compose.c:390 ++#: compose.c:389 + msgid "Sign, Encrypt" + msgstr "Firma, Crittografa" + +-#: compose.c:395 compose.c:468 ++#: compose.c:394 compose.c:467 + msgid "Encrypt" + msgstr "Crittografa" + +-#: compose.c:400 ++#: compose.c:399 + msgid "Sign" + msgstr "Firma" + +-#: compose.c:406 ++#: compose.c:405 + msgid "None" + msgstr "Nessuno" + +-#: compose.c:415 ++#: compose.c:414 + msgid " (inline PGP)" + msgstr " (PGP in linea)" + +-#: compose.c:417 ++#: compose.c:416 + msgid " (PGP/MIME)" + msgstr " (PGP/MIME)" + +-#: compose.c:420 ++#: compose.c:419 + msgid " (S/MIME)" + msgstr " (S/MIME)" + +-#: compose.c:424 ++#: compose.c:423 + msgid " (OppEnc mode)" + msgstr "" + +-#: compose.c:436 compose.c:445 ++#: compose.c:435 compose.c:444 + msgid "" + msgstr "" + +-#: compose.c:452 ++#: compose.c:451 + msgid "Encrypt with: " + msgstr "Cifra con: " + +@@ -1073,12 +1215,12 @@ msgstr "Cifra con: " + #. Displays the output of the recommendation engine + #. (Off, No, Discouraged, Available, Yes) + #. +-#: compose.c:483 ++#: compose.c:482 + #, fuzzy + msgid "Recommendation: " + msgstr "modifica il campo Reply-To" + +-#: compose.c:547 ++#: compose.c:546 + msgid "" + msgstr "" + +@@ -1089,7 +1231,7 @@ msgstr "" + #. The filename is located last to avoid a long path hiding the + #. error message. + #. +-#: compose.c:601 ++#: compose.c:600 + #, fuzzy, c-format + msgid "Attachment #%d no longer exists: %s" + msgstr "%s [#%d] non esiste più" +@@ -1101,240 +1243,360 @@ msgstr "%s [#%d] non esiste più" + #. The filename is located last to avoid a long path hiding the + #. prompt question. + #. +-#: compose.c:621 ++#: compose.c:620 + #, fuzzy, c-format + msgid "Attachment #%d modified. Update encoding for %s?" + msgstr "%s [#%d] è stato modificato. Aggiornare la codifica?" + +-#: compose.c:716 ++#: compose.c:715 + msgid "-- Attachments" + msgstr "-- Allegati" + +-#: compose.c:770 ++#: compose.c:769 + msgid "You may not delete the only attachment" + msgstr "Non si può cancellare l'unico allegato" + +-#: compose.c:1296 edit.c:538 send.c:2462 ++#: compose.c:1356 edit.c:536 send.c:2473 + #, c-format + msgid "Bad IDN in '%s': '%s'" + msgstr "IDN non valido in '%s': '%s'" + +-#: compose.c:1347 ++#: compose.c:1407 + #, fuzzy + msgid "Attachment is already at top" + msgstr "Allegato salvato" + +-#: compose.c:1352 compose.c:1368 ++#: compose.c:1412 compose.c:1428 + #, fuzzy + msgid "The fundamental part can't be moved" + msgstr "L'allegato corrente non sarà convertito" + +-#: compose.c:1363 ++#: compose.c:1423 + #, fuzzy + msgid "Attachment is already at bottom" + msgstr "Allegato filtrato" + +-#: compose.c:1381 ++#: compose.c:1441 + msgid "Grouping 'alternatives' requires at least 2 tagged messages" + msgstr "" + +-#: compose.c:1462 ++#: compose.c:1522 + msgid "Grouping 'multilingual' requires at least 2 tagged messages" + msgstr "" + +-#: compose.c:1475 ++#: compose.c:1535 + msgid "Not all parts have 'Content-Language' set, continue?" + msgstr "" + +-#: compose.c:1477 ++#: compose.c:1537 + #, fuzzy + msgid "Not sending this message" + msgstr "Errore durante l'invio del messaggio" + +-#: compose.c:1571 ++#: compose.c:1631 + #, fuzzy + msgid "Attaching selected file..." + msgid_plural "Attaching selected files..." + msgstr[0] "Allego i file selezionati..." + msgstr[1] "Allego i file selezionati..." + +-#: compose.c:1585 ++#: compose.c:1645 + #, c-format + msgid "Unable to attach %s" + msgstr "Impossibile allegare %s" + +-#: compose.c:1606 ++#: compose.c:1666 + msgid "Open mailbox to attach message from" + msgstr "Aprire la mailbox da cui allegare il messaggio" + +-#: compose.c:1616 ++#: compose.c:1676 + #, fuzzy + msgid "Open newsgroup to attach message from" + msgstr "Aprire la mailbox da cui allegare il messaggio" + +-#: compose.c:1667 ++#: compose.c:1730 + #, fuzzy, c-format + msgid "Unable to open mailbox %s" + msgstr "Impossibile bloccare la mailbox!" + +-#: compose.c:1676 ++#: compose.c:1739 + msgid "No messages in that folder" + msgstr "In questo folder non ci sono messaggi" + +-#: compose.c:1686 ++#: compose.c:1749 + msgid "Tag the messages you want to attach" + msgstr "Segnare i messaggi da allegare" + +-#: compose.c:1715 ++#: compose.c:1785 + msgid "Unable to attach" + msgstr "Impossibile allegare" + +-#: compose.c:1752 ++#: compose.c:1822 + msgid "Recoding only affects text attachments" + msgstr "La ricodifica ha effetti solo sugli allegati di testo" + +-#: compose.c:1757 ++#: compose.c:1827 + msgid "The current attachment won't be converted" + msgstr "L'allegato corrente non sarà convertito" + +-#: compose.c:1759 ++#: compose.c:1829 + msgid "The current attachment will be converted" + msgstr "L'allegato corrente sarà convertito" + +-#: compose.c:1831 ++#: compose.c:1901 + msgid "Empty 'Content-Language'" + msgstr "" + +-#: compose.c:1849 ++#: compose.c:1920 + msgid "Invalid encoding" + msgstr "Codifica non valida" + +-#: compose.c:1871 ++#: compose.c:1942 + msgid "Save a copy of this message?" + msgstr "Salvare una copia di questo messaggio?" + +-#: compose.c:1924 ++#: compose.c:1995 + #, fuzzy + msgid "Send attachment with name: " + msgstr "Salvare l'allegato in Fcc?" + +-#: compose.c:1939 ++#: compose.c:2010 + msgid "Rename to: " + msgstr "Rinomina in: " + + #. L10N: "stat" is a system call. Do "man 2 stat" for more information. +-#: compose.c:1946 editmsg.c:102 editmsg.c:138 sendlib.c:1050 ++#: compose.c:2017 editmsg.c:102 editmsg.c:138 sendlib.c:1049 + #, c-format + msgid "Can't stat %s: %s" + msgstr "Impossibile eseguire lo stat di %s: %s" + +-#: compose.c:1966 ++#: compose.c:2037 + msgid "New file: " + msgstr "Nuovo file: " + +-#: compose.c:1984 ++#: compose.c:2055 + msgid "Content-Type is of the form base/sub" + msgstr "Content-Type non è nella forma base/sub" + +-#: compose.c:1991 ++#: compose.c:2062 + #, c-format + msgid "Unknown Content-Type %s" + msgstr "Content-Type %s sconosciuto" + +-#: compose.c:1999 ++#: compose.c:2070 + #, c-format + msgid "Can't create file %s" + msgstr "Impossibile creare il file %s" + +-#: compose.c:2008 ++#: compose.c:2079 + msgid "What we have here is a failure to make an attachment" + msgstr "Quel che abbiamo qui è l'impossibilità di fare un allegato" + +-#: compose.c:2073 ++#: compose.c:2144 + #, fuzzy + msgid "Save (postpone) draft message?" + msgstr "Richiamare il messaggio rimandato?" + +-#: compose.c:2133 ++#: compose.c:2204 + msgid "Write message to mailbox" + msgstr "Salva il messaggio nella mailbox" + +-#: compose.c:2136 ++#: compose.c:2207 + #, c-format + msgid "Writing message to %s ..." + msgstr "Scrittura del messaggio in %s..." + +-#: compose.c:2143 ++#: compose.c:2214 + msgid "Message written" + msgstr "Messaggio scritto" + +-#: compose.c:2154 ++#: compose.c:2225 + msgid "No PGP backend configured" + msgstr "" + +-#: compose.c:2161 compose.c:2225 ++#: compose.c:2232 compose.c:2296 + msgid "S/MIME already selected. Clear and continue?" + msgstr "S/MIME già selezionato. Annullare & continuare?" + +-#: compose.c:2186 ++#: compose.c:2257 + msgid "No S/MIME backend configured" + msgstr "" + +-#: compose.c:2194 ++#: compose.c:2265 + msgid "PGP already selected. Clear and continue?" + msgstr "PGP già selezionato. Annullare & continuare?" + +-#: compress.c:355 compress.c:499 ++#: compress/compress.c:354 compress/compress.c:498 + #, c-format + msgid "Can't append without an append-hook or close-hook : %s" + msgstr "" + +-#: compress.c:444 compress.c:511 compress.c:590 compress.c:628 mbox/mbox.c:1208 ++#: compress/compress.c:443 compress/compress.c:510 compress/compress.c:589 ++#: compress/compress.c:627 mbox/mbox.c:1208 + msgid "Unable to lock mailbox" + msgstr "Impossibile bloccare la mailbox" + +-#: compress.c:448 compress.c:518 compress.c:594 ++#: compress/compress.c:447 compress/compress.c:517 compress/compress.c:593 + #, c-format + msgid "Decompressing %s" + msgstr "" + +-#: compress.c:457 ++#: compress/compress.c:456 + msgid "Can't identify the contents of the compressed file" + msgstr "" + +-#: compress.c:464 compress.c:539 ++#: compress/compress.c:463 compress/compress.c:538 + #, c-format + msgid "Can't find mailbox ops for mailbox type %d" + msgstr "" + +-#: compress.c:521 ++#: compress/compress.c:520 + #, fuzzy, c-format + msgid "Compress command failed: %s" + msgstr "Comando di preconnessione fallito." + +-#: compress.c:532 ++#: compress/compress.c:531 + msgid "Unsupported mailbox type for appending" + msgstr "" + +-#: compress.c:618 ++#: compress/compress.c:617 + msgid "Can't sync a compressed file without a close-hook" + msgstr "" + +-#: compress.c:640 compress.c:692 ++#: compress/compress.c:639 compress/compress.c:691 + #, fuzzy, c-format + msgid "Compressing %s" + msgstr "Copio in %s..." + +-#: compress.c:687 ++#: compress/compress.c:686 + #, fuzzy, c-format + msgid "Compressed-appending to %s..." + msgstr "Copio in %s..." + +-#: compress.c:699 editmsg.c:247 ++#: compress/compress.c:698 editmsg.c:247 + #, c-format + msgid "Error. Preserving temporary file: %s" + msgstr "Errore. Preservato il file temporaneo: %s" + ++#: config/bool.c:70 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %s" ++msgstr "Data relativa non valida: %s" ++ ++#: config/bool.c:131 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %ld" ++msgstr "Data relativa non valida: %s" ++ ++#: config/enum.c:62 ++#, fuzzy, c-format ++msgid "Invalid enum value: %s" ++msgstr "Errore: score: numero non valido" ++ ++#: config/enum.c:149 ++#, fuzzy, c-format ++msgid "Invalid enum value: %ld" ++msgstr "Valore per l'opzione %s non valido: \"%s\"" ++ ++#: config/long.c:50 ++#, fuzzy, c-format ++msgid "Invalid long: %s" ++msgstr "Mese non valido: %s" ++ ++#: config/long.c:56 config/long.c:114 config/number.c:68 config/number.c:133 ++#, fuzzy, c-format ++msgid "Option %s may not be negative" ++msgstr "Funzione non permessa nella modalità attach-message." ++ ++#: config/number.c:49 config/sort.c:145 config/string.c:75 config/string.c:159 ++#, c-format ++msgid "Option %s may not be empty" ++msgstr "" ++ ++#: config/number.c:56 ++#, fuzzy, c-format ++msgid "Invalid number: %s" ++msgstr "Errore: score: numero non valido" ++ ++#: config/number.c:62 ++#, c-format ++msgid "Number is too big: %s" ++msgstr "" ++ ++#: config/number.c:127 ++#, fuzzy, c-format ++msgid "Invalid number: %ld" ++msgstr "Errore: score: numero non valido" ++ ++#: config/quad.c:69 ++#, fuzzy, c-format ++msgid "Invalid quad value: %s" ++msgstr "Data relativa non valida: %s" ++ ++#: config/quad.c:133 ++#, fuzzy, c-format ++msgid "Invalid quad value: %ld" ++msgstr "Valore per l'opzione %s non valido: \"%s\"" ++ ++#: config/set.c:102 ++#, c-format ++msgid "No such variable: %s" ++msgstr "" ++ ++#: config/set.c:134 config/set.c:821 ++#, fuzzy, c-format ++msgid "Variable '%s' has an invalid type %d" ++msgstr "Errore: il valore '%s' non è valido per -d" ++ ++#: config/set.c:399 config/set.c:463 config/set.c:528 config/set.c:601 ++#: config/set.c:671 config/set.c:744 ++#, fuzzy, c-format ++msgid "Unknown variable '%s'" ++msgstr "%s: variabile sconosciuta" ++ ++#: config/sort.c:192 ++#, fuzzy, c-format ++msgid "Invalid sort name: %s" ++msgstr "Data relativa non valida: %s" ++ ++#: config/sort.c:322 ++#, fuzzy, c-format ++msgid "Invalid sort type: %ld" ++msgstr "Data relativa non valida: %s" ++ ++#. L10N: Example: Username at myhost.com ++#: conn/connaccount.c:61 ++#, c-format ++msgid "Username at %s: " ++msgstr "Nome utente su %s: " ++ ++#: conn/connaccount.c:117 ++#, c-format ++msgid "Password for %s@%s: " ++msgstr "Password per %s@%s: " ++ ++#. L10N: You will see this error message if (1) you have "oauthbearer" in ++#. one of your $*_authenticators and (2) you do not have the corresponding ++#. $*_oauth_refresh_command defined. So the message does not mean "None of ++#. your $*_oauth_refresh_command's are defined." ++#: conn/connaccount.c:165 ++#, fuzzy ++msgid "No OAUTH refresh command defined" ++msgstr "Il comando della ricerca non è definito" ++ ++#: conn/connaccount.c:173 ++msgid "Unable to run refresh command" ++msgstr "" ++ ++#: conn/connaccount.c:184 ++msgid "Command returned empty string" ++msgstr "" ++ ++#: conn/connaccount.c:191 ++#, c-format ++msgid "OAUTH token is too big: %ld" ++msgstr "" ++ + #: conn/conn_raw.c:160 conn/conn_raw.c:218 + #, c-format + msgid "Looking up %s..." +@@ -1355,7 +1617,7 @@ msgstr "Connessione a %s..." + msgid "Could not connect to %s (%s)" + msgstr "Impossibile connettersi a %s (%s)" + +-#: conn/conn_raw.c:260 conn/ssl.c:1230 curs_lib.c:568 mutt_logging.c:149 ++#: conn/conn_raw.c:260 conn/ssl.c:1245 gui/curs_lib.c:569 mutt_logging.c:147 + msgid "unknown error" + msgstr "errore sconosciuto" + +@@ -1369,23 +1631,23 @@ msgstr "Errore di comunicazione con %s (%s)" + msgid "Connection to %s has been aborted" + msgstr "Connessione a %s chiusa." + +-#: conn/sasl.c:565 ++#: conn/sasl.c:547 + msgid "Unknown SASL profile" + msgstr "Profilo SASL sconosciuto" + +-#: conn/sasl.c:598 ++#: conn/sasl.c:580 + msgid "Error allocating SASL connection" + msgstr "Errore nell'allocare la connessione SASL" + +-#: conn/sasl.c:608 ++#: conn/sasl.c:590 + msgid "Error setting SASL security properties" + msgstr "Errore nell'impostare le proprietà di sicurezza SASL" + +-#: conn/sasl.c:619 ++#: conn/sasl.c:601 + msgid "Error setting SASL external security strength" + msgstr "" + +-#: conn/sasl.c:629 ++#: conn/sasl.c:611 + msgid "Error setting SASL external user name" + msgstr "Errore nell'impostare il nome utente SASL esterno" + +@@ -1398,136 +1660,110 @@ msgstr "Comando di preconnessione fallito" + msgid "Connection to %s closed" + msgstr "Connessione a %s chiusa." + +-#: conn/ssl.c:237 ++#: conn/ssl.c:222 + #, c-format + msgid "Filling entropy pool: %s..." + msgstr "Riempimento del pool di entropia: %s..." + +-#: conn/ssl.c:243 ++#: conn/ssl.c:228 + #, c-format + msgid "%s has insecure permissions" + msgstr "%s ha permessi insicuri" + +-#: conn/ssl.c:385 ++#: conn/ssl.c:369 + #, fuzzy + msgid "SSL disabled due to the lack of entropy" + msgstr "SSL disabilitato a causa della mancanza di entropia" + +-#: conn/ssl.c:402 ++#: conn/ssl.c:386 + msgid "Unknown" + msgstr "Sconosciuto" + +-#: conn/ssl.c:421 conn/ssl_gnutls.c:186 ++#: conn/ssl.c:405 conn/ssl_gnutls.c:188 + #, c-format + msgid "[unable to calculate]" + msgstr "[impossibile da calcolare]" + +-#: conn/ssl.c:446 ++#: conn/ssl.c:430 + msgid "[invalid date]" + msgstr "[data non valida]" + +-#: conn/ssl.c:506 ++#: conn/ssl.c:490 + msgid "Server certificate is not yet valid" + msgstr "Il certificato del server non è ancora valido" + +-#: conn/ssl.c:516 ++#: conn/ssl.c:500 + msgid "Server certificate has expired" + msgstr "Il certificato del server è scaduto" + +-#: conn/ssl.c:605 ++#: conn/ssl.c:589 + msgid "Failed to find enough entropy on your system" + msgstr "Impossibile trovare abbastanza entropia nel sistema" + +-#: conn/ssl.c:799 ++#: conn/ssl.c:783 + msgid "can't get certificate subject" + msgstr "impossibile ottenere il soggetto del certificato" + +-#: conn/ssl.c:808 conn/ssl.c:816 ++#: conn/ssl.c:792 conn/ssl.c:800 + msgid "can't get certificate common name" + msgstr "Impossibile ottenere il nome comune del certificato" + +-#: conn/ssl.c:830 ++#: conn/ssl.c:814 + #, c-format + msgid "certificate owner does not match hostname %s" + msgstr "il proprietario del certificato non corrisponde al nome host %s" + +-#: conn/ssl.c:904 conn/ssl_gnutls.c:539 ++#: conn/ssl.c:917 conn/ssl_gnutls.c:570 + msgid "This certificate belongs to:" + msgstr "Questo certificato appartiene a:" + +-#: conn/ssl.c:913 conn/ssl_gnutls.c:593 ++#: conn/ssl.c:926 conn/ssl_gnutls.c:624 + msgid "This certificate was issued by:" + msgstr "Questo certificato è stato emesso da:" + +-#: conn/ssl.c:922 conn/ssl_gnutls.c:604 ++#: conn/ssl.c:935 conn/ssl_gnutls.c:635 + msgid "This certificate is valid" + msgstr "Questo certificato è valido" + +-#: conn/ssl.c:923 conn/ssl_gnutls.c:608 ++#: conn/ssl.c:936 conn/ssl_gnutls.c:639 + #, c-format + msgid " from %s" + msgstr " da %s" + +-#: conn/ssl.c:925 conn/ssl_gnutls.c:612 ++#: conn/ssl.c:938 conn/ssl_gnutls.c:643 + #, c-format + msgid " to %s" +-msgstr " a %s" +- +-#: conn/ssl.c:931 conn/ssl_gnutls.c:617 +-#, c-format +-msgid "SHA1 Fingerprint: %s" +-msgstr "Fingerprint SHA1: %s" +- +-#: conn/ssl.c:937 conn/ssl.c:940 conn/ssl_gnutls.c:623 conn/ssl_gnutls.c:625 +-#, fuzzy +-msgid "SHA256 Fingerprint: " +-msgstr "Fingerprint SHA256: %s" +- +-#: conn/ssl.c:944 conn/ssl_gnutls.c:664 +-#, c-format +-msgid "SSL Certificate check (certificate %zu of %zu in chain)" +-msgstr "Verifica del certificato SSL (certificato %zu di %zu nella catena)" +- +-#. L10N: These four letters correspond to the choices in the next four strings: +-#. (r)eject, accept (o)nce, (a)ccept always, (s)kip. +-#. These prompts are the interactive certificate confirmation prompts for +-#. an OpenSSL connection. +-#: conn/ssl.c:964 +-msgid "roas" +-msgstr "" +- +-#: conn/ssl.c:968 +-#, fuzzy +-msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" +-msgstr "(r)ifiuta, accetta questa v(o)lta, (a)ccetta sempre" ++msgstr " a %s" + +-#: conn/ssl.c:970 conn/ssl_gnutls.c:671 +-msgid "(r)eject, accept (o)nce, (a)ccept always" +-msgstr "(r)ifiuta, accetta questa v(o)lta, (a)ccetta sempre" ++#: conn/ssl.c:944 conn/ssl_gnutls.c:648 ++#, c-format ++msgid "SHA1 Fingerprint: %s" ++msgstr "Fingerprint SHA1: %s" + +-#: conn/ssl.c:975 ++#: conn/ssl.c:950 conn/ssl.c:953 conn/ssl_gnutls.c:654 conn/ssl_gnutls.c:656 + #, fuzzy +-msgid "(r)eject, accept (o)nce, (s)kip" +-msgstr "(r)ifiuta, accetta questa v(o)lta" ++msgid "SHA256 Fingerprint: " ++msgstr "Fingerprint SHA256: %s" + +-#: conn/ssl.c:977 conn/ssl_gnutls.c:680 +-msgid "(r)eject, accept (o)nce" +-msgstr "(r)ifiuta, accetta questa v(o)lta" ++#: conn/ssl.c:957 conn/ssl_gnutls.c:695 ++#, c-format ++msgid "SSL Certificate check (certificate %zu of %zu in chain)" ++msgstr "Verifica del certificato SSL (certificato %zu di %zu nella catena)" + +-#: conn/ssl.c:981 conn/ssl_gnutls.c:689 ncrypt/crypt_gpgme.c:4729 +-#: ncrypt/pgpkey.c:664 ncrypt/smime.c:549 ++#: conn/ssl.c:994 conn/ssl_gnutls.c:720 ncrypt/crypt_gpgme.c:4777 ++#: ncrypt/pgpkey.c:667 ncrypt/smime.c:551 + msgid "Exit " + msgstr "Esci " + +-#: conn/ssl.c:1016 conn/ssl_gnutls.c:742 ++#: conn/ssl.c:1029 conn/ssl_gnutls.c:773 + msgid "Warning: Couldn't save certificate" + msgstr "Attenzione: impossibile salvare il certificato" + +-#: conn/ssl.c:1020 conn/ssl_gnutls.c:746 ++#: conn/ssl.c:1033 conn/ssl_gnutls.c:777 + msgid "Certificate saved" + msgstr "Certificato salvato" + +-#: conn/ssl.c:1132 ++#: conn/ssl.c:1147 + #, c-format + msgid "Certificate host check failed: %s" + msgstr "Verifica nome host del certificato fallita: %s" +@@ -1535,15 +1771,15 @@ msgstr "Verifica nome host del certificato fallita: %s" + #. L10N: This is a warning when trying to set the host name for + #. * TLS Server Name Indication (SNI). This allows the server to present + #. * the correct certificate if it supports multiple hosts. +-#: conn/ssl.c:1213 conn/ssl_gnutls.c:1072 ++#: conn/ssl.c:1228 conn/ssl_gnutls.c:1105 + msgid "Warning: unable to set TLS SNI host name" + msgstr "" + +-#: conn/ssl.c:1224 ++#: conn/ssl.c:1239 + msgid "I/O error" + msgstr "errore di I/O" + +-#: conn/ssl.c:1233 ++#: conn/ssl.c:1248 + #, c-format + msgid "SSL failed: %s" + msgstr "SSL fallito: %s" +@@ -1551,90 +1787,74 @@ msgstr "SSL fallito: %s" + #. L10N: an SSL context is a data structure returned by the OpenSSL + #. function SSL_CTX_new(). In this case it returned NULL: an + #. error condition. +-#: conn/ssl.c:1269 ++#: conn/ssl.c:1284 + #, fuzzy + msgid "Unable to create SSL context" + msgstr "Errore: impossibile creare il sottoprocesso di OpenSSL!" + +-#: conn/ssl.c:1322 ++#: conn/ssl.c:1337 + msgid "Warning: error enabling ssl_verify_partial_chains" + msgstr "" + +-#: conn/ssl_gnutls.c:150 conn/ssl_gnutls.c:784 conn/ssl_gnutls.c:793 ++#: conn/ssl_gnutls.c:152 conn/ssl_gnutls.c:817 conn/ssl_gnutls.c:826 + msgid "Unable to get certificate from peer" + msgstr "Impossibile ottenere il certificato dal peer" + +-#: conn/ssl_gnutls.c:155 ++#: conn/ssl_gnutls.c:157 + #, c-format + msgid "Certificate verification error (%s)" + msgstr "Errore nella verifica del certificato (%s)" + +-#: conn/ssl_gnutls.c:162 ++#: conn/ssl_gnutls.c:164 + msgid "Certificate is not X.509" + msgstr "Il certificato non è X.509" + +-#: conn/ssl_gnutls.c:349 conn/ssl_gnutls.c:483 ++#: conn/ssl_gnutls.c:351 conn/ssl_gnutls.c:485 + msgid "Error initialising gnutls certificate data" + msgstr "Errore nell'inizializzazione dei dati del certificato gnutls" + +-#: conn/ssl_gnutls.c:355 conn/ssl_gnutls.c:489 ++#: conn/ssl_gnutls.c:357 conn/ssl_gnutls.c:491 + msgid "Error processing certificate data" + msgstr "Errore nell'analisi dei dati del certificato" + +-#: conn/ssl_gnutls.c:635 ++#: conn/ssl_gnutls.c:666 + msgid "WARNING: Server certificate is not yet valid" + msgstr "ATTENZIONE: il certificato del server non è ancora valido" + +-#: conn/ssl_gnutls.c:640 ++#: conn/ssl_gnutls.c:671 + msgid "WARNING: Server certificate has expired" + msgstr "ATTENZIONE: il certificato del server è scaduto" + +-#: conn/ssl_gnutls.c:645 ++#: conn/ssl_gnutls.c:676 + msgid "WARNING: Server certificate has been revoked" + msgstr "ATTENZIONE: il certificato del server è stato revocato" + +-#: conn/ssl_gnutls.c:650 ++#: conn/ssl_gnutls.c:681 + msgid "WARNING: Server hostname does not match certificate" + msgstr "ATTENZIONE: il nome host del server non corrisponde al certificato" + +-#: conn/ssl_gnutls.c:655 ++#: conn/ssl_gnutls.c:686 + msgid "WARNING: Signer of server certificate is not a CA" + msgstr "ATTENZIONE: il firmatario del certificato del server non è una CA valida" + +-#: conn/ssl_gnutls.c:659 conn/ssl_gnutls.c:1004 ++#: conn/ssl_gnutls.c:690 conn/ssl_gnutls.c:1037 + msgid "Warning: Server certificate was signed using an insecure algorithm" + msgstr "Attenzione: il certificato del server è stato firmato con un algoritmo non sicuro" + +-#. L10N: These three letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce, (a)ccept always. +-#. This is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:676 +-msgid "roa" +-msgstr "roa" +- +-#. L10N: These two letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce. +-#. These is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:685 +-msgid "ro" +-msgstr "ro" +- +-#: conn/ssl_gnutls.c:950 conn/ssl_gnutls.c:992 ++#: conn/ssl_gnutls.c:983 conn/ssl_gnutls.c:1025 + msgid "All available protocols for TLS/SSL connection disabled" + msgstr "Disabilitati tutti i protocolli di connessione disponibili per TLS/SSL" + +-#: conn/ssl_gnutls.c:999 ++#: conn/ssl_gnutls.c:1032 + msgid "Explicit ciphersuite selection via $ssl_ciphers not supported" + msgstr "" + +-#: conn/ssl_gnutls.c:1120 ++#: conn/ssl_gnutls.c:1153 + #, c-format + msgid "SSL/TLS connection using %s (%s/%s/%s)" + msgstr "Connessione SSL/TLS con %s (%s/%s/%s)" + +-#: conn/ssl_gnutls.c:1175 conn/ssl_gnutls.c:1204 ++#: conn/ssl_gnutls.c:1210 conn/ssl_gnutls.c:1239 + msgid "Error: no TLS socket open" + msgstr "Errore: nessun socket TLS aperto" + +@@ -1653,38 +1873,18 @@ msgstr "Errore del tunnel nella comunicazione con %s: %s" + msgid "Tunnel to %s returned error %d (%s)" + msgstr "Il tunnel verso %s ha restituito l'errore %d (%s)" + +-#: copy.c:660 ++#: copy.c:662 + #, c-format + msgid "The length calculation was wrong by %ld byte" + msgid_plural "The length calculation was wrong by %ld bytes" + msgstr[0] "" + msgstr[1] "" + +-#: copy.c:744 ++#: copy.c:746 + msgid "No decryption engine available for message" + msgstr "" + +-#: curs_lib.c:378 +-msgid "yes" +-msgstr "sì" +- +-#: curs_lib.c:379 +-msgid "no" +-msgstr "no" +- +-#: curs_lib.c:518 +-msgid "Exit NeoMutt?" +-msgstr "Uscire da neomutt?" +- +-#: curs_lib.c:597 +-msgid "Press any key to continue..." +-msgstr "Premere un tasto per continuare..." +- +-#: curs_lib.c:705 +-msgid " ('?' for list): " +-msgstr " ('?' per la lista): " +- +-#: edit.c:64 ++#: edit.c:62 + #, fuzzy + msgid "" + "~~ insert a line beginning with a single ~\n" +@@ -1707,7 +1907,7 @@ msgstr "" + "~Mmessaggi come ~m, ma include anche gli header\n" + "~p stampa il messaggio\n" + +-#: edit.c:75 ++#: edit.c:73 + msgid "" + "~q write file and quit editor\n" + "~r file read a file into the editor\n" +@@ -1729,20 +1929,20 @@ msgstr "" + "~? questo messaggio\n" + "~. da solo su una linea termina l'input\n" + +-#: edit.c:261 ++#: edit.c:259 + #, c-format + msgid "%d: invalid message number.\n" + msgstr "%d: numero del messaggio non valido.\n" + +-#: edit.c:416 ++#: edit.c:414 + msgid "(End message with a . on a line by itself)\n" + msgstr "(Termina il messaggio con un . su una linea da solo)\n" + +-#: edit.c:474 ++#: edit.c:472 + msgid "No mailbox.\n" + msgstr "Nessuna mailbox.\n" + +-#: edit.c:478 ++#: edit.c:476 + msgid "Message contains:\n" + msgstr "Il messaggio contiene:\n" + +@@ -1750,19 +1950,19 @@ msgstr "Il messaggio contiene:\n" + #. not IN the middle of the content. + #. So it doesn't mean "(message will continue)" + #. but means "(press any key to continue using neomutt)". +-#: edit.c:486 edit.c:547 ++#: edit.c:484 edit.c:545 + msgid "(continue)\n" + msgstr "(continua)\n" + +-#: edit.c:499 ++#: edit.c:497 + msgid "missing filename.\n" + msgstr "manca il nome del file.\n" + +-#: edit.c:519 ++#: edit.c:517 + msgid "No lines in message.\n" + msgstr "Non ci sono linee nel messaggio.\n" + +-#: edit.c:558 ++#: edit.c:556 + #, c-format + msgid "%s: unknown editor command (~? for help)\n" + msgstr "%s: comando dell'editor sconosciuto (~? per l'aiuto)\n" +@@ -1809,19 +2009,73 @@ msgstr "Impossibile accodare al folder: %s" + msgid "multipart message has no boundary parameter" + msgstr "il messaggio multipart non ha il parametro boundary" + +-#: flags.c:382 index.c:2561 index.c:2604 index.c:3134 index.c:3171 ++#: flags.c:381 index.c:2587 index.c:2630 index.c:3160 index.c:3197 + #: mutt_thread.c:1091 mutt_thread.c:1158 mutt_thread.c:1246 + msgid "Threading is not enabled" + msgstr "Il threading non è attivo" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Set flag" + msgstr "Imposta il flag" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Clear flag" + msgstr "Cancella il flag" + ++#: gui/color.c:633 gui/color.c:644 ++#, c-format ++msgid "%s: color not supported by term" ++msgstr "%s: il colore non è gestito dal terminale" ++ ++#: gui/color.c:652 ++#, c-format ++msgid "%s: no such color" ++msgstr "%s: colore inesistente" ++ ++#: gui/color.c:717 gui/color.c:740 gui/color.c:751 gui/color.c:842 ++#, c-format ++msgid "%s: no such object" ++msgstr "%s: oggetto inesistente" ++ ++#: gui/color.c:1142 ++#, c-format ++msgid "%s: no such attribute" ++msgstr "%s: attributo inesistente" ++ ++#: gui/color.c:1244 ++msgid "default colors not supported" ++msgstr "i colori predefiniti non sono gestiti" ++ ++#: gui/color.c:1282 ++#, c-format ++msgid "Maximum quoting level is %d" ++msgstr "" ++ ++#: gui/color.c:1319 ++#, fuzzy, c-format ++msgid "%s: invalid number: %s" ++msgstr "Errore: score: numero non valido" ++ ++#: gui/curs_lib.c:379 ++msgid "yes" ++msgstr "sì" ++ ++#: gui/curs_lib.c:380 ++msgid "no" ++msgstr "no" ++ ++#: gui/curs_lib.c:519 ++msgid "Exit NeoMutt?" ++msgstr "Uscire da neomutt?" ++ ++#: gui/curs_lib.c:598 ++msgid "Press any key to continue..." ++msgstr "Premere un tasto per continuare..." ++ ++#: gui/curs_lib.c:749 ++msgid " ('?' for list): " ++msgstr " ('?' per la lista): " ++ + #: handler.c:102 + #, fuzzy, c-format + msgid "[-- Type: %s/%s%s%s, Encoding: %s, Size: %s --]\n" +@@ -1842,23 +2096,23 @@ msgstr "[-- Visualizzato automaticamente con %s --]\n" + msgid "Invoking autoview command: %s" + msgstr "Richiamo il comando di autovisualizzazione: %s" + +-#: handler.c:591 mutt_attach.c:527 mutt_attach.c:714 mutt_attach.c:745 +-#: mutt_attach.c:1087 mutt_attach.c:1152 ncrypt/pgpkey.c:723 +-#: ncrypt/pgpkey.c:920 ++#: handler.c:590 mutt_attach.c:555 mutt_attach.c:747 mutt_attach.c:778 ++#: mutt_attach.c:1120 mutt_attach.c:1185 ncrypt/pgpkey.c:756 ++#: ncrypt/pgpkey.c:955 + msgid "Can't create filter" + msgstr "Impossibile creare il filtro" + +-#: handler.c:595 ++#: handler.c:594 + #, c-format + msgid "[-- Can't run %s. --]\n" + msgstr "[-- Impossibile eseguire %s. --]\n" + +-#: handler.c:614 handler.c:635 ++#: handler.c:613 handler.c:634 + #, c-format + msgid "[-- Autoview stderr of %s --]\n" + msgstr "[-- stderr dell'autoview di %s --]\n" + +-#: handler.c:764 ++#: handler.c:763 + msgid "[-- Error: message/external-body has no access-type parameter --]\n" + msgstr "[-- Errore: message/external-body non ha un parametro access-type --]\n" + +@@ -1877,7 +2131,7 @@ msgstr "[-- Errore: message/external-body non ha un parametro access-type --]\n" + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:807 ++#: handler.c:806 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" +@@ -1906,7 +2160,7 @@ msgstr[1] "" + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:830 ++#: handler.c:829 + #, fuzzy, c-format + msgid "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" + msgid_plural "[-- This %s/%s attachment (size %s bytes) has been deleted --]\n" +@@ -1920,7 +2174,7 @@ msgstr[1] "[-- Questo allegato %s/%s (dimensioni %s byte) è stato cancellato -- + #. + #. Caution: Argument three %3$ is also defined but should not be used + #. in this translation! +-#: handler.c:848 ++#: handler.c:847 + #, fuzzy + msgid "" + "[-- This %s/%s attachment has been deleted --]\n" +@@ -1932,12 +2186,12 @@ msgstr "" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The first "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:856 ++#: handler.c:855 + #, fuzzy, c-format + msgid "[-- This %s/%s attachment has been deleted --]\n" + msgstr "[-- Questo allegato %s/%s è stato cancellato -- ]\n" + +-#: handler.c:866 ++#: handler.c:865 + #, c-format + msgid "[-- name: %s --]\n" + msgstr "[-- nome: %s --]\n" +@@ -1945,7 +2199,7 @@ msgstr "[-- nome: %s --]\n" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:884 ++#: handler.c:883 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -1961,7 +2215,7 @@ msgstr "" + #. The "%s/%s" is a MIME type, e.g. "text/plain". The %s after + #. access-type is an access-type as defined by the MIME RFCs, e.g. "FTP", + #. "LOCAL-FILE", "MAIL-SERVER". +-#: handler.c:905 ++#: handler.c:904 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -1970,95 +2224,95 @@ msgstr "" + "[-- Questo allegato %s/%s non è incluso, --]\n" + "[-- e il l'access-type %s indicato non è gestito --]\n" + +-#: handler.c:1090 ++#: handler.c:1089 + msgid "[-- Error: Could not display any parts of Multipart/Alternative --]\n" + msgstr "[-- Errore: impossibile visualizzare ogni parte di multipart/alternative --]\n" + + #. L10N: %s is the attachment description, filename or form_name. +-#: handler.c:1231 ++#: handler.c:1230 + #, fuzzy, c-format + msgid "[-- Attachment #%d: %s --]\n" + msgstr "[-- Allegato #%d: %s --]\n" + +-#: handler.c:1236 ++#: handler.c:1235 + #, fuzzy, c-format + msgid "[-- Attachment #%d --]\n" + msgstr "[-- Allegato #%d --]\n" + +-#: handler.c:1254 ++#: handler.c:1253 + msgid "One or more parts of this message could not be displayed" + msgstr "Uno o più parti di questo messaggio potrebbero non essere mostrate" + +-#: handler.c:1320 ++#: handler.c:1319 + #, fuzzy + msgid "Unable to open 'memory stream'" + msgstr "Impossibile aprire il file temporaneo" + +-#: handler.c:1330 ++#: handler.c:1329 + msgid "Unable to open temporary file" + msgstr "Impossibile aprire il file temporaneo" + +-#: handler.c:1379 ++#: handler.c:1378 + #, fuzzy + msgid "failed to re-open 'memory stream'" + msgstr "Impossibile aprire il file temporaneo" + +-#: handler.c:1620 ++#: handler.c:1619 + msgid "Error: multipart/signed has no protocol" + msgstr "Errore: multipart/signed non ha protocollo" + + #. L10N: %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1694 ++#: handler.c:1693 + #, fuzzy, c-format + msgid "[-- This is an attachment (use '%s' to view this part) --]\n" + msgstr "[-- Questo è un allegato (usa '%s' per vederlo) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". + #. The last %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1701 ++#: handler.c:1700 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported (use '%s' to view this part) --]\n" + msgstr "[-- %s/%s non è gestito (usa '%s' per vederlo) --]\n" + +-#: handler.c:1709 ++#: handler.c:1708 + #, fuzzy + msgid "[-- This is an attachment (need 'view-attachments' bound to key) --]\n" + msgstr "[-- Questo è un allegato ('view-attachments' deve essere assegnato a un tasto) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1715 ++#: handler.c:1714 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported (need 'view-attachments' bound to key) --]\n" + msgstr "[-- %s/%s non è gestito ('view-attachments' deve essere assegnato a un tasto) --]\n" + +-#: handler.c:1724 ++#: handler.c:1723 + #, fuzzy + msgid "[-- This is an attachment --]\n" + msgstr "[-- Questo è un allegato --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1729 ++#: handler.c:1728 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported --]\n" + msgstr "[-- %s/%s non è gestito --]\n" + +-#: help.c:400 ++#: help.c:401 + msgid "ERROR: please report this bug" + msgstr "ERRORE: per favore segnalare questo bug" + +-#: help.c:455 ++#: help.c:456 + msgid "" + msgstr "" + +-#: help.c:469 ++#: help.c:470 + msgid "Generic bindings:" + msgstr "Assegnazioni generiche:" + +-#: help.c:473 ++#: help.c:474 + msgid "Unbound functions:" + msgstr "Funzioni non assegnate:" + +-#: help.c:481 ++#: help.c:482 + #, c-format + msgid "Help for %s" + msgstr "Aiuto per %s" +@@ -2075,41 +2329,41 @@ msgstr "" + msgid "badly formatted command string" + msgstr "" + +-#: hook.c:461 ++#: hook.c:466 + msgid "unhook: Can't do unhook * from within a hook" + msgstr "unhook: impossibile usare unhook * dentro un hook" + +-#: hook.c:474 ++#: hook.c:479 + #, c-format + msgid "unhook: unknown hook type: %s" + msgstr "unhook: tipo di hook sconosciuto: %s" + +-#: hook.c:484 ++#: hook.c:489 + #, c-format + msgid "unhook: Can't delete a %s from within a %s" + msgstr "unhook: impossibile cancellare un %s dentro un %s" + + #. L10N: '%s' is the (misspelled) name of the menu, e.g. 'index' or 'pager' +-#: icommands.c:259 keymap.c:1161 keymap.c:1346 ++#: icommands.c:261 keymap.c:1159 keymap.c:1344 + #, c-format + msgid "%s: no such menu" + msgstr "%s: menù inesistente" + + #. L10N: '%s' is the name of the menu, e.g. 'index' or 'pager', it might + #. L10N: also be 'all' when all menus are affected. +-#: icommands.c:272 ++#: icommands.c:274 + #, fuzzy, c-format + msgid "%s: no binds for this menu" + msgstr "%s: menù inesistente" + +-#: icommands.c:272 ++#: icommands.c:274 + #, fuzzy, c-format + msgid "%s: no macros for this menu" + msgstr "%s: menù inesistente" + + #. L10N: '%s' is the file name of the temporary file +-#: icommands.c:283 icommands.c:296 icommands.c:316 icommands.c:340 +-#: icommands.c:360 icommands.c:371 imap/message.c:1093 ++#: icommands.c:285 icommands.c:297 icommands.c:317 icommands.c:340 ++#: icommands.c:360 icommands.c:370 imap/message.c:1093 + #, c-format + msgid "Could not create temporary file %s" + msgstr "Impossibile creare il file temporaneo %s" +@@ -2147,30 +2401,30 @@ msgstr "Autenticazione GSSAPI fallita" + msgid "LOGIN disabled on this server" + msgstr "LOGIN non è abilitato su questo server" + +-#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:288 ++#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:289 + msgid "Logging in..." + msgstr "Faccio il login..." + +-#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:329 ++#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:330 + msgid "Login failed" + msgstr "Login fallito" + +-#: imap/auth_oauth.c:64 pop/pop_auth.c:346 smtp.c:524 ++#: imap/auth_oauth.c:65 pop/pop_auth.c:347 smtp.c:549 + #, fuzzy + msgid "Authenticating (OAUTHBEARER)..." + msgstr "Autenticazione in corso (SASL)..." + +-#: imap/auth_oauth.c:96 ++#: imap/auth_oauth.c:97 + #, fuzzy + msgid "OAUTHBEARER authentication failed" + msgstr "Autenticazione OAUTHBEARER fallita" + +-#: imap/auth_sasl.c:128 nntp/nntp.c:606 nntp/nntp.c:671 smtp.c:443 ++#: imap/auth_sasl.c:128 nntp/nntp.c:608 nntp/nntp.c:673 smtp.c:468 + #, c-format + msgid "Authenticating (%s)..." + msgstr "Autenticazione in corso (%s)..." + +-#: imap/auth_sasl.c:259 pop/pop_auth.c:200 smtp.c:584 smtp.c:646 ++#: imap/auth_sasl.c:259 pop/pop_auth.c:201 smtp.c:609 smtp.c:671 + msgid "SASL authentication failed" + msgstr "Autenticazione SASL fallita" + +@@ -2218,90 +2472,80 @@ msgstr "Impossibile rinominare: %s" + msgid "Mailbox renamed" + msgstr "Mailbox rinominata" + +-#: imap/command.c:164 ++#: imap/command.c:177 + #, fuzzy, c-format + msgid "Mailbox %s@%s closed" + msgstr "Mailbox chiusa" + +-#: imap/command.c:1258 imap/command.c:1370 ++#: imap/command.c:1287 imap/command.c:1399 + #, fuzzy, c-format + msgid "Connection to %s timed out" + msgstr "Connessione a %s chiusa." + +-#: imap/imap.c:87 ++#: imap/imap.c:93 + #, fuzzy + msgid "This IMAP server is ancient. NeoMutt does not work with it." + msgstr "Questo server IMAP è troppo vecchio, neomutt non può usarlo." + +-#: imap/imap.c:438 ++#: imap/imap.c:444 + #, c-format + msgid "Header search without header name: %s" + msgstr "Ricerca header senza nome dell'header: %s" + +-#: imap/imap.c:468 ++#: imap/imap.c:474 + #, c-format + msgid "Server-side custom search not supported: %s" + msgstr "" + +-#: imap/imap.c:584 ++#: imap/imap.c:590 + #, c-format + msgid "CREATE failed: %s" + msgstr "CREATE fallito: %s" + +-#: imap/imap.c:704 ++#: imap/imap.c:710 + #, c-format + msgid "Closing connection to %s..." + msgstr "Chiusura della connessione a %s..." + +-#: imap/imap.c:882 nntp/nntp.c:1889 pop/pop_lib.c:324 smtp.c:687 ++#: imap/imap.c:888 nntp/nntp.c:1891 pop/pop_lib.c:350 smtp.c:712 + msgid "Secure connection with TLS?" + msgstr "Vuoi usare TLS per rendere sicura la connessione?" + +-#: imap/imap.c:895 nntp/nntp.c:1910 pop/pop_lib.c:343 smtp.c:702 ++#: imap/imap.c:901 nntp/nntp.c:1912 pop/pop_lib.c:369 smtp.c:727 + msgid "Could not negotiate TLS connection" + msgstr "Impossibile negoziare la connessione TLS" + +-#: imap/imap.c:910 pop/pop_lib.c:360 ++#: imap/imap.c:916 pop/pop_lib.c:386 + msgid "Encrypted connection unavailable" + msgstr "Connessione cifrata non disponibile" + +-#: imap/imap.c:1417 ++#: imap/imap.c:1430 + #, c-format + msgid "Subscribing to %s..." + msgstr "Iscrizione a %s..." + +-#: imap/imap.c:1419 ++#: imap/imap.c:1432 + #, c-format + msgid "Unsubscribing from %s..." + msgstr "Rimozione della sottoscrizione da %s..." + +-#: imap/imap.c:1430 init.c:2142 +-#, c-format +-msgid "Subscribed to %s" +-msgstr "Iscritto a %s" +- +-#: imap/imap.c:1432 init.c:2620 +-#, c-format +-msgid "Unsubscribed from %s" +-msgstr "Sottoscrizione rimossa da %s..." +- +-#: imap/imap.c:1582 imap/message.c:1674 ++#: imap/imap.c:1595 imap/message.c:1674 + #, fuzzy, c-format + msgid "Copying %d message to %s..." + msgid_plural "Copying %d messages to %s..." + msgstr[0] "Copia di %d messaggi in %s..." + msgstr[1] "Copia di %d messaggi in %s..." + +-#: imap/imap.c:1599 imap/imap.c:2217 imap/message.c:1713 muttlib.c:1505 ++#: imap/imap.c:1612 imap/imap.c:2254 imap/message.c:1713 muttlib.c:1503 + #, c-format + msgid "Create %s?" + msgstr "Creare %s?" + +-#: imap/imap.c:1667 ++#: imap/imap.c:1685 + msgid "Expunge failed" + msgstr "Expunge fallito" + +-#: imap/imap.c:1683 ++#: imap/imap.c:1701 + #, fuzzy, c-format + msgid "Marking %d message deleted..." + msgid_plural "Marking %d messages deleted..." +@@ -2309,44 +2553,44 @@ msgstr[0] "Segno cancellati %d messaggi..." + msgstr[1] "Segno cancellati %d messaggi..." + + #. L10N: The plural is chosen by the last %d, i.e. the total number +-#: imap/imap.c:1720 ++#: imap/imap.c:1738 + #, fuzzy, c-format + msgid "Saving changed message... [%d/%d]" + msgid_plural "Saving changed messages... [%d/%d]" + msgstr[0] "Salvataggio dei messaggi modificati... [%d/%d]" + msgstr[1] "Salvataggio dei messaggi modificati... [%d/%d]" + +-#: imap/imap.c:1776 ++#: imap/imap.c:1794 + msgid "Error saving flags. Close anyway?" + msgstr "Errore nel salvare le flag. Chiudere comunque?" + +-#: imap/imap.c:1783 ++#: imap/imap.c:1801 + msgid "Error saving flags" + msgstr "Errore nel salvataggio delle flag" + +-#: imap/imap.c:1808 ++#: imap/imap.c:1826 + msgid "Expunging messages from server..." + msgstr "Cancellazione dei messaggi dal server..." + +-#: imap/imap.c:1814 ++#: imap/imap.c:1832 + msgid "imap_sync_mailbox: EXPUNGE failed" + msgstr "imap_sync_mailbox: EXPUNGE fallito" + +-#: imap/imap.c:2023 nntp/nntp.c:2486 ++#: imap/imap.c:2058 nntp/nntp.c:2488 + #, c-format + msgid "Selecting %s..." + msgstr "Seleziono %s..." + +-#: imap/imap.c:2184 ++#: imap/imap.c:2221 + msgid "Error opening mailbox" + msgstr "Errore durante l'apertura della mailbox" + +-#: imap/imap.c:2330 ++#: imap/imap.c:2367 + #, fuzzy + msgid "IMAP server doesn't support custom flags" + msgstr "Il server SMTP non supporta l'autenticazione" + +-#: imap/imap.c:2374 ++#: imap/imap.c:2411 + #, fuzzy + msgid "Invalid IMAP flags" + msgstr "Non valido " +@@ -2357,7 +2601,7 @@ msgid "Abort download and close mailbox?" + msgstr "" + + #: imap/message.c:554 mutt/memory.c:58 mutt/memory.c:98 mutt/memory.c:134 +-#: mutt/string.c:1178 mx.c:1176 ++#: mutt/string.c:1201 mx.c:1195 + msgid "Out of memory" + msgstr "Memoria esaurita" + +@@ -2377,7 +2621,7 @@ msgstr "Scaricamento header dei messaggi..." + msgid "Unable to fetch headers from this IMAP server version" + msgstr "Impossibile scaricare gli header da questa versione del server IMAP" + +-#: imap/message.c:1099 index.c:1548 nntp/nntp.c:1328 pop/pop.c:426 ++#: imap/message.c:1099 index.c:1554 nntp/nntp.c:1330 pop/pop.c:426 + msgid "Fetching message headers..." + msgstr "Scaricamento header dei messaggi..." + +@@ -2390,157 +2634,157 @@ msgstr "Invio messaggio..." + msgid "Copying message %d to %s..." + msgstr "Copia messaggio %d in %s..." + +-#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2737 pop/pop.c:1110 ++#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2739 pop/pop.c:1105 + msgid "Fetching message..." + msgstr "Scaricamento messaggio..." + +-#: imap/message.c:1959 pop/pop.c:1106 ++#: imap/message.c:1959 pop/pop.c:1101 + msgid "The message index is incorrect. Try reopening the mailbox." + msgstr "L'indice dei messaggi non è corretto; provare a riaprire la mailbox." + +-#: imap/util.c:767 ++#: imap/util.c:796 + msgid "Continue?" + msgstr "Continuare?" + +-#: index.c:115 index.c:128 ++#: index.c:111 index.c:124 + msgid "Quit" + msgstr "Esci" + +-#: index.c:118 index.c:131 recvattach.c:93 ++#: index.c:114 index.c:127 recvattach.c:91 + msgid "Save" + msgstr "Salva" + +-#: index.c:119 query.c:81 ++#: index.c:115 query.c:79 + msgid "Mail" + msgstr "Mail" + +-#: index.c:120 pager.c:237 ++#: index.c:116 pager.c:229 + msgid "Reply" + msgstr "Rispondi" + +-#: index.c:121 ++#: index.c:117 + msgid "Group" + msgstr "Gruppo" + +-#: index.c:132 pager.c:244 ++#: index.c:128 pager.c:236 + msgid "Post" + msgstr "" + + # FIXME - come tradurre questo messaggio? +-#: index.c:133 pager.c:245 ++#: index.c:129 pager.c:237 + #, fuzzy + msgid "Followup" + msgstr "Inviare un Follow-up a %s%s?" + +-#: index.c:190 index.c:1362 ++#: index.c:186 index.c:1367 + msgid "No mailbox is open" + msgstr "Nessuna mailbox aperta" + +-#: index.c:196 ++#: index.c:192 + msgid "There are no messages" + msgstr "Non ci sono messaggi" + +-#: index.c:202 ++#: index.c:198 + msgid "No visible messages" + msgstr "Non ci sono messaggi visibili" + +-#: index.c:208 mx.c:901 pager.c:223 recvattach.c:80 ++#: index.c:204 mx.c:920 pager.c:215 recvattach.c:78 + msgid "Mailbox is read-only" + msgstr "La mailbox è di sola lettura" + +-#: index.c:214 pager.c:225 recvattach.c:98 ++#: index.c:210 pager.c:217 recvattach.c:96 + msgid "Function not permitted in attach-message mode" + msgstr "Funzione non permessa nella modalità attach-message" + + #. L10N: %s is one of the CHECK_ACL entries below. +-#: index.c:239 pager.c:290 ++#: index.c:235 pager.c:282 + #, fuzzy, c-format + msgid "%s: Operation not permitted by ACL" + msgstr "Impossibile %s: operazione non permessa dalle ACL" + +-#: index.c:430 ++#: index.c:426 + msgid "Can't toggle write on a readonly mailbox" + msgstr "Impossibile (dis)abilitare la scrittura a una mailbox di sola lettura" + +-#: index.c:437 ++#: index.c:433 + msgid "Changes to folder will be written on folder exit" + msgstr "I cambiamenti al folder saranno scritti all'uscita dal folder" + +-#: index.c:442 ++#: index.c:438 + msgid "Changes to folder will not be written" + msgstr "I cambiamenti al folder non saranno scritti" + +-#: index.c:719 muttlib.c:1490 mx.c:206 mx.c:340 ++#: index.c:714 muttlib.c:1488 mx.c:206 mx.c:338 + #, c-format + msgid "%s is not a mailbox" + msgstr "%s non è una mailbox" + +-#: index.c:1218 ++#: index.c:1223 + msgid "Mailbox was externally modified. Flags may be wrong." + msgstr "La mailbox è stata modificata dall'esterno. I flag possono essere sbagliati." + +-#: index.c:1227 pager.c:2409 ++#: index.c:1232 pager.c:2379 + msgid "New mail in this mailbox" + msgstr "C'è nuova posta in questa mailbox" + +-#: index.c:1242 ++#: index.c:1247 + msgid "Mailbox was externally modified" + msgstr "La mailbox è stata modificata dall'esterno" + +-#: index.c:1369 ++#: index.c:1374 + msgid "No tagged messages" + msgstr "Nessun messaggio segnato" + +-#: index.c:1373 index.c:1647 menu.c:1423 ++#: index.c:1378 index.c:1653 menu.c:1423 + msgid "Nothing to do" + msgstr "Niente da fare" + +-#: index.c:1470 ++#: index.c:1475 + #, fuzzy + msgid "Enter Message-Id: " + msgstr "Inserire il keyID: " + +-#: index.c:1481 ++#: index.c:1487 + msgid "Article has no parent reference" + msgstr "" + +-#: index.c:1504 ++#: index.c:1510 + #, fuzzy + msgid "Message is not visible in limited view" + msgstr "Il messaggio padre non è visibil in questa visualizzazione limitata" + +-#: index.c:1508 ++#: index.c:1514 + #, fuzzy, c-format + msgid "Fetching %s from server..." + msgstr "Cancellazione dei messaggi dal server..." + +-#: index.c:1518 nntp/nntp.c:2772 ++#: index.c:1524 nntp/nntp.c:2774 + #, c-format + msgid "Article %s not found on the server" + msgstr "" + +-#: index.c:1544 ++#: index.c:1550 + msgid "No Message-Id. Unable to perform operation." + msgstr "" + +-#: index.c:1623 ++#: index.c:1629 + #, fuzzy + msgid "No deleted messages found in the thread" + msgstr "cancella tutti i messaggi nel thread" + +-#: index.c:1644 ++#: index.c:1650 + msgid "Jump to message: " + msgstr "Salta al messaggio: " + +-#: index.c:1650 ++#: index.c:1656 + msgid "Argument must be a message number" + msgstr "L'argomento deve essere il numero di un messaggio" + +-#: index.c:1652 ++#: index.c:1658 + msgid "Invalid message number" + msgstr "Numero del messaggio non valido" + +-#: index.c:1654 ++#: index.c:1660 + msgid "That message is not visible" + msgstr "Questo messaggio non è visibile" + +@@ -2553,38 +2797,38 @@ msgstr "Questo messaggio non è visibile" + #. delete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. + #. +-#: index.c:1692 index.c:3267 pager.c:3064 ++#: index.c:1698 index.c:3293 pager.c:3039 + #, fuzzy + msgid "Can't delete messages" + msgstr "ripristina messaggio" + +-#: index.c:1695 ++#: index.c:1701 + msgid "Delete messages matching: " + msgstr "Cancella i messaggi corrispondenti a: " + +-#: index.c:1736 ++#: index.c:1742 + msgid "No limit pattern is in effect" + msgstr "Non è attivo alcun modello limitatore" + + #. L10N: ask for a limit to apply +-#: index.c:1741 ++#: index.c:1747 + #, c-format + msgid "Limit: %s" + msgstr "Limita: %s" + +-#: index.c:1778 ++#: index.c:1784 + msgid "Limit to messages matching: " + msgstr "Limita ai messaggi corrispondenti a: " + +-#: index.c:1809 ++#: index.c:1815 + msgid "To view all messages, limit to \"all\"" + msgstr "Per visualizzare tutti i messaggi, limitare ad \"all\"" + +-#: index.c:1821 pager.c:2514 ++#: index.c:1827 pager.c:2487 + msgid "Quit NeoMutt?" + msgstr "Uscire da NeoMutt?" + +-#: index.c:1924 ++#: index.c:1931 + msgid "Tag messages matching: " + msgstr "Segna i messaggi corrispondenti a: " + +@@ -2592,213 +2836,213 @@ msgstr "Segna i messaggi corrispondenti a: " + #. L10N: Due to the implementation details we do not know whether we + #. undelete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:1935 index.c:3807 pager.c:3418 ++#: index.c:1942 index.c:3833 pager.c:3396 + #, fuzzy + msgid "Can't undelete messages" + msgstr "ripristina messaggio" + +-#: index.c:1939 ++#: index.c:1946 + msgid "Undelete messages matching: " + msgstr "Ripristina i messaggi corrispondenti a: " + +-#: index.c:1948 ++#: index.c:1955 + msgid "Untag messages matching: " + msgstr "Togli il segno ai messaggi corrispondenti a: " + +-#: index.c:1989 ++#: index.c:1996 + msgid "Logged out of IMAP servers" + msgstr "Sessione con i server IMAP terminata" + +-#: index.c:2105 ++#: index.c:2113 + #, fuzzy + msgid "No virtual folder and no Message-Id, aborting" + msgstr "Nessun oggetto, abbandonato" + +-#: index.c:2117 index.c:2288 index.c:2310 index.c:2331 ++#: index.c:2125 index.c:2313 index.c:2335 index.c:2356 + msgid "Failed to create query, aborting" + msgstr "" + +-#: index.c:2130 ++#: index.c:2138 + msgid "failed to find message in notmuch database. try running 'notmuch new'." + msgstr "" + +-#: index.c:2139 ++#: index.c:2147 + msgid "Failed to read thread, aborting" + msgstr "" + +-#: index.c:2171 mx.c:1252 mx.c:1272 ++#: index.c:2179 mx.c:1271 mx.c:1291 + #, fuzzy + msgid "Folder doesn't support tagging, aborting" + msgstr "Il server SMTP non supporta l'autenticazione" + +-#: index.c:2188 ++#: index.c:2196 + #, fuzzy + msgid "No tag specified, aborting" + msgstr "Nessun oggetto, abbandonato" + +-#: index.c:2198 ++#: index.c:2206 + msgid "Update tags..." + msgstr "" + +-#: index.c:2238 ++#: index.c:2246 + msgid "Failed to modify tags, aborting" + msgstr "" + +-#: index.c:2284 ++#: index.c:2293 + #, fuzzy + msgid "No query, aborting" + msgstr "Nessun oggetto, abbandonato" + +-#: index.c:2299 index.c:2320 ++#: index.c:2324 index.c:2345 + msgid "Windowed queries disabled" + msgstr "" + +-#: index.c:2304 index.c:2325 ++#: index.c:2329 index.c:2350 + msgid "No notmuch vfolder currently loaded" + msgstr "" + +-#: index.c:2374 ++#: index.c:2399 + msgid "Open mailbox in read-only mode" + msgstr "Apri la mailbox in sola lettura" + +-#: index.c:2376 ++#: index.c:2401 + msgid "Open mailbox" + msgstr "Apri la mailbox" + +-#: index.c:2386 ++#: index.c:2411 + msgid "No mailboxes have new mail" + msgstr "Nessuna mailbox con nuova posta." + +-#: index.c:2419 ++#: index.c:2444 + #, fuzzy + msgid "Open newsgroup in read-only mode" + msgstr "Apri la mailbox in sola lettura" + +-#: index.c:2421 ++#: index.c:2446 + msgid "Open newsgroup" + msgstr "" + +-#: index.c:2538 ++#: index.c:2564 + #, fuzzy + msgid "Exit NeoMutt without saving?" + msgstr "Uscire da NeoMutt senza salvare?" + + #. L10N: CHECK_ACL +-#: index.c:2554 ++#: index.c:2580 + #, fuzzy + msgid "Can't break thread" + msgstr "collega thread" + +-#: index.c:2574 ++#: index.c:2600 + msgid "Thread broken" + msgstr "Thread corrotto" + +-#: index.c:2587 ++#: index.c:2613 + msgid "Thread can't be broken, message is not part of a thread" + msgstr "Il thread non può essere corrotto, il messaggio non fa parte di un thread" + + #. L10N: CHECK_ACL +-#: index.c:2597 ++#: index.c:2623 + #, fuzzy + msgid "Can't link threads" + msgstr "collega thread" + +-#: index.c:2606 ++#: index.c:2632 + msgid "No Message-ID: header available to link thread" + msgstr "Nessun header Message-ID: disponibile per collegare il thread" + +-#: index.c:2608 ++#: index.c:2634 + msgid "First, please tag a message to be linked here" + msgstr "Segnare prima il messaggio da collegare qui" + +-#: index.c:2621 ++#: index.c:2647 + msgid "Threads linked" + msgstr "Thread collegati" + +-#: index.c:2624 ++#: index.c:2650 + msgid "No thread linked" + msgstr "Nessun thread collegato" + +-#: index.c:2665 index.c:2690 ++#: index.c:2691 index.c:2716 + msgid "You are on the last message" + msgstr "Sei all'ultimo messaggio" + +-#: index.c:2673 index.c:2716 ++#: index.c:2699 index.c:2742 + msgid "No undeleted messages" + msgstr "Nessun messaggio ripristinato" + +-#: index.c:2708 index.c:2733 ++#: index.c:2734 index.c:2759 + msgid "You are on the first message" + msgstr "Sei al primo messaggio" + +-#: index.c:2874 ++#: index.c:2900 + #, fuzzy + msgid "No new messages in this limited view" + msgstr "Il messaggio padre non è visibil in questa visualizzazione limitata" + +-#: index.c:2876 ++#: index.c:2902 + #, fuzzy + msgid "No new messages" + msgstr "Non ci sono nuovi messaggi" + +-#: index.c:2881 ++#: index.c:2907 + #, fuzzy + msgid "No unread messages in this limited view" + msgstr "Il messaggio padre non è visibil in questa visualizzazione limitata" + +-#: index.c:2883 ++#: index.c:2909 + #, fuzzy + msgid "No unread messages" + msgstr "Non ci sono messaggi non letti" + +-#: index.c:2893 menu.c:1208 pager.c:2644 pattern.c:2652 ++#: index.c:2919 menu.c:1208 pager.c:2618 pattern.c:2776 + msgid "Search wrapped to top" + msgstr "La ricerca è ritornata all'inizio" + +-#: index.c:2898 pager.c:2669 pattern.c:2663 ++#: index.c:2924 pager.c:2643 pattern.c:2787 + msgid "Search wrapped to bottom" + msgstr "La ricerca è ritornata al fondo" + + #. L10N: CHECK_ACL +-#: index.c:2915 ++#: index.c:2941 + #, fuzzy + msgid "Can't flag message" + msgstr "aggiungi flag al messaggio" + + #. L10N: CHECK_ACL +-#: index.c:2961 pager.c:3377 ++#: index.c:2987 pager.c:3355 + #, fuzzy + msgid "Can't toggle new" + msgstr "(dis)abilita nuovo" + +-#: index.c:3057 ++#: index.c:3083 + msgid "No more threads" + msgstr "Non ci sono altri thread" + +-#: index.c:3059 ++#: index.c:3085 + msgid "You are on the first thread" + msgstr "Sei al primo thread" + +-#: index.c:3156 ++#: index.c:3182 + #, fuzzy + msgid "Thread contains unread or flagged messages" + msgstr "Il thread contiene messaggi non letti" + + #. L10N: CHECK_ACL +-#: index.c:3215 pager.c:3019 ++#: index.c:3241 pager.c:2994 + #, fuzzy + msgid "Can't delete message" + msgstr "ripristina messaggio" + + #. L10N: CHECK_ACL +-#: index.c:3339 ++#: index.c:3365 + #, fuzzy + msgid "Can't edit message" + msgstr "Impossibile scrivere il messaggio" + + #. L10N: This is displayed when the x-label on one or more + #. messages is edited. +-#: index.c:3432 pager.c:3495 ++#: index.c:3458 pager.c:3473 + #, fuzzy, c-format + msgid "%d label changed" + msgid_plural "%d labels changed" +@@ -2808,7 +3052,7 @@ msgstr[1] "La mailbox non è stata modificata" + #. L10N: This is displayed when editing an x-label, but no messages + #. were updated. Possibly due to canceling at the prompt or if the new + #. label is the same as the old label. +-#: index.c:3440 pager.c:3499 ++#: index.c:3466 pager.c:3477 + #, fuzzy + msgid "No labels changed" + msgstr "La mailbox non è stata modificata" +@@ -2817,7 +3061,7 @@ msgstr "La mailbox non è stata modificata" + #. L10N: Due to the implementation details we do not know whether we + #. mark zero, 1, 12, ... messages as read. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:3571 ++#: index.c:3597 + #, fuzzy + msgid "Can't mark messages as read" + msgstr "segna messaggio(i) come letto(i)" +@@ -2825,14 +3069,14 @@ msgstr "segna messaggio(i) come letto(i)" + #. L10N: This is the prompt for . Whatever they + #. enter will be prefixed by $mark_macro_prefix and will become + #. a macro hotkey to jump to the currently selected message. +-#: index.c:3612 ++#: index.c:3638 + #, fuzzy + msgid "Enter macro stroke: " + msgstr "Inserire il keyID: " + + #. L10N: "message hotkey" is the key bindings menu description of a + #. macro created by . +-#: index.c:3620 ++#: index.c:3646 + #, fuzzy + msgid "message hotkey" + msgstr "Il messaggio è stato rimandato." +@@ -2840,260 +3084,123 @@ msgstr "Il messaggio è stato rimandato." + #. L10N: This is echoed after creates a new hotkey + #. macro. %s is the hotkey string ($mark_macro_prefix followed + #. by whatever they typed at the prompt.) +-#: index.c:3625 ++#: index.c:3651 + #, fuzzy, c-format + msgid "Message bound to %s" + msgstr "Messaggio rimbalzato" + + #. L10N: This error is printed if can't find a + #. Message-ID for the currently selected message in the index. +-#: index.c:3634 ++#: index.c:3660 + #, fuzzy + msgid "No message ID to macro" + msgstr "In questo folder non ci sono messaggi" + +-#: index.c:3688 pager.c:3221 recvattach.c:1646 ++#: index.c:3714 pager.c:3196 recvattach.c:1678 + msgid "Reply by mail as poster prefers?" + msgstr "" + +-#: index.c:3691 pager.c:3182 pager.c:3194 pager.c:3224 ++#: index.c:3717 pager.c:3157 pager.c:3169 pager.c:3199 + msgid "Posting to this group not allowed, may be moderated. Continue?" + msgstr "" + + #. L10N: CHECK_ACL +-#: index.c:3768 pager.c:3397 ++#: index.c:3794 pager.c:3375 + #, fuzzy + msgid "Can't undelete message" + msgstr "ripristina messaggio" + +-#: init.c:313 ++#: init.c:223 + #, c-format + msgid "Error in command line: %s" + msgstr "Errore nella riga di comando: %s" + +-#: init.c:315 ++#: init.c:225 + #, fuzzy, c-format + msgid "Warning in command line: %s" + msgstr "Errore nella riga di comando: %s" + +-#: init.c:426 ++#: init.c:336 + #, fuzzy + msgid "unable to determine nodename via uname()" + msgstr "impossibile determinare l'username" + +-#: init.c:580 +-msgid "-group: no group name" +-msgstr "-group: nessun nome per il gruppo" +- +-#: init.c:590 +-msgid "out of arguments" +-msgstr "" +- +-#: init.c:804 init.c:1752 +-#, c-format +-msgid "Error: Can't build path of '%s'" +-msgstr "" +- +-#: init.c:817 +-#, c-format +-msgid "Error: Cyclic sourcing of configuration file '%s'" +-msgstr "" +- +-#: init.c:850 +-#, c-format +-msgid "Error in %s, line %d: %s" +-msgstr "Errore in %s, linea %d: %s" +- +-#: init.c:861 +-#, fuzzy, c-format +-msgid "Warning in %s, line %d: %s" +-msgstr "Errore in %s, linea %d: %s" +- +-#: init.c:885 +-#, c-format +-msgid "source: errors in %s" +-msgstr "source: errori in %s" +- +-#: init.c:885 +-#, fuzzy, c-format +-msgid "source: reading aborted due to too many errors in %s" +-msgstr "source: lettura terminata a causa di troppi errori in %s" +- +-#: init.c:894 +-#, fuzzy, c-format +-msgid "source: %d warning in %s" +-msgid_plural "source: %d warnings in %s" +-msgstr[0] "source: errori in %s" +-msgstr[1] "source: errori in %s" +- +-#: init.c:923 +-msgid "alias: no address" +-msgstr "alias: nessun indirizzo" +- +-#: init.c:965 +-#, c-format +-msgid "Warning: Bad IDN '%s' in alias '%s'" +-msgstr "Attenzione: l'IDN '%s' nell'alias '%s' non è valido" +- +-#: init.c:1043 +-msgid "attachments: no disposition" +-msgstr "allegati: nessuna disposizione" +- +-#: init.c:1054 +-#, fuzzy +-msgid "Current attachments settings:" +-msgstr "modifica la descrizione dell'allegato" +- +-#: init.c:1084 +-msgid "attachments: invalid disposition" +-msgstr "allegati: disposizione non valida" +- +-#: init.c:1160 +-#, c-format +-msgid "%sgroup: missing -rx or -addr" +-msgstr "%sgroup: -rx o -addr mancanti" +- +-#: init.c:1186 +-#, c-format +-msgid "%sgroup: warning: bad IDN '%s'" +-msgstr "%sgroup: attenzione: ID '%s' errato" +- +-#: init.c:1278 +-#, c-format +-msgid "Error: %s" +-msgstr "" +- +-#: init.c:1445 +-msgid "invalid header field" +-msgstr "Campo dell'header non valido" +- +-#: init.c:1711 init.c:1815 +-#, c-format +-msgid "%s: unknown variable" +-msgstr "%s: variabile sconosciuta" +- +-#: init.c:1908 +-#, c-format +-msgid "%s is unset" +-msgstr "%s non è attivo" +- +-#: init.c:1953 mutt_lua.c:478 +-#, c-format +-msgid "source: error at %s" +-msgstr "source: errore in %s" +- +-#: init.c:1961 +-#, fuzzy, c-format +-msgid "source: file %s could not be sourced" +-msgstr "Impossibile stampare i messaggi" +- +-#: init.c:1984 +-msgid "spam: no matching pattern" +-msgstr "spam: nessun modello corrispondente" +- +-#: init.c:1986 +-msgid "nospam: no matching pattern" +-msgstr "nospam: nessun modello corrispondente" +- +-#: init.c:2146 +-#, fuzzy, c-format +-msgid "Could not subscribe to %s" +-msgstr "Iscritto a %s" +- +-#: init.c:2154 init.c:2632 +-#, fuzzy +-msgid "No folder specified" +-msgstr "Non è stato specificato un oggetto." +- +-#: init.c:2341 +-msgid "unattachments: no disposition" +-msgstr "" +- +-#: init.c:2379 +-msgid "unattachments: invalid disposition" +-msgstr "" +- +-#: init.c:2624 +-#, fuzzy, c-format +-msgid "Could not unsubscribe from %s" +-msgstr "Sottoscrizione rimossa da %s..." +- +-#: init.c:3292 ++#: init.c:1042 + #, c-format + msgid "%s: unknown command" + msgstr "%s: comando sconosciuto" + +-#: init.c:3837 ++#: init.c:1588 + msgid "'charset' must contain exactly one character set name" + msgstr "" + +-#: init.c:3853 init.c:3877 init.c:3912 ++#: init.c:1604 init.c:1628 init.c:1663 + #, fuzzy, c-format + msgid "Invalid value for option %s: %s" + msgstr "Valore per l'opzione %s non valido: \"%s\"" + +-#: init.c:3890 ++#: init.c:1641 + #, c-format + msgid "Option %s may not be set or reset from the pager" + msgstr "" + +-#: init.c:3928 ++#: init.c:1679 + #, fuzzy, c-format + msgid "Option %s may not be set when in attach-message mode" + msgstr "Funzione non permessa nella modalità attach-message." + + #. L10N: This applies to the "$wrap_headers" config variable +-#: init.c:3943 ++#: init.c:1694 + #, c-format + msgid "Option %s must between 78 and 998 inclusive" + msgstr "" + +-#: keymap.c:373 keymap.c:381 ++#: keymap.c:371 keymap.c:379 + #, c-format + msgid "Binding '%s' will alias '%s' Before, try: 'bind %s %s noop' https://neomutt.org/guide/configuration.html#bind-warnings" + msgstr "" + +-#: keymap.c:757 ++#: keymap.c:755 + msgid "Macro loop detected" + msgstr "Individuato un loop di macro" + +-#: keymap.c:1064 keymap.c:1099 ++#: keymap.c:1062 keymap.c:1097 + msgid "Key is not bound" + msgstr "Il tasto non è assegnato" + +-#: keymap.c:1104 ++#: keymap.c:1102 + #, c-format + msgid "Key is not bound. Press '%s' for help." + msgstr "Il tasto non è assegnato. Premere '%s' per l'aiuto." + +-#: keymap.c:1177 ++#: keymap.c:1175 + #, c-format + msgid "%s: null key sequence" + msgstr "%s: sequenza di tasti nulla" + +-#: keymap.c:1212 ++#: keymap.c:1210 + #, c-format + msgid "Function '%s' not available for menu '%s'" + msgstr "" + +-#: keymap.c:1495 ++#: keymap.c:1493 + msgid "macro: empty key sequence" + msgstr "macro: sequenza di tasti nulla" + +-#: keymap.c:1543 ++#: keymap.c:1541 + msgid "exec: no arguments" + msgstr "exec: non ci sono argomenti" + +-#: keymap.c:1563 ++#: keymap.c:1561 + #, c-format + msgid "%s: no such function" + msgstr "%s: la funzione non esiste" + +-#: keymap.c:1584 ++#: keymap.c:1582 + msgid "Enter keys (^G to abort): " + msgstr "Inserisci i tasti (^G per annullare): " + +-#: keymap.c:1590 ++#: keymap.c:1588 + #, c-format + msgid "Char = %s, Octal = %o, Decimal = %d" + msgstr "Car = %s, Ottale = %o, Decimale = %d" +@@ -3117,7 +3224,7 @@ msgstr "La voce di mailcap per il tipo %s non è stata trovata" + msgid "Scanning %s..." + msgstr "Scansione di %s..." + +-#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:353 ++#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:351 + #, c-format + msgid "Reading %s..." + msgstr "Lettura di %s..." +@@ -3132,13 +3239,13 @@ msgid "md_commit_message(): unable to set time on file" + msgstr "maildir_commit_message():·impossibile impostare l'orario del file" + + #. L10N: Displayed before/as a mailbox is being synced +-#: maildir/shared.c:1723 mbox/mbox.c:1276 mx.c:461 notmuch/mutt_notmuch.c:2364 ++#: maildir/shared.c:1734 mbox/mbox.c:1276 mx.c:459 notmuch/mutt_notmuch.c:2364 + #, c-format + msgid "Writing %s..." + msgstr "Scrittura di %s..." + + #. L10N: Try to limit to 80 columns +-#: main.c:227 ++#: main.c:160 + msgid "" + "usage:\n" + " neomutt [-Enx] [-e ] [-F ] [-H ] [-i ]\n" +@@ -3161,7 +3268,7 @@ msgid "" + msgstr "" + + #. L10N: Try to limit to 80 columns. If more space is needed add an indented line +-#: main.c:247 ++#: main.c:180 + msgid "" + "options:\n" + " -- Special argument forces NeoMutt to stop option parsing and treat\n" +@@ -3204,54 +3311,54 @@ msgid "" + " or exit immediately with exit code 1 otherwise" + msgstr "" + +-#: main.c:312 ++#: main.c:245 + msgid "Error initializing terminal" + msgstr "Errore nell'inizializzazione del terminale" + +-#: main.c:390 ++#: main.c:323 + msgid "unable to determine username" + msgstr "impossibile determinare l'username" + +-#: main.c:396 ++#: main.c:329 + msgid "unable to determine home directory" + msgstr "impossibile determinare la home directory" + +-#: main.c:640 ++#: main.c:572 + #, c-format + msgid "Error: value '%s' is invalid for -d" + msgstr "Errore: il valore '%s' non è valido per -d" + +-#: main.c:884 ++#: main.c:815 + msgid "Failed to parse mailto: link" + msgstr "Impossibile analizzare il collegamento mailto:" + +-#: main.c:896 send.c:2452 send.c:2456 ++#: main.c:827 send.c:2463 send.c:2467 + msgid "No recipients specified" + msgstr "Nessun destinatario specificato" + +-#: main.c:923 ++#: main.c:854 + msgid "Can't use -E flag with stdin" + msgstr "" + +-#: main.c:1007 ++#: main.c:938 + #, fuzzy, c-format + msgid "Can't parse message template: %s" + msgstr "Impossibile aprire il file del messaggio: %s" + +-#: main.c:1073 mutt_header.c:329 ++#: main.c:1004 mutt_header.c:329 + #, c-format + msgid "%s: unable to attach file" + msgstr "%s: impossibile allegare il file" + +-#: main.c:1156 ++#: main.c:1087 + msgid "No mailbox with new mail" + msgstr "Nessuna mailbox con nuova posta" + +-#: main.c:1180 ++#: main.c:1111 + msgid "No incoming mailboxes defined" + msgstr "Non è stata definita una mailbox di ingresso" + +-#: main.c:1230 ++#: main.c:1161 + msgid "Mailbox is empty" + msgstr "La mailbox è vuota" + +@@ -3293,52 +3400,52 @@ msgstr "Impossibile riaprire la mailbox" + msgid "Can't write message" + msgstr "Impossibile scrivere il messaggio" + +-#: menu.c:632 ++#: menu.c:631 + msgid "Jump to: " + msgstr "Salta a: " + +-#: menu.c:641 ++#: menu.c:640 + msgid "Invalid index number" + msgstr "Numero dell'indice non valido" + +-#: menu.c:645 menu.c:671 menu.c:744 menu.c:810 menu.c:828 menu.c:843 menu.c:858 +-#: menu.c:873 menu.c:890 menu.c:907 menu.c:1553 ++#: menu.c:644 menu.c:670 menu.c:743 menu.c:809 menu.c:827 menu.c:842 menu.c:857 ++#: menu.c:872 menu.c:889 menu.c:906 menu.c:1553 + msgid "No entries" + msgstr "Nessuna voce" + +-#: menu.c:668 ++#: menu.c:667 + msgid "You can't scroll down farther" + msgstr "Non puoi spostarti più in basso" + +-#: menu.c:690 ++#: menu.c:689 + msgid "You can't scroll up farther" + msgstr "Non puoi spostarti più in alto" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the first page" + msgstr "Sei alla prima pagina" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the last page" + msgstr "Sei all'ultima pagina" + +-#: menu.c:922 ++#: menu.c:921 + msgid "You are on the last entry" + msgstr "Sei all'ultima voce" + +-#: menu.c:937 ++#: menu.c:936 + msgid "You are on the first entry" + msgstr "Sei alla prima voce" + +-#: menu.c:1172 pager.c:2692 pattern.c:2578 ++#: menu.c:1172 pager.c:2666 pattern.c:2702 + msgid "Search for: " + msgstr "Cerca: " + +-#: menu.c:1173 pager.c:2693 pattern.c:2579 ++#: menu.c:1173 pager.c:2667 pattern.c:2703 + msgid "Reverse search for: " + msgstr "Cerca all'indietro: " + +-#: menu.c:1226 pager.c:2641 pager.c:2666 pager.c:2800 pattern.c:2708 ++#: menu.c:1226 pager.c:2615 pager.c:2640 pager.c:2774 pattern.c:2832 + msgid "Not found" + msgstr "Non trovato" + +@@ -3381,20 +3488,20 @@ msgstr "In attesa del lock flock... %d" + msgid "Bad history file format (line %d)" + msgstr "Formato del file della cronologia errato (riga %d)" + +-#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1006 ncrypt/crypt_gpgme.c:2381 +-#: ncrypt/crypt_gpgme.c:2401 ncrypt/crypt_gpgme.c:2460 +-#: ncrypt/crypt_gpgme.c:2477 ncrypt/crypt_gpgme.c:2509 +-#: ncrypt/crypt_gpgme.c:2527 ncrypt/crypt_gpgme.c:2611 +-#: ncrypt/crypt_gpgme.c:3194 ncrypt/crypt_gpgme.c:3292 +-#: ncrypt/crypt_gpgme.c:4373 ncrypt/pgp.c:576 ncrypt/pgp.c:583 ncrypt/pgp.c:896 +-#: ncrypt/pgp.c:1014 ncrypt/pgp.c:1161 ncrypt/pgp.c:1181 ncrypt/pgp.c:1215 +-#: ncrypt/pgp.c:1568 ncrypt/pgpkey.c:708 ncrypt/pgpkey.c:902 +-#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1092 ncrypt/smime.c:1100 +-#: ncrypt/smime.c:1191 ncrypt/smime.c:1299 ncrypt/smime.c:1364 +-#: ncrypt/smime.c:1372 ncrypt/smime.c:1571 ncrypt/smime.c:1967 +-#: ncrypt/smime.c:2046 ncrypt/smime.c:2053 ncrypt/smime.c:2156 +-#: ncrypt/smime.c:2281 ncrypt/smime.c:2297 nntp/nntp.c:1397 nntp/nntp.c:2237 +-#: pattern.c:1132 pop/pop.c:182 ++#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1005 ncrypt/crypt_gpgme.c:2420 ++#: ncrypt/crypt_gpgme.c:2440 ncrypt/crypt_gpgme.c:2499 ++#: ncrypt/crypt_gpgme.c:2516 ncrypt/crypt_gpgme.c:2548 ++#: ncrypt/crypt_gpgme.c:2566 ncrypt/crypt_gpgme.c:2650 ++#: ncrypt/crypt_gpgme.c:3237 ncrypt/crypt_gpgme.c:3335 ++#: ncrypt/crypt_gpgme.c:4421 ncrypt/pgp.c:575 ncrypt/pgp.c:582 ncrypt/pgp.c:895 ++#: ncrypt/pgp.c:1013 ncrypt/pgp.c:1160 ncrypt/pgp.c:1180 ncrypt/pgp.c:1214 ++#: ncrypt/pgp.c:1570 ncrypt/pgpkey.c:741 ncrypt/pgpkey.c:937 ++#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1126 ncrypt/smime.c:1134 ++#: ncrypt/smime.c:1225 ncrypt/smime.c:1333 ncrypt/smime.c:1398 ++#: ncrypt/smime.c:1406 ncrypt/smime.c:1605 ncrypt/smime.c:2001 ++#: ncrypt/smime.c:2080 ncrypt/smime.c:2087 ncrypt/smime.c:2190 ++#: ncrypt/smime.c:2315 ncrypt/smime.c:2331 nntp/nntp.c:1399 nntp/nntp.c:2239 ++#: pattern.c:1171 pop/pop.c:182 + msgid "Can't create temporary file" + msgstr "Impossibile creare il file temporaneo" + +@@ -3413,7 +3520,7 @@ msgstr "Debugging al livello %d.\n" + msgid "Logging at level %d to file '%s'" + msgstr "Debugging al livello %d.\n" + +-#: mutt/path.c:401 ++#: mutt/path.c:420 + #, fuzzy + msgid "Error: converting path to absolute" + msgstr "Errore nella connessione al server: %s" +@@ -3437,17 +3544,17 @@ msgstr "Catturato il segnale %d (%s) ... in uscita.\n" + msgid "Caught signal %d ... Exiting.\n" + msgstr "Catturato il segnale %d ... in uscita.\n" + +-#: muttlib.c:490 ++#: muttlib.c:488 + #, c-format + msgid "mutt_randbuf buflen=%zu" + msgstr "" + +-#: muttlib.c:510 ++#: muttlib.c:508 + #, c-format + msgid "open /dev/urandom: %s" + msgstr "" + +-#: muttlib.c:517 ++#: muttlib.c:515 + #, c-format + msgid "read /dev/urandom: %s" + msgstr "" +@@ -3455,149 +3562,121 @@ msgstr "" + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) + #. These three letters correspond to the choices in the string. +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "File is a directory, save under it: (y)es, (n)o, (a)ll?" + msgstr "Il file è una directory, salvare all'interno? (s)ì, (n)o, (t)utti" + +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "yna" + msgstr "snt" + + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) +-#: muttlib.c:763 ++#: muttlib.c:761 + msgid "File is a directory, save under it?" + msgstr "Il file è una directory, salvare all'interno?" + +-#: muttlib.c:768 ++#: muttlib.c:766 + msgid "File under directory: " + msgstr "File nella directory: " + +-#: muttlib.c:781 ++#: muttlib.c:779 + msgid "File exists, (o)verwrite, (a)ppend, or (c)ancel?" + msgstr "Il file esiste, s(o)vrascrivere, (a)ccodare, o (c)ancellare l'operazione?" + + #. L10N: Options for: File exists, (o)verwrite, (a)ppend, or (c)ancel? +-#: muttlib.c:783 ++#: muttlib.c:781 + msgid "oac" + msgstr "oac" + +-#: muttlib.c:1458 ++#: muttlib.c:1456 + msgid "Can't save message to POP mailbox" + msgstr "Impossibile salvare il messaggio nella mailbox POP" + +-#: muttlib.c:1468 ++#: muttlib.c:1466 + #, c-format + msgid "Append messages to %s?" + msgstr "Accodo i messaggi a %s?" + +-#: muttlib.c:1481 ++#: muttlib.c:1479 + #, fuzzy + msgid "Can't save message to news server" + msgstr "Impossibile modificare i messaggi sul server POP" + +-#. L10N: Example: Username at myhost.com +-#: mutt_account.c:233 +-#, c-format +-msgid "Username at %s: " +-msgstr "Nome utente su %s: " +- +-#: mutt_account.c:315 +-#, c-format +-msgid "Password for %s@%s: " +-msgstr "Password per %s@%s: " +- +-#. L10N: You will see this error message if (1) you have "oauthbearer" in +-#. one of your $*_authenticators and (2) you do not have the corresponding +-#. $*_oauth_refresh_command defined. So the message does not mean "None of +-#. your $*_oauth_refresh_command's are defined." +-#: mutt_account.c:383 +-#, fuzzy +-msgid "No OAUTH refresh command defined" +-msgstr "Il comando della ricerca non è definito" +- +-#: mutt_account.c:390 +-msgid "Unable to run refresh command" +-msgstr "" +- +-#: mutt_account.c:400 +-msgid "Command returned empty string" +-msgstr "" +- + # FIXME +-#: mutt_attach.c:140 mutt_attach.c:274 mutt_attach.c:459 mutt_attach.c:1054 ++#: mutt_attach.c:142 mutt_attach.c:276 mutt_attach.c:488 mutt_attach.c:1087 + msgid "Can't match 'nametemplate', continue?" + msgstr "Il 'nametemplate' non corrisponde, continuare?" + +-#: mutt_attach.c:150 ++#: mutt_attach.c:152 + #, c-format + msgid "Mailcap compose entry requires %%s" + msgstr "La voce compose di mailcap richiede %%s" + +-#: mutt_attach.c:168 ++#: mutt_attach.c:170 + msgid "Failure to open file to parse headers" + msgstr "Errore nell'apertura del file per analizzare gli header" + +-#: mutt_attach.c:202 ++#: mutt_attach.c:204 + msgid "Failure to open file to strip headers" + msgstr "Errore nell'apertura del file per rimuovere gli header" + +-#: mutt_attach.c:212 ++#: mutt_attach.c:214 + msgid "Failure to rename file" + msgstr "Errore nel rinominare il file" + +-#: mutt_attach.c:222 ++#: mutt_attach.c:224 + #, c-format + msgid "No mailcap compose entry for %s, creating empty file" + msgstr "Manca la voce compose di mailcap per %s, creo un file vuoto" + +-#: mutt_attach.c:284 ++#: mutt_attach.c:286 + #, c-format + msgid "Mailcap Edit entry requires %%s" + msgstr "La voce edit di mailcap richiede %%s" + +-#: mutt_attach.c:305 ++#: mutt_attach.c:307 + #, c-format + msgid "No mailcap edit entry for %s" + msgstr "Manca la voce edit di mailcap per %s" + +-#: mutt_attach.c:427 ++#: mutt_attach.c:456 + msgid "No matching mailcap entry found. Viewing as text." + msgstr "Non è stata trovata la voce di mailcap corrispondente. Visualizzo come testo." + +-#: mutt_attach.c:440 ++#: mutt_attach.c:469 + msgid "MIME type not defined. Can't view attachment." + msgstr "Tipo MIME non definito. Impossibile visualizzare l'allegato." + +-#: mutt_attach.c:535 ++#: mutt_attach.c:563 + #, c-format + msgid "---Command: %-20.20s Description: %s" + msgstr "---Comando: %-20.20s Descrizione: %s" + +-#: mutt_attach.c:540 ++#: mutt_attach.c:568 + #, c-format + msgid "---Command: %-30.30s Attachment: %s" + msgstr "---Comando: %-30.30s Allegato: %s" + +-#: mutt_attach.c:619 ++#: mutt_attach.c:652 + #, c-format + msgid "---Attachment: %s: %s" + msgstr "---Allegato: %s: %s" + +-#: mutt_attach.c:621 ++#: mutt_attach.c:654 + #, c-format + msgid "---Attachment: %s" + msgstr "---Allegato: %s" + +-#: mutt_attach.c:902 mutt_attach.c:910 ++#: mutt_attach.c:935 mutt_attach.c:943 + msgid "Write fault" + msgstr "Errore di scrittura" + +-#: mutt_attach.c:1174 ++#: mutt_attach.c:1207 + msgid "I don't know how to print that" + msgstr "Non so come stamparlo" + +-#: mutt_history.c:47 query.c:84 ++#: mutt_history.c:47 query.c:82 + msgid "Search" + msgstr "Cerca" + +@@ -3606,21 +3685,21 @@ msgstr "Cerca" + msgid "History '%s'" + msgstr "Ricerca '%s'" + +-#: mutt_logging.c:315 ++#: mutt_logging.c:313 + #, fuzzy, c-format + msgid "Invalid value for option %s: %ld" + msgstr "Valore per l'opzione %s non valido: \"%s\"" + +-#: mutt_lua.c:429 ++#: mutt_lua.c:431 + msgid "Error: Couldn't load the lua interpreter" + msgstr "" + +-#: mutt_lua.c:491 ++#: mutt_lua.c:493 + #, fuzzy, c-format + msgid "Couldn't source lua source: %s" + msgstr "Impossibile fare il lock di %s\n" + +-#: mutt_mailbox.c:214 ++#: mutt_mailbox.c:241 + msgid "New mail in " + msgstr "Nuova posta in " + +@@ -3642,20 +3721,20 @@ msgstr "Il messaggio padre non è visibil in questa visualizzazione limitata" + msgid "Parent message is not visible in this limited view" + msgstr "Il messaggio padre non è visibil in questa visualizzazione limitata" + +-#: mx.c:387 ++#: mx.c:385 + #, fuzzy, c-format + msgid "Reading from %s interrupted..." + msgstr "Ricerca interrotta." + + #. L10N: Displayed if a mailbox sync fails +-#: mx.c:468 ++#: mx.c:469 + #, fuzzy, c-format + msgid "Unable to write %s" + msgstr "Impossibile allegare %s" + + #. L10N: Although we know the precise number of messages, we do not show it to the user. + #. So feel free to use a "generic plural" as plural translation if your language has one. +-#: mx.c:523 ++#: mx.c:525 + #, fuzzy + msgid "message not deleted" + msgid_plural "messages not deleted" +@@ -3667,69 +3746,69 @@ msgstr[1] "Segno i messaggi come cancellati..." + msgid "Can't open trash folder" + msgstr "Impossibile accodare al folder: %s" + +-#: mx.c:623 ++#: mx.c:627 + msgid "Mark all articles read?" + msgstr "" + + #. L10N: The first argument is the number of read messages to be + #. moved, the second argument is the target mailbox. +-#: mx.c:671 ++#: mx.c:675 + #, fuzzy, c-format + msgid "Move %d read message to %s?" + msgid_plural "Move %d read messages to %s?" + msgstr[0] "Spostare i messaggi letti in %s?" + msgstr[1] "Spostare i messaggi letti in %s?" + +-#: mx.c:685 mx.c:917 ++#: mx.c:689 mx.c:936 + #, fuzzy, c-format + msgid "Purge %d deleted message?" + msgid_plural "Purge %d deleted messages?" + msgstr[0] "Eliminare %d messaggio cancellato?" + msgstr[1] "Eliminare %d messaggi cancellati?" + +-#: mx.c:708 ++#: mx.c:712 + #, c-format + msgid "Moving read messages to %s..." + msgstr "Spostamento dei messaggi letti in %s..." + +-#: mx.c:774 mx.c:908 ++#: mx.c:783 mx.c:927 + msgid "Mailbox is unchanged" + msgstr "La mailbox non è stata modificata" + +-#: mx.c:827 ++#: mx.c:842 + #, c-format + msgid "%d kept, %d moved, %d deleted" + msgstr "%d tenuti, %d spostati, %d cancellati" + +-#: mx.c:831 mx.c:972 ++#: mx.c:846 mx.c:991 + #, c-format + msgid "%d kept, %d deleted" + msgstr "%d tenuti, %d cancellati" + +-#: mx.c:892 ++#: mx.c:911 + #, c-format + msgid " Press '%s' to toggle write" + msgstr " Premere '%s' per (dis)abilitare la scrittura" + +-#: mx.c:894 ++#: mx.c:913 + msgid "Use 'toggle-write' to re-enable write" + msgstr "Usare 'toggle-write' per riabilitare la scrittura" + +-#: mx.c:896 ++#: mx.c:915 + #, c-format + msgid "Mailbox is marked unwritable. %s" + msgstr "La mailbox è indicata non scrivibile. %s" + +-#: mx.c:966 ++#: mx.c:985 + msgid "Mailbox checkpointed" + msgstr "Effettuato il checkpoint della mailbox" + +-#: ncrypt/crypt.c:93 ++#: ncrypt/crypt.c:91 + #, c-format + msgid " (current time: %c)" + msgstr " (orario attuale: %c)" + +-#: ncrypt/crypt.c:98 ++#: ncrypt/crypt.c:96 + #, c-format + msgid "[-- %s output follows%s --]\n" + msgstr "[-- Segue l'output di %s%s --]\n" +@@ -3738,55 +3817,55 @@ msgstr "[-- Segue l'output di %s%s --]\n" + #. by gpg-agent) we can't know whether we forgot zero, 1, 12, ... + #. passwords. So in English we use "Passphrases". Your language might + #. have other means to express this. +-#: ncrypt/crypt.c:119 ++#: ncrypt/crypt.c:117 + #, fuzzy + msgid "Passphrases forgotten" + msgstr "Passphrase dimenticata/e" + +-#: ncrypt/crypt.c:203 ++#: ncrypt/crypt.c:201 + #, fuzzy + msgid "Inline PGP can't be used with attachments. Revert to PGP/MIME?" + msgstr "Il messaggio non può essere inviato in linea. Riutilizzare PGP/MIME?" + +-#: ncrypt/crypt.c:207 ++#: ncrypt/crypt.c:205 + msgid "Mail not sent: inline PGP can't be used with attachments" + msgstr "" + +-#: ncrypt/crypt.c:214 ++#: ncrypt/crypt.c:212 + #, fuzzy + msgid "Inline PGP can't be used with format=flowed. Revert to PGP/MIME?" + msgstr "Il messaggio non può essere inviato in linea. Riutilizzare PGP/MIME?" + +-#: ncrypt/crypt.c:218 ++#: ncrypt/crypt.c:216 + msgid "Mail not sent: inline PGP can't be used with format=flowed" + msgstr "" + +-#: ncrypt/crypt.c:228 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:714 +-#: ncrypt/pgpkey.c:915 ++#: ncrypt/crypt.c:226 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:747 ++#: ncrypt/pgpkey.c:950 + msgid "Invoking PGP..." + msgstr "Eseguo PGP..." + +-#: ncrypt/crypt.c:240 ++#: ncrypt/crypt.c:238 + msgid "Message can't be sent inline. Revert to using PGP/MIME?" + msgstr "Il messaggio non può essere inviato in linea. Riutilizzare PGP/MIME?" + +-#: ncrypt/crypt.c:242 send.c:2430 ++#: ncrypt/crypt.c:240 send.c:2441 + msgid "Mail not sent" + msgstr "Il messaggio non è stato inviato" + +-#: ncrypt/crypt.c:662 ++#: ncrypt/crypt.c:666 + msgid "S/MIME messages with no hints on content are unsupported" + msgstr "I messaggi S/MIME senza suggerimenti del contenuto non sono gestiti" + +-#: ncrypt/crypt.c:888 ++#: ncrypt/crypt.c:892 + msgid "Trying to extract PGP keys...\n" + msgstr "Cerco di estrarre le chiavi PGP...\n" + +-#: ncrypt/crypt.c:917 ++#: ncrypt/crypt.c:921 + msgid "Trying to extract S/MIME certificates..." + msgstr "Cerco di estrarre i certificati S/MIME..." + +-#: ncrypt/crypt.c:1140 ++#: ncrypt/crypt.c:1144 + #, c-format + msgid "" + "[-- Error: Unknown multipart/signed protocol %s --]\n" +@@ -3795,7 +3874,7 @@ msgstr "" + "[-- Errore: protocollo multipart/signed %s sconosciuto --]\n" + "\n" + +-#: ncrypt/crypt.c:1180 ++#: ncrypt/crypt.c:1184 + #, fuzzy + msgid "" + "[-- Error: Missing or bad-format multipart/signed signature --]\n" +@@ -3804,7 +3883,7 @@ msgstr "" + "[-- Errore: struttura multipart/signed incoerente --]\n" + "\n" + +-#: ncrypt/crypt.c:1222 ++#: ncrypt/crypt.c:1226 + #, c-format + msgid "" + "[-- Warning: We can't verify %s/%s signatures. --]\n" +@@ -3813,7 +3892,7 @@ msgstr "" + "[-- Attenzione: impossibile verificare firme %s/%s. --]\n" + "\n" + +-#: ncrypt/crypt.c:1235 ++#: ncrypt/crypt.c:1239 + msgid "" + "[-- The following data is signed --]\n" + "\n" +@@ -3821,7 +3900,7 @@ msgstr "" + "[-- I seguenti dati sono firmati --]\n" + "\n" + +-#: ncrypt/crypt.c:1243 ++#: ncrypt/crypt.c:1248 + msgid "" + "[-- Warning: Can't find any signatures. --]\n" + "\n" +@@ -3829,7 +3908,7 @@ msgstr "" + "[-- Attenzione: non è stata trovata alcuna firma. --]\n" + "\n" + +-#: ncrypt/crypt.c:1249 ++#: ncrypt/crypt.c:1255 + msgid "" + "\n" + "[-- End of signed data --]\n" +@@ -3848,237 +3927,237 @@ msgstr "Richiamo S/MIME..." + #. L10N: The following are the headers for the "verify key" output from the + #. GPGME key selection menu (bound to "c" in the key selection menu). + #. They will be automatically aligned. +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + #, fuzzy + msgid "Name: " + msgstr "Nome ......: " + +-#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1869 ncrypt/crypt_gpgme.c:1874 ++#: ncrypt/crypt_gpgme.c:183 ncrypt/crypt_gpgme.c:1900 ncrypt/crypt_gpgme.c:1905 + msgid "aka: " + msgstr "alias: " + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + #, fuzzy + msgid "Valid From: " + msgstr "Valido da : %s\n" + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + #, fuzzy + msgid "Valid To: " + msgstr "Valido fino a ..: %s\n" + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + #, fuzzy + msgid "Key Type: " + msgstr "Uso della chiave .: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + #, fuzzy + msgid "Key Usage: " + msgstr "Uso della chiave .: " + +-#: ncrypt/crypt_gpgme.c:185 ncrypt/crypt_gpgme.c:1759 ++#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1790 + msgid "Fingerprint: " + msgstr "Fingerprint: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + #, fuzzy + msgid "Serial-No: " + msgstr "Numero di serie .: 0x%s\n" + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + #, fuzzy + msgid "Issued By: " + msgstr "Emesso da .: " + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + #, fuzzy + msgid "Subkey: " + msgstr "Subkey ....: 0x%s" + +-#: ncrypt/crypt_gpgme.c:783 ++#: ncrypt/crypt_gpgme.c:782 + #, c-format + msgid "error enabling CMS protocol: %s" + msgstr "errore nell'abilitazione del protocollo CMS: %s" + +-#: ncrypt/crypt_gpgme.c:806 ++#: ncrypt/crypt_gpgme.c:805 + #, c-format + msgid "error creating gpgme data object: %s" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:907 ncrypt/crypt_gpgme.c:934 ncrypt/crypt_gpgme.c:2057 +-#: ncrypt/crypt_gpgme.c:2814 ++#: ncrypt/crypt_gpgme.c:906 ncrypt/crypt_gpgme.c:933 ncrypt/crypt_gpgme.c:2096 ++#: ncrypt/crypt_gpgme.c:2853 + #, c-format + msgid "error allocating data object: %s" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:956 ++#: ncrypt/crypt_gpgme.c:955 + #, c-format + msgid "error rewinding data object: %s" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:972 ++#: ncrypt/crypt_gpgme.c:971 + msgid "[tempfile]" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:978 ncrypt/crypt_gpgme.c:1032 ++#: ncrypt/crypt_gpgme.c:977 ncrypt/crypt_gpgme.c:1031 + #, c-format + msgid "error reading data object: %s" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1149 ++#: ncrypt/crypt_gpgme.c:1148 + #, fuzzy, c-format + msgid "error adding recipient '%s': %s" + msgstr "errore nell'aggiunta dell'indirizzo '%s': %s" + +-#: ncrypt/crypt_gpgme.c:1202 ++#: ncrypt/crypt_gpgme.c:1186 + #, c-format + msgid "secret key '%s' not found: %s" + msgstr "chiave segreta '%s' non trovata: %s" + +-#: ncrypt/crypt_gpgme.c:1218 ++#: ncrypt/crypt_gpgme.c:1203 + #, fuzzy, c-format + msgid "ambiguous specification of secret key '%s'\n" + msgstr "specifica della chiave segreta '%s' ambigua" + +-#: ncrypt/crypt_gpgme.c:1234 ++#: ncrypt/crypt_gpgme.c:1219 + #, c-format + msgid "error setting secret key '%s': %s" + msgstr "errore nell'impostazione della chiave segreta '%s': %s" + +-#: ncrypt/crypt_gpgme.c:1250 ++#: ncrypt/crypt_gpgme.c:1278 + #, c-format + msgid "error setting PKA signature notation: %s" + msgstr "errore nell'impostare la notazione della firma PKA: %s" + +-#: ncrypt/crypt_gpgme.c:1324 ++#: ncrypt/crypt_gpgme.c:1353 + #, c-format + msgid "error encrypting data: %s" + msgstr "errore nella cifratura dei dati: %s" + +-#: ncrypt/crypt_gpgme.c:1453 ++#: ncrypt/crypt_gpgme.c:1483 + #, c-format + msgid "error signing data: %s" + msgstr "errore nel firmare i dati: %s" + +-#: ncrypt/crypt_gpgme.c:1463 ++#: ncrypt/crypt_gpgme.c:1493 + msgid "$pgp_sign_as unset and no default key specified in ~/.gnupg/gpg.conf" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1641 ++#: ncrypt/crypt_gpgme.c:1672 + msgid "Warning: One of the keys has been revoked\n" + msgstr "Attenzione: una delle chiavi è stata revocata\n" + +-#: ncrypt/crypt_gpgme.c:1651 ++#: ncrypt/crypt_gpgme.c:1682 + msgid "Warning: The key used to create the signature expired at: " + msgstr "Attenzione: la chiave usata per creare la firma è scaduta il: " + +-#: ncrypt/crypt_gpgme.c:1657 ++#: ncrypt/crypt_gpgme.c:1688 + msgid "Warning: At least one certification key has expired\n" + msgstr "Attenzione: almeno una chiave di certificato è scaduta\n" + +-#: ncrypt/crypt_gpgme.c:1671 ++#: ncrypt/crypt_gpgme.c:1702 + msgid "Warning: The signature expired at: " + msgstr "Attenzione: la firma è scaduta il: " + +-#: ncrypt/crypt_gpgme.c:1678 ++#: ncrypt/crypt_gpgme.c:1709 + msgid "Can't verify due to a missing key or certificate\n" + msgstr "Impossibile verificare a causa di chiave o certificato mancante\n" + +-#: ncrypt/crypt_gpgme.c:1683 ++#: ncrypt/crypt_gpgme.c:1714 + msgid "The CRL is not available\n" + msgstr "La CRL non è disponibile\n" + +-#: ncrypt/crypt_gpgme.c:1689 ++#: ncrypt/crypt_gpgme.c:1720 + msgid "Available CRL is too old\n" + msgstr "La CRL disponibile è deprecata\n" + +-#: ncrypt/crypt_gpgme.c:1694 ++#: ncrypt/crypt_gpgme.c:1725 + msgid "A policy requirement was not met\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1703 ++#: ncrypt/crypt_gpgme.c:1734 + msgid "A system error occurred" + msgstr "Si è verificato un errore di sistema" + +-#: ncrypt/crypt_gpgme.c:1734 ++#: ncrypt/crypt_gpgme.c:1765 + msgid "WARNING: PKA entry does not match signer's address: " + msgstr "ATTENZIONE: la voce PKA non corrisponde all'indirizzo del firmatario: " + +-#: ncrypt/crypt_gpgme.c:1740 ++#: ncrypt/crypt_gpgme.c:1771 + msgid "PKA verified signer's address is: " + msgstr "L'indirizzo del firmatario verificato PKA è: " + +-#: ncrypt/crypt_gpgme.c:1822 ++#: ncrypt/crypt_gpgme.c:1853 + msgid "WARNING: We have NO indication whether the key belongs to the person named as shown above\n" + msgstr "ATTENZIONE: Non abbiamo NESSUNA indicazione che la chiave appartenga alla persona citata\n" + +-#: ncrypt/crypt_gpgme.c:1829 ++#: ncrypt/crypt_gpgme.c:1860 + msgid "WARNING: The key does NOT BELONG to the person named as shown above\n" + msgstr "ATTENZIONE: la chiave NON APPARTIENE alla persona citata\n" + +-#: ncrypt/crypt_gpgme.c:1833 ++#: ncrypt/crypt_gpgme.c:1864 + msgid "WARNING: It is NOT certain that the key belongs to the person named as shown above\n" + msgstr "ATTENZIONE: NON è certo che la chiave appartenga alla persona citata\n" + +-#: ncrypt/crypt_gpgme.c:1886 ++#: ncrypt/crypt_gpgme.c:1917 + msgid "KeyID " + msgstr "" + + #. L10N: You will see this message in place of "KeyID " + #. if the S/MIME key has no ID. This is quite an error. +-#: ncrypt/crypt_gpgme.c:1893 ++#: ncrypt/crypt_gpgme.c:1924 + msgid "no signature fingerprint available" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1902 ncrypt/crypt_gpgme.c:1907 ++#: ncrypt/crypt_gpgme.c:1933 ncrypt/crypt_gpgme.c:1938 + msgid "created: " + msgstr "creato: " + +-#: ncrypt/crypt_gpgme.c:1981 ++#: ncrypt/crypt_gpgme.c:2012 + #, fuzzy, c-format + msgid "Error getting key information for KeyID %s: %s\n" + msgstr "Errore nel prelevare le informazioni sulla chiave: " + +-#: ncrypt/crypt_gpgme.c:1988 ncrypt/crypt_gpgme.c:2003 ++#: ncrypt/crypt_gpgme.c:2019 ncrypt/crypt_gpgme.c:2034 + msgid "Good signature from:" + msgstr "Firma valida da:" + +-#: ncrypt/crypt_gpgme.c:1995 ++#: ncrypt/crypt_gpgme.c:2026 + msgid "*BAD* signature from:" + msgstr "Firma *NON VALIDA* da:" + +-#: ncrypt/crypt_gpgme.c:2011 ++#: ncrypt/crypt_gpgme.c:2042 + msgid "Problem signature from:" + msgstr "Problema con la firma da:" + + #. L10N: This is trying to match the width of the + #. "Problem signature from:" translation just above. +-#: ncrypt/crypt_gpgme.c:2017 ++#: ncrypt/crypt_gpgme.c:2048 + msgid " expires: " + msgstr " scade: " + +-#: ncrypt/crypt_gpgme.c:2064 ncrypt/crypt_gpgme.c:2294 +-#: ncrypt/crypt_gpgme.c:3081 ++#: ncrypt/crypt_gpgme.c:2103 ncrypt/crypt_gpgme.c:2333 ++#: ncrypt/crypt_gpgme.c:3124 + msgid "[-- Begin signature information --]\n" + msgstr "[-- Inizio dei dati firmati --]\n" + +-#: ncrypt/crypt_gpgme.c:2075 ++#: ncrypt/crypt_gpgme.c:2114 + #, c-format + msgid "Error: verification failed: %s\n" + msgstr "Errore: verifica fallita: %s\n" + +-#: ncrypt/crypt_gpgme.c:2126 ++#: ncrypt/crypt_gpgme.c:2165 + #, c-format + msgid "*** Begin Notation (signature by: %s) ***\n" + msgstr "*** Inizio notazione (firma di %s) ***\n" + +-#: ncrypt/crypt_gpgme.c:2145 ++#: ncrypt/crypt_gpgme.c:2184 + msgid "*** End Notation ***\n" + msgstr "*** Fine notazione ***\n" + +-#: ncrypt/crypt_gpgme.c:2153 ncrypt/crypt_gpgme.c:2308 +-#: ncrypt/crypt_gpgme.c:3091 ++#: ncrypt/crypt_gpgme.c:2192 ncrypt/crypt_gpgme.c:2347 ++#: ncrypt/crypt_gpgme.c:3134 + msgid "" + "[-- End signature information --]\n" + "\n" +@@ -4086,7 +4165,7 @@ msgstr "" + "[-- Fine dei dati firmati --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:2268 ++#: ncrypt/crypt_gpgme.c:2307 + #, c-format + msgid "" + "[-- Error: decryption failed: %s --]\n" +@@ -4095,21 +4174,26 @@ msgstr "" + "[-- Errore: decifratura fallita: %s --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:2821 ++#: ncrypt/crypt_gpgme.c:2860 + #, fuzzy, c-format + msgid "Error importing key: %s" + msgstr "Errore nell'estrazione dei dati della chiave!" + +-#: ncrypt/crypt_gpgme.c:3059 ++#: ncrypt/crypt_gpgme.c:3098 + #, c-format + msgid "Error: decryption/verification failed: %s\n" + msgstr "Errore: decifratura/verifica fallita: %s\n" + +-#: ncrypt/crypt_gpgme.c:3103 ++#: ncrypt/crypt_gpgme.c:3105 ncrypt/crypt_gpgme.c:3302 ncrypt/pgp.c:726 ++#: ncrypt/pgp.c:1273 ++msgid "PGP message successfully decrypted" ++msgstr "Messaggio PGP decifrato con successo" ++ ++#: ncrypt/crypt_gpgme.c:3146 + msgid "Error: copy data failed\n" + msgstr "Errore: copia dei dati fallita\n" + +-#: ncrypt/crypt_gpgme.c:3116 ncrypt/pgp.c:675 ++#: ncrypt/crypt_gpgme.c:3159 ncrypt/pgp.c:674 + msgid "" + "[-- BEGIN PGP MESSAGE --]\n" + "\n" +@@ -4117,11 +4201,11 @@ msgstr "" + "[-- INIZIO DEL MESSAGGIO PGP --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3118 ncrypt/pgp.c:677 ++#: ncrypt/crypt_gpgme.c:3161 ncrypt/pgp.c:676 + msgid "[-- BEGIN PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- INIZIO DEL BLOCCO DELLA CHIAVE PUBBLICA --]\n" + +-#: ncrypt/crypt_gpgme.c:3120 ncrypt/pgp.c:679 ++#: ncrypt/crypt_gpgme.c:3163 ncrypt/pgp.c:678 + msgid "" + "[-- BEGIN PGP SIGNED MESSAGE --]\n" + "\n" +@@ -4129,19 +4213,19 @@ msgstr "" + "[-- INIZIO DEL MESSAGGIO FIRMATO CON PGP --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3145 ncrypt/pgp.c:716 ++#: ncrypt/crypt_gpgme.c:3188 ncrypt/pgp.c:715 + msgid "[-- END PGP MESSAGE --]\n" + msgstr "[-- FINE DEL MESSAGGIO PGP --]\n" + +-#: ncrypt/crypt_gpgme.c:3147 ncrypt/pgp.c:730 ++#: ncrypt/crypt_gpgme.c:3190 ncrypt/pgp.c:729 + msgid "[-- END PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- FINE DEL BLOCCO DELLA CHIAVE PUBBLICA --]\n" + +-#: ncrypt/crypt_gpgme.c:3149 ncrypt/pgp.c:732 ++#: ncrypt/crypt_gpgme.c:3192 ncrypt/pgp.c:731 + msgid "[-- END PGP SIGNED MESSAGE --]\n" + msgstr "[-- FINE DEL MESSAGGIO FIRMATO CON PGP --]\n" + +-#: ncrypt/crypt_gpgme.c:3170 ncrypt/pgp.c:765 ++#: ncrypt/crypt_gpgme.c:3213 ncrypt/pgp.c:764 + msgid "" + "[-- Error: could not find beginning of PGP message --]\n" + "\n" +@@ -4149,11 +4233,11 @@ msgstr "" + "[-- Errore: impossibile trovare l'inizio del messaggio di PGP --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3198 ncrypt/crypt_gpgme.c:3296 ncrypt/pgp.c:1218 ++#: ncrypt/crypt_gpgme.c:3241 ncrypt/crypt_gpgme.c:3339 ncrypt/pgp.c:1218 + msgid "[-- Error: could not create temporary file --]\n" + msgstr "[-- Errore: impossibile creare il file temporaneo --]\n" + +-#: ncrypt/crypt_gpgme.c:3212 ++#: ncrypt/crypt_gpgme.c:3255 + msgid "" + "[-- The following data is PGP/MIME signed and encrypted --]\n" + "\n" +@@ -4161,7 +4245,7 @@ msgstr "" + "[-- I seguenti dati sono firmati e cifrati con PGP/MIME --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3214 ncrypt/pgp.c:1231 ++#: ncrypt/crypt_gpgme.c:3257 ncrypt/pgp.c:1232 + msgid "" + "[-- The following data is PGP/MIME encrypted --]\n" + "\n" +@@ -4169,24 +4253,20 @@ msgstr "" + "[-- I seguenti dati sono cifrati con PGP/MIME --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3254 ++#: ncrypt/crypt_gpgme.c:3297 + msgid "[-- End of PGP/MIME signed and encrypted data --]\n" + msgstr "[-- Fine dei dati firmati e cifrati con PGP/MIME --]\n" + +-#: ncrypt/crypt_gpgme.c:3255 ncrypt/pgp.c:1267 ++#: ncrypt/crypt_gpgme.c:3298 ncrypt/pgp.c:1268 + msgid "[-- End of PGP/MIME encrypted data --]\n" + msgstr "[-- Fine dei dati cifrati con PGP/MIME --]\n" + +-#: ncrypt/crypt_gpgme.c:3259 ncrypt/pgp.c:727 ncrypt/pgp.c:1272 +-msgid "PGP message successfully decrypted" +-msgstr "Messaggio PGP decifrato con successo" +- +-#: ncrypt/crypt_gpgme.c:3265 ncrypt/pgp.c:666 ncrypt/pgp.c:718 +-#: ncrypt/pgp.c:1276 ++#: ncrypt/crypt_gpgme.c:3308 ncrypt/pgp.c:665 ncrypt/pgp.c:717 ++#: ncrypt/pgp.c:1277 + msgid "Could not decrypt PGP message" + msgstr "Impossibile decifrare il messaggio PGP" + +-#: ncrypt/crypt_gpgme.c:3310 ++#: ncrypt/crypt_gpgme.c:3353 + msgid "" + "[-- The following data is S/MIME signed --]\n" + "\n" +@@ -4194,7 +4274,7 @@ msgstr "" + "[-- I seguenti dati sono firmati con S/MIME --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3311 ++#: ncrypt/crypt_gpgme.c:3354 + msgid "" + "[-- The following data is S/MIME encrypted --]\n" + "\n" +@@ -4202,34 +4282,34 @@ msgstr "" + "[-- I seguenti dati sono cifrati con S/MIME --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3358 ++#: ncrypt/crypt_gpgme.c:3401 + msgid "[-- End of S/MIME signed data --]\n" + msgstr "[-- Fine dei dati firmati com S/MIME. --]\n" + +-#: ncrypt/crypt_gpgme.c:3359 ++#: ncrypt/crypt_gpgme.c:3402 + msgid "[-- End of S/MIME encrypted data --]\n" + msgstr "[-- Fine dei dati cifrati con S/MIME --]\n" + +-#: ncrypt/crypt_gpgme.c:4029 ++#: ncrypt/crypt_gpgme.c:4077 + msgid "[Can't display this user ID (unknown encoding)]" + msgstr "[Impossibile mostrare questo ID utente (codifica sconosciuta)]" + +-#: ncrypt/crypt_gpgme.c:4031 ++#: ncrypt/crypt_gpgme.c:4079 + msgid "[Can't display this user ID (invalid encoding)]" + msgstr "[Impossibile mostrare questo ID utente (codifica non valida)]" + +-#: ncrypt/crypt_gpgme.c:4036 ++#: ncrypt/crypt_gpgme.c:4084 + msgid "[Can't display this user ID (invalid DN)]" + msgstr "[Impossibile mostrare questo ID utente (DN non valido)]" + + #. L10N: comes after the Name or aka if the key is invalid + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4150 ncrypt/crypt_gpgme.c:4291 ++#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4339 + msgid "[Invalid]" + msgstr "[Non valido]" + + #. L10N: This is printed after "Key Type: " and looks like this: PGP, 2048 bit RSA +-#: ncrypt/crypt_gpgme.c:4190 ncrypt/crypt_gpgme.c:4331 ++#: ncrypt/crypt_gpgme.c:4238 ncrypt/crypt_gpgme.c:4379 + #, fuzzy, c-format + msgid "%s, %lu bit %s\n" + msgid_plural "%s, %lu bit %s\n" +@@ -4237,95 +4317,95 @@ msgstr[0] "Tipo di chiave ..: %s, %lu bit %s\n" + msgstr[1] "Tipo di chiave ..: %s, %lu bit %s\n" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4338 ++#: ncrypt/crypt_gpgme.c:4246 ncrypt/crypt_gpgme.c:4386 + msgid "encryption" + msgstr "cifratura" + +-#: ncrypt/crypt_gpgme.c:4199 ncrypt/crypt_gpgme.c:4205 +-#: ncrypt/crypt_gpgme.c:4339 ncrypt/crypt_gpgme.c:4344 ++#: ncrypt/crypt_gpgme.c:4247 ncrypt/crypt_gpgme.c:4253 ++#: ncrypt/crypt_gpgme.c:4387 ncrypt/crypt_gpgme.c:4392 + msgid ", " + msgstr ", " + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4204 ncrypt/crypt_gpgme.c:4343 ++#: ncrypt/crypt_gpgme.c:4252 ncrypt/crypt_gpgme.c:4391 + msgid "signing" + msgstr "firma" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4210 ncrypt/crypt_gpgme.c:4348 ++#: ncrypt/crypt_gpgme.c:4258 ncrypt/crypt_gpgme.c:4396 + msgid "certification" + msgstr "certificazione" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4285 ++#: ncrypt/crypt_gpgme.c:4333 + msgid "[Revoked]" + msgstr "[Revocato]" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4297 ++#: ncrypt/crypt_gpgme.c:4345 + msgid "[Expired]" + msgstr "[Scaduto]" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4303 ++#: ncrypt/crypt_gpgme.c:4351 + msgid "[Disabled]" + msgstr "[Disabilitato]" + +-#: ncrypt/crypt_gpgme.c:4376 ++#: ncrypt/crypt_gpgme.c:4424 + msgid "Collecting data..." + msgstr "Raccolta dei dati..." + +-#: ncrypt/crypt_gpgme.c:4394 ++#: ncrypt/crypt_gpgme.c:4442 + #, c-format + msgid "Error finding issuer key: %s\n" + msgstr "Errore nella ricerca dell'emittente della chiave: %s\n" + +-#: ncrypt/crypt_gpgme.c:4403 ++#: ncrypt/crypt_gpgme.c:4451 + #, fuzzy + msgid "Error: certification chain too long - stopping here\n" + msgstr "Errore: catena di certificazione troppo lunga - stop\n" + +-#: ncrypt/crypt_gpgme.c:4413 ncrypt/pgpkey.c:733 ++#: ncrypt/crypt_gpgme.c:4461 ncrypt/pgpkey.c:766 + #, c-format + msgid "Key ID: 0x%s" + msgstr "Key ID: 0x%s" + +-#: ncrypt/crypt_gpgme.c:4538 ncrypt/crypt_gpgme.c:4589 ++#: ncrypt/crypt_gpgme.c:4586 ncrypt/crypt_gpgme.c:4637 + #, c-format + msgid "gpgme_op_keylist_start failed: %s" + msgstr "gpgme_op_keylist_start fallito: %s" + +-#: ncrypt/crypt_gpgme.c:4577 ncrypt/crypt_gpgme.c:4619 +-#: ncrypt/crypt_gpgme.c:5355 ++#: ncrypt/crypt_gpgme.c:4625 ncrypt/crypt_gpgme.c:4667 ++#: ncrypt/crypt_gpgme.c:5435 + #, c-format + msgid "gpgme_op_keylist_next failed: %s" + msgstr "gpgme_op_keylist_next fallito: %s" + +-#: ncrypt/crypt_gpgme.c:4701 ++#: ncrypt/crypt_gpgme.c:4749 + msgid "All matching keys are marked expired/revoked" + msgstr "Tutte le chiavi corrispondenti sono scadute/revocate" + +-#: ncrypt/crypt_gpgme.c:4731 ncrypt/pgpkey.c:666 ncrypt/smime.c:551 ++#: ncrypt/crypt_gpgme.c:4779 ncrypt/pgpkey.c:669 ncrypt/smime.c:553 + msgid "Select " + msgstr "Seleziona " + +-#: ncrypt/crypt_gpgme.c:4733 ncrypt/pgpkey.c:668 ++#: ncrypt/crypt_gpgme.c:4781 ncrypt/pgpkey.c:671 + msgid "Check key " + msgstr "Controlla chiave " + +-#: ncrypt/crypt_gpgme.c:4749 ++#: ncrypt/crypt_gpgme.c:4827 + msgid "PGP and S/MIME keys matching" + msgstr "Chiavi PGP e S/MIME corrispondenti" + +-#: ncrypt/crypt_gpgme.c:4751 ++#: ncrypt/crypt_gpgme.c:4829 + msgid "PGP keys matching" + msgstr "Chiavi PGP corrispondenti" + +-#: ncrypt/crypt_gpgme.c:4753 ++#: ncrypt/crypt_gpgme.c:4831 + msgid "S/MIME keys matching" + msgstr "Chiavi S/MIME corrispondenti" + +-#: ncrypt/crypt_gpgme.c:4755 ++#: ncrypt/crypt_gpgme.c:4833 + msgid "keys matching" + msgstr "Chiavi corrispondenti" + +@@ -4333,59 +4413,59 @@ msgstr "Chiavi corrispondenti" + #. %1$s is one of the previous four entries. + #. %2$s is an address. + #. e.g. "S/MIME keys matching " +-#: ncrypt/crypt_gpgme.c:4763 ++#: ncrypt/crypt_gpgme.c:4841 + #, c-format + msgid "%s <%s>" + msgstr "%s <%s>" + + #. L10N: e.g. 'S/MIME keys matching "Michael Elkins".' +-#: ncrypt/crypt_gpgme.c:4768 ++#: ncrypt/crypt_gpgme.c:4846 + #, c-format + msgid "%s \"%s\"" + msgstr "%s \"%s\"" + +-#: ncrypt/crypt_gpgme.c:4796 ncrypt/pgpkey.c:754 ++#: ncrypt/crypt_gpgme.c:4874 ncrypt/pgpkey.c:787 + msgid "This key can't be used: expired/disabled/revoked" + msgstr "Questa chiave non può essere usata: è scaduta/disabilitata/revocata" + +-#: ncrypt/crypt_gpgme.c:4810 ncrypt/pgpkey.c:767 ncrypt/smime.c:581 ++#: ncrypt/crypt_gpgme.c:4888 ncrypt/pgpkey.c:800 ncrypt/smime.c:613 + #, fuzzy + msgid "ID is expired/disabled/revoked. Do you really want to use the key?" + msgstr "L'ID è scaduto/disabilitato/revocato. Vuoi veramente usare questa chiave?" + +-#: ncrypt/crypt_gpgme.c:4820 ncrypt/pgpkey.c:779 ++#: ncrypt/crypt_gpgme.c:4898 ncrypt/pgpkey.c:812 + #, fuzzy + msgid "ID is not valid. Do you really want to use the key?" + msgstr "L'ID non è valido. Vuoi veramente usare questa chiave?" + +-#: ncrypt/crypt_gpgme.c:4823 ncrypt/pgpkey.c:782 ++#: ncrypt/crypt_gpgme.c:4901 ncrypt/pgpkey.c:815 + #, fuzzy + msgid "ID is only marginally valid. Do you really want to use the key?" + msgstr "L'ID è solo marginalmente valido. Vuoi veramente usare questa chiave?" + +-#: ncrypt/crypt_gpgme.c:4831 ncrypt/pgpkey.c:775 ncrypt/smime.c:585 ++#: ncrypt/crypt_gpgme.c:4909 ncrypt/pgpkey.c:808 ncrypt/smime.c:617 + #, fuzzy + msgid "ID has undefined validity. Do you really want to use the key?" + msgstr "L'ID ha validità indefinita. Vuoi veramente usare questa chiave?" + +-#: ncrypt/crypt_gpgme.c:4911 ncrypt/crypt_gpgme.c:5024 ncrypt/pgpkey.c:1019 +-#: ncrypt/pgpkey.c:1146 ++#: ncrypt/crypt_gpgme.c:4991 ncrypt/crypt_gpgme.c:5104 ncrypt/pgpkey.c:1054 ++#: ncrypt/pgpkey.c:1181 + #, c-format + msgid "Looking for keys matching \"%s\"..." + msgstr "Ricerca chiavi corrispondenti a \"%s\"..." + +-#: ncrypt/crypt_gpgme.c:5140 ncrypt/pgpkey.c:870 ncrypt/smime.c:924 ++#: ncrypt/crypt_gpgme.c:5220 ncrypt/pgpkey.c:905 ncrypt/smime.c:958 + #, c-format + msgid "No matching keys found for \"%s\"" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5190 ncrypt/pgp.c:1456 ++#: ncrypt/crypt_gpgme.c:5270 ncrypt/pgp.c:1457 + #, c-format + msgid "Use keyID = \"%s\" for %s?" + msgstr "Uso il keyID \"%s\" per %s?" + +-#: ncrypt/crypt_gpgme.c:5238 ncrypt/pgp.c:1505 ncrypt/smime.c:944 +-#: ncrypt/smime.c:1049 ++#: ncrypt/crypt_gpgme.c:5318 ncrypt/pgp.c:1506 ncrypt/smime.c:978 ++#: ncrypt/smime.c:1083 + #, c-format + msgid "Enter keyID for %s: " + msgstr "Inserisci il keyID per %s: " +@@ -4394,16 +4474,16 @@ msgstr "Inserisci il keyID per %s: " + #. mutt_gpgme_select_secret_key() tries to list all secret keys to choose + #. from. This error is displayed if no results were found. + #. +-#: ncrypt/crypt_gpgme.c:5364 ++#: ncrypt/crypt_gpgme.c:5444 + #, fuzzy + msgid "No secret keys found" + msgstr "chiave segreta '%s' non trovata: %s" + +-#: ncrypt/crypt_gpgme.c:5398 ncrypt/pgpkey.c:888 ++#: ncrypt/crypt_gpgme.c:5478 ncrypt/pgpkey.c:923 + msgid "Please enter the key ID: " + msgstr "Inserire il key ID: " + +-#: ncrypt/crypt_gpgme.c:5411 ++#: ncrypt/crypt_gpgme.c:5491 + #, fuzzy, c-format + msgid "Error exporting key: %s" + msgstr "Errore nell'estrazione dei dati della chiave!" +@@ -4411,98 +4491,98 @@ msgstr "Errore nell'estrazione dei dati della chiave!" + #. 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. +-#: ncrypt/crypt_gpgme.c:5429 ++#: ncrypt/crypt_gpgme.c:5509 + #, fuzzy, c-format + msgid "PGP Key 0x%s" + msgstr "Chiave PGP %s" + +-#: ncrypt/crypt_gpgme.c:5474 ++#: ncrypt/crypt_gpgme.c:5554 + msgid "GPGME: OpenPGP protocol not available" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5485 ++#: ncrypt/crypt_gpgme.c:5565 + msgid "GPGME: CMS protocol not available" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5536 ++#: ncrypt/crypt_gpgme.c:5616 + #, fuzzy + msgid "S/MIME (s)ign, sign (a)s, (p)gp, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME cifra(e), firma(s), firma (c)ome, entram(b)i, (p)gp, annullare(c)?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5538 ++#: ncrypt/crypt_gpgme.c:5618 + msgid "sapco" + msgstr "escbpc" + +-#: ncrypt/crypt_gpgme.c:5545 ++#: ncrypt/crypt_gpgme.c:5625 + #, fuzzy + msgid "PGP (s)ign, sign (a)s, s/(m)ime, (c)lear, or (o)ppenc mode off?" + msgstr "PGP: cifra(e), firma(s), firma (c)ome, entram(b)i, s/(m)ime, annullare(c)?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5547 ++#: ncrypt/crypt_gpgme.c:5627 + msgid "samco" + msgstr "escbmc" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5557 ++#: ncrypt/crypt_gpgme.c:5637 + #, fuzzy + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME cifra(e), firma(s), firma (c)ome, entram(b)i, (p)gp, annullare(c)?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5560 ++#: ncrypt/crypt_gpgme.c:5640 + msgid "esabpco" + msgstr "escbpc" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5566 ++#: ncrypt/crypt_gpgme.c:5646 + #, fuzzy + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime, (c)lear, or (o)ppenc mode?" + msgstr "PGP: cifra(e), firma(s), firma (c)ome, entram(b)i, s/(m)ime, annullare(c)?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5569 ++#: ncrypt/crypt_gpgme.c:5649 + msgid "esabmco" + msgstr "escbmc" + +-#: ncrypt/crypt_gpgme.c:5580 ++#: ncrypt/crypt_gpgme.c:5660 + #, fuzzy + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp or (c)lear?" + msgstr "S/MIME cifra(e), firma(s), firma (c)ome, entram(b)i, (p)gp, annullare(c)?" + + #. L10N: S/MIME options +-#: ncrypt/crypt_gpgme.c:5582 ++#: ncrypt/crypt_gpgme.c:5662 + msgid "esabpc" + msgstr "escbpc" + +-#: ncrypt/crypt_gpgme.c:5589 ++#: ncrypt/crypt_gpgme.c:5669 + #, fuzzy + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime or (c)lear?" + msgstr "PGP: cifra(e), firma(s), firma (c)ome, entram(b)i, s/(m)ime, annullare(c)?" + + #. L10N: PGP options +-#: ncrypt/crypt_gpgme.c:5591 ++#: ncrypt/crypt_gpgme.c:5671 + msgid "esabmc" + msgstr "escbmc" + +-#: ncrypt/crypt_gpgme.c:5751 ++#: ncrypt/crypt_gpgme.c:5831 + msgid "Failed to verify sender" + msgstr "Errore nella verifica del mittente" + +-#: ncrypt/crypt_gpgme.c:5754 ++#: ncrypt/crypt_gpgme.c:5834 + msgid "Failed to figure out sender" + msgstr "Errore nel rilevamento del mittente" + +-#: ncrypt/pgp.c:108 ++#: ncrypt/pgp.c:107 + msgid "Enter PGP passphrase:" + msgstr "Inserisci la passphrase di PGP:" + +-#: ncrypt/pgp.c:595 ++#: ncrypt/pgp.c:594 + msgid "[-- Error: unable to create PGP subprocess --]\n" + msgstr "[-- Errore: impossibile creare il sottoprocesso PGP --]\n" + +-#: ncrypt/pgp.c:644 ncrypt/pgp.c:926 ncrypt/pgp.c:1086 ++#: ncrypt/pgp.c:643 ncrypt/pgp.c:925 ncrypt/pgp.c:1085 + msgid "" + "[-- End of PGP output --]\n" + "\n" +@@ -4513,16 +4593,16 @@ msgstr "" + #. L10N: You will see this error message if (1) you are decrypting + #. (not encrypting) something and (2) it is a plaintext. So the + #. message does not mean "You failed to encrypt the message." +-#: ncrypt/pgp.c:724 ++#: ncrypt/pgp.c:723 + #, fuzzy + msgid "PGP message is not encrypted" + msgstr "Messaggio PGP decifrato con successo" + +-#: ncrypt/pgp.c:978 ++#: ncrypt/pgp.c:977 + msgid "Internal error. Please submit a bug report." + msgstr "" + +-#: ncrypt/pgp.c:1043 ++#: ncrypt/pgp.c:1042 + msgid "" + "[-- Error: could not create a PGP subprocess --]\n" + "\n" +@@ -4530,127 +4610,127 @@ msgstr "" + "[-- Errore: non è stato possibile creare un sottoprocesso PGP --]\n" + "\n" + +-#: ncrypt/pgp.c:1073 ncrypt/pgp.c:1098 ncrypt/smime.c:2143 postpone.c:757 +-#: postpone.c:785 ++#: ncrypt/pgp.c:1072 ncrypt/pgp.c:1097 ncrypt/smime.c:2177 postpone.c:803 ++#: postpone.c:831 + msgid "Decryption failed" + msgstr "Decifratura fallita" + +-#: ncrypt/pgp.c:1333 ++#: ncrypt/pgp.c:1334 + msgid "Can't open PGP subprocess" + msgstr "Impossibile aprire il sottoprocesso PGP" + +-#: ncrypt/pgp.c:1768 ++#: ncrypt/pgp.c:1770 + msgid "Can't invoke PGP" + msgstr "Impossibile eseguire PGP" + + #. L10N: The next string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1875 ++#: ncrypt/pgp.c:1877 + msgid "PGP/M(i)ME" + msgstr "PGP/M(i)ME" + + #. L10N: The previous string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1881 ++#: ncrypt/pgp.c:1883 + msgid "(i)nline" + msgstr "(i)n linea" + + #. L10N: PGP options (inline) (opportunistic encryption is on) +-#: ncrypt/pgp.c:1893 ++#: ncrypt/pgp.c:1895 + #, fuzzy, c-format + msgid "PGP (s)ign, sign (a)s, %s format, (c)lear, or (o)ppenc mode off?" + msgstr "PGP: cifra(e), firma(s), firma (c)ome, entram(b)i, formato %s, (a)nnullare?" + + #. L10N: PGP options (inline) (opportunistic encryption is on) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1899 ++#: ncrypt/pgp.c:1901 + msgid "saico" + msgstr "escba" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1905 ++#: ncrypt/pgp.c:1907 + #, fuzzy + msgid "PGP (s)ign, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "PGP: cifra(e), firma(s), firma (c)ome, entram(b)i, (a)nnullare?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1907 ++#: ncrypt/pgp.c:1909 + msgid "saco" + msgstr "escba" + + #. L10N: PGP options (inline) (opportunistic encryption is off) +-#: ncrypt/pgp.c:1921 ++#: ncrypt/pgp.c:1923 + #, fuzzy, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, (c)lear, or (o)ppenc mode?" + msgstr "PGP: cifra(e), firma(s), firma (c)ome, entram(b)i, formato %s, (a)nnullare?" + + #. L10N: PGP options (inline) (opportunistic encryption is off) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1927 ++#: ncrypt/pgp.c:1929 + msgid "esabico" + msgstr "escba" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1933 ++#: ncrypt/pgp.c:1935 + #, fuzzy + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "PGP: cifra(e), firma(s), firma (c)ome, entram(b)i, (a)nnullare?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1936 ++#: ncrypt/pgp.c:1938 + msgid "esabco" + msgstr "escba" + + #. L10N: PGP options (inline) +-#: ncrypt/pgp.c:1947 ++#: ncrypt/pgp.c:1949 + #, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, or (c)lear?" + msgstr "PGP: cifra(e), firma(s), firma (c)ome, entram(b)i, formato %s, (a)nnullare?" + + #. L10N: PGP options (inline) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1953 ++#: ncrypt/pgp.c:1955 + msgid "esabic" + msgstr "escba" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1959 ++#: ncrypt/pgp.c:1961 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (c)lear?" + msgstr "PGP: cifra(e), firma(s), firma (c)ome, entram(b)i, (a)nnullare?" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1961 ++#: ncrypt/pgp.c:1963 + msgid "esabc" + msgstr "" + +-#: ncrypt/pgpinvoke.c:458 ++#: ncrypt/pgpinvoke.c:461 + msgid "Fetching PGP key..." + msgstr "Prendo la chiave PGP..." + +-#: ncrypt/pgpkey.c:640 ++#: ncrypt/pgpkey.c:643 + msgid "All matching keys are expired, revoked, or disabled" + msgstr "Tutte le chiavi corrispondenti sono scadute, revocate o disattivate" + +-#: ncrypt/pgpkey.c:681 ++#: ncrypt/pgpkey.c:714 + #, c-format + msgid "PGP keys matching <%s>" + msgstr "Chiavi PGP corrispondenti a <%s>" + +-#: ncrypt/pgpkey.c:683 ++#: ncrypt/pgpkey.c:716 + #, c-format + msgid "PGP keys matching \"%s\"" + msgstr "Chiavi PGP corrispondenti a \"%s\"" + +-#: ncrypt/pgpkey.c:700 ncrypt/pgpkey.c:909 ++#: ncrypt/pgpkey.c:733 ncrypt/pgpkey.c:944 + msgid "Can't open /dev/null" + msgstr "Impossibile aprire /dev/null" + +-#: ncrypt/pgpkey.c:938 ++#: ncrypt/pgpkey.c:973 + #, c-format + msgid "PGP Key %s" + msgstr "Chiave PGP %s" + +-#: ncrypt/smime.c:182 ++#: ncrypt/smime.c:180 + msgid "Enter S/MIME passphrase:" + msgstr "Inserisci la passphrase per S/MIME:" + +@@ -4659,7 +4739,7 @@ msgstr "Inserisci la passphrase per S/MIME:" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:460 ++#: ncrypt/smime.c:462 + msgid "Expired " + msgstr "Scaduto " + +@@ -4668,7 +4748,7 @@ msgstr "Scaduto " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:468 ++#: ncrypt/smime.c:470 + msgid "Invalid " + msgstr "Non valido " + +@@ -4677,7 +4757,7 @@ msgstr "Non valido " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:476 ++#: ncrypt/smime.c:478 + msgid "Revoked " + msgstr "Revocato " + +@@ -4686,7 +4766,7 @@ msgstr "Revocato " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:484 ++#: ncrypt/smime.c:486 + msgid "Trusted " + msgstr "Fidato " + +@@ -4695,7 +4775,7 @@ msgstr "Fidato " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:492 ++#: ncrypt/smime.c:494 + msgid "Unverified" + msgstr "Non verificato" + +@@ -4704,7 +4784,7 @@ msgstr "Non verificato" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:500 ++#: ncrypt/smime.c:502 + msgid "Verified " + msgstr "Verificato " + +@@ -4713,60 +4793,60 @@ msgstr "Verificato " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:508 ++#: ncrypt/smime.c:510 + msgid "Unknown " + msgstr "Sconosciuto " + +-#: ncrypt/smime.c:545 ++#: ncrypt/smime.c:547 + #, c-format + msgid "S/MIME certificates matching \"%s\"" + msgstr "Certificati S/MIME corrispondenti a \"%s\"" + +-#: ncrypt/smime.c:589 ++#: ncrypt/smime.c:621 + #, fuzzy + msgid "ID is not trusted. Do you really want to use the key?" + msgstr "L'ID non è valido. Vuoi veramente usare questa chiave?" + +-#: ncrypt/smime.c:910 ++#: ncrypt/smime.c:944 + msgid "Enter keyID: " + msgstr "Inserire il keyID: " + +-#: ncrypt/smime.c:1055 ++#: ncrypt/smime.c:1089 + #, c-format + msgid "No (valid) certificate found for %s" + msgstr "Non è stato trovato un certificato (valido) per %s" + +-#: ncrypt/smime.c:1108 ncrypt/smime.c:1137 ncrypt/smime.c:1209 +-#: ncrypt/smime.c:1243 ncrypt/smime.c:1319 ncrypt/smime.c:1399 ++#: ncrypt/smime.c:1142 ncrypt/smime.c:1171 ncrypt/smime.c:1243 ++#: ncrypt/smime.c:1277 ncrypt/smime.c:1353 ncrypt/smime.c:1433 + msgid "Error: unable to create OpenSSL subprocess" + msgstr "Errore: impossibile creare il sottoprocesso di OpenSSL" + +-#: ncrypt/smime.c:1379 ++#: ncrypt/smime.c:1413 + #, fuzzy + msgid "Label for certificate: " + msgstr "Impossibile ottenere il certificato dal peer" + +-#: ncrypt/smime.c:1480 ++#: ncrypt/smime.c:1514 + msgid "no certfile" + msgstr "manca il file del certificato" + +-#: ncrypt/smime.c:1483 ++#: ncrypt/smime.c:1517 + msgid "no mbox" + msgstr "manca la mailbox" + +-#: ncrypt/smime.c:1640 ncrypt/smime.c:1810 ++#: ncrypt/smime.c:1674 ncrypt/smime.c:1844 + msgid "No output from OpenSSL..." + msgstr "Nessun output da OpenSSL..." + +-#: ncrypt/smime.c:1727 ++#: ncrypt/smime.c:1761 + msgid "Can't sign: No key specified. Use Sign As." + msgstr "Impossibile firmare: nessuna chiave specificata. Usare Firma come." + +-#: ncrypt/smime.c:1777 ++#: ncrypt/smime.c:1811 + msgid "Can't open OpenSSL subprocess" + msgstr "Impossibile aprire il sottoprocesso di OpenSSL" + +-#: ncrypt/smime.c:2004 ncrypt/smime.c:2123 ++#: ncrypt/smime.c:2038 ncrypt/smime.c:2157 + msgid "" + "[-- End of OpenSSL output --]\n" + "\n" +@@ -4774,19 +4854,19 @@ msgstr "" + "[-- Fine dell'output di OpenSSL --]\n" + "\n" + +-#: ncrypt/smime.c:2080 ncrypt/smime.c:2093 ++#: ncrypt/smime.c:2114 ncrypt/smime.c:2127 + msgid "[-- Error: unable to create OpenSSL subprocess --]\n" + msgstr "[-- Errore: impossibile creare il sottoprocesso di OpenSSL --]\n" + +-#: ncrypt/smime.c:2129 ++#: ncrypt/smime.c:2163 + msgid "[-- The following data is S/MIME encrypted --]\n" + msgstr "[-- I seguenti dati sono cifrati con S/MIME --]\n" + +-#: ncrypt/smime.c:2132 ++#: ncrypt/smime.c:2166 + msgid "[-- The following data is S/MIME signed --]\n" + msgstr "[-- I seguenti dati sono firmati con S/MIME --]\n" + +-#: ncrypt/smime.c:2225 ++#: ncrypt/smime.c:2259 + msgid "" + "\n" + "[-- End of S/MIME encrypted data. --]\n" +@@ -4794,7 +4874,7 @@ msgstr "" + "\n" + "[-- Fine dei dati cifrati con S/MIME --]\n" + +-#: ncrypt/smime.c:2227 ++#: ncrypt/smime.c:2261 + msgid "" + "\n" + "[-- End of S/MIME signed data. --]\n" +@@ -4803,168 +4883,168 @@ msgstr "" + "[-- Fine dei dati firmati com S/MIME. --]\n" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2361 ++#: ncrypt/smime.c:2395 + #, fuzzy + msgid "S/MIME (s)ign, encrypt (w)ith, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME cifra(e), firma(s), cifra come(w), firma (c)ome, entram(b)i, (a)nnullare?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2364 ++#: ncrypt/smime.c:2398 + msgid "swaco" + msgstr "eswcba" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2372 ++#: ncrypt/smime.c:2406 + #, fuzzy + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME cifra(e), firma(s), cifra come(w), firma (c)ome, entram(b)i, (a)nnullare?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2375 ++#: ncrypt/smime.c:2409 + msgid "eswabco" + msgstr "eswcba" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2382 ++#: ncrypt/smime.c:2416 + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, or (c)lear?" + msgstr "S/MIME cifra(e), firma(s), cifra come(w), firma (c)ome, entram(b)i, (a)nnullare?" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2385 ++#: ncrypt/smime.c:2419 + msgid "eswabc" + msgstr "eswcba" + +-#: ncrypt/smime.c:2449 ++#: ncrypt/smime.c:2483 + msgid "Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear?" + msgstr "Scegliere la famiglia dell'algoritmo: (1) DES, (2) RC2, (3) AES o annullare(c)?" + + #. L10N: Options for: Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear? +-#: ncrypt/smime.c:2452 ++#: ncrypt/smime.c:2486 + msgid "123c" + msgstr "123c" + +-#: ncrypt/smime.c:2455 ++#: ncrypt/smime.c:2489 + msgid "(1) DES, (2) Triple-DES?" + msgstr "(1) DES, (2) Triple-DES?" + + #. L10N: Options for: (1) DES, (2) Triple-DES +-#: ncrypt/smime.c:2457 ++#: ncrypt/smime.c:2491 + msgid "12" + msgstr "12" + +-#: ncrypt/smime.c:2470 ++#: ncrypt/smime.c:2504 + msgid "(1) RC2-40, (2) RC2-64, (3) RC2-128?" + msgstr "(1) RC2-40, (2) RC2-64, (3) RC2-128?" + + #. L10N: Options for: (1) RC2-40, (2) RC2-64, (3) RC2-128 + #. L10N: Options for: (1) AES128, (2) AES192, (3) AES256 +-#: ncrypt/smime.c:2472 ncrypt/smime.c:2490 ++#: ncrypt/smime.c:2506 ncrypt/smime.c:2524 + msgid "123" + msgstr "123" + +-#: ncrypt/smime.c:2488 ++#: ncrypt/smime.c:2522 + msgid "(1) AES128, (2) AES192, (3) AES256?" + msgstr "(1) AES128, (2) AES192, (3) AES256?" + +-#: nntp/newsrc.c:632 ++#: nntp/newsrc.c:639 + msgid "Loading list of groups from cache..." + msgstr "" + +-#: nntp/newsrc.c:997 ++#: nntp/newsrc.c:1023 + msgid "No news server defined" + msgstr "" + +-#: nntp/newsrc.c:1012 ++#: nntp/newsrc.c:1041 + #, fuzzy, c-format + msgid "%s is an invalid news server specification" + msgstr "%s non è un percorso POP valido" + +-#: nntp/nntp.c:236 nntp/nntp.c:777 pop/pop.c:742 pop/pop_lib.c:398 ++#: nntp/nntp.c:238 nntp/nntp.c:779 pop/pop.c:742 pop/pop_lib.c:424 + msgid "Server closed connection" + msgstr "Il server ha chiuso la connessione" + +-#: nntp/nntp.c:340 ++#: nntp/nntp.c:342 + #, fuzzy + msgid "Server doesn't support reader mode" + msgstr "Il server SMTP non supporta l'autenticazione" + +-#: nntp/nntp.c:576 pop/pop_auth.c:504 smtp.c:650 ++#: nntp/nntp.c:578 pop/pop_auth.c:505 smtp.c:675 + msgid "No authenticators available" + msgstr "Non ci sono autenticatori disponibili." + +-#: nntp/nntp.c:766 ++#: nntp/nntp.c:768 + #, fuzzy, c-format + msgid "%s authentication failed" + msgstr "Autenticazione SASL fallita" + +-#: nntp/nntp.c:826 ++#: nntp/nntp.c:828 + #, fuzzy, c-format + msgid "Connection to %s lost. Reconnect?" + msgstr "Connessione a %s chiusa." + +-#: nntp/nntp.c:1285 ++#: nntp/nntp.c:1287 + #, fuzzy + msgid "Fetching list of articles..." + msgstr "Prendo la lista dei messaggi..." + +-#: nntp/nntp.c:1549 nntp/nntp.c:2138 pop/pop.c:614 pop/pop.c:910 ++#: nntp/nntp.c:1551 nntp/nntp.c:2140 pop/pop.c:614 pop/pop.c:905 + msgid "Checking for new messages..." + msgstr "Verifica nuovi messaggi..." + +-#: nntp/nntp.c:1864 nntp/nntp.c:1954 ++#: nntp/nntp.c:1866 nntp/nntp.c:1956 + #, fuzzy + msgid "Could not switch to reader mode" + msgstr "impossibile scrivere il folder temporaneo: %s" + +-#: nntp/nntp.c:1877 ++#: nntp/nntp.c:1879 + #, fuzzy, c-format + msgid "Connected to %s. %s" + msgstr "Connessione a %s..." + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + #, fuzzy + msgid "Posting is ok" + msgstr "Niente da fare" + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + msgid "Posting is NOT ok" + msgstr "" + +-#: nntp/nntp.c:2008 nntp/nntp.c:2043 ++#: nntp/nntp.c:2010 nntp/nntp.c:2045 + #, fuzzy, c-format + msgid "Can't post article: %s" + msgstr "Impossibile eseguire lo stat di %s: %s" + +-#: nntp/nntp.c:2064 ++#: nntp/nntp.c:2066 + #, fuzzy, c-format + msgid "Loading list of groups from server %s..." + msgstr "Cancellazione dei messaggi dal server..." + +-#: nntp/nntp.c:2106 nntp/nntp.c:2198 ++#: nntp/nntp.c:2108 nntp/nntp.c:2200 + #, fuzzy + msgid "Loading descriptions..." + msgstr "Faccio il login..." + +-#: nntp/nntp.c:2128 ++#: nntp/nntp.c:2130 + #, fuzzy + msgid "Checking for new newsgroups..." + msgstr "Verifica nuovi messaggi..." + +-#: nntp/nntp.c:2332 ++#: nntp/nntp.c:2334 + msgid "Unable to find child articles because server does not support XPAT command" + msgstr "" + +-#: nntp/nntp.c:2437 ++#: nntp/nntp.c:2439 + #, fuzzy, c-format + msgid "%s is an invalid newsgroup specification" + msgstr "%s non è un percorso POP valido" + +-#: nntp/nntp.c:2476 ++#: nntp/nntp.c:2478 + #, c-format + msgid "Newsgroup %s not found on the server" + msgstr "" + +-#: nntp/nntp.c:2498 ++#: nntp/nntp.c:2500 + #, c-format + msgid "Newsgroup %s has been removed from the server" + msgstr "" +@@ -4976,7 +5056,7 @@ msgstr "" + + #: notmuch/mutt_notmuch.c:219 notmuch/mutt_notmuch.c:1939 + #, fuzzy, c-format +-msgid "failed to parse notmuch uri: %s" ++msgid "failed to parse notmuch url: %s" + msgstr "Impossibile analizzare il collegamento mailto:\n" + + #: notmuch/mutt_notmuch.c:449 +@@ -6123,187 +6203,187 @@ msgstr "" + msgid "show S/MIME options" + msgstr "mostra le opzioni S/MIME" + +-#: pager.c:222 ++#: pager.c:214 + msgid "Not available in this menu" + msgstr "Non disponibile in questo menù" + +-#: pager.c:229 ++#: pager.c:221 + msgid "PrevPg" + msgstr "PgPrec" + +-#: pager.c:230 ++#: pager.c:222 + msgid "NextPg" + msgstr "PgSucc" + +-#: pager.c:235 ++#: pager.c:227 + msgid "View Attachm." + msgstr "Vedi Allegato" + +-#: pager.c:238 pager.c:247 ++#: pager.c:230 pager.c:239 + msgid "Next" + msgstr "Succ" + + #. L10N: Status bar message: the entire email is visible in the pager + #. L10N: Status bar message: all the emails are visible in the index +-#: pager.c:2180 status.c:278 ++#: pager.c:2136 status.c:278 + msgid "all" + msgstr "" + + #. L10N: Status bar message: the end of the email is visible in the pager + #. L10N: Status bar message: the end of the list emails is visible in the index +-#: pager.c:2182 status.c:276 ++#: pager.c:2138 status.c:276 + msgid "end" + msgstr "" + +-#: pager.c:2530 pager.c:2566 pager.c:2602 pager.c:2937 ++#: pager.c:2503 pager.c:2539 pager.c:2576 pager.c:2911 + msgid "Bottom of message is shown" + msgstr "Il messaggio finisce qui" + +-#: pager.c:2543 pager.c:2573 pager.c:2580 pager.c:2590 ++#: pager.c:2516 pager.c:2546 pager.c:2553 pager.c:2564 + msgid "Top of message is shown" + msgstr "L'inizio del messaggio è questo" + +-#: pager.c:2840 ++#: pager.c:2814 + msgid "Help is currently being shown" + msgstr "L'help è questo" + +-#: pager.c:2897 ++#: pager.c:2871 + msgid "No more quoted text" + msgstr "Non c'è altro testo citato" + +-#: pager.c:2914 ++#: pager.c:2888 + msgid "No more unquoted text after quoted text" + msgstr "Non c'è altro testo non citato dopo quello citato" + +-#: pattern.c:220 pattern.c:297 pattern.c:1046 ++#: pattern.c:221 pattern.c:298 pattern.c:1085 + #, c-format + msgid "Error in expression: %s" + msgstr "Errore nell'espressione: %s" + +-#: pattern.c:226 pattern.c:302 pattern.c:1052 ++#: pattern.c:227 pattern.c:303 pattern.c:1091 + msgid "Empty expression" + msgstr "Espressione vuota" + +-#: pattern.c:288 ++#: pattern.c:289 + #, fuzzy + msgid "No search command defined" + msgstr "Il comando della ricerca non è definito" + +-#: pattern.c:326 ++#: pattern.c:327 + #, fuzzy, c-format + msgid "Running search command: %s ..." + msgstr "Richiamo il comando di autovisualizzazione: %s" + +-#: pattern.c:417 ++#: pattern.c:441 pattern.c:456 + #, c-format + msgid "Invalid day of month: %s" + msgstr "Giorno del mese non valido: %s" + +-#: pattern.c:431 ++#: pattern.c:446 pattern.c:470 + #, c-format + msgid "Invalid month: %s" + msgstr "Mese non valido: %s" + +-#: pattern.c:534 ++#: pattern.c:573 + #, c-format + msgid "Invalid relative date: %s" + msgstr "Data relativa non valida: %s" + +-#: pattern.c:842 pattern.c:975 ++#: pattern.c:881 pattern.c:1014 + #, fuzzy + msgid "No current message" + msgstr "Non ci sono messaggi non letti" + +-#: pattern.c:1002 ++#: pattern.c:1041 + msgid "No Context" + msgstr "" + +-#: pattern.c:1125 ++#: pattern.c:1164 + #, fuzzy + msgid "Error opening 'memory stream'" + msgstr "Errore durante l'apertura della mailbox" + +-#: pattern.c:1171 ++#: pattern.c:1210 + #, fuzzy + msgid "Error re-opening 'memory stream'" + msgstr "Errore durante l'apertura della mailbox" + +-#: pattern.c:1180 ++#: pattern.c:1219 + #, fuzzy + msgid "Error opening /dev/null" + msgstr "Impossibile aprire /dev/null" + +-#: pattern.c:1443 pattern.c:1620 ++#: pattern.c:1482 pattern.c:1662 + #, c-format + msgid "error in pattern at: %s" + msgstr "errore nel modello in: %s" + +-#: pattern.c:1476 ++#: pattern.c:1515 + #, c-format + msgid "missing pattern: %s" + msgstr "modello mancante: %s" + +-#: pattern.c:1494 pattern.c:1593 ++#: pattern.c:1533 pattern.c:1635 + #, c-format + msgid "mismatched parentheses: %s" + msgstr "parentesi fuori posto: %s" + +-#: pattern.c:1559 ++#: pattern.c:1598 + #, c-format + msgid "%c: invalid pattern modifier" + msgstr "%c: modello per il modificatore non valido" + +-#: pattern.c:1564 ++#: pattern.c:1603 + #, c-format + msgid "%c: not supported in this mode" + msgstr "%c: non gestito in questa modalità" + +-#: pattern.c:1576 ++#: pattern.c:1618 + msgid "missing parameter" + msgstr "parametro mancante" + +-#: pattern.c:1626 ++#: pattern.c:1668 + msgid "empty pattern" + msgstr "modello vuoto" + +-#: pattern.c:2080 pattern.c:2083 ++#: pattern.c:2202 pattern.c:2205 + msgid "error: server custom search only supported with IMAP" + msgstr "" + +-#: pattern.c:2274 ++#: pattern.c:2398 + #, c-format + msgid "error: unknown op %d (report this error)" + msgstr "errore: unknown op %d (segnala questo errore)" + +-#: pattern.c:2448 pattern.c:2604 ++#: pattern.c:2572 pattern.c:2728 + msgid "Compiling search pattern..." + msgstr "Compilo il modello da cercare..." + +-#: pattern.c:2468 ++#: pattern.c:2592 + msgid "Executing command on matching messages..." + msgstr "Eseguo il comando sui messaggi corrispondenti..." + +-#: pattern.c:2537 ++#: pattern.c:2661 + msgid "No messages matched criteria" + msgstr "Nessun messaggio corrisponde al criterio" + +-#: pattern.c:2641 ++#: pattern.c:2765 + msgid "Searching..." + msgstr "Ricerca..." + +-#: pattern.c:2655 ++#: pattern.c:2779 + msgid "Search hit bottom without finding match" + msgstr "La ricerca è arrivata in fondo senza trovare una corrispondenza" + +-#: pattern.c:2666 ++#: pattern.c:2790 + msgid "Search hit top without finding match" + msgstr "La ricerca è arrivata all'inizio senza trovare una corrispondenza" + +-#: pattern.c:2700 ++#: pattern.c:2824 + msgid "Search interrupted" + msgstr "Ricerca interrotta" + +-#: pop/pop.c:216 pop/pop_lib.c:234 ++#: pop/pop.c:216 pop/pop_lib.c:259 + msgid "Command TOP is not supported by server" + msgstr "Il comando TOP non è gestito dal server" + +@@ -6311,7 +6391,7 @@ msgstr "Il comando TOP non è gestito dal server" + msgid "Can't write header to temporary file" + msgstr "Impossibile scrivere l'header nel file temporaneo" + +-#: pop/pop.c:420 pop/pop_lib.c:236 ++#: pop/pop.c:420 pop/pop_lib.c:261 + msgid "Command UIDL is not supported by server" + msgstr "Il comando UIDL non è gestito dal server" + +@@ -6326,7 +6406,7 @@ msgstr[1] "%d messaggi sono andati persi. Tentativo di riaprire la mailbox." + msgid "POP host is not defined" + msgstr "L'host POP non è stato definito" + +-#: pop/pop.c:596 pop/pop.c:825 ++#: pop/pop.c:596 pop/pop.c:790 pop/pop.c:820 + #, c-format + msgid "%s is an invalid POP path" + msgstr "%s non è un percorso POP valido" +@@ -6359,153 +6439,153 @@ msgid_plural "%s [%d of %d messages read]" + msgstr[0] "%s [%d messaggi letti su %d]" + msgstr[1] "%s [%d messaggi letti su %d]" + +-#: pop/pop.c:876 ++#: pop/pop.c:871 + msgid "Fetching list of messages..." + msgstr "Prendo la lista dei messaggi..." + +-#: pop/pop.c:959 ++#: pop/pop.c:954 + msgid "Marking messages deleted..." + msgstr "Segno i messaggi come cancellati..." + +-#: pop/pop.c:1150 ++#: pop/pop.c:1145 + msgid "Can't write message to temporary file" + msgstr "Impossibile scrivere il messaggio nel file temporaneo" + +-#: pop/pop_auth.c:103 ++#: pop/pop_auth.c:104 + msgid "Authenticating (SASL)..." + msgstr "Autenticazione in corso (SASL)..." + +-#: pop/pop_auth.c:245 ++#: pop/pop_auth.c:246 + msgid "POP timestamp is invalid" + msgstr "Marca temporale POP non valida" + +-#: pop/pop_auth.c:249 ++#: pop/pop_auth.c:250 + msgid "Authenticating (APOP)..." + msgstr "Autenticazione in corso (APOP)..." + +-#: pop/pop_auth.c:269 ++#: pop/pop_auth.c:270 + msgid "APOP authentication failed" + msgstr "Autenticazione APOP fallita" + +-#: pop/pop_auth.c:309 ++#: pop/pop_auth.c:310 + msgid "Command USER is not supported by server" + msgstr "Il comando USER non è gestito dal server" + +-#: pop/pop_auth.c:386 ++#: pop/pop_auth.c:387 + #, fuzzy + msgid "Authentication failed" + msgstr "Autenticazione SASL fallita" + +-#: pop/pop_lib.c:78 ++#: pop/pop_lib.c:103 + #, c-format + msgid "Invalid POP URL: %s" + msgstr "URL del server POP non valido: %s" + +-#: pop/pop_lib.c:232 ++#: pop/pop_lib.c:257 + msgid "Unable to leave messages on server" + msgstr "Impossibile lasciare i messaggi sul server" + +-#: pop/pop_lib.c:274 ++#: pop/pop_lib.c:300 + #, c-format + msgid "Error connecting to server: %s" + msgstr "Errore nella connessione al server: %s" + +-#: pop/pop_lib.c:414 ++#: pop/pop_lib.c:440 + msgid "Closing connection to POP server..." + msgstr "Chiusura della connessione al server POP..." + +-#: pop/pop_lib.c:605 ++#: pop/pop_lib.c:631 + msgid "Verifying message indexes..." + msgstr "Verifica degli indici dei messaggi..." + +-#: pop/pop_lib.c:628 ++#: pop/pop_lib.c:654 + msgid "Connection lost. Reconnect to POP server?" + msgstr "Connessione persa. Riconnettersi al server POP?" + +-#: postpone.c:229 ++#: postpone.c:260 + msgid "Postponed Messages" + msgstr "Messaggi rimandati" + +-#: postpone.c:314 postpone.c:326 ++#: postpone.c:348 postpone.c:372 + msgid "No postponed messages" + msgstr "Non ci sono messaggi rimandati" + +-#: postpone.c:480 ++#: postpone.c:526 + msgid "Illegal S/MIME header" + msgstr "Header S/MIME non consentito" + +-#: postpone.c:510 postpone.c:551 postpone.c:560 ++#: postpone.c:556 postpone.c:597 postpone.c:606 + msgid "Illegal crypto header" + msgstr "Header crittografico non consentito" + +-#: postpone.c:644 postpone.c:752 postpone.c:780 ++#: postpone.c:690 postpone.c:798 postpone.c:826 + msgid "Decrypting message..." + msgstr "Decifratura messaggio..." + +-#: query.c:82 ++#: query.c:80 + msgid "New Query" + msgstr "Nuova ricerca" + +-#: query.c:83 ++#: query.c:81 + msgid "Make Alias" + msgstr "Crea un alias" + +-#: query.c:180 ++#: query.c:178 + msgid "Waiting for response..." + msgstr "In attesa di risposta..." + +-#: query.c:362 query.c:400 ++#: query.c:365 query.c:434 + msgid "Query: " + msgstr "Cerca: " + +-#: query.c:370 query.c:407 ++#: query.c:374 query.c:442 + #, c-format + msgid "Query '%s'" + msgstr "Ricerca '%s'" + +-#: query.c:620 query.c:657 ++#: query.c:661 query.c:698 + msgid "Query command not defined" + msgstr "Il comando della ricerca non è definito" + +-#: recvattach.c:93 ++#: recvattach.c:91 + msgid "Pipe" + msgstr "Pipe" + +-#: recvattach.c:94 ++#: recvattach.c:92 + msgid "Print" + msgstr "Stampa" + +-#: recvattach.c:569 ++#: recvattach.c:571 + msgid "Saving..." + msgstr "Salvataggio..." + +-#: recvattach.c:573 recvattach.c:744 recvattach.c:748 ++#: recvattach.c:575 recvattach.c:746 recvattach.c:750 + #, fuzzy, c-format + msgid "Attachment saved" + msgid_plural "%d attachments saved" + msgstr[0] "Allegato salvato" + msgstr[1] "Allegato salvato" + +-#: recvattach.c:772 ++#: recvattach.c:774 + #, c-format + msgid "WARNING! You are about to overwrite %s, continue?" + msgstr "ATTENZIONE! %s sta per essere sovrascritto, continuare?" + +-#: recvattach.c:790 ++#: recvattach.c:792 + msgid "Attachment filtered" + msgstr "Allegato filtrato" + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Filter through: " + msgstr "Filtra attraverso: " + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Pipe to: " + msgstr "Manda con una pipe a: " + + #. L10N: s gets replaced by a MIME type, e.g. "text/plain" or + #. application/octet-stream. +-#: recvattach.c:935 ++#: recvattach.c:937 + #, fuzzy, c-format + msgid "I don't know how to print %s attachments" + msgstr "Non so come stampare %s allegati" +@@ -6513,57 +6593,57 @@ msgstr "Non so come stampare %s allegati" + #. L10N: Although we now the precise number of tagged messages, we + #. do not show it to the user. So feel free to use a "generic + #. plural" as plural translation if your language has one. +-#: recvattach.c:1038 ++#: recvattach.c:1040 + #, fuzzy, c-format + msgid "Print tagged attachment?" + msgid_plural "Print %d tagged attachments?" + msgstr[0] "Stampare gli allegati segnati?" + msgstr[1] "Stampare gli allegati segnati?" + +-#: recvattach.c:1039 ++#: recvattach.c:1041 + #, c-format + msgid "Print attachment?" + msgstr "Stampare l'allegato?" + +-#: recvattach.c:1123 ++#: recvattach.c:1125 + msgid "Structural changes to decrypted attachments are not supported" + msgstr "" + +-#: recvattach.c:1291 ++#: recvattach.c:1293 + msgid "Can't decrypt encrypted message" + msgstr "Impossibile decifrare il messaggio cifrato" + +-#: recvattach.c:1425 ++#: recvattach.c:1457 + msgid "Attachments" + msgstr "Allegati" + +-#: recvattach.c:1465 ++#: recvattach.c:1497 + msgid "There are no subparts to show" + msgstr "Non ci sono sottoparti da visualizzare" + +-#: recvattach.c:1520 ++#: recvattach.c:1552 + msgid "Can't delete attachment from POP server" + msgstr "Impossibile cancellare l'allegato dal server POP" + +-#: recvattach.c:1529 ++#: recvattach.c:1561 + #, fuzzy + msgid "Can't delete attachment from news server" + msgstr "Impossibile cancellare l'allegato dal server POP" + +-#: recvattach.c:1536 ++#: recvattach.c:1568 + msgid "Deletion of attachments from encrypted messages is unsupported" + msgstr "La cancellazione di allegati da messaggi cifrati non è gestita" + +-#: recvattach.c:1542 ++#: recvattach.c:1574 + #, fuzzy + msgid "Deletion of attachments from signed messages may invalidate the signature" + msgstr "La cancellazione di allegati da messaggi cifrati non è gestita" + +-#: recvattach.c:1561 recvattach.c:1578 ++#: recvattach.c:1593 recvattach.c:1610 + msgid "Only deletion of multipart attachments is supported" + msgstr "È gestita solo la cancellazione degli allegati multiparte" + +-#: recvcmd.c:79 ++#: recvcmd.c:78 + msgid "You may only bounce message/rfc822 parts" + msgstr "Puoi rimbalzare solo parti message/rfc822" + +@@ -6600,7 +6680,7 @@ msgstr "Impossibile creare %s" + msgid "Can't find any tagged messages" + msgstr "Non ci sono messaggi segnati" + +-#: recvcmd.c:848 send.c:1073 ++#: recvcmd.c:848 send.c:1072 + msgid "No mailing lists found" + msgstr "Non è stata trovata alcuna mailing list" + +@@ -6615,67 +6695,67 @@ msgstr "Impossibile decodificare tutti gli allegati segnati. Uso MIME per gli al + msgid "You may only compose to sender with message/rfc822 parts" + msgstr "Puoi rimbalzare solo parti message/rfc822" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Append" + msgstr "Accoda" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Insert" + msgstr "Inserisce" + +-#: remailer.c:78 ++#: remailer.c:76 + msgid "OK" + msgstr "OK" + +-#: remailer.c:210 ++#: remailer.c:207 + msgid "" + msgstr "" + +-#: remailer.c:586 ++#: remailer.c:617 + msgid "Can't get mixmaster's type2.list" + msgstr "Non trovo type2.list di mixmaster" + +-#: remailer.c:612 ++#: remailer.c:673 + msgid "Select a remailer chain" + msgstr "Seleziona una catena di remailer" + +-#: remailer.c:674 ++#: remailer.c:735 + #, c-format + msgid "Error: %s can't be used as the final remailer of a chain" + msgstr "Errore: %s non può essere usato come remailer finale di una catena" + + #. L10N The '%d' here hard-coded to 19 +-#: remailer.c:706 ++#: remailer.c:767 + #, c-format + msgid "Mixmaster chains are limited to %d elements" + msgstr "Le catene mixmaster sono limitate a %d elementi" + +-#: remailer.c:729 ++#: remailer.c:790 + msgid "The remailer chain is already empty" + msgstr "La catena di remailer è già vuota" + +-#: remailer.c:739 ++#: remailer.c:800 + msgid "You already have the first chain element selected" + msgstr "Hai già selezionato il primo elemento della catena" + +-#: remailer.c:749 ++#: remailer.c:810 + msgid "You already have the last chain element selected" + msgstr "Hai già selezionato l'ultimo elemento della catena" + +-#: remailer.c:792 ++#: remailer.c:856 + msgid "Mixmaster doesn't accept Cc or Bcc headers" + msgstr "Mixmaster non accetta header Cc o Bcc" + +-#: remailer.c:817 ++#: remailer.c:881 + msgid "Please set the hostname variable to a proper value when using mixmaster" + msgstr "Impostare la variabile hostname ad un valore corretto quando si usa mixmaster" + +-#: remailer.c:860 ++#: remailer.c:924 + #, c-format + msgid "Error sending message, child exited %d.\n" + msgstr "Errore nell'invio del messaggio, il figlio è uscito con %d.\n" + +-#: remailer.c:864 ++#: remailer.c:928 + msgid "Error sending message" + msgstr "Errore durante l'invio del messaggio" + +@@ -6706,43 +6786,43 @@ msgstr "Inoltro come allegati?" + + #. L10N: Asks whether the user respects the reply-to header. + #. If she says no, neomutt will reply to the from header's address instead. +-#: send.c:793 ++#: send.c:792 + #, c-format + msgid "Reply to %s%s?" + msgstr "Rispondere a %s%s?" + + # FIXME - come tradurre questo messaggio? +-#: send.c:838 ++#: send.c:837 + #, c-format + msgid "Follow-up to %s%s?" + msgstr "Inviare un Follow-up a %s%s?" + +-#: send.c:1122 ++#: send.c:1121 + msgid "Include message in reply?" + msgstr "Includo il messaggio nella risposta?" + +-#: send.c:1128 ++#: send.c:1127 + msgid "Including quoted message..." + msgstr "Includo il messaggio citato..." + +-#: send.c:1137 ++#: send.c:1136 + msgid "Could not include all requested messages" + msgstr "Non ho potuto includere tutti i messaggi richiesti" + +-#: send.c:1148 ++#: send.c:1147 + msgid "Forward as attachment?" + msgstr "Inoltro come allegato?" + +-#: send.c:1153 ++#: send.c:1152 + msgid "Preparing forwarded message..." + msgstr "Preparo il messaggio inoltrato..." + +-#: send.c:1632 ++#: send.c:1631 + #, fuzzy + msgid "Fcc to an IMAP mailbox is not supported in batch mode" + msgstr "%c: non gestito in questa modalità" + +-#: send.c:1664 send.c:1690 ++#: send.c:1665 send.c:1675 send.c:1701 + msgid "Save attachments in Fcc?" + msgstr "Salvare l'allegato in Fcc?" + +@@ -6750,196 +6830,196 @@ msgstr "Salvare l'allegato in Fcc?" + #. (r)etry tries the same mailbox again. + #. alternate (m)ailbox prompts for a different mailbox to try. + #. (s)kip aborts saving. +-#: send.c:1712 ++#: send.c:1723 + msgid "Fcc failed. (r)etry, alternate (m)ailbox, or (s)kip?" + msgstr "" + + #. L10N: These correspond to the "Fcc failed" multi-choice prompt + #. (r)etry, alternate (m)ailbox, or (s)kip. + #. Any similarity to famous leaders of the FSF is coincidental. +-#: send.c:1716 ++#: send.c:1727 + msgid "rms" + msgstr "" + + #. L10N: This is the prompt to enter an "alternate (m)ailbox" when the + #. initial Fcc fails. +-#: send.c:1722 ++#: send.c:1733 + #, fuzzy + msgid "Fcc mailbox" + msgstr "Nessuna mailbox.\n" + +-#: send.c:1788 ++#: send.c:1799 + msgid "Can't postpone. $postponed is unset" + msgstr "" + +-#: send.c:1923 ++#: send.c:1934 + msgid "Recall postponed message?" + msgstr "Richiamare il messaggio rimandato?" + +-#: send.c:2228 ++#: send.c:2239 + msgid "Edit forwarded message?" + msgstr "Modificare il messaggio da inoltrare?" + +-#: send.c:2266 ++#: send.c:2277 + msgid "Abort unmodified message?" + msgstr "Abbandonare il messaggio non modificato?" + +-#: send.c:2268 ++#: send.c:2279 + msgid "Aborted unmodified message" + msgstr "Ho abbandonato il messaggio non modificato" + +-#: send.c:2388 ++#: send.c:2399 + msgid "No crypto backend configured. Disabling message security setting." + msgstr "" + +-#: send.c:2427 ++#: send.c:2438 + #, fuzzy + msgid "Article not posted" + msgstr "Il messaggio non è stato inviato" + +-#: send.c:2437 ++#: send.c:2448 + msgid "Message postponed" + msgstr "Il messaggio è stato rimandato" + +-#: send.c:2470 ++#: send.c:2481 + msgid "No subject, abort sending?" + msgstr "Nessun oggetto, abbandonare l'invio?" + +-#: send.c:2474 send.c:2480 ++#: send.c:2485 send.c:2491 + msgid "No subject specified" + msgstr "Non è stato specificato un oggetto" + +-#: send.c:2486 ++#: send.c:2497 + #, fuzzy + msgid "No newsgroup specified" + msgstr "Non è stato specificato un oggetto" + +-#: send.c:2496 ++#: send.c:2507 + #, fuzzy + msgid "No attachments, cancel sending?" + msgstr "modifica il transfer-encoding dell'allegato" + +-#: send.c:2501 ++#: send.c:2512 + msgid "Message contains text matching \"$abort_noattach_regex\". Not sending." + msgstr "" + +-#: send.c:2559 smtp.c:227 ++#: send.c:2570 smtp.c:230 + msgid "Sending message..." + msgstr "Invio il messaggio..." + +-#: send.c:2598 ++#: send.c:2609 + msgid "Could not send the message" + msgstr "Impossibile spedire il messaggio" + +-#: send.c:2608 ++#: send.c:2619 + msgid "Sending in background" + msgstr "Invio in background" + +-#: send.c:2609 ++#: send.c:2620 + msgid "Article posted" + msgstr "" + +-#: send.c:2610 ++#: send.c:2621 + msgid "Mail sent" + msgstr "Messaggio spedito" + +-#: sendlib.c:567 ++#: sendlib.c:566 + msgid "No boundary parameter found [report this error]" + msgstr "Nessun parametro limite trovato [segnalare questo errore]" + +-#: sendlib.c:598 ++#: sendlib.c:597 + #, c-format + msgid "%s no longer exists" + msgstr "%s non esiste più" + +-#: sendlib.c:1056 ++#: sendlib.c:1055 + #, c-format + msgid "%s isn't a regular file" + msgstr "%s non è un file regolare" + +-#: sendlib.c:1223 ++#: sendlib.c:1222 + #, fuzzy + msgid "Could not find any mime.types file." + msgstr "Impossibile spedire il messaggio." + +-#: sendlib.c:1314 ++#: sendlib.c:1313 + #, c-format + msgid "Could not open %s" + msgstr "Impossibile aprire %s" + +-#: sendlib.c:2864 ++#: sendlib.c:2855 + msgid "$sendmail must be set in order to send mail" + msgstr "" + +-#: sendlib.c:2971 ++#: sendlib.c:2962 + #, c-format + msgid "Error sending message, child exited %d (%s)" + msgstr "Errore nell'invio del messaggio, il figlio è uscito con %d (%s)" + +-#: sendlib.c:2977 ++#: sendlib.c:2969 + msgid "Output of the delivery process" + msgstr "Output del processo di consegna" + +-#: sendlib.c:3157 ++#: sendlib.c:3154 + #, c-format + msgid "Bad IDN %s while preparing resent-from" + msgstr "Trovato l'IDN %s non valido preparando l'header resent-from" + +-#: smtp.c:165 ++#: smtp.c:168 + #, c-format + msgid "SMTP session failed: %s" + msgstr "Sessione SMTP fallita: %s" + +-#: smtp.c:222 ++#: smtp.c:225 + #, c-format + msgid "SMTP session failed: unable to open %s" + msgstr "Sessione SMTP fallita: impossibile aprire %s" + +-#: smtp.c:339 ++#: smtp.c:364 + #, c-format + msgid "Invalid SMTP URL: %s" + msgstr "URL del server SMTP non valido: %s" + +-#: smtp.c:618 ++#: smtp.c:643 + #, c-format + msgid "SMTP authentication method %s requires SASL" + msgstr "" + +-#: smtp.c:625 ++#: smtp.c:650 + #, c-format + msgid "%s authentication failed, trying next method" + msgstr "autenticazione %s fallita, tentativo col metodo successivo" + +-#: smtp.c:636 ++#: smtp.c:661 + #, fuzzy + msgid "SMTP authentication requires SASL" + msgstr "Autenticazione GSSAPI fallita" + +-#: smtp.c:717 ++#: smtp.c:742 + msgid "SMTP server does not support authentication" + msgstr "Il server SMTP non supporta l'autenticazione" + +-#: smtp.c:756 ++#: smtp.c:781 + msgid "No from address given" + msgstr "Nessun indirizzo \"from\" fornito" + +-#: smtp.c:821 ++#: smtp.c:846 + msgid "SMTP session failed: read error" + msgstr "Sessione SMTP fallita: errore di lettura" + +-#: smtp.c:823 ++#: smtp.c:848 + msgid "SMTP session failed: write error" + msgstr "Sessione SMTP fallita: errore di scrittura" + +-#: smtp.c:825 ++#: smtp.c:850 + msgid "Invalid server response" + msgstr "Risposta del server non valida" + +-#: sort.c:385 ++#: sort.c:387 + msgid "Sorting mailbox..." + msgstr "Ordinamento della mailbox..." + +-#: sort.c:427 ++#: sort.c:429 + msgid "Could not find sorting function [report this bug]" + msgstr "Impossibile trovare la funzione di ordinamento [segnala questo bug]" + +@@ -6994,11 +7074,11 @@ msgstr "" + "NeoMutt è software libero e sei invitato a ridistribuirlo\n" + "sotto certe condizioni; scrivere 'neomutt -vv' per i dettagli.\n" + +-#: version.c:446 ++#: version.c:451 + #, fuzzy + msgid "Default options:" + msgstr "Opzioni di compilazione:" + +-#: version.c:449 ++#: version.c:454 + msgid "Compile options:" + msgstr "Opzioni di compilazione:" +diff --git a/po/ja.po b/po/ja.po +index ddf7ddb8f..01fcd2f97 100644 +--- a/po/ja.po ++++ b/po/ja.po +@@ -10,7 +10,7 @@ msgid "" + msgstr "" + "Project-Id-Version: neomutt-2019-12-07\n" + "Report-Msgid-Bugs-To: neomutt-devel@neomutt.org\n" +-"POT-Creation-Date: 2019-12-06 23:10+0000\n" ++"POT-Creation-Date: 2020-03-09 12:15+0000\n" + "PO-Revision-Date: 2018-05-31 13:50+0000\n" + "Last-Translator: TAKAHASHI Tamotsu \n" + "Language-Team: neomutt-j \n" +@@ -20,16 +20,40 @@ msgstr "" + "Content-Transfer-Encoding: 8bit\n" + "Plural-Forms: nplurals=1; plural=0;\n" + +-#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:59 browser.c:80 browser.c:90 +-#: mutt_history.c:45 pager.c:228 postpone.c:68 query.c:80 recvattach.c:93 ++msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" ++msgstr "r:拒否, o:今回のみ承認, a:常に承認, s:無視" ++ ++msgid "roas" ++msgstr "roas" ++ ++msgid "(r)eject, accept (o)nce, (a)ccept always" ++msgstr "r:拒否, o:今回のみ承認, a:常に承認" ++ ++msgid "roa" ++msgstr "roa" ++ ++msgid "(r)eject, accept (o)nce, (s)kip" ++msgstr "r:拒否, o:今回のみ承認, s:無視" ++ ++msgid "ros" ++msgstr "ros" ++ ++msgid "(r)eject, accept (o)nce" ++msgstr "r:拒否, o:今回のみ承認" ++ ++msgid "ro" ++msgstr "ro" ++ ++#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:58 browser.c:79 browser.c:89 ++#: mutt_history.c:45 pager.c:220 postpone.c:68 query.c:78 recvattach.c:91 + msgid "Exit" + msgstr "戻る" + +-#: addrbook.c:56 index.c:116 index.c:129 pager.c:236 pager.c:246 postpone.c:69 ++#: addrbook.c:56 index.c:112 index.c:125 pager.c:228 pager.c:238 postpone.c:69 + msgid "Del" + msgstr "削除" + +-#: addrbook.c:57 index.c:117 index.c:130 postpone.c:70 ++#: addrbook.c:57 index.c:113 index.c:126 postpone.c:70 + msgid "Undel" + msgstr "削除を取り消し" + +@@ -37,18 +61,18 @@ msgstr "削除を取り消し" + msgid "Select" + msgstr "選択" + +-#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:82 browser.c:84 browser.c:96 +-#: compose.c:218 compose.c:230 conn/ssl.c:983 conn/ssl_gnutls.c:691 index.c:122 +-#: index.c:135 mutt_history.c:48 ncrypt/crypt_gpgme.c:4735 ncrypt/pgpkey.c:670 +-#: ncrypt/smime.c:553 pager.c:2326 postpone.c:71 query.c:85 recvattach.c:94 ++#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:81 browser.c:83 browser.c:95 ++#: compose.c:216 compose.c:228 conn/ssl.c:996 conn/ssl_gnutls.c:722 index.c:118 ++#: index.c:131 mutt_history.c:48 ncrypt/crypt_gpgme.c:4783 ncrypt/pgpkey.c:673 ++#: ncrypt/smime.c:555 pager.c:2297 postpone.c:71 query.c:83 recvattach.c:92 + msgid "Help" + msgstr "ヘルプ" + +-#: addrbook.c:208 ++#: addrbook.c:238 + msgid "You have no aliases" + msgstr "別名がない" + +-#: addrbook.c:215 ++#: addrbook.c:276 + msgid "Aliases" + msgstr "別名" + +@@ -57,52 +81,52 @@ msgstr "別名" + msgid "Alias as: " + msgstr "別名入力: " + +-#: alias.c:411 ++#: alias.c:414 + msgid "You already have an alias defined with that name" + msgstr "すでにこの名前の別名がある" + +-#: alias.c:417 ++#: alias.c:420 + msgid "Warning: This alias name may not work. Fix it?" + msgstr "警告: この別名は正常に動作しないかもしれない。修正?" + +-#: alias.c:442 ++#: alias.c:445 + msgid "Address: " + msgstr "アドレス: " + +-#: alias.c:453 commands.c:444 compose.c:744 conn/conn_raw.c:152 +-#: conn/conn_raw.c:210 recvcmd.c:232 send.c:228 ++#: alias.c:457 commands.c:450 compose.c:743 conn/conn_raw.c:152 ++#: conn/conn_raw.c:210 recvcmd.c:231 send.c:227 + #, c-format + msgid "Bad IDN: '%s'" + msgstr "不正な IDN: '%s'" + +-#: alias.c:464 ++#: alias.c:468 + msgid "Personal name: " + msgstr "個人名: " + +-#: alias.c:473 ++#: alias.c:477 + #, c-format + msgid "[%s = %s] Accept?" + msgstr "[%s = %s] 了解?" + +-#: alias.c:484 recvattach.c:528 recvattach.c:550 recvattach.c:564 +-#: recvattach.c:579 recvattach.c:678 ++#: alias.c:488 recvattach.c:530 recvattach.c:552 recvattach.c:566 ++#: recvattach.c:581 recvattach.c:680 + msgid "Save to file: " + msgstr "保存するファイル: " + +-#: alias.c:503 ++#: alias.c:507 + msgid "Error reading alias file" + msgstr "別名ファイルの読み出しエラー" + +-#: alias.c:525 ++#: alias.c:529 + #, fuzzy + msgid "Trouble adding alias" + msgstr "別名ファイルの読み出しエラー" + +-#: alias.c:527 ++#: alias.c:531 + msgid "Alias added" + msgstr "別名を追加した。" + +-#: alias.c:532 ++#: alias.c:536 + msgid "Error seeking in alias file" + msgstr "別名ファイルの末端検出エラー" + +@@ -111,7 +135,7 @@ msgstr "別名ファイルの末端検出エラー" + #. for some reason (e.g. autocrypt, header cache, bcache), but it + #. doesn't exist. The prompt is asking whether to create the directory + #. +-#: autocrypt/autocrypt.c:70 main.c:826 ++#: autocrypt/autocrypt.c:70 main.c:757 + #, c-format + msgid "%s does not exist. Create it?" + msgstr "%s が存在しない。作成?" +@@ -120,8 +144,8 @@ msgstr "%s が存在しない。作成?" + #. mkdir() on the directory %s failed. The second %s is the + #. error message returned by libc + #. +-#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:830 +-#: nntp/newsrc.c:1069 ++#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:761 ++#: nntp/newsrc.c:1098 + #, c-format + msgid "Can't create %s: %s" + msgstr "%s が %s のために作成できない。" +@@ -131,7 +155,7 @@ msgstr "%s が %s のために作成できない。" + #. create $autocrypt_dir and then prompt to create an autocrypt + #. account with this message. + #. +-#: autocrypt/autocrypt.c:156 ++#: autocrypt/autocrypt.c:163 + msgid "Create an initial autocrypt account?" + msgstr "新規 autocrypt アカウントを作成?" + +@@ -140,7 +164,7 @@ msgstr "新規 autocrypt アカウントを作成?" + #. autocrypt account. This will generate a key and add a record + #. to the database for use in autocrypt operations. + #. +-#: autocrypt/autocrypt.c:180 ++#: autocrypt/autocrypt.c:187 + msgid "Autocrypt account address: " + msgstr "autocrypt アカウントのアドレス: " + +@@ -149,7 +173,7 @@ msgstr "autocrypt アカウントのアドレス: " + #. a single address. This is shown if they entered something invalid, + #. nothing, or more than one address for some reason. + #. +-#: autocrypt/autocrypt.c:191 ++#: autocrypt/autocrypt.c:198 + msgid "Please enter a single email address" + msgstr "メールアドレスをひとつだけ入力せよ" + +@@ -158,7 +182,7 @@ msgstr "メールアドレスをひとつだけ入力せよ" + #. if there is already an account in the database with the email address + #. they just entered. + #. +-#: autocrypt/autocrypt.c:208 ++#: autocrypt/autocrypt.c:215 + msgid "That email address already has an autocrypt account" + msgstr "そのアドレスには既に autocrypt アカウントがある" + +@@ -170,14 +194,14 @@ msgstr "そのアドレスには既に autocrypt アカウントがある" + #. Otherwise the UI will show encryption is "available" but the user + #. will be required to enable encryption manually. + #. +-#: autocrypt/autocrypt.c:223 ++#: autocrypt/autocrypt.c:230 + msgid "Prefer encryption?" + msgstr "可能な限り暗号化 (prefer-encrypt)?" + + #. L10N: + #. Message displayed after an autocrypt account is successfully created. + #. +-#: autocrypt/autocrypt.c:236 ++#: autocrypt/autocrypt.c:243 + msgid "Autocrypt account creation succeeded" + msgstr "autocrypt アカウント作成は成功した" + +@@ -185,7 +209,7 @@ msgstr "autocrypt アカウント作成は成功した" + #. Error message displayed if creating an autocrypt account failed + #. or was aborted by the user. + #. +-#: autocrypt/autocrypt.c:242 ++#: autocrypt/autocrypt.c:249 + msgid "Autocrypt account creation aborted" + msgstr "autocrypt アカウント作成は中止された。" + +@@ -194,7 +218,7 @@ msgstr "autocrypt アカウント作成は中止された。" + #. to use to encrypt, but it can't find a valid keyid for this address. + #. The message is printed and they are returned to the compose menu. + #. +-#: autocrypt/autocrypt.c:610 autocrypt/autocrypt.c:639 ++#: autocrypt/autocrypt.c:617 autocrypt/autocrypt.c:646 + #, c-format + msgid "No (valid) autocrypt key found for %s" + msgstr "%s の (正しい) autocrypt 鍵が見つからない。" +@@ -206,12 +230,12 @@ msgstr "%s の (正しい) autocrypt 鍵が見つからない。" + #. and used for encryption. + #. If this is answered yes, they will be prompted for a mailbox. + #. +-#: autocrypt/autocrypt.c:903 ++#: autocrypt/autocrypt.c:910 + msgid "Scan a mailbox for autocrypt headers?" + msgstr "Autocrypt ヘッダをスキャンしたいメールボックスがある?" + + #. L10N: The prompt for a mailbox to scan for Autocrypt: headers +-#: autocrypt/autocrypt.c:907 ++#: autocrypt/autocrypt.c:914 + msgid "Scan mailbox" + msgstr "スキャンするメールボックス" + +@@ -222,21 +246,21 @@ msgstr "スキャンするメールボックス" + #. for a mailbox. This is because this is a one-time operation + #. and I don't want them to accidentally ctrl-g and abort it. + #. +-#: autocrypt/autocrypt.c:927 ++#: autocrypt/autocrypt.c:934 + msgid "Scan another mailbox for autocrypt headers?" + msgstr "Autocrypt ヘッダをスキャンするメールボックスがまだある?" + + #. L10N: Autocrypt Account Menu Help line: + #. create new account + #. +-#: autocrypt/autocrypt_acct_menu.c:63 ++#: autocrypt/autocrypt_acct_menu.c:62 + msgid "Create" + msgstr "作成" + + #. L10N: Autocrypt Account Menu Help line: + #. delete account + #. +-#: autocrypt/autocrypt_acct_menu.c:67 remailer.c:77 ++#: autocrypt/autocrypt_acct_menu.c:66 remailer.c:75 + msgid "Delete" + msgstr "削除" + +@@ -244,9 +268,9 @@ msgstr "削除" + #. toggle an account active/inactive + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:74 ++#: autocrypt/autocrypt_acct_menu.c:73 + msgid "Tgl Active" + msgstr "有効切替" + +@@ -254,17 +278,17 @@ msgstr "有効切替" + #. toggle "prefer-encrypt" on an account + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:81 +-msgid "Prf Enc" ++#: autocrypt/autocrypt_acct_menu.c:80 ++msgid "Prf Encr" + msgstr "暗号優先" + + #. L10N: + #. Autocrypt Account menu. + #. flag that an account has prefer-encrypt set + #. +-#: autocrypt/autocrypt_acct_menu.c:123 ++#: autocrypt/autocrypt_acct_menu.c:122 + msgid "prefer encrypt" + msgstr "可能な限り暗号化" + +@@ -273,7 +297,7 @@ msgstr "可能な限り暗号化" + #. flag that an account has prefer-encrypt unset; + #. thus encryption will need to be manually enabled. + #. +-#: autocrypt/autocrypt_acct_menu.c:130 ++#: autocrypt/autocrypt_acct_menu.c:129 + msgid "manual encrypt" + msgstr "手動でのみ暗号化" + +@@ -281,7 +305,7 @@ msgstr "手動でのみ暗号化" + #. Autocrypt Account menu. + #. flag that an account is enabled/active + #. +-#: autocrypt/autocrypt_acct_menu.c:138 ++#: autocrypt/autocrypt_acct_menu.c:137 + msgid "active" + msgstr "有効" + +@@ -289,12 +313,12 @@ msgstr "有効" + #. Autocrypt Account menu. + #. flag that an account is disabled/inactive + #. +-#: autocrypt/autocrypt_acct_menu.c:144 ++#: autocrypt/autocrypt_acct_menu.c:143 + msgid "inactive" + msgstr "無効" + + #. L10N: Autocrypt Account Management Menu title +-#: autocrypt/autocrypt_acct_menu.c:183 ++#: autocrypt/autocrypt_acct_menu.c:182 + msgid "Autocrypt Accounts" + msgstr "Autocrypt アカウント" + +@@ -302,12 +326,12 @@ msgstr "Autocrypt アカウント" + #. This error message is displayed if a database update of an + #. account record fails for some odd reason. + #. +-#: autocrypt/autocrypt_acct_menu.c:245 autocrypt/autocrypt_acct_menu.c:259 ++#: autocrypt/autocrypt_acct_menu.c:244 autocrypt/autocrypt_acct_menu.c:258 + msgid "Error updating account record" + msgstr "アカウントデータの更新エラー" + + #. L10N: Confirmation message when deleting an autocrypt account +-#: autocrypt/autocrypt_acct_menu.c:302 ++#: autocrypt/autocrypt_acct_menu.c:333 + #, c-format + msgid "Really delete account \"%s\"?" + msgstr "本当にアカウント \"%s\" を削除?" +@@ -325,7 +349,7 @@ msgstr "本当にアカウント \"%s\" を削除?" + msgid "Unable to open autocrypt database %s" + msgstr "autocrypt データベースがオープンできない (%s)" + +-#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:774 ++#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:773 + #, c-format + msgid "error creating gpgme context: %s" + msgstr "gpgme コンテクスト作成エラー: %s" +@@ -398,490 +422,603 @@ msgstr "autocrypt データベースバージョンが新しすぎる" + msgid "Message cache isn't a directory: %s" + msgstr "%s はディレクトリではない。" + +-#: browser.c:81 ++#: browser.c:80 + msgid "Chdir" + msgstr "ディレクトリ変更" + +-#: browser.c:82 ++#: browser.c:81 + msgid "Goto" + msgstr "" + +-#: browser.c:83 browser.c:95 ++#: browser.c:82 browser.c:94 + msgid "Mask" + msgstr "マスク" + +-#: browser.c:91 ++#: browser.c:90 + msgid "List" + msgstr "リスト" + +-#: browser.c:92 ++#: browser.c:91 + #, fuzzy + msgid "Subscribe" + msgstr "%s を購読を開始した" + +-#: browser.c:93 ++#: browser.c:92 + #, fuzzy + msgid "Unsubscribe" + msgstr "%s の購読を取り消した" + +-#: browser.c:94 index.c:134 ++#: browser.c:93 index.c:130 + msgid "Catchup" + msgstr "" + +-#: browser.c:760 browser.c:1519 browser.c:1758 ++#: browser.c:763 browser.c:1584 browser.c:1825 + #, c-format + msgid "%s is not a directory" + msgstr "%s はディレクトリではない。" + +-#: browser.c:1025 ++#: browser.c:1028 + #, fuzzy, c-format + msgid "Subscribed newsgroups" + msgstr "%s を購読を開始した" + +-#: browser.c:1028 ++#: browser.c:1031 + #, c-format + msgid "Newsgroups on server [%s]" + msgstr "" + +-#: browser.c:1038 ++#: browser.c:1041 + #, c-format + msgid "Mailboxes [%d]" + msgstr "メールボックス [%d]" + +-#: browser.c:1050 ++#: browser.c:1053 + #, c-format + msgid "Subscribed [%s], File mask: %s" + msgstr "購読 [%s], ファイルマスク: %s" + +-#: browser.c:1056 ++#: browser.c:1059 + #, c-format + msgid "Directory [%s], File mask: %s" + msgstr "ディレクトリ [%s], ファイルマスク: %s" + +-#: browser.c:1113 ++#: browser.c:1116 + msgid "Can't attach a directory" + msgstr "ディレクトリは添付できない" + +-#: browser.c:1380 browser.c:1814 browser.c:1959 ++#: browser.c:1445 browser.c:1881 browser.c:2026 + msgid "No files match the file mask" + msgstr "ファイルマスクに一致するファイルがない" + +-#: browser.c:1587 ++#: browser.c:1654 + msgid "Create is only supported for IMAP mailboxes" + msgstr "作成機能は IMAP メールボックスのみのサポート" + +-#: browser.c:1609 ++#: browser.c:1676 + msgid "Rename is only supported for IMAP mailboxes" + msgstr "リネーム (移動) 機能は IMAP メールボックスのみのサポート" + +-#: browser.c:1630 ++#: browser.c:1697 + msgid "Delete is only supported for IMAP mailboxes" + msgstr "削除機能は IMAP メールボックスのみのサポート" + +-#: browser.c:1642 ++#: browser.c:1709 + #, fuzzy + msgid "Can't delete currently selected mailbox" + msgstr "選択中のファイル名を表示" + +-#: browser.c:1646 ++#: browser.c:1713 + #, c-format + msgid "Really delete mailbox \"%s\"?" + msgstr "本当にメールボックス \"%s\" を削除?" + +-#: browser.c:1663 ++#: browser.c:1730 + msgid "Mailbox deleted" + msgstr "メールボックスは削除された。" + +-#: browser.c:1667 ++#: browser.c:1734 + msgid "Mailbox deletion failed" + msgstr "メールボックス削除が失敗した。" + +-#: browser.c:1670 ++#: browser.c:1737 + msgid "Mailbox not deleted" + msgstr "メールボックスは削除されなかった。" + +-#: browser.c:1697 ++#: browser.c:1764 + msgid "Chdir to: " + msgstr "ディレクトリ変更先: " + +-#: browser.c:1747 browser.c:1808 ++#: browser.c:1814 browser.c:1875 + msgid "Error scanning directory" + msgstr "ディレクトリのスキャンエラー。" + +-#: browser.c:1769 ++#: browser.c:1836 + msgid "File Mask: " + msgstr "ファイルマスク: " + + #. L10N: The highlighted letters must match the "Sort" options +-#: browser.c:1831 ++#: browser.c:1898 + #, fuzzy + msgid "Reverse sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "逆順の整列 (d)日付, (a)ABC順, (z)サイズ, (n)整列しない" + + #. L10N: The highlighted letters must match the "Reverse Sort" options +-#: browser.c:1834 ++#: browser.c:1901 + #, fuzzy + msgid "Sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "整列 (d)日付, (a)ABC順, (z)サイズ, (n)整列しない" + + #. L10N: These must match the highlighted letters from "Sort" and "Reverse Sort" +-#: browser.c:1837 ++#: browser.c:1904 + msgid "dazecwn" + msgstr "" + +-#: browser.c:1948 ++#: browser.c:2015 + msgid "New file name: " + msgstr "新規ファイル名: " + +-#: browser.c:1976 ++#: browser.c:2043 + msgid "Can't view a directory" + msgstr "ディレクトリは閲覧できない" + +-#: browser.c:1993 ++#: browser.c:2060 + msgid "Error trying to view file" + msgstr "ファイル閲覧エラー" + +-#: browser.c:2079 ++#: browser.c:2146 + #, fuzzy, c-format + msgid "Subscribe pattern: " + msgstr "%s を購読を開始した" + +-#: browser.c:2081 ++#: browser.c:2148 + #, fuzzy, c-format + msgid "Unsubscribe pattern: " + msgstr "%s の購読を取り消した" + +-#: browser.c:2101 ++#: browser.c:2169 + msgid "No newsgroups match the mask" + msgstr "マスクに一致するニュースグループがない" + +-#: color.c:633 color.c:644 +-#, c-format +-msgid "%s: color not supported by term" +-msgstr "色 %s はこの端末ではサポートされていない" +- +-#: color.c:652 +-#, c-format +-msgid "%s: no such color" +-msgstr "%s という色はない" +- +-#: color.c:717 color.c:740 color.c:751 color.c:842 +-#, c-format +-msgid "%s: no such object" +-msgstr "%s というオブジェクトはない" +- +-#: color.c:731 color.c:868 color.c:1069 color.c:1098 color.c:1122 color.c:1191 +-#: color.c:1214 hook.c:110 hook.c:124 hook.c:367 hook.c:383 init.c:612 +-#: init.c:620 init.c:709 init.c:1099 init.c:1267 init.c:1871 init.c:1929 +-#: keymap.c:1184 score.c:110 +-#, c-format +-msgid "%s: too few arguments" +-msgstr "%s: 引数が少なすぎる" +- +-#: color.c:1142 +-#, c-format +-msgid "%s: no such attribute" +-msgstr "%s という属性はない" +- +-#: color.c:1223 color.c:1329 hook.c:131 hook.c:390 init.c:1123 init.c:2133 +-#: init.c:2611 keymap.c:1116 keymap.c:1289 keymap.c:1442 keymap.c:1506 +-#: mutt_lua.c:483 score.c:119 +-#, c-format +-msgid "%s: too many arguments" +-msgstr "%s: 引数が多すぎる" +- +-#: color.c:1244 +-msgid "default colors not supported" +-msgstr "既定値の色がサポートされていない" +- +-#: color.c:1282 +-#, c-format +-msgid "Maximum quoting level is %d" +-msgstr "" +- +-#: color.c:1319 +-#, fuzzy, c-format +-msgid "%s: invalid number: %s" +-msgstr "エラー: score: 不正な数値" +- + #. L10N: Used for the $crypt_verify_sig prompt +-#: commands.c:230 ++#: commands.c:232 + msgid "Verify signature?" + msgstr "署名を検証?" + +-#: commands.c:257 mbox/mbox.c:1236 ++#: commands.c:259 mbox/mbox.c:1236 + msgid "Could not create temporary file" + msgstr "一時ファイルを作成できなかった" + +-#: commands.c:269 ++#: commands.c:271 + msgid "Can't create display filter" + msgstr "表示用フィルタを作成できない" + +-#: commands.c:302 ++#: commands.c:304 + msgid "Could not copy message" + msgstr "メッセージをコピーできなかった" + +-#: commands.c:338 ++#: commands.c:340 + msgid "S/MIME signature successfully verified" + msgstr "S/MIME 署名の検証に成功した。" + +-#: commands.c:340 ++#: commands.c:342 + msgid "S/MIME certificate owner does not match sender" + msgstr "S/MIME 証明書所有者が送信者に一致しない。" + +-#: commands.c:343 commands.c:353 ++#: commands.c:345 commands.c:355 + msgid "Warning: Part of this message has not been signed" + msgstr "警告: メッセージの一部は署名されていない。" + +-#: commands.c:345 ++#: commands.c:347 + msgid "S/MIME signature could NOT be verified" + msgstr "S/MIME 署名は検証できなかった。" + +-#: commands.c:351 ++#: commands.c:353 + msgid "PGP signature successfully verified" + msgstr "PGP 署名の検証に成功した。" + +-#: commands.c:355 ++#: commands.c:357 + msgid "PGP signature could NOT be verified" + msgstr "PGP 署名は検証できなかった。" + +-#: commands.c:372 compose.c:2116 compress.c:321 curs_lib.c:359 curs_lib.c:646 +-#: index.c:1235 index.c:1285 mutt_attach.c:159 mutt_attach.c:292 pager.c:2460 +-#: sendlib.c:1625 ++#: commands.c:378 compose.c:2187 compress/compress.c:320 gui/curs_lib.c:360 ++#: gui/curs_lib.c:714 index.c:1240 index.c:1290 mutt_attach.c:161 ++#: mutt_attach.c:294 pager.c:2433 sendlib.c:1624 + #, c-format + msgid "Error running \"%s\"" + msgstr "\"%s\" 実行エラー" + +-#: commands.c:382 ++#: commands.c:388 + msgid "Command: " + msgstr "コマンド: " + +-#: commands.c:419 recvcmd.c:191 recvcmd.c:203 ++#: commands.c:425 recvcmd.c:190 recvcmd.c:202 + msgid "Warning: message contains no From: header" + msgstr "警告: メッセージに From: ヘッダがない" + +-#: commands.c:425 recvcmd.c:212 ++#: commands.c:431 recvcmd.c:211 + #, fuzzy + msgid "Bounce message to: " + msgstr "メッセージの再送先: " + +-#: commands.c:427 recvcmd.c:214 ++#: commands.c:433 recvcmd.c:213 + #, fuzzy + msgid "Bounce tagged messages to: " + msgstr "タグ付きメッセージの再送先: " + +-#: commands.c:436 recvcmd.c:224 ++#: commands.c:442 recvcmd.c:223 + msgid "Error parsing address" + msgstr "アドレス解析エラー" + +-#: commands.c:455 recvcmd.c:243 ++#: commands.c:461 recvcmd.c:242 + #, fuzzy, c-format + msgid "Bounce message to %s?" + msgid_plural "Bounce messages to %s?" + msgstr[0] "%s へメッセージ再送" + +-#: commands.c:470 recvcmd.c:257 ++#: commands.c:476 recvcmd.c:257 + #, fuzzy + msgid "Message not bounced" + msgid_plural "Messages not bounced" + msgstr[0] "メッセージは再送されなかった。" + +-#: commands.c:496 recvcmd.c:276 ++#: commands.c:502 recvcmd.c:276 + #, fuzzy + msgid "Message bounced" + msgid_plural "Messages bounced" + msgstr[0] "メッセージを再送した。" + +-#: commands.c:606 commands.c:642 commands.c:662 ++#: commands.c:612 commands.c:648 commands.c:668 + msgid "Can't create filter process" + msgstr "フィルタプロセスを作成できない" + +-#: commands.c:698 ++#: commands.c:704 + msgid "Pipe to command: " + msgstr "コマンドへのパイプ: " + +-#: commands.c:720 ++#: commands.c:726 + msgid "No printing command has been defined" + msgstr "印刷コマンドが未定義。" + +-#: commands.c:732 ++#: commands.c:738 + #, fuzzy + msgid "Print message?" + msgstr "メッセージを印刷?" + +-#: commands.c:733 ++#: commands.c:739 + #, fuzzy + msgid "Print tagged messages?" + msgstr "タグ付きメッセージを印刷?" + +-#: commands.c:739 ++#: commands.c:745 + #, fuzzy + msgid "Message printed" + msgid_plural "Messages printed" + msgstr[0] "メッセージは印刷された" + +-#: commands.c:742 ++#: commands.c:748 + #, fuzzy + msgid "Message could not be printed" + msgid_plural "Messages could not be printed" + msgstr[0] "メッセージは印刷できなかった" + + #. L10N: The highlighted letters must match the "Sort" options +-#: commands.c:759 ++#: commands.c:765 + msgid "Rev-Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "逆順 (d)時 (f)送者 (r)着順 (s)題 (o)宛 (t)スレ (u)無 (z)長 (c)得点 (p)スパム (l)ラベル" + + #. L10N: The highlighted letters must match the "Rev-Sort" options +-#: commands.c:763 ++#: commands.c:769 + msgid "Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "整列 (d)時 (f)送者 (r)着順 (s)題 (o)宛 (t)スレ (u)無 (z)長 (c)得点 (p)スパム (l)ラベル" + + #. L10N: These must match the highlighted letters from "Sort" and "Rev-Sort" +-#: commands.c:767 ++#: commands.c:773 + msgid "dfrsotuzcpl" + msgstr "dfrsotuzcpl" + +-#: commands.c:831 ++#: commands.c:837 + msgid "Shell command: " + msgstr "シェルコマンド: " + +-#: commands.c:1036 ++#: commands.c:1042 + #, fuzzy + msgid "Decode-save to mailbox" + msgstr "メールボックスにデコードして保存" + +-#: commands.c:1036 ++#: commands.c:1042 + #, fuzzy + msgid "Decode-save tagged to mailbox" + msgstr "タグ付きメッセージをメールボックスにデコードして保存" + +-#: commands.c:1038 ++#: commands.c:1044 + #, fuzzy + msgid "Decrypt-save to mailbox" + msgstr "メールボックスに復号化して保存" + +-#: commands.c:1038 ++#: commands.c:1044 + #, fuzzy + msgid "Decrypt-save tagged to mailbox" + msgstr "タグ付きメッセージをメールボックスに復号化して保存" + +-#: commands.c:1040 ++#: commands.c:1046 + #, fuzzy + msgid "Save to mailbox" + msgstr "メールボックスに保存" + +-#: commands.c:1040 ++#: commands.c:1046 + #, fuzzy + msgid "Save tagged to mailbox" + msgstr "タグ付きメッセージをメールボックスに保存" + +-#: commands.c:1045 ++#: commands.c:1051 + #, fuzzy + msgid "Decode-copy to mailbox" + msgstr "メールボックスにデコードしてコピー" + +-#: commands.c:1045 ++#: commands.c:1051 + #, fuzzy + msgid "Decode-copy tagged to mailbox" + msgstr "タグ付きメッセージをメールボックスにデコードしてコピー" + +-#: commands.c:1047 ++#: commands.c:1053 + #, fuzzy + msgid "Decrypt-copy to mailbox" + msgstr "メールボックスに復号化してコピー" + +-#: commands.c:1047 ++#: commands.c:1053 + #, fuzzy + msgid "Decrypt-copy tagged to mailbox" + msgstr "タグ付きメッセージをメールボックスに復号化してコピー" + +-#: commands.c:1049 ++#: commands.c:1055 + #, fuzzy + msgid "Copy to mailbox" + msgstr "メールボックスにコピー" + +-#: commands.c:1049 ++#: commands.c:1055 + #, fuzzy + msgid "Copy tagged to mailbox" + msgstr "タグ付きメッセージをメールボックスにコピー" + +-#: commands.c:1092 ++#: commands.c:1098 + #, c-format + msgid "Copying to %s..." + msgstr "%s にコピー中..." + + #. L10N: e.g. "text/plain; charset=UTF-8; ..." +-#: commands.c:1257 ++#: commands.c:1263 + #, fuzzy + msgid "Content type is too long" + msgstr "Content-Typeを %s に変更した。" + +-#: commands.c:1281 ++#: commands.c:1290 + #, c-format + msgid "Convert to %s upon sending?" + msgstr "送信時に %s に変換?" + +-#: commands.c:1292 ++#: commands.c:1301 + #, c-format + msgid "Content-Type changed to %s" + msgstr "Content-Typeを %s に変更した。" + +-#: commands.c:1297 ++#: commands.c:1306 + #, fuzzy, c-format + msgid "Character set changed to %s; not converting" + msgstr "文字セットを %s に変更した; 変換なし。" + +-#: commands.c:1298 ++#: commands.c:1307 + #, fuzzy, c-format + msgid "Character set changed to %s; converting" + msgstr "文字セットを %s に変更した; 変換あり。" + +-#: compose.c:99 ++#: command_parse.c:83 command_parse.c:211 command_parse.c:219 ++#: command_parse.c:740 command_parse.c:887 command_parse.c:1491 ++#: command_parse.c:1549 gui/color.c:731 gui/color.c:868 gui/color.c:1069 ++#: gui/color.c:1098 gui/color.c:1122 gui/color.c:1191 gui/color.c:1214 ++#: hook.c:110 hook.c:124 hook.c:372 hook.c:388 keymap.c:1182 score.c:110 ++#, c-format ++msgid "%s: too few arguments" ++msgstr "%s: 引数が少なすぎる" ++ ++#: command_parse.c:394 ++msgid "-group: no group name" ++msgstr "-group: グループ名がない" ++ ++#: command_parse.c:404 ++msgid "out of arguments" ++msgstr "引数が少なすぎる" ++ ++#: command_parse.c:445 command_parse.c:1372 ++#, c-format ++msgid "Error: Can't build path of '%s'" ++msgstr "エラー: このパスはビルドできない. '%s'" ++ ++#: command_parse.c:458 ++#, c-format ++msgid "Error: Cyclic sourcing of configuration file '%s'" ++msgstr "エラー: 設定ファイルが巡回している'%s'" ++ ++#: command_parse.c:491 ++#, c-format ++msgid "Error in %s, line %d: %s" ++msgstr "%s 中の %d 行目でエラー: %s" ++ ++#: command_parse.c:502 ++#, fuzzy, c-format ++msgid "Warning in %s, line %d: %s" ++msgstr "%s 中の %d 行目でエラー: %s" ++ ++#: command_parse.c:526 ++#, c-format ++msgid "source: errors in %s" ++msgstr "source: %s 中でエラー" ++ ++#: command_parse.c:526 ++#, c-format ++msgid "source: reading aborted due to too many errors in %s" ++msgstr "source: %s 中にエラーが多すぎるので読み出し中止" ++ ++#: command_parse.c:535 ++#, fuzzy, c-format ++msgid "source: %d warning in %s" ++msgid_plural "source: %d warnings in %s" ++msgstr[0] "source: %s 中でエラー" ++ ++#: command_parse.c:564 ++msgid "alias: no address" ++msgstr "alias (別名): アドレスがない" ++ ++#: command_parse.c:606 ++#, c-format ++msgid "Warning: Bad IDN '%s' in alias '%s'" ++msgstr "警告: 不正な IDN '%s' がエイリアス '%s' 中にある。" ++ ++#: command_parse.c:684 ++msgid "attachments: no disposition" ++msgstr "attachments: 引数 disposition の指定がない" ++ ++#: command_parse.c:695 ++#, fuzzy ++msgid "Current attachments settings:" ++msgstr "添付ファイルの内容説明文を編集" ++ ++#: command_parse.c:725 ++msgid "attachments: invalid disposition" ++msgstr "attachments: 引数 disposition が不正" ++ ++#: command_parse.c:764 command_parse.c:1753 command_parse.c:2205 ++#: gui/color.c:1223 gui/color.c:1329 hook.c:131 hook.c:395 keymap.c:1114 ++#: keymap.c:1287 keymap.c:1440 keymap.c:1504 mutt_lua.c:485 score.c:119 ++#, c-format ++msgid "%s: too many arguments" ++msgstr "%s: 引数が多すぎる" ++ ++#: command_parse.c:801 ++#, c-format ++msgid "%sgroup: missing -rx or -addr" ++msgstr "%sgroup: -rx か -addr が必要。" ++ ++#: command_parse.c:827 ++#, c-format ++msgid "%sgroup: warning: bad IDN '%s'" ++msgstr "%sgroup: 警告: 不正な IDN '%s'。" ++ ++#: command_parse.c:898 ++#, c-format ++msgid "Error: %s" ++msgstr "エラー: '%s'" ++ ++#: command_parse.c:1065 ++msgid "invalid header field" ++msgstr "不正なへッダフィールド" ++ ++#: command_parse.c:1331 command_parse.c:1435 ++#, c-format ++msgid "%s: unknown variable" ++msgstr "%s は不明な変数" ++ ++#: command_parse.c:1528 ++#, c-format ++msgid "%s is unset" ++msgstr "%s は未設定" ++ ++#: command_parse.c:1573 mutt_lua.c:480 ++#, c-format ++msgid "source: error at %s" ++msgstr "source: %s でエラー" ++ ++#: command_parse.c:1581 ++#, fuzzy, c-format ++msgid "source: file %s could not be sourced" ++msgstr "メッセージは印刷できなかった" ++ ++#: command_parse.c:1604 ++msgid "spam: no matching pattern" ++msgstr "spam: 一致するパターンがない" ++ ++#: command_parse.c:1606 ++msgid "nospam: no matching pattern" ++msgstr "nospam: 一致するパターンがない" ++ ++#: command_parse.c:1762 imap/imap.c:1443 ++#, c-format ++msgid "Subscribed to %s" ++msgstr "%s を購読を開始した" ++ ++#: command_parse.c:1766 ++#, fuzzy, c-format ++msgid "Could not subscribe to %s" ++msgstr "%s を購読を開始した" ++ ++#: command_parse.c:1774 command_parse.c:2226 ++#, fuzzy ++msgid "No folder specified" ++msgstr "題名が指定されていない。" ++ ++#: command_parse.c:1943 ++msgid "unattachments: no disposition" ++msgstr "unattachments: 引数 disposition の指定がない" ++ ++#: command_parse.c:1981 ++msgid "unattachments: invalid disposition" ++msgstr "unattachments: 引数 disposition が不正" ++ ++#: command_parse.c:2214 imap/imap.c:1445 ++#, c-format ++msgid "Unsubscribed from %s" ++msgstr "%s の購読を取り消した" ++ ++#: command_parse.c:2218 ++#, fuzzy, c-format ++msgid "Could not unsubscribe from %s" ++msgstr "%s の購読を取り消した" ++ ++#: compose.c:97 + msgid "There are no attachments" + msgstr "添付ファイルがない。" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:166 ++#: compose.c:164 + msgid "From: " + msgstr "From: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:168 send.c:284 ++#: compose.c:166 send.c:284 + msgid "To: " + msgstr "To: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:170 send.c:286 ++#: compose.c:168 send.c:286 + msgid "Cc: " + msgstr "Cc: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:172 send.c:288 ++#: compose.c:170 send.c:288 + msgid "Bcc: " + msgstr "Bcc: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:174 compose.c:1242 send.c:320 ++#: compose.c:172 compose.c:1302 send.c:320 + msgid "Subject: " + msgstr "Subject: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:176 ++#: compose.c:174 + msgid "Reply-To: " + msgstr "Reply-To: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:178 compose.c:1261 ++#: compose.c:176 compose.c:1321 + msgid "Fcc: " + msgstr "Fcc: " + + #. L10N: "Mix" refers to the MixMaster chain for anonymous email +-#: compose.c:181 ++#: compose.c:179 + msgid "Mix: " + msgstr "Mix: " + + #. L10N: Compose menu field. Holds "Encrypt", "Sign" related information +-#: compose.c:184 ++#: compose.c:182 + msgid "Security: " + msgstr "暗号と署名: " + +@@ -892,78 +1029,78 @@ msgstr "暗号と署名: " + #. it should not be longer than the other compose menu fields. + #. Since it shares the row with "Encrypt with:", it should not be longer + #. than 15-20 character cells. +-#: compose.c:192 ncrypt/crypt_gpgme.c:5602 ncrypt/pgp.c:1974 +-#: ncrypt/smime.c:2395 ++#: compose.c:190 ncrypt/crypt_gpgme.c:5682 ncrypt/pgp.c:1976 ++#: ncrypt/smime.c:2429 + msgid "Sign as: " + msgstr "署名に使う鍵: " + + #. L10N: The compose menu autocrypt line +-#: compose.c:195 ++#: compose.c:193 + msgid "Autocrypt: " + msgstr "Autocrypt: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:199 ++#: compose.c:197 + msgid "Newsgroups: " + msgstr "ニュースグループ: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:201 ++#: compose.c:199 + #, fuzzy + msgid "Followup-To: " + msgstr "%s%s へのフォローアップ?" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:203 ++#: compose.c:201 + #, fuzzy + msgid "X-Comment-To: " + msgstr "Reply-To フィールドを編集" + +-#: compose.c:208 compose.c:224 ++#: compose.c:206 compose.c:222 + msgid "Send" + msgstr "送信" + +-#: compose.c:209 compose.c:225 remailer.c:77 ++#: compose.c:207 compose.c:223 remailer.c:75 + msgid "Abort" + msgstr "中止" + + #. L10N: compose menu help line entry +-#: compose.c:211 ++#: compose.c:209 + msgid "To" + msgstr "宛先" + + #. L10N: compose menu help line entry +-#: compose.c:213 ++#: compose.c:211 + msgid "CC" + msgstr "CC" + + #. L10N: compose menu help line entry +-#: compose.c:215 compose.c:227 ++#: compose.c:213 compose.c:225 + msgid "Subj" + msgstr "件名" + +-#: compose.c:216 compose.c:228 compose.c:1556 ++#: compose.c:214 compose.c:226 compose.c:1616 + msgid "Attach file" + msgstr "ファイル添付" + +-#: compose.c:217 compose.c:229 ++#: compose.c:215 compose.c:227 + msgid "Descrip" + msgstr "内容説明" + +-#: compose.c:226 ++#: compose.c:224 + #, fuzzy + msgid "Newsgroups" + msgstr "題名が指定されていない。" + + #. L10N: Autocrypt recommendation flag: off. + #. * This is displayed when Autocrypt is turned off. +-#: compose.c:239 compose.c:473 ++#: compose.c:237 compose.c:472 + msgid "Off" +-msgstr "" ++msgstr "機能オフ" + + #. L10N: Autocrypt recommendation flag: no. + #. * This is displayed when Autocrypt cannot encrypt to the recipients. +-#: compose.c:242 ++#: compose.c:240 + msgid "No" + msgstr "暗号化不可" + +@@ -971,7 +1108,7 @@ msgstr "暗号化不可" + #. * This is displayed when Autocrypt believes encryption should not be used. + #. * This might occur if one of the recipient Autocrypt Keys has not been + #. * used recently, or if the only key available is a Gossip Header key. +-#: compose.c:247 ++#: compose.c:245 + msgid "Discouraged" + msgstr "暗号化非推奨" + +@@ -979,14 +1116,14 @@ msgstr "暗号化非推奨" + #. * This is displayed when Autocrypt believes encryption is possible, but + #. * leaves enabling it up to the sender. Probably because "prefer encrypt" + #. * is not set in both the sender and recipient keys. +-#: compose.c:252 ++#: compose.c:250 + msgid "Available" + msgstr "選択可能" + + #. L10N: Autocrypt recommendation flag: yes. + #. * This is displayed when Autocrypt would normally enable encryption + #. * automatically. +-#: compose.c:256 ++#: compose.c:254 + msgid "Yes" + msgstr "暗号化する" + +@@ -996,7 +1133,7 @@ msgstr "暗号化する" + #. (c)lear sets cleartext. + #. (a)utomatic defers to the recommendation. + #. +-#: compose.c:338 ++#: compose.c:337 + msgid "Autocrypt: (e)ncrypt, (c)lear, (a)utomatic?" + msgstr "Autocrypt: e:暗号化, c:なし, a:自動選択 " + +@@ -1004,51 +1141,51 @@ msgstr "Autocrypt: e:暗号化, c:なし, a:自動選択 " + #. The letter corresponding to the compose menu autocrypt prompt + #. (e)ncrypt, (c)lear, (a)utomatic + #. +-#: compose.c:346 ++#: compose.c:345 + msgid "eca" + msgstr "eca" + +-#: compose.c:383 ++#: compose.c:382 + msgid "Not supported" + msgstr "サポートされていない" + +-#: compose.c:390 ++#: compose.c:389 + msgid "Sign, Encrypt" + msgstr "署名 + 暗号化" + +-#: compose.c:395 compose.c:468 ++#: compose.c:394 compose.c:467 + msgid "Encrypt" + msgstr "暗号化" + +-#: compose.c:400 ++#: compose.c:399 + msgid "Sign" + msgstr "署名" + +-#: compose.c:406 ++#: compose.c:405 + msgid "None" + msgstr "なし" + +-#: compose.c:415 ++#: compose.c:414 + msgid " (inline PGP)" + msgstr " (インライン PGP)" + +-#: compose.c:417 ++#: compose.c:416 + msgid " (PGP/MIME)" + msgstr " (PGP/MIME)" + +-#: compose.c:420 ++#: compose.c:419 + msgid " (S/MIME)" + msgstr " (S/MIME)" + +-#: compose.c:424 ++#: compose.c:423 + msgid " (OppEnc mode)" + msgstr " (日和見暗号)" + +-#: compose.c:436 compose.c:445 ++#: compose.c:435 compose.c:444 + msgid "" + msgstr "<既定値>" + +-#: compose.c:452 ++#: compose.c:451 + msgid "Encrypt with: " + msgstr " 暗号化方式: " + +@@ -1057,11 +1194,11 @@ msgstr " 暗号化方式: " + #. Displays the output of the recommendation engine + #. (Off, No, Discouraged, Available, Yes) + #. +-#: compose.c:483 ++#: compose.c:482 + msgid "Recommendation: " + msgstr "暗号推奨: " + +-#: compose.c:547 ++#: compose.c:546 + msgid "" + msgstr "" + +@@ -1072,7 +1209,7 @@ msgstr "" + #. The filename is located last to avoid a long path hiding the + #. error message. + #. +-#: compose.c:601 ++#: compose.c:600 + #, c-format + msgid "Attachment #%d no longer exists: %s" + msgstr "添付ファイル #%d はもはや存在しない: %s" +@@ -1084,239 +1221,359 @@ msgstr "添付ファイル #%d はもはや存在しない: %s" + #. The filename is located last to avoid a long path hiding the + #. prompt question. + #. +-#: compose.c:621 ++#: compose.c:620 + #, c-format + msgid "Attachment #%d modified. Update encoding for %s?" + msgstr "添付ファイル #%d は変更された。エンコード更新? (%s)" + +-#: compose.c:716 ++#: compose.c:715 + msgid "-- Attachments" + msgstr "-- 添付ファイル" + +-#: compose.c:770 ++#: compose.c:769 + msgid "You may not delete the only attachment" + msgstr "唯一の添付ファイルを削除してはいけない。" + +-#: compose.c:1296 edit.c:538 send.c:2462 ++#: compose.c:1356 edit.c:536 send.c:2473 + #, c-format + msgid "Bad IDN in '%s': '%s'" + msgstr "'%s' 中に不正な IDN: '%s'" + +-#: compose.c:1347 ++#: compose.c:1407 + #, fuzzy + msgid "Attachment is already at top" + msgstr "添付ファイルを保存した。" + +-#: compose.c:1352 compose.c:1368 ++#: compose.c:1412 compose.c:1428 + #, fuzzy + msgid "The fundamental part can't be moved" + msgstr "現在の添付ファイルは変換されない。" + +-#: compose.c:1363 ++#: compose.c:1423 + #, fuzzy + msgid "Attachment is already at bottom" + msgstr "添付ファイルはコマンドを通してある。" + +-#: compose.c:1381 ++#: compose.c:1441 + msgid "Grouping 'alternatives' requires at least 2 tagged messages" + msgstr "" + +-#: compose.c:1462 ++#: compose.c:1522 + msgid "Grouping 'multilingual' requires at least 2 tagged messages" + msgstr "" + +-#: compose.c:1475 ++#: compose.c:1535 + msgid "Not all parts have 'Content-Language' set, continue?" + msgstr "" + +-#: compose.c:1477 ++#: compose.c:1537 + #, fuzzy + msgid "Not sending this message" + msgstr "メッセージ送信エラー。" + +-#: compose.c:1571 ++#: compose.c:1631 + #, fuzzy + msgid "Attaching selected file..." + msgid_plural "Attaching selected files..." + msgstr[0] "選択されたファイルを添付中..." + +-#: compose.c:1585 ++#: compose.c:1645 + #, c-format + msgid "Unable to attach %s" + msgstr "%s は添付できない" + +-#: compose.c:1606 ++#: compose.c:1666 + msgid "Open mailbox to attach message from" + msgstr "中のメッセージを添付するためにメールボックスをオープン" + +-#: compose.c:1616 ++#: compose.c:1676 + msgid "Open newsgroup to attach message from" + msgstr "中のメッセージを添付するためにニュースグループをオープン" + +-#: compose.c:1667 ++#: compose.c:1730 + #, c-format + msgid "Unable to open mailbox %s" + msgstr "メールボックス %s がオープンできない" + +-#: compose.c:1676 ++#: compose.c:1739 + msgid "No messages in that folder" + msgstr "そのフォルダにはメッセージがない。" + +-#: compose.c:1686 ++#: compose.c:1749 + msgid "Tag the messages you want to attach" + msgstr "添付したいメッセージにタグを付けよ" + +-#: compose.c:1715 ++#: compose.c:1785 + msgid "Unable to attach" + msgstr "添付できない" + +-#: compose.c:1752 ++#: compose.c:1822 + msgid "Recoding only affects text attachments" + msgstr "コード変換はテキスト型添付ファイルにのみ有効。" + +-#: compose.c:1757 ++#: compose.c:1827 + msgid "The current attachment won't be converted" + msgstr "現在の添付ファイルは変換されない。" + +-#: compose.c:1759 ++#: compose.c:1829 + msgid "The current attachment will be converted" + msgstr "現在の添付ファイルは変換される。" + +-#: compose.c:1831 ++#: compose.c:1901 + msgid "Empty 'Content-Language'" + msgstr "" + +-#: compose.c:1849 ++#: compose.c:1920 + msgid "Invalid encoding" + msgstr "不正なエンコード法。" + +-#: compose.c:1871 ++#: compose.c:1942 + msgid "Save a copy of this message?" + msgstr "このメッセージのコピーを保存?" + + # OP_COMPOSE_RENAME_ATTACHMENT つまり名前を変えるとき +-#: compose.c:1924 ++#: compose.c:1995 + msgid "Send attachment with name: " + msgstr "添付ファイルを別の名前で送る: " + +-#: compose.c:1939 ++#: compose.c:2010 + msgid "Rename to: " + msgstr "リネーム (移動) 先: " + + # system call の stat() を「属性調査」と訳している + #. L10N: "stat" is a system call. Do "man 2 stat" for more information. +-#: compose.c:1946 editmsg.c:102 editmsg.c:138 sendlib.c:1050 ++#: compose.c:2017 editmsg.c:102 editmsg.c:138 sendlib.c:1049 + #, c-format + msgid "Can't stat %s: %s" + msgstr "%s を属性調査できない: %s" + +-#: compose.c:1966 ++#: compose.c:2037 + msgid "New file: " + msgstr "新規ファイル: " + +-#: compose.c:1984 ++#: compose.c:2055 + msgid "Content-Type is of the form base/sub" + msgstr "Content-Type は base/sub という形式にすること" + +-#: compose.c:1991 ++#: compose.c:2062 + #, c-format + msgid "Unknown Content-Type %s" + msgstr "%s は不明な Content-Type" + +-#: compose.c:1999 ++#: compose.c:2070 + #, c-format + msgid "Can't create file %s" + msgstr "ファイル %s を作成できない" + +-#: compose.c:2008 ++#: compose.c:2079 + msgid "What we have here is a failure to make an attachment" + msgstr "つまり添付ファイルの作成に失敗したということだ" + +-#: compose.c:2073 ++#: compose.c:2144 + #, fuzzy + msgid "Save (postpone) draft message?" + msgstr "書きかけのメッセージを呼び出す?" + +-#: compose.c:2133 ++#: compose.c:2204 + msgid "Write message to mailbox" + msgstr "メッセージをメールボックスに書き込む" + +-#: compose.c:2136 ++#: compose.c:2207 + #, c-format + msgid "Writing message to %s ..." + msgstr "メッセージを %s に書き込み中..." + +-#: compose.c:2143 ++#: compose.c:2214 + msgid "Message written" + msgstr "メッセージは書き込まれた。" + +-#: compose.c:2154 ++#: compose.c:2225 + msgid "No PGP backend configured" + msgstr "PGP バックエンドが設定されていない" + +-#: compose.c:2161 compose.c:2225 ++#: compose.c:2232 compose.c:2296 + msgid "S/MIME already selected. Clear and continue?" + msgstr "S/MIME が既に選択されている。解除して継続?" + +-#: compose.c:2186 ++#: compose.c:2257 + msgid "No S/MIME backend configured" + msgstr "S/MIME バックエンドが設定されていない" + +-#: compose.c:2194 ++#: compose.c:2265 + msgid "PGP already selected. Clear and continue?" + msgstr "PGP が既に選択されている。解除して継続?" + +-#: compress.c:355 compress.c:499 ++#: compress/compress.c:354 compress/compress.c:498 + #, c-format + msgid "Can't append without an append-hook or close-hook : %s" + msgstr "append-hook か close-hook がないと追加できない : %s" + +-#: compress.c:444 compress.c:511 compress.c:590 compress.c:628 mbox/mbox.c:1208 ++#: compress/compress.c:443 compress/compress.c:510 compress/compress.c:589 ++#: compress/compress.c:627 mbox/mbox.c:1208 + msgid "Unable to lock mailbox" + msgstr "メールボックスロック不能" + +-#: compress.c:448 compress.c:518 compress.c:594 ++#: compress/compress.c:447 compress/compress.c:517 compress/compress.c:593 + #, c-format + msgid "Decompressing %s" + msgstr "%s を展開中" + +-#: compress.c:457 ++#: compress/compress.c:456 + msgid "Can't identify the contents of the compressed file" + msgstr "圧縮ファイルの内容を識別できない" + +-#: compress.c:464 compress.c:539 ++#: compress/compress.c:463 compress/compress.c:538 + #, c-format + msgid "Can't find mailbox ops for mailbox type %d" + msgstr "メールボックス形式 %d に合う関数が見つからない" + +-#: compress.c:521 ++#: compress/compress.c:520 + #, c-format + msgid "Compress command failed: %s" + msgstr "圧縮コマンドが失敗した: %s" + +-#: compress.c:532 ++#: compress/compress.c:531 + msgid "Unsupported mailbox type for appending" + msgstr "追加を未サポートのメールボックス形式。" + +-#: compress.c:618 ++#: compress/compress.c:617 + msgid "Can't sync a compressed file without a close-hook" + msgstr "close-hook がないと圧縮ファイルを同期できない" + +-#: compress.c:640 compress.c:692 ++#: compress/compress.c:639 compress/compress.c:691 + #, c-format + msgid "Compressing %s" + msgstr "%s を圧縮中" + +-#: compress.c:687 ++#: compress/compress.c:686 + #, c-format + msgid "Compressed-appending to %s..." + msgstr "%s に圧縮追加中..." + +-#: compress.c:699 editmsg.c:247 ++#: compress/compress.c:698 editmsg.c:247 + #, c-format + msgid "Error. Preserving temporary file: %s" + msgstr "エラー。一時ファイル %s は保管" + ++#: config/bool.c:70 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %s" ++msgstr "%s は不正な相対月日" ++ ++#: config/bool.c:131 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %ld" ++msgstr "%s は不正な相対月日" ++ ++#: config/enum.c:62 ++#, fuzzy, c-format ++msgid "Invalid enum value: %s" ++msgstr "エラー: score: 不正な数値" ++ ++#: config/enum.c:149 ++#, fuzzy, c-format ++msgid "Invalid enum value: %ld" ++msgstr "変数 %s には不正な値: \"%s\"" ++ ++#: config/long.c:50 ++#, fuzzy, c-format ++msgid "Invalid long: %s" ++msgstr "%s は不正な月" ++ ++#: config/long.c:56 config/long.c:114 config/number.c:68 config/number.c:133 ++#, fuzzy, c-format ++msgid "Option %s may not be negative" ++msgstr "オプション %s はセットできない, もしくはpagerによりリセットされた" ++ ++#: config/number.c:49 config/sort.c:145 config/string.c:75 config/string.c:159 ++#, fuzzy, c-format ++msgid "Option %s may not be empty" ++msgstr "オプション %s はセットできない, もしくはpagerによりリセットされた" ++ ++#: config/number.c:56 ++#, fuzzy, c-format ++msgid "Invalid number: %s" ++msgstr "エラー: score: 不正な数値" ++ ++#: config/number.c:62 ++#, c-format ++msgid "Number is too big: %s" ++msgstr "" ++ ++#: config/number.c:127 ++#, fuzzy, c-format ++msgid "Invalid number: %ld" ++msgstr "エラー: score: 不正な数値" ++ ++#: config/quad.c:69 ++#, fuzzy, c-format ++msgid "Invalid quad value: %s" ++msgstr "%s は不正な相対月日" ++ ++#: config/quad.c:133 ++#, fuzzy, c-format ++msgid "Invalid quad value: %ld" ++msgstr "変数 %s には不正な値: \"%s\"" ++ ++#: config/set.c:102 ++#, c-format ++msgid "No such variable: %s" ++msgstr "" ++ ++#: config/set.c:134 config/set.c:821 ++#, fuzzy, c-format ++msgid "Variable '%s' has an invalid type %d" ++msgstr "エラー: 値 '%s' は -d には不正。" ++ ++#: config/set.c:399 config/set.c:463 config/set.c:528 config/set.c:601 ++#: config/set.c:671 config/set.c:744 ++#, fuzzy, c-format ++msgid "Unknown variable '%s'" ++msgstr "%s は不明な変数" ++ ++#: config/sort.c:192 ++#, fuzzy, c-format ++msgid "Invalid sort name: %s" ++msgstr "%s は不正な相対月日" ++ ++#: config/sort.c:322 ++#, fuzzy, c-format ++msgid "Invalid sort type: %ld" ++msgstr "%s は不正な相対月日" ++ ++#. L10N: Example: Username at myhost.com ++#: conn/connaccount.c:61 ++#, c-format ++msgid "Username at %s: " ++msgstr "%s のユーザ名: " ++ ++#: conn/connaccount.c:117 ++#, c-format ++msgid "Password for %s@%s: " ++msgstr "%s@%s のパスワード: " ++ ++#. L10N: You will see this error message if (1) you have "oauthbearer" in ++#. one of your $*_authenticators and (2) you do not have the corresponding ++#. $*_oauth_refresh_command defined. So the message does not mean "None of ++#. your $*_oauth_refresh_command's are defined." ++#: conn/connaccount.c:165 ++#, fuzzy ++msgid "No OAUTH refresh command defined" ++msgstr "問い合わせコマンドは定義されていない。" ++ ++#: conn/connaccount.c:173 ++msgid "Unable to run refresh command" ++msgstr "refreshコマンドが実行できない" ++ ++#: conn/connaccount.c:184 ++msgid "Command returned empty string" ++msgstr "コマンドの戻り値が空文字列(empty string)" ++ ++#: conn/connaccount.c:191 ++#, c-format ++msgid "OAUTH token is too big: %ld" ++msgstr "" ++ + #: conn/conn_raw.c:160 conn/conn_raw.c:218 + #, c-format + msgid "Looking up %s..." +@@ -1337,7 +1594,7 @@ msgstr "%s に接続中..." + msgid "Could not connect to %s (%s)" + msgstr "%s に接続できなかった (%s)。" + +-#: conn/conn_raw.c:260 conn/ssl.c:1230 curs_lib.c:568 mutt_logging.c:149 ++#: conn/conn_raw.c:260 conn/ssl.c:1245 gui/curs_lib.c:569 mutt_logging.c:147 + msgid "unknown error" + msgstr "不明なエラー" + +@@ -1351,23 +1608,23 @@ msgstr "%s への交信エラー (%s)。" + msgid "Connection to %s has been aborted" + msgstr "%s への接続を終了した" + +-#: conn/sasl.c:565 ++#: conn/sasl.c:547 + msgid "Unknown SASL profile" + msgstr "不明な SASL プロファイル" + +-#: conn/sasl.c:598 ++#: conn/sasl.c:580 + msgid "Error allocating SASL connection" + msgstr "SASL 接続の割り当てエラー" + +-#: conn/sasl.c:608 ++#: conn/sasl.c:590 + msgid "Error setting SASL security properties" + msgstr "SASL セキュリティ情報の設定エラー" + +-#: conn/sasl.c:619 ++#: conn/sasl.c:601 + msgid "Error setting SASL external security strength" + msgstr "SASL 外部セキュリティ強度の設定エラー" + +-#: conn/sasl.c:629 ++#: conn/sasl.c:611 + msgid "Error setting SASL external user name" + msgstr "SASL 外部ユーザ名の設定エラー" + +@@ -1380,133 +1637,109 @@ msgstr "事前接続コマンドが失敗。" + msgid "Connection to %s closed" + msgstr "%s への接続を終了した" + +-#: conn/ssl.c:237 ++#: conn/ssl.c:222 + #, c-format + msgid "Filling entropy pool: %s..." + msgstr "乱雑さプールを充填中: %s..." + +-#: conn/ssl.c:243 ++#: conn/ssl.c:228 + #, c-format + msgid "%s has insecure permissions" + msgstr "%s に脆弱なパーミッションがある" + +-#: conn/ssl.c:385 ++#: conn/ssl.c:369 + msgid "SSL disabled due to the lack of entropy" + msgstr "乱雑さ不足のため SSL は無効になった" + +-#: conn/ssl.c:402 ++#: conn/ssl.c:386 + msgid "Unknown" + msgstr "不明" + +-#: conn/ssl.c:421 conn/ssl_gnutls.c:186 ++#: conn/ssl.c:405 conn/ssl_gnutls.c:188 + #, c-format + msgid "[unable to calculate]" + msgstr "[計算不能]" + +-#: conn/ssl.c:446 ++#: conn/ssl.c:430 + msgid "[invalid date]" + msgstr "[不正な日付]" + +-#: conn/ssl.c:506 ++#: conn/ssl.c:490 + msgid "Server certificate is not yet valid" + msgstr "サーバの証明書はまだ有効でない" + +-#: conn/ssl.c:516 ++#: conn/ssl.c:500 + msgid "Server certificate has expired" + msgstr "サーバの証明書が期限切れ" + +-#: conn/ssl.c:605 ++#: conn/ssl.c:589 + msgid "Failed to find enough entropy on your system" + msgstr "実行中のシステムには十分な乱雑さを見つけられなかった" + +-#: conn/ssl.c:799 ++#: conn/ssl.c:783 + msgid "can't get certificate subject" + msgstr "証明書の subject を得られない" + +-#: conn/ssl.c:808 conn/ssl.c:816 ++#: conn/ssl.c:792 conn/ssl.c:800 + msgid "can't get certificate common name" + msgstr "証明書の common name を得られない" + +-#: conn/ssl.c:830 ++#: conn/ssl.c:814 + #, c-format + msgid "certificate owner does not match hostname %s" + msgstr "証明書所有者がホスト名に一致しない: %s" + +-#: conn/ssl.c:904 conn/ssl_gnutls.c:539 ++#: conn/ssl.c:917 conn/ssl_gnutls.c:570 + msgid "This certificate belongs to:" + msgstr "この証明書の所属先:" + +-#: conn/ssl.c:913 conn/ssl_gnutls.c:593 ++#: conn/ssl.c:926 conn/ssl_gnutls.c:624 + msgid "This certificate was issued by:" + msgstr "この証明書の発行元:" + +-#: conn/ssl.c:922 conn/ssl_gnutls.c:604 ++#: conn/ssl.c:935 conn/ssl_gnutls.c:635 + msgid "This certificate is valid" + msgstr "この証明書の有効期間は" + +-#: conn/ssl.c:923 conn/ssl_gnutls.c:608 ++#: conn/ssl.c:936 conn/ssl_gnutls.c:639 + #, c-format + msgid " from %s" + msgstr " %s から" + +-#: conn/ssl.c:925 conn/ssl_gnutls.c:612 ++#: conn/ssl.c:938 conn/ssl_gnutls.c:643 + #, c-format + msgid " to %s" + msgstr " %s まで" + +-#: conn/ssl.c:931 conn/ssl_gnutls.c:617 +-#, c-format +-msgid "SHA1 Fingerprint: %s" +-msgstr "SHA1 フィンガープリント: %s" +- +-#: conn/ssl.c:937 conn/ssl.c:940 conn/ssl_gnutls.c:623 conn/ssl_gnutls.c:625 +-#, fuzzy +-msgid "SHA256 Fingerprint: " +-msgstr "SHA1 フィンガープリント: %s" +- +-#: conn/ssl.c:944 conn/ssl_gnutls.c:664 +-#, c-format +-msgid "SSL Certificate check (certificate %zu of %zu in chain)" +-msgstr "SSL 証明書検査 (連鎖内 %2$zu のうち %1$zu 個目)" +- +-#. L10N: These four letters correspond to the choices in the next four strings: +-#. (r)eject, accept (o)nce, (a)ccept always, (s)kip. +-#. These prompts are the interactive certificate confirmation prompts for +-#. an OpenSSL connection. +-#: conn/ssl.c:964 +-msgid "roas" +-msgstr "roas" +- +-#: conn/ssl.c:968 +-msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" +-msgstr "r:拒否, o:今回のみ承認, a:常に承認, s:無視" +- +-#: conn/ssl.c:970 conn/ssl_gnutls.c:671 +-msgid "(r)eject, accept (o)nce, (a)ccept always" +-msgstr "r:拒否, o:今回のみ承認, a:常に承認" ++#: conn/ssl.c:944 conn/ssl_gnutls.c:648 ++#, c-format ++msgid "SHA1 Fingerprint: %s" ++msgstr "SHA1 フィンガープリント: %s" + +-#: conn/ssl.c:975 +-msgid "(r)eject, accept (o)nce, (s)kip" +-msgstr "r:拒否, o:今回のみ承認, s:無視" ++#: conn/ssl.c:950 conn/ssl.c:953 conn/ssl_gnutls.c:654 conn/ssl_gnutls.c:656 ++#, fuzzy ++msgid "SHA256 Fingerprint: " ++msgstr "SHA1 フィンガープリント: %s" + +-#: conn/ssl.c:977 conn/ssl_gnutls.c:680 +-msgid "(r)eject, accept (o)nce" +-msgstr "r:拒否, o:今回のみ承認" ++#: conn/ssl.c:957 conn/ssl_gnutls.c:695 ++#, c-format ++msgid "SSL Certificate check (certificate %zu of %zu in chain)" ++msgstr "SSL 証明書検査 (連鎖内 %2$zu のうち %1$zu 個目)" + +-#: conn/ssl.c:981 conn/ssl_gnutls.c:689 ncrypt/crypt_gpgme.c:4729 +-#: ncrypt/pgpkey.c:664 ncrypt/smime.c:549 ++#: conn/ssl.c:994 conn/ssl_gnutls.c:720 ncrypt/crypt_gpgme.c:4777 ++#: ncrypt/pgpkey.c:667 ncrypt/smime.c:551 + msgid "Exit " + msgstr "終了 " + +-#: conn/ssl.c:1016 conn/ssl_gnutls.c:742 ++#: conn/ssl.c:1029 conn/ssl_gnutls.c:773 + msgid "Warning: Couldn't save certificate" + msgstr "警告: 証明書を保存できなかった" + +-#: conn/ssl.c:1020 conn/ssl_gnutls.c:746 ++#: conn/ssl.c:1033 conn/ssl_gnutls.c:777 + msgid "Certificate saved" + msgstr "証明書を保存した" + +-#: conn/ssl.c:1132 ++#: conn/ssl.c:1147 + #, c-format + msgid "Certificate host check failed: %s" + msgstr "証明書ホスト検査に不合格: %s" +@@ -1514,15 +1747,15 @@ msgstr "証明書ホスト検査に不合格: %s" + #. L10N: This is a warning when trying to set the host name for + #. * TLS Server Name Indication (SNI). This allows the server to present + #. * the correct certificate if it supports multiple hosts. +-#: conn/ssl.c:1213 conn/ssl_gnutls.c:1072 ++#: conn/ssl.c:1228 conn/ssl_gnutls.c:1105 + msgid "Warning: unable to set TLS SNI host name" + msgstr "警告: TLS SNI のホスト名が設定不能" + +-#: conn/ssl.c:1224 ++#: conn/ssl.c:1239 + msgid "I/O error" + msgstr "I/O エラー" + +-#: conn/ssl.c:1233 ++#: conn/ssl.c:1248 + #, c-format + msgid "SSL failed: %s" + msgstr "SSL は %s で失敗。" +@@ -1530,89 +1763,73 @@ msgstr "SSL は %s で失敗。" + #. L10N: an SSL context is a data structure returned by the OpenSSL + #. function SSL_CTX_new(). In this case it returned NULL: an + #. error condition. +-#: conn/ssl.c:1269 ++#: conn/ssl.c:1284 + msgid "Unable to create SSL context" + msgstr "SSL コンテクスト作成不能" + +-#: conn/ssl.c:1322 ++#: conn/ssl.c:1337 + msgid "Warning: error enabling ssl_verify_partial_chains" + msgstr "警告: ssl_verify_partial_chains エラー" + +-#: conn/ssl_gnutls.c:150 conn/ssl_gnutls.c:784 conn/ssl_gnutls.c:793 ++#: conn/ssl_gnutls.c:152 conn/ssl_gnutls.c:817 conn/ssl_gnutls.c:826 + msgid "Unable to get certificate from peer" + msgstr "接続先から証明書を得られなかった" + +-#: conn/ssl_gnutls.c:155 ++#: conn/ssl_gnutls.c:157 + #, c-format + msgid "Certificate verification error (%s)" + msgstr "証明書の検証エラー (%s)" + +-#: conn/ssl_gnutls.c:162 ++#: conn/ssl_gnutls.c:164 + msgid "Certificate is not X.509" + msgstr "証明書が X.509 でない" + +-#: conn/ssl_gnutls.c:349 conn/ssl_gnutls.c:483 ++#: conn/ssl_gnutls.c:351 conn/ssl_gnutls.c:485 + msgid "Error initialising gnutls certificate data" + msgstr "gnutls 証明書データ初期化エラー" + +-#: conn/ssl_gnutls.c:355 conn/ssl_gnutls.c:489 ++#: conn/ssl_gnutls.c:357 conn/ssl_gnutls.c:491 + msgid "Error processing certificate data" + msgstr "証明書データ処理エラー" + +-#: conn/ssl_gnutls.c:635 ++#: conn/ssl_gnutls.c:666 + msgid "WARNING: Server certificate is not yet valid" + msgstr "警告: サーバの証明書はまだ有効でない" + +-#: conn/ssl_gnutls.c:640 ++#: conn/ssl_gnutls.c:671 + msgid "WARNING: Server certificate has expired" + msgstr "警告: サーバの証明書が期限切れ" + +-#: conn/ssl_gnutls.c:645 ++#: conn/ssl_gnutls.c:676 + msgid "WARNING: Server certificate has been revoked" + msgstr "警告: サーバの証明書が廃棄済み" + +-#: conn/ssl_gnutls.c:650 ++#: conn/ssl_gnutls.c:681 + msgid "WARNING: Server hostname does not match certificate" + msgstr "警告: サーバのホスト名が証明書と一致しない" + +-#: conn/ssl_gnutls.c:655 ++#: conn/ssl_gnutls.c:686 + msgid "WARNING: Signer of server certificate is not a CA" + msgstr "警告: サーバの証明書は署名者が CA でない" + +-#: conn/ssl_gnutls.c:659 conn/ssl_gnutls.c:1004 ++#: conn/ssl_gnutls.c:690 conn/ssl_gnutls.c:1037 + msgid "Warning: Server certificate was signed using an insecure algorithm" + msgstr "警告: 安全でないアルゴリズムで署名されたサーバ証明書" + +-#. L10N: These three letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce, (a)ccept always. +-#. This is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:676 +-msgid "roa" +-msgstr "roa" +- +-#. L10N: These two letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce. +-#. These is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:685 +-msgid "ro" +-msgstr "ro" +- +-#: conn/ssl_gnutls.c:950 conn/ssl_gnutls.c:992 ++#: conn/ssl_gnutls.c:983 conn/ssl_gnutls.c:1025 + msgid "All available protocols for TLS/SSL connection disabled" + msgstr "TLS/SSL 接続に利用可能なプロトコルがすべて無効" + +-#: conn/ssl_gnutls.c:999 ++#: conn/ssl_gnutls.c:1032 + msgid "Explicit ciphersuite selection via $ssl_ciphers not supported" + msgstr "$ssl_ciphers による明示的な暗号スイート選択はサポートされていない" + +-#: conn/ssl_gnutls.c:1120 ++#: conn/ssl_gnutls.c:1153 + #, c-format + msgid "SSL/TLS connection using %s (%s/%s/%s)" + msgstr "%s を使った SSL/TLS 接続 (%s/%s/%s)" + +-#: conn/ssl_gnutls.c:1175 conn/ssl_gnutls.c:1204 ++#: conn/ssl_gnutls.c:1210 conn/ssl_gnutls.c:1239 + msgid "Error: no TLS socket open" + msgstr "エラー: TLS ソケットが開いていない" + +@@ -1631,37 +1848,17 @@ msgstr "%s へのトンネル交信エラー: %s" + msgid "Tunnel to %s returned error %d (%s)" + msgstr "%s へのトンネルがエラー %d (%s) を返した" + +-#: copy.c:660 ++#: copy.c:662 + #, c-format + msgid "The length calculation was wrong by %ld byte" + msgid_plural "The length calculation was wrong by %ld bytes" + msgstr[0] "" + +-#: copy.c:744 ++#: copy.c:746 + msgid "No decryption engine available for message" + msgstr "利用できる復号化エンジンがない" + +-#: curs_lib.c:378 +-msgid "yes" +-msgstr "yes" +- +-#: curs_lib.c:379 +-msgid "no" +-msgstr "no" +- +-#: curs_lib.c:518 +-msgid "Exit NeoMutt?" +-msgstr "NeoMutt を抜ける?" +- +-#: curs_lib.c:597 +-msgid "Press any key to continue..." +-msgstr "続けるには何かキーを..." +- +-#: curs_lib.c:705 +-msgid " ('?' for list): " +-msgstr "('?' で一覧): " +- +-#: edit.c:64 ++#: edit.c:62 + msgid "" + "~~ insert a line beginning with a single ~\n" + "~b users add users to the Bcc: field\n" +@@ -1683,7 +1880,7 @@ msgstr "" + "~M messages ヘッダを含めることを除けば ~m と同じ\n" + "~p メッセージを印刷\n" + +-#: edit.c:75 ++#: edit.c:73 + msgid "" + "~q write file and quit editor\n" + "~r file read a file into the editor\n" +@@ -1705,20 +1902,20 @@ msgstr "" + "~? このメッセージ\n" + ". この文字のみの行で入力を終了\n" + +-#: edit.c:261 ++#: edit.c:259 + #, c-format + msgid "%d: invalid message number.\n" + msgstr "%d は不正なメッセージ番号。\n" + +-#: edit.c:416 ++#: edit.c:414 + msgid "(End message with a . on a line by itself)\n" + msgstr "(メッセージの終了は . のみの行を入力)\n" + +-#: edit.c:474 ++#: edit.c:472 + msgid "No mailbox.\n" + msgstr "メールボックスの指定がない。\n" + +-#: edit.c:478 ++#: edit.c:476 + msgid "Message contains:\n" + msgstr "メッセージ内容:\n" + +@@ -1727,19 +1924,19 @@ msgstr "メッセージ内容:\n" + #. not IN the middle of the content. + #. So it doesn't mean "(message will continue)" + #. but means "(press any key to continue using neomutt)". +-#: edit.c:486 edit.c:547 ++#: edit.c:484 edit.c:545 + msgid "(continue)\n" + msgstr "(継続せよ)\n" + +-#: edit.c:499 ++#: edit.c:497 + msgid "missing filename.\n" + msgstr "ファイル名の指定がない。\n" + +-#: edit.c:519 ++#: edit.c:517 + msgid "No lines in message.\n" + msgstr "メッセージに内容が一行もない。\n" + +-#: edit.c:558 ++#: edit.c:556 + #, c-format + msgid "%s: unknown editor command (~? for help)\n" + msgstr "%s は不明なエディタコマンド (~? でヘルプ)\n" +@@ -1787,19 +1984,73 @@ msgstr "フォルダに追加できない: %s" + msgid "multipart message has no boundary parameter" + msgstr "マルチパートのメッセージだが boundary パラメータがない" + +-#: flags.c:382 index.c:2561 index.c:2604 index.c:3134 index.c:3171 ++#: flags.c:381 index.c:2587 index.c:2630 index.c:3160 index.c:3197 + #: mutt_thread.c:1091 mutt_thread.c:1158 mutt_thread.c:1246 + msgid "Threading is not enabled" + msgstr "スレッド表示が有効になっていない。" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Set flag" + msgstr "フラグ設定" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Clear flag" + msgstr "フラグ解除" + ++#: gui/color.c:633 gui/color.c:644 ++#, c-format ++msgid "%s: color not supported by term" ++msgstr "色 %s はこの端末ではサポートされていない" ++ ++#: gui/color.c:652 ++#, c-format ++msgid "%s: no such color" ++msgstr "%s という色はない" ++ ++#: gui/color.c:717 gui/color.c:740 gui/color.c:751 gui/color.c:842 ++#, c-format ++msgid "%s: no such object" ++msgstr "%s というオブジェクトはない" ++ ++#: gui/color.c:1142 ++#, c-format ++msgid "%s: no such attribute" ++msgstr "%s という属性はない" ++ ++#: gui/color.c:1244 ++msgid "default colors not supported" ++msgstr "既定値の色がサポートされていない" ++ ++#: gui/color.c:1282 ++#, c-format ++msgid "Maximum quoting level is %d" ++msgstr "" ++ ++#: gui/color.c:1319 ++#, fuzzy, c-format ++msgid "%s: invalid number: %s" ++msgstr "エラー: score: 不正な数値" ++ ++#: gui/curs_lib.c:379 ++msgid "yes" ++msgstr "yes" ++ ++#: gui/curs_lib.c:380 ++msgid "no" ++msgstr "no" ++ ++#: gui/curs_lib.c:519 ++msgid "Exit NeoMutt?" ++msgstr "NeoMutt を抜ける?" ++ ++#: gui/curs_lib.c:598 ++msgid "Press any key to continue..." ++msgstr "続けるには何かキーを..." ++ ++#: gui/curs_lib.c:749 ++msgid " ('?' for list): " ++msgstr "('?' で一覧): " ++ + #: handler.c:102 + #, fuzzy, c-format + msgid "[-- Type: %s/%s%s%s, Encoding: %s, Size: %s --]\n" +@@ -1820,24 +2071,24 @@ msgstr "[-- %s を使った自動表示 --]\n" + msgid "Invoking autoview command: %s" + msgstr "自動表示コマンド %s 起動" + +-#: handler.c:591 mutt_attach.c:527 mutt_attach.c:714 mutt_attach.c:745 +-#: mutt_attach.c:1087 mutt_attach.c:1152 ncrypt/pgpkey.c:723 +-#: ncrypt/pgpkey.c:920 ++#: handler.c:590 mutt_attach.c:555 mutt_attach.c:747 mutt_attach.c:778 ++#: mutt_attach.c:1120 mutt_attach.c:1185 ncrypt/pgpkey.c:756 ++#: ncrypt/pgpkey.c:955 + msgid "Can't create filter" + msgstr "フィルタを作成できない" + +-#: handler.c:595 ++#: handler.c:594 + #, c-format + msgid "[-- Can't run %s. --]\n" + msgstr "[-- %s を実行できない。 --]\n" + +-#: handler.c:614 handler.c:635 ++#: handler.c:613 handler.c:634 + #, c-format + msgid "[-- Autoview stderr of %s --]\n" + msgstr "[-- %s の標準エラー出力を自動表示 --]\n" + + # 「指定」って必要?はみでそうなんですけど +-#: handler.c:764 ++#: handler.c:763 + msgid "[-- Error: message/external-body has no access-type parameter --]\n" + msgstr "[-- エラー: message/external-body に access-type パラメータの指定がない --]\n" + +@@ -1856,7 +2107,7 @@ msgstr "[-- エラー: message/external-body に access-type パラメータの + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:807 ++#: handler.c:806 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" +@@ -1882,7 +2133,7 @@ msgstr[0] "" + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:830 ++#: handler.c:829 + #, fuzzy, c-format + msgid "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" + msgid_plural "[-- This %s/%s attachment (size %s bytes) has been deleted --]\n" +@@ -1895,7 +2146,7 @@ msgstr[0] "[-- この %s/%s 形式添付ファイル(%s バイト)は削除済 + #. + #. Caution: Argument three %3$ is also defined but should not be used + #. in this translation! +-#: handler.c:848 ++#: handler.c:847 + #, fuzzy + msgid "" + "[-- This %s/%s attachment has been deleted --]\n" +@@ -1907,12 +2158,12 @@ msgstr "" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The first "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:856 ++#: handler.c:855 + #, fuzzy, c-format + msgid "[-- This %s/%s attachment has been deleted --]\n" + msgstr "[-- この %s/%s 形式添付ファイルは削除済み --]\n" + +-#: handler.c:866 ++#: handler.c:865 + #, c-format + msgid "[-- name: %s --]\n" + msgstr "[-- 名前: %s --]\n" +@@ -1921,7 +2172,7 @@ msgstr "[-- 名前: %s --]\n" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:884 ++#: handler.c:883 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -1938,7 +2189,7 @@ msgstr "" + #. The "%s/%s" is a MIME type, e.g. "text/plain". The %s after + #. access-type is an access-type as defined by the MIME RFCs, e.g. "FTP", + #. "LOCAL-FILE", "MAIL-SERVER". +-#: handler.c:905 ++#: handler.c:904 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -1947,94 +2198,94 @@ msgstr "" + "[-- この %s/%s 形式添付ファイルは含まれておらず、 --]\n" + "[-- かつ、指定された access-type %s は未サポート --]\n" + +-#: handler.c:1090 ++#: handler.c:1089 + msgid "[-- Error: Could not display any parts of Multipart/Alternative --]\n" + msgstr "[-- エラー: どの Multipart/Alternative パートも表示できなかった --]\n" + + #. L10N: %s is the attachment description, filename or form_name. +-#: handler.c:1231 ++#: handler.c:1230 + #, fuzzy, c-format + msgid "[-- Attachment #%d: %s --]\n" + msgstr "[-- 添付ファイル #%d: %s --]\n" + +-#: handler.c:1236 ++#: handler.c:1235 + #, fuzzy, c-format + msgid "[-- Attachment #%d --]\n" + msgstr "[-- 添付ファイル #%d --]\n" + +-#: handler.c:1254 ++#: handler.c:1253 + msgid "One or more parts of this message could not be displayed" + msgstr "メッセージの一部は表示できなかった" + +-#: handler.c:1320 ++#: handler.c:1319 + #, fuzzy + msgid "Unable to open 'memory stream'" + msgstr "一時ファイルをオープンできない" + +-#: handler.c:1330 ++#: handler.c:1329 + msgid "Unable to open temporary file" + msgstr "一時ファイルをオープンできない" + +-#: handler.c:1379 ++#: handler.c:1378 + msgid "failed to re-open 'memory stream'" + msgstr "'memory stream' をリオープンするのに失敗" + +-#: handler.c:1620 ++#: handler.c:1619 + msgid "Error: multipart/signed has no protocol" + msgstr "エラー: multipart/signed にプロトコルがない。" + + #. L10N: %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1694 ++#: handler.c:1693 + #, fuzzy, c-format + msgid "[-- This is an attachment (use '%s' to view this part) --]\n" + msgstr "[-- 添付ファイル (このパートを表示するには '%s' を使用) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". + #. The last %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1701 ++#: handler.c:1700 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported (use '%s' to view this part) --]\n" + msgstr "[-- %s/%s 形式は未サポート (このパートを表示するには '%s' を使用) --]\n" + +-#: handler.c:1709 ++#: handler.c:1708 + #, fuzzy + msgid "[-- This is an attachment (need 'view-attachments' bound to key) --]\n" + msgstr "[-- 添付ファイル (キーに 'view-attachments' を割り当てる必要がある) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1715 ++#: handler.c:1714 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported (need 'view-attachments' bound to key) --]\n" + msgstr "[-- %s/%s 形式は未サポート (キーに 'view-attachments' を割り当てる必要がある) --]\n" + +-#: handler.c:1724 ++#: handler.c:1723 + #, fuzzy + msgid "[-- This is an attachment --]\n" + msgstr "[-- 添付ファイル --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1729 ++#: handler.c:1728 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported --]\n" + msgstr "[-- %s/%s 形式は未サポート --]\n" + +-#: help.c:400 ++#: help.c:401 + msgid "ERROR: please report this bug" + msgstr "エラー: このバグをレポートせよ" + +-#: help.c:455 ++#: help.c:456 + msgid "" + msgstr "<不明>" + +-#: help.c:469 ++#: help.c:470 + msgid "Generic bindings:" + msgstr "一般的なキーバインド:" + +-#: help.c:473 ++#: help.c:474 + msgid "Unbound functions:" + msgstr "未バインドの機能:" + +-#: help.c:481 ++#: help.c:482 + #, c-format + msgid "Help for %s" + msgstr "%s のヘルプ" +@@ -2052,41 +2303,41 @@ msgstr "メールボックス記号ショートカットが空の正規表現に + msgid "badly formatted command string" + msgstr "不適切なコマンド文字列" + +-#: hook.c:461 ++#: hook.c:466 + msgid "unhook: Can't do unhook * from within a hook" + msgstr "unhook: フック内からは unhook * できない" + +-#: hook.c:474 ++#: hook.c:479 + #, c-format + msgid "unhook: unknown hook type: %s" + msgstr "unhook: %s は不明なフックタイプ" + +-#: hook.c:484 ++#: hook.c:489 + #, c-format + msgid "unhook: Can't delete a %s from within a %s" + msgstr "unhook: %s を %s 内から削除できない。" + + #. L10N: '%s' is the (misspelled) name of the menu, e.g. 'index' or 'pager' +-#: icommands.c:259 keymap.c:1161 keymap.c:1346 ++#: icommands.c:261 keymap.c:1159 keymap.c:1344 + #, c-format + msgid "%s: no such menu" + msgstr "%s というメニューはない" + + #. L10N: '%s' is the name of the menu, e.g. 'index' or 'pager', it might + #. L10N: also be 'all' when all menus are affected. +-#: icommands.c:272 ++#: icommands.c:274 + #, fuzzy, c-format + msgid "%s: no binds for this menu" + msgstr "%s というメニューはない" + +-#: icommands.c:272 ++#: icommands.c:274 + #, fuzzy, c-format + msgid "%s: no macros for this menu" + msgstr "%s というメニューはない" + + #. L10N: '%s' is the file name of the temporary file +-#: icommands.c:283 icommands.c:296 icommands.c:316 icommands.c:340 +-#: icommands.c:360 icommands.c:371 imap/message.c:1093 ++#: icommands.c:285 icommands.c:297 icommands.c:317 icommands.c:340 ++#: icommands.c:360 icommands.c:370 imap/message.c:1093 + #, c-format + msgid "Could not create temporary file %s" + msgstr "一時ファイル %s を作成できなかった" +@@ -2124,28 +2375,28 @@ msgstr "GSSAPI 認証に失敗した。" + msgid "LOGIN disabled on this server" + msgstr "LOGIN はこのサーバでは無効になっている" + +-#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:288 ++#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:289 + msgid "Logging in..." + msgstr "ログイン中..." + +-#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:329 ++#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:330 + msgid "Login failed" + msgstr "ログインに失敗した。" + +-#: imap/auth_oauth.c:64 pop/pop_auth.c:346 smtp.c:524 ++#: imap/auth_oauth.c:65 pop/pop_auth.c:347 smtp.c:549 + msgid "Authenticating (OAUTHBEARER)..." + msgstr "認証中 (OAUTHBEARER)..." + +-#: imap/auth_oauth.c:96 ++#: imap/auth_oauth.c:97 + msgid "OAUTHBEARER authentication failed" + msgstr "OAUTHBEARER 認証に失敗した" + +-#: imap/auth_sasl.c:128 nntp/nntp.c:606 nntp/nntp.c:671 smtp.c:443 ++#: imap/auth_sasl.c:128 nntp/nntp.c:608 nntp/nntp.c:673 smtp.c:468 + #, c-format + msgid "Authenticating (%s)..." + msgstr "認証中 (%s)..." + +-#: imap/auth_sasl.c:259 pop/pop_auth.c:200 smtp.c:584 smtp.c:646 ++#: imap/auth_sasl.c:259 pop/pop_auth.c:201 smtp.c:609 smtp.c:671 + msgid "SASL authentication failed" + msgstr "SASL 認証に失敗した" + +@@ -2193,133 +2444,123 @@ msgstr "リネーム (移動) 失敗: %s" + msgid "Mailbox renamed" + msgstr "メールボックスがリネーム (移動) された。" + +-#: imap/command.c:164 ++#: imap/command.c:177 + #, fuzzy, c-format + msgid "Mailbox %s@%s closed" + msgstr "メールボックスを閉じた" + +-#: imap/command.c:1258 imap/command.c:1370 ++#: imap/command.c:1287 imap/command.c:1399 + #, c-format + msgid "Connection to %s timed out" + msgstr "%s への接続がタイムアウトした" + +-#: imap/imap.c:87 ++#: imap/imap.c:93 + #, fuzzy + msgid "This IMAP server is ancient. NeoMutt does not work with it." + msgstr "この IMAP サーバは古い。これでは NeoMutt はうまく機能しない。" + +-#: imap/imap.c:438 ++#: imap/imap.c:444 + #, c-format + msgid "Header search without header name: %s" + msgstr "検索するヘッダ名の指定がない: %s" + +-#: imap/imap.c:468 ++#: imap/imap.c:474 + #, c-format + msgid "Server-side custom search not supported: %s" + msgstr "サーバサイドカスタム検索はサポートされていない: %s" + +-#: imap/imap.c:584 ++#: imap/imap.c:590 + #, c-format + msgid "CREATE failed: %s" + msgstr "CREATE 失敗: %s" + +-#: imap/imap.c:704 ++#: imap/imap.c:710 + #, c-format + msgid "Closing connection to %s..." + msgstr "%s への接続を終了中..." + +-#: imap/imap.c:882 nntp/nntp.c:1889 pop/pop_lib.c:324 smtp.c:687 ++#: imap/imap.c:888 nntp/nntp.c:1891 pop/pop_lib.c:350 smtp.c:712 + msgid "Secure connection with TLS?" + msgstr "TLS を使った安全な接続?" + +-#: imap/imap.c:895 nntp/nntp.c:1910 pop/pop_lib.c:343 smtp.c:702 ++#: imap/imap.c:901 nntp/nntp.c:1912 pop/pop_lib.c:369 smtp.c:727 + msgid "Could not negotiate TLS connection" + msgstr "TLS 接続を確立できなかった" + +-#: imap/imap.c:910 pop/pop_lib.c:360 ++#: imap/imap.c:916 pop/pop_lib.c:386 + msgid "Encrypted connection unavailable" + msgstr "暗号化された接続が利用できない" + +-#: imap/imap.c:1417 ++#: imap/imap.c:1430 + #, c-format + msgid "Subscribing to %s..." + msgstr "%s の購読を開始中..." + +-#: imap/imap.c:1419 ++#: imap/imap.c:1432 + #, c-format + msgid "Unsubscribing from %s..." + msgstr "%s の購読を取り消し中..." + +-#: imap/imap.c:1430 init.c:2142 +-#, c-format +-msgid "Subscribed to %s" +-msgstr "%s を購読を開始した" +- +-#: imap/imap.c:1432 init.c:2620 +-#, c-format +-msgid "Unsubscribed from %s" +-msgstr "%s の購読を取り消した" +- +-#: imap/imap.c:1582 imap/message.c:1674 ++#: imap/imap.c:1595 imap/message.c:1674 + #, fuzzy, c-format + msgid "Copying %d message to %s..." + msgid_plural "Copying %d messages to %s..." + msgstr[0] "%d メッセージを %s にコピー中..." + +-#: imap/imap.c:1599 imap/imap.c:2217 imap/message.c:1713 muttlib.c:1505 ++#: imap/imap.c:1612 imap/imap.c:2254 imap/message.c:1713 muttlib.c:1503 + #, c-format + msgid "Create %s?" + msgstr "%s を作成?" + +-#: imap/imap.c:1667 ++#: imap/imap.c:1685 + msgid "Expunge failed" + msgstr "削除に失敗した" + +-#: imap/imap.c:1683 ++#: imap/imap.c:1701 + #, fuzzy, c-format + msgid "Marking %d message deleted..." + msgid_plural "Marking %d messages deleted..." + msgstr[0] "%d 個のメッセージに削除をマーク中..." + + #. L10N: The plural is chosen by the last %d, i.e. the total number +-#: imap/imap.c:1720 ++#: imap/imap.c:1738 + #, fuzzy, c-format + msgid "Saving changed message... [%d/%d]" + msgid_plural "Saving changed messages... [%d/%d]" + msgstr[0] "メッセージ変更を保存中... [%d/%d]" + +-#: imap/imap.c:1776 ++#: imap/imap.c:1794 + msgid "Error saving flags. Close anyway?" + msgstr "フラグ保存エラー。それでも閉じる?" + +-#: imap/imap.c:1783 ++#: imap/imap.c:1801 + msgid "Error saving flags" + msgstr "フラグ保存エラー" + +-#: imap/imap.c:1808 ++#: imap/imap.c:1826 + msgid "Expunging messages from server..." + msgstr "サーバからメッセージを削除中..." + +-#: imap/imap.c:1814 ++#: imap/imap.c:1832 + msgid "imap_sync_mailbox: EXPUNGE failed" + msgstr "imap_sync_mailbox: 削除に失敗した" + +-#: imap/imap.c:2023 nntp/nntp.c:2486 ++#: imap/imap.c:2058 nntp/nntp.c:2488 + #, c-format + msgid "Selecting %s..." + msgstr "%s を選択中..." + +-#: imap/imap.c:2184 ++#: imap/imap.c:2221 + msgid "Error opening mailbox" + msgstr "メールボックスオープン時エラー" + +-#: imap/imap.c:2330 ++#: imap/imap.c:2367 + #, fuzzy + msgid "IMAP server doesn't support custom flags" + msgstr "SMTP サーバがユーザ認証をサポートしていない" + + # 不正より不信か? +-#: imap/imap.c:2374 ++#: imap/imap.c:2411 + #, fuzzy + msgid "Invalid IMAP flags" + msgstr "不正 " +@@ -2330,7 +2571,7 @@ msgid "Abort download and close mailbox?" + msgstr "ダウンロードを中止してメールボックスを閉じるか?" + + #: imap/message.c:554 mutt/memory.c:58 mutt/memory.c:98 mutt/memory.c:134 +-#: mutt/string.c:1178 mx.c:1176 ++#: mutt/string.c:1201 mx.c:1195 + msgid "Out of memory" + msgstr "メモリ不足" + +@@ -2351,7 +2592,7 @@ msgstr "メッセージヘッダ取得中..." + msgid "Unable to fetch headers from this IMAP server version" + msgstr "このバージョンの IMAP サーバからはへッダを取得できない。" + +-#: imap/message.c:1099 index.c:1548 nntp/nntp.c:1328 pop/pop.c:426 ++#: imap/message.c:1099 index.c:1554 nntp/nntp.c:1330 pop/pop.c:426 + msgid "Fetching message headers..." + msgstr "メッセージヘッダ取得中..." + +@@ -2364,157 +2605,157 @@ msgstr "メッセージをアップロード中..." + msgid "Copying message %d to %s..." + msgstr "メッセージ %d を %s にコピー中..." + +-#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2737 pop/pop.c:1110 ++#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2739 pop/pop.c:1105 + msgid "Fetching message..." + msgstr "メッセージ取得中..." + +-#: imap/message.c:1959 pop/pop.c:1106 ++#: imap/message.c:1959 pop/pop.c:1101 + msgid "The message index is incorrect. Try reopening the mailbox." + msgstr "メッセージ索引が不正。メールボックスを再オープンしてみること。" + +-#: imap/util.c:767 ++#: imap/util.c:796 + msgid "Continue?" + msgstr "継続?" + +-#: index.c:115 index.c:128 ++#: index.c:111 index.c:124 + msgid "Quit" + msgstr "中止" + +-#: index.c:118 index.c:131 recvattach.c:93 ++#: index.c:114 index.c:127 recvattach.c:91 + msgid "Save" + msgstr "保存" + +-#: index.c:119 query.c:81 ++#: index.c:115 query.c:79 + msgid "Mail" + msgstr "メール" + +-#: index.c:120 pager.c:237 ++#: index.c:116 pager.c:229 + msgid "Reply" + msgstr "返信" + +-#: index.c:121 ++#: index.c:117 + msgid "Group" + msgstr "全員に返信" + +-#: index.c:132 pager.c:244 ++#: index.c:128 pager.c:236 + msgid "Post" + msgstr "投稿" + +-#: index.c:133 pager.c:245 ++#: index.c:129 pager.c:237 + #, fuzzy + msgid "Followup" + msgstr "%s%s へのフォローアップ?" + +-#: index.c:190 index.c:1362 ++#: index.c:186 index.c:1367 + msgid "No mailbox is open" + msgstr "開いているメールボックスがない。" + +-#: index.c:196 ++#: index.c:192 + msgid "There are no messages" + msgstr "メッセージがない。" + +-#: index.c:202 ++#: index.c:198 + msgid "No visible messages" + msgstr "可視メッセージがない。" + +-#: index.c:208 mx.c:901 pager.c:223 recvattach.c:80 ++#: index.c:204 mx.c:920 pager.c:215 recvattach.c:78 + msgid "Mailbox is read-only" + msgstr "メールボックスは読み出し専用。" + +-#: index.c:214 pager.c:225 recvattach.c:98 ++#: index.c:210 pager.c:217 recvattach.c:96 + msgid "Function not permitted in attach-message mode" + msgstr "この機能はメッセージ添付モードでは許可されていない。" + + #. L10N: %s is one of the CHECK_ACL entries below. +-#: index.c:239 pager.c:290 ++#: index.c:235 pager.c:282 + #, c-format + msgid "%s: Operation not permitted by ACL" + msgstr "%s: 操作が ACL で許可されていない" + +-#: index.c:430 ++#: index.c:426 + msgid "Can't toggle write on a readonly mailbox" + msgstr "読み出し専用メールボックスでは変更の書き込みを切替できない" + +-#: index.c:437 ++#: index.c:433 + msgid "Changes to folder will be written on folder exit" + msgstr "フォルダ脱出時にフォルダへの変更が書き込まれる。" + +-#: index.c:442 ++#: index.c:438 + msgid "Changes to folder will not be written" + msgstr "フォルダへの変更は書き込まれない。" + +-#: index.c:719 muttlib.c:1490 mx.c:206 mx.c:340 ++#: index.c:714 muttlib.c:1488 mx.c:206 mx.c:338 + #, c-format + msgid "%s is not a mailbox" + msgstr "%s はメールボックスではない" + + # 「不正な可能性あり」だと重大なことのように思えてしまうので変更した。 +-#: index.c:1218 ++#: index.c:1223 + msgid "Mailbox was externally modified. Flags may be wrong." + msgstr "メールボックスが外部から変更された。フラグが正確でないかもしれない。" + +-#: index.c:1227 pager.c:2409 ++#: index.c:1232 pager.c:2379 + msgid "New mail in this mailbox" + msgstr "このメールボックスに新着メール。" + +-#: index.c:1242 ++#: index.c:1247 + msgid "Mailbox was externally modified" + msgstr "メールボックスが外部から変更された。" + +-#: index.c:1369 ++#: index.c:1374 + msgid "No tagged messages" + msgstr "タグ付きメッセージがない。" + +-#: index.c:1373 index.c:1647 menu.c:1423 ++#: index.c:1378 index.c:1653 menu.c:1423 + msgid "Nothing to do" + msgstr "何もしない。" + +-#: index.c:1470 ++#: index.c:1475 + #, fuzzy + msgid "Enter Message-Id: " + msgstr "鍵ID入力: " + +-#: index.c:1481 ++#: index.c:1487 + msgid "Article has no parent reference" + msgstr "" + +-#: index.c:1504 ++#: index.c:1510 + #, fuzzy + msgid "Message is not visible in limited view" + msgstr "ルートメッセージはこの制限された表示範囲では不可視。" + +-#: index.c:1508 ++#: index.c:1514 + #, fuzzy, c-format + msgid "Fetching %s from server..." + msgstr "サーバからメッセージを削除中..." + +-#: index.c:1518 nntp/nntp.c:2772 ++#: index.c:1524 nntp/nntp.c:2774 + #, c-format + msgid "Article %s not found on the server" + msgstr "記事 %s はこのサーバ上で見つからなかった" + +-#: index.c:1544 ++#: index.c:1550 + msgid "No Message-Id. Unable to perform operation." + msgstr "Message-Idがないので操作を実行できない." + +-#: index.c:1623 ++#: index.c:1629 + #, fuzzy + msgid "No deleted messages found in the thread" + msgstr "スレッドのメッセージをすべて削除" + +-#: index.c:1644 ++#: index.c:1650 + msgid "Jump to message: " + msgstr "メッセージ番号を指定: " + +-#: index.c:1650 ++#: index.c:1656 + msgid "Argument must be a message number" + msgstr "引数はメッセージ番号でなければならない。" + +-#: index.c:1652 ++#: index.c:1658 + msgid "Invalid message number" + msgstr "不正なメッセージ番号。" + +-#: index.c:1654 ++#: index.c:1660 + msgid "That message is not visible" + msgstr "そのメッセージは可視ではない。" + +@@ -2527,38 +2768,38 @@ msgstr "そのメッセージは可視ではない。" + #. delete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. + #. +-#: index.c:1692 index.c:3267 pager.c:3064 ++#: index.c:1698 index.c:3293 pager.c:3039 + #, fuzzy + msgid "Can't delete messages" + msgstr "メッセージを削除できない" + +-#: index.c:1695 ++#: index.c:1701 + msgid "Delete messages matching: " + msgstr "メッセージを削除するためのパターン: " + +-#: index.c:1736 ++#: index.c:1742 + msgid "No limit pattern is in effect" + msgstr "現在有効な制限パターンはない。" + + #. L10N: ask for a limit to apply +-#: index.c:1741 ++#: index.c:1747 + #, c-format + msgid "Limit: %s" + msgstr "制限パターン: %s" + +-#: index.c:1778 ++#: index.c:1784 + msgid "Limit to messages matching: " + msgstr "メッセージの表示を制限するパターン: " + +-#: index.c:1809 ++#: index.c:1815 + msgid "To view all messages, limit to \"all\"" + msgstr "メッセージをすべて見るには制限を \"all\" にする。" + +-#: index.c:1821 pager.c:2514 ++#: index.c:1827 pager.c:2487 + msgid "Quit NeoMutt?" + msgstr "NeoMutt を中止?" + +-#: index.c:1924 ++#: index.c:1931 + msgid "Tag messages matching: " + msgstr "メッセージにタグを付けるためのパターン: " + +@@ -2566,203 +2807,203 @@ msgstr "メッセージにタグを付けるためのパターン: " + #. L10N: Due to the implementation details we do not know whether we + #. undelete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:1935 index.c:3807 pager.c:3418 ++#: index.c:1942 index.c:3833 pager.c:3396 + #, fuzzy + msgid "Can't undelete messages" + msgstr "メッセージの削除状態を解除できない" + +-#: index.c:1939 ++#: index.c:1946 + msgid "Undelete messages matching: " + msgstr "メッセージの削除を解除するためのパターン: " + +-#: index.c:1948 ++#: index.c:1955 + msgid "Untag messages matching: " + msgstr "メッセージのタグを外すためのパターン: " + +-#: index.c:1989 ++#: index.c:1996 + msgid "Logged out of IMAP servers" + msgstr "IMAP サーバからログアウトした。" + +-#: index.c:2105 ++#: index.c:2113 + #, fuzzy + msgid "No virtual folder and no Message-Id, aborting" + msgstr "無題で中止する。" + +-#: index.c:2117 index.c:2288 index.c:2310 index.c:2331 ++#: index.c:2125 index.c:2313 index.c:2335 index.c:2356 + msgid "Failed to create query, aborting" + msgstr "クエリの作成に失敗. 中止する." + +-#: index.c:2130 ++#: index.c:2138 + msgid "failed to find message in notmuch database. try running 'notmuch new'." + msgstr "" + +-#: index.c:2139 ++#: index.c:2147 + msgid "Failed to read thread, aborting" + msgstr "スレッドの読み込みに失敗. 中止する." + +-#: index.c:2171 mx.c:1252 mx.c:1272 ++#: index.c:2179 mx.c:1271 mx.c:1291 + #, fuzzy + msgid "Folder doesn't support tagging, aborting" + msgstr "SMTP サーバがユーザ認証をサポートしていない" + +-#: index.c:2188 ++#: index.c:2196 + #, fuzzy + msgid "No tag specified, aborting" + msgstr "無題で中止する。" + +-#: index.c:2198 ++#: index.c:2206 + msgid "Update tags..." + msgstr "タグを更新中..." + +-#: index.c:2238 ++#: index.c:2246 + msgid "Failed to modify tags, aborting" + msgstr "タグの変更に失敗した. 中止する." + +-#: index.c:2284 ++#: index.c:2293 + #, fuzzy + msgid "No query, aborting" + msgstr "無題で中止する。" + +-#: index.c:2299 index.c:2320 ++#: index.c:2324 index.c:2345 + msgid "Windowed queries disabled" + msgstr "" + +-#: index.c:2304 index.c:2325 ++#: index.c:2329 index.c:2350 + msgid "No notmuch vfolder currently loaded" + msgstr "notmuchのバーチャルフォルダを読み込んでいない" + +-#: index.c:2374 ++#: index.c:2399 + msgid "Open mailbox in read-only mode" + msgstr "読み出し専用モードでメールボックスをオープン" + +-#: index.c:2376 ++#: index.c:2401 + msgid "Open mailbox" + msgstr "メールボックスをオープン" + +-#: index.c:2386 ++#: index.c:2411 + msgid "No mailboxes have new mail" + msgstr "新着メールのあるメールボックスはない" + +-#: index.c:2419 ++#: index.c:2444 + msgid "Open newsgroup in read-only mode" + msgstr "読み出し専用モードでニュースグループをオープン" + +-#: index.c:2421 ++#: index.c:2446 + msgid "Open newsgroup" + msgstr "ニュースグループを開く" + +-#: index.c:2538 ++#: index.c:2564 + #, fuzzy + msgid "Exit NeoMutt without saving?" + msgstr "保存しないで NeoMutt を抜ける?" + + #. L10N: CHECK_ACL +-#: index.c:2554 ++#: index.c:2580 + #, fuzzy + msgid "Can't break thread" + msgstr "スレッドをつなげられない" + +-#: index.c:2574 ++#: index.c:2600 + msgid "Thread broken" + msgstr "スレッドが外された" + +-#: index.c:2587 ++#: index.c:2613 + msgid "Thread can't be broken, message is not part of a thread" + msgstr "スレッドを外せない。メッセージがスレッドの一部ではない" + + #. L10N: CHECK_ACL +-#: index.c:2597 ++#: index.c:2623 + msgid "Can't link threads" + msgstr "スレッドをつなげられない" + +-#: index.c:2606 ++#: index.c:2632 + msgid "No Message-ID: header available to link thread" + msgstr "Message-ID ヘッダが利用できないのでスレッドをつなげられない" + +-#: index.c:2608 ++#: index.c:2634 + msgid "First, please tag a message to be linked here" + msgstr "その前に、ここへつなげたいメッセージにタグを付けておくこと" + +-#: index.c:2621 ++#: index.c:2647 + msgid "Threads linked" + msgstr "スレッドがつながった" + +-#: index.c:2624 ++#: index.c:2650 + msgid "No thread linked" + msgstr "スレッドはつながらなかった" + +-#: index.c:2665 index.c:2690 ++#: index.c:2691 index.c:2716 + msgid "You are on the last message" + msgstr "すでに最後のメッセージ。" + +-#: index.c:2673 index.c:2716 ++#: index.c:2699 index.c:2742 + msgid "No undeleted messages" + msgstr "未削除メッセージがない。" + +-#: index.c:2708 index.c:2733 ++#: index.c:2734 index.c:2759 + msgid "You are on the first message" + msgstr "すでに最初のメッセージ。" + +-#: index.c:2874 ++#: index.c:2900 + msgid "No new messages in this limited view" + msgstr "この制限された表示範囲には新着メッセージがない。" + +-#: index.c:2876 ++#: index.c:2902 + msgid "No new messages" + msgstr "新着メッセージがない。" + +-#: index.c:2881 ++#: index.c:2907 + msgid "No unread messages in this limited view" + msgstr "この制限された表示範囲には未読メッセージがない。" + +-#: index.c:2883 ++#: index.c:2909 + msgid "No unread messages" + msgstr "未読メッセージがない。" + +-#: index.c:2893 menu.c:1208 pager.c:2644 pattern.c:2652 ++#: index.c:2919 menu.c:1208 pager.c:2618 pattern.c:2776 + msgid "Search wrapped to top" + msgstr "検索は一番上に戻った。" + +-#: index.c:2898 pager.c:2669 pattern.c:2663 ++#: index.c:2924 pager.c:2643 pattern.c:2787 + msgid "Search wrapped to bottom" + msgstr "検索は一番下に戻った。" + + #. L10N: CHECK_ACL +-#: index.c:2915 ++#: index.c:2941 + msgid "Can't flag message" + msgstr "メッセージにフラグを設定できない" + + #. L10N: CHECK_ACL +-#: index.c:2961 pager.c:3377 ++#: index.c:2987 pager.c:3355 + msgid "Can't toggle new" + msgstr "新着フラグを切替できない" + +-#: index.c:3057 ++#: index.c:3083 + msgid "No more threads" + msgstr "もうスレッドがない。" + +-#: index.c:3059 ++#: index.c:3085 + msgid "You are on the first thread" + msgstr "すでに最初のスレッド。" + +-#: index.c:3156 ++#: index.c:3182 + #, fuzzy + msgid "Thread contains unread or flagged messages" + msgstr "スレッド中に未読メッセージがある。" + + #. L10N: CHECK_ACL +-#: index.c:3215 pager.c:3019 ++#: index.c:3241 pager.c:2994 + msgid "Can't delete message" + msgstr "メッセージを削除できない" + + #. L10N: CHECK_ACL +-#: index.c:3339 ++#: index.c:3365 + msgid "Can't edit message" + msgstr "メッセージを編集できない" + + #. L10N: This is displayed when the x-label on one or more + #. messages is edited. +-#: index.c:3432 pager.c:3495 ++#: index.c:3458 pager.c:3473 + #, fuzzy, c-format + msgid "%d label changed" + msgid_plural "%d labels changed" +@@ -2771,7 +3012,7 @@ msgstr[0] "%d 個のラベルが変更された。" + #. L10N: This is displayed when editing an x-label, but no messages + #. were updated. Possibly due to canceling at the prompt or if the new + #. label is the same as the old label. +-#: index.c:3440 pager.c:3499 ++#: index.c:3466 pager.c:3477 + msgid "No labels changed" + msgstr "ラベルは変更されなかった。" + +@@ -2779,7 +3020,7 @@ msgstr "ラベルは変更されなかった。" + #. L10N: Due to the implementation details we do not know whether we + #. mark zero, 1, 12, ... messages as read. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:3571 ++#: index.c:3597 + #, fuzzy + msgid "Can't mark messages as read" + msgstr "メッセージを既読にマークできない" +@@ -2788,269 +3029,133 @@ msgstr "メッセージを既読にマークできない" + #. L10N: This is the prompt for . Whatever they + #. enter will be prefixed by $mark_macro_prefix and will become + #. a macro hotkey to jump to the currently selected message. +-#: index.c:3612 ++#: index.c:3638 + msgid "Enter macro stroke: " + msgstr "マクロ名を入力: " + + #. L10N: "message hotkey" is the key bindings menu description of a + #. macro created by . +-#: index.c:3620 ++#: index.c:3646 + msgid "message hotkey" + msgstr "(mark-message キー)" + + #. L10N: This is echoed after creates a new hotkey + #. macro. %s is the hotkey string ($mark_macro_prefix followed + #. by whatever they typed at the prompt.) +-#: index.c:3625 ++#: index.c:3651 + #, c-format + msgid "Message bound to %s" + msgstr "メッセージは %s に割り当てられた。" + + #. L10N: This error is printed if can't find a + #. Message-ID for the currently selected message in the index. +-#: index.c:3634 ++#: index.c:3660 + msgid "No message ID to macro" + msgstr "マクロ化するための Message-ID がない。" + +-#: index.c:3688 pager.c:3221 recvattach.c:1646 ++#: index.c:3714 pager.c:3196 recvattach.c:1678 + msgid "Reply by mail as poster prefers?" + msgstr "" + +-#: index.c:3691 pager.c:3182 pager.c:3194 pager.c:3224 ++#: index.c:3717 pager.c:3157 pager.c:3169 pager.c:3199 + msgid "Posting to this group not allowed, may be moderated. Continue?" + msgstr "このニュースグループはモデレートであり、投稿は許可されていない。続ける?" + + #. L10N: CHECK_ACL +-#: index.c:3768 pager.c:3397 ++#: index.c:3794 pager.c:3375 + msgid "Can't undelete message" + msgstr "メッセージの削除状態を解除できない" + +-#: init.c:313 ++#: init.c:223 + #, c-format + msgid "Error in command line: %s" + msgstr "コマンドラインでエラー: %s" + +-#: init.c:315 ++#: init.c:225 + #, fuzzy, c-format + msgid "Warning in command line: %s" + msgstr "コマンドラインでエラー: %s" + +-#: init.c:426 ++#: init.c:336 + msgid "unable to determine nodename via uname()" + msgstr "uname() でノード名を識別できない" + +-#: init.c:580 +-msgid "-group: no group name" +-msgstr "-group: グループ名がない" +- +-#: init.c:590 +-msgid "out of arguments" +-msgstr "引数が少なすぎる" +- +-#: init.c:804 init.c:1752 +-#, c-format +-msgid "Error: Can't build path of '%s'" +-msgstr "エラー: このパスはビルドできない. '%s'" +- +-#: init.c:817 +-#, c-format +-msgid "Error: Cyclic sourcing of configuration file '%s'" +-msgstr "エラー: 設定ファイルが巡回している'%s'" +- +-#: init.c:850 +-#, c-format +-msgid "Error in %s, line %d: %s" +-msgstr "%s 中の %d 行目でエラー: %s" +- +-#: init.c:861 +-#, fuzzy, c-format +-msgid "Warning in %s, line %d: %s" +-msgstr "%s 中の %d 行目でエラー: %s" +- +-#: init.c:885 +-#, c-format +-msgid "source: errors in %s" +-msgstr "source: %s 中でエラー" +- +-#: init.c:885 +-#, c-format +-msgid "source: reading aborted due to too many errors in %s" +-msgstr "source: %s 中にエラーが多すぎるので読み出し中止" +- +-#: init.c:894 +-#, fuzzy, c-format +-msgid "source: %d warning in %s" +-msgid_plural "source: %d warnings in %s" +-msgstr[0] "source: %s 中でエラー" +- +-#: init.c:923 +-msgid "alias: no address" +-msgstr "alias (別名): アドレスがない" +- +-#: init.c:965 +-#, c-format +-msgid "Warning: Bad IDN '%s' in alias '%s'" +-msgstr "警告: 不正な IDN '%s' がエイリアス '%s' 中にある。" +- +-#: init.c:1043 +-msgid "attachments: no disposition" +-msgstr "attachments: 引数 disposition の指定がない" +- +-#: init.c:1054 +-#, fuzzy +-msgid "Current attachments settings:" +-msgstr "添付ファイルの内容説明文を編集" +- +-#: init.c:1084 +-msgid "attachments: invalid disposition" +-msgstr "attachments: 引数 disposition が不正" +- +-#: init.c:1160 +-#, c-format +-msgid "%sgroup: missing -rx or -addr" +-msgstr "%sgroup: -rx か -addr が必要。" +- +-#: init.c:1186 +-#, c-format +-msgid "%sgroup: warning: bad IDN '%s'" +-msgstr "%sgroup: 警告: 不正な IDN '%s'。" +- +-#: init.c:1278 +-#, c-format +-msgid "Error: %s" +-msgstr "エラー: '%s'" +- +-#: init.c:1445 +-msgid "invalid header field" +-msgstr "不正なへッダフィールド" +- +-#: init.c:1711 init.c:1815 +-#, c-format +-msgid "%s: unknown variable" +-msgstr "%s は不明な変数" +- +-#: init.c:1908 +-#, c-format +-msgid "%s is unset" +-msgstr "%s は未設定" +- +-#: init.c:1953 mutt_lua.c:478 +-#, c-format +-msgid "source: error at %s" +-msgstr "source: %s でエラー" +- +-#: init.c:1961 +-#, fuzzy, c-format +-msgid "source: file %s could not be sourced" +-msgstr "メッセージは印刷できなかった" +- +-#: init.c:1984 +-msgid "spam: no matching pattern" +-msgstr "spam: 一致するパターンがない" +- +-#: init.c:1986 +-msgid "nospam: no matching pattern" +-msgstr "nospam: 一致するパターンがない" +- +-#: init.c:2146 +-#, fuzzy, c-format +-msgid "Could not subscribe to %s" +-msgstr "%s を購読を開始した" +- +-#: init.c:2154 init.c:2632 +-#, fuzzy +-msgid "No folder specified" +-msgstr "題名が指定されていない。" +- +-#: init.c:2341 +-msgid "unattachments: no disposition" +-msgstr "unattachments: 引数 disposition の指定がない" +- +-#: init.c:2379 +-msgid "unattachments: invalid disposition" +-msgstr "unattachments: 引数 disposition が不正" +- +-#: init.c:2624 +-#, fuzzy, c-format +-msgid "Could not unsubscribe from %s" +-msgstr "%s の購読を取り消した" +- +-#: init.c:3292 ++#: init.c:1042 + #, c-format + msgid "%s: unknown command" + msgstr "%s: 不明なコマンド" + +-#: init.c:3837 ++#: init.c:1588 + msgid "'charset' must contain exactly one character set name" + msgstr "'charset'はただ1つの文字セットでなければならない" + +-#: init.c:3853 init.c:3877 init.c:3912 ++#: init.c:1604 init.c:1628 init.c:1663 + #, fuzzy, c-format + msgid "Invalid value for option %s: %s" + msgstr "変数 %s には不正な値: \"%s\"" + +-#: init.c:3890 ++#: init.c:1641 + #, c-format + msgid "Option %s may not be set or reset from the pager" + msgstr "オプション %s はセットできない, もしくはpagerによりリセットされた" + +-#: init.c:3928 ++#: init.c:1679 + #, fuzzy, c-format + msgid "Option %s may not be set when in attach-message mode" + msgstr "この機能はメッセージ添付モードでは許可されていない。" + + #. L10N: This applies to the "$wrap_headers" config variable +-#: init.c:3943 ++#: init.c:1694 + #, c-format + msgid "Option %s must between 78 and 998 inclusive" + msgstr "" + +-#: keymap.c:373 keymap.c:381 ++#: keymap.c:371 keymap.c:379 + #, c-format + msgid "Binding '%s' will alias '%s' Before, try: 'bind %s %s noop' https://neomutt.org/guide/configuration.html#bind-warnings" + msgstr "" + +-#: keymap.c:757 ++#: keymap.c:755 + msgid "Macro loop detected" + msgstr "マクロのループが検出された。" + +-#: keymap.c:1064 keymap.c:1099 ++#: keymap.c:1062 keymap.c:1097 + msgid "Key is not bound" + msgstr "キーはバインドされていない。" + +-#: keymap.c:1104 ++#: keymap.c:1102 + #, c-format + msgid "Key is not bound. Press '%s' for help." + msgstr "キーはバインドされていない。'%s' を押すとヘルプ" + +-#: keymap.c:1177 ++#: keymap.c:1175 + #, c-format + msgid "%s: null key sequence" + msgstr "%s: キーシーケンスがない" + +-#: keymap.c:1212 ++#: keymap.c:1210 + #, c-format + msgid "Function '%s' not available for menu '%s'" + msgstr "関数 '%s' は メニュー '%s' で利用できない" + +-#: keymap.c:1495 ++#: keymap.c:1493 + msgid "macro: empty key sequence" + msgstr "macro: キーシーケンスがない" + +-#: keymap.c:1543 ++#: keymap.c:1541 + msgid "exec: no arguments" + msgstr "exec: 引数がない" + +-#: keymap.c:1563 ++#: keymap.c:1561 + #, c-format + msgid "%s: no such function" + msgstr "%s という機能はない" + +-#: keymap.c:1584 ++#: keymap.c:1582 + msgid "Enter keys (^G to abort): " + msgstr "キーを押すと開始 (終了は ^G): " + +-#: keymap.c:1590 ++#: keymap.c:1588 + #, c-format + msgid "Char = %s, Octal = %o, Decimal = %d" + msgstr "文字 = %s, 8進 = %o, 10進 = %d" +@@ -3074,7 +3179,7 @@ msgstr "%s 形式用の mailcap エントリが見つからなかった" + msgid "Scanning %s..." + msgstr "%s をスキャン中..." + +-#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:353 ++#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:351 + #, c-format + msgid "Reading %s..." + msgstr "%s 読み出し中..." +@@ -3089,13 +3194,13 @@ msgid "md_commit_message(): unable to set time on file" + msgstr "_maildir_commit_message(): ファイルに時刻を設定できない" + + #. L10N: Displayed before/as a mailbox is being synced +-#: maildir/shared.c:1723 mbox/mbox.c:1276 mx.c:461 notmuch/mutt_notmuch.c:2364 ++#: maildir/shared.c:1734 mbox/mbox.c:1276 mx.c:459 notmuch/mutt_notmuch.c:2364 + #, c-format + msgid "Writing %s..." + msgstr "%s 書き込み中..." + + #. L10N: Try to limit to 80 columns +-#: main.c:227 ++#: main.c:160 + msgid "" + "usage:\n" + " neomutt [-Enx] [-e ] [-F ] [-H ] [-i ]\n" +@@ -3118,7 +3223,7 @@ msgid "" + msgstr "" + + #. L10N: Try to limit to 80 columns. If more space is needed add an indented line +-#: main.c:247 ++#: main.c:180 + msgid "" + "options:\n" + " -- Special argument forces NeoMutt to stop option parsing and treat\n" +@@ -3161,54 +3266,54 @@ msgid "" + " or exit immediately with exit code 1 otherwise" + msgstr "" + +-#: main.c:312 ++#: main.c:245 + msgid "Error initializing terminal" + msgstr "端末初期化エラー" + +-#: main.c:390 ++#: main.c:323 + msgid "unable to determine username" + msgstr "ユーザ名を識別できない" + +-#: main.c:396 ++#: main.c:329 + msgid "unable to determine home directory" + msgstr "ホームディレクトリを識別できない" + +-#: main.c:640 ++#: main.c:572 + #, c-format + msgid "Error: value '%s' is invalid for -d" + msgstr "エラー: 値 '%s' は -d には不正。" + +-#: main.c:884 ++#: main.c:815 + msgid "Failed to parse mailto: link" + msgstr "\"mailto:\" リンクの解析に失敗" + +-#: main.c:896 send.c:2452 send.c:2456 ++#: main.c:827 send.c:2463 send.c:2467 + msgid "No recipients specified" + msgstr "受信者が指定されていない。" + +-#: main.c:923 ++#: main.c:854 + msgid "Can't use -E flag with stdin" + msgstr "標準入力には -E フラグを使用できない" + +-#: main.c:1007 ++#: main.c:938 + #, fuzzy, c-format + msgid "Can't parse message template: %s" + msgstr "メッセージファイルをオープンできない: %s" + +-#: main.c:1073 mutt_header.c:329 ++#: main.c:1004 mutt_header.c:329 + #, c-format + msgid "%s: unable to attach file" + msgstr "%s: ファイルを添付できない" + +-#: main.c:1156 ++#: main.c:1087 + msgid "No mailbox with new mail" + msgstr "新着メールのあるメールボックスはない。" + +-#: main.c:1180 ++#: main.c:1111 + msgid "No incoming mailboxes defined" + msgstr "到着用メールボックスが未定義。" + +-#: main.c:1230 ++#: main.c:1161 + msgid "Mailbox is empty" + msgstr "メールボックスが空。" + +@@ -3250,52 +3355,52 @@ msgstr "メールボックスを再オープンできなかった" + msgid "Can't write message" + msgstr "メッセージを書き込めない" + +-#: menu.c:632 ++#: menu.c:631 + msgid "Jump to: " + msgstr "移動先インデックス番号を指定: " + +-#: menu.c:641 ++#: menu.c:640 + msgid "Invalid index number" + msgstr "不正なインデックス番号。" + +-#: menu.c:645 menu.c:671 menu.c:744 menu.c:810 menu.c:828 menu.c:843 menu.c:858 +-#: menu.c:873 menu.c:890 menu.c:907 menu.c:1553 ++#: menu.c:644 menu.c:670 menu.c:743 menu.c:809 menu.c:827 menu.c:842 menu.c:857 ++#: menu.c:872 menu.c:889 menu.c:906 menu.c:1553 + msgid "No entries" + msgstr "エントリがない。" + +-#: menu.c:668 ++#: menu.c:667 + msgid "You can't scroll down farther" + msgstr "これより下にはスクロールできない。" + +-#: menu.c:690 ++#: menu.c:689 + msgid "You can't scroll up farther" + msgstr "これより上にはスクロールできない。" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the first page" + msgstr "すでに最初のページ。" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the last page" + msgstr "すでに最後のページ。" + +-#: menu.c:922 ++#: menu.c:921 + msgid "You are on the last entry" + msgstr "すでに最後のエントリ。" + +-#: menu.c:937 ++#: menu.c:936 + msgid "You are on the first entry" + msgstr "すでに最初のエントリ。" + +-#: menu.c:1172 pager.c:2692 pattern.c:2578 ++#: menu.c:1172 pager.c:2666 pattern.c:2702 + msgid "Search for: " + msgstr "検索パターン: " + +-#: menu.c:1173 pager.c:2693 pattern.c:2579 ++#: menu.c:1173 pager.c:2667 pattern.c:2703 + msgid "Reverse search for: " + msgstr "逆順検索パターン: " + +-#: menu.c:1226 pager.c:2641 pager.c:2666 pager.c:2800 pattern.c:2708 ++#: menu.c:1226 pager.c:2615 pager.c:2640 pager.c:2774 pattern.c:2832 + msgid "Not found" + msgstr "見つからなかった。" + +@@ -3338,20 +3443,20 @@ msgstr "flock ロック待ち... %d" + msgid "Bad history file format (line %d)" + msgstr "不正な履歴ファイル形式 (%d 行目)" + +-#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1006 ncrypt/crypt_gpgme.c:2381 +-#: ncrypt/crypt_gpgme.c:2401 ncrypt/crypt_gpgme.c:2460 +-#: ncrypt/crypt_gpgme.c:2477 ncrypt/crypt_gpgme.c:2509 +-#: ncrypt/crypt_gpgme.c:2527 ncrypt/crypt_gpgme.c:2611 +-#: ncrypt/crypt_gpgme.c:3194 ncrypt/crypt_gpgme.c:3292 +-#: ncrypt/crypt_gpgme.c:4373 ncrypt/pgp.c:576 ncrypt/pgp.c:583 ncrypt/pgp.c:896 +-#: ncrypt/pgp.c:1014 ncrypt/pgp.c:1161 ncrypt/pgp.c:1181 ncrypt/pgp.c:1215 +-#: ncrypt/pgp.c:1568 ncrypt/pgpkey.c:708 ncrypt/pgpkey.c:902 +-#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1092 ncrypt/smime.c:1100 +-#: ncrypt/smime.c:1191 ncrypt/smime.c:1299 ncrypt/smime.c:1364 +-#: ncrypt/smime.c:1372 ncrypt/smime.c:1571 ncrypt/smime.c:1967 +-#: ncrypt/smime.c:2046 ncrypt/smime.c:2053 ncrypt/smime.c:2156 +-#: ncrypt/smime.c:2281 ncrypt/smime.c:2297 nntp/nntp.c:1397 nntp/nntp.c:2237 +-#: pattern.c:1132 pop/pop.c:182 ++#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1005 ncrypt/crypt_gpgme.c:2420 ++#: ncrypt/crypt_gpgme.c:2440 ncrypt/crypt_gpgme.c:2499 ++#: ncrypt/crypt_gpgme.c:2516 ncrypt/crypt_gpgme.c:2548 ++#: ncrypt/crypt_gpgme.c:2566 ncrypt/crypt_gpgme.c:2650 ++#: ncrypt/crypt_gpgme.c:3237 ncrypt/crypt_gpgme.c:3335 ++#: ncrypt/crypt_gpgme.c:4421 ncrypt/pgp.c:575 ncrypt/pgp.c:582 ncrypt/pgp.c:895 ++#: ncrypt/pgp.c:1013 ncrypt/pgp.c:1160 ncrypt/pgp.c:1180 ncrypt/pgp.c:1214 ++#: ncrypt/pgp.c:1570 ncrypt/pgpkey.c:741 ncrypt/pgpkey.c:937 ++#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1126 ncrypt/smime.c:1134 ++#: ncrypt/smime.c:1225 ncrypt/smime.c:1333 ncrypt/smime.c:1398 ++#: ncrypt/smime.c:1406 ncrypt/smime.c:1605 ncrypt/smime.c:2001 ++#: ncrypt/smime.c:2080 ncrypt/smime.c:2087 ncrypt/smime.c:2190 ++#: ncrypt/smime.c:2315 ncrypt/smime.c:2331 nntp/nntp.c:1399 nntp/nntp.c:2239 ++#: pattern.c:1171 pop/pop.c:182 + msgid "Can't create temporary file" + msgstr "一時ファイルを作成できない" + +@@ -3370,7 +3475,7 @@ msgstr "レベル %d でデバッグ中。\n" + msgid "Logging at level %d to file '%s'" + msgstr "レベル %d でデバッグ中。\n" + +-#: mutt/path.c:401 ++#: mutt/path.c:420 + #, fuzzy + msgid "Error: converting path to absolute" + msgstr "サーバ %s への接続エラー。" +@@ -3395,17 +3500,17 @@ msgstr "シグナル %d (%s) を受け取った。終了。\n" + msgid "Caught signal %d ... Exiting.\n" + msgstr "シグナル %d を受け取った。終了。\n" + +-#: muttlib.c:490 ++#: muttlib.c:488 + #, c-format + msgid "mutt_randbuf buflen=%zu" + msgstr "" + +-#: muttlib.c:510 ++#: muttlib.c:508 + #, c-format + msgid "open /dev/urandom: %s" + msgstr "" + +-#: muttlib.c:517 ++#: muttlib.c:515 + #, c-format + msgid "read /dev/urandom: %s" + msgstr "" +@@ -3414,149 +3519,121 @@ msgstr "" + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) + #. These three letters correspond to the choices in the string. +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "File is a directory, save under it: (y)es, (n)o, (a)ll?" + msgstr "そこはディレクトリ。その中に保存? (y)する, (n)しない, (a)すべて保存)" + +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "yna" + msgstr "yna" + + # 参考: "Save to file: " => "保存するファイル: " (alias.c, recvattach.c) + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) +-#: muttlib.c:763 ++#: muttlib.c:761 + msgid "File is a directory, save under it?" + msgstr "そこはディレクトリ。その中に保存?" + +-#: muttlib.c:768 ++#: muttlib.c:766 + msgid "File under directory: " + msgstr "ディレクトリ配下のファイル: " + +-#: muttlib.c:781 ++#: muttlib.c:779 + msgid "File exists, (o)verwrite, (a)ppend, or (c)ancel?" + msgstr "ファイルが存在する。(o)上書き, (a)追加, (c)中止" + + #. L10N: Options for: File exists, (o)verwrite, (a)ppend, or (c)ancel? +-#: muttlib.c:783 ++#: muttlib.c:781 + msgid "oac" + msgstr "oac" + +-#: muttlib.c:1458 ++#: muttlib.c:1456 + msgid "Can't save message to POP mailbox" + msgstr "POP メールボックスにはメッセージを保存できない" + +-#: muttlib.c:1468 ++#: muttlib.c:1466 + #, c-format + msgid "Append messages to %s?" + msgstr "%s にメッセージを追加?" + +-#: muttlib.c:1481 ++#: muttlib.c:1479 + #, fuzzy + msgid "Can't save message to news server" + msgstr "サーバにメッセージを残せない。" + +-#. L10N: Example: Username at myhost.com +-#: mutt_account.c:233 +-#, c-format +-msgid "Username at %s: " +-msgstr "%s のユーザ名: " +- +-#: mutt_account.c:315 +-#, c-format +-msgid "Password for %s@%s: " +-msgstr "%s@%s のパスワード: " +- +-#. L10N: You will see this error message if (1) you have "oauthbearer" in +-#. one of your $*_authenticators and (2) you do not have the corresponding +-#. $*_oauth_refresh_command defined. So the message does not mean "None of +-#. your $*_oauth_refresh_command's are defined." +-#: mutt_account.c:383 +-#, fuzzy +-msgid "No OAUTH refresh command defined" +-msgstr "問い合わせコマンドは定義されていない。" +- +-#: mutt_account.c:390 +-msgid "Unable to run refresh command" +-msgstr "refreshコマンドが実行できない" +- +-#: mutt_account.c:400 +-msgid "Command returned empty string" +-msgstr "コマンドの戻り値が空文字列(empty string)" +- +-#: mutt_attach.c:140 mutt_attach.c:274 mutt_attach.c:459 mutt_attach.c:1054 ++#: mutt_attach.c:142 mutt_attach.c:276 mutt_attach.c:488 mutt_attach.c:1087 + msgid "Can't match 'nametemplate', continue?" + msgstr "名前のテンプレートに一致させられない。続行?" + +-#: mutt_attach.c:150 ++#: mutt_attach.c:152 + #, c-format + msgid "Mailcap compose entry requires %%s" + msgstr "Mailcap 編集エントリに %%s が必要" + +-#: mutt_attach.c:168 ++#: mutt_attach.c:170 + msgid "Failure to open file to parse headers" + msgstr "ヘッダ解析のためのファイルオープンに失敗。" + +-#: mutt_attach.c:202 ++#: mutt_attach.c:204 + msgid "Failure to open file to strip headers" + msgstr "ヘッダ削除のためのファイルオープンに失敗。" + +-#: mutt_attach.c:212 ++#: mutt_attach.c:214 + msgid "Failure to rename file" + msgstr "ファイルのリネーム (移動) に失敗。" + +-#: mutt_attach.c:222 ++#: mutt_attach.c:224 + #, c-format + msgid "No mailcap compose entry for %s, creating empty file" + msgstr "%s のための mailcap 編集エントリがないので空ファイルを作成。" + +-#: mutt_attach.c:284 ++#: mutt_attach.c:286 + #, c-format + msgid "Mailcap Edit entry requires %%s" + msgstr "Mailcap 編集エントリには %%s が必要" + +-#: mutt_attach.c:305 ++#: mutt_attach.c:307 + #, c-format + msgid "No mailcap edit entry for %s" + msgstr "%s のための mailcap 編集エントリがない" + +-#: mutt_attach.c:427 ++#: mutt_attach.c:456 + msgid "No matching mailcap entry found. Viewing as text." + msgstr "mailcap に一致エントリがない。テキストとして表示中。" + +-#: mutt_attach.c:440 ++#: mutt_attach.c:469 + msgid "MIME type not defined. Can't view attachment." + msgstr "MIME 形式が定義されていない。添付ファイルを表示できない。" + +-#: mutt_attach.c:535 ++#: mutt_attach.c:563 + #, c-format + msgid "---Command: %-20.20s Description: %s" + msgstr "---コマンド: %-20.20s 内容説明: %s" + +-#: mutt_attach.c:540 ++#: mutt_attach.c:568 + #, c-format + msgid "---Command: %-30.30s Attachment: %s" + msgstr "---コマンド: %-30.30s 添付ファイル形式: %s" + +-#: mutt_attach.c:619 ++#: mutt_attach.c:652 + #, c-format + msgid "---Attachment: %s: %s" + msgstr "---添付ファイル: %s: %s" + +-#: mutt_attach.c:621 ++#: mutt_attach.c:654 + #, c-format + msgid "---Attachment: %s" + msgstr "---添付ファイル: %s" + +-#: mutt_attach.c:902 mutt_attach.c:910 ++#: mutt_attach.c:935 mutt_attach.c:943 + msgid "Write fault" + msgstr "書き込み失敗" + +-#: mutt_attach.c:1174 ++#: mutt_attach.c:1207 + msgid "I don't know how to print that" + msgstr "どのように印刷するか不明" + +-#: mutt_history.c:47 query.c:84 ++#: mutt_history.c:47 query.c:82 + msgid "Search" + msgstr "検索" + +@@ -3565,21 +3642,21 @@ msgstr "検索" + msgid "History '%s'" + msgstr "問い合わせ '%s'" + +-#: mutt_logging.c:315 ++#: mutt_logging.c:313 + #, fuzzy, c-format + msgid "Invalid value for option %s: %ld" + msgstr "変数 %s には不正な値: \"%s\"" + +-#: mutt_lua.c:429 ++#: mutt_lua.c:431 + msgid "Error: Couldn't load the lua interpreter" + msgstr "" + +-#: mutt_lua.c:491 ++#: mutt_lua.c:493 + #, fuzzy, c-format + msgid "Couldn't source lua source: %s" + msgstr "%s をロックできなかった\n" + +-#: mutt_mailbox.c:214 ++#: mutt_mailbox.c:241 + msgid "New mail in " + msgstr "新着メールあり: " + +@@ -3600,20 +3677,20 @@ msgstr "ルートメッセージはこの制限された表示範囲では不可 + msgid "Parent message is not visible in this limited view" + msgstr "親メッセージはこの制限された表示範囲では不可視。" + +-#: mx.c:387 ++#: mx.c:385 + #, fuzzy, c-format + msgid "Reading from %s interrupted..." + msgstr "検索が中断された。" + + #. L10N: Displayed if a mailbox sync fails +-#: mx.c:468 ++#: mx.c:469 + #, fuzzy, c-format + msgid "Unable to write %s" + msgstr "%s は添付できない" + + #. L10N: Although we know the precise number of messages, we do not show it to the user. + #. So feel free to use a "generic plural" as plural translation if your language has one. +-#: mx.c:523 ++#: mx.c:525 + #, fuzzy + msgid "message not deleted" + msgid_plural "messages not deleted" +@@ -3623,67 +3700,67 @@ msgstr[0] "メッセージは削除されなかった" + msgid "Can't open trash folder" + msgstr "ごみ箱をオープンできない" + +-#: mx.c:623 ++#: mx.c:627 + msgid "Mark all articles read?" + msgstr "全ての記事を既読にするか?" + + #. L10N: The first argument is the number of read messages to be + #. moved, the second argument is the target mailbox. +-#: mx.c:671 ++#: mx.c:675 + #, fuzzy, c-format + msgid "Move %d read message to %s?" + msgid_plural "Move %d read messages to %s?" + msgstr[0] "既読の %d メッセージを %s に移動?" + +-#: mx.c:685 mx.c:917 ++#: mx.c:689 mx.c:936 + #, fuzzy, c-format + msgid "Purge %d deleted message?" + msgid_plural "Purge %d deleted messages?" + msgstr[0] "削除された %d メッセージを廃棄?" + +-#: mx.c:708 ++#: mx.c:712 + #, c-format + msgid "Moving read messages to %s..." + msgstr "%s に既読メッセージを移動中..." + +-#: mx.c:774 mx.c:908 ++#: mx.c:783 mx.c:927 + msgid "Mailbox is unchanged" + msgstr "メールボックスは変更されなかった" + +-#: mx.c:827 ++#: mx.c:842 + #, c-format + msgid "%d kept, %d moved, %d deleted" + msgstr "%d 保持、%d 移動、%d 廃棄" + +-#: mx.c:831 mx.c:972 ++#: mx.c:846 mx.c:991 + #, c-format + msgid "%d kept, %d deleted" + msgstr "%d 保持、%d 廃棄" + +-#: mx.c:892 ++#: mx.c:911 + #, c-format + msgid " Press '%s' to toggle write" + msgstr " '%s' を押すと変更を書き込むかどうかを切替" + +-#: mx.c:894 ++#: mx.c:913 + msgid "Use 'toggle-write' to re-enable write" + msgstr "'toggle-write' を使って書き込みを有効にせよ" + +-#: mx.c:896 ++#: mx.c:915 + #, c-format + msgid "Mailbox is marked unwritable. %s" + msgstr "メールボックスは書き込み不能にマークされた。%s" + +-#: mx.c:966 ++#: mx.c:985 + msgid "Mailbox checkpointed" + msgstr "メールボックスのチェックポイントを採取した。" + +-#: ncrypt/crypt.c:93 ++#: ncrypt/crypt.c:91 + #, c-format + msgid " (current time: %c)" + msgstr " (現在時刻: %c)" + +-#: ncrypt/crypt.c:98 ++#: ncrypt/crypt.c:96 + #, c-format + msgid "[-- %s output follows%s --]\n" + msgstr "[-- %s 出力は以下の通り%s --]\n" +@@ -3692,53 +3769,53 @@ msgstr "[-- %s 出力は以下の通り%s --]\n" + #. by gpg-agent) we can't know whether we forgot zero, 1, 12, ... + #. passwords. So in English we use "Passphrases". Your language might + #. have other means to express this. +-#: ncrypt/crypt.c:119 ++#: ncrypt/crypt.c:117 + #, fuzzy + msgid "Passphrases forgotten" + msgstr "パスフレーズがすべてメモリから消去された。" + +-#: ncrypt/crypt.c:203 ++#: ncrypt/crypt.c:201 + msgid "Inline PGP can't be used with attachments. Revert to PGP/MIME?" + msgstr "添付ファイルがあるとインライン PGP にできない。PGP/MIME を使う?" + +-#: ncrypt/crypt.c:207 ++#: ncrypt/crypt.c:205 + msgid "Mail not sent: inline PGP can't be used with attachments" + msgstr "メールは未送信: 添付ファイルがあるとインライン PGP にできない。" + +-#: ncrypt/crypt.c:214 ++#: ncrypt/crypt.c:212 + msgid "Inline PGP can't be used with format=flowed. Revert to PGP/MIME?" + msgstr "format=flowed にインライン PGP は使えない。PGP/MIME に戻す?" + +-#: ncrypt/crypt.c:218 ++#: ncrypt/crypt.c:216 + msgid "Mail not sent: inline PGP can't be used with format=flowed" + msgstr "メールは未送信: format=flowed にインライン PGP は使えない。" + +-#: ncrypt/crypt.c:228 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:714 +-#: ncrypt/pgpkey.c:915 ++#: ncrypt/crypt.c:226 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:747 ++#: ncrypt/pgpkey.c:950 + msgid "Invoking PGP..." + msgstr "PGP 起動中..." + +-#: ncrypt/crypt.c:240 ++#: ncrypt/crypt.c:238 + msgid "Message can't be sent inline. Revert to using PGP/MIME?" + msgstr "メッセージをインラインで送信できない。PGP/MIME を使う?" + +-#: ncrypt/crypt.c:242 send.c:2430 ++#: ncrypt/crypt.c:240 send.c:2441 + msgid "Mail not sent" + msgstr "メールは未送信。" + +-#: ncrypt/crypt.c:662 ++#: ncrypt/crypt.c:666 + msgid "S/MIME messages with no hints on content are unsupported" + msgstr "内容ヒントのない S/MIME メッセージは未サポート。" + +-#: ncrypt/crypt.c:888 ++#: ncrypt/crypt.c:892 + msgid "Trying to extract PGP keys...\n" + msgstr "PGP 鍵の展開を試行中...\n" + +-#: ncrypt/crypt.c:917 ++#: ncrypt/crypt.c:921 + msgid "Trying to extract S/MIME certificates..." + msgstr "S/MIME 証明書の展開を試行中..." + +-#: ncrypt/crypt.c:1140 ++#: ncrypt/crypt.c:1144 + #, c-format + msgid "" + "[-- Error: Unknown multipart/signed protocol %s --]\n" +@@ -3747,7 +3824,7 @@ msgstr "" + "[-- エラー: 不明な multipart/signed プロトコル %s --]\n" + "\n" + +-#: ncrypt/crypt.c:1180 ++#: ncrypt/crypt.c:1184 + msgid "" + "[-- Error: Missing or bad-format multipart/signed signature --]\n" + "\n" +@@ -3755,7 +3832,7 @@ msgstr "" + "[-- エラー: multipart/signed 署名が欠落または不正 --]\n" + "\n" + +-#: ncrypt/crypt.c:1222 ++#: ncrypt/crypt.c:1226 + #, c-format + msgid "" + "[-- Warning: We can't verify %s/%s signatures. --]\n" +@@ -3764,7 +3841,7 @@ msgstr "" + "[-- 警告: この NeoMutt では %s/%s 署名を検証できない --]\n" + "\n" + +-#: ncrypt/crypt.c:1235 ++#: ncrypt/crypt.c:1239 + msgid "" + "[-- The following data is signed --]\n" + "\n" +@@ -3772,7 +3849,7 @@ msgstr "" + "[-- 以下のデータは署名されている --]\n" + "\n" + +-#: ncrypt/crypt.c:1243 ++#: ncrypt/crypt.c:1248 + msgid "" + "[-- Warning: Can't find any signatures. --]\n" + "\n" +@@ -3780,7 +3857,7 @@ msgstr "" + "[-- 警告: 一つも署名を検出できなかった --]\n" + "\n" + +-#: ncrypt/crypt.c:1249 ++#: ncrypt/crypt.c:1255 + msgid "" + "\n" + "[-- End of signed data --]\n" +@@ -3799,229 +3876,229 @@ msgstr "S/MIME 起動中..." + #. L10N: The following are the headers for the "verify key" output from the + #. GPGME key selection menu (bound to "c" in the key selection menu). + #. They will be automatically aligned. +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Name: " + msgstr "名前: " + +-#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1869 ncrypt/crypt_gpgme.c:1874 ++#: ncrypt/crypt_gpgme.c:183 ncrypt/crypt_gpgme.c:1900 ncrypt/crypt_gpgme.c:1905 + msgid "aka: " + msgstr "別名: " + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Valid From: " + msgstr "発効期日: " + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Valid To: " + msgstr "有効期限: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Key Type: " + msgstr "鍵種別: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Key Usage: " + msgstr "鍵能力: " + +-#: ncrypt/crypt_gpgme.c:185 ncrypt/crypt_gpgme.c:1759 ++#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1790 + msgid "Fingerprint: " + msgstr "フィンガープリント: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Serial-No: " + msgstr "シリアル番号: " + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + msgid "Issued By: " + msgstr "発行者: " + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + msgid "Subkey: " + msgstr "副鍵: " + +-#: ncrypt/crypt_gpgme.c:783 ++#: ncrypt/crypt_gpgme.c:782 + #, c-format + msgid "error enabling CMS protocol: %s" + msgstr "CMS プロトコル起動エラー: %s" + +-#: ncrypt/crypt_gpgme.c:806 ++#: ncrypt/crypt_gpgme.c:805 + #, c-format + msgid "error creating gpgme data object: %s" + msgstr "gpgme データオブジェクト作成エラー: %s" + +-#: ncrypt/crypt_gpgme.c:907 ncrypt/crypt_gpgme.c:934 ncrypt/crypt_gpgme.c:2057 +-#: ncrypt/crypt_gpgme.c:2814 ++#: ncrypt/crypt_gpgme.c:906 ncrypt/crypt_gpgme.c:933 ncrypt/crypt_gpgme.c:2096 ++#: ncrypt/crypt_gpgme.c:2853 + #, c-format + msgid "error allocating data object: %s" + msgstr "データオブジェクト割り当てエラー: %s" + +-#: ncrypt/crypt_gpgme.c:956 ++#: ncrypt/crypt_gpgme.c:955 + #, c-format + msgid "error rewinding data object: %s" + msgstr "データオブジェクト巻き戻しエラー: %s" + +-#: ncrypt/crypt_gpgme.c:972 ++#: ncrypt/crypt_gpgme.c:971 + msgid "[tempfile]" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:978 ncrypt/crypt_gpgme.c:1032 ++#: ncrypt/crypt_gpgme.c:977 ncrypt/crypt_gpgme.c:1031 + #, c-format + msgid "error reading data object: %s" + msgstr "データオブジェクト読み出しエラー: %s" + +-#: ncrypt/crypt_gpgme.c:1149 ++#: ncrypt/crypt_gpgme.c:1148 + #, fuzzy, c-format + msgid "error adding recipient '%s': %s" + msgstr "受信者 %s の追加でエラー: %s" + +-#: ncrypt/crypt_gpgme.c:1202 ++#: ncrypt/crypt_gpgme.c:1186 + #, c-format + msgid "secret key '%s' not found: %s" + msgstr "秘密鍵 %s が見付からない: %s" + +-#: ncrypt/crypt_gpgme.c:1218 ++#: ncrypt/crypt_gpgme.c:1203 + #, fuzzy, c-format + msgid "ambiguous specification of secret key '%s'\n" + msgstr "秘密鍵の指定があいまい: %s" + +-#: ncrypt/crypt_gpgme.c:1234 ++#: ncrypt/crypt_gpgme.c:1219 + #, c-format + msgid "error setting secret key '%s': %s" + msgstr "秘密鍵 %s 設定中にエラー: %s" + +-#: ncrypt/crypt_gpgme.c:1250 ++#: ncrypt/crypt_gpgme.c:1278 + #, c-format + msgid "error setting PKA signature notation: %s" + msgstr "PKA 署名の表記法設定エラー: %s" + +-#: ncrypt/crypt_gpgme.c:1324 ++#: ncrypt/crypt_gpgme.c:1353 + #, c-format + msgid "error encrypting data: %s" + msgstr "データ暗号化エラー: %s" + +-#: ncrypt/crypt_gpgme.c:1453 ++#: ncrypt/crypt_gpgme.c:1483 + #, c-format + msgid "error signing data: %s" + msgstr "データ署名エラー: %s" + +-#: ncrypt/crypt_gpgme.c:1463 ++#: ncrypt/crypt_gpgme.c:1493 + msgid "$pgp_sign_as unset and no default key specified in ~/.gnupg/gpg.conf" + msgstr "$pgp_sign_as が未設定で、既定鍵が ~/.gnupg/gpg.conf に指定されていない" + +-#: ncrypt/crypt_gpgme.c:1641 ++#: ncrypt/crypt_gpgme.c:1672 + msgid "Warning: One of the keys has been revoked\n" + msgstr "警告: 廃棄済みの鍵がある\n" + +-#: ncrypt/crypt_gpgme.c:1651 ++#: ncrypt/crypt_gpgme.c:1682 + msgid "Warning: The key used to create the signature expired at: " + msgstr "警告: 署名を作成した鍵は期限切れ: 期限は " + +-#: ncrypt/crypt_gpgme.c:1657 ++#: ncrypt/crypt_gpgme.c:1688 + msgid "Warning: At least one certification key has expired\n" + msgstr "警告: 少なくとも一つの証明書で鍵が期限切れ\n" + +-#: ncrypt/crypt_gpgme.c:1671 ++#: ncrypt/crypt_gpgme.c:1702 + msgid "Warning: The signature expired at: " + msgstr "警告: 署名が期限切れ: 期限は " + +-#: ncrypt/crypt_gpgme.c:1678 ++#: ncrypt/crypt_gpgme.c:1709 + msgid "Can't verify due to a missing key or certificate\n" + msgstr "鍵や証明書の不足により、検証できない\n" + +-#: ncrypt/crypt_gpgme.c:1683 ++#: ncrypt/crypt_gpgme.c:1714 + msgid "The CRL is not available\n" + msgstr "CRL が利用できない\n" + +-#: ncrypt/crypt_gpgme.c:1689 ++#: ncrypt/crypt_gpgme.c:1720 + msgid "Available CRL is too old\n" + msgstr "利用できる CRL は古すぎる\n" + +-#: ncrypt/crypt_gpgme.c:1694 ++#: ncrypt/crypt_gpgme.c:1725 + msgid "A policy requirement was not met\n" + msgstr "ポリシーの条件が満たされなかった\n" + +-#: ncrypt/crypt_gpgme.c:1703 ++#: ncrypt/crypt_gpgme.c:1734 + msgid "A system error occurred" + msgstr "システムエラーが発生" + +-#: ncrypt/crypt_gpgme.c:1734 ++#: ncrypt/crypt_gpgme.c:1765 + msgid "WARNING: PKA entry does not match signer's address: " + msgstr "警告: PKA エントリが署名者アドレスと一致しない: " + +-#: ncrypt/crypt_gpgme.c:1740 ++#: ncrypt/crypt_gpgme.c:1771 + msgid "PKA verified signer's address is: " + msgstr "PKA で検証された署名者アドレス: " + +-#: ncrypt/crypt_gpgme.c:1822 ++#: ncrypt/crypt_gpgme.c:1853 + msgid "WARNING: We have NO indication whether the key belongs to the person named as shown above\n" + msgstr "警告: この鍵が上記の人物のものかどうかを示す証拠は一切ない\n" + +-#: ncrypt/crypt_gpgme.c:1829 ++#: ncrypt/crypt_gpgme.c:1860 + msgid "WARNING: The key does NOT BELONG to the person named as shown above\n" + msgstr "警告: この鍵は上記の人物のものではない!\n" + +-#: ncrypt/crypt_gpgme.c:1833 ++#: ncrypt/crypt_gpgme.c:1864 + msgid "WARNING: It is NOT certain that the key belongs to the person named as shown above\n" + msgstr "警告: この鍵が確実に上記の人物のものだとは言えない\n" + +-#: ncrypt/crypt_gpgme.c:1886 ++#: ncrypt/crypt_gpgme.c:1917 + msgid "KeyID " + msgstr "鍵ID " + + #. L10N: You will see this message in place of "KeyID " + #. if the S/MIME key has no ID. This is quite an error. +-#: ncrypt/crypt_gpgme.c:1893 ++#: ncrypt/crypt_gpgme.c:1924 + msgid "no signature fingerprint available" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1902 ncrypt/crypt_gpgme.c:1907 ++#: ncrypt/crypt_gpgme.c:1933 ncrypt/crypt_gpgme.c:1938 + msgid "created: " + msgstr "作成日時: " + +-#: ncrypt/crypt_gpgme.c:1981 ++#: ncrypt/crypt_gpgme.c:2012 + #, c-format + msgid "Error getting key information for KeyID %s: %s\n" + msgstr "鍵ID %s の鍵情報の取得エラー: %s\n" + +-#: ncrypt/crypt_gpgme.c:1988 ncrypt/crypt_gpgme.c:2003 ++#: ncrypt/crypt_gpgme.c:2019 ncrypt/crypt_gpgme.c:2034 + msgid "Good signature from:" + msgstr "正しい署名:" + +-#: ncrypt/crypt_gpgme.c:1995 ++#: ncrypt/crypt_gpgme.c:2026 + msgid "*BAD* signature from:" + msgstr "**不正な** 署名:" + +-#: ncrypt/crypt_gpgme.c:2011 ++#: ncrypt/crypt_gpgme.c:2042 + msgid "Problem signature from:" + msgstr "問題のある署名:" + + #. L10N: This is trying to match the width of the + #. "Problem signature from:" translation just above. +-#: ncrypt/crypt_gpgme.c:2017 ++#: ncrypt/crypt_gpgme.c:2048 + msgid " expires: " + msgstr "     期限: " + +-#: ncrypt/crypt_gpgme.c:2064 ncrypt/crypt_gpgme.c:2294 +-#: ncrypt/crypt_gpgme.c:3081 ++#: ncrypt/crypt_gpgme.c:2103 ncrypt/crypt_gpgme.c:2333 ++#: ncrypt/crypt_gpgme.c:3124 + msgid "[-- Begin signature information --]\n" + msgstr "[-- 署名情報開始 --]\n" + +-#: ncrypt/crypt_gpgme.c:2075 ++#: ncrypt/crypt_gpgme.c:2114 + #, c-format + msgid "Error: verification failed: %s\n" + msgstr "エラー: 検証に失敗した: %s\n" + +-#: ncrypt/crypt_gpgme.c:2126 ++#: ncrypt/crypt_gpgme.c:2165 + #, c-format + msgid "*** Begin Notation (signature by: %s) ***\n" + msgstr "*** 註釈開始 (%s の署名に関して) ***\n" + +-#: ncrypt/crypt_gpgme.c:2145 ++#: ncrypt/crypt_gpgme.c:2184 + msgid "*** End Notation ***\n" + msgstr "*** 註釈終了 ***\n" + +-#: ncrypt/crypt_gpgme.c:2153 ncrypt/crypt_gpgme.c:2308 +-#: ncrypt/crypt_gpgme.c:3091 ++#: ncrypt/crypt_gpgme.c:2192 ncrypt/crypt_gpgme.c:2347 ++#: ncrypt/crypt_gpgme.c:3134 + msgid "" + "[-- End signature information --]\n" + "\n" +@@ -4029,7 +4106,7 @@ msgstr "" + "[-- 署名情報終了 --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:2268 ++#: ncrypt/crypt_gpgme.c:2307 + #, c-format + msgid "" + "[-- Error: decryption failed: %s --]\n" +@@ -4038,21 +4115,26 @@ msgstr "" + "[-- エラー: 復号化に失敗した: %s --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:2821 ++#: ncrypt/crypt_gpgme.c:2860 + #, fuzzy, c-format + msgid "Error importing key: %s" + msgstr "鍵の抽出エラー: %s" + +-#: ncrypt/crypt_gpgme.c:3059 ++#: ncrypt/crypt_gpgme.c:3098 + #, c-format + msgid "Error: decryption/verification failed: %s\n" + msgstr "エラー: 復号化/検証が失敗した: %s\n" + +-#: ncrypt/crypt_gpgme.c:3103 ++#: ncrypt/crypt_gpgme.c:3105 ncrypt/crypt_gpgme.c:3302 ncrypt/pgp.c:726 ++#: ncrypt/pgp.c:1273 ++msgid "PGP message successfully decrypted" ++msgstr "PGP メッセージの復号化に成功した。" ++ ++#: ncrypt/crypt_gpgme.c:3146 + msgid "Error: copy data failed\n" + msgstr "エラー: データのコピーに失敗した\n" + +-#: ncrypt/crypt_gpgme.c:3116 ncrypt/pgp.c:675 ++#: ncrypt/crypt_gpgme.c:3159 ncrypt/pgp.c:674 + msgid "" + "[-- BEGIN PGP MESSAGE --]\n" + "\n" +@@ -4060,11 +4142,11 @@ msgstr "" + "[-- PGP メッセージ開始 --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3118 ncrypt/pgp.c:677 ++#: ncrypt/crypt_gpgme.c:3161 ncrypt/pgp.c:676 + msgid "[-- BEGIN PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- PGP 公開鍵ブロック開始 --]\n" + +-#: ncrypt/crypt_gpgme.c:3120 ncrypt/pgp.c:679 ++#: ncrypt/crypt_gpgme.c:3163 ncrypt/pgp.c:678 + msgid "" + "[-- BEGIN PGP SIGNED MESSAGE --]\n" + "\n" +@@ -4072,19 +4154,19 @@ msgstr "" + "[-- PGP 署名メッセージ開始 --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3145 ncrypt/pgp.c:716 ++#: ncrypt/crypt_gpgme.c:3188 ncrypt/pgp.c:715 + msgid "[-- END PGP MESSAGE --]\n" + msgstr "[-- PGPメッセージ終了 --]\n" + +-#: ncrypt/crypt_gpgme.c:3147 ncrypt/pgp.c:730 ++#: ncrypt/crypt_gpgme.c:3190 ncrypt/pgp.c:729 + msgid "[-- END PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- PGP 公開鍵ブロック終了 --]\n" + +-#: ncrypt/crypt_gpgme.c:3149 ncrypt/pgp.c:732 ++#: ncrypt/crypt_gpgme.c:3192 ncrypt/pgp.c:731 + msgid "[-- END PGP SIGNED MESSAGE --]\n" + msgstr "[-- PGP 署名メッセージ終了 --]\n" + +-#: ncrypt/crypt_gpgme.c:3170 ncrypt/pgp.c:765 ++#: ncrypt/crypt_gpgme.c:3213 ncrypt/pgp.c:764 + msgid "" + "[-- Error: could not find beginning of PGP message --]\n" + "\n" +@@ -4092,11 +4174,11 @@ msgstr "" + "[-- エラー: PGP メッセージの開始点を発見できなかった --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3198 ncrypt/crypt_gpgme.c:3296 ncrypt/pgp.c:1218 ++#: ncrypt/crypt_gpgme.c:3241 ncrypt/crypt_gpgme.c:3339 ncrypt/pgp.c:1218 + msgid "[-- Error: could not create temporary file --]\n" + msgstr "[-- エラー: 一時ファイルを作成できなかった --]\n" + +-#: ncrypt/crypt_gpgme.c:3212 ++#: ncrypt/crypt_gpgme.c:3255 + msgid "" + "[-- The following data is PGP/MIME signed and encrypted --]\n" + "\n" +@@ -4104,7 +4186,7 @@ msgstr "" + "[-- 以下のデータは PGP/MIME で署名および暗号化されている --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3214 ncrypt/pgp.c:1231 ++#: ncrypt/crypt_gpgme.c:3257 ncrypt/pgp.c:1232 + msgid "" + "[-- The following data is PGP/MIME encrypted --]\n" + "\n" +@@ -4112,24 +4194,20 @@ msgstr "" + "[-- 以下のデータは PGP/MIME で暗号化されている --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3254 ++#: ncrypt/crypt_gpgme.c:3297 + msgid "[-- End of PGP/MIME signed and encrypted data --]\n" + msgstr "[-- PGP/MIME 署名および暗号化データ終了 --]\n" + +-#: ncrypt/crypt_gpgme.c:3255 ncrypt/pgp.c:1267 ++#: ncrypt/crypt_gpgme.c:3298 ncrypt/pgp.c:1268 + msgid "[-- End of PGP/MIME encrypted data --]\n" + msgstr "[-- PGP/MIME 暗号化データ終了 --]\n" + +-#: ncrypt/crypt_gpgme.c:3259 ncrypt/pgp.c:727 ncrypt/pgp.c:1272 +-msgid "PGP message successfully decrypted" +-msgstr "PGP メッセージの復号化に成功した。" +- +-#: ncrypt/crypt_gpgme.c:3265 ncrypt/pgp.c:666 ncrypt/pgp.c:718 +-#: ncrypt/pgp.c:1276 ++#: ncrypt/crypt_gpgme.c:3308 ncrypt/pgp.c:665 ncrypt/pgp.c:717 ++#: ncrypt/pgp.c:1277 + msgid "Could not decrypt PGP message" + msgstr "PGP メッセージを復号化できなかった" + +-#: ncrypt/crypt_gpgme.c:3310 ++#: ncrypt/crypt_gpgme.c:3353 + msgid "" + "[-- The following data is S/MIME signed --]\n" + "\n" +@@ -4137,7 +4215,7 @@ msgstr "" + "[-- 以下のデータは S/MIME で署名されている --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3311 ++#: ncrypt/crypt_gpgme.c:3354 + msgid "" + "[-- The following data is S/MIME encrypted --]\n" + "\n" +@@ -4145,128 +4223,128 @@ msgstr "" + "[-- 以下のデータは S/MIME で暗号化されている --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3358 ++#: ncrypt/crypt_gpgme.c:3401 + msgid "[-- End of S/MIME signed data --]\n" + msgstr "[-- S/MIME 署名データ終了 --]\n" + +-#: ncrypt/crypt_gpgme.c:3359 ++#: ncrypt/crypt_gpgme.c:3402 + msgid "[-- End of S/MIME encrypted data --]\n" + msgstr "[-- S/MIME 暗号化データ終了 --]\n" + +-#: ncrypt/crypt_gpgme.c:4029 ++#: ncrypt/crypt_gpgme.c:4077 + msgid "[Can't display this user ID (unknown encoding)]" + msgstr "[このユーザ ID は表示できない (文字コードが不明)]" + +-#: ncrypt/crypt_gpgme.c:4031 ++#: ncrypt/crypt_gpgme.c:4079 + msgid "[Can't display this user ID (invalid encoding)]" + msgstr "[このユーザ ID は表示できない (文字コードが不正)]" + +-#: ncrypt/crypt_gpgme.c:4036 ++#: ncrypt/crypt_gpgme.c:4084 + msgid "[Can't display this user ID (invalid DN)]" + msgstr "[このユーザ ID は表示できない (DN が不正)]" + + #. L10N: comes after the Name or aka if the key is invalid + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4150 ncrypt/crypt_gpgme.c:4291 ++#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4339 + msgid "[Invalid]" + msgstr "[不正]" + + #. L10N: This is printed after "Key Type: " and looks like this: PGP, 2048 bit RSA +-#: ncrypt/crypt_gpgme.c:4190 ncrypt/crypt_gpgme.c:4331 ++#: ncrypt/crypt_gpgme.c:4238 ncrypt/crypt_gpgme.c:4379 + #, fuzzy, c-format + msgid "%s, %lu bit %s\n" + msgid_plural "%s, %lu bit %s\n" + msgstr[0] "%s, %lu ビット %s\n" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4338 ++#: ncrypt/crypt_gpgme.c:4246 ncrypt/crypt_gpgme.c:4386 + msgid "encryption" + msgstr "暗号化" + +-#: ncrypt/crypt_gpgme.c:4199 ncrypt/crypt_gpgme.c:4205 +-#: ncrypt/crypt_gpgme.c:4339 ncrypt/crypt_gpgme.c:4344 ++#: ncrypt/crypt_gpgme.c:4247 ncrypt/crypt_gpgme.c:4253 ++#: ncrypt/crypt_gpgme.c:4387 ncrypt/crypt_gpgme.c:4392 + msgid ", " + msgstr " + " + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4204 ncrypt/crypt_gpgme.c:4343 ++#: ncrypt/crypt_gpgme.c:4252 ncrypt/crypt_gpgme.c:4391 + msgid "signing" + msgstr "署名" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4210 ncrypt/crypt_gpgme.c:4348 ++#: ncrypt/crypt_gpgme.c:4258 ncrypt/crypt_gpgme.c:4396 + msgid "certification" + msgstr "証明" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4285 ++#: ncrypt/crypt_gpgme.c:4333 + msgid "[Revoked]" + msgstr "[廃棄済み]" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4297 ++#: ncrypt/crypt_gpgme.c:4345 + msgid "[Expired]" + msgstr "[期限切れ]" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4303 ++#: ncrypt/crypt_gpgme.c:4351 + msgid "[Disabled]" + msgstr "[使用不可]" + +-#: ncrypt/crypt_gpgme.c:4376 ++#: ncrypt/crypt_gpgme.c:4424 + msgid "Collecting data..." + msgstr "データ収集中..." + +-#: ncrypt/crypt_gpgme.c:4394 ++#: ncrypt/crypt_gpgme.c:4442 + #, c-format + msgid "Error finding issuer key: %s\n" + msgstr "発行者鍵の取得エラー: %s\n" + +-#: ncrypt/crypt_gpgme.c:4403 ++#: ncrypt/crypt_gpgme.c:4451 + msgid "Error: certification chain too long - stopping here\n" + msgstr "エラー: 証明書の連鎖が長すぎる - ここでやめておく\n" + +-#: ncrypt/crypt_gpgme.c:4413 ncrypt/pgpkey.c:733 ++#: ncrypt/crypt_gpgme.c:4461 ncrypt/pgpkey.c:766 + #, c-format + msgid "Key ID: 0x%s" + msgstr "鍵 ID: 0x%s" + +-#: ncrypt/crypt_gpgme.c:4538 ncrypt/crypt_gpgme.c:4589 ++#: ncrypt/crypt_gpgme.c:4586 ncrypt/crypt_gpgme.c:4637 + #, c-format + msgid "gpgme_op_keylist_start failed: %s" + msgstr "gpgme_op_keylist_start 失敗: %s" + +-#: ncrypt/crypt_gpgme.c:4577 ncrypt/crypt_gpgme.c:4619 +-#: ncrypt/crypt_gpgme.c:5355 ++#: ncrypt/crypt_gpgme.c:4625 ncrypt/crypt_gpgme.c:4667 ++#: ncrypt/crypt_gpgme.c:5435 + #, c-format + msgid "gpgme_op_keylist_next failed: %s" + msgstr "gpgme_op_keylist_next 失敗: %s" + +-#: ncrypt/crypt_gpgme.c:4701 ++#: ncrypt/crypt_gpgme.c:4749 + msgid "All matching keys are marked expired/revoked" + msgstr "一致した鍵はすべて期限切れか廃棄済み。" + +-#: ncrypt/crypt_gpgme.c:4731 ncrypt/pgpkey.c:666 ncrypt/smime.c:551 ++#: ncrypt/crypt_gpgme.c:4779 ncrypt/pgpkey.c:669 ncrypt/smime.c:553 + msgid "Select " + msgstr "選択 " + +-#: ncrypt/crypt_gpgme.c:4733 ncrypt/pgpkey.c:668 ++#: ncrypt/crypt_gpgme.c:4781 ncrypt/pgpkey.c:671 + msgid "Check key " + msgstr "鍵検査 " + +-#: ncrypt/crypt_gpgme.c:4749 ++#: ncrypt/crypt_gpgme.c:4827 + msgid "PGP and S/MIME keys matching" + msgstr "一致する PGP および S/MIME 鍵" + +-#: ncrypt/crypt_gpgme.c:4751 ++#: ncrypt/crypt_gpgme.c:4829 + msgid "PGP keys matching" + msgstr "一致する PGP 鍵" + +-#: ncrypt/crypt_gpgme.c:4753 ++#: ncrypt/crypt_gpgme.c:4831 + msgid "S/MIME keys matching" + msgstr "一致する S/MIME 鍵" + +-#: ncrypt/crypt_gpgme.c:4755 ++#: ncrypt/crypt_gpgme.c:4833 + msgid "keys matching" + msgstr "一致する鍵" + +@@ -4275,59 +4353,59 @@ msgstr "一致する鍵" + #. %1$s is one of the previous four entries. + #. %2$s is an address. + #. e.g. "S/MIME keys matching " +-#: ncrypt/crypt_gpgme.c:4763 ++#: ncrypt/crypt_gpgme.c:4841 + #, c-format + msgid "%s <%s>" + msgstr "<%2$s> に%1$s。" + + #. L10N: e.g. 'S/MIME keys matching "Michael Elkins".' +-#: ncrypt/crypt_gpgme.c:4768 ++#: ncrypt/crypt_gpgme.c:4846 + #, c-format + msgid "%s \"%s\"" + msgstr "「%2$s」に%1$s。" + +-#: ncrypt/crypt_gpgme.c:4796 ncrypt/pgpkey.c:754 ++#: ncrypt/crypt_gpgme.c:4874 ncrypt/pgpkey.c:787 + msgid "This key can't be used: expired/disabled/revoked" + msgstr "この鍵は期限切れか使用不可か廃棄済みのため、使えない。" + +-#: ncrypt/crypt_gpgme.c:4810 ncrypt/pgpkey.c:767 ncrypt/smime.c:581 ++#: ncrypt/crypt_gpgme.c:4888 ncrypt/pgpkey.c:800 ncrypt/smime.c:613 + #, fuzzy + msgid "ID is expired/disabled/revoked. Do you really want to use the key?" + msgstr "ID は期限切れか使用不可か廃棄済み。 本当にこの鍵を使用?" + +-#: ncrypt/crypt_gpgme.c:4820 ncrypt/pgpkey.c:779 ++#: ncrypt/crypt_gpgme.c:4898 ncrypt/pgpkey.c:812 + #, fuzzy + msgid "ID is not valid. Do you really want to use the key?" + msgstr "ID は信用されていない。 本当にこの鍵を使用?" + +-#: ncrypt/crypt_gpgme.c:4823 ncrypt/pgpkey.c:782 ++#: ncrypt/crypt_gpgme.c:4901 ncrypt/pgpkey.c:815 + #, fuzzy + msgid "ID is only marginally valid. Do you really want to use the key?" + msgstr "ID はかろうじて信用されている。 本当にこの鍵を使用?" + +-#: ncrypt/crypt_gpgme.c:4831 ncrypt/pgpkey.c:775 ncrypt/smime.c:585 ++#: ncrypt/crypt_gpgme.c:4909 ncrypt/pgpkey.c:808 ncrypt/smime.c:617 + #, fuzzy + msgid "ID has undefined validity. Do you really want to use the key?" + msgstr "ID は信用度が未定義。 本当にこの鍵を使用?" + +-#: ncrypt/crypt_gpgme.c:4911 ncrypt/crypt_gpgme.c:5024 ncrypt/pgpkey.c:1019 +-#: ncrypt/pgpkey.c:1146 ++#: ncrypt/crypt_gpgme.c:4991 ncrypt/crypt_gpgme.c:5104 ncrypt/pgpkey.c:1054 ++#: ncrypt/pgpkey.c:1181 + #, c-format + msgid "Looking for keys matching \"%s\"..." + msgstr "\"%s\" に一致する鍵を検索中..." + +-#: ncrypt/crypt_gpgme.c:5140 ncrypt/pgpkey.c:870 ncrypt/smime.c:924 ++#: ncrypt/crypt_gpgme.c:5220 ncrypt/pgpkey.c:905 ncrypt/smime.c:958 + #, c-format + msgid "No matching keys found for \"%s\"" + msgstr "\"%s\" と一致する鍵が見つからない" + +-#: ncrypt/crypt_gpgme.c:5190 ncrypt/pgp.c:1456 ++#: ncrypt/crypt_gpgme.c:5270 ncrypt/pgp.c:1457 + #, c-format + msgid "Use keyID = \"%s\" for %s?" + msgstr "鍵 ID = \"%s\" を %s に使う?" + +-#: ncrypt/crypt_gpgme.c:5238 ncrypt/pgp.c:1505 ncrypt/smime.c:944 +-#: ncrypt/smime.c:1049 ++#: ncrypt/crypt_gpgme.c:5318 ncrypt/pgp.c:1506 ncrypt/smime.c:978 ++#: ncrypt/smime.c:1083 + #, c-format + msgid "Enter keyID for %s: " + msgstr "%s の鍵 ID 入力: " +@@ -4336,15 +4414,15 @@ msgstr "%s の鍵 ID 入力: " + #. mutt_gpgme_select_secret_key() tries to list all secret keys to choose + #. from. This error is displayed if no results were found. + #. +-#: ncrypt/crypt_gpgme.c:5364 ++#: ncrypt/crypt_gpgme.c:5444 + msgid "No secret keys found" + msgstr "秘密鍵が見付からない" + +-#: ncrypt/crypt_gpgme.c:5398 ncrypt/pgpkey.c:888 ++#: ncrypt/crypt_gpgme.c:5478 ncrypt/pgpkey.c:923 + msgid "Please enter the key ID: " + msgstr "鍵 ID を入力: " + +-#: ncrypt/crypt_gpgme.c:5411 ++#: ncrypt/crypt_gpgme.c:5491 + #, c-format + msgid "Error exporting key: %s" + msgstr "鍵の抽出エラー: %s" +@@ -4353,93 +4431,93 @@ msgstr "鍵の抽出エラー: %s" + #. 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. +-#: ncrypt/crypt_gpgme.c:5429 ++#: ncrypt/crypt_gpgme.c:5509 + #, c-format + msgid "PGP Key 0x%s" + msgstr "PGP Key 0x%s" + +-#: ncrypt/crypt_gpgme.c:5474 ++#: ncrypt/crypt_gpgme.c:5554 + msgid "GPGME: OpenPGP protocol not available" + msgstr "GPGME: OpenPGP プロトコルが利用できない" + +-#: ncrypt/crypt_gpgme.c:5485 ++#: ncrypt/crypt_gpgme.c:5565 + msgid "GPGME: CMS protocol not available" + msgstr "GPGME: CMS プロトコルが利用できない" + +-#: ncrypt/crypt_gpgme.c:5536 ++#: ncrypt/crypt_gpgme.c:5616 + msgid "S/MIME (s)ign, sign (a)s, (p)gp, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME (s)署名, (a)署名鍵選択, (p)PGP, (c)なし, (o)日和見暗号オフ " + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5538 ++#: ncrypt/crypt_gpgme.c:5618 + msgid "sapco" + msgstr "sapco" + +-#: ncrypt/crypt_gpgme.c:5545 ++#: ncrypt/crypt_gpgme.c:5625 + msgid "PGP (s)ign, sign (a)s, s/(m)ime, (c)lear, or (o)ppenc mode off?" + msgstr "PGP (s)署名, (a)署名鍵選択, (m)S/MIME, (c)なし, (o)日和見暗号オフ " + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5547 ++#: ncrypt/crypt_gpgme.c:5627 + msgid "samco" + msgstr "samco" + + # 80-columns 幅にギリギリおさまるか? + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5557 ++#: ncrypt/crypt_gpgme.c:5637 + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME (e)暗号化, (s)署名, (a)署名鍵選択, (b)暗号+署名, (p)PGP, (c)なし, (o)日和見暗号 " + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5560 ++#: ncrypt/crypt_gpgme.c:5640 + msgid "esabpco" + msgstr "esabpco" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5566 ++#: ncrypt/crypt_gpgme.c:5646 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime, (c)lear, or (o)ppenc mode?" + msgstr "PGP (e)暗号化, (s)署名, (a)署名鍵選択, (b)暗号+署名, (m)S/MIME, (c)なし, (o)日和見暗号 " + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5569 ++#: ncrypt/crypt_gpgme.c:5649 + msgid "esabmco" + msgstr "esabmco" + +-#: ncrypt/crypt_gpgme.c:5580 ++#: ncrypt/crypt_gpgme.c:5660 + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp or (c)lear?" + msgstr "S/MIME (e)暗号化, (s)署名, (a)署名鍵選択, (b)暗号+署名, (p)PGP, (c)なし " + + #. L10N: S/MIME options +-#: ncrypt/crypt_gpgme.c:5582 ++#: ncrypt/crypt_gpgme.c:5662 + msgid "esabpc" + msgstr "esabpc" + +-#: ncrypt/crypt_gpgme.c:5589 ++#: ncrypt/crypt_gpgme.c:5669 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime or (c)lear?" + msgstr "PGP (e)暗号化, (s)署名, (a)署名鍵選択, (b)暗号+署名, (m)S/MIME, (c)なし " + + #. L10N: PGP options +-#: ncrypt/crypt_gpgme.c:5591 ++#: ncrypt/crypt_gpgme.c:5671 + msgid "esabmc" + msgstr "esabmc" + +-#: ncrypt/crypt_gpgme.c:5751 ++#: ncrypt/crypt_gpgme.c:5831 + msgid "Failed to verify sender" + msgstr "送信者の検証に失敗した" + +-#: ncrypt/crypt_gpgme.c:5754 ++#: ncrypt/crypt_gpgme.c:5834 + msgid "Failed to figure out sender" + msgstr "送信者の識別に失敗した" + +-#: ncrypt/pgp.c:108 ++#: ncrypt/pgp.c:107 + msgid "Enter PGP passphrase:" + msgstr "PGP パスフレーズ入力:" + +-#: ncrypt/pgp.c:595 ++#: ncrypt/pgp.c:594 + msgid "[-- Error: unable to create PGP subprocess --]\n" + msgstr "[-- エラー: PGP 子プロセスを作成できなかった --]\n" + +-#: ncrypt/pgp.c:644 ncrypt/pgp.c:926 ncrypt/pgp.c:1086 ++#: ncrypt/pgp.c:643 ncrypt/pgp.c:925 ncrypt/pgp.c:1085 + msgid "" + "[-- End of PGP output --]\n" + "\n" +@@ -4450,16 +4528,16 @@ msgstr "" + #. L10N: You will see this error message if (1) you are decrypting + #. (not encrypting) something and (2) it is a plaintext. So the + #. message does not mean "You failed to encrypt the message." +-#: ncrypt/pgp.c:724 ++#: ncrypt/pgp.c:723 + #, fuzzy + msgid "PGP message is not encrypted" + msgstr "PGP メッセージの復号化に成功した。" + +-#: ncrypt/pgp.c:978 ++#: ncrypt/pgp.c:977 + msgid "Internal error. Please submit a bug report." + msgstr "内部エラー。バグレポートを提出せよ。" + +-#: ncrypt/pgp.c:1043 ++#: ncrypt/pgp.c:1042 + msgid "" + "[-- Error: could not create a PGP subprocess --]\n" + "\n" +@@ -4467,125 +4545,125 @@ msgstr "" + "[-- エラー: PGP 子プロセスを作成できなかった --]\n" + "\n" + +-#: ncrypt/pgp.c:1073 ncrypt/pgp.c:1098 ncrypt/smime.c:2143 postpone.c:757 +-#: postpone.c:785 ++#: ncrypt/pgp.c:1072 ncrypt/pgp.c:1097 ncrypt/smime.c:2177 postpone.c:803 ++#: postpone.c:831 + msgid "Decryption failed" + msgstr "復号化に失敗した。" + +-#: ncrypt/pgp.c:1333 ++#: ncrypt/pgp.c:1334 + msgid "Can't open PGP subprocess" + msgstr "PGP 子プロセスをオープンできない" + +-#: ncrypt/pgp.c:1768 ++#: ncrypt/pgp.c:1770 + msgid "Can't invoke PGP" + msgstr "PGP 起動できない" + + #. L10N: The next string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1875 ++#: ncrypt/pgp.c:1877 + msgid "PGP/M(i)ME" + msgstr "i:PGP/MIME" + + #. L10N: The previous string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1881 ++#: ncrypt/pgp.c:1883 + msgid "(i)nline" + msgstr "i:インライン" + + #. L10N: PGP options (inline) (opportunistic encryption is on) +-#: ncrypt/pgp.c:1893 ++#: ncrypt/pgp.c:1895 + #, c-format + msgid "PGP (s)ign, sign (a)s, %s format, (c)lear, or (o)ppenc mode off?" + msgstr "PGP (s)署名, (a)署名鍵選択, %s形式, (c)なし, (o)日和見暗号オフ " + + #. L10N: PGP options (inline) (opportunistic encryption is on) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1899 ++#: ncrypt/pgp.c:1901 + msgid "saico" + msgstr "saico" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1905 ++#: ncrypt/pgp.c:1907 + msgid "PGP (s)ign, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "PGP (s)署名, (a)署名鍵選択, (c)なし, (o)日和見暗号オフ " + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1907 ++#: ncrypt/pgp.c:1909 + msgid "saco" + msgstr "saco" + + #. L10N: PGP options (inline) (opportunistic encryption is off) +-#: ncrypt/pgp.c:1921 ++#: ncrypt/pgp.c:1923 + #, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, (c)lear, or (o)ppenc mode?" + msgstr "PGP (e)暗号化, (s)署名, (a)署名鍵選択, (b)暗号+署名, %s形式, (c)なし, (o)日和見暗号 " + + #. L10N: PGP options (inline) (opportunistic encryption is off) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1927 ++#: ncrypt/pgp.c:1929 + msgid "esabico" + msgstr "esabico" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1933 ++#: ncrypt/pgp.c:1935 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "PGP (e)暗号化, (s)署名, (a)署名鍵選択, (b)暗号+署名, (c)なし, (o)日和見暗号 " + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1936 ++#: ncrypt/pgp.c:1938 + msgid "esabco" + msgstr "esabco" + + #. L10N: PGP options (inline) +-#: ncrypt/pgp.c:1947 ++#: ncrypt/pgp.c:1949 + #, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, or (c)lear?" + msgstr "PGP (e)暗号化, (s)署名, (a)署名鍵選択, (b)暗号+署名, %s形式, (c)なし " + + #. L10N: PGP options (inline) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1953 ++#: ncrypt/pgp.c:1955 + msgid "esabic" + msgstr "esabic" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1959 ++#: ncrypt/pgp.c:1961 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (c)lear?" + msgstr "PGP (e)暗号化, (s)署名, (a)署名鍵選択, (b)暗号+署名, (c)なし " + + #. L10N: PGP options +-#: ncrypt/pgp.c:1961 ++#: ncrypt/pgp.c:1963 + msgid "esabc" + msgstr "esabc" + +-#: ncrypt/pgpinvoke.c:458 ++#: ncrypt/pgpinvoke.c:461 + msgid "Fetching PGP key..." + msgstr "PGP 鍵を取得中..." + +-#: ncrypt/pgpkey.c:640 ++#: ncrypt/pgpkey.c:643 + msgid "All matching keys are expired, revoked, or disabled" + msgstr "一致した鍵はすべて期限切れか廃棄済み、または使用禁止。" + +-#: ncrypt/pgpkey.c:681 ++#: ncrypt/pgpkey.c:714 + #, c-format + msgid "PGP keys matching <%s>" + msgstr "PGP 鍵は <%s> に一致。" + +-#: ncrypt/pgpkey.c:683 ++#: ncrypt/pgpkey.c:716 + #, c-format + msgid "PGP keys matching \"%s\"" + msgstr "PGP 鍵は \"%s\" に一致。" + +-#: ncrypt/pgpkey.c:700 ncrypt/pgpkey.c:909 ++#: ncrypt/pgpkey.c:733 ncrypt/pgpkey.c:944 + msgid "Can't open /dev/null" + msgstr "/dev/null をオープンできない" + +-#: ncrypt/pgpkey.c:938 ++#: ncrypt/pgpkey.c:973 + #, c-format + msgid "PGP Key %s" + msgstr "PGP 鍵 %s" + +-#: ncrypt/smime.c:182 ++#: ncrypt/smime.c:180 + msgid "Enter S/MIME passphrase:" + msgstr "S/MIME パスフレーズ入力:" + +@@ -4594,7 +4672,7 @@ msgstr "S/MIME パスフレーズ入力:" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:460 ++#: ncrypt/smime.c:462 + msgid "Expired " + msgstr "期限切れ " + +@@ -4604,7 +4682,7 @@ msgstr "期限切れ " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:468 ++#: ncrypt/smime.c:470 + msgid "Invalid " + msgstr "不正 " + +@@ -4613,7 +4691,7 @@ msgstr "不正 " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:476 ++#: ncrypt/smime.c:478 + msgid "Revoked " + msgstr "廃棄済み " + +@@ -4622,7 +4700,7 @@ msgstr "廃棄済み " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:484 ++#: ncrypt/smime.c:486 + msgid "Trusted " + msgstr "信用済み " + +@@ -4631,7 +4709,7 @@ msgstr "信用済み " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:492 ++#: ncrypt/smime.c:494 + msgid "Unverified" + msgstr "未検証 " + +@@ -4640,7 +4718,7 @@ msgstr "未検証 " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:500 ++#: ncrypt/smime.c:502 + msgid "Verified " + msgstr "検証済み " + +@@ -4649,59 +4727,59 @@ msgstr "検証済み " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:508 ++#: ncrypt/smime.c:510 + msgid "Unknown " + msgstr "不明 " + +-#: ncrypt/smime.c:545 ++#: ncrypt/smime.c:547 + #, c-format + msgid "S/MIME certificates matching \"%s\"" + msgstr "S/MIME 証明書は \"%s\" に一致。" + +-#: ncrypt/smime.c:589 ++#: ncrypt/smime.c:621 + #, fuzzy + msgid "ID is not trusted. Do you really want to use the key?" + msgstr "ID は信用されていない。 本当にこの鍵を使用?" + +-#: ncrypt/smime.c:910 ++#: ncrypt/smime.c:944 + msgid "Enter keyID: " + msgstr "鍵ID入力: " + +-#: ncrypt/smime.c:1055 ++#: ncrypt/smime.c:1089 + #, c-format + msgid "No (valid) certificate found for %s" + msgstr "%s の (正しい) 証明書が見つからない。" + +-#: ncrypt/smime.c:1108 ncrypt/smime.c:1137 ncrypt/smime.c:1209 +-#: ncrypt/smime.c:1243 ncrypt/smime.c:1319 ncrypt/smime.c:1399 ++#: ncrypt/smime.c:1142 ncrypt/smime.c:1171 ncrypt/smime.c:1243 ++#: ncrypt/smime.c:1277 ncrypt/smime.c:1353 ncrypt/smime.c:1433 + msgid "Error: unable to create OpenSSL subprocess" + msgstr "エラー: OpenSSL 子プロセス作成不能" + +-#: ncrypt/smime.c:1379 ++#: ncrypt/smime.c:1413 + msgid "Label for certificate: " + msgstr "証明書のラベル: " + +-#: ncrypt/smime.c:1480 ++#: ncrypt/smime.c:1514 + msgid "no certfile" + msgstr "証明書ファイルがない" + +-#: ncrypt/smime.c:1483 ++#: ncrypt/smime.c:1517 + msgid "no mbox" + msgstr "メールボックスがない" + +-#: ncrypt/smime.c:1640 ncrypt/smime.c:1810 ++#: ncrypt/smime.c:1674 ncrypt/smime.c:1844 + msgid "No output from OpenSSL..." + msgstr "OpenSSL から出力がない..." + +-#: ncrypt/smime.c:1727 ++#: ncrypt/smime.c:1761 + msgid "Can't sign: No key specified. Use Sign As." + msgstr "鍵が未指定のため署名不能: 「署名鍵選択」をせよ。" + +-#: ncrypt/smime.c:1777 ++#: ncrypt/smime.c:1811 + msgid "Can't open OpenSSL subprocess" + msgstr "OpenSSL 子プロセスオープン不能" + +-#: ncrypt/smime.c:2004 ncrypt/smime.c:2123 ++#: ncrypt/smime.c:2038 ncrypt/smime.c:2157 + msgid "" + "[-- End of OpenSSL output --]\n" + "\n" +@@ -4709,19 +4787,19 @@ msgstr "" + "[-- OpenSSL 出力終了 --]\n" + "\n" + +-#: ncrypt/smime.c:2080 ncrypt/smime.c:2093 ++#: ncrypt/smime.c:2114 ncrypt/smime.c:2127 + msgid "[-- Error: unable to create OpenSSL subprocess --]\n" + msgstr "[-- エラー: OpenSSL 子プロセスを作成できなかった --]\n" + +-#: ncrypt/smime.c:2129 ++#: ncrypt/smime.c:2163 + msgid "[-- The following data is S/MIME encrypted --]\n" + msgstr "[-- 以下のデータは S/MIME で暗号化されている --]\n" + +-#: ncrypt/smime.c:2132 ++#: ncrypt/smime.c:2166 + msgid "[-- The following data is S/MIME signed --]\n" + msgstr "[-- 以下のデータは S/MIME で署名されている --]\n" + +-#: ncrypt/smime.c:2225 ++#: ncrypt/smime.c:2259 + msgid "" + "\n" + "[-- End of S/MIME encrypted data. --]\n" +@@ -4729,7 +4807,7 @@ msgstr "" + "\n" + "[-- S/MIME 暗号化データ終了 --]\n" + +-#: ncrypt/smime.c:2227 ++#: ncrypt/smime.c:2261 + msgid "" + "\n" + "[-- End of S/MIME signed data. --]\n" +@@ -4738,169 +4816,169 @@ msgstr "" + "[-- S/MIME 署名データ終了 --]\n" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2361 ++#: ncrypt/smime.c:2395 + msgid "S/MIME (s)ign, encrypt (w)ith, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME (s)署名, (w)暗号選択, (a)署名鍵選択, (c)なし, (o)日和見暗号オフ " + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2364 ++#: ncrypt/smime.c:2398 + msgid "swaco" + msgstr "swaco" + + # 80-column 幅に入りきらないのでスペースなし + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2372 ++#: ncrypt/smime.c:2406 + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME (e)暗号化,(s)署名,(w)暗号選択,(a)署名鍵選択,(b)暗号+署名,(c)なし,(o)日和見暗号 " + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2375 ++#: ncrypt/smime.c:2409 + msgid "eswabco" + msgstr "eswabco" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2382 ++#: ncrypt/smime.c:2416 + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, or (c)lear?" + msgstr "S/MIME (e)暗号化, (s)署名, (w)暗号選択, (a)署名鍵選択, (b)暗号+署名, (c)なし " + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2385 ++#: ncrypt/smime.c:2419 + msgid "eswabc" + msgstr "eswabc" + +-#: ncrypt/smime.c:2449 ++#: ncrypt/smime.c:2483 + msgid "Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear?" + msgstr "アルゴリズムを選択: (1) DES系, (2) RC2系, (3) AES系, c:なし?" + + #. L10N: Options for: Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear? +-#: ncrypt/smime.c:2452 ++#: ncrypt/smime.c:2486 + msgid "123c" + msgstr "123c" + +-#: ncrypt/smime.c:2455 ++#: ncrypt/smime.c:2489 + msgid "(1) DES, (2) Triple-DES?" + msgstr "(1) DES, (2) トリプルDES?" + + #. L10N: Options for: (1) DES, (2) Triple-DES +-#: ncrypt/smime.c:2457 ++#: ncrypt/smime.c:2491 + msgid "12" + msgstr "12" + +-#: ncrypt/smime.c:2470 ++#: ncrypt/smime.c:2504 + msgid "(1) RC2-40, (2) RC2-64, (3) RC2-128?" + msgstr "(1) RC2-40, (2) RC2-64, (3) RC2-128?" + + # ちょっとどうかと思うが互換性のため残す + #. L10N: Options for: (1) RC2-40, (2) RC2-64, (3) RC2-128 + #. L10N: Options for: (1) AES128, (2) AES192, (3) AES256 +-#: ncrypt/smime.c:2472 ncrypt/smime.c:2490 ++#: ncrypt/smime.c:2506 ncrypt/smime.c:2524 + msgid "123" + msgstr "123" + +-#: ncrypt/smime.c:2488 ++#: ncrypt/smime.c:2522 + msgid "(1) AES128, (2) AES192, (3) AES256?" + msgstr "(1) AES128, (2) AES192, (3) AES256?" + +-#: nntp/newsrc.c:632 ++#: nntp/newsrc.c:639 + msgid "Loading list of groups from cache..." + msgstr "グループの一覧をキャッシュから読み込み中..." + +-#: nntp/newsrc.c:997 ++#: nntp/newsrc.c:1023 + msgid "No news server defined" + msgstr "ニュースサーバが指定されていない" + +-#: nntp/newsrc.c:1012 ++#: nntp/newsrc.c:1041 + #, fuzzy, c-format + msgid "%s is an invalid news server specification" + msgstr "%s は不正な POP パス" + +-#: nntp/nntp.c:236 nntp/nntp.c:777 pop/pop.c:742 pop/pop_lib.c:398 ++#: nntp/nntp.c:238 nntp/nntp.c:779 pop/pop.c:742 pop/pop_lib.c:424 + msgid "Server closed connection" + msgstr "サーバが接続を切った" + +-#: nntp/nntp.c:340 ++#: nntp/nntp.c:342 + #, fuzzy + msgid "Server doesn't support reader mode" + msgstr "SMTP サーバがユーザ認証をサポートしていない" + +-#: nntp/nntp.c:576 pop/pop_auth.c:504 smtp.c:650 ++#: nntp/nntp.c:578 pop/pop_auth.c:505 smtp.c:675 + msgid "No authenticators available" + msgstr "利用できる認証処理がない" + +-#: nntp/nntp.c:766 ++#: nntp/nntp.c:768 + #, fuzzy, c-format + msgid "%s authentication failed" + msgstr "SASL 認証に失敗した。" + +-#: nntp/nntp.c:826 ++#: nntp/nntp.c:828 + #, fuzzy, c-format + msgid "Connection to %s lost. Reconnect?" + msgstr "%s への接続を終了した" + +-#: nntp/nntp.c:1285 ++#: nntp/nntp.c:1287 + #, fuzzy + msgid "Fetching list of articles..." + msgstr "メッセージリストを取得中..." + +-#: nntp/nntp.c:1549 nntp/nntp.c:2138 pop/pop.c:614 pop/pop.c:910 ++#: nntp/nntp.c:1551 nntp/nntp.c:2140 pop/pop.c:614 pop/pop.c:905 + msgid "Checking for new messages..." + msgstr "新着メッセージ検出中..." + +-#: nntp/nntp.c:1864 nntp/nntp.c:1954 ++#: nntp/nntp.c:1866 nntp/nntp.c:1956 + #, fuzzy + msgid "Could not switch to reader mode" + msgstr "一時メールフォルダに書き込めなかった: %s" + +-#: nntp/nntp.c:1877 ++#: nntp/nntp.c:1879 + #, fuzzy, c-format + msgid "Connected to %s. %s" + msgstr "%s に接続中..." + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + #, fuzzy + msgid "Posting is ok" + msgstr "何もしない。" + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + msgid "Posting is NOT ok" + msgstr "" + + # system call の stat() を「属性調査」と訳している +-#: nntp/nntp.c:2008 nntp/nntp.c:2043 ++#: nntp/nntp.c:2010 nntp/nntp.c:2045 + #, fuzzy, c-format + msgid "Can't post article: %s" + msgstr "%s を属性調査できない: %s" + +-#: nntp/nntp.c:2064 ++#: nntp/nntp.c:2066 + #, fuzzy, c-format + msgid "Loading list of groups from server %s..." + msgstr "サーバからメッセージを削除中..." + +-#: nntp/nntp.c:2106 nntp/nntp.c:2198 ++#: nntp/nntp.c:2108 nntp/nntp.c:2200 + #, fuzzy + msgid "Loading descriptions..." + msgstr "ログイン中..." + +-#: nntp/nntp.c:2128 ++#: nntp/nntp.c:2130 + #, fuzzy + msgid "Checking for new newsgroups..." + msgstr "新着メッセージ検出中..." + +-#: nntp/nntp.c:2332 ++#: nntp/nntp.c:2334 + msgid "Unable to find child articles because server does not support XPAT command" + msgstr "サーバがXPATコマンドに対応していないため、子記事を見つけることができない" + +-#: nntp/nntp.c:2437 ++#: nntp/nntp.c:2439 + #, fuzzy, c-format + msgid "%s is an invalid newsgroup specification" + msgstr "%s は不正な POP パス" + +-#: nntp/nntp.c:2476 ++#: nntp/nntp.c:2478 + #, c-format + msgid "Newsgroup %s not found on the server" + msgstr "" + +-#: nntp/nntp.c:2498 ++#: nntp/nntp.c:2500 + #, c-format + msgid "Newsgroup %s has been removed from the server" + msgstr "" +@@ -4912,7 +4990,7 @@ msgstr "notmuch クエリをパースするのに失敗: %s" + + #: notmuch/mutt_notmuch.c:219 notmuch/mutt_notmuch.c:1939 + #, fuzzy, c-format +-msgid "failed to parse notmuch uri: %s" ++msgid "failed to parse notmuch url: %s" + msgstr "\"mailto:\" リンクの解析に失敗\n" + + #: notmuch/mutt_notmuch.c:449 +@@ -6043,187 +6121,187 @@ msgstr "サイドバーを(不)可にする" + msgid "show S/MIME options" + msgstr "S/MIME オプションを表示" + +-#: pager.c:222 ++#: pager.c:214 + msgid "Not available in this menu" + msgstr "このメニューでは利用できない。" + +-#: pager.c:229 ++#: pager.c:221 + msgid "PrevPg" + msgstr "前頁" + +-#: pager.c:230 ++#: pager.c:222 + msgid "NextPg" + msgstr "次頁" + +-#: pager.c:235 ++#: pager.c:227 + msgid "View Attachm." + msgstr "添付ファイル" + +-#: pager.c:238 pager.c:247 ++#: pager.c:230 pager.c:239 + msgid "Next" + msgstr "次" + + #. L10N: Status bar message: the entire email is visible in the pager + #. L10N: Status bar message: all the emails are visible in the index +-#: pager.c:2180 status.c:278 ++#: pager.c:2136 status.c:278 + msgid "all" + msgstr "" + + #. L10N: Status bar message: the end of the email is visible in the pager + #. L10N: Status bar message: the end of the list emails is visible in the index +-#: pager.c:2182 status.c:276 ++#: pager.c:2138 status.c:276 + msgid "end" + msgstr "" + +-#: pager.c:2530 pager.c:2566 pager.c:2602 pager.c:2937 ++#: pager.c:2503 pager.c:2539 pager.c:2576 pager.c:2911 + msgid "Bottom of message is shown" + msgstr "メッセージの一番下が表示されている" + +-#: pager.c:2543 pager.c:2573 pager.c:2580 pager.c:2590 ++#: pager.c:2516 pager.c:2546 pager.c:2553 pager.c:2564 + msgid "Top of message is shown" + msgstr "メッセージの一番上が表示されている" + +-#: pager.c:2840 ++#: pager.c:2814 + msgid "Help is currently being shown" + msgstr "現在ヘルプを表示中" + +-#: pager.c:2897 ++#: pager.c:2871 + msgid "No more quoted text" + msgstr "これ以上の引用文はない。" + +-#: pager.c:2914 ++#: pager.c:2888 + msgid "No more unquoted text after quoted text" + msgstr "引用文の後にはもう非引用文がない。" + +-#: pattern.c:220 pattern.c:297 pattern.c:1046 ++#: pattern.c:221 pattern.c:298 pattern.c:1085 + #, c-format + msgid "Error in expression: %s" + msgstr "右記の式中にエラー: %s" + +-#: pattern.c:226 pattern.c:302 pattern.c:1052 ++#: pattern.c:227 pattern.c:303 pattern.c:1091 + msgid "Empty expression" + msgstr "空の正規表現" + +-#: pattern.c:288 ++#: pattern.c:289 + #, fuzzy + msgid "No search command defined" + msgstr "問い合わせコマンドは定義されていない。" + +-#: pattern.c:326 ++#: pattern.c:327 + #, fuzzy, c-format + msgid "Running search command: %s ..." + msgstr "自動表示コマンド %s 起動" + +-#: pattern.c:417 ++#: pattern.c:441 pattern.c:456 + #, c-format + msgid "Invalid day of month: %s" + msgstr "%s は不正な日付" + +-#: pattern.c:431 ++#: pattern.c:446 pattern.c:470 + #, c-format + msgid "Invalid month: %s" + msgstr "%s は不正な月" + +-#: pattern.c:534 ++#: pattern.c:573 + #, c-format + msgid "Invalid relative date: %s" + msgstr "%s は不正な相対月日" + +-#: pattern.c:842 pattern.c:975 ++#: pattern.c:881 pattern.c:1014 + #, fuzzy + msgid "No current message" + msgstr "未読メッセージがない。" + +-#: pattern.c:1002 ++#: pattern.c:1041 + msgid "No Context" + msgstr "" + +-#: pattern.c:1125 ++#: pattern.c:1164 + #, fuzzy + msgid "Error opening 'memory stream'" + msgstr "メールボックスオープン時エラー" + +-#: pattern.c:1171 ++#: pattern.c:1210 + #, fuzzy + msgid "Error re-opening 'memory stream'" + msgstr "メールボックスオープン時エラー" + +-#: pattern.c:1180 ++#: pattern.c:1219 + #, fuzzy + msgid "Error opening /dev/null" + msgstr "/dev/null をオープンできない" + +-#: pattern.c:1443 pattern.c:1620 ++#: pattern.c:1482 pattern.c:1662 + #, c-format + msgid "error in pattern at: %s" + msgstr "%s パターン中にエラー" + +-#: pattern.c:1476 ++#: pattern.c:1515 + #, c-format + msgid "missing pattern: %s" + msgstr "パターンが不足: %s" + +-#: pattern.c:1494 pattern.c:1593 ++#: pattern.c:1533 pattern.c:1635 + #, c-format + msgid "mismatched parentheses: %s" + msgstr "対応する括弧がない: %s" + +-#: pattern.c:1559 ++#: pattern.c:1598 + #, c-format + msgid "%c: invalid pattern modifier" + msgstr "%c は不正なパターン修飾子" + +-#: pattern.c:1564 ++#: pattern.c:1603 + #, c-format + msgid "%c: not supported in this mode" + msgstr "%c はこのモードではサポートされていない" + +-#: pattern.c:1576 ++#: pattern.c:1618 + msgid "missing parameter" + msgstr "パラメータがない" + +-#: pattern.c:1626 ++#: pattern.c:1668 + msgid "empty pattern" + msgstr "パターンが空" + +-#: pattern.c:2080 pattern.c:2083 ++#: pattern.c:2202 pattern.c:2205 + msgid "error: server custom search only supported with IMAP" + msgstr "エラー: サーバカスタム検索はIMAPのみで有効" + +-#: pattern.c:2274 ++#: pattern.c:2398 + #, c-format + msgid "error: unknown op %d (report this error)" + msgstr "エラー: 不明な op %d (このエラーを報告せよ)。" + +-#: pattern.c:2448 pattern.c:2604 ++#: pattern.c:2572 pattern.c:2728 + msgid "Compiling search pattern..." + msgstr "検索パターンをコンパイル中..." + +-#: pattern.c:2468 ++#: pattern.c:2592 + msgid "Executing command on matching messages..." + msgstr "メッセージパターン検索のためにコマンド実行中..." + +-#: pattern.c:2537 ++#: pattern.c:2661 + msgid "No messages matched criteria" + msgstr "パターンに一致するメッセージがなかった。" + +-#: pattern.c:2641 ++#: pattern.c:2765 + msgid "Searching..." + msgstr "検索中..." + +-#: pattern.c:2655 ++#: pattern.c:2779 + msgid "Search hit bottom without finding match" + msgstr "一番下まで、何も検索に一致しなかった。" + +-#: pattern.c:2666 ++#: pattern.c:2790 + msgid "Search hit top without finding match" + msgstr "一番上まで、何も検索に一致しなかった。" + +-#: pattern.c:2700 ++#: pattern.c:2824 + msgid "Search interrupted" + msgstr "検索が中断された。" + +-#: pop/pop.c:216 pop/pop_lib.c:234 ++#: pop/pop.c:216 pop/pop_lib.c:259 + msgid "Command TOP is not supported by server" + msgstr "コマンド TOP をサーバがサポートしていない。" + +@@ -6231,7 +6309,7 @@ msgstr "コマンド TOP をサーバがサポートしていない。" + msgid "Can't write header to temporary file" + msgstr "ヘッダを一時ファイルに書き込めない" + +-#: pop/pop.c:420 pop/pop_lib.c:236 ++#: pop/pop.c:420 pop/pop_lib.c:261 + msgid "Command UIDL is not supported by server" + msgstr "コマンド UIDL をサーバがサポートしていない。" + +@@ -6245,7 +6323,7 @@ msgstr[0] "%d 通が消えている。メールボックスを再オープンし + msgid "POP host is not defined" + msgstr "POP ホストが定義されていない。" + +-#: pop/pop.c:596 pop/pop.c:825 ++#: pop/pop.c:596 pop/pop.c:790 pop/pop.c:820 + #, c-format + msgid "%s is an invalid POP path" + msgstr "%s は不正な POP パス" +@@ -6276,152 +6354,152 @@ msgid "%s [%d of %d message read]" + msgid_plural "%s [%d of %d messages read]" + msgstr[0] "%s [%d / %d メッセージ読み出し]" + +-#: pop/pop.c:876 ++#: pop/pop.c:871 + msgid "Fetching list of messages..." + msgstr "メッセージリストを取得中..." + +-#: pop/pop.c:959 ++#: pop/pop.c:954 + msgid "Marking messages deleted..." + msgstr "メッセージに削除をマーク中..." + +-#: pop/pop.c:1150 ++#: pop/pop.c:1145 + msgid "Can't write message to temporary file" + msgstr "メッセージを一時ファイルに書き込めない" + +-#: pop/pop_auth.c:103 ++#: pop/pop_auth.c:104 + msgid "Authenticating (SASL)..." + msgstr "認証中 (SASL)..." + +-#: pop/pop_auth.c:245 ++#: pop/pop_auth.c:246 + msgid "POP timestamp is invalid" + msgstr "POPタイムスタンプが不正" + +-#: pop/pop_auth.c:249 ++#: pop/pop_auth.c:250 + msgid "Authenticating (APOP)..." + msgstr "認証中 (APOP)..." + +-#: pop/pop_auth.c:269 ++#: pop/pop_auth.c:270 + msgid "APOP authentication failed" + msgstr "APOP 認証に失敗した。" + +-#: pop/pop_auth.c:309 ++#: pop/pop_auth.c:310 + msgid "Command USER is not supported by server" + msgstr "コマンド USER はサーバがサポートしていない。" + +-#: pop/pop_auth.c:386 ++#: pop/pop_auth.c:387 + #, fuzzy + msgid "Authentication failed" + msgstr "SASL 認証に失敗した" + +-#: pop/pop_lib.c:78 ++#: pop/pop_lib.c:103 + #, c-format + msgid "Invalid POP URL: %s" + msgstr "不正な POP URL: %s" + +-#: pop/pop_lib.c:232 ++#: pop/pop_lib.c:257 + msgid "Unable to leave messages on server" + msgstr "サーバにメッセージを残せない。" + +-#: pop/pop_lib.c:274 ++#: pop/pop_lib.c:300 + #, c-format + msgid "Error connecting to server: %s" + msgstr "サーバ %s への接続エラー。" + +-#: pop/pop_lib.c:414 ++#: pop/pop_lib.c:440 + msgid "Closing connection to POP server..." + msgstr "POP サーバへの接続終了中..." + +-#: pop/pop_lib.c:605 ++#: pop/pop_lib.c:631 + msgid "Verifying message indexes..." + msgstr "メッセージ索引検証中..." + +-#: pop/pop_lib.c:628 ++#: pop/pop_lib.c:654 + msgid "Connection lost. Reconnect to POP server?" + msgstr "接続が切れた。POP サーバに再接続?" + +-#: postpone.c:229 ++#: postpone.c:260 + msgid "Postponed Messages" + msgstr "書きかけのメッセージ" + +-#: postpone.c:314 postpone.c:326 ++#: postpone.c:348 postpone.c:372 + msgid "No postponed messages" + msgstr "書きかけメッセージがない。" + +-#: postpone.c:480 ++#: postpone.c:526 + msgid "Illegal S/MIME header" + msgstr "不正な S/MIME ヘッダ" + +-#: postpone.c:510 postpone.c:551 postpone.c:560 ++#: postpone.c:556 postpone.c:597 postpone.c:606 + msgid "Illegal crypto header" + msgstr "不正なセキュリティヘッダ" + +-#: postpone.c:644 postpone.c:752 postpone.c:780 ++#: postpone.c:690 postpone.c:798 postpone.c:826 + msgid "Decrypting message..." + msgstr "メッセージ復号化中..." + +-#: query.c:82 ++#: query.c:80 + msgid "New Query" + msgstr "新規問い合わせ" + +-#: query.c:83 ++#: query.c:81 + msgid "Make Alias" + msgstr "別名作成" + +-#: query.c:180 ++#: query.c:178 + msgid "Waiting for response..." + msgstr "応答待ち..." + +-#: query.c:362 query.c:400 ++#: query.c:365 query.c:434 + msgid "Query: " + msgstr "問い合わせ: " + +-#: query.c:370 query.c:407 ++#: query.c:374 query.c:442 + #, c-format + msgid "Query '%s'" + msgstr "問い合わせ '%s'" + +-#: query.c:620 query.c:657 ++#: query.c:661 query.c:698 + msgid "Query command not defined" + msgstr "問い合わせコマンドは定義されていない。" + +-#: recvattach.c:93 ++#: recvattach.c:91 + msgid "Pipe" + msgstr "パイプ" + +-#: recvattach.c:94 ++#: recvattach.c:92 + msgid "Print" + msgstr "印刷" + +-#: recvattach.c:569 ++#: recvattach.c:571 + msgid "Saving..." + msgstr "保存中..." + +-#: recvattach.c:573 recvattach.c:744 recvattach.c:748 ++#: recvattach.c:575 recvattach.c:746 recvattach.c:750 + #, fuzzy, c-format + msgid "Attachment saved" + msgid_plural "%d attachments saved" + msgstr[0] "添付ファイルを保存した。" + +-#: recvattach.c:772 ++#: recvattach.c:774 + #, c-format + msgid "WARNING! You are about to overwrite %s, continue?" + msgstr "警告! %s を上書きしようとしている。継続?" + +-#: recvattach.c:790 ++#: recvattach.c:792 + msgid "Attachment filtered" + msgstr "添付ファイルはコマンドを通してある。" + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Filter through: " + msgstr "表示のために通過させるコマンド: " + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Pipe to: " + msgstr "パイプするコマンド: " + + #. L10N: s gets replaced by a MIME type, e.g. "text/plain" or + #. application/octet-stream. +-#: recvattach.c:935 ++#: recvattach.c:937 + #, c-format + msgid "I don't know how to print %s attachments" + msgstr "どのように添付ファイル %s を印刷するか不明" +@@ -6429,55 +6507,55 @@ msgstr "どのように添付ファイル %s を印刷するか不明" + #. L10N: Although we now the precise number of tagged messages, we + #. do not show it to the user. So feel free to use a "generic + #. plural" as plural translation if your language has one. +-#: recvattach.c:1038 ++#: recvattach.c:1040 + #, fuzzy, c-format + msgid "Print tagged attachment?" + msgid_plural "Print %d tagged attachments?" + msgstr[0] "タグ付き添付ファイルを印刷?" + +-#: recvattach.c:1039 ++#: recvattach.c:1041 + #, c-format + msgid "Print attachment?" + msgstr "添付ファイルを印刷?" + +-#: recvattach.c:1123 ++#: recvattach.c:1125 + msgid "Structural changes to decrypted attachments are not supported" + msgstr "復号化されたメッセージの構造変更はサポートされていない" + +-#: recvattach.c:1291 ++#: recvattach.c:1293 + msgid "Can't decrypt encrypted message" + msgstr "暗号化メッセージを復号化できない" + +-#: recvattach.c:1425 ++#: recvattach.c:1457 + msgid "Attachments" + msgstr "添付ファイル" + +-#: recvattach.c:1465 ++#: recvattach.c:1497 + msgid "There are no subparts to show" + msgstr "表示すべき副パートがない" + +-#: recvattach.c:1520 ++#: recvattach.c:1552 + msgid "Can't delete attachment from POP server" + msgstr "POP サーバから添付ファイルを削除できない。" + +-#: recvattach.c:1529 ++#: recvattach.c:1561 + #, fuzzy + msgid "Can't delete attachment from news server" + msgstr "POP サーバから添付ファイルを削除できない。" + +-#: recvattach.c:1536 ++#: recvattach.c:1568 + msgid "Deletion of attachments from encrypted messages is unsupported" + msgstr "暗号化メッセージからの添付ファイルの削除はサポートされていない。" + +-#: recvattach.c:1542 ++#: recvattach.c:1574 + msgid "Deletion of attachments from signed messages may invalidate the signature" + msgstr "署名メッセージからの添付ファイルの削除は署名を不正にすることがある。" + +-#: recvattach.c:1561 recvattach.c:1578 ++#: recvattach.c:1593 recvattach.c:1610 + msgid "Only deletion of multipart attachments is supported" + msgstr "マルチパート添付ファイルの削除のみサポートされている。" + +-#: recvcmd.c:79 ++#: recvcmd.c:78 + msgid "You may only bounce message/rfc822 parts" + msgstr "message/rfc822 パートのみ再送してもよい。" + +@@ -6513,7 +6591,7 @@ msgstr "%s を作成できない。" + msgid "Can't find any tagged messages" + msgstr "タグ付きメッセージが一つも見つからない。" + +-#: recvcmd.c:848 send.c:1073 ++#: recvcmd.c:848 send.c:1072 + msgid "No mailing lists found" + msgstr "メーリングリストが見つからなかった" + +@@ -6528,67 +6606,67 @@ msgstr "タグ付き添付ファイルすべての復号化は失敗。成功分 + msgid "You may only compose to sender with message/rfc822 parts" + msgstr "message/rfc822 パートのみ再送してもよい。" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Append" + msgstr "追加" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Insert" + msgstr "挿入" + +-#: remailer.c:78 ++#: remailer.c:76 + msgid "OK" + msgstr "承認(OK)" + +-#: remailer.c:210 ++#: remailer.c:207 + msgid "" + msgstr "" + +-#: remailer.c:586 ++#: remailer.c:617 + msgid "Can't get mixmaster's type2.list" + msgstr "mixmaster の type2.list 取得できず" + +-#: remailer.c:612 ++#: remailer.c:673 + msgid "Select a remailer chain" + msgstr "remailer チェーンを選択。" + +-#: remailer.c:674 ++#: remailer.c:735 + #, c-format + msgid "Error: %s can't be used as the final remailer of a chain" + msgstr "エラー: %s は最後の remailer チェーンには使えない。" + + #. L10N The '%d' here hard-coded to 19 +-#: remailer.c:706 ++#: remailer.c:767 + #, c-format + msgid "Mixmaster chains are limited to %d elements" + msgstr "Mixmaster チェーンは %d エレメントに制限されている。" + +-#: remailer.c:729 ++#: remailer.c:790 + msgid "The remailer chain is already empty" + msgstr "remailer チェーンはすでに空。" + +-#: remailer.c:739 ++#: remailer.c:800 + msgid "You already have the first chain element selected" + msgstr "すでに最初のチェーンエレメントを選択している。" + +-#: remailer.c:749 ++#: remailer.c:810 + msgid "You already have the last chain element selected" + msgstr "すでに最後のチェーンエレメントを選択している。" + +-#: remailer.c:792 ++#: remailer.c:856 + msgid "Mixmaster doesn't accept Cc or Bcc headers" + msgstr "Mixmaster は Cc または Bcc ヘッダを受けつけない。" + +-#: remailer.c:817 ++#: remailer.c:881 + msgid "Please set the hostname variable to a proper value when using mixmaster" + msgstr "mixmaster を使う時には、hostname 変数に適切な値を設定せよ。" + +-#: remailer.c:860 ++#: remailer.c:924 + #, c-format + msgid "Error sending message, child exited %d.\n" + msgstr "メッセージ送信エラー、子プロセスが %d で終了。\n" + +-#: remailer.c:864 ++#: remailer.c:928 + msgid "Error sending message" + msgstr "メッセージ送信エラー。" + +@@ -6620,42 +6698,42 @@ msgstr "添付ファイルとして転送?" + # ここで no だと from に返信する。 + #. L10N: Asks whether the user respects the reply-to header. + #. If she says no, neomutt will reply to the from header's address instead. +-#: send.c:793 ++#: send.c:792 + #, c-format + msgid "Reply to %s%s?" + msgstr "%s%s への返信?" + +-#: send.c:838 ++#: send.c:837 + #, c-format + msgid "Follow-up to %s%s?" + msgstr "%s%s へのフォローアップ?" + +-#: send.c:1122 ++#: send.c:1121 + msgid "Include message in reply?" + msgstr "返信にメッセージを含めるか?" + +-#: send.c:1128 ++#: send.c:1127 + msgid "Including quoted message..." + msgstr "引用メッセージを取り込み中..." + +-#: send.c:1137 ++#: send.c:1136 + msgid "Could not include all requested messages" + msgstr "すべての要求されたメッセージを取り込めなかった" + +-#: send.c:1148 ++#: send.c:1147 + msgid "Forward as attachment?" + msgstr "添付ファイルとして転送?" + +-#: send.c:1153 ++#: send.c:1152 + msgid "Preparing forwarded message..." + msgstr "転送メッセージを準備中..." + +-#: send.c:1632 ++#: send.c:1631 + #, fuzzy + msgid "Fcc to an IMAP mailbox is not supported in batch mode" + msgstr "%c はこのモードではサポートされていない" + +-#: send.c:1664 send.c:1690 ++#: send.c:1665 send.c:1675 send.c:1701 + msgid "Save attachments in Fcc?" + msgstr "Fcc に添付ファイルも保存?" + +@@ -6663,194 +6741,194 @@ msgstr "Fcc に添付ファイルも保存?" + #. (r)etry tries the same mailbox again. + #. alternate (m)ailbox prompts for a different mailbox to try. + #. (s)kip aborts saving. +-#: send.c:1712 ++#: send.c:1723 + msgid "Fcc failed. (r)etry, alternate (m)ailbox, or (s)kip?" + msgstr "Fccに失敗. (r)etry 再試行, alternate (m)ailbox 別のメールボックス, (s)kip スキップ " + + #. L10N: These correspond to the "Fcc failed" multi-choice prompt + #. (r)etry, alternate (m)ailbox, or (s)kip. + #. Any similarity to famous leaders of the FSF is coincidental. +-#: send.c:1716 ++#: send.c:1727 + msgid "rms" + msgstr "" + + #. L10N: This is the prompt to enter an "alternate (m)ailbox" when the + #. initial Fcc fails. +-#: send.c:1722 ++#: send.c:1733 + #, fuzzy + msgid "Fcc mailbox" + msgstr "メールボックスの指定がない。\n" + +-#: send.c:1788 ++#: send.c:1799 + msgid "Can't postpone. $postponed is unset" + msgstr "" + +-#: send.c:1923 ++#: send.c:1934 + msgid "Recall postponed message?" + msgstr "書きかけのメッセージを呼び出す?" + +-#: send.c:2228 ++#: send.c:2239 + msgid "Edit forwarded message?" + msgstr "転送メッセージを編集?" + +-#: send.c:2266 ++#: send.c:2277 + msgid "Abort unmodified message?" + msgstr "メッセージは未変更。中止?" + +-#: send.c:2268 ++#: send.c:2279 + msgid "Aborted unmodified message" + msgstr "未変更のメッセージを中止した。" + +-#: send.c:2388 ++#: send.c:2399 + msgid "No crypto backend configured. Disabling message security setting." + msgstr "暗号バックエンドの設定がない. メッセージのセキュリティ設定を無効化した." + +-#: send.c:2427 ++#: send.c:2438 + msgid "Article not posted" + msgstr "記事は未投稿。" + +-#: send.c:2437 ++#: send.c:2448 + msgid "Message postponed" + msgstr "メッセージは書きかけで保留された。" + +-#: send.c:2470 ++#: send.c:2481 + msgid "No subject, abort sending?" + msgstr "題名がない。送信を中止?" + +-#: send.c:2474 send.c:2480 ++#: send.c:2485 send.c:2491 + msgid "No subject specified" + msgstr "題名が指定されていない。" + +-#: send.c:2486 ++#: send.c:2497 + msgid "No newsgroup specified" + msgstr "ニュースグループが指定されていない。" + +-#: send.c:2496 ++#: send.c:2507 + #, fuzzy + msgid "No attachments, cancel sending?" + msgstr "添付ファイルの content-trasfer-encoding を編集" + +-#: send.c:2501 ++#: send.c:2512 + msgid "Message contains text matching \"$abort_noattach_regex\". Not sending." + msgstr "メッセージは \"$abort_noattach_regex\" を含んでいる.送信しない." + +-#: send.c:2559 smtp.c:227 ++#: send.c:2570 smtp.c:230 + msgid "Sending message..." + msgstr "送信中..." + +-#: send.c:2598 ++#: send.c:2609 + msgid "Could not send the message" + msgstr "メッセージを送信できなかった。" + +-#: send.c:2608 ++#: send.c:2619 + msgid "Sending in background" + msgstr "バックグラウンドで送信。" + +-#: send.c:2609 ++#: send.c:2620 + msgid "Article posted" + msgstr "記事を投稿した。" + +-#: send.c:2610 ++#: send.c:2621 + msgid "Mail sent" + msgstr "メールを送信した。" + +-#: sendlib.c:567 ++#: sendlib.c:566 + msgid "No boundary parameter found [report this error]" + msgstr "boundary パラメータがみつからない [このエラーを報告せよ]" + +-#: sendlib.c:598 ++#: sendlib.c:597 + #, c-format + msgid "%s no longer exists" + msgstr "%s はもはや存在しない" + +-#: sendlib.c:1056 ++#: sendlib.c:1055 + #, c-format + msgid "%s isn't a regular file" + msgstr "%s は通常のファイルではない。" + +-#: sendlib.c:1223 ++#: sendlib.c:1222 + #, fuzzy + msgid "Could not find any mime.types file." + msgstr "メッセージを送信できなかった。" + +-#: sendlib.c:1314 ++#: sendlib.c:1313 + #, c-format + msgid "Could not open %s" + msgstr "%s をオープンできなかった" + +-#: sendlib.c:2864 ++#: sendlib.c:2855 + msgid "$sendmail must be set in order to send mail" + msgstr "$sendmail を設定しないとメールを送信できない。" + +-#: sendlib.c:2971 ++#: sendlib.c:2962 + #, c-format + msgid "Error sending message, child exited %d (%s)" + msgstr "メッセージ送信エラー。子プロセスが %d (%s) で終了した。" + +-#: sendlib.c:2977 ++#: sendlib.c:2969 + msgid "Output of the delivery process" + msgstr "配信プロセスの出力" + +-#: sendlib.c:3157 ++#: sendlib.c:3154 + #, c-format + msgid "Bad IDN %s while preparing resent-from" + msgstr "不正な IDN %s を resent-from の準備中に発見。" + +-#: smtp.c:165 ++#: smtp.c:168 + #, c-format + msgid "SMTP session failed: %s" + msgstr "SMTP セッション失敗: %s" + +-#: smtp.c:222 ++#: smtp.c:225 + #, c-format + msgid "SMTP session failed: unable to open %s" + msgstr "SMTP セッション失敗: %s をオープンできなかった" + +-#: smtp.c:339 ++#: smtp.c:364 + #, c-format + msgid "Invalid SMTP URL: %s" + msgstr "不正な SMTP URL: %s" + +-#: smtp.c:618 ++#: smtp.c:643 + #, c-format + msgid "SMTP authentication method %s requires SASL" + msgstr "SMTP認証の方法 %s はSASLが必要" + +-#: smtp.c:625 ++#: smtp.c:650 + #, c-format + msgid "%s authentication failed, trying next method" + msgstr "%s 認証に失敗した。次の方法で試行中" + +-#: smtp.c:636 ++#: smtp.c:661 + #, fuzzy + msgid "SMTP authentication requires SASL" + msgstr "GSSAPI 認証に失敗した。" + +-#: smtp.c:717 ++#: smtp.c:742 + msgid "SMTP server does not support authentication" + msgstr "SMTP サーバがユーザ認証をサポートしていない" + +-#: smtp.c:756 ++#: smtp.c:781 + msgid "No from address given" + msgstr "From アドレスが指定されていない" + +-#: smtp.c:821 ++#: smtp.c:846 + msgid "SMTP session failed: read error" + msgstr "SMTP セッション失敗: 読み出しエラー" + +-#: smtp.c:823 ++#: smtp.c:848 + msgid "SMTP session failed: write error" + msgstr "SMTP セッション失敗: 書き込みエラー" + +-#: smtp.c:825 ++#: smtp.c:850 + msgid "Invalid server response" + msgstr "サーバからの不正な応答" + +-#: sort.c:385 ++#: sort.c:387 + msgid "Sorting mailbox..." + msgstr "メールボックス整列中..." + +-#: sort.c:427 ++#: sort.c:429 + msgid "Could not find sorting function [report this bug]" + msgstr "整列機能が見つからなかった [このバグを報告せよ]" + +@@ -6911,12 +6989,12 @@ msgid "" + "under certain conditions; type 'neomutt -vv' for details.\n" + msgstr "" + +-#: version.c:446 ++#: version.c:451 + #, fuzzy + msgid "Default options:" + msgstr "コンパイル時オプション:" + +-#: version.c:449 ++#: version.c:454 + msgid "Compile options:" + msgstr "コンパイル時オプション:" + +@@ -6949,3 +7027,12 @@ msgstr "コンパイル時オプション:" + + #~ msgid "select a new mailbox from the browser in read only mode" + #~ msgstr "ブラウザから新しいメールボックスを読出専用モードで選択" ++ ++#~ msgid "Error creating autocrypt key: %s\n" ++#~ msgstr "autocrypt 鍵の作成エラー: %s\n" ++ ++#~ msgid "(c)reate new, or (s)elect existing GPG key? " ++#~ msgstr "c:新規作成, s:既存のGPG鍵 " ++ ++#~ msgid "Autocrypt: (e)ncrypt, (c)lear, (a)utomatic? " ++#~ msgstr "Autocrypt: e:暗号化, c:なし, a:自動選択 " +diff --git a/po/ko.po b/po/ko.po +index cc4555b38..5a3c09b63 100644 +--- a/po/ko.po ++++ b/po/ko.po +@@ -11,7 +11,7 @@ msgid "" + msgstr "" + "Project-Id-Version: neomutt-2019-12-07\n" + "Report-Msgid-Bugs-To: neomutt-devel@neomutt.org\n" +-"POT-Creation-Date: 2019-12-06 23:10+0000\n" ++"POT-Creation-Date: 2020-03-09 12:15+0000\n" + "PO-Revision-Date: 2004-03-03 10:25+900\n" + "Last-Translator: Im Eunjea \n" + "Language-Team: Im Eunjea \n" +@@ -21,16 +21,44 @@ msgstr "" + "Content-Transfer-Encoding: 8bit\n" + "Plural-Forms: nplurals=1; plural=0;\n" + +-#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:59 browser.c:80 browser.c:90 +-#: mutt_history.c:45 pager.c:228 postpone.c:68 query.c:80 recvattach.c:93 ++#, fuzzy ++msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" ++msgstr "거부(r), 이번만 허가(o), 언제나 허가(a)" ++ ++#, fuzzy ++msgid "roas" ++msgstr "roa" ++ ++msgid "(r)eject, accept (o)nce, (a)ccept always" ++msgstr "거부(r), 이번만 허가(o), 언제나 허가(a)" ++ ++msgid "roa" ++msgstr "roa" ++ ++#, fuzzy ++msgid "(r)eject, accept (o)nce, (s)kip" ++msgstr "거부(r), 이번만 허가(o)" ++ ++#, fuzzy ++msgid "ros" ++msgstr "ro" ++ ++msgid "(r)eject, accept (o)nce" ++msgstr "거부(r), 이번만 허가(o)" ++ ++msgid "ro" ++msgstr "ro" ++ ++#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:58 browser.c:79 browser.c:89 ++#: mutt_history.c:45 pager.c:220 postpone.c:68 query.c:78 recvattach.c:91 + msgid "Exit" + msgstr "종료" + +-#: addrbook.c:56 index.c:116 index.c:129 pager.c:236 pager.c:246 postpone.c:69 ++#: addrbook.c:56 index.c:112 index.c:125 pager.c:228 pager.c:238 postpone.c:69 + msgid "Del" + msgstr "삭제" + +-#: addrbook.c:57 index.c:117 index.c:130 postpone.c:70 ++#: addrbook.c:57 index.c:113 index.c:126 postpone.c:70 + msgid "Undel" + msgstr "복구" + +@@ -38,18 +66,18 @@ msgstr "복구" + msgid "Select" + msgstr "선택" + +-#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:82 browser.c:84 browser.c:96 +-#: compose.c:218 compose.c:230 conn/ssl.c:983 conn/ssl_gnutls.c:691 index.c:122 +-#: index.c:135 mutt_history.c:48 ncrypt/crypt_gpgme.c:4735 ncrypt/pgpkey.c:670 +-#: ncrypt/smime.c:553 pager.c:2326 postpone.c:71 query.c:85 recvattach.c:94 ++#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:81 browser.c:83 browser.c:95 ++#: compose.c:216 compose.c:228 conn/ssl.c:996 conn/ssl_gnutls.c:722 index.c:118 ++#: index.c:131 mutt_history.c:48 ncrypt/crypt_gpgme.c:4783 ncrypt/pgpkey.c:673 ++#: ncrypt/smime.c:555 pager.c:2297 postpone.c:71 query.c:83 recvattach.c:92 + msgid "Help" + msgstr "도움말" + +-#: addrbook.c:208 ++#: addrbook.c:238 + msgid "You have no aliases" + msgstr "별칭이 없음" + +-#: addrbook.c:215 ++#: addrbook.c:276 + msgid "Aliases" + msgstr "별칭" + +@@ -58,53 +86,53 @@ msgstr "별칭" + msgid "Alias as: " + msgstr "사용 별칭: " + +-#: alias.c:411 ++#: alias.c:414 + msgid "You already have an alias defined with that name" + msgstr "같은 이름의 별칭이 이미 있음" + +-#: alias.c:417 ++#: alias.c:420 + msgid "Warning: This alias name may not work. Fix it?" + msgstr "경고: 이 알리아스는 작동하지 않습니다. 고칠까요?" + +-#: alias.c:442 ++#: alias.c:445 + msgid "Address: " + msgstr "주소: " + +-#: alias.c:453 commands.c:444 compose.c:744 conn/conn_raw.c:152 +-#: conn/conn_raw.c:210 recvcmd.c:232 send.c:228 ++#: alias.c:457 commands.c:450 compose.c:743 conn/conn_raw.c:152 ++#: conn/conn_raw.c:210 recvcmd.c:231 send.c:227 + #, c-format + msgid "Bad IDN: '%s'" + msgstr "잘못된 IDN: '%s'" + +-#: alias.c:464 ++#: alias.c:468 + msgid "Personal name: " + msgstr "이름: " + +-#: alias.c:473 ++#: alias.c:477 + #, c-format + msgid "[%s = %s] Accept?" + msgstr "[%s = %s] 추가할까요?" + +-#: alias.c:484 recvattach.c:528 recvattach.c:550 recvattach.c:564 +-#: recvattach.c:579 recvattach.c:678 ++#: alias.c:488 recvattach.c:530 recvattach.c:552 recvattach.c:566 ++#: recvattach.c:581 recvattach.c:680 + msgid "Save to file: " + msgstr "파일로 저장: " + +-#: alias.c:503 ++#: alias.c:507 + #, fuzzy + msgid "Error reading alias file" + msgstr "파일 보기 시도 중 오류" + +-#: alias.c:525 ++#: alias.c:529 + #, fuzzy + msgid "Trouble adding alias" + msgstr "파일 보기 시도 중 오류" + +-#: alias.c:527 ++#: alias.c:531 + msgid "Alias added" + msgstr "별칭 추가됨" + +-#: alias.c:532 ++#: alias.c:536 + #, fuzzy + msgid "Error seeking in alias file" + msgstr "파일 보기 시도 중 오류" +@@ -114,7 +142,7 @@ msgstr "파일 보기 시도 중 오류" + #. for some reason (e.g. autocrypt, header cache, bcache), but it + #. doesn't exist. The prompt is asking whether to create the directory + #. +-#: autocrypt/autocrypt.c:70 main.c:826 ++#: autocrypt/autocrypt.c:70 main.c:757 + #, c-format + msgid "%s does not exist. Create it?" + msgstr "%s가 없음. 만들까요?" +@@ -123,8 +151,8 @@ msgstr "%s가 없음. 만들까요?" + #. mkdir() on the directory %s failed. The second %s is the + #. error message returned by libc + #. +-#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:830 +-#: nntp/newsrc.c:1069 ++#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:761 ++#: nntp/newsrc.c:1098 + #, c-format + msgid "Can't create %s: %s" + msgstr "%s를 만들 수 없음: %s" +@@ -134,7 +162,7 @@ msgstr "%s를 만들 수 없음: %s" + #. create $autocrypt_dir and then prompt to create an autocrypt + #. account with this message. + #. +-#: autocrypt/autocrypt.c:156 ++#: autocrypt/autocrypt.c:163 + msgid "Create an initial autocrypt account?" + msgstr "" + +@@ -143,7 +171,7 @@ msgstr "" + #. autocrypt account. This will generate a key and add a record + #. to the database for use in autocrypt operations. + #. +-#: autocrypt/autocrypt.c:180 ++#: autocrypt/autocrypt.c:187 + msgid "Autocrypt account address: " + msgstr "" + +@@ -152,7 +180,7 @@ msgstr "" + #. a single address. This is shown if they entered something invalid, + #. nothing, or more than one address for some reason. + #. +-#: autocrypt/autocrypt.c:191 ++#: autocrypt/autocrypt.c:198 + msgid "Please enter a single email address" + msgstr "" + +@@ -161,7 +189,7 @@ msgstr "" + #. if there is already an account in the database with the email address + #. they just entered. + #. +-#: autocrypt/autocrypt.c:208 ++#: autocrypt/autocrypt.c:215 + msgid "That email address already has an autocrypt account" + msgstr "" + +@@ -173,7 +201,7 @@ msgstr "" + #. Otherwise the UI will show encryption is "available" but the user + #. will be required to enable encryption manually. + #. +-#: autocrypt/autocrypt.c:223 ++#: autocrypt/autocrypt.c:230 + #, fuzzy + msgid "Prefer encryption?" + msgstr "암호화" +@@ -181,7 +209,7 @@ msgstr "암호화" + #. L10N: + #. Message displayed after an autocrypt account is successfully created. + #. +-#: autocrypt/autocrypt.c:236 ++#: autocrypt/autocrypt.c:243 + msgid "Autocrypt account creation succeeded" + msgstr "" + +@@ -189,7 +217,7 @@ msgstr "" + #. Error message displayed if creating an autocrypt account failed + #. or was aborted by the user. + #. +-#: autocrypt/autocrypt.c:242 ++#: autocrypt/autocrypt.c:249 + msgid "Autocrypt account creation aborted" + msgstr "" + +@@ -198,7 +226,7 @@ msgstr "" + #. to use to encrypt, but it can't find a valid keyid for this address. + #. The message is printed and they are returned to the compose menu. + #. +-#: autocrypt/autocrypt.c:610 autocrypt/autocrypt.c:639 ++#: autocrypt/autocrypt.c:617 autocrypt/autocrypt.c:646 + #, fuzzy, c-format + msgid "No (valid) autocrypt key found for %s" + msgstr "%s를 위한 인증서를 찾을 수 없음" +@@ -210,12 +238,12 @@ msgstr "%s를 위한 인증서를 찾을 수 없음" + #. and used for encryption. + #. If this is answered yes, they will be prompted for a mailbox. + #. +-#: autocrypt/autocrypt.c:903 ++#: autocrypt/autocrypt.c:910 + msgid "Scan a mailbox for autocrypt headers?" + msgstr "" + + #. L10N: The prompt for a mailbox to scan for Autocrypt: headers +-#: autocrypt/autocrypt.c:907 ++#: autocrypt/autocrypt.c:914 + #, fuzzy + msgid "Scan mailbox" + msgstr "메일함 없음.\n" +@@ -227,14 +255,14 @@ msgstr "메일함 없음.\n" + #. for a mailbox. This is because this is a one-time operation + #. and I don't want them to accidentally ctrl-g and abort it. + #. +-#: autocrypt/autocrypt.c:927 ++#: autocrypt/autocrypt.c:934 + msgid "Scan another mailbox for autocrypt headers?" + msgstr "" + + #. L10N: Autocrypt Account Menu Help line: + #. create new account + #. +-#: autocrypt/autocrypt_acct_menu.c:63 ++#: autocrypt/autocrypt_acct_menu.c:62 + #, fuzzy + msgid "Create" + msgstr "%s를 만들까요?" +@@ -242,7 +270,7 @@ msgstr "%s를 만들까요?" + #. L10N: Autocrypt Account Menu Help line: + #. delete account + #. +-#: autocrypt/autocrypt_acct_menu.c:67 remailer.c:77 ++#: autocrypt/autocrypt_acct_menu.c:66 remailer.c:75 + msgid "Delete" + msgstr "삭제" + +@@ -250,9 +278,9 @@ msgstr "삭제" + #. toggle an account active/inactive + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:74 ++#: autocrypt/autocrypt_acct_menu.c:73 + msgid "Tgl Active" + msgstr "" + +@@ -260,17 +288,17 @@ msgstr "" + #. toggle "prefer-encrypt" on an account + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:81 +-msgid "Prf Enc" ++#: autocrypt/autocrypt_acct_menu.c:80 ++msgid "Prf Encr" + msgstr "" + + #. L10N: + #. Autocrypt Account menu. + #. flag that an account has prefer-encrypt set + #. +-#: autocrypt/autocrypt_acct_menu.c:123 ++#: autocrypt/autocrypt_acct_menu.c:122 + msgid "prefer encrypt" + msgstr "" + +@@ -279,7 +307,7 @@ msgstr "" + #. flag that an account has prefer-encrypt unset; + #. thus encryption will need to be manually enabled. + #. +-#: autocrypt/autocrypt_acct_menu.c:130 ++#: autocrypt/autocrypt_acct_menu.c:129 + msgid "manual encrypt" + msgstr "" + +@@ -287,7 +315,7 @@ msgstr "" + #. Autocrypt Account menu. + #. flag that an account is enabled/active + #. +-#: autocrypt/autocrypt_acct_menu.c:138 ++#: autocrypt/autocrypt_acct_menu.c:137 + msgid "active" + msgstr "" + +@@ -295,12 +323,12 @@ msgstr "" + #. Autocrypt Account menu. + #. flag that an account is disabled/inactive + #. +-#: autocrypt/autocrypt_acct_menu.c:144 ++#: autocrypt/autocrypt_acct_menu.c:143 + msgid "inactive" + msgstr "" + + #. L10N: Autocrypt Account Management Menu title +-#: autocrypt/autocrypt_acct_menu.c:183 ++#: autocrypt/autocrypt_acct_menu.c:182 + msgid "Autocrypt Accounts" + msgstr "" + +@@ -308,13 +336,13 @@ msgstr "" + #. This error message is displayed if a database update of an + #. account record fails for some odd reason. + #. +-#: autocrypt/autocrypt_acct_menu.c:245 autocrypt/autocrypt_acct_menu.c:259 ++#: autocrypt/autocrypt_acct_menu.c:244 autocrypt/autocrypt_acct_menu.c:258 + #, fuzzy + msgid "Error updating account record" + msgstr "디렉토리 검사중 오류" + + #. L10N: Confirmation message when deleting an autocrypt account +-#: autocrypt/autocrypt_acct_menu.c:302 ++#: autocrypt/autocrypt_acct_menu.c:333 + #, fuzzy, c-format + msgid "Really delete account \"%s\"?" + msgstr "정말로 \"%s\" 메일함을 지울까요?" +@@ -332,7 +360,7 @@ msgstr "정말로 \"%s\" 메일함을 지울까요?" + msgid "Unable to open autocrypt database %s" + msgstr "메일함을 잠글 수 없음!" + +-#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:774 ++#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:773 + #, fuzzy, c-format + msgid "error creating gpgme context: %s" + msgstr "패턴 오류: %s" +@@ -405,497 +433,616 @@ msgstr "" + msgid "Message cache isn't a directory: %s" + msgstr "%s는 디렉토리가 아닙니다" + +-#: browser.c:81 ++#: browser.c:80 + msgid "Chdir" + msgstr "디렉토리 이동" + +-#: browser.c:82 ++#: browser.c:81 + msgid "Goto" + msgstr "" + +-#: browser.c:83 browser.c:95 ++#: browser.c:82 browser.c:94 + msgid "Mask" + msgstr "매스크" + +-#: browser.c:91 ++#: browser.c:90 + msgid "List" + msgstr "" + +-#: browser.c:92 ++#: browser.c:91 + #, fuzzy + msgid "Subscribe" + msgstr "%s에 가입 중..." + +-#: browser.c:93 ++#: browser.c:92 + #, fuzzy + msgid "Unsubscribe" + msgstr "%s에서 가입 탈퇴 중..." + +-#: browser.c:94 index.c:134 ++#: browser.c:93 index.c:130 + msgid "Catchup" + msgstr "" + +-#: browser.c:760 browser.c:1519 browser.c:1758 ++#: browser.c:763 browser.c:1584 browser.c:1825 + #, c-format + msgid "%s is not a directory" + msgstr "%s는 디렉토리가 아닙니다" + +-#: browser.c:1025 ++#: browser.c:1028 + #, fuzzy, c-format + msgid "Subscribed newsgroups" + msgstr "%s에 가입 중..." + +-#: browser.c:1028 ++#: browser.c:1031 + #, c-format + msgid "Newsgroups on server [%s]" + msgstr "" + +-#: browser.c:1038 ++#: browser.c:1041 + #, c-format + msgid "Mailboxes [%d]" + msgstr "메일함 [%d]" + +-#: browser.c:1050 ++#: browser.c:1053 + #, c-format + msgid "Subscribed [%s], File mask: %s" + msgstr "가입 [%s], 파일 매스크: %s" + +-#: browser.c:1056 ++#: browser.c:1059 + #, c-format + msgid "Directory [%s], File mask: %s" + msgstr "디렉토리 [%s], 파일 매스크: %s" + +-#: browser.c:1113 ++#: browser.c:1116 + msgid "Can't attach a directory" + msgstr "디렉토리는 첨부할 수 없음" + +-#: browser.c:1380 browser.c:1814 browser.c:1959 ++#: browser.c:1445 browser.c:1881 browser.c:2026 + msgid "No files match the file mask" + msgstr "파일 매스크와 일치하는 파일 없음." + +-#: browser.c:1587 ++#: browser.c:1654 + msgid "Create is only supported for IMAP mailboxes" + msgstr "생성은 IMAP 메일함에서만 지원됨" + +-#: browser.c:1609 ++#: browser.c:1676 + #, fuzzy + msgid "Rename is only supported for IMAP mailboxes" + msgstr "생성은 IMAP 메일함에서만 지원됨" + +-#: browser.c:1630 ++#: browser.c:1697 + msgid "Delete is only supported for IMAP mailboxes" + msgstr "삭제는 IMAP 메일함에서만 지원됨" + +-#: browser.c:1642 ++#: browser.c:1709 + #, fuzzy + msgid "Can't delete currently selected mailbox" + msgstr "현재 선택된 파일의 이름 보기" + +-#: browser.c:1646 ++#: browser.c:1713 + #, c-format + msgid "Really delete mailbox \"%s\"?" + msgstr "정말로 \"%s\" 메일함을 지울까요?" + +-#: browser.c:1663 ++#: browser.c:1730 + msgid "Mailbox deleted" + msgstr "메일함 삭제됨" + +-#: browser.c:1667 ++#: browser.c:1734 + #, fuzzy + msgid "Mailbox deletion failed" + msgstr "메일함 삭제됨" + +-#: browser.c:1670 ++#: browser.c:1737 + msgid "Mailbox not deleted" + msgstr "메일함이 삭제되지 않음" + +-#: browser.c:1697 ++#: browser.c:1764 + msgid "Chdir to: " + msgstr "이동할 디렉토리: " + +-#: browser.c:1747 browser.c:1808 ++#: browser.c:1814 browser.c:1875 + msgid "Error scanning directory" + msgstr "디렉토리 검사중 오류" + +-#: browser.c:1769 ++#: browser.c:1836 + msgid "File Mask: " + msgstr "파일 매스크: " + + #. L10N: The highlighted letters must match the "Sort" options +-#: browser.c:1831 ++#: browser.c:1898 + #, fuzzy + msgid "Reverse sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "역순정렬 방법: 날짜(d), 낱말(a), 크기(z), 안함(n)?" + + #. L10N: The highlighted letters must match the "Reverse Sort" options +-#: browser.c:1834 ++#: browser.c:1901 + #, fuzzy + msgid "Sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "정렬 방법: 날짜(d), 글자(a), 크기(z), 안함(n)?" + + #. L10N: These must match the highlighted letters from "Sort" and "Reverse Sort" +-#: browser.c:1837 ++#: browser.c:1904 + msgid "dazecwn" + msgstr "" + +-#: browser.c:1948 ++#: browser.c:2015 + msgid "New file name: " + msgstr "새 파일 이름: " + +-#: browser.c:1976 ++#: browser.c:2043 + msgid "Can't view a directory" + msgstr "디렉토리를 볼 수 없음" + +-#: browser.c:1993 ++#: browser.c:2060 + msgid "Error trying to view file" + msgstr "파일 보기 시도 중 오류" + +-#: browser.c:2079 ++#: browser.c:2146 + #, fuzzy, c-format + msgid "Subscribe pattern: " + msgstr "%s에 가입 중..." + +-#: browser.c:2081 ++#: browser.c:2148 + #, fuzzy, c-format + msgid "Unsubscribe pattern: " + msgstr "%s에서 가입 탈퇴 중..." + +-#: browser.c:2101 ++#: browser.c:2169 + #, fuzzy + msgid "No newsgroups match the mask" + msgstr "파일 매스크와 일치하는 파일 없음." + +-#: color.c:633 color.c:644 +-#, c-format +-msgid "%s: color not supported by term" +-msgstr "%s: 터미널에서 지원되지 않는 색." +- +-#: color.c:652 +-#, c-format +-msgid "%s: no such color" +-msgstr "%s: 색상 없음." +- +-#: color.c:717 color.c:740 color.c:751 color.c:842 +-#, c-format +-msgid "%s: no such object" +-msgstr "%s: 항목 없음" +- +-#: color.c:731 color.c:868 color.c:1069 color.c:1098 color.c:1122 color.c:1191 +-#: color.c:1214 hook.c:110 hook.c:124 hook.c:367 hook.c:383 init.c:612 +-#: init.c:620 init.c:709 init.c:1099 init.c:1267 init.c:1871 init.c:1929 +-#: keymap.c:1184 score.c:110 +-#, c-format +-msgid "%s: too few arguments" +-msgstr "%s: 인수가 부족함" +- +-#: color.c:1142 +-#, c-format +-msgid "%s: no such attribute" +-msgstr "%s: 속성 없음." +- +-#: color.c:1223 color.c:1329 hook.c:131 hook.c:390 init.c:1123 init.c:2133 +-#: init.c:2611 keymap.c:1116 keymap.c:1289 keymap.c:1442 keymap.c:1506 +-#: mutt_lua.c:483 score.c:119 +-#, c-format +-msgid "%s: too many arguments" +-msgstr "%s: 인수가 너무 많음" +- +-#: color.c:1244 +-msgid "default colors not supported" +-msgstr "기본 색상들이 지원되지 않음" +- +-#: color.c:1282 +-#, c-format +-msgid "Maximum quoting level is %d" +-msgstr "" +- +-#: color.c:1319 +-#, fuzzy, c-format +-msgid "%s: invalid number: %s" +-msgstr "%d: 잘못된 메일 번호.\n" +- + #. L10N: Used for the $crypt_verify_sig prompt +-#: commands.c:230 ++#: commands.c:232 + msgid "Verify signature?" + msgstr "서명을 확인할까요?" + +-#: commands.c:257 mbox/mbox.c:1236 ++#: commands.c:259 mbox/mbox.c:1236 + msgid "Could not create temporary file" + msgstr "임시 파일을 만들 수 없음" + +-#: commands.c:269 ++#: commands.c:271 + msgid "Can't create display filter" + msgstr "표시 필터를 만들 수 없음" + +-#: commands.c:302 ++#: commands.c:304 + msgid "Could not copy message" + msgstr "메일을 복사할 수 없음" + +-#: commands.c:338 ++#: commands.c:340 + msgid "S/MIME signature successfully verified" + msgstr "S/MIME 서명 확인에 성공함" + +-#: commands.c:340 ++#: commands.c:342 + msgid "S/MIME certificate owner does not match sender" + msgstr "S/MIME 인증서 소유자와 보낸이가 일치하지 않음" + +-#: commands.c:343 commands.c:353 ++#: commands.c:345 commands.c:355 + msgid "Warning: Part of this message has not been signed" + msgstr "" + +-#: commands.c:345 ++#: commands.c:347 + msgid "S/MIME signature could NOT be verified" + msgstr "S/MIME 서명 검증에 실패함" + +-#: commands.c:351 ++#: commands.c:353 + msgid "PGP signature successfully verified" + msgstr "PGP 서명 확인에 성공함" + +-#: commands.c:355 ++#: commands.c:357 + msgid "PGP signature could NOT be verified" + msgstr "PGP 서명 검증에 실패함" + +-#: commands.c:372 compose.c:2116 compress.c:321 curs_lib.c:359 curs_lib.c:646 +-#: index.c:1235 index.c:1285 mutt_attach.c:159 mutt_attach.c:292 pager.c:2460 +-#: sendlib.c:1625 ++#: commands.c:378 compose.c:2187 compress/compress.c:320 gui/curs_lib.c:360 ++#: gui/curs_lib.c:714 index.c:1240 index.c:1290 mutt_attach.c:161 ++#: mutt_attach.c:294 pager.c:2433 sendlib.c:1624 + #, c-format + msgid "Error running \"%s\"" + msgstr "\"%s\" 실행 오류" + +-#: commands.c:382 ++#: commands.c:388 + msgid "Command: " + msgstr "명령어: " + +-#: commands.c:419 recvcmd.c:191 recvcmd.c:203 ++#: commands.c:425 recvcmd.c:190 recvcmd.c:202 + msgid "Warning: message contains no From: header" + msgstr "" + +-#: commands.c:425 recvcmd.c:212 ++#: commands.c:431 recvcmd.c:211 + #, fuzzy + msgid "Bounce message to: " + msgstr "메일을 전달할 주소: " + +-#: commands.c:427 recvcmd.c:214 ++#: commands.c:433 recvcmd.c:213 + #, fuzzy + msgid "Bounce tagged messages to: " + msgstr "메일을 전달할 주소: " + +-#: commands.c:436 recvcmd.c:224 ++#: commands.c:442 recvcmd.c:223 + msgid "Error parsing address" + msgstr "주소 분석 중 오류" + +-#: commands.c:455 recvcmd.c:243 ++#: commands.c:461 recvcmd.c:242 + #, fuzzy, c-format + msgid "Bounce message to %s?" + msgid_plural "Bounce messages to %s?" + msgstr[0] "%s에게 메일 전달" + +-#: commands.c:470 recvcmd.c:257 ++#: commands.c:476 recvcmd.c:257 + #, fuzzy + msgid "Message not bounced" + msgid_plural "Messages not bounced" + msgstr[0] "메일이 전달 되지 않음" + +-#: commands.c:496 recvcmd.c:276 ++#: commands.c:502 recvcmd.c:276 + #, fuzzy + msgid "Message bounced" + msgid_plural "Messages bounced" + msgstr[0] "메일이 전달됨" + +-#: commands.c:606 commands.c:642 commands.c:662 ++#: commands.c:612 commands.c:648 commands.c:668 + msgid "Can't create filter process" + msgstr "필터과정을 생성할 수 없음" + +-#: commands.c:698 ++#: commands.c:704 + msgid "Pipe to command: " + msgstr "명령어로 연결: " + +-#: commands.c:720 ++#: commands.c:726 + msgid "No printing command has been defined" + msgstr "프린트 명령이 정의되지 않음" + +-#: commands.c:732 ++#: commands.c:738 + #, fuzzy + msgid "Print message?" + msgstr "메일을 프린트 할까요?" + +-#: commands.c:733 ++#: commands.c:739 + #, fuzzy + msgid "Print tagged messages?" + msgstr "메일을 프린트 할까요?" + +-#: commands.c:739 ++#: commands.c:745 + #, fuzzy + msgid "Message printed" + msgid_plural "Messages printed" + msgstr[0] "메일을 프린트함" + +-#: commands.c:742 ++#: commands.c:748 + #, fuzzy + msgid "Message could not be printed" + msgid_plural "Messages could not be printed" + msgstr[0] "메일을 프린트 할 수 없음" + + #. L10N: The highlighted letters must match the "Sort" options +-#: commands.c:759 ++#: commands.c:765 + #, fuzzy + msgid "Rev-Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "역순정렬: (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore?" + + #. L10N: The highlighted letters must match the "Rev-Sort" options +-#: commands.c:763 ++#: commands.c:769 + #, fuzzy + msgid "Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "정렬: (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore?" + + #. L10N: These must match the highlighted letters from "Sort" and "Rev-Sort" +-#: commands.c:767 ++#: commands.c:773 + #, fuzzy + msgid "dfrsotuzcpl" + msgstr "dfrsotuzc" + +-#: commands.c:831 ++#: commands.c:837 + msgid "Shell command: " + msgstr "쉘 명령어: " + +-#: commands.c:1036 ++#: commands.c:1042 + #, fuzzy + msgid "Decode-save to mailbox" + msgstr "복호화-저장 메일함으로" + +-#: commands.c:1036 ++#: commands.c:1042 + #, fuzzy + msgid "Decode-save tagged to mailbox" + msgstr "복호화-저장 메일함으로" + +-#: commands.c:1038 ++#: commands.c:1044 + #, fuzzy + msgid "Decrypt-save to mailbox" + msgstr "해독-저장 메일함으로" + +-#: commands.c:1038 ++#: commands.c:1044 + #, fuzzy + msgid "Decrypt-save tagged to mailbox" + msgstr "해독-저장 메일함으로" + +-#: commands.c:1040 ++#: commands.c:1046 + #, fuzzy + msgid "Save to mailbox" + msgstr "저장 메일함으로" + +-#: commands.c:1040 ++#: commands.c:1046 + #, fuzzy + msgid "Save tagged to mailbox" + msgstr "저장 메일함으로" + +-#: commands.c:1045 ++#: commands.c:1051 + #, fuzzy + msgid "Decode-copy to mailbox" + msgstr "복호화-복사 메일함으로" + +-#: commands.c:1045 ++#: commands.c:1051 + #, fuzzy + msgid "Decode-copy tagged to mailbox" + msgstr "복호화-복사 메일함으로" + +-#: commands.c:1047 ++#: commands.c:1053 + #, fuzzy + msgid "Decrypt-copy to mailbox" + msgstr "해독-복사 메일함으로" + +-#: commands.c:1047 ++#: commands.c:1053 + #, fuzzy + msgid "Decrypt-copy tagged to mailbox" + msgstr "해독-복사 메일함으로" + +-#: commands.c:1049 ++#: commands.c:1055 + #, fuzzy + msgid "Copy to mailbox" + msgstr "복사 메일함으로" + +-#: commands.c:1049 ++#: commands.c:1055 + #, fuzzy + msgid "Copy tagged to mailbox" + msgstr "복사 메일함으로" + +-#: commands.c:1092 ++#: commands.c:1098 + #, c-format + msgid "Copying to %s..." + msgstr "%s로 복사..." + + #. L10N: e.g. "text/plain; charset=UTF-8; ..." +-#: commands.c:1257 ++#: commands.c:1263 + #, fuzzy + msgid "Content type is too long" + msgstr "%s로 Content-Type이 바뀜" + +-#: commands.c:1281 ++#: commands.c:1290 + #, c-format + msgid "Convert to %s upon sending?" + msgstr "보낼때 %s로 변환할까요?" + +-#: commands.c:1292 ++#: commands.c:1301 + #, c-format + msgid "Content-Type changed to %s" + msgstr "%s로 Content-Type이 바뀜" + +-#: commands.c:1297 ++#: commands.c:1306 + #, fuzzy, c-format + msgid "Character set changed to %s; not converting" + msgstr "문자셋이 %s에서 변환하지 않음로 바뀜" + +-#: commands.c:1298 ++#: commands.c:1307 + #, fuzzy, c-format + msgid "Character set changed to %s; converting" + msgstr "문자셋이 %s에서 변환중로 바뀜" + +-#: compose.c:99 ++#: command_parse.c:83 command_parse.c:211 command_parse.c:219 ++#: command_parse.c:740 command_parse.c:887 command_parse.c:1491 ++#: command_parse.c:1549 gui/color.c:731 gui/color.c:868 gui/color.c:1069 ++#: gui/color.c:1098 gui/color.c:1122 gui/color.c:1191 gui/color.c:1214 ++#: hook.c:110 hook.c:124 hook.c:372 hook.c:388 keymap.c:1182 score.c:110 ++#, c-format ++msgid "%s: too few arguments" ++msgstr "%s: 인수가 부족함" ++ ++#: command_parse.c:394 ++msgid "-group: no group name" ++msgstr "" ++ ++#: command_parse.c:404 ++#, fuzzy ++msgid "out of arguments" ++msgstr "인수가 부족함" ++ ++#: command_parse.c:445 command_parse.c:1372 ++#, c-format ++msgid "Error: Can't build path of '%s'" ++msgstr "" ++ ++#: command_parse.c:458 ++#, c-format ++msgid "Error: Cyclic sourcing of configuration file '%s'" ++msgstr "" ++ ++#: command_parse.c:491 ++#, c-format ++msgid "Error in %s, line %d: %s" ++msgstr "%s의 %d번 줄에 오류: %s" ++ ++#: command_parse.c:502 ++#, fuzzy, c-format ++msgid "Warning in %s, line %d: %s" ++msgstr "%s의 %d번 줄에 오류: %s" ++ ++#: command_parse.c:526 ++#, c-format ++msgid "source: errors in %s" ++msgstr "source: %s에 오류" ++ ++#: command_parse.c:526 ++#, fuzzy, c-format ++msgid "source: reading aborted due to too many errors in %s" ++msgstr "source: %s에 오류가 많으므로 읽기 취소" ++ ++#: command_parse.c:535 ++#, fuzzy, c-format ++msgid "source: %d warning in %s" ++msgid_plural "source: %d warnings in %s" ++msgstr[0] "source: %s에 오류" ++ ++#: command_parse.c:564 ++msgid "alias: no address" ++msgstr "별칭: 주소 없음" ++ ++#: command_parse.c:606 ++#, c-format ++msgid "Warning: Bad IDN '%s' in alias '%s'" ++msgstr "경고: 잘못된 IDN '%s' 알리아스 '%s'" ++ ++#: command_parse.c:684 ++#, fuzzy ++msgid "attachments: no disposition" ++msgstr "첨부물 설명 편집" ++ ++#: command_parse.c:695 ++#, fuzzy ++msgid "Current attachments settings:" ++msgstr "첨부물 설명 편집" ++ ++#: command_parse.c:725 ++#, fuzzy ++msgid "attachments: invalid disposition" ++msgstr "첨부물 설명 편집" ++ ++#: command_parse.c:764 command_parse.c:1753 command_parse.c:2205 ++#: gui/color.c:1223 gui/color.c:1329 hook.c:131 hook.c:395 keymap.c:1114 ++#: keymap.c:1287 keymap.c:1440 keymap.c:1504 mutt_lua.c:485 score.c:119 ++#, c-format ++msgid "%s: too many arguments" ++msgstr "%s: 인수가 너무 많음" ++ ++#: command_parse.c:801 ++#, c-format ++msgid "%sgroup: missing -rx or -addr" ++msgstr "" ++ ++#: command_parse.c:827 ++#, fuzzy, c-format ++msgid "%sgroup: warning: bad IDN '%s'" ++msgstr "경고: 잘못된 IDN '%s' 알리아스 '%s'" ++ ++#: command_parse.c:898 ++#, c-format ++msgid "Error: %s" ++msgstr "" ++ ++#: command_parse.c:1065 ++msgid "invalid header field" ++msgstr "잘못된 헤더 필드" ++ ++#: command_parse.c:1331 command_parse.c:1435 ++#, c-format ++msgid "%s: unknown variable" ++msgstr "%s: 알 수 없는 변수" ++ ++#: command_parse.c:1528 ++#, c-format ++msgid "%s is unset" ++msgstr "%s 설정 해제" ++ ++#: command_parse.c:1573 mutt_lua.c:480 ++#, c-format ++msgid "source: error at %s" ++msgstr "source: %s에 오류" ++ ++#: command_parse.c:1581 ++#, fuzzy, c-format ++msgid "source: file %s could not be sourced" ++msgstr "메일들을 프린트 할 수 없음" ++ ++#: command_parse.c:1604 ++#, fuzzy ++msgid "spam: no matching pattern" ++msgstr "패턴과 일치하는 메일에 태그 붙임" ++ ++#: command_parse.c:1606 ++#, fuzzy ++msgid "nospam: no matching pattern" ++msgstr "패턴과 일치하는 메일의 태그 해제" ++ ++#: command_parse.c:1762 imap/imap.c:1443 ++#, fuzzy, c-format ++msgid "Subscribed to %s" ++msgstr "%s에 가입 중..." ++ ++#: command_parse.c:1766 ++#, fuzzy, c-format ++msgid "Could not subscribe to %s" ++msgstr "%s에 가입 중..." ++ ++#: command_parse.c:1774 command_parse.c:2226 ++#, fuzzy ++msgid "No folder specified" ++msgstr "제목이 지정되지 않음." ++ ++#: command_parse.c:1943 ++#, fuzzy ++msgid "unattachments: no disposition" ++msgstr "첨부물 설명 편집" ++ ++#: command_parse.c:1981 ++msgid "unattachments: invalid disposition" ++msgstr "" ++ ++#: command_parse.c:2214 imap/imap.c:1445 ++#, fuzzy, c-format ++msgid "Unsubscribed from %s" ++msgstr "%s에서 가입 탈퇴 중..." ++ ++#: command_parse.c:2218 ++#, fuzzy, c-format ++msgid "Could not unsubscribe from %s" ++msgstr "%s에서 가입 탈퇴 중..." ++ ++#: compose.c:97 + msgid "There are no attachments" + msgstr "첨부물이 없음" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:166 ++#: compose.c:164 + msgid "From: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:168 send.c:284 ++#: compose.c:166 send.c:284 + msgid "To: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:170 send.c:286 ++#: compose.c:168 send.c:286 + msgid "Cc: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:172 send.c:288 ++#: compose.c:170 send.c:288 + msgid "Bcc: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:174 compose.c:1242 send.c:320 ++#: compose.c:172 compose.c:1302 send.c:320 + msgid "Subject: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:176 ++#: compose.c:174 + #, fuzzy + msgid "Reply-To: " + msgstr "답장" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:178 compose.c:1261 ++#: compose.c:176 compose.c:1321 + msgid "Fcc: " + msgstr "" + + #. L10N: "Mix" refers to the MixMaster chain for anonymous email +-#: compose.c:181 ++#: compose.c:179 + msgid "Mix: " + msgstr "" + + #. L10N: Compose menu field. Holds "Encrypt", "Sign" related information +-#: compose.c:184 ++#: compose.c:182 + msgid "Security: " + msgstr "" + +@@ -906,78 +1053,78 @@ msgstr "" + #. it should not be longer than the other compose menu fields. + #. Since it shares the row with "Encrypt with:", it should not be longer + #. than 15-20 character cells. +-#: compose.c:192 ncrypt/crypt_gpgme.c:5602 ncrypt/pgp.c:1974 +-#: ncrypt/smime.c:2395 ++#: compose.c:190 ncrypt/crypt_gpgme.c:5682 ncrypt/pgp.c:1976 ++#: ncrypt/smime.c:2429 + msgid "Sign as: " + msgstr "사용 서명: " + + #. L10N: The compose menu autocrypt line +-#: compose.c:195 ++#: compose.c:193 + msgid "Autocrypt: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:199 ++#: compose.c:197 + msgid "Newsgroups: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:201 ++#: compose.c:199 + #, fuzzy + msgid "Followup-To: " + msgstr "%s%s에게 댓글?" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:203 ++#: compose.c:201 + #, fuzzy + msgid "X-Comment-To: " + msgstr "Reply-To 필드 편집" + +-#: compose.c:208 compose.c:224 ++#: compose.c:206 compose.c:222 + msgid "Send" + msgstr "보냄" + +-#: compose.c:209 compose.c:225 remailer.c:77 ++#: compose.c:207 compose.c:223 remailer.c:75 + msgid "Abort" + msgstr "취소" + + #. L10N: compose menu help line entry +-#: compose.c:211 ++#: compose.c:209 + msgid "To" + msgstr "" + + #. L10N: compose menu help line entry +-#: compose.c:213 ++#: compose.c:211 + msgid "CC" + msgstr "" + + #. L10N: compose menu help line entry +-#: compose.c:215 compose.c:227 ++#: compose.c:213 compose.c:225 + msgid "Subj" + msgstr "" + +-#: compose.c:216 compose.c:228 compose.c:1556 ++#: compose.c:214 compose.c:226 compose.c:1616 + msgid "Attach file" + msgstr "파일 첨부" + +-#: compose.c:217 compose.c:229 ++#: compose.c:215 compose.c:227 + msgid "Descrip" + msgstr "설명" + +-#: compose.c:226 ++#: compose.c:224 + #, fuzzy + msgid "Newsgroups" + msgstr "제목이 지정되지 않음." + + #. L10N: Autocrypt recommendation flag: off. + #. * This is displayed when Autocrypt is turned off. +-#: compose.c:239 compose.c:473 ++#: compose.c:237 compose.c:472 + msgid "Off" + msgstr "" + + #. L10N: Autocrypt recommendation flag: no. + #. * This is displayed when Autocrypt cannot encrypt to the recipients. +-#: compose.c:242 ++#: compose.c:240 + msgid "No" + msgstr "" + +@@ -985,7 +1132,7 @@ msgstr "" + #. * This is displayed when Autocrypt believes encryption should not be used. + #. * This might occur if one of the recipient Autocrypt Keys has not been + #. * used recently, or if the only key available is a Gossip Header key. +-#: compose.c:247 ++#: compose.c:245 + msgid "Discouraged" + msgstr "" + +@@ -993,14 +1140,14 @@ msgstr "" + #. * This is displayed when Autocrypt believes encryption is possible, but + #. * leaves enabling it up to the sender. Probably because "prefer encrypt" + #. * is not set in both the sender and recipient keys. +-#: compose.c:252 ++#: compose.c:250 + msgid "Available" + msgstr "" + + #. L10N: Autocrypt recommendation flag: yes. + #. * This is displayed when Autocrypt would normally enable encryption + #. * automatically. +-#: compose.c:256 ++#: compose.c:254 + #, fuzzy + msgid "Yes" + msgstr "yes" +@@ -1011,7 +1158,7 @@ msgstr "yes" + #. (c)lear sets cleartext. + #. (a)utomatic defers to the recommendation. + #. +-#: compose.c:338 ++#: compose.c:337 + msgid "Autocrypt: (e)ncrypt, (c)lear, (a)utomatic?" + msgstr "" + +@@ -1019,53 +1166,53 @@ msgstr "" + #. The letter corresponding to the compose menu autocrypt prompt + #. (e)ncrypt, (c)lear, (a)utomatic + #. +-#: compose.c:346 ++#: compose.c:345 + msgid "eca" + msgstr "" + +-#: compose.c:383 ++#: compose.c:382 + #, fuzzy + msgid "Not supported" + msgstr "태그를 붙이는 것을 지원하지 않음." + +-#: compose.c:390 ++#: compose.c:389 + msgid "Sign, Encrypt" + msgstr "서명, 암호화" + +-#: compose.c:395 compose.c:468 ++#: compose.c:394 compose.c:467 + msgid "Encrypt" + msgstr "암호화" + +-#: compose.c:400 ++#: compose.c:399 + msgid "Sign" + msgstr "서명" + +-#: compose.c:406 ++#: compose.c:405 + msgid "None" + msgstr "" + +-#: compose.c:415 ++#: compose.c:414 + #, fuzzy + msgid " (inline PGP)" + msgstr "(계속)\n" + +-#: compose.c:417 ++#: compose.c:416 + msgid " (PGP/MIME)" + msgstr "" + +-#: compose.c:420 ++#: compose.c:419 + msgid " (S/MIME)" + msgstr "" + +-#: compose.c:424 ++#: compose.c:423 + msgid " (OppEnc mode)" + msgstr "" + +-#: compose.c:436 compose.c:445 ++#: compose.c:435 compose.c:444 + msgid "" + msgstr "<기본값>" + +-#: compose.c:452 ++#: compose.c:451 + msgid "Encrypt with: " + msgstr "암호화 방식: " + +@@ -1074,12 +1221,12 @@ msgstr "암호화 방식: " + #. Displays the output of the recommendation engine + #. (Off, No, Discouraged, Available, Yes) + #. +-#: compose.c:483 ++#: compose.c:482 + #, fuzzy + msgid "Recommendation: " + msgstr "Reply-To 필드 편집" + +-#: compose.c:547 ++#: compose.c:546 + msgid "" + msgstr "" + +@@ -1090,7 +1237,7 @@ msgstr "" + #. The filename is located last to avoid a long path hiding the + #. error message. + #. +-#: compose.c:601 ++#: compose.c:600 + #, fuzzy, c-format + msgid "Attachment #%d no longer exists: %s" + msgstr "%s [#%d]는 더 이상 존재하지 않음" +@@ -1102,239 +1249,359 @@ msgstr "%s [#%d]는 더 이상 존재하지 않음" + #. The filename is located last to avoid a long path hiding the + #. prompt question. + #. +-#: compose.c:621 ++#: compose.c:620 + #, fuzzy, c-format + msgid "Attachment #%d modified. Update encoding for %s?" + msgstr "%s [#%d] 변경됨. 다시 인코딩할까요?" + +-#: compose.c:716 ++#: compose.c:715 + msgid "-- Attachments" + msgstr "-- 첨부물" + +-#: compose.c:770 ++#: compose.c:769 + msgid "You may not delete the only attachment" + msgstr "첨부물만을 삭제할 수는 없습니다" + +-#: compose.c:1296 edit.c:538 send.c:2462 ++#: compose.c:1356 edit.c:536 send.c:2473 + #, c-format + msgid "Bad IDN in '%s': '%s'" + msgstr "잘못된 IDN '%s': '%s'" + +-#: compose.c:1347 ++#: compose.c:1407 + #, fuzzy + msgid "Attachment is already at top" + msgstr "첨부물 저장됨" + +-#: compose.c:1352 compose.c:1368 ++#: compose.c:1412 compose.c:1428 + #, fuzzy + msgid "The fundamental part can't be moved" + msgstr "현재 첨부물은 변환할수 없음" + +-#: compose.c:1363 ++#: compose.c:1423 + #, fuzzy + msgid "Attachment is already at bottom" + msgstr "첨부물 필터됨" + +-#: compose.c:1381 ++#: compose.c:1441 + msgid "Grouping 'alternatives' requires at least 2 tagged messages" + msgstr "" + +-#: compose.c:1462 ++#: compose.c:1522 + msgid "Grouping 'multilingual' requires at least 2 tagged messages" + msgstr "" + +-#: compose.c:1475 ++#: compose.c:1535 + msgid "Not all parts have 'Content-Language' set, continue?" + msgstr "" + +-#: compose.c:1477 ++#: compose.c:1537 + #, fuzzy + msgid "Not sending this message" + msgstr "메일 보내는 중 오류" + +-#: compose.c:1571 ++#: compose.c:1631 + #, fuzzy + msgid "Attaching selected file..." + msgid_plural "Attaching selected files..." + msgstr[0] "선택된 파일을 첨부중..." + +-#: compose.c:1585 ++#: compose.c:1645 + #, c-format + msgid "Unable to attach %s" + msgstr "%s를 첨부할 수 없음" + +-#: compose.c:1606 ++#: compose.c:1666 + msgid "Open mailbox to attach message from" + msgstr "메일을 첨부하기 위해 메일함을 염" + +-#: compose.c:1616 ++#: compose.c:1676 + #, fuzzy + msgid "Open newsgroup to attach message from" + msgstr "메일을 첨부하기 위해 메일함을 염" + +-#: compose.c:1667 ++#: compose.c:1730 + #, fuzzy, c-format + msgid "Unable to open mailbox %s" + msgstr "메일함을 잠글 수 없음!" + +-#: compose.c:1676 ++#: compose.c:1739 + msgid "No messages in that folder" + msgstr "폴더에 메일이 없음" + +-#: compose.c:1686 ++#: compose.c:1749 + msgid "Tag the messages you want to attach" + msgstr "첨부하고자 하는 메일을 표시하세요." + +-#: compose.c:1715 ++#: compose.c:1785 + msgid "Unable to attach" + msgstr "첨부할 수 없음" + +-#: compose.c:1752 ++#: compose.c:1822 + msgid "Recoding only affects text attachments" + msgstr "저장은 텍스트 첨부물에만 적용됨" + +-#: compose.c:1757 ++#: compose.c:1827 + msgid "The current attachment won't be converted" + msgstr "현재 첨부물은 변환할수 없음" + +-#: compose.c:1759 ++#: compose.c:1829 + msgid "The current attachment will be converted" + msgstr "현재 첨부물은 변환 가능함" + +-#: compose.c:1831 ++#: compose.c:1901 + msgid "Empty 'Content-Language'" + msgstr "" + +-#: compose.c:1849 ++#: compose.c:1920 + msgid "Invalid encoding" + msgstr "잘못된 인코딩" + +-#: compose.c:1871 ++#: compose.c:1942 + msgid "Save a copy of this message?" + msgstr "이 메일의 복사본을 저장할까요?" + +-#: compose.c:1924 ++#: compose.c:1995 + #, fuzzy + msgid "Send attachment with name: " + msgstr "첨부물을 text로 보기" + +-#: compose.c:1939 ++#: compose.c:2010 + msgid "Rename to: " + msgstr "이름 바꾸기: " + + #. L10N: "stat" is a system call. Do "man 2 stat" for more information. +-#: compose.c:1946 editmsg.c:102 editmsg.c:138 sendlib.c:1050 ++#: compose.c:2017 editmsg.c:102 editmsg.c:138 sendlib.c:1049 + #, c-format + msgid "Can't stat %s: %s" + msgstr "%s: %s의 상태를 알수 없음." + +-#: compose.c:1966 ++#: compose.c:2037 + msgid "New file: " + msgstr "새 파일: " + +-#: compose.c:1984 ++#: compose.c:2055 + msgid "Content-Type is of the form base/sub" + msgstr "Content-Type이 base/sub 형식임." + +-#: compose.c:1991 ++#: compose.c:2062 + #, c-format + msgid "Unknown Content-Type %s" + msgstr "알 수 없는 Content-Type %s" + +-#: compose.c:1999 ++#: compose.c:2070 + #, c-format + msgid "Can't create file %s" + msgstr "%s 파일을 만들 수 없음" + +-#: compose.c:2008 ++#: compose.c:2079 + msgid "What we have here is a failure to make an attachment" + msgstr "여기에 있는 것들은 첨부 과정에서 실패한 것들입니다." + +-#: compose.c:2073 ++#: compose.c:2144 + #, fuzzy + msgid "Save (postpone) draft message?" + msgstr "발송 연기된 메일을 다시 부를까요?" + +-#: compose.c:2133 ++#: compose.c:2204 + msgid "Write message to mailbox" + msgstr "메일함에 메일 쓰기" + +-#: compose.c:2136 ++#: compose.c:2207 + #, c-format + msgid "Writing message to %s ..." + msgstr "%s에 메일 쓰는중..." + +-#: compose.c:2143 ++#: compose.c:2214 + msgid "Message written" + msgstr "메일 쓰기 완료" + +-#: compose.c:2154 ++#: compose.c:2225 + msgid "No PGP backend configured" + msgstr "" + +-#: compose.c:2161 compose.c:2225 ++#: compose.c:2232 compose.c:2296 + msgid "S/MIME already selected. Clear and continue?" + msgstr "이미 S/MIME이 선택됨. 지우고 계속할까요?" + +-#: compose.c:2186 ++#: compose.c:2257 + msgid "No S/MIME backend configured" + msgstr "" + +-#: compose.c:2194 ++#: compose.c:2265 + msgid "PGP already selected. Clear and continue?" + msgstr "PGP가 선택됨. 지우고 계속할까요?" + +-#: compress.c:355 compress.c:499 ++#: compress/compress.c:354 compress/compress.c:498 + #, c-format + msgid "Can't append without an append-hook or close-hook : %s" + msgstr "" + +-#: compress.c:444 compress.c:511 compress.c:590 compress.c:628 mbox/mbox.c:1208 ++#: compress/compress.c:443 compress/compress.c:510 compress/compress.c:589 ++#: compress/compress.c:627 mbox/mbox.c:1208 + msgid "Unable to lock mailbox" + msgstr "메일함을 잠글 수 없음" + +-#: compress.c:448 compress.c:518 compress.c:594 ++#: compress/compress.c:447 compress/compress.c:517 compress/compress.c:593 + #, c-format + msgid "Decompressing %s" + msgstr "" + +-#: compress.c:457 ++#: compress/compress.c:456 + msgid "Can't identify the contents of the compressed file" + msgstr "" + +-#: compress.c:464 compress.c:539 ++#: compress/compress.c:463 compress/compress.c:538 + #, c-format + msgid "Can't find mailbox ops for mailbox type %d" + msgstr "" + +-#: compress.c:521 ++#: compress/compress.c:520 + #, fuzzy, c-format + msgid "Compress command failed: %s" + msgstr "초기 접속(preconnect) 명령 실패." + +-#: compress.c:532 ++#: compress/compress.c:531 + msgid "Unsupported mailbox type for appending" + msgstr "" + +-#: compress.c:618 ++#: compress/compress.c:617 + msgid "Can't sync a compressed file without a close-hook" + msgstr "" + +-#: compress.c:640 compress.c:692 ++#: compress/compress.c:639 compress/compress.c:691 + #, fuzzy, c-format + msgid "Compressing %s" + msgstr "%s로 복사..." + +-#: compress.c:687 ++#: compress/compress.c:686 + #, fuzzy, c-format + msgid "Compressed-appending to %s..." + msgstr "%s로 복사..." + +-#: compress.c:699 editmsg.c:247 ++#: compress/compress.c:698 editmsg.c:247 + #, c-format + msgid "Error. Preserving temporary file: %s" + msgstr "임시 파일을 저장하는 중 오류: %s" + ++#: config/bool.c:70 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %s" ++msgstr "잘못된 날짜 입력: %s" ++ ++#: config/bool.c:131 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %ld" ++msgstr "잘못된 날짜 입력: %s" ++ ++#: config/enum.c:62 ++#, fuzzy, c-format ++msgid "Invalid enum value: %s" ++msgstr "%d: 잘못된 메일 번호.\n" ++ ++#: config/enum.c:149 ++#, fuzzy, c-format ++msgid "Invalid enum value: %ld" ++msgstr "잘못된 날짜 입력: %s" ++ ++#: config/long.c:50 ++#, fuzzy, c-format ++msgid "Invalid long: %s" ++msgstr "잘못된 달 입력: %s" ++ ++#: config/long.c:56 config/long.c:114 config/number.c:68 config/number.c:133 ++#, fuzzy, c-format ++msgid "Option %s may not be negative" ++msgstr "메일 첨부 모드에서 허가되지 않는 기능임." ++ ++#: config/number.c:49 config/sort.c:145 config/string.c:75 config/string.c:159 ++#, c-format ++msgid "Option %s may not be empty" ++msgstr "" ++ ++#: config/number.c:56 ++#, fuzzy, c-format ++msgid "Invalid number: %s" ++msgstr "%d: 잘못된 메일 번호.\n" ++ ++#: config/number.c:62 ++#, c-format ++msgid "Number is too big: %s" ++msgstr "" ++ ++#: config/number.c:127 ++#, fuzzy, c-format ++msgid "Invalid number: %ld" ++msgstr "%d: 잘못된 메일 번호.\n" ++ ++#: config/quad.c:69 ++#, fuzzy, c-format ++msgid "Invalid quad value: %s" ++msgstr "잘못된 날짜 입력: %s" ++ ++#: config/quad.c:133 ++#, fuzzy, c-format ++msgid "Invalid quad value: %ld" ++msgstr "잘못된 날짜 입력: %s" ++ ++#: config/set.c:102 ++#, c-format ++msgid "No such variable: %s" ++msgstr "" ++ ++#: config/set.c:134 config/set.c:821 ++#, fuzzy, c-format ++msgid "Variable '%s' has an invalid type %d" ++msgstr "오류: '%s'는 잘못된 IDN" ++ ++#: config/set.c:399 config/set.c:463 config/set.c:528 config/set.c:601 ++#: config/set.c:671 config/set.c:744 ++#, fuzzy, c-format ++msgid "Unknown variable '%s'" ++msgstr "%s: 알 수 없는 변수" ++ ++#: config/sort.c:192 ++#, fuzzy, c-format ++msgid "Invalid sort name: %s" ++msgstr "잘못된 날짜 입력: %s" ++ ++#: config/sort.c:322 ++#, fuzzy, c-format ++msgid "Invalid sort type: %ld" ++msgstr "잘못된 날짜 입력: %s" ++ ++#. L10N: Example: Username at myhost.com ++#: conn/connaccount.c:61 ++#, c-format ++msgid "Username at %s: " ++msgstr "이름 바꾸기 (%s): " ++ ++#: conn/connaccount.c:117 ++#, c-format ++msgid "Password for %s@%s: " ++msgstr "%s@%s의 암호: " ++ ++#. L10N: You will see this error message if (1) you have "oauthbearer" in ++#. one of your $*_authenticators and (2) you do not have the corresponding ++#. $*_oauth_refresh_command defined. So the message does not mean "None of ++#. your $*_oauth_refresh_command's are defined." ++#: conn/connaccount.c:165 ++#, fuzzy ++msgid "No OAUTH refresh command defined" ++msgstr "질의 명령이 정의되지 않음" ++ ++#: conn/connaccount.c:173 ++msgid "Unable to run refresh command" ++msgstr "" ++ ++#: conn/connaccount.c:184 ++msgid "Command returned empty string" ++msgstr "" ++ ++#: conn/connaccount.c:191 ++#, c-format ++msgid "OAUTH token is too big: %ld" ++msgstr "" ++ + #: conn/conn_raw.c:160 conn/conn_raw.c:218 + #, c-format + msgid "Looking up %s..." +@@ -1355,7 +1622,7 @@ msgstr "%s로 연결 중..." + msgid "Could not connect to %s (%s)" + msgstr "%s (%s)로 연결할 수 없음" + +-#: conn/conn_raw.c:260 conn/ssl.c:1230 curs_lib.c:568 mutt_logging.c:149 ++#: conn/conn_raw.c:260 conn/ssl.c:1245 gui/curs_lib.c:569 mutt_logging.c:147 + msgid "unknown error" + msgstr "알 수 없는 오류" + +@@ -1369,24 +1636,24 @@ msgstr "%s (%s) 오류" + msgid "Connection to %s has been aborted" + msgstr "%s의 접속이 끊어짐" + +-#: conn/sasl.c:565 ++#: conn/sasl.c:547 + msgid "Unknown SASL profile" + msgstr "" + +-#: conn/sasl.c:598 ++#: conn/sasl.c:580 + #, fuzzy + msgid "Error allocating SASL connection" + msgstr "패턴 오류: %s" + +-#: conn/sasl.c:608 ++#: conn/sasl.c:590 + msgid "Error setting SASL security properties" + msgstr "" + +-#: conn/sasl.c:619 ++#: conn/sasl.c:601 + msgid "Error setting SASL external security strength" + msgstr "" + +-#: conn/sasl.c:629 ++#: conn/sasl.c:611 + msgid "Error setting SASL external user name" + msgstr "" + +@@ -1399,138 +1666,112 @@ msgstr "초기 접속(preconnect) 명령 실패" + msgid "Connection to %s closed" + msgstr "%s의 접속이 끊어짐" + +-#: conn/ssl.c:237 ++#: conn/ssl.c:222 + #, c-format + msgid "Filling entropy pool: %s..." + msgstr "엔트로피를 채우는 중: %s..." + +-#: conn/ssl.c:243 ++#: conn/ssl.c:228 + #, c-format + msgid "%s has insecure permissions" + msgstr "%s는 안전하지 않은 퍼미션을 가지고 있음" + +-#: conn/ssl.c:385 ++#: conn/ssl.c:369 + #, fuzzy + msgid "SSL disabled due to the lack of entropy" + msgstr "엔트로피 부족으로 인해 SSL 사용 불가" + +-#: conn/ssl.c:402 ++#: conn/ssl.c:386 + msgid "Unknown" + msgstr "알 수 없음" + +-#: conn/ssl.c:421 conn/ssl_gnutls.c:186 ++#: conn/ssl.c:405 conn/ssl_gnutls.c:188 + #, c-format + msgid "[unable to calculate]" + msgstr "[계산할 수 없음]" + +-#: conn/ssl.c:446 ++#: conn/ssl.c:430 + msgid "[invalid date]" + msgstr "[잘못된 날짜]" + +-#: conn/ssl.c:506 ++#: conn/ssl.c:490 + msgid "Server certificate is not yet valid" + msgstr "서버 인증서가 아직 유효하지 않음 " + +-#: conn/ssl.c:516 ++#: conn/ssl.c:500 + msgid "Server certificate has expired" + msgstr "서버 인증서가 만기됨" + +-#: conn/ssl.c:605 ++#: conn/ssl.c:589 + msgid "Failed to find enough entropy on your system" + msgstr "시스템에서 충분한 엔트로피를 찾을 수 없음" + +-#: conn/ssl.c:799 ++#: conn/ssl.c:783 + #, fuzzy + msgid "can't get certificate subject" + msgstr "지정한 곳에서 인증서를 가져올 수 없음" + +-#: conn/ssl.c:808 conn/ssl.c:816 ++#: conn/ssl.c:792 conn/ssl.c:800 + #, fuzzy + msgid "can't get certificate common name" + msgstr "지정한 곳에서 인증서를 가져올 수 없음" + +-#: conn/ssl.c:830 ++#: conn/ssl.c:814 + #, fuzzy, c-format + msgid "certificate owner does not match hostname %s" + msgstr "S/MIME 인증서 소유자와 보낸이가 일치하지 않음." + +-#: conn/ssl.c:904 conn/ssl_gnutls.c:539 ++#: conn/ssl.c:917 conn/ssl_gnutls.c:570 + msgid "This certificate belongs to:" + msgstr "이 인증서는 다음에 속함:" + +-#: conn/ssl.c:913 conn/ssl_gnutls.c:593 ++#: conn/ssl.c:926 conn/ssl_gnutls.c:624 + msgid "This certificate was issued by:" + msgstr "이 인증서의 발행인은:" + +-#: conn/ssl.c:922 conn/ssl_gnutls.c:604 ++#: conn/ssl.c:935 conn/ssl_gnutls.c:635 + msgid "This certificate is valid" + msgstr "이 인증서는 유효함" + +-#: conn/ssl.c:923 conn/ssl_gnutls.c:608 ++#: conn/ssl.c:936 conn/ssl_gnutls.c:639 + #, c-format + msgid " from %s" + msgstr " from %s" + +-#: conn/ssl.c:925 conn/ssl_gnutls.c:612 ++#: conn/ssl.c:938 conn/ssl_gnutls.c:643 + #, c-format + msgid " to %s" + msgstr " to %s" + +-#: conn/ssl.c:931 conn/ssl_gnutls.c:617 ++#: conn/ssl.c:944 conn/ssl_gnutls.c:648 + #, fuzzy, c-format + msgid "SHA1 Fingerprint: %s" + msgstr "Fingerprint: %s" + +-#: conn/ssl.c:937 conn/ssl.c:940 conn/ssl_gnutls.c:623 conn/ssl_gnutls.c:625 +-#, fuzzy +-msgid "SHA256 Fingerprint: " +-msgstr "Fingerprint: %s" +- +-#: conn/ssl.c:944 conn/ssl_gnutls.c:664 +-#, c-format +-msgid "SSL Certificate check (certificate %zu of %zu in chain)" +-msgstr "" +- +-#. L10N: These four letters correspond to the choices in the next four strings: +-#. (r)eject, accept (o)nce, (a)ccept always, (s)kip. +-#. These prompts are the interactive certificate confirmation prompts for +-#. an OpenSSL connection. +-#: conn/ssl.c:964 +-msgid "roas" +-msgstr "" +- +-#: conn/ssl.c:968 +-#, fuzzy +-msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" +-msgstr "거부(r), 이번만 허가(o), 언제나 허가(a)" +- +-#: conn/ssl.c:970 conn/ssl_gnutls.c:671 +-msgid "(r)eject, accept (o)nce, (a)ccept always" +-msgstr "거부(r), 이번만 허가(o), 언제나 허가(a)" +- +-#: conn/ssl.c:975 +-#, fuzzy +-msgid "(r)eject, accept (o)nce, (s)kip" +-msgstr "거부(r), 이번만 허가(o)" ++#: conn/ssl.c:950 conn/ssl.c:953 conn/ssl_gnutls.c:654 conn/ssl_gnutls.c:656 ++#, fuzzy ++msgid "SHA256 Fingerprint: " ++msgstr "Fingerprint: %s" + +-#: conn/ssl.c:977 conn/ssl_gnutls.c:680 +-msgid "(r)eject, accept (o)nce" +-msgstr "거부(r), 이번만 허가(o)" ++#: conn/ssl.c:957 conn/ssl_gnutls.c:695 ++#, c-format ++msgid "SSL Certificate check (certificate %zu of %zu in chain)" ++msgstr "" + +-#: conn/ssl.c:981 conn/ssl_gnutls.c:689 ncrypt/crypt_gpgme.c:4729 +-#: ncrypt/pgpkey.c:664 ncrypt/smime.c:549 ++#: conn/ssl.c:994 conn/ssl_gnutls.c:720 ncrypt/crypt_gpgme.c:4777 ++#: ncrypt/pgpkey.c:667 ncrypt/smime.c:551 + msgid "Exit " + msgstr "끝내기 " + +-#: conn/ssl.c:1016 conn/ssl_gnutls.c:742 ++#: conn/ssl.c:1029 conn/ssl_gnutls.c:773 + msgid "Warning: Couldn't save certificate" + msgstr "경고: 인증서를 저장하지 못함" + +-#: conn/ssl.c:1020 conn/ssl_gnutls.c:746 ++#: conn/ssl.c:1033 conn/ssl_gnutls.c:777 + msgid "Certificate saved" + msgstr "인증서 저장됨" + +-#: conn/ssl.c:1132 ++#: conn/ssl.c:1147 + #, fuzzy, c-format + msgid "Certificate host check failed: %s" + msgstr "인증서 저장됨" +@@ -1538,15 +1779,15 @@ msgstr "인증서 저장됨" + #. L10N: This is a warning when trying to set the host name for + #. * TLS Server Name Indication (SNI). This allows the server to present + #. * the correct certificate if it supports multiple hosts. +-#: conn/ssl.c:1213 conn/ssl_gnutls.c:1072 ++#: conn/ssl.c:1228 conn/ssl_gnutls.c:1105 + msgid "Warning: unable to set TLS SNI host name" + msgstr "" + +-#: conn/ssl.c:1224 ++#: conn/ssl.c:1239 + msgid "I/O error" + msgstr "입/출력 오류" + +-#: conn/ssl.c:1233 ++#: conn/ssl.c:1248 + #, c-format + msgid "SSL failed: %s" + msgstr "SSL 실패: %s" +@@ -1554,96 +1795,80 @@ msgstr "SSL 실패: %s" + #. L10N: an SSL context is a data structure returned by the OpenSSL + #. function SSL_CTX_new(). In this case it returned NULL: an + #. error condition. +-#: conn/ssl.c:1269 ++#: conn/ssl.c:1284 + #, fuzzy + msgid "Unable to create SSL context" + msgstr "오류: OpenSSL 하부 프로세스를 생성할 수 없음!" + +-#: conn/ssl.c:1322 ++#: conn/ssl.c:1337 + msgid "Warning: error enabling ssl_verify_partial_chains" + msgstr "" + +-#: conn/ssl_gnutls.c:150 conn/ssl_gnutls.c:784 conn/ssl_gnutls.c:793 ++#: conn/ssl_gnutls.c:152 conn/ssl_gnutls.c:817 conn/ssl_gnutls.c:826 + msgid "Unable to get certificate from peer" + msgstr "지정한 곳에서 인증서를 가져올 수 없음" + +-#: conn/ssl_gnutls.c:155 ++#: conn/ssl_gnutls.c:157 + #, c-format + msgid "Certificate verification error (%s)" + msgstr "" + +-#: conn/ssl_gnutls.c:162 ++#: conn/ssl_gnutls.c:164 + #, fuzzy + msgid "Certificate is not X.509" + msgstr "인증서 저장됨" + +-#: conn/ssl_gnutls.c:349 conn/ssl_gnutls.c:483 ++#: conn/ssl_gnutls.c:351 conn/ssl_gnutls.c:485 + #, fuzzy + msgid "Error initialising gnutls certificate data" + msgstr "터미널 초기화 오류." + +-#: conn/ssl_gnutls.c:355 conn/ssl_gnutls.c:489 ++#: conn/ssl_gnutls.c:357 conn/ssl_gnutls.c:491 + msgid "Error processing certificate data" + msgstr "" + +-#: conn/ssl_gnutls.c:635 ++#: conn/ssl_gnutls.c:666 + #, fuzzy + msgid "WARNING: Server certificate is not yet valid" + msgstr "서버 인증서가 아직 유효하지 않음 " + +-#: conn/ssl_gnutls.c:640 ++#: conn/ssl_gnutls.c:671 + #, fuzzy + msgid "WARNING: Server certificate has expired" + msgstr "서버 인증서가 만기됨" + +-#: conn/ssl_gnutls.c:645 ++#: conn/ssl_gnutls.c:676 + #, fuzzy + msgid "WARNING: Server certificate has been revoked" + msgstr "서버 인증서가 만기됨" + +-#: conn/ssl_gnutls.c:650 ++#: conn/ssl_gnutls.c:681 + msgid "WARNING: Server hostname does not match certificate" + msgstr "" + +-#: conn/ssl_gnutls.c:655 ++#: conn/ssl_gnutls.c:686 + #, fuzzy + msgid "WARNING: Signer of server certificate is not a CA" + msgstr "서버 인증서가 아직 유효하지 않음 " + +-#: conn/ssl_gnutls.c:659 conn/ssl_gnutls.c:1004 ++#: conn/ssl_gnutls.c:690 conn/ssl_gnutls.c:1037 + msgid "Warning: Server certificate was signed using an insecure algorithm" + msgstr "" + +-#. L10N: These three letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce, (a)ccept always. +-#. This is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:676 +-msgid "roa" +-msgstr "roa" +- +-#. L10N: These two letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce. +-#. These is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:685 +-msgid "ro" +-msgstr "ro" +- +-#: conn/ssl_gnutls.c:950 conn/ssl_gnutls.c:992 ++#: conn/ssl_gnutls.c:983 conn/ssl_gnutls.c:1025 + msgid "All available protocols for TLS/SSL connection disabled" + msgstr "" + +-#: conn/ssl_gnutls.c:999 ++#: conn/ssl_gnutls.c:1032 + msgid "Explicit ciphersuite selection via $ssl_ciphers not supported" + msgstr "" + +-#: conn/ssl_gnutls.c:1120 ++#: conn/ssl_gnutls.c:1153 + #, fuzzy, c-format + msgid "SSL/TLS connection using %s (%s/%s/%s)" + msgstr "%s를 사용해 SSL 연결 (%s)" + +-#: conn/ssl_gnutls.c:1175 conn/ssl_gnutls.c:1204 ++#: conn/ssl_gnutls.c:1210 conn/ssl_gnutls.c:1239 + msgid "Error: no TLS socket open" + msgstr "" + +@@ -1662,37 +1887,17 @@ msgstr "%s (%s) 오류" + msgid "Tunnel to %s returned error %d (%s)" + msgstr "" + +-#: copy.c:660 ++#: copy.c:662 + #, c-format + msgid "The length calculation was wrong by %ld byte" + msgid_plural "The length calculation was wrong by %ld bytes" + msgstr[0] "" + +-#: copy.c:744 ++#: copy.c:746 + msgid "No decryption engine available for message" + msgstr "" + +-#: curs_lib.c:378 +-msgid "yes" +-msgstr "yes" +- +-#: curs_lib.c:379 +-msgid "no" +-msgstr "no" +- +-#: curs_lib.c:518 +-msgid "Exit NeoMutt?" +-msgstr "NeoMutt을 종료할까요?" +- +-#: curs_lib.c:597 +-msgid "Press any key to continue..." +-msgstr "아무키나 누르면 계속합니다..." +- +-#: curs_lib.c:705 +-msgid " ('?' for list): " +-msgstr "(목록 보기 '?'): " +- +-#: edit.c:64 ++#: edit.c:62 + #, fuzzy + msgid "" + "~~ insert a line beginning with a single ~\n" +@@ -1723,7 +1928,7 @@ msgstr "" + "~? 현재 메세지\n" + ". 줄에 홀로 있을 경우 입력 종료\n" + +-#: edit.c:75 ++#: edit.c:73 + #, fuzzy + msgid "" + "~q write file and quit editor\n" +@@ -1754,20 +1959,20 @@ msgstr "" + "~? 현재 메세지\n" + ". 줄에 홀로 있을 경우 입력 종료\n" + +-#: edit.c:261 ++#: edit.c:259 + #, c-format + msgid "%d: invalid message number.\n" + msgstr "%d: 잘못된 메일 번호.\n" + +-#: edit.c:416 ++#: edit.c:414 + msgid "(End message with a . on a line by itself)\n" + msgstr "(줄에 . 홀로 사용하여 메세지 끝내기)\n" + +-#: edit.c:474 ++#: edit.c:472 + msgid "No mailbox.\n" + msgstr "메일함 없음.\n" + +-#: edit.c:478 ++#: edit.c:476 + msgid "Message contains:\n" + msgstr "메세지에 포함됨:\n" + +@@ -1775,19 +1980,19 @@ msgstr "메세지에 포함됨:\n" + #. not IN the middle of the content. + #. So it doesn't mean "(message will continue)" + #. but means "(press any key to continue using neomutt)". +-#: edit.c:486 edit.c:547 ++#: edit.c:484 edit.c:545 + msgid "(continue)\n" + msgstr "(계속)\n" + +-#: edit.c:499 ++#: edit.c:497 + msgid "missing filename.\n" + msgstr "파일이름이 빠짐.\n" + +-#: edit.c:519 ++#: edit.c:517 + msgid "No lines in message.\n" + msgstr "메세지에 내용 없음.\n" + +-#: edit.c:558 ++#: edit.c:556 + #, c-format + msgid "%s: unknown editor command (~? for help)\n" + msgstr "%s: 알 수 없는 편집 명령 (~? 도움말)\n" +@@ -1834,19 +2039,73 @@ msgstr "폴더에 첨가할 수 없음: %s" + msgid "multipart message has no boundary parameter" + msgstr "다중 파트 메일에 경계 변수가 없음" + +-#: flags.c:382 index.c:2561 index.c:2604 index.c:3134 index.c:3171 ++#: flags.c:381 index.c:2587 index.c:2630 index.c:3160 index.c:3197 + #: mutt_thread.c:1091 mutt_thread.c:1158 mutt_thread.c:1246 + msgid "Threading is not enabled" + msgstr "글타래 모드가 아님" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Set flag" + msgstr "플래그 설정" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Clear flag" + msgstr "플래그 지움" + ++#: gui/color.c:633 gui/color.c:644 ++#, c-format ++msgid "%s: color not supported by term" ++msgstr "%s: 터미널에서 지원되지 않는 색." ++ ++#: gui/color.c:652 ++#, c-format ++msgid "%s: no such color" ++msgstr "%s: 색상 없음." ++ ++#: gui/color.c:717 gui/color.c:740 gui/color.c:751 gui/color.c:842 ++#, c-format ++msgid "%s: no such object" ++msgstr "%s: 항목 없음" ++ ++#: gui/color.c:1142 ++#, c-format ++msgid "%s: no such attribute" ++msgstr "%s: 속성 없음." ++ ++#: gui/color.c:1244 ++msgid "default colors not supported" ++msgstr "기본 색상들이 지원되지 않음" ++ ++#: gui/color.c:1282 ++#, c-format ++msgid "Maximum quoting level is %d" ++msgstr "" ++ ++#: gui/color.c:1319 ++#, fuzzy, c-format ++msgid "%s: invalid number: %s" ++msgstr "%d: 잘못된 메일 번호.\n" ++ ++#: gui/curs_lib.c:379 ++msgid "yes" ++msgstr "yes" ++ ++#: gui/curs_lib.c:380 ++msgid "no" ++msgstr "no" ++ ++#: gui/curs_lib.c:519 ++msgid "Exit NeoMutt?" ++msgstr "NeoMutt을 종료할까요?" ++ ++#: gui/curs_lib.c:598 ++msgid "Press any key to continue..." ++msgstr "아무키나 누르면 계속합니다..." ++ ++#: gui/curs_lib.c:749 ++msgid " ('?' for list): " ++msgstr "(목록 보기 '?'): " ++ + #: handler.c:102 + #, fuzzy, c-format + msgid "[-- Type: %s/%s%s%s, Encoding: %s, Size: %s --]\n" +@@ -1867,23 +2126,23 @@ msgstr "[-- %s를 사용한 자동 보기 --]\n" + msgid "Invoking autoview command: %s" + msgstr "자동 보기 명령 실행: %s" + +-#: handler.c:591 mutt_attach.c:527 mutt_attach.c:714 mutt_attach.c:745 +-#: mutt_attach.c:1087 mutt_attach.c:1152 ncrypt/pgpkey.c:723 +-#: ncrypt/pgpkey.c:920 ++#: handler.c:590 mutt_attach.c:555 mutt_attach.c:747 mutt_attach.c:778 ++#: mutt_attach.c:1120 mutt_attach.c:1185 ncrypt/pgpkey.c:756 ++#: ncrypt/pgpkey.c:955 + msgid "Can't create filter" + msgstr "필터를 만들 수 없음" + +-#: handler.c:595 ++#: handler.c:594 + #, c-format + msgid "[-- Can't run %s. --]\n" + msgstr "[-- %s를 실행할 수 없음. --]\n" + +-#: handler.c:614 handler.c:635 ++#: handler.c:613 handler.c:634 + #, c-format + msgid "[-- Autoview stderr of %s --]\n" + msgstr "[-- %s의 자동 보기 오류 --]\n" + +-#: handler.c:764 ++#: handler.c:763 + msgid "[-- Error: message/external-body has no access-type parameter --]\n" + msgstr "[-- 오류: message/external-body에 access-type 변수가 없음 --]\n" + +@@ -1902,7 +2161,7 @@ msgstr "[-- 오류: message/external-body에 access-type 변수가 없음 --]\n" + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:807 ++#: handler.c:806 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" +@@ -1928,7 +2187,7 @@ msgstr[0] "" + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:830 ++#: handler.c:829 + #, fuzzy, c-format + msgid "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" + msgid_plural "[-- This %s/%s attachment (size %s bytes) has been deleted --]\n" +@@ -1941,7 +2200,7 @@ msgstr[0] "[ -- %s/%s 첨부물 (크기: %s 바이트) 삭제 되었음 --]\n" + #. + #. Caution: Argument three %3$ is also defined but should not be used + #. in this translation! +-#: handler.c:848 ++#: handler.c:847 + #, fuzzy + msgid "" + "[-- This %s/%s attachment has been deleted --]\n" +@@ -1953,12 +2212,12 @@ msgstr "" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The first "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:856 ++#: handler.c:855 + #, fuzzy, c-format + msgid "[-- This %s/%s attachment has been deleted --]\n" + msgstr "[ -- %s/%s 첨부물 삭제 되었음 --]\n" + +-#: handler.c:866 ++#: handler.c:865 + #, c-format + msgid "[-- name: %s --]\n" + msgstr "[-- 이름: %s --]\n" +@@ -1966,7 +2225,7 @@ msgstr "[-- 이름: %s --]\n" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:884 ++#: handler.c:883 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -1981,7 +2240,7 @@ msgstr "" + #. The "%s/%s" is a MIME type, e.g. "text/plain". The %s after + #. access-type is an access-type as defined by the MIME RFCs, e.g. "FTP", + #. "LOCAL-FILE", "MAIL-SERVER". +-#: handler.c:905 ++#: handler.c:904 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -1990,95 +2249,95 @@ msgstr "" + "[-- 이 %s/%s 첨부물은 포함되지 않음, --]\n" + "[-- 지정된 access-type %s는 지원되지 않음 --]\n" + +-#: handler.c:1090 ++#: handler.c:1089 + msgid "[-- Error: Could not display any parts of Multipart/Alternative --]\n" + msgstr "[-- 오류: Multipart/Alternative 부분을 표시 수 없음 --]\n" + + #. L10N: %s is the attachment description, filename or form_name. +-#: handler.c:1231 ++#: handler.c:1230 + #, fuzzy, c-format + msgid "[-- Attachment #%d: %s --]\n" + msgstr "[-- 첨부물 #%d: %s --]\n" + +-#: handler.c:1236 ++#: handler.c:1235 + #, fuzzy, c-format + msgid "[-- Attachment #%d --]\n" + msgstr "[-- 첨부물 #%d --]\n" + +-#: handler.c:1254 ++#: handler.c:1253 + msgid "One or more parts of this message could not be displayed" + msgstr "" + +-#: handler.c:1320 ++#: handler.c:1319 + #, fuzzy + msgid "Unable to open 'memory stream'" + msgstr "임시 파일을 열 수 없음" + +-#: handler.c:1330 ++#: handler.c:1329 + msgid "Unable to open temporary file" + msgstr "임시 파일을 열 수 없음" + +-#: handler.c:1379 ++#: handler.c:1378 + #, fuzzy + msgid "failed to re-open 'memory stream'" + msgstr "임시 파일을 열 수 없음" + +-#: handler.c:1620 ++#: handler.c:1619 + msgid "Error: multipart/signed has no protocol" + msgstr "오류: multipart/signed 프로토콜이 없음" + + #. L10N: %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1694 ++#: handler.c:1693 + #, fuzzy, c-format + msgid "[-- This is an attachment (use '%s' to view this part) --]\n" + msgstr "[ -- %s/%s 첨부물 ('%s' 키: 부분 보기) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". + #. The last %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1701 ++#: handler.c:1700 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported (use '%s' to view this part) --]\n" + msgstr "[-- '%s/%s'는 지원되지 않음 ('%s' 키: 부분 보기) --]\n" + +-#: handler.c:1709 ++#: handler.c:1708 + #, fuzzy + msgid "[-- This is an attachment (need 'view-attachments' bound to key) --]\n" + msgstr "[ -- %s/%s 첨부물 ('첨부물 보기' 글쇠 정의가 필요함) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1715 ++#: handler.c:1714 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported (need 'view-attachments' bound to key) --]\n" + msgstr "[-- '%s/%s'는 지원되지 않음 ('첨부물 보기' 글쇠 정의가 필요함) --]\n" + +-#: handler.c:1724 ++#: handler.c:1723 + #, fuzzy + msgid "[-- This is an attachment --]\n" + msgstr "[ -- %s/%s 첨부물 --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1729 ++#: handler.c:1728 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported --]\n" + msgstr "[-- '%s/%s'는 지원되지 않음 --]\n" + +-#: help.c:400 ++#: help.c:401 + msgid "ERROR: please report this bug" + msgstr "오류: 이 버그를 보고 해주세요" + +-#: help.c:455 ++#: help.c:456 + msgid "" + msgstr "<알수 없음>" + +-#: help.c:469 ++#: help.c:470 + msgid "Generic bindings:" + msgstr "기본 글쇠 정의:" + +-#: help.c:473 ++#: help.c:474 + msgid "Unbound functions:" + msgstr "글쇠가 정의되지 않은 기능:" + +-#: help.c:481 ++#: help.c:482 + #, c-format + msgid "Help for %s" + msgstr "%s 도움말" +@@ -2095,41 +2354,41 @@ msgstr "" + msgid "badly formatted command string" + msgstr "" + +-#: hook.c:461 ++#: hook.c:466 + msgid "unhook: Can't do unhook * from within a hook" + msgstr "unhook: unhook * 할 수 없음" + +-#: hook.c:474 ++#: hook.c:479 + #, c-format + msgid "unhook: unknown hook type: %s" + msgstr "unhook: 알 수 없는 hook 유형: %s" + +-#: hook.c:484 ++#: hook.c:489 + #, c-format + msgid "unhook: Can't delete a %s from within a %s" + msgstr "unhook: %s를 %s에서 지울 수 없음" + + #. L10N: '%s' is the (misspelled) name of the menu, e.g. 'index' or 'pager' +-#: icommands.c:259 keymap.c:1161 keymap.c:1346 ++#: icommands.c:261 keymap.c:1159 keymap.c:1344 + #, c-format + msgid "%s: no such menu" + msgstr "%s: 그런 메뉴 없음" + + #. L10N: '%s' is the name of the menu, e.g. 'index' or 'pager', it might + #. L10N: also be 'all' when all menus are affected. +-#: icommands.c:272 ++#: icommands.c:274 + #, fuzzy, c-format + msgid "%s: no binds for this menu" + msgstr "%s: 그런 메뉴 없음" + +-#: icommands.c:272 ++#: icommands.c:274 + #, fuzzy, c-format + msgid "%s: no macros for this menu" + msgstr "%s: 그런 메뉴 없음" + + #. L10N: '%s' is the file name of the temporary file +-#: icommands.c:283 icommands.c:296 icommands.c:316 icommands.c:340 +-#: icommands.c:360 icommands.c:371 imap/message.c:1093 ++#: icommands.c:285 icommands.c:297 icommands.c:317 icommands.c:340 ++#: icommands.c:360 icommands.c:370 imap/message.c:1093 + #, c-format + msgid "Could not create temporary file %s" + msgstr "임시 파일 %s를 만들 수 없음!" +@@ -2167,30 +2426,30 @@ msgstr "GSSAPI 인증에 실패함" + msgid "LOGIN disabled on this server" + msgstr "이 서버는 LOGIN이 허용되지 않음" + +-#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:288 ++#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:289 + msgid "Logging in..." + msgstr "접속 중..." + +-#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:329 ++#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:330 + msgid "Login failed" + msgstr "접속 실패" + +-#: imap/auth_oauth.c:64 pop/pop_auth.c:346 smtp.c:524 ++#: imap/auth_oauth.c:65 pop/pop_auth.c:347 smtp.c:549 + #, fuzzy + msgid "Authenticating (OAUTHBEARER)..." + msgstr "인증 중 (SASL)..." + +-#: imap/auth_oauth.c:96 ++#: imap/auth_oauth.c:97 + #, fuzzy + msgid "OAUTHBEARER authentication failed" + msgstr "OAUTHBEARER 인증에 실패함" + +-#: imap/auth_sasl.c:128 nntp/nntp.c:606 nntp/nntp.c:671 smtp.c:443 ++#: imap/auth_sasl.c:128 nntp/nntp.c:608 nntp/nntp.c:673 smtp.c:468 + #, c-format + msgid "Authenticating (%s)..." + msgstr "인증 중 (%s)..." + +-#: imap/auth_sasl.c:259 pop/pop_auth.c:200 smtp.c:584 smtp.c:646 ++#: imap/auth_sasl.c:259 pop/pop_auth.c:201 smtp.c:609 smtp.c:671 + msgid "SASL authentication failed" + msgstr "SASL 인증에 실패함" + +@@ -2239,132 +2498,122 @@ msgstr "SSL 실패: %s" + msgid "Mailbox renamed" + msgstr "메일함이 생성됨" + +-#: imap/command.c:164 ++#: imap/command.c:177 + #, fuzzy, c-format + msgid "Mailbox %s@%s closed" + msgstr "메일함이 닫힘" + +-#: imap/command.c:1258 imap/command.c:1370 ++#: imap/command.c:1287 imap/command.c:1399 + #, fuzzy, c-format + msgid "Connection to %s timed out" + msgstr "%s의 접속이 끊어짐" + +-#: imap/imap.c:87 ++#: imap/imap.c:93 + #, fuzzy + msgid "This IMAP server is ancient. NeoMutt does not work with it." + msgstr "오래된 버젼의 IMAP 서버로 NeoMutt와 사용할 수 없습니다." + +-#: imap/imap.c:438 ++#: imap/imap.c:444 + #, c-format + msgid "Header search without header name: %s" + msgstr "" + +-#: imap/imap.c:468 ++#: imap/imap.c:474 + #, c-format + msgid "Server-side custom search not supported: %s" + msgstr "" + +-#: imap/imap.c:584 ++#: imap/imap.c:590 + #, fuzzy, c-format + msgid "CREATE failed: %s" + msgstr "SSL 실패: %s" + +-#: imap/imap.c:704 ++#: imap/imap.c:710 + #, c-format + msgid "Closing connection to %s..." + msgstr "%s와의 연결을 닫는중..." + +-#: imap/imap.c:882 nntp/nntp.c:1889 pop/pop_lib.c:324 smtp.c:687 ++#: imap/imap.c:888 nntp/nntp.c:1891 pop/pop_lib.c:350 smtp.c:712 + msgid "Secure connection with TLS?" + msgstr "TLS를 사용하여 연결 할까요?" + +-#: imap/imap.c:895 nntp/nntp.c:1910 pop/pop_lib.c:343 smtp.c:702 ++#: imap/imap.c:901 nntp/nntp.c:1912 pop/pop_lib.c:369 smtp.c:727 + msgid "Could not negotiate TLS connection" + msgstr "TLS 연결 할수 없음" + +-#: imap/imap.c:910 pop/pop_lib.c:360 ++#: imap/imap.c:916 pop/pop_lib.c:386 + msgid "Encrypted connection unavailable" + msgstr "" + +-#: imap/imap.c:1417 ++#: imap/imap.c:1430 + #, c-format + msgid "Subscribing to %s..." + msgstr "%s에 가입 중..." + +-#: imap/imap.c:1419 ++#: imap/imap.c:1432 + #, fuzzy, c-format + msgid "Unsubscribing from %s..." + msgstr "%s에서 가입 탈퇴 중..." + +-#: imap/imap.c:1430 init.c:2142 +-#, fuzzy, c-format +-msgid "Subscribed to %s" +-msgstr "%s에 가입 중..." +- +-#: imap/imap.c:1432 init.c:2620 +-#, fuzzy, c-format +-msgid "Unsubscribed from %s" +-msgstr "%s에서 가입 탈퇴 중..." +- +-#: imap/imap.c:1582 imap/message.c:1674 ++#: imap/imap.c:1595 imap/message.c:1674 + #, fuzzy, c-format + msgid "Copying %d message to %s..." + msgid_plural "Copying %d messages to %s..." + msgstr[0] "%d개의 메세지를 %s로 복사 중..." + +-#: imap/imap.c:1599 imap/imap.c:2217 imap/message.c:1713 muttlib.c:1505 ++#: imap/imap.c:1612 imap/imap.c:2254 imap/message.c:1713 muttlib.c:1503 + #, c-format + msgid "Create %s?" + msgstr "%s를 만들까요?" + +-#: imap/imap.c:1667 ++#: imap/imap.c:1685 + msgid "Expunge failed" + msgstr "삭제 실패" + +-#: imap/imap.c:1683 ++#: imap/imap.c:1701 + #, fuzzy, c-format + msgid "Marking %d message deleted..." + msgid_plural "Marking %d messages deleted..." + msgstr[0] "%d개의 메일을 삭제 표시함..." + + #. L10N: The plural is chosen by the last %d, i.e. the total number +-#: imap/imap.c:1720 ++#: imap/imap.c:1738 + #, fuzzy, c-format + msgid "Saving changed message... [%d/%d]" + msgid_plural "Saving changed messages... [%d/%d]" + msgstr[0] "메세지 상태 플래그 저장... [%d/%d]" + +-#: imap/imap.c:1776 ++#: imap/imap.c:1794 + msgid "Error saving flags. Close anyway?" + msgstr "" + +-#: imap/imap.c:1783 ++#: imap/imap.c:1801 + #, fuzzy + msgid "Error saving flags" + msgstr "주소 분석 중 오류!" + +-#: imap/imap.c:1808 ++#: imap/imap.c:1826 + msgid "Expunging messages from server..." + msgstr "서버에서 메세지 삭제 중..." + +-#: imap/imap.c:1814 ++#: imap/imap.c:1832 + msgid "imap_sync_mailbox: EXPUNGE failed" + msgstr "imap_sync_mailbox: 삭제 실패" + +-#: imap/imap.c:2023 nntp/nntp.c:2486 ++#: imap/imap.c:2058 nntp/nntp.c:2488 + #, c-format + msgid "Selecting %s..." + msgstr "%s 선택 중..." + +-#: imap/imap.c:2184 ++#: imap/imap.c:2221 + msgid "Error opening mailbox" + msgstr "메일함 여는중 오류" + +-#: imap/imap.c:2330 ++#: imap/imap.c:2367 + msgid "IMAP server doesn't support custom flags" + msgstr "" + +-#: imap/imap.c:2374 ++#: imap/imap.c:2411 + #, fuzzy + msgid "Invalid IMAP flags" + msgstr "무효 " +@@ -2375,7 +2624,7 @@ msgid "Abort download and close mailbox?" + msgstr "" + + #: imap/message.c:554 mutt/memory.c:58 mutt/memory.c:98 mutt/memory.c:134 +-#: mutt/string.c:1178 mx.c:1176 ++#: mutt/string.c:1201 mx.c:1195 + msgid "Out of memory" + msgstr "메모리 부족" + +@@ -2396,7 +2645,7 @@ msgstr "메세지 헤더 가져오는 중... [%d/%d]" + msgid "Unable to fetch headers from this IMAP server version" + msgstr "이 버젼의 IAMP 서버에서 헤더를 가져올 수 없습니다" + +-#: imap/message.c:1099 index.c:1548 nntp/nntp.c:1328 pop/pop.c:426 ++#: imap/message.c:1099 index.c:1554 nntp/nntp.c:1330 pop/pop.c:426 + #, fuzzy + msgid "Fetching message headers..." + msgstr "메세지 헤더 가져오는 중... [%d/%d]" +@@ -2411,156 +2660,156 @@ msgstr "메일을 업로드 하는 중..." + msgid "Copying message %d to %s..." + msgstr "메세지 %d를 %s로 복사 중..." + +-#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2737 pop/pop.c:1110 ++#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2739 pop/pop.c:1105 + msgid "Fetching message..." + msgstr "메세지 가져오는 중..." + +-#: imap/message.c:1959 pop/pop.c:1106 ++#: imap/message.c:1959 pop/pop.c:1101 + msgid "The message index is incorrect. Try reopening the mailbox." + msgstr "잘못된 메일 인덱스. 메일함 열기 재시도." + +-#: imap/util.c:767 ++#: imap/util.c:796 + msgid "Continue?" + msgstr "계속할까요?" + +-#: index.c:115 index.c:128 ++#: index.c:111 index.c:124 + msgid "Quit" + msgstr "종료" + +-#: index.c:118 index.c:131 recvattach.c:93 ++#: index.c:114 index.c:127 recvattach.c:91 + msgid "Save" + msgstr "저장" + +-#: index.c:119 query.c:81 ++#: index.c:115 query.c:79 + msgid "Mail" + msgstr "메일" + +-#: index.c:120 pager.c:237 ++#: index.c:116 pager.c:229 + msgid "Reply" + msgstr "답장" + +-#: index.c:121 ++#: index.c:117 + msgid "Group" + msgstr "그룹" + +-#: index.c:132 pager.c:244 ++#: index.c:128 pager.c:236 + msgid "Post" + msgstr "" + +-#: index.c:133 pager.c:245 ++#: index.c:129 pager.c:237 + #, fuzzy + msgid "Followup" + msgstr "%s%s에게 댓글?" + +-#: index.c:190 index.c:1362 ++#: index.c:186 index.c:1367 + msgid "No mailbox is open" + msgstr "열린 메일함이 없음" + +-#: index.c:196 ++#: index.c:192 + msgid "There are no messages" + msgstr "메일이 없음" + +-#: index.c:202 ++#: index.c:198 + msgid "No visible messages" + msgstr "메일 없음" + +-#: index.c:208 mx.c:901 pager.c:223 recvattach.c:80 ++#: index.c:204 mx.c:920 pager.c:215 recvattach.c:78 + msgid "Mailbox is read-only" + msgstr "읽기 전용 메일함" + +-#: index.c:214 pager.c:225 recvattach.c:98 ++#: index.c:210 pager.c:217 recvattach.c:96 + msgid "Function not permitted in attach-message mode" + msgstr "메일 첨부 모드에서 허가되지 않는 기능임" + + #. L10N: %s is one of the CHECK_ACL entries below. +-#: index.c:239 pager.c:290 ++#: index.c:235 pager.c:282 + #, c-format + msgid "%s: Operation not permitted by ACL" + msgstr "" + +-#: index.c:430 ++#: index.c:426 + msgid "Can't toggle write on a readonly mailbox" + msgstr "읽기 전용 메일함에 쓸수 없음" + +-#: index.c:437 ++#: index.c:433 + msgid "Changes to folder will be written on folder exit" + msgstr "변경 사항은 폴더를 닫을때 기록됨" + +-#: index.c:442 ++#: index.c:438 + msgid "Changes to folder will not be written" + msgstr "변경 사항을 기록 하지 않음" + +-#: index.c:719 muttlib.c:1490 mx.c:206 mx.c:340 ++#: index.c:714 muttlib.c:1488 mx.c:206 mx.c:338 + #, c-format + msgid "%s is not a mailbox" + msgstr "%s는 메일함이 아님" + +-#: index.c:1218 ++#: index.c:1223 + msgid "Mailbox was externally modified. Flags may be wrong." + msgstr "외부에서 메일함이 변경됨. 플래그가 틀릴 수 있음" + +-#: index.c:1227 pager.c:2409 ++#: index.c:1232 pager.c:2379 + msgid "New mail in this mailbox" + msgstr "현재 메일함에 새 메일 도착" + +-#: index.c:1242 ++#: index.c:1247 + msgid "Mailbox was externally modified" + msgstr "외부에서 메일함이 변경됨" + +-#: index.c:1369 ++#: index.c:1374 + msgid "No tagged messages" + msgstr "표시된 메일이 없음" + +-#: index.c:1373 index.c:1647 menu.c:1423 ++#: index.c:1378 index.c:1653 menu.c:1423 + msgid "Nothing to do" + msgstr "아무것도 하지 않음" + +-#: index.c:1470 ++#: index.c:1475 + #, fuzzy + msgid "Enter Message-Id: " + msgstr "keyID 입력: " + +-#: index.c:1481 ++#: index.c:1487 + msgid "Article has no parent reference" + msgstr "" + +-#: index.c:1504 ++#: index.c:1510 + #, fuzzy + msgid "Message is not visible in limited view" + msgstr "제한된 보기로 부모 메일은 보이지 않는 상태임" + +-#: index.c:1508 ++#: index.c:1514 + #, fuzzy, c-format + msgid "Fetching %s from server..." + msgstr "서버에서 메세지 삭제 중..." + +-#: index.c:1518 nntp/nntp.c:2772 ++#: index.c:1524 nntp/nntp.c:2774 + #, c-format + msgid "Article %s not found on the server" + msgstr "" + +-#: index.c:1544 ++#: index.c:1550 + msgid "No Message-Id. Unable to perform operation." + msgstr "" + +-#: index.c:1623 ++#: index.c:1629 + #, fuzzy + msgid "No deleted messages found in the thread" + msgstr "글타래의 모든 메일 지우기" + +-#: index.c:1644 ++#: index.c:1650 + msgid "Jump to message: " + msgstr "이동: " + +-#: index.c:1650 ++#: index.c:1656 + msgid "Argument must be a message number" + msgstr "메일의 번호만 가능" + +-#: index.c:1652 ++#: index.c:1658 + msgid "Invalid message number" + msgstr "잘못된 메일 번호" + +-#: index.c:1654 ++#: index.c:1660 + msgid "That message is not visible" + msgstr "메일이 볼 수 없는 상태임" + +@@ -2573,38 +2822,38 @@ msgstr "메일이 볼 수 없는 상태임" + #. delete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. + #. +-#: index.c:1692 index.c:3267 pager.c:3064 ++#: index.c:1698 index.c:3293 pager.c:3039 + #, fuzzy + msgid "Can't delete messages" + msgstr "삭제 취소된 메일 없음." + +-#: index.c:1695 ++#: index.c:1701 + msgid "Delete messages matching: " + msgstr "일치하는 메일 삭제: " + +-#: index.c:1736 ++#: index.c:1742 + msgid "No limit pattern is in effect" + msgstr "제한 패턴이 없음" + + #. L10N: ask for a limit to apply +-#: index.c:1741 ++#: index.c:1747 + #, c-format + msgid "Limit: %s" + msgstr "패턴: %s" + +-#: index.c:1778 ++#: index.c:1784 + msgid "Limit to messages matching: " + msgstr "패턴과 일치하는 메일: " + +-#: index.c:1809 ++#: index.c:1815 + msgid "To view all messages, limit to \"all\"" + msgstr "" + +-#: index.c:1821 pager.c:2514 ++#: index.c:1827 pager.c:2487 + msgid "Quit NeoMutt?" + msgstr "NeoMutt을 종료할까요?" + +-#: index.c:1924 ++#: index.c:1931 + msgid "Tag messages matching: " + msgstr "일치하는 메일에 표시함: " + +@@ -2612,213 +2861,213 @@ msgstr "일치하는 메일에 표시함: " + #. L10N: Due to the implementation details we do not know whether we + #. undelete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:1935 index.c:3807 pager.c:3418 ++#: index.c:1942 index.c:3833 pager.c:3396 + #, fuzzy + msgid "Can't undelete messages" + msgstr "삭제 취소된 메일 없음." + +-#: index.c:1939 ++#: index.c:1946 + msgid "Undelete messages matching: " + msgstr "일치하는 메일을 삭제 취소: " + +-#: index.c:1948 ++#: index.c:1955 + msgid "Untag messages matching: " + msgstr "일치하는 메일을 표시 해제: " + +-#: index.c:1989 ++#: index.c:1996 + #, fuzzy + msgid "Logged out of IMAP servers" + msgstr "IMAP 서버 접속 닫는 중.." + +-#: index.c:2105 ++#: index.c:2113 + #, fuzzy + msgid "No virtual folder and no Message-Id, aborting" + msgstr "제목 없음. 끝냅니다" + +-#: index.c:2117 index.c:2288 index.c:2310 index.c:2331 ++#: index.c:2125 index.c:2313 index.c:2335 index.c:2356 + msgid "Failed to create query, aborting" + msgstr "" + +-#: index.c:2130 ++#: index.c:2138 + msgid "failed to find message in notmuch database. try running 'notmuch new'." + msgstr "" + +-#: index.c:2139 ++#: index.c:2147 + msgid "Failed to read thread, aborting" + msgstr "" + +-#: index.c:2171 mx.c:1252 mx.c:1272 ++#: index.c:2179 mx.c:1271 mx.c:1291 + msgid "Folder doesn't support tagging, aborting" + msgstr "" + +-#: index.c:2188 ++#: index.c:2196 + #, fuzzy + msgid "No tag specified, aborting" + msgstr "제목 없음. 끝냅니다" + +-#: index.c:2198 ++#: index.c:2206 + msgid "Update tags..." + msgstr "" + +-#: index.c:2238 ++#: index.c:2246 + msgid "Failed to modify tags, aborting" + msgstr "" + +-#: index.c:2284 ++#: index.c:2293 + #, fuzzy + msgid "No query, aborting" + msgstr "제목 없음. 끝냅니다" + +-#: index.c:2299 index.c:2320 ++#: index.c:2324 index.c:2345 + msgid "Windowed queries disabled" + msgstr "" + +-#: index.c:2304 index.c:2325 ++#: index.c:2329 index.c:2350 + msgid "No notmuch vfolder currently loaded" + msgstr "" + +-#: index.c:2374 ++#: index.c:2399 + msgid "Open mailbox in read-only mode" + msgstr "읽기 전용으로 메일함 열기" + +-#: index.c:2376 ++#: index.c:2401 + msgid "Open mailbox" + msgstr "메일함 열기" + +-#: index.c:2386 ++#: index.c:2411 + #, fuzzy + msgid "No mailboxes have new mail" + msgstr "새 메일이 도착한 메일함 없음." + +-#: index.c:2419 ++#: index.c:2444 + #, fuzzy + msgid "Open newsgroup in read-only mode" + msgstr "읽기 전용으로 메일함 열기" + +-#: index.c:2421 ++#: index.c:2446 + msgid "Open newsgroup" + msgstr "" + +-#: index.c:2538 ++#: index.c:2564 + #, fuzzy + msgid "Exit NeoMutt without saving?" + msgstr "저장하지 않고 NeoMutt을 끝낼까요?" + + #. L10N: CHECK_ACL +-#: index.c:2554 ++#: index.c:2580 + #, fuzzy + msgid "Can't break thread" + msgstr "필터를 만들 수 없음" + +-#: index.c:2574 ++#: index.c:2600 + msgid "Thread broken" + msgstr "" + +-#: index.c:2587 ++#: index.c:2613 + msgid "Thread can't be broken, message is not part of a thread" + msgstr "" + + #. L10N: CHECK_ACL +-#: index.c:2597 ++#: index.c:2623 + msgid "Can't link threads" + msgstr "" + +-#: index.c:2606 ++#: index.c:2632 + msgid "No Message-ID: header available to link thread" + msgstr "" + +-#: index.c:2608 ++#: index.c:2634 + #, fuzzy + msgid "First, please tag a message to be linked here" + msgstr "현재 메일을 저장 후 나중에 보냄" + +-#: index.c:2621 ++#: index.c:2647 + msgid "Threads linked" + msgstr "" + +-#: index.c:2624 ++#: index.c:2650 + msgid "No thread linked" + msgstr "" + +-#: index.c:2665 index.c:2690 ++#: index.c:2691 index.c:2716 + msgid "You are on the last message" + msgstr "마지막 메세지입니다" + +-#: index.c:2673 index.c:2716 ++#: index.c:2699 index.c:2742 + msgid "No undeleted messages" + msgstr "삭제 취소된 메일 없음" + +-#: index.c:2708 index.c:2733 ++#: index.c:2734 index.c:2759 + msgid "You are on the first message" + msgstr "첫번째 메세지입니다" + +-#: index.c:2874 ++#: index.c:2900 + #, fuzzy + msgid "No new messages in this limited view" + msgstr "제한된 보기로 부모 메일은 보이지 않는 상태임" + +-#: index.c:2876 ++#: index.c:2902 + #, fuzzy + msgid "No new messages" + msgstr "새 메일 없음" + +-#: index.c:2881 ++#: index.c:2907 + #, fuzzy + msgid "No unread messages in this limited view" + msgstr "제한된 보기로 부모 메일은 보이지 않는 상태임" + +-#: index.c:2883 ++#: index.c:2909 + #, fuzzy + msgid "No unread messages" + msgstr "읽지 않은 메일 없음" + +-#: index.c:2893 menu.c:1208 pager.c:2644 pattern.c:2652 ++#: index.c:2919 menu.c:1208 pager.c:2618 pattern.c:2776 + msgid "Search wrapped to top" + msgstr "위부터 다시 검색" + +-#: index.c:2898 pager.c:2669 pattern.c:2663 ++#: index.c:2924 pager.c:2643 pattern.c:2787 + msgid "Search wrapped to bottom" + msgstr "아래부터 다시 검색" + + #. L10N: CHECK_ACL +-#: index.c:2915 ++#: index.c:2941 + #, fuzzy + msgid "Can't flag message" + msgstr "메일 보기" + + #. L10N: CHECK_ACL +-#: index.c:2961 pager.c:3377 ++#: index.c:2987 pager.c:3355 + msgid "Can't toggle new" + msgstr "" + +-#: index.c:3057 ++#: index.c:3083 + msgid "No more threads" + msgstr "더 이상 글타래 없음" + +-#: index.c:3059 ++#: index.c:3085 + msgid "You are on the first thread" + msgstr "처음 글타래입니다" + +-#: index.c:3156 ++#: index.c:3182 + #, fuzzy + msgid "Thread contains unread or flagged messages" + msgstr "글타래에 읽지 않은 메세지 있음" + + #. L10N: CHECK_ACL +-#: index.c:3215 pager.c:3019 ++#: index.c:3241 pager.c:2994 + #, fuzzy + msgid "Can't delete message" + msgstr "삭제 취소된 메일 없음." + + #. L10N: CHECK_ACL +-#: index.c:3339 ++#: index.c:3365 + #, fuzzy + msgid "Can't edit message" + msgstr "메일을 쓰지 못함" + + #. L10N: This is displayed when the x-label on one or more + #. messages is edited. +-#: index.c:3432 pager.c:3495 ++#: index.c:3458 pager.c:3473 + #, fuzzy, c-format + msgid "%d label changed" + msgid_plural "%d labels changed" +@@ -2827,7 +3076,7 @@ msgstr[0] "메일함이 변경되지 않음" + #. L10N: This is displayed when editing an x-label, but no messages + #. were updated. Possibly due to canceling at the prompt or if the new + #. label is the same as the old label. +-#: index.c:3440 pager.c:3499 ++#: index.c:3466 pager.c:3477 + #, fuzzy + msgid "No labels changed" + msgstr "메일함이 변경되지 않음" +@@ -2836,7 +3085,7 @@ msgstr "메일함이 변경되지 않음" + #. L10N: Due to the implementation details we do not know whether we + #. mark zero, 1, 12, ... messages as read. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:3571 ++#: index.c:3597 + #, fuzzy + msgid "Can't mark messages as read" + msgstr "글타래의 부모 메일로 이동" +@@ -2844,14 +3093,14 @@ msgstr "글타래의 부모 메일로 이동" + #. L10N: This is the prompt for . Whatever they + #. enter will be prefixed by $mark_macro_prefix and will become + #. a macro hotkey to jump to the currently selected message. +-#: index.c:3612 ++#: index.c:3638 + #, fuzzy + msgid "Enter macro stroke: " + msgstr "keyID 입력: " + + #. L10N: "message hotkey" is the key bindings menu description of a + #. macro created by . +-#: index.c:3620 ++#: index.c:3646 + #, fuzzy + msgid "message hotkey" + msgstr "발송 연기됨." +@@ -2859,265 +3108,123 @@ msgstr "발송 연기됨." + #. L10N: This is echoed after creates a new hotkey + #. macro. %s is the hotkey string ($mark_macro_prefix followed + #. by whatever they typed at the prompt.) +-#: index.c:3625 ++#: index.c:3651 + #, fuzzy, c-format + msgid "Message bound to %s" + msgstr "메일이 전달됨" + + #. L10N: This error is printed if can't find a + #. Message-ID for the currently selected message in the index. +-#: index.c:3634 ++#: index.c:3660 + #, fuzzy + msgid "No message ID to macro" + msgstr "폴더에 메일이 없음" + +-#: index.c:3688 pager.c:3221 recvattach.c:1646 ++#: index.c:3714 pager.c:3196 recvattach.c:1678 + msgid "Reply by mail as poster prefers?" + msgstr "" + +-#: index.c:3691 pager.c:3182 pager.c:3194 pager.c:3224 ++#: index.c:3717 pager.c:3157 pager.c:3169 pager.c:3199 + msgid "Posting to this group not allowed, may be moderated. Continue?" + msgstr "" + + #. L10N: CHECK_ACL +-#: index.c:3768 pager.c:3397 ++#: index.c:3794 pager.c:3375 + #, fuzzy + msgid "Can't undelete message" + msgstr "삭제 취소된 메일 없음." + +-#: init.c:313 ++#: init.c:223 + #, c-format + msgid "Error in command line: %s" + msgstr "명령어 오류: %s" + +-#: init.c:315 ++#: init.c:225 + #, fuzzy, c-format + msgid "Warning in command line: %s" + msgstr "명령어 오류: %s" + +-#: init.c:426 ++#: init.c:336 + #, fuzzy + msgid "unable to determine nodename via uname()" + msgstr "사용자 이름을 알수 없음" + +-#: init.c:580 +-msgid "-group: no group name" +-msgstr "" +- +-#: init.c:590 +-#, fuzzy +-msgid "out of arguments" +-msgstr "인수가 부족함" +- +-#: init.c:804 init.c:1752 +-#, c-format +-msgid "Error: Can't build path of '%s'" +-msgstr "" +- +-#: init.c:817 +-#, c-format +-msgid "Error: Cyclic sourcing of configuration file '%s'" +-msgstr "" +- +-#: init.c:850 +-#, c-format +-msgid "Error in %s, line %d: %s" +-msgstr "%s의 %d번 줄에 오류: %s" +- +-#: init.c:861 +-#, fuzzy, c-format +-msgid "Warning in %s, line %d: %s" +-msgstr "%s의 %d번 줄에 오류: %s" +- +-#: init.c:885 +-#, c-format +-msgid "source: errors in %s" +-msgstr "source: %s에 오류" +- +-#: init.c:885 +-#, fuzzy, c-format +-msgid "source: reading aborted due to too many errors in %s" +-msgstr "source: %s에 오류가 많으므로 읽기 취소" +- +-#: init.c:894 +-#, fuzzy, c-format +-msgid "source: %d warning in %s" +-msgid_plural "source: %d warnings in %s" +-msgstr[0] "source: %s에 오류" +- +-#: init.c:923 +-msgid "alias: no address" +-msgstr "별칭: 주소 없음" +- +-#: init.c:965 +-#, c-format +-msgid "Warning: Bad IDN '%s' in alias '%s'" +-msgstr "경고: 잘못된 IDN '%s' 알리아스 '%s'" +- +-#: init.c:1043 +-#, fuzzy +-msgid "attachments: no disposition" +-msgstr "첨부물 설명 편집" +- +-#: init.c:1054 +-#, fuzzy +-msgid "Current attachments settings:" +-msgstr "첨부물 설명 편집" +- +-#: init.c:1084 +-#, fuzzy +-msgid "attachments: invalid disposition" +-msgstr "첨부물 설명 편집" +- +-#: init.c:1160 +-#, c-format +-msgid "%sgroup: missing -rx or -addr" +-msgstr "" +- +-#: init.c:1186 +-#, fuzzy, c-format +-msgid "%sgroup: warning: bad IDN '%s'" +-msgstr "경고: 잘못된 IDN '%s' 알리아스 '%s'" +- +-#: init.c:1278 +-#, c-format +-msgid "Error: %s" +-msgstr "" +- +-#: init.c:1445 +-msgid "invalid header field" +-msgstr "잘못된 헤더 필드" +- +-#: init.c:1711 init.c:1815 +-#, c-format +-msgid "%s: unknown variable" +-msgstr "%s: 알 수 없는 변수" +- +-#: init.c:1908 +-#, c-format +-msgid "%s is unset" +-msgstr "%s 설정 해제" +- +-#: init.c:1953 mutt_lua.c:478 +-#, c-format +-msgid "source: error at %s" +-msgstr "source: %s에 오류" +- +-#: init.c:1961 +-#, fuzzy, c-format +-msgid "source: file %s could not be sourced" +-msgstr "메일들을 프린트 할 수 없음" +- +-#: init.c:1984 +-#, fuzzy +-msgid "spam: no matching pattern" +-msgstr "패턴과 일치하는 메일에 태그 붙임" +- +-#: init.c:1986 +-#, fuzzy +-msgid "nospam: no matching pattern" +-msgstr "패턴과 일치하는 메일의 태그 해제" +- +-#: init.c:2146 +-#, fuzzy, c-format +-msgid "Could not subscribe to %s" +-msgstr "%s에 가입 중..." +- +-#: init.c:2154 init.c:2632 +-#, fuzzy +-msgid "No folder specified" +-msgstr "제목이 지정되지 않음." +- +-#: init.c:2341 +-#, fuzzy +-msgid "unattachments: no disposition" +-msgstr "첨부물 설명 편집" +- +-#: init.c:2379 +-msgid "unattachments: invalid disposition" +-msgstr "" +- +-#: init.c:2624 +-#, fuzzy, c-format +-msgid "Could not unsubscribe from %s" +-msgstr "%s에서 가입 탈퇴 중..." +- +-#: init.c:3292 ++#: init.c:1042 + #, c-format + msgid "%s: unknown command" + msgstr "%s: 알 수 없는 명령어" + +-#: init.c:3837 ++#: init.c:1588 + msgid "'charset' must contain exactly one character set name" + msgstr "" + +-#: init.c:3853 init.c:3877 init.c:3912 ++#: init.c:1604 init.c:1628 init.c:1663 + #, fuzzy, c-format + msgid "Invalid value for option %s: %s" + msgstr "잘못된 날짜 입력: %s" + +-#: init.c:3890 ++#: init.c:1641 + #, c-format + msgid "Option %s may not be set or reset from the pager" + msgstr "" + +-#: init.c:3928 ++#: init.c:1679 + #, fuzzy, c-format + msgid "Option %s may not be set when in attach-message mode" + msgstr "메일 첨부 모드에서 허가되지 않는 기능임." + + #. L10N: This applies to the "$wrap_headers" config variable +-#: init.c:3943 ++#: init.c:1694 + #, c-format + msgid "Option %s must between 78 and 998 inclusive" + msgstr "" + +-#: keymap.c:373 keymap.c:381 ++#: keymap.c:371 keymap.c:379 + #, c-format + msgid "Binding '%s' will alias '%s' Before, try: 'bind %s %s noop' https://neomutt.org/guide/configuration.html#bind-warnings" + msgstr "" + +-#: keymap.c:757 ++#: keymap.c:755 + msgid "Macro loop detected" + msgstr "매크로 루프가 발생" + +-#: keymap.c:1064 keymap.c:1099 ++#: keymap.c:1062 keymap.c:1097 + msgid "Key is not bound" + msgstr "정의되지 않은 글쇠" + +-#: keymap.c:1104 ++#: keymap.c:1102 + #, c-format + msgid "Key is not bound. Press '%s' for help." + msgstr "정의되지 않은 글쇠. 도움말 보기는 '%s'" + +-#: keymap.c:1177 ++#: keymap.c:1175 + #, c-format + msgid "%s: null key sequence" + msgstr "%s: 공백 글쇠 시퀀스" + +-#: keymap.c:1212 ++#: keymap.c:1210 + #, c-format + msgid "Function '%s' not available for menu '%s'" + msgstr "" + +-#: keymap.c:1495 ++#: keymap.c:1493 + msgid "macro: empty key sequence" + msgstr "macro: 빈 글쇠 시퀀스" + +-#: keymap.c:1543 ++#: keymap.c:1541 + msgid "exec: no arguments" + msgstr "exec: 인수가 없음" + +-#: keymap.c:1563 ++#: keymap.c:1561 + #, c-format + msgid "%s: no such function" + msgstr "%s: 그런 기능 없음" + +-#: keymap.c:1584 ++#: keymap.c:1582 + msgid "Enter keys (^G to abort): " + msgstr "키 입력 (^G 취소): " + +-#: keymap.c:1590 ++#: keymap.c:1588 + #, c-format + msgid "Char = %s, Octal = %o, Decimal = %d" + msgstr "Char = %s, Octal = %o, Decimal = %d" +@@ -3141,7 +3248,7 @@ msgstr "%s 형식을 mailcap 항목에서 찾을 수 없음" + msgid "Scanning %s..." + msgstr "%s 선택 중..." + +-#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:353 ++#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:351 + #, c-format + msgid "Reading %s..." + msgstr "%s 읽는 중..." +@@ -3157,13 +3264,13 @@ msgid "md_commit_message(): unable to set time on file" + msgstr "maildir_commit_message(): 파일 시간을 설정할 수 없음" + + #. L10N: Displayed before/as a mailbox is being synced +-#: maildir/shared.c:1723 mbox/mbox.c:1276 mx.c:461 notmuch/mutt_notmuch.c:2364 ++#: maildir/shared.c:1734 mbox/mbox.c:1276 mx.c:459 notmuch/mutt_notmuch.c:2364 + #, c-format + msgid "Writing %s..." + msgstr "%s 쓰는 중..." + + #. L10N: Try to limit to 80 columns +-#: main.c:227 ++#: main.c:160 + msgid "" + "usage:\n" + " neomutt [-Enx] [-e ] [-F ] [-H ] [-i ]\n" +@@ -3186,7 +3293,7 @@ msgid "" + msgstr "" + + #. L10N: Try to limit to 80 columns. If more space is needed add an indented line +-#: main.c:247 ++#: main.c:180 + msgid "" + "options:\n" + " -- Special argument forces NeoMutt to stop option parsing and treat\n" +@@ -3229,54 +3336,54 @@ msgid "" + " or exit immediately with exit code 1 otherwise" + msgstr "" + +-#: main.c:312 ++#: main.c:245 + msgid "Error initializing terminal" + msgstr "터미널 초기화 오류" + +-#: main.c:390 ++#: main.c:323 + msgid "unable to determine username" + msgstr "사용자 이름을 알수 없음" + +-#: main.c:396 ++#: main.c:329 + msgid "unable to determine home directory" + msgstr "홈 디렉토리를 찾을 수 없음" + +-#: main.c:640 ++#: main.c:572 + #, fuzzy, c-format + msgid "Error: value '%s' is invalid for -d" + msgstr "오류: '%s'는 잘못된 IDN" + +-#: main.c:884 ++#: main.c:815 + msgid "Failed to parse mailto: link" + msgstr "" + +-#: main.c:896 send.c:2452 send.c:2456 ++#: main.c:827 send.c:2463 send.c:2467 + msgid "No recipients specified" + msgstr "수신자가 지정되지 않음" + +-#: main.c:923 ++#: main.c:854 + msgid "Can't use -E flag with stdin" + msgstr "" + +-#: main.c:1007 ++#: main.c:938 + #, fuzzy, c-format + msgid "Can't parse message template: %s" + msgstr "메세지 파일을 열 수 없음: %s" + +-#: main.c:1073 mutt_header.c:329 ++#: main.c:1004 mutt_header.c:329 + #, c-format + msgid "%s: unable to attach file" + msgstr "%s: 파일을 첨부할 수 없음" + +-#: main.c:1156 ++#: main.c:1087 + msgid "No mailbox with new mail" + msgstr "새 메일이 도착한 메일함 없음" + +-#: main.c:1180 ++#: main.c:1111 + msgid "No incoming mailboxes defined" + msgstr "수신 메일함이 정의되지 않음" + +-#: main.c:1230 ++#: main.c:1161 + msgid "Mailbox is empty" + msgstr "메일함이 비었음" + +@@ -3318,52 +3425,52 @@ msgstr "메일함을 다시 열 수 없음" + msgid "Can't write message" + msgstr "메일을 쓰지 못함" + +-#: menu.c:632 ++#: menu.c:631 + msgid "Jump to: " + msgstr "이동할 위치: " + +-#: menu.c:641 ++#: menu.c:640 + msgid "Invalid index number" + msgstr "잘못된 색인 번호" + +-#: menu.c:645 menu.c:671 menu.c:744 menu.c:810 menu.c:828 menu.c:843 menu.c:858 +-#: menu.c:873 menu.c:890 menu.c:907 menu.c:1553 ++#: menu.c:644 menu.c:670 menu.c:743 menu.c:809 menu.c:827 menu.c:842 menu.c:857 ++#: menu.c:872 menu.c:889 menu.c:906 menu.c:1553 + msgid "No entries" + msgstr "항목이 없음" + +-#: menu.c:668 ++#: menu.c:667 + msgid "You can't scroll down farther" + msgstr "더 이상 내려갈 수 없음" + +-#: menu.c:690 ++#: menu.c:689 + msgid "You can't scroll up farther" + msgstr "더 이상 올라갈 수 없음" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the first page" + msgstr "첫번째 페이지입니다" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the last page" + msgstr "마지막 페이지입니다" + +-#: menu.c:922 ++#: menu.c:921 + msgid "You are on the last entry" + msgstr "마지막 항목에 위치하고 있습니다" + +-#: menu.c:937 ++#: menu.c:936 + msgid "You are on the first entry" + msgstr "첫번째 항목에 위치하고 있습니다" + +-#: menu.c:1172 pager.c:2692 pattern.c:2578 ++#: menu.c:1172 pager.c:2666 pattern.c:2702 + msgid "Search for: " + msgstr "찾아보기: " + +-#: menu.c:1173 pager.c:2693 pattern.c:2579 ++#: menu.c:1173 pager.c:2667 pattern.c:2703 + msgid "Reverse search for: " + msgstr "반대 방향으로 찾아보기: " + +-#: menu.c:1226 pager.c:2641 pager.c:2666 pager.c:2800 pattern.c:2708 ++#: menu.c:1226 pager.c:2615 pager.c:2640 pager.c:2774 pattern.c:2832 + msgid "Not found" + msgstr "찾을 수 없음" + +@@ -3406,20 +3513,20 @@ msgstr "flock 시도를 기다리는 중... %d" + msgid "Bad history file format (line %d)" + msgstr "" + +-#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1006 ncrypt/crypt_gpgme.c:2381 +-#: ncrypt/crypt_gpgme.c:2401 ncrypt/crypt_gpgme.c:2460 +-#: ncrypt/crypt_gpgme.c:2477 ncrypt/crypt_gpgme.c:2509 +-#: ncrypt/crypt_gpgme.c:2527 ncrypt/crypt_gpgme.c:2611 +-#: ncrypt/crypt_gpgme.c:3194 ncrypt/crypt_gpgme.c:3292 +-#: ncrypt/crypt_gpgme.c:4373 ncrypt/pgp.c:576 ncrypt/pgp.c:583 ncrypt/pgp.c:896 +-#: ncrypt/pgp.c:1014 ncrypt/pgp.c:1161 ncrypt/pgp.c:1181 ncrypt/pgp.c:1215 +-#: ncrypt/pgp.c:1568 ncrypt/pgpkey.c:708 ncrypt/pgpkey.c:902 +-#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1092 ncrypt/smime.c:1100 +-#: ncrypt/smime.c:1191 ncrypt/smime.c:1299 ncrypt/smime.c:1364 +-#: ncrypt/smime.c:1372 ncrypt/smime.c:1571 ncrypt/smime.c:1967 +-#: ncrypt/smime.c:2046 ncrypt/smime.c:2053 ncrypt/smime.c:2156 +-#: ncrypt/smime.c:2281 ncrypt/smime.c:2297 nntp/nntp.c:1397 nntp/nntp.c:2237 +-#: pattern.c:1132 pop/pop.c:182 ++#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1005 ncrypt/crypt_gpgme.c:2420 ++#: ncrypt/crypt_gpgme.c:2440 ncrypt/crypt_gpgme.c:2499 ++#: ncrypt/crypt_gpgme.c:2516 ncrypt/crypt_gpgme.c:2548 ++#: ncrypt/crypt_gpgme.c:2566 ncrypt/crypt_gpgme.c:2650 ++#: ncrypt/crypt_gpgme.c:3237 ncrypt/crypt_gpgme.c:3335 ++#: ncrypt/crypt_gpgme.c:4421 ncrypt/pgp.c:575 ncrypt/pgp.c:582 ncrypt/pgp.c:895 ++#: ncrypt/pgp.c:1013 ncrypt/pgp.c:1160 ncrypt/pgp.c:1180 ncrypt/pgp.c:1214 ++#: ncrypt/pgp.c:1570 ncrypt/pgpkey.c:741 ncrypt/pgpkey.c:937 ++#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1126 ncrypt/smime.c:1134 ++#: ncrypt/smime.c:1225 ncrypt/smime.c:1333 ncrypt/smime.c:1398 ++#: ncrypt/smime.c:1406 ncrypt/smime.c:1605 ncrypt/smime.c:2001 ++#: ncrypt/smime.c:2080 ncrypt/smime.c:2087 ncrypt/smime.c:2190 ++#: ncrypt/smime.c:2315 ncrypt/smime.c:2331 nntp/nntp.c:1399 nntp/nntp.c:2239 ++#: pattern.c:1171 pop/pop.c:182 + msgid "Can't create temporary file" + msgstr "임시 파일을 만들 수 없음" + +@@ -3438,7 +3545,7 @@ msgstr "디버깅 레벨 %d.\n" + msgid "Logging at level %d to file '%s'" + msgstr "디버깅 레벨 %d.\n" + +-#: mutt/path.c:401 ++#: mutt/path.c:420 + #, fuzzy + msgid "Error: converting path to absolute" + msgstr "%s 서버와의 연결 오류" +@@ -3462,17 +3569,17 @@ msgstr "%d (%s) 신호 발견... 종료함.\n" + msgid "Caught signal %d ... Exiting.\n" + msgstr "%d 신호 발견... 종료함.\n" + +-#: muttlib.c:490 ++#: muttlib.c:488 + #, c-format + msgid "mutt_randbuf buflen=%zu" + msgstr "" + +-#: muttlib.c:510 ++#: muttlib.c:508 + #, c-format + msgid "open /dev/urandom: %s" + msgstr "" + +-#: muttlib.c:517 ++#: muttlib.c:515 + #, c-format + msgid "read /dev/urandom: %s" + msgstr "" +@@ -3480,149 +3587,121 @@ msgstr "" + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) + #. These three letters correspond to the choices in the string. +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "File is a directory, save under it: (y)es, (n)o, (a)ll?" + msgstr "파일이 아니라 디렉토리입니다, 그 아래에 저장할까요? (y)네, (n)아니오, (a)모두" + +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "yna" + msgstr "" + + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) +-#: muttlib.c:763 ++#: muttlib.c:761 + msgid "File is a directory, save under it?" + msgstr "파일이 아니라 디렉토리입니다, 그 아래에 저장할까요?" + +-#: muttlib.c:768 ++#: muttlib.c:766 + msgid "File under directory: " + msgstr "디렉토리안에 저장할 파일:" + +-#: muttlib.c:781 ++#: muttlib.c:779 + msgid "File exists, (o)verwrite, (a)ppend, or (c)ancel?" + msgstr "파일이 존재함, 덮어쓰기(o), 첨가(a), 취소(c)?" + + #. L10N: Options for: File exists, (o)verwrite, (a)ppend, or (c)ancel? +-#: muttlib.c:783 ++#: muttlib.c:781 + msgid "oac" + msgstr "oac" + +-#: muttlib.c:1458 ++#: muttlib.c:1456 + msgid "Can't save message to POP mailbox" + msgstr "POP 메일함에 메일을 저장할 수 없음" + +-#: muttlib.c:1468 ++#: muttlib.c:1466 + #, c-format + msgid "Append messages to %s?" + msgstr "%s에 메일을 첨가할까요?" + +-#: muttlib.c:1481 ++#: muttlib.c:1479 + #, fuzzy + msgid "Can't save message to news server" + msgstr "POP 서버의 메일을 수정할 수 없음" + +-#. L10N: Example: Username at myhost.com +-#: mutt_account.c:233 +-#, c-format +-msgid "Username at %s: " +-msgstr "이름 바꾸기 (%s): " +- +-#: mutt_account.c:315 +-#, c-format +-msgid "Password for %s@%s: " +-msgstr "%s@%s의 암호: " +- +-#. L10N: You will see this error message if (1) you have "oauthbearer" in +-#. one of your $*_authenticators and (2) you do not have the corresponding +-#. $*_oauth_refresh_command defined. So the message does not mean "None of +-#. your $*_oauth_refresh_command's are defined." +-#: mutt_account.c:383 +-#, fuzzy +-msgid "No OAUTH refresh command defined" +-msgstr "질의 명령이 정의되지 않음" +- +-#: mutt_account.c:390 +-msgid "Unable to run refresh command" +-msgstr "" +- +-#: mutt_account.c:400 +-msgid "Command returned empty string" +-msgstr "" +- +-#: mutt_attach.c:140 mutt_attach.c:274 mutt_attach.c:459 mutt_attach.c:1054 ++#: mutt_attach.c:142 mutt_attach.c:276 mutt_attach.c:488 mutt_attach.c:1087 + msgid "Can't match 'nametemplate', continue?" + msgstr "이름 템플레이트와 일치하지 않음. 계속할까요?" + +-#: mutt_attach.c:150 ++#: mutt_attach.c:152 + #, c-format + msgid "Mailcap compose entry requires %%s" + msgstr "Mailcap 작성 항목은 %%s가 필요함" + +-#: mutt_attach.c:168 ++#: mutt_attach.c:170 + msgid "Failure to open file to parse headers" + msgstr "헤더를 분석하기 위한 파일 열기 실패" + +-#: mutt_attach.c:202 ++#: mutt_attach.c:204 + msgid "Failure to open file to strip headers" + msgstr "헤더 제거를 위한 파일 열기 실패" + +-#: mutt_attach.c:212 ++#: mutt_attach.c:214 + #, fuzzy + msgid "Failure to rename file" + msgstr "헤더를 분석하기 위한 파일 열기 실패" + +-#: mutt_attach.c:222 ++#: mutt_attach.c:224 + #, c-format + msgid "No mailcap compose entry for %s, creating empty file" + msgstr "%s의 mailcap 작성 항목이 없음, 빈 파일 생성" + +-#: mutt_attach.c:284 ++#: mutt_attach.c:286 + #, c-format + msgid "Mailcap Edit entry requires %%s" + msgstr "Mailcap 편집 항목은 %%s가 필요함" + +-#: mutt_attach.c:305 ++#: mutt_attach.c:307 + #, c-format + msgid "No mailcap edit entry for %s" + msgstr "편집을 위한 %s의 mailcap 항목이 없음" + +-#: mutt_attach.c:427 ++#: mutt_attach.c:456 + msgid "No matching mailcap entry found. Viewing as text." + msgstr "mailcap 항목에서 일치하는 것을 찾을 수 없음. text로 보기." + +-#: mutt_attach.c:440 ++#: mutt_attach.c:469 + msgid "MIME type not defined. Can't view attachment." + msgstr "정의되지 않은 MIME 형식. 첨부물을 볼 수 없음." + +-#: mutt_attach.c:535 ++#: mutt_attach.c:563 + #, c-format + msgid "---Command: %-20.20s Description: %s" + msgstr "" + +-#: mutt_attach.c:540 ++#: mutt_attach.c:568 + #, c-format + msgid "---Command: %-30.30s Attachment: %s" + msgstr "" + +-#: mutt_attach.c:619 ++#: mutt_attach.c:652 + #, fuzzy, c-format + msgid "---Attachment: %s: %s" + msgstr "-- 첨부물" + +-#: mutt_attach.c:621 ++#: mutt_attach.c:654 + #, fuzzy, c-format + msgid "---Attachment: %s" + msgstr "-- 첨부물" + +-#: mutt_attach.c:902 mutt_attach.c:910 ++#: mutt_attach.c:935 mutt_attach.c:943 + msgid "Write fault" + msgstr "쓰기 실패" + +-#: mutt_attach.c:1174 ++#: mutt_attach.c:1207 + msgid "I don't know how to print that" + msgstr "어떻게 출력할 지 알 수 없음" + +-#: mutt_history.c:47 query.c:84 ++#: mutt_history.c:47 query.c:82 + msgid "Search" + msgstr "찾기" + +@@ -3631,21 +3710,21 @@ msgstr "찾기" + msgid "History '%s'" + msgstr "질의 '%s'" + +-#: mutt_logging.c:315 ++#: mutt_logging.c:313 + #, fuzzy, c-format + msgid "Invalid value for option %s: %ld" + msgstr "잘못된 날짜 입력: %s" + +-#: mutt_lua.c:429 ++#: mutt_lua.c:431 + msgid "Error: Couldn't load the lua interpreter" + msgstr "" + +-#: mutt_lua.c:491 ++#: mutt_lua.c:493 + #, fuzzy, c-format + msgid "Couldn't source lua source: %s" + msgstr "%s를 잠글 수 없음.\n" + +-#: mutt_mailbox.c:214 ++#: mutt_mailbox.c:241 + msgid "New mail in " + msgstr "새 메일 도착 " + +@@ -3667,20 +3746,20 @@ msgstr "제한된 보기로 부모 메일은 보이지 않는 상태임" + msgid "Parent message is not visible in this limited view" + msgstr "제한된 보기로 부모 메일은 보이지 않는 상태임" + +-#: mx.c:387 ++#: mx.c:385 + #, fuzzy, c-format + msgid "Reading from %s interrupted..." + msgstr "찾는 도중 중단됨." + + #. L10N: Displayed if a mailbox sync fails +-#: mx.c:468 ++#: mx.c:469 + #, fuzzy, c-format + msgid "Unable to write %s" + msgstr "%s를 첨부할 수 없음" + + #. L10N: Although we know the precise number of messages, we do not show it to the user. + #. So feel free to use a "generic plural" as plural translation if your language has one. +-#: mx.c:523 ++#: mx.c:525 + #, fuzzy + msgid "message not deleted" + msgid_plural "messages not deleted" +@@ -3691,67 +3770,67 @@ msgstr[0] "%d개의 메일을 삭제 표시함..." + msgid "Can't open trash folder" + msgstr "폴더에 첨가할 수 없음: %s" + +-#: mx.c:623 ++#: mx.c:627 + msgid "Mark all articles read?" + msgstr "" + + #. L10N: The first argument is the number of read messages to be + #. moved, the second argument is the target mailbox. +-#: mx.c:671 ++#: mx.c:675 + #, fuzzy, c-format + msgid "Move %d read message to %s?" + msgid_plural "Move %d read messages to %s?" + msgstr[0] "읽은 메일을 %s로 옮길까요?" + +-#: mx.c:685 mx.c:917 ++#: mx.c:689 mx.c:936 + #, fuzzy, c-format + msgid "Purge %d deleted message?" + msgid_plural "Purge %d deleted messages?" + msgstr[0] "삭제 표시된 메일(%d)을 삭제할까요?" + +-#: mx.c:708 ++#: mx.c:712 + #, c-format + msgid "Moving read messages to %s..." + msgstr "읽은 메일을 %s로 옮기는 중..." + +-#: mx.c:774 mx.c:908 ++#: mx.c:783 mx.c:927 + msgid "Mailbox is unchanged" + msgstr "메일함이 변경되지 않음" + +-#: mx.c:827 ++#: mx.c:842 + #, c-format + msgid "%d kept, %d moved, %d deleted" + msgstr "%d개 보관, %d개 이동, %d개 삭제" + +-#: mx.c:831 mx.c:972 ++#: mx.c:846 mx.c:991 + #, c-format + msgid "%d kept, %d deleted" + msgstr "%d개 보관, %d개 삭제" + +-#: mx.c:892 ++#: mx.c:911 + #, c-format + msgid " Press '%s' to toggle write" + msgstr " 쓰기 상태 바꾸기; '%s'를 누르세요" + +-#: mx.c:894 ++#: mx.c:913 + msgid "Use 'toggle-write' to re-enable write" + msgstr "다시 쓰기를 가능하게 하려면 'toggle-write'를 사용하세요" + +-#: mx.c:896 ++#: mx.c:915 + #, c-format + msgid "Mailbox is marked unwritable. %s" + msgstr "메일함이 쓰기 불가능으로 표시 되었음. %s" + +-#: mx.c:966 ++#: mx.c:985 + msgid "Mailbox checkpointed" + msgstr "메일함이 표시됨" + +-#: ncrypt/crypt.c:93 ++#: ncrypt/crypt.c:91 + #, c-format + msgid " (current time: %c)" + msgstr " (현재 시간: %c)" + +-#: ncrypt/crypt.c:98 ++#: ncrypt/crypt.c:96 + #, c-format + msgid "[-- %s output follows%s --]\n" + msgstr "[-- %s 출력 결과 %s --]\n" +@@ -3760,53 +3839,53 @@ msgstr "[-- %s 출력 결과 %s --]\n" + #. by gpg-agent) we can't know whether we forgot zero, 1, 12, ... + #. passwords. So in English we use "Passphrases". Your language might + #. have other means to express this. +-#: ncrypt/crypt.c:119 ++#: ncrypt/crypt.c:117 + #, fuzzy + msgid "Passphrases forgotten" + msgstr "암호 문구 잊음" + +-#: ncrypt/crypt.c:203 ++#: ncrypt/crypt.c:201 + msgid "Inline PGP can't be used with attachments. Revert to PGP/MIME?" + msgstr "" + +-#: ncrypt/crypt.c:207 ++#: ncrypt/crypt.c:205 + msgid "Mail not sent: inline PGP can't be used with attachments" + msgstr "" + +-#: ncrypt/crypt.c:214 ++#: ncrypt/crypt.c:212 + msgid "Inline PGP can't be used with format=flowed. Revert to PGP/MIME?" + msgstr "" + +-#: ncrypt/crypt.c:218 ++#: ncrypt/crypt.c:216 + msgid "Mail not sent: inline PGP can't be used with format=flowed" + msgstr "" + +-#: ncrypt/crypt.c:228 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:714 +-#: ncrypt/pgpkey.c:915 ++#: ncrypt/crypt.c:226 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:747 ++#: ncrypt/pgpkey.c:950 + msgid "Invoking PGP..." + msgstr "PGP를 구동합니다..." + +-#: ncrypt/crypt.c:240 ++#: ncrypt/crypt.c:238 + msgid "Message can't be sent inline. Revert to using PGP/MIME?" + msgstr "" + +-#: ncrypt/crypt.c:242 send.c:2430 ++#: ncrypt/crypt.c:240 send.c:2441 + msgid "Mail not sent" + msgstr "보내지 않음" + +-#: ncrypt/crypt.c:662 ++#: ncrypt/crypt.c:666 + msgid "S/MIME messages with no hints on content are unsupported" + msgstr "내용에 S/MIME 표시가 없는 경우는 지원하지 않음" + +-#: ncrypt/crypt.c:888 ++#: ncrypt/crypt.c:892 + msgid "Trying to extract PGP keys...\n" + msgstr "PGP 열쇠를 추출하는 중...\n" + +-#: ncrypt/crypt.c:917 ++#: ncrypt/crypt.c:921 + msgid "Trying to extract S/MIME certificates..." + msgstr "S/MIME 인증서 추출하는 중..." + +-#: ncrypt/crypt.c:1140 ++#: ncrypt/crypt.c:1144 + #, c-format + msgid "" + "[-- Error: Unknown multipart/signed protocol %s --]\n" +@@ -3815,7 +3894,7 @@ msgstr "" + "[-- 오류: 알 수 없는 multipart/signed 프로토콜 %s --]\n" + "\n" + +-#: ncrypt/crypt.c:1180 ++#: ncrypt/crypt.c:1184 + #, fuzzy + msgid "" + "[-- Error: Missing or bad-format multipart/signed signature --]\n" +@@ -3824,7 +3903,7 @@ msgstr "" + "[-- 오류: 일치하지 않는 multipart/signed 구조 --]\n" + "\n" + +-#: ncrypt/crypt.c:1222 ++#: ncrypt/crypt.c:1226 + #, c-format + msgid "" + "[-- Warning: We can't verify %s/%s signatures. --]\n" +@@ -3833,7 +3912,7 @@ msgstr "" + "[-- Warning: %s/%s 서명을 확인 할 수 없음 --]\n" + "\n" + +-#: ncrypt/crypt.c:1235 ++#: ncrypt/crypt.c:1239 + msgid "" + "[-- The following data is signed --]\n" + "\n" +@@ -3841,7 +3920,7 @@ msgstr "" + "[-- 아래의 자료는 서명 되었음 --]\n" + "\n" + +-#: ncrypt/crypt.c:1243 ++#: ncrypt/crypt.c:1248 + msgid "" + "[-- Warning: Can't find any signatures. --]\n" + "\n" +@@ -3849,7 +3928,7 @@ msgstr "" + "[-- 경고: 서명을 찾을 수 없음. --]\n" + "\n" + +-#: ncrypt/crypt.c:1249 ++#: ncrypt/crypt.c:1255 + msgid "" + "\n" + "[-- End of signed data --]\n" +@@ -3869,236 +3948,236 @@ msgstr "S/MIME를 구동합니다..." + #. L10N: The following are the headers for the "verify key" output from the + #. GPGME key selection menu (bound to "c" in the key selection menu). + #. They will be automatically aligned. +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Name: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1869 ncrypt/crypt_gpgme.c:1874 ++#: ncrypt/crypt_gpgme.c:183 ncrypt/crypt_gpgme.c:1900 ncrypt/crypt_gpgme.c:1905 + msgid "aka: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + #, fuzzy + msgid "Valid From: " + msgstr "잘못된 달 입력: %s" + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + #, fuzzy + msgid "Valid To: " + msgstr "잘못된 달 입력: %s" + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Key Type: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Key Usage: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:185 ncrypt/crypt_gpgme.c:1759 ++#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1790 + #, fuzzy + msgid "Fingerprint: " + msgstr "Fingerprint: %s" + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Serial-No: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + msgid "Issued By: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + #, fuzzy + msgid "Subkey: " + msgstr "열쇠 ID: 0x%s" + +-#: ncrypt/crypt_gpgme.c:783 ++#: ncrypt/crypt_gpgme.c:782 + #, c-format + msgid "error enabling CMS protocol: %s" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:806 ++#: ncrypt/crypt_gpgme.c:805 + #, fuzzy, c-format + msgid "error creating gpgme data object: %s" + msgstr "패턴 오류: %s" + +-#: ncrypt/crypt_gpgme.c:907 ncrypt/crypt_gpgme.c:934 ncrypt/crypt_gpgme.c:2057 +-#: ncrypt/crypt_gpgme.c:2814 ++#: ncrypt/crypt_gpgme.c:906 ncrypt/crypt_gpgme.c:933 ncrypt/crypt_gpgme.c:2096 ++#: ncrypt/crypt_gpgme.c:2853 + #, fuzzy, c-format + msgid "error allocating data object: %s" + msgstr "패턴 오류: %s" + +-#: ncrypt/crypt_gpgme.c:956 ++#: ncrypt/crypt_gpgme.c:955 + #, fuzzy, c-format + msgid "error rewinding data object: %s" + msgstr "패턴 오류: %s" + +-#: ncrypt/crypt_gpgme.c:972 ++#: ncrypt/crypt_gpgme.c:971 + msgid "[tempfile]" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:978 ncrypt/crypt_gpgme.c:1032 ++#: ncrypt/crypt_gpgme.c:977 ncrypt/crypt_gpgme.c:1031 + #, fuzzy, c-format + msgid "error reading data object: %s" + msgstr "패턴 오류: %s" + +-#: ncrypt/crypt_gpgme.c:1149 ++#: ncrypt/crypt_gpgme.c:1148 + #, fuzzy, c-format + msgid "error adding recipient '%s': %s" + msgstr "패턴 오류: %s" + +-#: ncrypt/crypt_gpgme.c:1202 ++#: ncrypt/crypt_gpgme.c:1186 + #, c-format + msgid "secret key '%s' not found: %s" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1218 ++#: ncrypt/crypt_gpgme.c:1203 + #, c-format + msgid "ambiguous specification of secret key '%s'\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1234 ++#: ncrypt/crypt_gpgme.c:1219 + #, c-format + msgid "error setting secret key '%s': %s" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1250 ++#: ncrypt/crypt_gpgme.c:1278 + #, fuzzy, c-format + msgid "error setting PKA signature notation: %s" + msgstr "패턴 오류: %s" + +-#: ncrypt/crypt_gpgme.c:1324 ++#: ncrypt/crypt_gpgme.c:1353 + #, fuzzy, c-format + msgid "error encrypting data: %s" + msgstr "패턴 오류: %s" + +-#: ncrypt/crypt_gpgme.c:1453 ++#: ncrypt/crypt_gpgme.c:1483 + #, fuzzy, c-format + msgid "error signing data: %s" + msgstr "패턴 오류: %s" + +-#: ncrypt/crypt_gpgme.c:1463 ++#: ncrypt/crypt_gpgme.c:1493 + msgid "$pgp_sign_as unset and no default key specified in ~/.gnupg/gpg.conf" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1641 ++#: ncrypt/crypt_gpgme.c:1672 + msgid "Warning: One of the keys has been revoked\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1651 ++#: ncrypt/crypt_gpgme.c:1682 + msgid "Warning: The key used to create the signature expired at: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1657 ++#: ncrypt/crypt_gpgme.c:1688 + #, fuzzy + msgid "Warning: At least one certification key has expired\n" + msgstr "서버 인증서가 만기됨" + +-#: ncrypt/crypt_gpgme.c:1671 ++#: ncrypt/crypt_gpgme.c:1702 + msgid "Warning: The signature expired at: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1678 ++#: ncrypt/crypt_gpgme.c:1709 + msgid "Can't verify due to a missing key or certificate\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1683 ++#: ncrypt/crypt_gpgme.c:1714 + #, fuzzy + msgid "The CRL is not available\n" + msgstr "SSL 사용 불가." + +-#: ncrypt/crypt_gpgme.c:1689 ++#: ncrypt/crypt_gpgme.c:1720 + msgid "Available CRL is too old\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1694 ++#: ncrypt/crypt_gpgme.c:1725 + msgid "A policy requirement was not met\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1703 ++#: ncrypt/crypt_gpgme.c:1734 + msgid "A system error occurred" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1734 ++#: ncrypt/crypt_gpgme.c:1765 + msgid "WARNING: PKA entry does not match signer's address: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1740 ++#: ncrypt/crypt_gpgme.c:1771 + msgid "PKA verified signer's address is: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1822 ++#: ncrypt/crypt_gpgme.c:1853 + msgid "WARNING: We have NO indication whether the key belongs to the person named as shown above\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1829 ++#: ncrypt/crypt_gpgme.c:1860 + msgid "WARNING: The key does NOT BELONG to the person named as shown above\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1833 ++#: ncrypt/crypt_gpgme.c:1864 + msgid "WARNING: It is NOT certain that the key belongs to the person named as shown above\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1886 ++#: ncrypt/crypt_gpgme.c:1917 + msgid "KeyID " + msgstr "" + + #. L10N: You will see this message in place of "KeyID " + #. if the S/MIME key has no ID. This is quite an error. +-#: ncrypt/crypt_gpgme.c:1893 ++#: ncrypt/crypt_gpgme.c:1924 + msgid "no signature fingerprint available" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1902 ncrypt/crypt_gpgme.c:1907 ++#: ncrypt/crypt_gpgme.c:1933 ncrypt/crypt_gpgme.c:1938 + #, fuzzy + msgid "created: " + msgstr "%s를 만들까요?" + +-#: ncrypt/crypt_gpgme.c:1981 ++#: ncrypt/crypt_gpgme.c:2012 + #, c-format + msgid "Error getting key information for KeyID %s: %s\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1988 ncrypt/crypt_gpgme.c:2003 ++#: ncrypt/crypt_gpgme.c:2019 ncrypt/crypt_gpgme.c:2034 + msgid "Good signature from:" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1995 ++#: ncrypt/crypt_gpgme.c:2026 + msgid "*BAD* signature from:" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:2011 ++#: ncrypt/crypt_gpgme.c:2042 + msgid "Problem signature from:" + msgstr "" + + #. L10N: This is trying to match the width of the + #. "Problem signature from:" translation just above. +-#: ncrypt/crypt_gpgme.c:2017 ++#: ncrypt/crypt_gpgme.c:2048 + msgid " expires: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:2064 ncrypt/crypt_gpgme.c:2294 +-#: ncrypt/crypt_gpgme.c:3081 ++#: ncrypt/crypt_gpgme.c:2103 ncrypt/crypt_gpgme.c:2333 ++#: ncrypt/crypt_gpgme.c:3124 + msgid "[-- Begin signature information --]\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:2075 ++#: ncrypt/crypt_gpgme.c:2114 + #, fuzzy, c-format + msgid "Error: verification failed: %s\n" + msgstr "명령어 오류: %s\n" + +-#: ncrypt/crypt_gpgme.c:2126 ++#: ncrypt/crypt_gpgme.c:2165 + #, c-format + msgid "*** Begin Notation (signature by: %s) ***\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:2145 ++#: ncrypt/crypt_gpgme.c:2184 + msgid "*** End Notation ***\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:2153 ncrypt/crypt_gpgme.c:2308 +-#: ncrypt/crypt_gpgme.c:3091 ++#: ncrypt/crypt_gpgme.c:2192 ncrypt/crypt_gpgme.c:2347 ++#: ncrypt/crypt_gpgme.c:3134 + #, fuzzy + msgid "" + "[-- End signature information --]\n" +@@ -4107,28 +4186,34 @@ msgstr "" + "\n" + "[-- 서명 자료의 끝 --]\n" + +-#: ncrypt/crypt_gpgme.c:2268 ++#: ncrypt/crypt_gpgme.c:2307 + #, fuzzy, c-format + msgid "" + "[-- Error: decryption failed: %s --]\n" + "\n" + msgstr "[-- 오류: 임시 파일을 만들 수가 없음! --]\n" + +-#: ncrypt/crypt_gpgme.c:2821 ++#: ncrypt/crypt_gpgme.c:2860 + #, fuzzy, c-format + msgid "Error importing key: %s" + msgstr "패턴 오류: %s" + +-#: ncrypt/crypt_gpgme.c:3059 ++#: ncrypt/crypt_gpgme.c:3098 + #, c-format + msgid "Error: decryption/verification failed: %s\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:3103 ++#: ncrypt/crypt_gpgme.c:3105 ncrypt/crypt_gpgme.c:3302 ncrypt/pgp.c:726 ++#: ncrypt/pgp.c:1273 ++#, fuzzy ++msgid "PGP message successfully decrypted" ++msgstr "PGP 서명 확인에 성공함" ++ ++#: ncrypt/crypt_gpgme.c:3146 + msgid "Error: copy data failed\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:3116 ncrypt/pgp.c:675 ++#: ncrypt/crypt_gpgme.c:3159 ncrypt/pgp.c:674 + msgid "" + "[-- BEGIN PGP MESSAGE --]\n" + "\n" +@@ -4136,11 +4221,11 @@ msgstr "" + "[-- PGP 메일 시작 --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3118 ncrypt/pgp.c:677 ++#: ncrypt/crypt_gpgme.c:3161 ncrypt/pgp.c:676 + msgid "[-- BEGIN PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- PGP 공개 열쇠 부분 시작 --]\n" + +-#: ncrypt/crypt_gpgme.c:3120 ncrypt/pgp.c:679 ++#: ncrypt/crypt_gpgme.c:3163 ncrypt/pgp.c:678 + msgid "" + "[-- BEGIN PGP SIGNED MESSAGE --]\n" + "\n" +@@ -4148,19 +4233,19 @@ msgstr "" + "[-- PGP 서명 메일 시작 --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3145 ncrypt/pgp.c:716 ++#: ncrypt/crypt_gpgme.c:3188 ncrypt/pgp.c:715 + msgid "[-- END PGP MESSAGE --]\n" + msgstr "[-- PGP 메일 끝 --]\n" + +-#: ncrypt/crypt_gpgme.c:3147 ncrypt/pgp.c:730 ++#: ncrypt/crypt_gpgme.c:3190 ncrypt/pgp.c:729 + msgid "[-- END PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- PGP 공개 열쇠 부분 끝--]\n" + +-#: ncrypt/crypt_gpgme.c:3149 ncrypt/pgp.c:732 ++#: ncrypt/crypt_gpgme.c:3192 ncrypt/pgp.c:731 + msgid "[-- END PGP SIGNED MESSAGE --]\n" + msgstr "[-- PGP 서명 메일 끝 --]\n" + +-#: ncrypt/crypt_gpgme.c:3170 ncrypt/pgp.c:765 ++#: ncrypt/crypt_gpgme.c:3213 ncrypt/pgp.c:764 + msgid "" + "[-- Error: could not find beginning of PGP message --]\n" + "\n" +@@ -4168,11 +4253,11 @@ msgstr "" + "[-- 오류: PGP 메일의 시작을 찾을 수 없음 --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3198 ncrypt/crypt_gpgme.c:3296 ncrypt/pgp.c:1218 ++#: ncrypt/crypt_gpgme.c:3241 ncrypt/crypt_gpgme.c:3339 ncrypt/pgp.c:1218 + msgid "[-- Error: could not create temporary file --]\n" + msgstr "[-- 오류: 임시 파일을 만들 수가 없음 --]\n" + +-#: ncrypt/crypt_gpgme.c:3212 ++#: ncrypt/crypt_gpgme.c:3255 + #, fuzzy + msgid "" + "[-- The following data is PGP/MIME signed and encrypted --]\n" +@@ -4181,7 +4266,7 @@ msgstr "" + "[-- 아래의 자료는 PGP/MIME 암호화 되었음 --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3214 ncrypt/pgp.c:1231 ++#: ncrypt/crypt_gpgme.c:3257 ncrypt/pgp.c:1232 + msgid "" + "[-- The following data is PGP/MIME encrypted --]\n" + "\n" +@@ -4189,27 +4274,22 @@ msgstr "" + "[-- 아래의 자료는 PGP/MIME 암호화 되었음 --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3254 ++#: ncrypt/crypt_gpgme.c:3297 + #, fuzzy + msgid "[-- End of PGP/MIME signed and encrypted data --]\n" + msgstr "[-- PGP/MIME 암호화 자료 끝 --]\n" + +-#: ncrypt/crypt_gpgme.c:3255 ncrypt/pgp.c:1267 ++#: ncrypt/crypt_gpgme.c:3298 ncrypt/pgp.c:1268 + msgid "[-- End of PGP/MIME encrypted data --]\n" + msgstr "[-- PGP/MIME 암호화 자료 끝 --]\n" + +-#: ncrypt/crypt_gpgme.c:3259 ncrypt/pgp.c:727 ncrypt/pgp.c:1272 +-#, fuzzy +-msgid "PGP message successfully decrypted" +-msgstr "PGP 서명 확인에 성공함" +- +-#: ncrypt/crypt_gpgme.c:3265 ncrypt/pgp.c:666 ncrypt/pgp.c:718 +-#: ncrypt/pgp.c:1276 ++#: ncrypt/crypt_gpgme.c:3308 ncrypt/pgp.c:665 ncrypt/pgp.c:717 ++#: ncrypt/pgp.c:1277 + #, fuzzy + msgid "Could not decrypt PGP message" + msgstr "메일을 복사할 수 없음" + +-#: ncrypt/crypt_gpgme.c:3310 ++#: ncrypt/crypt_gpgme.c:3353 + #, fuzzy + msgid "" + "[-- The following data is S/MIME signed --]\n" +@@ -4218,7 +4298,7 @@ msgstr "" + "[-- 아래의 자료는 S/MIME 서명 되었음 --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3311 ++#: ncrypt/crypt_gpgme.c:3354 + #, fuzzy + msgid "" + "[-- The following data is S/MIME encrypted --]\n" +@@ -4227,145 +4307,145 @@ msgstr "" + "[-- 아래의 자료는 S/MIME 암호화 되었음 --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3358 ++#: ncrypt/crypt_gpgme.c:3401 + #, fuzzy + msgid "[-- End of S/MIME signed data --]\n" + msgstr "" + "\n" + "[-- S/MIME 서명 자료 끝 --]\n" + +-#: ncrypt/crypt_gpgme.c:3359 ++#: ncrypt/crypt_gpgme.c:3402 + #, fuzzy + msgid "[-- End of S/MIME encrypted data --]\n" + msgstr "" + "\n" + "[-- S/MIME 암호화 자료 끝 --]\n" + +-#: ncrypt/crypt_gpgme.c:4029 ++#: ncrypt/crypt_gpgme.c:4077 + msgid "[Can't display this user ID (unknown encoding)]" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:4031 ++#: ncrypt/crypt_gpgme.c:4079 + msgid "[Can't display this user ID (invalid encoding)]" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:4036 ++#: ncrypt/crypt_gpgme.c:4084 + msgid "[Can't display this user ID (invalid DN)]" + msgstr "" + + #. L10N: comes after the Name or aka if the key is invalid + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4150 ncrypt/crypt_gpgme.c:4291 ++#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4339 + #, fuzzy + msgid "[Invalid]" + msgstr "무효 " + + #. L10N: This is printed after "Key Type: " and looks like this: PGP, 2048 bit RSA +-#: ncrypt/crypt_gpgme.c:4190 ncrypt/crypt_gpgme.c:4331 ++#: ncrypt/crypt_gpgme.c:4238 ncrypt/crypt_gpgme.c:4379 + #, c-format + msgid "%s, %lu bit %s\n" + msgid_plural "%s, %lu bit %s\n" + msgstr[0] "" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4338 ++#: ncrypt/crypt_gpgme.c:4246 ncrypt/crypt_gpgme.c:4386 + #, fuzzy + msgid "encryption" + msgstr "암호화" + +-#: ncrypt/crypt_gpgme.c:4199 ncrypt/crypt_gpgme.c:4205 +-#: ncrypt/crypt_gpgme.c:4339 ncrypt/crypt_gpgme.c:4344 ++#: ncrypt/crypt_gpgme.c:4247 ncrypt/crypt_gpgme.c:4253 ++#: ncrypt/crypt_gpgme.c:4387 ncrypt/crypt_gpgme.c:4392 + msgid ", " + msgstr "" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4204 ncrypt/crypt_gpgme.c:4343 ++#: ncrypt/crypt_gpgme.c:4252 ncrypt/crypt_gpgme.c:4391 + msgid "signing" + msgstr "" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4210 ncrypt/crypt_gpgme.c:4348 ++#: ncrypt/crypt_gpgme.c:4258 ncrypt/crypt_gpgme.c:4396 + #, fuzzy + msgid "certification" + msgstr "인증서 저장됨" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4285 ++#: ncrypt/crypt_gpgme.c:4333 + #, fuzzy + msgid "[Revoked]" + msgstr "취소됨 " + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4297 ++#: ncrypt/crypt_gpgme.c:4345 + #, fuzzy + msgid "[Expired]" + msgstr "만기됨 " + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4303 ++#: ncrypt/crypt_gpgme.c:4351 + msgid "[Disabled]" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:4376 ++#: ncrypt/crypt_gpgme.c:4424 + #, fuzzy + msgid "Collecting data..." + msgstr "%s로 연결 중..." + +-#: ncrypt/crypt_gpgme.c:4394 ++#: ncrypt/crypt_gpgme.c:4442 + #, fuzzy, c-format + msgid "Error finding issuer key: %s\n" + msgstr "%s 서버와의 연결 오류" + +-#: ncrypt/crypt_gpgme.c:4403 ++#: ncrypt/crypt_gpgme.c:4451 + #, fuzzy + msgid "Error: certification chain too long - stopping here\n" + msgstr "명령어 오류: %s\n" + +-#: ncrypt/crypt_gpgme.c:4413 ncrypt/pgpkey.c:733 ++#: ncrypt/crypt_gpgme.c:4461 ncrypt/pgpkey.c:766 + #, c-format + msgid "Key ID: 0x%s" + msgstr "열쇠 ID: 0x%s" + +-#: ncrypt/crypt_gpgme.c:4538 ncrypt/crypt_gpgme.c:4589 ++#: ncrypt/crypt_gpgme.c:4586 ncrypt/crypt_gpgme.c:4637 + #, c-format + msgid "gpgme_op_keylist_start failed: %s" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:4577 ncrypt/crypt_gpgme.c:4619 +-#: ncrypt/crypt_gpgme.c:5355 ++#: ncrypt/crypt_gpgme.c:4625 ncrypt/crypt_gpgme.c:4667 ++#: ncrypt/crypt_gpgme.c:5435 + #, c-format + msgid "gpgme_op_keylist_next failed: %s" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:4701 ++#: ncrypt/crypt_gpgme.c:4749 + #, fuzzy + msgid "All matching keys are marked expired/revoked" + msgstr "모든 키가 만기/취소/사용 불가 입니다" + +-#: ncrypt/crypt_gpgme.c:4731 ncrypt/pgpkey.c:666 ncrypt/smime.c:551 ++#: ncrypt/crypt_gpgme.c:4779 ncrypt/pgpkey.c:669 ncrypt/smime.c:553 + msgid "Select " + msgstr "선택 " + +-#: ncrypt/crypt_gpgme.c:4733 ncrypt/pgpkey.c:668 ++#: ncrypt/crypt_gpgme.c:4781 ncrypt/pgpkey.c:671 + msgid "Check key " + msgstr "열쇠 확인 " + +-#: ncrypt/crypt_gpgme.c:4749 ++#: ncrypt/crypt_gpgme.c:4827 + #, fuzzy + msgid "PGP and S/MIME keys matching" + msgstr "PGP 키가 \"%s\"와 일치함." + +-#: ncrypt/crypt_gpgme.c:4751 ++#: ncrypt/crypt_gpgme.c:4829 + #, fuzzy + msgid "PGP keys matching" + msgstr "PGP 키가 \"%s\"와 일치함." + +-#: ncrypt/crypt_gpgme.c:4753 ++#: ncrypt/crypt_gpgme.c:4831 + #, fuzzy + msgid "S/MIME keys matching" + msgstr "S/MIME 인증서가 \"%s\"와 일치." + +-#: ncrypt/crypt_gpgme.c:4755 ++#: ncrypt/crypt_gpgme.c:4833 + #, fuzzy + msgid "keys matching" + msgstr "PGP 키가 \"%s\"와 일치함." +@@ -4374,59 +4454,59 @@ msgstr "PGP 키가 \"%s\"와 일치함." + #. %1$s is one of the previous four entries. + #. %2$s is an address. + #. e.g. "S/MIME keys matching " +-#: ncrypt/crypt_gpgme.c:4763 ++#: ncrypt/crypt_gpgme.c:4841 + #, c-format + msgid "%s <%s>" + msgstr "" + + #. L10N: e.g. 'S/MIME keys matching "Michael Elkins".' +-#: ncrypt/crypt_gpgme.c:4768 ++#: ncrypt/crypt_gpgme.c:4846 + #, c-format + msgid "%s \"%s\"" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:4796 ncrypt/pgpkey.c:754 ++#: ncrypt/crypt_gpgme.c:4874 ncrypt/pgpkey.c:787 + msgid "This key can't be used: expired/disabled/revoked" + msgstr "이 키는 사용할 수 없습니다: 만기/사용중지/취소됨" + +-#: ncrypt/crypt_gpgme.c:4810 ncrypt/pgpkey.c:767 ncrypt/smime.c:581 ++#: ncrypt/crypt_gpgme.c:4888 ncrypt/pgpkey.c:800 ncrypt/smime.c:613 + #, fuzzy + msgid "ID is expired/disabled/revoked. Do you really want to use the key?" + msgstr "이 키는 만기/사용중지/취소됨. 이 키를 정말로 사용을 하겠습니까?" + +-#: ncrypt/crypt_gpgme.c:4820 ncrypt/pgpkey.c:779 ++#: ncrypt/crypt_gpgme.c:4898 ncrypt/pgpkey.c:812 + #, fuzzy + msgid "ID is not valid. Do you really want to use the key?" + msgstr "이 ID는 확실하지 않음. 이 키를 정말로 사용을 하겠습니까?" + +-#: ncrypt/crypt_gpgme.c:4823 ncrypt/pgpkey.c:782 ++#: ncrypt/crypt_gpgme.c:4901 ncrypt/pgpkey.c:815 + #, fuzzy + msgid "ID is only marginally valid. Do you really want to use the key?" + msgstr "이 ID는 신용도가 낮음. 이 키를 정말로 사용을 하겠습니까?" + +-#: ncrypt/crypt_gpgme.c:4831 ncrypt/pgpkey.c:775 ncrypt/smime.c:585 ++#: ncrypt/crypt_gpgme.c:4909 ncrypt/pgpkey.c:808 ncrypt/smime.c:617 + #, fuzzy + msgid "ID has undefined validity. Do you really want to use the key?" + msgstr "ID의 인증자가 정의되지 않음. 이 키를 정말로 사용을 하겠습니까?" + +-#: ncrypt/crypt_gpgme.c:4911 ncrypt/crypt_gpgme.c:5024 ncrypt/pgpkey.c:1019 +-#: ncrypt/pgpkey.c:1146 ++#: ncrypt/crypt_gpgme.c:4991 ncrypt/crypt_gpgme.c:5104 ncrypt/pgpkey.c:1054 ++#: ncrypt/pgpkey.c:1181 + #, c-format + msgid "Looking for keys matching \"%s\"..." + msgstr "\"%s\"와 일치하는 키를 찾는 중..." + +-#: ncrypt/crypt_gpgme.c:5140 ncrypt/pgpkey.c:870 ncrypt/smime.c:924 ++#: ncrypt/crypt_gpgme.c:5220 ncrypt/pgpkey.c:905 ncrypt/smime.c:958 + #, c-format + msgid "No matching keys found for \"%s\"" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5190 ncrypt/pgp.c:1456 ++#: ncrypt/crypt_gpgme.c:5270 ncrypt/pgp.c:1457 + #, c-format + msgid "Use keyID = \"%s\" for %s?" + msgstr "keyID = \"%s\"를 %s에 사용할까요?" + +-#: ncrypt/crypt_gpgme.c:5238 ncrypt/pgp.c:1505 ncrypt/smime.c:944 +-#: ncrypt/smime.c:1049 ++#: ncrypt/crypt_gpgme.c:5318 ncrypt/pgp.c:1506 ncrypt/smime.c:978 ++#: ncrypt/smime.c:1083 + #, c-format + msgid "Enter keyID for %s: " + msgstr "%s의 keyID 입력: " +@@ -4435,16 +4515,16 @@ msgstr "%s의 keyID 입력: " + #. mutt_gpgme_select_secret_key() tries to list all secret keys to choose + #. from. This error is displayed if no results were found. + #. +-#: ncrypt/crypt_gpgme.c:5364 ++#: ncrypt/crypt_gpgme.c:5444 + #, fuzzy + msgid "No secret keys found" + msgstr "찾을 수 없음" + +-#: ncrypt/crypt_gpgme.c:5398 ncrypt/pgpkey.c:888 ++#: ncrypt/crypt_gpgme.c:5478 ncrypt/pgpkey.c:923 + msgid "Please enter the key ID: " + msgstr "열쇠 ID 를 입력하십시요: " + +-#: ncrypt/crypt_gpgme.c:5411 ++#: ncrypt/crypt_gpgme.c:5491 + #, fuzzy, c-format + msgid "Error exporting key: %s" + msgstr "패턴 오류: %s" +@@ -4452,103 +4532,103 @@ msgstr "패턴 오류: %s" + #. 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. +-#: ncrypt/crypt_gpgme.c:5429 ++#: ncrypt/crypt_gpgme.c:5509 + #, fuzzy, c-format + msgid "PGP Key 0x%s" + msgstr "PGP 키 %s" + +-#: ncrypt/crypt_gpgme.c:5474 ++#: ncrypt/crypt_gpgme.c:5554 + msgid "GPGME: OpenPGP protocol not available" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5485 ++#: ncrypt/crypt_gpgme.c:5565 + msgid "GPGME: CMS protocol not available" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5536 ++#: ncrypt/crypt_gpgme.c:5616 + #, fuzzy + msgid "S/MIME (s)ign, sign (a)s, (p)gp, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME 암호화(e), 서명(s), 사용 서명(a), 둘 다(b), (i)nline, 취소(f)?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5538 ++#: ncrypt/crypt_gpgme.c:5618 + msgid "sapco" + msgstr "esabif" + +-#: ncrypt/crypt_gpgme.c:5545 ++#: ncrypt/crypt_gpgme.c:5625 + #, fuzzy + msgid "PGP (s)ign, sign (a)s, s/(m)ime, (c)lear, or (o)ppenc mode off?" + msgstr "PGP 암호화(e), 서명(s), 사용 서명(a), 둘 다(b), (i)nline, 취소(f)?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5547 ++#: ncrypt/crypt_gpgme.c:5627 + msgid "samco" + msgstr "esabif" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5557 ++#: ncrypt/crypt_gpgme.c:5637 + #, fuzzy + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME 암호화(e), 서명(s), 사용 서명(a), 둘 다(b), (i)nline, 취소(f)?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5560 ++#: ncrypt/crypt_gpgme.c:5640 + #, fuzzy + msgid "esabpco" + msgstr "esabif" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5566 ++#: ncrypt/crypt_gpgme.c:5646 + #, fuzzy + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime, (c)lear, or (o)ppenc mode?" + msgstr "PGP 암호화(e), 서명(s), 사용 서명(a), 둘 다(b), (i)nline, 취소(f)?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5569 ++#: ncrypt/crypt_gpgme.c:5649 + #, fuzzy + msgid "esabmco" + msgstr "esabif" + +-#: ncrypt/crypt_gpgme.c:5580 ++#: ncrypt/crypt_gpgme.c:5660 + #, fuzzy + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp or (c)lear?" + msgstr "S/MIME 암호화(e), 서명(s), 사용 서명(a), 둘 다(b), (i)nline, 취소(f)?" + + #. L10N: S/MIME options +-#: ncrypt/crypt_gpgme.c:5582 ++#: ncrypt/crypt_gpgme.c:5662 + #, fuzzy + msgid "esabpc" + msgstr "esabif" + +-#: ncrypt/crypt_gpgme.c:5589 ++#: ncrypt/crypt_gpgme.c:5669 + #, fuzzy + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime or (c)lear?" + msgstr "PGP 암호화(e), 서명(s), 사용 서명(a), 둘 다(b), (i)nline, 취소(f)?" + + #. L10N: PGP options +-#: ncrypt/crypt_gpgme.c:5591 ++#: ncrypt/crypt_gpgme.c:5671 + #, fuzzy + msgid "esabmc" + msgstr "esabif" + +-#: ncrypt/crypt_gpgme.c:5751 ++#: ncrypt/crypt_gpgme.c:5831 + msgid "Failed to verify sender" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5754 ++#: ncrypt/crypt_gpgme.c:5834 + #, fuzzy + msgid "Failed to figure out sender" + msgstr "헤더를 분석하기 위한 파일 열기 실패" + +-#: ncrypt/pgp.c:108 ++#: ncrypt/pgp.c:107 + msgid "Enter PGP passphrase:" + msgstr "PGP 암호 문구 입력:" + +-#: ncrypt/pgp.c:595 ++#: ncrypt/pgp.c:594 + msgid "[-- Error: unable to create PGP subprocess --]\n" + msgstr "[-- 오류: PGP 하부 프로세스를 생성할 수 없음 --]\n" + +-#: ncrypt/pgp.c:644 ncrypt/pgp.c:926 ncrypt/pgp.c:1086 ++#: ncrypt/pgp.c:643 ncrypt/pgp.c:925 ncrypt/pgp.c:1085 + msgid "" + "[-- End of PGP output --]\n" + "\n" +@@ -4559,16 +4639,16 @@ msgstr "" + #. L10N: You will see this error message if (1) you are decrypting + #. (not encrypting) something and (2) it is a plaintext. So the + #. message does not mean "You failed to encrypt the message." +-#: ncrypt/pgp.c:724 ++#: ncrypt/pgp.c:723 + #, fuzzy + msgid "PGP message is not encrypted" + msgstr "PGP 서명 확인에 성공함" + +-#: ncrypt/pgp.c:978 ++#: ncrypt/pgp.c:977 + msgid "Internal error. Please submit a bug report." + msgstr "" + +-#: ncrypt/pgp.c:1043 ++#: ncrypt/pgp.c:1042 + msgid "" + "[-- Error: could not create a PGP subprocess --]\n" + "\n" +@@ -4576,132 +4656,132 @@ msgstr "" + "[-- Error: PGP 하부 프로세스를 생성할 수 없음 --]\n" + "\n" + +-#: ncrypt/pgp.c:1073 ncrypt/pgp.c:1098 ncrypt/smime.c:2143 postpone.c:757 +-#: postpone.c:785 ++#: ncrypt/pgp.c:1072 ncrypt/pgp.c:1097 ncrypt/smime.c:2177 postpone.c:803 ++#: postpone.c:831 + msgid "Decryption failed" + msgstr "해독 실패" + +-#: ncrypt/pgp.c:1333 ++#: ncrypt/pgp.c:1334 + msgid "Can't open PGP subprocess" + msgstr "PGP 하부 프로세스를 열 수 없음" + +-#: ncrypt/pgp.c:1768 ++#: ncrypt/pgp.c:1770 + msgid "Can't invoke PGP" + msgstr "PGP를 실행하지 못함" + + #. L10N: The next string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1875 ++#: ncrypt/pgp.c:1877 + msgid "PGP/M(i)ME" + msgstr "" + + #. L10N: The previous string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1881 ++#: ncrypt/pgp.c:1883 + msgid "(i)nline" + msgstr "" + + #. L10N: PGP options (inline) (opportunistic encryption is on) +-#: ncrypt/pgp.c:1893 ++#: ncrypt/pgp.c:1895 + #, fuzzy, c-format + msgid "PGP (s)ign, sign (a)s, %s format, (c)lear, or (o)ppenc mode off?" + msgstr "PGP 암호화(e), 서명(s), 사용 서명(a), 둘 다(b), (i)nline, 취소(f)?" + + #. L10N: PGP options (inline) (opportunistic encryption is on) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1899 ++#: ncrypt/pgp.c:1901 + msgid "saico" + msgstr "esabif" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1905 ++#: ncrypt/pgp.c:1907 + #, fuzzy + msgid "PGP (s)ign, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "PGP 암호화(e), 서명(s), 사용 서명(a), 둘 다(b), (i)nline, 취소(f)?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1907 ++#: ncrypt/pgp.c:1909 + msgid "saco" + msgstr "esabif" + + #. L10N: PGP options (inline) (opportunistic encryption is off) +-#: ncrypt/pgp.c:1921 ++#: ncrypt/pgp.c:1923 + #, fuzzy, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, (c)lear, or (o)ppenc mode?" + msgstr "PGP 암호화(e), 서명(s), 사용 서명(a), 둘 다(b), (i)nline, 취소(f)?" + + #. L10N: PGP options (inline) (opportunistic encryption is off) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1927 ++#: ncrypt/pgp.c:1929 + #, fuzzy + msgid "esabico" + msgstr "esabif" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1933 ++#: ncrypt/pgp.c:1935 + #, fuzzy + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "PGP 암호화(e), 서명(s), 사용 서명(a), 둘 다(b), (i)nline, 취소(f)?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1936 ++#: ncrypt/pgp.c:1938 + #, fuzzy + msgid "esabco" + msgstr "esabif" + + #. L10N: PGP options (inline) +-#: ncrypt/pgp.c:1947 ++#: ncrypt/pgp.c:1949 + #, fuzzy, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, or (c)lear?" + msgstr "PGP 암호화(e), 서명(s), 사용 서명(a), 둘 다(b), (i)nline, 취소(f)?" + + #. L10N: PGP options (inline) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1953 ++#: ncrypt/pgp.c:1955 + #, fuzzy + msgid "esabic" + msgstr "esabif" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1959 ++#: ncrypt/pgp.c:1961 + #, fuzzy + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (c)lear?" + msgstr "PGP 암호화(e), 서명(s), 사용 서명(a), 둘 다(b), (i)nline, 취소(f)?" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1961 ++#: ncrypt/pgp.c:1963 + #, fuzzy + msgid "esabc" + msgstr "esabif" + +-#: ncrypt/pgpinvoke.c:458 ++#: ncrypt/pgpinvoke.c:461 + msgid "Fetching PGP key..." + msgstr "PGP 열쇠 가져오는 중..." + +-#: ncrypt/pgpkey.c:640 ++#: ncrypt/pgpkey.c:643 + msgid "All matching keys are expired, revoked, or disabled" + msgstr "모든 키가 만기/취소/사용 불가 입니다" + +-#: ncrypt/pgpkey.c:681 ++#: ncrypt/pgpkey.c:714 + #, c-format + msgid "PGP keys matching <%s>" + msgstr "PGP 키가 <%s>와 일치함" + +-#: ncrypt/pgpkey.c:683 ++#: ncrypt/pgpkey.c:716 + #, c-format + msgid "PGP keys matching \"%s\"" + msgstr "PGP 키가 \"%s\"와 일치함" + +-#: ncrypt/pgpkey.c:700 ncrypt/pgpkey.c:909 ++#: ncrypt/pgpkey.c:733 ncrypt/pgpkey.c:944 + msgid "Can't open /dev/null" + msgstr "/dev/null를 열 수 없음" + +-#: ncrypt/pgpkey.c:938 ++#: ncrypt/pgpkey.c:973 + #, c-format + msgid "PGP Key %s" + msgstr "PGP 키 %s" + +-#: ncrypt/smime.c:182 ++#: ncrypt/smime.c:180 + msgid "Enter S/MIME passphrase:" + msgstr "S/MIME 암호 문구 입력:" + +@@ -4710,7 +4790,7 @@ msgstr "S/MIME 암호 문구 입력:" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:460 ++#: ncrypt/smime.c:462 + msgid "Expired " + msgstr "만기됨 " + +@@ -4719,7 +4799,7 @@ msgstr "만기됨 " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:468 ++#: ncrypt/smime.c:470 + msgid "Invalid " + msgstr "무효 " + +@@ -4728,7 +4808,7 @@ msgstr "무효 " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:476 ++#: ncrypt/smime.c:478 + msgid "Revoked " + msgstr "취소됨 " + +@@ -4737,7 +4817,7 @@ msgstr "취소됨 " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:484 ++#: ncrypt/smime.c:486 + msgid "Trusted " + msgstr "신용할 수 있음 " + +@@ -4746,7 +4826,7 @@ msgstr "신용할 수 있음 " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:492 ++#: ncrypt/smime.c:494 + msgid "Unverified" + msgstr "미확인됨" + +@@ -4755,7 +4835,7 @@ msgstr "미확인됨" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:500 ++#: ncrypt/smime.c:502 + msgid "Verified " + msgstr "확인됨 " + +@@ -4764,60 +4844,60 @@ msgstr "확인됨 " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:508 ++#: ncrypt/smime.c:510 + msgid "Unknown " + msgstr "알 수 없음 " + +-#: ncrypt/smime.c:545 ++#: ncrypt/smime.c:547 + #, c-format + msgid "S/MIME certificates matching \"%s\"" + msgstr "S/MIME 인증서가 \"%s\"와 일치" + +-#: ncrypt/smime.c:589 ++#: ncrypt/smime.c:621 + #, fuzzy + msgid "ID is not trusted. Do you really want to use the key?" + msgstr "이 ID는 확실하지 않음. 이 키를 정말로 사용을 하겠습니까?" + +-#: ncrypt/smime.c:910 ++#: ncrypt/smime.c:944 + msgid "Enter keyID: " + msgstr "keyID 입력: " + +-#: ncrypt/smime.c:1055 ++#: ncrypt/smime.c:1089 + #, c-format + msgid "No (valid) certificate found for %s" + msgstr "%s를 위한 인증서를 찾을 수 없음" + +-#: ncrypt/smime.c:1108 ncrypt/smime.c:1137 ncrypt/smime.c:1209 +-#: ncrypt/smime.c:1243 ncrypt/smime.c:1319 ncrypt/smime.c:1399 ++#: ncrypt/smime.c:1142 ncrypt/smime.c:1171 ncrypt/smime.c:1243 ++#: ncrypt/smime.c:1277 ncrypt/smime.c:1353 ncrypt/smime.c:1433 + msgid "Error: unable to create OpenSSL subprocess" + msgstr "오류: OpenSSL 하부 프로세스를 생성할 수 없음" + +-#: ncrypt/smime.c:1379 ++#: ncrypt/smime.c:1413 + #, fuzzy + msgid "Label for certificate: " + msgstr "지정한 곳에서 인증서를 가져올 수 없음" + +-#: ncrypt/smime.c:1480 ++#: ncrypt/smime.c:1514 + msgid "no certfile" + msgstr "인증파일 없음" + +-#: ncrypt/smime.c:1483 ++#: ncrypt/smime.c:1517 + msgid "no mbox" + msgstr "메일함 없음" + +-#: ncrypt/smime.c:1640 ncrypt/smime.c:1810 ++#: ncrypt/smime.c:1674 ncrypt/smime.c:1844 + msgid "No output from OpenSSL..." + msgstr "OpenSSL으로 부터 출력이 없음..." + +-#: ncrypt/smime.c:1727 ++#: ncrypt/smime.c:1761 + msgid "Can't sign: No key specified. Use Sign As." + msgstr "" + +-#: ncrypt/smime.c:1777 ++#: ncrypt/smime.c:1811 + msgid "Can't open OpenSSL subprocess" + msgstr "OpenSSL 하부 프로세스를 열 수 없음" + +-#: ncrypt/smime.c:2004 ncrypt/smime.c:2123 ++#: ncrypt/smime.c:2038 ncrypt/smime.c:2157 + msgid "" + "[-- End of OpenSSL output --]\n" + "\n" +@@ -4825,23 +4905,23 @@ msgstr "" + "[-- OpenSSL 출력 끝 --]\n" + "\n" + +-#: ncrypt/smime.c:2080 ncrypt/smime.c:2093 ++#: ncrypt/smime.c:2114 ncrypt/smime.c:2127 + msgid "[-- Error: unable to create OpenSSL subprocess --]\n" + msgstr "[-- 오류: OpenSSL 하부 프로세스를 생성할 수 없음 --]\n" + +-#: ncrypt/smime.c:2129 ++#: ncrypt/smime.c:2163 + msgid "[-- The following data is S/MIME encrypted --]\n" + msgstr "" + "[-- 아래의 자료는 S/MIME 암호화 되었음 --]\n" + "\n" + +-#: ncrypt/smime.c:2132 ++#: ncrypt/smime.c:2166 + msgid "[-- The following data is S/MIME signed --]\n" + msgstr "" + "[-- 아래의 자료는 S/MIME 서명 되었음 --]\n" + "\n" + +-#: ncrypt/smime.c:2225 ++#: ncrypt/smime.c:2259 + msgid "" + "\n" + "[-- End of S/MIME encrypted data. --]\n" +@@ -4849,7 +4929,7 @@ msgstr "" + "\n" + "[-- S/MIME 암호화 자료 끝 --]\n" + +-#: ncrypt/smime.c:2227 ++#: ncrypt/smime.c:2261 + msgid "" + "\n" + "[-- End of S/MIME signed data. --]\n" +@@ -4858,170 +4938,170 @@ msgstr "" + "[-- S/MIME 서명 자료 끝 --]\n" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2361 ++#: ncrypt/smime.c:2395 + #, fuzzy + msgid "S/MIME (s)ign, encrypt (w)ith, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME 암호화(e), 서명(s), 방식(w), 사용 서명(a), 둘 다(b), 취소(f)?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2364 ++#: ncrypt/smime.c:2398 + msgid "swaco" + msgstr "eswabf" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2372 ++#: ncrypt/smime.c:2406 + #, fuzzy + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME 암호화(e), 서명(s), 방식(w), 사용 서명(a), 둘 다(b), 취소(f)?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2375 ++#: ncrypt/smime.c:2409 + #, fuzzy + msgid "eswabco" + msgstr "eswabf" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2382 ++#: ncrypt/smime.c:2416 + #, fuzzy + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, or (c)lear?" + msgstr "S/MIME 암호화(e), 서명(s), 방식(w), 사용 서명(a), 둘 다(b), 취소(f)?" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2385 ++#: ncrypt/smime.c:2419 + #, fuzzy + msgid "eswabc" + msgstr "eswabf" + +-#: ncrypt/smime.c:2449 ++#: ncrypt/smime.c:2483 + msgid "Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear?" + msgstr "" + + #. L10N: Options for: Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear? +-#: ncrypt/smime.c:2452 ++#: ncrypt/smime.c:2486 + msgid "123c" + msgstr "" + +-#: ncrypt/smime.c:2455 ++#: ncrypt/smime.c:2489 + msgid "(1) DES, (2) Triple-DES?" + msgstr "" + + #. L10N: Options for: (1) DES, (2) Triple-DES +-#: ncrypt/smime.c:2457 ++#: ncrypt/smime.c:2491 + msgid "12" + msgstr "" + +-#: ncrypt/smime.c:2470 ++#: ncrypt/smime.c:2504 + msgid "(1) RC2-40, (2) RC2-64, (3) RC2-128?" + msgstr "" + + #. L10N: Options for: (1) RC2-40, (2) RC2-64, (3) RC2-128 + #. L10N: Options for: (1) AES128, (2) AES192, (3) AES256 +-#: ncrypt/smime.c:2472 ncrypt/smime.c:2490 ++#: ncrypt/smime.c:2506 ncrypt/smime.c:2524 + msgid "123" + msgstr "" + +-#: ncrypt/smime.c:2488 ++#: ncrypt/smime.c:2522 + msgid "(1) AES128, (2) AES192, (3) AES256?" + msgstr "" + +-#: nntp/newsrc.c:632 ++#: nntp/newsrc.c:639 + msgid "Loading list of groups from cache..." + msgstr "" + +-#: nntp/newsrc.c:997 ++#: nntp/newsrc.c:1023 + msgid "No news server defined" + msgstr "" + +-#: nntp/newsrc.c:1012 ++#: nntp/newsrc.c:1041 + #, fuzzy, c-format + msgid "%s is an invalid news server specification" + msgstr "%s는 잘못된 POP 패스" + +-#: nntp/nntp.c:236 nntp/nntp.c:777 pop/pop.c:742 pop/pop_lib.c:398 ++#: nntp/nntp.c:238 nntp/nntp.c:779 pop/pop.c:742 pop/pop_lib.c:424 + msgid "Server closed connection" + msgstr "서버와 연결이 끊어짐" + +-#: nntp/nntp.c:340 ++#: nntp/nntp.c:342 + msgid "Server doesn't support reader mode" + msgstr "" + +-#: nntp/nntp.c:576 pop/pop_auth.c:504 smtp.c:650 ++#: nntp/nntp.c:578 pop/pop_auth.c:505 smtp.c:675 + msgid "No authenticators available" + msgstr "인증자가 없음." + +-#: nntp/nntp.c:766 ++#: nntp/nntp.c:768 + #, fuzzy, c-format + msgid "%s authentication failed" + msgstr "SASL 인증에 실패함" + +-#: nntp/nntp.c:826 ++#: nntp/nntp.c:828 + #, fuzzy, c-format + msgid "Connection to %s lost. Reconnect?" + msgstr "%s의 접속이 끊어짐" + +-#: nntp/nntp.c:1285 ++#: nntp/nntp.c:1287 + #, fuzzy + msgid "Fetching list of articles..." + msgstr "메일의 목록을 가져오는 중..." + +-#: nntp/nntp.c:1549 nntp/nntp.c:2138 pop/pop.c:614 pop/pop.c:910 ++#: nntp/nntp.c:1551 nntp/nntp.c:2140 pop/pop.c:614 pop/pop.c:905 + msgid "Checking for new messages..." + msgstr "새 메일을 확인중..." + +-#: nntp/nntp.c:1864 nntp/nntp.c:1954 ++#: nntp/nntp.c:1866 nntp/nntp.c:1956 + #, fuzzy + msgid "Could not switch to reader mode" + msgstr "임시 메일 폴더를 쓸 수 없음: %s" + +-#: nntp/nntp.c:1877 ++#: nntp/nntp.c:1879 + #, fuzzy, c-format + msgid "Connected to %s. %s" + msgstr "%s로 연결 중..." + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + #, fuzzy + msgid "Posting is ok" + msgstr "아무것도 하지 않음" + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + msgid "Posting is NOT ok" + msgstr "" + +-#: nntp/nntp.c:2008 nntp/nntp.c:2043 ++#: nntp/nntp.c:2010 nntp/nntp.c:2045 + #, fuzzy, c-format + msgid "Can't post article: %s" + msgstr "%s: %s의 상태를 알수 없음." + +-#: nntp/nntp.c:2064 ++#: nntp/nntp.c:2066 + #, fuzzy, c-format + msgid "Loading list of groups from server %s..." + msgstr "서버에서 메세지 삭제 중..." + +-#: nntp/nntp.c:2106 nntp/nntp.c:2198 ++#: nntp/nntp.c:2108 nntp/nntp.c:2200 + #, fuzzy + msgid "Loading descriptions..." + msgstr "접속 중..." + +-#: nntp/nntp.c:2128 ++#: nntp/nntp.c:2130 + #, fuzzy + msgid "Checking for new newsgroups..." + msgstr "새 메일을 확인중..." + +-#: nntp/nntp.c:2332 ++#: nntp/nntp.c:2334 + msgid "Unable to find child articles because server does not support XPAT command" + msgstr "" + +-#: nntp/nntp.c:2437 ++#: nntp/nntp.c:2439 + #, fuzzy, c-format + msgid "%s is an invalid newsgroup specification" + msgstr "%s는 잘못된 POP 패스" + +-#: nntp/nntp.c:2476 ++#: nntp/nntp.c:2478 + #, c-format + msgid "Newsgroup %s not found on the server" + msgstr "" + +-#: nntp/nntp.c:2498 ++#: nntp/nntp.c:2500 + #, c-format + msgid "Newsgroup %s has been removed from the server" + msgstr "" +@@ -5033,7 +5113,7 @@ msgstr "" + + #: notmuch/mutt_notmuch.c:219 notmuch/mutt_notmuch.c:1939 + #, c-format +-msgid "failed to parse notmuch uri: %s" ++msgid "failed to parse notmuch url: %s" + msgstr "" + + #: notmuch/mutt_notmuch.c:449 +@@ -6184,189 +6264,189 @@ msgstr "" + msgid "show S/MIME options" + msgstr "S/MIME 옵션 보기" + +-#: pager.c:222 ++#: pager.c:214 + msgid "Not available in this menu" + msgstr "이 메뉴에선 유효하지 않음" + +-#: pager.c:229 ++#: pager.c:221 + msgid "PrevPg" + msgstr "이전페이지" + +-#: pager.c:230 ++#: pager.c:222 + msgid "NextPg" + msgstr "다음페이지" + +-#: pager.c:235 ++#: pager.c:227 + msgid "View Attachm." + msgstr "첨부물보기" + +-#: pager.c:238 pager.c:247 ++#: pager.c:230 pager.c:239 + msgid "Next" + msgstr "다음" + + #. L10N: Status bar message: the entire email is visible in the pager + #. L10N: Status bar message: all the emails are visible in the index +-#: pager.c:2180 status.c:278 ++#: pager.c:2136 status.c:278 + msgid "all" + msgstr "" + + #. L10N: Status bar message: the end of the email is visible in the pager + #. L10N: Status bar message: the end of the list emails is visible in the index +-#: pager.c:2182 status.c:276 ++#: pager.c:2138 status.c:276 + msgid "end" + msgstr "" + +-#: pager.c:2530 pager.c:2566 pager.c:2602 pager.c:2937 ++#: pager.c:2503 pager.c:2539 pager.c:2576 pager.c:2911 + msgid "Bottom of message is shown" + msgstr "메세지의 끝입니다" + +-#: pager.c:2543 pager.c:2573 pager.c:2580 pager.c:2590 ++#: pager.c:2516 pager.c:2546 pager.c:2553 pager.c:2564 + msgid "Top of message is shown" + msgstr "메세지의 처음입니다" + +-#: pager.c:2840 ++#: pager.c:2814 + msgid "Help is currently being shown" + msgstr "현재 도움말을 보고 있습니다" + +-#: pager.c:2897 ++#: pager.c:2871 + msgid "No more quoted text" + msgstr "더 이상의 인용문 없음" + +-#: pager.c:2914 ++#: pager.c:2888 + msgid "No more unquoted text after quoted text" + msgstr "인용문 이후에 더 이상의 비 인용문 없음" + +-#: pattern.c:220 pattern.c:297 pattern.c:1046 ++#: pattern.c:221 pattern.c:298 pattern.c:1085 + #, c-format + msgid "Error in expression: %s" + msgstr "표현식에서 오류: %s" + +-#: pattern.c:226 pattern.c:302 pattern.c:1052 ++#: pattern.c:227 pattern.c:303 pattern.c:1091 + #, fuzzy + msgid "Empty expression" + msgstr "표현식 오류" + +-#: pattern.c:288 ++#: pattern.c:289 + #, fuzzy + msgid "No search command defined" + msgstr "질의 명령이 정의되지 않음" + +-#: pattern.c:326 ++#: pattern.c:327 + #, fuzzy, c-format + msgid "Running search command: %s ..." + msgstr "자동 보기 명령 실행: %s" + +-#: pattern.c:417 ++#: pattern.c:441 pattern.c:456 + #, c-format + msgid "Invalid day of month: %s" + msgstr "잘못된 날짜 입력: %s" + +-#: pattern.c:431 ++#: pattern.c:446 pattern.c:470 + #, c-format + msgid "Invalid month: %s" + msgstr "잘못된 달 입력: %s" + +-#: pattern.c:534 ++#: pattern.c:573 + #, c-format + msgid "Invalid relative date: %s" + msgstr "잘못된 날짜 입력: %s" + +-#: pattern.c:842 pattern.c:975 ++#: pattern.c:881 pattern.c:1014 + #, fuzzy + msgid "No current message" + msgstr "읽지 않은 메일 없음" + +-#: pattern.c:1002 ++#: pattern.c:1041 + msgid "No Context" + msgstr "" + +-#: pattern.c:1125 ++#: pattern.c:1164 + #, fuzzy + msgid "Error opening 'memory stream'" + msgstr "메일함 여는중 오류" + +-#: pattern.c:1171 ++#: pattern.c:1210 + #, fuzzy + msgid "Error re-opening 'memory stream'" + msgstr "메일함 여는중 오류" + +-#: pattern.c:1180 ++#: pattern.c:1219 + #, fuzzy + msgid "Error opening /dev/null" + msgstr "/dev/null를 열 수 없음" + +-#: pattern.c:1443 pattern.c:1620 ++#: pattern.c:1482 pattern.c:1662 + #, c-format + msgid "error in pattern at: %s" + msgstr "패턴 오류: %s" + +-#: pattern.c:1476 ++#: pattern.c:1515 + #, fuzzy, c-format + msgid "missing pattern: %s" + msgstr "변수가 빠짐" + +-#: pattern.c:1494 pattern.c:1593 ++#: pattern.c:1533 pattern.c:1635 + #, c-format + msgid "mismatched parentheses: %s" + msgstr "삽입 어구가 맞지 않음: %s" + +-#: pattern.c:1559 ++#: pattern.c:1598 + #, fuzzy, c-format + msgid "%c: invalid pattern modifier" + msgstr "%c: 잘못된 명령어" + +-#: pattern.c:1564 ++#: pattern.c:1603 + #, c-format + msgid "%c: not supported in this mode" + msgstr "%c: 이 모드에서 지원되지 않음" + +-#: pattern.c:1576 ++#: pattern.c:1618 + msgid "missing parameter" + msgstr "변수가 빠짐" + +-#: pattern.c:1626 ++#: pattern.c:1668 + msgid "empty pattern" + msgstr "빈 패턴" + +-#: pattern.c:2080 pattern.c:2083 ++#: pattern.c:2202 pattern.c:2205 + msgid "error: server custom search only supported with IMAP" + msgstr "" + +-#: pattern.c:2274 ++#: pattern.c:2398 + #, c-format + msgid "error: unknown op %d (report this error)" + msgstr "오류: 알 수 없는 작동 %d (오류 보고 바람)" + +-#: pattern.c:2448 pattern.c:2604 ++#: pattern.c:2572 pattern.c:2728 + msgid "Compiling search pattern..." + msgstr "검색 패턴 컴파일 중..." + +-#: pattern.c:2468 ++#: pattern.c:2592 + msgid "Executing command on matching messages..." + msgstr "선택된 메일에 명령 실행중..." + +-#: pattern.c:2537 ++#: pattern.c:2661 + msgid "No messages matched criteria" + msgstr "기준과 일치하는 메일이 없음" + +-#: pattern.c:2641 ++#: pattern.c:2765 + #, fuzzy + msgid "Searching..." + msgstr "저장중..." + +-#: pattern.c:2655 ++#: pattern.c:2779 + msgid "Search hit bottom without finding match" + msgstr "일치하는 결과가 아래에 없음" + +-#: pattern.c:2666 ++#: pattern.c:2790 + msgid "Search hit top without finding match" + msgstr "일치하는 결과가 위에 없음" + +-#: pattern.c:2700 ++#: pattern.c:2824 + msgid "Search interrupted" + msgstr "찾는 도중 중단됨" + +-#: pop/pop.c:216 pop/pop_lib.c:234 ++#: pop/pop.c:216 pop/pop_lib.c:259 + msgid "Command TOP is not supported by server" + msgstr "명령어 TOP이 서버에서 지원되지 않음" + +@@ -6374,7 +6454,7 @@ msgstr "명령어 TOP이 서버에서 지원되지 않음" + msgid "Can't write header to temporary file" + msgstr "임시 파일 만들 수 없음" + +-#: pop/pop.c:420 pop/pop_lib.c:236 ++#: pop/pop.c:420 pop/pop_lib.c:261 + msgid "Command UIDL is not supported by server" + msgstr "명령어 UIDL이 서버에서 지원되지 않음" + +@@ -6388,7 +6468,7 @@ msgstr[0] "잘못된 메일 인덱스. 메일함 열기 재시도." + msgid "POP host is not defined" + msgstr "POP 서버가 지정되지 않음" + +-#: pop/pop.c:596 pop/pop.c:825 ++#: pop/pop.c:596 pop/pop.c:790 pop/pop.c:820 + #, c-format + msgid "%s is an invalid POP path" + msgstr "%s는 잘못된 POP 패스" +@@ -6419,155 +6499,155 @@ msgid "%s [%d of %d message read]" + msgid_plural "%s [%d of %d messages read]" + msgstr[0] "%s [%d - %d 메일 읽음]" + +-#: pop/pop.c:876 ++#: pop/pop.c:871 + msgid "Fetching list of messages..." + msgstr "메일의 목록을 가져오는 중..." + +-#: pop/pop.c:959 ++#: pop/pop.c:954 + #, fuzzy + msgid "Marking messages deleted..." + msgstr "%d개의 메일을 삭제 표시함..." + +-#: pop/pop.c:1150 ++#: pop/pop.c:1145 + msgid "Can't write message to temporary file" + msgstr "메일을 임시 파일에 쓸수 없음" + +-#: pop/pop_auth.c:103 ++#: pop/pop_auth.c:104 + msgid "Authenticating (SASL)..." + msgstr "인증 중 (SASL)..." + +-#: pop/pop_auth.c:245 ++#: pop/pop_auth.c:246 + msgid "POP timestamp is invalid" + msgstr "" + +-#: pop/pop_auth.c:249 ++#: pop/pop_auth.c:250 + msgid "Authenticating (APOP)..." + msgstr "인증 중 (APOP)..." + +-#: pop/pop_auth.c:269 ++#: pop/pop_auth.c:270 + msgid "APOP authentication failed" + msgstr "APOP 인증에 실패함" + +-#: pop/pop_auth.c:309 ++#: pop/pop_auth.c:310 + msgid "Command USER is not supported by server" + msgstr "명령어 USER를 서버에서 지원하지 않음" + +-#: pop/pop_auth.c:386 ++#: pop/pop_auth.c:387 + #, fuzzy + msgid "Authentication failed" + msgstr "SASL 인증에 실패함" + +-#: pop/pop_lib.c:78 ++#: pop/pop_lib.c:103 + #, fuzzy, c-format + msgid "Invalid POP URL: %s" + msgstr "무효 " + +-#: pop/pop_lib.c:232 ++#: pop/pop_lib.c:257 + msgid "Unable to leave messages on server" + msgstr "서버에 메일을 남겨 둘 수 없음" + +-#: pop/pop_lib.c:274 ++#: pop/pop_lib.c:300 + #, c-format + msgid "Error connecting to server: %s" + msgstr "%s 서버와의 연결 오류" + +-#: pop/pop_lib.c:414 ++#: pop/pop_lib.c:440 + msgid "Closing connection to POP server..." + msgstr "POP 서버와의 연결을 닫는중..." + +-#: pop/pop_lib.c:605 ++#: pop/pop_lib.c:631 + msgid "Verifying message indexes..." + msgstr "메일 인덱스를 확인중..." + +-#: pop/pop_lib.c:628 ++#: pop/pop_lib.c:654 + msgid "Connection lost. Reconnect to POP server?" + msgstr "연결이 끊어짐. POP 서버와 다시 연결 할까요?" + +-#: postpone.c:229 ++#: postpone.c:260 + msgid "Postponed Messages" + msgstr "발송 연기 됨" + +-#: postpone.c:314 postpone.c:326 ++#: postpone.c:348 postpone.c:372 + msgid "No postponed messages" + msgstr "발송 연기된 메일 없음" + +-#: postpone.c:480 ++#: postpone.c:526 + msgid "Illegal S/MIME header" + msgstr "잘못된 S/MIME 헤더" + +-#: postpone.c:510 postpone.c:551 postpone.c:560 ++#: postpone.c:556 postpone.c:597 postpone.c:606 + #, fuzzy + msgid "Illegal crypto header" + msgstr "잘못된 PGP 헤더" + +-#: postpone.c:644 postpone.c:752 postpone.c:780 ++#: postpone.c:690 postpone.c:798 postpone.c:826 + #, fuzzy + msgid "Decrypting message..." + msgstr "메세지 가져오는 중..." + +-#: query.c:82 ++#: query.c:80 + msgid "New Query" + msgstr "새 질문" + +-#: query.c:83 ++#: query.c:81 + msgid "Make Alias" + msgstr "별칭 만들기" + +-#: query.c:180 ++#: query.c:178 + msgid "Waiting for response..." + msgstr "응답을 기다리는 중..." + +-#: query.c:362 query.c:400 ++#: query.c:365 query.c:434 + msgid "Query: " + msgstr "질의: " + +-#: query.c:370 query.c:407 ++#: query.c:374 query.c:442 + #, c-format + msgid "Query '%s'" + msgstr "질의 '%s'" + +-#: query.c:620 query.c:657 ++#: query.c:661 query.c:698 + msgid "Query command not defined" + msgstr "질의 명령이 정의되지 않음" + +-#: recvattach.c:93 ++#: recvattach.c:91 + msgid "Pipe" + msgstr "연결" + +-#: recvattach.c:94 ++#: recvattach.c:92 + msgid "Print" + msgstr "출력" + +-#: recvattach.c:569 ++#: recvattach.c:571 + msgid "Saving..." + msgstr "저장중..." + +-#: recvattach.c:573 recvattach.c:744 recvattach.c:748 ++#: recvattach.c:575 recvattach.c:746 recvattach.c:750 + #, fuzzy, c-format + msgid "Attachment saved" + msgid_plural "%d attachments saved" + msgstr[0] "첨부물 저장됨" + +-#: recvattach.c:772 ++#: recvattach.c:774 + #, c-format + msgid "WARNING! You are about to overwrite %s, continue?" + msgstr "주의! %s를 덮어 씌웁니다, 계속할까요?" + +-#: recvattach.c:790 ++#: recvattach.c:792 + msgid "Attachment filtered" + msgstr "첨부물 필터됨" + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Filter through: " + msgstr "필터: " + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Pipe to: " + msgstr "연결: " + + #. L10N: s gets replaced by a MIME type, e.g. "text/plain" or + #. application/octet-stream. +-#: recvattach.c:935 ++#: recvattach.c:937 + #, fuzzy, c-format + msgid "I don't know how to print %s attachments" + msgstr "첨부물 %s의 출력 방법을 알 수 없음" +@@ -6575,56 +6655,56 @@ msgstr "첨부물 %s의 출력 방법을 알 수 없음" + #. L10N: Although we now the precise number of tagged messages, we + #. do not show it to the user. So feel free to use a "generic + #. plural" as plural translation if your language has one. +-#: recvattach.c:1038 ++#: recvattach.c:1040 + #, fuzzy, c-format + msgid "Print tagged attachment?" + msgid_plural "Print %d tagged attachments?" + msgstr[0] "태그가 붙은 첨부물 출력?" + +-#: recvattach.c:1039 ++#: recvattach.c:1041 + #, c-format + msgid "Print attachment?" + msgstr "첨부물 출력?" + +-#: recvattach.c:1123 ++#: recvattach.c:1125 + msgid "Structural changes to decrypted attachments are not supported" + msgstr "" + +-#: recvattach.c:1291 ++#: recvattach.c:1293 + msgid "Can't decrypt encrypted message" + msgstr "암호화된 메일을 해독할 수 없음" + +-#: recvattach.c:1425 ++#: recvattach.c:1457 + msgid "Attachments" + msgstr "첨부물" + +-#: recvattach.c:1465 ++#: recvattach.c:1497 + msgid "There are no subparts to show" + msgstr "더 이상 첨부물이 없습니다." + +-#: recvattach.c:1520 ++#: recvattach.c:1552 + msgid "Can't delete attachment from POP server" + msgstr "POP 서버에서 첨부물을 삭제 할수 없음" + +-#: recvattach.c:1529 ++#: recvattach.c:1561 + #, fuzzy + msgid "Can't delete attachment from news server" + msgstr "POP 서버에서 첨부물을 삭제 할수 없음" + +-#: recvattach.c:1536 ++#: recvattach.c:1568 + msgid "Deletion of attachments from encrypted messages is unsupported" + msgstr "암호화된 메일의 첨부물 삭제는 지원되지 않음" + +-#: recvattach.c:1542 ++#: recvattach.c:1574 + #, fuzzy + msgid "Deletion of attachments from signed messages may invalidate the signature" + msgstr "암호화된 메일의 첨부물 삭제는 지원되지 않음" + +-#: recvattach.c:1561 recvattach.c:1578 ++#: recvattach.c:1593 recvattach.c:1610 + msgid "Only deletion of multipart attachments is supported" + msgstr "다중체계 첨부물의 삭제만이 지원됩니다" + +-#: recvcmd.c:79 ++#: recvcmd.c:78 + msgid "You may only bounce message/rfc822 parts" + msgstr "message/rfc822 부분만 전달할 수 있습니다" + +@@ -6660,7 +6740,7 @@ msgstr "%s를 만들 수 없음" + msgid "Can't find any tagged messages" + msgstr "표시된 메일이 없습니다" + +-#: recvcmd.c:848 send.c:1073 ++#: recvcmd.c:848 send.c:1072 + msgid "No mailing lists found" + msgstr "메일링 리스트를 찾을 수 없음" + +@@ -6675,67 +6755,67 @@ msgstr "표시된 첨부물을 모두 디코딩하지 못함. 나머지는 MIME + msgid "You may only compose to sender with message/rfc822 parts" + msgstr "message/rfc822 부분만 전달할 수 있습니다" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Append" + msgstr "첨가" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Insert" + msgstr "삽입" + +-#: remailer.c:78 ++#: remailer.c:76 + msgid "OK" + msgstr "확인" + +-#: remailer.c:210 ++#: remailer.c:207 + msgid "" + msgstr "" + +-#: remailer.c:586 ++#: remailer.c:617 + msgid "Can't get mixmaster's type2.list" + msgstr "mixmaster의 type2.list를 찾지 못함" + +-#: remailer.c:612 ++#: remailer.c:673 + msgid "Select a remailer chain" + msgstr "리메일러 체인 선택" + +-#: remailer.c:674 ++#: remailer.c:735 + #, c-format + msgid "Error: %s can't be used as the final remailer of a chain" + msgstr "오류: %s는 체인의 마지막 리메일러로 사용할수 없음" + + #. L10N The '%d' here hard-coded to 19 +-#: remailer.c:706 ++#: remailer.c:767 + #, c-format + msgid "Mixmaster chains are limited to %d elements" + msgstr "Mixmaster 체인은 %d개의 제한이 있음" + +-#: remailer.c:729 ++#: remailer.c:790 + msgid "The remailer chain is already empty" + msgstr "리메일러 체인이 이미 비어 있음" + +-#: remailer.c:739 ++#: remailer.c:800 + msgid "You already have the first chain element selected" + msgstr "이미 첫번째 체인을 선택했음" + +-#: remailer.c:749 ++#: remailer.c:810 + msgid "You already have the last chain element selected" + msgstr "이미 마지막 체인을 선택했음" + +-#: remailer.c:792 ++#: remailer.c:856 + msgid "Mixmaster doesn't accept Cc or Bcc headers" + msgstr "Mixmaster는 Cc 또는 Bcc 헤더를 허용하지 않음" + +-#: remailer.c:817 ++#: remailer.c:881 + msgid "Please set the hostname variable to a proper value when using mixmaster" + msgstr "mixmaster를 사용하기 위한 적당한 호스트 변수를 사용하세요" + +-#: remailer.c:860 ++#: remailer.c:924 + #, c-format + msgid "Error sending message, child exited %d.\n" + msgstr "메일 보내는 중 오류 %d.\n" + +-#: remailer.c:864 ++#: remailer.c:928 + msgid "Error sending message" + msgstr "메일 보내는 중 오류" + +@@ -6766,42 +6846,42 @@ msgstr "첨부물로 포워딩?" + + #. L10N: Asks whether the user respects the reply-to header. + #. If she says no, neomutt will reply to the from header's address instead. +-#: send.c:793 ++#: send.c:792 + #, c-format + msgid "Reply to %s%s?" + msgstr "%s%s에게 답장?" + +-#: send.c:838 ++#: send.c:837 + #, c-format + msgid "Follow-up to %s%s?" + msgstr "%s%s에게 댓글?" + +-#: send.c:1122 ++#: send.c:1121 + msgid "Include message in reply?" + msgstr "답장에 원본을 포함시킵니까?" + +-#: send.c:1128 ++#: send.c:1127 + msgid "Including quoted message..." + msgstr "인용 메일 포함 중..." + +-#: send.c:1137 ++#: send.c:1136 + msgid "Could not include all requested messages" + msgstr "요청된 모든 메일을 포함할 수 없음" + +-#: send.c:1148 ++#: send.c:1147 + msgid "Forward as attachment?" + msgstr "첨부물로 포워딩?" + +-#: send.c:1153 ++#: send.c:1152 + msgid "Preparing forwarded message..." + msgstr "메일 포워딩을 준비 중..." + +-#: send.c:1632 ++#: send.c:1631 + #, fuzzy + msgid "Fcc to an IMAP mailbox is not supported in batch mode" + msgstr "%c: 이 모드에서 지원되지 않음" + +-#: send.c:1664 send.c:1690 ++#: send.c:1665 send.c:1675 send.c:1701 + #, fuzzy + msgid "Save attachments in Fcc?" + msgstr "첨부물을 text로 보기" +@@ -6810,196 +6890,196 @@ msgstr "첨부물을 text로 보기" + #. (r)etry tries the same mailbox again. + #. alternate (m)ailbox prompts for a different mailbox to try. + #. (s)kip aborts saving. +-#: send.c:1712 ++#: send.c:1723 + msgid "Fcc failed. (r)etry, alternate (m)ailbox, or (s)kip?" + msgstr "" + + #. L10N: These correspond to the "Fcc failed" multi-choice prompt + #. (r)etry, alternate (m)ailbox, or (s)kip. + #. Any similarity to famous leaders of the FSF is coincidental. +-#: send.c:1716 ++#: send.c:1727 + msgid "rms" + msgstr "" + + #. L10N: This is the prompt to enter an "alternate (m)ailbox" when the + #. initial Fcc fails. +-#: send.c:1722 ++#: send.c:1733 + #, fuzzy + msgid "Fcc mailbox" + msgstr "메일함 없음.\n" + +-#: send.c:1788 ++#: send.c:1799 + msgid "Can't postpone. $postponed is unset" + msgstr "" + +-#: send.c:1923 ++#: send.c:1934 + msgid "Recall postponed message?" + msgstr "발송 연기된 메일을 다시 부를까요?" + +-#: send.c:2228 ++#: send.c:2239 + msgid "Edit forwarded message?" + msgstr "포워딩된 메일을 수정할까요?" + +-#: send.c:2266 ++#: send.c:2277 + msgid "Abort unmodified message?" + msgstr "변경되지 않은 메일을 취소할까요?" + +-#: send.c:2268 ++#: send.c:2279 + msgid "Aborted unmodified message" + msgstr "변경되지 않은 메일 취소함" + +-#: send.c:2388 ++#: send.c:2399 + msgid "No crypto backend configured. Disabling message security setting." + msgstr "" + +-#: send.c:2427 ++#: send.c:2438 + #, fuzzy + msgid "Article not posted" + msgstr "보내지 않음" + +-#: send.c:2437 ++#: send.c:2448 + msgid "Message postponed" + msgstr "발송 연기됨" + +-#: send.c:2470 ++#: send.c:2481 + msgid "No subject, abort sending?" + msgstr "제목 없음, 보내기를 취소할까요?" + +-#: send.c:2474 send.c:2480 ++#: send.c:2485 send.c:2491 + msgid "No subject specified" + msgstr "제목이 지정되지 않음" + +-#: send.c:2486 ++#: send.c:2497 + #, fuzzy + msgid "No newsgroup specified" + msgstr "제목이 지정되지 않음" + +-#: send.c:2496 ++#: send.c:2507 + #, fuzzy + msgid "No attachments, cancel sending?" + msgstr "첨부물 전송 부호화 방법 편집" + +-#: send.c:2501 ++#: send.c:2512 + msgid "Message contains text matching \"$abort_noattach_regex\". Not sending." + msgstr "" + +-#: send.c:2559 smtp.c:227 ++#: send.c:2570 smtp.c:230 + msgid "Sending message..." + msgstr "메일 보내는 중..." + +-#: send.c:2598 ++#: send.c:2609 + msgid "Could not send the message" + msgstr "메일을 보낼 수 없음" + +-#: send.c:2608 ++#: send.c:2619 + msgid "Sending in background" + msgstr "백그라운드로 보냄" + +-#: send.c:2609 ++#: send.c:2620 + msgid "Article posted" + msgstr "" + +-#: send.c:2610 ++#: send.c:2621 + msgid "Mail sent" + msgstr "메일 보냄" + +-#: sendlib.c:567 ++#: sendlib.c:566 + msgid "No boundary parameter found [report this error]" + msgstr "한계 변수 없음 [오류 보고 바람]" + +-#: sendlib.c:598 ++#: sendlib.c:597 + #, c-format + msgid "%s no longer exists" + msgstr "%s가 더 이상 존재치 않음" + +-#: sendlib.c:1056 ++#: sendlib.c:1055 + #, c-format + msgid "%s isn't a regular file" + msgstr "%s는 올바른 파일이 아님" + +-#: sendlib.c:1223 ++#: sendlib.c:1222 + #, fuzzy + msgid "Could not find any mime.types file." + msgstr "메일을 보낼 수 없음." + +-#: sendlib.c:1314 ++#: sendlib.c:1313 + #, c-format + msgid "Could not open %s" + msgstr "%s를 열 수 없음" + +-#: sendlib.c:2864 ++#: sendlib.c:2855 + msgid "$sendmail must be set in order to send mail" + msgstr "" + +-#: sendlib.c:2971 ++#: sendlib.c:2962 + #, c-format + msgid "Error sending message, child exited %d (%s)" + msgstr "메일을 보내는 중 오류 %d (%s)" + +-#: sendlib.c:2977 ++#: sendlib.c:2969 + msgid "Output of the delivery process" + msgstr "배달 프로세스의 출력" + +-#: sendlib.c:3157 ++#: sendlib.c:3154 + #, c-format + msgid "Bad IDN %s while preparing resent-from" + msgstr "resent-from을 준비하는 동안 잘못된 IDN %s" + +-#: smtp.c:165 ++#: smtp.c:168 + #, fuzzy, c-format + msgid "SMTP session failed: %s" + msgstr "SSL 실패: %s" + +-#: smtp.c:222 ++#: smtp.c:225 + #, fuzzy, c-format + msgid "SMTP session failed: unable to open %s" + msgstr "SSL 실패: %s" + +-#: smtp.c:339 ++#: smtp.c:364 + #, fuzzy, c-format + msgid "Invalid SMTP URL: %s" + msgstr "무효 " + +-#: smtp.c:618 ++#: smtp.c:643 + #, c-format + msgid "SMTP authentication method %s requires SASL" + msgstr "" + +-#: smtp.c:625 ++#: smtp.c:650 + #, fuzzy, c-format + msgid "%s authentication failed, trying next method" + msgstr "SASL 인증에 실패함." + +-#: smtp.c:636 ++#: smtp.c:661 + #, fuzzy + msgid "SMTP authentication requires SASL" + msgstr "GSSAPI 인증에 실패함" + +-#: smtp.c:717 ++#: smtp.c:742 + msgid "SMTP server does not support authentication" + msgstr "" + +-#: smtp.c:756 ++#: smtp.c:781 + msgid "No from address given" + msgstr "" + +-#: smtp.c:821 ++#: smtp.c:846 + msgid "SMTP session failed: read error" + msgstr "" + +-#: smtp.c:823 ++#: smtp.c:848 + msgid "SMTP session failed: write error" + msgstr "" + +-#: smtp.c:825 ++#: smtp.c:850 + msgid "Invalid server response" + msgstr "" + +-#: sort.c:385 ++#: sort.c:387 + msgid "Sorting mailbox..." + msgstr "메일함 정렬 중..." + +-#: sort.c:427 ++#: sort.c:429 + msgid "Could not find sorting function [report this bug]" + msgstr "정렬 함수 찾을 수 없음 [버그 보고 바람]" + +@@ -7051,11 +7131,11 @@ msgstr "" + "바랍니다. NeoMutt은 공개 소프트웨어이며, 일정 사항만 지킨다면 여러분께서 자유\n" + "로이 재배포할 수 있습니다. 자세한 사항은 'neomutt -vv'로 확인하시기 바랍니다.\n" + +-#: version.c:446 ++#: version.c:451 + #, fuzzy + msgid "Default options:" + msgstr "컴파일 선택사항:" + +-#: version.c:449 ++#: version.c:454 + msgid "Compile options:" + msgstr "컴파일 선택사항:" +diff --git a/po/lt.po b/po/lt.po +index e7e3cbb96..a24fd22b6 100644 +--- a/po/lt.po ++++ b/po/lt.po +@@ -1,17 +1,17 @@ + # Lithuanian messages for NeoMutt + # +-# Copyright (c) 2000-2019 NeoMutt project. ++# Copyright (c) 2000-2020 NeoMutt project. + # This file is distributed under the same license as the NeoMutt package. + # + # Tadas , 2000 +-# Marius Gedminas , 2000,2017-2019 ++# Marius Gedminas , 2000,2017-2020 + # Gediminas Paulauskas , 2000 + # + msgid "" + msgstr "" + "Project-Id-Version: neomutt-2019-12-07\n" + "Report-Msgid-Bugs-To: neomutt-devel@neomutt.org\n" +-"POT-Creation-Date: 2019-12-06 23:10+0000\n" ++"POT-Creation-Date: 2020-03-09 12:15+0000\n" + "PO-Revision-Date: 2000-11-29 21:22+0200\n" + "Last-Translator: Marius Gedminas \n" + "Language-Team: Lithuanian \n" +@@ -21,16 +21,40 @@ msgstr "" + "Content-Transfer-Encoding: 8bit\n" + "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +-#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:59 browser.c:80 browser.c:90 +-#: mutt_history.c:45 pager.c:228 postpone.c:68 query.c:80 recvattach.c:93 ++msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" ++msgstr "(a)tmesti, (p)riimti šįkart, (v)isada priimti, p(r)aleisti" ++ ++msgid "roas" ++msgstr "apvr" ++ ++msgid "(r)eject, accept (o)nce, (a)ccept always" ++msgstr "(a)tmesti, (p)riimti šįkart, (v)isada priimti" ++ ++msgid "roa" ++msgstr "apv" ++ ++msgid "(r)eject, accept (o)nce, (s)kip" ++msgstr "(a)tmesti, (p)riimti šįkart, p(r)aleisti" ++ ++msgid "ros" ++msgstr "apr" ++ ++msgid "(r)eject, accept (o)nce" ++msgstr "(a)tmesti, (p)riimti šįkart" ++ ++msgid "ro" ++msgstr "ap" ++ ++#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:58 browser.c:79 browser.c:89 ++#: mutt_history.c:45 pager.c:220 postpone.c:68 query.c:78 recvattach.c:91 + msgid "Exit" + msgstr "Išeit" + +-#: addrbook.c:56 index.c:116 index.c:129 pager.c:236 pager.c:246 postpone.c:69 ++#: addrbook.c:56 index.c:112 index.c:125 pager.c:228 pager.c:238 postpone.c:69 + msgid "Del" + msgstr "Trint" + +-#: addrbook.c:57 index.c:117 index.c:130 postpone.c:70 ++#: addrbook.c:57 index.c:113 index.c:126 postpone.c:70 + msgid "Undel" + msgstr "Grąžint" + +@@ -38,18 +62,18 @@ msgstr "Grąžint" + msgid "Select" + msgstr "Pasirinkti" + +-#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:82 browser.c:84 browser.c:96 +-#: compose.c:218 compose.c:230 conn/ssl.c:983 conn/ssl_gnutls.c:691 index.c:122 +-#: index.c:135 mutt_history.c:48 ncrypt/crypt_gpgme.c:4735 ncrypt/pgpkey.c:670 +-#: ncrypt/smime.c:553 pager.c:2326 postpone.c:71 query.c:85 recvattach.c:94 ++#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:81 browser.c:83 browser.c:95 ++#: compose.c:216 compose.c:228 conn/ssl.c:996 conn/ssl_gnutls.c:722 index.c:118 ++#: index.c:131 mutt_history.c:48 ncrypt/crypt_gpgme.c:4783 ncrypt/pgpkey.c:673 ++#: ncrypt/smime.c:555 pager.c:2297 postpone.c:71 query.c:83 recvattach.c:92 + msgid "Help" + msgstr "Pagalba" + +-#: addrbook.c:208 ++#: addrbook.c:238 + msgid "You have no aliases" + msgstr "Tu neturi aliasų" + +-#: addrbook.c:215 ++#: addrbook.c:276 + msgid "Aliases" + msgstr "Aliasai" + +@@ -58,51 +82,51 @@ msgstr "Aliasai" + msgid "Alias as: " + msgstr "Aliase kaip: " + +-#: alias.c:411 ++#: alias.c:414 + msgid "You already have an alias defined with that name" + msgstr "Tu jau apibrėžei aliasą tokiu vardu" + +-#: alias.c:417 ++#: alias.c:420 + msgid "Warning: This alias name may not work. Fix it?" + msgstr "Įspėjimas: šis aliaso vardas gali neveikti. Pataisyti?" + +-#: alias.c:442 ++#: alias.c:445 + msgid "Address: " + msgstr "Adresas: " + +-#: alias.c:453 commands.c:444 compose.c:744 conn/conn_raw.c:152 +-#: conn/conn_raw.c:210 recvcmd.c:232 send.c:228 ++#: alias.c:457 commands.c:450 compose.c:743 conn/conn_raw.c:152 ++#: conn/conn_raw.c:210 recvcmd.c:231 send.c:227 + #, c-format + msgid "Bad IDN: '%s'" + msgstr "Blogas IDN: '%s'" + +-#: alias.c:464 ++#: alias.c:468 + msgid "Personal name: " + msgstr "Asmens vardas: " + +-#: alias.c:473 ++#: alias.c:477 + #, c-format + msgid "[%s = %s] Accept?" + msgstr "[%s = %s] Tinka?" + +-#: alias.c:484 recvattach.c:528 recvattach.c:550 recvattach.c:564 +-#: recvattach.c:579 recvattach.c:678 ++#: alias.c:488 recvattach.c:530 recvattach.c:552 recvattach.c:566 ++#: recvattach.c:581 recvattach.c:680 + msgid "Save to file: " + msgstr "Išsaugoti į bylą: " + +-#: alias.c:503 ++#: alias.c:507 + msgid "Error reading alias file" + msgstr "Klaida bandant skaityti aliasų bylą" + +-#: alias.c:525 ++#: alias.c:529 + msgid "Trouble adding alias" + msgstr "Klaida bandant pridėti aliasą" + +-#: alias.c:527 ++#: alias.c:531 + msgid "Alias added" + msgstr "Aliasas įdėtas" + +-#: alias.c:532 ++#: alias.c:536 + msgid "Error seeking in alias file" + msgstr "Klaida bandant pozicionuoti aliasų bylą" + +@@ -111,7 +135,7 @@ msgstr "Klaida bandant pozicionuoti aliasų bylą" + #. for some reason (e.g. autocrypt, header cache, bcache), but it + #. doesn't exist. The prompt is asking whether to create the directory + #. +-#: autocrypt/autocrypt.c:70 main.c:826 ++#: autocrypt/autocrypt.c:70 main.c:757 + #, c-format + msgid "%s does not exist. Create it?" + msgstr "%s neegzistuoja. Sukurti ją?" +@@ -120,8 +144,8 @@ msgstr "%s neegzistuoja. Sukurti ją?" + #. mkdir() on the directory %s failed. The second %s is the + #. error message returned by libc + #. +-#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:830 +-#: nntp/newsrc.c:1069 ++#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:761 ++#: nntp/newsrc.c:1098 + #, c-format + msgid "Can't create %s: %s" + msgstr "Negaliu sukurti %s: %s" +@@ -131,7 +155,7 @@ msgstr "Negaliu sukurti %s: %s" + #. create $autocrypt_dir and then prompt to create an autocrypt + #. account with this message. + #. +-#: autocrypt/autocrypt.c:156 ++#: autocrypt/autocrypt.c:163 + msgid "Create an initial autocrypt account?" + msgstr "Sukurti pradinę autocrypt paskyrą?" + +@@ -140,7 +164,7 @@ msgstr "Sukurti pradinę autocrypt paskyrą?" + #. autocrypt account. This will generate a key and add a record + #. to the database for use in autocrypt operations. + #. +-#: autocrypt/autocrypt.c:180 ++#: autocrypt/autocrypt.c:187 + msgid "Autocrypt account address: " + msgstr "Autocrypt paskyros adresas: " + +@@ -149,7 +173,7 @@ msgstr "Autocrypt paskyros adresas: " + #. a single address. This is shown if they entered something invalid, + #. nothing, or more than one address for some reason. + #. +-#: autocrypt/autocrypt.c:191 ++#: autocrypt/autocrypt.c:198 + msgid "Please enter a single email address" + msgstr "Įveskite vieną el. pašto adresą" + +@@ -158,7 +182,7 @@ msgstr "Įveskite vieną el. pašto adresą" + #. if there is already an account in the database with the email address + #. they just entered. + #. +-#: autocrypt/autocrypt.c:208 ++#: autocrypt/autocrypt.c:215 + msgid "That email address already has an autocrypt account" + msgstr "Šis el. pašto adresas jau turi autocrypt paskyrą" + +@@ -170,14 +194,14 @@ msgstr "Šis el. pašto adresas jau turi autocrypt paskyrą" + #. Otherwise the UI will show encryption is "available" but the user + #. will be required to enable encryption manually. + #. +-#: autocrypt/autocrypt.c:223 ++#: autocrypt/autocrypt.c:230 + msgid "Prefer encryption?" + msgstr "Įjungti šifravimą automatiškai?" + + #. L10N: + #. Message displayed after an autocrypt account is successfully created. + #. +-#: autocrypt/autocrypt.c:236 ++#: autocrypt/autocrypt.c:243 + msgid "Autocrypt account creation succeeded" + msgstr "Autocrypt paskyra sukurta sėkmingai" + +@@ -185,7 +209,7 @@ msgstr "Autocrypt paskyra sukurta sėkmingai" + #. Error message displayed if creating an autocrypt account failed + #. or was aborted by the user. + #. +-#: autocrypt/autocrypt.c:242 ++#: autocrypt/autocrypt.c:249 + msgid "Autocrypt account creation aborted" + msgstr "Autocryt paskyros kūrimas nutrauktas" + +@@ -194,7 +218,7 @@ msgstr "Autocryt paskyros kūrimas nutrauktas" + #. to use to encrypt, but it can't find a valid keyid for this address. + #. The message is printed and they are returned to the compose menu. + #. +-#: autocrypt/autocrypt.c:610 autocrypt/autocrypt.c:639 ++#: autocrypt/autocrypt.c:617 autocrypt/autocrypt.c:646 + #, c-format + msgid "No (valid) autocrypt key found for %s" + msgstr "Neradau (galiojančio) autocrypt rakto adresui %s" +@@ -206,12 +230,12 @@ msgstr "Neradau (galiojančio) autocrypt rakto adresui %s" + #. and used for encryption. + #. If this is answered yes, they will be prompted for a mailbox. + #. +-#: autocrypt/autocrypt.c:903 ++#: autocrypt/autocrypt.c:910 + msgid "Scan a mailbox for autocrypt headers?" + msgstr "Ieškoti autocrypt antraščių pašto dėžutėje?" + + #. L10N: The prompt for a mailbox to scan for Autocrypt: headers +-#: autocrypt/autocrypt.c:907 ++#: autocrypt/autocrypt.c:914 + msgid "Scan mailbox" + msgstr "Pašto dėžutė" + +@@ -222,21 +246,21 @@ msgstr "Pašto dėžutė" + #. for a mailbox. This is because this is a one-time operation + #. and I don't want them to accidentally ctrl-g and abort it. + #. +-#: autocrypt/autocrypt.c:927 ++#: autocrypt/autocrypt.c:934 + msgid "Scan another mailbox for autocrypt headers?" + msgstr "Ieškoti autocrypt antraščių kitoje dėžutėje?" + + #. L10N: Autocrypt Account Menu Help line: + #. create new account + #. +-#: autocrypt/autocrypt_acct_menu.c:63 ++#: autocrypt/autocrypt_acct_menu.c:62 + msgid "Create" + msgstr "Sukurti" + + #. L10N: Autocrypt Account Menu Help line: + #. delete account + #. +-#: autocrypt/autocrypt_acct_menu.c:67 remailer.c:77 ++#: autocrypt/autocrypt_acct_menu.c:66 remailer.c:75 + msgid "Delete" + msgstr "Trinti" + +@@ -244,9 +268,9 @@ msgstr "Trinti" + #. toggle an account active/inactive + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:74 ++#: autocrypt/autocrypt_acct_menu.c:73 + msgid "Tgl Active" + msgstr "(De)aktyvuoti" + +@@ -254,17 +278,17 @@ msgstr "(De)aktyvuoti" + #. toggle "prefer-encrypt" on an account + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:81 +-msgid "Prf Enc" ++#: autocrypt/autocrypt_acct_menu.c:80 ++msgid "Prf Encr" + msgstr "Šifr. auto" + + #. L10N: + #. Autocrypt Account menu. + #. flag that an account has prefer-encrypt set + #. +-#: autocrypt/autocrypt_acct_menu.c:123 ++#: autocrypt/autocrypt_acct_menu.c:122 + msgid "prefer encrypt" + msgstr "šifruoti automatiškai" + +@@ -273,7 +297,7 @@ msgstr "šifruoti automatiškai" + #. flag that an account has prefer-encrypt unset; + #. thus encryption will need to be manually enabled. + #. +-#: autocrypt/autocrypt_acct_menu.c:130 ++#: autocrypt/autocrypt_acct_menu.c:129 + msgid "manual encrypt" + msgstr "šifruoti rankomis" + +@@ -281,7 +305,7 @@ msgstr "šifruoti rankomis" + #. Autocrypt Account menu. + #. flag that an account is enabled/active + #. +-#: autocrypt/autocrypt_acct_menu.c:138 ++#: autocrypt/autocrypt_acct_menu.c:137 + msgid "active" + msgstr "aktyvi" + +@@ -289,12 +313,12 @@ msgstr "aktyvi" + #. Autocrypt Account menu. + #. flag that an account is disabled/inactive + #. +-#: autocrypt/autocrypt_acct_menu.c:144 ++#: autocrypt/autocrypt_acct_menu.c:143 + msgid "inactive" + msgstr "neaktyvi" + + #. L10N: Autocrypt Account Management Menu title +-#: autocrypt/autocrypt_acct_menu.c:183 ++#: autocrypt/autocrypt_acct_menu.c:182 + msgid "Autocrypt Accounts" + msgstr "Autocrypt paskyros" + +@@ -302,12 +326,12 @@ msgstr "Autocrypt paskyros" + #. This error message is displayed if a database update of an + #. account record fails for some odd reason. + #. +-#: autocrypt/autocrypt_acct_menu.c:245 autocrypt/autocrypt_acct_menu.c:259 ++#: autocrypt/autocrypt_acct_menu.c:244 autocrypt/autocrypt_acct_menu.c:258 + msgid "Error updating account record" + msgstr "Klaida atnaujinant paskyros įrašą" + + #. L10N: Confirmation message when deleting an autocrypt account +-#: autocrypt/autocrypt_acct_menu.c:302 ++#: autocrypt/autocrypt_acct_menu.c:333 + #, c-format + msgid "Really delete account \"%s\"?" + msgstr "Tikrai ištrinti paskyrą \"%s\"?" +@@ -325,7 +349,7 @@ msgstr "Tikrai ištrinti paskyrą \"%s\"?" + msgid "Unable to open autocrypt database %s" + msgstr "Negaliu atidaryti autocrypt duomenų bazės %s" + +-#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:774 ++#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:773 + #, c-format + msgid "error creating gpgme context: %s" + msgstr "klaida kuriant gpgme kontekstą: %s" +@@ -398,276 +422,227 @@ msgstr "Autocrypt duomenų bazės versija per nauja" + msgid "Message cache isn't a directory: %s" + msgstr "Pranešimų talpykla nėra katalogas: %s" + +-#: browser.c:81 ++#: browser.c:80 + msgid "Chdir" + msgstr "Pereiti" + +-#: browser.c:82 ++#: browser.c:81 + msgid "Goto" + msgstr "Eiti" + +-#: browser.c:83 browser.c:95 ++#: browser.c:82 browser.c:94 + msgid "Mask" + msgstr "Kaukė" + +-#: browser.c:91 ++#: browser.c:90 + msgid "List" + msgstr "Sąrašas" + +-#: browser.c:92 ++#: browser.c:91 + msgid "Subscribe" + msgstr "Užsakyti" + +-#: browser.c:93 ++#: browser.c:92 + msgid "Unsubscribe" + msgstr "Atsisakyti" + +-#: browser.c:94 index.c:134 ++#: browser.c:93 index.c:130 + msgid "Catchup" + msgstr "Pasivyti" + +-#: browser.c:760 browser.c:1519 browser.c:1758 ++#: browser.c:763 browser.c:1584 browser.c:1825 + #, c-format + msgid "%s is not a directory" + msgstr "%s nėra katalogas" + +-#: browser.c:1025 ++#: browser.c:1028 + #, c-format + msgid "Subscribed newsgroups" + msgstr "Užsakiau naujienų grupes" + +-#: browser.c:1028 ++#: browser.c:1031 + #, c-format + msgid "Newsgroups on server [%s]" + msgstr "Naujienų grupės serveryje [%s]" + +-#: browser.c:1038 ++#: browser.c:1041 + #, c-format + msgid "Mailboxes [%d]" + msgstr "Pašto dėžutės [%d]" + +-#: browser.c:1050 ++#: browser.c:1053 + #, c-format + msgid "Subscribed [%s], File mask: %s" + msgstr "Užsakytos [%s], Bylų kaukė: %s" + +-#: browser.c:1056 ++#: browser.c:1059 + #, c-format + msgid "Directory [%s], File mask: %s" + msgstr "Katalogas [%s], Bylų kaukė: %s" + +-#: browser.c:1113 ++#: browser.c:1116 + msgid "Can't attach a directory" + msgstr "Negaliu prisegti katalogo" + +-#: browser.c:1380 browser.c:1814 browser.c:1959 ++#: browser.c:1445 browser.c:1881 browser.c:2026 + msgid "No files match the file mask" + msgstr "Nė viena byla netinka bylų kaukei" + +-#: browser.c:1587 ++#: browser.c:1654 + msgid "Create is only supported for IMAP mailboxes" + msgstr "Kol kas sukurti gali tik IMAP pašto dėžutes" + +-#: browser.c:1609 ++#: browser.c:1676 + msgid "Rename is only supported for IMAP mailboxes" + msgstr "Kol kas pervadinti gali tik IMAP pašto dėžutes" + +-#: browser.c:1630 ++#: browser.c:1697 + msgid "Delete is only supported for IMAP mailboxes" + msgstr "Kol kas ištrinti gali tik IMAP pašto dėžutes" + +-#: browser.c:1642 ++#: browser.c:1709 + msgid "Can't delete currently selected mailbox" + msgstr "Negaliu ištrinti dabar pažymėtos pašto dėžutės" + +-#: browser.c:1646 ++#: browser.c:1713 + #, c-format + msgid "Really delete mailbox \"%s\"?" + msgstr "Tikrai ištrinti pašto dėžutę \"%s\"?" + +-#: browser.c:1663 ++#: browser.c:1730 + msgid "Mailbox deleted" + msgstr "Pašto dėžutė ištrinta" + +-#: browser.c:1667 ++#: browser.c:1734 + msgid "Mailbox deletion failed" + msgstr "Pašto dėžutės ištrinti nepavyko" + +-#: browser.c:1670 ++#: browser.c:1737 + msgid "Mailbox not deleted" + msgstr "Pašto dėžutė neištrinta" + +-#: browser.c:1697 ++#: browser.c:1764 + msgid "Chdir to: " + msgstr "Pereiti į katalogą: " + +-#: browser.c:1747 browser.c:1808 ++#: browser.c:1814 browser.c:1875 + msgid "Error scanning directory" + msgstr "Klaida skaitant katalogą" + +-#: browser.c:1769 ++#: browser.c:1836 + msgid "File Mask: " + msgstr "Bylų kaukė: " + + #. L10N: The highlighted letters must match the "Sort" options +-#: browser.c:1831 ++#: browser.c:1898 + msgid "Reverse sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "Atvirkščiai rikiuoti pagal (d)atą, (v)ardą, d(y)dį, (a)prašymą, (k)iekį, na(u)jų žinučių kiekį ar (n)erikiuoti?" + + #. L10N: The highlighted letters must match the "Reverse Sort" options +-#: browser.c:1834 ++#: browser.c:1901 + msgid "Sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "Rikiuoti pagal (d)atą, (v)ardą, d(y)dį, (a)prašymą, (k)iekį, na(u)jų žinučių kiekį ar (n)erikiuoti?" + + #. L10N: These must match the highlighted letters from "Sort" and "Reverse Sort" +-#: browser.c:1837 ++#: browser.c:1904 + msgid "dazecwn" + msgstr "dvyakun" + +-#: browser.c:1948 ++#: browser.c:2015 + msgid "New file name: " + msgstr "Naujos bylos vardas: " + +-#: browser.c:1976 ++#: browser.c:2043 + msgid "Can't view a directory" + msgstr "Negaliu žiūrėti katalogo" + +-#: browser.c:1993 ++#: browser.c:2060 + msgid "Error trying to view file" + msgstr "Klaida bandant žiūrėti bylą" + +-#: browser.c:2079 ++#: browser.c:2146 + #, c-format + msgid "Subscribe pattern: " + msgstr "Užsakymo pattern'as: " + +-#: browser.c:2081 ++#: browser.c:2148 + #, c-format + msgid "Unsubscribe pattern: " + msgstr "Atsisakymo pattern'as: " + +-#: browser.c:2101 ++#: browser.c:2169 + msgid "No newsgroups match the mask" + msgstr "Nė viena naujienų grupė neatitinka kaukės" + +-#: color.c:633 color.c:644 +-#, c-format +-msgid "%s: color not supported by term" +-msgstr "%s: spalva nepalaikoma terminalo" +- +-#: color.c:652 +-#, c-format +-msgid "%s: no such color" +-msgstr "%s: nėra tokios spalvos" +- +-#: color.c:717 color.c:740 color.c:751 color.c:842 +-#, c-format +-msgid "%s: no such object" +-msgstr "%s: nėra tokio objekto" +- +-#: color.c:731 color.c:868 color.c:1069 color.c:1098 color.c:1122 color.c:1191 +-#: color.c:1214 hook.c:110 hook.c:124 hook.c:367 hook.c:383 init.c:612 +-#: init.c:620 init.c:709 init.c:1099 init.c:1267 init.c:1871 init.c:1929 +-#: keymap.c:1184 score.c:110 +-#, c-format +-msgid "%s: too few arguments" +-msgstr "%s: per mažai argumentų" +- +-#: color.c:1142 +-#, c-format +-msgid "%s: no such attribute" +-msgstr "%s: tokio atributo nėra" +- +-#: color.c:1223 color.c:1329 hook.c:131 hook.c:390 init.c:1123 init.c:2133 +-#: init.c:2611 keymap.c:1116 keymap.c:1289 keymap.c:1442 keymap.c:1506 +-#: mutt_lua.c:483 score.c:119 +-#, c-format +-msgid "%s: too many arguments" +-msgstr "%s: per daug argumentų" +- +-#: color.c:1244 +-msgid "default colors not supported" +-msgstr "įprastos spalvos nepalaikomos" +- +-#: color.c:1282 +-#, c-format +-msgid "Maximum quoting level is %d" +-msgstr "Giliausias cituojamo teksto lygmuo yra %d" +- +-#: color.c:1319 +-#, c-format +-msgid "%s: invalid number: %s" +-msgstr "%s: blogas skaičius: %s" +- + #. L10N: Used for the $crypt_verify_sig prompt +-#: commands.c:230 ++#: commands.c:232 + msgid "Verify signature?" + msgstr "Tikrinti parašą?" + +-#: commands.c:257 mbox/mbox.c:1236 ++#: commands.c:259 mbox/mbox.c:1236 + msgid "Could not create temporary file" + msgstr "Negaliu sukurti laikinos bylos" + +-#: commands.c:269 ++#: commands.c:271 + msgid "Can't create display filter" + msgstr "Negaliu sukurti ekrano filtro" + +-#: commands.c:302 ++#: commands.c:304 + msgid "Could not copy message" + msgstr "Negalėjau kopijuoti laiško" + +-#: commands.c:338 ++#: commands.c:340 + msgid "S/MIME signature successfully verified" + msgstr "S/MIME parašas patikrintas sėkmingai" + +-#: commands.c:340 ++#: commands.c:342 + msgid "S/MIME certificate owner does not match sender" + msgstr "S/MIME sertifikato savininkas neatitinka siuntėjo" + +-#: commands.c:343 commands.c:353 ++#: commands.c:345 commands.c:355 + msgid "Warning: Part of this message has not been signed" + msgstr "Dėmesio: dalis pranešimo nebuvo pasirašyta" + +-#: commands.c:345 ++#: commands.c:347 + msgid "S/MIME signature could NOT be verified" + msgstr "S/MIME parašas NEGALI būti patikrintas" + +-#: commands.c:351 ++#: commands.c:353 + msgid "PGP signature successfully verified" + msgstr "PGP parašas patikrintas sėkmingai" + +-#: commands.c:355 ++#: commands.c:357 + msgid "PGP signature could NOT be verified" + msgstr "PGP parašas NEGALI būti patikrintas" + +-#: commands.c:372 compose.c:2116 compress.c:321 curs_lib.c:359 curs_lib.c:646 +-#: index.c:1235 index.c:1285 mutt_attach.c:159 mutt_attach.c:292 pager.c:2460 +-#: sendlib.c:1625 ++#: commands.c:378 compose.c:2187 compress/compress.c:320 gui/curs_lib.c:360 ++#: gui/curs_lib.c:714 index.c:1240 index.c:1290 mutt_attach.c:161 ++#: mutt_attach.c:294 pager.c:2433 sendlib.c:1624 + #, c-format + msgid "Error running \"%s\"" + msgstr "Klaida vykdant \"%s\"" + +-#: commands.c:382 ++#: commands.c:388 + msgid "Command: " + msgstr "Komanda: " + +-#: commands.c:419 recvcmd.c:191 recvcmd.c:203 ++#: commands.c:425 recvcmd.c:190 recvcmd.c:202 + msgid "Warning: message contains no From: header" + msgstr "Įspėjimas: laiškas neturi From: antraštės" + +-#: commands.c:425 recvcmd.c:212 ++#: commands.c:431 recvcmd.c:211 + msgid "Bounce message to: " + msgstr "Nukreipti laišką kam: " + +-#: commands.c:427 recvcmd.c:214 ++#: commands.c:433 recvcmd.c:213 + msgid "Bounce tagged messages to: " + msgstr "Nukreipti pažymėtus laiškus kam: " + +-#: commands.c:436 recvcmd.c:224 ++#: commands.c:442 recvcmd.c:223 + msgid "Error parsing address" + msgstr "Klaida nagrinėjant adresą" + +-#: commands.c:455 recvcmd.c:243 ++#: commands.c:461 recvcmd.c:242 + #, c-format + msgid "Bounce message to %s?" + msgid_plural "Bounce messages to %s?" +@@ -675,48 +650,48 @@ msgstr[0] "Nukreipti laišką į %s?" + msgstr[1] "Nukreipti laiškus į %s?" + msgstr[2] "Nukreipti laiškus į %s?" + +-#: commands.c:470 recvcmd.c:257 ++#: commands.c:476 recvcmd.c:257 + msgid "Message not bounced" + msgid_plural "Messages not bounced" + msgstr[0] "Laiškas nenukreiptas" + msgstr[1] "Laiškai nenukreipti" + msgstr[2] "Laiškai nenukreipti" + +-#: commands.c:496 recvcmd.c:276 ++#: commands.c:502 recvcmd.c:276 + msgid "Message bounced" + msgid_plural "Messages bounced" + msgstr[0] "Laiškas nukreiptas" + msgstr[1] "Laiškai nukreipti" + msgstr[2] "Laiškai nukreipti" + +-#: commands.c:606 commands.c:642 commands.c:662 ++#: commands.c:612 commands.c:648 commands.c:668 + msgid "Can't create filter process" + msgstr "Negaliu sukurti filtro proceso" + +-#: commands.c:698 ++#: commands.c:704 + msgid "Pipe to command: " + msgstr "Filtruoti per komandą: " + +-#: commands.c:720 ++#: commands.c:726 + msgid "No printing command has been defined" + msgstr "Spausdinimo komanda nebuvo apibrėžta" + +-#: commands.c:732 ++#: commands.c:738 + msgid "Print message?" + msgstr "Spausdinti laišką?" + +-#: commands.c:733 ++#: commands.c:739 + msgid "Print tagged messages?" + msgstr "Spausdinti pažymėtus laiškus?" + +-#: commands.c:739 ++#: commands.c:745 + msgid "Message printed" + msgid_plural "Messages printed" + msgstr[0] "Laiškas atspausdintas" + msgstr[1] "Laiškai atspausdinti" + msgstr[2] "Laiškai atspausdinti" + +-#: commands.c:742 ++#: commands.c:748 + msgid "Message could not be printed" + msgid_plural "Messages could not be printed" + msgstr[0] "Laiškas negalėjo būti atspausdintas" +@@ -724,148 +699,310 @@ msgstr[1] "Laiškai negalėjo būti atspausdinti" + msgstr[2] "Laiškai negalėjo būti atspausdinti" + + #. L10N: The highlighted letters must match the "Sort" options +-#: commands.c:759 ++#: commands.c:765 + msgid "Rev-Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "Atv-Rik (d)ata/n(u)o/g(a)uta/(t)ema/(k)am/(g)ija/(n)erik/d(y)dis/(v)ertė/š(l)amštas/žy(m)ė?" + + #. L10N: The highlighted letters must match the "Rev-Sort" options +-#: commands.c:763 ++#: commands.c:769 + msgid "Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "Rik (d)ata/n(u)o/g(a)uta/(t)ema/(k)am/(g)ija/(n)erik/d(y)dis/(v)ertė/š(l)amštas/žy(m)ė?" + + #. L10N: These must match the highlighted letters from "Sort" and "Rev-Sort" +-#: commands.c:767 ++#: commands.c:773 + msgid "dfrsotuzcpl" + msgstr "duatkgnyvlm" + +-#: commands.c:831 ++#: commands.c:837 + msgid "Shell command: " + msgstr "Shell komanda: " + +-#: commands.c:1036 ++#: commands.c:1042 + msgid "Decode-save to mailbox" + msgstr "Dekoduoti ir išsaugoti į dėžutę" + +-#: commands.c:1036 ++#: commands.c:1042 + msgid "Decode-save tagged to mailbox" + msgstr "Dekoduoti ir išsaugoti pažymėtus į dėžutę" + +-#: commands.c:1038 ++#: commands.c:1044 + msgid "Decrypt-save to mailbox" + msgstr "Iššifruoti ir išsaugoti į dėžutę" + +-#: commands.c:1038 ++#: commands.c:1044 + msgid "Decrypt-save tagged to mailbox" + msgstr "Iššifruoti ir išsaugoti pažymėtus į dėžutę" + +-#: commands.c:1040 ++#: commands.c:1046 + msgid "Save to mailbox" + msgstr "Išsaugoti į dėžutę" + +-#: commands.c:1040 ++#: commands.c:1046 + msgid "Save tagged to mailbox" + msgstr "Išsaugoti pažymėtus į dėžutę" + +-#: commands.c:1045 ++#: commands.c:1051 + msgid "Decode-copy to mailbox" + msgstr "Dekoduoti ir kopijuoti į dėžutę" + +-#: commands.c:1045 ++#: commands.c:1051 + msgid "Decode-copy tagged to mailbox" + msgstr "Dekoduoti ir kopijuoti pažymėtus į dėžutę" + +-#: commands.c:1047 ++#: commands.c:1053 + msgid "Decrypt-copy to mailbox" + msgstr "Iššifruoti ir kopijuoti į dėžutę" + +-#: commands.c:1047 ++#: commands.c:1053 + msgid "Decrypt-copy tagged to mailbox" + msgstr "Iššifruoti ir kopijuoti pažymėtus į dėžutę" + +-#: commands.c:1049 ++#: commands.c:1055 + msgid "Copy to mailbox" + msgstr "Kopijuoti į dėžutę" + +-#: commands.c:1049 ++#: commands.c:1055 + msgid "Copy tagged to mailbox" + msgstr "Kopijuoti pažymėtus į dėžutę" + +-#: commands.c:1092 ++#: commands.c:1098 + #, c-format + msgid "Copying to %s..." + msgstr "Kopijuoju į %s..." + + #. L10N: e.g. "text/plain; charset=UTF-8; ..." +-#: commands.c:1257 ++#: commands.c:1263 + msgid "Content type is too long" + msgstr "Content-Type per ilgas" + +-#: commands.c:1281 ++#: commands.c:1290 + #, c-format + msgid "Convert to %s upon sending?" + msgstr "Konvertuoti į %s siunčiant?" + +-#: commands.c:1292 ++#: commands.c:1301 + #, c-format + msgid "Content-Type changed to %s" + msgstr "Content-Type pakeistas į %s" + +-#: commands.c:1297 ++#: commands.c:1306 + #, c-format + msgid "Character set changed to %s; not converting" + msgstr "Koduotė pakeista į %s neperkoduojant" + +-#: commands.c:1298 ++#: commands.c:1307 + #, c-format + msgid "Character set changed to %s; converting" + msgstr "Koduotė pakeista į %s perkoduojant" + +-#: compose.c:99 ++#: command_parse.c:83 command_parse.c:211 command_parse.c:219 ++#: command_parse.c:740 command_parse.c:887 command_parse.c:1491 ++#: command_parse.c:1549 gui/color.c:731 gui/color.c:868 gui/color.c:1069 ++#: gui/color.c:1098 gui/color.c:1122 gui/color.c:1191 gui/color.c:1214 ++#: hook.c:110 hook.c:124 hook.c:372 hook.c:388 keymap.c:1182 score.c:110 ++#, c-format ++msgid "%s: too few arguments" ++msgstr "%s: per mažai argumentų" ++ ++#: command_parse.c:394 ++msgid "-group: no group name" ++msgstr "-group: trūksta grupės vardo" ++ ++#: command_parse.c:404 ++msgid "out of arguments" ++msgstr "per mažai argumentų" ++ ++#: command_parse.c:445 command_parse.c:1372 ++#, c-format ++msgid "Error: Can't build path of '%s'" ++msgstr "Klaida: neįmanoma sukurti kelio iš '%s'" ++ ++#: command_parse.c:458 ++#, c-format ++msgid "Error: Cyclic sourcing of configuration file '%s'" ++msgstr "Klaida: ciklinis konfigūracijos failo '%s' įtraukimas" ++ ++#: command_parse.c:491 ++#, c-format ++msgid "Error in %s, line %d: %s" ++msgstr "Klaida %s, eilutė %d: %s" ++ ++#: command_parse.c:502 ++#, c-format ++msgid "Warning in %s, line %d: %s" ++msgstr "Įspėjimas %s, eilutė %d: %s" ++ ++#: command_parse.c:526 ++#, c-format ++msgid "source: errors in %s" ++msgstr "source: klaidos %s" ++ ++#: command_parse.c:526 ++#, c-format ++msgid "source: reading aborted due to too many errors in %s" ++msgstr "source: skaitymas nutrauktas, nes %s yra per daug klaidų" ++ ++#: command_parse.c:535 ++#, c-format ++msgid "source: %d warning in %s" ++msgid_plural "source: %d warnings in %s" ++msgstr[0] "source: %d įspėjimas %s" ++msgstr[1] "source: %d įspėjimai %s" ++msgstr[2] "source: %d įspėjimų %s" ++ ++#: command_parse.c:564 ++msgid "alias: no address" ++msgstr "alias: nėra adreso" ++ ++#: command_parse.c:606 ++#, c-format ++msgid "Warning: Bad IDN '%s' in alias '%s'" ++msgstr "Įspėjimas: blogas IDN '%s' aliase '%s'" ++ ++#: command_parse.c:684 ++msgid "attachments: no disposition" ++msgstr "attachments: trūksta dispozicijos" ++ ++#: command_parse.c:695 ++msgid "Current attachments settings:" ++msgstr "Dabartiniai priedų nustatymai:" ++ ++#: command_parse.c:725 ++msgid "attachments: invalid disposition" ++msgstr "attachments: neteisinga dispozicija" ++ ++#: command_parse.c:764 command_parse.c:1753 command_parse.c:2205 ++#: gui/color.c:1223 gui/color.c:1329 hook.c:131 hook.c:395 keymap.c:1114 ++#: keymap.c:1287 keymap.c:1440 keymap.c:1504 mutt_lua.c:485 score.c:119 ++#, c-format ++msgid "%s: too many arguments" ++msgstr "%s: per daug argumentų" ++ ++#: command_parse.c:801 ++#, c-format ++msgid "%sgroup: missing -rx or -addr" ++msgstr "%sgroup: trūksta -rx arba -addr" ++ ++#: command_parse.c:827 ++#, c-format ++msgid "%sgroup: warning: bad IDN '%s'" ++msgstr "%sgroup: įspėjimas: blogas IDN '%s'" ++ ++#: command_parse.c:898 ++#, c-format ++msgid "Error: %s" ++msgstr "Klaida: %s" ++ ++#: command_parse.c:1065 ++msgid "invalid header field" ++msgstr "blogas antraštės laukas" ++ ++#: command_parse.c:1331 command_parse.c:1435 ++#, c-format ++msgid "%s: unknown variable" ++msgstr "%s: nežinomas kintamasis" ++ ++#: command_parse.c:1528 ++#, c-format ++msgid "%s is unset" ++msgstr "%s yra išjungtas" ++ ++#: command_parse.c:1573 mutt_lua.c:480 ++#, c-format ++msgid "source: error at %s" ++msgstr "source: klaida %s" ++ ++#: command_parse.c:1581 ++#, c-format ++msgid "source: file %s could not be sourced" ++msgstr "source: byla %s negalėjo būti įtraukta" ++ ++#: command_parse.c:1604 ++msgid "spam: no matching pattern" ++msgstr "spam: trūksta šablono" ++ ++#: command_parse.c:1606 ++msgid "nospam: no matching pattern" ++msgstr "nospam: trūksta šablono" ++ ++#: command_parse.c:1762 imap/imap.c:1443 ++#, c-format ++msgid "Subscribed to %s" ++msgstr "Užsakiau %s" ++ ++#: command_parse.c:1766 ++#, c-format ++msgid "Could not subscribe to %s" ++msgstr "Nepavyko užsakyti %s" ++ ++#: command_parse.c:1774 command_parse.c:2226 ++msgid "No folder specified" ++msgstr "Nenurodytas aplankas." ++ ++#: command_parse.c:1943 ++msgid "unattachments: no disposition" ++msgstr "unattachments: trūksta dispozicijos" ++ ++#: command_parse.c:1981 ++msgid "unattachments: invalid disposition" ++msgstr "unattachments: neteisinga dispozicija" ++ ++#: command_parse.c:2214 imap/imap.c:1445 ++#, c-format ++msgid "Unsubscribed from %s" ++msgstr "Atsisakiau %s" ++ ++#: command_parse.c:2218 ++#, c-format ++msgid "Could not unsubscribe from %s" ++msgstr "Nepavyko atsisakyti %s" ++ ++#: compose.c:97 + msgid "There are no attachments" + msgstr "Nėra jokių priedų" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:166 ++#: compose.c:164 + msgid "From: " + msgstr "Nuo: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:168 send.c:284 ++#: compose.c:166 send.c:284 + msgid "To: " + msgstr "Kam: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:170 send.c:286 ++#: compose.c:168 send.c:286 + msgid "Cc: " + msgstr "Kopija: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:172 send.c:288 ++#: compose.c:170 send.c:288 + msgid "Bcc: " + msgstr "Slapta kopija: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:174 compose.c:1242 send.c:320 ++#: compose.c:172 compose.c:1302 send.c:320 + msgid "Subject: " + msgstr "Tema: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:176 ++#: compose.c:174 + msgid "Reply-To: " + msgstr "Atsakyti: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:178 compose.c:1261 ++#: compose.c:176 compose.c:1321 + msgid "Fcc: " + msgstr "Kopija į bylą: " + + #. L10N: "Mix" refers to the MixMaster chain for anonymous email +-#: compose.c:181 ++#: compose.c:179 + msgid "Mix: " + msgstr "MixMaster grandis: " + + #. L10N: Compose menu field. Holds "Encrypt", "Sign" related information +-#: compose.c:184 ++#: compose.c:182 + msgid "Security: " + msgstr "Saugumas: " + +@@ -876,75 +1013,75 @@ msgstr "Saugumas: " + #. it should not be longer than the other compose menu fields. + #. Since it shares the row with "Encrypt with:", it should not be longer + #. than 15-20 character cells. +-#: compose.c:192 ncrypt/crypt_gpgme.c:5602 ncrypt/pgp.c:1974 +-#: ncrypt/smime.c:2395 ++#: compose.c:190 ncrypt/crypt_gpgme.c:5682 ncrypt/pgp.c:1976 ++#: ncrypt/smime.c:2429 + msgid "Sign as: " + msgstr "Pasirašyti kaip: " + + #. L10N: The compose menu autocrypt line +-#: compose.c:195 ++#: compose.c:193 + msgid "Autocrypt: " + msgstr "Autošifravimas: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:199 ++#: compose.c:197 + msgid "Newsgroups: " + msgstr "Naujienų grupės: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:201 ++#: compose.c:199 + msgid "Followup-To: " + msgstr "Atsakyti: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:203 ++#: compose.c:201 + msgid "X-Comment-To: " + msgstr "X-Komentuoti: " + +-#: compose.c:208 compose.c:224 ++#: compose.c:206 compose.c:222 + msgid "Send" + msgstr "Siųsti" + +-#: compose.c:209 compose.c:225 remailer.c:77 ++#: compose.c:207 compose.c:223 remailer.c:75 + msgid "Abort" + msgstr "Nutraukti" + + #. L10N: compose menu help line entry +-#: compose.c:211 ++#: compose.c:209 + msgid "To" + msgstr "Kam" + + #. L10N: compose menu help line entry +-#: compose.c:213 ++#: compose.c:211 + msgid "CC" + msgstr "Kopija" + + #. L10N: compose menu help line entry +-#: compose.c:215 compose.c:227 ++#: compose.c:213 compose.c:225 + msgid "Subj" + msgstr "Tema" + +-#: compose.c:216 compose.c:228 compose.c:1556 ++#: compose.c:214 compose.c:226 compose.c:1616 + msgid "Attach file" + msgstr "Prisegti bylą" + +-#: compose.c:217 compose.c:229 ++#: compose.c:215 compose.c:227 + msgid "Descrip" + msgstr "Apraš" + +-#: compose.c:226 ++#: compose.c:224 + msgid "Newsgroups" + msgstr "Grupės" + + #. L10N: Autocrypt recommendation flag: off. + #. * This is displayed when Autocrypt is turned off. +-#: compose.c:239 compose.c:473 ++#: compose.c:237 compose.c:472 + msgid "Off" + msgstr "išjungtas" + + #. L10N: Autocrypt recommendation flag: no. + #. * This is displayed when Autocrypt cannot encrypt to the recipients. +-#: compose.c:242 ++#: compose.c:240 + msgid "No" + msgstr "negalimas" + +@@ -952,7 +1089,7 @@ msgstr "negalimas" + #. * This is displayed when Autocrypt believes encryption should not be used. + #. * This might occur if one of the recipient Autocrypt Keys has not been + #. * used recently, or if the only key available is a Gossip Header key. +-#: compose.c:247 ++#: compose.c:245 + msgid "Discouraged" + msgstr "nepatartinas" + +@@ -960,14 +1097,14 @@ msgstr "nepatartinas" + #. * This is displayed when Autocrypt believes encryption is possible, but + #. * leaves enabling it up to the sender. Probably because "prefer encrypt" + #. * is not set in both the sender and recipient keys. +-#: compose.c:252 ++#: compose.c:250 + msgid "Available" + msgstr "galimas" + + #. L10N: Autocrypt recommendation flag: yes. + #. * This is displayed when Autocrypt would normally enable encryption + #. * automatically. +-#: compose.c:256 ++#: compose.c:254 + msgid "Yes" + msgstr "įjungtas" + +@@ -977,7 +1114,7 @@ msgstr "įjungtas" + #. (c)lear sets cleartext. + #. (a)utomatic defers to the recommendation. + #. +-#: compose.c:338 ++#: compose.c:337 + msgid "Autocrypt: (e)ncrypt, (c)lear, (a)utomatic?" + msgstr "Autošifravimas: įjungt(i), išju(n)gti, pasirinkti (a)utomatiškai?" + +@@ -985,51 +1122,51 @@ msgstr "Autošifravimas: įjungt(i), išju(n)gti, pasirinkti (a)utomatiškai?" + #. The letter corresponding to the compose menu autocrypt prompt + #. (e)ncrypt, (c)lear, (a)utomatic + #. +-#: compose.c:346 ++#: compose.c:345 + msgid "eca" + msgstr "ina" + +-#: compose.c:383 ++#: compose.c:382 + msgid "Not supported" + msgstr "Nepalaikomas" + +-#: compose.c:390 ++#: compose.c:389 + msgid "Sign, Encrypt" + msgstr "Pasirašyti, užšifruoti" + +-#: compose.c:395 compose.c:468 ++#: compose.c:394 compose.c:467 + msgid "Encrypt" + msgstr "Užšifruoti" + +-#: compose.c:400 ++#: compose.c:399 + msgid "Sign" + msgstr "Pasirašyti" + +-#: compose.c:406 ++#: compose.c:405 + msgid "None" + msgstr "Jokio" + +-#: compose.c:415 ++#: compose.c:414 + msgid " (inline PGP)" + msgstr " (PGP tekste)" + +-#: compose.c:417 ++#: compose.c:416 + msgid " (PGP/MIME)" + msgstr " (PGP/MIME)" + +-#: compose.c:420 ++#: compose.c:419 + msgid " (S/MIME)" + msgstr " (S/MIME)" + +-#: compose.c:424 ++#: compose.c:423 + msgid " (OppEnc mode)" + msgstr " (OpŠifr režimas)" + +-#: compose.c:436 compose.c:445 ++#: compose.c:435 compose.c:444 + msgid "" + msgstr "<įprastas>" + +-#: compose.c:452 ++#: compose.c:451 + msgid "Encrypt with: " + msgstr "Užšifruoti: " + +@@ -1038,11 +1175,11 @@ msgstr "Užšifruoti: " + #. Displays the output of the recommendation engine + #. (Off, No, Discouraged, Available, Yes) + #. +-#: compose.c:483 ++#: compose.c:482 + msgid "Recommendation: " + msgstr "Rekomendacija: " + +-#: compose.c:547 ++#: compose.c:546 + msgid "" + msgstr "" + +@@ -1053,7 +1190,7 @@ msgstr "" + #. The filename is located last to avoid a long path hiding the + #. error message. + #. +-#: compose.c:601 ++#: compose.c:600 + #, c-format + msgid "Attachment #%d no longer exists: %s" + msgstr "Priedas #%d nebeegzistuoja: %s" +@@ -1065,233 +1202,352 @@ msgstr "Priedas #%d nebeegzistuoja: %s" + #. The filename is located last to avoid a long path hiding the + #. prompt question. + #. +-#: compose.c:621 ++#: compose.c:620 + #, c-format + msgid "Attachment #%d modified. Update encoding for %s?" + msgstr "Priedas #%d pasikeitė. Atnaujinti koduotę %s?" + +-#: compose.c:716 ++#: compose.c:715 + msgid "-- Attachments" + msgstr "-- Priedai" + +-#: compose.c:770 ++#: compose.c:769 + msgid "You may not delete the only attachment" + msgstr "Tu negali ištrinti vienintelio priedo" + +-#: compose.c:1296 edit.c:538 send.c:2462 ++#: compose.c:1356 edit.c:536 send.c:2473 + #, c-format + msgid "Bad IDN in '%s': '%s'" + msgstr "Blogas IDN '%s': '%s'" + +-#: compose.c:1347 ++#: compose.c:1407 + msgid "Attachment is already at top" + msgstr "Priedas jau yra viršuje" + +-#: compose.c:1352 compose.c:1368 ++#: compose.c:1412 compose.c:1428 + msgid "The fundamental part can't be moved" + msgstr "Esminė dalis negali būti perkelta" + +-#: compose.c:1363 ++#: compose.c:1423 + msgid "Attachment is already at bottom" + msgstr "Priedas jau yra apačioje" + +-#: compose.c:1381 ++#: compose.c:1441 + msgid "Grouping 'alternatives' requires at least 2 tagged messages" + msgstr "Alternatyvų grupavimui reikia bent dviejų pažymėtų laiškų" + +-#: compose.c:1462 ++#: compose.c:1522 + msgid "Grouping 'multilingual' requires at least 2 tagged messages" + msgstr "Kalbų grupavimui reikia bent dviejų pažymėtų laiškų" + +-#: compose.c:1475 ++#: compose.c:1535 + msgid "Not all parts have 'Content-Language' set, continue?" + msgstr "Ne visos dalys turi 'Content-Language' antraštę, tęsti?" + +-#: compose.c:1477 ++#: compose.c:1537 + msgid "Not sending this message" + msgstr "Nesiunčiu šito laiško" + +-#: compose.c:1571 ++#: compose.c:1631 + msgid "Attaching selected file..." + msgid_plural "Attaching selected files..." + msgstr[0] "Prisegu parinktą bylą..." + msgstr[1] "Prisegu parinktas bylas..." + msgstr[2] "Prisegu parinktas bylas..." + +-#: compose.c:1585 ++#: compose.c:1645 + #, c-format + msgid "Unable to attach %s" + msgstr "Negaliu prisegti %s" + +-#: compose.c:1606 ++#: compose.c:1666 + msgid "Open mailbox to attach message from" + msgstr "Atidaryti dėžutę, iš kurios prisegti laišką" + +-#: compose.c:1616 ++#: compose.c:1676 + msgid "Open newsgroup to attach message from" + msgstr "Atidaryti naujienų grupę, iš kurios prisegti laišką" + +-#: compose.c:1667 ++#: compose.c:1730 + #, c-format + msgid "Unable to open mailbox %s" + msgstr "Negaliu atidaryti dėžutės %s" + +-#: compose.c:1676 ++#: compose.c:1739 + msgid "No messages in that folder" + msgstr "Nėra laiškų tame aplanke" + +-#: compose.c:1686 ++#: compose.c:1749 + msgid "Tag the messages you want to attach" + msgstr "Pažymėk laiškus, kuriuos nori prisegti" + +-#: compose.c:1715 ++#: compose.c:1785 + msgid "Unable to attach" + msgstr "Negaliu prisegti" + +-#: compose.c:1752 ++#: compose.c:1822 + msgid "Recoding only affects text attachments" + msgstr "Perkodavimas keičia tik tekstinius priedus" + +-#: compose.c:1757 ++#: compose.c:1827 + msgid "The current attachment won't be converted" + msgstr "Esamas priedas nebus konvertuotas" + +-#: compose.c:1759 ++#: compose.c:1829 + msgid "The current attachment will be converted" + msgstr "Esamas priedas bus konvertuotas" + +-#: compose.c:1831 ++#: compose.c:1901 + msgid "Empty 'Content-Language'" + msgstr "Tuščia 'Content-Language' antraštė" + +-#: compose.c:1849 ++#: compose.c:1920 + msgid "Invalid encoding" + msgstr "Bloga koduotė" + +-#: compose.c:1871 ++#: compose.c:1942 + msgid "Save a copy of this message?" + msgstr "Išsaugoti šio laiško kopiją?" + +-#: compose.c:1924 ++#: compose.c:1995 + msgid "Send attachment with name: " + msgstr "Siųsti priedą vardu: " + +-#: compose.c:1939 ++#: compose.c:2010 + msgid "Rename to: " + msgstr "Pervadinti į: " + + #. L10N: "stat" is a system call. Do "man 2 stat" for more information. +-#: compose.c:1946 editmsg.c:102 editmsg.c:138 sendlib.c:1050 ++#: compose.c:2017 editmsg.c:102 editmsg.c:138 sendlib.c:1049 + #, c-format + msgid "Can't stat %s: %s" + msgstr "Negalėjau stat'inti %s: %s" + +-#: compose.c:1966 ++#: compose.c:2037 + msgid "New file: " + msgstr "Nauja byla: " + +-#: compose.c:1984 ++#: compose.c:2055 + msgid "Content-Type is of the form base/sub" + msgstr "Content-Type pavidalas yra rūšis/porūšis" + +-#: compose.c:1991 ++#: compose.c:2062 + #, c-format + msgid "Unknown Content-Type %s" + msgstr "Nežinomas Content-Type %s" + +-#: compose.c:1999 ++#: compose.c:2070 + #, c-format + msgid "Can't create file %s" + msgstr "Negaliu sukurti bylos %s" + +-#: compose.c:2008 ++#: compose.c:2079 + msgid "What we have here is a failure to make an attachment" + msgstr "Čia turėtų būti priedas, tačiau jo nepavyko padaryti" + +-#: compose.c:2073 ++#: compose.c:2144 + msgid "Save (postpone) draft message?" + msgstr "Išsaugoti (atidėti) juodraštį?" + +-#: compose.c:2133 ++#: compose.c:2204 + msgid "Write message to mailbox" + msgstr "Įrašyti laišką į dėžutę" + +-#: compose.c:2136 ++#: compose.c:2207 + #, c-format + msgid "Writing message to %s ..." + msgstr "Rašau laišką į %s ..." + +-#: compose.c:2143 ++#: compose.c:2214 + msgid "Message written" + msgstr "Laiškas įrašytas" + +-#: compose.c:2154 ++#: compose.c:2225 + msgid "No PGP backend configured" + msgstr "PGP nesukonfigūruotas" + +-#: compose.c:2161 compose.c:2225 ++#: compose.c:2232 compose.c:2296 + msgid "S/MIME already selected. Clear and continue?" + msgstr "S/MIME jau pasirinktas. Išjungti ir tęsti?" + +-#: compose.c:2186 ++#: compose.c:2257 + msgid "No S/MIME backend configured" + msgstr "S/MIME nesukonfigūruotas" + +-#: compose.c:2194 ++#: compose.c:2265 + msgid "PGP already selected. Clear and continue?" + msgstr "PGP jau pasirinktas. Išjungti ir tęsti?" + +-#: compress.c:355 compress.c:499 ++#: compress/compress.c:354 compress/compress.c:498 + #, c-format + msgid "Can't append without an append-hook or close-hook : %s" + msgstr "Negaliu papildyti be append-hoook ar close-hook: %s" + +-#: compress.c:444 compress.c:511 compress.c:590 compress.c:628 mbox/mbox.c:1208 ++#: compress/compress.c:443 compress/compress.c:510 compress/compress.c:589 ++#: compress/compress.c:627 mbox/mbox.c:1208 + msgid "Unable to lock mailbox" + msgstr "Negaliu užrakinti dėžutės" + +-#: compress.c:448 compress.c:518 compress.c:594 ++#: compress/compress.c:447 compress/compress.c:517 compress/compress.c:593 + #, c-format + msgid "Decompressing %s" + msgstr "Išskleidžiu %s" + +-#: compress.c:457 ++#: compress/compress.c:456 + msgid "Can't identify the contents of the compressed file" + msgstr "Negaliu identifikuoti suspaustos bylos turinio" + +-#: compress.c:464 compress.c:539 ++#: compress/compress.c:463 compress/compress.c:538 + #, c-format + msgid "Can't find mailbox ops for mailbox type %d" + msgstr "Negaliu rasti pašto dėžutės operacijų pašto dėžutės tipui %d" + +-#: compress.c:521 ++#: compress/compress.c:520 + #, c-format + msgid "Compress command failed: %s" + msgstr "Suspaudimo komanda nepavyko: %s" + +-#: compress.c:532 ++#: compress/compress.c:531 + msgid "Unsupported mailbox type for appending" + msgstr "Papildymui nepalaikomas pašto dėžutės tipas" + +-#: compress.c:618 ++#: compress/compress.c:617 + msgid "Can't sync a compressed file without a close-hook" + msgstr "Negaliu išsaugoti suspaustos bylos be close-hook" + +-#: compress.c:640 compress.c:692 ++#: compress/compress.c:639 compress/compress.c:691 + #, c-format + msgid "Compressing %s" + msgstr "Suspaudžiu %s" + +-#: compress.c:687 ++#: compress/compress.c:686 + #, c-format + msgid "Compressed-appending to %s..." + msgstr "Papildau suspaustą %s..." + +-#: compress.c:699 editmsg.c:247 ++#: compress/compress.c:698 editmsg.c:247 + #, c-format + msgid "Error. Preserving temporary file: %s" + msgstr "Klaida. Išsaugau laikiną bylą: %s" + ++#: config/bool.c:70 ++#, c-format ++msgid "Invalid boolean value: %s" ++msgstr "Bloga loginė reikšmė: %s" ++ ++#: config/bool.c:131 ++#, c-format ++msgid "Invalid boolean value: %ld" ++msgstr "Bloga loginė reikšmė: %ld" ++ ++#: config/enum.c:62 ++#, c-format ++msgid "Invalid enum value: %s" ++msgstr "Bloga parametro reikšmė: %s" ++ ++#: config/enum.c:149 ++#, c-format ++msgid "Invalid enum value: %ld" ++msgstr "Bloga parametro reikšmė: %ld" ++ ++#: config/long.c:50 ++#, c-format ++msgid "Invalid long: %s" ++msgstr "Blogas skaičius: %s" ++ ++#: config/long.c:56 config/long.c:114 config/number.c:68 config/number.c:133 ++#, c-format ++msgid "Option %s may not be negative" ++msgstr "Parametras %s negali būti neigiamas" ++ ++#: config/number.c:49 config/sort.c:145 config/string.c:75 config/string.c:159 ++#, c-format ++msgid "Option %s may not be empty" ++msgstr "Parametras %s negali būti tuščias" ++ ++#: config/number.c:56 ++#, c-format ++msgid "Invalid number: %s" ++msgstr "Blogas skaičius: %s" ++ ++#: config/number.c:62 ++#, c-format ++msgid "Number is too big: %s" ++msgstr "Skaičius per didelis: %s" ++ ++#: config/number.c:127 ++#, c-format ++msgid "Invalid number: %ld" ++msgstr "Blogas skaičius: %ld" ++ ++#: config/quad.c:69 ++#, c-format ++msgid "Invalid quad value: %s" ++msgstr "Bloga parametro reikšmė: %s" ++ ++#: config/quad.c:133 ++#, c-format ++msgid "Invalid quad value: %ld" ++msgstr "Bloga parametro reikšmė: %ld" ++ ++#: config/set.c:102 ++#, c-format ++msgid "No such variable: %s" ++msgstr "Nėra tokio kintamojo: %s" ++ ++#: config/set.c:134 config/set.c:821 ++#, c-format ++msgid "Variable '%s' has an invalid type %d" ++msgstr "Kintamojo '%s' tipas yra neleistinas (%d)" ++ ++#: config/set.c:399 config/set.c:463 config/set.c:528 config/set.c:601 ++#: config/set.c:671 config/set.c:744 ++#, c-format ++msgid "Unknown variable '%s'" ++msgstr "Nežinomas kintamasis '%s'" ++ ++#: config/sort.c:192 ++#, c-format ++msgid "Invalid sort name: %s" ++msgstr "Bloga rikiavimo tvarka: %s" ++ ++#: config/sort.c:322 ++#, c-format ++msgid "Invalid sort type: %ld" ++msgstr "Bloga rikiavimo rūšis: %ld" ++ ++#. L10N: Example: Username at myhost.com ++#: conn/connaccount.c:61 ++#, c-format ++msgid "Username at %s: " ++msgstr "%s vartotojo vardas: " ++ ++#: conn/connaccount.c:117 ++#, c-format ++msgid "Password for %s@%s: " ++msgstr "%s@%s slaptažodis: " ++ ++#. L10N: You will see this error message if (1) you have "oauthbearer" in ++#. one of your $*_authenticators and (2) you do not have the corresponding ++#. $*_oauth_refresh_command defined. So the message does not mean "None of ++#. your $*_oauth_refresh_command's are defined." ++#: conn/connaccount.c:165 ++msgid "No OAUTH refresh command defined" ++msgstr "OAUTH atnaujinimo komanda nebuvo apibrėžta" ++ ++#: conn/connaccount.c:173 ++msgid "Unable to run refresh command" ++msgstr "Nepavyko įvykdyti atnaujinimo komandos" ++ ++#: conn/connaccount.c:184 ++msgid "Command returned empty string" ++msgstr "Komanda grąžino tuščią rezultatą" ++ ++#: conn/connaccount.c:191 ++#, fuzzy, c-format ++msgid "OAUTH token is too big: %ld" ++msgstr "Skaičius per didelis: %s" ++ + #: conn/conn_raw.c:160 conn/conn_raw.c:218 + #, c-format + msgid "Looking up %s..." +@@ -1312,7 +1568,7 @@ msgstr "Jungiuosi prie %s..." + msgid "Could not connect to %s (%s)" + msgstr "Nepavyko prisijungti prie %s (%s)" + +-#: conn/conn_raw.c:260 conn/ssl.c:1230 curs_lib.c:568 mutt_logging.c:149 ++#: conn/conn_raw.c:260 conn/ssl.c:1245 gui/curs_lib.c:569 mutt_logging.c:147 + msgid "unknown error" + msgstr "nežinoma klaida" + +@@ -1326,23 +1582,23 @@ msgstr "Klaida kalbant su %s (%s)" + msgid "Connection to %s has been aborted" + msgstr "Prisijungimas prie %s buvo nutrauktas" + +-#: conn/sasl.c:565 ++#: conn/sasl.c:547 + msgid "Unknown SASL profile" + msgstr "Nežinomas SASL profilis" + +-#: conn/sasl.c:598 ++#: conn/sasl.c:580 + msgid "Error allocating SASL connection" + msgstr "Klaida išskiriant SASL prisijungimą" + +-#: conn/sasl.c:608 ++#: conn/sasl.c:590 + msgid "Error setting SASL security properties" + msgstr "Klaida nustatant SASL saugumo nuostatas" + +-#: conn/sasl.c:619 ++#: conn/sasl.c:601 + msgid "Error setting SASL external security strength" + msgstr "Klaida nustatant SASL išorinio saugumo stiprumą" + +-#: conn/sasl.c:629 ++#: conn/sasl.c:611 + msgid "Error setting SASL external user name" + msgstr "Klaida nustatant SASL išorinį naudotojo vardą" + +@@ -1355,132 +1611,108 @@ msgstr "Nepavyko komanda prieš jungimąsi" + msgid "Connection to %s closed" + msgstr "Prisijungimas prie %s uždarytas" + +-#: conn/ssl.c:237 ++#: conn/ssl.c:222 + #, c-format + msgid "Filling entropy pool: %s..." + msgstr "Pildau entropijos tvenkinį: %s..." + +-#: conn/ssl.c:243 ++#: conn/ssl.c:228 + #, c-format + msgid "%s has insecure permissions" + msgstr "%s teisės nesaugios" + +-#: conn/ssl.c:385 ++#: conn/ssl.c:369 + msgid "SSL disabled due to the lack of entropy" + msgstr "SSL išjungtas dėl entropijos trūkumo" + +-#: conn/ssl.c:402 ++#: conn/ssl.c:386 + msgid "Unknown" + msgstr "Nežinoma" + +-#: conn/ssl.c:421 conn/ssl_gnutls.c:186 ++#: conn/ssl.c:405 conn/ssl_gnutls.c:188 + #, c-format + msgid "[unable to calculate]" + msgstr "[negaliu suskaičiuoti]" + +-#: conn/ssl.c:446 ++#: conn/ssl.c:430 + msgid "[invalid date]" + msgstr "[bloga data]" + +-#: conn/ssl.c:506 ++#: conn/ssl.c:490 + msgid "Server certificate is not yet valid" + msgstr "Serverio sertifikatas dar negalioja" + +-#: conn/ssl.c:516 ++#: conn/ssl.c:500 + msgid "Server certificate has expired" + msgstr "Serverio sertifikatas paseno" + +-#: conn/ssl.c:605 ++#: conn/ssl.c:589 + msgid "Failed to find enough entropy on your system" + msgstr "Nepavyko rasti pakankamai entropijos tavo sistemoje" + +-#: conn/ssl.c:799 ++#: conn/ssl.c:783 + msgid "can't get certificate subject" + msgstr "nepavyko gauti sertifikato objekto" + +-#: conn/ssl.c:808 conn/ssl.c:816 ++#: conn/ssl.c:792 conn/ssl.c:800 + msgid "can't get certificate common name" + msgstr "nepavyko gauti sertifikato bendrojo vardo" + +-#: conn/ssl.c:830 ++#: conn/ssl.c:814 + #, c-format + msgid "certificate owner does not match hostname %s" + msgstr "sertifikato savininkas neatitinka serverio vardo %s" + +-#: conn/ssl.c:904 conn/ssl_gnutls.c:539 ++#: conn/ssl.c:917 conn/ssl_gnutls.c:570 + msgid "This certificate belongs to:" + msgstr "Šis sertifikatas priklauso: " + +-#: conn/ssl.c:913 conn/ssl_gnutls.c:593 ++#: conn/ssl.c:926 conn/ssl_gnutls.c:624 + msgid "This certificate was issued by:" + msgstr "Šis sertifikatas buvo išduotas:" + +-#: conn/ssl.c:922 conn/ssl_gnutls.c:604 ++#: conn/ssl.c:935 conn/ssl_gnutls.c:635 + msgid "This certificate is valid" + msgstr "Šis sertifikatas galioja" + +-#: conn/ssl.c:923 conn/ssl_gnutls.c:608 ++#: conn/ssl.c:936 conn/ssl_gnutls.c:639 + #, c-format + msgid " from %s" + msgstr " nuo %s" + +-#: conn/ssl.c:925 conn/ssl_gnutls.c:612 ++#: conn/ssl.c:938 conn/ssl_gnutls.c:643 + #, c-format + msgid " to %s" + msgstr " iki %s" + +-#: conn/ssl.c:931 conn/ssl_gnutls.c:617 ++#: conn/ssl.c:944 conn/ssl_gnutls.c:648 + #, c-format + msgid "SHA1 Fingerprint: %s" + msgstr "SHA1 pirštų atspaudas: %s" + +-#: conn/ssl.c:937 conn/ssl.c:940 conn/ssl_gnutls.c:623 conn/ssl_gnutls.c:625 ++#: conn/ssl.c:950 conn/ssl.c:953 conn/ssl_gnutls.c:654 conn/ssl_gnutls.c:656 + msgid "SHA256 Fingerprint: " + msgstr "SHA256 pirštų atspaudas: " + +-#: conn/ssl.c:944 conn/ssl_gnutls.c:664 ++#: conn/ssl.c:957 conn/ssl_gnutls.c:695 + #, c-format + msgid "SSL Certificate check (certificate %zu of %zu in chain)" + msgstr "SSL sertifikato patikrinimas (sertifikatas nr. %zu iš %zu grandinėje)" + +-#. L10N: These four letters correspond to the choices in the next four strings: +-#. (r)eject, accept (o)nce, (a)ccept always, (s)kip. +-#. These prompts are the interactive certificate confirmation prompts for +-#. an OpenSSL connection. +-#: conn/ssl.c:964 +-msgid "roas" +-msgstr "apvr" +- +-#: conn/ssl.c:968 +-msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" +-msgstr "(a)tmesti, (p)riimti šįkart, (v)isada priimti, p(r)aleisti" +- +-#: conn/ssl.c:970 conn/ssl_gnutls.c:671 +-msgid "(r)eject, accept (o)nce, (a)ccept always" +-msgstr "(a)tmesti, (p)riimti šįkart, (v)isada priimti" +- +-#: conn/ssl.c:975 +-msgid "(r)eject, accept (o)nce, (s)kip" +-msgstr "(a)tmesti, (p)riimti šįkart, p(r)aleisti" +- +-#: conn/ssl.c:977 conn/ssl_gnutls.c:680 +-msgid "(r)eject, accept (o)nce" +-msgstr "(a)tmesti, (p)riimti šįkart" +- +-#: conn/ssl.c:981 conn/ssl_gnutls.c:689 ncrypt/crypt_gpgme.c:4729 +-#: ncrypt/pgpkey.c:664 ncrypt/smime.c:549 ++#: conn/ssl.c:994 conn/ssl_gnutls.c:720 ncrypt/crypt_gpgme.c:4777 ++#: ncrypt/pgpkey.c:667 ncrypt/smime.c:551 + msgid "Exit " + msgstr "Išeiti " + +-#: conn/ssl.c:1016 conn/ssl_gnutls.c:742 ++#: conn/ssl.c:1029 conn/ssl_gnutls.c:773 + msgid "Warning: Couldn't save certificate" + msgstr "Įspėjimas: Negalėjau išsaugoti sertifikato" + +-#: conn/ssl.c:1020 conn/ssl_gnutls.c:746 ++#: conn/ssl.c:1033 conn/ssl_gnutls.c:777 + msgid "Certificate saved" + msgstr "Sertifikatas išsaugotas" + +-#: conn/ssl.c:1132 ++#: conn/ssl.c:1147 + #, c-format + msgid "Certificate host check failed: %s" + msgstr "Sertifikato patikrinimas nepavyko: %s" +@@ -1488,15 +1720,15 @@ msgstr "Sertifikato patikrinimas nepavyko: %s" + #. L10N: This is a warning when trying to set the host name for + #. * TLS Server Name Indication (SNI). This allows the server to present + #. * the correct certificate if it supports multiple hosts. +-#: conn/ssl.c:1213 conn/ssl_gnutls.c:1072 ++#: conn/ssl.c:1228 conn/ssl_gnutls.c:1105 + msgid "Warning: unable to set TLS SNI host name" + msgstr "Įspėjimas: negaliu nustatyti TLS SNI serverio vardo" + +-#: conn/ssl.c:1224 ++#: conn/ssl.c:1239 + msgid "I/O error" + msgstr "Įvedimo/išvedimo klaida" + +-#: conn/ssl.c:1233 ++#: conn/ssl.c:1248 + #, c-format + msgid "SSL failed: %s" + msgstr "SSL nepavyko: %s" +@@ -1504,89 +1736,73 @@ msgstr "SSL nepavyko: %s" + #. L10N: an SSL context is a data structure returned by the OpenSSL + #. function SSL_CTX_new(). In this case it returned NULL: an + #. error condition. +-#: conn/ssl.c:1269 ++#: conn/ssl.c:1284 + msgid "Unable to create SSL context" + msgstr "Negaliu sukurti SSL konteksto" + +-#: conn/ssl.c:1322 ++#: conn/ssl.c:1337 + msgid "Warning: error enabling ssl_verify_partial_chains" + msgstr "Įspėjimas: nepavyko įjungti ssl_verify_partial_chains" + +-#: conn/ssl_gnutls.c:150 conn/ssl_gnutls.c:784 conn/ssl_gnutls.c:793 ++#: conn/ssl_gnutls.c:152 conn/ssl_gnutls.c:817 conn/ssl_gnutls.c:826 + msgid "Unable to get certificate from peer" + msgstr "Nepavyko gauti sertifikato iš serverio" + +-#: conn/ssl_gnutls.c:155 ++#: conn/ssl_gnutls.c:157 + #, c-format + msgid "Certificate verification error (%s)" + msgstr "Sertifikato patikrinimo klaida (%s)" + +-#: conn/ssl_gnutls.c:162 ++#: conn/ssl_gnutls.c:164 + msgid "Certificate is not X.509" + msgstr "Sertifikatas nėra X.509" + +-#: conn/ssl_gnutls.c:349 conn/ssl_gnutls.c:483 ++#: conn/ssl_gnutls.c:351 conn/ssl_gnutls.c:485 + msgid "Error initialising gnutls certificate data" + msgstr "Klaida inicializuojant gnutls sertifikato duomenis" + +-#: conn/ssl_gnutls.c:355 conn/ssl_gnutls.c:489 ++#: conn/ssl_gnutls.c:357 conn/ssl_gnutls.c:491 + msgid "Error processing certificate data" + msgstr "Klaida apdorojant sertifikato duomenis" + +-#: conn/ssl_gnutls.c:635 ++#: conn/ssl_gnutls.c:666 + msgid "WARNING: Server certificate is not yet valid" + msgstr "ĮSPĖJIMAS: Serverio sertifikatas dar negalioja" + +-#: conn/ssl_gnutls.c:640 ++#: conn/ssl_gnutls.c:671 + msgid "WARNING: Server certificate has expired" + msgstr "ĮSPĖJIMAS: Serverio sertifikatas paseno" + +-#: conn/ssl_gnutls.c:645 ++#: conn/ssl_gnutls.c:676 + msgid "WARNING: Server certificate has been revoked" + msgstr "ĮSPĖJIMAS: Serverio sertifikatas buvo atšauktas" + +-#: conn/ssl_gnutls.c:650 ++#: conn/ssl_gnutls.c:681 + msgid "WARNING: Server hostname does not match certificate" + msgstr "ĮSPĖJIMAS: Serverio vardas neatitinka sertifikato" + +-#: conn/ssl_gnutls.c:655 ++#: conn/ssl_gnutls.c:686 + msgid "WARNING: Signer of server certificate is not a CA" + msgstr "ĮSPĖJIMAS: Serverio sertifikatas pasirašytas ne sertifikatų tarnybos" + +-#: conn/ssl_gnutls.c:659 conn/ssl_gnutls.c:1004 ++#: conn/ssl_gnutls.c:690 conn/ssl_gnutls.c:1037 + msgid "Warning: Server certificate was signed using an insecure algorithm" + msgstr "Įspėjimas: Serverio sertifikatas pasirašytas nesaugiu algoritmu" + +-#. L10N: These three letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce, (a)ccept always. +-#. This is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:676 +-msgid "roa" +-msgstr "apv" +- +-#. L10N: These two letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce. +-#. These is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:685 +-msgid "ro" +-msgstr "ap" +- +-#: conn/ssl_gnutls.c:950 conn/ssl_gnutls.c:992 ++#: conn/ssl_gnutls.c:983 conn/ssl_gnutls.c:1025 + msgid "All available protocols for TLS/SSL connection disabled" + msgstr "Visi galimi protokolai TLS/SSL jungčiai išjungti" + +-#: conn/ssl_gnutls.c:999 ++#: conn/ssl_gnutls.c:1032 + msgid "Explicit ciphersuite selection via $ssl_ciphers not supported" + msgstr "Šifro pasirinkimas per $ssl_ciphers nepalaikomas" + +-#: conn/ssl_gnutls.c:1120 ++#: conn/ssl_gnutls.c:1153 + #, c-format + msgid "SSL/TLS connection using %s (%s/%s/%s)" + msgstr "SSL/TLS jungtis, naudojant %s (%s/%s/%s)" + +-#: conn/ssl_gnutls.c:1175 conn/ssl_gnutls.c:1204 ++#: conn/ssl_gnutls.c:1210 conn/ssl_gnutls.c:1239 + msgid "Error: no TLS socket open" + msgstr "Klaida: TLS jungtis neatidaryta" + +@@ -1605,7 +1821,7 @@ msgstr "Tunelio klaida kalbant su %s: %s" + msgid "Tunnel to %s returned error %d (%s)" + msgstr "Tunelis į %s grąžino klaidą %d (%s)" + +-#: copy.c:660 ++#: copy.c:662 + #, c-format + msgid "The length calculation was wrong by %ld byte" + msgid_plural "The length calculation was wrong by %ld bytes" +@@ -1613,31 +1829,11 @@ msgstr[0] "Ilgio skaičiavimas suklydo %ld baitu" + msgstr[1] "Ilgio skaičiavimas suklydo %ld baitais" + msgstr[2] "Ilgio skaičiavimas suklydo %ld baitų" + +-#: copy.c:744 ++#: copy.c:746 + msgid "No decryption engine available for message" + msgstr "Nėra iššifravimo mechanizmo laiškui" + +-#: curs_lib.c:378 +-msgid "yes" +-msgstr "taip" +- +-#: curs_lib.c:379 +-msgid "no" +-msgstr "ne" +- +-#: curs_lib.c:518 +-msgid "Exit NeoMutt?" +-msgstr "Išeiti iš NeoMutt?" +- +-#: curs_lib.c:597 +-msgid "Press any key to continue..." +-msgstr "Spausk bet kokį klavišą..." +- +-#: curs_lib.c:705 +-msgid " ('?' for list): " +-msgstr " ('?' parodo sąrašą): " +- +-#: edit.c:64 ++#: edit.c:62 + msgid "" + "~~ insert a line beginning with a single ~\n" + "~b users add users to the Bcc: field\n" +@@ -1659,7 +1855,7 @@ msgstr "" + "~M laiškai tas pats kas ~m, be to, įtraukti antraštes\n" + "~p spausdinti laišką\n" + +-#: edit.c:75 ++#: edit.c:73 + msgid "" + "~q write file and quit editor\n" + "~r file read a file into the editor\n" +@@ -1681,20 +1877,20 @@ msgstr "" + "~? ši žinutė\n" + ". vienas eilutėje baigia įvedimą\n" + +-#: edit.c:261 ++#: edit.c:259 + #, c-format + msgid "%d: invalid message number.\n" + msgstr "%d: blogas laiško numeris.\n" + +-#: edit.c:416 ++#: edit.c:414 + msgid "(End message with a . on a line by itself)\n" + msgstr "(Užbaik laišką vieninteliu tašku eilutėje)\n" + +-#: edit.c:474 ++#: edit.c:472 + msgid "No mailbox.\n" + msgstr "Nėra dėžutės.\n" + +-#: edit.c:478 ++#: edit.c:476 + msgid "Message contains:\n" + msgstr "Laiške yra:\n" + +@@ -1702,19 +1898,19 @@ msgstr "Laiške yra:\n" + #. not IN the middle of the content. + #. So it doesn't mean "(message will continue)" + #. but means "(press any key to continue using neomutt)". +-#: edit.c:486 edit.c:547 ++#: edit.c:484 edit.c:545 + msgid "(continue)\n" + msgstr "(tęsti)\n" + +-#: edit.c:499 ++#: edit.c:497 + msgid "missing filename.\n" + msgstr "trūksta bylos vardo.\n" + +-#: edit.c:519 ++#: edit.c:517 + msgid "No lines in message.\n" + msgstr "Laiške nėra eilučių.\n" + +-#: edit.c:558 ++#: edit.c:556 + #, c-format + msgid "%s: unknown editor command (~? for help)\n" + msgstr "%s: nežinoma redaktoriaus komanda (~? suteiks pagalbą)\n" +@@ -1761,19 +1957,73 @@ msgstr "Negaliu pridurti laiško prie aplanko: %s" + msgid "multipart message has no boundary parameter" + msgstr "kelių dalių laiškas neturi boundary parametro" + +-#: flags.c:382 index.c:2561 index.c:2604 index.c:3134 index.c:3171 ++#: flags.c:381 index.c:2587 index.c:2630 index.c:3160 index.c:3197 + #: mutt_thread.c:1091 mutt_thread.c:1158 mutt_thread.c:1246 + msgid "Threading is not enabled" + msgstr "Skirstymas gijomis neleidžiamas" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Set flag" + msgstr "Uždėti vėliavėlę" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Clear flag" + msgstr "Išvalyti vėliavėlę" + ++#: gui/color.c:633 gui/color.c:644 ++#, c-format ++msgid "%s: color not supported by term" ++msgstr "%s: spalva nepalaikoma terminalo" ++ ++#: gui/color.c:652 ++#, c-format ++msgid "%s: no such color" ++msgstr "%s: nėra tokios spalvos" ++ ++#: gui/color.c:717 gui/color.c:740 gui/color.c:751 gui/color.c:842 ++#, c-format ++msgid "%s: no such object" ++msgstr "%s: nėra tokio objekto" ++ ++#: gui/color.c:1142 ++#, c-format ++msgid "%s: no such attribute" ++msgstr "%s: tokio atributo nėra" ++ ++#: gui/color.c:1244 ++msgid "default colors not supported" ++msgstr "įprastos spalvos nepalaikomos" ++ ++#: gui/color.c:1282 ++#, c-format ++msgid "Maximum quoting level is %d" ++msgstr "Giliausias cituojamo teksto lygmuo yra %d" ++ ++#: gui/color.c:1319 ++#, c-format ++msgid "%s: invalid number: %s" ++msgstr "%s: blogas skaičius: %s" ++ ++#: gui/curs_lib.c:379 ++msgid "yes" ++msgstr "taip" ++ ++#: gui/curs_lib.c:380 ++msgid "no" ++msgstr "ne" ++ ++#: gui/curs_lib.c:519 ++msgid "Exit NeoMutt?" ++msgstr "Išeiti iš NeoMutt?" ++ ++#: gui/curs_lib.c:598 ++msgid "Press any key to continue..." ++msgstr "Spausk bet kokį klavišą..." ++ ++#: gui/curs_lib.c:749 ++msgid " ('?' for list): " ++msgstr " ('?' parodo sąrašą): " ++ + #: handler.c:102 + #, c-format + msgid "[-- Type: %s/%s%s%s, Encoding: %s, Size: %s --]\n" +@@ -1794,23 +2044,23 @@ msgstr "[-- Automatinė peržiūra su %s --]\n" + msgid "Invoking autoview command: %s" + msgstr "Kviečiu autom. peržiūros komandą: %s" + +-#: handler.c:591 mutt_attach.c:527 mutt_attach.c:714 mutt_attach.c:745 +-#: mutt_attach.c:1087 mutt_attach.c:1152 ncrypt/pgpkey.c:723 +-#: ncrypt/pgpkey.c:920 ++#: handler.c:590 mutt_attach.c:555 mutt_attach.c:747 mutt_attach.c:778 ++#: mutt_attach.c:1120 mutt_attach.c:1185 ncrypt/pgpkey.c:756 ++#: ncrypt/pgpkey.c:955 + msgid "Can't create filter" + msgstr "Negaliu sukurti filtro" + +-#: handler.c:595 ++#: handler.c:594 + #, c-format + msgid "[-- Can't run %s. --]\n" + msgstr "[-- Nepavyko paleisti %s. --]\n" + +-#: handler.c:614 handler.c:635 ++#: handler.c:613 handler.c:634 + #, c-format + msgid "[-- Autoview stderr of %s --]\n" + msgstr "[-- Automatinės peržiūros %s klaidos --]\n" + +-#: handler.c:764 ++#: handler.c:763 + msgid "[-- Error: message/external-body has no access-type parameter --]\n" + msgstr "[-- Klaida: message/external-body dalis neturi access-type parametro --]\n" + +@@ -1829,7 +2079,7 @@ msgstr "[-- Klaida: message/external-body dalis neturi access-type parametro --] + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:807 ++#: handler.c:806 + #, c-format + msgid "" + "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" +@@ -1861,7 +2111,7 @@ msgstr[2] "" + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:830 ++#: handler.c:829 + #, c-format + msgid "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" + msgid_plural "[-- This %s/%s attachment (size %s bytes) has been deleted --]\n" +@@ -1876,7 +2126,7 @@ msgstr[2] "[-- Šis %s/%s priedas (dydis %s baitų) buvo ištrintas --]\n" + #. + #. Caution: Argument three %3$ is also defined but should not be used + #. in this translation! +-#: handler.c:848 ++#: handler.c:847 + msgid "" + "[-- This %s/%s attachment has been deleted --]\n" + "[-- on %4$s --]\n" +@@ -1887,12 +2137,12 @@ msgstr "" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The first "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:856 ++#: handler.c:855 + #, c-format + msgid "[-- This %s/%s attachment has been deleted --]\n" + msgstr "[-- Šis %s/%s priedas buvo ištrintas --]\n" + +-#: handler.c:866 ++#: handler.c:865 + #, c-format + msgid "[-- name: %s --]\n" + msgstr "[-- vardas: %s --]\n" +@@ -1900,7 +2150,7 @@ msgstr "[-- vardas: %s --]\n" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:884 ++#: handler.c:883 + #, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -1915,7 +2165,7 @@ msgstr "" + #. The "%s/%s" is a MIME type, e.g. "text/plain". The %s after + #. access-type is an access-type as defined by the MIME RFCs, e.g. "FTP", + #. "LOCAL-FILE", "MAIL-SERVER". +-#: handler.c:905 ++#: handler.c:904 + #, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -1924,91 +2174,91 @@ msgstr "" + "[-- Šis %s/%s priedas neįtrauktas, --]\n" + "[-- o nurodytas pasiekimo tipas %s yra nepalaikomas. --]\n" + +-#: handler.c:1090 ++#: handler.c:1089 + msgid "[-- Error: Could not display any parts of Multipart/Alternative --]\n" + msgstr "[-- Klaida: Nepavyko parodyti nė vienos Multipart/Alternative dalies --]\n" + + #. L10N: %s is the attachment description, filename or form_name. +-#: handler.c:1231 ++#: handler.c:1230 + #, c-format + msgid "[-- Attachment #%d: %s --]\n" + msgstr "[-- Priedas #%d: %s --]\n" + +-#: handler.c:1236 ++#: handler.c:1235 + #, c-format + msgid "[-- Attachment #%d --]\n" + msgstr "[-- Priedas #%d --]\n" + +-#: handler.c:1254 ++#: handler.c:1253 + msgid "One or more parts of this message could not be displayed" + msgstr "Viena ar daugiau laiško dalių negalėjo būti parodyta" + +-#: handler.c:1320 ++#: handler.c:1319 + msgid "Unable to open 'memory stream'" + msgstr "Negaliu atidaryti atminties srauto" + +-#: handler.c:1330 ++#: handler.c:1329 + msgid "Unable to open temporary file" + msgstr "Negaliu atidaryti laikinos bylos" + +-#: handler.c:1379 ++#: handler.c:1378 + msgid "failed to re-open 'memory stream'" + msgstr "nepavyko iš naujo atidaryti atminties srauto" + +-#: handler.c:1620 ++#: handler.c:1619 + msgid "Error: multipart/signed has no protocol" + msgstr "Klaida: multipart/signed neturi protokolo" + + #. L10N: %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1694 ++#: handler.c:1693 + #, c-format + msgid "[-- This is an attachment (use '%s' to view this part) --]\n" + msgstr "[-- Čia yra priedas (naudok '%s' šiai daliai peržiūrėti) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". + #. The last %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1701 ++#: handler.c:1700 + #, c-format + msgid "[-- %s/%s is unsupported (use '%s' to view this part) --]\n" + msgstr "[-- %s/%s yra nepalaikomas (naudok '%s' šiai daliai peržiūrėti) --]\n" + +-#: handler.c:1709 ++#: handler.c:1708 + msgid "[-- This is an attachment (need 'view-attachments' bound to key) --]\n" + msgstr "[-- Čia yra priedas ('view-attachments' turi būti susietas su klavišu) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1715 ++#: handler.c:1714 + #, c-format + msgid "[-- %s/%s is unsupported (need 'view-attachments' bound to key) --]\n" + msgstr "[-- %s/%s yra nepalaikomas ('view-attachments' turi būti susietas su klavišu) --]\n" + +-#: handler.c:1724 ++#: handler.c:1723 + msgid "[-- This is an attachment --]\n" + msgstr "[-- Čia yra priedas --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1729 ++#: handler.c:1728 + #, c-format + msgid "[-- %s/%s is unsupported --]\n" + msgstr "[-- %s/%s yra nepalaikomas --]\n" + +-#: help.c:400 ++#: help.c:401 + msgid "ERROR: please report this bug" + msgstr "KLAIDA: prašau pranešti šią klaidą" + +-#: help.c:455 ++#: help.c:456 + msgid "" + msgstr "" + +-#: help.c:469 ++#: help.c:470 + msgid "Generic bindings:" + msgstr "Bendri susiejimai:" + +-#: help.c:473 ++#: help.c:474 + msgid "Unbound functions:" + msgstr "Nesusietos funkcijos:" + +-#: help.c:481 ++#: help.c:482 + #, c-format + msgid "Help for %s" + msgstr "Pagalba apie %s" +@@ -2025,41 +2275,41 @@ msgstr "pašto dėžutės trumpinys išplėstas atitinka tuščią šabloną" + msgid "badly formatted command string" + msgstr "blogai suformuota komanda" + +-#: hook.c:461 ++#: hook.c:466 + msgid "unhook: Can't do unhook * from within a hook" + msgstr "unhook: negalima išmesti kablių kablio viduje" + +-#: hook.c:474 ++#: hook.c:479 + #, c-format + msgid "unhook: unknown hook type: %s" + msgstr "unhook: nežinomas hook tipas: %s" + +-#: hook.c:484 ++#: hook.c:489 + #, c-format + msgid "unhook: Can't delete a %s from within a %s" + msgstr "unhook: negaliu išmesti %s %s viduje" + + #. L10N: '%s' is the (misspelled) name of the menu, e.g. 'index' or 'pager' +-#: icommands.c:259 keymap.c:1161 keymap.c:1346 ++#: icommands.c:261 keymap.c:1159 keymap.c:1344 + #, c-format + msgid "%s: no such menu" + msgstr "%s: nėra tokio meniu" + + #. L10N: '%s' is the name of the menu, e.g. 'index' or 'pager', it might + #. L10N: also be 'all' when all menus are affected. +-#: icommands.c:272 ++#: icommands.c:274 + #, c-format + msgid "%s: no binds for this menu" + msgstr "%s: šiame meniu nėra susiejimų" + +-#: icommands.c:272 ++#: icommands.c:274 + #, c-format + msgid "%s: no macros for this menu" + msgstr "%s: šiame meniu nėra makrokomandų" + + #. L10N: '%s' is the file name of the temporary file +-#: icommands.c:283 icommands.c:296 icommands.c:316 icommands.c:340 +-#: icommands.c:360 icommands.c:371 imap/message.c:1093 ++#: icommands.c:285 icommands.c:297 icommands.c:317 icommands.c:340 ++#: icommands.c:360 icommands.c:370 imap/message.c:1093 + #, c-format + msgid "Could not create temporary file %s" + msgstr "Negaliu sukurti laikinos bylos %s" +@@ -2096,28 +2346,28 @@ msgstr "GSSAPI autentikacija nepavyko" + msgid "LOGIN disabled on this server" + msgstr "LOGIN išjungtas šiame serveryje" + +-#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:288 ++#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:289 + msgid "Logging in..." + msgstr "Pasisveikinu..." + +-#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:329 ++#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:330 + msgid "Login failed" + msgstr "Nepavyko pasisveikinti" + +-#: imap/auth_oauth.c:64 pop/pop_auth.c:346 smtp.c:524 ++#: imap/auth_oauth.c:65 pop/pop_auth.c:347 smtp.c:549 + msgid "Authenticating (OAUTHBEARER)..." + msgstr "Autentikuojuosi (OAUTHBEARER)..." + +-#: imap/auth_oauth.c:96 ++#: imap/auth_oauth.c:97 + msgid "OAUTHBEARER authentication failed" + msgstr "OAUTHBEARER autentikacija nepavyko." + +-#: imap/auth_sasl.c:128 nntp/nntp.c:606 nntp/nntp.c:671 smtp.c:443 ++#: imap/auth_sasl.c:128 nntp/nntp.c:608 nntp/nntp.c:673 smtp.c:468 + #, c-format + msgid "Authenticating (%s)..." + msgstr "Autentikuojuosi (%s)..." + +-#: imap/auth_sasl.c:259 pop/pop_auth.c:200 smtp.c:584 smtp.c:646 ++#: imap/auth_sasl.c:259 pop/pop_auth.c:201 smtp.c:609 smtp.c:671 + msgid "SASL authentication failed" + msgstr "SASL autentikacija nepavyko" + +@@ -2164,73 +2414,63 @@ msgstr "Nepavyko pervadinti: %s" + msgid "Mailbox renamed" + msgstr "Pašto dėžutė pervadinta" + +-#: imap/command.c:164 ++#: imap/command.c:177 + #, c-format + msgid "Mailbox %s@%s closed" + msgstr "Pašto dėžutė %s@%s uždaryta" + +-#: imap/command.c:1258 imap/command.c:1370 ++#: imap/command.c:1287 imap/command.c:1399 + #, c-format + msgid "Connection to %s timed out" + msgstr "Prisijungimui prie %s pasibaigė laikas" + +-#: imap/imap.c:87 ++#: imap/imap.c:93 + msgid "This IMAP server is ancient. NeoMutt does not work with it." + msgstr "Šis IMAP serveris yra senoviškas. NeoMutt su juo neveikia." + +-#: imap/imap.c:438 ++#: imap/imap.c:444 + #, c-format + msgid "Header search without header name: %s" + msgstr "Antraščių paieška be antraštės pavadinimo: %s" + +-#: imap/imap.c:468 ++#: imap/imap.c:474 + #, c-format + msgid "Server-side custom search not supported: %s" + msgstr "Serverinė paieška nepalaikoma: %s" + +-#: imap/imap.c:584 ++#: imap/imap.c:590 + #, c-format + msgid "CREATE failed: %s" + msgstr "CREATE komanda nepavyko: %s" + +-#: imap/imap.c:704 ++#: imap/imap.c:710 + #, c-format + msgid "Closing connection to %s..." + msgstr "Uždarau jungtį su %s..." + +-#: imap/imap.c:882 nntp/nntp.c:1889 pop/pop_lib.c:324 smtp.c:687 ++#: imap/imap.c:888 nntp/nntp.c:1891 pop/pop_lib.c:350 smtp.c:712 + msgid "Secure connection with TLS?" + msgstr "Apsaugoti jungtį su TLS?" + +-#: imap/imap.c:895 nntp/nntp.c:1910 pop/pop_lib.c:343 smtp.c:702 ++#: imap/imap.c:901 nntp/nntp.c:1912 pop/pop_lib.c:369 smtp.c:727 + msgid "Could not negotiate TLS connection" + msgstr "Nepavyko sukurti TLS jungties" + +-#: imap/imap.c:910 pop/pop_lib.c:360 ++#: imap/imap.c:916 pop/pop_lib.c:386 + msgid "Encrypted connection unavailable" + msgstr "Šifruota jungtis negalima" + +-#: imap/imap.c:1417 ++#: imap/imap.c:1430 + #, c-format + msgid "Subscribing to %s..." + msgstr "Užsakau %s..." + +-#: imap/imap.c:1419 ++#: imap/imap.c:1432 + #, c-format + msgid "Unsubscribing from %s..." + msgstr "Atsisakau %s..." + +-#: imap/imap.c:1430 init.c:2142 +-#, c-format +-msgid "Subscribed to %s" +-msgstr "Užsakiau %s" +- +-#: imap/imap.c:1432 init.c:2620 +-#, c-format +-msgid "Unsubscribed from %s" +-msgstr "Atsisakiau %s" +- +-#: imap/imap.c:1582 imap/message.c:1674 ++#: imap/imap.c:1595 imap/message.c:1674 + #, c-format + msgid "Copying %d message to %s..." + msgid_plural "Copying %d messages to %s..." +@@ -2238,16 +2478,16 @@ msgstr[0] "Kopijuoju %d laišką į %s..." + msgstr[1] "Kopijuoju %d laiškus į %s..." + msgstr[2] "Kopijuoju %d laiškų į %s..." + +-#: imap/imap.c:1599 imap/imap.c:2217 imap/message.c:1713 muttlib.c:1505 ++#: imap/imap.c:1612 imap/imap.c:2254 imap/message.c:1713 muttlib.c:1503 + #, c-format + msgid "Create %s?" + msgstr "Sukurti %s?" + +-#: imap/imap.c:1667 ++#: imap/imap.c:1685 + msgid "Expunge failed" + msgstr "Ištrynimas nepavyko" + +-#: imap/imap.c:1683 ++#: imap/imap.c:1701 + #, c-format + msgid "Marking %d message deleted..." + msgid_plural "Marking %d messages deleted..." +@@ -2256,7 +2496,7 @@ msgstr[1] "Pažymiu %d laiškus ištrintais..." + msgstr[2] "Pažymiu %d laiškų ištrintais..." + + #. L10N: The plural is chosen by the last %d, i.e. the total number +-#: imap/imap.c:1720 ++#: imap/imap.c:1738 + #, c-format + msgid "Saving changed message... [%d/%d]" + msgid_plural "Saving changed messages... [%d/%d]" +@@ -2264,36 +2504,36 @@ msgstr[0] "Išsaugau pasikeitusį laišką... [%d/%d]" + msgstr[1] "Išsaugau pasikeitusius laiškus... [%d/%d]" + msgstr[2] "Išsaugau pasikeitusius laiškus... [%d/%d]" + +-#: imap/imap.c:1776 ++#: imap/imap.c:1794 + msgid "Error saving flags. Close anyway?" + msgstr "Nepavyko išsaugoti vėliavėlių. Vis tiek uždaryti?" + +-#: imap/imap.c:1783 ++#: imap/imap.c:1801 + msgid "Error saving flags" + msgstr "Klaida išsaugant vėliavėles" + +-#: imap/imap.c:1808 ++#: imap/imap.c:1826 + msgid "Expunging messages from server..." + msgstr "Ištuštinu laiškus iš serverio..." + +-#: imap/imap.c:1814 ++#: imap/imap.c:1832 + msgid "imap_sync_mailbox: EXPUNGE failed" + msgstr "imap_sync_mailbox: EXPUNGE komanda nepavyko" + +-#: imap/imap.c:2023 nntp/nntp.c:2486 ++#: imap/imap.c:2058 nntp/nntp.c:2488 + #, c-format + msgid "Selecting %s..." + msgstr "Parenku %s..." + +-#: imap/imap.c:2184 ++#: imap/imap.c:2221 + msgid "Error opening mailbox" + msgstr "Klaida atidarant pašto dėžutę" + +-#: imap/imap.c:2330 ++#: imap/imap.c:2367 + msgid "IMAP server doesn't support custom flags" + msgstr "IMAP serveris nepalaiko savadarbių vėliavėlių" + +-#: imap/imap.c:2374 ++#: imap/imap.c:2411 + msgid "Invalid IMAP flags" + msgstr "Blogos IMAP vėliavėlės" + +@@ -2303,7 +2543,7 @@ msgid "Abort download and close mailbox?" + msgstr "Nutraukti siuntimą ir uždaryti pašto dėžutę?" + + #: imap/message.c:554 mutt/memory.c:58 mutt/memory.c:98 mutt/memory.c:134 +-#: mutt/string.c:1178 mx.c:1176 ++#: mutt/string.c:1201 mx.c:1195 + msgid "Out of memory" + msgstr "Baigėsi atmintis" + +@@ -2321,7 +2561,7 @@ msgstr "Paimu vėliavėlių pakeitimus..." + msgid "Unable to fetch headers from this IMAP server version" + msgstr "Negaliu paimti antraščių iš šios IMAP serverio versijos" + +-#: imap/message.c:1099 index.c:1548 nntp/nntp.c:1328 pop/pop.c:426 ++#: imap/message.c:1099 index.c:1554 nntp/nntp.c:1330 pop/pop.c:426 + msgid "Fetching message headers..." + msgstr "Paimu laiškų antraštes..." + +@@ -2334,152 +2574,152 @@ msgstr "Nusiunčiu laišką..." + msgid "Copying message %d to %s..." + msgstr "Kopijuoju laišką %d į %s..." + +-#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2737 pop/pop.c:1110 ++#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2739 pop/pop.c:1105 + msgid "Fetching message..." + msgstr "Paimu laišką..." + +-#: imap/message.c:1959 pop/pop.c:1106 ++#: imap/message.c:1959 pop/pop.c:1101 + msgid "The message index is incorrect. Try reopening the mailbox." + msgstr "Laiškų indeksas yra neteisingas. Bandyk iš naujo atidaryti dėžutę." + +-#: imap/util.c:767 ++#: imap/util.c:796 + msgid "Continue?" + msgstr "Tęsti?" + +-#: index.c:115 index.c:128 ++#: index.c:111 index.c:124 + msgid "Quit" + msgstr "Išeit" + +-#: index.c:118 index.c:131 recvattach.c:93 ++#: index.c:114 index.c:127 recvattach.c:91 + msgid "Save" + msgstr "Saugoti" + +-#: index.c:119 query.c:81 ++#: index.c:115 query.c:79 + msgid "Mail" + msgstr "Rašyt" + +-#: index.c:120 pager.c:237 ++#: index.c:116 pager.c:229 + msgid "Reply" + msgstr "Atsakyt" + +-#: index.c:121 ++#: index.c:117 + msgid "Group" + msgstr "Grupei" + +-#: index.c:132 pager.c:244 ++#: index.c:128 pager.c:236 + msgid "Post" + msgstr "Siųsti" + +-#: index.c:133 pager.c:245 ++#: index.c:129 pager.c:237 + msgid "Followup" + msgstr "Pratęsti" + +-#: index.c:190 index.c:1362 ++#: index.c:186 index.c:1367 + msgid "No mailbox is open" + msgstr "Jokia dėžutė neatidaryta" + +-#: index.c:196 ++#: index.c:192 + msgid "There are no messages" + msgstr "Ten nėra laiškų" + +-#: index.c:202 ++#: index.c:198 + msgid "No visible messages" + msgstr "Nėra matomų laiškų" + +-#: index.c:208 mx.c:901 pager.c:223 recvattach.c:80 ++#: index.c:204 mx.c:920 pager.c:215 recvattach.c:78 + msgid "Mailbox is read-only" + msgstr "Dėžutė yra tik skaitoma" + +-#: index.c:214 pager.c:225 recvattach.c:98 ++#: index.c:210 pager.c:217 recvattach.c:96 + msgid "Function not permitted in attach-message mode" + msgstr "Funkcija neleistina laiško prisegimo režime" + + #. L10N: %s is one of the CHECK_ACL entries below. +-#: index.c:239 pager.c:290 ++#: index.c:235 pager.c:282 + #, c-format + msgid "%s: Operation not permitted by ACL" + msgstr "%s: veiksmas neleidžiamas pagal ACL" + +-#: index.c:430 ++#: index.c:426 + msgid "Can't toggle write on a readonly mailbox" + msgstr "Negaliu perjungti tik skaitomos dėžutės rašomumo" + +-#: index.c:437 ++#: index.c:433 + msgid "Changes to folder will be written on folder exit" + msgstr "Aplanko pakeitimai bus įrašyti išeinant iš aplanko" + +-#: index.c:442 ++#: index.c:438 + msgid "Changes to folder will not be written" + msgstr "Aplanko pakeitimai nebus įrašyti" + +-#: index.c:719 muttlib.c:1490 mx.c:206 mx.c:340 ++#: index.c:714 muttlib.c:1488 mx.c:206 mx.c:338 + #, c-format + msgid "%s is not a mailbox" + msgstr "%s nėra pašto dėžutė" + +-#: index.c:1218 ++#: index.c:1223 + msgid "Mailbox was externally modified. Flags may be wrong." + msgstr "Dėžutė buvo išoriškai pakeista. Flagai gali būti neteisingi." + +-#: index.c:1227 pager.c:2409 ++#: index.c:1232 pager.c:2379 + msgid "New mail in this mailbox" + msgstr "Naujas paštas šioje dėžutėje" + +-#: index.c:1242 ++#: index.c:1247 + msgid "Mailbox was externally modified" + msgstr "Pašto dėžutė buvo išoriškai pakeista" + +-#: index.c:1369 ++#: index.c:1374 + msgid "No tagged messages" + msgstr "Nėra pažymėtų laiškų" + +-#: index.c:1373 index.c:1647 menu.c:1423 ++#: index.c:1378 index.c:1653 menu.c:1423 + msgid "Nothing to do" + msgstr "Nėra, ką daryti" + +-#: index.c:1470 ++#: index.c:1475 + msgid "Enter Message-Id: " + msgstr "Įvesk laiško ID: " + +-#: index.c:1481 ++#: index.c:1487 + msgid "Article has no parent reference" + msgstr "Straipsnis neturi nuorodos į tėvinį straipsnį" + +-#: index.c:1504 ++#: index.c:1510 + msgid "Message is not visible in limited view" + msgstr "Laiškas nematomas ribotame vaizde" + +-#: index.c:1508 ++#: index.c:1514 + #, c-format + msgid "Fetching %s from server..." + msgstr "Siunčiu %s iš serverio..." + +-#: index.c:1518 nntp/nntp.c:2772 ++#: index.c:1524 nntp/nntp.c:2774 + #, c-format + msgid "Article %s not found on the server" + msgstr "Straipsnis %s nerastas serveryje" + +-#: index.c:1544 ++#: index.c:1550 + msgid "No Message-Id. Unable to perform operation." + msgstr "Nėra Message-Id antraštės. Negaliu atlikti operacijos." + +-#: index.c:1623 ++#: index.c:1629 + msgid "No deleted messages found in the thread" + msgstr "Šioje gijoje nėra ištrintų laiškų" + +-#: index.c:1644 ++#: index.c:1650 + msgid "Jump to message: " + msgstr "Šokti į laišką: " + +-#: index.c:1650 ++#: index.c:1656 + msgid "Argument must be a message number" + msgstr "Argumentas turi būti laiško numeris" + +-#: index.c:1652 ++#: index.c:1658 + msgid "Invalid message number" + msgstr "Blogas laiško numeris" + +-#: index.c:1654 ++#: index.c:1660 + msgid "That message is not visible" + msgstr "Tas laiškas yra nematomas" + +@@ -2492,37 +2732,37 @@ msgstr "Tas laiškas yra nematomas" + #. delete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. + #. +-#: index.c:1692 index.c:3267 pager.c:3064 ++#: index.c:1698 index.c:3293 pager.c:3039 + msgid "Can't delete messages" + msgstr "Negaliu ištrinti laiškų" + +-#: index.c:1695 ++#: index.c:1701 + msgid "Delete messages matching: " + msgstr "Ištrinti laiškus, tenkinančius: " + +-#: index.c:1736 ++#: index.c:1742 + msgid "No limit pattern is in effect" + msgstr "Joks ribojimo pattern'as nėra naudojamas" + + #. L10N: ask for a limit to apply +-#: index.c:1741 ++#: index.c:1747 + #, c-format + msgid "Limit: %s" + msgstr "Riba: %s" + +-#: index.c:1778 ++#: index.c:1784 + msgid "Limit to messages matching: " + msgstr "Riboti iki laiškų, tenkinančių: " + +-#: index.c:1809 ++#: index.c:1815 + msgid "To view all messages, limit to \"all\"" + msgstr "Norėdami matyti visus laiškus apribokite iki \"all\"" + +-#: index.c:1821 pager.c:2514 ++#: index.c:1827 pager.c:2487 + msgid "Quit NeoMutt?" + msgstr "Išeiti iš NeoMutt?" + +-#: index.c:1924 ++#: index.c:1931 + msgid "Tag messages matching: " + msgstr "Pažymėti laiškus, tenkinančius: " + +@@ -2530,195 +2770,195 @@ msgstr "Pažymėti laiškus, tenkinančius: " + #. L10N: Due to the implementation details we do not know whether we + #. undelete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:1935 index.c:3807 pager.c:3418 ++#: index.c:1942 index.c:3833 pager.c:3396 + msgid "Can't undelete messages" + msgstr "Negaliu atstatyti ištrintų laiškų" + +-#: index.c:1939 ++#: index.c:1946 + msgid "Undelete messages matching: " + msgstr "Sugrąžinti laiškus, tenkinančius: " + +-#: index.c:1948 ++#: index.c:1955 + msgid "Untag messages matching: " + msgstr "Atžymėti laiškus, tenkinančius: " + +-#: index.c:1989 ++#: index.c:1996 + msgid "Logged out of IMAP servers" + msgstr "Atsijungiau nuo IMAP serverių" + +-#: index.c:2105 ++#: index.c:2113 + msgid "No virtual folder and no Message-Id, aborting" + msgstr "Nėra virtualaus aplanko nei Message-Id, nutraukiu" + +-#: index.c:2117 index.c:2288 index.c:2310 index.c:2331 ++#: index.c:2125 index.c:2313 index.c:2335 index.c:2356 + msgid "Failed to create query, aborting" + msgstr "Nepavyko sukurti užklausos, atšaukiu" + +-#: index.c:2130 ++#: index.c:2138 + msgid "failed to find message in notmuch database. try running 'notmuch new'." + msgstr "Neradau laiško notmuch duomenų bazėje. Pabandykite vykdyti 'notmuch new'." + +-#: index.c:2139 ++#: index.c:2147 + msgid "Failed to read thread, aborting" + msgstr "Nepavyko perskaityti gijos, nutraukiu" + +-#: index.c:2171 mx.c:1252 mx.c:1272 ++#: index.c:2179 mx.c:1271 mx.c:1291 + msgid "Folder doesn't support tagging, aborting" + msgstr "Katalogas nepalaiko etikečių, nutraukiu" + +-#: index.c:2188 ++#: index.c:2196 + msgid "No tag specified, aborting" + msgstr "Nėra etiketės, nutraukiu" + +-#: index.c:2198 ++#: index.c:2206 + msgid "Update tags..." + msgstr "Atnaujinu etiketes..." + +-#: index.c:2238 ++#: index.c:2246 + msgid "Failed to modify tags, aborting" + msgstr "Nepavyko atnaujinti etikečių, nutraukiu" + +-#: index.c:2284 ++#: index.c:2293 + msgid "No query, aborting" + msgstr "Nėra užklausos, nutraukiu" + +-#: index.c:2299 index.c:2320 ++#: index.c:2324 index.c:2345 + msgid "Windowed queries disabled" + msgstr "Langų užklausos išjungtos" + +-#: index.c:2304 index.c:2325 ++#: index.c:2329 index.c:2350 + msgid "No notmuch vfolder currently loaded" + msgstr "Joks notmuch virtualaus aplanko šiuo metu nėra užkrautas" + +-#: index.c:2374 ++#: index.c:2399 + msgid "Open mailbox in read-only mode" + msgstr "Atidaryti dėžutę tik skaitymo režimu" + +-#: index.c:2376 ++#: index.c:2401 + msgid "Open mailbox" + msgstr "Atidaryti dėžutę" + +-#: index.c:2386 ++#: index.c:2411 + msgid "No mailboxes have new mail" + msgstr "Nėra dėžučių su nauju paštu" + +-#: index.c:2419 ++#: index.c:2444 + msgid "Open newsgroup in read-only mode" + msgstr "Atidaryti naujienų grupę tik skaitymo režimu" + +-#: index.c:2421 ++#: index.c:2446 + msgid "Open newsgroup" + msgstr "Atidaryti naujienų grupę" + +-#: index.c:2538 ++#: index.c:2564 + msgid "Exit NeoMutt without saving?" + msgstr "Išeiti iš NeoMutt neišsaugojus pakeitimų?" + + #. L10N: CHECK_ACL +-#: index.c:2554 ++#: index.c:2580 + msgid "Can't break thread" + msgstr "Negaliu perskelti gijos" + +-#: index.c:2574 ++#: index.c:2600 + msgid "Thread broken" + msgstr "Gija perskelta" + +-#: index.c:2587 ++#: index.c:2613 + msgid "Thread can't be broken, message is not part of a thread" + msgstr "Gija negali būti perskelta: laiškas nėra gijoje" + + #. L10N: CHECK_ACL +-#: index.c:2597 ++#: index.c:2623 + msgid "Can't link threads" + msgstr "Negaliu sujungti gijų" + +-#: index.c:2606 ++#: index.c:2632 + msgid "No Message-ID: header available to link thread" + msgstr "Nėra Message-ID: antraštės, pagal kurią būtų galima sujungti gijas" + +-#: index.c:2608 ++#: index.c:2634 + msgid "First, please tag a message to be linked here" + msgstr "Pirmiausia pažymėk laišką, kurį reikia prijungti čia" + +-#: index.c:2621 ++#: index.c:2647 + msgid "Threads linked" + msgstr "Gijos sujungtos" + +-#: index.c:2624 ++#: index.c:2650 + msgid "No thread linked" + msgstr "Gijos nesujungtos" + +-#: index.c:2665 index.c:2690 ++#: index.c:2691 index.c:2716 + msgid "You are on the last message" + msgstr "Tu esi ties paskutiniu laišku" + +-#: index.c:2673 index.c:2716 ++#: index.c:2699 index.c:2742 + msgid "No undeleted messages" + msgstr "Nėra ištrintų laiškų" + +-#: index.c:2708 index.c:2733 ++#: index.c:2734 index.c:2759 + msgid "You are on the first message" + msgstr "Tu esi ties pirmu laišku" + +-#: index.c:2874 ++#: index.c:2900 + msgid "No new messages in this limited view" + msgstr "Nėra naujų laiškų ribotame vaizde" + +-#: index.c:2876 ++#: index.c:2902 + msgid "No new messages" + msgstr "Nėra naujų laiškų" + +-#: index.c:2881 ++#: index.c:2907 + msgid "No unread messages in this limited view" + msgstr "Nėra neskaitytų laiškų ribotame vaizde" + +-#: index.c:2883 ++#: index.c:2909 + msgid "No unread messages" + msgstr "Nėra neskaitytų laiškų" + +-#: index.c:2893 menu.c:1208 pager.c:2644 pattern.c:2652 ++#: index.c:2919 menu.c:1208 pager.c:2618 pattern.c:2776 + msgid "Search wrapped to top" + msgstr "Paieška peršoko į viršų" + +-#: index.c:2898 pager.c:2669 pattern.c:2663 ++#: index.c:2924 pager.c:2643 pattern.c:2787 + msgid "Search wrapped to bottom" + msgstr "Paieška peršoko į apačią" + + #. L10N: CHECK_ACL +-#: index.c:2915 ++#: index.c:2941 + msgid "Can't flag message" + msgstr "Negaliu pakeisti pakeisti laiško vėliavėlių" + + #. L10N: CHECK_ACL +-#: index.c:2961 pager.c:3377 ++#: index.c:2987 pager.c:3355 + msgid "Can't toggle new" + msgstr "Negaliu pakeisti naujumo" + +-#: index.c:3057 ++#: index.c:3083 + msgid "No more threads" + msgstr "Daugiau gijų nėra" + +-#: index.c:3059 ++#: index.c:3085 + msgid "You are on the first thread" + msgstr "Tu esi ties pirma gija" + +-#: index.c:3156 ++#: index.c:3182 + msgid "Thread contains unread or flagged messages" + msgstr "Gijoje yra neskaitytų ar vėliavėle pažymėtų laiškų" + + #. L10N: CHECK_ACL +-#: index.c:3215 pager.c:3019 ++#: index.c:3241 pager.c:2994 + msgid "Can't delete message" + msgstr "Negaliu ištrinti laiško" + + #. L10N: CHECK_ACL +-#: index.c:3339 ++#: index.c:3365 + msgid "Can't edit message" + msgstr "Negaliu redaguoti laiško" + + #. L10N: This is displayed when the x-label on one or more + #. messages is edited. +-#: index.c:3432 pager.c:3495 ++#: index.c:3458 pager.c:3473 + #, c-format + msgid "%d label changed" + msgid_plural "%d labels changed" +@@ -2729,7 +2969,7 @@ msgstr[2] "%d etikečių pakeista" + #. L10N: This is displayed when editing an x-label, but no messages + #. were updated. Possibly due to canceling at the prompt or if the new + #. label is the same as the old label. +-#: index.c:3440 pager.c:3499 ++#: index.c:3466 pager.c:3477 + msgid "No labels changed" + msgstr "Etiketės nepakeistos" + +@@ -2737,276 +2977,140 @@ msgstr "Etiketės nepakeistos" + #. L10N: Due to the implementation details we do not know whether we + #. mark zero, 1, 12, ... messages as read. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:3571 ++#: index.c:3597 + msgid "Can't mark messages as read" + msgstr "Negaliu pažymėti laiškų kaip skaitytų" + + #. L10N: This is the prompt for . Whatever they + #. enter will be prefixed by $mark_macro_prefix and will become + #. a macro hotkey to jump to the currently selected message. +-#: index.c:3612 ++#: index.c:3638 + msgid "Enter macro stroke: " + msgstr "Įvesk makrokomandą: " + + #. L10N: "message hotkey" is the key bindings menu description of a + #. macro created by . +-#: index.c:3620 ++#: index.c:3646 + msgid "message hotkey" + msgstr "šokti į pažymėtą laišką" + + #. L10N: This is echoed after creates a new hotkey + #. macro. %s is the hotkey string ($mark_macro_prefix followed + #. by whatever they typed at the prompt.) +-#: index.c:3625 ++#: index.c:3651 + #, c-format + msgid "Message bound to %s" + msgstr "Laiško makrokomanda %s sukurta" + + #. L10N: This error is printed if can't find a + #. Message-ID for the currently selected message in the index. +-#: index.c:3634 ++#: index.c:3660 + msgid "No message ID to macro" + msgstr "Laiškas neturi ID" + +-#: index.c:3688 pager.c:3221 recvattach.c:1646 ++#: index.c:3714 pager.c:3196 recvattach.c:1678 + msgid "Reply by mail as poster prefers?" + msgstr "Atsakyti paštu, kaip pageidauja autorius?" + +-#: index.c:3691 pager.c:3182 pager.c:3194 pager.c:3224 ++#: index.c:3717 pager.c:3157 pager.c:3169 pager.c:3199 + msgid "Posting to this group not allowed, may be moderated. Continue?" + msgstr "Siuntimas į šią grupę neleidžiamas, gali būti moderuotas. Tęsti?" + + #. L10N: CHECK_ACL +-#: index.c:3768 pager.c:3397 ++#: index.c:3794 pager.c:3375 + msgid "Can't undelete message" + msgstr "Negaliu atstatyti ištrinto laiško" + +-#: init.c:313 ++#: init.c:223 + #, c-format + msgid "Error in command line: %s" + msgstr "Klaida komandinėje eilutėje: %s" + +-#: init.c:315 ++#: init.c:225 + #, c-format + msgid "Warning in command line: %s" + msgstr "Įspėjimas komandinėje eilutėje: %s" + +-#: init.c:426 ++#: init.c:336 + msgid "unable to determine nodename via uname()" + msgstr "negaliu nustatyti kompiuterio vardo per uname()" + +-#: init.c:580 +-msgid "-group: no group name" +-msgstr "-group: trūksta grupės vardo" +- +-#: init.c:590 +-msgid "out of arguments" +-msgstr "per mažai argumentų" +- +-#: init.c:804 init.c:1752 +-#, c-format +-msgid "Error: Can't build path of '%s'" +-msgstr "Klaida: neįmanoma sukurti kelio iš '%s'" +- +-#: init.c:817 +-#, c-format +-msgid "Error: Cyclic sourcing of configuration file '%s'" +-msgstr "Klaida: ciklinis konfigūracijos failo '%s' įtraukimas" +- +-#: init.c:850 +-#, c-format +-msgid "Error in %s, line %d: %s" +-msgstr "Klaida %s, eilutė %d: %s" +- +-#: init.c:861 +-#, c-format +-msgid "Warning in %s, line %d: %s" +-msgstr "Įspėjimas %s, eilutė %d: %s" +- +-#: init.c:885 +-#, c-format +-msgid "source: errors in %s" +-msgstr "source: klaidos %s" +- +-#: init.c:885 +-#, c-format +-msgid "source: reading aborted due to too many errors in %s" +-msgstr "source: skaitymas nutrauktas, nes %s yra per daug klaidų" +- +-#: init.c:894 +-#, c-format +-msgid "source: %d warning in %s" +-msgid_plural "source: %d warnings in %s" +-msgstr[0] "source: %d įspėjimas %s" +-msgstr[1] "source: %d įspėjimai %s" +-msgstr[2] "source: %d įspėjimų %s" +- +-#: init.c:923 +-msgid "alias: no address" +-msgstr "alias: nėra adreso" +- +-#: init.c:965 +-#, c-format +-msgid "Warning: Bad IDN '%s' in alias '%s'" +-msgstr "Įspėjimas: blogas IDN '%s' aliase '%s'" +- +-#: init.c:1043 +-msgid "attachments: no disposition" +-msgstr "attachments: trūksta dispozicijos" +- +-#: init.c:1054 +-msgid "Current attachments settings:" +-msgstr "Dabartiniai priedų nustatymai:" +- +-#: init.c:1084 +-msgid "attachments: invalid disposition" +-msgstr "attachments: neteisinga dispozicija" +- +-#: init.c:1160 +-#, c-format +-msgid "%sgroup: missing -rx or -addr" +-msgstr "%sgroup: trūksta -rx arba -addr" +- +-#: init.c:1186 +-#, c-format +-msgid "%sgroup: warning: bad IDN '%s'" +-msgstr "%sgroup: įspėjimas: blogas IDN '%s'" +- +-#: init.c:1278 +-#, c-format +-msgid "Error: %s" +-msgstr "Klaida: %s" +- +-#: init.c:1445 +-msgid "invalid header field" +-msgstr "blogas antraštės laukas" +- +-#: init.c:1711 init.c:1815 +-#, c-format +-msgid "%s: unknown variable" +-msgstr "%s: nežinomas kintamasis" +- +-#: init.c:1908 +-#, c-format +-msgid "%s is unset" +-msgstr "%s yra išjungtas" +- +-#: init.c:1953 mutt_lua.c:478 +-#, c-format +-msgid "source: error at %s" +-msgstr "source: klaida %s" +- +-#: init.c:1961 +-#, c-format +-msgid "source: file %s could not be sourced" +-msgstr "source: byla %s negalėjo būti įtraukta" +- +-#: init.c:1984 +-msgid "spam: no matching pattern" +-msgstr "spam: trūksta šablono" +- +-#: init.c:1986 +-msgid "nospam: no matching pattern" +-msgstr "nospam: trūksta šablono" +- +-#: init.c:2146 +-#, c-format +-msgid "Could not subscribe to %s" +-msgstr "Nepavyko užsakyti %s" +- +-#: init.c:2154 init.c:2632 +-msgid "No folder specified" +-msgstr "Nenurodytas aplankas." +- +-#: init.c:2341 +-msgid "unattachments: no disposition" +-msgstr "unattachments: trūksta dispozicijos" +- +-#: init.c:2379 +-msgid "unattachments: invalid disposition" +-msgstr "unattachments: neteisinga dispozicija" +- +-#: init.c:2624 +-#, c-format +-msgid "Could not unsubscribe from %s" +-msgstr "Nepavyko atsisakyti %s" +- +-#: init.c:3292 ++#: init.c:1042 + #, c-format + msgid "%s: unknown command" + msgstr "%s: nežinoma komanda" + +-#: init.c:3837 ++#: init.c:1588 + msgid "'charset' must contain exactly one character set name" + msgstr "'charset' turi nurodyti vieną koduotės pavadinimą" + +-#: init.c:3853 init.c:3877 init.c:3912 ++#: init.c:1604 init.c:1628 init.c:1663 + #, c-format + msgid "Invalid value for option %s: %s" + msgstr "Bloga parametro %s reikšmė: %s" + +-#: init.c:3890 ++#: init.c:1641 + #, c-format + msgid "Option %s may not be set or reset from the pager" + msgstr "Negalima įjungti/išjungti parametro %s skaitant laišką" + +-#: init.c:3928 ++#: init.c:1679 + #, c-format + msgid "Option %s may not be set when in attach-message mode" + msgstr "Negalima įjungti parametro %s laiško prisegimo režime" + + #. L10N: This applies to the "$wrap_headers" config variable +-#: init.c:3943 ++#: init.c:1694 + #, c-format + msgid "Option %s must between 78 and 998 inclusive" + msgstr "Parinktis %s turi būti tarp 78 ir 998 imtinai" + +-#: keymap.c:373 keymap.c:381 ++#: keymap.c:371 keymap.c:379 + #, c-format + msgid "Binding '%s' will alias '%s' Before, try: 'bind %s %s noop' https://neomutt.org/guide/configuration.html#bind-warnings" + msgstr "Klavišo '%s' susiejimas paslėps '%s' Prieš tai darykite 'bind %s %s noop' https://neomutt.org/guide/configuration.html#bind-warnings" + +-#: keymap.c:757 ++#: keymap.c:755 + msgid "Macro loop detected" + msgstr "Rastas ciklas makrokomandoje" + +-#: keymap.c:1064 keymap.c:1099 ++#: keymap.c:1062 keymap.c:1097 + msgid "Key is not bound" + msgstr "Klavišas nėra susietas" + +-#: keymap.c:1104 ++#: keymap.c:1102 + #, c-format + msgid "Key is not bound. Press '%s' for help." + msgstr "Klavišas nėra susietas. Spausk '%s' dėl pagalbos." + +-#: keymap.c:1177 ++#: keymap.c:1175 + #, c-format + msgid "%s: null key sequence" + msgstr "%s: nulinė klavišų seka" + +-#: keymap.c:1212 ++#: keymap.c:1210 + #, c-format + msgid "Function '%s' not available for menu '%s'" + msgstr "Funkcija '%s' neprieinama iš '%s' meniu" + +-#: keymap.c:1495 ++#: keymap.c:1493 + msgid "macro: empty key sequence" + msgstr "macro: tuščia klavišų seka" + +-#: keymap.c:1543 ++#: keymap.c:1541 + msgid "exec: no arguments" + msgstr "exec: nėra argumentų" + +-#: keymap.c:1563 ++#: keymap.c:1561 + #, c-format + msgid "%s: no such function" + msgstr "%s: nėra tokios funkcijos" + +-#: keymap.c:1584 ++#: keymap.c:1582 + msgid "Enter keys (^G to abort): " + msgstr "Paspausk klavišus (^G nutraukia): " + +-#: keymap.c:1590 ++#: keymap.c:1588 + #, c-format + msgid "Char = %s, Octal = %o, Decimal = %d" + msgstr "Simbolis = %s, aštuonetaine sistema = %o, dešimtaine = %d" +@@ -3030,7 +3134,7 @@ msgstr "mailcap įrašas tipui %s nerastas" + msgid "Scanning %s..." + msgstr "Skaitau %s..." + +-#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:353 ++#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:351 + #, c-format + msgid "Reading %s..." + msgstr "Skaitau %s..." +@@ -3044,13 +3148,13 @@ msgid "md_commit_message(): unable to set time on file" + msgstr "md_commit_message(): nepavyko nustatyti bylos laiko" + + #. L10N: Displayed before/as a mailbox is being synced +-#: maildir/shared.c:1723 mbox/mbox.c:1276 mx.c:461 notmuch/mutt_notmuch.c:2364 ++#: maildir/shared.c:1734 mbox/mbox.c:1276 mx.c:459 notmuch/mutt_notmuch.c:2364 + #, c-format + msgid "Writing %s..." + msgstr "Rašau %s..." + + #. L10N: Try to limit to 80 columns +-#: main.c:227 ++#: main.c:160 + msgid "" + "usage:\n" + " neomutt [-Enx] [-e ] [-F ] [-H ] [-i ]\n" +@@ -3091,7 +3195,7 @@ msgstr "" + " neomutt -v[v]\n" + + #. L10N: Try to limit to 80 columns. If more space is needed add an indented line +-#: main.c:247 ++#: main.c:180 + msgid "" + "options:\n" + " -- Special argument forces NeoMutt to stop option parsing and treat\n" +@@ -3175,54 +3279,54 @@ msgstr "" + " -z Atidaryti pirmą arba nurodytą (-f) pašto dėžutę jei joje yra\n" + " laiškų arba iškart išeiti su klaidos kodu 1" + +-#: main.c:312 ++#: main.c:245 + msgid "Error initializing terminal" + msgstr "Klaida inicializuojant terminalą" + +-#: main.c:390 ++#: main.c:323 + msgid "unable to determine username" + msgstr "negaliu nustatyti vartotojo vardo" + +-#: main.c:396 ++#: main.c:329 + msgid "unable to determine home directory" + msgstr "negaliu nustatyti namų katalogo" + +-#: main.c:640 ++#: main.c:572 + #, c-format + msgid "Error: value '%s' is invalid for -d" + msgstr "Klaida: -d reikšmė '%s' yra netinkama" + +-#: main.c:884 ++#: main.c:815 + msgid "Failed to parse mailto: link" + msgstr "Nepavyko išanalizuoti mailto: nuorodos" + +-#: main.c:896 send.c:2452 send.c:2456 ++#: main.c:827 send.c:2463 send.c:2467 + msgid "No recipients specified" + msgstr "Nenurodyti jokie gavėjai" + +-#: main.c:923 ++#: main.c:854 + msgid "Can't use -E flag with stdin" + msgstr "Negalima naudoti -E rakto su standartine įvestimi" + +-#: main.c:1007 ++#: main.c:938 + #, c-format + msgid "Can't parse message template: %s" + msgstr "Nepavyko išanalizuoti laiško šablono: %s" + +-#: main.c:1073 mutt_header.c:329 ++#: main.c:1004 mutt_header.c:329 + #, c-format + msgid "%s: unable to attach file" + msgstr "%s: negalėjau prisegti bylos" + +-#: main.c:1156 ++#: main.c:1087 + msgid "No mailbox with new mail" + msgstr "Nėra dėžutės su nauju paštu" + +-#: main.c:1180 ++#: main.c:1111 + msgid "No incoming mailboxes defined" + msgstr "Neapibrėžta nė viena paštą gaunanti dėžutė" + +-#: main.c:1230 ++#: main.c:1161 + msgid "Mailbox is empty" + msgstr "Dėžutė yra tuščia" + +@@ -3264,52 +3368,52 @@ msgstr "Negaliu vėl atidaryti dėžutės" + msgid "Can't write message" + msgstr "Negaliu įrašyti laiško" + +-#: menu.c:632 ++#: menu.c:631 + msgid "Jump to: " + msgstr "Šokti į: " + +-#: menu.c:641 ++#: menu.c:640 + msgid "Invalid index number" + msgstr "Blogas indekso numeris" + +-#: menu.c:645 menu.c:671 menu.c:744 menu.c:810 menu.c:828 menu.c:843 menu.c:858 +-#: menu.c:873 menu.c:890 menu.c:907 menu.c:1553 ++#: menu.c:644 menu.c:670 menu.c:743 menu.c:809 menu.c:827 menu.c:842 menu.c:857 ++#: menu.c:872 menu.c:889 menu.c:906 menu.c:1553 + msgid "No entries" + msgstr "Nėra įrašų" + +-#: menu.c:668 ++#: menu.c:667 + msgid "You can't scroll down farther" + msgstr "Tu negali slinkti žemyn daugiau" + +-#: menu.c:690 ++#: menu.c:689 + msgid "You can't scroll up farther" + msgstr "Tu negali slinkti aukštyn daugiau" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the first page" + msgstr "Tu esi pirmame puslapyje" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the last page" + msgstr "Tu esi paskutiniame puslapyje" + +-#: menu.c:922 ++#: menu.c:921 + msgid "You are on the last entry" + msgstr "Tu esi ties paskutiniu įrašu" + +-#: menu.c:937 ++#: menu.c:936 + msgid "You are on the first entry" + msgstr "Tu esi ties pirmu įrašu" + +-#: menu.c:1172 pager.c:2692 pattern.c:2578 ++#: menu.c:1172 pager.c:2666 pattern.c:2702 + msgid "Search for: " + msgstr "Ieškoti ko: " + +-#: menu.c:1173 pager.c:2693 pattern.c:2579 ++#: menu.c:1173 pager.c:2667 pattern.c:2703 + msgid "Reverse search for: " + msgstr "Atgal ieškoti ko: " + +-#: menu.c:1226 pager.c:2641 pager.c:2666 pager.c:2800 pattern.c:2708 ++#: menu.c:1226 pager.c:2615 pager.c:2640 pager.c:2774 pattern.c:2832 + msgid "Not found" + msgstr "Nerasta" + +@@ -3352,20 +3456,20 @@ msgstr "Laukiu fcntl užrakto... %d" + msgid "Bad history file format (line %d)" + msgstr "Blogas istorijos bylos formatas (eilutė %d)" + +-#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1006 ncrypt/crypt_gpgme.c:2381 +-#: ncrypt/crypt_gpgme.c:2401 ncrypt/crypt_gpgme.c:2460 +-#: ncrypt/crypt_gpgme.c:2477 ncrypt/crypt_gpgme.c:2509 +-#: ncrypt/crypt_gpgme.c:2527 ncrypt/crypt_gpgme.c:2611 +-#: ncrypt/crypt_gpgme.c:3194 ncrypt/crypt_gpgme.c:3292 +-#: ncrypt/crypt_gpgme.c:4373 ncrypt/pgp.c:576 ncrypt/pgp.c:583 ncrypt/pgp.c:896 +-#: ncrypt/pgp.c:1014 ncrypt/pgp.c:1161 ncrypt/pgp.c:1181 ncrypt/pgp.c:1215 +-#: ncrypt/pgp.c:1568 ncrypt/pgpkey.c:708 ncrypt/pgpkey.c:902 +-#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1092 ncrypt/smime.c:1100 +-#: ncrypt/smime.c:1191 ncrypt/smime.c:1299 ncrypt/smime.c:1364 +-#: ncrypt/smime.c:1372 ncrypt/smime.c:1571 ncrypt/smime.c:1967 +-#: ncrypt/smime.c:2046 ncrypt/smime.c:2053 ncrypt/smime.c:2156 +-#: ncrypt/smime.c:2281 ncrypt/smime.c:2297 nntp/nntp.c:1397 nntp/nntp.c:2237 +-#: pattern.c:1132 pop/pop.c:182 ++#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1005 ncrypt/crypt_gpgme.c:2420 ++#: ncrypt/crypt_gpgme.c:2440 ncrypt/crypt_gpgme.c:2499 ++#: ncrypt/crypt_gpgme.c:2516 ncrypt/crypt_gpgme.c:2548 ++#: ncrypt/crypt_gpgme.c:2566 ncrypt/crypt_gpgme.c:2650 ++#: ncrypt/crypt_gpgme.c:3237 ncrypt/crypt_gpgme.c:3335 ++#: ncrypt/crypt_gpgme.c:4421 ncrypt/pgp.c:575 ncrypt/pgp.c:582 ncrypt/pgp.c:895 ++#: ncrypt/pgp.c:1013 ncrypt/pgp.c:1160 ncrypt/pgp.c:1180 ncrypt/pgp.c:1214 ++#: ncrypt/pgp.c:1570 ncrypt/pgpkey.c:741 ncrypt/pgpkey.c:937 ++#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1126 ncrypt/smime.c:1134 ++#: ncrypt/smime.c:1225 ncrypt/smime.c:1333 ncrypt/smime.c:1398 ++#: ncrypt/smime.c:1406 ncrypt/smime.c:1605 ncrypt/smime.c:2001 ++#: ncrypt/smime.c:2080 ncrypt/smime.c:2087 ncrypt/smime.c:2190 ++#: ncrypt/smime.c:2315 ncrypt/smime.c:2331 nntp/nntp.c:1399 nntp/nntp.c:2239 ++#: pattern.c:1171 pop/pop.c:182 + msgid "Can't create temporary file" + msgstr "Negaliu sukurti laikinos bylos" + +@@ -3384,7 +3488,7 @@ msgstr "Derinimo lygis %d į bylą '%s'" + msgid "Logging at level %d to file '%s'" + msgstr "Žurnalo lygis %d į bylą '%s'" + +-#: mutt/path.c:401 ++#: mutt/path.c:420 + msgid "Error: converting path to absolute" + msgstr "Klaida: absoliutinant kelią" + +@@ -3407,17 +3511,17 @@ msgstr "Sugavau signalą %d (%s) ... Išeinu.\n" + msgid "Caught signal %d ... Exiting.\n" + msgstr "Sugavau signalą %d ... Išeinu.\n" + +-#: muttlib.c:490 ++#: muttlib.c:488 + #, c-format + msgid "mutt_randbuf buflen=%zu" + msgstr "mutt_randbuf buflen=%zu" + +-#: muttlib.c:510 ++#: muttlib.c:508 + #, c-format + msgid "open /dev/urandom: %s" + msgstr "/dev/urandom atidarymas: %s" + +-#: muttlib.c:517 ++#: muttlib.c:515 + #, c-format + msgid "read /dev/urandom: %s" + msgstr "/dev/urandom skaitymas: %s" +@@ -3425,146 +3529,119 @@ msgstr "/dev/urandom skaitymas: %s" + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) + #. These three letters correspond to the choices in the string. +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "File is a directory, save under it: (y)es, (n)o, (a)ll?" + msgstr "Byla yra katalogas, saugoti joje? (t)aip, (n)e, (v)isiems" + +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "yna" + msgstr "tnv" + + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) +-#: muttlib.c:763 ++#: muttlib.c:761 + msgid "File is a directory, save under it?" + msgstr "Byla yra katalogas, saugoti joje?" + +-#: muttlib.c:768 ++#: muttlib.c:766 + msgid "File under directory: " + msgstr "Byla kataloge: " + +-#: muttlib.c:781 ++#: muttlib.c:779 + msgid "File exists, (o)verwrite, (a)ppend, or (c)ancel?" + msgstr "Byla egzistuoja, (u)žrašyti, (p)ridurti, arba (n)utraukti?" + + #. L10N: Options for: File exists, (o)verwrite, (a)ppend, or (c)ancel? +-#: muttlib.c:783 ++#: muttlib.c:781 + msgid "oac" + msgstr "upn" + +-#: muttlib.c:1458 ++#: muttlib.c:1456 + msgid "Can't save message to POP mailbox" + msgstr "Negaliu išsaugoti laiško į POP dėžutę" + +-#: muttlib.c:1468 ++#: muttlib.c:1466 + #, c-format + msgid "Append messages to %s?" + msgstr "Pridurti laiškus prie %s?" + +-#: muttlib.c:1481 ++#: muttlib.c:1479 + msgid "Can't save message to news server" + msgstr "Negaliu išsaugoti laiško naujienų serveryje" + +-#. L10N: Example: Username at myhost.com +-#: mutt_account.c:233 +-#, c-format +-msgid "Username at %s: " +-msgstr "%s vartotojo vardas: " +- +-#: mutt_account.c:315 +-#, c-format +-msgid "Password for %s@%s: " +-msgstr "%s@%s slaptažodis: " +- +-#. L10N: You will see this error message if (1) you have "oauthbearer" in +-#. one of your $*_authenticators and (2) you do not have the corresponding +-#. $*_oauth_refresh_command defined. So the message does not mean "None of +-#. your $*_oauth_refresh_command's are defined." +-#: mutt_account.c:383 +-msgid "No OAUTH refresh command defined" +-msgstr "OAUTH atnaujinimo komanda nebuvo apibrėžta" +- +-#: mutt_account.c:390 +-msgid "Unable to run refresh command" +-msgstr "Nepavyko įvykdyti atnaujinimo komandos" +- +-#: mutt_account.c:400 +-msgid "Command returned empty string" +-msgstr "Komanda grąžino tuščią rezultatą" +- +-#: mutt_attach.c:140 mutt_attach.c:274 mutt_attach.c:459 mutt_attach.c:1054 ++#: mutt_attach.c:142 mutt_attach.c:276 mutt_attach.c:488 mutt_attach.c:1087 + msgid "Can't match 'nametemplate', continue?" + msgstr "Negaliu rasti tinkančio vardo, tęsti?" + +-#: mutt_attach.c:150 ++#: mutt_attach.c:152 + #, c-format + msgid "Mailcap compose entry requires %%s" + msgstr "Mailcap kūrimo įrašui reikia %%s" + +-#: mutt_attach.c:168 ++#: mutt_attach.c:170 + msgid "Failure to open file to parse headers" + msgstr "Nepavyko atidaryti bylos antraštėms nuskaityti" + +-#: mutt_attach.c:202 ++#: mutt_attach.c:204 + msgid "Failure to open file to strip headers" + msgstr "Nepavyko atidaryti bylos antraštėms išmesti" + +-#: mutt_attach.c:212 ++#: mutt_attach.c:214 + msgid "Failure to rename file" + msgstr "Nepavyko pervadinti bylos" + +-#: mutt_attach.c:222 ++#: mutt_attach.c:224 + #, c-format + msgid "No mailcap compose entry for %s, creating empty file" + msgstr "Nėra mailcap kūrimo įrašo %s, sukuriu tuščią bylą" + +-#: mutt_attach.c:284 ++#: mutt_attach.c:286 + #, c-format + msgid "Mailcap Edit entry requires %%s" + msgstr "Mailcap Taisymo įrašui reikia %%s" + +-#: mutt_attach.c:305 ++#: mutt_attach.c:307 + #, c-format + msgid "No mailcap edit entry for %s" + msgstr "Nėra mailcap taisymo įrašo tipui %s" + +-#: mutt_attach.c:427 ++#: mutt_attach.c:456 + msgid "No matching mailcap entry found. Viewing as text." + msgstr "Neradau tinkamo mailcap įrašo. Rodau kaip tekstą." + +-#: mutt_attach.c:440 ++#: mutt_attach.c:469 + msgid "MIME type not defined. Can't view attachment." + msgstr "MIME tipas neapibrėžtas. Negaliu parodyti priedo." + +-#: mutt_attach.c:535 ++#: mutt_attach.c:563 + #, c-format + msgid "---Command: %-20.20s Description: %s" + msgstr "---Komanda: %-20.20s Aprašymas: %s" + +-#: mutt_attach.c:540 ++#: mutt_attach.c:568 + #, c-format + msgid "---Command: %-30.30s Attachment: %s" + msgstr "---Komanda: %-30.30s Priedas: %s" + +-#: mutt_attach.c:619 ++#: mutt_attach.c:652 + #, c-format + msgid "---Attachment: %s: %s" + msgstr "-- Priedas: %s: %s" + +-#: mutt_attach.c:621 ++#: mutt_attach.c:654 + #, c-format + msgid "---Attachment: %s" + msgstr "-- Priedas: %s" + +-#: mutt_attach.c:902 mutt_attach.c:910 ++#: mutt_attach.c:935 mutt_attach.c:943 + msgid "Write fault" + msgstr "Rašymo nesėkmė" + +-#: mutt_attach.c:1174 ++#: mutt_attach.c:1207 + msgid "I don't know how to print that" + msgstr "Aš nežinau, kaip tai atspausdinti" + +-#: mutt_history.c:47 query.c:84 ++#: mutt_history.c:47 query.c:82 + msgid "Search" + msgstr "Ieškoti" + +@@ -3573,21 +3650,21 @@ msgstr "Ieškoti" + msgid "History '%s'" + msgstr "Istorija '%s''" + +-#: mutt_logging.c:315 ++#: mutt_logging.c:313 + #, c-format + msgid "Invalid value for option %s: %ld" + msgstr "Bloga parametro %s reikšmė: %ld" + +-#: mutt_lua.c:429 ++#: mutt_lua.c:431 + msgid "Error: Couldn't load the lua interpreter" + msgstr "Klaida: nepavyko įkelti lua interpretatoriaus" + +-#: mutt_lua.c:491 ++#: mutt_lua.c:493 + #, c-format + msgid "Couldn't source lua source: %s" + msgstr "Nepavyko įvykdyti lua bylos: %s" + +-#: mutt_mailbox.c:214 ++#: mutt_mailbox.c:241 + msgid "New mail in " + msgstr "Naujas paštas dėžutėje " + +@@ -3608,20 +3685,20 @@ msgstr "Šakninis laiškas nematomas šiame ribotame vaizde" + msgid "Parent message is not visible in this limited view" + msgstr "Tėvinis laiškas nematomas šiame ribotame vaizde" + +-#: mx.c:387 ++#: mx.c:385 + #, c-format + msgid "Reading from %s interrupted..." + msgstr "Skaitymas iš %s pertrauktas..." + + #. L10N: Displayed if a mailbox sync fails +-#: mx.c:468 ++#: mx.c:469 + #, c-format + msgid "Unable to write %s" + msgstr "Negaliu rašyti %s" + + #. L10N: Although we know the precise number of messages, we do not show it to the user. + #. So feel free to use a "generic plural" as plural translation if your language has one. +-#: mx.c:523 ++#: mx.c:525 + msgid "message not deleted" + msgid_plural "messages not deleted" + msgstr[0] "laiškas neištrintas" +@@ -3632,13 +3709,13 @@ msgstr[2] "laiškai neištrinti" + msgid "Can't open trash folder" + msgstr "Negaliu atidaryti šiukšlių aplanko" + +-#: mx.c:623 ++#: mx.c:627 + msgid "Mark all articles read?" + msgstr "Pažymėti visus straipsnius skaitytais?" + + #. L10N: The first argument is the number of read messages to be + #. moved, the second argument is the target mailbox. +-#: mx.c:671 ++#: mx.c:675 + #, c-format + msgid "Move %d read message to %s?" + msgid_plural "Move %d read messages to %s?" +@@ -3646,7 +3723,7 @@ msgstr[0] "Perkelti %d skaitytą laišką į %s?" + msgstr[1] "Perkelti %d skaitytus laiškus į %s?" + msgstr[2] "Perkelti %d skaitytų laiškų į %s?" + +-#: mx.c:685 mx.c:917 ++#: mx.c:689 mx.c:936 + #, c-format + msgid "Purge %d deleted message?" + msgid_plural "Purge %d deleted messages?" +@@ -3654,49 +3731,49 @@ msgstr[0] "Sunaikinti %d ištrintą laišką?" + msgstr[1] "Sunaikinti %d ištrintus laiškus?" + msgstr[2] "Sunaikinti %d ištrintų laiškų?" + +-#: mx.c:708 ++#: mx.c:712 + #, c-format + msgid "Moving read messages to %s..." + msgstr "Perkeliu skaitytus laiškus į %s..." + +-#: mx.c:774 mx.c:908 ++#: mx.c:783 mx.c:927 + msgid "Mailbox is unchanged" + msgstr "Dėžutė yra nepakeista" + +-#: mx.c:827 ++#: mx.c:842 + #, c-format + msgid "%d kept, %d moved, %d deleted" + msgstr "%d palikti, %d perkelti, %d ištrinti" + +-#: mx.c:831 mx.c:972 ++#: mx.c:846 mx.c:991 + #, c-format + msgid "%d kept, %d deleted" + msgstr "%d palikti, %d ištrinti" + +-#: mx.c:892 ++#: mx.c:911 + #, c-format + msgid " Press '%s' to toggle write" + msgstr " Spausk '%s', kad perjungtum rašymą" + +-#: mx.c:894 ++#: mx.c:913 + msgid "Use 'toggle-write' to re-enable write" + msgstr "Naudok 'toggle-write', kad vėl galėtum rašyti" + +-#: mx.c:896 ++#: mx.c:915 + #, c-format + msgid "Mailbox is marked unwritable. %s" + msgstr "Dėžutė yra padaryta neįrašoma. %s" + +-#: mx.c:966 ++#: mx.c:985 + msgid "Mailbox checkpointed" + msgstr "Dėžutė sutikrinta" + +-#: ncrypt/crypt.c:93 ++#: ncrypt/crypt.c:91 + #, c-format + msgid " (current time: %c)" + msgstr " (dabartinis laikas: %c)" + +-#: ncrypt/crypt.c:98 ++#: ncrypt/crypt.c:96 + #, c-format + msgid "[-- %s output follows%s --]\n" + msgstr "[-- Toliau %s išvestis%s --]\n" +@@ -3705,52 +3782,52 @@ msgstr "[-- Toliau %s išvestis%s --]\n" + #. by gpg-agent) we can't know whether we forgot zero, 1, 12, ... + #. passwords. So in English we use "Passphrases". Your language might + #. have other means to express this. +-#: ncrypt/crypt.c:119 ++#: ncrypt/crypt.c:117 + msgid "Passphrases forgotten" + msgstr "Slaptos frazės pamirštos" + +-#: ncrypt/crypt.c:203 ++#: ncrypt/crypt.c:201 + msgid "Inline PGP can't be used with attachments. Revert to PGP/MIME?" + msgstr "Inline PGP negalima naudoti jei laiškas turi priedų. Naudoti PGP/MIME?" + +-#: ncrypt/crypt.c:207 ++#: ncrypt/crypt.c:205 + msgid "Mail not sent: inline PGP can't be used with attachments" + msgstr "Laiškas neišsiųstas: inline PGP negalima naudoti, jei laiškas turi priedų" + +-#: ncrypt/crypt.c:214 ++#: ncrypt/crypt.c:212 + msgid "Inline PGP can't be used with format=flowed. Revert to PGP/MIME?" + msgstr "Inline PGP negalima naudoti su format=flowed. Naudoti PGP/MIME?" + +-#: ncrypt/crypt.c:218 ++#: ncrypt/crypt.c:216 + msgid "Mail not sent: inline PGP can't be used with format=flowed" + msgstr "Laiškas neišsiųstas: inline PGP negalima naudoti su format=flowed" + +-#: ncrypt/crypt.c:228 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:714 +-#: ncrypt/pgpkey.c:915 ++#: ncrypt/crypt.c:226 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:747 ++#: ncrypt/pgpkey.c:950 + msgid "Invoking PGP..." + msgstr "Kviečiu PGP..." + +-#: ncrypt/crypt.c:240 ++#: ncrypt/crypt.c:238 + msgid "Message can't be sent inline. Revert to using PGP/MIME?" + msgstr "Laiško nepavyko išsiųsti inline formatu. Naudoti PGP/MIME?" + +-#: ncrypt/crypt.c:242 send.c:2430 ++#: ncrypt/crypt.c:240 send.c:2441 + msgid "Mail not sent" + msgstr "Laiškas neišsiųstas" + +-#: ncrypt/crypt.c:662 ++#: ncrypt/crypt.c:666 + msgid "S/MIME messages with no hints on content are unsupported" + msgstr "S/MIME laiškai be turinio užuominų nepalaikomi" + +-#: ncrypt/crypt.c:888 ++#: ncrypt/crypt.c:892 + msgid "Trying to extract PGP keys...\n" + msgstr "Bandau išgauti PGP raktus...\n" + +-#: ncrypt/crypt.c:917 ++#: ncrypt/crypt.c:921 + msgid "Trying to extract S/MIME certificates..." + msgstr "Bandau išgauti S/MIME sertifikatus..." + +-#: ncrypt/crypt.c:1140 ++#: ncrypt/crypt.c:1144 + #, c-format + msgid "" + "[-- Error: Unknown multipart/signed protocol %s --]\n" +@@ -3759,7 +3836,7 @@ msgstr "" + "[-- Klaida: Nežinomas multipart/signed protokolas %s --]\n" + "\n" + +-#: ncrypt/crypt.c:1180 ++#: ncrypt/crypt.c:1184 + msgid "" + "[-- Error: Missing or bad-format multipart/signed signature --]\n" + "\n" +@@ -3767,7 +3844,7 @@ msgstr "" + "[-- Klaida: Trūksta multipart/signed parašo arba jis blogo formato --]\n" + "\n" + +-#: ncrypt/crypt.c:1222 ++#: ncrypt/crypt.c:1226 + #, c-format + msgid "" + "[-- Warning: We can't verify %s/%s signatures. --]\n" +@@ -3776,7 +3853,7 @@ msgstr "" + "[-- Dėmesio: Negaliu patikrinti %s/%s parašo. --]\n" + "\n" + +-#: ncrypt/crypt.c:1235 ++#: ncrypt/crypt.c:1239 + msgid "" + "[-- The following data is signed --]\n" + "\n" +@@ -3784,7 +3861,7 @@ msgstr "" + "[-- Toliau einantys duomenys yra pasirašyti --]\n" + "\n" + +-#: ncrypt/crypt.c:1243 ++#: ncrypt/crypt.c:1248 + msgid "" + "[-- Warning: Can't find any signatures. --]\n" + "\n" +@@ -3792,7 +3869,7 @@ msgstr "" + "[-- Dėmesio: Negaliu rasti jokių parašų --]\n" + "\n" + +-#: ncrypt/crypt.c:1249 ++#: ncrypt/crypt.c:1255 + msgid "" + "\n" + "[-- End of signed data --]\n" +@@ -3811,229 +3888,229 @@ msgstr "Kviečiu S/MIME..." + #. L10N: The following are the headers for the "verify key" output from the + #. GPGME key selection menu (bound to "c" in the key selection menu). + #. They will be automatically aligned. +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Name: " + msgstr "Vardas: " + +-#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1869 ncrypt/crypt_gpgme.c:1874 ++#: ncrypt/crypt_gpgme.c:183 ncrypt/crypt_gpgme.c:1900 ncrypt/crypt_gpgme.c:1905 + msgid "aka: " + msgstr "taip pat: " + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Valid From: " + msgstr "Galioja nuo: " + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Valid To: " + msgstr "Galioja iki: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Key Type: " + msgstr "Rakto tipas: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Key Usage: " + msgstr "Rakto naudojimas: " + +-#: ncrypt/crypt_gpgme.c:185 ncrypt/crypt_gpgme.c:1759 ++#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1790 + msgid "Fingerprint: " + msgstr "Pirštų atspaudas: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Serial-No: " + msgstr "Serijinis nr.: " + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + msgid "Issued By: " + msgstr "Išduotas: " + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + msgid "Subkey: " + msgstr "Poraktis: " + +-#: ncrypt/crypt_gpgme.c:783 ++#: ncrypt/crypt_gpgme.c:782 + #, c-format + msgid "error enabling CMS protocol: %s" + msgstr "klaida įjungiant CMS protokolą: %s" + +-#: ncrypt/crypt_gpgme.c:806 ++#: ncrypt/crypt_gpgme.c:805 + #, c-format + msgid "error creating gpgme data object: %s" + msgstr "klaida kuriant gpgme duomenų objektą: %s" + +-#: ncrypt/crypt_gpgme.c:907 ncrypt/crypt_gpgme.c:934 ncrypt/crypt_gpgme.c:2057 +-#: ncrypt/crypt_gpgme.c:2814 ++#: ncrypt/crypt_gpgme.c:906 ncrypt/crypt_gpgme.c:933 ncrypt/crypt_gpgme.c:2096 ++#: ncrypt/crypt_gpgme.c:2853 + #, c-format + msgid "error allocating data object: %s" + msgstr "klaida išskiriant atmintį duomenų objektui: %s" + +-#: ncrypt/crypt_gpgme.c:956 ++#: ncrypt/crypt_gpgme.c:955 + #, c-format + msgid "error rewinding data object: %s" + msgstr "klaida atsukant duomenų objektą: %s" + +-#: ncrypt/crypt_gpgme.c:972 ++#: ncrypt/crypt_gpgme.c:971 + msgid "[tempfile]" + msgstr "[tempfile]" + +-#: ncrypt/crypt_gpgme.c:978 ncrypt/crypt_gpgme.c:1032 ++#: ncrypt/crypt_gpgme.c:977 ncrypt/crypt_gpgme.c:1031 + #, c-format + msgid "error reading data object: %s" + msgstr "klaida skaitant duomenų objektą: %s" + +-#: ncrypt/crypt_gpgme.c:1149 ++#: ncrypt/crypt_gpgme.c:1148 + #, c-format + msgid "error adding recipient '%s': %s" + msgstr "klaida pridedant gavėją '%s': %s" + +-#: ncrypt/crypt_gpgme.c:1202 ++#: ncrypt/crypt_gpgme.c:1186 + #, c-format + msgid "secret key '%s' not found: %s" + msgstr "slaptas raktas '%s' nerastas: %s" + +-#: ncrypt/crypt_gpgme.c:1218 ++#: ncrypt/crypt_gpgme.c:1203 + #, c-format + msgid "ambiguous specification of secret key '%s'\n" + msgstr "nevienprasmė slapto rakto specifikacija '%s'\n" + +-#: ncrypt/crypt_gpgme.c:1234 ++#: ncrypt/crypt_gpgme.c:1219 + #, c-format + msgid "error setting secret key '%s': %s" + msgstr "klaida nustatant slaptą raktą '%s': %s" + +-#: ncrypt/crypt_gpgme.c:1250 ++#: ncrypt/crypt_gpgme.c:1278 + #, c-format + msgid "error setting PKA signature notation: %s" + msgstr "klaida nustatant PKA parašo notaciją: %s" + +-#: ncrypt/crypt_gpgme.c:1324 ++#: ncrypt/crypt_gpgme.c:1353 + #, c-format + msgid "error encrypting data: %s" + msgstr "klaida užšifruojant duomenis: %s" + +-#: ncrypt/crypt_gpgme.c:1453 ++#: ncrypt/crypt_gpgme.c:1483 + #, c-format + msgid "error signing data: %s" + msgstr "klaida pasirašant duomenis: %s" + +-#: ncrypt/crypt_gpgme.c:1463 ++#: ncrypt/crypt_gpgme.c:1493 + msgid "$pgp_sign_as unset and no default key specified in ~/.gnupg/gpg.conf" + msgstr "$pgp_sign_as nenustatytas ir ~/.gnupg/gpg.conf nenurodytas nutylėtas raktas" + +-#: ncrypt/crypt_gpgme.c:1641 ++#: ncrypt/crypt_gpgme.c:1672 + msgid "Warning: One of the keys has been revoked\n" + msgstr "Įspėjimas: vienas iš raktų buvo atšauktas\n" + +-#: ncrypt/crypt_gpgme.c:1651 ++#: ncrypt/crypt_gpgme.c:1682 + msgid "Warning: The key used to create the signature expired at: " + msgstr "Įspėjimas: pasirašymo rakto galiojimas baigėsi " + +-#: ncrypt/crypt_gpgme.c:1657 ++#: ncrypt/crypt_gpgme.c:1688 + msgid "Warning: At least one certification key has expired\n" + msgstr "Įspėjimas: baigėsi bent vieno sertifikavimo rakto galiojimas\n" + +-#: ncrypt/crypt_gpgme.c:1671 ++#: ncrypt/crypt_gpgme.c:1702 + msgid "Warning: The signature expired at: " + msgstr "Įspėjimas: parašo galiojimas baigėsi " + +-#: ncrypt/crypt_gpgme.c:1678 ++#: ncrypt/crypt_gpgme.c:1709 + msgid "Can't verify due to a missing key or certificate\n" + msgstr "Negaliu patikrinti nes trūksta rakto arba sertifikato\n" + +-#: ncrypt/crypt_gpgme.c:1683 ++#: ncrypt/crypt_gpgme.c:1714 + msgid "The CRL is not available\n" + msgstr "CRL nepasiekiamas\n" + +-#: ncrypt/crypt_gpgme.c:1689 ++#: ncrypt/crypt_gpgme.c:1720 + msgid "Available CRL is too old\n" + msgstr "Pasiekiamas CRL per senas\n" + +-#: ncrypt/crypt_gpgme.c:1694 ++#: ncrypt/crypt_gpgme.c:1725 + msgid "A policy requirement was not met\n" + msgstr "Vienas iš reikalavimų neįvykdytas\n" + +-#: ncrypt/crypt_gpgme.c:1703 ++#: ncrypt/crypt_gpgme.c:1734 + msgid "A system error occurred" + msgstr "Įvyko sistemos klaida" + +-#: ncrypt/crypt_gpgme.c:1734 ++#: ncrypt/crypt_gpgme.c:1765 + msgid "WARNING: PKA entry does not match signer's address: " + msgstr "ĮSPĖJIMAS: PKA įrašas neatitinka pasirašiusiojo adreso: " + +-#: ncrypt/crypt_gpgme.c:1740 ++#: ncrypt/crypt_gpgme.c:1771 + msgid "PKA verified signer's address is: " + msgstr "PKA patikrinto pasirašiusiojo adresas yra " + +-#: ncrypt/crypt_gpgme.c:1822 ++#: ncrypt/crypt_gpgme.c:1853 + msgid "WARNING: We have NO indication whether the key belongs to the person named as shown above\n" + msgstr "ĮSPĖJIMAS: NEŽINOME ar raktas tikrai priklauso aukščiau paminėtam asmeniui\n" + +-#: ncrypt/crypt_gpgme.c:1829 ++#: ncrypt/crypt_gpgme.c:1860 + msgid "WARNING: The key does NOT BELONG to the person named as shown above\n" + msgstr "ĮSPĖJIMAS: raktas NEPRIKLAUSO aukščiau paminėtam asmeniui\n" + +-#: ncrypt/crypt_gpgme.c:1833 ++#: ncrypt/crypt_gpgme.c:1864 + msgid "WARNING: It is NOT certain that the key belongs to the person named as shown above\n" + msgstr "ĮSPĖJIMAS: NESAME tikri, kad raktas priklauso aukščiau paminėtam asmeniui\n" + +-#: ncrypt/crypt_gpgme.c:1886 ++#: ncrypt/crypt_gpgme.c:1917 + msgid "KeyID " + msgstr "Rakto ID " + + #. L10N: You will see this message in place of "KeyID " + #. if the S/MIME key has no ID. This is quite an error. +-#: ncrypt/crypt_gpgme.c:1893 ++#: ncrypt/crypt_gpgme.c:1924 + msgid "no signature fingerprint available" + msgstr "nėra parašo pirštų atspaudo" + +-#: ncrypt/crypt_gpgme.c:1902 ncrypt/crypt_gpgme.c:1907 ++#: ncrypt/crypt_gpgme.c:1933 ncrypt/crypt_gpgme.c:1938 + msgid "created: " + msgstr "sukurtas: " + +-#: ncrypt/crypt_gpgme.c:1981 ++#: ncrypt/crypt_gpgme.c:2012 + #, c-format + msgid "Error getting key information for KeyID %s: %s\n" + msgstr "Klaida gaunant rakto informaciją raktui %s: %s\n" + +-#: ncrypt/crypt_gpgme.c:1988 ncrypt/crypt_gpgme.c:2003 ++#: ncrypt/crypt_gpgme.c:2019 ncrypt/crypt_gpgme.c:2034 + msgid "Good signature from:" + msgstr "Geras parašas:" + +-#: ncrypt/crypt_gpgme.c:1995 ++#: ncrypt/crypt_gpgme.c:2026 + msgid "*BAD* signature from:" + msgstr "*BLOGAS* parašas:" + +-#: ncrypt/crypt_gpgme.c:2011 ++#: ncrypt/crypt_gpgme.c:2042 + msgid "Problem signature from:" + msgstr "Įtartinas parašas:" + + #. L10N: This is trying to match the width of the + #. "Problem signature from:" translation just above. +-#: ncrypt/crypt_gpgme.c:2017 ++#: ncrypt/crypt_gpgme.c:2048 + msgid " expires: " + msgstr " galioja iki: " + +-#: ncrypt/crypt_gpgme.c:2064 ncrypt/crypt_gpgme.c:2294 +-#: ncrypt/crypt_gpgme.c:3081 ++#: ncrypt/crypt_gpgme.c:2103 ncrypt/crypt_gpgme.c:2333 ++#: ncrypt/crypt_gpgme.c:3124 + msgid "[-- Begin signature information --]\n" + msgstr "[-- Parašo informacija --]\n" + +-#: ncrypt/crypt_gpgme.c:2075 ++#: ncrypt/crypt_gpgme.c:2114 + #, c-format + msgid "Error: verification failed: %s\n" + msgstr "Klaida: patikrinimas nepavyko: %s\n" + +-#: ncrypt/crypt_gpgme.c:2126 ++#: ncrypt/crypt_gpgme.c:2165 + #, c-format + msgid "*** Begin Notation (signature by: %s) ***\n" + msgstr "*** Notacija (%s parašas) ***\n" + +-#: ncrypt/crypt_gpgme.c:2145 ++#: ncrypt/crypt_gpgme.c:2184 + msgid "*** End Notation ***\n" + msgstr "*** Notacijos pabaiga ***\n" + +-#: ncrypt/crypt_gpgme.c:2153 ncrypt/crypt_gpgme.c:2308 +-#: ncrypt/crypt_gpgme.c:3091 ++#: ncrypt/crypt_gpgme.c:2192 ncrypt/crypt_gpgme.c:2347 ++#: ncrypt/crypt_gpgme.c:3134 + msgid "" + "[-- End signature information --]\n" + "\n" +@@ -4041,7 +4118,7 @@ msgstr "" + "[-- Parašo informacijos pabaiga --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:2268 ++#: ncrypt/crypt_gpgme.c:2307 + #, c-format + msgid "" + "[-- Error: decryption failed: %s --]\n" +@@ -4050,21 +4127,26 @@ msgstr "" + "[-- Klaida: iššifravimas nepavyko: %s --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:2821 ++#: ncrypt/crypt_gpgme.c:2860 + #, c-format + msgid "Error importing key: %s" + msgstr "Klaida importuojant raktą: %s" + +-#: ncrypt/crypt_gpgme.c:3059 ++#: ncrypt/crypt_gpgme.c:3098 + #, c-format + msgid "Error: decryption/verification failed: %s\n" + msgstr "Klaida: iššifravimas/verifikavimas nepavyko: %s\n" + +-#: ncrypt/crypt_gpgme.c:3103 ++#: ncrypt/crypt_gpgme.c:3105 ncrypt/crypt_gpgme.c:3302 ncrypt/pgp.c:726 ++#: ncrypt/pgp.c:1273 ++msgid "PGP message successfully decrypted" ++msgstr "PGP laiškas sėkmingai iššifruotas" ++ ++#: ncrypt/crypt_gpgme.c:3146 + msgid "Error: copy data failed\n" + msgstr "Klaida: duomenų kopijavimas nepavyko\n" + +-#: ncrypt/crypt_gpgme.c:3116 ncrypt/pgp.c:675 ++#: ncrypt/crypt_gpgme.c:3159 ncrypt/pgp.c:674 + msgid "" + "[-- BEGIN PGP MESSAGE --]\n" + "\n" +@@ -4072,11 +4154,11 @@ msgstr "" + "[-- PGP LAIŠKO PRADŽIA --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3118 ncrypt/pgp.c:677 ++#: ncrypt/crypt_gpgme.c:3161 ncrypt/pgp.c:676 + msgid "[-- BEGIN PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- PGP VIEŠO RAKTO BLOKO PRADŽIA --]\n" + +-#: ncrypt/crypt_gpgme.c:3120 ncrypt/pgp.c:679 ++#: ncrypt/crypt_gpgme.c:3163 ncrypt/pgp.c:678 + msgid "" + "[-- BEGIN PGP SIGNED MESSAGE --]\n" + "\n" +@@ -4084,19 +4166,19 @@ msgstr "" + "[-- PGP PASIRAŠYTO LAIŠKO PRADŽIA --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3145 ncrypt/pgp.c:716 ++#: ncrypt/crypt_gpgme.c:3188 ncrypt/pgp.c:715 + msgid "[-- END PGP MESSAGE --]\n" + msgstr "[-- PGP LAIŠKO PABAIGA --]\n" + +-#: ncrypt/crypt_gpgme.c:3147 ncrypt/pgp.c:730 ++#: ncrypt/crypt_gpgme.c:3190 ncrypt/pgp.c:729 + msgid "[-- END PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- PGP VIEŠO RAKTO BLOKO PABAIGA --]\n" + +-#: ncrypt/crypt_gpgme.c:3149 ncrypt/pgp.c:732 ++#: ncrypt/crypt_gpgme.c:3192 ncrypt/pgp.c:731 + msgid "[-- END PGP SIGNED MESSAGE --]\n" + msgstr "[-- PGP PASIRAŠYTO LAIŠKO PABAIGA --]\n" + +-#: ncrypt/crypt_gpgme.c:3170 ncrypt/pgp.c:765 ++#: ncrypt/crypt_gpgme.c:3213 ncrypt/pgp.c:764 + msgid "" + "[-- Error: could not find beginning of PGP message --]\n" + "\n" +@@ -4104,11 +4186,11 @@ msgstr "" + "[-- Klaida: neradau PGP laiško pradžios --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3198 ncrypt/crypt_gpgme.c:3296 ncrypt/pgp.c:1218 ++#: ncrypt/crypt_gpgme.c:3241 ncrypt/crypt_gpgme.c:3339 ncrypt/pgp.c:1218 + msgid "[-- Error: could not create temporary file --]\n" + msgstr "[-- Klaida: negalėjau sukurti laikinos bylos --]\n" + +-#: ncrypt/crypt_gpgme.c:3212 ++#: ncrypt/crypt_gpgme.c:3255 + msgid "" + "[-- The following data is PGP/MIME signed and encrypted --]\n" + "\n" +@@ -4116,7 +4198,7 @@ msgstr "" + "[-- Toliau einantys duomenys yra užšifruoti ir pasirašyti su PGP/MIME --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3214 ncrypt/pgp.c:1231 ++#: ncrypt/crypt_gpgme.c:3257 ncrypt/pgp.c:1232 + msgid "" + "[-- The following data is PGP/MIME encrypted --]\n" + "\n" +@@ -4124,24 +4206,20 @@ msgstr "" + "[-- Toliau einantys duomenys yra užšifruoti su PGP/MIME --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3254 ++#: ncrypt/crypt_gpgme.c:3297 + msgid "[-- End of PGP/MIME signed and encrypted data --]\n" + msgstr "[-- PGP/MIME užšifruotų ir pasirašytų duomenų pabaiga --]\n" + +-#: ncrypt/crypt_gpgme.c:3255 ncrypt/pgp.c:1267 ++#: ncrypt/crypt_gpgme.c:3298 ncrypt/pgp.c:1268 + msgid "[-- End of PGP/MIME encrypted data --]\n" + msgstr "[-- PGP/MIME užšifruotų duomenų pabaiga --]\n" + +-#: ncrypt/crypt_gpgme.c:3259 ncrypt/pgp.c:727 ncrypt/pgp.c:1272 +-msgid "PGP message successfully decrypted" +-msgstr "PGP laiškas sėkmingai iššifruotas" +- +-#: ncrypt/crypt_gpgme.c:3265 ncrypt/pgp.c:666 ncrypt/pgp.c:718 +-#: ncrypt/pgp.c:1276 ++#: ncrypt/crypt_gpgme.c:3308 ncrypt/pgp.c:665 ncrypt/pgp.c:717 ++#: ncrypt/pgp.c:1277 + msgid "Could not decrypt PGP message" + msgstr "Negalėjau iššifruoti PGP laiško" + +-#: ncrypt/crypt_gpgme.c:3310 ++#: ncrypt/crypt_gpgme.c:3353 + msgid "" + "[-- The following data is S/MIME signed --]\n" + "\n" +@@ -4149,7 +4227,7 @@ msgstr "" + "[-- Toliau einantys duomenys yra pasirašyti su S/MIME --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3311 ++#: ncrypt/crypt_gpgme.c:3354 + msgid "" + "[-- The following data is S/MIME encrypted --]\n" + "\n" +@@ -4157,34 +4235,34 @@ msgstr "" + "[-- Toliau einantys duomenys yra užšifruoti su S/MIME --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3358 ++#: ncrypt/crypt_gpgme.c:3401 + msgid "[-- End of S/MIME signed data --]\n" + msgstr "[-- S/MIME pasirašytų duomenų pabaiga --]\n" + +-#: ncrypt/crypt_gpgme.c:3359 ++#: ncrypt/crypt_gpgme.c:3402 + msgid "[-- End of S/MIME encrypted data --]\n" + msgstr "[-- S/MIME užšifruotų duomenų pabaiga --]\n" + +-#: ncrypt/crypt_gpgme.c:4029 ++#: ncrypt/crypt_gpgme.c:4077 + msgid "[Can't display this user ID (unknown encoding)]" + msgstr "[Negaliu parodyti naudotojo ID (nežinoma koduotė)]" + +-#: ncrypt/crypt_gpgme.c:4031 ++#: ncrypt/crypt_gpgme.c:4079 + msgid "[Can't display this user ID (invalid encoding)]" + msgstr "[Negaliu parodyti naudotojo ID (neteisinga koduotė)]" + +-#: ncrypt/crypt_gpgme.c:4036 ++#: ncrypt/crypt_gpgme.c:4084 + msgid "[Can't display this user ID (invalid DN)]" + msgstr "[Negaliu parodyti naudotojo ID (neteisingas DN)]" + + #. L10N: comes after the Name or aka if the key is invalid + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4150 ncrypt/crypt_gpgme.c:4291 ++#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4339 + msgid "[Invalid]" + msgstr "[Blogas]" + + #. L10N: This is printed after "Key Type: " and looks like this: PGP, 2048 bit RSA +-#: ncrypt/crypt_gpgme.c:4190 ncrypt/crypt_gpgme.c:4331 ++#: ncrypt/crypt_gpgme.c:4238 ncrypt/crypt_gpgme.c:4379 + #, c-format + msgid "%s, %lu bit %s\n" + msgid_plural "%s, %lu bit %s\n" +@@ -4193,94 +4271,94 @@ msgstr[1] "%s, %lu bitų %s\n" + msgstr[2] "%s, %lu bitų %s\n" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4338 ++#: ncrypt/crypt_gpgme.c:4246 ncrypt/crypt_gpgme.c:4386 + msgid "encryption" + msgstr "šifravimui" + +-#: ncrypt/crypt_gpgme.c:4199 ncrypt/crypt_gpgme.c:4205 +-#: ncrypt/crypt_gpgme.c:4339 ncrypt/crypt_gpgme.c:4344 ++#: ncrypt/crypt_gpgme.c:4247 ncrypt/crypt_gpgme.c:4253 ++#: ncrypt/crypt_gpgme.c:4387 ncrypt/crypt_gpgme.c:4392 + msgid ", " + msgstr ", " + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4204 ncrypt/crypt_gpgme.c:4343 ++#: ncrypt/crypt_gpgme.c:4252 ncrypt/crypt_gpgme.c:4391 + msgid "signing" + msgstr "pasirašymui" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4210 ncrypt/crypt_gpgme.c:4348 ++#: ncrypt/crypt_gpgme.c:4258 ncrypt/crypt_gpgme.c:4396 + msgid "certification" + msgstr "sertifikavimui" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4285 ++#: ncrypt/crypt_gpgme.c:4333 + msgid "[Revoked]" + msgstr "[Atšauktas]" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4297 ++#: ncrypt/crypt_gpgme.c:4345 + msgid "[Expired]" + msgstr "[Pasenęs]" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4303 ++#: ncrypt/crypt_gpgme.c:4351 + msgid "[Disabled]" + msgstr "[Uždraustas]" + +-#: ncrypt/crypt_gpgme.c:4376 ++#: ncrypt/crypt_gpgme.c:4424 + msgid "Collecting data..." + msgstr "Renku duomenis..." + +-#: ncrypt/crypt_gpgme.c:4394 ++#: ncrypt/crypt_gpgme.c:4442 + #, c-format + msgid "Error finding issuer key: %s\n" + msgstr "Klaida ieškant išdavėjo rakto: %s\n" + +-#: ncrypt/crypt_gpgme.c:4403 ++#: ncrypt/crypt_gpgme.c:4451 + msgid "Error: certification chain too long - stopping here\n" + msgstr "Klaida: sertifikavimo grandinė per ilga - stoju čia\n" + +-#: ncrypt/crypt_gpgme.c:4413 ncrypt/pgpkey.c:733 ++#: ncrypt/crypt_gpgme.c:4461 ncrypt/pgpkey.c:766 + #, c-format + msgid "Key ID: 0x%s" + msgstr "Rakto ID: 0x%s" + +-#: ncrypt/crypt_gpgme.c:4538 ncrypt/crypt_gpgme.c:4589 ++#: ncrypt/crypt_gpgme.c:4586 ncrypt/crypt_gpgme.c:4637 + #, c-format + msgid "gpgme_op_keylist_start failed: %s" + msgstr "gpgme_op_keylist_start nepavyko: %s" + +-#: ncrypt/crypt_gpgme.c:4577 ncrypt/crypt_gpgme.c:4619 +-#: ncrypt/crypt_gpgme.c:5355 ++#: ncrypt/crypt_gpgme.c:4625 ncrypt/crypt_gpgme.c:4667 ++#: ncrypt/crypt_gpgme.c:5435 + #, c-format + msgid "gpgme_op_keylist_next failed: %s" + msgstr "gpgme_op_keylist_next nepavyko: %s" + +-#: ncrypt/crypt_gpgme.c:4701 ++#: ncrypt/crypt_gpgme.c:4749 + msgid "All matching keys are marked expired/revoked" + msgstr "Visi rasti raktai pažymėti kaip pasenę arba atšaukti" + +-#: ncrypt/crypt_gpgme.c:4731 ncrypt/pgpkey.c:666 ncrypt/smime.c:551 ++#: ncrypt/crypt_gpgme.c:4779 ncrypt/pgpkey.c:669 ncrypt/smime.c:553 + msgid "Select " + msgstr "Pasirink " + +-#: ncrypt/crypt_gpgme.c:4733 ncrypt/pgpkey.c:668 ++#: ncrypt/crypt_gpgme.c:4781 ncrypt/pgpkey.c:671 + msgid "Check key " + msgstr "Tikrinti raktą " + +-#: ncrypt/crypt_gpgme.c:4749 ++#: ncrypt/crypt_gpgme.c:4827 + msgid "PGP and S/MIME keys matching" + msgstr "PGP ir S/MIME raktai, atitinkantys" + +-#: ncrypt/crypt_gpgme.c:4751 ++#: ncrypt/crypt_gpgme.c:4829 + msgid "PGP keys matching" + msgstr "PGP raktai, atitinkantys" + +-#: ncrypt/crypt_gpgme.c:4753 ++#: ncrypt/crypt_gpgme.c:4831 + msgid "S/MIME keys matching" + msgstr "S/MIME raktai, atitinkantys" + +-#: ncrypt/crypt_gpgme.c:4755 ++#: ncrypt/crypt_gpgme.c:4833 + msgid "keys matching" + msgstr "raktai, atitinkantys" + +@@ -4288,55 +4366,55 @@ msgstr "raktai, atitinkantys" + #. %1$s is one of the previous four entries. + #. %2$s is an address. + #. e.g. "S/MIME keys matching " +-#: ncrypt/crypt_gpgme.c:4763 ++#: ncrypt/crypt_gpgme.c:4841 + #, c-format + msgid "%s <%s>" + msgstr "%s <%s>" + + #. L10N: e.g. 'S/MIME keys matching "Michael Elkins".' +-#: ncrypt/crypt_gpgme.c:4768 ++#: ncrypt/crypt_gpgme.c:4846 + #, c-format + msgid "%s \"%s\"" + msgstr "%s \"%s\"" + +-#: ncrypt/crypt_gpgme.c:4796 ncrypt/pgpkey.c:754 ++#: ncrypt/crypt_gpgme.c:4874 ncrypt/pgpkey.c:787 + msgid "This key can't be used: expired/disabled/revoked" + msgstr "Šis raktas negali būti naudojamas: jis pasenęs/uždraustas/atšauktas" + +-#: ncrypt/crypt_gpgme.c:4810 ncrypt/pgpkey.c:767 ncrypt/smime.c:581 ++#: ncrypt/crypt_gpgme.c:4888 ncrypt/pgpkey.c:800 ncrypt/smime.c:613 + msgid "ID is expired/disabled/revoked. Do you really want to use the key?" + msgstr "ID pasenęs/uždraustas/atšauktas. Ar tikrai nori naudoti šį raktą?" + +-#: ncrypt/crypt_gpgme.c:4820 ncrypt/pgpkey.c:779 ++#: ncrypt/crypt_gpgme.c:4898 ncrypt/pgpkey.c:812 + msgid "ID is not valid. Do you really want to use the key?" + msgstr "ID yra nepatikimas. Ar tikrai nori naudoti šį raktą?" + +-#: ncrypt/crypt_gpgme.c:4823 ncrypt/pgpkey.c:782 ++#: ncrypt/crypt_gpgme.c:4901 ncrypt/pgpkey.c:815 + msgid "ID is only marginally valid. Do you really want to use the key?" + msgstr "ID yra tik vos vos patikimas. Ar tikrai nori naudoti šį raktą?" + +-#: ncrypt/crypt_gpgme.c:4831 ncrypt/pgpkey.c:775 ncrypt/smime.c:585 ++#: ncrypt/crypt_gpgme.c:4909 ncrypt/pgpkey.c:808 ncrypt/smime.c:617 + msgid "ID has undefined validity. Do you really want to use the key?" + msgstr "ID patikimumas nežinomas. Ar tikrai nori naudoti šį raktą?" + +-#: ncrypt/crypt_gpgme.c:4911 ncrypt/crypt_gpgme.c:5024 ncrypt/pgpkey.c:1019 +-#: ncrypt/pgpkey.c:1146 ++#: ncrypt/crypt_gpgme.c:4991 ncrypt/crypt_gpgme.c:5104 ncrypt/pgpkey.c:1054 ++#: ncrypt/pgpkey.c:1181 + #, c-format + msgid "Looking for keys matching \"%s\"..." + msgstr "Ieškau raktų, tenkinančių \"%s\"..." + +-#: ncrypt/crypt_gpgme.c:5140 ncrypt/pgpkey.c:870 ncrypt/smime.c:924 ++#: ncrypt/crypt_gpgme.c:5220 ncrypt/pgpkey.c:905 ncrypt/smime.c:958 + #, c-format + msgid "No matching keys found for \"%s\"" + msgstr "Neradau raktų, tenkinančių \"%s\"" + +-#: ncrypt/crypt_gpgme.c:5190 ncrypt/pgp.c:1456 ++#: ncrypt/crypt_gpgme.c:5270 ncrypt/pgp.c:1457 + #, c-format + msgid "Use keyID = \"%s\" for %s?" + msgstr "Naudoti raktą ID = \"%s\", skirtą %s?" + +-#: ncrypt/crypt_gpgme.c:5238 ncrypt/pgp.c:1505 ncrypt/smime.c:944 +-#: ncrypt/smime.c:1049 ++#: ncrypt/crypt_gpgme.c:5318 ncrypt/pgp.c:1506 ncrypt/smime.c:978 ++#: ncrypt/smime.c:1083 + #, c-format + msgid "Enter keyID for %s: " + msgstr "Įvesk rakto ID, skirtą %s: " +@@ -4345,15 +4423,15 @@ msgstr "Įvesk rakto ID, skirtą %s: " + #. mutt_gpgme_select_secret_key() tries to list all secret keys to choose + #. from. This error is displayed if no results were found. + #. +-#: ncrypt/crypt_gpgme.c:5364 ++#: ncrypt/crypt_gpgme.c:5444 + msgid "No secret keys found" + msgstr "Slaptų raktų nerasta" + +-#: ncrypt/crypt_gpgme.c:5398 ncrypt/pgpkey.c:888 ++#: ncrypt/crypt_gpgme.c:5478 ncrypt/pgpkey.c:923 + msgid "Please enter the key ID: " + msgstr "Prašau, įvesk rakto ID: " + +-#: ncrypt/crypt_gpgme.c:5411 ++#: ncrypt/crypt_gpgme.c:5491 + #, c-format + msgid "Error exporting key: %s" + msgstr "Klaida eksportuojant raktą: %s" +@@ -4361,92 +4439,92 @@ msgstr "Klaida eksportuojant raktą: %s" + #. 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. +-#: ncrypt/crypt_gpgme.c:5429 ++#: ncrypt/crypt_gpgme.c:5509 + #, c-format + msgid "PGP Key 0x%s" + msgstr "PGP raktas 0x%s" + +-#: ncrypt/crypt_gpgme.c:5474 ++#: ncrypt/crypt_gpgme.c:5554 + msgid "GPGME: OpenPGP protocol not available" + msgstr "GPGME: OpenPGP protokolas nepasiekiamas" + +-#: ncrypt/crypt_gpgme.c:5485 ++#: ncrypt/crypt_gpgme.c:5565 + msgid "GPGME: CMS protocol not available" + msgstr "GPGME: CMS protokolas nepasiekiamas" + +-#: ncrypt/crypt_gpgme.c:5536 ++#: ncrypt/crypt_gpgme.c:5616 + msgid "S/MIME (s)ign, sign (a)s, (p)gp, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME: pa(s)irašyti, pasirašyt k(a)ip, (p)gp, (n)ereikia ar išjungti (o)portunistinį šifravimą?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5538 ++#: ncrypt/crypt_gpgme.c:5618 + msgid "sapco" + msgstr "sapno" + +-#: ncrypt/crypt_gpgme.c:5545 ++#: ncrypt/crypt_gpgme.c:5625 + msgid "PGP (s)ign, sign (a)s, s/(m)ime, (c)lear, or (o)ppenc mode off?" + msgstr "PGP: pa(s)irašyti, pasirašyt k(a)ip, s/(m)ime, (n)ereikia ar išjungti (o)portunistinį šifravimą?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5547 ++#: ncrypt/crypt_gpgme.c:5627 + msgid "samco" + msgstr "samno" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5557 ++#: ncrypt/crypt_gpgme.c:5637 + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME: (š)ifruoti, pa(s)irašyti, pasirašyti k(a)ip, a(b)u, (p)gp, (n)ereikia ar įjungti (o)portunistinį šifravimą?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5560 ++#: ncrypt/crypt_gpgme.c:5640 + msgid "esabpco" + msgstr "šsabpno" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5566 ++#: ncrypt/crypt_gpgme.c:5646 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime, (c)lear, or (o)ppenc mode?" + msgstr "PGP: (š)ifruoti, pa(s)irašyti, pasirašyti k(a)ip, a(b)u, s/(m)ime, (n)ereikia ar įjungti (o)portunistinį šifravimą?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5569 ++#: ncrypt/crypt_gpgme.c:5649 + msgid "esabmco" + msgstr "šsabmno" + +-#: ncrypt/crypt_gpgme.c:5580 ++#: ncrypt/crypt_gpgme.c:5660 + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp or (c)lear?" + msgstr "S/MIME: (š)ifruoti, pa(s)irašyti, pasirašyti k(a)ip, a(b)u, (p)gp ar (n)ereikia?" + + #. L10N: S/MIME options +-#: ncrypt/crypt_gpgme.c:5582 ++#: ncrypt/crypt_gpgme.c:5662 + msgid "esabpc" + msgstr "šsabpn" + +-#: ncrypt/crypt_gpgme.c:5589 ++#: ncrypt/crypt_gpgme.c:5669 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime or (c)lear?" + msgstr "PGP: (š)ifruoti, pa(s)irašyti, pasirašyti k(a)ip, a(b)u, s/(m)ime ar (n)ereikia?" + + #. L10N: PGP options +-#: ncrypt/crypt_gpgme.c:5591 ++#: ncrypt/crypt_gpgme.c:5671 + msgid "esabmc" + msgstr "šsabmn" + +-#: ncrypt/crypt_gpgme.c:5751 ++#: ncrypt/crypt_gpgme.c:5831 + msgid "Failed to verify sender" + msgstr "Nepavyko patikrinti siuntėjo" + +-#: ncrypt/crypt_gpgme.c:5754 ++#: ncrypt/crypt_gpgme.c:5834 + msgid "Failed to figure out sender" + msgstr "Nepavyko išsiaiškinti, kas siuntėjas" + +-#: ncrypt/pgp.c:108 ++#: ncrypt/pgp.c:107 + msgid "Enter PGP passphrase:" + msgstr "Įvesk slaptą PGP frazę:" + +-#: ncrypt/pgp.c:595 ++#: ncrypt/pgp.c:594 + msgid "[-- Error: unable to create PGP subprocess --]\n" + msgstr "[-- Klaida: negaliu sukurti PGP subproceso --]\n" + +-#: ncrypt/pgp.c:644 ncrypt/pgp.c:926 ncrypt/pgp.c:1086 ++#: ncrypt/pgp.c:643 ncrypt/pgp.c:925 ncrypt/pgp.c:1085 + msgid "" + "[-- End of PGP output --]\n" + "\n" +@@ -4457,15 +4535,15 @@ msgstr "" + #. L10N: You will see this error message if (1) you are decrypting + #. (not encrypting) something and (2) it is a plaintext. So the + #. message does not mean "You failed to encrypt the message." +-#: ncrypt/pgp.c:724 ++#: ncrypt/pgp.c:723 + msgid "PGP message is not encrypted" + msgstr "PGP laiškas nebuvo užšifruotas" + +-#: ncrypt/pgp.c:978 ++#: ncrypt/pgp.c:977 + msgid "Internal error. Please submit a bug report." + msgstr "Vidinė klaida. Prašau apie ją pranešti programos autoriams." + +-#: ncrypt/pgp.c:1043 ++#: ncrypt/pgp.c:1042 + msgid "" + "[-- Error: could not create a PGP subprocess --]\n" + "\n" +@@ -4473,125 +4551,125 @@ msgstr "" + "[-- Klaida: negalėjau sukurti PGP subproceso --]\n" + "\n" + +-#: ncrypt/pgp.c:1073 ncrypt/pgp.c:1098 ncrypt/smime.c:2143 postpone.c:757 +-#: postpone.c:785 ++#: ncrypt/pgp.c:1072 ncrypt/pgp.c:1097 ncrypt/smime.c:2177 postpone.c:803 ++#: postpone.c:831 + msgid "Decryption failed" + msgstr "Nepavyko iššifruoti" + +-#: ncrypt/pgp.c:1333 ++#: ncrypt/pgp.c:1334 + msgid "Can't open PGP subprocess" + msgstr "Negaliu atidaryti PGP subproceso" + +-#: ncrypt/pgp.c:1768 ++#: ncrypt/pgp.c:1770 + msgid "Can't invoke PGP" + msgstr "Negaliu kviesti PGP" + + #. L10N: The next string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1875 ++#: ncrypt/pgp.c:1877 + msgid "PGP/M(i)ME" + msgstr "PGP/M(i)ME" + + #. L10N: The previous string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1881 ++#: ncrypt/pgp.c:1883 + msgid "(i)nline" + msgstr "(i)nline" + + #. L10N: PGP options (inline) (opportunistic encryption is on) +-#: ncrypt/pgp.c:1893 ++#: ncrypt/pgp.c:1895 + #, c-format + msgid "PGP (s)ign, sign (a)s, %s format, (c)lear, or (o)ppenc mode off?" + msgstr "PGP: pa(s)irašyti, pasirašyti k(a)ip, %s formatu, (n)ereikia ar išjungti (o)portunistinį šifravimą?" + + #. L10N: PGP options (inline) (opportunistic encryption is on) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1899 ++#: ncrypt/pgp.c:1901 + msgid "saico" + msgstr "saino" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1905 ++#: ncrypt/pgp.c:1907 + msgid "PGP (s)ign, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "PGP: pa(s)irašyti, pasirašyti k(a)ip, (n)ereikia ar išjungti (o)portunistinį šifravimą?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1907 ++#: ncrypt/pgp.c:1909 + msgid "saco" + msgstr "sano" + + #. L10N: PGP options (inline) (opportunistic encryption is off) +-#: ncrypt/pgp.c:1921 ++#: ncrypt/pgp.c:1923 + #, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, (c)lear, or (o)ppenc mode?" + msgstr "PGP: (š)ifruoti, pa(s)irašyti, pasirašyti k(a)ip, a(b)u, %s formatu, (n)ereikia ar įjungti (o)portunistinį šifravimą?" + + #. L10N: PGP options (inline) (opportunistic encryption is off) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1927 ++#: ncrypt/pgp.c:1929 + msgid "esabico" + msgstr "šsabino" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1933 ++#: ncrypt/pgp.c:1935 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "PGP: (š)ifruoti, pa(s)irašyti, pasirašyti k(a)ip, a(b)u, (n)ereikia, ar įjungti (o)portunistinį šifravimą?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1936 ++#: ncrypt/pgp.c:1938 + msgid "esabco" + msgstr "šsabno" + + #. L10N: PGP options (inline) +-#: ncrypt/pgp.c:1947 ++#: ncrypt/pgp.c:1949 + #, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, or (c)lear?" + msgstr "PGP: (š)ifruoti, pa(s)irašyti, pasirašyti k(a)ip, a(b)u, %s formatu ar (n)ereikia?" + + #. L10N: PGP options (inline) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1953 ++#: ncrypt/pgp.c:1955 + msgid "esabic" + msgstr "šsabin" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1959 ++#: ncrypt/pgp.c:1961 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (c)lear?" + msgstr "PGP: (š)ifruoti, pa(s)irašyti, pasirašyti k(a)ip, a(b)u ar (n)ereikia?" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1961 ++#: ncrypt/pgp.c:1963 + msgid "esabc" + msgstr "šsabn" + +-#: ncrypt/pgpinvoke.c:458 ++#: ncrypt/pgpinvoke.c:461 + msgid "Fetching PGP key..." + msgstr "Paimu PGP raktą..." + +-#: ncrypt/pgpkey.c:640 ++#: ncrypt/pgpkey.c:643 + msgid "All matching keys are expired, revoked, or disabled" + msgstr "Visi rasti raktai yra pasenę, atšaukti ar uždrausti" + +-#: ncrypt/pgpkey.c:681 ++#: ncrypt/pgpkey.c:714 + #, c-format + msgid "PGP keys matching <%s>" + msgstr "PGP raktai, tenkinantys <%s>" + +-#: ncrypt/pgpkey.c:683 ++#: ncrypt/pgpkey.c:716 + #, c-format + msgid "PGP keys matching \"%s\"" + msgstr "PGP raktai, tenkinantys \"%s\"" + +-#: ncrypt/pgpkey.c:700 ncrypt/pgpkey.c:909 ++#: ncrypt/pgpkey.c:733 ncrypt/pgpkey.c:944 + msgid "Can't open /dev/null" + msgstr "Negaliu atidaryti /dev/null" + +-#: ncrypt/pgpkey.c:938 ++#: ncrypt/pgpkey.c:973 + #, c-format + msgid "PGP Key %s" + msgstr "PGP raktas %s" + +-#: ncrypt/smime.c:182 ++#: ncrypt/smime.c:180 + msgid "Enter S/MIME passphrase:" + msgstr "Įvesk slaptą S/MIME frazę:" + +@@ -4600,7 +4678,7 @@ msgstr "Įvesk slaptą S/MIME frazę:" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:460 ++#: ncrypt/smime.c:462 + msgid "Expired " + msgstr "Pasenęs " + +@@ -4609,7 +4687,7 @@ msgstr "Pasenęs " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:468 ++#: ncrypt/smime.c:470 + msgid "Invalid " + msgstr "Blogas " + +@@ -4618,7 +4696,7 @@ msgstr "Blogas " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:476 ++#: ncrypt/smime.c:478 + msgid "Revoked " + msgstr "Atšauktas " + +@@ -4627,7 +4705,7 @@ msgstr "Atšauktas " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:484 ++#: ncrypt/smime.c:486 + msgid "Trusted " + msgstr "Patikimas " + +@@ -4636,7 +4714,7 @@ msgstr "Patikimas " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:492 ++#: ncrypt/smime.c:494 + msgid "Unverified" + msgstr "Netikrintas" + +@@ -4645,7 +4723,7 @@ msgstr "Netikrintas" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:500 ++#: ncrypt/smime.c:502 + msgid "Verified " + msgstr "Patikrintas" + +@@ -4654,58 +4732,58 @@ msgstr "Patikrintas" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:508 ++#: ncrypt/smime.c:510 + msgid "Unknown " + msgstr "Nežinomas " + +-#: ncrypt/smime.c:545 ++#: ncrypt/smime.c:547 + #, c-format + msgid "S/MIME certificates matching \"%s\"" + msgstr "S/MIME sertifikatai, atitinkantys \"%s\"" + +-#: ncrypt/smime.c:589 ++#: ncrypt/smime.c:621 + msgid "ID is not trusted. Do you really want to use the key?" + msgstr "Šis ID yra nepatikimas. Ar tikrai nori naudoti šį raktą?" + +-#: ncrypt/smime.c:910 ++#: ncrypt/smime.c:944 + msgid "Enter keyID: " + msgstr "Įvesk rakto ID: " + +-#: ncrypt/smime.c:1055 ++#: ncrypt/smime.c:1089 + #, c-format + msgid "No (valid) certificate found for %s" + msgstr "Neradau (galiojančio) %s sertifikato" + +-#: ncrypt/smime.c:1108 ncrypt/smime.c:1137 ncrypt/smime.c:1209 +-#: ncrypt/smime.c:1243 ncrypt/smime.c:1319 ncrypt/smime.c:1399 ++#: ncrypt/smime.c:1142 ncrypt/smime.c:1171 ncrypt/smime.c:1243 ++#: ncrypt/smime.c:1277 ncrypt/smime.c:1353 ncrypt/smime.c:1433 + msgid "Error: unable to create OpenSSL subprocess" + msgstr "Klaida: negaliu sukurti OpenSSL subproceso" + +-#: ncrypt/smime.c:1379 ++#: ncrypt/smime.c:1413 + msgid "Label for certificate: " + msgstr "Sertifikato etiketė: " + +-#: ncrypt/smime.c:1480 ++#: ncrypt/smime.c:1514 + msgid "no certfile" + msgstr "nėra sertifikato bylos" + +-#: ncrypt/smime.c:1483 ++#: ncrypt/smime.c:1517 + msgid "no mbox" + msgstr "(nėra dėžutės)" + +-#: ncrypt/smime.c:1640 ncrypt/smime.c:1810 ++#: ncrypt/smime.c:1674 ncrypt/smime.c:1844 + msgid "No output from OpenSSL..." + msgstr "Trūksta OpenSSL išvesties..." + +-#: ncrypt/smime.c:1727 ++#: ncrypt/smime.c:1761 + msgid "Can't sign: No key specified. Use Sign As." + msgstr "Negaliu pasirašyti: nenurodytas raktas. Naudokite \"Pasirašyti kaip\"." + +-#: ncrypt/smime.c:1777 ++#: ncrypt/smime.c:1811 + msgid "Can't open OpenSSL subprocess" + msgstr "Negaliu atidaryti OpenSSL subproceso" + +-#: ncrypt/smime.c:2004 ncrypt/smime.c:2123 ++#: ncrypt/smime.c:2038 ncrypt/smime.c:2157 + msgid "" + "[-- End of OpenSSL output --]\n" + "\n" +@@ -4713,19 +4791,19 @@ msgstr "" + "[-- OpenSSL išvesties pabaiga --]\n" + "\n" + +-#: ncrypt/smime.c:2080 ncrypt/smime.c:2093 ++#: ncrypt/smime.c:2114 ncrypt/smime.c:2127 + msgid "[-- Error: unable to create OpenSSL subprocess --]\n" + msgstr "[-- Klaida: negaliu sukurti OpenSSL subproceso --]\n" + +-#: ncrypt/smime.c:2129 ++#: ncrypt/smime.c:2163 + msgid "[-- The following data is S/MIME encrypted --]\n" + msgstr "[-- Toliau einantys duomenys yra užšifruoti su S/MIME --]\n" + +-#: ncrypt/smime.c:2132 ++#: ncrypt/smime.c:2166 + msgid "[-- The following data is S/MIME signed --]\n" + msgstr "[-- Toliau einantys duomenys yra pasirašyti su S/MIME --]\n" + +-#: ncrypt/smime.c:2225 ++#: ncrypt/smime.c:2259 + msgid "" + "\n" + "[-- End of S/MIME encrypted data. --]\n" +@@ -4733,7 +4811,7 @@ msgstr "" + "\n" + "[-- S/MIME užšifruotų duomenų pabaiga. --]\n" + +-#: ncrypt/smime.c:2227 ++#: ncrypt/smime.c:2261 + msgid "" + "\n" + "[-- End of S/MIME signed data. --]\n" +@@ -4742,160 +4820,160 @@ msgstr "" + "[-- S/MIME pasirašytų duomenų pabaiga. --]\n" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2361 ++#: ncrypt/smime.c:2395 + msgid "S/MIME (s)ign, encrypt (w)ith, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME: pa(s)irašyti, šifruo(t)i su, pasirašyti k(a)ip, (n)ereikia ar išjungti (o)portunistinį šifravimą?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2364 ++#: ncrypt/smime.c:2398 + msgid "swaco" + msgstr "stano" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2372 ++#: ncrypt/smime.c:2406 + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME: (š)ifruoti, pa(s)irašyti, šifruo(t)i su, pasirašyt k(a)ip, a(b)u, (n)ereikia ar įjungti (o)portunistinį šifravimą?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2375 ++#: ncrypt/smime.c:2409 + msgid "eswabco" + msgstr "šstabno" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2382 ++#: ncrypt/smime.c:2416 + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, or (c)lear?" + msgstr "S/MIME: (š)ifruoti, pa(s)irašyti, užšifruo(t)i su, pasirašyt k(a)ip, a(b)u ar (n)ereikia?" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2385 ++#: ncrypt/smime.c:2419 + msgid "eswabc" + msgstr "šstabn" + +-#: ncrypt/smime.c:2449 ++#: ncrypt/smime.c:2483 + msgid "Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear?" + msgstr "Pasirinkite algoritmą: (1) DES, (2) RC2, (3) AES ar (n)ereikia?" + + #. L10N: Options for: Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear? +-#: ncrypt/smime.c:2452 ++#: ncrypt/smime.c:2486 + msgid "123c" + msgstr "123n" + +-#: ncrypt/smime.c:2455 ++#: ncrypt/smime.c:2489 + msgid "(1) DES, (2) Triple-DES?" + msgstr "(1) DES, (2) 3DES?" + + #. L10N: Options for: (1) DES, (2) Triple-DES +-#: ncrypt/smime.c:2457 ++#: ncrypt/smime.c:2491 + msgid "12" + msgstr "12" + +-#: ncrypt/smime.c:2470 ++#: ncrypt/smime.c:2504 + msgid "(1) RC2-40, (2) RC2-64, (3) RC2-128?" + msgstr "(1) RC2-40, (2) RC2-64, (3) RC2-128?" + + #. L10N: Options for: (1) RC2-40, (2) RC2-64, (3) RC2-128 + #. L10N: Options for: (1) AES128, (2) AES192, (3) AES256 +-#: ncrypt/smime.c:2472 ncrypt/smime.c:2490 ++#: ncrypt/smime.c:2506 ncrypt/smime.c:2524 + msgid "123" + msgstr "123" + +-#: ncrypt/smime.c:2488 ++#: ncrypt/smime.c:2522 + msgid "(1) AES128, (2) AES192, (3) AES256?" + msgstr "(1) AES128, (2) AES192, (3) AES256?" + +-#: nntp/newsrc.c:632 ++#: nntp/newsrc.c:639 + msgid "Loading list of groups from cache..." + msgstr "Užkraunu sąrašą grupių iš podėlio..." + +-#: nntp/newsrc.c:997 ++#: nntp/newsrc.c:1023 + msgid "No news server defined" + msgstr "Nenurodytas nė vienas naujienų serveris" + +-#: nntp/newsrc.c:1012 ++#: nntp/newsrc.c:1041 + #, c-format + msgid "%s is an invalid news server specification" + msgstr "%s yra bloga naujienų serverio specifikacija" + +-#: nntp/nntp.c:236 nntp/nntp.c:777 pop/pop.c:742 pop/pop_lib.c:398 ++#: nntp/nntp.c:238 nntp/nntp.c:779 pop/pop.c:742 pop/pop_lib.c:424 + msgid "Server closed connection" + msgstr "Serveris uždarė jungtį" + +-#: nntp/nntp.c:340 ++#: nntp/nntp.c:342 + msgid "Server doesn't support reader mode" + msgstr "Serveris nepalaiko skaitymo režimo" + +-#: nntp/nntp.c:576 pop/pop_auth.c:504 smtp.c:650 ++#: nntp/nntp.c:578 pop/pop_auth.c:505 smtp.c:675 + msgid "No authenticators available" + msgstr "Nėra autentikatorių." + +-#: nntp/nntp.c:766 ++#: nntp/nntp.c:768 + #, c-format + msgid "%s authentication failed" + msgstr "%s autentikacija nepavyko" + +-#: nntp/nntp.c:826 ++#: nntp/nntp.c:828 + #, c-format + msgid "Connection to %s lost. Reconnect?" + msgstr "Prisijungimas prie %s nutrūko. Prisijungti iš naujo?" + +-#: nntp/nntp.c:1285 ++#: nntp/nntp.c:1287 + msgid "Fetching list of articles..." + msgstr "Paimu straipsnių sąrašą..." + +-#: nntp/nntp.c:1549 nntp/nntp.c:2138 pop/pop.c:614 pop/pop.c:910 ++#: nntp/nntp.c:1551 nntp/nntp.c:2140 pop/pop.c:614 pop/pop.c:905 + msgid "Checking for new messages..." + msgstr "Tikrinu, ar yra naujų laiškų..." + +-#: nntp/nntp.c:1864 nntp/nntp.c:1954 ++#: nntp/nntp.c:1866 nntp/nntp.c:1956 + msgid "Could not switch to reader mode" + msgstr "Negalėjau persijungti į skaitymo režimą" + +-#: nntp/nntp.c:1877 ++#: nntp/nntp.c:1879 + #, c-format + msgid "Connected to %s. %s" + msgstr "Prisijungiau prie %s. %s" + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + msgid "Posting is ok" + msgstr "Siuntimas leidžiamas" + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + msgid "Posting is NOT ok" + msgstr "Siuntimas NELEIDŽIAMAS" + +-#: nntp/nntp.c:2008 nntp/nntp.c:2043 ++#: nntp/nntp.c:2010 nntp/nntp.c:2045 + #, c-format + msgid "Can't post article: %s" + msgstr "Negaliu išsiųsti straipsnio: %s" + +-#: nntp/nntp.c:2064 ++#: nntp/nntp.c:2066 + #, c-format + msgid "Loading list of groups from server %s..." + msgstr "Siunčiuosi grupių sąrašą iš serverio %s..." + +-#: nntp/nntp.c:2106 nntp/nntp.c:2198 ++#: nntp/nntp.c:2108 nntp/nntp.c:2200 + msgid "Loading descriptions..." + msgstr "Užkraunu aprašus..." + +-#: nntp/nntp.c:2128 ++#: nntp/nntp.c:2130 + msgid "Checking for new newsgroups..." + msgstr "Tikrinu, ar yra naujų naujienų grupių..." + +-#: nntp/nntp.c:2332 ++#: nntp/nntp.c:2334 + msgid "Unable to find child articles because server does not support XPAT command" + msgstr "Negaliu rasti vaikinių straipsnių nes serveris nepalaiko XPAT komandos" + +-#: nntp/nntp.c:2437 ++#: nntp/nntp.c:2439 + #, c-format + msgid "%s is an invalid newsgroup specification" + msgstr "%s yra bloga naujienų grupės specifikacija" + +-#: nntp/nntp.c:2476 ++#: nntp/nntp.c:2478 + #, c-format + msgid "Newsgroup %s not found on the server" + msgstr "Naujienų grupė %s nerasta serveryje" + +-#: nntp/nntp.c:2498 ++#: nntp/nntp.c:2500 + #, c-format + msgid "Newsgroup %s has been removed from the server" + msgstr "Naujienų grupė %s buvo pašalinta iš serverio" +@@ -4907,8 +4985,8 @@ msgstr "nepavyko išanalizuoti notmuch užklausos tipo: %s" + + #: notmuch/mutt_notmuch.c:219 notmuch/mutt_notmuch.c:1939 + #, c-format +-msgid "failed to parse notmuch uri: %s" +-msgstr "nepavyko išanalizuoti notmuch uri: %s" ++msgid "failed to parse notmuch url: %s" ++msgstr "nepavyko išanalizuoti notmuch url: %s" + + #: notmuch/mutt_notmuch.c:449 + msgid "Invalid nm_query_window_timebase value (valid values are: hour, day, week, month or year)" +@@ -5998,182 +6076,182 @@ msgstr "rodyti/slėpti šoninę juostą" + msgid "show S/MIME options" + msgstr "rodyti S/MIME parinktis" + +-#: pager.c:222 ++#: pager.c:214 + msgid "Not available in this menu" + msgstr "Neprieinama šiame meniu" + +-#: pager.c:229 ++#: pager.c:221 + msgid "PrevPg" + msgstr "PraPsl" + +-#: pager.c:230 ++#: pager.c:222 + msgid "NextPg" + msgstr "KitPsl" + +-#: pager.c:235 ++#: pager.c:227 + msgid "View Attachm." + msgstr "Priedai" + +-#: pager.c:238 pager.c:247 ++#: pager.c:230 pager.c:239 + msgid "Next" + msgstr "Kitas" + + #. L10N: Status bar message: the entire email is visible in the pager + #. L10N: Status bar message: all the emails are visible in the index +-#: pager.c:2180 status.c:278 ++#: pager.c:2136 status.c:278 + msgid "all" + msgstr "visi" + + #. L10N: Status bar message: the end of the email is visible in the pager + #. L10N: Status bar message: the end of the list emails is visible in the index +-#: pager.c:2182 status.c:276 ++#: pager.c:2138 status.c:276 + msgid "end" + msgstr "pabaiga" + +-#: pager.c:2530 pager.c:2566 pager.c:2602 pager.c:2937 ++#: pager.c:2503 pager.c:2539 pager.c:2576 pager.c:2911 + msgid "Bottom of message is shown" + msgstr "Rodoma laiško apačia" + +-#: pager.c:2543 pager.c:2573 pager.c:2580 pager.c:2590 ++#: pager.c:2516 pager.c:2546 pager.c:2553 pager.c:2564 + msgid "Top of message is shown" + msgstr "Rodomas laiško viršus" + +-#: pager.c:2840 ++#: pager.c:2814 + msgid "Help is currently being shown" + msgstr "Šiuo metu rodoma pagalba" + +-#: pager.c:2897 ++#: pager.c:2871 + msgid "No more quoted text" + msgstr "Cituojamo teksto nebėra" + +-#: pager.c:2914 ++#: pager.c:2888 + msgid "No more unquoted text after quoted text" + msgstr "Nėra daugiau necituojamo teksto už cituojamo" + +-#: pattern.c:220 pattern.c:297 pattern.c:1046 ++#: pattern.c:221 pattern.c:298 pattern.c:1085 + #, c-format + msgid "Error in expression: %s" + msgstr "Klaida išraiškoje: %s" + +-#: pattern.c:226 pattern.c:302 pattern.c:1052 ++#: pattern.c:227 pattern.c:303 pattern.c:1091 + msgid "Empty expression" + msgstr "Tuščia išraiška" + +-#: pattern.c:288 ++#: pattern.c:289 + msgid "No search command defined" + msgstr "Paieškos komanda nebuvo apibrėžta" + +-#: pattern.c:326 ++#: pattern.c:327 + #, c-format + msgid "Running search command: %s ..." + msgstr "Kviečiu paieškos komandą: %s ..." + +-#: pattern.c:417 ++#: pattern.c:441 pattern.c:456 + #, c-format + msgid "Invalid day of month: %s" + msgstr "Bloga mėnesio diena: %s" + +-#: pattern.c:431 ++#: pattern.c:446 pattern.c:470 + #, c-format + msgid "Invalid month: %s" + msgstr "Blogas mėnuo: %s" + +-#: pattern.c:534 ++#: pattern.c:573 + #, c-format + msgid "Invalid relative date: %s" + msgstr "Bloga data: %s" + +-#: pattern.c:842 pattern.c:975 ++#: pattern.c:881 pattern.c:1014 + msgid "No current message" + msgstr "Nėra dabartinio laiško" + +-#: pattern.c:1002 ++#: pattern.c:1041 + msgid "No Context" + msgstr "Nėra konteksto" + +-#: pattern.c:1125 ++#: pattern.c:1164 + msgid "Error opening 'memory stream'" + msgstr "Klaida atidarant atminties srautą" + +-#: pattern.c:1171 ++#: pattern.c:1210 + msgid "Error re-opening 'memory stream'" + msgstr "Klaida atidarant atminties srautą iš naujo" + +-#: pattern.c:1180 ++#: pattern.c:1219 + msgid "Error opening /dev/null" + msgstr "Klaida atidarant /dev/null" + +-#: pattern.c:1443 pattern.c:1620 ++#: pattern.c:1482 pattern.c:1662 + #, c-format + msgid "error in pattern at: %s" + msgstr "klaida pattern'e: %s" + +-#: pattern.c:1476 ++#: pattern.c:1515 + #, c-format + msgid "missing pattern: %s" + msgstr "trūksta šablono: %s" + +-#: pattern.c:1494 pattern.c:1593 ++#: pattern.c:1533 pattern.c:1635 + #, c-format + msgid "mismatched parentheses: %s" + msgstr "trūkstami skliausteliai: %s" + +-#: pattern.c:1559 ++#: pattern.c:1598 + #, c-format + msgid "%c: invalid pattern modifier" + msgstr "%c: blogas šablono modifikatorius" + +-#: pattern.c:1564 ++#: pattern.c:1603 + #, c-format + msgid "%c: not supported in this mode" + msgstr "%c: nepalaikomas šiame režime" + +-#: pattern.c:1576 ++#: pattern.c:1618 + msgid "missing parameter" + msgstr "trūksta parametro" + +-#: pattern.c:1626 ++#: pattern.c:1668 + msgid "empty pattern" + msgstr "tuščias pattern'as" + +-#: pattern.c:2080 pattern.c:2083 ++#: pattern.c:2202 pattern.c:2205 + msgid "error: server custom search only supported with IMAP" + msgstr "klaida: serverio paieška palaikoma tik su IMAP" + +-#: pattern.c:2274 ++#: pattern.c:2398 + #, c-format + msgid "error: unknown op %d (report this error)" + msgstr "klaida: nežinoma operacija %d (praneškite šią klaidą)" + +-#: pattern.c:2448 pattern.c:2604 ++#: pattern.c:2572 pattern.c:2728 + msgid "Compiling search pattern..." + msgstr "Kompiliuoju paieškos pattern'ą..." + +-#: pattern.c:2468 ++#: pattern.c:2592 + msgid "Executing command on matching messages..." + msgstr "Vykdau komandą tinkantiems laiškams..." + +-#: pattern.c:2537 ++#: pattern.c:2661 + msgid "No messages matched criteria" + msgstr "Jokie laiškai netenkina kriterijaus" + +-#: pattern.c:2641 ++#: pattern.c:2765 + msgid "Searching..." + msgstr "Ieškau..." + +-#: pattern.c:2655 ++#: pattern.c:2779 + msgid "Search hit bottom without finding match" + msgstr "Paieška pasiekė apačią nieko neradusi" + +-#: pattern.c:2666 ++#: pattern.c:2790 + msgid "Search hit top without finding match" + msgstr "Paieška pasiekė viršų nieko neradusi" + +-#: pattern.c:2700 ++#: pattern.c:2824 + msgid "Search interrupted" + msgstr "Paieška pertraukta" + +-#: pop/pop.c:216 pop/pop_lib.c:234 ++#: pop/pop.c:216 pop/pop_lib.c:259 + msgid "Command TOP is not supported by server" + msgstr "Serveris nepalaiko komandos TOP" + +@@ -6181,7 +6259,7 @@ msgstr "Serveris nepalaiko komandos TOP" + msgid "Can't write header to temporary file" + msgstr "Negaliu įrašyti antraštės į laikiną bylą" + +-#: pop/pop.c:420 pop/pop_lib.c:236 ++#: pop/pop.c:420 pop/pop_lib.c:261 + msgid "Command UIDL is not supported by server" + msgstr "Serveris nepalaiko komandos UIDL" + +@@ -6197,7 +6275,7 @@ msgstr[2] "%d laiškų pradingo. Bandyk iš naujo atidaryti dėžutę." + msgid "POP host is not defined" + msgstr "POP hostas nenurodytas" + +-#: pop/pop.c:596 pop/pop.c:825 ++#: pop/pop.c:596 pop/pop.c:790 pop/pop.c:820 + #, c-format + msgid "%s is an invalid POP path" + msgstr "%s yra blogas POP kelias" +@@ -6232,126 +6310,126 @@ msgstr[0] "%s [%d iš %d laiško perskaityta]" + msgstr[1] "%s [%d iš %d laiškų perskaityta]" + msgstr[2] "%s [%d iš %d laiškų perskaityta]" + +-#: pop/pop.c:876 ++#: pop/pop.c:871 + msgid "Fetching list of messages..." + msgstr "Paimu laiškų sąrašą..." + +-#: pop/pop.c:959 ++#: pop/pop.c:954 + msgid "Marking messages deleted..." + msgstr "Pažymiu laiškus ištrintais..." + +-#: pop/pop.c:1150 ++#: pop/pop.c:1145 + msgid "Can't write message to temporary file" + msgstr "Negaliu įrašyti laiško į laikiną bylą" + +-#: pop/pop_auth.c:103 ++#: pop/pop_auth.c:104 + msgid "Authenticating (SASL)..." + msgstr "Autentikuojuosi (SASL)..." + +-#: pop/pop_auth.c:245 ++#: pop/pop_auth.c:246 + msgid "POP timestamp is invalid" + msgstr "POP laikas neteisingas" + +-#: pop/pop_auth.c:249 ++#: pop/pop_auth.c:250 + msgid "Authenticating (APOP)..." + msgstr "Autentikuojuosi (APOP)..." + +-#: pop/pop_auth.c:269 ++#: pop/pop_auth.c:270 + msgid "APOP authentication failed" + msgstr "APOP autentikacija nepavyko" + +-#: pop/pop_auth.c:309 ++#: pop/pop_auth.c:310 + msgid "Command USER is not supported by server" + msgstr "Serveris nepalaiko komandos USER" + +-#: pop/pop_auth.c:386 ++#: pop/pop_auth.c:387 + msgid "Authentication failed" + msgstr "Autentikacija nepavyko" + +-#: pop/pop_lib.c:78 ++#: pop/pop_lib.c:103 + #, c-format + msgid "Invalid POP URL: %s" + msgstr "Blogas POP URL: %s" + +-#: pop/pop_lib.c:232 ++#: pop/pop_lib.c:257 + msgid "Unable to leave messages on server" + msgstr "Negaliu palikti laiškų serveryje" + +-#: pop/pop_lib.c:274 ++#: pop/pop_lib.c:300 + #, c-format + msgid "Error connecting to server: %s" + msgstr "Klaida jungiantis prie IMAP serverio: %s" + +-#: pop/pop_lib.c:414 ++#: pop/pop_lib.c:440 + msgid "Closing connection to POP server..." + msgstr "Uždarau jungtį su POP serveriu..." + +-#: pop/pop_lib.c:605 ++#: pop/pop_lib.c:631 + msgid "Verifying message indexes..." + msgstr "Tikrinu laiškų indeksus..." + +-#: pop/pop_lib.c:628 ++#: pop/pop_lib.c:654 + msgid "Connection lost. Reconnect to POP server?" + msgstr "Jungtis prarasta. Vėl prisijungti prie POP serverio?" + +-#: postpone.c:229 ++#: postpone.c:260 + msgid "Postponed Messages" + msgstr "Atidėti laiškai" + +-#: postpone.c:314 postpone.c:326 ++#: postpone.c:348 postpone.c:372 + msgid "No postponed messages" + msgstr "Nėra atidėtų laiškų" + +-#: postpone.c:480 ++#: postpone.c:526 + msgid "Illegal S/MIME header" + msgstr "Neleistina S/MIME antraštė" + +-#: postpone.c:510 postpone.c:551 postpone.c:560 ++#: postpone.c:556 postpone.c:597 postpone.c:606 + msgid "Illegal crypto header" + msgstr "Neleistina šifro antraštė" + +-#: postpone.c:644 postpone.c:752 postpone.c:780 ++#: postpone.c:690 postpone.c:798 postpone.c:826 + msgid "Decrypting message..." + msgstr "Iššifruoju laišką..." + +-#: query.c:82 ++#: query.c:80 + msgid "New Query" + msgstr "Nauja užklausa" + +-#: query.c:83 ++#: query.c:81 + msgid "Make Alias" + msgstr "Padaryti aliasą" + +-#: query.c:180 ++#: query.c:178 + msgid "Waiting for response..." + msgstr "Laukiu atsakymo..." + +-#: query.c:362 query.c:400 ++#: query.c:365 query.c:434 + msgid "Query: " + msgstr "Užklausa: " + +-#: query.c:370 query.c:407 ++#: query.c:374 query.c:442 + #, c-format + msgid "Query '%s'" + msgstr "Užklausa '%s''" + +-#: query.c:620 query.c:657 ++#: query.c:661 query.c:698 + msgid "Query command not defined" + msgstr "Užklausos komanda nenurodyta" + +-#: recvattach.c:93 ++#: recvattach.c:91 + msgid "Pipe" + msgstr "Pipe" + +-#: recvattach.c:94 ++#: recvattach.c:92 + msgid "Print" + msgstr "Spausdinti" + +-#: recvattach.c:569 ++#: recvattach.c:571 + msgid "Saving..." + msgstr "Išsaugau..." + +-#: recvattach.c:573 recvattach.c:744 recvattach.c:748 ++#: recvattach.c:575 recvattach.c:746 recvattach.c:750 + #, c-format + msgid "Attachment saved" + msgid_plural "%d attachments saved" +@@ -6359,26 +6437,26 @@ msgstr[0] "%d priedas išsaugotas" + msgstr[1] "%d priedai išsaugoti" + msgstr[2] "%d priedų išsaugota" + +-#: recvattach.c:772 ++#: recvattach.c:774 + #, c-format + msgid "WARNING! You are about to overwrite %s, continue?" + msgstr "DĖMESIO! Tu žadi užrašyti ant seno %s, tęsti" + +-#: recvattach.c:790 ++#: recvattach.c:792 + msgid "Attachment filtered" + msgstr "Priedas perfiltruotas" + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Filter through: " + msgstr "Filtruoti per: " + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Pipe to: " + msgstr "Pipe į: " + + #. L10N: s gets replaced by a MIME type, e.g. "text/plain" or + #. application/octet-stream. +-#: recvattach.c:935 ++#: recvattach.c:937 + #, c-format + msgid "I don't know how to print %s attachments" + msgstr "Aš nežinau kaip spausdinti %s priedus" +@@ -6386,7 +6464,7 @@ msgstr "Aš nežinau kaip spausdinti %s priedus" + #. L10N: Although we now the precise number of tagged messages, we + #. do not show it to the user. So feel free to use a "generic + #. plural" as plural translation if your language has one. +-#: recvattach.c:1038 ++#: recvattach.c:1040 + #, c-format + msgid "Print tagged attachment?" + msgid_plural "Print %d tagged attachments?" +@@ -6394,48 +6472,48 @@ msgstr[0] "Spausdinti %d pažymėtą priedą?" + msgstr[1] "Spausdinti %d pažymėtus priedus?" + msgstr[2] "Spausdinti %d pažymėtų priedus?" + +-#: recvattach.c:1039 ++#: recvattach.c:1041 + #, c-format + msgid "Print attachment?" + msgstr "Spausdinti priedą?" + +-#: recvattach.c:1123 ++#: recvattach.c:1125 + msgid "Structural changes to decrypted attachments are not supported" + msgstr "Struktūriniai iššifruotų priedų pakeitimai nepalaikomi" + +-#: recvattach.c:1291 ++#: recvattach.c:1293 + msgid "Can't decrypt encrypted message" + msgstr "Negaliu iššifruoti užšifruoti laiško" + +-#: recvattach.c:1425 ++#: recvattach.c:1457 + msgid "Attachments" + msgstr "Priedai" + +-#: recvattach.c:1465 ++#: recvattach.c:1497 + msgid "There are no subparts to show" + msgstr "Nėra vidinių dalių" + +-#: recvattach.c:1520 ++#: recvattach.c:1552 + msgid "Can't delete attachment from POP server" + msgstr "Negaliu ištrinti priedo iš POP serverio" + +-#: recvattach.c:1529 ++#: recvattach.c:1561 + msgid "Can't delete attachment from news server" + msgstr "Negaliu ištrinti priedo iš naujienų serverio" + +-#: recvattach.c:1536 ++#: recvattach.c:1568 + msgid "Deletion of attachments from encrypted messages is unsupported" + msgstr "Užšifruotų laiškų priedų ištrynimas nepalaikomas" + +-#: recvattach.c:1542 ++#: recvattach.c:1574 + msgid "Deletion of attachments from signed messages may invalidate the signature" + msgstr "Pasirašytų laiškų priedų ištrynimas gali sugadinti parašą" + +-#: recvattach.c:1561 recvattach.c:1578 ++#: recvattach.c:1593 recvattach.c:1610 + msgid "Only deletion of multipart attachments is supported" + msgstr "Palaikomas trynimas tik iš keleto dalių priedų" + +-#: recvcmd.c:79 ++#: recvcmd.c:78 + msgid "You may only bounce message/rfc822 parts" + msgstr "Tu gali nukreipti tik message/rfc822 priedus" + +@@ -6472,7 +6550,7 @@ msgstr "Negaliu sukurti %s" + msgid "Can't find any tagged messages" + msgstr "Negaliu rasti nė vieno pažymėto laiško" + +-#: recvcmd.c:848 send.c:1073 ++#: recvcmd.c:848 send.c:1072 + msgid "No mailing lists found" + msgstr "Nerasta jokia konferencija" + +@@ -6486,67 +6564,67 @@ msgstr "Negaliu dekoduoti visų pažymėtų priedų. Enkapsuliuoti kitus MIME f + msgid "You may only compose to sender with message/rfc822 parts" + msgstr "Tu gali sukurti naują laišką tik message/rfc822 priedo siuntėjui" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Append" + msgstr "Pridurti" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Insert" + msgstr "Įterpti" + +-#: remailer.c:78 ++#: remailer.c:76 + msgid "OK" + msgstr "Gerai" + +-#: remailer.c:210 ++#: remailer.c:207 + msgid "" + msgstr "" + +-#: remailer.c:586 ++#: remailer.c:617 + msgid "Can't get mixmaster's type2.list" + msgstr "Negaliu gauti mixmaster'io type2.list" + +-#: remailer.c:612 ++#: remailer.c:673 + msgid "Select a remailer chain" + msgstr "Pasirink persiuntėjų grandinę" + +-#: remailer.c:674 ++#: remailer.c:735 + #, c-format + msgid "Error: %s can't be used as the final remailer of a chain" + msgstr "Klaida: %s negali būti naudojamas kaip galutinis persiuntėjas grandinėje" + + #. L10N The '%d' here hard-coded to 19 +-#: remailer.c:706 ++#: remailer.c:767 + #, c-format + msgid "Mixmaster chains are limited to %d elements" + msgstr "Mixmaster'io grandinės turi būti ne ilgesnės nei %d elementų" + +-#: remailer.c:729 ++#: remailer.c:790 + msgid "The remailer chain is already empty" + msgstr "Persiuntėjų grandinė jau tuščia" + +-#: remailer.c:739 ++#: remailer.c:800 + msgid "You already have the first chain element selected" + msgstr "Tu jau pasirinkai pirmą grandinės elementą" + +-#: remailer.c:749 ++#: remailer.c:810 + msgid "You already have the last chain element selected" + msgstr "Tu jau pasirinkai paskutinį grandinės elementą" + +-#: remailer.c:792 ++#: remailer.c:856 + msgid "Mixmaster doesn't accept Cc or Bcc headers" + msgstr "Mixmaster'is nepriima Cc bei Bcc antraščių" + +-#: remailer.c:817 ++#: remailer.c:881 + msgid "Please set the hostname variable to a proper value when using mixmaster" + msgstr "Teisingai nustatyk hostname kintamąjį, kai naudoji mixmaster'į" + +-#: remailer.c:860 ++#: remailer.c:924 + #, c-format + msgid "Error sending message, child exited %d.\n" + msgstr "Klaida siunčiant laišką, klaidos kodas %d.\n" + +-#: remailer.c:864 ++#: remailer.c:928 + msgid "Error sending message" + msgstr "Klaida siunčiant laišką" + +@@ -6576,41 +6654,41 @@ msgstr "Persiųsti priedus?" + + #. L10N: Asks whether the user respects the reply-to header. + #. If she says no, neomutt will reply to the from header's address instead. +-#: send.c:793 ++#: send.c:792 + #, c-format + msgid "Reply to %s%s?" + msgstr "Atsakyti %s%s?" + +-#: send.c:838 ++#: send.c:837 + #, c-format + msgid "Follow-up to %s%s?" + msgstr "Pratęsti-į %s%s?" + +-#: send.c:1122 ++#: send.c:1121 + msgid "Include message in reply?" + msgstr "Įtraukti laišką į atsakymą?" + +-#: send.c:1128 ++#: send.c:1127 + msgid "Including quoted message..." + msgstr "Įtraukiu cituojamą laišką..." + +-#: send.c:1137 ++#: send.c:1136 + msgid "Could not include all requested messages" + msgstr "Negalėjau įtraukti visų prašytų laiškų" + +-#: send.c:1148 ++#: send.c:1147 + msgid "Forward as attachment?" + msgstr "Persiųsti kaip priedą?" + +-#: send.c:1153 ++#: send.c:1152 + msgid "Preparing forwarded message..." + msgstr "Paruošiu persiunčiamą laišką..." + +-#: send.c:1632 ++#: send.c:1631 + msgid "Fcc to an IMAP mailbox is not supported in batch mode" + msgstr "Fcc į IMAP dėžutę nepalaikoma automatiniame režime" + +-#: send.c:1664 send.c:1690 ++#: send.c:1665 send.c:1675 send.c:1701 + msgid "Save attachments in Fcc?" + msgstr "Išsaugoti priedus Fcc?" + +@@ -6618,190 +6696,190 @@ msgstr "Išsaugoti priedus Fcc?" + #. (r)etry tries the same mailbox again. + #. alternate (m)ailbox prompts for a different mailbox to try. + #. (s)kip aborts saving. +-#: send.c:1712 ++#: send.c:1723 + msgid "Fcc failed. (r)etry, alternate (m)ailbox, or (s)kip?" + msgstr "Fcc nepavyko. (b)andyti vėl, naudoti kitą (d)ėžutę, ar (p)raleisti?" + + #. L10N: These correspond to the "Fcc failed" multi-choice prompt + #. (r)etry, alternate (m)ailbox, or (s)kip. + #. Any similarity to famous leaders of the FSF is coincidental. +-#: send.c:1716 ++#: send.c:1727 + msgid "rms" + msgstr "bdp" + + #. L10N: This is the prompt to enter an "alternate (m)ailbox" when the + #. initial Fcc fails. +-#: send.c:1722 ++#: send.c:1733 + msgid "Fcc mailbox" + msgstr "Fcc dėžutė" + +-#: send.c:1788 ++#: send.c:1799 + msgid "Can't postpone. $postponed is unset" + msgstr "Negaliu atidėti. $postponed nenustatytas" + +-#: send.c:1923 ++#: send.c:1934 + msgid "Recall postponed message?" + msgstr "Tęsti atidėtą laišką?" + +-#: send.c:2228 ++#: send.c:2239 + msgid "Edit forwarded message?" + msgstr "Redaguoti persiunčiamą laišką?" + +-#: send.c:2266 ++#: send.c:2277 + msgid "Abort unmodified message?" + msgstr "Nutraukti nepakeistą laišką?" + +-#: send.c:2268 ++#: send.c:2279 + msgid "Aborted unmodified message" + msgstr "Nutrauktas nepakeistas laiškas" + +-#: send.c:2388 ++#: send.c:2399 + msgid "No crypto backend configured. Disabling message security setting." + msgstr "Kriptografijos mechanizmas nesukonfigūruotas. Išjungiu laiškų saugumo nustatymus." + +-#: send.c:2427 ++#: send.c:2438 + msgid "Article not posted" + msgstr "Straipsnis neišsiųstas" + +-#: send.c:2437 ++#: send.c:2448 + msgid "Message postponed" + msgstr "Laiškas atidėtas" + +-#: send.c:2470 ++#: send.c:2481 + msgid "No subject, abort sending?" + msgstr "Nėra temos, nutraukti siuntimą?" + +-#: send.c:2474 send.c:2480 ++#: send.c:2485 send.c:2491 + msgid "No subject specified" + msgstr "Nenurodyta jokia tema" + +-#: send.c:2486 ++#: send.c:2497 + msgid "No newsgroup specified" + msgstr "Nenurodyta jokia naujienų grupė" + +-#: send.c:2496 ++#: send.c:2507 + msgid "No attachments, cancel sending?" + msgstr "Nėra priedų, atšaukti siuntimą?" + +-#: send.c:2501 ++#: send.c:2512 + msgid "Message contains text matching \"$abort_noattach_regex\". Not sending." + msgstr "Laiške yra tekstas, atitinkantis \"$abort_noattach_regex\". Nesiunčiu." + +-#: send.c:2559 smtp.c:227 ++#: send.c:2570 smtp.c:230 + msgid "Sending message..." + msgstr "Siunčiu laišką..." + +-#: send.c:2598 ++#: send.c:2609 + msgid "Could not send the message" + msgstr "Negalėjau išsiųsti laiško" + +-#: send.c:2608 ++#: send.c:2619 + msgid "Sending in background" + msgstr "Siunčiu fone" + +-#: send.c:2609 ++#: send.c:2620 + msgid "Article posted" + msgstr "Straipsnis išsiųstas" + +-#: send.c:2610 ++#: send.c:2621 + msgid "Mail sent" + msgstr "Laiškas išsiųstas" + +-#: sendlib.c:567 ++#: sendlib.c:566 + msgid "No boundary parameter found [report this error]" + msgstr "Trūksta boundary parametro [pranešk šią klaidą]" + +-#: sendlib.c:598 ++#: sendlib.c:597 + #, c-format + msgid "%s no longer exists" + msgstr "%s nebeegzistuoja" + +-#: sendlib.c:1056 ++#: sendlib.c:1055 + #, c-format + msgid "%s isn't a regular file" + msgstr "%s nėra paprasta byla" + +-#: sendlib.c:1223 ++#: sendlib.c:1222 + msgid "Could not find any mime.types file." + msgstr "Negalėjau rasti jokios mime.types bylos." + +-#: sendlib.c:1314 ++#: sendlib.c:1313 + #, c-format + msgid "Could not open %s" + msgstr "Negalėjau atidaryti %s" + +-#: sendlib.c:2864 ++#: sendlib.c:2855 + msgid "$sendmail must be set in order to send mail" + msgstr "$sendmail turi būti nurodytas norint siųsti laiškus" + +-#: sendlib.c:2971 ++#: sendlib.c:2962 + #, c-format + msgid "Error sending message, child exited %d (%s)" + msgstr "Klaida siunčiant laišką, klaidos kodas %d (%s)" + +-#: sendlib.c:2977 ++#: sendlib.c:2969 + msgid "Output of the delivery process" + msgstr "Pristatymo proceso išvestis" + +-#: sendlib.c:3157 ++#: sendlib.c:3154 + #, c-format + msgid "Bad IDN %s while preparing resent-from" + msgstr "Blogas IDN %s bandant paruošti Resent-From: antraštę" + +-#: smtp.c:165 ++#: smtp.c:168 + #, c-format + msgid "SMTP session failed: %s" + msgstr "SMTP sesija nepavyko: %s" + +-#: smtp.c:222 ++#: smtp.c:225 + #, c-format + msgid "SMTP session failed: unable to open %s" + msgstr "SMTP sesija nepavyko: negaliu atidaryti %s" + +-#: smtp.c:339 ++#: smtp.c:364 + #, c-format + msgid "Invalid SMTP URL: %s" + msgstr "Blogas SMTP URL: %s" + +-#: smtp.c:618 ++#: smtp.c:643 + #, c-format + msgid "SMTP authentication method %s requires SASL" + msgstr "SMTP autentikacijos metodui %s reikia SASL" + +-#: smtp.c:625 ++#: smtp.c:650 + #, c-format + msgid "%s authentication failed, trying next method" + msgstr "%s autentikacija nepavyko, bandau kitą metodą" + +-#: smtp.c:636 ++#: smtp.c:661 + msgid "SMTP authentication requires SASL" + msgstr "SMTP autentikacijai reikia SASL" + +-#: smtp.c:717 ++#: smtp.c:742 + msgid "SMTP server does not support authentication" + msgstr "SMTP serveris nepalaiko autentikacijos" + +-#: smtp.c:756 ++#: smtp.c:781 + msgid "No from address given" + msgstr "Nenurodytas siuntėjo adresas" + +-#: smtp.c:821 ++#: smtp.c:846 + msgid "SMTP session failed: read error" + msgstr "SMTP sesija nepavyko: skaitymo klaida" + +-#: smtp.c:823 ++#: smtp.c:848 + msgid "SMTP session failed: write error" + msgstr "SMTP sesija nepavyko: rašymo klaida" + +-#: smtp.c:825 ++#: smtp.c:850 + msgid "Invalid server response" + msgstr "Blogas serverio atsakymas" + +-#: sort.c:385 ++#: sort.c:387 + msgid "Sorting mailbox..." + msgstr "Rikiuoju dėžutę..." + +-#: sort.c:427 ++#: sort.c:429 + msgid "Could not find sorting function [report this bug]" + msgstr "Negalėjau rasti rikiavimo funkcijos [pranešk šią klaidą]" + +@@ -6871,10 +6949,10 @@ msgstr "" + "NeoMutt yra laisva programinė įranga, ir tu gali laisvai ją platinti su tam\n" + "tikromis sąlygomis; rašyk 'neomutt -vv' dėl smulkmenų.\n" + +-#: version.c:446 ++#: version.c:451 + msgid "Default options:" + msgstr "Įprastos parinktys:" + +-#: version.c:449 ++#: version.c:454 + msgid "Compile options:" + msgstr "Kompiliavimo parinktys:" +diff --git a/po/nl.po b/po/nl.po +index 5b233bf84..e37968330 100644 +--- a/po/nl.po ++++ b/po/nl.po +@@ -10,7 +10,7 @@ msgid "" + msgstr "" + "Project-Id-Version: neomutt-2019-12-07\n" + "Report-Msgid-Bugs-To: neomutt-devel@neomutt.org\n" +-"POT-Creation-Date: 2019-12-06 23:10+0000\n" ++"POT-Creation-Date: 2020-03-09 12:15+0000\n" + "PO-Revision-Date: 2017-02-22 20:12+0100\n" + "Last-Translator: Benno Schulenberg \n" + "Language-Team: Dutch \n" +@@ -20,16 +20,40 @@ msgstr "" + "Content-Transfer-Encoding: 8bit\n" + "Plural-Forms: nplurals=2; plural=(n != 1);\n" + +-#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:59 browser.c:80 browser.c:90 +-#: mutt_history.c:45 pager.c:228 postpone.c:68 query.c:80 recvattach.c:93 ++msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" ++msgstr "(w)eigeren, (e)enmalig toelaten, (a)ltijd toelaten, (s)kip" ++ ++msgid "roas" ++msgstr "weas" ++ ++msgid "(r)eject, accept (o)nce, (a)ccept always" ++msgstr "(w)eigeren, (e)enmalig toelaten, (a)ltijd toelaten" ++ ++msgid "roa" ++msgstr "wea" ++ ++msgid "(r)eject, accept (o)nce, (s)kip" ++msgstr "(w)eigeren, (e)enmalig toelaten, (s)kip" ++ ++msgid "ros" ++msgstr "wes" ++ ++msgid "(r)eject, accept (o)nce" ++msgstr "(w)eigeren, (e)enmalig toelaten" ++ ++msgid "ro" ++msgstr "we" ++ ++#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:58 browser.c:79 browser.c:89 ++#: mutt_history.c:45 pager.c:220 postpone.c:68 query.c:78 recvattach.c:91 + msgid "Exit" + msgstr "Afsluiten" + +-#: addrbook.c:56 index.c:116 index.c:129 pager.c:236 pager.c:246 postpone.c:69 ++#: addrbook.c:56 index.c:112 index.c:125 pager.c:228 pager.c:238 postpone.c:69 + msgid "Del" + msgstr "Wis" + +-#: addrbook.c:57 index.c:117 index.c:130 postpone.c:70 ++#: addrbook.c:57 index.c:113 index.c:126 postpone.c:70 + msgid "Undel" + msgstr "Herstel" + +@@ -37,18 +61,18 @@ msgstr "Herstel" + msgid "Select" + msgstr "Selecteren" + +-#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:82 browser.c:84 browser.c:96 +-#: compose.c:218 compose.c:230 conn/ssl.c:983 conn/ssl_gnutls.c:691 index.c:122 +-#: index.c:135 mutt_history.c:48 ncrypt/crypt_gpgme.c:4735 ncrypt/pgpkey.c:670 +-#: ncrypt/smime.c:553 pager.c:2326 postpone.c:71 query.c:85 recvattach.c:94 ++#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:81 browser.c:83 browser.c:95 ++#: compose.c:216 compose.c:228 conn/ssl.c:996 conn/ssl_gnutls.c:722 index.c:118 ++#: index.c:131 mutt_history.c:48 ncrypt/crypt_gpgme.c:4783 ncrypt/pgpkey.c:673 ++#: ncrypt/smime.c:555 pager.c:2297 postpone.c:71 query.c:83 recvattach.c:92 + msgid "Help" + msgstr "Hulp" + +-#: addrbook.c:208 ++#: addrbook.c:238 + msgid "You have no aliases" + msgstr "Geen afkortingen beschikbaar" + +-#: addrbook.c:215 ++#: addrbook.c:276 + msgid "Aliases" + msgstr "Afkortingen" + +@@ -57,52 +81,52 @@ msgstr "Afkortingen" + msgid "Alias as: " + msgstr "Afkorten als: " + +-#: alias.c:411 ++#: alias.c:414 + msgid "You already have an alias defined with that name" + msgstr "U heeft al een afkorting onder die naam" + +-#: alias.c:417 ++#: alias.c:420 + msgid "Warning: This alias name may not work. Fix it?" + msgstr "Waarschuwing: deze afkorting kan niet werken. Verbeteren?" + +-#: alias.c:442 ++#: alias.c:445 + msgid "Address: " + msgstr "Adres: " + +-#: alias.c:453 commands.c:444 compose.c:744 conn/conn_raw.c:152 +-#: conn/conn_raw.c:210 recvcmd.c:232 send.c:228 ++#: alias.c:457 commands.c:450 compose.c:743 conn/conn_raw.c:152 ++#: conn/conn_raw.c:210 recvcmd.c:231 send.c:227 + #, c-format + msgid "Bad IDN: '%s'" + msgstr "Ongeldig IDN: '%s'" + +-#: alias.c:464 ++#: alias.c:468 + msgid "Personal name: " + msgstr "Naam: " + +-#: alias.c:473 ++#: alias.c:477 + #, c-format + msgid "[%s = %s] Accept?" + msgstr "[%s = %s] Accepteren?" + +-#: alias.c:484 recvattach.c:528 recvattach.c:550 recvattach.c:564 +-#: recvattach.c:579 recvattach.c:678 ++#: alias.c:488 recvattach.c:530 recvattach.c:552 recvattach.c:566 ++#: recvattach.c:581 recvattach.c:680 + msgid "Save to file: " + msgstr "Opslaan als: " + +-#: alias.c:503 ++#: alias.c:507 + msgid "Error reading alias file" + msgstr "Fout tijdens inlezen adresbestand" + +-#: alias.c:525 ++#: alias.c:529 + #, fuzzy + msgid "Trouble adding alias" + msgstr "Fout tijdens inlezen adresbestand" + +-#: alias.c:527 ++#: alias.c:531 + msgid "Alias added" + msgstr "Adres toegevoegd" + +-#: alias.c:532 ++#: alias.c:536 + msgid "Error seeking in alias file" + msgstr "Fout tijdens doorzoeken adresbestand" + +@@ -111,7 +135,7 @@ msgstr "Fout tijdens doorzoeken adresbestand" + #. for some reason (e.g. autocrypt, header cache, bcache), but it + #. doesn't exist. The prompt is asking whether to create the directory + #. +-#: autocrypt/autocrypt.c:70 main.c:826 ++#: autocrypt/autocrypt.c:70 main.c:757 + #, c-format + msgid "%s does not exist. Create it?" + msgstr "%s bestaat niet. Aanmaken?" +@@ -120,8 +144,8 @@ msgstr "%s bestaat niet. Aanmaken?" + #. mkdir() on the directory %s failed. The second %s is the + #. error message returned by libc + #. +-#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:830 +-#: nntp/newsrc.c:1069 ++#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:761 ++#: nntp/newsrc.c:1098 + #, c-format + msgid "Can't create %s: %s" + msgstr "Kan bestand %s niet aanmaken: %s" +@@ -131,7 +155,7 @@ msgstr "Kan bestand %s niet aanmaken: %s" + #. create $autocrypt_dir and then prompt to create an autocrypt + #. account with this message. + #. +-#: autocrypt/autocrypt.c:156 ++#: autocrypt/autocrypt.c:163 + msgid "Create an initial autocrypt account?" + msgstr "" + +@@ -140,7 +164,7 @@ msgstr "" + #. autocrypt account. This will generate a key and add a record + #. to the database for use in autocrypt operations. + #. +-#: autocrypt/autocrypt.c:180 ++#: autocrypt/autocrypt.c:187 + msgid "Autocrypt account address: " + msgstr "" + +@@ -149,7 +173,7 @@ msgstr "" + #. a single address. This is shown if they entered something invalid, + #. nothing, or more than one address for some reason. + #. +-#: autocrypt/autocrypt.c:191 ++#: autocrypt/autocrypt.c:198 + msgid "Please enter a single email address" + msgstr "" + +@@ -158,7 +182,7 @@ msgstr "" + #. if there is already an account in the database with the email address + #. they just entered. + #. +-#: autocrypt/autocrypt.c:208 ++#: autocrypt/autocrypt.c:215 + msgid "That email address already has an autocrypt account" + msgstr "" + +@@ -170,7 +194,7 @@ msgstr "" + #. Otherwise the UI will show encryption is "available" but the user + #. will be required to enable encryption manually. + #. +-#: autocrypt/autocrypt.c:223 ++#: autocrypt/autocrypt.c:230 + #, fuzzy + msgid "Prefer encryption?" + msgstr "versleuteling" +@@ -178,7 +202,7 @@ msgstr "versleuteling" + #. L10N: + #. Message displayed after an autocrypt account is successfully created. + #. +-#: autocrypt/autocrypt.c:236 ++#: autocrypt/autocrypt.c:243 + msgid "Autocrypt account creation succeeded" + msgstr "" + +@@ -186,7 +210,7 @@ msgstr "" + #. Error message displayed if creating an autocrypt account failed + #. or was aborted by the user. + #. +-#: autocrypt/autocrypt.c:242 ++#: autocrypt/autocrypt.c:249 + msgid "Autocrypt account creation aborted" + msgstr "" + +@@ -195,7 +219,7 @@ msgstr "" + #. to use to encrypt, but it can't find a valid keyid for this address. + #. The message is printed and they are returned to the compose menu. + #. +-#: autocrypt/autocrypt.c:610 autocrypt/autocrypt.c:639 ++#: autocrypt/autocrypt.c:617 autocrypt/autocrypt.c:646 + #, fuzzy, c-format + msgid "No (valid) autocrypt key found for %s" + msgstr "Geen (geldig) certificaat gevonden voor %s" +@@ -207,12 +231,12 @@ msgstr "Geen (geldig) certificaat gevonden voor %s" + #. and used for encryption. + #. If this is answered yes, they will be prompted for a mailbox. + #. +-#: autocrypt/autocrypt.c:903 ++#: autocrypt/autocrypt.c:910 + msgid "Scan a mailbox for autocrypt headers?" + msgstr "" + + #. L10N: The prompt for a mailbox to scan for Autocrypt: headers +-#: autocrypt/autocrypt.c:907 ++#: autocrypt/autocrypt.c:914 + #, fuzzy + msgid "Scan mailbox" + msgstr "Geen postvak.\n" +@@ -224,14 +248,14 @@ msgstr "Geen postvak.\n" + #. for a mailbox. This is because this is a one-time operation + #. and I don't want them to accidentally ctrl-g and abort it. + #. +-#: autocrypt/autocrypt.c:927 ++#: autocrypt/autocrypt.c:934 + msgid "Scan another mailbox for autocrypt headers?" + msgstr "" + + #. L10N: Autocrypt Account Menu Help line: + #. create new account + #. +-#: autocrypt/autocrypt_acct_menu.c:63 ++#: autocrypt/autocrypt_acct_menu.c:62 + #, fuzzy + msgid "Create" + msgstr "%s aanmaken?" +@@ -239,7 +263,7 @@ msgstr "%s aanmaken?" + #. L10N: Autocrypt Account Menu Help line: + #. delete account + #. +-#: autocrypt/autocrypt_acct_menu.c:67 remailer.c:77 ++#: autocrypt/autocrypt_acct_menu.c:66 remailer.c:75 + msgid "Delete" + msgstr "Verwijderen" + +@@ -247,9 +271,9 @@ msgstr "Verwijderen" + #. toggle an account active/inactive + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:74 ++#: autocrypt/autocrypt_acct_menu.c:73 + msgid "Tgl Active" + msgstr "" + +@@ -257,17 +281,17 @@ msgstr "" + #. toggle "prefer-encrypt" on an account + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:81 +-msgid "Prf Enc" ++#: autocrypt/autocrypt_acct_menu.c:80 ++msgid "Prf Encr" + msgstr "" + + #. L10N: + #. Autocrypt Account menu. + #. flag that an account has prefer-encrypt set + #. +-#: autocrypt/autocrypt_acct_menu.c:123 ++#: autocrypt/autocrypt_acct_menu.c:122 + msgid "prefer encrypt" + msgstr "" + +@@ -276,7 +300,7 @@ msgstr "" + #. flag that an account has prefer-encrypt unset; + #. thus encryption will need to be manually enabled. + #. +-#: autocrypt/autocrypt_acct_menu.c:130 ++#: autocrypt/autocrypt_acct_menu.c:129 + msgid "manual encrypt" + msgstr "" + +@@ -284,7 +308,7 @@ msgstr "" + #. Autocrypt Account menu. + #. flag that an account is enabled/active + #. +-#: autocrypt/autocrypt_acct_menu.c:138 ++#: autocrypt/autocrypt_acct_menu.c:137 + msgid "active" + msgstr "" + +@@ -292,12 +316,12 @@ msgstr "" + #. Autocrypt Account menu. + #. flag that an account is disabled/inactive + #. +-#: autocrypt/autocrypt_acct_menu.c:144 ++#: autocrypt/autocrypt_acct_menu.c:143 + msgid "inactive" + msgstr "" + + #. L10N: Autocrypt Account Management Menu title +-#: autocrypt/autocrypt_acct_menu.c:183 ++#: autocrypt/autocrypt_acct_menu.c:182 + msgid "Autocrypt Accounts" + msgstr "" + +@@ -305,13 +329,13 @@ msgstr "" + #. This error message is displayed if a database update of an + #. account record fails for some odd reason. + #. +-#: autocrypt/autocrypt_acct_menu.c:245 autocrypt/autocrypt_acct_menu.c:259 ++#: autocrypt/autocrypt_acct_menu.c:244 autocrypt/autocrypt_acct_menu.c:258 + #, fuzzy + msgid "Error updating account record" + msgstr "Er is een fout opgetreden tijdens het analyseren van de map" + + #. L10N: Confirmation message when deleting an autocrypt account +-#: autocrypt/autocrypt_acct_menu.c:302 ++#: autocrypt/autocrypt_acct_menu.c:333 + #, fuzzy, c-format + msgid "Really delete account \"%s\"?" + msgstr "Postvak \"%s\" echt verwijderen?" +@@ -329,7 +353,7 @@ msgstr "Postvak \"%s\" echt verwijderen?" + msgid "Unable to open autocrypt database %s" + msgstr "Kan postvak %s niet openen" + +-#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:774 ++#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:773 + #, c-format + msgid "error creating gpgme context: %s" + msgstr "fout bij het creëren van GPGME-context: %s" +@@ -402,335 +426,286 @@ msgstr "" + msgid "Message cache isn't a directory: %s" + msgstr "%s is geen map" + +-#: browser.c:81 ++#: browser.c:80 + msgid "Chdir" + msgstr "Andere map" + +-#: browser.c:82 ++#: browser.c:81 + msgid "Goto" + msgstr "Ga naar" + +-#: browser.c:83 browser.c:95 ++#: browser.c:82 browser.c:94 + msgid "Mask" + msgstr "Masker" + +-#: browser.c:91 ++#: browser.c:90 + msgid "List" + msgstr "Lijst" + +-#: browser.c:92 ++#: browser.c:91 + #, fuzzy + msgid "Subscribe" + msgstr "Geabonneerd op %s" + +-#: browser.c:93 ++#: browser.c:92 + #, fuzzy + msgid "Unsubscribe" + msgstr "Abonnement op %s opgezegd" + +-#: browser.c:94 index.c:134 ++#: browser.c:93 index.c:130 + msgid "Catchup" + msgstr "" + +-#: browser.c:760 browser.c:1519 browser.c:1758 ++#: browser.c:763 browser.c:1584 browser.c:1825 + #, c-format + msgid "%s is not a directory" + msgstr "%s is geen map" + +-#: browser.c:1025 ++#: browser.c:1028 + #, fuzzy, c-format + msgid "Subscribed newsgroups" + msgstr "Geabonneerd op %s" + +-#: browser.c:1028 ++#: browser.c:1031 + #, c-format + msgid "Newsgroups on server [%s]" + msgstr "Beschikbare nieuwsgroepen [%s]" + +-#: browser.c:1038 ++#: browser.c:1041 + #, c-format + msgid "Mailboxes [%d]" + msgstr "Postvakken [%d]" + +-#: browser.c:1050 ++#: browser.c:1053 + #, c-format + msgid "Subscribed [%s], File mask: %s" + msgstr "Geselecteerd [%s], Bestandsmasker: %s" + +-#: browser.c:1056 ++#: browser.c:1059 + #, c-format + msgid "Directory [%s], File mask: %s" + msgstr "Map [%s], Bestandsmasker: %s" + +-#: browser.c:1113 ++#: browser.c:1116 + msgid "Can't attach a directory" + msgstr "Kan geen map bijvoegen" + +-#: browser.c:1380 browser.c:1814 browser.c:1959 ++#: browser.c:1445 browser.c:1881 browser.c:2026 + msgid "No files match the file mask" + msgstr "Geen bestanden waarop het masker past gevonden." + +-#: browser.c:1587 ++#: browser.c:1654 + msgid "Create is only supported for IMAP mailboxes" + msgstr "Alleen IMAP-postvakken kunnen aangemaakt worden" + +-#: browser.c:1609 ++#: browser.c:1676 + msgid "Rename is only supported for IMAP mailboxes" + msgstr "Alleen IMAP-postvakken kunnen hernoemd worden" + +-#: browser.c:1630 ++#: browser.c:1697 + msgid "Delete is only supported for IMAP mailboxes" + msgstr "Alleen IMAP-postvakken kunnen verwijderd worden" + +-#: browser.c:1642 ++#: browser.c:1709 + #, fuzzy + msgid "Can't delete currently selected mailbox" + msgstr "toon de bestandsnaam van het huidige bestand" + +-#: browser.c:1646 ++#: browser.c:1713 + #, c-format + msgid "Really delete mailbox \"%s\"?" + msgstr "Postvak \"%s\" echt verwijderen?" + +-#: browser.c:1663 ++#: browser.c:1730 + msgid "Mailbox deleted" + msgstr "Postvak is verwijderd" + +-#: browser.c:1667 ++#: browser.c:1734 + #, fuzzy + msgid "Mailbox deletion failed" + msgstr "Postvak is niet verwijderd" + +-#: browser.c:1670 ++#: browser.c:1737 + msgid "Mailbox not deleted" + msgstr "Postvak is niet verwijderd" + +-#: browser.c:1697 ++#: browser.c:1764 + msgid "Chdir to: " + msgstr "Wisselen naar map: " + +-#: browser.c:1747 browser.c:1808 ++#: browser.c:1814 browser.c:1875 + msgid "Error scanning directory" + msgstr "Er is een fout opgetreden tijdens het analyseren van de map" + +-#: browser.c:1769 ++#: browser.c:1836 + msgid "File Mask: " + msgstr "Bestandsmasker: " + + #. L10N: The highlighted letters must match the "Sort" options +-#: browser.c:1831 ++#: browser.c:1898 + #, fuzzy + msgid "Reverse sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "Achteruit sorteren op (d)atum, bestands(g)rootte, (a)lfabet of (n)iet?" + + #. L10N: The highlighted letters must match the "Reverse Sort" options +-#: browser.c:1834 ++#: browser.c:1901 + #, fuzzy + msgid "Sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "Sorteren op (d)atum, bestands(g)rootte, (a)lfabet of helemaal (n)iet?" + + #. L10N: These must match the highlighted letters from "Sort" and "Reverse Sort" +-#: browser.c:1837 ++#: browser.c:1904 + msgid "dazecwn" + msgstr "dgan" + +-#: browser.c:1948 ++#: browser.c:2015 + msgid "New file name: " + msgstr "Nieuwe bestandsnaam: " + +-#: browser.c:1976 ++#: browser.c:2043 + msgid "Can't view a directory" + msgstr "Map kan niet worden getoond." + +-#: browser.c:1993 ++#: browser.c:2060 + msgid "Error trying to view file" + msgstr "Er is een fout opgetreden tijdens het weergeven van bestand" + +-#: browser.c:2079 ++#: browser.c:2146 + #, fuzzy, c-format + msgid "Subscribe pattern: " + msgstr "Geabonneerd op %s" + +-#: browser.c:2081 ++#: browser.c:2148 + #, fuzzy, c-format + msgid "Unsubscribe pattern: " + msgstr "Abonnement op %s opgezegd" + +-#: browser.c:2101 ++#: browser.c:2169 + #, fuzzy + msgid "No newsgroups match the mask" + msgstr "Geen bestanden waarop het masker past gevonden." + +-#: color.c:633 color.c:644 +-#, c-format +-msgid "%s: color not supported by term" +-msgstr "%s: terminal ondersteunt geen kleur" +- +-#: color.c:652 +-#, c-format +-msgid "%s: no such color" +-msgstr "%s: onbekende kleur" +- +-#: color.c:717 color.c:740 color.c:751 color.c:842 +-#, c-format +-msgid "%s: no such object" +-msgstr "%s: onbekend object" +- +-#: color.c:731 color.c:868 color.c:1069 color.c:1098 color.c:1122 color.c:1191 +-#: color.c:1214 hook.c:110 hook.c:124 hook.c:367 hook.c:383 init.c:612 +-#: init.c:620 init.c:709 init.c:1099 init.c:1267 init.c:1871 init.c:1929 +-#: keymap.c:1184 score.c:110 +-#, c-format +-msgid "%s: too few arguments" +-msgstr "%s: te weinig argumenten" +- +-#: color.c:1142 +-#, c-format +-msgid "%s: no such attribute" +-msgstr "%s: onbekend attribuut" +- +-#: color.c:1223 color.c:1329 hook.c:131 hook.c:390 init.c:1123 init.c:2133 +-#: init.c:2611 keymap.c:1116 keymap.c:1289 keymap.c:1442 keymap.c:1506 +-#: mutt_lua.c:483 score.c:119 +-#, c-format +-msgid "%s: too many arguments" +-msgstr "%s: te veel argumenten" +- +-#: color.c:1244 +-msgid "default colors not supported" +-msgstr "standaardkleuren worden niet ondersteund" +- +-#: color.c:1282 +-#, c-format +-msgid "Maximum quoting level is %d" +-msgstr "" +- +-#: color.c:1319 +-#, fuzzy, c-format +-msgid "%s: invalid number: %s" +-msgstr "Fout: score: ongeldig getal" +- + #. L10N: Used for the $crypt_verify_sig prompt +-#: commands.c:230 ++#: commands.c:232 + msgid "Verify signature?" + msgstr "Handtekening controleren?" + +-#: commands.c:257 mbox/mbox.c:1236 ++#: commands.c:259 mbox/mbox.c:1236 + msgid "Could not create temporary file" + msgstr "Tijdelijk bestand kon niet worden aangemaakt" + +-#: commands.c:269 ++#: commands.c:271 + msgid "Can't create display filter" + msgstr "Weergavefilter kan niet worden aangemaakt." + +-#: commands.c:302 ++#: commands.c:304 + msgid "Could not copy message" + msgstr "Bericht kon niet gekopieerd worden." + +-#: commands.c:338 ++#: commands.c:340 + msgid "S/MIME signature successfully verified" + msgstr "S/MIME-handtekening werd goed geverifieerd" + +-#: commands.c:340 ++#: commands.c:342 + msgid "S/MIME certificate owner does not match sender" + msgstr "S/MIME-certificaateigenaar komt niet overeen met de afzender" + +-#: commands.c:343 commands.c:353 ++#: commands.c:345 commands.c:355 + msgid "Warning: Part of this message has not been signed" + msgstr "Waarschuwing: een deel van dit bericht is niet ondertekend" + +-#: commands.c:345 ++#: commands.c:347 + msgid "S/MIME signature could NOT be verified" + msgstr "S/MIME-handtekening kon NIET worden geverifieerd" + +-#: commands.c:351 ++#: commands.c:353 + msgid "PGP signature successfully verified" + msgstr "PGP-handtekening is goed geverifieerd" + +-#: commands.c:355 ++#: commands.c:357 + msgid "PGP signature could NOT be verified" + msgstr "PGP-handtekening kon NIET worden geverifieerd" + +-#: commands.c:372 compose.c:2116 compress.c:321 curs_lib.c:359 curs_lib.c:646 +-#: index.c:1235 index.c:1285 mutt_attach.c:159 mutt_attach.c:292 pager.c:2460 +-#: sendlib.c:1625 ++#: commands.c:378 compose.c:2187 compress/compress.c:320 gui/curs_lib.c:360 ++#: gui/curs_lib.c:714 index.c:1240 index.c:1290 mutt_attach.c:161 ++#: mutt_attach.c:294 pager.c:2433 sendlib.c:1624 + #, c-format + msgid "Error running \"%s\"" + msgstr "Fout opgetreden bij het uitvoeren van \"%s\"" + +-#: commands.c:382 ++#: commands.c:388 + msgid "Command: " + msgstr "Commando: " + +-#: commands.c:419 recvcmd.c:191 recvcmd.c:203 ++#: commands.c:425 recvcmd.c:190 recvcmd.c:202 + msgid "Warning: message contains no From: header" + msgstr "Waarschuwing: bericht bevat geen 'Van:'-onderdeel" + +-#: commands.c:425 recvcmd.c:212 ++#: commands.c:431 recvcmd.c:211 + #, fuzzy + msgid "Bounce message to: " + msgstr "Bericht doorsturen naar: " + +-#: commands.c:427 recvcmd.c:214 ++#: commands.c:433 recvcmd.c:213 + #, fuzzy + msgid "Bounce tagged messages to: " + msgstr "Gemarkeerde berichten doorsturen naar: " + +-#: commands.c:436 recvcmd.c:224 ++#: commands.c:442 recvcmd.c:223 + msgid "Error parsing address" + msgstr "Ongeldig adres" + +-#: commands.c:455 recvcmd.c:243 ++#: commands.c:461 recvcmd.c:242 + #, fuzzy, c-format + msgid "Bounce message to %s?" + msgid_plural "Bounce messages to %s?" + msgstr[0] "Bericht doorsturen aan %s?" + msgstr[1] "Berichten doorsturen aan %s?" + +-#: commands.c:470 recvcmd.c:257 ++#: commands.c:476 recvcmd.c:257 + #, fuzzy + msgid "Message not bounced" + msgid_plural "Messages not bounced" + msgstr[0] "Bericht is niet doorgestuurd" + msgstr[1] "Berichten zijn niet doorgestuurd" + +-#: commands.c:496 recvcmd.c:276 ++#: commands.c:502 recvcmd.c:276 + #, fuzzy + msgid "Message bounced" + msgid_plural "Messages bounced" + msgstr[0] "Bericht is doorgestuurd" + msgstr[1] "Berichten zijn doorgestuurd" + +-#: commands.c:606 commands.c:642 commands.c:662 ++#: commands.c:612 commands.c:648 commands.c:668 + msgid "Can't create filter process" + msgstr "Kan filterproces niet aanmaken" + +-#: commands.c:698 ++#: commands.c:704 + msgid "Pipe to command: " + msgstr "Doorsluizen naar commando: " + +-#: commands.c:720 ++#: commands.c:726 + msgid "No printing command has been defined" + msgstr "Er is geen printcommando gedefinieerd" + +-#: commands.c:732 ++#: commands.c:738 + #, fuzzy + msgid "Print message?" + msgstr "Bericht afdrukken?" + +-#: commands.c:733 ++#: commands.c:739 + #, fuzzy + msgid "Print tagged messages?" + msgstr "Geselecteerde berichten afdrukken?" + +-#: commands.c:739 ++#: commands.c:745 + #, fuzzy + msgid "Message printed" + msgid_plural "Messages printed" + msgstr[0] "Bericht is afgedrukt" + msgstr[1] "Berichten zijn afgedrukt" + +-#: commands.c:742 ++#: commands.c:748 + #, fuzzy + msgid "Message could not be printed" + msgid_plural "Messages could not be printed" +@@ -738,162 +713,325 @@ msgstr[0] "Bericht kon niet worden afgedrukt" + msgstr[1] "Berichten konden niet worden afgedrukt" + + #. L10N: The highlighted letters must match the "Sort" options +-#: commands.c:759 ++#: commands.c:765 + msgid "Rev-Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "Omgekeerd op (d)atum/(v)an/o(n)tv/(o)ndw/(a)an/(t)hread/n(i)et/(g)rt/(s)core/s(p)am/(l)abel?" + + #. L10N: The highlighted letters must match the "Rev-Sort" options +-#: commands.c:763 ++#: commands.c:769 + msgid "Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "Sorteren op (d)atum/(v)an/o(n)tv/(o)ndw/(a)an/(t)hread/n(i)et/(g)rt/(s)core/s(p)am/(l)abel?" + + #. L10N: These must match the highlighted letters from "Sort" and "Rev-Sort" +-#: commands.c:767 ++#: commands.c:773 + msgid "dfrsotuzcpl" + msgstr "dvnoatigspl" + +-#: commands.c:831 ++#: commands.c:837 + msgid "Shell command: " + msgstr "Shell-commando: " + +-#: commands.c:1036 ++#: commands.c:1042 + #, fuzzy + msgid "Decode-save to mailbox" + msgstr "Decoderen-opslaan in postvak" + +-#: commands.c:1036 ++#: commands.c:1042 + #, fuzzy + msgid "Decode-save tagged to mailbox" + msgstr "Decoderen-opslaan gemarkeerd bericht naar postvak" + +-#: commands.c:1038 ++#: commands.c:1044 + #, fuzzy + msgid "Decrypt-save to mailbox" + msgstr "Ontsleutelen-opslaan in postvak" + +-#: commands.c:1038 ++#: commands.c:1044 + #, fuzzy + msgid "Decrypt-save tagged to mailbox" + msgstr "Ontsleutelen-opslaan gemarkeerd bericht naar postvak" + +-#: commands.c:1040 ++#: commands.c:1046 + #, fuzzy + msgid "Save to mailbox" + msgstr "Opslaan in postvak" + +-#: commands.c:1040 ++#: commands.c:1046 + #, fuzzy + msgid "Save tagged to mailbox" + msgstr "Sla gemarkeerd bericht op in postvak" + +-#: commands.c:1045 ++#: commands.c:1051 + #, fuzzy + msgid "Decode-copy to mailbox" + msgstr "Decoderen-kopieer naar postvak" + +-#: commands.c:1045 ++#: commands.c:1051 + #, fuzzy + msgid "Decode-copy tagged to mailbox" + msgstr "Decoderen-kopieer gemarkeerd bericht naar postvak" + +-#: commands.c:1047 ++#: commands.c:1053 + #, fuzzy + msgid "Decrypt-copy to mailbox" + msgstr "Ontsleutelen-kopieer naar postvak" + +-#: commands.c:1047 ++#: commands.c:1053 + #, fuzzy + msgid "Decrypt-copy tagged to mailbox" + msgstr "Ontsleutelen-kopieer gemarkeerd bericht naar postvak" + +-#: commands.c:1049 ++#: commands.c:1055 + #, fuzzy + msgid "Copy to mailbox" + msgstr "Kopiëren naar postvak" + +-#: commands.c:1049 ++#: commands.c:1055 + #, fuzzy + msgid "Copy tagged to mailbox" + msgstr "Kopieer gemarkeerd bericht naar postvak" + +-#: commands.c:1092 ++#: commands.c:1098 + #, c-format + msgid "Copying to %s..." + msgstr "Kopiëren naar %s..." + + #. L10N: e.g. "text/plain; charset=UTF-8; ..." +-#: commands.c:1257 ++#: commands.c:1263 + #, fuzzy + msgid "Content type is too long" + msgstr "Content-Type is veranderd naar %s" + +-#: commands.c:1281 ++#: commands.c:1290 + #, c-format + msgid "Convert to %s upon sending?" + msgstr "Converteren naar %s tijdens zending?" + +-#: commands.c:1292 ++#: commands.c:1301 + #, c-format + msgid "Content-Type changed to %s" + msgstr "Content-Type is veranderd naar %s" + +-#: commands.c:1297 ++#: commands.c:1306 + #, fuzzy, c-format + msgid "Character set changed to %s; not converting" + msgstr "Tekenset is veranderd naar %s; niet converteren" + +-#: commands.c:1298 ++#: commands.c:1307 + #, fuzzy, c-format + msgid "Character set changed to %s; converting" + msgstr "Tekenset is veranderd naar %s; converteren" + +-#: compose.c:99 ++#: command_parse.c:83 command_parse.c:211 command_parse.c:219 ++#: command_parse.c:740 command_parse.c:887 command_parse.c:1491 ++#: command_parse.c:1549 gui/color.c:731 gui/color.c:868 gui/color.c:1069 ++#: gui/color.c:1098 gui/color.c:1122 gui/color.c:1191 gui/color.c:1214 ++#: hook.c:110 hook.c:124 hook.c:372 hook.c:388 keymap.c:1182 score.c:110 ++#, c-format ++msgid "%s: too few arguments" ++msgstr "%s: te weinig argumenten" ++ ++#: command_parse.c:394 ++msgid "-group: no group name" ++msgstr "-group: geen groepsnaam" ++ ++#: command_parse.c:404 ++msgid "out of arguments" ++msgstr "te weinig argumenten" ++ ++#: command_parse.c:445 command_parse.c:1372 ++#, c-format ++msgid "Error: Can't build path of '%s'" ++msgstr "" ++ ++#: command_parse.c:458 ++#, c-format ++msgid "Error: Cyclic sourcing of configuration file '%s'" ++msgstr "" ++ ++#: command_parse.c:491 ++#, c-format ++msgid "Error in %s, line %d: %s" ++msgstr "Fout in %s, regel %d: %s" ++ ++#: command_parse.c:502 ++#, fuzzy, c-format ++msgid "Warning in %s, line %d: %s" ++msgstr "Fout in %s, op regel %d: %s" ++ ++#: command_parse.c:526 ++#, c-format ++msgid "source: errors in %s" ++msgstr "source: fouten in %s" ++ ++#: command_parse.c:526 ++#, c-format ++msgid "source: reading aborted due to too many errors in %s" ++msgstr "source: inlezen is gestaakt vanwege te veel fouten in %s" ++ ++#: command_parse.c:535 ++#, fuzzy, c-format ++msgid "source: %d warning in %s" ++msgid_plural "source: %d warnings in %s" ++msgstr[0] "bron: fout in %s" ++msgstr[1] "bron: fouten in %s" ++ ++#: command_parse.c:564 ++msgid "alias: no address" ++msgstr "alias: Geen adres" ++ ++#: command_parse.c:606 ++#, c-format ++msgid "Warning: Bad IDN '%s' in alias '%s'" ++msgstr "Waarschuwing: Ongeldige IDN '%s' in alias '%s'" ++ ++#: command_parse.c:684 ++msgid "attachments: no disposition" ++msgstr "attachments: geen dispositie" ++ ++#: command_parse.c:695 ++#, fuzzy ++msgid "Current attachments settings:" ++msgstr "Huidige instellingen voor bijlagen:" ++ ++#: command_parse.c:725 ++msgid "attachments: invalid disposition" ++msgstr "attachments: ongeldige dispositie" ++ ++#: command_parse.c:764 command_parse.c:1753 command_parse.c:2205 ++#: gui/color.c:1223 gui/color.c:1329 hook.c:131 hook.c:395 keymap.c:1114 ++#: keymap.c:1287 keymap.c:1440 keymap.c:1504 mutt_lua.c:485 score.c:119 ++#, c-format ++msgid "%s: too many arguments" ++msgstr "%s: te veel argumenten" ++ ++#: command_parse.c:801 ++#, c-format ++msgid "%sgroup: missing -rx or -addr" ++msgstr "%s-groep: Ontbrekende -rx of -addr" ++ ++#: command_parse.c:827 ++#, c-format ++msgid "%sgroup: warning: bad IDN '%s'" ++msgstr "%s-groep: waarschuwing: Ongeldige IDN '%s'" ++ ++#: command_parse.c:898 ++#, c-format ++msgid "Error: %s" ++msgstr "" ++ ++#: command_parse.c:1065 ++msgid "invalid header field" ++msgstr "ongeldig veld in berichtenkop" ++ ++#: command_parse.c:1331 command_parse.c:1435 ++#, c-format ++msgid "%s: unknown variable" ++msgstr "%s: onbekende variable" ++ ++#: command_parse.c:1528 ++#, c-format ++msgid "%s is unset" ++msgstr "%s is niet gezet" ++ ++#: command_parse.c:1573 mutt_lua.c:480 ++#, c-format ++msgid "source: error at %s" ++msgstr "source: fout bij %s" ++ ++#: command_parse.c:1581 ++#, fuzzy, c-format ++msgid "source: file %s could not be sourced" ++msgstr "bron: bestand %s werd niet gevonden" ++ ++#: command_parse.c:1604 ++msgid "spam: no matching pattern" ++msgstr "spam: geen overeenkomstig patroon" ++ ++#: command_parse.c:1606 ++msgid "nospam: no matching pattern" ++msgstr "nospam: geen overeenkomstig patroon" ++ ++#: command_parse.c:1762 imap/imap.c:1443 ++#, c-format ++msgid "Subscribed to %s" ++msgstr "Geabonneerd op %s" ++ ++#: command_parse.c:1766 ++#, fuzzy, c-format ++msgid "Could not subscribe to %s" ++msgstr "Kan niet abonneren op %s" ++ ++#: command_parse.c:1774 command_parse.c:2226 ++#, fuzzy ++msgid "No folder specified" ++msgstr "Geen map gespecifieerd" ++ ++#: command_parse.c:1943 ++msgid "unattachments: no disposition" ++msgstr "unattachments: geen dispositie" ++ ++#: command_parse.c:1981 ++msgid "unattachments: invalid disposition" ++msgstr "unattachments: ongeldige dispositie" ++ ++#: command_parse.c:2214 imap/imap.c:1445 ++#, c-format ++msgid "Unsubscribed from %s" ++msgstr "Abonnement op %s opgezegd" ++ ++#: command_parse.c:2218 ++#, fuzzy, c-format ++msgid "Could not unsubscribe from %s" ++msgstr "Kan abbonnement op %s niet opzeggen" ++ ++#: compose.c:97 + msgid "There are no attachments" + msgstr "Bericht bevat geen bijlage" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:166 ++#: compose.c:164 + msgid "From: " + msgstr "Van: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:168 send.c:284 ++#: compose.c:166 send.c:284 + msgid "To: " + msgstr "Naar: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:170 send.c:286 ++#: compose.c:168 send.c:286 + msgid "Cc: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:172 send.c:288 ++#: compose.c:170 send.c:288 + msgid "Bcc: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:174 compose.c:1242 send.c:320 ++#: compose.c:172 compose.c:1302 send.c:320 + msgid "Subject: " + msgstr "Onderwerp: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:176 ++#: compose.c:174 + #, fuzzy + msgid "Reply-To: " + msgstr "Antw." + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:178 compose.c:1261 ++#: compose.c:176 compose.c:1321 + msgid "Fcc: " + msgstr "" + + #. L10N: "Mix" refers to the MixMaster chain for anonymous email +-#: compose.c:181 ++#: compose.c:179 + msgid "Mix: " + msgstr "Mix: " + + #. L10N: Compose menu field. Holds "Encrypt", "Sign" related information +-#: compose.c:184 ++#: compose.c:182 + msgid "Security: " + msgstr "" + +@@ -904,77 +1042,77 @@ msgstr "" + #. it should not be longer than the other compose menu fields. + #. Since it shares the row with "Encrypt with:", it should not be longer + #. than 15-20 character cells. +-#: compose.c:192 ncrypt/crypt_gpgme.c:5602 ncrypt/pgp.c:1974 +-#: ncrypt/smime.c:2395 ++#: compose.c:190 ncrypt/crypt_gpgme.c:5682 ncrypt/pgp.c:1976 ++#: ncrypt/smime.c:2429 + msgid "Sign as: " + msgstr "Ondertekenen als: " + + #. L10N: The compose menu autocrypt line +-#: compose.c:195 ++#: compose.c:193 + msgid "Autocrypt: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:199 ++#: compose.c:197 + msgid "Newsgroups: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:201 ++#: compose.c:199 + #, fuzzy + msgid "Followup-To: " + msgstr "Op te volgen: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:203 ++#: compose.c:201 + msgid "X-Comment-To: " + msgstr "" + +-#: compose.c:208 compose.c:224 ++#: compose.c:206 compose.c:222 + msgid "Send" + msgstr "Versturen" + +-#: compose.c:209 compose.c:225 remailer.c:77 ++#: compose.c:207 compose.c:223 remailer.c:75 + msgid "Abort" + msgstr "Afbreken" + + #. L10N: compose menu help line entry +-#: compose.c:211 ++#: compose.c:209 + msgid "To" + msgstr "" + + #. L10N: compose menu help line entry +-#: compose.c:213 ++#: compose.c:211 + msgid "CC" + msgstr "" + + #. L10N: compose menu help line entry +-#: compose.c:215 compose.c:227 ++#: compose.c:213 compose.c:225 + msgid "Subj" + msgstr "" + +-#: compose.c:216 compose.c:228 compose.c:1556 ++#: compose.c:214 compose.c:226 compose.c:1616 + msgid "Attach file" + msgstr "Bijvoegen" + +-#: compose.c:217 compose.c:229 ++#: compose.c:215 compose.c:227 + msgid "Descrip" + msgstr "Omschrijving" + +-#: compose.c:226 ++#: compose.c:224 + #, fuzzy + msgid "Newsgroups" + msgstr "Nieuwsgroep" + + #. L10N: Autocrypt recommendation flag: off. + #. * This is displayed when Autocrypt is turned off. +-#: compose.c:239 compose.c:473 ++#: compose.c:237 compose.c:472 + msgid "Off" + msgstr "" + + #. L10N: Autocrypt recommendation flag: no. + #. * This is displayed when Autocrypt cannot encrypt to the recipients. +-#: compose.c:242 ++#: compose.c:240 + #, fuzzy + msgid "No" + msgstr "Geen" +@@ -983,7 +1121,7 @@ msgstr "Geen" + #. * This is displayed when Autocrypt believes encryption should not be used. + #. * This might occur if one of the recipient Autocrypt Keys has not been + #. * used recently, or if the only key available is a Gossip Header key. +-#: compose.c:247 ++#: compose.c:245 + msgid "Discouraged" + msgstr "" + +@@ -991,14 +1129,14 @@ msgstr "" + #. * This is displayed when Autocrypt believes encryption is possible, but + #. * leaves enabling it up to the sender. Probably because "prefer encrypt" + #. * is not set in both the sender and recipient keys. +-#: compose.c:252 ++#: compose.c:250 + msgid "Available" + msgstr "" + + #. L10N: Autocrypt recommendation flag: yes. + #. * This is displayed when Autocrypt would normally enable encryption + #. * automatically. +-#: compose.c:256 ++#: compose.c:254 + #, fuzzy + msgid "Yes" + msgstr "ja" +@@ -1009,7 +1147,7 @@ msgstr "ja" + #. (c)lear sets cleartext. + #. (a)utomatic defers to the recommendation. + #. +-#: compose.c:338 ++#: compose.c:337 + msgid "Autocrypt: (e)ncrypt, (c)lear, (a)utomatic?" + msgstr "" + +@@ -1017,51 +1155,51 @@ msgstr "" + #. The letter corresponding to the compose menu autocrypt prompt + #. (e)ncrypt, (c)lear, (a)utomatic + #. +-#: compose.c:346 ++#: compose.c:345 + msgid "eca" + msgstr "" + +-#: compose.c:383 ++#: compose.c:382 + msgid "Not supported" + msgstr "Niet ondersteund" + +-#: compose.c:390 ++#: compose.c:389 + msgid "Sign, Encrypt" + msgstr "Ondertekenen, Versleutelen" + +-#: compose.c:395 compose.c:468 ++#: compose.c:394 compose.c:467 + msgid "Encrypt" + msgstr "Versleutelen" + +-#: compose.c:400 ++#: compose.c:399 + msgid "Sign" + msgstr "Ondertekenen" + +-#: compose.c:406 ++#: compose.c:405 + msgid "None" + msgstr "Geen" + +-#: compose.c:415 ++#: compose.c:414 + msgid " (inline PGP)" + msgstr " (inline-PGP)" + +-#: compose.c:417 ++#: compose.c:416 + msgid " (PGP/MIME)" + msgstr " (PGP/MIME)" + +-#: compose.c:420 ++#: compose.c:419 + msgid " (S/MIME)" + msgstr " (S/MIME)" + +-#: compose.c:424 ++#: compose.c:423 + msgid " (OppEnc mode)" + msgstr " (OppEnc-modus)" + +-#: compose.c:436 compose.c:445 ++#: compose.c:435 compose.c:444 + msgid "" + msgstr "" + +-#: compose.c:452 ++#: compose.c:451 + msgid "Encrypt with: " + msgstr "Versleutelen met: " + +@@ -1070,11 +1208,11 @@ msgstr "Versleutelen met: " + #. Displays the output of the recommendation engine + #. (Off, No, Discouraged, Available, Yes) + #. +-#: compose.c:483 ++#: compose.c:482 + msgid "Recommendation: " + msgstr "" + +-#: compose.c:547 ++#: compose.c:546 + msgid "" + msgstr "" + +@@ -1085,7 +1223,7 @@ msgstr "" + #. The filename is located last to avoid a long path hiding the + #. error message. + #. +-#: compose.c:601 ++#: compose.c:600 + #, fuzzy, c-format + msgid "Attachment #%d no longer exists: %s" + msgstr "%s [#%d] bestaat niet meer" +@@ -1097,239 +1235,359 @@ msgstr "%s [#%d] bestaat niet meer" + #. The filename is located last to avoid a long path hiding the + #. prompt question. + #. +-#: compose.c:621 ++#: compose.c:620 + #, fuzzy, c-format + msgid "Attachment #%d modified. Update encoding for %s?" + msgstr "%s [#%d] werd veranderd. Codering aanpassen?" + +-#: compose.c:716 ++#: compose.c:715 + msgid "-- Attachments" + msgstr "-- Bijlagen" + +-#: compose.c:770 ++#: compose.c:769 + msgid "You may not delete the only attachment" + msgstr "De laatste bijlagen kan je niet verwijderen" + +-#: compose.c:1296 edit.c:538 send.c:2462 ++#: compose.c:1356 edit.c:536 send.c:2473 + #, c-format + msgid "Bad IDN in '%s': '%s'" + msgstr "Ongeldige IDN in '%s': '%s'" + +-#: compose.c:1347 ++#: compose.c:1407 + #, fuzzy + msgid "Attachment is already at top" + msgstr "Bijlage staat al bovenaan" + +-#: compose.c:1352 compose.c:1368 ++#: compose.c:1412 compose.c:1428 + #, fuzzy + msgid "The fundamental part can't be moved" + msgstr "Dit onderdeel kan niet verplaatst worden" + +-#: compose.c:1363 ++#: compose.c:1423 + #, fuzzy + msgid "Attachment is already at bottom" + msgstr "De bijlage staat al onderaan" + +-#: compose.c:1381 ++#: compose.c:1441 + msgid "Grouping 'alternatives' requires at least 2 tagged messages" + msgstr "Alternatieve groeperingen vereisen zeker 2 gemarkeerde berichten" + +-#: compose.c:1462 ++#: compose.c:1522 + msgid "Grouping 'multilingual' requires at least 2 tagged messages" + msgstr "Meertalige groeperingen vereisen zeker 2 gemarkeerde berichten" + +-#: compose.c:1475 ++#: compose.c:1535 + msgid "Not all parts have 'Content-Language' set, continue?" + msgstr "Niet alle onderdelen hebben taal ingesteld. Verdergaan?" + +-#: compose.c:1477 ++#: compose.c:1537 + #, fuzzy + msgid "Not sending this message" + msgstr "Bericht kan niet verzonden worden" + +-#: compose.c:1571 ++#: compose.c:1631 + #, fuzzy + msgid "Attaching selected file..." + msgid_plural "Attaching selected files..." + msgstr[0] "Opgegeven bestand toevoegen..." + msgstr[1] "Opgegeven bestanden toevoegen..." + +-#: compose.c:1585 ++#: compose.c:1645 + #, c-format + msgid "Unable to attach %s" + msgstr "Kan %s niet bijvoegen" + +-#: compose.c:1606 ++#: compose.c:1666 + msgid "Open mailbox to attach message from" + msgstr "Open postvak waaruit een bericht bijgevoegd moet worden" + +-#: compose.c:1616 ++#: compose.c:1676 + #, fuzzy + msgid "Open newsgroup to attach message from" + msgstr "Open nieuwsgroep waaruit een bericht bijgevoegd moet worden" + +-#: compose.c:1667 ++#: compose.c:1730 + #, c-format + msgid "Unable to open mailbox %s" + msgstr "Kan postvak %s niet openen" + +-#: compose.c:1676 ++#: compose.c:1739 + msgid "No messages in that folder" + msgstr "Geen berichten in dit postvak" + +-#: compose.c:1686 ++#: compose.c:1749 + msgid "Tag the messages you want to attach" + msgstr "Selecteer de berichten die u wilt bijvoegen" + +-#: compose.c:1715 ++#: compose.c:1785 + msgid "Unable to attach" + msgstr "Kan niet bijvoegen" + +-#: compose.c:1752 ++#: compose.c:1822 + msgid "Recoding only affects text attachments" + msgstr "Codering wijzigen is alleen van toepassing op bijlagen" + +-#: compose.c:1757 ++#: compose.c:1827 + msgid "The current attachment won't be converted" + msgstr "Deze bijlage zal niet geconverteerd worden" + +-#: compose.c:1759 ++#: compose.c:1829 + msgid "The current attachment will be converted" + msgstr "Deze bijlage zal geconverteerd worden" + +-#: compose.c:1831 ++#: compose.c:1901 + msgid "Empty 'Content-Language'" + msgstr "" + +-#: compose.c:1849 ++#: compose.c:1920 + msgid "Invalid encoding" + msgstr "Ongeldige codering" + +-#: compose.c:1871 ++#: compose.c:1942 + msgid "Save a copy of this message?" + msgstr "Een kopie van dit bericht maken?" + +-#: compose.c:1924 ++#: compose.c:1995 + msgid "Send attachment with name: " + msgstr "Bijlage versturen met naam: " + +-#: compose.c:1939 ++#: compose.c:2010 + msgid "Rename to: " + msgstr "Hernoemen naar: " + + #. L10N: "stat" is a system call. Do "man 2 stat" for more information. +-#: compose.c:1946 editmsg.c:102 editmsg.c:138 sendlib.c:1050 ++#: compose.c:2017 editmsg.c:102 editmsg.c:138 sendlib.c:1049 + #, c-format + msgid "Can't stat %s: %s" + msgstr "Kan status van %s niet opvragen: %s" + +-#: compose.c:1966 ++#: compose.c:2037 + msgid "New file: " + msgstr "Nieuw bestand: " + +-#: compose.c:1984 ++#: compose.c:2055 + msgid "Content-Type is of the form base/sub" + msgstr "Content-Type is van de vorm basis/subtype" + +-#: compose.c:1991 ++#: compose.c:2062 + #, c-format + msgid "Unknown Content-Type %s" + msgstr "Onbekend Content-Type %s" + +-#: compose.c:1999 ++#: compose.c:2070 + #, c-format + msgid "Can't create file %s" + msgstr "Kan bestand %s niet aanmaken" + +-#: compose.c:2008 ++#: compose.c:2079 + msgid "What we have here is a failure to make an attachment" + msgstr "De bijlage kan niet worden aangemaakt" + +-#: compose.c:2073 ++#: compose.c:2144 + #, fuzzy + msgid "Save (postpone) draft message?" + msgstr "Uigesteld bericht hervatten?" + +-#: compose.c:2133 ++#: compose.c:2204 + msgid "Write message to mailbox" + msgstr "Sla bericht op in postvak" + +-#: compose.c:2136 ++#: compose.c:2207 + #, c-format + msgid "Writing message to %s ..." + msgstr "Bericht wordt opgeslagen in %s ..." + +-#: compose.c:2143 ++#: compose.c:2214 + msgid "Message written" + msgstr "Bericht opgeslagen" + +-#: compose.c:2154 ++#: compose.c:2225 + msgid "No PGP backend configured" + msgstr "Geen PGP software beschikbaar" + +-#: compose.c:2161 compose.c:2225 ++#: compose.c:2232 compose.c:2296 + msgid "S/MIME already selected. Clear and continue?" + msgstr "S/MIME is al geselecteerd. Wissen & doorgaan?" + +-#: compose.c:2186 ++#: compose.c:2257 + msgid "No S/MIME backend configured" + msgstr "Geen S/MIME software beschikbaar" + +-#: compose.c:2194 ++#: compose.c:2265 + msgid "PGP already selected. Clear and continue?" + msgstr "PGP is al geselecteerd. Wissen & doorgaan?" + +-#: compress.c:355 compress.c:499 ++#: compress/compress.c:354 compress/compress.c:498 + #, c-format + msgid "Can't append without an append-hook or close-hook : %s" + msgstr "Kan niet toevoegen zonder append-hook of close-hook: %s" + +-#: compress.c:444 compress.c:511 compress.c:590 compress.c:628 mbox/mbox.c:1208 ++#: compress/compress.c:443 compress/compress.c:510 compress/compress.c:589 ++#: compress/compress.c:627 mbox/mbox.c:1208 + msgid "Unable to lock mailbox" + msgstr "Kan postvak niet vergrendelen" + +-#: compress.c:448 compress.c:518 compress.c:594 ++#: compress/compress.c:447 compress/compress.c:517 compress/compress.c:593 + #, c-format + msgid "Decompressing %s" + msgstr "Decomprimeren van %s" + +-#: compress.c:457 ++#: compress/compress.c:456 + msgid "Can't identify the contents of the compressed file" + msgstr "Kan de inhoud van gedecomprimeerd bestand niet identificeren" + +-#: compress.c:464 compress.c:539 ++#: compress/compress.c:463 compress/compress.c:538 + #, c-format + msgid "Can't find mailbox ops for mailbox type %d" + msgstr "Kan geen mailboxbewerkingen vinden voor mailboxtype %d" + +-#: compress.c:521 ++#: compress/compress.c:520 + #, c-format + msgid "Compress command failed: %s" + msgstr "Compressiecommando is mislukt: %s" + +-#: compress.c:532 ++#: compress/compress.c:531 + msgid "Unsupported mailbox type for appending" + msgstr "Niet-ondersteund mailboxtype voor toevoegen" + +-#: compress.c:618 ++#: compress/compress.c:617 + msgid "Can't sync a compressed file without a close-hook" + msgstr "Kan gecomprimeerd bestand niet synchroniseren zonder close-hook" + +-#: compress.c:640 compress.c:692 ++#: compress/compress.c:639 compress/compress.c:691 + #, c-format + msgid "Compressing %s" + msgstr "%s comprimeren" + +-#: compress.c:687 ++#: compress/compress.c:686 + #, c-format + msgid "Compressed-appending to %s..." + msgstr "Gecomprimeerd toevoegen aan %s..." + +-#: compress.c:699 editmsg.c:247 ++#: compress/compress.c:698 editmsg.c:247 + #, c-format + msgid "Error. Preserving temporary file: %s" + msgstr "Er is een fout opgetreden. Tijdelijk bestand is opgeslagen als: %s" + ++#: config/bool.c:70 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %s" ++msgstr "Ongeldige maand: %s" ++ ++#: config/bool.c:131 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %ld" ++msgstr "Ongeldige maand: %s" ++ ++#: config/enum.c:62 ++#, fuzzy, c-format ++msgid "Invalid enum value: %s" ++msgstr "Fout: score: ongeldig getal" ++ ++#: config/enum.c:149 ++#, fuzzy, c-format ++msgid "Invalid enum value: %ld" ++msgstr "Ongeldige waarde voor optie %s: %ld" ++ ++#: config/long.c:50 ++#, fuzzy, c-format ++msgid "Invalid long: %s" ++msgstr "Ongeldige maand: %s" ++ ++#: config/long.c:56 config/long.c:114 config/number.c:68 config/number.c:133 ++#, fuzzy, c-format ++msgid "Option %s may not be negative" ++msgstr "Optie %s kan niet ingesteld worden in 'attach-message' modus" ++ ++#: config/number.c:49 config/sort.c:145 config/string.c:75 config/string.c:159 ++#, c-format ++msgid "Option %s may not be empty" ++msgstr "" ++ ++#: config/number.c:56 ++#, fuzzy, c-format ++msgid "Invalid number: %s" ++msgstr "Fout: score: ongeldig getal" ++ ++#: config/number.c:62 ++#, c-format ++msgid "Number is too big: %s" ++msgstr "" ++ ++#: config/number.c:127 ++#, fuzzy, c-format ++msgid "Invalid number: %ld" ++msgstr "Fout: score: ongeldig getal" ++ ++#: config/quad.c:69 ++#, fuzzy, c-format ++msgid "Invalid quad value: %s" ++msgstr "Ongeldige maand: %s" ++ ++#: config/quad.c:133 ++#, fuzzy, c-format ++msgid "Invalid quad value: %ld" ++msgstr "Ongeldige waarde voor optie %s: %ld" ++ ++#: config/set.c:102 ++#, c-format ++msgid "No such variable: %s" ++msgstr "" ++ ++#: config/set.c:134 config/set.c:821 ++#, fuzzy, c-format ++msgid "Variable '%s' has an invalid type %d" ++msgstr "Fout: waarde '%s' is een ongeldig voor optie '-d'" ++ ++#: config/set.c:399 config/set.c:463 config/set.c:528 config/set.c:601 ++#: config/set.c:671 config/set.c:744 ++#, fuzzy, c-format ++msgid "Unknown variable '%s'" ++msgstr "%s: onbekende variable" ++ ++#: config/sort.c:192 ++#, fuzzy, c-format ++msgid "Invalid sort name: %s" ++msgstr "Ongeldige maand: %s" ++ ++#: config/sort.c:322 ++#, fuzzy, c-format ++msgid "Invalid sort type: %ld" ++msgstr "Ongeldige maand: %s" ++ ++#. L10N: Example: Username at myhost.com ++#: conn/connaccount.c:61 ++#, c-format ++msgid "Username at %s: " ++msgstr "Gebruikersnaam voor %s: " ++ ++#: conn/connaccount.c:117 ++#, c-format ++msgid "Password for %s@%s: " ++msgstr "Wachtwoord voor %s@%s: " ++ ++#. L10N: You will see this error message if (1) you have "oauthbearer" in ++#. one of your $*_authenticators and (2) you do not have the corresponding ++#. $*_oauth_refresh_command defined. So the message does not mean "None of ++#. your $*_oauth_refresh_command's are defined." ++#: conn/connaccount.c:165 ++#, fuzzy ++msgid "No OAUTH refresh command defined" ++msgstr "Query-commando niet gedefinieerd" ++ ++#: conn/connaccount.c:173 ++msgid "Unable to run refresh command" ++msgstr "" ++ ++#: conn/connaccount.c:184 ++msgid "Command returned empty string" ++msgstr "" ++ ++#: conn/connaccount.c:191 ++#, c-format ++msgid "OAUTH token is too big: %ld" ++msgstr "" ++ + #: conn/conn_raw.c:160 conn/conn_raw.c:218 + #, c-format + msgid "Looking up %s..." +@@ -1350,7 +1608,7 @@ msgstr "Verbinden met %s..." + msgid "Could not connect to %s (%s)" + msgstr "Kan niet verbinden met %s (%s)" + +-#: conn/conn_raw.c:260 conn/ssl.c:1230 curs_lib.c:568 mutt_logging.c:149 ++#: conn/conn_raw.c:260 conn/ssl.c:1245 gui/curs_lib.c:569 mutt_logging.c:147 + msgid "unknown error" + msgstr "onbekende fout" + +@@ -1364,23 +1622,23 @@ msgstr "Verbinding met %s is mislukt (%s)" + msgid "Connection to %s has been aborted" + msgstr "Verbinding met %s is gestopt" + +-#: conn/sasl.c:565 ++#: conn/sasl.c:547 + msgid "Unknown SASL profile" + msgstr "Onbekend SASL profiel" + +-#: conn/sasl.c:598 ++#: conn/sasl.c:580 + msgid "Error allocating SASL connection" + msgstr "Fout bij het alloceren van SASL-connectie" + +-#: conn/sasl.c:608 ++#: conn/sasl.c:590 + msgid "Error setting SASL security properties" + msgstr "Fout bij het instellen van de SASL-beveiligingseigenschappen" + +-#: conn/sasl.c:619 ++#: conn/sasl.c:601 + msgid "Error setting SASL external security strength" + msgstr "Fout bij het instellen van de SASL-beveiligingssterkte" + +-#: conn/sasl.c:629 ++#: conn/sasl.c:611 + msgid "Error setting SASL external user name" + msgstr "Fout bij het instellen van de externe SASL-gebruikersnaam" + +@@ -1393,133 +1651,109 @@ msgstr "Voorverbindings commando is mislukt" + msgid "Connection to %s closed" + msgstr "Verbinding met %s beëindigd" + +-#: conn/ssl.c:237 ++#: conn/ssl.c:222 + #, c-format + msgid "Filling entropy pool: %s..." + msgstr "Aanvullen van entropieverzameling: %s..." + +-#: conn/ssl.c:243 ++#: conn/ssl.c:228 + #, c-format + msgid "%s has insecure permissions" + msgstr "%s heeft onveilige rechten" + +-#: conn/ssl.c:385 ++#: conn/ssl.c:369 + msgid "SSL disabled due to the lack of entropy" + msgstr "SSL is uitgeschakeld vanwege een tekort aan entropie" + +-#: conn/ssl.c:402 ++#: conn/ssl.c:386 + msgid "Unknown" + msgstr "Onbekend" + +-#: conn/ssl.c:421 conn/ssl_gnutls.c:186 ++#: conn/ssl.c:405 conn/ssl_gnutls.c:188 + #, c-format + msgid "[unable to calculate]" + msgstr "[kan niet berekend worden]" + +-#: conn/ssl.c:446 ++#: conn/ssl.c:430 + msgid "[invalid date]" + msgstr "[ongeldige datum]" + +-#: conn/ssl.c:506 ++#: conn/ssl.c:490 + msgid "Server certificate is not yet valid" + msgstr "Certificaat van de server is nog niet geldig" + +-#: conn/ssl.c:516 ++#: conn/ssl.c:500 + msgid "Server certificate has expired" + msgstr "Certificaat van de server is verlopen" + +-#: conn/ssl.c:605 ++#: conn/ssl.c:589 + msgid "Failed to find enough entropy on your system" + msgstr "Te weinig entropie op uw systeem gevonden" + +-#: conn/ssl.c:799 ++#: conn/ssl.c:783 + msgid "can't get certificate subject" + msgstr "kan onderwerp van certificaat niet verkrijgen" + +-#: conn/ssl.c:808 conn/ssl.c:816 ++#: conn/ssl.c:792 conn/ssl.c:800 + msgid "can't get certificate common name" + msgstr "kan common name van van certificaat niet verkrijgen" + +-#: conn/ssl.c:830 ++#: conn/ssl.c:814 + #, c-format + msgid "certificate owner does not match hostname %s" + msgstr "certificaateigenaar komt niet overeen met naam van de server %s" + +-#: conn/ssl.c:904 conn/ssl_gnutls.c:539 ++#: conn/ssl.c:917 conn/ssl_gnutls.c:570 + msgid "This certificate belongs to:" + msgstr "Dit certificaat behoort aan:" + +-#: conn/ssl.c:913 conn/ssl_gnutls.c:593 ++#: conn/ssl.c:926 conn/ssl_gnutls.c:624 + msgid "This certificate was issued by:" + msgstr "Dit certificaat is uitgegeven door:" + +-#: conn/ssl.c:922 conn/ssl_gnutls.c:604 ++#: conn/ssl.c:935 conn/ssl_gnutls.c:635 + msgid "This certificate is valid" + msgstr "Dit certificaat is geldig" + +-#: conn/ssl.c:923 conn/ssl_gnutls.c:608 ++#: conn/ssl.c:936 conn/ssl_gnutls.c:639 + #, c-format + msgid " from %s" + msgstr " van %s" + +-#: conn/ssl.c:925 conn/ssl_gnutls.c:612 ++#: conn/ssl.c:938 conn/ssl_gnutls.c:643 + #, c-format + msgid " to %s" + msgstr " tot %s" + +-#: conn/ssl.c:931 conn/ssl_gnutls.c:617 ++#: conn/ssl.c:944 conn/ssl_gnutls.c:648 + #, c-format + msgid "SHA1 Fingerprint: %s" + msgstr "SHA1-vingerafdruk: %s" + +-#: conn/ssl.c:937 conn/ssl.c:940 conn/ssl_gnutls.c:623 conn/ssl_gnutls.c:625 ++#: conn/ssl.c:950 conn/ssl.c:953 conn/ssl_gnutls.c:654 conn/ssl_gnutls.c:656 + #, fuzzy + msgid "SHA256 Fingerprint: " + msgstr "SHA1-vingerafdruk: %s" + +-#: conn/ssl.c:944 conn/ssl_gnutls.c:664 ++#: conn/ssl.c:957 conn/ssl_gnutls.c:695 + #, c-format + msgid "SSL Certificate check (certificate %zu of %zu in chain)" + msgstr "SSL-certificaatcontrole (certificaat %zu van %zu in keten)" + +-#. L10N: These four letters correspond to the choices in the next four strings: +-#. (r)eject, accept (o)nce, (a)ccept always, (s)kip. +-#. These prompts are the interactive certificate confirmation prompts for +-#. an OpenSSL connection. +-#: conn/ssl.c:964 +-msgid "roas" +-msgstr "weas" +- +-#: conn/ssl.c:968 +-msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" +-msgstr "(w)eigeren, (e)enmalig toelaten, (a)ltijd toelaten, (s)kip" +- +-#: conn/ssl.c:970 conn/ssl_gnutls.c:671 +-msgid "(r)eject, accept (o)nce, (a)ccept always" +-msgstr "(w)eigeren, (e)enmalig toelaten, (a)ltijd toelaten" +- +-#: conn/ssl.c:975 +-msgid "(r)eject, accept (o)nce, (s)kip" +-msgstr "(w)eigeren, (e)enmalig toelaten, (s)kip" +- +-#: conn/ssl.c:977 conn/ssl_gnutls.c:680 +-msgid "(r)eject, accept (o)nce" +-msgstr "(w)eigeren, (e)enmalig toelaten" +- +-#: conn/ssl.c:981 conn/ssl_gnutls.c:689 ncrypt/crypt_gpgme.c:4729 +-#: ncrypt/pgpkey.c:664 ncrypt/smime.c:549 ++#: conn/ssl.c:994 conn/ssl_gnutls.c:720 ncrypt/crypt_gpgme.c:4777 ++#: ncrypt/pgpkey.c:667 ncrypt/smime.c:551 + msgid "Exit " + msgstr "Einde " + +-#: conn/ssl.c:1016 conn/ssl_gnutls.c:742 ++#: conn/ssl.c:1029 conn/ssl_gnutls.c:773 + msgid "Warning: Couldn't save certificate" + msgstr "Waarschuwing: certificaat kan niet bewaard worden" + +-#: conn/ssl.c:1020 conn/ssl_gnutls.c:746 ++#: conn/ssl.c:1033 conn/ssl_gnutls.c:777 + msgid "Certificate saved" + msgstr "Certificaat wordt bewaard" + +-#: conn/ssl.c:1132 ++#: conn/ssl.c:1147 + #, c-format + msgid "Certificate host check failed: %s" + msgstr "Controle van servernaam van certificaat is mislukt: %s" +@@ -1527,15 +1761,15 @@ msgstr "Controle van servernaam van certificaat is mislukt: %s" + #. L10N: This is a warning when trying to set the host name for + #. * TLS Server Name Indication (SNI). This allows the server to present + #. * the correct certificate if it supports multiple hosts. +-#: conn/ssl.c:1213 conn/ssl_gnutls.c:1072 ++#: conn/ssl.c:1228 conn/ssl_gnutls.c:1105 + msgid "Warning: unable to set TLS SNI host name" + msgstr "" + +-#: conn/ssl.c:1224 ++#: conn/ssl.c:1239 + msgid "I/O error" + msgstr "Invoer-/uitvoerfout" + +-#: conn/ssl.c:1233 ++#: conn/ssl.c:1248 + #, c-format + msgid "SSL failed: %s" + msgstr "SSL is mislukt: %s" +@@ -1543,89 +1777,73 @@ msgstr "SSL is mislukt: %s" + #. L10N: an SSL context is a data structure returned by the OpenSSL + #. function SSL_CTX_new(). In this case it returned NULL: an + #. error condition. +-#: conn/ssl.c:1269 ++#: conn/ssl.c:1284 + msgid "Unable to create SSL context" + msgstr "Aanmaken van SSL-context is mislukt" + +-#: conn/ssl.c:1322 ++#: conn/ssl.c:1337 + msgid "Warning: error enabling ssl_verify_partial_chains" + msgstr "" + +-#: conn/ssl_gnutls.c:150 conn/ssl_gnutls.c:784 conn/ssl_gnutls.c:793 ++#: conn/ssl_gnutls.c:152 conn/ssl_gnutls.c:817 conn/ssl_gnutls.c:826 + msgid "Unable to get certificate from peer" + msgstr "Kan server certificaat niet verkrijgen" + +-#: conn/ssl_gnutls.c:155 ++#: conn/ssl_gnutls.c:157 + #, c-format + msgid "Certificate verification error (%s)" + msgstr "Fout bij verifiëren van certificaat (%s)" + +-#: conn/ssl_gnutls.c:162 ++#: conn/ssl_gnutls.c:164 + msgid "Certificate is not X.509" + msgstr "Certificaat is niet in X.509-formaat" + +-#: conn/ssl_gnutls.c:349 conn/ssl_gnutls.c:483 ++#: conn/ssl_gnutls.c:351 conn/ssl_gnutls.c:485 + msgid "Error initialising gnutls certificate data" + msgstr "Kan gnutls certificaatgegevens niet initializeren" + +-#: conn/ssl_gnutls.c:355 conn/ssl_gnutls.c:489 ++#: conn/ssl_gnutls.c:357 conn/ssl_gnutls.c:491 + msgid "Error processing certificate data" + msgstr "Fout bij het verwerken van certificaatgegevens" + +-#: conn/ssl_gnutls.c:635 ++#: conn/ssl_gnutls.c:666 + msgid "WARNING: Server certificate is not yet valid" + msgstr "WAARSCHUWING: Certificaat van de server is nog niet geldig" + +-#: conn/ssl_gnutls.c:640 ++#: conn/ssl_gnutls.c:671 + msgid "WARNING: Server certificate has expired" + msgstr "WAARSCHUWING: Certificaat van de server is verlopen" + +-#: conn/ssl_gnutls.c:645 ++#: conn/ssl_gnutls.c:676 + msgid "WARNING: Server certificate has been revoked" + msgstr "WAARSCHUWING: Certificaat van de server is herroepen" + +-#: conn/ssl_gnutls.c:650 ++#: conn/ssl_gnutls.c:681 + msgid "WARNING: Server hostname does not match certificate" + msgstr "WAARSCHUWING: Naam van de server komt niet overeen met certificaat" + +-#: conn/ssl_gnutls.c:655 ++#: conn/ssl_gnutls.c:686 + msgid "WARNING: Signer of server certificate is not a CA" + msgstr "WAARSCHUWING: Ondertekenaar van servercertificaat is geen CA" + +-#: conn/ssl_gnutls.c:659 conn/ssl_gnutls.c:1004 ++#: conn/ssl_gnutls.c:690 conn/ssl_gnutls.c:1037 + msgid "Warning: Server certificate was signed using an insecure algorithm" + msgstr "Waarschuwing: het server-certificaat werd ondertekend met een onveilig algoritme" + +-#. L10N: These three letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce, (a)ccept always. +-#. This is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:676 +-msgid "roa" +-msgstr "wea" +- +-#. L10N: These two letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce. +-#. These is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:685 +-msgid "ro" +-msgstr "we" +- +-#: conn/ssl_gnutls.c:950 conn/ssl_gnutls.c:992 ++#: conn/ssl_gnutls.c:983 conn/ssl_gnutls.c:1025 + msgid "All available protocols for TLS/SSL connection disabled" + msgstr "Alle beschikbare protocollen voor TLS/SSL-verbinding uitgeschakeld" + +-#: conn/ssl_gnutls.c:999 ++#: conn/ssl_gnutls.c:1032 + msgid "Explicit ciphersuite selection via $ssl_ciphers not supported" + msgstr "Expliciete keuze van encryptie-algoritme via $ssl_ciphers wordt niet ondersteund" + +-#: conn/ssl_gnutls.c:1120 ++#: conn/ssl_gnutls.c:1153 + #, c-format + msgid "SSL/TLS connection using %s (%s/%s/%s)" + msgstr "SSL/TLS verbinding via %s (%s/%s/%s)" + +-#: conn/ssl_gnutls.c:1175 conn/ssl_gnutls.c:1204 ++#: conn/ssl_gnutls.c:1210 conn/ssl_gnutls.c:1239 + msgid "Error: no TLS socket open" + msgstr "Fout: geen TLS-socket open" + +@@ -1644,38 +1862,18 @@ msgstr "Fout in tunnel in communicatie met %s: %s" + msgid "Tunnel to %s returned error %d (%s)" + msgstr "Tunnel naar %s leverde fout %d op (%s)" + +-#: copy.c:660 ++#: copy.c:662 + #, c-format + msgid "The length calculation was wrong by %ld byte" + msgid_plural "The length calculation was wrong by %ld bytes" + msgstr[0] "" + msgstr[1] "" + +-#: copy.c:744 ++#: copy.c:746 + msgid "No decryption engine available for message" + msgstr "" + +-#: curs_lib.c:378 +-msgid "yes" +-msgstr "ja" +- +-#: curs_lib.c:379 +-msgid "no" +-msgstr "nee" +- +-#: curs_lib.c:518 +-msgid "Exit NeoMutt?" +-msgstr "NeoMutt afsluiten?" +- +-#: curs_lib.c:597 +-msgid "Press any key to continue..." +-msgstr "Druk een willekeurige toets in..." +- +-#: curs_lib.c:705 +-msgid " ('?' for list): " +-msgstr " ('?' voor een overzicht): " +- +-#: edit.c:64 ++#: edit.c:62 + msgid "" + "~~ insert a line beginning with a single ~\n" + "~b users add users to the Bcc: field\n" +@@ -1697,7 +1895,7 @@ msgstr "" + "~M berichten als ~m, maar met headers\n" + "~p bericht afdrukken\n" + +-#: edit.c:75 ++#: edit.c:73 + msgid "" + "~q write file and quit editor\n" + "~r file read a file into the editor\n" +@@ -1720,20 +1918,20 @@ msgstr "" + ". als enige inhoud van een regel beëindigt de invoer\n" + + # FIXME: why a period? +-#: edit.c:261 ++#: edit.c:259 + #, c-format + msgid "%d: invalid message number.\n" + msgstr "%d: ongeldig berichtnummer.\n" + +-#: edit.c:416 ++#: edit.c:414 + msgid "(End message with a . on a line by itself)\n" + msgstr "(Beëindig het bericht met een . als enige inhoud van een regel.)\n" + +-#: edit.c:474 ++#: edit.c:472 + msgid "No mailbox.\n" + msgstr "Geen postvak.\n" + +-#: edit.c:478 ++#: edit.c:476 + msgid "Message contains:\n" + msgstr "Bericht bevat:\n" + +@@ -1741,20 +1939,20 @@ msgstr "Bericht bevat:\n" + #. not IN the middle of the content. + #. So it doesn't mean "(message will continue)" + #. but means "(press any key to continue using neomutt)". +-#: edit.c:486 edit.c:547 ++#: edit.c:484 edit.c:545 + msgid "(continue)\n" + msgstr "(verder)\n" + + # FIXME: Capital? +-#: edit.c:499 ++#: edit.c:497 + msgid "missing filename.\n" + msgstr "Geen bestandsnaam opgegeven.\n" + +-#: edit.c:519 ++#: edit.c:517 + msgid "No lines in message.\n" + msgstr "Bericht bevat geen regels.\n" + +-#: edit.c:558 ++#: edit.c:556 + #, c-format + msgid "%s: unknown editor command (~? for help)\n" + msgstr "%s: onbekend editor-commando (~? voor hulp)\n" +@@ -1801,19 +1999,73 @@ msgstr "Kan bericht niet toevoegen aan postvak: %s" + msgid "multipart message has no boundary parameter" + msgstr "Multi-part bericht heeft geen \"boundary\" parameter." + +-#: flags.c:382 index.c:2561 index.c:2604 index.c:3134 index.c:3171 ++#: flags.c:381 index.c:2587 index.c:2630 index.c:3160 index.c:3197 + #: mutt_thread.c:1091 mutt_thread.c:1158 mutt_thread.c:1246 + msgid "Threading is not enabled" + msgstr "Het weergeven van threads is niet ingeschakeld" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Set flag" + msgstr "Zet markering" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Clear flag" + msgstr "Verwijder markering" + ++#: gui/color.c:633 gui/color.c:644 ++#, c-format ++msgid "%s: color not supported by term" ++msgstr "%s: terminal ondersteunt geen kleur" ++ ++#: gui/color.c:652 ++#, c-format ++msgid "%s: no such color" ++msgstr "%s: onbekende kleur" ++ ++#: gui/color.c:717 gui/color.c:740 gui/color.c:751 gui/color.c:842 ++#, c-format ++msgid "%s: no such object" ++msgstr "%s: onbekend object" ++ ++#: gui/color.c:1142 ++#, c-format ++msgid "%s: no such attribute" ++msgstr "%s: onbekend attribuut" ++ ++#: gui/color.c:1244 ++msgid "default colors not supported" ++msgstr "standaardkleuren worden niet ondersteund" ++ ++#: gui/color.c:1282 ++#, c-format ++msgid "Maximum quoting level is %d" ++msgstr "" ++ ++#: gui/color.c:1319 ++#, fuzzy, c-format ++msgid "%s: invalid number: %s" ++msgstr "Fout: score: ongeldig getal" ++ ++#: gui/curs_lib.c:379 ++msgid "yes" ++msgstr "ja" ++ ++#: gui/curs_lib.c:380 ++msgid "no" ++msgstr "nee" ++ ++#: gui/curs_lib.c:519 ++msgid "Exit NeoMutt?" ++msgstr "NeoMutt afsluiten?" ++ ++#: gui/curs_lib.c:598 ++msgid "Press any key to continue..." ++msgstr "Druk een willekeurige toets in..." ++ ++#: gui/curs_lib.c:749 ++msgid " ('?' for list): " ++msgstr " ('?' voor een overzicht): " ++ + #: handler.c:102 + #, fuzzy, c-format + msgid "[-- Type: %s/%s%s%s, Encoding: %s, Size: %s --]\n" +@@ -1834,23 +2086,23 @@ msgstr "[-- Automatische weergave met %s --]\n" + msgid "Invoking autoview command: %s" + msgstr "Commando wordt aangeroepen: %s" + +-#: handler.c:591 mutt_attach.c:527 mutt_attach.c:714 mutt_attach.c:745 +-#: mutt_attach.c:1087 mutt_attach.c:1152 ncrypt/pgpkey.c:723 +-#: ncrypt/pgpkey.c:920 ++#: handler.c:590 mutt_attach.c:555 mutt_attach.c:747 mutt_attach.c:778 ++#: mutt_attach.c:1120 mutt_attach.c:1185 ncrypt/pgpkey.c:756 ++#: ncrypt/pgpkey.c:955 + msgid "Can't create filter" + msgstr "Kan filter niet aanmaken" + +-#: handler.c:595 ++#: handler.c:594 + #, c-format + msgid "[-- Can't run %s. --]\n" + msgstr "[-- Kan %s niet uitvoeren. --]\n" + +-#: handler.c:614 handler.c:635 ++#: handler.c:613 handler.c:634 + #, c-format + msgid "[-- Autoview stderr of %s --]\n" + msgstr "[-- Foutenuitvoer van %s --]\n" + +-#: handler.c:764 ++#: handler.c:763 + msgid "[-- Error: message/external-body has no access-type parameter --]\n" + msgstr "[-- Fout: message/external-body heeft geen access-type parameter --]\n" + +@@ -1869,7 +2121,7 @@ msgstr "[-- Fout: message/external-body heeft geen access-type parameter --]\n" + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:807 ++#: handler.c:806 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" +@@ -1898,7 +2150,7 @@ msgstr[1] "" + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:830 ++#: handler.c:829 + #, fuzzy, c-format + msgid "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" + msgid_plural "[-- This %s/%s attachment (size %s bytes) has been deleted --]\n" +@@ -1912,7 +2164,7 @@ msgstr[1] "[-- Deze %s/%s bijlage (grootte %s bytes) werd gewist --]\n" + #. + #. Caution: Argument three %3$ is also defined but should not be used + #. in this translation! +-#: handler.c:848 ++#: handler.c:847 + #, fuzzy + msgid "" + "[-- This %s/%s attachment has been deleted --]\n" +@@ -1924,12 +2176,12 @@ msgstr "" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The first "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:856 ++#: handler.c:855 + #, fuzzy, c-format + msgid "[-- This %s/%s attachment has been deleted --]\n" + msgstr "[-- Deze %s/%s bijlage werd gewist --]\n" + +-#: handler.c:866 ++#: handler.c:865 + #, c-format + msgid "[-- name: %s --]\n" + msgstr "[-- naam: %s --]\n" +@@ -1938,7 +2190,7 @@ msgstr "[-- naam: %s --]\n" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:884 ++#: handler.c:883 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -1955,7 +2207,7 @@ msgstr "" + #. The "%s/%s" is a MIME type, e.g. "text/plain". The %s after + #. access-type is an access-type as defined by the MIME RFCs, e.g. "FTP", + #. "LOCAL-FILE", "MAIL-SERVER". +-#: handler.c:905 ++#: handler.c:904 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -1964,94 +2216,94 @@ msgstr "" + "[-- Deze %s/%s bijlage is niet toegevoegd --]\n" + "[-- en het aangegeven toegangs-type %s wordt niet ondersteund --]\n" + +-#: handler.c:1090 ++#: handler.c:1089 + msgid "[-- Error: Could not display any parts of Multipart/Alternative --]\n" + msgstr "[-- Fout: Kon geen enkel multipart/alternative-gedeelte weergeven --]\n" + + #. L10N: %s is the attachment description, filename or form_name. +-#: handler.c:1231 ++#: handler.c:1230 + #, fuzzy, c-format + msgid "[-- Attachment #%d: %s --]\n" + msgstr "[-- Bijlage #%d: %s --]\n" + +-#: handler.c:1236 ++#: handler.c:1235 + #, fuzzy, c-format + msgid "[-- Attachment #%d --]\n" + msgstr "[-- Bijlage #%d --]\n" + +-#: handler.c:1254 ++#: handler.c:1253 + msgid "One or more parts of this message could not be displayed" + msgstr "Een of meer delen van dit bericht konden niet worden weergegeven" + +-#: handler.c:1320 ++#: handler.c:1319 + #, fuzzy + msgid "Unable to open 'memory stream'" + msgstr "Tijdelijk bestand kon niet worden geopend" + +-#: handler.c:1330 ++#: handler.c:1329 + msgid "Unable to open temporary file" + msgstr "Tijdelijk bestand kon niet worden geopend" + +-#: handler.c:1379 ++#: handler.c:1378 + msgid "failed to re-open 'memory stream'" + msgstr "" + +-#: handler.c:1620 ++#: handler.c:1619 + msgid "Error: multipart/signed has no protocol" + msgstr "Fout: multipart/signed zonder protocol-parameter" + + #. L10N: %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1694 ++#: handler.c:1693 + #, fuzzy, c-format + msgid "[-- This is an attachment (use '%s' to view this part) --]\n" + msgstr "[-- Dit is een bijlage (gebruik '%s' om dit gedeelte weer te geven) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". + #. The last %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1701 ++#: handler.c:1700 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported (use '%s' to view this part) --]\n" + msgstr "[-- %s/%s wordt niet ondersteund (gebruik '%s' om dit gedeelte weer te geven) --]\n" + +-#: handler.c:1709 ++#: handler.c:1708 + #, fuzzy + msgid "[-- This is an attachment (need 'view-attachments' bound to key) --]\n" + msgstr "[-- Dit is een bijlage ('view-attachments' moet aan een toets gekoppeld zijn) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1715 ++#: handler.c:1714 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported (need 'view-attachments' bound to key) --]\n" + msgstr "[-- %s/%s wordt niet ondersteund ('view-attachments' moet aan een toets gekoppeld zijn) --]\n" + +-#: handler.c:1724 ++#: handler.c:1723 + #, fuzzy + msgid "[-- This is an attachment --]\n" + msgstr "[-- Dit is een bijlage --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1729 ++#: handler.c:1728 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported --]\n" + msgstr "[-- %s/%s wordt niet ondersteund --]\n" + +-#: help.c:400 ++#: help.c:401 + msgid "ERROR: please report this bug" + msgstr "FOUT: Meld deze programmafout." + +-#: help.c:455 ++#: help.c:456 + msgid "" + msgstr "" + +-#: help.c:469 ++#: help.c:470 + msgid "Generic bindings:" + msgstr "Algemene toetsenbindingen:" + +-#: help.c:473 ++#: help.c:474 + msgid "Unbound functions:" + msgstr "Ongebonden functies:" + +-#: help.c:481 ++#: help.c:482 + #, c-format + msgid "Help for %s" + msgstr "Hulp voor %s" +@@ -2068,41 +2320,41 @@ msgstr "sneltoets voor mailbox expandeerde tot lege reguliere expressie" + msgid "badly formatted command string" + msgstr "onjuist opgemaakte commandotekenreeks" + +-#: hook.c:461 ++#: hook.c:466 + msgid "unhook: Can't do unhook * from within a hook" + msgstr "unhook: Kan geen 'unhook *' doen binnen een 'hook'" + +-#: hook.c:474 ++#: hook.c:479 + #, c-format + msgid "unhook: unknown hook type: %s" + msgstr "unhook: onbekend 'hook'-type: %s" + +-#: hook.c:484 ++#: hook.c:489 + #, c-format + msgid "unhook: Can't delete a %s from within a %s" + msgstr "unhook: Kan geen %s wissen binnen een %s" + + #. L10N: '%s' is the (misspelled) name of the menu, e.g. 'index' or 'pager' +-#: icommands.c:259 keymap.c:1161 keymap.c:1346 ++#: icommands.c:261 keymap.c:1159 keymap.c:1344 + #, c-format + msgid "%s: no such menu" + msgstr "%s: onbekend menu" + + #. L10N: '%s' is the name of the menu, e.g. 'index' or 'pager', it might + #. L10N: also be 'all' when all menus are affected. +-#: icommands.c:272 ++#: icommands.c:274 + #, fuzzy, c-format + msgid "%s: no binds for this menu" + msgstr "%s: onbekend menu" + +-#: icommands.c:272 ++#: icommands.c:274 + #, fuzzy, c-format + msgid "%s: no macros for this menu" + msgstr "%s: onbekend menu" + + #. L10N: '%s' is the file name of the temporary file +-#: icommands.c:283 icommands.c:296 icommands.c:316 icommands.c:340 +-#: icommands.c:360 icommands.c:371 imap/message.c:1093 ++#: icommands.c:285 icommands.c:297 icommands.c:317 icommands.c:340 ++#: icommands.c:360 icommands.c:370 imap/message.c:1093 + #, c-format + msgid "Could not create temporary file %s" + msgstr "Tijdelijk bestand %s kon niet worden aangemaakt" +@@ -2140,30 +2392,30 @@ msgstr "GSSAPI-authenticatie is mislukt" + msgid "LOGIN disabled on this server" + msgstr "LOGIN is uitgeschakeld op deze server" + +-#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:288 ++#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:289 + msgid "Logging in..." + msgstr "Aanmelden..." + +-#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:329 ++#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:330 + msgid "Login failed" + msgstr "Aanmelden is mislukt.." + +-#: imap/auth_oauth.c:64 pop/pop_auth.c:346 smtp.c:524 ++#: imap/auth_oauth.c:65 pop/pop_auth.c:347 smtp.c:549 + #, fuzzy + msgid "Authenticating (OAUTHBEARER)..." + msgstr "Authenticatie (SASL)..." + +-#: imap/auth_oauth.c:96 ++#: imap/auth_oauth.c:97 + #, fuzzy + msgid "OAUTHBEARER authentication failed" + msgstr "OAUTHBEARER-authenticatie is mislukt" + +-#: imap/auth_sasl.c:128 nntp/nntp.c:606 nntp/nntp.c:671 smtp.c:443 ++#: imap/auth_sasl.c:128 nntp/nntp.c:608 nntp/nntp.c:673 smtp.c:468 + #, c-format + msgid "Authenticating (%s)..." + msgstr "Authenticeren (%s)..." + +-#: imap/auth_sasl.c:259 pop/pop_auth.c:200 smtp.c:584 smtp.c:646 ++#: imap/auth_sasl.c:259 pop/pop_auth.c:201 smtp.c:609 smtp.c:671 + msgid "SASL authentication failed" + msgstr "SASL-authenticatie is mislukt" + +@@ -2210,90 +2462,80 @@ msgstr "Hernoemen is mislukt: %s" + msgid "Mailbox renamed" + msgstr "Postvak is hernoemd" + +-#: imap/command.c:164 ++#: imap/command.c:177 + #, fuzzy, c-format + msgid "Mailbox %s@%s closed" + msgstr "Postvak %s@%s is gesloten." + +-#: imap/command.c:1258 imap/command.c:1370 ++#: imap/command.c:1287 imap/command.c:1399 + #, fuzzy, c-format + msgid "Connection to %s timed out" + msgstr "Verbinding met %s beëindigd" + +-#: imap/imap.c:87 ++#: imap/imap.c:93 + #, fuzzy + msgid "This IMAP server is ancient. NeoMutt does not work with it." + msgstr "NeoMutt kan niet overweg met deze antieke IMAP-server." + +-#: imap/imap.c:438 ++#: imap/imap.c:444 + #, c-format + msgid "Header search without header name: %s" + msgstr "Zoeken op header zonder headernaam: %s" + +-#: imap/imap.c:468 ++#: imap/imap.c:474 + #, c-format + msgid "Server-side custom search not supported: %s" + msgstr "" + +-#: imap/imap.c:584 ++#: imap/imap.c:590 + #, c-format + msgid "CREATE failed: %s" + msgstr "CREATE is mislukt: %s" + +-#: imap/imap.c:704 ++#: imap/imap.c:710 + #, c-format + msgid "Closing connection to %s..." + msgstr "Verbinding met %s wordt gesloten..." + +-#: imap/imap.c:882 nntp/nntp.c:1889 pop/pop_lib.c:324 smtp.c:687 ++#: imap/imap.c:888 nntp/nntp.c:1891 pop/pop_lib.c:350 smtp.c:712 + msgid "Secure connection with TLS?" + msgstr "Beveiligde connectie met TLS?" + +-#: imap/imap.c:895 nntp/nntp.c:1910 pop/pop_lib.c:343 smtp.c:702 ++#: imap/imap.c:901 nntp/nntp.c:1912 pop/pop_lib.c:369 smtp.c:727 + msgid "Could not negotiate TLS connection" + msgstr "Kon TLS connectie niet onderhandelen" + +-#: imap/imap.c:910 pop/pop_lib.c:360 ++#: imap/imap.c:916 pop/pop_lib.c:386 + msgid "Encrypted connection unavailable" + msgstr "Versleutelde verbinding niet beschikbaar" + +-#: imap/imap.c:1417 ++#: imap/imap.c:1430 + #, c-format + msgid "Subscribing to %s..." + msgstr "Aanmelden voor %s..." + +-#: imap/imap.c:1419 ++#: imap/imap.c:1432 + #, c-format + msgid "Unsubscribing from %s..." + msgstr "Abonnement opzeggen op %s..." + +-#: imap/imap.c:1430 init.c:2142 +-#, c-format +-msgid "Subscribed to %s" +-msgstr "Geabonneerd op %s" +- +-#: imap/imap.c:1432 init.c:2620 +-#, c-format +-msgid "Unsubscribed from %s" +-msgstr "Abonnement op %s opgezegd" +- +-#: imap/imap.c:1582 imap/message.c:1674 ++#: imap/imap.c:1595 imap/message.c:1674 + #, fuzzy, c-format + msgid "Copying %d message to %s..." + msgid_plural "Copying %d messages to %s..." + msgstr[0] "Een bericht word gekopieerd naar %s..." + msgstr[1] "%d berichten worden gekopieerd naar %s..." + +-#: imap/imap.c:1599 imap/imap.c:2217 imap/message.c:1713 muttlib.c:1505 ++#: imap/imap.c:1612 imap/imap.c:2254 imap/message.c:1713 muttlib.c:1503 + #, c-format + msgid "Create %s?" + msgstr "%s aanmaken?" + +-#: imap/imap.c:1667 ++#: imap/imap.c:1685 + msgid "Expunge failed" + msgstr "Verwijderen is mislukt" + +-#: imap/imap.c:1683 ++#: imap/imap.c:1701 + #, fuzzy, c-format + msgid "Marking %d message deleted..." + msgid_plural "Marking %d messages deleted..." +@@ -2301,44 +2543,44 @@ msgstr[0] "Een bericht is gemarkeerd voor verwijdering..." + msgstr[1] "%d berichten zijn gemarkeerd voor verwijdering..." + + #. L10N: The plural is chosen by the last %d, i.e. the total number +-#: imap/imap.c:1720 ++#: imap/imap.c:1738 + #, fuzzy, c-format + msgid "Saving changed message... [%d/%d]" + msgid_plural "Saving changed messages... [%d/%d]" + msgstr[0] "Gewijzigd bericht word opgeslaan...[%d/%d]" + msgstr[1] "Gewijzigde berichten worden opgeslagen... [%d/%d]" + +-#: imap/imap.c:1776 ++#: imap/imap.c:1794 + msgid "Error saving flags. Close anyway?" + msgstr "Fout bij opslaan markeringen. Toch afsluiten?" + +-#: imap/imap.c:1783 ++#: imap/imap.c:1801 + msgid "Error saving flags" + msgstr "Fout bij opslaan markeringen." + +-#: imap/imap.c:1808 ++#: imap/imap.c:1826 + msgid "Expunging messages from server..." + msgstr "Berichten op de server worden gewist..." + +-#: imap/imap.c:1814 ++#: imap/imap.c:1832 + msgid "imap_sync_mailbox: EXPUNGE failed" + msgstr "imap_sync_mailbox: EXPUNGE is mislukt" + +-#: imap/imap.c:2023 nntp/nntp.c:2486 ++#: imap/imap.c:2058 nntp/nntp.c:2488 + #, c-format + msgid "Selecting %s..." + msgstr "%s wordt uitgekozen..." + +-#: imap/imap.c:2184 ++#: imap/imap.c:2221 + msgid "Error opening mailbox" + msgstr "Er is een fout opgetreden tijdens openen van het postvak" + +-#: imap/imap.c:2330 ++#: imap/imap.c:2367 + #, fuzzy + msgid "IMAP server doesn't support custom flags" + msgstr "IMAP server ondersteund geen zelfgemaakte markeringen" + +-#: imap/imap.c:2374 ++#: imap/imap.c:2411 + #, fuzzy + msgid "Invalid IMAP flags" + msgstr "Ongeldige IMAP markering" +@@ -2349,7 +2591,7 @@ msgid "Abort download and close mailbox?" + msgstr "" + + #: imap/message.c:554 mutt/memory.c:58 mutt/memory.c:98 mutt/memory.c:134 +-#: mutt/string.c:1178 mx.c:1176 ++#: mutt/string.c:1201 mx.c:1195 + msgid "Out of memory" + msgstr "Onvoldoende geheugen" + +@@ -2369,7 +2611,7 @@ msgstr "Headers worden opgehaald..." + msgid "Unable to fetch headers from this IMAP server version" + msgstr "Kan berichtenoverzicht niet overhalen van deze IMAP-server" + +-#: imap/message.c:1099 index.c:1548 nntp/nntp.c:1328 pop/pop.c:426 ++#: imap/message.c:1099 index.c:1554 nntp/nntp.c:1330 pop/pop.c:426 + msgid "Fetching message headers..." + msgstr "Headers worden opgehaald..." + +@@ -2382,156 +2624,156 @@ msgstr "Bericht wordt ge-upload..." + msgid "Copying message %d to %s..." + msgstr "Bericht %d wordt gekopieerd naar %s ..." + +-#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2737 pop/pop.c:1110 ++#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2739 pop/pop.c:1105 + msgid "Fetching message..." + msgstr "Bericht wordt gelezen..." + +-#: imap/message.c:1959 pop/pop.c:1106 ++#: imap/message.c:1959 pop/pop.c:1101 + msgid "The message index is incorrect. Try reopening the mailbox." + msgstr "De berichtenindex is niet correct. Probeer het postvak te heropenen." + +-#: imap/util.c:767 ++#: imap/util.c:796 + msgid "Continue?" + msgstr "Doorgaan?" + +-#: index.c:115 index.c:128 ++#: index.c:111 index.c:124 + msgid "Quit" + msgstr "Einde" + +-#: index.c:118 index.c:131 recvattach.c:93 ++#: index.c:114 index.c:127 recvattach.c:91 + msgid "Save" + msgstr "Opslaan" + +-#: index.c:119 query.c:81 ++#: index.c:115 query.c:79 + msgid "Mail" + msgstr "Sturen" + +-#: index.c:120 pager.c:237 ++#: index.c:116 pager.c:229 + msgid "Reply" + msgstr "Antw." + +-#: index.c:121 ++#: index.c:117 + msgid "Group" + msgstr "Groep" + +-#: index.c:132 pager.c:244 ++#: index.c:128 pager.c:236 + msgid "Post" + msgstr "" + +-#: index.c:133 pager.c:245 ++#: index.c:129 pager.c:237 + #, fuzzy + msgid "Followup" + msgstr "Opvolging" + +-#: index.c:190 index.c:1362 ++#: index.c:186 index.c:1367 + msgid "No mailbox is open" + msgstr "Er is geen postvak geopend" + +-#: index.c:196 ++#: index.c:192 + msgid "There are no messages" + msgstr "Er zijn geen berichten" + +-#: index.c:202 ++#: index.c:198 + msgid "No visible messages" + msgstr "Geen zichtbare berichten" + +-#: index.c:208 mx.c:901 pager.c:223 recvattach.c:80 ++#: index.c:204 mx.c:920 pager.c:215 recvattach.c:78 + msgid "Mailbox is read-only" + msgstr "Postvak is schrijfbeveiligd" + +-#: index.c:214 pager.c:225 recvattach.c:98 ++#: index.c:210 pager.c:217 recvattach.c:96 + msgid "Function not permitted in attach-message mode" + msgstr "Functie wordt niet ondersteund in deze modus" + + #. L10N: %s is one of the CHECK_ACL entries below. +-#: index.c:239 pager.c:290 ++#: index.c:235 pager.c:282 + #, c-format + msgid "%s: Operation not permitted by ACL" + msgstr "%s: operatie niet toegestaan door ACL" + +-#: index.c:430 ++#: index.c:426 + msgid "Can't toggle write on a readonly mailbox" + msgstr "Kan niet schrijven in een schrijfbeveiligd postvak" + +-#: index.c:437 ++#: index.c:433 + msgid "Changes to folder will be written on folder exit" + msgstr "Wijzigingen zullen worden weggeschreven bij het verlaten van het postvak" + +-#: index.c:442 ++#: index.c:438 + msgid "Changes to folder will not be written" + msgstr "Wijzigingen worden niet weggeschreven" + +-#: index.c:719 muttlib.c:1490 mx.c:206 mx.c:340 ++#: index.c:714 muttlib.c:1488 mx.c:206 mx.c:338 + #, c-format + msgid "%s is not a mailbox" + msgstr "%s is geen postvak" + +-#: index.c:1218 ++#: index.c:1223 + msgid "Mailbox was externally modified. Flags may be wrong." + msgstr "Postvak is extern veranderd. Markeringen kunnen onjuist zijn." + +-#: index.c:1227 pager.c:2409 ++#: index.c:1232 pager.c:2379 + msgid "New mail in this mailbox" + msgstr "Nieuwe berichten in dit postvak" + +-#: index.c:1242 ++#: index.c:1247 + msgid "Mailbox was externally modified" + msgstr "Postvak is extern veranderd" + +-#: index.c:1369 ++#: index.c:1374 + msgid "No tagged messages" + msgstr "Geen gemarkeerde berichten" + +-#: index.c:1373 index.c:1647 menu.c:1423 ++#: index.c:1378 index.c:1653 menu.c:1423 + msgid "Nothing to do" + msgstr "Niets te doen" + +-#: index.c:1470 ++#: index.c:1475 + #, fuzzy + msgid "Enter Message-Id: " + msgstr "Geef bericht-ID in: " + +-#: index.c:1481 ++#: index.c:1487 + msgid "Article has no parent reference" + msgstr "" + +-#: index.c:1504 ++#: index.c:1510 + #, fuzzy + msgid "Message is not visible in limited view" + msgstr "Bericht is niet zichtbaar in deze beperkte weergave" + +-#: index.c:1508 ++#: index.c:1514 + #, fuzzy, c-format + msgid "Fetching %s from server..." + msgstr "%s wordt van de server gehaald..." + +-#: index.c:1518 nntp/nntp.c:2772 ++#: index.c:1524 nntp/nntp.c:2774 + #, c-format + msgid "Article %s not found on the server" + msgstr "" + +-#: index.c:1544 ++#: index.c:1550 + msgid "No Message-Id. Unable to perform operation." + msgstr "" + +-#: index.c:1623 ++#: index.c:1629 + #, fuzzy + msgid "No deleted messages found in the thread" + msgstr "Geen verwijderde berichten gevonden in de thread" + +-#: index.c:1644 ++#: index.c:1650 + msgid "Jump to message: " + msgstr "Ga naar bericht: " + +-#: index.c:1650 ++#: index.c:1656 + msgid "Argument must be a message number" + msgstr "Argument moet een berichtnummer zijn" + +-#: index.c:1652 ++#: index.c:1658 + msgid "Invalid message number" + msgstr "Ongeldig berichtnummer" + +-#: index.c:1654 ++#: index.c:1660 + msgid "That message is not visible" + msgstr "Dat bericht is niet zichtbaar" + +@@ -2544,38 +2786,38 @@ msgstr "Dat bericht is niet zichtbaar" + #. delete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. + #. +-#: index.c:1692 index.c:3267 pager.c:3064 ++#: index.c:1698 index.c:3293 pager.c:3039 + #, fuzzy + msgid "Can't delete messages" + msgstr "Kan berichten niet verwijderen" + +-#: index.c:1695 ++#: index.c:1701 + msgid "Delete messages matching: " + msgstr "Wis berichten volgens patroon: " + +-#: index.c:1736 ++#: index.c:1742 + msgid "No limit pattern is in effect" + msgstr "Er is geen beperkend patroon in werking" + + #. L10N: ask for a limit to apply +-#: index.c:1741 ++#: index.c:1747 + #, c-format + msgid "Limit: %s" + msgstr "Limiet: %s" + +-#: index.c:1778 ++#: index.c:1784 + msgid "Limit to messages matching: " + msgstr "Beperk berichten volgens patroon: " + +-#: index.c:1809 ++#: index.c:1815 + msgid "To view all messages, limit to \"all\"" + msgstr "Beperk op \"all\" om alle berichten te bekijken" + +-#: index.c:1821 pager.c:2514 ++#: index.c:1827 pager.c:2487 + msgid "Quit NeoMutt?" + msgstr "NeoMutt afsluiten?" + +-#: index.c:1924 ++#: index.c:1931 + msgid "Tag messages matching: " + msgstr "Markeer berichten volgens patroon: " + +@@ -2583,204 +2825,204 @@ msgstr "Markeer berichten volgens patroon: " + #. L10N: Due to the implementation details we do not know whether we + #. undelete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:1935 index.c:3807 pager.c:3418 ++#: index.c:1942 index.c:3833 pager.c:3396 + #, fuzzy + msgid "Can't undelete messages" + msgstr "Kan bericht niet herstellen" + +-#: index.c:1939 ++#: index.c:1946 + msgid "Undelete messages matching: " + msgstr "Herstel berichten volgens patroon: " + +-#: index.c:1948 ++#: index.c:1955 + msgid "Untag messages matching: " + msgstr "Verwijder markering volgens patroon: " + +-#: index.c:1989 ++#: index.c:1996 + msgid "Logged out of IMAP servers" + msgstr "Uitgelogd uit IMAP-servers" + +-#: index.c:2105 ++#: index.c:2113 + #, fuzzy + msgid "No virtual folder and no Message-Id, aborting" + msgstr "Vituele map niet gevonden, stoppen" + +-#: index.c:2117 index.c:2288 index.c:2310 index.c:2331 ++#: index.c:2125 index.c:2313 index.c:2335 index.c:2356 + msgid "Failed to create query, aborting" + msgstr "Kan geen vraag moken, stoppen" + +-#: index.c:2130 ++#: index.c:2138 + msgid "failed to find message in notmuch database. try running 'notmuch new'." + msgstr "" + +-#: index.c:2139 ++#: index.c:2147 + msgid "Failed to read thread, aborting" + msgstr "Kan reeks niet lezen, stoppen" + +-#: index.c:2171 mx.c:1252 mx.c:1272 ++#: index.c:2179 mx.c:1271 mx.c:1291 + #, fuzzy + msgid "Folder doesn't support tagging, aborting" + msgstr "Map ondersteunt geen markeringen, stoppen" + +-#: index.c:2188 ++#: index.c:2196 + #, fuzzy + msgid "No tag specified, aborting" + msgstr "Geen markering opgegeven, stoppen" + +-#: index.c:2198 ++#: index.c:2206 + msgid "Update tags..." + msgstr "" + +-#: index.c:2238 ++#: index.c:2246 + msgid "Failed to modify tags, aborting" + msgstr "" + +-#: index.c:2284 ++#: index.c:2293 + #, fuzzy + msgid "No query, aborting" + msgstr "Geen vraag, stoppen" + +-#: index.c:2299 index.c:2320 ++#: index.c:2324 index.c:2345 + msgid "Windowed queries disabled" + msgstr "" + +-#: index.c:2304 index.c:2325 ++#: index.c:2329 index.c:2350 + msgid "No notmuch vfolder currently loaded" + msgstr "" + +-#: index.c:2374 ++#: index.c:2399 + msgid "Open mailbox in read-only mode" + msgstr "Open postvak in schrijfbeveiligde modus" + +-#: index.c:2376 ++#: index.c:2401 + msgid "Open mailbox" + msgstr "Open postvak" + +-#: index.c:2386 ++#: index.c:2411 + msgid "No mailboxes have new mail" + msgstr "Geen postvak met nieuwe berichten" + +-#: index.c:2419 ++#: index.c:2444 + #, fuzzy + msgid "Open newsgroup in read-only mode" + msgstr "Open nieuwsgroep in schrijfbeveiligde modus" + +-#: index.c:2421 ++#: index.c:2446 + msgid "Open newsgroup" + msgstr "" + +-#: index.c:2538 ++#: index.c:2564 + #, fuzzy + msgid "Exit NeoMutt without saving?" + msgstr "NeoMutt verlaten zonder op te slaan?" + + #. L10N: CHECK_ACL +-#: index.c:2554 ++#: index.c:2580 + #, fuzzy + msgid "Can't break thread" + msgstr "Kan threads niet linken" + +-#: index.c:2574 ++#: index.c:2600 + msgid "Thread broken" + msgstr "Thread is verbroken" + +-#: index.c:2587 ++#: index.c:2613 + msgid "Thread can't be broken, message is not part of a thread" + msgstr "Thread kan niet verbroken worden; bericht is geen deel van een thread" + + #. L10N: CHECK_ACL +-#: index.c:2597 ++#: index.c:2623 + msgid "Can't link threads" + msgstr "Kan threads niet linken" + +-#: index.c:2606 ++#: index.c:2632 + msgid "No Message-ID: header available to link thread" + msgstr "Er is geen 'Message-ID'-kopregel beschikbaar om thread te koppelen" + +-#: index.c:2608 ++#: index.c:2634 + msgid "First, please tag a message to be linked here" + msgstr "Markeer eerst een bericht om hieraan te koppelen" + +-#: index.c:2621 ++#: index.c:2647 + msgid "Threads linked" + msgstr "Threads gekoppeld" + +-#: index.c:2624 ++#: index.c:2650 + msgid "No thread linked" + msgstr "Geen thread gekoppeld" + +-#: index.c:2665 index.c:2690 ++#: index.c:2691 index.c:2716 + msgid "You are on the last message" + msgstr "Dit is het laatste bericht" + +-#: index.c:2673 index.c:2716 ++#: index.c:2699 index.c:2742 + msgid "No undeleted messages" + msgstr "Alle berichten zijn gewist" + +-#: index.c:2708 index.c:2733 ++#: index.c:2734 index.c:2759 + msgid "You are on the first message" + msgstr "Dit is het eerste bericht" + +-#: index.c:2874 ++#: index.c:2900 + msgid "No new messages in this limited view" + msgstr "Geen nieuwe berichten in deze beperkte weergave" + +-#: index.c:2876 ++#: index.c:2902 + msgid "No new messages" + msgstr "Geen nieuwe berichten" + +-#: index.c:2881 ++#: index.c:2907 + msgid "No unread messages in this limited view" + msgstr "Geen ongelezen berichten in deze beperkte weergave" + +-#: index.c:2883 ++#: index.c:2909 + msgid "No unread messages" + msgstr "Geen ongelezen berichten" + +-#: index.c:2893 menu.c:1208 pager.c:2644 pattern.c:2652 ++#: index.c:2919 menu.c:1208 pager.c:2618 pattern.c:2776 + msgid "Search wrapped to top" + msgstr "Zoekopdracht is bovenaan herbegonnen" + +-#: index.c:2898 pager.c:2669 pattern.c:2663 ++#: index.c:2924 pager.c:2643 pattern.c:2787 + msgid "Search wrapped to bottom" + msgstr "Zoekopdracht is onderaan herbegonnen" + + #. L10N: CHECK_ACL +-#: index.c:2915 ++#: index.c:2941 + msgid "Can't flag message" + msgstr "Kan bericht niet markeren" + + #. L10N: CHECK_ACL +-#: index.c:2961 pager.c:3377 ++#: index.c:2987 pager.c:3355 + msgid "Can't toggle new" + msgstr "Kan 'nieuw'-markering niet omschakelen" + +-#: index.c:3057 ++#: index.c:3083 + msgid "No more threads" + msgstr "Geen verdere threads" + +-#: index.c:3059 ++#: index.c:3085 + msgid "You are on the first thread" + msgstr "U bent al bij de eerste thread" + +-#: index.c:3156 ++#: index.c:3182 + #, fuzzy + msgid "Thread contains unread or flagged messages" + msgstr "Thread bevat ongelezen berichten" + + #. L10N: CHECK_ACL +-#: index.c:3215 pager.c:3019 ++#: index.c:3241 pager.c:2994 + msgid "Can't delete message" + msgstr "Kan bericht niet verwijderen" + + #. L10N: CHECK_ACL +-#: index.c:3339 ++#: index.c:3365 + msgid "Can't edit message" + msgstr "Kan bericht niet bewerken" + + #. L10N: This is displayed when the x-label on one or more + #. messages is edited. +-#: index.c:3432 pager.c:3495 ++#: index.c:3458 pager.c:3473 + #, fuzzy, c-format + msgid "%d label changed" + msgid_plural "%d labels changed" +@@ -2790,7 +3032,7 @@ msgstr[1] "%d labels zijn veranderd" + #. L10N: This is displayed when editing an x-label, but no messages + #. were updated. Possibly due to canceling at the prompt or if the new + #. label is the same as the old label. +-#: index.c:3440 pager.c:3499 ++#: index.c:3466 pager.c:3477 + msgid "No labels changed" + msgstr "Geen labels veranderd" + +@@ -2798,7 +3040,7 @@ msgstr "Geen labels veranderd" + #. L10N: Due to the implementation details we do not know whether we + #. mark zero, 1, 12, ... messages as read. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:3571 ++#: index.c:3597 + #, fuzzy + msgid "Can't mark messages as read" + msgstr "Kan berichten niet als gelezen markeren" +@@ -2806,270 +3048,133 @@ msgstr "Kan berichten niet als gelezen markeren" + #. L10N: This is the prompt for . Whatever they + #. enter will be prefixed by $mark_macro_prefix and will become + #. a macro hotkey to jump to the currently selected message. +-#: index.c:3612 ++#: index.c:3638 + msgid "Enter macro stroke: " + msgstr "Typ de macrotoetsaanslag: " + + #. L10N: "message hotkey" is the key bindings menu description of a + #. macro created by . +-#: index.c:3620 ++#: index.c:3646 + msgid "message hotkey" + msgstr "berichtsneltoets" + + #. L10N: This is echoed after creates a new hotkey + #. macro. %s is the hotkey string ($mark_macro_prefix followed + #. by whatever they typed at the prompt.) +-#: index.c:3625 ++#: index.c:3651 + #, c-format + msgid "Message bound to %s" + msgstr "Bericht is gebonden aan %s" + + #. L10N: This error is printed if can't find a + #. Message-ID for the currently selected message in the index. +-#: index.c:3634 ++#: index.c:3660 + msgid "No message ID to macro" + msgstr "Kan geen ID van dit bericht vinden in de index" + +-#: index.c:3688 pager.c:3221 recvattach.c:1646 ++#: index.c:3714 pager.c:3196 recvattach.c:1678 + msgid "Reply by mail as poster prefers?" + msgstr "" + +-#: index.c:3691 pager.c:3182 pager.c:3194 pager.c:3224 ++#: index.c:3717 pager.c:3157 pager.c:3169 pager.c:3199 + msgid "Posting to this group not allowed, may be moderated. Continue?" + msgstr "" + + #. L10N: CHECK_ACL +-#: index.c:3768 pager.c:3397 ++#: index.c:3794 pager.c:3375 + msgid "Can't undelete message" + msgstr "Kan bericht niet herstellen" + +-#: init.c:313 ++#: init.c:223 + #, c-format + msgid "Error in command line: %s" + msgstr "Fout in opdrachtregel: %s" + +-#: init.c:315 ++#: init.c:225 + #, fuzzy, c-format + msgid "Warning in command line: %s" + msgstr "Fout in opdrachtregel: %s" + +-#: init.c:426 ++#: init.c:336 + msgid "unable to determine nodename via uname()" + msgstr "Kan hostnaam niet achterhalen via uname()" + +-#: init.c:580 +-msgid "-group: no group name" +-msgstr "-group: geen groepsnaam" +- +-#: init.c:590 +-msgid "out of arguments" +-msgstr "te weinig argumenten" +- +-#: init.c:804 init.c:1752 +-#, c-format +-msgid "Error: Can't build path of '%s'" +-msgstr "" +- +-#: init.c:817 +-#, c-format +-msgid "Error: Cyclic sourcing of configuration file '%s'" +-msgstr "" +- +-#: init.c:850 +-#, c-format +-msgid "Error in %s, line %d: %s" +-msgstr "Fout in %s, regel %d: %s" +- +-#: init.c:861 +-#, fuzzy, c-format +-msgid "Warning in %s, line %d: %s" +-msgstr "Fout in %s, op regel %d: %s" +- +-#: init.c:885 +-#, c-format +-msgid "source: errors in %s" +-msgstr "source: fouten in %s" +- +-#: init.c:885 +-#, c-format +-msgid "source: reading aborted due to too many errors in %s" +-msgstr "source: inlezen is gestaakt vanwege te veel fouten in %s" +- +-#: init.c:894 +-#, fuzzy, c-format +-msgid "source: %d warning in %s" +-msgid_plural "source: %d warnings in %s" +-msgstr[0] "bron: fout in %s" +-msgstr[1] "bron: fouten in %s" +- +-#: init.c:923 +-msgid "alias: no address" +-msgstr "alias: Geen adres" +- +-#: init.c:965 +-#, c-format +-msgid "Warning: Bad IDN '%s' in alias '%s'" +-msgstr "Waarschuwing: Ongeldige IDN '%s' in alias '%s'" +- +-#: init.c:1043 +-msgid "attachments: no disposition" +-msgstr "attachments: geen dispositie" +- +-#: init.c:1054 +-#, fuzzy +-msgid "Current attachments settings:" +-msgstr "Huidige instellingen voor bijlagen:" +- +-#: init.c:1084 +-msgid "attachments: invalid disposition" +-msgstr "attachments: ongeldige dispositie" +- +-#: init.c:1160 +-#, c-format +-msgid "%sgroup: missing -rx or -addr" +-msgstr "%s-groep: Ontbrekende -rx of -addr" +- +-#: init.c:1186 +-#, c-format +-msgid "%sgroup: warning: bad IDN '%s'" +-msgstr "%s-groep: waarschuwing: Ongeldige IDN '%s'" +- +-#: init.c:1278 +-#, c-format +-msgid "Error: %s" +-msgstr "" +- +-#: init.c:1445 +-msgid "invalid header field" +-msgstr "ongeldig veld in berichtenkop" +- +-#: init.c:1711 init.c:1815 +-#, c-format +-msgid "%s: unknown variable" +-msgstr "%s: onbekende variable" +- +-#: init.c:1908 +-#, c-format +-msgid "%s is unset" +-msgstr "%s is niet gezet" +- +-#: init.c:1953 mutt_lua.c:478 +-#, c-format +-msgid "source: error at %s" +-msgstr "source: fout bij %s" +- +-#: init.c:1961 +-#, fuzzy, c-format +-msgid "source: file %s could not be sourced" +-msgstr "bron: bestand %s werd niet gevonden" +- +-#: init.c:1984 +-msgid "spam: no matching pattern" +-msgstr "spam: geen overeenkomstig patroon" +- +-#: init.c:1986 +-msgid "nospam: no matching pattern" +-msgstr "nospam: geen overeenkomstig patroon" +- +-#: init.c:2146 +-#, fuzzy, c-format +-msgid "Could not subscribe to %s" +-msgstr "Kan niet abonneren op %s" +- +-#: init.c:2154 init.c:2632 +-#, fuzzy +-msgid "No folder specified" +-msgstr "Geen map gespecifieerd" +- +-#: init.c:2341 +-msgid "unattachments: no disposition" +-msgstr "unattachments: geen dispositie" +- +-#: init.c:2379 +-msgid "unattachments: invalid disposition" +-msgstr "unattachments: ongeldige dispositie" +- +-#: init.c:2624 +-#, fuzzy, c-format +-msgid "Could not unsubscribe from %s" +-msgstr "Kan abbonnement op %s niet opzeggen" +- +-#: init.c:3292 ++#: init.c:1042 + #, c-format + msgid "%s: unknown command" + msgstr "%s: onbekend commando" + +-#: init.c:3837 ++#: init.c:1588 + msgid "'charset' must contain exactly one character set name" + msgstr "" + +-#: init.c:3853 init.c:3877 init.c:3912 ++#: init.c:1604 init.c:1628 init.c:1663 + #, fuzzy, c-format + msgid "Invalid value for option %s: %s" + msgstr "Ongeldige waarde voor optie %s: %s" + +-#: init.c:3890 ++#: init.c:1641 + #, c-format + msgid "Option %s may not be set or reset from the pager" + msgstr "" + +-#: init.c:3928 ++#: init.c:1679 + #, fuzzy, c-format + msgid "Option %s may not be set when in attach-message mode" + msgstr "Optie %s kan niet ingesteld worden in 'attach-message' modus" + + #. L10N: This applies to the "$wrap_headers" config variable +-#: init.c:3943 ++#: init.c:1694 + #, c-format + msgid "Option %s must between 78 and 998 inclusive" + msgstr "" + +-#: keymap.c:373 keymap.c:381 ++#: keymap.c:371 keymap.c:379 + #, c-format + msgid "Binding '%s' will alias '%s' Before, try: 'bind %s %s noop' https://neomutt.org/guide/configuration.html#bind-warnings" + msgstr "" + +-#: keymap.c:757 ++#: keymap.c:755 + msgid "Macro loop detected" + msgstr "Macro-lus gedetecteerd" + +-#: keymap.c:1064 keymap.c:1099 ++#: keymap.c:1062 keymap.c:1097 + msgid "Key is not bound" + msgstr "Toets is niet in gebruik" + +-#: keymap.c:1104 ++#: keymap.c:1102 + #, c-format + msgid "Key is not bound. Press '%s' for help." + msgstr "Toets is niet in gebruik. Typ '%s' voor hulp." + +-#: keymap.c:1177 ++#: keymap.c:1175 + #, c-format + msgid "%s: null key sequence" + msgstr "%s: lege toetsenvolgorde" + +-#: keymap.c:1212 ++#: keymap.c:1210 + #, c-format + msgid "Function '%s' not available for menu '%s'" + msgstr "" + +-#: keymap.c:1495 ++#: keymap.c:1493 + msgid "macro: empty key sequence" + msgstr "macro: lege toetsenvolgorde" + +-#: keymap.c:1543 ++#: keymap.c:1541 + msgid "exec: no arguments" + msgstr "exec: geen argumenten" + +-#: keymap.c:1563 ++#: keymap.c:1561 + #, c-format + msgid "%s: no such function" + msgstr "%s: onbekende functie" + +-#: keymap.c:1584 ++#: keymap.c:1582 + msgid "Enter keys (^G to abort): " + msgstr "Geef toetsen in (^G om af te breken): " + +-#: keymap.c:1590 ++#: keymap.c:1588 + #, c-format + msgid "Char = %s, Octal = %o, Decimal = %d" + msgstr "Teken = %s, Octaal = %o, Decimaal = %d" +@@ -3093,7 +3198,7 @@ msgstr "Kan geen mailcap-entry voor %s vinden." + msgid "Scanning %s..." + msgstr "%s wordt geanalyseerd..." + +-#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:353 ++#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:351 + #, c-format + msgid "Reading %s..." + msgstr "Bezig met het lezen van %s..." +@@ -3108,13 +3213,13 @@ msgid "md_commit_message(): unable to set time on file" + msgstr "md_commit_message(): Kan geen tijd op bestand zetten" + + #. L10N: Displayed before/as a mailbox is being synced +-#: maildir/shared.c:1723 mbox/mbox.c:1276 mx.c:461 notmuch/mutt_notmuch.c:2364 ++#: maildir/shared.c:1734 mbox/mbox.c:1276 mx.c:459 notmuch/mutt_notmuch.c:2364 + #, c-format + msgid "Writing %s..." + msgstr "Bezig met het schrijven van %s..." + + #. L10N: Try to limit to 80 columns +-#: main.c:227 ++#: main.c:160 + msgid "" + "usage:\n" + " neomutt [-Enx] [-e ] [-F ] [-H ] [-i ]\n" +@@ -3137,7 +3242,7 @@ msgid "" + msgstr "" + + #. L10N: Try to limit to 80 columns. If more space is needed add an indented line +-#: main.c:247 ++#: main.c:180 + msgid "" + "options:\n" + " -- Special argument forces NeoMutt to stop option parsing and treat\n" +@@ -3180,54 +3285,54 @@ msgid "" + " or exit immediately with exit code 1 otherwise" + msgstr "" + +-#: main.c:312 ++#: main.c:245 + msgid "Error initializing terminal" + msgstr "Kan terminal niet initialiseren" + +-#: main.c:390 ++#: main.c:323 + msgid "unable to determine username" + msgstr "Kan gebruikersnaam niet achterhalen" + +-#: main.c:396 ++#: main.c:329 + msgid "unable to determine home directory" + msgstr "Kan persoonlijke map niet achterhalen" + +-#: main.c:640 ++#: main.c:572 + #, c-format + msgid "Error: value '%s' is invalid for -d" + msgstr "Fout: waarde '%s' is een ongeldig voor optie '-d'" + +-#: main.c:884 ++#: main.c:815 + msgid "Failed to parse mailto: link" + msgstr "Kan mailto: koppeling niet verwerken" + +-#: main.c:896 send.c:2452 send.c:2456 ++#: main.c:827 send.c:2463 send.c:2467 + msgid "No recipients specified" + msgstr "Geen ontvangers opgegeven" + +-#: main.c:923 ++#: main.c:854 + msgid "Can't use -E flag with stdin" + msgstr "Optie '-E' gaat niet samen met standaardinvoer" + +-#: main.c:1007 ++#: main.c:938 + #, fuzzy, c-format + msgid "Can't parse message template: %s" + msgstr "Kan sjabloon bestand niet verwerken: %s" + +-#: main.c:1073 mutt_header.c:329 ++#: main.c:1004 mutt_header.c:329 + #, c-format + msgid "%s: unable to attach file" + msgstr "%s: kan bestand niet toevoegen" + +-#: main.c:1156 ++#: main.c:1087 + msgid "No mailbox with new mail" + msgstr "Geen postvak met nieuwe berichten" + +-#: main.c:1180 ++#: main.c:1111 + msgid "No incoming mailboxes defined" + msgstr "Geen postvakken opgegeven" + +-#: main.c:1230 ++#: main.c:1161 + msgid "Mailbox is empty" + msgstr "Postvak is leeg" + +@@ -3269,52 +3374,52 @@ msgstr "Kan postvak niet opnieuw openen" + msgid "Can't write message" + msgstr "Kan bericht niet wegschrijven" + +-#: menu.c:632 ++#: menu.c:631 + msgid "Jump to: " + msgstr "Ga naar: " + +-#: menu.c:641 ++#: menu.c:640 + msgid "Invalid index number" + msgstr "Ongeldig Indexnummer" + +-#: menu.c:645 menu.c:671 menu.c:744 menu.c:810 menu.c:828 menu.c:843 menu.c:858 +-#: menu.c:873 menu.c:890 menu.c:907 menu.c:1553 ++#: menu.c:644 menu.c:670 menu.c:743 menu.c:809 menu.c:827 menu.c:842 menu.c:857 ++#: menu.c:872 menu.c:889 menu.c:906 menu.c:1553 + msgid "No entries" + msgstr "Geen items" + +-#: menu.c:668 ++#: menu.c:667 + msgid "You can't scroll down farther" + msgstr "U kunt niet verder naar beneden gaan" + +-#: menu.c:690 ++#: menu.c:689 + msgid "You can't scroll up farther" + msgstr "U kunt niet verder naar boven gaan" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the first page" + msgstr "U bent op de eerste pagina" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the last page" + msgstr "U bent op de laatste pagina" + +-#: menu.c:922 ++#: menu.c:921 + msgid "You are on the last entry" + msgstr "U bent op het laatste item" + +-#: menu.c:937 ++#: menu.c:936 + msgid "You are on the first entry" + msgstr "U bent op het eerste item" + +-#: menu.c:1172 pager.c:2692 pattern.c:2578 ++#: menu.c:1172 pager.c:2666 pattern.c:2702 + msgid "Search for: " + msgstr "Zoek naar: " + +-#: menu.c:1173 pager.c:2693 pattern.c:2579 ++#: menu.c:1173 pager.c:2667 pattern.c:2703 + msgid "Reverse search for: " + msgstr "Zoek achteruit naar: " + +-#: menu.c:1226 pager.c:2641 pager.c:2666 pager.c:2800 pattern.c:2708 ++#: menu.c:1226 pager.c:2615 pager.c:2640 pager.c:2774 pattern.c:2832 + msgid "Not found" + msgstr "Niet gevonden" + +@@ -3357,20 +3462,20 @@ msgstr "Wacht op flock-poging... %d" + msgid "Bad history file format (line %d)" + msgstr "Verkeerde indeling van geschiedenisbestand (regel %d)" + +-#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1006 ncrypt/crypt_gpgme.c:2381 +-#: ncrypt/crypt_gpgme.c:2401 ncrypt/crypt_gpgme.c:2460 +-#: ncrypt/crypt_gpgme.c:2477 ncrypt/crypt_gpgme.c:2509 +-#: ncrypt/crypt_gpgme.c:2527 ncrypt/crypt_gpgme.c:2611 +-#: ncrypt/crypt_gpgme.c:3194 ncrypt/crypt_gpgme.c:3292 +-#: ncrypt/crypt_gpgme.c:4373 ncrypt/pgp.c:576 ncrypt/pgp.c:583 ncrypt/pgp.c:896 +-#: ncrypt/pgp.c:1014 ncrypt/pgp.c:1161 ncrypt/pgp.c:1181 ncrypt/pgp.c:1215 +-#: ncrypt/pgp.c:1568 ncrypt/pgpkey.c:708 ncrypt/pgpkey.c:902 +-#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1092 ncrypt/smime.c:1100 +-#: ncrypt/smime.c:1191 ncrypt/smime.c:1299 ncrypt/smime.c:1364 +-#: ncrypt/smime.c:1372 ncrypt/smime.c:1571 ncrypt/smime.c:1967 +-#: ncrypt/smime.c:2046 ncrypt/smime.c:2053 ncrypt/smime.c:2156 +-#: ncrypt/smime.c:2281 ncrypt/smime.c:2297 nntp/nntp.c:1397 nntp/nntp.c:2237 +-#: pattern.c:1132 pop/pop.c:182 ++#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1005 ncrypt/crypt_gpgme.c:2420 ++#: ncrypt/crypt_gpgme.c:2440 ncrypt/crypt_gpgme.c:2499 ++#: ncrypt/crypt_gpgme.c:2516 ncrypt/crypt_gpgme.c:2548 ++#: ncrypt/crypt_gpgme.c:2566 ncrypt/crypt_gpgme.c:2650 ++#: ncrypt/crypt_gpgme.c:3237 ncrypt/crypt_gpgme.c:3335 ++#: ncrypt/crypt_gpgme.c:4421 ncrypt/pgp.c:575 ncrypt/pgp.c:582 ncrypt/pgp.c:895 ++#: ncrypt/pgp.c:1013 ncrypt/pgp.c:1160 ncrypt/pgp.c:1180 ncrypt/pgp.c:1214 ++#: ncrypt/pgp.c:1570 ncrypt/pgpkey.c:741 ncrypt/pgpkey.c:937 ++#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1126 ncrypt/smime.c:1134 ++#: ncrypt/smime.c:1225 ncrypt/smime.c:1333 ncrypt/smime.c:1398 ++#: ncrypt/smime.c:1406 ncrypt/smime.c:1605 ncrypt/smime.c:2001 ++#: ncrypt/smime.c:2080 ncrypt/smime.c:2087 ncrypt/smime.c:2190 ++#: ncrypt/smime.c:2315 ncrypt/smime.c:2331 nntp/nntp.c:1399 nntp/nntp.c:2239 ++#: pattern.c:1171 pop/pop.c:182 + msgid "Can't create temporary file" + msgstr "Kan tijdelijk bestand niet aanmaken" + +@@ -3389,7 +3494,7 @@ msgstr "Debug-informatie op niveau %d voor bestand '%s'" + msgid "Logging at level %d to file '%s'" + msgstr "Logging op niveau %d voor bestand '%s'" + +-#: mutt/path.c:401 ++#: mutt/path.c:420 + #, fuzzy + msgid "Error: converting path to absolute" + msgstr "Fout: omzetten pad naar aboluut" +@@ -3413,17 +3518,17 @@ msgstr "Signaal %d (%s) ontvangen ... Afsluiten." + msgid "Caught signal %d ... Exiting.\n" + msgstr "Signaal %d ontvangen ... Afsluiten.\n" + +-#: muttlib.c:490 ++#: muttlib.c:488 + #, c-format + msgid "mutt_randbuf buflen=%zu" + msgstr "" + +-#: muttlib.c:510 ++#: muttlib.c:508 + #, c-format + msgid "open /dev/urandom: %s" + msgstr "" + +-#: muttlib.c:517 ++#: muttlib.c:515 + #, c-format + msgid "read /dev/urandom: %s" + msgstr "" +@@ -3431,148 +3536,120 @@ msgstr "" + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) + #. These three letters correspond to the choices in the string. +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "File is a directory, save under it: (y)es, (n)o, (a)ll?" + msgstr "Bestand is een map, daarin opslaan? (j)a, (n)ee, (a)llen" + +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "yna" + msgstr "jna" + + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) +-#: muttlib.c:763 ++#: muttlib.c:761 + msgid "File is a directory, save under it?" + msgstr "Bestand is een map, daarin opslaan?" + +-#: muttlib.c:768 ++#: muttlib.c:766 + msgid "File under directory: " + msgstr "Bestandsnaam in map: " + +-#: muttlib.c:781 ++#: muttlib.c:779 + msgid "File exists, (o)verwrite, (a)ppend, or (c)ancel?" + msgstr "Bestand bestaat, (o)verschrijven, (t)oevoegen, (a)nnuleren?" + + #. L10N: Options for: File exists, (o)verwrite, (a)ppend, or (c)ancel? +-#: muttlib.c:783 ++#: muttlib.c:781 + msgid "oac" + msgstr "ota" + +-#: muttlib.c:1458 ++#: muttlib.c:1456 + msgid "Can't save message to POP mailbox" + msgstr "Kan het bericht niet opslaan in het POP-postvak" + +-#: muttlib.c:1468 ++#: muttlib.c:1466 + #, c-format + msgid "Append messages to %s?" + msgstr "Bericht aan %s toevoegen?" + +-#: muttlib.c:1481 ++#: muttlib.c:1479 + #, fuzzy + msgid "Can't save message to news server" + msgstr "Kan bericht niet opslaan op nieuws server" + +-#. L10N: Example: Username at myhost.com +-#: mutt_account.c:233 +-#, c-format +-msgid "Username at %s: " +-msgstr "Gebruikersnaam voor %s: " +- +-#: mutt_account.c:315 +-#, c-format +-msgid "Password for %s@%s: " +-msgstr "Wachtwoord voor %s@%s: " +- +-#. L10N: You will see this error message if (1) you have "oauthbearer" in +-#. one of your $*_authenticators and (2) you do not have the corresponding +-#. $*_oauth_refresh_command defined. So the message does not mean "None of +-#. your $*_oauth_refresh_command's are defined." +-#: mutt_account.c:383 +-#, fuzzy +-msgid "No OAUTH refresh command defined" +-msgstr "Query-commando niet gedefinieerd" +- +-#: mutt_account.c:390 +-msgid "Unable to run refresh command" +-msgstr "" +- +-#: mutt_account.c:400 +-msgid "Command returned empty string" +-msgstr "" +- +-#: mutt_attach.c:140 mutt_attach.c:274 mutt_attach.c:459 mutt_attach.c:1054 ++#: mutt_attach.c:142 mutt_attach.c:276 mutt_attach.c:488 mutt_attach.c:1087 + msgid "Can't match 'nametemplate', continue?" + msgstr "Naamsjabloon kan niet worden ingevuld. Doorgaan?" + +-#: mutt_attach.c:150 ++#: mutt_attach.c:152 + #, c-format + msgid "Mailcap compose entry requires %%s" + msgstr "\"compose\"-entry in mailcap vereist %%s." + +-#: mutt_attach.c:168 ++#: mutt_attach.c:170 + msgid "Failure to open file to parse headers" + msgstr "Kan bestand niet openen om header te lezen" + +-#: mutt_attach.c:202 ++#: mutt_attach.c:204 + msgid "Failure to open file to strip headers" + msgstr "Kan bestand niet openen om header te verwijderen" + +-#: mutt_attach.c:212 ++#: mutt_attach.c:214 + msgid "Failure to rename file" + msgstr "Kan bestand niet hernoemen" + +-#: mutt_attach.c:222 ++#: mutt_attach.c:224 + #, c-format + msgid "No mailcap compose entry for %s, creating empty file" + msgstr "Geen \"compose\"-entry voor %s, een leeg bestand wordt aangemaakt" + +-#: mutt_attach.c:284 ++#: mutt_attach.c:286 + #, c-format + msgid "Mailcap Edit entry requires %%s" + msgstr "\"edit\"-entry in mailcap vereist %%s." + +-#: mutt_attach.c:305 ++#: mutt_attach.c:307 + #, c-format + msgid "No mailcap edit entry for %s" + msgstr "Geen \"edit\"-entry voor %s in mailcap" + +-#: mutt_attach.c:427 ++#: mutt_attach.c:456 + msgid "No matching mailcap entry found. Viewing as text." + msgstr "Geen geschikte mailcap-entry gevonden. Weergave als normale tekst." + +-#: mutt_attach.c:440 ++#: mutt_attach.c:469 + msgid "MIME type not defined. Can't view attachment." + msgstr "MIME-type is niet gedefinieerd. Kan bijlage niet weergeven." + +-#: mutt_attach.c:535 ++#: mutt_attach.c:563 + #, c-format + msgid "---Command: %-20.20s Description: %s" + msgstr "---Commando: %-20.20s Omschrijving: %s" + +-#: mutt_attach.c:540 ++#: mutt_attach.c:568 + #, c-format + msgid "---Command: %-30.30s Attachment: %s" + msgstr "---Commando: %-30.30s Bijlage: %s" + +-#: mutt_attach.c:619 ++#: mutt_attach.c:652 + #, c-format + msgid "---Attachment: %s: %s" + msgstr "---Bijlage: %s: %s" + +-#: mutt_attach.c:621 ++#: mutt_attach.c:654 + #, c-format + msgid "---Attachment: %s" + msgstr "---Bijlage: %s" + +-#: mutt_attach.c:902 mutt_attach.c:910 ++#: mutt_attach.c:935 mutt_attach.c:943 + msgid "Write fault" + msgstr "Fout bij schrijven" + +-#: mutt_attach.c:1174 ++#: mutt_attach.c:1207 + msgid "I don't know how to print that" + msgstr "Ik weet niet hoe dit afgedrukt moet worden" + +-#: mutt_history.c:47 query.c:84 ++#: mutt_history.c:47 query.c:82 + msgid "Search" + msgstr "Zoeken" + +@@ -3581,21 +3658,21 @@ msgstr "Zoeken" + msgid "History '%s'" + msgstr "Geschiedenis '%s'" + +-#: mutt_logging.c:315 ++#: mutt_logging.c:313 + #, fuzzy, c-format + msgid "Invalid value for option %s: %ld" + msgstr "Ongeldige waarde voor optie %s: %ld" + +-#: mutt_lua.c:429 ++#: mutt_lua.c:431 + msgid "Error: Couldn't load the lua interpreter" + msgstr "" + +-#: mutt_lua.c:491 ++#: mutt_lua.c:493 + #, fuzzy, c-format + msgid "Couldn't source lua source: %s" + msgstr "Kan lua bron niet verwerken: %s" + +-#: mutt_mailbox.c:214 ++#: mutt_mailbox.c:241 + msgid "New mail in " + msgstr "Nieuw bericht in " + +@@ -3616,20 +3693,20 @@ msgstr "Beginbericht is niet zichtbaar in deze beperkte weergave" + msgid "Parent message is not visible in this limited view" + msgstr "Voorafgaand bericht is niet zichtbaar in deze beperkte weergave" + +-#: mx.c:387 ++#: mx.c:385 + #, fuzzy, c-format + msgid "Reading from %s interrupted..." + msgstr "Het lezen van %s is onderbroken,,," + + #. L10N: Displayed if a mailbox sync fails +-#: mx.c:468 ++#: mx.c:469 + #, fuzzy, c-format + msgid "Unable to write %s" + msgstr "Kan %s niet bijvoegen" + + #. L10N: Although we know the precise number of messages, we do not show it to the user. + #. So feel free to use a "generic plural" as plural translation if your language has one. +-#: mx.c:523 ++#: mx.c:525 + #, fuzzy + msgid "message not deleted" + msgid_plural "messages not deleted" +@@ -3640,69 +3717,69 @@ msgstr[1] "De berichten zijn niet verwijderd" + msgid "Can't open trash folder" + msgstr "Kan prullenmap niet openen" + +-#: mx.c:623 ++#: mx.c:627 + msgid "Mark all articles read?" + msgstr "" + + #. L10N: The first argument is the number of read messages to be + #. moved, the second argument is the target mailbox. +-#: mx.c:671 ++#: mx.c:675 + #, fuzzy, c-format + msgid "Move %d read message to %s?" + msgid_plural "Move %d read messages to %s?" + msgstr[0] "Gelezen bericht %d naar %s verplaatsen?" + msgstr[1] "Gelezen berichten %d naar %s verplaatsen?" + +-#: mx.c:685 mx.c:917 ++#: mx.c:689 mx.c:936 + #, fuzzy, c-format + msgid "Purge %d deleted message?" + msgid_plural "Purge %d deleted messages?" + msgstr[0] "Een verwijderd bericht volledig verwijderen" + msgstr[1] "%d verwijderde berichten volledig verwijderen?" + +-#: mx.c:708 ++#: mx.c:712 + #, c-format + msgid "Moving read messages to %s..." + msgstr "Gelezen berichten worden naar %s verplaatst..." + +-#: mx.c:774 mx.c:908 ++#: mx.c:783 mx.c:927 + msgid "Mailbox is unchanged" + msgstr "Postvak is niet veranderd" + +-#: mx.c:827 ++#: mx.c:842 + #, c-format + msgid "%d kept, %d moved, %d deleted" + msgstr "%d bewaard, %d verschoven, %d gewist" + +-#: mx.c:831 mx.c:972 ++#: mx.c:846 mx.c:991 + #, c-format + msgid "%d kept, %d deleted" + msgstr "%d bewaard, %d gewist" + +-#: mx.c:892 ++#: mx.c:911 + #, c-format + msgid " Press '%s' to toggle write" + msgstr " Druk '%s' om schrijfmode aan/uit te schakelen" + +-#: mx.c:894 ++#: mx.c:913 + msgid "Use 'toggle-write' to re-enable write" + msgstr "Gebruik 'toggle-write' om schrijven mogelijk te maken" + +-#: mx.c:896 ++#: mx.c:915 + #, c-format + msgid "Mailbox is marked unwritable. %s" + msgstr "Postvak is als schrijfbeveiligd gemarkeerd. %s" + +-#: mx.c:966 ++#: mx.c:985 + msgid "Mailbox checkpointed" + msgstr "Postvak is gecontroleerd" + +-#: ncrypt/crypt.c:93 ++#: ncrypt/crypt.c:91 + #, c-format + msgid " (current time: %c)" + msgstr " (huidige tijd: %c)" + +-#: ncrypt/crypt.c:98 ++#: ncrypt/crypt.c:96 + #, c-format + msgid "[-- %s output follows%s --]\n" + msgstr "[-- %s uitvoer volgt%s --]\n" +@@ -3711,55 +3788,55 @@ msgstr "[-- %s uitvoer volgt%s --]\n" + #. by gpg-agent) we can't know whether we forgot zero, 1, 12, ... + #. passwords. So in English we use "Passphrases". Your language might + #. have other means to express this. +-#: ncrypt/crypt.c:119 ++#: ncrypt/crypt.c:117 + #, fuzzy + msgid "Passphrases forgotten" + msgstr "Wachtwoord vergeten" + +-#: ncrypt/crypt.c:203 ++#: ncrypt/crypt.c:201 + msgid "Inline PGP can't be used with attachments. Revert to PGP/MIME?" + msgstr "Inline PGP is niet mogelijk met bijlagen. PGP/MIME gebruiken?" + +-#: ncrypt/crypt.c:207 ++#: ncrypt/crypt.c:205 + msgid "Mail not sent: inline PGP can't be used with attachments" + msgstr "Bericht is niet verzonden: inline PGP gaat niet met bijlagen" + +-#: ncrypt/crypt.c:214 ++#: ncrypt/crypt.c:212 + #, fuzzy + msgid "Inline PGP can't be used with format=flowed. Revert to PGP/MIME?" + msgstr "Inline PGP is niet mogelijk met 'format=flowed'. PGP/MIME gebruiken?" + +-#: ncrypt/crypt.c:218 ++#: ncrypt/crypt.c:216 + #, fuzzy + msgid "Mail not sent: inline PGP can't be used with format=flowed" + msgstr "Bericht is niet verzonden: inline PGP kan niet gebruikt worden met 'format=flowed'" + +-#: ncrypt/crypt.c:228 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:714 +-#: ncrypt/pgpkey.c:915 ++#: ncrypt/crypt.c:226 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:747 ++#: ncrypt/pgpkey.c:950 + msgid "Invoking PGP..." + msgstr "PGP wordt aangeroepen..." + +-#: ncrypt/crypt.c:240 ++#: ncrypt/crypt.c:238 + msgid "Message can't be sent inline. Revert to using PGP/MIME?" + msgstr "Bericht kan niet inline verzonden worden. PGP/MIME gebruiken?" + +-#: ncrypt/crypt.c:242 send.c:2430 ++#: ncrypt/crypt.c:240 send.c:2441 + msgid "Mail not sent" + msgstr "Bericht niet verstuurd" + +-#: ncrypt/crypt.c:662 ++#: ncrypt/crypt.c:666 + msgid "S/MIME messages with no hints on content are unsupported" + msgstr "S/MIME-berichten zonder aanwijzingen over inhoud zijn niet ondersteund" + +-#: ncrypt/crypt.c:888 ++#: ncrypt/crypt.c:892 + msgid "Trying to extract PGP keys...\n" + msgstr "PGP-sleutels onttrekken...\n" + +-#: ncrypt/crypt.c:917 ++#: ncrypt/crypt.c:921 + msgid "Trying to extract S/MIME certificates..." + msgstr "S/MIME-certificaten onttrekken..." + +-#: ncrypt/crypt.c:1140 ++#: ncrypt/crypt.c:1144 + #, c-format + msgid "" + "[-- Error: Unknown multipart/signed protocol %s --]\n" +@@ -3768,7 +3845,7 @@ msgstr "" + "[-- Fout: Onbekend multipart/signed-protocol: %s --]\n" + "\n" + +-#: ncrypt/crypt.c:1180 ++#: ncrypt/crypt.c:1184 + #, fuzzy + msgid "" + "[-- Error: Missing or bad-format multipart/signed signature --]\n" +@@ -3777,7 +3854,7 @@ msgstr "" + "[-- Fout: Ontbrekende of foutieve meerdelige handtekening --]\n" + "\n" + +-#: ncrypt/crypt.c:1222 ++#: ncrypt/crypt.c:1226 + #, c-format + msgid "" + "[-- Warning: We can't verify %s/%s signatures. --]\n" +@@ -3786,7 +3863,7 @@ msgstr "" + "[-- Waarschuwing: %s/%s-handtekeningen kunnen niet gecontroleerd worden --]\n" + "\n" + +-#: ncrypt/crypt.c:1235 ++#: ncrypt/crypt.c:1239 + msgid "" + "[-- The following data is signed --]\n" + "\n" +@@ -3794,7 +3871,7 @@ msgstr "" + "[-- De volgende gegevens zijn ondertekend --]\n" + "\n" + +-#: ncrypt/crypt.c:1243 ++#: ncrypt/crypt.c:1248 + msgid "" + "[-- Warning: Can't find any signatures. --]\n" + "\n" +@@ -3802,7 +3879,7 @@ msgstr "" + "[-- Waarschuwing: kan geen enkele handtekening vinden --]\n" + "\n" + +-#: ncrypt/crypt.c:1249 ++#: ncrypt/crypt.c:1255 + msgid "" + "\n" + "[-- End of signed data --]\n" +@@ -3821,237 +3898,237 @@ msgstr "S/MIME wordt aangeroepen..." + #. L10N: The following are the headers for the "verify key" output from the + #. GPGME key selection menu (bound to "c" in the key selection menu). + #. They will be automatically aligned. +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + #, fuzzy + msgid "Name: " + msgstr "Naam: " + +-#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1869 ncrypt/crypt_gpgme.c:1874 ++#: ncrypt/crypt_gpgme.c:183 ncrypt/crypt_gpgme.c:1900 ncrypt/crypt_gpgme.c:1905 + msgid "aka: " + msgstr "ook bekend als: " + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + #, fuzzy + msgid "Valid From: " + msgstr "Geldig vanaf: " + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + #, fuzzy + msgid "Valid To: " + msgstr "Geldig tot: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + #, fuzzy + msgid "Key Type: " + msgstr "Sleutel type: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + #, fuzzy + msgid "Key Usage: " + msgstr "Sleutel gebruik: " + +-#: ncrypt/crypt_gpgme.c:185 ncrypt/crypt_gpgme.c:1759 ++#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1790 + msgid "Fingerprint: " + msgstr "Vingerafdruk: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + #, fuzzy + msgid "Serial-No: " + msgstr "Serienummer: " + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + #, fuzzy + msgid "Issued By: " + msgstr "Uitg. door: " + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + #, fuzzy + msgid "Subkey: " + msgstr "Subsleutel: " + +-#: ncrypt/crypt_gpgme.c:783 ++#: ncrypt/crypt_gpgme.c:782 + #, c-format + msgid "error enabling CMS protocol: %s" + msgstr "fout bij het inschakelen van CMS-protocol: %s" + +-#: ncrypt/crypt_gpgme.c:806 ++#: ncrypt/crypt_gpgme.c:805 + #, c-format + msgid "error creating gpgme data object: %s" + msgstr "fout bij het creëren van GPGME-gegevensobject: %s" + +-#: ncrypt/crypt_gpgme.c:907 ncrypt/crypt_gpgme.c:934 ncrypt/crypt_gpgme.c:2057 +-#: ncrypt/crypt_gpgme.c:2814 ++#: ncrypt/crypt_gpgme.c:906 ncrypt/crypt_gpgme.c:933 ncrypt/crypt_gpgme.c:2096 ++#: ncrypt/crypt_gpgme.c:2853 + #, c-format + msgid "error allocating data object: %s" + msgstr "fout bij het alloceren van gegevensobject: %s" + +-#: ncrypt/crypt_gpgme.c:956 ++#: ncrypt/crypt_gpgme.c:955 + #, c-format + msgid "error rewinding data object: %s" + msgstr "fout bij het terugwinden van het gegevensobject: %s" + +-#: ncrypt/crypt_gpgme.c:972 ++#: ncrypt/crypt_gpgme.c:971 + msgid "[tempfile]" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:978 ncrypt/crypt_gpgme.c:1032 ++#: ncrypt/crypt_gpgme.c:977 ncrypt/crypt_gpgme.c:1031 + #, c-format + msgid "error reading data object: %s" + msgstr "fout bij het lezen van het gegevensobject: %s" + +-#: ncrypt/crypt_gpgme.c:1149 ++#: ncrypt/crypt_gpgme.c:1148 + #, fuzzy, c-format + msgid "error adding recipient '%s': %s" + msgstr "fout bij het toevoegen van ontvanger '%s': %s" + +-#: ncrypt/crypt_gpgme.c:1202 ++#: ncrypt/crypt_gpgme.c:1186 + #, c-format + msgid "secret key '%s' not found: %s" + msgstr "geheime sleutel '%s' niet gevonden: %s" + +-#: ncrypt/crypt_gpgme.c:1218 ++#: ncrypt/crypt_gpgme.c:1203 + #, fuzzy, c-format + msgid "ambiguous specification of secret key '%s'\n" + msgstr "dubbelzinnige specificatie van geheime sleutel '%s'" + +-#: ncrypt/crypt_gpgme.c:1234 ++#: ncrypt/crypt_gpgme.c:1219 + #, c-format + msgid "error setting secret key '%s': %s" + msgstr "fout bij het instellen van geheime sleutel '%s': %s" + +-#: ncrypt/crypt_gpgme.c:1250 ++#: ncrypt/crypt_gpgme.c:1278 + #, c-format + msgid "error setting PKA signature notation: %s" + msgstr "fout bij het instellen van PKA-ondertekening: %s" + +-#: ncrypt/crypt_gpgme.c:1324 ++#: ncrypt/crypt_gpgme.c:1353 + #, c-format + msgid "error encrypting data: %s" + msgstr "fout bij het versleutelen van gegevens: %s" + +-#: ncrypt/crypt_gpgme.c:1453 ++#: ncrypt/crypt_gpgme.c:1483 + #, c-format + msgid "error signing data: %s" + msgstr "fout bij het ondertekenen van gegevens: %s" + +-#: ncrypt/crypt_gpgme.c:1463 ++#: ncrypt/crypt_gpgme.c:1493 + msgid "$pgp_sign_as unset and no default key specified in ~/.gnupg/gpg.conf" + msgstr "$pgp_sign_as is niet gezet en er is geen standaard sleutel ingesteld in ~/.gnupg/gpg.conf" + +-#: ncrypt/crypt_gpgme.c:1641 ++#: ncrypt/crypt_gpgme.c:1672 + msgid "Warning: One of the keys has been revoked\n" + msgstr "Waarschuwing: één van de sleutels is herroepen\n" + +-#: ncrypt/crypt_gpgme.c:1651 ++#: ncrypt/crypt_gpgme.c:1682 + msgid "Warning: The key used to create the signature expired at: " + msgstr "Waarschuwing: de sleutel waarmee is ondertekend is verlopen op: " + +-#: ncrypt/crypt_gpgme.c:1657 ++#: ncrypt/crypt_gpgme.c:1688 + msgid "Warning: At least one certification key has expired\n" + msgstr "Waarschuwing: minstens één certificeringssleutel is verlopen\n" + +-#: ncrypt/crypt_gpgme.c:1671 ++#: ncrypt/crypt_gpgme.c:1702 + msgid "Warning: The signature expired at: " + msgstr "Waarschuwing: de ondertekening is verlopen op: " + +-#: ncrypt/crypt_gpgme.c:1678 ++#: ncrypt/crypt_gpgme.c:1709 + msgid "Can't verify due to a missing key or certificate\n" + msgstr "Kan niet verifiëren vanwege ontbrekende sleutel of certificaat\n" + +-#: ncrypt/crypt_gpgme.c:1683 ++#: ncrypt/crypt_gpgme.c:1714 + msgid "The CRL is not available\n" + msgstr "De CRL is niet beschikbaar\n" + +-#: ncrypt/crypt_gpgme.c:1689 ++#: ncrypt/crypt_gpgme.c:1720 + msgid "Available CRL is too old\n" + msgstr "De beschikbare CRL is te oud\n" + +-#: ncrypt/crypt_gpgme.c:1694 ++#: ncrypt/crypt_gpgme.c:1725 + msgid "A policy requirement was not met\n" + msgstr "Aan een beleidsvereiste is niet voldaan\n" + +-#: ncrypt/crypt_gpgme.c:1703 ++#: ncrypt/crypt_gpgme.c:1734 + msgid "A system error occurred" + msgstr "Er is een systeemfout opgetreden" + +-#: ncrypt/crypt_gpgme.c:1734 ++#: ncrypt/crypt_gpgme.c:1765 + msgid "WARNING: PKA entry does not match signer's address: " + msgstr "WAARSCHUWING: PKA-item komt niet overeen met adres van ondertekenaar: " + +-#: ncrypt/crypt_gpgme.c:1740 ++#: ncrypt/crypt_gpgme.c:1771 + msgid "PKA verified signer's address is: " + msgstr "Adres van PKA-geverifieerde ondertekenaar is: " + +-#: ncrypt/crypt_gpgme.c:1822 ++#: ncrypt/crypt_gpgme.c:1853 + msgid "WARNING: We have NO indication whether the key belongs to the person named as shown above\n" + msgstr "WAARSCHUWING: We hebben GEEN indicatie of de sleutel toebehoort aan de persoon zoals hierboven aangegeven\n" + +-#: ncrypt/crypt_gpgme.c:1829 ++#: ncrypt/crypt_gpgme.c:1860 + msgid "WARNING: The key does NOT BELONG to the person named as shown above\n" + msgstr "WAARSCHUWING: De sleutel BEHOORT NIET TOE aan bovengenoemde persoon\n" + +-#: ncrypt/crypt_gpgme.c:1833 ++#: ncrypt/crypt_gpgme.c:1864 + msgid "WARNING: It is NOT certain that the key belongs to the person named as shown above\n" + msgstr "WAARSCHUWING: Het is NIET zeker dat de sleutel toebehoort aan de persoon zoals hierboven aangegeven\n" + +-#: ncrypt/crypt_gpgme.c:1886 ++#: ncrypt/crypt_gpgme.c:1917 + msgid "KeyID " + msgstr "Sleutel-ID " + + #. L10N: You will see this message in place of "KeyID " + #. if the S/MIME key has no ID. This is quite an error. +-#: ncrypt/crypt_gpgme.c:1893 ++#: ncrypt/crypt_gpgme.c:1924 + msgid "no signature fingerprint available" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1902 ncrypt/crypt_gpgme.c:1907 ++#: ncrypt/crypt_gpgme.c:1933 ncrypt/crypt_gpgme.c:1938 + msgid "created: " + msgstr "aangemaakt: " + +-#: ncrypt/crypt_gpgme.c:1981 ++#: ncrypt/crypt_gpgme.c:2012 + #, c-format + msgid "Error getting key information for KeyID %s: %s\n" + msgstr "Fout bij het ophalen van sleutelinformatie voor sleutel-ID %s: %s\n" + +-#: ncrypt/crypt_gpgme.c:1988 ncrypt/crypt_gpgme.c:2003 ++#: ncrypt/crypt_gpgme.c:2019 ncrypt/crypt_gpgme.c:2034 + msgid "Good signature from:" + msgstr "Goede handtekening van: " + +-#: ncrypt/crypt_gpgme.c:1995 ++#: ncrypt/crypt_gpgme.c:2026 + msgid "*BAD* signature from:" + msgstr "*SLECHTE* handtekening van: " + +-#: ncrypt/crypt_gpgme.c:2011 ++#: ncrypt/crypt_gpgme.c:2042 + msgid "Problem signature from:" + msgstr "Problematische handtekening van: " + + #. L10N: This is trying to match the width of the + #. "Problem signature from:" translation just above. +-#: ncrypt/crypt_gpgme.c:2017 ++#: ncrypt/crypt_gpgme.c:2048 + msgid " expires: " + msgstr " verloopt op: " + +-#: ncrypt/crypt_gpgme.c:2064 ncrypt/crypt_gpgme.c:2294 +-#: ncrypt/crypt_gpgme.c:3081 ++#: ncrypt/crypt_gpgme.c:2103 ncrypt/crypt_gpgme.c:2333 ++#: ncrypt/crypt_gpgme.c:3124 + msgid "[-- Begin signature information --]\n" + msgstr "[-- Begin handtekeninginformatie --]\n" + +-#: ncrypt/crypt_gpgme.c:2075 ++#: ncrypt/crypt_gpgme.c:2114 + #, c-format + msgid "Error: verification failed: %s\n" + msgstr "Fout: verificatie is mislukt: %s\n" + +-#: ncrypt/crypt_gpgme.c:2126 ++#: ncrypt/crypt_gpgme.c:2165 + #, c-format + msgid "*** Begin Notation (signature by: %s) ***\n" + msgstr "*** Begin Notatie (ondertekening van: %s) ***\n" + +-#: ncrypt/crypt_gpgme.c:2145 ++#: ncrypt/crypt_gpgme.c:2184 + msgid "*** End Notation ***\n" + msgstr "*** Einde Notatie ***\n" + +-#: ncrypt/crypt_gpgme.c:2153 ncrypt/crypt_gpgme.c:2308 +-#: ncrypt/crypt_gpgme.c:3091 ++#: ncrypt/crypt_gpgme.c:2192 ncrypt/crypt_gpgme.c:2347 ++#: ncrypt/crypt_gpgme.c:3134 + msgid "" + "[-- End signature information --]\n" + "\n" +@@ -4059,28 +4136,33 @@ msgstr "" + "[-- Einde van ondertekende gegevens --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:2268 ++#: ncrypt/crypt_gpgme.c:2307 + #, c-format + msgid "" + "[-- Error: decryption failed: %s --]\n" + "\n" + msgstr "[-- Fout: ontsleuteling is mislukt: %s --]\n" + +-#: ncrypt/crypt_gpgme.c:2821 ++#: ncrypt/crypt_gpgme.c:2860 + #, fuzzy, c-format + msgid "Error importing key: %s" + msgstr "Fout bij exporteren van sleutel: %s" + +-#: ncrypt/crypt_gpgme.c:3059 ++#: ncrypt/crypt_gpgme.c:3098 + #, c-format + msgid "Error: decryption/verification failed: %s\n" + msgstr "Fout: ontsleuteling/verificatie is mislukt: %s\n" + +-#: ncrypt/crypt_gpgme.c:3103 ++#: ncrypt/crypt_gpgme.c:3105 ncrypt/crypt_gpgme.c:3302 ncrypt/pgp.c:726 ++#: ncrypt/pgp.c:1273 ++msgid "PGP message successfully decrypted" ++msgstr "PGP-bericht succesvol ontsleuteld" ++ ++#: ncrypt/crypt_gpgme.c:3146 + msgid "Error: copy data failed\n" + msgstr "Fout: kopiëren van gegevens is mislukt\n" + +-#: ncrypt/crypt_gpgme.c:3116 ncrypt/pgp.c:675 ++#: ncrypt/crypt_gpgme.c:3159 ncrypt/pgp.c:674 + msgid "" + "[-- BEGIN PGP MESSAGE --]\n" + "\n" +@@ -4088,11 +4170,11 @@ msgstr "" + "[-- BEGIN PGP-BERICHT --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3118 ncrypt/pgp.c:677 ++#: ncrypt/crypt_gpgme.c:3161 ncrypt/pgp.c:676 + msgid "[-- BEGIN PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- BEGIN PGP PUBLIC KEY BLOK --]\n" + +-#: ncrypt/crypt_gpgme.c:3120 ncrypt/pgp.c:679 ++#: ncrypt/crypt_gpgme.c:3163 ncrypt/pgp.c:678 + msgid "" + "[-- BEGIN PGP SIGNED MESSAGE --]\n" + "\n" +@@ -4100,19 +4182,19 @@ msgstr "" + "[-- BEGIN PGP-ONDERTEKEND BERICHT --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3145 ncrypt/pgp.c:716 ++#: ncrypt/crypt_gpgme.c:3188 ncrypt/pgp.c:715 + msgid "[-- END PGP MESSAGE --]\n" + msgstr "[-- EINDE PGP-BERICHT --]\n" + +-#: ncrypt/crypt_gpgme.c:3147 ncrypt/pgp.c:730 ++#: ncrypt/crypt_gpgme.c:3190 ncrypt/pgp.c:729 + msgid "[-- END PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- EINDE PGP-PUBLIEKESLEUTELBLOK --]\n" + +-#: ncrypt/crypt_gpgme.c:3149 ncrypt/pgp.c:732 ++#: ncrypt/crypt_gpgme.c:3192 ncrypt/pgp.c:731 + msgid "[-- END PGP SIGNED MESSAGE --]\n" + msgstr "[-- EINDE PGP-ONDERTEKEND BERICHT --]\n" + +-#: ncrypt/crypt_gpgme.c:3170 ncrypt/pgp.c:765 ++#: ncrypt/crypt_gpgme.c:3213 ncrypt/pgp.c:764 + msgid "" + "[-- Error: could not find beginning of PGP message --]\n" + "\n" +@@ -4120,11 +4202,11 @@ msgstr "" + "[-- Fout: Kon begin van PGP-bericht niet vinden --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3198 ncrypt/crypt_gpgme.c:3296 ncrypt/pgp.c:1218 ++#: ncrypt/crypt_gpgme.c:3241 ncrypt/crypt_gpgme.c:3339 ncrypt/pgp.c:1218 + msgid "[-- Error: could not create temporary file --]\n" + msgstr "[-- Fout: Kon geen tijdelijk bestand aanmaken --]\n" + +-#: ncrypt/crypt_gpgme.c:3212 ++#: ncrypt/crypt_gpgme.c:3255 + msgid "" + "[-- The following data is PGP/MIME signed and encrypted --]\n" + "\n" +@@ -4132,7 +4214,7 @@ msgstr "" + "[-- De volgende gegevens zijn PGP/MIME-ondertekend en -versleuteld --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3214 ncrypt/pgp.c:1231 ++#: ncrypt/crypt_gpgme.c:3257 ncrypt/pgp.c:1232 + msgid "" + "[-- The following data is PGP/MIME encrypted --]\n" + "\n" +@@ -4140,24 +4222,20 @@ msgstr "" + "[-- De volgende gegevens zijn PGP/MIME-versleuteld --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3254 ++#: ncrypt/crypt_gpgme.c:3297 + msgid "[-- End of PGP/MIME signed and encrypted data --]\n" + msgstr "[-- Einde van PGP/MIME-ondertekende en -versleutelde data --]\n" + +-#: ncrypt/crypt_gpgme.c:3255 ncrypt/pgp.c:1267 ++#: ncrypt/crypt_gpgme.c:3298 ncrypt/pgp.c:1268 + msgid "[-- End of PGP/MIME encrypted data --]\n" + msgstr "[-- Einde van PGP/MIME-versleutelde data --]\n" + +-#: ncrypt/crypt_gpgme.c:3259 ncrypt/pgp.c:727 ncrypt/pgp.c:1272 +-msgid "PGP message successfully decrypted" +-msgstr "PGP-bericht succesvol ontsleuteld" +- +-#: ncrypt/crypt_gpgme.c:3265 ncrypt/pgp.c:666 ncrypt/pgp.c:718 +-#: ncrypt/pgp.c:1276 ++#: ncrypt/crypt_gpgme.c:3308 ncrypt/pgp.c:665 ncrypt/pgp.c:717 ++#: ncrypt/pgp.c:1277 + msgid "Could not decrypt PGP message" + msgstr "Kon PGP-gericht niet ontsleutelen" + +-#: ncrypt/crypt_gpgme.c:3310 ++#: ncrypt/crypt_gpgme.c:3353 + msgid "" + "[-- The following data is S/MIME signed --]\n" + "\n" +@@ -4165,7 +4243,7 @@ msgstr "" + "[-- De volgende gegevens zijn S/MIME-ondertekend --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3311 ++#: ncrypt/crypt_gpgme.c:3354 + msgid "" + "[-- The following data is S/MIME encrypted --]\n" + "\n" +@@ -4173,34 +4251,34 @@ msgstr "" + "[-- De volgende gegevens zijn S/MIME-versleuteld --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3358 ++#: ncrypt/crypt_gpgme.c:3401 + msgid "[-- End of S/MIME signed data --]\n" + msgstr "[-- Einde van S/MIME-ondertekende gegevens --]\n" + +-#: ncrypt/crypt_gpgme.c:3359 ++#: ncrypt/crypt_gpgme.c:3402 + msgid "[-- End of S/MIME encrypted data --]\n" + msgstr "[-- Einde van S/MIME-versleutelde data --]\n" + +-#: ncrypt/crypt_gpgme.c:4029 ++#: ncrypt/crypt_gpgme.c:4077 + msgid "[Can't display this user ID (unknown encoding)]" + msgstr "[Kan dit gebruikers-ID niet weergeven (onbekende codering)]" + +-#: ncrypt/crypt_gpgme.c:4031 ++#: ncrypt/crypt_gpgme.c:4079 + msgid "[Can't display this user ID (invalid encoding)]" + msgstr "[Kan dit gebruikers-ID niet weergeven (ongeldige codering)]" + +-#: ncrypt/crypt_gpgme.c:4036 ++#: ncrypt/crypt_gpgme.c:4084 + msgid "[Can't display this user ID (invalid DN)]" + msgstr "[Kan dit gebruikers-ID niet weergeven (ongeldige DN)]" + + #. L10N: comes after the Name or aka if the key is invalid + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4150 ncrypt/crypt_gpgme.c:4291 ++#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4339 + msgid "[Invalid]" + msgstr "[Ongeldig]" + + #. L10N: This is printed after "Key Type: " and looks like this: PGP, 2048 bit RSA +-#: ncrypt/crypt_gpgme.c:4190 ncrypt/crypt_gpgme.c:4331 ++#: ncrypt/crypt_gpgme.c:4238 ncrypt/crypt_gpgme.c:4379 + #, fuzzy, c-format + msgid "%s, %lu bit %s\n" + msgid_plural "%s, %lu bit %s\n" +@@ -4208,94 +4286,94 @@ msgstr[0] "%s, %lu bit %s\n" + msgstr[1] "%s, %lu bit %s\n" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4338 ++#: ncrypt/crypt_gpgme.c:4246 ncrypt/crypt_gpgme.c:4386 + msgid "encryption" + msgstr "versleuteling" + +-#: ncrypt/crypt_gpgme.c:4199 ncrypt/crypt_gpgme.c:4205 +-#: ncrypt/crypt_gpgme.c:4339 ncrypt/crypt_gpgme.c:4344 ++#: ncrypt/crypt_gpgme.c:4247 ncrypt/crypt_gpgme.c:4253 ++#: ncrypt/crypt_gpgme.c:4387 ncrypt/crypt_gpgme.c:4392 + msgid ", " + msgstr ", " + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4204 ncrypt/crypt_gpgme.c:4343 ++#: ncrypt/crypt_gpgme.c:4252 ncrypt/crypt_gpgme.c:4391 + msgid "signing" + msgstr "ondertekening" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4210 ncrypt/crypt_gpgme.c:4348 ++#: ncrypt/crypt_gpgme.c:4258 ncrypt/crypt_gpgme.c:4396 + msgid "certification" + msgstr "certificering" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4285 ++#: ncrypt/crypt_gpgme.c:4333 + msgid "[Revoked]" + msgstr "[Herroepen]" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4297 ++#: ncrypt/crypt_gpgme.c:4345 + msgid "[Expired]" + msgstr "[Verlopen]" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4303 ++#: ncrypt/crypt_gpgme.c:4351 + msgid "[Disabled]" + msgstr "[Uitgeschakeld]" + +-#: ncrypt/crypt_gpgme.c:4376 ++#: ncrypt/crypt_gpgme.c:4424 + msgid "Collecting data..." + msgstr "Data aan het vergaren..." + +-#: ncrypt/crypt_gpgme.c:4394 ++#: ncrypt/crypt_gpgme.c:4442 + #, c-format + msgid "Error finding issuer key: %s\n" + msgstr "Fout bij het vinden van uitgever van sleutel: %s\n" + +-#: ncrypt/crypt_gpgme.c:4403 ++#: ncrypt/crypt_gpgme.c:4451 + msgid "Error: certification chain too long - stopping here\n" + msgstr "Fout: certificeringsketen is te lang -- gestopt\n" + +-#: ncrypt/crypt_gpgme.c:4413 ncrypt/pgpkey.c:733 ++#: ncrypt/crypt_gpgme.c:4461 ncrypt/pgpkey.c:766 + #, c-format + msgid "Key ID: 0x%s" + msgstr "Sleutel-ID: 0x%s" + +-#: ncrypt/crypt_gpgme.c:4538 ncrypt/crypt_gpgme.c:4589 ++#: ncrypt/crypt_gpgme.c:4586 ncrypt/crypt_gpgme.c:4637 + #, c-format + msgid "gpgme_op_keylist_start failed: %s" + msgstr "gpgme_op_keylist_start() is mislukt: %s" + +-#: ncrypt/crypt_gpgme.c:4577 ncrypt/crypt_gpgme.c:4619 +-#: ncrypt/crypt_gpgme.c:5355 ++#: ncrypt/crypt_gpgme.c:4625 ncrypt/crypt_gpgme.c:4667 ++#: ncrypt/crypt_gpgme.c:5435 + #, c-format + msgid "gpgme_op_keylist_next failed: %s" + msgstr "gpgme_op_keylist_next() is mislukt: %s" + +-#: ncrypt/crypt_gpgme.c:4701 ++#: ncrypt/crypt_gpgme.c:4749 + msgid "All matching keys are marked expired/revoked" + msgstr "Alle overeenkomende sleutels zijn verlopen/ingetrokken" + +-#: ncrypt/crypt_gpgme.c:4731 ncrypt/pgpkey.c:666 ncrypt/smime.c:551 ++#: ncrypt/crypt_gpgme.c:4779 ncrypt/pgpkey.c:669 ncrypt/smime.c:553 + msgid "Select " + msgstr "Selecteer " + +-#: ncrypt/crypt_gpgme.c:4733 ncrypt/pgpkey.c:668 ++#: ncrypt/crypt_gpgme.c:4781 ncrypt/pgpkey.c:671 + msgid "Check key " + msgstr "Controleer sleutel " + +-#: ncrypt/crypt_gpgme.c:4749 ++#: ncrypt/crypt_gpgme.c:4827 + msgid "PGP and S/MIME keys matching" + msgstr "PGP- en S/MIME-sleutels voor" + +-#: ncrypt/crypt_gpgme.c:4751 ++#: ncrypt/crypt_gpgme.c:4829 + msgid "PGP keys matching" + msgstr "PGP-sleutels voor" + +-#: ncrypt/crypt_gpgme.c:4753 ++#: ncrypt/crypt_gpgme.c:4831 + msgid "S/MIME keys matching" + msgstr "S/MIME-certficaten voor" + +-#: ncrypt/crypt_gpgme.c:4755 ++#: ncrypt/crypt_gpgme.c:4833 + msgid "keys matching" + msgstr "sleutels voor" + +@@ -4303,59 +4381,59 @@ msgstr "sleutels voor" + #. %1$s is one of the previous four entries. + #. %2$s is an address. + #. e.g. "S/MIME keys matching " +-#: ncrypt/crypt_gpgme.c:4763 ++#: ncrypt/crypt_gpgme.c:4841 + #, c-format + msgid "%s <%s>" + msgstr "%s <%s>" + + #. L10N: e.g. 'S/MIME keys matching "Michael Elkins".' +-#: ncrypt/crypt_gpgme.c:4768 ++#: ncrypt/crypt_gpgme.c:4846 + #, c-format + msgid "%s \"%s\"" + msgstr "%s \"%s\"" + +-#: ncrypt/crypt_gpgme.c:4796 ncrypt/pgpkey.c:754 ++#: ncrypt/crypt_gpgme.c:4874 ncrypt/pgpkey.c:787 + msgid "This key can't be used: expired/disabled/revoked" + msgstr "Deze sleutel is onbruikbaar: verlopen/ingetrokken" + +-#: ncrypt/crypt_gpgme.c:4810 ncrypt/pgpkey.c:767 ncrypt/smime.c:581 ++#: ncrypt/crypt_gpgme.c:4888 ncrypt/pgpkey.c:800 ncrypt/smime.c:613 + #, fuzzy + msgid "ID is expired/disabled/revoked. Do you really want to use the key?" + msgstr "Dit ID is verlopen/uitgeschakeld/ingetrokken. Wilt U deze sleutel gebruiken?" + +-#: ncrypt/crypt_gpgme.c:4820 ncrypt/pgpkey.c:779 ++#: ncrypt/crypt_gpgme.c:4898 ncrypt/pgpkey.c:812 + #, fuzzy + msgid "ID is not valid. Do you really want to use the key?" + msgstr "Dit ID is niet geldig. Wilt U deze sleutel gebruiken?" + +-#: ncrypt/crypt_gpgme.c:4823 ncrypt/pgpkey.c:782 ++#: ncrypt/crypt_gpgme.c:4901 ncrypt/pgpkey.c:815 + #, fuzzy + msgid "ID is only marginally valid. Do you really want to use the key?" + msgstr "Dit ID is slechts marginaal geldig. Wilt U deze sleutel gebruiken?" + +-#: ncrypt/crypt_gpgme.c:4831 ncrypt/pgpkey.c:775 ncrypt/smime.c:585 ++#: ncrypt/crypt_gpgme.c:4909 ncrypt/pgpkey.c:808 ncrypt/smime.c:617 + #, fuzzy + msgid "ID has undefined validity. Do you really want to use the key?" + msgstr "Dit ID heeft een ongedefinieerde geldigheid. Wilt U deze sleutel gebruiken?" + +-#: ncrypt/crypt_gpgme.c:4911 ncrypt/crypt_gpgme.c:5024 ncrypt/pgpkey.c:1019 +-#: ncrypt/pgpkey.c:1146 ++#: ncrypt/crypt_gpgme.c:4991 ncrypt/crypt_gpgme.c:5104 ncrypt/pgpkey.c:1054 ++#: ncrypt/pgpkey.c:1181 + #, c-format + msgid "Looking for keys matching \"%s\"..." + msgstr "Zoeken naar sleutels voor \"%s\"..." + +-#: ncrypt/crypt_gpgme.c:5140 ncrypt/pgpkey.c:870 ncrypt/smime.c:924 ++#: ncrypt/crypt_gpgme.c:5220 ncrypt/pgpkey.c:905 ncrypt/smime.c:958 + #, c-format + msgid "No matching keys found for \"%s\"" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5190 ncrypt/pgp.c:1456 ++#: ncrypt/crypt_gpgme.c:5270 ncrypt/pgp.c:1457 + #, c-format + msgid "Use keyID = \"%s\" for %s?" + msgstr "Sleutel-ID = \"%s\" gebruiken voor %s?" + +-#: ncrypt/crypt_gpgme.c:5238 ncrypt/pgp.c:1505 ncrypt/smime.c:944 +-#: ncrypt/smime.c:1049 ++#: ncrypt/crypt_gpgme.c:5318 ncrypt/pgp.c:1506 ncrypt/smime.c:978 ++#: ncrypt/smime.c:1083 + #, c-format + msgid "Enter keyID for %s: " + msgstr "Sleutel-ID voor %s: " +@@ -4364,16 +4442,16 @@ msgstr "Sleutel-ID voor %s: " + #. mutt_gpgme_select_secret_key() tries to list all secret keys to choose + #. from. This error is displayed if no results were found. + #. +-#: ncrypt/crypt_gpgme.c:5364 ++#: ncrypt/crypt_gpgme.c:5444 + #, fuzzy + msgid "No secret keys found" + msgstr "geheime sleutel '%s' niet gevonden: %s" + +-#: ncrypt/crypt_gpgme.c:5398 ncrypt/pgpkey.c:888 ++#: ncrypt/crypt_gpgme.c:5478 ncrypt/pgpkey.c:923 + msgid "Please enter the key ID: " + msgstr "Geef Key-ID in: " + +-#: ncrypt/crypt_gpgme.c:5411 ++#: ncrypt/crypt_gpgme.c:5491 + #, c-format + msgid "Error exporting key: %s" + msgstr "Fout bij exporteren van sleutel: %s" +@@ -4381,96 +4459,96 @@ msgstr "Fout bij exporteren van sleutel: %s" + #. 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. +-#: ncrypt/crypt_gpgme.c:5429 ++#: ncrypt/crypt_gpgme.c:5509 + #, c-format + msgid "PGP Key 0x%s" + msgstr "PGP-sleutel 0x%s" + +-#: ncrypt/crypt_gpgme.c:5474 ++#: ncrypt/crypt_gpgme.c:5554 + msgid "GPGME: OpenPGP protocol not available" + msgstr "GPGME: OpenPGP-protocol is niet beschikbaar" + +-#: ncrypt/crypt_gpgme.c:5485 ++#: ncrypt/crypt_gpgme.c:5565 + msgid "GPGME: CMS protocol not available" + msgstr "GPGME: CMS-protocol is niet beschikbaar" + +-#: ncrypt/crypt_gpgme.c:5536 ++#: ncrypt/crypt_gpgme.c:5616 + msgid "S/MIME (s)ign, sign (a)s, (p)gp, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME (o)nderteken, ondert. (a)ls, (p)gp, (g)een, of oppenc (u)it?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5538 ++#: ncrypt/crypt_gpgme.c:5618 + msgid "sapco" + msgstr "oapgu" + +-#: ncrypt/crypt_gpgme.c:5545 ++#: ncrypt/crypt_gpgme.c:5625 + msgid "PGP (s)ign, sign (a)s, s/(m)ime, (c)lear, or (o)ppenc mode off?" + msgstr "PGP (o)nderteken, ondert. (a)ls, s/(m)ime, (g)een, of oppenc (u)it?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5547 ++#: ncrypt/crypt_gpgme.c:5627 + msgid "samco" + msgstr "oamgu" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5557 ++#: ncrypt/crypt_gpgme.c:5637 + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME (v)ersleutel, (o)ndert., ond. (a)ls, (b)eiden, (p)gp, (g)een, opp(e)nc?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5560 ++#: ncrypt/crypt_gpgme.c:5640 + #, fuzzy + msgid "esabpco" + msgstr "voabpge" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5566 ++#: ncrypt/crypt_gpgme.c:5646 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime, (c)lear, or (o)ppenc mode?" + msgstr "PGP (v)ersleutel, (o)ndert., ond. (a)ls, (b)eiden, s/(m)ime, (g)een, opp(e)nc?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5569 ++#: ncrypt/crypt_gpgme.c:5649 + #, fuzzy + msgid "esabmco" + msgstr "voabmge" + +-#: ncrypt/crypt_gpgme.c:5580 ++#: ncrypt/crypt_gpgme.c:5660 + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp or (c)lear?" + msgstr "S/MIME (v)ersleutel, (o)nderteken, ond. (a)ls, (b)eiden, (p)gp, of (g)een?" + + #. L10N: S/MIME options +-#: ncrypt/crypt_gpgme.c:5582 ++#: ncrypt/crypt_gpgme.c:5662 + #, fuzzy + msgid "esabpc" + msgstr "voabpg" + +-#: ncrypt/crypt_gpgme.c:5589 ++#: ncrypt/crypt_gpgme.c:5669 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime or (c)lear?" + msgstr "PGP (v)ersleutel, (o)nderteken, ond. (a)ls, (b)eiden, s/(m)ime, of (g)een?" + + #. L10N: PGP options +-#: ncrypt/crypt_gpgme.c:5591 ++#: ncrypt/crypt_gpgme.c:5671 + #, fuzzy + msgid "esabmc" + msgstr "voabmg" + +-#: ncrypt/crypt_gpgme.c:5751 ++#: ncrypt/crypt_gpgme.c:5831 + msgid "Failed to verify sender" + msgstr "Verifiëren van afzender is mislukt" + +-#: ncrypt/crypt_gpgme.c:5754 ++#: ncrypt/crypt_gpgme.c:5834 + msgid "Failed to figure out sender" + msgstr "Kan afzender niet bepalen" + +-#: ncrypt/pgp.c:108 ++#: ncrypt/pgp.c:107 + msgid "Enter PGP passphrase:" + msgstr "Geef PGP-wachtwoord in:" + +-#: ncrypt/pgp.c:595 ++#: ncrypt/pgp.c:594 + msgid "[-- Error: unable to create PGP subprocess --]\n" + msgstr "[-- Fout: Kan geen PGP-subproces starten --]\n" + +-#: ncrypt/pgp.c:644 ncrypt/pgp.c:926 ncrypt/pgp.c:1086 ++#: ncrypt/pgp.c:643 ncrypt/pgp.c:925 ncrypt/pgp.c:1085 + msgid "" + "[-- End of PGP output --]\n" + "\n" +@@ -4481,16 +4559,16 @@ msgstr "" + #. L10N: You will see this error message if (1) you are decrypting + #. (not encrypting) something and (2) it is a plaintext. So the + #. message does not mean "You failed to encrypt the message." +-#: ncrypt/pgp.c:724 ++#: ncrypt/pgp.c:723 + #, fuzzy + msgid "PGP message is not encrypted" + msgstr "PGP bericht is niet geëncrypteerd" + +-#: ncrypt/pgp.c:978 ++#: ncrypt/pgp.c:977 + msgid "Internal error. Please submit a bug report." + msgstr "*Interne fout*. Graag rapporteren." + +-#: ncrypt/pgp.c:1043 ++#: ncrypt/pgp.c:1042 + msgid "" + "[-- Error: could not create a PGP subprocess --]\n" + "\n" +@@ -4498,129 +4576,129 @@ msgstr "" + "[-- Fout: Kon PGP-subproces niet starten --]\n" + "\n" + +-#: ncrypt/pgp.c:1073 ncrypt/pgp.c:1098 ncrypt/smime.c:2143 postpone.c:757 +-#: postpone.c:785 ++#: ncrypt/pgp.c:1072 ncrypt/pgp.c:1097 ncrypt/smime.c:2177 postpone.c:803 ++#: postpone.c:831 + msgid "Decryption failed" + msgstr "Ontsleuteling is mislukt" + +-#: ncrypt/pgp.c:1333 ++#: ncrypt/pgp.c:1334 + msgid "Can't open PGP subprocess" + msgstr "Kan PGP-subproces niet starten" + +-#: ncrypt/pgp.c:1768 ++#: ncrypt/pgp.c:1770 + msgid "Can't invoke PGP" + msgstr "Kan PGP niet aanroepen" + + #. L10N: The next string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1875 ++#: ncrypt/pgp.c:1877 + msgid "PGP/M(i)ME" + msgstr "PGP/M(i)ME" + + #. L10N: The previous string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1881 ++#: ncrypt/pgp.c:1883 + msgid "(i)nline" + msgstr "(i)nline" + + #. L10N: PGP options (inline) (opportunistic encryption is on) +-#: ncrypt/pgp.c:1893 ++#: ncrypt/pgp.c:1895 + #, c-format + msgid "PGP (s)ign, sign (a)s, %s format, (c)lear, or (o)ppenc mode off?" + msgstr "PGP (o)nderteken, ondert. (a)ls, %s, (g)een, of oppenc (u)it?" + + #. L10N: PGP options (inline) (opportunistic encryption is on) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1899 ++#: ncrypt/pgp.c:1901 + msgid "saico" + msgstr "oaigu" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1905 ++#: ncrypt/pgp.c:1907 + msgid "PGP (s)ign, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "PGP (o)nderteken, ondert. (a)ls, (g)een, of oppenc (u)it?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1907 ++#: ncrypt/pgp.c:1909 + msgid "saco" + msgstr "oagu" + + #. L10N: PGP options (inline) (opportunistic encryption is off) +-#: ncrypt/pgp.c:1921 ++#: ncrypt/pgp.c:1923 + #, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, (c)lear, or (o)ppenc mode?" + msgstr "PGP (v)ersleutel, (o)ndert., ond. (a)ls, (b)eiden, %s, (g)een, opp(e)nc?" + + #. L10N: PGP options (inline) (opportunistic encryption is off) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1927 ++#: ncrypt/pgp.c:1929 + #, fuzzy + msgid "esabico" + msgstr "voabige" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1933 ++#: ncrypt/pgp.c:1935 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "PGP (v)ersleutel, (o)nderteken, ond. (a)ls, (b)eiden, (g)een, opp(e)nc-modus?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1936 ++#: ncrypt/pgp.c:1938 + #, fuzzy + msgid "esabco" + msgstr "voabge" + + #. L10N: PGP options (inline) +-#: ncrypt/pgp.c:1947 ++#: ncrypt/pgp.c:1949 + #, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, or (c)lear?" + msgstr "PGP (v)ersleutel, (o)nderteken, ond. (a)ls, (b)eiden, %s, of (g)een?" + + #. L10N: PGP options (inline) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1953 ++#: ncrypt/pgp.c:1955 + #, fuzzy + msgid "esabic" + msgstr "voabig" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1959 ++#: ncrypt/pgp.c:1961 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (c)lear?" + msgstr "PGP (v)ersleutel, (o)nderteken, ond. (a)ls, (b)eiden, of (g)een?" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1961 ++#: ncrypt/pgp.c:1963 + #, fuzzy + msgid "esabc" + msgstr "voabg" + +-#: ncrypt/pgpinvoke.c:458 ++#: ncrypt/pgpinvoke.c:461 + msgid "Fetching PGP key..." + msgstr "PGP-sleutel wordt gelezen..." + +-#: ncrypt/pgpkey.c:640 ++#: ncrypt/pgpkey.c:643 + msgid "All matching keys are expired, revoked, or disabled" + msgstr "Alle overeenkomende sleutels zijn verlopen/ingetrokken" + +-#: ncrypt/pgpkey.c:681 ++#: ncrypt/pgpkey.c:714 + #, c-format + msgid "PGP keys matching <%s>" + msgstr "PGP-sleutels voor <%s>" + +-#: ncrypt/pgpkey.c:683 ++#: ncrypt/pgpkey.c:716 + #, c-format + msgid "PGP keys matching \"%s\"" + msgstr "PGP-sleutels voor \"%s\"" + +-#: ncrypt/pgpkey.c:700 ncrypt/pgpkey.c:909 ++#: ncrypt/pgpkey.c:733 ncrypt/pgpkey.c:944 + msgid "Can't open /dev/null" + msgstr "Kan /dev/null niet openen" + +-#: ncrypt/pgpkey.c:938 ++#: ncrypt/pgpkey.c:973 + #, c-format + msgid "PGP Key %s" + msgstr "PGP-key %s" + +-#: ncrypt/smime.c:182 ++#: ncrypt/smime.c:180 + msgid "Enter S/MIME passphrase:" + msgstr "Geef S/MIME-wachtwoord in:" + +@@ -4629,7 +4707,7 @@ msgstr "Geef S/MIME-wachtwoord in:" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:460 ++#: ncrypt/smime.c:462 + msgid "Expired " + msgstr "Verlopen " + +@@ -4638,7 +4716,7 @@ msgstr "Verlopen " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:468 ++#: ncrypt/smime.c:470 + msgid "Invalid " + msgstr "Ongeldig " + +@@ -4647,7 +4725,7 @@ msgstr "Ongeldig " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:476 ++#: ncrypt/smime.c:478 + msgid "Revoked " + msgstr "Herroepen " + +@@ -4656,7 +4734,7 @@ msgstr "Herroepen " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:484 ++#: ncrypt/smime.c:486 + msgid "Trusted " + msgstr "Vertrouwd " + +@@ -4665,7 +4743,7 @@ msgstr "Vertrouwd " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:492 ++#: ncrypt/smime.c:494 + msgid "Unverified" + msgstr "Niet geverifieerd" + +@@ -4674,7 +4752,7 @@ msgstr "Niet geverifieerd" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:500 ++#: ncrypt/smime.c:502 + msgid "Verified " + msgstr "Geverifieerd " + +@@ -4683,59 +4761,59 @@ msgstr "Geverifieerd " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:508 ++#: ncrypt/smime.c:510 + msgid "Unknown " + msgstr "Onbekend " + +-#: ncrypt/smime.c:545 ++#: ncrypt/smime.c:547 + #, c-format + msgid "S/MIME certificates matching \"%s\"" + msgstr "S/MIME certficiaten voor \"%s\"" + +-#: ncrypt/smime.c:589 ++#: ncrypt/smime.c:621 + #, fuzzy + msgid "ID is not trusted. Do you really want to use the key?" + msgstr "Dit ID wordt niet vertrouwd. Wilt U deze sleutel gebruiken?" + +-#: ncrypt/smime.c:910 ++#: ncrypt/smime.c:944 + msgid "Enter keyID: " + msgstr "Geef keyID: " + +-#: ncrypt/smime.c:1055 ++#: ncrypt/smime.c:1089 + #, c-format + msgid "No (valid) certificate found for %s" + msgstr "Geen (geldig) certificaat gevonden voor %s" + +-#: ncrypt/smime.c:1108 ncrypt/smime.c:1137 ncrypt/smime.c:1209 +-#: ncrypt/smime.c:1243 ncrypt/smime.c:1319 ncrypt/smime.c:1399 ++#: ncrypt/smime.c:1142 ncrypt/smime.c:1171 ncrypt/smime.c:1243 ++#: ncrypt/smime.c:1277 ncrypt/smime.c:1353 ncrypt/smime.c:1433 + msgid "Error: unable to create OpenSSL subprocess" + msgstr "Fout: kan geen OpenSSL-subproces starten" + +-#: ncrypt/smime.c:1379 ++#: ncrypt/smime.c:1413 + msgid "Label for certificate: " + msgstr "Label voor certificaat: " + +-#: ncrypt/smime.c:1480 ++#: ncrypt/smime.c:1514 + msgid "no certfile" + msgstr "geen certfile" + +-#: ncrypt/smime.c:1483 ++#: ncrypt/smime.c:1517 + msgid "no mbox" + msgstr "geen mbox" + +-#: ncrypt/smime.c:1640 ncrypt/smime.c:1810 ++#: ncrypt/smime.c:1674 ncrypt/smime.c:1844 + msgid "No output from OpenSSL..." + msgstr "Geen uitvoer van OpenSSL..." + +-#: ncrypt/smime.c:1727 ++#: ncrypt/smime.c:1761 + msgid "Can't sign: No key specified. Use Sign As." + msgstr "Kan niet ondertekenen: geen sleutel gegeven. Gebruik Ondertekenen Als." + +-#: ncrypt/smime.c:1777 ++#: ncrypt/smime.c:1811 + msgid "Can't open OpenSSL subprocess" + msgstr "Kan OpenSSL-subproces niet starten" + +-#: ncrypt/smime.c:2004 ncrypt/smime.c:2123 ++#: ncrypt/smime.c:2038 ncrypt/smime.c:2157 + msgid "" + "[-- End of OpenSSL output --]\n" + "\n" +@@ -4743,23 +4821,23 @@ msgstr "" + "[-- Einde van OpenSSL-uitvoer --]\n" + "\n" + +-#: ncrypt/smime.c:2080 ncrypt/smime.c:2093 ++#: ncrypt/smime.c:2114 ncrypt/smime.c:2127 + msgid "[-- Error: unable to create OpenSSL subprocess --]\n" + msgstr "[-- Fout: Kan geen OpenSSL-subproces starten --]\n" + +-#: ncrypt/smime.c:2129 ++#: ncrypt/smime.c:2163 + msgid "[-- The following data is S/MIME encrypted --]\n" + msgstr "" + "[-- De volgende gegevens zijn S/MIME versleuteld --]\n" + "\n" + +-#: ncrypt/smime.c:2132 ++#: ncrypt/smime.c:2166 + msgid "[-- The following data is S/MIME signed --]\n" + msgstr "" + "[-- De volgende gegevens zijn S/MIME ondertekend --]\n" + "\n" + +-#: ncrypt/smime.c:2225 ++#: ncrypt/smime.c:2259 + msgid "" + "\n" + "[-- End of S/MIME encrypted data. --]\n" +@@ -4767,7 +4845,7 @@ msgstr "" + "\n" + "[-- Einde van S/MIME versleutelde data --]\n" + +-#: ncrypt/smime.c:2227 ++#: ncrypt/smime.c:2261 + msgid "" + "\n" + "[-- End of S/MIME signed data. --]\n" +@@ -4776,168 +4854,168 @@ msgstr "" + "[-- Einde van S/MIME ondertekende gegevens --]\n" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2361 ++#: ncrypt/smime.c:2395 + msgid "S/MIME (s)ign, encrypt (w)ith, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME (o)ndert, versl. (m)et, ond. (a)ls, (b)eiden, (g)een, opp(e)nc-modus?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2364 ++#: ncrypt/smime.c:2398 + msgid "swaco" + msgstr "omabge" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2372 ++#: ncrypt/smime.c:2406 + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME (v)ersl, (o)ndert, versl. (m)et, ond. (a)ls, (b)eiden, (g)een, opp(e)nc?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2375 ++#: ncrypt/smime.c:2409 + #, fuzzy + msgid "eswabco" + msgstr "vomabge" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2382 ++#: ncrypt/smime.c:2416 + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, or (c)lear?" + msgstr "S/MIME (v)ersleutel, (o)ndert, versl. (m)et, ond. (a)ls, (b)eiden, (g)een?" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2385 ++#: ncrypt/smime.c:2419 + #, fuzzy + msgid "eswabc" + msgstr "vomabg" + +-#: ncrypt/smime.c:2449 ++#: ncrypt/smime.c:2483 + msgid "Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear?" + msgstr "Kies een algoritmefamilie: (1) DES, (2) RC2, (3) AES, of (g)een?" + + #. L10N: Options for: Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear? +-#: ncrypt/smime.c:2452 ++#: ncrypt/smime.c:2486 + msgid "123c" + msgstr "123g" + +-#: ncrypt/smime.c:2455 ++#: ncrypt/smime.c:2489 + msgid "(1) DES, (2) Triple-DES?" + msgstr "(1) DES, (2) Triple-DES?" + + #. L10N: Options for: (1) DES, (2) Triple-DES +-#: ncrypt/smime.c:2457 ++#: ncrypt/smime.c:2491 + msgid "12" + msgstr "12" + +-#: ncrypt/smime.c:2470 ++#: ncrypt/smime.c:2504 + msgid "(1) RC2-40, (2) RC2-64, (3) RC2-128?" + msgstr "(1) RC2-40, (2) RC2-64, (3) RC2-128?" + + #. L10N: Options for: (1) RC2-40, (2) RC2-64, (3) RC2-128 + #. L10N: Options for: (1) AES128, (2) AES192, (3) AES256 +-#: ncrypt/smime.c:2472 ncrypt/smime.c:2490 ++#: ncrypt/smime.c:2506 ncrypt/smime.c:2524 + msgid "123" + msgstr "123" + +-#: ncrypt/smime.c:2488 ++#: ncrypt/smime.c:2522 + msgid "(1) AES128, (2) AES192, (3) AES256?" + msgstr "(1) AES128, (2) AES192, (3) AES256?" + +-#: nntp/newsrc.c:632 ++#: nntp/newsrc.c:639 + msgid "Loading list of groups from cache..." + msgstr "" + +-#: nntp/newsrc.c:997 ++#: nntp/newsrc.c:1023 + msgid "No news server defined" + msgstr "" + +-#: nntp/newsrc.c:1012 ++#: nntp/newsrc.c:1041 + #, fuzzy, c-format + msgid "%s is an invalid news server specification" + msgstr "%s is geen geldige nieuws server specificatie" + +-#: nntp/nntp.c:236 nntp/nntp.c:777 pop/pop.c:742 pop/pop_lib.c:398 ++#: nntp/nntp.c:238 nntp/nntp.c:779 pop/pop.c:742 pop/pop_lib.c:424 + msgid "Server closed connection" + msgstr "Server heeft verbinding gesloten" + +-#: nntp/nntp.c:340 ++#: nntp/nntp.c:342 + #, fuzzy + msgid "Server doesn't support reader mode" + msgstr "Het is niet mogelijk van de server te lezen" + +-#: nntp/nntp.c:576 pop/pop_auth.c:504 smtp.c:650 ++#: nntp/nntp.c:578 pop/pop_auth.c:505 smtp.c:675 + msgid "No authenticators available" + msgstr "Geen authenticeerders beschikbaar" + +-#: nntp/nntp.c:766 ++#: nntp/nntp.c:768 + #, fuzzy, c-format + msgid "%s authentication failed" + msgstr "%s authenticatie is mislukt" + +-#: nntp/nntp.c:826 ++#: nntp/nntp.c:828 + #, fuzzy, c-format + msgid "Connection to %s lost. Reconnect?" + msgstr "Verbinding met %s is verloren. Opnieuw proberen?" + +-#: nntp/nntp.c:1285 ++#: nntp/nntp.c:1287 + #, fuzzy + msgid "Fetching list of articles..." + msgstr "Artikel lijst ophalen..." + +-#: nntp/nntp.c:1549 nntp/nntp.c:2138 pop/pop.c:614 pop/pop.c:910 ++#: nntp/nntp.c:1551 nntp/nntp.c:2140 pop/pop.c:614 pop/pop.c:905 + msgid "Checking for new messages..." + msgstr "Controleren op nieuwe berichten..." + +-#: nntp/nntp.c:1864 nntp/nntp.c:1954 ++#: nntp/nntp.c:1866 nntp/nntp.c:1956 + #, fuzzy + msgid "Could not switch to reader mode" + msgstr "Kan niet wisselen naar lees-modus" + +-#: nntp/nntp.c:1877 ++#: nntp/nntp.c:1879 + #, fuzzy, c-format + msgid "Connected to %s. %s" + msgstr "Bezig met verbinden met %s. %s" + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + #, fuzzy + msgid "Posting is ok" + msgstr "Posting is ok" + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + msgid "Posting is NOT ok" + msgstr "Pasting is niet ok" + +-#: nntp/nntp.c:2008 nntp/nntp.c:2043 ++#: nntp/nntp.c:2010 nntp/nntp.c:2045 + #, fuzzy, c-format + msgid "Can't post article: %s" + msgstr "Kan artikel niet plaatsen: %s" + +-#: nntp/nntp.c:2064 ++#: nntp/nntp.c:2066 + #, fuzzy, c-format + msgid "Loading list of groups from server %s..." + msgstr "De lijst met groepen wordt geladen van de server %s" + +-#: nntp/nntp.c:2106 nntp/nntp.c:2198 ++#: nntp/nntp.c:2108 nntp/nntp.c:2200 + #, fuzzy + msgid "Loading descriptions..." + msgstr "Omschrijvingen laden..." + +-#: nntp/nntp.c:2128 ++#: nntp/nntp.c:2130 + #, fuzzy + msgid "Checking for new newsgroups..." + msgstr "Controleren op nieuwsgroepen..." + +-#: nntp/nntp.c:2332 ++#: nntp/nntp.c:2334 + msgid "Unable to find child articles because server does not support XPAT command" + msgstr "" + +-#: nntp/nntp.c:2437 ++#: nntp/nntp.c:2439 + #, fuzzy, c-format + msgid "%s is an invalid newsgroup specification" + msgstr "De specificatie van de nieuwsgroep %s is incorrect" + +-#: nntp/nntp.c:2476 ++#: nntp/nntp.c:2478 + #, c-format + msgid "Newsgroup %s not found on the server" + msgstr "" + +-#: nntp/nntp.c:2498 ++#: nntp/nntp.c:2500 + #, c-format + msgid "Newsgroup %s has been removed from the server" + msgstr "" +@@ -4949,8 +5027,8 @@ msgstr "" + + #: notmuch/mutt_notmuch.c:219 notmuch/mutt_notmuch.c:1939 + #, fuzzy, c-format +-msgid "failed to parse notmuch uri: %s" +-msgstr "Kan 'notmuch uri' niet verwerken: %s" ++msgid "failed to parse notmuch url: %s" ++msgstr "Kan 'notmuch url' niet verwerken: %s" + + #: notmuch/mutt_notmuch.c:449 + msgid "Invalid nm_query_window_timebase value (valid values are: hour, day, week, month or year)" +@@ -6083,187 +6161,187 @@ msgstr "de zijbalk tonen/verbergen" + msgid "show S/MIME options" + msgstr "geef S/MIME-opties weer" + +-#: pager.c:222 ++#: pager.c:214 + msgid "Not available in this menu" + msgstr "Optie niet beschikbaar in dit menu" + +-#: pager.c:229 ++#: pager.c:221 + msgid "PrevPg" + msgstr "Vorig.P" + +-#: pager.c:230 ++#: pager.c:222 + msgid "NextPg" + msgstr "Volg.P" + +-#: pager.c:235 ++#: pager.c:227 + msgid "View Attachm." + msgstr "Bijlagen tonen" + +-#: pager.c:238 pager.c:247 ++#: pager.c:230 pager.c:239 + msgid "Next" + msgstr "Volgend ber." + + #. L10N: Status bar message: the entire email is visible in the pager + #. L10N: Status bar message: all the emails are visible in the index +-#: pager.c:2180 status.c:278 ++#: pager.c:2136 status.c:278 + msgid "all" + msgstr "" + + #. L10N: Status bar message: the end of the email is visible in the pager + #. L10N: Status bar message: the end of the list emails is visible in the index +-#: pager.c:2182 status.c:276 ++#: pager.c:2138 status.c:276 + msgid "end" + msgstr "" + +-#: pager.c:2530 pager.c:2566 pager.c:2602 pager.c:2937 ++#: pager.c:2503 pager.c:2539 pager.c:2576 pager.c:2911 + msgid "Bottom of message is shown" + msgstr "Einde van bericht is weergegeven" + +-#: pager.c:2543 pager.c:2573 pager.c:2580 pager.c:2590 ++#: pager.c:2516 pager.c:2546 pager.c:2553 pager.c:2564 + msgid "Top of message is shown" + msgstr "Begin van bericht is weergegeven" + +-#: pager.c:2840 ++#: pager.c:2814 + msgid "Help is currently being shown" + msgstr "Hulp wordt al weergegeven" + +-#: pager.c:2897 ++#: pager.c:2871 + msgid "No more quoted text" + msgstr "Geen verdere geciteerde text" + +-#: pager.c:2914 ++#: pager.c:2888 + msgid "No more unquoted text after quoted text" + msgstr "Geen verdere eigen text na geciteerde text" + +-#: pattern.c:220 pattern.c:297 pattern.c:1046 ++#: pattern.c:221 pattern.c:298 pattern.c:1085 + #, c-format + msgid "Error in expression: %s" + msgstr "Fout in expressie: %s" + +-#: pattern.c:226 pattern.c:302 pattern.c:1052 ++#: pattern.c:227 pattern.c:303 pattern.c:1091 + msgid "Empty expression" + msgstr "Lege expressie" + +-#: pattern.c:288 ++#: pattern.c:289 + #, fuzzy + msgid "No search command defined" + msgstr "Query-commando niet gedefinieerd" + +-#: pattern.c:326 ++#: pattern.c:327 + #, fuzzy, c-format + msgid "Running search command: %s ..." + msgstr "Commando wordt aangeroepen: %s" + +-#: pattern.c:417 ++#: pattern.c:441 pattern.c:456 + #, c-format + msgid "Invalid day of month: %s" + msgstr "Ongeldige dag van de maand: %s" + +-#: pattern.c:431 ++#: pattern.c:446 pattern.c:470 + #, c-format + msgid "Invalid month: %s" + msgstr "Ongeldige maand: %s" + +-#: pattern.c:534 ++#: pattern.c:573 + #, c-format + msgid "Invalid relative date: %s" + msgstr "Ongeldige maand: %s" + +-#: pattern.c:842 pattern.c:975 ++#: pattern.c:881 pattern.c:1014 + #, fuzzy + msgid "No current message" + msgstr "Geen ongelezen berichten." + +-#: pattern.c:1002 ++#: pattern.c:1041 + msgid "No Context" + msgstr "" + +-#: pattern.c:1125 ++#: pattern.c:1164 + #, fuzzy + msgid "Error opening 'memory stream'" + msgstr "Er is een fout opgetreden tijdens openen van het postvak" + +-#: pattern.c:1171 ++#: pattern.c:1210 + #, fuzzy + msgid "Error re-opening 'memory stream'" + msgstr "Er is een fout opgetreden tijdens openen van het postvak" + +-#: pattern.c:1180 ++#: pattern.c:1219 + #, fuzzy + msgid "Error opening /dev/null" + msgstr "Kan /dev/null niet openen" + +-#: pattern.c:1443 pattern.c:1620 ++#: pattern.c:1482 pattern.c:1662 + #, c-format + msgid "error in pattern at: %s" + msgstr "Fout in expressie bij: %s" + +-#: pattern.c:1476 ++#: pattern.c:1515 + #, c-format + msgid "missing pattern: %s" + msgstr "ontbrekend patroon: %s" + +-#: pattern.c:1494 pattern.c:1593 ++#: pattern.c:1533 pattern.c:1635 + #, c-format + msgid "mismatched parentheses: %s" + msgstr "Haakjes kloppen niet: %s" + +-#: pattern.c:1559 ++#: pattern.c:1598 + #, c-format + msgid "%c: invalid pattern modifier" + msgstr "%c: ongeldige patroonopgave" + +-#: pattern.c:1564 ++#: pattern.c:1603 + #, c-format + msgid "%c: not supported in this mode" + msgstr "%c: niet ondersteund in deze modus" + +-#: pattern.c:1576 ++#: pattern.c:1618 + msgid "missing parameter" + msgstr "Te weinig parameters" + +-#: pattern.c:1626 ++#: pattern.c:1668 + msgid "empty pattern" + msgstr "Leeg patroon" + +-#: pattern.c:2080 pattern.c:2083 ++#: pattern.c:2202 pattern.c:2205 + msgid "error: server custom search only supported with IMAP" + msgstr "" + +-#: pattern.c:2274 ++#: pattern.c:2398 + #, c-format + msgid "error: unknown op %d (report this error)" + msgstr "fout: onbekende operatie %d (rapporteer deze fout)" + +-#: pattern.c:2448 pattern.c:2604 ++#: pattern.c:2572 pattern.c:2728 + msgid "Compiling search pattern..." + msgstr "Bezig met het compileren van patroon..." + +-#: pattern.c:2468 ++#: pattern.c:2592 + msgid "Executing command on matching messages..." + msgstr "Commando wordt uitgevoerd..." + +-#: pattern.c:2537 ++#: pattern.c:2661 + msgid "No messages matched criteria" + msgstr "Geen berichten voldeden aan de criteria" + +-#: pattern.c:2641 ++#: pattern.c:2765 + msgid "Searching..." + msgstr "Bezig met zoeken..." + +-#: pattern.c:2655 ++#: pattern.c:2779 + msgid "Search hit bottom without finding match" + msgstr "Zoeken heeft einde bereikt zonder iets te vinden" + +-#: pattern.c:2666 ++#: pattern.c:2790 + msgid "Search hit top without finding match" + msgstr "Zoeken heeft begin bereikt zonder iets te vinden" + +-#: pattern.c:2700 ++#: pattern.c:2824 + msgid "Search interrupted" + msgstr "Het zoeken is onderbroken" + +-#: pop/pop.c:216 pop/pop_lib.c:234 ++#: pop/pop.c:216 pop/pop_lib.c:259 + msgid "Command TOP is not supported by server" + msgstr "Het TOP commando wordt niet door de server ondersteund" + +@@ -6271,7 +6349,7 @@ msgstr "Het TOP commando wordt niet door de server ondersteund" + msgid "Can't write header to temporary file" + msgstr "Kan de header niet naar een tijdelijk bestand wegschrijven" + +-#: pop/pop.c:420 pop/pop_lib.c:236 ++#: pop/pop.c:420 pop/pop_lib.c:261 + msgid "Command UIDL is not supported by server" + msgstr "Het UIDL commando wordt niet door de server ondersteund" + +@@ -6286,7 +6364,7 @@ msgstr[1] "%d berichten zijn verloren. Probeer het postvak te heropenen." + msgid "POP host is not defined" + msgstr "Er is geen POP-server gespecificeerd" + +-#: pop/pop.c:596 pop/pop.c:825 ++#: pop/pop.c:596 pop/pop.c:790 pop/pop.c:820 + #, c-format + msgid "%s is an invalid POP path" + msgstr "%s is een ongeldig POP-pad" +@@ -6319,153 +6397,153 @@ msgid_plural "%s [%d of %d messages read]" + msgstr[0] "%s [%d van de %d berichten gelezen]" + msgstr[1] "%s [%d van de %d berichten gelezen]" + +-#: pop/pop.c:876 ++#: pop/pop.c:871 + msgid "Fetching list of messages..." + msgstr "Berichtenlijst ophalen..." + +-#: pop/pop.c:959 ++#: pop/pop.c:954 + msgid "Marking messages deleted..." + msgstr "Berichten worden gemarkeerd voor verwijdering..." + +-#: pop/pop.c:1150 ++#: pop/pop.c:1145 + msgid "Can't write message to temporary file" + msgstr "Kan het bericht niet naar een tijdelijk bestand wegschrijven" + +-#: pop/pop_auth.c:103 ++#: pop/pop_auth.c:104 + msgid "Authenticating (SASL)..." + msgstr "Authenticatie (SASL)..." + +-#: pop/pop_auth.c:245 ++#: pop/pop_auth.c:246 + msgid "POP timestamp is invalid" + msgstr "POP tijdstempel is ongeldig" + +-#: pop/pop_auth.c:249 ++#: pop/pop_auth.c:250 + msgid "Authenticating (APOP)..." + msgstr "Authenticatie (APOP)..." + +-#: pop/pop_auth.c:269 ++#: pop/pop_auth.c:270 + msgid "APOP authentication failed" + msgstr "APOP authenticatie geweigerd" + +-#: pop/pop_auth.c:309 ++#: pop/pop_auth.c:310 + msgid "Command USER is not supported by server" + msgstr "Het UIDL commando wordt niet door de server ondersteund" + +-#: pop/pop_auth.c:386 ++#: pop/pop_auth.c:387 + #, fuzzy + msgid "Authentication failed" + msgstr "SASL-authenticatie is mislukt" + +-#: pop/pop_lib.c:78 ++#: pop/pop_lib.c:103 + #, c-format + msgid "Invalid POP URL: %s" + msgstr "Ongeldig POP-URL: %s" + +-#: pop/pop_lib.c:232 ++#: pop/pop_lib.c:257 + msgid "Unable to leave messages on server" + msgstr "Niet in staat berichten op de server achter te laten" + +-#: pop/pop_lib.c:274 ++#: pop/pop_lib.c:300 + #, c-format + msgid "Error connecting to server: %s" + msgstr "Fout tijdens verbinden met server: %s" + +-#: pop/pop_lib.c:414 ++#: pop/pop_lib.c:440 + msgid "Closing connection to POP server..." + msgstr "Verbinding met POP-server wordt gesloten..." + +-#: pop/pop_lib.c:605 ++#: pop/pop_lib.c:631 + msgid "Verifying message indexes..." + msgstr "Berichtenindex wordt geverifieerd..." + +-#: pop/pop_lib.c:628 ++#: pop/pop_lib.c:654 + msgid "Connection lost. Reconnect to POP server?" + msgstr "Verbinding is verbroken. Opnieuw verbinden met POP-server?" + +-#: postpone.c:229 ++#: postpone.c:260 + msgid "Postponed Messages" + msgstr "Uitgestelde berichten" + +-#: postpone.c:314 postpone.c:326 ++#: postpone.c:348 postpone.c:372 + msgid "No postponed messages" + msgstr "Geen uitgestelde berichten" + +-#: postpone.c:480 ++#: postpone.c:526 + msgid "Illegal S/MIME header" + msgstr "Ongeldige S/MIME header" + +-#: postpone.c:510 postpone.c:551 postpone.c:560 ++#: postpone.c:556 postpone.c:597 postpone.c:606 + msgid "Illegal crypto header" + msgstr "Ongeldige crypto header" + +-#: postpone.c:644 postpone.c:752 postpone.c:780 ++#: postpone.c:690 postpone.c:798 postpone.c:826 + msgid "Decrypting message..." + msgstr "Bericht wordt ontsleuteld..." + +-#: query.c:82 ++#: query.c:80 + msgid "New Query" + msgstr "Nieuwe query" + +-#: query.c:83 ++#: query.c:81 + msgid "Make Alias" + msgstr "Afkorting maken" + +-#: query.c:180 ++#: query.c:178 + msgid "Waiting for response..." + msgstr "Wacht op antwoord..." + +-#: query.c:362 query.c:400 ++#: query.c:365 query.c:434 + msgid "Query: " + msgstr "Zoekopdracht: " + +-#: query.c:370 query.c:407 ++#: query.c:374 query.c:442 + #, c-format + msgid "Query '%s'" + msgstr "Zoekopdracht '%s'" + +-#: query.c:620 query.c:657 ++#: query.c:661 query.c:698 + msgid "Query command not defined" + msgstr "Query-commando niet gedefinieerd" + +-#: recvattach.c:93 ++#: recvattach.c:91 + msgid "Pipe" + msgstr "Filteren" + +-#: recvattach.c:94 ++#: recvattach.c:92 + msgid "Print" + msgstr "Druk af" + +-#: recvattach.c:569 ++#: recvattach.c:571 + msgid "Saving..." + msgstr "Bezig met opslaan..." + +-#: recvattach.c:573 recvattach.c:744 recvattach.c:748 ++#: recvattach.c:575 recvattach.c:746 recvattach.c:750 + #, fuzzy, c-format + msgid "Attachment saved" + msgid_plural "%d attachments saved" + msgstr[0] "Bijlage opgeslagen" + msgstr[1] "Bijlage opgeslagen" + +-#: recvattach.c:772 ++#: recvattach.c:774 + #, c-format + msgid "WARNING! You are about to overwrite %s, continue?" + msgstr "Waarschuwing! Bestand %s bestaat al. Overschrijven?" + +-#: recvattach.c:790 ++#: recvattach.c:792 + msgid "Attachment filtered" + msgstr "Bijlage gefilterd" + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Filter through: " + msgstr "Filter door: " + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Pipe to: " + msgstr "Doorgeven aan (pipe): " + + #. L10N: s gets replaced by a MIME type, e.g. "text/plain" or + #. application/octet-stream. +-#: recvattach.c:935 ++#: recvattach.c:937 + #, c-format + msgid "I don't know how to print %s attachments" + msgstr "Kan %s-bijlagen niet afdrukken" +@@ -6473,56 +6551,56 @@ msgstr "Kan %s-bijlagen niet afdrukken" + #. L10N: Although we now the precise number of tagged messages, we + #. do not show it to the user. So feel free to use a "generic + #. plural" as plural translation if your language has one. +-#: recvattach.c:1038 ++#: recvattach.c:1040 + #, fuzzy, c-format + msgid "Print tagged attachment?" + msgid_plural "Print %d tagged attachments?" + msgstr[0] "Gemarkeerde bericht(en) afdrukken?" + msgstr[1] "Gemarkeerde bericht(en) afdrukken?" + +-#: recvattach.c:1039 ++#: recvattach.c:1041 + #, c-format + msgid "Print attachment?" + msgstr "Bijlage afdrukken?" + +-#: recvattach.c:1123 ++#: recvattach.c:1125 + msgid "Structural changes to decrypted attachments are not supported" + msgstr "" + +-#: recvattach.c:1291 ++#: recvattach.c:1293 + msgid "Can't decrypt encrypted message" + msgstr "Kan het versleutelde bericht niet ontsleutelen" + +-#: recvattach.c:1425 ++#: recvattach.c:1457 + msgid "Attachments" + msgstr "Bijlagen" + +-#: recvattach.c:1465 ++#: recvattach.c:1497 + msgid "There are no subparts to show" + msgstr "Er zijn geen onderdelen om te laten zien" + +-#: recvattach.c:1520 ++#: recvattach.c:1552 + msgid "Can't delete attachment from POP server" + msgstr "Kan de bijlage niet van de POP-server verwijderen" + +-#: recvattach.c:1529 ++#: recvattach.c:1561 + #, fuzzy + msgid "Can't delete attachment from news server" + msgstr "Kan de bijlage niet van de POP-server verwijderen" + +-#: recvattach.c:1536 ++#: recvattach.c:1568 + msgid "Deletion of attachments from encrypted messages is unsupported" + msgstr "Het wissen van bijlagen uit versleutelde berichten wordt niet ondersteund" + +-#: recvattach.c:1542 ++#: recvattach.c:1574 + msgid "Deletion of attachments from signed messages may invalidate the signature" + msgstr "Het wissen van bijlagen uit versleutelde berichten kan de ondertekening ongeldig maken" + +-#: recvattach.c:1561 recvattach.c:1578 ++#: recvattach.c:1593 recvattach.c:1610 + msgid "Only deletion of multipart attachments is supported" + msgstr "Kan alleen multipart-bijlagen wissen" + +-#: recvcmd.c:79 ++#: recvcmd.c:78 + msgid "You may only bounce message/rfc822 parts" + msgstr "U kunt alleen message/rfc882-gedeelten doorsturen!" + +@@ -6559,7 +6637,7 @@ msgstr "Kan bestand %s niet aanmaken" + msgid "Can't find any tagged messages" + msgstr "Kan geen geselecteerde berichten vinden" + +-#: recvcmd.c:848 send.c:1073 ++#: recvcmd.c:848 send.c:1072 + msgid "No mailing lists found" + msgstr "Geen mailing-lists gevonden" + +@@ -6574,67 +6652,67 @@ msgstr "Kan niet alle bijlagen decoderen. De rest inpakken met MIME?" + msgid "You may only compose to sender with message/rfc822 parts" + msgstr "U kunt alleen message/rfc882-gedeelten doorsturen!" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Append" + msgstr "Toevoegen" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Insert" + msgstr "Invoegen" + +-#: remailer.c:78 ++#: remailer.c:76 + msgid "OK" + msgstr "OK" + +-#: remailer.c:210 ++#: remailer.c:207 + msgid "" + msgstr "" + +-#: remailer.c:586 ++#: remailer.c:617 + msgid "Can't get mixmaster's type2.list" + msgstr "Kan type2.list niet lezen van mixmaster." + +-#: remailer.c:612 ++#: remailer.c:673 + msgid "Select a remailer chain" + msgstr "Selecteer een remailer lijster" + +-#: remailer.c:674 ++#: remailer.c:735 + #, c-format + msgid "Error: %s can't be used as the final remailer of a chain" + msgstr "Fout: %s kan niet gebruikt worden als laaste remailer van een lijst" + + #. L10N The '%d' here hard-coded to 19 +-#: remailer.c:706 ++#: remailer.c:767 + #, c-format + msgid "Mixmaster chains are limited to %d elements" + msgstr "Mixmaster lijsten zijn beperkt tot %d items" + +-#: remailer.c:729 ++#: remailer.c:790 + msgid "The remailer chain is already empty" + msgstr "De remailer lijst is al leeg" + +-#: remailer.c:739 ++#: remailer.c:800 + msgid "You already have the first chain element selected" + msgstr "Het eerste lijst-item is al geselecteerd" + +-#: remailer.c:749 ++#: remailer.c:810 + msgid "You already have the last chain element selected" + msgstr "Het laaste lijst-item is al geselecteerd" + +-#: remailer.c:792 ++#: remailer.c:856 + msgid "Mixmaster doesn't accept Cc or Bcc headers" + msgstr "Mixmaster laat geen CC of BCC-kopregels toe" + +-#: remailer.c:817 ++#: remailer.c:881 + msgid "Please set the hostname variable to a proper value when using mixmaster" + msgstr "De hostname variable moet ingesteld zijn voor mixmaster gebruik" + +-#: remailer.c:860 ++#: remailer.c:924 + #, c-format + msgid "Error sending message, child exited %d.\n" + msgstr "Externe fout %d opgetreden tijdens versturen van bericht.\n" + +-#: remailer.c:864 ++#: remailer.c:928 + msgid "Error sending message" + msgstr "Er is een fout opgetreden tijdens het versturen van het bericht" + +@@ -6665,42 +6743,42 @@ msgstr "Doorsturen als bijlagen?" + + #. L10N: Asks whether the user respects the reply-to header. + #. If she says no, neomutt will reply to the from header's address instead. +-#: send.c:793 ++#: send.c:792 + #, c-format + msgid "Reply to %s%s?" + msgstr "Reactie sturen naar %s%s?" + +-#: send.c:838 ++#: send.c:837 + #, c-format + msgid "Follow-up to %s%s?" + msgstr "Reactie sturen naar %s%s?" + +-#: send.c:1122 ++#: send.c:1121 + msgid "Include message in reply?" + msgstr "Bericht in antwoord citeren?" + +-#: send.c:1128 ++#: send.c:1127 + msgid "Including quoted message..." + msgstr "Geciteerde bericht wordt toegevoegd..." + +-#: send.c:1137 ++#: send.c:1136 + msgid "Could not include all requested messages" + msgstr "Kon niet alle berichten citeren" + +-#: send.c:1148 ++#: send.c:1147 + msgid "Forward as attachment?" + msgstr "Doorsturen als bijlage?" + +-#: send.c:1153 ++#: send.c:1152 + msgid "Preparing forwarded message..." + msgstr "Voorbereiden door te sturen bericht..." + +-#: send.c:1632 ++#: send.c:1631 + #, fuzzy + msgid "Fcc to an IMAP mailbox is not supported in batch mode" + msgstr "%c: niet ondersteund in deze modus" + +-#: send.c:1664 send.c:1690 ++#: send.c:1665 send.c:1675 send.c:1701 + msgid "Save attachments in Fcc?" + msgstr "Bijlages opslaan in Fcc?" + +@@ -6708,196 +6786,196 @@ msgstr "Bijlages opslaan in Fcc?" + #. (r)etry tries the same mailbox again. + #. alternate (m)ailbox prompts for a different mailbox to try. + #. (s)kip aborts saving. +-#: send.c:1712 ++#: send.c:1723 + msgid "Fcc failed. (r)etry, alternate (m)ailbox, or (s)kip?" + msgstr "" + + #. L10N: These correspond to the "Fcc failed" multi-choice prompt + #. (r)etry, alternate (m)ailbox, or (s)kip. + #. Any similarity to famous leaders of the FSF is coincidental. +-#: send.c:1716 ++#: send.c:1727 + msgid "rms" + msgstr "" + + #. L10N: This is the prompt to enter an "alternate (m)ailbox" when the + #. initial Fcc fails. +-#: send.c:1722 ++#: send.c:1733 + #, fuzzy + msgid "Fcc mailbox" + msgstr "Geen postvak.\n" + +-#: send.c:1788 ++#: send.c:1799 + msgid "Can't postpone. $postponed is unset" + msgstr "" + +-#: send.c:1923 ++#: send.c:1934 + msgid "Recall postponed message?" + msgstr "Uigesteld bericht hervatten?" + +-#: send.c:2228 ++#: send.c:2239 + msgid "Edit forwarded message?" + msgstr "Doorgestuurd bericht wijzigen?" + +-#: send.c:2266 ++#: send.c:2277 + msgid "Abort unmodified message?" + msgstr "Uitgesteld bericht afbreken?" + +-#: send.c:2268 ++#: send.c:2279 + msgid "Aborted unmodified message" + msgstr "Bericht werd niet veranderd. Operatie afgebroken" + +-#: send.c:2388 ++#: send.c:2399 + msgid "No crypto backend configured. Disabling message security setting." + msgstr "" + +-#: send.c:2427 ++#: send.c:2438 + #, fuzzy + msgid "Article not posted" + msgstr "Bericht niet verstuurd" + +-#: send.c:2437 ++#: send.c:2448 + msgid "Message postponed" + msgstr "Bericht uitgesteld" + +-#: send.c:2470 ++#: send.c:2481 + msgid "No subject, abort sending?" + msgstr "Geen onderwerp. Versturen afbreken?" + +-#: send.c:2474 send.c:2480 ++#: send.c:2485 send.c:2491 + msgid "No subject specified" + msgstr "Geen onderwerp" + +-#: send.c:2486 ++#: send.c:2497 + #, fuzzy + msgid "No newsgroup specified" + msgstr "Geen onderwerp" + +-#: send.c:2496 ++#: send.c:2507 + #, fuzzy + msgid "No attachments, cancel sending?" + msgstr "bewerk de transport-codering van een bijlage" + +-#: send.c:2501 ++#: send.c:2512 + msgid "Message contains text matching \"$abort_noattach_regex\". Not sending." + msgstr "" + +-#: send.c:2559 smtp.c:227 ++#: send.c:2570 smtp.c:230 + msgid "Sending message..." + msgstr "Versturen van bericht..." + +-#: send.c:2598 ++#: send.c:2609 + msgid "Could not send the message" + msgstr "Bericht kon niet verstuurd worden" + +-#: send.c:2608 ++#: send.c:2619 + msgid "Sending in background" + msgstr "Bericht wordt op de achtergrond verstuurd" + +-#: send.c:2609 ++#: send.c:2620 + msgid "Article posted" + msgstr "" + +-#: send.c:2610 ++#: send.c:2621 + msgid "Mail sent" + msgstr "Bericht verstuurd" + +-#: sendlib.c:567 ++#: sendlib.c:566 + msgid "No boundary parameter found [report this error]" + msgstr "Geen 'boundary parameter' gevonden [meldt deze fout]" + +-#: sendlib.c:598 ++#: sendlib.c:597 + #, c-format + msgid "%s no longer exists" + msgstr "%s bestaat niet meer" + +-#: sendlib.c:1056 ++#: sendlib.c:1055 + #, c-format + msgid "%s isn't a regular file" + msgstr "%s is geen normaal bestand" + +-#: sendlib.c:1223 ++#: sendlib.c:1222 + #, fuzzy + msgid "Could not find any mime.types file." + msgstr "Bericht kon niet verstuurd worden." + +-#: sendlib.c:1314 ++#: sendlib.c:1313 + #, c-format + msgid "Could not open %s" + msgstr "Kan %s niet openen." + +-#: sendlib.c:2864 ++#: sendlib.c:2855 + msgid "$sendmail must be set in order to send mail" + msgstr "$sendmail moet ingesteld zijn om mail te kunnen versturen" + +-#: sendlib.c:2971 ++#: sendlib.c:2962 + #, c-format + msgid "Error sending message, child exited %d (%s)" + msgstr "Fout %d opgetreden tijdens versturen van bericht: %s" + +-#: sendlib.c:2977 ++#: sendlib.c:2969 + msgid "Output of the delivery process" + msgstr "Uitvoer van het afleverings proces" + +-#: sendlib.c:3157 ++#: sendlib.c:3154 + #, c-format + msgid "Bad IDN %s while preparing resent-from" + msgstr "Ongeldige IDN %s tijdens maken resent-from header" + +-#: smtp.c:165 ++#: smtp.c:168 + #, c-format + msgid "SMTP session failed: %s" + msgstr "SMTP-sessie is mislukt: %s" + +-#: smtp.c:222 ++#: smtp.c:225 + #, c-format + msgid "SMTP session failed: unable to open %s" + msgstr "SMTP-sessie is mislukt: kan %s niet openen" + +-#: smtp.c:339 ++#: smtp.c:364 + #, c-format + msgid "Invalid SMTP URL: %s" + msgstr "Ongeldig SMTP-URL: %s" + +-#: smtp.c:618 ++#: smtp.c:643 + #, c-format + msgid "SMTP authentication method %s requires SASL" + msgstr "" + +-#: smtp.c:625 ++#: smtp.c:650 + #, c-format + msgid "%s authentication failed, trying next method" + msgstr "%s-authenticatie is mislukt; volgende methode wordt geprobeerd" + +-#: smtp.c:636 ++#: smtp.c:661 + #, fuzzy + msgid "SMTP authentication requires SASL" + msgstr "GSSAPI-authenticatie is mislukt" + +-#: smtp.c:717 ++#: smtp.c:742 + msgid "SMTP server does not support authentication" + msgstr "SMTP-server ondersteunt geen authenticatie" + +-#: smtp.c:756 ++#: smtp.c:781 + msgid "No from address given" + msgstr "Geen van-adres opgegeven" + +-#: smtp.c:821 ++#: smtp.c:846 + msgid "SMTP session failed: read error" + msgstr "SMTP-sessie is mislukt: leesfout" + +-#: smtp.c:823 ++#: smtp.c:848 + msgid "SMTP session failed: write error" + msgstr "SMTP-sessie is mislukt: schrijffout" + +-#: smtp.c:825 ++#: smtp.c:850 + msgid "Invalid server response" + msgstr "Ongeldige reactie van server" + +-#: sort.c:385 ++#: sort.c:387 + msgid "Sorting mailbox..." + msgstr "Postvak wordt gesorteerd..." + +-#: sort.c:427 ++#: sort.c:429 + msgid "Could not find sorting function [report this bug]" + msgstr "Kan sorteerfunctie niet vinden [Meld deze fout]" + +@@ -6966,11 +7044,11 @@ msgstr "" + "NeoMutt is vrije software, en u bent vrij om het te verspreiden\n" + "onder bepaalde voorwaarden; type 'neomutt -vv' voor meer informatie.\n" + +-#: version.c:446 ++#: version.c:451 + #, fuzzy + msgid "Default options:" + msgstr "Opties tijdens compileren:" + +-#: version.c:449 ++#: version.c:454 + msgid "Compile options:" + msgstr "Opties tijdens compileren:" +diff --git a/po/pl.po b/po/pl.po +index 1249e44b5..21a56b404 100644 +--- a/po/pl.po ++++ b/po/pl.po +@@ -11,7 +11,7 @@ msgid "" + msgstr "" + "Project-Id-Version: neomutt-2019-12-07\n" + "Report-Msgid-Bugs-To: neomutt-devel@neomutt.org\n" +-"POT-Creation-Date: 2019-12-06 23:10+0000\n" ++"POT-Creation-Date: 2020-03-09 12:15+0000\n" + "PO-Revision-Date: 2019-11-12 11:18+0100\n" + "Last-Translator: Marcin Rajner \n" + "Language-Team: none\n" +@@ -21,16 +21,40 @@ msgstr "" + "Content-Transfer-Encoding: 8bit\n" + "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +-#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:59 browser.c:80 browser.c:90 +-#: mutt_history.c:45 pager.c:228 postpone.c:68 query.c:80 recvattach.c:93 ++msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" ++msgstr "(o)drzuć, zaakceptuj (r)az, (a)kceptuj zawsze, (p)omiń" ++ ++msgid "roas" ++msgstr "orap" ++ ++msgid "(r)eject, accept (o)nce, (a)ccept always" ++msgstr "(o)drzuć, zaakceptuj (r)az, (a)kceptuj zawsze" ++ ++msgid "roa" ++msgstr "ora" ++ ++msgid "(r)eject, accept (o)nce, (s)kip" ++msgstr "(o)drzuć, zaakceptuj (r)az, (p)omiń" ++ ++msgid "ros" ++msgstr "orp" ++ ++msgid "(r)eject, accept (o)nce" ++msgstr "(o)drzuć, zaakceptuj (r)az" ++ ++msgid "ro" ++msgstr "or" ++ ++#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:58 browser.c:79 browser.c:89 ++#: mutt_history.c:45 pager.c:220 postpone.c:68 query.c:78 recvattach.c:91 + msgid "Exit" + msgstr "Wyjście" + +-#: addrbook.c:56 index.c:116 index.c:129 pager.c:236 pager.c:246 postpone.c:69 ++#: addrbook.c:56 index.c:112 index.c:125 pager.c:228 pager.c:238 postpone.c:69 + msgid "Del" + msgstr "Usuń" + +-#: addrbook.c:57 index.c:117 index.c:130 postpone.c:70 ++#: addrbook.c:57 index.c:113 index.c:126 postpone.c:70 + msgid "Undel" + msgstr "Odtwórz" + +@@ -38,18 +62,18 @@ msgstr "Odtwórz" + msgid "Select" + msgstr "Wybierz" + +-#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:82 browser.c:84 browser.c:96 +-#: compose.c:218 compose.c:230 conn/ssl.c:983 conn/ssl_gnutls.c:691 index.c:122 +-#: index.c:135 mutt_history.c:48 ncrypt/crypt_gpgme.c:4735 ncrypt/pgpkey.c:670 +-#: ncrypt/smime.c:553 pager.c:2326 postpone.c:71 query.c:85 recvattach.c:94 ++#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:81 browser.c:83 browser.c:95 ++#: compose.c:216 compose.c:228 conn/ssl.c:996 conn/ssl_gnutls.c:722 index.c:118 ++#: index.c:131 mutt_history.c:48 ncrypt/crypt_gpgme.c:4783 ncrypt/pgpkey.c:673 ++#: ncrypt/smime.c:555 pager.c:2297 postpone.c:71 query.c:83 recvattach.c:92 + msgid "Help" + msgstr "Pomoc" + +-#: addrbook.c:208 ++#: addrbook.c:238 + msgid "You have no aliases" + msgstr "Brak aliasów" + +-#: addrbook.c:215 ++#: addrbook.c:276 + msgid "Aliases" + msgstr "Aliasy" + +@@ -58,51 +82,51 @@ msgstr "Aliasy" + msgid "Alias as: " + msgstr "Nazwa aliasu: " + +-#: alias.c:411 ++#: alias.c:414 + msgid "You already have an alias defined with that name" + msgstr "Istnieje już tak nazwany alias" + +-#: alias.c:417 ++#: alias.c:420 + msgid "Warning: This alias name may not work. Fix it?" + msgstr "Ostrzeżenie: alias o takiej nazwie może nie zadziałać. Poprawić?" + +-#: alias.c:442 ++#: alias.c:445 + msgid "Address: " + msgstr "Adres: " + +-#: alias.c:453 commands.c:444 compose.c:744 conn/conn_raw.c:152 +-#: conn/conn_raw.c:210 recvcmd.c:232 send.c:228 ++#: alias.c:457 commands.c:450 compose.c:743 conn/conn_raw.c:152 ++#: conn/conn_raw.c:210 recvcmd.c:231 send.c:227 + #, c-format + msgid "Bad IDN: '%s'" + msgstr "Błędny IDN: '%s'" + +-#: alias.c:464 ++#: alias.c:468 + msgid "Personal name: " + msgstr "Nazwisko: " + +-#: alias.c:473 ++#: alias.c:477 + #, c-format + msgid "[%s = %s] Accept?" + msgstr "[%s = %s] Potwierdzasz?" + +-#: alias.c:484 recvattach.c:528 recvattach.c:550 recvattach.c:564 +-#: recvattach.c:579 recvattach.c:678 ++#: alias.c:488 recvattach.c:530 recvattach.c:552 recvattach.c:566 ++#: recvattach.c:581 recvattach.c:680 + msgid "Save to file: " + msgstr "Zapisz do pliku: " + +-#: alias.c:503 ++#: alias.c:507 + msgid "Error reading alias file" + msgstr "Błąd podczas czytania pliku aliasów" + +-#: alias.c:525 ++#: alias.c:529 + msgid "Trouble adding alias" + msgstr "Błąd podczas dodawania aliasów" + +-#: alias.c:527 ++#: alias.c:531 + msgid "Alias added" + msgstr "Alias dodany" + +-#: alias.c:532 ++#: alias.c:536 + msgid "Error seeking in alias file" + msgstr "Błąd przeszukiwania pliku aliasów" + +@@ -111,7 +135,7 @@ msgstr "Błąd przeszukiwania pliku aliasów" + #. for some reason (e.g. autocrypt, header cache, bcache), but it + #. doesn't exist. The prompt is asking whether to create the directory + #. +-#: autocrypt/autocrypt.c:70 main.c:826 ++#: autocrypt/autocrypt.c:70 main.c:757 + #, c-format + msgid "%s does not exist. Create it?" + msgstr "%s nie istnieje. Utworzyć?" +@@ -120,8 +144,8 @@ msgstr "%s nie istnieje. Utworzyć?" + #. mkdir() on the directory %s failed. The second %s is the + #. error message returned by libc + #. +-#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:830 +-#: nntp/newsrc.c:1069 ++#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:761 ++#: nntp/newsrc.c:1098 + #, c-format + msgid "Can't create %s: %s" + msgstr "Nie można utworzyć %s: %s" +@@ -131,7 +155,7 @@ msgstr "Nie można utworzyć %s: %s" + #. create $autocrypt_dir and then prompt to create an autocrypt + #. account with this message. + #. +-#: autocrypt/autocrypt.c:156 ++#: autocrypt/autocrypt.c:163 + msgid "Create an initial autocrypt account?" + msgstr "" + +@@ -140,7 +164,7 @@ msgstr "" + #. autocrypt account. This will generate a key and add a record + #. to the database for use in autocrypt operations. + #. +-#: autocrypt/autocrypt.c:180 ++#: autocrypt/autocrypt.c:187 + msgid "Autocrypt account address: " + msgstr "" + +@@ -149,7 +173,7 @@ msgstr "" + #. a single address. This is shown if they entered something invalid, + #. nothing, or more than one address for some reason. + #. +-#: autocrypt/autocrypt.c:191 ++#: autocrypt/autocrypt.c:198 + msgid "Please enter a single email address" + msgstr "" + +@@ -158,7 +182,7 @@ msgstr "" + #. if there is already an account in the database with the email address + #. they just entered. + #. +-#: autocrypt/autocrypt.c:208 ++#: autocrypt/autocrypt.c:215 + msgid "That email address already has an autocrypt account" + msgstr "" + +@@ -170,14 +194,14 @@ msgstr "" + #. Otherwise the UI will show encryption is "available" but the user + #. will be required to enable encryption manually. + #. +-#: autocrypt/autocrypt.c:223 ++#: autocrypt/autocrypt.c:230 + msgid "Prefer encryption?" + msgstr "Czy szyfrować?" + + #. L10N: + #. Message displayed after an autocrypt account is successfully created. + #. +-#: autocrypt/autocrypt.c:236 ++#: autocrypt/autocrypt.c:243 + msgid "Autocrypt account creation succeeded" + msgstr "" + +@@ -185,7 +209,7 @@ msgstr "" + #. Error message displayed if creating an autocrypt account failed + #. or was aborted by the user. + #. +-#: autocrypt/autocrypt.c:242 ++#: autocrypt/autocrypt.c:249 + msgid "Autocrypt account creation aborted" + msgstr "" + +@@ -194,7 +218,7 @@ msgstr "" + #. to use to encrypt, but it can't find a valid keyid for this address. + #. The message is printed and they are returned to the compose menu. + #. +-#: autocrypt/autocrypt.c:610 autocrypt/autocrypt.c:639 ++#: autocrypt/autocrypt.c:617 autocrypt/autocrypt.c:646 + #, c-format + msgid "No (valid) autocrypt key found for %s" + msgstr "Brak (poprawnych) kluczy cyfrowania dla %s" +@@ -206,12 +230,12 @@ msgstr "Brak (poprawnych) kluczy cyfrowania dla %s" + #. and used for encryption. + #. If this is answered yes, they will be prompted for a mailbox. + #. +-#: autocrypt/autocrypt.c:903 ++#: autocrypt/autocrypt.c:910 + msgid "Scan a mailbox for autocrypt headers?" + msgstr "" + + #. L10N: The prompt for a mailbox to scan for Autocrypt: headers +-#: autocrypt/autocrypt.c:907 ++#: autocrypt/autocrypt.c:914 + msgid "Scan mailbox" + msgstr "Skanuj skrzynkę pocztową" + +@@ -222,21 +246,21 @@ msgstr "Skanuj skrzynkę pocztową" + #. for a mailbox. This is because this is a one-time operation + #. and I don't want them to accidentally ctrl-g and abort it. + #. +-#: autocrypt/autocrypt.c:927 ++#: autocrypt/autocrypt.c:934 + msgid "Scan another mailbox for autocrypt headers?" + msgstr "" + + #. L10N: Autocrypt Account Menu Help line: + #. create new account + #. +-#: autocrypt/autocrypt_acct_menu.c:63 ++#: autocrypt/autocrypt_acct_menu.c:62 + msgid "Create" + msgstr "Utwórz" + + #. L10N: Autocrypt Account Menu Help line: + #. delete account + #. +-#: autocrypt/autocrypt_acct_menu.c:67 remailer.c:77 ++#: autocrypt/autocrypt_acct_menu.c:66 remailer.c:75 + msgid "Delete" + msgstr "Usuń" + +@@ -244,9 +268,9 @@ msgstr "Usuń" + #. toggle an account active/inactive + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:74 ++#: autocrypt/autocrypt_acct_menu.c:73 + msgid "Tgl Active" + msgstr "" + +@@ -254,17 +278,17 @@ msgstr "" + #. toggle "prefer-encrypt" on an account + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:81 +-msgid "Prf Enc" ++#: autocrypt/autocrypt_acct_menu.c:80 ++msgid "Prf Encr" + msgstr "" + + #. L10N: + #. Autocrypt Account menu. + #. flag that an account has prefer-encrypt set + #. +-#: autocrypt/autocrypt_acct_menu.c:123 ++#: autocrypt/autocrypt_acct_menu.c:122 + msgid "prefer encrypt" + msgstr "" + +@@ -273,7 +297,7 @@ msgstr "" + #. flag that an account has prefer-encrypt unset; + #. thus encryption will need to be manually enabled. + #. +-#: autocrypt/autocrypt_acct_menu.c:130 ++#: autocrypt/autocrypt_acct_menu.c:129 + msgid "manual encrypt" + msgstr "" + +@@ -281,7 +305,7 @@ msgstr "" + #. Autocrypt Account menu. + #. flag that an account is enabled/active + #. +-#: autocrypt/autocrypt_acct_menu.c:138 ++#: autocrypt/autocrypt_acct_menu.c:137 + msgid "active" + msgstr "" + +@@ -289,12 +313,12 @@ msgstr "" + #. Autocrypt Account menu. + #. flag that an account is disabled/inactive + #. +-#: autocrypt/autocrypt_acct_menu.c:144 ++#: autocrypt/autocrypt_acct_menu.c:143 + msgid "inactive" + msgstr "" + + #. L10N: Autocrypt Account Management Menu title +-#: autocrypt/autocrypt_acct_menu.c:183 ++#: autocrypt/autocrypt_acct_menu.c:182 + msgid "Autocrypt Accounts" + msgstr "" + +@@ -302,12 +326,12 @@ msgstr "" + #. This error message is displayed if a database update of an + #. account record fails for some odd reason. + #. +-#: autocrypt/autocrypt_acct_menu.c:245 autocrypt/autocrypt_acct_menu.c:259 ++#: autocrypt/autocrypt_acct_menu.c:244 autocrypt/autocrypt_acct_menu.c:258 + msgid "Error updating account record" + msgstr "Błąd aktualizacji konta" + + #. L10N: Confirmation message when deleting an autocrypt account +-#: autocrypt/autocrypt_acct_menu.c:302 ++#: autocrypt/autocrypt_acct_menu.c:333 + #, c-format + msgid "Really delete account \"%s\"?" + msgstr "Naprawdę usunąć skrzynkę \"%s\"?" +@@ -325,7 +349,7 @@ msgstr "Naprawdę usunąć skrzynkę \"%s\"?" + msgid "Unable to open autocrypt database %s" + msgstr "Nie można otworzyć zaszyfrowanej skrzynki pocztowej %s" + +-#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:774 ++#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:773 + #, c-format + msgid "error creating gpgme context: %s" + msgstr "Błąd tworzenia kontekstu gpgme: %s" +@@ -398,276 +422,227 @@ msgstr "" + msgid "Message cache isn't a directory: %s" + msgstr "Pamięć podręczna (cache) wiadomości nie jest katalogiem: %s" + +-#: browser.c:81 ++#: browser.c:80 + msgid "Chdir" + msgstr "Zmień katalog" + +-#: browser.c:82 ++#: browser.c:81 + msgid "Goto" + msgstr "Idź do" + +-#: browser.c:83 browser.c:95 ++#: browser.c:82 browser.c:94 + msgid "Mask" + msgstr "Wzorzec" + +-#: browser.c:91 ++#: browser.c:90 + msgid "List" + msgstr "Lista" + +-#: browser.c:92 ++#: browser.c:91 + msgid "Subscribe" + msgstr "Zasubskrybuj" + +-#: browser.c:93 ++#: browser.c:92 + msgid "Unsubscribe" + msgstr "Odsubskrybuj" + +-#: browser.c:94 index.c:134 ++#: browser.c:93 index.c:130 + msgid "Catchup" + msgstr "" + +-#: browser.c:760 browser.c:1519 browser.c:1758 ++#: browser.c:763 browser.c:1584 browser.c:1825 + #, c-format + msgid "%s is not a directory" + msgstr "%s nie jest katalogiem" + +-#: browser.c:1025 ++#: browser.c:1028 + #, c-format + msgid "Subscribed newsgroups" + msgstr "Zasubskrybowano grupę dyskusyjną" + +-#: browser.c:1028 ++#: browser.c:1031 + #, c-format + msgid "Newsgroups on server [%s]" + msgstr "Listy dyskusyjne na serwerze [%s]" + +-#: browser.c:1038 ++#: browser.c:1041 + #, c-format + msgid "Mailboxes [%d]" + msgstr "Skrzynki [%d]" + +-#: browser.c:1050 ++#: browser.c:1053 + #, c-format + msgid "Subscribed [%s], File mask: %s" + msgstr "Zasubskrybowane [%s], wzorzec nazw plików: %s" + +-#: browser.c:1056 ++#: browser.c:1059 + #, c-format + msgid "Directory [%s], File mask: %s" + msgstr "Katalog [%s], wzorzec nazw plików: %s" + +-#: browser.c:1113 ++#: browser.c:1116 + msgid "Can't attach a directory" + msgstr "Załącznikiem nie może zostać katalog" + +-#: browser.c:1380 browser.c:1814 browser.c:1959 ++#: browser.c:1445 browser.c:1881 browser.c:2026 + msgid "No files match the file mask" + msgstr "Żaden plik nie pasuje do wzorca" + +-#: browser.c:1587 ++#: browser.c:1654 + msgid "Create is only supported for IMAP mailboxes" + msgstr "Tworzenie skrzynek jest obsługiwane tylko dla skrzynek IMAP" + +-#: browser.c:1609 ++#: browser.c:1676 + msgid "Rename is only supported for IMAP mailboxes" + msgstr "Zmiana nazwy jest obsługiwana tylko dla skrzynek IMAP" + +-#: browser.c:1630 ++#: browser.c:1697 + msgid "Delete is only supported for IMAP mailboxes" + msgstr "Usuwanie skrzynek jest obsługiwane tylko dla skrzynek IMAP" + +-#: browser.c:1642 ++#: browser.c:1709 + msgid "Can't delete currently selected mailbox" + msgstr "Nie można skasować wybranych skrzynek pocztowych" + +-#: browser.c:1646 ++#: browser.c:1713 + #, c-format + msgid "Really delete mailbox \"%s\"?" + msgstr "Naprawdę usunąć skrzynkę \"%s\"?" + +-#: browser.c:1663 ++#: browser.c:1730 + msgid "Mailbox deleted" + msgstr "Skrzynka została usunięta" + +-#: browser.c:1667 ++#: browser.c:1734 + msgid "Mailbox deletion failed" + msgstr "Usunięcie skrzynki nie powiodło się" + +-#: browser.c:1670 ++#: browser.c:1737 + msgid "Mailbox not deleted" + msgstr "Skrzynka nie została usunięta" + +-#: browser.c:1697 ++#: browser.c:1764 + msgid "Chdir to: " + msgstr "Zmień katalog na: " + +-#: browser.c:1747 browser.c:1808 ++#: browser.c:1814 browser.c:1875 + msgid "Error scanning directory" + msgstr "Błąd przeglądania katalogu" + +-#: browser.c:1769 ++#: browser.c:1836 + msgid "File Mask: " + msgstr "Wzorzec nazw plików: " + + #. L10N: The highlighted letters must match the "Sort" options +-#: browser.c:1831 ++#: browser.c:1898 + msgid "Reverse sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "Sortowanie odwrotne wg (d)aty, (a)lfabetu, (o)pisu, ro(z)miaru, li(c)zby, liczby no(w)ych, żad(n)e?" + + #. L10N: The highlighted letters must match the "Reverse Sort" options +-#: browser.c:1834 ++#: browser.c:1901 + msgid "Sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "Sortowanie wg (d)aty, (a)lfabetu, (o)pisu, ro(z)miaru, li(c)zby, liczby no(w)ych, żad(n)e?" + + #. L10N: These must match the highlighted letters from "Sort" and "Reverse Sort" +-#: browser.c:1837 ++#: browser.c:1904 + msgid "dazecwn" + msgstr "daozcwn" + +-#: browser.c:1948 ++#: browser.c:2015 + msgid "New file name: " + msgstr "Nazwa nowego pliku: " + +-#: browser.c:1976 ++#: browser.c:2043 + msgid "Can't view a directory" + msgstr "Nie można przeglądać tego katalogu" + +-#: browser.c:1993 ++#: browser.c:2060 + msgid "Error trying to view file" + msgstr "Błąd podczas próby przeglądania pliku" + +-#: browser.c:2079 ++#: browser.c:2146 + #, c-format + msgid "Subscribe pattern: " + msgstr "Subskrybuj wzorzec: " + +-#: browser.c:2081 ++#: browser.c:2148 + #, c-format + msgid "Unsubscribe pattern: " + msgstr "Odsubskrybuj wzorzec: " + +-#: browser.c:2101 ++#: browser.c:2169 + msgid "No newsgroups match the mask" + msgstr "Żadna grupa dyskusyjna nie pasuje do wzorca" + +-#: color.c:633 color.c:644 +-#, c-format +-msgid "%s: color not supported by term" +-msgstr "%s: kolor nie jest obsługiwany przez Twój terminal" +- +-#: color.c:652 +-#, c-format +-msgid "%s: no such color" +-msgstr "%s: nie ma takiego koloru" +- +-#: color.c:717 color.c:740 color.c:751 color.c:842 +-#, c-format +-msgid "%s: no such object" +-msgstr "%s: nie ma takiego obiektu" +- +-#: color.c:731 color.c:868 color.c:1069 color.c:1098 color.c:1122 color.c:1191 +-#: color.c:1214 hook.c:110 hook.c:124 hook.c:367 hook.c:383 init.c:612 +-#: init.c:620 init.c:709 init.c:1099 init.c:1267 init.c:1871 init.c:1929 +-#: keymap.c:1184 score.c:110 +-#, c-format +-msgid "%s: too few arguments" +-msgstr "%s: za mało argumentów" +- +-#: color.c:1142 +-#, c-format +-msgid "%s: no such attribute" +-msgstr "%s: nie ma takiego atrybutu" +- +-#: color.c:1223 color.c:1329 hook.c:131 hook.c:390 init.c:1123 init.c:2133 +-#: init.c:2611 keymap.c:1116 keymap.c:1289 keymap.c:1442 keymap.c:1506 +-#: mutt_lua.c:483 score.c:119 +-#, c-format +-msgid "%s: too many arguments" +-msgstr "%s: za dużo argumentów" +- +-#: color.c:1244 +-msgid "default colors not supported" +-msgstr "domyślnie ustalone kolory nie są obsługiwane" +- +-#: color.c:1282 +-#, c-format +-msgid "Maximum quoting level is %d" +-msgstr "" +- +-#: color.c:1319 +-#, c-format +-msgid "%s: invalid number: %s" +-msgstr "%s: błędna liczba: %s" +- + #. L10N: Used for the $crypt_verify_sig prompt +-#: commands.c:230 ++#: commands.c:232 + msgid "Verify signature?" + msgstr "Weryfikować podpis?" + +-#: commands.c:257 mbox/mbox.c:1236 ++#: commands.c:259 mbox/mbox.c:1236 + msgid "Could not create temporary file" + msgstr "Nie można utworzyć pliku tymczasowego" + +-#: commands.c:269 ++#: commands.c:271 + msgid "Can't create display filter" + msgstr "Nie można utworzyć filtru wyświetlania" + +-#: commands.c:302 ++#: commands.c:304 + msgid "Could not copy message" + msgstr "Nie można skopiować listu" + +-#: commands.c:338 ++#: commands.c:340 + msgid "S/MIME signature successfully verified" + msgstr "Podpis S/MIME został pomyślnie zweryfikowany" + +-#: commands.c:340 ++#: commands.c:342 + msgid "S/MIME certificate owner does not match sender" + msgstr "Właściciel certyfikatu nie odpowiada nadawcy" + +-#: commands.c:343 commands.c:353 ++#: commands.c:345 commands.c:355 + msgid "Warning: Part of this message has not been signed" + msgstr "Ostrzeżenie: fragment tej wiadomości nie został podpisany" + +-#: commands.c:345 ++#: commands.c:347 + msgid "S/MIME signature could NOT be verified" + msgstr "Podpis S/MIME NIE może zostać zweryfikowany" + +-#: commands.c:351 ++#: commands.c:353 + msgid "PGP signature successfully verified" + msgstr "Podpis PGP został pomyślnie zweryfikowany" + +-#: commands.c:355 ++#: commands.c:357 + msgid "PGP signature could NOT be verified" + msgstr "Podpis PGP NIE może zostać zweryfikowany" + +-#: commands.c:372 compose.c:2116 compress.c:321 curs_lib.c:359 curs_lib.c:646 +-#: index.c:1235 index.c:1285 mutt_attach.c:159 mutt_attach.c:292 pager.c:2460 +-#: sendlib.c:1625 ++#: commands.c:378 compose.c:2187 compress/compress.c:320 gui/curs_lib.c:360 ++#: gui/curs_lib.c:714 index.c:1240 index.c:1290 mutt_attach.c:161 ++#: mutt_attach.c:294 pager.c:2433 sendlib.c:1624 + #, c-format + msgid "Error running \"%s\"" + msgstr "Błąd uruchomienia \"%s\"" + +-#: commands.c:382 ++#: commands.c:388 + msgid "Command: " + msgstr "Wprowadź polecenie: " + +-#: commands.c:419 recvcmd.c:191 recvcmd.c:203 ++#: commands.c:425 recvcmd.c:190 recvcmd.c:202 + msgid "Warning: message contains no From: header" + msgstr "Ostrzeżenie: wiadomość nie zawiera pola From: w nagłówku" + +-#: commands.c:425 recvcmd.c:212 ++#: commands.c:431 recvcmd.c:211 + msgid "Bounce message to: " + msgstr "Wyślij kopię listu do: " + +-#: commands.c:427 recvcmd.c:214 ++#: commands.c:433 recvcmd.c:213 + msgid "Bounce tagged messages to: " + msgstr "Wyślij kopie zaznaczonych listów do: " + +-#: commands.c:436 recvcmd.c:224 ++#: commands.c:442 recvcmd.c:223 + msgid "Error parsing address" + msgstr "Błąd interpretacji adresu" + +-#: commands.c:455 recvcmd.c:243 ++#: commands.c:461 recvcmd.c:242 + #, c-format + msgid "Bounce message to %s?" + msgid_plural "Bounce messages to %s?" +@@ -675,48 +650,48 @@ msgstr[0] "Wyślij kopię listu do %s?" + msgstr[1] "Wyślij kopie listów do %s?" + msgstr[2] "Wyślij kopie listów do %s?" + +-#: commands.c:470 recvcmd.c:257 ++#: commands.c:476 recvcmd.c:257 + msgid "Message not bounced" + msgid_plural "Messages not bounced" + msgstr[0] "Kopia nie została wysłana" + msgstr[1] "Kopie nie zostały wysłane" + msgstr[2] "Kopie nie zostały wysłane" + +-#: commands.c:496 recvcmd.c:276 ++#: commands.c:502 recvcmd.c:276 + msgid "Message bounced" + msgid_plural "Messages bounced" + msgstr[0] "Kopia została wysłana" + msgstr[1] "Kopie zostały wysłane" + msgstr[2] "Kopie zostały wysłane" + +-#: commands.c:606 commands.c:642 commands.c:662 ++#: commands.c:612 commands.c:648 commands.c:668 + msgid "Can't create filter process" + msgstr "Nie można utworzyć procesu filtru" + +-#: commands.c:698 ++#: commands.c:704 + msgid "Pipe to command: " + msgstr "Wyślij przez potok do polecenia: " + +-#: commands.c:720 ++#: commands.c:726 + msgid "No printing command has been defined" + msgstr "Polecenie drukowania nie zostało skonfigurowane" + +-#: commands.c:732 ++#: commands.c:738 + msgid "Print message?" + msgstr "Wydrukować list?" + +-#: commands.c:733 ++#: commands.c:739 + msgid "Print tagged messages?" + msgstr "Wydrukować zaznaczone listy?" + +-#: commands.c:739 ++#: commands.c:745 + msgid "Message printed" + msgid_plural "Messages printed" + msgstr[0] "List został wydrukowany" + msgstr[1] "Listy zostały wydrukowane" + msgstr[2] "Listy zostały wydrukowane" + +-#: commands.c:742 ++#: commands.c:748 + msgid "Message could not be printed" + msgid_plural "Messages could not be printed" + msgstr[0] "List nie został wydrukowany " +@@ -724,148 +699,310 @@ msgstr[1] "Listy nie zostały wydrukowane" + msgstr[2] "Listy nie zostały wydrukowane" + + #. L10N: The highlighted letters must match the "Sort" options +-#: commands.c:759 ++#: commands.c:765 + msgid "Rev-Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "Odwr-Sortowanie (d)ata/(a)ut/o(t)rzym/t(e)m/d(o)/(w)ąt/(b)ez/ro(z)m/wa(g)a/(s)pam,(e)tykieta?" + + #. L10N: The highlighted letters must match the "Rev-Sort" options +-#: commands.c:763 ++#: commands.c:769 + msgid "Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "Sortowanie (d)ata/(a)ut/o(t)rzym/t(e)m/d(o)/(w)ąt/(b)ez/ro(z)m/wa(g)a/(s)pam,(e)tykieta?" + + #. L10N: These must match the highlighted letters from "Sort" and "Rev-Sort" +-#: commands.c:767 ++#: commands.c:773 + msgid "dfrsotuzcpl" + msgstr "dateowbzgse" + +-#: commands.c:831 ++#: commands.c:837 + msgid "Shell command: " + msgstr "Polecenie powłoki: " + +-#: commands.c:1036 ++#: commands.c:1042 + msgid "Decode-save to mailbox" + msgstr "Dekoduj-zapisz do skrzynki" + +-#: commands.c:1036 ++#: commands.c:1042 + msgid "Decode-save tagged to mailbox" + msgstr "Dekoduj-zapisz zaznaczone do skrzynki" + +-#: commands.c:1038 ++#: commands.c:1044 + msgid "Decrypt-save to mailbox" + msgstr "Rozszyfruj-zapisz do skrzynki" + +-#: commands.c:1038 ++#: commands.c:1044 + msgid "Decrypt-save tagged to mailbox" + msgstr "Rozszyfruj-zapisz zaznaczone do skrzynki" + +-#: commands.c:1040 ++#: commands.c:1046 + msgid "Save to mailbox" + msgstr "Zapisz do skrzynki" + +-#: commands.c:1040 ++#: commands.c:1046 + msgid "Save tagged to mailbox" + msgstr "Zapisz zaznaczone do skrzynki" + +-#: commands.c:1045 ++#: commands.c:1051 + msgid "Decode-copy to mailbox" + msgstr "Dekoduj-kopiuj do skrzynki" + +-#: commands.c:1045 ++#: commands.c:1051 + msgid "Decode-copy tagged to mailbox" + msgstr "Dekoduj-kopiuj zaznaczone do skrzynki" + +-#: commands.c:1047 ++#: commands.c:1053 + msgid "Decrypt-copy to mailbox" + msgstr "Rozszyfruj-kopiuj do skrzynki" + +-#: commands.c:1047 ++#: commands.c:1053 + msgid "Decrypt-copy tagged to mailbox" + msgstr "Rozszyfruj-kopiuj zaznaczone do skrzynki" + +-#: commands.c:1049 ++#: commands.c:1055 + msgid "Copy to mailbox" + msgstr "Kopiuj do skrzynki" + +-#: commands.c:1049 ++#: commands.c:1055 + msgid "Copy tagged to mailbox" + msgstr "Kopiuj zaznaczone do skrzynki" + +-#: commands.c:1092 ++#: commands.c:1098 + #, c-format + msgid "Copying to %s..." + msgstr "Kopiowanie do %s..." + + #. L10N: e.g. "text/plain; charset=UTF-8; ..." +-#: commands.c:1257 ++#: commands.c:1263 + msgid "Content type is too long" + msgstr "Content-Type za długi" + +-#: commands.c:1281 ++#: commands.c:1290 + #, c-format + msgid "Convert to %s upon sending?" + msgstr "Przekonwertować do %s przy wysyłaniu?" + +-#: commands.c:1292 ++#: commands.c:1301 + #, c-format + msgid "Content-Type changed to %s" + msgstr "Typ \"Content-Type\" zmieniono na %s" + +-#: commands.c:1297 ++#: commands.c:1306 + #, c-format + msgid "Character set changed to %s; not converting" + msgstr "Zestaw znaków został zmieniony na %s; bez konwersji" + +-#: commands.c:1298 ++#: commands.c:1307 + #, c-format + msgid "Character set changed to %s; converting" + msgstr "Zestaw znaków został zmieniony na %s; konwertowanie" + +-#: compose.c:99 ++#: command_parse.c:83 command_parse.c:211 command_parse.c:219 ++#: command_parse.c:740 command_parse.c:887 command_parse.c:1491 ++#: command_parse.c:1549 gui/color.c:731 gui/color.c:868 gui/color.c:1069 ++#: gui/color.c:1098 gui/color.c:1122 gui/color.c:1191 gui/color.c:1214 ++#: hook.c:110 hook.c:124 hook.c:372 hook.c:388 keymap.c:1182 score.c:110 ++#, c-format ++msgid "%s: too few arguments" ++msgstr "%s: za mało argumentów" ++ ++#: command_parse.c:394 ++msgid "-group: no group name" ++msgstr "-group: brak nazwy grupy" ++ ++#: command_parse.c:404 ++msgid "out of arguments" ++msgstr "brak argumentów" ++ ++#: command_parse.c:445 command_parse.c:1372 ++#, c-format ++msgid "Error: Can't build path of '%s'" ++msgstr "" ++ ++#: command_parse.c:458 ++#, c-format ++msgid "Error: Cyclic sourcing of configuration file '%s'" ++msgstr "" ++ ++#: command_parse.c:491 ++#, c-format ++msgid "Error in %s, line %d: %s" ++msgstr "Błąd w %s, linia %d: %s" ++ ++#: command_parse.c:502 ++#, c-format ++msgid "Warning in %s, line %d: %s" ++msgstr "Ostrzeżenie w %s, linia %d: %s" ++ ++#: command_parse.c:526 ++#, c-format ++msgid "source: errors in %s" ++msgstr "source: błędy w %s" ++ ++#: command_parse.c:526 ++#, c-format ++msgid "source: reading aborted due to too many errors in %s" ++msgstr "source: wczytywanie zaniechane z powodu zbyt wielu błędów w %s" ++ ++#: command_parse.c:535 ++#, c-format ++msgid "source: %d warning in %s" ++msgid_plural "source: %d warnings in %s" ++msgstr[0] "source: %d ostrzeżenie w %s" ++msgstr[1] "source: %d ostrzeżenia w %s" ++msgstr[2] "source: %d ostrzeżeń w %s" ++ ++#: command_parse.c:564 ++msgid "alias: no address" ++msgstr "alias: brak adresu" ++ ++#: command_parse.c:606 ++#, c-format ++msgid "Warning: Bad IDN '%s' in alias '%s'" ++msgstr "Ostrzeżenie: błędny IDN '%s' w aliasie '%s'" ++ ++#: command_parse.c:684 ++msgid "attachments: no disposition" ++msgstr "załączniki: brak specyfikacji inline/attachment" ++ ++#: command_parse.c:695 ++msgid "Current attachments settings:" ++msgstr "Obecne ustawienia załączników:" ++ ++#: command_parse.c:725 ++msgid "attachments: invalid disposition" ++msgstr "załączniki: błędna specyfikacja inline/attachment" ++ ++#: command_parse.c:764 command_parse.c:1753 command_parse.c:2205 ++#: gui/color.c:1223 gui/color.c:1329 hook.c:131 hook.c:395 keymap.c:1114 ++#: keymap.c:1287 keymap.c:1440 keymap.c:1504 mutt_lua.c:485 score.c:119 ++#, c-format ++msgid "%s: too many arguments" ++msgstr "%s: za dużo argumentów" ++ ++#: command_parse.c:801 ++#, c-format ++msgid "%sgroup: missing -rx or -addr" ++msgstr "%sgroup: brakujący -rx lub -addr" ++ ++#: command_parse.c:827 ++#, c-format ++msgid "%sgroup: warning: bad IDN '%s'" ++msgstr "%sgrupa: ostrzeżenie: błędny IDN '%s'" ++ ++#: command_parse.c:898 ++#, c-format ++msgid "Error: %s" ++msgstr "" ++ ++#: command_parse.c:1065 ++msgid "invalid header field" ++msgstr "nieprawidłowy nagłówek" ++ ++#: command_parse.c:1331 command_parse.c:1435 ++#, c-format ++msgid "%s: unknown variable" ++msgstr "%s: nieznana zmienna" ++ ++#: command_parse.c:1528 ++#, c-format ++msgid "%s is unset" ++msgstr "%s nie jest ustawiony" ++ ++#: command_parse.c:1573 mutt_lua.c:480 ++#, c-format ++msgid "source: error at %s" ++msgstr "source: błędy w %s" ++ ++#: command_parse.c:1581 ++#, c-format ++msgid "source: file %s could not be sourced" ++msgstr "sourced: plik %s nie może być wczytany" ++ ++#: command_parse.c:1604 ++msgid "spam: no matching pattern" ++msgstr "Spam: brak pasującego wzorca" ++ ++#: command_parse.c:1606 ++msgid "nospam: no matching pattern" ++msgstr "NieSpam: brak pasującego wzorca" ++ ++#: command_parse.c:1762 imap/imap.c:1443 ++#, c-format ++msgid "Subscribed to %s" ++msgstr "Zasubskrybowano %s" ++ ++#: command_parse.c:1766 ++#, c-format ++msgid "Could not subscribe to %s" ++msgstr "Nie można zasubskrybować %s" ++ ++#: command_parse.c:1774 command_parse.c:2226 ++msgid "No folder specified" ++msgstr "Nie wybrano żadnego folderu" ++ ++#: command_parse.c:1943 ++msgid "unattachments: no disposition" ++msgstr "brak specyfikacji inline/attachment" ++ ++#: command_parse.c:1981 ++msgid "unattachments: invalid disposition" ++msgstr "błędna specyfikacja inline/attachment" ++ ++#: command_parse.c:2214 imap/imap.c:1445 ++#, c-format ++msgid "Unsubscribed from %s" ++msgstr "Odsubskrybowano %s" ++ ++#: command_parse.c:2218 ++#, c-format ++msgid "Could not unsubscribe from %s" ++msgstr "Nie można odsubskrybować %s" ++ ++#: compose.c:97 + msgid "There are no attachments" + msgstr "Brak załączników" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:166 ++#: compose.c:164 + msgid "From: " + msgstr "Od: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:168 send.c:284 ++#: compose.c:166 send.c:284 + msgid "To: " + msgstr "Do: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:170 send.c:286 ++#: compose.c:168 send.c:286 + msgid "Cc: " + msgstr "Kopia: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:172 send.c:288 ++#: compose.c:170 send.c:288 + msgid "Bcc: " + msgstr "Ukryta kopia: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:174 compose.c:1242 send.c:320 ++#: compose.c:172 compose.c:1302 send.c:320 + msgid "Subject: " + msgstr "Temat: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:176 ++#: compose.c:174 + msgid "Reply-To: " + msgstr "Odpowiedź do:" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:178 compose.c:1261 ++#: compose.c:176 compose.c:1321 + msgid "Fcc: " + msgstr "Zapisz w: " + + #. L10N: "Mix" refers to the MixMaster chain for anonymous email +-#: compose.c:181 ++#: compose.c:179 + msgid "Mix: " + msgstr "Mix: " + + #. L10N: Compose menu field. Holds "Encrypt", "Sign" related information +-#: compose.c:184 ++#: compose.c:182 + msgid "Security: " + msgstr "" + +@@ -876,75 +1013,75 @@ msgstr "" + #. it should not be longer than the other compose menu fields. + #. Since it shares the row with "Encrypt with:", it should not be longer + #. than 15-20 character cells. +-#: compose.c:192 ncrypt/crypt_gpgme.c:5602 ncrypt/pgp.c:1974 +-#: ncrypt/smime.c:2395 ++#: compose.c:190 ncrypt/crypt_gpgme.c:5682 ncrypt/pgp.c:1976 ++#: ncrypt/smime.c:2429 + msgid "Sign as: " + msgstr "Podpisz jako: " + + #. L10N: The compose menu autocrypt line +-#: compose.c:195 ++#: compose.c:193 + msgid "Autocrypt: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:199 ++#: compose.c:197 + msgid "Newsgroups: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:201 ++#: compose.c:199 + msgid "Followup-To: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:203 ++#: compose.c:201 + msgid "X-Comment-To: " + msgstr "" + +-#: compose.c:208 compose.c:224 ++#: compose.c:206 compose.c:222 + msgid "Send" + msgstr "Wyślij" + +-#: compose.c:209 compose.c:225 remailer.c:77 ++#: compose.c:207 compose.c:223 remailer.c:75 + msgid "Abort" + msgstr "Anuluj" + + #. L10N: compose menu help line entry +-#: compose.c:211 ++#: compose.c:209 + msgid "To" + msgstr "Adresat" + + #. L10N: compose menu help line entry +-#: compose.c:213 ++#: compose.c:211 + msgid "CC" + msgstr "Kopia" + + #. L10N: compose menu help line entry +-#: compose.c:215 compose.c:227 ++#: compose.c:213 compose.c:225 + msgid "Subj" + msgstr "Temat" + +-#: compose.c:216 compose.c:228 compose.c:1556 ++#: compose.c:214 compose.c:226 compose.c:1616 + msgid "Attach file" + msgstr "Dołącz plik" + +-#: compose.c:217 compose.c:229 ++#: compose.c:215 compose.c:227 + msgid "Descrip" + msgstr "Opis" + +-#: compose.c:226 ++#: compose.c:224 + msgid "Newsgroups" + msgstr "Grupy dyskusyjne" + + #. L10N: Autocrypt recommendation flag: off. + #. * This is displayed when Autocrypt is turned off. +-#: compose.c:239 compose.c:473 ++#: compose.c:237 compose.c:472 + msgid "Off" + msgstr "" + + #. L10N: Autocrypt recommendation flag: no. + #. * This is displayed when Autocrypt cannot encrypt to the recipients. +-#: compose.c:242 ++#: compose.c:240 + msgid "No" + msgstr "Nie" + +@@ -952,7 +1089,7 @@ msgstr "Nie" + #. * This is displayed when Autocrypt believes encryption should not be used. + #. * This might occur if one of the recipient Autocrypt Keys has not been + #. * used recently, or if the only key available is a Gossip Header key. +-#: compose.c:247 ++#: compose.c:245 + msgid "Discouraged" + msgstr "" + +@@ -960,14 +1097,14 @@ msgstr "" + #. * This is displayed when Autocrypt believes encryption is possible, but + #. * leaves enabling it up to the sender. Probably because "prefer encrypt" + #. * is not set in both the sender and recipient keys. +-#: compose.c:252 ++#: compose.c:250 + msgid "Available" + msgstr "" + + #. L10N: Autocrypt recommendation flag: yes. + #. * This is displayed when Autocrypt would normally enable encryption + #. * automatically. +-#: compose.c:256 ++#: compose.c:254 + msgid "Yes" + msgstr "Tak" + +@@ -977,7 +1114,7 @@ msgstr "Tak" + #. (c)lear sets cleartext. + #. (a)utomatic defers to the recommendation. + #. +-#: compose.c:338 ++#: compose.c:337 + msgid "Autocrypt: (e)ncrypt, (c)lear, (a)utomatic?" + msgstr "" + +@@ -985,51 +1122,51 @@ msgstr "" + #. The letter corresponding to the compose menu autocrypt prompt + #. (e)ncrypt, (c)lear, (a)utomatic + #. +-#: compose.c:346 ++#: compose.c:345 + msgid "eca" + msgstr "" + +-#: compose.c:383 ++#: compose.c:382 + msgid "Not supported" + msgstr "Zaznaczanie nie jest obsługiwane" + +-#: compose.c:390 ++#: compose.c:389 + msgid "Sign, Encrypt" + msgstr "Podpisz i zaszyfruj" + +-#: compose.c:395 compose.c:468 ++#: compose.c:394 compose.c:467 + msgid "Encrypt" + msgstr "Zaszyfruj" + +-#: compose.c:400 ++#: compose.c:399 + msgid "Sign" + msgstr "Podpisz" + +-#: compose.c:406 ++#: compose.c:405 + msgid "None" + msgstr "Żaden" + +-#: compose.c:415 ++#: compose.c:414 + msgid " (inline PGP)" + msgstr " (PGP w treści)" + +-#: compose.c:417 ++#: compose.c:416 + msgid " (PGP/MIME)" + msgstr "" + +-#: compose.c:420 ++#: compose.c:419 + msgid " (S/MIME)" + msgstr " (S/MIME)" + +-#: compose.c:424 ++#: compose.c:423 + msgid " (OppEnc mode)" + msgstr " (tryb OppEnc)" + +-#: compose.c:436 compose.c:445 ++#: compose.c:435 compose.c:444 + msgid "" + msgstr "" + +-#: compose.c:452 ++#: compose.c:451 + msgid "Encrypt with: " + msgstr "Zaszyfruj używając: " + +@@ -1038,11 +1175,11 @@ msgstr "Zaszyfruj używając: " + #. Displays the output of the recommendation engine + #. (Off, No, Discouraged, Available, Yes) + #. +-#: compose.c:483 ++#: compose.c:482 + msgid "Recommendation: " + msgstr "" + +-#: compose.c:547 ++#: compose.c:546 + msgid "" + msgstr "" + +@@ -1053,7 +1190,7 @@ msgstr "" + #. The filename is located last to avoid a long path hiding the + #. error message. + #. +-#: compose.c:601 ++#: compose.c:600 + #, c-format + msgid "Attachment #%d no longer exists: %s" + msgstr "Załącznik #%d już nie istnieje: %s" +@@ -1065,233 +1202,352 @@ msgstr "Załącznik #%d już nie istnieje: %s" + #. The filename is located last to avoid a long path hiding the + #. prompt question. + #. +-#: compose.c:621 ++#: compose.c:620 + #, c-format + msgid "Attachment #%d modified. Update encoding for %s?" + msgstr "Załącznik #%d został zmodyfikowany. Zaktualizować kodowanie dla %s?" + +-#: compose.c:716 ++#: compose.c:715 + msgid "-- Attachments" + msgstr "-- Załączniki" + +-#: compose.c:770 ++#: compose.c:769 + msgid "You may not delete the only attachment" + msgstr "Nie możesz usunąć jedynego załącznika" + +-#: compose.c:1296 edit.c:538 send.c:2462 ++#: compose.c:1356 edit.c:536 send.c:2473 + #, c-format + msgid "Bad IDN in '%s': '%s'" + msgstr "Błędny IDN w '%s': '%s'" + +-#: compose.c:1347 ++#: compose.c:1407 + msgid "Attachment is already at top" + msgstr "Załącznik jest już na samej górze" + +-#: compose.c:1352 compose.c:1368 ++#: compose.c:1412 compose.c:1428 + msgid "The fundamental part can't be moved" + msgstr "Fundamentalna część nie może być przeniesiona" + +-#: compose.c:1363 ++#: compose.c:1423 + msgid "Attachment is already at bottom" + msgstr "Załącznik jest już na samym dole" + +-#: compose.c:1381 ++#: compose.c:1441 + msgid "Grouping 'alternatives' requires at least 2 tagged messages" + msgstr "" + +-#: compose.c:1462 ++#: compose.c:1522 + msgid "Grouping 'multilingual' requires at least 2 tagged messages" + msgstr "" + +-#: compose.c:1475 ++#: compose.c:1535 + msgid "Not all parts have 'Content-Language' set, continue?" + msgstr "" + +-#: compose.c:1477 ++#: compose.c:1537 + msgid "Not sending this message" + msgstr "Błąd podczas wysyłania listu" + +-#: compose.c:1571 ++#: compose.c:1631 + msgid "Attaching selected file..." + msgid_plural "Attaching selected files..." + msgstr[0] "Dołączanie wybranego listu..." + msgstr[1] "Dołączanie wybranych listów..." + msgstr[2] "Dołączanie wybranych listów..." + +-#: compose.c:1585 ++#: compose.c:1645 + #, c-format + msgid "Unable to attach %s" + msgstr "Nie można dołączyć %s" + +-#: compose.c:1606 ++#: compose.c:1666 + msgid "Open mailbox to attach message from" + msgstr "Otwórz skrzynkę w celu dołączenia listu" + +-#: compose.c:1616 ++#: compose.c:1676 + msgid "Open newsgroup to attach message from" + msgstr "Otwórz grupę dyskusyjną w celu dołączenia listu" + +-#: compose.c:1667 ++#: compose.c:1730 + #, c-format + msgid "Unable to open mailbox %s" + msgstr "Nie można otworzyć skrzynki pocztowej %s" + +-#: compose.c:1676 ++#: compose.c:1739 + msgid "No messages in that folder" + msgstr "Brak listów w tej skrzynce" + +-#: compose.c:1686 ++#: compose.c:1749 + msgid "Tag the messages you want to attach" + msgstr "Zaznacz listy do dołączenia" + +-#: compose.c:1715 ++#: compose.c:1785 + msgid "Unable to attach" + msgstr "Nie można dołączyć" + +-#: compose.c:1752 ++#: compose.c:1822 + msgid "Recoding only affects text attachments" + msgstr "Tylko tekstowe załączniki można przekodować" + +-#: compose.c:1757 ++#: compose.c:1827 + msgid "The current attachment won't be converted" + msgstr "Bieżący załacznik nie zostanie przekonwertowany" + +-#: compose.c:1759 ++#: compose.c:1829 + msgid "The current attachment will be converted" + msgstr "Bieżący załacznik zostanie przekonwertowany" + +-#: compose.c:1831 ++#: compose.c:1901 + msgid "Empty 'Content-Language'" + msgstr "" + +-#: compose.c:1849 ++#: compose.c:1920 + msgid "Invalid encoding" + msgstr "Błędne kodowanie" + +-#: compose.c:1871 ++#: compose.c:1942 + msgid "Save a copy of this message?" + msgstr "Zapisać kopię tego listu?" + +-#: compose.c:1924 ++#: compose.c:1995 + msgid "Send attachment with name: " + msgstr "Wyślij załącznik o nazwie: " + +-#: compose.c:1939 ++#: compose.c:2010 + msgid "Rename to: " + msgstr "Zmień nazwę na: " + + #. L10N: "stat" is a system call. Do "man 2 stat" for more information. +-#: compose.c:1946 editmsg.c:102 editmsg.c:138 sendlib.c:1050 ++#: compose.c:2017 editmsg.c:102 editmsg.c:138 sendlib.c:1049 + #, c-format + msgid "Can't stat %s: %s" + msgstr "Nie można ustalić stanu (stat) %s: %s" + +-#: compose.c:1966 ++#: compose.c:2037 + msgid "New file: " + msgstr "Nowy plik: " + +-#: compose.c:1984 ++#: compose.c:2055 + msgid "Content-Type is of the form base/sub" + msgstr "Typ \"Content-Type\" musi być w postaci podstawowy/pośledni" + +-#: compose.c:1991 ++#: compose.c:2062 + #, c-format + msgid "Unknown Content-Type %s" + msgstr "Nieznany typ \"Content-Type\" %s" + +-#: compose.c:1999 ++#: compose.c:2070 + #, c-format + msgid "Can't create file %s" + msgstr "Nie można utworzyć %s" + +-#: compose.c:2008 ++#: compose.c:2079 + msgid "What we have here is a failure to make an attachment" + msgstr "Mamy tu błąd tworzenia załącznika" + +-#: compose.c:2073 ++#: compose.c:2144 + msgid "Save (postpone) draft message?" + msgstr "Zapisać (odłożyć) szkic wiadomośći?" + +-#: compose.c:2133 ++#: compose.c:2204 + msgid "Write message to mailbox" + msgstr "Zapisz list do skrzynki" + +-#: compose.c:2136 ++#: compose.c:2207 + #, c-format + msgid "Writing message to %s ..." + msgstr "Zapisywanie listu do %s ..." + +-#: compose.c:2143 ++#: compose.c:2214 + msgid "Message written" + msgstr "List został zapisany" + +-#: compose.c:2154 ++#: compose.c:2225 + msgid "No PGP backend configured" + msgstr "Nie skonfigurowano beckendu PGP" + +-#: compose.c:2161 compose.c:2225 ++#: compose.c:2232 compose.c:2296 + msgid "S/MIME already selected. Clear and continue?" + msgstr "Wybrano już S/MIME. Anulować wybór S/MIME i kontynuować?" + +-#: compose.c:2186 ++#: compose.c:2257 + msgid "No S/MIME backend configured" + msgstr "Nie skonfigurowano beckendu S/MIME" + +-#: compose.c:2194 ++#: compose.c:2265 + msgid "PGP already selected. Clear and continue?" + msgstr "Wybrano już PGP. Anulować wybór PGP i kontynuować?" + +-#: compress.c:355 compress.c:499 ++#: compress/compress.c:354 compress/compress.c:498 + #, c-format + msgid "Can't append without an append-hook or close-hook : %s" + msgstr "Nie można dołączyć bez ustawienia append-hook lub close-hook : %s" + +-#: compress.c:444 compress.c:511 compress.c:590 compress.c:628 mbox/mbox.c:1208 ++#: compress/compress.c:443 compress/compress.c:510 compress/compress.c:589 ++#: compress/compress.c:627 mbox/mbox.c:1208 + msgid "Unable to lock mailbox" + msgstr "Nie można zablokować skrzynki pocztowej" + +-#: compress.c:448 compress.c:518 compress.c:594 ++#: compress/compress.c:447 compress/compress.c:517 compress/compress.c:593 + #, c-format + msgid "Decompressing %s" + msgstr "Rozpakowuje %s" + +-#: compress.c:457 ++#: compress/compress.c:456 + msgid "Can't identify the contents of the compressed file" + msgstr "Nie rozpoznano zawartości skompresowanego pliku" + +-#: compress.c:464 compress.c:539 ++#: compress/compress.c:463 compress/compress.c:538 + #, c-format + msgid "Can't find mailbox ops for mailbox type %d" + msgstr "" + +-#: compress.c:521 ++#: compress/compress.c:520 + #, c-format + msgid "Compress command failed: %s" + msgstr "Kompresja nie powiodła się: %s" + +-#: compress.c:532 ++#: compress/compress.c:531 + msgid "Unsupported mailbox type for appending" + msgstr "Ten typ skrzynki pocztowej nie obsługuje dołączania" + +-#: compress.c:618 ++#: compress/compress.c:617 + msgid "Can't sync a compressed file without a close-hook" + msgstr "Nie można zsynchronizować skompresowanego pliku bez ustawienia close-hook" + +-#: compress.c:640 compress.c:692 ++#: compress/compress.c:639 compress/compress.c:691 + #, c-format + msgid "Compressing %s" + msgstr "Kompresja %s" + +-#: compress.c:687 ++#: compress/compress.c:686 + #, c-format + msgid "Compressed-appending to %s..." + msgstr "Dołączanie po kompresji do %s..." + +-#: compress.c:699 editmsg.c:247 ++#: compress/compress.c:698 editmsg.c:247 + #, c-format + msgid "Error. Preserving temporary file: %s" + msgstr "Błąd. Zachowano plik tymczasowy: %s" + ++#: config/bool.c:70 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %s" ++msgstr "Błędna data względna: %s" ++ ++#: config/bool.c:131 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %ld" ++msgstr "Błędna data względna: %s" ++ ++#: config/enum.c:62 ++#, fuzzy, c-format ++msgid "Invalid enum value: %s" ++msgstr "%s: błędna liczba: %s" ++ ++#: config/enum.c:149 ++#, fuzzy, c-format ++msgid "Invalid enum value: %ld" ++msgstr "Niewłaściwa wartość opcji %s: %ld" ++ ++#: config/long.c:50 ++#, fuzzy, c-format ++msgid "Invalid long: %s" ++msgstr "Niewłaściwy miesiąc: %s" ++ ++#: config/long.c:56 config/long.c:114 config/number.c:68 config/number.c:133 ++#, fuzzy, c-format ++msgid "Option %s may not be negative" ++msgstr "Funkcja %s nie może zostać ustawiona w trybie załączania" ++ ++#: config/number.c:49 config/sort.c:145 config/string.c:75 config/string.c:159 ++#, c-format ++msgid "Option %s may not be empty" ++msgstr "" ++ ++#: config/number.c:56 ++#, fuzzy, c-format ++msgid "Invalid number: %s" ++msgstr "%s: błędna liczba: %s" ++ ++#: config/number.c:62 ++#, c-format ++msgid "Number is too big: %s" ++msgstr "" ++ ++#: config/number.c:127 ++#, fuzzy, c-format ++msgid "Invalid number: %ld" ++msgstr "%s: błędna liczba: %s" ++ ++#: config/quad.c:69 ++#, fuzzy, c-format ++msgid "Invalid quad value: %s" ++msgstr "Błędna data względna: %s" ++ ++#: config/quad.c:133 ++#, fuzzy, c-format ++msgid "Invalid quad value: %ld" ++msgstr "Niewłaściwa wartość opcji %s: %ld" ++ ++#: config/set.c:102 ++#, c-format ++msgid "No such variable: %s" ++msgstr "" ++ ++#: config/set.c:134 config/set.c:821 ++#, fuzzy, c-format ++msgid "Variable '%s' has an invalid type %d" ++msgstr "Błąd: wartość '%s' jest błędna dla -d" ++ ++#: config/set.c:399 config/set.c:463 config/set.c:528 config/set.c:601 ++#: config/set.c:671 config/set.c:744 ++#, fuzzy, c-format ++msgid "Unknown variable '%s'" ++msgstr "%s: nieznana zmienna" ++ ++#: config/sort.c:192 ++#, fuzzy, c-format ++msgid "Invalid sort name: %s" ++msgstr "Błędna data względna: %s" ++ ++#: config/sort.c:322 ++#, fuzzy, c-format ++msgid "Invalid sort type: %ld" ++msgstr "Błędna data względna: %s" ++ ++#. L10N: Example: Username at myhost.com ++#: conn/connaccount.c:61 ++#, c-format ++msgid "Username at %s: " ++msgstr "Nazwa konta na %s: " ++ ++#: conn/connaccount.c:117 ++#, c-format ++msgid "Password for %s@%s: " ++msgstr "Hasło dla %s@%s: " ++ ++#. L10N: You will see this error message if (1) you have "oauthbearer" in ++#. one of your $*_authenticators and (2) you do not have the corresponding ++#. $*_oauth_refresh_command defined. So the message does not mean "None of ++#. your $*_oauth_refresh_command's are defined." ++#: conn/connaccount.c:165 ++msgid "No OAUTH refresh command defined" ++msgstr "Brak zdefiniowanej komendy odświeżania OAUTH" ++ ++#: conn/connaccount.c:173 ++msgid "Unable to run refresh command" ++msgstr "" ++ ++#: conn/connaccount.c:184 ++msgid "Command returned empty string" ++msgstr "" ++ ++#: conn/connaccount.c:191 ++#, c-format ++msgid "OAUTH token is too big: %ld" ++msgstr "" ++ + #: conn/conn_raw.c:160 conn/conn_raw.c:218 + #, c-format + msgid "Looking up %s..." +@@ -1312,7 +1568,7 @@ msgstr "Łączenie z %s..." + msgid "Could not connect to %s (%s)" + msgstr "Połączenie z %s (%s) nie zostało ustanowione" + +-#: conn/conn_raw.c:260 conn/ssl.c:1230 curs_lib.c:568 mutt_logging.c:149 ++#: conn/conn_raw.c:260 conn/ssl.c:1245 gui/curs_lib.c:569 mutt_logging.c:147 + msgid "unknown error" + msgstr "nieznany błąd" + +@@ -1326,23 +1582,23 @@ msgstr "Błąd komunikacji z %s (%s)" + msgid "Connection to %s has been aborted" + msgstr "Połączenie z %s zostało odrzucone" + +-#: conn/sasl.c:565 ++#: conn/sasl.c:547 + msgid "Unknown SASL profile" + msgstr "SASL: błędny profil" + +-#: conn/sasl.c:598 ++#: conn/sasl.c:580 + msgid "Error allocating SASL connection" + msgstr "SASL: błąd ustanawiania połączenia" + +-#: conn/sasl.c:608 ++#: conn/sasl.c:590 + msgid "Error setting SASL security properties" + msgstr "SASL: błąd konfigurowania parametrów zabezpieczeń" + +-#: conn/sasl.c:619 ++#: conn/sasl.c:601 + msgid "Error setting SASL external security strength" + msgstr "SASL: błąd konfigurowania SSF hosta zdalnego" + +-#: conn/sasl.c:629 ++#: conn/sasl.c:611 + msgid "Error setting SASL external user name" + msgstr "SASL: błąd konfigurowania nazwy użytkownika hosta zdalnego" + +@@ -1355,132 +1611,108 @@ msgstr "Polecenie 'preconnect' nie powiodło się" + msgid "Connection to %s closed" + msgstr "Połączenie z %s zostało zakończone" + +-#: conn/ssl.c:237 ++#: conn/ssl.c:222 + #, c-format + msgid "Filling entropy pool: %s..." + msgstr "Wypełnianie zbiornika entropii: %s..." + +-#: conn/ssl.c:243 ++#: conn/ssl.c:228 + #, c-format + msgid "%s has insecure permissions" + msgstr "Prawa dostępu do %s mogą powodować problemy z bezpieczeństwem" + +-#: conn/ssl.c:385 ++#: conn/ssl.c:369 + msgid "SSL disabled due to the lack of entropy" + msgstr "Protokół SSL nie może zostać użyty ze względu na brak entropii" + +-#: conn/ssl.c:402 ++#: conn/ssl.c:386 + msgid "Unknown" + msgstr "Nieznany" + +-#: conn/ssl.c:421 conn/ssl_gnutls.c:186 ++#: conn/ssl.c:405 conn/ssl_gnutls.c:188 + #, c-format + msgid "[unable to calculate]" + msgstr "[niemożliwe do wyznaczenia]" + +-#: conn/ssl.c:446 ++#: conn/ssl.c:430 + msgid "[invalid date]" + msgstr "[błędna data]" + +-#: conn/ssl.c:506 ++#: conn/ssl.c:490 + msgid "Server certificate is not yet valid" + msgstr "Certyfikat serwera nie uzyskał jeszcze ważności" + +-#: conn/ssl.c:516 ++#: conn/ssl.c:500 + msgid "Server certificate has expired" + msgstr "Certyfikat serwera utracił ważność" + +-#: conn/ssl.c:605 ++#: conn/ssl.c:589 + msgid "Failed to find enough entropy on your system" + msgstr "Zgromadzenie odpowiedniej ilości entropii nie powiodło się" + +-#: conn/ssl.c:799 ++#: conn/ssl.c:783 + msgid "can't get certificate subject" + msgstr "nie można pobrać tematu certyfikatu" + +-#: conn/ssl.c:808 conn/ssl.c:816 ++#: conn/ssl.c:792 conn/ssl.c:800 + msgid "can't get certificate common name" + msgstr "nie można pobrać nazwy certyfikatu" + +-#: conn/ssl.c:830 ++#: conn/ssl.c:814 + #, c-format + msgid "certificate owner does not match hostname %s" + msgstr "właściciel certyfikatu nie odpowiada nazwie hosta %s" + +-#: conn/ssl.c:904 conn/ssl_gnutls.c:539 ++#: conn/ssl.c:917 conn/ssl_gnutls.c:570 + msgid "This certificate belongs to:" + msgstr "Ten certyfikat należy do:" + +-#: conn/ssl.c:913 conn/ssl_gnutls.c:593 ++#: conn/ssl.c:926 conn/ssl_gnutls.c:624 + msgid "This certificate was issued by:" + msgstr "Ten certyfikat został wydany przez:" + +-#: conn/ssl.c:922 conn/ssl_gnutls.c:604 ++#: conn/ssl.c:935 conn/ssl_gnutls.c:635 + msgid "This certificate is valid" + msgstr "Ten certyfikat jest ważny" + +-#: conn/ssl.c:923 conn/ssl_gnutls.c:608 ++#: conn/ssl.c:936 conn/ssl_gnutls.c:639 + #, c-format + msgid " from %s" + msgstr " od %s" + +-#: conn/ssl.c:925 conn/ssl_gnutls.c:612 ++#: conn/ssl.c:938 conn/ssl_gnutls.c:643 + #, c-format + msgid " to %s" + msgstr " do %s" + +-#: conn/ssl.c:931 conn/ssl_gnutls.c:617 ++#: conn/ssl.c:944 conn/ssl_gnutls.c:648 + #, c-format + msgid "SHA1 Fingerprint: %s" + msgstr "Odcisk SHA1: %s" + +-#: conn/ssl.c:937 conn/ssl.c:940 conn/ssl_gnutls.c:623 conn/ssl_gnutls.c:625 ++#: conn/ssl.c:950 conn/ssl.c:953 conn/ssl_gnutls.c:654 conn/ssl_gnutls.c:656 + msgid "SHA256 Fingerprint: " + msgstr "Odcisk SHA256: %s" + +-#: conn/ssl.c:944 conn/ssl_gnutls.c:664 ++#: conn/ssl.c:957 conn/ssl_gnutls.c:695 + #, c-format + msgid "SSL Certificate check (certificate %zu of %zu in chain)" + msgstr "Sprawdzanie certyfikatu SSL (certyfikat %zu z %zu w łańcuchu)" + +-#. L10N: These four letters correspond to the choices in the next four strings: +-#. (r)eject, accept (o)nce, (a)ccept always, (s)kip. +-#. These prompts are the interactive certificate confirmation prompts for +-#. an OpenSSL connection. +-#: conn/ssl.c:964 +-msgid "roas" +-msgstr "orap" +- +-#: conn/ssl.c:968 +-msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" +-msgstr "(o)drzuć, zaakceptuj (r)az, (a)kceptuj zawsze, (p)omiń" +- +-#: conn/ssl.c:970 conn/ssl_gnutls.c:671 +-msgid "(r)eject, accept (o)nce, (a)ccept always" +-msgstr "(o)drzuć, zaakceptuj (r)az, (a)kceptuj zawsze" +- +-#: conn/ssl.c:975 +-msgid "(r)eject, accept (o)nce, (s)kip" +-msgstr "(o)drzuć, zaakceptuj (r)az, (p)omiń" +- +-#: conn/ssl.c:977 conn/ssl_gnutls.c:680 +-msgid "(r)eject, accept (o)nce" +-msgstr "(o)drzuć, zaakceptuj (r)az" +- +-#: conn/ssl.c:981 conn/ssl_gnutls.c:689 ncrypt/crypt_gpgme.c:4729 +-#: ncrypt/pgpkey.c:664 ncrypt/smime.c:549 ++#: conn/ssl.c:994 conn/ssl_gnutls.c:720 ncrypt/crypt_gpgme.c:4777 ++#: ncrypt/pgpkey.c:667 ncrypt/smime.c:551 + msgid "Exit " + msgstr "Wyjście " + +-#: conn/ssl.c:1016 conn/ssl_gnutls.c:742 ++#: conn/ssl.c:1029 conn/ssl_gnutls.c:773 + msgid "Warning: Couldn't save certificate" + msgstr "Ostrzeżenie: Nie można zapisać certyfikatu" + +-#: conn/ssl.c:1020 conn/ssl_gnutls.c:746 ++#: conn/ssl.c:1033 conn/ssl_gnutls.c:777 + msgid "Certificate saved" + msgstr "Certyfikat został zapisany" + +-#: conn/ssl.c:1132 ++#: conn/ssl.c:1147 + #, c-format + msgid "Certificate host check failed: %s" + msgstr "Sprawdzenie hosta certyfikatu nie powiodło się: %s" +@@ -1488,15 +1720,15 @@ msgstr "Sprawdzenie hosta certyfikatu nie powiodło się: %s" + #. L10N: This is a warning when trying to set the host name for + #. * TLS Server Name Indication (SNI). This allows the server to present + #. * the correct certificate if it supports multiple hosts. +-#: conn/ssl.c:1213 conn/ssl_gnutls.c:1072 ++#: conn/ssl.c:1228 conn/ssl_gnutls.c:1105 + msgid "Warning: unable to set TLS SNI host name" + msgstr "Ostrzeżenie: nieudane ustawienie TLS SNI host name" + +-#: conn/ssl.c:1224 ++#: conn/ssl.c:1239 + msgid "I/O error" + msgstr "Błąd wejścia/wyjścia" + +-#: conn/ssl.c:1233 ++#: conn/ssl.c:1248 + #, c-format + msgid "SSL failed: %s" + msgstr "SSL nie powiodło się: %s" +@@ -1504,89 +1736,73 @@ msgstr "SSL nie powiodło się: %s" + #. L10N: an SSL context is a data structure returned by the OpenSSL + #. function SSL_CTX_new(). In this case it returned NULL: an + #. error condition. +-#: conn/ssl.c:1269 ++#: conn/ssl.c:1284 + msgid "Unable to create SSL context" + msgstr "Nie można utworzyć kontekstu SSL" + +-#: conn/ssl.c:1322 ++#: conn/ssl.c:1337 + msgid "Warning: error enabling ssl_verify_partial_chains" + msgstr "Ostrzeżenie: błąd uruchomienia ssl_verify_partial_chains" + +-#: conn/ssl_gnutls.c:150 conn/ssl_gnutls.c:784 conn/ssl_gnutls.c:793 ++#: conn/ssl_gnutls.c:152 conn/ssl_gnutls.c:817 conn/ssl_gnutls.c:826 + msgid "Unable to get certificate from peer" + msgstr "Nie można pobrać certyfikatu z docelowego hosta" + +-#: conn/ssl_gnutls.c:155 ++#: conn/ssl_gnutls.c:157 + #, c-format + msgid "Certificate verification error (%s)" + msgstr "Błąd weryfikacji certyfikatu (%s)" + +-#: conn/ssl_gnutls.c:162 ++#: conn/ssl_gnutls.c:164 + msgid "Certificate is not X.509" + msgstr "To nie jest certyfikat X.509" + +-#: conn/ssl_gnutls.c:349 conn/ssl_gnutls.c:483 ++#: conn/ssl_gnutls.c:351 conn/ssl_gnutls.c:485 + msgid "Error initialising gnutls certificate data" + msgstr "Błąd inicjalizacji gnutls" + +-#: conn/ssl_gnutls.c:355 conn/ssl_gnutls.c:489 ++#: conn/ssl_gnutls.c:357 conn/ssl_gnutls.c:491 + msgid "Error processing certificate data" + msgstr "Błąd przetwarzana certyfikatu" + +-#: conn/ssl_gnutls.c:635 ++#: conn/ssl_gnutls.c:666 + msgid "WARNING: Server certificate is not yet valid" + msgstr "Ostrzeżenie: certyfikat serwera jeszcze nie uzyskał ważności" + +-#: conn/ssl_gnutls.c:640 ++#: conn/ssl_gnutls.c:671 + msgid "WARNING: Server certificate has expired" + msgstr "Ostrzeżenie: certyfikat serwera wygasł" + +-#: conn/ssl_gnutls.c:645 ++#: conn/ssl_gnutls.c:676 + msgid "WARNING: Server certificate has been revoked" + msgstr "Ostrzeżenie: certyfikat serwera został odwołany" + +-#: conn/ssl_gnutls.c:650 ++#: conn/ssl_gnutls.c:681 + msgid "WARNING: Server hostname does not match certificate" + msgstr "Ostrzeżenie: nazwa (hostname) serwera nie odpowiada certyfikatowi" + +-#: conn/ssl_gnutls.c:655 ++#: conn/ssl_gnutls.c:686 + msgid "WARNING: Signer of server certificate is not a CA" + msgstr "Ostrzeżenie: certyfikat nie został podpisany przez CA" + +-#: conn/ssl_gnutls.c:659 conn/ssl_gnutls.c:1004 ++#: conn/ssl_gnutls.c:690 conn/ssl_gnutls.c:1037 + msgid "Warning: Server certificate was signed using an insecure algorithm" + msgstr "Ostrzeżenie: certyfikat serwera został podpisany przy pomocy niezabezpieczonego algorytmu" + +-#. L10N: These three letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce, (a)ccept always. +-#. This is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:676 +-msgid "roa" +-msgstr "ora" +- +-#. L10N: These two letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce. +-#. These is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:685 +-msgid "ro" +-msgstr "or" +- +-#: conn/ssl_gnutls.c:950 conn/ssl_gnutls.c:992 ++#: conn/ssl_gnutls.c:983 conn/ssl_gnutls.c:1025 + msgid "All available protocols for TLS/SSL connection disabled" + msgstr "Wszystkie dostępne protokoły połączenia TLS/SSL zostały zablokowane" + +-#: conn/ssl_gnutls.c:999 ++#: conn/ssl_gnutls.c:1032 + msgid "Explicit ciphersuite selection via $ssl_ciphers not supported" + msgstr "" + +-#: conn/ssl_gnutls.c:1120 ++#: conn/ssl_gnutls.c:1153 + #, c-format + msgid "SSL/TLS connection using %s (%s/%s/%s)" + msgstr "Połączenie SSL/TLS używając %s (%s/%s/%s)" + +-#: conn/ssl_gnutls.c:1175 conn/ssl_gnutls.c:1204 ++#: conn/ssl_gnutls.c:1210 conn/ssl_gnutls.c:1239 + msgid "Error: no TLS socket open" + msgstr "Błąd: brak otwartego gniazdka TLS" + +@@ -1605,7 +1821,7 @@ msgstr "Zestawianie tunelu: błąd komunikacji z %s: %s" + msgid "Tunnel to %s returned error %d (%s)" + msgstr "Zestawianie tunelu: %s zwrócił błąd %d (%s)" + +-#: copy.c:660 ++#: copy.c:662 + #, c-format + msgid "The length calculation was wrong by %ld byte" + msgid_plural "The length calculation was wrong by %ld bytes" +@@ -1613,31 +1829,11 @@ msgstr[0] "" + msgstr[1] "" + msgstr[2] "" + +-#: copy.c:744 ++#: copy.c:746 + msgid "No decryption engine available for message" + msgstr "" + +-#: curs_lib.c:378 +-msgid "yes" +-msgstr "tak" +- +-#: curs_lib.c:379 +-msgid "no" +-msgstr "nie" +- +-#: curs_lib.c:518 +-msgid "Exit NeoMutt?" +-msgstr "Wyjść z NeoMutta?" +- +-#: curs_lib.c:597 +-msgid "Press any key to continue..." +-msgstr "Naciśnij dowolny klawisz by kontynuować..." +- +-#: curs_lib.c:705 +-msgid " ('?' for list): " +-msgstr " (przyciśnięcie '?' wyświetla listę): " +- +-#: edit.c:64 ++#: edit.c:62 + msgid "" + "~~ insert a line beginning with a single ~\n" + "~b users add users to the Bcc: field\n" +@@ -1659,7 +1855,7 @@ msgstr "" + "~M listy to samo co ~m ale dołącz też nagłówki\n" + "~p drukuj list\n" + +-#: edit.c:75 ++#: edit.c:73 + msgid "" + "~q write file and quit editor\n" + "~r file read a file into the editor\n" +@@ -1681,20 +1877,20 @@ msgstr "" + "~? ten list\n" + ". stojąc sama w linii kończy wpisywanie\n" + +-#: edit.c:261 ++#: edit.c:259 + #, c-format + msgid "%d: invalid message number.\n" + msgstr "%d: błędny numer listu.\n" + +-#: edit.c:416 ++#: edit.c:414 + msgid "(End message with a . on a line by itself)\n" + msgstr "(Zakończ list . (kropką) w osobnej linii)\n" + +-#: edit.c:474 ++#: edit.c:472 + msgid "No mailbox.\n" + msgstr "Brak skrzynki.\n" + +-#: edit.c:478 ++#: edit.c:476 + msgid "Message contains:\n" + msgstr "List zawiera:\n" + +@@ -1702,19 +1898,19 @@ msgstr "List zawiera:\n" + #. not IN the middle of the content. + #. So it doesn't mean "(message will continue)" + #. but means "(press any key to continue using neomutt)". +-#: edit.c:486 edit.c:547 ++#: edit.c:484 edit.c:545 + msgid "(continue)\n" + msgstr "(kontynuuj)\n" + +-#: edit.c:499 ++#: edit.c:497 + msgid "missing filename.\n" + msgstr "brak nazwy pliku.\n" + +-#: edit.c:519 ++#: edit.c:517 + msgid "No lines in message.\n" + msgstr "Pusty list.\n" + +-#: edit.c:558 ++#: edit.c:556 + #, c-format + msgid "%s: unknown editor command (~? for help)\n" + msgstr "%s: nieznane polecenie edytora (~? wyświetla pomoc)\n" +@@ -1761,19 +1957,73 @@ msgstr "Nie można dopisać do skrzynki: %s" + msgid "multipart message has no boundary parameter" + msgstr "wieloczęściowy list nie posiada wpisu ograniczającego" + +-#: flags.c:382 index.c:2561 index.c:2604 index.c:3134 index.c:3171 ++#: flags.c:381 index.c:2587 index.c:2630 index.c:3160 index.c:3197 + #: mutt_thread.c:1091 mutt_thread.c:1158 mutt_thread.c:1246 + msgid "Threading is not enabled" + msgstr "Wątkowanie nie zostało włączone" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Set flag" + msgstr "Ustaw flagę" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Clear flag" + msgstr "Wyczyść flagę" + ++#: gui/color.c:633 gui/color.c:644 ++#, c-format ++msgid "%s: color not supported by term" ++msgstr "%s: kolor nie jest obsługiwany przez Twój terminal" ++ ++#: gui/color.c:652 ++#, c-format ++msgid "%s: no such color" ++msgstr "%s: nie ma takiego koloru" ++ ++#: gui/color.c:717 gui/color.c:740 gui/color.c:751 gui/color.c:842 ++#, c-format ++msgid "%s: no such object" ++msgstr "%s: nie ma takiego obiektu" ++ ++#: gui/color.c:1142 ++#, c-format ++msgid "%s: no such attribute" ++msgstr "%s: nie ma takiego atrybutu" ++ ++#: gui/color.c:1244 ++msgid "default colors not supported" ++msgstr "domyślnie ustalone kolory nie są obsługiwane" ++ ++#: gui/color.c:1282 ++#, c-format ++msgid "Maximum quoting level is %d" ++msgstr "" ++ ++#: gui/color.c:1319 ++#, c-format ++msgid "%s: invalid number: %s" ++msgstr "%s: błędna liczba: %s" ++ ++#: gui/curs_lib.c:379 ++msgid "yes" ++msgstr "tak" ++ ++#: gui/curs_lib.c:380 ++msgid "no" ++msgstr "nie" ++ ++#: gui/curs_lib.c:519 ++msgid "Exit NeoMutt?" ++msgstr "Wyjść z NeoMutta?" ++ ++#: gui/curs_lib.c:598 ++msgid "Press any key to continue..." ++msgstr "Naciśnij dowolny klawisz by kontynuować..." ++ ++#: gui/curs_lib.c:749 ++msgid " ('?' for list): " ++msgstr " (przyciśnięcie '?' wyświetla listę): " ++ + #: handler.c:102 + #, c-format + msgid "[-- Type: %s/%s%s%s, Encoding: %s, Size: %s --]\n" +@@ -1794,23 +2044,23 @@ msgstr "[-- Podgląd za pomocą %s --]\n" + msgid "Invoking autoview command: %s" + msgstr "Wywoływanie polecenia podglądu: %s" + +-#: handler.c:591 mutt_attach.c:527 mutt_attach.c:714 mutt_attach.c:745 +-#: mutt_attach.c:1087 mutt_attach.c:1152 ncrypt/pgpkey.c:723 +-#: ncrypt/pgpkey.c:920 ++#: handler.c:590 mutt_attach.c:555 mutt_attach.c:747 mutt_attach.c:778 ++#: mutt_attach.c:1120 mutt_attach.c:1185 ncrypt/pgpkey.c:756 ++#: ncrypt/pgpkey.c:955 + msgid "Can't create filter" + msgstr "Nie można utworzyć filtra" + +-#: handler.c:595 ++#: handler.c:594 + #, c-format + msgid "[-- Can't run %s. --]\n" + msgstr "[-- Nie można uruchomić %s. --]\n" + +-#: handler.c:614 handler.c:635 ++#: handler.c:613 handler.c:634 + #, c-format + msgid "[-- Autoview stderr of %s --]\n" + msgstr "[-- Komunikaty błędów %s --]\n" + +-#: handler.c:764 ++#: handler.c:763 + msgid "[-- Error: message/external-body has no access-type parameter --]\n" + msgstr "[-- Błąd: message/external-body nie ma ustawionego rodzaju dostępu --]\n" + +@@ -1829,7 +2079,7 @@ msgstr "[-- Błąd: message/external-body nie ma ustawionego rodzaju dostępu -- + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:807 ++#: handler.c:806 + #, c-format + msgid "" + "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" +@@ -1861,7 +2111,7 @@ msgstr[2] "" + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:830 ++#: handler.c:829 + #, c-format + msgid "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" + msgid_plural "[-- This %s/%s attachment (size %s bytes) has been deleted --]\n" +@@ -1876,7 +2126,7 @@ msgstr[2] "[-- Te załączniki typu %s/%s (o wielkości %s bajtów) zostały usu + #. + #. Caution: Argument three %3$ is also defined but should not be used + #. in this translation! +-#: handler.c:848 ++#: handler.c:847 + msgid "" + "[-- This %s/%s attachment has been deleted --]\n" + "[-- on %4$s --]\n" +@@ -1887,12 +2137,12 @@ msgstr "" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The first "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:856 ++#: handler.c:855 + #, c-format + msgid "[-- This %s/%s attachment has been deleted --]\n" + msgstr "[-- Ten załącznik typu %s/%s został usunięty --]\n" + +-#: handler.c:866 ++#: handler.c:865 + #, c-format + msgid "[-- name: %s --]\n" + msgstr "[-- nazwa: %s --]\n" +@@ -1900,7 +2150,7 @@ msgstr "[-- nazwa: %s --]\n" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:884 ++#: handler.c:883 + #, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -1916,7 +2166,7 @@ msgstr "" + #. The "%s/%s" is a MIME type, e.g. "text/plain". The %s after + #. access-type is an access-type as defined by the MIME RFCs, e.g. "FTP", + #. "LOCAL-FILE", "MAIL-SERVER". +-#: handler.c:905 ++#: handler.c:904 + #, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -1925,91 +2175,91 @@ msgstr "" + "[-- Ten załącznik typu %s/%s nie jest zawarty, --]\n" + "[-- a podany typ dostępu %s nie jest obsługiwany --]\n" + +-#: handler.c:1090 ++#: handler.c:1089 + msgid "[-- Error: Could not display any parts of Multipart/Alternative --]\n" + msgstr "[--Błąd: Nie można wyświetlić żadnego z fragmentów Multipart/Alternative --]\n" + + #. L10N: %s is the attachment description, filename or form_name. +-#: handler.c:1231 ++#: handler.c:1230 + #, c-format + msgid "[-- Attachment #%d: %s --]\n" + msgstr "[-- Załącznik #%d: %s --]\n" + +-#: handler.c:1236 ++#: handler.c:1235 + #, c-format + msgid "[-- Attachment #%d --]\n" + msgstr "[-- Załącznik #%d --]\n" + +-#: handler.c:1254 ++#: handler.c:1253 + msgid "One or more parts of this message could not be displayed" + msgstr "Jedna lub więcej części tej wiadomości nie może zostać wyświetlona" + +-#: handler.c:1320 ++#: handler.c:1319 + msgid "Unable to open 'memory stream'" + msgstr "Nie można otworzyć strumienia pamięci" + +-#: handler.c:1330 ++#: handler.c:1329 + msgid "Unable to open temporary file" + msgstr "Nie można otworzyć pliku tymczasowego" + +-#: handler.c:1379 ++#: handler.c:1378 + msgid "failed to re-open 'memory stream'" + msgstr "Nie można ponownie otworzyć 'memory stream'" + +-#: handler.c:1620 ++#: handler.c:1619 + msgid "Error: multipart/signed has no protocol" + msgstr "Błąd: multipart/signed nie ma protokołu" + + #. L10N: %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1694 ++#: handler.c:1693 + #, c-format + msgid "[-- This is an attachment (use '%s' to view this part) --]\n" + msgstr "[-- To jest załącznik (użyj '%s' do oglądania tego fragmentu) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". + #. The last %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1701 ++#: handler.c:1700 + #, c-format + msgid "[-- %s/%s is unsupported (use '%s' to view this part) --]\n" + msgstr "[-- typ %s/%s nie jest obsługiwany (użyj '%s' do oglądania tego fragmentu) --]\n" + +-#: handler.c:1709 ++#: handler.c:1708 + msgid "[-- This is an attachment (need 'view-attachments' bound to key) --]\n" + msgstr "[-- To jest załącznik (przypisz 'view-attachments' do klawisza) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1715 ++#: handler.c:1714 + #, c-format + msgid "[-- %s/%s is unsupported (need 'view-attachments' bound to key) --]\n" + msgstr "[-- typ %s/%s nie jest obsługiwany (przypisz 'view-attachments' do klawisza) --]\n" + +-#: handler.c:1724 ++#: handler.c:1723 + msgid "[-- This is an attachment --]\n" + msgstr "[-- To jest załącznik --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1729 ++#: handler.c:1728 + #, c-format + msgid "[-- %s/%s is unsupported --]\n" + msgstr "[-- typ %s/%s nie jest obsługiwany --]\n" + +-#: help.c:400 ++#: help.c:401 + msgid "ERROR: please report this bug" + msgstr "BŁĄD: zgłoś, proszę, ten błąd" + +-#: help.c:455 ++#: help.c:456 + msgid "" + msgstr "" + +-#: help.c:469 ++#: help.c:470 + msgid "Generic bindings:" + msgstr "Standardowe przypisania klawiszy:" + +-#: help.c:473 ++#: help.c:474 + msgid "Unbound functions:" + msgstr "Nie przypisane klawiszom funkcje:" + +-#: help.c:481 ++#: help.c:482 + #, c-format + msgid "Help for %s" + msgstr "Pomoc dla menu %s" +@@ -2026,41 +2276,41 @@ msgstr "" + msgid "badly formatted command string" + msgstr "błędnie sformatowane polecenie" + +-#: hook.c:461 ++#: hook.c:466 + msgid "unhook: Can't do unhook * from within a hook" + msgstr "unhook: Nie można wykonać \"unhook *\" wewnątrz innego polecenia hook" + +-#: hook.c:474 ++#: hook.c:479 + #, c-format + msgid "unhook: unknown hook type: %s" + msgstr "unhook: nieznany typ polecenia hook: %s" + +-#: hook.c:484 ++#: hook.c:489 + #, c-format + msgid "unhook: Can't delete a %s from within a %s" + msgstr "unhook: Nie można skasować %s z wewnątrz %s" + + #. L10N: '%s' is the (misspelled) name of the menu, e.g. 'index' or 'pager' +-#: icommands.c:259 keymap.c:1161 keymap.c:1346 ++#: icommands.c:261 keymap.c:1159 keymap.c:1344 + #, c-format + msgid "%s: no such menu" + msgstr "%s: nie ma takiego menu" + + #. L10N: '%s' is the name of the menu, e.g. 'index' or 'pager', it might + #. L10N: also be 'all' when all menus are affected. +-#: icommands.c:272 ++#: icommands.c:274 + #, c-format + msgid "%s: no binds for this menu" + msgstr "%s: brak skrótów klawiszowych dla tego menu" + +-#: icommands.c:272 ++#: icommands.c:274 + #, c-format + msgid "%s: no macros for this menu" + msgstr "%s: nie ma makr w tym menu" + + #. L10N: '%s' is the file name of the temporary file +-#: icommands.c:283 icommands.c:296 icommands.c:316 icommands.c:340 +-#: icommands.c:360 icommands.c:371 imap/message.c:1093 ++#: icommands.c:285 icommands.c:297 icommands.c:317 icommands.c:340 ++#: icommands.c:360 icommands.c:370 imap/message.c:1093 + #, c-format + msgid "Could not create temporary file %s" + msgstr "Nie można utworzyć pliku tymczasowego %s" +@@ -2097,28 +2347,28 @@ msgstr "Uwierzytelnianie GSSAPI nie powiodło się" + msgid "LOGIN disabled on this server" + msgstr "LOGIN został wyłączony na tym serwerze" + +-#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:288 ++#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:289 + msgid "Logging in..." + msgstr "Logowanie..." + +-#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:329 ++#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:330 + msgid "Login failed" + msgstr "Zalogowanie nie powiodło się" + +-#: imap/auth_oauth.c:64 pop/pop_auth.c:346 smtp.c:524 ++#: imap/auth_oauth.c:65 pop/pop_auth.c:347 smtp.c:549 + msgid "Authenticating (OAUTHBEARER)..." + msgstr "Uwierzytelnianie (OAUTHBEARER)..." + +-#: imap/auth_oauth.c:96 ++#: imap/auth_oauth.c:97 + msgid "OAUTHBEARER authentication failed" + msgstr "Uwierzytelnianie OAUTHBEARER nie powiodło się" + +-#: imap/auth_sasl.c:128 nntp/nntp.c:606 nntp/nntp.c:671 smtp.c:443 ++#: imap/auth_sasl.c:128 nntp/nntp.c:608 nntp/nntp.c:673 smtp.c:468 + #, c-format + msgid "Authenticating (%s)..." + msgstr "Uwierzytelnianie (%s)..." + +-#: imap/auth_sasl.c:259 pop/pop_auth.c:200 smtp.c:584 smtp.c:646 ++#: imap/auth_sasl.c:259 pop/pop_auth.c:201 smtp.c:609 smtp.c:671 + msgid "SASL authentication failed" + msgstr "Uwierzytelnianie SASL nie powiodło się" + +@@ -2165,73 +2415,63 @@ msgstr "Zmiana nazwy nie powiodła się: %s" + msgid "Mailbox renamed" + msgstr "Nazwa została zmieniona" + +-#: imap/command.c:164 ++#: imap/command.c:177 + #, c-format + msgid "Mailbox %s@%s closed" + msgstr "Skrzynka %s@%s została zamknięta" + +-#: imap/command.c:1258 imap/command.c:1370 ++#: imap/command.c:1287 imap/command.c:1399 + #, c-format + msgid "Connection to %s timed out" + msgstr "Połączenie z %s zostało zakończone" + +-#: imap/imap.c:87 ++#: imap/imap.c:93 + msgid "This IMAP server is ancient. NeoMutt does not work with it." + msgstr "Zbyt stara wersja serwera IMAP. Praca z tym serwerem nie jest możliwa." + +-#: imap/imap.c:438 ++#: imap/imap.c:444 + #, c-format + msgid "Header search without header name: %s" + msgstr "Nie podano nazwy nagłówka: %s" + +-#: imap/imap.c:468 ++#: imap/imap.c:474 + #, c-format + msgid "Server-side custom search not supported: %s" + msgstr "Wyszukiwanie użytkownika nie jest wspierane przez serwer: %s" + +-#: imap/imap.c:584 ++#: imap/imap.c:590 + #, c-format + msgid "CREATE failed: %s" + msgstr "" + +-#: imap/imap.c:704 ++#: imap/imap.c:710 + #, c-format + msgid "Closing connection to %s..." + msgstr "Zamykanie połączenia do %s..." + +-#: imap/imap.c:882 nntp/nntp.c:1889 pop/pop_lib.c:324 smtp.c:687 ++#: imap/imap.c:888 nntp/nntp.c:1891 pop/pop_lib.c:350 smtp.c:712 + msgid "Secure connection with TLS?" + msgstr "Połączyć używając TLS?" + +-#: imap/imap.c:895 nntp/nntp.c:1910 pop/pop_lib.c:343 smtp.c:702 ++#: imap/imap.c:901 nntp/nntp.c:1912 pop/pop_lib.c:369 smtp.c:727 + msgid "Could not negotiate TLS connection" + msgstr "Połączenie TLS nie zostało wynegocjowane" + +-#: imap/imap.c:910 pop/pop_lib.c:360 ++#: imap/imap.c:916 pop/pop_lib.c:386 + msgid "Encrypted connection unavailable" + msgstr "Połączenie szyfrowane nie jest dostępne" + +-#: imap/imap.c:1417 ++#: imap/imap.c:1430 + #, c-format + msgid "Subscribing to %s..." + msgstr "Subskrybowanie %s..." + +-#: imap/imap.c:1419 ++#: imap/imap.c:1432 + #, c-format + msgid "Unsubscribing from %s..." + msgstr "Odsubskrybowanie %s..." + +-#: imap/imap.c:1430 init.c:2142 +-#, c-format +-msgid "Subscribed to %s" +-msgstr "Zasubskrybowano %s" +- +-#: imap/imap.c:1432 init.c:2620 +-#, c-format +-msgid "Unsubscribed from %s" +-msgstr "Odsubskrybowano %s" +- +-#: imap/imap.c:1582 imap/message.c:1674 ++#: imap/imap.c:1595 imap/message.c:1674 + #, c-format + msgid "Copying %d message to %s..." + msgid_plural "Copying %d messages to %s..." +@@ -2239,16 +2479,16 @@ msgstr[0] "Kopiowanie %d listu do %s..." + msgstr[1] "Kopiowanie %d listów do %s..." + msgstr[2] "Kopiowanie %d listów do %s..." + +-#: imap/imap.c:1599 imap/imap.c:2217 imap/message.c:1713 muttlib.c:1505 ++#: imap/imap.c:1612 imap/imap.c:2254 imap/message.c:1713 muttlib.c:1503 + #, c-format + msgid "Create %s?" + msgstr "Utworzyć %s?" + +-#: imap/imap.c:1667 ++#: imap/imap.c:1685 + msgid "Expunge failed" + msgstr "Skasowanie nie powiodło się" + +-#: imap/imap.c:1683 ++#: imap/imap.c:1701 + #, c-format + msgid "Marking %d message deleted..." + msgid_plural "Marking %d messages deleted..." +@@ -2257,7 +2497,7 @@ msgstr[1] "Zaznaczanie %d listów jako skasowanych..." + msgstr[2] "Zaznaczanie %d listów jako skasowanych..." + + #. L10N: The plural is chosen by the last %d, i.e. the total number +-#: imap/imap.c:1720 ++#: imap/imap.c:1738 + #, c-format + msgid "Saving changed message... [%d/%d]" + msgid_plural "Saving changed messages... [%d/%d]" +@@ -2265,36 +2505,36 @@ msgstr[0] "Zapisywanie zmienionego listu... [%d/%d]" + msgstr[1] "Zapisywanie zmienionych listów... [%d/%d]" + msgstr[2] "Zapisywanie zmienionych listów... [%d/%d]" + +-#: imap/imap.c:1776 ++#: imap/imap.c:1794 + msgid "Error saving flags. Close anyway?" + msgstr "Błąd zapisywania listów. Potwierdzasz wyjście?" + +-#: imap/imap.c:1783 ++#: imap/imap.c:1801 + msgid "Error saving flags" + msgstr "Błąd zapisywania flag" + +-#: imap/imap.c:1808 ++#: imap/imap.c:1826 + msgid "Expunging messages from server..." + msgstr "Kasowanie listów na serwerze... " + +-#: imap/imap.c:1814 ++#: imap/imap.c:1832 + msgid "imap_sync_mailbox: EXPUNGE failed" + msgstr "imap_sync_mailbox: EXPUNGE nie powiodło się" + +-#: imap/imap.c:2023 nntp/nntp.c:2486 ++#: imap/imap.c:2058 nntp/nntp.c:2488 + #, c-format + msgid "Selecting %s..." + msgstr "Wybieranie %s..." + +-#: imap/imap.c:2184 ++#: imap/imap.c:2221 + msgid "Error opening mailbox" + msgstr "Błąd otwarcia skrzynki" + +-#: imap/imap.c:2330 ++#: imap/imap.c:2367 + msgid "IMAP server doesn't support custom flags" + msgstr "Serwer IMAP nie wspiera flag użytkownika" + +-#: imap/imap.c:2374 ++#: imap/imap.c:2411 + msgid "Invalid IMAP flags" + msgstr "Błędne flagi IMAP" + +@@ -2304,7 +2544,7 @@ msgid "Abort download and close mailbox?" + msgstr "" + + #: imap/message.c:554 mutt/memory.c:58 mutt/memory.c:98 mutt/memory.c:134 +-#: mutt/string.c:1178 mx.c:1176 ++#: mutt/string.c:1201 mx.c:1195 + msgid "Out of memory" + msgstr "Brak pamięci" + +@@ -2322,7 +2562,7 @@ msgstr "Pobieranie aktualnych flag..." + msgid "Unable to fetch headers from this IMAP server version" + msgstr "Nie można pobrać nagłówków z serwera IMAP w tej wersji" + +-#: imap/message.c:1099 index.c:1548 nntp/nntp.c:1328 pop/pop.c:426 ++#: imap/message.c:1099 index.c:1554 nntp/nntp.c:1330 pop/pop.c:426 + msgid "Fetching message headers..." + msgstr "Pobieranie nagłówków..." + +@@ -2335,152 +2575,152 @@ msgstr "Ładowanie listu..." + msgid "Copying message %d to %s..." + msgstr "Kopiowanie listu %d do %s..." + +-#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2737 pop/pop.c:1110 ++#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2739 pop/pop.c:1105 + msgid "Fetching message..." + msgstr "Pobieranie listu..." + +-#: imap/message.c:1959 pop/pop.c:1106 ++#: imap/message.c:1959 pop/pop.c:1101 + msgid "The message index is incorrect. Try reopening the mailbox." + msgstr "Błędny indeks listów. Spróbuj ponownie otworzyć skrzynkę." + +-#: imap/util.c:767 ++#: imap/util.c:796 + msgid "Continue?" + msgstr "Kontynuować?" + +-#: index.c:115 index.c:128 ++#: index.c:111 index.c:124 + msgid "Quit" + msgstr "Wyjdź" + +-#: index.c:118 index.c:131 recvattach.c:93 ++#: index.c:114 index.c:127 recvattach.c:91 + msgid "Save" + msgstr "Zapisz" + +-#: index.c:119 query.c:81 ++#: index.c:115 query.c:79 + msgid "Mail" + msgstr "Wyślij" + +-#: index.c:120 pager.c:237 ++#: index.c:116 pager.c:229 + msgid "Reply" + msgstr "Odpowiedz" + +-#: index.c:121 ++#: index.c:117 + msgid "Group" + msgstr "Grupie" + +-#: index.c:132 pager.c:244 ++#: index.c:128 pager.c:236 + msgid "Post" + msgstr "" + +-#: index.c:133 pager.c:245 ++#: index.c:129 pager.c:237 + msgid "Followup" + msgstr "Kontynuacja" + +-#: index.c:190 index.c:1362 ++#: index.c:186 index.c:1367 + msgid "No mailbox is open" + msgstr "Nie otwarto żadnej skrzynki" + +-#: index.c:196 ++#: index.c:192 + msgid "There are no messages" + msgstr "Brak listów" + +-#: index.c:202 ++#: index.c:198 + msgid "No visible messages" + msgstr "Brak widocznych listów" + +-#: index.c:208 mx.c:901 pager.c:223 recvattach.c:80 ++#: index.c:204 mx.c:920 pager.c:215 recvattach.c:78 + msgid "Mailbox is read-only" + msgstr "Skrzynka jest tylko do odczytu" + +-#: index.c:214 pager.c:225 recvattach.c:98 ++#: index.c:210 pager.c:217 recvattach.c:96 + msgid "Function not permitted in attach-message mode" + msgstr "Funkcja niedostępna w trybie załączania" + + #. L10N: %s is one of the CHECK_ACL entries below. +-#: index.c:239 pager.c:290 ++#: index.c:235 pager.c:282 + #, c-format + msgid "%s: Operation not permitted by ACL" + msgstr "%s: operacja nie dozwolona przez ACL" + +-#: index.c:430 ++#: index.c:426 + msgid "Can't toggle write on a readonly mailbox" + msgstr "Nie można zapisać do skrzynki oznaczonej jako 'tylko do odczytu'" + +-#: index.c:437 ++#: index.c:433 + msgid "Changes to folder will be written on folder exit" + msgstr "Zmiany zostaną naniesione niezwłocznie po wyjściu ze skrzynki" + +-#: index.c:442 ++#: index.c:438 + msgid "Changes to folder will not be written" + msgstr "Zmiany w skrzynce nie zostaną naniesione" + +-#: index.c:719 muttlib.c:1490 mx.c:206 mx.c:340 ++#: index.c:714 muttlib.c:1488 mx.c:206 mx.c:338 + #, c-format + msgid "%s is not a mailbox" + msgstr "%s nie jest skrzynką" + +-#: index.c:1218 ++#: index.c:1223 + msgid "Mailbox was externally modified. Flags may be wrong." + msgstr "Skrzynka została zmodyfikowana z zewnątrz. Flagi mogą być nieaktualne." + +-#: index.c:1227 pager.c:2409 ++#: index.c:1232 pager.c:2379 + msgid "New mail in this mailbox" + msgstr "Uwaga - w bieżącej skrzynce pojawiła się nowa poczta!" + +-#: index.c:1242 ++#: index.c:1247 + msgid "Mailbox was externally modified" + msgstr "Skrzynka została zmodyfikowana z zewnątrz" + +-#: index.c:1369 ++#: index.c:1374 + msgid "No tagged messages" + msgstr "Brak zaznaczonych listów" + +-#: index.c:1373 index.c:1647 menu.c:1423 ++#: index.c:1378 index.c:1653 menu.c:1423 + msgid "Nothing to do" + msgstr "Brak akcji do wykonania" + +-#: index.c:1470 ++#: index.c:1475 + msgid "Enter Message-Id: " + msgstr "Podaj identyfikator wiadomości (Message-Id): " + +-#: index.c:1481 ++#: index.c:1487 + msgid "Article has no parent reference" + msgstr "Artykuł nie ma odniesienia" + +-#: index.c:1504 ++#: index.c:1510 + msgid "Message is not visible in limited view" + msgstr "Pierwszy list wątku nie jest widoczny w trybie ograniczonego przeglądania" + +-#: index.c:1508 ++#: index.c:1514 + #, c-format + msgid "Fetching %s from server..." + msgstr "Pobieranie %s z serwera... " + +-#: index.c:1518 nntp/nntp.c:2772 ++#: index.c:1524 nntp/nntp.c:2774 + #, c-format + msgid "Article %s not found on the server" + msgstr "Artykuł %s nie został odnaleziony na serwerze" + +-#: index.c:1544 ++#: index.c:1550 + msgid "No Message-Id. Unable to perform operation." + msgstr "Brak identyfikatora wiadomości (Message-ID).Zaniechano wykonanie polecenia" + +-#: index.c:1623 ++#: index.c:1629 + msgid "No deleted messages found in the thread" + msgstr "Nie znaleziono usuniętych wiadomości w wątku" + +-#: index.c:1644 ++#: index.c:1650 + msgid "Jump to message: " + msgstr "Skocz do listu: " + +-#: index.c:1650 ++#: index.c:1656 + msgid "Argument must be a message number" + msgstr "Jako argument wymagany jest numer listu" + +-#: index.c:1652 ++#: index.c:1658 + msgid "Invalid message number" + msgstr "Błędny numer listu" + +-#: index.c:1654 ++#: index.c:1660 + msgid "That message is not visible" + msgstr "Ten list nie jest widoczny" + +@@ -2493,37 +2733,37 @@ msgstr "Ten list nie jest widoczny" + #. delete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. + #. +-#: index.c:1692 index.c:3267 pager.c:3064 ++#: index.c:1698 index.c:3293 pager.c:3039 + msgid "Can't delete messages" + msgstr "Nie można skasować listów" + +-#: index.c:1695 ++#: index.c:1701 + msgid "Delete messages matching: " + msgstr "Usuń listy pasujące do wzorca: " + +-#: index.c:1736 ++#: index.c:1742 + msgid "No limit pattern is in effect" + msgstr "Wzorzec ograniczający nie został określony" + + #. L10N: ask for a limit to apply +-#: index.c:1741 ++#: index.c:1747 + #, c-format + msgid "Limit: %s" + msgstr "Ograniczenie: %s" + +-#: index.c:1778 ++#: index.c:1784 + msgid "Limit to messages matching: " + msgstr "Ogranicz do pasujących listów: " + +-#: index.c:1809 ++#: index.c:1815 + msgid "To view all messages, limit to \"all\"" + msgstr "Aby ponownie przeglądać wszystkie listy, ustaw ograniczenie na \".*\"" + +-#: index.c:1821 pager.c:2514 ++#: index.c:1827 pager.c:2487 + msgid "Quit NeoMutt?" + msgstr "Wyjść z NeoMutta?" + +-#: index.c:1924 ++#: index.c:1931 + msgid "Tag messages matching: " + msgstr "Zaznacz pasujące listy: " + +@@ -2531,195 +2771,195 @@ msgstr "Zaznacz pasujące listy: " + #. L10N: Due to the implementation details we do not know whether we + #. undelete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:1935 index.c:3807 pager.c:3418 ++#: index.c:1942 index.c:3833 pager.c:3396 + msgid "Can't undelete messages" + msgstr "Nieudane przywrócenie listów" + +-#: index.c:1939 ++#: index.c:1946 + msgid "Undelete messages matching: " + msgstr "Odtwórz pasujące listy: " + +-#: index.c:1948 ++#: index.c:1955 + msgid "Untag messages matching: " + msgstr "Odznacz pasujące listy: " + +-#: index.c:1989 ++#: index.c:1996 + msgid "Logged out of IMAP servers" + msgstr "Wylogowano z serwera IMAP" + +-#: index.c:2105 ++#: index.c:2113 + msgid "No virtual folder and no Message-Id, aborting" + msgstr "Brak folderu wirtualnego i Message-Id, zaniechano" + +-#: index.c:2117 index.c:2288 index.c:2310 index.c:2331 ++#: index.c:2125 index.c:2313 index.c:2335 index.c:2356 + msgid "Failed to create query, aborting" + msgstr "Nieudane stworzenie zapytania, zaniechano" + +-#: index.c:2130 ++#: index.c:2138 + msgid "failed to find message in notmuch database. try running 'notmuch new'." + msgstr "" + +-#: index.c:2139 ++#: index.c:2147 + msgid "Failed to read thread, aborting" + msgstr "Nie udało się wczytać wątku, zaniechano" + +-#: index.c:2171 mx.c:1252 mx.c:1272 ++#: index.c:2179 mx.c:1271 mx.c:1291 + msgid "Folder doesn't support tagging, aborting" + msgstr "Folder nie wspiera tagowania, zaniechano" + +-#: index.c:2188 ++#: index.c:2196 + msgid "No tag specified, aborting" + msgstr "Tag nieokreślony, zaniechano" + +-#: index.c:2198 ++#: index.c:2206 + msgid "Update tags..." + msgstr "Aktualizacja tagów..." + +-#: index.c:2238 ++#: index.c:2246 + msgid "Failed to modify tags, aborting" + msgstr "Nieudana modyfikacja tagów, zaniechano" + +-#: index.c:2284 ++#: index.c:2293 + msgid "No query, aborting" + msgstr "Brak zapytania, zaniechano" + +-#: index.c:2299 index.c:2320 ++#: index.c:2324 index.c:2345 + msgid "Windowed queries disabled" + msgstr "" + +-#: index.c:2304 index.c:2325 ++#: index.c:2329 index.c:2350 + msgid "No notmuch vfolder currently loaded" + msgstr "Żaden notmach vfolder nie jest obecnie załadowany" + +-#: index.c:2374 ++#: index.c:2399 + msgid "Open mailbox in read-only mode" + msgstr "Otwórz skrzynkę tylko do odczytu" + +-#: index.c:2376 ++#: index.c:2401 + msgid "Open mailbox" + msgstr "Otwórz skrzynkę" + +-#: index.c:2386 ++#: index.c:2411 + msgid "No mailboxes have new mail" + msgstr "Żadna skrzynka nie zawiera nowych listów" + +-#: index.c:2419 ++#: index.c:2444 + msgid "Open newsgroup in read-only mode" + msgstr "Otwórz grupę dyskusyjną tylko do odczytu" + +-#: index.c:2421 ++#: index.c:2446 + msgid "Open newsgroup" + msgstr "Otwórz listę dyskusyjną" + +-#: index.c:2538 ++#: index.c:2564 + msgid "Exit NeoMutt without saving?" + msgstr "Wyjść z NeoMutta bez zapisywania zmian?" + + #. L10N: CHECK_ACL +-#: index.c:2554 ++#: index.c:2580 + msgid "Can't break thread" + msgstr "Nie można rozłączyć wątku" + +-#: index.c:2574 ++#: index.c:2600 + msgid "Thread broken" + msgstr "Wątek został przerwany" + +-#: index.c:2587 ++#: index.c:2613 + msgid "Thread can't be broken, message is not part of a thread" + msgstr "Wątek nie może być rozłączony, wiadomość nie jest częścią wątku" + + #. L10N: CHECK_ACL +-#: index.c:2597 ++#: index.c:2623 + msgid "Can't link threads" + msgstr "Ne mogę połączyć wątków" + +-#: index.c:2606 ++#: index.c:2632 + msgid "No Message-ID: header available to link thread" + msgstr "Brak nagłówka Message-ID: wymaganego do połączenia wątków" + +-#: index.c:2608 ++#: index.c:2634 + msgid "First, please tag a message to be linked here" + msgstr "Najpierw zaznacz list do połączenia" + +-#: index.c:2621 ++#: index.c:2647 + msgid "Threads linked" + msgstr "Wątki połączono" + +-#: index.c:2624 ++#: index.c:2650 + msgid "No thread linked" + msgstr "Wątki nie zostały połączone" + +-#: index.c:2665 index.c:2690 ++#: index.c:2691 index.c:2716 + msgid "You are on the last message" + msgstr "To jest ostatni list" + +-#: index.c:2673 index.c:2716 ++#: index.c:2699 index.c:2742 + msgid "No undeleted messages" + msgstr "Brak odtworzonych listów" + +-#: index.c:2708 index.c:2733 ++#: index.c:2734 index.c:2759 + msgid "You are on the first message" + msgstr "To jest pierwszy list" + +-#: index.c:2874 ++#: index.c:2900 + msgid "No new messages in this limited view" + msgstr "Brak nowych wiadomości dla wybranego ograniczenia" + +-#: index.c:2876 ++#: index.c:2902 + msgid "No new messages" + msgstr "Brak nowych listów" + +-#: index.c:2881 ++#: index.c:2907 + msgid "No unread messages in this limited view" + msgstr "Brak nieprzeczytanych listów w trybie ograniczonego przeglądania" + +-#: index.c:2883 ++#: index.c:2909 + msgid "No unread messages" + msgstr "Brak nieprzeczytanych listów" + +-#: index.c:2893 menu.c:1208 pager.c:2644 pattern.c:2652 ++#: index.c:2919 menu.c:1208 pager.c:2618 pattern.c:2776 + msgid "Search wrapped to top" + msgstr "Kontynuacja poszukiwania od początku" + +-#: index.c:2898 pager.c:2669 pattern.c:2663 ++#: index.c:2924 pager.c:2643 pattern.c:2787 + msgid "Search wrapped to bottom" + msgstr "Kontynuacja poszukiwania od końca" + + #. L10N: CHECK_ACL +-#: index.c:2915 ++#: index.c:2941 + msgid "Can't flag message" + msgstr "Nie można ustawić flagi dla wiadomości" + + #. L10N: CHECK_ACL +-#: index.c:2961 pager.c:3377 ++#: index.c:2987 pager.c:3355 + msgid "Can't toggle new" + msgstr "Nie mogę przełączyć flagi new" + +-#: index.c:3057 ++#: index.c:3083 + msgid "No more threads" + msgstr "Nie ma więcej wątków" + +-#: index.c:3059 ++#: index.c:3085 + msgid "You are on the first thread" + msgstr "To pierwszy wątek" + +-#: index.c:3156 ++#: index.c:3182 + msgid "Thread contains unread or flagged messages" + msgstr "Wątek zawiera listy nieprzeczytane lub posiadające flagę" + + #. L10N: CHECK_ACL +-#: index.c:3215 pager.c:3019 ++#: index.c:3241 pager.c:2994 + msgid "Can't delete message" + msgstr "Nie można skasować listu" + + #. L10N: CHECK_ACL +-#: index.c:3339 ++#: index.c:3365 + msgid "Can't edit message" + msgstr "Nie można edytować listu" + + #. L10N: This is displayed when the x-label on one or more + #. messages is edited. +-#: index.c:3432 pager.c:3495 ++#: index.c:3458 pager.c:3473 + #, c-format + msgid "%d label changed" + msgid_plural "%d labels changed" +@@ -2730,7 +2970,7 @@ msgstr[2] "%d zmienionych etykiet" + #. L10N: This is displayed when editing an x-label, but no messages + #. were updated. Possibly due to canceling at the prompt or if the new + #. label is the same as the old label. +-#: index.c:3440 pager.c:3499 ++#: index.c:3466 pager.c:3477 + msgid "No labels changed" + msgstr "Nie zmieniono etykiet" + +@@ -2738,276 +2978,140 @@ msgstr "Nie zmieniono etykiet" + #. L10N: Due to the implementation details we do not know whether we + #. mark zero, 1, 12, ... messages as read. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:3571 ++#: index.c:3597 + msgid "Can't mark messages as read" + msgstr "Nie można oznaczyć wiadomości jako przeczytane" + + #. L10N: This is the prompt for . Whatever they + #. enter will be prefixed by $mark_macro_prefix and will become + #. a macro hotkey to jump to the currently selected message. +-#: index.c:3612 ++#: index.c:3638 + msgid "Enter macro stroke: " + msgstr "Wprowadź klawisz makra: " + + #. L10N: "message hotkey" is the key bindings menu description of a + #. macro created by . +-#: index.c:3620 ++#: index.c:3646 + msgid "message hotkey" + msgstr "hotkey listu" + + #. L10N: This is echoed after creates a new hotkey + #. macro. %s is the hotkey string ($mark_macro_prefix followed + #. by whatever they typed at the prompt.) +-#: index.c:3625 ++#: index.c:3651 + #, c-format + msgid "Message bound to %s" + msgstr "Kopia została wysłana do %s" + + #. L10N: This error is printed if can't find a + #. Message-ID for the currently selected message in the index. +-#: index.c:3634 ++#: index.c:3660 + msgid "No message ID to macro" + msgstr "Brak identyfikatora makra" + +-#: index.c:3688 pager.c:3221 recvattach.c:1646 ++#: index.c:3714 pager.c:3196 recvattach.c:1678 + msgid "Reply by mail as poster prefers?" + msgstr "Odpowiedzieć przy pomocy maila zgodnie z życzeniem nadawcy?" + +-#: index.c:3691 pager.c:3182 pager.c:3194 pager.c:3224 ++#: index.c:3717 pager.c:3157 pager.c:3169 pager.c:3199 + msgid "Posting to this group not allowed, may be moderated. Continue?" + msgstr "Dodawanie postów w tej grupie jest niedozwolone, możliwa moderacja. Kontynuować?" + + #. L10N: CHECK_ACL +-#: index.c:3768 pager.c:3397 ++#: index.c:3794 pager.c:3375 + msgid "Can't undelete message" + msgstr "Nieudane przywrócenie listu" + +-#: init.c:313 ++#: init.c:223 + #, c-format + msgid "Error in command line: %s" + msgstr "Błąd w poleceniu: %s" + +-#: init.c:315 ++#: init.c:225 + #, c-format + msgid "Warning in command line: %s" + msgstr "Ostrzeżenie w poleceniu: %s" + +-#: init.c:426 ++#: init.c:336 + msgid "unable to determine nodename via uname()" + msgstr "nie można ustalić nazwy węzła poprzez uname()" + +-#: init.c:580 +-msgid "-group: no group name" +-msgstr "-group: brak nazwy grupy" +- +-#: init.c:590 +-msgid "out of arguments" +-msgstr "brak argumentów" +- +-#: init.c:804 init.c:1752 +-#, c-format +-msgid "Error: Can't build path of '%s'" +-msgstr "" +- +-#: init.c:817 +-#, c-format +-msgid "Error: Cyclic sourcing of configuration file '%s'" +-msgstr "" +- +-#: init.c:850 +-#, c-format +-msgid "Error in %s, line %d: %s" +-msgstr "Błąd w %s, linia %d: %s" +- +-#: init.c:861 +-#, c-format +-msgid "Warning in %s, line %d: %s" +-msgstr "Ostrzeżenie w %s, linia %d: %s" +- +-#: init.c:885 +-#, c-format +-msgid "source: errors in %s" +-msgstr "source: błędy w %s" +- +-#: init.c:885 +-#, c-format +-msgid "source: reading aborted due to too many errors in %s" +-msgstr "source: wczytywanie zaniechane z powodu zbyt wielu błędów w %s" +- +-#: init.c:894 +-#, c-format +-msgid "source: %d warning in %s" +-msgid_plural "source: %d warnings in %s" +-msgstr[0] "source: %d ostrzeżenie w %s" +-msgstr[1] "source: %d ostrzeżenia w %s" +-msgstr[2] "source: %d ostrzeżeń w %s" +- +-#: init.c:923 +-msgid "alias: no address" +-msgstr "alias: brak adresu" +- +-#: init.c:965 +-#, c-format +-msgid "Warning: Bad IDN '%s' in alias '%s'" +-msgstr "Ostrzeżenie: błędny IDN '%s' w aliasie '%s'" +- +-#: init.c:1043 +-msgid "attachments: no disposition" +-msgstr "załączniki: brak specyfikacji inline/attachment" +- +-#: init.c:1054 +-msgid "Current attachments settings:" +-msgstr "Obecne ustawienia załączników:" +- +-#: init.c:1084 +-msgid "attachments: invalid disposition" +-msgstr "załączniki: błędna specyfikacja inline/attachment" +- +-#: init.c:1160 +-#, c-format +-msgid "%sgroup: missing -rx or -addr" +-msgstr "%sgroup: brakujący -rx lub -addr" +- +-#: init.c:1186 +-#, c-format +-msgid "%sgroup: warning: bad IDN '%s'" +-msgstr "%sgrupa: ostrzeżenie: błędny IDN '%s'" +- +-#: init.c:1278 +-#, c-format +-msgid "Error: %s" +-msgstr "" +- +-#: init.c:1445 +-msgid "invalid header field" +-msgstr "nieprawidłowy nagłówek" +- +-#: init.c:1711 init.c:1815 +-#, c-format +-msgid "%s: unknown variable" +-msgstr "%s: nieznana zmienna" +- +-#: init.c:1908 +-#, c-format +-msgid "%s is unset" +-msgstr "%s nie jest ustawiony" +- +-#: init.c:1953 mutt_lua.c:478 +-#, c-format +-msgid "source: error at %s" +-msgstr "source: błędy w %s" +- +-#: init.c:1961 +-#, c-format +-msgid "source: file %s could not be sourced" +-msgstr "sourced: plik %s nie może być wczytany" +- +-#: init.c:1984 +-msgid "spam: no matching pattern" +-msgstr "Spam: brak pasującego wzorca" +- +-#: init.c:1986 +-msgid "nospam: no matching pattern" +-msgstr "NieSpam: brak pasującego wzorca" +- +-#: init.c:2146 +-#, c-format +-msgid "Could not subscribe to %s" +-msgstr "Nie można zasubskrybować %s" +- +-#: init.c:2154 init.c:2632 +-msgid "No folder specified" +-msgstr "Nie wybrano żadnego folderu" +- +-#: init.c:2341 +-msgid "unattachments: no disposition" +-msgstr "brak specyfikacji inline/attachment" +- +-#: init.c:2379 +-msgid "unattachments: invalid disposition" +-msgstr "błędna specyfikacja inline/attachment" +- +-#: init.c:2624 +-#, c-format +-msgid "Could not unsubscribe from %s" +-msgstr "Nie można odsubskrybować %s" +- +-#: init.c:3292 ++#: init.c:1042 + #, c-format + msgid "%s: unknown command" + msgstr "%s: nieznane polecenie" + +-#: init.c:3837 ++#: init.c:1588 + msgid "'charset' must contain exactly one character set name" + msgstr "" + +-#: init.c:3853 init.c:3877 init.c:3912 ++#: init.c:1604 init.c:1628 init.c:1663 + #, c-format + msgid "Invalid value for option %s: %s" + msgstr "Niewłaściwa wartość opcji %s: \"%s\"" + +-#: init.c:3890 ++#: init.c:1641 + #, c-format + msgid "Option %s may not be set or reset from the pager" + msgstr "" + +-#: init.c:3928 ++#: init.c:1679 + #, c-format + msgid "Option %s may not be set when in attach-message mode" + msgstr "Funkcja %s nie może zostać ustawiona w trybie załączania" + + #. L10N: This applies to the "$wrap_headers" config variable +-#: init.c:3943 ++#: init.c:1694 + #, c-format + msgid "Option %s must between 78 and 998 inclusive" + msgstr "" + +-#: keymap.c:373 keymap.c:381 ++#: keymap.c:371 keymap.c:379 + #, c-format + msgid "Binding '%s' will alias '%s' Before, try: 'bind %s %s noop' https://neomutt.org/guide/configuration.html#bind-warnings" + msgstr "" + +-#: keymap.c:757 ++#: keymap.c:755 + msgid "Macro loop detected" + msgstr "Wykryto pętlę w makrze" + +-#: keymap.c:1064 keymap.c:1099 ++#: keymap.c:1062 keymap.c:1097 + msgid "Key is not bound" + msgstr "Klawisz nie został przypisany" + +-#: keymap.c:1104 ++#: keymap.c:1102 + #, c-format + msgid "Key is not bound. Press '%s' for help." + msgstr "Klawisz nie został przypisany. Aby uzyskać pomoc przyciśnij '%s'." + +-#: keymap.c:1177 ++#: keymap.c:1175 + #, c-format + msgid "%s: null key sequence" + msgstr "%s: pusta sekwencja klawiszy" + +-#: keymap.c:1212 ++#: keymap.c:1210 + #, c-format + msgid "Function '%s' not available for menu '%s'" + msgstr "Funkcja '%s' nie jest dostępna w menu '%s'" + +-#: keymap.c:1495 ++#: keymap.c:1493 + msgid "macro: empty key sequence" + msgstr "macro: pusta sekwencja klawiszy" + +-#: keymap.c:1543 ++#: keymap.c:1541 + msgid "exec: no arguments" + msgstr "exec: brak argumentów" + +-#: keymap.c:1563 ++#: keymap.c:1561 + #, c-format + msgid "%s: no such function" + msgstr "%s: brak takiej funkcji" + +-#: keymap.c:1584 ++#: keymap.c:1582 + msgid "Enter keys (^G to abort): " + msgstr "Wprowadź klucze (^G aby przerwać): " + +-#: keymap.c:1590 ++#: keymap.c:1588 + #, c-format + msgid "Char = %s, Octal = %o, Decimal = %d" + msgstr "znak = %s, ósemkowy = %o, dziesiętny = %d" +@@ -3031,7 +3135,7 @@ msgstr "brak wpisu w 'mailcap' dla typu %s" + msgid "Scanning %s..." + msgstr "Sprawdzanie %s..." + +-#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:353 ++#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:351 + #, c-format + msgid "Reading %s..." + msgstr "Czytanie %s..." +@@ -3045,13 +3149,13 @@ msgid "md_commit_message(): unable to set time on file" + msgstr "md_commit_message(): nie można nadać plikowi daty" + + #. L10N: Displayed before/as a mailbox is being synced +-#: maildir/shared.c:1723 mbox/mbox.c:1276 mx.c:461 notmuch/mutt_notmuch.c:2364 ++#: maildir/shared.c:1734 mbox/mbox.c:1276 mx.c:459 notmuch/mutt_notmuch.c:2364 + #, c-format + msgid "Writing %s..." + msgstr "Zapisywanie %s..." + + #. L10N: Try to limit to 80 columns +-#: main.c:227 ++#: main.c:160 + msgid "" + "usage:\n" + " neomutt [-Enx] [-e ] [-F ] [-H ] [-i ]\n" +@@ -3074,7 +3178,7 @@ msgid "" + msgstr "" + + #. L10N: Try to limit to 80 columns. If more space is needed add an indented line +-#: main.c:247 ++#: main.c:180 + msgid "" + "options:\n" + " -- Special argument forces NeoMutt to stop option parsing and treat\n" +@@ -3117,54 +3221,54 @@ msgid "" + " or exit immediately with exit code 1 otherwise" + msgstr "" + +-#: main.c:312 ++#: main.c:245 + msgid "Error initializing terminal" + msgstr "Błąd inicjalizacji terminala" + +-#: main.c:390 ++#: main.c:323 + msgid "unable to determine username" + msgstr "nie można ustalić nazwy użytkownika" + +-#: main.c:396 ++#: main.c:329 + msgid "unable to determine home directory" + msgstr "nie można ustalić położenia katalogu domowego" + +-#: main.c:640 ++#: main.c:572 + #, c-format + msgid "Error: value '%s' is invalid for -d" + msgstr "Błąd: wartość '%s' jest błędna dla -d" + +-#: main.c:884 ++#: main.c:815 + msgid "Failed to parse mailto: link" + msgstr "" + +-#: main.c:896 send.c:2452 send.c:2456 ++#: main.c:827 send.c:2463 send.c:2467 + msgid "No recipients specified" + msgstr "Nie wskazano adresatów listu" + +-#: main.c:923 ++#: main.c:854 + msgid "Can't use -E flag with stdin" + msgstr "Nie można użyć przełącznika -E wraz ze stdin" + +-#: main.c:1007 ++#: main.c:938 + #, c-format + msgid "Can't parse message template: %s" + msgstr "Nie można dopasować szablonu wiadomości: %s" + +-#: main.c:1073 mutt_header.c:329 ++#: main.c:1004 mutt_header.c:329 + #, c-format + msgid "%s: unable to attach file" + msgstr "%s: nie można dołączyć pliku" + +-#: main.c:1156 ++#: main.c:1087 + msgid "No mailbox with new mail" + msgstr "Brak skrzynki z nową pocztą" + +-#: main.c:1180 ++#: main.c:1111 + msgid "No incoming mailboxes defined" + msgstr "Nie zdefiniowano położenia skrzynek z nową pocztą" + +-#: main.c:1230 ++#: main.c:1161 + msgid "Mailbox is empty" + msgstr "Skrzynka pocztowa jest pusta" + +@@ -3206,52 +3310,52 @@ msgstr "Nie można ponownie otworzyć skrzynki pocztowej" + msgid "Can't write message" + msgstr "Nie można zapisać listu" + +-#: menu.c:632 ++#: menu.c:631 + msgid "Jump to: " + msgstr "Przeskocz do: " + +-#: menu.c:641 ++#: menu.c:640 + msgid "Invalid index number" + msgstr "Niewłaściwy numer indeksu" + +-#: menu.c:645 menu.c:671 menu.c:744 menu.c:810 menu.c:828 menu.c:843 menu.c:858 +-#: menu.c:873 menu.c:890 menu.c:907 menu.c:1553 ++#: menu.c:644 menu.c:670 menu.c:743 menu.c:809 menu.c:827 menu.c:842 menu.c:857 ++#: menu.c:872 menu.c:889 menu.c:906 menu.c:1553 + msgid "No entries" + msgstr "Brak pozycji" + +-#: menu.c:668 ++#: menu.c:667 + msgid "You can't scroll down farther" + msgstr "Nie można niżej przewinąć" + +-#: menu.c:690 ++#: menu.c:689 + msgid "You can't scroll up farther" + msgstr "Nie można wyżej przewinąć" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the first page" + msgstr "To jest pierwsza strona" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the last page" + msgstr "To jest ostatnia strona" + +-#: menu.c:922 ++#: menu.c:921 + msgid "You are on the last entry" + msgstr "To jest ostatnia pozycja" + +-#: menu.c:937 ++#: menu.c:936 + msgid "You are on the first entry" + msgstr "To jest pierwsza pozycja" + +-#: menu.c:1172 pager.c:2692 pattern.c:2578 ++#: menu.c:1172 pager.c:2666 pattern.c:2702 + msgid "Search for: " + msgstr "Szukaj frazy: " + +-#: menu.c:1173 pager.c:2693 pattern.c:2579 ++#: menu.c:1173 pager.c:2667 pattern.c:2703 + msgid "Reverse search for: " + msgstr "Szukaj frazy w przeciwnym kierunku: " + +-#: menu.c:1226 pager.c:2641 pager.c:2666 pager.c:2800 pattern.c:2708 ++#: menu.c:1226 pager.c:2615 pager.c:2640 pager.c:2774 pattern.c:2832 + msgid "Not found" + msgstr "Nic nie znaleziono" + +@@ -3294,20 +3398,20 @@ msgstr "Oczekiwanie na blokadę typu 'flock'... %d" + msgid "Bad history file format (line %d)" + msgstr "Błędny format pliku historii (wiersz %d)" + +-#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1006 ncrypt/crypt_gpgme.c:2381 +-#: ncrypt/crypt_gpgme.c:2401 ncrypt/crypt_gpgme.c:2460 +-#: ncrypt/crypt_gpgme.c:2477 ncrypt/crypt_gpgme.c:2509 +-#: ncrypt/crypt_gpgme.c:2527 ncrypt/crypt_gpgme.c:2611 +-#: ncrypt/crypt_gpgme.c:3194 ncrypt/crypt_gpgme.c:3292 +-#: ncrypt/crypt_gpgme.c:4373 ncrypt/pgp.c:576 ncrypt/pgp.c:583 ncrypt/pgp.c:896 +-#: ncrypt/pgp.c:1014 ncrypt/pgp.c:1161 ncrypt/pgp.c:1181 ncrypt/pgp.c:1215 +-#: ncrypt/pgp.c:1568 ncrypt/pgpkey.c:708 ncrypt/pgpkey.c:902 +-#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1092 ncrypt/smime.c:1100 +-#: ncrypt/smime.c:1191 ncrypt/smime.c:1299 ncrypt/smime.c:1364 +-#: ncrypt/smime.c:1372 ncrypt/smime.c:1571 ncrypt/smime.c:1967 +-#: ncrypt/smime.c:2046 ncrypt/smime.c:2053 ncrypt/smime.c:2156 +-#: ncrypt/smime.c:2281 ncrypt/smime.c:2297 nntp/nntp.c:1397 nntp/nntp.c:2237 +-#: pattern.c:1132 pop/pop.c:182 ++#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1005 ncrypt/crypt_gpgme.c:2420 ++#: ncrypt/crypt_gpgme.c:2440 ncrypt/crypt_gpgme.c:2499 ++#: ncrypt/crypt_gpgme.c:2516 ncrypt/crypt_gpgme.c:2548 ++#: ncrypt/crypt_gpgme.c:2566 ncrypt/crypt_gpgme.c:2650 ++#: ncrypt/crypt_gpgme.c:3237 ncrypt/crypt_gpgme.c:3335 ++#: ncrypt/crypt_gpgme.c:4421 ncrypt/pgp.c:575 ncrypt/pgp.c:582 ncrypt/pgp.c:895 ++#: ncrypt/pgp.c:1013 ncrypt/pgp.c:1160 ncrypt/pgp.c:1180 ncrypt/pgp.c:1214 ++#: ncrypt/pgp.c:1570 ncrypt/pgpkey.c:741 ncrypt/pgpkey.c:937 ++#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1126 ncrypt/smime.c:1134 ++#: ncrypt/smime.c:1225 ncrypt/smime.c:1333 ncrypt/smime.c:1398 ++#: ncrypt/smime.c:1406 ncrypt/smime.c:1605 ncrypt/smime.c:2001 ++#: ncrypt/smime.c:2080 ncrypt/smime.c:2087 ncrypt/smime.c:2190 ++#: ncrypt/smime.c:2315 ncrypt/smime.c:2331 nntp/nntp.c:1399 nntp/nntp.c:2239 ++#: pattern.c:1171 pop/pop.c:182 + msgid "Can't create temporary file" + msgstr "Nie można utworzyć pliku tymczasowego" + +@@ -3326,7 +3430,7 @@ msgstr "Diagnostyka błędów na poziomie %d do pliku '%s'" + msgid "Logging at level %d to file '%s'" + msgstr "Zapisywanie logu na poziomie %d do pliku '%s'" + +-#: mutt/path.c:401 ++#: mutt/path.c:420 + msgid "Error: converting path to absolute" + msgstr "Błąd: konwersja do absolutnej ścieżki" + +@@ -3349,17 +3453,17 @@ msgstr "Otrzymano sygnał %d (%s) ... Koniec pracy.\n" + msgid "Caught signal %d ... Exiting.\n" + msgstr "Otrzymano sygnał %d ... Koniec pracy.\n" + +-#: muttlib.c:490 ++#: muttlib.c:488 + #, c-format + msgid "mutt_randbuf buflen=%zu" + msgstr "" + +-#: muttlib.c:510 ++#: muttlib.c:508 + #, c-format + msgid "open /dev/urandom: %s" + msgstr "" + +-#: muttlib.c:517 ++#: muttlib.c:515 + #, c-format + msgid "read /dev/urandom: %s" + msgstr "" +@@ -3367,146 +3471,119 @@ msgstr "" + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) + #. These three letters correspond to the choices in the string. +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "File is a directory, save under it: (y)es, (n)o, (a)ll?" + msgstr "Ten plik jest katalogim, zapisać w nim? (t)ak, (n)ie, (w)szystkie" + +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "yna" + msgstr "tnw" + + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) +-#: muttlib.c:763 ++#: muttlib.c:761 + msgid "File is a directory, save under it?" + msgstr "Ten plik jest katalogim, zapisać w nim?" + +-#: muttlib.c:768 ++#: muttlib.c:766 + msgid "File under directory: " + msgstr "Plik w katalogu: " + +-#: muttlib.c:781 ++#: muttlib.c:779 + msgid "File exists, (o)verwrite, (a)ppend, or (c)ancel?" + msgstr "Plik istnieje: (n)adpisać, (d)ołączyć czy (a)nulować?" + + #. L10N: Options for: File exists, (o)verwrite, (a)ppend, or (c)ancel? +-#: muttlib.c:783 ++#: muttlib.c:781 + msgid "oac" + msgstr "nda" + +-#: muttlib.c:1458 ++#: muttlib.c:1456 + msgid "Can't save message to POP mailbox" + msgstr "Nie można zapisać listu w skrzynce POP" + +-#: muttlib.c:1468 ++#: muttlib.c:1466 + #, c-format + msgid "Append messages to %s?" + msgstr "Dopisać listy do %s?" + +-#: muttlib.c:1481 ++#: muttlib.c:1479 + msgid "Can't save message to news server" + msgstr "Nie można zapisać listu na serwerze wiadomości" + +-#. L10N: Example: Username at myhost.com +-#: mutt_account.c:233 +-#, c-format +-msgid "Username at %s: " +-msgstr "Nazwa konta na %s: " +- +-#: mutt_account.c:315 +-#, c-format +-msgid "Password for %s@%s: " +-msgstr "Hasło dla %s@%s: " +- +-#. L10N: You will see this error message if (1) you have "oauthbearer" in +-#. one of your $*_authenticators and (2) you do not have the corresponding +-#. $*_oauth_refresh_command defined. So the message does not mean "None of +-#. your $*_oauth_refresh_command's are defined." +-#: mutt_account.c:383 +-msgid "No OAUTH refresh command defined" +-msgstr "Brak zdefiniowanej komendy odświeżania OAUTH" +- +-#: mutt_account.c:390 +-msgid "Unable to run refresh command" +-msgstr "" +- +-#: mutt_account.c:400 +-msgid "Command returned empty string" +-msgstr "" +- +-#: mutt_attach.c:140 mutt_attach.c:274 mutt_attach.c:459 mutt_attach.c:1054 ++#: mutt_attach.c:142 mutt_attach.c:276 mutt_attach.c:488 mutt_attach.c:1087 + msgid "Can't match 'nametemplate', continue?" + msgstr "Nie pasujący szablon nazwy, kontynuować?" + +-#: mutt_attach.c:150 ++#: mutt_attach.c:152 + #, c-format + msgid "Mailcap compose entry requires %%s" + msgstr "Pole \"compose\" w pliku 'mailcap' wymaga %%s" + +-#: mutt_attach.c:168 ++#: mutt_attach.c:170 + msgid "Failure to open file to parse headers" + msgstr "Błąd otwarcia pliku podczas interpretacji nagłówków" + +-#: mutt_attach.c:202 ++#: mutt_attach.c:204 + msgid "Failure to open file to strip headers" + msgstr "Błąd podczas próby otwarcia pliku w celu eliminacji nagłówków" + +-#: mutt_attach.c:212 ++#: mutt_attach.c:214 + msgid "Failure to rename file" + msgstr "Zmiana nazwy pliku nie powiodła się" + +-#: mutt_attach.c:222 ++#: mutt_attach.c:224 + #, c-format + msgid "No mailcap compose entry for %s, creating empty file" + msgstr "Brak pola \"compose\" dla %s w pliku 'mailcap', utworzono pusty plik" + +-#: mutt_attach.c:284 ++#: mutt_attach.c:286 + #, c-format + msgid "Mailcap Edit entry requires %%s" + msgstr "Pole \"Edit\" w pliku 'mailcap' wymaga %%s" + +-#: mutt_attach.c:305 ++#: mutt_attach.c:307 + #, c-format + msgid "No mailcap edit entry for %s" + msgstr "Brak pola \"Edit\" dla %s w pliku 'mailcap'" + +-#: mutt_attach.c:427 ++#: mutt_attach.c:456 + msgid "No matching mailcap entry found. Viewing as text." + msgstr "Brak odpowiedniego wpisu w 'mailcap'. Wyświetlam jako tekst." + +-#: mutt_attach.c:440 ++#: mutt_attach.c:469 + msgid "MIME type not defined. Can't view attachment." + msgstr "Typ MIME nie został zdefiniowany. Nie można wyświetlić załącznika." + +-#: mutt_attach.c:535 ++#: mutt_attach.c:563 + #, c-format + msgid "---Command: %-20.20s Description: %s" + msgstr "---Polecenie: %-20.20s Opis: %s" + +-#: mutt_attach.c:540 ++#: mutt_attach.c:568 + #, c-format + msgid "---Command: %-30.30s Attachment: %s" + msgstr "---Polecenie: %-30.30s Załącznik: %s" + +-#: mutt_attach.c:619 ++#: mutt_attach.c:652 + #, c-format + msgid "---Attachment: %s: %s" + msgstr "-- Załącznik: %s: %s" + +-#: mutt_attach.c:621 ++#: mutt_attach.c:654 + #, c-format + msgid "---Attachment: %s" + msgstr "-- Załącznik: %s" + +-#: mutt_attach.c:902 mutt_attach.c:910 ++#: mutt_attach.c:935 mutt_attach.c:943 + msgid "Write fault" + msgstr "Błąd zapisu" + +-#: mutt_attach.c:1174 ++#: mutt_attach.c:1207 + msgid "I don't know how to print that" + msgstr "Nie wiem jak to wydrukować" + +-#: mutt_history.c:47 query.c:84 ++#: mutt_history.c:47 query.c:82 + msgid "Search" + msgstr "Szukaj" + +@@ -3515,21 +3592,21 @@ msgstr "Szukaj" + msgid "History '%s'" + msgstr "Historia '%s'" + +-#: mutt_logging.c:315 ++#: mutt_logging.c:313 + #, c-format + msgid "Invalid value for option %s: %ld" + msgstr "Niewłaściwa wartość opcji %s: %ld" + +-#: mutt_lua.c:429 ++#: mutt_lua.c:431 + msgid "Error: Couldn't load the lua interpreter" + msgstr "" + +-#: mutt_lua.c:491 ++#: mutt_lua.c:493 + #, c-format + msgid "Couldn't source lua source: %s" + msgstr "Nie można wczytać kodu lua: %s" + +-#: mutt_mailbox.c:214 ++#: mutt_mailbox.c:241 + msgid "New mail in " + msgstr "Nowa poczta w " + +@@ -3550,20 +3627,20 @@ msgstr "Pierwszy list wątku nie jest widoczny w trybie ograniczonego przegląda + msgid "Parent message is not visible in this limited view" + msgstr "Pierwszy list wątku nie jest widoczny w trybie ograniczonego przeglądania" + +-#: mx.c:387 ++#: mx.c:385 + #, c-format + msgid "Reading from %s interrupted..." + msgstr "Przerwano wczytywanie z %s..." + + #. L10N: Displayed if a mailbox sync fails +-#: mx.c:468 ++#: mx.c:469 + #, c-format + msgid "Unable to write %s" + msgstr "Nie można zapisać %s" + + #. L10N: Although we know the precise number of messages, we do not show it to the user. + #. So feel free to use a "generic plural" as plural translation if your language has one. +-#: mx.c:523 ++#: mx.c:525 + msgid "message not deleted" + msgid_plural "messages not deleted" + msgstr[0] "wiadomość nie została usunięta" +@@ -3574,13 +3651,13 @@ msgstr[2] "wiadomości nie zostało usuniętych" + msgid "Can't open trash folder" + msgstr "Nie można otworzyć folderu trash" + +-#: mx.c:623 ++#: mx.c:627 + msgid "Mark all articles read?" + msgstr "Zaznaczyć wszystkie artykuły jako przeczytane?" + + #. L10N: The first argument is the number of read messages to be + #. moved, the second argument is the target mailbox. +-#: mx.c:671 ++#: mx.c:675 + #, c-format + msgid "Move %d read message to %s?" + msgid_plural "Move %d read messages to %s?" +@@ -3588,7 +3665,7 @@ msgstr[0] "Przenieść %d przeczytany list do %s?" + msgstr[1] "Przenieść %d przeczytane listy do %s?" + msgstr[2] "Przenieść %d przeczytanych listów do %s?" + +-#: mx.c:685 mx.c:917 ++#: mx.c:689 mx.c:936 + #, c-format + msgid "Purge %d deleted message?" + msgid_plural "Purge %d deleted messages?" +@@ -3596,49 +3673,49 @@ msgstr[0] "Usunąć NIEODWOŁALNIE %d zaznaczony list?" + msgstr[1] "Usunąć NIEODWOŁALNIE %d zaznaczone listy?" + msgstr[2] "Usunąć NIEODWOŁALNIE %d zaznaczonych listy?" + +-#: mx.c:708 ++#: mx.c:712 + #, c-format + msgid "Moving read messages to %s..." + msgstr "Przenoszenie przeczytanych listów do %s..." + +-#: mx.c:774 mx.c:908 ++#: mx.c:783 mx.c:927 + msgid "Mailbox is unchanged" + msgstr "Skrzynka pozostała niezmieniona" + +-#: mx.c:827 ++#: mx.c:842 + #, c-format + msgid "%d kept, %d moved, %d deleted" + msgstr "%d zapisano, %d przeniesiono, %d usunięto" + +-#: mx.c:831 mx.c:972 ++#: mx.c:846 mx.c:991 + #, c-format + msgid "%d kept, %d deleted" + msgstr "%d zapisano, %d usunięto" + +-#: mx.c:892 ++#: mx.c:911 + #, c-format + msgid " Press '%s' to toggle write" + msgstr " Naciśnij '%s' aby zezwolić na zapisanie" + +-#: mx.c:894 ++#: mx.c:913 + msgid "Use 'toggle-write' to re-enable write" + msgstr "Użyj 'toggle-write' by ponownie włączyć zapisanie" + +-#: mx.c:896 ++#: mx.c:915 + #, c-format + msgid "Mailbox is marked unwritable. %s" + msgstr "Skrzynka jest oznaczona jako niezapisywalna. %s" + +-#: mx.c:966 ++#: mx.c:985 + msgid "Mailbox checkpointed" + msgstr "Zmiany w skrzynce naniesiono" + +-#: ncrypt/crypt.c:93 ++#: ncrypt/crypt.c:91 + #, c-format + msgid " (current time: %c)" + msgstr " (bieżąca data i czas: %c)" + +-#: ncrypt/crypt.c:98 ++#: ncrypt/crypt.c:96 + #, c-format + msgid "[-- %s output follows%s --]\n" + msgstr "[-- Wynik działania %s %s --]\n" +@@ -3647,52 +3724,52 @@ msgstr "[-- Wynik działania %s %s --]\n" + #. by gpg-agent) we can't know whether we forgot zero, 1, 12, ... + #. passwords. So in English we use "Passphrases". Your language might + #. have other means to express this. +-#: ncrypt/crypt.c:119 ++#: ncrypt/crypt.c:117 + msgid "Passphrases forgotten" + msgstr "Hasło(a) zostało(y) zapomniane" + +-#: ncrypt/crypt.c:203 ++#: ncrypt/crypt.c:201 + msgid "Inline PGP can't be used with attachments. Revert to PGP/MIME?" + msgstr "Inline PGP nie może zostać użyte do załączników. Użyć PGP/MIME?" + +-#: ncrypt/crypt.c:207 ++#: ncrypt/crypt.c:205 + msgid "Mail not sent: inline PGP can't be used with attachments" + msgstr "Nie wysłano listu: PGP w treści nie może być używane z załącznikami" + +-#: ncrypt/crypt.c:214 ++#: ncrypt/crypt.c:212 + msgid "Inline PGP can't be used with format=flowed. Revert to PGP/MIME?" + msgstr "Inline PGP nie może zostać użyte do formatowania format=flow. Użyć PGP/MIME?" + +-#: ncrypt/crypt.c:218 ++#: ncrypt/crypt.c:216 + msgid "Mail not sent: inline PGP can't be used with format=flowed" + msgstr "Nie wysłano listu: PGP w treści nie może być używane z format=flowed" + +-#: ncrypt/crypt.c:228 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:714 +-#: ncrypt/pgpkey.c:915 ++#: ncrypt/crypt.c:226 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:747 ++#: ncrypt/pgpkey.c:950 + msgid "Invoking PGP..." + msgstr "Wywoływanie PGP..." + +-#: ncrypt/crypt.c:240 ++#: ncrypt/crypt.c:238 + msgid "Message can't be sent inline. Revert to using PGP/MIME?" + msgstr "Nie można wysłać listu w trybie inline. Zastosować PGP/MIME?" + +-#: ncrypt/crypt.c:242 send.c:2430 ++#: ncrypt/crypt.c:240 send.c:2441 + msgid "Mail not sent" + msgstr "List nie został wysłany" + +-#: ncrypt/crypt.c:662 ++#: ncrypt/crypt.c:666 + msgid "S/MIME messages with no hints on content are unsupported" + msgstr "Listy S/MIME bez wskazówek co do zawartości nie są obsługiwane" + +-#: ncrypt/crypt.c:888 ++#: ncrypt/crypt.c:892 + msgid "Trying to extract PGP keys...\n" + msgstr "Próba skopiowania kluczy PGP...\n" + +-#: ncrypt/crypt.c:917 ++#: ncrypt/crypt.c:921 + msgid "Trying to extract S/MIME certificates..." + msgstr "Próba skopiowania kluczy S/MIME..." + +-#: ncrypt/crypt.c:1140 ++#: ncrypt/crypt.c:1144 + #, c-format + msgid "" + "[-- Error: Unknown multipart/signed protocol %s --]\n" +@@ -3701,7 +3778,7 @@ msgstr "" + "[-- Błąd: Nieznany protokół multipart/signed %s --]\n" + "\n" + +-#: ncrypt/crypt.c:1180 ++#: ncrypt/crypt.c:1184 + msgid "" + "[-- Error: Missing or bad-format multipart/signed signature --]\n" + "\n" +@@ -3709,7 +3786,7 @@ msgstr "" + "[-- Błąd: Niespójna struktura podpisu multipart/signed --]\n" + "\n" + +-#: ncrypt/crypt.c:1222 ++#: ncrypt/crypt.c:1226 + #, c-format + msgid "" + "[-- Warning: We can't verify %s/%s signatures. --]\n" +@@ -3718,7 +3795,7 @@ msgstr "" + "[-- Ostrzeżenie: nie można zweryfikować podpisów %s/%s --]\n" + "\n" + +-#: ncrypt/crypt.c:1235 ++#: ncrypt/crypt.c:1239 + msgid "" + "[-- The following data is signed --]\n" + "\n" +@@ -3726,7 +3803,7 @@ msgstr "" + "[-- Poniższe dane są podpisane --]\n" + "\n" + +-#: ncrypt/crypt.c:1243 ++#: ncrypt/crypt.c:1248 + msgid "" + "[-- Warning: Can't find any signatures. --]\n" + "\n" +@@ -3734,7 +3811,7 @@ msgstr "" + "[-- Ostrzeżenie: Nie znaleziono żadnych podpisów. --]\n" + "\n" + +-#: ncrypt/crypt.c:1249 ++#: ncrypt/crypt.c:1255 + msgid "" + "\n" + "[-- End of signed data --]\n" +@@ -3753,229 +3830,229 @@ msgstr "Wywoływanie S/MIME..." + #. L10N: The following are the headers for the "verify key" output from the + #. GPGME key selection menu (bound to "c" in the key selection menu). + #. They will be automatically aligned. +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Name: " + msgstr "Nazwa: " + +-#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1869 ncrypt/crypt_gpgme.c:1874 ++#: ncrypt/crypt_gpgme.c:183 ncrypt/crypt_gpgme.c:1900 ncrypt/crypt_gpgme.c:1905 + msgid "aka: " + msgstr "znany także jako: " + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Valid From: " + msgstr "Ważny od: " + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Valid To: " + msgstr "Ważny do: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Key Type: " + msgstr "Typ Klucza: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Key Usage: " + msgstr "Użycie Klucza: " + +-#: ncrypt/crypt_gpgme.c:185 ncrypt/crypt_gpgme.c:1759 ++#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1790 + msgid "Fingerprint: " + msgstr "Odcisk: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Serial-No: " + msgstr "Numer Seryjny: " + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + msgid "Issued By: " + msgstr "Wydany przez: " + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + msgid "Subkey: " + msgstr "Podklucz: " + +-#: ncrypt/crypt_gpgme.c:783 ++#: ncrypt/crypt_gpgme.c:782 + #, c-format + msgid "error enabling CMS protocol: %s" + msgstr "Błąd uruchamiania protokołu CMS: %s" + +-#: ncrypt/crypt_gpgme.c:806 ++#: ncrypt/crypt_gpgme.c:805 + #, c-format + msgid "error creating gpgme data object: %s" + msgstr "Błąd tworzenia obiektu danych gpgme: %s" + +-#: ncrypt/crypt_gpgme.c:907 ncrypt/crypt_gpgme.c:934 ncrypt/crypt_gpgme.c:2057 +-#: ncrypt/crypt_gpgme.c:2814 ++#: ncrypt/crypt_gpgme.c:906 ncrypt/crypt_gpgme.c:933 ncrypt/crypt_gpgme.c:2096 ++#: ncrypt/crypt_gpgme.c:2853 + #, c-format + msgid "error allocating data object: %s" + msgstr "Błąd alokacji obiektu danych: %s" + +-#: ncrypt/crypt_gpgme.c:956 ++#: ncrypt/crypt_gpgme.c:955 + #, c-format + msgid "error rewinding data object: %s" + msgstr "Błąd przeszukania obiektu danych: %s" + +-#: ncrypt/crypt_gpgme.c:972 ++#: ncrypt/crypt_gpgme.c:971 + msgid "[tempfile]" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:978 ncrypt/crypt_gpgme.c:1032 ++#: ncrypt/crypt_gpgme.c:977 ncrypt/crypt_gpgme.c:1031 + #, c-format + msgid "error reading data object: %s" + msgstr "Błąd czytania obiektu danych: %s" + +-#: ncrypt/crypt_gpgme.c:1149 ++#: ncrypt/crypt_gpgme.c:1148 + #, c-format + msgid "error adding recipient '%s': %s" + msgstr "błąd dodania odbiorcy '%s': %s" + +-#: ncrypt/crypt_gpgme.c:1202 ++#: ncrypt/crypt_gpgme.c:1186 + #, c-format + msgid "secret key '%s' not found: %s" + msgstr "Klucz tajny '%s' nie został odnaleziony: %s" + +-#: ncrypt/crypt_gpgme.c:1218 ++#: ncrypt/crypt_gpgme.c:1203 + #, c-format + msgid "ambiguous specification of secret key '%s'\n" + msgstr "niejednoznaczne określenie klucza tajnego '%s'\n" + +-#: ncrypt/crypt_gpgme.c:1234 ++#: ncrypt/crypt_gpgme.c:1219 + #, c-format + msgid "error setting secret key '%s': %s" + msgstr "Błąd obsługi klucza tajnego '%s': %s" + +-#: ncrypt/crypt_gpgme.c:1250 ++#: ncrypt/crypt_gpgme.c:1278 + #, c-format + msgid "error setting PKA signature notation: %s" + msgstr "PKA: błąd konfigurowania notacji podpisu: %s" + +-#: ncrypt/crypt_gpgme.c:1324 ++#: ncrypt/crypt_gpgme.c:1353 + #, c-format + msgid "error encrypting data: %s" + msgstr "Błąd szyfrowania danych: %s" + +-#: ncrypt/crypt_gpgme.c:1453 ++#: ncrypt/crypt_gpgme.c:1483 + #, c-format + msgid "error signing data: %s" + msgstr "Błąd podpisania danych: %s" + +-#: ncrypt/crypt_gpgme.c:1463 ++#: ncrypt/crypt_gpgme.c:1493 + msgid "$pgp_sign_as unset and no default key specified in ~/.gnupg/gpg.conf" + msgstr "ani zmienna $pgp_sign_as nie jest ustawiona, ani nie zdefiniowano domyślnego klucza w ~/.gnupg/gpg.conf" + +-#: ncrypt/crypt_gpgme.c:1641 ++#: ncrypt/crypt_gpgme.c:1672 + msgid "Warning: One of the keys has been revoked\n" + msgstr "Ostrzeżenie: jeden z kluczy został wycofany.\n" + +-#: ncrypt/crypt_gpgme.c:1651 ++#: ncrypt/crypt_gpgme.c:1682 + msgid "Warning: The key used to create the signature expired at: " + msgstr "Ostrzeżenie: klucz użyty do podpisania wygasł dnia: " + +-#: ncrypt/crypt_gpgme.c:1657 ++#: ncrypt/crypt_gpgme.c:1688 + msgid "Warning: At least one certification key has expired\n" + msgstr "Ostrzeżenie: co najmniej jeden z certyfikatów wygasł.\n" + +-#: ncrypt/crypt_gpgme.c:1671 ++#: ncrypt/crypt_gpgme.c:1702 + msgid "Warning: The signature expired at: " + msgstr "Ostrzeżenie: podpis wygasł dnia: " + +-#: ncrypt/crypt_gpgme.c:1678 ++#: ncrypt/crypt_gpgme.c:1709 + msgid "Can't verify due to a missing key or certificate\n" + msgstr "Nie można zweryfikować: brak klucza lub certyfikatu.\n" + +-#: ncrypt/crypt_gpgme.c:1683 ++#: ncrypt/crypt_gpgme.c:1714 + msgid "The CRL is not available\n" + msgstr "CRL nie jest dostępny.\n" + +-#: ncrypt/crypt_gpgme.c:1689 ++#: ncrypt/crypt_gpgme.c:1720 + msgid "Available CRL is too old\n" + msgstr "Ten CRL jest zbyt stary.\n" + +-#: ncrypt/crypt_gpgme.c:1694 ++#: ncrypt/crypt_gpgme.c:1725 + msgid "A policy requirement was not met\n" + msgstr "Nie spełniono wymagań polityki.\n" + +-#: ncrypt/crypt_gpgme.c:1703 ++#: ncrypt/crypt_gpgme.c:1734 + msgid "A system error occurred" + msgstr "Wystąpił błąd systemowy." + +-#: ncrypt/crypt_gpgme.c:1734 ++#: ncrypt/crypt_gpgme.c:1765 + msgid "WARNING: PKA entry does not match signer's address: " + msgstr "Ostrzeżenie: dane PKA nie odpowiadają adresowi nadawcy: " + +-#: ncrypt/crypt_gpgme.c:1740 ++#: ncrypt/crypt_gpgme.c:1771 + msgid "PKA verified signer's address is: " + msgstr "Adres nadawcy zweryfikowany przez PKA to: " + +-#: ncrypt/crypt_gpgme.c:1822 ++#: ncrypt/crypt_gpgme.c:1853 + msgid "WARNING: We have NO indication whether the key belongs to the person named as shown above\n" + msgstr "Ostrzeżenie: nie ma ŻADNYCH dowodów, że ten klucz należy do osoby podanej powyżej.\n" + +-#: ncrypt/crypt_gpgme.c:1829 ++#: ncrypt/crypt_gpgme.c:1860 + msgid "WARNING: The key does NOT BELONG to the person named as shown above\n" + msgstr "Ostrzeżenie: ten klucz NIE NALEŻY do osoby podanej powyżej.\n" + +-#: ncrypt/crypt_gpgme.c:1833 ++#: ncrypt/crypt_gpgme.c:1864 + msgid "WARNING: It is NOT certain that the key belongs to the person named as shown above\n" + msgstr "Ostrzeżenie: NIE ma pewności, że ten klucz należy do osoby podanej powyżej.\n" + +-#: ncrypt/crypt_gpgme.c:1886 ++#: ncrypt/crypt_gpgme.c:1917 + msgid "KeyID " + msgstr "Identyfikator klucza " + + #. L10N: You will see this message in place of "KeyID " + #. if the S/MIME key has no ID. This is quite an error. +-#: ncrypt/crypt_gpgme.c:1893 ++#: ncrypt/crypt_gpgme.c:1924 + msgid "no signature fingerprint available" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1902 ncrypt/crypt_gpgme.c:1907 ++#: ncrypt/crypt_gpgme.c:1933 ncrypt/crypt_gpgme.c:1938 + msgid "created: " + msgstr "utworzono: " + +-#: ncrypt/crypt_gpgme.c:1981 ++#: ncrypt/crypt_gpgme.c:2012 + #, c-format + msgid "Error getting key information for KeyID %s: %s\n" + msgstr "Błąd pobrania informacji o KeyID %s: %s\n" + +-#: ncrypt/crypt_gpgme.c:1988 ncrypt/crypt_gpgme.c:2003 ++#: ncrypt/crypt_gpgme.c:2019 ncrypt/crypt_gpgme.c:2034 + msgid "Good signature from:" + msgstr "Poprawny podpis złożony przez: " + +-#: ncrypt/crypt_gpgme.c:1995 ++#: ncrypt/crypt_gpgme.c:2026 + msgid "*BAD* signature from:" + msgstr "*BŁĘDNY* podpis złożony przez: " + +-#: ncrypt/crypt_gpgme.c:2011 ++#: ncrypt/crypt_gpgme.c:2042 + msgid "Problem signature from:" + msgstr "Problematyczny podpis złożony przez:" + + #. L10N: This is trying to match the width of the + #. "Problem signature from:" translation just above. +-#: ncrypt/crypt_gpgme.c:2017 ++#: ncrypt/crypt_gpgme.c:2048 + msgid " expires: " + msgstr " wygasa: " + +-#: ncrypt/crypt_gpgme.c:2064 ncrypt/crypt_gpgme.c:2294 +-#: ncrypt/crypt_gpgme.c:3081 ++#: ncrypt/crypt_gpgme.c:2103 ncrypt/crypt_gpgme.c:2333 ++#: ncrypt/crypt_gpgme.c:3124 + msgid "[-- Begin signature information --]\n" + msgstr "[-- Informacja o podpisie --]\n" + +-#: ncrypt/crypt_gpgme.c:2075 ++#: ncrypt/crypt_gpgme.c:2114 + #, c-format + msgid "Error: verification failed: %s\n" + msgstr "Błąd: weryfikacja nie powiodła się: %s\n" + +-#: ncrypt/crypt_gpgme.c:2126 ++#: ncrypt/crypt_gpgme.c:2165 + #, c-format + msgid "*** Begin Notation (signature by: %s) ***\n" + msgstr "[-- Początek danych (podpisane przez: %s) --]\n" + +-#: ncrypt/crypt_gpgme.c:2145 ++#: ncrypt/crypt_gpgme.c:2184 + msgid "*** End Notation ***\n" + msgstr "[-- Koniec danych --]\n" + +-#: ncrypt/crypt_gpgme.c:2153 ncrypt/crypt_gpgme.c:2308 +-#: ncrypt/crypt_gpgme.c:3091 ++#: ncrypt/crypt_gpgme.c:2192 ncrypt/crypt_gpgme.c:2347 ++#: ncrypt/crypt_gpgme.c:3134 + msgid "" + "[-- End signature information --]\n" + "\n" +@@ -3983,7 +4060,7 @@ msgstr "" + "[-- Koniec informacji o podpisie --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:2268 ++#: ncrypt/crypt_gpgme.c:2307 + #, c-format + msgid "" + "[-- Error: decryption failed: %s --]\n" +@@ -3992,21 +4069,26 @@ msgstr "" + "[-- Błąd: odszyfrowanie nie powiodło się: %s --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:2821 ++#: ncrypt/crypt_gpgme.c:2860 + #, c-format + msgid "Error importing key: %s" + msgstr "Błąd importowania klucza: %s" + +-#: ncrypt/crypt_gpgme.c:3059 ++#: ncrypt/crypt_gpgme.c:3098 + #, c-format + msgid "Error: decryption/verification failed: %s\n" + msgstr "Błąd: odszyfrowanie lub weryfikacja nie powiodły się: %s\n" + +-#: ncrypt/crypt_gpgme.c:3103 ++#: ncrypt/crypt_gpgme.c:3105 ncrypt/crypt_gpgme.c:3302 ncrypt/pgp.c:726 ++#: ncrypt/pgp.c:1273 ++msgid "PGP message successfully decrypted" ++msgstr "List PGP został poprawnie odszyfrowany" ++ ++#: ncrypt/crypt_gpgme.c:3146 + msgid "Error: copy data failed\n" + msgstr "Błąd: kopiowanie danych nie powiodło się\n" + +-#: ncrypt/crypt_gpgme.c:3116 ncrypt/pgp.c:675 ++#: ncrypt/crypt_gpgme.c:3159 ncrypt/pgp.c:674 + msgid "" + "[-- BEGIN PGP MESSAGE --]\n" + "\n" +@@ -4014,11 +4096,11 @@ msgstr "" + "[-- POCZĄTEK LISTU PGP --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3118 ncrypt/pgp.c:677 ++#: ncrypt/crypt_gpgme.c:3161 ncrypt/pgp.c:676 + msgid "[-- BEGIN PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- POCZĄTEK KLUCZA PUBLICZNEGO PGP --]\n" + +-#: ncrypt/crypt_gpgme.c:3120 ncrypt/pgp.c:679 ++#: ncrypt/crypt_gpgme.c:3163 ncrypt/pgp.c:678 + msgid "" + "[-- BEGIN PGP SIGNED MESSAGE --]\n" + "\n" +@@ -4026,19 +4108,19 @@ msgstr "" + "[-- POCZĄTEK LISTU PODPISANEGO PGP --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3145 ncrypt/pgp.c:716 ++#: ncrypt/crypt_gpgme.c:3188 ncrypt/pgp.c:715 + msgid "[-- END PGP MESSAGE --]\n" + msgstr "[-- KONIEC LISTU PGP --]\n" + +-#: ncrypt/crypt_gpgme.c:3147 ncrypt/pgp.c:730 ++#: ncrypt/crypt_gpgme.c:3190 ncrypt/pgp.c:729 + msgid "[-- END PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- KONIEC PUBLICZNEGO KLUCZA PGP --]\n" + +-#: ncrypt/crypt_gpgme.c:3149 ncrypt/pgp.c:732 ++#: ncrypt/crypt_gpgme.c:3192 ncrypt/pgp.c:731 + msgid "[-- END PGP SIGNED MESSAGE --]\n" + msgstr "[-- KONIEC LISTU PODPISANEGO PGP --]\n" + +-#: ncrypt/crypt_gpgme.c:3170 ncrypt/pgp.c:765 ++#: ncrypt/crypt_gpgme.c:3213 ncrypt/pgp.c:764 + msgid "" + "[-- Error: could not find beginning of PGP message --]\n" + "\n" +@@ -4046,11 +4128,11 @@ msgstr "" + "[-- Błąd: nie można odnaleźć początku listu PGP --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3198 ncrypt/crypt_gpgme.c:3296 ncrypt/pgp.c:1218 ++#: ncrypt/crypt_gpgme.c:3241 ncrypt/crypt_gpgme.c:3339 ncrypt/pgp.c:1218 + msgid "[-- Error: could not create temporary file --]\n" + msgstr "[-- Błąd: nie można utworzyć pliku tymczasowego --]\n" + +-#: ncrypt/crypt_gpgme.c:3212 ++#: ncrypt/crypt_gpgme.c:3255 + msgid "" + "[-- The following data is PGP/MIME signed and encrypted --]\n" + "\n" +@@ -4058,7 +4140,7 @@ msgstr "" + "[-- Następujące dane są podpisane i zaszyfrowane PGP/MIME --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3214 ncrypt/pgp.c:1231 ++#: ncrypt/crypt_gpgme.c:3257 ncrypt/pgp.c:1232 + msgid "" + "[-- The following data is PGP/MIME encrypted --]\n" + "\n" +@@ -4066,24 +4148,20 @@ msgstr "" + "[-- Następujące dane są zaszyfrowane PGP/MIME --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3254 ++#: ncrypt/crypt_gpgme.c:3297 + msgid "[-- End of PGP/MIME signed and encrypted data --]\n" + msgstr "[-- Koniec danych podpisanych i zaszyfrowanych PGP/MIME --]\n" + +-#: ncrypt/crypt_gpgme.c:3255 ncrypt/pgp.c:1267 ++#: ncrypt/crypt_gpgme.c:3298 ncrypt/pgp.c:1268 + msgid "[-- End of PGP/MIME encrypted data --]\n" + msgstr "[-- Koniec danych zaszyfrowanych PGP/MIME --]\n" + +-#: ncrypt/crypt_gpgme.c:3259 ncrypt/pgp.c:727 ncrypt/pgp.c:1272 +-msgid "PGP message successfully decrypted" +-msgstr "List PGP został poprawnie odszyfrowany" +- +-#: ncrypt/crypt_gpgme.c:3265 ncrypt/pgp.c:666 ncrypt/pgp.c:718 +-#: ncrypt/pgp.c:1276 ++#: ncrypt/crypt_gpgme.c:3308 ncrypt/pgp.c:665 ncrypt/pgp.c:717 ++#: ncrypt/pgp.c:1277 + msgid "Could not decrypt PGP message" + msgstr "Odszyfrowanie listu PGP nie powiodło się" + +-#: ncrypt/crypt_gpgme.c:3310 ++#: ncrypt/crypt_gpgme.c:3353 + msgid "" + "[-- The following data is S/MIME signed --]\n" + "\n" +@@ -4091,7 +4169,7 @@ msgstr "" + "[-- Poniższe dane są podpisane S/MIME --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3311 ++#: ncrypt/crypt_gpgme.c:3354 + msgid "" + "[-- The following data is S/MIME encrypted --]\n" + "\n" +@@ -4099,34 +4177,34 @@ msgstr "" + "[-- Następujące dane są zaszyfrowane S/MIME --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3358 ++#: ncrypt/crypt_gpgme.c:3401 + msgid "[-- End of S/MIME signed data --]\n" + msgstr "[-- Koniec danych podpisanych S/MIME. --]\n" + +-#: ncrypt/crypt_gpgme.c:3359 ++#: ncrypt/crypt_gpgme.c:3402 + msgid "[-- End of S/MIME encrypted data --]\n" + msgstr "[-- Koniec danych zaszyfrowanych S/MIME. --]\n" + +-#: ncrypt/crypt_gpgme.c:4029 ++#: ncrypt/crypt_gpgme.c:4077 + msgid "[Can't display this user ID (unknown encoding)]" + msgstr "Nie można wyświetlić identyfikatora - nieznane kodowanie." + +-#: ncrypt/crypt_gpgme.c:4031 ++#: ncrypt/crypt_gpgme.c:4079 + msgid "[Can't display this user ID (invalid encoding)]" + msgstr "Nie można wyświetlić identyfikatora - błędne kodowanie." + +-#: ncrypt/crypt_gpgme.c:4036 ++#: ncrypt/crypt_gpgme.c:4084 + msgid "[Can't display this user ID (invalid DN)]" + msgstr "Nie można wyświetlić identyfikatora - błędny DN." + + #. L10N: comes after the Name or aka if the key is invalid + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4150 ncrypt/crypt_gpgme.c:4291 ++#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4339 + msgid "[Invalid]" + msgstr "[Błędny]" + + #. L10N: This is printed after "Key Type: " and looks like this: PGP, 2048 bit RSA +-#: ncrypt/crypt_gpgme.c:4190 ncrypt/crypt_gpgme.c:4331 ++#: ncrypt/crypt_gpgme.c:4238 ncrypt/crypt_gpgme.c:4379 + #, c-format + msgid "%s, %lu bit %s\n" + msgid_plural "%s, %lu bit %s\n" +@@ -4135,94 +4213,94 @@ msgstr[1] "%s, %lu bity %s\n" + msgstr[2] "%s, %lu bitów %s\n" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4338 ++#: ncrypt/crypt_gpgme.c:4246 ncrypt/crypt_gpgme.c:4386 + msgid "encryption" + msgstr "szyfrowanie" + +-#: ncrypt/crypt_gpgme.c:4199 ncrypt/crypt_gpgme.c:4205 +-#: ncrypt/crypt_gpgme.c:4339 ncrypt/crypt_gpgme.c:4344 ++#: ncrypt/crypt_gpgme.c:4247 ncrypt/crypt_gpgme.c:4253 ++#: ncrypt/crypt_gpgme.c:4387 ncrypt/crypt_gpgme.c:4392 + msgid ", " + msgstr ", " + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4204 ncrypt/crypt_gpgme.c:4343 ++#: ncrypt/crypt_gpgme.c:4252 ncrypt/crypt_gpgme.c:4391 + msgid "signing" + msgstr "podpisywanie" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4210 ncrypt/crypt_gpgme.c:4348 ++#: ncrypt/crypt_gpgme.c:4258 ncrypt/crypt_gpgme.c:4396 + msgid "certification" + msgstr "certyfikowanie" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4285 ++#: ncrypt/crypt_gpgme.c:4333 + msgid "[Revoked]" + msgstr "[Wyprowadzony]" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4297 ++#: ncrypt/crypt_gpgme.c:4345 + msgid "[Expired]" + msgstr "[Wygasły]" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4303 ++#: ncrypt/crypt_gpgme.c:4351 + msgid "[Disabled]" + msgstr "[Zablokowany]" + +-#: ncrypt/crypt_gpgme.c:4376 ++#: ncrypt/crypt_gpgme.c:4424 + msgid "Collecting data..." + msgstr "Gromadzenie danych..." + +-#: ncrypt/crypt_gpgme.c:4394 ++#: ncrypt/crypt_gpgme.c:4442 + #, c-format + msgid "Error finding issuer key: %s\n" + msgstr "Nie znaleziono klucza wydawcy: %s\n" + +-#: ncrypt/crypt_gpgme.c:4403 ++#: ncrypt/crypt_gpgme.c:4451 + msgid "Error: certification chain too long - stopping here\n" + msgstr "Błąd: łańcuch certyfikatów zbyt długi - przetwarzanie zatrzymano tutaj\n" + +-#: ncrypt/crypt_gpgme.c:4413 ncrypt/pgpkey.c:733 ++#: ncrypt/crypt_gpgme.c:4461 ncrypt/pgpkey.c:766 + #, c-format + msgid "Key ID: 0x%s" + msgstr "Identyfikator klucza: 0x%s" + +-#: ncrypt/crypt_gpgme.c:4538 ncrypt/crypt_gpgme.c:4589 ++#: ncrypt/crypt_gpgme.c:4586 ncrypt/crypt_gpgme.c:4637 + #, c-format + msgid "gpgme_op_keylist_start failed: %s" + msgstr "wykonanie gpgme_op_keylist_start nie powiodło się: %s" + +-#: ncrypt/crypt_gpgme.c:4577 ncrypt/crypt_gpgme.c:4619 +-#: ncrypt/crypt_gpgme.c:5355 ++#: ncrypt/crypt_gpgme.c:4625 ncrypt/crypt_gpgme.c:4667 ++#: ncrypt/crypt_gpgme.c:5435 + #, c-format + msgid "gpgme_op_keylist_next failed: %s" + msgstr "wykonanie gpgme_op_keylist_next nie powiodło się: %s" + +-#: ncrypt/crypt_gpgme.c:4701 ++#: ncrypt/crypt_gpgme.c:4749 + msgid "All matching keys are marked expired/revoked" + msgstr "Wszystkie pasujące klucze są zaznaczone jako wygasłe lub wycofane" + +-#: ncrypt/crypt_gpgme.c:4731 ncrypt/pgpkey.c:666 ncrypt/smime.c:551 ++#: ncrypt/crypt_gpgme.c:4779 ncrypt/pgpkey.c:669 ncrypt/smime.c:553 + msgid "Select " + msgstr "Wybór " + +-#: ncrypt/crypt_gpgme.c:4733 ncrypt/pgpkey.c:668 ++#: ncrypt/crypt_gpgme.c:4781 ncrypt/pgpkey.c:671 + msgid "Check key " + msgstr "Sprawdź klucz " + +-#: ncrypt/crypt_gpgme.c:4749 ++#: ncrypt/crypt_gpgme.c:4827 + msgid "PGP and S/MIME keys matching" + msgstr "Pasujące klucze PGP i S/MIME" + +-#: ncrypt/crypt_gpgme.c:4751 ++#: ncrypt/crypt_gpgme.c:4829 + msgid "PGP keys matching" + msgstr "Pasujące klucze PGP" + +-#: ncrypt/crypt_gpgme.c:4753 ++#: ncrypt/crypt_gpgme.c:4831 + msgid "S/MIME keys matching" + msgstr "Pasujące klucze S/MIME" + +-#: ncrypt/crypt_gpgme.c:4755 ++#: ncrypt/crypt_gpgme.c:4833 + msgid "keys matching" + msgstr "pasujące klucze" + +@@ -4230,55 +4308,55 @@ msgstr "pasujące klucze" + #. %1$s is one of the previous four entries. + #. %2$s is an address. + #. e.g. "S/MIME keys matching " +-#: ncrypt/crypt_gpgme.c:4763 ++#: ncrypt/crypt_gpgme.c:4841 + #, c-format + msgid "%s <%s>" + msgstr "%s <%s>" + + #. L10N: e.g. 'S/MIME keys matching "Michael Elkins".' +-#: ncrypt/crypt_gpgme.c:4768 ++#: ncrypt/crypt_gpgme.c:4846 + #, c-format + msgid "%s \"%s\"" + msgstr "%s \"%s\"" + +-#: ncrypt/crypt_gpgme.c:4796 ncrypt/pgpkey.c:754 ++#: ncrypt/crypt_gpgme.c:4874 ncrypt/pgpkey.c:787 + msgid "This key can't be used: expired/disabled/revoked" + msgstr "Nie można użyć tego klucza: wygasł, został wyłączony lub wyprowadzony" + +-#: ncrypt/crypt_gpgme.c:4810 ncrypt/pgpkey.c:767 ncrypt/smime.c:581 ++#: ncrypt/crypt_gpgme.c:4888 ncrypt/pgpkey.c:800 ncrypt/smime.c:613 + msgid "ID is expired/disabled/revoked. Do you really want to use the key?" + msgstr "Identyfikator wygasł, został wyłączony lub wyprowadzony. Czy naprawdę chcesz użyć tego klucza?" + +-#: ncrypt/crypt_gpgme.c:4820 ncrypt/pgpkey.c:779 ++#: ncrypt/crypt_gpgme.c:4898 ncrypt/pgpkey.c:812 + msgid "ID is not valid. Do you really want to use the key?" + msgstr "Nieprawidłowy identyfikator. Czy naprawdę chcesz użyć tego klucza?" + +-#: ncrypt/crypt_gpgme.c:4823 ncrypt/pgpkey.c:782 ++#: ncrypt/crypt_gpgme.c:4901 ncrypt/pgpkey.c:815 + msgid "ID is only marginally valid. Do you really want to use the key?" + msgstr "Ten identyfikator jest tylko częściowo ważny. Czy naprawdę chcesz użyć tego klucza?" + +-#: ncrypt/crypt_gpgme.c:4831 ncrypt/pgpkey.c:775 ncrypt/smime.c:585 ++#: ncrypt/crypt_gpgme.c:4909 ncrypt/pgpkey.c:808 ncrypt/smime.c:617 + msgid "ID has undefined validity. Do you really want to use the key?" + msgstr "Poziom ważności tego identyfikatora nie został określony. Czy naprawdę chcesz użyć tego klucza?" + +-#: ncrypt/crypt_gpgme.c:4911 ncrypt/crypt_gpgme.c:5024 ncrypt/pgpkey.c:1019 +-#: ncrypt/pgpkey.c:1146 ++#: ncrypt/crypt_gpgme.c:4991 ncrypt/crypt_gpgme.c:5104 ncrypt/pgpkey.c:1054 ++#: ncrypt/pgpkey.c:1181 + #, c-format + msgid "Looking for keys matching \"%s\"..." + msgstr "Wyszukiwanie odpowiednich kluczy dla \"%s\"..." + +-#: ncrypt/crypt_gpgme.c:5140 ncrypt/pgpkey.c:870 ncrypt/smime.c:924 ++#: ncrypt/crypt_gpgme.c:5220 ncrypt/pgpkey.c:905 ncrypt/smime.c:958 + #, c-format + msgid "No matching keys found for \"%s\"" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5190 ncrypt/pgp.c:1456 ++#: ncrypt/crypt_gpgme.c:5270 ncrypt/pgp.c:1457 + #, c-format + msgid "Use keyID = \"%s\" for %s?" + msgstr "Użyć klucza numer \"%s\" dla %s?" + +-#: ncrypt/crypt_gpgme.c:5238 ncrypt/pgp.c:1505 ncrypt/smime.c:944 +-#: ncrypt/smime.c:1049 ++#: ncrypt/crypt_gpgme.c:5318 ncrypt/pgp.c:1506 ncrypt/smime.c:978 ++#: ncrypt/smime.c:1083 + #, c-format + msgid "Enter keyID for %s: " + msgstr "Wprowadź numer klucza dla %s: " +@@ -4287,15 +4365,15 @@ msgstr "Wprowadź numer klucza dla %s: " + #. mutt_gpgme_select_secret_key() tries to list all secret keys to choose + #. from. This error is displayed if no results were found. + #. +-#: ncrypt/crypt_gpgme.c:5364 ++#: ncrypt/crypt_gpgme.c:5444 + msgid "No secret keys found" + msgstr "Nie znaleziono tajnych kluczy" + +-#: ncrypt/crypt_gpgme.c:5398 ncrypt/pgpkey.c:888 ++#: ncrypt/crypt_gpgme.c:5478 ncrypt/pgpkey.c:923 + msgid "Please enter the key ID: " + msgstr "Podaj identyfikator klucza: " + +-#: ncrypt/crypt_gpgme.c:5411 ++#: ncrypt/crypt_gpgme.c:5491 + #, c-format + msgid "Error exporting key: %s" + msgstr "Błąd eksportowania klucza: %s" +@@ -4303,92 +4381,92 @@ msgstr "Błąd eksportowania klucza: %s" + #. 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. +-#: ncrypt/crypt_gpgme.c:5429 ++#: ncrypt/crypt_gpgme.c:5509 + #, c-format + msgid "PGP Key 0x%s" + msgstr "Klucz PGP 0x%s" + +-#: ncrypt/crypt_gpgme.c:5474 ++#: ncrypt/crypt_gpgme.c:5554 + msgid "GPGME: OpenPGP protocol not available" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5485 ++#: ncrypt/crypt_gpgme.c:5565 + msgid "GPGME: CMS protocol not available" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5536 ++#: ncrypt/crypt_gpgme.c:5616 + msgid "S/MIME (s)ign, sign (a)s, (p)gp, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME: (p)odpisz, podpisz (j)ako, p(g)p, wy(c)zyść lub wyłącz tryb (o)ppenc?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5538 ++#: ncrypt/crypt_gpgme.c:5618 + msgid "sapco" + msgstr "pjgco" + +-#: ncrypt/crypt_gpgme.c:5545 ++#: ncrypt/crypt_gpgme.c:5625 + msgid "PGP (s)ign, sign (a)s, s/(m)ime, (c)lear, or (o)ppenc mode off?" + msgstr "PGP: (p)odpisz, podpisz (j)ako, s/(m)ime, wy(c)zyść lub wyłącz tryb (o)ppenc?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5547 ++#: ncrypt/crypt_gpgme.c:5627 + msgid "samco" + msgstr "pjmco" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5557 ++#: ncrypt/crypt_gpgme.c:5637 + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME: (z)aszyfruj, (p)odpisz, podpisz (j)ako, o(b)a, p(g)p, wy(c)zyść lub tryb (o)ppenc?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5560 ++#: ncrypt/crypt_gpgme.c:5640 + msgid "esabpco" + msgstr "zpjbgco" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5566 ++#: ncrypt/crypt_gpgme.c:5646 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime, (c)lear, or (o)ppenc mode?" + msgstr "PGP: (z)aszyfruj, (p)odpisz, podpisz (j)ako, o(b)a, (s)/mime, wy(c)zyść lub tryb (o)ppenc?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5569 ++#: ncrypt/crypt_gpgme.c:5649 + msgid "esabmco" + msgstr "zpjbsco" + +-#: ncrypt/crypt_gpgme.c:5580 ++#: ncrypt/crypt_gpgme.c:5660 + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp or (c)lear?" + msgstr "S/MIME: (z)aszyfruj, (p)odpisz, podpisz (j)ako, o(b)a, p(g)p, (a)nuluj?" + + #. L10N: S/MIME options +-#: ncrypt/crypt_gpgme.c:5582 ++#: ncrypt/crypt_gpgme.c:5662 + msgid "esabpc" + msgstr "zpjbga" + +-#: ncrypt/crypt_gpgme.c:5589 ++#: ncrypt/crypt_gpgme.c:5669 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime or (c)lear?" + msgstr "PGP: (z)aszyfruj, (p)odpisz, podpisz (j)ako, o(b)a, (s)/mime lub (w)yczyść?" + + #. L10N: PGP options +-#: ncrypt/crypt_gpgme.c:5591 ++#: ncrypt/crypt_gpgme.c:5671 + msgid "esabmc" + msgstr "zpjbsw" + +-#: ncrypt/crypt_gpgme.c:5751 ++#: ncrypt/crypt_gpgme.c:5831 + msgid "Failed to verify sender" + msgstr "Błąd weryfikacji nadawcy" + +-#: ncrypt/crypt_gpgme.c:5754 ++#: ncrypt/crypt_gpgme.c:5834 + msgid "Failed to figure out sender" + msgstr "Błąd określenia nadawcy" + +-#: ncrypt/pgp.c:108 ++#: ncrypt/pgp.c:107 + msgid "Enter PGP passphrase:" + msgstr "Wprowadź hasło PGP:" + +-#: ncrypt/pgp.c:595 ++#: ncrypt/pgp.c:594 + msgid "[-- Error: unable to create PGP subprocess --]\n" + msgstr "[-- Błąd: nie można utworzyć podprocesu PGP --]\n" + +-#: ncrypt/pgp.c:644 ncrypt/pgp.c:926 ncrypt/pgp.c:1086 ++#: ncrypt/pgp.c:643 ncrypt/pgp.c:925 ncrypt/pgp.c:1085 + msgid "" + "[-- End of PGP output --]\n" + "\n" +@@ -4399,15 +4477,15 @@ msgstr "" + #. L10N: You will see this error message if (1) you are decrypting + #. (not encrypting) something and (2) it is a plaintext. So the + #. message does not mean "You failed to encrypt the message." +-#: ncrypt/pgp.c:724 ++#: ncrypt/pgp.c:723 + msgid "PGP message is not encrypted" + msgstr "List PGP nie został odszyfrowany" + +-#: ncrypt/pgp.c:978 ++#: ncrypt/pgp.c:977 + msgid "Internal error. Please submit a bug report." + msgstr "Błąd wewnętrzny. Proszę zgłosić ten wyjątek." + +-#: ncrypt/pgp.c:1043 ++#: ncrypt/pgp.c:1042 + msgid "" + "[-- Error: could not create a PGP subprocess --]\n" + "\n" +@@ -4415,125 +4493,125 @@ msgstr "" + "[-- Błąd: nie można utworzyć podprocesu PGP --]\n" + "\n" + +-#: ncrypt/pgp.c:1073 ncrypt/pgp.c:1098 ncrypt/smime.c:2143 postpone.c:757 +-#: postpone.c:785 ++#: ncrypt/pgp.c:1072 ncrypt/pgp.c:1097 ncrypt/smime.c:2177 postpone.c:803 ++#: postpone.c:831 + msgid "Decryption failed" + msgstr "Odszyfrowanie nie powiodło się" + +-#: ncrypt/pgp.c:1333 ++#: ncrypt/pgp.c:1334 + msgid "Can't open PGP subprocess" + msgstr "Nie można otworzyć podprocesu PGP" + +-#: ncrypt/pgp.c:1768 ++#: ncrypt/pgp.c:1770 + msgid "Can't invoke PGP" + msgstr "Nie można wywołać PGP" + + #. L10N: The next string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1875 ++#: ncrypt/pgp.c:1877 + msgid "PGP/M(i)ME" + msgstr "PGP/M(i)ME" + + #. L10N: The previous string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1881 ++#: ncrypt/pgp.c:1883 + msgid "(i)nline" + msgstr "(i)nline" + + #. L10N: PGP options (inline) (opportunistic encryption is on) +-#: ncrypt/pgp.c:1893 ++#: ncrypt/pgp.c:1895 + #, c-format + msgid "PGP (s)ign, sign (a)s, %s format, (c)lear, or (o)ppenc mode off?" + msgstr "PGP: (p)odpisz, podpisz (j)ako, format %s, (w)yczyść lub wyłącz tryb (o)ppenc?" + + #. L10N: PGP options (inline) (opportunistic encryption is on) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1899 ++#: ncrypt/pgp.c:1901 + msgid "saico" + msgstr "pjiwo" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1905 ++#: ncrypt/pgp.c:1907 + msgid "PGP (s)ign, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "PGP: (p)odpisz, podpisz (j)ako, (w)yczyść lub wyłącz tryb (o)ppenc?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1907 ++#: ncrypt/pgp.c:1909 + msgid "saco" + msgstr "pjwo" + + #. L10N: PGP options (inline) (opportunistic encryption is off) +-#: ncrypt/pgp.c:1921 ++#: ncrypt/pgp.c:1923 + #, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, (c)lear, or (o)ppenc mode?" + msgstr "PGP: (z)aszyfruj, podpi(s)z, podpisz j(a)ko, o(b)a, format %s, (w)yczyć lub tryb (o)ppenc?" + + #. L10N: PGP options (inline) (opportunistic encryption is off) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1927 ++#: ncrypt/pgp.c:1929 + msgid "esabico" + msgstr "zsabiwo" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1933 ++#: ncrypt/pgp.c:1935 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "PGP: (z)aszyfruj, podpi(s)z, podpisz j(a)ko, o(b)a, (w)yczyć lub tryb (o)ppenc?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1936 ++#: ncrypt/pgp.c:1938 + msgid "esabco" + msgstr "zsabwo" + + #. L10N: PGP options (inline) +-#: ncrypt/pgp.c:1947 ++#: ncrypt/pgp.c:1949 + #, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, or (c)lear?" + msgstr "PGP: (z)aszyfruj, podpi(s)z, podpisz j(a)ko, o(b)a, format %s lub (w)yczyć?" + + #. L10N: PGP options (inline) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1953 ++#: ncrypt/pgp.c:1955 + msgid "esabic" + msgstr "zsabiw" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1959 ++#: ncrypt/pgp.c:1961 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (c)lear?" + msgstr "PGP: (z)aszyfruj, podpi(s)z, podpisz j(a)ko, o(b)a lub (w)yczyć?" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1961 ++#: ncrypt/pgp.c:1963 + msgid "esabc" + msgstr "zsabw" + +-#: ncrypt/pgpinvoke.c:458 ++#: ncrypt/pgpinvoke.c:461 + msgid "Fetching PGP key..." + msgstr "Sprowadzam klucz PGP..." + +-#: ncrypt/pgpkey.c:640 ++#: ncrypt/pgpkey.c:643 + msgid "All matching keys are expired, revoked, or disabled" + msgstr "Wszystkie pasujące klucze wygasły, zostały wyłączone lub wyprowadzone" + +-#: ncrypt/pgpkey.c:681 ++#: ncrypt/pgpkey.c:714 + #, c-format + msgid "PGP keys matching <%s>" + msgstr "Klucze PGP dla <%s>" + +-#: ncrypt/pgpkey.c:683 ++#: ncrypt/pgpkey.c:716 + #, c-format + msgid "PGP keys matching \"%s\"" + msgstr "Klucze PGP dla \"%s\"" + +-#: ncrypt/pgpkey.c:700 ncrypt/pgpkey.c:909 ++#: ncrypt/pgpkey.c:733 ncrypt/pgpkey.c:944 + msgid "Can't open /dev/null" + msgstr "Nie można otworzyć /dev/null" + +-#: ncrypt/pgpkey.c:938 ++#: ncrypt/pgpkey.c:973 + #, c-format + msgid "PGP Key %s" + msgstr "Klucz PGP %s" + +-#: ncrypt/smime.c:182 ++#: ncrypt/smime.c:180 + msgid "Enter S/MIME passphrase:" + msgstr "Wprowadź hasło S/MIME:" + +@@ -4542,7 +4620,7 @@ msgstr "Wprowadź hasło S/MIME:" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:460 ++#: ncrypt/smime.c:462 + msgid "Expired " + msgstr "Wygasły " + +@@ -4551,7 +4629,7 @@ msgstr "Wygasły " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:468 ++#: ncrypt/smime.c:470 + msgid "Invalid " + msgstr "Błędny " + +@@ -4560,7 +4638,7 @@ msgstr "Błędny " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:476 ++#: ncrypt/smime.c:478 + msgid "Revoked " + msgstr "Wyprowadzony " + +@@ -4569,7 +4647,7 @@ msgstr "Wyprowadzony " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:484 ++#: ncrypt/smime.c:486 + msgid "Trusted " + msgstr "Zaufany " + +@@ -4578,7 +4656,7 @@ msgstr "Zaufany " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:492 ++#: ncrypt/smime.c:494 + msgid "Unverified" + msgstr "Niezweryfikowany" + +@@ -4587,7 +4665,7 @@ msgstr "Niezweryfikowany" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:500 ++#: ncrypt/smime.c:502 + msgid "Verified " + msgstr "Zweryfikowany " + +@@ -4596,58 +4674,58 @@ msgstr "Zweryfikowany " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:508 ++#: ncrypt/smime.c:510 + msgid "Unknown " + msgstr "Nieznany " + +-#: ncrypt/smime.c:545 ++#: ncrypt/smime.c:547 + #, c-format + msgid "S/MIME certificates matching \"%s\"" + msgstr "Certyfikat S/MIME dla \"%s\"" + +-#: ncrypt/smime.c:589 ++#: ncrypt/smime.c:621 + msgid "ID is not trusted. Do you really want to use the key?" + msgstr "Niezaufany identyfikator. Czy naprawdę chcesz użyć tego klucza?" + +-#: ncrypt/smime.c:910 ++#: ncrypt/smime.c:944 + msgid "Enter keyID: " + msgstr "Podaj numer klucza: " + +-#: ncrypt/smime.c:1055 ++#: ncrypt/smime.c:1089 + #, c-format + msgid "No (valid) certificate found for %s" + msgstr "Brak (poprawnych) certyfikatów dla %s" + +-#: ncrypt/smime.c:1108 ncrypt/smime.c:1137 ncrypt/smime.c:1209 +-#: ncrypt/smime.c:1243 ncrypt/smime.c:1319 ncrypt/smime.c:1399 ++#: ncrypt/smime.c:1142 ncrypt/smime.c:1171 ncrypt/smime.c:1243 ++#: ncrypt/smime.c:1277 ncrypt/smime.c:1353 ncrypt/smime.c:1433 + msgid "Error: unable to create OpenSSL subprocess" + msgstr "Błąd: nie można wywołać podprocesu OpenSSL" + +-#: ncrypt/smime.c:1379 ++#: ncrypt/smime.c:1413 + msgid "Label for certificate: " + msgstr "Etykieta certyfikatu: " + +-#: ncrypt/smime.c:1480 ++#: ncrypt/smime.c:1514 + msgid "no certfile" + msgstr "brak certyfikatu" + +-#: ncrypt/smime.c:1483 ++#: ncrypt/smime.c:1517 + msgid "no mbox" + msgstr "brak skrzynki" + +-#: ncrypt/smime.c:1640 ncrypt/smime.c:1810 ++#: ncrypt/smime.c:1674 ncrypt/smime.c:1844 + msgid "No output from OpenSSL..." + msgstr "Brak wyników działania OpenSSL..." + +-#: ncrypt/smime.c:1727 ++#: ncrypt/smime.c:1761 + msgid "Can't sign: No key specified. Use Sign As." + msgstr "Nie można podpisać - nie podano klucza. Użyj Podpisz jako." + +-#: ncrypt/smime.c:1777 ++#: ncrypt/smime.c:1811 + msgid "Can't open OpenSSL subprocess" + msgstr "Błąd: nie można wywołać podprocesu OpenSSL" + +-#: ncrypt/smime.c:2004 ncrypt/smime.c:2123 ++#: ncrypt/smime.c:2038 ncrypt/smime.c:2157 + msgid "" + "[-- End of OpenSSL output --]\n" + "\n" +@@ -4655,19 +4733,19 @@ msgstr "" + "[-- Koniec komunikatów OpenSSL --]\n" + "\n" + +-#: ncrypt/smime.c:2080 ncrypt/smime.c:2093 ++#: ncrypt/smime.c:2114 ncrypt/smime.c:2127 + msgid "[-- Error: unable to create OpenSSL subprocess --]\n" + msgstr "[-- Błąd: nie można utworzyć podprocesu OpenSSL --]\n" + +-#: ncrypt/smime.c:2129 ++#: ncrypt/smime.c:2163 + msgid "[-- The following data is S/MIME encrypted --]\n" + msgstr "[-- Następujące dane są zaszyfrowane S/MIME --]\n" + +-#: ncrypt/smime.c:2132 ++#: ncrypt/smime.c:2166 + msgid "[-- The following data is S/MIME signed --]\n" + msgstr "[-- Poniższe dane są podpisane S/MIME --]\n" + +-#: ncrypt/smime.c:2225 ++#: ncrypt/smime.c:2259 + msgid "" + "\n" + "[-- End of S/MIME encrypted data. --]\n" +@@ -4675,7 +4753,7 @@ msgstr "" + "\n" + "[-- Koniec danych zaszyfrowanych S/MIME. --]\n" + +-#: ncrypt/smime.c:2227 ++#: ncrypt/smime.c:2261 + msgid "" + "\n" + "[-- End of S/MIME signed data. --]\n" +@@ -4684,160 +4762,160 @@ msgstr "" + "[-- Koniec danych podpisanych S/MIME. --]\n" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2361 ++#: ncrypt/smime.c:2395 + msgid "S/MIME (s)ign, encrypt (w)ith, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME: (p)odpisz, zaszyfruj (u)żywając, podp. (j)ako, (w)yczyć lub tryb (o)ppenc?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2364 ++#: ncrypt/smime.c:2398 + msgid "swaco" + msgstr "pujwo" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2372 ++#: ncrypt/smime.c:2406 + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME: (z)aszyfruj, (p)odpisz, zaszyfruj (u)żywając, podp. (j)ako, o(b)a, (w)yczyć lub tryb (o)ppenc?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2375 ++#: ncrypt/smime.c:2409 + msgid "eswabco" + msgstr "zpujbwo" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2382 ++#: ncrypt/smime.c:2416 + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, or (c)lear?" + msgstr "S/MIME: (z)aszyfruj, (p)odpisz, (m)etoda, podp. (j)ako, o(b)a, (a)nuluj?" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2385 ++#: ncrypt/smime.c:2419 + msgid "eswabc" + msgstr "zpmjba" + +-#: ncrypt/smime.c:2449 ++#: ncrypt/smime.c:2483 + msgid "Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear?" + msgstr "Wybierz algorytm: (1) DES, (2) RC2, (3) AES, (a)nuluj?" + + #. L10N: Options for: Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear? +-#: ncrypt/smime.c:2452 ++#: ncrypt/smime.c:2486 + msgid "123c" + msgstr "123a" + +-#: ncrypt/smime.c:2455 ++#: ncrypt/smime.c:2489 + msgid "(1) DES, (2) Triple-DES?" + msgstr "(1) DES, (2) Triple-DES?" + + #. L10N: Options for: (1) DES, (2) Triple-DES +-#: ncrypt/smime.c:2457 ++#: ncrypt/smime.c:2491 + msgid "12" + msgstr "12" + +-#: ncrypt/smime.c:2470 ++#: ncrypt/smime.c:2504 + msgid "(1) RC2-40, (2) RC2-64, (3) RC2-128?" + msgstr "(1) RC2-40, (2) RC2-64, (3) RC2-128?" + + #. L10N: Options for: (1) RC2-40, (2) RC2-64, (3) RC2-128 + #. L10N: Options for: (1) AES128, (2) AES192, (3) AES256 +-#: ncrypt/smime.c:2472 ncrypt/smime.c:2490 ++#: ncrypt/smime.c:2506 ncrypt/smime.c:2524 + msgid "123" + msgstr "123" + +-#: ncrypt/smime.c:2488 ++#: ncrypt/smime.c:2522 + msgid "(1) AES128, (2) AES192, (3) AES256?" + msgstr "(1) AES128, (2) AES192, (3) AES256?" + +-#: nntp/newsrc.c:632 ++#: nntp/newsrc.c:639 + msgid "Loading list of groups from cache..." + msgstr "" + +-#: nntp/newsrc.c:997 ++#: nntp/newsrc.c:1023 + msgid "No news server defined" + msgstr "Nie zdefiniowano serwer wiadomości" + +-#: nntp/newsrc.c:1012 ++#: nntp/newsrc.c:1041 + #, c-format + msgid "%s is an invalid news server specification" + msgstr "%s jest nieprawidłową specyfikacją serwera wiadomości" + +-#: nntp/nntp.c:236 nntp/nntp.c:777 pop/pop.c:742 pop/pop_lib.c:398 ++#: nntp/nntp.c:238 nntp/nntp.c:779 pop/pop.c:742 pop/pop_lib.c:424 + msgid "Server closed connection" + msgstr "Serwer zamknął połączenie" + +-#: nntp/nntp.c:340 ++#: nntp/nntp.c:342 + msgid "Server doesn't support reader mode" + msgstr "Serwer nie wspiera trybu czytania" + +-#: nntp/nntp.c:576 pop/pop_auth.c:504 smtp.c:650 ++#: nntp/nntp.c:578 pop/pop_auth.c:505 smtp.c:675 + msgid "No authenticators available" + msgstr "Żadna z metod uwierzytelniania nie jest dostępna" + +-#: nntp/nntp.c:766 ++#: nntp/nntp.c:768 + #, c-format + msgid "%s authentication failed" + msgstr "%s uwierzytelnianie nie powiodło się" + +-#: nntp/nntp.c:826 ++#: nntp/nntp.c:828 + #, c-format + msgid "Connection to %s lost. Reconnect?" + msgstr "Połączenie z %s zostało zakończone. Połączyć ponownie?" + +-#: nntp/nntp.c:1285 ++#: nntp/nntp.c:1287 + msgid "Fetching list of articles..." + msgstr "Pobieranie listy artykułów..." + +-#: nntp/nntp.c:1549 nntp/nntp.c:2138 pop/pop.c:614 pop/pop.c:910 ++#: nntp/nntp.c:1551 nntp/nntp.c:2140 pop/pop.c:614 pop/pop.c:905 + msgid "Checking for new messages..." + msgstr "Poszukiwanie nowej poczty..." + +-#: nntp/nntp.c:1864 nntp/nntp.c:1954 ++#: nntp/nntp.c:1866 nntp/nntp.c:1956 + msgid "Could not switch to reader mode" + msgstr "nie można przełączyć do trybu czytania" + +-#: nntp/nntp.c:1877 ++#: nntp/nntp.c:1879 + #, c-format + msgid "Connected to %s. %s" + msgstr "Połączono z %s. %s" + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + msgid "Posting is ok" + msgstr "" + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + msgid "Posting is NOT ok" + msgstr "" + +-#: nntp/nntp.c:2008 nntp/nntp.c:2043 ++#: nntp/nntp.c:2010 nntp/nntp.c:2045 + #, c-format + msgid "Can't post article: %s" + msgstr "Nie można opublikować artykułu: %s" + +-#: nntp/nntp.c:2064 ++#: nntp/nntp.c:2066 + #, c-format + msgid "Loading list of groups from server %s..." + msgstr "Wczytywanie wiadomości grupy dyskusyjnej z serwera %s..." + +-#: nntp/nntp.c:2106 nntp/nntp.c:2198 ++#: nntp/nntp.c:2108 nntp/nntp.c:2200 + msgid "Loading descriptions..." + msgstr "Wczytywanie opisów..." + +-#: nntp/nntp.c:2128 ++#: nntp/nntp.c:2130 + msgid "Checking for new newsgroups..." + msgstr "Sprawdzanie nowych grup dyskusyjnych..." + +-#: nntp/nntp.c:2332 ++#: nntp/nntp.c:2334 + msgid "Unable to find child articles because server does not support XPAT command" + msgstr "" + +-#: nntp/nntp.c:2437 ++#: nntp/nntp.c:2439 + #, c-format + msgid "%s is an invalid newsgroup specification" + msgstr "%s jest błędną specyfikacją grupy dyskusyjnej" + +-#: nntp/nntp.c:2476 ++#: nntp/nntp.c:2478 + #, c-format + msgid "Newsgroup %s not found on the server" + msgstr "Lista dyskusyjna %s nie została znaleziona na serwerze" + +-#: nntp/nntp.c:2498 ++#: nntp/nntp.c:2500 + #, c-format + msgid "Newsgroup %s has been removed from the server" + msgstr "Lista dyskusyjna %s została skasowana z serwera" +@@ -4849,8 +4927,8 @@ msgstr "" + + #: notmuch/mutt_notmuch.c:219 notmuch/mutt_notmuch.c:1939 + #, c-format +-msgid "failed to parse notmuch uri: %s" +-msgstr "nie udane dopasowanie notmuch uri: %s" ++msgid "failed to parse notmuch url: %s" ++msgstr "nie udane dopasowanie notmuch url: %s" + + #: notmuch/mutt_notmuch.c:449 + msgid "Invalid nm_query_window_timebase value (valid values are: hour, day, week, month or year)" +@@ -5940,182 +6018,182 @@ msgstr "ukryj/pokaż panel boczny" + msgid "show S/MIME options" + msgstr "pokaż opcje S/MIME" + +-#: pager.c:222 ++#: pager.c:214 + msgid "Not available in this menu" + msgstr "Nie ma takiego polecenia w tym menu" + +-#: pager.c:229 ++#: pager.c:221 + msgid "PrevPg" + msgstr "PoprzStr" + +-#: pager.c:230 ++#: pager.c:222 + msgid "NextPg" + msgstr "NastStr" + +-#: pager.c:235 ++#: pager.c:227 + msgid "View Attachm." + msgstr "Zobacz zał." + +-#: pager.c:238 pager.c:247 ++#: pager.c:230 pager.c:239 + msgid "Next" + msgstr "Następny" + + #. L10N: Status bar message: the entire email is visible in the pager + #. L10N: Status bar message: all the emails are visible in the index +-#: pager.c:2180 status.c:278 ++#: pager.c:2136 status.c:278 + msgid "all" + msgstr "" + + #. L10N: Status bar message: the end of the email is visible in the pager + #. L10N: Status bar message: the end of the list emails is visible in the index +-#: pager.c:2182 status.c:276 ++#: pager.c:2138 status.c:276 + msgid "end" + msgstr "" + +-#: pager.c:2530 pager.c:2566 pager.c:2602 pager.c:2937 ++#: pager.c:2503 pager.c:2539 pager.c:2576 pager.c:2911 + msgid "Bottom of message is shown" + msgstr "Pokazany jest koniec listu" + +-#: pager.c:2543 pager.c:2573 pager.c:2580 pager.c:2590 ++#: pager.c:2516 pager.c:2546 pager.c:2553 pager.c:2564 + msgid "Top of message is shown" + msgstr "Pokazany jest początek listu" + +-#: pager.c:2840 ++#: pager.c:2814 + msgid "Help is currently being shown" + msgstr "Pomoc jest właśnie wyświetlana" + +-#: pager.c:2897 ++#: pager.c:2871 + msgid "No more quoted text" + msgstr "Nie ma więcej cytowanego tekstu" + +-#: pager.c:2914 ++#: pager.c:2888 + msgid "No more unquoted text after quoted text" + msgstr "Brak tekstu za cytowanym fragmentem" + +-#: pattern.c:220 pattern.c:297 pattern.c:1046 ++#: pattern.c:221 pattern.c:298 pattern.c:1085 + #, c-format + msgid "Error in expression: %s" + msgstr "Błąd w wyrażeniu: %s" + +-#: pattern.c:226 pattern.c:302 pattern.c:1052 ++#: pattern.c:227 pattern.c:303 pattern.c:1091 + msgid "Empty expression" + msgstr "Puste wyrażenie" + +-#: pattern.c:288 ++#: pattern.c:289 + msgid "No search command defined" + msgstr "Nie zdefiniowano komendy szukania" + +-#: pattern.c:326 ++#: pattern.c:327 + #, c-format + msgid "Running search command: %s ..." + msgstr "Wyszukiwanie zgodnie z komendą: %s" + +-#: pattern.c:417 ++#: pattern.c:441 pattern.c:456 + #, c-format + msgid "Invalid day of month: %s" + msgstr "Niewłaściwy dzień miesiąca: %s" + +-#: pattern.c:431 ++#: pattern.c:446 pattern.c:470 + #, c-format + msgid "Invalid month: %s" + msgstr "Niewłaściwy miesiąc: %s" + +-#: pattern.c:534 ++#: pattern.c:573 + #, c-format + msgid "Invalid relative date: %s" + msgstr "Błędna data względna: %s" + +-#: pattern.c:842 pattern.c:975 ++#: pattern.c:881 pattern.c:1014 + msgid "No current message" + msgstr "Brak bieżącej wiadomości" + +-#: pattern.c:1002 ++#: pattern.c:1041 + msgid "No Context" + msgstr "" + +-#: pattern.c:1125 ++#: pattern.c:1164 + msgid "Error opening 'memory stream'" + msgstr "Błąd otwarcia 'memory stream'" + +-#: pattern.c:1171 ++#: pattern.c:1210 + msgid "Error re-opening 'memory stream'" + msgstr "Błąd ponownego otwarcia 'memory stream'" + +-#: pattern.c:1180 ++#: pattern.c:1219 + msgid "Error opening /dev/null" + msgstr "Nie można otworzyć /dev/null" + +-#: pattern.c:1443 pattern.c:1620 ++#: pattern.c:1482 pattern.c:1662 + #, c-format + msgid "error in pattern at: %s" + msgstr "błąd we wzorcu: %s" + +-#: pattern.c:1476 ++#: pattern.c:1515 + #, c-format + msgid "missing pattern: %s" + msgstr "brak wzorca: %s" + +-#: pattern.c:1494 pattern.c:1593 ++#: pattern.c:1533 pattern.c:1635 + #, c-format + msgid "mismatched parentheses: %s" + msgstr "niesparowane nawiasy: %s" + +-#: pattern.c:1559 ++#: pattern.c:1598 + #, c-format + msgid "%c: invalid pattern modifier" + msgstr "%c: błędny modyfikator wyrażenia" + +-#: pattern.c:1564 ++#: pattern.c:1603 + #, c-format + msgid "%c: not supported in this mode" + msgstr "%c: nie obsługiwane w tym trybie" + +-#: pattern.c:1576 ++#: pattern.c:1618 + msgid "missing parameter" + msgstr "brakujący parametr" + +-#: pattern.c:1626 ++#: pattern.c:1668 + msgid "empty pattern" + msgstr "pusty wzorzec" + +-#: pattern.c:2080 pattern.c:2083 ++#: pattern.c:2202 pattern.c:2205 + msgid "error: server custom search only supported with IMAP" + msgstr "" + +-#: pattern.c:2274 ++#: pattern.c:2398 + #, c-format + msgid "error: unknown op %d (report this error)" + msgstr "błąd: nieznany op %d (zgłoś ten błąd)" + +-#: pattern.c:2448 pattern.c:2604 ++#: pattern.c:2572 pattern.c:2728 + msgid "Compiling search pattern..." + msgstr "Kompilacja wzorca poszukiwań..." + +-#: pattern.c:2468 ++#: pattern.c:2592 + msgid "Executing command on matching messages..." + msgstr "Wykonywanie polecenia na pasujących do wzorca listach..." + +-#: pattern.c:2537 ++#: pattern.c:2661 + msgid "No messages matched criteria" + msgstr "Żaden z listów nie spełnia kryteriów" + +-#: pattern.c:2641 ++#: pattern.c:2765 + msgid "Searching..." + msgstr "Wyszukiwanie..." + +-#: pattern.c:2655 ++#: pattern.c:2779 + msgid "Search hit bottom without finding match" + msgstr "Poszukiwanie dotarło do końca bez znalezienia frazy" + +-#: pattern.c:2666 ++#: pattern.c:2790 + msgid "Search hit top without finding match" + msgstr "Poszukiwanie dotarło do początku bez znalezienia frazy" + +-#: pattern.c:2700 ++#: pattern.c:2824 + msgid "Search interrupted" + msgstr "Przeszukiwanie przerwano" + +-#: pop/pop.c:216 pop/pop_lib.c:234 ++#: pop/pop.c:216 pop/pop_lib.c:259 + msgid "Command TOP is not supported by server" + msgstr "Polecenie TOP nie jest obsługiwane przez serwer" + +@@ -6123,7 +6201,7 @@ msgstr "Polecenie TOP nie jest obsługiwane przez serwer" + msgid "Can't write header to temporary file" + msgstr "Nie można zapisać nagłówka do pliku tymczasowego" + +-#: pop/pop.c:420 pop/pop_lib.c:236 ++#: pop/pop.c:420 pop/pop_lib.c:261 + msgid "Command UIDL is not supported by server" + msgstr "Polecenie UIDL nie jest obsługiwane przez serwer" + +@@ -6139,7 +6217,7 @@ msgstr[2] "%d wiadomości zostało utraconych. Spróbuj ponownie otworzyć skrzy + msgid "POP host is not defined" + msgstr "Serwer POP nie został wskazany" + +-#: pop/pop.c:596 pop/pop.c:825 ++#: pop/pop.c:596 pop/pop.c:790 pop/pop.c:820 + #, c-format + msgid "%s is an invalid POP path" + msgstr "%s jest błędną ścieżką POP" +@@ -6174,126 +6252,126 @@ msgstr[0] "%s [przeczytano %d list]" + msgstr[1] "%s [przeczytano %d spośród %d listów]" + msgstr[2] "%s [przeczytano %d spośród %d listów]" + +-#: pop/pop.c:876 ++#: pop/pop.c:871 + msgid "Fetching list of messages..." + msgstr "Pobieranie spisu listów..." + +-#: pop/pop.c:959 ++#: pop/pop.c:954 + msgid "Marking messages deleted..." + msgstr "Zaznaczanie listów jako skasowane..." + +-#: pop/pop.c:1150 ++#: pop/pop.c:1145 + msgid "Can't write message to temporary file" + msgstr "Nie można zapisać listu do pliku tymczasowego" + +-#: pop/pop_auth.c:103 ++#: pop/pop_auth.c:104 + msgid "Authenticating (SASL)..." + msgstr "Uwierzytelnianie (SASL)..." + +-#: pop/pop_auth.c:245 ++#: pop/pop_auth.c:246 + msgid "POP timestamp is invalid" + msgstr "POP: błedna sygnatura czasu" + +-#: pop/pop_auth.c:249 ++#: pop/pop_auth.c:250 + msgid "Authenticating (APOP)..." + msgstr "Uwierzytelnianie (APOP)..." + +-#: pop/pop_auth.c:269 ++#: pop/pop_auth.c:270 + msgid "APOP authentication failed" + msgstr "Uwierzytelnianie APOP nie powiodło się" + +-#: pop/pop_auth.c:309 ++#: pop/pop_auth.c:310 + msgid "Command USER is not supported by server" + msgstr "Polecenie USER nie jest obsługiwane przez serwer" + +-#: pop/pop_auth.c:386 ++#: pop/pop_auth.c:387 + msgid "Authentication failed" + msgstr "Uwierzytelnianie nie powiodło się" + +-#: pop/pop_lib.c:78 ++#: pop/pop_lib.c:103 + #, c-format + msgid "Invalid POP URL: %s" + msgstr "Błędny POP URL: %s" + +-#: pop/pop_lib.c:232 ++#: pop/pop_lib.c:257 + msgid "Unable to leave messages on server" + msgstr "Nie można zostawić listów na serwerze" + +-#: pop/pop_lib.c:274 ++#: pop/pop_lib.c:300 + #, c-format + msgid "Error connecting to server: %s" + msgstr "Błąd łączenia z serwerem: %s" + +-#: pop/pop_lib.c:414 ++#: pop/pop_lib.c:440 + msgid "Closing connection to POP server..." + msgstr "Zamykanie połączenia z serwerem POP..." + +-#: pop/pop_lib.c:605 ++#: pop/pop_lib.c:631 + msgid "Verifying message indexes..." + msgstr "Sprawdzanie indeksów listów..." + +-#: pop/pop_lib.c:628 ++#: pop/pop_lib.c:654 + msgid "Connection lost. Reconnect to POP server?" + msgstr "Połączenie z serwerem POP zostało zerwane. Połączyć ponownie?" + +-#: postpone.c:229 ++#: postpone.c:260 + msgid "Postponed Messages" + msgstr "Odłożone listy" + +-#: postpone.c:314 postpone.c:326 ++#: postpone.c:348 postpone.c:372 + msgid "No postponed messages" + msgstr "Brak odłożonych listów" + +-#: postpone.c:480 ++#: postpone.c:526 + msgid "Illegal S/MIME header" + msgstr "S/MIME: nieprawidłowy nagłówek" + +-#: postpone.c:510 postpone.c:551 postpone.c:560 ++#: postpone.c:556 postpone.c:597 postpone.c:606 + msgid "Illegal crypto header" + msgstr "Szyfrowanie: nieprawidłowy nagłówek" + +-#: postpone.c:644 postpone.c:752 postpone.c:780 ++#: postpone.c:690 postpone.c:798 postpone.c:826 + msgid "Decrypting message..." + msgstr "Odszyfrowywanie listu..." + +-#: query.c:82 ++#: query.c:80 + msgid "New Query" + msgstr "Nowe pytanie" + +-#: query.c:83 ++#: query.c:81 + msgid "Make Alias" + msgstr "Utwórz alias" + +-#: query.c:180 ++#: query.c:178 + msgid "Waiting for response..." + msgstr "Oczekiwanie na odpowiedź..." + +-#: query.c:362 query.c:400 ++#: query.c:365 query.c:434 + msgid "Query: " + msgstr "Pytanie:" + +-#: query.c:370 query.c:407 ++#: query.c:374 query.c:442 + #, c-format + msgid "Query '%s'" + msgstr "Pytanie '%s'" + +-#: query.c:620 query.c:657 ++#: query.c:661 query.c:698 + msgid "Query command not defined" + msgstr "Pytanie nie zostało określone" + +-#: recvattach.c:93 ++#: recvattach.c:91 + msgid "Pipe" + msgstr "Potok" + +-#: recvattach.c:94 ++#: recvattach.c:92 + msgid "Print" + msgstr "Drukuj" + +-#: recvattach.c:569 ++#: recvattach.c:571 + msgid "Saving..." + msgstr "Zapisywanie..." + +-#: recvattach.c:573 recvattach.c:744 recvattach.c:748 ++#: recvattach.c:575 recvattach.c:746 recvattach.c:750 + #, c-format + msgid "Attachment saved" + msgid_plural "%d attachments saved" +@@ -6301,26 +6379,26 @@ msgstr[0] "Załącznik został zapisany" + msgstr[1] "%d załączniki zostały zapisane" + msgstr[2] "%d załączników zostało zapisanych" + +-#: recvattach.c:772 ++#: recvattach.c:774 + #, c-format + msgid "WARNING! You are about to overwrite %s, continue?" + msgstr "UWAGA! Nadpisujesz plik %s, kontynuować?" + +-#: recvattach.c:790 ++#: recvattach.c:792 + msgid "Attachment filtered" + msgstr "Załącznik przefiltrowany" + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Filter through: " + msgstr "Przefiltruj przez: " + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Pipe to: " + msgstr "Wyślij przez potok do: " + + #. L10N: s gets replaced by a MIME type, e.g. "text/plain" or + #. application/octet-stream. +-#: recvattach.c:935 ++#: recvattach.c:937 + #, c-format + msgid "I don't know how to print %s attachments" + msgstr "Nie wiem jak wydrukować %s załączników" +@@ -6328,7 +6406,7 @@ msgstr "Nie wiem jak wydrukować %s załączników" + #. L10N: Although we now the precise number of tagged messages, we + #. do not show it to the user. So feel free to use a "generic + #. plural" as plural translation if your language has one. +-#: recvattach.c:1038 ++#: recvattach.c:1040 + #, c-format + msgid "Print tagged attachment?" + msgid_plural "Print %d tagged attachments?" +@@ -6336,50 +6414,50 @@ msgstr[0] "Wydrukować %d zaznaczony załącznik?" + msgstr[1] "Wydrukować %d zaznaczone załączniki?" + msgstr[2] "Wydrukować %d zaznaczonych załączników?" + +-#: recvattach.c:1039 ++#: recvattach.c:1041 + #, c-format + msgid "Print attachment?" + msgstr "Wydrukować załącznik?" + +-#: recvattach.c:1123 ++#: recvattach.c:1125 + msgid "Structural changes to decrypted attachments are not supported" + msgstr "" + +-#: recvattach.c:1291 ++#: recvattach.c:1293 + msgid "Can't decrypt encrypted message" + msgstr "Nie można odszyfrować zaszyfrowanego listu" + +-#: recvattach.c:1425 ++#: recvattach.c:1457 + msgid "Attachments" + msgstr "Załączniki" + +-#: recvattach.c:1465 ++#: recvattach.c:1497 + msgid "There are no subparts to show" + msgstr "Brak pod-listów" + +-#: recvattach.c:1520 ++#: recvattach.c:1552 + msgid "Can't delete attachment from POP server" + msgstr "Nie można skasować załącznika na serwerze POP" + +-#: recvattach.c:1529 ++#: recvattach.c:1561 + msgid "Can't delete attachment from news server" + msgstr "Nie można skasować załącznika na serwerze wiadomości" + +-#: recvattach.c:1536 ++#: recvattach.c:1568 + msgid "Deletion of attachments from encrypted messages is unsupported" + msgstr "Usuwanie załączników z zaszyfrowanych listów jest niemożliwe" + +-#: recvattach.c:1542 ++#: recvattach.c:1574 + msgid "Deletion of attachments from signed messages may invalidate the signature" + msgstr "Usuwanie załączników z zaszyfrowanych listów może spowodować nieważność podpisu" + +-#: recvattach.c:1561 recvattach.c:1578 ++#: recvattach.c:1593 recvattach.c:1610 + msgid "Only deletion of multipart attachments is supported" + msgstr "Możliwe jest jedynie usuwanie załączników multipart" + +-#: recvcmd.c:79 ++#: recvcmd.c:78 + msgid "You may only bounce message/rfc822 parts" +-msgstr "Możesz wysyłać kopie tylko listów zgodnych z RFC 822" ++msgstr "Możesz wysyłać kopie tylko listów zgodnych z RFC822" + + #: recvcmd.c:278 + msgid "Error bouncing message" +@@ -6414,7 +6492,7 @@ msgstr "Nie można utworzyć %s" + msgid "Can't find any tagged messages" + msgstr "Nie można znaleźć żadnego z zaznaczonych listów" + +-#: recvcmd.c:848 send.c:1073 ++#: recvcmd.c:848 send.c:1072 + msgid "No mailing lists found" + msgstr "Nie znaleziono list pocztowych" + +@@ -6428,67 +6506,67 @@ msgstr "Nie można zdekodować wszystkich wybranych zał. Załączyć (MIME) poz + msgid "You may only compose to sender with message/rfc822 parts" + msgstr "Możesz tylko tworzyć do nadawcy z częściami message/rfc822" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Append" + msgstr "Dodaj" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Insert" + msgstr "Wprowadź" + +-#: remailer.c:78 ++#: remailer.c:76 + msgid "OK" + msgstr "OK" + +-#: remailer.c:210 ++#: remailer.c:207 + msgid "" + msgstr "" + +-#: remailer.c:586 ++#: remailer.c:617 + msgid "Can't get mixmaster's type2.list" + msgstr "Nie można pobrać type2.list mixmastera" + +-#: remailer.c:612 ++#: remailer.c:673 + msgid "Select a remailer chain" + msgstr "Wybierz łańcuch remailera" + +-#: remailer.c:674 ++#: remailer.c:735 + #, c-format + msgid "Error: %s can't be used as the final remailer of a chain" + msgstr "Błąd: nie można użyć %s jako finalnego remailera łańcucha" + + #. L10N The '%d' here hard-coded to 19 +-#: remailer.c:706 ++#: remailer.c:767 + #, c-format + msgid "Mixmaster chains are limited to %d elements" + msgstr "Łańcuchy mixmasterów mogą mieć maks. %d elementów" + +-#: remailer.c:729 ++#: remailer.c:790 + msgid "The remailer chain is already empty" + msgstr "Łańcuch remailera jest pusty" + +-#: remailer.c:739 ++#: remailer.c:800 + msgid "You already have the first chain element selected" + msgstr "Już zdefiniowano pierwszy element łańcucha" + +-#: remailer.c:749 ++#: remailer.c:810 + msgid "You already have the last chain element selected" + msgstr "Już zdefiniowano ostatni element łańcucha" + +-#: remailer.c:792 ++#: remailer.c:856 + msgid "Mixmaster doesn't accept Cc or Bcc headers" + msgstr "Mixmaster nie akceptuje nagłówków Cc i Bcc" + +-#: remailer.c:817 ++#: remailer.c:881 + msgid "Please set the hostname variable to a proper value when using mixmaster" + msgstr "Ustaw poprawną wartość hostname jeśli chcesz używać mixmastera" + +-#: remailer.c:860 ++#: remailer.c:924 + #, c-format + msgid "Error sending message, child exited %d.\n" + msgstr "Błąd podczas wysyłania listu, proces potomny zwrócił %d.\n" + +-#: remailer.c:864 ++#: remailer.c:928 + msgid "Error sending message" + msgstr "Błąd podczas wysyłania listu" + +@@ -6518,41 +6596,41 @@ msgstr "Przesłać dalej załączniki?" + + #. L10N: Asks whether the user respects the reply-to header. + #. If she says no, neomutt will reply to the from header's address instead. +-#: send.c:793 ++#: send.c:792 + #, c-format + msgid "Reply to %s%s?" + msgstr "Odpowiedzieć %s%s?" + +-#: send.c:838 ++#: send.c:837 + #, c-format + msgid "Follow-up to %s%s?" + msgstr "Follow-up do %s%s?" + +-#: send.c:1122 ++#: send.c:1121 + msgid "Include message in reply?" + msgstr "Zacytować oryginalny list w odpowiedzi?" + +-#: send.c:1128 ++#: send.c:1127 + msgid "Including quoted message..." + msgstr "Wczytywanie cytowanego listu..." + +-#: send.c:1137 ++#: send.c:1136 + msgid "Could not include all requested messages" + msgstr "Nie można dołączyć wszystkich wskazanych listów" + +-#: send.c:1148 ++#: send.c:1147 + msgid "Forward as attachment?" + msgstr "Przesłać dalej jako załącznik?" + +-#: send.c:1153 ++#: send.c:1152 + msgid "Preparing forwarded message..." + msgstr "Przygotowywanie listu do przesłania dalej..." + +-#: send.c:1632 ++#: send.c:1631 + msgid "Fcc to an IMAP mailbox is not supported in batch mode" + msgstr "Fcc to skrzynki typu IMAP nie jest obsługiwanie w lini poleceń" + +-#: send.c:1664 send.c:1690 ++#: send.c:1665 send.c:1675 send.c:1701 + msgid "Save attachments in Fcc?" + msgstr "Zapisać załącznik w Fcc?" + +@@ -6560,190 +6638,190 @@ msgstr "Zapisać załącznik w Fcc?" + #. (r)etry tries the same mailbox again. + #. alternate (m)ailbox prompts for a different mailbox to try. + #. (s)kip aborts saving. +-#: send.c:1712 ++#: send.c:1723 + msgid "Fcc failed. (r)etry, alternate (m)ailbox, or (s)kip?" + msgstr "" + + #. L10N: These correspond to the "Fcc failed" multi-choice prompt + #. (r)etry, alternate (m)ailbox, or (s)kip. + #. Any similarity to famous leaders of the FSF is coincidental. +-#: send.c:1716 ++#: send.c:1727 + msgid "rms" + msgstr "" + + #. L10N: This is the prompt to enter an "alternate (m)ailbox" when the + #. initial Fcc fails. +-#: send.c:1722 ++#: send.c:1733 + msgid "Fcc mailbox" + msgstr "Skrzynka Fcc" + +-#: send.c:1788 ++#: send.c:1799 + msgid "Can't postpone. $postponed is unset" + msgstr "" + +-#: send.c:1923 ++#: send.c:1934 + msgid "Recall postponed message?" + msgstr "Wywołać odłożony list?" + +-#: send.c:2228 ++#: send.c:2239 + msgid "Edit forwarded message?" + msgstr "Edytować przesyłany list?" + +-#: send.c:2266 ++#: send.c:2277 + msgid "Abort unmodified message?" + msgstr "List nie został zmieniony. Zaniechać wysłania?" + +-#: send.c:2268 ++#: send.c:2279 + msgid "Aborted unmodified message" + msgstr "List nie został zmieniony. Zaniechano wysłania" + +-#: send.c:2388 ++#: send.c:2399 + msgid "No crypto backend configured. Disabling message security setting." + msgstr "" + +-#: send.c:2427 ++#: send.c:2438 + msgid "Article not posted" + msgstr "Artykuł nie został opublikowany" + +-#: send.c:2437 ++#: send.c:2448 + msgid "Message postponed" + msgstr "List odłożono" + +-#: send.c:2470 ++#: send.c:2481 + msgid "No subject, abort sending?" + msgstr "Brak tematu, zaniechać wysłania?" + +-#: send.c:2474 send.c:2480 ++#: send.c:2485 send.c:2491 + msgid "No subject specified" + msgstr "Brak tematu" + +-#: send.c:2486 ++#: send.c:2497 + msgid "No newsgroup specified" + msgstr "Nie wybrano grupy dyskusyjnej" + +-#: send.c:2496 ++#: send.c:2507 + msgid "No attachments, cancel sending?" + msgstr "Brak załącznika, zaniechać wysyłania?" + +-#: send.c:2501 ++#: send.c:2512 + msgid "Message contains text matching \"$abort_noattach_regex\". Not sending." + msgstr "" + +-#: send.c:2559 smtp.c:227 ++#: send.c:2570 smtp.c:230 + msgid "Sending message..." + msgstr "Wysyłanie listu..." + +-#: send.c:2598 ++#: send.c:2609 + msgid "Could not send the message" + msgstr "Wysłanie listu nie powiodło się" + +-#: send.c:2608 ++#: send.c:2619 + msgid "Sending in background" + msgstr "Wysyłanie w tle" + +-#: send.c:2609 ++#: send.c:2620 + msgid "Article posted" + msgstr "Artykuł został opublikowany" + +-#: send.c:2610 ++#: send.c:2621 + msgid "Mail sent" + msgstr "Poczta została wysłana" + +-#: sendlib.c:567 ++#: sendlib.c:566 + msgid "No boundary parameter found [report this error]" + msgstr "Brak parametru granicznego (zgłoś ten błąd)" + +-#: sendlib.c:598 ++#: sendlib.c:597 + #, c-format + msgid "%s no longer exists" + msgstr "%s już nie istnieje" + +-#: sendlib.c:1056 ++#: sendlib.c:1055 + #, c-format + msgid "%s isn't a regular file" + msgstr "%s nie jest zwykłym plikiem" + +-#: sendlib.c:1223 ++#: sendlib.c:1222 + msgid "Could not find any mime.types file." + msgstr "Nie można odnaleźć pliku z typami mime." + +-#: sendlib.c:1314 ++#: sendlib.c:1313 + #, c-format + msgid "Could not open %s" + msgstr "Nie można otworzyć %s" + +-#: sendlib.c:2864 ++#: sendlib.c:2855 + msgid "$sendmail must be set in order to send mail" + msgstr "$senmail musi być ustawione aby wysłać list" + +-#: sendlib.c:2971 ++#: sendlib.c:2962 + #, c-format + msgid "Error sending message, child exited %d (%s)" + msgstr "Błąd podczas wysyłania listu, proces potomny zwrócił %d (%s)" + +-#: sendlib.c:2977 ++#: sendlib.c:2969 + msgid "Output of the delivery process" + msgstr "Wynik procesu dostarczania" + +-#: sendlib.c:3157 ++#: sendlib.c:3154 + #, c-format + msgid "Bad IDN %s while preparing resent-from" + msgstr "Błędny IDN %s w trakcie przygotowywania resent-from" + +-#: smtp.c:165 ++#: smtp.c:168 + #, c-format + msgid "SMTP session failed: %s" + msgstr "Sesja SMTP nie powiodła się: %s" + +-#: smtp.c:222 ++#: smtp.c:225 + #, c-format + msgid "SMTP session failed: unable to open %s" + msgstr "Sesja SMTP nie powiodła się: nie można otworzyć %s" + +-#: smtp.c:339 ++#: smtp.c:364 + #, c-format + msgid "Invalid SMTP URL: %s" + msgstr "Błędny URL SMTP: %s" + +-#: smtp.c:618 ++#: smtp.c:643 + #, c-format + msgid "SMTP authentication method %s requires SASL" + msgstr "" + +-#: smtp.c:625 ++#: smtp.c:650 + #, c-format + msgid "%s authentication failed, trying next method" + msgstr "%s uwierzytelnianie nie powiodło się, próbuje innej metody" + +-#: smtp.c:636 ++#: smtp.c:661 + msgid "SMTP authentication requires SASL" + msgstr "Uwierzytelnianie SMTP wymaga SASL" + +-#: smtp.c:717 ++#: smtp.c:742 + msgid "SMTP server does not support authentication" + msgstr "Serwer SMTP nie wspiera uwierzytelniania" + +-#: smtp.c:756 ++#: smtp.c:781 + msgid "No from address given" + msgstr "" + +-#: smtp.c:821 ++#: smtp.c:846 + msgid "SMTP session failed: read error" + msgstr "Sesja SMTP nie powiodła się: błąd odczytu" + +-#: smtp.c:823 ++#: smtp.c:848 + msgid "SMTP session failed: write error" + msgstr "Sesja SMTP nie powiodła się: błąd zapisu" + +-#: smtp.c:825 ++#: smtp.c:850 + msgid "Invalid server response" + msgstr "Nieprawidłowa odpowiedź serwera" + +-#: sort.c:385 ++#: sort.c:387 + msgid "Sorting mailbox..." + msgstr "Sortowanie poczty w skrzynce..." + +-#: sort.c:427 ++#: sort.c:429 + msgid "Could not find sorting function [report this bug]" + msgstr "Nie znaleziono funkcji sortowania (zgłoś ten błąd)" + +@@ -6809,10 +6887,10 @@ msgstr "" + "NeoMutt jest darmowym oprogramowaniem, zapraszamy \n" + "do jego redystrybucji pod pewnymi warunkami, szczegóły poznasz pisząc 'neomutt -vv'.\n" + +-#: version.c:446 ++#: version.c:451 + msgid "Default options:" + msgstr "Domyślne opcje:" + +-#: version.c:449 ++#: version.c:454 + msgid "Compile options:" + msgstr "Parametry kompilacji:" +diff --git a/po/pt_BR.po b/po/pt_BR.po +index fedd79a64..2bd97fe50 100644 +--- a/po/pt_BR.po ++++ b/po/pt_BR.po +@@ -10,7 +10,7 @@ msgid "" + msgstr "" + "Project-Id-Version: neomutt-2019-12-07\n" + "Report-Msgid-Bugs-To: neomutt-devel@neomutt.org\n" +-"POT-Creation-Date: 2019-12-06 23:10+0000\n" ++"POT-Creation-Date: 2020-03-09 12:15+0000\n" + "PO-Revision-Date: 2018-03-19 01:14-0300\n" + "Last-Translator: Thiago Costa de Paiva \n" + "Language-Team: \n" +@@ -20,16 +20,40 @@ msgstr "" + "Content-Transfer-Encoding: 8bit\n" + "Plural-Forms: nplurals=2; plural=(n > 1);\n" + +-#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:59 browser.c:80 browser.c:90 +-#: mutt_history.c:45 pager.c:228 postpone.c:68 query.c:80 recvattach.c:93 ++msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" ++msgstr "r)rejeitar, o)aceitar uma vez, a)aceitar sempre, s)pular" ++ ++msgid "roas" ++msgstr "roas" ++ ++msgid "(r)eject, accept (o)nce, (a)ccept always" ++msgstr "r)rejeitar, o)aceitar uma vez, a)aceitar sempre" ++ ++msgid "roa" ++msgstr "roa" ++ ++msgid "(r)eject, accept (o)nce, (s)kip" ++msgstr "r)rejeitar, o)aceitar uma vez, s)pular" ++ ++msgid "ros" ++msgstr "ros" ++ ++msgid "(r)eject, accept (o)nce" ++msgstr "r)rejeitar, o)aceitar uma vez" ++ ++msgid "ro" ++msgstr "ro" ++ ++#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:58 browser.c:79 browser.c:89 ++#: mutt_history.c:45 pager.c:220 postpone.c:68 query.c:78 recvattach.c:91 + msgid "Exit" + msgstr "Sair" + +-#: addrbook.c:56 index.c:116 index.c:129 pager.c:236 pager.c:246 postpone.c:69 ++#: addrbook.c:56 index.c:112 index.c:125 pager.c:228 pager.c:238 postpone.c:69 + msgid "Del" + msgstr "Apagar" + +-#: addrbook.c:57 index.c:117 index.c:130 postpone.c:70 ++#: addrbook.c:57 index.c:113 index.c:126 postpone.c:70 + msgid "Undel" + msgstr "Restaurar" + +@@ -37,18 +61,18 @@ msgstr "Restaurar" + msgid "Select" + msgstr "Escolher" + +-#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:82 browser.c:84 browser.c:96 +-#: compose.c:218 compose.c:230 conn/ssl.c:983 conn/ssl_gnutls.c:691 index.c:122 +-#: index.c:135 mutt_history.c:48 ncrypt/crypt_gpgme.c:4735 ncrypt/pgpkey.c:670 +-#: ncrypt/smime.c:553 pager.c:2326 postpone.c:71 query.c:85 recvattach.c:94 ++#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:81 browser.c:83 browser.c:95 ++#: compose.c:216 compose.c:228 conn/ssl.c:996 conn/ssl_gnutls.c:722 index.c:118 ++#: index.c:131 mutt_history.c:48 ncrypt/crypt_gpgme.c:4783 ncrypt/pgpkey.c:673 ++#: ncrypt/smime.c:555 pager.c:2297 postpone.c:71 query.c:83 recvattach.c:92 + msgid "Help" + msgstr "Ajuda" + +-#: addrbook.c:208 ++#: addrbook.c:238 + msgid "You have no aliases" + msgstr "Lista de contatos vazia" + +-#: addrbook.c:215 ++#: addrbook.c:276 + msgid "Aliases" + msgstr "Contatos" + +@@ -57,51 +81,51 @@ msgstr "Contatos" + msgid "Alias as: " + msgstr "Apelidar como: " + +-#: alias.c:411 ++#: alias.c:414 + msgid "You already have an alias defined with that name" + msgstr "Já existe um apelido definido com este nome" + +-#: alias.c:417 ++#: alias.c:420 + msgid "Warning: This alias name may not work. Fix it?" + msgstr "Aviso: Este apelido não é válido. Consertar?" + +-#: alias.c:442 ++#: alias.c:445 + msgid "Address: " + msgstr "Endereço: " + +-#: alias.c:453 commands.c:444 compose.c:744 conn/conn_raw.c:152 +-#: conn/conn_raw.c:210 recvcmd.c:232 send.c:228 ++#: alias.c:457 commands.c:450 compose.c:743 conn/conn_raw.c:152 ++#: conn/conn_raw.c:210 recvcmd.c:231 send.c:227 + #, c-format + msgid "Bad IDN: '%s'" + msgstr "IDN inválido: '%s'" + +-#: alias.c:464 ++#: alias.c:468 + msgid "Personal name: " + msgstr "Nome:" + +-#: alias.c:473 ++#: alias.c:477 + #, c-format + msgid "[%s = %s] Accept?" + msgstr "[%s =%s] Aceita?" + +-#: alias.c:484 recvattach.c:528 recvattach.c:550 recvattach.c:564 +-#: recvattach.c:579 recvattach.c:678 ++#: alias.c:488 recvattach.c:530 recvattach.c:552 recvattach.c:566 ++#: recvattach.c:581 recvattach.c:680 + msgid "Save to file: " + msgstr "Salvar no arquivo: " + +-#: alias.c:503 ++#: alias.c:507 + msgid "Error reading alias file" + msgstr "Erro ao ler o arquivo de contatos" + +-#: alias.c:525 ++#: alias.c:529 + msgid "Trouble adding alias" + msgstr "Erro ao acidionar contato" + +-#: alias.c:527 ++#: alias.c:531 + msgid "Alias added" + msgstr "Apelido adicionado" + +-#: alias.c:532 ++#: alias.c:536 + msgid "Error seeking in alias file" + msgstr "Erro ao localizer arquivo de contatos" + +@@ -110,7 +134,7 @@ msgstr "Erro ao localizer arquivo de contatos" + #. for some reason (e.g. autocrypt, header cache, bcache), but it + #. doesn't exist. The prompt is asking whether to create the directory + #. +-#: autocrypt/autocrypt.c:70 main.c:826 ++#: autocrypt/autocrypt.c:70 main.c:757 + #, c-format + msgid "%s does not exist. Create it?" + msgstr "%s não existe. Devo criá-lo?" +@@ -119,8 +143,8 @@ msgstr "%s não existe. Devo criá-lo?" + #. mkdir() on the directory %s failed. The second %s is the + #. error message returned by libc + #. +-#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:830 +-#: nntp/newsrc.c:1069 ++#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:761 ++#: nntp/newsrc.c:1098 + #, c-format + msgid "Can't create %s: %s" + msgstr "Não foi possível criar %s: %s" +@@ -130,7 +154,7 @@ msgstr "Não foi possível criar %s: %s" + #. create $autocrypt_dir and then prompt to create an autocrypt + #. account with this message. + #. +-#: autocrypt/autocrypt.c:156 ++#: autocrypt/autocrypt.c:163 + msgid "Create an initial autocrypt account?" + msgstr "Criar uma onta inicial de auto-criptografia" + +@@ -139,7 +163,7 @@ msgstr "Criar uma onta inicial de auto-criptografia" + #. autocrypt account. This will generate a key and add a record + #. to the database for use in autocrypt operations. + #. +-#: autocrypt/autocrypt.c:180 ++#: autocrypt/autocrypt.c:187 + msgid "Autocrypt account address: " + msgstr "Endereço (email) de conta de auto-criptografia" + +@@ -148,7 +172,7 @@ msgstr "Endereço (email) de conta de auto-criptografia" + #. a single address. This is shown if they entered something invalid, + #. nothing, or more than one address for some reason. + #. +-#: autocrypt/autocrypt.c:191 ++#: autocrypt/autocrypt.c:198 + msgid "Please enter a single email address" + msgstr "Por favor, insira um único email address" + +@@ -157,7 +181,7 @@ msgstr "Por favor, insira um único email address" + #. if there is already an account in the database with the email address + #. they just entered. + #. +-#: autocrypt/autocrypt.c:208 ++#: autocrypt/autocrypt.c:215 + msgid "That email address already has an autocrypt account" + msgstr "Endereço de email já utilizado por uma conta de auto-criptografia" + +@@ -169,14 +193,14 @@ msgstr "Endereço de email já utilizado por uma conta de auto-criptografia" + #. Otherwise the UI will show encryption is "available" but the user + #. will be required to enable encryption manually. + #. +-#: autocrypt/autocrypt.c:223 ++#: autocrypt/autocrypt.c:230 + msgid "Prefer encryption?" + msgstr "Preferir criptografia?" + + #. L10N: + #. Message displayed after an autocrypt account is successfully created. + #. +-#: autocrypt/autocrypt.c:236 ++#: autocrypt/autocrypt.c:243 + msgid "Autocrypt account creation succeeded" + msgstr "Sucesso ao criar conta de auto-criptografia " + +@@ -184,7 +208,7 @@ msgstr "Sucesso ao criar conta de auto-criptografia " + #. Error message displayed if creating an autocrypt account failed + #. or was aborted by the user. + #. +-#: autocrypt/autocrypt.c:242 ++#: autocrypt/autocrypt.c:249 + msgid "Autocrypt account creation aborted" + msgstr "Criação de conta de auto-criptografia cancelada" + +@@ -193,7 +217,7 @@ msgstr "Criação de conta de auto-criptografia cancelada" + #. to use to encrypt, but it can't find a valid keyid for this address. + #. The message is printed and they are returned to the compose menu. + #. +-#: autocrypt/autocrypt.c:610 autocrypt/autocrypt.c:639 ++#: autocrypt/autocrypt.c:617 autocrypt/autocrypt.c:646 + #, c-format + msgid "No (valid) autocrypt key found for %s" + msgstr "Nenhuma chave auto-criptográfica (válida) encontrado para %s" +@@ -205,12 +229,12 @@ msgstr "Nenhuma chave auto-criptográfica (válida) encontrado para %s" + #. and used for encryption. + #. If this is answered yes, they will be prompted for a mailbox. + #. +-#: autocrypt/autocrypt.c:903 ++#: autocrypt/autocrypt.c:910 + msgid "Scan a mailbox for autocrypt headers?" + msgstr "Varrer caixa por cabeçalhos de auto-criptografia?" + + #. L10N: The prompt for a mailbox to scan for Autocrypt: headers +-#: autocrypt/autocrypt.c:907 ++#: autocrypt/autocrypt.c:914 + msgid "Scan mailbox" + msgstr "Varrer caixa" + +@@ -221,21 +245,21 @@ msgstr "Varrer caixa" + #. for a mailbox. This is because this is a one-time operation + #. and I don't want them to accidentally ctrl-g and abort it. + #. +-#: autocrypt/autocrypt.c:927 ++#: autocrypt/autocrypt.c:934 + msgid "Scan another mailbox for autocrypt headers?" + msgstr "Varrer outra caixa por cabeçalhos de auto-criptografia?" + + #. L10N: Autocrypt Account Menu Help line: + #. create new account + #. +-#: autocrypt/autocrypt_acct_menu.c:63 ++#: autocrypt/autocrypt_acct_menu.c:62 + msgid "Create" + msgstr "Criar" + + #. L10N: Autocrypt Account Menu Help line: + #. delete account + #. +-#: autocrypt/autocrypt_acct_menu.c:67 remailer.c:77 ++#: autocrypt/autocrypt_acct_menu.c:66 remailer.c:75 + msgid "Delete" + msgstr "Remover" + +@@ -243,9 +267,9 @@ msgstr "Remover" + #. toggle an account active/inactive + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:74 ++#: autocrypt/autocrypt_acct_menu.c:73 + msgid "Tgl Active" + msgstr "Tgl ativo" + +@@ -253,17 +277,17 @@ msgstr "Tgl ativo" + #. toggle "prefer-encrypt" on an account + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:81 +-msgid "Prf Enc" ++#: autocrypt/autocrypt_acct_menu.c:80 ++msgid "Prf Encr" + msgstr "Prf Crpt" + + #. L10N: + #. Autocrypt Account menu. + #. flag that an account has prefer-encrypt set + #. +-#: autocrypt/autocrypt_acct_menu.c:123 ++#: autocrypt/autocrypt_acct_menu.c:122 + msgid "prefer encrypt" + msgstr "preferir criptografia" + +@@ -272,7 +296,7 @@ msgstr "preferir criptografia" + #. flag that an account has prefer-encrypt unset; + #. thus encryption will need to be manually enabled. + #. +-#: autocrypt/autocrypt_acct_menu.c:130 ++#: autocrypt/autocrypt_acct_menu.c:129 + msgid "manual encrypt" + msgstr "criptografia manual" + +@@ -280,7 +304,7 @@ msgstr "criptografia manual" + #. Autocrypt Account menu. + #. flag that an account is enabled/active + #. +-#: autocrypt/autocrypt_acct_menu.c:138 ++#: autocrypt/autocrypt_acct_menu.c:137 + msgid "active" + msgstr "ativa" + +@@ -288,12 +312,12 @@ msgstr "ativa" + #. Autocrypt Account menu. + #. flag that an account is disabled/inactive + #. +-#: autocrypt/autocrypt_acct_menu.c:144 ++#: autocrypt/autocrypt_acct_menu.c:143 + msgid "inactive" + msgstr "inativa" + + #. L10N: Autocrypt Account Management Menu title +-#: autocrypt/autocrypt_acct_menu.c:183 ++#: autocrypt/autocrypt_acct_menu.c:182 + msgid "Autocrypt Accounts" + msgstr "Contas de auto-criptografia" + +@@ -301,12 +325,12 @@ msgstr "Contas de auto-criptografia" + #. This error message is displayed if a database update of an + #. account record fails for some odd reason. + #. +-#: autocrypt/autocrypt_acct_menu.c:245 autocrypt/autocrypt_acct_menu.c:259 ++#: autocrypt/autocrypt_acct_menu.c:244 autocrypt/autocrypt_acct_menu.c:258 + msgid "Error updating account record" + msgstr "Erro ao atualizar registro de conta" + + #. L10N: Confirmation message when deleting an autocrypt account +-#: autocrypt/autocrypt_acct_menu.c:302 ++#: autocrypt/autocrypt_acct_menu.c:333 + #, c-format + msgid "Really delete account \"%s\"?" + msgstr "Realmente remover conta \"%s\"?" +@@ -324,7 +348,7 @@ msgstr "Realmente remover conta \"%s\"?" + msgid "Unable to open autocrypt database %s" + msgstr "Não foi possível abrir banco de dados de autocriptografia %s" + +-#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:774 ++#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:773 + #, c-format + msgid "error creating gpgme context: %s" + msgstr "erro ao criar contexto gpgme: %s" +@@ -397,469 +421,581 @@ msgstr "Versão do banco de dados de auto-criptografia recente demais" + msgid "Message cache isn't a directory: %s" + msgstr "Cachê de mensagens não é um diretório: %s" + +-#: browser.c:81 ++#: browser.c:80 + msgid "Chdir" + msgstr "Diretório" + +-#: browser.c:82 ++#: browser.c:81 + msgid "Goto" + msgstr "Ir para" + +-#: browser.c:83 browser.c:95 ++#: browser.c:82 browser.c:94 + msgid "Mask" + msgstr "Máscara" + +-#: browser.c:91 ++#: browser.c:90 + msgid "List" + msgstr "Lista" + +-#: browser.c:92 ++#: browser.c:91 + msgid "Subscribe" + msgstr "Inscrever" + +-#: browser.c:93 ++#: browser.c:92 + msgid "Unsubscribe" + msgstr "Desinscrever" + +-#: browser.c:94 index.c:134 ++#: browser.c:93 index.c:130 + msgid "Catchup" + msgstr "Catchup" + +-#: browser.c:760 browser.c:1519 browser.c:1758 ++#: browser.c:763 browser.c:1584 browser.c:1825 + #, c-format + msgid "%s is not a directory" + msgstr "%s não é um diretório" + +-#: browser.c:1025 ++#: browser.c:1028 + #, c-format + msgid "Subscribed newsgroups" + msgstr "Grupo de notícias inscritos" + +-#: browser.c:1028 ++#: browser.c:1031 + #, c-format + msgid "Newsgroups on server [%s]" + msgstr "Grupo de notícias no servidor [%s]" + +-#: browser.c:1038 ++#: browser.c:1041 + #, c-format + msgid "Mailboxes [%d]" + msgstr "Caixas de mensagens [%d]" + +-#: browser.c:1050 ++#: browser.c:1053 + #, c-format + msgid "Subscribed [%s], File mask: %s" + msgstr "[%s] assinada, Máscara de arquivos: %s" + +-#: browser.c:1056 ++#: browser.c:1059 + #, c-format + msgid "Directory [%s], File mask: %s" + msgstr "Diretório [%s], Máscara de arquivos: %s" + +-#: browser.c:1113 ++#: browser.c:1116 + msgid "Can't attach a directory" + msgstr "Não é possível anexar um diretório" + +-#: browser.c:1380 browser.c:1814 browser.c:1959 ++#: browser.c:1445 browser.c:1881 browser.c:2026 + msgid "No files match the file mask" + msgstr "Nenhum arquivo casa com a máscara" + +-#: browser.c:1587 ++#: browser.c:1654 + msgid "Create is only supported for IMAP mailboxes" + msgstr "Criação de caixa de mensagens somente em IMAP" + +-#: browser.c:1609 ++#: browser.c:1676 + msgid "Rename is only supported for IMAP mailboxes" + msgstr "Renomeação de caixa de mensagens somente em IMAP" + +-#: browser.c:1630 ++#: browser.c:1697 + msgid "Delete is only supported for IMAP mailboxes" + msgstr "Remoção de caixa de mensagens somente em IMAP" + +-#: browser.c:1642 ++#: browser.c:1709 + msgid "Can't delete currently selected mailbox" + msgstr "Impossível de remover caixa selecionada" + +-#: browser.c:1646 ++#: browser.c:1713 + #, c-format + msgid "Really delete mailbox \"%s\"?" + msgstr "Deseja mesmo remover a caixa de mensagens\"%s\"?" + +-#: browser.c:1663 ++#: browser.c:1730 + msgid "Mailbox deleted" + msgstr "Caixa de mensagens removida" + +-#: browser.c:1667 ++#: browser.c:1734 + msgid "Mailbox deletion failed" + msgstr "A remoção da caixa de mensagens falhou" + +-#: browser.c:1670 ++#: browser.c:1737 + msgid "Mailbox not deleted" + msgstr "Caixa de mensagens não removida" + +-#: browser.c:1697 ++#: browser.c:1764 + msgid "Chdir to: " + msgstr "Ir para diretório: " + +-#: browser.c:1747 browser.c:1808 ++#: browser.c:1814 browser.c:1875 + msgid "Error scanning directory" + msgstr "Erro ao examinar diretório" + +-#: browser.c:1769 ++#: browser.c:1836 + msgid "File Mask: " + msgstr "Máscara de arquivos: " + + #. L10N: The highlighted letters must match the "Sort" options +-#: browser.c:1831 ++#: browser.c:1898 + msgid "Reverse sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "Ordenação reversa por (d)data, (a)alfa, (z)tamanho, (e)descrição, (c)contagem, (w)novas ou (n)sem ordenação?" + + #. L10N: The highlighted letters must match the "Reverse Sort" options +-#: browser.c:1834 ++#: browser.c:1901 + msgid "Sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "Ordenação por (d)data, (a)alfa, (z)tamanho, (e)descrição, (c)contagem, (w)novas ou (n)sem ordenação?" + + #. L10N: These must match the highlighted letters from "Sort" and "Reverse Sort" +-#: browser.c:1837 ++#: browser.c:1904 + msgid "dazecwn" + msgstr "dazecwn" + +-#: browser.c:1948 ++#: browser.c:2015 + msgid "New file name: " + msgstr "Nome do novo arquivo: " + +-#: browser.c:1976 ++#: browser.c:2043 + msgid "Can't view a directory" + msgstr "Não é possível exibir um diretório" + +-#: browser.c:1993 ++#: browser.c:2060 + msgid "Error trying to view file" + msgstr "Erro ao tentar exibir arquivo" + +-#: browser.c:2079 ++#: browser.c:2146 + #, c-format + msgid "Subscribe pattern: " + msgstr "Padrão para inscrição: " + +-#: browser.c:2081 ++#: browser.c:2148 + #, c-format + msgid "Unsubscribe pattern: " + msgstr "Padrão para desinscrição: " + +-#: browser.c:2101 ++#: browser.c:2169 + msgid "No newsgroups match the mask" + msgstr "Nenhum grupo de notícias coincide com a máscara" + +-#: color.c:633 color.c:644 +-#, c-format +-msgid "%s: color not supported by term" +-msgstr "%s: cor não suportada pelo terminal" +- +-#: color.c:652 +-#, c-format +-msgid "%s: no such color" +-msgstr "%s: cor inválida" +- +-#: color.c:717 color.c:740 color.c:751 color.c:842 +-#, c-format +-msgid "%s: no such object" +-msgstr "%s: objeto inválido" +- +-#: color.c:731 color.c:868 color.c:1069 color.c:1098 color.c:1122 color.c:1191 +-#: color.c:1214 hook.c:110 hook.c:124 hook.c:367 hook.c:383 init.c:612 +-#: init.c:620 init.c:709 init.c:1099 init.c:1267 init.c:1871 init.c:1929 +-#: keymap.c:1184 score.c:110 +-#, c-format +-msgid "%s: too few arguments" +-msgstr "%s: poucos argumentos" +- +-#: color.c:1142 +-#, c-format +-msgid "%s: no such attribute" +-msgstr "%s: atributo inexistente" +- +-#: color.c:1223 color.c:1329 hook.c:131 hook.c:390 init.c:1123 init.c:2133 +-#: init.c:2611 keymap.c:1116 keymap.c:1289 keymap.c:1442 keymap.c:1506 +-#: mutt_lua.c:483 score.c:119 +-#, c-format +-msgid "%s: too many arguments" +-msgstr "%s: muitos argumentos" +- +-#: color.c:1244 +-msgid "default colors not supported" +-msgstr "cores pré-definidas não suportadas" +- +-#: color.c:1282 +-#, c-format +-msgid "Maximum quoting level is %d" +-msgstr "Número máximo de níveis de citação é %d" +- +-#: color.c:1319 +-#, c-format +-msgid "%s: invalid number: %s" +-msgstr "%s: número inválido: %s" +- + #. L10N: Used for the $crypt_verify_sig prompt +-#: commands.c:230 ++#: commands.c:232 + msgid "Verify signature?" + msgstr "Verificar assinatura?" + +-#: commands.c:257 mbox/mbox.c:1236 ++#: commands.c:259 mbox/mbox.c:1236 + msgid "Could not create temporary file" + msgstr "Não foi possível criar um arquivo temporário" + +-#: commands.c:269 ++#: commands.c:271 + msgid "Can't create display filter" + msgstr "Não é possível filtro de exibição." + +-#: commands.c:302 ++#: commands.c:304 + msgid "Could not copy message" + msgstr "Não foi possível copiar a mensagem." + +-#: commands.c:338 ++#: commands.c:340 + msgid "S/MIME signature successfully verified" + msgstr "Assinatura S/MIME verificada com sucesso" + +-#: commands.c:340 ++#: commands.c:342 + msgid "S/MIME certificate owner does not match sender" + msgstr "Certificado S/MIME do titular não coincide com o remetente" + +-#: commands.c:343 commands.c:353 ++#: commands.c:345 commands.c:355 + msgid "Warning: Part of this message has not been signed" + msgstr "Aviso: parte desta mensagem não foi assinada" + +-#: commands.c:345 ++#: commands.c:347 + msgid "S/MIME signature could NOT be verified" + msgstr "Assinatura S/MIME NÃO pode ser verificada" + +-#: commands.c:351 ++#: commands.c:353 + msgid "PGP signature successfully verified" + msgstr "Assinatura PGP verificada com sucesso" + +-#: commands.c:355 ++#: commands.c:357 + msgid "PGP signature could NOT be verified" + msgstr "Assinatura PGP NÃO pode ser verificada" + +-#: commands.c:372 compose.c:2116 compress.c:321 curs_lib.c:359 curs_lib.c:646 +-#: index.c:1235 index.c:1285 mutt_attach.c:159 mutt_attach.c:292 pager.c:2460 +-#: sendlib.c:1625 ++#: commands.c:378 compose.c:2187 compress/compress.c:320 gui/curs_lib.c:360 ++#: gui/curs_lib.c:714 index.c:1240 index.c:1290 mutt_attach.c:161 ++#: mutt_attach.c:294 pager.c:2433 sendlib.c:1624 + #, c-format + msgid "Error running \"%s\"" + msgstr "Erro ao executar \"%s\"" + +-#: commands.c:382 ++#: commands.c:388 + msgid "Command: " + msgstr "Comando: " + +-#: commands.c:419 recvcmd.c:191 recvcmd.c:203 ++#: commands.c:425 recvcmd.c:190 recvcmd.c:202 + msgid "Warning: message contains no From: header" + msgstr "Aviso: mensagem não contém cabeçalho 'From: ' (remetente)." + +-#: commands.c:425 recvcmd.c:212 ++#: commands.c:431 recvcmd.c:211 + msgid "Bounce message to: " + msgstr "Replicar mensagem para: " + +-#: commands.c:427 recvcmd.c:214 ++#: commands.c:433 recvcmd.c:213 + msgid "Bounce tagged messages to: " + msgstr "Replicar mensagens marcadas para: " + +-#: commands.c:436 recvcmd.c:224 ++#: commands.c:442 recvcmd.c:223 + msgid "Error parsing address" + msgstr "Erro ao interpretar endereço" + +-#: commands.c:455 recvcmd.c:243 ++#: commands.c:461 recvcmd.c:242 + #, c-format + msgid "Bounce message to %s?" + msgid_plural "Bounce messages to %s?" + msgstr[0] "Replicar mensagem para %s?" + msgstr[1] "Replicar mensagens para %s?" + +-#: commands.c:470 recvcmd.c:257 ++#: commands.c:476 recvcmd.c:257 + msgid "Message not bounced" + msgid_plural "Messages not bounced" + msgstr[0] "Mensagem não replicada" + msgstr[1] "Mensagens não replicadas" + +-#: commands.c:496 recvcmd.c:276 ++#: commands.c:502 recvcmd.c:276 + msgid "Message bounced" + msgid_plural "Messages bounced" + msgstr[0] "Mensagem replicada" + msgstr[1] "Mensagens replicadas" + +-#: commands.c:606 commands.c:642 commands.c:662 ++#: commands.c:612 commands.c:648 commands.c:668 + msgid "Can't create filter process" + msgstr "Não foi possível criar processo de filtragem" + +-#: commands.c:698 ++#: commands.c:704 + msgid "Pipe to command: " + msgstr "Alimentar (pipe) comando: " + +-#: commands.c:720 ++#: commands.c:726 + msgid "No printing command has been defined" + msgstr "Nenhum commando para impressão foi definido" + +-#: commands.c:732 ++#: commands.c:738 + msgid "Print message?" + msgstr "Imprimir mensagem?" + +-#: commands.c:733 ++#: commands.c:739 + msgid "Print tagged messages?" + msgstr "Imprimir mensagens marcadas?" + +-#: commands.c:739 ++#: commands.c:745 + msgid "Message printed" + msgid_plural "Messages printed" + msgstr[0] "Mensagem impressa" + msgstr[1] "Mensagens impressas" + +-#: commands.c:742 ++#: commands.c:748 + msgid "Message could not be printed" + msgid_plural "Messages could not be printed" + msgstr[0] "Mensagem não pôde ser impressa" + msgstr[1] "Mensagens não puderam ser impressas" + + #. L10N: The highlighted letters must match the "Sort" options +-#: commands.c:759 ++#: commands.c:765 + msgid "Rev-Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "Ordem rev (d)data/(f)remet/(r)receb/(s)assun/(o)para/(t)thread/(u)sem ordem/(z)tamanho/(c)pontos/(p)spam/(l)label?" + + #. L10N: The highlighted letters must match the "Rev-Sort" options +-#: commands.c:763 ++#: commands.c:769 + msgid "Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "Sort (d)data/(f)remet/(r)receb/(s)assun/(o)para/(t)thread/(u)sem ordem/(z)tamanho/(c)pontos/(p)spam/(l)label?" + + #. L10N: These must match the highlighted letters from "Sort" and "Rev-Sort" +-#: commands.c:767 ++#: commands.c:773 + msgid "dfrsotuzcpl" + msgstr "dfrsotuzcpl" + +-#: commands.c:831 ++#: commands.c:837 + msgid "Shell command: " + msgstr "Comando do shell: " + +-#: commands.c:1036 ++#: commands.c:1042 + msgid "Decode-save to mailbox" + msgstr "Decodificar-salvar mensagem na caixa" + +-#: commands.c:1036 ++#: commands.c:1042 + msgid "Decode-save tagged to mailbox" + msgstr "Decodificar-salvar mensagens marcadas para caixa" + +-#: commands.c:1038 ++#: commands.c:1044 + msgid "Decrypt-save to mailbox" + msgstr "Desencriptar-salvar mensagem na caixa" + +-#: commands.c:1038 ++#: commands.c:1044 + msgid "Decrypt-save tagged to mailbox" + msgstr "Desencriptar-salvar mensagens marcadas na caixa" + +-#: commands.c:1040 ++#: commands.c:1046 + msgid "Save to mailbox" + msgstr "Salvar na caixa" + +-#: commands.c:1040 ++#: commands.c:1046 + msgid "Save tagged to mailbox" + msgstr "Salvar mensagens marcadas na caixa" + +-#: commands.c:1045 ++#: commands.c:1051 + msgid "Decode-copy to mailbox" + msgstr "Decodificar-copiar mensagem para caixa" + +-#: commands.c:1045 ++#: commands.c:1051 + msgid "Decode-copy tagged to mailbox" + msgstr "Decodificar-copiar mensagens marcadas para caixa" + +-#: commands.c:1047 ++#: commands.c:1053 + msgid "Decrypt-copy to mailbox" + msgstr "Desencriptar-copiar mensagem para caixa" + +-#: commands.c:1047 ++#: commands.c:1053 + msgid "Decrypt-copy tagged to mailbox" + msgstr "Desencriptar-copiar mensagens marcadas para caixa" + +-#: commands.c:1049 ++#: commands.c:1055 + msgid "Copy to mailbox" + msgstr "Copiar para caixa" + +-#: commands.c:1049 ++#: commands.c:1055 + msgid "Copy tagged to mailbox" + msgstr "Copiar mensagens marcadas para caixa" + +-#: commands.c:1092 ++#: commands.c:1098 + #, c-format + msgid "Copying to %s..." + msgstr "Copiando para %s..." + + #. L10N: e.g. "text/plain; charset=UTF-8; ..." +-#: commands.c:1257 ++#: commands.c:1263 + msgid "Content type is too long" + msgstr "Tipo de conteúdo muito comprido" + +-#: commands.c:1281 ++#: commands.c:1290 + #, c-format + msgid "Convert to %s upon sending?" + msgstr "Converter para %s após enviar?" + +-#: commands.c:1292 ++#: commands.c:1301 + #, c-format + msgid "Content-Type changed to %s" + msgstr "Tipo de conteúdo (Content-Type) alterado para %s" + +-#: commands.c:1297 ++#: commands.c:1306 + #, c-format + msgid "Character set changed to %s; not converting" + msgstr "Conjunto de caracteres alterado para %s; conversão interrompida" + +-#: commands.c:1298 ++#: commands.c:1307 + #, c-format + msgid "Character set changed to %s; converting" + msgstr "Conjunto de caracteres alterado para %s; convertendo" + +-#: compose.c:99 ++#: command_parse.c:83 command_parse.c:211 command_parse.c:219 ++#: command_parse.c:740 command_parse.c:887 command_parse.c:1491 ++#: command_parse.c:1549 gui/color.c:731 gui/color.c:868 gui/color.c:1069 ++#: gui/color.c:1098 gui/color.c:1122 gui/color.c:1191 gui/color.c:1214 ++#: hook.c:110 hook.c:124 hook.c:372 hook.c:388 keymap.c:1182 score.c:110 ++#, c-format ++msgid "%s: too few arguments" ++msgstr "%s: poucos argumentos" ++ ++#: command_parse.c:394 ++msgid "-group: no group name" ++msgstr "-group: sem nome de grupo" ++ ++#: command_parse.c:404 ++msgid "out of arguments" ++msgstr "argumentos insuficientes" ++ ++#: command_parse.c:445 command_parse.c:1372 ++#, c-format ++msgid "Error: Can't build path of '%s'" ++msgstr "Erro: incapaz de montar caminho para '%s'" ++ ++#: command_parse.c:458 ++#, c-format ++msgid "Error: Cyclic sourcing of configuration file '%s'" ++msgstr "Erro: inclusão cíclica do arquivo de configuração '%s'" ++ ++#: command_parse.c:491 ++#, c-format ++msgid "Error in %s, line %d: %s" ++msgstr "Erro em %s, linha %d: %s" ++ ++#: command_parse.c:502 ++#, c-format ++msgid "Warning in %s, line %d: %s" ++msgstr "Aviso em %s, linha %d: %s" ++ ++#: command_parse.c:526 ++#, c-format ++msgid "source: errors in %s" ++msgstr "source: erros em %s" ++ ++#: command_parse.c:526 ++#, c-format ++msgid "source: reading aborted due to too many errors in %s" ++msgstr "fonte: leitura interrompida devido ao excesso de erros em %s" ++ ++#: command_parse.c:535 ++#, c-format ++msgid "source: %d warning in %s" ++msgid_plural "source: %d warnings in %s" ++msgstr[0] "fonte: %d aviso em %s" ++msgstr[1] "fonte: %d avisos em %s" ++ ++#: command_parse.c:564 ++msgid "alias: no address" ++msgstr "apelido: sem endereço" ++ ++#: command_parse.c:606 ++#, c-format ++msgid "Warning: Bad IDN '%s' in alias '%s'" ++msgstr "Aviso: IDN '%s' inválida no contato '%s'" ++ ++#: command_parse.c:684 ++msgid "attachments: no disposition" ++msgstr "anexos: sem disposição" ++ ++#: command_parse.c:695 ++msgid "Current attachments settings:" ++msgstr "Configurações atuais para anexos:" ++ ++#: command_parse.c:725 ++msgid "attachments: invalid disposition" ++msgstr "anexos: disposição inválida" ++ ++#: command_parse.c:764 command_parse.c:1753 command_parse.c:2205 ++#: gui/color.c:1223 gui/color.c:1329 hook.c:131 hook.c:395 keymap.c:1114 ++#: keymap.c:1287 keymap.c:1440 keymap.c:1504 mutt_lua.c:485 score.c:119 ++#, c-format ++msgid "%s: too many arguments" ++msgstr "%s: muitos argumentos" ++ ++#: command_parse.c:801 ++#, c-format ++msgid "%sgroup: missing -rx or -addr" ++msgstr "%sgroup: faltando -rx ou -addr" ++ ++#: command_parse.c:827 ++#, c-format ++msgid "%sgroup: warning: bad IDN '%s'" ++msgstr "%sgroup: aviso: IDN '%s' inválida" ++ ++#: command_parse.c:898 ++#, c-format ++msgid "Error: %s" ++msgstr "Erro: %s" ++ ++#: command_parse.c:1065 ++msgid "invalid header field" ++msgstr "campo de cabeçalho inválido" ++ ++#: command_parse.c:1331 command_parse.c:1435 ++#, c-format ++msgid "%s: unknown variable" ++msgstr "%s: variável desconhecida" ++ ++#: command_parse.c:1528 ++#, c-format ++msgid "%s is unset" ++msgstr "%s não está atribuída" ++ ++#: command_parse.c:1573 mutt_lua.c:480 ++#, c-format ++msgid "source: error at %s" ++msgstr "source: erro em %s" ++ ++#: command_parse.c:1581 ++#, c-format ++msgid "source: file %s could not be sourced" ++msgstr "fonte: arquivo %s não pôde ser importado" ++ ++#: command_parse.c:1604 ++msgid "spam: no matching pattern" ++msgstr "spam: nenhuma coincidência com o padrão" ++ ++#: command_parse.c:1606 ++msgid "nospam: no matching pattern" ++msgstr "nospam: nenhuma coincidência com o padrão" ++ ++#: command_parse.c:1762 imap/imap.c:1443 ++#, c-format ++msgid "Subscribed to %s" ++msgstr "Inscrito em %s" ++ ++#: command_parse.c:1766 ++#, c-format ++msgid "Could not subscribe to %s" ++msgstr "Incapaz de inscrever em %s" ++ ++#: command_parse.c:1774 command_parse.c:2226 ++msgid "No folder specified" ++msgstr "Nenhuma pasta especificada" ++ ++#: command_parse.c:1943 ++msgid "unattachments: no disposition" ++msgstr "desvinculados: sem disposição" ++ ++#: command_parse.c:1981 ++msgid "unattachments: invalid disposition" ++msgstr "desvinculados: disposição inválida" ++ ++#: command_parse.c:2214 imap/imap.c:1445 ++#, c-format ++msgid "Unsubscribed from %s" ++msgstr "Desinscrito de %s" ++ ++#: command_parse.c:2218 ++#, c-format ++msgid "Could not unsubscribe from %s" ++msgstr "Incapaz de desinscrever de %s" ++ ++#: compose.c:97 + msgid "There are no attachments" + msgstr "Não há anexos" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:166 ++#: compose.c:164 + msgid "From: " + msgstr "From: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:168 send.c:284 ++#: compose.c:166 send.c:284 + msgid "To: " + msgstr "To: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:170 send.c:286 ++#: compose.c:168 send.c:286 + msgid "Cc: " + msgstr "Cc: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:172 send.c:288 ++#: compose.c:170 send.c:288 + msgid "Bcc: " + msgstr "Bcc: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:174 compose.c:1242 send.c:320 ++#: compose.c:172 compose.c:1302 send.c:320 + msgid "Subject: " + msgstr "Subject: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:176 ++#: compose.c:174 + msgid "Reply-To: " + msgstr "Reply-To: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:178 compose.c:1261 ++#: compose.c:176 compose.c:1321 + msgid "Fcc: " + msgstr "Fcc: " + + #. L10N: "Mix" refers to the MixMaster chain for anonymous email +-#: compose.c:181 ++#: compose.c:179 + msgid "Mix: " + msgstr "Mix: " + + #. L10N: Compose menu field. Holds "Encrypt", "Sign" related information +-#: compose.c:184 ++#: compose.c:182 + msgid "Security: " + msgstr "Segurança: " + +@@ -870,75 +1006,75 @@ msgstr "Segurança: " + #. it should not be longer than the other compose menu fields. + #. Since it shares the row with "Encrypt with:", it should not be longer + #. than 15-20 character cells. +-#: compose.c:192 ncrypt/crypt_gpgme.c:5602 ncrypt/pgp.c:1974 +-#: ncrypt/smime.c:2395 ++#: compose.c:190 ncrypt/crypt_gpgme.c:5682 ncrypt/pgp.c:1976 ++#: ncrypt/smime.c:2429 + msgid "Sign as: " + msgstr "Assinar como: " + + #. L10N: The compose menu autocrypt line +-#: compose.c:195 ++#: compose.c:193 + msgid "Autocrypt: " + msgstr "Auto-criptografia: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:199 ++#: compose.c:197 + msgid "Newsgroups: " + msgstr "Newsgroups: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:201 ++#: compose.c:199 + msgid "Followup-To: " + msgstr "Followup-To" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:203 ++#: compose.c:201 + msgid "X-Comment-To: " + msgstr "X-Comment-To: " + +-#: compose.c:208 compose.c:224 ++#: compose.c:206 compose.c:222 + msgid "Send" + msgstr "Enviar" + +-#: compose.c:209 compose.c:225 remailer.c:77 ++#: compose.c:207 compose.c:223 remailer.c:75 + msgid "Abort" + msgstr "Cancelar" + + #. L10N: compose menu help line entry +-#: compose.c:211 ++#: compose.c:209 + msgid "To" + msgstr "To (para)" + + #. L10N: compose menu help line entry +-#: compose.c:213 ++#: compose.c:211 + msgid "CC" + msgstr "CC (cópia)" + + #. L10N: compose menu help line entry +-#: compose.c:215 compose.c:227 ++#: compose.c:213 compose.c:225 + msgid "Subj" + msgstr "Subj (assunto)" + +-#: compose.c:216 compose.c:228 compose.c:1556 ++#: compose.c:214 compose.c:226 compose.c:1616 + msgid "Attach file" + msgstr "Anexar arquivo" + +-#: compose.c:217 compose.c:229 ++#: compose.c:215 compose.c:227 + msgid "Descrip" + msgstr "Descrição" + +-#: compose.c:226 ++#: compose.c:224 + msgid "Newsgroups" + msgstr "Grupo de notícias" + + #. L10N: Autocrypt recommendation flag: off. + #. * This is displayed when Autocrypt is turned off. +-#: compose.c:239 compose.c:473 ++#: compose.c:237 compose.c:472 + msgid "Off" + msgstr "Desativado" + + #. L10N: Autocrypt recommendation flag: no. + #. * This is displayed when Autocrypt cannot encrypt to the recipients. +-#: compose.c:242 ++#: compose.c:240 + msgid "No" + msgstr "Não" + +@@ -946,7 +1082,7 @@ msgstr "Não" + #. * This is displayed when Autocrypt believes encryption should not be used. + #. * This might occur if one of the recipient Autocrypt Keys has not been + #. * used recently, or if the only key available is a Gossip Header key. +-#: compose.c:247 ++#: compose.c:245 + msgid "Discouraged" + msgstr "Desencorajado" + +@@ -954,14 +1090,14 @@ msgstr "Desencorajado" + #. * This is displayed when Autocrypt believes encryption is possible, but + #. * leaves enabling it up to the sender. Probably because "prefer encrypt" + #. * is not set in both the sender and recipient keys. +-#: compose.c:252 ++#: compose.c:250 + msgid "Available" + msgstr "Disponível" + + #. L10N: Autocrypt recommendation flag: yes. + #. * This is displayed when Autocrypt would normally enable encryption + #. * automatically. +-#: compose.c:256 ++#: compose.c:254 + msgid "Yes" + msgstr "Sim" + +@@ -971,7 +1107,7 @@ msgstr "Sim" + #. (c)lear sets cleartext. + #. (a)utomatic defers to the recommendation. + #. +-#: compose.c:338 ++#: compose.c:337 + msgid "Autocrypt: (e)ncrypt, (c)lear, (a)utomatic?" + msgstr "Auto-criptografia: (e)criptografar, (c)limpar, (a)automático?" + +@@ -979,51 +1115,51 @@ msgstr "Auto-criptografia: (e)criptografar, (c)limpar, (a)automático?" + #. The letter corresponding to the compose menu autocrypt prompt + #. (e)ncrypt, (c)lear, (a)utomatic + #. +-#: compose.c:346 ++#: compose.c:345 + msgid "eca" + msgstr "eca" + +-#: compose.c:383 ++#: compose.c:382 + msgid "Not supported" + msgstr "Não suportado" + +-#: compose.c:390 ++#: compose.c:389 + msgid "Sign, Encrypt" + msgstr "Assinar, Encriptar" + +-#: compose.c:395 compose.c:468 ++#: compose.c:394 compose.c:467 + msgid "Encrypt" + msgstr "Encriptar" + +-#: compose.c:400 ++#: compose.c:399 + msgid "Sign" + msgstr "Assinar" + +-#: compose.c:406 ++#: compose.c:405 + msgid "None" + msgstr "Vazio (none)" + +-#: compose.c:415 ++#: compose.c:414 + msgid " (inline PGP)" + msgstr "(PGP incorporado)" + +-#: compose.c:417 ++#: compose.c:416 + msgid " (PGP/MIME)" + msgstr " (PGP/MIME)" + +-#: compose.c:420 ++#: compose.c:419 + msgid " (S/MIME)" + msgstr " (S/MIME)" + +-#: compose.c:424 ++#: compose.c:423 + msgid " (OppEnc mode)" + msgstr " (modo OppEnc)" + +-#: compose.c:436 compose.c:445 ++#: compose.c:435 compose.c:444 + msgid "" + msgstr "" + +-#: compose.c:452 ++#: compose.c:451 + msgid "Encrypt with: " + msgstr "Encriptar com: " + +@@ -1032,11 +1168,11 @@ msgstr "Encriptar com: " + #. Displays the output of the recommendation engine + #. (Off, No, Discouraged, Available, Yes) + #. +-#: compose.c:483 ++#: compose.c:482 + msgid "Recommendation: " + msgstr "Recomendação: " + +-#: compose.c:547 ++#: compose.c:546 + msgid "" + msgstr "" + +@@ -1047,7 +1183,7 @@ msgstr "" + #. The filename is located last to avoid a long path hiding the + #. error message. + #. +-#: compose.c:601 ++#: compose.c:600 + #, c-format + msgid "Attachment #%d no longer exists: %s" + msgstr "O anexo #%d não existe mais: %s" +@@ -1059,231 +1195,350 @@ msgstr "O anexo #%d não existe mais: %s" + #. The filename is located last to avoid a long path hiding the + #. prompt question. + #. +-#: compose.c:621 ++#: compose.c:620 + #, c-format + msgid "Attachment #%d modified. Update encoding for %s?" + msgstr "O anexo #%d foi modificado. Atualizar a codificação para %s?" + +-#: compose.c:716 ++#: compose.c:715 + msgid "-- Attachments" + msgstr "-- Anexos" + +-#: compose.c:770 ++#: compose.c:769 + msgid "You may not delete the only attachment" + msgstr "Você não pode remover o único anexo" + +-#: compose.c:1296 edit.c:538 send.c:2462 ++#: compose.c:1356 edit.c:536 send.c:2473 + #, c-format + msgid "Bad IDN in '%s': '%s'" + msgstr "IDN inválida em '%s': '%s'" + +-#: compose.c:1347 ++#: compose.c:1407 + msgid "Attachment is already at top" + msgstr "Anexo já é o primeiro da lista" + +-#: compose.c:1352 compose.c:1368 ++#: compose.c:1412 compose.c:1428 + msgid "The fundamental part can't be moved" + msgstr "Item fundamental não pode ser rearranjado" + +-#: compose.c:1363 ++#: compose.c:1423 + msgid "Attachment is already at bottom" + msgstr "Anexo já é o último da lista" + +-#: compose.c:1381 ++#: compose.c:1441 + msgid "Grouping 'alternatives' requires at least 2 tagged messages" + msgstr "Alternativas para grupo requerem ao menos 2 mensagens rotuladas" + +-#: compose.c:1462 ++#: compose.c:1522 + msgid "Grouping 'multilingual' requires at least 2 tagged messages" + msgstr "Multilíngue para grupo requer ao menos 2 mensagens rotuladas" + +-#: compose.c:1475 ++#: compose.c:1535 + msgid "Not all parts have 'Content-Language' set, continue?" + msgstr "Nem todos os ítens possuem 'Content-Language' configurado. Continuar?" + +-#: compose.c:1477 ++#: compose.c:1537 + msgid "Not sending this message" + msgstr "Mensagem não enviada" + +-#: compose.c:1571 ++#: compose.c:1631 + msgid "Attaching selected file..." + msgid_plural "Attaching selected files..." + msgstr[0] "Anexando o arquivo escolhido..." + msgstr[1] "Anexando os arquivos escolhidos..." + +-#: compose.c:1585 ++#: compose.c:1645 + #, c-format + msgid "Unable to attach %s" + msgstr "Não foi possível anexar %s" + +-#: compose.c:1606 ++#: compose.c:1666 + msgid "Open mailbox to attach message from" + msgstr "Abrir caixa para obter mensagem a ser anexada" + +-#: compose.c:1616 ++#: compose.c:1676 + msgid "Open newsgroup to attach message from" + msgstr "Abrir grupo de notícias para obter mensagem a ser anexada" + +-#: compose.c:1667 ++#: compose.c:1730 + #, c-format + msgid "Unable to open mailbox %s" + msgstr "Não foi possível abrir a caixa de mensagens %s" + +-#: compose.c:1676 ++#: compose.c:1739 + msgid "No messages in that folder" + msgstr "Nenhuma mensagem naquela pasta" + +-#: compose.c:1686 ++#: compose.c:1749 + msgid "Tag the messages you want to attach" + msgstr "Marque as mensagens que você quer anexar" + +-#: compose.c:1715 ++#: compose.c:1785 + msgid "Unable to attach" + msgstr "Não foi possível anexar" + +-#: compose.c:1752 ++#: compose.c:1822 + msgid "Recoding only affects text attachments" + msgstr "A gravação só afeta os anexos de texto" + +-#: compose.c:1757 ++#: compose.c:1827 + msgid "The current attachment won't be converted" + msgstr "O anexo atual não será convertido" + +-#: compose.c:1759 ++#: compose.c:1829 + msgid "The current attachment will be converted" + msgstr "O anexo atual será convertido" + +-#: compose.c:1831 ++#: compose.c:1901 + msgid "Empty 'Content-Language'" + msgstr "'Content-Language' vazio" + +-#: compose.c:1849 ++#: compose.c:1920 + msgid "Invalid encoding" + msgstr "Codificação inválida" + +-#: compose.c:1871 ++#: compose.c:1942 + msgid "Save a copy of this message?" + msgstr "Salvar uma cópia desta mensagem?" + +-#: compose.c:1924 ++#: compose.c:1995 + msgid "Send attachment with name: " + msgstr "Enviar anexo com o nome: " + +-#: compose.c:1939 ++#: compose.c:2010 + msgid "Rename to: " + msgstr "Renomear para: " + + #. L10N: "stat" is a system call. Do "man 2 stat" for more information. +-#: compose.c:1946 editmsg.c:102 editmsg.c:138 sendlib.c:1050 ++#: compose.c:2017 editmsg.c:102 editmsg.c:138 sendlib.c:1049 + #, c-format + msgid "Can't stat %s: %s" + msgstr "Impossível aplicar 'stat' em %s: %s" + +-#: compose.c:1966 ++#: compose.c:2037 + msgid "New file: " + msgstr "Novo arquivo: " + +-#: compose.c:1984 ++#: compose.c:2055 + msgid "Content-Type is of the form base/sub" + msgstr "Tipo de conteúdo (Content-Type) é da forma base/sub" + +-#: compose.c:1991 ++#: compose.c:2062 + #, c-format + msgid "Unknown Content-Type %s" + msgstr "Tipo de conteúdo (Content-Type) %s desconhecido" + +-#: compose.c:1999 ++#: compose.c:2070 + #, c-format + msgid "Can't create file %s" + msgstr "Não é possível criar o arquivo %s" + +-#: compose.c:2008 ++#: compose.c:2079 + msgid "What we have here is a failure to make an attachment" + msgstr "O que temos aqui é uma falha ao criar um anexo" + +-#: compose.c:2073 ++#: compose.c:2144 + msgid "Save (postpone) draft message?" + msgstr "Salvar (adiar) mensagem não terminada?" + +-#: compose.c:2133 ++#: compose.c:2204 + msgid "Write message to mailbox" + msgstr "Gravar mensagem na caixa" + +-#: compose.c:2136 ++#: compose.c:2207 + #, c-format + msgid "Writing message to %s ..." + msgstr "Gravando mensagem em %s..." + +-#: compose.c:2143 ++#: compose.c:2214 + msgid "Message written" + msgstr "Mensgem gravada" + +-#: compose.c:2154 ++#: compose.c:2225 + msgid "No PGP backend configured" + msgstr "Nenhum sistema PGP configurado" + +-#: compose.c:2161 compose.c:2225 ++#: compose.c:2232 compose.c:2296 + msgid "S/MIME already selected. Clear and continue?" + msgstr "S/MIME já selecionado. Remover e continuar?" + +-#: compose.c:2186 ++#: compose.c:2257 + msgid "No S/MIME backend configured" + msgstr "Nenum sistema S/MIME configurado" + +-#: compose.c:2194 ++#: compose.c:2265 + msgid "PGP already selected. Clear and continue?" + msgstr "PGP já selecionado. Remover e continuar?" + +-#: compress.c:355 compress.c:499 ++#: compress/compress.c:354 compress/compress.c:498 + #, c-format + msgid "Can't append without an append-hook or close-hook : %s" + msgstr "Não é possível incluir sem os comandos 'append-hook' ou 'close-hook': %s" + +-#: compress.c:444 compress.c:511 compress.c:590 compress.c:628 mbox/mbox.c:1208 ++#: compress/compress.c:443 compress/compress.c:510 compress/compress.c:589 ++#: compress/compress.c:627 mbox/mbox.c:1208 + msgid "Unable to lock mailbox" + msgstr "Não foi possível travar a caixa de mensagens" + +-#: compress.c:448 compress.c:518 compress.c:594 ++#: compress/compress.c:447 compress/compress.c:517 compress/compress.c:593 + #, c-format + msgid "Decompressing %s" + msgstr "Descompactando %s" + +-#: compress.c:457 ++#: compress/compress.c:456 + msgid "Can't identify the contents of the compressed file" + msgstr "Não foi possível identificar os conteúdos do arquivo comprimido" + +-#: compress.c:464 compress.c:539 ++#: compress/compress.c:463 compress/compress.c:538 + #, c-format + msgid "Can't find mailbox ops for mailbox type %d" + msgstr "Ops da caixa de mensagens não encontrado para caixa do tipo %d" + +-#: compress.c:521 ++#: compress/compress.c:520 + #, c-format + msgid "Compress command failed: %s" + msgstr "Comando de compressão falhou: %s" + +-#: compress.c:532 ++#: compress/compress.c:531 + msgid "Unsupported mailbox type for appending" + msgstr "Inclusão não disponível para esse tipo de caixa de mensagens" + +-#: compress.c:618 ++#: compress/compress.c:617 + msgid "Can't sync a compressed file without a close-hook" + msgstr "Impossível sincronizar o arquivo compactado sem o comando 'close-hook'" + +-#: compress.c:640 compress.c:692 ++#: compress/compress.c:639 compress/compress.c:691 + #, c-format + msgid "Compressing %s" + msgstr "Compactando %s" + +-#: compress.c:687 ++#: compress/compress.c:686 + #, c-format + msgid "Compressed-appending to %s..." + msgstr "Compactar-incluir para %s..." + +-#: compress.c:699 editmsg.c:247 ++#: compress/compress.c:698 editmsg.c:247 ++#, c-format ++msgid "Error. Preserving temporary file: %s" ++msgstr "Erro. Preservando o arquivo temporário: %s" ++ ++#: config/bool.c:70 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %s" ++msgstr "Data relativa inválida: %s" ++ ++#: config/bool.c:131 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %ld" ++msgstr "Data relativa inválida: %s" ++ ++#: config/enum.c:62 ++#, fuzzy, c-format ++msgid "Invalid enum value: %s" ++msgstr "%s: número inválido: %s" ++ ++#: config/enum.c:149 ++#, fuzzy, c-format ++msgid "Invalid enum value: %ld" ++msgstr "Valor inválido para opção %s: %ld" ++ ++#: config/long.c:50 ++#, fuzzy, c-format ++msgid "Invalid long: %s" ++msgstr "Mês inválido: %s" ++ ++#: config/long.c:56 config/long.c:114 config/number.c:68 config/number.c:133 ++#, fuzzy, c-format ++msgid "Option %s may not be negative" ++msgstr "Opção %s não pode ser alterada no paginador" ++ ++#: config/number.c:49 config/sort.c:145 config/string.c:75 config/string.c:159 ++#, fuzzy, c-format ++msgid "Option %s may not be empty" ++msgstr "Opção %s não pode ser alterada no paginador" ++ ++#: config/number.c:56 ++#, fuzzy, c-format ++msgid "Invalid number: %s" ++msgstr "%s: número inválido: %s" ++ ++#: config/number.c:62 ++#, c-format ++msgid "Number is too big: %s" ++msgstr "" ++ ++#: config/number.c:127 ++#, fuzzy, c-format ++msgid "Invalid number: %ld" ++msgstr "%s: número inválido: %s" ++ ++#: config/quad.c:69 ++#, fuzzy, c-format ++msgid "Invalid quad value: %s" ++msgstr "Data relativa inválida: %s" ++ ++#: config/quad.c:133 ++#, fuzzy, c-format ++msgid "Invalid quad value: %ld" ++msgstr "Valor inválido para opção %s: %ld" ++ ++#: config/set.c:102 ++#, c-format ++msgid "No such variable: %s" ++msgstr "" ++ ++#: config/set.c:134 config/set.c:821 ++#, fuzzy, c-format ++msgid "Variable '%s' has an invalid type %d" ++msgstr "Erro: valor '%s' é inválido para -d" ++ ++#: config/set.c:399 config/set.c:463 config/set.c:528 config/set.c:601 ++#: config/set.c:671 config/set.c:744 ++#, fuzzy, c-format ++msgid "Unknown variable '%s'" ++msgstr "%s: variável desconhecida" ++ ++#: config/sort.c:192 ++#, fuzzy, c-format ++msgid "Invalid sort name: %s" ++msgstr "Data relativa inválida: %s" ++ ++#: config/sort.c:322 ++#, fuzzy, c-format ++msgid "Invalid sort type: %ld" ++msgstr "Data relativa inválida: %s" ++ ++#. L10N: Example: Username at myhost.com ++#: conn/connaccount.c:61 ++#, c-format ++msgid "Username at %s: " ++msgstr "Nome de usuário em %s: " ++ ++#: conn/connaccount.c:117 ++#, c-format ++msgid "Password for %s@%s: " ++msgstr "Senha para %s@%s: " ++ ++#. L10N: You will see this error message if (1) you have "oauthbearer" in ++#. one of your $*_authenticators and (2) you do not have the corresponding ++#. $*_oauth_refresh_command defined. So the message does not mean "None of ++#. your $*_oauth_refresh_command's are defined." ++#: conn/connaccount.c:165 ++msgid "No OAUTH refresh command defined" ++msgstr "Comando de atualizaçao OAUTH não definido" ++ ++#: conn/connaccount.c:173 ++msgid "Unable to run refresh command" ++msgstr "Incapaz de executar comando de atualização" ++ ++#: conn/connaccount.c:184 ++msgid "Command returned empty string" ++msgstr "Comando respondeu com mensagem vazia" ++ ++#: conn/connaccount.c:191 + #, c-format +-msgid "Error. Preserving temporary file: %s" +-msgstr "Erro. Preservando o arquivo temporário: %s" ++msgid "OAUTH token is too big: %ld" ++msgstr "" + + #: conn/conn_raw.c:160 conn/conn_raw.c:218 + #, c-format +@@ -1305,7 +1560,7 @@ msgstr "Conectando a %s..." + msgid "Could not connect to %s (%s)" + msgstr "Não foi possível conectar com %s (%s)" + +-#: conn/conn_raw.c:260 conn/ssl.c:1230 curs_lib.c:568 mutt_logging.c:149 ++#: conn/conn_raw.c:260 conn/ssl.c:1245 gui/curs_lib.c:569 mutt_logging.c:147 + msgid "unknown error" + msgstr "erro desconhecido" + +@@ -1319,23 +1574,23 @@ msgstr "Erro ao se comunicar com %s (%s)" + msgid "Connection to %s has been aborted" + msgstr "A conexão com %s foi cancelada" + +-#: conn/sasl.c:565 ++#: conn/sasl.c:547 + msgid "Unknown SASL profile" + msgstr "Perfil SASL desconhecido" + +-#: conn/sasl.c:598 ++#: conn/sasl.c:580 + msgid "Error allocating SASL connection" + msgstr "Erro ao alocar conexão SASL" + +-#: conn/sasl.c:608 ++#: conn/sasl.c:590 + msgid "Error setting SASL security properties" + msgstr "Erro ao configurar as propriedades de segurança SASL" + +-#: conn/sasl.c:619 ++#: conn/sasl.c:601 + msgid "Error setting SASL external security strength" + msgstr "Erro ao configurar a força de segurança externa SASL" + +-#: conn/sasl.c:629 ++#: conn/sasl.c:611 + msgid "Error setting SASL external user name" + msgstr "Erro ao configurar nome de usuário externo SASL" + +@@ -1348,132 +1603,108 @@ msgstr "Comando de pré-conexão falhou" + msgid "Connection to %s closed" + msgstr "Conexão com %s encerrada" + +-#: conn/ssl.c:237 ++#: conn/ssl.c:222 + #, c-format + msgid "Filling entropy pool: %s..." + msgstr "Completando reserva de entropia: %s..." + +-#: conn/ssl.c:243 ++#: conn/ssl.c:228 + #, c-format + msgid "%s has insecure permissions" + msgstr "%s tem permissões não seguras" + +-#: conn/ssl.c:385 ++#: conn/ssl.c:369 + msgid "SSL disabled due to the lack of entropy" + msgstr "SSL desabilitado devido à falta de entropia" + +-#: conn/ssl.c:402 ++#: conn/ssl.c:386 + msgid "Unknown" + msgstr "Desconhecido" + +-#: conn/ssl.c:421 conn/ssl_gnutls.c:186 ++#: conn/ssl.c:405 conn/ssl_gnutls.c:188 + #, c-format + msgid "[unable to calculate]" + msgstr "[impossível calcular]" + +-#: conn/ssl.c:446 ++#: conn/ssl.c:430 + msgid "[invalid date]" + msgstr "[data inválida]" + +-#: conn/ssl.c:506 ++#: conn/ssl.c:490 + msgid "Server certificate is not yet valid" + msgstr "Certificado do servidar ainda não é válido" + +-#: conn/ssl.c:516 ++#: conn/ssl.c:500 + msgid "Server certificate has expired" + msgstr "O certificado do servidor expirou" + +-#: conn/ssl.c:605 ++#: conn/ssl.c:589 + msgid "Failed to find enough entropy on your system" + msgstr "Não há entropia suficiente no seu sistema" + +-#: conn/ssl.c:799 ++#: conn/ssl.c:783 + msgid "can't get certificate subject" + msgstr "não pude obter o objeto certificado" + +-#: conn/ssl.c:808 conn/ssl.c:816 ++#: conn/ssl.c:792 conn/ssl.c:800 + msgid "can't get certificate common name" + msgstr "não pude obter o nome comum certificado " + +-#: conn/ssl.c:830 ++#: conn/ssl.c:814 + #, c-format + msgid "certificate owner does not match hostname %s" + msgstr "titular certificado não coincide hostname %s" + +-#: conn/ssl.c:904 conn/ssl_gnutls.c:539 ++#: conn/ssl.c:917 conn/ssl_gnutls.c:570 + msgid "This certificate belongs to:" + msgstr "Este certificado pertence a:" + +-#: conn/ssl.c:913 conn/ssl_gnutls.c:593 ++#: conn/ssl.c:926 conn/ssl_gnutls.c:624 + msgid "This certificate was issued by:" + msgstr "Este certificado foi emitido por:" + +-#: conn/ssl.c:922 conn/ssl_gnutls.c:604 ++#: conn/ssl.c:935 conn/ssl_gnutls.c:635 + msgid "This certificate is valid" + msgstr "Este certificado é válido" + +-#: conn/ssl.c:923 conn/ssl_gnutls.c:608 ++#: conn/ssl.c:936 conn/ssl_gnutls.c:639 + #, c-format + msgid " from %s" + msgstr " de %s" + +-#: conn/ssl.c:925 conn/ssl_gnutls.c:612 ++#: conn/ssl.c:938 conn/ssl_gnutls.c:643 + #, c-format + msgid " to %s" + msgstr " para %s" + +-#: conn/ssl.c:931 conn/ssl_gnutls.c:617 ++#: conn/ssl.c:944 conn/ssl_gnutls.c:648 + #, c-format + msgid "SHA1 Fingerprint: %s" + msgstr "Impressão digital SHA1: %s" + +-#: conn/ssl.c:937 conn/ssl.c:940 conn/ssl_gnutls.c:623 conn/ssl_gnutls.c:625 ++#: conn/ssl.c:950 conn/ssl.c:953 conn/ssl_gnutls.c:654 conn/ssl_gnutls.c:656 + msgid "SHA256 Fingerprint: " + msgstr "Impressão digital SHA256: " + +-#: conn/ssl.c:944 conn/ssl_gnutls.c:664 ++#: conn/ssl.c:957 conn/ssl_gnutls.c:695 + #, c-format + msgid "SSL Certificate check (certificate %zu of %zu in chain)" + msgstr "Verificação de certificado SSL (certificado %zu de %zu no encadeamento)" + +-#. L10N: These four letters correspond to the choices in the next four strings: +-#. (r)eject, accept (o)nce, (a)ccept always, (s)kip. +-#. These prompts are the interactive certificate confirmation prompts for +-#. an OpenSSL connection. +-#: conn/ssl.c:964 +-msgid "roas" +-msgstr "roas" +- +-#: conn/ssl.c:968 +-msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" +-msgstr "r)rejeitar, o)aceitar uma vez, a)aceitar sempre, s)pular" +- +-#: conn/ssl.c:970 conn/ssl_gnutls.c:671 +-msgid "(r)eject, accept (o)nce, (a)ccept always" +-msgstr "r)rejeitar, o)aceitar uma vez, a)aceitar sempre" +- +-#: conn/ssl.c:975 +-msgid "(r)eject, accept (o)nce, (s)kip" +-msgstr "r)rejeitar, o)aceitar uma vez, s)pular" +- +-#: conn/ssl.c:977 conn/ssl_gnutls.c:680 +-msgid "(r)eject, accept (o)nce" +-msgstr "r)rejeitar, o)aceitar uma vez" +- +-#: conn/ssl.c:981 conn/ssl_gnutls.c:689 ncrypt/crypt_gpgme.c:4729 +-#: ncrypt/pgpkey.c:664 ncrypt/smime.c:549 ++#: conn/ssl.c:994 conn/ssl_gnutls.c:720 ncrypt/crypt_gpgme.c:4777 ++#: ncrypt/pgpkey.c:667 ncrypt/smime.c:551 + msgid "Exit " + msgstr "Sair " + +-#: conn/ssl.c:1016 conn/ssl_gnutls.c:742 ++#: conn/ssl.c:1029 conn/ssl_gnutls.c:773 + msgid "Warning: Couldn't save certificate" + msgstr "Aviso: Não foi possível salvar o certificado" + +-#: conn/ssl.c:1020 conn/ssl_gnutls.c:746 ++#: conn/ssl.c:1033 conn/ssl_gnutls.c:777 + msgid "Certificate saved" + msgstr "Certificado salvo" + +-#: conn/ssl.c:1132 ++#: conn/ssl.c:1147 + #, c-format + msgid "Certificate host check failed: %s" + msgstr "Verificação de certifcado do host falhou: %s" +@@ -1481,15 +1712,15 @@ msgstr "Verificação de certifcado do host falhou: %s" + #. L10N: This is a warning when trying to set the host name for + #. * TLS Server Name Indication (SNI). This allows the server to present + #. * the correct certificate if it supports multiple hosts. +-#: conn/ssl.c:1213 conn/ssl_gnutls.c:1072 ++#: conn/ssl.c:1228 conn/ssl_gnutls.c:1105 + msgid "Warning: unable to set TLS SNI host name" + msgstr "Aviso: não pude configurar nome TLS SNI do host" + +-#: conn/ssl.c:1224 ++#: conn/ssl.c:1239 + msgid "I/O error" + msgstr "Erro de entrada e saída" + +-#: conn/ssl.c:1233 ++#: conn/ssl.c:1248 + #, c-format + msgid "SSL failed: %s" + msgstr "SSL falhou: %s" +@@ -1497,89 +1728,73 @@ msgstr "SSL falhou: %s" + #. L10N: an SSL context is a data structure returned by the OpenSSL + #. function SSL_CTX_new(). In this case it returned NULL: an + #. error condition. +-#: conn/ssl.c:1269 ++#: conn/ssl.c:1284 + msgid "Unable to create SSL context" + msgstr "Não foi possível criar contexto SSL" + +-#: conn/ssl.c:1322 ++#: conn/ssl.c:1337 + msgid "Warning: error enabling ssl_verify_partial_chains" + msgstr "Aviso: erro ao habilitar ssl_verify_partial_chains" + +-#: conn/ssl_gnutls.c:150 conn/ssl_gnutls.c:784 conn/ssl_gnutls.c:793 ++#: conn/ssl_gnutls.c:152 conn/ssl_gnutls.c:817 conn/ssl_gnutls.c:826 + msgid "Unable to get certificate from peer" + msgstr "Não foi possível obter o certificado da outra ponta" + +-#: conn/ssl_gnutls.c:155 ++#: conn/ssl_gnutls.c:157 + #, c-format + msgid "Certificate verification error (%s)" + msgstr "Erro ao verificar certificado (%s)" + +-#: conn/ssl_gnutls.c:162 ++#: conn/ssl_gnutls.c:164 + msgid "Certificate is not X.509" + msgstr "Certificado não é X.509" + +-#: conn/ssl_gnutls.c:349 conn/ssl_gnutls.c:483 ++#: conn/ssl_gnutls.c:351 conn/ssl_gnutls.c:485 + msgid "Error initialising gnutls certificate data" + msgstr "Erro ao inicializar dados do certificado gnutls" + +-#: conn/ssl_gnutls.c:355 conn/ssl_gnutls.c:489 ++#: conn/ssl_gnutls.c:357 conn/ssl_gnutls.c:491 + msgid "Error processing certificate data" + msgstr "Erro so processar dados do certificado" + +-#: conn/ssl_gnutls.c:635 ++#: conn/ssl_gnutls.c:666 + msgid "WARNING: Server certificate is not yet valid" + msgstr "AVISO: o certificado do servidor ainda não é válido" + +-#: conn/ssl_gnutls.c:640 ++#: conn/ssl_gnutls.c:671 + msgid "WARNING: Server certificate has expired" + msgstr "AVISO: o certificado do servidor expirou" + +-#: conn/ssl_gnutls.c:645 ++#: conn/ssl_gnutls.c:676 + msgid "WARNING: Server certificate has been revoked" + msgstr "AVISO: o certificado do servidor foi revogado" + +-#: conn/ssl_gnutls.c:650 ++#: conn/ssl_gnutls.c:681 + msgid "WARNING: Server hostname does not match certificate" + msgstr "AVISO: hostname do servidor não coincide com certificado" + +-#: conn/ssl_gnutls.c:655 ++#: conn/ssl_gnutls.c:686 + msgid "WARNING: Signer of server certificate is not a CA" + msgstr "AVISO: signatário do certificado do servidor não é CA" + +-#: conn/ssl_gnutls.c:659 conn/ssl_gnutls.c:1004 ++#: conn/ssl_gnutls.c:690 conn/ssl_gnutls.c:1037 + msgid "Warning: Server certificate was signed using an insecure algorithm" + msgstr "Aviso: o certificado do servidor foi assindado com algoritmo inseguro" + +-#. L10N: These three letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce, (a)ccept always. +-#. This is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:676 +-msgid "roa" +-msgstr "roa" +- +-#. L10N: These two letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce. +-#. These is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:685 +-msgid "ro" +-msgstr "ro" +- +-#: conn/ssl_gnutls.c:950 conn/ssl_gnutls.c:992 ++#: conn/ssl_gnutls.c:983 conn/ssl_gnutls.c:1025 + msgid "All available protocols for TLS/SSL connection disabled" + msgstr "Todos protocolos disponíveis para TLS/SSL estão desativados" + +-#: conn/ssl_gnutls.c:999 ++#: conn/ssl_gnutls.c:1032 + msgid "Explicit ciphersuite selection via $ssl_ciphers not supported" + msgstr "Algorithms criptográficos selecionados via $ssl_ciphers não são suportados" + +-#: conn/ssl_gnutls.c:1120 ++#: conn/ssl_gnutls.c:1153 + #, c-format + msgid "SSL/TLS connection using %s (%s/%s/%s)" + msgstr "Conexão SSL/TLS usando %s (%s/%s/%s)" + +-#: conn/ssl_gnutls.c:1175 conn/ssl_gnutls.c:1204 ++#: conn/ssl_gnutls.c:1210 conn/ssl_gnutls.c:1239 + msgid "Error: no TLS socket open" + msgstr "Erro: não há socket TLS aberto" + +@@ -1598,38 +1813,18 @@ msgstr "Erro de tunel ao comunicar com %s: %s" + msgid "Tunnel to %s returned error %d (%s)" + msgstr "Tunel para %s retornou erro %d (%s)" + +-#: copy.c:660 ++#: copy.c:662 + #, c-format + msgid "The length calculation was wrong by %ld byte" + msgid_plural "The length calculation was wrong by %ld bytes" + msgstr[0] "Cálculo de comprimento estava errado por %ld byte" + msgstr[1] "Cálculo de comprimento estava errado por %ld bytes" + +-#: copy.c:744 ++#: copy.c:746 + msgid "No decryption engine available for message" + msgstr "Não há mecanismo disponível para decriptar a mensagem" + +-#: curs_lib.c:378 +-msgid "yes" +-msgstr "sim" +- +-#: curs_lib.c:379 +-msgid "no" +-msgstr "não" +- +-#: curs_lib.c:518 +-msgid "Exit NeoMutt?" +-msgstr "Sair do NeoMutt?" +- +-#: curs_lib.c:597 +-msgid "Press any key to continue..." +-msgstr "Pressione qualquer tecla para continuar..." +- +-#: curs_lib.c:705 +-msgid " ('?' for list): " +-msgstr " ('?' para uma lista): " +- +-#: edit.c:64 ++#: edit.c:62 + msgid "" + "~~ insert a line beginning with a single ~\n" + "~b users add users to the Bcc: field\n" +@@ -1651,7 +1846,7 @@ msgstr "" + "~M mensagens o mesmo que ~m, mas também inclui os cabeçalhos\n" + "~p imprime a mensagem\n" + +-#: edit.c:75 ++#: edit.c:73 + msgid "" + "~q write file and quit editor\n" + "~r file read a file into the editor\n" +@@ -1673,20 +1868,20 @@ msgstr "" + "~? esta mensagagem\n" + ". sozinho em uma linha termina a mensagem\n" + +-#: edit.c:261 ++#: edit.c:259 + #, c-format + msgid "%d: invalid message number.\n" + msgstr "%d: número de mensagem iválido.\n" + +-#: edit.c:416 ++#: edit.c:414 + msgid "(End message with a . on a line by itself)\n" + msgstr "(Termine a mensagem com um . sozinho em uma linha)\n" + +-#: edit.c:474 ++#: edit.c:472 + msgid "No mailbox.\n" + msgstr "Nenhuma caixa de mensagens.\n" + +-#: edit.c:478 ++#: edit.c:476 + msgid "Message contains:\n" + msgstr "Mensagem contém:\n" + +@@ -1694,19 +1889,19 @@ msgstr "Mensagem contém:\n" + #. not IN the middle of the content. + #. So it doesn't mean "(message will continue)" + #. but means "(press any key to continue using neomutt)". +-#: edit.c:486 edit.c:547 ++#: edit.c:484 edit.c:545 + msgid "(continue)\n" + msgstr "(continuar)\n" + +-#: edit.c:499 ++#: edit.c:497 + msgid "missing filename.\n" + msgstr "falta o nome do arquivo.\n" + +-#: edit.c:519 ++#: edit.c:517 + msgid "No lines in message.\n" + msgstr "Nenhuma linha na mensagem.\n" + +-#: edit.c:558 ++#: edit.c:556 + #, c-format + msgid "%s: unknown editor command (~? for help)\n" + msgstr "%s: comando de editor desconhecido (~? para ajuda)\n" +@@ -1753,19 +1948,73 @@ msgstr "Não é possível anexar à pasta: %s" + msgid "multipart message has no boundary parameter" + msgstr "mensagem multiparte não tem um parâmetro de fronteiras" + +-#: flags.c:382 index.c:2561 index.c:2604 index.c:3134 index.c:3171 ++#: flags.c:381 index.c:2587 index.c:2630 index.c:3160 index.c:3197 + #: mutt_thread.c:1091 mutt_thread.c:1158 mutt_thread.c:1246 + msgid "Threading is not enabled" + msgstr "Visualização por threads não está habilitado" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Set flag" + msgstr "Atribui sinalização" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Clear flag" + msgstr "Remove sinalização" + ++#: gui/color.c:633 gui/color.c:644 ++#, c-format ++msgid "%s: color not supported by term" ++msgstr "%s: cor não suportada pelo terminal" ++ ++#: gui/color.c:652 ++#, c-format ++msgid "%s: no such color" ++msgstr "%s: cor inválida" ++ ++#: gui/color.c:717 gui/color.c:740 gui/color.c:751 gui/color.c:842 ++#, c-format ++msgid "%s: no such object" ++msgstr "%s: objeto inválido" ++ ++#: gui/color.c:1142 ++#, c-format ++msgid "%s: no such attribute" ++msgstr "%s: atributo inexistente" ++ ++#: gui/color.c:1244 ++msgid "default colors not supported" ++msgstr "cores pré-definidas não suportadas" ++ ++#: gui/color.c:1282 ++#, c-format ++msgid "Maximum quoting level is %d" ++msgstr "Número máximo de níveis de citação é %d" ++ ++#: gui/color.c:1319 ++#, c-format ++msgid "%s: invalid number: %s" ++msgstr "%s: número inválido: %s" ++ ++#: gui/curs_lib.c:379 ++msgid "yes" ++msgstr "sim" ++ ++#: gui/curs_lib.c:380 ++msgid "no" ++msgstr "não" ++ ++#: gui/curs_lib.c:519 ++msgid "Exit NeoMutt?" ++msgstr "Sair do NeoMutt?" ++ ++#: gui/curs_lib.c:598 ++msgid "Press any key to continue..." ++msgstr "Pressione qualquer tecla para continuar..." ++ ++#: gui/curs_lib.c:749 ++msgid " ('?' for list): " ++msgstr " ('?' para uma lista): " ++ + #: handler.c:102 + #, c-format + msgid "[-- Type: %s/%s%s%s, Encoding: %s, Size: %s --]\n" +@@ -1786,23 +2035,23 @@ msgstr "[-- Autovisualizar usando %s --]\n" + msgid "Invoking autoview command: %s" + msgstr "Executando comando de autovisualização: %s" + +-#: handler.c:591 mutt_attach.c:527 mutt_attach.c:714 mutt_attach.c:745 +-#: mutt_attach.c:1087 mutt_attach.c:1152 ncrypt/pgpkey.c:723 +-#: ncrypt/pgpkey.c:920 ++#: handler.c:590 mutt_attach.c:555 mutt_attach.c:747 mutt_attach.c:778 ++#: mutt_attach.c:1120 mutt_attach.c:1185 ncrypt/pgpkey.c:756 ++#: ncrypt/pgpkey.c:955 + msgid "Can't create filter" + msgstr "Não foi possível criar filtro" + +-#: handler.c:595 ++#: handler.c:594 + #, c-format + msgid "[-- Can't run %s. --]\n" + msgstr "[-- Impossível executar %s --]\n" + +-#: handler.c:614 handler.c:635 ++#: handler.c:613 handler.c:634 + #, c-format + msgid "[-- Autoview stderr of %s --]\n" + msgstr "[-- Saída de erro da autovisualização de %s --]\n" + +-#: handler.c:764 ++#: handler.c:763 + msgid "[-- Error: message/external-body has no access-type parameter --]\n" + msgstr "[-- Erro: message/external-body não tem parâmetro de tipo de accesso --]\n" + +@@ -1821,7 +2070,7 @@ msgstr "[-- Erro: message/external-body não tem parâmetro de tipo de accesso - + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:807 ++#: handler.c:806 + #, c-format + msgid "" + "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" +@@ -1850,7 +2099,7 @@ msgstr[1] "" + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:830 ++#: handler.c:829 + #, c-format + msgid "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" + msgid_plural "[-- This %s/%s attachment (size %s bytes) has been deleted --]\n" +@@ -1864,7 +2113,7 @@ msgstr[1] "[-- O anexo %s/%s (tamanho %s bytes) foi removido --]\n" + #. + #. Caution: Argument three %3$ is also defined but should not be used + #. in this translation! +-#: handler.c:848 ++#: handler.c:847 + msgid "" + "[-- This %s/%s attachment has been deleted --]\n" + "[-- on %4$s --]\n" +@@ -1875,12 +2124,12 @@ msgstr "" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The first "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:856 ++#: handler.c:855 + #, c-format + msgid "[-- This %s/%s attachment has been deleted --]\n" + msgstr "[-- O anexo %s/%s foi removido --]\n" + +-#: handler.c:866 ++#: handler.c:865 + #, c-format + msgid "[-- name: %s --]\n" + msgstr "[-- nome: %s --]\n" +@@ -1888,7 +2137,7 @@ msgstr "[-- nome: %s --]\n" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:884 ++#: handler.c:883 + #, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -1904,7 +2153,7 @@ msgstr "" + #. The "%s/%s" is a MIME type, e.g. "text/plain". The %s after + #. access-type is an access-type as defined by the MIME RFCs, e.g. "FTP", + #. "LOCAL-FILE", "MAIL-SERVER". +-#: handler.c:905 ++#: handler.c:904 + #, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -1913,91 +2162,91 @@ msgstr "" + "[-- O anexo %s/%s não foi incluído, --]\n" + "[-- e o tipo de acesso %s não é suportado --]\n" + +-#: handler.c:1090 ++#: handler.c:1089 + msgid "[-- Error: Could not display any parts of Multipart/Alternative --]\n" + msgstr "[-- Erro: Não foi possível exibir nenhuma parte de Multipart/Aternative --]\n" + + #. L10N: %s is the attachment description, filename or form_name. +-#: handler.c:1231 ++#: handler.c:1230 + #, c-format + msgid "[-- Attachment #%d: %s --]\n" + msgstr "[-- Anexo #%d: %s --]\n" + +-#: handler.c:1236 ++#: handler.c:1235 + #, c-format + msgid "[-- Attachment #%d --]\n" + msgstr "[-- Anexo #%d --]\n" + +-#: handler.c:1254 ++#: handler.c:1253 + msgid "One or more parts of this message could not be displayed" + msgstr "Uma ou mais partes dessa mensagem não puderam ser exibidas" + +-#: handler.c:1320 ++#: handler.c:1319 + msgid "Unable to open 'memory stream'" + msgstr "Incapaz de abrir fluxo com a memória" + +-#: handler.c:1330 ++#: handler.c:1329 + msgid "Unable to open temporary file" + msgstr "Incapaz de abrir o arquivo temporário" + +-#: handler.c:1379 ++#: handler.c:1378 + msgid "failed to re-open 'memory stream'" + msgstr "falha ao re-abrir fluxo com a memória" + +-#: handler.c:1620 ++#: handler.c:1619 + msgid "Error: multipart/signed has no protocol" + msgstr "Erro: multipart/signed não tem protocolo" + + #. L10N: %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1694 ++#: handler.c:1693 + #, c-format + msgid "[-- This is an attachment (use '%s' to view this part) --]\n" + msgstr "[-- Isto é um anexo (use '%s' para exibi-lo) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". + #. The last %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1701 ++#: handler.c:1700 + #, c-format + msgid "[-- %s/%s is unsupported (use '%s' to view this part) --]\n" + msgstr "[-- %s/%s não é suportado (use '%s' para exibi-lo) --]\n" + +-#: handler.c:1709 ++#: handler.c:1708 + msgid "[-- This is an attachment (need 'view-attachments' bound to key) --]\n" + msgstr "[-- Este é um anexo ('view-attachments' deve estar associado a uma tecla) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1715 ++#: handler.c:1714 + #, c-format + msgid "[-- %s/%s is unsupported (need 'view-attachments' bound to key) --]\n" + msgstr "[-- %s/%s não é suportado ('view-attachments' deve ser associado a uma tecla) --]\n" + +-#: handler.c:1724 ++#: handler.c:1723 + msgid "[-- This is an attachment --]\n" + msgstr "[-- Isto é um anexo --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1729 ++#: handler.c:1728 + #, c-format + msgid "[-- %s/%s is unsupported --]\n" + msgstr "[-- %s/%s não é suportado --]\n" + +-#: help.c:400 ++#: help.c:401 + msgid "ERROR: please report this bug" + msgstr "ERRO: por favor relate este problema" + +-#: help.c:455 ++#: help.c:456 + msgid "" + msgstr "" + +-#: help.c:469 ++#: help.c:470 + msgid "Generic bindings:" + msgstr "Associações genéricas de teclas:" + +-#: help.c:473 ++#: help.c:474 + msgid "Unbound functions:" + msgstr "Funções sem associação de tecla:" + +-#: help.c:481 ++#: help.c:482 + #, c-format + msgid "Help for %s" + msgstr "Ajuda para %s" +@@ -2014,41 +2263,41 @@ msgstr "Atalho de caixa extendido como regex vazia" + msgid "badly formatted command string" + msgstr "String de comando com formato inválido" + +-#: hook.c:461 ++#: hook.c:466 + msgid "unhook: Can't do unhook * from within a hook" + msgstr "unhook: não foi possível desfazer hook * de dentro de um hook" + +-#: hook.c:474 ++#: hook.c:479 + #, c-format + msgid "unhook: unknown hook type: %s" + msgstr "unhook: tipo de gancho desconhecido: %s" + +-#: hook.c:484 ++#: hook.c:489 + #, c-format + msgid "unhook: Can't delete a %s from within a %s" + msgstr "unhook: não é possível apagar %s de dentro de %s" + + #. L10N: '%s' is the (misspelled) name of the menu, e.g. 'index' or 'pager' +-#: icommands.c:259 keymap.c:1161 keymap.c:1346 ++#: icommands.c:261 keymap.c:1159 keymap.c:1344 + #, c-format + msgid "%s: no such menu" + msgstr "%s: não existe tal menu" + + #. L10N: '%s' is the name of the menu, e.g. 'index' or 'pager', it might + #. L10N: also be 'all' when all menus are affected. +-#: icommands.c:272 ++#: icommands.c:274 + #, c-format + msgid "%s: no binds for this menu" + msgstr "%s: sem vínculos para este menu" + +-#: icommands.c:272 ++#: icommands.c:274 + #, c-format + msgid "%s: no macros for this menu" + msgstr "%s: sem macros para este menu" + + #. L10N: '%s' is the file name of the temporary file +-#: icommands.c:283 icommands.c:296 icommands.c:316 icommands.c:340 +-#: icommands.c:360 icommands.c:371 imap/message.c:1093 ++#: icommands.c:285 icommands.c:297 icommands.c:317 icommands.c:340 ++#: icommands.c:360 icommands.c:370 imap/message.c:1093 + #, c-format + msgid "Could not create temporary file %s" + msgstr "Não foi possível criar o arquivo temporário %s" +@@ -2085,28 +2334,28 @@ msgstr "Autenticação GSSAPI falhou" + msgid "LOGIN disabled on this server" + msgstr "LOGIN desabilitado neste servidor" + +-#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:288 ++#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:289 + msgid "Logging in..." + msgstr "Efetuando login..." + +-#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:329 ++#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:330 + msgid "Login failed" + msgstr "Login falhou" + +-#: imap/auth_oauth.c:64 pop/pop_auth.c:346 smtp.c:524 ++#: imap/auth_oauth.c:65 pop/pop_auth.c:347 smtp.c:549 + msgid "Authenticating (OAUTHBEARER)..." + msgstr "Autenticando (OAUTHBEARER)..." + +-#: imap/auth_oauth.c:96 ++#: imap/auth_oauth.c:97 + msgid "OAUTHBEARER authentication failed" + msgstr "Autenticação OAUTHBEARER falhou." + +-#: imap/auth_sasl.c:128 nntp/nntp.c:606 nntp/nntp.c:671 smtp.c:443 ++#: imap/auth_sasl.c:128 nntp/nntp.c:608 nntp/nntp.c:673 smtp.c:468 + #, c-format + msgid "Authenticating (%s)..." + msgstr "Autenticando (%s)..." + +-#: imap/auth_sasl.c:259 pop/pop_auth.c:200 smtp.c:584 smtp.c:646 ++#: imap/auth_sasl.c:259 pop/pop_auth.c:201 smtp.c:609 smtp.c:671 + msgid "SASL authentication failed" + msgstr "Autenticação SASL falhou." + +@@ -2153,89 +2402,79 @@ msgstr "Tentativa de renomear falhou: %s" + msgid "Mailbox renamed" + msgstr "Caixa de mensagens renomeada" + +-#: imap/command.c:164 ++#: imap/command.c:177 + #, c-format + msgid "Mailbox %s@%s closed" + msgstr "Caixa de mensagens %s@%s fechada" + +-#: imap/command.c:1258 imap/command.c:1370 ++#: imap/command.c:1287 imap/command.c:1399 + #, c-format + msgid "Connection to %s timed out" + msgstr "Conexão com %s expirou" + +-#: imap/imap.c:87 ++#: imap/imap.c:93 + msgid "This IMAP server is ancient. NeoMutt does not work with it." + msgstr "Este servidor IMAP é pré-histórico. NeoMutt não funciona com ele." + +-#: imap/imap.c:438 ++#: imap/imap.c:444 + #, c-format + msgid "Header search without header name: %s" + msgstr "Busca por cabeçalho sem um nome de cabeçalho: %s" + +-#: imap/imap.c:468 ++#: imap/imap.c:474 + #, c-format + msgid "Server-side custom search not supported: %s" + msgstr "Busca personalizada no servidor não é suportada: %s" + +-#: imap/imap.c:584 ++#: imap/imap.c:590 + #, c-format + msgid "CREATE failed: %s" + msgstr "CREATE falhou: %s" + +-#: imap/imap.c:704 ++#: imap/imap.c:710 + #, c-format + msgid "Closing connection to %s..." + msgstr "Fechando conexão com %s..." + +-#: imap/imap.c:882 nntp/nntp.c:1889 pop/pop_lib.c:324 smtp.c:687 ++#: imap/imap.c:888 nntp/nntp.c:1891 pop/pop_lib.c:350 smtp.c:712 + msgid "Secure connection with TLS?" + msgstr "Conexão segura com TLS?" + +-#: imap/imap.c:895 nntp/nntp.c:1910 pop/pop_lib.c:343 smtp.c:702 ++#: imap/imap.c:901 nntp/nntp.c:1912 pop/pop_lib.c:369 smtp.c:727 + msgid "Could not negotiate TLS connection" + msgstr "Incapaz de negociar conexão TLS" + +-#: imap/imap.c:910 pop/pop_lib.c:360 ++#: imap/imap.c:916 pop/pop_lib.c:386 + msgid "Encrypted connection unavailable" + msgstr "Connexão encriptada indisponível" + +-#: imap/imap.c:1417 ++#: imap/imap.c:1430 + #, c-format + msgid "Subscribing to %s..." + msgstr "Inscrevendo em %s..." + +-#: imap/imap.c:1419 ++#: imap/imap.c:1432 + #, c-format + msgid "Unsubscribing from %s..." + msgstr "Desinscrevendo de %s..." + +-#: imap/imap.c:1430 init.c:2142 +-#, c-format +-msgid "Subscribed to %s" +-msgstr "Inscrito em %s" +- +-#: imap/imap.c:1432 init.c:2620 +-#, c-format +-msgid "Unsubscribed from %s" +-msgstr "Desinscrito de %s" +- +-#: imap/imap.c:1582 imap/message.c:1674 ++#: imap/imap.c:1595 imap/message.c:1674 + #, c-format + msgid "Copying %d message to %s..." + msgid_plural "Copying %d messages to %s..." + msgstr[0] "Copiando %d mensagem para %s..." + msgstr[1] "Copiando %d mensagens para %s..." + +-#: imap/imap.c:1599 imap/imap.c:2217 imap/message.c:1713 muttlib.c:1505 ++#: imap/imap.c:1612 imap/imap.c:2254 imap/message.c:1713 muttlib.c:1503 + #, c-format + msgid "Create %s?" + msgstr "Criar %s?" + +-#: imap/imap.c:1667 ++#: imap/imap.c:1685 + msgid "Expunge failed" + msgstr "Expurgo falhou." + +-#: imap/imap.c:1683 ++#: imap/imap.c:1701 + #, c-format + msgid "Marking %d message deleted..." + msgid_plural "Marking %d messages deleted..." +@@ -2243,43 +2482,43 @@ msgstr[0] "Marcando %d mensagem como apagada..." + msgstr[1] "Marcando %d mensagens como apagadas..." + + #. L10N: The plural is chosen by the last %d, i.e. the total number +-#: imap/imap.c:1720 ++#: imap/imap.c:1738 + #, c-format + msgid "Saving changed message... [%d/%d]" + msgid_plural "Saving changed messages... [%d/%d]" + msgstr[0] "Salvando mensagem alterada... [%d/%d]" + msgstr[1] "Salvando mensagens alteradas... [%d/%d]" + +-#: imap/imap.c:1776 ++#: imap/imap.c:1794 + msgid "Error saving flags. Close anyway?" + msgstr "Erro ao salvar sinalizações. Fechar mesmo assim?" + +-#: imap/imap.c:1783 ++#: imap/imap.c:1801 + msgid "Error saving flags" + msgstr "Erro ao salvar sinalizações" + +-#: imap/imap.c:1808 ++#: imap/imap.c:1826 + msgid "Expunging messages from server..." + msgstr "Eliminando mensagens do servidor..." + +-#: imap/imap.c:1814 ++#: imap/imap.c:1832 + msgid "imap_sync_mailbox: EXPUNGE failed" + msgstr "imap_sync_mailbox: EXPUNGE falhou" + +-#: imap/imap.c:2023 nntp/nntp.c:2486 ++#: imap/imap.c:2058 nntp/nntp.c:2488 + #, c-format + msgid "Selecting %s..." + msgstr "Selecionando %s..." + +-#: imap/imap.c:2184 ++#: imap/imap.c:2221 + msgid "Error opening mailbox" + msgstr "Erro ao abrir caixa de mensagens" + +-#: imap/imap.c:2330 ++#: imap/imap.c:2367 + msgid "IMAP server doesn't support custom flags" + msgstr "Servidor IMAP não suporta sinalizações personalizadas" + +-#: imap/imap.c:2374 ++#: imap/imap.c:2411 + msgid "Invalid IMAP flags" + msgstr "Sinalizações IMAP inválidas" + +@@ -2289,7 +2528,7 @@ msgid "Abort download and close mailbox?" + msgstr "Interromper download e fechar caixa?" + + #: imap/message.c:554 mutt/memory.c:58 mutt/memory.c:98 mutt/memory.c:134 +-#: mutt/string.c:1178 mx.c:1176 ++#: mutt/string.c:1201 mx.c:1195 + msgid "Out of memory" + msgstr "Acabou a memória" + +@@ -2307,7 +2546,7 @@ msgstr "Baixando mudanças nas sinalizações..." + msgid "Unable to fetch headers from this IMAP server version" + msgstr "Incapaz de obter cabeçalhos nesta versão de servidor IMAP" + +-#: imap/message.c:1099 index.c:1548 nntp/nntp.c:1328 pop/pop.c:426 ++#: imap/message.c:1099 index.c:1554 nntp/nntp.c:1330 pop/pop.c:426 + msgid "Fetching message headers..." + msgstr "Obtendo cabeçalhos das mensagens..." + +@@ -2320,152 +2559,152 @@ msgstr "Subindo mensagem..." + msgid "Copying message %d to %s..." + msgstr "Copiando mensagem %d para %s..." + +-#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2737 pop/pop.c:1110 ++#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2739 pop/pop.c:1105 + msgid "Fetching message..." + msgstr "Obtendo mensagem..." + +-#: imap/message.c:1959 pop/pop.c:1106 ++#: imap/message.c:1959 pop/pop.c:1101 + msgid "The message index is incorrect. Try reopening the mailbox." + msgstr "O índice de mensagens está errado. Tente abrir a caixa novamente." + +-#: imap/util.c:767 ++#: imap/util.c:796 + msgid "Continue?" + msgstr "Continuar?" + +-#: index.c:115 index.c:128 ++#: index.c:111 index.c:124 + msgid "Quit" + msgstr "Sair" + +-#: index.c:118 index.c:131 recvattach.c:93 ++#: index.c:114 index.c:127 recvattach.c:91 + msgid "Save" + msgstr "Salvar" + +-#: index.c:119 query.c:81 ++#: index.c:115 query.c:79 + msgid "Mail" + msgstr "Mensagem" + +-#: index.c:120 pager.c:237 ++#: index.c:116 pager.c:229 + msgid "Reply" + msgstr "Responder" + +-#: index.c:121 ++#: index.c:117 + msgid "Group" + msgstr "Grupo" + +-#: index.c:132 pager.c:244 ++#: index.c:128 pager.c:236 + msgid "Post" + msgstr "Postagem" + +-#: index.c:133 pager.c:245 ++#: index.c:129 pager.c:237 + msgid "Followup" + msgstr "Seguimento" + +-#: index.c:190 index.c:1362 ++#: index.c:186 index.c:1367 + msgid "No mailbox is open" + msgstr "Nenhuma caixa de mensagens aberta" + +-#: index.c:196 ++#: index.c:192 + msgid "There are no messages" + msgstr "Não há mensagens" + +-#: index.c:202 ++#: index.c:198 + msgid "No visible messages" + msgstr "Nenhuma mensagem visível" + +-#: index.c:208 mx.c:901 pager.c:223 recvattach.c:80 ++#: index.c:204 mx.c:920 pager.c:215 recvattach.c:78 + msgid "Mailbox is read-only" + msgstr "Esta caixa é somente para leitura" + +-#: index.c:214 pager.c:225 recvattach.c:98 ++#: index.c:210 pager.c:217 recvattach.c:96 + msgid "Function not permitted in attach-message mode" + msgstr "Função não permitida no modo de anexar mensagem (attach-message)" + + #. L10N: %s is one of the CHECK_ACL entries below. +-#: index.c:239 pager.c:290 ++#: index.c:235 pager.c:282 + #, c-format + msgid "%s: Operation not permitted by ACL" + msgstr "%s: ACL não permite operação" + +-#: index.c:430 ++#: index.c:426 + msgid "Can't toggle write on a readonly mailbox" + msgstr "Não é possível ativar escrita em uma caixa somente para leitura" + +-#: index.c:437 ++#: index.c:433 + msgid "Changes to folder will be written on folder exit" + msgstr "Mudanças na pasta serão gravadas ao sair dela" + +-#: index.c:442 ++#: index.c:438 + msgid "Changes to folder will not be written" + msgstr "Mudanças na pasta não serão gravadas" + +-#: index.c:719 muttlib.c:1490 mx.c:206 mx.c:340 ++#: index.c:714 muttlib.c:1488 mx.c:206 mx.c:338 + #, c-format + msgid "%s is not a mailbox" + msgstr "%s não é uma caixa de mensagens" + +-#: index.c:1218 ++#: index.c:1223 + msgid "Mailbox was externally modified. Flags may be wrong." + msgstr "A caixa foi modificada externamente. As marcas podem estar erradas." + +-#: index.c:1227 pager.c:2409 ++#: index.c:1232 pager.c:2379 + msgid "New mail in this mailbox" + msgstr "Novas mensagens nesta caixa" + +-#: index.c:1242 ++#: index.c:1247 + msgid "Mailbox was externally modified" + msgstr "A caixa foi modificada externamente" + +-#: index.c:1369 ++#: index.c:1374 + msgid "No tagged messages" + msgstr "Nenhuma mensagem marcada" + +-#: index.c:1373 index.c:1647 menu.c:1423 ++#: index.c:1378 index.c:1653 menu.c:1423 + msgid "Nothing to do" + msgstr "Nada a fazer" + +-#: index.c:1470 ++#: index.c:1475 + msgid "Enter Message-Id: " + msgstr "Entre com a id da mensagem (Message-Id): " + +-#: index.c:1481 ++#: index.c:1487 + msgid "Article has no parent reference" + msgstr "Artigo não tem referência no nível acima" + +-#: index.c:1504 ++#: index.c:1510 + msgid "Message is not visible in limited view" + msgstr "Mensagem não está visível nesta visão restringida" + +-#: index.c:1508 ++#: index.c:1514 + #, c-format + msgid "Fetching %s from server..." + msgstr "Obtendo %s do servidor..." + +-#: index.c:1518 nntp/nntp.c:2772 ++#: index.c:1524 nntp/nntp.c:2774 + #, c-format + msgid "Article %s not found on the server" + msgstr "Artigo %s não foi encontrado no servidor" + +-#: index.c:1544 ++#: index.c:1550 + msgid "No Message-Id. Unable to perform operation." + msgstr "Nenhuma id de mensagem (Message-Id). Impossível executar operação." + +-#: index.c:1623 ++#: index.c:1629 + msgid "No deleted messages found in the thread" + msgstr "Nenhuma mensagem removida foi encontrada nesta thread" + +-#: index.c:1644 ++#: index.c:1650 + msgid "Jump to message: " + msgstr "Pular para mensagem: " + +-#: index.c:1650 ++#: index.c:1656 + msgid "Argument must be a message number" + msgstr "O argumento deve ser um número de mensagem" + +-#: index.c:1652 ++#: index.c:1658 + msgid "Invalid message number" + msgstr "Número de mensagem inválido" + +-#: index.c:1654 ++#: index.c:1660 + msgid "That message is not visible" + msgstr "Aquela mensagem não está visível" + +@@ -2478,37 +2717,37 @@ msgstr "Aquela mensagem não está visível" + #. delete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. + #. +-#: index.c:1692 index.c:3267 pager.c:3064 ++#: index.c:1698 index.c:3293 pager.c:3039 + msgid "Can't delete messages" + msgstr "Incapaz de apagar as mensagens" + +-#: index.c:1695 ++#: index.c:1701 + msgid "Delete messages matching: " + msgstr "Apagar mensagens que coincidam: " + +-#: index.c:1736 ++#: index.c:1742 + msgid "No limit pattern is in effect" + msgstr "Nenhum padrão limitante está em efeito" + + #. L10N: ask for a limit to apply +-#: index.c:1741 ++#: index.c:1747 + #, c-format + msgid "Limit: %s" + msgstr "Limitar: %s" + +-#: index.c:1778 ++#: index.c:1784 + msgid "Limit to messages matching: " + msgstr "Limitar a mensagens que casem com: " + +-#: index.c:1809 ++#: index.c:1815 + msgid "To view all messages, limit to \"all\"" + msgstr "Para exibir todas as mensagens, restrinja para \"all\"" + +-#: index.c:1821 pager.c:2514 ++#: index.c:1827 pager.c:2487 + msgid "Quit NeoMutt?" + msgstr "Sair do NeoMutt?" + +-#: index.c:1924 ++#: index.c:1931 + msgid "Tag messages matching: " + msgstr "Marcar mensagens que casem com: " + +@@ -2516,195 +2755,195 @@ msgstr "Marcar mensagens que casem com: " + #. L10N: Due to the implementation details we do not know whether we + #. undelete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:1935 index.c:3807 pager.c:3418 ++#: index.c:1942 index.c:3833 pager.c:3396 + msgid "Can't undelete messages" + msgstr "Incapaz de restaurar mensagens." + +-#: index.c:1939 ++#: index.c:1946 + msgid "Undelete messages matching: " + msgstr "Restaurar mensagens que casem com: " + +-#: index.c:1948 ++#: index.c:1955 + msgid "Untag messages matching: " + msgstr "Desmarcar mensagens que casem com: " + +-#: index.c:1989 ++#: index.c:1996 + msgid "Logged out of IMAP servers" + msgstr "Conexões com os servidores IMAP encerradas" + +-#: index.c:2105 ++#: index.c:2113 + msgid "No virtual folder and no Message-Id, aborting" + msgstr "Sem pasta virtual e sem ID de mensagem, cancelado" + +-#: index.c:2117 index.c:2288 index.c:2310 index.c:2331 ++#: index.c:2125 index.c:2313 index.c:2335 index.c:2356 + msgid "Failed to create query, aborting" + msgstr "Falha ao criar consulta, cancelado" + +-#: index.c:2130 ++#: index.c:2138 + msgid "failed to find message in notmuch database. try running 'notmuch new'." + msgstr "Não foi possível encontrar a mensagem no banco de dados do notmuch. Tente rodar 'notmuch new'." + +-#: index.c:2139 ++#: index.c:2147 + msgid "Failed to read thread, aborting" + msgstr "Falha ao accessar thread, cancelado" + +-#: index.c:2171 mx.c:1252 mx.c:1272 ++#: index.c:2179 mx.c:1271 mx.c:1291 + msgid "Folder doesn't support tagging, aborting" + msgstr "Pasta não tem suporte a tags, cancelado" + +-#: index.c:2188 ++#: index.c:2196 + msgid "No tag specified, aborting" + msgstr "Nenhuma marcação, cancelado" + +-#: index.c:2198 ++#: index.c:2206 + msgid "Update tags..." + msgstr "Atualizando marcas..." + +-#: index.c:2238 ++#: index.c:2246 + msgid "Failed to modify tags, aborting" + msgstr "Falha ao modificar marcas, cancelado" + +-#: index.c:2284 ++#: index.c:2293 + msgid "No query, aborting" + msgstr "Nenhuma consulta, cancelado" + +-#: index.c:2299 index.c:2320 ++#: index.c:2324 index.c:2345 + msgid "Windowed queries disabled" + msgstr "Consultas restritas desabilitadas" + +-#: index.c:2304 index.c:2325 ++#: index.c:2329 index.c:2350 + msgid "No notmuch vfolder currently loaded" + msgstr "Nenhuma pasta virtual do notmuch carregada" + +-#: index.c:2374 ++#: index.c:2399 + msgid "Open mailbox in read-only mode" + msgstr "Abrir caixa de mensagens somente para leitura" + +-#: index.c:2376 ++#: index.c:2401 + msgid "Open mailbox" + msgstr "Abrir caixa de mensagens" + +-#: index.c:2386 ++#: index.c:2411 + msgid "No mailboxes have new mail" + msgstr "Nenhuma caixa com novas mensagens." + +-#: index.c:2419 ++#: index.c:2444 + msgid "Open newsgroup in read-only mode" + msgstr "Abrir grupo de notícias em modo somente leitura" + +-#: index.c:2421 ++#: index.c:2446 + msgid "Open newsgroup" + msgstr "Abrir grupo de notícias" + +-#: index.c:2538 ++#: index.c:2564 + msgid "Exit NeoMutt without saving?" + msgstr "Sair do NeoMutt sem salvar alterações?" + + #. L10N: CHECK_ACL +-#: index.c:2554 ++#: index.c:2580 + msgid "Can't break thread" + msgstr "Não pude quebrar a thread." + +-#: index.c:2574 ++#: index.c:2600 + msgid "Thread broken" + msgstr "Thread quebrada" + +-#: index.c:2587 ++#: index.c:2613 + msgid "Thread can't be broken, message is not part of a thread" + msgstr "A thread não pode ser quebrada, mensagem não faz parte de uma thread" + + #. L10N: CHECK_ACL +-#: index.c:2597 ++#: index.c:2623 + msgid "Can't link threads" + msgstr "Não pude unir threads" + +-#: index.c:2606 ++#: index.c:2632 + msgid "No Message-ID: header available to link thread" + msgstr "Nenhum cabeçalho Message-ID disponível para vincular thread" + +-#: index.c:2608 ++#: index.c:2634 + msgid "First, please tag a message to be linked here" + msgstr "Primeiro, por favor marque mensagem a ser vinculada aqui" + +-#: index.c:2621 ++#: index.c:2647 + msgid "Threads linked" + msgstr "Threads vinculadas" + +-#: index.c:2624 ++#: index.c:2650 + msgid "No thread linked" + msgstr "Nenhuma thread vinculada" + +-#: index.c:2665 index.c:2690 ++#: index.c:2691 index.c:2716 + msgid "You are on the last message" + msgstr "Você está na última mensagem" + +-#: index.c:2673 index.c:2716 ++#: index.c:2699 index.c:2742 + msgid "No undeleted messages" + msgstr "Nenhuma mensagem não removida" + +-#: index.c:2708 index.c:2733 ++#: index.c:2734 index.c:2759 + msgid "You are on the first message" + msgstr "Você está na primeira mensagem" + +-#: index.c:2874 ++#: index.c:2900 + msgid "No new messages in this limited view" + msgstr "Nenhuma mensagem nova nesta visão restringida" + +-#: index.c:2876 ++#: index.c:2902 + msgid "No new messages" + msgstr "Não há mensagens novas" + +-#: index.c:2881 ++#: index.c:2907 + msgid "No unread messages in this limited view" + msgstr "Nenhuma mensagem não lida nesta visão restringida" + +-#: index.c:2883 ++#: index.c:2909 + msgid "No unread messages" + msgstr "Não há mensagens não lidas" + +-#: index.c:2893 menu.c:1208 pager.c:2644 pattern.c:2652 ++#: index.c:2919 menu.c:1208 pager.c:2618 pattern.c:2776 + msgid "Search wrapped to top" + msgstr "A pesquisa voltou ao início" + +-#: index.c:2898 pager.c:2669 pattern.c:2663 ++#: index.c:2924 pager.c:2643 pattern.c:2787 + msgid "Search wrapped to bottom" + msgstr "A pesquisa passou para o final" + + #. L10N: CHECK_ACL +-#: index.c:2915 ++#: index.c:2941 + msgid "Can't flag message" + msgstr "Não pude sinalizar mensagem" + + #. L10N: CHECK_ACL +-#: index.c:2961 pager.c:3377 ++#: index.c:2987 pager.c:3355 + msgid "Can't toggle new" + msgstr "Não pude alternar sinalização de leitura" + +-#: index.c:3057 ++#: index.c:3083 + msgid "No more threads" + msgstr "Nenhuma discussão restante" + +-#: index.c:3059 ++#: index.c:3085 + msgid "You are on the first thread" + msgstr "Você está na primeira discussão" + +-#: index.c:3156 ++#: index.c:3182 + msgid "Thread contains unread or flagged messages" + msgstr "A discussão contém mensagens sinalizadas ou não lidas" + + #. L10N: CHECK_ACL +-#: index.c:3215 pager.c:3019 ++#: index.c:3241 pager.c:2994 + msgid "Can't delete message" + msgstr "Não é possível apagar mensagem" + + #. L10N: CHECK_ACL +-#: index.c:3339 ++#: index.c:3365 + msgid "Can't edit message" + msgstr "Não é possível editar mensagem" + + #. L10N: This is displayed when the x-label on one or more + #. messages is edited. +-#: index.c:3432 pager.c:3495 ++#: index.c:3458 pager.c:3473 + #, c-format + msgid "%d label changed" + msgid_plural "%d labels changed" +@@ -2714,7 +2953,7 @@ msgstr[1] "%d rótulos alterados" + #. L10N: This is displayed when editing an x-label, but no messages + #. were updated. Possibly due to canceling at the prompt or if the new + #. label is the same as the old label. +-#: index.c:3440 pager.c:3499 ++#: index.c:3466 pager.c:3477 + msgid "No labels changed" + msgstr "Nenhum rótulo foi alterado" + +@@ -2722,275 +2961,140 @@ msgstr "Nenhum rótulo foi alterado" + #. L10N: Due to the implementation details we do not know whether we + #. mark zero, 1, 12, ... messages as read. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:3571 ++#: index.c:3597 + msgid "Can't mark messages as read" + msgstr "Incapaz de marcar mensagens como lidas" + + #. L10N: This is the prompt for . Whatever they + #. enter will be prefixed by $mark_macro_prefix and will become + #. a macro hotkey to jump to the currently selected message. +-#: index.c:3612 ++#: index.c:3638 + msgid "Enter macro stroke: " + msgstr "Entre com sequência de teclas para atalho da macro: " + + #. L10N: "message hotkey" is the key bindings menu description of a + #. macro created by . +-#: index.c:3620 ++#: index.c:3646 + msgid "message hotkey" + msgstr "descrição do atalho" + + #. L10N: This is echoed after creates a new hotkey + #. macro. %s is the hotkey string ($mark_macro_prefix followed + #. by whatever they typed at the prompt.) +-#: index.c:3625 ++#: index.c:3651 + #, c-format + msgid "Message bound to %s" + msgstr "Mensagem atrelada a %s" + + #. L10N: This error is printed if can't find a + #. Message-ID for the currently selected message in the index. +-#: index.c:3634 ++#: index.c:3660 + msgid "No message ID to macro" + msgstr "Nenhuma Id de mensagem para macro" + +-#: index.c:3688 pager.c:3221 recvattach.c:1646 ++#: index.c:3714 pager.c:3196 recvattach.c:1678 + msgid "Reply by mail as poster prefers?" + msgstr "Responder mensagem de acordo com a preferencia do rementente?" + +-#: index.c:3691 pager.c:3182 pager.c:3194 pager.c:3224 ++#: index.c:3717 pager.c:3157 pager.c:3169 pager.c:3199 + msgid "Posting to this group not allowed, may be moderated. Continue?" + msgstr "Não é permitido postar neste grupo, pode ser moderado. Continuar?" + + #. L10N: CHECK_ACL +-#: index.c:3768 pager.c:3397 ++#: index.c:3794 pager.c:3375 + msgid "Can't undelete message" + msgstr "Não é possível restaurar mensagem." + +-#: init.c:313 ++#: init.c:223 + #, c-format + msgid "Error in command line: %s" + msgstr "Erro na linha de comando: %s" + +-#: init.c:315 ++#: init.c:225 + #, c-format + msgid "Warning in command line: %s" + msgstr "Alarme na linha de comando: %s" + +-#: init.c:426 ++#: init.c:336 + msgid "unable to determine nodename via uname()" + msgstr "não foi possível determinar nodename via uname()" + +-#: init.c:580 +-msgid "-group: no group name" +-msgstr "-group: sem nome de grupo" +- +-#: init.c:590 +-msgid "out of arguments" +-msgstr "argumentos insuficientes" +- +-#: init.c:804 init.c:1752 +-#, c-format +-msgid "Error: Can't build path of '%s'" +-msgstr "Erro: incapaz de montar caminho para '%s'" +- +-#: init.c:817 +-#, c-format +-msgid "Error: Cyclic sourcing of configuration file '%s'" +-msgstr "Erro: inclusão cíclica do arquivo de configuração '%s'" +- +-#: init.c:850 +-#, c-format +-msgid "Error in %s, line %d: %s" +-msgstr "Erro em %s, linha %d: %s" +- +-#: init.c:861 +-#, c-format +-msgid "Warning in %s, line %d: %s" +-msgstr "Aviso em %s, linha %d: %s" +- +-#: init.c:885 +-#, c-format +-msgid "source: errors in %s" +-msgstr "source: erros em %s" +- +-#: init.c:885 +-#, c-format +-msgid "source: reading aborted due to too many errors in %s" +-msgstr "fonte: leitura interrompida devido ao excesso de erros em %s" +- +-#: init.c:894 +-#, c-format +-msgid "source: %d warning in %s" +-msgid_plural "source: %d warnings in %s" +-msgstr[0] "fonte: %d aviso em %s" +-msgstr[1] "fonte: %d avisos em %s" +- +-#: init.c:923 +-msgid "alias: no address" +-msgstr "apelido: sem endereço" +- +-#: init.c:965 +-#, c-format +-msgid "Warning: Bad IDN '%s' in alias '%s'" +-msgstr "Aviso: IDN '%s' inválida no contato '%s'" +- +-#: init.c:1043 +-msgid "attachments: no disposition" +-msgstr "anexos: sem disposição" +- +-#: init.c:1054 +-msgid "Current attachments settings:" +-msgstr "Configurações atuais para anexos:" +- +-#: init.c:1084 +-msgid "attachments: invalid disposition" +-msgstr "anexos: disposição inválida" +- +-#: init.c:1160 +-#, c-format +-msgid "%sgroup: missing -rx or -addr" +-msgstr "%sgroup: faltando -rx ou -addr" +- +-#: init.c:1186 +-#, c-format +-msgid "%sgroup: warning: bad IDN '%s'" +-msgstr "%sgroup: aviso: IDN '%s' inválida" +- +-#: init.c:1278 +-#, c-format +-msgid "Error: %s" +-msgstr "Erro: %s" +- +-#: init.c:1445 +-msgid "invalid header field" +-msgstr "campo de cabeçalho inválido" +- +-#: init.c:1711 init.c:1815 +-#, c-format +-msgid "%s: unknown variable" +-msgstr "%s: variável desconhecida" +- +-#: init.c:1908 +-#, c-format +-msgid "%s is unset" +-msgstr "%s não está atribuída" +- +-#: init.c:1953 mutt_lua.c:478 +-#, c-format +-msgid "source: error at %s" +-msgstr "source: erro em %s" +- +-#: init.c:1961 +-#, c-format +-msgid "source: file %s could not be sourced" +-msgstr "fonte: arquivo %s não pôde ser importado" +- +-#: init.c:1984 +-msgid "spam: no matching pattern" +-msgstr "spam: nenhuma coincidência com o padrão" +- +-#: init.c:1986 +-msgid "nospam: no matching pattern" +-msgstr "nospam: nenhuma coincidência com o padrão" +- +-#: init.c:2146 +-#, c-format +-msgid "Could not subscribe to %s" +-msgstr "Incapaz de inscrever em %s" +- +-#: init.c:2154 init.c:2632 +-msgid "No folder specified" +-msgstr "Nenhuma pasta especificada" +- +-#: init.c:2341 +-msgid "unattachments: no disposition" +-msgstr "desvinculados: sem disposição" +- +-#: init.c:2379 +-msgid "unattachments: invalid disposition" +-msgstr "desvinculados: disposição inválida" +- +-#: init.c:2624 +-#, c-format +-msgid "Could not unsubscribe from %s" +-msgstr "Incapaz de desinscrever de %s" +- +-#: init.c:3292 ++#: init.c:1042 + #, c-format + msgid "%s: unknown command" + msgstr "%s: comando desconhecido" + +-#: init.c:3837 ++#: init.c:1588 + msgid "'charset' must contain exactly one character set name" + msgstr "'charset' deve conter apenas um nome de conjunto de caracteres" + +-#: init.c:3853 init.c:3877 init.c:3912 ++#: init.c:1604 init.c:1628 init.c:1663 + #, c-format + msgid "Invalid value for option %s: %s" + msgstr "Valor inválido para opção %s: %s" + +-#: init.c:3890 ++#: init.c:1641 + #, c-format + msgid "Option %s may not be set or reset from the pager" + msgstr "Opção %s não pode ser alterada no paginador" + +-#: init.c:3928 ++#: init.c:1679 + #, c-format + msgid "Option %s may not be set when in attach-message mode" + msgstr "Função %s não permitida no modo de anexar mensagem (attach-message)" + + #. L10N: This applies to the "$wrap_headers" config variable +-#: init.c:3943 ++#: init.c:1694 + #, c-format + msgid "Option %s must between 78 and 998 inclusive" + msgstr "A opção %s deve estar entre 78 e 998, inclusive" + +-#: keymap.c:373 keymap.c:381 ++#: keymap.c:371 keymap.c:379 + #, c-format + msgid "Binding '%s' will alias '%s' Before, try: 'bind %s %s noop' https://neomutt.org/guide/configuration.html#bind-warnings" + msgstr "Associação '%s' irá apelidar '%s' Antes, tente: 'bind %s %s noop' https://neomutt.org/guide/configuration.html#bind-warnings" + +-#: keymap.c:757 ++#: keymap.c:755 + msgid "Macro loop detected" + msgstr "Laço de macro detectado" + +-#: keymap.c:1064 keymap.c:1099 ++#: keymap.c:1062 keymap.c:1097 + msgid "Key is not bound" + msgstr "Tecla não associada" + +-#: keymap.c:1104 ++#: keymap.c:1102 + #, c-format + msgid "Key is not bound. Press '%s' for help." + msgstr "Tecla não associada. Pressione '%s' para ajuda." + +-#: keymap.c:1177 ++#: keymap.c:1175 + #, c-format + msgid "%s: null key sequence" + msgstr "%s: sequência de teclas nula" + +-#: keymap.c:1212 ++#: keymap.c:1210 + #, c-format + msgid "Function '%s' not available for menu '%s'" + msgstr "Função '%s' não disponível no menu '%s'" + +-#: keymap.c:1495 ++#: keymap.c:1493 + msgid "macro: empty key sequence" + msgstr "macro: seqüência de teclas vazia" + +-#: keymap.c:1543 ++#: keymap.c:1541 + msgid "exec: no arguments" + msgstr "exec: sem argumentos" + +-#: keymap.c:1563 ++#: keymap.c:1561 + #, c-format + msgid "%s: no such function" + msgstr "%s: não existe tal função" + +-#: keymap.c:1584 ++#: keymap.c:1582 + msgid "Enter keys (^G to abort): " + msgstr "Entre com as teclas (^G para cancelar): " + +-#: keymap.c:1590 ++#: keymap.c:1588 + #, c-format + msgid "Char = %s, Octal = %o, Decimal = %d" + msgstr "Char = %s, Octal = %o, Decimal = %d" +@@ -3014,7 +3118,7 @@ msgstr "entrada no mailcap para o tipo %s não foi encontrada." + msgid "Scanning %s..." + msgstr "Analisando %s..." + +-#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:353 ++#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:351 + #, c-format + msgid "Reading %s..." + msgstr "Lendo %s..." +@@ -3028,13 +3132,13 @@ msgid "md_commit_message(): unable to set time on file" + msgstr "md_commit_message(): incapaz de configurar tempo no arquivo" + + #. L10N: Displayed before/as a mailbox is being synced +-#: maildir/shared.c:1723 mbox/mbox.c:1276 mx.c:461 notmuch/mutt_notmuch.c:2364 ++#: maildir/shared.c:1734 mbox/mbox.c:1276 mx.c:459 notmuch/mutt_notmuch.c:2364 + #, c-format + msgid "Writing %s..." + msgstr "Gravando %s..." + + #. L10N: Try to limit to 80 columns +-#: main.c:227 ++#: main.c:160 + msgid "" + "usage:\n" + " neomutt [-Enx] [-e ] [-F ] [-H ] [-i ]\n" +@@ -3075,7 +3179,7 @@ msgstr "" + " neomutt -v[v]\n" + + #. L10N: Try to limit to 80 columns. If more space is needed add an indented line +-#: main.c:247 ++#: main.c:180 + msgid "" + "options:\n" + " -- Special argument forces NeoMutt to stop option parsing and treat\n" +@@ -3153,54 +3257,54 @@ msgstr "" + " -z Abre a primeira caixa ou uma especificada (-f) se houver mensagem disponível\n" + " Ou sai imediatamente retornando código 1 caso contrário" + +-#: main.c:312 ++#: main.c:245 + msgid "Error initializing terminal" + msgstr "Erro ao inicializar terminal" + +-#: main.c:390 ++#: main.c:323 + msgid "unable to determine username" + msgstr "não foi possível determinar o nome do usuário" + +-#: main.c:396 ++#: main.c:329 + msgid "unable to determine home directory" + msgstr "não foi possível determinar o diretório do usuário" + +-#: main.c:640 ++#: main.c:572 + #, c-format + msgid "Error: value '%s' is invalid for -d" + msgstr "Erro: valor '%s' é inválido para -d" + +-#: main.c:884 ++#: main.c:815 + msgid "Failed to parse mailto: link" + msgstr "Falha ao interpretar link 'mailto:'" + +-#: main.c:896 send.c:2452 send.c:2456 ++#: main.c:827 send.c:2463 send.c:2467 + msgid "No recipients specified" + msgstr "Nenhum destinatário foi especificado" + +-#: main.c:923 ++#: main.c:854 + msgid "Can't use -E flag with stdin" + msgstr "Incapaz de usar flag -E com stdin" + +-#: main.c:1007 ++#: main.c:938 + #, c-format + msgid "Can't parse message template: %s" + msgstr "Incapaz de interpretar modelo de mensagem: %s" + +-#: main.c:1073 mutt_header.c:329 ++#: main.c:1004 mutt_header.c:329 + #, c-format + msgid "%s: unable to attach file" + msgstr "%s: não foi possível anexar o arquivo" + +-#: main.c:1156 ++#: main.c:1087 + msgid "No mailbox with new mail" + msgstr "Nenhuma caixa com novas mensagens" + +-#: main.c:1180 ++#: main.c:1111 + msgid "No incoming mailboxes defined" + msgstr "Nenhuma caixa de entrada definida" + +-#: main.c:1230 ++#: main.c:1161 + msgid "Mailbox is empty" + msgstr "A caixa de mensagens está vazia" + +@@ -3242,52 +3346,52 @@ msgstr "Não foi possível reabrir a caixa de mensagens" + msgid "Can't write message" + msgstr "Não foi possível gravar a mensagem" + +-#: menu.c:632 ++#: menu.c:631 + msgid "Jump to: " + msgstr "Pular para: " + +-#: menu.c:641 ++#: menu.c:640 + msgid "Invalid index number" + msgstr "Número de índice inválido" + +-#: menu.c:645 menu.c:671 menu.c:744 menu.c:810 menu.c:828 menu.c:843 menu.c:858 +-#: menu.c:873 menu.c:890 menu.c:907 menu.c:1553 ++#: menu.c:644 menu.c:670 menu.c:743 menu.c:809 menu.c:827 menu.c:842 menu.c:857 ++#: menu.c:872 menu.c:889 menu.c:906 menu.c:1553 + msgid "No entries" + msgstr "Nenhuma entrada" + +-#: menu.c:668 ++#: menu.c:667 + msgid "You can't scroll down farther" + msgstr "Você não pode mais rolar para baixo" + +-#: menu.c:690 ++#: menu.c:689 + msgid "You can't scroll up farther" + msgstr "Você não pode mais rolar para cima" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the first page" + msgstr "Você está na primeira página" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the last page" + msgstr "Você está na última página" + +-#: menu.c:922 ++#: menu.c:921 + msgid "You are on the last entry" + msgstr "Você está na última entrada" + +-#: menu.c:937 ++#: menu.c:936 + msgid "You are on the first entry" + msgstr "Você está na primeira entrada" + +-#: menu.c:1172 pager.c:2692 pattern.c:2578 ++#: menu.c:1172 pager.c:2666 pattern.c:2702 + msgid "Search for: " + msgstr "Procurar por: " + +-#: menu.c:1173 pager.c:2693 pattern.c:2579 ++#: menu.c:1173 pager.c:2667 pattern.c:2703 + msgid "Reverse search for: " + msgstr "Busca reversa por: " + +-#: menu.c:1226 pager.c:2641 pager.c:2666 pager.c:2800 pattern.c:2708 ++#: menu.c:1226 pager.c:2615 pager.c:2640 pager.c:2774 pattern.c:2832 + msgid "Not found" + msgstr "Não encontrado" + +@@ -3330,20 +3434,20 @@ msgstr "Esperando pela tentativa de flock... %d" + msgid "Bad history file format (line %d)" + msgstr "Arquivo de histórico com formato inválido (line %d)" + +-#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1006 ncrypt/crypt_gpgme.c:2381 +-#: ncrypt/crypt_gpgme.c:2401 ncrypt/crypt_gpgme.c:2460 +-#: ncrypt/crypt_gpgme.c:2477 ncrypt/crypt_gpgme.c:2509 +-#: ncrypt/crypt_gpgme.c:2527 ncrypt/crypt_gpgme.c:2611 +-#: ncrypt/crypt_gpgme.c:3194 ncrypt/crypt_gpgme.c:3292 +-#: ncrypt/crypt_gpgme.c:4373 ncrypt/pgp.c:576 ncrypt/pgp.c:583 ncrypt/pgp.c:896 +-#: ncrypt/pgp.c:1014 ncrypt/pgp.c:1161 ncrypt/pgp.c:1181 ncrypt/pgp.c:1215 +-#: ncrypt/pgp.c:1568 ncrypt/pgpkey.c:708 ncrypt/pgpkey.c:902 +-#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1092 ncrypt/smime.c:1100 +-#: ncrypt/smime.c:1191 ncrypt/smime.c:1299 ncrypt/smime.c:1364 +-#: ncrypt/smime.c:1372 ncrypt/smime.c:1571 ncrypt/smime.c:1967 +-#: ncrypt/smime.c:2046 ncrypt/smime.c:2053 ncrypt/smime.c:2156 +-#: ncrypt/smime.c:2281 ncrypt/smime.c:2297 nntp/nntp.c:1397 nntp/nntp.c:2237 +-#: pattern.c:1132 pop/pop.c:182 ++#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1005 ncrypt/crypt_gpgme.c:2420 ++#: ncrypt/crypt_gpgme.c:2440 ncrypt/crypt_gpgme.c:2499 ++#: ncrypt/crypt_gpgme.c:2516 ncrypt/crypt_gpgme.c:2548 ++#: ncrypt/crypt_gpgme.c:2566 ncrypt/crypt_gpgme.c:2650 ++#: ncrypt/crypt_gpgme.c:3237 ncrypt/crypt_gpgme.c:3335 ++#: ncrypt/crypt_gpgme.c:4421 ncrypt/pgp.c:575 ncrypt/pgp.c:582 ncrypt/pgp.c:895 ++#: ncrypt/pgp.c:1013 ncrypt/pgp.c:1160 ncrypt/pgp.c:1180 ncrypt/pgp.c:1214 ++#: ncrypt/pgp.c:1570 ncrypt/pgpkey.c:741 ncrypt/pgpkey.c:937 ++#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1126 ncrypt/smime.c:1134 ++#: ncrypt/smime.c:1225 ncrypt/smime.c:1333 ncrypt/smime.c:1398 ++#: ncrypt/smime.c:1406 ncrypt/smime.c:1605 ncrypt/smime.c:2001 ++#: ncrypt/smime.c:2080 ncrypt/smime.c:2087 ncrypt/smime.c:2190 ++#: ncrypt/smime.c:2315 ncrypt/smime.c:2331 nntp/nntp.c:1399 nntp/nntp.c:2239 ++#: pattern.c:1171 pop/pop.c:182 + msgid "Can't create temporary file" + msgstr "Não foi possível criar um arquivo temporário" + +@@ -3362,7 +3466,7 @@ msgstr "Depurando no nível %d para o arquivo '%s'" + msgid "Logging at level %d to file '%s'" + msgstr "Realizando log no nível %d para o arquivo '%s'" + +-#: mutt/path.c:401 ++#: mutt/path.c:420 + msgid "Error: converting path to absolute" + msgstr "Erro: conversão de caminho relativo para completo" + +@@ -3385,17 +3489,17 @@ msgstr "Sinal %d (%s) interceptado... Saindo.\n" + msgid "Caught signal %d ... Exiting.\n" + msgstr "Sinal %d interceptado... Saindo.\n" + +-#: muttlib.c:490 ++#: muttlib.c:488 + #, c-format + msgid "mutt_randbuf buflen=%zu" + msgstr "mutt_randbuf tamanho=%zu" + +-#: muttlib.c:510 ++#: muttlib.c:508 + #, c-format + msgid "open /dev/urandom: %s" + msgstr "abre /dev/urandom: %s" + +-#: muttlib.c:517 ++#: muttlib.c:515 + #, c-format + msgid "read /dev/urandom: %s" + msgstr "ler /dev/urandom: %s" +@@ -3403,146 +3507,119 @@ msgstr "ler /dev/urandom: %s" + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) + #. These three letters correspond to the choices in the string. +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "File is a directory, save under it: (y)es, (n)o, (a)ll?" + msgstr "O caminho é um diretório, salvar ali dentro? (y)sim, (n)não, (a)todos" + +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "yna" + msgstr "yna" + + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) +-#: muttlib.c:763 ++#: muttlib.c:761 + msgid "File is a directory, save under it?" + msgstr "O caminho é um diretório, salvar ali dentro?" + +-#: muttlib.c:768 ++#: muttlib.c:766 + msgid "File under directory: " + msgstr "Arquivo no diretório: " + +-#: muttlib.c:781 ++#: muttlib.c:779 + msgid "File exists, (o)verwrite, (a)ppend, or (c)ancel?" + msgstr "Arquivo existe, (o)sobrescreve, (a)concatena ou (c)cancela?" + + #. L10N: Options for: File exists, (o)verwrite, (a)ppend, or (c)ancel? +-#: muttlib.c:783 ++#: muttlib.c:781 + msgid "oac" + msgstr "oac" + +-#: muttlib.c:1458 ++#: muttlib.c:1456 + msgid "Can't save message to POP mailbox" + msgstr "Incapaz de gravar mensagem na caixa do tipo POP" + +-#: muttlib.c:1468 ++#: muttlib.c:1466 + #, c-format + msgid "Append messages to %s?" + msgstr "Anexa mensagens a %s?" + +-#: muttlib.c:1481 ++#: muttlib.c:1479 + msgid "Can't save message to news server" + msgstr "Incapaz de gravar mensagem no servidor de notícias" + +-#. L10N: Example: Username at myhost.com +-#: mutt_account.c:233 +-#, c-format +-msgid "Username at %s: " +-msgstr "Nome de usuário em %s: " +- +-#: mutt_account.c:315 +-#, c-format +-msgid "Password for %s@%s: " +-msgstr "Senha para %s@%s: " +- +-#. L10N: You will see this error message if (1) you have "oauthbearer" in +-#. one of your $*_authenticators and (2) you do not have the corresponding +-#. $*_oauth_refresh_command defined. So the message does not mean "None of +-#. your $*_oauth_refresh_command's are defined." +-#: mutt_account.c:383 +-msgid "No OAUTH refresh command defined" +-msgstr "Comando de atualizaçao OAUTH não definido" +- +-#: mutt_account.c:390 +-msgid "Unable to run refresh command" +-msgstr "Incapaz de executar comando de atualização" +- +-#: mutt_account.c:400 +-msgid "Command returned empty string" +-msgstr "Comando respondeu com mensagem vazia" +- +-#: mutt_attach.c:140 mutt_attach.c:274 mutt_attach.c:459 mutt_attach.c:1054 ++#: mutt_attach.c:142 mutt_attach.c:276 mutt_attach.c:488 mutt_attach.c:1087 + msgid "Can't match 'nametemplate', continue?" + msgstr "Não pude associar o modelo de nomeação, continuo?" + +-#: mutt_attach.c:150 ++#: mutt_attach.c:152 + #, c-format + msgid "Mailcap compose entry requires %%s" + msgstr "Entrada de composição no mailcap requer %%s" + +-#: mutt_attach.c:168 ++#: mutt_attach.c:170 + msgid "Failure to open file to parse headers" + msgstr "Erro ao abrir o arquivo para interpretar os cabeçalhos" + +-#: mutt_attach.c:202 ++#: mutt_attach.c:204 + msgid "Failure to open file to strip headers" + msgstr "Erro ao abrir o arquivo para retirar cabeçalhos" + +-#: mutt_attach.c:212 ++#: mutt_attach.c:214 + msgid "Failure to rename file" + msgstr "Falha ao renomear arquivo" + +-#: mutt_attach.c:222 ++#: mutt_attach.c:224 + #, c-format + msgid "No mailcap compose entry for %s, creating empty file" + msgstr "Nenhuma entrada de composição 'mailcap' para %s, criando arquivo vazio" + +-#: mutt_attach.c:284 ++#: mutt_attach.c:286 + #, c-format + msgid "Mailcap Edit entry requires %%s" + msgstr "Entrada de edição 'mailcap' requer %%s" + +-#: mutt_attach.c:305 ++#: mutt_attach.c:307 + #, c-format + msgid "No mailcap edit entry for %s" + msgstr "Nenhuma entrada de edição 'mailcap' para %s" + +-#: mutt_attach.c:427 ++#: mutt_attach.c:456 + msgid "No matching mailcap entry found. Viewing as text." + msgstr "Nenhuma entrada 'mailcap' associada. Exibindo como texto." + +-#: mutt_attach.c:440 ++#: mutt_attach.c:469 + msgid "MIME type not defined. Can't view attachment." + msgstr "Tipo MIME não definido. Não foi possível exibir o anexo." + +-#: mutt_attach.c:535 ++#: mutt_attach.c:563 + #, c-format + msgid "---Command: %-20.20s Description: %s" + msgstr "---Comando: %-20.20s Descrição: %s" + +-#: mutt_attach.c:540 ++#: mutt_attach.c:568 + #, c-format + msgid "---Command: %-30.30s Attachment: %s" + msgstr "---Commando: %-30.30s Anexos: %s" + +-#: mutt_attach.c:619 ++#: mutt_attach.c:652 + #, c-format + msgid "---Attachment: %s: %s" + msgstr "-- Anexos: %s: %s" + +-#: mutt_attach.c:621 ++#: mutt_attach.c:654 + #, c-format + msgid "---Attachment: %s" + msgstr "-- Anexos: %s" + +-#: mutt_attach.c:902 mutt_attach.c:910 ++#: mutt_attach.c:935 mutt_attach.c:943 + msgid "Write fault" + msgstr "Erro de gravação" + +-#: mutt_attach.c:1174 ++#: mutt_attach.c:1207 + msgid "I don't know how to print that" + msgstr "Eu não sei como imprimir isto" + +-#: mutt_history.c:47 query.c:84 ++#: mutt_history.c:47 query.c:82 + msgid "Search" + msgstr "Busca" + +@@ -3551,21 +3628,21 @@ msgstr "Busca" + msgid "History '%s'" + msgstr "Histórico '%s'" + +-#: mutt_logging.c:315 ++#: mutt_logging.c:313 + #, c-format + msgid "Invalid value for option %s: %ld" + msgstr "Valor inválido para opção %s: %ld" + +-#: mutt_lua.c:429 ++#: mutt_lua.c:431 + msgid "Error: Couldn't load the lua interpreter" + msgstr "Erro: Não foi possível carregar o interpretador lua" + +-#: mutt_lua.c:491 ++#: mutt_lua.c:493 + #, c-format + msgid "Couldn't source lua source: %s" + msgstr "Incapaz de importar código lua: %s" + +-#: mutt_mailbox.c:214 ++#: mutt_mailbox.c:241 + msgid "New mail in " + msgstr "Nova mensagem em " + +@@ -3586,20 +3663,20 @@ msgstr "A mensagem raiz não está visível nesta visão restringida" + msgid "Parent message is not visible in this limited view" + msgstr "A mensagem pai não está visível nesta visão restringida" + +-#: mx.c:387 ++#: mx.c:385 + #, c-format + msgid "Reading from %s interrupted..." + msgstr "Aquisição de %s interrompida..." + + #. L10N: Displayed if a mailbox sync fails +-#: mx.c:468 ++#: mx.c:469 + #, c-format + msgid "Unable to write %s" + msgstr "Incapaz de gravar %s" + + #. L10N: Although we know the precise number of messages, we do not show it to the user. + #. So feel free to use a "generic plural" as plural translation if your language has one. +-#: mx.c:523 ++#: mx.c:525 + msgid "message not deleted" + msgid_plural "messages not deleted" + msgstr[0] "mensagem não apagada" +@@ -3609,69 +3686,69 @@ msgstr[1] "mensagens não apagadas" + msgid "Can't open trash folder" + msgstr "Incapaz de acessar lixeira" + +-#: mx.c:623 ++#: mx.c:627 + msgid "Mark all articles read?" + msgstr "Marcar todos artigos como lidos?" + + #. L10N: The first argument is the number of read messages to be + #. moved, the second argument is the target mailbox. +-#: mx.c:671 ++#: mx.c:675 + #, c-format + msgid "Move %d read message to %s?" + msgid_plural "Move %d read messages to %s?" + msgstr[0] "Mover %d mensagem lida para %s?" + msgstr[1] "Mover %d mensagens lidas para %s?" + +-#: mx.c:685 mx.c:917 ++#: mx.c:689 mx.c:936 + #, c-format + msgid "Purge %d deleted message?" + msgid_plural "Purge %d deleted messages?" + msgstr[0] "Remover %d mensagem apagada?" + msgstr[1] "Remover %d mensagens apagadas?" + +-#: mx.c:708 ++#: mx.c:712 + #, c-format + msgid "Moving read messages to %s..." + msgstr "Movendo mensagens lidas para %s..." + +-#: mx.c:774 mx.c:908 ++#: mx.c:783 mx.c:927 + msgid "Mailbox is unchanged" + msgstr "A caixa de mensagens não sofreu mudanças" + +-#: mx.c:827 ++#: mx.c:842 + #, c-format + msgid "%d kept, %d moved, %d deleted" + msgstr "%d mantidas, %d movidas, %d apagadas" + +-#: mx.c:831 mx.c:972 ++#: mx.c:846 mx.c:991 + #, c-format + msgid "%d kept, %d deleted" + msgstr "%d mantidas, %d apagadas" + +-#: mx.c:892 ++#: mx.c:911 + #, c-format + msgid " Press '%s' to toggle write" + msgstr " Pressione '%s' para trocar entre gravar ou não" + +-#: mx.c:894 ++#: mx.c:913 + msgid "Use 'toggle-write' to re-enable write" + msgstr "Use 'toggle-write' para reabilitar a gravação" + +-#: mx.c:896 ++#: mx.c:915 + #, c-format + msgid "Mailbox is marked unwritable. %s" + msgstr "A caixa está marcada como não gravável. %s" + +-#: mx.c:966 ++#: mx.c:985 + msgid "Mailbox checkpointed" + msgstr "Ponto de controle feito para caixa de mensagens" + +-#: ncrypt/crypt.c:93 ++#: ncrypt/crypt.c:91 + #, c-format + msgid " (current time: %c)" + msgstr " (tempo atual: %c)" + +-#: ncrypt/crypt.c:98 ++#: ncrypt/crypt.c:96 + #, c-format + msgid "[-- %s output follows%s --]\n" + msgstr "[-- saída %s segue%s --]\n" +@@ -3680,52 +3757,52 @@ msgstr "[-- saída %s segue%s --]\n" + #. by gpg-agent) we can't know whether we forgot zero, 1, 12, ... + #. passwords. So in English we use "Passphrases". Your language might + #. have other means to express this. +-#: ncrypt/crypt.c:119 ++#: ncrypt/crypt.c:117 + msgid "Passphrases forgotten" + msgstr "Senha(s) esquecida(s)" + +-#: ncrypt/crypt.c:203 ++#: ncrypt/crypt.c:201 + msgid "Inline PGP can't be used with attachments. Revert to PGP/MIME?" + msgstr "PGP incorporado não pode ser usado com anexos. Reverter para PGP/MIME?" + +-#: ncrypt/crypt.c:207 ++#: ncrypt/crypt.c:205 + msgid "Mail not sent: inline PGP can't be used with attachments" + msgstr "Email não enviado: PGP incorporado não pode ser usado com anexos" + +-#: ncrypt/crypt.c:214 ++#: ncrypt/crypt.c:212 + msgid "Inline PGP can't be used with format=flowed. Revert to PGP/MIME?" + msgstr "PGP incorporado não pode ser usado com format=flowed. Reverter para PGP/MIME?" + +-#: ncrypt/crypt.c:218 ++#: ncrypt/crypt.c:216 + msgid "Mail not sent: inline PGP can't be used with format=flowed" + msgstr "Email não enviado: PGP incorporado não pode ser usado com format=flowed" + +-#: ncrypt/crypt.c:228 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:714 +-#: ncrypt/pgpkey.c:915 ++#: ncrypt/crypt.c:226 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:747 ++#: ncrypt/pgpkey.c:950 + msgid "Invoking PGP..." + msgstr "Executando PGP..." + +-#: ncrypt/crypt.c:240 ++#: ncrypt/crypt.c:238 + msgid "Message can't be sent inline. Revert to using PGP/MIME?" + msgstr "Mensagem não pode ser enviada de forma incorporada. Reverter para PGP/MIME?" + +-#: ncrypt/crypt.c:242 send.c:2430 ++#: ncrypt/crypt.c:240 send.c:2441 + msgid "Mail not sent" + msgstr "Mensagem não enviada" + +-#: ncrypt/crypt.c:662 ++#: ncrypt/crypt.c:666 + msgid "S/MIME messages with no hints on content are unsupported" + msgstr "Mensagens S/MIME sem dicas no conteúdo não são suportadas" + +-#: ncrypt/crypt.c:888 ++#: ncrypt/crypt.c:892 + msgid "Trying to extract PGP keys...\n" + msgstr "Tentando extrair chaves PGP...\n" + +-#: ncrypt/crypt.c:917 ++#: ncrypt/crypt.c:921 + msgid "Trying to extract S/MIME certificates..." + msgstr "Tentando extrair certificados S/MIME..." + +-#: ncrypt/crypt.c:1140 ++#: ncrypt/crypt.c:1144 + #, c-format + msgid "" + "[-- Error: Unknown multipart/signed protocol %s --]\n" +@@ -3734,7 +3811,7 @@ msgstr "" + "[-- Erro: Protocolo multipart/signed %s desconhecido --]\n" + "\n" + +-#: ncrypt/crypt.c:1180 ++#: ncrypt/crypt.c:1184 + msgid "" + "[-- Error: Missing or bad-format multipart/signed signature --]\n" + "\n" +@@ -3742,7 +3819,7 @@ msgstr "" + "[-- Erro: Assinatura \"multipart/signed\" omitida ou inconsistente --]\n" + "\n" + +-#: ncrypt/crypt.c:1222 ++#: ncrypt/crypt.c:1226 + #, c-format + msgid "" + "[-- Warning: We can't verify %s/%s signatures. --]\n" +@@ -3751,7 +3828,7 @@ msgstr "" + "[-- Aviso: Não foi possível verificar %s/%s assinaturas. --]\n" + "\n" + +-#: ncrypt/crypt.c:1235 ++#: ncrypt/crypt.c:1239 + msgid "" + "[-- The following data is signed --]\n" + "\n" +@@ -3759,7 +3836,7 @@ msgstr "" + "[-- Os dados a seguir estão assinados --]\n" + "\n" + +-#: ncrypt/crypt.c:1243 ++#: ncrypt/crypt.c:1248 + msgid "" + "[-- Warning: Can't find any signatures. --]\n" + "\n" +@@ -3767,7 +3844,7 @@ msgstr "" + "[-- Aviso: Não foi possível encontrar assinatura alguma. --]\n" + "\n" + +-#: ncrypt/crypt.c:1249 ++#: ncrypt/crypt.c:1255 + msgid "" + "\n" + "[-- End of signed data --]\n" +@@ -3786,229 +3863,229 @@ msgstr "Executando S/MIME..." + #. L10N: The following are the headers for the "verify key" output from the + #. GPGME key selection menu (bound to "c" in the key selection menu). + #. They will be automatically aligned. +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Name: " + msgstr "Nome: " + +-#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1869 ncrypt/crypt_gpgme.c:1874 ++#: ncrypt/crypt_gpgme.c:183 ncrypt/crypt_gpgme.c:1900 ncrypt/crypt_gpgme.c:1905 + msgid "aka: " + msgstr "aka: " + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Valid From: " + msgstr "'From:' validado " + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Valid To: " + msgstr "'To:' validado " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Key Type: " + msgstr "Tipo de chave: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Key Usage: " + msgstr "Uso da chave: " + +-#: ncrypt/crypt_gpgme.c:185 ncrypt/crypt_gpgme.c:1759 ++#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1790 + msgid "Fingerprint: " + msgstr "Impressão digital: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Serial-No: " + msgstr "No. serial: " + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + msgid "Issued By: " + msgstr "Emitido por: " + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + msgid "Subkey: " + msgstr "Sub-chave: " + +-#: ncrypt/crypt_gpgme.c:783 ++#: ncrypt/crypt_gpgme.c:782 + #, c-format + msgid "error enabling CMS protocol: %s" + msgstr "erro ao habilitar protocolo CMS: %s" + +-#: ncrypt/crypt_gpgme.c:806 ++#: ncrypt/crypt_gpgme.c:805 + #, c-format + msgid "error creating gpgme data object: %s" + msgstr "erro ao criar objeto de dados gpgme: %s" + +-#: ncrypt/crypt_gpgme.c:907 ncrypt/crypt_gpgme.c:934 ncrypt/crypt_gpgme.c:2057 +-#: ncrypt/crypt_gpgme.c:2814 ++#: ncrypt/crypt_gpgme.c:906 ncrypt/crypt_gpgme.c:933 ncrypt/crypt_gpgme.c:2096 ++#: ncrypt/crypt_gpgme.c:2853 + #, c-format + msgid "error allocating data object: %s" + msgstr "erro ao alocar objeto de dados: %s" + +-#: ncrypt/crypt_gpgme.c:956 ++#: ncrypt/crypt_gpgme.c:955 + #, c-format + msgid "error rewinding data object: %s" + msgstr "erro ao retroceder objeto de dados: %s" + +-#: ncrypt/crypt_gpgme.c:972 ++#: ncrypt/crypt_gpgme.c:971 + msgid "[tempfile]" + msgstr "[arquivo temporário]" + +-#: ncrypt/crypt_gpgme.c:978 ncrypt/crypt_gpgme.c:1032 ++#: ncrypt/crypt_gpgme.c:977 ncrypt/crypt_gpgme.c:1031 + #, c-format + msgid "error reading data object: %s" + msgstr "erro ao acessar objeto de dados: %s" + +-#: ncrypt/crypt_gpgme.c:1149 ++#: ncrypt/crypt_gpgme.c:1148 + #, c-format + msgid "error adding recipient '%s': %s" + msgstr "erro ao adicionar destinatário '%s': %s" + +-#: ncrypt/crypt_gpgme.c:1202 ++#: ncrypt/crypt_gpgme.c:1186 + #, c-format + msgid "secret key '%s' not found: %s" + msgstr "chave secreta '%s' não encontrada: %s" + +-#: ncrypt/crypt_gpgme.c:1218 ++#: ncrypt/crypt_gpgme.c:1203 + #, c-format + msgid "ambiguous specification of secret key '%s'\n" + msgstr "especificação ambígua da chave secreta '%s'\n" + +-#: ncrypt/crypt_gpgme.c:1234 ++#: ncrypt/crypt_gpgme.c:1219 + #, c-format + msgid "error setting secret key '%s': %s" + msgstr "erro ao configurar chave secreta '%s': %s" + +-#: ncrypt/crypt_gpgme.c:1250 ++#: ncrypt/crypt_gpgme.c:1278 + #, c-format + msgid "error setting PKA signature notation: %s" + msgstr "erro ao configurar notação de assinatura PKA: %s" + +-#: ncrypt/crypt_gpgme.c:1324 ++#: ncrypt/crypt_gpgme.c:1353 + #, c-format + msgid "error encrypting data: %s" + msgstr "erro ao encriptar dados: %s" + +-#: ncrypt/crypt_gpgme.c:1453 ++#: ncrypt/crypt_gpgme.c:1483 + #, c-format + msgid "error signing data: %s" + msgstr "erro ao assinar dados: %s" + +-#: ncrypt/crypt_gpgme.c:1463 ++#: ncrypt/crypt_gpgme.c:1493 + msgid "$pgp_sign_as unset and no default key specified in ~/.gnupg/gpg.conf" + msgstr "$pgp_sign_as desconfigurado e sem chave pré-definida em ~/.gnupg/gpg.conf" + +-#: ncrypt/crypt_gpgme.c:1641 ++#: ncrypt/crypt_gpgme.c:1672 + msgid "Warning: One of the keys has been revoked\n" + msgstr "Aviso: Uma das chaves foi revogada\n" + +-#: ncrypt/crypt_gpgme.c:1651 ++#: ncrypt/crypt_gpgme.c:1682 + msgid "Warning: The key used to create the signature expired at: " + msgstr "Aviso: A chave usada para criar a assinatura expirou em: " + +-#: ncrypt/crypt_gpgme.c:1657 ++#: ncrypt/crypt_gpgme.c:1688 + msgid "Warning: At least one certification key has expired\n" + msgstr "Aviso: Ao menos uma chave de certificação expirou\n" + +-#: ncrypt/crypt_gpgme.c:1671 ++#: ncrypt/crypt_gpgme.c:1702 + msgid "Warning: The signature expired at: " + msgstr "Aviso: A assinatura expirou em: " + +-#: ncrypt/crypt_gpgme.c:1678 ++#: ncrypt/crypt_gpgme.c:1709 + msgid "Can't verify due to a missing key or certificate\n" + msgstr "Incapaz de verificar devido à ausência de chave ou certificado\n" + +-#: ncrypt/crypt_gpgme.c:1683 ++#: ncrypt/crypt_gpgme.c:1714 + msgid "The CRL is not available\n" + msgstr "CRL indisponível\n" + +-#: ncrypt/crypt_gpgme.c:1689 ++#: ncrypt/crypt_gpgme.c:1720 + msgid "Available CRL is too old\n" + msgstr "CRL disponível é antigo demais\n" + +-#: ncrypt/crypt_gpgme.c:1694 ++#: ncrypt/crypt_gpgme.c:1725 + msgid "A policy requirement was not met\n" + msgstr "Uma exigência das diretrizes não foi atendida\n" + +-#: ncrypt/crypt_gpgme.c:1703 ++#: ncrypt/crypt_gpgme.c:1734 + msgid "A system error occurred" + msgstr "Ocorreu um erro de sistema" + +-#: ncrypt/crypt_gpgme.c:1734 ++#: ncrypt/crypt_gpgme.c:1765 + msgid "WARNING: PKA entry does not match signer's address: " + msgstr "AVISO: registro PKA não coincide endereço do signatário: " + +-#: ncrypt/crypt_gpgme.c:1740 ++#: ncrypt/crypt_gpgme.c:1771 + msgid "PKA verified signer's address is: " + msgstr "Endereço PKA verificado do signatário é: " + +-#: ncrypt/crypt_gpgme.c:1822 ++#: ncrypt/crypt_gpgme.c:1853 + msgid "WARNING: We have NO indication whether the key belongs to the person named as shown above\n" + msgstr "AVISO: Não temos indicação alguma se a chave pertence à pessoa nomeada conforme mostrado acima\n" + +-#: ncrypt/crypt_gpgme.c:1829 ++#: ncrypt/crypt_gpgme.c:1860 + msgid "WARNING: The key does NOT BELONG to the person named as shown above\n" + msgstr "AVISO: A chave não pertence à pessoa nomeada conforme mostrado acima\n" + +-#: ncrypt/crypt_gpgme.c:1833 ++#: ncrypt/crypt_gpgme.c:1864 + msgid "WARNING: It is NOT certain that the key belongs to the person named as shown above\n" + msgstr "AVISO: Não é garantido que a chave pertença à pessoa nomeada conforme mostrado acima\n" + +-#: ncrypt/crypt_gpgme.c:1886 ++#: ncrypt/crypt_gpgme.c:1917 + msgid "KeyID " + msgstr "KeyID " + + #. L10N: You will see this message in place of "KeyID " + #. if the S/MIME key has no ID. This is quite an error. +-#: ncrypt/crypt_gpgme.c:1893 ++#: ncrypt/crypt_gpgme.c:1924 + msgid "no signature fingerprint available" + msgstr "Não há assinatura digital disponível" + +-#: ncrypt/crypt_gpgme.c:1902 ncrypt/crypt_gpgme.c:1907 ++#: ncrypt/crypt_gpgme.c:1933 ncrypt/crypt_gpgme.c:1938 + msgid "created: " + msgstr "criado: " + +-#: ncrypt/crypt_gpgme.c:1981 ++#: ncrypt/crypt_gpgme.c:2012 + #, c-format + msgid "Error getting key information for KeyID %s: %s\n" + msgstr "Erro ao obter informação da chave para KeyID %s: %s\n" + +-#: ncrypt/crypt_gpgme.c:1988 ncrypt/crypt_gpgme.c:2003 ++#: ncrypt/crypt_gpgme.c:2019 ncrypt/crypt_gpgme.c:2034 + msgid "Good signature from:" + msgstr "Assinatura válida de:" + +-#: ncrypt/crypt_gpgme.c:1995 ++#: ncrypt/crypt_gpgme.c:2026 + msgid "*BAD* signature from:" + msgstr "Assinatura *INVÁLIDA* de:" + +-#: ncrypt/crypt_gpgme.c:2011 ++#: ncrypt/crypt_gpgme.c:2042 + msgid "Problem signature from:" + msgstr "Assinatura problemática de:" + + #. L10N: This is trying to match the width of the + #. "Problem signature from:" translation just above. +-#: ncrypt/crypt_gpgme.c:2017 ++#: ncrypt/crypt_gpgme.c:2048 + msgid " expires: " + msgstr " expira: " + +-#: ncrypt/crypt_gpgme.c:2064 ncrypt/crypt_gpgme.c:2294 +-#: ncrypt/crypt_gpgme.c:3081 ++#: ncrypt/crypt_gpgme.c:2103 ncrypt/crypt_gpgme.c:2333 ++#: ncrypt/crypt_gpgme.c:3124 + msgid "[-- Begin signature information --]\n" + msgstr "[-- Início da informação da assinatura --]\n" + +-#: ncrypt/crypt_gpgme.c:2075 ++#: ncrypt/crypt_gpgme.c:2114 + #, c-format + msgid "Error: verification failed: %s\n" + msgstr "Erro: verificação falhou: %s\n" + +-#: ncrypt/crypt_gpgme.c:2126 ++#: ncrypt/crypt_gpgme.c:2165 + #, c-format + msgid "*** Begin Notation (signature by: %s) ***\n" + msgstr "*** Inicia Notação (assinado por: %s) ***\n" + +-#: ncrypt/crypt_gpgme.c:2145 ++#: ncrypt/crypt_gpgme.c:2184 + msgid "*** End Notation ***\n" + msgstr "*** Finaliza Notação ***\n" + +-#: ncrypt/crypt_gpgme.c:2153 ncrypt/crypt_gpgme.c:2308 +-#: ncrypt/crypt_gpgme.c:3091 ++#: ncrypt/crypt_gpgme.c:2192 ncrypt/crypt_gpgme.c:2347 ++#: ncrypt/crypt_gpgme.c:3134 + msgid "" + "[-- End signature information --]\n" + "\n" +@@ -4016,7 +4093,7 @@ msgstr "" + "[-- Fim da informação da assinatura --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:2268 ++#: ncrypt/crypt_gpgme.c:2307 + #, c-format + msgid "" + "[-- Error: decryption failed: %s --]\n" +@@ -4025,21 +4102,26 @@ msgstr "" + "[-- Erro: decriptação falhou: %s --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:2821 ++#: ncrypt/crypt_gpgme.c:2860 + #, c-format + msgid "Error importing key: %s" + msgstr "Erro ao importar chave: %s" + +-#: ncrypt/crypt_gpgme.c:3059 ++#: ncrypt/crypt_gpgme.c:3098 + #, c-format + msgid "Error: decryption/verification failed: %s\n" + msgstr "Erro: decriptação/verificação falhou: %s\n" + +-#: ncrypt/crypt_gpgme.c:3103 ++#: ncrypt/crypt_gpgme.c:3105 ncrypt/crypt_gpgme.c:3302 ncrypt/pgp.c:726 ++#: ncrypt/pgp.c:1273 ++msgid "PGP message successfully decrypted" ++msgstr "Mensagem PGP decriptada com sucesso" ++ ++#: ncrypt/crypt_gpgme.c:3146 + msgid "Error: copy data failed\n" + msgstr "Erro: copiar dados falhou\n" + +-#: ncrypt/crypt_gpgme.c:3116 ncrypt/pgp.c:675 ++#: ncrypt/crypt_gpgme.c:3159 ncrypt/pgp.c:674 + msgid "" + "[-- BEGIN PGP MESSAGE --]\n" + "\n" +@@ -4047,11 +4129,11 @@ msgstr "" + "[-- INÍCIO DE MENSAGEM DO PGP --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3118 ncrypt/pgp.c:677 ++#: ncrypt/crypt_gpgme.c:3161 ncrypt/pgp.c:676 + msgid "[-- BEGIN PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- INÍCIO DE BLOCO DE CHAVE PÚBLICA DO PGP --]\n" + +-#: ncrypt/crypt_gpgme.c:3120 ncrypt/pgp.c:679 ++#: ncrypt/crypt_gpgme.c:3163 ncrypt/pgp.c:678 + msgid "" + "[-- BEGIN PGP SIGNED MESSAGE --]\n" + "\n" +@@ -4059,29 +4141,29 @@ msgstr "" + "[-- INÍCIO DE MENSAGEM ASSINADA POR PGP --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3145 ncrypt/pgp.c:716 ++#: ncrypt/crypt_gpgme.c:3188 ncrypt/pgp.c:715 + msgid "[-- END PGP MESSAGE --]\n" + msgstr "[-- FIM DE MENSAGEM DO PGP --]\n" + +-#: ncrypt/crypt_gpgme.c:3147 ncrypt/pgp.c:730 ++#: ncrypt/crypt_gpgme.c:3190 ncrypt/pgp.c:729 + msgid "[-- END PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- FIM DE BLOCO DE CHAVE PÚBLICA DO PGP --]\n" + +-#: ncrypt/crypt_gpgme.c:3149 ncrypt/pgp.c:732 ++#: ncrypt/crypt_gpgme.c:3192 ncrypt/pgp.c:731 + msgid "[-- END PGP SIGNED MESSAGE --]\n" + msgstr "[-- FIM DE MENSAGEM ASSINADA POR PGP --]\n" + +-#: ncrypt/crypt_gpgme.c:3170 ncrypt/pgp.c:765 ++#: ncrypt/crypt_gpgme.c:3213 ncrypt/pgp.c:764 + msgid "" + "[-- Error: could not find beginning of PGP message --]\n" + "\n" + msgstr "[-- Erro: não foi possível encontrar o início da mensagem do PGP --]\n" + +-#: ncrypt/crypt_gpgme.c:3198 ncrypt/crypt_gpgme.c:3296 ncrypt/pgp.c:1218 ++#: ncrypt/crypt_gpgme.c:3241 ncrypt/crypt_gpgme.c:3339 ncrypt/pgp.c:1218 + msgid "[-- Error: could not create temporary file --]\n" + msgstr "[-- Erro: não foi possível criar um arquivo temporário --]\n" + +-#: ncrypt/crypt_gpgme.c:3212 ++#: ncrypt/crypt_gpgme.c:3255 + msgid "" + "[-- The following data is PGP/MIME signed and encrypted --]\n" + "\n" +@@ -4089,7 +4171,7 @@ msgstr "" + "[-- Os dados a seguir estão assinados e encriptados com PGP/MIME --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3214 ncrypt/pgp.c:1231 ++#: ncrypt/crypt_gpgme.c:3257 ncrypt/pgp.c:1232 + msgid "" + "[-- The following data is PGP/MIME encrypted --]\n" + "\n" +@@ -4097,24 +4179,20 @@ msgstr "" + "[-- Os dados a seguir estão encriptados com PGP/MIME --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3254 ++#: ncrypt/crypt_gpgme.c:3297 + msgid "[-- End of PGP/MIME signed and encrypted data --]\n" + msgstr "[-- Fim dos dados assinados e encriptados com PGP/MIME --]\n" + +-#: ncrypt/crypt_gpgme.c:3255 ncrypt/pgp.c:1267 ++#: ncrypt/crypt_gpgme.c:3298 ncrypt/pgp.c:1268 + msgid "[-- End of PGP/MIME encrypted data --]\n" + msgstr "[-- Fim dos dados encriptados com PGP/MIME --]\n" + +-#: ncrypt/crypt_gpgme.c:3259 ncrypt/pgp.c:727 ncrypt/pgp.c:1272 +-msgid "PGP message successfully decrypted" +-msgstr "Mensagem PGP decriptada com sucesso" +- +-#: ncrypt/crypt_gpgme.c:3265 ncrypt/pgp.c:666 ncrypt/pgp.c:718 +-#: ncrypt/pgp.c:1276 ++#: ncrypt/crypt_gpgme.c:3308 ncrypt/pgp.c:665 ncrypt/pgp.c:717 ++#: ncrypt/pgp.c:1277 + msgid "Could not decrypt PGP message" + msgstr "Incapaz de decriptar mensagem PGP" + +-#: ncrypt/crypt_gpgme.c:3310 ++#: ncrypt/crypt_gpgme.c:3353 + msgid "" + "[-- The following data is S/MIME signed --]\n" + "\n" +@@ -4122,7 +4200,7 @@ msgstr "" + "[-- Os dados a seguir estão assinados com S/MIME --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3311 ++#: ncrypt/crypt_gpgme.c:3354 + msgid "" + "[-- The following data is S/MIME encrypted --]\n" + "\n" +@@ -4130,34 +4208,34 @@ msgstr "" + "[-- Os dados a seguir estão encriptados com S/MIME --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3358 ++#: ncrypt/crypt_gpgme.c:3401 + msgid "[-- End of S/MIME signed data --]\n" + msgstr "[-- Fim dos dados assinados com S/MIME --]\n" + +-#: ncrypt/crypt_gpgme.c:3359 ++#: ncrypt/crypt_gpgme.c:3402 + msgid "[-- End of S/MIME encrypted data --]\n" + msgstr "[-- Fim dos dados encriptados com S/MIME --]\n" + +-#: ncrypt/crypt_gpgme.c:4029 ++#: ncrypt/crypt_gpgme.c:4077 + msgid "[Can't display this user ID (unknown encoding)]" + msgstr "[Incapaz de exibir esta ID de usuário (codificação desconhecida)]" + +-#: ncrypt/crypt_gpgme.c:4031 ++#: ncrypt/crypt_gpgme.c:4079 + msgid "[Can't display this user ID (invalid encoding)]" + msgstr "[Incapaz de exibir esta ID de usuário (codificação inválida)]" + +-#: ncrypt/crypt_gpgme.c:4036 ++#: ncrypt/crypt_gpgme.c:4084 + msgid "[Can't display this user ID (invalid DN)]" + msgstr "[Incapaz de exibir esta ID de usuário (DN inválido)]" + + #. L10N: comes after the Name or aka if the key is invalid + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4150 ncrypt/crypt_gpgme.c:4291 ++#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4339 + msgid "[Invalid]" + msgstr "[Inválido]" + + #. L10N: This is printed after "Key Type: " and looks like this: PGP, 2048 bit RSA +-#: ncrypt/crypt_gpgme.c:4190 ncrypt/crypt_gpgme.c:4331 ++#: ncrypt/crypt_gpgme.c:4238 ncrypt/crypt_gpgme.c:4379 + #, c-format + msgid "%s, %lu bit %s\n" + msgid_plural "%s, %lu bit %s\n" +@@ -4165,94 +4243,94 @@ msgstr[0] "%s, %lu bit %s\n" + msgstr[1] "%s, %lu bit %s\n" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4338 ++#: ncrypt/crypt_gpgme.c:4246 ncrypt/crypt_gpgme.c:4386 + msgid "encryption" + msgstr "encriptação" + +-#: ncrypt/crypt_gpgme.c:4199 ncrypt/crypt_gpgme.c:4205 +-#: ncrypt/crypt_gpgme.c:4339 ncrypt/crypt_gpgme.c:4344 ++#: ncrypt/crypt_gpgme.c:4247 ncrypt/crypt_gpgme.c:4253 ++#: ncrypt/crypt_gpgme.c:4387 ncrypt/crypt_gpgme.c:4392 + msgid ", " + msgstr ", " + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4204 ncrypt/crypt_gpgme.c:4343 ++#: ncrypt/crypt_gpgme.c:4252 ncrypt/crypt_gpgme.c:4391 + msgid "signing" + msgstr "assinando" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4210 ncrypt/crypt_gpgme.c:4348 ++#: ncrypt/crypt_gpgme.c:4258 ncrypt/crypt_gpgme.c:4396 + msgid "certification" + msgstr "certificação" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4285 ++#: ncrypt/crypt_gpgme.c:4333 + msgid "[Revoked]" + msgstr "[Revogado]" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4297 ++#: ncrypt/crypt_gpgme.c:4345 + msgid "[Expired]" + msgstr "[Expirado]" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4303 ++#: ncrypt/crypt_gpgme.c:4351 + msgid "[Disabled]" + msgstr "[Desabilitado]" + +-#: ncrypt/crypt_gpgme.c:4376 ++#: ncrypt/crypt_gpgme.c:4424 + msgid "Collecting data..." + msgstr "Coletando dados..." + +-#: ncrypt/crypt_gpgme.c:4394 ++#: ncrypt/crypt_gpgme.c:4442 + #, c-format + msgid "Error finding issuer key: %s\n" + msgstr "Erro ao procurar emissor da chave: %s\n" + +-#: ncrypt/crypt_gpgme.c:4403 ++#: ncrypt/crypt_gpgme.c:4451 + msgid "Error: certification chain too long - stopping here\n" + msgstr "Erro: cadeia de certificação longa demais - parando aqui\n" + +-#: ncrypt/crypt_gpgme.c:4413 ncrypt/pgpkey.c:733 ++#: ncrypt/crypt_gpgme.c:4461 ncrypt/pgpkey.c:766 + #, c-format + msgid "Key ID: 0x%s" + msgstr "Key ID: 0x%s" + +-#: ncrypt/crypt_gpgme.c:4538 ncrypt/crypt_gpgme.c:4589 ++#: ncrypt/crypt_gpgme.c:4586 ncrypt/crypt_gpgme.c:4637 + #, c-format + msgid "gpgme_op_keylist_start failed: %s" + msgstr "gpgme_op_keylist_start falhou: %s" + +-#: ncrypt/crypt_gpgme.c:4577 ncrypt/crypt_gpgme.c:4619 +-#: ncrypt/crypt_gpgme.c:5355 ++#: ncrypt/crypt_gpgme.c:4625 ncrypt/crypt_gpgme.c:4667 ++#: ncrypt/crypt_gpgme.c:5435 + #, c-format + msgid "gpgme_op_keylist_next failed: %s" + msgstr "gpgme_op_keylist_next falhou: %s" + +-#: ncrypt/crypt_gpgme.c:4701 ++#: ncrypt/crypt_gpgme.c:4749 + msgid "All matching keys are marked expired/revoked" + msgstr "Todas chaves coincidentes estão expiradas/revogadas" + +-#: ncrypt/crypt_gpgme.c:4731 ncrypt/pgpkey.c:666 ncrypt/smime.c:551 ++#: ncrypt/crypt_gpgme.c:4779 ncrypt/pgpkey.c:669 ncrypt/smime.c:553 + msgid "Select " + msgstr "Escolher " + +-#: ncrypt/crypt_gpgme.c:4733 ncrypt/pgpkey.c:668 ++#: ncrypt/crypt_gpgme.c:4781 ncrypt/pgpkey.c:671 + msgid "Check key " + msgstr "Verificar chave " + +-#: ncrypt/crypt_gpgme.c:4749 ++#: ncrypt/crypt_gpgme.c:4827 + msgid "PGP and S/MIME keys matching" + msgstr "Chaves PGP e S/MIME que coincidem" + +-#: ncrypt/crypt_gpgme.c:4751 ++#: ncrypt/crypt_gpgme.c:4829 + msgid "PGP keys matching" + msgstr "Chaves PGP que coincidem" + +-#: ncrypt/crypt_gpgme.c:4753 ++#: ncrypt/crypt_gpgme.c:4831 + msgid "S/MIME keys matching" + msgstr "Chaves do S/MIME que coincidem" + +-#: ncrypt/crypt_gpgme.c:4755 ++#: ncrypt/crypt_gpgme.c:4833 + msgid "keys matching" + msgstr "Chaves que coincidem" + +@@ -4260,55 +4338,55 @@ msgstr "Chaves que coincidem" + #. %1$s is one of the previous four entries. + #. %2$s is an address. + #. e.g. "S/MIME keys matching " +-#: ncrypt/crypt_gpgme.c:4763 ++#: ncrypt/crypt_gpgme.c:4841 + #, c-format + msgid "%s <%s>" + msgstr "%s <%s>" + + #. L10N: e.g. 'S/MIME keys matching "Michael Elkins".' +-#: ncrypt/crypt_gpgme.c:4768 ++#: ncrypt/crypt_gpgme.c:4846 + #, c-format + msgid "%s \"%s\"" + msgstr "%s \"%s\"" + +-#: ncrypt/crypt_gpgme.c:4796 ncrypt/pgpkey.c:754 ++#: ncrypt/crypt_gpgme.c:4874 ncrypt/pgpkey.c:787 + msgid "This key can't be used: expired/disabled/revoked" + msgstr "Esta chave não pode ser usada: expirada/desabilitada/revogada" + +-#: ncrypt/crypt_gpgme.c:4810 ncrypt/pgpkey.c:767 ncrypt/smime.c:581 ++#: ncrypt/crypt_gpgme.c:4888 ncrypt/pgpkey.c:800 ncrypt/smime.c:613 + msgid "ID is expired/disabled/revoked. Do you really want to use the key?" + msgstr "ID expirada/desabilitada/revogada. Você realmente quer usar esta chave?" + +-#: ncrypt/crypt_gpgme.c:4820 ncrypt/pgpkey.c:779 ++#: ncrypt/crypt_gpgme.c:4898 ncrypt/pgpkey.c:812 + msgid "ID is not valid. Do you really want to use the key?" + msgstr "ID inválida. Você realmente quer usar esta chave?" + +-#: ncrypt/crypt_gpgme.c:4823 ncrypt/pgpkey.c:782 ++#: ncrypt/crypt_gpgme.c:4901 ncrypt/pgpkey.c:815 + msgid "ID is only marginally valid. Do you really want to use the key?" + msgstr "ID apenas marginalmente válida. Você realmente quer usar esta chave?" + +-#: ncrypt/crypt_gpgme.c:4831 ncrypt/pgpkey.c:775 ncrypt/smime.c:585 ++#: ncrypt/crypt_gpgme.c:4909 ncrypt/pgpkey.c:808 ncrypt/smime.c:617 + msgid "ID has undefined validity. Do you really want to use the key?" + msgstr "ID tem validade indefinida. Você realmente quer usar esta chave?" + +-#: ncrypt/crypt_gpgme.c:4911 ncrypt/crypt_gpgme.c:5024 ncrypt/pgpkey.c:1019 +-#: ncrypt/pgpkey.c:1146 ++#: ncrypt/crypt_gpgme.c:4991 ncrypt/crypt_gpgme.c:5104 ncrypt/pgpkey.c:1054 ++#: ncrypt/pgpkey.c:1181 + #, c-format + msgid "Looking for keys matching \"%s\"..." + msgstr "Procurando por chaves que casam com \"%s\"..." + +-#: ncrypt/crypt_gpgme.c:5140 ncrypt/pgpkey.c:870 ncrypt/smime.c:924 ++#: ncrypt/crypt_gpgme.c:5220 ncrypt/pgpkey.c:905 ncrypt/smime.c:958 + #, c-format + msgid "No matching keys found for \"%s\"" + msgstr "Nenhuma chave coincidente encontrada para \"%s\"" + +-#: ncrypt/crypt_gpgme.c:5190 ncrypt/pgp.c:1456 ++#: ncrypt/crypt_gpgme.c:5270 ncrypt/pgp.c:1457 + #, c-format + msgid "Use keyID = \"%s\" for %s?" + msgstr "Usar keyID = \"%s\" para %s?" + +-#: ncrypt/crypt_gpgme.c:5238 ncrypt/pgp.c:1505 ncrypt/smime.c:944 +-#: ncrypt/smime.c:1049 ++#: ncrypt/crypt_gpgme.c:5318 ncrypt/pgp.c:1506 ncrypt/smime.c:978 ++#: ncrypt/smime.c:1083 + #, c-format + msgid "Enter keyID for %s: " + msgstr "Entre a keyID para %s: " +@@ -4317,15 +4395,15 @@ msgstr "Entre a keyID para %s: " + #. mutt_gpgme_select_secret_key() tries to list all secret keys to choose + #. from. This error is displayed if no results were found. + #. +-#: ncrypt/crypt_gpgme.c:5364 ++#: ncrypt/crypt_gpgme.c:5444 + msgid "No secret keys found" + msgstr "Nenhuma chave secreta encontrada" + +-#: ncrypt/crypt_gpgme.c:5398 ncrypt/pgpkey.c:888 ++#: ncrypt/crypt_gpgme.c:5478 ncrypt/pgpkey.c:923 + msgid "Please enter the key ID: " + msgstr "Por favor entre o key ID: " + +-#: ncrypt/crypt_gpgme.c:5411 ++#: ncrypt/crypt_gpgme.c:5491 + #, c-format + msgid "Error exporting key: %s" + msgstr "Erro ao exportar chave: %s" +@@ -4333,92 +4411,92 @@ msgstr "Erro ao exportar chave: %s" + #. 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. +-#: ncrypt/crypt_gpgme.c:5429 ++#: ncrypt/crypt_gpgme.c:5509 + #, c-format + msgid "PGP Key 0x%s" + msgstr "Chave do PGP 0x%s" + +-#: ncrypt/crypt_gpgme.c:5474 ++#: ncrypt/crypt_gpgme.c:5554 + msgid "GPGME: OpenPGP protocol not available" + msgstr "GPGME: protocolo OpenPGP indisponível" + +-#: ncrypt/crypt_gpgme.c:5485 ++#: ncrypt/crypt_gpgme.c:5565 + msgid "GPGME: CMS protocol not available" + msgstr "GPGME: protocolo CMS indisponível" + +-#: ncrypt/crypt_gpgme.c:5536 ++#: ncrypt/crypt_gpgme.c:5616 + msgid "S/MIME (s)ign, sign (a)s, (p)gp, (c)lear, or (o)ppenc mode off?" + msgstr "(s)assinar S/MIME, (a)assinar como, (p)pgp, (c)limpar, (o)desligar modo oppenc?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5538 ++#: ncrypt/crypt_gpgme.c:5618 + msgid "sapco" + msgstr "sapco" + +-#: ncrypt/crypt_gpgme.c:5545 ++#: ncrypt/crypt_gpgme.c:5625 + msgid "PGP (s)ign, sign (a)s, s/(m)ime, (c)lear, or (o)ppenc mode off?" + msgstr "(s)assinar PGP, (a)assinar como, (m)s/mime, (c)limpar, (o)desligar modo oppenc?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5547 ++#: ncrypt/crypt_gpgme.c:5627 + msgid "samco" + msgstr "samco" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5557 ++#: ncrypt/crypt_gpgme.c:5637 + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp, (c)lear, or (o)ppenc mode?" + msgstr "(e)encriptar, (s)assinar, (a)assinar como, (b)ambos, (p)pgp, (c)limpar, ou (o)oppenc?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5560 ++#: ncrypt/crypt_gpgme.c:5640 + msgid "esabpco" + msgstr "esabpco" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5566 ++#: ncrypt/crypt_gpgme.c:5646 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime, (c)lear, or (o)ppenc mode?" + msgstr "(e)encriptar, (s)assinar, (a)assinar como, (b)ambos, (m)s/mime, (c)limpar, ou (o)oppenc?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5569 ++#: ncrypt/crypt_gpgme.c:5649 + msgid "esabmco" + msgstr "esabmco" + +-#: ncrypt/crypt_gpgme.c:5580 ++#: ncrypt/crypt_gpgme.c:5660 + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp or (c)lear?" + msgstr "(e)encriptar com S/MIME, (s)assinar, (a)assinar como, (b)ambos, (p)pgp, ou (c)limpar" + + #. L10N: S/MIME options +-#: ncrypt/crypt_gpgme.c:5582 ++#: ncrypt/crypt_gpgme.c:5662 + msgid "esabpc" + msgstr "esabpc" + +-#: ncrypt/crypt_gpgme.c:5589 ++#: ncrypt/crypt_gpgme.c:5669 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime or (c)lear?" + msgstr "(e)encriptar com PGP, (s)assinar, (a)assinar como, (b)ambos, (m)s/mime, ou (c)limpar" + + #. L10N: PGP options +-#: ncrypt/crypt_gpgme.c:5591 ++#: ncrypt/crypt_gpgme.c:5671 + msgid "esabmc" + msgstr "esabmc" + +-#: ncrypt/crypt_gpgme.c:5751 ++#: ncrypt/crypt_gpgme.c:5831 + msgid "Failed to verify sender" + msgstr "Falha ao verificar remetente" + +-#: ncrypt/crypt_gpgme.c:5754 ++#: ncrypt/crypt_gpgme.c:5834 + msgid "Failed to figure out sender" + msgstr "Falha ao descobrir remetente" + +-#: ncrypt/pgp.c:108 ++#: ncrypt/pgp.c:107 + msgid "Enter PGP passphrase:" + msgstr "Entre a senha do PGP:" + +-#: ncrypt/pgp.c:595 ++#: ncrypt/pgp.c:594 + msgid "[-- Error: unable to create PGP subprocess --]\n" + msgstr "[-- Erro: não foi possível criar o subprocesso do PGP --]\n" + +-#: ncrypt/pgp.c:644 ncrypt/pgp.c:926 ncrypt/pgp.c:1086 ++#: ncrypt/pgp.c:643 ncrypt/pgp.c:925 ncrypt/pgp.c:1085 + msgid "" + "[-- End of PGP output --]\n" + "\n" +@@ -4429,15 +4507,15 @@ msgstr "" + #. L10N: You will see this error message if (1) you are decrypting + #. (not encrypting) something and (2) it is a plaintext. So the + #. message does not mean "You failed to encrypt the message." +-#: ncrypt/pgp.c:724 ++#: ncrypt/pgp.c:723 + msgid "PGP message is not encrypted" + msgstr "Mensagem PGP não criptografada" + +-#: ncrypt/pgp.c:978 ++#: ncrypt/pgp.c:977 + msgid "Internal error. Please submit a bug report." + msgstr "Erro interno. Por favor submeta um relatório de problema (bug report)." + +-#: ncrypt/pgp.c:1043 ++#: ncrypt/pgp.c:1042 + msgid "" + "[-- Error: could not create a PGP subprocess --]\n" + "\n" +@@ -4445,125 +4523,125 @@ msgstr "" + "[-- Erro: não foi possível criar um subprocesso para o PGP --]\n" + "\n" + +-#: ncrypt/pgp.c:1073 ncrypt/pgp.c:1098 ncrypt/smime.c:2143 postpone.c:757 +-#: postpone.c:785 ++#: ncrypt/pgp.c:1072 ncrypt/pgp.c:1097 ncrypt/smime.c:2177 postpone.c:803 ++#: postpone.c:831 + msgid "Decryption failed" + msgstr "Desencriptação falhou" + +-#: ncrypt/pgp.c:1333 ++#: ncrypt/pgp.c:1334 + msgid "Can't open PGP subprocess" + msgstr "Não foi possível abrir o subprocesso do PGP" + +-#: ncrypt/pgp.c:1768 ++#: ncrypt/pgp.c:1770 + msgid "Can't invoke PGP" + msgstr "Não foi possível executar o PGP" + + #. L10N: The next string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1875 ++#: ncrypt/pgp.c:1877 + msgid "PGP/M(i)ME" + msgstr "PGP/M(i)ME" + + #. L10N: The previous string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1881 ++#: ncrypt/pgp.c:1883 + msgid "(i)nline" + msgstr "i)incorporado" + + #. L10N: PGP options (inline) (opportunistic encryption is on) +-#: ncrypt/pgp.c:1893 ++#: ncrypt/pgp.c:1895 + #, c-format + msgid "PGP (s)ign, sign (a)s, %s format, (c)lear, or (o)ppenc mode off?" + msgstr "(s)assinar com PGP, (a) assinar como, %s format, (c)limpar, ou (o)desligar modo oppenc?" + + #. L10N: PGP options (inline) (opportunistic encryption is on) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1899 ++#: ncrypt/pgp.c:1901 + msgid "saico" + msgstr "saico" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1905 ++#: ncrypt/pgp.c:1907 + msgid "PGP (s)ign, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "(s)assinar com PGP, (a) assinar como, (c)limpar, ou (o)desligar modo oppenc?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1907 ++#: ncrypt/pgp.c:1909 + msgid "saco" + msgstr "saco" + + #. L10N: PGP options (inline) (opportunistic encryption is off) +-#: ncrypt/pgp.c:1921 ++#: ncrypt/pgp.c:1923 + #, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, (c)lear, or (o)ppenc mode?" + msgstr "(e)encriptar, (s)assinar, (a)assinar como, (b)ambos, %s format, (c)limpar, ou (o)modo oppenc?" + + #. L10N: PGP options (inline) (opportunistic encryption is off) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1927 ++#: ncrypt/pgp.c:1929 + msgid "esabico" + msgstr "esabico" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1933 ++#: ncrypt/pgp.c:1935 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "(e)encriptar com PGP, (s)assinar, (a)assinar como, (b)ambos, (c)limpar, ou (o)modo oppenc?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1936 ++#: ncrypt/pgp.c:1938 + msgid "esabco" + msgstr "esabco" + + #. L10N: PGP options (inline) +-#: ncrypt/pgp.c:1947 ++#: ncrypt/pgp.c:1949 + #, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, or (c)lear?" + msgstr "(e)encriptar com PGP, (s)assinar, (a)assinar como, (b)ambos, %s format, ou (c)limpar?" + + #. L10N: PGP options (inline) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1953 ++#: ncrypt/pgp.c:1955 + msgid "esabic" + msgstr "esabic" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1959 ++#: ncrypt/pgp.c:1961 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (c)lear?" + msgstr "(e)encriptar com PGP, (s)assinar, (a)assinar como, (b)ambos, ou (c)limpar?" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1961 ++#: ncrypt/pgp.c:1963 + msgid "esabc" + msgstr "esabc" + +-#: ncrypt/pgpinvoke.c:458 ++#: ncrypt/pgpinvoke.c:461 + msgid "Fetching PGP key..." + msgstr "Obtendo chave PGP..." + +-#: ncrypt/pgpkey.c:640 ++#: ncrypt/pgpkey.c:643 + msgid "All matching keys are expired, revoked, or disabled" + msgstr "Todas as chaves que coincidem estão expiradas, revogadas, ou desabilitadas" + +-#: ncrypt/pgpkey.c:681 ++#: ncrypt/pgpkey.c:714 + #, c-format + msgid "PGP keys matching <%s>" + msgstr "Chaves do PGP que casam com <%s>. " + +-#: ncrypt/pgpkey.c:683 ++#: ncrypt/pgpkey.c:716 + #, c-format + msgid "PGP keys matching \"%s\"" + msgstr "Chaves do PGP que casam com \"%s\"" + +-#: ncrypt/pgpkey.c:700 ncrypt/pgpkey.c:909 ++#: ncrypt/pgpkey.c:733 ncrypt/pgpkey.c:944 + msgid "Can't open /dev/null" + msgstr "Não foi possível abrir /dev/null" + +-#: ncrypt/pgpkey.c:938 ++#: ncrypt/pgpkey.c:973 + #, c-format + msgid "PGP Key %s" + msgstr "Chave do PGP %s" + +-#: ncrypt/smime.c:182 ++#: ncrypt/smime.c:180 + msgid "Enter S/MIME passphrase:" + msgstr "Entre com a senha do S/MIME:" + +@@ -4572,7 +4650,7 @@ msgstr "Entre com a senha do S/MIME:" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:460 ++#: ncrypt/smime.c:462 + msgid "Expired " + msgstr "Expirou " + +@@ -4581,7 +4659,7 @@ msgstr "Expirou " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:468 ++#: ncrypt/smime.c:470 + msgid "Invalid " + msgstr "Inválido " + +@@ -4590,7 +4668,7 @@ msgstr "Inválido " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:476 ++#: ncrypt/smime.c:478 + msgid "Revoked " + msgstr "Revogado " + +@@ -4599,7 +4677,7 @@ msgstr "Revogado " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:484 ++#: ncrypt/smime.c:486 + msgid "Trusted " + msgstr "Confiável " + +@@ -4608,7 +4686,7 @@ msgstr "Confiável " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:492 ++#: ncrypt/smime.c:494 + msgid "Unverified" + msgstr "Não verificado" + +@@ -4617,7 +4695,7 @@ msgstr "Não verificado" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:500 ++#: ncrypt/smime.c:502 + msgid "Verified " + msgstr "Verificado " + +@@ -4626,58 +4704,58 @@ msgstr "Verificado " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:508 ++#: ncrypt/smime.c:510 + msgid "Unknown " + msgstr "Desconhecido " + +-#: ncrypt/smime.c:545 ++#: ncrypt/smime.c:547 + #, c-format + msgid "S/MIME certificates matching \"%s\"" + msgstr "Certificados S/MIME que coincidem com \"%s\"" + +-#: ncrypt/smime.c:589 ++#: ncrypt/smime.c:621 + msgid "ID is not trusted. Do you really want to use the key?" + msgstr "ID não é confiável. Você realmente quer usar esta chave?" + +-#: ncrypt/smime.c:910 ++#: ncrypt/smime.c:944 + msgid "Enter keyID: " + msgstr "Entre com a keyID: " + +-#: ncrypt/smime.c:1055 ++#: ncrypt/smime.c:1089 + #, c-format + msgid "No (valid) certificate found for %s" + msgstr "Nenhum certificado (válido) encontrado para %s" + +-#: ncrypt/smime.c:1108 ncrypt/smime.c:1137 ncrypt/smime.c:1209 +-#: ncrypt/smime.c:1243 ncrypt/smime.c:1319 ncrypt/smime.c:1399 ++#: ncrypt/smime.c:1142 ncrypt/smime.c:1171 ncrypt/smime.c:1243 ++#: ncrypt/smime.c:1277 ncrypt/smime.c:1353 ncrypt/smime.c:1433 + msgid "Error: unable to create OpenSSL subprocess" + msgstr "Erro: incapaz de criar subprocesso OpenSSL" + +-#: ncrypt/smime.c:1379 ++#: ncrypt/smime.c:1413 + msgid "Label for certificate: " + msgstr "Rótulo para certificado: " + +-#: ncrypt/smime.c:1480 ++#: ncrypt/smime.c:1514 + msgid "no certfile" + msgstr "Não há arquivo de certificação" + +-#: ncrypt/smime.c:1483 ++#: ncrypt/smime.c:1517 + msgid "no mbox" + msgstr "nenhuma caixa de mensagens (mbox)" + +-#: ncrypt/smime.c:1640 ncrypt/smime.c:1810 ++#: ncrypt/smime.c:1674 ncrypt/smime.c:1844 + msgid "No output from OpenSSL..." + msgstr "Nenhuma saída proveniente do OpenSSL..." + +-#: ncrypt/smime.c:1727 ++#: ncrypt/smime.c:1761 + msgid "Can't sign: No key specified. Use Sign As." + msgstr "Incapaz de assinar: nenhuma chave especificada. Use 'assinar como'." + +-#: ncrypt/smime.c:1777 ++#: ncrypt/smime.c:1811 + msgid "Can't open OpenSSL subprocess" + msgstr "Incapaz de abrir subprocesso OpenSSL" + +-#: ncrypt/smime.c:2004 ncrypt/smime.c:2123 ++#: ncrypt/smime.c:2038 ncrypt/smime.c:2157 + msgid "" + "[-- End of OpenSSL output --]\n" + "\n" +@@ -4685,19 +4763,19 @@ msgstr "" + "[-- Fim da saída do OpenSSL --]\n" + "\n" + +-#: ncrypt/smime.c:2080 ncrypt/smime.c:2093 ++#: ncrypt/smime.c:2114 ncrypt/smime.c:2127 + msgid "[-- Error: unable to create OpenSSL subprocess --]\n" + msgstr "[-- Erro: incapaz de criar subprocesso OpenSSL --]\n" + +-#: ncrypt/smime.c:2129 ++#: ncrypt/smime.c:2163 + msgid "[-- The following data is S/MIME encrypted --]\n" + msgstr "[-- Os dados a seguir estão encriptados com S/MIME --]\n" + +-#: ncrypt/smime.c:2132 ++#: ncrypt/smime.c:2166 + msgid "[-- The following data is S/MIME signed --]\n" + msgstr "[-- Os dados a seguir estão assinados com S/MIME --]\n" + +-#: ncrypt/smime.c:2225 ++#: ncrypt/smime.c:2259 + msgid "" + "\n" + "[-- End of S/MIME encrypted data. --]\n" +@@ -4705,7 +4783,7 @@ msgstr "" + "\n" + "[-- Fim dos dados encriptados com S/MIME --]\n" + +-#: ncrypt/smime.c:2227 ++#: ncrypt/smime.c:2261 + msgid "" + "\n" + "[-- End of S/MIME signed data. --]\n" +@@ -4714,160 +4792,160 @@ msgstr "" + "[-- Fim dos dados assinados com S/MIME --]\n" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2361 ++#: ncrypt/smime.c:2395 + msgid "S/MIME (s)ign, encrypt (w)ith, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "(s)assinar com S/MIME, (w)encriptar com, (a)assinar como, (c)limpar, ou (o)modo oppenc desligado?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2364 ++#: ncrypt/smime.c:2398 + msgid "swaco" + msgstr "swaco" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2372 ++#: ncrypt/smime.c:2406 + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "(e)encriptar com S/MIME, (s)assinar, (w)encriptar com, (a)assinar como, (b)ambos, (c)limpar, ou (o)modo oppenc?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2375 ++#: ncrypt/smime.c:2409 + msgid "eswabco" + msgstr "eswabco" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2382 ++#: ncrypt/smime.c:2416 + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, or (c)lear?" + msgstr "(e)encriptar com S/MIME, (s)assinar, (w)encriptar com, (a)assinar como, (b)ambos, (c)limpar?" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2385 ++#: ncrypt/smime.c:2419 + msgid "eswabc" + msgstr "eswabc" + +-#: ncrypt/smime.c:2449 ++#: ncrypt/smime.c:2483 + msgid "Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear?" + msgstr "Escolha uma família de algorítimos: (1) DES, (2) RC2, (3) AES, or (c)limpar?" + + #. L10N: Options for: Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear? +-#: ncrypt/smime.c:2452 ++#: ncrypt/smime.c:2486 + msgid "123c" + msgstr "123c" + +-#: ncrypt/smime.c:2455 ++#: ncrypt/smime.c:2489 + msgid "(1) DES, (2) Triple-DES?" + msgstr "(1) DES, (2) Triple-DES?" + + #. L10N: Options for: (1) DES, (2) Triple-DES +-#: ncrypt/smime.c:2457 ++#: ncrypt/smime.c:2491 + msgid "12" + msgstr "12" + +-#: ncrypt/smime.c:2470 ++#: ncrypt/smime.c:2504 + msgid "(1) RC2-40, (2) RC2-64, (3) RC2-128?" + msgstr "(1) RC2-40, (2) RC2-64, (3) RC2-128?" + + #. L10N: Options for: (1) RC2-40, (2) RC2-64, (3) RC2-128 + #. L10N: Options for: (1) AES128, (2) AES192, (3) AES256 +-#: ncrypt/smime.c:2472 ncrypt/smime.c:2490 ++#: ncrypt/smime.c:2506 ncrypt/smime.c:2524 + msgid "123" + msgstr "123" + +-#: ncrypt/smime.c:2488 ++#: ncrypt/smime.c:2522 + msgid "(1) AES128, (2) AES192, (3) AES256?" + msgstr "(1) AES128, (2) AES192, (3) AES256?" + +-#: nntp/newsrc.c:632 ++#: nntp/newsrc.c:639 + msgid "Loading list of groups from cache..." + msgstr "Carregando lista de grupos do cachê..." + +-#: nntp/newsrc.c:997 ++#: nntp/newsrc.c:1023 + msgid "No news server defined" + msgstr "Nenhum servidor de notícias configurado" + +-#: nntp/newsrc.c:1012 ++#: nntp/newsrc.c:1041 + #, c-format + msgid "%s is an invalid news server specification" + msgstr "%s é uma especificação inválida para servidor de notícias" + +-#: nntp/nntp.c:236 nntp/nntp.c:777 pop/pop.c:742 pop/pop_lib.c:398 ++#: nntp/nntp.c:238 nntp/nntp.c:779 pop/pop.c:742 pop/pop_lib.c:424 + msgid "Server closed connection" + msgstr "O servidor fechou a conexão" + +-#: nntp/nntp.c:340 ++#: nntp/nntp.c:342 + msgid "Server doesn't support reader mode" + msgstr "Servidor não oferece suporte a modo leitura" + +-#: nntp/nntp.c:576 pop/pop_auth.c:504 smtp.c:650 ++#: nntp/nntp.c:578 pop/pop_auth.c:505 smtp.c:675 + msgid "No authenticators available" + msgstr "Nenum autenticador disponível." + +-#: nntp/nntp.c:766 ++#: nntp/nntp.c:768 + #, c-format + msgid "%s authentication failed" + msgstr "Autenticação %s falhou" + +-#: nntp/nntp.c:826 ++#: nntp/nntp.c:828 + #, c-format + msgid "Connection to %s lost. Reconnect?" + msgstr "A conexão com %s foi perdida. Reconetar?" + +-#: nntp/nntp.c:1285 ++#: nntp/nntp.c:1287 + msgid "Fetching list of articles..." + msgstr "Obtendo lista de artigos..." + +-#: nntp/nntp.c:1549 nntp/nntp.c:2138 pop/pop.c:614 pop/pop.c:910 ++#: nntp/nntp.c:1551 nntp/nntp.c:2140 pop/pop.c:614 pop/pop.c:905 + msgid "Checking for new messages..." + msgstr "Verificando por novas mensagens..." + +-#: nntp/nntp.c:1864 nntp/nntp.c:1954 ++#: nntp/nntp.c:1866 nntp/nntp.c:1956 + msgid "Could not switch to reader mode" + msgstr "Incapaz de mudar para modo leitor" + +-#: nntp/nntp.c:1877 ++#: nntp/nntp.c:1879 + #, c-format + msgid "Connected to %s. %s" + msgstr "Conectado com %s. %s" + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + msgid "Posting is ok" + msgstr "Postagem está ok" + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + msgid "Posting is NOT ok" + msgstr "Postagem NÃO está ok" + +-#: nntp/nntp.c:2008 nntp/nntp.c:2043 ++#: nntp/nntp.c:2010 nntp/nntp.c:2045 + #, c-format + msgid "Can't post article: %s" + msgstr "Incapaz de postar artigo: %s" + +-#: nntp/nntp.c:2064 ++#: nntp/nntp.c:2066 + #, c-format + msgid "Loading list of groups from server %s..." + msgstr "Carregando lista de grupos do servidor %s..." + +-#: nntp/nntp.c:2106 nntp/nntp.c:2198 ++#: nntp/nntp.c:2108 nntp/nntp.c:2200 + msgid "Loading descriptions..." + msgstr "Carregando descrições..." + +-#: nntp/nntp.c:2128 ++#: nntp/nntp.c:2130 + msgid "Checking for new newsgroups..." + msgstr "Verificando por novos grupos de notícias..." + +-#: nntp/nntp.c:2332 ++#: nntp/nntp.c:2334 + msgid "Unable to find child articles because server does not support XPAT command" + msgstr "Incapaz de encontrar artigos filhos pois o servidor não oferece suporte para o comando XPAT" + +-#: nntp/nntp.c:2437 ++#: nntp/nntp.c:2439 + #, c-format + msgid "%s is an invalid newsgroup specification" + msgstr "%s é uma especificação inválida para grupo de notícias" + +-#: nntp/nntp.c:2476 ++#: nntp/nntp.c:2478 + #, c-format + msgid "Newsgroup %s not found on the server" + msgstr "Grupo de notícias %s não encontrado no servidor" + +-#: nntp/nntp.c:2498 ++#: nntp/nntp.c:2500 + #, c-format + msgid "Newsgroup %s has been removed from the server" + msgstr "Grupo de notícias %s foi removido do servidor" +@@ -4879,8 +4957,8 @@ msgstr "falha ao interpretar consulta do tipo notmuch: %s" + + #: notmuch/mutt_notmuch.c:219 notmuch/mutt_notmuch.c:1939 + #, c-format +-msgid "failed to parse notmuch uri: %s" +-msgstr "falha ao interpretar uri do notmuch: %s" ++msgid "failed to parse notmuch url: %s" ++msgstr "falha ao interpretar url do notmuch: %s" + + #: notmuch/mutt_notmuch.c:449 + msgid "Invalid nm_query_window_timebase value (valid values are: hour, day, week, month or year)" +@@ -5970,182 +6048,182 @@ msgstr "alterna exibição da barra lateral" + msgid "show S/MIME options" + msgstr "mostra opções S/MIME" + +-#: pager.c:222 ++#: pager.c:214 + msgid "Not available in this menu" + msgstr "Indisponível neste menu" + +-#: pager.c:229 ++#: pager.c:221 + msgid "PrevPg" + msgstr "PagAnt" + +-#: pager.c:230 ++#: pager.c:222 + msgid "NextPg" + msgstr "ProxPag" + +-#: pager.c:235 ++#: pager.c:227 + msgid "View Attachm." + msgstr "Ver Anexo" + +-#: pager.c:238 pager.c:247 ++#: pager.c:230 pager.c:239 + msgid "Next" + msgstr "Prox" + + #. L10N: Status bar message: the entire email is visible in the pager + #. L10N: Status bar message: all the emails are visible in the index +-#: pager.c:2180 status.c:278 ++#: pager.c:2136 status.c:278 + msgid "all" + msgstr "tudo" + + #. L10N: Status bar message: the end of the email is visible in the pager + #. L10N: Status bar message: the end of the list emails is visible in the index +-#: pager.c:2182 status.c:276 ++#: pager.c:2138 status.c:276 + msgid "end" + msgstr "fim" + +-#: pager.c:2530 pager.c:2566 pager.c:2602 pager.c:2937 ++#: pager.c:2503 pager.c:2539 pager.c:2576 pager.c:2911 + msgid "Bottom of message is shown" + msgstr "O fim da mensagem está sendo mostrado" + +-#: pager.c:2543 pager.c:2573 pager.c:2580 pager.c:2590 ++#: pager.c:2516 pager.c:2546 pager.c:2553 pager.c:2564 + msgid "Top of message is shown" + msgstr "O início da mensagem está sendo mostrado" + +-#: pager.c:2840 ++#: pager.c:2814 + msgid "Help is currently being shown" + msgstr "A ajuda está sendo mostrada" + +-#: pager.c:2897 ++#: pager.c:2871 + msgid "No more quoted text" + msgstr "Não há mais texto citado" + +-#: pager.c:2914 ++#: pager.c:2888 + msgid "No more unquoted text after quoted text" + msgstr "Não há mais texto não-citado após o texto citado" + +-#: pattern.c:220 pattern.c:297 pattern.c:1046 ++#: pattern.c:221 pattern.c:298 pattern.c:1085 + #, c-format + msgid "Error in expression: %s" + msgstr "Erro na expressão: %s" + +-#: pattern.c:226 pattern.c:302 pattern.c:1052 ++#: pattern.c:227 pattern.c:303 pattern.c:1091 + msgid "Empty expression" + msgstr "Expressão vazia" + +-#: pattern.c:288 ++#: pattern.c:289 + msgid "No search command defined" + msgstr "Nenhum comando de busca definido" + +-#: pattern.c:326 ++#: pattern.c:327 + #, c-format + msgid "Running search command: %s ..." + msgstr "Executando comando de busca: %s ..." + +-#: pattern.c:417 ++#: pattern.c:441 pattern.c:456 + #, c-format + msgid "Invalid day of month: %s" + msgstr "Dia do mês inválido: %s" + +-#: pattern.c:431 ++#: pattern.c:446 pattern.c:470 + #, c-format + msgid "Invalid month: %s" + msgstr "Mês inválido: %s" + +-#: pattern.c:534 ++#: pattern.c:573 + #, c-format + msgid "Invalid relative date: %s" + msgstr "Data relativa inválida: %s" + +-#: pattern.c:842 pattern.c:975 ++#: pattern.c:881 pattern.c:1014 + msgid "No current message" + msgstr "Nenhuma mensagem atual" + +-#: pattern.c:1002 ++#: pattern.c:1041 + msgid "No Context" + msgstr "Sem Contexto" + +-#: pattern.c:1125 ++#: pattern.c:1164 + msgid "Error opening 'memory stream'" + msgstr "Erro ao abrir o fluxo para memória" + +-#: pattern.c:1171 ++#: pattern.c:1210 + msgid "Error re-opening 'memory stream'" + msgstr "Erro ao abrir novamente o fluxo para memória" + +-#: pattern.c:1180 ++#: pattern.c:1219 + msgid "Error opening /dev/null" + msgstr "Erro ao abrir /dev/null" + +-#: pattern.c:1443 pattern.c:1620 ++#: pattern.c:1482 pattern.c:1662 + #, c-format + msgid "error in pattern at: %s" + msgstr "erro no padrão em: %s" + +-#: pattern.c:1476 ++#: pattern.c:1515 + #, c-format + msgid "missing pattern: %s" + msgstr "faltam padrão: %s" + +-#: pattern.c:1494 pattern.c:1593 ++#: pattern.c:1533 pattern.c:1635 + #, c-format + msgid "mismatched parentheses: %s" + msgstr "parêntese sem um corresponente: %s" + +-#: pattern.c:1559 ++#: pattern.c:1598 + #, c-format + msgid "%c: invalid pattern modifier" + msgstr "%c: padrão de modificação inválido" + +-#: pattern.c:1564 ++#: pattern.c:1603 + #, c-format + msgid "%c: not supported in this mode" + msgstr "%c: não há suporte neste modo" + +-#: pattern.c:1576 ++#: pattern.c:1618 + msgid "missing parameter" + msgstr "faltam parâmetros" + +-#: pattern.c:1626 ++#: pattern.c:1668 + msgid "empty pattern" + msgstr "padrão vazio" + +-#: pattern.c:2080 pattern.c:2083 ++#: pattern.c:2202 pattern.c:2205 + msgid "error: server custom search only supported with IMAP" + msgstr "erro: busca personalizada no servidor somente suportada com IMAP" + +-#: pattern.c:2274 ++#: pattern.c:2398 + #, c-format + msgid "error: unknown op %d (report this error)" + msgstr "erro: operação %d desconhecida (relate este erro)" + +-#: pattern.c:2448 pattern.c:2604 ++#: pattern.c:2572 pattern.c:2728 + msgid "Compiling search pattern..." + msgstr "Compilando padrão de busca..." + +-#: pattern.c:2468 ++#: pattern.c:2592 + msgid "Executing command on matching messages..." + msgstr "Executando comando nas mensagens que casam..." + +-#: pattern.c:2537 ++#: pattern.c:2661 + msgid "No messages matched criteria" + msgstr "Nenhuma mensagem casa com o critério" + +-#: pattern.c:2641 ++#: pattern.c:2765 + msgid "Searching..." + msgstr "Buscando..." + +-#: pattern.c:2655 ++#: pattern.c:2779 + msgid "Search hit bottom without finding match" + msgstr "A busca chegou ao fim sem encontrar um resultado" + +-#: pattern.c:2666 ++#: pattern.c:2790 + msgid "Search hit top without finding match" + msgstr "A busca chegou ao início sem encontrar um resultado" + +-#: pattern.c:2700 ++#: pattern.c:2824 + msgid "Search interrupted" + msgstr "Busca interrompida" + +-#: pop/pop.c:216 pop/pop_lib.c:234 ++#: pop/pop.c:216 pop/pop_lib.c:259 + msgid "Command TOP is not supported by server" + msgstr "Não há suporte para o comando TOP neste servidor" + +@@ -6153,7 +6231,7 @@ msgstr "Não há suporte para o comando TOP neste servidor" + msgid "Can't write header to temporary file" + msgstr "Incapaz de gravar cabeçalho no arquivo temporário" + +-#: pop/pop.c:420 pop/pop_lib.c:236 ++#: pop/pop.c:420 pop/pop_lib.c:261 + msgid "Command UIDL is not supported by server" + msgstr "Não há suporte para o comando UIDL neste servidor" + +@@ -6168,7 +6246,7 @@ msgstr[1] "%d mensagens foram perdidas. Tente abrir a caixa de mensagens novamen + msgid "POP host is not defined" + msgstr "Servidor POP não está definido" + +-#: pop/pop.c:596 pop/pop.c:825 ++#: pop/pop.c:596 pop/pop.c:790 pop/pop.c:820 + #, c-format + msgid "%s is an invalid POP path" + msgstr "%s é um caminho POP inválido" +@@ -6201,152 +6279,152 @@ msgid_plural "%s [%d of %d messages read]" + msgstr[0] "%s [%d de %d mensagem lida]" + msgstr[1] "%s [%d de %d mensagens lidas]" + +-#: pop/pop.c:876 ++#: pop/pop.c:871 + msgid "Fetching list of messages..." + msgstr "Obtendo lista de mensagens..." + +-#: pop/pop.c:959 ++#: pop/pop.c:954 + msgid "Marking messages deleted..." + msgstr "Marcando mensagens como apagadas..." + +-#: pop/pop.c:1150 ++#: pop/pop.c:1145 + msgid "Can't write message to temporary file" + msgstr "Incapaz de gravar mensagem para o arquivo temporário" + +-#: pop/pop_auth.c:103 ++#: pop/pop_auth.c:104 + msgid "Authenticating (SASL)..." + msgstr "Autenticando (SASL)..." + +-#: pop/pop_auth.c:245 ++#: pop/pop_auth.c:246 + msgid "POP timestamp is invalid" + msgstr "Registro inválido de tempo (timestamp) POP" + +-#: pop/pop_auth.c:249 ++#: pop/pop_auth.c:250 + msgid "Authenticating (APOP)..." + msgstr "Autenticando (APOP)..." + +-#: pop/pop_auth.c:269 ++#: pop/pop_auth.c:270 + msgid "APOP authentication failed" + msgstr "Autenticação APOP falhou" + +-#: pop/pop_auth.c:309 ++#: pop/pop_auth.c:310 + msgid "Command USER is not supported by server" + msgstr "Não há suporte para o comando USER neste servidor" + +-#: pop/pop_auth.c:386 ++#: pop/pop_auth.c:387 + msgid "Authentication failed" + msgstr "Autenticação falhou." + +-#: pop/pop_lib.c:78 ++#: pop/pop_lib.c:103 + #, c-format + msgid "Invalid POP URL: %s" + msgstr "URL POP inválida: %s" + +-#: pop/pop_lib.c:232 ++#: pop/pop_lib.c:257 + msgid "Unable to leave messages on server" + msgstr "Incapaz de deixar mensagens no servidor" + +-#: pop/pop_lib.c:274 ++#: pop/pop_lib.c:300 + #, c-format + msgid "Error connecting to server: %s" + msgstr "Erro ao conectar com servidor: %s" + +-#: pop/pop_lib.c:414 ++#: pop/pop_lib.c:440 + msgid "Closing connection to POP server..." + msgstr "Fechando conexão com servidor POP..." + +-#: pop/pop_lib.c:605 ++#: pop/pop_lib.c:631 + msgid "Verifying message indexes..." + msgstr "Verificando índices de mensagens..." + +-#: pop/pop_lib.c:628 ++#: pop/pop_lib.c:654 + msgid "Connection lost. Reconnect to POP server?" + msgstr "Conexão perdida. Reconectar com servidor POP?" + +-#: postpone.c:229 ++#: postpone.c:260 + msgid "Postponed Messages" + msgstr "Mensagens Adiadas" + +-#: postpone.c:314 postpone.c:326 ++#: postpone.c:348 postpone.c:372 + msgid "No postponed messages" + msgstr "Nenhuma mensagem adiada" + +-#: postpone.c:480 ++#: postpone.c:526 + msgid "Illegal S/MIME header" + msgstr "Cabeçalho S/MIME ilegal" + +-#: postpone.c:510 postpone.c:551 postpone.c:560 ++#: postpone.c:556 postpone.c:597 postpone.c:606 + msgid "Illegal crypto header" + msgstr "Cabeçalho cripto ilegal" + +-#: postpone.c:644 postpone.c:752 postpone.c:780 ++#: postpone.c:690 postpone.c:798 postpone.c:826 + msgid "Decrypting message..." + msgstr "Desencriptando mensagem..." + +-#: query.c:82 ++#: query.c:80 + msgid "New Query" + msgstr "Nova Consulta" + +-#: query.c:83 ++#: query.c:81 + msgid "Make Alias" + msgstr "Criar Apelido" + +-#: query.c:180 ++#: query.c:178 + msgid "Waiting for response..." + msgstr "Agurdando pela resposta..." + +-#: query.c:362 query.c:400 ++#: query.c:365 query.c:434 + msgid "Query: " + msgstr "Consulta: " + +-#: query.c:370 query.c:407 ++#: query.c:374 query.c:442 + #, c-format + msgid "Query '%s'" + msgstr "Consulta '%s'" + +-#: query.c:620 query.c:657 ++#: query.c:661 query.c:698 + msgid "Query command not defined" + msgstr "Comando de consulta não definido" + +-#: recvattach.c:93 ++#: recvattach.c:91 + msgid "Pipe" + msgstr "Cano" + +-#: recvattach.c:94 ++#: recvattach.c:92 + msgid "Print" + msgstr "Imprimir" + +-#: recvattach.c:569 ++#: recvattach.c:571 + msgid "Saving..." + msgstr "Salvando..." + +-#: recvattach.c:573 recvattach.c:744 recvattach.c:748 ++#: recvattach.c:575 recvattach.c:746 recvattach.c:750 + #, c-format + msgid "Attachment saved" + msgid_plural "%d attachments saved" + msgstr[0] "Anexo salvo" + msgstr[1] "%d anexos salvos" + +-#: recvattach.c:772 ++#: recvattach.c:774 + #, c-format + msgid "WARNING! You are about to overwrite %s, continue?" + msgstr "AVISO! Você está prestes a sobrescrever %s, continuar?" + +-#: recvattach.c:790 ++#: recvattach.c:792 + msgid "Attachment filtered" + msgstr "Anexo filtrado" + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Filter through: " + msgstr "Filtrar através de: " + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Pipe to: " + msgstr "Passar por cano a: " + + #. L10N: s gets replaced by a MIME type, e.g. "text/plain" or + #. application/octet-stream. +-#: recvattach.c:935 ++#: recvattach.c:937 + #, c-format + msgid "I don't know how to print %s attachments" + msgstr "Eu não sei como imprimir anexos %s" +@@ -6354,55 +6432,55 @@ msgstr "Eu não sei como imprimir anexos %s" + #. L10N: Although we now the precise number of tagged messages, we + #. do not show it to the user. So feel free to use a "generic + #. plural" as plural translation if your language has one. +-#: recvattach.c:1038 ++#: recvattach.c:1040 + #, c-format + msgid "Print tagged attachment?" + msgid_plural "Print %d tagged attachments?" + msgstr[0] "Imprimir anexo marcado?" + msgstr[1] "Imprimir %d anexos marcados?" + +-#: recvattach.c:1039 ++#: recvattach.c:1041 + #, c-format + msgid "Print attachment?" + msgstr "Imprimir anexo?" + +-#: recvattach.c:1123 ++#: recvattach.c:1125 + msgid "Structural changes to decrypted attachments are not supported" + msgstr "Não há suporte para alterações estruturais em anexos desencriptados." + +-#: recvattach.c:1291 ++#: recvattach.c:1293 + msgid "Can't decrypt encrypted message" + msgstr "Incapaz de desencriptar mensagem encriptada" + +-#: recvattach.c:1425 ++#: recvattach.c:1457 + msgid "Attachments" + msgstr "Anexos" + +-#: recvattach.c:1465 ++#: recvattach.c:1497 + msgid "There are no subparts to show" + msgstr "Não existem sub-partes a serem exibidas" + +-#: recvattach.c:1520 ++#: recvattach.c:1552 + msgid "Can't delete attachment from POP server" + msgstr "Incapaz de apagar anexos do servidor POP" + +-#: recvattach.c:1529 ++#: recvattach.c:1561 + msgid "Can't delete attachment from news server" + msgstr "Incapaz de apagar anexos do servidor de notícias" + +-#: recvattach.c:1536 ++#: recvattach.c:1568 + msgid "Deletion of attachments from encrypted messages is unsupported" + msgstr "Deleção de anexos de mensagens encriptadas não é suportada" + +-#: recvattach.c:1542 ++#: recvattach.c:1574 + msgid "Deletion of attachments from signed messages may invalidate the signature" + msgstr "Deleção de anexos de mensagens assinadas podem invalidar a assinatura" + +-#: recvattach.c:1561 recvattach.c:1578 ++#: recvattach.c:1593 recvattach.c:1610 + msgid "Only deletion of multipart attachments is supported" + msgstr "Somente a deleção de anexos multiparte é suportada" + +-#: recvcmd.c:79 ++#: recvcmd.c:78 + msgid "You may only bounce message/rfc822 parts" + msgstr "Você só pode repetir partes message/rfc822" + +@@ -6440,7 +6518,7 @@ msgstr "Não é possível criar %s" + msgid "Can't find any tagged messages" + msgstr "Não foi encontrada nenhuma mensagem marcada" + +-#: recvcmd.c:848 send.c:1073 ++#: recvcmd.c:848 send.c:1072 + msgid "No mailing lists found" + msgstr "Nenhuma lista de email encontrada" + +@@ -6456,69 +6534,69 @@ msgstr "" + msgid "You may only compose to sender with message/rfc822 parts" + msgstr "Somente possível redigir para um signatário com partes message/rfc822" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Append" + msgstr "Anexar" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Insert" + msgstr "Inserir" + +-#: remailer.c:78 ++#: remailer.c:76 + msgid "OK" + msgstr "OK" + +-#: remailer.c:210 ++#: remailer.c:207 + msgid "" + msgstr "" + +-#: remailer.c:586 ++#: remailer.c:617 + msgid "Can't get mixmaster's type2.list" + msgstr "Não foi possível obter o type2.list do mixmaster" + +-#: remailer.c:612 ++#: remailer.c:673 + msgid "Select a remailer chain" + msgstr "Escolha uma sequência de reenviadores" + +-#: remailer.c:674 ++#: remailer.c:735 + #, c-format + msgid "Error: %s can't be used as the final remailer of a chain" + msgstr "Erro: %s não pode ser usado como reenviador final de uma sequência" + + #. L10N The '%d' here hard-coded to 19 +-#: remailer.c:706 ++#: remailer.c:767 + #, c-format + msgid "Mixmaster chains are limited to %d elements" + msgstr "Sequências do mixmaster são limitadas a %d elementos" + +-#: remailer.c:729 ++#: remailer.c:790 + msgid "The remailer chain is already empty" + msgstr "A sequência de reenviadores já está vazia" + +-#: remailer.c:739 ++#: remailer.c:800 + msgid "You already have the first chain element selected" + msgstr "O primeiro elemento da sequência já está selecionado" + +-#: remailer.c:749 ++#: remailer.c:810 + msgid "You already have the last chain element selected" + msgstr "O último elemento da sequência já está selecionado" + +-#: remailer.c:792 ++#: remailer.c:856 + msgid "Mixmaster doesn't accept Cc or Bcc headers" + msgstr "O mixmaster não aceita cabeçalhos Cc ou Bcc" + +-#: remailer.c:817 ++#: remailer.c:881 + msgid "Please set the hostname variable to a proper value when using mixmaster" + msgstr "" + "Por favor, defina a variável hostname para um valor adequado quando for\n" + "usar o mixmaster" + +-#: remailer.c:860 ++#: remailer.c:924 + #, c-format + msgid "Error sending message, child exited %d.\n" + msgstr "Erro ao enviar mensagem, processo filho terminou com código %d\n" + +-#: remailer.c:864 ++#: remailer.c:928 + msgid "Error sending message" + msgstr "Erro ao enviar mensagem" + +@@ -6548,41 +6626,41 @@ msgstr "Encaminhar anexos?" + + #. L10N: Asks whether the user respects the reply-to header. + #. If she says no, neomutt will reply to the from header's address instead. +-#: send.c:793 ++#: send.c:792 + #, c-format + msgid "Reply to %s%s?" + msgstr "Responder para %s%s?" + +-#: send.c:838 ++#: send.c:837 + #, c-format + msgid "Follow-up to %s%s?" + msgstr "Responder para %s%s?" + +-#: send.c:1122 ++#: send.c:1121 + msgid "Include message in reply?" + msgstr "Incluir mensagem na resposta?" + +-#: send.c:1128 ++#: send.c:1127 + msgid "Including quoted message..." + msgstr "Enviando mensagem citada..." + +-#: send.c:1137 ++#: send.c:1136 + msgid "Could not include all requested messages" + msgstr "Não foi possível incluir todas as mensagens solicitadas" + +-#: send.c:1148 ++#: send.c:1147 + msgid "Forward as attachment?" + msgstr "Encaminar como anexo?" + +-#: send.c:1153 ++#: send.c:1152 + msgid "Preparing forwarded message..." + msgstr "Preparando mensagem encaminhada..." + +-#: send.c:1632 ++#: send.c:1631 + msgid "Fcc to an IMAP mailbox is not supported in batch mode" + msgstr "Não há suporte par Fcc para uma caixa IMAP em modo lote" + +-#: send.c:1664 send.c:1690 ++#: send.c:1665 send.c:1675 send.c:1701 + msgid "Save attachments in Fcc?" + msgstr "Salvar anexos em Fcc?" + +@@ -6590,190 +6668,190 @@ msgstr "Salvar anexos em Fcc?" + #. (r)etry tries the same mailbox again. + #. alternate (m)ailbox prompts for a different mailbox to try. + #. (s)kip aborts saving. +-#: send.c:1712 ++#: send.c:1723 + msgid "Fcc failed. (r)etry, alternate (m)ailbox, or (s)kip?" + msgstr "Falha em Fcc. (r)repetir, (m)caixa alternativa, (s)ignorar?" + + #. L10N: These correspond to the "Fcc failed" multi-choice prompt + #. (r)etry, alternate (m)ailbox, or (s)kip. + #. Any similarity to famous leaders of the FSF is coincidental. +-#: send.c:1716 ++#: send.c:1727 + msgid "rms" + msgstr "rms" + + #. L10N: This is the prompt to enter an "alternate (m)ailbox" when the + #. initial Fcc fails. +-#: send.c:1722 ++#: send.c:1733 + msgid "Fcc mailbox" + msgstr "Caixa para Fcc" + +-#: send.c:1788 ++#: send.c:1799 + msgid "Can't postpone. $postponed is unset" + msgstr "Incapaz de adiar mensagem. $postponed desconfigurado" + +-#: send.c:1923 ++#: send.c:1934 + msgid "Recall postponed message?" + msgstr "Editar mensagem adiada?" + +-#: send.c:2228 ++#: send.c:2239 + msgid "Edit forwarded message?" + msgstr "Editar mensagem encaminhada?" + +-#: send.c:2266 ++#: send.c:2277 + msgid "Abort unmodified message?" + msgstr "Cancelar mensagem não modificada?" + +-#: send.c:2268 ++#: send.c:2279 + msgid "Aborted unmodified message" + msgstr "Mensagem não modificada cancelada" + +-#: send.c:2388 ++#: send.c:2399 + msgid "No crypto backend configured. Disabling message security setting." + msgstr "Nenhum sistema (backend) configurado para cripto. Desabilitando configurações de segurança de mensagens." + +-#: send.c:2427 ++#: send.c:2438 + msgid "Article not posted" + msgstr "Artigo não postado" + +-#: send.c:2437 ++#: send.c:2448 + msgid "Message postponed" + msgstr "Mensagem adiada" + +-#: send.c:2470 ++#: send.c:2481 + msgid "No subject, abort sending?" + msgstr "Sem assunto, cancelar envio?" + +-#: send.c:2474 send.c:2480 ++#: send.c:2485 send.c:2491 + msgid "No subject specified" + msgstr "Nenhum assunto especificado" + +-#: send.c:2486 ++#: send.c:2497 + msgid "No newsgroup specified" + msgstr "Nenhum grupo de notícias especificado" + +-#: send.c:2496 ++#: send.c:2507 + msgid "No attachments, cancel sending?" + msgstr "Sem anexos, cancelar envio?" + +-#: send.c:2501 ++#: send.c:2512 + msgid "Message contains text matching \"$abort_noattach_regex\". Not sending." + msgstr "Mensagem contém texto coincidindo com \"$abort_noattach_regex\". Envio cancelado." + +-#: send.c:2559 smtp.c:227 ++#: send.c:2570 smtp.c:230 + msgid "Sending message..." + msgstr "Enviando mensagem..." + +-#: send.c:2598 ++#: send.c:2609 + msgid "Could not send the message" + msgstr "Não foi possível enviar a mensagem" + +-#: send.c:2608 ++#: send.c:2619 + msgid "Sending in background" + msgstr "Enviando em segundo plano" + +-#: send.c:2609 ++#: send.c:2620 + msgid "Article posted" + msgstr "Artigo postado" + +-#: send.c:2610 ++#: send.c:2621 + msgid "Mail sent" + msgstr "Mensagem enviada" + +-#: sendlib.c:567 ++#: sendlib.c:566 + msgid "No boundary parameter found [report this error]" + msgstr "Nenhum parâmetro de fronteira encontrado [relate este erro]" + +-#: sendlib.c:598 ++#: sendlib.c:597 + #, c-format + msgid "%s no longer exists" + msgstr "%s não mais existe" + +-#: sendlib.c:1056 ++#: sendlib.c:1055 + #, c-format + msgid "%s isn't a regular file" + msgstr "%s não é um arquivo comum" + +-#: sendlib.c:1223 ++#: sendlib.c:1222 + msgid "Could not find any mime.types file." + msgstr "Incapaz de encontrar qualquer arquivo mime.types." + +-#: sendlib.c:1314 ++#: sendlib.c:1313 + #, c-format + msgid "Could not open %s" + msgstr "Não foi possível abrir %s" + +-#: sendlib.c:2864 ++#: sendlib.c:2855 + msgid "$sendmail must be set in order to send mail" + msgstr "$sendmail deve estar configurado a fim de se enviar mensagens" + +-#: sendlib.c:2971 ++#: sendlib.c:2962 + #, c-format + msgid "Error sending message, child exited %d (%s)" + msgstr "Erro ao enviar a mensagem, processo filho saiu com código %d (%s)" + +-#: sendlib.c:2977 ++#: sendlib.c:2969 + msgid "Output of the delivery process" + msgstr "Saída do processo de entrega" + +-#: sendlib.c:3157 ++#: sendlib.c:3154 + #, c-format + msgid "Bad IDN %s while preparing resent-from" + msgstr "IDN %s inválida durante preparação remetente re-enviado" + +-#: smtp.c:165 ++#: smtp.c:168 + #, c-format + msgid "SMTP session failed: %s" + msgstr "Sessão SMTP falhou: %s" + +-#: smtp.c:222 ++#: smtp.c:225 + #, c-format + msgid "SMTP session failed: unable to open %s" + msgstr "Sessão SMTP falhou: incapaz de abrir %s" + +-#: smtp.c:339 ++#: smtp.c:364 + #, c-format + msgid "Invalid SMTP URL: %s" + msgstr "URL SMTP inválida: %s" + +-#: smtp.c:618 ++#: smtp.c:643 + #, c-format + msgid "SMTP authentication method %s requires SASL" + msgstr "Método %s de autenticação SMTP requer SASL" + +-#: smtp.c:625 ++#: smtp.c:650 + #, c-format + msgid "%s authentication failed, trying next method" + msgstr "Autenticação %s falhou, tentando próximo método" + +-#: smtp.c:636 ++#: smtp.c:661 + msgid "SMTP authentication requires SASL" + msgstr "Autenticação SMTP requer SASL" + +-#: smtp.c:717 ++#: smtp.c:742 + msgid "SMTP server does not support authentication" + msgstr "Servidor SMTP não oferece suporte à autenticação" + +-#: smtp.c:756 ++#: smtp.c:781 + msgid "No from address given" + msgstr "Endereço remetente não foi fornecido" + +-#: smtp.c:821 ++#: smtp.c:846 + msgid "SMTP session failed: read error" + msgstr "Sessão SMTP falhou: erro de acesso" + +-#: smtp.c:823 ++#: smtp.c:848 + msgid "SMTP session failed: write error" + msgstr "Sessão SMTP falhou: erro de escrita" + +-#: smtp.c:825 ++#: smtp.c:850 + msgid "Invalid server response" + msgstr "Resposta inválida do servidor" + +-#: sort.c:385 ++#: sort.c:387 + msgid "Sorting mailbox..." + msgstr "Ordenando caixa..." + +-#: sort.c:427 ++#: sort.c:429 + msgid "Could not find sorting function [report this bug]" + msgstr "Não foi possível encontrar a função de ordenação [relate este problema]" + +@@ -6843,10 +6921,10 @@ msgstr "" + "NeoMutt é um programa livre, e você é encorajado a redistribuí-lo\n" + "sob certas condições; digite 'neomutt -vv' para os detalhes.\n" + +-#: version.c:446 ++#: version.c:451 + msgid "Default options:" + msgstr "Opções pré-definidas:" + +-#: version.c:449 ++#: version.c:454 + msgid "Compile options:" + msgstr "Opções de compilação:" +diff --git a/po/ru.po b/po/ru.po +index 1d7f23654..a7b33e3b4 100644 +--- a/po/ru.po ++++ b/po/ru.po +@@ -13,7 +13,7 @@ msgid "" + msgstr "" + "Project-Id-Version: neomutt-2019-12-07\n" + "Report-Msgid-Bugs-To: neomutt-devel@neomutt.org\n" +-"POT-Creation-Date: 2019-12-06 23:10+0000\n" ++"POT-Creation-Date: 2020-03-09 12:15+0000\n" + "PO-Revision-Date: 2019-05-10 19:58+0300\n" + "Last-Translator: Vsevolod Volkov \n" + "Language-Team: neomutt-ru@woe.spb.ru\n" +@@ -23,16 +23,40 @@ msgstr "" + "Content-Transfer-Encoding: 8bit\n" + "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +-#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:59 browser.c:80 browser.c:90 +-#: mutt_history.c:45 pager.c:228 postpone.c:68 query.c:80 recvattach.c:93 ++msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" ++msgstr "(r)отвергнуть, (o)принять, (a)принять и сохранить, (s)пропустить" ++ ++msgid "roas" ++msgstr "roas" ++ ++msgid "(r)eject, accept (o)nce, (a)ccept always" ++msgstr "(r)отвергнуть, (o)принять, (a)принять и сохранить" ++ ++msgid "roa" ++msgstr "roa" ++ ++msgid "(r)eject, accept (o)nce, (s)kip" ++msgstr "(r)отвергнуть, (o)принять, (s)пропустить" ++ ++msgid "ros" ++msgstr "ros" ++ ++msgid "(r)eject, accept (o)nce" ++msgstr "(r)отвергнуть, (o)принять" ++ ++msgid "ro" ++msgstr "ro" ++ ++#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:58 browser.c:79 browser.c:89 ++#: mutt_history.c:45 pager.c:220 postpone.c:68 query.c:78 recvattach.c:91 + msgid "Exit" + msgstr "Выход" + +-#: addrbook.c:56 index.c:116 index.c:129 pager.c:236 pager.c:246 postpone.c:69 ++#: addrbook.c:56 index.c:112 index.c:125 pager.c:228 pager.c:238 postpone.c:69 + msgid "Del" + msgstr "Удалить" + +-#: addrbook.c:57 index.c:117 index.c:130 postpone.c:70 ++#: addrbook.c:57 index.c:113 index.c:126 postpone.c:70 + msgid "Undel" + msgstr "Восстановить" + +@@ -40,18 +64,18 @@ msgstr "Восстановить" + msgid "Select" + msgstr "Выбрать" + +-#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:82 browser.c:84 browser.c:96 +-#: compose.c:218 compose.c:230 conn/ssl.c:983 conn/ssl_gnutls.c:691 index.c:122 +-#: index.c:135 mutt_history.c:48 ncrypt/crypt_gpgme.c:4735 ncrypt/pgpkey.c:670 +-#: ncrypt/smime.c:553 pager.c:2326 postpone.c:71 query.c:85 recvattach.c:94 ++#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:81 browser.c:83 browser.c:95 ++#: compose.c:216 compose.c:228 conn/ssl.c:996 conn/ssl_gnutls.c:722 index.c:118 ++#: index.c:131 mutt_history.c:48 ncrypt/crypt_gpgme.c:4783 ncrypt/pgpkey.c:673 ++#: ncrypt/smime.c:555 pager.c:2297 postpone.c:71 query.c:83 recvattach.c:92 + msgid "Help" + msgstr "Помощь" + +-#: addrbook.c:208 ++#: addrbook.c:238 + msgid "You have no aliases" + msgstr "Список псевдонимов отсутствует" + +-#: addrbook.c:215 ++#: addrbook.c:276 + msgid "Aliases" + msgstr "Псевдонимы" + +@@ -60,52 +84,52 @@ msgstr "Псевдонимы" + msgid "Alias as: " + msgstr "Псевдоним: " + +-#: alias.c:411 ++#: alias.c:414 + msgid "You already have an alias defined with that name" + msgstr "Такой псевдоним уже присутствует" + +-#: alias.c:417 ++#: alias.c:420 + msgid "Warning: This alias name may not work. Fix it?" + msgstr "Предупреждение: Этот псевдоним может не работать. Исправить?" + +-#: alias.c:442 ++#: alias.c:445 + msgid "Address: " + msgstr "Адрес: " + +-#: alias.c:453 commands.c:444 compose.c:744 conn/conn_raw.c:152 +-#: conn/conn_raw.c:210 recvcmd.c:232 send.c:228 ++#: alias.c:457 commands.c:450 compose.c:743 conn/conn_raw.c:152 ++#: conn/conn_raw.c:210 recvcmd.c:231 send.c:227 + #, c-format + msgid "Bad IDN: '%s'" + msgstr "Некорректный IDN: %s" + +-#: alias.c:464 ++#: alias.c:468 + msgid "Personal name: " + msgstr "Полное имя: " + +-#: alias.c:473 ++#: alias.c:477 + #, c-format + msgid "[%s = %s] Accept?" + msgstr "[%s = %s] Принять?" + +-#: alias.c:484 recvattach.c:528 recvattach.c:550 recvattach.c:564 +-#: recvattach.c:579 recvattach.c:678 ++#: alias.c:488 recvattach.c:530 recvattach.c:552 recvattach.c:566 ++#: recvattach.c:581 recvattach.c:680 + msgid "Save to file: " + msgstr "Сохранить в файл: " + +-#: alias.c:503 ++#: alias.c:507 + msgid "Error reading alias file" + msgstr "Ошибка чтения файла псевдонимов" + +-#: alias.c:525 ++#: alias.c:529 + #, fuzzy + msgid "Trouble adding alias" + msgstr "Ошибка чтения файла псевдонимов" + +-#: alias.c:527 ++#: alias.c:531 + msgid "Alias added" + msgstr "Псевдоним создан" + +-#: alias.c:532 ++#: alias.c:536 + msgid "Error seeking in alias file" + msgstr "Ошибка позиционирования в файле псевдонимов" + +@@ -114,7 +138,7 @@ msgstr "Ошибка позиционирования в файле псевдо + #. for some reason (e.g. autocrypt, header cache, bcache), but it + #. doesn't exist. The prompt is asking whether to create the directory + #. +-#: autocrypt/autocrypt.c:70 main.c:826 ++#: autocrypt/autocrypt.c:70 main.c:757 + #, c-format + msgid "%s does not exist. Create it?" + msgstr "Каталог %s не существует. Создать?" +@@ -123,8 +147,8 @@ msgstr "Каталог %s не существует. Создать?" + #. mkdir() on the directory %s failed. The second %s is the + #. error message returned by libc + #. +-#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:830 +-#: nntp/newsrc.c:1069 ++#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:761 ++#: nntp/newsrc.c:1098 + #, c-format + msgid "Can't create %s: %s" + msgstr "Не удалось создать %s: %s" +@@ -134,7 +158,7 @@ msgstr "Не удалось создать %s: %s" + #. create $autocrypt_dir and then prompt to create an autocrypt + #. account with this message. + #. +-#: autocrypt/autocrypt.c:156 ++#: autocrypt/autocrypt.c:163 + msgid "Create an initial autocrypt account?" + msgstr "Создать учётную запись autocrypt?" + +@@ -143,7 +167,7 @@ msgstr "Создать учётную запись autocrypt?" + #. autocrypt account. This will generate a key and add a record + #. to the database for use in autocrypt operations. + #. +-#: autocrypt/autocrypt.c:180 ++#: autocrypt/autocrypt.c:187 + msgid "Autocrypt account address: " + msgstr "Адрес учётной записи autocrypt: " + +@@ -152,7 +176,7 @@ msgstr "Адрес учётной записи autocrypt: " + #. a single address. This is shown if they entered something invalid, + #. nothing, or more than one address for some reason. + #. +-#: autocrypt/autocrypt.c:191 ++#: autocrypt/autocrypt.c:198 + msgid "Please enter a single email address" + msgstr "Введите только один адрес" + +@@ -161,7 +185,7 @@ msgstr "Введите только один адрес" + #. if there is already an account in the database with the email address + #. they just entered. + #. +-#: autocrypt/autocrypt.c:208 ++#: autocrypt/autocrypt.c:215 + msgid "That email address already has an autocrypt account" + msgstr "Этот адрес уже имеет учётную запись autocrypt" + +@@ -173,14 +197,14 @@ msgstr "Этот адрес уже имеет учётную запись autocr + #. Otherwise the UI will show encryption is "available" but the user + #. will be required to enable encryption manually. + #. +-#: autocrypt/autocrypt.c:223 ++#: autocrypt/autocrypt.c:230 + msgid "Prefer encryption?" + msgstr "Предпочесть шифрование?" + + #. L10N: + #. Message displayed after an autocrypt account is successfully created. + #. +-#: autocrypt/autocrypt.c:236 ++#: autocrypt/autocrypt.c:243 + msgid "Autocrypt account creation succeeded" + msgstr "Учётная запись autocrypt успешно создана" + +@@ -188,7 +212,7 @@ msgstr "Учётная запись autocrypt успешно создана" + #. Error message displayed if creating an autocrypt account failed + #. or was aborted by the user. + #. +-#: autocrypt/autocrypt.c:242 ++#: autocrypt/autocrypt.c:249 + msgid "Autocrypt account creation aborted" + msgstr "Создание учётной записи autocrypt прервано" + +@@ -197,7 +221,7 @@ msgstr "Создание учётной записи autocrypt прервано" + #. to use to encrypt, but it can't find a valid keyid for this address. + #. The message is printed and they are returned to the compose menu. + #. +-#: autocrypt/autocrypt.c:610 autocrypt/autocrypt.c:639 ++#: autocrypt/autocrypt.c:617 autocrypt/autocrypt.c:646 + #, c-format + msgid "No (valid) autocrypt key found for %s" + msgstr "Не найден (действительный) ключ autocrypt для %s" +@@ -209,12 +233,12 @@ msgstr "Не найден (действительный) ключ autocrypt дл + #. and used for encryption. + #. If this is answered yes, they will be prompted for a mailbox. + #. +-#: autocrypt/autocrypt.c:903 ++#: autocrypt/autocrypt.c:910 + msgid "Scan a mailbox for autocrypt headers?" + msgstr "Проверить наличие заголовков autocrypt в почтовом ящике?" + + #. L10N: The prompt for a mailbox to scan for Autocrypt: headers +-#: autocrypt/autocrypt.c:907 ++#: autocrypt/autocrypt.c:914 + msgid "Scan mailbox" + msgstr "Проверка почтового ящика" + +@@ -225,21 +249,21 @@ msgstr "Проверка почтового ящика" + #. for a mailbox. This is because this is a one-time operation + #. and I don't want them to accidentally ctrl-g and abort it. + #. +-#: autocrypt/autocrypt.c:927 ++#: autocrypt/autocrypt.c:934 + msgid "Scan another mailbox for autocrypt headers?" + msgstr "Проверить наличие заголовков autocrypt в другом почтовом ящике?" + + #. L10N: Autocrypt Account Menu Help line: + #. create new account + #. +-#: autocrypt/autocrypt_acct_menu.c:63 ++#: autocrypt/autocrypt_acct_menu.c:62 + msgid "Create" + msgstr "Создать" + + #. L10N: Autocrypt Account Menu Help line: + #. delete account + #. +-#: autocrypt/autocrypt_acct_menu.c:67 remailer.c:77 ++#: autocrypt/autocrypt_acct_menu.c:66 remailer.c:75 + msgid "Delete" + msgstr "Удалить" + +@@ -247,9 +271,9 @@ msgstr "Удалить" + #. toggle an account active/inactive + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:74 ++#: autocrypt/autocrypt_acct_menu.c:73 + msgid "Tgl Active" + msgstr "Перекл Актив" + +@@ -257,17 +281,17 @@ msgstr "Перекл Актив" + #. toggle "prefer-encrypt" on an account + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:81 +-msgid "Prf Enc" ++#: autocrypt/autocrypt_acct_menu.c:80 ++msgid "Prf Encr" + msgstr "Предп Шифр" + + #. L10N: + #. Autocrypt Account menu. + #. flag that an account has prefer-encrypt set + #. +-#: autocrypt/autocrypt_acct_menu.c:123 ++#: autocrypt/autocrypt_acct_menu.c:122 + msgid "prefer encrypt" + msgstr "предпочитать шифрование" + +@@ -276,7 +300,7 @@ msgstr "предпочитать шифрование" + #. flag that an account has prefer-encrypt unset; + #. thus encryption will need to be manually enabled. + #. +-#: autocrypt/autocrypt_acct_menu.c:130 ++#: autocrypt/autocrypt_acct_menu.c:129 + msgid "manual encrypt" + msgstr "ручное шифрование" + +@@ -284,7 +308,7 @@ msgstr "ручное шифрование" + #. Autocrypt Account menu. + #. flag that an account is enabled/active + #. +-#: autocrypt/autocrypt_acct_menu.c:138 ++#: autocrypt/autocrypt_acct_menu.c:137 + msgid "active" + msgstr "активн" + +@@ -292,12 +316,12 @@ msgstr "активн" + #. Autocrypt Account menu. + #. flag that an account is disabled/inactive + #. +-#: autocrypt/autocrypt_acct_menu.c:144 ++#: autocrypt/autocrypt_acct_menu.c:143 + msgid "inactive" + msgstr "неактивн" + + #. L10N: Autocrypt Account Management Menu title +-#: autocrypt/autocrypt_acct_menu.c:183 ++#: autocrypt/autocrypt_acct_menu.c:182 + msgid "Autocrypt Accounts" + msgstr "Учётные записи autocrypt" + +@@ -305,13 +329,13 @@ msgstr "Учётные записи autocrypt" + #. This error message is displayed if a database update of an + #. account record fails for some odd reason. + #. +-#: autocrypt/autocrypt_acct_menu.c:245 autocrypt/autocrypt_acct_menu.c:259 ++#: autocrypt/autocrypt_acct_menu.c:244 autocrypt/autocrypt_acct_menu.c:258 + #, fuzzy + msgid "Error updating account record" + msgstr "Ошибка сохранения информации об учётной записи" + + #. L10N: Confirmation message when deleting an autocrypt account +-#: autocrypt/autocrypt_acct_menu.c:302 ++#: autocrypt/autocrypt_acct_menu.c:333 + #, c-format + msgid "Really delete account \"%s\"?" + msgstr "Действительно удалить учётную запись \"%s\"?" +@@ -329,7 +353,7 @@ msgstr "Действительно удалить учётную запись \" + msgid "Unable to open autocrypt database %s" + msgstr "Не удалось открыть базу данных autocrypt %s" + +-#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:774 ++#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:773 + #, c-format + msgid "error creating gpgme context: %s" + msgstr "ошибка создания gpgme контекста: %s" +@@ -402,284 +426,235 @@ msgstr "Версия базы данных autocrypt слишком новая" + msgid "Message cache isn't a directory: %s" + msgstr "%s не является каталогом" + +-#: browser.c:81 ++#: browser.c:80 + msgid "Chdir" + msgstr "Перейти в: " + +-#: browser.c:82 ++#: browser.c:81 + msgid "Goto" + msgstr "" + +-#: browser.c:83 browser.c:95 ++#: browser.c:82 browser.c:94 + msgid "Mask" + msgstr "Маска" + +-#: browser.c:91 ++#: browser.c:90 + msgid "List" + msgstr "" + +-#: browser.c:92 ++#: browser.c:91 + #, fuzzy + msgid "Subscribe" + msgstr "Подключено к %s" + +-#: browser.c:93 ++#: browser.c:92 + #, fuzzy + msgid "Unsubscribe" + msgstr "Отключено от %s" + +-#: browser.c:94 index.c:134 ++#: browser.c:93 index.c:130 + msgid "Catchup" + msgstr "" + +-#: browser.c:760 browser.c:1519 browser.c:1758 ++#: browser.c:763 browser.c:1584 browser.c:1825 + #, c-format + msgid "%s is not a directory" + msgstr "%s не является каталогом" + +-#: browser.c:1025 ++#: browser.c:1028 + #, fuzzy, c-format + msgid "Subscribed newsgroups" + msgstr "Подключено к %s" + +-#: browser.c:1028 ++#: browser.c:1031 + #, c-format + msgid "Newsgroups on server [%s]" + msgstr "" + +-#: browser.c:1038 ++#: browser.c:1041 + #, c-format + msgid "Mailboxes [%d]" + msgstr "Почтовые ящики [%d]" + +-#: browser.c:1050 ++#: browser.c:1053 + #, c-format + msgid "Subscribed [%s], File mask: %s" + msgstr "Подключение [%s], маска файла: %s" + +-#: browser.c:1056 ++#: browser.c:1059 + #, c-format + msgid "Directory [%s], File mask: %s" + msgstr "Каталог [%s], маска файла: %s" + +-#: browser.c:1113 ++#: browser.c:1116 + msgid "Can't attach a directory" + msgstr "Вложение каталогов не поддерживается" + +-#: browser.c:1380 browser.c:1814 browser.c:1959 ++#: browser.c:1445 browser.c:1881 browser.c:2026 + msgid "No files match the file mask" + msgstr "Нет файлов, удовлетворяющих данной маске" + +-#: browser.c:1587 ++#: browser.c:1654 + msgid "Create is only supported for IMAP mailboxes" + msgstr "Создание поддерживается только для почтовых ящиков на IMAP-серверах" + +-#: browser.c:1609 ++#: browser.c:1676 + msgid "Rename is only supported for IMAP mailboxes" + msgstr "Переименование поддерживается только для почтовых ящиков на IMAP-серверах" + +-#: browser.c:1630 ++#: browser.c:1697 + msgid "Delete is only supported for IMAP mailboxes" + msgstr "Удаление поддерживается только для почтовых ящиков на IMAP-серверах" + +-#: browser.c:1642 ++#: browser.c:1709 + #, fuzzy + msgid "Can't delete currently selected mailbox" + msgstr "показать имя текущего файла" + +-#: browser.c:1646 ++#: browser.c:1713 + #, c-format + msgid "Really delete mailbox \"%s\"?" + msgstr "Удалить почтовый ящик \"%s\"?" + +-#: browser.c:1663 ++#: browser.c:1730 + msgid "Mailbox deleted" + msgstr "Почтовый ящик удален" + +-#: browser.c:1667 ++#: browser.c:1734 + msgid "Mailbox deletion failed" + msgstr "Не удалось удалить почтовый ящик" + +-#: browser.c:1670 ++#: browser.c:1737 + msgid "Mailbox not deleted" + msgstr "Почтовый ящик не удален" + +-#: browser.c:1697 ++#: browser.c:1764 + msgid "Chdir to: " + msgstr "Перейти в: " + +-#: browser.c:1747 browser.c:1808 ++#: browser.c:1814 browser.c:1875 + msgid "Error scanning directory" + msgstr "Ошибка просмотра каталога" + +-#: browser.c:1769 ++#: browser.c:1836 + msgid "File Mask: " + msgstr "Маска файла: " + + #. L10N: The highlighted letters must match the "Sort" options +-#: browser.c:1831 ++#: browser.c:1898 + #, fuzzy + msgid "Reverse sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "Обратный порядок по (d)дате, (a)имени, (z)размеру или (n)отсутствует?" + + #. L10N: The highlighted letters must match the "Reverse Sort" options +-#: browser.c:1834 ++#: browser.c:1901 + #, fuzzy + msgid "Sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "Упорядочить по (d)дате, (a)имени, (z)размеру или (n)отсутствует?" + + #. L10N: These must match the highlighted letters from "Sort" and "Reverse Sort" +-#: browser.c:1837 ++#: browser.c:1904 + msgid "dazecwn" + msgstr "" + +-#: browser.c:1948 ++#: browser.c:2015 + msgid "New file name: " + msgstr "Новое имя файла: " + +-#: browser.c:1976 ++#: browser.c:2043 + msgid "Can't view a directory" + msgstr "Не удалось просмотреть каталог" + +-#: browser.c:1993 ++#: browser.c:2060 + msgid "Error trying to view file" + msgstr "Ошибка при попытке просмотра файла" + +-#: browser.c:2079 ++#: browser.c:2146 + #, fuzzy, c-format + msgid "Subscribe pattern: " + msgstr "Подключено к %s" + +-#: browser.c:2081 ++#: browser.c:2148 + #, fuzzy, c-format + msgid "Unsubscribe pattern: " + msgstr "Отключено от %s" + +-#: browser.c:2101 ++#: browser.c:2169 + #, fuzzy + msgid "No newsgroups match the mask" + msgstr "Нет файлов, удовлетворяющих данной маске" + +-#: color.c:633 color.c:644 +-#, c-format +-msgid "%s: color not supported by term" +-msgstr "%s: цвет не поддерживается терминалом" +- +-#: color.c:652 +-#, c-format +-msgid "%s: no such color" +-msgstr "%s: нет такого цвета" +- +-#: color.c:717 color.c:740 color.c:751 color.c:842 +-#, c-format +-msgid "%s: no such object" +-msgstr "%s: нет такого объекта" +- +-#: color.c:731 color.c:868 color.c:1069 color.c:1098 color.c:1122 color.c:1191 +-#: color.c:1214 hook.c:110 hook.c:124 hook.c:367 hook.c:383 init.c:612 +-#: init.c:620 init.c:709 init.c:1099 init.c:1267 init.c:1871 init.c:1929 +-#: keymap.c:1184 score.c:110 +-#, c-format +-msgid "%s: too few arguments" +-msgstr "%s: слишком мало аргументов" +- +-#: color.c:1142 +-#, c-format +-msgid "%s: no such attribute" +-msgstr "%s: нет такого атрибута" +- +-#: color.c:1223 color.c:1329 hook.c:131 hook.c:390 init.c:1123 init.c:2133 +-#: init.c:2611 keymap.c:1116 keymap.c:1289 keymap.c:1442 keymap.c:1506 +-#: mutt_lua.c:483 score.c:119 +-#, c-format +-msgid "%s: too many arguments" +-msgstr "%s: слишком много аргументов" +- +-#: color.c:1244 +-msgid "default colors not supported" +-msgstr "цвета по умолчанию не поддерживаются" +- +-#: color.c:1282 +-#, c-format +-msgid "Maximum quoting level is %d" +-msgstr "" +- +-#: color.c:1319 +-#, fuzzy, c-format +-msgid "%s: invalid number: %s" +-msgstr "Ошибка: score: неверное значение" +- + #. L10N: Used for the $crypt_verify_sig prompt +-#: commands.c:230 ++#: commands.c:232 + msgid "Verify signature?" + msgstr "Проверить подпись?" + +-#: commands.c:257 mbox/mbox.c:1236 ++#: commands.c:259 mbox/mbox.c:1236 + msgid "Could not create temporary file" + msgstr "Не удалось создать временный файл" + +-#: commands.c:269 ++#: commands.c:271 + msgid "Can't create display filter" + msgstr "Не удалось создать фильтр просмотра" + +-#: commands.c:302 ++#: commands.c:304 + msgid "Could not copy message" + msgstr "Не удалось скопировать сообщение" + +-#: commands.c:338 ++#: commands.c:340 + msgid "S/MIME signature successfully verified" + msgstr "S/MIME-подпись проверена" + +-#: commands.c:340 ++#: commands.c:342 + msgid "S/MIME certificate owner does not match sender" + msgstr "Отправитель сообщения не является владельцем S/MIME-сертификата" + +-#: commands.c:343 commands.c:353 ++#: commands.c:345 commands.c:355 + msgid "Warning: Part of this message has not been signed" + msgstr "Предупреждение: часть этого сообщения не подписана" + +-#: commands.c:345 ++#: commands.c:347 + msgid "S/MIME signature could NOT be verified" + msgstr "S/MIME-подпись проверить НЕ удалось" + +-#: commands.c:351 ++#: commands.c:353 + msgid "PGP signature successfully verified" + msgstr "PGP-подпись проверена" + +-#: commands.c:355 ++#: commands.c:357 + msgid "PGP signature could NOT be verified" + msgstr "PGP-подпись проверить НЕ удалось" + +-#: commands.c:372 compose.c:2116 compress.c:321 curs_lib.c:359 curs_lib.c:646 +-#: index.c:1235 index.c:1285 mutt_attach.c:159 mutt_attach.c:292 pager.c:2460 +-#: sendlib.c:1625 ++#: commands.c:378 compose.c:2187 compress/compress.c:320 gui/curs_lib.c:360 ++#: gui/curs_lib.c:714 index.c:1240 index.c:1290 mutt_attach.c:161 ++#: mutt_attach.c:294 pager.c:2433 sendlib.c:1624 + #, c-format + msgid "Error running \"%s\"" + msgstr "Ошибка выполнения \"%s\"" + +-#: commands.c:382 ++#: commands.c:388 + msgid "Command: " + msgstr "Команда: " + +-#: commands.c:419 recvcmd.c:191 recvcmd.c:203 ++#: commands.c:425 recvcmd.c:190 recvcmd.c:202 + msgid "Warning: message contains no From: header" + msgstr "Предупреждение: сообщение не содержит заголовка From:" + +-#: commands.c:425 recvcmd.c:212 ++#: commands.c:431 recvcmd.c:211 + #, fuzzy + msgid "Bounce message to: " + msgstr "Перенаправить сообщение: " + +-#: commands.c:427 recvcmd.c:214 ++#: commands.c:433 recvcmd.c:213 + #, fuzzy + msgid "Bounce tagged messages to: " + msgstr "Перенаправить сообщения: " + +-#: commands.c:436 recvcmd.c:224 ++#: commands.c:442 recvcmd.c:223 + msgid "Error parsing address" + msgstr "Ошибка разбора адреса" + +-#: commands.c:455 recvcmd.c:243 ++#: commands.c:461 recvcmd.c:242 + #, fuzzy, c-format + msgid "Bounce message to %s?" + msgid_plural "Bounce messages to %s?" +@@ -687,7 +662,7 @@ msgstr[0] "Перенаправить сообщение %s?" + msgstr[1] "Перенаправить сообщения %s?" + msgstr[2] "Перенаправить сообщения %s?" + +-#: commands.c:470 recvcmd.c:257 ++#: commands.c:476 recvcmd.c:257 + #, fuzzy + msgid "Message not bounced" + msgid_plural "Messages not bounced" +@@ -695,7 +670,7 @@ msgstr[0] "Сообщение не перенаправлено" + msgstr[1] "Сообщения не перенаправлены" + msgstr[2] "Сообщения не перенаправлены" + +-#: commands.c:496 recvcmd.c:276 ++#: commands.c:502 recvcmd.c:276 + #, fuzzy + msgid "Message bounced" + msgid_plural "Messages bounced" +@@ -703,29 +678,29 @@ msgstr[0] "Сообщение перенаправлено" + msgstr[1] "Сообщения перенаправлены" + msgstr[2] "Сообщения перенаправлены" + +-#: commands.c:606 commands.c:642 commands.c:662 ++#: commands.c:612 commands.c:648 commands.c:668 + msgid "Can't create filter process" + msgstr "Не удалось создать процесс фильтра" + +-#: commands.c:698 ++#: commands.c:704 + msgid "Pipe to command: " + msgstr "Передать программе: " + +-#: commands.c:720 ++#: commands.c:726 + msgid "No printing command has been defined" + msgstr "Команда для печати не определена" + +-#: commands.c:732 ++#: commands.c:738 + #, fuzzy + msgid "Print message?" + msgstr "Напечатать сообщение?" + +-#: commands.c:733 ++#: commands.c:739 + #, fuzzy + msgid "Print tagged messages?" + msgstr "Напечатать отмеченные сообщения?" + +-#: commands.c:739 ++#: commands.c:745 + #, fuzzy + msgid "Message printed" + msgid_plural "Messages printed" +@@ -733,7 +708,7 @@ msgstr[0] "Сообщение напечатано" + msgstr[1] "Сообщения напечатаны" + msgstr[2] "Сообщения напечатаны" + +-#: commands.c:742 ++#: commands.c:748 + #, fuzzy + msgid "Message could not be printed" + msgid_plural "Messages could not be printed" +@@ -742,161 +717,325 @@ msgstr[1] "Не удалось напечатать сообщения" + msgstr[2] "Не удалось напечатать сообщения" + + #. L10N: The highlighted letters must match the "Sort" options +-#: commands.c:759 ++#: commands.c:765 + msgid "Rev-Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "Обр.пор.:(d)дата/(f)от/(r)получ/(s)тема/(o)кому/(t)диск/(u)без/(z)разм/(c)конт/(p)спам/(l)метка?" + + #. L10N: The highlighted letters must match the "Rev-Sort" options +-#: commands.c:763 ++#: commands.c:769 + msgid "Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "Порядок:(d)дата/(f)от/(r)получ/(s)тема/(o)кому/(t)диск/(u)без/(z)разм/(c)конт/(p)спам/(l)метка?" + + #. L10N: These must match the highlighted letters from "Sort" and "Rev-Sort" +-#: commands.c:767 ++#: commands.c:773 + msgid "dfrsotuzcpl" + msgstr "dfrsotuzcpl" + +-#: commands.c:831 ++#: commands.c:837 + msgid "Shell command: " + msgstr "Программа: " + +-#: commands.c:1036 ++#: commands.c:1042 + #, fuzzy + msgid "Decode-save to mailbox" + msgstr "Декодировать и сохранить в почтовый ящик" + +-#: commands.c:1036 ++#: commands.c:1042 + #, fuzzy + msgid "Decode-save tagged to mailbox" + msgstr "Декодировать и сохранить помеченное в почтовый ящик" + +-#: commands.c:1038 ++#: commands.c:1044 + #, fuzzy + msgid "Decrypt-save to mailbox" + msgstr "Расшифровать и сохранить в почтовый ящик" + +-#: commands.c:1038 ++#: commands.c:1044 + #, fuzzy + msgid "Decrypt-save tagged to mailbox" + msgstr "Расшифровать и сохранить помеченное в почтовый ящик" + +-#: commands.c:1040 ++#: commands.c:1046 + #, fuzzy + msgid "Save to mailbox" + msgstr "Сохранить в почтовый ящик" + +-#: commands.c:1040 ++#: commands.c:1046 + #, fuzzy + msgid "Save tagged to mailbox" + msgstr "Сохранить помеченное в почтовый ящик" + +-#: commands.c:1045 ++#: commands.c:1051 + #, fuzzy + msgid "Decode-copy to mailbox" + msgstr "Декодировать и копировать в почтовый ящик" + +-#: commands.c:1045 ++#: commands.c:1051 + #, fuzzy + msgid "Decode-copy tagged to mailbox" + msgstr "Декодировать и копировать помеченное в почтовый ящик" + +-#: commands.c:1047 ++#: commands.c:1053 + #, fuzzy + msgid "Decrypt-copy to mailbox" + msgstr "Расшифровать и копировать в почтовый ящик" + +-#: commands.c:1047 ++#: commands.c:1053 + #, fuzzy + msgid "Decrypt-copy tagged to mailbox" + msgstr "Расшифровать и копировать помеченное в почтовый ящик" + +-#: commands.c:1049 ++#: commands.c:1055 + #, fuzzy + msgid "Copy to mailbox" + msgstr "Копировать в почтовый ящик" + +-#: commands.c:1049 ++#: commands.c:1055 + #, fuzzy + msgid "Copy tagged to mailbox" + msgstr "Копировать помеченное в почтовый ящик" + +-#: commands.c:1092 ++#: commands.c:1098 + #, c-format + msgid "Copying to %s..." + msgstr "Копируется в %s..." + + #. L10N: e.g. "text/plain; charset=UTF-8; ..." +-#: commands.c:1257 ++#: commands.c:1263 + #, fuzzy + msgid "Content type is too long" + msgstr "Значение Content-Type изменено на %s" + +-#: commands.c:1281 ++#: commands.c:1290 + #, c-format + msgid "Convert to %s upon sending?" + msgstr "Перекодировать в %s при отправке?" + +-#: commands.c:1292 ++#: commands.c:1301 + #, c-format + msgid "Content-Type changed to %s" + msgstr "Значение Content-Type изменено на %s" + +-#: commands.c:1297 ++#: commands.c:1306 + #, fuzzy, c-format + msgid "Character set changed to %s; not converting" + msgstr "Установлена новая кодировка: %s; не перекодировать" + +-#: commands.c:1298 ++#: commands.c:1307 + #, fuzzy, c-format + msgid "Character set changed to %s; converting" + msgstr "Установлена новая кодировка: %s; перекодировать" + +-#: compose.c:99 ++#: command_parse.c:83 command_parse.c:211 command_parse.c:219 ++#: command_parse.c:740 command_parse.c:887 command_parse.c:1491 ++#: command_parse.c:1549 gui/color.c:731 gui/color.c:868 gui/color.c:1069 ++#: gui/color.c:1098 gui/color.c:1122 gui/color.c:1191 gui/color.c:1214 ++#: hook.c:110 hook.c:124 hook.c:372 hook.c:388 keymap.c:1182 score.c:110 ++#, c-format ++msgid "%s: too few arguments" ++msgstr "%s: слишком мало аргументов" ++ ++#: command_parse.c:394 ++msgid "-group: no group name" ++msgstr "-group: имя группы отсутствует" ++ ++#: command_parse.c:404 ++msgid "out of arguments" ++msgstr "слишком мало аргументов" ++ ++#: command_parse.c:445 command_parse.c:1372 ++#, c-format ++msgid "Error: Can't build path of '%s'" ++msgstr "" ++ ++#: command_parse.c:458 ++#, c-format ++msgid "Error: Cyclic sourcing of configuration file '%s'" ++msgstr "" ++ ++#: command_parse.c:491 ++#, c-format ++msgid "Error in %s, line %d: %s" ++msgstr "Ошибка в %s: строка %d: %s" ++ ++#: command_parse.c:502 ++#, fuzzy, c-format ++msgid "Warning in %s, line %d: %s" ++msgstr "Ошибка в %s: строка %d: %s" ++ ++#: command_parse.c:526 ++#, c-format ++msgid "source: errors in %s" ++msgstr "source: ошибки в %s" ++ ++#: command_parse.c:526 ++#, c-format ++msgid "source: reading aborted due to too many errors in %s" ++msgstr "source: чтение прервано из-за большого количества ошибок в %s" ++ ++#: command_parse.c:535 ++#, fuzzy, c-format ++msgid "source: %d warning in %s" ++msgid_plural "source: %d warnings in %s" ++msgstr[0] "source: ошибки в %s" ++msgstr[1] "source: ошибки в %s" ++msgstr[2] "source: ошибки в %s" ++ ++#: command_parse.c:564 ++msgid "alias: no address" ++msgstr "псевдоним: отсутствует адрес" ++ ++#: command_parse.c:606 ++#, c-format ++msgid "Warning: Bad IDN '%s' in alias '%s'" ++msgstr "Предупреждение: некорректный IDN \"%s\" в псевдониме \"%s\"" ++ ++#: command_parse.c:684 ++msgid "attachments: no disposition" ++msgstr "attachments: отсутствует параметр disposition" ++ ++#: command_parse.c:695 ++#, fuzzy ++msgid "Current attachments settings:" ++msgstr "изменить описание вложения" ++ ++#: command_parse.c:725 ++msgid "attachments: invalid disposition" ++msgstr "attachments: неверное значение параметра disposition" ++ ++#: command_parse.c:764 command_parse.c:1753 command_parse.c:2205 ++#: gui/color.c:1223 gui/color.c:1329 hook.c:131 hook.c:395 keymap.c:1114 ++#: keymap.c:1287 keymap.c:1440 keymap.c:1504 mutt_lua.c:485 score.c:119 ++#, c-format ++msgid "%s: too many arguments" ++msgstr "%s: слишком много аргументов" ++ ++#: command_parse.c:801 ++#, c-format ++msgid "%sgroup: missing -rx or -addr" ++msgstr "%sgroup: отсутствует -rx или -addr" ++ ++#: command_parse.c:827 ++#, c-format ++msgid "%sgroup: warning: bad IDN '%s'" ++msgstr "%sgroup: предупреждение: некорректный IDN \"%s\"" ++ ++#: command_parse.c:898 ++#, c-format ++msgid "Error: %s" ++msgstr "" ++ ++#: command_parse.c:1065 ++msgid "invalid header field" ++msgstr "недопустимое поле в заголовке" ++ ++#: command_parse.c:1331 command_parse.c:1435 ++#, c-format ++msgid "%s: unknown variable" ++msgstr "%s: неизвестная переменная" ++ ++#: command_parse.c:1528 ++#, c-format ++msgid "%s is unset" ++msgstr "%s: значение не определено" ++ ++#: command_parse.c:1573 mutt_lua.c:480 ++#, c-format ++msgid "source: error at %s" ++msgstr "source: ошибка в %s" ++ ++#: command_parse.c:1581 ++#, fuzzy, c-format ++msgid "source: file %s could not be sourced" ++msgstr "Не удалось напечатать сообщения" ++ ++#: command_parse.c:1604 ++msgid "spam: no matching pattern" ++msgstr "спам: образец не найден" ++ ++#: command_parse.c:1606 ++msgid "nospam: no matching pattern" ++msgstr "не спам: образец не найден" ++ ++#: command_parse.c:1762 imap/imap.c:1443 ++#, c-format ++msgid "Subscribed to %s" ++msgstr "Подключено к %s" ++ ++#: command_parse.c:1766 ++#, fuzzy, c-format ++msgid "Could not subscribe to %s" ++msgstr "Подключено к %s" ++ ++#: command_parse.c:1774 command_parse.c:2226 ++#, fuzzy ++msgid "No folder specified" ++msgstr "Тема сообщения не указана." ++ ++#: command_parse.c:1943 ++msgid "unattachments: no disposition" ++msgstr "unattachments: отсутствует параметр disposition" ++ ++#: command_parse.c:1981 ++msgid "unattachments: invalid disposition" ++msgstr "unattachments: неверное значение параметра disposition" ++ ++#: command_parse.c:2214 imap/imap.c:1445 ++#, c-format ++msgid "Unsubscribed from %s" ++msgstr "Отключено от %s" ++ ++#: command_parse.c:2218 ++#, fuzzy, c-format ++msgid "Could not unsubscribe from %s" ++msgstr "Отключено от %s" ++ ++#: compose.c:97 + msgid "There are no attachments" + msgstr "Вложений нет" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:166 ++#: compose.c:164 + msgid "From: " + msgstr "From: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:168 send.c:284 ++#: compose.c:166 send.c:284 + msgid "To: " + msgstr "To: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:170 send.c:286 ++#: compose.c:168 send.c:286 + msgid "Cc: " + msgstr "Cc: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:172 send.c:288 ++#: compose.c:170 send.c:288 + msgid "Bcc: " + msgstr "Bcc: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:174 compose.c:1242 send.c:320 ++#: compose.c:172 compose.c:1302 send.c:320 + msgid "Subject: " + msgstr "Subject: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:176 ++#: compose.c:174 + msgid "Reply-To: " + msgstr "Reply-To: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:178 compose.c:1261 ++#: compose.c:176 compose.c:1321 + msgid "Fcc: " + msgstr "Fcc: " + + #. L10N: "Mix" refers to the MixMaster chain for anonymous email +-#: compose.c:181 ++#: compose.c:179 + msgid "Mix: " + msgstr "Mix: " + + #. L10N: Compose menu field. Holds "Encrypt", "Sign" related information +-#: compose.c:184 ++#: compose.c:182 + msgid "Security: " + msgstr "Безопасность: " + +@@ -907,78 +1046,78 @@ msgstr "Безопасность: " + #. it should not be longer than the other compose menu fields. + #. Since it shares the row with "Encrypt with:", it should not be longer + #. than 15-20 character cells. +-#: compose.c:192 ncrypt/crypt_gpgme.c:5602 ncrypt/pgp.c:1974 +-#: ncrypt/smime.c:2395 ++#: compose.c:190 ncrypt/crypt_gpgme.c:5682 ncrypt/pgp.c:1976 ++#: ncrypt/smime.c:2429 + msgid "Sign as: " + msgstr "Подписать как: " + + #. L10N: The compose menu autocrypt line +-#: compose.c:195 ++#: compose.c:193 + msgid "Autocrypt: " + msgstr "Autocrypt: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:199 ++#: compose.c:197 + msgid "Newsgroups: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:201 ++#: compose.c:199 + #, fuzzy + msgid "Followup-To: " + msgstr "Отвечать по %s%s?" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:203 ++#: compose.c:201 + #, fuzzy + msgid "X-Comment-To: " + msgstr "изменить поле \"Reply-To:\"" + +-#: compose.c:208 compose.c:224 ++#: compose.c:206 compose.c:222 + msgid "Send" + msgstr "Отправить" + +-#: compose.c:209 compose.c:225 remailer.c:77 ++#: compose.c:207 compose.c:223 remailer.c:75 + msgid "Abort" + msgstr "Прервать" + + #. L10N: compose menu help line entry +-#: compose.c:211 ++#: compose.c:209 + msgid "To" + msgstr "To" + + #. L10N: compose menu help line entry +-#: compose.c:213 ++#: compose.c:211 + msgid "CC" + msgstr "CC" + + #. L10N: compose menu help line entry +-#: compose.c:215 compose.c:227 ++#: compose.c:213 compose.c:225 + msgid "Subj" + msgstr "Subj" + +-#: compose.c:216 compose.c:228 compose.c:1556 ++#: compose.c:214 compose.c:226 compose.c:1616 + msgid "Attach file" + msgstr "Вложить файл" + +-#: compose.c:217 compose.c:229 ++#: compose.c:215 compose.c:227 + msgid "Descrip" + msgstr "Описание" + +-#: compose.c:226 ++#: compose.c:224 + #, fuzzy + msgid "Newsgroups" + msgstr "Тема сообщения не указана." + + #. L10N: Autocrypt recommendation flag: off. + #. * This is displayed when Autocrypt is turned off. +-#: compose.c:239 compose.c:473 ++#: compose.c:237 compose.c:472 + msgid "Off" + msgstr "Откл" + + #. L10N: Autocrypt recommendation flag: no. + #. * This is displayed when Autocrypt cannot encrypt to the recipients. +-#: compose.c:242 ++#: compose.c:240 + msgid "No" + msgstr "Нет" + +@@ -986,7 +1125,7 @@ msgstr "Нет" + #. * This is displayed when Autocrypt believes encryption should not be used. + #. * This might occur if one of the recipient Autocrypt Keys has not been + #. * used recently, or if the only key available is a Gossip Header key. +-#: compose.c:247 ++#: compose.c:245 + msgid "Discouraged" + msgstr "Не понятно" + +@@ -994,14 +1133,14 @@ msgstr "Не понятно" + #. * This is displayed when Autocrypt believes encryption is possible, but + #. * leaves enabling it up to the sender. Probably because "prefer encrypt" + #. * is not set in both the sender and recipient keys. +-#: compose.c:252 ++#: compose.c:250 + msgid "Available" + msgstr "Доступно" + + #. L10N: Autocrypt recommendation flag: yes. + #. * This is displayed when Autocrypt would normally enable encryption + #. * automatically. +-#: compose.c:256 ++#: compose.c:254 + msgid "Yes" + msgstr "Да" + +@@ -1011,7 +1150,7 @@ msgstr "Да" + #. (c)lear sets cleartext. + #. (a)utomatic defers to the recommendation. + #. +-#: compose.c:338 ++#: compose.c:337 + msgid "Autocrypt: (e)ncrypt, (c)lear, (a)utomatic?" + msgstr "Autocrypt: (e)шифровать, (c)очистить, (a)автоматически?" + +@@ -1019,51 +1158,51 @@ msgstr "Autocrypt: (e)шифровать, (c)очистить, (a)автомат + #. The letter corresponding to the compose menu autocrypt prompt + #. (e)ncrypt, (c)lear, (a)utomatic + #. +-#: compose.c:346 ++#: compose.c:345 + msgid "eca" + msgstr "eca" + +-#: compose.c:383 ++#: compose.c:382 + msgid "Not supported" + msgstr "Не поддерживается" + +-#: compose.c:390 ++#: compose.c:389 + msgid "Sign, Encrypt" + msgstr "Подписать и зашифровать" + +-#: compose.c:395 compose.c:468 ++#: compose.c:394 compose.c:467 + msgid "Encrypt" + msgstr "Зашифровать" + +-#: compose.c:400 ++#: compose.c:399 + msgid "Sign" + msgstr "Подписать" + +-#: compose.c:406 ++#: compose.c:405 + msgid "None" + msgstr "Нет" + +-#: compose.c:415 ++#: compose.c:414 + msgid " (inline PGP)" + msgstr " (PGP/текст)" + +-#: compose.c:417 ++#: compose.c:416 + msgid " (PGP/MIME)" + msgstr " (PGP/MIME)" + +-#: compose.c:420 ++#: compose.c:419 + msgid " (S/MIME)" + msgstr " (S/MIME)" + +-#: compose.c:424 ++#: compose.c:423 + msgid " (OppEnc mode)" + msgstr " (режим OppEnc)" + +-#: compose.c:436 compose.c:445 ++#: compose.c:435 compose.c:444 + msgid "" + msgstr "<по умолчанию>" + +-#: compose.c:452 ++#: compose.c:451 + msgid "Encrypt with: " + msgstr "Зашифровать: " + +@@ -1072,11 +1211,11 @@ msgstr "Зашифровать: " + #. Displays the output of the recommendation engine + #. (Off, No, Discouraged, Available, Yes) + #. +-#: compose.c:483 ++#: compose.c:482 + msgid "Recommendation: " + msgstr "Рекомендация: " + +-#: compose.c:547 ++#: compose.c:546 + msgid "" + msgstr "" + +@@ -1087,7 +1226,7 @@ msgstr "" + #. The filename is located last to avoid a long path hiding the + #. error message. + #. +-#: compose.c:601 ++#: compose.c:600 + #, c-format + msgid "Attachment #%d no longer exists: %s" + msgstr "Вложение #%d уже не существует: %s" +@@ -1099,57 +1238,57 @@ msgstr "Вложение #%d уже не существует: %s" + #. The filename is located last to avoid a long path hiding the + #. prompt question. + #. +-#: compose.c:621 ++#: compose.c:620 + #, c-format + msgid "Attachment #%d modified. Update encoding for %s?" + msgstr "Вложение #%d изменено. Обновить кодировку для %s?" + +-#: compose.c:716 ++#: compose.c:715 + msgid "-- Attachments" + msgstr "-- Вложения" + +-#: compose.c:770 ++#: compose.c:769 + msgid "You may not delete the only attachment" + msgstr "Вы не можете удалить единственное вложение" + +-#: compose.c:1296 edit.c:538 send.c:2462 ++#: compose.c:1356 edit.c:536 send.c:2473 + #, c-format + msgid "Bad IDN in '%s': '%s'" + msgstr "Некорректный IDN в '%s': %s." + +-#: compose.c:1347 ++#: compose.c:1407 + #, fuzzy + msgid "Attachment is already at top" + msgstr "Вложение сохранено" + +-#: compose.c:1352 compose.c:1368 ++#: compose.c:1412 compose.c:1428 + #, fuzzy + msgid "The fundamental part can't be moved" + msgstr "Текущее вложение не будет перекодировано" + +-#: compose.c:1363 ++#: compose.c:1423 + #, fuzzy + msgid "Attachment is already at bottom" + msgstr "Вложение обработано" + +-#: compose.c:1381 ++#: compose.c:1441 + msgid "Grouping 'alternatives' requires at least 2 tagged messages" + msgstr "" + +-#: compose.c:1462 ++#: compose.c:1522 + msgid "Grouping 'multilingual' requires at least 2 tagged messages" + msgstr "" + +-#: compose.c:1475 ++#: compose.c:1535 + msgid "Not all parts have 'Content-Language' set, continue?" + msgstr "" + +-#: compose.c:1477 ++#: compose.c:1537 + #, fuzzy + msgid "Not sending this message" + msgstr "Ошибка отправки сообщения" + +-#: compose.c:1571 ++#: compose.c:1631 + #, fuzzy + msgid "Attaching selected file..." + msgid_plural "Attaching selected files..." +@@ -1157,182 +1296,302 @@ msgstr[0] "Вкладываются помеченные файлы..." + msgstr[1] "Вкладываются помеченные файлы..." + msgstr[2] "Вкладываются помеченные файлы..." + +-#: compose.c:1585 ++#: compose.c:1645 + #, c-format + msgid "Unable to attach %s" + msgstr "Не удалось вложить %s" + +-#: compose.c:1606 ++#: compose.c:1666 + msgid "Open mailbox to attach message from" + msgstr "Вложить сообщение из почтового ящика" + +-#: compose.c:1616 ++#: compose.c:1676 + #, fuzzy + msgid "Open newsgroup to attach message from" + msgstr "Вложить сообщение из почтового ящика" + +-#: compose.c:1667 ++#: compose.c:1730 + #, c-format + msgid "Unable to open mailbox %s" + msgstr "Не удалось открыть почтовый ящик %s" + +-#: compose.c:1676 ++#: compose.c:1739 + msgid "No messages in that folder" + msgstr "В этом почтовом ящике/файле нет сообщений" + +-#: compose.c:1686 ++#: compose.c:1749 + msgid "Tag the messages you want to attach" + msgstr "Пометьте сообщения, которые вы хотите вложить" + +-#: compose.c:1715 ++#: compose.c:1785 + msgid "Unable to attach" + msgstr "Не удалось создать вложение" + +-#: compose.c:1752 ++#: compose.c:1822 + msgid "Recoding only affects text attachments" + msgstr "Перекодирование допустимо только для текстовых вложений" + +-#: compose.c:1757 ++#: compose.c:1827 + msgid "The current attachment won't be converted" + msgstr "Текущее вложение не будет перекодировано" + +-#: compose.c:1759 ++#: compose.c:1829 + msgid "The current attachment will be converted" + msgstr "Текущее вложение будет перекодировано" + +-#: compose.c:1831 ++#: compose.c:1901 + msgid "Empty 'Content-Language'" + msgstr "" + +-#: compose.c:1849 ++#: compose.c:1920 + msgid "Invalid encoding" + msgstr "Неверная кодировка" + +-#: compose.c:1871 ++#: compose.c:1942 + msgid "Save a copy of this message?" + msgstr "Сохранить копию этого сообщения?" + +-#: compose.c:1924 ++#: compose.c:1995 + msgid "Send attachment with name: " + msgstr "Отправить вложение с именем: " + +-#: compose.c:1939 ++#: compose.c:2010 + msgid "Rename to: " + msgstr "Переименовать в: " + + #. L10N: "stat" is a system call. Do "man 2 stat" for more information. +-#: compose.c:1946 editmsg.c:102 editmsg.c:138 sendlib.c:1050 ++#: compose.c:2017 editmsg.c:102 editmsg.c:138 sendlib.c:1049 + #, c-format + msgid "Can't stat %s: %s" + msgstr "Не удалось получить информацию о %s: %s" + +-#: compose.c:1966 ++#: compose.c:2037 + msgid "New file: " + msgstr "Новый файл: " + +-#: compose.c:1984 ++#: compose.c:2055 + msgid "Content-Type is of the form base/sub" + msgstr "Поле Content-Type должно иметь вид тип/подтип" + +-#: compose.c:1991 ++#: compose.c:2062 + #, c-format + msgid "Unknown Content-Type %s" + msgstr "Неизвестное значение поля Content-Type: %s" + +-#: compose.c:1999 ++#: compose.c:2070 + #, c-format + msgid "Can't create file %s" + msgstr "Не удалось создать файл %s" + +-#: compose.c:2008 ++#: compose.c:2079 + msgid "What we have here is a failure to make an attachment" + msgstr "Не удалось создать вложение" + +-#: compose.c:2073 ++#: compose.c:2144 + #, fuzzy + msgid "Save (postpone) draft message?" + msgstr "Продолжить отложенное сообщение?" + +-#: compose.c:2133 ++#: compose.c:2204 + msgid "Write message to mailbox" + msgstr "Записать сообщение в почтовый ящик" + +-#: compose.c:2136 ++#: compose.c:2207 + #, c-format + msgid "Writing message to %s ..." + msgstr "Сообщение записывается в %s..." + +-#: compose.c:2143 ++#: compose.c:2214 + msgid "Message written" + msgstr "Сообщение записано" + +-#: compose.c:2154 ++#: compose.c:2225 + msgid "No PGP backend configured" + msgstr "Поддержка PGP не настроена" + +-#: compose.c:2161 compose.c:2225 ++#: compose.c:2232 compose.c:2296 + msgid "S/MIME already selected. Clear and continue?" + msgstr "S/MIME уже используется. Очистить и продолжить?" + +-#: compose.c:2186 ++#: compose.c:2257 + msgid "No S/MIME backend configured" + msgstr "Поддержка S/MIME не настроена" + +-#: compose.c:2194 ++#: compose.c:2265 + msgid "PGP already selected. Clear and continue?" + msgstr "PGP уже используется. Очистить и продолжить?" + +-#: compress.c:355 compress.c:499 ++#: compress/compress.c:354 compress/compress.c:498 + #, c-format + msgid "Can't append without an append-hook or close-hook : %s" + msgstr "Невозможно дозаписать без append-hook или close-hook: %s" + +-#: compress.c:444 compress.c:511 compress.c:590 compress.c:628 mbox/mbox.c:1208 ++#: compress/compress.c:443 compress/compress.c:510 compress/compress.c:589 ++#: compress/compress.c:627 mbox/mbox.c:1208 + msgid "Unable to lock mailbox" + msgstr "Не удалось заблокировать почтовый ящик" + +-#: compress.c:448 compress.c:518 compress.c:594 ++#: compress/compress.c:447 compress/compress.c:517 compress/compress.c:593 + #, c-format + msgid "Decompressing %s" + msgstr "Распаковка %s" + +-#: compress.c:457 ++#: compress/compress.c:456 + msgid "Can't identify the contents of the compressed file" + msgstr "Не удалось распознать содержимое упакованного файла" + +-#: compress.c:464 compress.c:539 ++#: compress/compress.c:463 compress/compress.c:538 + #, c-format + msgid "Can't find mailbox ops for mailbox type %d" + msgstr "Не удалось найти описание для почтового ящика типа %d" + +-#: compress.c:521 ++#: compress/compress.c:520 + #, c-format + msgid "Compress command failed: %s" + msgstr "Ошибка команды упаковки: %s" + +-#: compress.c:532 ++#: compress/compress.c:531 + msgid "Unsupported mailbox type for appending" + msgstr "Дозапись не поддерживается для этого типа почтового ящика" + +-#: compress.c:618 ++#: compress/compress.c:617 + msgid "Can't sync a compressed file without a close-hook" + msgstr "Невозможно синхронизировать упакованный файл без close-hook" + +-#: compress.c:640 compress.c:692 ++#: compress/compress.c:639 compress/compress.c:691 + #, c-format + msgid "Compressing %s" + msgstr "Упаковывается %s" + +-#: compress.c:687 ++#: compress/compress.c:686 + #, c-format + msgid "Compressed-appending to %s..." + msgstr "Упаковывается и дозаписывается %s..." + +-#: compress.c:699 editmsg.c:247 ++#: compress/compress.c:698 editmsg.c:247 + #, c-format + msgid "Error. Preserving temporary file: %s" + msgstr "Ошибка. Временный файл оставлен: %s" + ++#: config/bool.c:70 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %s" ++msgstr "Неверно указана относительная дата: %s" ++ ++#: config/bool.c:131 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %ld" ++msgstr "Неверно указана относительная дата: %s" ++ ++#: config/enum.c:62 ++#, fuzzy, c-format ++msgid "Invalid enum value: %s" ++msgstr "Ошибка: score: неверное значение" ++ ++#: config/enum.c:149 ++#, fuzzy, c-format ++msgid "Invalid enum value: %ld" ++msgstr "Неверное значение для параметра %s: \"%s\"" ++ ++#: config/long.c:50 ++#, fuzzy, c-format ++msgid "Invalid long: %s" ++msgstr "Неверное название месяца: %s" ++ ++#: config/long.c:56 config/long.c:114 config/number.c:68 config/number.c:133 ++#, fuzzy, c-format ++msgid "Option %s may not be negative" ++msgstr "В режиме \"вложить сообщение\" функция недоступна." ++ ++#: config/number.c:49 config/sort.c:145 config/string.c:75 config/string.c:159 ++#, c-format ++msgid "Option %s may not be empty" ++msgstr "" ++ ++#: config/number.c:56 ++#, fuzzy, c-format ++msgid "Invalid number: %s" ++msgstr "Ошибка: score: неверное значение" ++ ++#: config/number.c:62 ++#, c-format ++msgid "Number is too big: %s" ++msgstr "" ++ ++#: config/number.c:127 ++#, fuzzy, c-format ++msgid "Invalid number: %ld" ++msgstr "Ошибка: score: неверное значение" ++ ++#: config/quad.c:69 ++#, fuzzy, c-format ++msgid "Invalid quad value: %s" ++msgstr "Неверно указана относительная дата: %s" ++ ++#: config/quad.c:133 ++#, fuzzy, c-format ++msgid "Invalid quad value: %ld" ++msgstr "Неверное значение для параметра %s: \"%s\"" ++ ++#: config/set.c:102 ++#, c-format ++msgid "No such variable: %s" ++msgstr "" ++ ++#: config/set.c:134 config/set.c:821 ++#, fuzzy, c-format ++msgid "Variable '%s' has an invalid type %d" ++msgstr "Ошибка: неверное значение \"%s\" для -d" ++ ++#: config/set.c:399 config/set.c:463 config/set.c:528 config/set.c:601 ++#: config/set.c:671 config/set.c:744 ++#, fuzzy, c-format ++msgid "Unknown variable '%s'" ++msgstr "%s: неизвестная переменная" ++ ++#: config/sort.c:192 ++#, fuzzy, c-format ++msgid "Invalid sort name: %s" ++msgstr "Неверно указана относительная дата: %s" ++ ++#: config/sort.c:322 ++#, fuzzy, c-format ++msgid "Invalid sort type: %ld" ++msgstr "Неверно указана относительная дата: %s" ++ ++#. L10N: Example: Username at myhost.com ++#: conn/connaccount.c:61 ++#, c-format ++msgid "Username at %s: " ++msgstr "Имя пользователя для %s: " ++ ++#: conn/connaccount.c:117 ++#, c-format ++msgid "Password for %s@%s: " ++msgstr "Пароль для %s@%s: " ++ ++#. L10N: You will see this error message if (1) you have "oauthbearer" in ++#. one of your $*_authenticators and (2) you do not have the corresponding ++#. $*_oauth_refresh_command defined. So the message does not mean "None of ++#. your $*_oauth_refresh_command's are defined." ++#: conn/connaccount.c:165 ++#, fuzzy ++msgid "No OAUTH refresh command defined" ++msgstr "Команда запроса не определена" ++ ++#: conn/connaccount.c:173 ++msgid "Unable to run refresh command" ++msgstr "" ++ ++#: conn/connaccount.c:184 ++msgid "Command returned empty string" ++msgstr "" ++ ++#: conn/connaccount.c:191 ++#, c-format ++msgid "OAUTH token is too big: %ld" ++msgstr "" ++ + #: conn/conn_raw.c:160 conn/conn_raw.c:218 + #, c-format + msgid "Looking up %s..." +@@ -1353,7 +1612,7 @@ msgstr "Устанавливается соединение с %s..." + msgid "Could not connect to %s (%s)" + msgstr "Не удалось установить соединение с %s (%s)" + +-#: conn/conn_raw.c:260 conn/ssl.c:1230 curs_lib.c:568 mutt_logging.c:149 ++#: conn/conn_raw.c:260 conn/ssl.c:1245 gui/curs_lib.c:569 mutt_logging.c:147 + msgid "unknown error" + msgstr "неизвестная ошибка" + +@@ -1367,23 +1626,23 @@ msgstr "Ошибка при взаимодействии с %s (%s)" + msgid "Connection to %s has been aborted" + msgstr "Соединение с %s закрыто" + +-#: conn/sasl.c:565 ++#: conn/sasl.c:547 + msgid "Unknown SASL profile" + msgstr "SASL: неизвестный протокол" + +-#: conn/sasl.c:598 ++#: conn/sasl.c:580 + msgid "Error allocating SASL connection" + msgstr "SASL: ошибка создания соединения" + +-#: conn/sasl.c:608 ++#: conn/sasl.c:590 + msgid "Error setting SASL security properties" + msgstr "SASL: ошибка установки свойств безопасности" + +-#: conn/sasl.c:619 ++#: conn/sasl.c:601 + msgid "Error setting SASL external security strength" + msgstr "SASL: ошибка установки уровня внешней безопасности" + +-#: conn/sasl.c:629 ++#: conn/sasl.c:611 + msgid "Error setting SASL external user name" + msgstr "SASL: ошибка установки внешнего имени пользователя" + +@@ -1396,133 +1655,109 @@ msgstr "Команда, предшествующая соединению, за + msgid "Connection to %s closed" + msgstr "Соединение с %s закрыто" + +-#: conn/ssl.c:237 ++#: conn/ssl.c:222 + #, c-format + msgid "Filling entropy pool: %s..." + msgstr "Накопление энтропии: %s..." + +-#: conn/ssl.c:243 ++#: conn/ssl.c:228 + #, c-format + msgid "%s has insecure permissions" + msgstr "%s имеет небезопасный режим доступа" + +-#: conn/ssl.c:385 ++#: conn/ssl.c:369 + msgid "SSL disabled due to the lack of entropy" + msgstr "Использование SSL-протокола невозможно из-за недостатка энтропии" + +-#: conn/ssl.c:402 ++#: conn/ssl.c:386 + msgid "Unknown" + msgstr "Неизвестно" + +-#: conn/ssl.c:421 conn/ssl_gnutls.c:186 ++#: conn/ssl.c:405 conn/ssl_gnutls.c:188 + #, c-format + msgid "[unable to calculate]" + msgstr "[ошибка вычислений]" + +-#: conn/ssl.c:446 ++#: conn/ssl.c:430 + msgid "[invalid date]" + msgstr "[недопустимая дата]" + +-#: conn/ssl.c:506 ++#: conn/ssl.c:490 + msgid "Server certificate is not yet valid" + msgstr "Сертификат все еще недействителен" + +-#: conn/ssl.c:516 ++#: conn/ssl.c:500 + msgid "Server certificate has expired" + msgstr "Срок действия сертификата истек" + +-#: conn/ssl.c:605 ++#: conn/ssl.c:589 + msgid "Failed to find enough entropy on your system" + msgstr "Недостаточно энтропии" + +-#: conn/ssl.c:799 ++#: conn/ssl.c:783 + msgid "can't get certificate subject" + msgstr "не удалось получить subject сертификата" + +-#: conn/ssl.c:808 conn/ssl.c:816 ++#: conn/ssl.c:792 conn/ssl.c:800 + msgid "can't get certificate common name" + msgstr "не удалось получить common name сертификата" + +-#: conn/ssl.c:830 ++#: conn/ssl.c:814 + #, c-format + msgid "certificate owner does not match hostname %s" + msgstr "владелец сертификата не соответствует имени хоста %s" + +-#: conn/ssl.c:904 conn/ssl_gnutls.c:539 ++#: conn/ssl.c:917 conn/ssl_gnutls.c:570 + msgid "This certificate belongs to:" + msgstr "Данный сертификат принадлежит:" + +-#: conn/ssl.c:913 conn/ssl_gnutls.c:593 ++#: conn/ssl.c:926 conn/ssl_gnutls.c:624 + msgid "This certificate was issued by:" + msgstr "Данный сертификат был выдан:" + +-#: conn/ssl.c:922 conn/ssl_gnutls.c:604 ++#: conn/ssl.c:935 conn/ssl_gnutls.c:635 + msgid "This certificate is valid" + msgstr "Данный сертификат действителен" + +-#: conn/ssl.c:923 conn/ssl_gnutls.c:608 ++#: conn/ssl.c:936 conn/ssl_gnutls.c:639 + #, c-format + msgid " from %s" + msgstr " с %s" + +-#: conn/ssl.c:925 conn/ssl_gnutls.c:612 ++#: conn/ssl.c:938 conn/ssl_gnutls.c:643 + #, c-format + msgid " to %s" + msgstr " по %s" + +-#: conn/ssl.c:931 conn/ssl_gnutls.c:617 ++#: conn/ssl.c:944 conn/ssl_gnutls.c:648 + #, c-format + msgid "SHA1 Fingerprint: %s" + msgstr "SHA1-отпечаток пальца: %s" + +-#: conn/ssl.c:937 conn/ssl.c:940 conn/ssl_gnutls.c:623 conn/ssl_gnutls.c:625 ++#: conn/ssl.c:950 conn/ssl.c:953 conn/ssl_gnutls.c:654 conn/ssl_gnutls.c:656 + #, fuzzy + msgid "SHA256 Fingerprint: " + msgstr "SHA1-отпечаток пальца: %s" + +-#: conn/ssl.c:944 conn/ssl_gnutls.c:664 ++#: conn/ssl.c:957 conn/ssl_gnutls.c:695 + #, c-format + msgid "SSL Certificate check (certificate %zu of %zu in chain)" + msgstr "Проверка SSL-сертификата (сертификат %zu из %zu в цепочке)" + +-#. L10N: These four letters correspond to the choices in the next four strings: +-#. (r)eject, accept (o)nce, (a)ccept always, (s)kip. +-#. These prompts are the interactive certificate confirmation prompts for +-#. an OpenSSL connection. +-#: conn/ssl.c:964 +-msgid "roas" +-msgstr "" +- +-#: conn/ssl.c:968 +-msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" +-msgstr "(r)отвергнуть, (o)принять, (a)принять и сохранить, (s)пропустить" +- +-#: conn/ssl.c:970 conn/ssl_gnutls.c:671 +-msgid "(r)eject, accept (o)nce, (a)ccept always" +-msgstr "(r)отвергнуть, (o)принять, (a)принять и сохранить" +- +-#: conn/ssl.c:975 +-msgid "(r)eject, accept (o)nce, (s)kip" +-msgstr "(r)отвергнуть, (o)принять, (s)пропустить" +- +-#: conn/ssl.c:977 conn/ssl_gnutls.c:680 +-msgid "(r)eject, accept (o)nce" +-msgstr "(r)отвергнуть, (o)принять" +- +-#: conn/ssl.c:981 conn/ssl_gnutls.c:689 ncrypt/crypt_gpgme.c:4729 +-#: ncrypt/pgpkey.c:664 ncrypt/smime.c:549 ++#: conn/ssl.c:994 conn/ssl_gnutls.c:720 ncrypt/crypt_gpgme.c:4777 ++#: ncrypt/pgpkey.c:667 ncrypt/smime.c:551 + msgid "Exit " + msgstr "Выход " + +-#: conn/ssl.c:1016 conn/ssl_gnutls.c:742 ++#: conn/ssl.c:1029 conn/ssl_gnutls.c:773 + msgid "Warning: Couldn't save certificate" + msgstr "Предупреждение: не удалось сохранить сертификат" + +-#: conn/ssl.c:1020 conn/ssl_gnutls.c:746 ++#: conn/ssl.c:1033 conn/ssl_gnutls.c:777 + msgid "Certificate saved" + msgstr "Сертификат сохранен" + +-#: conn/ssl.c:1132 ++#: conn/ssl.c:1147 + #, c-format + msgid "Certificate host check failed: %s" + msgstr "Не удалось выполнить проверку хоста сертификата: %s" +@@ -1530,15 +1765,15 @@ msgstr "Не удалось выполнить проверку хоста се + #. L10N: This is a warning when trying to set the host name for + #. * TLS Server Name Indication (SNI). This allows the server to present + #. * the correct certificate if it supports multiple hosts. +-#: conn/ssl.c:1213 conn/ssl_gnutls.c:1072 ++#: conn/ssl.c:1228 conn/ssl_gnutls.c:1105 + msgid "Warning: unable to set TLS SNI host name" + msgstr "Предупреждение: не удалось установить имя хоста TLS SNI" + +-#: conn/ssl.c:1224 ++#: conn/ssl.c:1239 + msgid "I/O error" + msgstr "ошибка ввода/вывода" + +-#: conn/ssl.c:1233 ++#: conn/ssl.c:1248 + #, c-format + msgid "SSL failed: %s" + msgstr "Не удалось установить SSL-соединение: %s" +@@ -1546,89 +1781,73 @@ msgstr "Не удалось установить SSL-соединение: %s" + #. L10N: an SSL context is a data structure returned by the OpenSSL + #. function SSL_CTX_new(). In this case it returned NULL: an + #. error condition. +-#: conn/ssl.c:1269 ++#: conn/ssl.c:1284 + msgid "Unable to create SSL context" + msgstr "Не удалось создать SSL контекст" + +-#: conn/ssl.c:1322 ++#: conn/ssl.c:1337 + msgid "Warning: error enabling ssl_verify_partial_chains" + msgstr "Предупреждение: ошибка влкючения ssl_verify_partial_chains" + +-#: conn/ssl_gnutls.c:150 conn/ssl_gnutls.c:784 conn/ssl_gnutls.c:793 ++#: conn/ssl_gnutls.c:152 conn/ssl_gnutls.c:817 conn/ssl_gnutls.c:826 + msgid "Unable to get certificate from peer" + msgstr "Не удалось получить сертификат сервера" + +-#: conn/ssl_gnutls.c:155 ++#: conn/ssl_gnutls.c:157 + #, c-format + msgid "Certificate verification error (%s)" + msgstr "Ошибка проверки сертификата (%s)" + +-#: conn/ssl_gnutls.c:162 ++#: conn/ssl_gnutls.c:164 + msgid "Certificate is not X.509" + msgstr "Сертификат не соответствует стандарту X.509" + +-#: conn/ssl_gnutls.c:349 conn/ssl_gnutls.c:483 ++#: conn/ssl_gnutls.c:351 conn/ssl_gnutls.c:485 + msgid "Error initialising gnutls certificate data" + msgstr "Ошибка инициализации данных сертификата gnutls" + +-#: conn/ssl_gnutls.c:355 conn/ssl_gnutls.c:489 ++#: conn/ssl_gnutls.c:357 conn/ssl_gnutls.c:491 + msgid "Error processing certificate data" + msgstr "Ошибка обработки данных сертификата" + +-#: conn/ssl_gnutls.c:635 ++#: conn/ssl_gnutls.c:666 + msgid "WARNING: Server certificate is not yet valid" + msgstr "ПРЕДУПРЕЖДЕНИЕ: сертификат сервера уже недействителен" + +-#: conn/ssl_gnutls.c:640 ++#: conn/ssl_gnutls.c:671 + msgid "WARNING: Server certificate has expired" + msgstr "ПРЕДУПРЕЖДЕНИЕ: cрок действия сертификата сервера истек" + +-#: conn/ssl_gnutls.c:645 ++#: conn/ssl_gnutls.c:676 + msgid "WARNING: Server certificate has been revoked" + msgstr "ПРЕДУПРЕЖДЕНИЕ: сертификат сервера был отозван" + +-#: conn/ssl_gnutls.c:650 ++#: conn/ssl_gnutls.c:681 + msgid "WARNING: Server hostname does not match certificate" + msgstr "ПРЕДУПРЕЖДЕНИЕ: имя сервера не соответствует сертификату" + +-#: conn/ssl_gnutls.c:655 +-msgid "WARNING: Signer of server certificate is not a CA" +-msgstr "ПРЕДУПРЕЖДЕНИЕ: сертификат сервера не подписан CA" +- +-#: conn/ssl_gnutls.c:659 conn/ssl_gnutls.c:1004 +-msgid "Warning: Server certificate was signed using an insecure algorithm" +-msgstr "Предупреждение: сертификат подписан с использованием небезопасного алгоритма" +- +-#. L10N: These three letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce, (a)ccept always. +-#. This is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:676 +-msgid "roa" +-msgstr "roa" ++#: conn/ssl_gnutls.c:686 ++msgid "WARNING: Signer of server certificate is not a CA" ++msgstr "ПРЕДУПРЕЖДЕНИЕ: сертификат сервера не подписан CA" + +-#. L10N: These two letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce. +-#. These is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:685 +-msgid "ro" +-msgstr "ro" ++#: conn/ssl_gnutls.c:690 conn/ssl_gnutls.c:1037 ++msgid "Warning: Server certificate was signed using an insecure algorithm" ++msgstr "Предупреждение: сертификат подписан с использованием небезопасного алгоритма" + +-#: conn/ssl_gnutls.c:950 conn/ssl_gnutls.c:992 ++#: conn/ssl_gnutls.c:983 conn/ssl_gnutls.c:1025 + msgid "All available protocols for TLS/SSL connection disabled" + msgstr "Запрещены все доступные протоколы для TLS/SSL-соединения" + +-#: conn/ssl_gnutls.c:999 ++#: conn/ssl_gnutls.c:1032 + msgid "Explicit ciphersuite selection via $ssl_ciphers not supported" + msgstr "Явное указание набора шифров через $ssl_ciphers не поддерживается" + +-#: conn/ssl_gnutls.c:1120 ++#: conn/ssl_gnutls.c:1153 + #, c-format + msgid "SSL/TLS connection using %s (%s/%s/%s)" + msgstr "SSL/TLS-соединение с использованием %s (%s/%s/%s)" + +-#: conn/ssl_gnutls.c:1175 conn/ssl_gnutls.c:1204 ++#: conn/ssl_gnutls.c:1210 conn/ssl_gnutls.c:1239 + msgid "Error: no TLS socket open" + msgstr "Ошибка: не удалось открыть TLS-сокет" + +@@ -1647,7 +1866,7 @@ msgstr "Ошибка туннеля при взаимодействии с %s: % + msgid "Tunnel to %s returned error %d (%s)" + msgstr "Туннель к %s вернул ошибку %d (%s)" + +-#: copy.c:660 ++#: copy.c:662 + #, c-format + msgid "The length calculation was wrong by %ld byte" + msgid_plural "The length calculation was wrong by %ld bytes" +@@ -1655,31 +1874,11 @@ msgstr[0] "" + msgstr[1] "" + msgstr[2] "" + +-#: copy.c:744 ++#: copy.c:746 + msgid "No decryption engine available for message" + msgstr "Нет доступного механизма расшифровки для сообщения" + +-#: curs_lib.c:378 +-msgid "yes" +-msgstr "да" +- +-#: curs_lib.c:379 +-msgid "no" +-msgstr "нет" +- +-#: curs_lib.c:518 +-msgid "Exit NeoMutt?" +-msgstr "Завершить работу с NeoMutt?" +- +-#: curs_lib.c:597 +-msgid "Press any key to continue..." +-msgstr "Чтобы продолжить, нажмите любую клавишу..." +- +-#: curs_lib.c:705 +-msgid " ('?' for list): " +-msgstr " (\"?\" -- список): " +- +-#: edit.c:64 ++#: edit.c:62 + msgid "" + "~~ insert a line beginning with a single ~\n" + "~b users add users to the Bcc: field\n" +@@ -1701,7 +1900,7 @@ msgstr "" + "~M сообщения включить и процитировать сообщения с заголовками\n" + "~p напечатать это сообщение\n" + +-#: edit.c:75 ++#: edit.c:73 + msgid "" + "~q write file and quit editor\n" + "~r file read a file into the editor\n" +@@ -1723,20 +1922,20 @@ msgstr "" + "~? вывести это сообщение\n" + ". строка, содержащая только точку, заканчивает редактирование\n" + +-#: edit.c:261 ++#: edit.c:259 + #, c-format + msgid "%d: invalid message number.\n" + msgstr "%d: недопустимый номер сообщения.\n" + +-#: edit.c:416 ++#: edit.c:414 + msgid "(End message with a . on a line by itself)\n" + msgstr "(Для завершения введите строку, содержащую только .)\n" + +-#: edit.c:474 ++#: edit.c:472 + msgid "No mailbox.\n" + msgstr "Нет почтового ящика.\n" + +-#: edit.c:478 ++#: edit.c:476 + msgid "Message contains:\n" + msgstr "Сообщение содержит:\n" + +@@ -1744,19 +1943,19 @@ msgstr "Сообщение содержит:\n" + #. not IN the middle of the content. + #. So it doesn't mean "(message will continue)" + #. but means "(press any key to continue using neomutt)". +-#: edit.c:486 edit.c:547 ++#: edit.c:484 edit.c:545 + msgid "(continue)\n" + msgstr "(продолжить)\n" + +-#: edit.c:499 ++#: edit.c:497 + msgid "missing filename.\n" + msgstr "отсутствует имя файла.\n" + +-#: edit.c:519 ++#: edit.c:517 + msgid "No lines in message.\n" + msgstr "Текст сообщения отсутствует.\n" + +-#: edit.c:558 ++#: edit.c:556 + #, c-format + msgid "%s: unknown editor command (~? for help)\n" + msgstr "%s: неизвестная команда редактора (введите ~? для справки)\n" +@@ -1803,19 +2002,73 @@ msgstr "Не удалось дозаписать почтовый ящик: %s" + msgid "multipart message has no boundary parameter" + msgstr "Составное сообщение требует наличия параметра boundary" + +-#: flags.c:382 index.c:2561 index.c:2604 index.c:3134 index.c:3171 ++#: flags.c:381 index.c:2587 index.c:2630 index.c:3160 index.c:3197 + #: mutt_thread.c:1091 mutt_thread.c:1158 mutt_thread.c:1246 + msgid "Threading is not enabled" + msgstr "Группировка по дискуссиям не включена" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Set flag" + msgstr "Установить флаг" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Clear flag" + msgstr "Сбросить флаг" + ++#: gui/color.c:633 gui/color.c:644 ++#, c-format ++msgid "%s: color not supported by term" ++msgstr "%s: цвет не поддерживается терминалом" ++ ++#: gui/color.c:652 ++#, c-format ++msgid "%s: no such color" ++msgstr "%s: нет такого цвета" ++ ++#: gui/color.c:717 gui/color.c:740 gui/color.c:751 gui/color.c:842 ++#, c-format ++msgid "%s: no such object" ++msgstr "%s: нет такого объекта" ++ ++#: gui/color.c:1142 ++#, c-format ++msgid "%s: no such attribute" ++msgstr "%s: нет такого атрибута" ++ ++#: gui/color.c:1244 ++msgid "default colors not supported" ++msgstr "цвета по умолчанию не поддерживаются" ++ ++#: gui/color.c:1282 ++#, c-format ++msgid "Maximum quoting level is %d" ++msgstr "" ++ ++#: gui/color.c:1319 ++#, fuzzy, c-format ++msgid "%s: invalid number: %s" ++msgstr "Ошибка: score: неверное значение" ++ ++#: gui/curs_lib.c:379 ++msgid "yes" ++msgstr "да" ++ ++#: gui/curs_lib.c:380 ++msgid "no" ++msgstr "нет" ++ ++#: gui/curs_lib.c:519 ++msgid "Exit NeoMutt?" ++msgstr "Завершить работу с NeoMutt?" ++ ++#: gui/curs_lib.c:598 ++msgid "Press any key to continue..." ++msgstr "Чтобы продолжить, нажмите любую клавишу..." ++ ++#: gui/curs_lib.c:749 ++msgid " ('?' for list): " ++msgstr " (\"?\" -- список): " ++ + #: handler.c:102 + #, fuzzy, c-format + msgid "[-- Type: %s/%s%s%s, Encoding: %s, Size: %s --]\n" +@@ -1836,23 +2089,23 @@ msgstr "[-- Автопросмотр; используется %s --]\n" + msgid "Invoking autoview command: %s" + msgstr "Запускается программа автопросмотра: %s" + +-#: handler.c:591 mutt_attach.c:527 mutt_attach.c:714 mutt_attach.c:745 +-#: mutt_attach.c:1087 mutt_attach.c:1152 ncrypt/pgpkey.c:723 +-#: ncrypt/pgpkey.c:920 ++#: handler.c:590 mutt_attach.c:555 mutt_attach.c:747 mutt_attach.c:778 ++#: mutt_attach.c:1120 mutt_attach.c:1185 ncrypt/pgpkey.c:756 ++#: ncrypt/pgpkey.c:955 + msgid "Can't create filter" + msgstr "Не удалось создать фильтр" + +-#: handler.c:595 ++#: handler.c:594 + #, c-format + msgid "[-- Can't run %s. --]\n" + msgstr "[-- Не удалось выполнить %s. --]\n" + +-#: handler.c:614 handler.c:635 ++#: handler.c:613 handler.c:634 + #, c-format + msgid "[-- Autoview stderr of %s --]\n" + msgstr "[-- Автопросмотр стандартного потока ошибок %s --]\n" + +-#: handler.c:764 ++#: handler.c:763 + msgid "[-- Error: message/external-body has no access-type parameter --]\n" + msgstr "[-- Ошибка: тип message/external требует наличие параметра access-type --]\n" + +@@ -1871,7 +2124,7 @@ msgstr "[-- Ошибка: тип message/external требует наличие + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:807 ++#: handler.c:806 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" +@@ -1903,7 +2156,7 @@ msgstr[2] "" + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:830 ++#: handler.c:829 + #, fuzzy, c-format + msgid "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" + msgid_plural "[-- This %s/%s attachment (size %s bytes) has been deleted --]\n" +@@ -1918,7 +2171,7 @@ msgstr[2] "[-- Это вложение типа %s/%s (размер %s байт + #. + #. Caution: Argument three %3$ is also defined but should not be used + #. in this translation! +-#: handler.c:848 ++#: handler.c:847 + #, fuzzy + msgid "" + "[-- This %s/%s attachment has been deleted --]\n" +@@ -1930,12 +2183,12 @@ msgstr "" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The first "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:856 ++#: handler.c:855 + #, fuzzy, c-format + msgid "[-- This %s/%s attachment has been deleted --]\n" + msgstr "[-- Это вложение типа %s/%s было удалено --]\n" + +-#: handler.c:866 ++#: handler.c:865 + #, c-format + msgid "[-- name: %s --]\n" + msgstr "[-- имя: %s --]\n" +@@ -1943,7 +2196,7 @@ msgstr "[-- имя: %s --]\n" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:884 ++#: handler.c:883 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -1959,7 +2212,7 @@ msgstr "" + #. The "%s/%s" is a MIME type, e.g. "text/plain". The %s after + #. access-type is an access-type as defined by the MIME RFCs, e.g. "FTP", + #. "LOCAL-FILE", "MAIL-SERVER". +-#: handler.c:905 ++#: handler.c:904 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -1968,94 +2221,94 @@ msgstr "" + "[-- Это вложение типа %s/%s не было включено --]\n" + "[-- в сообщение, и значение access-type %s не поддерживается --]\n" + +-#: handler.c:1090 ++#: handler.c:1089 + msgid "[-- Error: Could not display any parts of Multipart/Alternative --]\n" + msgstr "[-- Ошибка: не удалось показать ни одну из частей Multipart/Alternative --]\n" + + #. L10N: %s is the attachment description, filename or form_name. +-#: handler.c:1231 ++#: handler.c:1230 + #, fuzzy, c-format + msgid "[-- Attachment #%d: %s --]\n" + msgstr "[-- Вложение #%d: %s --]\n" + +-#: handler.c:1236 ++#: handler.c:1235 + #, fuzzy, c-format + msgid "[-- Attachment #%d --]\n" + msgstr "[-- Вложение #%d --]\n" + +-#: handler.c:1254 ++#: handler.c:1253 + msgid "One or more parts of this message could not be displayed" + msgstr "Одна или несколько частей этого сообщения не могут быть отображены" + +-#: handler.c:1320 ++#: handler.c:1319 + #, fuzzy + msgid "Unable to open 'memory stream'" + msgstr "Не удалось открыть временный файл" + +-#: handler.c:1330 ++#: handler.c:1329 + msgid "Unable to open temporary file" + msgstr "Не удалось открыть временный файл" + +-#: handler.c:1379 ++#: handler.c:1378 + msgid "failed to re-open 'memory stream'" + msgstr "" + +-#: handler.c:1620 ++#: handler.c:1619 + msgid "Error: multipart/signed has no protocol" + msgstr "Ошибка: тип multipart/signed требует наличия параметра protocol" + + #. L10N: %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1694 ++#: handler.c:1693 + #, fuzzy, c-format + msgid "[-- This is an attachment (use '%s' to view this part) --]\n" + msgstr "[-- Это вложение (используйте \"%s\" для просмотра этой части) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". + #. The last %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1701 ++#: handler.c:1700 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported (use '%s' to view this part) --]\n" + msgstr "[-- тип %s/%s не поддерживается (используйте \"%s\" для просмотра этой части) --]\n" + +-#: handler.c:1709 ++#: handler.c:1708 + #, fuzzy + msgid "[-- This is an attachment (need 'view-attachments' bound to key) --]\n" + msgstr "[-- Это вложение (функция view-attachments не назначена ни одной клавише) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1715 ++#: handler.c:1714 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported (need 'view-attachments' bound to key) --]\n" + msgstr "[-- тип %s/%s не поддерживается (функция view-attachments не назначена ни одной клавише) --]\n" + +-#: handler.c:1724 ++#: handler.c:1723 + #, fuzzy + msgid "[-- This is an attachment --]\n" + msgstr "[-- Это вложение --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1729 ++#: handler.c:1728 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported --]\n" + msgstr "[-- тип %s/%s не поддерживается --]\n" + +-#: help.c:400 ++#: help.c:401 + msgid "ERROR: please report this bug" + msgstr "ОШИБКА: пожалуйста. сообщите о ней" + +-#: help.c:455 ++#: help.c:456 + msgid "" + msgstr "<НЕИЗВЕСТНО>" + +-#: help.c:469 ++#: help.c:470 + msgid "Generic bindings:" + msgstr "Стандартные назначения:" + +-#: help.c:473 ++#: help.c:474 + msgid "Unbound functions:" + msgstr "Неназначенные функции:" + +-#: help.c:481 ++#: help.c:482 + #, c-format + msgid "Help for %s" + msgstr "Справка для %s" +@@ -2072,41 +2325,41 @@ msgstr "сокращение для почтового ящика раскрыт + msgid "badly formatted command string" + msgstr "плохо отфороматированная командная строка" + +-#: hook.c:461 ++#: hook.c:466 + msgid "unhook: Can't do unhook * from within a hook" + msgstr "unhook: Невозможно выполнить unhook * из команды hook" + +-#: hook.c:474 ++#: hook.c:479 + #, c-format + msgid "unhook: unknown hook type: %s" + msgstr "unhook: неизвестный тип события: %s" + +-#: hook.c:484 ++#: hook.c:489 + #, c-format + msgid "unhook: Can't delete a %s from within a %s" + msgstr "unhook: Невозможно удалить %s из команды %s" + + #. L10N: '%s' is the (misspelled) name of the menu, e.g. 'index' or 'pager' +-#: icommands.c:259 keymap.c:1161 keymap.c:1346 ++#: icommands.c:261 keymap.c:1159 keymap.c:1344 + #, c-format + msgid "%s: no such menu" + msgstr "%s: нет такого меню" + + #. L10N: '%s' is the name of the menu, e.g. 'index' or 'pager', it might + #. L10N: also be 'all' when all menus are affected. +-#: icommands.c:272 ++#: icommands.c:274 + #, fuzzy, c-format + msgid "%s: no binds for this menu" + msgstr "%s: нет такого меню" + +-#: icommands.c:272 ++#: icommands.c:274 + #, fuzzy, c-format + msgid "%s: no macros for this menu" + msgstr "%s: нет такого меню" + + #. L10N: '%s' is the file name of the temporary file +-#: icommands.c:283 icommands.c:296 icommands.c:316 icommands.c:340 +-#: icommands.c:360 icommands.c:371 imap/message.c:1093 ++#: icommands.c:285 icommands.c:297 icommands.c:317 icommands.c:340 ++#: icommands.c:360 icommands.c:370 imap/message.c:1093 + #, c-format + msgid "Could not create temporary file %s" + msgstr "Не удалось создать временный файл %s" +@@ -2144,28 +2397,28 @@ msgstr "Ошибка GSSAPI-аутентификации" + msgid "LOGIN disabled on this server" + msgstr "Команда LOGIN запрещена на этом сервере" + +-#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:288 ++#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:289 + msgid "Logging in..." + msgstr "Регистрация..." + +-#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:329 ++#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:330 + msgid "Login failed" + msgstr "Регистрация не удалась" + +-#: imap/auth_oauth.c:64 pop/pop_auth.c:346 smtp.c:524 ++#: imap/auth_oauth.c:65 pop/pop_auth.c:347 smtp.c:549 + msgid "Authenticating (OAUTHBEARER)..." + msgstr "Аутентификация (OAUTHBEARER)..." + +-#: imap/auth_oauth.c:96 ++#: imap/auth_oauth.c:97 + msgid "OAUTHBEARER authentication failed" + msgstr "Ошибка OAUTHBEARER-аутентификации" + +-#: imap/auth_sasl.c:128 nntp/nntp.c:606 nntp/nntp.c:671 smtp.c:443 ++#: imap/auth_sasl.c:128 nntp/nntp.c:608 nntp/nntp.c:673 smtp.c:468 + #, c-format + msgid "Authenticating (%s)..." + msgstr "Аутентификация (%s)..." + +-#: imap/auth_sasl.c:259 pop/pop_auth.c:200 smtp.c:584 smtp.c:646 ++#: imap/auth_sasl.c:259 pop/pop_auth.c:201 smtp.c:609 smtp.c:671 + msgid "SASL authentication failed" + msgstr "Ошибка SASL-аутентификации" + +@@ -2212,75 +2465,65 @@ msgstr "Не удалось переименовать: %s" + msgid "Mailbox renamed" + msgstr "Почтовый ящик переименован" + +-#: imap/command.c:164 ++#: imap/command.c:177 + #, c-format + msgid "Mailbox %s@%s closed" + msgstr "Почтовый ящик %s@%s закрыт" + +-#: imap/command.c:1258 imap/command.c:1370 ++#: imap/command.c:1287 imap/command.c:1399 + #, c-format + msgid "Connection to %s timed out" + msgstr "Превышено время ожидания соединение с %s" + + # "neomutt не поддерживает версию протокола, используемый на этом сервере" +-#: imap/imap.c:87 ++#: imap/imap.c:93 + #, fuzzy + msgid "This IMAP server is ancient. NeoMutt does not work with it." + msgstr "Этот IMAP-сервер использует устаревший протокол. NeoMutt не сможет работать с ним." + +-#: imap/imap.c:438 ++#: imap/imap.c:444 + #, c-format + msgid "Header search without header name: %s" + msgstr "Не указано имя заголовка при поиске заголовка: %s" + +-#: imap/imap.c:468 ++#: imap/imap.c:474 + #, c-format + msgid "Server-side custom search not supported: %s" + msgstr "" + +-#: imap/imap.c:584 ++#: imap/imap.c:590 + #, c-format + msgid "CREATE failed: %s" + msgstr "Не удалось выполнить команду CREATE: %s" + +-#: imap/imap.c:704 ++#: imap/imap.c:710 + #, c-format + msgid "Closing connection to %s..." + msgstr "Закрытие соединения с сервером %s..." + +-#: imap/imap.c:882 nntp/nntp.c:1889 pop/pop_lib.c:324 smtp.c:687 ++#: imap/imap.c:888 nntp/nntp.c:1891 pop/pop_lib.c:350 smtp.c:712 + msgid "Secure connection with TLS?" + msgstr "Использовать безопасное TLS-соединение?" + +-#: imap/imap.c:895 nntp/nntp.c:1910 pop/pop_lib.c:343 smtp.c:702 ++#: imap/imap.c:901 nntp/nntp.c:1912 pop/pop_lib.c:369 smtp.c:727 + msgid "Could not negotiate TLS connection" + msgstr "Не удалось установить TLS-соединение" + +-#: imap/imap.c:910 pop/pop_lib.c:360 ++#: imap/imap.c:916 pop/pop_lib.c:386 + msgid "Encrypted connection unavailable" + msgstr "Зашифрованное соединение не доступно" + +-#: imap/imap.c:1417 ++#: imap/imap.c:1430 + #, c-format + msgid "Subscribing to %s..." + msgstr "Подключение к %s..." + +-#: imap/imap.c:1419 ++#: imap/imap.c:1432 + #, c-format + msgid "Unsubscribing from %s..." + msgstr "Отключение от %s..." + +-#: imap/imap.c:1430 init.c:2142 +-#, c-format +-msgid "Subscribed to %s" +-msgstr "Подключено к %s" +- +-#: imap/imap.c:1432 init.c:2620 +-#, c-format +-msgid "Unsubscribed from %s" +-msgstr "Отключено от %s" +- +-#: imap/imap.c:1582 imap/message.c:1674 ++#: imap/imap.c:1595 imap/message.c:1674 + #, fuzzy, c-format + msgid "Copying %d message to %s..." + msgid_plural "Copying %d messages to %s..." +@@ -2288,16 +2531,16 @@ msgstr[0] "%d сообщений копируются в %s..." + msgstr[1] "%d сообщений копируются в %s..." + msgstr[2] "%d сообщений копируются в %s..." + +-#: imap/imap.c:1599 imap/imap.c:2217 imap/message.c:1713 muttlib.c:1505 ++#: imap/imap.c:1612 imap/imap.c:2254 imap/message.c:1713 muttlib.c:1503 + #, c-format + msgid "Create %s?" + msgstr "Создать %s?" + +-#: imap/imap.c:1667 ++#: imap/imap.c:1685 + msgid "Expunge failed" + msgstr "Не удалось очистить почтовый ящик" + +-#: imap/imap.c:1683 ++#: imap/imap.c:1701 + #, fuzzy, c-format + msgid "Marking %d message deleted..." + msgid_plural "Marking %d messages deleted..." +@@ -2306,7 +2549,7 @@ msgstr[1] "%d сообщений помечаются как удаленные. + msgstr[2] "%d сообщений помечаются как удаленные..." + + #. L10N: The plural is chosen by the last %d, i.e. the total number +-#: imap/imap.c:1720 ++#: imap/imap.c:1738 + #, fuzzy, c-format + msgid "Saving changed message... [%d/%d]" + msgid_plural "Saving changed messages... [%d/%d]" +@@ -2314,37 +2557,37 @@ msgstr[0] "Сохранение изменённых сообщений... [%d/% + msgstr[1] "Сохранение изменённых сообщений... [%d/%d]" + msgstr[2] "Сохранение изменённых сообщений... [%d/%d]" + +-#: imap/imap.c:1776 ++#: imap/imap.c:1794 + msgid "Error saving flags. Close anyway?" + msgstr "Ошибка сохранения флагов. Закрыть почтовый ящик?" + +-#: imap/imap.c:1783 ++#: imap/imap.c:1801 + msgid "Error saving flags" + msgstr "Ошибка сохранения флагов" + +-#: imap/imap.c:1808 ++#: imap/imap.c:1826 + msgid "Expunging messages from server..." + msgstr "Удаление сообщений с сервера..." + +-#: imap/imap.c:1814 ++#: imap/imap.c:1832 + msgid "imap_sync_mailbox: EXPUNGE failed" + msgstr "imap_sync_mailbox: ошибка выполнения команды EXPUNGE" + +-#: imap/imap.c:2023 nntp/nntp.c:2486 ++#: imap/imap.c:2058 nntp/nntp.c:2488 + #, c-format + msgid "Selecting %s..." + msgstr "Выбирается %s..." + +-#: imap/imap.c:2184 ++#: imap/imap.c:2221 + msgid "Error opening mailbox" + msgstr "Ошибка открытия почтового ящика" + +-#: imap/imap.c:2330 ++#: imap/imap.c:2367 + #, fuzzy + msgid "IMAP server doesn't support custom flags" + msgstr "SMTP сервер не поддерживает аутентификацию" + +-#: imap/imap.c:2374 ++#: imap/imap.c:2411 + #, fuzzy + msgid "Invalid IMAP flags" + msgstr "Неправильный " +@@ -2355,7 +2598,7 @@ msgid "Abort download and close mailbox?" + msgstr "" + + #: imap/message.c:554 mutt/memory.c:58 mutt/memory.c:98 mutt/memory.c:134 +-#: mutt/string.c:1178 mx.c:1176 ++#: mutt/string.c:1201 mx.c:1195 + msgid "Out of memory" + msgstr "Нехватка памяти" + +@@ -2375,7 +2618,7 @@ msgstr "Получение заголовков сообщений..." + msgid "Unable to fetch headers from this IMAP server version" + msgstr "Получение списка заголовков не поддерживается этим IMAP-сервером" + +-#: imap/message.c:1099 index.c:1548 nntp/nntp.c:1328 pop/pop.c:426 ++#: imap/message.c:1099 index.c:1554 nntp/nntp.c:1330 pop/pop.c:426 + msgid "Fetching message headers..." + msgstr "Получение заголовков сообщений..." + +@@ -2389,156 +2632,156 @@ msgstr "Сообщение загружается на сервер..." + msgid "Copying message %d to %s..." + msgstr "Сообщение %d копируется в %s..." + +-#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2737 pop/pop.c:1110 ++#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2739 pop/pop.c:1105 + msgid "Fetching message..." + msgstr "Получение сообщения..." + +-#: imap/message.c:1959 pop/pop.c:1106 ++#: imap/message.c:1959 pop/pop.c:1101 + msgid "The message index is incorrect. Try reopening the mailbox." + msgstr "Нумерация сообщений изменилась. Требуется повторно открыть почтовый ящик." + +-#: imap/util.c:767 ++#: imap/util.c:796 + msgid "Continue?" + msgstr "Продолжить?" + +-#: index.c:115 index.c:128 ++#: index.c:111 index.c:124 + msgid "Quit" + msgstr "Выход" + +-#: index.c:118 index.c:131 recvattach.c:93 ++#: index.c:114 index.c:127 recvattach.c:91 + msgid "Save" + msgstr "Сохранить" + +-#: index.c:119 query.c:81 ++#: index.c:115 query.c:79 + msgid "Mail" + msgstr "Создать" + +-#: index.c:120 pager.c:237 ++#: index.c:116 pager.c:229 + msgid "Reply" + msgstr "Ответить" + +-#: index.c:121 ++#: index.c:117 + msgid "Group" + msgstr "Всем" + +-#: index.c:132 pager.c:244 ++#: index.c:128 pager.c:236 + msgid "Post" + msgstr "" + +-#: index.c:133 pager.c:245 ++#: index.c:129 pager.c:237 + #, fuzzy + msgid "Followup" + msgstr "Отвечать по %s%s?" + +-#: index.c:190 index.c:1362 ++#: index.c:186 index.c:1367 + msgid "No mailbox is open" + msgstr "Нет открытого почтового ящика" + +-#: index.c:196 ++#: index.c:192 + msgid "There are no messages" + msgstr "Сообщений нет" + +-#: index.c:202 ++#: index.c:198 + msgid "No visible messages" + msgstr "Нет видимых сообщений" + +-#: index.c:208 mx.c:901 pager.c:223 recvattach.c:80 ++#: index.c:204 mx.c:920 pager.c:215 recvattach.c:78 + msgid "Mailbox is read-only" + msgstr "Почтовый ящик немодифицируем" + +-#: index.c:214 pager.c:225 recvattach.c:98 ++#: index.c:210 pager.c:217 recvattach.c:96 + msgid "Function not permitted in attach-message mode" + msgstr "В режиме \"вложить сообщение\" функция недоступна" + + #. L10N: %s is one of the CHECK_ACL entries below. +-#: index.c:239 pager.c:290 ++#: index.c:235 pager.c:282 + #, c-format + msgid "%s: Operation not permitted by ACL" + msgstr "%s: Операция запрещена ACL" + +-#: index.c:430 ++#: index.c:426 + msgid "Can't toggle write on a readonly mailbox" + msgstr "Не удалось разрешить запись в почтовый ящик, открытый только для чтения" + +-#: index.c:437 ++#: index.c:433 + msgid "Changes to folder will be written on folder exit" + msgstr "Изменения в состояние почтового ящика будут внесены при его закрытии" + +-#: index.c:442 ++#: index.c:438 + msgid "Changes to folder will not be written" + msgstr "Изменения в состояние почтового ящика не будут внесены" + +-#: index.c:719 muttlib.c:1490 mx.c:206 mx.c:340 ++#: index.c:714 muttlib.c:1488 mx.c:206 mx.c:338 + #, c-format + msgid "%s is not a mailbox" + msgstr "%s не является почтовым ящиком" + +-#: index.c:1218 ++#: index.c:1223 + msgid "Mailbox was externally modified. Flags may be wrong." + msgstr "Ящик был изменен внешней программой. Значения флагов могут быть некорректны." + +-#: index.c:1227 pager.c:2409 ++#: index.c:1232 pager.c:2379 + msgid "New mail in this mailbox" + msgstr "Новая почта в этом ящике" + +-#: index.c:1242 ++#: index.c:1247 + msgid "Mailbox was externally modified" + msgstr "Ящик был изменен внешней программой" + +-#: index.c:1369 ++#: index.c:1374 + msgid "No tagged messages" + msgstr "Нет отмеченных сообщений" + +-#: index.c:1373 index.c:1647 menu.c:1423 ++#: index.c:1378 index.c:1653 menu.c:1423 + msgid "Nothing to do" + msgstr "Нет помеченных сообщений" + +-#: index.c:1470 ++#: index.c:1475 + #, fuzzy + msgid "Enter Message-Id: " + msgstr "Введите идентификатор ключа: " + +-#: index.c:1481 ++#: index.c:1487 + msgid "Article has no parent reference" + msgstr "" + +-#: index.c:1504 ++#: index.c:1510 + #, fuzzy + msgid "Message is not visible in limited view" + msgstr "Корневое сообщение не видимо при просмотре с ограничением" + +-#: index.c:1508 ++#: index.c:1514 + #, fuzzy, c-format + msgid "Fetching %s from server..." + msgstr "Удаление сообщений с сервера..." + +-#: index.c:1518 nntp/nntp.c:2772 ++#: index.c:1524 nntp/nntp.c:2774 + #, c-format + msgid "Article %s not found on the server" + msgstr "" + +-#: index.c:1544 ++#: index.c:1550 + msgid "No Message-Id. Unable to perform operation." + msgstr "" + +-#: index.c:1623 ++#: index.c:1629 + #, fuzzy + msgid "No deleted messages found in the thread" + msgstr "удалить все сообщения в дискуссии" + +-#: index.c:1644 ++#: index.c:1650 + msgid "Jump to message: " + msgstr "Перейти к сообщению: " + +-#: index.c:1650 ++#: index.c:1656 + msgid "Argument must be a message number" + msgstr "Аргумент должен быть номером сообщения" + +-#: index.c:1652 ++#: index.c:1658 + msgid "Invalid message number" + msgstr "Неверный номер сообщения" + +-#: index.c:1654 ++#: index.c:1660 + msgid "That message is not visible" + msgstr "Это сообщение невидимо" + +@@ -2551,38 +2794,38 @@ msgstr "Это сообщение невидимо" + #. delete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. + #. +-#: index.c:1692 index.c:3267 pager.c:3064 ++#: index.c:1698 index.c:3293 pager.c:3039 + #, fuzzy + msgid "Can't delete messages" + msgstr "Не удалось удалить сообщение" + +-#: index.c:1695 ++#: index.c:1701 + msgid "Delete messages matching: " + msgstr "Удалить сообщения по образцу: " + +-#: index.c:1736 ++#: index.c:1742 + msgid "No limit pattern is in effect" + msgstr "Шаблон ограничения списка отсутствует" + + #. L10N: ask for a limit to apply +-#: index.c:1741 ++#: index.c:1747 + #, c-format + msgid "Limit: %s" + msgstr "Шаблон ограничения: %s" + +-#: index.c:1778 ++#: index.c:1784 + msgid "Limit to messages matching: " + msgstr "Ограничиться сообщениями, соответствующими: " + +-#: index.c:1809 ++#: index.c:1815 + msgid "To view all messages, limit to \"all\"" + msgstr "Используйте \"all\" для просмотра всех сообщений" + +-#: index.c:1821 pager.c:2514 ++#: index.c:1827 pager.c:2487 + msgid "Quit NeoMutt?" + msgstr "Выйти из NeoMutt?" + +-#: index.c:1924 ++#: index.c:1931 + msgid "Tag messages matching: " + msgstr "Пометить сообщения по образцу: " + +@@ -2590,204 +2833,204 @@ msgstr "Пометить сообщения по образцу: " + #. L10N: Due to the implementation details we do not know whether we + #. undelete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:1935 index.c:3807 pager.c:3418 ++#: index.c:1942 index.c:3833 pager.c:3396 + #, fuzzy + msgid "Can't undelete messages" + msgstr "Не удалось восстановить сообщение" + +-#: index.c:1939 ++#: index.c:1946 + msgid "Undelete messages matching: " + msgstr "Восстановить сообщения по образцу: " + +-#: index.c:1948 ++#: index.c:1955 + msgid "Untag messages matching: " + msgstr "Снять пометку с сообщений по образцу: " + +-#: index.c:1989 ++#: index.c:1996 + msgid "Logged out of IMAP servers" + msgstr "Соединения с IMAP-серверами отключены" + +-#: index.c:2105 ++#: index.c:2113 + #, fuzzy + msgid "No virtual folder and no Message-Id, aborting" + msgstr "Нет темы письма, отказ" + +-#: index.c:2117 index.c:2288 index.c:2310 index.c:2331 ++#: index.c:2125 index.c:2313 index.c:2335 index.c:2356 + msgid "Failed to create query, aborting" + msgstr "" + +-#: index.c:2130 ++#: index.c:2138 + msgid "failed to find message in notmuch database. try running 'notmuch new'." + msgstr "" + +-#: index.c:2139 ++#: index.c:2147 + msgid "Failed to read thread, aborting" + msgstr "" + +-#: index.c:2171 mx.c:1252 mx.c:1272 ++#: index.c:2179 mx.c:1271 mx.c:1291 + #, fuzzy + msgid "Folder doesn't support tagging, aborting" + msgstr "SMTP сервер не поддерживает аутентификацию" + +-#: index.c:2188 ++#: index.c:2196 + #, fuzzy + msgid "No tag specified, aborting" + msgstr "Нет темы письма, отказ" + +-#: index.c:2198 ++#: index.c:2206 + msgid "Update tags..." + msgstr "" + +-#: index.c:2238 ++#: index.c:2246 + msgid "Failed to modify tags, aborting" + msgstr "" + +-#: index.c:2284 ++#: index.c:2293 + #, fuzzy + msgid "No query, aborting" + msgstr "Нет темы письма, отказ" + +-#: index.c:2299 index.c:2320 ++#: index.c:2324 index.c:2345 + msgid "Windowed queries disabled" + msgstr "" + +-#: index.c:2304 index.c:2325 ++#: index.c:2329 index.c:2350 + msgid "No notmuch vfolder currently loaded" + msgstr "" + +-#: index.c:2374 ++#: index.c:2399 + msgid "Open mailbox in read-only mode" + msgstr "Открыть почтовый ящик только для чтения" + +-#: index.c:2376 ++#: index.c:2401 + msgid "Open mailbox" + msgstr "Открыть почтовый ящик" + +-#: index.c:2386 ++#: index.c:2411 + msgid "No mailboxes have new mail" + msgstr "Нет почтовых ящиков с новой почтой" + +-#: index.c:2419 ++#: index.c:2444 + #, fuzzy + msgid "Open newsgroup in read-only mode" + msgstr "Открыть почтовый ящик только для чтения" + +-#: index.c:2421 ++#: index.c:2446 + msgid "Open newsgroup" + msgstr "" + +-#: index.c:2538 ++#: index.c:2564 + #, fuzzy + msgid "Exit NeoMutt without saving?" + msgstr "Выйти из NeoMutt без сохранения изменений?" + + #. L10N: CHECK_ACL +-#: index.c:2554 ++#: index.c:2580 + #, fuzzy + msgid "Can't break thread" + msgstr "Не удалось соединить дискуссии" + +-#: index.c:2574 ++#: index.c:2600 + msgid "Thread broken" + msgstr "Дискуссия разделена" + +-#: index.c:2587 ++#: index.c:2613 + msgid "Thread can't be broken, message is not part of a thread" + msgstr "Дискуссия не может быть разделена, сообщение не является частью дискуссии" + + #. L10N: CHECK_ACL +-#: index.c:2597 ++#: index.c:2623 + msgid "Can't link threads" + msgstr "Не удалось соединить дискуссии" + +-#: index.c:2606 ++#: index.c:2632 + msgid "No Message-ID: header available to link thread" + msgstr "Отсутствует заголовок Message-ID: для соединения дискуссии" + +-#: index.c:2608 ++#: index.c:2634 + msgid "First, please tag a message to be linked here" + msgstr "Сначала необходимо пометить сообщение, которое нужно соединить здесь" + +-#: index.c:2621 ++#: index.c:2647 + msgid "Threads linked" + msgstr "Дискуссии соединены" + +-#: index.c:2624 ++#: index.c:2650 + msgid "No thread linked" + msgstr "Дискуссии не соединены" + +-#: index.c:2665 index.c:2690 ++#: index.c:2691 index.c:2716 + msgid "You are on the last message" + msgstr "Это последнее сообщение" + +-#: index.c:2673 index.c:2716 ++#: index.c:2699 index.c:2742 + msgid "No undeleted messages" + msgstr "Нет восстановленных сообщений" + +-#: index.c:2708 index.c:2733 ++#: index.c:2734 index.c:2759 + msgid "You are on the first message" + msgstr "Это первое сообщение" + +-#: index.c:2874 ++#: index.c:2900 + msgid "No new messages in this limited view" + msgstr "Нет новых сообщений при просмотре с ограничением" + +-#: index.c:2876 ++#: index.c:2902 + msgid "No new messages" + msgstr "Нет новых сообщений" + +-#: index.c:2881 ++#: index.c:2907 + msgid "No unread messages in this limited view" + msgstr "Нет непрочитанных сообщений при просмотре с ограничением" + +-#: index.c:2883 ++#: index.c:2909 + msgid "No unread messages" + msgstr "Нет непрочитанных сообщений" + +-#: index.c:2893 menu.c:1208 pager.c:2644 pattern.c:2652 ++#: index.c:2919 menu.c:1208 pager.c:2618 pattern.c:2776 + msgid "Search wrapped to top" + msgstr "Достигнут конец; продолжаем поиск с начала" + +-#: index.c:2898 pager.c:2669 pattern.c:2663 ++#: index.c:2924 pager.c:2643 pattern.c:2787 + msgid "Search wrapped to bottom" + msgstr "Достигнуто начало; продолжаем поиск с конца" + + #. L10N: CHECK_ACL +-#: index.c:2915 ++#: index.c:2941 + msgid "Can't flag message" + msgstr "Не удалось переключить флаг сообщения" + + #. L10N: CHECK_ACL +-#: index.c:2961 pager.c:3377 ++#: index.c:2987 pager.c:3355 + msgid "Can't toggle new" + msgstr "Не удалось переключить флаг \"новое\"" + +-#: index.c:3057 ++#: index.c:3083 + msgid "No more threads" + msgstr "Нет больше дискуссий" + +-#: index.c:3059 ++#: index.c:3085 + msgid "You are on the first thread" + msgstr "Это первая дискуссия" + +-#: index.c:3156 ++#: index.c:3182 + #, fuzzy + msgid "Thread contains unread or flagged messages" + msgstr "В дискуссии присутствуют непрочитанные сообщения" + + #. L10N: CHECK_ACL +-#: index.c:3215 pager.c:3019 ++#: index.c:3241 pager.c:2994 + msgid "Can't delete message" + msgstr "Не удалось удалить сообщение" + + #. L10N: CHECK_ACL +-#: index.c:3339 ++#: index.c:3365 + msgid "Can't edit message" + msgstr "Не удалось отредактировать сообщение" + + #. L10N: This is displayed when the x-label on one or more + #. messages is edited. +-#: index.c:3432 pager.c:3495 ++#: index.c:3458 pager.c:3473 + #, fuzzy, c-format + msgid "%d label changed" + msgid_plural "%d labels changed" +@@ -2798,7 +3041,7 @@ msgstr[2] "Метки были изменены: %d" + #. L10N: This is displayed when editing an x-label, but no messages + #. were updated. Possibly due to canceling at the prompt or if the new + #. label is the same as the old label. +-#: index.c:3440 pager.c:3499 ++#: index.c:3466 pager.c:3477 + msgid "No labels changed" + msgstr "Ни одна метка не была изменена" + +@@ -2806,7 +3049,7 @@ msgstr "Ни одна метка не была изменена" + #. L10N: Due to the implementation details we do not know whether we + #. mark zero, 1, 12, ... messages as read. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:3571 ++#: index.c:3597 + #, fuzzy + msgid "Can't mark messages as read" + msgstr "Не удалось пометить сообщения как прочитанные" +@@ -2814,271 +3057,133 @@ msgstr "Не удалось пометить сообщения как проч + #. L10N: This is the prompt for . Whatever they + #. enter will be prefixed by $mark_macro_prefix and will become + #. a macro hotkey to jump to the currently selected message. +-#: index.c:3612 ++#: index.c:3638 + msgid "Enter macro stroke: " + msgstr "Введите макрос сообщения: " + + #. L10N: "message hotkey" is the key bindings menu description of a + #. macro created by . +-#: index.c:3620 ++#: index.c:3646 + msgid "message hotkey" + msgstr "макрос сообщения" + + #. L10N: This is echoed after creates a new hotkey + #. macro. %s is the hotkey string ($mark_macro_prefix followed + #. by whatever they typed at the prompt.) +-#: index.c:3625 ++#: index.c:3651 + #, c-format + msgid "Message bound to %s" + msgstr "Сообщение связяно с %s" + + #. L10N: This error is printed if can't find a + #. Message-ID for the currently selected message in the index. +-#: index.c:3634 ++#: index.c:3660 + msgid "No message ID to macro" + msgstr "Нет Message-ID для создания макроса" + +-#: index.c:3688 pager.c:3221 recvattach.c:1646 ++#: index.c:3714 pager.c:3196 recvattach.c:1678 + msgid "Reply by mail as poster prefers?" + msgstr "" + +-#: index.c:3691 pager.c:3182 pager.c:3194 pager.c:3224 ++#: index.c:3717 pager.c:3157 pager.c:3169 pager.c:3199 + msgid "Posting to this group not allowed, may be moderated. Continue?" + msgstr "" + + #. L10N: CHECK_ACL +-#: index.c:3768 pager.c:3397 ++#: index.c:3794 pager.c:3375 + msgid "Can't undelete message" + msgstr "Не удалось восстановить сообщение" + +-#: init.c:313 ++#: init.c:223 + #, c-format + msgid "Error in command line: %s" + msgstr "Ошибка в командной строке: %s" + +-#: init.c:315 ++#: init.c:225 + #, fuzzy, c-format + msgid "Warning in command line: %s" + msgstr "Ошибка в командной строке: %s" + +-#: init.c:426 ++#: init.c:336 + msgid "unable to determine nodename via uname()" + msgstr "не удалось определить имя узла с помощью uname()" + +-#: init.c:580 +-msgid "-group: no group name" +-msgstr "-group: имя группы отсутствует" +- +-#: init.c:590 +-msgid "out of arguments" +-msgstr "слишком мало аргументов" +- +-#: init.c:804 init.c:1752 +-#, c-format +-msgid "Error: Can't build path of '%s'" +-msgstr "" +- +-#: init.c:817 +-#, c-format +-msgid "Error: Cyclic sourcing of configuration file '%s'" +-msgstr "" +- +-#: init.c:850 +-#, c-format +-msgid "Error in %s, line %d: %s" +-msgstr "Ошибка в %s: строка %d: %s" +- +-#: init.c:861 +-#, fuzzy, c-format +-msgid "Warning in %s, line %d: %s" +-msgstr "Ошибка в %s: строка %d: %s" +- +-#: init.c:885 +-#, c-format +-msgid "source: errors in %s" +-msgstr "source: ошибки в %s" +- +-#: init.c:885 +-#, c-format +-msgid "source: reading aborted due to too many errors in %s" +-msgstr "source: чтение прервано из-за большого количества ошибок в %s" +- +-#: init.c:894 +-#, fuzzy, c-format +-msgid "source: %d warning in %s" +-msgid_plural "source: %d warnings in %s" +-msgstr[0] "source: ошибки в %s" +-msgstr[1] "source: ошибки в %s" +-msgstr[2] "source: ошибки в %s" +- +-#: init.c:923 +-msgid "alias: no address" +-msgstr "псевдоним: отсутствует адрес" +- +-#: init.c:965 +-#, c-format +-msgid "Warning: Bad IDN '%s' in alias '%s'" +-msgstr "Предупреждение: некорректный IDN \"%s\" в псевдониме \"%s\"" +- +-#: init.c:1043 +-msgid "attachments: no disposition" +-msgstr "attachments: отсутствует параметр disposition" +- +-#: init.c:1054 +-#, fuzzy +-msgid "Current attachments settings:" +-msgstr "изменить описание вложения" +- +-#: init.c:1084 +-msgid "attachments: invalid disposition" +-msgstr "attachments: неверное значение параметра disposition" +- +-#: init.c:1160 +-#, c-format +-msgid "%sgroup: missing -rx or -addr" +-msgstr "%sgroup: отсутствует -rx или -addr" +- +-#: init.c:1186 +-#, c-format +-msgid "%sgroup: warning: bad IDN '%s'" +-msgstr "%sgroup: предупреждение: некорректный IDN \"%s\"" +- +-#: init.c:1278 +-#, c-format +-msgid "Error: %s" +-msgstr "" +- +-#: init.c:1445 +-msgid "invalid header field" +-msgstr "недопустимое поле в заголовке" +- +-#: init.c:1711 init.c:1815 +-#, c-format +-msgid "%s: unknown variable" +-msgstr "%s: неизвестная переменная" +- +-#: init.c:1908 +-#, c-format +-msgid "%s is unset" +-msgstr "%s: значение не определено" +- +-#: init.c:1953 mutt_lua.c:478 +-#, c-format +-msgid "source: error at %s" +-msgstr "source: ошибка в %s" +- +-#: init.c:1961 +-#, fuzzy, c-format +-msgid "source: file %s could not be sourced" +-msgstr "Не удалось напечатать сообщения" +- +-#: init.c:1984 +-msgid "spam: no matching pattern" +-msgstr "спам: образец не найден" +- +-#: init.c:1986 +-msgid "nospam: no matching pattern" +-msgstr "не спам: образец не найден" +- +-#: init.c:2146 +-#, fuzzy, c-format +-msgid "Could not subscribe to %s" +-msgstr "Подключено к %s" +- +-#: init.c:2154 init.c:2632 +-#, fuzzy +-msgid "No folder specified" +-msgstr "Тема сообщения не указана." +- +-#: init.c:2341 +-msgid "unattachments: no disposition" +-msgstr "unattachments: отсутствует параметр disposition" +- +-#: init.c:2379 +-msgid "unattachments: invalid disposition" +-msgstr "unattachments: неверное значение параметра disposition" +- +-#: init.c:2624 +-#, fuzzy, c-format +-msgid "Could not unsubscribe from %s" +-msgstr "Отключено от %s" +- +-#: init.c:3292 ++#: init.c:1042 + #, c-format + msgid "%s: unknown command" + msgstr "%s: неизвестная команда" + +-#: init.c:3837 ++#: init.c:1588 + msgid "'charset' must contain exactly one character set name" + msgstr "" + +-#: init.c:3853 init.c:3877 init.c:3912 ++#: init.c:1604 init.c:1628 init.c:1663 + #, fuzzy, c-format + msgid "Invalid value for option %s: %s" + msgstr "Неверное значение для параметра %s: \"%s\"" + +-#: init.c:3890 ++#: init.c:1641 + #, c-format + msgid "Option %s may not be set or reset from the pager" + msgstr "" + +-#: init.c:3928 ++#: init.c:1679 + #, fuzzy, c-format + msgid "Option %s may not be set when in attach-message mode" + msgstr "В режиме \"вложить сообщение\" функция недоступна." + + #. L10N: This applies to the "$wrap_headers" config variable +-#: init.c:3943 ++#: init.c:1694 + #, c-format + msgid "Option %s must between 78 and 998 inclusive" + msgstr "" + +-#: keymap.c:373 keymap.c:381 ++#: keymap.c:371 keymap.c:379 + #, c-format + msgid "Binding '%s' will alias '%s' Before, try: 'bind %s %s noop' https://neomutt.org/guide/configuration.html#bind-warnings" + msgstr "" + +-#: keymap.c:757 ++#: keymap.c:755 + msgid "Macro loop detected" + msgstr "Обнаружен цикл в определении макроса" + +-#: keymap.c:1064 keymap.c:1099 ++#: keymap.c:1062 keymap.c:1097 + msgid "Key is not bound" + msgstr "Клавише не назначена никакая функция" + +-#: keymap.c:1104 ++#: keymap.c:1102 + #, c-format + msgid "Key is not bound. Press '%s' for help." + msgstr "Клавише не назначена никакая функция. Для справки используйте \"%s\"." + +-#: keymap.c:1177 ++#: keymap.c:1175 + #, c-format + msgid "%s: null key sequence" + msgstr "%s: последовательность клавиш пуста" + +-#: keymap.c:1212 ++#: keymap.c:1210 + #, c-format + msgid "Function '%s' not available for menu '%s'" + msgstr "" + +-#: keymap.c:1495 ++#: keymap.c:1493 + msgid "macro: empty key sequence" + msgstr "macro: пустая последовательность клавиш" + +-#: keymap.c:1543 ++#: keymap.c:1541 + msgid "exec: no arguments" + msgstr "exec: нет аргументов" + +-#: keymap.c:1563 ++#: keymap.c:1561 + #, c-format + msgid "%s: no such function" + msgstr "%s: нет такой функции" + +-#: keymap.c:1584 ++#: keymap.c:1582 + msgid "Enter keys (^G to abort): " + msgstr "Введите ключи (^G - прерывание ввода): " + +-#: keymap.c:1590 ++#: keymap.c:1588 + #, c-format + msgid "Char = %s, Octal = %o, Decimal = %d" + msgstr "Символ = %s, восьмиричный = %o, десятичный = %d" +@@ -3102,7 +3207,7 @@ msgstr "для типа %s не найдено записи в файле mailca + msgid "Scanning %s..." + msgstr "Просматривается %s..." + +-#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:353 ++#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:351 + #, c-format + msgid "Reading %s..." + msgstr "Читается %s..." +@@ -3117,13 +3222,13 @@ msgid "md_commit_message(): unable to set time on file" + msgstr "_maildir_commit_message(): не удалось установить время файла" + + #. L10N: Displayed before/as a mailbox is being synced +-#: maildir/shared.c:1723 mbox/mbox.c:1276 mx.c:461 notmuch/mutt_notmuch.c:2364 ++#: maildir/shared.c:1734 mbox/mbox.c:1276 mx.c:459 notmuch/mutt_notmuch.c:2364 + #, c-format + msgid "Writing %s..." + msgstr "Пишется %s..." + + #. L10N: Try to limit to 80 columns +-#: main.c:227 ++#: main.c:160 + msgid "" + "usage:\n" + " neomutt [-Enx] [-e ] [-F ] [-H ] [-i ]\n" +@@ -3146,7 +3251,7 @@ msgid "" + msgstr "" + + #. L10N: Try to limit to 80 columns. If more space is needed add an indented line +-#: main.c:247 ++#: main.c:180 + msgid "" + "options:\n" + " -- Special argument forces NeoMutt to stop option parsing and treat\n" +@@ -3189,54 +3294,54 @@ msgid "" + " or exit immediately with exit code 1 otherwise" + msgstr "" + +-#: main.c:312 ++#: main.c:245 + msgid "Error initializing terminal" + msgstr "Ошибка инициализации терминала" + +-#: main.c:390 ++#: main.c:323 + msgid "unable to determine username" + msgstr "не удалось определить имя пользователя" + +-#: main.c:396 ++#: main.c:329 + msgid "unable to determine home directory" + msgstr "не удалось определить домашний каталог" + +-#: main.c:640 ++#: main.c:572 + #, c-format + msgid "Error: value '%s' is invalid for -d" + msgstr "Ошибка: неверное значение \"%s\" для -d" + +-#: main.c:884 ++#: main.c:815 + msgid "Failed to parse mailto: link" + msgstr "Не удалось распознать ссылку mailto:" + +-#: main.c:896 send.c:2452 send.c:2456 ++#: main.c:827 send.c:2463 send.c:2467 + msgid "No recipients specified" + msgstr "Адресаты не указаны" + +-#: main.c:923 ++#: main.c:854 + msgid "Can't use -E flag with stdin" + msgstr "Невозможно использовать ключ -E с stdin" + +-#: main.c:1007 ++#: main.c:938 + #, fuzzy, c-format + msgid "Can't parse message template: %s" + msgstr "Не удалось открыть файл сообщения: %s" + +-#: main.c:1073 mutt_header.c:329 ++#: main.c:1004 mutt_header.c:329 + #, c-format + msgid "%s: unable to attach file" + msgstr "%s: не удалось вложить файл" + +-#: main.c:1156 ++#: main.c:1087 + msgid "No mailbox with new mail" + msgstr "Нет почтовых ящиков с новой почтой" + +-#: main.c:1180 ++#: main.c:1111 + msgid "No incoming mailboxes defined" + msgstr "Не определено ни одного почтового ящика со входящими письмами" + +-#: main.c:1230 ++#: main.c:1161 + msgid "Mailbox is empty" + msgstr "Почтовый ящик пуст" + +@@ -3278,52 +3383,52 @@ msgstr "Не удалось заново открыть почтовый ящи + msgid "Can't write message" + msgstr "Ошибка записи сообщения" + +-#: menu.c:632 ++#: menu.c:631 + msgid "Jump to: " + msgstr "Перейти к: " + +-#: menu.c:641 ++#: menu.c:640 + msgid "Invalid index number" + msgstr "Неверный индекс" + +-#: menu.c:645 menu.c:671 menu.c:744 menu.c:810 menu.c:828 menu.c:843 menu.c:858 +-#: menu.c:873 menu.c:890 menu.c:907 menu.c:1553 ++#: menu.c:644 menu.c:670 menu.c:743 menu.c:809 menu.c:827 menu.c:842 menu.c:857 ++#: menu.c:872 menu.c:889 menu.c:906 menu.c:1553 + msgid "No entries" + msgstr "Записи отсутствуют" + +-#: menu.c:668 ++#: menu.c:667 + msgid "You can't scroll down farther" + msgstr "Дальнейшая прокрутка невозможна" + +-#: menu.c:690 ++#: menu.c:689 + msgid "You can't scroll up farther" + msgstr "Дальнейшая прокрутка невозможна" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the first page" + msgstr "Вы уже на первой странице" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the last page" + msgstr "Вы уже на последней странице" + +-#: menu.c:922 ++#: menu.c:921 + msgid "You are on the last entry" + msgstr "Вы уже на последней записи" + +-#: menu.c:937 ++#: menu.c:936 + msgid "You are on the first entry" + msgstr "Вы уже на первой записи" + +-#: menu.c:1172 pager.c:2692 pattern.c:2578 ++#: menu.c:1172 pager.c:2666 pattern.c:2702 + msgid "Search for: " + msgstr "Поиск: " + +-#: menu.c:1173 pager.c:2693 pattern.c:2579 ++#: menu.c:1173 pager.c:2667 pattern.c:2703 + msgid "Reverse search for: " + msgstr "Обратный поиск: " + +-#: menu.c:1226 pager.c:2641 pager.c:2666 pager.c:2800 pattern.c:2708 ++#: menu.c:1226 pager.c:2615 pager.c:2640 pager.c:2774 pattern.c:2832 + msgid "Not found" + msgstr "Не найдено" + +@@ -3366,20 +3471,20 @@ msgstr "Попытка flock-блокировки файла... %d" + msgid "Bad history file format (line %d)" + msgstr "Некорректный формат файла истории (строка %d)" + +-#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1006 ncrypt/crypt_gpgme.c:2381 +-#: ncrypt/crypt_gpgme.c:2401 ncrypt/crypt_gpgme.c:2460 +-#: ncrypt/crypt_gpgme.c:2477 ncrypt/crypt_gpgme.c:2509 +-#: ncrypt/crypt_gpgme.c:2527 ncrypt/crypt_gpgme.c:2611 +-#: ncrypt/crypt_gpgme.c:3194 ncrypt/crypt_gpgme.c:3292 +-#: ncrypt/crypt_gpgme.c:4373 ncrypt/pgp.c:576 ncrypt/pgp.c:583 ncrypt/pgp.c:896 +-#: ncrypt/pgp.c:1014 ncrypt/pgp.c:1161 ncrypt/pgp.c:1181 ncrypt/pgp.c:1215 +-#: ncrypt/pgp.c:1568 ncrypt/pgpkey.c:708 ncrypt/pgpkey.c:902 +-#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1092 ncrypt/smime.c:1100 +-#: ncrypt/smime.c:1191 ncrypt/smime.c:1299 ncrypt/smime.c:1364 +-#: ncrypt/smime.c:1372 ncrypt/smime.c:1571 ncrypt/smime.c:1967 +-#: ncrypt/smime.c:2046 ncrypt/smime.c:2053 ncrypt/smime.c:2156 +-#: ncrypt/smime.c:2281 ncrypt/smime.c:2297 nntp/nntp.c:1397 nntp/nntp.c:2237 +-#: pattern.c:1132 pop/pop.c:182 ++#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1005 ncrypt/crypt_gpgme.c:2420 ++#: ncrypt/crypt_gpgme.c:2440 ncrypt/crypt_gpgme.c:2499 ++#: ncrypt/crypt_gpgme.c:2516 ncrypt/crypt_gpgme.c:2548 ++#: ncrypt/crypt_gpgme.c:2566 ncrypt/crypt_gpgme.c:2650 ++#: ncrypt/crypt_gpgme.c:3237 ncrypt/crypt_gpgme.c:3335 ++#: ncrypt/crypt_gpgme.c:4421 ncrypt/pgp.c:575 ncrypt/pgp.c:582 ncrypt/pgp.c:895 ++#: ncrypt/pgp.c:1013 ncrypt/pgp.c:1160 ncrypt/pgp.c:1180 ncrypt/pgp.c:1214 ++#: ncrypt/pgp.c:1570 ncrypt/pgpkey.c:741 ncrypt/pgpkey.c:937 ++#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1126 ncrypt/smime.c:1134 ++#: ncrypt/smime.c:1225 ncrypt/smime.c:1333 ncrypt/smime.c:1398 ++#: ncrypt/smime.c:1406 ncrypt/smime.c:1605 ncrypt/smime.c:2001 ++#: ncrypt/smime.c:2080 ncrypt/smime.c:2087 ncrypt/smime.c:2190 ++#: ncrypt/smime.c:2315 ncrypt/smime.c:2331 nntp/nntp.c:1399 nntp/nntp.c:2239 ++#: pattern.c:1171 pop/pop.c:182 + msgid "Can't create temporary file" + msgstr "Не удалось создать временный файл" + +@@ -3398,7 +3503,7 @@ msgstr "Отладка на уровне %d.\n" + msgid "Logging at level %d to file '%s'" + msgstr "Отладка на уровне %d.\n" + +-#: mutt/path.c:401 ++#: mutt/path.c:420 + #, fuzzy + msgid "Error: converting path to absolute" + msgstr "Ошибка при установлении соединения: %s" +@@ -3423,17 +3528,17 @@ msgstr "Получен сигнал %d (%s) ... Завершение работ + msgid "Caught signal %d ... Exiting.\n" + msgstr "Получен сигнал %d ... Завершение работы.\n" + +-#: muttlib.c:490 ++#: muttlib.c:488 + #, c-format + msgid "mutt_randbuf buflen=%zu" + msgstr "" + +-#: muttlib.c:510 ++#: muttlib.c:508 + #, c-format + msgid "open /dev/urandom: %s" + msgstr "" + +-#: muttlib.c:517 ++#: muttlib.c:515 + #, c-format + msgid "read /dev/urandom: %s" + msgstr "" +@@ -3441,148 +3546,120 @@ msgstr "" + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) + #. These three letters correspond to the choices in the string. +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "File is a directory, save under it: (y)es, (n)o, (a)ll?" + msgstr "Указанный файл -- это каталог. Сохранить в нем?(y)да, (n)нет, (a)все" + +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "yna" + msgstr "yna" + + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) +-#: muttlib.c:763 ++#: muttlib.c:761 + msgid "File is a directory, save under it?" + msgstr "Указанный файл -- это каталог. Сохранить в нем?" + +-#: muttlib.c:768 ++#: muttlib.c:766 + msgid "File under directory: " + msgstr "Имя файла в каталоге: " + +-#: muttlib.c:781 ++#: muttlib.c:779 + msgid "File exists, (o)verwrite, (a)ppend, or (c)ancel?" + msgstr "Файл существует, (o)переписать, (a)добавить, (с)отказ?" + + #. L10N: Options for: File exists, (o)verwrite, (a)ppend, or (c)ancel? +-#: muttlib.c:783 ++#: muttlib.c:781 + msgid "oac" + msgstr "oac" + +-#: muttlib.c:1458 ++#: muttlib.c:1456 + msgid "Can't save message to POP mailbox" + msgstr "Запись сообщений не поддерживается POP-сервером" + +-#: muttlib.c:1468 ++#: muttlib.c:1466 + #, c-format + msgid "Append messages to %s?" + msgstr "Добавить сообщения к %s?" + +-#: muttlib.c:1481 ++#: muttlib.c:1479 + #, fuzzy + msgid "Can't save message to news server" + msgstr "Невозможно оставить сообщения на сервере" + +-#. L10N: Example: Username at myhost.com +-#: mutt_account.c:233 +-#, c-format +-msgid "Username at %s: " +-msgstr "Имя пользователя для %s: " +- +-#: mutt_account.c:315 +-#, c-format +-msgid "Password for %s@%s: " +-msgstr "Пароль для %s@%s: " +- +-#. L10N: You will see this error message if (1) you have "oauthbearer" in +-#. one of your $*_authenticators and (2) you do not have the corresponding +-#. $*_oauth_refresh_command defined. So the message does not mean "None of +-#. your $*_oauth_refresh_command's are defined." +-#: mutt_account.c:383 +-#, fuzzy +-msgid "No OAUTH refresh command defined" +-msgstr "Команда запроса не определена" +- +-#: mutt_account.c:390 +-msgid "Unable to run refresh command" +-msgstr "" +- +-#: mutt_account.c:400 +-msgid "Command returned empty string" +-msgstr "" +- +-#: mutt_attach.c:140 mutt_attach.c:274 mutt_attach.c:459 mutt_attach.c:1054 ++#: mutt_attach.c:142 mutt_attach.c:276 mutt_attach.c:488 mutt_attach.c:1087 + msgid "Can't match 'nametemplate', continue?" + msgstr "Не удалось разобрать имя. Продолжить?" + +-#: mutt_attach.c:150 ++#: mutt_attach.c:152 + #, c-format + msgid "Mailcap compose entry requires %%s" + msgstr "Указанный в mailcap способ создания требует наличия параметра %%s" + +-#: mutt_attach.c:168 ++#: mutt_attach.c:170 + msgid "Failure to open file to parse headers" + msgstr "Не удалось открыть файл для разбора заголовков" + +-#: mutt_attach.c:202 ++#: mutt_attach.c:204 + msgid "Failure to open file to strip headers" + msgstr "Не удалось открыть файл для удаления заголовков" + +-#: mutt_attach.c:212 ++#: mutt_attach.c:214 + msgid "Failure to rename file" + msgstr "Не удалось переименовать файл" + +-#: mutt_attach.c:222 ++#: mutt_attach.c:224 + #, c-format + msgid "No mailcap compose entry for %s, creating empty file" + msgstr "В mailcap не определен способ создания для %s; создан пустой файл" + +-#: mutt_attach.c:284 ++#: mutt_attach.c:286 + #, c-format + msgid "Mailcap Edit entry requires %%s" + msgstr "Указанный в mailcap способ редактирования требует наличия параметра %%s" + +-#: mutt_attach.c:305 ++#: mutt_attach.c:307 + #, c-format + msgid "No mailcap edit entry for %s" + msgstr "В mailcap не определен способ редактирования для %s" + +-#: mutt_attach.c:427 ++#: mutt_attach.c:456 + msgid "No matching mailcap entry found. Viewing as text." + msgstr "Подходящая запись в mailcap не найдена; просмотр как текста." + +-#: mutt_attach.c:440 ++#: mutt_attach.c:469 + msgid "MIME type not defined. Can't view attachment." + msgstr "MIME-тип не определен. Невозможно просмотреть вложение." + +-#: mutt_attach.c:535 ++#: mutt_attach.c:563 + #, c-format + msgid "---Command: %-20.20s Description: %s" + msgstr "---Команда: %-20.20s Описание: %s" + +-#: mutt_attach.c:540 ++#: mutt_attach.c:568 + #, c-format + msgid "---Command: %-30.30s Attachment: %s" + msgstr "---Команда: %-30.30s Вложение: %s" + +-#: mutt_attach.c:619 ++#: mutt_attach.c:652 + #, c-format + msgid "---Attachment: %s: %s" + msgstr "---Вложение: %s: %s" + +-#: mutt_attach.c:621 ++#: mutt_attach.c:654 + #, c-format + msgid "---Attachment: %s" + msgstr "---Вложение: %s" + +-#: mutt_attach.c:902 mutt_attach.c:910 ++#: mutt_attach.c:935 mutt_attach.c:943 + msgid "Write fault" + msgstr "Ошибка записи" + +-#: mutt_attach.c:1174 ++#: mutt_attach.c:1207 + msgid "I don't know how to print that" + msgstr "Неизвестно, как это печатать" + +-#: mutt_history.c:47 query.c:84 ++#: mutt_history.c:47 query.c:82 + msgid "Search" + msgstr "Искать" + +@@ -3591,21 +3668,21 @@ msgstr "Искать" + msgid "History '%s'" + msgstr "Запрос \"%s\"" + +-#: mutt_logging.c:315 ++#: mutt_logging.c:313 + #, fuzzy, c-format + msgid "Invalid value for option %s: %ld" + msgstr "Неверное значение для параметра %s: \"%s\"" + +-#: mutt_lua.c:429 ++#: mutt_lua.c:431 + msgid "Error: Couldn't load the lua interpreter" + msgstr "" + +-#: mutt_lua.c:491 ++#: mutt_lua.c:493 + #, fuzzy, c-format + msgid "Couldn't source lua source: %s" + msgstr "Не удалось заблокировать %s\n" + +-#: mutt_mailbox.c:214 ++#: mutt_mailbox.c:241 + msgid "New mail in " + msgstr "Новая почта в " + +@@ -3626,20 +3703,20 @@ msgstr "Корневое сообщение не видимо при просм + msgid "Parent message is not visible in this limited view" + msgstr "Родительское сообщение не видимо при просмотре с ограничением" + +-#: mx.c:387 ++#: mx.c:385 + #, fuzzy, c-format + msgid "Reading from %s interrupted..." + msgstr "Поиск прерван." + + #. L10N: Displayed if a mailbox sync fails +-#: mx.c:468 ++#: mx.c:469 + #, fuzzy, c-format + msgid "Unable to write %s" + msgstr "Не удалось вложить %s" + + #. L10N: Although we know the precise number of messages, we do not show it to the user. + #. So feel free to use a "generic plural" as plural translation if your language has one. +-#: mx.c:523 ++#: mx.c:525 + #, fuzzy + msgid "message not deleted" + msgid_plural "messages not deleted" +@@ -3651,13 +3728,13 @@ msgstr[2] "сообщения не удалены" + msgid "Can't open trash folder" + msgstr "Не удалось открыть мусорную корзину" + +-#: mx.c:623 ++#: mx.c:627 + msgid "Mark all articles read?" + msgstr "" + + #. L10N: The first argument is the number of read messages to be + #. moved, the second argument is the target mailbox. +-#: mx.c:671 ++#: mx.c:675 + #, fuzzy, c-format + msgid "Move %d read message to %s?" + msgid_plural "Move %d read messages to %s?" +@@ -3665,7 +3742,7 @@ msgstr[0] "Переместить прочитанные сообщения в % + msgstr[1] "Переместить прочитанные сообщения в %s?" + msgstr[2] "Переместить прочитанные сообщения в %s?" + +-#: mx.c:685 mx.c:917 ++#: mx.c:689 mx.c:936 + #, fuzzy, c-format + msgid "Purge %d deleted message?" + msgid_plural "Purge %d deleted messages?" +@@ -3673,49 +3750,49 @@ msgstr[0] "Вычистить %d удаленное сообщение?" + msgstr[1] "Вычистить %d удаленных сообщений?" + msgstr[2] "Вычистить %d удаленных сообщений?" + +-#: mx.c:708 ++#: mx.c:712 + #, c-format + msgid "Moving read messages to %s..." + msgstr "Прочитанные сообщения перемещаются в %s..." + +-#: mx.c:774 mx.c:908 ++#: mx.c:783 mx.c:927 + msgid "Mailbox is unchanged" + msgstr "Почтовый ящик не изменился" + +-#: mx.c:827 ++#: mx.c:842 + #, c-format + msgid "%d kept, %d moved, %d deleted" + msgstr "Оставлено: %d, перемещено: %d, удалено: %d" + +-#: mx.c:831 mx.c:972 ++#: mx.c:846 mx.c:991 + #, c-format + msgid "%d kept, %d deleted" + msgstr "Оставлено: %d, удалено: %d" + +-#: mx.c:892 ++#: mx.c:911 + #, c-format + msgid " Press '%s' to toggle write" + msgstr " Используйте \"%s\" для разрешения/запрещения записи" + +-#: mx.c:894 ++#: mx.c:913 + msgid "Use 'toggle-write' to re-enable write" + msgstr "Используйте команду toggle-write для разрешения записи" + +-#: mx.c:896 ++#: mx.c:915 + #, c-format + msgid "Mailbox is marked unwritable. %s" + msgstr "Почтовый ящик стал доступен только для чтения. %s" + +-#: mx.c:966 ++#: mx.c:985 + msgid "Mailbox checkpointed" + msgstr "Почтовый ящик обновлен" + +-#: ncrypt/crypt.c:93 ++#: ncrypt/crypt.c:91 + #, c-format + msgid " (current time: %c)" + msgstr " (текущее время: %c)" + +-#: ncrypt/crypt.c:98 ++#: ncrypt/crypt.c:96 + #, c-format + msgid "[-- %s output follows%s --]\n" + msgstr "[-- Результат работы программы %s%s --]\n" +@@ -3724,52 +3801,52 @@ msgstr "[-- Результат работы программы %s%s --]\n" + #. by gpg-agent) we can't know whether we forgot zero, 1, 12, ... + #. passwords. So in English we use "Passphrases". Your language might + #. have other means to express this. +-#: ncrypt/crypt.c:119 ++#: ncrypt/crypt.c:117 + msgid "Passphrases forgotten" + msgstr "Фразы-пароли удалены из памяти" + +-#: ncrypt/crypt.c:203 ++#: ncrypt/crypt.c:201 + msgid "Inline PGP can't be used with attachments. Revert to PGP/MIME?" + msgstr "Невозможно использовать PGP/текст с вложениями. Применить PGP/MIME?" + +-#: ncrypt/crypt.c:207 ++#: ncrypt/crypt.c:205 + msgid "Mail not sent: inline PGP can't be used with attachments" + msgstr "Письмо не отправлено: невозможно использовать PGP/текст с вложениями" + +-#: ncrypt/crypt.c:214 ++#: ncrypt/crypt.c:212 + msgid "Inline PGP can't be used with format=flowed. Revert to PGP/MIME?" + msgstr "Невозможно использовать PGP/текст с format=flowed. Применить PGP/MIME?" + +-#: ncrypt/crypt.c:218 ++#: ncrypt/crypt.c:216 + msgid "Mail not sent: inline PGP can't be used with format=flowed" + msgstr "Письмо не отправлено: невозможно использовать PGP/текст с format=flowed" + +-#: ncrypt/crypt.c:228 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:714 +-#: ncrypt/pgpkey.c:915 ++#: ncrypt/crypt.c:226 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:747 ++#: ncrypt/pgpkey.c:950 + msgid "Invoking PGP..." + msgstr "Запускается программа PGP..." + +-#: ncrypt/crypt.c:240 ++#: ncrypt/crypt.c:238 + msgid "Message can't be sent inline. Revert to using PGP/MIME?" + msgstr "Не удалось отправить PGP-сообщение в текстовом формате. Использовать PGP/MIME?" + +-#: ncrypt/crypt.c:242 send.c:2430 ++#: ncrypt/crypt.c:240 send.c:2441 + msgid "Mail not sent" + msgstr "Письмо не отправлено" + +-#: ncrypt/crypt.c:662 ++#: ncrypt/crypt.c:666 + msgid "S/MIME messages with no hints on content are unsupported" + msgstr "S/MIME-сообщения без указания типа содержимого не поддерживаются" + +-#: ncrypt/crypt.c:888 ++#: ncrypt/crypt.c:892 + msgid "Trying to extract PGP keys...\n" + msgstr "Попытка извлечь PGP ключи...\n" + +-#: ncrypt/crypt.c:917 ++#: ncrypt/crypt.c:921 + msgid "Trying to extract S/MIME certificates..." + msgstr "Попытка извлечь S/MIME сертификаты..." + +-#: ncrypt/crypt.c:1140 ++#: ncrypt/crypt.c:1144 + #, c-format + msgid "" + "[-- Error: Unknown multipart/signed protocol %s --]\n" +@@ -3778,7 +3855,7 @@ msgstr "" + "[-- Ошибка: неизвестный multipart/signed протокол %s --]\n" + "\n" + +-#: ncrypt/crypt.c:1180 ++#: ncrypt/crypt.c:1184 + msgid "" + "[-- Error: Missing or bad-format multipart/signed signature --]\n" + "\n" +@@ -3786,7 +3863,7 @@ msgstr "" + "[-- Ошибка: отсутствует или нарушена структура multipart/signed-сообщения --]\n" + "\n" + +-#: ncrypt/crypt.c:1222 ++#: ncrypt/crypt.c:1226 + #, c-format + msgid "" + "[-- Warning: We can't verify %s/%s signatures. --]\n" +@@ -3795,7 +3872,7 @@ msgstr "" + "[-- Предупреждение: не удалось проверить %s/%s подписи. --]\n" + "\n" + +-#: ncrypt/crypt.c:1235 ++#: ncrypt/crypt.c:1239 + msgid "" + "[-- The following data is signed --]\n" + "\n" +@@ -3803,7 +3880,7 @@ msgstr "" + "[-- Начало подписанных данных --]\n" + "\n" + +-#: ncrypt/crypt.c:1243 ++#: ncrypt/crypt.c:1248 + msgid "" + "[-- Warning: Can't find any signatures. --]\n" + "\n" +@@ -3811,7 +3888,7 @@ msgstr "" + "[-- Предупреждение: не найдено ни одной подписи. --]\n" + "\n" + +-#: ncrypt/crypt.c:1249 ++#: ncrypt/crypt.c:1255 + msgid "" + "\n" + "[-- End of signed data --]\n" +@@ -3830,229 +3907,229 @@ msgstr "Вызывается S/MIME..." + #. L10N: The following are the headers for the "verify key" output from the + #. GPGME key selection menu (bound to "c" in the key selection menu). + #. They will be automatically aligned. +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Name: " + msgstr "Имя: " + +-#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1869 ncrypt/crypt_gpgme.c:1874 ++#: ncrypt/crypt_gpgme.c:183 ncrypt/crypt_gpgme.c:1900 ncrypt/crypt_gpgme.c:1905 + msgid "aka: " + msgstr "aka: " + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Valid From: " + msgstr "Действ. с: " + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Valid To: " + msgstr "Действ. до: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Key Type: " + msgstr "Тип ключа: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Key Usage: " + msgstr "Использование: " + +-#: ncrypt/crypt_gpgme.c:185 ncrypt/crypt_gpgme.c:1759 ++#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1790 + msgid "Fingerprint: " + msgstr "Отпечаток пальца: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Serial-No: " + msgstr "Сер. номер: " + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + msgid "Issued By: " + msgstr "Издан: " + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + msgid "Subkey: " + msgstr "Подключ: " + +-#: ncrypt/crypt_gpgme.c:783 ++#: ncrypt/crypt_gpgme.c:782 + #, c-format + msgid "error enabling CMS protocol: %s" + msgstr "ошибка включения CMS протокола: %s" + +-#: ncrypt/crypt_gpgme.c:806 ++#: ncrypt/crypt_gpgme.c:805 + #, c-format + msgid "error creating gpgme data object: %s" + msgstr "ошибка создания объекта данных gpgme: %s" + +-#: ncrypt/crypt_gpgme.c:907 ncrypt/crypt_gpgme.c:934 ncrypt/crypt_gpgme.c:2057 +-#: ncrypt/crypt_gpgme.c:2814 ++#: ncrypt/crypt_gpgme.c:906 ncrypt/crypt_gpgme.c:933 ncrypt/crypt_gpgme.c:2096 ++#: ncrypt/crypt_gpgme.c:2853 + #, c-format + msgid "error allocating data object: %s" + msgstr "ошибка размещения объекта данных: %s" + +-#: ncrypt/crypt_gpgme.c:956 ++#: ncrypt/crypt_gpgme.c:955 + #, c-format + msgid "error rewinding data object: %s" + msgstr "ошибка позиционирования в начало объекта данных: %s" + +-#: ncrypt/crypt_gpgme.c:972 ++#: ncrypt/crypt_gpgme.c:971 + msgid "[tempfile]" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:978 ncrypt/crypt_gpgme.c:1032 ++#: ncrypt/crypt_gpgme.c:977 ncrypt/crypt_gpgme.c:1031 + #, c-format + msgid "error reading data object: %s" + msgstr "ошибка чтения объекта данных: %s" + +-#: ncrypt/crypt_gpgme.c:1149 ++#: ncrypt/crypt_gpgme.c:1148 + #, fuzzy, c-format + msgid "error adding recipient '%s': %s" + msgstr "ошибка добавления получателя \"%s\": %s" + +-#: ncrypt/crypt_gpgme.c:1202 ++#: ncrypt/crypt_gpgme.c:1186 + #, c-format + msgid "secret key '%s' not found: %s" + msgstr "секретный ключ \"%s\" не найден: %s" + +-#: ncrypt/crypt_gpgme.c:1218 ++#: ncrypt/crypt_gpgme.c:1203 + #, fuzzy, c-format + msgid "ambiguous specification of secret key '%s'\n" + msgstr "неоднозначное указание секретного ключа \"%s\"" + +-#: ncrypt/crypt_gpgme.c:1234 ++#: ncrypt/crypt_gpgme.c:1219 + #, c-format + msgid "error setting secret key '%s': %s" + msgstr "ошибка установки секретного ключа \"%s\": %s" + +-#: ncrypt/crypt_gpgme.c:1250 ++#: ncrypt/crypt_gpgme.c:1278 + #, c-format + msgid "error setting PKA signature notation: %s" + msgstr "ошибка установки примечания к подписи: %s" + +-#: ncrypt/crypt_gpgme.c:1324 ++#: ncrypt/crypt_gpgme.c:1353 + #, c-format + msgid "error encrypting data: %s" + msgstr "ошибка шифрования данных: %s" + +-#: ncrypt/crypt_gpgme.c:1453 ++#: ncrypt/crypt_gpgme.c:1483 + #, c-format + msgid "error signing data: %s" + msgstr "ошибка подписывания данных: %s" + +-#: ncrypt/crypt_gpgme.c:1463 ++#: ncrypt/crypt_gpgme.c:1493 + msgid "$pgp_sign_as unset and no default key specified in ~/.gnupg/gpg.conf" + msgstr "ключ по умолчанию не определён в $pgp_sign_as и в ~/.gnupg/gpg.conf" + +-#: ncrypt/crypt_gpgme.c:1641 ++#: ncrypt/crypt_gpgme.c:1672 + msgid "Warning: One of the keys has been revoked\n" + msgstr "Предупреждение: один из ключей был отозван\n" + +-#: ncrypt/crypt_gpgme.c:1651 ++#: ncrypt/crypt_gpgme.c:1682 + msgid "Warning: The key used to create the signature expired at: " + msgstr "Предупреждение: ключ, используемый для создания подписи, просрочен: " + +-#: ncrypt/crypt_gpgme.c:1657 ++#: ncrypt/crypt_gpgme.c:1688 + msgid "Warning: At least one certification key has expired\n" + msgstr "Предупреждение: срок действия одного или нескольких сертификатов истек\n" + +-#: ncrypt/crypt_gpgme.c:1671 ++#: ncrypt/crypt_gpgme.c:1702 + msgid "Warning: The signature expired at: " + msgstr "Предупреждение: срок действия подписи истёк: " + +-#: ncrypt/crypt_gpgme.c:1678 ++#: ncrypt/crypt_gpgme.c:1709 + msgid "Can't verify due to a missing key or certificate\n" + msgstr "Не удалось проверить по причине отсутствия ключа или сертификата\n" + +-#: ncrypt/crypt_gpgme.c:1683 ++#: ncrypt/crypt_gpgme.c:1714 + msgid "The CRL is not available\n" + msgstr "CRL не доступен\n" + +-#: ncrypt/crypt_gpgme.c:1689 ++#: ncrypt/crypt_gpgme.c:1720 + msgid "Available CRL is too old\n" + msgstr "Доступный CRL слишком старый\n" + +-#: ncrypt/crypt_gpgme.c:1694 ++#: ncrypt/crypt_gpgme.c:1725 + msgid "A policy requirement was not met\n" + msgstr "Требование политики не было обнаружено\n" + +-#: ncrypt/crypt_gpgme.c:1703 ++#: ncrypt/crypt_gpgme.c:1734 + msgid "A system error occurred" + msgstr "Системная ошибка" + +-#: ncrypt/crypt_gpgme.c:1734 ++#: ncrypt/crypt_gpgme.c:1765 + msgid "WARNING: PKA entry does not match signer's address: " + msgstr "ПРЕДУПРЕЖДЕНИЕ: PKA запись не соответствует адресу владельца:" + +-#: ncrypt/crypt_gpgme.c:1740 ++#: ncrypt/crypt_gpgme.c:1771 + msgid "PKA verified signer's address is: " + msgstr "Адрес, проверенный при помощи PKA: " + +-#: ncrypt/crypt_gpgme.c:1822 ++#: ncrypt/crypt_gpgme.c:1853 + msgid "WARNING: We have NO indication whether the key belongs to the person named as shown above\n" + msgstr "ПРЕДУПРЕЖДЕНИЕ: НЕ известно, принадлежит ли данный ключ указанной выше персоне\n" + +-#: ncrypt/crypt_gpgme.c:1829 ++#: ncrypt/crypt_gpgme.c:1860 + msgid "WARNING: The key does NOT BELONG to the person named as shown above\n" + msgstr "ПРЕДУПРЕЖДЕНИЕ: ключ НЕ ПРИНАДЛЕЖИТ указанной выше персоне\n" + +-#: ncrypt/crypt_gpgme.c:1833 ++#: ncrypt/crypt_gpgme.c:1864 + msgid "WARNING: It is NOT certain that the key belongs to the person named as shown above\n" + msgstr "ПРЕДУПРЕЖДЕНИЕ: НЕТ уверенности в том, что ключ принадлежит указанной выше персоне\n" + +-#: ncrypt/crypt_gpgme.c:1886 ++#: ncrypt/crypt_gpgme.c:1917 + msgid "KeyID " + msgstr "ID ключа " + + #. L10N: You will see this message in place of "KeyID " + #. if the S/MIME key has no ID. This is quite an error. +-#: ncrypt/crypt_gpgme.c:1893 ++#: ncrypt/crypt_gpgme.c:1924 + msgid "no signature fingerprint available" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1902 ncrypt/crypt_gpgme.c:1907 ++#: ncrypt/crypt_gpgme.c:1933 ncrypt/crypt_gpgme.c:1938 + msgid "created: " + msgstr "создано: " + +-#: ncrypt/crypt_gpgme.c:1981 ++#: ncrypt/crypt_gpgme.c:2012 + #, c-format + msgid "Error getting key information for KeyID %s: %s\n" + msgstr "Ошибка получения информации о ключе с ID %s: %s\n" + +-#: ncrypt/crypt_gpgme.c:1988 ncrypt/crypt_gpgme.c:2003 ++#: ncrypt/crypt_gpgme.c:2019 ncrypt/crypt_gpgme.c:2034 + msgid "Good signature from:" + msgstr "Хорошая подпись от:" + +-#: ncrypt/crypt_gpgme.c:1995 ++#: ncrypt/crypt_gpgme.c:2026 + msgid "*BAD* signature from:" + msgstr "*ПЛОХАЯ* подпись от:" + +-#: ncrypt/crypt_gpgme.c:2011 ++#: ncrypt/crypt_gpgme.c:2042 + msgid "Problem signature from:" + msgstr "Сомнительная подпись от:" + + #. L10N: This is trying to match the width of the + #. "Problem signature from:" translation just above. +-#: ncrypt/crypt_gpgme.c:2017 ++#: ncrypt/crypt_gpgme.c:2048 + msgid " expires: " + msgstr " действительна до: " + +-#: ncrypt/crypt_gpgme.c:2064 ncrypt/crypt_gpgme.c:2294 +-#: ncrypt/crypt_gpgme.c:3081 ++#: ncrypt/crypt_gpgme.c:2103 ncrypt/crypt_gpgme.c:2333 ++#: ncrypt/crypt_gpgme.c:3124 + msgid "[-- Begin signature information --]\n" + msgstr "[-- Начало информации о подписи --]\n" + +-#: ncrypt/crypt_gpgme.c:2075 ++#: ncrypt/crypt_gpgme.c:2114 + #, c-format + msgid "Error: verification failed: %s\n" + msgstr "Ошибка: проверка не удалась: %s\n" + +-#: ncrypt/crypt_gpgme.c:2126 ++#: ncrypt/crypt_gpgme.c:2165 + #, c-format + msgid "*** Begin Notation (signature by: %s) ***\n" + msgstr "*** Начало системы обозначения (подпись от: %s) ***\n" + +-#: ncrypt/crypt_gpgme.c:2145 ++#: ncrypt/crypt_gpgme.c:2184 + msgid "*** End Notation ***\n" + msgstr "*** Конец системы обозначения ***\n" + +-#: ncrypt/crypt_gpgme.c:2153 ncrypt/crypt_gpgme.c:2308 +-#: ncrypt/crypt_gpgme.c:3091 ++#: ncrypt/crypt_gpgme.c:2192 ncrypt/crypt_gpgme.c:2347 ++#: ncrypt/crypt_gpgme.c:3134 + msgid "" + "[-- End signature information --]\n" + "\n" +@@ -4060,7 +4137,7 @@ msgstr "" + "[-- Конец информации о подписи --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:2268 ++#: ncrypt/crypt_gpgme.c:2307 + #, c-format + msgid "" + "[-- Error: decryption failed: %s --]\n" +@@ -4069,21 +4146,26 @@ msgstr "" + "[-- Ошибка: не удалось расшифровать: %s --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:2821 ++#: ncrypt/crypt_gpgme.c:2860 + #, fuzzy, c-format + msgid "Error importing key: %s" + msgstr "Ошибка экспорта ключа: %s" + +-#: ncrypt/crypt_gpgme.c:3059 ++#: ncrypt/crypt_gpgme.c:3098 + #, c-format + msgid "Error: decryption/verification failed: %s\n" + msgstr "Ошибка: не удалось расшифровать или проверить подпись: %s\n" + +-#: ncrypt/crypt_gpgme.c:3103 ++#: ncrypt/crypt_gpgme.c:3105 ncrypt/crypt_gpgme.c:3302 ncrypt/pgp.c:726 ++#: ncrypt/pgp.c:1273 ++msgid "PGP message successfully decrypted" ++msgstr "PGP-сообщение успешно расшифровано" ++ ++#: ncrypt/crypt_gpgme.c:3146 + msgid "Error: copy data failed\n" + msgstr "Ошибка: не удалось скопировать данные\n" + +-#: ncrypt/crypt_gpgme.c:3116 ncrypt/pgp.c:675 ++#: ncrypt/crypt_gpgme.c:3159 ncrypt/pgp.c:674 + msgid "" + "[-- BEGIN PGP MESSAGE --]\n" + "\n" +@@ -4091,11 +4173,11 @@ msgstr "" + "[-- Начало PGP-сообщения --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3118 ncrypt/pgp.c:677 ++#: ncrypt/crypt_gpgme.c:3161 ncrypt/pgp.c:676 + msgid "[-- BEGIN PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- Начало блока открытого PGP-ключа --]\n" + +-#: ncrypt/crypt_gpgme.c:3120 ncrypt/pgp.c:679 ++#: ncrypt/crypt_gpgme.c:3163 ncrypt/pgp.c:678 + msgid "" + "[-- BEGIN PGP SIGNED MESSAGE --]\n" + "\n" +@@ -4103,19 +4185,19 @@ msgstr "" + "[-- Начало сообщения, подписанного PGP --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3145 ncrypt/pgp.c:716 ++#: ncrypt/crypt_gpgme.c:3188 ncrypt/pgp.c:715 + msgid "[-- END PGP MESSAGE --]\n" + msgstr "[-- Конец PGP-сообщения --]\n" + +-#: ncrypt/crypt_gpgme.c:3147 ncrypt/pgp.c:730 ++#: ncrypt/crypt_gpgme.c:3190 ncrypt/pgp.c:729 + msgid "[-- END PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- Конец блока открытого PGP-ключа --]\n" + +-#: ncrypt/crypt_gpgme.c:3149 ncrypt/pgp.c:732 ++#: ncrypt/crypt_gpgme.c:3192 ncrypt/pgp.c:731 + msgid "[-- END PGP SIGNED MESSAGE --]\n" + msgstr "[-- Конец сообщения, подписанного PGP --]\n" + +-#: ncrypt/crypt_gpgme.c:3170 ncrypt/pgp.c:765 ++#: ncrypt/crypt_gpgme.c:3213 ncrypt/pgp.c:764 + msgid "" + "[-- Error: could not find beginning of PGP message --]\n" + "\n" +@@ -4123,11 +4205,11 @@ msgstr "" + "[-- Ошибка: не удалось найти начало PGP-сообщения --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3198 ncrypt/crypt_gpgme.c:3296 ncrypt/pgp.c:1218 ++#: ncrypt/crypt_gpgme.c:3241 ncrypt/crypt_gpgme.c:3339 ncrypt/pgp.c:1218 + msgid "[-- Error: could not create temporary file --]\n" + msgstr "[-- Ошибка: не удалось создать временный файл --]\n" + +-#: ncrypt/crypt_gpgme.c:3212 ++#: ncrypt/crypt_gpgme.c:3255 + msgid "" + "[-- The following data is PGP/MIME signed and encrypted --]\n" + "\n" +@@ -4135,7 +4217,7 @@ msgstr "" + "[-- Начало данных, подписанных и зашифрованных в формате PGP/MIME --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3214 ncrypt/pgp.c:1231 ++#: ncrypt/crypt_gpgme.c:3257 ncrypt/pgp.c:1232 + msgid "" + "[-- The following data is PGP/MIME encrypted --]\n" + "\n" +@@ -4143,24 +4225,20 @@ msgstr "" + "[-- Начало данных, зашифрованных в формате PGP/MIME --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3254 ++#: ncrypt/crypt_gpgme.c:3297 + msgid "[-- End of PGP/MIME signed and encrypted data --]\n" + msgstr "[-- Конец данных, подписанных и зашифрованных в формате PGP/MIME --]\n" + +-#: ncrypt/crypt_gpgme.c:3255 ncrypt/pgp.c:1267 ++#: ncrypt/crypt_gpgme.c:3298 ncrypt/pgp.c:1268 + msgid "[-- End of PGP/MIME encrypted data --]\n" + msgstr "[-- Конец данных, зашифрованных в формате PGP/MIME --]\n" + +-#: ncrypt/crypt_gpgme.c:3259 ncrypt/pgp.c:727 ncrypt/pgp.c:1272 +-msgid "PGP message successfully decrypted" +-msgstr "PGP-сообщение успешно расшифровано" +- +-#: ncrypt/crypt_gpgme.c:3265 ncrypt/pgp.c:666 ncrypt/pgp.c:718 +-#: ncrypt/pgp.c:1276 ++#: ncrypt/crypt_gpgme.c:3308 ncrypt/pgp.c:665 ncrypt/pgp.c:717 ++#: ncrypt/pgp.c:1277 + msgid "Could not decrypt PGP message" + msgstr "Не удалось расшифровать PGP-сообщение" + +-#: ncrypt/crypt_gpgme.c:3310 ++#: ncrypt/crypt_gpgme.c:3353 + msgid "" + "[-- The following data is S/MIME signed --]\n" + "\n" +@@ -4168,7 +4246,7 @@ msgstr "" + "[-- Начало данных, подписанных в формате S/MIME --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3311 ++#: ncrypt/crypt_gpgme.c:3354 + msgid "" + "[-- The following data is S/MIME encrypted --]\n" + "\n" +@@ -4176,34 +4254,34 @@ msgstr "" + "[-- Начало данных, зашифрованных в формате S/MIME --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3358 ++#: ncrypt/crypt_gpgme.c:3401 + msgid "[-- End of S/MIME signed data --]\n" + msgstr "[-- Конец данных, подписанных в формате S/MIME --]\n" + +-#: ncrypt/crypt_gpgme.c:3359 ++#: ncrypt/crypt_gpgme.c:3402 + msgid "[-- End of S/MIME encrypted data --]\n" + msgstr "[-- Конец данных, зашифрованных в формате S/MIME --]\n" + +-#: ncrypt/crypt_gpgme.c:4029 ++#: ncrypt/crypt_gpgme.c:4077 + msgid "[Can't display this user ID (unknown encoding)]" + msgstr "[Не возможно отобразить ID этого пользователя (неизвестная кодировка)]" + +-#: ncrypt/crypt_gpgme.c:4031 ++#: ncrypt/crypt_gpgme.c:4079 + msgid "[Can't display this user ID (invalid encoding)]" + msgstr "[Не возможно отобразить ID этого пользователя (неправильная кодировка)]" + +-#: ncrypt/crypt_gpgme.c:4036 ++#: ncrypt/crypt_gpgme.c:4084 + msgid "[Can't display this user ID (invalid DN)]" + msgstr "[Не возможно отобразить ID этого пользователя (неправильный DN)" + + #. L10N: comes after the Name or aka if the key is invalid + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4150 ncrypt/crypt_gpgme.c:4291 ++#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4339 + msgid "[Invalid]" + msgstr "[Неправильное значение]" + + #. L10N: This is printed after "Key Type: " and looks like this: PGP, 2048 bit RSA +-#: ncrypt/crypt_gpgme.c:4190 ncrypt/crypt_gpgme.c:4331 ++#: ncrypt/crypt_gpgme.c:4238 ncrypt/crypt_gpgme.c:4379 + #, fuzzy, c-format + msgid "%s, %lu bit %s\n" + msgid_plural "%s, %lu bit %s\n" +@@ -4212,94 +4290,94 @@ msgstr[1] "%s, %lu бит %s\n" + msgstr[2] "%s, %lu бит %s\n" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4338 ++#: ncrypt/crypt_gpgme.c:4246 ncrypt/crypt_gpgme.c:4386 + msgid "encryption" + msgstr "шифрование" + +-#: ncrypt/crypt_gpgme.c:4199 ncrypt/crypt_gpgme.c:4205 +-#: ncrypt/crypt_gpgme.c:4339 ncrypt/crypt_gpgme.c:4344 ++#: ncrypt/crypt_gpgme.c:4247 ncrypt/crypt_gpgme.c:4253 ++#: ncrypt/crypt_gpgme.c:4387 ncrypt/crypt_gpgme.c:4392 + msgid ", " + msgstr ", " + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4204 ncrypt/crypt_gpgme.c:4343 ++#: ncrypt/crypt_gpgme.c:4252 ncrypt/crypt_gpgme.c:4391 + msgid "signing" + msgstr "подпись" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4210 ncrypt/crypt_gpgme.c:4348 ++#: ncrypt/crypt_gpgme.c:4258 ncrypt/crypt_gpgme.c:4396 + msgid "certification" + msgstr "сертификация" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4285 ++#: ncrypt/crypt_gpgme.c:4333 + msgid "[Revoked]" + msgstr "[Отозван]" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4297 ++#: ncrypt/crypt_gpgme.c:4345 + msgid "[Expired]" + msgstr "[Просрочен]" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4303 ++#: ncrypt/crypt_gpgme.c:4351 + msgid "[Disabled]" + msgstr "[Запрещён]" + +-#: ncrypt/crypt_gpgme.c:4376 ++#: ncrypt/crypt_gpgme.c:4424 + msgid "Collecting data..." + msgstr "Сбор данных..." + +-#: ncrypt/crypt_gpgme.c:4394 ++#: ncrypt/crypt_gpgme.c:4442 + #, c-format + msgid "Error finding issuer key: %s\n" + msgstr "Ошибка поиска ключа издателя: %s\n" + +-#: ncrypt/crypt_gpgme.c:4403 ++#: ncrypt/crypt_gpgme.c:4451 + msgid "Error: certification chain too long - stopping here\n" + msgstr "Ошибка: цепь сертификации слишком длинная - поиск прекращён\n" + +-#: ncrypt/crypt_gpgme.c:4413 ncrypt/pgpkey.c:733 ++#: ncrypt/crypt_gpgme.c:4461 ncrypt/pgpkey.c:766 + #, c-format + msgid "Key ID: 0x%s" + msgstr "Идентификатор ключа: 0x%s" + +-#: ncrypt/crypt_gpgme.c:4538 ncrypt/crypt_gpgme.c:4589 ++#: ncrypt/crypt_gpgme.c:4586 ncrypt/crypt_gpgme.c:4637 + #, c-format + msgid "gpgme_op_keylist_start failed: %s" + msgstr "Ошибка gpgme_op_keylist_start: %s" + +-#: ncrypt/crypt_gpgme.c:4577 ncrypt/crypt_gpgme.c:4619 +-#: ncrypt/crypt_gpgme.c:5355 ++#: ncrypt/crypt_gpgme.c:4625 ncrypt/crypt_gpgme.c:4667 ++#: ncrypt/crypt_gpgme.c:5435 + #, c-format + msgid "gpgme_op_keylist_next failed: %s" + msgstr "Ошибка gpgme_op_keylist_next: %s" + +-#: ncrypt/crypt_gpgme.c:4701 ++#: ncrypt/crypt_gpgme.c:4749 + msgid "All matching keys are marked expired/revoked" + msgstr "Все подходящие ключи помечены как просроченные или отозванные" + +-#: ncrypt/crypt_gpgme.c:4731 ncrypt/pgpkey.c:666 ncrypt/smime.c:551 ++#: ncrypt/crypt_gpgme.c:4779 ncrypt/pgpkey.c:669 ncrypt/smime.c:553 + msgid "Select " + msgstr "Выбрать " + +-#: ncrypt/crypt_gpgme.c:4733 ncrypt/pgpkey.c:668 ++#: ncrypt/crypt_gpgme.c:4781 ncrypt/pgpkey.c:671 + msgid "Check key " + msgstr "Тест ключа " + +-#: ncrypt/crypt_gpgme.c:4749 ++#: ncrypt/crypt_gpgme.c:4827 + msgid "PGP and S/MIME keys matching" + msgstr "PGP и S/MIME-ключи, соответствующие" + +-#: ncrypt/crypt_gpgme.c:4751 ++#: ncrypt/crypt_gpgme.c:4829 + msgid "PGP keys matching" + msgstr "PGP-ключи, соответствующие" + +-#: ncrypt/crypt_gpgme.c:4753 ++#: ncrypt/crypt_gpgme.c:4831 + msgid "S/MIME keys matching" + msgstr "S/MIME-ключи, соответствующие" + +-#: ncrypt/crypt_gpgme.c:4755 ++#: ncrypt/crypt_gpgme.c:4833 + msgid "keys matching" + msgstr "ключи, соответствующие" + +@@ -4307,59 +4385,59 @@ msgstr "ключи, соответствующие" + #. %1$s is one of the previous four entries. + #. %2$s is an address. + #. e.g. "S/MIME keys matching " +-#: ncrypt/crypt_gpgme.c:4763 ++#: ncrypt/crypt_gpgme.c:4841 + #, c-format + msgid "%s <%s>" + msgstr "%s <%s>" + + #. L10N: e.g. 'S/MIME keys matching "Michael Elkins".' +-#: ncrypt/crypt_gpgme.c:4768 ++#: ncrypt/crypt_gpgme.c:4846 + #, c-format + msgid "%s \"%s\"" + msgstr "%s \"%s\"" + +-#: ncrypt/crypt_gpgme.c:4796 ncrypt/pgpkey.c:754 ++#: ncrypt/crypt_gpgme.c:4874 ncrypt/pgpkey.c:787 + msgid "This key can't be used: expired/disabled/revoked" + msgstr "Этот ключ не может быть использован: просрочен, запрещен или отозван" + +-#: ncrypt/crypt_gpgme.c:4810 ncrypt/pgpkey.c:767 ncrypt/smime.c:581 ++#: ncrypt/crypt_gpgme.c:4888 ncrypt/pgpkey.c:800 ncrypt/smime.c:613 + #, fuzzy + msgid "ID is expired/disabled/revoked. Do you really want to use the key?" + msgstr "ID просрочен, запрещен или отозван. Использовать этот ключ?" + +-#: ncrypt/crypt_gpgme.c:4820 ncrypt/pgpkey.c:779 ++#: ncrypt/crypt_gpgme.c:4898 ncrypt/pgpkey.c:812 + #, fuzzy + msgid "ID is not valid. Do you really want to use the key?" + msgstr "ID недействителен. Использовать этот ключ?" + +-#: ncrypt/crypt_gpgme.c:4823 ncrypt/pgpkey.c:782 ++#: ncrypt/crypt_gpgme.c:4901 ncrypt/pgpkey.c:815 + #, fuzzy + msgid "ID is only marginally valid. Do you really want to use the key?" + msgstr "ID действителен только частично. Использовать этот ключ?" + +-#: ncrypt/crypt_gpgme.c:4831 ncrypt/pgpkey.c:775 ncrypt/smime.c:585 ++#: ncrypt/crypt_gpgme.c:4909 ncrypt/pgpkey.c:808 ncrypt/smime.c:617 + #, fuzzy + msgid "ID has undefined validity. Do you really want to use the key?" + msgstr "Степень доверия для ID не определена. Использовать этот ключ?" + +-#: ncrypt/crypt_gpgme.c:4911 ncrypt/crypt_gpgme.c:5024 ncrypt/pgpkey.c:1019 +-#: ncrypt/pgpkey.c:1146 ++#: ncrypt/crypt_gpgme.c:4991 ncrypt/crypt_gpgme.c:5104 ncrypt/pgpkey.c:1054 ++#: ncrypt/pgpkey.c:1181 + #, c-format + msgid "Looking for keys matching \"%s\"..." + msgstr "Поиск ключей, соответствующих \"%s\"..." + +-#: ncrypt/crypt_gpgme.c:5140 ncrypt/pgpkey.c:870 ncrypt/smime.c:924 ++#: ncrypt/crypt_gpgme.c:5220 ncrypt/pgpkey.c:905 ncrypt/smime.c:958 + #, c-format + msgid "No matching keys found for \"%s\"" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5190 ncrypt/pgp.c:1456 ++#: ncrypt/crypt_gpgme.c:5270 ncrypt/pgp.c:1457 + #, c-format + msgid "Use keyID = \"%s\" for %s?" + msgstr "Использовать ключ \"%s\" для %s?" + +-#: ncrypt/crypt_gpgme.c:5238 ncrypt/pgp.c:1505 ncrypt/smime.c:944 +-#: ncrypt/smime.c:1049 ++#: ncrypt/crypt_gpgme.c:5318 ncrypt/pgp.c:1506 ncrypt/smime.c:978 ++#: ncrypt/smime.c:1083 + #, c-format + msgid "Enter keyID for %s: " + msgstr "Введите идентификатор ключа для %s: " +@@ -4368,15 +4446,15 @@ msgstr "Введите идентификатор ключа для %s: " + #. mutt_gpgme_select_secret_key() tries to list all secret keys to choose + #. from. This error is displayed if no results were found. + #. +-#: ncrypt/crypt_gpgme.c:5364 ++#: ncrypt/crypt_gpgme.c:5444 + msgid "No secret keys found" + msgstr "Скретный ключ не найден" + +-#: ncrypt/crypt_gpgme.c:5398 ncrypt/pgpkey.c:888 ++#: ncrypt/crypt_gpgme.c:5478 ncrypt/pgpkey.c:923 + msgid "Please enter the key ID: " + msgstr "Введите, пожалуйста, идентификатор ключа: " + +-#: ncrypt/crypt_gpgme.c:5411 ++#: ncrypt/crypt_gpgme.c:5491 + #, c-format + msgid "Error exporting key: %s" + msgstr "Ошибка экспорта ключа: %s" +@@ -4384,96 +4462,96 @@ msgstr "Ошибка экспорта ключа: %s" + #. 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. +-#: ncrypt/crypt_gpgme.c:5429 ++#: ncrypt/crypt_gpgme.c:5509 + #, c-format + msgid "PGP Key 0x%s" + msgstr "PGP-ключ 0x%s" + +-#: ncrypt/crypt_gpgme.c:5474 ++#: ncrypt/crypt_gpgme.c:5554 + msgid "GPGME: OpenPGP protocol not available" + msgstr "GPGME: Протокол OpenPGP не доступен" + +-#: ncrypt/crypt_gpgme.c:5485 ++#: ncrypt/crypt_gpgme.c:5565 + msgid "GPGME: CMS protocol not available" + msgstr "GPGME: Протокол CMS не доступен" + +-#: ncrypt/crypt_gpgme.c:5536 ++#: ncrypt/crypt_gpgme.c:5616 + msgid "S/MIME (s)ign, sign (a)s, (p)gp, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME (s)подпись, (a)подпись как, (p)gp, (c)отказаться, отключить (o)ppenc?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5538 ++#: ncrypt/crypt_gpgme.c:5618 + msgid "sapco" + msgstr "sapco" + +-#: ncrypt/crypt_gpgme.c:5545 ++#: ncrypt/crypt_gpgme.c:5625 + msgid "PGP (s)ign, sign (a)s, s/(m)ime, (c)lear, or (o)ppenc mode off?" + msgstr "PGP (s)подпись, (a)подпись как, s/(m)ime, (c)отказаться, отключить (o)ppenc?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5547 ++#: ncrypt/crypt_gpgme.c:5627 + msgid "samco" + msgstr "samco" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5557 ++#: ncrypt/crypt_gpgme.c:5637 + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME (e)шифр, (s)подпись, (a)подпись как, (b)оба, (p)gp, (c)отказ, (o)ppenc?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5560 ++#: ncrypt/crypt_gpgme.c:5640 + #, fuzzy + msgid "esabpco" + msgstr "esabpc" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5566 ++#: ncrypt/crypt_gpgme.c:5646 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime, (c)lear, or (o)ppenc mode?" + msgstr "PGP (e)шифр, (s)подпись, (a)подпись как, (b)оба, s/(m)ime, (c)отказ, (o)ppenc?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5569 ++#: ncrypt/crypt_gpgme.c:5649 + #, fuzzy + msgid "esabmco" + msgstr "esabmco" + +-#: ncrypt/crypt_gpgme.c:5580 ++#: ncrypt/crypt_gpgme.c:5660 + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp or (c)lear?" + msgstr "S/MIME (e)шифр, (s)подпись, (a)подпись как, (b)оба, (p)gp, (c)отказаться?" + + #. L10N: S/MIME options +-#: ncrypt/crypt_gpgme.c:5582 ++#: ncrypt/crypt_gpgme.c:5662 + #, fuzzy + msgid "esabpc" + msgstr "esabpc" + +-#: ncrypt/crypt_gpgme.c:5589 ++#: ncrypt/crypt_gpgme.c:5669 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime or (c)lear?" + msgstr "PGP (e)шифр, (s)подпись, (a)подпись как, (b)оба, s/(m)ime, (c)отказаться?" + + #. L10N: PGP options +-#: ncrypt/crypt_gpgme.c:5591 ++#: ncrypt/crypt_gpgme.c:5671 + #, fuzzy + msgid "esabmc" + msgstr "esabmc" + +-#: ncrypt/crypt_gpgme.c:5751 ++#: ncrypt/crypt_gpgme.c:5831 + msgid "Failed to verify sender" + msgstr "Не удалось проверить отправителя" + +-#: ncrypt/crypt_gpgme.c:5754 ++#: ncrypt/crypt_gpgme.c:5834 + msgid "Failed to figure out sender" + msgstr "Не удалось вычислить отправителя" + +-#: ncrypt/pgp.c:108 ++#: ncrypt/pgp.c:107 + msgid "Enter PGP passphrase:" + msgstr "Введите PGP фразу-пароль:" + +-#: ncrypt/pgp.c:595 ++#: ncrypt/pgp.c:594 + msgid "[-- Error: unable to create PGP subprocess --]\n" + msgstr "[-- Ошибка: не удалось создать PGP-подпроцесс --]\n" + +-#: ncrypt/pgp.c:644 ncrypt/pgp.c:926 ncrypt/pgp.c:1086 ++#: ncrypt/pgp.c:643 ncrypt/pgp.c:925 ncrypt/pgp.c:1085 + msgid "" + "[-- End of PGP output --]\n" + "\n" +@@ -4484,15 +4562,15 @@ msgstr "" + #. L10N: You will see this error message if (1) you are decrypting + #. (not encrypting) something and (2) it is a plaintext. So the + #. message does not mean "You failed to encrypt the message." +-#: ncrypt/pgp.c:724 ++#: ncrypt/pgp.c:723 + msgid "PGP message is not encrypted" + msgstr "PGP-сообщение не зашифровано." + +-#: ncrypt/pgp.c:978 ++#: ncrypt/pgp.c:977 + msgid "Internal error. Please submit a bug report." + msgstr "Внутренняя ошибка. Пожалуйста, сообщите о ней разработчикам." + +-#: ncrypt/pgp.c:1043 ++#: ncrypt/pgp.c:1042 + msgid "" + "[-- Error: could not create a PGP subprocess --]\n" + "\n" +@@ -4500,129 +4578,129 @@ msgstr "" + "[-- Ошибка: не удалось создать PGP-подпроцесс --]\n" + "\n" + +-#: ncrypt/pgp.c:1073 ncrypt/pgp.c:1098 ncrypt/smime.c:2143 postpone.c:757 +-#: postpone.c:785 ++#: ncrypt/pgp.c:1072 ncrypt/pgp.c:1097 ncrypt/smime.c:2177 postpone.c:803 ++#: postpone.c:831 + msgid "Decryption failed" + msgstr "Расшифровать не удалась" + +-#: ncrypt/pgp.c:1333 ++#: ncrypt/pgp.c:1334 + msgid "Can't open PGP subprocess" + msgstr "Не удалось открыть PGP-подпроцесс" + +-#: ncrypt/pgp.c:1768 ++#: ncrypt/pgp.c:1770 + msgid "Can't invoke PGP" + msgstr "Не удалось запустить программу PGP" + + #. L10N: The next string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1875 ++#: ncrypt/pgp.c:1877 + msgid "PGP/M(i)ME" + msgstr "PGP/M(i)ME" + + #. L10N: The previous string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1881 ++#: ncrypt/pgp.c:1883 + msgid "(i)nline" + msgstr "(i)PGP/текст" + + #. L10N: PGP options (inline) (opportunistic encryption is on) +-#: ncrypt/pgp.c:1893 ++#: ncrypt/pgp.c:1895 + #, c-format + msgid "PGP (s)ign, sign (a)s, %s format, (c)lear, or (o)ppenc mode off?" + msgstr "PGP (s)подпись, (a)подпись как, %s, (c)отказаться, отключить (o)ppenc?" + + #. L10N: PGP options (inline) (opportunistic encryption is on) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1899 ++#: ncrypt/pgp.c:1901 + msgid "saico" + msgstr "saico" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1905 ++#: ncrypt/pgp.c:1907 + msgid "PGP (s)ign, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "PGP (s)подпись, (a)подпись как, (c)отказаться, отключить (o)ppenc?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1907 ++#: ncrypt/pgp.c:1909 + msgid "saco" + msgstr "saco" + + #. L10N: PGP options (inline) (opportunistic encryption is off) +-#: ncrypt/pgp.c:1921 ++#: ncrypt/pgp.c:1923 + #, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, (c)lear, or (o)ppenc mode?" + msgstr "PGP (e)шифр, (s)подпись, (a)подпись как, (b)оба, %s, (c)отказ, (o)ppenc?" + + #. L10N: PGP options (inline) (opportunistic encryption is off) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1927 ++#: ncrypt/pgp.c:1929 + #, fuzzy + msgid "esabico" + msgstr "esabico" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1933 ++#: ncrypt/pgp.c:1935 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "PGP (e)шифр, (s)подпись, (a)подпись как, (b)оба, (c)отказ, (o)ppenc?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1936 ++#: ncrypt/pgp.c:1938 + #, fuzzy + msgid "esabco" + msgstr "esabco" + + #. L10N: PGP options (inline) +-#: ncrypt/pgp.c:1947 ++#: ncrypt/pgp.c:1949 + #, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, or (c)lear?" + msgstr "PGP (e)шифр, (s)подпись, (a)подпись как, (b)оба, %s, (c)отказаться?" + + #. L10N: PGP options (inline) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1953 ++#: ncrypt/pgp.c:1955 + #, fuzzy + msgid "esabic" + msgstr "esabic" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1959 ++#: ncrypt/pgp.c:1961 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (c)lear?" + msgstr "PGP (e)шифр, (s)подпись, (a)подпись как, (b)оба, (c)отказаться?" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1961 ++#: ncrypt/pgp.c:1963 + #, fuzzy + msgid "esabc" + msgstr "esabc" + +-#: ncrypt/pgpinvoke.c:458 ++#: ncrypt/pgpinvoke.c:461 + msgid "Fetching PGP key..." + msgstr "Получение PGP-ключа..." + +-#: ncrypt/pgpkey.c:640 ++#: ncrypt/pgpkey.c:643 + msgid "All matching keys are expired, revoked, or disabled" + msgstr "Все подходящие ключи помечены как просроченные, отозванные или запрещённые" + +-#: ncrypt/pgpkey.c:681 ++#: ncrypt/pgpkey.c:714 + #, c-format + msgid "PGP keys matching <%s>" + msgstr "PGP-ключи, соответствующие <%s>" + +-#: ncrypt/pgpkey.c:683 ++#: ncrypt/pgpkey.c:716 + #, c-format + msgid "PGP keys matching \"%s\"" + msgstr "PGP-ключи, соответствующие \"%s\"" + +-#: ncrypt/pgpkey.c:700 ncrypt/pgpkey.c:909 ++#: ncrypt/pgpkey.c:733 ncrypt/pgpkey.c:944 + msgid "Can't open /dev/null" + msgstr "Не удалось открыть /dev/null" + +-#: ncrypt/pgpkey.c:938 ++#: ncrypt/pgpkey.c:973 + #, c-format + msgid "PGP Key %s" + msgstr "PGP-ключ %s" + +-#: ncrypt/smime.c:182 ++#: ncrypt/smime.c:180 + msgid "Enter S/MIME passphrase:" + msgstr "Введите S/MIME фразу-пароль:" + +@@ -4631,7 +4709,7 @@ msgstr "Введите S/MIME фразу-пароль:" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:460 ++#: ncrypt/smime.c:462 + msgid "Expired " + msgstr "Просроченный " + +@@ -4640,7 +4718,7 @@ msgstr "Просроченный " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:468 ++#: ncrypt/smime.c:470 + msgid "Invalid " + msgstr "Неправильный " + +@@ -4649,7 +4727,7 @@ msgstr "Неправильный " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:476 ++#: ncrypt/smime.c:478 + msgid "Revoked " + msgstr "Отозванный " + +@@ -4658,7 +4736,7 @@ msgstr "Отозванный " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:484 ++#: ncrypt/smime.c:486 + msgid "Trusted " + msgstr "Доверенный " + +@@ -4667,7 +4745,7 @@ msgstr "Доверенный " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:492 ++#: ncrypt/smime.c:494 + msgid "Unverified" + msgstr "Непроверенный" + +@@ -4676,7 +4754,7 @@ msgstr "Непроверенный" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:500 ++#: ncrypt/smime.c:502 + msgid "Verified " + msgstr "Проверенный " + +@@ -4685,59 +4763,59 @@ msgstr "Проверенный " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:508 ++#: ncrypt/smime.c:510 + msgid "Unknown " + msgstr "Неизвестный " + +-#: ncrypt/smime.c:545 ++#: ncrypt/smime.c:547 + #, c-format + msgid "S/MIME certificates matching \"%s\"" + msgstr "S/MIME-сертификаты, соответствующие \"%s\"" + +-#: ncrypt/smime.c:589 ++#: ncrypt/smime.c:621 + #, fuzzy + msgid "ID is not trusted. Do you really want to use the key?" + msgstr "ID недоверенный. Использовать этот ключ?" + +-#: ncrypt/smime.c:910 ++#: ncrypt/smime.c:944 + msgid "Enter keyID: " + msgstr "Введите идентификатор ключа: " + +-#: ncrypt/smime.c:1055 ++#: ncrypt/smime.c:1089 + #, c-format + msgid "No (valid) certificate found for %s" + msgstr "Не найдено (правильного) сертификата для %s" + +-#: ncrypt/smime.c:1108 ncrypt/smime.c:1137 ncrypt/smime.c:1209 +-#: ncrypt/smime.c:1243 ncrypt/smime.c:1319 ncrypt/smime.c:1399 ++#: ncrypt/smime.c:1142 ncrypt/smime.c:1171 ncrypt/smime.c:1243 ++#: ncrypt/smime.c:1277 ncrypt/smime.c:1353 ncrypt/smime.c:1433 + msgid "Error: unable to create OpenSSL subprocess" + msgstr "Ошибка: не удалось создать OpenSSL-подпроцесс" + +-#: ncrypt/smime.c:1379 ++#: ncrypt/smime.c:1413 + msgid "Label for certificate: " + msgstr "Метка для сертификата: " + +-#: ncrypt/smime.c:1480 ++#: ncrypt/smime.c:1514 + msgid "no certfile" + msgstr "нет файла сертификата" + +-#: ncrypt/smime.c:1483 ++#: ncrypt/smime.c:1517 + msgid "no mbox" + msgstr "нет почтового ящика" + +-#: ncrypt/smime.c:1640 ncrypt/smime.c:1810 ++#: ncrypt/smime.c:1674 ncrypt/smime.c:1844 + msgid "No output from OpenSSL..." + msgstr "Нет вывода от программы OpenSSL..." + +-#: ncrypt/smime.c:1727 ++#: ncrypt/smime.c:1761 + msgid "Can't sign: No key specified. Use Sign As." + msgstr "Не удалось подписать: не указан ключ. Используйте \"подписать как\"." + +-#: ncrypt/smime.c:1777 ++#: ncrypt/smime.c:1811 + msgid "Can't open OpenSSL subprocess" + msgstr "Не удалось открыть OpenSSL-подпроцесс" + +-#: ncrypt/smime.c:2004 ncrypt/smime.c:2123 ++#: ncrypt/smime.c:2038 ncrypt/smime.c:2157 + msgid "" + "[-- End of OpenSSL output --]\n" + "\n" +@@ -4745,19 +4823,19 @@ msgstr "" + "[-- Конец вывода программы OpenSSL --]\n" + "\n" + +-#: ncrypt/smime.c:2080 ncrypt/smime.c:2093 ++#: ncrypt/smime.c:2114 ncrypt/smime.c:2127 + msgid "[-- Error: unable to create OpenSSL subprocess --]\n" + msgstr "[-- Ошибка: не удалось создать OpenSSL-подпроцесс --]\n" + +-#: ncrypt/smime.c:2129 ++#: ncrypt/smime.c:2163 + msgid "[-- The following data is S/MIME encrypted --]\n" + msgstr "[-- Начало данных, зашифрованных в формате S/MIME --]\n" + +-#: ncrypt/smime.c:2132 ++#: ncrypt/smime.c:2166 + msgid "[-- The following data is S/MIME signed --]\n" + msgstr "[-- Начало данных, подписанных в формате S/MIME --]\n" + +-#: ncrypt/smime.c:2225 ++#: ncrypt/smime.c:2259 + msgid "" + "\n" + "[-- End of S/MIME encrypted data. --]\n" +@@ -4765,7 +4843,7 @@ msgstr "" + "\n" + "[-- Конец данных, зашифрованных в формате S/MIME --]\n" + +-#: ncrypt/smime.c:2227 ++#: ncrypt/smime.c:2261 + msgid "" + "\n" + "[-- End of S/MIME signed data. --]\n" +@@ -4774,168 +4852,168 @@ msgstr "" + "[-- Конец данных, подписанных в формате S/MIME --]\n" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2361 ++#: ncrypt/smime.c:2395 + msgid "S/MIME (s)ign, encrypt (w)ith, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME (s)подпись, (w)шифр как, (a)подпись как, (c)отказ, отключить (o)ppenc?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2364 ++#: ncrypt/smime.c:2398 + msgid "swaco" + msgstr "swaco" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2372 ++#: ncrypt/smime.c:2406 + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME (e)шифр, (s)подпись, (w)шифр как, (a)подпись как, (b)оба, (c)отказ, (o)ppenc?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2375 ++#: ncrypt/smime.c:2409 + #, fuzzy + msgid "eswabco" + msgstr "eswabco" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2382 ++#: ncrypt/smime.c:2416 + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, or (c)lear?" + msgstr "S/MIME (e)шифр, (s)подпись, (w)шифр как, (a)подпись как, (b)оба, (c)отказ?" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2385 ++#: ncrypt/smime.c:2419 + #, fuzzy + msgid "eswabc" + msgstr "eswabc" + +-#: ncrypt/smime.c:2449 ++#: ncrypt/smime.c:2483 + msgid "Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear?" + msgstr "Выберите семейство алгоритмов: (1) DES, (2) RC2, (3) AES, (c)отказ?" + + #. L10N: Options for: Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear? +-#: ncrypt/smime.c:2452 ++#: ncrypt/smime.c:2486 + msgid "123c" + msgstr "123c" + +-#: ncrypt/smime.c:2455 ++#: ncrypt/smime.c:2489 + msgid "(1) DES, (2) Triple-DES?" + msgstr "(1) DES, (2) Triple-DES?" + + #. L10N: Options for: (1) DES, (2) Triple-DES +-#: ncrypt/smime.c:2457 ++#: ncrypt/smime.c:2491 + msgid "12" + msgstr "12" + +-#: ncrypt/smime.c:2470 ++#: ncrypt/smime.c:2504 + msgid "(1) RC2-40, (2) RC2-64, (3) RC2-128?" + msgstr "(1) RC2-40, (2) RC2-64, (3) RC2-128?" + + #. L10N: Options for: (1) RC2-40, (2) RC2-64, (3) RC2-128 + #. L10N: Options for: (1) AES128, (2) AES192, (3) AES256 +-#: ncrypt/smime.c:2472 ncrypt/smime.c:2490 ++#: ncrypt/smime.c:2506 ncrypt/smime.c:2524 + msgid "123" + msgstr "123" + +-#: ncrypt/smime.c:2488 ++#: ncrypt/smime.c:2522 + msgid "(1) AES128, (2) AES192, (3) AES256?" + msgstr "(1) AES128, (2) AES192, (3) AES256?" + +-#: nntp/newsrc.c:632 ++#: nntp/newsrc.c:639 + msgid "Loading list of groups from cache..." + msgstr "" + +-#: nntp/newsrc.c:997 ++#: nntp/newsrc.c:1023 + msgid "No news server defined" + msgstr "" + +-#: nntp/newsrc.c:1012 ++#: nntp/newsrc.c:1041 + #, fuzzy, c-format + msgid "%s is an invalid news server specification" + msgstr "Неверно указано имя POP-ящика: %s" + +-#: nntp/nntp.c:236 nntp/nntp.c:777 pop/pop.c:742 pop/pop_lib.c:398 ++#: nntp/nntp.c:238 nntp/nntp.c:779 pop/pop.c:742 pop/pop_lib.c:424 + msgid "Server closed connection" + msgstr "Сервер закрыл соединение" + +-#: nntp/nntp.c:340 ++#: nntp/nntp.c:342 + #, fuzzy + msgid "Server doesn't support reader mode" + msgstr "SMTP сервер не поддерживает аутентификацию" + +-#: nntp/nntp.c:576 pop/pop_auth.c:504 smtp.c:650 ++#: nntp/nntp.c:578 pop/pop_auth.c:505 smtp.c:675 + msgid "No authenticators available" + msgstr "Нет доступных методов аутентификации." + +-#: nntp/nntp.c:766 ++#: nntp/nntp.c:768 + #, fuzzy, c-format + msgid "%s authentication failed" + msgstr "Ошибка SASL-аутентификации" + +-#: nntp/nntp.c:826 ++#: nntp/nntp.c:828 + #, fuzzy, c-format + msgid "Connection to %s lost. Reconnect?" + msgstr "Соединение с %s закрыто" + +-#: nntp/nntp.c:1285 ++#: nntp/nntp.c:1287 + #, fuzzy + msgid "Fetching list of articles..." + msgstr "Получение списка сообщений..." + +-#: nntp/nntp.c:1549 nntp/nntp.c:2138 pop/pop.c:614 pop/pop.c:910 ++#: nntp/nntp.c:1551 nntp/nntp.c:2140 pop/pop.c:614 pop/pop.c:905 + msgid "Checking for new messages..." + msgstr "Проверка наличия новых сообщений..." + +-#: nntp/nntp.c:1864 nntp/nntp.c:1954 ++#: nntp/nntp.c:1866 nntp/nntp.c:1956 + #, fuzzy + msgid "Could not switch to reader mode" + msgstr "ошибка записи во временный почтовый ящик: %s" + +-#: nntp/nntp.c:1877 ++#: nntp/nntp.c:1879 + #, fuzzy, c-format + msgid "Connected to %s. %s" + msgstr "Устанавливается соединение с %s..." + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + #, fuzzy + msgid "Posting is ok" + msgstr "Нет помеченных сообщений" + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + msgid "Posting is NOT ok" + msgstr "" + +-#: nntp/nntp.c:2008 nntp/nntp.c:2043 ++#: nntp/nntp.c:2010 nntp/nntp.c:2045 + #, fuzzy, c-format + msgid "Can't post article: %s" + msgstr "Не удалось получить информацию о %s: %s" + +-#: nntp/nntp.c:2064 ++#: nntp/nntp.c:2066 + #, fuzzy, c-format + msgid "Loading list of groups from server %s..." + msgstr "Удаление сообщений с сервера..." + +-#: nntp/nntp.c:2106 nntp/nntp.c:2198 ++#: nntp/nntp.c:2108 nntp/nntp.c:2200 + #, fuzzy + msgid "Loading descriptions..." + msgstr "Регистрация..." + +-#: nntp/nntp.c:2128 ++#: nntp/nntp.c:2130 + #, fuzzy + msgid "Checking for new newsgroups..." + msgstr "Проверка наличия новых сообщений..." + +-#: nntp/nntp.c:2332 ++#: nntp/nntp.c:2334 + msgid "Unable to find child articles because server does not support XPAT command" + msgstr "" + +-#: nntp/nntp.c:2437 ++#: nntp/nntp.c:2439 + #, fuzzy, c-format + msgid "%s is an invalid newsgroup specification" + msgstr "Неверно указано имя POP-ящика: %s" + +-#: nntp/nntp.c:2476 ++#: nntp/nntp.c:2478 + #, c-format + msgid "Newsgroup %s not found on the server" + msgstr "" + +-#: nntp/nntp.c:2498 ++#: nntp/nntp.c:2500 + #, c-format + msgid "Newsgroup %s has been removed from the server" + msgstr "" +@@ -4947,7 +5025,7 @@ msgstr "" + + #: notmuch/mutt_notmuch.c:219 notmuch/mutt_notmuch.c:1939 + #, fuzzy, c-format +-msgid "failed to parse notmuch uri: %s" ++msgid "failed to parse notmuch url: %s" + msgstr "Не удалось распознать ссылку mailto:\n" + + #: notmuch/mutt_notmuch.c:449 +@@ -5024,11 +5102,11 @@ msgstr "удалить текущую учётную запись" + + #: opcodes.h:35 + msgid "toggle the current account active/inactive" +-msgstr "включение/выключение предпочтения шифрования учётной записи" ++msgstr "сделать учётную запись активной/неактивной" + + #: opcodes.h:36 + msgid "toggle the current account prefer-encrypt flag" +-msgstr "" ++msgstr "включение/выключение предпочтения шифрования учётной записи" + + #: opcodes.h:37 + msgid "move to the bottom of the page" +@@ -6077,187 +6155,187 @@ msgstr "скрыть/показать боковой список" + msgid "show S/MIME options" + msgstr "вывести параметры S/MIME" + +-#: pager.c:222 ++#: pager.c:214 + msgid "Not available in this menu" + msgstr "В этом меню недоступно" + +-#: pager.c:229 ++#: pager.c:221 + msgid "PrevPg" + msgstr "Назад" + +-#: pager.c:230 ++#: pager.c:222 + msgid "NextPg" + msgstr "Вперед" + +-#: pager.c:235 ++#: pager.c:227 + msgid "View Attachm." + msgstr "Вложения" + +-#: pager.c:238 pager.c:247 ++#: pager.c:230 pager.c:239 + msgid "Next" + msgstr "Следующий" + + #. L10N: Status bar message: the entire email is visible in the pager + #. L10N: Status bar message: all the emails are visible in the index +-#: pager.c:2180 status.c:278 ++#: pager.c:2136 status.c:278 + msgid "all" + msgstr "" + + #. L10N: Status bar message: the end of the email is visible in the pager + #. L10N: Status bar message: the end of the list emails is visible in the index +-#: pager.c:2182 status.c:276 ++#: pager.c:2138 status.c:276 + msgid "end" + msgstr "" + +-#: pager.c:2530 pager.c:2566 pager.c:2602 pager.c:2937 ++#: pager.c:2503 pager.c:2539 pager.c:2576 pager.c:2911 + msgid "Bottom of message is shown" + msgstr "Последняя строка сообщения уже на экране" + +-#: pager.c:2543 pager.c:2573 pager.c:2580 pager.c:2590 ++#: pager.c:2516 pager.c:2546 pager.c:2553 pager.c:2564 + msgid "Top of message is shown" + msgstr "Первая строка сообщения уже на экране" + +-#: pager.c:2840 ++#: pager.c:2814 + msgid "Help is currently being shown" + msgstr "Подсказка уже перед вами" + +-#: pager.c:2897 ++#: pager.c:2871 + msgid "No more quoted text" + msgstr "Нет больше цитируемого текста" + +-#: pager.c:2914 ++#: pager.c:2888 + msgid "No more unquoted text after quoted text" + msgstr "За цитируемым текстом больше нет основного текста" + +-#: pattern.c:220 pattern.c:297 pattern.c:1046 ++#: pattern.c:221 pattern.c:298 pattern.c:1085 + #, c-format + msgid "Error in expression: %s" + msgstr "Ошибка в выражении: %s" + +-#: pattern.c:226 pattern.c:302 pattern.c:1052 ++#: pattern.c:227 pattern.c:303 pattern.c:1091 + msgid "Empty expression" + msgstr "Пустое выражение" + +-#: pattern.c:288 ++#: pattern.c:289 + #, fuzzy + msgid "No search command defined" + msgstr "Команда запроса не определена" + +-#: pattern.c:326 ++#: pattern.c:327 + #, fuzzy, c-format + msgid "Running search command: %s ..." + msgstr "Запускается программа автопросмотра: %s" + +-#: pattern.c:417 ++#: pattern.c:441 pattern.c:456 + #, c-format + msgid "Invalid day of month: %s" + msgstr "Неверный день месяца: %s" + +-#: pattern.c:431 ++#: pattern.c:446 pattern.c:470 + #, c-format + msgid "Invalid month: %s" + msgstr "Неверное название месяца: %s" + +-#: pattern.c:534 ++#: pattern.c:573 + #, c-format + msgid "Invalid relative date: %s" + msgstr "Неверно указана относительная дата: %s" + +-#: pattern.c:842 pattern.c:975 ++#: pattern.c:881 pattern.c:1014 + #, fuzzy + msgid "No current message" + msgstr "Нет непрочитанных сообщений." + +-#: pattern.c:1002 ++#: pattern.c:1041 + msgid "No Context" + msgstr "" + +-#: pattern.c:1125 ++#: pattern.c:1164 + #, fuzzy + msgid "Error opening 'memory stream'" + msgstr "Ошибка открытия почтового ящика" + +-#: pattern.c:1171 ++#: pattern.c:1210 + #, fuzzy + msgid "Error re-opening 'memory stream'" + msgstr "Ошибка открытия почтового ящика" + +-#: pattern.c:1180 ++#: pattern.c:1219 + #, fuzzy + msgid "Error opening /dev/null" + msgstr "Не удалось открыть /dev/null" + +-#: pattern.c:1443 pattern.c:1620 ++#: pattern.c:1482 pattern.c:1662 + #, c-format + msgid "error in pattern at: %s" + msgstr "ошибка в образце: %s" + +-#: pattern.c:1476 ++#: pattern.c:1515 + #, c-format + msgid "missing pattern: %s" + msgstr "пропущен образец: %s" + +-#: pattern.c:1494 pattern.c:1593 ++#: pattern.c:1533 pattern.c:1635 + #, c-format + msgid "mismatched parentheses: %s" + msgstr "пропущена скобка: %s" + +-#: pattern.c:1559 ++#: pattern.c:1598 + #, c-format + msgid "%c: invalid pattern modifier" + msgstr "%c: неверный модификатор образца" + +-#: pattern.c:1564 ++#: pattern.c:1603 + #, c-format + msgid "%c: not supported in this mode" + msgstr "%c: в этом режиме не поддерживается" + +-#: pattern.c:1576 ++#: pattern.c:1618 + msgid "missing parameter" + msgstr "пропущен параметр" + +-#: pattern.c:1626 ++#: pattern.c:1668 + msgid "empty pattern" + msgstr "пустой образец" + +-#: pattern.c:2080 pattern.c:2083 ++#: pattern.c:2202 pattern.c:2205 + msgid "error: server custom search only supported with IMAP" + msgstr "" + +-#: pattern.c:2274 ++#: pattern.c:2398 + #, c-format + msgid "error: unknown op %d (report this error)" + msgstr "ошибка: неизвестная операция %d (сообщите об этой ошибке)" + +-#: pattern.c:2448 pattern.c:2604 ++#: pattern.c:2572 pattern.c:2728 + msgid "Compiling search pattern..." + msgstr "Образец поиска компилируется..." + +-#: pattern.c:2468 ++#: pattern.c:2592 + msgid "Executing command on matching messages..." + msgstr "Исполняется команда для подходящих сообщений..." + +-#: pattern.c:2537 ++#: pattern.c:2661 + msgid "No messages matched criteria" + msgstr "Ни одно сообщение не подходит под критерий" + +-#: pattern.c:2641 ++#: pattern.c:2765 + msgid "Searching..." + msgstr "Поиск..." + +-#: pattern.c:2655 ++#: pattern.c:2779 + msgid "Search hit bottom without finding match" + msgstr "Поиск дошел до конца, не найдя ничего подходящего" + +-#: pattern.c:2666 ++#: pattern.c:2790 + msgid "Search hit top without finding match" + msgstr "Поиск дошел до начала, не найдя ничего подходящего" + +-#: pattern.c:2700 ++#: pattern.c:2824 + msgid "Search interrupted" + msgstr "Поиск прерван" + +-#: pop/pop.c:216 pop/pop_lib.c:234 ++#: pop/pop.c:216 pop/pop_lib.c:259 + msgid "Command TOP is not supported by server" + msgstr "Команда TOP сервером не поддерживается" + +@@ -6265,7 +6343,7 @@ msgstr "Команда TOP сервером не поддерживается" + msgid "Can't write header to temporary file" + msgstr "Ошибка записи заголовка во временный файл" + +-#: pop/pop.c:420 pop/pop_lib.c:236 ++#: pop/pop.c:420 pop/pop_lib.c:261 + msgid "Command UIDL is not supported by server" + msgstr "Команда UIDL сервером не поддерживается" + +@@ -6281,7 +6359,7 @@ msgstr[2] "%d сообщений было потеряно. Требуется + msgid "POP host is not defined" + msgstr "POP-сервер не определен" + +-#: pop/pop.c:596 pop/pop.c:825 ++#: pop/pop.c:596 pop/pop.c:790 pop/pop.c:820 + #, c-format + msgid "%s is an invalid POP path" + msgstr "Неверно указано имя POP-ящика: %s" +@@ -6316,127 +6394,127 @@ msgstr[0] "%s [сообщений прочитано: %d из %d]" + msgstr[1] "%s [сообщений прочитано: %d из %d]" + msgstr[2] "%s [сообщений прочитано: %d из %d]" + +-#: pop/pop.c:876 ++#: pop/pop.c:871 + msgid "Fetching list of messages..." + msgstr "Получение списка сообщений..." + +-#: pop/pop.c:959 ++#: pop/pop.c:954 + msgid "Marking messages deleted..." + msgstr "Пометка сообщений как удаленные..." + +-#: pop/pop.c:1150 ++#: pop/pop.c:1145 + msgid "Can't write message to temporary file" + msgstr "Ошибка записи сообщения во временный файл" + +-#: pop/pop_auth.c:103 ++#: pop/pop_auth.c:104 + msgid "Authenticating (SASL)..." + msgstr "Аутентификация (метод SASL)..." + +-#: pop/pop_auth.c:245 ++#: pop/pop_auth.c:246 + msgid "POP timestamp is invalid" + msgstr "APOP: неверное значение времени" + +-#: pop/pop_auth.c:249 ++#: pop/pop_auth.c:250 + msgid "Authenticating (APOP)..." + msgstr "Аутентификация (метод APOP)..." + +-#: pop/pop_auth.c:269 ++#: pop/pop_auth.c:270 + msgid "APOP authentication failed" + msgstr "Ошибка APOP-аутентификации" + +-#: pop/pop_auth.c:309 ++#: pop/pop_auth.c:310 + msgid "Command USER is not supported by server" + msgstr "Команда USER сервером не поддерживается" + +-#: pop/pop_auth.c:386 ++#: pop/pop_auth.c:387 + #, fuzzy + msgid "Authentication failed" + msgstr "Ошибка SASL-аутентификации" + +-#: pop/pop_lib.c:78 ++#: pop/pop_lib.c:103 + #, c-format + msgid "Invalid POP URL: %s" + msgstr "Неверный POP URL: %s" + +-#: pop/pop_lib.c:232 ++#: pop/pop_lib.c:257 + msgid "Unable to leave messages on server" + msgstr "Невозможно оставить сообщения на сервере" + +-#: pop/pop_lib.c:274 ++#: pop/pop_lib.c:300 + #, c-format + msgid "Error connecting to server: %s" + msgstr "Ошибка при установлении соединения: %s" + +-#: pop/pop_lib.c:414 ++#: pop/pop_lib.c:440 + msgid "Closing connection to POP server..." + msgstr "Закрытие соединения с POP-сервером..." + +-#: pop/pop_lib.c:605 ++#: pop/pop_lib.c:631 + msgid "Verifying message indexes..." + msgstr "Проверка номеров сообщений..." + +-#: pop/pop_lib.c:628 ++#: pop/pop_lib.c:654 + msgid "Connection lost. Reconnect to POP server?" + msgstr "Соединение потеряно. Установить соединение повторно?" + +-#: postpone.c:229 ++#: postpone.c:260 + msgid "Postponed Messages" + msgstr "Отложенные сообщения" + +-#: postpone.c:314 postpone.c:326 ++#: postpone.c:348 postpone.c:372 + msgid "No postponed messages" + msgstr "Нет отложенных сообщений" + +-#: postpone.c:480 ++#: postpone.c:526 + msgid "Illegal S/MIME header" + msgstr "Неверный S/MIME-заголовок" + +-#: postpone.c:510 postpone.c:551 postpone.c:560 ++#: postpone.c:556 postpone.c:597 postpone.c:606 + msgid "Illegal crypto header" + msgstr "Неверный crypto-заголовок" + +-#: postpone.c:644 postpone.c:752 postpone.c:780 ++#: postpone.c:690 postpone.c:798 postpone.c:826 + msgid "Decrypting message..." + msgstr "Расшифровка сообщения..." + +-#: query.c:82 ++#: query.c:80 + msgid "New Query" + msgstr "Новый запрос" + +-#: query.c:83 ++#: query.c:81 + msgid "Make Alias" + msgstr "Создать псевдоним" + +-#: query.c:180 ++#: query.c:178 + msgid "Waiting for response..." + msgstr "Ожидается ответ..." + +-#: query.c:362 query.c:400 ++#: query.c:365 query.c:434 + msgid "Query: " + msgstr "Запрос: " + +-#: query.c:370 query.c:407 ++#: query.c:374 query.c:442 + #, c-format + msgid "Query '%s'" + msgstr "Запрос \"%s\"" + +-#: query.c:620 query.c:657 ++#: query.c:661 query.c:698 + msgid "Query command not defined" + msgstr "Команда запроса не определена" + +-#: recvattach.c:93 ++#: recvattach.c:91 + msgid "Pipe" + msgstr "Передать программе" + +-#: recvattach.c:94 ++#: recvattach.c:92 + msgid "Print" + msgstr "Напечатать" + +-#: recvattach.c:569 ++#: recvattach.c:571 + msgid "Saving..." + msgstr "Сохраняется..." + +-#: recvattach.c:573 recvattach.c:744 recvattach.c:748 ++#: recvattach.c:575 recvattach.c:746 recvattach.c:750 + #, fuzzy, c-format + msgid "Attachment saved" + msgid_plural "%d attachments saved" +@@ -6444,26 +6522,26 @@ msgstr[0] "Вложение сохранено" + msgstr[1] "Вложение сохранено" + msgstr[2] "Вложение сохранено" + +-#: recvattach.c:772 ++#: recvattach.c:774 + #, c-format + msgid "WARNING! You are about to overwrite %s, continue?" + msgstr "ПРЕДУПРЕЖДЕНИЕ: вы собираетесь перезаписать %s. Продолжить?" + +-#: recvattach.c:790 ++#: recvattach.c:792 + msgid "Attachment filtered" + msgstr "Вложение обработано" + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Filter through: " + msgstr "Пропустить через: " + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Pipe to: " + msgstr "Передать программе: " + + #. L10N: s gets replaced by a MIME type, e.g. "text/plain" or + #. application/octet-stream. +-#: recvattach.c:935 ++#: recvattach.c:937 + #, c-format + msgid "I don't know how to print %s attachments" + msgstr "Неизвестно как печатать %s вложения" +@@ -6471,7 +6549,7 @@ msgstr "Неизвестно как печатать %s вложения" + #. L10N: Although we now the precise number of tagged messages, we + #. do not show it to the user. So feel free to use a "generic + #. plural" as plural translation if your language has one. +-#: recvattach.c:1038 ++#: recvattach.c:1040 + #, fuzzy, c-format + msgid "Print tagged attachment?" + msgid_plural "Print %d tagged attachments?" +@@ -6479,49 +6557,49 @@ msgstr[0] "Напечатать отмеченные вложения?" + msgstr[1] "Напечатать отмеченные вложения?" + msgstr[2] "Напечатать отмеченные вложения?" + +-#: recvattach.c:1039 ++#: recvattach.c:1041 + #, c-format + msgid "Print attachment?" + msgstr "Напечатать вложение?" + +-#: recvattach.c:1123 ++#: recvattach.c:1125 + msgid "Structural changes to decrypted attachments are not supported" + msgstr "Изменение структуры расшифрованных вложений не поддерживается" + +-#: recvattach.c:1291 ++#: recvattach.c:1293 + msgid "Can't decrypt encrypted message" + msgstr "Не удалось расшифровать зашифрованное сообщение" + +-#: recvattach.c:1425 ++#: recvattach.c:1457 + msgid "Attachments" + msgstr "Вложения" + +-#: recvattach.c:1465 ++#: recvattach.c:1497 + msgid "There are no subparts to show" + msgstr "Дайджест не содержит ни одной части" + +-#: recvattach.c:1520 ++#: recvattach.c:1552 + msgid "Can't delete attachment from POP server" + msgstr "Удаление вложений не поддерживается POP-сервером" + +-#: recvattach.c:1529 ++#: recvattach.c:1561 + #, fuzzy + msgid "Can't delete attachment from news server" + msgstr "Удаление вложений не поддерживается POP-сервером" + +-#: recvattach.c:1536 ++#: recvattach.c:1568 + msgid "Deletion of attachments from encrypted messages is unsupported" + msgstr "Удаление вложений из зашифрованных сообщений не поддерживается" + +-#: recvattach.c:1542 ++#: recvattach.c:1574 + msgid "Deletion of attachments from signed messages may invalidate the signature" + msgstr "Удаление вложений из зашифрованных сообщений может аннулировать подпись" + +-#: recvattach.c:1561 recvattach.c:1578 ++#: recvattach.c:1593 recvattach.c:1610 + msgid "Only deletion of multipart attachments is supported" + msgstr "Для составных вложений поддерживается только удаление" + +-#: recvcmd.c:79 ++#: recvcmd.c:78 + msgid "You may only bounce message/rfc822 parts" + msgstr "Вы можете перенаправлять только части типа message/rfc822" + +@@ -6559,7 +6637,7 @@ msgstr "Не удалось создать %s" + msgid "Can't find any tagged messages" + msgstr "Помеченные сообщения отсутствуют" + +-#: recvcmd.c:848 send.c:1073 ++#: recvcmd.c:848 send.c:1072 + msgid "No mailing lists found" + msgstr "Списков рассылки не найдено" + +@@ -6574,67 +6652,67 @@ msgstr "Удалось раскодировать не все вложения. + msgid "You may only compose to sender with message/rfc822 parts" + msgstr "Вы можете перенаправлять только части типа message/rfc822" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Append" + msgstr "Добавить" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Insert" + msgstr "Вставить" + +-#: remailer.c:78 ++#: remailer.c:76 + msgid "OK" + msgstr "OK" + +-#: remailer.c:210 ++#: remailer.c:207 + msgid "" + msgstr "" + +-#: remailer.c:586 ++#: remailer.c:617 + msgid "Can't get mixmaster's type2.list" + msgstr "Не удалось получить type2.list mixmaster" + +-#: remailer.c:612 ++#: remailer.c:673 + msgid "Select a remailer chain" + msgstr "Выбрать цепочку remailer" + +-#: remailer.c:674 ++#: remailer.c:735 + #, c-format + msgid "Error: %s can't be used as the final remailer of a chain" + msgstr "Ошибка: %s не может быть использован как последний remailer" + + #. L10N The '%d' here hard-coded to 19 +-#: remailer.c:706 ++#: remailer.c:767 + #, c-format + msgid "Mixmaster chains are limited to %d elements" + msgstr "Цепочки mixmaster имеют ограниченное количество элементов: %d" + +-#: remailer.c:729 ++#: remailer.c:790 + msgid "The remailer chain is already empty" + msgstr "Цепочка remailer уже пустая" + +-#: remailer.c:739 ++#: remailer.c:800 + msgid "You already have the first chain element selected" + msgstr "Вы уже пометили первый элемент цепочки" + +-#: remailer.c:749 ++#: remailer.c:810 + msgid "You already have the last chain element selected" + msgstr "Вы уже пометили последний элемент цепочки" + +-#: remailer.c:792 ++#: remailer.c:856 + msgid "Mixmaster doesn't accept Cc or Bcc headers" + msgstr "Mixmaster не позволяет использовать заголовки Cc и Bcc" + +-#: remailer.c:817 ++#: remailer.c:881 + msgid "Please set the hostname variable to a proper value when using mixmaster" + msgstr "Установите значение переменной hostname для использования mixmaster" + +-#: remailer.c:860 ++#: remailer.c:924 + #, c-format + msgid "Error sending message, child exited %d.\n" + msgstr "Сообщение отправить не удалось, процесс-потомок вернул %d.\n" + +-#: remailer.c:864 ++#: remailer.c:928 + msgid "Error sending message" + msgstr "Ошибка отправки сообщения" + +@@ -6664,41 +6742,41 @@ msgstr "Переслать вложения?" + + #. L10N: Asks whether the user respects the reply-to header. + #. If she says no, neomutt will reply to the from header's address instead. +-#: send.c:793 ++#: send.c:792 + #, c-format + msgid "Reply to %s%s?" + msgstr "Отвечать по %s%s?" + +-#: send.c:838 ++#: send.c:837 + #, c-format + msgid "Follow-up to %s%s?" + msgstr "Отвечать по %s%s?" + +-#: send.c:1122 ++#: send.c:1121 + msgid "Include message in reply?" + msgstr "Вставить сообщение в ответ?" + +-#: send.c:1128 ++#: send.c:1127 + msgid "Including quoted message..." + msgstr "Включается цитируемое сообщение..." + +-#: send.c:1137 ++#: send.c:1136 + msgid "Could not include all requested messages" + msgstr "Не удалось вставить все затребованные сообщения" + +-#: send.c:1148 ++#: send.c:1147 + msgid "Forward as attachment?" + msgstr "Переслать как вложение?" + +-#: send.c:1153 ++#: send.c:1152 + msgid "Preparing forwarded message..." + msgstr "Подготовка пересылаемого сообщения..." + +-#: send.c:1632 ++#: send.c:1631 + msgid "Fcc to an IMAP mailbox is not supported in batch mode" + msgstr "Fcc в ящик на IMAP-сервере не поддерживается в пакетном режиме" + +-#: send.c:1664 send.c:1690 ++#: send.c:1665 send.c:1675 send.c:1701 + msgid "Save attachments in Fcc?" + msgstr "Сохранить вложения в Fcc?" + +@@ -6706,195 +6784,195 @@ msgstr "Сохранить вложения в Fcc?" + #. (r)etry tries the same mailbox again. + #. alternate (m)ailbox prompts for a different mailbox to try. + #. (s)kip aborts saving. +-#: send.c:1712 ++#: send.c:1723 + msgid "Fcc failed. (r)etry, alternate (m)ailbox, or (s)kip?" + msgstr "Ошибка сохранения в Fcc. (r)повторить, (m)другой ящик, (s)пропустить? " + + #. L10N: These correspond to the "Fcc failed" multi-choice prompt + #. (r)etry, alternate (m)ailbox, or (s)kip. + #. Any similarity to famous leaders of the FSF is coincidental. +-#: send.c:1716 ++#: send.c:1727 + msgid "rms" + msgstr "rms" + + #. L10N: This is the prompt to enter an "alternate (m)ailbox" when the + #. initial Fcc fails. +-#: send.c:1722 ++#: send.c:1733 + msgid "Fcc mailbox" + msgstr "Fcc ящик" + +-#: send.c:1788 ++#: send.c:1799 + msgid "Can't postpone. $postponed is unset" + msgstr "Не удалось отложить сообщение. Значение $postponed не определено." + +-#: send.c:1923 ++#: send.c:1934 + msgid "Recall postponed message?" + msgstr "Продолжить отложенное сообщение?" + +-#: send.c:2228 ++#: send.c:2239 + msgid "Edit forwarded message?" + msgstr "Редактировать пересылаемое сообщение?" + +-#: send.c:2266 ++#: send.c:2277 + msgid "Abort unmodified message?" + msgstr "Отказаться от неизмененного сообщения?" + +-#: send.c:2268 ++#: send.c:2279 + msgid "Aborted unmodified message" + msgstr "Сообщение не изменилось, отказ" + +-#: send.c:2388 ++#: send.c:2399 + msgid "No crypto backend configured. Disabling message security setting." + msgstr "" + +-#: send.c:2427 ++#: send.c:2438 + #, fuzzy + msgid "Article not posted" + msgstr "Письмо не отправлено" + +-#: send.c:2437 ++#: send.c:2448 + msgid "Message postponed" + msgstr "Сообщение отложено" + +-#: send.c:2470 ++#: send.c:2481 + msgid "No subject, abort sending?" + msgstr "Нет темы сообщения, прервать отправку?" + +-#: send.c:2474 send.c:2480 ++#: send.c:2485 send.c:2491 + msgid "No subject specified" + msgstr "Тема сообщения не указана" + +-#: send.c:2486 ++#: send.c:2497 + #, fuzzy + msgid "No newsgroup specified" + msgstr "Тема сообщения не указана" + +-#: send.c:2496 ++#: send.c:2507 + #, fuzzy + msgid "No attachments, cancel sending?" + msgstr "изменить транспортную кодировку для вложения" + +-#: send.c:2501 ++#: send.c:2512 + msgid "Message contains text matching \"$abort_noattach_regex\". Not sending." + msgstr "" + +-#: send.c:2559 smtp.c:227 ++#: send.c:2570 smtp.c:230 + msgid "Sending message..." + msgstr "Сообщение отправляется..." + +-#: send.c:2598 ++#: send.c:2609 + msgid "Could not send the message" + msgstr "Сообщение отправить не удалось" + +-#: send.c:2608 ++#: send.c:2619 + msgid "Sending in background" + msgstr "Сообщение отправляется в фоновом режиме" + +-#: send.c:2609 ++#: send.c:2620 + msgid "Article posted" + msgstr "" + +-#: send.c:2610 ++#: send.c:2621 + msgid "Mail sent" + msgstr "Сообщение отправлено" + +-#: sendlib.c:567 ++#: sendlib.c:566 + msgid "No boundary parameter found [report this error]" + msgstr "Параметр boundary не найден (Сообщите об этой ошибке)" + +-#: sendlib.c:598 ++#: sendlib.c:597 + #, c-format + msgid "%s no longer exists" + msgstr "%s больше не существует" + +-#: sendlib.c:1056 ++#: sendlib.c:1055 + #, c-format + msgid "%s isn't a regular file" + msgstr "%s не является файлом" + +-#: sendlib.c:1223 ++#: sendlib.c:1222 + #, fuzzy + msgid "Could not find any mime.types file." + msgstr "Сообщение отправить не удалось." + +-#: sendlib.c:1314 ++#: sendlib.c:1313 + #, c-format + msgid "Could not open %s" + msgstr "Не удалось открыть %s" + +-#: sendlib.c:2864 ++#: sendlib.c:2855 + msgid "$sendmail must be set in order to send mail" + msgstr "Для отправки почты должна быть установлена переменная $sendmail" + +-#: sendlib.c:2971 ++#: sendlib.c:2962 + #, c-format + msgid "Error sending message, child exited %d (%s)" + msgstr "Сообщение отправить не удалось, процесс-потомок вернул %d (%s)" + +-#: sendlib.c:2977 ++#: sendlib.c:2969 + msgid "Output of the delivery process" + msgstr "Результат работы программы доставки почты" + +-#: sendlib.c:3157 ++#: sendlib.c:3154 + #, c-format + msgid "Bad IDN %s while preparing resent-from" + msgstr "Некорректный IDN %s при подготовке Resent-From" + +-#: smtp.c:165 ++#: smtp.c:168 + #, c-format + msgid "SMTP session failed: %s" + msgstr "Ошибка SMTP сессии: %s" + +-#: smtp.c:222 ++#: smtp.c:225 + #, c-format + msgid "SMTP session failed: unable to open %s" + msgstr "Ошибка SMTP сессии: не удалось открыть %s" + +-#: smtp.c:339 ++#: smtp.c:364 + #, c-format + msgid "Invalid SMTP URL: %s" + msgstr "Неверный SMTP URL: %s" + +-#: smtp.c:618 ++#: smtp.c:643 + #, c-format + msgid "SMTP authentication method %s requires SASL" + msgstr "" + +-#: smtp.c:625 ++#: smtp.c:650 + #, c-format + msgid "%s authentication failed, trying next method" + msgstr "Не удалось выполнить %s аутентификацию, пробуем следующий метод" + +-#: smtp.c:636 ++#: smtp.c:661 + #, fuzzy + msgid "SMTP authentication requires SASL" + msgstr "Ошибка GSSAPI-аутентификации" + +-#: smtp.c:717 ++#: smtp.c:742 + msgid "SMTP server does not support authentication" + msgstr "SMTP сервер не поддерживает аутентификацию" + +-#: smtp.c:756 ++#: smtp.c:781 + msgid "No from address given" + msgstr "Не указан адрес отправителя" + +-#: smtp.c:821 ++#: smtp.c:846 + msgid "SMTP session failed: read error" + msgstr "Ошибка SMTP сессии: ошибка чтения" + +-#: smtp.c:823 ++#: smtp.c:848 + msgid "SMTP session failed: write error" + msgstr "Ошибка SMTP сессии: ошибка записи" + +-#: smtp.c:825 ++#: smtp.c:850 + msgid "Invalid server response" + msgstr "Неверный ответ сервера" + +-#: sort.c:385 ++#: sort.c:387 + msgid "Sorting mailbox..." + msgstr "Почтовый ящик сортируется..." + +-#: sort.c:427 ++#: sort.c:429 + msgid "Could not find sorting function [report this bug]" + msgstr "Не удалось найти функцию сортировки (сообщите об этой ошибке)" + +@@ -6964,11 +7042,50 @@ msgstr "" + "распространять его при соблюдении определенных условий; для получения\n" + "более подробной информации введите \"neomutt -vv\".\n" + +-#: version.c:446 ++#: version.c:451 + #, fuzzy + msgid "Default options:" + msgstr "Параметры компиляции:" + +-#: version.c:449 ++#: version.c:454 + msgid "Compile options:" + msgstr "Параметры компиляции:" ++ ++#~ msgid "Error creating autocrypt key: %s\n" ++#~ msgstr "Ошибка создания ключа autocrypt: %s\n" ++ ++#~ msgid "(c)reate new, or (s)elect existing GPG key? " ++#~ msgstr "(c)создать новый или (s)выбрать существующий ключ GPG? " ++ ++#~ msgid "Autocrypt: (e)ncrypt, (c)lear, (a)utomatic? " ++#~ msgstr "Autocrypt: (e)шифровать, (c)очистить, (a)автоматически? " ++ ++#~ msgid "$send_multipart_alternative_filter is not set" ++#~ msgstr "Значение $send_multipart_alternative_filter не установлено" ++ ++#~ msgid "Generate multipart/alternative content?" ++#~ msgstr "генерировать multipart/alternative содержимое?" ++ ++#~ msgid "Missing mime type from output of \"%s\"!" ++#~ msgstr "Отсутствует MIME-тип в выводе \"%s\"!" ++ ++#~ msgid "Missing blank line separator from output of \"%s\"!" ++#~ msgstr "Отсутствует пустая строка-разделитель в выводе \"%s\"!" ++ ++#~ msgid "$send_multipart_alternative_filter does not support multipart type generation" ++#~ msgstr "$send_multipart_alternative_filter не поддерживает генерацию типа multipart" ++ ++#~ msgid "view multipart/alternative" ++#~ msgstr "просмотреть multipart/alternative" ++ ++#~ msgid "view multipart/alternative as text" ++#~ msgstr "просмотреть multipart/alternative как текст" ++ ++#~ msgid "view multipart/alternative using mailcap" ++#~ msgstr "просмотреть multipart/alternative с использованием базы mailcap" ++ ++#~ msgid "select a new mailbox from the browser" ++#~ msgstr "выбрать новый почтовый ящик" ++ ++#~ msgid "select a new mailbox from the browser in read only mode" ++#~ msgstr "выбрать новый почтовый ящик в режиме только для чтения" +diff --git a/po/sk.po b/po/sk.po +index 46e588d04..b48bbc267 100644 +--- a/po/sk.po ++++ b/po/sk.po +@@ -10,7 +10,7 @@ msgid "" + msgstr "" + "Project-Id-Version: neomutt-2019-12-07\n" + "Report-Msgid-Bugs-To: neomutt-devel@neomutt.org\n" +-"POT-Creation-Date: 2019-12-06 23:10+0000\n" ++"POT-Creation-Date: 2020-03-09 12:15+0000\n" + "PO-Revision-Date: 2016-11-23 21:20+0100\n" + "Last-Translator: František Hájik \n" + "Language-Team: Slovak \n" +@@ -20,16 +20,40 @@ msgstr "" + "Content-Transfer-Encoding: 8bit\n" + "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +-#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:59 browser.c:80 browser.c:90 +-#: mutt_history.c:45 pager.c:228 postpone.c:68 query.c:80 recvattach.c:93 ++msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" ++msgstr "" ++ ++msgid "roas" ++msgstr "" ++ ++msgid "(r)eject, accept (o)nce, (a)ccept always" ++msgstr "" ++ ++msgid "roa" ++msgstr "" ++ ++msgid "(r)eject, accept (o)nce, (s)kip" ++msgstr "" ++ ++msgid "ros" ++msgstr "" ++ ++msgid "(r)eject, accept (o)nce" ++msgstr "" ++ ++msgid "ro" ++msgstr "" ++ ++#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:58 browser.c:79 browser.c:89 ++#: mutt_history.c:45 pager.c:220 postpone.c:68 query.c:78 recvattach.c:91 + msgid "Exit" + msgstr "Koniec" + +-#: addrbook.c:56 index.c:116 index.c:129 pager.c:236 pager.c:246 postpone.c:69 ++#: addrbook.c:56 index.c:112 index.c:125 pager.c:228 pager.c:238 postpone.c:69 + msgid "Del" + msgstr "Zmaž" + +-#: addrbook.c:57 index.c:117 index.c:130 postpone.c:70 ++#: addrbook.c:57 index.c:113 index.c:126 postpone.c:70 + msgid "Undel" + msgstr "Odmaž" + +@@ -37,18 +61,18 @@ msgstr "Odmaž" + msgid "Select" + msgstr "Označiť" + +-#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:82 browser.c:84 browser.c:96 +-#: compose.c:218 compose.c:230 conn/ssl.c:983 conn/ssl_gnutls.c:691 index.c:122 +-#: index.c:135 mutt_history.c:48 ncrypt/crypt_gpgme.c:4735 ncrypt/pgpkey.c:670 +-#: ncrypt/smime.c:553 pager.c:2326 postpone.c:71 query.c:85 recvattach.c:94 ++#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:81 browser.c:83 browser.c:95 ++#: compose.c:216 compose.c:228 conn/ssl.c:996 conn/ssl_gnutls.c:722 index.c:118 ++#: index.c:131 mutt_history.c:48 ncrypt/crypt_gpgme.c:4783 ncrypt/pgpkey.c:673 ++#: ncrypt/smime.c:555 pager.c:2297 postpone.c:71 query.c:83 recvattach.c:92 + msgid "Help" + msgstr "Pomoc" + +-#: addrbook.c:208 ++#: addrbook.c:238 + msgid "You have no aliases" + msgstr "Nemáte žiadne aliasy" + +-#: addrbook.c:215 ++#: addrbook.c:276 + msgid "Aliases" + msgstr "Aliasy" + +@@ -57,51 +81,51 @@ msgstr "Aliasy" + msgid "Alias as: " + msgstr "Alias ako: " + +-#: alias.c:411 ++#: alias.c:414 + msgid "You already have an alias defined with that name" + msgstr "Alias s týmto menom je už zadefinovaný" + +-#: alias.c:417 ++#: alias.c:420 + msgid "Warning: This alias name may not work. Fix it?" + msgstr "Pozor: Tento názov aliasu nemusí fungovať. Opraviť?" + +-#: alias.c:442 ++#: alias.c:445 + msgid "Address: " + msgstr "Adresa: " + +-#: alias.c:453 commands.c:444 compose.c:744 conn/conn_raw.c:152 +-#: conn/conn_raw.c:210 recvcmd.c:232 send.c:228 ++#: alias.c:457 commands.c:450 compose.c:743 conn/conn_raw.c:152 ++#: conn/conn_raw.c:210 recvcmd.c:231 send.c:227 + #, c-format + msgid "Bad IDN: '%s'" + msgstr "Zlý IDN: '%s'" + +-#: alias.c:464 ++#: alias.c:468 + msgid "Personal name: " + msgstr "Vlastné meno: " + +-#: alias.c:473 ++#: alias.c:477 + #, c-format + msgid "[%s = %s] Accept?" + msgstr "[%s = %s] Akceptovať?" + +-#: alias.c:484 recvattach.c:528 recvattach.c:550 recvattach.c:564 +-#: recvattach.c:579 recvattach.c:678 ++#: alias.c:488 recvattach.c:530 recvattach.c:552 recvattach.c:566 ++#: recvattach.c:581 recvattach.c:680 + msgid "Save to file: " + msgstr "Uložiť do súboru: " + +-#: alias.c:503 ++#: alias.c:507 + msgid "Error reading alias file" + msgstr "Chyba pri čítaní súboru aliasov" + +-#: alias.c:525 ++#: alias.c:529 + msgid "Trouble adding alias" + msgstr "Chyba pri pridávaní aliasu" + +-#: alias.c:527 ++#: alias.c:531 + msgid "Alias added" + msgstr "Alias pridaný" + +-#: alias.c:532 ++#: alias.c:536 + msgid "Error seeking in alias file" + msgstr "Chyba pri prehľadávaní súboru aliasov." + +@@ -110,7 +134,7 @@ msgstr "Chyba pri prehľadávaní súboru aliasov." + #. for some reason (e.g. autocrypt, header cache, bcache), but it + #. doesn't exist. The prompt is asking whether to create the directory + #. +-#: autocrypt/autocrypt.c:70 main.c:826 ++#: autocrypt/autocrypt.c:70 main.c:757 + #, c-format + msgid "%s does not exist. Create it?" + msgstr "" +@@ -119,8 +143,8 @@ msgstr "" + #. mkdir() on the directory %s failed. The second %s is the + #. error message returned by libc + #. +-#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:830 +-#: nntp/newsrc.c:1069 ++#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:761 ++#: nntp/newsrc.c:1098 + #, c-format + msgid "Can't create %s: %s" + msgstr "Nemožno vytvoriť súbor %s: %s" +@@ -130,7 +154,7 @@ msgstr "Nemožno vytvoriť súbor %s: %s" + #. create $autocrypt_dir and then prompt to create an autocrypt + #. account with this message. + #. +-#: autocrypt/autocrypt.c:156 ++#: autocrypt/autocrypt.c:163 + msgid "Create an initial autocrypt account?" + msgstr "" + +@@ -139,7 +163,7 @@ msgstr "" + #. autocrypt account. This will generate a key and add a record + #. to the database for use in autocrypt operations. + #. +-#: autocrypt/autocrypt.c:180 ++#: autocrypt/autocrypt.c:187 + msgid "Autocrypt account address: " + msgstr "" + +@@ -148,7 +172,7 @@ msgstr "" + #. a single address. This is shown if they entered something invalid, + #. nothing, or more than one address for some reason. + #. +-#: autocrypt/autocrypt.c:191 ++#: autocrypt/autocrypt.c:198 + msgid "Please enter a single email address" + msgstr "" + +@@ -157,7 +181,7 @@ msgstr "" + #. if there is already an account in the database with the email address + #. they just entered. + #. +-#: autocrypt/autocrypt.c:208 ++#: autocrypt/autocrypt.c:215 + msgid "That email address already has an autocrypt account" + msgstr "" + +@@ -169,7 +193,7 @@ msgstr "" + #. Otherwise the UI will show encryption is "available" but the user + #. will be required to enable encryption manually. + #. +-#: autocrypt/autocrypt.c:223 ++#: autocrypt/autocrypt.c:230 + #, fuzzy + msgid "Prefer encryption?" + msgstr "Šifrovanie" +@@ -177,7 +201,7 @@ msgstr "Šifrovanie" + #. L10N: + #. Message displayed after an autocrypt account is successfully created. + #. +-#: autocrypt/autocrypt.c:236 ++#: autocrypt/autocrypt.c:243 + msgid "Autocrypt account creation succeeded" + msgstr "" + +@@ -185,7 +209,7 @@ msgstr "" + #. Error message displayed if creating an autocrypt account failed + #. or was aborted by the user. + #. +-#: autocrypt/autocrypt.c:242 ++#: autocrypt/autocrypt.c:249 + msgid "Autocrypt account creation aborted" + msgstr "" + +@@ -194,7 +218,7 @@ msgstr "" + #. to use to encrypt, but it can't find a valid keyid for this address. + #. The message is printed and they are returned to the compose menu. + #. +-#: autocrypt/autocrypt.c:610 autocrypt/autocrypt.c:639 ++#: autocrypt/autocrypt.c:617 autocrypt/autocrypt.c:646 + #, c-format + msgid "No (valid) autocrypt key found for %s" + msgstr "" +@@ -206,12 +230,12 @@ msgstr "" + #. and used for encryption. + #. If this is answered yes, they will be prompted for a mailbox. + #. +-#: autocrypt/autocrypt.c:903 ++#: autocrypt/autocrypt.c:910 + msgid "Scan a mailbox for autocrypt headers?" + msgstr "" + + #. L10N: The prompt for a mailbox to scan for Autocrypt: headers +-#: autocrypt/autocrypt.c:907 ++#: autocrypt/autocrypt.c:914 + #, fuzzy + msgid "Scan mailbox" + msgstr "Žiadna schránka.\n" +@@ -223,14 +247,14 @@ msgstr "Žiadna schránka.\n" + #. for a mailbox. This is because this is a one-time operation + #. and I don't want them to accidentally ctrl-g and abort it. + #. +-#: autocrypt/autocrypt.c:927 ++#: autocrypt/autocrypt.c:934 + msgid "Scan another mailbox for autocrypt headers?" + msgstr "" + + #. L10N: Autocrypt Account Menu Help line: + #. create new account + #. +-#: autocrypt/autocrypt_acct_menu.c:63 ++#: autocrypt/autocrypt_acct_menu.c:62 + #, fuzzy + msgid "Create" + msgstr "Vytvoriť %s?" +@@ -238,7 +262,7 @@ msgstr "Vytvoriť %s?" + #. L10N: Autocrypt Account Menu Help line: + #. delete account + #. +-#: autocrypt/autocrypt_acct_menu.c:67 remailer.c:77 ++#: autocrypt/autocrypt_acct_menu.c:66 remailer.c:75 + #, fuzzy + msgid "Delete" + msgstr "Zmazať" +@@ -247,9 +271,9 @@ msgstr "Zmazať" + #. toggle an account active/inactive + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:74 ++#: autocrypt/autocrypt_acct_menu.c:73 + msgid "Tgl Active" + msgstr "" + +@@ -257,17 +281,17 @@ msgstr "" + #. toggle "prefer-encrypt" on an account + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:81 +-msgid "Prf Enc" ++#: autocrypt/autocrypt_acct_menu.c:80 ++msgid "Prf Encr" + msgstr "" + + #. L10N: + #. Autocrypt Account menu. + #. flag that an account has prefer-encrypt set + #. +-#: autocrypt/autocrypt_acct_menu.c:123 ++#: autocrypt/autocrypt_acct_menu.c:122 + msgid "prefer encrypt" + msgstr "" + +@@ -276,7 +300,7 @@ msgstr "" + #. flag that an account has prefer-encrypt unset; + #. thus encryption will need to be manually enabled. + #. +-#: autocrypt/autocrypt_acct_menu.c:130 ++#: autocrypt/autocrypt_acct_menu.c:129 + msgid "manual encrypt" + msgstr "" + +@@ -284,7 +308,7 @@ msgstr "" + #. Autocrypt Account menu. + #. flag that an account is enabled/active + #. +-#: autocrypt/autocrypt_acct_menu.c:138 ++#: autocrypt/autocrypt_acct_menu.c:137 + msgid "active" + msgstr "" + +@@ -292,12 +316,12 @@ msgstr "" + #. Autocrypt Account menu. + #. flag that an account is disabled/inactive + #. +-#: autocrypt/autocrypt_acct_menu.c:144 ++#: autocrypt/autocrypt_acct_menu.c:143 + msgid "inactive" + msgstr "" + + #. L10N: Autocrypt Account Management Menu title +-#: autocrypt/autocrypt_acct_menu.c:183 ++#: autocrypt/autocrypt_acct_menu.c:182 + msgid "Autocrypt Accounts" + msgstr "" + +@@ -305,13 +329,13 @@ msgstr "" + #. This error message is displayed if a database update of an + #. account record fails for some odd reason. + #. +-#: autocrypt/autocrypt_acct_menu.c:245 autocrypt/autocrypt_acct_menu.c:259 ++#: autocrypt/autocrypt_acct_menu.c:244 autocrypt/autocrypt_acct_menu.c:258 + #, fuzzy + msgid "Error updating account record" + msgstr "Chyba pri čítaní adresára" + + #. L10N: Confirmation message when deleting an autocrypt account +-#: autocrypt/autocrypt_acct_menu.c:302 ++#: autocrypt/autocrypt_acct_menu.c:333 + #, fuzzy, c-format + msgid "Really delete account \"%s\"?" + msgstr "Naozaj zmazať mailbox \"%s\"?" +@@ -329,7 +353,7 @@ msgstr "Naozaj zmazať mailbox \"%s\"?" + msgid "Unable to open autocrypt database %s" + msgstr "Nemožno uzamknúť schránku!" + +-#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:774 ++#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:773 + #, c-format + msgid "error creating gpgme context: %s" + msgstr "Chyba pri vytváraní gpgme kontextu: %s" +@@ -402,279 +426,230 @@ msgstr "" + msgid "Message cache isn't a directory: %s" + msgstr "Cache zo správami %s nie je adresár" + +-#: browser.c:81 ++#: browser.c:80 + msgid "Chdir" + msgstr "Zmena adresára" + +-#: browser.c:82 ++#: browser.c:81 + msgid "Goto" + msgstr "Otvor" + +-#: browser.c:83 browser.c:95 ++#: browser.c:82 browser.c:94 + msgid "Mask" + msgstr "Maska" + +-#: browser.c:91 ++#: browser.c:90 + msgid "List" + msgstr "Zoznam" + +-#: browser.c:92 ++#: browser.c:91 + msgid "Subscribe" + msgstr "Odoberať" + +-#: browser.c:93 ++#: browser.c:92 + msgid "Unsubscribe" + msgstr "Zrušiť odber." + +-#: browser.c:94 index.c:134 ++#: browser.c:93 index.c:130 + msgid "Catchup" + msgstr "Zachytiť" + +-#: browser.c:760 browser.c:1519 browser.c:1758 ++#: browser.c:763 browser.c:1584 browser.c:1825 + #, c-format + msgid "%s is not a directory" + msgstr "%s nie je adresár" + +-#: browser.c:1025 ++#: browser.c:1028 + #, c-format + msgid "Subscribed newsgroups" + msgstr "Odoberať skupinu správ" + +-#: browser.c:1028 ++#: browser.c:1031 + #, c-format + msgid "Newsgroups on server [%s]" + msgstr "Skupina správ na servri [%s]" + +-#: browser.c:1038 ++#: browser.c:1041 + #, c-format + msgid "Mailboxes [%d]" + msgstr "Schránky [%d]" + +-#: browser.c:1050 ++#: browser.c:1053 + #, fuzzy, c-format + msgid "Subscribed [%s], File mask: %s" + msgstr "Adresár [%s], maska súboru: %s" + +-#: browser.c:1056 ++#: browser.c:1059 + #, c-format + msgid "Directory [%s], File mask: %s" + msgstr "Adresár [%s], maska súboru: %s" + +-#: browser.c:1113 ++#: browser.c:1116 + msgid "Can't attach a directory" + msgstr "Nemožno prilepiť adresár" + +-#: browser.c:1380 browser.c:1814 browser.c:1959 ++#: browser.c:1445 browser.c:1881 browser.c:2026 + msgid "No files match the file mask" + msgstr "Maske nevyhovujú žiadne súbory" + +-#: browser.c:1587 ++#: browser.c:1654 + msgid "Create is only supported for IMAP mailboxes" + msgstr "Vytváranie je podporovaná len pre IMAP mailboxy." + +-#: browser.c:1609 ++#: browser.c:1676 + msgid "Rename is only supported for IMAP mailboxes" + msgstr "Premenovanie je podporovaná len pre IMAP mailboxy." + +-#: browser.c:1630 ++#: browser.c:1697 + msgid "Delete is only supported for IMAP mailboxes" + msgstr "Mazanie je podporovaná len pre IMAP mailboxy." + +-#: browser.c:1642 ++#: browser.c:1709 + #, fuzzy + msgid "Can't delete currently selected mailbox" + msgstr "zobraz meno aktuálne označeného súboru" + +-#: browser.c:1646 ++#: browser.c:1713 + #, c-format + msgid "Really delete mailbox \"%s\"?" + msgstr "Naozaj zmazať mailbox \"%s\"?" + +-#: browser.c:1663 ++#: browser.c:1730 + msgid "Mailbox deleted" + msgstr "Schránka bola vymazaná" + +-#: browser.c:1667 ++#: browser.c:1734 + msgid "Mailbox deletion failed" + msgstr "Vymazanie schránky zlyhalo" + +-#: browser.c:1670 ++#: browser.c:1737 + msgid "Mailbox not deleted" + msgstr "Schránka nebola vymazaná" + +-#: browser.c:1697 ++#: browser.c:1764 + msgid "Chdir to: " + msgstr "Zmeň adresár na: " + +-#: browser.c:1747 browser.c:1808 ++#: browser.c:1814 browser.c:1875 + msgid "Error scanning directory" + msgstr "Chyba pri čítaní adresára" + +-#: browser.c:1769 ++#: browser.c:1836 + msgid "File Mask: " + msgstr "Maska súborov: " + + #. L10N: The highlighted letters must match the "Sort" options +-#: browser.c:1831 ++#: browser.c:1898 + msgid "Reverse sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "Spätné triedenie podľa (d)átumu, (z)nakov, (v)eľkosti, (p)opisu, p(o)čtu, no(v)ých, (n)etriediť?" + + #. L10N: The highlighted letters must match the "Reverse Sort" options +-#: browser.c:1834 ++#: browser.c:1901 + msgid "Sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "Triedenie podľa (d)átumu, (z)nakov, (v)eľkosti, (p)opisu, p(o)čtu, no(v)ých, (n)etriediť?" + + #. L10N: These must match the highlighted letters from "Sort" and "Reverse Sort" +-#: browser.c:1837 ++#: browser.c:1904 + msgid "dazecwn" + msgstr "dzvpovn" + +-#: browser.c:1948 ++#: browser.c:2015 + msgid "New file name: " + msgstr "Nové meno súboru: " + +-#: browser.c:1976 ++#: browser.c:2043 + msgid "Can't view a directory" + msgstr "Nemožno prezerať adresár" + +-#: browser.c:1993 ++#: browser.c:2060 + msgid "Error trying to view file" + msgstr "Chyba pri prezeraní súboru" + +-#: browser.c:2079 ++#: browser.c:2146 + #, c-format + msgid "Subscribe pattern: " + msgstr "Odoberať podľa vzoru: " + +-#: browser.c:2081 ++#: browser.c:2148 + #, c-format + msgid "Unsubscribe pattern: " + msgstr "Neodoberať podľa vzoru: " + +-#: browser.c:2101 ++#: browser.c:2169 + msgid "No newsgroups match the mask" + msgstr "Žiadne diskusné skupiny nezodpovedajú maske" + +-#: color.c:633 color.c:644 +-#, c-format +-msgid "%s: color not supported by term" +-msgstr "%s: terminál túto farbu nepodporuje" +- +-#: color.c:652 +-#, c-format +-msgid "%s: no such color" +-msgstr "%s: nenájdená farba" +- +-#: color.c:717 color.c:740 color.c:751 color.c:842 +-#, c-format +-msgid "%s: no such object" +-msgstr "%s: nenájdený objekt" +- +-#: color.c:731 color.c:868 color.c:1069 color.c:1098 color.c:1122 color.c:1191 +-#: color.c:1214 hook.c:110 hook.c:124 hook.c:367 hook.c:383 init.c:612 +-#: init.c:620 init.c:709 init.c:1099 init.c:1267 init.c:1871 init.c:1929 +-#: keymap.c:1184 score.c:110 +-#, c-format +-msgid "%s: too few arguments" +-msgstr "%s: príliš málo parametrov" +- +-#: color.c:1142 +-#, c-format +-msgid "%s: no such attribute" +-msgstr "%s: vlastnosť nenájdená" +- +-#: color.c:1223 color.c:1329 hook.c:131 hook.c:390 init.c:1123 init.c:2133 +-#: init.c:2611 keymap.c:1116 keymap.c:1289 keymap.c:1442 keymap.c:1506 +-#: mutt_lua.c:483 score.c:119 +-#, c-format +-msgid "%s: too many arguments" +-msgstr "%s: príliš veľa argumentov" +- +-#: color.c:1244 +-msgid "default colors not supported" +-msgstr "štandardné farby nepodporované" +- +-#: color.c:1282 +-#, c-format +-msgid "Maximum quoting level is %d" +-msgstr "" +- +-#: color.c:1319 +-#, fuzzy, c-format +-msgid "%s: invalid number: %s" +-msgstr "%d: neplatné číslo správy.\n" +- + #. L10N: Used for the $crypt_verify_sig prompt +-#: commands.c:230 ++#: commands.c:232 + msgid "Verify signature?" + msgstr "Overiť podpis?" + +-#: commands.c:257 mbox/mbox.c:1236 ++#: commands.c:259 mbox/mbox.c:1236 + msgid "Could not create temporary file" + msgstr "Nemožno vytvoriť dočasný súbor" + +-#: commands.c:269 ++#: commands.c:271 + msgid "Can't create display filter" + msgstr "Nemožno vytvoriť filter zobrazenia." + +-#: commands.c:302 ++#: commands.c:304 + msgid "Could not copy message" + msgstr "Nemožno správu skopírovať." + +-#: commands.c:338 ++#: commands.c:340 + msgid "S/MIME signature successfully verified" + msgstr "S/MIME podpis úspešne overený" + +-#: commands.c:340 ++#: commands.c:342 + msgid "S/MIME certificate owner does not match sender" + msgstr "S/MIME certifikát vlastníka nezodpovedá odosielateľovi" + +-#: commands.c:343 commands.c:353 ++#: commands.c:345 commands.c:355 + msgid "Warning: Part of this message has not been signed" + msgstr "Upozornenie: Časť z tejto správy nebola podpísaná" + +-#: commands.c:345 ++#: commands.c:347 + msgid "S/MIME signature could NOT be verified" + msgstr "S/MIME podpis NEMOL BYŤ overený" + +-#: commands.c:351 ++#: commands.c:353 + msgid "PGP signature successfully verified" + msgstr "PGP podpis úspešne overený" + +-#: commands.c:355 ++#: commands.c:357 + msgid "PGP signature could NOT be verified" + msgstr "PGP podpis NEMOL BYŤ overený" + +-#: commands.c:372 compose.c:2116 compress.c:321 curs_lib.c:359 curs_lib.c:646 +-#: index.c:1235 index.c:1285 mutt_attach.c:159 mutt_attach.c:292 pager.c:2460 +-#: sendlib.c:1625 ++#: commands.c:378 compose.c:2187 compress/compress.c:320 gui/curs_lib.c:360 ++#: gui/curs_lib.c:714 index.c:1240 index.c:1290 mutt_attach.c:161 ++#: mutt_attach.c:294 pager.c:2433 sendlib.c:1624 + #, c-format + msgid "Error running \"%s\"" + msgstr "Chyba behu \"%s\"" + +-#: commands.c:382 ++#: commands.c:388 + msgid "Command: " + msgstr "Príkaz: " + +-#: commands.c:419 recvcmd.c:191 recvcmd.c:203 ++#: commands.c:425 recvcmd.c:190 recvcmd.c:202 + msgid "Warning: message contains no From: header" + msgstr "Upozornenie: Správa neobsahuje From: hlavičku." + +-#: commands.c:425 recvcmd.c:212 ++#: commands.c:431 recvcmd.c:211 + #, fuzzy + msgid "Bounce message to: " + msgstr "Presmerovať správu do: " + +-#: commands.c:427 recvcmd.c:214 ++#: commands.c:433 recvcmd.c:213 + #, fuzzy + msgid "Bounce tagged messages to: " + msgstr "Presmerovať označené správy do: " + +-#: commands.c:436 recvcmd.c:224 ++#: commands.c:442 recvcmd.c:223 + msgid "Error parsing address" + msgstr "Chyba pri analýze adresy" + +-#: commands.c:455 recvcmd.c:243 ++#: commands.c:461 recvcmd.c:242 + #, fuzzy, c-format + msgid "Bounce message to %s?" + msgid_plural "Bounce messages to %s?" +@@ -682,7 +657,7 @@ msgstr[0] "Presmerovať správu do %s?" + msgstr[1] "Presmerovať správy do %s?" + msgstr[2] "Presmerovať správy do %s?" + +-#: commands.c:470 recvcmd.c:257 ++#: commands.c:476 recvcmd.c:257 + #, fuzzy + msgid "Message not bounced" + msgid_plural "Messages not bounced" +@@ -690,7 +665,7 @@ msgstr[0] "Správa nebola presmerovaná" + msgstr[1] "Správy neboli presmerované" + msgstr[2] "Správy neboli presmerované" + +-#: commands.c:496 recvcmd.c:276 ++#: commands.c:502 recvcmd.c:276 + #, fuzzy + msgid "Message bounced" + msgid_plural "Messages bounced" +@@ -698,27 +673,27 @@ msgstr[0] "Správa bola presmerovaná" + msgstr[1] "Správy boli presmerované" + msgstr[2] "Správy boli presmerované" + +-#: commands.c:606 commands.c:642 commands.c:662 ++#: commands.c:612 commands.c:648 commands.c:668 + msgid "Can't create filter process" + msgstr "Filtrovací proces sa nedá vytvoriť." + +-#: commands.c:698 ++#: commands.c:704 + msgid "Pipe to command: " + msgstr "Poslať rúrou do príkazu: " + +-#: commands.c:720 ++#: commands.c:726 + msgid "No printing command has been defined" + msgstr "Nebol nájdený príkaz na tlač" + +-#: commands.c:732 ++#: commands.c:738 + msgid "Print message?" + msgstr "Vytlačiť správu?" + +-#: commands.c:733 ++#: commands.c:739 + msgid "Print tagged messages?" + msgstr "Vytlačiť označené správy?" + +-#: commands.c:739 ++#: commands.c:745 + #, fuzzy + msgid "Message printed" + msgid_plural "Messages printed" +@@ -726,7 +701,7 @@ msgstr[0] "Správa bola vytlačené." + msgstr[1] "Správy boli vytlačené." + msgstr[2] "Správy boli vytlačené." + +-#: commands.c:742 ++#: commands.c:748 + #, fuzzy + msgid "Message could not be printed" + msgid_plural "Messages could not be printed" +@@ -735,153 +710,323 @@ msgstr[1] "Správy nemohli byť vytlačené." + msgstr[2] "Správy nemohli byť vytlačené." + + #. L10N: The highlighted letters must match the "Sort" options +-#: commands.c:759 ++#: commands.c:765 + #, fuzzy + msgid "Rev-Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "Spät.tried.(d)át/(f)-od/p(r)í/(s)-pred/k(o)mu/(t)-reť/(u)-ne/(z)-veľ/(c)-skóre/sPam/Label?" + + #. L10N: The highlighted letters must match the "Rev-Sort" options +-#: commands.c:763 ++#: commands.c:769 + #, fuzzy + msgid "Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "Tried. (d)át/(f)-od/p(r)í/(s)-pred/k(o)mu/(t)-reť/(u)-ne/(z)-veľ/(c)-skó/sPam/Lab?" + + #. L10N: These must match the highlighted letters from "Sort" and "Rev-Sort" +-#: commands.c:767 ++#: commands.c:773 + #, fuzzy + msgid "dfrsotuzcpl" + msgstr "dfrsotuzcpl" + +-#: commands.c:831 ++#: commands.c:837 + msgid "Shell command: " + msgstr "Príkaz shell-u: " + +-#: commands.c:1036 ++#: commands.c:1042 + msgid "Decode-save to mailbox" + msgstr "Dekódovať-Uložiť do schránky" + +-#: commands.c:1036 ++#: commands.c:1042 + #, fuzzy + msgid "Decode-save tagged to mailbox" + msgstr "Dekódovať-Uložiť označené do schránky" + +-#: commands.c:1038 ++#: commands.c:1044 + msgid "Decrypt-save to mailbox" + msgstr "Dešifrovať-Uložiť do schránky" + +-#: commands.c:1038 ++#: commands.c:1044 + msgid "Decrypt-save tagged to mailbox" + msgstr "Dešifrovať-Uložiť označené do schránky" + +-#: commands.c:1040 ++#: commands.c:1046 + msgid "Save to mailbox" + msgstr "Uložiť do schránky" + +-#: commands.c:1040 ++#: commands.c:1046 + msgid "Save tagged to mailbox" + msgstr "Uložiť označené do schránky" + +-#: commands.c:1045 ++#: commands.c:1051 + msgid "Decode-copy to mailbox" + msgstr "Dekódovať-Skopírovať do schránky" + +-#: commands.c:1045 ++#: commands.c:1051 + msgid "Decode-copy tagged to mailbox" + msgstr "Dekódovať-Skopírovať označené do schránky" + +-#: commands.c:1047 ++#: commands.c:1053 + msgid "Decrypt-copy to mailbox" + msgstr "Dešifrovať-Skopírovať do schránky" + +-#: commands.c:1047 ++#: commands.c:1053 + msgid "Decrypt-copy tagged to mailbox" + msgstr "Dešifrovať-Skopírovať označené do schránky" + +-#: commands.c:1049 ++#: commands.c:1055 + msgid "Copy to mailbox" + msgstr "Skopírovať do schránky" + +-#: commands.c:1049 ++#: commands.c:1055 + msgid "Copy tagged to mailbox" + msgstr "Skopírovať označené do schránky" + +-#: commands.c:1092 ++#: commands.c:1098 + #, c-format + msgid "Copying to %s..." + msgstr "Kopírujem do %s..." + + #. L10N: e.g. "text/plain; charset=UTF-8; ..." +-#: commands.c:1257 ++#: commands.c:1263 + #, fuzzy + msgid "Content type is too long" + msgstr "Položka 'Content-Type' zmenená na %s.." + +-#: commands.c:1281 ++#: commands.c:1290 + #, c-format + msgid "Convert to %s upon sending?" + msgstr "Pred odoslaním konvertovať do %s?" + +-#: commands.c:1292 ++#: commands.c:1301 + #, c-format + msgid "Content-Type changed to %s" + msgstr "Položka 'Content-Type' zmenená na %s.." + +-#: commands.c:1297 ++#: commands.c:1306 + #, c-format + msgid "Character set changed to %s; not converting" + msgstr "Znaková sada zmenená na %s; neprevádzam" + +-#: commands.c:1298 ++#: commands.c:1307 + #, c-format + msgid "Character set changed to %s; converting" + msgstr "Znaková sada zmenená na %s; prevádzam" + +-#: compose.c:99 ++#: command_parse.c:83 command_parse.c:211 command_parse.c:219 ++#: command_parse.c:740 command_parse.c:887 command_parse.c:1491 ++#: command_parse.c:1549 gui/color.c:731 gui/color.c:868 gui/color.c:1069 ++#: gui/color.c:1098 gui/color.c:1122 gui/color.c:1191 gui/color.c:1214 ++#: hook.c:110 hook.c:124 hook.c:372 hook.c:388 keymap.c:1182 score.c:110 ++#, c-format ++msgid "%s: too few arguments" ++msgstr "%s: príliš málo parametrov" ++ ++#: command_parse.c:394 ++msgid "-group: no group name" ++msgstr "" ++ ++#: command_parse.c:404 ++#, fuzzy ++msgid "out of arguments" ++msgstr "príliš málo argumentov" ++ ++#: command_parse.c:445 command_parse.c:1372 ++#, c-format ++msgid "Error: Can't build path of '%s'" ++msgstr "" ++ ++#: command_parse.c:458 ++#, c-format ++msgid "Error: Cyclic sourcing of configuration file '%s'" ++msgstr "" ++ ++#: command_parse.c:491 ++#, c-format ++msgid "Error in %s, line %d: %s" ++msgstr "Chyba v %s, riadok %d: %s" ++ ++#: command_parse.c:502 ++#, fuzzy, c-format ++msgid "Warning in %s, line %d: %s" ++msgstr "Chyba v %s, riadok %d: %s" ++ ++#: command_parse.c:526 ++#, c-format ++msgid "source: errors in %s" ++msgstr "zdroj: chyby v %s" ++ ++#: command_parse.c:526 ++#, c-format ++msgid "source: reading aborted due to too many errors in %s" ++msgstr "" ++ ++#: command_parse.c:535 ++#, fuzzy, c-format ++msgid "source: %d warning in %s" ++msgid_plural "source: %d warnings in %s" ++msgstr[0] "zdroj: chyby v %s" ++msgstr[1] "zdroj: chyby v %s" ++msgstr[2] "zdroj: chyby v %s" ++ ++#: command_parse.c:564 ++msgid "alias: no address" ++msgstr "zástupca: žiadna adresa" ++ ++#: command_parse.c:606 ++#, c-format ++msgid "Warning: Bad IDN '%s' in alias '%s'" ++msgstr "" ++ ++#: command_parse.c:684 ++#, fuzzy ++msgid "attachments: no disposition" ++msgstr "upraviť popis prílohy" ++ ++#: command_parse.c:695 ++#, fuzzy ++msgid "Current attachments settings:" ++msgstr "upraviť popis prílohy" ++ ++#: command_parse.c:725 ++#, fuzzy ++msgid "attachments: invalid disposition" ++msgstr "upraviť popis prílohy" ++ ++#: command_parse.c:764 command_parse.c:1753 command_parse.c:2205 ++#: gui/color.c:1223 gui/color.c:1329 hook.c:131 hook.c:395 keymap.c:1114 ++#: keymap.c:1287 keymap.c:1440 keymap.c:1504 mutt_lua.c:485 score.c:119 ++#, c-format ++msgid "%s: too many arguments" ++msgstr "%s: príliš veľa argumentov" ++ ++#: command_parse.c:801 ++#, c-format ++msgid "%sgroup: missing -rx or -addr" ++msgstr "" ++ ++#: command_parse.c:827 ++#, c-format ++msgid "%sgroup: warning: bad IDN '%s'" ++msgstr "" ++ ++#: command_parse.c:898 ++#, c-format ++msgid "Error: %s" ++msgstr "" ++ ++#: command_parse.c:1065 ++msgid "invalid header field" ++msgstr "neplatná položka hlavičky" ++ ++#: command_parse.c:1331 command_parse.c:1435 ++#, c-format ++msgid "%s: unknown variable" ++msgstr "%s: neznáma premenná" ++ ++#: command_parse.c:1528 ++#, c-format ++msgid "%s is unset" ++msgstr "%s je nenastavené" ++ ++#: command_parse.c:1573 mutt_lua.c:480 ++#, c-format ++msgid "source: error at %s" ++msgstr "zdroj: chyba na %s" ++ ++#: command_parse.c:1581 ++#, fuzzy, c-format ++msgid "source: file %s could not be sourced" ++msgstr "Správy nemohli byť vytlačené" ++ ++#: command_parse.c:1604 ++#, fuzzy ++msgid "spam: no matching pattern" ++msgstr "označiť správy zodpovedajúce vzoru" ++ ++#: command_parse.c:1606 ++#, fuzzy ++msgid "nospam: no matching pattern" ++msgstr "odznačiť správy zodpovedajúce vzoru" ++ ++#: command_parse.c:1762 imap/imap.c:1443 ++#, fuzzy, c-format ++msgid "Subscribed to %s" ++msgstr "Kopírujem do %s..." ++ ++#: command_parse.c:1766 ++#, fuzzy, c-format ++msgid "Could not subscribe to %s" ++msgstr "Kopírujem do %s..." ++ ++#: command_parse.c:1774 command_parse.c:2226 ++#, fuzzy ++msgid "No folder specified" ++msgstr "Nebol uvedený predmet." ++ ++#: command_parse.c:1943 ++#, fuzzy ++msgid "unattachments: no disposition" ++msgstr "upraviť popis prílohy" ++ ++#: command_parse.c:1981 ++msgid "unattachments: invalid disposition" ++msgstr "" ++ ++#: command_parse.c:2214 imap/imap.c:1445 ++#, fuzzy, c-format ++msgid "Unsubscribed from %s" ++msgstr "Spájam sa s %s..." ++ ++#: command_parse.c:2218 ++#, fuzzy, c-format ++msgid "Could not unsubscribe from %s" ++msgstr "Spájam sa s %s..." ++ ++#: compose.c:97 + msgid "There are no attachments" + msgstr "Správa je bez príloh" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:166 ++#: compose.c:164 + msgid "From: " + msgstr "Od: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:168 send.c:284 ++#: compose.c:166 send.c:284 + msgid "To: " + msgstr "Komu: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:170 send.c:286 ++#: compose.c:168 send.c:286 + msgid "Cc: " + msgstr "Kopia: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:172 send.c:288 ++#: compose.c:170 send.c:288 + msgid "Bcc: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:174 compose.c:1242 send.c:320 ++#: compose.c:172 compose.c:1302 send.c:320 + msgid "Subject: " + msgstr "Predmet: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:176 ++#: compose.c:174 + msgid "Reply-To: " + msgstr "Odpovedz: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:178 compose.c:1261 ++#: compose.c:176 compose.c:1321 + msgid "Fcc: " + msgstr "Kopia do súboru: " + + #. L10N: "Mix" refers to the MixMaster chain for anonymous email +-#: compose.c:181 ++#: compose.c:179 + msgid "Mix: " + msgstr "Mix: " + + #. L10N: Compose menu field. Holds "Encrypt", "Sign" related information +-#: compose.c:184 ++#: compose.c:182 + msgid "Security: " + msgstr "Zabezpečenie: " + +@@ -892,79 +1037,79 @@ msgstr "Zabezpečenie: " + #. it should not be longer than the other compose menu fields. + #. Since it shares the row with "Encrypt with:", it should not be longer + #. than 15-20 character cells. +-#: compose.c:192 ncrypt/crypt_gpgme.c:5602 ncrypt/pgp.c:1974 +-#: ncrypt/smime.c:2395 ++#: compose.c:190 ncrypt/crypt_gpgme.c:5682 ncrypt/pgp.c:1976 ++#: ncrypt/smime.c:2429 + msgid "Sign as: " + msgstr "Podpíš ako: " + + #. L10N: The compose menu autocrypt line +-#: compose.c:195 ++#: compose.c:193 + msgid "Autocrypt: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:199 ++#: compose.c:197 + #, fuzzy + msgid "Newsgroups: " + msgstr "Otvor newsgroup." + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:201 ++#: compose.c:199 + #, fuzzy + msgid "Followup-To: " + msgstr "Nasleduj" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:203 ++#: compose.c:201 + #, fuzzy + msgid "X-Comment-To: " + msgstr "upraviť pole Reply-To" + +-#: compose.c:208 compose.c:224 ++#: compose.c:206 compose.c:222 + msgid "Send" + msgstr "Poslať" + +-#: compose.c:209 compose.c:225 remailer.c:77 ++#: compose.c:207 compose.c:223 remailer.c:75 + msgid "Abort" + msgstr "Prerušiť" + + #. L10N: compose menu help line entry +-#: compose.c:211 ++#: compose.c:209 + msgid "To" + msgstr "" + + #. L10N: compose menu help line entry +-#: compose.c:213 ++#: compose.c:211 + msgid "CC" + msgstr "Kopia" + + #. L10N: compose menu help line entry +-#: compose.c:215 compose.c:227 ++#: compose.c:213 compose.c:225 + msgid "Subj" + msgstr "Predm" + +-#: compose.c:216 compose.c:228 compose.c:1556 ++#: compose.c:214 compose.c:226 compose.c:1616 + msgid "Attach file" + msgstr "Pripoj súbor" + +-#: compose.c:217 compose.c:229 ++#: compose.c:215 compose.c:227 + msgid "Descrip" + msgstr "Popis" + +-#: compose.c:226 ++#: compose.c:224 + #, fuzzy + msgid "Newsgroups" + msgstr "Otvor newsgroup." + + #. L10N: Autocrypt recommendation flag: off. + #. * This is displayed when Autocrypt is turned off. +-#: compose.c:239 compose.c:473 ++#: compose.c:237 compose.c:472 + msgid "Off" + msgstr "" + + #. L10N: Autocrypt recommendation flag: no. + #. * This is displayed when Autocrypt cannot encrypt to the recipients. +-#: compose.c:242 ++#: compose.c:240 + #, fuzzy + msgid "No" + msgstr "Žiadne" +@@ -973,7 +1118,7 @@ msgstr "Žiadne" + #. * This is displayed when Autocrypt believes encryption should not be used. + #. * This might occur if one of the recipient Autocrypt Keys has not been + #. * used recently, or if the only key available is a Gossip Header key. +-#: compose.c:247 ++#: compose.c:245 + msgid "Discouraged" + msgstr "" + +@@ -981,14 +1126,14 @@ msgstr "" + #. * This is displayed when Autocrypt believes encryption is possible, but + #. * leaves enabling it up to the sender. Probably because "prefer encrypt" + #. * is not set in both the sender and recipient keys. +-#: compose.c:252 ++#: compose.c:250 + msgid "Available" + msgstr "" + + #. L10N: Autocrypt recommendation flag: yes. + #. * This is displayed when Autocrypt would normally enable encryption + #. * automatically. +-#: compose.c:256 ++#: compose.c:254 + #, fuzzy + msgid "Yes" + msgstr "áno" +@@ -999,7 +1144,7 @@ msgstr "áno" + #. (c)lear sets cleartext. + #. (a)utomatic defers to the recommendation. + #. +-#: compose.c:338 ++#: compose.c:337 + msgid "Autocrypt: (e)ncrypt, (c)lear, (a)utomatic?" + msgstr "" + +@@ -1007,51 +1152,51 @@ msgstr "" + #. The letter corresponding to the compose menu autocrypt prompt + #. (e)ncrypt, (c)lear, (a)utomatic + #. +-#: compose.c:346 ++#: compose.c:345 + msgid "eca" + msgstr "" + +-#: compose.c:383 ++#: compose.c:382 + msgid "Not supported" + msgstr "Nie je podorované." + +-#: compose.c:390 ++#: compose.c:389 + msgid "Sign, Encrypt" + msgstr "Podpíš, zašifruj" + +-#: compose.c:395 compose.c:468 ++#: compose.c:394 compose.c:467 + msgid "Encrypt" + msgstr "Zašifruj" + +-#: compose.c:400 ++#: compose.c:399 + msgid "Sign" + msgstr "Podpíš" + +-#: compose.c:406 ++#: compose.c:405 + msgid "None" + msgstr "Žiadne" + +-#: compose.c:415 ++#: compose.c:414 + msgid " (inline PGP)" + msgstr " (inline PGP)" + +-#: compose.c:417 ++#: compose.c:416 + msgid " (PGP/MIME)" + msgstr " (PGP/MIME)" + +-#: compose.c:420 ++#: compose.c:419 + msgid " (S/MIME)" + msgstr " (S/MIME)" + +-#: compose.c:424 ++#: compose.c:423 + msgid " (OppEnc mode)" + msgstr " (OppEnc mode)" + +-#: compose.c:436 compose.c:445 ++#: compose.c:435 compose.c:444 + msgid "" + msgstr "<štd>" + +-#: compose.c:452 ++#: compose.c:451 + msgid "Encrypt with: " + msgstr "Zašifruj s: " + +@@ -1060,12 +1205,12 @@ msgstr "Zašifruj s: " + #. Displays the output of the recommendation engine + #. (Off, No, Discouraged, Available, Yes) + #. +-#: compose.c:483 ++#: compose.c:482 + #, fuzzy + msgid "Recommendation: " + msgstr "upraviť pole Reply-To" + +-#: compose.c:547 ++#: compose.c:546 + msgid "" + msgstr "" + +@@ -1076,7 +1221,7 @@ msgstr "" + #. The filename is located last to avoid a long path hiding the + #. error message. + #. +-#: compose.c:601 ++#: compose.c:600 + #, fuzzy, c-format + msgid "Attachment #%d no longer exists: %s" + msgstr "%s [#%d] už neexistuje" +@@ -1088,56 +1233,56 @@ msgstr "%s [#%d] už neexistuje" + #. The filename is located last to avoid a long path hiding the + #. prompt question. + #. +-#: compose.c:621 ++#: compose.c:620 + #, fuzzy, c-format + msgid "Attachment #%d modified. Update encoding for %s?" + msgstr "%s [#%d] bolo zmenené. Aktualizovať kódovanie?" + +-#: compose.c:716 ++#: compose.c:715 + msgid "-- Attachments" + msgstr "-- Prílohy" + +-#: compose.c:770 ++#: compose.c:769 + msgid "You may not delete the only attachment" + msgstr "Nemôžete zmazať jediné pridané dáta" + +-#: compose.c:1296 edit.c:538 send.c:2462 ++#: compose.c:1356 edit.c:536 send.c:2473 + #, c-format + msgid "Bad IDN in '%s': '%s'" + msgstr "Chybné IDN v '%s': '%s'" + +-#: compose.c:1347 ++#: compose.c:1407 + #, fuzzy + msgid "Attachment is already at top" + msgstr "Pripojené dáta boli uložené" + +-#: compose.c:1352 compose.c:1368 ++#: compose.c:1412 compose.c:1428 + #, fuzzy + msgid "The fundamental part can't be moved" + msgstr "Táto príloha nebude prevedená" + +-#: compose.c:1363 ++#: compose.c:1423 + #, fuzzy + msgid "Attachment is already at bottom" + msgstr "Príloha bola prefiltrovaná" + +-#: compose.c:1381 ++#: compose.c:1441 + msgid "Grouping 'alternatives' requires at least 2 tagged messages" + msgstr "" + +-#: compose.c:1462 ++#: compose.c:1522 + msgid "Grouping 'multilingual' requires at least 2 tagged messages" + msgstr "" + +-#: compose.c:1475 ++#: compose.c:1535 + msgid "Not all parts have 'Content-Language' set, continue?" + msgstr "" + +-#: compose.c:1477 ++#: compose.c:1537 + msgid "Not sending this message" + msgstr "Neodosielam túto správu" + +-#: compose.c:1571 ++#: compose.c:1631 + #, fuzzy + msgid "Attaching selected file..." + msgid_plural "Attaching selected files..." +@@ -1145,182 +1290,302 @@ msgstr[0] "Vyvolávam správu..." + msgstr[1] "Vyvolávam správu..." + msgstr[2] "Vyvolávam správu..." + +-#: compose.c:1585 ++#: compose.c:1645 + #, c-format + msgid "Unable to attach %s" + msgstr "Nemožno pripojiť %s" + +-#: compose.c:1606 ++#: compose.c:1666 + msgid "Open mailbox to attach message from" + msgstr "Otvor schránku, z ktorej sa bude pridávať správa" + +-#: compose.c:1616 ++#: compose.c:1676 + #, fuzzy + msgid "Open newsgroup to attach message from" + msgstr "Otvor schránku, z ktorej sa bude pridávať správa" + +-#: compose.c:1667 ++#: compose.c:1730 + #, fuzzy, c-format + msgid "Unable to open mailbox %s" + msgstr "Nemožno uzamknúť schránku!" + +-#: compose.c:1676 ++#: compose.c:1739 + msgid "No messages in that folder" + msgstr "V tejto zložke nie sú správy" + +-#: compose.c:1686 ++#: compose.c:1749 + msgid "Tag the messages you want to attach" + msgstr "Označte správy, ktoré chcete pridať" + +-#: compose.c:1715 ++#: compose.c:1785 + msgid "Unable to attach" + msgstr "Nemožno pripojiť" + +-#: compose.c:1752 ++#: compose.c:1822 + msgid "Recoding only affects text attachments" + msgstr "Prekódovanie sa týka iba textových príloh" + +-#: compose.c:1757 ++#: compose.c:1827 + msgid "The current attachment won't be converted" + msgstr "Táto príloha nebude prevedená" + +-#: compose.c:1759 ++#: compose.c:1829 + msgid "The current attachment will be converted" + msgstr "Táto príloha bude prevedená" + +-#: compose.c:1831 ++#: compose.c:1901 + msgid "Empty 'Content-Language'" + msgstr "Prázdny 'Content-Language'" + +-#: compose.c:1849 ++#: compose.c:1920 + msgid "Invalid encoding" + msgstr "Neplatné kódovanie" + +-#: compose.c:1871 ++#: compose.c:1942 + msgid "Save a copy of this message?" + msgstr "Uložiť kópiu tejto správy?" + +-#: compose.c:1924 ++#: compose.c:1995 + msgid "Send attachment with name: " + msgstr "Poslať prílohu pod menom: " + +-#: compose.c:1939 ++#: compose.c:2010 + msgid "Rename to: " + msgstr "Premenovať na: " + + #. L10N: "stat" is a system call. Do "man 2 stat" for more information. +-#: compose.c:1946 editmsg.c:102 editmsg.c:138 sendlib.c:1050 ++#: compose.c:2017 editmsg.c:102 editmsg.c:138 sendlib.c:1049 + #, c-format + msgid "Can't stat %s: %s" + msgstr "Nemožno zistiť status %s: %s" + +-#: compose.c:1966 ++#: compose.c:2037 + msgid "New file: " + msgstr "Nový súbor: " + +-#: compose.c:1984 ++#: compose.c:2055 + msgid "Content-Type is of the form base/sub" + msgstr "Content-Type je formy základ/pod" + +-#: compose.c:1991 ++#: compose.c:2062 + #, c-format + msgid "Unknown Content-Type %s" + msgstr "Neznáme Content-Type %s" + +-#: compose.c:1999 ++#: compose.c:2070 + #, c-format + msgid "Can't create file %s" + msgstr "Nemožno vytvoriť súbor %s" + +-#: compose.c:2008 ++#: compose.c:2079 + msgid "What we have here is a failure to make an attachment" + msgstr "Nemožno vytvoriť pripojené dáta" + +-#: compose.c:2073 ++#: compose.c:2144 + #, fuzzy + msgid "Save (postpone) draft message?" + msgstr "Vyvolať odloženú správu?" + +-#: compose.c:2133 ++#: compose.c:2204 + msgid "Write message to mailbox" + msgstr "Zapísať správu do schránky" + +-#: compose.c:2136 ++#: compose.c:2207 + #, c-format + msgid "Writing message to %s ..." + msgstr "Zapisujem správu do %s ..." + +-#: compose.c:2143 ++#: compose.c:2214 + msgid "Message written" + msgstr "Správa bola zapísaná" + +-#: compose.c:2154 ++#: compose.c:2225 + msgid "No PGP backend configured" + msgstr "" + +-#: compose.c:2161 compose.c:2225 ++#: compose.c:2232 compose.c:2296 + msgid "S/MIME already selected. Clear and continue?" + msgstr "S/MIME je už vybrané. Vyčistiť & pokračovať?" + +-#: compose.c:2186 ++#: compose.c:2257 + msgid "No S/MIME backend configured" + msgstr "" + +-#: compose.c:2194 ++#: compose.c:2265 + msgid "PGP already selected. Clear and continue?" + msgstr "PGP je už vybrané. Vyčistiť & pokračovať?" + +-#: compress.c:355 compress.c:499 ++#: compress/compress.c:354 compress/compress.c:498 + #, c-format + msgid "Can't append without an append-hook or close-hook : %s" + msgstr "Nedá sa pripojiť bez append-hook-u alebo close-hook-u: %s" + +-#: compress.c:444 compress.c:511 compress.c:590 compress.c:628 mbox/mbox.c:1208 ++#: compress/compress.c:443 compress/compress.c:510 compress/compress.c:589 ++#: compress/compress.c:627 mbox/mbox.c:1208 + msgid "Unable to lock mailbox" + msgstr "Nemožno uzamknúť schránku" + +-#: compress.c:448 compress.c:518 compress.c:594 ++#: compress/compress.c:447 compress/compress.c:517 compress/compress.c:593 + #, c-format + msgid "Decompressing %s" + msgstr "Dekomprimácia %s" + +-#: compress.c:457 ++#: compress/compress.c:456 + msgid "Can't identify the contents of the compressed file" + msgstr "Nemožno určiť obsah komprimovaného súboru." + +-#: compress.c:464 compress.c:539 ++#: compress/compress.c:463 compress/compress.c:538 + #, fuzzy, c-format + msgid "Can't find mailbox ops for mailbox type %d" + msgstr "Nemožno nájsť ops schránky pre typ schránky %d" + +-#: compress.c:521 ++#: compress/compress.c:520 + #, c-format + msgid "Compress command failed: %s" + msgstr "Komprimačný program zlyhal: %s" + +-#: compress.c:532 ++#: compress/compress.c:531 + msgid "Unsupported mailbox type for appending" + msgstr "" + +-#: compress.c:618 ++#: compress/compress.c:617 + msgid "Can't sync a compressed file without a close-hook" + msgstr "" + +-#: compress.c:640 compress.c:692 ++#: compress/compress.c:639 compress/compress.c:691 + #, c-format + msgid "Compressing %s" + msgstr "Komprimácia do %s..." + +-#: compress.c:687 ++#: compress/compress.c:686 + #, c-format + msgid "Compressed-appending to %s..." + msgstr "Komprimácia-pridávacia do %s..." + +-#: compress.c:699 editmsg.c:247 ++#: compress/compress.c:698 editmsg.c:247 + #, fuzzy, c-format + msgid "Error. Preserving temporary file: %s" + msgstr "Chyba. Zachovávam dočasný súbor: %s" + ++#: config/bool.c:70 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %s" ++msgstr "Neplatný mesiac: %s" ++ ++#: config/bool.c:131 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %ld" ++msgstr "Neplatný mesiac: %s" ++ ++#: config/enum.c:62 ++#, fuzzy, c-format ++msgid "Invalid enum value: %s" ++msgstr "%d: neplatné číslo správy.\n" ++ ++#: config/enum.c:149 ++#, fuzzy, c-format ++msgid "Invalid enum value: %ld" ++msgstr "Neplatný deň v mesiaci: %s" ++ ++#: config/long.c:50 ++#, fuzzy, c-format ++msgid "Invalid long: %s" ++msgstr "Neplatný mesiac: %s" ++ ++#: config/long.c:56 config/long.c:114 config/number.c:68 config/number.c:133 ++#, fuzzy, c-format ++msgid "Option %s may not be negative" ++msgstr "V režime prikladania správ táto funkcia nie je dovolená" ++ ++#: config/number.c:49 config/sort.c:145 config/string.c:75 config/string.c:159 ++#, c-format ++msgid "Option %s may not be empty" ++msgstr "" ++ ++#: config/number.c:56 ++#, fuzzy, c-format ++msgid "Invalid number: %s" ++msgstr "%d: neplatné číslo správy.\n" ++ ++#: config/number.c:62 ++#, c-format ++msgid "Number is too big: %s" ++msgstr "" ++ ++#: config/number.c:127 ++#, fuzzy, c-format ++msgid "Invalid number: %ld" ++msgstr "%d: neplatné číslo správy.\n" ++ ++#: config/quad.c:69 ++#, fuzzy, c-format ++msgid "Invalid quad value: %s" ++msgstr "Neplatný mesiac: %s" ++ ++#: config/quad.c:133 ++#, fuzzy, c-format ++msgid "Invalid quad value: %ld" ++msgstr "Neplatný deň v mesiaci: %s" ++ ++#: config/set.c:102 ++#, c-format ++msgid "No such variable: %s" ++msgstr "" ++ ++#: config/set.c:134 config/set.c:821 ++#, c-format ++msgid "Variable '%s' has an invalid type %d" ++msgstr "" ++ ++#: config/set.c:399 config/set.c:463 config/set.c:528 config/set.c:601 ++#: config/set.c:671 config/set.c:744 ++#, fuzzy, c-format ++msgid "Unknown variable '%s'" ++msgstr "%s: neznáma premenná" ++ ++#: config/sort.c:192 ++#, fuzzy, c-format ++msgid "Invalid sort name: %s" ++msgstr "Neplatný mesiac: %s" ++ ++#: config/sort.c:322 ++#, fuzzy, c-format ++msgid "Invalid sort type: %ld" ++msgstr "Neplatný mesiac: %s" ++ ++#. L10N: Example: Username at myhost.com ++#: conn/connaccount.c:61 ++#, c-format ++msgid "Username at %s: " ++msgstr "Užívateľské meno na %s: " ++ ++#: conn/connaccount.c:117 ++#, c-format ++msgid "Password for %s@%s: " ++msgstr "Heslo pre %s@%s: " ++ ++#. L10N: You will see this error message if (1) you have "oauthbearer" in ++#. one of your $*_authenticators and (2) you do not have the corresponding ++#. $*_oauth_refresh_command defined. So the message does not mean "None of ++#. your $*_oauth_refresh_command's are defined." ++#: conn/connaccount.c:165 ++#, fuzzy ++msgid "No OAUTH refresh command defined" ++msgstr "Príkaz otázky nie je definovaný" ++ ++#: conn/connaccount.c:173 ++msgid "Unable to run refresh command" ++msgstr "" ++ ++#: conn/connaccount.c:184 ++msgid "Command returned empty string" ++msgstr "" ++ ++#: conn/connaccount.c:191 ++#, c-format ++msgid "OAUTH token is too big: %ld" ++msgstr "" ++ + #: conn/conn_raw.c:160 conn/conn_raw.c:218 + #, fuzzy, c-format + msgid "Looking up %s..." +@@ -1341,7 +1606,7 @@ msgstr "Spájam sa s %s..." + msgid "Could not connect to %s (%s)" + msgstr "Nemožno sa spojiť s %s (%s)" + +-#: conn/conn_raw.c:260 conn/ssl.c:1230 curs_lib.c:568 mutt_logging.c:149 ++#: conn/conn_raw.c:260 conn/ssl.c:1245 gui/curs_lib.c:569 mutt_logging.c:147 + msgid "unknown error" + msgstr "neznáma chyba" + +@@ -1355,23 +1620,23 @@ msgstr "Pripájam sa na %s" + msgid "Connection to %s has been aborted" + msgstr "Spájam sa s %s..." + +-#: conn/sasl.c:565 ++#: conn/sasl.c:547 + msgid "Unknown SASL profile" + msgstr "Neznámy SASL profil" + +-#: conn/sasl.c:598 ++#: conn/sasl.c:580 + msgid "Error allocating SASL connection" + msgstr "Chyba pri alokácii SASL spojenia" + +-#: conn/sasl.c:608 ++#: conn/sasl.c:590 + msgid "Error setting SASL security properties" + msgstr "" + +-#: conn/sasl.c:619 ++#: conn/sasl.c:601 + msgid "Error setting SASL external security strength" + msgstr "" + +-#: conn/sasl.c:629 ++#: conn/sasl.c:611 + msgid "Error setting SASL external user name" + msgstr "" + +@@ -1384,136 +1649,112 @@ msgstr "" + msgid "Connection to %s closed" + msgstr "Spojenie s %s zatvoreno" + +-#: conn/ssl.c:237 ++#: conn/ssl.c:222 + #, c-format + msgid "Filling entropy pool: %s..." + msgstr "" + +-#: conn/ssl.c:243 ++#: conn/ssl.c:228 + #, c-format + msgid "%s has insecure permissions" + msgstr "" + +-#: conn/ssl.c:385 ++#: conn/ssl.c:369 + msgid "SSL disabled due to the lack of entropy" + msgstr "" + +-#: conn/ssl.c:402 ++#: conn/ssl.c:386 + #, fuzzy + msgid "Unknown" + msgstr "neznáma chyba" + +-#: conn/ssl.c:421 conn/ssl_gnutls.c:186 ++#: conn/ssl.c:405 conn/ssl_gnutls.c:188 + #, fuzzy, c-format + msgid "[unable to calculate]" + msgstr "%s: súbor nemožno pripojiť" + +-#: conn/ssl.c:446 ++#: conn/ssl.c:430 + msgid "[invalid date]" + msgstr "[neplatné dátum]" + +-#: conn/ssl.c:506 ++#: conn/ssl.c:490 + msgid "Server certificate is not yet valid" + msgstr "" + +-#: conn/ssl.c:516 ++#: conn/ssl.c:500 + msgid "Server certificate has expired" + msgstr "" + +-#: conn/ssl.c:605 ++#: conn/ssl.c:589 + msgid "Failed to find enough entropy on your system" + msgstr "" + +-#: conn/ssl.c:799 ++#: conn/ssl.c:783 + #, fuzzy + msgid "can't get certificate subject" + msgstr "nemožno určiť domáci adresár" + +-#: conn/ssl.c:808 conn/ssl.c:816 ++#: conn/ssl.c:792 conn/ssl.c:800 + #, fuzzy + msgid "can't get certificate common name" + msgstr "nemožno určiť domáci adresár" + +-#: conn/ssl.c:830 ++#: conn/ssl.c:814 + #, c-format + msgid "certificate owner does not match hostname %s" + msgstr "" + +-#: conn/ssl.c:904 conn/ssl_gnutls.c:539 ++#: conn/ssl.c:917 conn/ssl_gnutls.c:570 + msgid "This certificate belongs to:" + msgstr "" + +-#: conn/ssl.c:913 conn/ssl_gnutls.c:593 ++#: conn/ssl.c:926 conn/ssl_gnutls.c:624 + msgid "This certificate was issued by:" + msgstr "" + +-#: conn/ssl.c:922 conn/ssl_gnutls.c:604 ++#: conn/ssl.c:935 conn/ssl_gnutls.c:635 + msgid "This certificate is valid" + msgstr "" + +-#: conn/ssl.c:923 conn/ssl_gnutls.c:608 ++#: conn/ssl.c:936 conn/ssl_gnutls.c:639 + #, c-format + msgid " from %s" + msgstr "" + +-#: conn/ssl.c:925 conn/ssl_gnutls.c:612 ++#: conn/ssl.c:938 conn/ssl_gnutls.c:643 + #, c-format + msgid " to %s" + msgstr "" + +-#: conn/ssl.c:931 conn/ssl_gnutls.c:617 ++#: conn/ssl.c:944 conn/ssl_gnutls.c:648 + #, c-format + msgid "SHA1 Fingerprint: %s" + msgstr "" + +-#: conn/ssl.c:937 conn/ssl.c:940 conn/ssl_gnutls.c:623 conn/ssl_gnutls.c:625 +-#, fuzzy +-msgid "SHA256 Fingerprint: " +-msgstr "Odtlačok kľúča: " +- +-#: conn/ssl.c:944 conn/ssl_gnutls.c:664 +-#, c-format +-msgid "SSL Certificate check (certificate %zu of %zu in chain)" +-msgstr "" +- +-#. L10N: These four letters correspond to the choices in the next four strings: +-#. (r)eject, accept (o)nce, (a)ccept always, (s)kip. +-#. These prompts are the interactive certificate confirmation prompts for +-#. an OpenSSL connection. +-#: conn/ssl.c:964 +-msgid "roas" +-msgstr "" +- +-#: conn/ssl.c:968 +-msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" +-msgstr "" +- +-#: conn/ssl.c:970 conn/ssl_gnutls.c:671 +-msgid "(r)eject, accept (o)nce, (a)ccept always" +-msgstr "" +- +-#: conn/ssl.c:975 +-msgid "(r)eject, accept (o)nce, (s)kip" +-msgstr "" +- +-#: conn/ssl.c:977 conn/ssl_gnutls.c:680 +-msgid "(r)eject, accept (o)nce" ++#: conn/ssl.c:950 conn/ssl.c:953 conn/ssl_gnutls.c:654 conn/ssl_gnutls.c:656 ++#, fuzzy ++msgid "SHA256 Fingerprint: " ++msgstr "Odtlačok kľúča: " ++ ++#: conn/ssl.c:957 conn/ssl_gnutls.c:695 ++#, c-format ++msgid "SSL Certificate check (certificate %zu of %zu in chain)" + msgstr "" + +-#: conn/ssl.c:981 conn/ssl_gnutls.c:689 ncrypt/crypt_gpgme.c:4729 +-#: ncrypt/pgpkey.c:664 ncrypt/smime.c:549 ++#: conn/ssl.c:994 conn/ssl_gnutls.c:720 ncrypt/crypt_gpgme.c:4777 ++#: ncrypt/pgpkey.c:667 ncrypt/smime.c:551 + msgid "Exit " + msgstr "Koniec " + +-#: conn/ssl.c:1016 conn/ssl_gnutls.c:742 ++#: conn/ssl.c:1029 conn/ssl_gnutls.c:773 + msgid "Warning: Couldn't save certificate" + msgstr "" + +-#: conn/ssl.c:1020 conn/ssl_gnutls.c:746 ++#: conn/ssl.c:1033 conn/ssl_gnutls.c:777 + msgid "Certificate saved" + msgstr "" + +-#: conn/ssl.c:1132 ++#: conn/ssl.c:1147 + #, fuzzy, c-format + msgid "Certificate host check failed: %s" + msgstr "Chyba v príkazovom riadku: %s\n" +@@ -1521,15 +1762,15 @@ msgstr "Chyba v príkazovom riadku: %s\n" + #. L10N: This is a warning when trying to set the host name for + #. * TLS Server Name Indication (SNI). This allows the server to present + #. * the correct certificate if it supports multiple hosts. +-#: conn/ssl.c:1213 conn/ssl_gnutls.c:1072 ++#: conn/ssl.c:1228 conn/ssl_gnutls.c:1105 + msgid "Warning: unable to set TLS SNI host name" + msgstr "" + +-#: conn/ssl.c:1224 ++#: conn/ssl.c:1239 + msgid "I/O error" + msgstr "" + +-#: conn/ssl.c:1233 ++#: conn/ssl.c:1248 + #, fuzzy, c-format + msgid "SSL failed: %s" + msgstr "Prihlasovanie zlyhalo." +@@ -1537,93 +1778,76 @@ msgstr "Prihlasovanie zlyhalo." + #. L10N: an SSL context is a data structure returned by the OpenSSL + #. function SSL_CTX_new(). In this case it returned NULL: an + #. error condition. +-#: conn/ssl.c:1269 ++#: conn/ssl.c:1284 + #, fuzzy + msgid "Unable to create SSL context" + msgstr "[-- Chyba: nemožno vytvoriť podproces OpenSSL! --]\n" + +-#: conn/ssl.c:1322 ++#: conn/ssl.c:1337 + msgid "Warning: error enabling ssl_verify_partial_chains" + msgstr "" + +-#: conn/ssl_gnutls.c:150 conn/ssl_gnutls.c:784 conn/ssl_gnutls.c:793 ++#: conn/ssl_gnutls.c:152 conn/ssl_gnutls.c:817 conn/ssl_gnutls.c:826 + #, fuzzy + msgid "Unable to get certificate from peer" + msgstr "nemožno určiť domáci adresár" + +-#: conn/ssl_gnutls.c:155 ++#: conn/ssl_gnutls.c:157 + #, c-format + msgid "Certificate verification error (%s)" + msgstr "" + +-#: conn/ssl_gnutls.c:162 ++#: conn/ssl_gnutls.c:164 + msgid "Certificate is not X.509" + msgstr "" + +-#: conn/ssl_gnutls.c:349 conn/ssl_gnutls.c:483 ++#: conn/ssl_gnutls.c:351 conn/ssl_gnutls.c:485 + #, fuzzy + msgid "Error initialising gnutls certificate data" + msgstr "Chyba pri inicializácii terminálu." + +-#: conn/ssl_gnutls.c:355 conn/ssl_gnutls.c:489 ++#: conn/ssl_gnutls.c:357 conn/ssl_gnutls.c:491 + msgid "Error processing certificate data" + msgstr "" + +-#: conn/ssl_gnutls.c:635 ++#: conn/ssl_gnutls.c:666 + msgid "WARNING: Server certificate is not yet valid" + msgstr "" + +-#: conn/ssl_gnutls.c:640 ++#: conn/ssl_gnutls.c:671 + msgid "WARNING: Server certificate has expired" + msgstr "" + +-#: conn/ssl_gnutls.c:645 ++#: conn/ssl_gnutls.c:676 + msgid "WARNING: Server certificate has been revoked" + msgstr "" + +-#: conn/ssl_gnutls.c:650 ++#: conn/ssl_gnutls.c:681 + msgid "WARNING: Server hostname does not match certificate" + msgstr "" + +-#: conn/ssl_gnutls.c:655 ++#: conn/ssl_gnutls.c:686 + msgid "WARNING: Signer of server certificate is not a CA" + msgstr "" + +-#: conn/ssl_gnutls.c:659 conn/ssl_gnutls.c:1004 ++#: conn/ssl_gnutls.c:690 conn/ssl_gnutls.c:1037 + msgid "Warning: Server certificate was signed using an insecure algorithm" + msgstr "" + +-#. L10N: These three letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce, (a)ccept always. +-#. This is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:676 +-#, fuzzy +-msgid "roa" +-msgstr "oac" +- +-#. L10N: These two letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce. +-#. These is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:685 +-msgid "ro" +-msgstr "" +- +-#: conn/ssl_gnutls.c:950 conn/ssl_gnutls.c:992 ++#: conn/ssl_gnutls.c:983 conn/ssl_gnutls.c:1025 + msgid "All available protocols for TLS/SSL connection disabled" + msgstr "" + +-#: conn/ssl_gnutls.c:999 ++#: conn/ssl_gnutls.c:1032 + msgid "Explicit ciphersuite selection via $ssl_ciphers not supported" + msgstr "" + +-#: conn/ssl_gnutls.c:1120 ++#: conn/ssl_gnutls.c:1153 + #, fuzzy, c-format + msgid "SSL/TLS connection using %s (%s/%s/%s)" + msgstr "Pripájam sa na %s" + +-#: conn/ssl_gnutls.c:1175 conn/ssl_gnutls.c:1204 ++#: conn/ssl_gnutls.c:1210 conn/ssl_gnutls.c:1239 + msgid "Error: no TLS socket open" + msgstr "" + +@@ -1642,7 +1866,7 @@ msgstr "Pripájam sa na %s" + msgid "Tunnel to %s returned error %d (%s)" + msgstr "" + +-#: copy.c:660 ++#: copy.c:662 + #, c-format + msgid "The length calculation was wrong by %ld byte" + msgid_plural "The length calculation was wrong by %ld bytes" +@@ -1650,31 +1874,11 @@ msgstr[0] "" + msgstr[1] "" + msgstr[2] "" + +-#: copy.c:744 ++#: copy.c:746 + msgid "No decryption engine available for message" + msgstr "Pre správu nebol nájdený dešifrovací program" + +-#: curs_lib.c:378 +-msgid "yes" +-msgstr "áno" +- +-#: curs_lib.c:379 +-msgid "no" +-msgstr "nie" +- +-#: curs_lib.c:518 +-msgid "Exit NeoMutt?" +-msgstr "Opustiť NeoMutt?" +- +-#: curs_lib.c:597 +-msgid "Press any key to continue..." +-msgstr "Stlačte kláves pre pokračovanie..." +- +-#: curs_lib.c:705 +-msgid " ('?' for list): " +-msgstr " ('?' pre zoznam): " +- +-#: edit.c:64 ++#: edit.c:62 + #, fuzzy + msgid "" + "~~ insert a line beginning with a single ~\n" +@@ -1706,7 +1910,7 @@ msgstr "" + "~? táto pomoc\n" + ". samotná bodka na riadku ukončí vstup\n" + +-#: edit.c:75 ++#: edit.c:73 + #, fuzzy + msgid "" + "~q write file and quit editor\n" +@@ -1738,20 +1942,20 @@ msgstr "" + "~? táto pomoc\n" + ". samotná bodka na riadku ukončí vstup\n" + +-#: edit.c:261 ++#: edit.c:259 + #, c-format + msgid "%d: invalid message number.\n" + msgstr "%d: neplatné číslo správy.\n" + +-#: edit.c:416 ++#: edit.c:414 + msgid "(End message with a . on a line by itself)\n" + msgstr "(Ukončite správu so samotnou bodkou na riadku)\n" + +-#: edit.c:474 ++#: edit.c:472 + msgid "No mailbox.\n" + msgstr "Žiadna schránka.\n" + +-#: edit.c:478 ++#: edit.c:476 + msgid "Message contains:\n" + msgstr "Správa obsahuje:\n" + +@@ -1759,19 +1963,19 @@ msgstr "Správa obsahuje:\n" + #. not IN the middle of the content. + #. So it doesn't mean "(message will continue)" + #. but means "(press any key to continue using neomutt)". +-#: edit.c:486 edit.c:547 ++#: edit.c:484 edit.c:545 + msgid "(continue)\n" + msgstr "(pokračovať)\n" + +-#: edit.c:499 ++#: edit.c:497 + msgid "missing filename.\n" + msgstr "chýbajúci názov súboru.\n" + +-#: edit.c:519 ++#: edit.c:517 + msgid "No lines in message.\n" + msgstr "Správa neobsahuje žiadne riadky.\n" + +-#: edit.c:558 ++#: edit.c:556 + #, c-format + msgid "%s: unknown editor command (~? for help)\n" + msgstr "%s: neznámy príkaz editoru (~? pre nápovedu)\n" +@@ -1820,19 +2024,73 @@ msgstr "Nemožno vytvoriť súbor %s" + msgid "multipart message has no boundary parameter" + msgstr "viaczložková správa nemá parameter ohraničenia (boundary)" + +-#: flags.c:382 index.c:2561 index.c:2604 index.c:3134 index.c:3171 ++#: flags.c:381 index.c:2587 index.c:2630 index.c:3160 index.c:3197 + #: mutt_thread.c:1091 mutt_thread.c:1158 mutt_thread.c:1246 + msgid "Threading is not enabled" + msgstr "Vláknenie nie je povolené" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Set flag" + msgstr "Nastaviť príznak" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Clear flag" + msgstr "Vymazať príznak" + ++#: gui/color.c:633 gui/color.c:644 ++#, c-format ++msgid "%s: color not supported by term" ++msgstr "%s: terminál túto farbu nepodporuje" ++ ++#: gui/color.c:652 ++#, c-format ++msgid "%s: no such color" ++msgstr "%s: nenájdená farba" ++ ++#: gui/color.c:717 gui/color.c:740 gui/color.c:751 gui/color.c:842 ++#, c-format ++msgid "%s: no such object" ++msgstr "%s: nenájdený objekt" ++ ++#: gui/color.c:1142 ++#, c-format ++msgid "%s: no such attribute" ++msgstr "%s: vlastnosť nenájdená" ++ ++#: gui/color.c:1244 ++msgid "default colors not supported" ++msgstr "štandardné farby nepodporované" ++ ++#: gui/color.c:1282 ++#, c-format ++msgid "Maximum quoting level is %d" ++msgstr "" ++ ++#: gui/color.c:1319 ++#, fuzzy, c-format ++msgid "%s: invalid number: %s" ++msgstr "%d: neplatné číslo správy.\n" ++ ++#: gui/curs_lib.c:379 ++msgid "yes" ++msgstr "áno" ++ ++#: gui/curs_lib.c:380 ++msgid "no" ++msgstr "nie" ++ ++#: gui/curs_lib.c:519 ++msgid "Exit NeoMutt?" ++msgstr "Opustiť NeoMutt?" ++ ++#: gui/curs_lib.c:598 ++msgid "Press any key to continue..." ++msgstr "Stlačte kláves pre pokračovanie..." ++ ++#: gui/curs_lib.c:749 ++msgid " ('?' for list): " ++msgstr " ('?' pre zoznam): " ++ + #: handler.c:102 + #, fuzzy, c-format + msgid "[-- Type: %s/%s%s%s, Encoding: %s, Size: %s --]\n" +@@ -1853,23 +2111,23 @@ msgstr "[-- Autoprezeranie použitím %s --]\n" + msgid "Invoking autoview command: %s" + msgstr "Vyvolávam príkaz na automatické prezeranie: %s" + +-#: handler.c:591 mutt_attach.c:527 mutt_attach.c:714 mutt_attach.c:745 +-#: mutt_attach.c:1087 mutt_attach.c:1152 ncrypt/pgpkey.c:723 +-#: ncrypt/pgpkey.c:920 ++#: handler.c:590 mutt_attach.c:555 mutt_attach.c:747 mutt_attach.c:778 ++#: mutt_attach.c:1120 mutt_attach.c:1185 ncrypt/pgpkey.c:756 ++#: ncrypt/pgpkey.c:955 + msgid "Can't create filter" + msgstr "Nemožno vytvoriť filter" + +-#: handler.c:595 ++#: handler.c:594 + #, fuzzy, c-format + msgid "[-- Can't run %s. --]\n" + msgstr "[-- na %s --]\n" + +-#: handler.c:614 handler.c:635 ++#: handler.c:613 handler.c:634 + #, c-format + msgid "[-- Autoview stderr of %s --]\n" + msgstr "[-- Chyba pri automatickom prezeraní (stderr) %s --]\n" + +-#: handler.c:764 ++#: handler.c:763 + msgid "[-- Error: message/external-body has no access-type parameter --]\n" + msgstr "[-- Chyba: message/external-body nemá vyplnený parameter access-type --]\n" + +@@ -1888,7 +2146,7 @@ msgstr "[-- Chyba: message/external-body nemá vyplnený parameter access-type - + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:807 ++#: handler.c:806 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" +@@ -1920,7 +2178,7 @@ msgstr[2] "" + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:830 ++#: handler.c:829 + #, fuzzy, c-format + msgid "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" + msgid_plural "[-- This %s/%s attachment (size %s bytes) has been deleted --]\n" +@@ -1935,7 +2193,7 @@ msgstr[2] "[-- Príloha %s/%s (veľkosť %s bytov) bola zmazaná --]\n" + #. + #. Caution: Argument three %3$ is also defined but should not be used + #. in this translation! +-#: handler.c:848 ++#: handler.c:847 + #, fuzzy + msgid "" + "[-- This %s/%s attachment has been deleted --]\n" +@@ -1947,12 +2205,12 @@ msgstr "" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The first "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:856 ++#: handler.c:855 + #, c-format + msgid "[-- This %s/%s attachment has been deleted --]\n" + msgstr "[-- Príloha %s/%s bola zmazaná --]\n" + +-#: handler.c:866 ++#: handler.c:865 + #, fuzzy, c-format + msgid "[-- name: %s --]\n" + msgstr "[-- na %s --]\n" +@@ -1960,7 +2218,7 @@ msgstr "[-- na %s --]\n" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:884 ++#: handler.c:883 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -1976,7 +2234,7 @@ msgstr "" + #. The "%s/%s" is a MIME type, e.g. "text/plain". The %s after + #. access-type is an access-type as defined by the MIME RFCs, e.g. "FTP", + #. "LOCAL-FILE", "MAIL-SERVER". +-#: handler.c:905 ++#: handler.c:904 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -1985,92 +2243,92 @@ msgstr "" + "[-- Príloha %s/%s nie je vložená v správe, --]\n" + "[-- a označený typ prístupu %s nie je podporovaný --]\n" + +-#: handler.c:1090 ++#: handler.c:1089 + msgid "[-- Error: Could not display any parts of Multipart/Alternative --]\n" + msgstr "[-- Chyba: Nemožno zobraziť žiadnu časť z Multipart/Alternative --]\n" + + #. L10N: %s is the attachment description, filename or form_name. +-#: handler.c:1231 ++#: handler.c:1230 + #, c-format + msgid "[-- Attachment #%d: %s --]\n" + msgstr "[-- Príloha #%d: %s --]\n" + +-#: handler.c:1236 ++#: handler.c:1235 + #, c-format + msgid "[-- Attachment #%d --]\n" + msgstr "[-- Príloha #%d --]\n" + +-#: handler.c:1254 ++#: handler.c:1253 + msgid "One or more parts of this message could not be displayed" + msgstr "" + +-#: handler.c:1320 ++#: handler.c:1319 + msgid "Unable to open 'memory stream'" + msgstr "Nemožno otvoriť 'memory stream'" + +-#: handler.c:1330 ++#: handler.c:1329 + msgid "Unable to open temporary file" + msgstr "Nemožno otvoriť dočasný súbor" + +-#: handler.c:1379 ++#: handler.c:1378 + msgid "failed to re-open 'memory stream'" + msgstr "Nemožno znovu otvoriť 'memory stream'" + +-#: handler.c:1620 ++#: handler.c:1619 + msgid "Error: multipart/signed has no protocol" + msgstr "Chyba: multipart/signed nemá protokol" + + #. L10N: %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1694 ++#: handler.c:1693 + #, fuzzy, c-format + msgid "[-- This is an attachment (use '%s' to view this part) --]\n" + msgstr "[-- Príloha %s/%s (použite '%s' na prezeranie tejto časti) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". + #. The last %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1701 ++#: handler.c:1700 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported (use '%s' to view this part) --]\n" + msgstr "[-- %s/%s nie je podporovaný (použite '%s' na prezeranie tejto časti) --]\n" + +-#: handler.c:1709 ++#: handler.c:1708 + #, fuzzy + msgid "[-- This is an attachment (need 'view-attachments' bound to key) --]\n" + msgstr "[-- Príloha %s/%s (potrebujem 'view-attachments' priradené na klávesu) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1715 ++#: handler.c:1714 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported (need 'view-attachments' bound to key) --]\n" + msgstr "[-- %s/%s nie je podporovaný (potrebujem 'view-attachments' priradené na klávesu) --]\n" + +-#: handler.c:1724 ++#: handler.c:1723 + msgid "[-- This is an attachment --]\n" + msgstr "[-- Toto je príloha --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1729 ++#: handler.c:1728 + #, c-format + msgid "[-- %s/%s is unsupported --]\n" + msgstr "[-- %s/%s nie je podporovaný --]\n" + +-#: help.c:400 ++#: help.c:401 + msgid "ERROR: please report this bug" + msgstr "CHYBA: prosím oznámte túto chybu" + +-#: help.c:455 ++#: help.c:456 + msgid "" + msgstr "" + +-#: help.c:469 ++#: help.c:470 + msgid "Generic bindings:" + msgstr "Všeobecné väzby:" + +-#: help.c:473 ++#: help.c:474 + msgid "Unbound functions:" + msgstr "Neviazané funkcie:" + +-#: help.c:481 ++#: help.c:482 + #, c-format + msgid "Help for %s" + msgstr "Pomoc pre %s" +@@ -2087,41 +2345,41 @@ msgstr "" + msgid "badly formatted command string" + msgstr "" + +-#: hook.c:461 ++#: hook.c:466 + msgid "unhook: Can't do unhook * from within a hook" + msgstr "" + +-#: hook.c:474 ++#: hook.c:479 + #, fuzzy, c-format + msgid "unhook: unknown hook type: %s" + msgstr "%s: neznáma hodnota" + +-#: hook.c:484 ++#: hook.c:489 + #, c-format + msgid "unhook: Can't delete a %s from within a %s" + msgstr "" + + #. L10N: '%s' is the (misspelled) name of the menu, e.g. 'index' or 'pager' +-#: icommands.c:259 keymap.c:1161 keymap.c:1346 ++#: icommands.c:261 keymap.c:1159 keymap.c:1344 + #, c-format + msgid "%s: no such menu" + msgstr "%s: také menu neexistuje" + + #. L10N: '%s' is the name of the menu, e.g. 'index' or 'pager', it might + #. L10N: also be 'all' when all menus are affected. +-#: icommands.c:272 ++#: icommands.c:274 + #, fuzzy, c-format + msgid "%s: no binds for this menu" + msgstr "%s: také menu neexistuje" + +-#: icommands.c:272 ++#: icommands.c:274 + #, fuzzy, c-format + msgid "%s: no macros for this menu" + msgstr "%s: také menu neexistuje" + + #. L10N: '%s' is the file name of the temporary file +-#: icommands.c:283 icommands.c:296 icommands.c:316 icommands.c:340 +-#: icommands.c:360 icommands.c:371 imap/message.c:1093 ++#: icommands.c:285 icommands.c:297 icommands.c:317 icommands.c:340 ++#: icommands.c:360 icommands.c:370 imap/message.c:1093 + #, fuzzy, c-format + msgid "Could not create temporary file %s" + msgstr "Nemožno vytvoriť dočasný súbor!" +@@ -2158,30 +2416,30 @@ msgstr "" + msgid "LOGIN disabled on this server" + msgstr "" + +-#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:288 ++#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:289 + msgid "Logging in..." + msgstr "Prihlasujem sa..." + +-#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:329 ++#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:330 + msgid "Login failed" + msgstr "Prihlasovanie zlyhalo" + +-#: imap/auth_oauth.c:64 pop/pop_auth.c:346 smtp.c:524 ++#: imap/auth_oauth.c:65 pop/pop_auth.c:347 smtp.c:549 + #, fuzzy + msgid "Authenticating (OAUTHBEARER)..." + msgstr "Vyberám %s..." + +-#: imap/auth_oauth.c:96 ++#: imap/auth_oauth.c:97 + #, fuzzy + msgid "OAUTHBEARER authentication failed" + msgstr "Prihlasovanie zlyhalo." + +-#: imap/auth_sasl.c:128 nntp/nntp.c:606 nntp/nntp.c:671 smtp.c:443 ++#: imap/auth_sasl.c:128 nntp/nntp.c:608 nntp/nntp.c:673 smtp.c:468 + #, fuzzy, c-format + msgid "Authenticating (%s)..." + msgstr "Vyberám %s..." + +-#: imap/auth_sasl.c:259 pop/pop_auth.c:200 smtp.c:584 smtp.c:646 ++#: imap/auth_sasl.c:259 pop/pop_auth.c:201 smtp.c:609 smtp.c:671 + #, fuzzy + msgid "SASL authentication failed" + msgstr "Prihlasovanie zlyhalo." +@@ -2234,75 +2492,65 @@ msgstr "Prihlasovanie zlyhalo." + msgid "Mailbox renamed" + msgstr "Bola zistená slučka v makre" + +-#: imap/command.c:164 ++#: imap/command.c:177 + #, fuzzy, c-format + msgid "Mailbox %s@%s closed" + msgstr "Bola zistená slučka v makre." + +-#: imap/command.c:1258 imap/command.c:1370 ++#: imap/command.c:1287 imap/command.c:1399 + #, fuzzy, c-format + msgid "Connection to %s timed out" + msgstr "Spájam sa s %s..." + +-#: imap/imap.c:87 ++#: imap/imap.c:93 + #, fuzzy + msgid "This IMAP server is ancient. NeoMutt does not work with it." + msgstr "Tento IMAP server je starý. NeoMutt s ním nevie pracovať." + +-#: imap/imap.c:438 ++#: imap/imap.c:444 + #, c-format + msgid "Header search without header name: %s" + msgstr "" + +-#: imap/imap.c:468 ++#: imap/imap.c:474 + #, c-format + msgid "Server-side custom search not supported: %s" + msgstr "" + +-#: imap/imap.c:584 ++#: imap/imap.c:590 + #, fuzzy, c-format + msgid "CREATE failed: %s" + msgstr "Prihlasovanie zlyhalo." + +-#: imap/imap.c:704 ++#: imap/imap.c:710 + #, fuzzy, c-format + msgid "Closing connection to %s..." + msgstr "Zatváram spojenie s IMAP serverom..." + +-#: imap/imap.c:882 nntp/nntp.c:1889 pop/pop_lib.c:324 smtp.c:687 ++#: imap/imap.c:888 nntp/nntp.c:1891 pop/pop_lib.c:350 smtp.c:712 + msgid "Secure connection with TLS?" + msgstr "" + +-#: imap/imap.c:895 nntp/nntp.c:1910 pop/pop_lib.c:343 smtp.c:702 ++#: imap/imap.c:901 nntp/nntp.c:1912 pop/pop_lib.c:369 smtp.c:727 + msgid "Could not negotiate TLS connection" + msgstr "" + +-#: imap/imap.c:910 pop/pop_lib.c:360 ++#: imap/imap.c:916 pop/pop_lib.c:386 + #, fuzzy + msgid "Encrypted connection unavailable" + msgstr "Zakódovaný kľúč sedenia" + +-#: imap/imap.c:1417 ++#: imap/imap.c:1430 + #, fuzzy, c-format + msgid "Subscribing to %s..." + msgstr "Kopírujem do %s..." + +-#: imap/imap.c:1419 ++#: imap/imap.c:1432 + #, fuzzy, c-format + msgid "Unsubscribing from %s..." + msgstr "Spájam sa s %s..." + +-#: imap/imap.c:1430 init.c:2142 +-#, fuzzy, c-format +-msgid "Subscribed to %s" +-msgstr "Kopírujem do %s..." +- +-#: imap/imap.c:1432 init.c:2620 +-#, fuzzy, c-format +-msgid "Unsubscribed from %s" +-msgstr "Spájam sa s %s..." +- +-#: imap/imap.c:1582 imap/message.c:1674 ++#: imap/imap.c:1595 imap/message.c:1674 + #, fuzzy, c-format + msgid "Copying %d message to %s..." + msgid_plural "Copying %d messages to %s..." +@@ -2310,17 +2558,17 @@ msgstr[0] "Presúvam prečítané správy do %s..." + msgstr[1] "Presúvam prečítané správy do %s..." + msgstr[2] "Presúvam prečítané správy do %s..." + +-#: imap/imap.c:1599 imap/imap.c:2217 imap/message.c:1713 muttlib.c:1505 ++#: imap/imap.c:1612 imap/imap.c:2254 imap/message.c:1713 muttlib.c:1503 + #, c-format + msgid "Create %s?" + msgstr "Vytvoriť %s?" + +-#: imap/imap.c:1667 ++#: imap/imap.c:1685 + #, fuzzy + msgid "Expunge failed" + msgstr "Prihlasovanie zlyhalo." + +-#: imap/imap.c:1683 ++#: imap/imap.c:1701 + #, fuzzy, c-format + msgid "Marking %d message deleted..." + msgid_plural "Marking %d messages deleted..." +@@ -2329,7 +2577,7 @@ msgstr[1] "Čítam %d nových správ (%d bytov)..." + msgstr[2] "Čítam %d nových správ (%d bytov)..." + + #. L10N: The plural is chosen by the last %d, i.e. the total number +-#: imap/imap.c:1720 ++#: imap/imap.c:1738 + #, fuzzy, c-format + msgid "Saving changed message... [%d/%d]" + msgid_plural "Saving changed messages... [%d/%d]" +@@ -2337,38 +2585,38 @@ msgstr[0] "Ukladám stavové príznaky správy... [%d/%d]" + msgstr[1] "Ukladám stavové príznaky správy... [%d/%d]" + msgstr[2] "Ukladám stavové príznaky správy... [%d/%d]" + +-#: imap/imap.c:1776 ++#: imap/imap.c:1794 + msgid "Error saving flags. Close anyway?" + msgstr "" + +-#: imap/imap.c:1783 ++#: imap/imap.c:1801 + #, fuzzy + msgid "Error saving flags" + msgstr "Chyba pri analýze adresy!" + +-#: imap/imap.c:1808 ++#: imap/imap.c:1826 + msgid "Expunging messages from server..." + msgstr "Vymazávam správy zo serveru..." + +-#: imap/imap.c:1814 ++#: imap/imap.c:1832 + msgid "imap_sync_mailbox: EXPUNGE failed" + msgstr "" + +-#: imap/imap.c:2023 nntp/nntp.c:2486 ++#: imap/imap.c:2058 nntp/nntp.c:2488 + #, c-format + msgid "Selecting %s..." + msgstr "Vyberám %s..." + +-#: imap/imap.c:2184 ++#: imap/imap.c:2221 + #, fuzzy + msgid "Error opening mailbox" + msgstr "Chyba pri zapisovaní do schránky!" + +-#: imap/imap.c:2330 ++#: imap/imap.c:2367 + msgid "IMAP server doesn't support custom flags" + msgstr "" + +-#: imap/imap.c:2374 ++#: imap/imap.c:2411 + #, fuzzy + msgid "Invalid IMAP flags" + msgstr "Neplatný mesiac: %s" +@@ -2379,7 +2627,7 @@ msgid "Abort download and close mailbox?" + msgstr "" + + #: imap/message.c:554 mutt/memory.c:58 mutt/memory.c:98 mutt/memory.c:134 +-#: mutt/string.c:1178 mx.c:1176 ++#: mutt/string.c:1201 mx.c:1195 + msgid "Out of memory" + msgstr "Nedostatok pamäte" + +@@ -2400,7 +2648,7 @@ msgstr "Sťahujem hlavičky správ..." + msgid "Unable to fetch headers from this IMAP server version" + msgstr "Nemožno získať hlavičky z tejto verzie IMAP serveru" + +-#: imap/message.c:1099 index.c:1548 nntp/nntp.c:1328 pop/pop.c:426 ++#: imap/message.c:1099 index.c:1554 nntp/nntp.c:1330 pop/pop.c:426 + msgid "Fetching message headers..." + msgstr "Sťahujem hlavičky správ..." + +@@ -2414,154 +2662,154 @@ msgstr "Odsúvam správu ..." + msgid "Copying message %d to %s..." + msgstr "Zapisujem správu do %s ..." + +-#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2737 pop/pop.c:1110 ++#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2739 pop/pop.c:1105 + msgid "Fetching message..." + msgstr "Vyvolávam správu..." + +-#: imap/message.c:1959 pop/pop.c:1106 ++#: imap/message.c:1959 pop/pop.c:1101 + msgid "The message index is incorrect. Try reopening the mailbox." + msgstr "" + +-#: imap/util.c:767 ++#: imap/util.c:796 + #, fuzzy + msgid "Continue?" + msgstr "(pokračovať)\n" + +-#: index.c:115 index.c:128 ++#: index.c:111 index.c:124 + msgid "Quit" + msgstr "Koniec" + +-#: index.c:118 index.c:131 recvattach.c:93 ++#: index.c:114 index.c:127 recvattach.c:91 + msgid "Save" + msgstr "Uložiť" + +-#: index.c:119 query.c:81 ++#: index.c:115 query.c:79 + msgid "Mail" + msgstr "Napíš" + +-#: index.c:120 pager.c:237 ++#: index.c:116 pager.c:229 + msgid "Reply" + msgstr "Odpovedz" + +-#: index.c:121 ++#: index.c:117 + msgid "Group" + msgstr "Skupina" + +-#: index.c:132 pager.c:244 ++#: index.c:128 pager.c:236 + msgid "Post" + msgstr "Odoslať" + +-#: index.c:133 pager.c:245 ++#: index.c:129 pager.c:237 + msgid "Followup" + msgstr "Nasleduj" + +-#: index.c:190 index.c:1362 ++#: index.c:186 index.c:1367 + msgid "No mailbox is open" + msgstr "Nie je otvorená žiadna schránka" + +-#: index.c:196 ++#: index.c:192 + msgid "There are no messages" + msgstr "Nie sú žiadne správy" + +-#: index.c:202 ++#: index.c:198 + msgid "No visible messages" + msgstr "Žiadne viditeľné správy" + +-#: index.c:208 mx.c:901 pager.c:223 recvattach.c:80 ++#: index.c:204 mx.c:920 pager.c:215 recvattach.c:78 + msgid "Mailbox is read-only" + msgstr "Schránka je iba na čítanie" + +-#: index.c:214 pager.c:225 recvattach.c:98 ++#: index.c:210 pager.c:217 recvattach.c:96 + msgid "Function not permitted in attach-message mode" + msgstr "V režime prikladania správ táto funkcia nie je dovolená" + + #. L10N: %s is one of the CHECK_ACL entries below. +-#: index.c:239 pager.c:290 ++#: index.c:235 pager.c:282 + #, c-format + msgid "%s: Operation not permitted by ACL" + msgstr "%s: Operácia je v rozpore s ACL" + +-#: index.c:430 ++#: index.c:426 + msgid "Can't toggle write on a readonly mailbox" + msgstr "Nemožno prepnúť zápis na schránke určenej iba na čítanie" + +-#: index.c:437 ++#: index.c:433 + msgid "Changes to folder will be written on folder exit" + msgstr "Zmeny v zložke budú zapísané, keď ho opustíte" + +-#: index.c:442 ++#: index.c:438 + msgid "Changes to folder will not be written" + msgstr "Zmeny v zložke nebudú zapísané" + +-#: index.c:719 muttlib.c:1490 mx.c:206 mx.c:340 ++#: index.c:714 muttlib.c:1488 mx.c:206 mx.c:338 + #, c-format + msgid "%s is not a mailbox" + msgstr "%s nie je schránka" + +-#: index.c:1218 ++#: index.c:1223 + msgid "Mailbox was externally modified. Flags may be wrong." + msgstr "Schránka bola zmenená zvonku. Príznaky môžu byť nesprávne." + +-#: index.c:1227 pager.c:2409 ++#: index.c:1232 pager.c:2379 + msgid "New mail in this mailbox" + msgstr "V tejto schránke je nová pošta" + +-#: index.c:1242 ++#: index.c:1247 + msgid "Mailbox was externally modified" + msgstr "Schránka bola zmenená zvonku" + +-#: index.c:1369 ++#: index.c:1374 + msgid "No tagged messages" + msgstr "Žiadne označené správy" + +-#: index.c:1373 index.c:1647 menu.c:1423 ++#: index.c:1378 index.c:1653 menu.c:1423 + msgid "Nothing to do" + msgstr "Nič na práci" + +-#: index.c:1470 ++#: index.c:1475 + msgid "Enter Message-Id: " + msgstr "Zadajte ID správy: " + +-#: index.c:1481 ++#: index.c:1487 + #, fuzzy + msgid "Article has no parent reference" + msgstr "Článokt nemá rodičovskú referenciu" + +-#: index.c:1504 ++#: index.c:1510 + msgid "Message is not visible in limited view" + msgstr "Táto správa nie je viditeľná vo vybranom prehľade" + +-#: index.c:1508 ++#: index.c:1514 + #, c-format + msgid "Fetching %s from server..." + msgstr "Sťahujem %s zo servera..." + +-#: index.c:1518 nntp/nntp.c:2772 ++#: index.c:1524 nntp/nntp.c:2774 + #, c-format + msgid "Article %s not found on the server" + msgstr "Článok %s sa na serveri nenašiel" + +-#: index.c:1544 ++#: index.c:1550 + msgid "No Message-Id. Unable to perform operation." + msgstr "Správa bez ID. Nemožno vykonať operáciu." + +-#: index.c:1623 ++#: index.c:1629 + msgid "No deleted messages found in the thread" + msgstr "Vo vlákne neboli nájdené žiadne zmazané spávy" + +-#: index.c:1644 ++#: index.c:1650 + msgid "Jump to message: " + msgstr "Skočiť na správu: " + +-#: index.c:1650 ++#: index.c:1656 + msgid "Argument must be a message number" + msgstr "Parameter musí byť číslo správy" + +-#: index.c:1652 ++#: index.c:1658 + msgid "Invalid message number" + msgstr "Neplatné číslo správy" + +-#: index.c:1654 ++#: index.c:1660 + msgid "That message is not visible" + msgstr "Táto správa nie je viditeľná" + +@@ -2574,37 +2822,37 @@ msgstr "Táto správa nie je viditeľná" + #. delete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. + #. +-#: index.c:1692 index.c:3267 pager.c:3064 ++#: index.c:1698 index.c:3293 pager.c:3039 + msgid "Can't delete messages" + msgstr "Správy nemožno zmazať" + +-#: index.c:1695 ++#: index.c:1701 + msgid "Delete messages matching: " + msgstr "Zmazať správy zodpovedajúce: " + +-#: index.c:1736 ++#: index.c:1742 + msgid "No limit pattern is in effect" + msgstr "Žiadny limitovací vzor nie je aktívny" + + #. L10N: ask for a limit to apply +-#: index.c:1741 ++#: index.c:1747 + #, c-format + msgid "Limit: %s" + msgstr "Limit: %s" + +-#: index.c:1778 ++#: index.c:1784 + msgid "Limit to messages matching: " + msgstr "Limituj správy zodpovedajúce: " + +-#: index.c:1809 ++#: index.c:1815 + msgid "To view all messages, limit to \"all\"" + msgstr "" + +-#: index.c:1821 pager.c:2514 ++#: index.c:1827 pager.c:2487 + msgid "Quit NeoMutt?" + msgstr "Ukončiť NeoMutt?" + +-#: index.c:1924 ++#: index.c:1931 + msgid "Tag messages matching: " + msgstr "Označ správy zodpovedajúce: " + +@@ -2612,205 +2860,205 @@ msgstr "Označ správy zodpovedajúce: " + #. L10N: Due to the implementation details we do not know whether we + #. undelete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:1935 index.c:3807 pager.c:3418 ++#: index.c:1942 index.c:3833 pager.c:3396 + #, fuzzy + msgid "Can't undelete messages" + msgstr "Žiadne odmazané správy." + +-#: index.c:1939 ++#: index.c:1946 + msgid "Undelete messages matching: " + msgstr "Odmaž správy zodpovedajúce: " + +-#: index.c:1948 ++#: index.c:1955 + msgid "Untag messages matching: " + msgstr "Odznač správy zodpovedajúce: " + +-#: index.c:1989 ++#: index.c:1996 + msgid "Logged out of IMAP servers" + msgstr "Odhlasujem sa z IMAP servera/ov" + +-#: index.c:2105 ++#: index.c:2113 + #, fuzzy + msgid "No virtual folder and no Message-Id, aborting" + msgstr "Žiadny virtuálna zložka, ukončujem" + +-#: index.c:2117 index.c:2288 index.c:2310 index.c:2331 ++#: index.c:2125 index.c:2313 index.c:2335 index.c:2356 + msgid "Failed to create query, aborting" + msgstr "Zlyhalo vytvorenie dotazu, prerušujem" + +-#: index.c:2130 ++#: index.c:2138 + msgid "failed to find message in notmuch database. try running 'notmuch new'." + msgstr "" + +-#: index.c:2139 ++#: index.c:2147 + msgid "Failed to read thread, aborting" + msgstr "Zlyhalo načítanie vlákna, ukončujem" + +-#: index.c:2171 mx.c:1252 mx.c:1272 ++#: index.c:2179 mx.c:1271 mx.c:1291 + msgid "Folder doesn't support tagging, aborting" + msgstr "" + +-#: index.c:2188 ++#: index.c:2196 + #, fuzzy + msgid "No tag specified, aborting" + msgstr "Žiadny štítok nebol zadaný, ukončujem" + +-#: index.c:2198 ++#: index.c:2206 + #, fuzzy + msgid "Update tags..." + msgstr "Štítky aktualizované..." + +-#: index.c:2238 ++#: index.c:2246 + #, fuzzy + msgid "Failed to modify tags, aborting" + msgstr "Zlyhala modifikácia štítkov, prerušujem" + +-#: index.c:2284 ++#: index.c:2293 + msgid "No query, aborting" + msgstr "Bez dotazov, ukončujem" + +-#: index.c:2299 index.c:2320 ++#: index.c:2324 index.c:2345 + msgid "Windowed queries disabled" + msgstr "" + +-#: index.c:2304 index.c:2325 ++#: index.c:2329 index.c:2350 + msgid "No notmuch vfolder currently loaded" + msgstr "" + +-#: index.c:2374 ++#: index.c:2399 + msgid "Open mailbox in read-only mode" + msgstr "Otvor schránku iba na čítanie." + +-#: index.c:2376 ++#: index.c:2401 + msgid "Open mailbox" + msgstr "Otvor schránku." + +-#: index.c:2386 ++#: index.c:2411 + msgid "No mailboxes have new mail" + msgstr "Žiadna schránka s novými správami." + +-#: index.c:2419 ++#: index.c:2444 + msgid "Open newsgroup in read-only mode" + msgstr "Otvor \"newsgroup\" iba na čítanie." + +-#: index.c:2421 ++#: index.c:2446 + msgid "Open newsgroup" + msgstr "Otvor newsgroup." + +-#: index.c:2538 ++#: index.c:2564 + msgid "Exit NeoMutt without saving?" + msgstr "Ukončiť NeoMutt bez uloženia?" + + #. L10N: CHECK_ACL +-#: index.c:2554 ++#: index.c:2580 + msgid "Can't break thread" + msgstr "Nemožno porušiť vlákno." + +-#: index.c:2574 ++#: index.c:2600 + msgid "Thread broken" + msgstr "Vlákno je porušené." + +-#: index.c:2587 ++#: index.c:2613 + msgid "Thread can't be broken, message is not part of a thread" + msgstr "Vlákno nemožno porušiť, správa nie je súčasťou vlákna." + + #. L10N: CHECK_ACL +-#: index.c:2597 ++#: index.c:2623 + msgid "Can't link threads" + msgstr "Vlákna sa nedajú prepojiť." + +-#: index.c:2606 ++#: index.c:2632 + #, fuzzy + msgid "No Message-ID: header available to link thread" + msgstr "Žiadne ID správy: hlavička je k dispozícii na nalinkovaniu s vláknom." + +-#: index.c:2608 ++#: index.c:2634 + #, fuzzy + msgid "First, please tag a message to be linked here" + msgstr "Prosím, najprv označte správu, ktorá tu bude pripojená." + +-#: index.c:2621 ++#: index.c:2647 + #, fuzzy + msgid "Threads linked" + msgstr "Vlákna prepojené." + +-#: index.c:2624 ++#: index.c:2650 + #, fuzzy + msgid "No thread linked" + msgstr "Žiadna pripojené vlákno." + +-#: index.c:2665 index.c:2690 ++#: index.c:2691 index.c:2716 + msgid "You are on the last message" + msgstr "Ste na poslednej správe" + +-#: index.c:2673 index.c:2716 ++#: index.c:2699 index.c:2742 + msgid "No undeleted messages" + msgstr "Žiadne odmazané správy" + +-#: index.c:2708 index.c:2733 ++#: index.c:2734 index.c:2759 + msgid "You are on the first message" + msgstr "Ste na prvej správe" + +-#: index.c:2874 ++#: index.c:2900 + msgid "No new messages in this limited view" + msgstr "Vo výbere nie je žiadne nové správy" + +-#: index.c:2876 ++#: index.c:2902 + msgid "No new messages" + msgstr "Žiadne nové správy" + +-#: index.c:2881 ++#: index.c:2907 + msgid "No unread messages in this limited view" + msgstr "Vo výbere nie je žiadne neprečítané správy" + +-#: index.c:2883 ++#: index.c:2909 + msgid "No unread messages" + msgstr "Žiadne neprečítané správy" + +-#: index.c:2893 menu.c:1208 pager.c:2644 pattern.c:2652 ++#: index.c:2919 menu.c:1208 pager.c:2618 pattern.c:2776 + msgid "Search wrapped to top" + msgstr "Vyhľadávanie pokračuje z vrchu" + +-#: index.c:2898 pager.c:2669 pattern.c:2663 ++#: index.c:2924 pager.c:2643 pattern.c:2787 + msgid "Search wrapped to bottom" + msgstr "Vyhľadávanie pokračuje zo spodu" + + #. L10N: CHECK_ACL +-#: index.c:2915 ++#: index.c:2941 + msgid "Can't flag message" + msgstr "Nemožno označiť správu." + + #. L10N: CHECK_ACL +-#: index.c:2961 pager.c:3377 ++#: index.c:2987 pager.c:3355 + msgid "Can't toggle new" + msgstr "Nemožno prepnúť na novú." + +-#: index.c:3057 ++#: index.c:3083 + msgid "No more threads" + msgstr "Žiadne ďaľšie vlákna" + +-#: index.c:3059 ++#: index.c:3085 + msgid "You are on the first thread" + msgstr "Ste na prvom vlákne" + +-#: index.c:3156 ++#: index.c:3182 + #, fuzzy + msgid "Thread contains unread or flagged messages" + msgstr "Vlákno obsahuje nečítané správy" + + #. L10N: CHECK_ACL +-#: index.c:3215 pager.c:3019 ++#: index.c:3241 pager.c:2994 + msgid "Can't delete message" + msgstr "Správu nemožno zmazať." + + #. L10N: CHECK_ACL +-#: index.c:3339 ++#: index.c:3365 + msgid "Can't edit message" + msgstr "Správu nemožno upravovať." + + #. L10N: This is displayed when the x-label on one or more + #. messages is edited. +-#: index.c:3432 pager.c:3495 ++#: index.c:3458 pager.c:3473 + #, fuzzy, c-format + msgid "%d label changed" + msgid_plural "%d labels changed" +@@ -2821,7 +3069,7 @@ msgstr[2] "Žiadne štítky neboli zmenené" + #. L10N: This is displayed when editing an x-label, but no messages + #. were updated. Possibly due to canceling at the prompt or if the new + #. label is the same as the old label. +-#: index.c:3440 pager.c:3499 ++#: index.c:3466 pager.c:3477 + msgid "No labels changed" + msgstr "Žiadne štítky neboli zmenené" + +@@ -2829,7 +3077,7 @@ msgstr "Žiadne štítky neboli zmenené" + #. L10N: Due to the implementation details we do not know whether we + #. mark zero, 1, 12, ... messages as read. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:3571 ++#: index.c:3597 + #, fuzzy + msgid "Can't mark messages as read" + msgstr "Nemožno označiť správy za prečítané." +@@ -2837,14 +3085,14 @@ msgstr "Nemožno označiť správy za prečítané." + #. L10N: This is the prompt for . Whatever they + #. enter will be prefixed by $mark_macro_prefix and will become + #. a macro hotkey to jump to the currently selected message. +-#: index.c:3612 ++#: index.c:3638 + #, fuzzy + msgid "Enter macro stroke: " + msgstr "Zadajte ID kľúča pre %s: " + + #. L10N: "message hotkey" is the key bindings menu description of a + #. macro created by . +-#: index.c:3620 ++#: index.c:3646 + #, fuzzy + msgid "message hotkey" + msgstr "Správa bola odložená." +@@ -2852,269 +3100,125 @@ msgstr "Správa bola odložená." + #. L10N: This is echoed after creates a new hotkey + #. macro. %s is the hotkey string ($mark_macro_prefix followed + #. by whatever they typed at the prompt.) +-#: index.c:3625 ++#: index.c:3651 + #, fuzzy, c-format + msgid "Message bound to %s" + msgstr "Správa bola presmerovaná" + + #. L10N: This error is printed if can't find a + #. Message-ID for the currently selected message in the index. +-#: index.c:3634 ++#: index.c:3660 + #, fuzzy + msgid "No message ID to macro" + msgstr "V tejto zložke nie sú správy" + +-#: index.c:3688 pager.c:3221 recvattach.c:1646 ++#: index.c:3714 pager.c:3196 recvattach.c:1678 + msgid "Reply by mail as poster prefers?" + msgstr "" + +-#: index.c:3691 pager.c:3182 pager.c:3194 pager.c:3224 ++#: index.c:3717 pager.c:3157 pager.c:3169 pager.c:3199 + msgid "Posting to this group not allowed, may be moderated. Continue?" + msgstr "" + + #. L10N: CHECK_ACL +-#: index.c:3768 pager.c:3397 ++#: index.c:3794 pager.c:3375 + #, fuzzy + msgid "Can't undelete message" + msgstr "Žiadne odmazané správy." + +-#: init.c:313 ++#: init.c:223 + #, c-format + msgid "Error in command line: %s" + msgstr "Chyba v príkazovom riadku: %s" + +-#: init.c:315 ++#: init.c:225 + #, fuzzy, c-format + msgid "Warning in command line: %s" + msgstr "Chyba v príkazovom riadku: %s" + +-#: init.c:426 ++#: init.c:336 + #, fuzzy + msgid "unable to determine nodename via uname()" + msgstr "nemožno určiť meno používateľa" + +-#: init.c:580 +-msgid "-group: no group name" +-msgstr "" +- +-#: init.c:590 +-#, fuzzy +-msgid "out of arguments" +-msgstr "príliš málo argumentov" +- +-#: init.c:804 init.c:1752 +-#, c-format +-msgid "Error: Can't build path of '%s'" +-msgstr "" +- +-#: init.c:817 +-#, c-format +-msgid "Error: Cyclic sourcing of configuration file '%s'" +-msgstr "" +- +-#: init.c:850 +-#, c-format +-msgid "Error in %s, line %d: %s" +-msgstr "Chyba v %s, riadok %d: %s" +- +-#: init.c:861 +-#, fuzzy, c-format +-msgid "Warning in %s, line %d: %s" +-msgstr "Chyba v %s, riadok %d: %s" +- +-#: init.c:885 +-#, c-format +-msgid "source: errors in %s" +-msgstr "zdroj: chyby v %s" +- +-#: init.c:885 +-#, c-format +-msgid "source: reading aborted due to too many errors in %s" +-msgstr "" +- +-#: init.c:894 +-#, fuzzy, c-format +-msgid "source: %d warning in %s" +-msgid_plural "source: %d warnings in %s" +-msgstr[0] "zdroj: chyby v %s" +-msgstr[1] "zdroj: chyby v %s" +-msgstr[2] "zdroj: chyby v %s" +- +-#: init.c:923 +-msgid "alias: no address" +-msgstr "zástupca: žiadna adresa" +- +-#: init.c:965 +-#, c-format +-msgid "Warning: Bad IDN '%s' in alias '%s'" +-msgstr "" +- +-#: init.c:1043 +-#, fuzzy +-msgid "attachments: no disposition" +-msgstr "upraviť popis prílohy" +- +-#: init.c:1054 +-#, fuzzy +-msgid "Current attachments settings:" +-msgstr "upraviť popis prílohy" +- +-#: init.c:1084 +-#, fuzzy +-msgid "attachments: invalid disposition" +-msgstr "upraviť popis prílohy" +- +-#: init.c:1160 +-#, c-format +-msgid "%sgroup: missing -rx or -addr" +-msgstr "" +- +-#: init.c:1186 +-#, c-format +-msgid "%sgroup: warning: bad IDN '%s'" +-msgstr "" +- +-#: init.c:1278 +-#, c-format +-msgid "Error: %s" +-msgstr "" +- +-#: init.c:1445 +-msgid "invalid header field" +-msgstr "neplatná položka hlavičky" +- +-#: init.c:1711 init.c:1815 +-#, c-format +-msgid "%s: unknown variable" +-msgstr "%s: neznáma premenná" +- +-#: init.c:1908 +-#, c-format +-msgid "%s is unset" +-msgstr "%s je nenastavené" +- +-#: init.c:1953 mutt_lua.c:478 +-#, c-format +-msgid "source: error at %s" +-msgstr "zdroj: chyba na %s" +- +-#: init.c:1961 +-#, fuzzy, c-format +-msgid "source: file %s could not be sourced" +-msgstr "Správy nemohli byť vytlačené" +- +-#: init.c:1984 +-#, fuzzy +-msgid "spam: no matching pattern" +-msgstr "označiť správy zodpovedajúce vzoru" +- +-#: init.c:1986 +-#, fuzzy +-msgid "nospam: no matching pattern" +-msgstr "odznačiť správy zodpovedajúce vzoru" +- +-#: init.c:2146 +-#, fuzzy, c-format +-msgid "Could not subscribe to %s" +-msgstr "Kopírujem do %s..." +- +-#: init.c:2154 init.c:2632 +-#, fuzzy +-msgid "No folder specified" +-msgstr "Nebol uvedený predmet." +- +-#: init.c:2341 +-#, fuzzy +-msgid "unattachments: no disposition" +-msgstr "upraviť popis prílohy" +- +-#: init.c:2379 +-msgid "unattachments: invalid disposition" +-msgstr "" +- +-#: init.c:2624 +-#, fuzzy, c-format +-msgid "Could not unsubscribe from %s" +-msgstr "Spájam sa s %s..." +- +-#: init.c:3292 ++#: init.c:1042 + #, c-format + msgid "%s: unknown command" + msgstr "%s: neznámy príkaz" + +-#: init.c:3837 ++#: init.c:1588 + msgid "'charset' must contain exactly one character set name" + msgstr "" + +-#: init.c:3853 init.c:3877 init.c:3912 ++#: init.c:1604 init.c:1628 init.c:1663 + #, fuzzy, c-format + msgid "Invalid value for option %s: %s" + msgstr "Neplatný deň v mesiaci: %s" + +-#: init.c:3890 ++#: init.c:1641 + #, c-format + msgid "Option %s may not be set or reset from the pager" + msgstr "" + +-#: init.c:3928 ++#: init.c:1679 + #, fuzzy, c-format + msgid "Option %s may not be set when in attach-message mode" + msgstr "V režime prikladania správ táto funkcia nie je dovolená" + + #. L10N: This applies to the "$wrap_headers" config variable +-#: init.c:3943 ++#: init.c:1694 + #, c-format + msgid "Option %s must between 78 and 998 inclusive" + msgstr "" + +-#: keymap.c:373 keymap.c:381 ++#: keymap.c:371 keymap.c:379 + #, c-format + msgid "Binding '%s' will alias '%s' Before, try: 'bind %s %s noop' https://neomutt.org/guide/configuration.html#bind-warnings" + msgstr "" + +-#: keymap.c:757 ++#: keymap.c:755 + msgid "Macro loop detected" + msgstr "Bola zistená slučka v makre" + +-#: keymap.c:1064 keymap.c:1099 ++#: keymap.c:1062 keymap.c:1097 + msgid "Key is not bound" + msgstr "Klávesa nie je viazaná" + +-#: keymap.c:1104 ++#: keymap.c:1102 + #, c-format + msgid "Key is not bound. Press '%s' for help." + msgstr "Klávesa nie je viazaná. Stlačte '%s' pre nápovedu." + +-#: keymap.c:1177 ++#: keymap.c:1175 + #, c-format + msgid "%s: null key sequence" + msgstr "%s: prázdna postupnosť kláves" + +-#: keymap.c:1212 ++#: keymap.c:1210 + #, fuzzy, c-format + msgid "Function '%s' not available for menu '%s'" + msgstr "Pre správu nebol nájdený dešifrovací program." + +-#: keymap.c:1495 ++#: keymap.c:1493 + msgid "macro: empty key sequence" + msgstr "macro: prázdna postupnosť kláves" + +-#: keymap.c:1543 ++#: keymap.c:1541 + #, fuzzy + msgid "exec: no arguments" + msgstr "exec: príliš málo parametrov" + +-#: keymap.c:1563 ++#: keymap.c:1561 + #, fuzzy, c-format + msgid "%s: no such function" + msgstr "%s: v tabuľke neexistuje taká funkcia" + +-#: keymap.c:1584 ++#: keymap.c:1582 + #, fuzzy + msgid "Enter keys (^G to abort): " + msgstr "Zadajte ID kľúča pre %s: " + +-#: keymap.c:1590 ++#: keymap.c:1588 + #, c-format + msgid "Char = %s, Octal = %o, Decimal = %d" + msgstr "" +@@ -3138,7 +3242,7 @@ msgstr "položka mailcap-u pre typ %s nenájdená" + msgid "Scanning %s..." + msgstr "Vyberám %s..." + +-#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:353 ++#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:351 + #, c-format + msgid "Reading %s..." + msgstr "Čítam %s..." +@@ -3153,13 +3257,13 @@ msgid "md_commit_message(): unable to set time on file" + msgstr "" + + #. L10N: Displayed before/as a mailbox is being synced +-#: maildir/shared.c:1723 mbox/mbox.c:1276 mx.c:461 notmuch/mutt_notmuch.c:2364 ++#: maildir/shared.c:1734 mbox/mbox.c:1276 mx.c:459 notmuch/mutt_notmuch.c:2364 + #, c-format + msgid "Writing %s..." + msgstr "Zapisujem %s..." + + #. L10N: Try to limit to 80 columns +-#: main.c:227 ++#: main.c:160 + msgid "" + "usage:\n" + " neomutt [-Enx] [-e ] [-F ] [-H ] [-i ]\n" +@@ -3182,7 +3286,7 @@ msgid "" + msgstr "" + + #. L10N: Try to limit to 80 columns. If more space is needed add an indented line +-#: main.c:247 ++#: main.c:180 + msgid "" + "options:\n" + " -- Special argument forces NeoMutt to stop option parsing and treat\n" +@@ -3225,55 +3329,55 @@ msgid "" + " or exit immediately with exit code 1 otherwise" + msgstr "" + +-#: main.c:312 ++#: main.c:245 + msgid "Error initializing terminal" + msgstr "Chyba pri inicializácii terminálu" + +-#: main.c:390 ++#: main.c:323 + msgid "unable to determine username" + msgstr "nemožno určiť meno používateľa" + +-#: main.c:396 ++#: main.c:329 + msgid "unable to determine home directory" + msgstr "nemožno určiť domáci adresár" + +-#: main.c:640 ++#: main.c:572 + #, c-format + msgid "Error: value '%s' is invalid for -d" + msgstr "" + +-#: main.c:884 ++#: main.c:815 + msgid "Failed to parse mailto: link" + msgstr "" + +-#: main.c:896 send.c:2452 send.c:2456 ++#: main.c:827 send.c:2463 send.c:2467 + msgid "No recipients specified" + msgstr "Neboli uvedení žiadni príjemcovia" + +-#: main.c:923 ++#: main.c:854 + msgid "Can't use -E flag with stdin" + msgstr "" + +-#: main.c:1007 ++#: main.c:938 + #, fuzzy, c-format + msgid "Can't parse message template: %s" + msgstr "Nemožno vytvoriť súbor %s" + +-#: main.c:1073 mutt_header.c:329 ++#: main.c:1004 mutt_header.c:329 + #, c-format + msgid "%s: unable to attach file" + msgstr "%s: súbor nemožno pripojiť" + +-#: main.c:1156 ++#: main.c:1087 + msgid "No mailbox with new mail" + msgstr "Žiadna schránka s novými správami" + +-#: main.c:1180 ++#: main.c:1111 + #, fuzzy + msgid "No incoming mailboxes defined" + msgstr "cykluj medzi schránkami s príchodzími správami" + +-#: main.c:1230 ++#: main.c:1161 + msgid "Mailbox is empty" + msgstr "Schránka je prázdna" + +@@ -3317,52 +3421,52 @@ msgstr "Nemožno znovu otvoriť schránku" + msgid "Can't write message" + msgstr "upraviť správu" + +-#: menu.c:632 ++#: menu.c:631 + msgid "Jump to: " + msgstr "Skoč do: " + +-#: menu.c:641 ++#: menu.c:640 + msgid "Invalid index number" + msgstr "Neplatné číslo indexu" + +-#: menu.c:645 menu.c:671 menu.c:744 menu.c:810 menu.c:828 menu.c:843 menu.c:858 +-#: menu.c:873 menu.c:890 menu.c:907 menu.c:1553 ++#: menu.c:644 menu.c:670 menu.c:743 menu.c:809 menu.c:827 menu.c:842 menu.c:857 ++#: menu.c:872 menu.c:889 menu.c:906 menu.c:1553 + msgid "No entries" + msgstr "Žiadne položky" + +-#: menu.c:668 ++#: menu.c:667 + msgid "You can't scroll down farther" + msgstr "Nemôžte rolovať ďalej dolu" + +-#: menu.c:690 ++#: menu.c:689 + msgid "You can't scroll up farther" + msgstr "Nemôžte rolovať ďalej hore" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the first page" + msgstr "Ste na prvej stránke" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the last page" + msgstr "Ste na poslednej stránke" + +-#: menu.c:922 ++#: menu.c:921 + msgid "You are on the last entry" + msgstr "Ste na poslednej položke" + +-#: menu.c:937 ++#: menu.c:936 + msgid "You are on the first entry" + msgstr "Ste na prvej položke" + +-#: menu.c:1172 pager.c:2692 pattern.c:2578 ++#: menu.c:1172 pager.c:2666 pattern.c:2702 + msgid "Search for: " + msgstr "Hľadať: " + +-#: menu.c:1173 pager.c:2693 pattern.c:2579 ++#: menu.c:1173 pager.c:2667 pattern.c:2703 + msgid "Reverse search for: " + msgstr "Hľadať spätne: " + +-#: menu.c:1226 pager.c:2641 pager.c:2666 pager.c:2800 pattern.c:2708 ++#: menu.c:1226 pager.c:2615 pager.c:2640 pager.c:2774 pattern.c:2832 + msgid "Not found" + msgstr "Nenájdené" + +@@ -3406,20 +3510,20 @@ msgstr "Čakám na uzamknutie súboru... %d" + msgid "Bad history file format (line %d)" + msgstr "" + +-#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1006 ncrypt/crypt_gpgme.c:2381 +-#: ncrypt/crypt_gpgme.c:2401 ncrypt/crypt_gpgme.c:2460 +-#: ncrypt/crypt_gpgme.c:2477 ncrypt/crypt_gpgme.c:2509 +-#: ncrypt/crypt_gpgme.c:2527 ncrypt/crypt_gpgme.c:2611 +-#: ncrypt/crypt_gpgme.c:3194 ncrypt/crypt_gpgme.c:3292 +-#: ncrypt/crypt_gpgme.c:4373 ncrypt/pgp.c:576 ncrypt/pgp.c:583 ncrypt/pgp.c:896 +-#: ncrypt/pgp.c:1014 ncrypt/pgp.c:1161 ncrypt/pgp.c:1181 ncrypt/pgp.c:1215 +-#: ncrypt/pgp.c:1568 ncrypt/pgpkey.c:708 ncrypt/pgpkey.c:902 +-#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1092 ncrypt/smime.c:1100 +-#: ncrypt/smime.c:1191 ncrypt/smime.c:1299 ncrypt/smime.c:1364 +-#: ncrypt/smime.c:1372 ncrypt/smime.c:1571 ncrypt/smime.c:1967 +-#: ncrypt/smime.c:2046 ncrypt/smime.c:2053 ncrypt/smime.c:2156 +-#: ncrypt/smime.c:2281 ncrypt/smime.c:2297 nntp/nntp.c:1397 nntp/nntp.c:2237 +-#: pattern.c:1132 pop/pop.c:182 ++#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1005 ncrypt/crypt_gpgme.c:2420 ++#: ncrypt/crypt_gpgme.c:2440 ncrypt/crypt_gpgme.c:2499 ++#: ncrypt/crypt_gpgme.c:2516 ncrypt/crypt_gpgme.c:2548 ++#: ncrypt/crypt_gpgme.c:2566 ncrypt/crypt_gpgme.c:2650 ++#: ncrypt/crypt_gpgme.c:3237 ncrypt/crypt_gpgme.c:3335 ++#: ncrypt/crypt_gpgme.c:4421 ncrypt/pgp.c:575 ncrypt/pgp.c:582 ncrypt/pgp.c:895 ++#: ncrypt/pgp.c:1013 ncrypt/pgp.c:1160 ncrypt/pgp.c:1180 ncrypt/pgp.c:1214 ++#: ncrypt/pgp.c:1570 ncrypt/pgpkey.c:741 ncrypt/pgpkey.c:937 ++#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1126 ncrypt/smime.c:1134 ++#: ncrypt/smime.c:1225 ncrypt/smime.c:1333 ncrypt/smime.c:1398 ++#: ncrypt/smime.c:1406 ncrypt/smime.c:1605 ncrypt/smime.c:2001 ++#: ncrypt/smime.c:2080 ncrypt/smime.c:2087 ncrypt/smime.c:2190 ++#: ncrypt/smime.c:2315 ncrypt/smime.c:2331 nntp/nntp.c:1399 nntp/nntp.c:2239 ++#: pattern.c:1171 pop/pop.c:182 + msgid "Can't create temporary file" + msgstr "Nemožno vytvoriť dočasný súbor" + +@@ -3438,7 +3542,7 @@ msgstr "Ladenie na úrovni %d.\n" + msgid "Logging at level %d to file '%s'" + msgstr "Ladenie na úrovni %d.\n" + +-#: mutt/path.c:401 ++#: mutt/path.c:420 + #, fuzzy + msgid "Error: converting path to absolute" + msgstr "Pripájam sa na %s" +@@ -3462,17 +3566,17 @@ msgstr "Zachytený signál %d (%s) ... Končím.\n" + msgid "Caught signal %d ... Exiting.\n" + msgstr "Zachytený signál %d ... Končím.\n" + +-#: muttlib.c:490 ++#: muttlib.c:488 + #, c-format + msgid "mutt_randbuf buflen=%zu" + msgstr "" + +-#: muttlib.c:510 ++#: muttlib.c:508 + #, c-format + msgid "open /dev/urandom: %s" + msgstr "" + +-#: muttlib.c:517 ++#: muttlib.c:515 + #, c-format + msgid "read /dev/urandom: %s" + msgstr "" +@@ -3480,150 +3584,122 @@ msgstr "" + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) + #. These three letters correspond to the choices in the string. +-#: muttlib.c:745 ++#: muttlib.c:743 + #, fuzzy + msgid "File is a directory, save under it: (y)es, (n)o, (a)ll?" + msgstr "Súbor je adresár, uložiť v ňom?" + +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "yna" + msgstr "" + + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) +-#: muttlib.c:763 ++#: muttlib.c:761 + msgid "File is a directory, save under it?" + msgstr "Súbor je adresár, uložiť v ňom?" + +-#: muttlib.c:768 ++#: muttlib.c:766 + msgid "File under directory: " + msgstr "Súbor v adresári: " + +-#: muttlib.c:781 ++#: muttlib.c:779 + msgid "File exists, (o)verwrite, (a)ppend, or (c)ancel?" + msgstr "Súbor existuje, (o)-prepísať, prid(a)ť alebo (c)-zrušiť?" + + #. L10N: Options for: File exists, (o)verwrite, (a)ppend, or (c)ancel? +-#: muttlib.c:783 ++#: muttlib.c:781 + msgid "oac" + msgstr "oac" + +-#: muttlib.c:1458 ++#: muttlib.c:1456 + #, fuzzy + msgid "Can't save message to POP mailbox" + msgstr "Zapísať správu do schránky" + +-#: muttlib.c:1468 ++#: muttlib.c:1466 + #, c-format + msgid "Append messages to %s?" + msgstr "Pridať správy do %s?" + +-#: muttlib.c:1481 ++#: muttlib.c:1479 + #, fuzzy + msgid "Can't save message to news server" + msgstr "Vymazávam správy zo serveru.." + +-#. L10N: Example: Username at myhost.com +-#: mutt_account.c:233 +-#, c-format +-msgid "Username at %s: " +-msgstr "Užívateľské meno na %s: " +- +-#: mutt_account.c:315 +-#, c-format +-msgid "Password for %s@%s: " +-msgstr "Heslo pre %s@%s: " +- +-#. L10N: You will see this error message if (1) you have "oauthbearer" in +-#. one of your $*_authenticators and (2) you do not have the corresponding +-#. $*_oauth_refresh_command defined. So the message does not mean "None of +-#. your $*_oauth_refresh_command's are defined." +-#: mutt_account.c:383 +-#, fuzzy +-msgid "No OAUTH refresh command defined" +-msgstr "Príkaz otázky nie je definovaný" +- +-#: mutt_account.c:390 +-msgid "Unable to run refresh command" +-msgstr "" +- +-#: mutt_account.c:400 +-msgid "Command returned empty string" +-msgstr "" +- +-#: mutt_attach.c:140 mutt_attach.c:274 mutt_attach.c:459 mutt_attach.c:1054 ++#: mutt_attach.c:142 mutt_attach.c:276 mutt_attach.c:488 mutt_attach.c:1087 + msgid "Can't match 'nametemplate', continue?" + msgstr "Nenašiel som šablónu názvu, pokračovať?" + +-#: mutt_attach.c:150 ++#: mutt_attach.c:152 + #, c-format + msgid "Mailcap compose entry requires %%s" + msgstr "Zostavovacia položka mailcap-u vyžaduje %%s" + +-#: mutt_attach.c:168 ++#: mutt_attach.c:170 + msgid "Failure to open file to parse headers" + msgstr "Nemožno otvoriť súbor na analýzu hlavičiek" + +-#: mutt_attach.c:202 ++#: mutt_attach.c:204 + msgid "Failure to open file to strip headers" + msgstr "Nemožno otvoriť súbor na odstránenie hlavičiek" + +-#: mutt_attach.c:212 ++#: mutt_attach.c:214 + msgid "Failure to rename file" + msgstr "Zlyhalo premenovanie súboru" + +-#: mutt_attach.c:222 ++#: mutt_attach.c:224 + #, c-format + msgid "No mailcap compose entry for %s, creating empty file" + msgstr "Žiadna zostavovacia položka mailcap-u pre %s, vytváram prázdny súbor" + +-#: mutt_attach.c:284 ++#: mutt_attach.c:286 + #, c-format + msgid "Mailcap Edit entry requires %%s" + msgstr "Vstupná položka mailcap-u vyžaduje %%s" + +-#: mutt_attach.c:305 ++#: mutt_attach.c:307 + #, c-format + msgid "No mailcap edit entry for %s" + msgstr "Žiadna vstupná položka mailcap-u pre %s" + +-#: mutt_attach.c:427 ++#: mutt_attach.c:456 + msgid "No matching mailcap entry found. Viewing as text." + msgstr "Žiadna položka mailcap-u nebola nájdená. Zobrazenie ako text." + +-#: mutt_attach.c:440 ++#: mutt_attach.c:469 + msgid "MIME type not defined. Can't view attachment." + msgstr "MIME typ nie je definovaný. Nemožno zobraziť pripojené dáta." + +-#: mutt_attach.c:535 ++#: mutt_attach.c:563 + #, c-format + msgid "---Command: %-20.20s Description: %s" + msgstr "---Príkaz: %-20.20s Popis: %s" + +-#: mutt_attach.c:540 ++#: mutt_attach.c:568 + #, c-format + msgid "---Command: %-30.30s Attachment: %s" + msgstr "---Príkaz: %-20.20s Prílohy: %s" + +-#: mutt_attach.c:619 ++#: mutt_attach.c:652 + #, c-format + msgid "---Attachment: %s: %s" + msgstr "---Prílohy: %s: %s" + +-#: mutt_attach.c:621 ++#: mutt_attach.c:654 + #, c-format + msgid "---Attachment: %s" + msgstr "---Prílohy: %s" + +-#: mutt_attach.c:902 mutt_attach.c:910 ++#: mutt_attach.c:935 mutt_attach.c:943 + msgid "Write fault" + msgstr "Chyba zápisu" + +-#: mutt_attach.c:1174 ++#: mutt_attach.c:1207 + msgid "I don't know how to print that" + msgstr "Neviem, ako vytlačiť dáta" + +-#: mutt_history.c:47 query.c:84 ++#: mutt_history.c:47 query.c:82 + msgid "Search" + msgstr "Hľadať" + +@@ -3632,21 +3708,21 @@ msgstr "Hľadať" + msgid "History '%s'" + msgstr "Otázka '%s'" + +-#: mutt_logging.c:315 ++#: mutt_logging.c:313 + #, fuzzy, c-format + msgid "Invalid value for option %s: %ld" + msgstr "Neplatný deň v mesiaci: %s" + +-#: mutt_lua.c:429 ++#: mutt_lua.c:431 + msgid "Error: Couldn't load the lua interpreter" + msgstr "" + +-#: mutt_lua.c:491 ++#: mutt_lua.c:493 + #, fuzzy, c-format + msgid "Couldn't source lua source: %s" + msgstr "Nemožno zistiť stav: %s.\n" + +-#: mutt_mailbox.c:214 ++#: mutt_mailbox.c:241 + msgid "New mail in " + msgstr "Nová pošta v zložke " + +@@ -3670,20 +3746,20 @@ msgstr "Táto správa nie je viditeľná" + msgid "Parent message is not visible in this limited view" + msgstr "Táto správa nie je viditeľná" + +-#: mx.c:387 ++#: mx.c:385 + #, fuzzy, c-format + msgid "Reading from %s interrupted..." + msgstr "Hľadanie bolo prerušené." + + #. L10N: Displayed if a mailbox sync fails +-#: mx.c:468 ++#: mx.c:469 + #, fuzzy, c-format + msgid "Unable to write %s" + msgstr "Nemožno pripojiť %s" + + #. L10N: Although we know the precise number of messages, we do not show it to the user. + #. So feel free to use a "generic plural" as plural translation if your language has one. +-#: mx.c:523 ++#: mx.c:525 + #, fuzzy + msgid "message not deleted" + msgid_plural "messages not deleted" +@@ -3695,13 +3771,13 @@ msgstr[2] "správa/y neboli zmazané" + msgid "Can't open trash folder" + msgstr "Nemožno otvoriť zložku Kôš." + +-#: mx.c:623 ++#: mx.c:627 + msgid "Mark all articles read?" + msgstr "Označiť všetky položky ako prečítané?" + + #. L10N: The first argument is the number of read messages to be + #. moved, the second argument is the target mailbox. +-#: mx.c:671 ++#: mx.c:675 + #, fuzzy, c-format + msgid "Move %d read message to %s?" + msgid_plural "Move %d read messages to %s?" +@@ -3709,7 +3785,7 @@ msgstr[0] "Presunúť prečítané správy do %s?" + msgstr[1] "Presunúť prečítané správy do %s?" + msgstr[2] "Presunúť prečítané správy do %s?" + +-#: mx.c:685 mx.c:917 ++#: mx.c:689 mx.c:936 + #, fuzzy, c-format + msgid "Purge %d deleted message?" + msgid_plural "Purge %d deleted messages?" +@@ -3717,50 +3793,50 @@ msgstr[0] "Odstrániť %d zmazané správy?" + msgstr[1] "Odstrániť %d zmazaných správ?" + msgstr[2] "Odstrániť %d zmazaných správ?" + +-#: mx.c:708 ++#: mx.c:712 + #, c-format + msgid "Moving read messages to %s..." + msgstr "Presúvam prečítané správy do %s..." + +-#: mx.c:774 mx.c:908 ++#: mx.c:783 mx.c:927 + msgid "Mailbox is unchanged" + msgstr "Schránka je bez zmeny" + +-#: mx.c:827 ++#: mx.c:842 + #, c-format + msgid "%d kept, %d moved, %d deleted" + msgstr "%d ostalo, %d presunutých, %d vymazaných" + +-#: mx.c:831 mx.c:972 ++#: mx.c:846 mx.c:991 + #, c-format + msgid "%d kept, %d deleted" + msgstr "%d ostalo, %d vymazaných" + +-#: mx.c:892 ++#: mx.c:911 + #, c-format + msgid " Press '%s' to toggle write" + msgstr " Stlačte '%s' na prepnutie zápisu" + +-#: mx.c:894 ++#: mx.c:913 + msgid "Use 'toggle-write' to re-enable write" + msgstr "Použite 'prepnúť-zápis' na povolenie zápisu" + +-#: mx.c:896 ++#: mx.c:915 + #, c-format + msgid "Mailbox is marked unwritable. %s" + msgstr "Schránka je označená len na čítanie. %s" + +-#: mx.c:966 ++#: mx.c:985 + #, fuzzy + msgid "Mailbox checkpointed" + msgstr "Bola zistená slučka v makre" + +-#: ncrypt/crypt.c:93 ++#: ncrypt/crypt.c:91 + #, c-format + msgid " (current time: %c)" + msgstr "(aktuálny čas: %c)" + +-#: ncrypt/crypt.c:98 ++#: ncrypt/crypt.c:96 + #, c-format + msgid "[-- %s output follows%s --]\n" + msgstr "[-- Nasleduje výstup %s %s --]\n" +@@ -3769,69 +3845,69 @@ msgstr "[-- Nasleduje výstup %s %s --]\n" + #. by gpg-agent) we can't know whether we forgot zero, 1, 12, ... + #. passwords. So in English we use "Passphrases". Your language might + #. have other means to express this. +-#: ncrypt/crypt.c:119 ++#: ncrypt/crypt.c:117 + #, fuzzy + msgid "Passphrases forgotten" + msgstr "Šifrovacie heslo bolo zabudnuté" + +-#: ncrypt/crypt.c:203 ++#: ncrypt/crypt.c:201 + msgid "Inline PGP can't be used with attachments. Revert to PGP/MIME?" + msgstr "PGP sa v texte s prílohami nedá použiť. Použiť PGP/MIME?" + +-#: ncrypt/crypt.c:207 ++#: ncrypt/crypt.c:205 + msgid "Mail not sent: inline PGP can't be used with attachments" + msgstr "Správa nebola odoslaná: PGP sa v texte s prílohami nedá použiť" + +-#: ncrypt/crypt.c:214 ++#: ncrypt/crypt.c:212 + #, fuzzy + msgid "Inline PGP can't be used with format=flowed. Revert to PGP/MIME?" + msgstr "PGP sa v texte s prílohami nedá použiť. Použiť PGP/MIME?" + +-#: ncrypt/crypt.c:218 ++#: ncrypt/crypt.c:216 + #, fuzzy + msgid "Mail not sent: inline PGP can't be used with format=flowed" + msgstr "Správa nebola odoslaná: PGP sa v texte s prílohami nedá použiť" + +-#: ncrypt/crypt.c:228 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:714 +-#: ncrypt/pgpkey.c:915 ++#: ncrypt/crypt.c:226 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:747 ++#: ncrypt/pgpkey.c:950 + msgid "Invoking PGP..." + msgstr "Spúšťam PGP..." + +-#: ncrypt/crypt.c:240 ++#: ncrypt/crypt.c:238 + msgid "Message can't be sent inline. Revert to using PGP/MIME?" + msgstr "Správa nemožno poslať vloženú do textu. Použiť PGP/MIME?" + +-#: ncrypt/crypt.c:242 send.c:2430 ++#: ncrypt/crypt.c:240 send.c:2441 + msgid "Mail not sent" + msgstr "Pošta nebola odoslaná" + +-#: ncrypt/crypt.c:662 ++#: ncrypt/crypt.c:666 + msgid "S/MIME messages with no hints on content are unsupported" + msgstr "" + +-#: ncrypt/crypt.c:888 ++#: ncrypt/crypt.c:892 + msgid "Trying to extract PGP keys...\n" + msgstr "Pokúšam sa extrahovať PGP kľúče ...\n" + +-#: ncrypt/crypt.c:917 ++#: ncrypt/crypt.c:921 + msgid "Trying to extract S/MIME certificates..." + msgstr "Pokúšam sa extrahovať S/MIME certifikáty ..." + +-#: ncrypt/crypt.c:1140 ++#: ncrypt/crypt.c:1144 + #, c-format + msgid "" + "[-- Error: Unknown multipart/signed protocol %s --]\n" + "\n" + msgstr "[--Chyba: neznámy multipart/signet protokol %s --].\n" + +-#: ncrypt/crypt.c:1180 ++#: ncrypt/crypt.c:1184 + #, fuzzy + msgid "" + "[-- Error: Missing or bad-format multipart/signed signature --]\n" + "\n" + msgstr "[--Chyba: Nekonzistentná multipart/signet štruktúra --].\n" + +-#: ncrypt/crypt.c:1222 ++#: ncrypt/crypt.c:1226 + #, c-format + msgid "" + "[-- Warning: We can't verify %s/%s signatures. --]\n" +@@ -3840,7 +3916,7 @@ msgstr "" + "[-- Upozornenie: Nemôžeme overiť %s/%s podpisy. --]\n" + "\n" + +-#: ncrypt/crypt.c:1235 ++#: ncrypt/crypt.c:1239 + msgid "" + "[-- The following data is signed --]\n" + "\n" +@@ -3848,7 +3924,7 @@ msgstr "" + "[-- Nasledujúce udaje sú podpísané --]\n" + "\n" + +-#: ncrypt/crypt.c:1243 ++#: ncrypt/crypt.c:1248 + msgid "" + "[-- Warning: Can't find any signatures. --]\n" + "\n" +@@ -3856,7 +3932,7 @@ msgstr "" + "[-- Upozornenie: Nemôžem nájsť žiadne podpisy. --]\n" + "\n" + +-#: ncrypt/crypt.c:1249 ++#: ncrypt/crypt.c:1255 + msgid "" + "\n" + "[-- End of signed data --]\n" +@@ -3875,231 +3951,231 @@ msgstr "Spúšťam S/MIME..." + #. L10N: The following are the headers for the "verify key" output from the + #. GPGME key selection menu (bound to "c" in the key selection menu). + #. They will be automatically aligned. +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Name: " + msgstr "Meno: " + +-#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1869 ncrypt/crypt_gpgme.c:1874 ++#: ncrypt/crypt_gpgme.c:183 ncrypt/crypt_gpgme.c:1900 ncrypt/crypt_gpgme.c:1905 + msgid "aka: " + msgstr "alias: " + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Valid From: " + msgstr "Platný od: " + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Valid To: " + msgstr "Platný do: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Key Type: " + msgstr "Typ kľúča: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Key Usage: " + msgstr "Použitie kľúča: " + +-#: ncrypt/crypt_gpgme.c:185 ncrypt/crypt_gpgme.c:1759 ++#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1790 + msgid "Fingerprint: " + msgstr "Odtlačok kľúča: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Serial-No: " + msgstr "Sériové č.: " + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + msgid "Issued By: " + msgstr "Vydal: " + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + msgid "Subkey: " + msgstr "Podkľúč: " + +-#: ncrypt/crypt_gpgme.c:783 ++#: ncrypt/crypt_gpgme.c:782 + #, c-format + msgid "error enabling CMS protocol: %s" + msgstr "Chyba pri zapínaní CMS protokolu: %s" + +-#: ncrypt/crypt_gpgme.c:806 ++#: ncrypt/crypt_gpgme.c:805 + #, c-format + msgid "error creating gpgme data object: %s" + msgstr "Chyba pri vytváraní gpgme dátového objektu: %s" + +-#: ncrypt/crypt_gpgme.c:907 ncrypt/crypt_gpgme.c:934 ncrypt/crypt_gpgme.c:2057 +-#: ncrypt/crypt_gpgme.c:2814 ++#: ncrypt/crypt_gpgme.c:906 ncrypt/crypt_gpgme.c:933 ncrypt/crypt_gpgme.c:2096 ++#: ncrypt/crypt_gpgme.c:2853 + #, c-format + msgid "error allocating data object: %s" + msgstr "Chyba pri alokovaní dátového objektu: %s" + +-#: ncrypt/crypt_gpgme.c:956 ++#: ncrypt/crypt_gpgme.c:955 + #, c-format + msgid "error rewinding data object: %s" + msgstr "Chyba pri pretáčaní dátového objektu: %s" + +-#: ncrypt/crypt_gpgme.c:972 ++#: ncrypt/crypt_gpgme.c:971 + msgid "[tempfile]" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:978 ncrypt/crypt_gpgme.c:1032 ++#: ncrypt/crypt_gpgme.c:977 ncrypt/crypt_gpgme.c:1031 + #, c-format + msgid "error reading data object: %s" + msgstr "Chyba pri čítaní dátového objektu: %s" + +-#: ncrypt/crypt_gpgme.c:1149 ++#: ncrypt/crypt_gpgme.c:1148 + #, fuzzy, c-format + msgid "error adding recipient '%s': %s" + msgstr "Chyba pri pridávaní príjemcu '%s': %s" + +-#: ncrypt/crypt_gpgme.c:1202 ++#: ncrypt/crypt_gpgme.c:1186 + #, c-format + msgid "secret key '%s' not found: %s" + msgstr "Tajný kľúč '%s' nebol nájdený: %s" + +-#: ncrypt/crypt_gpgme.c:1218 ++#: ncrypt/crypt_gpgme.c:1203 + #, fuzzy, c-format + msgid "ambiguous specification of secret key '%s'\n" + msgstr "Nejednoznačné vymedzenie tajného kľúča '%s'" + +-#: ncrypt/crypt_gpgme.c:1234 ++#: ncrypt/crypt_gpgme.c:1219 + #, c-format + msgid "error setting secret key '%s': %s" + msgstr "Chyba pri nastavovaní tajného kľúča '%s': %s" + +-#: ncrypt/crypt_gpgme.c:1250 ++#: ncrypt/crypt_gpgme.c:1278 + #, c-format + msgid "error setting PKA signature notation: %s" + msgstr "Chyba pri nastavovaní PKA podpisovej poznámky: %s" + +-#: ncrypt/crypt_gpgme.c:1324 ++#: ncrypt/crypt_gpgme.c:1353 + #, c-format + msgid "error encrypting data: %s" + msgstr "Chyba pri šifrovaní dát: %s" + +-#: ncrypt/crypt_gpgme.c:1453 ++#: ncrypt/crypt_gpgme.c:1483 + #, c-format + msgid "error signing data: %s" + msgstr "Chyba pri podpisovaní dát: %s" + +-#: ncrypt/crypt_gpgme.c:1463 ++#: ncrypt/crypt_gpgme.c:1493 + msgid "$pgp_sign_as unset and no default key specified in ~/.gnupg/gpg.conf" + msgstr "$pgp_sign_as nie je nastavený a v ~/.gnupg/gpg.conf nie je určený východzí kľúč" + +-#: ncrypt/crypt_gpgme.c:1641 ++#: ncrypt/crypt_gpgme.c:1672 + msgid "Warning: One of the keys has been revoked\n" + msgstr "Upozornenie: Jeden z kľúčov bol zneplatnený\n" + +-#: ncrypt/crypt_gpgme.c:1651 ++#: ncrypt/crypt_gpgme.c:1682 + msgid "Warning: The key used to create the signature expired at: " + msgstr "Upozornenie: Kľúču použitému na vytvorenie podpisu vypršala platnosť: " + +-#: ncrypt/crypt_gpgme.c:1657 ++#: ncrypt/crypt_gpgme.c:1688 + msgid "Warning: At least one certification key has expired\n" + msgstr "Upozornenie: Platnosť aspoň jedného kľúča vypršala.\n" + +-#: ncrypt/crypt_gpgme.c:1671 ++#: ncrypt/crypt_gpgme.c:1702 + msgid "Warning: The signature expired at: " + msgstr "Upozornenie: Podpis stratil platnosť: " + +-#: ncrypt/crypt_gpgme.c:1678 ++#: ncrypt/crypt_gpgme.c:1709 + msgid "Can't verify due to a missing key or certificate\n" + msgstr "Nemožno overiť, chýba kľúč alebo certifikát\n" + +-#: ncrypt/crypt_gpgme.c:1683 ++#: ncrypt/crypt_gpgme.c:1714 + #, fuzzy + msgid "The CRL is not available\n" + msgstr "Táto správa nie je viditeľná." + +-#: ncrypt/crypt_gpgme.c:1689 ++#: ncrypt/crypt_gpgme.c:1720 + #, fuzzy + msgid "Available CRL is too old\n" + msgstr "Dostupný CLR je príliš starý.\n" + +-#: ncrypt/crypt_gpgme.c:1694 ++#: ncrypt/crypt_gpgme.c:1725 + msgid "A policy requirement was not met\n" + msgstr "Požiadavky politiky bezpečnosti neboli splnené.\n" + +-#: ncrypt/crypt_gpgme.c:1703 ++#: ncrypt/crypt_gpgme.c:1734 + msgid "A system error occurred" + msgstr "Vyskytla sa systémová chyba." + +-#: ncrypt/crypt_gpgme.c:1734 ++#: ncrypt/crypt_gpgme.c:1765 + msgid "WARNING: PKA entry does not match signer's address: " + msgstr "UPOZIRNENIE: Položka PKA nesúhlasí s adresou podpísaného: " + +-#: ncrypt/crypt_gpgme.c:1740 ++#: ncrypt/crypt_gpgme.c:1771 + msgid "PKA verified signer's address is: " + msgstr "Adresa podpísaného overená PKA je: " + +-#: ncrypt/crypt_gpgme.c:1822 ++#: ncrypt/crypt_gpgme.c:1853 + msgid "WARNING: We have NO indication whether the key belongs to the person named as shown above\n" + msgstr "POZOR: Nemáme ŽIADNY dôkaz, že klúč patrí vyššie menovanej osobe.\n" + +-#: ncrypt/crypt_gpgme.c:1829 ++#: ncrypt/crypt_gpgme.c:1860 + msgid "WARNING: The key does NOT BELONG to the person named as shown above\n" + msgstr "POZOR: Kľúč NEPATRÍ vyššie menovanej osobe.\n" + +-#: ncrypt/crypt_gpgme.c:1833 ++#: ncrypt/crypt_gpgme.c:1864 + msgid "WARNING: It is NOT certain that the key belongs to the person named as shown above\n" + msgstr "POZOR: NIE JE ISTÉ, či klúč patrí vyššie menovanej osobe.\n" + +-#: ncrypt/crypt_gpgme.c:1886 ++#: ncrypt/crypt_gpgme.c:1917 + msgid "KeyID " + msgstr "ID-Kľúča " + + #. L10N: You will see this message in place of "KeyID " + #. if the S/MIME key has no ID. This is quite an error. +-#: ncrypt/crypt_gpgme.c:1893 ++#: ncrypt/crypt_gpgme.c:1924 + msgid "no signature fingerprint available" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1902 ncrypt/crypt_gpgme.c:1907 ++#: ncrypt/crypt_gpgme.c:1933 ncrypt/crypt_gpgme.c:1938 + msgid "created: " + msgstr "Vytvorený: " + +-#: ncrypt/crypt_gpgme.c:1981 ++#: ncrypt/crypt_gpgme.c:2012 + #, c-format + msgid "Error getting key information for KeyID %s: %s\n" + msgstr "Chyba pri získavaní informácií o ID-Kľúči: %s: %s\n" + +-#: ncrypt/crypt_gpgme.c:1988 ncrypt/crypt_gpgme.c:2003 ++#: ncrypt/crypt_gpgme.c:2019 ncrypt/crypt_gpgme.c:2034 + msgid "Good signature from:" + msgstr "Dobrý podpis od: " + +-#: ncrypt/crypt_gpgme.c:1995 ++#: ncrypt/crypt_gpgme.c:2026 + msgid "*BAD* signature from:" + msgstr "*ZLÝ* podpis od: " + +-#: ncrypt/crypt_gpgme.c:2011 ++#: ncrypt/crypt_gpgme.c:2042 + msgid "Problem signature from:" + msgstr "Problematický podpis od: " + + #. L10N: This is trying to match the width of the + #. "Problem signature from:" translation just above. +-#: ncrypt/crypt_gpgme.c:2017 ++#: ncrypt/crypt_gpgme.c:2048 + msgid " expires: " + msgstr " expiruje: " + +-#: ncrypt/crypt_gpgme.c:2064 ncrypt/crypt_gpgme.c:2294 +-#: ncrypt/crypt_gpgme.c:3081 ++#: ncrypt/crypt_gpgme.c:2103 ncrypt/crypt_gpgme.c:2333 ++#: ncrypt/crypt_gpgme.c:3124 + msgid "[-- Begin signature information --]\n" + msgstr "[-- Začiatok informácií o podpise --]\n" + +-#: ncrypt/crypt_gpgme.c:2075 ++#: ncrypt/crypt_gpgme.c:2114 + #, c-format + msgid "Error: verification failed: %s\n" + msgstr "Chyba: overovanie zlyhalo: %s\n" + +-#: ncrypt/crypt_gpgme.c:2126 ++#: ncrypt/crypt_gpgme.c:2165 + #, c-format + msgid "*** Begin Notation (signature by: %s) ***\n" + msgstr "*** Začiatok zápisu (podpísané: %s) ***\n" + +-#: ncrypt/crypt_gpgme.c:2145 ++#: ncrypt/crypt_gpgme.c:2184 + msgid "*** End Notation ***\n" + msgstr "*** Koniec zápisu ***\n" + +-#: ncrypt/crypt_gpgme.c:2153 ncrypt/crypt_gpgme.c:2308 +-#: ncrypt/crypt_gpgme.c:3091 ++#: ncrypt/crypt_gpgme.c:2192 ncrypt/crypt_gpgme.c:2347 ++#: ncrypt/crypt_gpgme.c:3134 + msgid "" + "[-- End signature information --]\n" + "\n" +@@ -4107,7 +4183,7 @@ msgstr "" + "[-- Koniec podrobností o podpise --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:2268 ++#: ncrypt/crypt_gpgme.c:2307 + #, c-format + msgid "" + "[-- Error: decryption failed: %s --]\n" +@@ -4116,21 +4192,26 @@ msgstr "" + "[-- Chyba: dešifrovanie zlyhalo: %s --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:2821 ++#: ncrypt/crypt_gpgme.c:2860 + #, fuzzy, c-format + msgid "Error importing key: %s" + msgstr "Chyba pri exporte kľúča: %s" + +-#: ncrypt/crypt_gpgme.c:3059 ++#: ncrypt/crypt_gpgme.c:3098 + #, c-format + msgid "Error: decryption/verification failed: %s\n" + msgstr "Chyba: dešifrovanie/overovanie zlyhalo: %s\n" + +-#: ncrypt/crypt_gpgme.c:3103 ++#: ncrypt/crypt_gpgme.c:3105 ncrypt/crypt_gpgme.c:3302 ncrypt/pgp.c:726 ++#: ncrypt/pgp.c:1273 ++msgid "PGP message successfully decrypted" ++msgstr "PGP správa bola úspešne dešifrovaná" ++ ++#: ncrypt/crypt_gpgme.c:3146 + msgid "Error: copy data failed\n" + msgstr "Chyba: kopírovanie dát zlyhalo.\n" + +-#: ncrypt/crypt_gpgme.c:3116 ncrypt/pgp.c:675 ++#: ncrypt/crypt_gpgme.c:3159 ncrypt/pgp.c:674 + msgid "" + "[-- BEGIN PGP MESSAGE --]\n" + "\n" +@@ -4138,11 +4219,11 @@ msgstr "" + "[-- ZAČIATOK SPRÁVY PGP --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3118 ncrypt/pgp.c:677 ++#: ncrypt/crypt_gpgme.c:3161 ncrypt/pgp.c:676 + msgid "[-- BEGIN PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- ZAČIATOK BLOKU VEREJNÉHO KĽÚČA PGP --]\n" + +-#: ncrypt/crypt_gpgme.c:3120 ncrypt/pgp.c:679 ++#: ncrypt/crypt_gpgme.c:3163 ncrypt/pgp.c:678 + msgid "" + "[-- BEGIN PGP SIGNED MESSAGE --]\n" + "\n" +@@ -4150,19 +4231,19 @@ msgstr "" + "[-- ZAČIATOK SPRÁVY PODPÍSANEJ S PGP --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3145 ncrypt/pgp.c:716 ++#: ncrypt/crypt_gpgme.c:3188 ncrypt/pgp.c:715 + msgid "[-- END PGP MESSAGE --]\n" + msgstr "[-- KONIEC SPRÁVY PGP --]\n" + +-#: ncrypt/crypt_gpgme.c:3147 ncrypt/pgp.c:730 ++#: ncrypt/crypt_gpgme.c:3190 ncrypt/pgp.c:729 + msgid "[-- END PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- KONIEC BLOKU VEREJNÉHO KĽÚČA PGP --]\n" + +-#: ncrypt/crypt_gpgme.c:3149 ncrypt/pgp.c:732 ++#: ncrypt/crypt_gpgme.c:3192 ncrypt/pgp.c:731 + msgid "[-- END PGP SIGNED MESSAGE --]\n" + msgstr "[-- KONIEC SPRÁVY PODPÍSANEJ S PGP --]\n" + +-#: ncrypt/crypt_gpgme.c:3170 ncrypt/pgp.c:765 ++#: ncrypt/crypt_gpgme.c:3213 ncrypt/pgp.c:764 + msgid "" + "[-- Error: could not find beginning of PGP message --]\n" + "\n" +@@ -4170,11 +4251,11 @@ msgstr "" + "[-- Chyba: nemožno nájsť začiatok správy PGP --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3198 ncrypt/crypt_gpgme.c:3296 ncrypt/pgp.c:1218 ++#: ncrypt/crypt_gpgme.c:3241 ncrypt/crypt_gpgme.c:3339 ncrypt/pgp.c:1218 + msgid "[-- Error: could not create temporary file --]\n" + msgstr "[-- Chyba: nemožno vytvoriť dočasný súbor --]\n" + +-#: ncrypt/crypt_gpgme.c:3212 ++#: ncrypt/crypt_gpgme.c:3255 + msgid "" + "[-- The following data is PGP/MIME signed and encrypted --]\n" + "\n" +@@ -4182,7 +4263,7 @@ msgstr "" + "[-- Nasledujúce dáta sú šifrované pomocou PGP/MIME --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3214 ncrypt/pgp.c:1231 ++#: ncrypt/crypt_gpgme.c:3257 ncrypt/pgp.c:1232 + msgid "" + "[-- The following data is PGP/MIME encrypted --]\n" + "\n" +@@ -4190,24 +4271,20 @@ msgstr "" + "[-- Nasledujúce dáta sú šifrované pomocou PGP/MIME --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3254 ++#: ncrypt/crypt_gpgme.c:3297 + msgid "[-- End of PGP/MIME signed and encrypted data --]\n" + msgstr "[-- Koniec dát šifrovaných pomocou PGP/MIME --]\n" + +-#: ncrypt/crypt_gpgme.c:3255 ncrypt/pgp.c:1267 ++#: ncrypt/crypt_gpgme.c:3298 ncrypt/pgp.c:1268 + msgid "[-- End of PGP/MIME encrypted data --]\n" + msgstr "[-- Koniec dát šifrovaných pomocou PGP/MIME --]\n" + +-#: ncrypt/crypt_gpgme.c:3259 ncrypt/pgp.c:727 ncrypt/pgp.c:1272 +-msgid "PGP message successfully decrypted" +-msgstr "PGP správa bola úspešne dešifrovaná" +- +-#: ncrypt/crypt_gpgme.c:3265 ncrypt/pgp.c:666 ncrypt/pgp.c:718 +-#: ncrypt/pgp.c:1276 ++#: ncrypt/crypt_gpgme.c:3308 ncrypt/pgp.c:665 ncrypt/pgp.c:717 ++#: ncrypt/pgp.c:1277 + msgid "Could not decrypt PGP message" + msgstr "Nemožno dešifrovať PGP správu." + +-#: ncrypt/crypt_gpgme.c:3310 ++#: ncrypt/crypt_gpgme.c:3353 + msgid "" + "[-- The following data is S/MIME signed --]\n" + "\n" +@@ -4215,7 +4292,7 @@ msgstr "" + "[-- Nasledujúce dáta sú podpísané pomocou S/MIME --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3311 ++#: ncrypt/crypt_gpgme.c:3354 + msgid "" + "[-- The following data is S/MIME encrypted --]\n" + "\n" +@@ -4223,34 +4300,34 @@ msgstr "" + "[-- Nasledujúce dáta sú šifrované pomocou S/MIME --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3358 ++#: ncrypt/crypt_gpgme.c:3401 + msgid "[-- End of S/MIME signed data --]\n" + msgstr "[-- Koniec dát s podpisom S/MIME --]\n" + +-#: ncrypt/crypt_gpgme.c:3359 ++#: ncrypt/crypt_gpgme.c:3402 + msgid "[-- End of S/MIME encrypted data --]\n" + msgstr "[-- Koniec dát šifrovaných pomocou S/MIME --]\n" + +-#: ncrypt/crypt_gpgme.c:4029 ++#: ncrypt/crypt_gpgme.c:4077 + msgid "[Can't display this user ID (unknown encoding)]" + msgstr "Nedá sa zobraziť ID tohoto užívateľa (neznáme kódovanie)" + +-#: ncrypt/crypt_gpgme.c:4031 ++#: ncrypt/crypt_gpgme.c:4079 + msgid "[Can't display this user ID (invalid encoding)]" + msgstr "Nedá sa zobraziť ID tohoto užívateľa (neplatné kódovanie)" + +-#: ncrypt/crypt_gpgme.c:4036 ++#: ncrypt/crypt_gpgme.c:4084 + msgid "[Can't display this user ID (invalid DN)]" + msgstr "Nedá sa zobraziť ID tohoto užívateľa (neplatné DN)" + + #. L10N: comes after the Name or aka if the key is invalid + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4150 ncrypt/crypt_gpgme.c:4291 ++#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4339 + msgid "[Invalid]" + msgstr "[Neplatný]" + + #. L10N: This is printed after "Key Type: " and looks like this: PGP, 2048 bit RSA +-#: ncrypt/crypt_gpgme.c:4190 ncrypt/crypt_gpgme.c:4331 ++#: ncrypt/crypt_gpgme.c:4238 ncrypt/crypt_gpgme.c:4379 + #, fuzzy, c-format + msgid "%s, %lu bit %s\n" + msgid_plural "%s, %lu bit %s\n" +@@ -4259,94 +4336,94 @@ msgstr[1] "Typ kľúča ....: %s, %lu bit %s\n" + msgstr[2] "Typ kľúča ....: %s, %lu bit %s\n" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4338 ++#: ncrypt/crypt_gpgme.c:4246 ncrypt/crypt_gpgme.c:4386 + msgid "encryption" + msgstr "Šifrovanie" + +-#: ncrypt/crypt_gpgme.c:4199 ncrypt/crypt_gpgme.c:4205 +-#: ncrypt/crypt_gpgme.c:4339 ncrypt/crypt_gpgme.c:4344 ++#: ncrypt/crypt_gpgme.c:4247 ncrypt/crypt_gpgme.c:4253 ++#: ncrypt/crypt_gpgme.c:4387 ncrypt/crypt_gpgme.c:4392 + msgid ", " + msgstr ", " + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4204 ncrypt/crypt_gpgme.c:4343 ++#: ncrypt/crypt_gpgme.c:4252 ncrypt/crypt_gpgme.c:4391 + msgid "signing" + msgstr "podpisovanie" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4210 ncrypt/crypt_gpgme.c:4348 ++#: ncrypt/crypt_gpgme.c:4258 ncrypt/crypt_gpgme.c:4396 + msgid "certification" + msgstr "overovanie" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4285 ++#: ncrypt/crypt_gpgme.c:4333 + msgid "[Revoked]" + msgstr "[Odvolaný]" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4297 ++#: ncrypt/crypt_gpgme.c:4345 + msgid "[Expired]" + msgstr "[Expirovaný]" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4303 ++#: ncrypt/crypt_gpgme.c:4351 + msgid "[Disabled]" + msgstr "[Zakázaný]" + +-#: ncrypt/crypt_gpgme.c:4376 ++#: ncrypt/crypt_gpgme.c:4424 + msgid "Collecting data..." + msgstr "Zbieram údaje ..." + +-#: ncrypt/crypt_gpgme.c:4394 ++#: ncrypt/crypt_gpgme.c:4442 + #, c-format + msgid "Error finding issuer key: %s\n" + msgstr "Chyba pri vyhľadávaní kľúča vydavateľa: %s\n" + +-#: ncrypt/crypt_gpgme.c:4403 ++#: ncrypt/crypt_gpgme.c:4451 + msgid "Error: certification chain too long - stopping here\n" + msgstr "Chyba: overovací reťazec je príliš dlhý - končím tu\n" + +-#: ncrypt/crypt_gpgme.c:4413 ncrypt/pgpkey.c:733 ++#: ncrypt/crypt_gpgme.c:4461 ncrypt/pgpkey.c:766 + #, c-format + msgid "Key ID: 0x%s" + msgstr "ID kľúča: 0x%s" + +-#: ncrypt/crypt_gpgme.c:4538 ncrypt/crypt_gpgme.c:4589 ++#: ncrypt/crypt_gpgme.c:4586 ncrypt/crypt_gpgme.c:4637 + #, c-format + msgid "gpgme_op_keylist_start failed: %s" + msgstr "gpgme_op_keylist_start zlyhalo: %s" + +-#: ncrypt/crypt_gpgme.c:4577 ncrypt/crypt_gpgme.c:4619 +-#: ncrypt/crypt_gpgme.c:5355 ++#: ncrypt/crypt_gpgme.c:4625 ncrypt/crypt_gpgme.c:4667 ++#: ncrypt/crypt_gpgme.c:5435 + #, c-format + msgid "gpgme_op_keylist_next failed: %s" + msgstr "gpgme_op_keylist_next zlyhalo: %s" + +-#: ncrypt/crypt_gpgme.c:4701 ++#: ncrypt/crypt_gpgme.c:4749 + msgid "All matching keys are marked expired/revoked" + msgstr "Všetky vyhovujúce kľúče sú buď expirované alebo zneplatnené" + +-#: ncrypt/crypt_gpgme.c:4731 ncrypt/pgpkey.c:666 ncrypt/smime.c:551 ++#: ncrypt/crypt_gpgme.c:4779 ncrypt/pgpkey.c:669 ncrypt/smime.c:553 + msgid "Select " + msgstr "Označiť " + +-#: ncrypt/crypt_gpgme.c:4733 ncrypt/pgpkey.c:668 ++#: ncrypt/crypt_gpgme.c:4781 ncrypt/pgpkey.c:671 + msgid "Check key " + msgstr "Skontrolovať kľúč " + +-#: ncrypt/crypt_gpgme.c:4749 ++#: ncrypt/crypt_gpgme.c:4827 + msgid "PGP and S/MIME keys matching" + msgstr "PGP a S/MIME kľúče sa zhodujú" + +-#: ncrypt/crypt_gpgme.c:4751 ++#: ncrypt/crypt_gpgme.c:4829 + msgid "PGP keys matching" + msgstr "Kľúče PGP sa zhodujú" + +-#: ncrypt/crypt_gpgme.c:4753 ++#: ncrypt/crypt_gpgme.c:4831 + msgid "S/MIME keys matching" + msgstr "Kľúče S/MIME sa zhodujú" + +-#: ncrypt/crypt_gpgme.c:4755 ++#: ncrypt/crypt_gpgme.c:4833 + msgid "keys matching" + msgstr "Kľúče sa zhodujú" + +@@ -4354,55 +4431,55 @@ msgstr "Kľúče sa zhodujú" + #. %1$s is one of the previous four entries. + #. %2$s is an address. + #. e.g. "S/MIME keys matching " +-#: ncrypt/crypt_gpgme.c:4763 ++#: ncrypt/crypt_gpgme.c:4841 + #, c-format + msgid "%s <%s>" + msgstr "%s <%s>" + + #. L10N: e.g. 'S/MIME keys matching "Michael Elkins".' +-#: ncrypt/crypt_gpgme.c:4768 ++#: ncrypt/crypt_gpgme.c:4846 + #, c-format + msgid "%s \"%s\"" + msgstr "%s \"%s\"" + +-#: ncrypt/crypt_gpgme.c:4796 ncrypt/pgpkey.c:754 ++#: ncrypt/crypt_gpgme.c:4874 ncrypt/pgpkey.c:787 + msgid "This key can't be used: expired/disabled/revoked" + msgstr "Tento kľúč nemôže byť použitý: je expirovaný/zakázaný/odvolaný" + +-#: ncrypt/crypt_gpgme.c:4810 ncrypt/pgpkey.c:767 ncrypt/smime.c:581 ++#: ncrypt/crypt_gpgme.c:4888 ncrypt/pgpkey.c:800 ncrypt/smime.c:613 + msgid "ID is expired/disabled/revoked. Do you really want to use the key?" + msgstr "ID je expirovaný/zakázaný/odvolaný. Chcete naozaj použiť tento kľúč?" + +-#: ncrypt/crypt_gpgme.c:4820 ncrypt/pgpkey.c:779 ++#: ncrypt/crypt_gpgme.c:4898 ncrypt/pgpkey.c:812 + msgid "ID is not valid. Do you really want to use the key?" + msgstr "Toto ID nie je dôveryhodné. Chcete naozaj použiť tento kľúč?" + +-#: ncrypt/crypt_gpgme.c:4823 ncrypt/pgpkey.c:782 ++#: ncrypt/crypt_gpgme.c:4901 ncrypt/pgpkey.c:815 + msgid "ID is only marginally valid. Do you really want to use the key?" + msgstr "Toto ID je dôveryhodné iba nepatrne. Chcete naozaj použiť tento kľúč?" + +-#: ncrypt/crypt_gpgme.c:4831 ncrypt/pgpkey.c:775 ncrypt/smime.c:585 ++#: ncrypt/crypt_gpgme.c:4909 ncrypt/pgpkey.c:808 ncrypt/smime.c:617 + msgid "ID has undefined validity. Do you really want to use the key?" + msgstr "ID nemá definovanú dôverihodnosť. Chcete naozaj použiť tento kľúč?" + +-#: ncrypt/crypt_gpgme.c:4911 ncrypt/crypt_gpgme.c:5024 ncrypt/pgpkey.c:1019 +-#: ncrypt/pgpkey.c:1146 ++#: ncrypt/crypt_gpgme.c:4991 ncrypt/crypt_gpgme.c:5104 ncrypt/pgpkey.c:1054 ++#: ncrypt/pgpkey.c:1181 + #, c-format + msgid "Looking for keys matching \"%s\"..." + msgstr "Hľadám kľúče vyhovujúce \"%s\"..." + +-#: ncrypt/crypt_gpgme.c:5140 ncrypt/pgpkey.c:870 ncrypt/smime.c:924 ++#: ncrypt/crypt_gpgme.c:5220 ncrypt/pgpkey.c:905 ncrypt/smime.c:958 + #, c-format + msgid "No matching keys found for \"%s\"" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5190 ncrypt/pgp.c:1456 ++#: ncrypt/crypt_gpgme.c:5270 ncrypt/pgp.c:1457 + #, c-format + msgid "Use keyID = \"%s\" for %s?" + msgstr "Použiť ID kľúča = \"%s\" pre %s?" + +-#: ncrypt/crypt_gpgme.c:5238 ncrypt/pgp.c:1505 ncrypt/smime.c:944 +-#: ncrypt/smime.c:1049 ++#: ncrypt/crypt_gpgme.c:5318 ncrypt/pgp.c:1506 ncrypt/smime.c:978 ++#: ncrypt/smime.c:1083 + #, c-format + msgid "Enter keyID for %s: " + msgstr "Zadajte ID kľúča pre %s: " +@@ -4411,16 +4488,16 @@ msgstr "Zadajte ID kľúča pre %s: " + #. mutt_gpgme_select_secret_key() tries to list all secret keys to choose + #. from. This error is displayed if no results were found. + #. +-#: ncrypt/crypt_gpgme.c:5364 ++#: ncrypt/crypt_gpgme.c:5444 + #, fuzzy + msgid "No secret keys found" + msgstr "Tajný kľúč '%s' nebol nájdený: %s" + +-#: ncrypt/crypt_gpgme.c:5398 ncrypt/pgpkey.c:888 ++#: ncrypt/crypt_gpgme.c:5478 ncrypt/pgpkey.c:923 + msgid "Please enter the key ID: " + msgstr "Prosím zadajte ID kľúča: " + +-#: ncrypt/crypt_gpgme.c:5411 ++#: ncrypt/crypt_gpgme.c:5491 + #, c-format + msgid "Error exporting key: %s" + msgstr "Chyba pri exporte kľúča: %s" +@@ -4428,92 +4505,92 @@ msgstr "Chyba pri exporte kľúča: %s" + #. 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. +-#: ncrypt/crypt_gpgme.c:5429 ++#: ncrypt/crypt_gpgme.c:5509 + #, c-format + msgid "PGP Key 0x%s" + msgstr "PGP kľúč 0x%s" + +-#: ncrypt/crypt_gpgme.c:5474 ++#: ncrypt/crypt_gpgme.c:5554 + msgid "GPGME: OpenPGP protocol not available" + msgstr "GPGME: OpenPGP protokol nie je k dispozícii." + +-#: ncrypt/crypt_gpgme.c:5485 ++#: ncrypt/crypt_gpgme.c:5565 + msgid "GPGME: CMS protocol not available" + msgstr "GPGME: CMS protokol nie je k dispozícii." + +-#: ncrypt/crypt_gpgme.c:5536 ++#: ncrypt/crypt_gpgme.c:5616 + msgid "S/MIME (s)ign, sign (a)s, (p)gp, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME podpí(s)ať, (p)odpísať ako, p(g)p, (v)yčistiť, alebo vypnúť (o)ppenc mód?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5538 ++#: ncrypt/crypt_gpgme.c:5618 + msgid "sapco" + msgstr "spgvo" + +-#: ncrypt/crypt_gpgme.c:5545 ++#: ncrypt/crypt_gpgme.c:5625 + msgid "PGP (s)ign, sign (a)s, s/(m)ime, (c)lear, or (o)ppenc mode off?" + msgstr "PGP podpí(s)ať, (p)odpísať ako, s/(m)ime, (v)yčistiť, alebo vypnúť (o)ppenc mód?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5547 ++#: ncrypt/crypt_gpgme.c:5627 + msgid "samco" + msgstr "spmvo" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5557 ++#: ncrypt/crypt_gpgme.c:5637 + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME šif(r)ovať, podpí(s)ať, (p)odpísať ako, o(b)e, p(g)p, (v)yčistiť, alebo vypnúť (o)ppenc mód?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5560 ++#: ncrypt/crypt_gpgme.c:5640 + msgid "esabpco" + msgstr "rspbgvo" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5566 ++#: ncrypt/crypt_gpgme.c:5646 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime, (c)lear, or (o)ppenc mode?" + msgstr "PGP šif(r)ovať, podpí(s)ať, (p)odpísať ako, o(b)e, s/(m)ime, (v)yčistiť, alebo vypnúť (o)ppenc mód?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5569 ++#: ncrypt/crypt_gpgme.c:5649 + msgid "esabmco" + msgstr "rspbmvo" + +-#: ncrypt/crypt_gpgme.c:5580 ++#: ncrypt/crypt_gpgme.c:5660 + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp or (c)lear?" + msgstr "S/MIME šif(r)ovať, podpí(s)ať, (p)odpísať ako, o(b)e, p(g)p, (v)yčistiť?" + + #. L10N: S/MIME options +-#: ncrypt/crypt_gpgme.c:5582 ++#: ncrypt/crypt_gpgme.c:5662 + msgid "esabpc" + msgstr "rspbgv" + +-#: ncrypt/crypt_gpgme.c:5589 ++#: ncrypt/crypt_gpgme.c:5669 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime or (c)lear?" + msgstr "PGP šif(r)ovať, podpí(s)ať, (p)odpísať ako, o(b)e, s/(m)ime, alebo (v)yčistiť?" + + #. L10N: PGP options +-#: ncrypt/crypt_gpgme.c:5591 ++#: ncrypt/crypt_gpgme.c:5671 + msgid "esabmc" + msgstr "rspbmv" + +-#: ncrypt/crypt_gpgme.c:5751 ++#: ncrypt/crypt_gpgme.c:5831 + msgid "Failed to verify sender" + msgstr "Nepodarilo sa overiť odosielateľa." + +-#: ncrypt/crypt_gpgme.c:5754 ++#: ncrypt/crypt_gpgme.c:5834 + msgid "Failed to figure out sender" + msgstr "Nepodarilo sa zistiť odosielateľa." + +-#: ncrypt/pgp.c:108 ++#: ncrypt/pgp.c:107 + msgid "Enter PGP passphrase:" + msgstr "Zadajte frázu hesla PGP:" + +-#: ncrypt/pgp.c:595 ++#: ncrypt/pgp.c:594 + msgid "[-- Error: unable to create PGP subprocess --]\n" + msgstr "[-- Chyba: nemožno vytvoriť podproces PGP --]\n" + +-#: ncrypt/pgp.c:644 ncrypt/pgp.c:926 ncrypt/pgp.c:1086 ++#: ncrypt/pgp.c:643 ncrypt/pgp.c:925 ncrypt/pgp.c:1085 + msgid "" + "[-- End of PGP output --]\n" + "\n" +@@ -4524,16 +4601,16 @@ msgstr "" + #. L10N: You will see this error message if (1) you are decrypting + #. (not encrypting) something and (2) it is a plaintext. So the + #. message does not mean "You failed to encrypt the message." +-#: ncrypt/pgp.c:724 ++#: ncrypt/pgp.c:723 + #, fuzzy + msgid "PGP message is not encrypted" + msgstr "PGP správa bola úspešne dešifrovaná" + +-#: ncrypt/pgp.c:978 ++#: ncrypt/pgp.c:977 + msgid "Internal error. Please submit a bug report." + msgstr "" + +-#: ncrypt/pgp.c:1043 ++#: ncrypt/pgp.c:1042 + msgid "" + "[-- Error: could not create a PGP subprocess --]\n" + "\n" +@@ -4541,133 +4618,133 @@ msgstr "" + "[-- Chyba: nemožno vytvoriť podproces PGP --]\n" + "\n" + +-#: ncrypt/pgp.c:1073 ncrypt/pgp.c:1098 ncrypt/smime.c:2143 postpone.c:757 +-#: postpone.c:785 ++#: ncrypt/pgp.c:1072 ncrypt/pgp.c:1097 ncrypt/smime.c:2177 postpone.c:803 ++#: postpone.c:831 + msgid "Decryption failed" + msgstr "Dešifrovanie zlyhalo" + +-#: ncrypt/pgp.c:1333 ++#: ncrypt/pgp.c:1334 + msgid "Can't open PGP subprocess" + msgstr "Nemožno otvoriť podproces PGP" + +-#: ncrypt/pgp.c:1768 ++#: ncrypt/pgp.c:1770 + msgid "Can't invoke PGP" + msgstr "" + + #. L10N: The next string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1875 ++#: ncrypt/pgp.c:1877 + msgid "PGP/M(i)ME" + msgstr "" + + #. L10N: The previous string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1881 ++#: ncrypt/pgp.c:1883 + msgid "(i)nline" + msgstr "" + + #. L10N: PGP options (inline) (opportunistic encryption is on) +-#: ncrypt/pgp.c:1893 ++#: ncrypt/pgp.c:1895 + #, fuzzy, c-format + msgid "PGP (s)ign, sign (a)s, %s format, (c)lear, or (o)ppenc mode off?" + msgstr "(e)-šifr, (s)-podp, podp (a)ko, o(b)e, (i)nline, alebo (f)-zabudnúť na to?" + + #. L10N: PGP options (inline) (opportunistic encryption is on) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1899 ++#: ncrypt/pgp.c:1901 + msgid "saico" + msgstr "esabif" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1905 ++#: ncrypt/pgp.c:1907 + #, fuzzy + msgid "PGP (s)ign, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "(e)-šifr, (s)-podp, podp (a)ko, o(b)e, (i)nline, alebo (f)-zabudnúť na to?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1907 ++#: ncrypt/pgp.c:1909 + msgid "saco" + msgstr "esabif" + + #. L10N: PGP options (inline) (opportunistic encryption is off) +-#: ncrypt/pgp.c:1921 ++#: ncrypt/pgp.c:1923 + #, fuzzy, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, (c)lear, or (o)ppenc mode?" + msgstr "(e)-šifr, (s)-podp, podp (a)ko, o(b)e, (i)nline, alebo (f)-zabudnúť na to?" + + #. L10N: PGP options (inline) (opportunistic encryption is off) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1927 ++#: ncrypt/pgp.c:1929 + #, fuzzy + msgid "esabico" + msgstr "esabif" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1933 ++#: ncrypt/pgp.c:1935 + #, fuzzy + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "(e)-šifr, (s)-podp, podp (a)ko, o(b)e, (i)nline, alebo (f)-zabudnúť na to?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1936 ++#: ncrypt/pgp.c:1938 + #, fuzzy + msgid "esabco" + msgstr "esabif" + + #. L10N: PGP options (inline) +-#: ncrypt/pgp.c:1947 ++#: ncrypt/pgp.c:1949 + #, fuzzy, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, or (c)lear?" + msgstr "(e)-šifr, (s)-podp, podp (a)ko, o(b)e, (i)nline, alebo (f)-zabudnúť na to?" + + #. L10N: PGP options (inline) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1953 ++#: ncrypt/pgp.c:1955 + #, fuzzy + msgid "esabic" + msgstr "esabif" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1959 ++#: ncrypt/pgp.c:1961 + #, fuzzy + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (c)lear?" + msgstr "(e)-šifr, (s)-podp, podp (a)ko, o(b)e, (i)nline, alebo (f)-zabudnúť na to?" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1961 ++#: ncrypt/pgp.c:1963 + #, fuzzy + msgid "esabc" + msgstr "esabif" + +-#: ncrypt/pgpinvoke.c:458 ++#: ncrypt/pgpinvoke.c:461 + #, fuzzy + msgid "Fetching PGP key..." + msgstr "Vyvolávam správu..." + +-#: ncrypt/pgpkey.c:640 ++#: ncrypt/pgpkey.c:643 + msgid "All matching keys are expired, revoked, or disabled" + msgstr "" + +-#: ncrypt/pgpkey.c:681 ++#: ncrypt/pgpkey.c:714 + #, fuzzy, c-format + msgid "PGP keys matching <%s>" + msgstr "Kľúče PGP zhodujúce sa " + +-#: ncrypt/pgpkey.c:683 ++#: ncrypt/pgpkey.c:716 + #, fuzzy, c-format + msgid "PGP keys matching \"%s\"" + msgstr "Kľúče PGP zhodujúce sa " + +-#: ncrypt/pgpkey.c:700 ncrypt/pgpkey.c:909 ++#: ncrypt/pgpkey.c:733 ncrypt/pgpkey.c:944 + msgid "Can't open /dev/null" + msgstr "Nemožno otvoriť /dev/null" + +-#: ncrypt/pgpkey.c:938 ++#: ncrypt/pgpkey.c:973 + #, fuzzy, c-format + msgid "PGP Key %s" + msgstr "PGP kľúč 0x%s" + +-#: ncrypt/smime.c:182 ++#: ncrypt/smime.c:180 + msgid "Enter S/MIME passphrase:" + msgstr "Zadajte frázu hesla S/MIME:" + +@@ -4676,7 +4753,7 @@ msgstr "Zadajte frázu hesla S/MIME:" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:460 ++#: ncrypt/smime.c:462 + #, fuzzy + msgid "Expired " + msgstr "Koniec " +@@ -4686,7 +4763,7 @@ msgstr "Koniec " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:468 ++#: ncrypt/smime.c:470 + #, fuzzy + msgid "Invalid " + msgstr "Neplatný mesiac: %s" +@@ -4696,7 +4773,7 @@ msgstr "Neplatný mesiac: %s" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:476 ++#: ncrypt/smime.c:478 + msgid "Revoked " + msgstr "" + +@@ -4705,7 +4782,7 @@ msgstr "" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:484 ++#: ncrypt/smime.c:486 + msgid "Trusted " + msgstr "" + +@@ -4714,7 +4791,7 @@ msgstr "" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:492 ++#: ncrypt/smime.c:494 + msgid "Unverified" + msgstr "" + +@@ -4723,7 +4800,7 @@ msgstr "" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:500 ++#: ncrypt/smime.c:502 + msgid "Verified " + msgstr "" + +@@ -4732,63 +4809,63 @@ msgstr "" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:508 ++#: ncrypt/smime.c:510 + #, fuzzy + msgid "Unknown " + msgstr "neznáma chyba" + +-#: ncrypt/smime.c:545 ++#: ncrypt/smime.c:547 + #, fuzzy, c-format + msgid "S/MIME certificates matching \"%s\"" + msgstr "Kľúče S/MIME zhodujúce sa " + +-#: ncrypt/smime.c:589 ++#: ncrypt/smime.c:621 + #, fuzzy + msgid "ID is not trusted. Do you really want to use the key?" + msgstr "Toto ID nie je dôveryhodné. Chcete naozaj použiť tento kľúč?" + +-#: ncrypt/smime.c:910 ++#: ncrypt/smime.c:944 + msgid "Enter keyID: " + msgstr "Zadajte ID kľúča: " + +-#: ncrypt/smime.c:1055 ++#: ncrypt/smime.c:1089 + #, c-format + msgid "No (valid) certificate found for %s" + msgstr "" + +-#: ncrypt/smime.c:1108 ncrypt/smime.c:1137 ncrypt/smime.c:1209 +-#: ncrypt/smime.c:1243 ncrypt/smime.c:1319 ncrypt/smime.c:1399 ++#: ncrypt/smime.c:1142 ncrypt/smime.c:1171 ncrypt/smime.c:1243 ++#: ncrypt/smime.c:1277 ncrypt/smime.c:1353 ncrypt/smime.c:1433 + #, fuzzy + msgid "Error: unable to create OpenSSL subprocess" + msgstr "Chyba: nemožno vytvoriť podproces OpenSSL" + +-#: ncrypt/smime.c:1379 ++#: ncrypt/smime.c:1413 + #, fuzzy + msgid "Label for certificate: " + msgstr "nemožno určiť domáci adresár" + +-#: ncrypt/smime.c:1480 ++#: ncrypt/smime.c:1514 + #, fuzzy + msgid "no certfile" + msgstr "Nemožno vytvoriť filter." + +-#: ncrypt/smime.c:1483 ++#: ncrypt/smime.c:1517 + msgid "no mbox" + msgstr "žiadna schránka" + +-#: ncrypt/smime.c:1640 ncrypt/smime.c:1810 ++#: ncrypt/smime.c:1674 ncrypt/smime.c:1844 + msgid "No output from OpenSSL..." + msgstr "" + +-#: ncrypt/smime.c:1727 ++#: ncrypt/smime.c:1761 + msgid "Can't sign: No key specified. Use Sign As." + msgstr "" + +-#: ncrypt/smime.c:1777 ++#: ncrypt/smime.c:1811 + msgid "Can't open OpenSSL subprocess" + msgstr "Nemožno otvoriť podproces OpenSSL" + +-#: ncrypt/smime.c:2004 ncrypt/smime.c:2123 ++#: ncrypt/smime.c:2038 ncrypt/smime.c:2157 + #, fuzzy + msgid "" + "[-- End of OpenSSL output --]\n" +@@ -4797,26 +4874,26 @@ msgstr "" + "[-- Koniec výstupu OpenSSL --]\n" + "\n" + +-#: ncrypt/smime.c:2080 ncrypt/smime.c:2093 ++#: ncrypt/smime.c:2114 ncrypt/smime.c:2127 + #, fuzzy + msgid "[-- Error: unable to create OpenSSL subprocess --]\n" + msgstr "[-- Chyba: nemožno vytvoriť podproces OpenSSL --]\n" + +-#: ncrypt/smime.c:2129 ++#: ncrypt/smime.c:2163 + #, fuzzy + msgid "[-- The following data is S/MIME encrypted --]\n" + msgstr "" + "[-- Nasledujúce dáta sú šifrované pomocou S/MIME --]\n" + "\n" + +-#: ncrypt/smime.c:2132 ++#: ncrypt/smime.c:2166 + #, fuzzy + msgid "[-- The following data is S/MIME signed --]\n" + msgstr "" + "[-- Nasledujúce dáta sú podpísané s S/MIME --]\n" + "\n" + +-#: ncrypt/smime.c:2225 ++#: ncrypt/smime.c:2259 + #, fuzzy + msgid "" + "\n" +@@ -4825,7 +4902,7 @@ msgstr "" + "\n" + "[-- Koniec dát šifrovaných pomocou S/MIME --]\n" + +-#: ncrypt/smime.c:2227 ++#: ncrypt/smime.c:2261 + #, fuzzy + msgid "" + "\n" +@@ -4835,172 +4912,172 @@ msgstr "" + "[-- Koniec dát s podpisom S/MIME --]\n" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2361 ++#: ncrypt/smime.c:2395 + #, fuzzy + msgid "S/MIME (s)ign, encrypt (w)ith, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "(e)-šifr, (s)-podp, (w)-šifr s, podp (a)ko, o(b)e, alebo (f)-zabudnúť na to?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2364 ++#: ncrypt/smime.c:2398 + msgid "swaco" + msgstr "eswabf" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2372 ++#: ncrypt/smime.c:2406 + #, fuzzy + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "(e)-šifr, (s)-podp, (w)-šifr s, podp (a)ko, o(b)e, alebo (f)-zabudnúť na to?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2375 ++#: ncrypt/smime.c:2409 + #, fuzzy + msgid "eswabco" + msgstr "eswabf" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2382 ++#: ncrypt/smime.c:2416 + #, fuzzy + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, or (c)lear?" + msgstr "(e)-šifr, (s)-podp, (w)-šifr s, podp (a)ko, o(b)e, alebo (f)-zabudnúť na to?" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2385 ++#: ncrypt/smime.c:2419 + #, fuzzy + msgid "eswabc" + msgstr "eswabf" + +-#: ncrypt/smime.c:2449 ++#: ncrypt/smime.c:2483 + msgid "Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear?" + msgstr "" + + #. L10N: Options for: Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear? +-#: ncrypt/smime.c:2452 ++#: ncrypt/smime.c:2486 + msgid "123c" + msgstr "" + +-#: ncrypt/smime.c:2455 ++#: ncrypt/smime.c:2489 + msgid "(1) DES, (2) Triple-DES?" + msgstr "" + + #. L10N: Options for: (1) DES, (2) Triple-DES +-#: ncrypt/smime.c:2457 ++#: ncrypt/smime.c:2491 + msgid "12" + msgstr "" + +-#: ncrypt/smime.c:2470 ++#: ncrypt/smime.c:2504 + msgid "(1) RC2-40, (2) RC2-64, (3) RC2-128?" + msgstr "" + + #. L10N: Options for: (1) RC2-40, (2) RC2-64, (3) RC2-128 + #. L10N: Options for: (1) AES128, (2) AES192, (3) AES256 +-#: ncrypt/smime.c:2472 ncrypt/smime.c:2490 ++#: ncrypt/smime.c:2506 ncrypt/smime.c:2524 + msgid "123" + msgstr "" + +-#: ncrypt/smime.c:2488 ++#: ncrypt/smime.c:2522 + msgid "(1) AES128, (2) AES192, (3) AES256?" + msgstr "" + +-#: nntp/newsrc.c:632 ++#: nntp/newsrc.c:639 + msgid "Loading list of groups from cache..." + msgstr "" + +-#: nntp/newsrc.c:997 ++#: nntp/newsrc.c:1023 + #, fuzzy + msgid "No news server defined" + msgstr "Meno používateľa POP nie je definované." + +-#: nntp/newsrc.c:1012 ++#: nntp/newsrc.c:1041 + #, c-format + msgid "%s is an invalid news server specification" + msgstr "" + +-#: nntp/nntp.c:236 nntp/nntp.c:777 pop/pop.c:742 pop/pop_lib.c:398 ++#: nntp/nntp.c:238 nntp/nntp.c:779 pop/pop.c:742 pop/pop_lib.c:424 + msgid "Server closed connection" + msgstr "Server uzavrel spojenie" + +-#: nntp/nntp.c:340 ++#: nntp/nntp.c:342 + msgid "Server doesn't support reader mode" + msgstr "" + +-#: nntp/nntp.c:576 pop/pop_auth.c:504 smtp.c:650 ++#: nntp/nntp.c:578 pop/pop_auth.c:505 smtp.c:675 + msgid "No authenticators available" + msgstr "" + +-#: nntp/nntp.c:766 ++#: nntp/nntp.c:768 + #, fuzzy, c-format + msgid "%s authentication failed" + msgstr "Prihlasovanie zlyhalo" + +-#: nntp/nntp.c:826 ++#: nntp/nntp.c:828 + #, fuzzy, c-format + msgid "Connection to %s lost. Reconnect?" + msgstr "Spájam sa s %s..." + +-#: nntp/nntp.c:1285 ++#: nntp/nntp.c:1287 + #, fuzzy + msgid "Fetching list of articles..." + msgstr "Vyvolávam správu..." + +-#: nntp/nntp.c:1549 nntp/nntp.c:2138 pop/pop.c:614 pop/pop.c:910 ++#: nntp/nntp.c:1551 nntp/nntp.c:2140 pop/pop.c:614 pop/pop.c:905 + #, fuzzy + msgid "Checking for new messages..." + msgstr "Odsúvam správu ..." + +-#: nntp/nntp.c:1864 nntp/nntp.c:1954 ++#: nntp/nntp.c:1866 nntp/nntp.c:1956 + #, fuzzy + msgid "Could not switch to reader mode" + msgstr "Nemožno vytvoriť dočasný súbor!" + +-#: nntp/nntp.c:1877 ++#: nntp/nntp.c:1879 + #, fuzzy, c-format + msgid "Connected to %s. %s" + msgstr "Spájam sa s %s..." + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + #, fuzzy + msgid "Posting is ok" + msgstr "Spájam sa s %s.." + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + msgid "Posting is NOT ok" + msgstr "" + +-#: nntp/nntp.c:2008 nntp/nntp.c:2043 ++#: nntp/nntp.c:2010 nntp/nntp.c:2045 + #, fuzzy, c-format + msgid "Can't post article: %s" + msgstr "Nemožno zistiť stav: %s" + +-#: nntp/nntp.c:2064 ++#: nntp/nntp.c:2066 + #, fuzzy, c-format + msgid "Loading list of groups from server %s..." + msgstr "Vymazávam správy zo serveru..." + +-#: nntp/nntp.c:2106 nntp/nntp.c:2198 ++#: nntp/nntp.c:2108 nntp/nntp.c:2200 + #, fuzzy + msgid "Loading descriptions..." + msgstr "Prihlasujem sa..." + +-#: nntp/nntp.c:2128 ++#: nntp/nntp.c:2130 + #, fuzzy + msgid "Checking for new newsgroups..." + msgstr "Odsúvam správu ..." + +-#: nntp/nntp.c:2332 ++#: nntp/nntp.c:2334 + msgid "Unable to find child articles because server does not support XPAT command" + msgstr "" + +-#: nntp/nntp.c:2437 ++#: nntp/nntp.c:2439 + #, c-format + msgid "%s is an invalid newsgroup specification" + msgstr "" + +-#: nntp/nntp.c:2476 ++#: nntp/nntp.c:2478 + #, c-format + msgid "Newsgroup %s not found on the server" + msgstr "" + +-#: nntp/nntp.c:2498 ++#: nntp/nntp.c:2500 + #, c-format + msgid "Newsgroup %s has been removed from the server" + msgstr "" +@@ -5012,7 +5089,7 @@ msgstr "" + + #: notmuch/mutt_notmuch.c:219 notmuch/mutt_notmuch.c:1939 + #, c-format +-msgid "failed to parse notmuch uri: %s" ++msgid "failed to parse notmuch url: %s" + msgstr "" + + #: notmuch/mutt_notmuch.c:449 +@@ -6166,190 +6243,190 @@ msgstr "" + msgid "show S/MIME options" + msgstr "zobraziť S/MIME možnosti " + +-#: pager.c:222 ++#: pager.c:214 + #, fuzzy + msgid "Not available in this menu" + msgstr "V tejto schránke je nová pošta" + +-#: pager.c:229 ++#: pager.c:221 + msgid "PrevPg" + msgstr "PredSt" + +-#: pager.c:230 ++#: pager.c:222 + msgid "NextPg" + msgstr "ĎaľšSt" + +-#: pager.c:235 ++#: pager.c:227 + msgid "View Attachm." + msgstr "Pozri prílohu" + +-#: pager.c:238 pager.c:247 ++#: pager.c:230 pager.c:239 + msgid "Next" + msgstr "Ďaľší" + + #. L10N: Status bar message: the entire email is visible in the pager + #. L10N: Status bar message: all the emails are visible in the index +-#: pager.c:2180 status.c:278 ++#: pager.c:2136 status.c:278 + msgid "all" + msgstr "" + + #. L10N: Status bar message: the end of the email is visible in the pager + #. L10N: Status bar message: the end of the list emails is visible in the index +-#: pager.c:2182 status.c:276 ++#: pager.c:2138 status.c:276 + msgid "end" + msgstr "" + +-#: pager.c:2530 pager.c:2566 pager.c:2602 pager.c:2937 ++#: pager.c:2503 pager.c:2539 pager.c:2576 pager.c:2911 + msgid "Bottom of message is shown" + msgstr "Spodok správy je zobrazený" + +-#: pager.c:2543 pager.c:2573 pager.c:2580 pager.c:2590 ++#: pager.c:2516 pager.c:2546 pager.c:2553 pager.c:2564 + msgid "Top of message is shown" + msgstr "Vrch správy je zobrazený" + +-#: pager.c:2840 ++#: pager.c:2814 + msgid "Help is currently being shown" + msgstr "Pomoc sa akurát zobrazuje" + +-#: pager.c:2897 ++#: pager.c:2871 + msgid "No more quoted text" + msgstr "Nie je ďaľší citovaný text" + +-#: pager.c:2914 ++#: pager.c:2888 + msgid "No more unquoted text after quoted text" + msgstr "Žiadny ďaľší necitovaný text za citátom" + +-#: pattern.c:220 pattern.c:297 pattern.c:1046 ++#: pattern.c:221 pattern.c:298 pattern.c:1085 + #, c-format + msgid "Error in expression: %s" + msgstr "Chyba vo výraze: %s" + +-#: pattern.c:226 pattern.c:302 pattern.c:1052 ++#: pattern.c:227 pattern.c:303 pattern.c:1091 + #, fuzzy + msgid "Empty expression" + msgstr "chyba vo výraze" + +-#: pattern.c:288 ++#: pattern.c:289 + #, fuzzy + msgid "No search command defined" + msgstr "Príkaz otázky nie je definovaný" + +-#: pattern.c:326 ++#: pattern.c:327 + #, fuzzy, c-format + msgid "Running search command: %s ..." + msgstr "Vyvolávam príkaz na automatické prezeranie: %s" + +-#: pattern.c:417 ++#: pattern.c:441 pattern.c:456 + #, c-format + msgid "Invalid day of month: %s" + msgstr "Neplatný deň v mesiaci: %s" + +-#: pattern.c:431 ++#: pattern.c:446 pattern.c:470 + #, c-format + msgid "Invalid month: %s" + msgstr "Neplatný mesiac: %s" + +-#: pattern.c:534 ++#: pattern.c:573 + #, fuzzy, c-format + msgid "Invalid relative date: %s" + msgstr "Neplatný mesiac: %s" + +-#: pattern.c:842 pattern.c:975 ++#: pattern.c:881 pattern.c:1014 + #, fuzzy + msgid "No current message" + msgstr "Žiadne neprečítané správy." + +-#: pattern.c:1002 ++#: pattern.c:1041 + msgid "No Context" + msgstr "" + +-#: pattern.c:1125 ++#: pattern.c:1164 + #, fuzzy + msgid "Error opening 'memory stream'" + msgstr "Chyba pri zapisovaní do schránky!" + +-#: pattern.c:1171 ++#: pattern.c:1210 + #, fuzzy + msgid "Error re-opening 'memory stream'" + msgstr "Chyba pri zapisovaní do schránky!" + +-#: pattern.c:1180 ++#: pattern.c:1219 + #, fuzzy + msgid "Error opening /dev/null" + msgstr "Nemožno otvoriť /dev/null" + +-#: pattern.c:1443 pattern.c:1620 ++#: pattern.c:1482 pattern.c:1662 + #, c-format + msgid "error in pattern at: %s" + msgstr "chyba vo vzore na: %s" + +-#: pattern.c:1476 ++#: pattern.c:1515 + #, fuzzy, c-format + msgid "missing pattern: %s" + msgstr "chýbajúci parameter" + +-#: pattern.c:1494 pattern.c:1593 ++#: pattern.c:1533 pattern.c:1635 + #, c-format + msgid "mismatched parentheses: %s" + msgstr "nespárované zátvorky: %s" + +-#: pattern.c:1559 ++#: pattern.c:1598 + #, fuzzy, c-format + msgid "%c: invalid pattern modifier" + msgstr "%c: neplatný príkaz" + +-#: pattern.c:1564 ++#: pattern.c:1603 + #, c-format + msgid "%c: not supported in this mode" + msgstr "%c: nepodporovaný v tomto móde" + +-#: pattern.c:1576 ++#: pattern.c:1618 + msgid "missing parameter" + msgstr "chýbajúci parameter" + +-#: pattern.c:1626 ++#: pattern.c:1668 + msgid "empty pattern" + msgstr "prázdny vzor" + +-#: pattern.c:2080 pattern.c:2083 ++#: pattern.c:2202 pattern.c:2205 + msgid "error: server custom search only supported with IMAP" + msgstr "" + +-#: pattern.c:2274 ++#: pattern.c:2398 + #, c-format + msgid "error: unknown op %d (report this error)" + msgstr "chyba: neznámy operand %d (oznámte túto chybu)" + +-#: pattern.c:2448 pattern.c:2604 ++#: pattern.c:2572 pattern.c:2728 + msgid "Compiling search pattern..." + msgstr "Kompilujem vyhľadávací vzor..." + +-#: pattern.c:2468 ++#: pattern.c:2592 + msgid "Executing command on matching messages..." + msgstr "Vykonávam príkaz na nájdených správach..." + +-#: pattern.c:2537 ++#: pattern.c:2661 + msgid "No messages matched criteria" + msgstr "Žiadne správy nesplnili kritérium" + +-#: pattern.c:2641 ++#: pattern.c:2765 + #, fuzzy + msgid "Searching..." + msgstr "Ukladám..." + +-#: pattern.c:2655 ++#: pattern.c:2779 + msgid "Search hit bottom without finding match" + msgstr "Hľadanie narazilo na spodok bez nájdenia zhody" + +-#: pattern.c:2666 ++#: pattern.c:2790 + msgid "Search hit top without finding match" + msgstr "Hľadanie narazilo na vrchol bez nájdenia zhody" + +-#: pattern.c:2700 ++#: pattern.c:2824 + msgid "Search interrupted" + msgstr "Hľadanie bolo prerušené" + +-#: pop/pop.c:216 pop/pop_lib.c:234 ++#: pop/pop.c:216 pop/pop_lib.c:259 + #, fuzzy + msgid "Command TOP is not supported by server" + msgstr "Označovanie nie je podporované" +@@ -6359,7 +6436,7 @@ msgstr "Označovanie nie je podporované" + msgid "Can't write header to temporary file" + msgstr "Nemožno vytvoriť dočasný súbor" + +-#: pop/pop.c:420 pop/pop_lib.c:236 ++#: pop/pop.c:420 pop/pop_lib.c:261 + #, fuzzy + msgid "Command UIDL is not supported by server" + msgstr "Označovanie nie je podporované" +@@ -6376,7 +6453,7 @@ msgstr[2] "" + msgid "POP host is not defined" + msgstr "Hostiteľ POP nie je definovaný" + +-#: pop/pop.c:596 pop/pop.c:825 ++#: pop/pop.c:596 pop/pop.c:790 pop/pop.c:820 + #, c-format + msgid "%s is an invalid POP path" + msgstr "" +@@ -6412,138 +6489,138 @@ msgstr[0] "%s [prečítaných správ: %d]" + msgstr[1] "%s [prečítaných správ: %d]" + msgstr[2] "%s [prečítaných správ: %d]" + +-#: pop/pop.c:876 ++#: pop/pop.c:871 + #, fuzzy + msgid "Fetching list of messages..." + msgstr "Vyvolávam správu..." + +-#: pop/pop.c:959 ++#: pop/pop.c:954 + #, fuzzy + msgid "Marking messages deleted..." + msgstr "Čítam %d nových správ (%d bytov)..." + +-#: pop/pop.c:1150 ++#: pop/pop.c:1145 + #, fuzzy + msgid "Can't write message to temporary file" + msgstr "Nemožno vytvoriť dočasný súbor" + +-#: pop/pop_auth.c:103 ++#: pop/pop_auth.c:104 + msgid "Authenticating (SASL)..." + msgstr "" + +-#: pop/pop_auth.c:245 ++#: pop/pop_auth.c:246 + msgid "POP timestamp is invalid" + msgstr "" + +-#: pop/pop_auth.c:249 ++#: pop/pop_auth.c:250 + msgid "Authenticating (APOP)..." + msgstr "" + +-#: pop/pop_auth.c:269 ++#: pop/pop_auth.c:270 + msgid "APOP authentication failed" + msgstr "" + +-#: pop/pop_auth.c:309 ++#: pop/pop_auth.c:310 + #, fuzzy + msgid "Command USER is not supported by server" + msgstr "Označovanie nie je podporované" + +-#: pop/pop_auth.c:386 ++#: pop/pop_auth.c:387 + #, fuzzy + msgid "Authentication failed" + msgstr "Prihlasovanie zlyhalo." + +-#: pop/pop_lib.c:78 ++#: pop/pop_lib.c:103 + #, fuzzy, c-format + msgid "Invalid POP URL: %s" + msgstr "Neplatný mesiac: %s" + +-#: pop/pop_lib.c:232 ++#: pop/pop_lib.c:257 + #, fuzzy + msgid "Unable to leave messages on server" + msgstr "Vymazávam správy zo serveru.." + +-#: pop/pop_lib.c:274 ++#: pop/pop_lib.c:300 + #, fuzzy, c-format + msgid "Error connecting to server: %s" + msgstr "Pripájam sa na %s" + +-#: pop/pop_lib.c:414 ++#: pop/pop_lib.c:440 + #, fuzzy + msgid "Closing connection to POP server..." + msgstr "Zatváram spojenie s IMAP serverom..." + +-#: pop/pop_lib.c:605 ++#: pop/pop_lib.c:631 + #, fuzzy + msgid "Verifying message indexes..." + msgstr "Zapisujem správu do %s ..." + +-#: pop/pop_lib.c:628 ++#: pop/pop_lib.c:654 + #, fuzzy + msgid "Connection lost. Reconnect to POP server?" + msgstr "Zatváram spojenie s IMAP serverom..." + +-#: postpone.c:229 ++#: postpone.c:260 + msgid "Postponed Messages" + msgstr "Odložené správy" + +-#: postpone.c:314 postpone.c:326 ++#: postpone.c:348 postpone.c:372 + msgid "No postponed messages" + msgstr "Žiadne odložené správy" + +-#: postpone.c:480 ++#: postpone.c:526 + #, fuzzy + msgid "Illegal S/MIME header" + msgstr "Neplatná hlavička S/MIME" + +-#: postpone.c:510 postpone.c:551 postpone.c:560 ++#: postpone.c:556 postpone.c:597 postpone.c:606 + #, fuzzy + msgid "Illegal crypto header" + msgstr "Neplatná hlavička PGP" + +-#: postpone.c:644 postpone.c:752 postpone.c:780 ++#: postpone.c:690 postpone.c:798 postpone.c:826 + #, fuzzy + msgid "Decrypting message..." + msgstr "Vyvolávam správu..." + +-#: query.c:82 ++#: query.c:80 + msgid "New Query" + msgstr "Nová otázka" + +-#: query.c:83 ++#: query.c:81 + msgid "Make Alias" + msgstr "Urobiť alias" + +-#: query.c:180 ++#: query.c:178 + msgid "Waiting for response..." + msgstr "Čakám na odpoveď..." + +-#: query.c:362 query.c:400 ++#: query.c:365 query.c:434 + msgid "Query: " + msgstr "Otázka: " + +-#: query.c:370 query.c:407 ++#: query.c:374 query.c:442 + #, c-format + msgid "Query '%s'" + msgstr "Otázka '%s'" + +-#: query.c:620 query.c:657 ++#: query.c:661 query.c:698 + msgid "Query command not defined" + msgstr "Príkaz otázky nie je definovaný" + +-#: recvattach.c:93 ++#: recvattach.c:91 + msgid "Pipe" + msgstr "Presmerovať" + +-#: recvattach.c:94 ++#: recvattach.c:92 + msgid "Print" + msgstr "Tlačiť" + +-#: recvattach.c:569 ++#: recvattach.c:571 + msgid "Saving..." + msgstr "Ukladám..." + +-#: recvattach.c:573 recvattach.c:744 recvattach.c:748 ++#: recvattach.c:575 recvattach.c:746 recvattach.c:750 + #, fuzzy, c-format + msgid "Attachment saved" + msgid_plural "%d attachments saved" +@@ -6551,26 +6628,26 @@ msgstr[0] "Pripojené dáta boli uložené" + msgstr[1] "Pripojené dáta boli uložené" + msgstr[2] "Pripojené dáta boli uložené" + +-#: recvattach.c:772 ++#: recvattach.c:774 + #, c-format + msgid "WARNING! You are about to overwrite %s, continue?" + msgstr "VAROVANIE! Môžete prepísať %s, pokračovať?" + +-#: recvattach.c:790 ++#: recvattach.c:792 + msgid "Attachment filtered" + msgstr "Príloha bola prefiltrovaná" + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Filter through: " + msgstr "Filtrovať cez: " + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Pipe to: " + msgstr "Presmerovať do: " + + #. L10N: s gets replaced by a MIME type, e.g. "text/plain" or + #. application/octet-stream. +-#: recvattach.c:935 ++#: recvattach.c:937 + #, fuzzy, c-format + msgid "I don't know how to print %s attachments" + msgstr "Neviem ako tlačiť prílohy %s" +@@ -6578,7 +6655,7 @@ msgstr "Neviem ako tlačiť prílohy %s" + #. L10N: Although we now the precise number of tagged messages, we + #. do not show it to the user. So feel free to use a "generic + #. plural" as plural translation if your language has one. +-#: recvattach.c:1038 ++#: recvattach.c:1040 + #, fuzzy, c-format + msgid "Print tagged attachment?" + msgid_plural "Print %d tagged attachments?" +@@ -6586,54 +6663,54 @@ msgstr[0] "Vytlačiť označené prílohy?" + msgstr[1] "Vytlačiť označené prílohy?" + msgstr[2] "Vytlačiť označené prílohy?" + +-#: recvattach.c:1039 ++#: recvattach.c:1041 + #, c-format + msgid "Print attachment?" + msgstr "Vytlačiť prílohu?" + +-#: recvattach.c:1123 ++#: recvattach.c:1125 + msgid "Structural changes to decrypted attachments are not supported" + msgstr "" + +-#: recvattach.c:1291 ++#: recvattach.c:1293 + #, fuzzy + msgid "Can't decrypt encrypted message" + msgstr "použiť ďaľšiu funkciu na označené správy" + +-#: recvattach.c:1425 ++#: recvattach.c:1457 + msgid "Attachments" + msgstr "Prílohy" + +-#: recvattach.c:1465 ++#: recvattach.c:1497 + #, fuzzy + msgid "There are no subparts to show" + msgstr "Vlákno obsahuje nečítané správy." + +-#: recvattach.c:1520 ++#: recvattach.c:1552 + #, fuzzy + msgid "Can't delete attachment from POP server" + msgstr "vybrať poštu z POP serveru" + +-#: recvattach.c:1529 ++#: recvattach.c:1561 + #, fuzzy + msgid "Can't delete attachment from news server" + msgstr "vybrať poštu z POP serveru" + +-#: recvattach.c:1536 ++#: recvattach.c:1568 + #, fuzzy + msgid "Deletion of attachments from encrypted messages is unsupported" + msgstr "Mazanie príloh z PGP správ nie je podporované" + +-#: recvattach.c:1542 ++#: recvattach.c:1574 + #, fuzzy + msgid "Deletion of attachments from signed messages may invalidate the signature" + msgstr "Mazanie príloh z PGP správ nie je podporované" + +-#: recvattach.c:1561 recvattach.c:1578 ++#: recvattach.c:1593 recvattach.c:1610 + msgid "Only deletion of multipart attachments is supported" + msgstr "je podporované iba mazanie viaczložkových príloh" + +-#: recvcmd.c:79 ++#: recvcmd.c:78 + msgid "You may only bounce message/rfc822 parts" + msgstr "Presmerovať môžete iba časti message/rfc822" + +@@ -6673,7 +6750,7 @@ msgstr "Nemožno vytvoriť %s" + msgid "Can't find any tagged messages" + msgstr "použiť ďaľšiu funkciu na označené správy" + +-#: recvcmd.c:848 send.c:1073 ++#: recvcmd.c:848 send.c:1072 + msgid "No mailing lists found" + msgstr "Nenájdené žiadne poštové zoznamy" + +@@ -6688,70 +6765,70 @@ msgstr "" + msgid "You may only compose to sender with message/rfc822 parts" + msgstr "Presmerovať môžete iba časti message/rfc822" + +-#: remailer.c:76 ++#: remailer.c:74 + #, fuzzy + msgid "Append" + msgstr "Poslať" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Insert" + msgstr "" + +-#: remailer.c:78 ++#: remailer.c:76 + msgid "OK" + msgstr "" + +-#: remailer.c:210 ++#: remailer.c:207 + msgid "" + msgstr "" + +-#: remailer.c:586 ++#: remailer.c:617 + msgid "Can't get mixmaster's type2.list" + msgstr "" + +-#: remailer.c:612 ++#: remailer.c:673 + #, fuzzy + msgid "Select a remailer chain" + msgstr "zmazať všetky znaky v riadku" + +-#: remailer.c:674 ++#: remailer.c:735 + #, c-format + msgid "Error: %s can't be used as the final remailer of a chain" + msgstr "" + + #. L10N The '%d' here hard-coded to 19 +-#: remailer.c:706 ++#: remailer.c:767 + #, c-format + msgid "Mixmaster chains are limited to %d elements" + msgstr "" + +-#: remailer.c:729 ++#: remailer.c:790 + msgid "The remailer chain is already empty" + msgstr "" + +-#: remailer.c:739 ++#: remailer.c:800 + #, fuzzy + msgid "You already have the first chain element selected" + msgstr "Ste na prvej správe" + +-#: remailer.c:749 ++#: remailer.c:810 + msgid "You already have the last chain element selected" + msgstr "" + +-#: remailer.c:792 ++#: remailer.c:856 + msgid "Mixmaster doesn't accept Cc or Bcc headers" + msgstr "" + +-#: remailer.c:817 ++#: remailer.c:881 + msgid "Please set the hostname variable to a proper value when using mixmaster" + msgstr "" + +-#: remailer.c:860 ++#: remailer.c:924 + #, fuzzy, c-format + msgid "Error sending message, child exited %d.\n" + msgstr "Chyba pri posielaní správy, dcérsky proces vrátil %d (%s).\n" + +-#: remailer.c:864 ++#: remailer.c:928 + msgid "Error sending message" + msgstr "Chyba pri posielaní správy" + +@@ -6782,44 +6859,44 @@ msgstr "zobraziť prílohy MIME" + + #. L10N: Asks whether the user respects the reply-to header. + #. If she says no, neomutt will reply to the from header's address instead. +-#: send.c:793 ++#: send.c:792 + #, c-format + msgid "Reply to %s%s?" + msgstr "Odpovedať na adresu %s%s?" + +-#: send.c:838 ++#: send.c:837 + #, fuzzy, c-format + msgid "Follow-up to %s%s?" + msgstr "Odpovedať na adresu %s%s?" + +-#: send.c:1122 ++#: send.c:1121 + msgid "Include message in reply?" + msgstr "Priložiť správu do odpovede?" + +-#: send.c:1128 ++#: send.c:1127 + #, fuzzy + msgid "Including quoted message..." + msgstr "Posielam správu..." + +-#: send.c:1137 ++#: send.c:1136 + msgid "Could not include all requested messages" + msgstr "Nemožno pripojiť všetky požadované správy" + +-#: send.c:1148 ++#: send.c:1147 + msgid "Forward as attachment?" + msgstr "Preposlať prílohu?" + +-#: send.c:1153 ++#: send.c:1152 + #, fuzzy + msgid "Preparing forwarded message..." + msgstr "Odsúvam správu ..." + +-#: send.c:1632 ++#: send.c:1631 + #, fuzzy + msgid "Fcc to an IMAP mailbox is not supported in batch mode" + msgstr "%c: nepodporovaný v tomto móde" + +-#: send.c:1664 send.c:1690 ++#: send.c:1665 send.c:1675 send.c:1701 + #, fuzzy + msgid "Save attachments in Fcc?" + msgstr "prezri prílohu ako text" +@@ -6828,197 +6905,197 @@ msgstr "prezri prílohu ako text" + #. (r)etry tries the same mailbox again. + #. alternate (m)ailbox prompts for a different mailbox to try. + #. (s)kip aborts saving. +-#: send.c:1712 ++#: send.c:1723 + msgid "Fcc failed. (r)etry, alternate (m)ailbox, or (s)kip?" + msgstr "" + + #. L10N: These correspond to the "Fcc failed" multi-choice prompt + #. (r)etry, alternate (m)ailbox, or (s)kip. + #. Any similarity to famous leaders of the FSF is coincidental. +-#: send.c:1716 ++#: send.c:1727 + msgid "rms" + msgstr "" + + #. L10N: This is the prompt to enter an "alternate (m)ailbox" when the + #. initial Fcc fails. +-#: send.c:1722 ++#: send.c:1733 + #, fuzzy + msgid "Fcc mailbox" + msgstr "Žiadna schránka.\n" + +-#: send.c:1788 ++#: send.c:1799 + msgid "Can't postpone. $postponed is unset" + msgstr "" + +-#: send.c:1923 ++#: send.c:1934 + msgid "Recall postponed message?" + msgstr "Vyvolať odloženú správu?" + +-#: send.c:2228 ++#: send.c:2239 + #, fuzzy + msgid "Edit forwarded message?" + msgstr "Odsúvam správu ..." + +-#: send.c:2266 ++#: send.c:2277 + msgid "Abort unmodified message?" + msgstr "Zrušiť nezmenenú správu?" + +-#: send.c:2268 ++#: send.c:2279 + msgid "Aborted unmodified message" + msgstr "Nezmenená správa bola zrušená" + +-#: send.c:2388 ++#: send.c:2399 + msgid "No crypto backend configured. Disabling message security setting." + msgstr "" + +-#: send.c:2427 ++#: send.c:2438 + #, fuzzy + msgid "Article not posted" + msgstr "Pošta nebola odoslaná" + +-#: send.c:2437 ++#: send.c:2448 + msgid "Message postponed" + msgstr "Správa bola odložená" + +-#: send.c:2470 ++#: send.c:2481 + msgid "No subject, abort sending?" + msgstr "Žiadny predmet, zrušiť posielanie?" + +-#: send.c:2474 send.c:2480 ++#: send.c:2485 send.c:2491 + msgid "No subject specified" + msgstr "Nebol uvedený predmet" + +-#: send.c:2486 ++#: send.c:2497 + #, fuzzy + msgid "No newsgroup specified" + msgstr "Nebol uvedený predmet" + +-#: send.c:2496 ++#: send.c:2507 + #, fuzzy + msgid "No attachments, cancel sending?" + msgstr "upraviť kódovanie dát prílohy" + +-#: send.c:2501 ++#: send.c:2512 + msgid "Message contains text matching \"$abort_noattach_regex\". Not sending." + msgstr "" + +-#: send.c:2559 smtp.c:227 ++#: send.c:2570 smtp.c:230 + msgid "Sending message..." + msgstr "Posielam správu..." + +-#: send.c:2598 ++#: send.c:2609 + msgid "Could not send the message" + msgstr "Nemožno poslať správu" + +-#: send.c:2608 ++#: send.c:2619 + msgid "Sending in background" + msgstr "" + +-#: send.c:2609 ++#: send.c:2620 + msgid "Article posted" + msgstr "" + +-#: send.c:2610 ++#: send.c:2621 + msgid "Mail sent" + msgstr "Správa bola odoslaná" + +-#: sendlib.c:567 ++#: sendlib.c:566 + msgid "No boundary parameter found [report this error]" + msgstr "Nenájdený parameter ohraničenia (boundary) [ohláste túto chybu]" + +-#: sendlib.c:598 ++#: sendlib.c:597 + #, c-format + msgid "%s no longer exists" + msgstr "%s už viac neexistuje" + +-#: sendlib.c:1056 ++#: sendlib.c:1055 + #, c-format + msgid "%s isn't a regular file" + msgstr "%s nie je súbor" + +-#: sendlib.c:1223 ++#: sendlib.c:1222 + #, fuzzy + msgid "Could not find any mime.types file." + msgstr "Nemožno náisť žiaden mime.types súbor." + +-#: sendlib.c:1314 ++#: sendlib.c:1313 + #, c-format + msgid "Could not open %s" + msgstr "Nemožno otvoriť %s" + +-#: sendlib.c:2864 ++#: sendlib.c:2855 + msgid "$sendmail must be set in order to send mail" + msgstr "" + +-#: sendlib.c:2971 ++#: sendlib.c:2962 + #, c-format + msgid "Error sending message, child exited %d (%s)" + msgstr "Chyba pri posielaní správy, dcérsky proces vrátil %d (%s)" + +-#: sendlib.c:2977 ++#: sendlib.c:2969 + msgid "Output of the delivery process" + msgstr "" + +-#: sendlib.c:3157 ++#: sendlib.c:3154 + #, c-format + msgid "Bad IDN %s while preparing resent-from" + msgstr "" + +-#: smtp.c:165 ++#: smtp.c:168 + #, fuzzy, c-format + msgid "SMTP session failed: %s" + msgstr "Prihlasovanie zlyhalo." + +-#: smtp.c:222 ++#: smtp.c:225 + #, fuzzy, c-format + msgid "SMTP session failed: unable to open %s" + msgstr "Prihlasovanie zlyhalo." + +-#: smtp.c:339 ++#: smtp.c:364 + #, fuzzy, c-format + msgid "Invalid SMTP URL: %s" + msgstr "Neplatný mesiac: %s" + +-#: smtp.c:618 ++#: smtp.c:643 + #, c-format + msgid "SMTP authentication method %s requires SASL" + msgstr "" + +-#: smtp.c:625 ++#: smtp.c:650 + #, fuzzy, c-format + msgid "%s authentication failed, trying next method" + msgstr "Prihlasovanie zlyhalo." + +-#: smtp.c:636 ++#: smtp.c:661 + #, fuzzy + msgid "SMTP authentication requires SASL" + msgstr "Prihlasovanie zlyhalo." + +-#: smtp.c:717 ++#: smtp.c:742 + msgid "SMTP server does not support authentication" + msgstr "" + +-#: smtp.c:756 ++#: smtp.c:781 + msgid "No from address given" + msgstr "" + +-#: smtp.c:821 ++#: smtp.c:846 + msgid "SMTP session failed: read error" + msgstr "" + +-#: smtp.c:823 ++#: smtp.c:848 + msgid "SMTP session failed: write error" + msgstr "" + +-#: smtp.c:825 ++#: smtp.c:850 + msgid "Invalid server response" + msgstr "" + +-#: sort.c:385 ++#: sort.c:387 + msgid "Sorting mailbox..." + msgstr "Triedim schránku..." + +-#: sort.c:427 ++#: sort.c:429 + msgid "Could not find sorting function [report this bug]" + msgstr "Nemožno nájsť triediacu funkciu [oznámte túto chybu]" + +@@ -7070,11 +7147,11 @@ msgstr "" + "NeoMutt je voľný program, a ste vítaný šíriť ho\n" + "za určitých podmienok; napíšte 'neomutt -vv' pre detaily.\n" + +-#: version.c:446 ++#: version.c:451 + #, fuzzy + msgid "Default options:" + msgstr "Nastavenia kompilácie:" + +-#: version.c:449 ++#: version.c:454 + msgid "Compile options:" + msgstr "Nastavenia kompilácie:" +diff --git a/po/sv.po b/po/sv.po +index b6c723a6f..fd0ee5941 100644 +--- a/po/sv.po ++++ b/po/sv.po +@@ -9,7 +9,7 @@ msgid "" + msgstr "" + "Project-Id-Version: neomutt-2019-12-07\n" + "Report-Msgid-Bugs-To: neomutt-devel@neomutt.org\n" +-"POT-Creation-Date: 2019-12-06 23:10+0000\n" ++"POT-Creation-Date: 2020-03-09 12:15+0000\n" + "PO-Revision-Date: 2007-12-15 14:05+0100\n" + "Last-Translator: Johan Svedberg \n" + "Language-Team: Swedish \n" +@@ -19,16 +19,44 @@ msgstr "" + "Content-Transfer-Encoding: 8bit\n" + "Plural-Forms: nplurals=2; plural=(n != 1);\n" + +-#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:59 browser.c:80 browser.c:90 +-#: mutt_history.c:45 pager.c:228 postpone.c:68 query.c:80 recvattach.c:93 ++#, fuzzy ++msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" ++msgstr "(f)örkasta, (g)odkänn den här gången, godkänn (v)arje gång" ++ ++#, fuzzy ++msgid "roas" ++msgstr "fgv" ++ ++msgid "(r)eject, accept (o)nce, (a)ccept always" ++msgstr "(f)örkasta, (g)odkänn den här gången, godkänn (v)arje gång" ++ ++msgid "roa" ++msgstr "fgv" ++ ++#, fuzzy ++msgid "(r)eject, accept (o)nce, (s)kip" ++msgstr "(f)örkasta, (g)odkänn den här gången" ++ ++#, fuzzy ++msgid "ros" ++msgstr "fg" ++ ++msgid "(r)eject, accept (o)nce" ++msgstr "(f)örkasta, (g)odkänn den här gången" ++ ++msgid "ro" ++msgstr "fg" ++ ++#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:58 browser.c:79 browser.c:89 ++#: mutt_history.c:45 pager.c:220 postpone.c:68 query.c:78 recvattach.c:91 + msgid "Exit" + msgstr "Avsluta" + +-#: addrbook.c:56 index.c:116 index.c:129 pager.c:236 pager.c:246 postpone.c:69 ++#: addrbook.c:56 index.c:112 index.c:125 pager.c:228 pager.c:238 postpone.c:69 + msgid "Del" + msgstr "Ta bort" + +-#: addrbook.c:57 index.c:117 index.c:130 postpone.c:70 ++#: addrbook.c:57 index.c:113 index.c:126 postpone.c:70 + msgid "Undel" + msgstr "Återställ" + +@@ -36,18 +64,18 @@ msgstr "Återställ" + msgid "Select" + msgstr "Välj" + +-#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:82 browser.c:84 browser.c:96 +-#: compose.c:218 compose.c:230 conn/ssl.c:983 conn/ssl_gnutls.c:691 index.c:122 +-#: index.c:135 mutt_history.c:48 ncrypt/crypt_gpgme.c:4735 ncrypt/pgpkey.c:670 +-#: ncrypt/smime.c:553 pager.c:2326 postpone.c:71 query.c:85 recvattach.c:94 ++#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:81 browser.c:83 browser.c:95 ++#: compose.c:216 compose.c:228 conn/ssl.c:996 conn/ssl_gnutls.c:722 index.c:118 ++#: index.c:131 mutt_history.c:48 ncrypt/crypt_gpgme.c:4783 ncrypt/pgpkey.c:673 ++#: ncrypt/smime.c:555 pager.c:2297 postpone.c:71 query.c:83 recvattach.c:92 + msgid "Help" + msgstr "Hjälp" + +-#: addrbook.c:208 ++#: addrbook.c:238 + msgid "You have no aliases" + msgstr "Du saknar alias" + +-#: addrbook.c:215 ++#: addrbook.c:276 + msgid "Aliases" + msgstr "Alias" + +@@ -56,53 +84,53 @@ msgstr "Alias" + msgid "Alias as: " + msgstr "Alias: " + +-#: alias.c:411 ++#: alias.c:414 + msgid "You already have an alias defined with that name" + msgstr "Du har redan definierat ett alias med det namnet" + +-#: alias.c:417 ++#: alias.c:420 + msgid "Warning: This alias name may not work. Fix it?" + msgstr "Varning: Detta alias kommer kanske inte att fungera. Fixa det?" + +-#: alias.c:442 ++#: alias.c:445 + msgid "Address: " + msgstr "Adress: " + +-#: alias.c:453 commands.c:444 compose.c:744 conn/conn_raw.c:152 +-#: conn/conn_raw.c:210 recvcmd.c:232 send.c:228 ++#: alias.c:457 commands.c:450 compose.c:743 conn/conn_raw.c:152 ++#: conn/conn_raw.c:210 recvcmd.c:231 send.c:227 + #, c-format + msgid "Bad IDN: '%s'" + msgstr "Felaktigt IDN: '%s'" + +-#: alias.c:464 ++#: alias.c:468 + msgid "Personal name: " + msgstr "Namn: " + +-#: alias.c:473 ++#: alias.c:477 + #, c-format + msgid "[%s = %s] Accept?" + msgstr "[%s = %s] Godkänn?" + +-#: alias.c:484 recvattach.c:528 recvattach.c:550 recvattach.c:564 +-#: recvattach.c:579 recvattach.c:678 ++#: alias.c:488 recvattach.c:530 recvattach.c:552 recvattach.c:566 ++#: recvattach.c:581 recvattach.c:680 + msgid "Save to file: " + msgstr "Spara till fil: " + +-#: alias.c:503 ++#: alias.c:507 + #, fuzzy + msgid "Error reading alias file" + msgstr "Fel vid försök att visa fil" + +-#: alias.c:525 ++#: alias.c:529 + #, fuzzy + msgid "Trouble adding alias" + msgstr "Fel vid försök att visa fil" + +-#: alias.c:527 ++#: alias.c:531 + msgid "Alias added" + msgstr "Lade till alias" + +-#: alias.c:532 ++#: alias.c:536 + #, fuzzy + msgid "Error seeking in alias file" + msgstr "Fel vid försök att visa fil" +@@ -112,7 +140,7 @@ msgstr "Fel vid försök att visa fil" + #. for some reason (e.g. autocrypt, header cache, bcache), but it + #. doesn't exist. The prompt is asking whether to create the directory + #. +-#: autocrypt/autocrypt.c:70 main.c:826 ++#: autocrypt/autocrypt.c:70 main.c:757 + #, c-format + msgid "%s does not exist. Create it?" + msgstr "%s finns inte. Skapa den?" +@@ -121,8 +149,8 @@ msgstr "%s finns inte. Skapa den?" + #. mkdir() on the directory %s failed. The second %s is the + #. error message returned by libc + #. +-#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:830 +-#: nntp/newsrc.c:1069 ++#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:761 ++#: nntp/newsrc.c:1098 + #, c-format + msgid "Can't create %s: %s" + msgstr "Kan inte skapa %s: %s" +@@ -132,7 +160,7 @@ msgstr "Kan inte skapa %s: %s" + #. create $autocrypt_dir and then prompt to create an autocrypt + #. account with this message. + #. +-#: autocrypt/autocrypt.c:156 ++#: autocrypt/autocrypt.c:163 + msgid "Create an initial autocrypt account?" + msgstr "" + +@@ -141,7 +169,7 @@ msgstr "" + #. autocrypt account. This will generate a key and add a record + #. to the database for use in autocrypt operations. + #. +-#: autocrypt/autocrypt.c:180 ++#: autocrypt/autocrypt.c:187 + msgid "Autocrypt account address: " + msgstr "" + +@@ -150,7 +178,7 @@ msgstr "" + #. a single address. This is shown if they entered something invalid, + #. nothing, or more than one address for some reason. + #. +-#: autocrypt/autocrypt.c:191 ++#: autocrypt/autocrypt.c:198 + msgid "Please enter a single email address" + msgstr "" + +@@ -159,7 +187,7 @@ msgstr "" + #. if there is already an account in the database with the email address + #. they just entered. + #. +-#: autocrypt/autocrypt.c:208 ++#: autocrypt/autocrypt.c:215 + msgid "That email address already has an autocrypt account" + msgstr "" + +@@ -171,7 +199,7 @@ msgstr "" + #. Otherwise the UI will show encryption is "available" but the user + #. will be required to enable encryption manually. + #. +-#: autocrypt/autocrypt.c:223 ++#: autocrypt/autocrypt.c:230 + #, fuzzy + msgid "Prefer encryption?" + msgstr "kryptering" +@@ -179,7 +207,7 @@ msgstr "kryptering" + #. L10N: + #. Message displayed after an autocrypt account is successfully created. + #. +-#: autocrypt/autocrypt.c:236 ++#: autocrypt/autocrypt.c:243 + msgid "Autocrypt account creation succeeded" + msgstr "" + +@@ -187,7 +215,7 @@ msgstr "" + #. Error message displayed if creating an autocrypt account failed + #. or was aborted by the user. + #. +-#: autocrypt/autocrypt.c:242 ++#: autocrypt/autocrypt.c:249 + msgid "Autocrypt account creation aborted" + msgstr "" + +@@ -196,7 +224,7 @@ msgstr "" + #. to use to encrypt, but it can't find a valid keyid for this address. + #. The message is printed and they are returned to the compose menu. + #. +-#: autocrypt/autocrypt.c:610 autocrypt/autocrypt.c:639 ++#: autocrypt/autocrypt.c:617 autocrypt/autocrypt.c:646 + #, fuzzy, c-format + msgid "No (valid) autocrypt key found for %s" + msgstr "Inga (giltiga) certifikat hittades för %s" +@@ -208,12 +236,12 @@ msgstr "Inga (giltiga) certifikat hittades för %s" + #. and used for encryption. + #. If this is answered yes, they will be prompted for a mailbox. + #. +-#: autocrypt/autocrypt.c:903 ++#: autocrypt/autocrypt.c:910 + msgid "Scan a mailbox for autocrypt headers?" + msgstr "" + + #. L10N: The prompt for a mailbox to scan for Autocrypt: headers +-#: autocrypt/autocrypt.c:907 ++#: autocrypt/autocrypt.c:914 + #, fuzzy + msgid "Scan mailbox" + msgstr "Ingen brevlåda.\n" +@@ -225,14 +253,14 @@ msgstr "Ingen brevlåda.\n" + #. for a mailbox. This is because this is a one-time operation + #. and I don't want them to accidentally ctrl-g and abort it. + #. +-#: autocrypt/autocrypt.c:927 ++#: autocrypt/autocrypt.c:934 + msgid "Scan another mailbox for autocrypt headers?" + msgstr "" + + #. L10N: Autocrypt Account Menu Help line: + #. create new account + #. +-#: autocrypt/autocrypt_acct_menu.c:63 ++#: autocrypt/autocrypt_acct_menu.c:62 + #, fuzzy + msgid "Create" + msgstr "Skapa %s?" +@@ -240,7 +268,7 @@ msgstr "Skapa %s?" + #. L10N: Autocrypt Account Menu Help line: + #. delete account + #. +-#: autocrypt/autocrypt_acct_menu.c:67 remailer.c:77 ++#: autocrypt/autocrypt_acct_menu.c:66 remailer.c:75 + msgid "Delete" + msgstr "Radera" + +@@ -248,9 +276,9 @@ msgstr "Radera" + #. toggle an account active/inactive + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:74 ++#: autocrypt/autocrypt_acct_menu.c:73 + msgid "Tgl Active" + msgstr "" + +@@ -258,17 +286,17 @@ msgstr "" + #. toggle "prefer-encrypt" on an account + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:81 +-msgid "Prf Enc" ++#: autocrypt/autocrypt_acct_menu.c:80 ++msgid "Prf Encr" + msgstr "" + + #. L10N: + #. Autocrypt Account menu. + #. flag that an account has prefer-encrypt set + #. +-#: autocrypt/autocrypt_acct_menu.c:123 ++#: autocrypt/autocrypt_acct_menu.c:122 + msgid "prefer encrypt" + msgstr "" + +@@ -277,7 +305,7 @@ msgstr "" + #. flag that an account has prefer-encrypt unset; + #. thus encryption will need to be manually enabled. + #. +-#: autocrypt/autocrypt_acct_menu.c:130 ++#: autocrypt/autocrypt_acct_menu.c:129 + msgid "manual encrypt" + msgstr "" + +@@ -285,7 +313,7 @@ msgstr "" + #. Autocrypt Account menu. + #. flag that an account is enabled/active + #. +-#: autocrypt/autocrypt_acct_menu.c:138 ++#: autocrypt/autocrypt_acct_menu.c:137 + msgid "active" + msgstr "" + +@@ -293,12 +321,12 @@ msgstr "" + #. Autocrypt Account menu. + #. flag that an account is disabled/inactive + #. +-#: autocrypt/autocrypt_acct_menu.c:144 ++#: autocrypt/autocrypt_acct_menu.c:143 + msgid "inactive" + msgstr "" + + #. L10N: Autocrypt Account Management Menu title +-#: autocrypt/autocrypt_acct_menu.c:183 ++#: autocrypt/autocrypt_acct_menu.c:182 + msgid "Autocrypt Accounts" + msgstr "" + +@@ -306,13 +334,13 @@ msgstr "" + #. This error message is displayed if a database update of an + #. account record fails for some odd reason. + #. +-#: autocrypt/autocrypt_acct_menu.c:245 autocrypt/autocrypt_acct_menu.c:259 ++#: autocrypt/autocrypt_acct_menu.c:244 autocrypt/autocrypt_acct_menu.c:258 + #, fuzzy + msgid "Error updating account record" + msgstr "Fel vid läsning av katalog" + + #. L10N: Confirmation message when deleting an autocrypt account +-#: autocrypt/autocrypt_acct_menu.c:302 ++#: autocrypt/autocrypt_acct_menu.c:333 + #, fuzzy, c-format + msgid "Really delete account \"%s\"?" + msgstr "Ta bort brevlådan \"%s\"?" +@@ -330,7 +358,7 @@ msgstr "Ta bort brevlådan \"%s\"?" + msgid "Unable to open autocrypt database %s" + msgstr "Kunde inte låsa brevlåda!" + +-#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:774 ++#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:773 + #, c-format + msgid "error creating gpgme context: %s" + msgstr "fel vid skapande av gpgme-kontext: %s" +@@ -403,335 +431,286 @@ msgstr "" + msgid "Message cache isn't a directory: %s" + msgstr "%s är inte en katalog" + +-#: browser.c:81 ++#: browser.c:80 + msgid "Chdir" + msgstr "Ändra katalog" + +-#: browser.c:82 ++#: browser.c:81 + msgid "Goto" + msgstr "" + +-#: browser.c:83 browser.c:95 ++#: browser.c:82 browser.c:94 + msgid "Mask" + msgstr "Mask" + +-#: browser.c:91 ++#: browser.c:90 + msgid "List" + msgstr "" + +-#: browser.c:92 ++#: browser.c:91 + #, fuzzy + msgid "Subscribe" + msgstr "Prenumererar på %s..." + +-#: browser.c:93 ++#: browser.c:92 + #, fuzzy + msgid "Unsubscribe" + msgstr "Avslutar prenumeration på %s" + +-#: browser.c:94 index.c:134 ++#: browser.c:93 index.c:130 + msgid "Catchup" + msgstr "" + +-#: browser.c:760 browser.c:1519 browser.c:1758 ++#: browser.c:763 browser.c:1584 browser.c:1825 + #, c-format + msgid "%s is not a directory" + msgstr "%s är inte en katalog" + +-#: browser.c:1025 ++#: browser.c:1028 + #, fuzzy, c-format + msgid "Subscribed newsgroups" + msgstr "Prenumererar på %s..." + +-#: browser.c:1028 ++#: browser.c:1031 + #, c-format + msgid "Newsgroups on server [%s]" + msgstr "" + +-#: browser.c:1038 ++#: browser.c:1041 + #, c-format + msgid "Mailboxes [%d]" + msgstr "Brevlådor [%d]" + +-#: browser.c:1050 ++#: browser.c:1053 + #, c-format + msgid "Subscribed [%s], File mask: %s" + msgstr "Prenumererar på [%s], filmask: %s" + +-#: browser.c:1056 ++#: browser.c:1059 + #, c-format + msgid "Directory [%s], File mask: %s" + msgstr "Katalog [%s], filmask: %s" + +-#: browser.c:1113 ++#: browser.c:1116 + msgid "Can't attach a directory" + msgstr "Kan inte bifoga en katalog" + +-#: browser.c:1380 browser.c:1814 browser.c:1959 ++#: browser.c:1445 browser.c:1881 browser.c:2026 + msgid "No files match the file mask" + msgstr "Inga filer matchar filmasken" + +-#: browser.c:1587 ++#: browser.c:1654 + msgid "Create is only supported for IMAP mailboxes" + msgstr "Endast IMAP-brevlådor kan skapas" + +-#: browser.c:1609 ++#: browser.c:1676 + msgid "Rename is only supported for IMAP mailboxes" + msgstr "Endast IMAP-brevlådor kan döpas om" + +-#: browser.c:1630 ++#: browser.c:1697 + msgid "Delete is only supported for IMAP mailboxes" + msgstr "Endast IMAP-brevlådor kan tas bort" + +-#: browser.c:1642 ++#: browser.c:1709 + #, fuzzy + msgid "Can't delete currently selected mailbox" + msgstr "visa namnet på den valda filen" + +-#: browser.c:1646 ++#: browser.c:1713 + #, c-format + msgid "Really delete mailbox \"%s\"?" + msgstr "Ta bort brevlådan \"%s\"?" + +-#: browser.c:1663 ++#: browser.c:1730 + msgid "Mailbox deleted" + msgstr "Brevlådan har tagits bort" + +-#: browser.c:1667 ++#: browser.c:1734 + #, fuzzy + msgid "Mailbox deletion failed" + msgstr "Brevlådan har tagits bort" + +-#: browser.c:1670 ++#: browser.c:1737 + msgid "Mailbox not deleted" + msgstr "Brevlådan togs inte bort" + +-#: browser.c:1697 ++#: browser.c:1764 + msgid "Chdir to: " + msgstr "Ändra katalog till: " + +-#: browser.c:1747 browser.c:1808 ++#: browser.c:1814 browser.c:1875 + msgid "Error scanning directory" + msgstr "Fel vid läsning av katalog" + +-#: browser.c:1769 ++#: browser.c:1836 + msgid "File Mask: " + msgstr "Filmask: " + + #. L10N: The highlighted letters must match the "Sort" options +-#: browser.c:1831 ++#: browser.c:1898 + #, fuzzy + msgid "Reverse sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "Sortera omvänt efter (d)atum, (a)lpha, (s)torlek eller i(n)te alls?" + + #. L10N: The highlighted letters must match the "Reverse Sort" options +-#: browser.c:1834 ++#: browser.c:1901 + #, fuzzy + msgid "Sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "Sortera efter (d)atum, (a)lpha, (s)torlek eller i(n)te alls?" + + #. L10N: These must match the highlighted letters from "Sort" and "Reverse Sort" +-#: browser.c:1837 ++#: browser.c:1904 + msgid "dazecwn" + msgstr "" + +-#: browser.c:1948 ++#: browser.c:2015 + msgid "New file name: " + msgstr "Nytt filnamn: " + +-#: browser.c:1976 ++#: browser.c:2043 + msgid "Can't view a directory" + msgstr "Kan inte visa en katalog" + +-#: browser.c:1993 ++#: browser.c:2060 + msgid "Error trying to view file" + msgstr "Fel vid försök att visa fil" + +-#: browser.c:2079 ++#: browser.c:2146 + #, fuzzy, c-format + msgid "Subscribe pattern: " + msgstr "Prenumererar på %s..." + +-#: browser.c:2081 ++#: browser.c:2148 + #, fuzzy, c-format + msgid "Unsubscribe pattern: " + msgstr "Avslutar prenumeration på %s" + +-#: browser.c:2101 ++#: browser.c:2169 + #, fuzzy + msgid "No newsgroups match the mask" + msgstr "Inga filer matchar filmasken" + +-#: color.c:633 color.c:644 +-#, c-format +-msgid "%s: color not supported by term" +-msgstr "%s: färgen stöds inte av terminalen" +- +-#: color.c:652 +-#, c-format +-msgid "%s: no such color" +-msgstr "%s: färgen saknas" +- +-#: color.c:717 color.c:740 color.c:751 color.c:842 +-#, c-format +-msgid "%s: no such object" +-msgstr "%s: objektet finns inte" +- +-#: color.c:731 color.c:868 color.c:1069 color.c:1098 color.c:1122 color.c:1191 +-#: color.c:1214 hook.c:110 hook.c:124 hook.c:367 hook.c:383 init.c:612 +-#: init.c:620 init.c:709 init.c:1099 init.c:1267 init.c:1871 init.c:1929 +-#: keymap.c:1184 score.c:110 +-#, c-format +-msgid "%s: too few arguments" +-msgstr "%s: för få parametrar" +- +-#: color.c:1142 +-#, c-format +-msgid "%s: no such attribute" +-msgstr "%s: attributet finns inte" +- +-#: color.c:1223 color.c:1329 hook.c:131 hook.c:390 init.c:1123 init.c:2133 +-#: init.c:2611 keymap.c:1116 keymap.c:1289 keymap.c:1442 keymap.c:1506 +-#: mutt_lua.c:483 score.c:119 +-#, c-format +-msgid "%s: too many arguments" +-msgstr "%s: för många parametrar" +- +-#: color.c:1244 +-msgid "default colors not supported" +-msgstr "standardfärgerna stöds inte" +- +-#: color.c:1282 +-#, c-format +-msgid "Maximum quoting level is %d" +-msgstr "" +- +-#: color.c:1319 +-#, fuzzy, c-format +-msgid "%s: invalid number: %s" +-msgstr "%d: ogiltigt meddelandenummer.\n" +- + #. L10N: Used for the $crypt_verify_sig prompt +-#: commands.c:230 ++#: commands.c:232 + msgid "Verify signature?" + msgstr "Verifiera signatur?" + +-#: commands.c:257 mbox/mbox.c:1236 ++#: commands.c:259 mbox/mbox.c:1236 + msgid "Could not create temporary file" + msgstr "Kunde inte skapa tillfällig fil" + +-#: commands.c:269 ++#: commands.c:271 + msgid "Can't create display filter" + msgstr "Kan inte skapa filter för visning" + +-#: commands.c:302 ++#: commands.c:304 + msgid "Could not copy message" + msgstr "Kunde inte kopiera meddelande" + +-#: commands.c:338 ++#: commands.c:340 + msgid "S/MIME signature successfully verified" + msgstr "S/MIME-signaturen verifierades framgångsrikt" + +-#: commands.c:340 ++#: commands.c:342 + msgid "S/MIME certificate owner does not match sender" + msgstr "Ägarens S/MIME-certifikat matchar inte avsändarens" + +-#: commands.c:343 commands.c:353 ++#: commands.c:345 commands.c:355 + msgid "Warning: Part of this message has not been signed" + msgstr "Varning: En del av detta meddelande har inte blivit signerat" + +-#: commands.c:345 ++#: commands.c:347 + msgid "S/MIME signature could NOT be verified" + msgstr "S/MIME-signaturen kunde INTE verifieras" + +-#: commands.c:351 ++#: commands.c:353 + msgid "PGP signature successfully verified" + msgstr "PGP-signaturen verifierades framgångsrikt" + +-#: commands.c:355 ++#: commands.c:357 + msgid "PGP signature could NOT be verified" + msgstr "PGP-signaturen kunde INTE verifieras" + +-#: commands.c:372 compose.c:2116 compress.c:321 curs_lib.c:359 curs_lib.c:646 +-#: index.c:1235 index.c:1285 mutt_attach.c:159 mutt_attach.c:292 pager.c:2460 +-#: sendlib.c:1625 ++#: commands.c:378 compose.c:2187 compress/compress.c:320 gui/curs_lib.c:360 ++#: gui/curs_lib.c:714 index.c:1240 index.c:1290 mutt_attach.c:161 ++#: mutt_attach.c:294 pager.c:2433 sendlib.c:1624 + #, c-format + msgid "Error running \"%s\"" + msgstr "Fel uppstod vid körning av \"%s\"" + +-#: commands.c:382 ++#: commands.c:388 + msgid "Command: " + msgstr "Kommando: " + +-#: commands.c:419 recvcmd.c:191 recvcmd.c:203 ++#: commands.c:425 recvcmd.c:190 recvcmd.c:202 + msgid "Warning: message contains no From: header" + msgstr "" + +-#: commands.c:425 recvcmd.c:212 ++#: commands.c:431 recvcmd.c:211 + #, fuzzy + msgid "Bounce message to: " + msgstr "Återsänd meddelandet till: " + +-#: commands.c:427 recvcmd.c:214 ++#: commands.c:433 recvcmd.c:213 + #, fuzzy + msgid "Bounce tagged messages to: " + msgstr "Återsänd märkta meddelanden till: " + +-#: commands.c:436 recvcmd.c:224 ++#: commands.c:442 recvcmd.c:223 + msgid "Error parsing address" + msgstr "Fel vid tolkning av adress" + +-#: commands.c:455 recvcmd.c:243 ++#: commands.c:461 recvcmd.c:242 + #, fuzzy, c-format + msgid "Bounce message to %s?" + msgid_plural "Bounce messages to %s?" + msgstr[0] "Återsänd meddelande till %s?" + msgstr[1] "Återsänd meddelanden till %s?" + +-#: commands.c:470 recvcmd.c:257 ++#: commands.c:476 recvcmd.c:257 + #, fuzzy + msgid "Message not bounced" + msgid_plural "Messages not bounced" + msgstr[0] "Meddelande återsändes inte" + msgstr[1] "Meddelanden återsändes inte" + +-#: commands.c:496 recvcmd.c:276 ++#: commands.c:502 recvcmd.c:276 + #, fuzzy + msgid "Message bounced" + msgid_plural "Messages bounced" + msgstr[0] "Meddelande återsänt" + msgstr[1] "Meddelanden återsända" + +-#: commands.c:606 commands.c:642 commands.c:662 ++#: commands.c:612 commands.c:648 commands.c:668 + msgid "Can't create filter process" + msgstr "Kan inte skapa filterprocess" + +-#: commands.c:698 ++#: commands.c:704 + msgid "Pipe to command: " + msgstr "Öppna rör till kommando: " + +-#: commands.c:720 ++#: commands.c:726 + msgid "No printing command has been defined" + msgstr "Inget utskriftskommando har definierats" + +-#: commands.c:732 ++#: commands.c:738 + #, fuzzy + msgid "Print message?" + msgstr "Skriv ut meddelande?" + +-#: commands.c:733 ++#: commands.c:739 + #, fuzzy + msgid "Print tagged messages?" + msgstr "Skriv ut märkta meddelanden?" + +-#: commands.c:739 ++#: commands.c:745 + #, fuzzy + msgid "Message printed" + msgid_plural "Messages printed" + msgstr[0] "Meddelande har skrivits ut" + msgstr[1] "Meddelanden har skrivits ut" + +-#: commands.c:742 ++#: commands.c:748 + #, fuzzy + msgid "Message could not be printed" + msgid_plural "Messages could not be printed" +@@ -739,165 +718,328 @@ msgstr[0] "Meddelandet kunde inte skrivas ut" + msgstr[1] "Meddelanden kunde inte skrivas ut" + + #. L10N: The highlighted letters must match the "Sort" options +-#: commands.c:759 ++#: commands.c:765 + #, fuzzy + msgid "Rev-Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "Omvänt (d)atum/(f)rån/(m)ot./(ä)re./(t)ill/t(r)åd/(o)sor./(s)tor./(p)oäng/sp(a)m?" + + #. L10N: The highlighted letters must match the "Rev-Sort" options +-#: commands.c:763 ++#: commands.c:769 + #, fuzzy + msgid "Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "Sortera (d)atum/(f)rån/(m)ot./(ä)re./(t)ill/t(r)åd/(o)sor./(s)tor./(p)oäng/sp(a)m?" + + #. L10N: These must match the highlighted letters from "Sort" and "Rev-Sort" +-#: commands.c:767 ++#: commands.c:773 + #, fuzzy + msgid "dfrsotuzcpl" + msgstr "dfmätrospa" + +-#: commands.c:831 ++#: commands.c:837 + msgid "Shell command: " + msgstr "Skalkommando: " + +-#: commands.c:1036 ++#: commands.c:1042 + #, fuzzy + msgid "Decode-save to mailbox" + msgstr "Avkoda-spara till brevlåda" + +-#: commands.c:1036 ++#: commands.c:1042 + #, fuzzy + msgid "Decode-save tagged to mailbox" + msgstr "Avkoda-spara märkt till brevlåda" + +-#: commands.c:1038 ++#: commands.c:1044 + #, fuzzy + msgid "Decrypt-save to mailbox" + msgstr "Dekryptera-spara till brevlåda" + +-#: commands.c:1038 ++#: commands.c:1044 + #, fuzzy + msgid "Decrypt-save tagged to mailbox" + msgstr "Dekryptera-spara märkt till brevlåda" + +-#: commands.c:1040 ++#: commands.c:1046 + #, fuzzy + msgid "Save to mailbox" + msgstr "Spara till brevlåda" + +-#: commands.c:1040 ++#: commands.c:1046 + #, fuzzy + msgid "Save tagged to mailbox" + msgstr "Spara märkt till brevlåda" + +-#: commands.c:1045 ++#: commands.c:1051 + #, fuzzy + msgid "Decode-copy to mailbox" + msgstr "Avkoda-kopiera till brevlåda" + +-#: commands.c:1045 ++#: commands.c:1051 + #, fuzzy + msgid "Decode-copy tagged to mailbox" + msgstr "Avkoda-kopiera märkt till brevlåda" + +-#: commands.c:1047 ++#: commands.c:1053 + #, fuzzy + msgid "Decrypt-copy to mailbox" + msgstr "Dekryptera-kopiera till brevlåda" + +-#: commands.c:1047 ++#: commands.c:1053 + #, fuzzy + msgid "Decrypt-copy tagged to mailbox" + msgstr "Dekryptera-kopiera märkt till brevlåda" + +-#: commands.c:1049 ++#: commands.c:1055 + #, fuzzy + msgid "Copy to mailbox" + msgstr "Kopiera till brevlåda" + +-#: commands.c:1049 ++#: commands.c:1055 + #, fuzzy + msgid "Copy tagged to mailbox" + msgstr "Kopiera märkt till brevlåda" + +-#: commands.c:1092 ++#: commands.c:1098 + #, c-format + msgid "Copying to %s..." + msgstr "Kopierar till %s..." + + #. L10N: e.g. "text/plain; charset=UTF-8; ..." +-#: commands.c:1257 ++#: commands.c:1263 + #, fuzzy + msgid "Content type is too long" + msgstr "\"Content-Type\" ändrade till %s" + +-#: commands.c:1281 ++#: commands.c:1290 + #, c-format + msgid "Convert to %s upon sending?" + msgstr "Konvertera till %s vid sändning?" + +-#: commands.c:1292 ++#: commands.c:1301 + #, c-format + msgid "Content-Type changed to %s" + msgstr "\"Content-Type\" ändrade till %s" + +-#: commands.c:1297 ++#: commands.c:1306 + #, fuzzy, c-format + msgid "Character set changed to %s; not converting" + msgstr "Teckenuppsättning ändrad till %s; konverterar inte" + +-#: commands.c:1298 ++#: commands.c:1307 + #, fuzzy, c-format + msgid "Character set changed to %s; converting" + msgstr "Teckenuppsättning ändrad till %s; konverterar" + +-#: compose.c:99 ++#: command_parse.c:83 command_parse.c:211 command_parse.c:219 ++#: command_parse.c:740 command_parse.c:887 command_parse.c:1491 ++#: command_parse.c:1549 gui/color.c:731 gui/color.c:868 gui/color.c:1069 ++#: gui/color.c:1098 gui/color.c:1122 gui/color.c:1191 gui/color.c:1214 ++#: hook.c:110 hook.c:124 hook.c:372 hook.c:388 keymap.c:1182 score.c:110 ++#, c-format ++msgid "%s: too few arguments" ++msgstr "%s: för få parametrar" ++ ++#: command_parse.c:394 ++msgid "-group: no group name" ++msgstr "-group: inget gruppnamn" ++ ++#: command_parse.c:404 ++msgid "out of arguments" ++msgstr "slut på parametrar" ++ ++#: command_parse.c:445 command_parse.c:1372 ++#, c-format ++msgid "Error: Can't build path of '%s'" ++msgstr "" ++ ++#: command_parse.c:458 ++#, c-format ++msgid "Error: Cyclic sourcing of configuration file '%s'" ++msgstr "" ++ ++#: command_parse.c:491 ++#, c-format ++msgid "Error in %s, line %d: %s" ++msgstr "Fel i %s, rad %d: %s" ++ ++#: command_parse.c:502 ++#, fuzzy, c-format ++msgid "Warning in %s, line %d: %s" ++msgstr "Fel i %s, rad %d: %s" ++ ++#: command_parse.c:526 ++#, c-format ++msgid "source: errors in %s" ++msgstr "source: fel i %s" ++ ++#: command_parse.c:526 ++#, fuzzy, c-format ++msgid "source: reading aborted due to too many errors in %s" ++msgstr "source: läsningen avbruten pga för många fel i %s" ++ ++#: command_parse.c:535 ++#, fuzzy, c-format ++msgid "source: %d warning in %s" ++msgid_plural "source: %d warnings in %s" ++msgstr[0] "source: fel i %s" ++msgstr[1] "source: fel i %s" ++ ++#: command_parse.c:564 ++msgid "alias: no address" ++msgstr "alias: ingen adress" ++ ++#: command_parse.c:606 ++#, c-format ++msgid "Warning: Bad IDN '%s' in alias '%s'" ++msgstr "Varning: Felaktigt IDN \"%s\" i alias \"%s\"" ++ ++#: command_parse.c:684 ++msgid "attachments: no disposition" ++msgstr "bilagor: ingen disposition" ++ ++#: command_parse.c:695 ++#, fuzzy ++msgid "Current attachments settings:" ++msgstr "redigera bilagebeskrivning" ++ ++#: command_parse.c:725 ++msgid "attachments: invalid disposition" ++msgstr "bilagor: ogiltig disposition" ++ ++#: command_parse.c:764 command_parse.c:1753 command_parse.c:2205 ++#: gui/color.c:1223 gui/color.c:1329 hook.c:131 hook.c:395 keymap.c:1114 ++#: keymap.c:1287 keymap.c:1440 keymap.c:1504 mutt_lua.c:485 score.c:119 ++#, c-format ++msgid "%s: too many arguments" ++msgstr "%s: för många parametrar" ++ ++#: command_parse.c:801 ++#, fuzzy, c-format ++msgid "%sgroup: missing -rx or -addr" ++msgstr "Saknar -rx eller -addr" ++ ++#: command_parse.c:827 ++#, fuzzy, c-format ++msgid "%sgroup: warning: bad IDN '%s'" ++msgstr "Varning: Felaktigtt IDN \"%s\"" ++ ++#: command_parse.c:898 ++#, c-format ++msgid "Error: %s" ++msgstr "" ++ ++#: command_parse.c:1065 ++msgid "invalid header field" ++msgstr "ogiltigt huvudfält" ++ ++#: command_parse.c:1331 command_parse.c:1435 ++#, c-format ++msgid "%s: unknown variable" ++msgstr "%s: okänd variabel" ++ ++#: command_parse.c:1528 ++#, c-format ++msgid "%s is unset" ++msgstr "%s är inte satt" ++ ++#: command_parse.c:1573 mutt_lua.c:480 ++#, c-format ++msgid "source: error at %s" ++msgstr "source: fel vid %s" ++ ++#: command_parse.c:1581 ++#, fuzzy, c-format ++msgid "source: file %s could not be sourced" ++msgstr "Meddelanden kunde inte skrivas ut" ++ ++#: command_parse.c:1604 ++msgid "spam: no matching pattern" ++msgstr "spam: inget matchande mönster" ++ ++#: command_parse.c:1606 ++msgid "nospam: no matching pattern" ++msgstr "nospam: inget matchande mönster" ++ ++#: command_parse.c:1762 imap/imap.c:1443 ++#, c-format ++msgid "Subscribed to %s" ++msgstr "Prenumererar på %s..." ++ ++#: command_parse.c:1766 ++#, fuzzy, c-format ++msgid "Could not subscribe to %s" ++msgstr "Prenumererar på %s..." ++ ++#: command_parse.c:1774 command_parse.c:2226 ++#, fuzzy ++msgid "No folder specified" ++msgstr "Inget ärende angivet." ++ ++#: command_parse.c:1943 ++msgid "unattachments: no disposition" ++msgstr "gamla bilagor: ingen disposition" ++ ++#: command_parse.c:1981 ++msgid "unattachments: invalid disposition" ++msgstr "gamla bilagor: ogiltigt disposition" ++ ++#: command_parse.c:2214 imap/imap.c:1445 ++#, c-format ++msgid "Unsubscribed from %s" ++msgstr "Avslutar prenumeration på %s" ++ ++#: command_parse.c:2218 ++#, fuzzy, c-format ++msgid "Could not unsubscribe from %s" ++msgstr "Avslutar prenumeration på %s" ++ ++#: compose.c:97 + msgid "There are no attachments" + msgstr "Det finns inga bilagor" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:166 ++#: compose.c:164 + msgid "From: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:168 send.c:284 ++#: compose.c:166 send.c:284 + msgid "To: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:170 send.c:286 ++#: compose.c:168 send.c:286 + msgid "Cc: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:172 send.c:288 ++#: compose.c:170 send.c:288 + msgid "Bcc: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:174 compose.c:1242 send.c:320 ++#: compose.c:172 compose.c:1302 send.c:320 + msgid "Subject: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:176 ++#: compose.c:174 + #, fuzzy + msgid "Reply-To: " + msgstr "Svara" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:178 compose.c:1261 ++#: compose.c:176 compose.c:1321 + msgid "Fcc: " + msgstr "" + + #. L10N: "Mix" refers to the MixMaster chain for anonymous email +-#: compose.c:181 ++#: compose.c:179 + msgid "Mix: " + msgstr "" + + #. L10N: Compose menu field. Holds "Encrypt", "Sign" related information +-#: compose.c:184 ++#: compose.c:182 + msgid "Security: " + msgstr "" + +@@ -908,78 +1050,78 @@ msgstr "" + #. it should not be longer than the other compose menu fields. + #. Since it shares the row with "Encrypt with:", it should not be longer + #. than 15-20 character cells. +-#: compose.c:192 ncrypt/crypt_gpgme.c:5602 ncrypt/pgp.c:1974 +-#: ncrypt/smime.c:2395 ++#: compose.c:190 ncrypt/crypt_gpgme.c:5682 ncrypt/pgp.c:1976 ++#: ncrypt/smime.c:2429 + msgid "Sign as: " + msgstr "Signera som: " + + #. L10N: The compose menu autocrypt line +-#: compose.c:195 ++#: compose.c:193 + msgid "Autocrypt: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:199 ++#: compose.c:197 + msgid "Newsgroups: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:201 ++#: compose.c:199 + #, fuzzy + msgid "Followup-To: " + msgstr "Svara till %s%s?" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:203 ++#: compose.c:201 + #, fuzzy + msgid "X-Comment-To: " + msgstr "redigera Reply-To-fältet" + +-#: compose.c:208 compose.c:224 ++#: compose.c:206 compose.c:222 + msgid "Send" + msgstr "Skicka" + +-#: compose.c:209 compose.c:225 remailer.c:77 ++#: compose.c:207 compose.c:223 remailer.c:75 + msgid "Abort" + msgstr "Avbryt" + + #. L10N: compose menu help line entry +-#: compose.c:211 ++#: compose.c:209 + msgid "To" + msgstr "" + + #. L10N: compose menu help line entry +-#: compose.c:213 ++#: compose.c:211 + msgid "CC" + msgstr "" + + #. L10N: compose menu help line entry +-#: compose.c:215 compose.c:227 ++#: compose.c:213 compose.c:225 + msgid "Subj" + msgstr "" + +-#: compose.c:216 compose.c:228 compose.c:1556 ++#: compose.c:214 compose.c:226 compose.c:1616 + msgid "Attach file" + msgstr "Bifoga fil" + +-#: compose.c:217 compose.c:229 ++#: compose.c:215 compose.c:227 + msgid "Descrip" + msgstr "Beskriv" + +-#: compose.c:226 ++#: compose.c:224 + #, fuzzy + msgid "Newsgroups" + msgstr "Inget ärende angivet." + + #. L10N: Autocrypt recommendation flag: off. + #. * This is displayed when Autocrypt is turned off. +-#: compose.c:239 compose.c:473 ++#: compose.c:237 compose.c:472 + msgid "Off" + msgstr "" + + #. L10N: Autocrypt recommendation flag: no. + #. * This is displayed when Autocrypt cannot encrypt to the recipients. +-#: compose.c:242 ++#: compose.c:240 + msgid "No" + msgstr "" + +@@ -987,7 +1129,7 @@ msgstr "" + #. * This is displayed when Autocrypt believes encryption should not be used. + #. * This might occur if one of the recipient Autocrypt Keys has not been + #. * used recently, or if the only key available is a Gossip Header key. +-#: compose.c:247 ++#: compose.c:245 + msgid "Discouraged" + msgstr "" + +@@ -995,14 +1137,14 @@ msgstr "" + #. * This is displayed when Autocrypt believes encryption is possible, but + #. * leaves enabling it up to the sender. Probably because "prefer encrypt" + #. * is not set in both the sender and recipient keys. +-#: compose.c:252 ++#: compose.c:250 + msgid "Available" + msgstr "" + + #. L10N: Autocrypt recommendation flag: yes. + #. * This is displayed when Autocrypt would normally enable encryption + #. * automatically. +-#: compose.c:256 ++#: compose.c:254 + #, fuzzy + msgid "Yes" + msgstr "ja" +@@ -1013,7 +1155,7 @@ msgstr "ja" + #. (c)lear sets cleartext. + #. (a)utomatic defers to the recommendation. + #. +-#: compose.c:338 ++#: compose.c:337 + msgid "Autocrypt: (e)ncrypt, (c)lear, (a)utomatic?" + msgstr "" + +@@ -1021,54 +1163,54 @@ msgstr "" + #. The letter corresponding to the compose menu autocrypt prompt + #. (e)ncrypt, (c)lear, (a)utomatic + #. +-#: compose.c:346 ++#: compose.c:345 + msgid "eca" + msgstr "" + +-#: compose.c:383 ++#: compose.c:382 + #, fuzzy + msgid "Not supported" + msgstr "Märkning stöds inte." + +-#: compose.c:390 ++#: compose.c:389 + msgid "Sign, Encrypt" + msgstr "Signera, Kryptera" + +-#: compose.c:395 compose.c:468 ++#: compose.c:394 compose.c:467 + msgid "Encrypt" + msgstr "Kryptera" + +-#: compose.c:400 ++#: compose.c:399 + msgid "Sign" + msgstr "Signera" + +-#: compose.c:406 ++#: compose.c:405 + msgid "None" + msgstr "" + +-#: compose.c:415 ++#: compose.c:414 + #, fuzzy + msgid " (inline PGP)" + msgstr " (infogat)" + +-#: compose.c:417 ++#: compose.c:416 + msgid " (PGP/MIME)" + msgstr " (PGP/MIME)" + +-#: compose.c:420 ++#: compose.c:419 + #, fuzzy + msgid " (S/MIME)" + msgstr " (PGP/MIME)" + +-#: compose.c:424 ++#: compose.c:423 + msgid " (OppEnc mode)" + msgstr "" + +-#: compose.c:436 compose.c:445 ++#: compose.c:435 compose.c:444 + msgid "" + msgstr "" + +-#: compose.c:452 ++#: compose.c:451 + msgid "Encrypt with: " + msgstr "Kryptera med: " + +@@ -1077,12 +1219,12 @@ msgstr "Kryptera med: " + #. Displays the output of the recommendation engine + #. (Off, No, Discouraged, Available, Yes) + #. +-#: compose.c:483 ++#: compose.c:482 + #, fuzzy + msgid "Recommendation: " + msgstr "redigera Reply-To-fältet" + +-#: compose.c:547 ++#: compose.c:546 + msgid "" + msgstr "" + +@@ -1093,7 +1235,7 @@ msgstr "" + #. The filename is located last to avoid a long path hiding the + #. error message. + #. +-#: compose.c:601 ++#: compose.c:600 + #, fuzzy, c-format + msgid "Attachment #%d no longer exists: %s" + msgstr "%s [#%d] existerar inte längre" +@@ -1105,240 +1247,360 @@ msgstr "%s [#%d] existerar inte längre" + #. The filename is located last to avoid a long path hiding the + #. prompt question. + #. +-#: compose.c:621 ++#: compose.c:620 + #, fuzzy, c-format + msgid "Attachment #%d modified. Update encoding for %s?" + msgstr "%s [#%d] modifierad. Uppdatera kodning?" + +-#: compose.c:716 ++#: compose.c:715 + msgid "-- Attachments" + msgstr "-- Bilagor" + +-#: compose.c:770 ++#: compose.c:769 + msgid "You may not delete the only attachment" + msgstr "Du får inte ta bort den enda bilagan" + +-#: compose.c:1296 edit.c:538 send.c:2462 ++#: compose.c:1356 edit.c:536 send.c:2473 + #, c-format + msgid "Bad IDN in '%s': '%s'" + msgstr "Felaktigt IDN i '%s': '%s'" + +-#: compose.c:1347 ++#: compose.c:1407 + #, fuzzy + msgid "Attachment is already at top" + msgstr "Bilaga sparad" + +-#: compose.c:1352 compose.c:1368 ++#: compose.c:1412 compose.c:1428 + #, fuzzy + msgid "The fundamental part can't be moved" + msgstr "Den aktiva bilagan kommer inte att bli konverterad" + +-#: compose.c:1363 ++#: compose.c:1423 + #, fuzzy + msgid "Attachment is already at bottom" + msgstr "Bilaga filtrerad" + +-#: compose.c:1381 ++#: compose.c:1441 + msgid "Grouping 'alternatives' requires at least 2 tagged messages" + msgstr "" + +-#: compose.c:1462 ++#: compose.c:1522 + msgid "Grouping 'multilingual' requires at least 2 tagged messages" + msgstr "" + +-#: compose.c:1475 ++#: compose.c:1535 + msgid "Not all parts have 'Content-Language' set, continue?" + msgstr "" + +-#: compose.c:1477 ++#: compose.c:1537 + #, fuzzy + msgid "Not sending this message" + msgstr "Fel vid sändning av meddelande" + +-#: compose.c:1571 ++#: compose.c:1631 + #, fuzzy + msgid "Attaching selected file..." + msgid_plural "Attaching selected files..." + msgstr[0] "Bifogar valda filer..." + msgstr[1] "Bifogar valda filer..." + +-#: compose.c:1585 ++#: compose.c:1645 + #, c-format + msgid "Unable to attach %s" + msgstr "Kunde inte bifoga %s" + +-#: compose.c:1606 ++#: compose.c:1666 + msgid "Open mailbox to attach message from" + msgstr "Öppna brevlåda att bifoga meddelande från" + +-#: compose.c:1616 ++#: compose.c:1676 + #, fuzzy + msgid "Open newsgroup to attach message from" + msgstr "Öppna brevlåda att bifoga meddelande från" + +-#: compose.c:1667 ++#: compose.c:1730 + #, fuzzy, c-format + msgid "Unable to open mailbox %s" + msgstr "Kunde inte låsa brevlåda!" + +-#: compose.c:1676 ++#: compose.c:1739 + msgid "No messages in that folder" + msgstr "Inga meddelanden i den foldern" + +-#: compose.c:1686 ++#: compose.c:1749 + msgid "Tag the messages you want to attach" + msgstr "Märk de meddelanden du vill bifoga" + +-#: compose.c:1715 ++#: compose.c:1785 + msgid "Unable to attach" + msgstr "Kunde inte bifoga" + +-#: compose.c:1752 ++#: compose.c:1822 + msgid "Recoding only affects text attachments" + msgstr "Omkodning påverkar bara textbilagor" + +-#: compose.c:1757 ++#: compose.c:1827 + msgid "The current attachment won't be converted" + msgstr "Den aktiva bilagan kommer inte att bli konverterad" + +-#: compose.c:1759 ++#: compose.c:1829 + msgid "The current attachment will be converted" + msgstr "Den aktiva bilagan kommer att bli konverterad" + +-#: compose.c:1831 ++#: compose.c:1901 + msgid "Empty 'Content-Language'" + msgstr "" + +-#: compose.c:1849 ++#: compose.c:1920 + msgid "Invalid encoding" + msgstr "Ogiltig kodning" + +-#: compose.c:1871 ++#: compose.c:1942 + msgid "Save a copy of this message?" + msgstr "Spara en kopia detta meddelande?" + +-#: compose.c:1924 ++#: compose.c:1995 + #, fuzzy + msgid "Send attachment with name: " + msgstr "visa bilaga som text" + +-#: compose.c:1939 ++#: compose.c:2010 + msgid "Rename to: " + msgstr "Byt namn till: " + + #. L10N: "stat" is a system call. Do "man 2 stat" for more information. +-#: compose.c:1946 editmsg.c:102 editmsg.c:138 sendlib.c:1050 ++#: compose.c:2017 editmsg.c:102 editmsg.c:138 sendlib.c:1049 + #, c-format + msgid "Can't stat %s: %s" + msgstr "Kan inte ta status på %s: %s" + +-#: compose.c:1966 ++#: compose.c:2037 + msgid "New file: " + msgstr "Ny fil: " + +-#: compose.c:1984 ++#: compose.c:2055 + msgid "Content-Type is of the form base/sub" + msgstr "\"Content-Type\" har formen bas/undertyp" + +-#: compose.c:1991 ++#: compose.c:2062 + #, c-format + msgid "Unknown Content-Type %s" + msgstr "Okänd \"Content-Type\" %s" + +-#: compose.c:1999 ++#: compose.c:2070 + #, c-format + msgid "Can't create file %s" + msgstr "Kan inte skapa fil %s" + +-#: compose.c:2008 ++#: compose.c:2079 + msgid "What we have here is a failure to make an attachment" + msgstr "Vad vi har här är ett misslyckande att skapa en bilaga." + +-#: compose.c:2073 ++#: compose.c:2144 + #, fuzzy + msgid "Save (postpone) draft message?" + msgstr "Återkalla uppskjutet meddelande?" + +-#: compose.c:2133 ++#: compose.c:2204 + msgid "Write message to mailbox" + msgstr "Skriv meddelande till brevlåda" + +-#: compose.c:2136 ++#: compose.c:2207 + #, c-format + msgid "Writing message to %s ..." + msgstr "Skriver meddelande till %s ..." + +-#: compose.c:2143 ++#: compose.c:2214 + msgid "Message written" + msgstr "Meddelande skrivet" + +-#: compose.c:2154 ++#: compose.c:2225 + msgid "No PGP backend configured" + msgstr "" + +-#: compose.c:2161 compose.c:2225 ++#: compose.c:2232 compose.c:2296 + msgid "S/MIME already selected. Clear and continue?" + msgstr "S/MIME redan valt. Rensa och fortsätt?" + +-#: compose.c:2186 ++#: compose.c:2257 + msgid "No S/MIME backend configured" + msgstr "" + +-#: compose.c:2194 ++#: compose.c:2265 + msgid "PGP already selected. Clear and continue?" + msgstr "PGP redan valt. Rensa och fortsätt?" + +-#: compress.c:355 compress.c:499 ++#: compress/compress.c:354 compress/compress.c:498 + #, c-format + msgid "Can't append without an append-hook or close-hook : %s" + msgstr "" + +-#: compress.c:444 compress.c:511 compress.c:590 compress.c:628 mbox/mbox.c:1208 ++#: compress/compress.c:443 compress/compress.c:510 compress/compress.c:589 ++#: compress/compress.c:627 mbox/mbox.c:1208 + msgid "Unable to lock mailbox" + msgstr "Kunde inte låsa brevlåda" + +-#: compress.c:448 compress.c:518 compress.c:594 ++#: compress/compress.c:447 compress/compress.c:517 compress/compress.c:593 + #, c-format + msgid "Decompressing %s" + msgstr "" + +-#: compress.c:457 ++#: compress/compress.c:456 + msgid "Can't identify the contents of the compressed file" + msgstr "" + +-#: compress.c:464 compress.c:539 ++#: compress/compress.c:463 compress/compress.c:538 + #, c-format + msgid "Can't find mailbox ops for mailbox type %d" + msgstr "" + +-#: compress.c:521 ++#: compress/compress.c:520 + #, fuzzy, c-format + msgid "Compress command failed: %s" + msgstr "\"Preconnect\"-kommandot misslyckades." + +-#: compress.c:532 ++#: compress/compress.c:531 + msgid "Unsupported mailbox type for appending" + msgstr "" + +-#: compress.c:618 ++#: compress/compress.c:617 + msgid "Can't sync a compressed file without a close-hook" + msgstr "" + +-#: compress.c:640 compress.c:692 ++#: compress/compress.c:639 compress/compress.c:691 + #, fuzzy, c-format + msgid "Compressing %s" + msgstr "Kopierar till %s..." + +-#: compress.c:687 ++#: compress/compress.c:686 + #, fuzzy, c-format + msgid "Compressed-appending to %s..." + msgstr "Kopierar till %s..." + +-#: compress.c:699 editmsg.c:247 ++#: compress/compress.c:698 editmsg.c:247 + #, c-format + msgid "Error. Preserving temporary file: %s" + msgstr "Fel. Sparar tillfällig fil: %s" + ++#: config/bool.c:70 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %s" ++msgstr "Ogiltigt relativt datum: %s" ++ ++#: config/bool.c:131 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %ld" ++msgstr "Ogiltigt relativt datum: %s" ++ ++#: config/enum.c:62 ++#, fuzzy, c-format ++msgid "Invalid enum value: %s" ++msgstr "%d: ogiltigt meddelandenummer.\n" ++ ++#: config/enum.c:149 ++#, fuzzy, c-format ++msgid "Invalid enum value: %ld" ++msgstr "Ogiltig dag i månaden: %s" ++ ++#: config/long.c:50 ++#, fuzzy, c-format ++msgid "Invalid long: %s" ++msgstr "Ogiltig månad: %s" ++ ++#: config/long.c:56 config/long.c:114 config/number.c:68 config/number.c:133 ++#, fuzzy, c-format ++msgid "Option %s may not be negative" ++msgstr "Funktionen ej tillåten i \"bifoga-meddelande\"-läge." ++ ++#: config/number.c:49 config/sort.c:145 config/string.c:75 config/string.c:159 ++#, c-format ++msgid "Option %s may not be empty" ++msgstr "" ++ ++#: config/number.c:56 ++#, fuzzy, c-format ++msgid "Invalid number: %s" ++msgstr "%d: ogiltigt meddelandenummer.\n" ++ ++#: config/number.c:62 ++#, c-format ++msgid "Number is too big: %s" ++msgstr "" ++ ++#: config/number.c:127 ++#, fuzzy, c-format ++msgid "Invalid number: %ld" ++msgstr "%d: ogiltigt meddelandenummer.\n" ++ ++#: config/quad.c:69 ++#, fuzzy, c-format ++msgid "Invalid quad value: %s" ++msgstr "Ogiltigt relativt datum: %s" ++ ++#: config/quad.c:133 ++#, fuzzy, c-format ++msgid "Invalid quad value: %ld" ++msgstr "Ogiltig dag i månaden: %s" ++ ++#: config/set.c:102 ++#, c-format ++msgid "No such variable: %s" ++msgstr "" ++ ++#: config/set.c:134 config/set.c:821 ++#, fuzzy, c-format ++msgid "Variable '%s' has an invalid type %d" ++msgstr "Fel: '%s' är ett dåligt IDN" ++ ++#: config/set.c:399 config/set.c:463 config/set.c:528 config/set.c:601 ++#: config/set.c:671 config/set.c:744 ++#, fuzzy, c-format ++msgid "Unknown variable '%s'" ++msgstr "%s: okänd variabel" ++ ++#: config/sort.c:192 ++#, fuzzy, c-format ++msgid "Invalid sort name: %s" ++msgstr "Ogiltigt relativt datum: %s" ++ ++#: config/sort.c:322 ++#, fuzzy, c-format ++msgid "Invalid sort type: %ld" ++msgstr "Ogiltigt relativt datum: %s" ++ ++#. L10N: Example: Username at myhost.com ++#: conn/connaccount.c:61 ++#, c-format ++msgid "Username at %s: " ++msgstr "Användarnamn på %s: " ++ ++#: conn/connaccount.c:117 ++#, c-format ++msgid "Password for %s@%s: " ++msgstr "Lösenord för %s@%s: " ++ ++#. L10N: You will see this error message if (1) you have "oauthbearer" in ++#. one of your $*_authenticators and (2) you do not have the corresponding ++#. $*_oauth_refresh_command defined. So the message does not mean "None of ++#. your $*_oauth_refresh_command's are defined." ++#: conn/connaccount.c:165 ++#, fuzzy ++msgid "No OAUTH refresh command defined" ++msgstr "Sökkommando ej definierat" ++ ++#: conn/connaccount.c:173 ++msgid "Unable to run refresh command" ++msgstr "" ++ ++#: conn/connaccount.c:184 ++msgid "Command returned empty string" ++msgstr "" ++ ++#: conn/connaccount.c:191 ++#, c-format ++msgid "OAUTH token is too big: %ld" ++msgstr "" ++ + #: conn/conn_raw.c:160 conn/conn_raw.c:218 + #, c-format + msgid "Looking up %s..." +@@ -1359,7 +1621,7 @@ msgstr "Ansluter till %s..." + msgid "Could not connect to %s (%s)" + msgstr "Kunde inte ansluta till %s (%s)" + +-#: conn/conn_raw.c:260 conn/ssl.c:1230 curs_lib.c:568 mutt_logging.c:149 ++#: conn/conn_raw.c:260 conn/ssl.c:1245 gui/curs_lib.c:569 mutt_logging.c:147 + msgid "unknown error" + msgstr "okänt fel" + +@@ -1373,23 +1635,23 @@ msgstr "Fel uppstod vid förbindelsen till %s (%s)" + msgid "Connection to %s has been aborted" + msgstr "Anslutning till %s stängd" + +-#: conn/sasl.c:565 ++#: conn/sasl.c:547 + msgid "Unknown SASL profile" + msgstr "Okänd SASL-profil" + +-#: conn/sasl.c:598 ++#: conn/sasl.c:580 + msgid "Error allocating SASL connection" + msgstr "fel vid allokering av SASL-anslutning" + +-#: conn/sasl.c:608 ++#: conn/sasl.c:590 + msgid "Error setting SASL security properties" + msgstr "Fel vid sättning av SASL:s säkerhetsinställningar" + +-#: conn/sasl.c:619 ++#: conn/sasl.c:601 + msgid "Error setting SASL external security strength" + msgstr "Fel vid sättning av SASL:s externa säkerhetsstyrka" + +-#: conn/sasl.c:629 ++#: conn/sasl.c:611 + msgid "Error setting SASL external user name" + msgstr "Fel vid sättning av SASL:s externa användarnamn" + +@@ -1402,138 +1664,112 @@ msgstr "\"Preconnect\"-kommandot misslyckades" + msgid "Connection to %s closed" + msgstr "Anslutning till %s stängd" + +-#: conn/ssl.c:237 ++#: conn/ssl.c:222 + #, c-format + msgid "Filling entropy pool: %s..." + msgstr "Fyller slumptalscentral: %s..." + +-#: conn/ssl.c:243 ++#: conn/ssl.c:228 + #, c-format + msgid "%s has insecure permissions" + msgstr "%s har osäkra rättigheter" + +-#: conn/ssl.c:385 ++#: conn/ssl.c:369 + #, fuzzy + msgid "SSL disabled due to the lack of entropy" + msgstr "SSL inaktiverat på grund av bristen på slumptal" + +-#: conn/ssl.c:402 ++#: conn/ssl.c:386 + msgid "Unknown" + msgstr "Okänd" + +-#: conn/ssl.c:421 conn/ssl_gnutls.c:186 ++#: conn/ssl.c:405 conn/ssl_gnutls.c:188 + #, c-format + msgid "[unable to calculate]" + msgstr "[kan inte beräkna]" + +-#: conn/ssl.c:446 ++#: conn/ssl.c:430 + msgid "[invalid date]" + msgstr "[ogiltigt datum]" + +-#: conn/ssl.c:506 ++#: conn/ssl.c:490 + msgid "Server certificate is not yet valid" + msgstr "Servercertifikat är inte giltigt än" + +-#: conn/ssl.c:516 ++#: conn/ssl.c:500 + msgid "Server certificate has expired" + msgstr "Servercertifikat har utgått" + +-#: conn/ssl.c:605 ++#: conn/ssl.c:589 + msgid "Failed to find enough entropy on your system" + msgstr "Misslyckades med att hitta tillräckligt med slumptal på ditt system" + +-#: conn/ssl.c:799 ++#: conn/ssl.c:783 + #, fuzzy + msgid "can't get certificate subject" + msgstr "Kunde inte hämta certifikat från \"peer\"" + +-#: conn/ssl.c:808 conn/ssl.c:816 ++#: conn/ssl.c:792 conn/ssl.c:800 + #, fuzzy + msgid "can't get certificate common name" + msgstr "Kunde inte hämta certifikat från \"peer\"" + +-#: conn/ssl.c:830 ++#: conn/ssl.c:814 + #, fuzzy, c-format + msgid "certificate owner does not match hostname %s" + msgstr "Ägarens S/MIME-certifikat matchar inte avsändarens." + +-#: conn/ssl.c:904 conn/ssl_gnutls.c:539 ++#: conn/ssl.c:917 conn/ssl_gnutls.c:570 + msgid "This certificate belongs to:" + msgstr "Det här certifikatet tillhör:" + +-#: conn/ssl.c:913 conn/ssl_gnutls.c:593 ++#: conn/ssl.c:926 conn/ssl_gnutls.c:624 + msgid "This certificate was issued by:" + msgstr "Det här certifikatet utfärdades av:" + +-#: conn/ssl.c:922 conn/ssl_gnutls.c:604 ++#: conn/ssl.c:935 conn/ssl_gnutls.c:635 + msgid "This certificate is valid" + msgstr "Det här certifikatet är giltigt" + +-#: conn/ssl.c:923 conn/ssl_gnutls.c:608 ++#: conn/ssl.c:936 conn/ssl_gnutls.c:639 + #, c-format + msgid " from %s" + msgstr " från %s" + +-#: conn/ssl.c:925 conn/ssl_gnutls.c:612 ++#: conn/ssl.c:938 conn/ssl_gnutls.c:643 + #, c-format + msgid " to %s" +-msgstr " till %s" +- +-#: conn/ssl.c:931 conn/ssl_gnutls.c:617 +-#, c-format +-msgid "SHA1 Fingerprint: %s" +-msgstr "SHA1 Fingeravtryck: %s" +- +-#: conn/ssl.c:937 conn/ssl.c:940 conn/ssl_gnutls.c:623 conn/ssl_gnutls.c:625 +-#, fuzzy +-msgid "SHA256 Fingerprint: " +-msgstr "SHA1 Fingeravtryck: %s" +- +-#: conn/ssl.c:944 conn/ssl_gnutls.c:664 +-#, c-format +-msgid "SSL Certificate check (certificate %zu of %zu in chain)" +-msgstr "" +- +-#. L10N: These four letters correspond to the choices in the next four strings: +-#. (r)eject, accept (o)nce, (a)ccept always, (s)kip. +-#. These prompts are the interactive certificate confirmation prompts for +-#. an OpenSSL connection. +-#: conn/ssl.c:964 +-msgid "roas" +-msgstr "" +- +-#: conn/ssl.c:968 +-#, fuzzy +-msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" +-msgstr "(f)örkasta, (g)odkänn den här gången, godkänn (v)arje gång" ++msgstr " till %s" + +-#: conn/ssl.c:970 conn/ssl_gnutls.c:671 +-msgid "(r)eject, accept (o)nce, (a)ccept always" +-msgstr "(f)örkasta, (g)odkänn den här gången, godkänn (v)arje gång" ++#: conn/ssl.c:944 conn/ssl_gnutls.c:648 ++#, c-format ++msgid "SHA1 Fingerprint: %s" ++msgstr "SHA1 Fingeravtryck: %s" + +-#: conn/ssl.c:975 ++#: conn/ssl.c:950 conn/ssl.c:953 conn/ssl_gnutls.c:654 conn/ssl_gnutls.c:656 + #, fuzzy +-msgid "(r)eject, accept (o)nce, (s)kip" +-msgstr "(f)örkasta, (g)odkänn den här gången" ++msgid "SHA256 Fingerprint: " ++msgstr "SHA1 Fingeravtryck: %s" + +-#: conn/ssl.c:977 conn/ssl_gnutls.c:680 +-msgid "(r)eject, accept (o)nce" +-msgstr "(f)örkasta, (g)odkänn den här gången" ++#: conn/ssl.c:957 conn/ssl_gnutls.c:695 ++#, c-format ++msgid "SSL Certificate check (certificate %zu of %zu in chain)" ++msgstr "" + +-#: conn/ssl.c:981 conn/ssl_gnutls.c:689 ncrypt/crypt_gpgme.c:4729 +-#: ncrypt/pgpkey.c:664 ncrypt/smime.c:549 ++#: conn/ssl.c:994 conn/ssl_gnutls.c:720 ncrypt/crypt_gpgme.c:4777 ++#: ncrypt/pgpkey.c:667 ncrypt/smime.c:551 + msgid "Exit " + msgstr "Avsluta " + +-#: conn/ssl.c:1016 conn/ssl_gnutls.c:742 ++#: conn/ssl.c:1029 conn/ssl_gnutls.c:773 + msgid "Warning: Couldn't save certificate" + msgstr "Varning: kunde inte spara certifikat" + +-#: conn/ssl.c:1020 conn/ssl_gnutls.c:746 ++#: conn/ssl.c:1033 conn/ssl_gnutls.c:777 + msgid "Certificate saved" + msgstr "Certifikat sparat" + +-#: conn/ssl.c:1132 ++#: conn/ssl.c:1147 + #, fuzzy, c-format + msgid "Certificate host check failed: %s" + msgstr "Certifikat sparat" +@@ -1541,15 +1777,15 @@ msgstr "Certifikat sparat" + #. L10N: This is a warning when trying to set the host name for + #. * TLS Server Name Indication (SNI). This allows the server to present + #. * the correct certificate if it supports multiple hosts. +-#: conn/ssl.c:1213 conn/ssl_gnutls.c:1072 ++#: conn/ssl.c:1228 conn/ssl_gnutls.c:1105 + msgid "Warning: unable to set TLS SNI host name" + msgstr "" + +-#: conn/ssl.c:1224 ++#: conn/ssl.c:1239 + msgid "I/O error" + msgstr "I/O-fel" + +-#: conn/ssl.c:1233 ++#: conn/ssl.c:1248 + #, c-format + msgid "SSL failed: %s" + msgstr "SSL misslyckades: %s" +@@ -1557,90 +1793,74 @@ msgstr "SSL misslyckades: %s" + #. L10N: an SSL context is a data structure returned by the OpenSSL + #. function SSL_CTX_new(). In this case it returned NULL: an + #. error condition. +-#: conn/ssl.c:1269 ++#: conn/ssl.c:1284 + #, fuzzy + msgid "Unable to create SSL context" + msgstr "Fel: kunde inte skapa OpenSSL-underprocess!" + +-#: conn/ssl.c:1322 ++#: conn/ssl.c:1337 + msgid "Warning: error enabling ssl_verify_partial_chains" + msgstr "" + +-#: conn/ssl_gnutls.c:150 conn/ssl_gnutls.c:784 conn/ssl_gnutls.c:793 ++#: conn/ssl_gnutls.c:152 conn/ssl_gnutls.c:817 conn/ssl_gnutls.c:826 + msgid "Unable to get certificate from peer" + msgstr "Kunde inte hämta certifikat från \"peer\"" + +-#: conn/ssl_gnutls.c:155 ++#: conn/ssl_gnutls.c:157 + #, c-format + msgid "Certificate verification error (%s)" + msgstr "Certifikatverifieringsfel (%s)" + +-#: conn/ssl_gnutls.c:162 ++#: conn/ssl_gnutls.c:164 + msgid "Certificate is not X.509" + msgstr "Certifikat är inte X.509" + +-#: conn/ssl_gnutls.c:349 conn/ssl_gnutls.c:483 ++#: conn/ssl_gnutls.c:351 conn/ssl_gnutls.c:485 + msgid "Error initialising gnutls certificate data" + msgstr "Fel vid initiering av gnutls certifikatdata" + +-#: conn/ssl_gnutls.c:355 conn/ssl_gnutls.c:489 ++#: conn/ssl_gnutls.c:357 conn/ssl_gnutls.c:491 + msgid "Error processing certificate data" + msgstr "Fel vid bearbeting av certifikatdata" + +-#: conn/ssl_gnutls.c:635 ++#: conn/ssl_gnutls.c:666 + msgid "WARNING: Server certificate is not yet valid" + msgstr "VARNING: Servercertifikat är inte giltigt än" + +-#: conn/ssl_gnutls.c:640 ++#: conn/ssl_gnutls.c:671 + msgid "WARNING: Server certificate has expired" + msgstr "VARNING: Servercertifikat har utgått" + +-#: conn/ssl_gnutls.c:645 ++#: conn/ssl_gnutls.c:676 + msgid "WARNING: Server certificate has been revoked" + msgstr "VARNING: Servercertifikat har återkallats" + +-#: conn/ssl_gnutls.c:650 ++#: conn/ssl_gnutls.c:681 + msgid "WARNING: Server hostname does not match certificate" + msgstr "VARNING: Servervärdnamnet matchar inte certifikat" + +-#: conn/ssl_gnutls.c:655 ++#: conn/ssl_gnutls.c:686 + msgid "WARNING: Signer of server certificate is not a CA" + msgstr "VARNING: Signerare av servercertifikat är inte en CA" + +-#: conn/ssl_gnutls.c:659 conn/ssl_gnutls.c:1004 ++#: conn/ssl_gnutls.c:690 conn/ssl_gnutls.c:1037 + msgid "Warning: Server certificate was signed using an insecure algorithm" + msgstr "" + +-#. L10N: These three letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce, (a)ccept always. +-#. This is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:676 +-msgid "roa" +-msgstr "fgv" +- +-#. L10N: These two letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce. +-#. These is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:685 +-msgid "ro" +-msgstr "fg" +- +-#: conn/ssl_gnutls.c:950 conn/ssl_gnutls.c:992 ++#: conn/ssl_gnutls.c:983 conn/ssl_gnutls.c:1025 + msgid "All available protocols for TLS/SSL connection disabled" + msgstr "Alla tillgängliga protokoll för TLS/SSL-anslutning inaktiverade" + +-#: conn/ssl_gnutls.c:999 ++#: conn/ssl_gnutls.c:1032 + msgid "Explicit ciphersuite selection via $ssl_ciphers not supported" + msgstr "" + +-#: conn/ssl_gnutls.c:1120 ++#: conn/ssl_gnutls.c:1153 + #, c-format + msgid "SSL/TLS connection using %s (%s/%s/%s)" + msgstr "SSL/TLS-anslutning använder %s (%s/%s/%s)" + +-#: conn/ssl_gnutls.c:1175 conn/ssl_gnutls.c:1204 ++#: conn/ssl_gnutls.c:1210 conn/ssl_gnutls.c:1239 + msgid "Error: no TLS socket open" + msgstr "Fel: ingen TLS-socket öppen" + +@@ -1659,38 +1879,18 @@ msgstr "Tunnelfel vid förbindelsen till %s: %s" + msgid "Tunnel to %s returned error %d (%s)" + msgstr "Tunnel till %s returnerade fel %d (%s)" + +-#: copy.c:660 ++#: copy.c:662 + #, c-format + msgid "The length calculation was wrong by %ld byte" + msgid_plural "The length calculation was wrong by %ld bytes" + msgstr[0] "" + msgstr[1] "" + +-#: copy.c:744 ++#: copy.c:746 + msgid "No decryption engine available for message" + msgstr "" + +-#: curs_lib.c:378 +-msgid "yes" +-msgstr "ja" +- +-#: curs_lib.c:379 +-msgid "no" +-msgstr "nej" +- +-#: curs_lib.c:518 +-msgid "Exit NeoMutt?" +-msgstr "Avsluta NeoMutt?" +- +-#: curs_lib.c:597 +-msgid "Press any key to continue..." +-msgstr "Tryck på valfri tangent för att fortsätta..." +- +-#: curs_lib.c:705 +-msgid " ('?' for list): " +-msgstr " (\"?\" för lista): " +- +-#: edit.c:64 ++#: edit.c:62 + #, fuzzy + msgid "" + "~~ insert a line beginning with a single ~\n" +@@ -1713,7 +1913,7 @@ msgstr "" + "~M meddelanden samma som ~m, fast inkludera huvuden\n" + "~p skriv ut meddelandet\n" + +-#: edit.c:75 ++#: edit.c:73 + msgid "" + "~q write file and quit editor\n" + "~r file read a file into the editor\n" +@@ -1735,20 +1935,20 @@ msgstr "" + "~? det här meddelandet\n" + ". ensam på en rad avslutar inmatning\n" + +-#: edit.c:261 ++#: edit.c:259 + #, c-format + msgid "%d: invalid message number.\n" + msgstr "%d: ogiltigt meddelandenummer.\n" + +-#: edit.c:416 ++#: edit.c:414 + msgid "(End message with a . on a line by itself)\n" + msgstr "(Avsluta meddelande med en . på en egen rad)\n" + +-#: edit.c:474 ++#: edit.c:472 + msgid "No mailbox.\n" + msgstr "Ingen brevlåda.\n" + +-#: edit.c:478 ++#: edit.c:476 + msgid "Message contains:\n" + msgstr "Meddelande innehåller:\n" + +@@ -1756,19 +1956,19 @@ msgstr "Meddelande innehåller:\n" + #. not IN the middle of the content. + #. So it doesn't mean "(message will continue)" + #. but means "(press any key to continue using neomutt)". +-#: edit.c:486 edit.c:547 ++#: edit.c:484 edit.c:545 + msgid "(continue)\n" + msgstr "(fortsätt)\n" + +-#: edit.c:499 ++#: edit.c:497 + msgid "missing filename.\n" + msgstr "saknar filnamn.\n" + +-#: edit.c:519 ++#: edit.c:517 + msgid "No lines in message.\n" + msgstr "Inga rader i meddelandet.\n" + +-#: edit.c:558 ++#: edit.c:556 + #, c-format + msgid "%s: unknown editor command (~? for help)\n" + msgstr "%s: okänt redigeringskommando (~? för hjälp)\n" +@@ -1815,19 +2015,73 @@ msgstr "Kan inte lägga till folder: %s" + msgid "multipart message has no boundary parameter" + msgstr "\"multipart\"-meddelande har ingen avgränsningsparameter" + +-#: flags.c:382 index.c:2561 index.c:2604 index.c:3134 index.c:3171 ++#: flags.c:381 index.c:2587 index.c:2630 index.c:3160 index.c:3197 + #: mutt_thread.c:1091 mutt_thread.c:1158 mutt_thread.c:1246 + msgid "Threading is not enabled" + msgstr "Trådning ej aktiverat" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Set flag" + msgstr "Sätt flagga" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Clear flag" + msgstr "Ta bort flagga" + ++#: gui/color.c:633 gui/color.c:644 ++#, c-format ++msgid "%s: color not supported by term" ++msgstr "%s: färgen stöds inte av terminalen" ++ ++#: gui/color.c:652 ++#, c-format ++msgid "%s: no such color" ++msgstr "%s: färgen saknas" ++ ++#: gui/color.c:717 gui/color.c:740 gui/color.c:751 gui/color.c:842 ++#, c-format ++msgid "%s: no such object" ++msgstr "%s: objektet finns inte" ++ ++#: gui/color.c:1142 ++#, c-format ++msgid "%s: no such attribute" ++msgstr "%s: attributet finns inte" ++ ++#: gui/color.c:1244 ++msgid "default colors not supported" ++msgstr "standardfärgerna stöds inte" ++ ++#: gui/color.c:1282 ++#, c-format ++msgid "Maximum quoting level is %d" ++msgstr "" ++ ++#: gui/color.c:1319 ++#, fuzzy, c-format ++msgid "%s: invalid number: %s" ++msgstr "%d: ogiltigt meddelandenummer.\n" ++ ++#: gui/curs_lib.c:379 ++msgid "yes" ++msgstr "ja" ++ ++#: gui/curs_lib.c:380 ++msgid "no" ++msgstr "nej" ++ ++#: gui/curs_lib.c:519 ++msgid "Exit NeoMutt?" ++msgstr "Avsluta NeoMutt?" ++ ++#: gui/curs_lib.c:598 ++msgid "Press any key to continue..." ++msgstr "Tryck på valfri tangent för att fortsätta..." ++ ++#: gui/curs_lib.c:749 ++msgid " ('?' for list): " ++msgstr " (\"?\" för lista): " ++ + #: handler.c:102 + #, fuzzy, c-format + msgid "[-- Type: %s/%s%s%s, Encoding: %s, Size: %s --]\n" +@@ -1848,23 +2102,23 @@ msgstr "[-- Automatisk visning med %s --]\n" + msgid "Invoking autoview command: %s" + msgstr "Kommando för automatisk visning: %s" + +-#: handler.c:591 mutt_attach.c:527 mutt_attach.c:714 mutt_attach.c:745 +-#: mutt_attach.c:1087 mutt_attach.c:1152 ncrypt/pgpkey.c:723 +-#: ncrypt/pgpkey.c:920 ++#: handler.c:590 mutt_attach.c:555 mutt_attach.c:747 mutt_attach.c:778 ++#: mutt_attach.c:1120 mutt_attach.c:1185 ncrypt/pgpkey.c:756 ++#: ncrypt/pgpkey.c:955 + msgid "Can't create filter" + msgstr "Kan inte skapa filter" + +-#: handler.c:595 ++#: handler.c:594 + #, c-format + msgid "[-- Can't run %s. --]\n" + msgstr "[-- Kan inte köra %s. --]\n" + +-#: handler.c:614 handler.c:635 ++#: handler.c:613 handler.c:634 + #, c-format + msgid "[-- Autoview stderr of %s --]\n" + msgstr "[-- Automatisk visning av standardfel gällande %s --]\n" + +-#: handler.c:764 ++#: handler.c:763 + msgid "[-- Error: message/external-body has no access-type parameter --]\n" + msgstr "[-- Fel: \"message/external-body\" har ingen åtkomsttypsparameter --]\n" + +@@ -1883,7 +2137,7 @@ msgstr "[-- Fel: \"message/external-body\" har ingen åtkomsttypsparameter --]\n + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:807 ++#: handler.c:806 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" +@@ -1912,7 +2166,7 @@ msgstr[1] "" + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:830 ++#: handler.c:829 + #, fuzzy, c-format + msgid "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" + msgid_plural "[-- This %s/%s attachment (size %s bytes) has been deleted --]\n" +@@ -1926,7 +2180,7 @@ msgstr[1] "[-- Den här %s/%s bilagan (storlek %s byte)har raderats --]\n" + #. + #. Caution: Argument three %3$ is also defined but should not be used + #. in this translation! +-#: handler.c:848 ++#: handler.c:847 + #, fuzzy + msgid "" + "[-- This %s/%s attachment has been deleted --]\n" +@@ -1938,12 +2192,12 @@ msgstr "" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The first "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:856 ++#: handler.c:855 + #, fuzzy, c-format + msgid "[-- This %s/%s attachment has been deleted --]\n" + msgstr "[-- Den här %s/%s bilagan har raderats --]\n" + +-#: handler.c:866 ++#: handler.c:865 + #, c-format + msgid "[-- name: %s --]\n" + msgstr "[-- namn: %s --]\n" +@@ -1951,7 +2205,7 @@ msgstr "[-- namn: %s --]\n" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:884 ++#: handler.c:883 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -1967,7 +2221,7 @@ msgstr "" + #. The "%s/%s" is a MIME type, e.g. "text/plain". The %s after + #. access-type is an access-type as defined by the MIME RFCs, e.g. "FTP", + #. "LOCAL-FILE", "MAIL-SERVER". +-#: handler.c:905 ++#: handler.c:904 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -1976,96 +2230,96 @@ msgstr "" + "[-- Den här %s/%s bilagan är inte inkluderad, --]\n" + "[-- och den angivna åtkomsttypen %s stöds inte --]\n" + +-#: handler.c:1090 ++#: handler.c:1089 + msgid "[-- Error: Could not display any parts of Multipart/Alternative --]\n" + msgstr "[-- Fel : Kan inte visa någon del av \"Multipart/Alternative\" --]\n" + + #. L10N: %s is the attachment description, filename or form_name. +-#: handler.c:1231 ++#: handler.c:1230 + #, fuzzy, c-format + msgid "[-- Attachment #%d: %s --]\n" + msgstr "[-- Bilaga #%d: %s --]\n" + +-#: handler.c:1236 ++#: handler.c:1235 + #, fuzzy, c-format + msgid "[-- Attachment #%d --]\n" + msgstr "[-- Bilaga #%d --]\n" + +-#: handler.c:1254 ++#: handler.c:1253 + #, fuzzy + msgid "One or more parts of this message could not be displayed" + msgstr "Varning: En del av detta meddelande har inte blivit signerat." + +-#: handler.c:1320 ++#: handler.c:1319 + #, fuzzy + msgid "Unable to open 'memory stream'" + msgstr "Kunde inte öppna tillfällig fil" + +-#: handler.c:1330 ++#: handler.c:1329 + msgid "Unable to open temporary file" + msgstr "Kunde inte öppna tillfällig fil" + +-#: handler.c:1379 ++#: handler.c:1378 + #, fuzzy + msgid "failed to re-open 'memory stream'" + msgstr "Kunde inte öppna tillfällig fil" + +-#: handler.c:1620 ++#: handler.c:1619 + msgid "Error: multipart/signed has no protocol" + msgstr "Fel: \"multipart/signed\" har inget protokoll" + + #. L10N: %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1694 ++#: handler.c:1693 + #, fuzzy, c-format + msgid "[-- This is an attachment (use '%s' to view this part) --]\n" + msgstr "[-- Den här %s/%s bilagan (använd \"%s\" för att visa den här delen) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". + #. The last %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1701 ++#: handler.c:1700 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported (use '%s' to view this part) --]\n" + msgstr "[-- %s/%s stöds inte (använd \"%s\" för att visa den här delen) --]\n" + +-#: handler.c:1709 ++#: handler.c:1708 + #, fuzzy + msgid "[-- This is an attachment (need 'view-attachments' bound to key) --]\n" + msgstr "[-- Den här %s/%s bilagan (\"view-attachments\" måste knytas till tangent) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1715 ++#: handler.c:1714 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported (need 'view-attachments' bound to key) --]\n" + msgstr "[-- %s/%s stöds inte (\"view-attachments\" måste knytas till tangent) --]\n" + +-#: handler.c:1724 ++#: handler.c:1723 + #, fuzzy + msgid "[-- This is an attachment --]\n" + msgstr "[-- Den här %s/%s bilagan --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1729 ++#: handler.c:1728 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported --]\n" + msgstr "[-- %s/%s stöds inte --]\n" + +-#: help.c:400 ++#: help.c:401 + msgid "ERROR: please report this bug" + msgstr "FEL: var vänlig rapportera den här buggen" + +-#: help.c:455 ++#: help.c:456 + msgid "" + msgstr "" + +-#: help.c:469 ++#: help.c:470 + msgid "Generic bindings:" + msgstr "Allmänna knytningar:" + +-#: help.c:473 ++#: help.c:474 + msgid "Unbound functions:" + msgstr "Oknutna funktioner:" + +-#: help.c:481 ++#: help.c:482 + #, c-format + msgid "Help for %s" + msgstr "Hjälp för %s" +@@ -2082,41 +2336,41 @@ msgstr "" + msgid "badly formatted command string" + msgstr "" + +-#: hook.c:461 ++#: hook.c:466 + msgid "unhook: Can't do unhook * from within a hook" + msgstr "\"unhook\": Kan inte göra \"unhook *\" inifrån en \"hook\"" + +-#: hook.c:474 ++#: hook.c:479 + #, c-format + msgid "unhook: unknown hook type: %s" + msgstr "\"unhook\": okänd \"hook\"-typ: %s" + +-#: hook.c:484 ++#: hook.c:489 + #, c-format + msgid "unhook: Can't delete a %s from within a %s" + msgstr "\"unhook\": Kan inte ta bort en %s inifrån en %s" + + #. L10N: '%s' is the (misspelled) name of the menu, e.g. 'index' or 'pager' +-#: icommands.c:259 keymap.c:1161 keymap.c:1346 ++#: icommands.c:261 keymap.c:1159 keymap.c:1344 + #, c-format + msgid "%s: no such menu" + msgstr "%s: ingen sådan meny" + + #. L10N: '%s' is the name of the menu, e.g. 'index' or 'pager', it might + #. L10N: also be 'all' when all menus are affected. +-#: icommands.c:272 ++#: icommands.c:274 + #, fuzzy, c-format + msgid "%s: no binds for this menu" + msgstr "%s: ingen sådan meny" + +-#: icommands.c:272 ++#: icommands.c:274 + #, fuzzy, c-format + msgid "%s: no macros for this menu" + msgstr "%s: ingen sådan meny" + + #. L10N: '%s' is the file name of the temporary file +-#: icommands.c:283 icommands.c:296 icommands.c:316 icommands.c:340 +-#: icommands.c:360 icommands.c:371 imap/message.c:1093 ++#: icommands.c:285 icommands.c:297 icommands.c:317 icommands.c:340 ++#: icommands.c:360 icommands.c:370 imap/message.c:1093 + #, c-format + msgid "Could not create temporary file %s" + msgstr "Kunde inte skapa tillfällig fil %s" +@@ -2154,30 +2408,30 @@ msgstr "GSSAPI-verifiering misslyckades" + msgid "LOGIN disabled on this server" + msgstr "LOGIN inaktiverat på den här servern" + +-#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:288 ++#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:289 + msgid "Logging in..." + msgstr "Loggar in..." + +-#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:329 ++#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:330 + msgid "Login failed" + msgstr "Inloggning misslyckades" + +-#: imap/auth_oauth.c:64 pop/pop_auth.c:346 smtp.c:524 ++#: imap/auth_oauth.c:65 pop/pop_auth.c:347 smtp.c:549 + #, fuzzy + msgid "Authenticating (OAUTHBEARER)..." + msgstr "Verifierar (SASL)..." + +-#: imap/auth_oauth.c:96 ++#: imap/auth_oauth.c:97 + #, fuzzy + msgid "OAUTHBEARER authentication failed" + msgstr "OAUTHBEARER-autentisering misslyckades" + +-#: imap/auth_sasl.c:128 nntp/nntp.c:606 nntp/nntp.c:671 smtp.c:443 ++#: imap/auth_sasl.c:128 nntp/nntp.c:608 nntp/nntp.c:673 smtp.c:468 + #, c-format + msgid "Authenticating (%s)..." + msgstr "Verifierar (%s)..." + +-#: imap/auth_sasl.c:259 pop/pop_auth.c:200 smtp.c:584 smtp.c:646 ++#: imap/auth_sasl.c:259 pop/pop_auth.c:201 smtp.c:609 smtp.c:671 + msgid "SASL authentication failed" + msgstr "SASL-autentisering misslyckades" + +@@ -2225,90 +2479,80 @@ msgstr "Kunde ej döpa om: %s" + msgid "Mailbox renamed" + msgstr "Brevlåda omdöpt" + +-#: imap/command.c:164 ++#: imap/command.c:177 + #, fuzzy, c-format + msgid "Mailbox %s@%s closed" + msgstr "Brevlåda stängd." + +-#: imap/command.c:1258 imap/command.c:1370 ++#: imap/command.c:1287 imap/command.c:1399 + #, fuzzy, c-format + msgid "Connection to %s timed out" + msgstr "Anslutning till %s stängd" + +-#: imap/imap.c:87 ++#: imap/imap.c:93 + #, fuzzy + msgid "This IMAP server is ancient. NeoMutt does not work with it." + msgstr "Den här IMAP-servern är uråldrig. NeoMutt fungerar inte med den." + +-#: imap/imap.c:438 ++#: imap/imap.c:444 + #, c-format + msgid "Header search without header name: %s" + msgstr "Huvudsökning utan huvudnamn: %s" + +-#: imap/imap.c:468 ++#: imap/imap.c:474 + #, c-format + msgid "Server-side custom search not supported: %s" + msgstr "" + +-#: imap/imap.c:584 ++#: imap/imap.c:590 + #, fuzzy, c-format + msgid "CREATE failed: %s" + msgstr "SSL misslyckades: %s" + +-#: imap/imap.c:704 ++#: imap/imap.c:710 + #, c-format + msgid "Closing connection to %s..." + msgstr "Stänger anslutning till %s..." + +-#: imap/imap.c:882 nntp/nntp.c:1889 pop/pop_lib.c:324 smtp.c:687 ++#: imap/imap.c:888 nntp/nntp.c:1891 pop/pop_lib.c:350 smtp.c:712 + msgid "Secure connection with TLS?" + msgstr "Säker anslutning med TLS?" + +-#: imap/imap.c:895 nntp/nntp.c:1910 pop/pop_lib.c:343 smtp.c:702 ++#: imap/imap.c:901 nntp/nntp.c:1912 pop/pop_lib.c:369 smtp.c:727 + msgid "Could not negotiate TLS connection" + msgstr "Kunde inte förhandla fram TLS-anslutning" + +-#: imap/imap.c:910 pop/pop_lib.c:360 ++#: imap/imap.c:916 pop/pop_lib.c:386 + msgid "Encrypted connection unavailable" + msgstr "Krypterad anslutning otillgänglig" + +-#: imap/imap.c:1417 ++#: imap/imap.c:1430 + #, c-format + msgid "Subscribing to %s..." + msgstr "Prenumererar på %s..." + +-#: imap/imap.c:1419 ++#: imap/imap.c:1432 + #, c-format + msgid "Unsubscribing from %s..." + msgstr "Avslutar prenumeration på %s..." + +-#: imap/imap.c:1430 init.c:2142 +-#, c-format +-msgid "Subscribed to %s" +-msgstr "Prenumererar på %s..." +- +-#: imap/imap.c:1432 init.c:2620 +-#, c-format +-msgid "Unsubscribed from %s" +-msgstr "Avslutar prenumeration på %s" +- +-#: imap/imap.c:1582 imap/message.c:1674 ++#: imap/imap.c:1595 imap/message.c:1674 + #, fuzzy, c-format + msgid "Copying %d message to %s..." + msgid_plural "Copying %d messages to %s..." + msgstr[0] "Kopierar %d meddelanden till %s..." + msgstr[1] "Kopierar %d meddelanden till %s..." + +-#: imap/imap.c:1599 imap/imap.c:2217 imap/message.c:1713 muttlib.c:1505 ++#: imap/imap.c:1612 imap/imap.c:2254 imap/message.c:1713 muttlib.c:1503 + #, c-format + msgid "Create %s?" + msgstr "Skapa %s?" + +-#: imap/imap.c:1667 ++#: imap/imap.c:1685 + msgid "Expunge failed" + msgstr "Radering misslyckades" + +-#: imap/imap.c:1683 ++#: imap/imap.c:1701 + #, fuzzy, c-format + msgid "Marking %d message deleted..." + msgid_plural "Marking %d messages deleted..." +@@ -2316,44 +2560,44 @@ msgstr[0] "Märker %d meddelanden som raderade..." + msgstr[1] "Märker %d meddelanden som raderade..." + + #. L10N: The plural is chosen by the last %d, i.e. the total number +-#: imap/imap.c:1720 ++#: imap/imap.c:1738 + #, fuzzy, c-format + msgid "Saving changed message... [%d/%d]" + msgid_plural "Saving changed messages... [%d/%d]" + msgstr[0] "Sparar ändrade meddelanden... [%d/%d]" + msgstr[1] "Sparar ändrade meddelanden... [%d/%d]" + +-#: imap/imap.c:1776 ++#: imap/imap.c:1794 + msgid "Error saving flags. Close anyway?" + msgstr "Fel vid sparande av flaggor. Stäng ändå?" + +-#: imap/imap.c:1783 ++#: imap/imap.c:1801 + msgid "Error saving flags" + msgstr "Fel vid sparande av flaggor" + +-#: imap/imap.c:1808 ++#: imap/imap.c:1826 + msgid "Expunging messages from server..." + msgstr "Raderar meddelanden från server..." + +-#: imap/imap.c:1814 ++#: imap/imap.c:1832 + msgid "imap_sync_mailbox: EXPUNGE failed" + msgstr "imap_sync_mailbox: EXPUNGE misslyckades" + +-#: imap/imap.c:2023 nntp/nntp.c:2486 ++#: imap/imap.c:2058 nntp/nntp.c:2488 + #, c-format + msgid "Selecting %s..." + msgstr "Väljer %s..." + +-#: imap/imap.c:2184 ++#: imap/imap.c:2221 + msgid "Error opening mailbox" + msgstr "Fel vid öppning av brevlåda" + +-#: imap/imap.c:2330 ++#: imap/imap.c:2367 + #, fuzzy + msgid "IMAP server doesn't support custom flags" + msgstr "SMTP-server stöder inte autentisering" + +-#: imap/imap.c:2374 ++#: imap/imap.c:2411 + #, fuzzy + msgid "Invalid IMAP flags" + msgstr "Ogiltig " +@@ -2364,7 +2608,7 @@ msgid "Abort download and close mailbox?" + msgstr "" + + #: imap/message.c:554 mutt/memory.c:58 mutt/memory.c:98 mutt/memory.c:134 +-#: mutt/string.c:1178 mx.c:1176 ++#: mutt/string.c:1201 mx.c:1195 + msgid "Out of memory" + msgstr "Slut på minne" + +@@ -2384,7 +2628,7 @@ msgstr "Hämtar meddelandehuvuden..." + msgid "Unable to fetch headers from this IMAP server version" + msgstr "Kunde inte hämta huvuden från den versionen av IMAP-servern" + +-#: imap/message.c:1099 index.c:1548 nntp/nntp.c:1328 pop/pop.c:426 ++#: imap/message.c:1099 index.c:1554 nntp/nntp.c:1330 pop/pop.c:426 + msgid "Fetching message headers..." + msgstr "Hämtar meddelandehuvuden..." + +@@ -2397,156 +2641,156 @@ msgstr "Laddar upp meddelande..." + msgid "Copying message %d to %s..." + msgstr "Kopierar meddelande %d till %s..." + +-#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2737 pop/pop.c:1110 ++#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2739 pop/pop.c:1105 + msgid "Fetching message..." + msgstr "Hämtar meddelande..." + +-#: imap/message.c:1959 pop/pop.c:1106 ++#: imap/message.c:1959 pop/pop.c:1101 + msgid "The message index is incorrect. Try reopening the mailbox." + msgstr "Brevindexet är fel. Försök att öppna brevlådan igen." + +-#: imap/util.c:767 ++#: imap/util.c:796 + msgid "Continue?" + msgstr "Fortsätt?" + +-#: index.c:115 index.c:128 ++#: index.c:111 index.c:124 + msgid "Quit" + msgstr "Avsluta" + +-#: index.c:118 index.c:131 recvattach.c:93 ++#: index.c:114 index.c:127 recvattach.c:91 + msgid "Save" + msgstr "Spara" + +-#: index.c:119 query.c:81 ++#: index.c:115 query.c:79 + msgid "Mail" + msgstr "Brev" + +-#: index.c:120 pager.c:237 ++#: index.c:116 pager.c:229 + msgid "Reply" + msgstr "Svara" + +-#: index.c:121 ++#: index.c:117 + msgid "Group" + msgstr "Grupp" + +-#: index.c:132 pager.c:244 ++#: index.c:128 pager.c:236 + msgid "Post" + msgstr "" + +-#: index.c:133 pager.c:245 ++#: index.c:129 pager.c:237 + #, fuzzy + msgid "Followup" + msgstr "Svara till %s%s?" + +-#: index.c:190 index.c:1362 ++#: index.c:186 index.c:1367 + msgid "No mailbox is open" + msgstr "Ingen brevlåda är öppen" + +-#: index.c:196 ++#: index.c:192 + msgid "There are no messages" + msgstr "Inga meddelanden" + +-#: index.c:202 ++#: index.c:198 + msgid "No visible messages" + msgstr "Inga synliga meddelanden" + +-#: index.c:208 mx.c:901 pager.c:223 recvattach.c:80 ++#: index.c:204 mx.c:920 pager.c:215 recvattach.c:78 + msgid "Mailbox is read-only" + msgstr "Brevlådan är skrivskyddad" + +-#: index.c:214 pager.c:225 recvattach.c:98 ++#: index.c:210 pager.c:217 recvattach.c:96 + msgid "Function not permitted in attach-message mode" + msgstr "Funktionen ej tillåten i \"bifoga-meddelande\"-läge" + + #. L10N: %s is one of the CHECK_ACL entries below. +-#: index.c:239 pager.c:290 ++#: index.c:235 pager.c:282 + #, fuzzy, c-format + msgid "%s: Operation not permitted by ACL" + msgstr "Kan inte %s: Operation tillåts inte av ACL" + +-#: index.c:430 ++#: index.c:426 + msgid "Can't toggle write on a readonly mailbox" + msgstr "Kan inte växla till skrivläge på en skrivskyddad brevlåda" + +-#: index.c:437 ++#: index.c:433 + msgid "Changes to folder will be written on folder exit" + msgstr "Ändringarna i foldern skrivs när foldern lämnas" + +-#: index.c:442 ++#: index.c:438 + msgid "Changes to folder will not be written" + msgstr "Ändringarna i foldern kommer inte att skrivas" + +-#: index.c:719 muttlib.c:1490 mx.c:206 mx.c:340 ++#: index.c:714 muttlib.c:1488 mx.c:206 mx.c:338 + #, c-format + msgid "%s is not a mailbox" + msgstr "%s är inte en brevlåda" + +-#: index.c:1218 ++#: index.c:1223 + msgid "Mailbox was externally modified. Flags may be wrong." + msgstr "Brevlådan har ändrats externt. Flaggor kan vara felaktiga." + +-#: index.c:1227 pager.c:2409 ++#: index.c:1232 pager.c:2379 + msgid "New mail in this mailbox" + msgstr "Nya brev i den här brevlådan" + +-#: index.c:1242 ++#: index.c:1247 + msgid "Mailbox was externally modified" + msgstr "Brevlådan har ändrats externt" + +-#: index.c:1369 ++#: index.c:1374 + msgid "No tagged messages" + msgstr "Inga märkta meddelanden" + +-#: index.c:1373 index.c:1647 menu.c:1423 ++#: index.c:1378 index.c:1653 menu.c:1423 + msgid "Nothing to do" + msgstr "Ingenting att göra" + +-#: index.c:1470 ++#: index.c:1475 + #, fuzzy + msgid "Enter Message-Id: " + msgstr "Ange nyckel-ID: " + +-#: index.c:1481 ++#: index.c:1487 + msgid "Article has no parent reference" + msgstr "" + +-#: index.c:1504 ++#: index.c:1510 + #, fuzzy + msgid "Message is not visible in limited view" + msgstr "Första meddelandet är inte synligt i den här begränsade vyn" + +-#: index.c:1508 ++#: index.c:1514 + #, fuzzy, c-format + msgid "Fetching %s from server..." + msgstr "Raderar meddelanden från server..." + +-#: index.c:1518 nntp/nntp.c:2772 ++#: index.c:1524 nntp/nntp.c:2774 + #, c-format + msgid "Article %s not found on the server" + msgstr "" + +-#: index.c:1544 ++#: index.c:1550 + msgid "No Message-Id. Unable to perform operation." + msgstr "" + +-#: index.c:1623 ++#: index.c:1629 + #, fuzzy + msgid "No deleted messages found in the thread" + msgstr "radera alla meddelanden i tråd" + +-#: index.c:1644 ++#: index.c:1650 + msgid "Jump to message: " + msgstr "Hoppa till meddelande: " + +-#: index.c:1650 ++#: index.c:1656 + msgid "Argument must be a message number" + msgstr "Parametern måste vara ett meddelandenummer" + +-#: index.c:1652 ++#: index.c:1658 + msgid "Invalid message number" + msgstr "Ogiltigt meddelandenummer" + +-#: index.c:1654 ++#: index.c:1660 + msgid "That message is not visible" + msgstr "Det meddelandet är inte synligt" + +@@ -2559,38 +2803,38 @@ msgstr "Det meddelandet är inte synligt" + #. delete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. + #. +-#: index.c:1692 index.c:3267 pager.c:3064 ++#: index.c:1698 index.c:3293 pager.c:3039 + #, fuzzy + msgid "Can't delete messages" + msgstr "återställ meddelande(n)" + +-#: index.c:1695 ++#: index.c:1701 + msgid "Delete messages matching: " + msgstr "Radera meddelanden som matchar: " + +-#: index.c:1736 ++#: index.c:1742 + msgid "No limit pattern is in effect" + msgstr "Inget avgränsande mönster är aktivt" + + #. L10N: ask for a limit to apply +-#: index.c:1741 ++#: index.c:1747 + #, c-format + msgid "Limit: %s" + msgstr "Gräns: %s" + +-#: index.c:1778 ++#: index.c:1784 + msgid "Limit to messages matching: " + msgstr "Visa endast meddelanden som matchar: " + +-#: index.c:1809 ++#: index.c:1815 + msgid "To view all messages, limit to \"all\"" + msgstr "För att visa alla meddelanden, begränsa till \"all\"" + +-#: index.c:1821 pager.c:2514 ++#: index.c:1827 pager.c:2487 + msgid "Quit NeoMutt?" + msgstr "Avsluta NeoMutt?" + +-#: index.c:1924 ++#: index.c:1931 + msgid "Tag messages matching: " + msgstr "Märk meddelanden som matchar: " + +@@ -2598,213 +2842,213 @@ msgstr "Märk meddelanden som matchar: " + #. L10N: Due to the implementation details we do not know whether we + #. undelete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:1935 index.c:3807 pager.c:3418 ++#: index.c:1942 index.c:3833 pager.c:3396 + #, fuzzy + msgid "Can't undelete messages" + msgstr "återställ meddelande(n)" + +-#: index.c:1939 ++#: index.c:1946 + msgid "Undelete messages matching: " + msgstr "Återställ meddelanden som matchar: " + +-#: index.c:1948 ++#: index.c:1955 + msgid "Untag messages matching: " + msgstr "Avmarkera meddelanden som matchar: " + +-#: index.c:1989 ++#: index.c:1996 + msgid "Logged out of IMAP servers" + msgstr "" + +-#: index.c:2105 ++#: index.c:2113 + #, fuzzy + msgid "No virtual folder and no Message-Id, aborting" + msgstr "Inget ämne, avbryter" + +-#: index.c:2117 index.c:2288 index.c:2310 index.c:2331 ++#: index.c:2125 index.c:2313 index.c:2335 index.c:2356 + msgid "Failed to create query, aborting" + msgstr "" + +-#: index.c:2130 ++#: index.c:2138 + msgid "failed to find message in notmuch database. try running 'notmuch new'." + msgstr "" + +-#: index.c:2139 ++#: index.c:2147 + msgid "Failed to read thread, aborting" + msgstr "" + +-#: index.c:2171 mx.c:1252 mx.c:1272 ++#: index.c:2179 mx.c:1271 mx.c:1291 + #, fuzzy + msgid "Folder doesn't support tagging, aborting" + msgstr "SMTP-server stöder inte autentisering" + +-#: index.c:2188 ++#: index.c:2196 + #, fuzzy + msgid "No tag specified, aborting" + msgstr "Inget ämne, avbryter" + +-#: index.c:2198 ++#: index.c:2206 + msgid "Update tags..." + msgstr "" + +-#: index.c:2238 ++#: index.c:2246 + msgid "Failed to modify tags, aborting" + msgstr "" + +-#: index.c:2284 ++#: index.c:2293 + #, fuzzy + msgid "No query, aborting" + msgstr "Inget ämne, avbryter" + +-#: index.c:2299 index.c:2320 ++#: index.c:2324 index.c:2345 + msgid "Windowed queries disabled" + msgstr "" + +-#: index.c:2304 index.c:2325 ++#: index.c:2329 index.c:2350 + msgid "No notmuch vfolder currently loaded" + msgstr "" + +-#: index.c:2374 ++#: index.c:2399 + msgid "Open mailbox in read-only mode" + msgstr "Öppna brevlåda i skrivskyddat läge" + +-#: index.c:2376 ++#: index.c:2401 + msgid "Open mailbox" + msgstr "Öppna brevlåda" + +-#: index.c:2386 ++#: index.c:2411 + msgid "No mailboxes have new mail" + msgstr "Inga brevlådor har nya brev." + +-#: index.c:2419 ++#: index.c:2444 + #, fuzzy + msgid "Open newsgroup in read-only mode" + msgstr "Öppna brevlåda i skrivskyddat läge" + +-#: index.c:2421 ++#: index.c:2446 + msgid "Open newsgroup" + msgstr "" + +-#: index.c:2538 ++#: index.c:2564 + #, fuzzy + msgid "Exit NeoMutt without saving?" + msgstr "Avsluta NeoMutt utan att spara?" + + #. L10N: CHECK_ACL +-#: index.c:2554 ++#: index.c:2580 + #, fuzzy + msgid "Can't break thread" + msgstr "länka trådar" + +-#: index.c:2574 ++#: index.c:2600 + msgid "Thread broken" + msgstr "Tråd bruten" + +-#: index.c:2587 ++#: index.c:2613 + msgid "Thread can't be broken, message is not part of a thread" + msgstr "" + + #. L10N: CHECK_ACL +-#: index.c:2597 ++#: index.c:2623 + #, fuzzy + msgid "Can't link threads" + msgstr "länka trådar" + +-#: index.c:2606 ++#: index.c:2632 + msgid "No Message-ID: header available to link thread" + msgstr "Inget Message-ID: huvud tillgängligt för att länka tråd" + +-#: index.c:2608 ++#: index.c:2634 + msgid "First, please tag a message to be linked here" + msgstr "Var vänlig att först markera ett meddelande som ska länkas här" + +-#: index.c:2621 ++#: index.c:2647 + msgid "Threads linked" + msgstr "Trådar länkade" + +-#: index.c:2624 ++#: index.c:2650 + msgid "No thread linked" + msgstr "Ingen tråd länkad" + +-#: index.c:2665 index.c:2690 ++#: index.c:2691 index.c:2716 + msgid "You are on the last message" + msgstr "Du är på det sista meddelandet" + +-#: index.c:2673 index.c:2716 ++#: index.c:2699 index.c:2742 + msgid "No undeleted messages" + msgstr "Inga återställda meddelanden" + +-#: index.c:2708 index.c:2733 ++#: index.c:2734 index.c:2759 + msgid "You are on the first message" + msgstr "Du är på det första meddelandet" + +-#: index.c:2874 ++#: index.c:2900 + #, fuzzy + msgid "No new messages in this limited view" + msgstr "Första meddelandet är inte synligt i den här begränsade vyn" + +-#: index.c:2876 ++#: index.c:2902 + #, fuzzy + msgid "No new messages" + msgstr "Inga nya meddelanden" + +-#: index.c:2881 ++#: index.c:2907 + #, fuzzy + msgid "No unread messages in this limited view" + msgstr "Första meddelandet är inte synligt i den här begränsade vyn" + +-#: index.c:2883 ++#: index.c:2909 + #, fuzzy + msgid "No unread messages" + msgstr "Inga olästa meddelanden" + +-#: index.c:2893 menu.c:1208 pager.c:2644 pattern.c:2652 ++#: index.c:2919 menu.c:1208 pager.c:2618 pattern.c:2776 + msgid "Search wrapped to top" + msgstr "Sökning fortsatte från början" + +-#: index.c:2898 pager.c:2669 pattern.c:2663 ++#: index.c:2924 pager.c:2643 pattern.c:2787 + msgid "Search wrapped to bottom" + msgstr "Sökning fortsatte från slutet" + + #. L10N: CHECK_ACL +-#: index.c:2915 ++#: index.c:2941 + #, fuzzy + msgid "Can't flag message" + msgstr "flagga meddelande" + + #. L10N: CHECK_ACL +-#: index.c:2961 pager.c:3377 ++#: index.c:2987 pager.c:3355 + #, fuzzy + msgid "Can't toggle new" + msgstr "växla ny" + +-#: index.c:3057 ++#: index.c:3083 + msgid "No more threads" + msgstr "Inga fler trådar" + +-#: index.c:3059 ++#: index.c:3085 + msgid "You are on the first thread" + msgstr "Du är på den första tråden" + +-#: index.c:3156 ++#: index.c:3182 + #, fuzzy + msgid "Thread contains unread or flagged messages" + msgstr "Tråden innehåller olästa meddelanden" + + #. L10N: CHECK_ACL +-#: index.c:3215 pager.c:3019 ++#: index.c:3241 pager.c:2994 + #, fuzzy + msgid "Can't delete message" + msgstr "återställ meddelande(n)" + + #. L10N: CHECK_ACL +-#: index.c:3339 ++#: index.c:3365 + #, fuzzy + msgid "Can't edit message" + msgstr "Kan inte skriva meddelande" + + #. L10N: This is displayed when the x-label on one or more + #. messages is edited. +-#: index.c:3432 pager.c:3495 ++#: index.c:3458 pager.c:3473 + #, fuzzy, c-format + msgid "%d label changed" + msgid_plural "%d labels changed" +@@ -2814,7 +3058,7 @@ msgstr[1] "Brevlåda är oförändrad" + #. L10N: This is displayed when editing an x-label, but no messages + #. were updated. Possibly due to canceling at the prompt or if the new + #. label is the same as the old label. +-#: index.c:3440 pager.c:3499 ++#: index.c:3466 pager.c:3477 + #, fuzzy + msgid "No labels changed" + msgstr "Brevlåda är oförändrad" +@@ -2823,7 +3067,7 @@ msgstr "Brevlåda är oförändrad" + #. L10N: Due to the implementation details we do not know whether we + #. mark zero, 1, 12, ... messages as read. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:3571 ++#: index.c:3597 + #, fuzzy + msgid "Can't mark messages as read" + msgstr "markera meddelande(n) som lästa" +@@ -2831,14 +3075,14 @@ msgstr "markera meddelande(n) som lästa" + #. L10N: This is the prompt for . Whatever they + #. enter will be prefixed by $mark_macro_prefix and will become + #. a macro hotkey to jump to the currently selected message. +-#: index.c:3612 ++#: index.c:3638 + #, fuzzy + msgid "Enter macro stroke: " + msgstr "Ange nyckel-ID: " + + #. L10N: "message hotkey" is the key bindings menu description of a + #. macro created by . +-#: index.c:3620 ++#: index.c:3646 + #, fuzzy + msgid "message hotkey" + msgstr "Meddelande uppskjutet." +@@ -2846,260 +3090,123 @@ msgstr "Meddelande uppskjutet." + #. L10N: This is echoed after creates a new hotkey + #. macro. %s is the hotkey string ($mark_macro_prefix followed + #. by whatever they typed at the prompt.) +-#: index.c:3625 ++#: index.c:3651 + #, fuzzy, c-format + msgid "Message bound to %s" + msgstr "Meddelande återsänt" + + #. L10N: This error is printed if can't find a + #. Message-ID for the currently selected message in the index. +-#: index.c:3634 ++#: index.c:3660 + #, fuzzy + msgid "No message ID to macro" + msgstr "Inga meddelanden i den foldern" + +-#: index.c:3688 pager.c:3221 recvattach.c:1646 ++#: index.c:3714 pager.c:3196 recvattach.c:1678 + msgid "Reply by mail as poster prefers?" + msgstr "" + +-#: index.c:3691 pager.c:3182 pager.c:3194 pager.c:3224 ++#: index.c:3717 pager.c:3157 pager.c:3169 pager.c:3199 + msgid "Posting to this group not allowed, may be moderated. Continue?" + msgstr "" + + #. L10N: CHECK_ACL +-#: index.c:3768 pager.c:3397 ++#: index.c:3794 pager.c:3375 + #, fuzzy + msgid "Can't undelete message" + msgstr "återställ meddelande(n)" + +-#: init.c:313 ++#: init.c:223 + #, c-format + msgid "Error in command line: %s" + msgstr "Fel i kommandorad: %s" + +-#: init.c:315 ++#: init.c:225 + #, fuzzy, c-format + msgid "Warning in command line: %s" + msgstr "Fel i kommandorad: %s" + +-#: init.c:426 ++#: init.c:336 + #, fuzzy + msgid "unable to determine nodename via uname()" + msgstr "kunde inte avgöra användarnamn" + +-#: init.c:580 +-msgid "-group: no group name" +-msgstr "-group: inget gruppnamn" +- +-#: init.c:590 +-msgid "out of arguments" +-msgstr "slut på parametrar" +- +-#: init.c:804 init.c:1752 +-#, c-format +-msgid "Error: Can't build path of '%s'" +-msgstr "" +- +-#: init.c:817 +-#, c-format +-msgid "Error: Cyclic sourcing of configuration file '%s'" +-msgstr "" +- +-#: init.c:850 +-#, c-format +-msgid "Error in %s, line %d: %s" +-msgstr "Fel i %s, rad %d: %s" +- +-#: init.c:861 +-#, fuzzy, c-format +-msgid "Warning in %s, line %d: %s" +-msgstr "Fel i %s, rad %d: %s" +- +-#: init.c:885 +-#, c-format +-msgid "source: errors in %s" +-msgstr "source: fel i %s" +- +-#: init.c:885 +-#, fuzzy, c-format +-msgid "source: reading aborted due to too many errors in %s" +-msgstr "source: läsningen avbruten pga för många fel i %s" +- +-#: init.c:894 +-#, fuzzy, c-format +-msgid "source: %d warning in %s" +-msgid_plural "source: %d warnings in %s" +-msgstr[0] "source: fel i %s" +-msgstr[1] "source: fel i %s" +- +-#: init.c:923 +-msgid "alias: no address" +-msgstr "alias: ingen adress" +- +-#: init.c:965 +-#, c-format +-msgid "Warning: Bad IDN '%s' in alias '%s'" +-msgstr "Varning: Felaktigt IDN \"%s\" i alias \"%s\"" +- +-#: init.c:1043 +-msgid "attachments: no disposition" +-msgstr "bilagor: ingen disposition" +- +-#: init.c:1054 +-#, fuzzy +-msgid "Current attachments settings:" +-msgstr "redigera bilagebeskrivning" +- +-#: init.c:1084 +-msgid "attachments: invalid disposition" +-msgstr "bilagor: ogiltig disposition" +- +-#: init.c:1160 +-#, fuzzy, c-format +-msgid "%sgroup: missing -rx or -addr" +-msgstr "Saknar -rx eller -addr" +- +-#: init.c:1186 +-#, fuzzy, c-format +-msgid "%sgroup: warning: bad IDN '%s'" +-msgstr "Varning: Felaktigtt IDN \"%s\"" +- +-#: init.c:1278 +-#, c-format +-msgid "Error: %s" +-msgstr "" +- +-#: init.c:1445 +-msgid "invalid header field" +-msgstr "ogiltigt huvudfält" +- +-#: init.c:1711 init.c:1815 +-#, c-format +-msgid "%s: unknown variable" +-msgstr "%s: okänd variabel" +- +-#: init.c:1908 +-#, c-format +-msgid "%s is unset" +-msgstr "%s är inte satt" +- +-#: init.c:1953 mutt_lua.c:478 +-#, c-format +-msgid "source: error at %s" +-msgstr "source: fel vid %s" +- +-#: init.c:1961 +-#, fuzzy, c-format +-msgid "source: file %s could not be sourced" +-msgstr "Meddelanden kunde inte skrivas ut" +- +-#: init.c:1984 +-msgid "spam: no matching pattern" +-msgstr "spam: inget matchande mönster" +- +-#: init.c:1986 +-msgid "nospam: no matching pattern" +-msgstr "nospam: inget matchande mönster" +- +-#: init.c:2146 +-#, fuzzy, c-format +-msgid "Could not subscribe to %s" +-msgstr "Prenumererar på %s..." +- +-#: init.c:2154 init.c:2632 +-#, fuzzy +-msgid "No folder specified" +-msgstr "Inget ärende angivet." +- +-#: init.c:2341 +-msgid "unattachments: no disposition" +-msgstr "gamla bilagor: ingen disposition" +- +-#: init.c:2379 +-msgid "unattachments: invalid disposition" +-msgstr "gamla bilagor: ogiltigt disposition" +- +-#: init.c:2624 +-#, fuzzy, c-format +-msgid "Could not unsubscribe from %s" +-msgstr "Avslutar prenumeration på %s" +- +-#: init.c:3292 ++#: init.c:1042 + #, c-format + msgid "%s: unknown command" + msgstr "%s: okänt kommando" + +-#: init.c:3837 ++#: init.c:1588 + msgid "'charset' must contain exactly one character set name" + msgstr "" + +-#: init.c:3853 init.c:3877 init.c:3912 ++#: init.c:1604 init.c:1628 init.c:1663 + #, fuzzy, c-format + msgid "Invalid value for option %s: %s" + msgstr "Ogiltig dag i månaden: %s" + +-#: init.c:3890 ++#: init.c:1641 + #, c-format + msgid "Option %s may not be set or reset from the pager" + msgstr "" + +-#: init.c:3928 ++#: init.c:1679 + #, fuzzy, c-format + msgid "Option %s may not be set when in attach-message mode" + msgstr "Funktionen ej tillåten i \"bifoga-meddelande\"-läge." + + #. L10N: This applies to the "$wrap_headers" config variable +-#: init.c:3943 ++#: init.c:1694 + #, c-format + msgid "Option %s must between 78 and 998 inclusive" + msgstr "" + +-#: keymap.c:373 keymap.c:381 ++#: keymap.c:371 keymap.c:379 + #, c-format + msgid "Binding '%s' will alias '%s' Before, try: 'bind %s %s noop' https://neomutt.org/guide/configuration.html#bind-warnings" + msgstr "" + +-#: keymap.c:757 ++#: keymap.c:755 + msgid "Macro loop detected" + msgstr "Oändlig slinga i macro upptäckt" + +-#: keymap.c:1064 keymap.c:1099 ++#: keymap.c:1062 keymap.c:1097 + msgid "Key is not bound" + msgstr "Tangenten är inte knuten" + +-#: keymap.c:1104 ++#: keymap.c:1102 + #, c-format + msgid "Key is not bound. Press '%s' for help." + msgstr "Tangenten är inte knuten. Tryck \"%s\" för hjälp." + +-#: keymap.c:1177 ++#: keymap.c:1175 + #, c-format + msgid "%s: null key sequence" + msgstr "%s: tom tangentsekvens" + +-#: keymap.c:1212 ++#: keymap.c:1210 + #, c-format + msgid "Function '%s' not available for menu '%s'" + msgstr "" + +-#: keymap.c:1495 ++#: keymap.c:1493 + msgid "macro: empty key sequence" + msgstr "macro: tom tangentsekvens" + +-#: keymap.c:1543 ++#: keymap.c:1541 + msgid "exec: no arguments" + msgstr "exec: inga parametrar" + +-#: keymap.c:1563 ++#: keymap.c:1561 + #, c-format + msgid "%s: no such function" + msgstr "%s: ingen sådan funktion" + +-#: keymap.c:1584 ++#: keymap.c:1582 + msgid "Enter keys (^G to abort): " + msgstr "Ange nycklar (^G för att avbryta): " + +-#: keymap.c:1590 ++#: keymap.c:1588 + #, c-format + msgid "Char = %s, Octal = %o, Decimal = %d" + msgstr "Tecken = %s, Oktal = %o, Decimal = %d" +@@ -3123,7 +3230,7 @@ msgstr "\"mailcap\"-post för typ %s hittades inte" + msgid "Scanning %s..." + msgstr "Scannar %s..." + +-#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:353 ++#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:351 + #, c-format + msgid "Reading %s..." + msgstr "Läser %s..." +@@ -3139,13 +3246,13 @@ msgid "md_commit_message(): unable to set time on file" + msgstr "maildir_commit_message(): kunde inte sätta tid på fil" + + #. L10N: Displayed before/as a mailbox is being synced +-#: maildir/shared.c:1723 mbox/mbox.c:1276 mx.c:461 notmuch/mutt_notmuch.c:2364 ++#: maildir/shared.c:1734 mbox/mbox.c:1276 mx.c:459 notmuch/mutt_notmuch.c:2364 + #, c-format + msgid "Writing %s..." + msgstr "Skriver %s..." + + #. L10N: Try to limit to 80 columns +-#: main.c:227 ++#: main.c:160 + msgid "" + "usage:\n" + " neomutt [-Enx] [-e ] [-F ] [-H ] [-i ]\n" +@@ -3168,7 +3275,7 @@ msgid "" + msgstr "" + + #. L10N: Try to limit to 80 columns. If more space is needed add an indented line +-#: main.c:247 ++#: main.c:180 + msgid "" + "options:\n" + " -- Special argument forces NeoMutt to stop option parsing and treat\n" +@@ -3211,54 +3318,54 @@ msgid "" + " or exit immediately with exit code 1 otherwise" + msgstr "" + +-#: main.c:312 ++#: main.c:245 + msgid "Error initializing terminal" + msgstr "Fel vid initiering av terminalen" + +-#: main.c:390 ++#: main.c:323 + msgid "unable to determine username" + msgstr "kunde inte avgöra användarnamn" + +-#: main.c:396 ++#: main.c:329 + msgid "unable to determine home directory" + msgstr "kunde inte avgöra hemkatalog" + +-#: main.c:640 ++#: main.c:572 + #, fuzzy, c-format + msgid "Error: value '%s' is invalid for -d" + msgstr "Fel: '%s' är ett dåligt IDN" + +-#: main.c:884 ++#: main.c:815 + msgid "Failed to parse mailto: link" + msgstr "Misslyckades att tolka mailto:-länk" + +-#: main.c:896 send.c:2452 send.c:2456 ++#: main.c:827 send.c:2463 send.c:2467 + msgid "No recipients specified" + msgstr "Inga mottagare angivna" + +-#: main.c:923 ++#: main.c:854 + msgid "Can't use -E flag with stdin" + msgstr "" + +-#: main.c:1007 ++#: main.c:938 + #, fuzzy, c-format + msgid "Can't parse message template: %s" + msgstr "Kan inte öppna meddelandefil: %s" + +-#: main.c:1073 mutt_header.c:329 ++#: main.c:1004 mutt_header.c:329 + #, c-format + msgid "%s: unable to attach file" + msgstr "%s: kunde inte bifoga fil" + +-#: main.c:1156 ++#: main.c:1087 + msgid "No mailbox with new mail" + msgstr "Ingen brevlåda med nya brev" + +-#: main.c:1180 ++#: main.c:1111 + msgid "No incoming mailboxes defined" + msgstr "Inga inkommande brevlådor definierade" + +-#: main.c:1230 ++#: main.c:1161 + msgid "Mailbox is empty" + msgstr "Brevlådan är tom" + +@@ -3300,52 +3407,52 @@ msgstr "Kunde inte återöppna brevlåda" + msgid "Can't write message" + msgstr "Kan inte skriva meddelande" + +-#: menu.c:632 ++#: menu.c:631 + msgid "Jump to: " + msgstr "Hoppa till: " + +-#: menu.c:641 ++#: menu.c:640 + msgid "Invalid index number" + msgstr "Ogiltigt indexnummer" + +-#: menu.c:645 menu.c:671 menu.c:744 menu.c:810 menu.c:828 menu.c:843 menu.c:858 +-#: menu.c:873 menu.c:890 menu.c:907 menu.c:1553 ++#: menu.c:644 menu.c:670 menu.c:743 menu.c:809 menu.c:827 menu.c:842 menu.c:857 ++#: menu.c:872 menu.c:889 menu.c:906 menu.c:1553 + msgid "No entries" + msgstr "Inga poster" + +-#: menu.c:668 ++#: menu.c:667 + msgid "You can't scroll down farther" + msgstr "Du kan inte rulla längre ner" + +-#: menu.c:690 ++#: menu.c:689 + msgid "You can't scroll up farther" + msgstr "Du kan inte rulla längre upp" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the first page" + msgstr "Du är på den första sidan" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the last page" + msgstr "Du är på den sista sidan" + +-#: menu.c:922 ++#: menu.c:921 + msgid "You are on the last entry" + msgstr "Du är på den sista posten" + +-#: menu.c:937 ++#: menu.c:936 + msgid "You are on the first entry" + msgstr "Du är på den första posten" + +-#: menu.c:1172 pager.c:2692 pattern.c:2578 ++#: menu.c:1172 pager.c:2666 pattern.c:2702 + msgid "Search for: " + msgstr "Sök efter: " + +-#: menu.c:1173 pager.c:2693 pattern.c:2579 ++#: menu.c:1173 pager.c:2667 pattern.c:2703 + msgid "Reverse search for: " + msgstr "Sök i omvänd ordning efter: " + +-#: menu.c:1226 pager.c:2641 pager.c:2666 pager.c:2800 pattern.c:2708 ++#: menu.c:1226 pager.c:2615 pager.c:2640 pager.c:2774 pattern.c:2832 + msgid "Not found" + msgstr "Hittades inte" + +@@ -3388,20 +3495,20 @@ msgstr "Väntar på \"flock\"-försök... %d" + msgid "Bad history file format (line %d)" + msgstr "Felaktigt filformat för historik (rad %d)" + +-#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1006 ncrypt/crypt_gpgme.c:2381 +-#: ncrypt/crypt_gpgme.c:2401 ncrypt/crypt_gpgme.c:2460 +-#: ncrypt/crypt_gpgme.c:2477 ncrypt/crypt_gpgme.c:2509 +-#: ncrypt/crypt_gpgme.c:2527 ncrypt/crypt_gpgme.c:2611 +-#: ncrypt/crypt_gpgme.c:3194 ncrypt/crypt_gpgme.c:3292 +-#: ncrypt/crypt_gpgme.c:4373 ncrypt/pgp.c:576 ncrypt/pgp.c:583 ncrypt/pgp.c:896 +-#: ncrypt/pgp.c:1014 ncrypt/pgp.c:1161 ncrypt/pgp.c:1181 ncrypt/pgp.c:1215 +-#: ncrypt/pgp.c:1568 ncrypt/pgpkey.c:708 ncrypt/pgpkey.c:902 +-#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1092 ncrypt/smime.c:1100 +-#: ncrypt/smime.c:1191 ncrypt/smime.c:1299 ncrypt/smime.c:1364 +-#: ncrypt/smime.c:1372 ncrypt/smime.c:1571 ncrypt/smime.c:1967 +-#: ncrypt/smime.c:2046 ncrypt/smime.c:2053 ncrypt/smime.c:2156 +-#: ncrypt/smime.c:2281 ncrypt/smime.c:2297 nntp/nntp.c:1397 nntp/nntp.c:2237 +-#: pattern.c:1132 pop/pop.c:182 ++#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1005 ncrypt/crypt_gpgme.c:2420 ++#: ncrypt/crypt_gpgme.c:2440 ncrypt/crypt_gpgme.c:2499 ++#: ncrypt/crypt_gpgme.c:2516 ncrypt/crypt_gpgme.c:2548 ++#: ncrypt/crypt_gpgme.c:2566 ncrypt/crypt_gpgme.c:2650 ++#: ncrypt/crypt_gpgme.c:3237 ncrypt/crypt_gpgme.c:3335 ++#: ncrypt/crypt_gpgme.c:4421 ncrypt/pgp.c:575 ncrypt/pgp.c:582 ncrypt/pgp.c:895 ++#: ncrypt/pgp.c:1013 ncrypt/pgp.c:1160 ncrypt/pgp.c:1180 ncrypt/pgp.c:1214 ++#: ncrypt/pgp.c:1570 ncrypt/pgpkey.c:741 ncrypt/pgpkey.c:937 ++#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1126 ncrypt/smime.c:1134 ++#: ncrypt/smime.c:1225 ncrypt/smime.c:1333 ncrypt/smime.c:1398 ++#: ncrypt/smime.c:1406 ncrypt/smime.c:1605 ncrypt/smime.c:2001 ++#: ncrypt/smime.c:2080 ncrypt/smime.c:2087 ncrypt/smime.c:2190 ++#: ncrypt/smime.c:2315 ncrypt/smime.c:2331 nntp/nntp.c:1399 nntp/nntp.c:2239 ++#: pattern.c:1171 pop/pop.c:182 + msgid "Can't create temporary file" + msgstr "Kan inte skapa tillfällig fil" + +@@ -3420,7 +3527,7 @@ msgstr "Avlusning på nivå %d.\n" + msgid "Logging at level %d to file '%s'" + msgstr "Avlusning på nivå %d.\n" + +-#: mutt/path.c:401 ++#: mutt/path.c:420 + #, fuzzy + msgid "Error: converting path to absolute" + msgstr "Fel vid anslutning till server: %s" +@@ -3445,17 +3552,17 @@ msgstr "Fångade signal %d (%s) ... Avslutar.\n" + msgid "Caught signal %d ... Exiting.\n" + msgstr "Fångade signal %d ... Avslutar.\n" + +-#: muttlib.c:490 ++#: muttlib.c:488 + #, c-format + msgid "mutt_randbuf buflen=%zu" + msgstr "" + +-#: muttlib.c:510 ++#: muttlib.c:508 + #, c-format + msgid "open /dev/urandom: %s" + msgstr "" + +-#: muttlib.c:517 ++#: muttlib.c:515 + #, c-format + msgid "read /dev/urandom: %s" + msgstr "" +@@ -3463,148 +3570,120 @@ msgstr "" + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) + #. These three letters correspond to the choices in the string. +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "File is a directory, save under it: (y)es, (n)o, (a)ll?" + msgstr "Filen är en katalog, spara i den? (j)a, (n)ej, (a)lla" + +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "yna" + msgstr "jna" + + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) +-#: muttlib.c:763 ++#: muttlib.c:761 + msgid "File is a directory, save under it?" + msgstr "Filen är en katalog, spara i den?" + +-#: muttlib.c:768 ++#: muttlib.c:766 + msgid "File under directory: " + msgstr "Fil i katalog: " + +-#: muttlib.c:781 ++#: muttlib.c:779 + msgid "File exists, (o)verwrite, (a)ppend, or (c)ancel?" + msgstr "Filen finns, skriv (ö)ver, (l)ägg till, eller (a)vbryt?" + + #. L10N: Options for: File exists, (o)verwrite, (a)ppend, or (c)ancel? +-#: muttlib.c:783 ++#: muttlib.c:781 + msgid "oac" + msgstr "öla" + +-#: muttlib.c:1458 ++#: muttlib.c:1456 + msgid "Can't save message to POP mailbox" + msgstr "Kan inte spara meddelande till POP-brevlåda" + +-#: muttlib.c:1468 ++#: muttlib.c:1466 + #, c-format + msgid "Append messages to %s?" + msgstr "Lägg till meddelanden till %s?" + +-#: muttlib.c:1481 ++#: muttlib.c:1479 + #, fuzzy + msgid "Can't save message to news server" + msgstr "Kunde inte lämna meddelanden på server" + +-#. L10N: Example: Username at myhost.com +-#: mutt_account.c:233 +-#, c-format +-msgid "Username at %s: " +-msgstr "Användarnamn på %s: " +- +-#: mutt_account.c:315 +-#, c-format +-msgid "Password for %s@%s: " +-msgstr "Lösenord för %s@%s: " +- +-#. L10N: You will see this error message if (1) you have "oauthbearer" in +-#. one of your $*_authenticators and (2) you do not have the corresponding +-#. $*_oauth_refresh_command defined. So the message does not mean "None of +-#. your $*_oauth_refresh_command's are defined." +-#: mutt_account.c:383 +-#, fuzzy +-msgid "No OAUTH refresh command defined" +-msgstr "Sökkommando ej definierat" +- +-#: mutt_account.c:390 +-msgid "Unable to run refresh command" +-msgstr "" +- +-#: mutt_account.c:400 +-msgid "Command returned empty string" +-msgstr "" +- +-#: mutt_attach.c:140 mutt_attach.c:274 mutt_attach.c:459 mutt_attach.c:1054 ++#: mutt_attach.c:142 mutt_attach.c:276 mutt_attach.c:488 mutt_attach.c:1087 + msgid "Can't match 'nametemplate', continue?" + msgstr "Kan inte para ihop namnmall, fortsätt?" + +-#: mutt_attach.c:150 ++#: mutt_attach.c:152 + #, c-format + msgid "Mailcap compose entry requires %%s" + msgstr "\"compose\"-posten i mailcap kräver %%s" + +-#: mutt_attach.c:168 ++#: mutt_attach.c:170 + msgid "Failure to open file to parse headers" + msgstr "Misslyckades med att öpppna fil för att tolka huvuden" + +-#: mutt_attach.c:202 ++#: mutt_attach.c:204 + msgid "Failure to open file to strip headers" + msgstr "Misslyckades med att öppna fil för att ta bort huvuden" + +-#: mutt_attach.c:212 ++#: mutt_attach.c:214 + msgid "Failure to rename file" + msgstr "Misslyckades med att döpa om fil" + +-#: mutt_attach.c:222 ++#: mutt_attach.c:224 + #, c-format + msgid "No mailcap compose entry for %s, creating empty file" + msgstr "Ingen \"compose\"-post i mailcap för %s, skapar tom fil" + +-#: mutt_attach.c:284 ++#: mutt_attach.c:286 + #, c-format + msgid "Mailcap Edit entry requires %%s" + msgstr "\"edit\"-posten i mailcap kräver %%s" + +-#: mutt_attach.c:305 ++#: mutt_attach.c:307 + #, c-format + msgid "No mailcap edit entry for %s" + msgstr "Ingen \"edit\"-post i mailcap för %s" + +-#: mutt_attach.c:427 ++#: mutt_attach.c:456 + msgid "No matching mailcap entry found. Viewing as text." + msgstr "Ingen matchande mailcap-post hittades. Visar som text." + +-#: mutt_attach.c:440 ++#: mutt_attach.c:469 + msgid "MIME type not defined. Can't view attachment." + msgstr "MIME-typ ej definierad. Kan inte visa bilaga." + +-#: mutt_attach.c:535 ++#: mutt_attach.c:563 + #, c-format + msgid "---Command: %-20.20s Description: %s" + msgstr "" + +-#: mutt_attach.c:540 ++#: mutt_attach.c:568 + #, c-format + msgid "---Command: %-30.30s Attachment: %s" + msgstr "" + +-#: mutt_attach.c:619 ++#: mutt_attach.c:652 + #, fuzzy, c-format + msgid "---Attachment: %s: %s" + msgstr "-- Bilagor" + +-#: mutt_attach.c:621 ++#: mutt_attach.c:654 + #, fuzzy, c-format + msgid "---Attachment: %s" + msgstr "-- Bilagor" + +-#: mutt_attach.c:902 mutt_attach.c:910 ++#: mutt_attach.c:935 mutt_attach.c:943 + msgid "Write fault" + msgstr "Fel vid skrivning" + +-#: mutt_attach.c:1174 ++#: mutt_attach.c:1207 + msgid "I don't know how to print that" + msgstr "Jag vet inte hur det där ska skrivas ut" + +-#: mutt_history.c:47 query.c:84 ++#: mutt_history.c:47 query.c:82 + msgid "Search" + msgstr "Sök" + +@@ -3613,21 +3692,21 @@ msgstr "Sök" + msgid "History '%s'" + msgstr "Sökning \"%s\"" + +-#: mutt_logging.c:315 ++#: mutt_logging.c:313 + #, fuzzy, c-format + msgid "Invalid value for option %s: %ld" + msgstr "Ogiltig dag i månaden: %s" + +-#: mutt_lua.c:429 ++#: mutt_lua.c:431 + msgid "Error: Couldn't load the lua interpreter" + msgstr "" + +-#: mutt_lua.c:491 ++#: mutt_lua.c:493 + #, fuzzy, c-format + msgid "Couldn't source lua source: %s" + msgstr "Kunde inte låsa %s\n" + +-#: mutt_mailbox.c:214 ++#: mutt_mailbox.c:241 + msgid "New mail in " + msgstr "Nytt brev i " + +@@ -3649,20 +3728,20 @@ msgstr "Första meddelandet är inte synligt i den här begränsade vyn" + msgid "Parent message is not visible in this limited view" + msgstr "Första meddelandet är inte synligt i den här begränsade vyn" + +-#: mx.c:387 ++#: mx.c:385 + #, fuzzy, c-format + msgid "Reading from %s interrupted..." + msgstr "Sökning avbruten." + + #. L10N: Displayed if a mailbox sync fails +-#: mx.c:468 ++#: mx.c:469 + #, fuzzy, c-format + msgid "Unable to write %s" + msgstr "Kunde inte bifoga %s" + + #. L10N: Although we know the precise number of messages, we do not show it to the user. + #. So feel free to use a "generic plural" as plural translation if your language has one. +-#: mx.c:523 ++#: mx.c:525 + #, fuzzy + msgid "message not deleted" + msgid_plural "messages not deleted" +@@ -3674,69 +3753,69 @@ msgstr[1] "Markerar raderade meddelanden..." + msgid "Can't open trash folder" + msgstr "Kan inte lägga till folder: %s" + +-#: mx.c:623 ++#: mx.c:627 + msgid "Mark all articles read?" + msgstr "" + + #. L10N: The first argument is the number of read messages to be + #. moved, the second argument is the target mailbox. +-#: mx.c:671 ++#: mx.c:675 + #, fuzzy, c-format + msgid "Move %d read message to %s?" + msgid_plural "Move %d read messages to %s?" + msgstr[0] "Flytta lästa meddelanden till %s?" + msgstr[1] "Flytta lästa meddelanden till %s?" + +-#: mx.c:685 mx.c:917 ++#: mx.c:689 mx.c:936 + #, fuzzy, c-format + msgid "Purge %d deleted message?" + msgid_plural "Purge %d deleted messages?" + msgstr[0] "Rensa %d raderat meddelande?" + msgstr[1] "Rensa %d raderade meddelanden?" + +-#: mx.c:708 ++#: mx.c:712 + #, c-format + msgid "Moving read messages to %s..." + msgstr "Flyttar lästa meddelanden till %s..." + +-#: mx.c:774 mx.c:908 ++#: mx.c:783 mx.c:927 + msgid "Mailbox is unchanged" + msgstr "Brevlåda är oförändrad" + +-#: mx.c:827 ++#: mx.c:842 + #, c-format + msgid "%d kept, %d moved, %d deleted" + msgstr "%d behölls, %d flyttades, %d raderades" + +-#: mx.c:831 mx.c:972 ++#: mx.c:846 mx.c:991 + #, c-format + msgid "%d kept, %d deleted" + msgstr "%d behölls, %d raderades" + +-#: mx.c:892 ++#: mx.c:911 + #, c-format + msgid " Press '%s' to toggle write" + msgstr " Tryck \"%s\" för att växla skrivning" + +-#: mx.c:894 ++#: mx.c:913 + msgid "Use 'toggle-write' to re-enable write" + msgstr "Använd \"toggle-write\" för att återaktivera skrivning" + +-#: mx.c:896 ++#: mx.c:915 + #, c-format + msgid "Mailbox is marked unwritable. %s" + msgstr "Brevlåda är märkt som ej skrivbar. %s" + +-#: mx.c:966 ++#: mx.c:985 + msgid "Mailbox checkpointed" + msgstr "Brevlåda är synkroniserad" + +-#: ncrypt/crypt.c:93 ++#: ncrypt/crypt.c:91 + #, c-format + msgid " (current time: %c)" + msgstr " (aktuell tid: %c)" + +-#: ncrypt/crypt.c:98 ++#: ncrypt/crypt.c:96 + #, c-format + msgid "[-- %s output follows%s --]\n" + msgstr "[-- %s utdata följer%s --]\n" +@@ -3745,55 +3824,55 @@ msgstr "[-- %s utdata följer%s --]\n" + #. by gpg-agent) we can't know whether we forgot zero, 1, 12, ... + #. passwords. So in English we use "Passphrases". Your language might + #. have other means to express this. +-#: ncrypt/crypt.c:119 ++#: ncrypt/crypt.c:117 + #, fuzzy + msgid "Passphrases forgotten" + msgstr "Lösenfrasen glömd" + +-#: ncrypt/crypt.c:203 ++#: ncrypt/crypt.c:201 + #, fuzzy + msgid "Inline PGP can't be used with attachments. Revert to PGP/MIME?" + msgstr "Meddelande kan inte skickas infogat. Återgå till att använda PGP/MIME?" + +-#: ncrypt/crypt.c:207 ++#: ncrypt/crypt.c:205 + msgid "Mail not sent: inline PGP can't be used with attachments" + msgstr "" + +-#: ncrypt/crypt.c:214 ++#: ncrypt/crypt.c:212 + #, fuzzy + msgid "Inline PGP can't be used with format=flowed. Revert to PGP/MIME?" + msgstr "Meddelande kan inte skickas infogat. Återgå till att använda PGP/MIME?" + +-#: ncrypt/crypt.c:218 ++#: ncrypt/crypt.c:216 + msgid "Mail not sent: inline PGP can't be used with format=flowed" + msgstr "" + +-#: ncrypt/crypt.c:228 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:714 +-#: ncrypt/pgpkey.c:915 ++#: ncrypt/crypt.c:226 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:747 ++#: ncrypt/pgpkey.c:950 + msgid "Invoking PGP..." + msgstr "Startar PGP..." + +-#: ncrypt/crypt.c:240 ++#: ncrypt/crypt.c:238 + msgid "Message can't be sent inline. Revert to using PGP/MIME?" + msgstr "Meddelande kan inte skickas infogat. Återgå till att använda PGP/MIME?" + +-#: ncrypt/crypt.c:242 send.c:2430 ++#: ncrypt/crypt.c:240 send.c:2441 + msgid "Mail not sent" + msgstr "Brevet skickades inte" + +-#: ncrypt/crypt.c:662 ++#: ncrypt/crypt.c:666 + msgid "S/MIME messages with no hints on content are unsupported" + msgstr "S/MIME-meddelanden utan ledtrådar till innehållet stöds ej" + +-#: ncrypt/crypt.c:888 ++#: ncrypt/crypt.c:892 + msgid "Trying to extract PGP keys...\n" + msgstr "Försöker att extrahera PGP-nycklar...\n" + +-#: ncrypt/crypt.c:917 ++#: ncrypt/crypt.c:921 + msgid "Trying to extract S/MIME certificates..." + msgstr "Försöker att extrahera S/MIME-certifikat..." + +-#: ncrypt/crypt.c:1140 ++#: ncrypt/crypt.c:1144 + #, c-format + msgid "" + "[-- Error: Unknown multipart/signed protocol %s --]\n" +@@ -3802,7 +3881,7 @@ msgstr "" + "[-- Fel: Okänt \"multipart/signed\" protokoll %s --]\n" + "\n" + +-#: ncrypt/crypt.c:1180 ++#: ncrypt/crypt.c:1184 + #, fuzzy + msgid "" + "[-- Error: Missing or bad-format multipart/signed signature --]\n" +@@ -3811,7 +3890,7 @@ msgstr "" + "[-- Fel: Inkonsekvent \"multipart/signed\" struktur --]\n" + "\n" + +-#: ncrypt/crypt.c:1222 ++#: ncrypt/crypt.c:1226 + #, c-format + msgid "" + "[-- Warning: We can't verify %s/%s signatures. --]\n" +@@ -3820,7 +3899,7 @@ msgstr "" + "[-- Varning: Vi kan inte verifiera %s/%s signaturer. --]\n" + "\n" + +-#: ncrypt/crypt.c:1235 ++#: ncrypt/crypt.c:1239 + msgid "" + "[-- The following data is signed --]\n" + "\n" +@@ -3828,7 +3907,7 @@ msgstr "" + "[-- Följande data är signerat --]\n" + "\n" + +-#: ncrypt/crypt.c:1243 ++#: ncrypt/crypt.c:1248 + msgid "" + "[-- Warning: Can't find any signatures. --]\n" + "\n" +@@ -3836,7 +3915,7 @@ msgstr "" + "[-- Varning: Kan inte hitta några signaturer. --]\n" + "\n" + +-#: ncrypt/crypt.c:1249 ++#: ncrypt/crypt.c:1255 + msgid "" + "\n" + "[-- End of signed data --]\n" +@@ -3855,242 +3934,242 @@ msgstr "Startar S/MIME..." + #. L10N: The following are the headers for the "verify key" output from the + #. GPGME key selection menu (bound to "c" in the key selection menu). + #. They will be automatically aligned. +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + #, fuzzy + msgid "Name: " + msgstr "Namn ......: " + +-#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1869 ncrypt/crypt_gpgme.c:1874 ++#: ncrypt/crypt_gpgme.c:183 ncrypt/crypt_gpgme.c:1900 ncrypt/crypt_gpgme.c:1905 + msgid "aka: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + #, fuzzy + msgid "Valid From: " + msgstr "Giltig From : %s\n" + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + #, fuzzy + msgid "Valid To: " + msgstr "Giltig To ..: %s\n" + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + #, fuzzy + msgid "Key Type: " + msgstr "Nyckel-användning .: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + #, fuzzy + msgid "Key Usage: " + msgstr "Nyckel-användning .: " + +-#: ncrypt/crypt_gpgme.c:185 ncrypt/crypt_gpgme.c:1759 ++#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1790 + msgid "Fingerprint: " + msgstr "Fingeravtryck: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + #, fuzzy + msgid "Serial-No: " + msgstr "Serie-nr .: 0x%s\n" + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + #, fuzzy + msgid "Issued By: " + msgstr "Utfärdad av .: " + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + #, fuzzy + msgid "Subkey: " + msgstr "Undernyckel ....: 0x%s" + +-#: ncrypt/crypt_gpgme.c:783 ++#: ncrypt/crypt_gpgme.c:782 + #, c-format + msgid "error enabling CMS protocol: %s" + msgstr "fel vid aktivering av CMS-protokoll: %s" + +-#: ncrypt/crypt_gpgme.c:806 ++#: ncrypt/crypt_gpgme.c:805 + #, c-format + msgid "error creating gpgme data object: %s" + msgstr "fel vid skapande av gpgme dataobjekt: %s" + +-#: ncrypt/crypt_gpgme.c:907 ncrypt/crypt_gpgme.c:934 ncrypt/crypt_gpgme.c:2057 +-#: ncrypt/crypt_gpgme.c:2814 ++#: ncrypt/crypt_gpgme.c:906 ncrypt/crypt_gpgme.c:933 ncrypt/crypt_gpgme.c:2096 ++#: ncrypt/crypt_gpgme.c:2853 + #, c-format + msgid "error allocating data object: %s" + msgstr "fel vid allokering av dataobjekt: %s" + +-#: ncrypt/crypt_gpgme.c:956 ++#: ncrypt/crypt_gpgme.c:955 + #, c-format + msgid "error rewinding data object: %s" + msgstr "fel vid tillbakaspolning av dataobjekt: %s" + +-#: ncrypt/crypt_gpgme.c:972 ++#: ncrypt/crypt_gpgme.c:971 + msgid "[tempfile]" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:978 ncrypt/crypt_gpgme.c:1032 ++#: ncrypt/crypt_gpgme.c:977 ncrypt/crypt_gpgme.c:1031 + #, c-format + msgid "error reading data object: %s" + msgstr "fel vid läsning av dataobjekt: %s" + +-#: ncrypt/crypt_gpgme.c:1149 ++#: ncrypt/crypt_gpgme.c:1148 + #, fuzzy, c-format + msgid "error adding recipient '%s': %s" + msgstr "fel vid tilläggning av mottagare '%s': %s" + +-#: ncrypt/crypt_gpgme.c:1202 ++#: ncrypt/crypt_gpgme.c:1186 + #, c-format + msgid "secret key '%s' not found: %s" + msgstr "hemlig nyckel '%s' hittades inte: %s" + +-#: ncrypt/crypt_gpgme.c:1218 ++#: ncrypt/crypt_gpgme.c:1203 + #, fuzzy, c-format + msgid "ambiguous specification of secret key '%s'\n" + msgstr "otydlig specifikation av hemlig nyckel '%s'" + +-#: ncrypt/crypt_gpgme.c:1234 ++#: ncrypt/crypt_gpgme.c:1219 + #, c-format + msgid "error setting secret key '%s': %s" + msgstr "fel vid sättning av hemlig nyckel '%s': %s" + +-#: ncrypt/crypt_gpgme.c:1250 ++#: ncrypt/crypt_gpgme.c:1278 + #, c-format + msgid "error setting PKA signature notation: %s" + msgstr "fel vid sättning av notation för PKA-signatur: %s" + +-#: ncrypt/crypt_gpgme.c:1324 ++#: ncrypt/crypt_gpgme.c:1353 + #, c-format + msgid "error encrypting data: %s" + msgstr "fel vid kryptering av data: %s" + +-#: ncrypt/crypt_gpgme.c:1453 ++#: ncrypt/crypt_gpgme.c:1483 + #, c-format + msgid "error signing data: %s" + msgstr "fel vid signering av data: %s" + +-#: ncrypt/crypt_gpgme.c:1463 ++#: ncrypt/crypt_gpgme.c:1493 + msgid "$pgp_sign_as unset and no default key specified in ~/.gnupg/gpg.conf" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1641 ++#: ncrypt/crypt_gpgme.c:1672 + msgid "Warning: One of the keys has been revoked\n" + msgstr "Varning: En av nycklarna har blivit återkallad\n" + +-#: ncrypt/crypt_gpgme.c:1651 ++#: ncrypt/crypt_gpgme.c:1682 + msgid "Warning: The key used to create the signature expired at: " + msgstr "Varning: Nyckeln som användes för att skapa signaturen utgick vid: " + +-#: ncrypt/crypt_gpgme.c:1657 ++#: ncrypt/crypt_gpgme.c:1688 + msgid "Warning: At least one certification key has expired\n" + msgstr "Varning: Åtminstone en certifikatsnyckel har utgått\n" + +-#: ncrypt/crypt_gpgme.c:1671 ++#: ncrypt/crypt_gpgme.c:1702 + msgid "Warning: The signature expired at: " + msgstr "Varning: Signaturen utgick vid: " + +-#: ncrypt/crypt_gpgme.c:1678 ++#: ncrypt/crypt_gpgme.c:1709 + msgid "Can't verify due to a missing key or certificate\n" + msgstr "Kan inte verifiera på grund av saknad nyckel eller certifikat\n" + +-#: ncrypt/crypt_gpgme.c:1683 ++#: ncrypt/crypt_gpgme.c:1714 + msgid "The CRL is not available\n" + msgstr "CRL:en är inte tillgänglig\n" + +-#: ncrypt/crypt_gpgme.c:1689 ++#: ncrypt/crypt_gpgme.c:1720 + msgid "Available CRL is too old\n" + msgstr "Tillgänglig CRL är för gammal\n" + +-#: ncrypt/crypt_gpgme.c:1694 ++#: ncrypt/crypt_gpgme.c:1725 + msgid "A policy requirement was not met\n" + msgstr "Ett policykrav blev inte uppfyllt\n" + +-#: ncrypt/crypt_gpgme.c:1703 ++#: ncrypt/crypt_gpgme.c:1734 + msgid "A system error occurred" + msgstr "Ett systemfel inträffade" + +-#: ncrypt/crypt_gpgme.c:1734 ++#: ncrypt/crypt_gpgme.c:1765 + msgid "WARNING: PKA entry does not match signer's address: " + msgstr "VARNING: PKA-post matchar inte signerarens adress: " + +-#: ncrypt/crypt_gpgme.c:1740 ++#: ncrypt/crypt_gpgme.c:1771 + msgid "PKA verified signer's address is: " + msgstr "PKA verifierade att signerarens adress är: " + +-#: ncrypt/crypt_gpgme.c:1822 ++#: ncrypt/crypt_gpgme.c:1853 + msgid "WARNING: We have NO indication whether the key belongs to the person named as shown above\n" + msgstr "VARNING: Vi har INGEN indikation hurvida nyckeln tillhör personen med namnet som visas ovanför\n" + +-#: ncrypt/crypt_gpgme.c:1829 ++#: ncrypt/crypt_gpgme.c:1860 + msgid "WARNING: The key does NOT BELONG to the person named as shown above\n" + msgstr "VARNING: Nyckeln TILLHÖR INTE personen med namnet som visas ovanför\n" + +-#: ncrypt/crypt_gpgme.c:1833 ++#: ncrypt/crypt_gpgme.c:1864 + msgid "WARNING: It is NOT certain that the key belongs to the person named as shown above\n" + msgstr "VARNING: Det är INTE säkert att nyckeln tillhör personen med namnet som visas ovanför\n" + +-#: ncrypt/crypt_gpgme.c:1886 ++#: ncrypt/crypt_gpgme.c:1917 + msgid "KeyID " + msgstr "" + + #. L10N: You will see this message in place of "KeyID " + #. if the S/MIME key has no ID. This is quite an error. +-#: ncrypt/crypt_gpgme.c:1893 ++#: ncrypt/crypt_gpgme.c:1924 + msgid "no signature fingerprint available" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1902 ncrypt/crypt_gpgme.c:1907 ++#: ncrypt/crypt_gpgme.c:1933 ncrypt/crypt_gpgme.c:1938 + #, fuzzy + msgid "created: " + msgstr "Skapa %s?" + +-#: ncrypt/crypt_gpgme.c:1981 ++#: ncrypt/crypt_gpgme.c:2012 + #, fuzzy, c-format + msgid "Error getting key information for KeyID %s: %s\n" + msgstr "Fel vid hämtning av nyckelinformation: " + +-#: ncrypt/crypt_gpgme.c:1988 ncrypt/crypt_gpgme.c:2003 ++#: ncrypt/crypt_gpgme.c:2019 ncrypt/crypt_gpgme.c:2034 + #, fuzzy + msgid "Good signature from:" + msgstr "Bra signatur från: " + +-#: ncrypt/crypt_gpgme.c:1995 ++#: ncrypt/crypt_gpgme.c:2026 + #, fuzzy + msgid "*BAD* signature from:" + msgstr "Bra signatur från: " + +-#: ncrypt/crypt_gpgme.c:2011 ++#: ncrypt/crypt_gpgme.c:2042 + #, fuzzy + msgid "Problem signature from:" + msgstr "Bra signatur från: " + + #. L10N: This is trying to match the width of the + #. "Problem signature from:" translation just above. +-#: ncrypt/crypt_gpgme.c:2017 ++#: ncrypt/crypt_gpgme.c:2048 + #, fuzzy + msgid " expires: " + msgstr " aka: " + +-#: ncrypt/crypt_gpgme.c:2064 ncrypt/crypt_gpgme.c:2294 +-#: ncrypt/crypt_gpgme.c:3081 ++#: ncrypt/crypt_gpgme.c:2103 ncrypt/crypt_gpgme.c:2333 ++#: ncrypt/crypt_gpgme.c:3124 + msgid "[-- Begin signature information --]\n" + msgstr "[-- Signaturinformation börjar --]\n" + +-#: ncrypt/crypt_gpgme.c:2075 ++#: ncrypt/crypt_gpgme.c:2114 + #, c-format + msgid "Error: verification failed: %s\n" + msgstr "Fel: verifiering misslyckades: %s\n" + +-#: ncrypt/crypt_gpgme.c:2126 ++#: ncrypt/crypt_gpgme.c:2165 + #, c-format + msgid "*** Begin Notation (signature by: %s) ***\n" + msgstr "*** Notation börjar (signatur av: %s) ***\n" + +-#: ncrypt/crypt_gpgme.c:2145 ++#: ncrypt/crypt_gpgme.c:2184 + msgid "*** End Notation ***\n" + msgstr "*** Notation slutar ***\n" + +-#: ncrypt/crypt_gpgme.c:2153 ncrypt/crypt_gpgme.c:2308 +-#: ncrypt/crypt_gpgme.c:3091 ++#: ncrypt/crypt_gpgme.c:2192 ncrypt/crypt_gpgme.c:2347 ++#: ncrypt/crypt_gpgme.c:3134 + msgid "" + "[-- End signature information --]\n" + "\n" +@@ -4098,7 +4177,7 @@ msgstr "" + "[-- Slut på signaturinformation --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:2268 ++#: ncrypt/crypt_gpgme.c:2307 + #, c-format + msgid "" + "[-- Error: decryption failed: %s --]\n" +@@ -4107,21 +4186,26 @@ msgstr "" + "[-- Fel: avkryptering misslyckades: %s --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:2821 ++#: ncrypt/crypt_gpgme.c:2860 + #, fuzzy, c-format + msgid "Error importing key: %s" + msgstr "Fel vid hämtning av nyckelinformation: " + +-#: ncrypt/crypt_gpgme.c:3059 ++#: ncrypt/crypt_gpgme.c:3098 + #, c-format + msgid "Error: decryption/verification failed: %s\n" + msgstr "Fel: avkryptering/verifiering misslyckades: %s\n" + +-#: ncrypt/crypt_gpgme.c:3103 ++#: ncrypt/crypt_gpgme.c:3105 ncrypt/crypt_gpgme.c:3302 ncrypt/pgp.c:726 ++#: ncrypt/pgp.c:1273 ++msgid "PGP message successfully decrypted" ++msgstr "PGP-meddelande avkrypterades framgångsrikt" ++ ++#: ncrypt/crypt_gpgme.c:3146 + msgid "Error: copy data failed\n" + msgstr "Fel: datakopiering misslyckades\n" + +-#: ncrypt/crypt_gpgme.c:3116 ncrypt/pgp.c:675 ++#: ncrypt/crypt_gpgme.c:3159 ncrypt/pgp.c:674 + msgid "" + "[-- BEGIN PGP MESSAGE --]\n" + "\n" +@@ -4129,11 +4213,11 @@ msgstr "" + "[-- PGP-MEDDELANDE BÖRJAR --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3118 ncrypt/pgp.c:677 ++#: ncrypt/crypt_gpgme.c:3161 ncrypt/pgp.c:676 + msgid "[-- BEGIN PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- START PÅ BLOCK MED PUBLIK PGP-NYCKEL --]\n" + +-#: ncrypt/crypt_gpgme.c:3120 ncrypt/pgp.c:679 ++#: ncrypt/crypt_gpgme.c:3163 ncrypt/pgp.c:678 + msgid "" + "[-- BEGIN PGP SIGNED MESSAGE --]\n" + "\n" +@@ -4141,19 +4225,19 @@ msgstr "" + "[-- START PÅ PGP-SIGNERAT MEDDELANDE --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3145 ncrypt/pgp.c:716 ++#: ncrypt/crypt_gpgme.c:3188 ncrypt/pgp.c:715 + msgid "[-- END PGP MESSAGE --]\n" + msgstr "[-- PGP-MEDDELANDE SLUTAR --]\n" + +-#: ncrypt/crypt_gpgme.c:3147 ncrypt/pgp.c:730 ++#: ncrypt/crypt_gpgme.c:3190 ncrypt/pgp.c:729 + msgid "[-- END PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- SLUT PÅ BLOCK MED PUBLIK PGP-NYCKEL --]\n" + +-#: ncrypt/crypt_gpgme.c:3149 ncrypt/pgp.c:732 ++#: ncrypt/crypt_gpgme.c:3192 ncrypt/pgp.c:731 + msgid "[-- END PGP SIGNED MESSAGE --]\n" + msgstr "[-- SLUT PÅ PGP-SIGNERAT MEDDELANDE --]\n" + +-#: ncrypt/crypt_gpgme.c:3170 ncrypt/pgp.c:765 ++#: ncrypt/crypt_gpgme.c:3213 ncrypt/pgp.c:764 + msgid "" + "[-- Error: could not find beginning of PGP message --]\n" + "\n" +@@ -4161,11 +4245,11 @@ msgstr "" + "[-- Fel: kunde inte hitta början av PGP-meddelande --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3198 ncrypt/crypt_gpgme.c:3296 ncrypt/pgp.c:1218 ++#: ncrypt/crypt_gpgme.c:3241 ncrypt/crypt_gpgme.c:3339 ncrypt/pgp.c:1218 + msgid "[-- Error: could not create temporary file --]\n" + msgstr "[-- Fel: kunde inte skapa tillfällig fil --]\n" + +-#: ncrypt/crypt_gpgme.c:3212 ++#: ncrypt/crypt_gpgme.c:3255 + msgid "" + "[-- The following data is PGP/MIME signed and encrypted --]\n" + "\n" +@@ -4173,7 +4257,7 @@ msgstr "" + "[-- Följande data är PGP/MIME-signerad och krypterad --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3214 ncrypt/pgp.c:1231 ++#: ncrypt/crypt_gpgme.c:3257 ncrypt/pgp.c:1232 + msgid "" + "[-- The following data is PGP/MIME encrypted --]\n" + "\n" +@@ -4181,24 +4265,20 @@ msgstr "" + "[-- Följande data är PGP/MIME-krypterad --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3254 ++#: ncrypt/crypt_gpgme.c:3297 + msgid "[-- End of PGP/MIME signed and encrypted data --]\n" + msgstr "[-- Slut på PGP/MIME-signerad och krypterad data --]\n" + +-#: ncrypt/crypt_gpgme.c:3255 ncrypt/pgp.c:1267 ++#: ncrypt/crypt_gpgme.c:3298 ncrypt/pgp.c:1268 + msgid "[-- End of PGP/MIME encrypted data --]\n" + msgstr "[-- Slut på PGP/MIME-krypterad data --]\n" + +-#: ncrypt/crypt_gpgme.c:3259 ncrypt/pgp.c:727 ncrypt/pgp.c:1272 +-msgid "PGP message successfully decrypted" +-msgstr "PGP-meddelande avkrypterades framgångsrikt" +- +-#: ncrypt/crypt_gpgme.c:3265 ncrypt/pgp.c:666 ncrypt/pgp.c:718 +-#: ncrypt/pgp.c:1276 ++#: ncrypt/crypt_gpgme.c:3308 ncrypt/pgp.c:665 ncrypt/pgp.c:717 ++#: ncrypt/pgp.c:1277 + msgid "Could not decrypt PGP message" + msgstr "Kunde inte avkryptera PGP-meddelande" + +-#: ncrypt/crypt_gpgme.c:3310 ++#: ncrypt/crypt_gpgme.c:3353 + msgid "" + "[-- The following data is S/MIME signed --]\n" + "\n" +@@ -4206,7 +4286,7 @@ msgstr "" + "[-- Följande data är S/MIME-signerad --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3311 ++#: ncrypt/crypt_gpgme.c:3354 + msgid "" + "[-- The following data is S/MIME encrypted --]\n" + "\n" +@@ -4214,34 +4294,34 @@ msgstr "" + "[-- Följande data är S/MIME-krypterad --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3358 ++#: ncrypt/crypt_gpgme.c:3401 + msgid "[-- End of S/MIME signed data --]\n" + msgstr "[-- Slut på S/MIME-signerad data --]\n" + +-#: ncrypt/crypt_gpgme.c:3359 ++#: ncrypt/crypt_gpgme.c:3402 + msgid "[-- End of S/MIME encrypted data --]\n" + msgstr "[-- Slut på S/MIME-krypterad data --]\n" + +-#: ncrypt/crypt_gpgme.c:4029 ++#: ncrypt/crypt_gpgme.c:4077 + msgid "[Can't display this user ID (unknown encoding)]" + msgstr "[Kan inte visa det här användar-ID:t (okänd kodning)]" + +-#: ncrypt/crypt_gpgme.c:4031 ++#: ncrypt/crypt_gpgme.c:4079 + msgid "[Can't display this user ID (invalid encoding)]" + msgstr "[Kan inte visa det här användar-ID:t (felaktig kodning)]" + +-#: ncrypt/crypt_gpgme.c:4036 ++#: ncrypt/crypt_gpgme.c:4084 + msgid "[Can't display this user ID (invalid DN)]" + msgstr "[Kan inte visa det här användar-ID:t (felaktig DN)]" + + #. L10N: comes after the Name or aka if the key is invalid + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4150 ncrypt/crypt_gpgme.c:4291 ++#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4339 + msgid "[Invalid]" + msgstr "[Ogiltig]" + + #. L10N: This is printed after "Key Type: " and looks like this: PGP, 2048 bit RSA +-#: ncrypt/crypt_gpgme.c:4190 ncrypt/crypt_gpgme.c:4331 ++#: ncrypt/crypt_gpgme.c:4238 ncrypt/crypt_gpgme.c:4379 + #, fuzzy, c-format + msgid "%s, %lu bit %s\n" + msgid_plural "%s, %lu bit %s\n" +@@ -4249,95 +4329,95 @@ msgstr[0] "Nyckel-typ ..: %s, %lu bit %s\n" + msgstr[1] "Nyckel-typ ..: %s, %lu bit %s\n" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4338 ++#: ncrypt/crypt_gpgme.c:4246 ncrypt/crypt_gpgme.c:4386 + msgid "encryption" + msgstr "kryptering" + +-#: ncrypt/crypt_gpgme.c:4199 ncrypt/crypt_gpgme.c:4205 +-#: ncrypt/crypt_gpgme.c:4339 ncrypt/crypt_gpgme.c:4344 ++#: ncrypt/crypt_gpgme.c:4247 ncrypt/crypt_gpgme.c:4253 ++#: ncrypt/crypt_gpgme.c:4387 ncrypt/crypt_gpgme.c:4392 + msgid ", " + msgstr ", " + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4204 ncrypt/crypt_gpgme.c:4343 ++#: ncrypt/crypt_gpgme.c:4252 ncrypt/crypt_gpgme.c:4391 + msgid "signing" + msgstr "signering" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4210 ncrypt/crypt_gpgme.c:4348 ++#: ncrypt/crypt_gpgme.c:4258 ncrypt/crypt_gpgme.c:4396 + msgid "certification" + msgstr "certifikat" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4285 ++#: ncrypt/crypt_gpgme.c:4333 + msgid "[Revoked]" + msgstr "[Återkallad]" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4297 ++#: ncrypt/crypt_gpgme.c:4345 + msgid "[Expired]" + msgstr "[Utgången]" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4303 ++#: ncrypt/crypt_gpgme.c:4351 + msgid "[Disabled]" + msgstr "[Inaktiverad]" + +-#: ncrypt/crypt_gpgme.c:4376 ++#: ncrypt/crypt_gpgme.c:4424 + msgid "Collecting data..." + msgstr "Samlar data..." + +-#: ncrypt/crypt_gpgme.c:4394 ++#: ncrypt/crypt_gpgme.c:4442 + #, c-format + msgid "Error finding issuer key: %s\n" + msgstr "Fel vid sökning av utfärdarnyckel: %s\n" + +-#: ncrypt/crypt_gpgme.c:4403 ++#: ncrypt/crypt_gpgme.c:4451 + #, fuzzy + msgid "Error: certification chain too long - stopping here\n" + msgstr "Fel: certifikatskedje för lång - stannar här\n" + +-#: ncrypt/crypt_gpgme.c:4413 ncrypt/pgpkey.c:733 ++#: ncrypt/crypt_gpgme.c:4461 ncrypt/pgpkey.c:766 + #, c-format + msgid "Key ID: 0x%s" + msgstr "Nyckel-ID: 0x%s" + +-#: ncrypt/crypt_gpgme.c:4538 ncrypt/crypt_gpgme.c:4589 ++#: ncrypt/crypt_gpgme.c:4586 ncrypt/crypt_gpgme.c:4637 + #, c-format + msgid "gpgme_op_keylist_start failed: %s" + msgstr "gpgme_op_keylist_start misslyckades: %s" + +-#: ncrypt/crypt_gpgme.c:4577 ncrypt/crypt_gpgme.c:4619 +-#: ncrypt/crypt_gpgme.c:5355 ++#: ncrypt/crypt_gpgme.c:4625 ncrypt/crypt_gpgme.c:4667 ++#: ncrypt/crypt_gpgme.c:5435 + #, c-format + msgid "gpgme_op_keylist_next failed: %s" + msgstr "gpgme_op_keylist_next misslyckades: %s" + +-#: ncrypt/crypt_gpgme.c:4701 ++#: ncrypt/crypt_gpgme.c:4749 + msgid "All matching keys are marked expired/revoked" + msgstr "Alla matchande nycklar är markerade utgångna/återkallade" + +-#: ncrypt/crypt_gpgme.c:4731 ncrypt/pgpkey.c:666 ncrypt/smime.c:551 ++#: ncrypt/crypt_gpgme.c:4779 ncrypt/pgpkey.c:669 ncrypt/smime.c:553 + msgid "Select " + msgstr "Välj " + +-#: ncrypt/crypt_gpgme.c:4733 ncrypt/pgpkey.c:668 ++#: ncrypt/crypt_gpgme.c:4781 ncrypt/pgpkey.c:671 + msgid "Check key " + msgstr "Kontrollera nyckel " + +-#: ncrypt/crypt_gpgme.c:4749 ++#: ncrypt/crypt_gpgme.c:4827 + msgid "PGP and S/MIME keys matching" + msgstr "PGP- och S/MIME-nycklar som matchar" + +-#: ncrypt/crypt_gpgme.c:4751 ++#: ncrypt/crypt_gpgme.c:4829 + msgid "PGP keys matching" + msgstr "PGP-nycklar som matchar" + +-#: ncrypt/crypt_gpgme.c:4753 ++#: ncrypt/crypt_gpgme.c:4831 + msgid "S/MIME keys matching" + msgstr "S/MIME-nycklar som matchar" + +-#: ncrypt/crypt_gpgme.c:4755 ++#: ncrypt/crypt_gpgme.c:4833 + msgid "keys matching" + msgstr "nycklar som matchar" + +@@ -4345,59 +4425,59 @@ msgstr "nycklar som matchar" + #. %1$s is one of the previous four entries. + #. %2$s is an address. + #. e.g. "S/MIME keys matching " +-#: ncrypt/crypt_gpgme.c:4763 ++#: ncrypt/crypt_gpgme.c:4841 + #, c-format + msgid "%s <%s>" + msgstr "%s <%s>" + + #. L10N: e.g. 'S/MIME keys matching "Michael Elkins".' +-#: ncrypt/crypt_gpgme.c:4768 ++#: ncrypt/crypt_gpgme.c:4846 + #, c-format + msgid "%s \"%s\"" + msgstr "%s \"%s\"" + +-#: ncrypt/crypt_gpgme.c:4796 ncrypt/pgpkey.c:754 ++#: ncrypt/crypt_gpgme.c:4874 ncrypt/pgpkey.c:787 + msgid "This key can't be used: expired/disabled/revoked" + msgstr "Den här nyckeln kan inte användas: utgången/inaktiverad/återkallad" + +-#: ncrypt/crypt_gpgme.c:4810 ncrypt/pgpkey.c:767 ncrypt/smime.c:581 ++#: ncrypt/crypt_gpgme.c:4888 ncrypt/pgpkey.c:800 ncrypt/smime.c:613 + #, fuzzy + msgid "ID is expired/disabled/revoked. Do you really want to use the key?" + msgstr "ID:t är utgånget/inaktiverat/återkallat. Vill du verkligen använda nyckeln?" + +-#: ncrypt/crypt_gpgme.c:4820 ncrypt/pgpkey.c:779 ++#: ncrypt/crypt_gpgme.c:4898 ncrypt/pgpkey.c:812 + #, fuzzy + msgid "ID is not valid. Do you really want to use the key?" + msgstr "ID:t är inte giltigt. Vill du verkligen använda nyckeln?" + +-#: ncrypt/crypt_gpgme.c:4823 ncrypt/pgpkey.c:782 ++#: ncrypt/crypt_gpgme.c:4901 ncrypt/pgpkey.c:815 + #, fuzzy + msgid "ID is only marginally valid. Do you really want to use the key?" + msgstr "ID:t är endast marginellt giltigt. Vill du verkligen använda nyckeln?" + +-#: ncrypt/crypt_gpgme.c:4831 ncrypt/pgpkey.c:775 ncrypt/smime.c:585 ++#: ncrypt/crypt_gpgme.c:4909 ncrypt/pgpkey.c:808 ncrypt/smime.c:617 + #, fuzzy + msgid "ID has undefined validity. Do you really want to use the key?" + msgstr "ID:t har odefinierad giltighet. Vill du verkligen använda nyckeln?" + +-#: ncrypt/crypt_gpgme.c:4911 ncrypt/crypt_gpgme.c:5024 ncrypt/pgpkey.c:1019 +-#: ncrypt/pgpkey.c:1146 ++#: ncrypt/crypt_gpgme.c:4991 ncrypt/crypt_gpgme.c:5104 ncrypt/pgpkey.c:1054 ++#: ncrypt/pgpkey.c:1181 + #, c-format + msgid "Looking for keys matching \"%s\"..." + msgstr "Söker efter nycklar som matchar \"%s\"..." + +-#: ncrypt/crypt_gpgme.c:5140 ncrypt/pgpkey.c:870 ncrypt/smime.c:924 ++#: ncrypt/crypt_gpgme.c:5220 ncrypt/pgpkey.c:905 ncrypt/smime.c:958 + #, c-format + msgid "No matching keys found for \"%s\"" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5190 ncrypt/pgp.c:1456 ++#: ncrypt/crypt_gpgme.c:5270 ncrypt/pgp.c:1457 + #, c-format + msgid "Use keyID = \"%s\" for %s?" + msgstr "Använd nyckel-ID = \"%s\" för %s?" + +-#: ncrypt/crypt_gpgme.c:5238 ncrypt/pgp.c:1505 ncrypt/smime.c:944 +-#: ncrypt/smime.c:1049 ++#: ncrypt/crypt_gpgme.c:5318 ncrypt/pgp.c:1506 ncrypt/smime.c:978 ++#: ncrypt/smime.c:1083 + #, c-format + msgid "Enter keyID for %s: " + msgstr "Ange nyckel-ID för %s: " +@@ -4406,16 +4486,16 @@ msgstr "Ange nyckel-ID för %s: " + #. mutt_gpgme_select_secret_key() tries to list all secret keys to choose + #. from. This error is displayed if no results were found. + #. +-#: ncrypt/crypt_gpgme.c:5364 ++#: ncrypt/crypt_gpgme.c:5444 + #, fuzzy + msgid "No secret keys found" + msgstr "hemlig nyckel '%s' hittades inte: %s" + +-#: ncrypt/crypt_gpgme.c:5398 ncrypt/pgpkey.c:888 ++#: ncrypt/crypt_gpgme.c:5478 ncrypt/pgpkey.c:923 + msgid "Please enter the key ID: " + msgstr "Var vänlig ange nyckel-ID: " + +-#: ncrypt/crypt_gpgme.c:5411 ++#: ncrypt/crypt_gpgme.c:5491 + #, fuzzy, c-format + msgid "Error exporting key: %s" + msgstr "Fel vid hämtning av nyckelinformation: " +@@ -4423,102 +4503,102 @@ msgstr "Fel vid hämtning av nyckelinformation: " + #. 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. +-#: ncrypt/crypt_gpgme.c:5429 ++#: ncrypt/crypt_gpgme.c:5509 + #, fuzzy, c-format + msgid "PGP Key 0x%s" + msgstr "PGP-nyckel %s" + +-#: ncrypt/crypt_gpgme.c:5474 ++#: ncrypt/crypt_gpgme.c:5554 + msgid "GPGME: OpenPGP protocol not available" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5485 ++#: ncrypt/crypt_gpgme.c:5565 + msgid "GPGME: CMS protocol not available" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5536 ++#: ncrypt/crypt_gpgme.c:5616 + #, fuzzy + msgid "S/MIME (s)ign, sign (a)s, (p)gp, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME (k)ryptera, (s)ignera, signera s(o)m, (b)ägge, (p)gp eller (r)ensa?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5538 ++#: ncrypt/crypt_gpgme.c:5618 + msgid "sapco" + msgstr "ksobpr" + +-#: ncrypt/crypt_gpgme.c:5545 ++#: ncrypt/crypt_gpgme.c:5625 + #, fuzzy + msgid "PGP (s)ign, sign (a)s, s/(m)ime, (c)lear, or (o)ppenc mode off?" + msgstr "PGP (k)ryptera, (s)ignera, signera s(o)m, (b)ägge, s/(m)ime eller (r)ensa?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5547 ++#: ncrypt/crypt_gpgme.c:5627 + msgid "samco" + msgstr "ksobmr" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5557 ++#: ncrypt/crypt_gpgme.c:5637 + #, fuzzy + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME (k)ryptera, (s)ignera, signera s(o)m, (b)ägge, (p)gp eller (r)ensa?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5560 ++#: ncrypt/crypt_gpgme.c:5640 + #, fuzzy + msgid "esabpco" + msgstr "ksobpr" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5566 ++#: ncrypt/crypt_gpgme.c:5646 + #, fuzzy + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime, (c)lear, or (o)ppenc mode?" + msgstr "PGP (k)ryptera, (s)ignera, signera s(o)m, (b)ägge, s/(m)ime eller (r)ensa?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5569 ++#: ncrypt/crypt_gpgme.c:5649 + #, fuzzy + msgid "esabmco" + msgstr "ksobmr" + +-#: ncrypt/crypt_gpgme.c:5580 ++#: ncrypt/crypt_gpgme.c:5660 + #, fuzzy + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp or (c)lear?" + msgstr "S/MIME (k)ryptera, (s)ignera, signera s(o)m, (b)ägge, (p)gp eller (r)ensa?" + + #. L10N: S/MIME options +-#: ncrypt/crypt_gpgme.c:5582 ++#: ncrypt/crypt_gpgme.c:5662 + #, fuzzy + msgid "esabpc" + msgstr "ksobpr" + +-#: ncrypt/crypt_gpgme.c:5589 ++#: ncrypt/crypt_gpgme.c:5669 + #, fuzzy + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime or (c)lear?" + msgstr "PGP (k)ryptera, (s)ignera, signera s(o)m, (b)ägge, s/(m)ime eller (r)ensa?" + + #. L10N: PGP options +-#: ncrypt/crypt_gpgme.c:5591 ++#: ncrypt/crypt_gpgme.c:5671 + #, fuzzy + msgid "esabmc" + msgstr "ksobmr" + +-#: ncrypt/crypt_gpgme.c:5751 ++#: ncrypt/crypt_gpgme.c:5831 + msgid "Failed to verify sender" + msgstr "Misslyckades att verifiera sändare" + +-#: ncrypt/crypt_gpgme.c:5754 ++#: ncrypt/crypt_gpgme.c:5834 + msgid "Failed to figure out sender" + msgstr "Misslyckades att ta reda på sändare" + +-#: ncrypt/pgp.c:108 ++#: ncrypt/pgp.c:107 + msgid "Enter PGP passphrase:" + msgstr "Mata in PGP-lösenfras:" + +-#: ncrypt/pgp.c:595 ++#: ncrypt/pgp.c:594 + msgid "[-- Error: unable to create PGP subprocess --]\n" + msgstr "[-- Fel: kunde inte skapa PGP-underprocess --]\n" + +-#: ncrypt/pgp.c:644 ncrypt/pgp.c:926 ncrypt/pgp.c:1086 ++#: ncrypt/pgp.c:643 ncrypt/pgp.c:925 ncrypt/pgp.c:1085 + msgid "" + "[-- End of PGP output --]\n" + "\n" +@@ -4529,16 +4609,16 @@ msgstr "" + #. L10N: You will see this error message if (1) you are decrypting + #. (not encrypting) something and (2) it is a plaintext. So the + #. message does not mean "You failed to encrypt the message." +-#: ncrypt/pgp.c:724 ++#: ncrypt/pgp.c:723 + #, fuzzy + msgid "PGP message is not encrypted" + msgstr "PGP-meddelande avkrypterades framgångsrikt" + +-#: ncrypt/pgp.c:978 ++#: ncrypt/pgp.c:977 + msgid "Internal error. Please submit a bug report." + msgstr "" + +-#: ncrypt/pgp.c:1043 ++#: ncrypt/pgp.c:1042 + msgid "" + "[-- Error: could not create a PGP subprocess --]\n" + "\n" +@@ -4546,132 +4626,132 @@ msgstr "" + "[-- Fel: kunde inte skapa en PGP-underprocess --]\n" + "\n" + +-#: ncrypt/pgp.c:1073 ncrypt/pgp.c:1098 ncrypt/smime.c:2143 postpone.c:757 +-#: postpone.c:785 ++#: ncrypt/pgp.c:1072 ncrypt/pgp.c:1097 ncrypt/smime.c:2177 postpone.c:803 ++#: postpone.c:831 + msgid "Decryption failed" + msgstr "Avkryptering misslyckades" + +-#: ncrypt/pgp.c:1333 ++#: ncrypt/pgp.c:1334 + msgid "Can't open PGP subprocess" + msgstr "Kan inte öppna PGP-underprocess" + +-#: ncrypt/pgp.c:1768 ++#: ncrypt/pgp.c:1770 + msgid "Can't invoke PGP" + msgstr "Kan inte starta PGP" + + #. L10N: The next string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1875 ++#: ncrypt/pgp.c:1877 + msgid "PGP/M(i)ME" + msgstr "PGP/M(i)ME" + + #. L10N: The previous string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1881 ++#: ncrypt/pgp.c:1883 + msgid "(i)nline" + msgstr "(i)nfogat" + + #. L10N: PGP options (inline) (opportunistic encryption is on) +-#: ncrypt/pgp.c:1893 ++#: ncrypt/pgp.c:1895 + #, fuzzy, c-format + msgid "PGP (s)ign, sign (a)s, %s format, (c)lear, or (o)ppenc mode off?" + msgstr "PGP (k)ryptera, (s)ignera, signera s(o)m, (b)åda %s, eller (r)ensa?" + + #. L10N: PGP options (inline) (opportunistic encryption is on) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1899 ++#: ncrypt/pgp.c:1901 + msgid "saico" + msgstr "ksobr" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1905 ++#: ncrypt/pgp.c:1907 + #, fuzzy + msgid "PGP (s)ign, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "PGP (k)ryptera, (s)ignera, signera s(o)m, (b)åda %s, eller (r)ensa?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1907 ++#: ncrypt/pgp.c:1909 + msgid "saco" + msgstr "ksobr" + + #. L10N: PGP options (inline) (opportunistic encryption is off) +-#: ncrypt/pgp.c:1921 ++#: ncrypt/pgp.c:1923 + #, fuzzy, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, (c)lear, or (o)ppenc mode?" + msgstr "PGP (k)ryptera, (s)ignera, signera s(o)m, (b)åda %s, eller (r)ensa?" + + #. L10N: PGP options (inline) (opportunistic encryption is off) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1927 ++#: ncrypt/pgp.c:1929 + #, fuzzy + msgid "esabico" + msgstr "ksobr" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1933 ++#: ncrypt/pgp.c:1935 + #, fuzzy + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "PGP (k)ryptera, (s)ignera, signera s(o)m, (b)åda %s, eller (r)ensa?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1936 ++#: ncrypt/pgp.c:1938 + #, fuzzy + msgid "esabco" + msgstr "ksobr" + + #. L10N: PGP options (inline) +-#: ncrypt/pgp.c:1947 ++#: ncrypt/pgp.c:1949 + #, fuzzy, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, or (c)lear?" + msgstr "PGP (k)ryptera, (s)ignera, signera s(o)m, (b)åda %s, eller (r)ensa?" + + #. L10N: PGP options (inline) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1953 ++#: ncrypt/pgp.c:1955 + #, fuzzy + msgid "esabic" + msgstr "ksobir" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1959 ++#: ncrypt/pgp.c:1961 + #, fuzzy + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (c)lear?" + msgstr "PGP (k)ryptera, (s)ignera, signera s(o)m, (b)åda %s, eller (r)ensa?" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1961 ++#: ncrypt/pgp.c:1963 + #, fuzzy + msgid "esabc" + msgstr "ksobr" + +-#: ncrypt/pgpinvoke.c:458 ++#: ncrypt/pgpinvoke.c:461 + msgid "Fetching PGP key..." + msgstr "Hämtar PGP-nyckel..." + +-#: ncrypt/pgpkey.c:640 ++#: ncrypt/pgpkey.c:643 + msgid "All matching keys are expired, revoked, or disabled" + msgstr "Alla matchande nycklar är utgångna, återkallade, eller inaktiverade" + +-#: ncrypt/pgpkey.c:681 ++#: ncrypt/pgpkey.c:714 + #, c-format + msgid "PGP keys matching <%s>" + msgstr "PGP-nycklar som matchar <%s>" + +-#: ncrypt/pgpkey.c:683 ++#: ncrypt/pgpkey.c:716 + #, c-format + msgid "PGP keys matching \"%s\"" + msgstr "PGP-nycklar som matchar \"%s\"" + +-#: ncrypt/pgpkey.c:700 ncrypt/pgpkey.c:909 ++#: ncrypt/pgpkey.c:733 ncrypt/pgpkey.c:944 + msgid "Can't open /dev/null" + msgstr "Kan inte öppna /dev/null" + +-#: ncrypt/pgpkey.c:938 ++#: ncrypt/pgpkey.c:973 + #, c-format + msgid "PGP Key %s" + msgstr "PGP-nyckel %s" + +-#: ncrypt/smime.c:182 ++#: ncrypt/smime.c:180 + msgid "Enter S/MIME passphrase:" + msgstr "Mata in S/MIME-lösenfras:" + +@@ -4680,7 +4760,7 @@ msgstr "Mata in S/MIME-lösenfras:" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:460 ++#: ncrypt/smime.c:462 + msgid "Expired " + msgstr "Utgången " + +@@ -4689,7 +4769,7 @@ msgstr "Utgången " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:468 ++#: ncrypt/smime.c:470 + msgid "Invalid " + msgstr "Ogiltig " + +@@ -4698,7 +4778,7 @@ msgstr "Ogiltig " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:476 ++#: ncrypt/smime.c:478 + msgid "Revoked " + msgstr "Återkallad " + +@@ -4707,7 +4787,7 @@ msgstr "Återkallad " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:484 ++#: ncrypt/smime.c:486 + msgid "Trusted " + msgstr "Betrodd " + +@@ -4716,7 +4796,7 @@ msgstr "Betrodd " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:492 ++#: ncrypt/smime.c:494 + msgid "Unverified" + msgstr "Overifierad" + +@@ -4725,7 +4805,7 @@ msgstr "Overifierad" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:500 ++#: ncrypt/smime.c:502 + msgid "Verified " + msgstr "Verifierad " + +@@ -4734,60 +4814,60 @@ msgstr "Verifierad " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:508 ++#: ncrypt/smime.c:510 + msgid "Unknown " + msgstr "Okänd " + +-#: ncrypt/smime.c:545 ++#: ncrypt/smime.c:547 + #, c-format + msgid "S/MIME certificates matching \"%s\"" + msgstr "S/MIME-certifikat som matchar \"%s\"" + +-#: ncrypt/smime.c:589 ++#: ncrypt/smime.c:621 + #, fuzzy + msgid "ID is not trusted. Do you really want to use the key?" + msgstr "ID:t är inte giltigt. Vill du verkligen använda nyckeln?" + +-#: ncrypt/smime.c:910 ++#: ncrypt/smime.c:944 + msgid "Enter keyID: " + msgstr "Ange nyckel-ID: " + +-#: ncrypt/smime.c:1055 ++#: ncrypt/smime.c:1089 + #, c-format + msgid "No (valid) certificate found for %s" + msgstr "Inga (giltiga) certifikat hittades för %s" + +-#: ncrypt/smime.c:1108 ncrypt/smime.c:1137 ncrypt/smime.c:1209 +-#: ncrypt/smime.c:1243 ncrypt/smime.c:1319 ncrypt/smime.c:1399 ++#: ncrypt/smime.c:1142 ncrypt/smime.c:1171 ncrypt/smime.c:1243 ++#: ncrypt/smime.c:1277 ncrypt/smime.c:1353 ncrypt/smime.c:1433 + msgid "Error: unable to create OpenSSL subprocess" + msgstr "Fel: kunde inte skapa OpenSSL-underprocess" + +-#: ncrypt/smime.c:1379 ++#: ncrypt/smime.c:1413 + #, fuzzy + msgid "Label for certificate: " + msgstr "Kunde inte hämta certifikat från \"peer\"" + +-#: ncrypt/smime.c:1480 ++#: ncrypt/smime.c:1514 + msgid "no certfile" + msgstr "ingen certifikatfil" + +-#: ncrypt/smime.c:1483 ++#: ncrypt/smime.c:1517 + msgid "no mbox" + msgstr "ingen mbox" + +-#: ncrypt/smime.c:1640 ncrypt/smime.c:1810 ++#: ncrypt/smime.c:1674 ncrypt/smime.c:1844 + msgid "No output from OpenSSL..." + msgstr "Ingen utdata från OpenSSL..." + +-#: ncrypt/smime.c:1727 ++#: ncrypt/smime.c:1761 + msgid "Can't sign: No key specified. Use Sign As." + msgstr "Kan inte signera: Inget nyckel angiven. Använd signera som." + +-#: ncrypt/smime.c:1777 ++#: ncrypt/smime.c:1811 + msgid "Can't open OpenSSL subprocess" + msgstr "Kan inte öppna OpenSSL-underprocess" + +-#: ncrypt/smime.c:2004 ncrypt/smime.c:2123 ++#: ncrypt/smime.c:2038 ncrypt/smime.c:2157 + msgid "" + "[-- End of OpenSSL output --]\n" + "\n" +@@ -4795,23 +4875,23 @@ msgstr "" + "[-- Slut på utdata från OpenSSL --]\n" + "\n" + +-#: ncrypt/smime.c:2080 ncrypt/smime.c:2093 ++#: ncrypt/smime.c:2114 ncrypt/smime.c:2127 + msgid "[-- Error: unable to create OpenSSL subprocess --]\n" + msgstr "[-- Fel: kunde inte skapa OpenSSL-underprocess --]\n" + +-#: ncrypt/smime.c:2129 ++#: ncrypt/smime.c:2163 + msgid "[-- The following data is S/MIME encrypted --]\n" + msgstr "" + "[-- Följande data är S/MIME-krypterad --]\n" + "\n" + +-#: ncrypt/smime.c:2132 ++#: ncrypt/smime.c:2166 + msgid "[-- The following data is S/MIME signed --]\n" + msgstr "" + "[-- Följande data är S/MIME-signerad --]\n" + "\n" + +-#: ncrypt/smime.c:2225 ++#: ncrypt/smime.c:2259 + msgid "" + "\n" + "[-- End of S/MIME encrypted data. --]\n" +@@ -4819,7 +4899,7 @@ msgstr "" + "\n" + "[-- Slut på S/MIME-krypterad data. --]\n" + +-#: ncrypt/smime.c:2227 ++#: ncrypt/smime.c:2261 + msgid "" + "\n" + "[-- End of S/MIME signed data. --]\n" +@@ -4828,170 +4908,170 @@ msgstr "" + "[-- Slut på S/MIME-signerad data. --]\n" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2361 ++#: ncrypt/smime.c:2395 + #, fuzzy + msgid "S/MIME (s)ign, encrypt (w)ith, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME (k)ryptera, (s)ignera, kryptera (m)ed, signera s(o)m, (b)åda, eller (r)ensa?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2364 ++#: ncrypt/smime.c:2398 + msgid "swaco" + msgstr "ksmobr" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2372 ++#: ncrypt/smime.c:2406 + #, fuzzy + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME (k)ryptera, (s)ignera, kryptera (m)ed, signera s(o)m, (b)åda, eller (r)ensa?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2375 ++#: ncrypt/smime.c:2409 + #, fuzzy + msgid "eswabco" + msgstr "ksmobr" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2382 ++#: ncrypt/smime.c:2416 + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, or (c)lear?" + msgstr "S/MIME (k)ryptera, (s)ignera, kryptera (m)ed, signera s(o)m, (b)åda, eller (r)ensa?" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2385 ++#: ncrypt/smime.c:2419 + #, fuzzy + msgid "eswabc" + msgstr "ksmobr" + +-#: ncrypt/smime.c:2449 ++#: ncrypt/smime.c:2483 + msgid "Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear?" + msgstr "Välj algoritmfamilj: (1) DES, (2) RC2, (3) AES, eller r(e)nsa?" + + #. L10N: Options for: Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear? +-#: ncrypt/smime.c:2452 ++#: ncrypt/smime.c:2486 + msgid "123c" + msgstr "123e" + +-#: ncrypt/smime.c:2455 ++#: ncrypt/smime.c:2489 + msgid "(1) DES, (2) Triple-DES?" + msgstr "(1) DES, (2) Triple-DES?" + + #. L10N: Options for: (1) DES, (2) Triple-DES +-#: ncrypt/smime.c:2457 ++#: ncrypt/smime.c:2491 + msgid "12" + msgstr "12" + +-#: ncrypt/smime.c:2470 ++#: ncrypt/smime.c:2504 + msgid "(1) RC2-40, (2) RC2-64, (3) RC2-128?" + msgstr "(1) RC2-40, (2) RC2-64, (3) RC2-128?" + + #. L10N: Options for: (1) RC2-40, (2) RC2-64, (3) RC2-128 + #. L10N: Options for: (1) AES128, (2) AES192, (3) AES256 +-#: ncrypt/smime.c:2472 ncrypt/smime.c:2490 ++#: ncrypt/smime.c:2506 ncrypt/smime.c:2524 + msgid "123" + msgstr "123" + +-#: ncrypt/smime.c:2488 ++#: ncrypt/smime.c:2522 + msgid "(1) AES128, (2) AES192, (3) AES256?" + msgstr "(1) AES128, (2) AES192, (3) AES256?" + +-#: nntp/newsrc.c:632 ++#: nntp/newsrc.c:639 + msgid "Loading list of groups from cache..." + msgstr "" + +-#: nntp/newsrc.c:997 ++#: nntp/newsrc.c:1023 + msgid "No news server defined" + msgstr "" + +-#: nntp/newsrc.c:1012 ++#: nntp/newsrc.c:1041 + #, fuzzy, c-format + msgid "%s is an invalid news server specification" + msgstr "%s är en ogilitig POP-sökväg" + +-#: nntp/nntp.c:236 nntp/nntp.c:777 pop/pop.c:742 pop/pop_lib.c:398 ++#: nntp/nntp.c:238 nntp/nntp.c:779 pop/pop.c:742 pop/pop_lib.c:424 + msgid "Server closed connection" + msgstr "Servern stängde förbindelsen" + +-#: nntp/nntp.c:340 ++#: nntp/nntp.c:342 + #, fuzzy + msgid "Server doesn't support reader mode" + msgstr "SMTP-server stöder inte autentisering" + +-#: nntp/nntp.c:576 pop/pop_auth.c:504 smtp.c:650 ++#: nntp/nntp.c:578 pop/pop_auth.c:505 smtp.c:675 + msgid "No authenticators available" + msgstr "Ingen verifieringsmetod tillgänglig" + +-#: nntp/nntp.c:766 ++#: nntp/nntp.c:768 + #, fuzzy, c-format + msgid "%s authentication failed" + msgstr "SASL-verifiering misslyckades" + +-#: nntp/nntp.c:826 ++#: nntp/nntp.c:828 + #, fuzzy, c-format + msgid "Connection to %s lost. Reconnect?" + msgstr "Anslutning till %s stängd" + +-#: nntp/nntp.c:1285 ++#: nntp/nntp.c:1287 + #, fuzzy + msgid "Fetching list of articles..." + msgstr "Hämtar lista över meddelanden..." + +-#: nntp/nntp.c:1549 nntp/nntp.c:2138 pop/pop.c:614 pop/pop.c:910 ++#: nntp/nntp.c:1551 nntp/nntp.c:2140 pop/pop.c:614 pop/pop.c:905 + msgid "Checking for new messages..." + msgstr "Kollar efter nya meddelanden..." + +-#: nntp/nntp.c:1864 nntp/nntp.c:1954 ++#: nntp/nntp.c:1866 nntp/nntp.c:1956 + #, fuzzy + msgid "Could not switch to reader mode" + msgstr "kunde inte skriva tillfällig brevfolder: %s" + +-#: nntp/nntp.c:1877 ++#: nntp/nntp.c:1879 + #, fuzzy, c-format + msgid "Connected to %s. %s" + msgstr "Ansluter till %s..." + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + #, fuzzy + msgid "Posting is ok" + msgstr "Ingenting att göra" + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + msgid "Posting is NOT ok" + msgstr "" + +-#: nntp/nntp.c:2008 nntp/nntp.c:2043 ++#: nntp/nntp.c:2010 nntp/nntp.c:2045 + #, fuzzy, c-format + msgid "Can't post article: %s" + msgstr "Kan inte ta status på %s: %s" + +-#: nntp/nntp.c:2064 ++#: nntp/nntp.c:2066 + #, fuzzy, c-format + msgid "Loading list of groups from server %s..." + msgstr "Raderar meddelanden från server..." + +-#: nntp/nntp.c:2106 nntp/nntp.c:2198 ++#: nntp/nntp.c:2108 nntp/nntp.c:2200 + #, fuzzy + msgid "Loading descriptions..." + msgstr "Loggar in..." + +-#: nntp/nntp.c:2128 ++#: nntp/nntp.c:2130 + #, fuzzy + msgid "Checking for new newsgroups..." + msgstr "Kollar efter nya meddelanden..." + +-#: nntp/nntp.c:2332 ++#: nntp/nntp.c:2334 + msgid "Unable to find child articles because server does not support XPAT command" + msgstr "" + +-#: nntp/nntp.c:2437 ++#: nntp/nntp.c:2439 + #, fuzzy, c-format + msgid "%s is an invalid newsgroup specification" + msgstr "%s är en ogilitig POP-sökväg" + +-#: nntp/nntp.c:2476 ++#: nntp/nntp.c:2478 + #, c-format + msgid "Newsgroup %s not found on the server" + msgstr "" + +-#: nntp/nntp.c:2498 ++#: nntp/nntp.c:2500 + #, c-format + msgid "Newsgroup %s has been removed from the server" + msgstr "" +@@ -5003,7 +5083,7 @@ msgstr "" + + #: notmuch/mutt_notmuch.c:219 notmuch/mutt_notmuch.c:1939 + #, fuzzy, c-format +-msgid "failed to parse notmuch uri: %s" ++msgid "failed to parse notmuch url: %s" + msgstr "Misslyckades att tolka mailto:-länk\n" + + #: notmuch/mutt_notmuch.c:449 +@@ -6150,187 +6230,187 @@ msgstr "" + msgid "show S/MIME options" + msgstr "visa S/MIME-flaggor" + +-#: pager.c:222 ++#: pager.c:214 + msgid "Not available in this menu" + msgstr "Inte tillgänglig i den här menyn" + +-#: pager.c:229 ++#: pager.c:221 + msgid "PrevPg" + msgstr "Föreg. sida" + +-#: pager.c:230 ++#: pager.c:222 + msgid "NextPg" + msgstr "Nästa sida" + +-#: pager.c:235 ++#: pager.c:227 + msgid "View Attachm." + msgstr "Visa bilaga" + +-#: pager.c:238 pager.c:247 ++#: pager.c:230 pager.c:239 + msgid "Next" + msgstr "Nästa" + + #. L10N: Status bar message: the entire email is visible in the pager + #. L10N: Status bar message: all the emails are visible in the index +-#: pager.c:2180 status.c:278 ++#: pager.c:2136 status.c:278 + msgid "all" + msgstr "" + + #. L10N: Status bar message: the end of the email is visible in the pager + #. L10N: Status bar message: the end of the list emails is visible in the index +-#: pager.c:2182 status.c:276 ++#: pager.c:2138 status.c:276 + msgid "end" + msgstr "" + +-#: pager.c:2530 pager.c:2566 pager.c:2602 pager.c:2937 ++#: pager.c:2503 pager.c:2539 pager.c:2576 pager.c:2911 + msgid "Bottom of message is shown" + msgstr "Slutet av meddelande visas" + +-#: pager.c:2543 pager.c:2573 pager.c:2580 pager.c:2590 ++#: pager.c:2516 pager.c:2546 pager.c:2553 pager.c:2564 + msgid "Top of message is shown" + msgstr "Början av meddelande visas" + +-#: pager.c:2840 ++#: pager.c:2814 + msgid "Help is currently being shown" + msgstr "Hjälp visas just nu" + +-#: pager.c:2897 ++#: pager.c:2871 + msgid "No more quoted text" + msgstr "Ingen mer citerad text" + +-#: pager.c:2914 ++#: pager.c:2888 + msgid "No more unquoted text after quoted text" + msgstr "Ingen mer ociterad text efter citerad text" + +-#: pattern.c:220 pattern.c:297 pattern.c:1046 ++#: pattern.c:221 pattern.c:298 pattern.c:1085 + #, c-format + msgid "Error in expression: %s" + msgstr "Fel i uttryck: %s" + +-#: pattern.c:226 pattern.c:302 pattern.c:1052 ++#: pattern.c:227 pattern.c:303 pattern.c:1091 + msgid "Empty expression" + msgstr "Tomt uttryck" + +-#: pattern.c:288 ++#: pattern.c:289 + #, fuzzy + msgid "No search command defined" + msgstr "Sökkommando ej definierat" + +-#: pattern.c:326 ++#: pattern.c:327 + #, fuzzy, c-format + msgid "Running search command: %s ..." + msgstr "Kommando för automatisk visning: %s" + +-#: pattern.c:417 ++#: pattern.c:441 pattern.c:456 + #, c-format + msgid "Invalid day of month: %s" + msgstr "Ogiltig dag i månaden: %s" + +-#: pattern.c:431 ++#: pattern.c:446 pattern.c:470 + #, c-format + msgid "Invalid month: %s" + msgstr "Ogiltig månad: %s" + +-#: pattern.c:534 ++#: pattern.c:573 + #, c-format + msgid "Invalid relative date: %s" + msgstr "Ogiltigt relativt datum: %s" + +-#: pattern.c:842 pattern.c:975 ++#: pattern.c:881 pattern.c:1014 + #, fuzzy + msgid "No current message" + msgstr "Inga olästa meddelanden" + +-#: pattern.c:1002 ++#: pattern.c:1041 + msgid "No Context" + msgstr "" + +-#: pattern.c:1125 ++#: pattern.c:1164 + #, fuzzy + msgid "Error opening 'memory stream'" + msgstr "Fel vid öppning av brevlåda" + +-#: pattern.c:1171 ++#: pattern.c:1210 + #, fuzzy + msgid "Error re-opening 'memory stream'" + msgstr "Fel vid öppning av brevlåda" + +-#: pattern.c:1180 ++#: pattern.c:1219 + #, fuzzy + msgid "Error opening /dev/null" + msgstr "Kan inte öppna /dev/null" + +-#: pattern.c:1443 pattern.c:1620 ++#: pattern.c:1482 pattern.c:1662 + #, c-format + msgid "error in pattern at: %s" + msgstr "fel i mönster vid: %s" + +-#: pattern.c:1476 ++#: pattern.c:1515 + #, fuzzy, c-format + msgid "missing pattern: %s" + msgstr "saknar parameter" + +-#: pattern.c:1494 pattern.c:1593 ++#: pattern.c:1533 pattern.c:1635 + #, c-format + msgid "mismatched parentheses: %s" + msgstr "missmatchande parentes: %s" + +-#: pattern.c:1559 ++#: pattern.c:1598 + #, c-format + msgid "%c: invalid pattern modifier" + msgstr "%c: felaktig mönstermodifierare" + +-#: pattern.c:1564 ++#: pattern.c:1603 + #, c-format + msgid "%c: not supported in this mode" + msgstr "%c: stöds inte i det här läget" + +-#: pattern.c:1576 ++#: pattern.c:1618 + msgid "missing parameter" + msgstr "saknar parameter" + +-#: pattern.c:1626 ++#: pattern.c:1668 + msgid "empty pattern" + msgstr "tomt mönster" + +-#: pattern.c:2080 pattern.c:2083 ++#: pattern.c:2202 pattern.c:2205 + msgid "error: server custom search only supported with IMAP" + msgstr "" + +-#: pattern.c:2274 ++#: pattern.c:2398 + #, c-format + msgid "error: unknown op %d (report this error)" + msgstr "fel: okänd operation %d (rapportera det här felet)" + +-#: pattern.c:2448 pattern.c:2604 ++#: pattern.c:2572 pattern.c:2728 + msgid "Compiling search pattern..." + msgstr "Kompilerar sökmönster..." + +-#: pattern.c:2468 ++#: pattern.c:2592 + msgid "Executing command on matching messages..." + msgstr "Kör kommando på matchande meddelanden..." + +-#: pattern.c:2537 ++#: pattern.c:2661 + msgid "No messages matched criteria" + msgstr "Inga meddelanden matchade kriteriet" + +-#: pattern.c:2641 ++#: pattern.c:2765 + msgid "Searching..." + msgstr "Söker..." + +-#: pattern.c:2655 ++#: pattern.c:2779 + msgid "Search hit bottom without finding match" + msgstr "Sökning nådde slutet utan att hitta träff" + +-#: pattern.c:2666 ++#: pattern.c:2790 + msgid "Search hit top without finding match" + msgstr "Sökning nådde början utan att hitta träff" + +-#: pattern.c:2700 ++#: pattern.c:2824 + msgid "Search interrupted" + msgstr "Sökning avbruten" + +-#: pop/pop.c:216 pop/pop_lib.c:234 ++#: pop/pop.c:216 pop/pop_lib.c:259 + msgid "Command TOP is not supported by server" + msgstr "Kommandot TOP stöds inte av servern" + +@@ -6338,7 +6418,7 @@ msgstr "Kommandot TOP stöds inte av servern" + msgid "Can't write header to temporary file" + msgstr "Kan inte skriva huvud till tillfällig fil" + +-#: pop/pop.c:420 pop/pop_lib.c:236 ++#: pop/pop.c:420 pop/pop_lib.c:261 + msgid "Command UIDL is not supported by server" + msgstr "Kommandot UIDL stöds inte av servern" + +@@ -6353,7 +6433,7 @@ msgstr[1] "Brevindexet är fel. Försök att öppna brevlådan igen." + msgid "POP host is not defined" + msgstr "POP-värd är inte definierad" + +-#: pop/pop.c:596 pop/pop.c:825 ++#: pop/pop.c:596 pop/pop.c:790 pop/pop.c:820 + #, c-format + msgid "%s is an invalid POP path" + msgstr "%s är en ogilitig POP-sökväg" +@@ -6386,153 +6466,153 @@ msgid_plural "%s [%d of %d messages read]" + msgstr[0] "%s [%d av %d meddelanden lästa]" + msgstr[1] "%s [%d av %d meddelanden lästa]" + +-#: pop/pop.c:876 ++#: pop/pop.c:871 + msgid "Fetching list of messages..." + msgstr "Hämtar lista över meddelanden..." + +-#: pop/pop.c:959 ++#: pop/pop.c:954 + msgid "Marking messages deleted..." + msgstr "Markerar raderade meddelanden..." + +-#: pop/pop.c:1150 ++#: pop/pop.c:1145 + msgid "Can't write message to temporary file" + msgstr "Kan inte skriva meddelande till tillfällig fil" + +-#: pop/pop_auth.c:103 ++#: pop/pop_auth.c:104 + msgid "Authenticating (SASL)..." + msgstr "Verifierar (SASL)..." + +-#: pop/pop_auth.c:245 ++#: pop/pop_auth.c:246 + msgid "POP timestamp is invalid" + msgstr "POP-tidsstämpel är felaktig" + +-#: pop/pop_auth.c:249 ++#: pop/pop_auth.c:250 + msgid "Authenticating (APOP)..." + msgstr "Verifierar (APOP)..." + +-#: pop/pop_auth.c:269 ++#: pop/pop_auth.c:270 + msgid "APOP authentication failed" + msgstr "APOP-verifiering misslyckades" + +-#: pop/pop_auth.c:309 ++#: pop/pop_auth.c:310 + msgid "Command USER is not supported by server" + msgstr "Kommandot USER stöds inte av servern" + +-#: pop/pop_auth.c:386 ++#: pop/pop_auth.c:387 + #, fuzzy + msgid "Authentication failed" + msgstr "SASL-autentisering misslyckades" + +-#: pop/pop_lib.c:78 ++#: pop/pop_lib.c:103 + #, fuzzy, c-format + msgid "Invalid POP URL: %s" + msgstr "Ogiltig SMTP-URL: %s" + +-#: pop/pop_lib.c:232 ++#: pop/pop_lib.c:257 + msgid "Unable to leave messages on server" + msgstr "Kunde inte lämna meddelanden på server" + +-#: pop/pop_lib.c:274 ++#: pop/pop_lib.c:300 + #, c-format + msgid "Error connecting to server: %s" + msgstr "Fel vid anslutning till server: %s" + +-#: pop/pop_lib.c:414 ++#: pop/pop_lib.c:440 + msgid "Closing connection to POP server..." + msgstr "Stänger anslutning till POP-server..." + +-#: pop/pop_lib.c:605 ++#: pop/pop_lib.c:631 + msgid "Verifying message indexes..." + msgstr "Verifierar meddelandeindex..." + +-#: pop/pop_lib.c:628 ++#: pop/pop_lib.c:654 + msgid "Connection lost. Reconnect to POP server?" + msgstr "Anslutning tappad. Återanslut till POP-server?" + +-#: postpone.c:229 ++#: postpone.c:260 + msgid "Postponed Messages" + msgstr "Uppskjutna meddelanden" + +-#: postpone.c:314 postpone.c:326 ++#: postpone.c:348 postpone.c:372 + msgid "No postponed messages" + msgstr "Inga uppskjutna meddelanden" + +-#: postpone.c:480 ++#: postpone.c:526 + msgid "Illegal S/MIME header" + msgstr "Otillåtet S/MIME-huvud" + +-#: postpone.c:510 postpone.c:551 postpone.c:560 ++#: postpone.c:556 postpone.c:597 postpone.c:606 + msgid "Illegal crypto header" + msgstr "Otillåtet krypto-huvud" + +-#: postpone.c:644 postpone.c:752 postpone.c:780 ++#: postpone.c:690 postpone.c:798 postpone.c:826 + msgid "Decrypting message..." + msgstr "Avkrypterar meddelande..." + +-#: query.c:82 ++#: query.c:80 + msgid "New Query" + msgstr "Ny sökning" + +-#: query.c:83 ++#: query.c:81 + msgid "Make Alias" + msgstr "Skapa alias" + +-#: query.c:180 ++#: query.c:178 + msgid "Waiting for response..." + msgstr "Väntar på svar..." + +-#: query.c:362 query.c:400 ++#: query.c:365 query.c:434 + msgid "Query: " + msgstr "Sökning: " + +-#: query.c:370 query.c:407 ++#: query.c:374 query.c:442 + #, c-format + msgid "Query '%s'" + msgstr "Sökning \"%s\"" + +-#: query.c:620 query.c:657 ++#: query.c:661 query.c:698 + msgid "Query command not defined" + msgstr "Sökkommando ej definierat" + +-#: recvattach.c:93 ++#: recvattach.c:91 + msgid "Pipe" + msgstr "Rör" + +-#: recvattach.c:94 ++#: recvattach.c:92 + msgid "Print" + msgstr "Skriv ut" + +-#: recvattach.c:569 ++#: recvattach.c:571 + msgid "Saving..." + msgstr "Sparar..." + +-#: recvattach.c:573 recvattach.c:744 recvattach.c:748 ++#: recvattach.c:575 recvattach.c:746 recvattach.c:750 + #, fuzzy, c-format + msgid "Attachment saved" + msgid_plural "%d attachments saved" + msgstr[0] "Bilaga sparad" + msgstr[1] "Bilaga sparad" + +-#: recvattach.c:772 ++#: recvattach.c:774 + #, c-format + msgid "WARNING! You are about to overwrite %s, continue?" + msgstr "VARNING! Du är på väg att skriva över %s, fortsätt?" + +-#: recvattach.c:790 ++#: recvattach.c:792 + msgid "Attachment filtered" + msgstr "Bilaga filtrerad" + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Filter through: " + msgstr "Filtrera genom: " + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Pipe to: " + msgstr "Skicka genom rör till: " + + #. L10N: s gets replaced by a MIME type, e.g. "text/plain" or + #. application/octet-stream. +-#: recvattach.c:935 ++#: recvattach.c:937 + #, fuzzy, c-format + msgid "I don't know how to print %s attachments" + msgstr "Jag vet inte hur %s bilagor ska skrivas ut" +@@ -6540,57 +6620,57 @@ msgstr "Jag vet inte hur %s bilagor ska skrivas ut" + #. L10N: Although we now the precise number of tagged messages, we + #. do not show it to the user. So feel free to use a "generic + #. plural" as plural translation if your language has one. +-#: recvattach.c:1038 ++#: recvattach.c:1040 + #, fuzzy, c-format + msgid "Print tagged attachment?" + msgid_plural "Print %d tagged attachments?" + msgstr[0] "Skriv ut märkta bilagor?" + msgstr[1] "Skriv ut märkta bilagor?" + +-#: recvattach.c:1039 ++#: recvattach.c:1041 + #, c-format + msgid "Print attachment?" + msgstr "Skriv ut bilaga?" + +-#: recvattach.c:1123 ++#: recvattach.c:1125 + msgid "Structural changes to decrypted attachments are not supported" + msgstr "" + +-#: recvattach.c:1291 ++#: recvattach.c:1293 + msgid "Can't decrypt encrypted message" + msgstr "Kan inte avkryptera krypterat meddelande" + +-#: recvattach.c:1425 ++#: recvattach.c:1457 + msgid "Attachments" + msgstr "Bilagor" + +-#: recvattach.c:1465 ++#: recvattach.c:1497 + msgid "There are no subparts to show" + msgstr "Det finns inga underdelar att visa" + +-#: recvattach.c:1520 ++#: recvattach.c:1552 + msgid "Can't delete attachment from POP server" + msgstr "Kan inte radera bilaga från POP-server" + +-#: recvattach.c:1529 ++#: recvattach.c:1561 + #, fuzzy + msgid "Can't delete attachment from news server" + msgstr "Kan inte radera bilaga från POP-server" + +-#: recvattach.c:1536 ++#: recvattach.c:1568 + msgid "Deletion of attachments from encrypted messages is unsupported" + msgstr "Radering av bilagor från krypterade meddelanden stöds ej" + +-#: recvattach.c:1542 ++#: recvattach.c:1574 + #, fuzzy + msgid "Deletion of attachments from signed messages may invalidate the signature" + msgstr "Radering av bilagor från krypterade meddelanden stöds ej" + +-#: recvattach.c:1561 recvattach.c:1578 ++#: recvattach.c:1593 recvattach.c:1610 + msgid "Only deletion of multipart attachments is supported" + msgstr "Endast radering av \"multipart\"-bilagor stöds" + +-#: recvcmd.c:79 ++#: recvcmd.c:78 + msgid "You may only bounce message/rfc822 parts" + msgstr "Du kan bara återsända \"message/rfc822\"-delar" + +@@ -6627,7 +6707,7 @@ msgstr "Kan inte skapa %s" + msgid "Can't find any tagged messages" + msgstr "Kan inte hitta några märkta meddelanden" + +-#: recvcmd.c:848 send.c:1073 ++#: recvcmd.c:848 send.c:1072 + msgid "No mailing lists found" + msgstr "Inga sändlistor hittades" + +@@ -6642,67 +6722,67 @@ msgstr "Kan inte avkoda alla märkta bilagor. MIME-inkapsla de övriga?" + msgid "You may only compose to sender with message/rfc822 parts" + msgstr "Du kan bara återsända \"message/rfc822\"-delar" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Append" + msgstr "Lägg till" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Insert" + msgstr "Infoga" + +-#: remailer.c:78 ++#: remailer.c:76 + msgid "OK" + msgstr "OK" + +-#: remailer.c:210 ++#: remailer.c:207 + msgid "" + msgstr "" + +-#: remailer.c:586 ++#: remailer.c:617 + msgid "Can't get mixmaster's type2.list" + msgstr "Kan inte hämta mixmasters type2.list" + +-#: remailer.c:612 ++#: remailer.c:673 + msgid "Select a remailer chain" + msgstr "Välj en återpostarkedja" + +-#: remailer.c:674 ++#: remailer.c:735 + #, c-format + msgid "Error: %s can't be used as the final remailer of a chain" + msgstr "Fel: %s kan inte användas som den sista återpostaren i en kedja" + + #. L10N The '%d' here hard-coded to 19 +-#: remailer.c:706 ++#: remailer.c:767 + #, c-format + msgid "Mixmaster chains are limited to %d elements" + msgstr "Mixmaster-kedjor är begränsade till %d element" + +-#: remailer.c:729 ++#: remailer.c:790 + msgid "The remailer chain is already empty" + msgstr "Återpostarkedjan är redan tom" + +-#: remailer.c:739 ++#: remailer.c:800 + msgid "You already have the first chain element selected" + msgstr "Du har redan valt det första kedjeelementet" + +-#: remailer.c:749 ++#: remailer.c:810 + msgid "You already have the last chain element selected" + msgstr "Du har redan valt det sista kedjeelementet" + +-#: remailer.c:792 ++#: remailer.c:856 + msgid "Mixmaster doesn't accept Cc or Bcc headers" + msgstr "Mixmaster accepterar inte Cc eller Bcc-huvuden" + +-#: remailer.c:817 ++#: remailer.c:881 + msgid "Please set the hostname variable to a proper value when using mixmaster" + msgstr "Var vänlig och sätt \"hostname\"-variabeln till ett passande värde vid användande av mixmaster" + +-#: remailer.c:860 ++#: remailer.c:924 + #, c-format + msgid "Error sending message, child exited %d.\n" + msgstr "Fel vid sändning av meddelande, barn returnerade %d.\n" + +-#: remailer.c:864 ++#: remailer.c:928 + msgid "Error sending message" + msgstr "Fel vid sändning av meddelande" + +@@ -6733,42 +6813,42 @@ msgstr "Vidarebefordra som bilagor?" + + #. L10N: Asks whether the user respects the reply-to header. + #. If she says no, neomutt will reply to the from header's address instead. +-#: send.c:793 ++#: send.c:792 + #, c-format + msgid "Reply to %s%s?" + msgstr "Svara till %s%s?" + +-#: send.c:838 ++#: send.c:837 + #, c-format + msgid "Follow-up to %s%s?" + msgstr "Svara till %s%s?" + +-#: send.c:1122 ++#: send.c:1121 + msgid "Include message in reply?" + msgstr "Inkludera meddelande i svar?" + +-#: send.c:1128 ++#: send.c:1127 + msgid "Including quoted message..." + msgstr "Inkluderar citerat meddelande..." + +-#: send.c:1137 ++#: send.c:1136 + msgid "Could not include all requested messages" + msgstr "Kunde inte inkludera alla begärda meddelanden" + +-#: send.c:1148 ++#: send.c:1147 + msgid "Forward as attachment?" + msgstr "Vidarebefordra som bilaga?" + +-#: send.c:1153 ++#: send.c:1152 + msgid "Preparing forwarded message..." + msgstr "Förbereder vidarebefordrat meddelande..." + +-#: send.c:1632 ++#: send.c:1631 + #, fuzzy + msgid "Fcc to an IMAP mailbox is not supported in batch mode" + msgstr "%c: stöds inte i det här läget" + +-#: send.c:1664 send.c:1690 ++#: send.c:1665 send.c:1675 send.c:1701 + #, fuzzy + msgid "Save attachments in Fcc?" + msgstr "visa bilaga som text" +@@ -6777,196 +6857,196 @@ msgstr "visa bilaga som text" + #. (r)etry tries the same mailbox again. + #. alternate (m)ailbox prompts for a different mailbox to try. + #. (s)kip aborts saving. +-#: send.c:1712 ++#: send.c:1723 + msgid "Fcc failed. (r)etry, alternate (m)ailbox, or (s)kip?" + msgstr "" + + #. L10N: These correspond to the "Fcc failed" multi-choice prompt + #. (r)etry, alternate (m)ailbox, or (s)kip. + #. Any similarity to famous leaders of the FSF is coincidental. +-#: send.c:1716 ++#: send.c:1727 + msgid "rms" + msgstr "" + + #. L10N: This is the prompt to enter an "alternate (m)ailbox" when the + #. initial Fcc fails. +-#: send.c:1722 ++#: send.c:1733 + #, fuzzy + msgid "Fcc mailbox" + msgstr "Ingen brevlåda.\n" + +-#: send.c:1788 ++#: send.c:1799 + msgid "Can't postpone. $postponed is unset" + msgstr "" + +-#: send.c:1923 ++#: send.c:1934 + msgid "Recall postponed message?" + msgstr "Återkalla uppskjutet meddelande?" + +-#: send.c:2228 ++#: send.c:2239 + msgid "Edit forwarded message?" + msgstr "Redigera vidarebefordrat meddelande?" + +-#: send.c:2266 ++#: send.c:2277 + msgid "Abort unmodified message?" + msgstr "Meddelandet har inte ändrats. Avbryt?" + +-#: send.c:2268 ++#: send.c:2279 + msgid "Aborted unmodified message" + msgstr "Meddelandet har inte ändrats. Avbröt" + +-#: send.c:2388 ++#: send.c:2399 + msgid "No crypto backend configured. Disabling message security setting." + msgstr "" + +-#: send.c:2427 ++#: send.c:2438 + #, fuzzy + msgid "Article not posted" + msgstr "Brevet skickades inte" + +-#: send.c:2437 ++#: send.c:2448 + msgid "Message postponed" + msgstr "Meddelande uppskjutet" + +-#: send.c:2470 ++#: send.c:2481 + msgid "No subject, abort sending?" + msgstr "Inget ärende, avbryt sändning?" + +-#: send.c:2474 send.c:2480 ++#: send.c:2485 send.c:2491 + msgid "No subject specified" + msgstr "Inget ärende angivet" + +-#: send.c:2486 ++#: send.c:2497 + #, fuzzy + msgid "No newsgroup specified" + msgstr "Inget ärende angivet" + +-#: send.c:2496 ++#: send.c:2507 + #, fuzzy + msgid "No attachments, cancel sending?" + msgstr "redigera transportkodning för bilagan" + +-#: send.c:2501 ++#: send.c:2512 + msgid "Message contains text matching \"$abort_noattach_regex\". Not sending." + msgstr "" + +-#: send.c:2559 smtp.c:227 ++#: send.c:2570 smtp.c:230 + msgid "Sending message..." + msgstr "Skickar meddelande..." + +-#: send.c:2598 ++#: send.c:2609 + msgid "Could not send the message" + msgstr "Kunde inte skicka meddelandet" + +-#: send.c:2608 ++#: send.c:2619 + msgid "Sending in background" + msgstr "Skickar i bakgrunden" + +-#: send.c:2609 ++#: send.c:2620 + msgid "Article posted" + msgstr "" + +-#: send.c:2610 ++#: send.c:2621 + msgid "Mail sent" + msgstr "Brevet skickat" + +-#: sendlib.c:567 ++#: sendlib.c:566 + msgid "No boundary parameter found [report this error]" + msgstr "Ingen begränsningsparameter hittad [Rapportera det här felet]" + +-#: sendlib.c:598 ++#: sendlib.c:597 + #, c-format + msgid "%s no longer exists" + msgstr "%s existerar inte längre" + +-#: sendlib.c:1056 ++#: sendlib.c:1055 + #, c-format + msgid "%s isn't a regular file" + msgstr "%s är inte en normal fil" + +-#: sendlib.c:1223 ++#: sendlib.c:1222 + #, fuzzy + msgid "Could not find any mime.types file." + msgstr "Kunde inte skicka meddelandet." + +-#: sendlib.c:1314 ++#: sendlib.c:1313 + #, c-format + msgid "Could not open %s" + msgstr "Kunde inte öppna %s" + +-#: sendlib.c:2864 ++#: sendlib.c:2855 + msgid "$sendmail must be set in order to send mail" + msgstr "" + +-#: sendlib.c:2971 ++#: sendlib.c:2962 + #, c-format + msgid "Error sending message, child exited %d (%s)" + msgstr "Fel vid sändning av meddelande, barn returnerade %d (%s)" + +-#: sendlib.c:2977 ++#: sendlib.c:2969 + msgid "Output of the delivery process" + msgstr "Utdata från sändprocessen" + +-#: sendlib.c:3157 ++#: sendlib.c:3154 + #, c-format + msgid "Bad IDN %s while preparing resent-from" + msgstr "Felaktigt IDN %s vid förberedning av \"resent-from\"" + +-#: smtp.c:165 ++#: smtp.c:168 + #, c-format + msgid "SMTP session failed: %s" + msgstr "SMTP-session misslyckades: %s" + +-#: smtp.c:222 ++#: smtp.c:225 + #, c-format + msgid "SMTP session failed: unable to open %s" + msgstr "SMTP-session misslyckades: kunde inte öppna %s" + +-#: smtp.c:339 ++#: smtp.c:364 + #, c-format + msgid "Invalid SMTP URL: %s" + msgstr "Ogiltig SMTP-URL: %s" + +-#: smtp.c:618 ++#: smtp.c:643 + #, c-format + msgid "SMTP authentication method %s requires SASL" + msgstr "" + +-#: smtp.c:625 ++#: smtp.c:650 + #, fuzzy, c-format + msgid "%s authentication failed, trying next method" + msgstr "SASL-autentisering misslyckades" + +-#: smtp.c:636 ++#: smtp.c:661 + #, fuzzy + msgid "SMTP authentication requires SASL" + msgstr "GSSAPI-verifiering misslyckades" + +-#: smtp.c:717 ++#: smtp.c:742 + msgid "SMTP server does not support authentication" + msgstr "SMTP-server stöder inte autentisering" + +-#: smtp.c:756 ++#: smtp.c:781 + msgid "No from address given" + msgstr "" + +-#: smtp.c:821 ++#: smtp.c:846 + msgid "SMTP session failed: read error" + msgstr "SMTP-session misslyckades: läsfel" + +-#: smtp.c:823 ++#: smtp.c:848 + msgid "SMTP session failed: write error" + msgstr "SMTP-session misslyckades: skrivfel" + +-#: smtp.c:825 ++#: smtp.c:850 + msgid "Invalid server response" + msgstr "" + +-#: sort.c:385 ++#: sort.c:387 + msgid "Sorting mailbox..." + msgstr "Sorterar brevlåda..." + +-#: sort.c:427 ++#: sort.c:429 + msgid "Could not find sorting function [report this bug]" + msgstr "Kunde inte hitta sorteringsfunktion [Rapportera det här felet]" + +@@ -7037,11 +7117,11 @@ msgstr "" + "NeoMutt är fri mjukvara, och du är välkommen att sprida det vidare\n" + "under vissa villkor; kör 'neomutt -vv' för detaljer.\n" + +-#: version.c:446 ++#: version.c:451 + #, fuzzy + msgid "Default options:" + msgstr "Kompileringsval:" + +-#: version.c:449 ++#: version.c:454 + msgid "Compile options:" + msgstr "Kompileringsval:" +diff --git a/po/tr.po b/po/tr.po +index af8edfb95..da0de2173 100644 +--- a/po/tr.po ++++ b/po/tr.po +@@ -11,7 +11,7 @@ msgid "" + msgstr "" + "Project-Id-Version: neomutt-2019-12-07\n" + "Report-Msgid-Bugs-To: neomutt-devel@neomutt.org\n" +-"POT-Creation-Date: 2019-12-06 23:10+0000\n" ++"POT-Creation-Date: 2020-03-09 12:15+0000\n" + "PO-Revision-Date: 2006-01-11 04:13+0200\n" + "Last-Translator: Recai Oktaş \n" + "Language-Team: Debian L10n Turkish \n" +@@ -21,16 +21,40 @@ msgstr "" + "Content-Transfer-Encoding: 8bit\n" + "Plural-Forms: nplurals=2; plural=(n != 1);\n" + +-#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:59 browser.c:80 browser.c:90 +-#: mutt_history.c:45 pager.c:228 postpone.c:68 query.c:80 recvattach.c:93 ++msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" ++msgstr "(r)eddet, (s)adece bu defa, (d)aima kabul et, (a)tla" ++ ++msgid "roas" ++msgstr "rsda" ++ ++msgid "(r)eject, accept (o)nce, (a)ccept always" ++msgstr "(r)eddet, (s)adece bu defa, (d)aima kabul et" ++ ++msgid "roa" ++msgstr "rsd" ++ ++msgid "(r)eject, accept (o)nce, (s)kip" ++msgstr "(r)eddet, (s)adece bu defalığına kabul et, (a)tla" ++ ++msgid "ros" ++msgstr "rsa" ++ ++msgid "(r)eject, accept (o)nce" ++msgstr "(r)eddet, (s)adece bu defalığına kabul et" ++ ++msgid "ro" ++msgstr "rs" ++ ++#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:58 browser.c:79 browser.c:89 ++#: mutt_history.c:45 pager.c:220 postpone.c:68 query.c:78 recvattach.c:91 + msgid "Exit" + msgstr "Çık" + +-#: addrbook.c:56 index.c:116 index.c:129 pager.c:236 pager.c:246 postpone.c:69 ++#: addrbook.c:56 index.c:112 index.c:125 pager.c:228 pager.c:238 postpone.c:69 + msgid "Del" + msgstr "Sil" + +-#: addrbook.c:57 index.c:117 index.c:130 postpone.c:70 ++#: addrbook.c:57 index.c:113 index.c:126 postpone.c:70 + msgid "Undel" + msgstr "Kurtar" + +@@ -38,18 +62,18 @@ msgstr "Kurtar" + msgid "Select" + msgstr "Seç" + +-#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:82 browser.c:84 browser.c:96 +-#: compose.c:218 compose.c:230 conn/ssl.c:983 conn/ssl_gnutls.c:691 index.c:122 +-#: index.c:135 mutt_history.c:48 ncrypt/crypt_gpgme.c:4735 ncrypt/pgpkey.c:670 +-#: ncrypt/smime.c:553 pager.c:2326 postpone.c:71 query.c:85 recvattach.c:94 ++#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:81 browser.c:83 browser.c:95 ++#: compose.c:216 compose.c:228 conn/ssl.c:996 conn/ssl_gnutls.c:722 index.c:118 ++#: index.c:131 mutt_history.c:48 ncrypt/crypt_gpgme.c:4783 ncrypt/pgpkey.c:673 ++#: ncrypt/smime.c:555 pager.c:2297 postpone.c:71 query.c:83 recvattach.c:92 + msgid "Help" + msgstr "Yardım" + +-#: addrbook.c:208 ++#: addrbook.c:238 + msgid "You have no aliases" + msgstr "Hiç bir lâkabınız yok" + +-#: addrbook.c:215 ++#: addrbook.c:276 + msgid "Aliases" + msgstr "Lâkaplar" + +@@ -58,53 +82,53 @@ msgstr "Lâkaplar" + msgid "Alias as: " + msgstr "Farklı lâkap oluştur: " + +-#: alias.c:411 ++#: alias.c:414 + msgid "You already have an alias defined with that name" + msgstr "Bu isimde bir lâkap zaten tanımlanmış" + +-#: alias.c:417 ++#: alias.c:420 + msgid "Warning: This alias name may not work. Fix it?" + msgstr "Uyarı: Bu lâkap kullanılamayabilir. Düzeltinsin mi?" + +-#: alias.c:442 ++#: alias.c:445 + msgid "Address: " + msgstr "Adres:" + +-#: alias.c:453 commands.c:444 compose.c:744 conn/conn_raw.c:152 +-#: conn/conn_raw.c:210 recvcmd.c:232 send.c:228 ++#: alias.c:457 commands.c:450 compose.c:743 conn/conn_raw.c:152 ++#: conn/conn_raw.c:210 recvcmd.c:231 send.c:227 + #, c-format + msgid "Bad IDN: '%s'" + msgstr "Hatalı IDN: '%s'" + +-#: alias.c:464 ++#: alias.c:468 + msgid "Personal name: " + msgstr "Kişisel isim: " + +-#: alias.c:473 ++#: alias.c:477 + #, c-format + msgid "[%s = %s] Accept?" + msgstr "[%s = %s] Kabul?" + +-#: alias.c:484 recvattach.c:528 recvattach.c:550 recvattach.c:564 +-#: recvattach.c:579 recvattach.c:678 ++#: alias.c:488 recvattach.c:530 recvattach.c:552 recvattach.c:566 ++#: recvattach.c:581 recvattach.c:680 + msgid "Save to file: " + msgstr "Dosyaya kaydet: " + +-#: alias.c:503 ++#: alias.c:507 + #, fuzzy + msgid "Error reading alias file" + msgstr "Lâkap dosyasını görüntülenirken hata oluştu" + +-#: alias.c:525 ++#: alias.c:529 + #, fuzzy + msgid "Trouble adding alias" + msgstr "Lâkap dosyasını görüntülenirken hata oluştu" + +-#: alias.c:527 ++#: alias.c:531 + msgid "Alias added" + msgstr "Lâkap eklendi" + +-#: alias.c:532 ++#: alias.c:536 + #, fuzzy + msgid "Error seeking in alias file" + msgstr "Lâkap dosyasını görüntülenirken hata oluştu" +@@ -114,7 +138,7 @@ msgstr "Lâkap dosyasını görüntülenirken hata oluştu" + #. for some reason (e.g. autocrypt, header cache, bcache), but it + #. doesn't exist. The prompt is asking whether to create the directory + #. +-#: autocrypt/autocrypt.c:70 main.c:826 ++#: autocrypt/autocrypt.c:70 main.c:757 + #, c-format + msgid "%s does not exist. Create it?" + msgstr "%s yok. Yaratılsın mı?" +@@ -123,8 +147,8 @@ msgstr "%s yok. Yaratılsın mı?" + #. mkdir() on the directory %s failed. The second %s is the + #. error message returned by libc + #. +-#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:830 +-#: nntp/newsrc.c:1069 ++#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:761 ++#: nntp/newsrc.c:1098 + #, c-format + msgid "Can't create %s: %s" + msgstr "%s yaratılamadı: %s" +@@ -134,7 +158,7 @@ msgstr "%s yaratılamadı: %s" + #. create $autocrypt_dir and then prompt to create an autocrypt + #. account with this message. + #. +-#: autocrypt/autocrypt.c:156 ++#: autocrypt/autocrypt.c:163 + msgid "Create an initial autocrypt account?" + msgstr "" + +@@ -143,7 +167,7 @@ msgstr "" + #. autocrypt account. This will generate a key and add a record + #. to the database for use in autocrypt operations. + #. +-#: autocrypt/autocrypt.c:180 ++#: autocrypt/autocrypt.c:187 + msgid "Autocrypt account address: " + msgstr "" + +@@ -152,7 +176,7 @@ msgstr "" + #. a single address. This is shown if they entered something invalid, + #. nothing, or more than one address for some reason. + #. +-#: autocrypt/autocrypt.c:191 ++#: autocrypt/autocrypt.c:198 + msgid "Please enter a single email address" + msgstr "" + +@@ -161,7 +185,7 @@ msgstr "" + #. if there is already an account in the database with the email address + #. they just entered. + #. +-#: autocrypt/autocrypt.c:208 ++#: autocrypt/autocrypt.c:215 + msgid "That email address already has an autocrypt account" + msgstr "" + +@@ -173,7 +197,7 @@ msgstr "" + #. Otherwise the UI will show encryption is "available" but the user + #. will be required to enable encryption manually. + #. +-#: autocrypt/autocrypt.c:223 ++#: autocrypt/autocrypt.c:230 + #, fuzzy + msgid "Prefer encryption?" + msgstr "şifreleme" +@@ -181,7 +205,7 @@ msgstr "şifreleme" + #. L10N: + #. Message displayed after an autocrypt account is successfully created. + #. +-#: autocrypt/autocrypt.c:236 ++#: autocrypt/autocrypt.c:243 + msgid "Autocrypt account creation succeeded" + msgstr "" + +@@ -189,7 +213,7 @@ msgstr "" + #. Error message displayed if creating an autocrypt account failed + #. or was aborted by the user. + #. +-#: autocrypt/autocrypt.c:242 ++#: autocrypt/autocrypt.c:249 + msgid "Autocrypt account creation aborted" + msgstr "" + +@@ -198,7 +222,7 @@ msgstr "" + #. to use to encrypt, but it can't find a valid keyid for this address. + #. The message is printed and they are returned to the compose menu. + #. +-#: autocrypt/autocrypt.c:610 autocrypt/autocrypt.c:639 ++#: autocrypt/autocrypt.c:617 autocrypt/autocrypt.c:646 + #, fuzzy, c-format + msgid "No (valid) autocrypt key found for %s" + msgstr "%s için (geçerli) sertifika bulunamadı" +@@ -210,12 +234,12 @@ msgstr "%s için (geçerli) sertifika bulunamadı" + #. and used for encryption. + #. If this is answered yes, they will be prompted for a mailbox. + #. +-#: autocrypt/autocrypt.c:903 ++#: autocrypt/autocrypt.c:910 + msgid "Scan a mailbox for autocrypt headers?" + msgstr "" + + #. L10N: The prompt for a mailbox to scan for Autocrypt: headers +-#: autocrypt/autocrypt.c:907 ++#: autocrypt/autocrypt.c:914 + #, fuzzy + msgid "Scan mailbox" + msgstr "Eposta kutusu yok.\n" +@@ -227,14 +251,14 @@ msgstr "Eposta kutusu yok.\n" + #. for a mailbox. This is because this is a one-time operation + #. and I don't want them to accidentally ctrl-g and abort it. + #. +-#: autocrypt/autocrypt.c:927 ++#: autocrypt/autocrypt.c:934 + msgid "Scan another mailbox for autocrypt headers?" + msgstr "" + + #. L10N: Autocrypt Account Menu Help line: + #. create new account + #. +-#: autocrypt/autocrypt_acct_menu.c:63 ++#: autocrypt/autocrypt_acct_menu.c:62 + #, fuzzy + msgid "Create" + msgstr "%s yaratılsın mı?" +@@ -242,7 +266,7 @@ msgstr "%s yaratılsın mı?" + #. L10N: Autocrypt Account Menu Help line: + #. delete account + #. +-#: autocrypt/autocrypt_acct_menu.c:67 remailer.c:77 ++#: autocrypt/autocrypt_acct_menu.c:66 remailer.c:75 + msgid "Delete" + msgstr "Sil" + +@@ -250,9 +274,9 @@ msgstr "Sil" + #. toggle an account active/inactive + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:74 ++#: autocrypt/autocrypt_acct_menu.c:73 + msgid "Tgl Active" + msgstr "" + +@@ -260,17 +284,17 @@ msgstr "" + #. toggle "prefer-encrypt" on an account + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:81 +-msgid "Prf Enc" ++#: autocrypt/autocrypt_acct_menu.c:80 ++msgid "Prf Encr" + msgstr "" + + #. L10N: + #. Autocrypt Account menu. + #. flag that an account has prefer-encrypt set + #. +-#: autocrypt/autocrypt_acct_menu.c:123 ++#: autocrypt/autocrypt_acct_menu.c:122 + msgid "prefer encrypt" + msgstr "" + +@@ -279,7 +303,7 @@ msgstr "" + #. flag that an account has prefer-encrypt unset; + #. thus encryption will need to be manually enabled. + #. +-#: autocrypt/autocrypt_acct_menu.c:130 ++#: autocrypt/autocrypt_acct_menu.c:129 + msgid "manual encrypt" + msgstr "" + +@@ -287,7 +311,7 @@ msgstr "" + #. Autocrypt Account menu. + #. flag that an account is enabled/active + #. +-#: autocrypt/autocrypt_acct_menu.c:138 ++#: autocrypt/autocrypt_acct_menu.c:137 + msgid "active" + msgstr "" + +@@ -295,12 +319,12 @@ msgstr "" + #. Autocrypt Account menu. + #. flag that an account is disabled/inactive + #. +-#: autocrypt/autocrypt_acct_menu.c:144 ++#: autocrypt/autocrypt_acct_menu.c:143 + msgid "inactive" + msgstr "" + + #. L10N: Autocrypt Account Management Menu title +-#: autocrypt/autocrypt_acct_menu.c:183 ++#: autocrypt/autocrypt_acct_menu.c:182 + msgid "Autocrypt Accounts" + msgstr "" + +@@ -308,13 +332,13 @@ msgstr "" + #. This error message is displayed if a database update of an + #. account record fails for some odd reason. + #. +-#: autocrypt/autocrypt_acct_menu.c:245 autocrypt/autocrypt_acct_menu.c:259 ++#: autocrypt/autocrypt_acct_menu.c:244 autocrypt/autocrypt_acct_menu.c:258 + #, fuzzy + msgid "Error updating account record" + msgstr "Dizin taranırken hata oluştu" + + #. L10N: Confirmation message when deleting an autocrypt account +-#: autocrypt/autocrypt_acct_menu.c:302 ++#: autocrypt/autocrypt_acct_menu.c:333 + #, fuzzy, c-format + msgid "Really delete account \"%s\"?" + msgstr "\"%s\" eposta kutusu gerçekten silinsin mi?" +@@ -332,7 +356,7 @@ msgstr "\"%s\" eposta kutusu gerçekten silinsin mi?" + msgid "Unable to open autocrypt database %s" + msgstr "%s eposta kutusu açılamaz" + +-#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:774 ++#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:773 + #, c-format + msgid "error creating gpgme context: %s" + msgstr "gpgme bağlamı oluşturulurken hata: %s" +@@ -405,329 +429,280 @@ msgstr "" + msgid "Message cache isn't a directory: %s" + msgstr "Mesaj önbelleği bir dizin değil: %s" + +-#: browser.c:81 ++#: browser.c:80 + msgid "Chdir" + msgstr "Dizine geç" + +-#: browser.c:82 ++#: browser.c:81 + msgid "Goto" + msgstr "Git" + +-#: browser.c:83 browser.c:95 ++#: browser.c:82 browser.c:94 + msgid "Mask" + msgstr "Maske" + +-#: browser.c:91 ++#: browser.c:90 + msgid "List" + msgstr "Liste" + +-#: browser.c:92 ++#: browser.c:91 + msgid "Subscribe" + msgstr "Abone ol" + +-#: browser.c:93 ++#: browser.c:92 + msgid "Unsubscribe" + msgstr "Aboneliği iptal et" + +-#: browser.c:94 index.c:134 ++#: browser.c:93 index.c:130 + msgid "Catchup" + msgstr "" + +-#: browser.c:760 browser.c:1519 browser.c:1758 ++#: browser.c:763 browser.c:1584 browser.c:1825 + #, c-format + msgid "%s is not a directory" + msgstr "%s bir dizin değil" + +-#: browser.c:1025 ++#: browser.c:1028 + #, c-format + msgid "Subscribed newsgroups" + msgstr "Abone olunan haber grupları" + +-#: browser.c:1028 ++#: browser.c:1031 + #, c-format + msgid "Newsgroups on server [%s]" + msgstr "[%s] sunucuda haber grupları" + +-#: browser.c:1038 ++#: browser.c:1041 + #, c-format + msgid "Mailboxes [%d]" + msgstr "[%d] posta kutusu " + +-#: browser.c:1050 ++#: browser.c:1053 + #, c-format + msgid "Subscribed [%s], File mask: %s" + msgstr "Abone [%s], Dosya maskesi: %s" + +-#: browser.c:1056 ++#: browser.c:1059 + #, c-format + msgid "Directory [%s], File mask: %s" + msgstr "Dizin [%s], Dosya maskesi: %s" + +-#: browser.c:1113 ++#: browser.c:1116 + msgid "Can't attach a directory" + msgstr "Bir dizin eklenemez" + +-#: browser.c:1380 browser.c:1814 browser.c:1959 ++#: browser.c:1445 browser.c:1881 browser.c:2026 + msgid "No files match the file mask" + msgstr "Dosya maskesine uyan dosya yok" + +-#: browser.c:1587 ++#: browser.c:1654 + msgid "Create is only supported for IMAP mailboxes" + msgstr "Yaratma sadece IMAP eposta kutuları için destekleniyor" + +-#: browser.c:1609 ++#: browser.c:1676 + msgid "Rename is only supported for IMAP mailboxes" + msgstr "Yeniden isimlendirme sadece IMAP eposta kutuları için destekleniyor" + +-#: browser.c:1630 ++#: browser.c:1697 + msgid "Delete is only supported for IMAP mailboxes" + msgstr "Silme sadece IMAP eposta kutuları için destekleniyor" + +-#: browser.c:1642 ++#: browser.c:1709 + #, fuzzy + msgid "Can't delete currently selected mailbox" + msgstr "seçili dosyanın ismini göster" + +-#: browser.c:1646 ++#: browser.c:1713 + #, c-format + msgid "Really delete mailbox \"%s\"?" + msgstr "\"%s\" eposta kutusu gerçekten silinsin mi?" + +-#: browser.c:1663 ++#: browser.c:1730 + msgid "Mailbox deleted" + msgstr "Eposta kutusu silindi" + +-#: browser.c:1667 ++#: browser.c:1734 + msgid "Mailbox deletion failed" + msgstr "Eposta kutusunu silme başarısız oldu" + +-#: browser.c:1670 ++#: browser.c:1737 + msgid "Mailbox not deleted" + msgstr "Eposta kutusu silinmedi" + +-#: browser.c:1697 ++#: browser.c:1764 + msgid "Chdir to: " + msgstr "Dizine geç: " + +-#: browser.c:1747 browser.c:1808 ++#: browser.c:1814 browser.c:1875 + msgid "Error scanning directory" + msgstr "Dizin taranırken hata oluştu" + +-#: browser.c:1769 ++#: browser.c:1836 + msgid "File Mask: " + msgstr "Dosya Maskesi: " + + #. L10N: The highlighted letters must match the "Sort" options +-#: browser.c:1831 ++#: browser.c:1898 + msgid "Reverse sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "Tersine sıralama seçeneği: (t)arih, (a)lfabetik, (b)oyut, tarı(m), (s)ayı, (y)eni, (h)iç?" + + #. L10N: The highlighted letters must match the "Reverse Sort" options +-#: browser.c:1834 ++#: browser.c:1901 + msgid "Sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "Sıralama seçeneği: (t)arih, (a)lfabetik, (b)oyut, tarı(m), (s)ayı, (y)eni, (h)iç?" + + #. L10N: These must match the highlighted letters from "Sort" and "Reverse Sort" +-#: browser.c:1837 ++#: browser.c:1904 + msgid "dazecwn" + msgstr "tabmsyh" + +-#: browser.c:1948 ++#: browser.c:2015 + msgid "New file name: " + msgstr "Yeni dosya ismi: " + +-#: browser.c:1976 ++#: browser.c:2043 + msgid "Can't view a directory" + msgstr "Bir dizin görüntülenemez" + +-#: browser.c:1993 ++#: browser.c:2060 + msgid "Error trying to view file" + msgstr "Dosya görüntülenirken hata oluştu" + +-#: browser.c:2079 ++#: browser.c:2146 + #, fuzzy, c-format + msgid "Subscribe pattern: " + msgstr "%s eposta kutusuna abone olunuyor..." + +-#: browser.c:2081 ++#: browser.c:2148 + #, fuzzy, c-format + msgid "Unsubscribe pattern: " + msgstr "%s aboneliği iptal ediliyor..." + +-#: browser.c:2101 ++#: browser.c:2169 + msgid "No newsgroups match the mask" + msgstr "Tabire uyan haber grubu bulunamaz" + +-#: color.c:633 color.c:644 +-#, c-format +-msgid "%s: color not supported by term" +-msgstr "%s: renk uçbirim tarafından desteklenmiyor" +- +-#: color.c:652 +-#, c-format +-msgid "%s: no such color" +-msgstr "%s: böyle bir renk yok" +- +-#: color.c:717 color.c:740 color.c:751 color.c:842 +-#, c-format +-msgid "%s: no such object" +-msgstr "%s: böyle bir şey yok" +- +-#: color.c:731 color.c:868 color.c:1069 color.c:1098 color.c:1122 color.c:1191 +-#: color.c:1214 hook.c:110 hook.c:124 hook.c:367 hook.c:383 init.c:612 +-#: init.c:620 init.c:709 init.c:1099 init.c:1267 init.c:1871 init.c:1929 +-#: keymap.c:1184 score.c:110 +-#, c-format +-msgid "%s: too few arguments" +-msgstr "%s: eksik argüman" +- +-#: color.c:1142 +-#, c-format +-msgid "%s: no such attribute" +-msgstr "%s: böyle bir nitelik yok" +- +-#: color.c:1223 color.c:1329 hook.c:131 hook.c:390 init.c:1123 init.c:2133 +-#: init.c:2611 keymap.c:1116 keymap.c:1289 keymap.c:1442 keymap.c:1506 +-#: mutt_lua.c:483 score.c:119 +-#, c-format +-msgid "%s: too many arguments" +-msgstr "%s: fazla argüman" +- +-#: color.c:1244 +-msgid "default colors not supported" +-msgstr "varsayılan renkler desteklenmiyor" +- +-#: color.c:1282 +-#, c-format +-msgid "Maximum quoting level is %d" +-msgstr "" +- +-#: color.c:1319 +-#, fuzzy, c-format +-msgid "%s: invalid number: %s" +-msgstr "%d: geçersiz ileti numarası.\n" +- + #. L10N: Used for the $crypt_verify_sig prompt +-#: commands.c:230 ++#: commands.c:232 + msgid "Verify signature?" + msgstr "Imzası doğrulansın mı?" + +-#: commands.c:257 mbox/mbox.c:1236 ++#: commands.c:259 mbox/mbox.c:1236 + msgid "Could not create temporary file" + msgstr "Geçici dosya yaratılamadı" + +-#: commands.c:269 ++#: commands.c:271 + msgid "Can't create display filter" + msgstr "Gösterim süzgeci oluşturulamadı" + +-#: commands.c:302 ++#: commands.c:304 + msgid "Could not copy message" + msgstr "İleti kopyalanamadı" + +-#: commands.c:338 ++#: commands.c:340 + msgid "S/MIME signature successfully verified" + msgstr "S/MIME imzası başarıyla doğrulandı" + +-#: commands.c:340 ++#: commands.c:342 + msgid "S/MIME certificate owner does not match sender" + msgstr "S/MIME sertifikasının sahibiyle gönderen uyuşmuyor" + +-#: commands.c:343 commands.c:353 ++#: commands.c:345 commands.c:355 + msgid "Warning: Part of this message has not been signed" + msgstr "Uyarı: Bu iletinin bir bölümü imzalanmamış" + +-#: commands.c:345 ++#: commands.c:347 + msgid "S/MIME signature could NOT be verified" + msgstr "S/MIME imzası doğrulanamadı" + +-#: commands.c:351 ++#: commands.c:353 + msgid "PGP signature successfully verified" + msgstr "PGP imzası başarıyla doğrulandı" + +-#: commands.c:355 ++#: commands.c:357 + msgid "PGP signature could NOT be verified" + msgstr "PGP imzası doğrulanamadı" + +-#: commands.c:372 compose.c:2116 compress.c:321 curs_lib.c:359 curs_lib.c:646 +-#: index.c:1235 index.c:1285 mutt_attach.c:159 mutt_attach.c:292 pager.c:2460 +-#: sendlib.c:1625 ++#: commands.c:378 compose.c:2187 compress/compress.c:320 gui/curs_lib.c:360 ++#: gui/curs_lib.c:714 index.c:1240 index.c:1290 mutt_attach.c:161 ++#: mutt_attach.c:294 pager.c:2433 sendlib.c:1624 + #, c-format + msgid "Error running \"%s\"" + msgstr "\"%s\" çalıştırılırken bir hata oluştu" + +-#: commands.c:382 ++#: commands.c:388 + msgid "Command: " + msgstr "Komut: " + +-#: commands.c:419 recvcmd.c:191 recvcmd.c:203 ++#: commands.c:425 recvcmd.c:190 recvcmd.c:202 + msgid "Warning: message contains no From: header" + msgstr "" + +-#: commands.c:425 recvcmd.c:212 ++#: commands.c:431 recvcmd.c:211 + #, fuzzy + msgid "Bounce message to: " + msgstr "İletinin geri gönderme adresi: " + +-#: commands.c:427 recvcmd.c:214 ++#: commands.c:433 recvcmd.c:213 + #, fuzzy + msgid "Bounce tagged messages to: " + msgstr "İşaretli iletileri geri gönder:" + +-#: commands.c:436 recvcmd.c:224 ++#: commands.c:442 recvcmd.c:223 + msgid "Error parsing address" + msgstr "Adres ayrıştırılırken hata" + +-#: commands.c:455 recvcmd.c:243 ++#: commands.c:461 recvcmd.c:242 + #, fuzzy, c-format + msgid "Bounce message to %s?" + msgid_plural "Bounce messages to %s?" + msgstr[0] "İletiyi %s adresine geri gönder" + msgstr[1] "İletilerin geri gönderme adresi: %s?" + +-#: commands.c:470 recvcmd.c:257 ++#: commands.c:476 recvcmd.c:257 + #, fuzzy + msgid "Message not bounced" + msgid_plural "Messages not bounced" + msgstr[0] "İleti geri gönderilmedi" + msgstr[1] "İletiler geri gönderilmedi" + +-#: commands.c:496 recvcmd.c:276 ++#: commands.c:502 recvcmd.c:276 + #, fuzzy + msgid "Message bounced" + msgid_plural "Messages bounced" + msgstr[0] "İleti geri gönderildi" + msgstr[1] "İletiler geri gönderildi" + +-#: commands.c:606 commands.c:642 commands.c:662 ++#: commands.c:612 commands.c:648 commands.c:668 + msgid "Can't create filter process" + msgstr "Süzgeç süreci yaratılamadı" + +-#: commands.c:698 ++#: commands.c:704 + msgid "Pipe to command: " + msgstr "Borulanacak komut: " + +-#: commands.c:720 ++#: commands.c:726 + msgid "No printing command has been defined" + msgstr "Yazdırma komutu tanımlanmadı" + +-#: commands.c:732 ++#: commands.c:738 + #, fuzzy + msgid "Print message?" + msgstr "İleti yazdırılsın mı?" + +-#: commands.c:733 ++#: commands.c:739 + #, fuzzy + msgid "Print tagged messages?" + msgstr "İşaretlenen iletiler yazdırılsın mı?" + +-#: commands.c:739 ++#: commands.c:745 + #, fuzzy + msgid "Message printed" + msgid_plural "Messages printed" + msgstr[0] "İleti yazdırıldı" + msgstr[1] "İletiler yazdırıldı" + +-#: commands.c:742 ++#: commands.c:748 + #, fuzzy + msgid "Message could not be printed" + msgid_plural "Messages could not be printed" +@@ -735,161 +710,325 @@ msgstr[0] "İleti yazdırılamadı" + msgstr[1] "İletiler yazdırılamadı" + + #. L10N: The highlighted letters must match the "Sort" options +-#: commands.c:759 ++#: commands.c:765 + msgid "Rev-Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "Ters-sıra: (t)arih/(k)imden/(a)lıcı/k(o)nu/ki(m)e/(i)lmek/sırası(z)/(b)oyut/(p)uan/(s)pam/(e)tiket?:" + + #. L10N: The highlighted letters must match the "Rev-Sort" options +-#: commands.c:763 ++#: commands.c:769 + msgid "Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "Sıra: (t)arih/(k)imden/(a)lıcı/k(o)nu/ki(m)e/(i)lmek/sırası(z)/(b)oyut/(p)uan/(s)pam/(e)tiket?:" + + #. L10N: These must match the highlighted letters from "Sort" and "Rev-Sort" +-#: commands.c:767 ++#: commands.c:773 + msgid "dfrsotuzcpl" + msgstr "tkaomizbpse" + +-#: commands.c:831 ++#: commands.c:837 + msgid "Shell command: " + msgstr "Kabuk komutu: " + +-#: commands.c:1036 ++#: commands.c:1042 + #, fuzzy + msgid "Decode-save to mailbox" + msgstr "Eposta kutusuna çözerek kaydedilecek" + +-#: commands.c:1036 ++#: commands.c:1042 + #, fuzzy + msgid "Decode-save tagged to mailbox" + msgstr "Eposta kutusuna çözerek kaydedilecek işaretliler" + +-#: commands.c:1038 ++#: commands.c:1044 + #, fuzzy + msgid "Decrypt-save to mailbox" + msgstr "Eposta kutusuna şifre çözerek kaydedilecek" + +-#: commands.c:1038 ++#: commands.c:1044 + #, fuzzy + msgid "Decrypt-save tagged to mailbox" + msgstr "Eposta kutusuna şifre çözerek kaydedilecek işaretliler" + +-#: commands.c:1040 ++#: commands.c:1046 + #, fuzzy + msgid "Save to mailbox" + msgstr "Eposta kutusuna kaydedilecek" + +-#: commands.c:1040 ++#: commands.c:1046 + #, fuzzy + msgid "Save tagged to mailbox" + msgstr "Eposta kutusuna kaydedilecek işaretliler" + +-#: commands.c:1045 ++#: commands.c:1051 + #, fuzzy + msgid "Decode-copy to mailbox" + msgstr "Eposta kutusuna çözerek kopyalanacak" + +-#: commands.c:1045 ++#: commands.c:1051 + #, fuzzy + msgid "Decode-copy tagged to mailbox" + msgstr "Eposta kutusuna çözerek kopyalanacak işaretliler" + +-#: commands.c:1047 ++#: commands.c:1053 + #, fuzzy + msgid "Decrypt-copy to mailbox" + msgstr "Eposta kutusuna şifre çözerek kopyalanacak" + +-#: commands.c:1047 ++#: commands.c:1053 + #, fuzzy + msgid "Decrypt-copy tagged to mailbox" + msgstr "Eposta kutusuna şifre çözerek kopyalanacak işaretliler" + +-#: commands.c:1049 ++#: commands.c:1055 + #, fuzzy + msgid "Copy to mailbox" + msgstr "Eposta kutusuna kopyalanacak" + +-#: commands.c:1049 ++#: commands.c:1055 + #, fuzzy + msgid "Copy tagged to mailbox" + msgstr "Eposta kutusuna kopyalanacak işaretliler" + +-#: commands.c:1092 ++#: commands.c:1098 + #, c-format + msgid "Copying to %s..." + msgstr "%s konumuna kopyalanıyor..." + + #. L10N: e.g. "text/plain; charset=UTF-8; ..." +-#: commands.c:1257 ++#: commands.c:1263 + #, fuzzy + msgid "Content type is too long" + msgstr "İçerik-Tipi %s olarak değiştirildi" + +-#: commands.c:1281 ++#: commands.c:1290 + #, c-format + msgid "Convert to %s upon sending?" + msgstr "Gönderilirken %s karakter kümesine dönüştürülsün mü?" + +-#: commands.c:1292 ++#: commands.c:1301 + #, c-format + msgid "Content-Type changed to %s" + msgstr "İçerik-Tipi %s olarak değiştirildi" + +-#: commands.c:1297 ++#: commands.c:1306 + #, fuzzy, c-format + msgid "Character set changed to %s; not converting" + msgstr "Karakter kümesi %s olarak değiştirildi; dönüştürme yapılmıyor" + +-#: commands.c:1298 ++#: commands.c:1307 + #, fuzzy, c-format + msgid "Character set changed to %s; converting" + msgstr "Karakter kümesi %s olarak değiştirildi; dönüştürme yapılıyor" + +-#: compose.c:99 ++#: command_parse.c:83 command_parse.c:211 command_parse.c:219 ++#: command_parse.c:740 command_parse.c:887 command_parse.c:1491 ++#: command_parse.c:1549 gui/color.c:731 gui/color.c:868 gui/color.c:1069 ++#: gui/color.c:1098 gui/color.c:1122 gui/color.c:1191 gui/color.c:1214 ++#: hook.c:110 hook.c:124 hook.c:372 hook.c:388 keymap.c:1182 score.c:110 ++#, c-format ++msgid "%s: too few arguments" ++msgstr "%s: eksik argüman" ++ ++#: command_parse.c:394 ++msgid "-group: no group name" ++msgstr "" ++ ++#: command_parse.c:404 ++#, fuzzy ++msgid "out of arguments" ++msgstr "eksik argüman" ++ ++#: command_parse.c:445 command_parse.c:1372 ++#, c-format ++msgid "Error: Can't build path of '%s'" ++msgstr "" ++ ++#: command_parse.c:458 ++#, c-format ++msgid "Error: Cyclic sourcing of configuration file '%s'" ++msgstr "" ++ ++#: command_parse.c:491 ++#, c-format ++msgid "Error in %s, line %d: %s" ++msgstr "%s dosyasında hata var, satır %d: %s" ++ ++#: command_parse.c:502 ++#, c-format ++msgid "Warning in %s, line %d: %s" ++msgstr "%s dosyasında hata var, satır %d: %s" ++ ++#: command_parse.c:526 ++#, c-format ++msgid "source: errors in %s" ++msgstr "source: %s dosyasında hatalar var" ++ ++#: command_parse.c:526 ++#, fuzzy, c-format ++msgid "source: reading aborted due to too many errors in %s" ++msgstr "source: %s dosyasındaki çok fazla sayıda hatadan dolayı okuma iptal edildi" ++ ++#: command_parse.c:535 ++#, fuzzy, c-format ++msgid "source: %d warning in %s" ++msgid_plural "source: %d warnings in %s" ++msgstr[0] "kaynak: %d hata var, %s dosyasında" ++msgstr[1] "kaynak: %d hata var, %s dosyasında" ++ ++#: command_parse.c:564 ++msgid "alias: no address" ++msgstr "alias: adres yok" ++ ++#: command_parse.c:606 ++#, c-format ++msgid "Warning: Bad IDN '%s' in alias '%s'" ++msgstr "Uyarı: '%2$s' adresindeki '%1$s' IDN'si hatalı" ++ ++#: command_parse.c:684 ++msgid "attachments: no disposition" ++msgstr "ekler: dispozisyon yok" ++ ++#: command_parse.c:695 ++#, fuzzy ++msgid "Current attachments settings:" ++msgstr "ek açıklamasını düzenle" ++ ++#: command_parse.c:725 ++msgid "attachments: invalid disposition" ++msgstr "ekler: geçersiz dispozisyon" ++ ++#: command_parse.c:764 command_parse.c:1753 command_parse.c:2205 ++#: gui/color.c:1223 gui/color.c:1329 hook.c:131 hook.c:395 keymap.c:1114 ++#: keymap.c:1287 keymap.c:1440 keymap.c:1504 mutt_lua.c:485 score.c:119 ++#, c-format ++msgid "%s: too many arguments" ++msgstr "%s: fazla argüman" ++ ++#: command_parse.c:801 ++#, c-format ++msgid "%sgroup: missing -rx or -addr" ++msgstr "" ++ ++#: command_parse.c:827 ++#, c-format ++msgid "%sgroup: warning: bad IDN '%s'" ++msgstr "%sgrup: uyarı: IDN'si hatalı '%s'" ++ ++#: command_parse.c:898 ++#, c-format ++msgid "Error: %s" ++msgstr "" ++ ++#: command_parse.c:1065 ++msgid "invalid header field" ++msgstr "geçersiz başlık alanı" ++ ++#: command_parse.c:1331 command_parse.c:1435 ++#, c-format ++msgid "%s: unknown variable" ++msgstr "%s: bilinmeyen değişken" ++ ++#: command_parse.c:1528 ++#, c-format ++msgid "%s is unset" ++msgstr "%s ayarlanmadan bırakıldı" ++ ++#: command_parse.c:1573 mutt_lua.c:480 ++#, c-format ++msgid "source: error at %s" ++msgstr "source: hata konumu: %s" ++ ++#: command_parse.c:1581 ++#, fuzzy, c-format ++msgid "source: file %s could not be sourced" ++msgstr "İletiler yazdırılamadı" ++ ++#: command_parse.c:1604 ++msgid "spam: no matching pattern" ++msgstr "spam: uyuşan bir tabir yok" ++ ++#: command_parse.c:1606 ++msgid "nospam: no matching pattern" ++msgstr "nospam: uyuşan bir tabir yok" ++ ++#: command_parse.c:1762 imap/imap.c:1443 ++#, fuzzy, c-format ++msgid "Subscribed to %s" ++msgstr "%s eposta kutusuna abone olmuş" ++ ++#: command_parse.c:1766 ++#, fuzzy, c-format ++msgid "Could not subscribe to %s" ++msgstr "%s eposta kutusuna abone olunuyor..." ++ ++#: command_parse.c:1774 command_parse.c:2226 ++#, fuzzy ++msgid "No folder specified" ++msgstr "Konu girilmedi." ++ ++#: command_parse.c:1943 ++msgid "unattachments: no disposition" ++msgstr "ek olmayanlar: dispozisyon yok" ++ ++#: command_parse.c:1981 ++msgid "unattachments: invalid disposition" ++msgstr "ek olmayanlar: geçersiz dispozisyon" ++ ++#: command_parse.c:2214 imap/imap.c:1445 ++#, fuzzy, c-format ++msgid "Unsubscribed from %s" ++msgstr "%s eposta kutusundan aboneliği iptal etmiş" ++ ++#: command_parse.c:2218 ++#, fuzzy, c-format ++msgid "Could not unsubscribe from %s" ++msgstr "%s aboneliği iptal ediliyor..." ++ ++#: compose.c:97 + msgid "There are no attachments" + msgstr "Posta eki yok" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:166 ++#: compose.c:164 + msgid "From: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:168 send.c:284 ++#: compose.c:166 send.c:284 + msgid "To: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:170 send.c:286 ++#: compose.c:168 send.c:286 + msgid "Cc: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:172 send.c:288 ++#: compose.c:170 send.c:288 + msgid "Bcc: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:174 compose.c:1242 send.c:320 ++#: compose.c:172 compose.c:1302 send.c:320 + msgid "Subject: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:176 ++#: compose.c:174 + msgid "Reply-To: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:178 compose.c:1261 ++#: compose.c:176 compose.c:1321 + msgid "Fcc: " + msgstr "" + + #. L10N: "Mix" refers to the MixMaster chain for anonymous email +-#: compose.c:181 ++#: compose.c:179 + msgid "Mix: " + msgstr "" + + #. L10N: Compose menu field. Holds "Encrypt", "Sign" related information +-#: compose.c:184 ++#: compose.c:182 + msgid "Security: " + msgstr "" + +@@ -900,75 +1039,75 @@ msgstr "" + #. it should not be longer than the other compose menu fields. + #. Since it shares the row with "Encrypt with:", it should not be longer + #. than 15-20 character cells. +-#: compose.c:192 ncrypt/crypt_gpgme.c:5602 ncrypt/pgp.c:1974 +-#: ncrypt/smime.c:2395 ++#: compose.c:190 ncrypt/crypt_gpgme.c:5682 ncrypt/pgp.c:1976 ++#: ncrypt/smime.c:2429 + msgid "Sign as: " + msgstr "Farklı imzala: " + + #. L10N: The compose menu autocrypt line +-#: compose.c:195 ++#: compose.c:193 + msgid "Autocrypt: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:199 ++#: compose.c:197 + msgid "Newsgroups: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:201 ++#: compose.c:199 + msgid "Followup-To: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:203 ++#: compose.c:201 + msgid "X-Comment-To: " + msgstr "" + +-#: compose.c:208 compose.c:224 ++#: compose.c:206 compose.c:222 + msgid "Send" + msgstr "Gönder" + +-#: compose.c:209 compose.c:225 remailer.c:77 ++#: compose.c:207 compose.c:223 remailer.c:75 + msgid "Abort" + msgstr "İptal" + + #. L10N: compose menu help line entry +-#: compose.c:211 ++#: compose.c:209 + msgid "To" + msgstr "" + + #. L10N: compose menu help line entry +-#: compose.c:213 ++#: compose.c:211 + msgid "CC" + msgstr "" + + #. L10N: compose menu help line entry +-#: compose.c:215 compose.c:227 ++#: compose.c:213 compose.c:225 + msgid "Subj" + msgstr "" + +-#: compose.c:216 compose.c:228 compose.c:1556 ++#: compose.c:214 compose.c:226 compose.c:1616 + msgid "Attach file" + msgstr "Dosya ekle" + +-#: compose.c:217 compose.c:229 ++#: compose.c:215 compose.c:227 + msgid "Descrip" + msgstr "Açıklama" + +-#: compose.c:226 ++#: compose.c:224 + msgid "Newsgroups" + msgstr "Haber grupları" + + #. L10N: Autocrypt recommendation flag: off. + #. * This is displayed when Autocrypt is turned off. +-#: compose.c:239 compose.c:473 ++#: compose.c:237 compose.c:472 + msgid "Off" + msgstr "" + + #. L10N: Autocrypt recommendation flag: no. + #. * This is displayed when Autocrypt cannot encrypt to the recipients. +-#: compose.c:242 ++#: compose.c:240 + msgid "No" + msgstr "" + +@@ -976,7 +1115,7 @@ msgstr "" + #. * This is displayed when Autocrypt believes encryption should not be used. + #. * This might occur if one of the recipient Autocrypt Keys has not been + #. * used recently, or if the only key available is a Gossip Header key. +-#: compose.c:247 ++#: compose.c:245 + msgid "Discouraged" + msgstr "" + +@@ -984,14 +1123,14 @@ msgstr "" + #. * This is displayed when Autocrypt believes encryption is possible, but + #. * leaves enabling it up to the sender. Probably because "prefer encrypt" + #. * is not set in both the sender and recipient keys. +-#: compose.c:252 ++#: compose.c:250 + msgid "Available" + msgstr "" + + #. L10N: Autocrypt recommendation flag: yes. + #. * This is displayed when Autocrypt would normally enable encryption + #. * automatically. +-#: compose.c:256 ++#: compose.c:254 + #, fuzzy + msgid "Yes" + msgstr "evet" +@@ -1002,7 +1141,7 @@ msgstr "evet" + #. (c)lear sets cleartext. + #. (a)utomatic defers to the recommendation. + #. +-#: compose.c:338 ++#: compose.c:337 + msgid "Autocrypt: (e)ncrypt, (c)lear, (a)utomatic?" + msgstr "" + +@@ -1010,51 +1149,51 @@ msgstr "" + #. The letter corresponding to the compose menu autocrypt prompt + #. (e)ncrypt, (c)lear, (a)utomatic + #. +-#: compose.c:346 ++#: compose.c:345 + msgid "eca" + msgstr "" + +-#: compose.c:383 ++#: compose.c:382 + msgid "Not supported" + msgstr "Desteklenmiyor" + +-#: compose.c:390 ++#: compose.c:389 + msgid "Sign, Encrypt" + msgstr "İmzala, Şifrele" + +-#: compose.c:395 compose.c:468 ++#: compose.c:394 compose.c:467 + msgid "Encrypt" + msgstr "Şifrele" + +-#: compose.c:400 ++#: compose.c:399 + msgid "Sign" + msgstr "İmzala" + +-#: compose.c:406 ++#: compose.c:405 + msgid "None" + msgstr "" + +-#: compose.c:415 ++#: compose.c:414 + msgid " (inline PGP)" + msgstr " (satıriçi PGP)" + +-#: compose.c:417 ++#: compose.c:416 + msgid " (PGP/MIME)" + msgstr " (PGP/MIME)" + +-#: compose.c:420 ++#: compose.c:419 + msgid " (S/MIME)" + msgstr " (S/MIME)" + +-#: compose.c:424 ++#: compose.c:423 + msgid " (OppEnc mode)" + msgstr "" + +-#: compose.c:436 compose.c:445 ++#: compose.c:435 compose.c:444 + msgid "" + msgstr "" + +-#: compose.c:452 ++#: compose.c:451 + msgid "Encrypt with: " + msgstr "Şifreleme anahtarı: " + +@@ -1063,11 +1202,11 @@ msgstr "Şifreleme anahtarı: " + #. Displays the output of the recommendation engine + #. (Off, No, Discouraged, Available, Yes) + #. +-#: compose.c:483 ++#: compose.c:482 + msgid "Recommendation: " + msgstr "" + +-#: compose.c:547 ++#: compose.c:546 + msgid "" + msgstr "" + +@@ -1078,7 +1217,7 @@ msgstr "" + #. The filename is located last to avoid a long path hiding the + #. error message. + #. +-#: compose.c:601 ++#: compose.c:600 + #, fuzzy, c-format + msgid "Attachment #%d no longer exists: %s" + msgstr "%s [#%d] artık mevcut değil" +@@ -1090,239 +1229,359 @@ msgstr "%s [#%d] artık mevcut değil" + #. The filename is located last to avoid a long path hiding the + #. prompt question. + #. +-#: compose.c:621 ++#: compose.c:620 + #, fuzzy, c-format + msgid "Attachment #%d modified. Update encoding for %s?" + msgstr "%s [#%d] değiştirildi. Kodlama yenilensin mi?" + +-#: compose.c:716 ++#: compose.c:715 + msgid "-- Attachments" + msgstr "-- Ekler" + +-#: compose.c:770 ++#: compose.c:769 + msgid "You may not delete the only attachment" + msgstr "Tek kalmış bir eki silemezsiniz" + +-#: compose.c:1296 edit.c:538 send.c:2462 ++#: compose.c:1356 edit.c:536 send.c:2473 + #, c-format + msgid "Bad IDN in '%s': '%s'" + msgstr "'%s' hatalı IDN'e sahip: '%s'" + +-#: compose.c:1347 ++#: compose.c:1407 + #, fuzzy + msgid "Attachment is already at top" + msgstr "Ek kaydedildi" + +-#: compose.c:1352 compose.c:1368 ++#: compose.c:1412 compose.c:1428 + #, fuzzy + msgid "The fundamental part can't be moved" + msgstr "Mevcut ek dönüştürülmeyecek" + +-#: compose.c:1363 ++#: compose.c:1423 + #, fuzzy + msgid "Attachment is already at bottom" + msgstr "Ek, süzgeçten geçirildi" + +-#: compose.c:1381 ++#: compose.c:1441 + msgid "Grouping 'alternatives' requires at least 2 tagged messages" + msgstr "" + +-#: compose.c:1462 ++#: compose.c:1522 + msgid "Grouping 'multilingual' requires at least 2 tagged messages" + msgstr "" + +-#: compose.c:1475 ++#: compose.c:1535 + msgid "Not all parts have 'Content-Language' set, continue?" + msgstr "" + +-#: compose.c:1477 ++#: compose.c:1537 + #, fuzzy + msgid "Not sending this message" + msgstr "İleti gönderilirken hata oluştu" + +-#: compose.c:1571 ++#: compose.c:1631 + #, fuzzy + msgid "Attaching selected file..." + msgid_plural "Attaching selected files..." + msgstr[0] "Seçili dosyalar ekleniyor..." + msgstr[1] "Seçili dosyalar ekleniyor..." + +-#: compose.c:1585 ++#: compose.c:1645 + #, c-format + msgid "Unable to attach %s" + msgstr "%s eklenemedi" + +-#: compose.c:1606 ++#: compose.c:1666 + msgid "Open mailbox to attach message from" + msgstr "Eklenecek iletileri içeren eposta kutusunu seçin" + +-#: compose.c:1616 ++#: compose.c:1676 + msgid "Open newsgroup to attach message from" + msgstr "Eklenecek iletileri içeren eposta kutusunu seçin" + +-#: compose.c:1667 ++#: compose.c:1730 + #, c-format + msgid "Unable to open mailbox %s" + msgstr "%s eposta kutusu açılamaz" + +-#: compose.c:1676 ++#: compose.c:1739 + msgid "No messages in that folder" + msgstr "Bu klasörde ileti yok" + +-#: compose.c:1686 ++#: compose.c:1749 + msgid "Tag the messages you want to attach" + msgstr "Eklemek istediğiniz iletileri işaretleyin" + +-#: compose.c:1715 ++#: compose.c:1785 + msgid "Unable to attach" + msgstr "Eklenemedi" + +-#: compose.c:1752 ++#: compose.c:1822 + msgid "Recoding only affects text attachments" + msgstr "Tekrar kodlama sadece metin ekleri üzerinde etkilidir" + +-#: compose.c:1757 ++#: compose.c:1827 + msgid "The current attachment won't be converted" + msgstr "Mevcut ek dönüştürülmeyecek" + +-#: compose.c:1759 ++#: compose.c:1829 + msgid "The current attachment will be converted" + msgstr "Mevcut ek dönüştürülecek" + +-#: compose.c:1831 ++#: compose.c:1901 + msgid "Empty 'Content-Language'" + msgstr "" + +-#: compose.c:1849 ++#: compose.c:1920 + msgid "Invalid encoding" + msgstr "Geçersiz kodlama" + +-#: compose.c:1871 ++#: compose.c:1942 + msgid "Save a copy of this message?" + msgstr "Bu iletinin bir kopyası kaydedilsin mi?" + +-#: compose.c:1924 ++#: compose.c:1995 + #, fuzzy + msgid "Send attachment with name: " + msgstr "eki metin olarak göster" + +-#: compose.c:1939 ++#: compose.c:2010 + msgid "Rename to: " + msgstr "Yeniden adlandır: " + + #. L10N: "stat" is a system call. Do "man 2 stat" for more information. +-#: compose.c:1946 editmsg.c:102 editmsg.c:138 sendlib.c:1050 ++#: compose.c:2017 editmsg.c:102 editmsg.c:138 sendlib.c:1049 + #, c-format + msgid "Can't stat %s: %s" + msgstr "%s incelenemiyor: %s" + +-#: compose.c:1966 ++#: compose.c:2037 + msgid "New file: " + msgstr "Yeni dosya: " + +-#: compose.c:1984 ++#: compose.c:2055 + msgid "Content-Type is of the form base/sub" + msgstr "İçerik-Tipi temel/alt-tür biçiminde girilmeli" + +-#: compose.c:1991 ++#: compose.c:2062 + #, c-format + msgid "Unknown Content-Type %s" + msgstr "Bilinmeyen İçerik-Tipi %s" + +-#: compose.c:1999 ++#: compose.c:2070 + #, c-format + msgid "Can't create file %s" + msgstr "Dosya %s yaratılamadı" + +-#: compose.c:2008 ++#: compose.c:2079 + msgid "What we have here is a failure to make an attachment" + msgstr "Ek hazırlanırken bir hata oluştu" + +-#: compose.c:2073 ++#: compose.c:2144 + #, fuzzy + msgid "Save (postpone) draft message?" + msgstr "Ertelenen ileti açılsın mı?" + +-#: compose.c:2133 ++#: compose.c:2204 + msgid "Write message to mailbox" + msgstr "İletiyi eposta kutusuna kaydet" + +-#: compose.c:2136 ++#: compose.c:2207 + #, c-format + msgid "Writing message to %s ..." + msgstr "İleti %s eposta kutusuna kaydediliyor..." + +-#: compose.c:2143 ++#: compose.c:2214 + msgid "Message written" + msgstr "İleti kaydedildi" + +-#: compose.c:2154 ++#: compose.c:2225 + msgid "No PGP backend configured" + msgstr "" + +-#: compose.c:2161 compose.c:2225 ++#: compose.c:2232 compose.c:2296 + msgid "S/MIME already selected. Clear and continue?" + msgstr "S/MIME zaten seçili durumda. Önceki iptâl edilerek devam edilsin mi?" + +-#: compose.c:2186 ++#: compose.c:2257 + msgid "No S/MIME backend configured" + msgstr "" + +-#: compose.c:2194 ++#: compose.c:2265 + msgid "PGP already selected. Clear and continue?" + msgstr "PGP zaten seçili durumda. Önceki iptâl edilerek devam edilsin mi?" + +-#: compress.c:355 compress.c:499 ++#: compress/compress.c:354 compress/compress.c:498 + #, c-format + msgid "Can't append without an append-hook or close-hook : %s" + msgstr "" + +-#: compress.c:444 compress.c:511 compress.c:590 compress.c:628 mbox/mbox.c:1208 ++#: compress/compress.c:443 compress/compress.c:510 compress/compress.c:589 ++#: compress/compress.c:627 mbox/mbox.c:1208 + msgid "Unable to lock mailbox" + msgstr "Eposta kutusu kilitlenemedi" + +-#: compress.c:448 compress.c:518 compress.c:594 ++#: compress/compress.c:447 compress/compress.c:517 compress/compress.c:593 + #, c-format + msgid "Decompressing %s" + msgstr "" + +-#: compress.c:457 ++#: compress/compress.c:456 + msgid "Can't identify the contents of the compressed file" + msgstr "" + +-#: compress.c:464 compress.c:539 ++#: compress/compress.c:463 compress/compress.c:538 + #, c-format + msgid "Can't find mailbox ops for mailbox type %d" + msgstr "" + +-#: compress.c:521 ++#: compress/compress.c:520 + #, fuzzy, c-format + msgid "Compress command failed: %s" + msgstr "Önceden bağlanma komutu (preconnect) başarısız oldu." + +-#: compress.c:532 ++#: compress/compress.c:531 + msgid "Unsupported mailbox type for appending" + msgstr "" + +-#: compress.c:618 ++#: compress/compress.c:617 + msgid "Can't sync a compressed file without a close-hook" + msgstr "" + +-#: compress.c:640 compress.c:692 ++#: compress/compress.c:639 compress/compress.c:691 + #, fuzzy, c-format + msgid "Compressing %s" + msgstr "%s konumuna kopyalanıyor..." + +-#: compress.c:687 ++#: compress/compress.c:686 + #, fuzzy, c-format + msgid "Compressed-appending to %s..." + msgstr "%s konumuna kopyalanıyor..." + +-#: compress.c:699 editmsg.c:247 ++#: compress/compress.c:698 editmsg.c:247 + #, c-format + msgid "Error. Preserving temporary file: %s" + msgstr "Hata. Geçici dosya %s korunmaya alındı" + ++#: config/bool.c:70 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %s" ++msgstr "Geçersiz göreceli tarih: %s" ++ ++#: config/bool.c:131 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %ld" ++msgstr "Geçersiz göreceli tarih: %s" ++ ++#: config/enum.c:62 ++#, fuzzy, c-format ++msgid "Invalid enum value: %s" ++msgstr "%d: geçersiz ileti numarası.\n" ++ ++#: config/enum.c:149 ++#, fuzzy, c-format ++msgid "Invalid enum value: %ld" ++msgstr "Geçersiz ay günü: %s" ++ ++#: config/long.c:50 ++#, fuzzy, c-format ++msgid "Invalid long: %s" ++msgstr "Geçersiz ay: %s" ++ ++#: config/long.c:56 config/long.c:114 config/number.c:68 config/number.c:133 ++#, fuzzy, c-format ++msgid "Option %s may not be negative" ++msgstr "Bu işleve ileti ekle kipinde izin verilmiyor." ++ ++#: config/number.c:49 config/sort.c:145 config/string.c:75 config/string.c:159 ++#, c-format ++msgid "Option %s may not be empty" ++msgstr "" ++ ++#: config/number.c:56 ++#, fuzzy, c-format ++msgid "Invalid number: %s" ++msgstr "%d: geçersiz ileti numarası.\n" ++ ++#: config/number.c:62 ++#, c-format ++msgid "Number is too big: %s" ++msgstr "" ++ ++#: config/number.c:127 ++#, fuzzy, c-format ++msgid "Invalid number: %ld" ++msgstr "%d: geçersiz ileti numarası.\n" ++ ++#: config/quad.c:69 ++#, fuzzy, c-format ++msgid "Invalid quad value: %s" ++msgstr "Geçersiz göreceli tarih: %s" ++ ++#: config/quad.c:133 ++#, fuzzy, c-format ++msgid "Invalid quad value: %ld" ++msgstr "Geçersiz ay günü: %s" ++ ++#: config/set.c:102 ++#, c-format ++msgid "No such variable: %s" ++msgstr "" ++ ++#: config/set.c:134 config/set.c:821 ++#, fuzzy, c-format ++msgid "Variable '%s' has an invalid type %d" ++msgstr "Hata: '%s' hatalı bir IDN" ++ ++#: config/set.c:399 config/set.c:463 config/set.c:528 config/set.c:601 ++#: config/set.c:671 config/set.c:744 ++#, fuzzy, c-format ++msgid "Unknown variable '%s'" ++msgstr "%s: bilinmeyen değişken" ++ ++#: config/sort.c:192 ++#, fuzzy, c-format ++msgid "Invalid sort name: %s" ++msgstr "Geçersiz göreceli tarih: %s" ++ ++#: config/sort.c:322 ++#, fuzzy, c-format ++msgid "Invalid sort type: %ld" ++msgstr "Geçersiz göreceli tarih: %s" ++ ++#. L10N: Example: Username at myhost.com ++#: conn/connaccount.c:61 ++#, c-format ++msgid "Username at %s: " ++msgstr "%s makinesindeki kullanıcı adı: " ++ ++#: conn/connaccount.c:117 ++#, c-format ++msgid "Password for %s@%s: " ++msgstr "%s@%s için parola: " ++ ++#. L10N: You will see this error message if (1) you have "oauthbearer" in ++#. one of your $*_authenticators and (2) you do not have the corresponding ++#. $*_oauth_refresh_command defined. So the message does not mean "None of ++#. your $*_oauth_refresh_command's are defined." ++#: conn/connaccount.c:165 ++#, fuzzy ++msgid "No OAUTH refresh command defined" ++msgstr "Sorgulama komutu tanımlanmadı" ++ ++#: conn/connaccount.c:173 ++msgid "Unable to run refresh command" ++msgstr "" ++ ++#: conn/connaccount.c:184 ++msgid "Command returned empty string" ++msgstr "" ++ ++#: conn/connaccount.c:191 ++#, c-format ++msgid "OAUTH token is too big: %ld" ++msgstr "" ++ + #: conn/conn_raw.c:160 conn/conn_raw.c:218 + #, c-format + msgid "Looking up %s..." +@@ -1343,7 +1602,7 @@ msgstr "%s sunucusuna bağlanılıyor..." + msgid "Could not connect to %s (%s)" + msgstr "%s sunucusuna bağlanılamadı (%s)" + +-#: conn/conn_raw.c:260 conn/ssl.c:1230 curs_lib.c:568 mutt_logging.c:149 ++#: conn/conn_raw.c:260 conn/ssl.c:1245 gui/curs_lib.c:569 mutt_logging.c:147 + msgid "unknown error" + msgstr "bilinmeyen hata" + +@@ -1357,24 +1616,24 @@ msgstr "%s soketiyle konuşurken hata oluştu (%s)" + msgid "Connection to %s has been aborted" + msgstr "%s soketine yapılan bağlantı kapatıldı" + +-#: conn/sasl.c:565 ++#: conn/sasl.c:547 + msgid "Unknown SASL profile" + msgstr "" + +-#: conn/sasl.c:598 ++#: conn/sasl.c:580 + #, fuzzy + msgid "Error allocating SASL connection" + msgstr "veri nesnesi için bellek ayrılırken hata: %s\n" + +-#: conn/sasl.c:608 ++#: conn/sasl.c:590 + msgid "Error setting SASL security properties" + msgstr "" + +-#: conn/sasl.c:619 ++#: conn/sasl.c:601 + msgid "Error setting SASL external security strength" + msgstr "" + +-#: conn/sasl.c:629 ++#: conn/sasl.c:611 + msgid "Error setting SASL external user name" + msgstr "" + +@@ -1387,134 +1646,110 @@ msgstr "Önceden bağlanma komutu (preconnect) başarısız oldu" + msgid "Connection to %s closed" + msgstr "%s soketine yapılan bağlantı kapatıldı" + +-#: conn/ssl.c:237 ++#: conn/ssl.c:222 + #, c-format + msgid "Filling entropy pool: %s..." + msgstr "Entropi havuzu dolduruluyor: %s..." + +-#: conn/ssl.c:243 ++#: conn/ssl.c:228 + #, c-format + msgid "%s has insecure permissions" + msgstr "%s güvenilir erişim haklarına sahip değil" + +-#: conn/ssl.c:385 ++#: conn/ssl.c:369 + #, fuzzy + msgid "SSL disabled due to the lack of entropy" + msgstr "SSL, entropi seviyesinin yetersizliğinden dolayı etkisizleştirildi" + +-#: conn/ssl.c:402 ++#: conn/ssl.c:386 + msgid "Unknown" + msgstr "Bilinmiyor" + +-#: conn/ssl.c:421 conn/ssl_gnutls.c:186 ++#: conn/ssl.c:405 conn/ssl_gnutls.c:188 + #, c-format + msgid "[unable to calculate]" + msgstr "[hesaplanamıyor]" + +-#: conn/ssl.c:446 ++#: conn/ssl.c:430 + msgid "[invalid date]" + msgstr "[geçersiz tarih]" + +-#: conn/ssl.c:506 ++#: conn/ssl.c:490 + msgid "Server certificate is not yet valid" + msgstr "Sunucu sertifikası henüz geçerli değil" + +-#: conn/ssl.c:516 ++#: conn/ssl.c:500 + msgid "Server certificate has expired" + msgstr "Sunucu sertifikasının süresi dolmuş" + +-#: conn/ssl.c:605 ++#: conn/ssl.c:589 + msgid "Failed to find enough entropy on your system" + msgstr "Sistemde, rastgele süreçler için gerekli entropi yeterli seviyede değil" + +-#: conn/ssl.c:799 ++#: conn/ssl.c:783 + msgid "can't get certificate subject" + msgstr "sertifika konusunu alınamadı" + +-#: conn/ssl.c:808 conn/ssl.c:816 ++#: conn/ssl.c:792 conn/ssl.c:800 + msgid "can't get certificate common name" + msgstr "sertifika genel ismi alınamadı" + +-#: conn/ssl.c:830 ++#: conn/ssl.c:814 + #, fuzzy, c-format + msgid "certificate owner does not match hostname %s" + msgstr "S/MIME sertifikasının sahibiyle gönderen uyuşmuyor." + +-#: conn/ssl.c:904 conn/ssl_gnutls.c:539 ++#: conn/ssl.c:917 conn/ssl_gnutls.c:570 + msgid "This certificate belongs to:" + msgstr "Sertifikanın sahibi:" + +-#: conn/ssl.c:913 conn/ssl_gnutls.c:593 ++#: conn/ssl.c:926 conn/ssl_gnutls.c:624 + msgid "This certificate was issued by:" + msgstr "Sertifikayı düzenleyen:" + +-#: conn/ssl.c:922 conn/ssl_gnutls.c:604 ++#: conn/ssl.c:935 conn/ssl_gnutls.c:635 + msgid "This certificate is valid" + msgstr "Bu sertifika geçerli" + +-#: conn/ssl.c:923 conn/ssl_gnutls.c:608 ++#: conn/ssl.c:936 conn/ssl_gnutls.c:639 + #, c-format + msgid " from %s" + msgstr " %s tarihinden" + +-#: conn/ssl.c:925 conn/ssl_gnutls.c:612 ++#: conn/ssl.c:938 conn/ssl_gnutls.c:643 + #, c-format + msgid " to %s" + msgstr " %s tarihine dek" + +-#: conn/ssl.c:931 conn/ssl_gnutls.c:617 +-#, c-format +-msgid "SHA1 Fingerprint: %s" +-msgstr "SHA1 Parmak izi: %s" +- +-#: conn/ssl.c:937 conn/ssl.c:940 conn/ssl_gnutls.c:623 conn/ssl_gnutls.c:625 +-#, fuzzy +-msgid "SHA256 Fingerprint: " +-msgstr "SHA1 Parmak izi: %s" +- +-#: conn/ssl.c:944 conn/ssl_gnutls.c:664 +-#, c-format +-msgid "SSL Certificate check (certificate %zu of %zu in chain)" +-msgstr "" +- +-#. L10N: These four letters correspond to the choices in the next four strings: +-#. (r)eject, accept (o)nce, (a)ccept always, (s)kip. +-#. These prompts are the interactive certificate confirmation prompts for +-#. an OpenSSL connection. +-#: conn/ssl.c:964 +-msgid "roas" +-msgstr "rsda" +- +-#: conn/ssl.c:968 +-msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" +-msgstr "(r)eddet, (s)adece bu defa, (d)aima kabul et, (a)tla" +- +-#: conn/ssl.c:970 conn/ssl_gnutls.c:671 +-msgid "(r)eject, accept (o)nce, (a)ccept always" +-msgstr "(r)eddet, (s)adece bu defa, (d)aima kabul et, (a)tla" +- +-#: conn/ssl.c:975 +-msgid "(r)eject, accept (o)nce, (s)kip" +-msgstr "(r)eddet, (s)adece bu defalığına kabul et, (a)tla" ++#: conn/ssl.c:944 conn/ssl_gnutls.c:648 ++#, c-format ++msgid "SHA1 Fingerprint: %s" ++msgstr "SHA1 Parmak izi: %s" + +-#: conn/ssl.c:977 conn/ssl_gnutls.c:680 +-msgid "(r)eject, accept (o)nce" +-msgstr "(r)eddet, (s)adece bu defalığına kabul et, (a)tla" ++#: conn/ssl.c:950 conn/ssl.c:953 conn/ssl_gnutls.c:654 conn/ssl_gnutls.c:656 ++#, fuzzy ++msgid "SHA256 Fingerprint: " ++msgstr "SHA1 Parmak izi: %s" ++ ++#: conn/ssl.c:957 conn/ssl_gnutls.c:695 ++#, c-format ++msgid "SSL Certificate check (certificate %zu of %zu in chain)" ++msgstr "" + +-#: conn/ssl.c:981 conn/ssl_gnutls.c:689 ncrypt/crypt_gpgme.c:4729 +-#: ncrypt/pgpkey.c:664 ncrypt/smime.c:549 ++#: conn/ssl.c:994 conn/ssl_gnutls.c:720 ncrypt/crypt_gpgme.c:4777 ++#: ncrypt/pgpkey.c:667 ncrypt/smime.c:551 + msgid "Exit " + msgstr "Çık " + +-#: conn/ssl.c:1016 conn/ssl_gnutls.c:742 ++#: conn/ssl.c:1029 conn/ssl_gnutls.c:773 + msgid "Warning: Couldn't save certificate" + msgstr "Uyarı: Sertifika kaydedilemedi" + +-#: conn/ssl.c:1020 conn/ssl_gnutls.c:746 ++#: conn/ssl.c:1033 conn/ssl_gnutls.c:777 + msgid "Certificate saved" + msgstr "Sertifika kaydedildi" + +-#: conn/ssl.c:1132 ++#: conn/ssl.c:1147 + #, fuzzy, c-format + msgid "Certificate host check failed: %s" + msgstr "Sertifika sunucusunu denetleme başarısız oldu: %s" +@@ -1522,15 +1757,15 @@ msgstr "Sertifika sunucusunu denetleme başarısız oldu: %s" + #. L10N: This is a warning when trying to set the host name for + #. * TLS Server Name Indication (SNI). This allows the server to present + #. * the correct certificate if it supports multiple hosts. +-#: conn/ssl.c:1213 conn/ssl_gnutls.c:1072 ++#: conn/ssl.c:1228 conn/ssl_gnutls.c:1105 + msgid "Warning: unable to set TLS SNI host name" + msgstr "" + +-#: conn/ssl.c:1224 ++#: conn/ssl.c:1239 + msgid "I/O error" + msgstr "G/Ç hatası" + +-#: conn/ssl.c:1233 ++#: conn/ssl.c:1248 + #, c-format + msgid "SSL failed: %s" + msgstr "SSL başarısız oldu: %s" +@@ -1538,90 +1773,74 @@ msgstr "SSL başarısız oldu: %s" + #. L10N: an SSL context is a data structure returned by the OpenSSL + #. function SSL_CTX_new(). In this case it returned NULL: an + #. error condition. +-#: conn/ssl.c:1269 ++#: conn/ssl.c:1284 + #, fuzzy + msgid "Unable to create SSL context" + msgstr "[-- Hata: OpenSSL alt süreci yaratılamadı! --]" + +-#: conn/ssl.c:1322 ++#: conn/ssl.c:1337 + msgid "Warning: error enabling ssl_verify_partial_chains" + msgstr "" + +-#: conn/ssl_gnutls.c:150 conn/ssl_gnutls.c:784 conn/ssl_gnutls.c:793 ++#: conn/ssl_gnutls.c:152 conn/ssl_gnutls.c:817 conn/ssl_gnutls.c:826 + msgid "Unable to get certificate from peer" + msgstr "Karşı taraftan sertifika alınamadı" + +-#: conn/ssl_gnutls.c:155 ++#: conn/ssl_gnutls.c:157 + #, c-format + msgid "Certificate verification error (%s)" + msgstr "Sertifika doğrulama hatası (%s)" + +-#: conn/ssl_gnutls.c:162 ++#: conn/ssl_gnutls.c:164 + msgid "Certificate is not X.509" + msgstr "Sertifika X.509 değil" + +-#: conn/ssl_gnutls.c:349 conn/ssl_gnutls.c:483 ++#: conn/ssl_gnutls.c:351 conn/ssl_gnutls.c:485 + msgid "Error initialising gnutls certificate data" + msgstr "Gnutls sertifika verisi ilklendirilirken hata oluştu" + +-#: conn/ssl_gnutls.c:355 conn/ssl_gnutls.c:489 ++#: conn/ssl_gnutls.c:357 conn/ssl_gnutls.c:491 + msgid "Error processing certificate data" + msgstr "Sertifika verisi işlenirken hata oluştu" + +-#: conn/ssl_gnutls.c:635 ++#: conn/ssl_gnutls.c:666 + msgid "WARNING: Server certificate is not yet valid" + msgstr "UYARI: Sunucu sertifikası henüz geçerli değil" + +-#: conn/ssl_gnutls.c:640 ++#: conn/ssl_gnutls.c:671 + msgid "WARNING: Server certificate has expired" + msgstr "UYARI: Sunucu sertifikasının süresi dolmuş" + +-#: conn/ssl_gnutls.c:645 ++#: conn/ssl_gnutls.c:676 + msgid "WARNING: Server certificate has been revoked" + msgstr "UYARI: Sunucu sertifikası hükümsüz kılınmış" + +-#: conn/ssl_gnutls.c:650 ++#: conn/ssl_gnutls.c:681 + msgid "WARNING: Server hostname does not match certificate" + msgstr "UYARI: Sunucu makine adı ile sertifika uyuşmuyor" + +-#: conn/ssl_gnutls.c:655 ++#: conn/ssl_gnutls.c:686 + msgid "WARNING: Signer of server certificate is not a CA" + msgstr "UYARI: Sunucu sertifikasını imzalayan bir CA değil" + +-#: conn/ssl_gnutls.c:659 conn/ssl_gnutls.c:1004 ++#: conn/ssl_gnutls.c:690 conn/ssl_gnutls.c:1037 + msgid "Warning: Server certificate was signed using an insecure algorithm" + msgstr "" + +-#. L10N: These three letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce, (a)ccept always. +-#. This is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:676 +-msgid "roa" +-msgstr "rsd" +- +-#. L10N: These two letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce. +-#. These is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:685 +-msgid "ro" +-msgstr "rs" +- +-#: conn/ssl_gnutls.c:950 conn/ssl_gnutls.c:992 ++#: conn/ssl_gnutls.c:983 conn/ssl_gnutls.c:1025 + msgid "All available protocols for TLS/SSL connection disabled" + msgstr "SSL/TLS bağlantısı için mevcut bütün protokoller etkisizleştirildi" + +-#: conn/ssl_gnutls.c:999 ++#: conn/ssl_gnutls.c:1032 + msgid "Explicit ciphersuite selection via $ssl_ciphers not supported" + msgstr "" + +-#: conn/ssl_gnutls.c:1120 ++#: conn/ssl_gnutls.c:1153 + #, c-format + msgid "SSL/TLS connection using %s (%s/%s/%s)" + msgstr "%s (%s/%s/%s) kullanarak SSL/TLS bağlantısı kuruluyor" + +-#: conn/ssl_gnutls.c:1175 conn/ssl_gnutls.c:1204 ++#: conn/ssl_gnutls.c:1210 conn/ssl_gnutls.c:1239 + msgid "Error: no TLS socket open" + msgstr "Hata: açık TLS soketi yok" + +@@ -1640,38 +1859,18 @@ msgstr "%s ile konuşurken tünel hatası oluştu: %s" + msgid "Tunnel to %s returned error %d (%s)" + msgstr "%s tüneli %d hatası üretti (%s)" + +-#: copy.c:660 ++#: copy.c:662 + #, c-format + msgid "The length calculation was wrong by %ld byte" + msgid_plural "The length calculation was wrong by %ld bytes" + msgstr[0] "" + msgstr[1] "" + +-#: copy.c:744 ++#: copy.c:746 + msgid "No decryption engine available for message" + msgstr "" + +-#: curs_lib.c:378 +-msgid "yes" +-msgstr "evet" +- +-#: curs_lib.c:379 +-msgid "no" +-msgstr "hayır" +- +-#: curs_lib.c:518 +-msgid "Exit NeoMutt?" +-msgstr "NeoMutt'tan çıkılsın mı?" +- +-#: curs_lib.c:597 +-msgid "Press any key to continue..." +-msgstr "Devam etmek için bir tuşa basın..." +- +-#: curs_lib.c:705 +-msgid " ('?' for list): " +-msgstr " (liste için '?'e basın): " +- +-#: edit.c:64 ++#: edit.c:62 + #, fuzzy + msgid "" + "~~ insert a line beginning with a single ~\n" +@@ -1694,7 +1893,7 @@ msgstr "" + "~M iletiler ~m'ye benzer, ama başlıkları da içerir\n" + "~p iletiyi yazdır\n" + +-#: edit.c:75 ++#: edit.c:73 + msgid "" + "~q write file and quit editor\n" + "~r file read a file into the editor\n" +@@ -1716,20 +1915,20 @@ msgstr "" + "~? bu ileti\n" + ". tek '.' içeren bir satır girdiyi sonlandırır\n" + +-#: edit.c:261 ++#: edit.c:259 + #, c-format + msgid "%d: invalid message number.\n" + msgstr "%d: geçersiz ileti numarası.\n" + +-#: edit.c:416 ++#: edit.c:414 + msgid "(End message with a . on a line by itself)\n" + msgstr "(İletiyi tek '.' içeren bir satırla sonlandır)\n" + +-#: edit.c:474 ++#: edit.c:472 + msgid "No mailbox.\n" + msgstr "Eposta kutusu yok.\n" + +-#: edit.c:478 ++#: edit.c:476 + msgid "Message contains:\n" + msgstr "İleti içeriği:\n" + +@@ -1737,19 +1936,19 @@ msgstr "İleti içeriği:\n" + #. not IN the middle of the content. + #. So it doesn't mean "(message will continue)" + #. but means "(press any key to continue using neomutt)". +-#: edit.c:486 edit.c:547 ++#: edit.c:484 edit.c:545 + msgid "(continue)\n" + msgstr "(devam et)\n" + +-#: edit.c:499 ++#: edit.c:497 + msgid "missing filename.\n" + msgstr "dosya ismi eksik.\n" + +-#: edit.c:519 ++#: edit.c:517 + msgid "No lines in message.\n" + msgstr "İletide herhangi bir satır yok.\n" + +-#: edit.c:558 ++#: edit.c:556 + #, c-format + msgid "%s: unknown editor command (~? for help)\n" + msgstr "%s: bilinmeyen metin düzenleyici komutu (~? yardım görüntüler)\n" +@@ -1796,19 +1995,73 @@ msgstr "%s dizinine eklenemiyor" + msgid "multipart message has no boundary parameter" + msgstr "çok parçalı (multipart) iletinin sınırlama (boundary) değişkeni yok" + +-#: flags.c:382 index.c:2561 index.c:2604 index.c:3134 index.c:3171 ++#: flags.c:381 index.c:2587 index.c:2630 index.c:3160 index.c:3197 + #: mutt_thread.c:1091 mutt_thread.c:1158 mutt_thread.c:1246 + msgid "Threading is not enabled" + msgstr "İlmek kullanımı etkin değil" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Set flag" + msgstr "Bayrağı ayarla" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Clear flag" + msgstr "Bayrağı sil" + ++#: gui/color.c:633 gui/color.c:644 ++#, c-format ++msgid "%s: color not supported by term" ++msgstr "%s: renk uçbirim tarafından desteklenmiyor" ++ ++#: gui/color.c:652 ++#, c-format ++msgid "%s: no such color" ++msgstr "%s: böyle bir renk yok" ++ ++#: gui/color.c:717 gui/color.c:740 gui/color.c:751 gui/color.c:842 ++#, c-format ++msgid "%s: no such object" ++msgstr "%s: böyle bir şey yok" ++ ++#: gui/color.c:1142 ++#, c-format ++msgid "%s: no such attribute" ++msgstr "%s: böyle bir nitelik yok" ++ ++#: gui/color.c:1244 ++msgid "default colors not supported" ++msgstr "varsayılan renkler desteklenmiyor" ++ ++#: gui/color.c:1282 ++#, c-format ++msgid "Maximum quoting level is %d" ++msgstr "" ++ ++#: gui/color.c:1319 ++#, fuzzy, c-format ++msgid "%s: invalid number: %s" ++msgstr "%d: geçersiz ileti numarası.\n" ++ ++#: gui/curs_lib.c:379 ++msgid "yes" ++msgstr "evet" ++ ++#: gui/curs_lib.c:380 ++msgid "no" ++msgstr "hayır" ++ ++#: gui/curs_lib.c:519 ++msgid "Exit NeoMutt?" ++msgstr "NeoMutt'tan çıkılsın mı?" ++ ++#: gui/curs_lib.c:598 ++msgid "Press any key to continue..." ++msgstr "Devam etmek için bir tuşa basın..." ++ ++#: gui/curs_lib.c:749 ++msgid " ('?' for list): " ++msgstr " (liste için '?'e basın): " ++ + #: handler.c:102 + #, fuzzy, c-format + msgid "[-- Type: %s/%s%s%s, Encoding: %s, Size: %s --]\n" +@@ -1829,23 +2082,23 @@ msgstr "[-- %s ile görüntüleniyor --]\n" + msgid "Invoking autoview command: %s" + msgstr "Otomatik görüntüleme komutu çalıştırılıyor: %s" + +-#: handler.c:591 mutt_attach.c:527 mutt_attach.c:714 mutt_attach.c:745 +-#: mutt_attach.c:1087 mutt_attach.c:1152 ncrypt/pgpkey.c:723 +-#: ncrypt/pgpkey.c:920 ++#: handler.c:590 mutt_attach.c:555 mutt_attach.c:747 mutt_attach.c:778 ++#: mutt_attach.c:1120 mutt_attach.c:1185 ncrypt/pgpkey.c:756 ++#: ncrypt/pgpkey.c:955 + msgid "Can't create filter" + msgstr "Süzgeç oluşturulamadı" + +-#: handler.c:595 ++#: handler.c:594 + #, c-format + msgid "[-- Can't run %s. --]\n" + msgstr "[-- %s çalıştırılamıyor --]\n" + +-#: handler.c:614 handler.c:635 ++#: handler.c:613 handler.c:634 + #, c-format + msgid "[-- Autoview stderr of %s --]\n" + msgstr "[-- %s otomatik görüntüleme komutunun ürettiği hata --]\n" + +-#: handler.c:764 ++#: handler.c:763 + msgid "[-- Error: message/external-body has no access-type parameter --]\n" + msgstr "[-- Hata: \"message/external-body\" herhangi bir erişim tipi içermiyor --]\n" + +@@ -1864,7 +2117,7 @@ msgstr "[-- Hata: \"message/external-body\" herhangi bir erişim tipi içermiyor + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:807 ++#: handler.c:806 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" +@@ -1893,7 +2146,7 @@ msgstr[1] "" + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:830 ++#: handler.c:829 + #, fuzzy, c-format + msgid "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" + msgid_plural "[-- This %s/%s attachment (size %s bytes) has been deleted --]\n" +@@ -1907,7 +2160,7 @@ msgstr[1] "[-- Bu %s/%s eki(boyut %s bayt) silindi --]\n" + #. + #. Caution: Argument three %3$ is also defined but should not be used + #. in this translation! +-#: handler.c:848 ++#: handler.c:847 + #, fuzzy + msgid "" + "[-- This %s/%s attachment has been deleted --]\n" +@@ -1919,12 +2172,12 @@ msgstr "" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The first "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:856 ++#: handler.c:855 + #, fuzzy, c-format + msgid "[-- This %s/%s attachment has been deleted --]\n" + msgstr "[-- Bu %s/%s ekisilindi --]\n" + +-#: handler.c:866 ++#: handler.c:865 + #, c-format + msgid "[-- name: %s --]\n" + msgstr "[-- isim: %s --]\n" +@@ -1932,7 +2185,7 @@ msgstr "[-- isim: %s --]\n" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:884 ++#: handler.c:883 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -1948,7 +2201,7 @@ msgstr "" + #. The "%s/%s" is a MIME type, e.g. "text/plain". The %s after + #. access-type is an access-type as defined by the MIME RFCs, e.g. "FTP", + #. "LOCAL-FILE", "MAIL-SERVER". +-#: handler.c:905 ++#: handler.c:904 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -1957,94 +2210,94 @@ msgstr "" + "[-- Bu %s/%s eki eklenmiyor --]\n" + "[-- ve belirtilen %s erişim tipi de desteklenmiyor --]\n" + +-#: handler.c:1090 ++#: handler.c:1089 + msgid "[-- Error: Could not display any parts of Multipart/Alternative --]\n" + msgstr "[-- Hata: \"Multipart/Alternative\"e ait hiç bir bölüm görüntülenemiyor --]\n" + + #. L10N: %s is the attachment description, filename or form_name. +-#: handler.c:1231 ++#: handler.c:1230 + #, fuzzy, c-format + msgid "[-- Attachment #%d: %s --]\n" + msgstr "[-- Ek #%d: %s --]\n" + +-#: handler.c:1236 ++#: handler.c:1235 + #, fuzzy, c-format + msgid "[-- Attachment #%d --]\n" + msgstr "[-- Ek #%d --]\n" + +-#: handler.c:1254 ++#: handler.c:1253 + #, fuzzy + msgid "One or more parts of this message could not be displayed" + msgstr "Uyarı: Bu iletinin bir bölümü imzalanmamış." + +-#: handler.c:1320 ++#: handler.c:1319 + msgid "Unable to open 'memory stream'" + msgstr "Bellek akışı açılamadı" + +-#: handler.c:1330 ++#: handler.c:1329 + msgid "Unable to open temporary file" + msgstr "Geçici dosya açılamadı" + +-#: handler.c:1379 ++#: handler.c:1378 + msgid "failed to re-open 'memory stream'" + msgstr "bellek akışını yeniden açma başarısız oldu" + +-#: handler.c:1620 ++#: handler.c:1619 + msgid "Error: multipart/signed has no protocol" + msgstr "Hata: \"multipart/signed\"e ait bir protokol yok" + + #. L10N: %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1694 ++#: handler.c:1693 + #, fuzzy, c-format + msgid "[-- This is an attachment (use '%s' to view this part) --]\n" + msgstr "[-- Bu bir ek ('%s' ile bu bölümü görüntüleyebilirsiniz) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". + #. The last %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1701 ++#: handler.c:1700 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported (use '%s' to view this part) --]\n" + msgstr "[-- %s/%s desteklenmiyor ('%s' ile bu bölümü görüntüleyebilirsiniz) --]\n" + +-#: handler.c:1709 ++#: handler.c:1708 + #, fuzzy + msgid "[-- This is an attachment (need 'view-attachments' bound to key) --]\n" + msgstr "[-- Bu bir ek ('view-attachments' komutunun bir tuşa atanması gerekiyor) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1715 ++#: handler.c:1714 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported (need 'view-attachments' bound to key) --]\n" + msgstr "[-- %s/%s desteklenmiyor ('view-attachments' komutunun bir tuşa atanması gerekiyor) --]\n" + +-#: handler.c:1724 ++#: handler.c:1723 + #, fuzzy + msgid "[-- This is an attachment --]\n" + msgstr "[-- Bu bir ek --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1729 ++#: handler.c:1728 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported --]\n" + msgstr "[-- %s/%s desteklenmiyor --]\n" + +-#: help.c:400 ++#: help.c:401 + msgid "ERROR: please report this bug" + msgstr "HATA: bu hatayı lütfen bildirin" + +-#: help.c:455 ++#: help.c:456 + msgid "" + msgstr "" + +-#: help.c:469 ++#: help.c:470 + msgid "Generic bindings:" + msgstr "Genel tuş atamaları:" + +-#: help.c:473 ++#: help.c:474 + msgid "Unbound functions:" + msgstr "Herhangi bir tuş atanmamış işlevler:" + +-#: help.c:481 ++#: help.c:482 + #, c-format + msgid "Help for %s" + msgstr "%s için yardım" +@@ -2061,41 +2314,41 @@ msgstr "" + msgid "badly formatted command string" + msgstr "" + +-#: hook.c:461 ++#: hook.c:466 + msgid "unhook: Can't do unhook * from within a hook" + msgstr "unhook: Bir kanca (hook) içindeyken unhook * komutu kullanılamaz" + +-#: hook.c:474 ++#: hook.c:479 + #, c-format + msgid "unhook: unknown hook type: %s" + msgstr "unhook: bilinmeyen kanca (hook) tipi: %s" + +-#: hook.c:484 ++#: hook.c:489 + #, c-format + msgid "unhook: Can't delete a %s from within a %s" + msgstr "unhook: %s bir %s içindeyken silinemez" + + #. L10N: '%s' is the (misspelled) name of the menu, e.g. 'index' or 'pager' +-#: icommands.c:259 keymap.c:1161 keymap.c:1346 ++#: icommands.c:261 keymap.c:1159 keymap.c:1344 + #, c-format + msgid "%s: no such menu" + msgstr "%s: böyle bir menü yok" + + #. L10N: '%s' is the name of the menu, e.g. 'index' or 'pager', it might + #. L10N: also be 'all' when all menus are affected. +-#: icommands.c:272 ++#: icommands.c:274 + #, fuzzy, c-format + msgid "%s: no binds for this menu" + msgstr "%s: böyle bir menü yok" + +-#: icommands.c:272 ++#: icommands.c:274 + #, fuzzy, c-format + msgid "%s: no macros for this menu" + msgstr "%s: böyle bir menü yok" + + #. L10N: '%s' is the file name of the temporary file +-#: icommands.c:283 icommands.c:296 icommands.c:316 icommands.c:340 +-#: icommands.c:360 icommands.c:371 imap/message.c:1093 ++#: icommands.c:285 icommands.c:297 icommands.c:317 icommands.c:340 ++#: icommands.c:360 icommands.c:370 imap/message.c:1093 + #, c-format + msgid "Could not create temporary file %s" + msgstr "Geçici dosya %s yaratılamadı!" +@@ -2133,30 +2386,30 @@ msgstr "GSSAPI doğrulaması başarısız oldu" + msgid "LOGIN disabled on this server" + msgstr "Bu sunucuda LOGIN kapalı" + +-#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:288 ++#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:289 + msgid "Logging in..." + msgstr "Giriş yapılıyor..." + +-#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:329 ++#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:330 + msgid "Login failed" + msgstr "Giriş başarısız oldu" + +-#: imap/auth_oauth.c:64 pop/pop_auth.c:346 smtp.c:524 ++#: imap/auth_oauth.c:65 pop/pop_auth.c:347 smtp.c:549 + #, fuzzy + msgid "Authenticating (OAUTHBEARER)..." + msgstr "Doğrulanıyor (SASL)..." + +-#: imap/auth_oauth.c:96 ++#: imap/auth_oauth.c:97 + #, fuzzy + msgid "OAUTHBEARER authentication failed" + msgstr "OAUTHBEARER doğrulaması başarısız oldu" + +-#: imap/auth_sasl.c:128 nntp/nntp.c:606 nntp/nntp.c:671 smtp.c:443 ++#: imap/auth_sasl.c:128 nntp/nntp.c:608 nntp/nntp.c:673 smtp.c:468 + #, c-format + msgid "Authenticating (%s)..." + msgstr "Doğrulanıyor (%s)..." + +-#: imap/auth_sasl.c:259 pop/pop_auth.c:200 smtp.c:584 smtp.c:646 ++#: imap/auth_sasl.c:259 pop/pop_auth.c:201 smtp.c:609 smtp.c:671 + msgid "SASL authentication failed" + msgstr "SASL doğrulaması başarısız oldu" + +@@ -2203,89 +2456,79 @@ msgstr "Yeniden isimlendirme başarısız: %s" + msgid "Mailbox renamed" + msgstr "Eposta kutusu yeniden isimlendirildi" + +-#: imap/command.c:164 ++#: imap/command.c:177 + #, c-format + msgid "Mailbox %s@%s closed" + msgstr "%s@%s eposta kutusu kapatıldı" + +-#: imap/command.c:1258 imap/command.c:1370 ++#: imap/command.c:1287 imap/command.c:1399 + #, fuzzy, c-format + msgid "Connection to %s timed out" + msgstr "%s soketine yapılan bağlantı kapatıldı" + +-#: imap/imap.c:87 ++#: imap/imap.c:93 + msgid "This IMAP server is ancient. NeoMutt does not work with it." + msgstr "Bu IMAP sunucusu çok eski. NeoMutt bu sunucuyla çalışmaz." + +-#: imap/imap.c:438 ++#: imap/imap.c:444 + #, c-format + msgid "Header search without header name: %s" + msgstr "%s başlık ismi verilmeden başlık araması" + +-#: imap/imap.c:468 ++#: imap/imap.c:474 + #, c-format + msgid "Server-side custom search not supported: %s" + msgstr "" + +-#: imap/imap.c:584 ++#: imap/imap.c:590 + #, c-format + msgid "CREATE failed: %s" + msgstr "CREATE başarısız oldu: %s" + +-#: imap/imap.c:704 ++#: imap/imap.c:710 + #, c-format + msgid "Closing connection to %s..." + msgstr "%s bağlantısı kapatılıyor..." + +-#: imap/imap.c:882 nntp/nntp.c:1889 pop/pop_lib.c:324 smtp.c:687 ++#: imap/imap.c:888 nntp/nntp.c:1891 pop/pop_lib.c:350 smtp.c:712 + msgid "Secure connection with TLS?" + msgstr "TLS ile güvenli bağlanılsın mı?" + +-#: imap/imap.c:895 nntp/nntp.c:1910 pop/pop_lib.c:343 smtp.c:702 ++#: imap/imap.c:901 nntp/nntp.c:1912 pop/pop_lib.c:369 smtp.c:727 + msgid "Could not negotiate TLS connection" + msgstr "TLS bağlantısı kurulamadı" + +-#: imap/imap.c:910 pop/pop_lib.c:360 ++#: imap/imap.c:916 pop/pop_lib.c:386 + msgid "Encrypted connection unavailable" + msgstr "Şifrelenmiş bağlantı mevcut değil" + +-#: imap/imap.c:1417 ++#: imap/imap.c:1430 + #, c-format + msgid "Subscribing to %s..." + msgstr "%s eposta kutusuna abone olunuyor..." + +-#: imap/imap.c:1419 ++#: imap/imap.c:1432 + #, c-format + msgid "Unsubscribing from %s..." + msgstr "%s eposta kutusundan aboneliği iptal ediliyor..." + +-#: imap/imap.c:1430 init.c:2142 +-#, fuzzy, c-format +-msgid "Subscribed to %s" +-msgstr "%s eposta kutusuna abone olmuş" +- +-#: imap/imap.c:1432 init.c:2620 +-#, fuzzy, c-format +-msgid "Unsubscribed from %s" +-msgstr "%s eposta kutusundan aboneliği iptal etmiş" +- +-#: imap/imap.c:1582 imap/message.c:1674 ++#: imap/imap.c:1595 imap/message.c:1674 + #, fuzzy, c-format + msgid "Copying %d message to %s..." + msgid_plural "Copying %d messages to %s..." + msgstr[0] "%d ileti %s eposta kutusuna kopyalanıyor..." + msgstr[1] "%d ileti %s eposta kutusuna kopyalanıyor..." + +-#: imap/imap.c:1599 imap/imap.c:2217 imap/message.c:1713 muttlib.c:1505 ++#: imap/imap.c:1612 imap/imap.c:2254 imap/message.c:1713 muttlib.c:1503 + #, c-format + msgid "Create %s?" + msgstr "%s yaratılsın mı?" + +-#: imap/imap.c:1667 ++#: imap/imap.c:1685 + msgid "Expunge failed" + msgstr "Silme işlemi başarısız oldu" + +-#: imap/imap.c:1683 ++#: imap/imap.c:1701 + #, fuzzy, c-format + msgid "Marking %d message deleted..." + msgid_plural "Marking %d messages deleted..." +@@ -2293,44 +2536,44 @@ msgstr[0] "%d ileti silinmek için işaretlendi..." + msgstr[1] "%d ileti silinmek için işaretlendi..." + + #. L10N: The plural is chosen by the last %d, i.e. the total number +-#: imap/imap.c:1720 ++#: imap/imap.c:1738 + #, fuzzy, c-format + msgid "Saving changed message... [%d/%d]" + msgid_plural "Saving changed messages... [%d/%d]" + msgstr[0] "İleti durum bayrakları kaydediliyor... [%d/%d]" + msgstr[1] "İleti durum bayrakları kaydediliyor... [%d/%d]" + +-#: imap/imap.c:1776 ++#: imap/imap.c:1794 + msgid "Error saving flags. Close anyway?" + msgstr "" + +-#: imap/imap.c:1783 ++#: imap/imap.c:1801 + #, fuzzy + msgid "Error saving flags" + msgstr "Adres ayrıştırılırken hata!" + +-#: imap/imap.c:1808 ++#: imap/imap.c:1826 + msgid "Expunging messages from server..." + msgstr "İletileri sunucudan sil..." + +-#: imap/imap.c:1814 ++#: imap/imap.c:1832 + msgid "imap_sync_mailbox: EXPUNGE failed" + msgstr "imap_sync_mailbox: EXPUNGE başarısız oldu" + +-#: imap/imap.c:2023 nntp/nntp.c:2486 ++#: imap/imap.c:2058 nntp/nntp.c:2488 + #, c-format + msgid "Selecting %s..." + msgstr "%s seçiliyor..." + +-#: imap/imap.c:2184 ++#: imap/imap.c:2221 + msgid "Error opening mailbox" + msgstr "Eposta kutusu açılırken hata oluştu!" + +-#: imap/imap.c:2330 ++#: imap/imap.c:2367 + msgid "IMAP server doesn't support custom flags" + msgstr "" + +-#: imap/imap.c:2374 ++#: imap/imap.c:2411 + msgid "Invalid IMAP flags" + msgstr "Geçersiz IMAP eposta bayrakları" + +@@ -2340,7 +2583,7 @@ msgid "Abort download and close mailbox?" + msgstr "" + + #: imap/message.c:554 mutt/memory.c:58 mutt/memory.c:98 mutt/memory.c:134 +-#: mutt/string.c:1178 mx.c:1176 ++#: mutt/string.c:1201 mx.c:1195 + msgid "Out of memory" + msgstr "Bellek tükendi" + +@@ -2360,7 +2603,7 @@ msgstr "İleti başlıkları alınıyor..." + msgid "Unable to fetch headers from this IMAP server version" + msgstr "Bu IMAP sunucu sürümünden başlıklar alınamıyor" + +-#: imap/message.c:1099 index.c:1548 nntp/nntp.c:1328 pop/pop.c:426 ++#: imap/message.c:1099 index.c:1554 nntp/nntp.c:1330 pop/pop.c:426 + msgid "Fetching message headers..." + msgstr "İleti başlıkları alınıyor..." + +@@ -2373,156 +2616,156 @@ msgstr "İleti yükleniyor..." + msgid "Copying message %d to %s..." + msgstr "%d ileti %s eposta kutusuna kopyalanıyor..." + +-#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2737 pop/pop.c:1110 ++#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2739 pop/pop.c:1105 + msgid "Fetching message..." + msgstr "İleti alınıyor..." + +-#: imap/message.c:1959 pop/pop.c:1106 ++#: imap/message.c:1959 pop/pop.c:1101 + msgid "The message index is incorrect. Try reopening the mailbox." + msgstr "İleti indeksi hatalı. Eposta kutusu yeniden açılıyor." + +-#: imap/util.c:767 ++#: imap/util.c:796 + msgid "Continue?" + msgstr "Devam edilsin mi?" + +-#: index.c:115 index.c:128 ++#: index.c:111 index.c:124 + msgid "Quit" + msgstr "Çık" + +-#: index.c:118 index.c:131 recvattach.c:93 ++#: index.c:114 index.c:127 recvattach.c:91 + msgid "Save" + msgstr "Kaydet" + +-#: index.c:119 query.c:81 ++#: index.c:115 query.c:79 + msgid "Mail" + msgstr "Gönder" + +-#: index.c:120 pager.c:237 ++#: index.c:116 pager.c:229 + msgid "Reply" + msgstr "Cevapla" + +-#: index.c:121 ++#: index.c:117 + msgid "Group" + msgstr "Gruba" + +-#: index.c:132 pager.c:244 ++#: index.c:128 pager.c:236 + msgid "Post" + msgstr "" + +-#: index.c:133 pager.c:245 ++#: index.c:129 pager.c:237 + #, fuzzy + msgid "Followup" + msgstr "Cevap adresi olarak %s%s kullanılsın mı? [Mail-Followup-To]" + +-#: index.c:190 index.c:1362 ++#: index.c:186 index.c:1367 + msgid "No mailbox is open" + msgstr "Hiç bir eposta kutusu açık değil" + +-#: index.c:196 ++#: index.c:192 + msgid "There are no messages" + msgstr "İleti yok" + +-#: index.c:202 ++#: index.c:198 + msgid "No visible messages" + msgstr "Görüntülenebilir bir ileti yok" + +-#: index.c:208 mx.c:901 pager.c:223 recvattach.c:80 ++#: index.c:204 mx.c:920 pager.c:215 recvattach.c:78 + msgid "Mailbox is read-only" + msgstr "Eposta kutusu salt okunur" + +-#: index.c:214 pager.c:225 recvattach.c:98 ++#: index.c:210 pager.c:217 recvattach.c:96 + msgid "Function not permitted in attach-message mode" + msgstr "Bu işleve ileti ekle kipinde izin verilmiyor" + + #. L10N: %s is one of the CHECK_ACL entries below. +-#: index.c:239 pager.c:290 ++#: index.c:235 pager.c:282 + #, c-format + msgid "%s: Operation not permitted by ACL" + msgstr "" + +-#: index.c:430 ++#: index.c:426 + msgid "Can't toggle write on a readonly mailbox" + msgstr "Salt-okunur bir eposta kutusu yazılabilir yapılamaz" + +-#: index.c:437 ++#: index.c:433 + msgid "Changes to folder will be written on folder exit" + msgstr "Klasördeki değişiklikler çıkışta kaydedilecek" + +-#: index.c:442 ++#: index.c:438 + msgid "Changes to folder will not be written" + msgstr "Klasördeki değişiklikler kaydedilmeyecek" + +-#: index.c:719 muttlib.c:1490 mx.c:206 mx.c:340 ++#: index.c:714 muttlib.c:1488 mx.c:206 mx.c:338 + #, c-format + msgid "%s is not a mailbox" + msgstr "%s bir eposta kutusu değil" + +-#: index.c:1218 ++#: index.c:1223 + msgid "Mailbox was externally modified. Flags may be wrong." + msgstr "Eposta kutusu değiştirildi. Bazı eposta bayrakları hatalı olabilir." + +-#: index.c:1227 pager.c:2409 ++#: index.c:1232 pager.c:2379 + msgid "New mail in this mailbox" + msgstr "Bu kutuda yeni eposta var!" + +-#: index.c:1242 ++#: index.c:1247 + msgid "Mailbox was externally modified" + msgstr "Eposta kutusu değiştirildi" + +-#: index.c:1369 ++#: index.c:1374 + msgid "No tagged messages" + msgstr "İşaretlenmiş ileti yok" + +-#: index.c:1373 index.c:1647 menu.c:1423 ++#: index.c:1378 index.c:1653 menu.c:1423 + msgid "Nothing to do" + msgstr "Yapılacak bir işlem yok" + +-#: index.c:1470 ++#: index.c:1475 + #, fuzzy + msgid "Enter Message-Id: " + msgstr "Message-Id'yi girin: " + +-#: index.c:1481 ++#: index.c:1487 + msgid "Article has no parent reference" + msgstr "" + +-#: index.c:1504 ++#: index.c:1510 + #, fuzzy + msgid "Message is not visible in limited view" + msgstr "Sınırlandırılmış görünümde ana ileti görünemez" + +-#: index.c:1508 ++#: index.c:1514 + #, c-format + msgid "Fetching %s from server..." + msgstr "Sunucudan %s aliniyor..." + +-#: index.c:1518 nntp/nntp.c:2772 ++#: index.c:1524 nntp/nntp.c:2774 + #, c-format + msgid "Article %s not found on the server" + msgstr "" + +-#: index.c:1544 ++#: index.c:1550 + msgid "No Message-Id. Unable to perform operation." + msgstr "" + +-#: index.c:1623 ++#: index.c:1629 + #, fuzzy + msgid "No deleted messages found in the thread" + msgstr "İlmekteki silindiği iletiler bulunamadı" + +-#: index.c:1644 ++#: index.c:1650 + msgid "Jump to message: " + msgstr "İletiye geç: " + +-#: index.c:1650 ++#: index.c:1656 + msgid "Argument must be a message number" + msgstr "Argüman bir ileti numarası olmak zorunda" + +-#: index.c:1652 ++#: index.c:1658 + msgid "Invalid message number" + msgstr "Geçersiz ileti numarası" + +-#: index.c:1654 ++#: index.c:1660 + msgid "That message is not visible" + msgstr "Bu ileti görünmez" + +@@ -2535,38 +2778,38 @@ msgstr "Bu ileti görünmez" + #. delete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. + #. +-#: index.c:1692 index.c:3267 pager.c:3064 ++#: index.c:1698 index.c:3293 pager.c:3039 + #, fuzzy + msgid "Can't delete messages" + msgstr "İleti silinemedi" + +-#: index.c:1695 ++#: index.c:1701 + msgid "Delete messages matching: " + msgstr "Tabire uyan iletileri sil: " + +-#: index.c:1736 ++#: index.c:1742 + msgid "No limit pattern is in effect" + msgstr "Herhangi bir sınırlandırma tabiri etkin değil" + + #. L10N: ask for a limit to apply +-#: index.c:1741 ++#: index.c:1747 + #, c-format + msgid "Limit: %s" + msgstr "Sınır: %s" + +-#: index.c:1778 ++#: index.c:1784 + msgid "Limit to messages matching: " + msgstr "Sadece tabire uyan iletiler: " + +-#: index.c:1809 ++#: index.c:1815 + msgid "To view all messages, limit to \"all\"" + msgstr "İletilerin hepsini görmek için \"all\" tabirini kullanın" + +-#: index.c:1821 pager.c:2514 ++#: index.c:1827 pager.c:2487 + msgid "Quit NeoMutt?" + msgstr "NeoMutt'tan çıkılsın mı?" + +-#: index.c:1924 ++#: index.c:1931 + msgid "Tag messages matching: " + msgstr "Tabire uyan iletileri işaretle: " + +@@ -2574,206 +2817,206 @@ msgstr "Tabire uyan iletileri işaretle: " + #. L10N: Due to the implementation details we do not know whether we + #. undelete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:1935 index.c:3807 pager.c:3418 ++#: index.c:1942 index.c:3833 pager.c:3396 + #, fuzzy + msgid "Can't undelete messages" + msgstr "İleti kurtarılamadı" + +-#: index.c:1939 ++#: index.c:1946 + msgid "Undelete messages matching: " + msgstr "Tabire uyan iletileri kurtar: " + +-#: index.c:1948 ++#: index.c:1955 + msgid "Untag messages matching: " + msgstr "Tabire uyan iletilerdeki işareti sil: " + +-#: index.c:1989 ++#: index.c:1996 + msgid "Logged out of IMAP servers" + msgstr "" + +-#: index.c:2105 ++#: index.c:2113 + #, fuzzy + msgid "No virtual folder and no Message-Id, aborting" + msgstr "Sanal dizin bulunamadı, iptal ediliyor" + +-#: index.c:2117 index.c:2288 index.c:2310 index.c:2331 ++#: index.c:2125 index.c:2313 index.c:2335 index.c:2356 + msgid "Failed to create query, aborting" + msgstr "" + +-#: index.c:2130 ++#: index.c:2138 + msgid "failed to find message in notmuch database. try running 'notmuch new'." + msgstr "" + +-#: index.c:2139 ++#: index.c:2147 + msgid "Failed to read thread, aborting" + msgstr "" + +-#: index.c:2171 mx.c:1252 mx.c:1272 ++#: index.c:2179 mx.c:1271 mx.c:1291 + msgid "Folder doesn't support tagging, aborting" + msgstr "" + +-#: index.c:2188 ++#: index.c:2196 + #, fuzzy + msgid "No tag specified, aborting" + msgstr "Konu girilmedi, iptal ediliyor" + +-#: index.c:2198 ++#: index.c:2206 + msgid "Update tags..." + msgstr "" + +-#: index.c:2238 ++#: index.c:2246 + msgid "Failed to modify tags, aborting" + msgstr "" + +-#: index.c:2284 ++#: index.c:2293 + #, fuzzy + msgid "No query, aborting" + msgstr "Konu girilmedi, iptal ediliyor" + +-#: index.c:2299 index.c:2320 ++#: index.c:2324 index.c:2345 + msgid "Windowed queries disabled" + msgstr "" + +-#: index.c:2304 index.c:2325 ++#: index.c:2329 index.c:2350 + msgid "No notmuch vfolder currently loaded" + msgstr "" + +-#: index.c:2374 ++#: index.c:2399 + msgid "Open mailbox in read-only mode" + msgstr "Eposta kutusunu salt okunur aç" + +-#: index.c:2376 ++#: index.c:2401 + msgid "Open mailbox" + msgstr "Eposta kutusunu aç" + +-#: index.c:2386 ++#: index.c:2411 + #, fuzzy + msgid "No mailboxes have new mail" + msgstr "Yeni eposta içeren bir eposta kutusu yok." + +-#: index.c:2419 ++#: index.c:2444 + msgid "Open newsgroup in read-only mode" + msgstr "Haber grubunu salt okunur aç" + +-#: index.c:2421 ++#: index.c:2446 + msgid "Open newsgroup" + msgstr "Haber grubunu aç" + +-#: index.c:2538 ++#: index.c:2564 + #, fuzzy + msgid "Exit NeoMutt without saving?" + msgstr "NeoMutt'tan kaydedilmeden çıkılsın mı?" + + #. L10N: CHECK_ACL +-#: index.c:2554 ++#: index.c:2580 + #, fuzzy + msgid "Can't break thread" + msgstr "Süzgeç oluşturulamadı" + +-#: index.c:2574 ++#: index.c:2600 + msgid "Thread broken" + msgstr "Kopuk ilmek" + +-#: index.c:2587 ++#: index.c:2613 + msgid "Thread can't be broken, message is not part of a thread" + msgstr "" + + #. L10N: CHECK_ACL +-#: index.c:2597 ++#: index.c:2623 + msgid "Can't link threads" + msgstr "" + +-#: index.c:2606 ++#: index.c:2632 + msgid "No Message-ID: header available to link thread" + msgstr "İlmeğe bağlamakta kullanılabilecek bir \"Message-ID:\" başlığı yok" + +-#: index.c:2608 ++#: index.c:2634 + msgid "First, please tag a message to be linked here" + msgstr "Öncelikle lütfen buraya bağlanacak bir ileti işaretleyin" + +-#: index.c:2621 ++#: index.c:2647 + msgid "Threads linked" + msgstr "Bağlanan ilmekler" + +-#: index.c:2624 ++#: index.c:2650 + msgid "No thread linked" + msgstr "Herhangi bir ilmeğe bağlanmadı" + +-#: index.c:2665 index.c:2690 ++#: index.c:2691 index.c:2716 + msgid "You are on the last message" + msgstr "Son iletidesiniz" + +-#: index.c:2673 index.c:2716 ++#: index.c:2699 index.c:2742 + msgid "No undeleted messages" + msgstr "Kurtarılan ileti yok" + +-#: index.c:2708 index.c:2733 ++#: index.c:2734 index.c:2759 + msgid "You are on the first message" + msgstr "İlk iletidesiniz" + +-#: index.c:2874 ++#: index.c:2900 + #, fuzzy + msgid "No new messages in this limited view" + msgstr "Sınırlandırılmış görünümde ana ileti görünemez" + +-#: index.c:2876 ++#: index.c:2902 + msgid "No new messages" + msgstr "Yeni ileti yok" + +-#: index.c:2881 ++#: index.c:2907 + #, fuzzy + msgid "No unread messages in this limited view" + msgstr "Sınırlandırılmış görünümde ana ileti görünemez" + +-#: index.c:2883 ++#: index.c:2909 + msgid "No unread messages" + msgstr "Okunmamış ileti yok" + +-#: index.c:2893 menu.c:1208 pager.c:2644 pattern.c:2652 ++#: index.c:2919 menu.c:1208 pager.c:2618 pattern.c:2776 + msgid "Search wrapped to top" + msgstr "Arama başa döndü" + +-#: index.c:2898 pager.c:2669 pattern.c:2663 ++#: index.c:2924 pager.c:2643 pattern.c:2787 + msgid "Search wrapped to bottom" + msgstr "Arama sona ulaştı" + + #. L10N: CHECK_ACL +-#: index.c:2915 ++#: index.c:2941 + #, fuzzy + msgid "Can't flag message" + msgstr "iletiyi göster" + + #. L10N: CHECK_ACL +-#: index.c:2961 pager.c:3377 ++#: index.c:2987 pager.c:3355 + msgid "Can't toggle new" + msgstr "" + +-#: index.c:3057 ++#: index.c:3083 + msgid "No more threads" + msgstr "Daha başka ilmek yok" + +-#: index.c:3059 ++#: index.c:3085 + msgid "You are on the first thread" + msgstr "İlk ilmektesiniz" + +-#: index.c:3156 ++#: index.c:3182 + #, fuzzy + msgid "Thread contains unread or flagged messages" + msgstr "İlmek okunmamış iletiler içeriyor" + + #. L10N: CHECK_ACL +-#: index.c:3215 pager.c:3019 ++#: index.c:3241 pager.c:2994 + msgid "Can't delete message" + msgstr "İleti silinemedi" + + #. L10N: CHECK_ACL +-#: index.c:3339 ++#: index.c:3365 + msgid "Can't edit message" + msgstr "İleti düzenleyemedi" + + #. L10N: This is displayed when the x-label on one or more + #. messages is edited. +-#: index.c:3432 pager.c:3495 ++#: index.c:3458 pager.c:3473 + #, fuzzy, c-format + msgid "%d label changed" + msgid_plural "%d labels changed" +@@ -2783,7 +3026,7 @@ msgstr[1] "Eposta kutusunda değişiklik yok" + #. L10N: This is displayed when editing an x-label, but no messages + #. were updated. Possibly due to canceling at the prompt or if the new + #. label is the same as the old label. +-#: index.c:3440 pager.c:3499 ++#: index.c:3466 pager.c:3477 + #, fuzzy + msgid "No labels changed" + msgstr "Eposta kutusunda değişiklik yok" +@@ -2792,7 +3035,7 @@ msgstr "Eposta kutusunda değişiklik yok" + #. L10N: Due to the implementation details we do not know whether we + #. mark zero, 1, 12, ... messages as read. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:3571 ++#: index.c:3597 + #, fuzzy + msgid "Can't mark messages as read" + msgstr "ilmeği başlatan ana iletiye geç" +@@ -2800,14 +3043,14 @@ msgstr "ilmeği başlatan ana iletiye geç" + #. L10N: This is the prompt for . Whatever they + #. enter will be prefixed by $mark_macro_prefix and will become + #. a macro hotkey to jump to the currently selected message. +-#: index.c:3612 ++#: index.c:3638 + #, fuzzy + msgid "Enter macro stroke: " + msgstr "%s için anahtar NO'yu girin: " + + #. L10N: "message hotkey" is the key bindings menu description of a + #. macro created by . +-#: index.c:3620 ++#: index.c:3646 + #, fuzzy + msgid "message hotkey" + msgstr "İleti ertelendi." +@@ -2815,260 +3058,122 @@ msgstr "İleti ertelendi." + #. L10N: This is echoed after creates a new hotkey + #. macro. %s is the hotkey string ($mark_macro_prefix followed + #. by whatever they typed at the prompt.) +-#: index.c:3625 ++#: index.c:3651 + #, fuzzy, c-format + msgid "Message bound to %s" + msgstr "İleti geri gönderildi" + + #. L10N: This error is printed if can't find a + #. Message-ID for the currently selected message in the index. +-#: index.c:3634 ++#: index.c:3660 + #, fuzzy + msgid "No message ID to macro" + msgstr "Bu klasörde ileti yok" + +-#: index.c:3688 pager.c:3221 recvattach.c:1646 ++#: index.c:3714 pager.c:3196 recvattach.c:1678 + msgid "Reply by mail as poster prefers?" + msgstr "" + +-#: index.c:3691 pager.c:3182 pager.c:3194 pager.c:3224 ++#: index.c:3717 pager.c:3157 pager.c:3169 pager.c:3199 + msgid "Posting to this group not allowed, may be moderated. Continue?" + msgstr "" + + #. L10N: CHECK_ACL +-#: index.c:3768 pager.c:3397 ++#: index.c:3794 pager.c:3375 + msgid "Can't undelete message" + msgstr "İleti kurtarılamadı" + +-#: init.c:313 ++#: init.c:223 + #, c-format + msgid "Error in command line: %s" + msgstr "Komut satırında hata: %s" + +-#: init.c:315 ++#: init.c:225 + #, fuzzy, c-format + msgid "Warning in command line: %s" + msgstr "Komut satırında hata: %s" + +-#: init.c:426 ++#: init.c:336 + #, fuzzy + msgid "unable to determine nodename via uname()" + msgstr "kullanıcı adı belirlenemedi" + +-#: init.c:580 +-msgid "-group: no group name" +-msgstr "" +- +-#: init.c:590 +-#, fuzzy +-msgid "out of arguments" +-msgstr "eksik argüman" +- +-#: init.c:804 init.c:1752 +-#, c-format +-msgid "Error: Can't build path of '%s'" +-msgstr "" +- +-#: init.c:817 +-#, c-format +-msgid "Error: Cyclic sourcing of configuration file '%s'" +-msgstr "" +- +-#: init.c:850 +-#, c-format +-msgid "Error in %s, line %d: %s" +-msgstr "%s dosyasında hata var, satır %d: %s" +- +-#: init.c:861 +-#, c-format +-msgid "Warning in %s, line %d: %s" +-msgstr "%s dosyasında hata var, satır %d: %s" +- +-#: init.c:885 +-#, c-format +-msgid "source: errors in %s" +-msgstr "source: %s dosyasında hatalar var" +- +-#: init.c:885 +-#, fuzzy, c-format +-msgid "source: reading aborted due to too many errors in %s" +-msgstr "source: %s dosyasındaki çok fazla sayıda hatadan dolayı okuma iptal edildi" +- +-#: init.c:894 +-#, fuzzy, c-format +-msgid "source: %d warning in %s" +-msgid_plural "source: %d warnings in %s" +-msgstr[0] "kaynak: %d hata var, %s dosyasında" +-msgstr[1] "kaynak: %d hata var, %s dosyasında" +- +-#: init.c:923 +-msgid "alias: no address" +-msgstr "alias: adres yok" +- +-#: init.c:965 +-#, c-format +-msgid "Warning: Bad IDN '%s' in alias '%s'" +-msgstr "Uyarı: '%2$s' adresindeki '%1$s' IDN'si hatalı" +- +-#: init.c:1043 +-msgid "attachments: no disposition" +-msgstr "ekler: dispozisyon yok" +- +-#: init.c:1054 +-#, fuzzy +-msgid "Current attachments settings:" +-msgstr "ek açıklamasını düzenle" +- +-#: init.c:1084 +-msgid "attachments: invalid disposition" +-msgstr "ekler: geçersiz dispozisyon" +- +-#: init.c:1160 +-#, c-format +-msgid "%sgroup: missing -rx or -addr" +-msgstr "" +- +-#: init.c:1186 +-#, c-format +-msgid "%sgroup: warning: bad IDN '%s'" +-msgstr "%sgrup: uyarı: IDN'si hatalı '%s'" +- +-#: init.c:1278 +-#, c-format +-msgid "Error: %s" +-msgstr "" +- +-#: init.c:1445 +-msgid "invalid header field" +-msgstr "geçersiz başlık alanı" +- +-#: init.c:1711 init.c:1815 +-#, c-format +-msgid "%s: unknown variable" +-msgstr "%s: bilinmeyen değişken" +- +-#: init.c:1908 +-#, c-format +-msgid "%s is unset" +-msgstr "%s ayarlanmadan bırakıldı" +- +-#: init.c:1953 mutt_lua.c:478 +-#, c-format +-msgid "source: error at %s" +-msgstr "source: hata konumu: %s" +- +-#: init.c:1961 +-#, fuzzy, c-format +-msgid "source: file %s could not be sourced" +-msgstr "İletiler yazdırılamadı" +- +-#: init.c:1984 +-msgid "spam: no matching pattern" +-msgstr "spam: uyuşan bir tabir yok" +- +-#: init.c:1986 +-msgid "nospam: no matching pattern" +-msgstr "nospam: uyuşan bir tabir yok" +- +-#: init.c:2146 +-#, fuzzy, c-format +-msgid "Could not subscribe to %s" +-msgstr "%s eposta kutusuna abone olunuyor..." +- +-#: init.c:2154 init.c:2632 +-#, fuzzy +-msgid "No folder specified" +-msgstr "Konu girilmedi." +- +-#: init.c:2341 +-msgid "unattachments: no disposition" +-msgstr "ek olmayanlar: dispozisyon yok" +- +-#: init.c:2379 +-msgid "unattachments: invalid disposition" +-msgstr "ek olmayanlar: geçersiz dispozisyon" +- +-#: init.c:2624 +-#, fuzzy, c-format +-msgid "Could not unsubscribe from %s" +-msgstr "%s aboneliği iptal ediliyor..." +- +-#: init.c:3292 ++#: init.c:1042 + #, c-format + msgid "%s: unknown command" + msgstr "%s: bilinmeyen komut" + +-#: init.c:3837 ++#: init.c:1588 + msgid "'charset' must contain exactly one character set name" + msgstr "" + +-#: init.c:3853 init.c:3877 init.c:3912 ++#: init.c:1604 init.c:1628 init.c:1663 + #, fuzzy, c-format + msgid "Invalid value for option %s: %s" + msgstr "Geçersiz ay günü: %s" + +-#: init.c:3890 ++#: init.c:1641 + #, c-format + msgid "Option %s may not be set or reset from the pager" + msgstr "" + +-#: init.c:3928 ++#: init.c:1679 + #, fuzzy, c-format + msgid "Option %s may not be set when in attach-message mode" + msgstr "Bu işleve ileti ekle kipinde izin verilmiyor." + + #. L10N: This applies to the "$wrap_headers" config variable +-#: init.c:3943 ++#: init.c:1694 + #, c-format + msgid "Option %s must between 78 and 998 inclusive" + msgstr "" + +-#: keymap.c:373 keymap.c:381 ++#: keymap.c:371 keymap.c:379 + #, c-format + msgid "Binding '%s' will alias '%s' Before, try: 'bind %s %s noop' https://neomutt.org/guide/configuration.html#bind-warnings" + msgstr "" + +-#: keymap.c:757 ++#: keymap.c:755 + msgid "Macro loop detected" + msgstr "Makro döngüsü tespit edildi" + +-#: keymap.c:1064 keymap.c:1099 ++#: keymap.c:1062 keymap.c:1097 + msgid "Key is not bound" + msgstr "Tuş ayarlanmamış" + +-#: keymap.c:1104 ++#: keymap.c:1102 + #, c-format + msgid "Key is not bound. Press '%s' for help." + msgstr "Tuş ayarlanmamış. Lütfen '%s' tuşuyla yardım isteyin." + +-#: keymap.c:1177 ++#: keymap.c:1175 + #, c-format + msgid "%s: null key sequence" + msgstr "%s: boş tuş dizisi" + +-#: keymap.c:1212 ++#: keymap.c:1210 + #, c-format + msgid "Function '%s' not available for menu '%s'" + msgstr "" + +-#: keymap.c:1495 ++#: keymap.c:1493 + msgid "macro: empty key sequence" + msgstr "macro: boş tuş dizisi" + +-#: keymap.c:1543 ++#: keymap.c:1541 + msgid "exec: no arguments" + msgstr "exec: argüman verilmemiş" + +-#: keymap.c:1563 ++#: keymap.c:1561 + #, c-format + msgid "%s: no such function" + msgstr "%s: böyle bir işlev yok" + +-#: keymap.c:1584 ++#: keymap.c:1582 + msgid "Enter keys (^G to abort): " + msgstr "Tuşları girin (iptal için ^G): " + +-#: keymap.c:1590 ++#: keymap.c:1588 + #, c-format + msgid "Char = %s, Octal = %o, Decimal = %d" + msgstr "Karakter = %s, Sekizlik = %o, Onluk = %d" +@@ -3092,7 +3197,7 @@ msgstr "%s için mailcap kaydı bulunamadı" + msgid "Scanning %s..." + msgstr "%s seçiliyor..." + +-#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:353 ++#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:351 + #, c-format + msgid "Reading %s..." + msgstr "%s okunuyor..." +@@ -3108,13 +3213,13 @@ msgid "md_commit_message(): unable to set time on file" + msgstr "maildir_commit_message(): dosya tarihi ayarlanamıyor" + + #. L10N: Displayed before/as a mailbox is being synced +-#: maildir/shared.c:1723 mbox/mbox.c:1276 mx.c:461 notmuch/mutt_notmuch.c:2364 ++#: maildir/shared.c:1734 mbox/mbox.c:1276 mx.c:459 notmuch/mutt_notmuch.c:2364 + #, c-format + msgid "Writing %s..." + msgstr "%s yazılıyor..." + + #. L10N: Try to limit to 80 columns +-#: main.c:227 ++#: main.c:160 + msgid "" + "usage:\n" + " neomutt [-Enx] [-e ] [-F ] [-H ] [-i ]\n" +@@ -3137,7 +3242,7 @@ msgid "" + msgstr "" + + #. L10N: Try to limit to 80 columns. If more space is needed add an indented line +-#: main.c:247 ++#: main.c:180 + msgid "" + "options:\n" + " -- Special argument forces NeoMutt to stop option parsing and treat\n" +@@ -3180,54 +3285,54 @@ msgid "" + " or exit immediately with exit code 1 otherwise" + msgstr "" + +-#: main.c:312 ++#: main.c:245 + msgid "Error initializing terminal" + msgstr "Uçbirim ilklendirilirken hata oluştu" + +-#: main.c:390 ++#: main.c:323 + msgid "unable to determine username" + msgstr "kullanıcı adı belirlenemedi" + +-#: main.c:396 ++#: main.c:329 + msgid "unable to determine home directory" + msgstr "ev dizini belirlenemedi" + +-#: main.c:640 ++#: main.c:572 + #, fuzzy, c-format + msgid "Error: value '%s' is invalid for -d" + msgstr "Hata: '%s' hatalı bir IDN" + +-#: main.c:884 ++#: main.c:815 + msgid "Failed to parse mailto: link" + msgstr "" + +-#: main.c:896 send.c:2452 send.c:2456 ++#: main.c:827 send.c:2463 send.c:2467 + msgid "No recipients specified" + msgstr "Herhangi bir alıcı belirtilmemiş" + +-#: main.c:923 ++#: main.c:854 + msgid "Can't use -E flag with stdin" + msgstr "" + +-#: main.c:1007 ++#: main.c:938 + #, fuzzy, c-format + msgid "Can't parse message template: %s" + msgstr "İleti dosyası %s açılamıyor" + +-#: main.c:1073 mutt_header.c:329 ++#: main.c:1004 mutt_header.c:329 + #, c-format + msgid "%s: unable to attach file" + msgstr "%s: dosya eklenemiyor" + +-#: main.c:1156 ++#: main.c:1087 + msgid "No mailbox with new mail" + msgstr "Yeni eposta içeren bir eposta kutusu yok" + +-#: main.c:1180 ++#: main.c:1111 + msgid "No incoming mailboxes defined" + msgstr "Gelen iletileri alacak eposta kutuları tanımlanmamış" + +-#: main.c:1230 ++#: main.c:1161 + msgid "Mailbox is empty" + msgstr "Eposta kutusu boş" + +@@ -3269,52 +3374,52 @@ msgstr "Eposta kutusu yeniden açılamadı" + msgid "Can't write message" + msgstr "İleti yazılamadı" + +-#: menu.c:632 ++#: menu.c:631 + msgid "Jump to: " + msgstr "Geç: " + +-#: menu.c:641 ++#: menu.c:640 + msgid "Invalid index number" + msgstr "Geçersiz indeks numarası" + +-#: menu.c:645 menu.c:671 menu.c:744 menu.c:810 menu.c:828 menu.c:843 menu.c:858 +-#: menu.c:873 menu.c:890 menu.c:907 menu.c:1553 ++#: menu.c:644 menu.c:670 menu.c:743 menu.c:809 menu.c:827 menu.c:842 menu.c:857 ++#: menu.c:872 menu.c:889 menu.c:906 menu.c:1553 + msgid "No entries" + msgstr "Öge yok" + +-#: menu.c:668 ++#: menu.c:667 + msgid "You can't scroll down farther" + msgstr "Daha aşağıya inemezsiniz" + +-#: menu.c:690 ++#: menu.c:689 + msgid "You can't scroll up farther" + msgstr "Daha yukarı çıkamazsınız" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the first page" + msgstr "İlk sayfadasınız" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the last page" + msgstr "Son sayfadasınız" + +-#: menu.c:922 ++#: menu.c:921 + msgid "You are on the last entry" + msgstr "Son ögedesiniz" + +-#: menu.c:937 ++#: menu.c:936 + msgid "You are on the first entry" + msgstr "İlk ögedesiniz" + +-#: menu.c:1172 pager.c:2692 pattern.c:2578 ++#: menu.c:1172 pager.c:2666 pattern.c:2702 + msgid "Search for: " + msgstr "Ara: " + +-#: menu.c:1173 pager.c:2693 pattern.c:2579 ++#: menu.c:1173 pager.c:2667 pattern.c:2703 + msgid "Reverse search for: " + msgstr "Ters ara: " + +-#: menu.c:1226 pager.c:2641 pager.c:2666 pager.c:2800 pattern.c:2708 ++#: menu.c:1226 pager.c:2615 pager.c:2640 pager.c:2774 pattern.c:2832 + msgid "Not found" + msgstr "Bulunamadı" + +@@ -3357,20 +3462,20 @@ msgstr "\"flock\" kilidi için bekleniyor... %d" + msgid "Bad history file format (line %d)" + msgstr "" + +-#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1006 ncrypt/crypt_gpgme.c:2381 +-#: ncrypt/crypt_gpgme.c:2401 ncrypt/crypt_gpgme.c:2460 +-#: ncrypt/crypt_gpgme.c:2477 ncrypt/crypt_gpgme.c:2509 +-#: ncrypt/crypt_gpgme.c:2527 ncrypt/crypt_gpgme.c:2611 +-#: ncrypt/crypt_gpgme.c:3194 ncrypt/crypt_gpgme.c:3292 +-#: ncrypt/crypt_gpgme.c:4373 ncrypt/pgp.c:576 ncrypt/pgp.c:583 ncrypt/pgp.c:896 +-#: ncrypt/pgp.c:1014 ncrypt/pgp.c:1161 ncrypt/pgp.c:1181 ncrypt/pgp.c:1215 +-#: ncrypt/pgp.c:1568 ncrypt/pgpkey.c:708 ncrypt/pgpkey.c:902 +-#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1092 ncrypt/smime.c:1100 +-#: ncrypt/smime.c:1191 ncrypt/smime.c:1299 ncrypt/smime.c:1364 +-#: ncrypt/smime.c:1372 ncrypt/smime.c:1571 ncrypt/smime.c:1967 +-#: ncrypt/smime.c:2046 ncrypt/smime.c:2053 ncrypt/smime.c:2156 +-#: ncrypt/smime.c:2281 ncrypt/smime.c:2297 nntp/nntp.c:1397 nntp/nntp.c:2237 +-#: pattern.c:1132 pop/pop.c:182 ++#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1005 ncrypt/crypt_gpgme.c:2420 ++#: ncrypt/crypt_gpgme.c:2440 ncrypt/crypt_gpgme.c:2499 ++#: ncrypt/crypt_gpgme.c:2516 ncrypt/crypt_gpgme.c:2548 ++#: ncrypt/crypt_gpgme.c:2566 ncrypt/crypt_gpgme.c:2650 ++#: ncrypt/crypt_gpgme.c:3237 ncrypt/crypt_gpgme.c:3335 ++#: ncrypt/crypt_gpgme.c:4421 ncrypt/pgp.c:575 ncrypt/pgp.c:582 ncrypt/pgp.c:895 ++#: ncrypt/pgp.c:1013 ncrypt/pgp.c:1160 ncrypt/pgp.c:1180 ncrypt/pgp.c:1214 ++#: ncrypt/pgp.c:1570 ncrypt/pgpkey.c:741 ncrypt/pgpkey.c:937 ++#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1126 ncrypt/smime.c:1134 ++#: ncrypt/smime.c:1225 ncrypt/smime.c:1333 ncrypt/smime.c:1398 ++#: ncrypt/smime.c:1406 ncrypt/smime.c:1605 ncrypt/smime.c:2001 ++#: ncrypt/smime.c:2080 ncrypt/smime.c:2087 ncrypt/smime.c:2190 ++#: ncrypt/smime.c:2315 ncrypt/smime.c:2331 nntp/nntp.c:1399 nntp/nntp.c:2239 ++#: pattern.c:1171 pop/pop.c:182 + msgid "Can't create temporary file" + msgstr "Geçici dosya oluşturulamıyor" + +@@ -3389,7 +3494,7 @@ msgstr "Hata ayıklama bilgileri için %d seviyesi kullanılıyor.\n" + msgid "Logging at level %d to file '%s'" + msgstr "Hata ayıklama bilgileri için %d seviyesi kullanılıyor.\n" + +-#: mutt/path.c:401 ++#: mutt/path.c:420 + #, fuzzy + msgid "Error: converting path to absolute" + msgstr "Sunucuya bağlanırken hata oluştu: %s" +@@ -3413,17 +3518,17 @@ msgstr "Sinyal %d (%s) alındı... Çıkılıyor.\n" + msgid "Caught signal %d ... Exiting.\n" + msgstr "Sinyal %d alındı... Çıkılıyor.\n" + +-#: muttlib.c:490 ++#: muttlib.c:488 + #, c-format + msgid "mutt_randbuf buflen=%zu" + msgstr "" + +-#: muttlib.c:510 ++#: muttlib.c:508 + #, c-format + msgid "open /dev/urandom: %s" + msgstr "" + +-#: muttlib.c:517 ++#: muttlib.c:515 + #, c-format + msgid "read /dev/urandom: %s" + msgstr "" +@@ -3431,148 +3536,120 @@ msgstr "" + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) + #. These three letters correspond to the choices in the string. +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "File is a directory, save under it: (y)es, (n)o, (a)ll?" + msgstr "Dosya bir dizin; bu dizinin altına kaydedilsin mi? (e)vet, (h)ayır, (t)ümü" + +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "yna" + msgstr "eht" + + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) +-#: muttlib.c:763 ++#: muttlib.c:761 + msgid "File is a directory, save under it?" + msgstr "Dosya bir dizin; bu dizin altına kaydedilsin mi?" + +-#: muttlib.c:768 ++#: muttlib.c:766 + msgid "File under directory: " + msgstr "Dosyayı dizin altına kaydet: " + +-#: muttlib.c:781 ++#: muttlib.c:779 + msgid "File exists, (o)verwrite, (a)ppend, or (c)ancel?" + msgstr "Dosya zaten var, ü(s)tüne yaz, (e)kle, i(p)tal?" + + #. L10N: Options for: File exists, (o)verwrite, (a)ppend, or (c)ancel? +-#: muttlib.c:783 ++#: muttlib.c:781 + msgid "oac" + msgstr "sep" + +-#: muttlib.c:1458 ++#: muttlib.c:1456 + msgid "Can't save message to POP mailbox" + msgstr "İleti POP eposta kutusuna kaydedilemiyor" + +-#: muttlib.c:1468 ++#: muttlib.c:1466 + #, c-format + msgid "Append messages to %s?" + msgstr "İletiler %s sonuna eklensin mi?" + +-#: muttlib.c:1481 ++#: muttlib.c:1479 + #, fuzzy + msgid "Can't save message to news server" + msgstr "POP sunucusundaki iletiler düzenlenemez" + +-#. L10N: Example: Username at myhost.com +-#: mutt_account.c:233 +-#, c-format +-msgid "Username at %s: " +-msgstr "%s makinesindeki kullanıcı adı: " +- +-#: mutt_account.c:315 +-#, c-format +-msgid "Password for %s@%s: " +-msgstr "%s@%s için parola: " +- +-#. L10N: You will see this error message if (1) you have "oauthbearer" in +-#. one of your $*_authenticators and (2) you do not have the corresponding +-#. $*_oauth_refresh_command defined. So the message does not mean "None of +-#. your $*_oauth_refresh_command's are defined." +-#: mutt_account.c:383 +-#, fuzzy +-msgid "No OAUTH refresh command defined" +-msgstr "Sorgulama komutu tanımlanmadı" +- +-#: mutt_account.c:390 +-msgid "Unable to run refresh command" +-msgstr "" +- +-#: mutt_account.c:400 +-msgid "Command returned empty string" +-msgstr "" +- +-#: mutt_attach.c:140 mutt_attach.c:274 mutt_attach.c:459 mutt_attach.c:1054 ++#: mutt_attach.c:142 mutt_attach.c:276 mutt_attach.c:488 mutt_attach.c:1087 + msgid "Can't match 'nametemplate', continue?" + msgstr "İsim şablonuna uymuyor, devam edilsin mi?" + +-#: mutt_attach.c:150 ++#: mutt_attach.c:152 + #, c-format + msgid "Mailcap compose entry requires %%s" + msgstr "Mailcap düzenleme birimi %%s gerektiriyor" + +-#: mutt_attach.c:168 ++#: mutt_attach.c:170 + msgid "Failure to open file to parse headers" + msgstr "Başlıkları taramaya yönelik dosya açma girişimi başarısız oldu" + +-#: mutt_attach.c:202 ++#: mutt_attach.c:204 + msgid "Failure to open file to strip headers" + msgstr "Başlıkları ayırmaya yönelik dosya açma girişimi başarısız oldu" + +-#: mutt_attach.c:212 ++#: mutt_attach.c:214 + msgid "Failure to rename file" + msgstr "Dosya ismi değiştirilemedi" + +-#: mutt_attach.c:222 ++#: mutt_attach.c:224 + #, c-format + msgid "No mailcap compose entry for %s, creating empty file" + msgstr "%s için mailcap yazma birimi yok, boş dosya yaratılıyor" + +-#: mutt_attach.c:284 ++#: mutt_attach.c:286 + #, c-format + msgid "Mailcap Edit entry requires %%s" + msgstr "Mailcap düzenleme birimi %%s gerektiriyor" + +-#: mutt_attach.c:305 ++#: mutt_attach.c:307 + #, c-format + msgid "No mailcap edit entry for %s" + msgstr "%s için mailcap düzenleme birimi yok" + +-#: mutt_attach.c:427 ++#: mutt_attach.c:456 + msgid "No matching mailcap entry found. Viewing as text." + msgstr "Uygun mailcap kaydı bulunamadı. Metin olarak gösteriliyor." + +-#: mutt_attach.c:440 ++#: mutt_attach.c:469 + msgid "MIME type not defined. Can't view attachment." + msgstr "MIME tipi belirlenmemiş. Ek gösterilemiyor." + +-#: mutt_attach.c:535 ++#: mutt_attach.c:563 + #, c-format + msgid "---Command: %-20.20s Description: %s" + msgstr "---Komut: %-20.20s Tanım: %s" + +-#: mutt_attach.c:540 ++#: mutt_attach.c:568 + #, c-format + msgid "---Command: %-30.30s Attachment: %s" + msgstr "---Komut: %-30.30s Ek: %s" + +-#: mutt_attach.c:619 ++#: mutt_attach.c:652 + #, c-format + msgid "---Attachment: %s: %s" + msgstr "-- Ek: %s: %s" + +-#: mutt_attach.c:621 ++#: mutt_attach.c:654 + #, c-format + msgid "---Attachment: %s" + msgstr "---Ek: %s" + +-#: mutt_attach.c:902 mutt_attach.c:910 ++#: mutt_attach.c:935 mutt_attach.c:943 + msgid "Write fault" + msgstr "Yazma hatası" + +-#: mutt_attach.c:1174 ++#: mutt_attach.c:1207 + msgid "I don't know how to print that" + msgstr "Bu ekin nasıl yazdırılacağı bilinmiyor" + +-#: mutt_history.c:47 query.c:84 ++#: mutt_history.c:47 query.c:82 + msgid "Search" + msgstr "Ara" + +@@ -3581,21 +3658,21 @@ msgstr "Ara" + msgid "History '%s'" + msgstr "Geçmiş '%s'" + +-#: mutt_logging.c:315 ++#: mutt_logging.c:313 + #, fuzzy, c-format + msgid "Invalid value for option %s: %ld" + msgstr "Geçersiz ay günü: %s" + +-#: mutt_lua.c:429 ++#: mutt_lua.c:431 + msgid "Error: Couldn't load the lua interpreter" + msgstr "" + +-#: mutt_lua.c:491 ++#: mutt_lua.c:493 + #, fuzzy, c-format + msgid "Couldn't source lua source: %s" + msgstr "%s kilitlenemedi\n" + +-#: mutt_mailbox.c:214 ++#: mutt_mailbox.c:241 + msgid "New mail in " + msgstr "Yeni posta: " + +@@ -3617,20 +3694,20 @@ msgstr "Sınırlandırılmış görünümde ana ileti görünemez" + msgid "Parent message is not visible in this limited view" + msgstr "Sınırlandırılmış görünümde ana ileti görünemez" + +-#: mx.c:387 ++#: mx.c:385 + #, fuzzy, c-format + msgid "Reading from %s interrupted..." + msgstr "Arama iptal edildi." + + #. L10N: Displayed if a mailbox sync fails +-#: mx.c:468 ++#: mx.c:469 + #, fuzzy, c-format + msgid "Unable to write %s" + msgstr "%s eklenemedi" + + #. L10N: Although we know the precise number of messages, we do not show it to the user. + #. So feel free to use a "generic plural" as plural translation if your language has one. +-#: mx.c:523 ++#: mx.c:525 + #, fuzzy + msgid "message not deleted" + msgid_plural "messages not deleted" +@@ -3642,69 +3719,69 @@ msgstr[1] "%d ileti silinmek için işaretlendi..." + msgid "Can't open trash folder" + msgstr "%s dizinine eklenemiyor" + +-#: mx.c:623 ++#: mx.c:627 + msgid "Mark all articles read?" + msgstr "" + + #. L10N: The first argument is the number of read messages to be + #. moved, the second argument is the target mailbox. +-#: mx.c:671 ++#: mx.c:675 + #, fuzzy, c-format + msgid "Move %d read message to %s?" + msgid_plural "Move %d read messages to %s?" + msgstr[0] "Okunan iletiler %s eposta kutusuna taşınsın mı?" + msgstr[1] "Okunan iletiler %s eposta kutusuna taşınsın mı?" + +-#: mx.c:685 mx.c:917 ++#: mx.c:689 mx.c:936 + #, fuzzy, c-format + msgid "Purge %d deleted message?" + msgid_plural "Purge %d deleted messages?" + msgstr[0] "Silmek için işaretlenmiş %d ileti silinsin mi?" + msgstr[1] "Silmek için işaretlenmiş %d ileti silinsin mi?" + +-#: mx.c:708 ++#: mx.c:712 + #, c-format + msgid "Moving read messages to %s..." + msgstr "Okunan iletiler %s eposta kutusuna taşınıyor..." + +-#: mx.c:774 mx.c:908 ++#: mx.c:783 mx.c:927 + msgid "Mailbox is unchanged" + msgstr "Eposta kutusunda değişiklik yok" + +-#: mx.c:827 ++#: mx.c:842 + #, c-format + msgid "%d kept, %d moved, %d deleted" + msgstr "%d kaldı, %d taşındı, %d silindi" + +-#: mx.c:831 mx.c:972 ++#: mx.c:846 mx.c:991 + #, c-format + msgid "%d kept, %d deleted" + msgstr "%d kaldı, %d silindi" + +-#: mx.c:892 ++#: mx.c:911 + #, c-format + msgid " Press '%s' to toggle write" + msgstr " Yazılabilir yapmak için '%s' tuşuna basınız" + +-#: mx.c:894 ++#: mx.c:913 + msgid "Use 'toggle-write' to re-enable write" + msgstr "'toggle-write' komutunu kullanarak tekrar yazılabilir yapabilirsiniz" + +-#: mx.c:896 ++#: mx.c:915 + #, c-format + msgid "Mailbox is marked unwritable. %s" + msgstr "Eposta kutusu yazılamaz yapıldı. %s" + +-#: mx.c:966 ++#: mx.c:985 + msgid "Mailbox checkpointed" + msgstr "Eposta kutusu denetlendi" + +-#: ncrypt/crypt.c:93 ++#: ncrypt/crypt.c:91 + #, c-format + msgid " (current time: %c)" + msgstr " (şu anki tarih: %c)" + +-#: ncrypt/crypt.c:98 ++#: ncrypt/crypt.c:96 + #, c-format + msgid "[-- %s output follows%s --]\n" + msgstr "[-- %s çıktısı%s --]\n" +@@ -3713,55 +3790,55 @@ msgstr "[-- %s çıktısı%s --]\n" + #. by gpg-agent) we can't know whether we forgot zero, 1, 12, ... + #. passwords. So in English we use "Passphrases". Your language might + #. have other means to express this. +-#: ncrypt/crypt.c:119 ++#: ncrypt/crypt.c:117 + #, fuzzy + msgid "Passphrases forgotten" + msgstr "PGP parolası/parolaları unutuldu" + +-#: ncrypt/crypt.c:203 ++#: ncrypt/crypt.c:201 + #, fuzzy + msgid "Inline PGP can't be used with attachments. Revert to PGP/MIME?" + msgstr "İleti satıriçi olarak gönderilemiyor. PGP/MIME kullanımına geri dönülsün mü?" + +-#: ncrypt/crypt.c:207 ++#: ncrypt/crypt.c:205 + msgid "Mail not sent: inline PGP can't be used with attachments" + msgstr "" + +-#: ncrypt/crypt.c:214 ++#: ncrypt/crypt.c:212 + #, fuzzy + msgid "Inline PGP can't be used with format=flowed. Revert to PGP/MIME?" + msgstr "İleti satıriçi olarak gönderilemiyor. PGP/MIME kullanımına geri dönülsün mü?" + +-#: ncrypt/crypt.c:218 ++#: ncrypt/crypt.c:216 + msgid "Mail not sent: inline PGP can't be used with format=flowed" + msgstr "" + +-#: ncrypt/crypt.c:228 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:714 +-#: ncrypt/pgpkey.c:915 ++#: ncrypt/crypt.c:226 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:747 ++#: ncrypt/pgpkey.c:950 + msgid "Invoking PGP..." + msgstr "PGP çağırılıyor..." + +-#: ncrypt/crypt.c:240 ++#: ncrypt/crypt.c:238 + msgid "Message can't be sent inline. Revert to using PGP/MIME?" + msgstr "İleti satıriçi olarak gönderilemiyor. PGP/MIME kullanımına geri dönülsün mü?" + +-#: ncrypt/crypt.c:242 send.c:2430 ++#: ncrypt/crypt.c:240 send.c:2441 + msgid "Mail not sent" + msgstr "Eposta gönderilmedi" + +-#: ncrypt/crypt.c:662 ++#: ncrypt/crypt.c:666 + msgid "S/MIME messages with no hints on content are unsupported" + msgstr "İçeriği hakkında hiçbir bilginin bulunmadığı S/MIME iletilerinin gönderilmesi desteklenmiyor" + +-#: ncrypt/crypt.c:888 ++#: ncrypt/crypt.c:892 + msgid "Trying to extract PGP keys...\n" + msgstr "PGP anahtarları belirlenmeye çalışılıyor...\n" + +-#: ncrypt/crypt.c:917 ++#: ncrypt/crypt.c:921 + msgid "Trying to extract S/MIME certificates..." + msgstr "S/MIME sertifikaları belirlenmeye çalışılıyor..." + +-#: ncrypt/crypt.c:1140 ++#: ncrypt/crypt.c:1144 + #, c-format + msgid "" + "[-- Error: Unknown multipart/signed protocol %s --]\n" +@@ -3770,7 +3847,7 @@ msgstr "" + "[-- Hata: Bilinmeyen \"multipart/signed\" protokolü %s --]\n" + "\n" + +-#: ncrypt/crypt.c:1180 ++#: ncrypt/crypt.c:1184 + #, fuzzy + msgid "" + "[-- Error: Missing or bad-format multipart/signed signature --]\n" +@@ -3779,7 +3856,7 @@ msgstr "" + "[-- Hata: Tutarsız \"multipart/signed\" yapısı --]\n" + "\n" + +-#: ncrypt/crypt.c:1222 ++#: ncrypt/crypt.c:1226 + #, c-format + msgid "" + "[-- Warning: We can't verify %s/%s signatures. --]\n" +@@ -3788,7 +3865,7 @@ msgstr "" + "[-- Uyarı: %s/%s imzaları doğrulanamıyor. --]\n" + "\n" + +-#: ncrypt/crypt.c:1235 ++#: ncrypt/crypt.c:1239 + msgid "" + "[-- The following data is signed --]\n" + "\n" +@@ -3796,7 +3873,7 @@ msgstr "" + "[-- Aşağıdaki bilgi imzalanmıştır --]\n" + "\n" + +-#: ncrypt/crypt.c:1243 ++#: ncrypt/crypt.c:1248 + msgid "" + "[-- Warning: Can't find any signatures. --]\n" + "\n" +@@ -3804,7 +3881,7 @@ msgstr "" + "[-- Uyarı: Herhangi bir imza bulunamıyor. --]\n" + "\n" + +-#: ncrypt/crypt.c:1249 ++#: ncrypt/crypt.c:1255 + msgid "" + "\n" + "[-- End of signed data --]\n" +@@ -3824,236 +3901,236 @@ msgstr "S/MIME çağırılıyor..." + #. L10N: The following are the headers for the "verify key" output from the + #. GPGME key selection menu (bound to "c" in the key selection menu). + #. They will be automatically aligned. +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Name: " + msgstr "Ad: " + +-#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1869 ncrypt/crypt_gpgme.c:1874 ++#: ncrypt/crypt_gpgme.c:183 ncrypt/crypt_gpgme.c:1900 ncrypt/crypt_gpgme.c:1905 + msgid "aka: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Valid From: " + msgstr "Geçerlilik Başlangıcı: " + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Valid To: " + msgstr "Geçerlilik Sonu: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Key Type: " + msgstr "Anahtar Tipi: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Key Usage: " + msgstr "Anahtar Kullanımı: " + +-#: ncrypt/crypt_gpgme.c:185 ncrypt/crypt_gpgme.c:1759 ++#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1790 + msgid "Fingerprint: " + msgstr "Parmak izi: %s" + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + #, fuzzy + msgid "Serial-No: " + msgstr "Seri-No: " + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + msgid "Issued By: " + msgstr "Yayıncı: " + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + msgid "Subkey: " + msgstr "Yardımcı anahtarı: " + +-#: ncrypt/crypt_gpgme.c:783 ++#: ncrypt/crypt_gpgme.c:782 + #, c-format + msgid "error enabling CMS protocol: %s" + msgstr "CMS protokolü etkinleştirilirken hata: %s" + +-#: ncrypt/crypt_gpgme.c:806 ++#: ncrypt/crypt_gpgme.c:805 + #, c-format + msgid "error creating gpgme data object: %s" + msgstr "gpgme veri nesnesi oluşturulurken hata: %s" + +-#: ncrypt/crypt_gpgme.c:907 ncrypt/crypt_gpgme.c:934 ncrypt/crypt_gpgme.c:2057 +-#: ncrypt/crypt_gpgme.c:2814 ++#: ncrypt/crypt_gpgme.c:906 ncrypt/crypt_gpgme.c:933 ncrypt/crypt_gpgme.c:2096 ++#: ncrypt/crypt_gpgme.c:2853 + #, c-format + msgid "error allocating data object: %s" + msgstr "veri nesnesi için bellek ayrılırken hata: %s" + +-#: ncrypt/crypt_gpgme.c:956 ++#: ncrypt/crypt_gpgme.c:955 + #, c-format + msgid "error rewinding data object: %s" + msgstr "veri nesnesi konumlanırken hata: %s" + +-#: ncrypt/crypt_gpgme.c:972 ++#: ncrypt/crypt_gpgme.c:971 + msgid "[tempfile]" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:978 ncrypt/crypt_gpgme.c:1032 ++#: ncrypt/crypt_gpgme.c:977 ncrypt/crypt_gpgme.c:1031 + #, c-format + msgid "error reading data object: %s" + msgstr "veri nesnesi okunurken hata: %s" + +-#: ncrypt/crypt_gpgme.c:1149 ++#: ncrypt/crypt_gpgme.c:1148 + #, fuzzy, c-format + msgid "error adding recipient '%s': %s" + msgstr "'%s' alıcısı eklenirken hata: %s" + +-#: ncrypt/crypt_gpgme.c:1202 ++#: ncrypt/crypt_gpgme.c:1186 + #, c-format + msgid "secret key '%s' not found: %s" + msgstr "'%s' gizli anahtarı bulunamadı: %s" + +-#: ncrypt/crypt_gpgme.c:1218 ++#: ncrypt/crypt_gpgme.c:1203 + #, fuzzy, c-format + msgid "ambiguous specification of secret key '%s'\n" + msgstr "'%s' gizli anahtarının özellikleri belirsiz" + +-#: ncrypt/crypt_gpgme.c:1234 ++#: ncrypt/crypt_gpgme.c:1219 + #, c-format + msgid "error setting secret key '%s': %s" + msgstr "'%s' gizli anahtarı ayarlanırken hata: %s" + +-#: ncrypt/crypt_gpgme.c:1250 ++#: ncrypt/crypt_gpgme.c:1278 + #, fuzzy, c-format + msgid "error setting PKA signature notation: %s" + msgstr "Anahtar bilgisi alınırken hata: " + +-#: ncrypt/crypt_gpgme.c:1324 ++#: ncrypt/crypt_gpgme.c:1353 + #, c-format + msgid "error encrypting data: %s" + msgstr "veri şifrelenirken hata: %s" + +-#: ncrypt/crypt_gpgme.c:1453 ++#: ncrypt/crypt_gpgme.c:1483 + #, c-format + msgid "error signing data: %s" + msgstr "veri imzalanırken hata: %s" + +-#: ncrypt/crypt_gpgme.c:1463 ++#: ncrypt/crypt_gpgme.c:1493 + msgid "$pgp_sign_as unset and no default key specified in ~/.gnupg/gpg.conf" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1641 ++#: ncrypt/crypt_gpgme.c:1672 + msgid "Warning: One of the keys has been revoked\n" + msgstr "Uyarı: Anahtarlardan biri hükümsüzleştirilmiş\n" + +-#: ncrypt/crypt_gpgme.c:1651 ++#: ncrypt/crypt_gpgme.c:1682 + msgid "Warning: The key used to create the signature expired at: " + msgstr "Uyarı: İmzalamada kullanılan anahtarın süresi dolmuş, son kullanma tarihi: " + +-#: ncrypt/crypt_gpgme.c:1657 ++#: ncrypt/crypt_gpgme.c:1688 + msgid "Warning: At least one certification key has expired\n" + msgstr "Uyarı: Anahtarlardan en az birinin süresi dolmuş\n" + +-#: ncrypt/crypt_gpgme.c:1671 ++#: ncrypt/crypt_gpgme.c:1702 + msgid "Warning: The signature expired at: " + msgstr "Uyarı: İmza geçerliliğinin sona erdiği tarih: " + +-#: ncrypt/crypt_gpgme.c:1678 ++#: ncrypt/crypt_gpgme.c:1709 + msgid "Can't verify due to a missing key or certificate\n" + msgstr "Eksik bir anahtar veya sertifikadan dolayı doğrulama yapılamıyor\n" + +-#: ncrypt/crypt_gpgme.c:1683 ++#: ncrypt/crypt_gpgme.c:1714 + msgid "The CRL is not available\n" + msgstr "CRL mevcut değil\n" + +-#: ncrypt/crypt_gpgme.c:1689 ++#: ncrypt/crypt_gpgme.c:1720 + msgid "Available CRL is too old\n" + msgstr "Mevcut CRL çok eski\n" + +-#: ncrypt/crypt_gpgme.c:1694 ++#: ncrypt/crypt_gpgme.c:1725 + msgid "A policy requirement was not met\n" + msgstr "Kullanım şartlarına aykırı bir durumla karşılaşıldı\n" + +-#: ncrypt/crypt_gpgme.c:1703 ++#: ncrypt/crypt_gpgme.c:1734 + msgid "A system error occurred" + msgstr "Bir sistem hatası oluştu" + +-#: ncrypt/crypt_gpgme.c:1734 ++#: ncrypt/crypt_gpgme.c:1765 + #, fuzzy + msgid "WARNING: PKA entry does not match signer's address: " + msgstr "UYARI: Sunucu makine adı ile sertifika uyuşmuyor" + +-#: ncrypt/crypt_gpgme.c:1740 ++#: ncrypt/crypt_gpgme.c:1771 + msgid "PKA verified signer's address is: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1822 ++#: ncrypt/crypt_gpgme.c:1853 + msgid "WARNING: We have NO indication whether the key belongs to the person named as shown above\n" + msgstr "UYARI: Anahtarın yukarıda gösterilen isimdeki kişiye ait olduğuna dair HİÇ BİR belirti yok\n" + +-#: ncrypt/crypt_gpgme.c:1829 ++#: ncrypt/crypt_gpgme.c:1860 + msgid "WARNING: The key does NOT BELONG to the person named as shown above\n" + msgstr "UYARI: Anahtar yukarıda gösterilen isimdeki kişiye ait DEĞİL\n" + +-#: ncrypt/crypt_gpgme.c:1833 ++#: ncrypt/crypt_gpgme.c:1864 + msgid "WARNING: It is NOT certain that the key belongs to the person named as shown above\n" + msgstr "UYARI: Anahtarın yukarıda gösterilen isimdeki kişiye ait olduğu kesin DEĞİL\n" + +-#: ncrypt/crypt_gpgme.c:1886 ++#: ncrypt/crypt_gpgme.c:1917 + msgid "KeyID " + msgstr "" + + #. L10N: You will see this message in place of "KeyID " + #. if the S/MIME key has no ID. This is quite an error. +-#: ncrypt/crypt_gpgme.c:1893 ++#: ncrypt/crypt_gpgme.c:1924 + msgid "no signature fingerprint available" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1902 ncrypt/crypt_gpgme.c:1907 ++#: ncrypt/crypt_gpgme.c:1933 ncrypt/crypt_gpgme.c:1938 + #, fuzzy + msgid "created: " + msgstr "%s yaratılsın mı?" + +-#: ncrypt/crypt_gpgme.c:1981 ++#: ncrypt/crypt_gpgme.c:2012 + #, fuzzy, c-format + msgid "Error getting key information for KeyID %s: %s\n" + msgstr "Anahtar bilgisi alınırken hata: " + +-#: ncrypt/crypt_gpgme.c:1988 ncrypt/crypt_gpgme.c:2003 ++#: ncrypt/crypt_gpgme.c:2019 ncrypt/crypt_gpgme.c:2034 + #, fuzzy + msgid "Good signature from:" + msgstr "İyi imza:" + +-#: ncrypt/crypt_gpgme.c:1995 ++#: ncrypt/crypt_gpgme.c:2026 + #, fuzzy + msgid "*BAD* signature from:" + msgstr "*KÖTÜ* imza:" + +-#: ncrypt/crypt_gpgme.c:2011 ++#: ncrypt/crypt_gpgme.c:2042 + #, fuzzy + msgid "Problem signature from:" + msgstr "İmzayla hata var:" + + #. L10N: This is trying to match the width of the + #. "Problem signature from:" translation just above. +-#: ncrypt/crypt_gpgme.c:2017 ++#: ncrypt/crypt_gpgme.c:2048 + #, fuzzy + msgid " expires: " + msgstr " süresi dolacak: " + +-#: ncrypt/crypt_gpgme.c:2064 ncrypt/crypt_gpgme.c:2294 +-#: ncrypt/crypt_gpgme.c:3081 ++#: ncrypt/crypt_gpgme.c:2103 ncrypt/crypt_gpgme.c:2333 ++#: ncrypt/crypt_gpgme.c:3124 + msgid "[-- Begin signature information --]\n" + msgstr "[-- İmza bilgisi başlangıcı --]\n" + +-#: ncrypt/crypt_gpgme.c:2075 ++#: ncrypt/crypt_gpgme.c:2114 + #, c-format + msgid "Error: verification failed: %s\n" + msgstr "Hata: doğrulama başarısız: %s\n" + +-#: ncrypt/crypt_gpgme.c:2126 ++#: ncrypt/crypt_gpgme.c:2165 + #, c-format + msgid "*** Begin Notation (signature by: %s) ***\n" + msgstr "*** Gösterim başlangıcı (%s tarafından imzalanmış) ***\n" + +-#: ncrypt/crypt_gpgme.c:2145 ++#: ncrypt/crypt_gpgme.c:2184 + msgid "*** End Notation ***\n" + msgstr "*** Gösterim sonu ***\n" + +-#: ncrypt/crypt_gpgme.c:2153 ncrypt/crypt_gpgme.c:2308 +-#: ncrypt/crypt_gpgme.c:3091 ++#: ncrypt/crypt_gpgme.c:2192 ncrypt/crypt_gpgme.c:2347 ++#: ncrypt/crypt_gpgme.c:3134 + msgid "" + "[-- End signature information --]\n" + "\n" +@@ -4061,7 +4138,7 @@ msgstr "" + "[-- İmza bilgisi sonu --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:2268 ++#: ncrypt/crypt_gpgme.c:2307 + #, c-format + msgid "" + "[-- Error: decryption failed: %s --]\n" +@@ -4070,21 +4147,26 @@ msgstr "" + "[-- Hata: şifre çözülemedi: %s --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:2821 ++#: ncrypt/crypt_gpgme.c:2860 + #, fuzzy, c-format + msgid "Error importing key: %s" + msgstr "Anahtar bilgisi alınırken hata: " + +-#: ncrypt/crypt_gpgme.c:3059 ++#: ncrypt/crypt_gpgme.c:3098 + #, c-format + msgid "Error: decryption/verification failed: %s\n" + msgstr "Hata: şifre çözümü/doğrulaması başarısız: %s\n" + +-#: ncrypt/crypt_gpgme.c:3103 ++#: ncrypt/crypt_gpgme.c:3105 ncrypt/crypt_gpgme.c:3302 ncrypt/pgp.c:726 ++#: ncrypt/pgp.c:1273 ++msgid "PGP message successfully decrypted" ++msgstr "Şifrelenmiş PGP iletisi başarıyla çözüldü" ++ ++#: ncrypt/crypt_gpgme.c:3146 + msgid "Error: copy data failed\n" + msgstr "Hata: veri kopyalaması başarısız\n" + +-#: ncrypt/crypt_gpgme.c:3116 ncrypt/pgp.c:675 ++#: ncrypt/crypt_gpgme.c:3159 ncrypt/pgp.c:674 + msgid "" + "[-- BEGIN PGP MESSAGE --]\n" + "\n" +@@ -4092,11 +4174,11 @@ msgstr "" + "[-- PGP İLETİSİ BAŞLANGICI --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3118 ncrypt/pgp.c:677 ++#: ncrypt/crypt_gpgme.c:3161 ncrypt/pgp.c:676 + msgid "[-- BEGIN PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- PGP GENEL ANAHTAR BÖLÜMÜ BAŞLANGICI --]\n" + +-#: ncrypt/crypt_gpgme.c:3120 ncrypt/pgp.c:679 ++#: ncrypt/crypt_gpgme.c:3163 ncrypt/pgp.c:678 + msgid "" + "[-- BEGIN PGP SIGNED MESSAGE --]\n" + "\n" +@@ -4104,19 +4186,19 @@ msgstr "" + "[-- İMZALANMIŞ PGP İLETİSİ BAŞLANGICI --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3145 ncrypt/pgp.c:716 ++#: ncrypt/crypt_gpgme.c:3188 ncrypt/pgp.c:715 + msgid "[-- END PGP MESSAGE --]\n" + msgstr "[-- PGP İLETİSİ SONU --]\n" + +-#: ncrypt/crypt_gpgme.c:3147 ncrypt/pgp.c:730 ++#: ncrypt/crypt_gpgme.c:3190 ncrypt/pgp.c:729 + msgid "[-- END PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- PGP GENEL ANAHTAR BÖLÜMÜ SONU --]\n" + +-#: ncrypt/crypt_gpgme.c:3149 ncrypt/pgp.c:732 ++#: ncrypt/crypt_gpgme.c:3192 ncrypt/pgp.c:731 + msgid "[-- END PGP SIGNED MESSAGE --]\n" + msgstr "[-- İMZALANMIŞ PGP İLETİSİ SONU --]\n" + +-#: ncrypt/crypt_gpgme.c:3170 ncrypt/pgp.c:765 ++#: ncrypt/crypt_gpgme.c:3213 ncrypt/pgp.c:764 + msgid "" + "[-- Error: could not find beginning of PGP message --]\n" + "\n" +@@ -4124,11 +4206,11 @@ msgstr "" + "[-- Hata: PGP iletisinin başlangıcı bulunamadı --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3198 ncrypt/crypt_gpgme.c:3296 ncrypt/pgp.c:1218 ++#: ncrypt/crypt_gpgme.c:3241 ncrypt/crypt_gpgme.c:3339 ncrypt/pgp.c:1218 + msgid "[-- Error: could not create temporary file --]\n" + msgstr "[-- Hata: geçici dosya yaratılamadı --]\n" + +-#: ncrypt/crypt_gpgme.c:3212 ++#: ncrypt/crypt_gpgme.c:3255 + msgid "" + "[-- The following data is PGP/MIME signed and encrypted --]\n" + "\n" +@@ -4136,7 +4218,7 @@ msgstr "" + "[-- Aşağıdaki bilgi PGP/MIME ile imzalanmış ve şifrelenmiştir --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3214 ncrypt/pgp.c:1231 ++#: ncrypt/crypt_gpgme.c:3257 ncrypt/pgp.c:1232 + msgid "" + "[-- The following data is PGP/MIME encrypted --]\n" + "\n" +@@ -4144,24 +4226,20 @@ msgstr "" + "[-- Aşağıdaki bilgi PGP/MIME ile şifrelenmiştir --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3254 ++#: ncrypt/crypt_gpgme.c:3297 + msgid "[-- End of PGP/MIME signed and encrypted data --]\n" + msgstr "[-- PGP/MIME ile imzalanmış ve şifrelenmiş bilginin sonu --]\n" + +-#: ncrypt/crypt_gpgme.c:3255 ncrypt/pgp.c:1267 ++#: ncrypt/crypt_gpgme.c:3298 ncrypt/pgp.c:1268 + msgid "[-- End of PGP/MIME encrypted data --]\n" + msgstr "[-- PGP/MIME ile şifrelenmiş bilginin sonu --]\n" + +-#: ncrypt/crypt_gpgme.c:3259 ncrypt/pgp.c:727 ncrypt/pgp.c:1272 +-msgid "PGP message successfully decrypted" +-msgstr "Şifrelenmiş PGP iletisi başarıyla çözüldü" +- +-#: ncrypt/crypt_gpgme.c:3265 ncrypt/pgp.c:666 ncrypt/pgp.c:718 +-#: ncrypt/pgp.c:1276 ++#: ncrypt/crypt_gpgme.c:3308 ncrypt/pgp.c:665 ncrypt/pgp.c:717 ++#: ncrypt/pgp.c:1277 + msgid "Could not decrypt PGP message" + msgstr "Şifrelenmiş PGP iletisi çözülemedi" + +-#: ncrypt/crypt_gpgme.c:3310 ++#: ncrypt/crypt_gpgme.c:3353 + msgid "" + "[-- The following data is S/MIME signed --]\n" + "\n" +@@ -4169,7 +4247,7 @@ msgstr "" + "[-- Aşağıdaki bilgi S/MIME ile imzalanmıştır --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3311 ++#: ncrypt/crypt_gpgme.c:3354 + msgid "" + "[-- The following data is S/MIME encrypted --]\n" + "\n" +@@ -4177,34 +4255,34 @@ msgstr "" + "[-- Aşağıdaki bilgi S/MIME ile şifrelenmiştir --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3358 ++#: ncrypt/crypt_gpgme.c:3401 + msgid "[-- End of S/MIME signed data --]\n" + msgstr "[-- S/MIME ile imzalanmış bilginin sonu --]\n" + +-#: ncrypt/crypt_gpgme.c:3359 ++#: ncrypt/crypt_gpgme.c:3402 + msgid "[-- End of S/MIME encrypted data --]\n" + msgstr "[-- S/MIME ile şifrelenmiş bilginin sonu --]\n" + +-#: ncrypt/crypt_gpgme.c:4029 ++#: ncrypt/crypt_gpgme.c:4077 + msgid "[Can't display this user ID (unknown encoding)]" + msgstr "[Bu kullanıcının kimliği görüntülenemiyor (bilinmeyen kodlama)]" + +-#: ncrypt/crypt_gpgme.c:4031 ++#: ncrypt/crypt_gpgme.c:4079 + msgid "[Can't display this user ID (invalid encoding)]" + msgstr "[Bu kullanıcının kimliği görüntülenemiyor (geçersiz kodlama)]" + +-#: ncrypt/crypt_gpgme.c:4036 ++#: ncrypt/crypt_gpgme.c:4084 + msgid "[Can't display this user ID (invalid DN)]" + msgstr "[Bu kullanıcının kimliği görüntülenemiyor (geçersiz DN)]" + + #. L10N: comes after the Name or aka if the key is invalid + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4150 ncrypt/crypt_gpgme.c:4291 ++#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4339 + msgid "[Invalid]" + msgstr "[Geçersiz]" + + #. L10N: This is printed after "Key Type: " and looks like this: PGP, 2048 bit RSA +-#: ncrypt/crypt_gpgme.c:4190 ncrypt/crypt_gpgme.c:4331 ++#: ncrypt/crypt_gpgme.c:4238 ncrypt/crypt_gpgme.c:4379 + #, c-format + msgid "%s, %lu bit %s\n" + msgid_plural "%s, %lu bit %s\n" +@@ -4212,95 +4290,95 @@ msgstr[0] "" + msgstr[1] "" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4338 ++#: ncrypt/crypt_gpgme.c:4246 ncrypt/crypt_gpgme.c:4386 + msgid "encryption" + msgstr "şifreleme" + +-#: ncrypt/crypt_gpgme.c:4199 ncrypt/crypt_gpgme.c:4205 +-#: ncrypt/crypt_gpgme.c:4339 ncrypt/crypt_gpgme.c:4344 ++#: ncrypt/crypt_gpgme.c:4247 ncrypt/crypt_gpgme.c:4253 ++#: ncrypt/crypt_gpgme.c:4387 ncrypt/crypt_gpgme.c:4392 + msgid ", " + msgstr ", " + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4204 ncrypt/crypt_gpgme.c:4343 ++#: ncrypt/crypt_gpgme.c:4252 ncrypt/crypt_gpgme.c:4391 + msgid "signing" + msgstr "imza" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4210 ncrypt/crypt_gpgme.c:4348 ++#: ncrypt/crypt_gpgme.c:4258 ncrypt/crypt_gpgme.c:4396 + msgid "certification" + msgstr "sertifikasyon" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4285 ++#: ncrypt/crypt_gpgme.c:4333 + msgid "[Revoked]" + msgstr "[Hükümsüz]" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4297 ++#: ncrypt/crypt_gpgme.c:4345 + msgid "[Expired]" + msgstr "[Süresi Dolmuş]" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4303 ++#: ncrypt/crypt_gpgme.c:4351 + msgid "[Disabled]" + msgstr "[Etkin Değil]" + +-#: ncrypt/crypt_gpgme.c:4376 ++#: ncrypt/crypt_gpgme.c:4424 + msgid "Collecting data..." + msgstr "Veri toplanıyor..." + +-#: ncrypt/crypt_gpgme.c:4394 ++#: ncrypt/crypt_gpgme.c:4442 + #, c-format + msgid "Error finding issuer key: %s\n" + msgstr "Yayımcının anahtarı bulunamadı: %s\n" + +-#: ncrypt/crypt_gpgme.c:4403 ++#: ncrypt/crypt_gpgme.c:4451 + #, fuzzy + msgid "Error: certification chain too long - stopping here\n" + msgstr "Hata: sertifika zinciri çok uzun - burada duruldu\n" + +-#: ncrypt/crypt_gpgme.c:4413 ncrypt/pgpkey.c:733 ++#: ncrypt/crypt_gpgme.c:4461 ncrypt/pgpkey.c:766 + #, c-format + msgid "Key ID: 0x%s" + msgstr "Anahtar kimliği: 0x%s" + +-#: ncrypt/crypt_gpgme.c:4538 ncrypt/crypt_gpgme.c:4589 ++#: ncrypt/crypt_gpgme.c:4586 ncrypt/crypt_gpgme.c:4637 + #, c-format + msgid "gpgme_op_keylist_start failed: %s" + msgstr "gpgme_op_keylist_start başarısız: %s" + +-#: ncrypt/crypt_gpgme.c:4577 ncrypt/crypt_gpgme.c:4619 +-#: ncrypt/crypt_gpgme.c:5355 ++#: ncrypt/crypt_gpgme.c:4625 ncrypt/crypt_gpgme.c:4667 ++#: ncrypt/crypt_gpgme.c:5435 + #, c-format + msgid "gpgme_op_keylist_next failed: %s" + msgstr "gpgme_op_keylist_next başarısız: %s" + +-#: ncrypt/crypt_gpgme.c:4701 ++#: ncrypt/crypt_gpgme.c:4749 + msgid "All matching keys are marked expired/revoked" + msgstr "Bulunan bütün anahtarların süresi bitmiş veya hükümsüzleştirilmiş" + +-#: ncrypt/crypt_gpgme.c:4731 ncrypt/pgpkey.c:666 ncrypt/smime.c:551 ++#: ncrypt/crypt_gpgme.c:4779 ncrypt/pgpkey.c:669 ncrypt/smime.c:553 + msgid "Select " + msgstr "Seç " + +-#: ncrypt/crypt_gpgme.c:4733 ncrypt/pgpkey.c:668 ++#: ncrypt/crypt_gpgme.c:4781 ncrypt/pgpkey.c:671 + msgid "Check key " + msgstr "Anahtarı denetle " + +-#: ncrypt/crypt_gpgme.c:4749 ++#: ncrypt/crypt_gpgme.c:4827 + msgid "PGP and S/MIME keys matching" + msgstr "PGP ve S/MIME anahtarları uyuşuyor" + +-#: ncrypt/crypt_gpgme.c:4751 ++#: ncrypt/crypt_gpgme.c:4829 + msgid "PGP keys matching" + msgstr "PGP anahtarları uyuşuyor" + +-#: ncrypt/crypt_gpgme.c:4753 ++#: ncrypt/crypt_gpgme.c:4831 + msgid "S/MIME keys matching" + msgstr "S/MIME anahtarları uyuşuyor" + +-#: ncrypt/crypt_gpgme.c:4755 ++#: ncrypt/crypt_gpgme.c:4833 + msgid "keys matching" + msgstr "anahtarlar uyuşuyor" + +@@ -4308,59 +4386,59 @@ msgstr "anahtarlar uyuşuyor" + #. %1$s is one of the previous four entries. + #. %2$s is an address. + #. e.g. "S/MIME keys matching " +-#: ncrypt/crypt_gpgme.c:4763 ++#: ncrypt/crypt_gpgme.c:4841 + #, c-format + msgid "%s <%s>" + msgstr "%s <%s>" + + #. L10N: e.g. 'S/MIME keys matching "Michael Elkins".' +-#: ncrypt/crypt_gpgme.c:4768 ++#: ncrypt/crypt_gpgme.c:4846 + #, c-format + msgid "%s \"%s\"" + msgstr "%s \"%s\"" + +-#: ncrypt/crypt_gpgme.c:4796 ncrypt/pgpkey.c:754 ++#: ncrypt/crypt_gpgme.c:4874 ncrypt/pgpkey.c:787 + msgid "This key can't be used: expired/disabled/revoked" + msgstr "Bu anahtar kullanılamaz: süresi dolmuş/etkin değil/hükümsüz" + +-#: ncrypt/crypt_gpgme.c:4810 ncrypt/pgpkey.c:767 ncrypt/smime.c:581 ++#: ncrypt/crypt_gpgme.c:4888 ncrypt/pgpkey.c:800 ncrypt/smime.c:613 + #, fuzzy + msgid "ID is expired/disabled/revoked. Do you really want to use the key?" + msgstr "Kimlik (ID), süresi dolmuş/etkin değil/hükümsüz durumda. Gerçekten bu anahtarı kullanmak istiyor musunuz?" + +-#: ncrypt/crypt_gpgme.c:4820 ncrypt/pgpkey.c:779 ++#: ncrypt/crypt_gpgme.c:4898 ncrypt/pgpkey.c:812 + #, fuzzy + msgid "ID is not valid. Do you really want to use the key?" + msgstr "Kimlik (ID) geçerli değil. Gerçekten bu anahtarı kullanmak istiyor musunuz?" + +-#: ncrypt/crypt_gpgme.c:4823 ncrypt/pgpkey.c:782 ++#: ncrypt/crypt_gpgme.c:4901 ncrypt/pgpkey.c:815 + #, fuzzy + msgid "ID is only marginally valid. Do you really want to use the key?" + msgstr "Kimlik (ID) çok az güvenilir. Gerçekten bu anahtarı kullanmak istiyor musunuz?" + +-#: ncrypt/crypt_gpgme.c:4831 ncrypt/pgpkey.c:775 ncrypt/smime.c:585 ++#: ncrypt/crypt_gpgme.c:4909 ncrypt/pgpkey.c:808 ncrypt/smime.c:617 + #, fuzzy + msgid "ID has undefined validity. Do you really want to use the key?" + msgstr "Kimliğin (ID) geçerliliği belirsiz. Gerçekten bu anahtarı kullanmak istiyor musunuz?" + +-#: ncrypt/crypt_gpgme.c:4911 ncrypt/crypt_gpgme.c:5024 ncrypt/pgpkey.c:1019 +-#: ncrypt/pgpkey.c:1146 ++#: ncrypt/crypt_gpgme.c:4991 ncrypt/crypt_gpgme.c:5104 ncrypt/pgpkey.c:1054 ++#: ncrypt/pgpkey.c:1181 + #, c-format + msgid "Looking for keys matching \"%s\"..." + msgstr "\"%s\" tabirine uyan anahtarlar aranıyor..." + +-#: ncrypt/crypt_gpgme.c:5140 ncrypt/pgpkey.c:870 ncrypt/smime.c:924 ++#: ncrypt/crypt_gpgme.c:5220 ncrypt/pgpkey.c:905 ncrypt/smime.c:958 + #, c-format + msgid "No matching keys found for \"%s\"" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5190 ncrypt/pgp.c:1456 ++#: ncrypt/crypt_gpgme.c:5270 ncrypt/pgp.c:1457 + #, c-format + msgid "Use keyID = \"%s\" for %s?" + msgstr "%2$s için anahtar NO = \"%1$s\" kullanılsın mı?" + +-#: ncrypt/crypt_gpgme.c:5238 ncrypt/pgp.c:1505 ncrypt/smime.c:944 +-#: ncrypt/smime.c:1049 ++#: ncrypt/crypt_gpgme.c:5318 ncrypt/pgp.c:1506 ncrypt/smime.c:978 ++#: ncrypt/smime.c:1083 + #, c-format + msgid "Enter keyID for %s: " + msgstr "%s için anahtar NO'yu girin: " +@@ -4369,16 +4447,16 @@ msgstr "%s için anahtar NO'yu girin: " + #. mutt_gpgme_select_secret_key() tries to list all secret keys to choose + #. from. This error is displayed if no results were found. + #. +-#: ncrypt/crypt_gpgme.c:5364 ++#: ncrypt/crypt_gpgme.c:5444 + #, fuzzy + msgid "No secret keys found" + msgstr "'%s' gizli anahtarı bulunamadı: %s" + +-#: ncrypt/crypt_gpgme.c:5398 ncrypt/pgpkey.c:888 ++#: ncrypt/crypt_gpgme.c:5478 ncrypt/pgpkey.c:923 + msgid "Please enter the key ID: " + msgstr "Lütfen anahtar numarasını girin: " + +-#: ncrypt/crypt_gpgme.c:5411 ++#: ncrypt/crypt_gpgme.c:5491 + #, fuzzy, c-format + msgid "Error exporting key: %s" + msgstr "Anahtar bilgisi alınırken hata: " +@@ -4386,94 +4464,94 @@ msgstr "Anahtar bilgisi alınırken hata: " + #. 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. +-#: ncrypt/crypt_gpgme.c:5429 ++#: ncrypt/crypt_gpgme.c:5509 + #, c-format + msgid "PGP Key 0x%s" + msgstr "PGP anahtarı 0x%s" + +-#: ncrypt/crypt_gpgme.c:5474 ++#: ncrypt/crypt_gpgme.c:5554 + msgid "GPGME: OpenPGP protocol not available" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5485 ++#: ncrypt/crypt_gpgme.c:5565 + msgid "GPGME: CMS protocol not available" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5536 ++#: ncrypt/crypt_gpgme.c:5616 + #, fuzzy + msgid "S/MIME (s)ign, sign (a)s, (p)gp, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME i(m)zala, (f)arklı imzala, p(g)p, i(p)tal, veya (o)ppenc modu kapalı?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5538 ++#: ncrypt/crypt_gpgme.c:5618 + msgid "sapco" + msgstr "mfgpo" + +-#: ncrypt/crypt_gpgme.c:5545 ++#: ncrypt/crypt_gpgme.c:5625 + #, fuzzy + msgid "PGP (s)ign, sign (a)s, s/(m)ime, (c)lear, or (o)ppenc mode off?" + msgstr "PGP i(m)zala, (f)arklı imzala, (s)/mime, i(p)tal, veya (o)ppenc modu kapalı?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5547 ++#: ncrypt/crypt_gpgme.c:5627 + msgid "samco" + msgstr "mfspo" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5557 ++#: ncrypt/crypt_gpgme.c:5637 + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME şif(r)ele, i(m)zala, (f)arklı imzala, i(k)isi de, p(g)p, i(p)tal, veya (o)ppenc modu?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5560 ++#: ncrypt/crypt_gpgme.c:5640 + msgid "esabpco" + msgstr "rmfkgpo" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5566 ++#: ncrypt/crypt_gpgme.c:5646 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime, (c)lear, or (o)ppenc mode?" + msgstr "PGP şif(r)ele, i(m)zala, (f)arklı imzala, i(k)isi de, (s)/mime, i(p)tal, veya (o)ppenc modu?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5569 ++#: ncrypt/crypt_gpgme.c:5649 + msgid "esabmco" + msgstr "rmfkspo" + +-#: ncrypt/crypt_gpgme.c:5580 ++#: ncrypt/crypt_gpgme.c:5660 + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp or (c)lear?" + msgstr "S/MIME şif(r)ele, i(m)zala, (f)arklı imzala, i(k)isi de, p(g)p, i(p)tal?" + + #. L10N: S/MIME options +-#: ncrypt/crypt_gpgme.c:5582 ++#: ncrypt/crypt_gpgme.c:5662 + msgid "esabpc" + msgstr "rmfkgp" + +-#: ncrypt/crypt_gpgme.c:5589 ++#: ncrypt/crypt_gpgme.c:5669 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime or (c)lear?" + msgstr "PGP şif(r)ele, i(m)zala, (f)arklı imzala, i(k)isi de, (s)/mime, i(p)tal?" + + #. L10N: PGP options +-#: ncrypt/crypt_gpgme.c:5591 ++#: ncrypt/crypt_gpgme.c:5671 + msgid "esabmc" + msgstr "rmfksp" + +-#: ncrypt/crypt_gpgme.c:5751 ++#: ncrypt/crypt_gpgme.c:5831 + msgid "Failed to verify sender" + msgstr "Gönderici doğrulanamadı" + +-#: ncrypt/crypt_gpgme.c:5754 ++#: ncrypt/crypt_gpgme.c:5834 + msgid "Failed to figure out sender" + msgstr "Göndericinin kim olduğu belirlenemedi" + +-#: ncrypt/pgp.c:108 ++#: ncrypt/pgp.c:107 + msgid "Enter PGP passphrase:" + msgstr "PGP parolasını girin: " + +-#: ncrypt/pgp.c:595 ++#: ncrypt/pgp.c:594 + msgid "[-- Error: unable to create PGP subprocess --]\n" + msgstr "[-- Hata: PGP alt süreci yaratılamadı --]\n" + +-#: ncrypt/pgp.c:644 ncrypt/pgp.c:926 ncrypt/pgp.c:1086 ++#: ncrypt/pgp.c:643 ncrypt/pgp.c:925 ncrypt/pgp.c:1085 + msgid "" + "[-- End of PGP output --]\n" + "\n" +@@ -4484,16 +4562,16 @@ msgstr "" + #. L10N: You will see this error message if (1) you are decrypting + #. (not encrypting) something and (2) it is a plaintext. So the + #. message does not mean "You failed to encrypt the message." +-#: ncrypt/pgp.c:724 ++#: ncrypt/pgp.c:723 + #, fuzzy + msgid "PGP message is not encrypted" + msgstr "Şifrelenmiş PGP iletisi başarıyla çözüldü" + +-#: ncrypt/pgp.c:978 ++#: ncrypt/pgp.c:977 + msgid "Internal error. Please submit a bug report." + msgstr "" + +-#: ncrypt/pgp.c:1043 ++#: ncrypt/pgp.c:1042 + msgid "" + "[-- Error: could not create a PGP subprocess --]\n" + "\n" +@@ -4501,132 +4579,132 @@ msgstr "" + "[-- Hata: PGP alt süreci yaratılamadı --]\n" + "\n" + +-#: ncrypt/pgp.c:1073 ncrypt/pgp.c:1098 ncrypt/smime.c:2143 postpone.c:757 +-#: postpone.c:785 ++#: ncrypt/pgp.c:1072 ncrypt/pgp.c:1097 ncrypt/smime.c:2177 postpone.c:803 ++#: postpone.c:831 + msgid "Decryption failed" + msgstr "Şifre çözme işlemi başarısız oldu" + +-#: ncrypt/pgp.c:1333 ++#: ncrypt/pgp.c:1334 + msgid "Can't open PGP subprocess" + msgstr "PGP alt süreci açılamıyor" + +-#: ncrypt/pgp.c:1768 ++#: ncrypt/pgp.c:1770 + msgid "Can't invoke PGP" + msgstr "PGP çalıştırılamıyor" + + #. L10N: The next string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1875 ++#: ncrypt/pgp.c:1877 + msgid "PGP/M(i)ME" + msgstr "PGP/M(i)ME" + + #. L10N: The previous string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1881 ++#: ncrypt/pgp.c:1883 + msgid "(i)nline" + msgstr "satır(i)çi" + + #. L10N: PGP options (inline) (opportunistic encryption is on) +-#: ncrypt/pgp.c:1893 ++#: ncrypt/pgp.c:1895 + #, fuzzy, c-format + msgid "PGP (s)ign, sign (a)s, %s format, (c)lear, or (o)ppenc mode off?" + msgstr "PGP şif(r)ele, i(m)zala, (f)arklı imzala, i(k)isi de, %s, i(p)tal?" + + #. L10N: PGP options (inline) (opportunistic encryption is on) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1899 ++#: ncrypt/pgp.c:1901 + msgid "saico" + msgstr "rmfkp" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1905 ++#: ncrypt/pgp.c:1907 + #, fuzzy + msgid "PGP (s)ign, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "PGP şif(r)ele, i(m)zala, (f)arklı imzala, i(k)isi de, %s, i(p)tal?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1907 ++#: ncrypt/pgp.c:1909 + msgid "saco" + msgstr "rmfkp" + + #. L10N: PGP options (inline) (opportunistic encryption is off) +-#: ncrypt/pgp.c:1921 ++#: ncrypt/pgp.c:1923 + #, fuzzy, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, (c)lear, or (o)ppenc mode?" + msgstr "PGP şif(r)ele, i(m)zala, (f)arklı imzala, i(k)isi de, %s, i(p)tal?" + + #. L10N: PGP options (inline) (opportunistic encryption is off) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1927 ++#: ncrypt/pgp.c:1929 + #, fuzzy + msgid "esabico" + msgstr "rmfkp" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1933 ++#: ncrypt/pgp.c:1935 + #, fuzzy + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "PGP şif(r)ele, i(m)zala, (f)arklı imzala, i(k)isi de, %s, i(p)tal?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1936 ++#: ncrypt/pgp.c:1938 + #, fuzzy + msgid "esabco" + msgstr "rmfkp" + + #. L10N: PGP options (inline) +-#: ncrypt/pgp.c:1947 ++#: ncrypt/pgp.c:1949 + #, fuzzy, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, or (c)lear?" + msgstr "PGP şif(r)ele, i(m)zala, (f)arklı imzala, i(k)isi de, %s, i(p)tal?" + + #. L10N: PGP options (inline) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1953 ++#: ncrypt/pgp.c:1955 + #, fuzzy + msgid "esabic" + msgstr "rmfkp" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1959 ++#: ncrypt/pgp.c:1961 + #, fuzzy + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (c)lear?" + msgstr "PGP şif(r)ele, i(m)zala, (f)arklı imzala, i(k)isi de, %s, i(p)tal?" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1961 ++#: ncrypt/pgp.c:1963 + #, fuzzy + msgid "esabc" + msgstr "rmfkp" + +-#: ncrypt/pgpinvoke.c:458 ++#: ncrypt/pgpinvoke.c:461 + msgid "Fetching PGP key..." + msgstr "PGP anahtarı alınıyor..." + +-#: ncrypt/pgpkey.c:640 ++#: ncrypt/pgpkey.c:643 + msgid "All matching keys are expired, revoked, or disabled" + msgstr "Uygun bütün anahtarlar ya süresi dolmuş, ya hükümsüz ya da etkisiz durumda" + +-#: ncrypt/pgpkey.c:681 ++#: ncrypt/pgpkey.c:714 + #, c-format + msgid "PGP keys matching <%s>" + msgstr "<%s> ile eşleşen PGP anahtarları" + +-#: ncrypt/pgpkey.c:683 ++#: ncrypt/pgpkey.c:716 + #, c-format + msgid "PGP keys matching \"%s\"" + msgstr "\"%s\" ile eşleşen PGP anahtarları" + +-#: ncrypt/pgpkey.c:700 ncrypt/pgpkey.c:909 ++#: ncrypt/pgpkey.c:733 ncrypt/pgpkey.c:944 + msgid "Can't open /dev/null" + msgstr "/dev/null açılamıyor" + +-#: ncrypt/pgpkey.c:938 ++#: ncrypt/pgpkey.c:973 + #, c-format + msgid "PGP Key %s" + msgstr "PGP anahtarı %s" + +-#: ncrypt/smime.c:182 ++#: ncrypt/smime.c:180 + msgid "Enter S/MIME passphrase:" + msgstr "S/MIME parolasını girin: " + +@@ -4635,7 +4713,7 @@ msgstr "S/MIME parolasını girin: " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:460 ++#: ncrypt/smime.c:462 + msgid "Expired " + msgstr "Süresi Dolmuş " + +@@ -4644,7 +4722,7 @@ msgstr "Süresi Dolmuş " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:468 ++#: ncrypt/smime.c:470 + msgid "Invalid " + msgstr "Geçersiz " + +@@ -4653,7 +4731,7 @@ msgstr "Geçersiz " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:476 ++#: ncrypt/smime.c:478 + msgid "Revoked " + msgstr "Hükümsüzleştirilmiş " + +@@ -4662,7 +4740,7 @@ msgstr "Hükümsüzleştirilmiş " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:484 ++#: ncrypt/smime.c:486 + msgid "Trusted " + msgstr "Güvenilir " + +@@ -4671,7 +4749,7 @@ msgstr "Güvenilir " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:492 ++#: ncrypt/smime.c:494 + msgid "Unverified" + msgstr "Doğrulanamayan" + +@@ -4680,7 +4758,7 @@ msgstr "Doğrulanamayan" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:500 ++#: ncrypt/smime.c:502 + msgid "Verified " + msgstr "Doğrulananan " + +@@ -4689,60 +4767,60 @@ msgstr "Doğrulananan " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:508 ++#: ncrypt/smime.c:510 + msgid "Unknown " + msgstr "Bilinmiyor " + +-#: ncrypt/smime.c:545 ++#: ncrypt/smime.c:547 + #, c-format + msgid "S/MIME certificates matching \"%s\"" + msgstr "\"%s\" ile uyuşan S/MIME anahtarları" + +-#: ncrypt/smime.c:589 ++#: ncrypt/smime.c:621 + #, fuzzy + msgid "ID is not trusted. Do you really want to use the key?" + msgstr "Kimlik (ID) geçerli değil. Gerçekten bu anahtarı kullanmak istiyor musunuz?" + +-#: ncrypt/smime.c:910 ++#: ncrypt/smime.c:944 + msgid "Enter keyID: " + msgstr "%s için anahtar NO'yu girin: " + +-#: ncrypt/smime.c:1055 ++#: ncrypt/smime.c:1089 + #, c-format + msgid "No (valid) certificate found for %s" + msgstr "%s için (geçerli) sertifika bulunamadı" + +-#: ncrypt/smime.c:1108 ncrypt/smime.c:1137 ncrypt/smime.c:1209 +-#: ncrypt/smime.c:1243 ncrypt/smime.c:1319 ncrypt/smime.c:1399 ++#: ncrypt/smime.c:1142 ncrypt/smime.c:1171 ncrypt/smime.c:1243 ++#: ncrypt/smime.c:1277 ncrypt/smime.c:1353 ncrypt/smime.c:1433 + msgid "Error: unable to create OpenSSL subprocess" + msgstr "[-- Hata: OpenSSL alt süreci yaratılamadı --]" + +-#: ncrypt/smime.c:1379 ++#: ncrypt/smime.c:1413 + #, fuzzy + msgid "Label for certificate: " + msgstr "Karşı taraftan sertifika alınamadı" + +-#: ncrypt/smime.c:1480 ++#: ncrypt/smime.c:1514 + msgid "no certfile" + msgstr "sertifika dosyası yok" + +-#: ncrypt/smime.c:1483 ++#: ncrypt/smime.c:1517 + msgid "no mbox" + msgstr "eposta kutusu yok" + +-#: ncrypt/smime.c:1640 ncrypt/smime.c:1810 ++#: ncrypt/smime.c:1674 ncrypt/smime.c:1844 + msgid "No output from OpenSSL..." + msgstr "OpenSSL bir çıktı üretmedi..." + +-#: ncrypt/smime.c:1727 ++#: ncrypt/smime.c:1761 + msgid "Can't sign: No key specified. Use Sign As." + msgstr "İmzalanmıyor: Anahtar belirtilmedi. \"farklı imzala\"yı seçin." + +-#: ncrypt/smime.c:1777 ++#: ncrypt/smime.c:1811 + msgid "Can't open OpenSSL subprocess" + msgstr "OpenSSL alt süreci açılamıyor" + +-#: ncrypt/smime.c:2004 ncrypt/smime.c:2123 ++#: ncrypt/smime.c:2038 ncrypt/smime.c:2157 + msgid "" + "[-- End of OpenSSL output --]\n" + "\n" +@@ -4750,19 +4828,19 @@ msgstr "" + "[-- OpenSSL çıktısı sonu --]\n" + "\n" + +-#: ncrypt/smime.c:2080 ncrypt/smime.c:2093 ++#: ncrypt/smime.c:2114 ncrypt/smime.c:2127 + msgid "[-- Error: unable to create OpenSSL subprocess --]\n" + msgstr "[-- Hata: OpenSSL alt süreci yaratılamadı --]\n" + +-#: ncrypt/smime.c:2129 ++#: ncrypt/smime.c:2163 + msgid "[-- The following data is S/MIME encrypted --]\n" + msgstr "[-- Aşağıdaki bilgi S/MIME ile şifrelenmiştir --]\n" + +-#: ncrypt/smime.c:2132 ++#: ncrypt/smime.c:2166 + msgid "[-- The following data is S/MIME signed --]\n" + msgstr "[-- Aşağıdaki bilgi imzalanmıştır --]\n" + +-#: ncrypt/smime.c:2225 ++#: ncrypt/smime.c:2259 + msgid "" + "\n" + "[-- End of S/MIME encrypted data. --]\n" +@@ -4770,7 +4848,7 @@ msgstr "" + "\n" + "[-- S/MIME ile şifrelenmiş bilginin sonu --]\n" + +-#: ncrypt/smime.c:2227 ++#: ncrypt/smime.c:2261 + msgid "" + "\n" + "[-- End of S/MIME signed data. --]\n" +@@ -4779,167 +4857,167 @@ msgstr "" + "[-- S/MIME ile imzalanmış bilginin sonu --]\n" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2361 ++#: ncrypt/smime.c:2395 + #, fuzzy + msgid "S/MIME (s)ign, encrypt (w)ith, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME şif(r)ele, i(m)zala, f(a)rklı şifrele, (f)arklı imzala, i(k)isi de, i(p)tal?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2364 ++#: ncrypt/smime.c:2398 + msgid "swaco" + msgstr "rmafkp" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2372 ++#: ncrypt/smime.c:2406 + #, fuzzy + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME şif(r)ele, i(m)zala, f(a)rklı şifrele, (f)arklı imzala, i(k)isi de, i(p)tal?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2375 ++#: ncrypt/smime.c:2409 + msgid "eswabco" + msgstr "rmafkp" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2382 ++#: ncrypt/smime.c:2416 + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, or (c)lear?" + msgstr "S/MIME şif(r)ele, i(m)zala, f(a)rklı şifrele, (f)arklı imzala, i(k)isi de, i(p)tal?" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2385 ++#: ncrypt/smime.c:2419 + msgid "eswabc" + msgstr "rmafkp" + +-#: ncrypt/smime.c:2449 ++#: ncrypt/smime.c:2483 + msgid "Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear?" + msgstr "Algoritma ailesini seçin: (1) DES, (2) RC2, (3) AES, şifresi(z)?" + + #. L10N: Options for: Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear? +-#: ncrypt/smime.c:2452 ++#: ncrypt/smime.c:2486 + msgid "123c" + msgstr "123z" + +-#: ncrypt/smime.c:2455 ++#: ncrypt/smime.c:2489 + msgid "(1) DES, (2) Triple-DES?" + msgstr "(1) DES, (2) Triple-DES?" + + #. L10N: Options for: (1) DES, (2) Triple-DES +-#: ncrypt/smime.c:2457 ++#: ncrypt/smime.c:2491 + msgid "12" + msgstr "12" + +-#: ncrypt/smime.c:2470 ++#: ncrypt/smime.c:2504 + msgid "(1) RC2-40, (2) RC2-64, (3) RC2-128?" + msgstr "(1) RC2-40, (2) RC2-64, (3) RC2-128?" + + #. L10N: Options for: (1) RC2-40, (2) RC2-64, (3) RC2-128 + #. L10N: Options for: (1) AES128, (2) AES192, (3) AES256 +-#: ncrypt/smime.c:2472 ncrypt/smime.c:2490 ++#: ncrypt/smime.c:2506 ncrypt/smime.c:2524 + msgid "123" + msgstr "123" + +-#: ncrypt/smime.c:2488 ++#: ncrypt/smime.c:2522 + msgid "(1) AES128, (2) AES192, (3) AES256?" + msgstr "(1) AES128, (2) AES192, (3) AES256?" + +-#: nntp/newsrc.c:632 ++#: nntp/newsrc.c:639 + msgid "Loading list of groups from cache..." + msgstr "" + +-#: nntp/newsrc.c:997 ++#: nntp/newsrc.c:1023 + msgid "No news server defined" + msgstr "" + +-#: nntp/newsrc.c:1012 ++#: nntp/newsrc.c:1041 + #, fuzzy, c-format + msgid "%s is an invalid news server specification" + msgstr "%s geçerli bir POP dosyayolu değil" + +-#: nntp/nntp.c:236 nntp/nntp.c:777 pop/pop.c:742 pop/pop_lib.c:398 ++#: nntp/nntp.c:238 nntp/nntp.c:779 pop/pop.c:742 pop/pop_lib.c:424 + msgid "Server closed connection" + msgstr "Sunucu bağlantıyı kesti" + +-#: nntp/nntp.c:340 ++#: nntp/nntp.c:342 + msgid "Server doesn't support reader mode" + msgstr "" + +-#: nntp/nntp.c:576 pop/pop_auth.c:504 smtp.c:650 ++#: nntp/nntp.c:578 pop/pop_auth.c:505 smtp.c:675 + msgid "No authenticators available" + msgstr "Doğrulamacılar erişilir durumda değil" + +-#: nntp/nntp.c:766 ++#: nntp/nntp.c:768 + #, fuzzy, c-format + msgid "%s authentication failed" + msgstr "SASL doğrulaması başarısız oldu" + +-#: nntp/nntp.c:826 ++#: nntp/nntp.c:828 + #, fuzzy, c-format + msgid "Connection to %s lost. Reconnect?" + msgstr "%s soketine yapılan bağlantı kapatıldı" + +-#: nntp/nntp.c:1285 ++#: nntp/nntp.c:1287 + #, fuzzy + msgid "Fetching list of articles..." + msgstr "İletilerin listesi alınıyor..." + +-#: nntp/nntp.c:1549 nntp/nntp.c:2138 pop/pop.c:614 pop/pop.c:910 ++#: nntp/nntp.c:1551 nntp/nntp.c:2140 pop/pop.c:614 pop/pop.c:905 + msgid "Checking for new messages..." + msgstr "Yeni iletiler için bakılıyor..." + +-#: nntp/nntp.c:1864 nntp/nntp.c:1954 ++#: nntp/nntp.c:1866 nntp/nntp.c:1956 + #, fuzzy + msgid "Could not switch to reader mode" + msgstr "geçici eposta dizini yaratılamadı: %s" + +-#: nntp/nntp.c:1877 ++#: nntp/nntp.c:1879 + #, fuzzy, c-format + msgid "Connected to %s. %s" + msgstr "%s sunucusuna bağlanılıyor..." + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + #, fuzzy + msgid "Posting is ok" + msgstr "Yapılacak bir işlem yok" + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + msgid "Posting is NOT ok" + msgstr "" + +-#: nntp/nntp.c:2008 nntp/nntp.c:2043 ++#: nntp/nntp.c:2010 nntp/nntp.c:2045 + #, fuzzy, c-format + msgid "Can't post article: %s" + msgstr "%s incelenemiyor: %s" + +-#: nntp/nntp.c:2064 ++#: nntp/nntp.c:2066 + #, fuzzy, c-format + msgid "Loading list of groups from server %s..." + msgstr "İletileri sunucudan sil..." + +-#: nntp/nntp.c:2106 nntp/nntp.c:2198 ++#: nntp/nntp.c:2108 nntp/nntp.c:2200 + #, fuzzy + msgid "Loading descriptions..." + msgstr "Giriş yapılıyor..." + +-#: nntp/nntp.c:2128 ++#: nntp/nntp.c:2130 + #, fuzzy + msgid "Checking for new newsgroups..." + msgstr "Yeni iletiler için bakılıyor..." + +-#: nntp/nntp.c:2332 ++#: nntp/nntp.c:2334 + msgid "Unable to find child articles because server does not support XPAT command" + msgstr "" + +-#: nntp/nntp.c:2437 ++#: nntp/nntp.c:2439 + #, fuzzy, c-format + msgid "%s is an invalid newsgroup specification" + msgstr "%s geçerli bir POP dosyayolu değil" + +-#: nntp/nntp.c:2476 ++#: nntp/nntp.c:2478 + #, c-format + msgid "Newsgroup %s not found on the server" + msgstr "" + +-#: nntp/nntp.c:2498 ++#: nntp/nntp.c:2500 + #, c-format + msgid "Newsgroup %s has been removed from the server" + msgstr "" +@@ -4951,7 +5029,7 @@ msgstr "" + + #: notmuch/mutt_notmuch.c:219 notmuch/mutt_notmuch.c:1939 + #, c-format +-msgid "failed to parse notmuch uri: %s" ++msgid "failed to parse notmuch url: %s" + msgstr "" + + #: notmuch/mutt_notmuch.c:449 +@@ -6100,184 +6178,184 @@ msgstr "" + msgid "show S/MIME options" + msgstr "S/MIME seçeneklerini göster" + +-#: pager.c:222 ++#: pager.c:214 + msgid "Not available in this menu" + msgstr "Öge bu menüde mevcut değil" + +-#: pager.c:229 ++#: pager.c:221 + msgid "PrevPg" + msgstr "ÖncekiSyf" + +-#: pager.c:230 ++#: pager.c:222 + msgid "NextPg" + msgstr "SonrakiSyf" + +-#: pager.c:235 ++#: pager.c:227 + msgid "View Attachm." + msgstr "EkiGörüntüle" + +-#: pager.c:238 pager.c:247 ++#: pager.c:230 pager.c:239 + msgid "Next" + msgstr "Sonraki" + + #. L10N: Status bar message: the entire email is visible in the pager + #. L10N: Status bar message: all the emails are visible in the index +-#: pager.c:2180 status.c:278 ++#: pager.c:2136 status.c:278 + msgid "all" + msgstr "" + + #. L10N: Status bar message: the end of the email is visible in the pager + #. L10N: Status bar message: the end of the list emails is visible in the index +-#: pager.c:2182 status.c:276 ++#: pager.c:2138 status.c:276 + msgid "end" + msgstr "" + +-#: pager.c:2530 pager.c:2566 pager.c:2602 pager.c:2937 ++#: pager.c:2503 pager.c:2539 pager.c:2576 pager.c:2911 + msgid "Bottom of message is shown" + msgstr "İletinin sonu" + +-#: pager.c:2543 pager.c:2573 pager.c:2580 pager.c:2590 ++#: pager.c:2516 pager.c:2546 pager.c:2553 pager.c:2564 + msgid "Top of message is shown" + msgstr "İletinin başı" + +-#: pager.c:2840 ++#: pager.c:2814 + msgid "Help is currently being shown" + msgstr "Şu an yardım gösteriliyor" + +-#: pager.c:2897 ++#: pager.c:2871 + msgid "No more quoted text" + msgstr "Alıntı metni sonu" + +-#: pager.c:2914 ++#: pager.c:2888 + msgid "No more unquoted text after quoted text" + msgstr "Alıntı metnini takip eden normal metnin sonu" + +-#: pattern.c:220 pattern.c:297 pattern.c:1046 ++#: pattern.c:221 pattern.c:298 pattern.c:1085 + #, c-format + msgid "Error in expression: %s" + msgstr "Tabirde hata var: %s" + +-#: pattern.c:226 pattern.c:302 pattern.c:1052 ++#: pattern.c:227 pattern.c:303 pattern.c:1091 + msgid "Empty expression" + msgstr "Boş tabir" + +-#: pattern.c:288 ++#: pattern.c:289 + #, fuzzy + msgid "No search command defined" + msgstr "Sorgulama komutu tanımlanmadı" + +-#: pattern.c:326 ++#: pattern.c:327 + #, fuzzy, c-format + msgid "Running search command: %s ..." + msgstr "Otomatik görüntüleme komutu çalıştırılıyor: %s" + +-#: pattern.c:417 ++#: pattern.c:441 pattern.c:456 + #, c-format + msgid "Invalid day of month: %s" + msgstr "Geçersiz ay günü: %s" + +-#: pattern.c:431 ++#: pattern.c:446 pattern.c:470 + #, c-format + msgid "Invalid month: %s" + msgstr "Geçersiz ay: %s" + +-#: pattern.c:534 ++#: pattern.c:573 + #, c-format + msgid "Invalid relative date: %s" + msgstr "Geçersiz göreceli tarih: %s" + +-#: pattern.c:842 pattern.c:975 ++#: pattern.c:881 pattern.c:1014 + #, fuzzy + msgid "No current message" + msgstr "Okunmamış ileti yok" + +-#: pattern.c:1002 ++#: pattern.c:1041 + msgid "No Context" + msgstr "" + +-#: pattern.c:1125 ++#: pattern.c:1164 + msgid "Error opening 'memory stream'" + msgstr "Bellek akışını açılırken hata oluştu!" + +-#: pattern.c:1171 ++#: pattern.c:1210 + msgid "Error re-opening 'memory stream'" + msgstr "Bellek akışını yeniden açılırken hata oluştu!" + +-#: pattern.c:1180 ++#: pattern.c:1219 + msgid "Error opening /dev/null" + msgstr "/dev/null açılırken hata oluştu" + +-#: pattern.c:1443 pattern.c:1620 ++#: pattern.c:1482 pattern.c:1662 + #, c-format + msgid "error in pattern at: %s" + msgstr "tabirdeki hata konumu: %s" + +-#: pattern.c:1476 ++#: pattern.c:1515 + #, fuzzy, c-format + msgid "missing pattern: %s" + msgstr "eksik argüman" + +-#: pattern.c:1494 pattern.c:1593 ++#: pattern.c:1533 pattern.c:1635 + #, c-format + msgid "mismatched parentheses: %s" + msgstr "eşleşmeyen parantezler: %s" + +-#: pattern.c:1559 ++#: pattern.c:1598 + #, fuzzy, c-format + msgid "%c: invalid pattern modifier" + msgstr "%c: geçersiz komut" + +-#: pattern.c:1564 ++#: pattern.c:1603 + #, c-format + msgid "%c: not supported in this mode" + msgstr "%c : bu kipte desteklenmiyor" + +-#: pattern.c:1576 ++#: pattern.c:1618 + msgid "missing parameter" + msgstr "eksik argüman" + +-#: pattern.c:1626 ++#: pattern.c:1668 + msgid "empty pattern" + msgstr "boş tabir" + +-#: pattern.c:2080 pattern.c:2083 ++#: pattern.c:2202 pattern.c:2205 + msgid "error: server custom search only supported with IMAP" + msgstr "" + +-#: pattern.c:2274 ++#: pattern.c:2398 + #, c-format + msgid "error: unknown op %d (report this error)" + msgstr "hata: bilinmeyen işlem kodu %d (bu hatayı bildirin)" + +-#: pattern.c:2448 pattern.c:2604 ++#: pattern.c:2572 pattern.c:2728 + msgid "Compiling search pattern..." + msgstr "Arama tabiri derleniyor..." + +-#: pattern.c:2468 ++#: pattern.c:2592 + msgid "Executing command on matching messages..." + msgstr "Komut, eşleşen bütün iletilerde çalıştırılıyor..." + +-#: pattern.c:2537 ++#: pattern.c:2661 + msgid "No messages matched criteria" + msgstr "Tabire uygun ileti bulunamadı" + +-#: pattern.c:2641 ++#: pattern.c:2765 + msgid "Searching..." + msgstr "Aranıyor..." + +-#: pattern.c:2655 ++#: pattern.c:2779 + msgid "Search hit bottom without finding match" + msgstr "Arama hiç bir şey bulunamadan sona erişti" + +-#: pattern.c:2666 ++#: pattern.c:2790 + msgid "Search hit top without finding match" + msgstr "Arama hiçbir şey bulunamadan başa erişti" + +-#: pattern.c:2700 ++#: pattern.c:2824 + msgid "Search interrupted" + msgstr "Arama iptal edildi" + +-#: pop/pop.c:216 pop/pop_lib.c:234 ++#: pop/pop.c:216 pop/pop_lib.c:259 + msgid "Command TOP is not supported by server" + msgstr "TOP komutu sunucu tarafından desteklenmiyor" + +@@ -6285,7 +6363,7 @@ msgstr "TOP komutu sunucu tarafından desteklenmiyor" + msgid "Can't write header to temporary file" + msgstr "Başlık, geçici bir dosyaya yazılamıyor" + +-#: pop/pop.c:420 pop/pop_lib.c:236 ++#: pop/pop.c:420 pop/pop_lib.c:261 + msgid "Command UIDL is not supported by server" + msgstr "UIDL komutu sunucu tarafından desteklenmiyor" + +@@ -6300,7 +6378,7 @@ msgstr[1] "İleti indeksi hatalı. Eposta kutusu yeniden açılıyor." + msgid "POP host is not defined" + msgstr "POP sunucusu tanımlanmadı" + +-#: pop/pop.c:596 pop/pop.c:825 ++#: pop/pop.c:596 pop/pop.c:790 pop/pop.c:820 + #, c-format + msgid "%s is an invalid POP path" + msgstr "%s geçerli bir POP dosyayolu değil" +@@ -6333,155 +6411,155 @@ msgid_plural "%s [%d of %d messages read]" + msgstr[0] "%1$s [ %3$d iletiden %2$d ileti okundu]" + msgstr[1] "%1$s [ %3$d iletiden %2$d ileti okundu]" + +-#: pop/pop.c:876 ++#: pop/pop.c:871 + msgid "Fetching list of messages..." + msgstr "İletilerin listesi alınıyor..." + +-#: pop/pop.c:959 ++#: pop/pop.c:954 + #, fuzzy + msgid "Marking messages deleted..." + msgstr "%d ileti silinmek için işaretlendi..." + +-#: pop/pop.c:1150 ++#: pop/pop.c:1145 + msgid "Can't write message to temporary file" + msgstr "İleti geçici bir dosyaya yazılamıyor" + +-#: pop/pop_auth.c:103 ++#: pop/pop_auth.c:104 + msgid "Authenticating (SASL)..." + msgstr "Doğrulanıyor (SASL)..." + +-#: pop/pop_auth.c:245 ++#: pop/pop_auth.c:246 + msgid "POP timestamp is invalid" + msgstr "" + +-#: pop/pop_auth.c:249 ++#: pop/pop_auth.c:250 + msgid "Authenticating (APOP)..." + msgstr "Doğrulanıyor (APOP)..." + +-#: pop/pop_auth.c:269 ++#: pop/pop_auth.c:270 + msgid "APOP authentication failed" + msgstr "APOP doğrulaması başarısız oldu" + +-#: pop/pop_auth.c:309 ++#: pop/pop_auth.c:310 + msgid "Command USER is not supported by server" + msgstr "Sunucu USER komutunu desteklemiyor" + +-#: pop/pop_auth.c:386 ++#: pop/pop_auth.c:387 + #, fuzzy + msgid "Authentication failed" + msgstr "SASL doğrulaması başarısız oldu" + +-#: pop/pop_lib.c:78 ++#: pop/pop_lib.c:103 + #, c-format + msgid "Invalid POP URL: %s" + msgstr "Geçersiz POP URL: %s" + +-#: pop/pop_lib.c:232 ++#: pop/pop_lib.c:257 + msgid "Unable to leave messages on server" + msgstr "İletiler sunucuda bırakılamıyor" + +-#: pop/pop_lib.c:274 ++#: pop/pop_lib.c:300 + #, c-format + msgid "Error connecting to server: %s" + msgstr "Sunucuya bağlanırken hata oluştu: %s" + +-#: pop/pop_lib.c:414 ++#: pop/pop_lib.c:440 + msgid "Closing connection to POP server..." + msgstr "POP sunucuya yapılan bağlantı kesiliyor..." + +-#: pop/pop_lib.c:605 ++#: pop/pop_lib.c:631 + msgid "Verifying message indexes..." + msgstr "İleti indeksleri doğrulanıyor..." + +-#: pop/pop_lib.c:628 ++#: pop/pop_lib.c:654 + msgid "Connection lost. Reconnect to POP server?" + msgstr "Bağlantı kaybedildi. POP sunucusuna yeniden bağlanılsın mı?" + +-#: postpone.c:229 ++#: postpone.c:260 + msgid "Postponed Messages" + msgstr "Ertelenen İletiler" + +-#: postpone.c:314 postpone.c:326 ++#: postpone.c:348 postpone.c:372 + msgid "No postponed messages" + msgstr "Ertelen ileti yok" + +-#: postpone.c:480 ++#: postpone.c:526 + msgid "Illegal S/MIME header" + msgstr "Geçersiz S/MIME başlığı" + +-#: postpone.c:510 postpone.c:551 postpone.c:560 ++#: postpone.c:556 postpone.c:597 postpone.c:606 + #, fuzzy + msgid "Illegal crypto header" + msgstr "Geçersiz PGP başlığı" + +-#: postpone.c:644 postpone.c:752 postpone.c:780 ++#: postpone.c:690 postpone.c:798 postpone.c:826 + msgid "Decrypting message..." + msgstr "İleti çözülüyor..." + +-#: query.c:82 ++#: query.c:80 + msgid "New Query" + msgstr "Yeni Sorgu" + +-#: query.c:83 ++#: query.c:81 + msgid "Make Alias" + msgstr "Lâkap Yarat" + +-#: query.c:180 ++#: query.c:178 + msgid "Waiting for response..." + msgstr "Cevap bekleniyor..." + +-#: query.c:362 query.c:400 ++#: query.c:365 query.c:434 + msgid "Query: " + msgstr "Sorgulama: " + +-#: query.c:370 query.c:407 ++#: query.c:374 query.c:442 + #, c-format + msgid "Query '%s'" + msgstr "Sorgulama '%s'" + +-#: query.c:620 query.c:657 ++#: query.c:661 query.c:698 + msgid "Query command not defined" + msgstr "Sorgulama komutu tanımlanmadı" + +-#: recvattach.c:93 ++#: recvattach.c:91 + msgid "Pipe" + msgstr "Boru" + +-#: recvattach.c:94 ++#: recvattach.c:92 + msgid "Print" + msgstr "Yazdır" + +-#: recvattach.c:569 ++#: recvattach.c:571 + msgid "Saving..." + msgstr "Kaydediliyor..." + +-#: recvattach.c:573 recvattach.c:744 recvattach.c:748 ++#: recvattach.c:575 recvattach.c:746 recvattach.c:750 + #, fuzzy, c-format + msgid "Attachment saved" + msgid_plural "%d attachments saved" + msgstr[0] "Ek kaydedildi" + msgstr[1] "Ek kaydedildi" + +-#: recvattach.c:772 ++#: recvattach.c:774 + #, c-format + msgid "WARNING! You are about to overwrite %s, continue?" + msgstr "UYARI! %s dosyasının üzerine yazılacak, devam edilsin mi?" + +-#: recvattach.c:790 ++#: recvattach.c:792 + msgid "Attachment filtered" + msgstr "Ek, süzgeçten geçirildi" + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Filter through: " + msgstr "Süzgeç: " + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Pipe to: " + msgstr "Borula: " + + #. L10N: s gets replaced by a MIME type, e.g. "text/plain" or + #. application/octet-stream. +-#: recvattach.c:935 ++#: recvattach.c:937 + #, fuzzy, c-format + msgid "I don't know how to print %s attachments" + msgstr "%s eklerinin nasıl yazdırılacağı bilinmiyor" +@@ -6489,57 +6567,57 @@ msgstr "%s eklerinin nasıl yazdırılacağı bilinmiyor" + #. L10N: Although we now the precise number of tagged messages, we + #. do not show it to the user. So feel free to use a "generic + #. plural" as plural translation if your language has one. +-#: recvattach.c:1038 ++#: recvattach.c:1040 + #, fuzzy, c-format + msgid "Print tagged attachment?" + msgid_plural "Print %d tagged attachments?" + msgstr[0] "İşaretli ileti(ler) yazdırılsın mı?" + msgstr[1] "İşaretli ileti(ler) yazdırılsın mı?" + +-#: recvattach.c:1039 ++#: recvattach.c:1041 + #, c-format + msgid "Print attachment?" + msgstr "Ek yazdırılsın mı?" + +-#: recvattach.c:1123 ++#: recvattach.c:1125 + msgid "Structural changes to decrypted attachments are not supported" + msgstr "" + +-#: recvattach.c:1291 ++#: recvattach.c:1293 + msgid "Can't decrypt encrypted message" + msgstr "Şifrelenmiş ileti çözülemiyor" + +-#: recvattach.c:1425 ++#: recvattach.c:1457 + msgid "Attachments" + msgstr "Ekler" + +-#: recvattach.c:1465 ++#: recvattach.c:1497 + msgid "There are no subparts to show" + msgstr "Gösterilecek bir alt bölüm yok" + +-#: recvattach.c:1520 ++#: recvattach.c:1552 + msgid "Can't delete attachment from POP server" + msgstr "Ek, POP sunucusundan silinemiyor" + +-#: recvattach.c:1529 ++#: recvattach.c:1561 + #, fuzzy + msgid "Can't delete attachment from news server" + msgstr "Ek, POP sunucusundan silinemiyor" + +-#: recvattach.c:1536 ++#: recvattach.c:1568 + msgid "Deletion of attachments from encrypted messages is unsupported" + msgstr "Şifrelenmiş bir iletiye ait eklerin silinmesi desteklenmiyor" + +-#: recvattach.c:1542 ++#: recvattach.c:1574 + #, fuzzy + msgid "Deletion of attachments from signed messages may invalidate the signature" + msgstr "Şifrelenmiş bir iletiye ait eklerin silinmesi desteklenmiyor" + +-#: recvattach.c:1561 recvattach.c:1578 ++#: recvattach.c:1593 recvattach.c:1610 + msgid "Only deletion of multipart attachments is supported" + msgstr "Sadece çok parçalı (multipart) eklerin silinmesi destekleniyor" + +-#: recvcmd.c:79 ++#: recvcmd.c:78 + msgid "You may only bounce message/rfc822 parts" + msgstr "Sadece ileti ya da rfc822 kısımları geri gönderilebilir" + +@@ -6576,7 +6654,7 @@ msgstr "%s yaratılamadı" + msgid "Can't find any tagged messages" + msgstr "İşaretli hiç bir ileti yok" + +-#: recvcmd.c:848 send.c:1073 ++#: recvcmd.c:848 send.c:1072 + msgid "No mailing lists found" + msgstr "Herhangi bir eposta listesi bulunamadı" + +@@ -6591,67 +6669,67 @@ msgstr "İşaretlenmiş eklerin hepsi çözülemiyor. Kalanlar MIME ile sarmalan + msgid "You may only compose to sender with message/rfc822 parts" + msgstr "Sadece ileti ya da rfc822 kısımları geri gönderilebilir" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Append" + msgstr "Ekle" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Insert" + msgstr "İçer" + +-#: remailer.c:78 ++#: remailer.c:76 + msgid "OK" + msgstr "TAMAM" + +-#: remailer.c:210 ++#: remailer.c:207 + msgid "" + msgstr "" + +-#: remailer.c:586 ++#: remailer.c:617 + msgid "Can't get mixmaster's type2.list" + msgstr "\"mixmaster\" type2.list alınamıyor" + +-#: remailer.c:612 ++#: remailer.c:673 + msgid "Select a remailer chain" + msgstr "Bir postacı (remailer) zinciri seçin" + +-#: remailer.c:674 ++#: remailer.c:735 + #, c-format + msgid "Error: %s can't be used as the final remailer of a chain" + msgstr "Hata: %s, zincirdeki son postacı olarak kullanılamaz" + + #. L10N The '%d' here hard-coded to 19 +-#: remailer.c:706 ++#: remailer.c:767 + #, c-format + msgid "Mixmaster chains are limited to %d elements" + msgstr "Mixmaster zincirleri %d sayıda elemanla sınırlandırılmıştır" + +-#: remailer.c:729 ++#: remailer.c:790 + msgid "The remailer chain is already empty" + msgstr "Postacı zinciri zaten boş" + +-#: remailer.c:739 ++#: remailer.c:800 + msgid "You already have the first chain element selected" + msgstr "Zincirin zaten ilk elemanını seçmiş durumdasınız" + +-#: remailer.c:749 ++#: remailer.c:810 + msgid "You already have the last chain element selected" + msgstr "Zincirin zaten son elemanını seçmiş durumdasınız" + +-#: remailer.c:792 ++#: remailer.c:856 + msgid "Mixmaster doesn't accept Cc or Bcc headers" + msgstr "Mixmaster Cc ya da Bcc başlıklarını kabul etmez" + +-#: remailer.c:817 ++#: remailer.c:881 + msgid "Please set the hostname variable to a proper value when using mixmaster" + msgstr "Lütfen mixmaster kullanırken yerel makina adını uygun şekilde ayarlayın" + +-#: remailer.c:860 ++#: remailer.c:924 + #, c-format + msgid "Error sending message, child exited %d.\n" + msgstr "İleti gönderilirken hata oluştu, alt süreç %d ile sonlandı.\n" + +-#: remailer.c:864 ++#: remailer.c:928 + msgid "Error sending message" + msgstr "İleti gönderilirken hata oluştu" + +@@ -6682,42 +6760,42 @@ msgstr "Ekler halinde iletilsin mi?" + + #. L10N: Asks whether the user respects the reply-to header. + #. If she says no, neomutt will reply to the from header's address instead. +-#: send.c:793 ++#: send.c:792 + #, c-format + msgid "Reply to %s%s?" + msgstr "Cevap adresi olarak %s%s kullanılsın mı? [Reply-To]" + +-#: send.c:838 ++#: send.c:837 + #, c-format + msgid "Follow-up to %s%s?" + msgstr "Cevap adresi olarak %s%s kullanılsın mı? [Mail-Followup-To]" + +-#: send.c:1122 ++#: send.c:1121 + msgid "Include message in reply?" + msgstr "İleti, cevaba dahil edilsin mi?" + +-#: send.c:1128 ++#: send.c:1127 + msgid "Including quoted message..." + msgstr "Alıntı metni dahil ediliyor..." + +-#: send.c:1137 ++#: send.c:1136 + msgid "Could not include all requested messages" + msgstr "Bildirilen iletilerin hepsi dahil edilemedi" + +-#: send.c:1148 ++#: send.c:1147 + msgid "Forward as attachment?" + msgstr "Ek olarak iletilsin mi?" + +-#: send.c:1153 ++#: send.c:1152 + msgid "Preparing forwarded message..." + msgstr "İletilecek eposta hazırlanıyor..." + +-#: send.c:1632 ++#: send.c:1631 + #, fuzzy + msgid "Fcc to an IMAP mailbox is not supported in batch mode" + msgstr "%c : bu kipte desteklenmiyor" + +-#: send.c:1664 send.c:1690 ++#: send.c:1665 send.c:1675 send.c:1701 + #, fuzzy + msgid "Save attachments in Fcc?" + msgstr "eki metin olarak göster" +@@ -6726,196 +6804,196 @@ msgstr "eki metin olarak göster" + #. (r)etry tries the same mailbox again. + #. alternate (m)ailbox prompts for a different mailbox to try. + #. (s)kip aborts saving. +-#: send.c:1712 ++#: send.c:1723 + msgid "Fcc failed. (r)etry, alternate (m)ailbox, or (s)kip?" + msgstr "" + + #. L10N: These correspond to the "Fcc failed" multi-choice prompt + #. (r)etry, alternate (m)ailbox, or (s)kip. + #. Any similarity to famous leaders of the FSF is coincidental. +-#: send.c:1716 ++#: send.c:1727 + msgid "rms" + msgstr "" + + #. L10N: This is the prompt to enter an "alternate (m)ailbox" when the + #. initial Fcc fails. +-#: send.c:1722 ++#: send.c:1733 + #, fuzzy + msgid "Fcc mailbox" + msgstr "Eposta kutusu yok.\n" + +-#: send.c:1788 ++#: send.c:1799 + msgid "Can't postpone. $postponed is unset" + msgstr "" + +-#: send.c:1923 ++#: send.c:1934 + msgid "Recall postponed message?" + msgstr "Ertelenen ileti açılsın mı?" + +-#: send.c:2228 ++#: send.c:2239 + msgid "Edit forwarded message?" + msgstr "İletilen eposta düzenlensin mi?" + +-#: send.c:2266 ++#: send.c:2277 + msgid "Abort unmodified message?" + msgstr "Değiştirilmemiş ileti iptal edilsin mi?" + +-#: send.c:2268 ++#: send.c:2279 + msgid "Aborted unmodified message" + msgstr "Değiştirilmemiş ileti iptal edildi" + +-#: send.c:2388 ++#: send.c:2399 + msgid "No crypto backend configured. Disabling message security setting." + msgstr "" + +-#: send.c:2427 ++#: send.c:2438 + #, fuzzy + msgid "Article not posted" + msgstr "Eposta gönderilmedi" + +-#: send.c:2437 ++#: send.c:2448 + msgid "Message postponed" + msgstr "İleti ertelendi" + +-#: send.c:2470 ++#: send.c:2481 + msgid "No subject, abort sending?" + msgstr "Konu girilmedi, gönderme iptal edilsin mi?" + +-#: send.c:2474 send.c:2480 ++#: send.c:2485 send.c:2491 + msgid "No subject specified" + msgstr "Konu girilmedi" + +-#: send.c:2486 ++#: send.c:2497 + #, fuzzy + msgid "No newsgroup specified" + msgstr "Konu girilmedi" + +-#: send.c:2496 ++#: send.c:2507 + #, fuzzy + msgid "No attachments, cancel sending?" + msgstr "ek iletim kodlamasını (transfer-encoding) düzenle" + +-#: send.c:2501 ++#: send.c:2512 + msgid "Message contains text matching \"$abort_noattach_regex\". Not sending." + msgstr "" + +-#: send.c:2559 smtp.c:227 ++#: send.c:2570 smtp.c:230 + msgid "Sending message..." + msgstr "İleti gönderiliyor..." + +-#: send.c:2598 ++#: send.c:2609 + msgid "Could not send the message" + msgstr "İleti gönderilemedi" + +-#: send.c:2608 ++#: send.c:2619 + msgid "Sending in background" + msgstr "Ardalanda gönderiliyor" + +-#: send.c:2609 ++#: send.c:2620 + msgid "Article posted" + msgstr "" + +-#: send.c:2610 ++#: send.c:2621 + msgid "Mail sent" + msgstr "Eposta gönderildi" + +-#: sendlib.c:567 ++#: sendlib.c:566 + msgid "No boundary parameter found [report this error]" + msgstr "Sınırlandırma değişkeni bulunamadı [bu hatayı bildirin]" + +-#: sendlib.c:598 ++#: sendlib.c:597 + #, c-format + msgid "%s no longer exists" + msgstr "%s artık mevcut değil" + +-#: sendlib.c:1056 ++#: sendlib.c:1055 + #, c-format + msgid "%s isn't a regular file" + msgstr "%s uygun bir dosya değil!" + +-#: sendlib.c:1223 ++#: sendlib.c:1222 + #, fuzzy + msgid "Could not find any mime.types file." + msgstr "İleti gönderilemedi." + +-#: sendlib.c:1314 ++#: sendlib.c:1313 + #, c-format + msgid "Could not open %s" + msgstr "%s açılamadı" + +-#: sendlib.c:2864 ++#: sendlib.c:2855 + msgid "$sendmail must be set in order to send mail" + msgstr "" + +-#: sendlib.c:2971 ++#: sendlib.c:2962 + #, c-format + msgid "Error sending message, child exited %d (%s)" + msgstr "İleti gönderilirken hata oluştu, alt süreç %d ile sonlandı (%s)" + +-#: sendlib.c:2977 ++#: sendlib.c:2969 + msgid "Output of the delivery process" + msgstr "Gönderme işleminin ürettiği çıktı" + +-#: sendlib.c:3157 ++#: sendlib.c:3154 + #, c-format + msgid "Bad IDN %s while preparing resent-from" + msgstr "\"resent-from\" hazırlanırken hatalı IDN %s" + +-#: smtp.c:165 ++#: smtp.c:168 + #, fuzzy, c-format + msgid "SMTP session failed: %s" + msgstr "Yeniden isimlendirme başarısız: %s" + +-#: smtp.c:222 ++#: smtp.c:225 + #, fuzzy, c-format + msgid "SMTP session failed: unable to open %s" + msgstr "Yeniden isimlendirme başarısız: %s" + +-#: smtp.c:339 ++#: smtp.c:364 + #, c-format + msgid "Invalid SMTP URL: %s" + msgstr "Geçersiz SMTP URL: %s" + +-#: smtp.c:618 ++#: smtp.c:643 + #, c-format + msgid "SMTP authentication method %s requires SASL" + msgstr "" + +-#: smtp.c:625 ++#: smtp.c:650 + #, fuzzy, c-format + msgid "%s authentication failed, trying next method" + msgstr "SASL doğrulaması başarısız oldu." + +-#: smtp.c:636 ++#: smtp.c:661 + #, fuzzy + msgid "SMTP authentication requires SASL" + msgstr "GSSAPI doğrulaması başarısız oldu" + +-#: smtp.c:717 ++#: smtp.c:742 + msgid "SMTP server does not support authentication" + msgstr "" + +-#: smtp.c:756 ++#: smtp.c:781 + msgid "No from address given" + msgstr "" + +-#: smtp.c:821 ++#: smtp.c:846 + msgid "SMTP session failed: read error" + msgstr "" + +-#: smtp.c:823 ++#: smtp.c:848 + msgid "SMTP session failed: write error" + msgstr "" + +-#: smtp.c:825 ++#: smtp.c:850 + msgid "Invalid server response" + msgstr "" + +-#: sort.c:385 ++#: sort.c:387 + msgid "Sorting mailbox..." + msgstr "Eposta kutusu sıralanıyor..." + +-#: sort.c:427 ++#: sort.c:429 + msgid "Could not find sorting function [report this bug]" + msgstr "Sıralama işlevi bulunamadı [bu hatayı bildirin]" + +@@ -6988,10 +7066,10 @@ msgstr "" + "yeniden dağıtabilirsiniz. Ayrıntılı bilgi için 'neomutt -vv' komutunu\n" + "kullanabilirsiniz.\n" + +-#: version.c:446 ++#: version.c:451 + msgid "Default options:" + msgstr "Varsayılan seçenekler:" + +-#: version.c:449 ++#: version.c:454 + msgid "Compile options:" + msgstr "İnşa seçenekleri:" +diff --git a/po/uk.po b/po/uk.po +index 66741628d..42cd92418 100644 +--- a/po/uk.po ++++ b/po/uk.po +@@ -11,7 +11,7 @@ msgid "" + msgstr "" + "Project-Id-Version: neomutt-2019-12-07\n" + "Report-Msgid-Bugs-To: neomutt-devel@neomutt.org\n" +-"POT-Creation-Date: 2019-12-06 23:10+0000\n" ++"POT-Creation-Date: 2020-03-09 12:15+0000\n" + "PO-Revision-Date: 2019-05-10 19:47+0300\n" + "Last-Translator: Vsevolod Volkov \n" + "Language-Team: \n" +@@ -21,16 +21,40 @@ msgstr "" + "Content-Transfer-Encoding: 8bit\n" + "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +-#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:59 browser.c:80 browser.c:90 +-#: mutt_history.c:45 pager.c:228 postpone.c:68 query.c:80 recvattach.c:93 ++msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" ++msgstr "(r)не приймати, прийняти (o)одноразово або (a)завжди, (s)пропустити" ++ ++msgid "roas" ++msgstr "roas" ++ ++msgid "(r)eject, accept (o)nce, (a)ccept always" ++msgstr "(r)не приймати, прийняти (o)одноразово або (a)завжди" ++ ++msgid "roa" ++msgstr "roa" ++ ++msgid "(r)eject, accept (o)nce, (s)kip" ++msgstr "(r)не приймати, (o)прийняти одноразово, (s)пропустити" ++ ++msgid "ros" ++msgstr "ros" ++ ++msgid "(r)eject, accept (o)nce" ++msgstr "(r)не приймати, (o)прийняти одноразово" ++ ++msgid "ro" ++msgstr "ro" ++ ++#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:58 browser.c:79 browser.c:89 ++#: mutt_history.c:45 pager.c:220 postpone.c:68 query.c:78 recvattach.c:91 + msgid "Exit" + msgstr "Вихід" + +-#: addrbook.c:56 index.c:116 index.c:129 pager.c:236 pager.c:246 postpone.c:69 ++#: addrbook.c:56 index.c:112 index.c:125 pager.c:228 pager.c:238 postpone.c:69 + msgid "Del" + msgstr "Вид." + +-#: addrbook.c:57 index.c:117 index.c:130 postpone.c:70 ++#: addrbook.c:57 index.c:113 index.c:126 postpone.c:70 + msgid "Undel" + msgstr "Відн." + +@@ -38,18 +62,18 @@ msgstr "Відн." + msgid "Select" + msgstr "Вибір" + +-#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:82 browser.c:84 browser.c:96 +-#: compose.c:218 compose.c:230 conn/ssl.c:983 conn/ssl_gnutls.c:691 index.c:122 +-#: index.c:135 mutt_history.c:48 ncrypt/crypt_gpgme.c:4735 ncrypt/pgpkey.c:670 +-#: ncrypt/smime.c:553 pager.c:2326 postpone.c:71 query.c:85 recvattach.c:94 ++#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:81 browser.c:83 browser.c:95 ++#: compose.c:216 compose.c:228 conn/ssl.c:996 conn/ssl_gnutls.c:722 index.c:118 ++#: index.c:131 mutt_history.c:48 ncrypt/crypt_gpgme.c:4783 ncrypt/pgpkey.c:673 ++#: ncrypt/smime.c:555 pager.c:2297 postpone.c:71 query.c:83 recvattach.c:92 + msgid "Help" + msgstr "Допомога" + +-#: addrbook.c:208 ++#: addrbook.c:238 + msgid "You have no aliases" + msgstr "Ви не маєте жодного псевдоніму" + +-#: addrbook.c:215 ++#: addrbook.c:276 + msgid "Aliases" + msgstr "Псевдоніми" + +@@ -58,52 +82,52 @@ msgstr "Псевдоніми" + msgid "Alias as: " + msgstr "Псевдонім як: " + +-#: alias.c:411 ++#: alias.c:414 + msgid "You already have an alias defined with that name" + msgstr "Ви вже маєте псевдонім на це ім’я" + +-#: alias.c:417 ++#: alias.c:420 + msgid "Warning: This alias name may not work. Fix it?" + msgstr "Попередження: цей псевдонім може бути помилковим. Виправити?" + +-#: alias.c:442 ++#: alias.c:445 + msgid "Address: " + msgstr "Адреса: " + +-#: alias.c:453 commands.c:444 compose.c:744 conn/conn_raw.c:152 +-#: conn/conn_raw.c:210 recvcmd.c:232 send.c:228 ++#: alias.c:457 commands.c:450 compose.c:743 conn/conn_raw.c:152 ++#: conn/conn_raw.c:210 recvcmd.c:231 send.c:227 + #, c-format + msgid "Bad IDN: '%s'" + msgstr "Некоректний IDN: %s" + +-#: alias.c:464 ++#: alias.c:468 + msgid "Personal name: " + msgstr "Повне ім’я: " + +-#: alias.c:473 ++#: alias.c:477 + #, c-format + msgid "[%s = %s] Accept?" + msgstr "[%s = %s] Вірно?" + +-#: alias.c:484 recvattach.c:528 recvattach.c:550 recvattach.c:564 +-#: recvattach.c:579 recvattach.c:678 ++#: alias.c:488 recvattach.c:530 recvattach.c:552 recvattach.c:566 ++#: recvattach.c:581 recvattach.c:680 + msgid "Save to file: " + msgstr "Зберегти до файлу: " + +-#: alias.c:503 ++#: alias.c:507 + msgid "Error reading alias file" + msgstr "Помилка читання файлу псевдонімів" + +-#: alias.c:525 ++#: alias.c:529 + #, fuzzy + msgid "Trouble adding alias" + msgstr "Помилка читання файлу псевдонімів" + +-#: alias.c:527 ++#: alias.c:531 + msgid "Alias added" + msgstr "Псевдонім додано" + +-#: alias.c:532 ++#: alias.c:536 + msgid "Error seeking in alias file" + msgstr "Помилка позиціонування в файлі псевдонімів" + +@@ -112,7 +136,7 @@ msgstr "Помилка позиціонування в файлі псевдон + #. for some reason (e.g. autocrypt, header cache, bcache), but it + #. doesn't exist. The prompt is asking whether to create the directory + #. +-#: autocrypt/autocrypt.c:70 main.c:826 ++#: autocrypt/autocrypt.c:70 main.c:757 + #, c-format + msgid "%s does not exist. Create it?" + msgstr "%s не існує. Створити його?" +@@ -121,8 +145,8 @@ msgstr "%s не існує. Створити його?" + #. mkdir() on the directory %s failed. The second %s is the + #. error message returned by libc + #. +-#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:830 +-#: nntp/newsrc.c:1069 ++#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:761 ++#: nntp/newsrc.c:1098 + #, c-format + msgid "Can't create %s: %s" + msgstr "Неможливо створити %s: %s" +@@ -132,36 +156,36 @@ msgstr "Неможливо створити %s: %s" + #. create $autocrypt_dir and then prompt to create an autocrypt + #. account with this message. + #. +-#: autocrypt/autocrypt.c:156 ++#: autocrypt/autocrypt.c:163 + msgid "Create an initial autocrypt account?" +-msgstr "" ++msgstr "Створити обліковий запис autocrypt?" + + #. L10N: + #. Autocrypt is asking for the email address to use for the + #. autocrypt account. This will generate a key and add a record + #. to the database for use in autocrypt operations. + #. +-#: autocrypt/autocrypt.c:180 ++#: autocrypt/autocrypt.c:187 + msgid "Autocrypt account address: " +-msgstr "" ++msgstr "Адреса облікового запису autocrypt: " + + #. L10N: + #. Autocrypt prompts for an account email address, and requires + #. a single address. This is shown if they entered something invalid, + #. nothing, or more than one address for some reason. + #. +-#: autocrypt/autocrypt.c:191 ++#: autocrypt/autocrypt.c:198 + msgid "Please enter a single email address" +-msgstr "" ++msgstr "Введіть лише одну адресу електронної пошти" + + #. L10N: + #. When creating an autocrypt account, this message will be displayed + #. if there is already an account in the database with the email address + #. they just entered. + #. +-#: autocrypt/autocrypt.c:208 ++#: autocrypt/autocrypt.c:215 + msgid "That email address already has an autocrypt account" +-msgstr "" ++msgstr "Ця адреса вже має обліковий запис autocrypt" + + #. L10N: + #. Autocrypt has a setting "prefer-encrypt". +@@ -171,35 +195,34 @@ msgstr "" + #. Otherwise the UI will show encryption is "available" but the user + #. will be required to enable encryption manually. + #. +-#: autocrypt/autocrypt.c:223 +-#, fuzzy ++#: autocrypt/autocrypt.c:230 + msgid "Prefer encryption?" +-msgstr "шифрування" ++msgstr "Віддавати перевагу шифруванню?" + + #. L10N: + #. Message displayed after an autocrypt account is successfully created. + #. +-#: autocrypt/autocrypt.c:236 ++#: autocrypt/autocrypt.c:243 + msgid "Autocrypt account creation succeeded" +-msgstr "" ++msgstr "Обліковий запис autocrypt успішно створено" + + #. L10N: + #. Error message displayed if creating an autocrypt account failed + #. or was aborted by the user. + #. +-#: autocrypt/autocrypt.c:242 ++#: autocrypt/autocrypt.c:249 + msgid "Autocrypt account creation aborted" +-msgstr "" ++msgstr "Створення облікового запису autocrypt перервано" + + #. L10N: + #. %s is an email address. Autocrypt is scanning for the keyids + #. to use to encrypt, but it can't find a valid keyid for this address. + #. The message is printed and they are returned to the compose menu. + #. +-#: autocrypt/autocrypt.c:610 autocrypt/autocrypt.c:639 +-#, fuzzy, c-format ++#: autocrypt/autocrypt.c:617 autocrypt/autocrypt.c:646 ++#, c-format + msgid "No (valid) autocrypt key found for %s" +-msgstr "Немає (правильних) сертифікатів для %s" ++msgstr "Немає (дійсного) ключа autocrypt для %s" + + #. L10N: + #. The first time autocrypt is enabled, NeoMutt will ask to scan +@@ -208,12 +231,12 @@ msgstr "Немає (правильних) сертифікатів для %s" + #. and used for encryption. + #. If this is answered yes, they will be prompted for a mailbox. + #. +-#: autocrypt/autocrypt.c:903 ++#: autocrypt/autocrypt.c:910 + msgid "Scan a mailbox for autocrypt headers?" + msgstr "Перевірити наявність заголовків autocrypt у поштовій скринці?" + + #. L10N: The prompt for a mailbox to scan for Autocrypt: headers +-#: autocrypt/autocrypt.c:907 ++#: autocrypt/autocrypt.c:914 + msgid "Scan mailbox" + msgstr "Перевірка поштової скриньки" + +@@ -224,21 +247,21 @@ msgstr "Перевірка поштової скриньки" + #. for a mailbox. This is because this is a one-time operation + #. and I don't want them to accidentally ctrl-g and abort it. + #. +-#: autocrypt/autocrypt.c:927 ++#: autocrypt/autocrypt.c:934 + msgid "Scan another mailbox for autocrypt headers?" + msgstr "Перевірити наявність заголовків autocrypt в іншій скринці?" + + #. L10N: Autocrypt Account Menu Help line: + #. create new account + #. +-#: autocrypt/autocrypt_acct_menu.c:63 ++#: autocrypt/autocrypt_acct_menu.c:62 + msgid "Create" + msgstr "Створити" + + #. L10N: Autocrypt Account Menu Help line: + #. delete account + #. +-#: autocrypt/autocrypt_acct_menu.c:67 remailer.c:77 ++#: autocrypt/autocrypt_acct_menu.c:66 remailer.c:75 + msgid "Delete" + msgstr "Видал." + +@@ -246,9 +269,9 @@ msgstr "Видал." + #. toggle an account active/inactive + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:74 ++#: autocrypt/autocrypt_acct_menu.c:73 + msgid "Tgl Active" + msgstr "Перем Актив" + +@@ -256,17 +279,17 @@ msgstr "Перем Актив" + #. toggle "prefer-encrypt" on an account + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:81 +-msgid "Prf Enc" ++#: autocrypt/autocrypt_acct_menu.c:80 ++msgid "Prf Encr" + msgstr "Перев Шифр" + + #. L10N: + #. Autocrypt Account menu. + #. flag that an account has prefer-encrypt set + #. +-#: autocrypt/autocrypt_acct_menu.c:123 ++#: autocrypt/autocrypt_acct_menu.c:122 + msgid "prefer encrypt" + msgstr "віддавати перевагу шифруванню" + +@@ -275,7 +298,7 @@ msgstr "віддавати перевагу шифруванню" + #. flag that an account has prefer-encrypt unset; + #. thus encryption will need to be manually enabled. + #. +-#: autocrypt/autocrypt_acct_menu.c:130 ++#: autocrypt/autocrypt_acct_menu.c:129 + msgid "manual encrypt" + msgstr "ручне шифрування" + +@@ -283,7 +306,7 @@ msgstr "ручне шифрування" + #. Autocrypt Account menu. + #. flag that an account is enabled/active + #. +-#: autocrypt/autocrypt_acct_menu.c:138 ++#: autocrypt/autocrypt_acct_menu.c:137 + msgid "active" + msgstr "активн" + +@@ -291,12 +314,12 @@ msgstr "активн" + #. Autocrypt Account menu. + #. flag that an account is disabled/inactive + #. +-#: autocrypt/autocrypt_acct_menu.c:144 ++#: autocrypt/autocrypt_acct_menu.c:143 + msgid "inactive" + msgstr "неактивн" + + #. L10N: Autocrypt Account Management Menu title +-#: autocrypt/autocrypt_acct_menu.c:183 ++#: autocrypt/autocrypt_acct_menu.c:182 + msgid "Autocrypt Accounts" + msgstr "Облікові записи autocrypt" + +@@ -304,12 +327,12 @@ msgstr "Облікові записи autocrypt" + #. This error message is displayed if a database update of an + #. account record fails for some odd reason. + #. +-#: autocrypt/autocrypt_acct_menu.c:245 autocrypt/autocrypt_acct_menu.c:259 ++#: autocrypt/autocrypt_acct_menu.c:244 autocrypt/autocrypt_acct_menu.c:258 + msgid "Error updating account record" + msgstr "Помилка збереження інформації про обліковий запис" + + #. L10N: Confirmation message when deleting an autocrypt account +-#: autocrypt/autocrypt_acct_menu.c:302 ++#: autocrypt/autocrypt_acct_menu.c:333 + #, c-format + msgid "Really delete account \"%s\"?" + msgstr "Дійсно видалити обліковий запис \"%s\"?" +@@ -327,7 +350,7 @@ msgstr "Дійсно видалити обліковий запис \"%s\"?" + msgid "Unable to open autocrypt database %s" + msgstr "Неможливо відкрити базу даних autocrypt %s" + +-#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:774 ++#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:773 + #, c-format + msgid "error creating gpgme context: %s" + msgstr "помилка при створенні контексту gpgme: %s" +@@ -400,284 +423,235 @@ msgstr "Версія бази даних autocrypt занадто нова" + msgid "Message cache isn't a directory: %s" + msgstr "%s не є каталогом" + +-#: browser.c:81 ++#: browser.c:80 + msgid "Chdir" + msgstr "Перейти:" + +-#: browser.c:82 ++#: browser.c:81 + msgid "Goto" + msgstr "" + +-#: browser.c:83 browser.c:95 ++#: browser.c:82 browser.c:94 + msgid "Mask" + msgstr "Маска" + +-#: browser.c:91 ++#: browser.c:90 + msgid "List" + msgstr "" + +-#: browser.c:92 ++#: browser.c:91 + #, fuzzy + msgid "Subscribe" + msgstr "Підписано на %s..." + +-#: browser.c:93 ++#: browser.c:92 + #, fuzzy + msgid "Unsubscribe" + msgstr "Відписано від %s..." + +-#: browser.c:94 index.c:134 ++#: browser.c:93 index.c:130 + msgid "Catchup" + msgstr "" + +-#: browser.c:760 browser.c:1519 browser.c:1758 ++#: browser.c:763 browser.c:1584 browser.c:1825 + #, c-format + msgid "%s is not a directory" + msgstr "%s не є каталогом" + +-#: browser.c:1025 ++#: browser.c:1028 + #, fuzzy, c-format + msgid "Subscribed newsgroups" + msgstr "Підписано на %s..." + +-#: browser.c:1028 ++#: browser.c:1031 + #, c-format + msgid "Newsgroups on server [%s]" + msgstr "" + +-#: browser.c:1038 ++#: browser.c:1041 + #, c-format + msgid "Mailboxes [%d]" + msgstr "Поштові скриньки [%d]" + +-#: browser.c:1050 ++#: browser.c:1053 + #, c-format + msgid "Subscribed [%s], File mask: %s" + msgstr "Підписані [%s] з маскою: %s" + +-#: browser.c:1056 ++#: browser.c:1059 + #, c-format + msgid "Directory [%s], File mask: %s" + msgstr "Каталог [%s] з маскою: %s" + +-#: browser.c:1113 ++#: browser.c:1116 + msgid "Can't attach a directory" + msgstr "Неможливо додати каталог" + +-#: browser.c:1380 browser.c:1814 browser.c:1959 ++#: browser.c:1445 browser.c:1881 browser.c:2026 + msgid "No files match the file mask" + msgstr "Немає файлів, що відповідають масці" + +-#: browser.c:1587 ++#: browser.c:1654 + msgid "Create is only supported for IMAP mailboxes" + msgstr "Створення підтримується лише для скриньок IMAP" + +-#: browser.c:1609 ++#: browser.c:1676 + msgid "Rename is only supported for IMAP mailboxes" + msgstr "Перейменування підтримується лише для скриньок IMAP" + +-#: browser.c:1630 ++#: browser.c:1697 + msgid "Delete is only supported for IMAP mailboxes" + msgstr "Видалення підтримується лише для скриньок IMAP" + +-#: browser.c:1642 ++#: browser.c:1709 + #, fuzzy + msgid "Can't delete currently selected mailbox" + msgstr "показати ім’я вибраного файлу" + +-#: browser.c:1646 ++#: browser.c:1713 + #, c-format + msgid "Really delete mailbox \"%s\"?" + msgstr "Впевнені у видаленні скриньки \"%s\"?" + +-#: browser.c:1663 ++#: browser.c:1730 + msgid "Mailbox deleted" + msgstr "Поштову скриньку видалено" + +-#: browser.c:1667 ++#: browser.c:1734 + msgid "Mailbox deletion failed" + msgstr "Помилка видалення поштової скриньки" + +-#: browser.c:1670 ++#: browser.c:1737 + msgid "Mailbox not deleted" + msgstr "Поштову скриньку не видалено" + +-#: browser.c:1697 ++#: browser.c:1764 + msgid "Chdir to: " + msgstr "Перейти до: " + +-#: browser.c:1747 browser.c:1808 ++#: browser.c:1814 browser.c:1875 + msgid "Error scanning directory" + msgstr "Помилка перегляду каталогу" + +-#: browser.c:1769 ++#: browser.c:1836 + msgid "File Mask: " + msgstr "Маска: " + + #. L10N: The highlighted letters must match the "Sort" options +-#: browser.c:1831 ++#: browser.c:1898 + #, fuzzy + msgid "Reverse sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "Зворотньо сортувати за датою(d), літерою(a), розміром(z), чи не сортувати(n)?" + + #. L10N: The highlighted letters must match the "Reverse Sort" options +-#: browser.c:1834 ++#: browser.c:1901 + #, fuzzy + msgid "Sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "Сортувати за датою(d), літерою(a), розміром(z), чи не сортувати(n)?" + + #. L10N: These must match the highlighted letters from "Sort" and "Reverse Sort" +-#: browser.c:1837 ++#: browser.c:1904 + msgid "dazecwn" + msgstr "" + +-#: browser.c:1948 ++#: browser.c:2015 + msgid "New file name: " + msgstr "Нове ім’я файлу: " + +-#: browser.c:1976 ++#: browser.c:2043 + msgid "Can't view a directory" + msgstr "Неможливо переглянути каталог" + +-#: browser.c:1993 ++#: browser.c:2060 + msgid "Error trying to view file" + msgstr "Помилка при спробі перегляду файлу" + +-#: browser.c:2079 ++#: browser.c:2146 + #, fuzzy, c-format + msgid "Subscribe pattern: " + msgstr "Підписано на %s..." + +-#: browser.c:2081 ++#: browser.c:2148 + #, fuzzy, c-format + msgid "Unsubscribe pattern: " + msgstr "Відписано від %s..." + +-#: browser.c:2101 ++#: browser.c:2169 + #, fuzzy + msgid "No newsgroups match the mask" + msgstr "Немає файлів, що відповідають масці" + +-#: color.c:633 color.c:644 +-#, c-format +-msgid "%s: color not supported by term" +-msgstr "%s: колір не підтримується терміналом" +- +-#: color.c:652 +-#, c-format +-msgid "%s: no such color" +-msgstr "%s: такого кольору немає" +- +-#: color.c:717 color.c:740 color.c:751 color.c:842 +-#, c-format +-msgid "%s: no such object" +-msgstr "%s: такого об’єкту немає" +- +-#: color.c:731 color.c:868 color.c:1069 color.c:1098 color.c:1122 color.c:1191 +-#: color.c:1214 hook.c:110 hook.c:124 hook.c:367 hook.c:383 init.c:612 +-#: init.c:620 init.c:709 init.c:1099 init.c:1267 init.c:1871 init.c:1929 +-#: keymap.c:1184 score.c:110 +-#, c-format +-msgid "%s: too few arguments" +-msgstr "%s: замало аргументів" +- +-#: color.c:1142 +-#, c-format +-msgid "%s: no such attribute" +-msgstr "%s: такого атрібуту немає" +- +-#: color.c:1223 color.c:1329 hook.c:131 hook.c:390 init.c:1123 init.c:2133 +-#: init.c:2611 keymap.c:1116 keymap.c:1289 keymap.c:1442 keymap.c:1506 +-#: mutt_lua.c:483 score.c:119 +-#, c-format +-msgid "%s: too many arguments" +-msgstr "%s: забагато аргументів" +- +-#: color.c:1244 +-msgid "default colors not supported" +-msgstr "типові кольори не підтримуються" +- +-#: color.c:1282 +-#, c-format +-msgid "Maximum quoting level is %d" +-msgstr "" +- +-#: color.c:1319 +-#, fuzzy, c-format +-msgid "%s: invalid number: %s" +-msgstr "Помилка: score: неправильне число" +- + #. L10N: Used for the $crypt_verify_sig prompt +-#: commands.c:230 ++#: commands.c:232 + msgid "Verify signature?" + msgstr "Перевірити підпис?" + +-#: commands.c:257 mbox/mbox.c:1236 ++#: commands.c:259 mbox/mbox.c:1236 + msgid "Could not create temporary file" + msgstr "Не вийшло створити тимчасовий файл" + +-#: commands.c:269 ++#: commands.c:271 + msgid "Can't create display filter" + msgstr "Неможливо створити фільтр відображення" + +-#: commands.c:302 ++#: commands.c:304 + msgid "Could not copy message" + msgstr "Не вийшло скопіювати повідомлення" + +-#: commands.c:338 ++#: commands.c:340 + msgid "S/MIME signature successfully verified" + msgstr "Підпис S/MIME перевірено" + +-#: commands.c:340 ++#: commands.c:342 + msgid "S/MIME certificate owner does not match sender" + msgstr "Відправник листа не є власником сертифіката S/MIME" + +-#: commands.c:343 commands.c:353 ++#: commands.c:345 commands.c:355 + msgid "Warning: Part of this message has not been signed" + msgstr "Попередження: частина цього листа не підписана" + +-#: commands.c:345 ++#: commands.c:347 + msgid "S/MIME signature could NOT be verified" + msgstr "Перевірити підпис S/MIME неможливо" + +-#: commands.c:351 ++#: commands.c:353 + msgid "PGP signature successfully verified" + msgstr "Підпис PGP перевірено" + +-#: commands.c:355 ++#: commands.c:357 + msgid "PGP signature could NOT be verified" + msgstr "Перевірити підпис PGP неможливо" + +-#: commands.c:372 compose.c:2116 compress.c:321 curs_lib.c:359 curs_lib.c:646 +-#: index.c:1235 index.c:1285 mutt_attach.c:159 mutt_attach.c:292 pager.c:2460 +-#: sendlib.c:1625 ++#: commands.c:378 compose.c:2187 compress/compress.c:320 gui/curs_lib.c:360 ++#: gui/curs_lib.c:714 index.c:1240 index.c:1290 mutt_attach.c:161 ++#: mutt_attach.c:294 pager.c:2433 sendlib.c:1624 + #, c-format + msgid "Error running \"%s\"" + msgstr "Помилка виконання \"%s\"" + +-#: commands.c:382 ++#: commands.c:388 + msgid "Command: " + msgstr "Команда: " + +-#: commands.c:419 recvcmd.c:191 recvcmd.c:203 ++#: commands.c:425 recvcmd.c:190 recvcmd.c:202 + msgid "Warning: message contains no From: header" + msgstr "Попередження: лист не має заголовку From:" + +-#: commands.c:425 recvcmd.c:212 ++#: commands.c:431 recvcmd.c:211 + #, fuzzy + msgid "Bounce message to: " + msgstr "Надіслати копію листа: " + +-#: commands.c:427 recvcmd.c:214 ++#: commands.c:433 recvcmd.c:213 + #, fuzzy + msgid "Bounce tagged messages to: " + msgstr "Надіслати копії виділених листів: " + +-#: commands.c:436 recvcmd.c:224 ++#: commands.c:442 recvcmd.c:223 + msgid "Error parsing address" + msgstr "Помилка розбору адреси" + +-#: commands.c:455 recvcmd.c:243 ++#: commands.c:461 recvcmd.c:242 + #, fuzzy, c-format + msgid "Bounce message to %s?" + msgid_plural "Bounce messages to %s?" +@@ -685,7 +659,7 @@ msgstr[0] "Надіслати копію листа %s?" + msgstr[1] "Надіслати копії листів %s?" + msgstr[2] "Надіслати копії листів %s?" + +-#: commands.c:470 recvcmd.c:257 ++#: commands.c:476 recvcmd.c:257 + #, fuzzy + msgid "Message not bounced" + msgid_plural "Messages not bounced" +@@ -693,7 +667,7 @@ msgstr[0] "Копію листа не переслано" + msgstr[1] "Копії листів не переслано" + msgstr[2] "Копії листів не переслано" + +-#: commands.c:496 recvcmd.c:276 ++#: commands.c:502 recvcmd.c:276 + #, fuzzy + msgid "Message bounced" + msgid_plural "Messages bounced" +@@ -701,29 +675,29 @@ msgstr[0] "Копію листа переслано" + msgstr[1] "Копії листів переслано" + msgstr[2] "Копії листів переслано" + +-#: commands.c:606 commands.c:642 commands.c:662 ++#: commands.c:612 commands.c:648 commands.c:668 + msgid "Can't create filter process" + msgstr "Неможливо створити процес фільтру" + +-#: commands.c:698 ++#: commands.c:704 + msgid "Pipe to command: " + msgstr "Передати до програми: " + +-#: commands.c:720 ++#: commands.c:726 + msgid "No printing command has been defined" + msgstr "Команду для друку не визначено" + +-#: commands.c:732 ++#: commands.c:738 + #, fuzzy + msgid "Print message?" + msgstr "Друкувати повідомлення?" + +-#: commands.c:733 ++#: commands.c:739 + #, fuzzy + msgid "Print tagged messages?" + msgstr "Друкувати виділені повідомлення?" + +-#: commands.c:739 ++#: commands.c:745 + #, fuzzy + msgid "Message printed" + msgid_plural "Messages printed" +@@ -731,7 +705,7 @@ msgstr[0] "Повідомлення надруковано" + msgstr[1] "Повідомлення надруковані" + msgstr[2] "Повідомлення надруковані" + +-#: commands.c:742 ++#: commands.c:748 + #, fuzzy + msgid "Message could not be printed" + msgid_plural "Messages could not be printed" +@@ -740,161 +714,325 @@ msgstr[1] "Повідомлення не можуть бути надруков + msgstr[2] "Повідомлення не можуть бути надруковані" + + #. L10N: The highlighted letters must match the "Sort" options +-#: commands.c:759 ++#: commands.c:765 + msgid "Rev-Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "Звор.Сорт.:(d)дата/(f)від/(r)отр/(s)тема/(o)кому/(t)розмова/(u)без/(z)розмір/(c)рахунок/(p)спам/(l)позн?" + + #. L10N: The highlighted letters must match the "Rev-Sort" options +-#: commands.c:763 ++#: commands.c:769 + msgid "Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "Сортувати: (d)дата/(f)від/(r)отр/(s)тема/(o)кому/(t)розмова/(u)без/(z)розмір/(c)рахунок/(p)спам/(l)позн?" + + #. L10N: These must match the highlighted letters from "Sort" and "Rev-Sort" +-#: commands.c:767 ++#: commands.c:773 + msgid "dfrsotuzcpl" + msgstr "dfrsotuzcpl" + +-#: commands.c:831 ++#: commands.c:837 + msgid "Shell command: " + msgstr "Команда системи: " + +-#: commands.c:1036 ++#: commands.c:1042 + #, fuzzy + msgid "Decode-save to mailbox" + msgstr "Розкодувати і перенести до скриньки" + +-#: commands.c:1036 ++#: commands.c:1042 + #, fuzzy + msgid "Decode-save tagged to mailbox" + msgstr "Розкодувати і перенести виділені до скриньки" + +-#: commands.c:1038 ++#: commands.c:1044 + #, fuzzy + msgid "Decrypt-save to mailbox" + msgstr "Розшифрувати і перенести до скриньки" + +-#: commands.c:1038 ++#: commands.c:1044 + #, fuzzy + msgid "Decrypt-save tagged to mailbox" + msgstr "Розшифрувати і перенести виділені до скриньки" + +-#: commands.c:1040 ++#: commands.c:1046 + #, fuzzy + msgid "Save to mailbox" + msgstr "Перенести до скриньки" + +-#: commands.c:1040 ++#: commands.c:1046 + #, fuzzy + msgid "Save tagged to mailbox" + msgstr "Перенести виділені до скриньки" + +-#: commands.c:1045 ++#: commands.c:1051 + #, fuzzy + msgid "Decode-copy to mailbox" + msgstr "Розкодувати і копіювати до скриньки" + +-#: commands.c:1045 ++#: commands.c:1051 + #, fuzzy + msgid "Decode-copy tagged to mailbox" + msgstr "Розкодувати і копіювати виділені до скриньки" + +-#: commands.c:1047 ++#: commands.c:1053 + #, fuzzy + msgid "Decrypt-copy to mailbox" + msgstr "Розшифрувати і копіювати до скриньки" + +-#: commands.c:1047 ++#: commands.c:1053 + #, fuzzy + msgid "Decrypt-copy tagged to mailbox" + msgstr "Розшифрувати і копіювати виділені до скриньки" + +-#: commands.c:1049 ++#: commands.c:1055 + #, fuzzy + msgid "Copy to mailbox" + msgstr "Копіювати до скриньки" + +-#: commands.c:1049 ++#: commands.c:1055 + #, fuzzy + msgid "Copy tagged to mailbox" + msgstr "Копіювати виділені до скриньки" + +-#: commands.c:1092 ++#: commands.c:1098 + #, c-format + msgid "Copying to %s..." + msgstr "Копіювання до %s..." + + #. L10N: e.g. "text/plain; charset=UTF-8; ..." +-#: commands.c:1257 ++#: commands.c:1263 + #, fuzzy + msgid "Content type is too long" + msgstr "Тип даних змінено на %s" + +-#: commands.c:1281 ++#: commands.c:1290 + #, c-format + msgid "Convert to %s upon sending?" + msgstr "Перетворити на %s при надсиланні?" + +-#: commands.c:1292 ++#: commands.c:1301 + #, c-format + msgid "Content-Type changed to %s" + msgstr "Тип даних змінено на %s" + +-#: commands.c:1297 ++#: commands.c:1306 + #, fuzzy, c-format + msgid "Character set changed to %s; not converting" + msgstr "Кодування змінено на %s; не перетворюється" + +-#: commands.c:1298 ++#: commands.c:1307 + #, fuzzy, c-format + msgid "Character set changed to %s; converting" + msgstr "Кодування змінено на %s; перетворюється" + +-#: compose.c:99 ++#: command_parse.c:83 command_parse.c:211 command_parse.c:219 ++#: command_parse.c:740 command_parse.c:887 command_parse.c:1491 ++#: command_parse.c:1549 gui/color.c:731 gui/color.c:868 gui/color.c:1069 ++#: gui/color.c:1098 gui/color.c:1122 gui/color.c:1191 gui/color.c:1214 ++#: hook.c:110 hook.c:124 hook.c:372 hook.c:388 keymap.c:1182 score.c:110 ++#, c-format ++msgid "%s: too few arguments" ++msgstr "%s: замало аргументів" ++ ++#: command_parse.c:394 ++msgid "-group: no group name" ++msgstr "-group: не вказано імені групи" ++ ++#: command_parse.c:404 ++msgid "out of arguments" ++msgstr "замало аргументів" ++ ++#: command_parse.c:445 command_parse.c:1372 ++#, c-format ++msgid "Error: Can't build path of '%s'" ++msgstr "" ++ ++#: command_parse.c:458 ++#, c-format ++msgid "Error: Cyclic sourcing of configuration file '%s'" ++msgstr "" ++ ++#: command_parse.c:491 ++#, c-format ++msgid "Error in %s, line %d: %s" ++msgstr "Помилка в %s, рядок %d: %s" ++ ++#: command_parse.c:502 ++#, fuzzy, c-format ++msgid "Warning in %s, line %d: %s" ++msgstr "Помилка в %s, рядок %d: %s" ++ ++#: command_parse.c:526 ++#, c-format ++msgid "source: errors in %s" ++msgstr "source: помилки в %s" ++ ++#: command_parse.c:526 ++#, c-format ++msgid "source: reading aborted due to too many errors in %s" ++msgstr "source: читання припинено, дуже багато помилок у %s" ++ ++#: command_parse.c:535 ++#, fuzzy, c-format ++msgid "source: %d warning in %s" ++msgid_plural "source: %d warnings in %s" ++msgstr[0] "source: помилки в %s" ++msgstr[1] "source: помилки в %s" ++msgstr[2] "source: помилки в %s" ++ ++#: command_parse.c:564 ++msgid "alias: no address" ++msgstr "alias: адреси немає" ++ ++#: command_parse.c:606 ++#, c-format ++msgid "Warning: Bad IDN '%s' in alias '%s'" ++msgstr "Попередження: Погане IDN \"%s\" в псевдонімі \"%s\"" ++ ++#: command_parse.c:684 ++msgid "attachments: no disposition" ++msgstr "attachments: відсутній параметр disposition" ++ ++#: command_parse.c:695 ++#, fuzzy ++msgid "Current attachments settings:" ++msgstr "змінити пояснення до додатку" ++ ++#: command_parse.c:725 ++msgid "attachments: invalid disposition" ++msgstr "attachments: неправильний параметр disposition" ++ ++#: command_parse.c:764 command_parse.c:1753 command_parse.c:2205 ++#: gui/color.c:1223 gui/color.c:1329 hook.c:131 hook.c:395 keymap.c:1114 ++#: keymap.c:1287 keymap.c:1440 keymap.c:1504 mutt_lua.c:485 score.c:119 ++#, c-format ++msgid "%s: too many arguments" ++msgstr "%s: забагато аргументів" ++ ++#: command_parse.c:801 ++#, c-format ++msgid "%sgroup: missing -rx or -addr" ++msgstr "%sgroup: відсутні -rx чи -addr" ++ ++#: command_parse.c:827 ++#, c-format ++msgid "%sgroup: warning: bad IDN '%s'" ++msgstr "%sgroup: попередження: погане IDN: %s" ++ ++#: command_parse.c:898 ++#, c-format ++msgid "Error: %s" ++msgstr "" ++ ++#: command_parse.c:1065 ++msgid "invalid header field" ++msgstr "неправильне поле заголовку" ++ ++#: command_parse.c:1331 command_parse.c:1435 ++#, c-format ++msgid "%s: unknown variable" ++msgstr "%s: невідома змінна" ++ ++#: command_parse.c:1528 ++#, c-format ++msgid "%s is unset" ++msgstr "%s не встановлено" ++ ++#: command_parse.c:1573 mutt_lua.c:480 ++#, c-format ++msgid "source: error at %s" ++msgstr "source: помилка в %s" ++ ++#: command_parse.c:1581 ++#, fuzzy, c-format ++msgid "source: file %s could not be sourced" ++msgstr "Повідомлення не можуть бути надруковані" ++ ++#: command_parse.c:1604 ++msgid "spam: no matching pattern" ++msgstr "спам: зразок не знайдено" ++ ++#: command_parse.c:1606 ++msgid "nospam: no matching pattern" ++msgstr "не спам: зразок не знайдено" ++ ++#: command_parse.c:1762 imap/imap.c:1443 ++#, c-format ++msgid "Subscribed to %s" ++msgstr "Підписано на %s..." ++ ++#: command_parse.c:1766 ++#, fuzzy, c-format ++msgid "Could not subscribe to %s" ++msgstr "Підписано на %s..." ++ ++#: command_parse.c:1774 command_parse.c:2226 ++#, fuzzy ++msgid "No folder specified" ++msgstr "Теми не вказано." ++ ++#: command_parse.c:1943 ++msgid "unattachments: no disposition" ++msgstr "unattachments: відсутні йпараметр disposition" ++ ++#: command_parse.c:1981 ++msgid "unattachments: invalid disposition" ++msgstr "unattachments: неправильний параметр disposition" ++ ++#: command_parse.c:2214 imap/imap.c:1445 ++#, c-format ++msgid "Unsubscribed from %s" ++msgstr "Відписано від %s..." ++ ++#: command_parse.c:2218 ++#, fuzzy, c-format ++msgid "Could not unsubscribe from %s" ++msgstr "Відписано від %s..." ++ ++#: compose.c:97 + msgid "There are no attachments" + msgstr "Додатків немає" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:166 ++#: compose.c:164 + msgid "From: " + msgstr "From: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:168 send.c:284 ++#: compose.c:166 send.c:284 + msgid "To: " + msgstr "To: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:170 send.c:286 ++#: compose.c:168 send.c:286 + msgid "Cc: " + msgstr "Cc: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:172 send.c:288 ++#: compose.c:170 send.c:288 + msgid "Bcc: " + msgstr "Bcc: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:174 compose.c:1242 send.c:320 ++#: compose.c:172 compose.c:1302 send.c:320 + msgid "Subject: " + msgstr "Subject: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:176 ++#: compose.c:174 + msgid "Reply-To: " + msgstr "Reply-To: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:178 compose.c:1261 ++#: compose.c:176 compose.c:1321 + msgid "Fcc: " + msgstr "Fcc: " + + #. L10N: "Mix" refers to the MixMaster chain for anonymous email +-#: compose.c:181 ++#: compose.c:179 + msgid "Mix: " + msgstr "Mix: " + + #. L10N: Compose menu field. Holds "Encrypt", "Sign" related information +-#: compose.c:184 ++#: compose.c:182 + msgid "Security: " + msgstr "Безпека: " + +@@ -905,78 +1043,78 @@ msgstr "Безпека: " + #. it should not be longer than the other compose menu fields. + #. Since it shares the row with "Encrypt with:", it should not be longer + #. than 15-20 character cells. +-#: compose.c:192 ncrypt/crypt_gpgme.c:5602 ncrypt/pgp.c:1974 +-#: ncrypt/smime.c:2395 ++#: compose.c:190 ncrypt/crypt_gpgme.c:5682 ncrypt/pgp.c:1976 ++#: ncrypt/smime.c:2429 + msgid "Sign as: " + msgstr "Підпис як: " + + #. L10N: The compose menu autocrypt line +-#: compose.c:195 ++#: compose.c:193 + msgid "Autocrypt: " + msgstr "Autocrypt: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:199 ++#: compose.c:197 + msgid "Newsgroups: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:201 ++#: compose.c:199 + #, fuzzy + msgid "Followup-To: " + msgstr "Переслати %s%s?" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:203 ++#: compose.c:201 + #, fuzzy + msgid "X-Comment-To: " + msgstr "змінити поле Reply-To" + +-#: compose.c:208 compose.c:224 ++#: compose.c:206 compose.c:222 + msgid "Send" + msgstr "Відправити" + +-#: compose.c:209 compose.c:225 remailer.c:77 ++#: compose.c:207 compose.c:223 remailer.c:75 + msgid "Abort" + msgstr "Відміна" + + #. L10N: compose menu help line entry +-#: compose.c:211 ++#: compose.c:209 + msgid "To" + msgstr "To" + + #. L10N: compose menu help line entry +-#: compose.c:213 ++#: compose.c:211 + msgid "CC" + msgstr "CC" + + #. L10N: compose menu help line entry +-#: compose.c:215 compose.c:227 ++#: compose.c:213 compose.c:225 + msgid "Subj" + msgstr "Subj" + +-#: compose.c:216 compose.c:228 compose.c:1556 ++#: compose.c:214 compose.c:226 compose.c:1616 + msgid "Attach file" + msgstr "Додати файл" + +-#: compose.c:217 compose.c:229 ++#: compose.c:215 compose.c:227 + msgid "Descrip" + msgstr "Опис" + +-#: compose.c:226 ++#: compose.c:224 + #, fuzzy + msgid "Newsgroups" + msgstr "Теми не вказано." + + #. L10N: Autocrypt recommendation flag: off. + #. * This is displayed when Autocrypt is turned off. +-#: compose.c:239 compose.c:473 ++#: compose.c:237 compose.c:472 + msgid "Off" + msgstr "Вимкн" + + #. L10N: Autocrypt recommendation flag: no. + #. * This is displayed when Autocrypt cannot encrypt to the recipients. +-#: compose.c:242 ++#: compose.c:240 + msgid "No" + msgstr "Ні" + +@@ -984,7 +1122,7 @@ msgstr "Ні" + #. * This is displayed when Autocrypt believes encryption should not be used. + #. * This might occur if one of the recipient Autocrypt Keys has not been + #. * used recently, or if the only key available is a Gossip Header key. +-#: compose.c:247 ++#: compose.c:245 + msgid "Discouraged" + msgstr "Не зрозуміло" + +@@ -992,14 +1130,14 @@ msgstr "Не зрозуміло" + #. * This is displayed when Autocrypt believes encryption is possible, but + #. * leaves enabling it up to the sender. Probably because "prefer encrypt" + #. * is not set in both the sender and recipient keys. +-#: compose.c:252 ++#: compose.c:250 + msgid "Available" + msgstr "Доступно" + + #. L10N: Autocrypt recommendation flag: yes. + #. * This is displayed when Autocrypt would normally enable encryption + #. * automatically. +-#: compose.c:256 ++#: compose.c:254 + msgid "Yes" + msgstr "Так" + +@@ -1009,7 +1147,7 @@ msgstr "Так" + #. (c)lear sets cleartext. + #. (a)utomatic defers to the recommendation. + #. +-#: compose.c:338 ++#: compose.c:337 + msgid "Autocrypt: (e)ncrypt, (c)lear, (a)utomatic?" + msgstr "Autocrypt: (e)шифрувати, (c)очистити, (a)автоматично?" + +@@ -1017,51 +1155,51 @@ msgstr "Autocrypt: (e)шифрувати, (c)очистити, (a)автомат + #. The letter corresponding to the compose menu autocrypt prompt + #. (e)ncrypt, (c)lear, (a)utomatic + #. +-#: compose.c:346 ++#: compose.c:345 + msgid "eca" + msgstr "eca" + +-#: compose.c:383 ++#: compose.c:382 + msgid "Not supported" + msgstr "Не підтримується." + +-#: compose.c:390 ++#: compose.c:389 + msgid "Sign, Encrypt" + msgstr "Підписати, зашифрувати" + +-#: compose.c:395 compose.c:468 ++#: compose.c:394 compose.c:467 + msgid "Encrypt" + msgstr "зашифрувати" + +-#: compose.c:400 ++#: compose.c:399 + msgid "Sign" + msgstr "Підписати" + +-#: compose.c:406 ++#: compose.c:405 + msgid "None" + msgstr "Нічого" + +-#: compose.c:415 ++#: compose.c:414 + msgid " (inline PGP)" + msgstr " (PGP/текст)" + +-#: compose.c:417 ++#: compose.c:416 + msgid " (PGP/MIME)" + msgstr " (PGP/MIME)" + +-#: compose.c:420 ++#: compose.c:419 + msgid " (S/MIME)" + msgstr " (S/MIME)" + +-#: compose.c:424 ++#: compose.c:423 + msgid " (OppEnc mode)" + msgstr " (режим OppEnc)" + +-#: compose.c:436 compose.c:445 ++#: compose.c:435 compose.c:444 + msgid "" + msgstr "<типово>" + +-#: compose.c:452 ++#: compose.c:451 + msgid "Encrypt with: " + msgstr "Зашифрувати: " + +@@ -1070,11 +1208,11 @@ msgstr "Зашифрувати: " + #. Displays the output of the recommendation engine + #. (Off, No, Discouraged, Available, Yes) + #. +-#: compose.c:483 ++#: compose.c:482 + msgid "Recommendation: " + msgstr "Рекомендація: " + +-#: compose.c:547 ++#: compose.c:546 + msgid "" + msgstr "" + +@@ -1085,7 +1223,7 @@ msgstr "" + #. The filename is located last to avoid a long path hiding the + #. error message. + #. +-#: compose.c:601 ++#: compose.c:600 + #, c-format + msgid "Attachment #%d no longer exists: %s" + msgstr "Додаток #%d більше не існує: %s" +@@ -1097,57 +1235,57 @@ msgstr "Додаток #%d більше не існує: %s" + #. The filename is located last to avoid a long path hiding the + #. prompt question. + #. +-#: compose.c:621 ++#: compose.c:620 + #, c-format + msgid "Attachment #%d modified. Update encoding for %s?" + msgstr "Додаток #%d був змінений. Оновити кодування для %s?" + +-#: compose.c:716 ++#: compose.c:715 + msgid "-- Attachments" + msgstr "-- Додатки" + +-#: compose.c:770 ++#: compose.c:769 + msgid "You may not delete the only attachment" + msgstr "Це єдина частина листа, її неможливо видалити" + +-#: compose.c:1296 edit.c:538 send.c:2462 ++#: compose.c:1356 edit.c:536 send.c:2473 + #, c-format + msgid "Bad IDN in '%s': '%s'" + msgstr "Некоректне IDN в '%s': %s" + +-#: compose.c:1347 ++#: compose.c:1407 + #, fuzzy + msgid "Attachment is already at top" + msgstr "Додаток записано" + +-#: compose.c:1352 compose.c:1368 ++#: compose.c:1412 compose.c:1428 + #, fuzzy + msgid "The fundamental part can't be moved" + msgstr "Поточний додаток не буде перетворено" + +-#: compose.c:1363 ++#: compose.c:1423 + #, fuzzy + msgid "Attachment is already at bottom" + msgstr "Додаток відфільтровано" + +-#: compose.c:1381 ++#: compose.c:1441 + msgid "Grouping 'alternatives' requires at least 2 tagged messages" + msgstr "" + +-#: compose.c:1462 ++#: compose.c:1522 + msgid "Grouping 'multilingual' requires at least 2 tagged messages" + msgstr "" + +-#: compose.c:1475 ++#: compose.c:1535 + msgid "Not all parts have 'Content-Language' set, continue?" + msgstr "" + +-#: compose.c:1477 ++#: compose.c:1537 + #, fuzzy + msgid "Not sending this message" + msgstr "Помилка при відправці" + +-#: compose.c:1571 ++#: compose.c:1631 + #, fuzzy + msgid "Attaching selected file..." + msgid_plural "Attaching selected files..." +@@ -1155,182 +1293,302 @@ msgstr[0] "Додавання вибраних файлів..." + msgstr[1] "Додавання вибраних файлів..." + msgstr[2] "Додавання вибраних файлів..." + +-#: compose.c:1585 ++#: compose.c:1645 + #, c-format + msgid "Unable to attach %s" + msgstr "Неможливо додати %s" + +-#: compose.c:1606 ++#: compose.c:1666 + msgid "Open mailbox to attach message from" + msgstr "Скринька, з якої додати повідомлення" + +-#: compose.c:1616 ++#: compose.c:1676 + #, fuzzy + msgid "Open newsgroup to attach message from" + msgstr "Скринька, з якої додати повідомлення" + +-#: compose.c:1667 ++#: compose.c:1730 + #, c-format + msgid "Unable to open mailbox %s" + msgstr "Неможливо відкрити скриньку %s" + +-#: compose.c:1676 ++#: compose.c:1739 + msgid "No messages in that folder" + msgstr "Ця скринька зовсім порожня" + +-#: compose.c:1686 ++#: compose.c:1749 + msgid "Tag the messages you want to attach" + msgstr "Виділіть повідомлення для додавання" + +-#: compose.c:1715 ++#: compose.c:1785 + msgid "Unable to attach" + msgstr "Неможливо додати" + +-#: compose.c:1752 ++#: compose.c:1822 + msgid "Recoding only affects text attachments" + msgstr "Перекодування може бути застосоване тільки до текстових додатків" + +-#: compose.c:1757 ++#: compose.c:1827 + msgid "The current attachment won't be converted" + msgstr "Поточний додаток не буде перетворено" + +-#: compose.c:1759 ++#: compose.c:1829 + msgid "The current attachment will be converted" + msgstr "Поточний додаток буде перетворено" + +-#: compose.c:1831 ++#: compose.c:1901 + msgid "Empty 'Content-Language'" + msgstr "" + +-#: compose.c:1849 ++#: compose.c:1920 + msgid "Invalid encoding" + msgstr "Невірне кодування" + +-#: compose.c:1871 ++#: compose.c:1942 + msgid "Save a copy of this message?" + msgstr "Зберегти копію цього повідомлення?" + +-#: compose.c:1924 ++#: compose.c:1995 + msgid "Send attachment with name: " + msgstr "Відправити додаток з ім’ям: " + +-#: compose.c:1939 ++#: compose.c:2010 + msgid "Rename to: " + msgstr "Перейменувати у: " + + #. L10N: "stat" is a system call. Do "man 2 stat" for more information. +-#: compose.c:1946 editmsg.c:102 editmsg.c:138 sendlib.c:1050 ++#: compose.c:2017 editmsg.c:102 editmsg.c:138 sendlib.c:1049 + #, c-format + msgid "Can't stat %s: %s" + msgstr "Неможливо отримати дані %s: %s" + +-#: compose.c:1966 ++#: compose.c:2037 + msgid "New file: " + msgstr "Новий файл: " + +-#: compose.c:1984 ++#: compose.c:2055 + msgid "Content-Type is of the form base/sub" + msgstr "Поле Content-Type повинно мати форму тип/підтип" + +-#: compose.c:1991 ++#: compose.c:2062 + #, c-format + msgid "Unknown Content-Type %s" + msgstr "Невідомий Content-Type %s" + +-#: compose.c:1999 ++#: compose.c:2070 + #, c-format + msgid "Can't create file %s" + msgstr "Неможливо створити файл %s" + +-#: compose.c:2008 ++#: compose.c:2079 + msgid "What we have here is a failure to make an attachment" + msgstr "Не вийшло створити додаток" + +-#: compose.c:2073 ++#: compose.c:2144 + #, fuzzy + msgid "Save (postpone) draft message?" + msgstr "Викликати залишений лист?" + +-#: compose.c:2133 ++#: compose.c:2204 + msgid "Write message to mailbox" + msgstr "Записати лист до поштової скриньки" + +-#: compose.c:2136 ++#: compose.c:2207 + #, c-format + msgid "Writing message to %s ..." + msgstr "Запис листа до %s..." + +-#: compose.c:2143 ++#: compose.c:2214 + msgid "Message written" + msgstr "Лист записано" + +-#: compose.c:2154 ++#: compose.c:2225 + msgid "No PGP backend configured" + msgstr "Підтримку PGP не налаштовано" + +-#: compose.c:2161 compose.c:2225 ++#: compose.c:2232 compose.c:2296 + msgid "S/MIME already selected. Clear and continue?" + msgstr "S/MIME вже вибрано. Очистити і продовжити?" + +-#: compose.c:2186 ++#: compose.c:2257 + msgid "No S/MIME backend configured" + msgstr "Підтримку S/MIME не налаштовано" + +-#: compose.c:2194 ++#: compose.c:2265 + msgid "PGP already selected. Clear and continue?" + msgstr "PGP вже вибрано. Очистити і продовжити?" + +-#: compress.c:355 compress.c:499 ++#: compress/compress.c:354 compress/compress.c:498 + #, c-format + msgid "Can't append without an append-hook or close-hook : %s" + msgstr "Неможливо дозаписати без append-hook або close-hook: %s" + +-#: compress.c:444 compress.c:511 compress.c:590 compress.c:628 mbox/mbox.c:1208 ++#: compress/compress.c:443 compress/compress.c:510 compress/compress.c:589 ++#: compress/compress.c:627 mbox/mbox.c:1208 + msgid "Unable to lock mailbox" + msgstr "Поштова скринька не може бути блокована" + +-#: compress.c:448 compress.c:518 compress.c:594 ++#: compress/compress.c:447 compress/compress.c:517 compress/compress.c:593 + #, c-format + msgid "Decompressing %s" + msgstr "Розпакування %s" + +-#: compress.c:457 ++#: compress/compress.c:456 + msgid "Can't identify the contents of the compressed file" + msgstr "Не вийшло визначити зміст стислого файла" + +-#: compress.c:464 compress.c:539 ++#: compress/compress.c:463 compress/compress.c:538 + #, c-format + msgid "Can't find mailbox ops for mailbox type %d" + msgstr "Не вийшло знайти опис для цього типу поштової скриньки %d" + +-#: compress.c:521 ++#: compress/compress.c:520 + #, c-format + msgid "Compress command failed: %s" + msgstr "Помилка команди стиснення: %s" + +-#: compress.c:532 ++#: compress/compress.c:531 + msgid "Unsupported mailbox type for appending" + msgstr "Дозапис не підтримується для цього типу поштової скриньки" + +-#: compress.c:618 ++#: compress/compress.c:617 + msgid "Can't sync a compressed file without a close-hook" + msgstr "Неможливо синхронізувати стислий файл без close-hook" + +-#: compress.c:640 compress.c:692 ++#: compress/compress.c:639 compress/compress.c:691 + #, c-format + msgid "Compressing %s" + msgstr "Стиснення %s" + +-#: compress.c:687 ++#: compress/compress.c:686 + #, c-format + msgid "Compressed-appending to %s..." + msgstr "Стиснення і дозаписування %s..." + +-#: compress.c:699 editmsg.c:247 ++#: compress/compress.c:698 editmsg.c:247 + #, c-format + msgid "Error. Preserving temporary file: %s" + msgstr "Помилка. Збереження тимчасового файлу: %s" + ++#: config/bool.c:70 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %s" ++msgstr "Неможлива відносна дата: %s" ++ ++#: config/bool.c:131 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %ld" ++msgstr "Неможлива відносна дата: %s" ++ ++#: config/enum.c:62 ++#, fuzzy, c-format ++msgid "Invalid enum value: %s" ++msgstr "Помилка: score: неправильне число" ++ ++#: config/enum.c:149 ++#, fuzzy, c-format ++msgid "Invalid enum value: %ld" ++msgstr "Неправильне значення для параметра %s: \"%s\"" ++ ++#: config/long.c:50 ++#, fuzzy, c-format ++msgid "Invalid long: %s" ++msgstr "Місяць \"%s\" не існує" ++ ++#: config/long.c:56 config/long.c:114 config/number.c:68 config/number.c:133 ++#, fuzzy, c-format ++msgid "Option %s may not be negative" ++msgstr "Функцію не дозволено в режимі додавання повідомлення." ++ ++#: config/number.c:49 config/sort.c:145 config/string.c:75 config/string.c:159 ++#, c-format ++msgid "Option %s may not be empty" ++msgstr "" ++ ++#: config/number.c:56 ++#, fuzzy, c-format ++msgid "Invalid number: %s" ++msgstr "Помилка: score: неправильне число" ++ ++#: config/number.c:62 ++#, c-format ++msgid "Number is too big: %s" ++msgstr "" ++ ++#: config/number.c:127 ++#, fuzzy, c-format ++msgid "Invalid number: %ld" ++msgstr "Помилка: score: неправильне число" ++ ++#: config/quad.c:69 ++#, fuzzy, c-format ++msgid "Invalid quad value: %s" ++msgstr "Неможлива відносна дата: %s" ++ ++#: config/quad.c:133 ++#, fuzzy, c-format ++msgid "Invalid quad value: %ld" ++msgstr "Неправильне значення для параметра %s: \"%s\"" ++ ++#: config/set.c:102 ++#, c-format ++msgid "No such variable: %s" ++msgstr "" ++ ++#: config/set.c:134 config/set.c:821 ++#, fuzzy, c-format ++msgid "Variable '%s' has an invalid type %d" ++msgstr "Помилка: значення \"%s\" некорректне для -d" ++ ++#: config/set.c:399 config/set.c:463 config/set.c:528 config/set.c:601 ++#: config/set.c:671 config/set.c:744 ++#, fuzzy, c-format ++msgid "Unknown variable '%s'" ++msgstr "%s: невідома змінна" ++ ++#: config/sort.c:192 ++#, fuzzy, c-format ++msgid "Invalid sort name: %s" ++msgstr "Неможлива відносна дата: %s" ++ ++#: config/sort.c:322 ++#, fuzzy, c-format ++msgid "Invalid sort type: %ld" ++msgstr "Неможлива відносна дата: %s" ++ ++#. L10N: Example: Username at myhost.com ++#: conn/connaccount.c:61 ++#, c-format ++msgid "Username at %s: " ++msgstr "Користувач у %s: " ++ ++#: conn/connaccount.c:117 ++#, c-format ++msgid "Password for %s@%s: " ++msgstr "Пароль для %s@%s: " ++ ++#. L10N: You will see this error message if (1) you have "oauthbearer" in ++#. one of your $*_authenticators and (2) you do not have the corresponding ++#. $*_oauth_refresh_command defined. So the message does not mean "None of ++#. your $*_oauth_refresh_command's are defined." ++#: conn/connaccount.c:165 ++#, fuzzy ++msgid "No OAUTH refresh command defined" ++msgstr "Команду запиту не визначено" ++ ++#: conn/connaccount.c:173 ++msgid "Unable to run refresh command" ++msgstr "" ++ ++#: conn/connaccount.c:184 ++msgid "Command returned empty string" ++msgstr "" ++ ++#: conn/connaccount.c:191 ++#, c-format ++msgid "OAUTH token is too big: %ld" ++msgstr "" ++ + #: conn/conn_raw.c:160 conn/conn_raw.c:218 + #, c-format + msgid "Looking up %s..." +@@ -1351,7 +1609,7 @@ msgstr "З’єднання з %s..." + msgid "Could not connect to %s (%s)" + msgstr "Не вийшло з’єднатися з %s (%s)" + +-#: conn/conn_raw.c:260 conn/ssl.c:1230 curs_lib.c:568 mutt_logging.c:149 ++#: conn/conn_raw.c:260 conn/ssl.c:1245 gui/curs_lib.c:569 mutt_logging.c:147 + msgid "unknown error" + msgstr "невідома помилка" + +@@ -1365,23 +1623,23 @@ msgstr "Помилка у з’єднанні з сервером %s (%s)" + msgid "Connection to %s has been aborted" + msgstr "З’єднання з %s закрито" + +-#: conn/sasl.c:565 ++#: conn/sasl.c:547 + msgid "Unknown SASL profile" + msgstr "Невідомий профіль SASL" + +-#: conn/sasl.c:598 ++#: conn/sasl.c:580 + msgid "Error allocating SASL connection" + msgstr "Помилка створення з’єднання SASL" + +-#: conn/sasl.c:608 ++#: conn/sasl.c:590 + msgid "Error setting SASL security properties" + msgstr "Помилка встановлення властивостей безпеки SASL" + +-#: conn/sasl.c:619 ++#: conn/sasl.c:601 + msgid "Error setting SASL external security strength" + msgstr "Помилка встановлення рівня зовнішньої безпеки" + +-#: conn/sasl.c:629 ++#: conn/sasl.c:611 + msgid "Error setting SASL external user name" + msgstr "Помилка встановлення зовнішнього імені користувача SASL" + +@@ -1394,133 +1652,109 @@ msgstr "Помилка команди, попередньої з’єднанн + msgid "Connection to %s closed" + msgstr "З’єднання з %s закрито" + +-#: conn/ssl.c:237 ++#: conn/ssl.c:222 + #, c-format + msgid "Filling entropy pool: %s..." + msgstr "Заповнення пулу ентропії: %s..." + +-#: conn/ssl.c:243 ++#: conn/ssl.c:228 + #, c-format + msgid "%s has insecure permissions" + msgstr "%s має небезпечні права доступу" + +-#: conn/ssl.c:385 ++#: conn/ssl.c:369 + msgid "SSL disabled due to the lack of entropy" + msgstr "SSL заборонений через нестачу ентропії" + +-#: conn/ssl.c:402 ++#: conn/ssl.c:386 + msgid "Unknown" + msgstr "Невідоме" + +-#: conn/ssl.c:421 conn/ssl_gnutls.c:186 ++#: conn/ssl.c:405 conn/ssl_gnutls.c:188 + #, c-format + msgid "[unable to calculate]" + msgstr "[неможливо обчислити]" + +-#: conn/ssl.c:446 ++#: conn/ssl.c:430 + msgid "[invalid date]" + msgstr "[помилкова дата]" + +-#: conn/ssl.c:506 ++#: conn/ssl.c:490 + msgid "Server certificate is not yet valid" + msgstr "Сертифікат серверу ще не дійсний" + +-#: conn/ssl.c:516 ++#: conn/ssl.c:500 + msgid "Server certificate has expired" + msgstr "Строк дії сертифікату сервера вичерпано" + +-#: conn/ssl.c:605 ++#: conn/ssl.c:589 + msgid "Failed to find enough entropy on your system" + msgstr "Не вдалося знайти достятньо ентропії на вашій системі" + +-#: conn/ssl.c:799 ++#: conn/ssl.c:783 + msgid "can't get certificate subject" + msgstr "неможливо отримати subject сертифікату" + +-#: conn/ssl.c:808 conn/ssl.c:816 ++#: conn/ssl.c:792 conn/ssl.c:800 + msgid "can't get certificate common name" + msgstr "Неможливо отримати common name сертифікату" + +-#: conn/ssl.c:830 ++#: conn/ssl.c:814 + #, c-format + msgid "certificate owner does not match hostname %s" + msgstr "власник сертифікату не відповідає імені хоста %s" + +-#: conn/ssl.c:904 conn/ssl_gnutls.c:539 ++#: conn/ssl.c:917 conn/ssl_gnutls.c:570 + msgid "This certificate belongs to:" + msgstr "Цей сертифікат належить:" + +-#: conn/ssl.c:913 conn/ssl_gnutls.c:593 ++#: conn/ssl.c:926 conn/ssl_gnutls.c:624 + msgid "This certificate was issued by:" + msgstr "Цей сертифікат видано:" + +-#: conn/ssl.c:922 conn/ssl_gnutls.c:604 ++#: conn/ssl.c:935 conn/ssl_gnutls.c:635 + msgid "This certificate is valid" + msgstr "Цей сертифікат дійсний" + +-#: conn/ssl.c:923 conn/ssl_gnutls.c:608 ++#: conn/ssl.c:936 conn/ssl_gnutls.c:639 + #, c-format + msgid " from %s" + msgstr " від %s" + +-#: conn/ssl.c:925 conn/ssl_gnutls.c:612 ++#: conn/ssl.c:938 conn/ssl_gnutls.c:643 + #, c-format + msgid " to %s" + msgstr " до %s" + +-#: conn/ssl.c:931 conn/ssl_gnutls.c:617 ++#: conn/ssl.c:944 conn/ssl_gnutls.c:648 + #, c-format + msgid "SHA1 Fingerprint: %s" + msgstr "Відбиток SHA1: %s" + +-#: conn/ssl.c:937 conn/ssl.c:940 conn/ssl_gnutls.c:623 conn/ssl_gnutls.c:625 ++#: conn/ssl.c:950 conn/ssl.c:953 conn/ssl_gnutls.c:654 conn/ssl_gnutls.c:656 + #, fuzzy + msgid "SHA256 Fingerprint: " + msgstr "Відбиток SHA256: %s" + +-#: conn/ssl.c:944 conn/ssl_gnutls.c:664 ++#: conn/ssl.c:957 conn/ssl_gnutls.c:695 + #, c-format + msgid "SSL Certificate check (certificate %zu of %zu in chain)" +-msgstr "Перевірка сертифікату (сертифікат %zu з %zu в ланцюжку)" +- +-#. L10N: These four letters correspond to the choices in the next four strings: +-#. (r)eject, accept (o)nce, (a)ccept always, (s)kip. +-#. These prompts are the interactive certificate confirmation prompts for +-#. an OpenSSL connection. +-#: conn/ssl.c:964 +-msgid "roas" +-msgstr "" +- +-#: conn/ssl.c:968 +-msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" +-msgstr "(r)не приймати, прийняти (o)одноразово або (a)завжди, (s)пропустити" +- +-#: conn/ssl.c:970 conn/ssl_gnutls.c:671 +-msgid "(r)eject, accept (o)nce, (a)ccept always" +-msgstr "(r)не приймати, прийняти (o)одноразово або (a)завжди" +- +-#: conn/ssl.c:975 +-msgid "(r)eject, accept (o)nce, (s)kip" +-msgstr "(r)не приймати, (o)прийняти одноразово, (s)пропустити" +- +-#: conn/ssl.c:977 conn/ssl_gnutls.c:680 +-msgid "(r)eject, accept (o)nce" +-msgstr "(r)не приймати, (o)прийняти одноразово" ++msgstr "Перевірка сертифікату (сертифікат %zu з %zu в ланцюжку)" + +-#: conn/ssl.c:981 conn/ssl_gnutls.c:689 ncrypt/crypt_gpgme.c:4729 +-#: ncrypt/pgpkey.c:664 ncrypt/smime.c:549 ++#: conn/ssl.c:994 conn/ssl_gnutls.c:720 ncrypt/crypt_gpgme.c:4777 ++#: ncrypt/pgpkey.c:667 ncrypt/smime.c:551 + msgid "Exit " + msgstr "Вихід " + +-#: conn/ssl.c:1016 conn/ssl_gnutls.c:742 ++#: conn/ssl.c:1029 conn/ssl_gnutls.c:773 + msgid "Warning: Couldn't save certificate" + msgstr "Попередження: неможливо зберегти сертифікат" + +-#: conn/ssl.c:1020 conn/ssl_gnutls.c:746 ++#: conn/ssl.c:1033 conn/ssl_gnutls.c:777 + msgid "Certificate saved" + msgstr "Сертифікат збережено" + +-#: conn/ssl.c:1132 ++#: conn/ssl.c:1147 + #, c-format + msgid "Certificate host check failed: %s" + msgstr "Не вдалось перевірити хост сертифікату: %s" +@@ -1528,15 +1762,15 @@ msgstr "Не вдалось перевірити хост сертифікату + #. L10N: This is a warning when trying to set the host name for + #. * TLS Server Name Indication (SNI). This allows the server to present + #. * the correct certificate if it supports multiple hosts. +-#: conn/ssl.c:1213 conn/ssl_gnutls.c:1072 ++#: conn/ssl.c:1228 conn/ssl_gnutls.c:1105 + msgid "Warning: unable to set TLS SNI host name" + msgstr "Попередження: не вдалось встановити ім’я хоста TLS SNI" + +-#: conn/ssl.c:1224 ++#: conn/ssl.c:1239 + msgid "I/O error" + msgstr "помилка вводу-виводу" + +-#: conn/ssl.c:1233 ++#: conn/ssl.c:1248 + #, c-format + msgid "SSL failed: %s" + msgstr "Помилка SSL: %s" +@@ -1544,89 +1778,73 @@ msgstr "Помилка SSL: %s" + #. L10N: an SSL context is a data structure returned by the OpenSSL + #. function SSL_CTX_new(). In this case it returned NULL: an + #. error condition. +-#: conn/ssl.c:1269 ++#: conn/ssl.c:1284 + msgid "Unable to create SSL context" + msgstr "Неможливо створити SSL контекст" + +-#: conn/ssl.c:1322 ++#: conn/ssl.c:1337 + msgid "Warning: error enabling ssl_verify_partial_chains" + msgstr "Попередження: помилка ввімкнення ssl_verify_partial_chains" + +-#: conn/ssl_gnutls.c:150 conn/ssl_gnutls.c:784 conn/ssl_gnutls.c:793 ++#: conn/ssl_gnutls.c:152 conn/ssl_gnutls.c:817 conn/ssl_gnutls.c:826 + msgid "Unable to get certificate from peer" + msgstr "Неможливо отримати сертифікат" + +-#: conn/ssl_gnutls.c:155 ++#: conn/ssl_gnutls.c:157 + #, c-format + msgid "Certificate verification error (%s)" + msgstr "Помилка перевірки сертифікату (%s)" + +-#: conn/ssl_gnutls.c:162 ++#: conn/ssl_gnutls.c:164 + msgid "Certificate is not X.509" + msgstr "Сертифікат не в форматі X.509" + +-#: conn/ssl_gnutls.c:349 conn/ssl_gnutls.c:483 ++#: conn/ssl_gnutls.c:351 conn/ssl_gnutls.c:485 + msgid "Error initialising gnutls certificate data" + msgstr "Помилка ініціалізації даних сертифікату gnutls" + +-#: conn/ssl_gnutls.c:355 conn/ssl_gnutls.c:489 ++#: conn/ssl_gnutls.c:357 conn/ssl_gnutls.c:491 + msgid "Error processing certificate data" + msgstr "Помилка обробки даних сертифікату" + +-#: conn/ssl_gnutls.c:635 ++#: conn/ssl_gnutls.c:666 + msgid "WARNING: Server certificate is not yet valid" + msgstr "Попередження: Сертифікат серверу ще не дійсний" + +-#: conn/ssl_gnutls.c:640 ++#: conn/ssl_gnutls.c:671 + msgid "WARNING: Server certificate has expired" + msgstr "Попередження: Строк дії сертифікату сервера збіг" + +-#: conn/ssl_gnutls.c:645 ++#: conn/ssl_gnutls.c:676 + msgid "WARNING: Server certificate has been revoked" + msgstr "Попередження: Сертифікат серверу відкликано" + +-#: conn/ssl_gnutls.c:650 ++#: conn/ssl_gnutls.c:681 + msgid "WARNING: Server hostname does not match certificate" + msgstr "Попередження: hostname сервера не відповідає сертифікату" + +-#: conn/ssl_gnutls.c:655 ++#: conn/ssl_gnutls.c:686 + msgid "WARNING: Signer of server certificate is not a CA" + msgstr "Попередження: Сертифікат видано неавторизованим видавцем" + +-#: conn/ssl_gnutls.c:659 conn/ssl_gnutls.c:1004 ++#: conn/ssl_gnutls.c:690 conn/ssl_gnutls.c:1037 + msgid "Warning: Server certificate was signed using an insecure algorithm" + msgstr "Попередження: Сертифікат сервера підписано ненадійним алгоритмом" + +-#. L10N: These three letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce, (a)ccept always. +-#. This is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:676 +-msgid "roa" +-msgstr "roa" +- +-#. L10N: These two letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce. +-#. These is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:685 +-msgid "ro" +-msgstr "ro" +- +-#: conn/ssl_gnutls.c:950 conn/ssl_gnutls.c:992 ++#: conn/ssl_gnutls.c:983 conn/ssl_gnutls.c:1025 + msgid "All available protocols for TLS/SSL connection disabled" + msgstr "Всі доступні протоколи для TLS/SSL заборонені" + +-#: conn/ssl_gnutls.c:999 ++#: conn/ssl_gnutls.c:1032 + msgid "Explicit ciphersuite selection via $ssl_ciphers not supported" + msgstr "Явний вибір набора шифрів через $ssl_ciphers не підтримується" + +-#: conn/ssl_gnutls.c:1120 ++#: conn/ssl_gnutls.c:1153 + #, c-format + msgid "SSL/TLS connection using %s (%s/%s/%s)" + msgstr "З’єднання SSL/TLS з використанням %s (%s/%s/%s)" + +-#: conn/ssl_gnutls.c:1175 conn/ssl_gnutls.c:1204 ++#: conn/ssl_gnutls.c:1210 conn/ssl_gnutls.c:1239 + msgid "Error: no TLS socket open" + msgstr "Помилка: не відкрито жодного сокета TLS" + +@@ -1645,7 +1863,7 @@ msgstr "Помилка тунелю у з’єднанні з сервером % + msgid "Tunnel to %s returned error %d (%s)" + msgstr "Тунель до %s поверну помилку %d (%s)" + +-#: copy.c:660 ++#: copy.c:662 + #, c-format + msgid "The length calculation was wrong by %ld byte" + msgid_plural "The length calculation was wrong by %ld bytes" +@@ -1653,31 +1871,11 @@ msgstr[0] "" + msgstr[1] "" + msgstr[2] "" + +-#: copy.c:744 ++#: copy.c:746 + msgid "No decryption engine available for message" + msgstr "Немає механізму розшифровки для повідомлення" + +-#: curs_lib.c:378 +-msgid "yes" +-msgstr "так" +- +-#: curs_lib.c:379 +-msgid "no" +-msgstr "ні" +- +-#: curs_lib.c:518 +-msgid "Exit NeoMutt?" +-msgstr "Покинути NeoMutt?" +- +-#: curs_lib.c:597 +-msgid "Press any key to continue..." +-msgstr "Натисніть будь-яку клавішу..." +- +-#: curs_lib.c:705 +-msgid " ('?' for list): " +-msgstr " (\"?\" - перелік): " +- +-#: edit.c:64 ++#: edit.c:62 + msgid "" + "~~ insert a line beginning with a single ~\n" + "~b users add users to the Bcc: field\n" +@@ -1699,7 +1897,7 @@ msgstr "" + "~M листи те ж саме, що й ~m, за винятком заголовків\n" + "~p друкувати лист\n" + +-#: edit.c:75 ++#: edit.c:73 + msgid "" + "~q write file and quit editor\n" + "~r file read a file into the editor\n" +@@ -1721,20 +1919,20 @@ msgstr "" + "~? це повідомлення\n" + ". рядок з однієї крапки - ознака кінця вводу\n" + +-#: edit.c:261 ++#: edit.c:259 + #, c-format + msgid "%d: invalid message number.\n" + msgstr "%d: невірний номер листа.\n" + +-#: edit.c:416 ++#: edit.c:414 + msgid "(End message with a . on a line by itself)\n" + msgstr "(Закінчіть лист рядком, що складається з однієї крапки)\n" + +-#: edit.c:474 ++#: edit.c:472 + msgid "No mailbox.\n" + msgstr "Не поштова скринька.\n" + +-#: edit.c:478 ++#: edit.c:476 + msgid "Message contains:\n" + msgstr "Лист містить:\n" + +@@ -1742,19 +1940,19 @@ msgstr "Лист містить:\n" + #. not IN the middle of the content. + #. So it doesn't mean "(message will continue)" + #. but means "(press any key to continue using neomutt)". +-#: edit.c:486 edit.c:547 ++#: edit.c:484 edit.c:545 + msgid "(continue)\n" + msgstr "(далі)\n" + +-#: edit.c:499 ++#: edit.c:497 + msgid "missing filename.\n" + msgstr "не вказано імені файлу.\n" + +-#: edit.c:519 ++#: edit.c:517 + msgid "No lines in message.\n" + msgstr "Жодного рядку в листі.\n" + +-#: edit.c:558 ++#: edit.c:556 + #, c-format + msgid "%s: unknown editor command (~? for help)\n" + msgstr "%s: невідома команда редактора (~? - підказка)\n" +@@ -1801,19 +1999,73 @@ msgstr "Неможливо дозаписати до скриньки: %s" + msgid "multipart message has no boundary parameter" + msgstr "Багаточастинний лист не має параметру межі" + +-#: flags.c:382 index.c:2561 index.c:2604 index.c:3134 index.c:3171 ++#: flags.c:381 index.c:2587 index.c:2630 index.c:3160 index.c:3197 + #: mutt_thread.c:1091 mutt_thread.c:1158 mutt_thread.c:1246 + msgid "Threading is not enabled" + msgstr "Формування розмов не ввімкнено" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Set flag" + msgstr "Встановити атрибут" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Clear flag" + msgstr "Зняти атрибут" + ++#: gui/color.c:633 gui/color.c:644 ++#, c-format ++msgid "%s: color not supported by term" ++msgstr "%s: колір не підтримується терміналом" ++ ++#: gui/color.c:652 ++#, c-format ++msgid "%s: no such color" ++msgstr "%s: такого кольору немає" ++ ++#: gui/color.c:717 gui/color.c:740 gui/color.c:751 gui/color.c:842 ++#, c-format ++msgid "%s: no such object" ++msgstr "%s: такого об’єкту немає" ++ ++#: gui/color.c:1142 ++#, c-format ++msgid "%s: no such attribute" ++msgstr "%s: такого атрібуту немає" ++ ++#: gui/color.c:1244 ++msgid "default colors not supported" ++msgstr "типові кольори не підтримуються" ++ ++#: gui/color.c:1282 ++#, c-format ++msgid "Maximum quoting level is %d" ++msgstr "" ++ ++#: gui/color.c:1319 ++#, fuzzy, c-format ++msgid "%s: invalid number: %s" ++msgstr "Помилка: score: неправильне число" ++ ++#: gui/curs_lib.c:379 ++msgid "yes" ++msgstr "так" ++ ++#: gui/curs_lib.c:380 ++msgid "no" ++msgstr "ні" ++ ++#: gui/curs_lib.c:519 ++msgid "Exit NeoMutt?" ++msgstr "Покинути NeoMutt?" ++ ++#: gui/curs_lib.c:598 ++msgid "Press any key to continue..." ++msgstr "Натисніть будь-яку клавішу..." ++ ++#: gui/curs_lib.c:749 ++msgid " ('?' for list): " ++msgstr " (\"?\" - перелік): " ++ + #: handler.c:102 + #, fuzzy, c-format + msgid "[-- Type: %s/%s%s%s, Encoding: %s, Size: %s --]\n" +@@ -1834,23 +2086,23 @@ msgstr "[-- Автопереглядання за допомогою %s --]\n" + msgid "Invoking autoview command: %s" + msgstr "Виклик команди автоматичного переглядання: %s" + +-#: handler.c:591 mutt_attach.c:527 mutt_attach.c:714 mutt_attach.c:745 +-#: mutt_attach.c:1087 mutt_attach.c:1152 ncrypt/pgpkey.c:723 +-#: ncrypt/pgpkey.c:920 ++#: handler.c:590 mutt_attach.c:555 mutt_attach.c:747 mutt_attach.c:778 ++#: mutt_attach.c:1120 mutt_attach.c:1185 ncrypt/pgpkey.c:756 ++#: ncrypt/pgpkey.c:955 + msgid "Can't create filter" + msgstr "Неможливо створити фільтр" + +-#: handler.c:595 ++#: handler.c:594 + #, c-format + msgid "[-- Can't run %s. --]\n" + msgstr "[-- Неможливо виконати %s. --]\n" + +-#: handler.c:614 handler.c:635 ++#: handler.c:613 handler.c:634 + #, c-format + msgid "[-- Autoview stderr of %s --]\n" + msgstr "[-- Программа переглядання %s повідомила про помилку --]\n" + +-#: handler.c:764 ++#: handler.c:763 + msgid "[-- Error: message/external-body has no access-type parameter --]\n" + msgstr "[-- Помилка: message/external-body не має параметру типу доступу --]\n" + +@@ -1869,7 +2121,7 @@ msgstr "[-- Помилка: message/external-body не має параметру + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:807 ++#: handler.c:806 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" +@@ -1901,7 +2153,7 @@ msgstr[2] "" + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:830 ++#: handler.c:829 + #, fuzzy, c-format + msgid "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" + msgid_plural "[-- This %s/%s attachment (size %s bytes) has been deleted --]\n" +@@ -1916,7 +2168,7 @@ msgstr[2] "[-- Цей %s/%s додаток (розм. %s байт) було ви + #. + #. Caution: Argument three %3$ is also defined but should not be used + #. in this translation! +-#: handler.c:848 ++#: handler.c:847 + #, fuzzy + msgid "" + "[-- This %s/%s attachment has been deleted --]\n" +@@ -1928,12 +2180,12 @@ msgstr "" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The first "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:856 ++#: handler.c:855 + #, fuzzy, c-format + msgid "[-- This %s/%s attachment has been deleted --]\n" + msgstr "[-- Цей %s/%s додаток було видалено --]\n" + +-#: handler.c:866 ++#: handler.c:865 + #, c-format + msgid "[-- name: %s --]\n" + msgstr "[-- ім’я: %s --]\n" +@@ -1941,7 +2193,7 @@ msgstr "[-- ім’я: %s --]\n" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:884 ++#: handler.c:883 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -1956,7 +2208,7 @@ msgstr "" + #. The "%s/%s" is a MIME type, e.g. "text/plain". The %s after + #. access-type is an access-type as defined by the MIME RFCs, e.g. "FTP", + #. "LOCAL-FILE", "MAIL-SERVER". +-#: handler.c:905 ++#: handler.c:904 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -1965,94 +2217,94 @@ msgstr "" + "[-- Цей %s/%s додаток не включено, --]\n" + "[-- відповідний тип доступу %s не підтримується --]\n" + +-#: handler.c:1090 ++#: handler.c:1089 + msgid "[-- Error: Could not display any parts of Multipart/Alternative --]\n" + msgstr "[-- Помилка: жодну частину Multipart/Alternative не вийшло відобразити --]\n" + + #. L10N: %s is the attachment description, filename or form_name. +-#: handler.c:1231 ++#: handler.c:1230 + #, fuzzy, c-format + msgid "[-- Attachment #%d: %s --]\n" + msgstr "[-- Додаток номер %d: %s --]\n" + +-#: handler.c:1236 ++#: handler.c:1235 + #, fuzzy, c-format + msgid "[-- Attachment #%d --]\n" + msgstr "[-- Додаток номер %d --]\n" + +-#: handler.c:1254 ++#: handler.c:1253 + msgid "One or more parts of this message could not be displayed" + msgstr "Якісь частини повідомлення неможливо відобразити" + +-#: handler.c:1320 ++#: handler.c:1319 + #, fuzzy + msgid "Unable to open 'memory stream'" + msgstr "Неможливо відкрити тимчасовий файл" + +-#: handler.c:1330 ++#: handler.c:1329 + msgid "Unable to open temporary file" + msgstr "Неможливо відкрити тимчасовий файл" + +-#: handler.c:1379 ++#: handler.c:1378 + msgid "failed to re-open 'memory stream'" + msgstr "" + +-#: handler.c:1620 ++#: handler.c:1619 + msgid "Error: multipart/signed has no protocol" + msgstr "Помилка: немає протоколу для multipart/signed" + + #. L10N: %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1694 ++#: handler.c:1693 + #, fuzzy, c-format + msgid "[-- This is an attachment (use '%s' to view this part) --]\n" + msgstr "[-- Це додаток (використовуйте \"%s\" для перегляду цієї частини) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". + #. The last %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1701 ++#: handler.c:1700 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported (use '%s' to view this part) --]\n" + msgstr "[-- %s/%s не підтримується (використовуйте \"%s\" для перегляду цієї частини) --]\n" + +-#: handler.c:1709 ++#: handler.c:1708 + #, fuzzy + msgid "[-- This is an attachment (need 'view-attachments' bound to key) --]\n" + msgstr "[-- Це додаток (треба призначити клавішу до view-attachments) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1715 ++#: handler.c:1714 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported (need 'view-attachments' bound to key) --]\n" + msgstr "[-- %s/%s не підтримується (треба призначити клавішу до view-attachments) --]\n" + +-#: handler.c:1724 ++#: handler.c:1723 + #, fuzzy + msgid "[-- This is an attachment --]\n" + msgstr "[-- Це додаток --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1729 ++#: handler.c:1728 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported --]\n" + msgstr "[-- %s/%s не підтримується --]\n" + +-#: help.c:400 ++#: help.c:401 + msgid "ERROR: please report this bug" + msgstr "ПОМИЛКА: будь ласка, повідомте про цей недолік" + +-#: help.c:455 ++#: help.c:456 + msgid "" + msgstr "<НЕВІДОМО>" + +-#: help.c:469 ++#: help.c:470 + msgid "Generic bindings:" + msgstr "Базові призначення:" + +-#: help.c:473 ++#: help.c:474 + msgid "Unbound functions:" + msgstr "Не призначені функції:" + +-#: help.c:481 ++#: help.c:482 + #, c-format + msgid "Help for %s" + msgstr "Підказка до %s" +@@ -2069,41 +2321,41 @@ msgstr "скорочення для скриньки перетворене на + msgid "badly formatted command string" + msgstr "погано форматований командний рядок" + +-#: hook.c:461 ++#: hook.c:466 + msgid "unhook: Can't do unhook * from within a hook" + msgstr "unhook: Неможливо зробити unhook * з hook" + +-#: hook.c:474 ++#: hook.c:479 + #, c-format + msgid "unhook: unknown hook type: %s" + msgstr "unhook: невідомий тип hook: %s" + +-#: hook.c:484 ++#: hook.c:489 + #, c-format + msgid "unhook: Can't delete a %s from within a %s" + msgstr "unhook: Неможливо видалити %s з %s" + + #. L10N: '%s' is the (misspelled) name of the menu, e.g. 'index' or 'pager' +-#: icommands.c:259 keymap.c:1161 keymap.c:1346 ++#: icommands.c:261 keymap.c:1159 keymap.c:1344 + #, c-format + msgid "%s: no such menu" + msgstr "меню \"%s\" не існує" + + #. L10N: '%s' is the name of the menu, e.g. 'index' or 'pager', it might + #. L10N: also be 'all' when all menus are affected. +-#: icommands.c:272 ++#: icommands.c:274 + #, fuzzy, c-format + msgid "%s: no binds for this menu" + msgstr "меню \"%s\" не існує" + +-#: icommands.c:272 ++#: icommands.c:274 + #, fuzzy, c-format + msgid "%s: no macros for this menu" + msgstr "меню \"%s\" не існує" + + #. L10N: '%s' is the file name of the temporary file +-#: icommands.c:283 icommands.c:296 icommands.c:316 icommands.c:340 +-#: icommands.c:360 icommands.c:371 imap/message.c:1093 ++#: icommands.c:285 icommands.c:297 icommands.c:317 icommands.c:340 ++#: icommands.c:360 icommands.c:370 imap/message.c:1093 + #, c-format + msgid "Could not create temporary file %s" + msgstr "Не вийшло створити тимчасовий файл %s" +@@ -2141,28 +2393,28 @@ msgstr "Помилка аутентифікації GSSAPI" + msgid "LOGIN disabled on this server" + msgstr "LOGIN заборонено на цьому сервері" + +-#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:288 ++#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:289 + msgid "Logging in..." + msgstr "Реєстрація..." + +-#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:329 ++#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:330 + msgid "Login failed" + msgstr "Помилка реєстрації" + +-#: imap/auth_oauth.c:64 pop/pop_auth.c:346 smtp.c:524 ++#: imap/auth_oauth.c:65 pop/pop_auth.c:347 smtp.c:549 + msgid "Authenticating (OAUTHBEARER)..." + msgstr "Аутентифікація (OAUTHBEARER)..." + +-#: imap/auth_oauth.c:96 ++#: imap/auth_oauth.c:97 + msgid "OAUTHBEARER authentication failed" + msgstr "Помилка аутентифікації OAUTHBEARER" + +-#: imap/auth_sasl.c:128 nntp/nntp.c:606 nntp/nntp.c:671 smtp.c:443 ++#: imap/auth_sasl.c:128 nntp/nntp.c:608 nntp/nntp.c:673 smtp.c:468 + #, c-format + msgid "Authenticating (%s)..." + msgstr "Аутентифікація (%s)..." + +-#: imap/auth_sasl.c:259 pop/pop_auth.c:200 smtp.c:584 smtp.c:646 ++#: imap/auth_sasl.c:259 pop/pop_auth.c:201 smtp.c:609 smtp.c:671 + msgid "SASL authentication failed" + msgstr "Помилка аутентифікації SASL" + +@@ -2209,74 +2461,64 @@ msgstr "Помилка переіменування: %s" + msgid "Mailbox renamed" + msgstr "Поштову скриньку переіменовано" + +-#: imap/command.c:164 ++#: imap/command.c:177 + #, c-format + msgid "Mailbox %s@%s closed" + msgstr "Поштову скриньку %s@%s закрито" + +-#: imap/command.c:1258 imap/command.c:1370 ++#: imap/command.c:1287 imap/command.c:1399 + #, c-format + msgid "Connection to %s timed out" + msgstr "Вичерпано час очікування з’єднання з %s" + +-#: imap/imap.c:87 ++#: imap/imap.c:93 + #, fuzzy + msgid "This IMAP server is ancient. NeoMutt does not work with it." + msgstr "Цей сервер IMAP застарілий. NeoMutt не може працювати з ним." + +-#: imap/imap.c:438 ++#: imap/imap.c:444 + #, c-format + msgid "Header search without header name: %s" + msgstr "Пошук заголовка без вказання його імені: %s" + +-#: imap/imap.c:468 ++#: imap/imap.c:474 + #, c-format + msgid "Server-side custom search not supported: %s" + msgstr "" + +-#: imap/imap.c:584 ++#: imap/imap.c:590 + #, c-format + msgid "CREATE failed: %s" + msgstr "Помилка створення: %s" + +-#: imap/imap.c:704 ++#: imap/imap.c:710 + #, c-format + msgid "Closing connection to %s..." + msgstr "Закриття з’єднання з %s..." + +-#: imap/imap.c:882 nntp/nntp.c:1889 pop/pop_lib.c:324 smtp.c:687 ++#: imap/imap.c:888 nntp/nntp.c:1891 pop/pop_lib.c:350 smtp.c:712 + msgid "Secure connection with TLS?" + msgstr "Безпечне з’єднання з TLS?" + +-#: imap/imap.c:895 nntp/nntp.c:1910 pop/pop_lib.c:343 smtp.c:702 ++#: imap/imap.c:901 nntp/nntp.c:1912 pop/pop_lib.c:369 smtp.c:727 + msgid "Could not negotiate TLS connection" + msgstr "Не вийшло домовитись про TLS з’єднання" + +-#: imap/imap.c:910 pop/pop_lib.c:360 ++#: imap/imap.c:916 pop/pop_lib.c:386 + msgid "Encrypted connection unavailable" + msgstr "Шифроване з’єднання недоступне" + +-#: imap/imap.c:1417 ++#: imap/imap.c:1430 + #, c-format + msgid "Subscribing to %s..." + msgstr "Підписування на %s..." + +-#: imap/imap.c:1419 ++#: imap/imap.c:1432 + #, c-format + msgid "Unsubscribing from %s..." + msgstr "Відписування від %s..." + +-#: imap/imap.c:1430 init.c:2142 +-#, c-format +-msgid "Subscribed to %s" +-msgstr "Підписано на %s..." +- +-#: imap/imap.c:1432 init.c:2620 +-#, c-format +-msgid "Unsubscribed from %s" +-msgstr "Відписано від %s..." +- +-#: imap/imap.c:1582 imap/message.c:1674 ++#: imap/imap.c:1595 imap/message.c:1674 + #, fuzzy, c-format + msgid "Copying %d message to %s..." + msgid_plural "Copying %d messages to %s..." +@@ -2284,16 +2526,16 @@ msgstr[0] "Копіювання %d листів до %s..." + msgstr[1] "Копіювання %d листів до %s..." + msgstr[2] "Копіювання %d листів до %s..." + +-#: imap/imap.c:1599 imap/imap.c:2217 imap/message.c:1713 muttlib.c:1505 ++#: imap/imap.c:1612 imap/imap.c:2254 imap/message.c:1713 muttlib.c:1503 + #, c-format + msgid "Create %s?" + msgstr "Створити %s?" + +-#: imap/imap.c:1667 ++#: imap/imap.c:1685 + msgid "Expunge failed" + msgstr "Помилка видалення" + +-#: imap/imap.c:1683 ++#: imap/imap.c:1701 + #, fuzzy, c-format + msgid "Marking %d message deleted..." + msgid_plural "Marking %d messages deleted..." +@@ -2302,7 +2544,7 @@ msgstr[1] "Маркування %d повідомлень видаленими.. + msgstr[2] "Маркування %d повідомлень видаленими..." + + #. L10N: The plural is chosen by the last %d, i.e. the total number +-#: imap/imap.c:1720 ++#: imap/imap.c:1738 + #, fuzzy, c-format + msgid "Saving changed message... [%d/%d]" + msgid_plural "Saving changed messages... [%d/%d]" +@@ -2310,37 +2552,37 @@ msgstr[0] "Збереження змінених листів... [%d/%d]" + msgstr[1] "Збереження змінених листів... [%d/%d]" + msgstr[2] "Збереження змінених листів... [%d/%d]" + +-#: imap/imap.c:1776 ++#: imap/imap.c:1794 + msgid "Error saving flags. Close anyway?" + msgstr "Помилка збереження атрибутів. Закрити все одно?" + +-#: imap/imap.c:1783 ++#: imap/imap.c:1801 + msgid "Error saving flags" + msgstr "Помилка збереження атрибутів" + +-#: imap/imap.c:1808 ++#: imap/imap.c:1826 + msgid "Expunging messages from server..." + msgstr "Видалення повідомлень з серверу..." + +-#: imap/imap.c:1814 ++#: imap/imap.c:1832 + msgid "imap_sync_mailbox: EXPUNGE failed" + msgstr "imap_sync_mailbox: помилка EXPUNGE" + +-#: imap/imap.c:2023 nntp/nntp.c:2486 ++#: imap/imap.c:2058 nntp/nntp.c:2488 + #, c-format + msgid "Selecting %s..." + msgstr "Вибір %s..." + +-#: imap/imap.c:2184 ++#: imap/imap.c:2221 + msgid "Error opening mailbox" + msgstr "Помилка відкриття поштової скриньки" + +-#: imap/imap.c:2330 ++#: imap/imap.c:2367 + #, fuzzy + msgid "IMAP server doesn't support custom flags" + msgstr "SMTP-сервер не підтримує аутентифікації" + +-#: imap/imap.c:2374 ++#: imap/imap.c:2411 + #, fuzzy + msgid "Invalid IMAP flags" + msgstr "Неправ. " +@@ -2351,7 +2593,7 @@ msgid "Abort download and close mailbox?" + msgstr "" + + #: imap/message.c:554 mutt/memory.c:58 mutt/memory.c:98 mutt/memory.c:134 +-#: mutt/string.c:1178 mx.c:1176 ++#: mutt/string.c:1201 mx.c:1195 + msgid "Out of memory" + msgstr "Не вистачає пам’яті" + +@@ -2371,7 +2613,7 @@ msgstr "Отримання заголовків листів..." + msgid "Unable to fetch headers from this IMAP server version" + msgstr "З серверу IMAP цієї версії отримати заголовки неможливо" + +-#: imap/message.c:1099 index.c:1548 nntp/nntp.c:1328 pop/pop.c:426 ++#: imap/message.c:1099 index.c:1554 nntp/nntp.c:1330 pop/pop.c:426 + msgid "Fetching message headers..." + msgstr "Отримання заголовків листів..." + +@@ -2384,156 +2626,156 @@ msgstr "Відправка листа..." + msgid "Copying message %d to %s..." + msgstr "Копіювання %d листів до %s..." + +-#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2737 pop/pop.c:1110 ++#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2739 pop/pop.c:1105 + msgid "Fetching message..." + msgstr "Отримання листа..." + +-#: imap/message.c:1959 pop/pop.c:1106 ++#: imap/message.c:1959 pop/pop.c:1101 + msgid "The message index is incorrect. Try reopening the mailbox." + msgstr "Некоректний індекс повідомленнь. Спробуйте відкрити скриньку ще раз." + +-#: imap/util.c:767 ++#: imap/util.c:796 + msgid "Continue?" + msgstr "Далі?" + +-#: index.c:115 index.c:128 ++#: index.c:111 index.c:124 + msgid "Quit" + msgstr "Вийти" + +-#: index.c:118 index.c:131 recvattach.c:93 ++#: index.c:114 index.c:127 recvattach.c:91 + msgid "Save" + msgstr "Збер." + +-#: index.c:119 query.c:81 ++#: index.c:115 query.c:79 + msgid "Mail" + msgstr "Лист" + +-#: index.c:120 pager.c:237 ++#: index.c:116 pager.c:229 + msgid "Reply" + msgstr "Відп." + +-#: index.c:121 ++#: index.c:117 + msgid "Group" + msgstr "Всім" + +-#: index.c:132 pager.c:244 ++#: index.c:128 pager.c:236 + msgid "Post" + msgstr "" + +-#: index.c:133 pager.c:245 ++#: index.c:129 pager.c:237 + #, fuzzy + msgid "Followup" + msgstr "Переслати %s%s?" + +-#: index.c:190 index.c:1362 ++#: index.c:186 index.c:1367 + msgid "No mailbox is open" + msgstr "Немає відкритої поштової скриньки" + +-#: index.c:196 ++#: index.c:192 + msgid "There are no messages" + msgstr "Жодного повідомлення немає" + +-#: index.c:202 ++#: index.c:198 + msgid "No visible messages" + msgstr "Жодного повідомлення не видно" + +-#: index.c:208 mx.c:901 pager.c:223 recvattach.c:80 ++#: index.c:204 mx.c:920 pager.c:215 recvattach.c:78 + msgid "Mailbox is read-only" + msgstr "Поштова скринька відкрита тільки для читання" + +-#: index.c:214 pager.c:225 recvattach.c:98 ++#: index.c:210 pager.c:217 recvattach.c:96 + msgid "Function not permitted in attach-message mode" + msgstr "Функцію не дозволено в режимі додавання повідомлення" + + #. L10N: %s is one of the CHECK_ACL entries below. +-#: index.c:239 pager.c:290 ++#: index.c:235 pager.c:282 + #, c-format + msgid "%s: Operation not permitted by ACL" + msgstr "%s: Операція не дозволена ACL" + +-#: index.c:430 ++#: index.c:426 + msgid "Can't toggle write on a readonly mailbox" + msgstr "Скринька тільки для читання, ввімкнути запис неможливо" + +-#: index.c:437 ++#: index.c:433 + msgid "Changes to folder will be written on folder exit" + msgstr "Зміни у скриньці буде записано по виходу з неї" + +-#: index.c:442 ++#: index.c:438 + msgid "Changes to folder will not be written" + msgstr "Зміни у скриньці не буде записано" + +-#: index.c:719 muttlib.c:1490 mx.c:206 mx.c:340 ++#: index.c:714 muttlib.c:1488 mx.c:206 mx.c:338 + #, c-format + msgid "%s is not a mailbox" + msgstr "%s не є поштовою скринькою" + +-#: index.c:1218 ++#: index.c:1223 + msgid "Mailbox was externally modified. Flags may be wrong." + msgstr "Поштову скриньку змінила зовнішня програма. Атрибути можуть бути змінені." + +-#: index.c:1227 pager.c:2409 ++#: index.c:1232 pager.c:2379 + msgid "New mail in this mailbox" + msgstr "Нова пошта у цій поштовій скриньці" + +-#: index.c:1242 ++#: index.c:1247 + msgid "Mailbox was externally modified" + msgstr "Поштову скриньку змінила зовнішня програма" + +-#: index.c:1369 ++#: index.c:1374 + msgid "No tagged messages" + msgstr "Жодного листа не виділено" + +-#: index.c:1373 index.c:1647 menu.c:1423 ++#: index.c:1378 index.c:1653 menu.c:1423 + msgid "Nothing to do" + msgstr "Нічого робити" + +-#: index.c:1470 ++#: index.c:1475 + #, fuzzy + msgid "Enter Message-Id: " + msgstr "Введіть keyID: " + +-#: index.c:1481 ++#: index.c:1487 + msgid "Article has no parent reference" + msgstr "" + +-#: index.c:1504 ++#: index.c:1510 + #, fuzzy + msgid "Message is not visible in limited view" + msgstr "Кореневий лист не можна побачити при цьому обмеженні" + +-#: index.c:1508 ++#: index.c:1514 + #, fuzzy, c-format + msgid "Fetching %s from server..." + msgstr "Видалення повідомлень з серверу..." + +-#: index.c:1518 nntp/nntp.c:2772 ++#: index.c:1524 nntp/nntp.c:2774 + #, c-format + msgid "Article %s not found on the server" + msgstr "" + +-#: index.c:1544 ++#: index.c:1550 + msgid "No Message-Id. Unable to perform operation." + msgstr "" + +-#: index.c:1623 ++#: index.c:1629 + #, fuzzy + msgid "No deleted messages found in the thread" + msgstr "видалити всі листи розмови" + +-#: index.c:1644 ++#: index.c:1650 + msgid "Jump to message: " + msgstr "Перейти до листа: " + +-#: index.c:1650 ++#: index.c:1656 + msgid "Argument must be a message number" + msgstr "Аргумент повинен бути номером листа" + +-#: index.c:1652 ++#: index.c:1658 + msgid "Invalid message number" + msgstr "Невірний номер листа" + +-#: index.c:1654 ++#: index.c:1660 + msgid "That message is not visible" + msgstr "Цей лист не можна побачити" + +@@ -2546,38 +2788,38 @@ msgstr "Цей лист не можна побачити" + #. delete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. + #. +-#: index.c:1692 index.c:3267 pager.c:3064 ++#: index.c:1698 index.c:3293 pager.c:3039 + #, fuzzy + msgid "Can't delete messages" + msgstr "Неможливо видалити лист" + +-#: index.c:1695 ++#: index.c:1701 + msgid "Delete messages matching: " + msgstr "Видалити листи за шаблоном: " + +-#: index.c:1736 ++#: index.c:1742 + msgid "No limit pattern is in effect" + msgstr "Обмеження не встановлено" + + #. L10N: ask for a limit to apply +-#: index.c:1741 ++#: index.c:1747 + #, c-format + msgid "Limit: %s" + msgstr "Обмеження: %s" + +-#: index.c:1778 ++#: index.c:1784 + msgid "Limit to messages matching: " + msgstr "Обмежитись повідомленнями за шаблоном: " + +-#: index.c:1809 ++#: index.c:1815 + msgid "To view all messages, limit to \"all\"" + msgstr "Щоб побачити всі повідомлення, встановіть шаблон \"all\"" + +-#: index.c:1821 pager.c:2514 ++#: index.c:1827 pager.c:2487 + msgid "Quit NeoMutt?" + msgstr "Вийти з NeoMutt?" + +-#: index.c:1924 ++#: index.c:1931 + msgid "Tag messages matching: " + msgstr "Виділити листи за шаблоном: " + +@@ -2585,204 +2827,204 @@ msgstr "Виділити листи за шаблоном: " + #. L10N: Due to the implementation details we do not know whether we + #. undelete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:1935 index.c:3807 pager.c:3418 ++#: index.c:1942 index.c:3833 pager.c:3396 + #, fuzzy + msgid "Can't undelete messages" + msgstr "Неможливо відновити лист" + +-#: index.c:1939 ++#: index.c:1946 + msgid "Undelete messages matching: " + msgstr "Відновити листи за шаблоном: " + +-#: index.c:1948 ++#: index.c:1955 + msgid "Untag messages matching: " + msgstr "Зняти виділення з листів за шаблоном: " + +-#: index.c:1989 ++#: index.c:1996 + msgid "Logged out of IMAP servers" + msgstr "Закриття з’єднання з сервером IMAP.." + +-#: index.c:2105 ++#: index.c:2113 + #, fuzzy + msgid "No virtual folder and no Message-Id, aborting" + msgstr "Теми немає, відмінено" + +-#: index.c:2117 index.c:2288 index.c:2310 index.c:2331 ++#: index.c:2125 index.c:2313 index.c:2335 index.c:2356 + msgid "Failed to create query, aborting" + msgstr "" + +-#: index.c:2130 ++#: index.c:2138 + msgid "failed to find message in notmuch database. try running 'notmuch new'." + msgstr "" + +-#: index.c:2139 ++#: index.c:2147 + msgid "Failed to read thread, aborting" + msgstr "" + +-#: index.c:2171 mx.c:1252 mx.c:1272 ++#: index.c:2179 mx.c:1271 mx.c:1291 + #, fuzzy + msgid "Folder doesn't support tagging, aborting" + msgstr "SMTP-сервер не підтримує аутентифікації" + +-#: index.c:2188 ++#: index.c:2196 + #, fuzzy + msgid "No tag specified, aborting" + msgstr "Теми немає, відмінено" + +-#: index.c:2198 ++#: index.c:2206 + msgid "Update tags..." + msgstr "" + +-#: index.c:2238 ++#: index.c:2246 + msgid "Failed to modify tags, aborting" + msgstr "" + +-#: index.c:2284 ++#: index.c:2293 + #, fuzzy + msgid "No query, aborting" + msgstr "Теми немає, відмінено" + +-#: index.c:2299 index.c:2320 ++#: index.c:2324 index.c:2345 + msgid "Windowed queries disabled" + msgstr "" + +-#: index.c:2304 index.c:2325 ++#: index.c:2329 index.c:2350 + msgid "No notmuch vfolder currently loaded" + msgstr "" + +-#: index.c:2374 ++#: index.c:2399 + msgid "Open mailbox in read-only mode" + msgstr "Відкрити скриньку лише для читання" + +-#: index.c:2376 ++#: index.c:2401 + msgid "Open mailbox" + msgstr "Відкрити скриньку" + +-#: index.c:2386 ++#: index.c:2411 + msgid "No mailboxes have new mail" + msgstr "Немає поштової скриньки з новою поштою." + +-#: index.c:2419 ++#: index.c:2444 + #, fuzzy + msgid "Open newsgroup in read-only mode" + msgstr "Відкрити скриньку лише для читання" + +-#: index.c:2421 ++#: index.c:2446 + msgid "Open newsgroup" + msgstr "" + +-#: index.c:2538 ++#: index.c:2564 + #, fuzzy + msgid "Exit NeoMutt without saving?" + msgstr "Покинути NeoMutt без збереження змін?" + + #. L10N: CHECK_ACL +-#: index.c:2554 ++#: index.c:2580 + #, fuzzy + msgid "Can't break thread" + msgstr "Неможливо з’єднати розмови" + +-#: index.c:2574 ++#: index.c:2600 + msgid "Thread broken" + msgstr "Розмову розурвано" + +-#: index.c:2587 ++#: index.c:2613 + msgid "Thread can't be broken, message is not part of a thread" + msgstr "Розмовву неможливо розірвати: повідомлення не є частиною розмови" + + #. L10N: CHECK_ACL +-#: index.c:2597 ++#: index.c:2623 + msgid "Can't link threads" + msgstr "Неможливо з’єднати розмови" + +-#: index.c:2606 ++#: index.c:2632 + msgid "No Message-ID: header available to link thread" + msgstr "Відсутній заголовок Message-ID для об’єднання розмов" + +-#: index.c:2608 ++#: index.c:2634 + msgid "First, please tag a message to be linked here" + msgstr "Спершу виділіть листи для об’єднання" + +-#: index.c:2621 ++#: index.c:2647 + msgid "Threads linked" + msgstr "Розмови об’єднано" + +-#: index.c:2624 ++#: index.c:2650 + msgid "No thread linked" + msgstr "Розмови не об’єднано" + +-#: index.c:2665 index.c:2690 ++#: index.c:2691 index.c:2716 + msgid "You are on the last message" + msgstr "Це останній лист" + +-#: index.c:2673 index.c:2716 ++#: index.c:2699 index.c:2742 + msgid "No undeleted messages" + msgstr "Немає відновлених листів" + +-#: index.c:2708 index.c:2733 ++#: index.c:2734 index.c:2759 + msgid "You are on the first message" + msgstr "Це перший лист" + +-#: index.c:2874 ++#: index.c:2900 + msgid "No new messages in this limited view" + msgstr "Немає нових листів при цьому перегляді з обмеженням" + +-#: index.c:2876 ++#: index.c:2902 + msgid "No new messages" + msgstr "Немає нових листів" + +-#: index.c:2881 ++#: index.c:2907 + msgid "No unread messages in this limited view" + msgstr "Немає нечитаних листів при цьому перегляді з обмеженням" + +-#: index.c:2883 ++#: index.c:2909 + msgid "No unread messages" + msgstr "Немає нечитаних листів" + +-#: index.c:2893 menu.c:1208 pager.c:2644 pattern.c:2652 ++#: index.c:2919 menu.c:1208 pager.c:2618 pattern.c:2776 + msgid "Search wrapped to top" + msgstr "Досягнуто кінець. Пошук перенесено на початок" + +-#: index.c:2898 pager.c:2669 pattern.c:2663 ++#: index.c:2924 pager.c:2643 pattern.c:2787 + msgid "Search wrapped to bottom" + msgstr "Досягнуто початок. Пошук перенесено на кінець" + + #. L10N: CHECK_ACL +-#: index.c:2915 ++#: index.c:2941 + msgid "Can't flag message" + msgstr "Неможливо змінити атрибут листа" + + #. L10N: CHECK_ACL +-#: index.c:2961 pager.c:3377 ++#: index.c:2987 pager.c:3355 + msgid "Can't toggle new" + msgstr "Неможливо змінити атрибут \"Нове\"" + +-#: index.c:3057 ++#: index.c:3083 + msgid "No more threads" + msgstr "Розмов більше нема" + +-#: index.c:3059 ++#: index.c:3085 + msgid "You are on the first thread" + msgstr "Це перша розмова" + +-#: index.c:3156 ++#: index.c:3182 + #, fuzzy + msgid "Thread contains unread or flagged messages" + msgstr "Розмова має нечитані листи" + + #. L10N: CHECK_ACL +-#: index.c:3215 pager.c:3019 ++#: index.c:3241 pager.c:2994 + msgid "Can't delete message" + msgstr "Неможливо видалити лист" + + #. L10N: CHECK_ACL +-#: index.c:3339 ++#: index.c:3365 + msgid "Can't edit message" + msgstr "Неможливо редагувати лист" + + #. L10N: This is displayed when the x-label on one or more + #. messages is edited. +-#: index.c:3432 pager.c:3495 ++#: index.c:3458 pager.c:3473 + #, fuzzy, c-format + msgid "%d label changed" + msgid_plural "%d labels changed" +@@ -2793,7 +3035,7 @@ msgstr[2] "Позначки було змінено: %d" + #. L10N: This is displayed when editing an x-label, but no messages + #. were updated. Possibly due to canceling at the prompt or if the new + #. label is the same as the old label. +-#: index.c:3440 pager.c:3499 ++#: index.c:3466 pager.c:3477 + msgid "No labels changed" + msgstr "Жодної позначки не було змінено" + +@@ -2801,7 +3043,7 @@ msgstr "Жодної позначки не було змінено" + #. L10N: Due to the implementation details we do not know whether we + #. mark zero, 1, 12, ... messages as read. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:3571 ++#: index.c:3597 + #, fuzzy + msgid "Can't mark messages as read" + msgstr "Неможливо позначити лист(и) прочитаним(и)" +@@ -2809,271 +3051,133 @@ msgstr "Неможливо позначити лист(и) прочитаним( + #. L10N: This is the prompt for . Whatever they + #. enter will be prefixed by $mark_macro_prefix and will become + #. a macro hotkey to jump to the currently selected message. +-#: index.c:3612 ++#: index.c:3638 + msgid "Enter macro stroke: " + msgstr "Введіть макрос листа: " + + #. L10N: "message hotkey" is the key bindings menu description of a + #. macro created by . +-#: index.c:3620 ++#: index.c:3646 + msgid "message hotkey" + msgstr "макрос листа" + + #. L10N: This is echoed after creates a new hotkey + #. macro. %s is the hotkey string ($mark_macro_prefix followed + #. by whatever they typed at the prompt.) +-#: index.c:3625 ++#: index.c:3651 + #, c-format + msgid "Message bound to %s" + msgstr "Лист пов’язаний з %s" + + #. L10N: This error is printed if can't find a + #. Message-ID for the currently selected message in the index. +-#: index.c:3634 ++#: index.c:3660 + msgid "No message ID to macro" + msgstr "Немає Message-ID для створення макроса" + +-#: index.c:3688 pager.c:3221 recvattach.c:1646 ++#: index.c:3714 pager.c:3196 recvattach.c:1678 + msgid "Reply by mail as poster prefers?" + msgstr "" + +-#: index.c:3691 pager.c:3182 pager.c:3194 pager.c:3224 ++#: index.c:3717 pager.c:3157 pager.c:3169 pager.c:3199 + msgid "Posting to this group not allowed, may be moderated. Continue?" + msgstr "" + + #. L10N: CHECK_ACL +-#: index.c:3768 pager.c:3397 ++#: index.c:3794 pager.c:3375 + msgid "Can't undelete message" + msgstr "Неможливо відновити лист" + +-#: init.c:313 ++#: init.c:223 + #, c-format + msgid "Error in command line: %s" + msgstr "Помилка командного рядку: %s" + +-#: init.c:315 ++#: init.c:225 + #, fuzzy, c-format + msgid "Warning in command line: %s" + msgstr "Помилка командного рядку: %s" + +-#: init.c:426 ++#: init.c:336 + msgid "unable to determine nodename via uname()" + msgstr "неможливо визначити ім’я вузла за допомогою uname()" + +-#: init.c:580 +-msgid "-group: no group name" +-msgstr "-group: не вказано імені групи" +- +-#: init.c:590 +-msgid "out of arguments" +-msgstr "замало аргументів" +- +-#: init.c:804 init.c:1752 +-#, c-format +-msgid "Error: Can't build path of '%s'" +-msgstr "" +- +-#: init.c:817 +-#, c-format +-msgid "Error: Cyclic sourcing of configuration file '%s'" +-msgstr "" +- +-#: init.c:850 +-#, c-format +-msgid "Error in %s, line %d: %s" +-msgstr "Помилка в %s, рядок %d: %s" +- +-#: init.c:861 +-#, fuzzy, c-format +-msgid "Warning in %s, line %d: %s" +-msgstr "Помилка в %s, рядок %d: %s" +- +-#: init.c:885 +-#, c-format +-msgid "source: errors in %s" +-msgstr "source: помилки в %s" +- +-#: init.c:885 +-#, c-format +-msgid "source: reading aborted due to too many errors in %s" +-msgstr "source: читання припинено, дуже багато помилок у %s" +- +-#: init.c:894 +-#, fuzzy, c-format +-msgid "source: %d warning in %s" +-msgid_plural "source: %d warnings in %s" +-msgstr[0] "source: помилки в %s" +-msgstr[1] "source: помилки в %s" +-msgstr[2] "source: помилки в %s" +- +-#: init.c:923 +-msgid "alias: no address" +-msgstr "alias: адреси немає" +- +-#: init.c:965 +-#, c-format +-msgid "Warning: Bad IDN '%s' in alias '%s'" +-msgstr "Попередження: Погане IDN \"%s\" в псевдонімі \"%s\"" +- +-#: init.c:1043 +-msgid "attachments: no disposition" +-msgstr "attachments: відсутній параметр disposition" +- +-#: init.c:1054 +-#, fuzzy +-msgid "Current attachments settings:" +-msgstr "змінити пояснення до додатку" +- +-#: init.c:1084 +-msgid "attachments: invalid disposition" +-msgstr "attachments: неправильний параметр disposition" +- +-#: init.c:1160 +-#, c-format +-msgid "%sgroup: missing -rx or -addr" +-msgstr "%sgroup: відсутні -rx чи -addr" +- +-#: init.c:1186 +-#, c-format +-msgid "%sgroup: warning: bad IDN '%s'" +-msgstr "%sgroup: попередження: погане IDN: %s" +- +-#: init.c:1278 +-#, c-format +-msgid "Error: %s" +-msgstr "" +- +-#: init.c:1445 +-msgid "invalid header field" +-msgstr "неправильне поле заголовку" +- +-#: init.c:1711 init.c:1815 +-#, c-format +-msgid "%s: unknown variable" +-msgstr "%s: невідома змінна" +- +-#: init.c:1908 +-#, c-format +-msgid "%s is unset" +-msgstr "%s не встановлено" +- +-#: init.c:1953 mutt_lua.c:478 +-#, c-format +-msgid "source: error at %s" +-msgstr "source: помилка в %s" +- +-#: init.c:1961 +-#, fuzzy, c-format +-msgid "source: file %s could not be sourced" +-msgstr "Повідомлення не можуть бути надруковані" +- +-#: init.c:1984 +-msgid "spam: no matching pattern" +-msgstr "спам: зразок не знайдено" +- +-#: init.c:1986 +-msgid "nospam: no matching pattern" +-msgstr "не спам: зразок не знайдено" +- +-#: init.c:2146 +-#, fuzzy, c-format +-msgid "Could not subscribe to %s" +-msgstr "Підписано на %s..." +- +-#: init.c:2154 init.c:2632 +-#, fuzzy +-msgid "No folder specified" +-msgstr "Теми не вказано." +- +-#: init.c:2341 +-msgid "unattachments: no disposition" +-msgstr "unattachments: відсутні йпараметр disposition" +- +-#: init.c:2379 +-msgid "unattachments: invalid disposition" +-msgstr "unattachments: неправильний параметр disposition" +- +-#: init.c:2624 +-#, fuzzy, c-format +-msgid "Could not unsubscribe from %s" +-msgstr "Відписано від %s..." +- +-#: init.c:3292 ++#: init.c:1042 + #, c-format + msgid "%s: unknown command" + msgstr "%s: невідома команда" + +-#: init.c:3837 ++#: init.c:1588 + msgid "'charset' must contain exactly one character set name" + msgstr "" + +-#: init.c:3853 init.c:3877 init.c:3912 ++#: init.c:1604 init.c:1628 init.c:1663 + #, fuzzy, c-format + msgid "Invalid value for option %s: %s" + msgstr "Неправильне значення для параметра %s: \"%s\"" + +-#: init.c:3890 ++#: init.c:1641 + #, c-format + msgid "Option %s may not be set or reset from the pager" + msgstr "" + +-#: init.c:3928 ++#: init.c:1679 + #, fuzzy, c-format + msgid "Option %s may not be set when in attach-message mode" + msgstr "Функцію не дозволено в режимі додавання повідомлення." + + #. L10N: This applies to the "$wrap_headers" config variable +-#: init.c:3943 ++#: init.c:1694 + #, c-format + msgid "Option %s must between 78 and 998 inclusive" + msgstr "" + +-#: keymap.c:373 keymap.c:381 ++#: keymap.c:371 keymap.c:379 + #, c-format + msgid "Binding '%s' will alias '%s' Before, try: 'bind %s %s noop' https://neomutt.org/guide/configuration.html#bind-warnings" + msgstr "" + +-#: keymap.c:757 ++#: keymap.c:755 + msgid "Macro loop detected" + msgstr "Знайдено зациклення макросу" + +-#: keymap.c:1064 keymap.c:1099 ++#: keymap.c:1062 keymap.c:1097 + msgid "Key is not bound" + msgstr "Клавішу не призначено" + +-#: keymap.c:1104 ++#: keymap.c:1102 + #, c-format + msgid "Key is not bound. Press '%s' for help." + msgstr "Клавішу не призначено. Натисніть \"%s\" для підказки." + +-#: keymap.c:1177 ++#: keymap.c:1175 + #, c-format + msgid "%s: null key sequence" + msgstr "%s: порожня послідовність клавіш" + +-#: keymap.c:1212 ++#: keymap.c:1210 + #, c-format + msgid "Function '%s' not available for menu '%s'" + msgstr "" + +-#: keymap.c:1495 ++#: keymap.c:1493 + msgid "macro: empty key sequence" + msgstr "macro: порожня послідовність клавіш" + +-#: keymap.c:1543 ++#: keymap.c:1541 + msgid "exec: no arguments" + msgstr "exec: немає аргументів" + +-#: keymap.c:1563 ++#: keymap.c:1561 + #, c-format + msgid "%s: no such function" + msgstr "функція \"%s\" не існує" + +-#: keymap.c:1584 ++#: keymap.c:1582 + msgid "Enter keys (^G to abort): " + msgstr "Введіть клавіші (^G для відміни): " + +-#: keymap.c:1590 ++#: keymap.c:1588 + #, c-format + msgid "Char = %s, Octal = %o, Decimal = %d" + msgstr "Символ = %s, Вісімковий = %o, Десятковий = %d" +@@ -3097,7 +3201,7 @@ msgstr "запису для типу %s в mailcap не знайдено" + msgid "Scanning %s..." + msgstr "Перегляд %s..." + +-#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:353 ++#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:351 + #, c-format + msgid "Reading %s..." + msgstr "Читання %s..." +@@ -3112,13 +3216,13 @@ msgid "md_commit_message(): unable to set time on file" + msgstr "_maildir_commit_message(): неможливо встановити час для файлу" + + #. L10N: Displayed before/as a mailbox is being synced +-#: maildir/shared.c:1723 mbox/mbox.c:1276 mx.c:461 notmuch/mutt_notmuch.c:2364 ++#: maildir/shared.c:1734 mbox/mbox.c:1276 mx.c:459 notmuch/mutt_notmuch.c:2364 + #, c-format + msgid "Writing %s..." + msgstr "Запис %s..." + + #. L10N: Try to limit to 80 columns +-#: main.c:227 ++#: main.c:160 + msgid "" + "usage:\n" + " neomutt [-Enx] [-e ] [-F ] [-H ] [-i ]\n" +@@ -3141,7 +3245,7 @@ msgid "" + msgstr "" + + #. L10N: Try to limit to 80 columns. If more space is needed add an indented line +-#: main.c:247 ++#: main.c:180 + msgid "" + "options:\n" + " -- Special argument forces NeoMutt to stop option parsing and treat\n" +@@ -3184,54 +3288,54 @@ msgid "" + " or exit immediately with exit code 1 otherwise" + msgstr "" + +-#: main.c:312 ++#: main.c:245 + msgid "Error initializing terminal" + msgstr "Помилка ініціалізації терміналу" + +-#: main.c:390 ++#: main.c:323 + msgid "unable to determine username" + msgstr "неможливо визначити ім’я користувача" + +-#: main.c:396 ++#: main.c:329 + msgid "unable to determine home directory" + msgstr "неможливо визначити домашній каталог" + +-#: main.c:640 ++#: main.c:572 + #, c-format + msgid "Error: value '%s' is invalid for -d" + msgstr "Помилка: значення \"%s\" некорректне для -d" + +-#: main.c:884 ++#: main.c:815 + msgid "Failed to parse mailto: link" + msgstr "Неможливо розібрати почилання mailto:" + +-#: main.c:896 send.c:2452 send.c:2456 ++#: main.c:827 send.c:2463 send.c:2467 + msgid "No recipients specified" + msgstr "Отримувачів не вказано" + +-#: main.c:923 ++#: main.c:854 + msgid "Can't use -E flag with stdin" + msgstr "Неможливо використовувати -E з stdin" + +-#: main.c:1007 ++#: main.c:938 + #, fuzzy, c-format + msgid "Can't parse message template: %s" + msgstr "Неможливо відкрити файл повідомлення: %s" + +-#: main.c:1073 mutt_header.c:329 ++#: main.c:1004 mutt_header.c:329 + #, c-format + msgid "%s: unable to attach file" + msgstr "%s: неможливо додати файл" + +-#: main.c:1156 ++#: main.c:1087 + msgid "No mailbox with new mail" + msgstr "Немає поштової скриньки з новою поштою" + +-#: main.c:1180 ++#: main.c:1111 + msgid "No incoming mailboxes defined" + msgstr "Вхідних поштових скриньок не вказано" + +-#: main.c:1230 ++#: main.c:1161 + msgid "Mailbox is empty" + msgstr "Поштова скринька порожня" + +@@ -3273,52 +3377,52 @@ msgstr "Не вийшло відкрити поштову скриньку зн + msgid "Can't write message" + msgstr "Неможливо записати лист" + +-#: menu.c:632 ++#: menu.c:631 + msgid "Jump to: " + msgstr "Перейти до: " + +-#: menu.c:641 ++#: menu.c:640 + msgid "Invalid index number" + msgstr "Невірний номер переліку" + +-#: menu.c:645 menu.c:671 menu.c:744 menu.c:810 menu.c:828 menu.c:843 menu.c:858 +-#: menu.c:873 menu.c:890 menu.c:907 menu.c:1553 ++#: menu.c:644 menu.c:670 menu.c:743 menu.c:809 menu.c:827 menu.c:842 menu.c:857 ++#: menu.c:872 menu.c:889 menu.c:906 menu.c:1553 + msgid "No entries" + msgstr "Жодної позицїї" + +-#: menu.c:668 ++#: menu.c:667 + msgid "You can't scroll down farther" + msgstr "Нижче прокручувати неможна" + +-#: menu.c:690 ++#: menu.c:689 + msgid "You can't scroll up farther" + msgstr "Вище прокручувати неможна" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the first page" + msgstr "Це перша сторінка" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the last page" + msgstr "Це остання сторінка" + +-#: menu.c:922 ++#: menu.c:921 + msgid "You are on the last entry" + msgstr "Це остання позиція" + +-#: menu.c:937 ++#: menu.c:936 + msgid "You are on the first entry" + msgstr "Це перша позиція" + +-#: menu.c:1172 pager.c:2692 pattern.c:2578 ++#: menu.c:1172 pager.c:2666 pattern.c:2702 + msgid "Search for: " + msgstr "Шукати вираз:" + +-#: menu.c:1173 pager.c:2693 pattern.c:2579 ++#: menu.c:1173 pager.c:2667 pattern.c:2703 + msgid "Reverse search for: " + msgstr "Зворотній пошук виразу: " + +-#: menu.c:1226 pager.c:2641 pager.c:2666 pager.c:2800 pattern.c:2708 ++#: menu.c:1226 pager.c:2615 pager.c:2640 pager.c:2774 pattern.c:2832 + msgid "Not found" + msgstr "Не знайдено" + +@@ -3361,20 +3465,20 @@ msgstr "Чекання блокування flock... %d" + msgid "Bad history file format (line %d)" + msgstr "Некоректний формат файлу історії (рядок %d)" + +-#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1006 ncrypt/crypt_gpgme.c:2381 +-#: ncrypt/crypt_gpgme.c:2401 ncrypt/crypt_gpgme.c:2460 +-#: ncrypt/crypt_gpgme.c:2477 ncrypt/crypt_gpgme.c:2509 +-#: ncrypt/crypt_gpgme.c:2527 ncrypt/crypt_gpgme.c:2611 +-#: ncrypt/crypt_gpgme.c:3194 ncrypt/crypt_gpgme.c:3292 +-#: ncrypt/crypt_gpgme.c:4373 ncrypt/pgp.c:576 ncrypt/pgp.c:583 ncrypt/pgp.c:896 +-#: ncrypt/pgp.c:1014 ncrypt/pgp.c:1161 ncrypt/pgp.c:1181 ncrypt/pgp.c:1215 +-#: ncrypt/pgp.c:1568 ncrypt/pgpkey.c:708 ncrypt/pgpkey.c:902 +-#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1092 ncrypt/smime.c:1100 +-#: ncrypt/smime.c:1191 ncrypt/smime.c:1299 ncrypt/smime.c:1364 +-#: ncrypt/smime.c:1372 ncrypt/smime.c:1571 ncrypt/smime.c:1967 +-#: ncrypt/smime.c:2046 ncrypt/smime.c:2053 ncrypt/smime.c:2156 +-#: ncrypt/smime.c:2281 ncrypt/smime.c:2297 nntp/nntp.c:1397 nntp/nntp.c:2237 +-#: pattern.c:1132 pop/pop.c:182 ++#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1005 ncrypt/crypt_gpgme.c:2420 ++#: ncrypt/crypt_gpgme.c:2440 ncrypt/crypt_gpgme.c:2499 ++#: ncrypt/crypt_gpgme.c:2516 ncrypt/crypt_gpgme.c:2548 ++#: ncrypt/crypt_gpgme.c:2566 ncrypt/crypt_gpgme.c:2650 ++#: ncrypt/crypt_gpgme.c:3237 ncrypt/crypt_gpgme.c:3335 ++#: ncrypt/crypt_gpgme.c:4421 ncrypt/pgp.c:575 ncrypt/pgp.c:582 ncrypt/pgp.c:895 ++#: ncrypt/pgp.c:1013 ncrypt/pgp.c:1160 ncrypt/pgp.c:1180 ncrypt/pgp.c:1214 ++#: ncrypt/pgp.c:1570 ncrypt/pgpkey.c:741 ncrypt/pgpkey.c:937 ++#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1126 ncrypt/smime.c:1134 ++#: ncrypt/smime.c:1225 ncrypt/smime.c:1333 ncrypt/smime.c:1398 ++#: ncrypt/smime.c:1406 ncrypt/smime.c:1605 ncrypt/smime.c:2001 ++#: ncrypt/smime.c:2080 ncrypt/smime.c:2087 ncrypt/smime.c:2190 ++#: ncrypt/smime.c:2315 ncrypt/smime.c:2331 nntp/nntp.c:1399 nntp/nntp.c:2239 ++#: pattern.c:1171 pop/pop.c:182 + msgid "Can't create temporary file" + msgstr "Неможливо створити тимчасовий файл" + +@@ -3393,7 +3497,7 @@ msgstr "Відлагодження з рівнем %d.\n" + msgid "Logging at level %d to file '%s'" + msgstr "Відлагодження з рівнем %d.\n" + +-#: mutt/path.c:401 ++#: mutt/path.c:420 + #, fuzzy + msgid "Error: converting path to absolute" + msgstr "Помилка з’єднання з сервером: %s" +@@ -3417,17 +3521,17 @@ msgstr "Отримано сигнал %d (%s) ... Виходжу.\n" + msgid "Caught signal %d ... Exiting.\n" + msgstr "Отримано сигнал %d ... Виходжу.\n" + +-#: muttlib.c:490 ++#: muttlib.c:488 + #, c-format + msgid "mutt_randbuf buflen=%zu" + msgstr "" + +-#: muttlib.c:510 ++#: muttlib.c:508 + #, c-format + msgid "open /dev/urandom: %s" + msgstr "" + +-#: muttlib.c:517 ++#: muttlib.c:515 + #, c-format + msgid "read /dev/urandom: %s" + msgstr "" +@@ -3435,148 +3539,120 @@ msgstr "" + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) + #. These three letters correspond to the choices in the string. +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "File is a directory, save under it: (y)es, (n)o, (a)ll?" + msgstr "Файл є каталогом, зберегти у ньому? (y)так/(n)ні/(a)все" + +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "yna" + msgstr "yna" + + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) +-#: muttlib.c:763 ++#: muttlib.c:761 + msgid "File is a directory, save under it?" + msgstr "Файл є каталогом, зберегти у ньому?" + +-#: muttlib.c:768 ++#: muttlib.c:766 + msgid "File under directory: " + msgstr "Файл у каталозі: " + +-#: muttlib.c:781 ++#: muttlib.c:779 + msgid "File exists, (o)verwrite, (a)ppend, or (c)ancel?" + msgstr "Файл існує, (o)переписати/(a)додати до нього/(c)відмовити?" + + #. L10N: Options for: File exists, (o)verwrite, (a)ppend, or (c)ancel? +-#: muttlib.c:783 ++#: muttlib.c:781 + msgid "oac" + msgstr "oac" + +-#: muttlib.c:1458 ++#: muttlib.c:1456 + msgid "Can't save message to POP mailbox" + msgstr "Неможливо записати лист до скриньки POP" + +-#: muttlib.c:1468 ++#: muttlib.c:1466 + #, c-format + msgid "Append messages to %s?" + msgstr "Додати листи до %s?" + +-#: muttlib.c:1481 ++#: muttlib.c:1479 + #, fuzzy + msgid "Can't save message to news server" + msgstr "Неможливо залишити повідомлення на сервері" + +-#. L10N: Example: Username at myhost.com +-#: mutt_account.c:233 +-#, c-format +-msgid "Username at %s: " +-msgstr "Користувач у %s: " +- +-#: mutt_account.c:315 +-#, c-format +-msgid "Password for %s@%s: " +-msgstr "Пароль для %s@%s: " +- +-#. L10N: You will see this error message if (1) you have "oauthbearer" in +-#. one of your $*_authenticators and (2) you do not have the corresponding +-#. $*_oauth_refresh_command defined. So the message does not mean "None of +-#. your $*_oauth_refresh_command's are defined." +-#: mutt_account.c:383 +-#, fuzzy +-msgid "No OAUTH refresh command defined" +-msgstr "Команду запиту не визначено" +- +-#: mutt_account.c:390 +-msgid "Unable to run refresh command" +-msgstr "" +- +-#: mutt_account.c:400 +-msgid "Command returned empty string" +-msgstr "" +- +-#: mutt_attach.c:140 mutt_attach.c:274 mutt_attach.c:459 mutt_attach.c:1054 ++#: mutt_attach.c:142 mutt_attach.c:276 mutt_attach.c:488 mutt_attach.c:1087 + msgid "Can't match 'nametemplate', continue?" + msgstr "Немає відповідного імені, далі?" + +-#: mutt_attach.c:150 ++#: mutt_attach.c:152 + #, c-format + msgid "Mailcap compose entry requires %%s" + msgstr "Спосіб створення, вказаний у mailcap, потребує параметра %%s" + +-#: mutt_attach.c:168 ++#: mutt_attach.c:170 + msgid "Failure to open file to parse headers" + msgstr "Не вийшло відкрити файл для розбору заголовку" + +-#: mutt_attach.c:202 ++#: mutt_attach.c:204 + msgid "Failure to open file to strip headers" + msgstr "Не вийшло відкрити файл для видалення заголовку" + +-#: mutt_attach.c:212 ++#: mutt_attach.c:214 + msgid "Failure to rename file" + msgstr "Не вдалось перейменувати файл" + +-#: mutt_attach.c:222 ++#: mutt_attach.c:224 + #, c-format + msgid "No mailcap compose entry for %s, creating empty file" + msgstr "В mailcap не визначено спосіб створення %s, створено порожній файл" + +-#: mutt_attach.c:284 ++#: mutt_attach.c:286 + #, c-format + msgid "Mailcap Edit entry requires %%s" + msgstr "Редагування, вказане у mailcap, потребує %%s" + +-#: mutt_attach.c:305 ++#: mutt_attach.c:307 + #, c-format + msgid "No mailcap edit entry for %s" + msgstr "В mailcap не визначено редагування %s" + +-#: mutt_attach.c:427 ++#: mutt_attach.c:456 + msgid "No matching mailcap entry found. Viewing as text." + msgstr "Не знайдено відомостей у mailcap. Показано як текст." + +-#: mutt_attach.c:440 ++#: mutt_attach.c:469 + msgid "MIME type not defined. Can't view attachment." + msgstr "Тип MIME не визначено. Неможливо показати додаток." + +-#: mutt_attach.c:535 ++#: mutt_attach.c:563 + #, c-format + msgid "---Command: %-20.20s Description: %s" + msgstr "---Команда: %-20.20s Опис: %s" + +-#: mutt_attach.c:540 ++#: mutt_attach.c:568 + #, c-format + msgid "---Command: %-30.30s Attachment: %s" + msgstr "---Команда: %-30.30s Додаток: %s" + +-#: mutt_attach.c:619 ++#: mutt_attach.c:652 + #, c-format + msgid "---Attachment: %s: %s" + msgstr "---Додаток: %s: %s" + +-#: mutt_attach.c:621 ++#: mutt_attach.c:654 + #, c-format + msgid "---Attachment: %s" + msgstr "---Додаток: %s" + +-#: mutt_attach.c:902 mutt_attach.c:910 ++#: mutt_attach.c:935 mutt_attach.c:943 + msgid "Write fault" + msgstr "Збій запису" + +-#: mutt_attach.c:1174 ++#: mutt_attach.c:1207 + msgid "I don't know how to print that" + msgstr "Не знаю, як це друкувати" + +-#: mutt_history.c:47 query.c:84 ++#: mutt_history.c:47 query.c:82 + msgid "Search" + msgstr "Пошук" + +@@ -3585,21 +3661,21 @@ msgstr "Пошук" + msgid "History '%s'" + msgstr "Запит \"%s\"" + +-#: mutt_logging.c:315 ++#: mutt_logging.c:313 + #, fuzzy, c-format + msgid "Invalid value for option %s: %ld" + msgstr "Неправильне значення для параметра %s: \"%s\"" + +-#: mutt_lua.c:429 ++#: mutt_lua.c:431 + msgid "Error: Couldn't load the lua interpreter" + msgstr "" + +-#: mutt_lua.c:491 ++#: mutt_lua.c:493 + #, fuzzy, c-format + msgid "Couldn't source lua source: %s" + msgstr "Не вийшло заблокувати %s\n" + +-#: mutt_mailbox.c:214 ++#: mutt_mailbox.c:241 + msgid "New mail in " + msgstr "Нова пошта в " + +@@ -3620,20 +3696,20 @@ msgstr "Кореневий лист не можна побачити при ць + msgid "Parent message is not visible in this limited view" + msgstr "Батьківський лист не можна побачити при цьому обмеженні" + +-#: mx.c:387 ++#: mx.c:385 + #, fuzzy, c-format + msgid "Reading from %s interrupted..." + msgstr "Пошук перервано." + + #. L10N: Displayed if a mailbox sync fails +-#: mx.c:468 ++#: mx.c:469 + #, fuzzy, c-format + msgid "Unable to write %s" + msgstr "Неможливо додати %s" + + #. L10N: Although we know the precise number of messages, we do not show it to the user. + #. So feel free to use a "generic plural" as plural translation if your language has one. +-#: mx.c:523 ++#: mx.c:525 + #, fuzzy + msgid "message not deleted" + msgid_plural "messages not deleted" +@@ -3645,13 +3721,13 @@ msgstr[2] "повідомлення не видалені" + msgid "Can't open trash folder" + msgstr "Не вдалось відкрити кошик" + +-#: mx.c:623 ++#: mx.c:627 + msgid "Mark all articles read?" + msgstr "" + + #. L10N: The first argument is the number of read messages to be + #. moved, the second argument is the target mailbox. +-#: mx.c:671 ++#: mx.c:675 + #, fuzzy, c-format + msgid "Move %d read message to %s?" + msgid_plural "Move %d read messages to %s?" +@@ -3659,7 +3735,7 @@ msgstr[0] "Перенести прочитані листи (кількість: + msgstr[1] "Перенести прочитані листи (кількість: %d) до %s?" + msgstr[2] "Перенести прочитані листи (кількість: %d) до %s?" + +-#: mx.c:685 mx.c:917 ++#: mx.c:689 mx.c:936 + #, fuzzy, c-format + msgid "Purge %d deleted message?" + msgid_plural "Purge %d deleted messages?" +@@ -3667,49 +3743,49 @@ msgstr[0] "Знищити %d видалений листі?" + msgstr[1] "Знищити %d видалених листів?" + msgstr[2] "Знищити %d видалених листів?" + +-#: mx.c:708 ++#: mx.c:712 + #, c-format + msgid "Moving read messages to %s..." + msgstr "Перенос прочитаних листів до %s..." + +-#: mx.c:774 mx.c:908 ++#: mx.c:783 mx.c:927 + msgid "Mailbox is unchanged" + msgstr "Поштову скриньку не змінено" + +-#: mx.c:827 ++#: mx.c:842 + #, c-format + msgid "%d kept, %d moved, %d deleted" + msgstr "%d збережено, %d перенесено, %d знищено" + +-#: mx.c:831 mx.c:972 ++#: mx.c:846 mx.c:991 + #, c-format + msgid "%d kept, %d deleted" + msgstr "%d збережено, %d знищено" + +-#: mx.c:892 ++#: mx.c:911 + #, c-format + msgid " Press '%s' to toggle write" + msgstr "Натисніть \"%s\" для зміни можливості запису" + +-#: mx.c:894 ++#: mx.c:913 + msgid "Use 'toggle-write' to re-enable write" + msgstr "Використовуйте toggle-write для ввімкнення запису" + +-#: mx.c:896 ++#: mx.c:915 + #, c-format + msgid "Mailbox is marked unwritable. %s" + msgstr "Скриньку помічено незмінюваною. %s" + +-#: mx.c:966 ++#: mx.c:985 + msgid "Mailbox checkpointed" + msgstr "Поштову скриньку перевірено" + +-#: ncrypt/crypt.c:93 ++#: ncrypt/crypt.c:91 + #, c-format + msgid " (current time: %c)" + msgstr " (поточний час: %c)" + +-#: ncrypt/crypt.c:98 ++#: ncrypt/crypt.c:96 + #, c-format + msgid "[-- %s output follows%s --]\n" + msgstr "[-- Результат роботи %s%s --]\n" +@@ -3718,52 +3794,52 @@ msgstr "[-- Результат роботи %s%s --]\n" + #. by gpg-agent) we can't know whether we forgot zero, 1, 12, ... + #. passwords. So in English we use "Passphrases". Your language might + #. have other means to express this. +-#: ncrypt/crypt.c:119 ++#: ncrypt/crypt.c:117 + msgid "Passphrases forgotten" + msgstr "Паролі видалено з пам’яті" + +-#: ncrypt/crypt.c:203 ++#: ncrypt/crypt.c:201 + msgid "Inline PGP can't be used with attachments. Revert to PGP/MIME?" + msgstr "Неможливо використовувати PGP/текст з додатками. Використати PGP/MIME?" + +-#: ncrypt/crypt.c:207 ++#: ncrypt/crypt.c:205 + msgid "Mail not sent: inline PGP can't be used with attachments" + msgstr "Лист не відправлено: неможливо використовувати PGP/текст з додатками" + +-#: ncrypt/crypt.c:214 ++#: ncrypt/crypt.c:212 + msgid "Inline PGP can't be used with format=flowed. Revert to PGP/MIME?" + msgstr "Неможливо використовувати PGP/текст з format=flowed. Використати PGP/MIME?" + +-#: ncrypt/crypt.c:218 ++#: ncrypt/crypt.c:216 + msgid "Mail not sent: inline PGP can't be used with format=flowed" + msgstr "Лист не відправлено: неможливо використовувати PGP/текст з format=flowed" + +-#: ncrypt/crypt.c:228 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:714 +-#: ncrypt/pgpkey.c:915 ++#: ncrypt/crypt.c:226 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:747 ++#: ncrypt/pgpkey.c:950 + msgid "Invoking PGP..." + msgstr "Виклик PGP..." + +-#: ncrypt/crypt.c:240 ++#: ncrypt/crypt.c:238 + msgid "Message can't be sent inline. Revert to using PGP/MIME?" + msgstr "Повідомлення не може бути відправленим в текстовому форматі. Використовувати PGP/MIME?" + +-#: ncrypt/crypt.c:242 send.c:2430 ++#: ncrypt/crypt.c:240 send.c:2441 + msgid "Mail not sent" + msgstr "Лист не відправлено" + +-#: ncrypt/crypt.c:662 ++#: ncrypt/crypt.c:666 + msgid "S/MIME messages with no hints on content are unsupported" + msgstr "Повідомлення S/MIME без вказазування типу даних не підтрмується" + +-#: ncrypt/crypt.c:888 ++#: ncrypt/crypt.c:892 + msgid "Trying to extract PGP keys...\n" + msgstr "Спроба видобування ключів PGP...\n" + +-#: ncrypt/crypt.c:917 ++#: ncrypt/crypt.c:921 + msgid "Trying to extract S/MIME certificates..." + msgstr "Спроба видобування сертифікатів S/MIME..." + +-#: ncrypt/crypt.c:1140 ++#: ncrypt/crypt.c:1144 + #, c-format + msgid "" + "[-- Error: Unknown multipart/signed protocol %s --]\n" +@@ -3772,7 +3848,7 @@ msgstr "" + "[-- Помилка: невідомий протокол multipart/signed %s --]\n" + "\n" + +-#: ncrypt/crypt.c:1180 ++#: ncrypt/crypt.c:1184 + #, fuzzy + msgid "" + "[-- Error: Missing or bad-format multipart/signed signature --]\n" +@@ -3781,7 +3857,7 @@ msgstr "" + "[-- Помилка: несумісна структура multipart/signed --]\n" + "\n" + +-#: ncrypt/crypt.c:1222 ++#: ncrypt/crypt.c:1226 + #, c-format + msgid "" + "[-- Warning: We can't verify %s/%s signatures. --]\n" +@@ -3790,7 +3866,7 @@ msgstr "" + "[-- Попередження: неможливо перевірити %s/%s підписи. --]\n" + "\n" + +-#: ncrypt/crypt.c:1235 ++#: ncrypt/crypt.c:1239 + msgid "" + "[-- The following data is signed --]\n" + "\n" +@@ -3798,7 +3874,7 @@ msgstr "" + "[-- Наступні дані підписано --]\n" + "\n" + +-#: ncrypt/crypt.c:1243 ++#: ncrypt/crypt.c:1248 + msgid "" + "[-- Warning: Can't find any signatures. --]\n" + "\n" +@@ -3806,7 +3882,7 @@ msgstr "" + "[-- Попередження: неможливо знайти жодного підпису. --]\n" + "\n" + +-#: ncrypt/crypt.c:1249 ++#: ncrypt/crypt.c:1255 + msgid "" + "\n" + "[-- End of signed data --]\n" +@@ -3825,235 +3901,235 @@ msgstr "Виклик S/MIME..." + #. L10N: The following are the headers for the "verify key" output from the + #. GPGME key selection menu (bound to "c" in the key selection menu). + #. They will be automatically aligned. +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Name: " + msgstr "Ім’я: " + +-#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1869 ncrypt/crypt_gpgme.c:1874 ++#: ncrypt/crypt_gpgme.c:183 ncrypt/crypt_gpgme.c:1900 ncrypt/crypt_gpgme.c:1905 + msgid "aka: " + msgstr "aka: " + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Valid From: " + msgstr "Дійсний з: " + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Valid To: " + msgstr "Дійсний до: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Key Type: " + msgstr "Тип ключа: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Key Usage: " + msgstr "Використання: " + +-#: ncrypt/crypt_gpgme.c:185 ncrypt/crypt_gpgme.c:1759 ++#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1790 + msgid "Fingerprint: " + msgstr "Відбиток: " + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Serial-No: " + msgstr "Сер. номер: " + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + msgid "Issued By: " + msgstr "Виданий: " + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + msgid "Subkey: " + msgstr "Підключ: " + +-#: ncrypt/crypt_gpgme.c:783 ++#: ncrypt/crypt_gpgme.c:782 + #, c-format + msgid "error enabling CMS protocol: %s" + msgstr "помилка при ввімкненні протоколу CMS: %s" + +-#: ncrypt/crypt_gpgme.c:806 ++#: ncrypt/crypt_gpgme.c:805 + #, c-format + msgid "error creating gpgme data object: %s" + msgstr "помилка при створенні об’єкту даних gpgme: %s" + +-#: ncrypt/crypt_gpgme.c:907 ncrypt/crypt_gpgme.c:934 ncrypt/crypt_gpgme.c:2057 +-#: ncrypt/crypt_gpgme.c:2814 ++#: ncrypt/crypt_gpgme.c:906 ncrypt/crypt_gpgme.c:933 ncrypt/crypt_gpgme.c:2096 ++#: ncrypt/crypt_gpgme.c:2853 + #, c-format + msgid "error allocating data object: %s" + msgstr "помилка розміщення об’єкту даних: %s" + +-#: ncrypt/crypt_gpgme.c:956 ++#: ncrypt/crypt_gpgme.c:955 + #, c-format + msgid "error rewinding data object: %s" + msgstr "помилка позиціонування на початок об’єкта даних: %s" + +-#: ncrypt/crypt_gpgme.c:972 ++#: ncrypt/crypt_gpgme.c:971 + msgid "[tempfile]" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:978 ncrypt/crypt_gpgme.c:1032 ++#: ncrypt/crypt_gpgme.c:977 ncrypt/crypt_gpgme.c:1031 + #, c-format + msgid "error reading data object: %s" + msgstr "помилка читання об’єкту даних: %s" + +-#: ncrypt/crypt_gpgme.c:1149 ++#: ncrypt/crypt_gpgme.c:1148 + #, fuzzy, c-format + msgid "error adding recipient '%s': %s" + msgstr "помилка додавання отримувача \"%s\": %s" + +-#: ncrypt/crypt_gpgme.c:1202 ++#: ncrypt/crypt_gpgme.c:1186 + #, c-format + msgid "secret key '%s' not found: %s" + msgstr "таємний ключ \"%s\" не знайдено: %s" + +-#: ncrypt/crypt_gpgme.c:1218 ++#: ncrypt/crypt_gpgme.c:1203 + #, fuzzy, c-format + msgid "ambiguous specification of secret key '%s'\n" + msgstr "неоднозначне визначення таємного ключа \"%s\"" + +-#: ncrypt/crypt_gpgme.c:1234 ++#: ncrypt/crypt_gpgme.c:1219 + #, c-format + msgid "error setting secret key '%s': %s" + msgstr "помилка встановлення таємного ключа \"%s\": %s" + +-#: ncrypt/crypt_gpgme.c:1250 ++#: ncrypt/crypt_gpgme.c:1278 + #, c-format + msgid "error setting PKA signature notation: %s" + msgstr "помилка встановлення нотації PKA для підписання: %s" + +-#: ncrypt/crypt_gpgme.c:1324 ++#: ncrypt/crypt_gpgme.c:1353 + #, c-format + msgid "error encrypting data: %s" + msgstr "помилка при шифруванні даних: %s" + +-#: ncrypt/crypt_gpgme.c:1453 ++#: ncrypt/crypt_gpgme.c:1483 + #, c-format + msgid "error signing data: %s" + msgstr "помилка при підписуванні даних: %s" + +-#: ncrypt/crypt_gpgme.c:1463 ++#: ncrypt/crypt_gpgme.c:1493 + msgid "$pgp_sign_as unset and no default key specified in ~/.gnupg/gpg.conf" + msgstr "$pgp_sign_as не встановлено, типовий ключ не вказано в ~/.gnupg/gpg.conf" + +-#: ncrypt/crypt_gpgme.c:1641 ++#: ncrypt/crypt_gpgme.c:1672 + msgid "Warning: One of the keys has been revoked\n" + msgstr "Попередження: Один з ключів було відкликано\n" + +-#: ncrypt/crypt_gpgme.c:1651 ++#: ncrypt/crypt_gpgme.c:1682 + msgid "Warning: The key used to create the signature expired at: " + msgstr "Попередження: Термін дії ключа для підписування збіг " + +-#: ncrypt/crypt_gpgme.c:1657 ++#: ncrypt/crypt_gpgme.c:1688 + msgid "Warning: At least one certification key has expired\n" + msgstr "Попередження: Термін дії як мінімум одного ключа вичерпано\n" + +-#: ncrypt/crypt_gpgme.c:1671 ++#: ncrypt/crypt_gpgme.c:1702 + msgid "Warning: The signature expired at: " + msgstr "Попередження: Термін дії підпису збіг " + +-#: ncrypt/crypt_gpgme.c:1678 ++#: ncrypt/crypt_gpgme.c:1709 + msgid "Can't verify due to a missing key or certificate\n" + msgstr "Неможливо перевірити через відсутність ключа чи сертифіката\n" + +-#: ncrypt/crypt_gpgme.c:1683 ++#: ncrypt/crypt_gpgme.c:1714 + msgid "The CRL is not available\n" + msgstr "Список відкликаних сертифікатів недосяжний\n" + +-#: ncrypt/crypt_gpgme.c:1689 ++#: ncrypt/crypt_gpgme.c:1720 + msgid "Available CRL is too old\n" + msgstr "Доступний список відкликаних сертифікатів застарів\n" + +-#: ncrypt/crypt_gpgme.c:1694 ++#: ncrypt/crypt_gpgme.c:1725 + msgid "A policy requirement was not met\n" + msgstr "Вимоги політики не були задоволені\n" + +-#: ncrypt/crypt_gpgme.c:1703 ++#: ncrypt/crypt_gpgme.c:1734 + msgid "A system error occurred" + msgstr "Системна помилка" + +-#: ncrypt/crypt_gpgme.c:1734 ++#: ncrypt/crypt_gpgme.c:1765 + msgid "WARNING: PKA entry does not match signer's address: " + msgstr "Попередження: запис PKA не відповідає адресі відправника: " + +-#: ncrypt/crypt_gpgme.c:1740 ++#: ncrypt/crypt_gpgme.c:1771 + msgid "PKA verified signer's address is: " + msgstr "Адреса відправника перевірена за допомогою PKA: " + +-#: ncrypt/crypt_gpgme.c:1822 ++#: ncrypt/crypt_gpgme.c:1853 + msgid "WARNING: We have NO indication whether the key belongs to the person named as shown above\n" + msgstr "Попередження: НЕВІДОМО, чи належить даний ключ вказаній особі\n" + +-#: ncrypt/crypt_gpgme.c:1829 ++#: ncrypt/crypt_gpgme.c:1860 + msgid "WARNING: The key does NOT BELONG to the person named as shown above\n" + msgstr "Попередження: Ключ НЕ НАЛЕЖИТЬ вказаній особі\n" + +-#: ncrypt/crypt_gpgme.c:1833 ++#: ncrypt/crypt_gpgme.c:1864 + msgid "WARNING: It is NOT certain that the key belongs to the person named as shown above\n" + msgstr "Попередження: НЕМАЄ впевненості, що ключ належить вказаній особі\n" + +-#: ncrypt/crypt_gpgme.c:1886 ++#: ncrypt/crypt_gpgme.c:1917 + msgid "KeyID " + msgstr "ID ключа " + + #. L10N: You will see this message in place of "KeyID " + #. if the S/MIME key has no ID. This is quite an error. +-#: ncrypt/crypt_gpgme.c:1893 ++#: ncrypt/crypt_gpgme.c:1924 + msgid "no signature fingerprint available" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1902 ncrypt/crypt_gpgme.c:1907 ++#: ncrypt/crypt_gpgme.c:1933 ncrypt/crypt_gpgme.c:1938 + msgid "created: " + msgstr "створено: " + +-#: ncrypt/crypt_gpgme.c:1981 ++#: ncrypt/crypt_gpgme.c:2012 + #, c-format + msgid "Error getting key information for KeyID %s: %s\n" + msgstr "Помилка отримання інформації про ключ з ID %s: %s\n" + +-#: ncrypt/crypt_gpgme.c:1988 ncrypt/crypt_gpgme.c:2003 ++#: ncrypt/crypt_gpgme.c:2019 ncrypt/crypt_gpgme.c:2034 + msgid "Good signature from:" + msgstr "Хороший підпис від:" + +-#: ncrypt/crypt_gpgme.c:1995 ++#: ncrypt/crypt_gpgme.c:2026 + msgid "*BAD* signature from:" + msgstr "*ПОГАНИЙ* підпис від:" + +-#: ncrypt/crypt_gpgme.c:2011 ++#: ncrypt/crypt_gpgme.c:2042 + msgid "Problem signature from:" + msgstr "Сумнівний підпис від:" + + #. L10N: This is trying to match the width of the + #. "Problem signature from:" translation just above. +-#: ncrypt/crypt_gpgme.c:2017 ++#: ncrypt/crypt_gpgme.c:2048 + msgid " expires: " + msgstr " термін дії збігає: " + +-#: ncrypt/crypt_gpgme.c:2064 ncrypt/crypt_gpgme.c:2294 +-#: ncrypt/crypt_gpgme.c:3081 ++#: ncrypt/crypt_gpgme.c:2103 ncrypt/crypt_gpgme.c:2333 ++#: ncrypt/crypt_gpgme.c:3124 + msgid "[-- Begin signature information --]\n" + msgstr "[-- Початок інформації про підпис --]\n" + +-#: ncrypt/crypt_gpgme.c:2075 ++#: ncrypt/crypt_gpgme.c:2114 + #, c-format + msgid "Error: verification failed: %s\n" + msgstr "Помилка перевірки: %s\n" + +-#: ncrypt/crypt_gpgme.c:2126 ++#: ncrypt/crypt_gpgme.c:2165 + #, c-format + msgid "*** Begin Notation (signature by: %s) ***\n" + msgstr "*** Початок Опису (підписано: %s) ***\n" + +-#: ncrypt/crypt_gpgme.c:2145 ++#: ncrypt/crypt_gpgme.c:2184 + msgid "*** End Notation ***\n" + msgstr "*** Кінець опису ***\n" + +-#: ncrypt/crypt_gpgme.c:2153 ncrypt/crypt_gpgme.c:2308 +-#: ncrypt/crypt_gpgme.c:3091 ++#: ncrypt/crypt_gpgme.c:2192 ncrypt/crypt_gpgme.c:2347 ++#: ncrypt/crypt_gpgme.c:3134 + msgid "" + "[-- End signature information --]\n" + "\n" + msgstr "[-- Кінець інформації про підпис --]\n" + +-#: ncrypt/crypt_gpgme.c:2268 ++#: ncrypt/crypt_gpgme.c:2307 + #, c-format + msgid "" + "[-- Error: decryption failed: %s --]\n" +@@ -4062,21 +4138,26 @@ msgstr "" + "[-- Помилка розшифровування: %s --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:2821 ++#: ncrypt/crypt_gpgme.c:2860 + #, fuzzy, c-format + msgid "Error importing key: %s" + msgstr "Помилка експорта ключа: %s" + +-#: ncrypt/crypt_gpgme.c:3059 ++#: ncrypt/crypt_gpgme.c:3098 + #, c-format + msgid "Error: decryption/verification failed: %s\n" + msgstr "Помилка розшифровування чи перевірки підпису: %s\n" + +-#: ncrypt/crypt_gpgme.c:3103 ++#: ncrypt/crypt_gpgme.c:3105 ncrypt/crypt_gpgme.c:3302 ncrypt/pgp.c:726 ++#: ncrypt/pgp.c:1273 ++msgid "PGP message successfully decrypted" ++msgstr "Повідомлення PGP розшифровано" ++ ++#: ncrypt/crypt_gpgme.c:3146 + msgid "Error: copy data failed\n" + msgstr "Помилка копіювання даних\n" + +-#: ncrypt/crypt_gpgme.c:3116 ncrypt/pgp.c:675 ++#: ncrypt/crypt_gpgme.c:3159 ncrypt/pgp.c:674 + msgid "" + "[-- BEGIN PGP MESSAGE --]\n" + "\n" +@@ -4084,11 +4165,11 @@ msgstr "" + "[-- Початок повідомлення PGP --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3118 ncrypt/pgp.c:677 ++#: ncrypt/crypt_gpgme.c:3161 ncrypt/pgp.c:676 + msgid "[-- BEGIN PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- Початок блоку відкритого ключа PGP --]\n" + +-#: ncrypt/crypt_gpgme.c:3120 ncrypt/pgp.c:679 ++#: ncrypt/crypt_gpgme.c:3163 ncrypt/pgp.c:678 + msgid "" + "[-- BEGIN PGP SIGNED MESSAGE --]\n" + "\n" +@@ -4096,19 +4177,19 @@ msgstr "" + "[-- Початок повідомлення з PGP підписом --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3145 ncrypt/pgp.c:716 ++#: ncrypt/crypt_gpgme.c:3188 ncrypt/pgp.c:715 + msgid "[-- END PGP MESSAGE --]\n" + msgstr "[-- Кінець повідомлення PGP --]\n" + +-#: ncrypt/crypt_gpgme.c:3147 ncrypt/pgp.c:730 ++#: ncrypt/crypt_gpgme.c:3190 ncrypt/pgp.c:729 + msgid "[-- END PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- Кінець блоку відкритого ключа PGP --]\n" + +-#: ncrypt/crypt_gpgme.c:3149 ncrypt/pgp.c:732 ++#: ncrypt/crypt_gpgme.c:3192 ncrypt/pgp.c:731 + msgid "[-- END PGP SIGNED MESSAGE --]\n" + msgstr "[-- Кінець повідомлення з PGP підписом --]\n" + +-#: ncrypt/crypt_gpgme.c:3170 ncrypt/pgp.c:765 ++#: ncrypt/crypt_gpgme.c:3213 ncrypt/pgp.c:764 + msgid "" + "[-- Error: could not find beginning of PGP message --]\n" + "\n" +@@ -4116,11 +4197,11 @@ msgstr "" + "[-- Помилка: не знайдено початок повідомлення PGP --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3198 ncrypt/crypt_gpgme.c:3296 ncrypt/pgp.c:1218 ++#: ncrypt/crypt_gpgme.c:3241 ncrypt/crypt_gpgme.c:3339 ncrypt/pgp.c:1218 + msgid "[-- Error: could not create temporary file --]\n" + msgstr "[-- Помилка: не вийшло створити тимчасовий файл --]\n" + +-#: ncrypt/crypt_gpgme.c:3212 ++#: ncrypt/crypt_gpgme.c:3255 + msgid "" + "[-- The following data is PGP/MIME signed and encrypted --]\n" + "\n" +@@ -4128,7 +4209,7 @@ msgstr "" + "[-- Наступні дані зашифровано і підписано PGP/MIME --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3214 ncrypt/pgp.c:1231 ++#: ncrypt/crypt_gpgme.c:3257 ncrypt/pgp.c:1232 + msgid "" + "[-- The following data is PGP/MIME encrypted --]\n" + "\n" +@@ -4136,24 +4217,20 @@ msgstr "" + "[-- Наступні дані зашифровано PGP/MIME --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3254 ++#: ncrypt/crypt_gpgme.c:3297 + msgid "[-- End of PGP/MIME signed and encrypted data --]\n" + msgstr "[-- Кінець зашифрованих і підписаних PGP/MIME даних --]\n" + +-#: ncrypt/crypt_gpgme.c:3255 ncrypt/pgp.c:1267 ++#: ncrypt/crypt_gpgme.c:3298 ncrypt/pgp.c:1268 + msgid "[-- End of PGP/MIME encrypted data --]\n" + msgstr "[-- Кінець зашифрованих PGP/MIME даних --]\n" + +-#: ncrypt/crypt_gpgme.c:3259 ncrypt/pgp.c:727 ncrypt/pgp.c:1272 +-msgid "PGP message successfully decrypted" +-msgstr "Повідомлення PGP розшифровано" +- +-#: ncrypt/crypt_gpgme.c:3265 ncrypt/pgp.c:666 ncrypt/pgp.c:718 +-#: ncrypt/pgp.c:1276 ++#: ncrypt/crypt_gpgme.c:3308 ncrypt/pgp.c:665 ncrypt/pgp.c:717 ++#: ncrypt/pgp.c:1277 + msgid "Could not decrypt PGP message" + msgstr "Не вийшло розшифрувати повідомлення PGP" + +-#: ncrypt/crypt_gpgme.c:3310 ++#: ncrypt/crypt_gpgme.c:3353 + msgid "" + "[-- The following data is S/MIME signed --]\n" + "\n" +@@ -4161,7 +4238,7 @@ msgstr "" + "[-- Наступні дані підписано S/MIME --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3311 ++#: ncrypt/crypt_gpgme.c:3354 + msgid "" + "[-- The following data is S/MIME encrypted --]\n" + "\n" +@@ -4169,34 +4246,34 @@ msgstr "" + "[-- Наступні дані зашифровано S/MIME --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3358 ++#: ncrypt/crypt_gpgme.c:3401 + msgid "[-- End of S/MIME signed data --]\n" + msgstr "[-- Кінець підписаних S/MIME даних --]\n" + +-#: ncrypt/crypt_gpgme.c:3359 ++#: ncrypt/crypt_gpgme.c:3402 + msgid "[-- End of S/MIME encrypted data --]\n" + msgstr "[-- Кінець зашифрованих S/MIME даних --]\n" + +-#: ncrypt/crypt_gpgme.c:4029 ++#: ncrypt/crypt_gpgme.c:4077 + msgid "[Can't display this user ID (unknown encoding)]" + msgstr "[Неможливо відобразити ID цього користувача (невідоме кодування)]" + +-#: ncrypt/crypt_gpgme.c:4031 ++#: ncrypt/crypt_gpgme.c:4079 + msgid "[Can't display this user ID (invalid encoding)]" + msgstr "[Неможливо відобразити ID цього користувача (неправильне кодування)]" + +-#: ncrypt/crypt_gpgme.c:4036 ++#: ncrypt/crypt_gpgme.c:4084 + msgid "[Can't display this user ID (invalid DN)]" + msgstr "[Неможливо відобразити ID цього користувача (неправильний DN)]" + + #. L10N: comes after the Name or aka if the key is invalid + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4150 ncrypt/crypt_gpgme.c:4291 ++#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4339 + msgid "[Invalid]" + msgstr "[Неправильно]" + + #. L10N: This is printed after "Key Type: " and looks like this: PGP, 2048 bit RSA +-#: ncrypt/crypt_gpgme.c:4190 ncrypt/crypt_gpgme.c:4331 ++#: ncrypt/crypt_gpgme.c:4238 ncrypt/crypt_gpgme.c:4379 + #, fuzzy, c-format + msgid "%s, %lu bit %s\n" + msgid_plural "%s, %lu bit %s\n" +@@ -4205,94 +4282,94 @@ msgstr[1] "%s, %lu біт %s\n" + msgstr[2] "%s, %lu біт %s\n" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4338 ++#: ncrypt/crypt_gpgme.c:4246 ncrypt/crypt_gpgme.c:4386 + msgid "encryption" + msgstr "шифрування" + +-#: ncrypt/crypt_gpgme.c:4199 ncrypt/crypt_gpgme.c:4205 +-#: ncrypt/crypt_gpgme.c:4339 ncrypt/crypt_gpgme.c:4344 ++#: ncrypt/crypt_gpgme.c:4247 ncrypt/crypt_gpgme.c:4253 ++#: ncrypt/crypt_gpgme.c:4387 ncrypt/crypt_gpgme.c:4392 + msgid ", " + msgstr ", " + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4204 ncrypt/crypt_gpgme.c:4343 ++#: ncrypt/crypt_gpgme.c:4252 ncrypt/crypt_gpgme.c:4391 + msgid "signing" + msgstr "підписування" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4210 ncrypt/crypt_gpgme.c:4348 ++#: ncrypt/crypt_gpgme.c:4258 ncrypt/crypt_gpgme.c:4396 + msgid "certification" + msgstr "сертифікація" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4285 ++#: ncrypt/crypt_gpgme.c:4333 + msgid "[Revoked]" + msgstr "[Відкликано]" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4297 ++#: ncrypt/crypt_gpgme.c:4345 + msgid "[Expired]" + msgstr "[Прострочено]" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4303 ++#: ncrypt/crypt_gpgme.c:4351 + msgid "[Disabled]" + msgstr "[Заборонено]" + +-#: ncrypt/crypt_gpgme.c:4376 ++#: ncrypt/crypt_gpgme.c:4424 + msgid "Collecting data..." + msgstr "Збирання даних..." + +-#: ncrypt/crypt_gpgme.c:4394 ++#: ncrypt/crypt_gpgme.c:4442 + #, c-format + msgid "Error finding issuer key: %s\n" + msgstr "Помилка пошуку ключа видавця: %s\n" + +-#: ncrypt/crypt_gpgme.c:4403 ++#: ncrypt/crypt_gpgme.c:4451 + msgid "Error: certification chain too long - stopping here\n" + msgstr "Помилка: ланцюжок сертифікації задовгий, зупиняємось\n" + +-#: ncrypt/crypt_gpgme.c:4413 ncrypt/pgpkey.c:733 ++#: ncrypt/crypt_gpgme.c:4461 ncrypt/pgpkey.c:766 + #, c-format + msgid "Key ID: 0x%s" + msgstr "ID ключа: 0x%s" + +-#: ncrypt/crypt_gpgme.c:4538 ncrypt/crypt_gpgme.c:4589 ++#: ncrypt/crypt_gpgme.c:4586 ncrypt/crypt_gpgme.c:4637 + #, c-format + msgid "gpgme_op_keylist_start failed: %s" + msgstr "помилка gpgme_op_keylist_start: %s" + +-#: ncrypt/crypt_gpgme.c:4577 ncrypt/crypt_gpgme.c:4619 +-#: ncrypt/crypt_gpgme.c:5355 ++#: ncrypt/crypt_gpgme.c:4625 ncrypt/crypt_gpgme.c:4667 ++#: ncrypt/crypt_gpgme.c:5435 + #, c-format + msgid "gpgme_op_keylist_next failed: %s" + msgstr "помилка gpgme_op_keylist_next: %s" + +-#: ncrypt/crypt_gpgme.c:4701 ++#: ncrypt/crypt_gpgme.c:4749 + msgid "All matching keys are marked expired/revoked" + msgstr "Всі відповідні ключі відмічено як застарілі чи відкликані" + +-#: ncrypt/crypt_gpgme.c:4731 ncrypt/pgpkey.c:666 ncrypt/smime.c:551 ++#: ncrypt/crypt_gpgme.c:4779 ncrypt/pgpkey.c:669 ncrypt/smime.c:553 + msgid "Select " + msgstr "Вибір " + +-#: ncrypt/crypt_gpgme.c:4733 ncrypt/pgpkey.c:668 ++#: ncrypt/crypt_gpgme.c:4781 ncrypt/pgpkey.c:671 + msgid "Check key " + msgstr "Перевірка ключа " + +-#: ncrypt/crypt_gpgme.c:4749 ++#: ncrypt/crypt_gpgme.c:4827 + msgid "PGP and S/MIME keys matching" + msgstr "Відповідні PGP і S/MIME ключі" + +-#: ncrypt/crypt_gpgme.c:4751 ++#: ncrypt/crypt_gpgme.c:4829 + msgid "PGP keys matching" + msgstr "Відповідні PGP ключі" + +-#: ncrypt/crypt_gpgme.c:4753 ++#: ncrypt/crypt_gpgme.c:4831 + msgid "S/MIME keys matching" + msgstr "Відповідні S/MIME ключі" + +-#: ncrypt/crypt_gpgme.c:4755 ++#: ncrypt/crypt_gpgme.c:4833 + msgid "keys matching" + msgstr "Відповідні ключі" + +@@ -4300,59 +4377,59 @@ msgstr "Відповідні ключі" + #. %1$s is one of the previous four entries. + #. %2$s is an address. + #. e.g. "S/MIME keys matching " +-#: ncrypt/crypt_gpgme.c:4763 ++#: ncrypt/crypt_gpgme.c:4841 + #, c-format + msgid "%s <%s>" + msgstr "%s <%s>" + + #. L10N: e.g. 'S/MIME keys matching "Michael Elkins".' +-#: ncrypt/crypt_gpgme.c:4768 ++#: ncrypt/crypt_gpgme.c:4846 + #, c-format + msgid "%s \"%s\"" + msgstr "%s \"%s\"" + +-#: ncrypt/crypt_gpgme.c:4796 ncrypt/pgpkey.c:754 ++#: ncrypt/crypt_gpgme.c:4874 ncrypt/pgpkey.c:787 + msgid "This key can't be used: expired/disabled/revoked" + msgstr "Цей ключ неможливо використати: прострочений, заборонений чи відкликаний" + +-#: ncrypt/crypt_gpgme.c:4810 ncrypt/pgpkey.c:767 ncrypt/smime.c:581 ++#: ncrypt/crypt_gpgme.c:4888 ncrypt/pgpkey.c:800 ncrypt/smime.c:613 + #, fuzzy + msgid "ID is expired/disabled/revoked. Do you really want to use the key?" + msgstr "ID прострочений, заборонений чи відкликаний. Ви справді бажаєте використовувати ключ?" + +-#: ncrypt/crypt_gpgme.c:4820 ncrypt/pgpkey.c:779 ++#: ncrypt/crypt_gpgme.c:4898 ncrypt/pgpkey.c:812 + #, fuzzy + msgid "ID is not valid. Do you really want to use the key?" + msgstr "ID недійсний. Ви справді бажаєте використовувати ключ?" + +-#: ncrypt/crypt_gpgme.c:4823 ncrypt/pgpkey.c:782 ++#: ncrypt/crypt_gpgme.c:4901 ncrypt/pgpkey.c:815 + #, fuzzy + msgid "ID is only marginally valid. Do you really want to use the key?" + msgstr "ID дійсний лише частково. Ви справді бажаєте використовувати ключ?" + +-#: ncrypt/crypt_gpgme.c:4831 ncrypt/pgpkey.c:775 ncrypt/smime.c:585 ++#: ncrypt/crypt_gpgme.c:4909 ncrypt/pgpkey.c:808 ncrypt/smime.c:617 + #, fuzzy + msgid "ID has undefined validity. Do you really want to use the key?" + msgstr "Ступінь довіри для ID не визначена. Ви справді бажаєте використовувати ключ?" + +-#: ncrypt/crypt_gpgme.c:4911 ncrypt/crypt_gpgme.c:5024 ncrypt/pgpkey.c:1019 +-#: ncrypt/pgpkey.c:1146 ++#: ncrypt/crypt_gpgme.c:4991 ncrypt/crypt_gpgme.c:5104 ncrypt/pgpkey.c:1054 ++#: ncrypt/pgpkey.c:1181 + #, c-format + msgid "Looking for keys matching \"%s\"..." + msgstr "Пошук відповідних ключів \"%s\"..." + +-#: ncrypt/crypt_gpgme.c:5140 ncrypt/pgpkey.c:870 ncrypt/smime.c:924 ++#: ncrypt/crypt_gpgme.c:5220 ncrypt/pgpkey.c:905 ncrypt/smime.c:958 + #, c-format + msgid "No matching keys found for \"%s\"" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5190 ncrypt/pgp.c:1456 ++#: ncrypt/crypt_gpgme.c:5270 ncrypt/pgp.c:1457 + #, c-format + msgid "Use keyID = \"%s\" for %s?" + msgstr "Використовувати keyID = \"%s\" для %s?" + +-#: ncrypt/crypt_gpgme.c:5238 ncrypt/pgp.c:1505 ncrypt/smime.c:944 +-#: ncrypt/smime.c:1049 ++#: ncrypt/crypt_gpgme.c:5318 ncrypt/pgp.c:1506 ncrypt/smime.c:978 ++#: ncrypt/smime.c:1083 + #, c-format + msgid "Enter keyID for %s: " + msgstr "Введіть keyID для %s: " +@@ -4361,16 +4438,16 @@ msgstr "Введіть keyID для %s: " + #. mutt_gpgme_select_secret_key() tries to list all secret keys to choose + #. from. This error is displayed if no results were found. + #. +-#: ncrypt/crypt_gpgme.c:5364 ++#: ncrypt/crypt_gpgme.c:5444 + #, fuzzy + msgid "No secret keys found" + msgstr "Не знайдено секретних ключів" + +-#: ncrypt/crypt_gpgme.c:5398 ncrypt/pgpkey.c:888 ++#: ncrypt/crypt_gpgme.c:5478 ncrypt/pgpkey.c:923 + msgid "Please enter the key ID: " + msgstr "Будь ласка, введіть ID ключа: " + +-#: ncrypt/crypt_gpgme.c:5411 ++#: ncrypt/crypt_gpgme.c:5491 + #, c-format + msgid "Error exporting key: %s" + msgstr "Помилка експорта ключа: %s" +@@ -4378,96 +4455,96 @@ msgstr "Помилка експорта ключа: %s" + #. 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. +-#: ncrypt/crypt_gpgme.c:5429 ++#: ncrypt/crypt_gpgme.c:5509 + #, c-format + msgid "PGP Key 0x%s" + msgstr "Ключ PGP 0x%s" + +-#: ncrypt/crypt_gpgme.c:5474 ++#: ncrypt/crypt_gpgme.c:5554 + msgid "GPGME: OpenPGP protocol not available" + msgstr "GPGME: протокол OpenPGP не доступний" + +-#: ncrypt/crypt_gpgme.c:5485 ++#: ncrypt/crypt_gpgme.c:5565 + msgid "GPGME: CMS protocol not available" + msgstr "GPGME: протокол CMS не доступний" + +-#: ncrypt/crypt_gpgme.c:5536 ++#: ncrypt/crypt_gpgme.c:5616 + msgid "S/MIME (s)ign, sign (a)s, (p)gp, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME (s)підп., (a)підп. як, (p)gp, (c)відміна, вимкнути (o)ppenc?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5538 ++#: ncrypt/crypt_gpgme.c:5618 + msgid "sapco" + msgstr "sapco" + +-#: ncrypt/crypt_gpgme.c:5545 ++#: ncrypt/crypt_gpgme.c:5625 + msgid "PGP (s)ign, sign (a)s, s/(m)ime, (c)lear, or (o)ppenc mode off?" + msgstr "PGP (s)підп., (a)підп. як, s/(m)ime, (c)відміна, вимкнути (o)ppenc?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5547 ++#: ncrypt/crypt_gpgme.c:5627 + msgid "samco" + msgstr "samco" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5557 ++#: ncrypt/crypt_gpgme.c:5637 + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME (e)шифр, (s)підп, (a)підп. як, (b)усе, (p)gp, (c)відм, вимк. (o)ppenc?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5560 ++#: ncrypt/crypt_gpgme.c:5640 + #, fuzzy + msgid "esabpco" + msgstr "esabpco" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5566 ++#: ncrypt/crypt_gpgme.c:5646 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime, (c)lear, or (o)ppenc mode?" + msgstr "PGP (e)шифр, (s)підп, (a)підп. як, (b)усе, s/(m)ime, (c)відм, вимк. (o)ppenc?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5569 ++#: ncrypt/crypt_gpgme.c:5649 + #, fuzzy + msgid "esabmco" + msgstr "esabmco" + +-#: ncrypt/crypt_gpgme.c:5580 ++#: ncrypt/crypt_gpgme.c:5660 + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp or (c)lear?" + msgstr "S/MIME (e)шифр., (s)підп., (a)підп. як, (b)усе, (p)gp, (c)відміна?" + + #. L10N: S/MIME options +-#: ncrypt/crypt_gpgme.c:5582 ++#: ncrypt/crypt_gpgme.c:5662 + #, fuzzy + msgid "esabpc" + msgstr "esabpc" + +-#: ncrypt/crypt_gpgme.c:5589 ++#: ncrypt/crypt_gpgme.c:5669 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime or (c)lear?" + msgstr "PGP (e)шифр., (s)підп., (a)підп. як, (b)усе, s/(m)ime, (c)відміна?" + + #. L10N: PGP options +-#: ncrypt/crypt_gpgme.c:5591 ++#: ncrypt/crypt_gpgme.c:5671 + #, fuzzy + msgid "esabmc" + msgstr "esabmc" + +-#: ncrypt/crypt_gpgme.c:5751 ++#: ncrypt/crypt_gpgme.c:5831 + msgid "Failed to verify sender" + msgstr "Відправника не перевірено" + +-#: ncrypt/crypt_gpgme.c:5754 ++#: ncrypt/crypt_gpgme.c:5834 + msgid "Failed to figure out sender" + msgstr "Відправника не вирахувано" + +-#: ncrypt/pgp.c:108 ++#: ncrypt/pgp.c:107 + msgid "Enter PGP passphrase:" + msgstr "Введіть кодову фразу PGP:" + +-#: ncrypt/pgp.c:595 ++#: ncrypt/pgp.c:594 + msgid "[-- Error: unable to create PGP subprocess --]\n" + msgstr "[-- Помилка: неможливо створити підпроцес PGP --]\n" + +-#: ncrypt/pgp.c:644 ncrypt/pgp.c:926 ncrypt/pgp.c:1086 ++#: ncrypt/pgp.c:643 ncrypt/pgp.c:925 ncrypt/pgp.c:1085 + msgid "" + "[-- End of PGP output --]\n" + "\n" +@@ -4478,15 +4555,15 @@ msgstr "" + #. L10N: You will see this error message if (1) you are decrypting + #. (not encrypting) something and (2) it is a plaintext. So the + #. message does not mean "You failed to encrypt the message." +-#: ncrypt/pgp.c:724 ++#: ncrypt/pgp.c:723 + msgid "PGP message is not encrypted" + msgstr "Повідомлення PGP не зашифровано." + +-#: ncrypt/pgp.c:978 ++#: ncrypt/pgp.c:977 + msgid "Internal error. Please submit a bug report." + msgstr "Внутрішня помилка. Будь ласка, повідомте розробників." + +-#: ncrypt/pgp.c:1043 ++#: ncrypt/pgp.c:1042 + msgid "" + "[-- Error: could not create a PGP subprocess --]\n" + "\n" +@@ -4494,129 +4571,129 @@ msgstr "" + "[-- Помилка: не вийшло створити підпроцес PGP --]\n" + "\n" + +-#: ncrypt/pgp.c:1073 ncrypt/pgp.c:1098 ncrypt/smime.c:2143 postpone.c:757 +-#: postpone.c:785 ++#: ncrypt/pgp.c:1072 ncrypt/pgp.c:1097 ncrypt/smime.c:2177 postpone.c:803 ++#: postpone.c:831 + msgid "Decryption failed" + msgstr "Помилка розшифровки" + +-#: ncrypt/pgp.c:1333 ++#: ncrypt/pgp.c:1334 + msgid "Can't open PGP subprocess" + msgstr "Неможливо відкрити підпроцесс PGP" + +-#: ncrypt/pgp.c:1768 ++#: ncrypt/pgp.c:1770 + msgid "Can't invoke PGP" + msgstr "Не вийшло викликати PGP" + + #. L10N: The next string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1875 ++#: ncrypt/pgp.c:1877 + msgid "PGP/M(i)ME" + msgstr "PGP/M(i)ME" + + #. L10N: The previous string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1881 ++#: ncrypt/pgp.c:1883 + msgid "(i)nline" + msgstr "(i)PGP/текст" + + #. L10N: PGP options (inline) (opportunistic encryption is on) +-#: ncrypt/pgp.c:1893 ++#: ncrypt/pgp.c:1895 + #, c-format + msgid "PGP (s)ign, sign (a)s, %s format, (c)lear, or (o)ppenc mode off?" + msgstr "PGP (s)підп., (a)підп. як, %s, (c)відміна, вимкнути (o)ppenc?" + + #. L10N: PGP options (inline) (opportunistic encryption is on) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1899 ++#: ncrypt/pgp.c:1901 + msgid "saico" + msgstr "saco" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1905 ++#: ncrypt/pgp.c:1907 + msgid "PGP (s)ign, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "PGP (s)підп., (a)підп. як, (c)відміна, вимкнути (o)ppenc?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1907 ++#: ncrypt/pgp.c:1909 + msgid "saco" + msgstr "saco" + + #. L10N: PGP options (inline) (opportunistic encryption is off) +-#: ncrypt/pgp.c:1921 ++#: ncrypt/pgp.c:1923 + #, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, (c)lear, or (o)ppenc mode?" + msgstr "PGP (e)шифр, (s)підп, (a)підп. як, (b)усе, %s, (c)відм, вимк. (o)ppenc?" + + #. L10N: PGP options (inline) (opportunistic encryption is off) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1927 ++#: ncrypt/pgp.c:1929 + #, fuzzy + msgid "esabico" + msgstr "esabico" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1933 ++#: ncrypt/pgp.c:1935 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "PGP (e)шифр, (s)підп, (a)підп. як, (b)усе, (c)відм, вимк. (o)ppenc?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1936 ++#: ncrypt/pgp.c:1938 + #, fuzzy + msgid "esabco" + msgstr "esabco" + + #. L10N: PGP options (inline) +-#: ncrypt/pgp.c:1947 ++#: ncrypt/pgp.c:1949 + #, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, or (c)lear?" + msgstr "PGP (e)шифр., (s)підп., (a)підп. як, (b)усе, %s, (c)відміна?" + + #. L10N: PGP options (inline) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1953 ++#: ncrypt/pgp.c:1955 + #, fuzzy + msgid "esabic" + msgstr "esabic" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1959 ++#: ncrypt/pgp.c:1961 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (c)lear?" + msgstr "PGP (e)шифр., (s)підп., (a)підп. як, (b)усе, (c)відміна?" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1961 ++#: ncrypt/pgp.c:1963 + #, fuzzy + msgid "esabc" + msgstr "esabc" + +-#: ncrypt/pgpinvoke.c:458 ++#: ncrypt/pgpinvoke.c:461 + msgid "Fetching PGP key..." + msgstr "Отримання ключа PGP..." + +-#: ncrypt/pgpkey.c:640 ++#: ncrypt/pgpkey.c:643 + msgid "All matching keys are expired, revoked, or disabled" + msgstr "Всі відповідні ключі прострочено, відкликано чи заборонено" + +-#: ncrypt/pgpkey.c:681 ++#: ncrypt/pgpkey.c:714 + #, c-format + msgid "PGP keys matching <%s>" + msgstr "PGP ключі, що відповідають <%s>" + +-#: ncrypt/pgpkey.c:683 ++#: ncrypt/pgpkey.c:716 + #, c-format + msgid "PGP keys matching \"%s\"" + msgstr "PGP ключі, що відповідають \"%s\"" + +-#: ncrypt/pgpkey.c:700 ncrypt/pgpkey.c:909 ++#: ncrypt/pgpkey.c:733 ncrypt/pgpkey.c:944 + msgid "Can't open /dev/null" + msgstr "Неможливо відкрити /dev/null" + +-#: ncrypt/pgpkey.c:938 ++#: ncrypt/pgpkey.c:973 + #, c-format + msgid "PGP Key %s" + msgstr "Ключ PGP %s" + +-#: ncrypt/smime.c:182 ++#: ncrypt/smime.c:180 + msgid "Enter S/MIME passphrase:" + msgstr "Введіть кодову фразу S/MIME:" + +@@ -4625,7 +4702,7 @@ msgstr "Введіть кодову фразу S/MIME:" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:460 ++#: ncrypt/smime.c:462 + msgid "Expired " + msgstr "Простроч. " + +@@ -4634,7 +4711,7 @@ msgstr "Простроч. " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:468 ++#: ncrypt/smime.c:470 + msgid "Invalid " + msgstr "Неправ. " + +@@ -4643,7 +4720,7 @@ msgstr "Неправ. " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:476 ++#: ncrypt/smime.c:478 + msgid "Revoked " + msgstr "Відклик. " + +@@ -4652,7 +4729,7 @@ msgstr "Відклик. " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:484 ++#: ncrypt/smime.c:486 + msgid "Trusted " + msgstr "Довірені " + +@@ -4661,7 +4738,7 @@ msgstr "Довірені " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:492 ++#: ncrypt/smime.c:494 + msgid "Unverified" + msgstr "Неперевір" + +@@ -4670,7 +4747,7 @@ msgstr "Неперевір" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:500 ++#: ncrypt/smime.c:502 + msgid "Verified " + msgstr "Перевір. " + +@@ -4679,59 +4756,59 @@ msgstr "Перевір. " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:508 ++#: ncrypt/smime.c:510 + msgid "Unknown " + msgstr "Невідоме " + +-#: ncrypt/smime.c:545 ++#: ncrypt/smime.c:547 + #, c-format + msgid "S/MIME certificates matching \"%s\"" + msgstr "S/MIME сертифікати, що відповідають \"%s\"" + +-#: ncrypt/smime.c:589 ++#: ncrypt/smime.c:621 + #, fuzzy + msgid "ID is not trusted. Do you really want to use the key?" + msgstr "ID не є довіреним. Ви справді бажаєте використовувати ключ?" + +-#: ncrypt/smime.c:910 ++#: ncrypt/smime.c:944 + msgid "Enter keyID: " + msgstr "Введіть keyID: " + +-#: ncrypt/smime.c:1055 ++#: ncrypt/smime.c:1089 + #, c-format + msgid "No (valid) certificate found for %s" + msgstr "Немає (правильних) сертифікатів для %s" + +-#: ncrypt/smime.c:1108 ncrypt/smime.c:1137 ncrypt/smime.c:1209 +-#: ncrypt/smime.c:1243 ncrypt/smime.c:1319 ncrypt/smime.c:1399 ++#: ncrypt/smime.c:1142 ncrypt/smime.c:1171 ncrypt/smime.c:1243 ++#: ncrypt/smime.c:1277 ncrypt/smime.c:1353 ncrypt/smime.c:1433 + msgid "Error: unable to create OpenSSL subprocess" + msgstr "Помилка: неможливо створити підпроцес OpenSSL" + +-#: ncrypt/smime.c:1379 ++#: ncrypt/smime.c:1413 + msgid "Label for certificate: " + msgstr "Позначка сертифікату: " + +-#: ncrypt/smime.c:1480 ++#: ncrypt/smime.c:1514 + msgid "no certfile" + msgstr "Немає сертифікату" + +-#: ncrypt/smime.c:1483 ++#: ncrypt/smime.c:1517 + msgid "no mbox" + msgstr "скриньки немає" + +-#: ncrypt/smime.c:1640 ncrypt/smime.c:1810 ++#: ncrypt/smime.c:1674 ncrypt/smime.c:1844 + msgid "No output from OpenSSL..." + msgstr "Немає виводу від OpenSSL..." + +-#: ncrypt/smime.c:1727 ++#: ncrypt/smime.c:1761 + msgid "Can't sign: No key specified. Use Sign As." + msgstr "Неможливо підписати: Ключів не вказано. Використовуйте \"Підписати як\"." + +-#: ncrypt/smime.c:1777 ++#: ncrypt/smime.c:1811 + msgid "Can't open OpenSSL subprocess" + msgstr "Неможливо відкрити підпроцесс OpenSSL" + +-#: ncrypt/smime.c:2004 ncrypt/smime.c:2123 ++#: ncrypt/smime.c:2038 ncrypt/smime.c:2157 + msgid "" + "[-- End of OpenSSL output --]\n" + "\n" +@@ -4739,19 +4816,19 @@ msgstr "" + "[-- Кінець тексту на виході OpenSSL --]\n" + "\n" + +-#: ncrypt/smime.c:2080 ncrypt/smime.c:2093 ++#: ncrypt/smime.c:2114 ncrypt/smime.c:2127 + msgid "[-- Error: unable to create OpenSSL subprocess --]\n" + msgstr "[-- Помилка: неможливо створити підпроцес OpenSSL --]\n" + +-#: ncrypt/smime.c:2129 ++#: ncrypt/smime.c:2163 + msgid "[-- The following data is S/MIME encrypted --]\n" + msgstr "[-- Наступні дані зашифровано S/MIME --]\n" + +-#: ncrypt/smime.c:2132 ++#: ncrypt/smime.c:2166 + msgid "[-- The following data is S/MIME signed --]\n" + msgstr "[-- Наступні дані підписано S/MIME --]\n" + +-#: ncrypt/smime.c:2225 ++#: ncrypt/smime.c:2259 + msgid "" + "\n" + "[-- End of S/MIME encrypted data. --]\n" +@@ -4759,7 +4836,7 @@ msgstr "" + "\n" + "[-- Кінець даних, зашифрованих S/MIME --]\n" + +-#: ncrypt/smime.c:2227 ++#: ncrypt/smime.c:2261 + msgid "" + "\n" + "[-- End of S/MIME signed data. --]\n" +@@ -4768,168 +4845,168 @@ msgstr "" + "[-- Кінець підписаних S/MIME даних --]\n" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2361 ++#: ncrypt/smime.c:2395 + msgid "S/MIME (s)ign, encrypt (w)ith, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME (s)підп., (w)шифр. з, (a)підп. як, (c)відм., вимкнути (o)ppenc?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2364 ++#: ncrypt/smime.c:2398 + msgid "swaco" + msgstr "swaco" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2372 ++#: ncrypt/smime.c:2406 + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME (e)шифр, (s)підп, (w)шифр.з, (a)підп.як, (b)усе, (c)відм, вимк.(o)ppenc?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2375 ++#: ncrypt/smime.c:2409 + #, fuzzy + msgid "eswabco" + msgstr "eswabco" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2382 ++#: ncrypt/smime.c:2416 + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, or (c)lear?" + msgstr "S/MIME (e)шифр., (s)підп., (w)шифр. з, (a)підп. як, (b)усе, (c)відміна?" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2385 ++#: ncrypt/smime.c:2419 + #, fuzzy + msgid "eswabc" + msgstr "eswabc" + +-#: ncrypt/smime.c:2449 ++#: ncrypt/smime.c:2483 + msgid "Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear?" + msgstr "Виберіть сімейство алгоритмів: (1) DES, (2) RC2, (3) AES, (c)відмінити?" + + #. L10N: Options for: Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear? +-#: ncrypt/smime.c:2452 ++#: ncrypt/smime.c:2486 + msgid "123c" + msgstr "123c" + +-#: ncrypt/smime.c:2455 ++#: ncrypt/smime.c:2489 + msgid "(1) DES, (2) Triple-DES?" + msgstr "(1) DES, (2) 3DES?" + + #. L10N: Options for: (1) DES, (2) Triple-DES +-#: ncrypt/smime.c:2457 ++#: ncrypt/smime.c:2491 + msgid "12" + msgstr "12" + +-#: ncrypt/smime.c:2470 ++#: ncrypt/smime.c:2504 + msgid "(1) RC2-40, (2) RC2-64, (3) RC2-128?" + msgstr "(1) RC2-40, (2) RC2-64, (3) RC2-128?" + + #. L10N: Options for: (1) RC2-40, (2) RC2-64, (3) RC2-128 + #. L10N: Options for: (1) AES128, (2) AES192, (3) AES256 +-#: ncrypt/smime.c:2472 ncrypt/smime.c:2490 ++#: ncrypt/smime.c:2506 ncrypt/smime.c:2524 + msgid "123" + msgstr "123" + +-#: ncrypt/smime.c:2488 ++#: ncrypt/smime.c:2522 + msgid "(1) AES128, (2) AES192, (3) AES256?" + msgstr "(1) AES128, (2) AES192, (3) AES256?" + +-#: nntp/newsrc.c:632 ++#: nntp/newsrc.c:639 + msgid "Loading list of groups from cache..." + msgstr "" + +-#: nntp/newsrc.c:997 ++#: nntp/newsrc.c:1023 + msgid "No news server defined" + msgstr "" + +-#: nntp/newsrc.c:1012 ++#: nntp/newsrc.c:1041 + #, fuzzy, c-format + msgid "%s is an invalid news server specification" + msgstr "%s - неприпустимий шлях POP" + +-#: nntp/nntp.c:236 nntp/nntp.c:777 pop/pop.c:742 pop/pop_lib.c:398 ++#: nntp/nntp.c:238 nntp/nntp.c:779 pop/pop.c:742 pop/pop_lib.c:424 + msgid "Server closed connection" + msgstr "Сервер закрив з’єднання" + +-#: nntp/nntp.c:340 ++#: nntp/nntp.c:342 + #, fuzzy + msgid "Server doesn't support reader mode" + msgstr "SMTP-сервер не підтримує аутентифікації" + +-#: nntp/nntp.c:576 pop/pop_auth.c:504 smtp.c:650 ++#: nntp/nntp.c:578 pop/pop_auth.c:505 smtp.c:675 + msgid "No authenticators available" + msgstr "Аутентифікаторів немає." + +-#: nntp/nntp.c:766 ++#: nntp/nntp.c:768 + #, fuzzy, c-format + msgid "%s authentication failed" + msgstr "Помилка аутентифікації SASL" + +-#: nntp/nntp.c:826 ++#: nntp/nntp.c:828 + #, fuzzy, c-format + msgid "Connection to %s lost. Reconnect?" + msgstr "З’єднання з %s закрито" + +-#: nntp/nntp.c:1285 ++#: nntp/nntp.c:1287 + #, fuzzy + msgid "Fetching list of articles..." + msgstr "Отримання переліку повідомлень..." + +-#: nntp/nntp.c:1549 nntp/nntp.c:2138 pop/pop.c:614 pop/pop.c:910 ++#: nntp/nntp.c:1551 nntp/nntp.c:2140 pop/pop.c:614 pop/pop.c:905 + msgid "Checking for new messages..." + msgstr "Перевірка наявності нових повідомлень..." + +-#: nntp/nntp.c:1864 nntp/nntp.c:1954 ++#: nntp/nntp.c:1866 nntp/nntp.c:1956 + #, fuzzy + msgid "Could not switch to reader mode" + msgstr "не вдалось записати тимчасову скриньку: %s" + +-#: nntp/nntp.c:1877 ++#: nntp/nntp.c:1879 + #, fuzzy, c-format + msgid "Connected to %s. %s" + msgstr "З’єднання з %s..." + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + #, fuzzy + msgid "Posting is ok" + msgstr "Нічого робити" + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + msgid "Posting is NOT ok" + msgstr "" + +-#: nntp/nntp.c:2008 nntp/nntp.c:2043 ++#: nntp/nntp.c:2010 nntp/nntp.c:2045 + #, fuzzy, c-format + msgid "Can't post article: %s" + msgstr "Неможливо отримати дані %s: %s" + +-#: nntp/nntp.c:2064 ++#: nntp/nntp.c:2066 + #, fuzzy, c-format + msgid "Loading list of groups from server %s..." + msgstr "Видалення повідомлень з серверу..." + +-#: nntp/nntp.c:2106 nntp/nntp.c:2198 ++#: nntp/nntp.c:2108 nntp/nntp.c:2200 + #, fuzzy + msgid "Loading descriptions..." + msgstr "Реєстрація..." + +-#: nntp/nntp.c:2128 ++#: nntp/nntp.c:2130 + #, fuzzy + msgid "Checking for new newsgroups..." + msgstr "Перевірка наявності нових повідомлень..." + +-#: nntp/nntp.c:2332 ++#: nntp/nntp.c:2334 + msgid "Unable to find child articles because server does not support XPAT command" + msgstr "" + +-#: nntp/nntp.c:2437 ++#: nntp/nntp.c:2439 + #, fuzzy, c-format + msgid "%s is an invalid newsgroup specification" + msgstr "%s - неприпустимий шлях POP" + +-#: nntp/nntp.c:2476 ++#: nntp/nntp.c:2478 + #, c-format + msgid "Newsgroup %s not found on the server" + msgstr "" + +-#: nntp/nntp.c:2498 ++#: nntp/nntp.c:2500 + #, c-format + msgid "Newsgroup %s has been removed from the server" + msgstr "" +@@ -4941,7 +5018,7 @@ msgstr "" + + #: notmuch/mutt_notmuch.c:219 notmuch/mutt_notmuch.c:1939 + #, fuzzy, c-format +-msgid "failed to parse notmuch uri: %s" ++msgid "failed to parse notmuch url: %s" + msgstr "Неможливо розібрати почилання mailto:\n" + + #: notmuch/mutt_notmuch.c:449 +@@ -6071,187 +6148,187 @@ msgstr "приховати/показати бокову панель" + msgid "show S/MIME options" + msgstr "показати параметри S/MIME" + +-#: pager.c:222 ++#: pager.c:214 + msgid "Not available in this menu" + msgstr "Недоступно у цьому меню" + +-#: pager.c:229 ++#: pager.c:221 + msgid "PrevPg" + msgstr "ПопСт" + +-#: pager.c:230 ++#: pager.c:222 + msgid "NextPg" + msgstr "НастСт" + +-#: pager.c:235 ++#: pager.c:227 + msgid "View Attachm." + msgstr "Додатки" + +-#: pager.c:238 pager.c:247 ++#: pager.c:230 pager.c:239 + msgid "Next" + msgstr "Наст" + + #. L10N: Status bar message: the entire email is visible in the pager + #. L10N: Status bar message: all the emails are visible in the index +-#: pager.c:2180 status.c:278 ++#: pager.c:2136 status.c:278 + msgid "all" + msgstr "" + + #. L10N: Status bar message: the end of the email is visible in the pager + #. L10N: Status bar message: the end of the list emails is visible in the index +-#: pager.c:2182 status.c:276 ++#: pager.c:2138 status.c:276 + msgid "end" + msgstr "" + +-#: pager.c:2530 pager.c:2566 pager.c:2602 pager.c:2937 ++#: pager.c:2503 pager.c:2539 pager.c:2576 pager.c:2911 + msgid "Bottom of message is shown" + msgstr "Ви бачите кінець листа" + +-#: pager.c:2543 pager.c:2573 pager.c:2580 pager.c:2590 ++#: pager.c:2516 pager.c:2546 pager.c:2553 pager.c:2564 + msgid "Top of message is shown" + msgstr "Ви бачите початок листа" + +-#: pager.c:2840 ++#: pager.c:2814 + msgid "Help is currently being shown" + msgstr "Підказку зараз показано" + +-#: pager.c:2897 ++#: pager.c:2871 + msgid "No more quoted text" + msgstr "Цитованого тексту більш немає" + +-#: pager.c:2914 ++#: pager.c:2888 + msgid "No more unquoted text after quoted text" + msgstr "Після цитованого тексту нічого немає" + +-#: pattern.c:220 pattern.c:297 pattern.c:1046 ++#: pattern.c:221 pattern.c:298 pattern.c:1085 + #, c-format + msgid "Error in expression: %s" + msgstr "Помилка у виразі: %s" + +-#: pattern.c:226 pattern.c:302 pattern.c:1052 ++#: pattern.c:227 pattern.c:303 pattern.c:1091 + msgid "Empty expression" + msgstr "Пустий вираз" + +-#: pattern.c:288 ++#: pattern.c:289 + #, fuzzy + msgid "No search command defined" + msgstr "Команду запиту не визначено" + +-#: pattern.c:326 ++#: pattern.c:327 + #, fuzzy, c-format + msgid "Running search command: %s ..." + msgstr "Виклик команди автоматичного переглядання: %s" + +-#: pattern.c:417 ++#: pattern.c:441 pattern.c:456 + #, c-format + msgid "Invalid day of month: %s" + msgstr "День \"%s\" в місяці не існує" + +-#: pattern.c:431 ++#: pattern.c:446 pattern.c:470 + #, c-format + msgid "Invalid month: %s" + msgstr "Місяць \"%s\" не існує" + +-#: pattern.c:534 ++#: pattern.c:573 + #, c-format + msgid "Invalid relative date: %s" + msgstr "Неможлива відносна дата: %s" + +-#: pattern.c:842 pattern.c:975 ++#: pattern.c:881 pattern.c:1014 + #, fuzzy + msgid "No current message" + msgstr "Немає нечитаних листів." + +-#: pattern.c:1002 ++#: pattern.c:1041 + msgid "No Context" + msgstr "" + +-#: pattern.c:1125 ++#: pattern.c:1164 + #, fuzzy + msgid "Error opening 'memory stream'" + msgstr "Помилка відкриття поштової скриньки" + +-#: pattern.c:1171 ++#: pattern.c:1210 + #, fuzzy + msgid "Error re-opening 'memory stream'" + msgstr "Помилка відкриття поштової скриньки" + +-#: pattern.c:1180 ++#: pattern.c:1219 + #, fuzzy + msgid "Error opening /dev/null" + msgstr "Неможливо відкрити /dev/null" + +-#: pattern.c:1443 pattern.c:1620 ++#: pattern.c:1482 pattern.c:1662 + #, c-format + msgid "error in pattern at: %s" + msgstr "помилка у шаблоні: %s" + +-#: pattern.c:1476 ++#: pattern.c:1515 + #, c-format + msgid "missing pattern: %s" + msgstr "відсутній шаблон: %s" + +-#: pattern.c:1494 pattern.c:1593 ++#: pattern.c:1533 pattern.c:1635 + #, c-format + msgid "mismatched parentheses: %s" + msgstr "невідповідна дужка: %s" + +-#: pattern.c:1559 ++#: pattern.c:1598 + #, c-format + msgid "%c: invalid pattern modifier" + msgstr "%c: невірний модифікатор шаблона" + +-#: pattern.c:1564 ++#: pattern.c:1603 + #, c-format + msgid "%c: not supported in this mode" + msgstr "в цьому режимі \"%c\" не підтримується" + +-#: pattern.c:1576 ++#: pattern.c:1618 + msgid "missing parameter" + msgstr "відсутній параметр" + +-#: pattern.c:1626 ++#: pattern.c:1668 + msgid "empty pattern" + msgstr "порожній шаблон" + +-#: pattern.c:2080 pattern.c:2083 ++#: pattern.c:2202 pattern.c:2205 + msgid "error: server custom search only supported with IMAP" + msgstr "" + +-#: pattern.c:2274 ++#: pattern.c:2398 + #, c-format + msgid "error: unknown op %d (report this error)" + msgstr "помилка: невідоме op %d (повідомте цю помилку)" + +-#: pattern.c:2448 pattern.c:2604 ++#: pattern.c:2572 pattern.c:2728 + msgid "Compiling search pattern..." + msgstr "Компіляція виразу пошуку..." + +-#: pattern.c:2468 ++#: pattern.c:2592 + msgid "Executing command on matching messages..." + msgstr "Виконання команди до відповідних листів..." + +-#: pattern.c:2537 ++#: pattern.c:2661 + msgid "No messages matched criteria" + msgstr "Листів, що відповідають критерію, не знайдено" + +-#: pattern.c:2641 ++#: pattern.c:2765 + msgid "Searching..." + msgstr "Пошук..." + +-#: pattern.c:2655 ++#: pattern.c:2779 + msgid "Search hit bottom without finding match" + msgstr "Пошук дійшов до кінця, але не знайдено нічого" + +-#: pattern.c:2666 ++#: pattern.c:2790 + msgid "Search hit top without finding match" + msgstr "Пошук дійшов до початку, але не знайдено нічого" + +-#: pattern.c:2700 ++#: pattern.c:2824 + msgid "Search interrupted" + msgstr "Пошук перервано" + +-#: pop/pop.c:216 pop/pop_lib.c:234 ++#: pop/pop.c:216 pop/pop_lib.c:259 + msgid "Command TOP is not supported by server" + msgstr "Команда TOP не підтримується сервером" + +@@ -6259,7 +6336,7 @@ msgstr "Команда TOP не підтримується сервером" + msgid "Can't write header to temporary file" + msgstr "Неможливо записати заголовок до тимчасового файлу" + +-#: pop/pop.c:420 pop/pop_lib.c:236 ++#: pop/pop.c:420 pop/pop_lib.c:261 + msgid "Command UIDL is not supported by server" + msgstr "Команда UIDL не підтримується сервером" + +@@ -6275,7 +6352,7 @@ msgstr[2] "%d повідомлень втрачено. Спробуйте від + msgid "POP host is not defined" + msgstr "POP host не визначено" + +-#: pop/pop.c:596 pop/pop.c:825 ++#: pop/pop.c:596 pop/pop.c:790 pop/pop.c:820 + #, c-format + msgid "%s is an invalid POP path" + msgstr "%s - неприпустимий шлях POP" +@@ -6310,127 +6387,127 @@ msgstr[0] "%s [%d з %d листів прочитано]" + msgstr[1] "%s [%d з %d листів прочитано]" + msgstr[2] "%s [%d з %d листів прочитано]" + +-#: pop/pop.c:876 ++#: pop/pop.c:871 + msgid "Fetching list of messages..." + msgstr "Отримання переліку повідомлень..." + +-#: pop/pop.c:959 ++#: pop/pop.c:954 + msgid "Marking messages deleted..." + msgstr "Маркування повідомлень видаленими..." + +-#: pop/pop.c:1150 ++#: pop/pop.c:1145 + msgid "Can't write message to temporary file" + msgstr "Неможливо записати повідомлення до тимчасового файлу" + +-#: pop/pop_auth.c:103 ++#: pop/pop_auth.c:104 + msgid "Authenticating (SASL)..." + msgstr "Аутентифікація (SASL)..." + +-#: pop/pop_auth.c:245 ++#: pop/pop_auth.c:246 + msgid "POP timestamp is invalid" + msgstr "Неправильне значення часу POP" + +-#: pop/pop_auth.c:249 ++#: pop/pop_auth.c:250 + msgid "Authenticating (APOP)..." + msgstr "Аутентифікація (APOP)..." + +-#: pop/pop_auth.c:269 ++#: pop/pop_auth.c:270 + msgid "APOP authentication failed" + msgstr "Помилка аутентифікації APOP" + +-#: pop/pop_auth.c:309 ++#: pop/pop_auth.c:310 + msgid "Command USER is not supported by server" + msgstr "Команда USER не підтримується сервером" + +-#: pop/pop_auth.c:386 ++#: pop/pop_auth.c:387 + #, fuzzy + msgid "Authentication failed" + msgstr "Помилка аутентифікації SASL" + +-#: pop/pop_lib.c:78 ++#: pop/pop_lib.c:103 + #, c-format + msgid "Invalid POP URL: %s" + msgstr "Неправильний POP URL: %s" + +-#: pop/pop_lib.c:232 ++#: pop/pop_lib.c:257 + msgid "Unable to leave messages on server" + msgstr "Неможливо залишити повідомлення на сервері" + +-#: pop/pop_lib.c:274 ++#: pop/pop_lib.c:300 + #, c-format + msgid "Error connecting to server: %s" + msgstr "Помилка з’єднання з сервером: %s" + +-#: pop/pop_lib.c:414 ++#: pop/pop_lib.c:440 + msgid "Closing connection to POP server..." + msgstr "Закриття з’єднання з сервером POP..." + +-#: pop/pop_lib.c:605 ++#: pop/pop_lib.c:631 + msgid "Verifying message indexes..." + msgstr "Перевірка індексів повідомлень..." + +-#: pop/pop_lib.c:628 ++#: pop/pop_lib.c:654 + msgid "Connection lost. Reconnect to POP server?" + msgstr "З’єднання втрачено. Відновити зв’язок з сервером POP?" + +-#: postpone.c:229 ++#: postpone.c:260 + msgid "Postponed Messages" + msgstr "Залишені листи" + +-#: postpone.c:314 postpone.c:326 ++#: postpone.c:348 postpone.c:372 + msgid "No postponed messages" + msgstr "Жодного листа не залишено" + +-#: postpone.c:480 ++#: postpone.c:526 + msgid "Illegal S/MIME header" + msgstr "Неправильний заголовок S/MIME" + +-#: postpone.c:510 postpone.c:551 postpone.c:560 ++#: postpone.c:556 postpone.c:597 postpone.c:606 + msgid "Illegal crypto header" + msgstr "Неправильний заголовок шифрування" + +-#: postpone.c:644 postpone.c:752 postpone.c:780 ++#: postpone.c:690 postpone.c:798 postpone.c:826 + msgid "Decrypting message..." + msgstr "Розшифровка листа..." + +-#: query.c:82 ++#: query.c:80 + msgid "New Query" + msgstr "Новий запит" + +-#: query.c:83 ++#: query.c:81 + msgid "Make Alias" + msgstr "Створити синонім" + +-#: query.c:180 ++#: query.c:178 + msgid "Waiting for response..." + msgstr "Чекаємо на відповідь..." + +-#: query.c:362 query.c:400 ++#: query.c:365 query.c:434 + msgid "Query: " + msgstr "Запит:" + +-#: query.c:370 query.c:407 ++#: query.c:374 query.c:442 + #, c-format + msgid "Query '%s'" + msgstr "Запит \"%s\"" + +-#: query.c:620 query.c:657 ++#: query.c:661 query.c:698 + msgid "Query command not defined" + msgstr "Команду запиту не визначено" + +-#: recvattach.c:93 ++#: recvattach.c:91 + msgid "Pipe" + msgstr "Передати" + +-#: recvattach.c:94 ++#: recvattach.c:92 + msgid "Print" + msgstr "Друк" + +-#: recvattach.c:569 ++#: recvattach.c:571 + msgid "Saving..." + msgstr "Збереження..." + +-#: recvattach.c:573 recvattach.c:744 recvattach.c:748 ++#: recvattach.c:575 recvattach.c:746 recvattach.c:750 + #, fuzzy, c-format + msgid "Attachment saved" + msgid_plural "%d attachments saved" +@@ -6438,26 +6515,26 @@ msgstr[0] "Додаток записано" + msgstr[1] "Додаток записано" + msgstr[2] "Додаток записано" + +-#: recvattach.c:772 ++#: recvattach.c:774 + #, c-format + msgid "WARNING! You are about to overwrite %s, continue?" + msgstr "ОБЕРЕЖНО! Ви знищите існуючий %s при запису. Ви певні?" + +-#: recvattach.c:790 ++#: recvattach.c:792 + msgid "Attachment filtered" + msgstr "Додаток відфільтровано" + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Filter through: " + msgstr "Фільтрувати через: " + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Pipe to: " + msgstr "Передати команді: " + + #. L10N: s gets replaced by a MIME type, e.g. "text/plain" or + #. application/octet-stream. +-#: recvattach.c:935 ++#: recvattach.c:937 + #, c-format + msgid "I don't know how to print %s attachments" + msgstr "Невідомо, як друкувати додатки типу %s" +@@ -6465,7 +6542,7 @@ msgstr "Невідомо, як друкувати додатки типу %s" + #. L10N: Although we now the precise number of tagged messages, we + #. do not show it to the user. So feel free to use a "generic + #. plural" as plural translation if your language has one. +-#: recvattach.c:1038 ++#: recvattach.c:1040 + #, fuzzy, c-format + msgid "Print tagged attachment?" + msgid_plural "Print %d tagged attachments?" +@@ -6473,49 +6550,49 @@ msgstr[0] "Друкувати виділені додатки?" + msgstr[1] "Друкувати виділені додатки?" + msgstr[2] "Друкувати виділені додатки?" + +-#: recvattach.c:1039 ++#: recvattach.c:1041 + #, c-format + msgid "Print attachment?" + msgstr "Друкувати додаток?" + +-#: recvattach.c:1123 ++#: recvattach.c:1125 + msgid "Structural changes to decrypted attachments are not supported" + msgstr "Змінення структури розшифрованих додатків не підтримується" + +-#: recvattach.c:1291 ++#: recvattach.c:1293 + msgid "Can't decrypt encrypted message" + msgstr "Не можу розшифрувати листа" + +-#: recvattach.c:1425 ++#: recvattach.c:1457 + msgid "Attachments" + msgstr "Додатки" + +-#: recvattach.c:1465 ++#: recvattach.c:1497 + msgid "There are no subparts to show" + msgstr "Немає підчастин для проглядання" + +-#: recvattach.c:1520 ++#: recvattach.c:1552 + msgid "Can't delete attachment from POP server" + msgstr "Неможливо видалити додаток з сервера POP" + +-#: recvattach.c:1529 ++#: recvattach.c:1561 + #, fuzzy + msgid "Can't delete attachment from news server" + msgstr "Неможливо видалити додаток з сервера POP" + +-#: recvattach.c:1536 ++#: recvattach.c:1568 + msgid "Deletion of attachments from encrypted messages is unsupported" + msgstr "Видалення додатків з шифрованих листів не підтримується" + +-#: recvattach.c:1542 ++#: recvattach.c:1574 + msgid "Deletion of attachments from signed messages may invalidate the signature" + msgstr "Видалення додатків з підписаних листів може анулювати підпис" + +-#: recvattach.c:1561 recvattach.c:1578 ++#: recvattach.c:1593 recvattach.c:1610 + msgid "Only deletion of multipart attachments is supported" + msgstr "Підтримується тільки видалення в багаточастинних листах" + +-#: recvcmd.c:79 ++#: recvcmd.c:78 + msgid "You may only bounce message/rfc822 parts" + msgstr "Ви можете надсилати тільки копії частин в форматі message/rfc822" + +@@ -6553,7 +6630,7 @@ msgstr "Неможливо створити %s" + msgid "Can't find any tagged messages" + msgstr "Не знайдено виділених листів" + +-#: recvcmd.c:848 send.c:1073 ++#: recvcmd.c:848 send.c:1072 + msgid "No mailing lists found" + msgstr "Не знайдено списків розсилки" + +@@ -6568,67 +6645,67 @@ msgstr "Неможливо декодувати всі виділені дода + msgid "You may only compose to sender with message/rfc822 parts" + msgstr "Ви можете надсилати тільки копії частин в форматі message/rfc822" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Append" + msgstr "Додати" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Insert" + msgstr "Встав." + +-#: remailer.c:78 ++#: remailer.c:76 + msgid "OK" + msgstr "Ok" + +-#: remailer.c:210 ++#: remailer.c:207 + msgid "" + msgstr "" + +-#: remailer.c:586 ++#: remailer.c:617 + msgid "Can't get mixmaster's type2.list" + msgstr "Неможливо отримати type2.list mixmaster’а" + +-#: remailer.c:612 ++#: remailer.c:673 + msgid "Select a remailer chain" + msgstr "Веберіть ланцюжок remailer" + +-#: remailer.c:674 ++#: remailer.c:735 + #, c-format + msgid "Error: %s can't be used as the final remailer of a chain" + msgstr "Помилка: %s неможливо використати як останній remailer ланцюжку" + + #. L10N The '%d' here hard-coded to 19 +-#: remailer.c:706 ++#: remailer.c:767 + #, c-format + msgid "Mixmaster chains are limited to %d elements" + msgstr "Ланцюжок не може бути більшим за %d елементів" + +-#: remailer.c:729 ++#: remailer.c:790 + msgid "The remailer chain is already empty" + msgstr "Ланцюжок remailer’а вже порожній" + +-#: remailer.c:739 ++#: remailer.c:800 + msgid "You already have the first chain element selected" + msgstr "Перший елемент ланцюжку вже вибрано" + +-#: remailer.c:749 ++#: remailer.c:810 + msgid "You already have the last chain element selected" + msgstr "Останній елемент ланцюжку вже вибрано" + +-#: remailer.c:792 ++#: remailer.c:856 + msgid "Mixmaster doesn't accept Cc or Bcc headers" + msgstr "Mixmaster не приймає заголовки Cc та Bcc" + +-#: remailer.c:817 ++#: remailer.c:881 + msgid "Please set the hostname variable to a proper value when using mixmaster" + msgstr "Треба встановити відповідне значення hostname для використання mixmaster" + +-#: remailer.c:860 ++#: remailer.c:924 + #, c-format + msgid "Error sending message, child exited %d.\n" + msgstr "Помилка відправки, код повернення %d.\n" + +-#: remailer.c:864 ++#: remailer.c:928 + msgid "Error sending message" + msgstr "Помилка при відправці" + +@@ -6658,41 +6735,41 @@ msgstr "Переслати додатки?" + + #. L10N: Asks whether the user respects the reply-to header. + #. If she says no, neomutt will reply to the from header's address instead. +-#: send.c:793 ++#: send.c:792 + #, c-format + msgid "Reply to %s%s?" + msgstr "Відповісти %s%s?" + +-#: send.c:838 ++#: send.c:837 + #, c-format + msgid "Follow-up to %s%s?" + msgstr "Переслати %s%s?" + +-#: send.c:1122 ++#: send.c:1121 + msgid "Include message in reply?" + msgstr "Додати лист до відповіді?" + +-#: send.c:1128 ++#: send.c:1127 + msgid "Including quoted message..." + msgstr "Цитується повідомлення..." + +-#: send.c:1137 ++#: send.c:1136 + msgid "Could not include all requested messages" + msgstr "Не вийшло додати всі бажані листи" + +-#: send.c:1148 ++#: send.c:1147 + msgid "Forward as attachment?" + msgstr "Переслати як додаток?" + +-#: send.c:1153 ++#: send.c:1152 + msgid "Preparing forwarded message..." + msgstr "Підготування листа для пересилання..." + +-#: send.c:1632 ++#: send.c:1631 + msgid "Fcc to an IMAP mailbox is not supported in batch mode" + msgstr "Fcc в скриньку на IMAP-сервері не підтримується в пакетному режимі" + +-#: send.c:1664 send.c:1690 ++#: send.c:1665 send.c:1675 send.c:1701 + msgid "Save attachments in Fcc?" + msgstr "Зберегти додатки в Fcc?" + +@@ -6700,195 +6777,195 @@ msgstr "Зберегти додатки в Fcc?" + #. (r)etry tries the same mailbox again. + #. alternate (m)ailbox prompts for a different mailbox to try. + #. (s)kip aborts saving. +-#: send.c:1712 ++#: send.c:1723 + msgid "Fcc failed. (r)etry, alternate (m)ailbox, or (s)kip?" + msgstr "Помилка збереження в Fcc. (r)повторити, (m)інша скринька, (s)пропустити? " + + #. L10N: These correspond to the "Fcc failed" multi-choice prompt + #. (r)etry, alternate (m)ailbox, or (s)kip. + #. Any similarity to famous leaders of the FSF is coincidental. +-#: send.c:1716 ++#: send.c:1727 + msgid "rms" + msgstr "rms" + + #. L10N: This is the prompt to enter an "alternate (m)ailbox" when the + #. initial Fcc fails. +-#: send.c:1722 ++#: send.c:1733 + msgid "Fcc mailbox" + msgstr "Fcc скринька" + +-#: send.c:1788 ++#: send.c:1799 + msgid "Can't postpone. $postponed is unset" + msgstr "Неможливо відкласти лист. Значення $postponed не встановлено." + +-#: send.c:1923 ++#: send.c:1934 + msgid "Recall postponed message?" + msgstr "Викликати залишений лист?" + +-#: send.c:2228 ++#: send.c:2239 + msgid "Edit forwarded message?" + msgstr "Редагувати лист перед відправкою?" + +-#: send.c:2266 ++#: send.c:2277 + msgid "Abort unmodified message?" + msgstr "Відмінити відправку не зміненого листа?" + +-#: send.c:2268 ++#: send.c:2279 + msgid "Aborted unmodified message" + msgstr "Лист не змінено, тому відправку відмінено" + +-#: send.c:2388 ++#: send.c:2399 + msgid "No crypto backend configured. Disabling message security setting." + msgstr "" + +-#: send.c:2427 ++#: send.c:2438 + #, fuzzy + msgid "Article not posted" + msgstr "Лист не відправлено" + +-#: send.c:2437 ++#: send.c:2448 + msgid "Message postponed" + msgstr "Лист залишено для подальшої відправки" + +-#: send.c:2470 ++#: send.c:2481 + msgid "No subject, abort sending?" + msgstr "Теми немає, відмінити відправку?" + +-#: send.c:2474 send.c:2480 ++#: send.c:2485 send.c:2491 + msgid "No subject specified" + msgstr "Теми не вказано" + +-#: send.c:2486 ++#: send.c:2497 + #, fuzzy + msgid "No newsgroup specified" + msgstr "Теми не вказано" + +-#: send.c:2496 ++#: send.c:2507 + #, fuzzy + msgid "No attachments, cancel sending?" + msgstr "змінити спосіб кодування додатку" + +-#: send.c:2501 ++#: send.c:2512 + msgid "Message contains text matching \"$abort_noattach_regex\". Not sending." + msgstr "" + +-#: send.c:2559 smtp.c:227 ++#: send.c:2570 smtp.c:230 + msgid "Sending message..." + msgstr "Лист відправляється..." + +-#: send.c:2598 ++#: send.c:2609 + msgid "Could not send the message" + msgstr "Не вийшло відправити лист" + +-#: send.c:2608 ++#: send.c:2619 + msgid "Sending in background" + msgstr "Фонова відправка" + +-#: send.c:2609 ++#: send.c:2620 + msgid "Article posted" + msgstr "" + +-#: send.c:2610 ++#: send.c:2621 + msgid "Mail sent" + msgstr "Лист відправлено" + +-#: sendlib.c:567 ++#: sendlib.c:566 + msgid "No boundary parameter found [report this error]" + msgstr "Немає параметру межі [сповістіть про цю помилку]" + +-#: sendlib.c:598 ++#: sendlib.c:597 + #, c-format + msgid "%s no longer exists" + msgstr "%s більше не існує" + +-#: sendlib.c:1056 ++#: sendlib.c:1055 + #, c-format + msgid "%s isn't a regular file" + msgstr "%s не є звичайним файлом" + +-#: sendlib.c:1223 ++#: sendlib.c:1222 + #, fuzzy + msgid "Could not find any mime.types file." + msgstr "Не вийшло відправити лист." + +-#: sendlib.c:1314 ++#: sendlib.c:1313 + #, c-format + msgid "Could not open %s" + msgstr "Не вийшло відкрити %s" + +-#: sendlib.c:2864 ++#: sendlib.c:2855 + msgid "$sendmail must be set in order to send mail" + msgstr "$sendmail має бути встановленим для відправки пошти" + +-#: sendlib.c:2971 ++#: sendlib.c:2962 + #, c-format + msgid "Error sending message, child exited %d (%s)" + msgstr "Помилка відправки, код повернення %d (%s)" + +-#: sendlib.c:2977 ++#: sendlib.c:2969 + msgid "Output of the delivery process" + msgstr "Вивід процесу доставки" + +-#: sendlib.c:3157 ++#: sendlib.c:3154 + #, c-format + msgid "Bad IDN %s while preparing resent-from" + msgstr "Погане IDN %s при підготовці resent-from" + +-#: smtp.c:165 ++#: smtp.c:168 + #, c-format + msgid "SMTP session failed: %s" + msgstr "Помилка сесії SMTP: %s" + +-#: smtp.c:222 ++#: smtp.c:225 + #, c-format + msgid "SMTP session failed: unable to open %s" + msgstr "Помилка SMTP: неможливо відкрити %s" + +-#: smtp.c:339 ++#: smtp.c:364 + #, c-format + msgid "Invalid SMTP URL: %s" + msgstr "Неправильний SMTP URL: %s" + +-#: smtp.c:618 ++#: smtp.c:643 + #, c-format + msgid "SMTP authentication method %s requires SASL" + msgstr "" + +-#: smtp.c:625 ++#: smtp.c:650 + #, c-format + msgid "%s authentication failed, trying next method" + msgstr "Помилка аутентифікації %s, пробуємо наступний метод" + +-#: smtp.c:636 ++#: smtp.c:661 + #, fuzzy + msgid "SMTP authentication requires SASL" + msgstr "Помилка аутентифікації GSSAPI" + +-#: smtp.c:717 ++#: smtp.c:742 + msgid "SMTP server does not support authentication" + msgstr "SMTP-сервер не підтримує аутентифікації" + +-#: smtp.c:756 ++#: smtp.c:781 + msgid "No from address given" + msgstr "Не вказано адресу From:" + +-#: smtp.c:821 ++#: smtp.c:846 + msgid "SMTP session failed: read error" + msgstr "Помилка сесії SMTP: помилка читання з сокета" + +-#: smtp.c:823 ++#: smtp.c:848 + msgid "SMTP session failed: write error" + msgstr "Помилка сесії SMTP: помилка запису в сокет" + +-#: smtp.c:825 ++#: smtp.c:850 + msgid "Invalid server response" + msgstr "Неправильна відповідь сервера" + +-#: sort.c:385 ++#: sort.c:387 + msgid "Sorting mailbox..." + msgstr "Сортування поштової скриньки..." + +-#: sort.c:427 ++#: sort.c:429 + msgid "Could not find sorting function [report this bug]" + msgstr "Не знайдено функцію сортування [сповістіть про це]" + +@@ -6952,11 +7029,50 @@ msgstr "" + "NeoMutt -- програмне забезпечення з відкритим кодом, запрошуємо до розповсюдження\n" + "з деякими умовами. Детальніше: neomutt -vv.\n" + +-#: version.c:446 ++#: version.c:451 + #, fuzzy + msgid "Default options:" + msgstr "Параметри компіляції:" + +-#: version.c:449 ++#: version.c:454 + msgid "Compile options:" + msgstr "Параметри компіляції:" ++ ++#~ msgid "Error creating autocrypt key: %s\n" ++#~ msgstr "Помилка створення ключа autocrypt: %s\n" ++ ++#~ msgid "(c)reate new, or (s)elect existing GPG key? " ++#~ msgstr "(c)створити новий або (s)обрати існуючий ключ GPG?" ++ ++#~ msgid "Autocrypt: (e)ncrypt, (c)lear, (a)utomatic? " ++#~ msgstr "Autocrypt: (e)шифрувати, (c)очистити, (a)автоматично? " ++ ++#~ msgid "$send_multipart_alternative_filter is not set" ++#~ msgstr "Значення $send_multipart_alternative_filter не встановлено" ++ ++#~ msgid "Generate multipart/alternative content?" ++#~ msgstr "Створити multipart/alternative контент?" ++ ++#~ msgid "Missing mime type from output of \"%s\"!" ++#~ msgstr "Відсутній MIME-тип у виводі \"%s\"!" ++ ++#~ msgid "Missing blank line separator from output of \"%s\"!" ++#~ msgstr "Відсутній порожній рядок-роздільник у виводі \"%s\"!" ++ ++#~ msgid "$send_multipart_alternative_filter does not support multipart type generation" ++#~ msgstr "$send_multipart_alternative_filter не підтримує генерацію типу multipart" ++ ++#~ msgid "view multipart/alternative" ++#~ msgstr "переглянути multipart/alternative" ++ ++#~ msgid "view multipart/alternative as text" ++#~ msgstr "переглянути multipart/alternative як текст" ++ ++#~ msgid "view multipart/alternative using mailcap" ++#~ msgstr "переглянути multipart/alternative з використанням mailcap" ++ ++#~ msgid "select a new mailbox from the browser" ++#~ msgstr "обрати нову поштову скриньку" ++ ++#~ msgid "select a new mailbox from the browser in read only mode" ++#~ msgstr "обрати нову поштову скриньку лише для читання" +diff --git a/po/zh_CN.po b/po/zh_CN.po +index 042c9e627..1c70aca5f 100644 +--- a/po/zh_CN.po ++++ b/po/zh_CN.po +@@ -15,7 +15,7 @@ msgid "" + msgstr "" + "Project-Id-Version: neomutt-2019-12-07\n" + "Report-Msgid-Bugs-To: neomutt-devel@neomutt.org\n" +-"POT-Creation-Date: 2019-12-06 23:10+0000\n" ++"POT-Creation-Date: 2020-03-09 12:15+0000\n" + "PO-Revision-Date: 2019-09-09 09:44-0500\n" + "Last-Translator: Mingcong Bai \n" + "Language-Team: i18n-zh \n" +@@ -26,16 +26,40 @@ msgstr "" + "Plural-Forms: nplurals=1; plural=0;\n" + "X-Generator: Poedit 2.2.3\n" + +-#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:59 browser.c:80 browser.c:90 +-#: mutt_history.c:45 pager.c:228 postpone.c:68 query.c:80 recvattach.c:93 ++msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" ++msgstr "拒绝(r),接受一次(o),总是接受(a),跳过(s)" ++ ++msgid "roas" ++msgstr "roas" ++ ++msgid "(r)eject, accept (o)nce, (a)ccept always" ++msgstr "拒绝(r),接受一次(o),总是接受(a)" ++ ++msgid "roa" ++msgstr "roa" ++ ++msgid "(r)eject, accept (o)nce, (s)kip" ++msgstr "拒绝(r),接受一次(o),跳过(s)" ++ ++msgid "ros" ++msgstr "ros" ++ ++msgid "(r)eject, accept (o)nce" ++msgstr "拒绝(r),接受一次(o)" ++ ++msgid "ro" ++msgstr "ro" ++ ++#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:58 browser.c:79 browser.c:89 ++#: mutt_history.c:45 pager.c:220 postpone.c:68 query.c:78 recvattach.c:91 + msgid "Exit" + msgstr "退出" + +-#: addrbook.c:56 index.c:116 index.c:129 pager.c:236 pager.c:246 postpone.c:69 ++#: addrbook.c:56 index.c:112 index.c:125 pager.c:228 pager.c:238 postpone.c:69 + msgid "Del" + msgstr "删除" + +-#: addrbook.c:57 index.c:117 index.c:130 postpone.c:70 ++#: addrbook.c:57 index.c:113 index.c:126 postpone.c:70 + msgid "Undel" + msgstr "反删除" + +@@ -43,18 +67,18 @@ msgstr "反删除" + msgid "Select" + msgstr "选择" + +-#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:82 browser.c:84 browser.c:96 +-#: compose.c:218 compose.c:230 conn/ssl.c:983 conn/ssl_gnutls.c:691 index.c:122 +-#: index.c:135 mutt_history.c:48 ncrypt/crypt_gpgme.c:4735 ncrypt/pgpkey.c:670 +-#: ncrypt/smime.c:553 pager.c:2326 postpone.c:71 query.c:85 recvattach.c:94 ++#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:81 browser.c:83 browser.c:95 ++#: compose.c:216 compose.c:228 conn/ssl.c:996 conn/ssl_gnutls.c:722 index.c:118 ++#: index.c:131 mutt_history.c:48 ncrypt/crypt_gpgme.c:4783 ncrypt/pgpkey.c:673 ++#: ncrypt/smime.c:555 pager.c:2297 postpone.c:71 query.c:83 recvattach.c:92 + msgid "Help" + msgstr "帮助" + +-#: addrbook.c:208 ++#: addrbook.c:238 + msgid "You have no aliases" + msgstr "您没有别名信息" + +-#: addrbook.c:215 ++#: addrbook.c:276 + msgid "Aliases" + msgstr "别名" + +@@ -63,51 +87,51 @@ msgstr "别名" + msgid "Alias as: " + msgstr "取别名为:" + +-#: alias.c:411 ++#: alias.c:414 + msgid "You already have an alias defined with that name" + msgstr "您已经为这个名字定义了别名啦" + +-#: alias.c:417 ++#: alias.c:420 + msgid "Warning: This alias name may not work. Fix it?" + msgstr "警告:此别名可能无法工作。要修正它吗?" + +-#: alias.c:442 ++#: alias.c:445 + msgid "Address: " + msgstr "地址:" + +-#: alias.c:453 commands.c:444 compose.c:744 conn/conn_raw.c:152 +-#: conn/conn_raw.c:210 recvcmd.c:232 send.c:228 ++#: alias.c:457 commands.c:450 compose.c:743 conn/conn_raw.c:152 ++#: conn/conn_raw.c:210 recvcmd.c:231 send.c:227 + #, c-format + msgid "Bad IDN: '%s'" + msgstr "错误的 IDN:'%s'" + +-#: alias.c:464 ++#: alias.c:468 + msgid "Personal name: " + msgstr "个人姓名:" + +-#: alias.c:473 ++#: alias.c:477 + #, c-format + msgid "[%s = %s] Accept?" + msgstr "[%s = %s] 接受?" + +-#: alias.c:484 recvattach.c:528 recvattach.c:550 recvattach.c:564 +-#: recvattach.c:579 recvattach.c:678 ++#: alias.c:488 recvattach.c:530 recvattach.c:552 recvattach.c:566 ++#: recvattach.c:581 recvattach.c:680 + msgid "Save to file: " + msgstr "存到文件:" + +-#: alias.c:503 ++#: alias.c:507 + msgid "Error reading alias file" + msgstr "读取别名文件时出错" + +-#: alias.c:525 ++#: alias.c:529 + msgid "Trouble adding alias" + msgstr "添加别名时出错" + +-#: alias.c:527 ++#: alias.c:531 + msgid "Alias added" + msgstr "别名已添加" + +-#: alias.c:532 ++#: alias.c:536 + msgid "Error seeking in alias file" + msgstr "无法在别名文件里查找" + +@@ -116,7 +140,7 @@ msgstr "无法在别名文件里查找" + #. for some reason (e.g. autocrypt, header cache, bcache), but it + #. doesn't exist. The prompt is asking whether to create the directory + #. +-#: autocrypt/autocrypt.c:70 main.c:826 ++#: autocrypt/autocrypt.c:70 main.c:757 + #, c-format + msgid "%s does not exist. Create it?" + msgstr "%s 不存在。创建它吗?" +@@ -125,8 +149,8 @@ msgstr "%s 不存在。创建它吗?" + #. mkdir() on the directory %s failed. The second %s is the + #. error message returned by libc + #. +-#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:830 +-#: nntp/newsrc.c:1069 ++#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:761 ++#: nntp/newsrc.c:1098 + #, c-format + msgid "Can't create %s: %s" + msgstr "无法创建 %s:%s" +@@ -136,7 +160,7 @@ msgstr "无法创建 %s:%s" + #. create $autocrypt_dir and then prompt to create an autocrypt + #. account with this message. + #. +-#: autocrypt/autocrypt.c:156 ++#: autocrypt/autocrypt.c:163 + msgid "Create an initial autocrypt account?" + msgstr "创建一个初始 autocrypt 帐号?" + +@@ -145,7 +169,7 @@ msgstr "创建一个初始 autocrypt 帐号?" + #. autocrypt account. This will generate a key and add a record + #. to the database for use in autocrypt operations. + #. +-#: autocrypt/autocrypt.c:180 ++#: autocrypt/autocrypt.c:187 + msgid "Autocrypt account address: " + msgstr "Autocrypt 帐号地址:" + +@@ -154,7 +178,7 @@ msgstr "Autocrypt 帐号地址:" + #. a single address. This is shown if they entered something invalid, + #. nothing, or more than one address for some reason. + #. +-#: autocrypt/autocrypt.c:191 ++#: autocrypt/autocrypt.c:198 + msgid "Please enter a single email address" + msgstr "请输入一个合法的邮件地址" + +@@ -163,7 +187,7 @@ msgstr "请输入一个合法的邮件地址" + #. if there is already an account in the database with the email address + #. they just entered. + #. +-#: autocrypt/autocrypt.c:208 ++#: autocrypt/autocrypt.c:215 + msgid "That email address already has an autocrypt account" + msgstr "该邮件地址已有一个 autocrypt 帐号" + +@@ -175,14 +199,14 @@ msgstr "该邮件地址已有一个 autocrypt 帐号" + #. Otherwise the UI will show encryption is "available" but the user + #. will be required to enable encryption manually. + #. +-#: autocrypt/autocrypt.c:223 ++#: autocrypt/autocrypt.c:230 + msgid "Prefer encryption?" + msgstr "默认开启加密?" + + #. L10N: + #. Message displayed after an autocrypt account is successfully created. + #. +-#: autocrypt/autocrypt.c:236 ++#: autocrypt/autocrypt.c:243 + msgid "Autocrypt account creation succeeded" + msgstr "Autocrypt 帐号创建成功" + +@@ -190,7 +214,7 @@ msgstr "Autocrypt 帐号创建成功" + #. Error message displayed if creating an autocrypt account failed + #. or was aborted by the user. + #. +-#: autocrypt/autocrypt.c:242 ++#: autocrypt/autocrypt.c:249 + msgid "Autocrypt account creation aborted" + msgstr "已中止创建 autocrypt 帐号" + +@@ -199,7 +223,7 @@ msgstr "已中止创建 autocrypt 帐号" + #. to use to encrypt, but it can't find a valid keyid for this address. + #. The message is printed and they are returned to the compose menu. + #. +-#: autocrypt/autocrypt.c:610 autocrypt/autocrypt.c:639 ++#: autocrypt/autocrypt.c:617 autocrypt/autocrypt.c:646 + #, c-format + msgid "No (valid) autocrypt key found for %s" + msgstr "未找到可用于 %s 的(有效) autocrypt 密钥" +@@ -211,12 +235,12 @@ msgstr "未找到可用于 %s 的(有效) autocrypt 密钥" + #. and used for encryption. + #. If this is answered yes, they will be prompted for a mailbox. + #. +-#: autocrypt/autocrypt.c:903 ++#: autocrypt/autocrypt.c:910 + msgid "Scan a mailbox for autocrypt headers?" + msgstr "要扫描信箱内的 autocrypt 头吗?" + + #. L10N: The prompt for a mailbox to scan for Autocrypt: headers +-#: autocrypt/autocrypt.c:907 ++#: autocrypt/autocrypt.c:914 + msgid "Scan mailbox" + msgstr "扫描信箱" + +@@ -227,21 +251,21 @@ msgstr "扫描信箱" + #. for a mailbox. This is because this is a one-time operation + #. and I don't want them to accidentally ctrl-g and abort it. + #. +-#: autocrypt/autocrypt.c:927 ++#: autocrypt/autocrypt.c:934 + msgid "Scan another mailbox for autocrypt headers?" + msgstr "在另一个信箱扫描 autocrypt 报头?" + + #. L10N: Autocrypt Account Menu Help line: + #. create new account + #. +-#: autocrypt/autocrypt_acct_menu.c:63 ++#: autocrypt/autocrypt_acct_menu.c:62 + msgid "Create" + msgstr "创建" + + #. L10N: Autocrypt Account Menu Help line: + #. delete account + #. +-#: autocrypt/autocrypt_acct_menu.c:67 remailer.c:77 ++#: autocrypt/autocrypt_acct_menu.c:66 remailer.c:75 + msgid "Delete" + msgstr "删除" + +@@ -249,9 +273,9 @@ msgstr "删除" + #. toggle an account active/inactive + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:74 ++#: autocrypt/autocrypt_acct_menu.c:73 + msgid "Tgl Active" + msgstr "启用/禁用" + +@@ -259,17 +283,17 @@ msgstr "启用/禁用" + #. toggle "prefer-encrypt" on an account + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:81 +-msgid "Prf Enc" ++#: autocrypt/autocrypt_acct_menu.c:80 ++msgid "Prf Encr" + msgstr "默认开启加密" + + #. L10N: + #. Autocrypt Account menu. + #. flag that an account has prefer-encrypt set + #. +-#: autocrypt/autocrypt_acct_menu.c:123 ++#: autocrypt/autocrypt_acct_menu.c:122 + msgid "prefer encrypt" + msgstr "默认开启加密" + +@@ -278,7 +302,7 @@ msgstr "默认开启加密" + #. flag that an account has prefer-encrypt unset; + #. thus encryption will need to be manually enabled. + #. +-#: autocrypt/autocrypt_acct_menu.c:130 ++#: autocrypt/autocrypt_acct_menu.c:129 + msgid "manual encrypt" + msgstr "手动加密" + +@@ -286,7 +310,7 @@ msgstr "手动加密" + #. Autocrypt Account menu. + #. flag that an account is enabled/active + #. +-#: autocrypt/autocrypt_acct_menu.c:138 ++#: autocrypt/autocrypt_acct_menu.c:137 + msgid "active" + msgstr "已启用" + +@@ -294,12 +318,12 @@ msgstr "已启用" + #. Autocrypt Account menu. + #. flag that an account is disabled/inactive + #. +-#: autocrypt/autocrypt_acct_menu.c:144 ++#: autocrypt/autocrypt_acct_menu.c:143 + msgid "inactive" + msgstr "已禁用" + + #. L10N: Autocrypt Account Management Menu title +-#: autocrypt/autocrypt_acct_menu.c:183 ++#: autocrypt/autocrypt_acct_menu.c:182 + msgid "Autocrypt Accounts" + msgstr "Autocrypt 帐号" + +@@ -307,12 +331,12 @@ msgstr "Autocrypt 帐号" + #. This error message is displayed if a database update of an + #. account record fails for some odd reason. + #. +-#: autocrypt/autocrypt_acct_menu.c:245 autocrypt/autocrypt_acct_menu.c:259 ++#: autocrypt/autocrypt_acct_menu.c:244 autocrypt/autocrypt_acct_menu.c:258 + msgid "Error updating account record" + msgstr "更新帐号记录出错" + + #. L10N: Confirmation message when deleting an autocrypt account +-#: autocrypt/autocrypt_acct_menu.c:302 ++#: autocrypt/autocrypt_acct_menu.c:333 + #, c-format + msgid "Really delete account \"%s\"?" + msgstr "真的要删除 \"%s\" 帐号吗?" +@@ -330,7 +354,7 @@ msgstr "真的要删除 \"%s\" 帐号吗?" + msgid "Unable to open autocrypt database %s" + msgstr "无法打开 autocrypt 数据库 %s" + +-#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:774 ++#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:773 + #, c-format + msgid "error creating gpgme context: %s" + msgstr "创建 gpgme 上下文出错:%s" +@@ -403,464 +427,575 @@ msgstr "Autocrypt 数据库版本太新" + msgid "Message cache isn't a directory: %s" + msgstr "信件缓存不是一个目录:%s" + +-#: browser.c:81 ++#: browser.c:80 + msgid "Chdir" + msgstr "改变目录" + +-#: browser.c:82 ++#: browser.c:81 + msgid "Goto" + msgstr "转到" + +-#: browser.c:83 browser.c:95 ++#: browser.c:82 browser.c:94 + msgid "Mask" + msgstr "掩码" + +-#: browser.c:91 ++#: browser.c:90 + msgid "List" + msgstr "列表" + +-#: browser.c:92 ++#: browser.c:91 + msgid "Subscribe" + msgstr "已订阅" + +-#: browser.c:93 ++#: browser.c:92 + msgid "Unsubscribe" + msgstr "退订" + +-#: browser.c:94 index.c:134 ++#: browser.c:93 index.c:130 + msgid "Catchup" + msgstr "跟上" + +-#: browser.c:760 browser.c:1519 browser.c:1758 ++#: browser.c:763 browser.c:1584 browser.c:1825 + #, c-format + msgid "%s is not a directory" + msgstr "%s 不是目录" + +-#: browser.c:1025 ++#: browser.c:1028 + #, c-format + msgid "Subscribed newsgroups" + msgstr "已订阅新闻组" + +-#: browser.c:1028 ++#: browser.c:1031 + #, c-format + msgid "Newsgroups on server [%s]" + msgstr "新闻组服务器[%s]" + +-#: browser.c:1038 ++#: browser.c:1041 + #, c-format + msgid "Mailboxes [%d]" + msgstr "信箱 [%d]" + +-#: browser.c:1050 ++#: browser.c:1053 + #, c-format + msgid "Subscribed [%s], File mask: %s" + msgstr "已订阅 [%s], 文件掩码: %s" + +-#: browser.c:1056 ++#: browser.c:1059 + #, c-format + msgid "Directory [%s], File mask: %s" + msgstr "目录 [%s], 文件掩码:%s" + +-#: browser.c:1113 ++#: browser.c:1116 + msgid "Can't attach a directory" + msgstr "无法附加目录" + +-#: browser.c:1380 browser.c:1814 browser.c:1959 ++#: browser.c:1445 browser.c:1881 browser.c:2026 + msgid "No files match the file mask" + msgstr "没有文件与文件掩码相符" + +-#: browser.c:1587 ++#: browser.c:1654 + msgid "Create is only supported for IMAP mailboxes" + msgstr "只有 IMAP 信箱才支持创建" + +-#: browser.c:1609 ++#: browser.c:1676 + msgid "Rename is only supported for IMAP mailboxes" + msgstr "只有 IMAP 信箱才支持重命名" + +-#: browser.c:1630 ++#: browser.c:1697 + msgid "Delete is only supported for IMAP mailboxes" + msgstr "只有 IMAP 信箱才支持删除" + +-#: browser.c:1642 ++#: browser.c:1709 + msgid "Can't delete currently selected mailbox" + msgstr "无法删除当前选中的信箱" + +-#: browser.c:1646 ++#: browser.c:1713 + #, c-format + msgid "Really delete mailbox \"%s\"?" + msgstr "真的要删除 \"%s\" 信箱吗?" + +-#: browser.c:1663 ++#: browser.c:1730 + msgid "Mailbox deleted" + msgstr "信箱已删除" + +-#: browser.c:1667 ++#: browser.c:1734 + msgid "Mailbox deletion failed" + msgstr "信箱删除失败" + +-#: browser.c:1670 ++#: browser.c:1737 + msgid "Mailbox not deleted" + msgstr "信箱未删除" + +-#: browser.c:1697 ++#: browser.c:1764 + msgid "Chdir to: " + msgstr "改变目录到:" + +-#: browser.c:1747 browser.c:1808 ++#: browser.c:1814 browser.c:1875 + msgid "Error scanning directory" + msgstr "扫描目录出错" + +-#: browser.c:1769 ++#: browser.c:1836 + msgid "File Mask: " + msgstr "文件掩码:" + + #. L10N: The highlighted letters must match the "Sort" options +-#: browser.c:1831 ++#: browser.c:1898 + msgid "Reverse sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "按日期(d),字母表(a),大小(z),描述(e),计数(c),新件(w)反向排序或不反向排序(n)?" + + #. L10N: The highlighted letters must match the "Reverse Sort" options +-#: browser.c:1834 ++#: browser.c:1901 + msgid "Sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "按日期(d),字母表(a),大小(z),描述(e),计数(c),新件(w)排序或不排序(n)?" + + #. L10N: These must match the highlighted letters from "Sort" and "Reverse Sort" +-#: browser.c:1837 ++#: browser.c:1904 + msgid "dazecwn" + msgstr "dazecwn" + +-#: browser.c:1948 ++#: browser.c:2015 + msgid "New file name: " + msgstr "新文件名:" + +-#: browser.c:1976 ++#: browser.c:2043 + msgid "Can't view a directory" + msgstr "无法显示目录" + +-#: browser.c:1993 ++#: browser.c:2060 + msgid "Error trying to view file" + msgstr "尝试显示文件出错" + +-#: browser.c:2079 ++#: browser.c:2146 + #, c-format + msgid "Subscribe pattern: " + msgstr "订阅模式:" + +-#: browser.c:2081 ++#: browser.c:2148 + #, c-format + msgid "Unsubscribe pattern: " + msgstr "退订模式:" + +-#: browser.c:2101 ++#: browser.c:2169 + msgid "No newsgroups match the mask" + msgstr "没有新闻组与掩码相符" + +-#: color.c:633 color.c:644 +-#, c-format +-msgid "%s: color not supported by term" +-msgstr "%s:终端不支持显示颜色" +- +-#: color.c:652 +-#, c-format +-msgid "%s: no such color" +-msgstr "%s:没有这种颜色" +- +-#: color.c:717 color.c:740 color.c:751 color.c:842 +-#, c-format +-msgid "%s: no such object" +-msgstr "%s:没有这个对象" +- +-#: color.c:731 color.c:868 color.c:1069 color.c:1098 color.c:1122 color.c:1191 +-#: color.c:1214 hook.c:110 hook.c:124 hook.c:367 hook.c:383 init.c:612 +-#: init.c:620 init.c:709 init.c:1099 init.c:1267 init.c:1871 init.c:1929 +-#: keymap.c:1184 score.c:110 +-#, c-format +-msgid "%s: too few arguments" +-msgstr "%s:参数太少" +- +-#: color.c:1142 +-#, c-format +-msgid "%s: no such attribute" +-msgstr "%s:没有这个属性" +- +-#: color.c:1223 color.c:1329 hook.c:131 hook.c:390 init.c:1123 init.c:2133 +-#: init.c:2611 keymap.c:1116 keymap.c:1289 keymap.c:1442 keymap.c:1506 +-#: mutt_lua.c:483 score.c:119 +-#, c-format +-msgid "%s: too many arguments" +-msgstr "%s:参数太多" +- +-#: color.c:1244 +-msgid "default colors not supported" +-msgstr "不支持默认的颜色" +- +-#: color.c:1282 +-#, c-format +-msgid "Maximum quoting level is %d" +-msgstr "" +- +-#: color.c:1319 +-#, fuzzy, c-format +-msgid "%s: invalid number: %s" +-msgstr "错误:分数:无效数字" +- + #. L10N: Used for the $crypt_verify_sig prompt +-#: commands.c:230 ++#: commands.c:232 + msgid "Verify signature?" + msgstr "验证签名?" + +-#: commands.c:257 mbox/mbox.c:1236 ++#: commands.c:259 mbox/mbox.c:1236 + msgid "Could not create temporary file" + msgstr "无法创建临时文件" + +-#: commands.c:269 ++#: commands.c:271 + msgid "Can't create display filter" + msgstr "无法创建显示过滤器" + +-#: commands.c:302 ++#: commands.c:304 + msgid "Could not copy message" + msgstr "无法复制信件" + +-#: commands.c:338 ++#: commands.c:340 + msgid "S/MIME signature successfully verified" + msgstr "S/MIME 签名验证成功" + +-#: commands.c:340 ++#: commands.c:342 + msgid "S/MIME certificate owner does not match sender" + msgstr "S/MIME 证书所有者与发送者不匹配" + +-#: commands.c:343 commands.c:353 ++#: commands.c:345 commands.c:355 + msgid "Warning: Part of this message has not been signed" + msgstr "警告:此信件的部分内容未签署" + +-#: commands.c:345 ++#: commands.c:347 + msgid "S/MIME signature could NOT be verified" + msgstr "S/MIME 签名“无法”验证" + +-#: commands.c:351 ++#: commands.c:353 + msgid "PGP signature successfully verified" + msgstr "PGP 签名验证成功" + +-#: commands.c:355 ++#: commands.c:357 + msgid "PGP signature could NOT be verified" + msgstr "PGP 签名“无法”验证" + +-#: commands.c:372 compose.c:2116 compress.c:321 curs_lib.c:359 curs_lib.c:646 +-#: index.c:1235 index.c:1285 mutt_attach.c:159 mutt_attach.c:292 pager.c:2460 +-#: sendlib.c:1625 ++#: commands.c:378 compose.c:2187 compress/compress.c:320 gui/curs_lib.c:360 ++#: gui/curs_lib.c:714 index.c:1240 index.c:1290 mutt_attach.c:161 ++#: mutt_attach.c:294 pager.c:2433 sendlib.c:1624 + #, c-format + msgid "Error running \"%s\"" + msgstr "执行 \"%s\" 时出错" + +-#: commands.c:382 ++#: commands.c:388 + msgid "Command: " + msgstr "命令:" + +-#: commands.c:419 recvcmd.c:191 recvcmd.c:203 ++#: commands.c:425 recvcmd.c:190 recvcmd.c:202 + msgid "Warning: message contains no From: header" + msgstr "警告:信件未包含 From: 信件头" + +-#: commands.c:425 recvcmd.c:212 ++#: commands.c:431 recvcmd.c:211 + msgid "Bounce message to: " + msgstr "重发信件至:" + +-#: commands.c:427 recvcmd.c:214 ++#: commands.c:433 recvcmd.c:213 + msgid "Bounce tagged messages to: " + msgstr "重发已标记的信件至:" + +-#: commands.c:436 recvcmd.c:224 ++#: commands.c:442 recvcmd.c:223 + msgid "Error parsing address" + msgstr "解析地址出错" + +-#: commands.c:455 recvcmd.c:243 ++#: commands.c:461 recvcmd.c:242 + #, c-format + msgid "Bounce message to %s?" + msgid_plural "Bounce messages to %s?" + msgstr[0] "重发信件至 %s?" + +-#: commands.c:470 recvcmd.c:257 ++#: commands.c:476 recvcmd.c:257 + msgid "Message not bounced" + msgid_plural "Messages not bounced" + msgstr[0] "信件未重发" + +-#: commands.c:496 recvcmd.c:276 ++#: commands.c:502 recvcmd.c:276 + msgid "Message bounced" + msgid_plural "Messages bounced" + msgstr[0] "信件已重发" + +-#: commands.c:606 commands.c:642 commands.c:662 ++#: commands.c:612 commands.c:648 commands.c:668 + msgid "Can't create filter process" + msgstr "无法创建过滤进程" + +-#: commands.c:698 ++#: commands.c:704 + msgid "Pipe to command: " + msgstr "用管道输出至命令:" + +-#: commands.c:720 ++#: commands.c:726 + msgid "No printing command has been defined" + msgstr "未定义打印命令" + +-#: commands.c:732 ++#: commands.c:738 + msgid "Print message?" + msgstr "打印信件?" + +-#: commands.c:733 ++#: commands.c:739 + msgid "Print tagged messages?" + msgstr "打印已标记的信件?" + +-#: commands.c:739 ++#: commands.c:745 + msgid "Message printed" + msgid_plural "Messages printed" + msgstr[0] "信件已打印" + +-#: commands.c:742 ++#: commands.c:748 + msgid "Message could not be printed" + msgid_plural "Messages could not be printed" + msgstr[0] "信件无法打印" + + #. L10N: The highlighted letters must match the "Sort" options +-#: commands.c:759 ++#: commands.c:765 + msgid "Rev-Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "按日期(d)/发信人(f)/收信时间(r)/主题(s)/收信人(o)/线索(t)/不排(u)/大小(z)/分数(c)/垃圾邮件(p)/标签(l)反向排序?" + + #. L10N: The highlighted letters must match the "Rev-Sort" options +-#: commands.c:763 ++#: commands.c:769 + msgid "Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "按日期(d)/发信人(f)/收信时间(r)/主题(s)/收信人(o)/线索(t)/不排(u)/大小(z)/分数(c)/垃圾邮件(p)/标签(l)反向排序?" + + #. L10N: These must match the highlighted letters from "Sort" and "Rev-Sort" +-#: commands.c:767 ++#: commands.c:773 + msgid "dfrsotuzcpl" + msgstr "dfrsotuzcpl" + +-#: commands.c:831 ++#: commands.c:837 + msgid "Shell command: " + msgstr "Shell 指令:" + +-#: commands.c:1036 ++#: commands.c:1042 + msgid "Decode-save to mailbox" + msgstr "解码保存到信箱" + +-#: commands.c:1036 ++#: commands.c:1042 + msgid "Decode-save tagged to mailbox" + msgstr "解码保存已标记的信件到信箱" + +-#: commands.c:1038 ++#: commands.c:1044 + msgid "Decrypt-save to mailbox" + msgstr "解密保存到信箱" + +-#: commands.c:1038 ++#: commands.c:1044 + msgid "Decrypt-save tagged to mailbox" + msgstr "解密保存已标记的信件到信箱" + +-#: commands.c:1040 ++#: commands.c:1046 + msgid "Save to mailbox" + msgstr "保存到信箱" + +-#: commands.c:1040 ++#: commands.c:1046 + msgid "Save tagged to mailbox" + msgstr "保存已标记的信件到信箱" + +-#: commands.c:1045 ++#: commands.c:1051 + msgid "Decode-copy to mailbox" + msgstr "解码复制到信箱" + +-#: commands.c:1045 ++#: commands.c:1051 + msgid "Decode-copy tagged to mailbox" + msgstr "解码复制已标记的信件到信箱" + +-#: commands.c:1047 ++#: commands.c:1053 + msgid "Decrypt-copy to mailbox" + msgstr "解密复制到信箱" + +-#: commands.c:1047 ++#: commands.c:1053 + msgid "Decrypt-copy tagged to mailbox" + msgstr "解密复制已标记的信件到信箱" + +-#: commands.c:1049 ++#: commands.c:1055 + msgid "Copy to mailbox" + msgstr "复制到信箱" + +-#: commands.c:1049 ++#: commands.c:1055 + msgid "Copy tagged to mailbox" + msgstr "复制已标记的信件到信箱" + +-#: commands.c:1092 ++#: commands.c:1098 + #, c-format + msgid "Copying to %s..." + msgstr "正在复制到 %s..." + + #. L10N: e.g. "text/plain; charset=UTF-8; ..." +-#: commands.c:1257 ++#: commands.c:1263 + msgid "Content type is too long" + msgstr "内容类型过长" + +-#: commands.c:1281 ++#: commands.c:1290 + #, c-format + msgid "Convert to %s upon sending?" + msgstr "发送时转换为 %s?" + +-#: commands.c:1292 ++#: commands.c:1301 + #, c-format + msgid "Content-Type changed to %s" + msgstr "内容类型(Content-Type)改变为 %s" + +-#: commands.c:1297 ++#: commands.c:1306 + #, c-format + msgid "Character set changed to %s; not converting" + msgstr "字符集改变为 %s;不进行转换" + +-#: commands.c:1298 ++#: commands.c:1307 + #, c-format + msgid "Character set changed to %s; converting" + msgstr "字符集改变为 %s;正在转换" + +-#: compose.c:99 ++#: command_parse.c:83 command_parse.c:211 command_parse.c:219 ++#: command_parse.c:740 command_parse.c:887 command_parse.c:1491 ++#: command_parse.c:1549 gui/color.c:731 gui/color.c:868 gui/color.c:1069 ++#: gui/color.c:1098 gui/color.c:1122 gui/color.c:1191 gui/color.c:1214 ++#: hook.c:110 hook.c:124 hook.c:372 hook.c:388 keymap.c:1182 score.c:110 ++#, c-format ++msgid "%s: too few arguments" ++msgstr "%s:参数太少" ++ ++#: command_parse.c:394 ++msgid "-group: no group name" ++msgstr "-group:无组名称" ++ ++#: command_parse.c:404 ++msgid "out of arguments" ++msgstr "参数不够" ++ ++#: command_parse.c:445 command_parse.c:1372 ++#, c-format ++msgid "Error: Can't build path of '%s'" ++msgstr "错误:无法构建“%s”的路径" ++ ++#: command_parse.c:458 ++#, c-format ++msgid "Error: Cyclic sourcing of configuration file '%s'" ++msgstr "错误:循环读取配置文件“%s”" ++ ++#: command_parse.c:491 ++#, c-format ++msgid "Error in %s, line %d: %s" ++msgstr "%s 发生错误,第 %d 行:%s" ++ ++#: command_parse.c:502 ++#, c-format ++msgid "Warning in %s, line %d: %s" ++msgstr "%s 出现警告,第 %d 行:%s" ++ ++#: command_parse.c:526 ++#, c-format ++msgid "source: errors in %s" ++msgstr "source:%s 中有错误" ++ ++#: command_parse.c:526 ++#, c-format ++msgid "source: reading aborted due to too many errors in %s" ++msgstr "source:读取因 %s 中错误过多而中止" ++ ++#: command_parse.c:535 ++#, c-format ++msgid "source: %d warning in %s" ++msgid_plural "source: %d warnings in %s" ++msgstr[0] "source:%2$s 中出现 %1$d 个警告" ++ ++#: command_parse.c:564 ++msgid "alias: no address" ++msgstr "别名:没有邮件地址" ++ ++#: command_parse.c:606 ++#, c-format ++msgid "Warning: Bad IDN '%s' in alias '%s'" ++msgstr "警告:错误的 IDN '%s' 在别名 '%s' 中" ++ ++#: command_parse.c:684 ++msgid "attachments: no disposition" ++msgstr "附件:无处理方式" ++ ++#: command_parse.c:695 ++msgid "Current attachments settings:" ++msgstr "当前附件设置:" ++ ++#: command_parse.c:725 ++msgid "attachments: invalid disposition" ++msgstr "附件:无效的处理方式" ++ ++#: command_parse.c:764 command_parse.c:1753 command_parse.c:2205 ++#: gui/color.c:1223 gui/color.c:1329 hook.c:131 hook.c:395 keymap.c:1114 ++#: keymap.c:1287 keymap.c:1440 keymap.c:1504 mutt_lua.c:485 score.c:119 ++#, c-format ++msgid "%s: too many arguments" ++msgstr "%s:参数太多" ++ ++#: command_parse.c:801 ++#, c-format ++msgid "%sgroup: missing -rx or -addr" ++msgstr "%sgroup:缺少 -rx 或 -addr" ++ ++#: command_parse.c:827 ++#, c-format ++msgid "%sgroup: warning: bad IDN '%s'" ++msgstr "%sgroup:警告:错误的 IDN '%s'" ++ ++#: command_parse.c:898 ++#, c-format ++msgid "Error: %s" ++msgstr "错误:%s" ++ ++#: command_parse.c:1065 ++msgid "invalid header field" ++msgstr "无效的信件头域" ++ ++#: command_parse.c:1331 command_parse.c:1435 ++#, c-format ++msgid "%s: unknown variable" ++msgstr "%s:未知的变量" ++ ++#: command_parse.c:1528 ++#, c-format ++msgid "%s is unset" ++msgstr "%s 没有被设定" ++ ++#: command_parse.c:1573 mutt_lua.c:480 ++#, c-format ++msgid "source: error at %s" ++msgstr "source:%s 有错误" ++ ++#: command_parse.c:1581 ++#, c-format ++msgid "source: file %s could not be sourced" ++msgstr "source:文件 %s 无法被加载" ++ ++#: command_parse.c:1604 ++msgid "spam: no matching pattern" ++msgstr "垃圾邮件:无匹配的模式" ++ ++#: command_parse.c:1606 ++msgid "nospam: no matching pattern" ++msgstr "去掉垃圾邮件:无匹配的模式" ++ ++#: command_parse.c:1762 imap/imap.c:1443 ++#, c-format ++msgid "Subscribed to %s" ++msgstr "已订阅 %s" ++ ++#: command_parse.c:1766 ++#, c-format ++msgid "Could not subscribe to %s" ++msgstr "无法订阅 %s" ++ ++#: command_parse.c:1774 command_parse.c:2226 ++msgid "No folder specified" ++msgstr "没有指定文件夹" ++ ++#: command_parse.c:1943 ++msgid "unattachments: no disposition" ++msgstr "去掉附件:无处理方式" ++ ++#: command_parse.c:1981 ++msgid "unattachments: invalid disposition" ++msgstr "去掉附件:无效的处理方式" ++ ++#: command_parse.c:2214 imap/imap.c:1445 ++#, c-format ++msgid "Unsubscribed from %s" ++msgstr "已退订 %s" ++ ++#: command_parse.c:2218 ++#, c-format ++msgid "Could not unsubscribe from %s" ++msgstr "无法退订 %s" ++ ++#: compose.c:97 + msgid "There are no attachments" + msgstr "没有附件" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:166 ++#: compose.c:164 + msgid "From: " + msgstr "From: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:168 send.c:284 ++#: compose.c:166 send.c:284 + msgid "To: " + msgstr "To: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:170 send.c:286 ++#: compose.c:168 send.c:286 + msgid "Cc: " + msgstr "Cc: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:172 send.c:288 ++#: compose.c:170 send.c:288 + msgid "Bcc: " + msgstr "Bcc: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:174 compose.c:1242 send.c:320 ++#: compose.c:172 compose.c:1302 send.c:320 + msgid "Subject: " + msgstr "Subject: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:176 ++#: compose.c:174 + msgid "Reply-To: " + msgstr "回复给: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:178 compose.c:1261 ++#: compose.c:176 compose.c:1321 + msgid "Fcc: " + msgstr "Fcc: " + + #. L10N: "Mix" refers to the MixMaster chain for anonymous email +-#: compose.c:181 ++#: compose.c:179 + msgid "Mix: " + msgstr "混合模式:" + + #. L10N: Compose menu field. Holds "Encrypt", "Sign" related information +-#: compose.c:184 ++#: compose.c:182 + msgid "Security: " + msgstr "安全:" + +@@ -871,75 +1006,75 @@ msgstr "安全:" + #. it should not be longer than the other compose menu fields. + #. Since it shares the row with "Encrypt with:", it should not be longer + #. than 15-20 character cells. +-#: compose.c:192 ncrypt/crypt_gpgme.c:5602 ncrypt/pgp.c:1974 +-#: ncrypt/smime.c:2395 ++#: compose.c:190 ncrypt/crypt_gpgme.c:5682 ncrypt/pgp.c:1976 ++#: ncrypt/smime.c:2429 + msgid "Sign as: " + msgstr "选择身份签署:" + + #. L10N: The compose menu autocrypt line +-#: compose.c:195 ++#: compose.c:193 + msgid "Autocrypt: " + msgstr "Autocrypt: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:199 ++#: compose.c:197 + msgid "Newsgroups: " + msgstr "新闻组:" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:201 ++#: compose.c:199 + msgid "Followup-To: " + msgstr "Followup-To: " + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:203 ++#: compose.c:201 + msgid "X-Comment-To: " + msgstr "X-Comment-To: " + +-#: compose.c:208 compose.c:224 ++#: compose.c:206 compose.c:222 + msgid "Send" + msgstr "寄出" + +-#: compose.c:209 compose.c:225 remailer.c:77 ++#: compose.c:207 compose.c:223 remailer.c:75 + msgid "Abort" + msgstr "中止" + + #. L10N: compose menu help line entry +-#: compose.c:211 ++#: compose.c:209 + msgid "To" + msgstr "发送给" + + #. L10N: compose menu help line entry +-#: compose.c:213 ++#: compose.c:211 + msgid "CC" + msgstr "抄送" + + #. L10N: compose menu help line entry +-#: compose.c:215 compose.c:227 ++#: compose.c:213 compose.c:225 + msgid "Subj" + msgstr "主题" + +-#: compose.c:216 compose.c:228 compose.c:1556 ++#: compose.c:214 compose.c:226 compose.c:1616 + msgid "Attach file" + msgstr "附加文件" + +-#: compose.c:217 compose.c:229 ++#: compose.c:215 compose.c:227 + msgid "Descrip" + msgstr "描述" + +-#: compose.c:226 ++#: compose.c:224 + msgid "Newsgroups" + msgstr "新闻组" + + #. L10N: Autocrypt recommendation flag: off. + #. * This is displayed when Autocrypt is turned off. +-#: compose.c:239 compose.c:473 ++#: compose.c:237 compose.c:472 + msgid "Off" + msgstr "Off" + + #. L10N: Autocrypt recommendation flag: no. + #. * This is displayed when Autocrypt cannot encrypt to the recipients. +-#: compose.c:242 ++#: compose.c:240 + msgid "No" + msgstr "No" + +@@ -947,7 +1082,7 @@ msgstr "No" + #. * This is displayed when Autocrypt believes encryption should not be used. + #. * This might occur if one of the recipient Autocrypt Keys has not been + #. * used recently, or if the only key available is a Gossip Header key. +-#: compose.c:247 ++#: compose.c:245 + msgid "Discouraged" + msgstr "Discouraged" + +@@ -955,7 +1090,7 @@ msgstr "Discouraged" + #. * This is displayed when Autocrypt believes encryption is possible, but + #. * leaves enabling it up to the sender. Probably because "prefer encrypt" + #. * is not set in both the sender and recipient keys. +-#: compose.c:252 ++#: compose.c:250 + msgid "Available" + msgstr "Available" + +@@ -963,7 +1098,7 @@ msgstr "Available" + #. L10N: Autocrypt recommendation flag: yes. + #. * This is displayed when Autocrypt would normally enable encryption + #. * automatically. +-#: compose.c:256 ++#: compose.c:254 + msgid "Yes" + msgstr "Yes" + +@@ -973,7 +1108,7 @@ msgstr "Yes" + #. (c)lear sets cleartext. + #. (a)utomatic defers to the recommendation. + #. +-#: compose.c:338 ++#: compose.c:337 + msgid "Autocrypt: (e)ncrypt, (c)lear, (a)utomatic?" + msgstr "Autocrypt: 加密(e),清除(c),自动(a)?" + +@@ -981,51 +1116,51 @@ msgstr "Autocrypt: 加密(e),清除(c),自动(a)?" + #. The letter corresponding to the compose menu autocrypt prompt + #. (e)ncrypt, (c)lear, (a)utomatic + #. +-#: compose.c:346 ++#: compose.c:345 + msgid "eca" + msgstr "eca" + +-#: compose.c:383 ++#: compose.c:382 + msgid "Not supported" + msgstr "不支持" + +-#: compose.c:390 ++#: compose.c:389 + msgid "Sign, Encrypt" + msgstr "签名,加密" + +-#: compose.c:395 compose.c:468 ++#: compose.c:394 compose.c:467 + msgid "Encrypt" + msgstr "加密" + +-#: compose.c:400 ++#: compose.c:399 + msgid "Sign" + msgstr "签名" + +-#: compose.c:406 ++#: compose.c:405 + msgid "None" + msgstr "无操作" + +-#: compose.c:415 ++#: compose.c:414 + msgid " (inline PGP)" + msgstr " (嵌入 PGP)" + +-#: compose.c:417 ++#: compose.c:416 + msgid " (PGP/MIME)" + msgstr " (PGP/MIME)" + +-#: compose.c:420 ++#: compose.c:419 + msgid " (S/MIME)" + msgstr " (S/MIME)" + +-#: compose.c:424 ++#: compose.c:423 + msgid " (OppEnc mode)" + msgstr "(OppEnc 模式)" + +-#: compose.c:436 compose.c:445 ++#: compose.c:435 compose.c:444 + msgid "" + msgstr "<默认值>" + +-#: compose.c:452 ++#: compose.c:451 + msgid "Encrypt with: " + msgstr "加密采用:" + +@@ -1034,11 +1169,11 @@ msgstr "加密采用:" + #. Displays the output of the recommendation engine + #. (Off, No, Discouraged, Available, Yes) + #. +-#: compose.c:483 ++#: compose.c:482 + msgid "Recommendation: " + msgstr "Recommendation: " + +-#: compose.c:547 ++#: compose.c:546 + msgid "" + msgstr "没有列表被定义" + +@@ -1049,7 +1184,7 @@ msgstr "没有列表被定义" + #. The filename is located last to avoid a long path hiding the + #. error message. + #. +-#: compose.c:601 ++#: compose.c:600 + #, fuzzy, c-format + msgid "Attachment #%d no longer exists: %s" + msgstr "%s [#%d] 已不存在" +@@ -1061,231 +1196,350 @@ msgstr "%s [#%d] 已不存在" + #. The filename is located last to avoid a long path hiding the + #. prompt question. + #. +-#: compose.c:621 ++#: compose.c:620 + #, fuzzy, c-format + msgid "Attachment #%d modified. Update encoding for %s?" + msgstr "%s [#%d] 已修改。更新编码?" + +-#: compose.c:716 ++#: compose.c:715 + msgid "-- Attachments" + msgstr "-- 附件" + +-#: compose.c:770 ++#: compose.c:769 + msgid "You may not delete the only attachment" + msgstr "您不可以删除唯一的附件" + +-#: compose.c:1296 edit.c:538 send.c:2462 ++#: compose.c:1356 edit.c:536 send.c:2473 + #, c-format + msgid "Bad IDN in '%s': '%s'" + msgstr "在 '%s' 中有错误的 IDN:'%s'" + +-#: compose.c:1347 ++#: compose.c:1407 + msgid "Attachment is already at top" + msgstr "附件已在顶部" + +-#: compose.c:1352 compose.c:1368 ++#: compose.c:1412 compose.c:1428 + msgid "The fundamental part can't be moved" + msgstr "不能移动基础部分" + +-#: compose.c:1363 ++#: compose.c:1423 + msgid "Attachment is already at bottom" + msgstr "附件已在底部" + +-#: compose.c:1381 ++#: compose.c:1441 + msgid "Grouping 'alternatives' requires at least 2 tagged messages" + msgstr "组合备选部分需要至少标记两个信件" + +-#: compose.c:1462 ++#: compose.c:1522 + msgid "Grouping 'multilingual' requires at least 2 tagged messages" + msgstr "组合多语言部分需要至少标记两个信件" + +-#: compose.c:1475 ++#: compose.c:1535 + msgid "Not all parts have 'Content-Language' set, continue?" + msgstr "有些部分没有设置 'Content-Language' ,是否继续?" + +-#: compose.c:1477 ++#: compose.c:1537 + msgid "Not sending this message" + msgstr "未发送此信件" + +-#: compose.c:1571 ++#: compose.c:1631 + msgid "Attaching selected file..." + msgid_plural "Attaching selected files..." + msgstr[0] "正在附加已选择的文件..." + +-#: compose.c:1585 ++#: compose.c:1645 + #, c-format + msgid "Unable to attach %s" + msgstr "无法附加 %s" + +-#: compose.c:1606 ++#: compose.c:1666 + msgid "Open mailbox to attach message from" + msgstr "打开信箱并从中附加信件" + +-#: compose.c:1616 ++#: compose.c:1676 + msgid "Open newsgroup to attach message from" + msgstr "打开新闻组并从中附加信件" + +-#: compose.c:1667 ++#: compose.c:1730 + #, c-format + msgid "Unable to open mailbox %s" + msgstr "无法打开信箱 %s" + +-#: compose.c:1676 ++#: compose.c:1739 + msgid "No messages in that folder" + msgstr "这个文件夹中没有信件" + +-#: compose.c:1686 ++#: compose.c:1749 + msgid "Tag the messages you want to attach" + msgstr "请标记您要附加的信件" + +-#: compose.c:1715 ++#: compose.c:1785 + msgid "Unable to attach" + msgstr "无法附加" + +-#: compose.c:1752 ++#: compose.c:1822 + msgid "Recoding only affects text attachments" + msgstr "重新编码只对文本附件有效" + +-#: compose.c:1757 ++#: compose.c:1827 + msgid "The current attachment won't be converted" + msgstr "当前附件不会被转换" + +-#: compose.c:1759 ++#: compose.c:1829 + msgid "The current attachment will be converted" + msgstr "当前附件将被转换" + +-#: compose.c:1831 ++#: compose.c:1901 + msgid "Empty 'Content-Language'" + msgstr "空的 'Content-Language'" + +-#: compose.c:1849 ++#: compose.c:1920 + msgid "Invalid encoding" + msgstr "无效的编码" + +-#: compose.c:1871 ++#: compose.c:1942 + msgid "Save a copy of this message?" + msgstr "保存这封信件的副本吗?" + +-#: compose.c:1924 ++#: compose.c:1995 + msgid "Send attachment with name: " + msgstr "使用什么名字发送附件:" + +-#: compose.c:1939 ++#: compose.c:2010 + msgid "Rename to: " + msgstr "重命名为:" + + #. L10N: "stat" is a system call. Do "man 2 stat" for more information. +-#: compose.c:1946 editmsg.c:102 editmsg.c:138 sendlib.c:1050 ++#: compose.c:2017 editmsg.c:102 editmsg.c:138 sendlib.c:1049 + #, c-format + msgid "Can't stat %s: %s" + msgstr "无法 stat %s:%s" + +-#: compose.c:1966 ++#: compose.c:2037 + msgid "New file: " + msgstr "新文件:" + +-#: compose.c:1984 ++#: compose.c:2055 + msgid "Content-Type is of the form base/sub" + msgstr "内容类型(Content-Type)的格式是 base/sub" + +-#: compose.c:1991 ++#: compose.c:2062 + #, c-format + msgid "Unknown Content-Type %s" + msgstr "未知的内容类型(Content-Type) %s" + +-#: compose.c:1999 ++#: compose.c:2070 + #, c-format + msgid "Can't create file %s" + msgstr "无法创建文件 %s" + +-#: compose.c:2008 ++#: compose.c:2079 + msgid "What we have here is a failure to make an attachment" + msgstr "目前情况是我们无法加上附件" + +-#: compose.c:2073 ++#: compose.c:2144 + msgid "Save (postpone) draft message?" + msgstr "要保存(延迟寄出的)信件草稿吗?" + +-#: compose.c:2133 ++#: compose.c:2204 + msgid "Write message to mailbox" + msgstr "将信件写入到信箱" + +-#: compose.c:2136 ++#: compose.c:2207 + #, c-format + msgid "Writing message to %s ..." + msgstr "写入信件到 %s ..." + +-#: compose.c:2143 ++#: compose.c:2214 + msgid "Message written" + msgstr "信件已写入" + +-#: compose.c:2154 ++#: compose.c:2225 + msgid "No PGP backend configured" + msgstr "未配置 PGP 后端" + +-#: compose.c:2161 compose.c:2225 ++#: compose.c:2232 compose.c:2296 + msgid "S/MIME already selected. Clear and continue?" + msgstr "已经选择了 S/MIME 。清除并继续?" + +-#: compose.c:2186 ++#: compose.c:2257 + msgid "No S/MIME backend configured" + msgstr "未配置 S/MIME 后端" + +-#: compose.c:2194 ++#: compose.c:2265 + msgid "PGP already selected. Clear and continue?" + msgstr "已经选择了 PGP。清除并继续?" + +-#: compress.c:355 compress.c:499 ++#: compress/compress.c:354 compress/compress.c:498 + #, c-format + msgid "Can't append without an append-hook or close-hook : %s" + msgstr "没有 append-hook 或者 close-hook 无法追加 : %s" + +-#: compress.c:444 compress.c:511 compress.c:590 compress.c:628 mbox/mbox.c:1208 ++#: compress/compress.c:443 compress/compress.c:510 compress/compress.c:589 ++#: compress/compress.c:627 mbox/mbox.c:1208 + msgid "Unable to lock mailbox" + msgstr "无法锁住信箱" + +-#: compress.c:448 compress.c:518 compress.c:594 ++#: compress/compress.c:447 compress/compress.c:517 compress/compress.c:593 + #, c-format + msgid "Decompressing %s" + msgstr "正在解压 %s" + +-#: compress.c:457 ++#: compress/compress.c:456 + msgid "Can't identify the contents of the compressed file" + msgstr "不能鉴别这个被压缩文件的内容" + +-#: compress.c:464 compress.c:539 ++#: compress/compress.c:463 compress/compress.c:538 + #, c-format + msgid "Can't find mailbox ops for mailbox type %d" + msgstr "没有找到对应信箱类型的操作 %d" + +-#: compress.c:521 ++#: compress/compress.c:520 + #, c-format + msgid "Compress command failed: %s" + msgstr "压缩命令失败:%s" + +-#: compress.c:532 ++#: compress/compress.c:531 + msgid "Unsupported mailbox type for appending" + msgstr "追加操作不支持的信箱类型" + +-#: compress.c:618 ++#: compress/compress.c:617 + msgid "Can't sync a compressed file without a close-hook" + msgstr "没有一个 close-hook 无法同步一件压缩文件" + +-#: compress.c:640 compress.c:692 ++#: compress/compress.c:639 compress/compress.c:691 + #, c-format + msgid "Compressing %s" + msgstr "正在压缩中 %s" + +-#: compress.c:687 ++#: compress/compress.c:686 + #, c-format + msgid "Compressed-appending to %s..." + msgstr "正在压缩到 %s..." + +-#: compress.c:699 editmsg.c:247 ++#: compress/compress.c:698 editmsg.c:247 + #, c-format + msgid "Error. Preserving temporary file: %s" + msgstr "错误。保留临时文件:%s" + ++#: config/bool.c:70 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %s" ++msgstr "无效的相对日期:%s" ++ ++#: config/bool.c:131 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %ld" ++msgstr "无效的相对日期:%s" ++ ++#: config/enum.c:62 ++#, fuzzy, c-format ++msgid "Invalid enum value: %s" ++msgstr "错误:分数:无效数字" ++ ++#: config/enum.c:149 ++#, fuzzy, c-format ++msgid "Invalid enum value: %ld" ++msgstr "选项 %s 的值无效:“%ld”" ++ ++#: config/long.c:50 ++#, fuzzy, c-format ++msgid "Invalid long: %s" ++msgstr "无效的月份:%s" ++ ++#: config/long.c:56 config/long.c:114 config/number.c:68 config/number.c:133 ++#, fuzzy, c-format ++msgid "Option %s may not be negative" ++msgstr "不能从分页器设置或重置选项 %s" ++ ++#: config/number.c:49 config/sort.c:145 config/string.c:75 config/string.c:159 ++#, fuzzy, c-format ++msgid "Option %s may not be empty" ++msgstr "不能从分页器设置或重置选项 %s" ++ ++#: config/number.c:56 ++#, fuzzy, c-format ++msgid "Invalid number: %s" ++msgstr "错误:分数:无效数字" ++ ++#: config/number.c:62 ++#, c-format ++msgid "Number is too big: %s" ++msgstr "" ++ ++#: config/number.c:127 ++#, fuzzy, c-format ++msgid "Invalid number: %ld" ++msgstr "错误:分数:无效数字" ++ ++#: config/quad.c:69 ++#, fuzzy, c-format ++msgid "Invalid quad value: %s" ++msgstr "无效的相对日期:%s" ++ ++#: config/quad.c:133 ++#, fuzzy, c-format ++msgid "Invalid quad value: %ld" ++msgstr "选项 %s 的值无效:“%ld”" ++ ++#: config/set.c:102 ++#, c-format ++msgid "No such variable: %s" ++msgstr "" ++ ++#: config/set.c:134 config/set.c:821 ++#, fuzzy, c-format ++msgid "Variable '%s' has an invalid type %d" ++msgstr "错误:变量'%s'对于 -d 来说无效" ++ ++#: config/set.c:399 config/set.c:463 config/set.c:528 config/set.c:601 ++#: config/set.c:671 config/set.c:744 ++#, fuzzy, c-format ++msgid "Unknown variable '%s'" ++msgstr "%s:未知的变量" ++ ++#: config/sort.c:192 ++#, fuzzy, c-format ++msgid "Invalid sort name: %s" ++msgstr "无效的相对日期:%s" ++ ++#: config/sort.c:322 ++#, fuzzy, c-format ++msgid "Invalid sort type: %ld" ++msgstr "无效的相对日期:%s" ++ ++#. L10N: Example: Username at myhost.com ++#: conn/connaccount.c:61 ++#, c-format ++msgid "Username at %s: " ++msgstr "在 %s 的用户名:" ++ ++#: conn/connaccount.c:117 ++#, c-format ++msgid "Password for %s@%s: " ++msgstr "%s@%s 的密码:" ++ ++#. L10N: You will see this error message if (1) you have "oauthbearer" in ++#. one of your $*_authenticators and (2) you do not have the corresponding ++#. $*_oauth_refresh_command defined. So the message does not mean "None of ++#. your $*_oauth_refresh_command's are defined." ++#: conn/connaccount.c:165 ++msgid "No OAUTH refresh command defined" ++msgstr "OAUTH 刷新命令未定义" ++ ++#: conn/connaccount.c:173 ++msgid "Unable to run refresh command" ++msgstr "无法运行刷新命令" ++ ++#: conn/connaccount.c:184 ++msgid "Command returned empty string" ++msgstr "命令返回了空字符串" ++ ++#: conn/connaccount.c:191 ++#, c-format ++msgid "OAUTH token is too big: %ld" ++msgstr "" ++ + #: conn/conn_raw.c:160 conn/conn_raw.c:218 + #, c-format + msgid "Looking up %s..." +@@ -1306,7 +1560,7 @@ msgstr "正在连接到 %s..." + msgid "Could not connect to %s (%s)" + msgstr "无法连接到 %s (%s)" + +-#: conn/conn_raw.c:260 conn/ssl.c:1230 curs_lib.c:568 mutt_logging.c:149 ++#: conn/conn_raw.c:260 conn/ssl.c:1245 gui/curs_lib.c:569 mutt_logging.c:147 + msgid "unknown error" + msgstr "未知错误" + +@@ -1320,23 +1574,23 @@ msgstr "与 %s 通话出错(%s)" + msgid "Connection to %s has been aborted" + msgstr "到 %s 的连接已关闭" + +-#: conn/sasl.c:565 ++#: conn/sasl.c:547 + msgid "Unknown SASL profile" + msgstr "未知的 SASL 配置" + +-#: conn/sasl.c:598 ++#: conn/sasl.c:580 + msgid "Error allocating SASL connection" + msgstr "分配 SASL 连接时出错" + +-#: conn/sasl.c:608 ++#: conn/sasl.c:590 + msgid "Error setting SASL security properties" + msgstr "设置 SASL 安全属性时出错" + +-#: conn/sasl.c:619 ++#: conn/sasl.c:601 + msgid "Error setting SASL external security strength" + msgstr "设置 SASL 外部安全强度时出错" + +-#: conn/sasl.c:629 ++#: conn/sasl.c:611 + msgid "Error setting SASL external user name" + msgstr "设置 SASL 外部用户名时出错" + +@@ -1349,132 +1603,108 @@ msgstr "预连接命令失败" + msgid "Connection to %s closed" + msgstr "到 %s 的连接已关闭" + +-#: conn/ssl.c:237 ++#: conn/ssl.c:222 + #, c-format + msgid "Filling entropy pool: %s..." + msgstr "正在填充熵池:%s..." + +-#: conn/ssl.c:243 ++#: conn/ssl.c:228 + #, c-format + msgid "%s has insecure permissions" + msgstr "%s 有不安全的访问许可" + +-#: conn/ssl.c:385 ++#: conn/ssl.c:369 + msgid "SSL disabled due to the lack of entropy" + msgstr "SSL 因缺少足够的熵而被禁用" + +-#: conn/ssl.c:402 ++#: conn/ssl.c:386 + msgid "Unknown" + msgstr "未知" + +-#: conn/ssl.c:421 conn/ssl_gnutls.c:186 ++#: conn/ssl.c:405 conn/ssl_gnutls.c:188 + #, c-format + msgid "[unable to calculate]" + msgstr "[无法计算]" + +-#: conn/ssl.c:446 ++#: conn/ssl.c:430 + msgid "[invalid date]" + msgstr "[无效日期]" + +-#: conn/ssl.c:506 ++#: conn/ssl.c:490 + msgid "Server certificate is not yet valid" + msgstr "服务器证书尚未有效" + +-#: conn/ssl.c:516 ++#: conn/ssl.c:500 + msgid "Server certificate has expired" + msgstr "服务器证书已过期" + +-#: conn/ssl.c:605 ++#: conn/ssl.c:589 + msgid "Failed to find enough entropy on your system" + msgstr "在您的系统上查找足够的熵时失败" + +-#: conn/ssl.c:799 ++#: conn/ssl.c:783 + msgid "can't get certificate subject" + msgstr "无法获取证书主题" + +-#: conn/ssl.c:808 conn/ssl.c:816 ++#: conn/ssl.c:792 conn/ssl.c:800 + msgid "can't get certificate common name" + msgstr "无法获取证书通用名称" + +-#: conn/ssl.c:830 ++#: conn/ssl.c:814 + #, c-format + msgid "certificate owner does not match hostname %s" + msgstr "证书所有者与主机名称 %s 不匹配" + +-#: conn/ssl.c:904 conn/ssl_gnutls.c:539 ++#: conn/ssl.c:917 conn/ssl_gnutls.c:570 + msgid "This certificate belongs to:" + msgstr "此证书属于:" + +-#: conn/ssl.c:913 conn/ssl_gnutls.c:593 ++#: conn/ssl.c:926 conn/ssl_gnutls.c:624 + msgid "This certificate was issued by:" + msgstr "此证书发布自:" + +-#: conn/ssl.c:922 conn/ssl_gnutls.c:604 ++#: conn/ssl.c:935 conn/ssl_gnutls.c:635 + msgid "This certificate is valid" + msgstr "此证书有效" + +-#: conn/ssl.c:923 conn/ssl_gnutls.c:608 ++#: conn/ssl.c:936 conn/ssl_gnutls.c:639 + #, c-format + msgid " from %s" + msgstr " 来自 %s" + +-#: conn/ssl.c:925 conn/ssl_gnutls.c:612 ++#: conn/ssl.c:938 conn/ssl_gnutls.c:643 + #, c-format + msgid " to %s" + msgstr " 发往 %s" + +-#: conn/ssl.c:931 conn/ssl_gnutls.c:617 ++#: conn/ssl.c:944 conn/ssl_gnutls.c:648 + #, c-format + msgid "SHA1 Fingerprint: %s" + msgstr "SHA1 指纹:%s" + +-#: conn/ssl.c:937 conn/ssl.c:940 conn/ssl_gnutls.c:623 conn/ssl_gnutls.c:625 ++#: conn/ssl.c:950 conn/ssl.c:953 conn/ssl_gnutls.c:654 conn/ssl_gnutls.c:656 + msgid "SHA256 Fingerprint: " + msgstr "SHA256 指纹:" + +-#: conn/ssl.c:944 conn/ssl_gnutls.c:664 ++#: conn/ssl.c:957 conn/ssl_gnutls.c:695 + #, c-format + msgid "SSL Certificate check (certificate %zu of %zu in chain)" + msgstr "SSL 证书检查 (检查链中有 %zu 个证书,共 %zu 个)" + +-#. L10N: These four letters correspond to the choices in the next four strings: +-#. (r)eject, accept (o)nce, (a)ccept always, (s)kip. +-#. These prompts are the interactive certificate confirmation prompts for +-#. an OpenSSL connection. +-#: conn/ssl.c:964 +-msgid "roas" +-msgstr "roas" +- +-#: conn/ssl.c:968 +-msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" +-msgstr "拒绝(r),接受一次(o),总是接受(a),跳过(s)" +- +-#: conn/ssl.c:970 conn/ssl_gnutls.c:671 +-msgid "(r)eject, accept (o)nce, (a)ccept always" +-msgstr "拒绝(r),接受一次(o),总是接受(a)" +- +-#: conn/ssl.c:975 +-msgid "(r)eject, accept (o)nce, (s)kip" +-msgstr "拒绝(r),接受一次(o),跳过(s)" +- +-#: conn/ssl.c:977 conn/ssl_gnutls.c:680 +-msgid "(r)eject, accept (o)nce" +-msgstr "拒绝(r),接受一次(o)" +- +-#: conn/ssl.c:981 conn/ssl_gnutls.c:689 ncrypt/crypt_gpgme.c:4729 +-#: ncrypt/pgpkey.c:664 ncrypt/smime.c:549 ++#: conn/ssl.c:994 conn/ssl_gnutls.c:720 ncrypt/crypt_gpgme.c:4777 ++#: ncrypt/pgpkey.c:667 ncrypt/smime.c:551 + msgid "Exit " + msgstr "退出 " + +-#: conn/ssl.c:1016 conn/ssl_gnutls.c:742 ++#: conn/ssl.c:1029 conn/ssl_gnutls.c:773 + msgid "Warning: Couldn't save certificate" + msgstr "警告:无法保存证书" + +-#: conn/ssl.c:1020 conn/ssl_gnutls.c:746 ++#: conn/ssl.c:1033 conn/ssl_gnutls.c:777 + msgid "Certificate saved" + msgstr "证书已保存" + +-#: conn/ssl.c:1132 ++#: conn/ssl.c:1147 + #, c-format + msgid "Certificate host check failed: %s" + msgstr "证书主机检查失败:%s" +@@ -1482,15 +1712,15 @@ msgstr "证书主机检查失败:%s" + #. L10N: This is a warning when trying to set the host name for + #. * TLS Server Name Indication (SNI). This allows the server to present + #. * the correct certificate if it supports multiple hosts. +-#: conn/ssl.c:1213 conn/ssl_gnutls.c:1072 ++#: conn/ssl.c:1228 conn/ssl_gnutls.c:1105 + msgid "Warning: unable to set TLS SNI host name" + msgstr "警告:无法设置 TLS SNI 主机名" + +-#: conn/ssl.c:1224 ++#: conn/ssl.c:1239 + msgid "I/O error" + msgstr "输入输出(I/O)出错" + +-#: conn/ssl.c:1233 ++#: conn/ssl.c:1248 + #, c-format + msgid "SSL failed: %s" + msgstr "SSL 失败:%s" +@@ -1498,89 +1728,73 @@ msgstr "SSL 失败:%s" + #. L10N: an SSL context is a data structure returned by the OpenSSL + #. function SSL_CTX_new(). In this case it returned NULL: an + #. error condition. +-#: conn/ssl.c:1269 ++#: conn/ssl.c:1284 + msgid "Unable to create SSL context" + msgstr "无法创建 SSL 上下文" + +-#: conn/ssl.c:1322 ++#: conn/ssl.c:1337 + msgid "Warning: error enabling ssl_verify_partial_chains" + msgstr "警告:启用 ssl_verify_partial_chains 出错" + +-#: conn/ssl_gnutls.c:150 conn/ssl_gnutls.c:784 conn/ssl_gnutls.c:793 ++#: conn/ssl_gnutls.c:152 conn/ssl_gnutls.c:817 conn/ssl_gnutls.c:826 + msgid "Unable to get certificate from peer" + msgstr "无法从对端获得证书" + +-#: conn/ssl_gnutls.c:155 ++#: conn/ssl_gnutls.c:157 + #, c-format + msgid "Certificate verification error (%s)" + msgstr "证书验证错误 (%s)" + +-#: conn/ssl_gnutls.c:162 ++#: conn/ssl_gnutls.c:164 + msgid "Certificate is not X.509" + msgstr "证书不是 X.509" + +-#: conn/ssl_gnutls.c:349 conn/ssl_gnutls.c:483 ++#: conn/ssl_gnutls.c:351 conn/ssl_gnutls.c:485 + msgid "Error initialising gnutls certificate data" + msgstr "无法初始化 gnutls 证书数据" + +-#: conn/ssl_gnutls.c:355 conn/ssl_gnutls.c:489 ++#: conn/ssl_gnutls.c:357 conn/ssl_gnutls.c:491 + msgid "Error processing certificate data" + msgstr "处理证书数据出错" + +-#: conn/ssl_gnutls.c:635 ++#: conn/ssl_gnutls.c:666 + msgid "WARNING: Server certificate is not yet valid" + msgstr "警告:服务器证书尚未有效" + +-#: conn/ssl_gnutls.c:640 ++#: conn/ssl_gnutls.c:671 + msgid "WARNING: Server certificate has expired" + msgstr "警告:服务器证书已过期" + +-#: conn/ssl_gnutls.c:645 ++#: conn/ssl_gnutls.c:676 + msgid "WARNING: Server certificate has been revoked" + msgstr "警告:服务器证书已吊销" + +-#: conn/ssl_gnutls.c:650 ++#: conn/ssl_gnutls.c:681 + msgid "WARNING: Server hostname does not match certificate" + msgstr "警告:服务器主机名与证书不匹配" + +-#: conn/ssl_gnutls.c:655 ++#: conn/ssl_gnutls.c:686 + msgid "WARNING: Signer of server certificate is not a CA" + msgstr "警告:服务器证书签署者不是证书颁发机构(CA)" + +-#: conn/ssl_gnutls.c:659 conn/ssl_gnutls.c:1004 ++#: conn/ssl_gnutls.c:690 conn/ssl_gnutls.c:1037 + msgid "Warning: Server certificate was signed using an insecure algorithm" + msgstr "警告:服务器证书是使用不安全的算法签署的" + +-#. L10N: These three letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce, (a)ccept always. +-#. This is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:676 +-msgid "roa" +-msgstr "roa" +- +-#. L10N: These two letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce. +-#. These is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:685 +-msgid "ro" +-msgstr "ro" +- +-#: conn/ssl_gnutls.c:950 conn/ssl_gnutls.c:992 ++#: conn/ssl_gnutls.c:983 conn/ssl_gnutls.c:1025 + msgid "All available protocols for TLS/SSL connection disabled" + msgstr "所有用于 TLS/SSL 连接的可用协议已禁用" + +-#: conn/ssl_gnutls.c:999 ++#: conn/ssl_gnutls.c:1032 + msgid "Explicit ciphersuite selection via $ssl_ciphers not supported" + msgstr "通过 $ssl_ciphers 明确选择密码套件是不支持的" + +-#: conn/ssl_gnutls.c:1120 ++#: conn/ssl_gnutls.c:1153 + #, c-format + msgid "SSL/TLS connection using %s (%s/%s/%s)" + msgstr "使用 %s 的 SSL/TLS 连接 (%s/%s/%s)" + +-#: conn/ssl_gnutls.c:1175 conn/ssl_gnutls.c:1204 ++#: conn/ssl_gnutls.c:1210 conn/ssl_gnutls.c:1239 + msgid "Error: no TLS socket open" + msgstr "错误:没有打开 TLS 套接字" + +@@ -1599,39 +1813,17 @@ msgstr "与 %s 通话时隧道错误:%s" + msgid "Tunnel to %s returned error %d (%s)" + msgstr "通过隧道连接 %s 时返回错误 %d (%s)" + +-#: copy.c:660 ++#: copy.c:662 + #, c-format + msgid "The length calculation was wrong by %ld byte" + msgid_plural "The length calculation was wrong by %ld bytes" + msgstr[0] "长度计算错误,偏差 %ld 字节" + +-#: copy.c:744 ++#: copy.c:746 + msgid "No decryption engine available for message" + msgstr "对于信件没有解密引擎" + +-# Don't translate this!! +-#: curs_lib.c:378 +-msgid "yes" +-msgstr "yes" +- +-# Don't translate this!! +-#: curs_lib.c:379 +-msgid "no" +-msgstr "no" +- +-#: curs_lib.c:518 +-msgid "Exit NeoMutt?" +-msgstr "退出 NeoMutt?" +- +-#: curs_lib.c:597 +-msgid "Press any key to continue..." +-msgstr "按任意键继续..." +- +-#: curs_lib.c:705 +-msgid " ('?' for list): " +-msgstr " (按'?'显示列表):" +- +-#: edit.c:64 ++#: edit.c:62 + msgid "" + "~~ insert a line beginning with a single ~\n" + "~b users add users to the Bcc: field\n" +@@ -1653,7 +1845,7 @@ msgstr "" + "~M 信件 类似 ~m, 除了包含信件头\n" + "~p 打印这封信件\n" + +-#: edit.c:75 ++#: edit.c:73 + msgid "" + "~q write file and quit editor\n" + "~r file read a file into the editor\n" +@@ -1675,20 +1867,20 @@ msgstr "" + "~? 本消息\n" + ". 如果是一行里的唯一字符,则代表结束输入\n" + +-#: edit.c:261 ++#: edit.c:259 + #, c-format + msgid "%d: invalid message number.\n" + msgstr "%d:无效的信件编号。\n" + +-#: edit.c:416 ++#: edit.c:414 + msgid "(End message with a . on a line by itself)\n" + msgstr "(在一行里输入一个 . 符号来结束信件)\n" + +-#: edit.c:474 ++#: edit.c:472 + msgid "No mailbox.\n" + msgstr "没有信箱。\n" + +-#: edit.c:478 ++#: edit.c:476 + msgid "Message contains:\n" + msgstr "信件包含:\n" + +@@ -1696,19 +1888,19 @@ msgstr "信件包含:\n" + #. not IN the middle of the content. + #. So it doesn't mean "(message will continue)" + #. but means "(press any key to continue using neomutt)". +-#: edit.c:486 edit.c:547 ++#: edit.c:484 edit.c:545 + msgid "(continue)\n" + msgstr "(继续)\n" + +-#: edit.c:499 ++#: edit.c:497 + msgid "missing filename.\n" + msgstr "缺少文件名。\n" + +-#: edit.c:519 ++#: edit.c:517 + msgid "No lines in message.\n" + msgstr "信件中一行也没有。\n" + +-#: edit.c:558 ++#: edit.c:556 + #, c-format + msgid "%s: unknown editor command (~? for help)\n" + msgstr "%s:未知的编辑器命令(~? 求助)\n" +@@ -1755,19 +1947,75 @@ msgstr "无法添加到文件夹末尾:%s" + msgid "multipart message has no boundary parameter" + msgstr "多部份信件没有边界参数" + +-#: flags.c:382 index.c:2561 index.c:2604 index.c:3134 index.c:3171 ++#: flags.c:381 index.c:2587 index.c:2630 index.c:3160 index.c:3197 + #: mutt_thread.c:1091 mutt_thread.c:1158 mutt_thread.c:1246 + msgid "Threading is not enabled" + msgstr "线索功能尚未启用" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Set flag" + msgstr "设定标记" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Clear flag" + msgstr "清除标记" + ++#: gui/color.c:633 gui/color.c:644 ++#, c-format ++msgid "%s: color not supported by term" ++msgstr "%s:终端不支持显示颜色" ++ ++#: gui/color.c:652 ++#, c-format ++msgid "%s: no such color" ++msgstr "%s:没有这种颜色" ++ ++#: gui/color.c:717 gui/color.c:740 gui/color.c:751 gui/color.c:842 ++#, c-format ++msgid "%s: no such object" ++msgstr "%s:没有这个对象" ++ ++#: gui/color.c:1142 ++#, c-format ++msgid "%s: no such attribute" ++msgstr "%s:没有这个属性" ++ ++#: gui/color.c:1244 ++msgid "default colors not supported" ++msgstr "不支持默认的颜色" ++ ++#: gui/color.c:1282 ++#, c-format ++msgid "Maximum quoting level is %d" ++msgstr "" ++ ++#: gui/color.c:1319 ++#, fuzzy, c-format ++msgid "%s: invalid number: %s" ++msgstr "错误:分数:无效数字" ++ ++# Don't translate this!! ++#: gui/curs_lib.c:379 ++msgid "yes" ++msgstr "yes" ++ ++# Don't translate this!! ++#: gui/curs_lib.c:380 ++msgid "no" ++msgstr "no" ++ ++#: gui/curs_lib.c:519 ++msgid "Exit NeoMutt?" ++msgstr "退出 NeoMutt?" ++ ++#: gui/curs_lib.c:598 ++msgid "Press any key to continue..." ++msgstr "按任意键继续..." ++ ++#: gui/curs_lib.c:749 ++msgid " ('?' for list): " ++msgstr " (按'?'显示列表):" ++ + #: handler.c:102 + #, c-format + msgid "[-- Type: %s/%s%s%s, Encoding: %s, Size: %s --]\n" +@@ -1788,23 +2036,23 @@ msgstr "[-- 使用 %s 自动显示 --]\n" + msgid "Invoking autoview command: %s" + msgstr "执行自动显示指令:%s" + +-#: handler.c:591 mutt_attach.c:527 mutt_attach.c:714 mutt_attach.c:745 +-#: mutt_attach.c:1087 mutt_attach.c:1152 ncrypt/pgpkey.c:723 +-#: ncrypt/pgpkey.c:920 ++#: handler.c:590 mutt_attach.c:555 mutt_attach.c:747 mutt_attach.c:778 ++#: mutt_attach.c:1120 mutt_attach.c:1185 ncrypt/pgpkey.c:756 ++#: ncrypt/pgpkey.c:955 + msgid "Can't create filter" + msgstr "无法建立过滤器" + +-#: handler.c:595 ++#: handler.c:594 + #, c-format + msgid "[-- Can't run %s. --]\n" + msgstr "[-- 无法运行 %s --]\n" + +-#: handler.c:614 handler.c:635 ++#: handler.c:613 handler.c:634 + #, c-format + msgid "[-- Autoview stderr of %s --]\n" + msgstr "[-- 自动显示的 %s 输出到标准错误(stderr)的内容 --]\n" + +-#: handler.c:764 ++#: handler.c:763 + msgid "[-- Error: message/external-body has no access-type parameter --]\n" + msgstr "[-- 错误:message/external-body 没有访问类型参数 --]\n" + +@@ -1823,7 +2071,7 @@ msgstr "[-- 错误:message/external-body 没有访问类型参数 --]\n" + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:807 ++#: handler.c:806 + #, c-format + msgid "" + "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" +@@ -1849,7 +2097,7 @@ msgstr[0] "" + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:830 ++#: handler.c:829 + #, c-format + msgid "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" + msgid_plural "[-- This %s/%s attachment (size %s bytes) has been deleted --]\n" +@@ -1862,7 +2110,7 @@ msgstr[0] "[-- 此 %s/%s 附件 (大小 %s 字节) 已经被删除 --]\n" + #. + #. Caution: Argument three %3$ is also defined but should not be used + #. in this translation! +-#: handler.c:848 ++#: handler.c:847 + msgid "" + "[-- This %s/%s attachment has been deleted --]\n" + "[-- on %4$s --]\n" +@@ -1873,12 +2121,12 @@ msgstr "" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The first "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:856 ++#: handler.c:855 + #, c-format + msgid "[-- This %s/%s attachment has been deleted --]\n" + msgstr "[-- 此 %s/%s 附件 已经被删除 --]\n" + +-#: handler.c:866 ++#: handler.c:865 + #, c-format + msgid "[-- name: %s --]\n" + msgstr "[-- 名称:%s --]\n" +@@ -1886,7 +2134,7 @@ msgstr "[-- 名称:%s --]\n" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:884 ++#: handler.c:883 + #, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -1902,7 +2150,7 @@ msgstr "" + #. The "%s/%s" is a MIME type, e.g. "text/plain". The %s after + #. access-type is an access-type as defined by the MIME RFCs, e.g. "FTP", + #. "LOCAL-FILE", "MAIL-SERVER". +-#: handler.c:905 ++#: handler.c:904 + #, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -1911,91 +2159,91 @@ msgstr "" + "[-- 此 %s/%s 附件未被包含, --]\n" + "[-- 并且其标明的访问类型 %s 不被支持 --]\n" + +-#: handler.c:1090 ++#: handler.c:1089 + msgid "[-- Error: Could not display any parts of Multipart/Alternative --]\n" + msgstr "[-- 错误:无法显示 Multipart/Alternative 的任何部分! --]\n" + + #. L10N: %s is the attachment description, filename or form_name. +-#: handler.c:1231 ++#: handler.c:1230 + #, c-format + msgid "[-- Attachment #%d: %s --]\n" + msgstr "[-- 附件 #%d:%s --]\n" + +-#: handler.c:1236 ++#: handler.c:1235 + #, c-format + msgid "[-- Attachment #%d --]\n" + msgstr "[-- 附件 #%d --]\n" + +-#: handler.c:1254 ++#: handler.c:1253 + msgid "One or more parts of this message could not be displayed" + msgstr "本信件的一个或多个部分无法显示" + +-#: handler.c:1320 ++#: handler.c:1319 + msgid "Unable to open 'memory stream'" + msgstr "无法打开内存流临时文件" + +-#: handler.c:1330 ++#: handler.c:1329 + msgid "Unable to open temporary file" + msgstr "无法打开临时文件" + +-#: handler.c:1379 ++#: handler.c:1378 + msgid "failed to re-open 'memory stream'" + msgstr "无法重新打开内存流临时文件" + +-#: handler.c:1620 ++#: handler.c:1619 + msgid "Error: multipart/signed has no protocol" + msgstr "错误:multipart/signed 没有协议" + + #. L10N: %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1694 ++#: handler.c:1693 + #, c-format + msgid "[-- This is an attachment (use '%s' to view this part) --]\n" + msgstr "[-- 这是一个附件 (使用 '%s' 来显示这部份) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". + #. The last %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1701 ++#: handler.c:1700 + #, c-format + msgid "[-- %s/%s is unsupported (use '%s' to view this part) --]\n" + msgstr "[-- %s/%s 尚未支持 (使用 '%s' 来显示这部份) --]\n" + +-#: handler.c:1709 ++#: handler.c:1708 + msgid "[-- This is an attachment (need 'view-attachments' bound to key) --]\n" + msgstr "[-- 这是一个附件 (需要将 'view-attachments' 绑定到键!) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1715 ++#: handler.c:1714 + #, c-format + msgid "[-- %s/%s is unsupported (need 'view-attachments' bound to key) --]\n" + msgstr "[-- %s/%s 尚未支持 (需要将 'view-attachments' 绑定到键!) --]\n" + +-#: handler.c:1724 ++#: handler.c:1723 + msgid "[-- This is an attachment --]\n" + msgstr "[-- 这是一个附件 --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1729 ++#: handler.c:1728 + #, c-format + msgid "[-- %s/%s is unsupported --]\n" + msgstr "[-- %s/%s 尚未支持 --]\n" + +-#: help.c:400 ++#: help.c:401 + msgid "ERROR: please report this bug" + msgstr "错误:请报告这个问题" + +-#: help.c:455 ++#: help.c:456 + msgid "" + msgstr "<未知>" + +-#: help.c:469 ++#: help.c:470 + msgid "Generic bindings:" + msgstr "通用绑定:" + +-#: help.c:473 ++#: help.c:474 + msgid "Unbound functions:" + msgstr "未绑定的功能:" + +-#: help.c:481 ++#: help.c:482 + #, c-format + msgid "Help for %s" + msgstr "%s 的帮助" +@@ -2012,41 +2260,41 @@ msgstr "信箱快捷键扩展到空白的正则表达式" + msgid "badly formatted command string" + msgstr "命令字符串格式错误" + +-#: hook.c:461 ++#: hook.c:466 + msgid "unhook: Can't do unhook * from within a hook" + msgstr "unhook:无法在一个钩子里进行 unhook * 操作" + +-#: hook.c:474 ++#: hook.c:479 + #, c-format + msgid "unhook: unknown hook type: %s" + msgstr "unhook:未知钩子类型:%s" + +-#: hook.c:484 ++#: hook.c:489 + #, c-format + msgid "unhook: Can't delete a %s from within a %s" + msgstr "unhook:无法从 %2$s 中删除 %1$s" + + #. L10N: '%s' is the (misspelled) name of the menu, e.g. 'index' or 'pager' +-#: icommands.c:259 keymap.c:1161 keymap.c:1346 ++#: icommands.c:261 keymap.c:1159 keymap.c:1344 + #, c-format + msgid "%s: no such menu" + msgstr "%s:没有这个菜单" + + #. L10N: '%s' is the name of the menu, e.g. 'index' or 'pager', it might + #. L10N: also be 'all' when all menus are affected. +-#: icommands.c:272 ++#: icommands.c:274 + #, c-format + msgid "%s: no binds for this menu" + msgstr "%s:该菜单无绑定" + +-#: icommands.c:272 ++#: icommands.c:274 + #, c-format + msgid "%s: no macros for this menu" + msgstr "%s:该菜单无宏" + + #. L10N: '%s' is the file name of the temporary file +-#: icommands.c:283 icommands.c:296 icommands.c:316 icommands.c:340 +-#: icommands.c:360 icommands.c:371 imap/message.c:1093 ++#: icommands.c:285 icommands.c:297 icommands.c:317 icommands.c:340 ++#: icommands.c:360 icommands.c:370 imap/message.c:1093 + #, c-format + msgid "Could not create temporary file %s" + msgstr "无法创建临时文件 %s" +@@ -2083,28 +2331,28 @@ msgstr "GSSAPI 认证失败" + msgid "LOGIN disabled on this server" + msgstr "LOGIN 在此服务器已禁用" + +-#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:288 ++#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:289 + msgid "Logging in..." + msgstr "登录中..." + +-#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:329 ++#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:330 + msgid "Login failed" + msgstr "登录失败" + +-#: imap/auth_oauth.c:64 pop/pop_auth.c:346 smtp.c:524 ++#: imap/auth_oauth.c:65 pop/pop_auth.c:347 smtp.c:549 + msgid "Authenticating (OAUTHBEARER)..." + msgstr "正在验证 (OAUTHBEARER)..." + +-#: imap/auth_oauth.c:96 ++#: imap/auth_oauth.c:97 + msgid "OAUTHBEARER authentication failed" + msgstr "OAUTHBEARER 认证失败" + +-#: imap/auth_sasl.c:128 nntp/nntp.c:606 nntp/nntp.c:671 smtp.c:443 ++#: imap/auth_sasl.c:128 nntp/nntp.c:608 nntp/nntp.c:673 smtp.c:468 + #, c-format + msgid "Authenticating (%s)..." + msgstr "认证中 (%s)..." + +-#: imap/auth_sasl.c:259 pop/pop_auth.c:200 smtp.c:584 smtp.c:646 ++#: imap/auth_sasl.c:259 pop/pop_auth.c:201 smtp.c:609 smtp.c:671 + msgid "SASL authentication failed" + msgstr "SASL 认证失败" + +@@ -2151,130 +2399,120 @@ msgstr "重命名失败:%s" + msgid "Mailbox renamed" + msgstr "信箱已重命名" + +-#: imap/command.c:164 ++#: imap/command.c:177 + #, c-format + msgid "Mailbox %s@%s closed" + msgstr "信箱 %s@%s 已关闭" + +-#: imap/command.c:1258 imap/command.c:1370 ++#: imap/command.c:1287 imap/command.c:1399 + #, c-format + msgid "Connection to %s timed out" + msgstr "到 %s 的连接已超时" + +-#: imap/imap.c:87 ++#: imap/imap.c:93 + msgid "This IMAP server is ancient. NeoMutt does not work with it." + msgstr "这个 IMAP 服务器已过时,NeoMutt 无法与之工作" + +-#: imap/imap.c:438 ++#: imap/imap.c:444 + #, c-format + msgid "Header search without header name: %s" + msgstr "无信件头名的信件头搜索:%s" + +-#: imap/imap.c:468 ++#: imap/imap.c:474 + #, c-format + msgid "Server-side custom search not supported: %s" + msgstr "服务器端的自定义搜索不被支持:%s" + +-#: imap/imap.c:584 ++#: imap/imap.c:590 + #, c-format + msgid "CREATE failed: %s" + msgstr "CREATE(创建)失败:%s" + +-#: imap/imap.c:704 ++#: imap/imap.c:710 + #, c-format + msgid "Closing connection to %s..." + msgstr "正在关闭到 %s 的连接..." + +-#: imap/imap.c:882 nntp/nntp.c:1889 pop/pop_lib.c:324 smtp.c:687 ++#: imap/imap.c:888 nntp/nntp.c:1891 pop/pop_lib.c:350 smtp.c:712 + msgid "Secure connection with TLS?" + msgstr "使用 TLS 安全连接?" + +-#: imap/imap.c:895 nntp/nntp.c:1910 pop/pop_lib.c:343 smtp.c:702 ++#: imap/imap.c:901 nntp/nntp.c:1912 pop/pop_lib.c:369 smtp.c:727 + msgid "Could not negotiate TLS connection" + msgstr "无法协商 TLS 连接" + +-#: imap/imap.c:910 pop/pop_lib.c:360 ++#: imap/imap.c:916 pop/pop_lib.c:386 + msgid "Encrypted connection unavailable" + msgstr "加密连接不可用" + +-#: imap/imap.c:1417 ++#: imap/imap.c:1430 + #, c-format + msgid "Subscribing to %s..." + msgstr "正在订阅 %s..." + +-#: imap/imap.c:1419 ++#: imap/imap.c:1432 + #, c-format + msgid "Unsubscribing from %s..." + msgstr "正在退订 %s..." + +-#: imap/imap.c:1430 init.c:2142 +-#, c-format +-msgid "Subscribed to %s" +-msgstr "已订阅 %s" +- +-#: imap/imap.c:1432 init.c:2620 +-#, c-format +-msgid "Unsubscribed from %s" +-msgstr "已退订 %s" +- +-#: imap/imap.c:1582 imap/message.c:1674 ++#: imap/imap.c:1595 imap/message.c:1674 + #, c-format + msgid "Copying %d message to %s..." + msgid_plural "Copying %d messages to %s..." + msgstr[0] "正在复制 %d 封信件到 %s ..." + +-#: imap/imap.c:1599 imap/imap.c:2217 imap/message.c:1713 muttlib.c:1505 ++#: imap/imap.c:1612 imap/imap.c:2254 imap/message.c:1713 muttlib.c:1503 + #, c-format + msgid "Create %s?" + msgstr "创建 %s 吗?" + +-#: imap/imap.c:1667 ++#: imap/imap.c:1685 + msgid "Expunge failed" + msgstr "执行删除失败" + +-#: imap/imap.c:1683 ++#: imap/imap.c:1701 + #, c-format + msgid "Marking %d message deleted..." + msgid_plural "Marking %d messages deleted..." + msgstr[0] "正在标记 %d 封信件为已删除..." + + #. L10N: The plural is chosen by the last %d, i.e. the total number +-#: imap/imap.c:1720 ++#: imap/imap.c:1738 + #, c-format + msgid "Saving changed message... [%d/%d]" + msgid_plural "Saving changed messages... [%d/%d]" + msgstr[0] "正在保存已改变的信件... [%d/%d]" + +-#: imap/imap.c:1776 ++#: imap/imap.c:1794 + msgid "Error saving flags. Close anyway?" + msgstr "保存标记出错。仍然关闭吗?" + +-#: imap/imap.c:1783 ++#: imap/imap.c:1801 + msgid "Error saving flags" + msgstr "保存标记时出错" + +-#: imap/imap.c:1808 ++#: imap/imap.c:1826 + msgid "Expunging messages from server..." + msgstr "正在服务器上执行信件删除..." + +-#: imap/imap.c:1814 ++#: imap/imap.c:1832 + msgid "imap_sync_mailbox: EXPUNGE failed" + msgstr "imap_sync_mailbox:EXPUNGE(执行删除)失败" + +-#: imap/imap.c:2023 nntp/nntp.c:2486 ++#: imap/imap.c:2058 nntp/nntp.c:2488 + #, c-format + msgid "Selecting %s..." + msgstr "正在选择 %s..." + +-#: imap/imap.c:2184 ++#: imap/imap.c:2221 + msgid "Error opening mailbox" + msgstr "打开信箱时出错" + +-#: imap/imap.c:2330 ++#: imap/imap.c:2367 + msgid "IMAP server doesn't support custom flags" + msgstr "IMAP 服务器不支持自定义标记" + +-#: imap/imap.c:2374 ++#: imap/imap.c:2411 + msgid "Invalid IMAP flags" + msgstr "无效的 IMAP 标记" + +@@ -2284,7 +2522,7 @@ msgid "Abort download and close mailbox?" + msgstr "要中止下载并关闭信箱吗?" + + #: imap/message.c:554 mutt/memory.c:58 mutt/memory.c:98 mutt/memory.c:134 +-#: mutt/string.c:1178 mx.c:1176 ++#: mutt/string.c:1201 mx.c:1195 + msgid "Out of memory" + msgstr "内存不足" + +@@ -2302,7 +2540,7 @@ msgstr "正在取回标记更新..." + msgid "Unable to fetch headers from this IMAP server version" + msgstr "无法取回此版本的 IMAP 服务器的信件头" + +-#: imap/message.c:1099 index.c:1548 nntp/nntp.c:1328 pop/pop.c:426 ++#: imap/message.c:1099 index.c:1554 nntp/nntp.c:1330 pop/pop.c:426 + msgid "Fetching message headers..." + msgstr "正在取回信件信件头..." + +@@ -2315,152 +2553,152 @@ msgstr "正在上传信件..." + msgid "Copying message %d to %s..." + msgstr "正在复制信件 %d 到 %s ..." + +-#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2737 pop/pop.c:1110 ++#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2739 pop/pop.c:1105 + msgid "Fetching message..." + msgstr "正在取回信件..." + +-#: imap/message.c:1959 pop/pop.c:1106 ++#: imap/message.c:1959 pop/pop.c:1101 + msgid "The message index is incorrect. Try reopening the mailbox." + msgstr "信件索引不正确。请尝试重新打开信箱" + +-#: imap/util.c:767 ++#: imap/util.c:796 + msgid "Continue?" + msgstr "继续?" + +-#: index.c:115 index.c:128 ++#: index.c:111 index.c:124 + msgid "Quit" + msgstr "离开" + +-#: index.c:118 index.c:131 recvattach.c:93 ++#: index.c:114 index.c:127 recvattach.c:91 + msgid "Save" + msgstr "保存" + +-#: index.c:119 query.c:81 ++#: index.c:115 query.c:79 + msgid "Mail" + msgstr "信件" + +-#: index.c:120 pager.c:237 ++#: index.c:116 pager.c:229 + msgid "Reply" + msgstr "回复" + +-#: index.c:121 ++#: index.c:117 + msgid "Group" + msgstr "群组" + +-#: index.c:132 pager.c:244 ++#: index.c:128 pager.c:236 + msgid "Post" + msgstr "发表" + +-#: index.c:133 pager.c:245 ++#: index.c:129 pager.c:237 + msgid "Followup" + msgstr "回帖" + +-#: index.c:190 index.c:1362 ++#: index.c:186 index.c:1367 + msgid "No mailbox is open" + msgstr "没有已打开信箱" + +-#: index.c:196 ++#: index.c:192 + msgid "There are no messages" + msgstr "没有信件" + +-#: index.c:202 ++#: index.c:198 + msgid "No visible messages" + msgstr "无可见信件" + +-#: index.c:208 mx.c:901 pager.c:223 recvattach.c:80 ++#: index.c:204 mx.c:920 pager.c:215 recvattach.c:78 + msgid "Mailbox is read-only" + msgstr "信箱是只读的" + +-#: index.c:214 pager.c:225 recvattach.c:98 ++#: index.c:210 pager.c:217 recvattach.c:96 + msgid "Function not permitted in attach-message mode" + msgstr "功能在附加信件(attach-message)模式下不被支持" + + #. L10N: %s is one of the CHECK_ACL entries below. +-#: index.c:239 pager.c:290 ++#: index.c:235 pager.c:282 + #, c-format + msgid "%s: Operation not permitted by ACL" + msgstr "无法 %s:操作不被访问控制列表(ACL)所允许" + +-#: index.c:430 ++#: index.c:426 + msgid "Can't toggle write on a readonly mailbox" + msgstr "无法在只读信箱切换可写" + +-#: index.c:437 ++#: index.c:433 + msgid "Changes to folder will be written on folder exit" + msgstr "在退出文件夹后将会把改变写入文件夹" + +-#: index.c:442 ++#: index.c:438 + msgid "Changes to folder will not be written" + msgstr "将不会把改变写入文件夹" + +-#: index.c:719 muttlib.c:1490 mx.c:206 mx.c:340 ++#: index.c:714 muttlib.c:1488 mx.c:206 mx.c:338 + #, c-format + msgid "%s is not a mailbox" + msgstr "%s 不是信箱" + +-#: index.c:1218 ++#: index.c:1223 + msgid "Mailbox was externally modified. Flags may be wrong." + msgstr "信箱已有外部修改。标记可能有错误。" + +-#: index.c:1227 pager.c:2409 ++#: index.c:1232 pager.c:2379 + msgid "New mail in this mailbox" + msgstr "此信箱中有新邮件" + +-#: index.c:1242 ++#: index.c:1247 + msgid "Mailbox was externally modified" + msgstr "信箱已有外部修改" + +-#: index.c:1369 ++#: index.c:1374 + msgid "No tagged messages" + msgstr "没有已标记的信件" + +-#: index.c:1373 index.c:1647 menu.c:1423 ++#: index.c:1378 index.c:1653 menu.c:1423 + msgid "Nothing to do" + msgstr "无事可做" + +-#: index.c:1470 ++#: index.c:1475 + msgid "Enter Message-Id: " + msgstr "请输入信件 ID:" + +-#: index.c:1481 ++#: index.c:1487 + msgid "Article has no parent reference" + msgstr "帖子没有父索引" + +-#: index.c:1504 ++#: index.c:1510 + msgid "Message is not visible in limited view" + msgstr "信件在此限制视图中不可见" + +-#: index.c:1508 ++#: index.c:1514 + #, c-format + msgid "Fetching %s from server..." + msgstr "正在从服务器上取回 %s..." + +-#: index.c:1518 nntp/nntp.c:2772 ++#: index.c:1524 nntp/nntp.c:2774 + #, c-format + msgid "Article %s not found on the server" + msgstr "帖子 %s 没有在服务器上找到" + +-#: index.c:1544 ++#: index.c:1550 + msgid "No Message-Id. Unable to perform operation." + msgstr "没有信件 ID。无法执行操作" + +-#: index.c:1623 ++#: index.c:1629 + msgid "No deleted messages found in the thread" + msgstr "在该线程中没有发现被删除的信件" + +-#: index.c:1644 ++#: index.c:1650 + msgid "Jump to message: " + msgstr "跳到信件:" + +-#: index.c:1650 ++#: index.c:1656 + msgid "Argument must be a message number" + msgstr "参数必须是信件编号" + +-#: index.c:1652 ++#: index.c:1658 + msgid "Invalid message number" + msgstr "无效的信件编号" + +-#: index.c:1654 ++#: index.c:1660 + msgid "That message is not visible" + msgstr "这封信件不可见" + +@@ -2473,37 +2711,37 @@ msgstr "这封信件不可见" + #. delete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. + #. +-#: index.c:1692 index.c:3267 pager.c:3064 ++#: index.c:1698 index.c:3293 pager.c:3039 + msgid "Can't delete messages" + msgstr "无法删除信件" + +-#: index.c:1695 ++#: index.c:1701 + msgid "Delete messages matching: " + msgstr "删除符合此模式的信件:" + +-#: index.c:1736 ++#: index.c:1742 + msgid "No limit pattern is in effect" + msgstr "当前没有限制模式起作用" + + #. L10N: ask for a limit to apply +-#: index.c:1741 ++#: index.c:1747 + #, c-format + msgid "Limit: %s" + msgstr "限制:%s" + +-#: index.c:1778 ++#: index.c:1784 + msgid "Limit to messages matching: " + msgstr "限制到符合此模式的信件:" + +-#: index.c:1809 ++#: index.c:1815 + msgid "To view all messages, limit to \"all\"" + msgstr "要查看所有信件,请将限制设为 \"all\"" + +-#: index.c:1821 pager.c:2514 ++#: index.c:1827 pager.c:2487 + msgid "Quit NeoMutt?" + msgstr "离开 NeoMutt?" + +-#: index.c:1924 ++#: index.c:1931 + msgid "Tag messages matching: " + msgstr "标记符合此模式的信件:" + +@@ -2511,195 +2749,195 @@ msgstr "标记符合此模式的信件:" + #. L10N: Due to the implementation details we do not know whether we + #. undelete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:1935 index.c:3807 pager.c:3418 ++#: index.c:1942 index.c:3833 pager.c:3396 + msgid "Can't undelete messages" + msgstr "不能反删除信件" + +-#: index.c:1939 ++#: index.c:1946 + msgid "Undelete messages matching: " + msgstr "反删除符合此模式的信件:" + +-#: index.c:1948 ++#: index.c:1955 + msgid "Untag messages matching: " + msgstr "反标记符合此模式的信件:" + +-#: index.c:1989 ++#: index.c:1996 + msgid "Logged out of IMAP servers" + msgstr "已从 IMAP 服务器退出" + +-#: index.c:2105 ++#: index.c:2113 + msgid "No virtual folder and no Message-Id, aborting" + msgstr "没有虚拟文件夹及 Message-Id,正在中止" + +-#: index.c:2117 index.c:2288 index.c:2310 index.c:2331 ++#: index.c:2125 index.c:2313 index.c:2335 index.c:2356 + msgid "Failed to create query, aborting" + msgstr "无法创建查询,正在中止" + +-#: index.c:2130 ++#: index.c:2138 + msgid "failed to find message in notmuch database. try running 'notmuch new'." + msgstr "" + +-#: index.c:2139 ++#: index.c:2147 + msgid "Failed to read thread, aborting" + msgstr "无法读取线索,正在中止" + +-#: index.c:2171 mx.c:1252 mx.c:1272 ++#: index.c:2179 mx.c:1271 mx.c:1291 + msgid "Folder doesn't support tagging, aborting" + msgstr "文件夹不支持标签,正在终止" + +-#: index.c:2188 ++#: index.c:2196 + msgid "No tag specified, aborting" + msgstr "没有特殊标签,正在中止" + +-#: index.c:2198 ++#: index.c:2206 + msgid "Update tags..." + msgstr "更新标签中..." + +-#: index.c:2238 ++#: index.c:2246 + msgid "Failed to modify tags, aborting" + msgstr "无法修改标签,正在中止" + +-#: index.c:2284 ++#: index.c:2293 + msgid "No query, aborting" + msgstr "没有查询,正在中止" + +-#: index.c:2299 index.c:2320 ++#: index.c:2324 index.c:2345 + msgid "Windowed queries disabled" + msgstr "窗口查询已禁用" + +-#: index.c:2304 index.c:2325 ++#: index.c:2329 index.c:2350 + msgid "No notmuch vfolder currently loaded" + msgstr "现在没有加载 notmuch 虚拟文件夹" + +-#: index.c:2374 ++#: index.c:2399 + msgid "Open mailbox in read-only mode" + msgstr "用只读模式打开信箱" + +-#: index.c:2376 ++#: index.c:2401 + msgid "Open mailbox" + msgstr "打开信箱" + +-#: index.c:2386 ++#: index.c:2411 + msgid "No mailboxes have new mail" + msgstr "没有信箱有新信件" + +-#: index.c:2419 ++#: index.c:2444 + msgid "Open newsgroup in read-only mode" + msgstr "用只读模式打开新闻组" + +-#: index.c:2421 ++#: index.c:2446 + msgid "Open newsgroup" + msgstr "打开新闻组" + +-#: index.c:2538 ++#: index.c:2564 + msgid "Exit NeoMutt without saving?" + msgstr "不保存便退出 NeoMutt 吗?" + + #. L10N: CHECK_ACL +-#: index.c:2554 ++#: index.c:2580 + msgid "Can't break thread" + msgstr "不能中断线索" + +-#: index.c:2574 ++#: index.c:2600 + msgid "Thread broken" + msgstr "线索有误" + +-#: index.c:2587 ++#: index.c:2613 + msgid "Thread can't be broken, message is not part of a thread" + msgstr "无法打破线索,信件不是该线索的一部分" + + #. L10N: CHECK_ACL +-#: index.c:2597 ++#: index.c:2623 + msgid "Can't link threads" + msgstr "无法链接线索" + +-#: index.c:2606 ++#: index.c:2632 + msgid "No Message-ID: header available to link thread" + msgstr "无 Message-ID: 信件头可用于链接线索" + +-#: index.c:2608 ++#: index.c:2634 + msgid "First, please tag a message to be linked here" + msgstr "首先,请标记一封信件以链接于此" + +-#: index.c:2621 ++#: index.c:2647 + msgid "Threads linked" + msgstr "线索已链接" + +-#: index.c:2624 ++#: index.c:2650 + msgid "No thread linked" + msgstr "无线索来链接" + +-#: index.c:2665 index.c:2690 ++#: index.c:2691 index.c:2716 + msgid "You are on the last message" + msgstr "您已经在最后一封信了" + +-#: index.c:2673 index.c:2716 ++#: index.c:2699 index.c:2742 + msgid "No undeleted messages" + msgstr "没有要反删除的信件" + +-#: index.c:2708 index.c:2733 ++#: index.c:2734 index.c:2759 + msgid "You are on the first message" + msgstr "您已经在第一封信了" + +-#: index.c:2874 ++#: index.c:2900 + msgid "No new messages in this limited view" + msgstr "没有新的信件在此限制视图中" + +-#: index.c:2876 ++#: index.c:2902 + msgid "No new messages" + msgstr "没有新信件" + +-#: index.c:2881 ++#: index.c:2907 + msgid "No unread messages in this limited view" + msgstr "在此限制视图中没有未读信件" + +-#: index.c:2883 ++#: index.c:2909 + msgid "No unread messages" + msgstr "没有尚未读取的信件" + +-#: index.c:2893 menu.c:1208 pager.c:2644 pattern.c:2652 ++#: index.c:2919 menu.c:1208 pager.c:2618 pattern.c:2776 + msgid "Search wrapped to top" + msgstr "搜寻从开头重新开始" + +-#: index.c:2898 pager.c:2669 pattern.c:2663 ++#: index.c:2924 pager.c:2643 pattern.c:2787 + msgid "Search wrapped to bottom" + msgstr "搜寻从结尾重新开始" + + #. L10N: CHECK_ACL +-#: index.c:2915 ++#: index.c:2941 + msgid "Can't flag message" + msgstr "无法标记信件" + + #. L10N: CHECK_ACL +-#: index.c:2961 pager.c:3377 ++#: index.c:2987 pager.c:3355 + msgid "Can't toggle new" + msgstr "无法切换新信件标记" + +-#: index.c:3057 ++#: index.c:3083 + msgid "No more threads" + msgstr "没有更多的线索" + +-#: index.c:3059 ++#: index.c:3085 + msgid "You are on the first thread" + msgstr "您在第一个线索上" + +-#: index.c:3156 ++#: index.c:3182 + msgid "Thread contains unread or flagged messages" + msgstr "线索中有尚未读取或者被标记的信件" + + #. L10N: CHECK_ACL +-#: index.c:3215 pager.c:3019 ++#: index.c:3241 pager.c:2994 + msgid "Can't delete message" + msgstr "无法删除信件" + + #. L10N: CHECK_ACL +-#: index.c:3339 ++#: index.c:3365 + msgid "Can't edit message" + msgstr "无法编辑信件" + + #. L10N: This is displayed when the x-label on one or more + #. messages is edited. +-#: index.c:3432 pager.c:3495 ++#: index.c:3458 pager.c:3473 + #, c-format + msgid "%d label changed" + msgid_plural "%d labels changed" +@@ -2708,7 +2946,7 @@ msgstr[0] "已改变 %d 封信件的标签" + #. L10N: This is displayed when editing an x-label, but no messages + #. were updated. Possibly due to canceling at the prompt or if the new + #. label is the same as the old label. +-#: index.c:3440 pager.c:3499 ++#: index.c:3466 pager.c:3477 + msgid "No labels changed" + msgstr "没有标签改变" + +@@ -2716,274 +2954,140 @@ msgstr "没有标签改变" + #. L10N: Due to the implementation details we do not know whether we + #. mark zero, 1, 12, ... messages as read. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:3571 ++#: index.c:3597 + msgid "Can't mark messages as read" + msgstr "无法标记信件为已读" + + #. L10N: This is the prompt for . Whatever they + #. enter will be prefixed by $mark_macro_prefix and will become + #. a macro hotkey to jump to the currently selected message. +-#: index.c:3612 ++#: index.c:3638 + msgid "Enter macro stroke: " + msgstr "请输入宏按键:" + + #. L10N: "message hotkey" is the key bindings menu description of a + #. macro created by . +-#: index.c:3620 ++#: index.c:3646 + msgid "message hotkey" + msgstr "信件热键" + + #. L10N: This is echoed after creates a new hotkey + #. macro. %s is the hotkey string ($mark_macro_prefix followed + #. by whatever they typed at the prompt.) +-#: index.c:3625 ++#: index.c:3651 + #, c-format + msgid "Message bound to %s" + msgstr "信件已重发给 %s" + + #. L10N: This error is printed if can't find a + #. Message-ID for the currently selected message in the index. +-#: index.c:3634 ++#: index.c:3660 + msgid "No message ID to macro" + msgstr "没有可标记的信件 ID" + +-#: index.c:3688 pager.c:3221 recvattach.c:1646 ++#: index.c:3714 pager.c:3196 recvattach.c:1678 + msgid "Reply by mail as poster prefers?" + msgstr "按发帖人的偏好通过邮件回复?" + +-#: index.c:3691 pager.c:3182 pager.c:3194 pager.c:3224 ++#: index.c:3717 pager.c:3157 pager.c:3169 pager.c:3199 + msgid "Posting to this group not allowed, may be moderated. Continue?" + msgstr "不允许在这个组里发帖,帖子可能会被审核,继续?" + + #. L10N: CHECK_ACL +-#: index.c:3768 pager.c:3397 ++#: index.c:3794 pager.c:3375 + msgid "Can't undelete message" + msgstr "不能反删除信件" + +-#: init.c:313 ++#: init.c:223 + #, c-format + msgid "Error in command line: %s" + msgstr "命令行有错:%s" + +-#: init.c:315 ++#: init.c:225 + #, fuzzy, c-format + msgid "Warning in command line: %s" + msgstr "命令行有错:%s" + +-#: init.c:426 ++#: init.c:336 + msgid "unable to determine nodename via uname()" + msgstr "无法通过 uname() 确定节点名称" + +-#: init.c:580 +-msgid "-group: no group name" +-msgstr "-group:无组名称" +- +-#: init.c:590 +-msgid "out of arguments" +-msgstr "参数不够" +- +-#: init.c:804 init.c:1752 +-#, c-format +-msgid "Error: Can't build path of '%s'" +-msgstr "错误:无法构建“%s”的路径" +- +-#: init.c:817 +-#, c-format +-msgid "Error: Cyclic sourcing of configuration file '%s'" +-msgstr "错误:循环读取配置文件“%s”" +- +-#: init.c:850 +-#, c-format +-msgid "Error in %s, line %d: %s" +-msgstr "%s 发生错误,第 %d 行:%s" +- +-#: init.c:861 +-#, c-format +-msgid "Warning in %s, line %d: %s" +-msgstr "%s 出现警告,第 %d 行:%s" +- +-#: init.c:885 +-#, c-format +-msgid "source: errors in %s" +-msgstr "source:%s 中有错误" +- +-#: init.c:885 +-#, c-format +-msgid "source: reading aborted due to too many errors in %s" +-msgstr "source:读取因 %s 中错误过多而中止" +- +-#: init.c:894 +-#, c-format +-msgid "source: %d warning in %s" +-msgid_plural "source: %d warnings in %s" +-msgstr[0] "source:%2$s 中出现 %1$d 个警告" +- +-#: init.c:923 +-msgid "alias: no address" +-msgstr "别名:没有邮件地址" +- +-#: init.c:965 +-#, c-format +-msgid "Warning: Bad IDN '%s' in alias '%s'" +-msgstr "警告:错误的 IDN '%s' 在别名 '%s' 中" +- +-#: init.c:1043 +-msgid "attachments: no disposition" +-msgstr "附件:无处理方式" +- +-#: init.c:1054 +-msgid "Current attachments settings:" +-msgstr "当前附件设置:" +- +-#: init.c:1084 +-msgid "attachments: invalid disposition" +-msgstr "附件:无效的处理方式" +- +-#: init.c:1160 +-#, c-format +-msgid "%sgroup: missing -rx or -addr" +-msgstr "%sgroup:缺少 -rx 或 -addr" +- +-#: init.c:1186 +-#, c-format +-msgid "%sgroup: warning: bad IDN '%s'" +-msgstr "%sgroup:警告:错误的 IDN '%s'" +- +-#: init.c:1278 +-#, c-format +-msgid "Error: %s" +-msgstr "错误:%s" +- +-#: init.c:1445 +-msgid "invalid header field" +-msgstr "无效的信件头域" +- +-#: init.c:1711 init.c:1815 +-#, c-format +-msgid "%s: unknown variable" +-msgstr "%s:未知的变量" +- +-#: init.c:1908 +-#, c-format +-msgid "%s is unset" +-msgstr "%s 没有被设定" +- +-#: init.c:1953 mutt_lua.c:478 +-#, c-format +-msgid "source: error at %s" +-msgstr "source:%s 有错误" +- +-#: init.c:1961 +-#, c-format +-msgid "source: file %s could not be sourced" +-msgstr "source:文件 %s 无法被加载" +- +-#: init.c:1984 +-msgid "spam: no matching pattern" +-msgstr "垃圾邮件:无匹配的模式" +- +-#: init.c:1986 +-msgid "nospam: no matching pattern" +-msgstr "去掉垃圾邮件:无匹配的模式" +- +-#: init.c:2146 +-#, c-format +-msgid "Could not subscribe to %s" +-msgstr "无法订阅 %s" +- +-#: init.c:2154 init.c:2632 +-msgid "No folder specified" +-msgstr "没有指定文件夹" +- +-#: init.c:2341 +-msgid "unattachments: no disposition" +-msgstr "去掉附件:无处理方式" +- +-#: init.c:2379 +-msgid "unattachments: invalid disposition" +-msgstr "去掉附件:无效的处理方式" +- +-#: init.c:2624 +-#, c-format +-msgid "Could not unsubscribe from %s" +-msgstr "无法退订 %s" +- +-#: init.c:3292 ++#: init.c:1042 + #, c-format + msgid "%s: unknown command" + msgstr "%s:未知命令" + +-#: init.c:3837 ++#: init.c:1588 + msgid "'charset' must contain exactly one character set name" + msgstr "“charset”值只能包含单个字符集名称" + +-#: init.c:3853 init.c:3877 init.c:3912 ++#: init.c:1604 init.c:1628 init.c:1663 + #, c-format + msgid "Invalid value for option %s: %s" + msgstr "选项 %s 的值无效:%s" + +-#: init.c:3890 ++#: init.c:1641 + #, c-format + msgid "Option %s may not be set or reset from the pager" + msgstr "不能从分页器设置或重置选项 %s" + +-#: init.c:3928 ++#: init.c:1679 + #, c-format + msgid "Option %s may not be set when in attach-message mode" + msgstr "在附加信件(attach-message)模式下不能设置 %s 选项" + + #. L10N: This applies to the "$wrap_headers" config variable +-#: init.c:3943 ++#: init.c:1694 + #, c-format + msgid "Option %s must between 78 and 998 inclusive" + msgstr "" + +-#: keymap.c:373 keymap.c:381 ++#: keymap.c:371 keymap.c:379 + #, c-format + msgid "Binding '%s' will alias '%s' Before, try: 'bind %s %s noop' https://neomutt.org/guide/configuration.html#bind-warnings" + msgstr "绑定 '%s' 将会为 '%s' 设置别名,在这之前,请尝试:'bind %s %s noop' https://neomutt.org/guide/configuration.html#bind-warnings" + +-#: keymap.c:757 ++#: keymap.c:755 + msgid "Macro loop detected" + msgstr "检测到宏中有回环" + +-#: keymap.c:1064 keymap.c:1099 ++#: keymap.c:1062 keymap.c:1097 + msgid "Key is not bound" + msgstr "此键还未绑定功能" + +-#: keymap.c:1104 ++#: keymap.c:1102 + #, c-format + msgid "Key is not bound. Press '%s' for help." + msgstr "此键还未绑定功能。按 '%s' 以获得帮助信息" + +-#: keymap.c:1177 ++#: keymap.c:1175 + #, c-format + msgid "%s: null key sequence" + msgstr "%s:空的键值序列" + +-#: keymap.c:1212 ++#: keymap.c:1210 + #, c-format + msgid "Function '%s' not available for menu '%s'" + msgstr "函数 '%s' 不可用对于菜单 '%s'" + +-#: keymap.c:1495 ++#: keymap.c:1493 + msgid "macro: empty key sequence" + msgstr "macro:空的键值序列" + +-#: keymap.c:1543 ++#: keymap.c:1541 + msgid "exec: no arguments" + msgstr "exec:无参数" + +-#: keymap.c:1563 ++#: keymap.c:1561 + #, c-format + msgid "%s: no such function" + msgstr "%s:没有这样的函数" + +-#: keymap.c:1584 ++#: keymap.c:1582 + msgid "Enter keys (^G to abort): " + msgstr "请按键 (按 ^G 中止):" + +-#: keymap.c:1590 ++#: keymap.c:1588 + #, c-format + msgid "Char = %s, Octal = %o, Decimal = %d" + msgstr "字符 = %s, 八进制 = %o, 十进制 = %d" +@@ -3007,7 +3111,7 @@ msgstr "没有发现类型 %s 的 mailcap 纪录" + msgid "Scanning %s..." + msgstr "正在扫描 %s..." + +-#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:353 ++#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:351 + #, c-format + msgid "Reading %s..." + msgstr "正在读取 %s..." +@@ -3021,13 +3125,13 @@ msgid "md_commit_message(): unable to set time on file" + msgstr "md_commit_message():无法给文件设置时间" + + #. L10N: Displayed before/as a mailbox is being synced +-#: maildir/shared.c:1723 mbox/mbox.c:1276 mx.c:461 notmuch/mutt_notmuch.c:2364 ++#: maildir/shared.c:1734 mbox/mbox.c:1276 mx.c:459 notmuch/mutt_notmuch.c:2364 + #, c-format + msgid "Writing %s..." + msgstr "正在写入 %s..." + + #. L10N: Try to limit to 80 columns +-#: main.c:227 ++#: main.c:160 + msgid "" + "usage:\n" + " neomutt [-Enx] [-e ] [-F ] [-H ] [-i ]\n" +@@ -3068,7 +3172,7 @@ msgstr "" + " neomutt -v[v]\n" + + #. L10N: Try to limit to 80 columns. If more space is needed add an indented line +-#: main.c:247 ++#: main.c:180 + msgid "" + "options:\n" + " -- Special argument forces NeoMutt to stop option parsing and treat\n" +@@ -3147,54 +3251,54 @@ msgstr "" + " -Z 打开第一个有新信件的信箱,如果一个也没有的话立即退出并返回 1\n" + " -z 打开非空的第一个或 (-f) 指定的信箱否则立即退出并返回 1" + +-#: main.c:312 ++#: main.c:245 + msgid "Error initializing terminal" + msgstr "初始化终端时出错" + +-#: main.c:390 ++#: main.c:323 + msgid "unable to determine username" + msgstr "无法确定用户名" + +-#: main.c:396 ++#: main.c:329 + msgid "unable to determine home directory" + msgstr "无法确定用户主目录" + +-#: main.c:640 ++#: main.c:572 + #, c-format + msgid "Error: value '%s' is invalid for -d" + msgstr "错误:变量'%s'对于 -d 来说无效" + +-#: main.c:884 ++#: main.c:815 + msgid "Failed to parse mailto: link" + msgstr "解析 mailto: 链接失败" + +-#: main.c:896 send.c:2452 send.c:2456 ++#: main.c:827 send.c:2463 send.c:2467 + msgid "No recipients specified" + msgstr "没有指定接收者" + +-#: main.c:923 ++#: main.c:854 + msgid "Can't use -E flag with stdin" + msgstr "无法使用 -E 选项在stdin情况下" + +-#: main.c:1007 ++#: main.c:938 + #, c-format + msgid "Can't parse message template: %s" + msgstr "无法解析信件模板:%s" + +-#: main.c:1073 mutt_header.c:329 ++#: main.c:1004 mutt_header.c:329 + #, c-format + msgid "%s: unable to attach file" + msgstr "%s:无法附加文件" + +-#: main.c:1156 ++#: main.c:1087 + msgid "No mailbox with new mail" + msgstr "没有信箱有新信件" + +-#: main.c:1180 ++#: main.c:1111 + msgid "No incoming mailboxes defined" + msgstr "未定义收信信箱" + +-#: main.c:1230 ++#: main.c:1161 + msgid "Mailbox is empty" + msgstr "信箱是空的" + +@@ -3236,52 +3340,52 @@ msgstr "无法重开信箱" + msgid "Can't write message" + msgstr "无法写入信件" + +-#: menu.c:632 ++#: menu.c:631 + msgid "Jump to: " + msgstr "跳到:" + +-#: menu.c:641 ++#: menu.c:640 + msgid "Invalid index number" + msgstr "无效的索引编号" + +-#: menu.c:645 menu.c:671 menu.c:744 menu.c:810 menu.c:828 menu.c:843 menu.c:858 +-#: menu.c:873 menu.c:890 menu.c:907 menu.c:1553 ++#: menu.c:644 menu.c:670 menu.c:743 menu.c:809 menu.c:827 menu.c:842 menu.c:857 ++#: menu.c:872 menu.c:889 menu.c:906 menu.c:1553 + msgid "No entries" + msgstr "没有条目" + +-#: menu.c:668 ++#: menu.c:667 + msgid "You can't scroll down farther" + msgstr "您无法再向下滚动了" + +-#: menu.c:690 ++#: menu.c:689 + msgid "You can't scroll up farther" + msgstr "您无法再向上滚动了" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the first page" + msgstr "您现在在第一页" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the last page" + msgstr "您现在在最后一页" + +-#: menu.c:922 ++#: menu.c:921 + msgid "You are on the last entry" + msgstr "您现在在最后一项" + +-#: menu.c:937 ++#: menu.c:936 + msgid "You are on the first entry" + msgstr "您现在在第一项" + +-#: menu.c:1172 pager.c:2692 pattern.c:2578 ++#: menu.c:1172 pager.c:2666 pattern.c:2702 + msgid "Search for: " + msgstr "搜寻:" + +-#: menu.c:1173 pager.c:2693 pattern.c:2579 ++#: menu.c:1173 pager.c:2667 pattern.c:2703 + msgid "Reverse search for: " + msgstr "返向搜寻:" + +-#: menu.c:1226 pager.c:2641 pager.c:2666 pager.c:2800 pattern.c:2708 ++#: menu.c:1226 pager.c:2615 pager.c:2640 pager.c:2774 pattern.c:2832 + msgid "Not found" + msgstr "没有找到" + +@@ -3324,20 +3428,20 @@ msgstr "正在等待尝试 flock... %d" + msgid "Bad history file format (line %d)" + msgstr "错误的历史文件格式 (第 %d 行)" + +-#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1006 ncrypt/crypt_gpgme.c:2381 +-#: ncrypt/crypt_gpgme.c:2401 ncrypt/crypt_gpgme.c:2460 +-#: ncrypt/crypt_gpgme.c:2477 ncrypt/crypt_gpgme.c:2509 +-#: ncrypt/crypt_gpgme.c:2527 ncrypt/crypt_gpgme.c:2611 +-#: ncrypt/crypt_gpgme.c:3194 ncrypt/crypt_gpgme.c:3292 +-#: ncrypt/crypt_gpgme.c:4373 ncrypt/pgp.c:576 ncrypt/pgp.c:583 ncrypt/pgp.c:896 +-#: ncrypt/pgp.c:1014 ncrypt/pgp.c:1161 ncrypt/pgp.c:1181 ncrypt/pgp.c:1215 +-#: ncrypt/pgp.c:1568 ncrypt/pgpkey.c:708 ncrypt/pgpkey.c:902 +-#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1092 ncrypt/smime.c:1100 +-#: ncrypt/smime.c:1191 ncrypt/smime.c:1299 ncrypt/smime.c:1364 +-#: ncrypt/smime.c:1372 ncrypt/smime.c:1571 ncrypt/smime.c:1967 +-#: ncrypt/smime.c:2046 ncrypt/smime.c:2053 ncrypt/smime.c:2156 +-#: ncrypt/smime.c:2281 ncrypt/smime.c:2297 nntp/nntp.c:1397 nntp/nntp.c:2237 +-#: pattern.c:1132 pop/pop.c:182 ++#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1005 ncrypt/crypt_gpgme.c:2420 ++#: ncrypt/crypt_gpgme.c:2440 ncrypt/crypt_gpgme.c:2499 ++#: ncrypt/crypt_gpgme.c:2516 ncrypt/crypt_gpgme.c:2548 ++#: ncrypt/crypt_gpgme.c:2566 ncrypt/crypt_gpgme.c:2650 ++#: ncrypt/crypt_gpgme.c:3237 ncrypt/crypt_gpgme.c:3335 ++#: ncrypt/crypt_gpgme.c:4421 ncrypt/pgp.c:575 ncrypt/pgp.c:582 ncrypt/pgp.c:895 ++#: ncrypt/pgp.c:1013 ncrypt/pgp.c:1160 ncrypt/pgp.c:1180 ncrypt/pgp.c:1214 ++#: ncrypt/pgp.c:1570 ncrypt/pgpkey.c:741 ncrypt/pgpkey.c:937 ++#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1126 ncrypt/smime.c:1134 ++#: ncrypt/smime.c:1225 ncrypt/smime.c:1333 ncrypt/smime.c:1398 ++#: ncrypt/smime.c:1406 ncrypt/smime.c:1605 ncrypt/smime.c:2001 ++#: ncrypt/smime.c:2080 ncrypt/smime.c:2087 ncrypt/smime.c:2190 ++#: ncrypt/smime.c:2315 ncrypt/smime.c:2331 nntp/nntp.c:1399 nntp/nntp.c:2239 ++#: pattern.c:1171 pop/pop.c:182 + msgid "Can't create temporary file" + msgstr "无法创建临时文件" + +@@ -3356,7 +3460,7 @@ msgstr "正在使用级别 %d 进行调试,输出到文件 '%s'" + msgid "Logging at level %d to file '%s'" + msgstr "正在使用级别 %d 记录日志到文件 '%s'" + +-#: mutt/path.c:401 ++#: mutt/path.c:420 + msgid "Error: converting path to absolute" + msgstr "错误:转化路径到绝对路径" + +@@ -3379,17 +3483,17 @@ msgstr "捕捉到信号 %d (%s) ... 正在退出。\n" + msgid "Caught signal %d ... Exiting.\n" + msgstr "捕捉到信号 %d ... 正在退出。\n" + +-#: muttlib.c:490 ++#: muttlib.c:488 + #, c-format + msgid "mutt_randbuf buflen=%zu" + msgstr "mutt_randbuf buflen=%zu" + +-#: muttlib.c:510 ++#: muttlib.c:508 + #, c-format + msgid "open /dev/urandom: %s" + msgstr "打开 /dev/urandom:%s" + +-#: muttlib.c:517 ++#: muttlib.c:515 + #, c-format + msgid "read /dev/urandom: %s" + msgstr "读取 /dev/urandom:%s" +@@ -3397,146 +3501,119 @@ msgstr "读取 /dev/urandom:%s" + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) + #. These three letters correspond to the choices in the string. +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "File is a directory, save under it: (y)es, (n)o, (a)ll?" + msgstr "文件是一个目录,在其下保存吗?是(y), 否(n), 全部(a)" + +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "yna" + msgstr "yna" + + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) +-#: muttlib.c:763 ++#: muttlib.c:761 + msgid "File is a directory, save under it?" + msgstr "文件是一个目录,在其下保存吗?" + +-#: muttlib.c:768 ++#: muttlib.c:766 + msgid "File under directory: " + msgstr "在目录下的文件:" + +-#: muttlib.c:781 ++#: muttlib.c:779 + msgid "File exists, (o)verwrite, (a)ppend, or (c)ancel?" + msgstr "文件已经存在, 覆盖(o), 附加(a), 或取消(c)?" + + #. L10N: Options for: File exists, (o)verwrite, (a)ppend, or (c)ancel? +-#: muttlib.c:783 ++#: muttlib.c:781 + msgid "oac" + msgstr "oac" + +-#: muttlib.c:1458 ++#: muttlib.c:1456 + msgid "Can't save message to POP mailbox" + msgstr "无法将信件保存到 POP 信箱" + +-#: muttlib.c:1468 ++#: muttlib.c:1466 + #, c-format + msgid "Append messages to %s?" + msgstr "附加信件到 %s 末尾?" + +-#: muttlib.c:1481 ++#: muttlib.c:1479 + msgid "Can't save message to news server" + msgstr "无法将信件保存到新闻服务器" + +-#. L10N: Example: Username at myhost.com +-#: mutt_account.c:233 +-#, c-format +-msgid "Username at %s: " +-msgstr "在 %s 的用户名:" +- +-#: mutt_account.c:315 +-#, c-format +-msgid "Password for %s@%s: " +-msgstr "%s@%s 的密码:" +- +-#. L10N: You will see this error message if (1) you have "oauthbearer" in +-#. one of your $*_authenticators and (2) you do not have the corresponding +-#. $*_oauth_refresh_command defined. So the message does not mean "None of +-#. your $*_oauth_refresh_command's are defined." +-#: mutt_account.c:383 +-msgid "No OAUTH refresh command defined" +-msgstr "OAUTH 刷新命令未定义" +- +-#: mutt_account.c:390 +-msgid "Unable to run refresh command" +-msgstr "无法运行刷新命令" +- +-#: mutt_account.c:400 +-msgid "Command returned empty string" +-msgstr "命令返回了空字符串" +- +-#: mutt_attach.c:140 mutt_attach.c:274 mutt_attach.c:459 mutt_attach.c:1054 ++#: mutt_attach.c:142 mutt_attach.c:276 mutt_attach.c:488 mutt_attach.c:1087 + msgid "Can't match 'nametemplate', continue?" + msgstr "无法匹配名称模板,继续?" + +-#: mutt_attach.c:150 ++#: mutt_attach.c:152 + #, c-format + msgid "Mailcap compose entry requires %%s" + msgstr "Mailcap 撰写条目需要 %%s" + +-#: mutt_attach.c:168 ++#: mutt_attach.c:170 + msgid "Failure to open file to parse headers" + msgstr "为分析信件头而打开文件时失败" + +-#: mutt_attach.c:202 ++#: mutt_attach.c:204 + msgid "Failure to open file to strip headers" + msgstr "为去除信件头而打开文件时失败" + +-#: mutt_attach.c:212 ++#: mutt_attach.c:214 + msgid "Failure to rename file" + msgstr "重命名文件失败" + +-#: mutt_attach.c:222 ++#: mutt_attach.c:224 + #, c-format + msgid "No mailcap compose entry for %s, creating empty file" + msgstr "没有 %s 的 mailcap 撰写条目,正在创建空文件" + +-#: mutt_attach.c:284 ++#: mutt_attach.c:286 + #, c-format + msgid "Mailcap Edit entry requires %%s" + msgstr "Mailcap 编辑条目需要 %%s" + +-#: mutt_attach.c:305 ++#: mutt_attach.c:307 + #, c-format + msgid "No mailcap edit entry for %s" + msgstr "没有 %s 的 mailcap 编辑条目" + +-#: mutt_attach.c:427 ++#: mutt_attach.c:456 + msgid "No matching mailcap entry found. Viewing as text." + msgstr "没有发现匹配的 mailcap 条目。以文本方式显示" + +-#: mutt_attach.c:440 ++#: mutt_attach.c:469 + msgid "MIME type not defined. Can't view attachment." + msgstr "MIME 类型未定义。无法显示附件" + +-#: mutt_attach.c:535 ++#: mutt_attach.c:563 + #, c-format + msgid "---Command: %-20.20s Description: %s" + msgstr "---命令:%-20.20s 描述:%s" + +-#: mutt_attach.c:540 ++#: mutt_attach.c:568 + #, c-format + msgid "---Command: %-30.30s Attachment: %s" + msgstr "---命令:%-30.30s 附件:%s" + +-#: mutt_attach.c:619 ++#: mutt_attach.c:652 + #, c-format + msgid "---Attachment: %s: %s" + msgstr "---附件:%s:%s" + +-#: mutt_attach.c:621 ++#: mutt_attach.c:654 + #, c-format + msgid "---Attachment: %s" + msgstr "---附件:%s" + +-#: mutt_attach.c:902 mutt_attach.c:910 ++#: mutt_attach.c:935 mutt_attach.c:943 + msgid "Write fault" + msgstr "写入出错" + +-#: mutt_attach.c:1174 ++#: mutt_attach.c:1207 + msgid "I don't know how to print that" + msgstr "我不知道要如何打印它" + +-#: mutt_history.c:47 query.c:84 ++#: mutt_history.c:47 query.c:82 + msgid "Search" + msgstr "搜索" + +@@ -3545,21 +3622,21 @@ msgstr "搜索" + msgid "History '%s'" + msgstr "记录 '%s'" + +-#: mutt_logging.c:315 ++#: mutt_logging.c:313 + #, c-format + msgid "Invalid value for option %s: %ld" + msgstr "选项 %s 的值无效:“%ld”" + +-#: mutt_lua.c:429 ++#: mutt_lua.c:431 + msgid "Error: Couldn't load the lua interpreter" + msgstr "错误:无法加载 lua 解释器" + +-#: mutt_lua.c:491 ++#: mutt_lua.c:493 + #, c-format + msgid "Couldn't source lua source: %s" + msgstr "无法读取 Lua 源码:%s" + +-#: mutt_mailbox.c:214 ++#: mutt_mailbox.c:241 + msgid "New mail in " + msgstr "有新信件在 " + +@@ -3580,20 +3657,20 @@ msgstr "根信件在此限制视图中不可见" + msgid "Parent message is not visible in this limited view" + msgstr "父信件在此限制视图中不可见" + +-#: mx.c:387 ++#: mx.c:385 + #, c-format + msgid "Reading from %s interrupted..." + msgstr "读取 %s 已中断..." + + #. L10N: Displayed if a mailbox sync fails +-#: mx.c:468 ++#: mx.c:469 + #, c-format + msgid "Unable to write %s" + msgstr "无法写入 %s" + + #. L10N: Although we know the precise number of messages, we do not show it to the user. + #. So feel free to use a "generic plural" as plural translation if your language has one. +-#: mx.c:523 ++#: mx.c:525 + msgid "message not deleted" + msgid_plural "messages not deleted" + msgstr[0] "信件未被删除" +@@ -3602,67 +3679,67 @@ msgstr[0] "信件未被删除" + msgid "Can't open trash folder" + msgstr "无法打开回收站" + +-#: mx.c:623 ++#: mx.c:627 + msgid "Mark all articles read?" + msgstr "标记所有的帖子为已读?" + + #. L10N: The first argument is the number of read messages to be + #. moved, the second argument is the target mailbox. +-#: mx.c:671 ++#: mx.c:675 + #, c-format + msgid "Move %d read message to %s?" + msgid_plural "Move %d read messages to %s?" + msgstr[0] "移动 %d 封已读取的信件到 %s?" + +-#: mx.c:685 mx.c:917 ++#: mx.c:689 mx.c:936 + #, c-format + msgid "Purge %d deleted message?" + msgid_plural "Purge %d deleted messages?" + msgstr[0] "清除 %d 封已经被删除的信件?" + +-#: mx.c:708 ++#: mx.c:712 + #, c-format + msgid "Moving read messages to %s..." + msgstr "正在搬移已经读取的信件到 %s ..." + +-#: mx.c:774 mx.c:908 ++#: mx.c:783 mx.c:927 + msgid "Mailbox is unchanged" + msgstr "信箱没有改变" + +-#: mx.c:827 ++#: mx.c:842 + #, c-format + msgid "%d kept, %d moved, %d deleted" + msgstr "保留 %d 封,移动 %d 封,删除 %d 封" + +-#: mx.c:831 mx.c:972 ++#: mx.c:846 mx.c:991 + #, c-format + msgid "%d kept, %d deleted" + msgstr "保留 %d 封,删除 %d 封" + +-#: mx.c:892 ++#: mx.c:911 + #, c-format + msgid " Press '%s' to toggle write" + msgstr " 请按下 '%s' 来切换写入" + +-#: mx.c:894 ++#: mx.c:913 + msgid "Use 'toggle-write' to re-enable write" + msgstr "请使用 'toggle-write' 来重新启用写入" + +-#: mx.c:896 ++#: mx.c:915 + #, c-format + msgid "Mailbox is marked unwritable. %s" + msgstr "信箱已标记为不可写。%s" + +-#: mx.c:966 ++#: mx.c:985 + msgid "Mailbox checkpointed" + msgstr "信箱已检查" + +-#: ncrypt/crypt.c:93 ++#: ncrypt/crypt.c:91 + #, c-format + msgid " (current time: %c)" + msgstr " (当前时间:%c)" + +-#: ncrypt/crypt.c:98 ++#: ncrypt/crypt.c:96 + #, c-format + msgid "[-- %s output follows%s --]\n" + msgstr "[-- %s 输出如下%s --]\n" +@@ -3671,52 +3748,52 @@ msgstr "[-- %s 输出如下%s --]\n" + #. by gpg-agent) we can't know whether we forgot zero, 1, 12, ... + #. passwords. So in English we use "Passphrases". Your language might + #. have other means to express this. +-#: ncrypt/crypt.c:119 ++#: ncrypt/crypt.c:117 + msgid "Passphrases forgotten" + msgstr "已忘记通行密码" + +-#: ncrypt/crypt.c:203 ++#: ncrypt/crypt.c:201 + msgid "Inline PGP can't be used with attachments. Revert to PGP/MIME?" + msgstr "嵌入 PGP 不支持附件。回到使用 PGP/MIME 吗?" + +-#: ncrypt/crypt.c:207 ++#: ncrypt/crypt.c:205 + msgid "Mail not sent: inline PGP can't be used with attachments" + msgstr "信件无法发送:嵌入 PGP 不能用于附件" + +-#: ncrypt/crypt.c:214 ++#: ncrypt/crypt.c:212 + msgid "Inline PGP can't be used with format=flowed. Revert to PGP/MIME?" + msgstr "嵌入 PGP 不支持 format=flowed。回到使用 PGP/MIME 吗?" + +-#: ncrypt/crypt.c:218 ++#: ncrypt/crypt.c:216 + msgid "Mail not sent: inline PGP can't be used with format=flowed" + msgstr "信件无法发送:嵌入 PGP 不能用于 format=flowed" + +-#: ncrypt/crypt.c:228 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:714 +-#: ncrypt/pgpkey.c:915 ++#: ncrypt/crypt.c:226 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:747 ++#: ncrypt/pgpkey.c:950 + msgid "Invoking PGP..." + msgstr "正在调用 PGP..." + +-#: ncrypt/crypt.c:240 ++#: ncrypt/crypt.c:238 + msgid "Message can't be sent inline. Revert to using PGP/MIME?" + msgstr "无法将信件嵌入发送。回到使用 PGP/MIME 吗?" + +-#: ncrypt/crypt.c:242 send.c:2430 ++#: ncrypt/crypt.c:240 send.c:2441 + msgid "Mail not sent" + msgstr "信件没有寄出" + +-#: ncrypt/crypt.c:662 ++#: ncrypt/crypt.c:666 + msgid "S/MIME messages with no hints on content are unsupported" + msgstr "不支持没有内容提示的 S/MIME 消息" + +-#: ncrypt/crypt.c:888 ++#: ncrypt/crypt.c:892 + msgid "Trying to extract PGP keys...\n" + msgstr "正在尝试提取 PGP 密钥...\n" + +-#: ncrypt/crypt.c:917 ++#: ncrypt/crypt.c:921 + msgid "Trying to extract S/MIME certificates..." + msgstr "正在尝试提取 S/MIME 证书..." + +-#: ncrypt/crypt.c:1140 ++#: ncrypt/crypt.c:1144 + #, c-format + msgid "" + "[-- Error: Unknown multipart/signed protocol %s --]\n" +@@ -3725,7 +3802,7 @@ msgstr "" + "[-- 错误:未知的 multipart/signed 协议 %s! --]\n" + "\n" + +-#: ncrypt/crypt.c:1180 ++#: ncrypt/crypt.c:1184 + msgid "" + "[-- Error: Missing or bad-format multipart/signed signature --]\n" + "\n" +@@ -3733,7 +3810,7 @@ msgstr "" + "[-- 错误:缺失或格式错误的 multipart/signed 签名! --]\n" + "\n" + +-#: ncrypt/crypt.c:1222 ++#: ncrypt/crypt.c:1226 + #, c-format + msgid "" + "[-- Warning: We can't verify %s/%s signatures. --]\n" +@@ -3742,7 +3819,7 @@ msgstr "" + "[-- 警告:我们不能证实 %s/%s 签名。 --]\n" + "\n" + +-#: ncrypt/crypt.c:1235 ++#: ncrypt/crypt.c:1239 + msgid "" + "[-- The following data is signed --]\n" + "\n" +@@ -3750,7 +3827,7 @@ msgstr "" + "[-- 以下数据已签署 --]\n" + "\n" + +-#: ncrypt/crypt.c:1243 ++#: ncrypt/crypt.c:1248 + msgid "" + "[-- Warning: Can't find any signatures. --]\n" + "\n" +@@ -3758,7 +3835,7 @@ msgstr "" + "[-- 警告:找不到任何的签名。 --]\n" + "\n" + +-#: ncrypt/crypt.c:1249 ++#: ncrypt/crypt.c:1255 + msgid "" + "\n" + "[-- End of signed data --]\n" +@@ -3777,229 +3854,229 @@ msgstr "正在调用 S/MIME..." + #. L10N: The following are the headers for the "verify key" output from the + #. GPGME key selection menu (bound to "c" in the key selection menu). + #. They will be automatically aligned. +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Name: " + msgstr "名称:" + +-#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1869 ncrypt/crypt_gpgme.c:1874 ++#: ncrypt/crypt_gpgme.c:183 ncrypt/crypt_gpgme.c:1900 ncrypt/crypt_gpgme.c:1905 + msgid "aka: " + msgstr "亦即:" + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Valid From: " + msgstr "从此有效:" + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Valid To: " + msgstr "有效至:" + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Key Type: " + msgstr "密钥类型:" + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Key Usage: " + msgstr "密钥用法:" + +-#: ncrypt/crypt_gpgme.c:185 ncrypt/crypt_gpgme.c:1759 ++#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1790 + msgid "Fingerprint: " + msgstr "指纹:" + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Serial-No: " + msgstr "序列号:" + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + msgid "Issued By: " + msgstr "发放者:" + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + msgid "Subkey: " + msgstr "子密钥:" + +-#: ncrypt/crypt_gpgme.c:783 ++#: ncrypt/crypt_gpgme.c:782 + #, c-format + msgid "error enabling CMS protocol: %s" + msgstr "开启 CMS 协议时出错:%s" + +-#: ncrypt/crypt_gpgme.c:806 ++#: ncrypt/crypt_gpgme.c:805 + #, c-format + msgid "error creating gpgme data object: %s" + msgstr "创建 gpgme 数据对象时出错:%s" + +-#: ncrypt/crypt_gpgme.c:907 ncrypt/crypt_gpgme.c:934 ncrypt/crypt_gpgme.c:2057 +-#: ncrypt/crypt_gpgme.c:2814 ++#: ncrypt/crypt_gpgme.c:906 ncrypt/crypt_gpgme.c:933 ncrypt/crypt_gpgme.c:2096 ++#: ncrypt/crypt_gpgme.c:2853 + #, c-format + msgid "error allocating data object: %s" + msgstr "分配数据对象时出错:%s" + +-#: ncrypt/crypt_gpgme.c:956 ++#: ncrypt/crypt_gpgme.c:955 + #, c-format + msgid "error rewinding data object: %s" + msgstr "倒回数据对象时出错:%s" + +-#: ncrypt/crypt_gpgme.c:972 ++#: ncrypt/crypt_gpgme.c:971 + msgid "[tempfile]" + msgstr "[临时文件]" + +-#: ncrypt/crypt_gpgme.c:978 ncrypt/crypt_gpgme.c:1032 ++#: ncrypt/crypt_gpgme.c:977 ncrypt/crypt_gpgme.c:1031 + #, c-format + msgid "error reading data object: %s" + msgstr "读取数据对象时出错:%s" + +-#: ncrypt/crypt_gpgme.c:1149 ++#: ncrypt/crypt_gpgme.c:1148 + #, c-format + msgid "error adding recipient '%s': %s" + msgstr "添加收件人“%s”时出错:%s" + +-#: ncrypt/crypt_gpgme.c:1202 ++#: ncrypt/crypt_gpgme.c:1186 + #, c-format + msgid "secret key '%s' not found: %s" + msgstr "未找到密钥'%s':%s" + +-#: ncrypt/crypt_gpgme.c:1218 ++#: ncrypt/crypt_gpgme.c:1203 + #, c-format + msgid "ambiguous specification of secret key '%s'\n" + msgstr "密钥 '%s' 的说明有歧义\n" + +-#: ncrypt/crypt_gpgme.c:1234 ++#: ncrypt/crypt_gpgme.c:1219 + #, c-format + msgid "error setting secret key '%s': %s" + msgstr "设置密钥'%s'时出错:%s" + +-#: ncrypt/crypt_gpgme.c:1250 ++#: ncrypt/crypt_gpgme.c:1278 + #, c-format + msgid "error setting PKA signature notation: %s" + msgstr "设置公钥认证(PKA)签名注释时出错:%s" + +-#: ncrypt/crypt_gpgme.c:1324 ++#: ncrypt/crypt_gpgme.c:1353 + #, c-format + msgid "error encrypting data: %s" + msgstr "加密数据时出错:%s" + +-#: ncrypt/crypt_gpgme.c:1453 ++#: ncrypt/crypt_gpgme.c:1483 + #, c-format + msgid "error signing data: %s" + msgstr "签署数据时出错:%s" + +-#: ncrypt/crypt_gpgme.c:1463 ++#: ncrypt/crypt_gpgme.c:1493 + msgid "$pgp_sign_as unset and no default key specified in ~/.gnupg/gpg.conf" + msgstr "$pgp_sign_as 没有设置并且 ~/.gnupg/gpg.conf 没有指定默认密钥" + +-#: ncrypt/crypt_gpgme.c:1641 ++#: ncrypt/crypt_gpgme.c:1672 + msgid "Warning: One of the keys has been revoked\n" + msgstr "警告:密钥中有一个已经被吊销\n" + +-#: ncrypt/crypt_gpgme.c:1651 ++#: ncrypt/crypt_gpgme.c:1682 + msgid "Warning: The key used to create the signature expired at: " + msgstr "警告:用来创建签名的密钥已于此日期过期:" + +-#: ncrypt/crypt_gpgme.c:1657 ++#: ncrypt/crypt_gpgme.c:1688 + msgid "Warning: At least one certification key has expired\n" + msgstr "警告:至少有一个证书密钥已过期\n" + +-#: ncrypt/crypt_gpgme.c:1671 ++#: ncrypt/crypt_gpgme.c:1702 + msgid "Warning: The signature expired at: " + msgstr "警告:签名已于此日期过期:" + +-#: ncrypt/crypt_gpgme.c:1678 ++#: ncrypt/crypt_gpgme.c:1709 + msgid "Can't verify due to a missing key or certificate\n" + msgstr "由于缺少密钥或证书而无法验证\n" + +-#: ncrypt/crypt_gpgme.c:1683 ++#: ncrypt/crypt_gpgme.c:1714 + msgid "The CRL is not available\n" + msgstr "证书吊销列表(CRL)不可用\n" + +-#: ncrypt/crypt_gpgme.c:1689 ++#: ncrypt/crypt_gpgme.c:1720 + msgid "Available CRL is too old\n" + msgstr "可用的证书吊销列表(CRL)太旧\n" + +-#: ncrypt/crypt_gpgme.c:1694 ++#: ncrypt/crypt_gpgme.c:1725 + msgid "A policy requirement was not met\n" + msgstr "未满足策略要求\n" + +-#: ncrypt/crypt_gpgme.c:1703 ++#: ncrypt/crypt_gpgme.c:1734 + msgid "A system error occurred" + msgstr "发生系统错误" + +-#: ncrypt/crypt_gpgme.c:1734 ++#: ncrypt/crypt_gpgme.c:1765 + msgid "WARNING: PKA entry does not match signer's address: " + msgstr "警告:公钥认证(PKA)项与发送者地址不匹配:" + +-#: ncrypt/crypt_gpgme.c:1740 ++#: ncrypt/crypt_gpgme.c:1771 + msgid "PKA verified signer's address is: " + msgstr "公钥认证(PKA)确认的发送者地址为:" + +-#: ncrypt/crypt_gpgme.c:1822 ++#: ncrypt/crypt_gpgme.c:1853 + msgid "WARNING: We have NO indication whether the key belongs to the person named as shown above\n" + msgstr "警告:我们“无法”证实密钥是否属于上面列出名字的人\n" + +-#: ncrypt/crypt_gpgme.c:1829 ++#: ncrypt/crypt_gpgme.c:1860 + msgid "WARNING: The key does NOT BELONG to the person named as shown above\n" + msgstr "警告:密钥“不属于”上面列出名字的人\n" + +-#: ncrypt/crypt_gpgme.c:1833 ++#: ncrypt/crypt_gpgme.c:1864 + msgid "WARNING: It is NOT certain that the key belongs to the person named as shown above\n" + msgstr "警告:“无法”确定密钥属于上面列出名字的人\n" + +-#: ncrypt/crypt_gpgme.c:1886 ++#: ncrypt/crypt_gpgme.c:1917 + msgid "KeyID " + msgstr "KeyID " + + #. L10N: You will see this message in place of "KeyID " + #. if the S/MIME key has no ID. This is quite an error. +-#: ncrypt/crypt_gpgme.c:1893 ++#: ncrypt/crypt_gpgme.c:1924 + msgid "no signature fingerprint available" + msgstr "无可用签名指纹" + +-#: ncrypt/crypt_gpgme.c:1902 ncrypt/crypt_gpgme.c:1907 ++#: ncrypt/crypt_gpgme.c:1933 ncrypt/crypt_gpgme.c:1938 + msgid "created: " + msgstr "创建于:" + +-#: ncrypt/crypt_gpgme.c:1981 ++#: ncrypt/crypt_gpgme.c:2012 + #, c-format + msgid "Error getting key information for KeyID %s: %s\n" + msgstr "获取密钥 ID %s 的密钥信息出错:%s\n" + +-#: ncrypt/crypt_gpgme.c:1988 ncrypt/crypt_gpgme.c:2003 ++#: ncrypt/crypt_gpgme.c:2019 ncrypt/crypt_gpgme.c:2034 + msgid "Good signature from:" + msgstr "正确的签名来自:" + +-#: ncrypt/crypt_gpgme.c:1995 ++#: ncrypt/crypt_gpgme.c:2026 + msgid "*BAD* signature from:" + msgstr "*错误*的签名来自:" + +-#: ncrypt/crypt_gpgme.c:2011 ++#: ncrypt/crypt_gpgme.c:2042 + msgid "Problem signature from:" + msgstr "有问题的签名来自:" + + #. L10N: This is trying to match the width of the + #. "Problem signature from:" translation just above. +-#: ncrypt/crypt_gpgme.c:2017 ++#: ncrypt/crypt_gpgme.c:2048 + msgid " expires: " + msgstr " 已于此日期过期:" + +-#: ncrypt/crypt_gpgme.c:2064 ncrypt/crypt_gpgme.c:2294 +-#: ncrypt/crypt_gpgme.c:3081 ++#: ncrypt/crypt_gpgme.c:2103 ncrypt/crypt_gpgme.c:2333 ++#: ncrypt/crypt_gpgme.c:3124 + msgid "[-- Begin signature information --]\n" + msgstr "[-- 签名信息开始 --]\n" + +-#: ncrypt/crypt_gpgme.c:2075 ++#: ncrypt/crypt_gpgme.c:2114 + #, c-format + msgid "Error: verification failed: %s\n" + msgstr "错误:验证失败:%s\n" + +-#: ncrypt/crypt_gpgme.c:2126 ++#: ncrypt/crypt_gpgme.c:2165 + #, c-format + msgid "*** Begin Notation (signature by: %s) ***\n" + msgstr "*** 注释开始 (由 %s 签署) ***\n" + +-#: ncrypt/crypt_gpgme.c:2145 ++#: ncrypt/crypt_gpgme.c:2184 + msgid "*** End Notation ***\n" + msgstr "*** 注释结束 ***\n" + +-#: ncrypt/crypt_gpgme.c:2153 ncrypt/crypt_gpgme.c:2308 +-#: ncrypt/crypt_gpgme.c:3091 ++#: ncrypt/crypt_gpgme.c:2192 ncrypt/crypt_gpgme.c:2347 ++#: ncrypt/crypt_gpgme.c:3134 + msgid "" + "[-- End signature information --]\n" + "\n" +@@ -4007,7 +4084,7 @@ msgstr "" + "[-- 签名信息结束 --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:2268 ++#: ncrypt/crypt_gpgme.c:2307 + #, c-format + msgid "" + "[-- Error: decryption failed: %s --]\n" +@@ -4016,21 +4093,26 @@ msgstr "" + "[-- 错误:解密失败:%s --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:2821 ++#: ncrypt/crypt_gpgme.c:2860 + #, c-format + msgid "Error importing key: %s" + msgstr "导入密钥时出错:%s" + +-#: ncrypt/crypt_gpgme.c:3059 ++#: ncrypt/crypt_gpgme.c:3098 + #, c-format + msgid "Error: decryption/verification failed: %s\n" + msgstr "错误:解密/验证失败:%s\n" + +-#: ncrypt/crypt_gpgme.c:3103 ++#: ncrypt/crypt_gpgme.c:3105 ncrypt/crypt_gpgme.c:3302 ncrypt/pgp.c:726 ++#: ncrypt/pgp.c:1273 ++msgid "PGP message successfully decrypted" ++msgstr "PGP 信件成功解密" ++ ++#: ncrypt/crypt_gpgme.c:3146 + msgid "Error: copy data failed\n" + msgstr "错误:复制数据失败\n" + +-#: ncrypt/crypt_gpgme.c:3116 ncrypt/pgp.c:675 ++#: ncrypt/crypt_gpgme.c:3159 ncrypt/pgp.c:674 + msgid "" + "[-- BEGIN PGP MESSAGE --]\n" + "\n" +@@ -4038,11 +4120,11 @@ msgstr "" + "[-- PGP 消息开始 --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3118 ncrypt/pgp.c:677 ++#: ncrypt/crypt_gpgme.c:3161 ncrypt/pgp.c:676 + msgid "[-- BEGIN PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- PGP 公钥块开始 --]\n" + +-#: ncrypt/crypt_gpgme.c:3120 ncrypt/pgp.c:679 ++#: ncrypt/crypt_gpgme.c:3163 ncrypt/pgp.c:678 + msgid "" + "[-- BEGIN PGP SIGNED MESSAGE --]\n" + "\n" +@@ -4050,19 +4132,19 @@ msgstr "" + "[-- PGP 签署的信件开始 --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3145 ncrypt/pgp.c:716 ++#: ncrypt/crypt_gpgme.c:3188 ncrypt/pgp.c:715 + msgid "[-- END PGP MESSAGE --]\n" + msgstr "[-- PGP 消息结束 --]\n" + +-#: ncrypt/crypt_gpgme.c:3147 ncrypt/pgp.c:730 ++#: ncrypt/crypt_gpgme.c:3190 ncrypt/pgp.c:729 + msgid "[-- END PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- PGP 公钥块结束 --]\n" + +-#: ncrypt/crypt_gpgme.c:3149 ncrypt/pgp.c:732 ++#: ncrypt/crypt_gpgme.c:3192 ncrypt/pgp.c:731 + msgid "[-- END PGP SIGNED MESSAGE --]\n" + msgstr "[-- PGP 签署的信件结束 --]\n" + +-#: ncrypt/crypt_gpgme.c:3170 ncrypt/pgp.c:765 ++#: ncrypt/crypt_gpgme.c:3213 ncrypt/pgp.c:764 + msgid "" + "[-- Error: could not find beginning of PGP message --]\n" + "\n" +@@ -4070,11 +4152,11 @@ msgstr "" + "[-- 错误:找不到 PGP 消息的开头! --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3198 ncrypt/crypt_gpgme.c:3296 ncrypt/pgp.c:1218 ++#: ncrypt/crypt_gpgme.c:3241 ncrypt/crypt_gpgme.c:3339 ncrypt/pgp.c:1218 + msgid "[-- Error: could not create temporary file --]\n" + msgstr "[-- 错误:无法创建临时文件! --]\n" + +-#: ncrypt/crypt_gpgme.c:3212 ++#: ncrypt/crypt_gpgme.c:3255 + msgid "" + "[-- The following data is PGP/MIME signed and encrypted --]\n" + "\n" +@@ -4082,7 +4164,7 @@ msgstr "" + "[-- 以下数据已由 PGP/MIME 签署并加密 --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3214 ncrypt/pgp.c:1231 ++#: ncrypt/crypt_gpgme.c:3257 ncrypt/pgp.c:1232 + msgid "" + "[-- The following data is PGP/MIME encrypted --]\n" + "\n" +@@ -4090,24 +4172,20 @@ msgstr "" + "[-- 以下数据已由 PGP/MIME 加密 --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3254 ++#: ncrypt/crypt_gpgme.c:3297 + msgid "[-- End of PGP/MIME signed and encrypted data --]\n" + msgstr "[-- PGP/MIME 签署并加密的数据结束 --]\n" + +-#: ncrypt/crypt_gpgme.c:3255 ncrypt/pgp.c:1267 ++#: ncrypt/crypt_gpgme.c:3298 ncrypt/pgp.c:1268 + msgid "[-- End of PGP/MIME encrypted data --]\n" + msgstr "[-- PGP/MIME 加密数据结束 --]\n" + +-#: ncrypt/crypt_gpgme.c:3259 ncrypt/pgp.c:727 ncrypt/pgp.c:1272 +-msgid "PGP message successfully decrypted" +-msgstr "PGP 信件成功解密" +- +-#: ncrypt/crypt_gpgme.c:3265 ncrypt/pgp.c:666 ncrypt/pgp.c:718 +-#: ncrypt/pgp.c:1276 ++#: ncrypt/crypt_gpgme.c:3308 ncrypt/pgp.c:665 ncrypt/pgp.c:717 ++#: ncrypt/pgp.c:1277 + msgid "Could not decrypt PGP message" + msgstr "无法解密 PGP 信件" + +-#: ncrypt/crypt_gpgme.c:3310 ++#: ncrypt/crypt_gpgme.c:3353 + msgid "" + "[-- The following data is S/MIME signed --]\n" + "\n" +@@ -4115,7 +4193,7 @@ msgstr "" + "[-- 以下数据已由 S/MIME 签署 --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3311 ++#: ncrypt/crypt_gpgme.c:3354 + msgid "" + "[-- The following data is S/MIME encrypted --]\n" + "\n" +@@ -4123,128 +4201,128 @@ msgstr "" + "[-- 以下数据已由 S/MIME 加密 --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3358 ++#: ncrypt/crypt_gpgme.c:3401 + msgid "[-- End of S/MIME signed data --]\n" + msgstr "[-- S/MIME 签署的数据结束 --]\n" + +-#: ncrypt/crypt_gpgme.c:3359 ++#: ncrypt/crypt_gpgme.c:3402 + msgid "[-- End of S/MIME encrypted data --]\n" + msgstr "[-- S/MIME 加密的数据结束 --]\n" + +-#: ncrypt/crypt_gpgme.c:4029 ++#: ncrypt/crypt_gpgme.c:4077 + msgid "[Can't display this user ID (unknown encoding)]" + msgstr "[无法显示用户 ID (未知编码)]" + +-#: ncrypt/crypt_gpgme.c:4031 ++#: ncrypt/crypt_gpgme.c:4079 + msgid "[Can't display this user ID (invalid encoding)]" + msgstr "[无法显示用户 ID (无效编码)]" + +-#: ncrypt/crypt_gpgme.c:4036 ++#: ncrypt/crypt_gpgme.c:4084 + msgid "[Can't display this user ID (invalid DN)]" + msgstr "[无法显示用户 ID (无效 DN)]" + + #. L10N: comes after the Name or aka if the key is invalid + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4150 ncrypt/crypt_gpgme.c:4291 ++#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4339 + msgid "[Invalid]" + msgstr "[无效]" + + #. L10N: This is printed after "Key Type: " and looks like this: PGP, 2048 bit RSA +-#: ncrypt/crypt_gpgme.c:4190 ncrypt/crypt_gpgme.c:4331 ++#: ncrypt/crypt_gpgme.c:4238 ncrypt/crypt_gpgme.c:4379 + #, c-format + msgid "%s, %lu bit %s\n" + msgid_plural "%s, %lu bit %s\n" + msgstr[0] "%s,%lu 位 %s\n" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4338 ++#: ncrypt/crypt_gpgme.c:4246 ncrypt/crypt_gpgme.c:4386 + msgid "encryption" + msgstr "加密" + +-#: ncrypt/crypt_gpgme.c:4199 ncrypt/crypt_gpgme.c:4205 +-#: ncrypt/crypt_gpgme.c:4339 ncrypt/crypt_gpgme.c:4344 ++#: ncrypt/crypt_gpgme.c:4247 ncrypt/crypt_gpgme.c:4253 ++#: ncrypt/crypt_gpgme.c:4387 ncrypt/crypt_gpgme.c:4392 + msgid ", " + msgstr ", " + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4204 ncrypt/crypt_gpgme.c:4343 ++#: ncrypt/crypt_gpgme.c:4252 ncrypt/crypt_gpgme.c:4391 + msgid "signing" + msgstr "正在签署" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4210 ncrypt/crypt_gpgme.c:4348 ++#: ncrypt/crypt_gpgme.c:4258 ncrypt/crypt_gpgme.c:4396 + msgid "certification" + msgstr "证书" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4285 ++#: ncrypt/crypt_gpgme.c:4333 + msgid "[Revoked]" + msgstr "[已吊销]" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4297 ++#: ncrypt/crypt_gpgme.c:4345 + msgid "[Expired]" + msgstr "[已过期]" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4303 ++#: ncrypt/crypt_gpgme.c:4351 + msgid "[Disabled]" + msgstr "[已禁用]" + +-#: ncrypt/crypt_gpgme.c:4376 ++#: ncrypt/crypt_gpgme.c:4424 + msgid "Collecting data..." + msgstr "正在收集数据..." + +-#: ncrypt/crypt_gpgme.c:4394 ++#: ncrypt/crypt_gpgme.c:4442 + #, c-format + msgid "Error finding issuer key: %s\n" + msgstr "查找发放者密钥出错:%s\n" + +-#: ncrypt/crypt_gpgme.c:4403 ++#: ncrypt/crypt_gpgme.c:4451 + msgid "Error: certification chain too long - stopping here\n" + msgstr "错误:证书链过长 - 就此打住\n" + +-#: ncrypt/crypt_gpgme.c:4413 ncrypt/pgpkey.c:733 ++#: ncrypt/crypt_gpgme.c:4461 ncrypt/pgpkey.c:766 + #, c-format + msgid "Key ID: 0x%s" + msgstr "密钥 ID:0x%s" + +-#: ncrypt/crypt_gpgme.c:4538 ncrypt/crypt_gpgme.c:4589 ++#: ncrypt/crypt_gpgme.c:4586 ncrypt/crypt_gpgme.c:4637 + #, c-format + msgid "gpgme_op_keylist_start failed: %s" + msgstr "gpgme_op_keylist_start 失败:%s" + +-#: ncrypt/crypt_gpgme.c:4577 ncrypt/crypt_gpgme.c:4619 +-#: ncrypt/crypt_gpgme.c:5355 ++#: ncrypt/crypt_gpgme.c:4625 ncrypt/crypt_gpgme.c:4667 ++#: ncrypt/crypt_gpgme.c:5435 + #, c-format + msgid "gpgme_op_keylist_next failed: %s" + msgstr "gpgme_op_keylist_next 失败:%s" + +-#: ncrypt/crypt_gpgme.c:4701 ++#: ncrypt/crypt_gpgme.c:4749 + msgid "All matching keys are marked expired/revoked" + msgstr "所有符合的密钥都被标记为过期/吊销" + +-#: ncrypt/crypt_gpgme.c:4731 ncrypt/pgpkey.c:666 ncrypt/smime.c:551 ++#: ncrypt/crypt_gpgme.c:4779 ncrypt/pgpkey.c:669 ncrypt/smime.c:553 + msgid "Select " + msgstr "选择 " + +-#: ncrypt/crypt_gpgme.c:4733 ncrypt/pgpkey.c:668 ++#: ncrypt/crypt_gpgme.c:4781 ncrypt/pgpkey.c:671 + msgid "Check key " + msgstr "检查密钥 " + +-#: ncrypt/crypt_gpgme.c:4749 ++#: ncrypt/crypt_gpgme.c:4827 + msgid "PGP and S/MIME keys matching" + msgstr "PGP 和 S/MIME 密钥匹配" + +-#: ncrypt/crypt_gpgme.c:4751 ++#: ncrypt/crypt_gpgme.c:4829 + msgid "PGP keys matching" + msgstr "PGP 密钥匹配" + +-#: ncrypt/crypt_gpgme.c:4753 ++#: ncrypt/crypt_gpgme.c:4831 + msgid "S/MIME keys matching" + msgstr "S/MIME 密钥匹配" + +-#: ncrypt/crypt_gpgme.c:4755 ++#: ncrypt/crypt_gpgme.c:4833 + msgid "keys matching" + msgstr "密钥匹配" + +@@ -4252,55 +4330,55 @@ msgstr "密钥匹配" + #. %1$s is one of the previous four entries. + #. %2$s is an address. + #. e.g. "S/MIME keys matching " +-#: ncrypt/crypt_gpgme.c:4763 ++#: ncrypt/crypt_gpgme.c:4841 + #, c-format + msgid "%s <%s>" + msgstr "%s <%s>" + + #. L10N: e.g. 'S/MIME keys matching "Michael Elkins".' +-#: ncrypt/crypt_gpgme.c:4768 ++#: ncrypt/crypt_gpgme.c:4846 + #, c-format + msgid "%s \"%s\"" + msgstr "%s \"%s\"" + +-#: ncrypt/crypt_gpgme.c:4796 ncrypt/pgpkey.c:754 ++#: ncrypt/crypt_gpgme.c:4874 ncrypt/pgpkey.c:787 + msgid "This key can't be used: expired/disabled/revoked" + msgstr "无法使用这个密钥:已过期/已禁用/已吊销" + +-#: ncrypt/crypt_gpgme.c:4810 ncrypt/pgpkey.c:767 ncrypt/smime.c:581 ++#: ncrypt/crypt_gpgme.c:4888 ncrypt/pgpkey.c:800 ncrypt/smime.c:613 + msgid "ID is expired/disabled/revoked. Do you really want to use the key?" + msgstr "ID 已过期/已禁用/已吊销。您真的要使用此密钥吗?" + +-#: ncrypt/crypt_gpgme.c:4820 ncrypt/pgpkey.c:779 ++#: ncrypt/crypt_gpgme.c:4898 ncrypt/pgpkey.c:812 + msgid "ID is not valid. Do you really want to use the key?" + msgstr "ID 无效。您真的要使用此密钥吗?" + +-#: ncrypt/crypt_gpgme.c:4823 ncrypt/pgpkey.c:782 ++#: ncrypt/crypt_gpgme.c:4901 ncrypt/pgpkey.c:815 + msgid "ID is only marginally valid. Do you really want to use the key?" + msgstr "ID 仅勉强有效。您真的要使用此密钥吗?" + +-#: ncrypt/crypt_gpgme.c:4831 ncrypt/pgpkey.c:775 ncrypt/smime.c:585 ++#: ncrypt/crypt_gpgme.c:4909 ncrypt/pgpkey.c:808 ncrypt/smime.c:617 + msgid "ID has undefined validity. Do you really want to use the key?" + msgstr "ID 有效性未定义。您真的要使用此密钥吗?" + +-#: ncrypt/crypt_gpgme.c:4911 ncrypt/crypt_gpgme.c:5024 ncrypt/pgpkey.c:1019 +-#: ncrypt/pgpkey.c:1146 ++#: ncrypt/crypt_gpgme.c:4991 ncrypt/crypt_gpgme.c:5104 ncrypt/pgpkey.c:1054 ++#: ncrypt/pgpkey.c:1181 + #, c-format + msgid "Looking for keys matching \"%s\"..." + msgstr "正寻找匹配 \"%s\" 的密钥..." + +-#: ncrypt/crypt_gpgme.c:5140 ncrypt/pgpkey.c:870 ncrypt/smime.c:924 ++#: ncrypt/crypt_gpgme.c:5220 ncrypt/pgpkey.c:905 ncrypt/smime.c:958 + #, c-format + msgid "No matching keys found for \"%s\"" + msgstr "未找到匹配 \"%s\" 的密钥" + +-#: ncrypt/crypt_gpgme.c:5190 ncrypt/pgp.c:1456 ++#: ncrypt/crypt_gpgme.c:5270 ncrypt/pgp.c:1457 + #, c-format + msgid "Use keyID = \"%s\" for %s?" + msgstr "要使用 keyID = \"%s\" 用于 %s 吗?" + +-#: ncrypt/crypt_gpgme.c:5238 ncrypt/pgp.c:1505 ncrypt/smime.c:944 +-#: ncrypt/smime.c:1049 ++#: ncrypt/crypt_gpgme.c:5318 ncrypt/pgp.c:1506 ncrypt/smime.c:978 ++#: ncrypt/smime.c:1083 + #, c-format + msgid "Enter keyID for %s: " + msgstr "请输入 %s 的 keyID:" +@@ -4309,15 +4387,15 @@ msgstr "请输入 %s 的 keyID:" + #. mutt_gpgme_select_secret_key() tries to list all secret keys to choose + #. from. This error is displayed if no results were found. + #. +-#: ncrypt/crypt_gpgme.c:5364 ++#: ncrypt/crypt_gpgme.c:5444 + msgid "No secret keys found" + msgstr "未找到密钥" + +-#: ncrypt/crypt_gpgme.c:5398 ncrypt/pgpkey.c:888 ++#: ncrypt/crypt_gpgme.c:5478 ncrypt/pgpkey.c:923 + msgid "Please enter the key ID: " + msgstr "请输入密钥 ID:" + +-#: ncrypt/crypt_gpgme.c:5411 ++#: ncrypt/crypt_gpgme.c:5491 + #, c-format + msgid "Error exporting key: %s" + msgstr "导出密钥时出错:%s" +@@ -4325,92 +4403,92 @@ msgstr "导出密钥时出错:%s" + #. 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. +-#: ncrypt/crypt_gpgme.c:5429 ++#: ncrypt/crypt_gpgme.c:5509 + #, c-format + msgid "PGP Key 0x%s" + msgstr "PGP 密钥 0x%s" + +-#: ncrypt/crypt_gpgme.c:5474 ++#: ncrypt/crypt_gpgme.c:5554 + msgid "GPGME: OpenPGP protocol not available" + msgstr "GPGME:OpenPGP 协议不可用" + +-#: ncrypt/crypt_gpgme.c:5485 ++#: ncrypt/crypt_gpgme.c:5565 + msgid "GPGME: CMS protocol not available" + msgstr "GPGME:CMS 协议不可用" + +-#: ncrypt/crypt_gpgme.c:5536 ++#: ncrypt/crypt_gpgme.c:5616 + msgid "S/MIME (s)ign, sign (a)s, (p)gp, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME 签署(s),选择身份签署(a),(p)gp,清除(c),或关闭机遇加密模式(o)?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5538 ++#: ncrypt/crypt_gpgme.c:5618 + msgid "sapco" + msgstr "sapco" + +-#: ncrypt/crypt_gpgme.c:5545 ++#: ncrypt/crypt_gpgme.c:5625 + msgid "PGP (s)ign, sign (a)s, s/(m)ime, (c)lear, or (o)ppenc mode off?" + msgstr "PGP 签署(s),选择身份签署(a),s/(m)ime,清除(c),或关闭机遇加密模式(o)?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5547 ++#: ncrypt/crypt_gpgme.c:5627 + msgid "samco" + msgstr "samco" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5557 ++#: ncrypt/crypt_gpgme.c:5637 + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME 加密(e),签署(s),选择身份签署(a),两者皆要(b),(p)gp,清除(c),或使用机遇加密模式(o)?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5560 ++#: ncrypt/crypt_gpgme.c:5640 + msgid "esabpco" + msgstr "esabpco" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5566 ++#: ncrypt/crypt_gpgme.c:5646 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime, (c)lear, or (o)ppenc mode?" + msgstr "PGP 加密(e),签署(s),选择身份签署(a),两者皆要(b),s/(m)ime,清除(c),或使用机遇加密模式(o)?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5569 ++#: ncrypt/crypt_gpgme.c:5649 + msgid "esabmco" + msgstr "esabmco" + +-#: ncrypt/crypt_gpgme.c:5580 ++#: ncrypt/crypt_gpgme.c:5660 + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp or (c)lear?" + msgstr "S/MIME 加密(e),签署(s),选择身份签署(a),两者皆要(b),(p)gp或清除(c)?" + + #. L10N: S/MIME options +-#: ncrypt/crypt_gpgme.c:5582 ++#: ncrypt/crypt_gpgme.c:5662 + msgid "esabpc" + msgstr "esabpc" + +-#: ncrypt/crypt_gpgme.c:5589 ++#: ncrypt/crypt_gpgme.c:5669 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime or (c)lear?" + msgstr "PGP 加密(e),签署(s),选择身份签署(a),两者皆要(b),s/(m)ime 或清除(c)?" + + #. L10N: PGP options +-#: ncrypt/crypt_gpgme.c:5591 ++#: ncrypt/crypt_gpgme.c:5671 + msgid "esabmc" + msgstr "esabmc" + +-#: ncrypt/crypt_gpgme.c:5751 ++#: ncrypt/crypt_gpgme.c:5831 + msgid "Failed to verify sender" + msgstr "验证发送者失败" + +-#: ncrypt/crypt_gpgme.c:5754 ++#: ncrypt/crypt_gpgme.c:5834 + msgid "Failed to figure out sender" + msgstr "找出发送者失败" + +-#: ncrypt/pgp.c:108 ++#: ncrypt/pgp.c:107 + msgid "Enter PGP passphrase:" + msgstr "请输入 PGP 通行密码:" + +-#: ncrypt/pgp.c:595 ++#: ncrypt/pgp.c:594 + msgid "[-- Error: unable to create PGP subprocess --]\n" + msgstr "[-- 错误:无法创建 PGP 子进程! --]\n" + +-#: ncrypt/pgp.c:644 ncrypt/pgp.c:926 ncrypt/pgp.c:1086 ++#: ncrypt/pgp.c:643 ncrypt/pgp.c:925 ncrypt/pgp.c:1085 + msgid "" + "[-- End of PGP output --]\n" + "\n" +@@ -4421,15 +4499,15 @@ msgstr "" + #. L10N: You will see this error message if (1) you are decrypting + #. (not encrypting) something and (2) it is a plaintext. So the + #. message does not mean "You failed to encrypt the message." +-#: ncrypt/pgp.c:724 ++#: ncrypt/pgp.c:723 + msgid "PGP message is not encrypted" + msgstr "PGP 消息未加密" + +-#: ncrypt/pgp.c:978 ++#: ncrypt/pgp.c:977 + msgid "Internal error. Please submit a bug report." + msgstr "内部错误。请提交一个bug报告" + +-#: ncrypt/pgp.c:1043 ++#: ncrypt/pgp.c:1042 + msgid "" + "[-- Error: could not create a PGP subprocess --]\n" + "\n" +@@ -4437,125 +4515,125 @@ msgstr "" + "[-- 错误:无法创建 PGP 子进程! --]\n" + "\n" + +-#: ncrypt/pgp.c:1073 ncrypt/pgp.c:1098 ncrypt/smime.c:2143 postpone.c:757 +-#: postpone.c:785 ++#: ncrypt/pgp.c:1072 ncrypt/pgp.c:1097 ncrypt/smime.c:2177 postpone.c:803 ++#: postpone.c:831 + msgid "Decryption failed" + msgstr "解密失败" + +-#: ncrypt/pgp.c:1333 ++#: ncrypt/pgp.c:1334 + msgid "Can't open PGP subprocess" + msgstr "无法打开 PGP 子进程" + +-#: ncrypt/pgp.c:1768 ++#: ncrypt/pgp.c:1770 + msgid "Can't invoke PGP" + msgstr "不能调用 PGP" + + #. L10N: The next string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1875 ++#: ncrypt/pgp.c:1877 + msgid "PGP/M(i)ME" + msgstr "PGP/M(i)ME" + + #. L10N: The previous string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1881 ++#: ncrypt/pgp.c:1883 + msgid "(i)nline" + msgstr "嵌入(i)" + + #. L10N: PGP options (inline) (opportunistic encryption is on) +-#: ncrypt/pgp.c:1893 ++#: ncrypt/pgp.c:1895 + #, c-format + msgid "PGP (s)ign, sign (a)s, %s format, (c)lear, or (o)ppenc mode off?" + msgstr "PGP 签署(s),选择身份签署(a),%s 格式,清除(c),或关闭机遇加密模式(o)?" + + #. L10N: PGP options (inline) (opportunistic encryption is on) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1899 ++#: ncrypt/pgp.c:1901 + msgid "saico" + msgstr "saico" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1905 ++#: ncrypt/pgp.c:1907 + msgid "PGP (s)ign, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "PGP 签署(s),选择身份签署(a),清除(c),或关闭机遇加密模式(o)?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1907 ++#: ncrypt/pgp.c:1909 + msgid "saco" + msgstr "saco" + + #. L10N: PGP options (inline) (opportunistic encryption is off) +-#: ncrypt/pgp.c:1921 ++#: ncrypt/pgp.c:1923 + #, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, (c)lear, or (o)ppenc mode?" + msgstr "PGP 加密(e),签署(s),选择身份签署(a),同时(b),%s 格式,清除(c),或使用机遇加密模式(o)?" + + #. L10N: PGP options (inline) (opportunistic encryption is off) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1927 ++#: ncrypt/pgp.c:1929 + msgid "esabico" + msgstr "esabico" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1933 ++#: ncrypt/pgp.c:1935 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "PGP 加密(e),签署(s),选择身份签署(a),两者皆要(b),清除(c),或使用机遇加密模式(o)?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1936 ++#: ncrypt/pgp.c:1938 + msgid "esabco" + msgstr "esabco" + + #. L10N: PGP options (inline) +-#: ncrypt/pgp.c:1947 ++#: ncrypt/pgp.c:1949 + #, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, or (c)lear?" + msgstr "PGP 加密(e),签署(s),选择身份签署(a),同时(b),%s 格式,或清除(c)?" + + #. L10N: PGP options (inline) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1953 ++#: ncrypt/pgp.c:1955 + msgid "esabic" + msgstr "esabic" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1959 ++#: ncrypt/pgp.c:1961 + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (c)lear?" + msgstr "PGP 加密(e),签署(s),选择身份签署(a),两者皆要(b),或清除(c)?" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1961 ++#: ncrypt/pgp.c:1963 + msgid "esabc" + msgstr "esabc" + +-#: ncrypt/pgpinvoke.c:458 ++#: ncrypt/pgpinvoke.c:461 + msgid "Fetching PGP key..." + msgstr "正在取回 PGP 密钥..." + +-#: ncrypt/pgpkey.c:640 ++#: ncrypt/pgpkey.c:643 + msgid "All matching keys are expired, revoked, or disabled" + msgstr "所有匹配的密钥已过期,吊销或禁用" + +-#: ncrypt/pgpkey.c:681 ++#: ncrypt/pgpkey.c:714 + #, c-format + msgid "PGP keys matching <%s>" + msgstr "符合<%s>的 PGP 密钥" + +-#: ncrypt/pgpkey.c:683 ++#: ncrypt/pgpkey.c:716 + #, c-format + msgid "PGP keys matching \"%s\"" + msgstr "符合 \"%s\" 的 PGP 密钥" + +-#: ncrypt/pgpkey.c:700 ncrypt/pgpkey.c:909 ++#: ncrypt/pgpkey.c:733 ncrypt/pgpkey.c:944 + msgid "Can't open /dev/null" + msgstr "无法打开 /dev/null" + +-#: ncrypt/pgpkey.c:938 ++#: ncrypt/pgpkey.c:973 + #, c-format + msgid "PGP Key %s" + msgstr "PGP 密钥 %s" + +-#: ncrypt/smime.c:182 ++#: ncrypt/smime.c:180 + msgid "Enter S/MIME passphrase:" + msgstr "请输入 S/MIME 通行密码:" + +@@ -4564,7 +4642,7 @@ msgstr "请输入 S/MIME 通行密码:" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:460 ++#: ncrypt/smime.c:462 + msgid "Expired " + msgstr "已过期" + +@@ -4573,7 +4651,7 @@ msgstr "已过期" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:468 ++#: ncrypt/smime.c:470 + msgid "Invalid " + msgstr "无效 " + +@@ -4582,7 +4660,7 @@ msgstr "无效 " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:476 ++#: ncrypt/smime.c:478 + msgid "Revoked " + msgstr "已吊销" + +@@ -4591,7 +4669,7 @@ msgstr "已吊销" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:484 ++#: ncrypt/smime.c:486 + msgid "Trusted " + msgstr "信任 " + +@@ -4600,7 +4678,7 @@ msgstr "信任 " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:492 ++#: ncrypt/smime.c:494 + msgid "Unverified" + msgstr "未验证" + +@@ -4609,7 +4687,7 @@ msgstr "未验证" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:500 ++#: ncrypt/smime.c:502 + msgid "Verified " + msgstr "已验证" + +@@ -4618,58 +4696,58 @@ msgstr "已验证" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:508 ++#: ncrypt/smime.c:510 + msgid "Unknown " + msgstr "未知 " + +-#: ncrypt/smime.c:545 ++#: ncrypt/smime.c:547 + #, c-format + msgid "S/MIME certificates matching \"%s\"" + msgstr "S/MIME 证书匹配 \"%s\"" + +-#: ncrypt/smime.c:589 ++#: ncrypt/smime.c:621 + msgid "ID is not trusted. Do you really want to use the key?" + msgstr "ID 不可信。您真的要使用此密钥吗?" + +-#: ncrypt/smime.c:910 ++#: ncrypt/smime.c:944 + msgid "Enter keyID: " + msgstr "请输入密钥 ID:" + +-#: ncrypt/smime.c:1055 ++#: ncrypt/smime.c:1089 + #, c-format + msgid "No (valid) certificate found for %s" + msgstr "未找到可用于 %s 的(有效)证书" + +-#: ncrypt/smime.c:1108 ncrypt/smime.c:1137 ncrypt/smime.c:1209 +-#: ncrypt/smime.c:1243 ncrypt/smime.c:1319 ncrypt/smime.c:1399 ++#: ncrypt/smime.c:1142 ncrypt/smime.c:1171 ncrypt/smime.c:1243 ++#: ncrypt/smime.c:1277 ncrypt/smime.c:1353 ncrypt/smime.c:1433 + msgid "Error: unable to create OpenSSL subprocess" + msgstr "错误:无法创建 OpenSSL 子进程" + +-#: ncrypt/smime.c:1379 ++#: ncrypt/smime.c:1413 + msgid "Label for certificate: " + msgstr "证书标签:" + +-#: ncrypt/smime.c:1480 ++#: ncrypt/smime.c:1514 + msgid "no certfile" + msgstr "无证书文件" + +-#: ncrypt/smime.c:1483 ++#: ncrypt/smime.c:1517 + msgid "no mbox" + msgstr "没有信箱" + +-#: ncrypt/smime.c:1640 ncrypt/smime.c:1810 ++#: ncrypt/smime.c:1674 ncrypt/smime.c:1844 + msgid "No output from OpenSSL..." + msgstr "OpenSSL 没有输出..." + +-#: ncrypt/smime.c:1727 ++#: ncrypt/smime.c:1761 + msgid "Can't sign: No key specified. Use Sign As." + msgstr "无法签署:没有指定密钥。请使用指定身份签署(Sign As)" + +-#: ncrypt/smime.c:1777 ++#: ncrypt/smime.c:1811 + msgid "Can't open OpenSSL subprocess" + msgstr "无法打开 OpenSSL 子进程" + +-#: ncrypt/smime.c:2004 ncrypt/smime.c:2123 ++#: ncrypt/smime.c:2038 ncrypt/smime.c:2157 + msgid "" + "[-- End of OpenSSL output --]\n" + "\n" +@@ -4677,19 +4755,19 @@ msgstr "" + "[-- OpenSSL 输出结束 --]\n" + "\n" + +-#: ncrypt/smime.c:2080 ncrypt/smime.c:2093 ++#: ncrypt/smime.c:2114 ncrypt/smime.c:2127 + msgid "[-- Error: unable to create OpenSSL subprocess --]\n" + msgstr "[-- 错误:无法创建 OpenSSL 子进程! --]\n" + +-#: ncrypt/smime.c:2129 ++#: ncrypt/smime.c:2163 + msgid "[-- The following data is S/MIME encrypted --]\n" + msgstr "[-- 以下数据已由 S/MIME 加密 --]\n" + +-#: ncrypt/smime.c:2132 ++#: ncrypt/smime.c:2166 + msgid "[-- The following data is S/MIME signed --]\n" + msgstr "[-- 以下数据已由 S/MIME 签署 --]\n" + +-#: ncrypt/smime.c:2225 ++#: ncrypt/smime.c:2259 + msgid "" + "\n" + "[-- End of S/MIME encrypted data. --]\n" +@@ -4697,7 +4775,7 @@ msgstr "" + "\n" + "[-- S/MIME 加密数据结束 --]\n" + +-#: ncrypt/smime.c:2227 ++#: ncrypt/smime.c:2261 + msgid "" + "\n" + "[-- End of S/MIME signed data. --]\n" +@@ -4706,160 +4784,160 @@ msgstr "" + "[-- S/MIME 签署的数据结束 --]\n" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2361 ++#: ncrypt/smime.c:2395 + msgid "S/MIME (s)ign, encrypt (w)ith, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "S/MIME 签署(s),选择身份加密(w),选择身份签署(a),清除(c),或关闭机遇加密模式(o)?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2364 ++#: ncrypt/smime.c:2398 + msgid "swaco" + msgstr "swaco" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2372 ++#: ncrypt/smime.c:2406 + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "S/MIME 加密(e),签署(s),选择身份加密(w),选择身份签署(a),两者皆要(b),清除(c),或使用机遇加密模式(o)?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2375 ++#: ncrypt/smime.c:2409 + msgid "eswabco" + msgstr "eswabco" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2382 ++#: ncrypt/smime.c:2416 + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, or (c)lear?" + msgstr "S/MIME 加密(e),签署(s),选择身份加密(w),选择身份签署(a),两者皆要(b),或清除(c)?" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2385 ++#: ncrypt/smime.c:2419 + msgid "eswabc" + msgstr "eswabc" + +-#: ncrypt/smime.c:2449 ++#: ncrypt/smime.c:2483 + msgid "Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear?" + msgstr "选择算法类别:(1) DES, (2) RC2, (3) AES, 或(c)清除?" + + #. L10N: Options for: Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear? +-#: ncrypt/smime.c:2452 ++#: ncrypt/smime.c:2486 + msgid "123c" + msgstr "123c" + +-#: ncrypt/smime.c:2455 ++#: ncrypt/smime.c:2489 + msgid "(1) DES, (2) Triple-DES?" + msgstr "(1) DES, (2) 三重DES" + + #. L10N: Options for: (1) DES, (2) Triple-DES +-#: ncrypt/smime.c:2457 ++#: ncrypt/smime.c:2491 + msgid "12" + msgstr "12" + +-#: ncrypt/smime.c:2470 ++#: ncrypt/smime.c:2504 + msgid "(1) RC2-40, (2) RC2-64, (3) RC2-128?" + msgstr "(1) RC2-40, (2) RC2-64, (3) RC2-128?" + + #. L10N: Options for: (1) RC2-40, (2) RC2-64, (3) RC2-128 + #. L10N: Options for: (1) AES128, (2) AES192, (3) AES256 +-#: ncrypt/smime.c:2472 ncrypt/smime.c:2490 ++#: ncrypt/smime.c:2506 ncrypt/smime.c:2524 + msgid "123" + msgstr "123" + +-#: ncrypt/smime.c:2488 ++#: ncrypt/smime.c:2522 + msgid "(1) AES128, (2) AES192, (3) AES256?" + msgstr "(1) AES128, (2) AES192, (3) AES256?" + +-#: nntp/newsrc.c:632 ++#: nntp/newsrc.c:639 + msgid "Loading list of groups from cache..." + msgstr "正在从缓存中加载新闻组列表..." + +-#: nntp/newsrc.c:997 ++#: nntp/newsrc.c:1023 + msgid "No news server defined" + msgstr "未定义新闻服务器" + +-#: nntp/newsrc.c:1012 ++#: nntp/newsrc.c:1041 + #, c-format + msgid "%s is an invalid news server specification" + msgstr "%s 是无效的新闻服务器 URL" + +-#: nntp/nntp.c:236 nntp/nntp.c:777 pop/pop.c:742 pop/pop_lib.c:398 ++#: nntp/nntp.c:238 nntp/nntp.c:779 pop/pop.c:742 pop/pop_lib.c:424 + msgid "Server closed connection" + msgstr "服务器关闭了连接" + +-#: nntp/nntp.c:340 ++#: nntp/nntp.c:342 + msgid "Server doesn't support reader mode" + msgstr "服务器不支持阅读模式" + +-#: nntp/nntp.c:576 pop/pop_auth.c:504 smtp.c:650 ++#: nntp/nntp.c:578 pop/pop_auth.c:505 smtp.c:675 + msgid "No authenticators available" + msgstr "无可用认证方式" + +-#: nntp/nntp.c:766 ++#: nntp/nntp.c:768 + #, c-format + msgid "%s authentication failed" + msgstr "%s 认证失败" + +-#: nntp/nntp.c:826 ++#: nntp/nntp.c:828 + #, c-format + msgid "Connection to %s lost. Reconnect?" + msgstr "到 %s 的连接已关闭。重新连接吗?" + +-#: nntp/nntp.c:1285 ++#: nntp/nntp.c:1287 + msgid "Fetching list of articles..." + msgstr "正在取回帖子列表..." + +-#: nntp/nntp.c:1549 nntp/nntp.c:2138 pop/pop.c:614 pop/pop.c:910 ++#: nntp/nntp.c:1551 nntp/nntp.c:2140 pop/pop.c:614 pop/pop.c:905 + msgid "Checking for new messages..." + msgstr "正在检查新信件..." + +-#: nntp/nntp.c:1864 nntp/nntp.c:1954 ++#: nntp/nntp.c:1866 nntp/nntp.c:1956 + msgid "Could not switch to reader mode" + msgstr "无法切换到阅读模式" + +-#: nntp/nntp.c:1877 ++#: nntp/nntp.c:1879 + #, c-format + msgid "Connected to %s. %s" + msgstr "已连接到 %s。%s" + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + msgid "Posting is ok" + msgstr "允许发帖" + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + msgid "Posting is NOT ok" + msgstr "不允许发帖" + +-#: nntp/nntp.c:2008 nntp/nntp.c:2043 ++#: nntp/nntp.c:2010 nntp/nntp.c:2045 + #, c-format + msgid "Can't post article: %s" + msgstr "无法发帖:%s" + +-#: nntp/nntp.c:2064 ++#: nntp/nntp.c:2066 + #, c-format + msgid "Loading list of groups from server %s..." + msgstr "正在从服务器 %s 加载新闻组列表..." + +-#: nntp/nntp.c:2106 nntp/nntp.c:2198 ++#: nntp/nntp.c:2108 nntp/nntp.c:2200 + msgid "Loading descriptions..." + msgstr "加载描述中..." + +-#: nntp/nntp.c:2128 ++#: nntp/nntp.c:2130 + msgid "Checking for new newsgroups..." + msgstr "正在检查新新闻组..." + +-#: nntp/nntp.c:2332 ++#: nntp/nntp.c:2334 + msgid "Unable to find child articles because server does not support XPAT command" + msgstr "无法找到子帖因为服务器不支持 XPAT 命令" + +-#: nntp/nntp.c:2437 ++#: nntp/nntp.c:2439 + #, c-format + msgid "%s is an invalid newsgroup specification" + msgstr "%s 是无效的新闻组 URL" + +-#: nntp/nntp.c:2476 ++#: nntp/nntp.c:2478 + #, c-format + msgid "Newsgroup %s not found on the server" + msgstr "新闻组 %s 没有在服务器上找到" + +-#: nntp/nntp.c:2498 ++#: nntp/nntp.c:2500 + #, c-format + msgid "Newsgroup %s has been removed from the server" + msgstr "新闻组 %s 已经从服务器上被移除" +@@ -4871,8 +4949,8 @@ msgstr "无法解析 notmuch 查询类型:%s" + + #: notmuch/mutt_notmuch.c:219 notmuch/mutt_notmuch.c:1939 + #, c-format +-msgid "failed to parse notmuch uri: %s" +-msgstr "无法解析 notmuch 查询 URI:%s" ++msgid "failed to parse notmuch url: %s" ++msgstr "无法解析 notmuch 查询 URL:%s" + + #: notmuch/mutt_notmuch.c:449 + msgid "Invalid nm_query_window_timebase value (valid values are: hour, day, week, month or year)" +@@ -5962,182 +6040,182 @@ msgstr "使侧边栏(不)可见" + msgid "show S/MIME options" + msgstr "显示 S/MIME 选项" + +-#: pager.c:222 ++#: pager.c:214 + msgid "Not available in this menu" + msgstr "在此菜单中不可用" + +-#: pager.c:229 ++#: pager.c:221 + msgid "PrevPg" + msgstr "上一页" + +-#: pager.c:230 ++#: pager.c:222 + msgid "NextPg" + msgstr "下一页" + +-#: pager.c:235 ++#: pager.c:227 + msgid "View Attachm." + msgstr "显示附件" + +-#: pager.c:238 pager.c:247 ++#: pager.c:230 pager.c:239 + msgid "Next" + msgstr "下一个" + + #. L10N: Status bar message: the entire email is visible in the pager + #. L10N: Status bar message: all the emails are visible in the index +-#: pager.c:2180 status.c:278 ++#: pager.c:2136 status.c:278 + msgid "all" + msgstr "所有" + + #. L10N: Status bar message: the end of the email is visible in the pager + #. L10N: Status bar message: the end of the list emails is visible in the index +-#: pager.c:2182 status.c:276 ++#: pager.c:2138 status.c:276 + msgid "end" + msgstr "结束" + +-#: pager.c:2530 pager.c:2566 pager.c:2602 pager.c:2937 ++#: pager.c:2503 pager.c:2539 pager.c:2576 pager.c:2911 + msgid "Bottom of message is shown" + msgstr "已显示信件的最末端" + +-#: pager.c:2543 pager.c:2573 pager.c:2580 pager.c:2590 ++#: pager.c:2516 pager.c:2546 pager.c:2553 pager.c:2564 + msgid "Top of message is shown" + msgstr "已显示信件的最上端" + +-#: pager.c:2840 ++#: pager.c:2814 + msgid "Help is currently being shown" + msgstr "现在正显示帮助" + +-#: pager.c:2897 ++#: pager.c:2871 + msgid "No more quoted text" + msgstr "无更多引用文本" + +-#: pager.c:2914 ++#: pager.c:2888 + msgid "No more unquoted text after quoted text" + msgstr "引用文本后没有其他未引用文本" + +-#: pattern.c:220 pattern.c:297 pattern.c:1046 ++#: pattern.c:221 pattern.c:298 pattern.c:1085 + #, c-format + msgid "Error in expression: %s" + msgstr "表达式有错误:%s" + +-#: pattern.c:226 pattern.c:302 pattern.c:1052 ++#: pattern.c:227 pattern.c:303 pattern.c:1091 + msgid "Empty expression" + msgstr "空表达式" + +-#: pattern.c:288 ++#: pattern.c:289 + msgid "No search command defined" + msgstr "未定义搜索命令" + +-#: pattern.c:326 ++#: pattern.c:327 + #, c-format + msgid "Running search command: %s ..." + msgstr "正在运行搜索命令:%s ..." + +-#: pattern.c:417 ++#: pattern.c:441 pattern.c:456 + #, c-format + msgid "Invalid day of month: %s" + msgstr "无效的日子:%s" + +-#: pattern.c:431 ++#: pattern.c:446 pattern.c:470 + #, c-format + msgid "Invalid month: %s" + msgstr "无效的月份:%s" + +-#: pattern.c:534 ++#: pattern.c:573 + #, c-format + msgid "Invalid relative date: %s" + msgstr "无效的相对日期:%s" + +-#: pattern.c:842 pattern.c:975 ++#: pattern.c:881 pattern.c:1014 + msgid "No current message" + msgstr "没有当前信件" + +-#: pattern.c:1002 ++#: pattern.c:1041 + msgid "No Context" + msgstr "没有内容" + +-#: pattern.c:1125 ++#: pattern.c:1164 + msgid "Error opening 'memory stream'" + msgstr "打开内存流临时文件时出错" + +-#: pattern.c:1171 ++#: pattern.c:1210 + msgid "Error re-opening 'memory stream'" + msgstr "重新打开内存流临时文件时出错" + +-#: pattern.c:1180 ++#: pattern.c:1219 + msgid "Error opening /dev/null" + msgstr "打开 /dev/null 时出错" + +-#: pattern.c:1443 pattern.c:1620 ++#: pattern.c:1482 pattern.c:1662 + #, c-format + msgid "error in pattern at: %s" + msgstr "模式有错误:%s" + +-#: pattern.c:1476 ++#: pattern.c:1515 + #, c-format + msgid "missing pattern: %s" + msgstr "缺少模式:%s" + +-#: pattern.c:1494 pattern.c:1593 ++#: pattern.c:1533 pattern.c:1635 + #, c-format + msgid "mismatched parentheses: %s" + msgstr "不匹配的圆括号:%s" + +-#: pattern.c:1559 ++#: pattern.c:1598 + #, c-format + msgid "%c: invalid pattern modifier" + msgstr "%c:无效模式修饰符" + +-#: pattern.c:1564 ++#: pattern.c:1603 + #, c-format + msgid "%c: not supported in this mode" + msgstr "%c:此模式下不支持" + +-#: pattern.c:1576 ++#: pattern.c:1618 + msgid "missing parameter" + msgstr "缺少参数" + +-#: pattern.c:1626 ++#: pattern.c:1668 + msgid "empty pattern" + msgstr "空模式" + +-#: pattern.c:2080 pattern.c:2083 ++#: pattern.c:2202 pattern.c:2205 + msgid "error: server custom search only supported with IMAP" + msgstr "错误:仅 IMAP 支持服务器端的自定义搜索" + +-#: pattern.c:2274 ++#: pattern.c:2398 + #, c-format + msgid "error: unknown op %d (report this error)" + msgstr "错误:未知操作(op) %d (请报告这个错误)" + +-#: pattern.c:2448 pattern.c:2604 ++#: pattern.c:2572 pattern.c:2728 + msgid "Compiling search pattern..." + msgstr "正在编译搜寻模式..." + +-#: pattern.c:2468 ++#: pattern.c:2592 + msgid "Executing command on matching messages..." + msgstr "正在对符合的信件执行命令..." + +-#: pattern.c:2537 ++#: pattern.c:2661 + msgid "No messages matched criteria" + msgstr "没有信件符合标准" + +-#: pattern.c:2641 ++#: pattern.c:2765 + msgid "Searching..." + msgstr "正在搜索..." + +-#: pattern.c:2655 ++#: pattern.c:2779 + msgid "Search hit bottom without finding match" + msgstr "已搜寻至结尾而未发现匹配" + +-#: pattern.c:2666 ++#: pattern.c:2790 + msgid "Search hit top without finding match" + msgstr "已搜寻至开头而未发现匹配" + +-#: pattern.c:2700 ++#: pattern.c:2824 + msgid "Search interrupted" + msgstr "搜寻已中断" + +-#: pop/pop.c:216 pop/pop_lib.c:234 ++#: pop/pop.c:216 pop/pop_lib.c:259 + msgid "Command TOP is not supported by server" + msgstr "服务器不支持 TOP 命令" + +@@ -6145,7 +6223,7 @@ msgstr "服务器不支持 TOP 命令" + msgid "Can't write header to temporary file" + msgstr "无法将信件头写入临时文件" + +-#: pop/pop.c:420 pop/pop_lib.c:236 ++#: pop/pop.c:420 pop/pop_lib.c:261 + msgid "Command UIDL is not supported by server" + msgstr "服务器不支持 UIDL 命令" + +@@ -6159,7 +6237,7 @@ msgstr[0] "%d 封信件已丢失。请尝试重新打开信箱" + msgid "POP host is not defined" + msgstr "未定义 POP 主机" + +-#: pop/pop.c:596 pop/pop.c:825 ++#: pop/pop.c:596 pop/pop.c:790 pop/pop.c:820 + #, c-format + msgid "%s is an invalid POP path" + msgstr "%s 是无效的 POP 路径" +@@ -6190,151 +6268,151 @@ msgid "%s [%d of %d message read]" + msgid_plural "%s [%d of %d messages read]" + msgstr[0] "%s [已读取 %d 封信件,共 %d 封]" + +-#: pop/pop.c:876 ++#: pop/pop.c:871 + msgid "Fetching list of messages..." + msgstr "正在取回信件列表..." + +-#: pop/pop.c:959 ++#: pop/pop.c:954 + msgid "Marking messages deleted..." + msgstr "正在标记信件为已删除..." + +-#: pop/pop.c:1150 ++#: pop/pop.c:1145 + msgid "Can't write message to temporary file" + msgstr "无法将新建写入临时文件" + +-#: pop/pop_auth.c:103 ++#: pop/pop_auth.c:104 + msgid "Authenticating (SASL)..." + msgstr "正在验证 (SASL)..." + +-#: pop/pop_auth.c:245 ++#: pop/pop_auth.c:246 + msgid "POP timestamp is invalid" + msgstr "POP 时间戳无效" + +-#: pop/pop_auth.c:249 ++#: pop/pop_auth.c:250 + msgid "Authenticating (APOP)..." + msgstr "正在验证 (APOP)..." + +-#: pop/pop_auth.c:269 ++#: pop/pop_auth.c:270 + msgid "APOP authentication failed" + msgstr "APOP 验证失败" + +-#: pop/pop_auth.c:309 ++#: pop/pop_auth.c:310 + msgid "Command USER is not supported by server" + msgstr "服务器不支持 USER 命令" + +-#: pop/pop_auth.c:386 ++#: pop/pop_auth.c:387 + msgid "Authentication failed" + msgstr "认证失败" + +-#: pop/pop_lib.c:78 ++#: pop/pop_lib.c:103 + #, c-format + msgid "Invalid POP URL: %s" + msgstr "无效的 POP 地址(URL):%s" + +-#: pop/pop_lib.c:232 ++#: pop/pop_lib.c:257 + msgid "Unable to leave messages on server" + msgstr "无法将信件留在服务器上" + +-#: pop/pop_lib.c:274 ++#: pop/pop_lib.c:300 + #, c-format + msgid "Error connecting to server: %s" + msgstr "连接到服务器时出错:%s" + +-#: pop/pop_lib.c:414 ++#: pop/pop_lib.c:440 + msgid "Closing connection to POP server..." + msgstr "正在关闭到 POP 服务器的连接..." + +-#: pop/pop_lib.c:605 ++#: pop/pop_lib.c:631 + msgid "Verifying message indexes..." + msgstr "正在验证信件索引..." + +-#: pop/pop_lib.c:628 ++#: pop/pop_lib.c:654 + msgid "Connection lost. Reconnect to POP server?" + msgstr "连接丢失。重新连接到 POP 服务器吗?" + +-#: postpone.c:229 ++#: postpone.c:260 + msgid "Postponed Messages" + msgstr "信件已经被延迟寄出" + +-#: postpone.c:314 postpone.c:326 ++#: postpone.c:348 postpone.c:372 + msgid "No postponed messages" + msgstr "没有被延迟寄出的信件" + +-#: postpone.c:480 ++#: postpone.c:526 + msgid "Illegal S/MIME header" + msgstr "非法的 S/MIME 信件头" + +-#: postpone.c:510 postpone.c:551 postpone.c:560 ++#: postpone.c:556 postpone.c:597 postpone.c:606 + msgid "Illegal crypto header" + msgstr "非法的加密(crypto)信件头" + +-#: postpone.c:644 postpone.c:752 postpone.c:780 ++#: postpone.c:690 postpone.c:798 postpone.c:826 + msgid "Decrypting message..." + msgstr "正在解密信件..." + +-#: query.c:82 ++#: query.c:80 + msgid "New Query" + msgstr "新的查询" + +-#: query.c:83 ++#: query.c:81 + msgid "Make Alias" + msgstr "制作别名" + +-#: query.c:180 ++#: query.c:178 + msgid "Waiting for response..." + msgstr "正在等待回应..." + +-#: query.c:362 query.c:400 ++#: query.c:365 query.c:434 + msgid "Query: " + msgstr "查询:" + +-#: query.c:370 query.c:407 ++#: query.c:374 query.c:442 + #, c-format + msgid "Query '%s'" + msgstr "查询 '%s'" + +-#: query.c:620 query.c:657 ++#: query.c:661 query.c:698 + msgid "Query command not defined" + msgstr "查询命令未定义" + +-#: recvattach.c:93 ++#: recvattach.c:91 + msgid "Pipe" + msgstr "管道" + +-#: recvattach.c:94 ++#: recvattach.c:92 + msgid "Print" + msgstr "打印" + +-#: recvattach.c:569 ++#: recvattach.c:571 + msgid "Saving..." + msgstr "正在保存..." + +-#: recvattach.c:573 recvattach.c:744 recvattach.c:748 ++#: recvattach.c:575 recvattach.c:746 recvattach.c:750 + #, c-format + msgid "Attachment saved" + msgid_plural "%d attachments saved" + msgstr[0] "%d 个附件已保存" + +-#: recvattach.c:772 ++#: recvattach.c:774 + #, c-format + msgid "WARNING! You are about to overwrite %s, continue?" + msgstr "警告!您正在覆盖 %s,是否要继续?" + +-#: recvattach.c:790 ++#: recvattach.c:792 + msgid "Attachment filtered" + msgstr "附件已被过滤" + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Filter through: " + msgstr "经过过滤:" + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Pipe to: " + msgstr "通过管道传给:" + + #. L10N: s gets replaced by a MIME type, e.g. "text/plain" or + #. application/octet-stream. +-#: recvattach.c:935 ++#: recvattach.c:937 + #, c-format + msgid "I don't know how to print %s attachments" + msgstr "我不知道要如何打印 %s 类型的附件" +@@ -6342,54 +6420,54 @@ msgstr "我不知道要如何打印 %s 类型的附件" + #. L10N: Although we now the precise number of tagged messages, we + #. do not show it to the user. So feel free to use a "generic + #. plural" as plural translation if your language has one. +-#: recvattach.c:1038 ++#: recvattach.c:1040 + #, c-format + msgid "Print tagged attachment?" + msgid_plural "Print %d tagged attachments?" + msgstr[0] "打印已标记的 %d 个附件?" + +-#: recvattach.c:1039 ++#: recvattach.c:1041 + #, c-format + msgid "Print attachment?" + msgstr "打印附件?" + +-#: recvattach.c:1123 ++#: recvattach.c:1125 + msgid "Structural changes to decrypted attachments are not supported" + msgstr "不支持对已解密附件的结构性更改" + +-#: recvattach.c:1291 ++#: recvattach.c:1293 + msgid "Can't decrypt encrypted message" + msgstr "无法解密加密信件" + +-#: recvattach.c:1425 ++#: recvattach.c:1457 + msgid "Attachments" + msgstr "附件" + +-#: recvattach.c:1465 ++#: recvattach.c:1497 + msgid "There are no subparts to show" + msgstr "无子部分可显示" + +-#: recvattach.c:1520 ++#: recvattach.c:1552 + msgid "Can't delete attachment from POP server" + msgstr "无法从 POP 服务器上删除附件" + +-#: recvattach.c:1529 ++#: recvattach.c:1561 + msgid "Can't delete attachment from news server" + msgstr "无法从新闻服务器上删除附件" + +-#: recvattach.c:1536 ++#: recvattach.c:1568 + msgid "Deletion of attachments from encrypted messages is unsupported" + msgstr "不支持从加密信件中删除附件" + +-#: recvattach.c:1542 ++#: recvattach.c:1574 + msgid "Deletion of attachments from signed messages may invalidate the signature" + msgstr "从已签名的信件中删除附件可能导致签名失效" + +-#: recvattach.c:1561 recvattach.c:1578 ++#: recvattach.c:1593 recvattach.c:1610 + msgid "Only deletion of multipart attachments is supported" + msgstr "只支持删除多段附件" + +-#: recvcmd.c:79 ++#: recvcmd.c:78 + msgid "You may only bounce message/rfc822 parts" + msgstr "您只能重发 message/rfc822 的部分" + +@@ -6424,7 +6502,7 @@ msgstr "无法创建 %s" + msgid "Can't find any tagged messages" + msgstr "无法找到任何已标记的信件" + +-#: recvcmd.c:848 send.c:1073 ++#: recvcmd.c:848 send.c:1072 + msgid "No mailing lists found" + msgstr "没有找到邮件列表" + +@@ -6438,67 +6516,67 @@ msgstr "无法解码所有已标记的附件。通过 MIME 封装其它的吗? + msgid "You may only compose to sender with message/rfc822 parts" + msgstr "您只能撰写 message/rfc822 部分给发件人" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Append" + msgstr "附加到末尾" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Insert" + msgstr "插入" + +-#: remailer.c:78 ++#: remailer.c:76 + msgid "OK" + msgstr "OK" + +-#: remailer.c:210 ++#: remailer.c:207 + msgid "" + msgstr "<随机>" + +-#: remailer.c:586 ++#: remailer.c:617 + msgid "Can't get mixmaster's type2.list" + msgstr "无法获得 mixmaster 的 type2.list" + +-#: remailer.c:612 ++#: remailer.c:673 + msgid "Select a remailer chain" + msgstr "选择一个转发者链" + +-#: remailer.c:674 ++#: remailer.c:735 + #, c-format + msgid "Error: %s can't be used as the final remailer of a chain" + msgstr "错误:%s 不能用作链的最终转发者" + + #. L10N The '%d' here hard-coded to 19 +-#: remailer.c:706 ++#: remailer.c:767 + #, c-format + msgid "Mixmaster chains are limited to %d elements" + msgstr "Mixmaster 链有 %d 个元素的限制" + +-#: remailer.c:729 ++#: remailer.c:790 + msgid "The remailer chain is already empty" + msgstr "转发者链已经为空" + +-#: remailer.c:739 ++#: remailer.c:800 + msgid "You already have the first chain element selected" + msgstr "您已经选择了第一个链元素" + +-#: remailer.c:749 ++#: remailer.c:810 + msgid "You already have the last chain element selected" + msgstr "您已经选择了最后的链元素" + +-#: remailer.c:792 ++#: remailer.c:856 + msgid "Mixmaster doesn't accept Cc or Bcc headers" + msgstr "Mixmaster 不接受转发(Cc)或密件转发(Bcc)信件头" + +-#: remailer.c:817 ++#: remailer.c:881 + msgid "Please set the hostname variable to a proper value when using mixmaster" + msgstr "使用 mixmaster 时请给 hostname(主机名) 变量设置合适的值" + +-#: remailer.c:860 ++#: remailer.c:924 + #, c-format + msgid "Error sending message, child exited %d.\n" + msgstr "发送信件出错,子进程已退出 %d。\n" + +-#: remailer.c:864 ++#: remailer.c:928 + msgid "Error sending message" + msgstr "发送信件出错" + +@@ -6528,41 +6606,41 @@ msgstr "要转发附件吗?" + + #. L10N: Asks whether the user respects the reply-to header. + #. If she says no, neomutt will reply to the from header's address instead. +-#: send.c:793 ++#: send.c:792 + #, c-format + msgid "Reply to %s%s?" + msgstr "回信到 %s%s?" + +-#: send.c:838 ++#: send.c:837 + #, c-format + msgid "Follow-up to %s%s?" + msgstr "发送后续信件到 %s%s?" + +-#: send.c:1122 ++#: send.c:1121 + msgid "Include message in reply?" + msgstr "回信时包含原信件吗?" + +-#: send.c:1128 ++#: send.c:1127 + msgid "Including quoted message..." + msgstr "正在包含引用信件..." + +-#: send.c:1137 ++#: send.c:1136 + msgid "Could not include all requested messages" + msgstr "无法包含所有请求的信件" + +-#: send.c:1148 ++#: send.c:1147 + msgid "Forward as attachment?" + msgstr "作为附件转发?" + +-#: send.c:1153 ++#: send.c:1152 + msgid "Preparing forwarded message..." + msgstr "正在准备转发信件..." + +-#: send.c:1632 ++#: send.c:1631 + msgid "Fcc to an IMAP mailbox is not supported in batch mode" + msgstr "不支持在批量模式下 Fcc 到 IMAP 信箱" + +-#: send.c:1664 send.c:1690 ++#: send.c:1665 send.c:1675 send.c:1701 + msgid "Save attachments in Fcc?" + msgstr "将附件保存到 Fcc 吗?" + +@@ -6570,190 +6648,190 @@ msgstr "将附件保存到 Fcc 吗?" + #. (r)etry tries the same mailbox again. + #. alternate (m)ailbox prompts for a different mailbox to try. + #. (s)kip aborts saving. +-#: send.c:1712 ++#: send.c:1723 + msgid "Fcc failed. (r)etry, alternate (m)ailbox, or (s)kip?" + msgstr "Fcc 失败。重试(r),更改信箱(m),或跳过(s)?" + + #. L10N: These correspond to the "Fcc failed" multi-choice prompt + #. (r)etry, alternate (m)ailbox, or (s)kip. + #. Any similarity to famous leaders of the FSF is coincidental. +-#: send.c:1716 ++#: send.c:1727 + msgid "rms" + msgstr "rms" + + #. L10N: This is the prompt to enter an "alternate (m)ailbox" when the + #. initial Fcc fails. +-#: send.c:1722 ++#: send.c:1733 + msgid "Fcc mailbox" + msgstr "Fcc 信箱" + +-#: send.c:1788 ++#: send.c:1799 + msgid "Can't postpone. $postponed is unset" + msgstr "无法延迟寄出。未设置 $postponed 值" + +-#: send.c:1923 ++#: send.c:1934 + msgid "Recall postponed message?" + msgstr "叫出延迟寄出的信件吗?" + +-#: send.c:2228 ++#: send.c:2239 + msgid "Edit forwarded message?" + msgstr "编辑已转发的信件吗?" + +-#: send.c:2266 ++#: send.c:2277 + msgid "Abort unmodified message?" + msgstr "中止未修改过的信件?" + +-#: send.c:2268 ++#: send.c:2279 + msgid "Aborted unmodified message" + msgstr "已中止未修改过的信件" + +-#: send.c:2388 ++#: send.c:2399 + msgid "No crypto backend configured. Disabling message security setting." + msgstr "没有配置加密后端。已禁用信件安全设置。" + +-#: send.c:2427 ++#: send.c:2438 + msgid "Article not posted" + msgstr "帖子没有发表" + +-#: send.c:2437 ++#: send.c:2448 + msgid "Message postponed" + msgstr "信件被延迟寄出" + +-#: send.c:2470 ++#: send.c:2481 + msgid "No subject, abort sending?" + msgstr "没有主题,要中止发送吗?" + +-#: send.c:2474 send.c:2480 ++#: send.c:2485 send.c:2491 + msgid "No subject specified" + msgstr "没有指定主题" + +-#: send.c:2486 ++#: send.c:2497 + msgid "No newsgroup specified" + msgstr "没有指定新闻组" + +-#: send.c:2496 ++#: send.c:2507 + msgid "No attachments, cancel sending?" + msgstr "没有附件,取消发送?" + +-#: send.c:2501 ++#: send.c:2512 + msgid "Message contains text matching \"$abort_noattach_regex\". Not sending." + msgstr "信件内容匹配 \"$abort_noattach_regex\"。没有发送。" + +-#: send.c:2559 smtp.c:227 ++#: send.c:2570 smtp.c:230 + msgid "Sending message..." + msgstr "正在发送信件..." + +-#: send.c:2598 ++#: send.c:2609 + msgid "Could not send the message" + msgstr "无法发送此信件" + +-#: send.c:2608 ++#: send.c:2619 + msgid "Sending in background" + msgstr "正在后台发送" + +-#: send.c:2609 ++#: send.c:2620 + msgid "Article posted" + msgstr "帖子已发表" + +-#: send.c:2610 ++#: send.c:2621 + msgid "Mail sent" + msgstr "信件已发送" + +-#: sendlib.c:567 ++#: sendlib.c:566 + msgid "No boundary parameter found [report this error]" + msgstr "没有发现分界变量![请报告这个错误]" + +-#: sendlib.c:598 ++#: sendlib.c:597 + #, c-format + msgid "%s no longer exists" + msgstr "%s 已经不存在了" + +-#: sendlib.c:1056 ++#: sendlib.c:1055 + #, c-format + msgid "%s isn't a regular file" + msgstr "%s 不是常规文件" + +-#: sendlib.c:1223 ++#: sendlib.c:1222 + msgid "Could not find any mime.types file." + msgstr "找不到任何 mime.types 文件。" + +-#: sendlib.c:1314 ++#: sendlib.c:1313 + #, c-format + msgid "Could not open %s" + msgstr "无法打开 %s" + +-#: sendlib.c:2864 ++#: sendlib.c:2855 + msgid "$sendmail must be set in order to send mail" + msgstr "为了发送邮件必须配置 $sendmail" + +-#: sendlib.c:2971 ++#: sendlib.c:2962 + #, c-format + msgid "Error sending message, child exited %d (%s)" + msgstr "发送信件出错,子进程已退出 %d (%s)" + +-#: sendlib.c:2977 ++#: sendlib.c:2969 + msgid "Output of the delivery process" + msgstr "投递进程的输出" + +-#: sendlib.c:3157 ++#: sendlib.c:3154 + #, c-format + msgid "Bad IDN %s while preparing resent-from" + msgstr "准备 resent-from 时发生错误的 IDN %s" + +-#: smtp.c:165 ++#: smtp.c:168 + #, c-format + msgid "SMTP session failed: %s" + msgstr "SMTP 会话失败:%s" + +-#: smtp.c:222 ++#: smtp.c:225 + #, c-format + msgid "SMTP session failed: unable to open %s" + msgstr "SMTP 会话失败:无法打开 %s" + +-#: smtp.c:339 ++#: smtp.c:364 + #, c-format + msgid "Invalid SMTP URL: %s" + msgstr "无效的 SMTP 链接(URL):%s" + +-#: smtp.c:618 ++#: smtp.c:643 + #, c-format + msgid "SMTP authentication method %s requires SASL" + msgstr "SMTP 认证方式 %s 需要 SASL" + +-#: smtp.c:625 ++#: smtp.c:650 + #, c-format + msgid "%s authentication failed, trying next method" + msgstr "%s 认证失败,正在尝试下一个方法" + +-#: smtp.c:636 ++#: smtp.c:661 + msgid "SMTP authentication requires SASL" + msgstr "SMTP 认证需要 SASL" + +-#: smtp.c:717 ++#: smtp.c:742 + msgid "SMTP server does not support authentication" + msgstr "SMTP 服务器不支持认证" + +-#: smtp.c:756 ++#: smtp.c:781 + msgid "No from address given" + msgstr "没有给出发信地址" + +-#: smtp.c:821 ++#: smtp.c:846 + msgid "SMTP session failed: read error" + msgstr "SMTP 会话失败:读错误" + +-#: smtp.c:823 ++#: smtp.c:848 + msgid "SMTP session failed: write error" + msgstr "SMTP 会话失败:写错误" + +-#: smtp.c:825 ++#: smtp.c:850 + msgid "Invalid server response" + msgstr "无效的服务器回应" + +-#: sort.c:385 ++#: sort.c:387 + msgid "Sorting mailbox..." + msgstr "正在排序信箱..." + +-#: sort.c:427 ++#: sort.c:429 + msgid "Could not find sorting function [report this bug]" + msgstr "找不到排序函数![请报告这个问题]" + +@@ -6817,10 +6895,10 @@ msgstr "" + "NeoMutt 是自由软件,欢迎您在某些条件下\n" + "重新发行它;请键入 'neomutt -vv' 以获取详细信息。\n" + +-#: version.c:446 ++#: version.c:451 + msgid "Default options:" + msgstr "默认选项:" + +-#: version.c:449 ++#: version.c:454 + msgid "Compile options:" + msgstr "编译选项:" +diff --git a/po/zh_TW.po b/po/zh_TW.po +index c60a3f680..2c4786036 100644 +--- a/po/zh_TW.po ++++ b/po/zh_TW.po +@@ -11,7 +11,7 @@ msgid "" + msgstr "" + "Project-Id-Version: neomutt-2019-12-07\n" + "Report-Msgid-Bugs-To: neomutt-devel@neomutt.org\n" +-"POT-Creation-Date: 2019-12-06 23:10+0000\n" ++"POT-Creation-Date: 2020-03-09 12:15+0000\n" + "PO-Revision-Date: 2001-09-06 18:25+0800\n" + "Last-Translator: Anthony Wong \n" + "Language-Team: Chinese \n" +@@ -21,16 +21,44 @@ msgstr "" + "Content-Transfer-Encoding: 8bit\n" + "Plural-Forms: nplurals=1; plural=0;\n" + +-#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:59 browser.c:80 browser.c:90 +-#: mutt_history.c:45 pager.c:228 postpone.c:68 query.c:80 recvattach.c:93 ++#, fuzzy ++msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" ++msgstr "(1)不接受,(2)只是這次接受,(3)永遠接受" ++ ++#, fuzzy ++msgid "roas" ++msgstr "123" ++ ++msgid "(r)eject, accept (o)nce, (a)ccept always" ++msgstr "(1)不接受,(2)只是這次接受,(3)永遠接受" ++ ++msgid "roa" ++msgstr "123" ++ ++#, fuzzy ++msgid "(r)eject, accept (o)nce, (s)kip" ++msgstr "(1)不接受,(2)只是這次接受" ++ ++#, fuzzy ++msgid "ros" ++msgstr "12" ++ ++msgid "(r)eject, accept (o)nce" ++msgstr "(1)不接受,(2)只是這次接受" ++ ++msgid "ro" ++msgstr "12" ++ ++#: addrbook.c:56 autocrypt/autocrypt_acct_menu.c:58 browser.c:79 browser.c:89 ++#: mutt_history.c:45 pager.c:220 postpone.c:68 query.c:78 recvattach.c:91 + msgid "Exit" + msgstr "離開" + +-#: addrbook.c:56 index.c:116 index.c:129 pager.c:236 pager.c:246 postpone.c:69 ++#: addrbook.c:56 index.c:112 index.c:125 pager.c:228 pager.c:238 postpone.c:69 + msgid "Del" + msgstr "刪除" + +-#: addrbook.c:57 index.c:117 index.c:130 postpone.c:70 ++#: addrbook.c:57 index.c:113 index.c:126 postpone.c:70 + msgid "Undel" + msgstr "反刪除" + +@@ -38,18 +66,18 @@ msgstr "反刪除" + msgid "Select" + msgstr "選擇" + +-#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:82 browser.c:84 browser.c:96 +-#: compose.c:218 compose.c:230 conn/ssl.c:983 conn/ssl_gnutls.c:691 index.c:122 +-#: index.c:135 mutt_history.c:48 ncrypt/crypt_gpgme.c:4735 ncrypt/pgpkey.c:670 +-#: ncrypt/smime.c:553 pager.c:2326 postpone.c:71 query.c:85 recvattach.c:94 ++#: addrbook.c:58 autocrypt/autocrypt_acct_menu.c:81 browser.c:83 browser.c:95 ++#: compose.c:216 compose.c:228 conn/ssl.c:996 conn/ssl_gnutls.c:722 index.c:118 ++#: index.c:131 mutt_history.c:48 ncrypt/crypt_gpgme.c:4783 ncrypt/pgpkey.c:673 ++#: ncrypt/smime.c:555 pager.c:2297 postpone.c:71 query.c:83 recvattach.c:92 + msgid "Help" + msgstr "求助" + +-#: addrbook.c:208 ++#: addrbook.c:238 + msgid "You have no aliases" + msgstr "您沒有別名資料" + +-#: addrbook.c:215 ++#: addrbook.c:276 + msgid "Aliases" + msgstr "別名" + +@@ -58,53 +86,53 @@ msgstr "別名" + msgid "Alias as: " + msgstr "取別名為:" + +-#: alias.c:411 ++#: alias.c:414 + msgid "You already have an alias defined with that name" + msgstr "您已經為這個名字定義了別名啦" + +-#: alias.c:417 ++#: alias.c:420 + msgid "Warning: This alias name may not work. Fix it?" + msgstr "警告:這個別名可能無效。要修正它?" + +-#: alias.c:442 ++#: alias.c:445 + msgid "Address: " + msgstr "地址:" + +-#: alias.c:453 commands.c:444 compose.c:744 conn/conn_raw.c:152 +-#: conn/conn_raw.c:210 recvcmd.c:232 send.c:228 ++#: alias.c:457 commands.c:450 compose.c:743 conn/conn_raw.c:152 ++#: conn/conn_raw.c:210 recvcmd.c:231 send.c:227 + #, c-format + msgid "Bad IDN: '%s'" + msgstr "無效的 IDN:「%s」" + +-#: alias.c:464 ++#: alias.c:468 + msgid "Personal name: " + msgstr "個人姓名:" + +-#: alias.c:473 ++#: alias.c:477 + #, c-format + msgid "[%s = %s] Accept?" + msgstr "[%s = %s] 接受?" + +-#: alias.c:484 recvattach.c:528 recvattach.c:550 recvattach.c:564 +-#: recvattach.c:579 recvattach.c:678 ++#: alias.c:488 recvattach.c:530 recvattach.c:552 recvattach.c:566 ++#: recvattach.c:581 recvattach.c:680 + msgid "Save to file: " + msgstr "存到檔案:" + +-#: alias.c:503 ++#: alias.c:507 + #, fuzzy + msgid "Error reading alias file" + msgstr "讀取信件時發生錯誤" + +-#: alias.c:525 ++#: alias.c:529 + #, fuzzy + msgid "Trouble adding alias" + msgstr "讀取信件時發生錯誤" + +-#: alias.c:527 ++#: alias.c:531 + msgid "Alias added" + msgstr "別名已經增加" + +-#: alias.c:532 ++#: alias.c:536 + #, fuzzy + msgid "Error seeking in alias file" + msgstr "無法試著顯示檔案" +@@ -114,7 +142,7 @@ msgstr "無法試著顯示檔案" + #. for some reason (e.g. autocrypt, header cache, bcache), but it + #. doesn't exist. The prompt is asking whether to create the directory + #. +-#: autocrypt/autocrypt.c:70 main.c:826 ++#: autocrypt/autocrypt.c:70 main.c:757 + #, c-format + msgid "%s does not exist. Create it?" + msgstr "%s 不存在。建立嗎?" +@@ -123,8 +151,8 @@ msgstr "%s 不存在。建立嗎?" + #. mkdir() on the directory %s failed. The second %s is the + #. error message returned by libc + #. +-#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:830 +-#: nntp/newsrc.c:1069 ++#: autocrypt/autocrypt.c:79 bcache.c:216 hcache/hcache.c:161 main.c:761 ++#: nntp/newsrc.c:1098 + #, c-format + msgid "Can't create %s: %s" + msgstr "無法建立 %s: %s" +@@ -134,7 +162,7 @@ msgstr "無法建立 %s: %s" + #. create $autocrypt_dir and then prompt to create an autocrypt + #. account with this message. + #. +-#: autocrypt/autocrypt.c:156 ++#: autocrypt/autocrypt.c:163 + msgid "Create an initial autocrypt account?" + msgstr "" + +@@ -143,7 +171,7 @@ msgstr "" + #. autocrypt account. This will generate a key and add a record + #. to the database for use in autocrypt operations. + #. +-#: autocrypt/autocrypt.c:180 ++#: autocrypt/autocrypt.c:187 + msgid "Autocrypt account address: " + msgstr "" + +@@ -152,7 +180,7 @@ msgstr "" + #. a single address. This is shown if they entered something invalid, + #. nothing, or more than one address for some reason. + #. +-#: autocrypt/autocrypt.c:191 ++#: autocrypt/autocrypt.c:198 + msgid "Please enter a single email address" + msgstr "" + +@@ -161,7 +189,7 @@ msgstr "" + #. if there is already an account in the database with the email address + #. they just entered. + #. +-#: autocrypt/autocrypt.c:208 ++#: autocrypt/autocrypt.c:215 + msgid "That email address already has an autocrypt account" + msgstr "" + +@@ -173,7 +201,7 @@ msgstr "" + #. Otherwise the UI will show encryption is "available" but the user + #. will be required to enable encryption manually. + #. +-#: autocrypt/autocrypt.c:223 ++#: autocrypt/autocrypt.c:230 + #, fuzzy + msgid "Prefer encryption?" + msgstr "加密" +@@ -181,7 +209,7 @@ msgstr "加密" + #. L10N: + #. Message displayed after an autocrypt account is successfully created. + #. +-#: autocrypt/autocrypt.c:236 ++#: autocrypt/autocrypt.c:243 + msgid "Autocrypt account creation succeeded" + msgstr "" + +@@ -189,7 +217,7 @@ msgstr "" + #. Error message displayed if creating an autocrypt account failed + #. or was aborted by the user. + #. +-#: autocrypt/autocrypt.c:242 ++#: autocrypt/autocrypt.c:249 + msgid "Autocrypt account creation aborted" + msgstr "" + +@@ -198,7 +226,7 @@ msgstr "" + #. to use to encrypt, but it can't find a valid keyid for this address. + #. The message is printed and they are returned to the compose menu. + #. +-#: autocrypt/autocrypt.c:610 autocrypt/autocrypt.c:639 ++#: autocrypt/autocrypt.c:617 autocrypt/autocrypt.c:646 + #, c-format + msgid "No (valid) autocrypt key found for %s" + msgstr "" +@@ -210,12 +238,12 @@ msgstr "" + #. and used for encryption. + #. If this is answered yes, they will be prompted for a mailbox. + #. +-#: autocrypt/autocrypt.c:903 ++#: autocrypt/autocrypt.c:910 + msgid "Scan a mailbox for autocrypt headers?" + msgstr "" + + #. L10N: The prompt for a mailbox to scan for Autocrypt: headers +-#: autocrypt/autocrypt.c:907 ++#: autocrypt/autocrypt.c:914 + #, fuzzy + msgid "Scan mailbox" + msgstr "沒有信箱。\n" +@@ -227,14 +255,14 @@ msgstr "沒有信箱。\n" + #. for a mailbox. This is because this is a one-time operation + #. and I don't want them to accidentally ctrl-g and abort it. + #. +-#: autocrypt/autocrypt.c:927 ++#: autocrypt/autocrypt.c:934 + msgid "Scan another mailbox for autocrypt headers?" + msgstr "" + + #. L10N: Autocrypt Account Menu Help line: + #. create new account + #. +-#: autocrypt/autocrypt_acct_menu.c:63 ++#: autocrypt/autocrypt_acct_menu.c:62 + #, fuzzy + msgid "Create" + msgstr "建立 %s?" +@@ -242,7 +270,7 @@ msgstr "建立 %s?" + #. L10N: Autocrypt Account Menu Help line: + #. delete account + #. +-#: autocrypt/autocrypt_acct_menu.c:67 remailer.c:77 ++#: autocrypt/autocrypt_acct_menu.c:66 remailer.c:75 + msgid "Delete" + msgstr "刪除" + +@@ -250,9 +278,9 @@ msgstr "刪除" + #. toggle an account active/inactive + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:74 ++#: autocrypt/autocrypt_acct_menu.c:73 + msgid "Tgl Active" + msgstr "" + +@@ -260,17 +288,17 @@ msgstr "" + #. toggle "prefer-encrypt" on an account + #. The words here are abbreviated to keep the help line compact. + #. It currently has the content: +-#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Enc ?:Help ++#. q:Exit c:Create D:Delete a:Tgl Active p:Prf Encr ?:Help + #. +-#: autocrypt/autocrypt_acct_menu.c:81 +-msgid "Prf Enc" ++#: autocrypt/autocrypt_acct_menu.c:80 ++msgid "Prf Encr" + msgstr "" + + #. L10N: + #. Autocrypt Account menu. + #. flag that an account has prefer-encrypt set + #. +-#: autocrypt/autocrypt_acct_menu.c:123 ++#: autocrypt/autocrypt_acct_menu.c:122 + msgid "prefer encrypt" + msgstr "" + +@@ -279,7 +307,7 @@ msgstr "" + #. flag that an account has prefer-encrypt unset; + #. thus encryption will need to be manually enabled. + #. +-#: autocrypt/autocrypt_acct_menu.c:130 ++#: autocrypt/autocrypt_acct_menu.c:129 + msgid "manual encrypt" + msgstr "" + +@@ -287,7 +315,7 @@ msgstr "" + #. Autocrypt Account menu. + #. flag that an account is enabled/active + #. +-#: autocrypt/autocrypt_acct_menu.c:138 ++#: autocrypt/autocrypt_acct_menu.c:137 + msgid "active" + msgstr "" + +@@ -295,12 +323,12 @@ msgstr "" + #. Autocrypt Account menu. + #. flag that an account is disabled/inactive + #. +-#: autocrypt/autocrypt_acct_menu.c:144 ++#: autocrypt/autocrypt_acct_menu.c:143 + msgid "inactive" + msgstr "" + + #. L10N: Autocrypt Account Management Menu title +-#: autocrypt/autocrypt_acct_menu.c:183 ++#: autocrypt/autocrypt_acct_menu.c:182 + msgid "Autocrypt Accounts" + msgstr "" + +@@ -308,13 +336,13 @@ msgstr "" + #. This error message is displayed if a database update of an + #. account record fails for some odd reason. + #. +-#: autocrypt/autocrypt_acct_menu.c:245 autocrypt/autocrypt_acct_menu.c:259 ++#: autocrypt/autocrypt_acct_menu.c:244 autocrypt/autocrypt_acct_menu.c:258 + #, fuzzy + msgid "Error updating account record" + msgstr "無法掃描目錄" + + #. L10N: Confirmation message when deleting an autocrypt account +-#: autocrypt/autocrypt_acct_menu.c:302 ++#: autocrypt/autocrypt_acct_menu.c:333 + #, fuzzy, c-format + msgid "Really delete account \"%s\"?" + msgstr "真的要刪除 \"%s\" 郵箱?" +@@ -332,7 +360,7 @@ msgstr "真的要刪除 \"%s\" 郵箱?" + msgid "Unable to open autocrypt database %s" + msgstr "無法鎖住信箱" + +-#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:774 ++#: autocrypt/autocrypt_gpgme.c:55 ncrypt/crypt_gpgme.c:773 + #, fuzzy, c-format + msgid "error creating gpgme context: %s" + msgstr "在樣式上有錯誤:%s" +@@ -405,499 +433,618 @@ msgstr "" + msgid "Message cache isn't a directory: %s" + msgstr "%s 不是一個目錄" + +-#: browser.c:81 ++#: browser.c:80 + msgid "Chdir" + msgstr "改變目錄" + +-#: browser.c:82 ++#: browser.c:81 + msgid "Goto" + msgstr "" + +-#: browser.c:83 browser.c:95 ++#: browser.c:82 browser.c:94 + msgid "Mask" + msgstr "遮罩" + +-#: browser.c:91 ++#: browser.c:90 + msgid "List" + msgstr "" + +-#: browser.c:92 ++#: browser.c:91 + #, fuzzy + msgid "Subscribe" + msgstr "訂閱 %s…" + +-#: browser.c:93 ++#: browser.c:92 + #, fuzzy + msgid "Unsubscribe" + msgstr "取消訂閱 %s…" + +-#: browser.c:94 index.c:134 ++#: browser.c:93 index.c:130 + msgid "Catchup" + msgstr "" + +-#: browser.c:760 browser.c:1519 browser.c:1758 ++#: browser.c:763 browser.c:1584 browser.c:1825 + #, c-format + msgid "%s is not a directory" + msgstr "%s 不是一個目錄" + +-#: browser.c:1025 ++#: browser.c:1028 + #, fuzzy, c-format + msgid "Subscribed newsgroups" + msgstr "訂閱 %s…" + +-#: browser.c:1028 ++#: browser.c:1031 + #, c-format + msgid "Newsgroups on server [%s]" + msgstr "" + +-#: browser.c:1038 ++#: browser.c:1041 + #, c-format + msgid "Mailboxes [%d]" + msgstr "信箱 [%d]" + +-#: browser.c:1050 ++#: browser.c:1053 + #, c-format + msgid "Subscribed [%s], File mask: %s" + msgstr "已訂閱 [%s], 檔案遮罩: %s" + +-#: browser.c:1056 ++#: browser.c:1059 + #, c-format + msgid "Directory [%s], File mask: %s" + msgstr "目錄 [%s], 檔案遮罩: %s" + +-#: browser.c:1113 ++#: browser.c:1116 + msgid "Can't attach a directory" + msgstr "無法附帶目錄" + +-#: browser.c:1380 browser.c:1814 browser.c:1959 ++#: browser.c:1445 browser.c:1881 browser.c:2026 + msgid "No files match the file mask" + msgstr "沒有檔案與檔案遮罩相符" + +-#: browser.c:1587 ++#: browser.c:1654 + msgid "Create is only supported for IMAP mailboxes" + msgstr "只有 IMAP 郵箱才支援製造功能" + +-#: browser.c:1609 ++#: browser.c:1676 + #, fuzzy + msgid "Rename is only supported for IMAP mailboxes" + msgstr "只有 IMAP 郵箱才支援製造功能" + +-#: browser.c:1630 ++#: browser.c:1697 + msgid "Delete is only supported for IMAP mailboxes" + msgstr "只有 IMAP 郵箱才支援刪除功能" + +-#: browser.c:1642 ++#: browser.c:1709 + #, fuzzy + msgid "Can't delete currently selected mailbox" + msgstr "顯示所選擇的檔案" + +-#: browser.c:1646 ++#: browser.c:1713 + #, c-format + msgid "Really delete mailbox \"%s\"?" + msgstr "真的要刪除 \"%s\" 郵箱?" + +-#: browser.c:1663 ++#: browser.c:1730 + msgid "Mailbox deleted" + msgstr "郵箱已刪除" + +-#: browser.c:1667 ++#: browser.c:1734 + #, fuzzy + msgid "Mailbox deletion failed" + msgstr "郵箱已刪除" + +-#: browser.c:1670 ++#: browser.c:1737 + msgid "Mailbox not deleted" + msgstr "郵箱未被刪除" + +-#: browser.c:1697 ++#: browser.c:1764 + msgid "Chdir to: " + msgstr "改變目錄到:" + +-#: browser.c:1747 browser.c:1808 ++#: browser.c:1814 browser.c:1875 + msgid "Error scanning directory" + msgstr "無法掃描目錄" + +-#: browser.c:1769 ++#: browser.c:1836 + msgid "File Mask: " + msgstr "檔案遮罩:" + + #. L10N: The highlighted letters must match the "Sort" options +-#: browser.c:1831 ++#: browser.c:1898 + #, fuzzy + msgid "Reverse sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "反向排序 (1)日期, (2)字元, (3)大小 或 (4)不排序?" + + #. L10N: The highlighted letters must match the "Reverse Sort" options +-#: browser.c:1834 ++#: browser.c:1901 + #, fuzzy + msgid "Sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount, ne(w) count, or do(n)'t sort?" + msgstr "依照 (1)日期 (2)字元 (3)大小 來排序,或(4)不排序?" + + #. L10N: These must match the highlighted letters from "Sort" and "Reverse Sort" +-#: browser.c:1837 ++#: browser.c:1904 + msgid "dazecwn" + msgstr "" + +-#: browser.c:1948 ++#: browser.c:2015 + msgid "New file name: " + msgstr "新檔名:" + +-#: browser.c:1976 ++#: browser.c:2043 + msgid "Can't view a directory" + msgstr "無法顯示目錄" + +-#: browser.c:1993 ++#: browser.c:2060 + msgid "Error trying to view file" + msgstr "無法試著顯示檔案" + +-#: browser.c:2079 ++#: browser.c:2146 + #, fuzzy, c-format + msgid "Subscribe pattern: " + msgstr "訂閱 %s…" + +-#: browser.c:2081 ++#: browser.c:2148 + #, fuzzy, c-format + msgid "Unsubscribe pattern: " + msgstr "取消訂閱 %s…" + +-#: browser.c:2101 ++#: browser.c:2169 + #, fuzzy + msgid "No newsgroups match the mask" + msgstr "沒有檔案與檔案遮罩相符" + +-#: color.c:633 color.c:644 +-#, c-format +-msgid "%s: color not supported by term" +-msgstr "%s:終端機無法顯示色彩" +- +-#: color.c:652 +-#, c-format +-msgid "%s: no such color" +-msgstr "%s:沒有這種顏色" +- +-#: color.c:717 color.c:740 color.c:751 color.c:842 +-#, c-format +-msgid "%s: no such object" +-msgstr "%s:沒有這個物件" +- +-#: color.c:731 color.c:868 color.c:1069 color.c:1098 color.c:1122 color.c:1191 +-#: color.c:1214 hook.c:110 hook.c:124 hook.c:367 hook.c:383 init.c:612 +-#: init.c:620 init.c:709 init.c:1099 init.c:1267 init.c:1871 init.c:1929 +-#: keymap.c:1184 score.c:110 +-#, c-format +-msgid "%s: too few arguments" +-msgstr "%s:太少參數" +- +-#: color.c:1142 +-#, c-format +-msgid "%s: no such attribute" +-msgstr "%s:沒有這個屬性" +- +-#: color.c:1223 color.c:1329 hook.c:131 hook.c:390 init.c:1123 init.c:2133 +-#: init.c:2611 keymap.c:1116 keymap.c:1289 keymap.c:1442 keymap.c:1506 +-#: mutt_lua.c:483 score.c:119 +-#, c-format +-msgid "%s: too many arguments" +-msgstr "%s: 太多參數" +- +-#: color.c:1244 +-msgid "default colors not supported" +-msgstr "不支援預設的色彩" +- +-#: color.c:1282 +-#, c-format +-msgid "Maximum quoting level is %d" +-msgstr "" +- +-#: color.c:1319 +-#, fuzzy, c-format +-msgid "%s: invalid number: %s" +-msgstr "%d:無效的信件號碼。\n" +- + #. L10N: Used for the $crypt_verify_sig prompt +-#: commands.c:230 ++#: commands.c:232 + msgid "Verify signature?" + msgstr "檢查 簽名?" + +-#: commands.c:257 mbox/mbox.c:1236 ++#: commands.c:259 mbox/mbox.c:1236 + msgid "Could not create temporary file" + msgstr "無法建立暫存檔" + +-#: commands.c:269 ++#: commands.c:271 + msgid "Can't create display filter" + msgstr "無法建立顯示過濾器" + +-#: commands.c:302 ++#: commands.c:304 + msgid "Could not copy message" + msgstr "無法複制信件" + +-#: commands.c:338 ++#: commands.c:340 + #, fuzzy + msgid "S/MIME signature successfully verified" + msgstr "S/MIME 簽名驗證成功" + +-#: commands.c:340 ++#: commands.c:342 + msgid "S/MIME certificate owner does not match sender" + msgstr "" + +-#: commands.c:343 commands.c:353 ++#: commands.c:345 commands.c:355 + msgid "Warning: Part of this message has not been signed" + msgstr "" + +-#: commands.c:345 ++#: commands.c:347 + #, fuzzy + msgid "S/MIME signature could NOT be verified" + msgstr "S/MIME 簽名無法驗證" + +-#: commands.c:351 ++#: commands.c:353 + msgid "PGP signature successfully verified" + msgstr "PGP 簽名驗證成功" + +-#: commands.c:355 ++#: commands.c:357 + msgid "PGP signature could NOT be verified" + msgstr "PGP 簽名無法驗證" + +-#: commands.c:372 compose.c:2116 compress.c:321 curs_lib.c:359 curs_lib.c:646 +-#: index.c:1235 index.c:1285 mutt_attach.c:159 mutt_attach.c:292 pager.c:2460 +-#: sendlib.c:1625 ++#: commands.c:378 compose.c:2187 compress/compress.c:320 gui/curs_lib.c:360 ++#: gui/curs_lib.c:714 index.c:1240 index.c:1290 mutt_attach.c:161 ++#: mutt_attach.c:294 pager.c:2433 sendlib.c:1624 + #, c-format + msgid "Error running \"%s\"" + msgstr "執行 \"%s\" 時發生錯誤" + +-#: commands.c:382 ++#: commands.c:388 + msgid "Command: " + msgstr "指令:" + +-#: commands.c:419 recvcmd.c:191 recvcmd.c:203 ++#: commands.c:425 recvcmd.c:190 recvcmd.c:202 + msgid "Warning: message contains no From: header" + msgstr "" + +-#: commands.c:425 recvcmd.c:212 ++#: commands.c:431 recvcmd.c:211 + #, fuzzy + msgid "Bounce message to: " + msgstr "直接傳送郵件到:" + +-#: commands.c:427 recvcmd.c:214 ++#: commands.c:433 recvcmd.c:213 + #, fuzzy + msgid "Bounce tagged messages to: " + msgstr "回退信件至:" + +-#: commands.c:436 recvcmd.c:224 ++#: commands.c:442 recvcmd.c:223 + msgid "Error parsing address" + msgstr "無法分析位址" + +-#: commands.c:455 recvcmd.c:243 ++#: commands.c:461 recvcmd.c:242 + #, fuzzy, c-format + msgid "Bounce message to %s?" + msgid_plural "Bounce messages to %s?" + msgstr[0] "把郵件直接傳送至 %s?" + +-#: commands.c:470 recvcmd.c:257 ++#: commands.c:476 recvcmd.c:257 + #, fuzzy + msgid "Message not bounced" + msgid_plural "Messages not bounced" + msgstr[0] "郵件已被傳送" + +-#: commands.c:496 recvcmd.c:276 ++#: commands.c:502 recvcmd.c:276 + #, fuzzy + msgid "Message bounced" + msgid_plural "Messages bounced" + msgstr[0] "郵件已被傳送" + +-#: commands.c:606 commands.c:642 commands.c:662 ++#: commands.c:612 commands.c:648 commands.c:668 + msgid "Can't create filter process" + msgstr "無法啟動過濾程序" + +-#: commands.c:698 ++#: commands.c:704 + msgid "Pipe to command: " + msgstr "用管道輸出至命令:" + +-#: commands.c:720 ++#: commands.c:726 + msgid "No printing command has been defined" + msgstr "沒有定義列印指令" + +-#: commands.c:732 ++#: commands.c:738 + #, fuzzy + msgid "Print message?" + msgstr "列印信件?" + +-#: commands.c:733 ++#: commands.c:739 + #, fuzzy + msgid "Print tagged messages?" + msgstr "列印信件?" + +-#: commands.c:739 ++#: commands.c:745 + #, fuzzy + msgid "Message printed" + msgid_plural "Messages printed" + msgstr[0] "信件已印出" + +-#: commands.c:742 ++#: commands.c:748 + #, fuzzy + msgid "Message could not be printed" + msgid_plural "Messages could not be printed" + msgstr[0] "信件未能列印出來" + + #. L10N: The highlighted letters must match the "Sort" options +-#: commands.c:759 ++#: commands.c:765 + #, fuzzy + msgid "Rev-Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "反方向 (1)日期 (2)發信人 (3)收信時間 (4)標題 (5)收信人 (6)序列 (7)不排 (8)大小 (9)分數?" + + #. L10N: The highlighted letters must match the "Rev-Sort" options +-#: commands.c:763 ++#: commands.c:769 + #, fuzzy + msgid "Sort (d)ate/(f)rm/(r)ecv/(s)ubj/t(o)/(t)hread/(u)nsort/si(z)e/s(c)ore/s(p)am/(l)abel?" + msgstr "排序 (1)日期 (2)發信人 (3)收信時間 (4)標題 (5)收信人 (6)序列 (7)不排序 (8)大小 (9)分數?" + + #. L10N: These must match the highlighted letters from "Sort" and "Rev-Sort" +-#: commands.c:767 ++#: commands.c:773 + #, fuzzy + msgid "dfrsotuzcpl" + msgstr "123456789" + +-#: commands.c:831 ++#: commands.c:837 + msgid "Shell command: " + msgstr "Shell 指令:" + +-#: commands.c:1036 ++#: commands.c:1042 + #, fuzzy + msgid "Decode-save to mailbox" + msgstr "%s 到信箱" + +-#: commands.c:1036 ++#: commands.c:1042 + #, fuzzy + msgid "Decode-save tagged to mailbox" + msgstr "%s 到信箱" + +-#: commands.c:1038 ++#: commands.c:1044 + #, fuzzy + msgid "Decrypt-save to mailbox" + msgstr "%s 到信箱" + +-#: commands.c:1038 ++#: commands.c:1044 + #, fuzzy + msgid "Decrypt-save tagged to mailbox" + msgstr "%s 到信箱" + +-#: commands.c:1040 ++#: commands.c:1046 + #, fuzzy + msgid "Save to mailbox" + msgstr "%s 到信箱" + +-#: commands.c:1040 ++#: commands.c:1046 + #, fuzzy + msgid "Save tagged to mailbox" + msgstr "%s 到信箱" + +-#: commands.c:1045 ++#: commands.c:1051 + #, fuzzy + msgid "Decode-copy to mailbox" + msgstr "%s 到信箱" + +-#: commands.c:1045 ++#: commands.c:1051 + #, fuzzy + msgid "Decode-copy tagged to mailbox" + msgstr "%s 到信箱" + +-#: commands.c:1047 ++#: commands.c:1053 + #, fuzzy + msgid "Decrypt-copy to mailbox" + msgstr "%s 到信箱" + +-#: commands.c:1047 ++#: commands.c:1053 + #, fuzzy + msgid "Decrypt-copy tagged to mailbox" + msgstr "%s 到信箱" + +-#: commands.c:1049 ++#: commands.c:1055 + #, fuzzy + msgid "Copy to mailbox" + msgstr "%s 到信箱" + +-#: commands.c:1049 ++#: commands.c:1055 + #, fuzzy + msgid "Copy tagged to mailbox" + msgstr "%s 到信箱" + +-#: commands.c:1092 ++#: commands.c:1098 + #, c-format + msgid "Copying to %s..." + msgstr "拷貝到 %s…" + + #. L10N: e.g. "text/plain; charset=UTF-8; ..." +-#: commands.c:1257 ++#: commands.c:1263 + #, fuzzy + msgid "Content type is too long" + msgstr "Content-Type 被改為 %s" + +-#: commands.c:1281 ++#: commands.c:1290 + #, c-format + msgid "Convert to %s upon sending?" + msgstr "送出的時候轉換字符集為 %s ?" + +-#: commands.c:1292 ++#: commands.c:1301 + #, c-format + msgid "Content-Type changed to %s" + msgstr "Content-Type 被改為 %s" + +-#: commands.c:1297 ++#: commands.c:1306 + #, fuzzy, c-format + msgid "Character set changed to %s; not converting" + msgstr "字符集已換為 %s; 沒有轉換" + +-#: commands.c:1298 ++#: commands.c:1307 + #, fuzzy, c-format + msgid "Character set changed to %s; converting" + msgstr "字符集已換為 %s; 轉換中" + +-#: compose.c:99 ++#: command_parse.c:83 command_parse.c:211 command_parse.c:219 ++#: command_parse.c:740 command_parse.c:887 command_parse.c:1491 ++#: command_parse.c:1549 gui/color.c:731 gui/color.c:868 gui/color.c:1069 ++#: gui/color.c:1098 gui/color.c:1122 gui/color.c:1191 gui/color.c:1214 ++#: hook.c:110 hook.c:124 hook.c:372 hook.c:388 keymap.c:1182 score.c:110 ++#, c-format ++msgid "%s: too few arguments" ++msgstr "%s:太少參數" ++ ++#: command_parse.c:394 ++msgid "-group: no group name" ++msgstr "" ++ ++#: command_parse.c:404 ++#, fuzzy ++msgid "out of arguments" ++msgstr "太少參數" ++ ++#: command_parse.c:445 command_parse.c:1372 ++#, c-format ++msgid "Error: Can't build path of '%s'" ++msgstr "" ++ ++#: command_parse.c:458 ++#, c-format ++msgid "Error: Cyclic sourcing of configuration file '%s'" ++msgstr "" ++ ++#: command_parse.c:491 ++#, c-format ++msgid "Error in %s, line %d: %s" ++msgstr "%s 發生錯誤,行號 %d:%s" ++ ++#: command_parse.c:502 ++#, fuzzy, c-format ++msgid "Warning in %s, line %d: %s" ++msgstr "%s 發生錯誤,行號 %d:%s" ++ ++#: command_parse.c:526 ++#, c-format ++msgid "source: errors in %s" ++msgstr "source:錯誤發生在 %s" ++ ++#: command_parse.c:526 ++#, fuzzy, c-format ++msgid "source: reading aborted due to too many errors in %s" ++msgstr "source: 因 %s 發生太多錯誤,因此閱讀終止" ++ ++#: command_parse.c:535 ++#, fuzzy, c-format ++msgid "source: %d warning in %s" ++msgid_plural "source: %d warnings in %s" ++msgstr[0] "source:錯誤發生在 %s" ++ ++#: command_parse.c:564 ++msgid "alias: no address" ++msgstr "別名:沒有電子郵件位址" ++ ++#: command_parse.c:606 ++#, c-format ++msgid "Warning: Bad IDN '%s' in alias '%s'" ++msgstr "警告:別名「%2$s」當中的「%1$s」為無效的 IDN" ++ ++#: command_parse.c:684 ++#, fuzzy ++msgid "attachments: no disposition" ++msgstr "編輯附件的說明" ++ ++#: command_parse.c:695 ++#, fuzzy ++msgid "Current attachments settings:" ++msgstr "編輯附件的說明" ++ ++#: command_parse.c:725 ++#, fuzzy ++msgid "attachments: invalid disposition" ++msgstr "編輯附件的說明" ++ ++#: command_parse.c:764 command_parse.c:1753 command_parse.c:2205 ++#: gui/color.c:1223 gui/color.c:1329 hook.c:131 hook.c:395 keymap.c:1114 ++#: keymap.c:1287 keymap.c:1440 keymap.c:1504 mutt_lua.c:485 score.c:119 ++#, c-format ++msgid "%s: too many arguments" ++msgstr "%s: 太多參數" ++ ++#: command_parse.c:801 ++#, c-format ++msgid "%sgroup: missing -rx or -addr" ++msgstr "" ++ ++#: command_parse.c:827 ++#, fuzzy, c-format ++msgid "%sgroup: warning: bad IDN '%s'" ++msgstr "警告:別名「%2$s」當中的「%1$s」為無效的 IDN" ++ ++#: command_parse.c:898 ++#, c-format ++msgid "Error: %s" ++msgstr "" ++ ++#: command_parse.c:1065 ++msgid "invalid header field" ++msgstr "無效的標頭欄位" ++ ++#: command_parse.c:1331 command_parse.c:1435 ++#, c-format ++msgid "%s: unknown variable" ++msgstr "%s:不明的變數" ++ ++#: command_parse.c:1528 ++#, c-format ++msgid "%s is unset" ++msgstr "%s 沒有被設定" ++ ++#: command_parse.c:1573 mutt_lua.c:480 ++#, c-format ++msgid "source: error at %s" ++msgstr "source:錯誤發生在 %s" ++ ++#: command_parse.c:1581 ++#, fuzzy, c-format ++msgid "source: file %s could not be sourced" ++msgstr "信件未能列印出來" ++ ++#: command_parse.c:1604 ++#, fuzzy ++msgid "spam: no matching pattern" ++msgstr "標記符合某個格式的信件" ++ ++#: command_parse.c:1606 ++#, fuzzy ++msgid "nospam: no matching pattern" ++msgstr "反標記符合某個格式的信件" ++ ++#: command_parse.c:1762 imap/imap.c:1443 ++#, fuzzy, c-format ++msgid "Subscribed to %s" ++msgstr "訂閱 %s…" ++ ++#: command_parse.c:1766 ++#, fuzzy, c-format ++msgid "Could not subscribe to %s" ++msgstr "訂閱 %s…" ++ ++#: command_parse.c:1774 command_parse.c:2226 ++#, fuzzy ++msgid "No folder specified" ++msgstr "沒有指定標題" ++ ++#: command_parse.c:1943 ++#, fuzzy ++msgid "unattachments: no disposition" ++msgstr "編輯附件的說明" ++ ++#: command_parse.c:1981 ++msgid "unattachments: invalid disposition" ++msgstr "" ++ ++#: command_parse.c:2214 imap/imap.c:1445 ++#, fuzzy, c-format ++msgid "Unsubscribed from %s" ++msgstr "取消訂閱 %s…" ++ ++#: command_parse.c:2218 ++#, fuzzy, c-format ++msgid "Could not unsubscribe from %s" ++msgstr "取消訂閱 %s…" ++ ++#: compose.c:97 + msgid "There are no attachments" + msgstr "沒有附件" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:166 ++#: compose.c:164 + msgid "From: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:168 send.c:284 ++#: compose.c:166 send.c:284 + msgid "To: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:170 send.c:286 ++#: compose.c:168 send.c:286 + msgid "Cc: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:172 send.c:288 ++#: compose.c:170 send.c:288 + msgid "Bcc: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:174 compose.c:1242 send.c:320 ++#: compose.c:172 compose.c:1302 send.c:320 + msgid "Subject: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:176 ++#: compose.c:174 + #, fuzzy + msgid "Reply-To: " + msgstr "回覆" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:178 compose.c:1261 ++#: compose.c:176 compose.c:1321 + msgid "Fcc: " + msgstr "" + + #. L10N: "Mix" refers to the MixMaster chain for anonymous email +-#: compose.c:181 ++#: compose.c:179 + msgid "Mix: " + msgstr "" + + #. L10N: Compose menu field. Holds "Encrypt", "Sign" related information +-#: compose.c:184 ++#: compose.c:182 + msgid "Security: " + msgstr "" + +@@ -908,78 +1055,78 @@ msgstr "" + #. it should not be longer than the other compose menu fields. + #. Since it shares the row with "Encrypt with:", it should not be longer + #. than 15-20 character cells. +-#: compose.c:192 ncrypt/crypt_gpgme.c:5602 ncrypt/pgp.c:1974 +-#: ncrypt/smime.c:2395 ++#: compose.c:190 ncrypt/crypt_gpgme.c:5682 ncrypt/pgp.c:1976 ++#: ncrypt/smime.c:2429 + msgid "Sign as: " + msgstr "簽名的身份是:" + + #. L10N: The compose menu autocrypt line +-#: compose.c:195 ++#: compose.c:193 + msgid "Autocrypt: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:199 ++#: compose.c:197 + msgid "Newsgroups: " + msgstr "" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:201 ++#: compose.c:199 + #, fuzzy + msgid "Followup-To: " + msgstr "以後的回覆都寄至 %s%s?" + + #. L10N: Compose menu field. May not want to translate. +-#: compose.c:203 ++#: compose.c:201 + #, fuzzy + msgid "X-Comment-To: " + msgstr "編輯 Reply-To 欄位" + +-#: compose.c:208 compose.c:224 ++#: compose.c:206 compose.c:222 + msgid "Send" + msgstr "寄出" + +-#: compose.c:209 compose.c:225 remailer.c:77 ++#: compose.c:207 compose.c:223 remailer.c:75 + msgid "Abort" + msgstr "中斷" + + #. L10N: compose menu help line entry +-#: compose.c:211 ++#: compose.c:209 + msgid "To" + msgstr "" + + #. L10N: compose menu help line entry +-#: compose.c:213 ++#: compose.c:211 + msgid "CC" + msgstr "" + + #. L10N: compose menu help line entry +-#: compose.c:215 compose.c:227 ++#: compose.c:213 compose.c:225 + msgid "Subj" + msgstr "" + +-#: compose.c:216 compose.c:228 compose.c:1556 ++#: compose.c:214 compose.c:226 compose.c:1616 + msgid "Attach file" + msgstr "附加檔案" + +-#: compose.c:217 compose.c:229 ++#: compose.c:215 compose.c:227 + msgid "Descrip" + msgstr "敘述" + +-#: compose.c:226 ++#: compose.c:224 + #, fuzzy + msgid "Newsgroups" + msgstr "沒有指定標題" + + #. L10N: Autocrypt recommendation flag: off. + #. * This is displayed when Autocrypt is turned off. +-#: compose.c:239 compose.c:473 ++#: compose.c:237 compose.c:472 + msgid "Off" + msgstr "" + + #. L10N: Autocrypt recommendation flag: no. + #. * This is displayed when Autocrypt cannot encrypt to the recipients. +-#: compose.c:242 ++#: compose.c:240 + msgid "No" + msgstr "" + +@@ -987,7 +1134,7 @@ msgstr "" + #. * This is displayed when Autocrypt believes encryption should not be used. + #. * This might occur if one of the recipient Autocrypt Keys has not been + #. * used recently, or if the only key available is a Gossip Header key. +-#: compose.c:247 ++#: compose.c:245 + msgid "Discouraged" + msgstr "" + +@@ -995,14 +1142,14 @@ msgstr "" + #. * This is displayed when Autocrypt believes encryption is possible, but + #. * leaves enabling it up to the sender. Probably because "prefer encrypt" + #. * is not set in both the sender and recipient keys. +-#: compose.c:252 ++#: compose.c:250 + msgid "Available" + msgstr "" + + #. L10N: Autocrypt recommendation flag: yes. + #. * This is displayed when Autocrypt would normally enable encryption + #. * automatically. +-#: compose.c:256 ++#: compose.c:254 + msgid "Yes" + msgstr "" + +@@ -1012,7 +1159,7 @@ msgstr "" + #. (c)lear sets cleartext. + #. (a)utomatic defers to the recommendation. + #. +-#: compose.c:338 ++#: compose.c:337 + msgid "Autocrypt: (e)ncrypt, (c)lear, (a)utomatic?" + msgstr "" + +@@ -1020,53 +1167,53 @@ msgstr "" + #. The letter corresponding to the compose menu autocrypt prompt + #. (e)ncrypt, (c)lear, (a)utomatic + #. +-#: compose.c:346 ++#: compose.c:345 + msgid "eca" + msgstr "" + +-#: compose.c:383 ++#: compose.c:382 + #, fuzzy + msgid "Not supported" + msgstr "不支援標記功能" + +-#: compose.c:390 ++#: compose.c:389 + msgid "Sign, Encrypt" + msgstr "簽名,加密" + +-#: compose.c:395 compose.c:468 ++#: compose.c:394 compose.c:467 + msgid "Encrypt" + msgstr "加密" + +-#: compose.c:400 ++#: compose.c:399 + msgid "Sign" + msgstr "簽名" + +-#: compose.c:406 ++#: compose.c:405 + msgid "None" + msgstr "" + +-#: compose.c:415 ++#: compose.c:414 + #, fuzzy + msgid " (inline PGP)" + msgstr "(繼續)\n" + +-#: compose.c:417 ++#: compose.c:416 + msgid " (PGP/MIME)" + msgstr "" + +-#: compose.c:420 ++#: compose.c:419 + msgid " (S/MIME)" + msgstr "" + +-#: compose.c:424 ++#: compose.c:423 + msgid " (OppEnc mode)" + msgstr "" + +-#: compose.c:436 compose.c:445 ++#: compose.c:435 compose.c:444 + msgid "" + msgstr "<預設值>" + +-#: compose.c:452 ++#: compose.c:451 + #, fuzzy + msgid "Encrypt with: " + msgstr "加密" +@@ -1076,12 +1223,12 @@ msgstr "加密" + #. Displays the output of the recommendation engine + #. (Off, No, Discouraged, Available, Yes) + #. +-#: compose.c:483 ++#: compose.c:482 + #, fuzzy + msgid "Recommendation: " + msgstr "編輯 Reply-To 欄位" + +-#: compose.c:547 ++#: compose.c:546 + msgid "" + msgstr "" + +@@ -1092,7 +1239,7 @@ msgstr "" + #. The filename is located last to avoid a long path hiding the + #. error message. + #. +-#: compose.c:601 ++#: compose.c:600 + #, fuzzy, c-format + msgid "Attachment #%d no longer exists: %s" + msgstr "%s [#%d] 已不存在" +@@ -1104,239 +1251,359 @@ msgstr "%s [#%d] 已不存在" + #. The filename is located last to avoid a long path hiding the + #. prompt question. + #. +-#: compose.c:621 ++#: compose.c:620 + #, fuzzy, c-format + msgid "Attachment #%d modified. Update encoding for %s?" + msgstr "%s [#%d] 已修改。更新編碼?" + +-#: compose.c:716 ++#: compose.c:715 + msgid "-- Attachments" + msgstr "-- 附件" + +-#: compose.c:770 ++#: compose.c:769 + msgid "You may not delete the only attachment" + msgstr "您不可以刪除唯一的附件" + +-#: compose.c:1296 edit.c:538 send.c:2462 ++#: compose.c:1356 edit.c:536 send.c:2473 + #, c-format + msgid "Bad IDN in '%s': '%s'" + msgstr "「%s」中有無效的 IDN:「%s」" + +-#: compose.c:1347 ++#: compose.c:1407 + #, fuzzy + msgid "Attachment is already at top" + msgstr "附件已被儲存" + +-#: compose.c:1352 compose.c:1368 ++#: compose.c:1412 compose.c:1428 + #, fuzzy + msgid "The fundamental part can't be moved" + msgstr "這個附件不會被轉換" + +-#: compose.c:1363 ++#: compose.c:1423 + #, fuzzy + msgid "Attachment is already at bottom" + msgstr "附件被過濾掉" + +-#: compose.c:1381 ++#: compose.c:1441 + msgid "Grouping 'alternatives' requires at least 2 tagged messages" + msgstr "" + +-#: compose.c:1462 ++#: compose.c:1522 + msgid "Grouping 'multilingual' requires at least 2 tagged messages" + msgstr "" + +-#: compose.c:1475 ++#: compose.c:1535 + msgid "Not all parts have 'Content-Language' set, continue?" + msgstr "" + +-#: compose.c:1477 ++#: compose.c:1537 + #, fuzzy + msgid "Not sending this message" + msgstr "寄信途中發生錯誤" + +-#: compose.c:1571 ++#: compose.c:1631 + #, fuzzy + msgid "Attaching selected file..." + msgid_plural "Attaching selected files..." + msgstr[0] "正在附加選取了的檔案…" + +-#: compose.c:1585 ++#: compose.c:1645 + #, c-format + msgid "Unable to attach %s" + msgstr "無法附加 %s" + +-#: compose.c:1606 ++#: compose.c:1666 + msgid "Open mailbox to attach message from" + msgstr "開啟信箱並從它選擇附加的信件" + +-#: compose.c:1616 ++#: compose.c:1676 + #, fuzzy + msgid "Open newsgroup to attach message from" + msgstr "開啟信箱並從它選擇附加的信件" + +-#: compose.c:1667 ++#: compose.c:1730 + #, fuzzy, c-format + msgid "Unable to open mailbox %s" + msgstr "無法鎖住信箱" + +-#: compose.c:1676 ++#: compose.c:1739 + msgid "No messages in that folder" + msgstr "檔案夾中沒有信件" + +-#: compose.c:1686 ++#: compose.c:1749 + msgid "Tag the messages you want to attach" + msgstr "請標記您要附加的信件" + +-#: compose.c:1715 ++#: compose.c:1785 + msgid "Unable to attach" + msgstr "無法附加" + +-#: compose.c:1752 ++#: compose.c:1822 + msgid "Recoding only affects text attachments" + msgstr "重新編碼只影響文字附件" + +-#: compose.c:1757 ++#: compose.c:1827 + msgid "The current attachment won't be converted" + msgstr "這個附件不會被轉換" + +-#: compose.c:1759 ++#: compose.c:1829 + msgid "The current attachment will be converted" + msgstr "這個附件會被轉換" + +-#: compose.c:1831 ++#: compose.c:1901 + msgid "Empty 'Content-Language'" + msgstr "" + +-#: compose.c:1849 ++#: compose.c:1920 + msgid "Invalid encoding" + msgstr "無效的編碼" + +-#: compose.c:1871 ++#: compose.c:1942 + msgid "Save a copy of this message?" + msgstr "儲存這封信件的拷貝嗎?" + +-#: compose.c:1924 ++#: compose.c:1995 + #, fuzzy + msgid "Send attachment with name: " + msgstr "用文字方式顯示附件內容" + +-#: compose.c:1939 ++#: compose.c:2010 + msgid "Rename to: " + msgstr "更改名稱為:" + + #. L10N: "stat" is a system call. Do "man 2 stat" for more information. +-#: compose.c:1946 editmsg.c:102 editmsg.c:138 sendlib.c:1050 ++#: compose.c:2017 editmsg.c:102 editmsg.c:138 sendlib.c:1049 + #, fuzzy, c-format + msgid "Can't stat %s: %s" + msgstr "無法讀取:%s" + +-#: compose.c:1966 ++#: compose.c:2037 + msgid "New file: " + msgstr "建立新檔:" + +-#: compose.c:1984 ++#: compose.c:2055 + msgid "Content-Type is of the form base/sub" + msgstr "Content-Type 的格式是 base/sub" + +-#: compose.c:1991 ++#: compose.c:2062 + #, c-format + msgid "Unknown Content-Type %s" + msgstr "不明的 Content-Type %s" + +-#: compose.c:1999 ++#: compose.c:2070 + #, c-format + msgid "Can't create file %s" + msgstr "無法建立檔案 %s" + +-#: compose.c:2008 ++#: compose.c:2079 + msgid "What we have here is a failure to make an attachment" + msgstr "我們無法加上附件" + +-#: compose.c:2073 ++#: compose.c:2144 + #, fuzzy + msgid "Save (postpone) draft message?" + msgstr "要叫出被延遲的信件?" + +-#: compose.c:2133 ++#: compose.c:2204 + msgid "Write message to mailbox" + msgstr "將信件寫入到信箱" + +-#: compose.c:2136 ++#: compose.c:2207 + #, c-format + msgid "Writing message to %s ..." + msgstr "寫入信件到 %s …" + +-#: compose.c:2143 ++#: compose.c:2214 + msgid "Message written" + msgstr "信件已寫入" + +-#: compose.c:2154 ++#: compose.c:2225 + msgid "No PGP backend configured" + msgstr "" + +-#: compose.c:2161 compose.c:2225 ++#: compose.c:2232 compose.c:2296 + msgid "S/MIME already selected. Clear and continue?" + msgstr "" + +-#: compose.c:2186 ++#: compose.c:2257 + msgid "No S/MIME backend configured" + msgstr "" + +-#: compose.c:2194 ++#: compose.c:2265 + msgid "PGP already selected. Clear and continue?" + msgstr "" + +-#: compress.c:355 compress.c:499 ++#: compress/compress.c:354 compress/compress.c:498 + #, c-format + msgid "Can't append without an append-hook or close-hook : %s" + msgstr "" + +-#: compress.c:444 compress.c:511 compress.c:590 compress.c:628 mbox/mbox.c:1208 ++#: compress/compress.c:443 compress/compress.c:510 compress/compress.c:589 ++#: compress/compress.c:627 mbox/mbox.c:1208 + msgid "Unable to lock mailbox" + msgstr "無法鎖住信箱" + +-#: compress.c:448 compress.c:518 compress.c:594 ++#: compress/compress.c:447 compress/compress.c:517 compress/compress.c:593 + #, c-format + msgid "Decompressing %s" + msgstr "" + +-#: compress.c:457 ++#: compress/compress.c:456 + msgid "Can't identify the contents of the compressed file" + msgstr "" + +-#: compress.c:464 compress.c:539 ++#: compress/compress.c:463 compress/compress.c:538 + #, c-format + msgid "Can't find mailbox ops for mailbox type %d" + msgstr "" + +-#: compress.c:521 ++#: compress/compress.c:520 + #, fuzzy, c-format + msgid "Compress command failed: %s" + msgstr "預先連接指令失敗" + +-#: compress.c:532 ++#: compress/compress.c:531 + msgid "Unsupported mailbox type for appending" + msgstr "" + +-#: compress.c:618 ++#: compress/compress.c:617 + msgid "Can't sync a compressed file without a close-hook" + msgstr "" + +-#: compress.c:640 compress.c:692 ++#: compress/compress.c:639 compress/compress.c:691 + #, fuzzy, c-format + msgid "Compressing %s" + msgstr "拷貝到 %s…" + +-#: compress.c:687 ++#: compress/compress.c:686 + #, fuzzy, c-format + msgid "Compressed-appending to %s..." + msgstr "拷貝到 %s…" + +-#: compress.c:699 editmsg.c:247 ++#: compress/compress.c:698 editmsg.c:247 + #, c-format + msgid "Error. Preserving temporary file: %s" + msgstr "發生錯誤,保留暫存檔:%s" + ++#: config/bool.c:70 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %s" ++msgstr "無效的相對日期:%s" ++ ++#: config/bool.c:131 ++#, fuzzy, c-format ++msgid "Invalid boolean value: %ld" ++msgstr "無效的相對日期:%s" ++ ++#: config/enum.c:62 ++#, fuzzy, c-format ++msgid "Invalid enum value: %s" ++msgstr "%d:無效的信件號碼。\n" ++ ++#: config/enum.c:149 ++#, fuzzy, c-format ++msgid "Invalid enum value: %ld" ++msgstr "無效的日子:%s" ++ ++#: config/long.c:50 ++#, fuzzy, c-format ++msgid "Invalid long: %s" ++msgstr "無效的月份:%s" ++ ++#: config/long.c:56 config/long.c:114 config/number.c:68 config/number.c:133 ++#, fuzzy, c-format ++msgid "Option %s may not be negative" ++msgstr "功能在 attach-message 模式下不被支援" ++ ++#: config/number.c:49 config/sort.c:145 config/string.c:75 config/string.c:159 ++#, c-format ++msgid "Option %s may not be empty" ++msgstr "" ++ ++#: config/number.c:56 ++#, fuzzy, c-format ++msgid "Invalid number: %s" ++msgstr "%d:無效的信件號碼。\n" ++ ++#: config/number.c:62 ++#, c-format ++msgid "Number is too big: %s" ++msgstr "" ++ ++#: config/number.c:127 ++#, fuzzy, c-format ++msgid "Invalid number: %ld" ++msgstr "%d:無效的信件號碼。\n" ++ ++#: config/quad.c:69 ++#, fuzzy, c-format ++msgid "Invalid quad value: %s" ++msgstr "無效的相對日期:%s" ++ ++#: config/quad.c:133 ++#, fuzzy, c-format ++msgid "Invalid quad value: %ld" ++msgstr "無效的日子:%s" ++ ++#: config/set.c:102 ++#, c-format ++msgid "No such variable: %s" ++msgstr "" ++ ++#: config/set.c:134 config/set.c:821 ++#, fuzzy, c-format ++msgid "Variable '%s' has an invalid type %d" ++msgstr "錯誤:「%s」是無效的 IDN" ++ ++#: config/set.c:399 config/set.c:463 config/set.c:528 config/set.c:601 ++#: config/set.c:671 config/set.c:744 ++#, fuzzy, c-format ++msgid "Unknown variable '%s'" ++msgstr "%s:不明的變數" ++ ++#: config/sort.c:192 ++#, fuzzy, c-format ++msgid "Invalid sort name: %s" ++msgstr "無效的相對日期:%s" ++ ++#: config/sort.c:322 ++#, fuzzy, c-format ++msgid "Invalid sort type: %ld" ++msgstr "無效的相對日期:%s" ++ ++#. L10N: Example: Username at myhost.com ++#: conn/connaccount.c:61 ++#, c-format ++msgid "Username at %s: " ++msgstr "在 %s 的使用者名稱:" ++ ++#: conn/connaccount.c:117 ++#, c-format ++msgid "Password for %s@%s: " ++msgstr "%s@%s 的密碼:" ++ ++#. L10N: You will see this error message if (1) you have "oauthbearer" in ++#. one of your $*_authenticators and (2) you do not have the corresponding ++#. $*_oauth_refresh_command defined. So the message does not mean "None of ++#. your $*_oauth_refresh_command's are defined." ++#: conn/connaccount.c:165 ++#, fuzzy ++msgid "No OAUTH refresh command defined" ++msgstr "查詢指令尚未定義" ++ ++#: conn/connaccount.c:173 ++msgid "Unable to run refresh command" ++msgstr "" ++ ++#: conn/connaccount.c:184 ++msgid "Command returned empty string" ++msgstr "" ++ ++#: conn/connaccount.c:191 ++#, c-format ++msgid "OAUTH token is too big: %ld" ++msgstr "" ++ + #: conn/conn_raw.c:160 conn/conn_raw.c:218 + #, c-format + msgid "Looking up %s..." +@@ -1357,7 +1624,7 @@ msgstr "正連接到 %s…" + msgid "Could not connect to %s (%s)" + msgstr "無法連線到 %s (%s)" + +-#: conn/conn_raw.c:260 conn/ssl.c:1230 curs_lib.c:568 mutt_logging.c:149 ++#: conn/conn_raw.c:260 conn/ssl.c:1245 gui/curs_lib.c:569 mutt_logging.c:147 + msgid "unknown error" + msgstr "不明的錯誤" + +@@ -1371,24 +1638,24 @@ msgstr "連線到 %s (%s) 時失敗" + msgid "Connection to %s has been aborted" + msgstr "到 %s 的連線中斷了" + +-#: conn/sasl.c:565 ++#: conn/sasl.c:547 + msgid "Unknown SASL profile" + msgstr "" + +-#: conn/sasl.c:598 ++#: conn/sasl.c:580 + #, fuzzy + msgid "Error allocating SASL connection" + msgstr "在樣式上有錯誤:%s" + +-#: conn/sasl.c:608 ++#: conn/sasl.c:590 + msgid "Error setting SASL security properties" + msgstr "" + +-#: conn/sasl.c:619 ++#: conn/sasl.c:601 + msgid "Error setting SASL external security strength" + msgstr "" + +-#: conn/sasl.c:629 ++#: conn/sasl.c:611 + msgid "Error setting SASL external user name" + msgstr "" + +@@ -1401,138 +1668,112 @@ msgstr "預先連接指令失敗" + msgid "Connection to %s closed" + msgstr "到 %s 的連線中斷了" + +-#: conn/ssl.c:237 ++#: conn/ssl.c:222 + #, c-format + msgid "Filling entropy pool: %s..." + msgstr "" + +-#: conn/ssl.c:243 ++#: conn/ssl.c:228 + #, c-format + msgid "%s has insecure permissions" + msgstr "%s 的權限不安全" + +-#: conn/ssl.c:385 ++#: conn/ssl.c:369 + msgid "SSL disabled due to the lack of entropy" + msgstr "" + +-#: conn/ssl.c:402 ++#: conn/ssl.c:386 + msgid "Unknown" + msgstr "不明" + +-#: conn/ssl.c:421 conn/ssl_gnutls.c:186 ++#: conn/ssl.c:405 conn/ssl_gnutls.c:188 + #, c-format + msgid "[unable to calculate]" + msgstr "【無法計算】" + +-#: conn/ssl.c:446 ++#: conn/ssl.c:430 + msgid "[invalid date]" + msgstr "【無效的日期】" + +-#: conn/ssl.c:506 ++#: conn/ssl.c:490 + msgid "Server certificate is not yet valid" + msgstr "伺服器的驗証還未有效" + +-#: conn/ssl.c:516 ++#: conn/ssl.c:500 + msgid "Server certificate has expired" + msgstr "伺服器的驗証已過期" + + # Well, I don't know how to translate the word "entropy" +-#: conn/ssl.c:605 ++#: conn/ssl.c:589 + msgid "Failed to find enough entropy on your system" + msgstr "" + +-#: conn/ssl.c:799 ++#: conn/ssl.c:783 + #, fuzzy + msgid "can't get certificate subject" + msgstr "無法從對方拿取驗証" + +-#: conn/ssl.c:808 conn/ssl.c:816 ++#: conn/ssl.c:792 conn/ssl.c:800 + #, fuzzy + msgid "can't get certificate common name" + msgstr "無法從對方拿取驗証" + +-#: conn/ssl.c:830 ++#: conn/ssl.c:814 + #, c-format + msgid "certificate owner does not match hostname %s" + msgstr "" + +-#: conn/ssl.c:904 conn/ssl_gnutls.c:539 ++#: conn/ssl.c:917 conn/ssl_gnutls.c:570 + msgid "This certificate belongs to:" + msgstr "這個驗証屬於:" + +-#: conn/ssl.c:913 conn/ssl_gnutls.c:593 ++#: conn/ssl.c:926 conn/ssl_gnutls.c:624 + msgid "This certificate was issued by:" + msgstr "這個驗証的派發者:" + +-#: conn/ssl.c:922 conn/ssl_gnutls.c:604 ++#: conn/ssl.c:935 conn/ssl_gnutls.c:635 + msgid "This certificate is valid" + msgstr "這個驗証有效" + +-#: conn/ssl.c:923 conn/ssl_gnutls.c:608 ++#: conn/ssl.c:936 conn/ssl_gnutls.c:639 + #, c-format + msgid " from %s" + msgstr " 由 %s" + +-#: conn/ssl.c:925 conn/ssl_gnutls.c:612 ++#: conn/ssl.c:938 conn/ssl_gnutls.c:643 + #, c-format + msgid " to %s" + msgstr " 至 %s" + +-#: conn/ssl.c:931 conn/ssl_gnutls.c:617 ++#: conn/ssl.c:944 conn/ssl_gnutls.c:648 + #, fuzzy, c-format + msgid "SHA1 Fingerprint: %s" + msgstr "指模:%s" + +-#: conn/ssl.c:937 conn/ssl.c:940 conn/ssl_gnutls.c:623 conn/ssl_gnutls.c:625 ++#: conn/ssl.c:950 conn/ssl.c:953 conn/ssl_gnutls.c:654 conn/ssl_gnutls.c:656 + #, fuzzy + msgid "SHA256 Fingerprint: " + msgstr "指模:%s" + +-#: conn/ssl.c:944 conn/ssl_gnutls.c:664 +-#, c-format +-msgid "SSL Certificate check (certificate %zu of %zu in chain)" +-msgstr "" +- +-#. L10N: These four letters correspond to the choices in the next four strings: +-#. (r)eject, accept (o)nce, (a)ccept always, (s)kip. +-#. These prompts are the interactive certificate confirmation prompts for +-#. an OpenSSL connection. +-#: conn/ssl.c:964 +-msgid "roas" +-msgstr "" +- +-#: conn/ssl.c:968 +-#, fuzzy +-msgid "(r)eject, accept (o)nce, (a)ccept always, (s)kip" +-msgstr "(1)不接受,(2)只是這次接受,(3)永遠接受" +- +-#: conn/ssl.c:970 conn/ssl_gnutls.c:671 +-msgid "(r)eject, accept (o)nce, (a)ccept always" +-msgstr "(1)不接受,(2)只是這次接受,(3)永遠接受" +- +-#: conn/ssl.c:975 +-#, fuzzy +-msgid "(r)eject, accept (o)nce, (s)kip" +-msgstr "(1)不接受,(2)只是這次接受" +- +-#: conn/ssl.c:977 conn/ssl_gnutls.c:680 +-msgid "(r)eject, accept (o)nce" +-msgstr "(1)不接受,(2)只是這次接受" +- +-#: conn/ssl.c:981 conn/ssl_gnutls.c:689 ncrypt/crypt_gpgme.c:4729 +-#: ncrypt/pgpkey.c:664 ncrypt/smime.c:549 ++#: conn/ssl.c:957 conn/ssl_gnutls.c:695 ++#, c-format ++msgid "SSL Certificate check (certificate %zu of %zu in chain)" ++msgstr "" ++ ++#: conn/ssl.c:994 conn/ssl_gnutls.c:720 ncrypt/crypt_gpgme.c:4777 ++#: ncrypt/pgpkey.c:667 ncrypt/smime.c:551 + msgid "Exit " + msgstr "離開 " + +-#: conn/ssl.c:1016 conn/ssl_gnutls.c:742 ++#: conn/ssl.c:1029 conn/ssl_gnutls.c:773 + msgid "Warning: Couldn't save certificate" + msgstr "警告:未能儲存驗証" + +-#: conn/ssl.c:1020 conn/ssl_gnutls.c:746 ++#: conn/ssl.c:1033 conn/ssl_gnutls.c:777 + msgid "Certificate saved" + msgstr "驗証已儲存" + +-#: conn/ssl.c:1132 ++#: conn/ssl.c:1147 + #, fuzzy, c-format + msgid "Certificate host check failed: %s" + msgstr "驗証已儲存" +@@ -1540,15 +1781,15 @@ msgstr "驗証已儲存" + #. L10N: This is a warning when trying to set the host name for + #. * TLS Server Name Indication (SNI). This allows the server to present + #. * the correct certificate if it supports multiple hosts. +-#: conn/ssl.c:1213 conn/ssl_gnutls.c:1072 ++#: conn/ssl.c:1228 conn/ssl_gnutls.c:1105 + msgid "Warning: unable to set TLS SNI host name" + msgstr "" + +-#: conn/ssl.c:1224 ++#: conn/ssl.c:1239 + msgid "I/O error" + msgstr "" + +-#: conn/ssl.c:1233 ++#: conn/ssl.c:1248 + #, fuzzy, c-format + msgid "SSL failed: %s" + msgstr "登入失敗: %s" +@@ -1556,96 +1797,80 @@ msgstr "登入失敗: %s" + #. L10N: an SSL context is a data structure returned by the OpenSSL + #. function SSL_CTX_new(). In this case it returned NULL: an + #. error condition. +-#: conn/ssl.c:1269 ++#: conn/ssl.c:1284 + #, fuzzy + msgid "Unable to create SSL context" + msgstr "[-- 錯誤:無法建立 OpenSSL 子程序! --]\n" + +-#: conn/ssl.c:1322 ++#: conn/ssl.c:1337 + msgid "Warning: error enabling ssl_verify_partial_chains" + msgstr "" + +-#: conn/ssl_gnutls.c:150 conn/ssl_gnutls.c:784 conn/ssl_gnutls.c:793 ++#: conn/ssl_gnutls.c:152 conn/ssl_gnutls.c:817 conn/ssl_gnutls.c:826 + msgid "Unable to get certificate from peer" + msgstr "無法從對方拿取驗証" + +-#: conn/ssl_gnutls.c:155 ++#: conn/ssl_gnutls.c:157 + #, c-format + msgid "Certificate verification error (%s)" + msgstr "" + +-#: conn/ssl_gnutls.c:162 ++#: conn/ssl_gnutls.c:164 + #, fuzzy + msgid "Certificate is not X.509" + msgstr "驗証已儲存" + +-#: conn/ssl_gnutls.c:349 conn/ssl_gnutls.c:483 ++#: conn/ssl_gnutls.c:351 conn/ssl_gnutls.c:485 + #, fuzzy + msgid "Error initialising gnutls certificate data" + msgstr "無法初始化終端機" + +-#: conn/ssl_gnutls.c:355 conn/ssl_gnutls.c:489 ++#: conn/ssl_gnutls.c:357 conn/ssl_gnutls.c:491 + msgid "Error processing certificate data" + msgstr "" + +-#: conn/ssl_gnutls.c:635 ++#: conn/ssl_gnutls.c:666 + #, fuzzy + msgid "WARNING: Server certificate is not yet valid" + msgstr "伺服器的驗証還未有效" + +-#: conn/ssl_gnutls.c:640 ++#: conn/ssl_gnutls.c:671 + #, fuzzy + msgid "WARNING: Server certificate has expired" + msgstr "伺服器的驗証已過期" + +-#: conn/ssl_gnutls.c:645 ++#: conn/ssl_gnutls.c:676 + #, fuzzy + msgid "WARNING: Server certificate has been revoked" + msgstr "伺服器的驗証已過期" + +-#: conn/ssl_gnutls.c:650 ++#: conn/ssl_gnutls.c:681 + msgid "WARNING: Server hostname does not match certificate" + msgstr "" + +-#: conn/ssl_gnutls.c:655 ++#: conn/ssl_gnutls.c:686 + #, fuzzy + msgid "WARNING: Signer of server certificate is not a CA" + msgstr "伺服器的驗証還未有效" + +-#: conn/ssl_gnutls.c:659 conn/ssl_gnutls.c:1004 ++#: conn/ssl_gnutls.c:690 conn/ssl_gnutls.c:1037 + msgid "Warning: Server certificate was signed using an insecure algorithm" + msgstr "" + +-#. L10N: These three letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce, (a)ccept always. +-#. This is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:676 +-msgid "roa" +-msgstr "123" +- +-#. L10N: These two letters correspond to the choices in the string: +-#. (r)eject, accept (o)nce. +-#. These is an interactive certificate confirmation prompt for +-#. a GNUTLS connection. +-#: conn/ssl_gnutls.c:685 +-msgid "ro" +-msgstr "12" +- +-#: conn/ssl_gnutls.c:950 conn/ssl_gnutls.c:992 ++#: conn/ssl_gnutls.c:983 conn/ssl_gnutls.c:1025 + msgid "All available protocols for TLS/SSL connection disabled" + msgstr "" + +-#: conn/ssl_gnutls.c:999 ++#: conn/ssl_gnutls.c:1032 + msgid "Explicit ciphersuite selection via $ssl_ciphers not supported" + msgstr "" + +-#: conn/ssl_gnutls.c:1120 ++#: conn/ssl_gnutls.c:1153 + #, fuzzy, c-format + msgid "SSL/TLS connection using %s (%s/%s/%s)" + msgstr "利用 %s (%s) 來進行 SSL" + +-#: conn/ssl_gnutls.c:1175 conn/ssl_gnutls.c:1204 ++#: conn/ssl_gnutls.c:1210 conn/ssl_gnutls.c:1239 + msgid "Error: no TLS socket open" + msgstr "" + +@@ -1664,39 +1889,17 @@ msgstr "連線到 %s (%s) 時失敗" + msgid "Tunnel to %s returned error %d (%s)" + msgstr "" + +-#: copy.c:660 ++#: copy.c:662 + #, c-format + msgid "The length calculation was wrong by %ld byte" + msgid_plural "The length calculation was wrong by %ld bytes" + msgstr[0] "" + +-#: copy.c:744 ++#: copy.c:746 + msgid "No decryption engine available for message" + msgstr "" + +-# Don't translate this!! +-#: curs_lib.c:378 +-msgid "yes" +-msgstr "" +- +-# Don't translate this!! +-#: curs_lib.c:379 +-msgid "no" +-msgstr "" +- +-#: curs_lib.c:518 +-msgid "Exit NeoMutt?" +-msgstr "離開 NeoMutt?" +- +-#: curs_lib.c:597 +-msgid "Press any key to continue..." +-msgstr "按下任何鍵繼續…" +- +-#: curs_lib.c:705 +-msgid " ('?' for list): " +-msgstr " (用 '?' 顯示列表):" +- +-#: edit.c:64 ++#: edit.c:62 + #, fuzzy + msgid "" + "~~ insert a line beginning with a single ~\n" +@@ -1728,7 +1931,7 @@ msgstr "" + "~? 這訊息\n" + ". 如果是一行裏的唯一字符,則代表結束輸入\n" + +-#: edit.c:75 ++#: edit.c:73 + #, fuzzy + msgid "" + "~q write file and quit editor\n" +@@ -1760,20 +1963,20 @@ msgstr "" + "~? 這訊息\n" + ". 如果是一行裏的唯一字符,則代表結束輸入\n" + +-#: edit.c:261 ++#: edit.c:259 + #, c-format + msgid "%d: invalid message number.\n" + msgstr "%d:無效的信件號碼。\n" + +-#: edit.c:416 ++#: edit.c:414 + msgid "(End message with a . on a line by itself)\n" + msgstr "(在一行裏輸入一個 . 符號來結束信件)\n" + +-#: edit.c:474 ++#: edit.c:472 + msgid "No mailbox.\n" + msgstr "沒有信箱。\n" + +-#: edit.c:478 ++#: edit.c:476 + msgid "Message contains:\n" + msgstr "信件包含:\n" + +@@ -1781,19 +1984,19 @@ msgstr "信件包含:\n" + #. not IN the middle of the content. + #. So it doesn't mean "(message will continue)" + #. but means "(press any key to continue using neomutt)". +-#: edit.c:486 edit.c:547 ++#: edit.c:484 edit.c:545 + msgid "(continue)\n" + msgstr "(繼續)\n" + +-#: edit.c:499 ++#: edit.c:497 + msgid "missing filename.\n" + msgstr "沒有檔名。\n" + +-#: edit.c:519 ++#: edit.c:517 + msgid "No lines in message.\n" + msgstr "文章中沒有文字。\n" + +-#: edit.c:558 ++#: edit.c:556 + #, c-format + msgid "%s: unknown editor command (~? for help)\n" + msgstr "%s:不明的編輯器指令(~? 求助)\n" +@@ -1840,19 +2043,75 @@ msgstr "無法把資料加到檔案夾:%s" + msgid "multipart message has no boundary parameter" + msgstr "多部份郵件沒有分隔的參數" + +-#: flags.c:382 index.c:2561 index.c:2604 index.c:3134 index.c:3171 ++#: flags.c:381 index.c:2587 index.c:2630 index.c:3160 index.c:3197 + #: mutt_thread.c:1091 mutt_thread.c:1158 mutt_thread.c:1246 + msgid "Threading is not enabled" + msgstr "序列功能尚未啟動" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Set flag" + msgstr "設定旗標" + +-#: flags.c:442 ++#: flags.c:441 + msgid "Clear flag" + msgstr "清除旗標" + ++#: gui/color.c:633 gui/color.c:644 ++#, c-format ++msgid "%s: color not supported by term" ++msgstr "%s:終端機無法顯示色彩" ++ ++#: gui/color.c:652 ++#, c-format ++msgid "%s: no such color" ++msgstr "%s:沒有這種顏色" ++ ++#: gui/color.c:717 gui/color.c:740 gui/color.c:751 gui/color.c:842 ++#, c-format ++msgid "%s: no such object" ++msgstr "%s:沒有這個物件" ++ ++#: gui/color.c:1142 ++#, c-format ++msgid "%s: no such attribute" ++msgstr "%s:沒有這個屬性" ++ ++#: gui/color.c:1244 ++msgid "default colors not supported" ++msgstr "不支援預設的色彩" ++ ++#: gui/color.c:1282 ++#, c-format ++msgid "Maximum quoting level is %d" ++msgstr "" ++ ++#: gui/color.c:1319 ++#, fuzzy, c-format ++msgid "%s: invalid number: %s" ++msgstr "%d:無效的信件號碼。\n" ++ ++# Don't translate this!! ++#: gui/curs_lib.c:379 ++msgid "yes" ++msgstr "" ++ ++# Don't translate this!! ++#: gui/curs_lib.c:380 ++msgid "no" ++msgstr "" ++ ++#: gui/curs_lib.c:519 ++msgid "Exit NeoMutt?" ++msgstr "離開 NeoMutt?" ++ ++#: gui/curs_lib.c:598 ++msgid "Press any key to continue..." ++msgstr "按下任何鍵繼續…" ++ ++#: gui/curs_lib.c:749 ++msgid " ('?' for list): " ++msgstr " (用 '?' 顯示列表):" ++ + #: handler.c:102 + #, fuzzy, c-format + msgid "[-- Type: %s/%s%s%s, Encoding: %s, Size: %s --]\n" +@@ -1873,23 +2132,23 @@ msgstr "[-- 使用 %s 自動顯示 --]\n" + msgid "Invoking autoview command: %s" + msgstr "執行自動顯示指令:%s" + +-#: handler.c:591 mutt_attach.c:527 mutt_attach.c:714 mutt_attach.c:745 +-#: mutt_attach.c:1087 mutt_attach.c:1152 ncrypt/pgpkey.c:723 +-#: ncrypt/pgpkey.c:920 ++#: handler.c:590 mutt_attach.c:555 mutt_attach.c:747 mutt_attach.c:778 ++#: mutt_attach.c:1120 mutt_attach.c:1185 ncrypt/pgpkey.c:756 ++#: ncrypt/pgpkey.c:955 + msgid "Can't create filter" + msgstr "無法建立過濾器" + +-#: handler.c:595 ++#: handler.c:594 + #, c-format + msgid "[-- Can't run %s. --]\n" + msgstr "[-- 不能執行 %s 。 --]\n" + +-#: handler.c:614 handler.c:635 ++#: handler.c:613 handler.c:634 + #, c-format + msgid "[-- Autoview stderr of %s --]\n" + msgstr "[-- 自動顯示 %s 的 stderr 內容 --]\n" + +-#: handler.c:764 ++#: handler.c:763 + msgid "[-- Error: message/external-body has no access-type parameter --]\n" + msgstr "[-- 錯誤:message/external-body 沒有存取類型 (access-type) 的參數 --]\n" + +@@ -1908,7 +2167,7 @@ msgstr "[-- 錯誤:message/external-body 沒有存取類型 (access-type) 的 + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:807 ++#: handler.c:806 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" +@@ -1934,7 +2193,7 @@ msgstr[0] "" + #. passing the precise size in bytes. If you are interested the + #. function responsible for the prettification is + #. mutt_str_pretty_size() in mutt/string.c. +-#: handler.c:830 ++#: handler.c:829 + #, fuzzy, c-format + msgid "[-- This %s/%s attachment (size %s byte) has been deleted --]\n" + msgid_plural "[-- This %s/%s attachment (size %s bytes) has been deleted --]\n" +@@ -1947,7 +2206,7 @@ msgstr[0] "[-- 這個 %s/%s 附件 (%s 個位元組) 已經被刪除了 --]\n" + #. + #. Caution: Argument three %3$ is also defined but should not be used + #. in this translation! +-#: handler.c:848 ++#: handler.c:847 + #, fuzzy + msgid "" + "[-- This %s/%s attachment has been deleted --]\n" +@@ -1959,12 +2218,12 @@ msgstr "" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The first "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:856 ++#: handler.c:855 + #, fuzzy, c-format + msgid "[-- This %s/%s attachment has been deleted --]\n" + msgstr "[-- 這個 %s/%s 附件 已經被刪除了 --]\n" + +-#: handler.c:866 ++#: handler.c:865 + #, c-format + msgid "[-- name: %s --]\n" + msgstr "[-- 名稱:%s --]\n" +@@ -1972,7 +2231,7 @@ msgstr "[-- 名稱:%s --]\n" + #. L10N: If the translation of this string is a multi line string, then + #. each line should start with "[-- " and end with " --]". + #. The "%s/%s" is a MIME type, e.g. "text/plain". +-#: handler.c:884 ++#: handler.c:883 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -1988,7 +2247,7 @@ msgstr "" + #. The "%s/%s" is a MIME type, e.g. "text/plain". The %s after + #. access-type is an access-type as defined by the MIME RFCs, e.g. "FTP", + #. "LOCAL-FILE", "MAIL-SERVER". +-#: handler.c:905 ++#: handler.c:904 + #, fuzzy, c-format + msgid "" + "[-- This %s/%s attachment is not included, --]\n" +@@ -1997,95 +2256,95 @@ msgstr "" + "[-- 這個 %s/%s 附件無法被附上, --]\n" + "[-- 並且被指示的存取類型 (access-type) %s 不被支援 --]\n" + +-#: handler.c:1090 ++#: handler.c:1089 + msgid "[-- Error: Could not display any parts of Multipart/Alternative --]\n" + msgstr "[-- 錯誤: 無法顯示 Multipart/Alternative! --]\n" + + #. L10N: %s is the attachment description, filename or form_name. +-#: handler.c:1231 ++#: handler.c:1230 + #, fuzzy, c-format + msgid "[-- Attachment #%d: %s --]\n" + msgstr "[-- 附件 #%d: %s --]\n" + +-#: handler.c:1236 ++#: handler.c:1235 + #, fuzzy, c-format + msgid "[-- Attachment #%d --]\n" + msgstr "[-- 附件 #%d --]\n" + +-#: handler.c:1254 ++#: handler.c:1253 + msgid "One or more parts of this message could not be displayed" + msgstr "" + +-#: handler.c:1320 ++#: handler.c:1319 + #, fuzzy + msgid "Unable to open 'memory stream'" + msgstr "無法開啟暫存檔" + +-#: handler.c:1330 ++#: handler.c:1329 + msgid "Unable to open temporary file" + msgstr "無法開啟暫存檔" + +-#: handler.c:1379 ++#: handler.c:1378 + #, fuzzy + msgid "failed to re-open 'memory stream'" + msgstr "無法開啟暫存檔" + +-#: handler.c:1620 ++#: handler.c:1619 + msgid "Error: multipart/signed has no protocol" + msgstr "錯誤:multipart/signed 沒有通訊協定" + + #. L10N: %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1694 ++#: handler.c:1693 + #, fuzzy, c-format + msgid "[-- This is an attachment (use '%s' to view this part) --]\n" + msgstr "[-- 這個 %s/%s 附件 (按 '%s' 來顯示這部份) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". + #. The last %s expands to a keystroke/key binding, e.g. 'v'. +-#: handler.c:1701 ++#: handler.c:1700 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported (use '%s' to view this part) --]\n" + msgstr "[-- %s/%s 尚未支援 (按 '%s' 來顯示這部份) --]\n" + +-#: handler.c:1709 ++#: handler.c:1708 + #, fuzzy + msgid "[-- This is an attachment (need 'view-attachments' bound to key) --]\n" + msgstr "[-- 這個 %s/%s 附件 (需要定義一個鍵給 'view-attachments' 來瀏覽附件!) --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1715 ++#: handler.c:1714 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported (need 'view-attachments' bound to key) --]\n" + msgstr "[-- %s/%s 尚未支援 (需要定義一個鍵給 'view-attachments' 來瀏覽附件!) --]\n" + +-#: handler.c:1724 ++#: handler.c:1723 + #, fuzzy + msgid "[-- This is an attachment --]\n" + msgstr "[-- 這個 %s/%s 附件 --]\n" + + #. L10N: %s/%s is a MIME type, e.g. "text/plain". +-#: handler.c:1729 ++#: handler.c:1728 + #, fuzzy, c-format + msgid "[-- %s/%s is unsupported --]\n" + msgstr "[-- %s/%s 尚未支援 --]\n" + +-#: help.c:400 ++#: help.c:401 + msgid "ERROR: please report this bug" + msgstr "錯誤:請回報這個問題" + +-#: help.c:455 ++#: help.c:456 + msgid "" + msgstr "<不明的>" + +-#: help.c:469 ++#: help.c:470 + msgid "Generic bindings:" + msgstr "標準功能定義:" + +-#: help.c:473 ++#: help.c:474 + msgid "Unbound functions:" + msgstr "未被定義的功能:" + +-#: help.c:481 ++#: help.c:482 + #, c-format + msgid "Help for %s" + msgstr "%s 的求助" +@@ -2102,41 +2361,41 @@ msgstr "" + msgid "badly formatted command string" + msgstr "" + +-#: hook.c:461 ++#: hook.c:466 + msgid "unhook: Can't do unhook * from within a hook" + msgstr "unhook: 在 hook 裡面不能做 unhook *" + +-#: hook.c:474 ++#: hook.c:479 + #, c-format + msgid "unhook: unknown hook type: %s" + msgstr "unhook:不明的 hook type %s" + +-#: hook.c:484 ++#: hook.c:489 + #, c-format + msgid "unhook: Can't delete a %s from within a %s" + msgstr "unhook:不能從 %2$s 刪除 %1$s" + + #. L10N: '%s' is the (misspelled) name of the menu, e.g. 'index' or 'pager' +-#: icommands.c:259 keymap.c:1161 keymap.c:1346 ++#: icommands.c:261 keymap.c:1159 keymap.c:1344 + #, c-format + msgid "%s: no such menu" + msgstr "%s:沒有這個選單" + + #. L10N: '%s' is the name of the menu, e.g. 'index' or 'pager', it might + #. L10N: also be 'all' when all menus are affected. +-#: icommands.c:272 ++#: icommands.c:274 + #, fuzzy, c-format + msgid "%s: no binds for this menu" + msgstr "%s:沒有這個選單" + +-#: icommands.c:272 ++#: icommands.c:274 + #, fuzzy, c-format + msgid "%s: no macros for this menu" + msgstr "%s:沒有這個選單" + + #. L10N: '%s' is the file name of the temporary file +-#: icommands.c:283 icommands.c:296 icommands.c:316 icommands.c:340 +-#: icommands.c:360 icommands.c:371 imap/message.c:1093 ++#: icommands.c:285 icommands.c:297 icommands.c:317 icommands.c:340 ++#: icommands.c:360 icommands.c:370 imap/message.c:1093 + #, c-format + msgid "Could not create temporary file %s" + msgstr "無法建立暫存檔 %s" +@@ -2174,30 +2433,30 @@ msgstr "GSSAPI 驗證失敗" + msgid "LOGIN disabled on this server" + msgstr "伺服器禁止了登入" + +-#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:288 ++#: imap/auth_login.c:61 imap/auth_plain.c:57 pop/pop_auth.c:289 + msgid "Logging in..." + msgstr "登入中…" + +-#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:329 ++#: imap/auth_login.c:79 imap/auth_plain.c:97 pop/pop_auth.c:330 + msgid "Login failed" + msgstr "登入失敗" + +-#: imap/auth_oauth.c:64 pop/pop_auth.c:346 smtp.c:524 ++#: imap/auth_oauth.c:65 pop/pop_auth.c:347 smtp.c:549 + #, fuzzy + msgid "Authenticating (OAUTHBEARER)..." + msgstr "驗證中 (SASL)…" + +-#: imap/auth_oauth.c:96 ++#: imap/auth_oauth.c:97 + #, fuzzy + msgid "OAUTHBEARER authentication failed" + msgstr "OAUTHBEARER 驗證失敗" + +-#: imap/auth_sasl.c:128 nntp/nntp.c:606 nntp/nntp.c:671 smtp.c:443 ++#: imap/auth_sasl.c:128 nntp/nntp.c:608 nntp/nntp.c:673 smtp.c:468 + #, fuzzy, c-format + msgid "Authenticating (%s)..." + msgstr "驗證中 (APOP)…" + +-#: imap/auth_sasl.c:259 pop/pop_auth.c:200 smtp.c:584 smtp.c:646 ++#: imap/auth_sasl.c:259 pop/pop_auth.c:201 smtp.c:609 smtp.c:671 + msgid "SASL authentication failed" + msgstr "SASL 驗證失敗" + +@@ -2247,133 +2506,123 @@ msgstr "登入失敗: %s" + msgid "Mailbox renamed" + msgstr "已完成製造郵箱" + +-#: imap/command.c:164 ++#: imap/command.c:177 + #, fuzzy, c-format + msgid "Mailbox %s@%s closed" + msgstr "郵箱已經關掉" + +-#: imap/command.c:1258 imap/command.c:1370 ++#: imap/command.c:1287 imap/command.c:1399 + #, fuzzy, c-format + msgid "Connection to %s timed out" + msgstr "到 %s 的連線中斷了" + +-#: imap/imap.c:87 ++#: imap/imap.c:93 + #, fuzzy + msgid "This IMAP server is ancient. NeoMutt does not work with it." + msgstr "這個 IMAP 伺服器已過時,NeoMutt 無法使用它" + +-#: imap/imap.c:438 ++#: imap/imap.c:444 + #, c-format + msgid "Header search without header name: %s" + msgstr "" + +-#: imap/imap.c:468 ++#: imap/imap.c:474 + #, c-format + msgid "Server-side custom search not supported: %s" + msgstr "" + +-#: imap/imap.c:584 ++#: imap/imap.c:590 + #, fuzzy, c-format + msgid "CREATE failed: %s" + msgstr "登入失敗: %s" + +-#: imap/imap.c:704 ++#: imap/imap.c:710 + #, c-format + msgid "Closing connection to %s..." + msgstr "正在關閉與 %s 的連線…" + +-#: imap/imap.c:882 nntp/nntp.c:1889 pop/pop_lib.c:324 smtp.c:687 ++#: imap/imap.c:888 nntp/nntp.c:1891 pop/pop_lib.c:350 smtp.c:712 + msgid "Secure connection with TLS?" + msgstr "利用 TLS 來進行安全連接?" + +-#: imap/imap.c:895 nntp/nntp.c:1910 pop/pop_lib.c:343 smtp.c:702 ++#: imap/imap.c:901 nntp/nntp.c:1912 pop/pop_lib.c:369 smtp.c:727 + msgid "Could not negotiate TLS connection" + msgstr "未能" + +-#: imap/imap.c:910 pop/pop_lib.c:360 ++#: imap/imap.c:916 pop/pop_lib.c:386 + #, fuzzy + msgid "Encrypted connection unavailable" + msgstr "加密的鑰匙" + +-#: imap/imap.c:1417 ++#: imap/imap.c:1430 + #, c-format + msgid "Subscribing to %s..." + msgstr "訂閱 %s…" + +-#: imap/imap.c:1419 ++#: imap/imap.c:1432 + #, fuzzy, c-format + msgid "Unsubscribing from %s..." + msgstr "取消訂閱 %s…" + +-#: imap/imap.c:1430 init.c:2142 +-#, fuzzy, c-format +-msgid "Subscribed to %s" +-msgstr "訂閱 %s…" +- +-#: imap/imap.c:1432 init.c:2620 +-#, fuzzy, c-format +-msgid "Unsubscribed from %s" +-msgstr "取消訂閱 %s…" +- +-#: imap/imap.c:1582 imap/message.c:1674 ++#: imap/imap.c:1595 imap/message.c:1674 + #, fuzzy, c-format + msgid "Copying %d message to %s..." + msgid_plural "Copying %d messages to %s..." + msgstr[0] "正在複制 %d 封信件到 %s …" + +-#: imap/imap.c:1599 imap/imap.c:2217 imap/message.c:1713 muttlib.c:1505 ++#: imap/imap.c:1612 imap/imap.c:2254 imap/message.c:1713 muttlib.c:1503 + #, c-format + msgid "Create %s?" + msgstr "建立 %s?" + +-#: imap/imap.c:1667 ++#: imap/imap.c:1685 + msgid "Expunge failed" + msgstr "刪除 (expunge) 失敗" + +-#: imap/imap.c:1683 ++#: imap/imap.c:1701 + #, fuzzy, c-format + msgid "Marking %d message deleted..." + msgid_plural "Marking %d messages deleted..." + msgstr[0] "標簽了的 %d 封信件刪去了…" + + #. L10N: The plural is chosen by the last %d, i.e. the total number +-#: imap/imap.c:1720 ++#: imap/imap.c:1738 + #, fuzzy, c-format + msgid "Saving changed message... [%d/%d]" + msgid_plural "Saving changed messages... [%d/%d]" + msgstr[0] "正在儲存信件狀態旗標… [%d/%d]" + +-#: imap/imap.c:1776 ++#: imap/imap.c:1794 + msgid "Error saving flags. Close anyway?" + msgstr "" + +-#: imap/imap.c:1783 ++#: imap/imap.c:1801 + #, fuzzy + msgid "Error saving flags" + msgstr "無法分析位址" + +-#: imap/imap.c:1808 ++#: imap/imap.c:1826 + msgid "Expunging messages from server..." + msgstr "正在刪除伺服器上的信件…" + +-#: imap/imap.c:1814 ++#: imap/imap.c:1832 + msgid "imap_sync_mailbox: EXPUNGE failed" + msgstr "" + +-#: imap/imap.c:2023 nntp/nntp.c:2486 ++#: imap/imap.c:2058 nntp/nntp.c:2488 + #, c-format + msgid "Selecting %s..." + msgstr "正在選擇 %s …" + +-#: imap/imap.c:2184 ++#: imap/imap.c:2221 + msgid "Error opening mailbox" + msgstr "開啟信箱時發生錯誤" + +-#: imap/imap.c:2330 ++#: imap/imap.c:2367 + msgid "IMAP server doesn't support custom flags" + msgstr "" + +-#: imap/imap.c:2374 ++#: imap/imap.c:2411 + #, fuzzy + msgid "Invalid IMAP flags" + msgstr "無效的月份:%s" +@@ -2384,7 +2633,7 @@ msgid "Abort download and close mailbox?" + msgstr "" + + #: imap/message.c:554 mutt/memory.c:58 mutt/memory.c:98 mutt/memory.c:134 +-#: mutt/string.c:1178 mx.c:1176 ++#: mutt/string.c:1201 mx.c:1195 + msgid "Out of memory" + msgstr "記憶體不足" + +@@ -2405,7 +2654,7 @@ msgstr "正在取回信件標頭… [%d/%d]" + msgid "Unable to fetch headers from this IMAP server version" + msgstr "無法取回使用這個 IMAP 伺服器版本的郵件的標頭" + +-#: imap/message.c:1099 index.c:1548 nntp/nntp.c:1328 pop/pop.c:426 ++#: imap/message.c:1099 index.c:1554 nntp/nntp.c:1330 pop/pop.c:426 + #, fuzzy + msgid "Fetching message headers..." + msgstr "正在取回信件標頭… [%d/%d]" +@@ -2420,157 +2669,157 @@ msgstr "正在上傳信件…" + msgid "Copying message %d to %s..." + msgstr "正在複制 信件 %d 到 %s …" + +-#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2737 pop/pop.c:1110 ++#: imap/message.c:1908 imap/message.c:1973 nntp/nntp.c:2739 pop/pop.c:1105 + msgid "Fetching message..." + msgstr "拿取信件中…" + +-#: imap/message.c:1959 pop/pop.c:1106 ++#: imap/message.c:1959 pop/pop.c:1101 + msgid "The message index is incorrect. Try reopening the mailbox." + msgstr "信件的索引不正確。請再重新開啟信箱" + +-#: imap/util.c:767 ++#: imap/util.c:796 + msgid "Continue?" + msgstr "繼續?" + +-#: index.c:115 index.c:128 ++#: index.c:111 index.c:124 + msgid "Quit" + msgstr "離開" + +-#: index.c:118 index.c:131 recvattach.c:93 ++#: index.c:114 index.c:127 recvattach.c:91 + msgid "Save" + msgstr "儲存" + +-#: index.c:119 query.c:81 ++#: index.c:115 query.c:79 + msgid "Mail" + msgstr "信件" + +-#: index.c:120 pager.c:237 ++#: index.c:116 pager.c:229 + msgid "Reply" + msgstr "回覆" + +-#: index.c:121 ++#: index.c:117 + msgid "Group" + msgstr "群組" + +-#: index.c:132 pager.c:244 ++#: index.c:128 pager.c:236 + msgid "Post" + msgstr "" + +-#: index.c:133 pager.c:245 ++#: index.c:129 pager.c:237 + #, fuzzy + msgid "Followup" + msgstr "以後的回覆都寄至 %s%s?" + +-#: index.c:190 index.c:1362 ++#: index.c:186 index.c:1367 + msgid "No mailbox is open" + msgstr "沒有已開啟的信箱" + +-#: index.c:196 ++#: index.c:192 + msgid "There are no messages" + msgstr "沒有信件" + +-#: index.c:202 ++#: index.c:198 + msgid "No visible messages" + msgstr "沒有要被顯示的信件" + +-#: index.c:208 mx.c:901 pager.c:223 recvattach.c:80 ++#: index.c:204 mx.c:920 pager.c:215 recvattach.c:78 + msgid "Mailbox is read-only" + msgstr "信箱是唯讀的" + +-#: index.c:214 pager.c:225 recvattach.c:98 ++#: index.c:210 pager.c:217 recvattach.c:96 + msgid "Function not permitted in attach-message mode" + msgstr "功能在 attach-message 模式下不被支援" + + #. L10N: %s is one of the CHECK_ACL entries below. +-#: index.c:239 pager.c:290 ++#: index.c:235 pager.c:282 + #, c-format + msgid "%s: Operation not permitted by ACL" + msgstr "" + +-#: index.c:430 ++#: index.c:426 + msgid "Can't toggle write on a readonly mailbox" + msgstr "無法寫入到一個唯讀的信箱" + +-#: index.c:437 ++#: index.c:433 + msgid "Changes to folder will be written on folder exit" + msgstr "在離開之後將會把改變寫入資料夾" + +-#: index.c:442 ++#: index.c:438 + msgid "Changes to folder will not be written" + msgstr "將不會把改變寫入資料夾" + +-#: index.c:719 muttlib.c:1490 mx.c:206 mx.c:340 ++#: index.c:714 muttlib.c:1488 mx.c:206 mx.c:338 + #, c-format + msgid "%s is not a mailbox" + msgstr "%s 不是信箱" + +-#: index.c:1218 ++#: index.c:1223 + msgid "Mailbox was externally modified. Flags may be wrong." + msgstr "信箱已經由其他途徑改變過。旗標可能有錯誤。" + +-#: index.c:1227 pager.c:2409 ++#: index.c:1232 pager.c:2379 + msgid "New mail in this mailbox" + msgstr "這個信箱中有新信件" + +-#: index.c:1242 ++#: index.c:1247 + msgid "Mailbox was externally modified" + msgstr "信箱已經由其他途徑更改過" + +-#: index.c:1369 ++#: index.c:1374 + msgid "No tagged messages" + msgstr "沒有標記了的信件" + +-#: index.c:1373 index.c:1647 menu.c:1423 ++#: index.c:1378 index.c:1653 menu.c:1423 + #, fuzzy + msgid "Nothing to do" + msgstr "正連接到 %s…" + +-#: index.c:1470 ++#: index.c:1475 + #, fuzzy + msgid "Enter Message-Id: " + msgstr "請輸入 %s 的鑰匙 ID:" + +-#: index.c:1481 ++#: index.c:1487 + msgid "Article has no parent reference" + msgstr "" + +-#: index.c:1504 ++#: index.c:1510 + #, fuzzy + msgid "Message is not visible in limited view" + msgstr "在限制閱覽模式下無法顯示主信件" + +-#: index.c:1508 ++#: index.c:1514 + #, fuzzy, c-format + msgid "Fetching %s from server..." + msgstr "正在刪除伺服器上的信件…" + +-#: index.c:1518 nntp/nntp.c:2772 ++#: index.c:1524 nntp/nntp.c:2774 + #, c-format + msgid "Article %s not found on the server" + msgstr "" + +-#: index.c:1544 ++#: index.c:1550 + msgid "No Message-Id. Unable to perform operation." + msgstr "" + +-#: index.c:1623 ++#: index.c:1629 + #, fuzzy + msgid "No deleted messages found in the thread" + msgstr "刪除所有在序列中的信件" + +-#: index.c:1644 ++#: index.c:1650 + msgid "Jump to message: " + msgstr "跳到信件:" + +-#: index.c:1650 ++#: index.c:1656 + msgid "Argument must be a message number" + msgstr "需要一個信件編號的參數" + +-#: index.c:1652 ++#: index.c:1658 + msgid "Invalid message number" + msgstr "無效的信件編號" + +-#: index.c:1654 ++#: index.c:1660 + msgid "That message is not visible" + msgstr "這封信件無法顯示" + +@@ -2583,38 +2832,38 @@ msgstr "這封信件無法顯示" + #. delete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. + #. +-#: index.c:1692 index.c:3267 pager.c:3064 ++#: index.c:1698 index.c:3293 pager.c:3039 + #, fuzzy + msgid "Can't delete messages" + msgstr "沒有要反刪除的信件" + +-#: index.c:1695 ++#: index.c:1701 + msgid "Delete messages matching: " + msgstr "刪除符合這樣式的信件:" + +-#: index.c:1736 ++#: index.c:1742 + msgid "No limit pattern is in effect" + msgstr "目前未有指定限制樣式" + + #. L10N: ask for a limit to apply +-#: index.c:1741 ++#: index.c:1747 + #, c-format + msgid "Limit: %s" + msgstr "限制: %s" + +-#: index.c:1778 ++#: index.c:1784 + msgid "Limit to messages matching: " + msgstr "限制只符合這樣式的信件:" + +-#: index.c:1809 ++#: index.c:1815 + msgid "To view all messages, limit to \"all\"" + msgstr "" + +-#: index.c:1821 pager.c:2514 ++#: index.c:1827 pager.c:2487 + msgid "Quit NeoMutt?" + msgstr "離開 NeoMutt?" + +-#: index.c:1924 ++#: index.c:1931 + msgid "Tag messages matching: " + msgstr "標記信件的條件:" + +@@ -2622,213 +2871,213 @@ msgstr "標記信件的條件:" + #. L10N: Due to the implementation details we do not know whether we + #. undelete zero, 1, 12, ... messages. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:1935 index.c:3807 pager.c:3418 ++#: index.c:1942 index.c:3833 pager.c:3396 + #, fuzzy + msgid "Can't undelete messages" + msgstr "沒有要反刪除的信件" + +-#: index.c:1939 ++#: index.c:1946 + msgid "Undelete messages matching: " + msgstr "反刪除信件的條件:" + +-#: index.c:1948 ++#: index.c:1955 + msgid "Untag messages matching: " + msgstr "反標記信件的條件:" + +-#: index.c:1989 ++#: index.c:1996 + #, fuzzy + msgid "Logged out of IMAP servers" + msgstr "正在關閉與 IMAP 伺服器的連線…" + +-#: index.c:2105 ++#: index.c:2113 + #, fuzzy + msgid "No virtual folder and no Message-Id, aborting" + msgstr "沒有標題,正在中斷中" + +-#: index.c:2117 index.c:2288 index.c:2310 index.c:2331 ++#: index.c:2125 index.c:2313 index.c:2335 index.c:2356 + msgid "Failed to create query, aborting" + msgstr "" + +-#: index.c:2130 ++#: index.c:2138 + msgid "failed to find message in notmuch database. try running 'notmuch new'." + msgstr "" + +-#: index.c:2139 ++#: index.c:2147 + msgid "Failed to read thread, aborting" + msgstr "" + +-#: index.c:2171 mx.c:1252 mx.c:1272 ++#: index.c:2179 mx.c:1271 mx.c:1291 + msgid "Folder doesn't support tagging, aborting" + msgstr "" + +-#: index.c:2188 ++#: index.c:2196 + #, fuzzy + msgid "No tag specified, aborting" + msgstr "沒有標題,正在中斷中" + +-#: index.c:2198 ++#: index.c:2206 + msgid "Update tags..." + msgstr "" + +-#: index.c:2238 ++#: index.c:2246 + msgid "Failed to modify tags, aborting" + msgstr "" + +-#: index.c:2284 ++#: index.c:2293 + #, fuzzy + msgid "No query, aborting" + msgstr "沒有標題,正在中斷中" + +-#: index.c:2299 index.c:2320 ++#: index.c:2324 index.c:2345 + msgid "Windowed queries disabled" + msgstr "" + +-#: index.c:2304 index.c:2325 ++#: index.c:2329 index.c:2350 + msgid "No notmuch vfolder currently loaded" + msgstr "" + +-#: index.c:2374 ++#: index.c:2399 + msgid "Open mailbox in read-only mode" + msgstr "用唯讀模式開啟信箱" + +-#: index.c:2376 ++#: index.c:2401 + msgid "Open mailbox" + msgstr "開啟信箱" + +-#: index.c:2386 ++#: index.c:2411 + #, fuzzy + msgid "No mailboxes have new mail" + msgstr "沒有信箱有新信件" + +-#: index.c:2419 ++#: index.c:2444 + #, fuzzy + msgid "Open newsgroup in read-only mode" + msgstr "用唯讀模式開啟信箱" + +-#: index.c:2421 ++#: index.c:2446 + msgid "Open newsgroup" + msgstr "" + +-#: index.c:2538 ++#: index.c:2564 + #, fuzzy + msgid "Exit NeoMutt without saving?" + msgstr "不儲存便離開 NeoMutt 嗎?" + + #. L10N: CHECK_ACL +-#: index.c:2554 ++#: index.c:2580 + #, fuzzy + msgid "Can't break thread" + msgstr "無法建立過濾器" + +-#: index.c:2574 ++#: index.c:2600 + msgid "Thread broken" + msgstr "" + +-#: index.c:2587 ++#: index.c:2613 + msgid "Thread can't be broken, message is not part of a thread" + msgstr "" + + #. L10N: CHECK_ACL +-#: index.c:2597 ++#: index.c:2623 + msgid "Can't link threads" + msgstr "" + +-#: index.c:2606 ++#: index.c:2632 + msgid "No Message-ID: header available to link thread" + msgstr "" + +-#: index.c:2608 ++#: index.c:2634 + #, fuzzy + msgid "First, please tag a message to be linked here" + msgstr "儲存信件以便稍後寄出" + +-#: index.c:2621 ++#: index.c:2647 + msgid "Threads linked" + msgstr "" + +-#: index.c:2624 ++#: index.c:2650 + msgid "No thread linked" + msgstr "" + +-#: index.c:2665 index.c:2690 ++#: index.c:2691 index.c:2716 + msgid "You are on the last message" + msgstr "您已經在最後一封信了" + +-#: index.c:2673 index.c:2716 ++#: index.c:2699 index.c:2742 + msgid "No undeleted messages" + msgstr "沒有要反刪除的信件" + +-#: index.c:2708 index.c:2733 ++#: index.c:2734 index.c:2759 + msgid "You are on the first message" + msgstr "您已經在第一封信了" + +-#: index.c:2874 ++#: index.c:2900 + #, fuzzy + msgid "No new messages in this limited view" + msgstr "在限制閱覽模式下無法顯示主信件" + +-#: index.c:2876 ++#: index.c:2902 + #, fuzzy + msgid "No new messages" + msgstr "沒有新信件" + +-#: index.c:2881 ++#: index.c:2907 + #, fuzzy + msgid "No unread messages in this limited view" + msgstr "在限制閱覽模式下無法顯示主信件" + +-#: index.c:2883 ++#: index.c:2909 + #, fuzzy + msgid "No unread messages" + msgstr "沒有尚未讀取的信件" + +-#: index.c:2893 menu.c:1208 pager.c:2644 pattern.c:2652 ++#: index.c:2919 menu.c:1208 pager.c:2618 pattern.c:2776 + msgid "Search wrapped to top" + msgstr "搜尋至開頭" + +-#: index.c:2898 pager.c:2669 pattern.c:2663 ++#: index.c:2924 pager.c:2643 pattern.c:2787 + msgid "Search wrapped to bottom" + msgstr "搜尋至結尾" + + #. L10N: CHECK_ACL +-#: index.c:2915 ++#: index.c:2941 + #, fuzzy + msgid "Can't flag message" + msgstr "顯示信件" + + #. L10N: CHECK_ACL +-#: index.c:2961 pager.c:3377 ++#: index.c:2987 pager.c:3355 + msgid "Can't toggle new" + msgstr "" + +-#: index.c:3057 ++#: index.c:3083 + msgid "No more threads" + msgstr "沒有更多的序列" + +-#: index.c:3059 ++#: index.c:3085 + msgid "You are on the first thread" + msgstr "您已經在第一個序列上" + +-#: index.c:3156 ++#: index.c:3182 + #, fuzzy + msgid "Thread contains unread or flagged messages" + msgstr "序列中有尚未讀取的信件" + + #. L10N: CHECK_ACL +-#: index.c:3215 pager.c:3019 ++#: index.c:3241 pager.c:2994 + #, fuzzy + msgid "Can't delete message" + msgstr "沒有要反刪除的信件" + + #. L10N: CHECK_ACL +-#: index.c:3339 ++#: index.c:3365 + #, fuzzy + msgid "Can't edit message" + msgstr "無法寫信件" + + #. L10N: This is displayed when the x-label on one or more + #. messages is edited. +-#: index.c:3432 pager.c:3495 ++#: index.c:3458 pager.c:3473 + #, fuzzy, c-format + msgid "%d label changed" + msgid_plural "%d labels changed" +@@ -2837,7 +3086,7 @@ msgstr[0] "信箱沒有變動" + #. L10N: This is displayed when editing an x-label, but no messages + #. were updated. Possibly due to canceling at the prompt or if the new + #. label is the same as the old label. +-#: index.c:3440 pager.c:3499 ++#: index.c:3466 pager.c:3477 + #, fuzzy + msgid "No labels changed" + msgstr "信箱沒有變動" +@@ -2846,7 +3095,7 @@ msgstr "信箱沒有變動" + #. L10N: Due to the implementation details we do not know whether we + #. mark zero, 1, 12, ... messages as read. So in English we use + #. "messages". Your language might have other means to express this. +-#: index.c:3571 ++#: index.c:3597 + #, fuzzy + msgid "Can't mark messages as read" + msgstr "跳到這個序列的主信件" +@@ -2854,14 +3103,14 @@ msgstr "跳到這個序列的主信件" + #. L10N: This is the prompt for . Whatever they + #. enter will be prefixed by $mark_macro_prefix and will become + #. a macro hotkey to jump to the currently selected message. +-#: index.c:3612 ++#: index.c:3638 + #, fuzzy + msgid "Enter macro stroke: " + msgstr "請輸入 %s 的鑰匙 ID:" + + #. L10N: "message hotkey" is the key bindings menu description of a + #. macro created by . +-#: index.c:3620 ++#: index.c:3646 + #, fuzzy + msgid "message hotkey" + msgstr "信件被延遲寄出" +@@ -2869,266 +3118,124 @@ msgstr "信件被延遲寄出" + #. L10N: This is echoed after creates a new hotkey + #. macro. %s is the hotkey string ($mark_macro_prefix followed + #. by whatever they typed at the prompt.) +-#: index.c:3625 ++#: index.c:3651 + #, fuzzy, c-format + msgid "Message bound to %s" + msgstr "郵件已被傳送" + + #. L10N: This error is printed if can't find a + #. Message-ID for the currently selected message in the index. +-#: index.c:3634 ++#: index.c:3660 + #, fuzzy + msgid "No message ID to macro" + msgstr "檔案夾中沒有信件" + +-#: index.c:3688 pager.c:3221 recvattach.c:1646 ++#: index.c:3714 pager.c:3196 recvattach.c:1678 + msgid "Reply by mail as poster prefers?" + msgstr "" + +-#: index.c:3691 pager.c:3182 pager.c:3194 pager.c:3224 ++#: index.c:3717 pager.c:3157 pager.c:3169 pager.c:3199 + msgid "Posting to this group not allowed, may be moderated. Continue?" + msgstr "" + + #. L10N: CHECK_ACL +-#: index.c:3768 pager.c:3397 ++#: index.c:3794 pager.c:3375 + #, fuzzy + msgid "Can't undelete message" + msgstr "沒有要反刪除的信件" + +-#: init.c:313 ++#: init.c:223 + #, c-format + msgid "Error in command line: %s" + msgstr "指令行有錯:%s" + +-#: init.c:315 ++#: init.c:225 + #, fuzzy, c-format + msgid "Warning in command line: %s" + msgstr "指令行有錯:%s" + +-#: init.c:426 ++#: init.c:336 + #, fuzzy + msgid "unable to determine nodename via uname()" + msgstr "無法決定使用者名稱" + +-#: init.c:580 +-msgid "-group: no group name" +-msgstr "" +- +-#: init.c:590 +-#, fuzzy +-msgid "out of arguments" +-msgstr "太少參數" +- +-#: init.c:804 init.c:1752 +-#, c-format +-msgid "Error: Can't build path of '%s'" +-msgstr "" +- +-#: init.c:817 +-#, c-format +-msgid "Error: Cyclic sourcing of configuration file '%s'" +-msgstr "" +- +-#: init.c:850 +-#, c-format +-msgid "Error in %s, line %d: %s" +-msgstr "%s 發生錯誤,行號 %d:%s" +- +-#: init.c:861 +-#, fuzzy, c-format +-msgid "Warning in %s, line %d: %s" +-msgstr "%s 發生錯誤,行號 %d:%s" +- +-#: init.c:885 +-#, c-format +-msgid "source: errors in %s" +-msgstr "source:錯誤發生在 %s" +- +-#: init.c:885 +-#, fuzzy, c-format +-msgid "source: reading aborted due to too many errors in %s" +-msgstr "source: 因 %s 發生太多錯誤,因此閱讀終止" +- +-#: init.c:894 +-#, fuzzy, c-format +-msgid "source: %d warning in %s" +-msgid_plural "source: %d warnings in %s" +-msgstr[0] "source:錯誤發生在 %s" +- +-#: init.c:923 +-msgid "alias: no address" +-msgstr "別名:沒有電子郵件位址" +- +-#: init.c:965 +-#, c-format +-msgid "Warning: Bad IDN '%s' in alias '%s'" +-msgstr "警告:別名「%2$s」當中的「%1$s」為無效的 IDN" +- +-#: init.c:1043 +-#, fuzzy +-msgid "attachments: no disposition" +-msgstr "編輯附件的說明" +- +-#: init.c:1054 +-#, fuzzy +-msgid "Current attachments settings:" +-msgstr "編輯附件的說明" +- +-#: init.c:1084 +-#, fuzzy +-msgid "attachments: invalid disposition" +-msgstr "編輯附件的說明" +- +-#: init.c:1160 +-#, c-format +-msgid "%sgroup: missing -rx or -addr" +-msgstr "" +- +-#: init.c:1186 +-#, fuzzy, c-format +-msgid "%sgroup: warning: bad IDN '%s'" +-msgstr "警告:別名「%2$s」當中的「%1$s」為無效的 IDN" +- +-#: init.c:1278 +-#, c-format +-msgid "Error: %s" +-msgstr "" +- +-#: init.c:1445 +-msgid "invalid header field" +-msgstr "無效的標頭欄位" +- +-#: init.c:1711 init.c:1815 +-#, c-format +-msgid "%s: unknown variable" +-msgstr "%s:不明的變數" +- +-#: init.c:1908 +-#, c-format +-msgid "%s is unset" +-msgstr "%s 沒有被設定" +- +-#: init.c:1953 mutt_lua.c:478 +-#, c-format +-msgid "source: error at %s" +-msgstr "source:錯誤發生在 %s" +- +-#: init.c:1961 +-#, fuzzy, c-format +-msgid "source: file %s could not be sourced" +-msgstr "信件未能列印出來" +- +-#: init.c:1984 +-#, fuzzy +-msgid "spam: no matching pattern" +-msgstr "標記符合某個格式的信件" +- +-#: init.c:1986 +-#, fuzzy +-msgid "nospam: no matching pattern" +-msgstr "反標記符合某個格式的信件" +- +-#: init.c:2146 +-#, fuzzy, c-format +-msgid "Could not subscribe to %s" +-msgstr "訂閱 %s…" +- +-#: init.c:2154 init.c:2632 +-#, fuzzy +-msgid "No folder specified" +-msgstr "沒有指定標題" +- +-#: init.c:2341 +-#, fuzzy +-msgid "unattachments: no disposition" +-msgstr "編輯附件的說明" +- +-#: init.c:2379 +-msgid "unattachments: invalid disposition" +-msgstr "" +- +-#: init.c:2624 +-#, fuzzy, c-format +-msgid "Could not unsubscribe from %s" +-msgstr "取消訂閱 %s…" +- +-#: init.c:3292 ++#: init.c:1042 + #, c-format + msgid "%s: unknown command" + msgstr "%s:不明的指令" + +-#: init.c:3837 ++#: init.c:1588 + msgid "'charset' must contain exactly one character set name" + msgstr "" + +-#: init.c:3853 init.c:3877 init.c:3912 ++#: init.c:1604 init.c:1628 init.c:1663 + #, fuzzy, c-format + msgid "Invalid value for option %s: %s" + msgstr "無效的日子:%s" + +-#: init.c:3890 ++#: init.c:1641 + #, c-format + msgid "Option %s may not be set or reset from the pager" + msgstr "" + +-#: init.c:3928 ++#: init.c:1679 + #, fuzzy, c-format + msgid "Option %s may not be set when in attach-message mode" + msgstr "功能在 attach-message 模式下不被支援" + + #. L10N: This applies to the "$wrap_headers" config variable +-#: init.c:3943 ++#: init.c:1694 + #, c-format + msgid "Option %s must between 78 and 998 inclusive" + msgstr "" + +-#: keymap.c:373 keymap.c:381 ++#: keymap.c:371 keymap.c:379 + #, c-format + msgid "Binding '%s' will alias '%s' Before, try: 'bind %s %s noop' https://neomutt.org/guide/configuration.html#bind-warnings" + msgstr "" + +-#: keymap.c:757 ++#: keymap.c:755 + msgid "Macro loop detected" + msgstr "檢測到巨集中有迴圈" + +-#: keymap.c:1064 keymap.c:1099 ++#: keymap.c:1062 keymap.c:1097 + msgid "Key is not bound" + msgstr "這個鍵還未被定義功能" + +-#: keymap.c:1104 ++#: keymap.c:1102 + #, c-format + msgid "Key is not bound. Press '%s' for help." + msgstr "這個鍵還未被定義功能。 按 '%s' 以取得說明" + +-#: keymap.c:1177 ++#: keymap.c:1175 + #, c-format + msgid "%s: null key sequence" + msgstr "%s: 空的鍵值序列" + +-#: keymap.c:1212 ++#: keymap.c:1210 + #, c-format + msgid "Function '%s' not available for menu '%s'" + msgstr "" + +-#: keymap.c:1495 ++#: keymap.c:1493 + msgid "macro: empty key sequence" + msgstr "macro:空的鍵值序列" + +-#: keymap.c:1543 ++#: keymap.c:1541 + msgid "exec: no arguments" + msgstr "exec:沒有引數" + +-#: keymap.c:1563 ++#: keymap.c:1561 + #, c-format + msgid "%s: no such function" + msgstr "%s:沒有這個功能" + +-#: keymap.c:1584 ++#: keymap.c:1582 + #, fuzzy + msgid "Enter keys (^G to abort): " + msgstr "請輸入 %s 的鑰匙 ID:" + +-#: keymap.c:1590 ++#: keymap.c:1588 + #, c-format + msgid "Char = %s, Octal = %o, Decimal = %d" + msgstr "" +@@ -3152,7 +3259,7 @@ msgstr "沒有發現類型 %s 的 mailcap 紀錄" + msgid "Scanning %s..." + msgstr "正在選擇 %s …" + +-#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:353 ++#: maildir/shared.c:831 mbox/mbox.c:215 mbox/mbox.c:381 mx.c:351 + #, c-format + msgid "Reading %s..." + msgstr "讀取 %s 中…" +@@ -3167,13 +3274,13 @@ msgid "md_commit_message(): unable to set time on file" + msgstr "" + + #. L10N: Displayed before/as a mailbox is being synced +-#: maildir/shared.c:1723 mbox/mbox.c:1276 mx.c:461 notmuch/mutt_notmuch.c:2364 ++#: maildir/shared.c:1734 mbox/mbox.c:1276 mx.c:459 notmuch/mutt_notmuch.c:2364 + #, c-format + msgid "Writing %s..." + msgstr "寫入 %s 中…" + + #. L10N: Try to limit to 80 columns +-#: main.c:227 ++#: main.c:160 + msgid "" + "usage:\n" + " neomutt [-Enx] [-e ] [-F ] [-H ] [-i ]\n" +@@ -3196,7 +3303,7 @@ msgid "" + msgstr "" + + #. L10N: Try to limit to 80 columns. If more space is needed add an indented line +-#: main.c:247 ++#: main.c:180 + msgid "" + "options:\n" + " -- Special argument forces NeoMutt to stop option parsing and treat\n" +@@ -3239,54 +3346,54 @@ msgid "" + " or exit immediately with exit code 1 otherwise" + msgstr "" + +-#: main.c:312 ++#: main.c:245 + msgid "Error initializing terminal" + msgstr "無法初始化終端機" + +-#: main.c:390 ++#: main.c:323 + msgid "unable to determine username" + msgstr "無法決定使用者名稱" + +-#: main.c:396 ++#: main.c:329 + msgid "unable to determine home directory" + msgstr "無法決定 home 目錄" + +-#: main.c:640 ++#: main.c:572 + #, fuzzy, c-format + msgid "Error: value '%s' is invalid for -d" + msgstr "錯誤:「%s」是無效的 IDN" + +-#: main.c:884 ++#: main.c:815 + msgid "Failed to parse mailto: link" + msgstr "" + +-#: main.c:896 send.c:2452 send.c:2456 ++#: main.c:827 send.c:2463 send.c:2467 + msgid "No recipients specified" + msgstr "沒有指定收件人" + +-#: main.c:923 ++#: main.c:854 + msgid "Can't use -E flag with stdin" + msgstr "" + +-#: main.c:1007 ++#: main.c:938 + #, fuzzy, c-format + msgid "Can't parse message template: %s" + msgstr "無法開啟信件檔案:%s" + +-#: main.c:1073 mutt_header.c:329 ++#: main.c:1004 mutt_header.c:329 + #, c-format + msgid "%s: unable to attach file" + msgstr "%s:無法附帶檔案" + +-#: main.c:1156 ++#: main.c:1087 + msgid "No mailbox with new mail" + msgstr "沒有信箱有新信件" + +-#: main.c:1180 ++#: main.c:1111 + msgid "No incoming mailboxes defined" + msgstr "沒有定義任何的收信郵箱" + +-#: main.c:1230 ++#: main.c:1161 + msgid "Mailbox is empty" + msgstr "信箱內空無一物" + +@@ -3328,52 +3435,52 @@ msgstr "無法重開信箱" + msgid "Can't write message" + msgstr "無法寫信件" + +-#: menu.c:632 ++#: menu.c:631 + msgid "Jump to: " + msgstr "跳到:" + +-#: menu.c:641 ++#: menu.c:640 + msgid "Invalid index number" + msgstr "無效的索引編號" + +-#: menu.c:645 menu.c:671 menu.c:744 menu.c:810 menu.c:828 menu.c:843 menu.c:858 +-#: menu.c:873 menu.c:890 menu.c:907 menu.c:1553 ++#: menu.c:644 menu.c:670 menu.c:743 menu.c:809 menu.c:827 menu.c:842 menu.c:857 ++#: menu.c:872 menu.c:889 menu.c:906 menu.c:1553 + msgid "No entries" + msgstr "沒有資料" + +-#: menu.c:668 ++#: menu.c:667 + msgid "You can't scroll down farther" + msgstr "您無法再向下捲動了" + +-#: menu.c:690 ++#: menu.c:689 + msgid "You can't scroll up farther" + msgstr "您無法再向上捲動了" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the first page" + msgstr "您現在在第一頁" + +-#: menu.c:737 ++#: menu.c:736 + msgid "You are on the last page" + msgstr "您現在在最後一頁" + +-#: menu.c:922 ++#: menu.c:921 + msgid "You are on the last entry" + msgstr "您現在在最後一項" + +-#: menu.c:937 ++#: menu.c:936 + msgid "You are on the first entry" + msgstr "您現在在第一項" + +-#: menu.c:1172 pager.c:2692 pattern.c:2578 ++#: menu.c:1172 pager.c:2666 pattern.c:2702 + msgid "Search for: " + msgstr "搜尋:" + +-#: menu.c:1173 pager.c:2693 pattern.c:2579 ++#: menu.c:1173 pager.c:2667 pattern.c:2703 + msgid "Reverse search for: " + msgstr "返向搜尋:" + +-#: menu.c:1226 pager.c:2641 pager.c:2666 pager.c:2800 pattern.c:2708 ++#: menu.c:1226 pager.c:2615 pager.c:2640 pager.c:2774 pattern.c:2832 + msgid "Not found" + msgstr "沒有找到" + +@@ -3416,20 +3523,20 @@ msgstr "正在等待 flock 執行成功… %d" + msgid "Bad history file format (line %d)" + msgstr "" + +-#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1006 ncrypt/crypt_gpgme.c:2381 +-#: ncrypt/crypt_gpgme.c:2401 ncrypt/crypt_gpgme.c:2460 +-#: ncrypt/crypt_gpgme.c:2477 ncrypt/crypt_gpgme.c:2509 +-#: ncrypt/crypt_gpgme.c:2527 ncrypt/crypt_gpgme.c:2611 +-#: ncrypt/crypt_gpgme.c:3194 ncrypt/crypt_gpgme.c:3292 +-#: ncrypt/crypt_gpgme.c:4373 ncrypt/pgp.c:576 ncrypt/pgp.c:583 ncrypt/pgp.c:896 +-#: ncrypt/pgp.c:1014 ncrypt/pgp.c:1161 ncrypt/pgp.c:1181 ncrypt/pgp.c:1215 +-#: ncrypt/pgp.c:1568 ncrypt/pgpkey.c:708 ncrypt/pgpkey.c:902 +-#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1092 ncrypt/smime.c:1100 +-#: ncrypt/smime.c:1191 ncrypt/smime.c:1299 ncrypt/smime.c:1364 +-#: ncrypt/smime.c:1372 ncrypt/smime.c:1571 ncrypt/smime.c:1967 +-#: ncrypt/smime.c:2046 ncrypt/smime.c:2053 ncrypt/smime.c:2156 +-#: ncrypt/smime.c:2281 ncrypt/smime.c:2297 nntp/nntp.c:1397 nntp/nntp.c:2237 +-#: pattern.c:1132 pop/pop.c:182 ++#: mutt/history.c:262 ncrypt/crypt_gpgme.c:1005 ncrypt/crypt_gpgme.c:2420 ++#: ncrypt/crypt_gpgme.c:2440 ncrypt/crypt_gpgme.c:2499 ++#: ncrypt/crypt_gpgme.c:2516 ncrypt/crypt_gpgme.c:2548 ++#: ncrypt/crypt_gpgme.c:2566 ncrypt/crypt_gpgme.c:2650 ++#: ncrypt/crypt_gpgme.c:3237 ncrypt/crypt_gpgme.c:3335 ++#: ncrypt/crypt_gpgme.c:4421 ncrypt/pgp.c:575 ncrypt/pgp.c:582 ncrypt/pgp.c:895 ++#: ncrypt/pgp.c:1013 ncrypt/pgp.c:1160 ncrypt/pgp.c:1180 ncrypt/pgp.c:1214 ++#: ncrypt/pgp.c:1570 ncrypt/pgpkey.c:741 ncrypt/pgpkey.c:937 ++#: ncrypt/pgpmicalg.c:187 ncrypt/smime.c:1126 ncrypt/smime.c:1134 ++#: ncrypt/smime.c:1225 ncrypt/smime.c:1333 ncrypt/smime.c:1398 ++#: ncrypt/smime.c:1406 ncrypt/smime.c:1605 ncrypt/smime.c:2001 ++#: ncrypt/smime.c:2080 ncrypt/smime.c:2087 ncrypt/smime.c:2190 ++#: ncrypt/smime.c:2315 ncrypt/smime.c:2331 nntp/nntp.c:1399 nntp/nntp.c:2239 ++#: pattern.c:1171 pop/pop.c:182 + msgid "Can't create temporary file" + msgstr "無法建立暫存檔" + +@@ -3448,7 +3555,7 @@ msgstr "除錯模式在第 %d 層。\n" + msgid "Logging at level %d to file '%s'" + msgstr "除錯模式在第 %d 層。\n" + +-#: mutt/path.c:401 ++#: mutt/path.c:420 + #, fuzzy + msgid "Error: converting path to absolute" + msgstr "連線到 %s 時失敗" +@@ -3472,17 +3579,17 @@ msgstr "捕抓到 signal %d (%s) … 正在離開.\n" + msgid "Caught signal %d ... Exiting.\n" + msgstr "捕抓到 signal %d … 正在離開.\n" + +-#: muttlib.c:490 ++#: muttlib.c:488 + #, c-format + msgid "mutt_randbuf buflen=%zu" + msgstr "" + +-#: muttlib.c:510 ++#: muttlib.c:508 + #, c-format + msgid "open /dev/urandom: %s" + msgstr "" + +-#: muttlib.c:517 ++#: muttlib.c:515 + #, c-format + msgid "read /dev/urandom: %s" + msgstr "" +@@ -3490,150 +3597,122 @@ msgstr "" + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) + #. These three letters correspond to the choices in the string. +-#: muttlib.c:745 ++#: muttlib.c:743 + #, fuzzy + msgid "File is a directory, save under it: (y)es, (n)o, (a)ll?" + msgstr "檔案是一個目錄, 儲存在它下面?" + +-#: muttlib.c:745 ++#: muttlib.c:743 + msgid "yna" + msgstr "" + + #. L10N: Means "The path you specified as the destination file is a directory." + #. See the msgid "Save to file: " (alias.c, recvattach.c) +-#: muttlib.c:763 ++#: muttlib.c:761 + msgid "File is a directory, save under it?" + msgstr "檔案是一個目錄, 儲存在它下面?" + +-#: muttlib.c:768 ++#: muttlib.c:766 + msgid "File under directory: " + msgstr "在目錄底下的檔案:" + +-#: muttlib.c:781 ++#: muttlib.c:779 + msgid "File exists, (o)verwrite, (a)ppend, or (c)ancel?" + msgstr "檔案已經存在, (1)覆蓋, (2)附加, 或是 (3)取消?" + + #. L10N: Options for: File exists, (o)verwrite, (a)ppend, or (c)ancel? +-#: muttlib.c:783 ++#: muttlib.c:781 + msgid "oac" + msgstr "123" + +-#: muttlib.c:1458 ++#: muttlib.c:1456 + msgid "Can't save message to POP mailbox" + msgstr "無法將信件存到信箱" + +-#: muttlib.c:1468 ++#: muttlib.c:1466 + #, c-format + msgid "Append messages to %s?" + msgstr "附加信件到 %s?" + +-#: muttlib.c:1481 ++#: muttlib.c:1479 + #, fuzzy + msgid "Can't save message to news server" + msgstr "無法編輯 POP 伺服器上的信件" + +-#. L10N: Example: Username at myhost.com +-#: mutt_account.c:233 +-#, c-format +-msgid "Username at %s: " +-msgstr "在 %s 的使用者名稱:" +- +-#: mutt_account.c:315 +-#, c-format +-msgid "Password for %s@%s: " +-msgstr "%s@%s 的密碼:" +- +-#. L10N: You will see this error message if (1) you have "oauthbearer" in +-#. one of your $*_authenticators and (2) you do not have the corresponding +-#. $*_oauth_refresh_command defined. So the message does not mean "None of +-#. your $*_oauth_refresh_command's are defined." +-#: mutt_account.c:383 +-#, fuzzy +-msgid "No OAUTH refresh command defined" +-msgstr "查詢指令尚未定義" +- +-#: mutt_account.c:390 +-msgid "Unable to run refresh command" +-msgstr "" +- +-#: mutt_account.c:400 +-msgid "Command returned empty string" +-msgstr "" +- +-#: mutt_attach.c:140 mutt_attach.c:274 mutt_attach.c:459 mutt_attach.c:1054 ++#: mutt_attach.c:142 mutt_attach.c:276 mutt_attach.c:488 mutt_attach.c:1087 + msgid "Can't match 'nametemplate', continue?" + msgstr "無法配合二個同樣名稱,繼續?" + +-#: mutt_attach.c:150 ++#: mutt_attach.c:152 + #, c-format + msgid "Mailcap compose entry requires %%s" + msgstr "Mailcap 編輯項目需要 %%s" + +-#: mutt_attach.c:168 ++#: mutt_attach.c:170 + msgid "Failure to open file to parse headers" + msgstr "開啟檔案來分析檔頭失敗" + +-#: mutt_attach.c:202 ++#: mutt_attach.c:204 + msgid "Failure to open file to strip headers" + msgstr "開啟檔案時去除檔案標頭失敗" + +-#: mutt_attach.c:212 ++#: mutt_attach.c:214 + #, fuzzy + msgid "Failure to rename file" + msgstr "開啟檔案來分析檔頭失敗" + +-#: mutt_attach.c:222 ++#: mutt_attach.c:224 + #, c-format + msgid "No mailcap compose entry for %s, creating empty file" + msgstr "沒有 %s 的 mailcap 組成登錄,正在建立空的檔案" + +-#: mutt_attach.c:284 ++#: mutt_attach.c:286 + #, c-format + msgid "Mailcap Edit entry requires %%s" + msgstr "編輯 Mailcap 項目時需要 %%s" + +-#: mutt_attach.c:305 ++#: mutt_attach.c:307 + #, c-format + msgid "No mailcap edit entry for %s" + msgstr "沒有 %s 的 mailcap 編輯登錄" + +-#: mutt_attach.c:427 ++#: mutt_attach.c:456 + msgid "No matching mailcap entry found. Viewing as text." + msgstr "沒有發現配合 mailcap 的登錄。將以文字檔方式瀏覽" + +-#: mutt_attach.c:440 ++#: mutt_attach.c:469 + msgid "MIME type not defined. Can't view attachment." + msgstr "MIME 形式未被定義. 無法顯示附件內容" + +-#: mutt_attach.c:535 ++#: mutt_attach.c:563 + #, c-format + msgid "---Command: %-20.20s Description: %s" + msgstr "" + +-#: mutt_attach.c:540 ++#: mutt_attach.c:568 + #, c-format + msgid "---Command: %-30.30s Attachment: %s" + msgstr "" + +-#: mutt_attach.c:619 ++#: mutt_attach.c:652 + #, fuzzy, c-format + msgid "---Attachment: %s: %s" + msgstr "-- 附件" + +-#: mutt_attach.c:621 ++#: mutt_attach.c:654 + #, fuzzy, c-format + msgid "---Attachment: %s" + msgstr "-- 附件" + +-#: mutt_attach.c:902 mutt_attach.c:910 ++#: mutt_attach.c:935 mutt_attach.c:943 + msgid "Write fault" + msgstr "寫入失敗" + +-#: mutt_attach.c:1174 ++#: mutt_attach.c:1207 + msgid "I don't know how to print that" + msgstr "我不知道要如何列印它" + +-#: mutt_history.c:47 query.c:84 ++#: mutt_history.c:47 query.c:82 + msgid "Search" + msgstr "搜尋" + +@@ -3642,21 +3721,21 @@ msgstr "搜尋" + msgid "History '%s'" + msgstr "查詢 '%s'" + +-#: mutt_logging.c:315 ++#: mutt_logging.c:313 + #, fuzzy, c-format + msgid "Invalid value for option %s: %ld" + msgstr "無效的日子:%s" + +-#: mutt_lua.c:429 ++#: mutt_lua.c:431 + msgid "Error: Couldn't load the lua interpreter" + msgstr "" + +-#: mutt_lua.c:491 ++#: mutt_lua.c:493 + #, fuzzy, c-format + msgid "Couldn't source lua source: %s" + msgstr "無法鎖住 %s。\n" + +-#: mutt_mailbox.c:214 ++#: mutt_mailbox.c:241 + #, fuzzy + msgid "New mail in " + msgstr "在 %s 有新信件" +@@ -3680,20 +3759,20 @@ msgstr "在限制閱覽模式下無法顯示主信件" + msgid "Parent message is not visible in this limited view" + msgstr "在限制閱覽模式下無法顯示主信件" + +-#: mx.c:387 ++#: mx.c:385 + #, fuzzy, c-format + msgid "Reading from %s interrupted..." + msgstr "搜尋已被中斷" + + #. L10N: Displayed if a mailbox sync fails +-#: mx.c:468 ++#: mx.c:469 + #, fuzzy, c-format + msgid "Unable to write %s" + msgstr "無法附加 %s" + + #. L10N: Although we know the precise number of messages, we do not show it to the user. + #. So feel free to use a "generic plural" as plural translation if your language has one. +-#: mx.c:523 ++#: mx.c:525 + #, fuzzy + msgid "message not deleted" + msgid_plural "messages not deleted" +@@ -3704,68 +3783,68 @@ msgstr[0] "標簽了的 %d 封信件刪去了…" + msgid "Can't open trash folder" + msgstr "無法把資料加到檔案夾:%s" + +-#: mx.c:623 ++#: mx.c:627 + msgid "Mark all articles read?" + msgstr "" + + #. L10N: The first argument is the number of read messages to be + #. moved, the second argument is the target mailbox. +-#: mx.c:671 ++#: mx.c:675 + #, fuzzy, c-format + msgid "Move %d read message to %s?" + msgid_plural "Move %d read messages to %s?" + msgstr[0] "搬移已讀取的信件到 %s?" + +-#: mx.c:685 mx.c:917 ++#: mx.c:689 mx.c:936 + #, fuzzy, c-format + msgid "Purge %d deleted message?" + msgid_plural "Purge %d deleted messages?" + msgstr[0] "清除 %d 封已經被刪除的信件?" + +-#: mx.c:708 ++#: mx.c:712 + #, c-format + msgid "Moving read messages to %s..." + msgstr "正在搬移已經讀取的信件到 %s …" + +-#: mx.c:774 mx.c:908 ++#: mx.c:783 mx.c:927 + msgid "Mailbox is unchanged" + msgstr "信箱沒有變動" + +-#: mx.c:827 ++#: mx.c:842 + #, c-format + msgid "%d kept, %d moved, %d deleted" + msgstr "%d 封信件被保留, %d 封信件被搬移, %d 封信件被刪除" + +-#: mx.c:831 mx.c:972 ++#: mx.c:846 mx.c:991 + #, c-format + msgid "%d kept, %d deleted" + msgstr "%d 封信件被保留, %d 封信件被刪除" + +-#: mx.c:892 ++#: mx.c:911 + #, c-format + msgid " Press '%s' to toggle write" + msgstr " 請按下 '%s' 來切換寫入模式" + +-#: mx.c:894 ++#: mx.c:913 + msgid "Use 'toggle-write' to re-enable write" + msgstr "請使用 'toggle-write' 來重新啟動寫入功能" + +-#: mx.c:896 ++#: mx.c:915 + #, c-format + msgid "Mailbox is marked unwritable. %s" + msgstr "信箱被標記成為無法寫入的. %s" + + # How to translate? +-#: mx.c:966 ++#: mx.c:985 + msgid "Mailbox checkpointed" + msgstr "" + +-#: ncrypt/crypt.c:93 ++#: ncrypt/crypt.c:91 + #, c-format + msgid " (current time: %c)" + msgstr "" + +-#: ncrypt/crypt.c:98 ++#: ncrypt/crypt.c:96 + #, fuzzy, c-format + msgid "[-- %s output follows%s --]\n" + msgstr "[-- 以下為 PGP 輸出的資料(現在時間:%c) --]\n" +@@ -3774,53 +3853,53 @@ msgstr "[-- 以下為 PGP 輸出的資料(現在時間:%c) --]\n" + #. by gpg-agent) we can't know whether we forgot zero, 1, 12, ... + #. passwords. So in English we use "Passphrases". Your language might + #. have other means to express this. +-#: ncrypt/crypt.c:119 ++#: ncrypt/crypt.c:117 + #, fuzzy + msgid "Passphrases forgotten" + msgstr "已忘記 PGP 通行密碼" + +-#: ncrypt/crypt.c:203 ++#: ncrypt/crypt.c:201 + msgid "Inline PGP can't be used with attachments. Revert to PGP/MIME?" + msgstr "" + +-#: ncrypt/crypt.c:207 ++#: ncrypt/crypt.c:205 + msgid "Mail not sent: inline PGP can't be used with attachments" + msgstr "" + +-#: ncrypt/crypt.c:214 ++#: ncrypt/crypt.c:212 + msgid "Inline PGP can't be used with format=flowed. Revert to PGP/MIME?" + msgstr "" + +-#: ncrypt/crypt.c:218 ++#: ncrypt/crypt.c:216 + msgid "Mail not sent: inline PGP can't be used with format=flowed" + msgstr "" + +-#: ncrypt/crypt.c:228 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:714 +-#: ncrypt/pgpkey.c:915 ++#: ncrypt/crypt.c:226 ncrypt/cryptglue.c:152 ncrypt/pgpkey.c:747 ++#: ncrypt/pgpkey.c:950 + msgid "Invoking PGP..." + msgstr "啟動 PGP…" + +-#: ncrypt/crypt.c:240 ++#: ncrypt/crypt.c:238 + msgid "Message can't be sent inline. Revert to using PGP/MIME?" + msgstr "" + +-#: ncrypt/crypt.c:242 send.c:2430 ++#: ncrypt/crypt.c:240 send.c:2441 + msgid "Mail not sent" + msgstr "信件沒有寄出" + +-#: ncrypt/crypt.c:662 ++#: ncrypt/crypt.c:666 + msgid "S/MIME messages with no hints on content are unsupported" + msgstr "" + +-#: ncrypt/crypt.c:888 ++#: ncrypt/crypt.c:892 + msgid "Trying to extract PGP keys...\n" + msgstr "" + +-#: ncrypt/crypt.c:917 ++#: ncrypt/crypt.c:921 + msgid "Trying to extract S/MIME certificates..." + msgstr "" + +-#: ncrypt/crypt.c:1140 ++#: ncrypt/crypt.c:1144 + #, c-format + msgid "" + "[-- Error: Unknown multipart/signed protocol %s --]\n" +@@ -3829,7 +3908,7 @@ msgstr "" + "[-- 錯誤:不明的 multipart/signed 協定 %s! --]\n" + "\n" + +-#: ncrypt/crypt.c:1180 ++#: ncrypt/crypt.c:1184 + #, fuzzy + msgid "" + "[-- Error: Missing or bad-format multipart/signed signature --]\n" +@@ -3838,7 +3917,7 @@ msgstr "" + "[-- 錯誤:不一致的 multipart/signed 結構! --]\n" + "\n" + +-#: ncrypt/crypt.c:1222 ++#: ncrypt/crypt.c:1226 + #, c-format + msgid "" + "[-- Warning: We can't verify %s/%s signatures. --]\n" +@@ -3847,7 +3926,7 @@ msgstr "" + "[-- 警告:我們不能證實 %s/%s 簽名。 --]\n" + "\n" + +-#: ncrypt/crypt.c:1235 ++#: ncrypt/crypt.c:1239 + #, fuzzy + msgid "" + "[-- The following data is signed --]\n" +@@ -3856,7 +3935,7 @@ msgstr "" + "[-- 以下的資料已被簽署 --]\n" + "\n" + +-#: ncrypt/crypt.c:1243 ++#: ncrypt/crypt.c:1248 + msgid "" + "[-- Warning: Can't find any signatures. --]\n" + "\n" +@@ -3864,7 +3943,7 @@ msgstr "" + "[-- 警告:找不到任何的簽名。 --]\n" + "\n" + +-#: ncrypt/crypt.c:1249 ++#: ncrypt/crypt.c:1255 + #, fuzzy + msgid "" + "\n" +@@ -3885,236 +3964,236 @@ msgstr "啟動 S/MIME…" + #. L10N: The following are the headers for the "verify key" output from the + #. GPGME key selection menu (bound to "c" in the key selection menu). + #. They will be automatically aligned. +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + msgid "Name: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1869 ncrypt/crypt_gpgme.c:1874 ++#: ncrypt/crypt_gpgme.c:183 ncrypt/crypt_gpgme.c:1900 ncrypt/crypt_gpgme.c:1905 + msgid "aka: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + #, fuzzy + msgid "Valid From: " + msgstr "無效的月份:%s" + +-#: ncrypt/crypt_gpgme.c:184 ++#: ncrypt/crypt_gpgme.c:183 + #, fuzzy + msgid "Valid To: " + msgstr "無效的月份:%s" + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Key Type: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Key Usage: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:185 ncrypt/crypt_gpgme.c:1759 ++#: ncrypt/crypt_gpgme.c:184 ncrypt/crypt_gpgme.c:1790 + #, fuzzy + msgid "Fingerprint: " + msgstr "指模:%s" + +-#: ncrypt/crypt_gpgme.c:185 ++#: ncrypt/crypt_gpgme.c:184 + msgid "Serial-No: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + msgid "Issued By: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:186 ++#: ncrypt/crypt_gpgme.c:185 + #, fuzzy + msgid "Subkey: " + msgstr "鑰匙 ID:0x%s" + +-#: ncrypt/crypt_gpgme.c:783 ++#: ncrypt/crypt_gpgme.c:782 + #, c-format + msgid "error enabling CMS protocol: %s" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:806 ++#: ncrypt/crypt_gpgme.c:805 + #, fuzzy, c-format + msgid "error creating gpgme data object: %s" + msgstr "在樣式上有錯誤:%s" + +-#: ncrypt/crypt_gpgme.c:907 ncrypt/crypt_gpgme.c:934 ncrypt/crypt_gpgme.c:2057 +-#: ncrypt/crypt_gpgme.c:2814 ++#: ncrypt/crypt_gpgme.c:906 ncrypt/crypt_gpgme.c:933 ncrypt/crypt_gpgme.c:2096 ++#: ncrypt/crypt_gpgme.c:2853 + #, fuzzy, c-format + msgid "error allocating data object: %s" + msgstr "在樣式上有錯誤:%s" + +-#: ncrypt/crypt_gpgme.c:956 ++#: ncrypt/crypt_gpgme.c:955 + #, fuzzy, c-format + msgid "error rewinding data object: %s" + msgstr "在樣式上有錯誤:%s" + +-#: ncrypt/crypt_gpgme.c:972 ++#: ncrypt/crypt_gpgme.c:971 + msgid "[tempfile]" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:978 ncrypt/crypt_gpgme.c:1032 ++#: ncrypt/crypt_gpgme.c:977 ncrypt/crypt_gpgme.c:1031 + #, fuzzy, c-format + msgid "error reading data object: %s" + msgstr "在樣式上有錯誤:%s" + +-#: ncrypt/crypt_gpgme.c:1149 ++#: ncrypt/crypt_gpgme.c:1148 + #, fuzzy, c-format + msgid "error adding recipient '%s': %s" + msgstr "在樣式上有錯誤:%s" + +-#: ncrypt/crypt_gpgme.c:1202 ++#: ncrypt/crypt_gpgme.c:1186 + #, c-format + msgid "secret key '%s' not found: %s" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1218 ++#: ncrypt/crypt_gpgme.c:1203 + #, c-format + msgid "ambiguous specification of secret key '%s'\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1234 ++#: ncrypt/crypt_gpgme.c:1219 + #, c-format + msgid "error setting secret key '%s': %s" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1250 ++#: ncrypt/crypt_gpgme.c:1278 + #, fuzzy, c-format + msgid "error setting PKA signature notation: %s" + msgstr "在樣式上有錯誤:%s" + +-#: ncrypt/crypt_gpgme.c:1324 ++#: ncrypt/crypt_gpgme.c:1353 + #, fuzzy, c-format + msgid "error encrypting data: %s" + msgstr "在樣式上有錯誤:%s" + +-#: ncrypt/crypt_gpgme.c:1453 ++#: ncrypt/crypt_gpgme.c:1483 + #, fuzzy, c-format + msgid "error signing data: %s" + msgstr "在樣式上有錯誤:%s" + +-#: ncrypt/crypt_gpgme.c:1463 ++#: ncrypt/crypt_gpgme.c:1493 + msgid "$pgp_sign_as unset and no default key specified in ~/.gnupg/gpg.conf" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1641 ++#: ncrypt/crypt_gpgme.c:1672 + msgid "Warning: One of the keys has been revoked\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1651 ++#: ncrypt/crypt_gpgme.c:1682 + msgid "Warning: The key used to create the signature expired at: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1657 ++#: ncrypt/crypt_gpgme.c:1688 + #, fuzzy + msgid "Warning: At least one certification key has expired\n" + msgstr "伺服器的驗証已過期" + +-#: ncrypt/crypt_gpgme.c:1671 ++#: ncrypt/crypt_gpgme.c:1702 + msgid "Warning: The signature expired at: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1678 ++#: ncrypt/crypt_gpgme.c:1709 + msgid "Can't verify due to a missing key or certificate\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1683 ++#: ncrypt/crypt_gpgme.c:1714 + #, fuzzy + msgid "The CRL is not available\n" + msgstr "沒有 SSL 功能" + +-#: ncrypt/crypt_gpgme.c:1689 ++#: ncrypt/crypt_gpgme.c:1720 + msgid "Available CRL is too old\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1694 ++#: ncrypt/crypt_gpgme.c:1725 + msgid "A policy requirement was not met\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1703 ++#: ncrypt/crypt_gpgme.c:1734 + msgid "A system error occurred" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1734 ++#: ncrypt/crypt_gpgme.c:1765 + msgid "WARNING: PKA entry does not match signer's address: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1740 ++#: ncrypt/crypt_gpgme.c:1771 + msgid "PKA verified signer's address is: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1822 ++#: ncrypt/crypt_gpgme.c:1853 + msgid "WARNING: We have NO indication whether the key belongs to the person named as shown above\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1829 ++#: ncrypt/crypt_gpgme.c:1860 + msgid "WARNING: The key does NOT BELONG to the person named as shown above\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1833 ++#: ncrypt/crypt_gpgme.c:1864 + msgid "WARNING: It is NOT certain that the key belongs to the person named as shown above\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1886 ++#: ncrypt/crypt_gpgme.c:1917 + msgid "KeyID " + msgstr "" + + #. L10N: You will see this message in place of "KeyID " + #. if the S/MIME key has no ID. This is quite an error. +-#: ncrypt/crypt_gpgme.c:1893 ++#: ncrypt/crypt_gpgme.c:1924 + msgid "no signature fingerprint available" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1902 ncrypt/crypt_gpgme.c:1907 ++#: ncrypt/crypt_gpgme.c:1933 ncrypt/crypt_gpgme.c:1938 + #, fuzzy + msgid "created: " + msgstr "建立 %s?" + +-#: ncrypt/crypt_gpgme.c:1981 ++#: ncrypt/crypt_gpgme.c:2012 + #, c-format + msgid "Error getting key information for KeyID %s: %s\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1988 ncrypt/crypt_gpgme.c:2003 ++#: ncrypt/crypt_gpgme.c:2019 ncrypt/crypt_gpgme.c:2034 + msgid "Good signature from:" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:1995 ++#: ncrypt/crypt_gpgme.c:2026 + msgid "*BAD* signature from:" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:2011 ++#: ncrypt/crypt_gpgme.c:2042 + msgid "Problem signature from:" + msgstr "" + + #. L10N: This is trying to match the width of the + #. "Problem signature from:" translation just above. +-#: ncrypt/crypt_gpgme.c:2017 ++#: ncrypt/crypt_gpgme.c:2048 + msgid " expires: " + msgstr "" + +-#: ncrypt/crypt_gpgme.c:2064 ncrypt/crypt_gpgme.c:2294 +-#: ncrypt/crypt_gpgme.c:3081 ++#: ncrypt/crypt_gpgme.c:2103 ncrypt/crypt_gpgme.c:2333 ++#: ncrypt/crypt_gpgme.c:3124 + msgid "[-- Begin signature information --]\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:2075 ++#: ncrypt/crypt_gpgme.c:2114 + #, fuzzy, c-format + msgid "Error: verification failed: %s\n" + msgstr "指令行有錯:%s\n" + +-#: ncrypt/crypt_gpgme.c:2126 ++#: ncrypt/crypt_gpgme.c:2165 + #, c-format + msgid "*** Begin Notation (signature by: %s) ***\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:2145 ++#: ncrypt/crypt_gpgme.c:2184 + msgid "*** End Notation ***\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:2153 ncrypt/crypt_gpgme.c:2308 +-#: ncrypt/crypt_gpgme.c:3091 ++#: ncrypt/crypt_gpgme.c:2192 ncrypt/crypt_gpgme.c:2347 ++#: ncrypt/crypt_gpgme.c:3134 + #, fuzzy + msgid "" + "[-- End signature information --]\n" +@@ -4123,28 +4202,34 @@ msgstr "" + "\n" + "[-- 簽署的資料結束 --]\n" + +-#: ncrypt/crypt_gpgme.c:2268 ++#: ncrypt/crypt_gpgme.c:2307 + #, fuzzy, c-format + msgid "" + "[-- Error: decryption failed: %s --]\n" + "\n" + msgstr "[-- 錯誤:突發的檔尾! --]\n" + +-#: ncrypt/crypt_gpgme.c:2821 ++#: ncrypt/crypt_gpgme.c:2860 + #, fuzzy, c-format + msgid "Error importing key: %s" + msgstr "在樣式上有錯誤:%s" + +-#: ncrypt/crypt_gpgme.c:3059 ++#: ncrypt/crypt_gpgme.c:3098 + #, c-format + msgid "Error: decryption/verification failed: %s\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:3103 ++#: ncrypt/crypt_gpgme.c:3105 ncrypt/crypt_gpgme.c:3302 ncrypt/pgp.c:726 ++#: ncrypt/pgp.c:1273 ++#, fuzzy ++msgid "PGP message successfully decrypted" ++msgstr "PGP 簽名驗證成功" ++ ++#: ncrypt/crypt_gpgme.c:3146 + msgid "Error: copy data failed\n" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:3116 ncrypt/pgp.c:675 ++#: ncrypt/crypt_gpgme.c:3159 ncrypt/pgp.c:674 + msgid "" + "[-- BEGIN PGP MESSAGE --]\n" + "\n" +@@ -4152,11 +4237,11 @@ msgstr "" + "[-- PGP 信件開始 --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3118 ncrypt/pgp.c:677 ++#: ncrypt/crypt_gpgme.c:3161 ncrypt/pgp.c:676 + msgid "[-- BEGIN PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- PGP 公共鑰匙區段開始 --]\n" + +-#: ncrypt/crypt_gpgme.c:3120 ncrypt/pgp.c:679 ++#: ncrypt/crypt_gpgme.c:3163 ncrypt/pgp.c:678 + msgid "" + "[-- BEGIN PGP SIGNED MESSAGE --]\n" + "\n" +@@ -4164,25 +4249,25 @@ msgstr "" + "[-- PGP 簽名的信件開始 --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3145 ncrypt/pgp.c:716 ++#: ncrypt/crypt_gpgme.c:3188 ncrypt/pgp.c:715 + #, fuzzy + msgid "[-- END PGP MESSAGE --]\n" + msgstr "" + "\n" + "[-- PGP 信件結束 --]\n" + +-#: ncrypt/crypt_gpgme.c:3147 ncrypt/pgp.c:730 ++#: ncrypt/crypt_gpgme.c:3190 ncrypt/pgp.c:729 + msgid "[-- END PGP PUBLIC KEY BLOCK --]\n" + msgstr "[-- PGP 公共鑰匙區段結束 --]\n" + +-#: ncrypt/crypt_gpgme.c:3149 ncrypt/pgp.c:732 ++#: ncrypt/crypt_gpgme.c:3192 ncrypt/pgp.c:731 + #, fuzzy + msgid "[-- END PGP SIGNED MESSAGE --]\n" + msgstr "" + "\n" + "[-- PGP 簽名的信件結束 --]\n" + +-#: ncrypt/crypt_gpgme.c:3170 ncrypt/pgp.c:765 ++#: ncrypt/crypt_gpgme.c:3213 ncrypt/pgp.c:764 + msgid "" + "[-- Error: could not find beginning of PGP message --]\n" + "\n" +@@ -4190,11 +4275,11 @@ msgstr "" + "[-- 錯誤:找不到 PGP 信件的開頭! --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3198 ncrypt/crypt_gpgme.c:3296 ncrypt/pgp.c:1218 ++#: ncrypt/crypt_gpgme.c:3241 ncrypt/crypt_gpgme.c:3339 ncrypt/pgp.c:1218 + msgid "[-- Error: could not create temporary file --]\n" + msgstr "[-- 錯誤:無法建立暫存檔! --]\n" + +-#: ncrypt/crypt_gpgme.c:3212 ++#: ncrypt/crypt_gpgme.c:3255 + #, fuzzy + msgid "" + "[-- The following data is PGP/MIME signed and encrypted --]\n" +@@ -4203,7 +4288,7 @@ msgstr "" + "[-- 下面是 PGP/MIME 加密資料 --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3214 ncrypt/pgp.c:1231 ++#: ncrypt/crypt_gpgme.c:3257 ncrypt/pgp.c:1232 + msgid "" + "[-- The following data is PGP/MIME encrypted --]\n" + "\n" +@@ -4211,32 +4296,27 @@ msgstr "" + "[-- 下面是 PGP/MIME 加密資料 --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3254 ++#: ncrypt/crypt_gpgme.c:3297 + #, fuzzy + msgid "[-- End of PGP/MIME signed and encrypted data --]\n" + msgstr "" + "\n" + "[-- PGP/MIME 加密資料結束 --]\n" + +-#: ncrypt/crypt_gpgme.c:3255 ncrypt/pgp.c:1267 ++#: ncrypt/crypt_gpgme.c:3298 ncrypt/pgp.c:1268 + #, fuzzy + msgid "[-- End of PGP/MIME encrypted data --]\n" + msgstr "" + "\n" + "[-- PGP/MIME 加密資料結束 --]\n" + +-#: ncrypt/crypt_gpgme.c:3259 ncrypt/pgp.c:727 ncrypt/pgp.c:1272 +-#, fuzzy +-msgid "PGP message successfully decrypted" +-msgstr "PGP 簽名驗證成功" +- +-#: ncrypt/crypt_gpgme.c:3265 ncrypt/pgp.c:666 ncrypt/pgp.c:718 +-#: ncrypt/pgp.c:1276 ++#: ncrypt/crypt_gpgme.c:3308 ncrypt/pgp.c:665 ncrypt/pgp.c:717 ++#: ncrypt/pgp.c:1277 + #, fuzzy + msgid "Could not decrypt PGP message" + msgstr "無法複制信件" + +-#: ncrypt/crypt_gpgme.c:3310 ++#: ncrypt/crypt_gpgme.c:3353 + #, fuzzy + msgid "" + "[-- The following data is S/MIME signed --]\n" +@@ -4245,7 +4325,7 @@ msgstr "" + "[-- 以下的資料已被簽署 --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3311 ++#: ncrypt/crypt_gpgme.c:3354 + #, fuzzy + msgid "" + "[-- The following data is S/MIME encrypted --]\n" +@@ -4254,144 +4334,144 @@ msgstr "" + "[-- 下面是 S/MIME 加密資料 --]\n" + "\n" + +-#: ncrypt/crypt_gpgme.c:3358 ++#: ncrypt/crypt_gpgme.c:3401 + #, fuzzy + msgid "[-- End of S/MIME signed data --]\n" + msgstr "" + "\n" + "[-- 簽署的資料結束 --]\n" + +-#: ncrypt/crypt_gpgme.c:3359 ++#: ncrypt/crypt_gpgme.c:3402 + #, fuzzy + msgid "[-- End of S/MIME encrypted data --]\n" + msgstr "" + "\n" + "[-- S/MIME 加密資料結束 --]\n" + +-#: ncrypt/crypt_gpgme.c:4029 ++#: ncrypt/crypt_gpgme.c:4077 + msgid "[Can't display this user ID (unknown encoding)]" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:4031 ++#: ncrypt/crypt_gpgme.c:4079 + msgid "[Can't display this user ID (invalid encoding)]" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:4036 ++#: ncrypt/crypt_gpgme.c:4084 + msgid "[Can't display this user ID (invalid DN)]" + msgstr "" + + #. L10N: comes after the Name or aka if the key is invalid + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4150 ncrypt/crypt_gpgme.c:4291 ++#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4339 + #, fuzzy + msgid "[Invalid]" + msgstr "無效的月份:%s" + + #. L10N: This is printed after "Key Type: " and looks like this: PGP, 2048 bit RSA +-#: ncrypt/crypt_gpgme.c:4190 ncrypt/crypt_gpgme.c:4331 ++#: ncrypt/crypt_gpgme.c:4238 ncrypt/crypt_gpgme.c:4379 + #, c-format + msgid "%s, %lu bit %s\n" + msgid_plural "%s, %lu bit %s\n" + msgstr[0] "" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4198 ncrypt/crypt_gpgme.c:4338 ++#: ncrypt/crypt_gpgme.c:4246 ncrypt/crypt_gpgme.c:4386 + #, fuzzy + msgid "encryption" + msgstr "加密" + +-#: ncrypt/crypt_gpgme.c:4199 ncrypt/crypt_gpgme.c:4205 +-#: ncrypt/crypt_gpgme.c:4339 ncrypt/crypt_gpgme.c:4344 ++#: ncrypt/crypt_gpgme.c:4247 ncrypt/crypt_gpgme.c:4253 ++#: ncrypt/crypt_gpgme.c:4387 ncrypt/crypt_gpgme.c:4392 + msgid ", " + msgstr "" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4204 ncrypt/crypt_gpgme.c:4343 ++#: ncrypt/crypt_gpgme.c:4252 ncrypt/crypt_gpgme.c:4391 + msgid "signing" + msgstr "" + + #. L10N: value in Key Usage: field +-#: ncrypt/crypt_gpgme.c:4210 ncrypt/crypt_gpgme.c:4348 ++#: ncrypt/crypt_gpgme.c:4258 ncrypt/crypt_gpgme.c:4396 + #, fuzzy + msgid "certification" + msgstr "驗証已儲存" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4285 ++#: ncrypt/crypt_gpgme.c:4333 + msgid "[Revoked]" + msgstr "" + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4297 ++#: ncrypt/crypt_gpgme.c:4345 + #, fuzzy + msgid "[Expired]" + msgstr "離開 " + + #. L10N: describes a subkey +-#: ncrypt/crypt_gpgme.c:4303 ++#: ncrypt/crypt_gpgme.c:4351 + msgid "[Disabled]" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:4376 ++#: ncrypt/crypt_gpgme.c:4424 + #, fuzzy + msgid "Collecting data..." + msgstr "正連接到 %s…" + +-#: ncrypt/crypt_gpgme.c:4394 ++#: ncrypt/crypt_gpgme.c:4442 + #, fuzzy, c-format + msgid "Error finding issuer key: %s\n" + msgstr "連線到 %s 時失敗" + +-#: ncrypt/crypt_gpgme.c:4403 ++#: ncrypt/crypt_gpgme.c:4451 + #, fuzzy + msgid "Error: certification chain too long - stopping here\n" + msgstr "指令行有錯:%s\n" + +-#: ncrypt/crypt_gpgme.c:4413 ncrypt/pgpkey.c:733 ++#: ncrypt/crypt_gpgme.c:4461 ncrypt/pgpkey.c:766 + #, c-format + msgid "Key ID: 0x%s" + msgstr "鑰匙 ID:0x%s" + +-#: ncrypt/crypt_gpgme.c:4538 ncrypt/crypt_gpgme.c:4589 ++#: ncrypt/crypt_gpgme.c:4586 ncrypt/crypt_gpgme.c:4637 + #, c-format + msgid "gpgme_op_keylist_start failed: %s" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:4577 ncrypt/crypt_gpgme.c:4619 +-#: ncrypt/crypt_gpgme.c:5355 ++#: ncrypt/crypt_gpgme.c:4625 ncrypt/crypt_gpgme.c:4667 ++#: ncrypt/crypt_gpgme.c:5435 + #, c-format + msgid "gpgme_op_keylist_next failed: %s" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:4701 ++#: ncrypt/crypt_gpgme.c:4749 + #, fuzzy + msgid "All matching keys are marked expired/revoked" + msgstr "所有符合的鑰匙經已過期或取消" + +-#: ncrypt/crypt_gpgme.c:4731 ncrypt/pgpkey.c:666 ncrypt/smime.c:551 ++#: ncrypt/crypt_gpgme.c:4779 ncrypt/pgpkey.c:669 ncrypt/smime.c:553 + msgid "Select " + msgstr "選擇 " + +-#: ncrypt/crypt_gpgme.c:4733 ncrypt/pgpkey.c:668 ++#: ncrypt/crypt_gpgme.c:4781 ncrypt/pgpkey.c:671 + msgid "Check key " + msgstr "檢查鑰匙 " + +-#: ncrypt/crypt_gpgme.c:4749 ++#: ncrypt/crypt_gpgme.c:4827 + #, fuzzy + msgid "PGP and S/MIME keys matching" + msgstr "PGP 鑰匙符合 <%s>" + +-#: ncrypt/crypt_gpgme.c:4751 ++#: ncrypt/crypt_gpgme.c:4829 + #, fuzzy + msgid "PGP keys matching" + msgstr "PGP 鑰匙符合 <%s>" + +-#: ncrypt/crypt_gpgme.c:4753 ++#: ncrypt/crypt_gpgme.c:4831 + #, fuzzy + msgid "S/MIME keys matching" + msgstr "S/MIME 鑰匙符合 <%s>" + +-#: ncrypt/crypt_gpgme.c:4755 ++#: ncrypt/crypt_gpgme.c:4833 + #, fuzzy + msgid "keys matching" + msgstr "PGP 鑰匙符合 <%s>" +@@ -4400,58 +4480,58 @@ msgstr "PGP 鑰匙符合 <%s>" + #. %1$s is one of the previous four entries. + #. %2$s is an address. + #. e.g. "S/MIME keys matching " +-#: ncrypt/crypt_gpgme.c:4763 ++#: ncrypt/crypt_gpgme.c:4841 + #, fuzzy, c-format + msgid "%s <%s>" + msgstr "%s 【%s】\n" + + #. L10N: e.g. 'S/MIME keys matching "Michael Elkins".' +-#: ncrypt/crypt_gpgme.c:4768 ++#: ncrypt/crypt_gpgme.c:4846 + #, fuzzy, c-format + msgid "%s \"%s\"" + msgstr "%s 【%s】\n" + +-#: ncrypt/crypt_gpgme.c:4796 ncrypt/pgpkey.c:754 ++#: ncrypt/crypt_gpgme.c:4874 ncrypt/pgpkey.c:787 + msgid "This key can't be used: expired/disabled/revoked" + msgstr "這個鑰匙不能使用:過期/停用/已取消" + +-#: ncrypt/crypt_gpgme.c:4810 ncrypt/pgpkey.c:767 ncrypt/smime.c:581 ++#: ncrypt/crypt_gpgme.c:4888 ncrypt/pgpkey.c:800 ncrypt/smime.c:613 + #, fuzzy + msgid "ID is expired/disabled/revoked. Do you really want to use the key?" + msgstr "這個 ID 已過期/停用/取消。 您真的要使用此密钥吗?" + +-#: ncrypt/crypt_gpgme.c:4820 ncrypt/pgpkey.c:779 ++#: ncrypt/crypt_gpgme.c:4898 ncrypt/pgpkey.c:812 + #, fuzzy + msgid "ID is not valid. Do you really want to use the key?" + msgstr "這個 ID 不可接受。 您真的要使用此密钥吗?" + +-#: ncrypt/crypt_gpgme.c:4823 ncrypt/pgpkey.c:782 ++#: ncrypt/crypt_gpgme.c:4901 ncrypt/pgpkey.c:815 + #, fuzzy + msgid "ID is only marginally valid. Do you really want to use the key?" + msgstr "此 ID 只是勉強可接受。 您真的要使用此密钥吗?" + +-#: ncrypt/crypt_gpgme.c:4831 ncrypt/pgpkey.c:775 ncrypt/smime.c:585 ++#: ncrypt/crypt_gpgme.c:4909 ncrypt/pgpkey.c:808 ncrypt/smime.c:617 + msgid "ID has undefined validity. Do you really want to use the key?" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:4911 ncrypt/crypt_gpgme.c:5024 ncrypt/pgpkey.c:1019 +-#: ncrypt/pgpkey.c:1146 ++#: ncrypt/crypt_gpgme.c:4991 ncrypt/crypt_gpgme.c:5104 ncrypt/pgpkey.c:1054 ++#: ncrypt/pgpkey.c:1181 + #, c-format + msgid "Looking for keys matching \"%s\"..." + msgstr "正找尋匹配 \"%s\" 的鑰匙…" + +-#: ncrypt/crypt_gpgme.c:5140 ncrypt/pgpkey.c:870 ncrypt/smime.c:924 ++#: ncrypt/crypt_gpgme.c:5220 ncrypt/pgpkey.c:905 ncrypt/smime.c:958 + #, c-format + msgid "No matching keys found for \"%s\"" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5190 ncrypt/pgp.c:1456 ++#: ncrypt/crypt_gpgme.c:5270 ncrypt/pgp.c:1457 + #, c-format + msgid "Use keyID = \"%s\" for %s?" + msgstr "要為 %2$s 使用鑰匙 ID = \"%1$s\"?" + +-#: ncrypt/crypt_gpgme.c:5238 ncrypt/pgp.c:1505 ncrypt/smime.c:944 +-#: ncrypt/smime.c:1049 ++#: ncrypt/crypt_gpgme.c:5318 ncrypt/pgp.c:1506 ncrypt/smime.c:978 ++#: ncrypt/smime.c:1083 + #, c-format + msgid "Enter keyID for %s: " + msgstr "請輸入 %s 的鑰匙 ID:" +@@ -4460,16 +4540,16 @@ msgstr "請輸入 %s 的鑰匙 ID:" + #. mutt_gpgme_select_secret_key() tries to list all secret keys to choose + #. from. This error is displayed if no results were found. + #. +-#: ncrypt/crypt_gpgme.c:5364 ++#: ncrypt/crypt_gpgme.c:5444 + #, fuzzy + msgid "No secret keys found" + msgstr "沒有找到" + +-#: ncrypt/crypt_gpgme.c:5398 ncrypt/pgpkey.c:888 ++#: ncrypt/crypt_gpgme.c:5478 ncrypt/pgpkey.c:923 + msgid "Please enter the key ID: " + msgstr "請輸入這把鑰匙的 ID:" + +-#: ncrypt/crypt_gpgme.c:5411 ++#: ncrypt/crypt_gpgme.c:5491 + #, fuzzy, c-format + msgid "Error exporting key: %s" + msgstr "在樣式上有錯誤:%s" +@@ -4477,103 +4557,103 @@ msgstr "在樣式上有錯誤:%s" + #. 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. +-#: ncrypt/crypt_gpgme.c:5429 ++#: ncrypt/crypt_gpgme.c:5509 + #, fuzzy, c-format + msgid "PGP Key 0x%s" + msgstr "PGP 鑰匙 %s" + +-#: ncrypt/crypt_gpgme.c:5474 ++#: ncrypt/crypt_gpgme.c:5554 + msgid "GPGME: OpenPGP protocol not available" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5485 ++#: ncrypt/crypt_gpgme.c:5565 + msgid "GPGME: CMS protocol not available" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5536 ++#: ncrypt/crypt_gpgme.c:5616 + #, fuzzy + msgid "S/MIME (s)ign, sign (a)s, (p)gp, (c)lear, or (o)ppenc mode off?" + msgstr "(1)加密, (2)簽名, (3)用別的身份簽, (4)兩者皆要, 或 (5)放棄?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5538 ++#: ncrypt/crypt_gpgme.c:5618 + msgid "sapco" + msgstr "12345" + +-#: ncrypt/crypt_gpgme.c:5545 ++#: ncrypt/crypt_gpgme.c:5625 + #, fuzzy + msgid "PGP (s)ign, sign (a)s, s/(m)ime, (c)lear, or (o)ppenc mode off?" + msgstr "(1)加密, (2)簽名, (3)用別的身份簽, (4)兩者皆要, 或 (5)放棄?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/crypt_gpgme.c:5547 ++#: ncrypt/crypt_gpgme.c:5627 + msgid "samco" + msgstr "12345" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5557 ++#: ncrypt/crypt_gpgme.c:5637 + #, fuzzy + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp, (c)lear, or (o)ppenc mode?" + msgstr "(1)加密, (2)簽名, (3)用別的身份簽, (4)兩者皆要, 或 (5)放棄?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5560 ++#: ncrypt/crypt_gpgme.c:5640 + #, fuzzy + msgid "esabpco" + msgstr "12345" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5566 ++#: ncrypt/crypt_gpgme.c:5646 + #, fuzzy + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime, (c)lear, or (o)ppenc mode?" + msgstr "(1)加密, (2)簽名, (3)用別的身份簽, (4)兩者皆要, 或 (5)放棄?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/crypt_gpgme.c:5569 ++#: ncrypt/crypt_gpgme.c:5649 + #, fuzzy + msgid "esabmco" + msgstr "12345" + +-#: ncrypt/crypt_gpgme.c:5580 ++#: ncrypt/crypt_gpgme.c:5660 + #, fuzzy + msgid "S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp or (c)lear?" + msgstr "(1)加密, (2)簽名, (3)用別的身份簽, (4)兩者皆要, 或 (5)放棄?" + + #. L10N: S/MIME options +-#: ncrypt/crypt_gpgme.c:5582 ++#: ncrypt/crypt_gpgme.c:5662 + #, fuzzy + msgid "esabpc" + msgstr "12345" + +-#: ncrypt/crypt_gpgme.c:5589 ++#: ncrypt/crypt_gpgme.c:5669 + #, fuzzy + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime or (c)lear?" + msgstr "(1)加密, (2)簽名, (3)用別的身份簽, (4)兩者皆要, 或 (5)放棄?" + + #. L10N: PGP options +-#: ncrypt/crypt_gpgme.c:5591 ++#: ncrypt/crypt_gpgme.c:5671 + #, fuzzy + msgid "esabmc" + msgstr "12345" + +-#: ncrypt/crypt_gpgme.c:5751 ++#: ncrypt/crypt_gpgme.c:5831 + msgid "Failed to verify sender" + msgstr "" + +-#: ncrypt/crypt_gpgme.c:5754 ++#: ncrypt/crypt_gpgme.c:5834 + #, fuzzy + msgid "Failed to figure out sender" + msgstr "開啟檔案來分析檔頭失敗" + +-#: ncrypt/pgp.c:108 ++#: ncrypt/pgp.c:107 + msgid "Enter PGP passphrase:" + msgstr "請輸入 PGP 通行密碼:" + +-#: ncrypt/pgp.c:595 ++#: ncrypt/pgp.c:594 + msgid "[-- Error: unable to create PGP subprocess --]\n" + msgstr "[-- 錯誤:無法建立 PGP 子程序! --]\n" + +-#: ncrypt/pgp.c:644 ncrypt/pgp.c:926 ncrypt/pgp.c:1086 ++#: ncrypt/pgp.c:643 ncrypt/pgp.c:925 ncrypt/pgp.c:1085 + msgid "" + "[-- End of PGP output --]\n" + "\n" +@@ -4584,16 +4664,16 @@ msgstr "" + #. L10N: You will see this error message if (1) you are decrypting + #. (not encrypting) something and (2) it is a plaintext. So the + #. message does not mean "You failed to encrypt the message." +-#: ncrypt/pgp.c:724 ++#: ncrypt/pgp.c:723 + #, fuzzy + msgid "PGP message is not encrypted" + msgstr "PGP 簽名驗證成功" + +-#: ncrypt/pgp.c:978 ++#: ncrypt/pgp.c:977 + msgid "Internal error. Please submit a bug report." + msgstr "" + +-#: ncrypt/pgp.c:1043 ++#: ncrypt/pgp.c:1042 + msgid "" + "[-- Error: could not create a PGP subprocess --]\n" + "\n" +@@ -4601,134 +4681,134 @@ msgstr "" + "[-- 錯誤:無法建立 PGP 子程序! --]\n" + "\n" + +-#: ncrypt/pgp.c:1073 ncrypt/pgp.c:1098 ncrypt/smime.c:2143 postpone.c:757 +-#: postpone.c:785 ++#: ncrypt/pgp.c:1072 ncrypt/pgp.c:1097 ncrypt/smime.c:2177 postpone.c:803 ++#: postpone.c:831 + #, fuzzy + msgid "Decryption failed" + msgstr "登入失敗" + +-#: ncrypt/pgp.c:1333 ++#: ncrypt/pgp.c:1334 + msgid "Can't open PGP subprocess" + msgstr "無法開啟 PGP 子程序" + +-#: ncrypt/pgp.c:1768 ++#: ncrypt/pgp.c:1770 + msgid "Can't invoke PGP" + msgstr "不能執行 PGP" + + #. L10N: The next string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1875 ++#: ncrypt/pgp.c:1877 + msgid "PGP/M(i)ME" + msgstr "" + + #. L10N: The previous string MUST have the same highlighted letter + #. One of them will appear in each of the three strings marked "(inline"), below. +-#: ncrypt/pgp.c:1881 ++#: ncrypt/pgp.c:1883 + msgid "(i)nline" + msgstr "" + + #. L10N: PGP options (inline) (opportunistic encryption is on) +-#: ncrypt/pgp.c:1893 ++#: ncrypt/pgp.c:1895 + #, fuzzy, c-format + msgid "PGP (s)ign, sign (a)s, %s format, (c)lear, or (o)ppenc mode off?" + msgstr "(1)加密, (2)簽名, (3)用別的身份簽, (4)兩者皆要, 或 (5)放棄?" + + #. L10N: PGP options (inline) (opportunistic encryption is on) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1899 ++#: ncrypt/pgp.c:1901 + msgid "saico" + msgstr "12345" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1905 ++#: ncrypt/pgp.c:1907 + #, fuzzy + msgid "PGP (s)ign, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "(1)加密, (2)簽名, (3)用別的身份簽, (4)兩者皆要, 或 (5)放棄?" + + #. L10N: PGP options (opportunistic encryption is on) +-#: ncrypt/pgp.c:1907 ++#: ncrypt/pgp.c:1909 + msgid "saco" + msgstr "12345" + + #. L10N: PGP options (inline) (opportunistic encryption is off) +-#: ncrypt/pgp.c:1921 ++#: ncrypt/pgp.c:1923 + #, fuzzy, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, (c)lear, or (o)ppenc mode?" + msgstr "(1)加密, (2)簽名, (3)用別的身份簽, (4)兩者皆要, 或 (5)放棄?" + + #. L10N: PGP options (inline) (opportunistic encryption is off) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1927 ++#: ncrypt/pgp.c:1929 + #, fuzzy + msgid "esabico" + msgstr "12345" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1933 ++#: ncrypt/pgp.c:1935 + #, fuzzy + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "(1)加密, (2)簽名, (3)用別的身份簽, (4)兩者皆要, 或 (5)放棄?" + + #. L10N: PGP options (opportunistic encryption is off) +-#: ncrypt/pgp.c:1936 ++#: ncrypt/pgp.c:1938 + #, fuzzy + msgid "esabco" + msgstr "12345" + + #. L10N: PGP options (inline) +-#: ncrypt/pgp.c:1947 ++#: ncrypt/pgp.c:1949 + #, fuzzy, c-format + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, %s format, or (c)lear?" + msgstr "(1)加密, (2)簽名, (3)用別的身份簽, (4)兩者皆要, 或 (5)放棄?" + + #. L10N: PGP options (inline) + #. The 'i' is from the "PGP/M(i)ME" or "(i)nline", above. +-#: ncrypt/pgp.c:1953 ++#: ncrypt/pgp.c:1955 + #, fuzzy + msgid "esabic" + msgstr "12345" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1959 ++#: ncrypt/pgp.c:1961 + #, fuzzy + msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (c)lear?" + msgstr "(1)加密, (2)簽名, (3)用別的身份簽, (4)兩者皆要, 或 (5)放棄?" + + #. L10N: PGP options +-#: ncrypt/pgp.c:1961 ++#: ncrypt/pgp.c:1963 + #, fuzzy + msgid "esabc" + msgstr "12345" + +-#: ncrypt/pgpinvoke.c:458 ++#: ncrypt/pgpinvoke.c:461 + msgid "Fetching PGP key..." + msgstr "正在拿取 PGP 鑰匙 …" + +-#: ncrypt/pgpkey.c:640 ++#: ncrypt/pgpkey.c:643 + #, fuzzy + msgid "All matching keys are expired, revoked, or disabled" + msgstr "所有符合的鑰匙經已過期或取消" + +-#: ncrypt/pgpkey.c:681 ++#: ncrypt/pgpkey.c:714 + #, c-format + msgid "PGP keys matching <%s>" + msgstr "PGP 鑰匙符合 <%s>" + +-#: ncrypt/pgpkey.c:683 ++#: ncrypt/pgpkey.c:716 + #, c-format + msgid "PGP keys matching \"%s\"" + msgstr "PGP 鑰匙符合 \"%s\"" + +-#: ncrypt/pgpkey.c:700 ncrypt/pgpkey.c:909 ++#: ncrypt/pgpkey.c:733 ncrypt/pgpkey.c:944 + msgid "Can't open /dev/null" + msgstr "無法開啟 /dev/null" + +-#: ncrypt/pgpkey.c:938 ++#: ncrypt/pgpkey.c:973 + #, c-format + msgid "PGP Key %s" + msgstr "PGP 鑰匙 %s" + +-#: ncrypt/smime.c:182 ++#: ncrypt/smime.c:180 + #, fuzzy + msgid "Enter S/MIME passphrase:" + msgstr "請輸入 S/MIME 通行密碼:" +@@ -4738,7 +4818,7 @@ msgstr "請輸入 S/MIME 通行密碼:" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:460 ++#: ncrypt/smime.c:462 + #, fuzzy + msgid "Expired " + msgstr "離開 " +@@ -4748,7 +4828,7 @@ msgstr "離開 " + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:468 ++#: ncrypt/smime.c:470 + #, fuzzy + msgid "Invalid " + msgstr "無效的月份:%s" +@@ -4758,7 +4838,7 @@ msgstr "無效的月份:%s" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:476 ++#: ncrypt/smime.c:478 + msgid "Revoked " + msgstr "" + +@@ -4767,7 +4847,7 @@ msgstr "" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:484 ++#: ncrypt/smime.c:486 + msgid "Trusted " + msgstr "" + +@@ -4776,7 +4856,7 @@ msgstr "" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:492 ++#: ncrypt/smime.c:494 + msgid "Unverified" + msgstr "" + +@@ -4785,7 +4865,7 @@ msgstr "" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:500 ++#: ncrypt/smime.c:502 + msgid "Verified " + msgstr "" + +@@ -4794,66 +4874,66 @@ msgstr "" + #. has the same length as the other translations. + #. The translation strings which need to be padded are: + #. Expired, Invalid, Revoked, Trusted, Unverified, Verified, and Unknown. +-#: ncrypt/smime.c:508 ++#: ncrypt/smime.c:510 + #, fuzzy + msgid "Unknown " + msgstr "不清楚" + +-#: ncrypt/smime.c:545 ++#: ncrypt/smime.c:547 + #, fuzzy, c-format + msgid "S/MIME certificates matching \"%s\"" + msgstr "S/MIME 鑰匙符合 \"%s\"" + +-#: ncrypt/smime.c:589 ++#: ncrypt/smime.c:621 + #, fuzzy + msgid "ID is not trusted. Do you really want to use the key?" + msgstr "這個 ID 不可接受。 您真的要使用此密钥吗?" + +-#: ncrypt/smime.c:910 ++#: ncrypt/smime.c:944 + #, fuzzy + msgid "Enter keyID: " + msgstr "請輸入 %s 的鑰匙 ID:" + +-#: ncrypt/smime.c:1055 ++#: ncrypt/smime.c:1089 + #, c-format + msgid "No (valid) certificate found for %s" + msgstr "" + +-#: ncrypt/smime.c:1108 ncrypt/smime.c:1137 ncrypt/smime.c:1209 +-#: ncrypt/smime.c:1243 ncrypt/smime.c:1319 ncrypt/smime.c:1399 ++#: ncrypt/smime.c:1142 ncrypt/smime.c:1171 ncrypt/smime.c:1243 ++#: ncrypt/smime.c:1277 ncrypt/smime.c:1353 ncrypt/smime.c:1433 + #, fuzzy + msgid "Error: unable to create OpenSSL subprocess" + msgstr "[-- 錯誤:無法建立 OpenSSL 子程序! --]\n" + +-#: ncrypt/smime.c:1379 ++#: ncrypt/smime.c:1413 + #, fuzzy + msgid "Label for certificate: " + msgstr "無法從對方拿取驗証" + +-#: ncrypt/smime.c:1480 ++#: ncrypt/smime.c:1514 + #, fuzzy + msgid "no certfile" + msgstr "無法建立過濾器" + +-#: ncrypt/smime.c:1483 ++#: ncrypt/smime.c:1517 + #, fuzzy + msgid "no mbox" + msgstr "(沒有信箱)" + +-#: ncrypt/smime.c:1640 ncrypt/smime.c:1810 ++#: ncrypt/smime.c:1674 ncrypt/smime.c:1844 + msgid "No output from OpenSSL..." + msgstr "" + +-#: ncrypt/smime.c:1727 ++#: ncrypt/smime.c:1761 + msgid "Can't sign: No key specified. Use Sign As." + msgstr "" + +-#: ncrypt/smime.c:1777 ++#: ncrypt/smime.c:1811 + #, fuzzy + msgid "Can't open OpenSSL subprocess" + msgstr "無法開啟 OpenSSL 子程序" + +-#: ncrypt/smime.c:2004 ncrypt/smime.c:2123 ++#: ncrypt/smime.c:2038 ncrypt/smime.c:2157 + #, fuzzy + msgid "" + "[-- End of OpenSSL output --]\n" +@@ -4862,26 +4942,26 @@ msgstr "" + "[-- OpenSSL 輸出部份結束 --]\n" + "\n" + +-#: ncrypt/smime.c:2080 ncrypt/smime.c:2093 ++#: ncrypt/smime.c:2114 ncrypt/smime.c:2127 + #, fuzzy + msgid "[-- Error: unable to create OpenSSL subprocess --]\n" + msgstr "[-- 錯誤:無法建立 OpenSSL 子程序! --]\n" + +-#: ncrypt/smime.c:2129 ++#: ncrypt/smime.c:2163 + #, fuzzy + msgid "[-- The following data is S/MIME encrypted --]\n" + msgstr "" + "[-- 下面是 S/MIME 加密資料 --]\n" + "\n" + +-#: ncrypt/smime.c:2132 ++#: ncrypt/smime.c:2166 + #, fuzzy + msgid "[-- The following data is S/MIME signed --]\n" + msgstr "" + "[-- 以下的資料已被簽署 --]\n" + "\n" + +-#: ncrypt/smime.c:2225 ++#: ncrypt/smime.c:2259 + #, fuzzy + msgid "" + "\n" +@@ -4890,7 +4970,7 @@ msgstr "" + "\n" + "[-- S/MIME 加密資料結束 --]\n" + +-#: ncrypt/smime.c:2227 ++#: ncrypt/smime.c:2261 + #, fuzzy + msgid "" + "\n" +@@ -4900,169 +4980,169 @@ msgstr "" + "[-- 簽署的資料結束 --]\n" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2361 ++#: ncrypt/smime.c:2395 + #, fuzzy + msgid "S/MIME (s)ign, encrypt (w)ith, sign (a)s, (c)lear, or (o)ppenc mode off?" + msgstr "(1)加密, (2)簽名, (3)用別的身份簽, (4)兩者皆要, 或 (5)放棄?" + + #. L10N: S/MIME options (opportunistic encryption is on) +-#: ncrypt/smime.c:2364 ++#: ncrypt/smime.c:2398 + msgid "swaco" + msgstr "12345" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2372 ++#: ncrypt/smime.c:2406 + #, fuzzy + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, (c)lear, or (o)ppenc mode?" + msgstr "(1)加密, (2)簽名, (3)用別的身份簽, (4)兩者皆要, 或 (5)放棄?" + + #. L10N: S/MIME options (opportunistic encryption is off) +-#: ncrypt/smime.c:2375 ++#: ncrypt/smime.c:2409 + msgid "eswabco" + msgstr "12345" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2382 ++#: ncrypt/smime.c:2416 + #, fuzzy + msgid "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, or (c)lear?" + msgstr "(1)加密, (2)簽名, (3)用別的身份簽, (4)兩者皆要, 或 (5)放棄?" + + #. L10N: S/MIME options +-#: ncrypt/smime.c:2385 ++#: ncrypt/smime.c:2419 + msgid "eswabc" + msgstr "12345" + +-#: ncrypt/smime.c:2449 ++#: ncrypt/smime.c:2483 + msgid "Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear?" + msgstr "" + + #. L10N: Options for: Choose algorithm family: (1) DES, (2) RC2, (3) AES, or (c)lear? +-#: ncrypt/smime.c:2452 ++#: ncrypt/smime.c:2486 + msgid "123c" + msgstr "" + +-#: ncrypt/smime.c:2455 ++#: ncrypt/smime.c:2489 + msgid "(1) DES, (2) Triple-DES?" + msgstr "" + + #. L10N: Options for: (1) DES, (2) Triple-DES +-#: ncrypt/smime.c:2457 ++#: ncrypt/smime.c:2491 + msgid "12" + msgstr "" + +-#: ncrypt/smime.c:2470 ++#: ncrypt/smime.c:2504 + msgid "(1) RC2-40, (2) RC2-64, (3) RC2-128?" + msgstr "" + + #. L10N: Options for: (1) RC2-40, (2) RC2-64, (3) RC2-128 + #. L10N: Options for: (1) AES128, (2) AES192, (3) AES256 +-#: ncrypt/smime.c:2472 ncrypt/smime.c:2490 ++#: ncrypt/smime.c:2506 ncrypt/smime.c:2524 + msgid "123" + msgstr "" + +-#: ncrypt/smime.c:2488 ++#: ncrypt/smime.c:2522 + msgid "(1) AES128, (2) AES192, (3) AES256?" + msgstr "" + +-#: nntp/newsrc.c:632 ++#: nntp/newsrc.c:639 + msgid "Loading list of groups from cache..." + msgstr "" + +-#: nntp/newsrc.c:997 ++#: nntp/newsrc.c:1023 + #, fuzzy + msgid "No news server defined" + msgstr "沒有被定義的 POP 使用者名稱" + +-#: nntp/newsrc.c:1012 ++#: nntp/newsrc.c:1041 + #, c-format + msgid "%s is an invalid news server specification" + msgstr "" + +-#: nntp/nntp.c:236 nntp/nntp.c:777 pop/pop.c:742 pop/pop_lib.c:398 ++#: nntp/nntp.c:238 nntp/nntp.c:779 pop/pop.c:742 pop/pop_lib.c:424 + msgid "Server closed connection" + msgstr "與伺服器的聯結中斷了" + +-#: nntp/nntp.c:340 ++#: nntp/nntp.c:342 + msgid "Server doesn't support reader mode" + msgstr "" + +-#: nntp/nntp.c:576 pop/pop_auth.c:504 smtp.c:650 ++#: nntp/nntp.c:578 pop/pop_auth.c:505 smtp.c:675 + msgid "No authenticators available" + msgstr "沒有認證方式" + +-#: nntp/nntp.c:766 ++#: nntp/nntp.c:768 + #, fuzzy, c-format + msgid "%s authentication failed" + msgstr "SASL 驗證失敗" + +-#: nntp/nntp.c:826 ++#: nntp/nntp.c:828 + #, fuzzy, c-format + msgid "Connection to %s lost. Reconnect?" + msgstr "到 %s 的連線中斷了" + +-#: nntp/nntp.c:1285 ++#: nntp/nntp.c:1287 + #, fuzzy + msgid "Fetching list of articles..." + msgstr "正在拿取信件…" + +-#: nntp/nntp.c:1549 nntp/nntp.c:2138 pop/pop.c:614 pop/pop.c:910 ++#: nntp/nntp.c:1551 nntp/nntp.c:2140 pop/pop.c:614 pop/pop.c:905 + msgid "Checking for new messages..." + msgstr "看看有沒有新信件…" + +-#: nntp/nntp.c:1864 nntp/nntp.c:1954 ++#: nntp/nntp.c:1866 nntp/nntp.c:1956 + #, fuzzy + msgid "Could not switch to reader mode" + msgstr "無法寫入暫存檔:%s" + +-#: nntp/nntp.c:1877 ++#: nntp/nntp.c:1879 + #, fuzzy, c-format + msgid "Connected to %s. %s" + msgstr "正連接到 %s…" + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + #, fuzzy + msgid "Posting is ok" + msgstr "正連接到 %s…" + +-#: nntp/nntp.c:1878 ++#: nntp/nntp.c:1880 + msgid "Posting is NOT ok" + msgstr "" + +-#: nntp/nntp.c:2008 nntp/nntp.c:2043 ++#: nntp/nntp.c:2010 nntp/nntp.c:2045 + #, fuzzy, c-format + msgid "Can't post article: %s" + msgstr "無法讀取:%s" + +-#: nntp/nntp.c:2064 ++#: nntp/nntp.c:2066 + #, fuzzy, c-format + msgid "Loading list of groups from server %s..." + msgstr "正在刪除伺服器上的信件…" + +-#: nntp/nntp.c:2106 nntp/nntp.c:2198 ++#: nntp/nntp.c:2108 nntp/nntp.c:2200 + #, fuzzy + msgid "Loading descriptions..." + msgstr "登入中…" + +-#: nntp/nntp.c:2128 ++#: nntp/nntp.c:2130 + #, fuzzy + msgid "Checking for new newsgroups..." + msgstr "看看有沒有新信件…" + +-#: nntp/nntp.c:2332 ++#: nntp/nntp.c:2334 + msgid "Unable to find child articles because server does not support XPAT command" + msgstr "" + +-#: nntp/nntp.c:2437 ++#: nntp/nntp.c:2439 + #, c-format + msgid "%s is an invalid newsgroup specification" + msgstr "" + +-#: nntp/nntp.c:2476 ++#: nntp/nntp.c:2478 + #, c-format + msgid "Newsgroup %s not found on the server" + msgstr "" + +-#: nntp/nntp.c:2498 ++#: nntp/nntp.c:2500 + #, c-format + msgid "Newsgroup %s has been removed from the server" + msgstr "" +@@ -5074,7 +5154,7 @@ msgstr "" + + #: notmuch/mutt_notmuch.c:219 notmuch/mutt_notmuch.c:1939 + #, c-format +-msgid "failed to parse notmuch uri: %s" ++msgid "failed to parse notmuch url: %s" + msgstr "" + + #: notmuch/mutt_notmuch.c:449 +@@ -6234,189 +6314,189 @@ msgstr "" + msgid "show S/MIME options" + msgstr "顯示 S/MIME 選項" + +-#: pager.c:222 ++#: pager.c:214 + msgid "Not available in this menu" + msgstr "在這個菜單中沒有這個功能" + +-#: pager.c:229 ++#: pager.c:221 + msgid "PrevPg" + msgstr "上一頁" + +-#: pager.c:230 ++#: pager.c:222 + msgid "NextPg" + msgstr "下一頁" + +-#: pager.c:235 ++#: pager.c:227 + msgid "View Attachm." + msgstr "顯示附件。" + +-#: pager.c:238 pager.c:247 ++#: pager.c:230 pager.c:239 + msgid "Next" + msgstr "下一個" + + #. L10N: Status bar message: the entire email is visible in the pager + #. L10N: Status bar message: all the emails are visible in the index +-#: pager.c:2180 status.c:278 ++#: pager.c:2136 status.c:278 + msgid "all" + msgstr "" + + #. L10N: Status bar message: the end of the email is visible in the pager + #. L10N: Status bar message: the end of the list emails is visible in the index +-#: pager.c:2182 status.c:276 ++#: pager.c:2138 status.c:276 + msgid "end" + msgstr "" + +-#: pager.c:2530 pager.c:2566 pager.c:2602 pager.c:2937 ++#: pager.c:2503 pager.c:2539 pager.c:2576 pager.c:2911 + msgid "Bottom of message is shown" + msgstr "現正顯示最下面的信件" + +-#: pager.c:2543 pager.c:2573 pager.c:2580 pager.c:2590 ++#: pager.c:2516 pager.c:2546 pager.c:2553 pager.c:2564 + msgid "Top of message is shown" + msgstr "現正顯示最上面的信件" + +-#: pager.c:2840 ++#: pager.c:2814 + msgid "Help is currently being shown" + msgstr "現正顯示說明文件" + +-#: pager.c:2897 ++#: pager.c:2871 + msgid "No more quoted text" + msgstr "不能有再多的引言" + +-#: pager.c:2914 ++#: pager.c:2888 + msgid "No more unquoted text after quoted text" + msgstr "在引言後有過多的非引言文字" + +-#: pattern.c:220 pattern.c:297 pattern.c:1046 ++#: pattern.c:221 pattern.c:298 pattern.c:1085 + #, c-format + msgid "Error in expression: %s" + msgstr "表達式有錯誤:%s" + +-#: pattern.c:226 pattern.c:302 pattern.c:1052 ++#: pattern.c:227 pattern.c:303 pattern.c:1091 + #, fuzzy + msgid "Empty expression" + msgstr "表達式有錯誤" + +-#: pattern.c:288 ++#: pattern.c:289 + #, fuzzy + msgid "No search command defined" + msgstr "查詢指令尚未定義" + +-#: pattern.c:326 ++#: pattern.c:327 + #, fuzzy, c-format + msgid "Running search command: %s ..." + msgstr "執行自動顯示指令:%s" + +-#: pattern.c:417 ++#: pattern.c:441 pattern.c:456 + #, c-format + msgid "Invalid day of month: %s" + msgstr "無效的日子:%s" + +-#: pattern.c:431 ++#: pattern.c:446 pattern.c:470 + #, c-format + msgid "Invalid month: %s" + msgstr "無效的月份:%s" + +-#: pattern.c:534 ++#: pattern.c:573 + #, c-format + msgid "Invalid relative date: %s" + msgstr "無效的相對日期:%s" + +-#: pattern.c:842 pattern.c:975 ++#: pattern.c:881 pattern.c:1014 + #, fuzzy + msgid "No current message" + msgstr "沒有尚未讀取的信件" + +-#: pattern.c:1002 ++#: pattern.c:1041 + msgid "No Context" + msgstr "" + +-#: pattern.c:1125 ++#: pattern.c:1164 + #, fuzzy + msgid "Error opening 'memory stream'" + msgstr "開啟信箱時發生錯誤" + +-#: pattern.c:1171 ++#: pattern.c:1210 + #, fuzzy + msgid "Error re-opening 'memory stream'" + msgstr "開啟信箱時發生錯誤" + +-#: pattern.c:1180 ++#: pattern.c:1219 + #, fuzzy + msgid "Error opening /dev/null" + msgstr "無法開啟 /dev/null" + +-#: pattern.c:1443 pattern.c:1620 ++#: pattern.c:1482 pattern.c:1662 + #, c-format + msgid "error in pattern at: %s" + msgstr "在樣式上有錯誤:%s" + +-#: pattern.c:1476 ++#: pattern.c:1515 + #, fuzzy, c-format + msgid "missing pattern: %s" + msgstr "錯失參數" + +-#: pattern.c:1494 pattern.c:1593 ++#: pattern.c:1533 pattern.c:1635 + #, c-format + msgid "mismatched parentheses: %s" + msgstr "不對稱的括弧:%s" + +-#: pattern.c:1559 ++#: pattern.c:1598 + #, fuzzy, c-format + msgid "%c: invalid pattern modifier" + msgstr "%c:無效的指令" + +-#: pattern.c:1564 ++#: pattern.c:1603 + #, c-format + msgid "%c: not supported in this mode" + msgstr "%c:在這個模式不支援" + +-#: pattern.c:1576 ++#: pattern.c:1618 + msgid "missing parameter" + msgstr "錯失參數" + +-#: pattern.c:1626 ++#: pattern.c:1668 + msgid "empty pattern" + msgstr "空的格式" + +-#: pattern.c:2080 pattern.c:2083 ++#: pattern.c:2202 pattern.c:2205 + msgid "error: server custom search only supported with IMAP" + msgstr "" + +-#: pattern.c:2274 ++#: pattern.c:2398 + #, c-format + msgid "error: unknown op %d (report this error)" + msgstr "錯誤:不明的 op %d (請回報這個錯誤)" + +-#: pattern.c:2448 pattern.c:2604 ++#: pattern.c:2572 pattern.c:2728 + msgid "Compiling search pattern..." + msgstr "編譯搜尋樣式中…" + +-#: pattern.c:2468 ++#: pattern.c:2592 + msgid "Executing command on matching messages..." + msgstr "正在對符合的郵件執行命令…" + +-#: pattern.c:2537 ++#: pattern.c:2661 + msgid "No messages matched criteria" + msgstr "沒有郵件符合要求" + +-#: pattern.c:2641 ++#: pattern.c:2765 + #, fuzzy + msgid "Searching..." + msgstr "儲存中…" + +-#: pattern.c:2655 ++#: pattern.c:2779 + msgid "Search hit bottom without finding match" + msgstr "已搜尋至結尾,並沒有發現任何符合" + +-#: pattern.c:2666 ++#: pattern.c:2790 + msgid "Search hit top without finding match" + msgstr "已搜尋至開頭,並沒有發現任何符合" + +-#: pattern.c:2700 ++#: pattern.c:2824 + msgid "Search interrupted" + msgstr "搜尋已被中斷" + +-#: pop/pop.c:216 pop/pop_lib.c:234 ++#: pop/pop.c:216 pop/pop_lib.c:259 + msgid "Command TOP is not supported by server" + msgstr "伺服器不支援 TOP 指令" + +@@ -6424,7 +6504,7 @@ msgstr "伺服器不支援 TOP 指令" + msgid "Can't write header to temporary file" + msgstr "無法把標頭寫到暫存檔" + +-#: pop/pop.c:420 pop/pop_lib.c:236 ++#: pop/pop.c:420 pop/pop_lib.c:261 + msgid "Command UIDL is not supported by server" + msgstr "伺服器不支援 UIDL 指令" + +@@ -6438,7 +6518,7 @@ msgstr[0] "信件的索引不正確。請再重新開啟信箱" + msgid "POP host is not defined" + msgstr "POP 主機沒有被定義" + +-#: pop/pop.c:596 pop/pop.c:825 ++#: pop/pop.c:596 pop/pop.c:790 pop/pop.c:820 + #, c-format + msgid "%s is an invalid POP path" + msgstr "" +@@ -6469,156 +6549,156 @@ msgid "%s [%d of %d message read]" + msgid_plural "%s [%d of %d messages read]" + msgstr[0] "%s [已閱讀 %2d 封信件中的 %1d 封]" + +-#: pop/pop.c:876 ++#: pop/pop.c:871 + msgid "Fetching list of messages..." + msgstr "正在拿取信件…" + +-#: pop/pop.c:959 ++#: pop/pop.c:954 + #, fuzzy + msgid "Marking messages deleted..." + msgstr "標簽了的 %d 封信件刪去了…" + +-#: pop/pop.c:1150 ++#: pop/pop.c:1145 + msgid "Can't write message to temporary file" + msgstr "無法把信件寫到暫存檔" + +-#: pop/pop_auth.c:103 ++#: pop/pop_auth.c:104 + msgid "Authenticating (SASL)..." + msgstr "驗證中 (SASL)…" + +-#: pop/pop_auth.c:245 ++#: pop/pop_auth.c:246 + msgid "POP timestamp is invalid" + msgstr "" + +-#: pop/pop_auth.c:249 ++#: pop/pop_auth.c:250 + msgid "Authenticating (APOP)..." + msgstr "驗證中 (APOP)…" + +-#: pop/pop_auth.c:269 ++#: pop/pop_auth.c:270 + msgid "APOP authentication failed" + msgstr "APOP 驗證失敗" + +-#: pop/pop_auth.c:309 ++#: pop/pop_auth.c:310 + msgid "Command USER is not supported by server" + msgstr "伺服器不支援 USER 指令" + +-#: pop/pop_auth.c:386 ++#: pop/pop_auth.c:387 + #, fuzzy + msgid "Authentication failed" + msgstr "SASL 驗證失敗" + +-#: pop/pop_lib.c:78 ++#: pop/pop_lib.c:103 + #, fuzzy, c-format + msgid "Invalid POP URL: %s" + msgstr "無效的月份:%s" + +-#: pop/pop_lib.c:232 ++#: pop/pop_lib.c:257 + msgid "Unable to leave messages on server" + msgstr "無法把信件留在伺服器上" + +-#: pop/pop_lib.c:274 ++#: pop/pop_lib.c:300 + #, c-format + msgid "Error connecting to server: %s" + msgstr "連線到 %s 時失敗" + +-#: pop/pop_lib.c:414 ++#: pop/pop_lib.c:440 + msgid "Closing connection to POP server..." + msgstr "正在關閉與 POP 伺服器的連線…" + +-#: pop/pop_lib.c:605 ++#: pop/pop_lib.c:631 + msgid "Verifying message indexes..." + msgstr "正在檢查信件的指引 …" + +-#: pop/pop_lib.c:628 ++#: pop/pop_lib.c:654 + msgid "Connection lost. Reconnect to POP server?" + msgstr "連線中斷。再與 POP 伺服器連線嗎?" + +-#: postpone.c:229 ++#: postpone.c:260 + msgid "Postponed Messages" + msgstr "信件已經被延遲寄出" + +-#: postpone.c:314 postpone.c:326 ++#: postpone.c:348 postpone.c:372 + msgid "No postponed messages" + msgstr "沒有被延遲寄出的信件" + +-#: postpone.c:480 ++#: postpone.c:526 + #, fuzzy + msgid "Illegal S/MIME header" + msgstr "不合規定的 S/MIME 標頭" + +-#: postpone.c:510 postpone.c:551 postpone.c:560 ++#: postpone.c:556 postpone.c:597 postpone.c:606 + #, fuzzy + msgid "Illegal crypto header" + msgstr "不合規定的 PGP 標頭" + +-#: postpone.c:644 postpone.c:752 postpone.c:780 ++#: postpone.c:690 postpone.c:798 postpone.c:826 + #, fuzzy + msgid "Decrypting message..." + msgstr "拿取信件中…" + +-#: query.c:82 ++#: query.c:80 + msgid "New Query" + msgstr "新的查詢" + +-#: query.c:83 ++#: query.c:81 + msgid "Make Alias" + msgstr "製作別名" + +-#: query.c:180 ++#: query.c:178 + msgid "Waiting for response..." + msgstr "等待回應中…" + +-#: query.c:362 query.c:400 ++#: query.c:365 query.c:434 + msgid "Query: " + msgstr "查詢:" + +-#: query.c:370 query.c:407 ++#: query.c:374 query.c:442 + #, c-format + msgid "Query '%s'" + msgstr "查詢 '%s'" + +-#: query.c:620 query.c:657 ++#: query.c:661 query.c:698 + msgid "Query command not defined" + msgstr "查詢指令尚未定義" + +-#: recvattach.c:93 ++#: recvattach.c:91 + msgid "Pipe" + msgstr "管線" + +-#: recvattach.c:94 ++#: recvattach.c:92 + msgid "Print" + msgstr "顯示" + +-#: recvattach.c:569 ++#: recvattach.c:571 + msgid "Saving..." + msgstr "儲存中…" + +-#: recvattach.c:573 recvattach.c:744 recvattach.c:748 ++#: recvattach.c:575 recvattach.c:746 recvattach.c:750 + #, fuzzy, c-format + msgid "Attachment saved" + msgid_plural "%d attachments saved" + msgstr[0] "附件已被儲存" + +-#: recvattach.c:772 ++#: recvattach.c:774 + #, c-format + msgid "WARNING! You are about to overwrite %s, continue?" + msgstr "警告! 您正在覆蓋 %s, 是否要繼續?" + +-#: recvattach.c:790 ++#: recvattach.c:792 + msgid "Attachment filtered" + msgstr "附件被過濾掉" + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Filter through: " + msgstr "經過過濾:" + +-#: recvattach.c:886 ++#: recvattach.c:888 + msgid "Pipe to: " + msgstr "導引至:" + + #. L10N: s gets replaced by a MIME type, e.g. "text/plain" or + #. application/octet-stream. +-#: recvattach.c:935 ++#: recvattach.c:937 + #, fuzzy, c-format + msgid "I don't know how to print %s attachments" + msgstr "我不知道要怎麼列印 %s 附件" +@@ -6626,58 +6706,58 @@ msgstr "我不知道要怎麼列印 %s 附件" + #. L10N: Although we now the precise number of tagged messages, we + #. do not show it to the user. So feel free to use a "generic + #. plural" as plural translation if your language has one. +-#: recvattach.c:1038 ++#: recvattach.c:1040 + #, fuzzy, c-format + msgid "Print tagged attachment?" + msgid_plural "Print %d tagged attachments?" + msgstr[0] "是否要列印標記起來的附件?" + +-#: recvattach.c:1039 ++#: recvattach.c:1041 + #, c-format + msgid "Print attachment?" + msgstr "是否要列印附件?" + +-#: recvattach.c:1123 ++#: recvattach.c:1125 + msgid "Structural changes to decrypted attachments are not supported" + msgstr "" + +-#: recvattach.c:1291 ++#: recvattach.c:1293 + #, fuzzy + msgid "Can't decrypt encrypted message" + msgstr "找不到已標記的訊息" + +-#: recvattach.c:1425 ++#: recvattach.c:1457 + msgid "Attachments" + msgstr "附件" + +-#: recvattach.c:1465 ++#: recvattach.c:1497 + msgid "There are no subparts to show" + msgstr "沒有部件" + +-#: recvattach.c:1520 ++#: recvattach.c:1552 + msgid "Can't delete attachment from POP server" + msgstr "無法從 POP 伺服器刪除附件" + +-#: recvattach.c:1529 ++#: recvattach.c:1561 + #, fuzzy + msgid "Can't delete attachment from news server" + msgstr "無法從 POP 伺服器刪除附件" + +-#: recvattach.c:1536 ++#: recvattach.c:1568 + #, fuzzy + msgid "Deletion of attachments from encrypted messages is unsupported" + msgstr "未支援刪除 PGP 信件所附帶的附件" + +-#: recvattach.c:1542 ++#: recvattach.c:1574 + #, fuzzy + msgid "Deletion of attachments from signed messages may invalidate the signature" + msgstr "未支援刪除 PGP 信件所附帶的附件" + +-#: recvattach.c:1561 recvattach.c:1578 ++#: recvattach.c:1593 recvattach.c:1610 + msgid "Only deletion of multipart attachments is supported" + msgstr "只支援刪除多重附件" + +-#: recvcmd.c:79 ++#: recvcmd.c:78 + msgid "You may only bounce message/rfc822 parts" + msgstr "您只能直接傳送 message/rfc822 的部分" + +@@ -6713,7 +6793,7 @@ msgstr "無法建立 %s" + msgid "Can't find any tagged messages" + msgstr "找不到已標記的訊息" + +-#: recvcmd.c:848 send.c:1073 ++#: recvcmd.c:848 send.c:1072 + msgid "No mailing lists found" + msgstr "沒有找到郵寄論壇" + +@@ -6728,67 +6808,67 @@ msgstr "未能把所有已標簽的附件解碼。要用 MIME 包封其它的嗎 + msgid "You may only compose to sender with message/rfc822 parts" + msgstr "您只能直接傳送 message/rfc822 的部分" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Append" + msgstr "加上" + +-#: remailer.c:76 ++#: remailer.c:74 + msgid "Insert" + msgstr "加入" + +-#: remailer.c:78 ++#: remailer.c:76 + msgid "OK" + msgstr "OK" + +-#: remailer.c:210 ++#: remailer.c:207 + msgid "" + msgstr "" + +-#: remailer.c:586 ++#: remailer.c:617 + msgid "Can't get mixmaster's type2.list" + msgstr "拿不到 mixmaster 的 type2.list" + +-#: remailer.c:612 ++#: remailer.c:673 + msgid "Select a remailer chain" + msgstr "選擇一個郵件轉接器的鏈結" + +-#: remailer.c:674 ++#: remailer.c:735 + #, c-format + msgid "Error: %s can't be used as the final remailer of a chain" + msgstr "錯誤:%s 不能用作鏈結的最後一個郵件轉接器" + + #. L10N The '%d' here hard-coded to 19 +-#: remailer.c:706 ++#: remailer.c:767 + #, c-format + msgid "Mixmaster chains are limited to %d elements" + msgstr "Mixmaster 鏈結最多為 %d 個元件" + +-#: remailer.c:729 ++#: remailer.c:790 + msgid "The remailer chain is already empty" + msgstr "郵件轉接器的鏈結已沒有東西了" + +-#: remailer.c:739 ++#: remailer.c:800 + msgid "You already have the first chain element selected" + msgstr "你已經選擇了鏈結的第一個元件" + +-#: remailer.c:749 ++#: remailer.c:810 + msgid "You already have the last chain element selected" + msgstr "你已經選擇了鏈結的最後一個元件" + +-#: remailer.c:792 ++#: remailer.c:856 + msgid "Mixmaster doesn't accept Cc or Bcc headers" + msgstr "Mixmaster 不接受 Cc 和 Bcc 的標頭" + +-#: remailer.c:817 ++#: remailer.c:881 + msgid "Please set the hostname variable to a proper value when using mixmaster" + msgstr "使用 mixmaster 時請先設定好 hostname 變數" + +-#: remailer.c:860 ++#: remailer.c:924 + #, c-format + msgid "Error sending message, child exited %d.\n" + msgstr "寄送訊息時出現錯誤,子程序結束 %d。\n" + +-#: remailer.c:864 ++#: remailer.c:928 + msgid "Error sending message" + msgstr "寄信途中發生錯誤" + +@@ -6819,42 +6899,42 @@ msgstr "利用附件形式來轉寄?" + + #. L10N: Asks whether the user respects the reply-to header. + #. If she says no, neomutt will reply to the from header's address instead. +-#: send.c:793 ++#: send.c:792 + #, c-format + msgid "Reply to %s%s?" + msgstr "要回覆給 %s%s?" + +-#: send.c:838 ++#: send.c:837 + #, c-format + msgid "Follow-up to %s%s?" + msgstr "以後的回覆都寄至 %s%s?" + +-#: send.c:1122 ++#: send.c:1121 + msgid "Include message in reply?" + msgstr "回信時是否要包含原本的信件內容?" + +-#: send.c:1128 ++#: send.c:1127 + msgid "Including quoted message..." + msgstr "正引入引言部分…" + +-#: send.c:1137 ++#: send.c:1136 + msgid "Could not include all requested messages" + msgstr "無法包含所有要求的信件" + +-#: send.c:1148 ++#: send.c:1147 + msgid "Forward as attachment?" + msgstr "利用附件形式來轉寄?" + +-#: send.c:1153 ++#: send.c:1152 + msgid "Preparing forwarded message..." + msgstr "準備轉寄信件…" + +-#: send.c:1632 ++#: send.c:1631 + #, fuzzy + msgid "Fcc to an IMAP mailbox is not supported in batch mode" + msgstr "%c:在這個模式不支援" + +-#: send.c:1664 send.c:1690 ++#: send.c:1665 send.c:1675 send.c:1701 + #, fuzzy + msgid "Save attachments in Fcc?" + msgstr "用文字方式顯示附件內容" +@@ -6863,197 +6943,197 @@ msgstr "用文字方式顯示附件內容" + #. (r)etry tries the same mailbox again. + #. alternate (m)ailbox prompts for a different mailbox to try. + #. (s)kip aborts saving. +-#: send.c:1712 ++#: send.c:1723 + msgid "Fcc failed. (r)etry, alternate (m)ailbox, or (s)kip?" + msgstr "" + + #. L10N: These correspond to the "Fcc failed" multi-choice prompt + #. (r)etry, alternate (m)ailbox, or (s)kip. + #. Any similarity to famous leaders of the FSF is coincidental. +-#: send.c:1716 ++#: send.c:1727 + msgid "rms" + msgstr "" + + #. L10N: This is the prompt to enter an "alternate (m)ailbox" when the + #. initial Fcc fails. +-#: send.c:1722 ++#: send.c:1733 + #, fuzzy + msgid "Fcc mailbox" + msgstr "沒有信箱。\n" + +-#: send.c:1788 ++#: send.c:1799 + msgid "Can't postpone. $postponed is unset" + msgstr "" + +-#: send.c:1923 ++#: send.c:1934 + msgid "Recall postponed message?" + msgstr "要叫出被延遲的信件?" + +-#: send.c:2228 ++#: send.c:2239 + #, fuzzy + msgid "Edit forwarded message?" + msgstr "準備轉寄信件…" + +-#: send.c:2266 ++#: send.c:2277 + msgid "Abort unmodified message?" + msgstr "是否要中斷未修改過的信件?" + +-#: send.c:2268 ++#: send.c:2279 + msgid "Aborted unmodified message" + msgstr "中斷沒有修改過的信件" + +-#: send.c:2388 ++#: send.c:2399 + msgid "No crypto backend configured. Disabling message security setting." + msgstr "" + +-#: send.c:2427 ++#: send.c:2438 + #, fuzzy + msgid "Article not posted" + msgstr "信件沒有寄出" + +-#: send.c:2437 ++#: send.c:2448 + msgid "Message postponed" + msgstr "信件被延遲寄出" + +-#: send.c:2470 ++#: send.c:2481 + msgid "No subject, abort sending?" + msgstr "沒有信件標題,要中斷寄信的工作?" + +-#: send.c:2474 send.c:2480 ++#: send.c:2485 send.c:2491 + msgid "No subject specified" + msgstr "沒有指定標題" + +-#: send.c:2486 ++#: send.c:2497 + #, fuzzy + msgid "No newsgroup specified" + msgstr "沒有指定標題" + +-#: send.c:2496 ++#: send.c:2507 + #, fuzzy + msgid "No attachments, cancel sending?" + msgstr "編輯附件的傳輸編碼" + +-#: send.c:2501 ++#: send.c:2512 + msgid "Message contains text matching \"$abort_noattach_regex\". Not sending." + msgstr "" + +-#: send.c:2559 smtp.c:227 ++#: send.c:2570 smtp.c:230 + msgid "Sending message..." + msgstr "正在寄出信件…" + +-#: send.c:2598 ++#: send.c:2609 + msgid "Could not send the message" + msgstr "無法寄出信件" + +-#: send.c:2608 ++#: send.c:2619 + msgid "Sending in background" + msgstr "正在背景作業中傳送" + +-#: send.c:2609 ++#: send.c:2620 + msgid "Article posted" + msgstr "" + +-#: send.c:2610 ++#: send.c:2621 + msgid "Mail sent" + msgstr "信件已經寄出" + +-#: sendlib.c:567 ++#: sendlib.c:566 + msgid "No boundary parameter found [report this error]" + msgstr "沒有發現分界變數![回報錯誤]" + +-#: sendlib.c:598 ++#: sendlib.c:597 + #, c-format + msgid "%s no longer exists" + msgstr "%s 已經不存在" + +-#: sendlib.c:1056 ++#: sendlib.c:1055 + #, fuzzy, c-format + msgid "%s isn't a regular file" + msgstr "%s 不是信箱" + +-#: sendlib.c:1223 ++#: sendlib.c:1222 + #, fuzzy + msgid "Could not find any mime.types file." + msgstr "無法寄出信件" + +-#: sendlib.c:1314 ++#: sendlib.c:1313 + #, c-format + msgid "Could not open %s" + msgstr "無法開啟 %s" + +-#: sendlib.c:2864 ++#: sendlib.c:2855 + msgid "$sendmail must be set in order to send mail" + msgstr "" + +-#: sendlib.c:2971 ++#: sendlib.c:2962 + #, c-format + msgid "Error sending message, child exited %d (%s)" + msgstr "寄送訊息出現錯誤,子程序已結束 %d (%s)" + +-#: sendlib.c:2977 ++#: sendlib.c:2969 + msgid "Output of the delivery process" + msgstr "Delivery process 的輸出" + +-#: sendlib.c:3157 ++#: sendlib.c:3154 + #, c-format + msgid "Bad IDN %s while preparing resent-from" + msgstr "" + +-#: smtp.c:165 ++#: smtp.c:168 + #, fuzzy, c-format + msgid "SMTP session failed: %s" + msgstr "登入失敗: %s" + +-#: smtp.c:222 ++#: smtp.c:225 + #, fuzzy, c-format + msgid "SMTP session failed: unable to open %s" + msgstr "登入失敗: %s" + +-#: smtp.c:339 ++#: smtp.c:364 + #, fuzzy, c-format + msgid "Invalid SMTP URL: %s" + msgstr "無效的月份:%s" + +-#: smtp.c:618 ++#: smtp.c:643 + #, c-format + msgid "SMTP authentication method %s requires SASL" + msgstr "" + +-#: smtp.c:625 ++#: smtp.c:650 + #, fuzzy, c-format + msgid "%s authentication failed, trying next method" + msgstr "SASL 驗證失敗" + +-#: smtp.c:636 ++#: smtp.c:661 + #, fuzzy + msgid "SMTP authentication requires SASL" + msgstr "GSSAPI 驗證失敗" + +-#: smtp.c:717 ++#: smtp.c:742 + msgid "SMTP server does not support authentication" + msgstr "" + +-#: smtp.c:756 ++#: smtp.c:781 + msgid "No from address given" + msgstr "" + +-#: smtp.c:821 ++#: smtp.c:846 + msgid "SMTP session failed: read error" + msgstr "" + +-#: smtp.c:823 ++#: smtp.c:848 + msgid "SMTP session failed: write error" + msgstr "" + +-#: smtp.c:825 ++#: smtp.c:850 + msgid "Invalid server response" + msgstr "" + +-#: sort.c:385 ++#: sort.c:387 + msgid "Sorting mailbox..." + msgstr "信箱排序中…" + +-#: sort.c:427 ++#: sort.c:429 + msgid "Could not find sorting function [report this bug]" + msgstr "找不到排序的功能![請回報這個問題]" + +@@ -7105,11 +7185,11 @@ msgstr "" + "NeoMutt 是一個自由軟體, 歡迎您在某些特定的條件上,重新將它分發。\n" + "若需要更詳細的資料, 請鍵入 'neomutt -vv'\n" + +-#: version.c:446 ++#: version.c:451 + #, fuzzy + msgid "Default options:" + msgstr "編譯選項:" + +-#: version.c:449 ++#: version.c:454 + msgid "Compile options:" + msgstr "編譯選項:" +diff --git a/pop/pop.h b/pop/lib.h +similarity index 89% +rename from pop/pop.h +rename to pop/lib.h +index 1453fbbf5..7af36dd6f 100644 +--- a/pop/pop.h ++++ b/pop/lib.h +@@ -20,13 +20,14 @@ + * this program. If not, see . + */ + +-#ifndef MUTT_POP_POP_H +-#define MUTT_POP_POP_H ++#ifndef MUTT_POP_LIB_H ++#define MUTT_POP_LIB_H + + #include + #include "core/lib.h" + #include "mx.h" + ++struct Slist; + struct stat; + + /** +@@ -46,6 +47,9 @@ extern short C_PopCheckinterval; + extern unsigned char C_PopDelete; + extern char * C_PopHost; + extern bool C_PopLast; ++extern char * C_PopOauthRefreshCommand; ++extern char * C_PopPass; ++extern char * C_PopUser; + + /* These Config Variables are only used in pop/pop_auth.c */ + extern struct Slist *C_PopAuthenticators; +@@ -59,4 +63,4 @@ extern struct MxOps MxPopOps; + void pop_fetch_mail(void); + enum MailboxType pop_path_probe(const char *path, const struct stat *st); + +-#endif /* MUTT_POP_POP_H */ ++#endif /* MUTT_POP_LIB_H */ +diff --git a/pop/pop.c b/pop/pop.c +index 58eb20cc1..614a197f7 100644 +--- a/pop/pop.c ++++ b/pop/pop.c +@@ -37,33 +37,34 @@ + #include + #include + #include "pop_private.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "config/lib.h" + #include "email/lib.h" + #include "core/lib.h" +-#include "conn/conn.h" +-#include "mutt.h" +-#include "pop.h" ++#include "conn/lib.h" ++#include "lib.h" + #include "bcache.h" + #include "context.h" + #include "globals.h" + #include "hook.h" ++#include "init.h" + #include "mutt_account.h" + #include "mutt_header.h" + #include "mutt_logging.h" + #include "mutt_socket.h" + #include "muttlib.h" + #include "mx.h" +-#include "ncrypt/ncrypt.h" + #include "progress.h" ++#include "ncrypt/lib.h" + #ifdef ENABLE_NLS + #include + #endif + #ifdef USE_HCACHE +-#include "hcache/hcache.h" ++#include "hcache/lib.h" + #endif + + struct BodyCache; ++struct stat; + + /* These Config Variables are only used in pop/pop.c */ + short C_PopCheckinterval; ///< Config: (pop) Interval between checks for new mail +@@ -358,7 +359,7 @@ static header_cache_t *pop_hcache_open(struct PopAccountData *adata, const char + if (!adata || !adata->conn) + return mutt_hcache_open(C_HeaderCache, path, NULL); + +- struct Url url; ++ struct Url url = { 0 }; + char p[1024]; + + mutt_account_tourl(&adata->conn->account, &url); +@@ -578,7 +579,7 @@ void pop_fetch_mail(void) + char buf[1024]; + char msgbuf[128]; + int last = 0, msgs, bytes, rset = 0, ret; +- struct ConnAccount acct; ++ struct ConnAccount cac = { { 0 } }; + + char *p = mutt_mem_calloc(strlen(C_PopHost) + 7, sizeof(char)); + char *url = p; +@@ -589,7 +590,7 @@ void pop_fetch_mail(void) + } + strcpy(p, C_PopHost); + +- ret = pop_parse_path(url, &acct); ++ ret = pop_parse_path(url, &cac); + FREE(&url); + if (ret) + { +@@ -597,7 +598,7 @@ void pop_fetch_mail(void) + return; + } + +- struct Connection *conn = mutt_conn_find(NULL, &acct); ++ struct Connection *conn = mutt_conn_find(&cac); + if (!conn) + return; + +@@ -757,10 +758,10 @@ static struct Account *pop_ac_find(struct Account *a, const char *path) + return NULL; + + struct PopAccountData *adata = a->adata; +- struct ConnAccount *ac = &adata->conn_account; ++ struct ConnAccount *cac = &adata->conn->account; + +- if ((mutt_str_strcasecmp(url->host, ac->host) != 0) || +- (mutt_str_strcasecmp(url->user, ac->user) != 0)) ++ if ((mutt_str_strcasecmp(url->host, cac->host) != 0) || ++ (mutt_str_strcasecmp(url->user, cac->user) != 0)) + { + a = NULL; + } +@@ -780,28 +781,23 @@ static int pop_ac_add(struct Account *a, struct Mailbox *m) + if (a->adata) + return 0; + ++ struct ConnAccount cac = { { 0 } }; + struct PopAccountData *adata = pop_adata_new(); + a->adata = adata; + a->free_adata = pop_adata_free; + +- struct Url *url = url_parse(mailbox_path(m)); +- if (!url) +- return 0; ++ if (pop_parse_path(mailbox_path(m), &cac)) ++ { ++ mutt_error(_("%s is an invalid POP path"), mailbox_path(m)); ++ return -1; ++ } + +- mutt_str_strfcpy(adata->conn_account.user, url->user, +- sizeof(adata->conn_account.user)); +- mutt_str_strfcpy(adata->conn_account.pass, url->pass, +- sizeof(adata->conn_account.pass)); +- mutt_str_strfcpy(adata->conn_account.host, url->host, +- sizeof(adata->conn_account.host)); +- adata->conn_account.port = url->port; +- adata->conn_account.type = MUTT_ACCT_TYPE_POP; +- +- if (adata->conn_account.user[0] != '\0') +- adata->conn_account.flags |= MUTT_ACCT_USER; +- if (adata->conn_account.pass[0] != '\0') +- adata->conn_account.flags |= MUTT_ACCT_PASS; +- url_free(&url); ++ adata->conn = mutt_conn_new(&cac); ++ if (!adata->conn) ++ { ++ pop_adata_free((void **) &adata); ++ return -1; ++ } + + return 0; + } +@@ -817,16 +813,16 @@ static int pop_mbox_open(struct Mailbox *m) + return -1; + + char buf[PATH_MAX]; +- struct ConnAccount acct = { { 0 } }; +- struct Url url; ++ struct ConnAccount cac = { { 0 } }; ++ struct Url url = { 0 }; + +- if (pop_parse_path(mailbox_path(m), &acct)) ++ if (pop_parse_path(mailbox_path(m), &cac)) + { + mutt_error(_("%s is an invalid POP path"), mailbox_path(m)); + return -1; + } + +- mutt_account_tourl(&acct, &url); ++ mutt_account_tourl(&cac, &url); + url.path = NULL; + url_tostring(&url, buf, sizeof(buf), 0); + +@@ -844,7 +840,7 @@ static int pop_mbox_open(struct Mailbox *m) + struct Connection *conn = adata->conn; + if (!conn) + { +- adata->conn = mutt_conn_new(&acct); ++ adata->conn = mutt_conn_new(&cac); + conn = adata->conn; + if (!conn) + return -1; +@@ -856,7 +852,7 @@ static int pop_mbox_open(struct Mailbox *m) + if (pop_open_connection(adata) < 0) + return -1; + +- adata->bcache = mutt_bcache_open(&acct, NULL); ++ adata->bcache = mutt_bcache_open(&cac, NULL); + + /* init (hard-coded) ACL rights */ + m->rights = MUTT_ACL_SEEN | MUTT_ACL_DELETE; +@@ -913,7 +909,7 @@ static int pop_mbox_check(struct Mailbox *m, int *index_hint) + int rc = pop_fetch_headers(m); + pop_clear_cache(adata); + if (m->msg_count > old_msg_count) +- mailbox_changed(m, MBN_INVALID); ++ mailbox_changed(m, NT_MAILBOX_INVALID); + + if (rc < 0) + return -1; +@@ -1284,11 +1280,13 @@ static int pop_path_parent(char *buf, size_t buflen) + struct MxOps MxPopOps = { + .magic = MUTT_POP, + .name = "pop", ++ .is_local = false, + .ac_find = pop_ac_find, + .ac_add = pop_ac_add, + .mbox_open = pop_mbox_open, + .mbox_open_append = NULL, + .mbox_check = pop_mbox_check, ++ .mbox_check_stats = NULL, + .mbox_sync = pop_mbox_sync, + .mbox_close = pop_mbox_close, + .msg_open = pop_msg_open, +diff --git a/pop/pop_auth.c b/pop/pop_auth.c +index de3837f67..206d82ec6 100644 +--- a/pop/pop_auth.c ++++ b/pop/pop_auth.c +@@ -32,10 +32,10 @@ + #include + #include + #include "pop_private.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" +-#include "conn/conn.h" +-#include "mutt_account.h" ++#include "conn/lib.h" ++#include "lib.h" + #include "mutt_logging.h" + #include "mutt_socket.h" + #ifdef USE_SASL +@@ -407,12 +407,12 @@ static const struct PopAuth pop_authenticators[] = { + */ + int pop_authenticate(struct PopAccountData *adata) + { +- struct ConnAccount *acct = &adata->conn->account; ++ struct ConnAccount *cac = &adata->conn->account; + const struct PopAuth *authenticator = NULL; + int attempts = 0; + int ret = POP_A_UNAVAIL; + +- if ((mutt_account_getuser(acct) < 0) || (acct->user[0] == '\0')) ++ if ((mutt_account_getuser(cac) < 0) || (cac->user[0] == '\0')) + { + return -3; + } +diff --git a/pop/pop_lib.c b/pop/pop_lib.c +index 00237c9f5..2f922de43 100644 +--- a/pop/pop_lib.c ++++ b/pop/pop_lib.c +@@ -36,12 +36,12 @@ + #include + #include + #include "pop_private.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "config/lib.h" + #include "email/lib.h" + #include "core/lib.h" +-#include "conn/conn.h" +-#include "mutt.h" ++#include "conn/lib.h" ++#include "init.h" + #include "mutt_account.h" + #include "mutt_logging.h" + #include "mutt_socket.h" +@@ -51,28 +51,53 @@ + #endif + + /* These Config Variables are only used in pop/pop_lib.c */ ++char *C_PopOauthRefreshCommand; ///< Config: (pop) External command to generate OAUTH refresh token ++char *C_PopPass; ///< Config: (pop) Password of the POP server + unsigned char C_PopReconnect; ///< Config: (pop) Reconnect to the server is the connection is lost ++char *C_PopUser; ///< Config: (pop) Username of the POP server ++ ++/** ++ * pop_get_field - Get connection login credentials - Implements ConnAccount::get_field() ++ */ ++const char *pop_get_field(enum ConnAccountField field) ++{ ++ switch (field) ++ { ++ case MUTT_CA_LOGIN: ++ case MUTT_CA_USER: ++ return C_PopUser; ++ case MUTT_CA_PASS: ++ return C_PopPass; ++ case MUTT_CA_OAUTH_CMD: ++ return C_PopOauthRefreshCommand; ++ case MUTT_CA_HOST: ++ default: ++ return NULL; ++ } ++} + + /** + * pop_parse_path - Parse a POP mailbox name + * @param path Path to parse +- * @param acct Account to store details ++ * @param cac Account to store details + * @retval 0 success + * @retval -1 error + * + * Split a POP path into host, port, username and password + */ +-int pop_parse_path(const char *path, struct ConnAccount *acct) ++int pop_parse_path(const char *path, struct ConnAccount *cac) + { + /* Defaults */ +- acct->flags = 0; +- acct->type = MUTT_ACCT_TYPE_POP; +- acct->port = 0; ++ cac->flags = 0; ++ cac->type = MUTT_ACCT_TYPE_POP; ++ cac->port = 0; ++ cac->service = "pop"; ++ cac->get_field = pop_get_field; + + struct Url *url = url_parse(path); + + if (!url || ((url->scheme != U_POP) && (url->scheme != U_POPS)) || +- !url->host || (mutt_account_fromurl(acct, url) < 0)) ++ !url->host || (mutt_account_fromurl(cac, url) < 0)) + { + url_free(&url); + mutt_error(_("Invalid POP URL: %s"), path); +@@ -80,16 +105,16 @@ int pop_parse_path(const char *path, struct ConnAccount *acct) + } + + if (url->scheme == U_POPS) +- acct->flags |= MUTT_ACCT_SSL; ++ cac->flags |= MUTT_ACCT_SSL; + + struct servent *service = + getservbyname((url->scheme == U_POP) ? "pop3" : "pop3s", "tcp"); +- if (acct->port == 0) ++ if (cac->port == 0) + { + if (service) +- acct->port = ntohs(service->s_port); ++ cac->port = ntohs(service->s_port); + else +- acct->port = (url->scheme == U_POP) ? POP_PORT : POP_SSL_PORT; ++ cac->port = (url->scheme == U_POP) ? POP_PORT : POP_SSL_PORT; + } + + url_free(&url); +@@ -247,6 +272,7 @@ static int pop_capabilities(struct PopAccountData *adata, int mode) + + /** + * pop_edata_get - Get the private data for this Email ++ * @param e Email + * @retval ptr Private Email data + */ + struct PopEmailData *pop_edata_get(struct Email *e) +diff --git a/pop/pop_private.h b/pop/pop_private.h +index 77cf0edbe..2ba41879a 100644 +--- a/pop/pop_private.h ++++ b/pop/pop_private.h +@@ -26,8 +26,8 @@ + + #include + #include +-#include "conn/conn.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" ++#include "conn/lib.h" + + struct Email; + struct Mailbox; +@@ -78,7 +78,6 @@ struct PopCache + struct PopAccountData + { + struct Connection *conn; +- struct ConnAccount conn_account; + unsigned int status : 2; + bool capabilities : 1; + unsigned int use_stls : 2; +@@ -114,11 +113,16 @@ struct PopEmailData + */ + struct PopAuth + { +- /* do authentication, using named method or any available if method is NULL */ +- enum PopAuthRes (*authenticate)(struct PopAccountData *, const char *); +- /* name of authentication method supported, NULL means variable. If this +- * is not null, authenticate may ignore the second parameter. */ +- const char *method; ++ /** ++ * authenticate - Authenticate a POP connection ++ * @param adata Pop Account data ++ * @param method Use this named method, or any available method if NULL ++ * @retval #ImapAuthRes Result, e.g. #IMAP_AUTH_SUCCESS ++ */ ++ enum PopAuthRes (*authenticate)(struct PopAccountData *adata, const char *method); ++ ++ const char *method; ///< Name of authentication method supported, NULL means variable. ++ ///< If this is not null, authenticate may ignore the second parameter. + }; + + /* pop_auth.c */ +@@ -146,5 +150,6 @@ int pop_reconnect(struct Mailbox *m); + void pop_logout(struct Mailbox *m); + struct PopAccountData *pop_adata_get(struct Mailbox *m); + struct PopEmailData *pop_edata_get(struct Email *e); ++const char *pop_get_field(enum ConnAccountField field); + + #endif /* MUTT_POP_POP_PRIVATE_H */ +diff --git a/postpone.c b/postpone.c +index 4e274b5bc..95c2cef05 100644 +--- a/postpone.c ++++ b/postpone.c +@@ -34,10 +34,11 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "config/lib.h" + #include "email/lib.h" + #include "core/lib.h" ++#include "gui/lib.h" + #include "mutt.h" + #include "context.h" + #include "format_flags.h" +@@ -48,10 +49,8 @@ + #include "mutt_logging.h" + #include "mutt_menu.h" + #include "mutt_thread.h" +-#include "mutt_window.h" + #include "muttlib.h" + #include "mx.h" +-#include "ncrypt/ncrypt.h" + #include "opcodes.h" + #include "options.h" + #include "protos.h" +@@ -60,8 +59,9 @@ + #include "sendlib.h" + #include "sort.h" + #include "state.h" ++#include "ncrypt/lib.h" + #ifdef USE_IMAP +-#include "imap/imap.h" ++#include "imap/lib.h" + #endif + + static const struct Mapping PostponeHelp[] = { +@@ -202,19 +202,20 @@ void mutt_update_num_postponed(void) + } + + /** +- * post_make_entry - Format a menu item for the email list - Implements Menu::menu_make_entry() ++ * post_make_entry - Format a menu item for the email list - Implements Menu::make_entry() + */ + static void post_make_entry(char *buf, size_t buflen, struct Menu *menu, int line) + { + struct Context *ctx = menu->data; + +- mutt_make_string_flags(buf, buflen, menu->indexwin->cols, ++ mutt_make_string_flags(buf, buflen, menu->win_index->state.cols, + NONULL(C_IndexFormat), ctx, ctx->mailbox, + ctx->mailbox->emails[line], MUTT_FORMAT_ARROWCURSOR); + } + + /** + * select_msg - Create a Menu to select a postponed message ++ * @param ctx Context + * @retval ptr Email + */ + static struct Email *select_msg(struct Context *ctx) +@@ -223,8 +224,41 @@ static struct Email *select_msg(struct Context *ctx) + bool done = false; + char helpstr[1024]; + ++ struct MuttWindow *dlg = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++#ifdef USE_DEBUG_WINDOW ++ dlg->name = "postpone"; ++#endif ++ dlg->type = WT_DIALOG; ++ struct MuttWindow *index = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ index->type = WT_INDEX; ++ struct MuttWindow *ibar = mutt_window_new( ++ MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, 1, MUTT_WIN_SIZE_UNLIMITED); ++ ibar->type = WT_INDEX_BAR; ++ ++ if (C_StatusOnTop) ++ { ++ mutt_window_add_child(dlg, ibar); ++ mutt_window_add_child(dlg, index); ++ } ++ else ++ { ++ mutt_window_add_child(dlg, index); ++ mutt_window_add_child(dlg, ibar); ++ } ++ ++ dialog_push(dlg); ++ + struct Menu *menu = mutt_menu_new(MENU_POSTPONE); +- menu->menu_make_entry = post_make_entry; ++ ++ menu->pagelen = index->state.rows; ++ menu->win_index = index; ++ menu->win_ibar = ibar; ++ ++ menu->make_entry = post_make_entry; + menu->max = ctx->mailbox->msg_count; + menu->title = _("Postponed Messages"); + menu->data = ctx; +@@ -278,6 +312,9 @@ static struct Email *select_msg(struct Context *ctx) + C_Sort = orig_sort; + mutt_menu_pop_current(menu); + mutt_menu_free(&menu); ++ dialog_pop(); ++ mutt_window_free(&dlg); ++ + return (r > -1) ? ctx->mailbox->emails[r] : NULL; + } + +@@ -316,6 +353,18 @@ int mutt_get_postponed(struct Context *ctx, struct Email *hdr, + return -1; + } + ++ /* TODO: ++ * mx_mbox_open() for IMAP leaves IMAP_REOPEN_ALLOW set. For the ++ * index this is papered-over because it calls mx_check_mailbox() ++ * every event loop(which resets that flag). ++ * ++ * For a stable-branch fix, I'm doing the same here, to prevent ++ * context changes from occuring behind the scenes and causing ++ * segvs, but probably the flag needs to be reset after downloading ++ * headers in imap_open_mailbox(). ++ */ ++ mx_mbox_check(ctx_post->mailbox, NULL); ++ + if (ctx_post->mailbox->msg_count == 0) + { + PostCount = 0; +@@ -564,7 +613,16 @@ SecurityFlags mutt_parse_crypt_hdr(const char *p, bool set_empty_signas, Securit + + /* the cryptalg field must not be empty */ + if (((WithCrypto & APPLICATION_SMIME) != 0) && *smime_cryptalg) +- mutt_str_replace(&C_SmimeEncryptWith, smime_cryptalg); ++ { ++ struct Buffer errmsg = mutt_buffer_make(0); ++ int rc = cs_subset_str_string_set(NeoMutt->sub, "smime_encrypt_with", ++ smime_cryptalg, &errmsg); ++ ++ if ((CSR_RESULT(rc) != CSR_SUCCESS) && !mutt_buffer_is_empty(&errmsg)) ++ mutt_error("%s", mutt_b2s(&errmsg)); ++ ++ mutt_buffer_dealloc(&errmsg); ++ } + + /* Set {Smime,Pgp}SignAs, if desired. */ + +diff --git a/progress.c b/progress.c +index c05ca957f..5ea1c0e8a 100644 +--- a/progress.c ++++ b/progress.c +@@ -31,14 +31,11 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" ++#include "gui/lib.h" + #include "progress.h" +-#include "color.h" +-#include "curs_lib.h" + #include "globals.h" +-#include "mutt_curses.h" + #include "mutt_logging.h" +-#include "mutt_window.h" + #include "muttlib.h" + #include "options.h" + +@@ -61,7 +58,7 @@ static void message_bar(int percent, const char *fmt, ...) + + va_list ap; + char buf[256], buf2[256]; +- int w = (percent * MuttMessageWindow->cols) / 100; ++ int w = (percent * MuttMessageWindow->state.cols) / 100; + size_t l; + + va_start(ap, fmt); +@@ -69,7 +66,7 @@ static void message_bar(int percent, const char *fmt, ...) + l = mutt_strwidth(buf); + va_end(ap); + +- mutt_simple_format(buf2, sizeof(buf2), 0, MuttMessageWindow->cols - 2, ++ mutt_simple_format(buf2, sizeof(buf2), 0, MuttMessageWindow->state.cols - 2, + JUSTIFY_LEFT, 0, buf, sizeof(buf), false); + + mutt_window_move(MuttMessageWindow, 0, 0); +diff --git a/protos.h b/protos.h +index 4f657b662..c24898ab3 100644 +--- a/protos.h ++++ b/protos.h +@@ -31,7 +31,7 @@ + #include + #include "mutt.h" + #include "keymap.h" +-#include "ncrypt/ncrypt.h" ++#include "ncrypt/lib.h" + + struct Buffer; + struct Context; +diff --git a/query.c b/query.c +index 11db4fee8..fd71ec5a4 100644 +--- a/query.c ++++ b/query.c +@@ -33,20 +33,18 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" ++#include "gui/lib.h" + #include "mutt.h" + #include "query.h" + #include "alias.h" +-#include "curs_lib.h" +-#include "filter.h" + #include "format_flags.h" + #include "globals.h" + #include "keymap.h" + #include "mutt_logging.h" + #include "mutt_menu.h" +-#include "mutt_window.h" + #include "muttlib.h" + #include "opcodes.h" + #include "send.h" +@@ -167,7 +165,7 @@ static struct Query *run_query(char *s, int quiet) + + mutt_buffer_file_expand_fmt_quote(cmd, C_QueryCommand, s); + +- pid = mutt_create_filter(mutt_b2s(cmd), NULL, &fp, NULL); ++ pid = filter_create(mutt_b2s(cmd), NULL, &fp, NULL); + if (pid < 0) + { + mutt_debug(LL_DEBUG1, "unable to fork command: %s\n", mutt_b2s(cmd)); +@@ -211,7 +209,7 @@ static struct Query *run_query(char *s, int quiet) + } + FREE(&buf); + mutt_file_fclose(&fp); +- if (mutt_wait_filter(pid)) ++ if (filter_wait(pid)) + { + mutt_debug(LL_DEBUG1, "Error: %s\n", msg); + if (!quiet) +@@ -228,7 +226,7 @@ static struct Query *run_query(char *s, int quiet) + } + + /** +- * query_search - Search a Address menu item - Implements Menu::menu_search() ++ * query_search - Search a Address menu item - Implements Menu::search() + * + * Try to match various Address fields. + */ +@@ -282,7 +280,7 @@ static const char *query_format_str(char *buf, size_t buflen, size_t col, int co + switch (op) + { + case 'a': +- mutt_addrlist_write(tmp, sizeof(tmp), &query->addr, true); ++ mutt_addrlist_write(&query->addr, tmp, sizeof(tmp), true); + mutt_format_s(buf, buflen, prec, tmp); + break; + case 'c': +@@ -309,29 +307,34 @@ static const char *query_format_str(char *buf, size_t buflen, size_t col, int co + } + + if (optional) ++ { + mutt_expando_format(buf, buflen, col, cols, if_str, query_format_str, data, + MUTT_FORMAT_NO_FLAGS); ++ } + else if (flags & MUTT_FORMAT_OPTIONAL) ++ { + mutt_expando_format(buf, buflen, col, cols, else_str, query_format_str, + data, MUTT_FORMAT_NO_FLAGS); ++ } + + return src; + } + + /** +- * query_make_entry - Format a menu item for the query list - Implements Menu::menu_make_entry() ++ * query_make_entry - Format a menu item for the query list - Implements Menu::make_entry() + */ + static void query_make_entry(char *buf, size_t buflen, struct Menu *menu, int line) + { + struct QueryEntry *entry = &((struct QueryEntry *) menu->data)[line]; + + entry->data->num = line; +- mutt_expando_format(buf, buflen, 0, menu->indexwin->cols, NONULL(C_QueryFormat), +- query_format_str, (unsigned long) entry, MUTT_FORMAT_ARROWCURSOR); ++ mutt_expando_format(buf, buflen, 0, menu->win_index->state.cols, ++ NONULL(C_QueryFormat), query_format_str, ++ (unsigned long) entry, MUTT_FORMAT_ARROWCURSOR); + } + + /** +- * query_tag - Tag an entry in the Query Menu - Implements Menu::menu_tag() ++ * query_tag - Tag an entry in the Query Menu - Implements Menu::tag() + */ + static int query_tag(struct Menu *menu, int sel, int act) + { +@@ -359,252 +362,293 @@ static void query_menu(char *buf, size_t buflen, struct Query *results, bool ret + if (!results) + { + /* Prompt for Query */ +- if ((mutt_get_field(_("Query: "), buf, buflen, 0) == 0) && (buf[0] != '\0')) ++ if ((mutt_get_field(_("Query: "), buf, buflen, MUTT_COMP_NO_FLAGS) == 0) && ++ (buf[0] != '\0')) + { + results = run_query(buf, 0); ++ if (!results) ++ return; + } + } + +- if (results) ++ snprintf(title, sizeof(title), _("Query '%s'"), buf); ++ ++ struct MuttWindow *dlg = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++#ifdef USE_DEBUG_WINDOW ++ dlg->name = "query"; ++#endif ++ dlg->type = WT_DIALOG; ++ struct MuttWindow *index = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ index->type = WT_INDEX; ++ struct MuttWindow *ibar = mutt_window_new( ++ MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, 1, MUTT_WIN_SIZE_UNLIMITED); ++ ibar->type = WT_INDEX_BAR; ++ ++ if (C_StatusOnTop) ++ { ++ mutt_window_add_child(dlg, ibar); ++ mutt_window_add_child(dlg, index); ++ } ++ else ++ { ++ mutt_window_add_child(dlg, index); ++ mutt_window_add_child(dlg, ibar); ++ } ++ ++ dialog_push(dlg); ++ ++ menu = mutt_menu_new(MENU_QUERY); ++ ++ menu->pagelen = index->state.rows; ++ menu->win_index = index; ++ menu->win_ibar = ibar; ++ ++ menu->make_entry = query_make_entry; ++ menu->search = query_search; ++ menu->tag = query_tag; ++ menu->title = title; ++ char helpstr[1024]; ++ menu->help = mutt_compile_help(helpstr, sizeof(helpstr), MENU_QUERY, QueryHelp); ++ mutt_menu_push_current(menu); ++ ++ /* count the number of results */ ++ for (queryp = results; queryp; queryp = queryp->next) ++ menu->max++; ++ ++ query_table = mutt_mem_calloc(menu->max, sizeof(struct QueryEntry)); ++ menu->data = query_table; ++ ++ queryp = results; ++ for (int i = 0; queryp; queryp = queryp->next, i++) ++ query_table[i].data = queryp; ++ ++ int done = 0; ++ while (done == 0) + { +- snprintf(title, sizeof(title), _("Query '%s'"), buf); +- +- menu = mutt_menu_new(MENU_QUERY); +- menu->menu_make_entry = query_make_entry; +- menu->menu_search = query_search; +- menu->menu_tag = query_tag; +- menu->title = title; +- char helpstr[1024]; +- menu->help = mutt_compile_help(helpstr, sizeof(helpstr), MENU_QUERY, QueryHelp); +- mutt_menu_push_current(menu); +- +- /* count the number of results */ +- for (queryp = results; queryp; queryp = queryp->next) +- menu->max++; +- +- query_table = mutt_mem_calloc(menu->max, sizeof(struct QueryEntry)); +- menu->data = query_table; +- +- queryp = results; +- for (int i = 0; queryp; queryp = queryp->next, i++) +- query_table[i].data = queryp; +- +- int done = 0; +- while (done == 0) ++ const int op = mutt_menu_loop(menu); ++ switch (op) + { +- const int op = mutt_menu_loop(menu); +- switch (op) +- { +- case OP_QUERY_APPEND: +- case OP_QUERY: +- if ((mutt_get_field(_("Query: "), buf, buflen, 0) == 0) && (buf[0] != '\0')) ++ case OP_QUERY_APPEND: ++ case OP_QUERY: ++ if ((mutt_get_field(_("Query: "), buf, buflen, MUTT_COMP_NO_FLAGS) == 0) && ++ (buf[0] != '\0')) ++ { ++ struct Query *newresults = run_query(buf, 0); ++ ++ menu->redraw = REDRAW_FULL; ++ if (newresults) + { +- struct Query *newresults = run_query(buf, 0); ++ snprintf(title, sizeof(title), _("Query '%s'"), buf); + +- menu->redraw = REDRAW_FULL; +- if (newresults) ++ if (op == OP_QUERY) + { +- snprintf(title, sizeof(title), _("Query '%s'"), buf); +- +- if (op == OP_QUERY) +- { +- query_free(&results); +- results = newresults; +- FREE(&query_table); +- } +- else +- { +- /* append */ +- for (queryp = results; queryp->next; queryp = queryp->next) +- ; ++ query_free(&results); ++ results = newresults; ++ FREE(&query_table); ++ } ++ else ++ { ++ /* append */ ++ for (queryp = results; queryp->next; queryp = queryp->next) ++ ; + +- queryp->next = newresults; +- } ++ queryp->next = newresults; ++ } + +- menu->current = 0; +- mutt_menu_pop_current(menu); +- mutt_menu_free(&menu); +- menu = mutt_menu_new(MENU_QUERY); +- menu->menu_make_entry = query_make_entry; +- menu->menu_search = query_search; +- menu->menu_tag = query_tag; +- menu->title = title; +- menu->help = mutt_compile_help(helpstr, sizeof(helpstr), MENU_QUERY, QueryHelp); +- mutt_menu_push_current(menu); +- +- /* count the number of results */ +- for (queryp = results; queryp; queryp = queryp->next) +- menu->max++; +- +- if (op == OP_QUERY) +- { +- menu->data = query_table = +- mutt_mem_calloc(menu->max, sizeof(struct QueryEntry)); ++ menu->current = 0; ++ mutt_menu_pop_current(menu); ++ mutt_menu_free(&menu); ++ menu = mutt_menu_new(MENU_QUERY); + +- queryp = results; +- for (int i = 0; queryp; queryp = queryp->next, i++) +- query_table[i].data = queryp; +- } +- else +- { +- bool clear = false; ++ menu->pagelen = index->state.rows; ++ menu->win_index = index; ++ menu->win_ibar = ibar; + +- /* append */ +- mutt_mem_realloc(&query_table, menu->max * sizeof(struct QueryEntry)); ++ menu->make_entry = query_make_entry; ++ menu->search = query_search; ++ menu->tag = query_tag; ++ menu->title = title; ++ menu->help = mutt_compile_help(helpstr, sizeof(helpstr), MENU_QUERY, QueryHelp); ++ mutt_menu_push_current(menu); + +- menu->data = query_table; ++ /* count the number of results */ ++ for (queryp = results; queryp; queryp = queryp->next) ++ menu->max++; + +- queryp = results; +- for (int i = 0; queryp; queryp = queryp->next, i++) +- { +- /* once we hit new entries, clear/init the tag */ +- if (queryp == newresults) +- clear = true; ++ if (op == OP_QUERY) ++ { ++ menu->data = query_table = ++ mutt_mem_calloc(menu->max, sizeof(struct QueryEntry)); + +- query_table[i].data = queryp; +- if (clear) +- query_table[i].tagged = false; +- } +- } ++ queryp = results; ++ for (int i = 0; queryp; queryp = queryp->next, i++) ++ query_table[i].data = queryp; + } +- } +- break; ++ else ++ { ++ bool clear = false; + +- case OP_CREATE_ALIAS: +- if (menu->tagprefix) +- { +- struct AddressList naddr = TAILQ_HEAD_INITIALIZER(naddr); ++ /* append */ ++ mutt_mem_realloc(&query_table, menu->max * sizeof(struct QueryEntry)); + +- for (int i = 0; i < menu->max; i++) +- { +- if (query_table[i].tagged) ++ menu->data = query_table; ++ ++ queryp = results; ++ for (int i = 0; queryp; queryp = queryp->next, i++) + { +- struct AddressList al = TAILQ_HEAD_INITIALIZER(al); +- if (result_to_addr(&al, query_table[i].data)) +- { +- mutt_addrlist_copy(&naddr, &al, false); +- mutt_addrlist_clear(&al); +- } ++ /* once we hit new entries, clear/init the tag */ ++ if (queryp == newresults) ++ clear = true; ++ ++ query_table[i].data = queryp; ++ if (clear) ++ query_table[i].tagged = false; + } + } +- +- mutt_alias_create(NULL, &naddr); +- mutt_addrlist_clear(&naddr); + } +- else ++ } ++ break; ++ ++ case OP_CREATE_ALIAS: ++ if (menu->tagprefix) ++ { ++ struct AddressList naddr = TAILQ_HEAD_INITIALIZER(naddr); ++ ++ for (int i = 0; i < menu->max; i++) + { +- struct AddressList al = TAILQ_HEAD_INITIALIZER(al); +- if (result_to_addr(&al, query_table[menu->current].data)) ++ if (query_table[i].tagged) + { +- mutt_alias_create(NULL, &al); +- mutt_addrlist_clear(&al); ++ struct AddressList al = TAILQ_HEAD_INITIALIZER(al); ++ if (result_to_addr(&al, query_table[i].data)) ++ { ++ mutt_addrlist_copy(&naddr, &al, false); ++ mutt_addrlist_clear(&al); ++ } + } + } +- break; + +- case OP_GENERIC_SELECT_ENTRY: +- if (retbuf) ++ mutt_alias_create(NULL, &naddr); ++ mutt_addrlist_clear(&naddr); ++ } ++ else ++ { ++ struct AddressList al = TAILQ_HEAD_INITIALIZER(al); ++ if (result_to_addr(&al, query_table[menu->current].data)) + { +- done = 2; +- break; ++ mutt_alias_create(NULL, &al); ++ mutt_addrlist_clear(&al); + } +- /* fallthrough */ +- case OP_MAIL: ++ } ++ break; ++ ++ case OP_GENERIC_SELECT_ENTRY: ++ if (retbuf) + { +- struct Email *e = email_new(); +- e->env = mutt_env_new(); +- if (!menu->tagprefix) ++ done = 2; ++ break; ++ } ++ /* fallthrough */ ++ case OP_MAIL: ++ { ++ struct Email *e = email_new(); ++ e->env = mutt_env_new(); ++ if (!menu->tagprefix) ++ { ++ struct AddressList al = TAILQ_HEAD_INITIALIZER(al); ++ if (result_to_addr(&al, query_table[menu->current].data)) + { +- struct AddressList al = TAILQ_HEAD_INITIALIZER(al); +- if (result_to_addr(&al, query_table[menu->current].data)) +- { +- mutt_addrlist_copy(&e->env->to, &al, false); +- mutt_addrlist_clear(&al); +- } ++ mutt_addrlist_copy(&e->env->to, &al, false); ++ mutt_addrlist_clear(&al); + } +- else ++ } ++ else ++ { ++ for (int i = 0; i < menu->max; i++) + { +- for (int i = 0; i < menu->max; i++) ++ if (query_table[i].tagged) + { +- if (query_table[i].tagged) ++ struct AddressList al = TAILQ_HEAD_INITIALIZER(al); ++ if (result_to_addr(&al, query_table[i].data)) + { +- struct AddressList al = TAILQ_HEAD_INITIALIZER(al); +- if (result_to_addr(&al, query_table[i].data)) +- { +- mutt_addrlist_copy(&e->env->to, &al, false); +- mutt_addrlist_clear(&al); +- } ++ mutt_addrlist_copy(&e->env->to, &al, false); ++ mutt_addrlist_clear(&al); + } + } + } +- ci_send_message(SEND_NO_FLAGS, e, NULL, Context, NULL); +- menu->redraw = REDRAW_FULL; +- break; + } +- +- case OP_EXIT: +- done = 1; +- break; ++ ci_send_message(SEND_NO_FLAGS, e, NULL, Context, NULL); ++ menu->redraw = REDRAW_FULL; ++ break; + } ++ ++ case OP_EXIT: ++ done = 1; ++ break; + } ++ } + +- /* if we need to return the selected entries */ +- if (retbuf && (done == 2)) +- { +- bool tagged = false; +- size_t curpos = 0; ++ /* if we need to return the selected entries */ ++ if (retbuf && (done == 2)) ++ { ++ bool tagged = false; ++ size_t curpos = 0; + +- memset(buf, 0, buflen); ++ memset(buf, 0, buflen); + +- /* check for tagged entries */ +- for (int i = 0; i < menu->max; i++) ++ /* check for tagged entries */ ++ for (int i = 0; i < menu->max; i++) ++ { ++ if (query_table[i].tagged) + { +- if (query_table[i].tagged) ++ if (curpos == 0) + { +- if (curpos == 0) ++ struct AddressList al = TAILQ_HEAD_INITIALIZER(al); ++ if (result_to_addr(&al, query_table[i].data)) + { +- struct AddressList al = TAILQ_HEAD_INITIALIZER(al); +- if (result_to_addr(&al, query_table[i].data)) +- { +- mutt_addrlist_to_local(&al); +- tagged = true; +- mutt_addrlist_write(buf, buflen, &al, false); +- curpos = mutt_str_strlen(buf); +- mutt_addrlist_clear(&al); +- } ++ mutt_addrlist_to_local(&al); ++ tagged = true; ++ mutt_addrlist_write(&al, buf, buflen, false); ++ curpos = mutt_str_strlen(buf); ++ mutt_addrlist_clear(&al); + } +- else if (curpos + 2 < buflen) ++ } ++ else if (curpos + 2 < buflen) ++ { ++ struct AddressList al = TAILQ_HEAD_INITIALIZER(al); ++ if (result_to_addr(&al, query_table[i].data)) + { +- struct AddressList al = TAILQ_HEAD_INITIALIZER(al); +- if (result_to_addr(&al, query_table[i].data)) +- { +- mutt_addrlist_to_local(&al); +- strcat(buf, ", "); +- mutt_addrlist_write(buf + curpos + 1, buflen - curpos - 1, &al, false); +- curpos = mutt_str_strlen(buf); +- mutt_addrlist_clear(&al); +- } ++ mutt_addrlist_to_local(&al); ++ strcat(buf, ", "); ++ mutt_addrlist_write(&al, buf + curpos + 1, buflen - curpos - 1, false); ++ curpos = mutt_str_strlen(buf); ++ mutt_addrlist_clear(&al); + } + } + } +- /* then enter current message */ +- if (!tagged) ++ } ++ /* then enter current message */ ++ if (!tagged) ++ { ++ struct AddressList al = TAILQ_HEAD_INITIALIZER(al); ++ if (result_to_addr(&al, query_table[menu->current].data)) + { +- struct AddressList al = TAILQ_HEAD_INITIALIZER(al); +- if (result_to_addr(&al, query_table[menu->current].data)) +- { +- mutt_addrlist_to_local(&al); +- mutt_addrlist_write(buf, buflen, &al, false); +- mutt_addrlist_clear(&al); +- } ++ mutt_addrlist_to_local(&al); ++ mutt_addrlist_write(&al, buf, buflen, false); ++ mutt_addrlist_clear(&al); + } + } +- +- query_free(&results); +- FREE(&query_table); +- mutt_menu_pop_current(menu); +- mutt_menu_free(&menu); + } ++ ++ query_free(&results); ++ FREE(&query_table); ++ mutt_menu_pop_current(menu); ++ mutt_menu_free(&menu); ++ dialog_pop(); ++ mutt_window_free(&dlg); + } + + /** +@@ -632,7 +676,7 @@ int mutt_query_complete(char *buf, size_t buflen) + { + mutt_addrlist_to_local(&al); + buf[0] = '\0'; +- mutt_addrlist_write(buf, buflen, &al, false); ++ mutt_addrlist_write(&al, buf, buflen, false); + mutt_addrlist_clear(&al); + query_free(&results); + mutt_clear_error(); +diff --git a/recvattach.c b/recvattach.c +index 4f0eb5752..2c78ed792 100644 +--- a/recvattach.c ++++ b/recvattach.c +@@ -33,36 +33,35 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "config/lib.h" + #include "email/lib.h" + #include "core/lib.h" ++#include "gui/lib.h" + #include "mutt.h" + #include "recvattach.h" + #include "commands.h" + #include "context.h" +-#include "curs_lib.h" +-#include "filter.h" + #include "format_flags.h" + #include "globals.h" + #include "handler.h" + #include "hdrline.h" + #include "hook.h" ++#include "init.h" + #include "keymap.h" + #include "mailcap.h" + #include "mutt_attach.h" + #include "mutt_menu.h" + #include "mutt_parse.h" +-#include "mutt_window.h" + #include "muttlib.h" + #include "mx.h" +-#include "ncrypt/ncrypt.h" + #include "opcodes.h" + #include "options.h" + #include "recvcmd.h" + #include "send.h" + #include "sendlib.h" + #include "state.h" ++#include "ncrypt/lib.h" + #ifdef ENABLE_NLS + #include + #endif +@@ -421,28 +420,32 @@ const char *attach_format_str(char *buf, size_t buflen, size_t col, int cols, + } + + if (optional) ++ { + mutt_expando_format(buf, buflen, col, cols, if_str, attach_format_str, data, + MUTT_FORMAT_NO_FLAGS); ++ } + else if (flags & MUTT_FORMAT_OPTIONAL) ++ { + mutt_expando_format(buf, buflen, col, cols, else_str, attach_format_str, + data, MUTT_FORMAT_NO_FLAGS); ++ } + return src; + } + + /** +- * attach_make_entry - Format a menu item for the attachment list - Implements Menu::menu_make_entry() ++ * attach_make_entry - Format a menu item for the attachment list - Implements Menu::make_entry() + */ + static void attach_make_entry(char *buf, size_t buflen, struct Menu *menu, int line) + { + struct AttachCtx *actx = menu->data; + +- mutt_expando_format(buf, buflen, 0, menu->indexwin->cols, NONULL(C_AttachFormat), +- attach_format_str, (unsigned long) (actx->idx[actx->v2r[line]]), +- MUTT_FORMAT_ARROWCURSOR); ++ mutt_expando_format(buf, buflen, 0, menu->win_index->state.cols, ++ NONULL(C_AttachFormat), attach_format_str, ++ (unsigned long) (actx->idx[actx->v2r[line]]), MUTT_FORMAT_ARROWCURSOR); + } + + /** +- * attach_tag - Tag an attachment - Implements Menu::menu_tag() ++ * attach_tag - Tag an attachment - Implements Menu::tag() + */ + int attach_tag(struct Menu *menu, int sel, int act) + { +@@ -895,10 +898,10 @@ void mutt_pipe_attachment_list(struct AttachCtx *actx, FILE *fp, bool tag, + if (!filter && !C_AttachSplit) + { + mutt_endwin(); +- pid_t pid = mutt_create_filter(buf, &state.fp_out, NULL, NULL); ++ pid_t pid = filter_create(buf, &state.fp_out, NULL, NULL); + pipe_attachment_list(buf, actx, fp, tag, top, filter, &state); + mutt_file_fclose(&state.fp_out); +- if ((mutt_wait_filter(pid) != 0) || C_WaitKey) ++ if ((filter_wait(pid) != 0) || C_WaitKey) + mutt_any_key_to_continue(NULL); + } + else +@@ -1050,10 +1053,10 @@ void mutt_print_attachment_list(struct AttachCtx *actx, FILE *fp, bool tag, stru + if (!can_print(actx, top, tag)) + return; + mutt_endwin(); +- pid_t pid = mutt_create_filter(NONULL(C_PrintCommand), &state.fp_out, NULL, NULL); ++ pid_t pid = filter_create(NONULL(C_PrintCommand), &state.fp_out, NULL, NULL); + print_attachment_list(actx, fp, tag, top, &state); + mutt_file_fclose(&state.fp_out); +- if ((mutt_wait_filter(pid) != 0) || C_WaitKey) ++ if ((filter_wait(pid) != 0) || C_WaitKey) + mutt_any_key_to_continue(NULL); + } + } +@@ -1147,12 +1150,12 @@ int mutt_attach_display_loop(struct Menu *menu, int op, struct Email *e, + switch (op) + { + case OP_DISPLAY_HEADERS: +- bool_str_toggle(Config, "weed", NULL); ++ bool_str_toggle(NeoMutt->sub, "weed", NULL); + /* fallthrough */ + + case OP_VIEW_ATTACH: + op = mutt_view_attachment(CUR_ATTACH->fp, CUR_ATTACH->content, +- MUTT_VA_REGULAR, e, actx, menu->indexwin); ++ MUTT_VA_REGULAR, e, actx, menu->win_index); + break; + + case OP_NEXT_ENTRY: +@@ -1421,10 +1424,43 @@ void mutt_view_attachments(struct Email *e) + if (!msg) + return; + ++ struct MuttWindow *dlg = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++#ifdef USE_DEBUG_WINDOW ++ dlg->name = "attach"; ++#endif ++ dlg->type = WT_DIALOG; ++ struct MuttWindow *index = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ index->type = WT_INDEX; ++ struct MuttWindow *ibar = mutt_window_new( ++ MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, 1, MUTT_WIN_SIZE_UNLIMITED); ++ ibar->type = WT_INDEX_BAR; ++ ++ if (C_StatusOnTop) ++ { ++ mutt_window_add_child(dlg, ibar); ++ mutt_window_add_child(dlg, index); ++ } ++ else ++ { ++ mutt_window_add_child(dlg, index); ++ mutt_window_add_child(dlg, ibar); ++ } ++ ++ dialog_push(dlg); ++ + struct Menu *menu = mutt_menu_new(MENU_ATTACH); ++ ++ menu->pagelen = index->state.rows; ++ menu->win_index = index; ++ menu->win_ibar = ibar; ++ + menu->title = _("Attachments"); +- menu->menu_make_entry = attach_make_entry; +- menu->menu_tag = attach_tag; ++ menu->make_entry = attach_make_entry; ++ menu->tag = attach_tag; + menu->help = mutt_compile_help(helpstr, sizeof(helpstr), MENU_ATTACH, AttachHelp); + mutt_menu_push_current(menu); + +@@ -1443,13 +1479,13 @@ void mutt_view_attachments(struct Email *e) + { + case OP_ATTACH_VIEW_MAILCAP: + mutt_view_attachment(CUR_ATTACH->fp, CUR_ATTACH->content, +- MUTT_VA_MAILCAP, e, actx, menu->indexwin); ++ MUTT_VA_MAILCAP, e, actx, menu->win_index); + menu->redraw = REDRAW_FULL; + break; + + case OP_ATTACH_VIEW_TEXT: + mutt_view_attachment(CUR_ATTACH->fp, CUR_ATTACH->content, +- MUTT_VA_AS_TEXT, e, actx, menu->indexwin); ++ MUTT_VA_AS_TEXT, e, actx, menu->win_index); + menu->redraw = REDRAW_FULL; + break; + +@@ -1705,6 +1741,8 @@ void mutt_view_attachments(struct Email *e) + + mutt_menu_pop_current(menu); + mutt_menu_free(&menu); ++ dialog_pop(); ++ mutt_window_free(&dlg); + return; + } + +diff --git a/recvcmd.c b/recvcmd.c +index 9b05e7b73..5278a7a39 100644 +--- a/recvcmd.c ++++ b/recvcmd.c +@@ -31,22 +31,22 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "config/lib.h" + #include "email/lib.h" ++#include "gui/lib.h" + #include "mutt.h" + #include "recvcmd.h" + #include "alias.h" + #include "context.h" + #include "copy.h" +-#include "curs_lib.h" + #include "globals.h" + #include "handler.h" + #include "hdrline.h" ++#include "init.h" + #include "mutt_body.h" + #include "mutt_logging.h" +-#include "mutt_window.h" + #include "muttlib.h" + #include "options.h" + #include "protos.h" +@@ -235,16 +235,17 @@ void mutt_attach_bounce(struct Mailbox *m, FILE *fp, struct AttachCtx *actx, str + } + + buf[0] = '\0'; +- mutt_addrlist_write(buf, sizeof(buf), &al, true); ++ mutt_addrlist_write(&al, buf, sizeof(buf), true); + + #define EXTRA_SPACE (15 + 7 + 2) + /* See commands.c. */ + snprintf(prompt, sizeof(prompt) - 4, + ngettext("Bounce message to %s?", "Bounce messages to %s?", p), buf); + +- if (mutt_strwidth(prompt) > MuttMessageWindow->cols - EXTRA_SPACE) ++ if (mutt_strwidth(prompt) > MuttMessageWindow->state.cols - EXTRA_SPACE) + { +- mutt_simple_format(prompt, sizeof(prompt) - 4, 0, MuttMessageWindow->cols - EXTRA_SPACE, ++ mutt_simple_format(prompt, sizeof(prompt) - 4, 0, ++ MuttMessageWindow->state.cols - EXTRA_SPACE, + JUSTIFY_LEFT, 0, prompt, sizeof(prompt), false); + mutt_str_strcat(prompt, sizeof(prompt), "...?"); + } +diff --git a/remailer.c b/remailer.c +index 70314b524..0d77d9b3d 100644 +--- a/remailer.c ++++ b/remailer.c +@@ -33,18 +33,17 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" ++#include "config/lib.h" + #include "email/lib.h" ++#include "core/lib.h" ++#include "gui/lib.h" + #include "mutt.h" +-#include "color.h" +-#include "curs_lib.h" +-#include "filter.h" + #include "format_flags.h" ++#include "globals.h" + #include "keymap.h" +-#include "mutt_curses.h" + #include "mutt_menu.h" +-#include "mutt_window.h" + #include "muttlib.h" + #include "opcodes.h" + #include "options.h" +@@ -60,8 +59,8 @@ char *C_MixEntryFormat; ///< Config: (mixmaster) printf-like format string for t + char *C_Mixmaster; ///< Config: (mixmaster) External command to route a mixmaster message + + #define MIX_HOFFSET 2 +-#define MIX_VOFFSET (win->rows - 4) +-#define MIX_MAXROW (win->rows - 1) ++#define MIX_VOFFSET (win->state.rows - 4) ++#define MIX_MAXROW (win->state.rows - 1) + + /** + * struct Coord - Screen coordinates +@@ -193,8 +192,7 @@ static struct Remailer **mix_type2_list(size_t *l) + struct Buffer *cmd = mutt_buffer_pool_get(); + mutt_buffer_printf(cmd, "%s -T", C_Mixmaster); + +- pid_t mm_pid = +- mutt_create_filter_fd(mutt_b2s(cmd), NULL, &fp, NULL, fd_null, -1, fd_null); ++ pid_t mm_pid = filter_create_fd(mutt_b2s(cmd), NULL, &fp, NULL, fd_null, -1, fd_null); + if (mm_pid == -1) + { + mutt_buffer_pool_release(&cmd); +@@ -252,7 +250,7 @@ static struct Remailer **mix_type2_list(size_t *l) + *l = used; + + mix_add_entry(&type2_list, NULL, &slots, &used); +- mutt_wait_filter(mm_pid); ++ filter_wait(mm_pid); + + close(fd_null); + +@@ -309,7 +307,7 @@ static void mix_screen_coordinates(struct MuttWindow *win, struct Remailer **typ + short oc = c; + c += strlen(type2_list[chain->ch[i]]->shortname) + 2; + +- if (c >= win->cols) ++ if (c >= win->state.cols) + { + oc = MIX_HOFFSET; + c = MIX_HOFFSET; +@@ -497,25 +495,29 @@ static const char *mix_format_str(char *buf, size_t buflen, size_t col, int cols + } + + if (optional) ++ { + mutt_expando_format(buf, buflen, col, cols, if_str, attach_format_str, data, + MUTT_FORMAT_NO_FLAGS); ++ } + else if (flags & MUTT_FORMAT_OPTIONAL) ++ { + mutt_expando_format(buf, buflen, col, cols, else_str, attach_format_str, + data, MUTT_FORMAT_NO_FLAGS); ++ } + return src; + } + + /** +- * mix_entry - Format a menu item for the mixmaster chain list ++ * mix_make_entry - Format a menu item for the mixmaster chain list - Implements Menu::make_entry() + * @param[out] buf Buffer in which to save string + * @param[in] buflen Buffer length + * @param[in] menu Menu containing aliases + * @param[in] num Index into the menu + */ +-static void mix_entry(char *buf, size_t buflen, struct Menu *menu, int num) ++static void mix_make_entry(char *buf, size_t buflen, struct Menu *menu, int num) + { + struct Remailer **type2_list = menu->data; +- mutt_expando_format(buf, buflen, 0, menu->indexwin->cols, ++ mutt_expando_format(buf, buflen, 0, menu->win_index->state.cols, + NONULL(C_MixEntryFormat), mix_format_str, + (unsigned long) type2_list[num], MUTT_FORMAT_ARROWCURSOR); + } +@@ -558,6 +560,36 @@ static int mix_chain_add(struct MixChain *chain, const char *s, struct Remailer + return 0; + } + ++/** ++ * mutt_dlg_mixmaster_observer - Listen for config changes affecting the Mixmaster menu - Implements ::observer_t ++ */ ++static int mutt_dlg_mixmaster_observer(struct NotifyCallback *nc) ++{ ++ if (!nc->event_data || !nc->global_data) ++ return -1; ++ if (nc->event_type != NT_CONFIG) ++ return 0; ++ ++ struct EventConfig *ec = nc->event_data; ++ struct MuttWindow *dlg = nc->global_data; ++ ++ if (mutt_str_strcmp(ec->name, "status_on_top") != 0) ++ return 0; ++ ++ struct MuttWindow *win_first = TAILQ_FIRST(&dlg->children); ++ ++ if ((C_StatusOnTop && (win_first->type == WT_INDEX)) || ++ (!C_StatusOnTop && (win_first->type != WT_INDEX))) ++ { ++ // Swap the Index and the IndexBar Windows ++ TAILQ_REMOVE(&dlg->children, win_first, entries); ++ TAILQ_INSERT_TAIL(&dlg->children, win_first, entries); ++ } ++ ++ mutt_window_reflow(dlg); ++ return 0; ++} ++ + /** + * mix_make_chain - Create a Mixmaster chain + * @param win Window +@@ -605,10 +637,43 @@ void mix_make_chain(struct MuttWindow *win, struct ListHead *chainhead, int cols + + mix_screen_coordinates(win, type2_list, &coords, chain, 0); + ++ struct MuttWindow *dlg = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++#ifdef USE_DEBUG_WINDOW ++ dlg->name = "remailer"; ++#endif ++ dlg->type = WT_DIALOG; ++ struct MuttWindow *index = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ index->type = WT_INDEX; ++ struct MuttWindow *ibar = mutt_window_new( ++ MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, 1, MUTT_WIN_SIZE_UNLIMITED); ++ ibar->type = WT_INDEX_BAR; ++ ++ if (C_StatusOnTop) ++ { ++ mutt_window_add_child(dlg, ibar); ++ mutt_window_add_child(dlg, index); ++ } ++ else ++ { ++ mutt_window_add_child(dlg, index); ++ mutt_window_add_child(dlg, ibar); ++ } ++ ++ notify_observer_add(NeoMutt->notify, mutt_dlg_mixmaster_observer, dlg); ++ dialog_push(dlg); ++ + menu = mutt_menu_new(MENU_MIX); ++ menu->pagelen = index->state.rows; ++ menu->win_index = index; ++ menu->win_ibar = ibar; ++ + menu->max = ttll; +- menu->menu_make_entry = mix_entry; +- menu->menu_tag = NULL; ++ menu->make_entry = mix_make_entry; ++ menu->tag = NULL; + menu->title = _("Select a remailer chain"); + menu->data = type2_list; + menu->help = mutt_compile_help(helpstr, sizeof(helpstr), MENU_MIX, RemailerHelp); +@@ -625,14 +690,14 @@ void mix_make_chain(struct MuttWindow *win, struct ListHead *chainhead, int cols + + if (c_redraw) + { +- mix_redraw_head(menu->indexwin, chain); +- mix_redraw_chain(menu->indexwin, type2_list, coords, chain, c_cur); ++ mix_redraw_head(menu->win_index, chain); ++ mix_redraw_chain(menu->win_index, type2_list, coords, chain, c_cur); + c_redraw = false; + } + else if (c_cur != c_old) + { +- mix_redraw_ce(menu->indexwin, type2_list, coords, chain, c_old, false); +- mix_redraw_ce(menu->indexwin, type2_list, coords, chain, c_cur, true); ++ mix_redraw_ce(menu->win_index, type2_list, coords, chain, c_old, false); ++ mix_redraw_ce(menu->win_index, type2_list, coords, chain, c_cur, true); + } + + c_old = c_cur; +@@ -643,9 +708,9 @@ void mix_make_chain(struct MuttWindow *win, struct ListHead *chainhead, int cols + case OP_REDRAW: + { + menu_redraw_status(menu); +- mix_redraw_head(menu->indexwin, chain); +- mix_screen_coordinates(menu->indexwin, type2_list, &coords, chain, 0); +- mix_redraw_chain(menu->indexwin, type2_list, coords, chain, c_cur); ++ mix_redraw_head(menu->win_index, chain); ++ mix_screen_coordinates(menu->win_index, type2_list, &coords, chain, 0); ++ mix_redraw_chain(menu->win_index, type2_list, coords, chain, c_cur); + menu->pagelen = MIX_VOFFSET - 1; + break; + } +@@ -663,7 +728,7 @@ void mix_make_chain(struct MuttWindow *win, struct ListHead *chainhead, int cols + { + chain->cl++; + chain->ch[0] = menu->current; +- mix_screen_coordinates(menu->indexwin, type2_list, &coords, chain, c_cur); ++ mix_screen_coordinates(menu->win_index, type2_list, &coords, chain, c_cur); + c_redraw = true; + } + +@@ -697,7 +762,7 @@ void mix_make_chain(struct MuttWindow *win, struct ListHead *chainhead, int cols + chain->ch[i] = chain->ch[i - 1]; + + chain->ch[c_cur] = menu->current; +- mix_screen_coordinates(menu->indexwin, type2_list, &coords, chain, c_cur); ++ mix_screen_coordinates(menu->win_index, type2_list, &coords, chain, c_cur); + c_redraw = true; + } + else +@@ -721,7 +786,7 @@ void mix_make_chain(struct MuttWindow *win, struct ListHead *chainhead, int cols + if ((c_cur == chain->cl) && c_cur) + c_cur--; + +- mix_screen_coordinates(menu->indexwin, type2_list, &coords, chain, c_cur); ++ mix_screen_coordinates(menu->win_index, type2_list, &coords, chain, c_cur); + c_redraw = true; + } + else +@@ -755,6 +820,9 @@ void mix_make_chain(struct MuttWindow *win, struct ListHead *chainhead, int cols + + mutt_menu_pop_current(menu); + mutt_menu_free(&menu); ++ dialog_pop(); ++ notify_observer_remove(NeoMutt->notify, mutt_dlg_mixmaster_observer, dlg); ++ mutt_window_free(&dlg); + + /* construct the remailer list */ + +diff --git a/resize.c b/resize.c +index 8e6118f1f..1f8208d89 100644 +--- a/resize.c ++++ b/resize.c +@@ -28,11 +28,11 @@ + */ + + #include "config.h" ++#include + #include + #include +-#include "mutt/mutt.h" +-#include "mutt_curses.h" +-#include "mutt_window.h" ++#include "mutt/lib.h" ++#include "gui/lib.h" + #ifdef USE_SLANG_CURSES + #include + #endif +@@ -91,7 +91,8 @@ void mutt_resize_screen(void) + SLsmg_init_smg(); + stdscr = newwin(0, 0, 0, 0); + keypad(stdscr, true); +- mutt_window_reflow(); ++ mutt_window_set_root(w.ws_row, w.ws_col); ++ mutt_window_reflow(NULL); + } + #else + /** +@@ -119,6 +120,7 @@ void mutt_resize_screen(void) + } + + resizeterm(screenrows, screencols); +- mutt_window_reflow(); ++ mutt_window_set_root(w.ws_row, w.ws_col); ++ mutt_window_reflow(NULL); + } + #endif +diff --git a/rfc3676.c b/rfc3676.c +index 1b4e2d6a6..0d91cd969 100644 +--- a/rfc3676.c ++++ b/rfc3676.c +@@ -34,12 +34,11 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "email/lib.h" ++#include "gui/lib.h" + #include "rfc3676.h" +-#include "curs_lib.h" + #include "globals.h" +-#include "mutt_window.h" + #include "muttlib.h" + #include "state.h" + +@@ -444,12 +443,8 @@ static void rfc3676_space_stuff(struct Email *e, bool unstuff) + } + + mutt_file_copy_stream(fp_in, fp_out); +- mutt_file_fclose(&fp_in); +- mutt_file_fclose(&fp_out); + mutt_file_set_mtime(mutt_b2s(tmpfile), e->content->filename); + unlink(mutt_b2s(tmpfile)); +- mutt_buffer_pool_release(&tmpfile); +- return; + + bail: + mutt_file_fclose(&fp_in); +diff --git a/score.c b/score.c +index 452fc69c5..cb2278ae2 100644 +--- a/score.c ++++ b/score.c +@@ -29,13 +29,14 @@ + #include "config.h" + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "config/lib.h" + #include "email/lib.h" + #include "core/lib.h" + #include "mutt.h" + #include "score.h" + #include "globals.h" ++#include "init.h" + #include "keymap.h" + #include "mutt_commands.h" + #include "mutt_menu.h" +@@ -96,7 +97,7 @@ void mutt_check_rescore(struct Mailbox *m) + } + + /** +- * mutt_parse_score - Parse the 'score' command - Implements ::command_t ++ * mutt_parse_score - Parse the 'score' command - Implements Command::parse() + */ + enum CommandResult mutt_parse_score(struct Buffer *buf, struct Buffer *s, + unsigned long data, struct Buffer *err) +@@ -200,7 +201,7 @@ void mutt_score_message(struct Mailbox *m, struct Email *e, bool upd_mbox) + } + + /** +- * mutt_parse_unscore - Parse the 'unscore' command - Implements ::command_t ++ * mutt_parse_unscore - Parse the 'unscore' command - Implements Command::parse() + */ + enum CommandResult mutt_parse_unscore(struct Buffer *buf, struct Buffer *s, + unsigned long data, struct Buffer *err) +diff --git a/send.c b/send.c +index f824cd5a9..76572a531 100644 +--- a/send.c ++++ b/send.c +@@ -36,31 +36,30 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "config/lib.h" + #include "email/lib.h" + #include "core/lib.h" ++#include "gui/lib.h" + #include "mutt.h" + #include "send.h" + #include "alias.h" + #include "compose.h" + #include "context.h" + #include "copy.h" +-#include "curs_lib.h" + #include "edit.h" +-#include "filter.h" + #include "globals.h" + #include "handler.h" + #include "hdrline.h" + #include "hook.h" ++#include "init.h" + #include "mutt_attach.h" + #include "mutt_body.h" + #include "mutt_header.h" + #include "mutt_logging.h" + #include "mutt_parse.h" + #include "muttlib.h" +-#include "ncrypt/ncrypt.h" + #include "options.h" + #include "pattern.h" + #include "protos.h" +@@ -69,21 +68,22 @@ + #include "sendlib.h" + #include "smtp.h" + #include "sort.h" ++#include "ncrypt/lib.h" + #ifdef USE_NNTP + #include "mx.h" +-#include "nntp/nntp.h" ++#include "nntp/lib.h" + #endif + #ifdef MIXMASTER + #include "remailer.h" + #endif + #ifdef USE_NOTMUCH +-#include "notmuch/mutt_notmuch.h" ++#include "notmuch/lib.h" + #endif + #ifdef USE_IMAP +-#include "imap/imap.h" ++#include "imap/lib.h" + #endif + #ifdef USE_AUTOCRYPT +-#include "autocrypt/autocrypt.h" ++#include "autocrypt/lib.h" + #endif + + /* These Config Variables are only used in send.c */ +@@ -149,7 +149,7 @@ static void append_signature(FILE *fp) + mutt_file_copy_stream(fp_tmp, fp); + mutt_file_fclose(&fp_tmp); + if (pid != -1) +- mutt_wait_filter(pid); ++ filter_wait(pid); + } + } + +@@ -215,7 +215,7 @@ int mutt_edit_address(struct AddressList *al, const char *field, bool expand_ali + { + buf[0] = '\0'; + mutt_addrlist_to_local(al); +- mutt_addrlist_write(buf, sizeof(buf), al, false); ++ mutt_addrlist_write(al, buf, sizeof(buf), false); + if (mutt_get_field(field, buf, sizeof(buf), MUTT_ALIAS) != 0) + return -1; + mutt_addrlist_clear(al); +@@ -250,7 +250,7 @@ static int edit_envelope(struct Envelope *en, SendFlags flags) + mutt_str_strfcpy(buf, en->newsgroups, sizeof(buf)); + else + buf[0] = '\0'; +- if (mutt_get_field("Newsgroups: ", buf, sizeof(buf), 0) != 0) ++ if (mutt_get_field("Newsgroups: ", buf, sizeof(buf), MUTT_COMP_NO_FLAGS) != 0) + return -1; + FREE(&en->newsgroups); + en->newsgroups = mutt_str_strdup(buf); +@@ -259,7 +259,8 @@ static int edit_envelope(struct Envelope *en, SendFlags flags) + mutt_str_strfcpy(buf, en->followup_to, sizeof(buf)); + else + buf[0] = '\0'; +- if (C_AskFollowUp && (mutt_get_field("Followup-To: ", buf, sizeof(buf), 0) != 0)) ++ if (C_AskFollowUp && ++ (mutt_get_field("Followup-To: ", buf, sizeof(buf), MUTT_COMP_NO_FLAGS) != 0)) + { + return -1; + } +@@ -271,7 +272,7 @@ static int edit_envelope(struct Envelope *en, SendFlags flags) + else + buf[0] = '\0'; + if (C_XCommentTo && C_AskXCommentTo && +- (mutt_get_field("X-Comment-To: ", buf, sizeof(buf), 0) != 0)) ++ (mutt_get_field("X-Comment-To: ", buf, sizeof(buf), MUTT_COMP_NO_FLAGS) != 0)) + { + return -1; + } +@@ -317,7 +318,7 @@ static int edit_envelope(struct Envelope *en, SendFlags flags) + } + } + +- if ((mutt_get_field(_("Subject: "), buf, sizeof(buf), 0) != 0) || ++ if ((mutt_get_field(_("Subject: "), buf, sizeof(buf), MUTT_COMP_NO_FLAGS) != 0) || + (!buf[0] && + (query_quadoption(C_AbortNosubject, _("No subject, abort?")) != MUTT_NO))) + { +@@ -771,8 +772,7 @@ static int default_to(struct AddressList *to, struct Envelope *env, SendFlags fl + reply_to && TAILQ_NEXT(TAILQ_FIRST(&env->reply_to), entries); + if ((from_is_reply_to && !multiple_reply_to && !reply_to->personal) || + (C_IgnoreListReplyTo && mutt_is_mail_list(reply_to) && +- (mutt_addrlist_search(reply_to, &env->to) || +- mutt_addrlist_search(reply_to, &env->cc)))) ++ (mutt_addrlist_search(&env->to, reply_to) || mutt_addrlist_search(&env->cc, reply_to)))) + { + /* If the Reply-To: address is a mailing list, assume that it was + * put there by the mailing list, and use the From: address +@@ -1654,7 +1654,19 @@ static int save_fcc(struct Email *e, struct Buffer *fcc, struct Body *clear_cont + } + + /* check to see if the user wants copies of all attachments */ ++ bool save_atts = true; + if (e->content->type == TYPE_MULTIPART) ++ { ++ /* In batch mode, save attachments if the quadoption is yes or ask-yes */ ++ if (flags & SEND_BATCH) ++ { ++ if ((C_FccAttach == MUTT_NO) || (C_FccAttach == MUTT_ASKNO)) ++ save_atts = false; ++ } ++ else if (query_quadoption(C_FccAttach, _("Save attachments in Fcc?")) != MUTT_YES) ++ save_atts = false; ++ } ++ if (!save_atts) + { + if ((WithCrypto != 0) && (e->security & (SEC_ENCRYPT | SEC_SIGN | SEC_AUTOCRYPT)) && + ((mutt_str_strcmp(e->content->subtype, "encrypted") == 0) || +@@ -1811,6 +1823,7 @@ static int postpone_message(struct Email *e_post, struct Email *e_cur, + { + e_post->content = mutt_remove_multipart(e_post->content); + decode_descriptions(e_post->content); ++ mutt_error(_("Error encrypting message. Check your crypt settings.")); + return -1; + } + encrypt_as = AutocryptDefaultKey; +@@ -1826,6 +1839,7 @@ static int postpone_message(struct Email *e_post, struct Email *e_cur, + FREE(&pgpkeylist); + e_post->content = mutt_remove_multipart(e_post->content); + decode_descriptions(e_post->content); ++ mutt_error(_("Error encrypting message. Check your crypt settings.")); + return -1; + } + +diff --git a/sendlib.c b/sendlib.c +index e8265c9c0..38420689c 100644 +--- a/sendlib.c ++++ b/sendlib.c +@@ -42,16 +42,15 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + #include "core/lib.h" ++#include "gui/lib.h" + #include "mutt.h" + #include "sendlib.h" + #include "context.h" + #include "copy.h" +-#include "curs_lib.h" +-#include "filter.h" + #include "format_flags.h" + #include "globals.h" + #include "handler.h" +@@ -59,14 +58,14 @@ + #include "mutt_parse.h" + #include "muttlib.h" + #include "mx.h" +-#include "ncrypt/ncrypt.h" + #include "options.h" + #include "pager.h" + #include "send.h" + #include "smtp.h" + #include "state.h" ++#include "ncrypt/lib.h" + #ifdef USE_NNTP +-#include "nntp/nntp.h" ++#include "nntp/lib.h" + #endif + #ifdef HAVE_SYSEXITS_H + #include +@@ -74,7 +73,7 @@ + #define EX_OK 0 + #endif + #ifdef USE_AUTOCRYPT +-#include "autocrypt/autocrypt.h" ++#include "autocrypt/lib.h" + #endif + + /* These Config Variables are only used in sendlib.c */ +@@ -609,7 +608,7 @@ int mutt_write_mime_body(struct Body *a, FILE *fp) + else + fc = mutt_ch_fgetconv_open(fp_in, 0, 0, 0); + +- mutt_sig_allow_interrupt(1); ++ mutt_sig_allow_interrupt(true); + if (a->encoding == ENC_QUOTED_PRINTABLE) + encode_quoted(fc, fp, write_as_text_part(a)); + else if (a->encoding == ENC_BASE64) +@@ -618,7 +617,7 @@ int mutt_write_mime_body(struct Body *a, FILE *fp) + encode_8bit(fc, fp); + else + mutt_file_copy_stream(fp_in, fp); +- mutt_sig_allow_interrupt(0); ++ mutt_sig_allow_interrupt(false); + + mutt_ch_fgetconv_close(&fc); + mutt_file_fclose(&fp_in); +@@ -1619,7 +1618,7 @@ static void run_mime_type_query(struct Body *att) + + mutt_buffer_file_expand_fmt_quote(cmd, C_MimeTypeQueryCommand, att->filename); + +- pid = mutt_create_filter(mutt_b2s(cmd), NULL, &fp, &fp_err); ++ pid = filter_create(mutt_b2s(cmd), NULL, &fp, &fp_err); + if (pid < 0) + { + mutt_error(_("Error running \"%s\""), mutt_b2s(cmd)); +@@ -1638,7 +1637,7 @@ static void run_mime_type_query(struct Body *att) + + mutt_file_fclose(&fp); + mutt_file_fclose(&fp_err); +- mutt_wait_filter(pid); ++ filter_wait(pid); + } + + /** +@@ -1784,7 +1783,7 @@ struct Body *mutt_remove_multipart(struct Body *b) + } + + /** +- * mutt_write_addrlist - wrapper around mutt_write_address() ++ * mutt_write_addrlist - Wrapper for mutt_write_address() + * @param al Address list + * @param fp File to write to + * @param linelen Line length to use +@@ -1922,22 +1921,26 @@ static int print_val(FILE *fp, const char *pfx, const char *value, + * @param fp File to write to + * @param tag Header key, e.g. "From" + * @param value Header value ++ * @param vlen Length of the header value string + * @param pfx Prefix for header + * @param wraplen Column to wrap at + * @param chflags Flags, see #CopyHeaderFlags + * @retval 0 Success + * @retval -1 Failure + */ +-static int fold_one_header(FILE *fp, const char *tag, const char *value, ++static int fold_one_header(FILE *fp, const char *tag, const char *value, size_t vlen, + const char *pfx, int wraplen, CopyHeaderFlags chflags) + { ++ if (!value || !*value || !vlen) ++ return 0; ++ + const char *p = value; + char buf[8192] = { 0 }; + int first = 1, col = 0, l = 0; + const bool display = (chflags & CH_DISPLAY); + +- mutt_debug(LL_DEBUG5, "pfx=[%s], tag=[%s], flags=%d value=[%s]\n", pfx, tag, +- chflags, NONULL(value)); ++ mutt_debug(LL_DEBUG5, "pfx=[%s], tag=[%s], flags=%d value=[%.*s]\n", pfx, tag, ++ chflags, ((value[vlen - 1] == '\n') ? vlen - 1 : vlen), value); + + if (tag && *tag && (fprintf(fp, "%s%s: ", NONULL(pfx), tag) < 0)) + return -1; +@@ -1959,7 +1962,8 @@ static int fold_one_header(FILE *fp, const char *tag, const char *value, + const int w = mutt_mb_width(buf, col, display); + const int enc = mutt_str_startswith(buf, "=?", CASE_MATCH); + +- mutt_debug(LL_DEBUG5, "word=[%s], col=%d, w=%d, next=[0x0%x]\n", buf, col, w, *next); ++ mutt_debug(LL_DEBUG5, "word=[%s], col=%d, w=%d, next=[0x0%x]\n", ++ (buf[0] == '\n' ? "\\n" : buf), col, w, *next); + + /* insert a folding \n before the current word's lwsp except for + * header name, first word on a line (word longer than wrap width) +@@ -2003,6 +2007,8 @@ static int fold_one_header(FILE *fp, const char *tag, const char *value, + sp++; + if (sp[0] == '\n') + { ++ if (sp[1] == '\0') ++ break; + next = sp; + col = 0; + } +@@ -2072,53 +2078,43 @@ static char *unfold_header(char *s) + static int write_one_header(FILE *fp, int pfxw, int max, int wraplen, const char *pfx, + const char *start, const char *end, CopyHeaderFlags chflags) + { +- char *tagbuf = NULL, *valbuf = NULL, *t = NULL; +- bool is_from = ((end - start) > 5) && mutt_str_startswith(start, "from ", CASE_IGNORE); ++ const char *t = strchr(start, ':'); ++ if (!t || (t > end)) ++ { ++ mutt_debug(LL_DEBUG1, "#2 warning: header not in 'key: value' format!\n"); ++ return 0; ++ } ++ ++ const size_t vallen = end - start; ++ const bool short_enough = (pfxw + max <= wraplen); ++ ++ mutt_debug((short_enough ? LL_DEBUG2 : LL_DEBUG5), "buf[%s%.*s] %s, max width = %d %s %d\n", ++ NONULL(pfx), vallen - 1 /* skip newline */, start, ++ (short_enough ? "short enough" : "too long"), max, ++ (short_enough ? "<=" : ">"), wraplen); ++ ++ int rc = 0; ++ const char *valbuf = NULL, *tagbuf = NULL; ++ const bool is_from = (vallen > 5) && mutt_str_startswith(start, "from ", CASE_IGNORE); + + /* only pass through folding machinery if necessary for sending, + * never wrap From_ headers on sending */ +- if (!(chflags & CH_DISPLAY) && ((pfxw + max <= wraplen) || is_from)) ++ if (!(chflags & CH_DISPLAY) && (short_enough || is_from)) + { +- valbuf = mutt_str_substr_dup(start, end); +- mutt_debug(LL_DEBUG5, "buf[%s%s] short enough, max width = %d <= %d\n", +- NONULL(pfx), valbuf, max, wraplen); + if (pfx && *pfx) + { + if (fputs(pfx, fp) == EOF) + { +- FREE(&valbuf); + return -1; + } + } + +- t = strchr(valbuf, ':'); +- if (!t) +- { +- mutt_debug(LL_DEBUG1, "#1 warning: header not in 'key: value' format!\n"); +- FREE(&valbuf); +- return 0; +- } +- if (print_val(fp, pfx, valbuf, chflags, mutt_str_strlen(pfx)) < 0) +- { +- FREE(&valbuf); +- return -1; +- } +- FREE(&valbuf); ++ valbuf = mutt_str_substr_dup(start, end); ++ rc = print_val(fp, pfx, valbuf, chflags, mutt_str_strlen(pfx)); + } + else + { +- t = strchr(start, ':'); +- if (!t || (t > end)) +- { +- mutt_debug(LL_DEBUG1, "#2 warning: header not in 'key: value' format!\n"); +- return 0; +- } +- if (is_from) +- { +- tagbuf = NULL; +- valbuf = mutt_str_substr_dup(start, end); +- } +- else ++ if (!is_from) + { + tagbuf = mutt_str_substr_dup(start, t); + /* skip over the colon separating the header field name and value */ +@@ -2129,21 +2125,15 @@ static int write_one_header(FILE *fp, int pfxw, int max, int wraplen, const char + * See tickets 3609 and 3716. */ + while ((*t == ' ') || (*t == '\t')) + t++; +- +- valbuf = mutt_str_substr_dup(t, end); + } +- mutt_debug(LL_DEBUG2, "buf[%s%s] too long, max width = %d > %d\n", +- NONULL(pfx), NONULL(valbuf), max, wraplen); +- if (fold_one_header(fp, tagbuf, valbuf, pfx, wraplen, chflags) < 0) +- { +- FREE(&valbuf); +- FREE(&tagbuf); +- return -1; +- } +- FREE(&tagbuf); +- FREE(&valbuf); ++ valbuf = mutt_str_substr_dup(is_from ? start : t, end); ++ rc = fold_one_header(fp, tagbuf, valbuf, end - (is_from ? start : t), pfx, ++ wraplen, chflags); + } +- return 0; ++ ++ FREE(&tagbuf); ++ FREE(&valbuf); ++ return rc; + } + + /** +@@ -2183,10 +2173,11 @@ int mutt_write_one_header(FILE *fp, const char *tag, const char *value, + else if (wraplen <= 0) + wraplen = 78; + ++ const size_t vlen = mutt_str_strlen(v); + if (tag) + { + /* if header is short enough, simply print it */ +- if (!display && (mutt_strwidth(tag) + 2 + pfxw + mutt_strwidth(v) <= wraplen)) ++ if (!display && (mutt_strwidth(tag) + 2 + pfxw + mutt_strnwidth(v, vlen) <= wraplen)) + { + mutt_debug(LL_DEBUG5, "buf[%s%s: %s] is short enough\n", NONULL(pfx), tag, v); + if (fprintf(fp, "%s%s: %s\n", NONULL(pfx), tag, v) <= 0) +@@ -2196,7 +2187,7 @@ int mutt_write_one_header(FILE *fp, const char *tag, const char *value, + } + else + { +- rc = fold_one_header(fp, tag, v, pfx, wraplen, chflags); ++ rc = fold_one_header(fp, tag, v, vlen, pfx, wraplen, chflags); + goto out; + } + } +@@ -2344,14 +2335,14 @@ int mutt_rfc822_write_header(FILE *fp, struct Envelope *env, + if (!TAILQ_EMPTY(&env->from) && !privacy) + { + buf[0] = '\0'; +- mutt_addrlist_write(buf, sizeof(buf), &env->from, false); ++ mutt_addrlist_write(&env->from, buf, sizeof(buf), false); + fprintf(fp, "From: %s\n", buf); + } + + if (!TAILQ_EMPTY(&env->sender) && !privacy) + { + buf[0] = '\0'; +- mutt_addrlist_write(buf, sizeof(buf), &env->sender, false); ++ mutt_addrlist_write(&env->sender, buf, sizeof(buf), false); + fprintf(fp, "Sender: %s\n", buf); + } + +@@ -2974,8 +2965,10 @@ int mutt_invoke_sendmail(struct AddressList *from, struct AddressList *to, + struct stat st; + + if ((stat(childout, &st) == 0) && (st.st_size > 0)) ++ { + mutt_do_pager(_("Output of the delivery process"), childout, + MUTT_PAGER_NO_FLAGS, NULL); ++ } + } + } + } +@@ -3107,12 +3100,16 @@ static int bounce_message(FILE *fp, struct Email *e, struct AddressList *to, + } + #ifdef USE_SMTP + if (C_SmtpUrl) ++ { + rc = mutt_smtp_send(env_from, to, NULL, NULL, mutt_b2s(tempfile), + e->content->encoding == ENC_8BIT); ++ } + else + #endif ++ { + rc = mutt_invoke_sendmail(env_from, to, NULL, NULL, mutt_b2s(tempfile), + e->content->encoding == ENC_8BIT); ++ } + } + + mutt_buffer_pool_release(&tempfile); +@@ -3159,7 +3156,7 @@ int mutt_bounce_message(FILE *fp, struct Email *e, struct AddressList *to) + mutt_addrlist_clear(&from_list); + return -1; + } +- mutt_addrlist_write(resent_from, sizeof(resent_from), &from_list, false); ++ mutt_addrlist_write(&from_list, resent_from, sizeof(resent_from), false); + + #ifdef USE_NNTP + OptNewsSend = false; +diff --git a/sidebar.c b/sidebar.c +index f00de76c8..199fa7df0 100644 +--- a/sidebar.c ++++ b/sidebar.c +@@ -34,18 +34,15 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "config/lib.h" + #include "core/lib.h" ++#include "gui/lib.h" + #include "sidebar.h" +-#include "color.h" + #include "context.h" +-#include "curs_lib.h" + #include "format_flags.h" + #include "globals.h" +-#include "mutt_curses.h" + #include "mutt_menu.h" +-#include "mutt_window.h" + #include "muttlib.h" + #include "opcodes.h" + +@@ -59,8 +56,11 @@ char *C_SidebarIndentString; ///< Config: (sidebar) Indent nested folders using + bool C_SidebarNewMailOnly; ///< Config: (sidebar) Only show folders with new/flagged mail + bool C_SidebarNonEmptyMailboxOnly; ///< Config: (sidebar) Only show folders with a non-zero number of mail + bool C_SidebarNextNewWrap; ///< Config: (sidebar) Wrap around when searching for the next mailbox with new mail ++bool C_SidebarOnRight; ///< Config: (sidebar) Display the sidebar on the right + bool C_SidebarShortPath; ///< Config: (sidebar) Abbreviate the paths using the #C_Folder variable + short C_SidebarSortMethod; ///< Config: (sidebar) Method to sort the sidebar ++bool C_SidebarVisible; ///< Config: (sidebar) Show the sidebar ++short C_SidebarWidth; ///< Config: (sidebar) Width of the sidebar + + /* Previous values for some sidebar config */ + static short PreviousSort = SORT_ORDER; /* sidebar_sort_method */ +@@ -105,10 +105,13 @@ enum DivType + * | \%d | Number of deleted messages + * | \%F | Number of Flagged messages in the mailbox + * | \%L | Number of messages after limiting +- * | \%n | N if mailbox has new mail, blank otherwise ++ * | \%n | 'N' if mailbox has new mail, ' ' (space) otherwise + * | \%N | Number of unread messages in the mailbox ++ * | \%o | Number of old unread messages in the mailbox ++ * | \%r | Number of read messages in the mailbox + * | \%S | Size of mailbox (total number of messages) + * | \%t | Number of tagged messages ++ * | \%Z | Number of new unseen messages in the mailbox + */ + static const char *sidebar_format_str(char *buf, size_t buflen, size_t col, int cols, + char op, const char *src, const char *prec, +@@ -195,6 +198,26 @@ static const char *sidebar_format_str(char *buf, size_t buflen, size_t col, int + optional = false; + break; + ++ case 'o': ++ if (!optional) ++ { ++ snprintf(fmt, sizeof(fmt), "%%%sd", prec); ++ snprintf(buf, buflen, fmt, m->msg_unread - m->msg_new); ++ } ++ else if ((c && (Context->mailbox->msg_unread - Context->mailbox->msg_new) == 0) || !c) ++ optional = false; ++ break; ++ ++ case 'r': ++ if (!optional) ++ { ++ snprintf(fmt, sizeof(fmt), "%%%sd", prec); ++ snprintf(buf, buflen, fmt, m->msg_count - m->msg_unread); ++ } ++ else if ((c && (Context->mailbox->msg_count - Context->mailbox->msg_unread) == 0) || !c) ++ optional = false; ++ break; ++ + case 'S': + if (!optional) + { +@@ -215,6 +238,16 @@ static const char *sidebar_format_str(char *buf, size_t buflen, size_t col, int + optional = false; + break; + ++ case 'Z': ++ if (!optional) ++ { ++ snprintf(fmt, sizeof(fmt), "%%%sd", prec); ++ snprintf(buf, buflen, fmt, m->msg_new); ++ } ++ else if ((c && (Context->mailbox->msg_new) == 0) || !c) ++ optional = false; ++ break; ++ + case '!': + if (m->msg_flagged == 0) + mutt_format_s(buf, buflen, prec, ""); +@@ -685,6 +718,7 @@ static bool prepare_sidebar(int page_size) + + /** + * draw_divider - Draw a line between the sidebar and the rest of neomutt ++ * @param win Window to draw on + * @param num_rows Height of the Sidebar + * @param num_cols Width of the Sidebar + * @retval 0 Empty string +@@ -697,7 +731,7 @@ static bool prepare_sidebar(int page_size) + * If the user hasn't set $sidebar_divider_char we pick a character for them, + * respecting the value of $ascii_chars. + */ +-static int draw_divider(int num_rows, int num_cols) ++static int draw_divider(struct MuttWindow *win, int num_rows, int num_cols) + { + if ((num_rows < 1) || (num_cols < 1)) + return 0; +@@ -753,7 +787,7 @@ static int draw_divider(int num_rows, int num_cols) + + for (int i = 0; i < num_rows; i++) + { +- mutt_window_move(MuttSidebarWindow, i, col); ++ mutt_window_move(win, i, col); + + switch (altchar) + { +@@ -774,6 +808,7 @@ static int draw_divider(int num_rows, int num_cols) + + /** + * fill_empty_space - Wipe the remaining Sidebar space ++ * @param win Window to draw on + * @param first_row Window line to start (0-based) + * @param num_rows Number of rows to fill + * @param div_width Width in screen characters taken by the divider +@@ -781,7 +816,8 @@ static int draw_divider(int num_rows, int num_cols) + * + * Write spaces over the area the sidebar isn't using. + */ +-static void fill_empty_space(int first_row, int num_rows, int div_width, int num_cols) ++static void fill_empty_space(struct MuttWindow *win, int first_row, ++ int num_rows, int div_width, int num_cols) + { + /* Fill the remaining rows with blank space */ + mutt_curses_set_color(MT_COLOR_NORMAL); +@@ -790,7 +826,7 @@ static void fill_empty_space(int first_row, int num_rows, int div_width, int num + div_width = 0; + for (int r = 0; r < num_rows; r++) + { +- mutt_window_move(MuttSidebarWindow, first_row + r, div_width); ++ mutt_window_move(win, first_row + r, div_width); + + for (int i = 0; i < num_cols; i++) + mutt_window_addch(' '); +@@ -799,6 +835,7 @@ static void fill_empty_space(int first_row, int num_rows, int div_width, int num + + /** + * draw_sidebar - Write out a list of mailboxes, in a panel ++ * @param win Window to draw on + * @param num_rows Height of the Sidebar + * @param num_cols Width of the Sidebar + * @param div_width Width in screen characters taken by the divider +@@ -817,7 +854,7 @@ static void fill_empty_space(int first_row, int num_rows, int div_width, int num + * "sidebar_indent_string" and sorted: "sidebar_sort_method". Finally, they're + * trimmed to fit the available space. + */ +-static void draw_sidebar(int num_rows, int num_cols, int div_width) ++static void draw_sidebar(struct MuttWindow *win, int num_rows, int num_cols, int div_width) + { + struct SbEntry *entry = NULL; + struct Mailbox *m = NULL; +@@ -865,7 +902,7 @@ static void draw_sidebar(int num_rows, int num_cols, int div_width) + if (C_SidebarOnRight) + col = div_width; + +- mutt_window_move(MuttSidebarWindow, row, col); ++ mutt_window_move(win, row, col); + if (Context && Context->mailbox && (Context->mailbox->realpath[0] != '\0') && + (mutt_str_strcmp(m->realpath, Context->mailbox->realpath) == 0)) + { +@@ -956,27 +993,31 @@ static void draw_sidebar(int num_rows, int num_cols, int div_width) + row++; + } + +- fill_empty_space(row, num_rows - row, div_width, w); ++ fill_empty_space(win, row, num_rows - row, div_width, w); + } + + /** + * mutt_sb_draw - Completely redraw the sidebar ++ * @param win Window to draw on + * + * Completely refresh the sidebar region. First draw the divider; then, for + * each Mailbox, call make_sidebar_entry; finally blank out any remaining space. + */ +-void mutt_sb_draw(void) ++void mutt_sb_draw(struct MuttWindow *win) + { +- if (!C_SidebarVisible) ++ if (!C_SidebarVisible || !win) ++ return; ++ ++ if (!mutt_window_is_visible(win)) + return; + + int row = 0, col = 0; +- mutt_window_get_coords(MuttSidebarWindow, &row, &col); ++ mutt_window_get_coords(win, &row, &col); + +- int num_rows = MuttSidebarWindow->rows; +- int num_cols = MuttSidebarWindow->cols; ++ int num_rows = win->state.rows; ++ int num_cols = win->state.cols; + +- int div_width = draw_divider(num_rows, num_cols); ++ int div_width = draw_divider(win, num_rows, num_cols); + + if (!Entries) + { +@@ -991,12 +1032,12 @@ void mutt_sb_draw(void) + + if (!prepare_sidebar(num_rows)) + { +- fill_empty_space(0, num_rows, div_width, num_cols - div_width); ++ fill_empty_space(win, 0, num_rows, div_width, num_cols - div_width); + return; + } + +- draw_sidebar(num_rows, num_cols, div_width); +- mutt_window_move(MuttSidebarWindow, row, col); ++ draw_sidebar(win, num_rows, num_cols, div_width); ++ mutt_window_move(win, row, col); + } + + /** +@@ -1160,3 +1201,56 @@ void mutt_sb_notify_mailbox(struct Mailbox *m, bool created) + + mutt_menu_set_current_redraw(REDRAW_SIDEBAR); + } ++ ++/** ++ * mutt_sb_observer - Listen for config changes affecting the sidebar - Implements ::observer_t ++ * @param nc Notification data ++ * @retval bool True, if successful ++ */ ++int mutt_sb_observer(struct NotifyCallback *nc) ++{ ++ if (!nc->event_data || !nc->global_data) ++ return -1; ++ if (nc->event_type != NT_CONFIG) ++ return 0; ++ ++ struct MuttWindow *win = nc->global_data; ++ struct EventConfig *ec = nc->event_data; ++ ++ if (mutt_str_strncmp(ec->name, "sidebar_", 8) != 0) ++ return 0; ++ ++ bool repaint = false; ++ ++ if (win->state.visible == !C_SidebarVisible) ++ { ++ win->state.visible = C_SidebarVisible; ++ repaint = true; ++ } ++ ++ if (win->req_cols != C_SidebarWidth) ++ { ++ win->req_cols = C_SidebarWidth; ++ repaint = true; ++ } ++ ++ struct MuttWindow *parent = win->parent; ++ struct MuttWindow *first = TAILQ_FIRST(&parent->children); ++ ++ if ((C_SidebarOnRight && (first == win)) || (!C_SidebarOnRight && (first != win))) ++ { ++ // Swap the Sidebar and the Container of the Index/Pager ++ TAILQ_REMOVE(&parent->children, first, entries); ++ TAILQ_INSERT_TAIL(&parent->children, first, entries); ++ repaint = true; ++ } ++ ++ if (repaint) ++ { ++ mutt_debug(LL_NOTIFY, "repaint sidebar\n"); ++ mutt_window_reflow(MuttDialogWindow); ++ mutt_menu_set_current_redraw_full(); ++ } ++ ++ return 0; ++} +diff --git a/sidebar.h b/sidebar.h +index 2a7242d5e..49a6293f8 100644 +--- a/sidebar.h ++++ b/sidebar.h +@@ -28,6 +28,8 @@ + #include + + struct Mailbox; ++struct MuttWindow; ++struct NotifyCallback; + + /* These Config Variables are only used in sidebar.c */ + extern short C_SidebarComponentDepth; +@@ -39,13 +41,17 @@ extern char *C_SidebarIndentString; + extern bool C_SidebarNewMailOnly; + extern bool C_SidebarNonEmptyMailboxOnly; + extern bool C_SidebarNextNewWrap; ++extern bool C_SidebarOnRight; + extern bool C_SidebarShortPath; + extern short C_SidebarSortMethod; ++extern bool C_SidebarVisible; ++extern short C_SidebarWidth; + +-void mutt_sb_change_mailbox(int op); +-void mutt_sb_draw(void); +-struct Mailbox *mutt_sb_get_highlight(void); +-void mutt_sb_notify_mailbox(struct Mailbox *m, bool created); +-void mutt_sb_set_open_mailbox(struct Mailbox *m); ++void mutt_sb_change_mailbox (int op); ++void mutt_sb_draw (struct MuttWindow *win); ++struct Mailbox *mutt_sb_get_highlight (void); ++void mutt_sb_notify_mailbox (struct Mailbox *m, bool created); ++int mutt_sb_observer (struct NotifyCallback *nc); ++void mutt_sb_set_open_mailbox(struct Mailbox *m); + + #endif /* MUTT_SIDEBAR_H */ +diff --git a/smtp.c b/smtp.c +index 90b7bf3d7..498a2a3fa 100644 +--- a/smtp.c ++++ b/smtp.c +@@ -39,19 +39,19 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" +-#include "conn/conn.h" ++#include "conn/lib.h" + #include "smtp.h" + #include "globals.h" ++#include "init.h" + #include "mutt_account.h" + #include "mutt_socket.h" + #include "progress.h" + #include "sendlib.h" + #ifdef USE_SSL + #include "config/lib.h" +-#include "mutt.h" + #endif + #ifdef USE_SASL + #include +@@ -61,6 +61,9 @@ + + /* These Config Variables are only used in smtp.c */ + struct Slist *C_SmtpAuthenticators; ///< Config: (smtp) List of allowed authentication methods ++char *C_SmtpOauthRefreshCommand; ///< Config: (smtp) External command to generate OAUTH refresh token ++char *C_SmtpPass; ///< Config: (smtp) Password for the SMTP server ++char *C_SmtpUser; ///< Config: (smtp) Username for the SMTP server + + #define smtp_success(x) ((x) / 100 == 2) + #define SMTP_READY 334 +@@ -319,21 +322,43 @@ static bool addresses_use_unicode(const struct AddressList *al) + return false; + } + ++/** ++ * smtp_get_field - Get connection login credentials - Implements ConnAccount::get_field() ++ */ ++static const char *smtp_get_field(enum ConnAccountField field) ++{ ++ switch (field) ++ { ++ case MUTT_CA_LOGIN: ++ case MUTT_CA_USER: ++ return C_SmtpUser; ++ case MUTT_CA_PASS: ++ return C_SmtpPass; ++ case MUTT_CA_OAUTH_CMD: ++ return C_SmtpOauthRefreshCommand; ++ case MUTT_CA_HOST: ++ default: ++ return NULL; ++ } ++} ++ + /** + * smtp_fill_account - Create ConnAccount object from SMTP Url +- * @param account ConnAccount to populate ++ * @param cac ConnAccount to populate + * @retval 0 Success + * @retval -1 Error + */ +-static int smtp_fill_account(struct ConnAccount *account) ++static int smtp_fill_account(struct ConnAccount *cac) + { +- account->flags = 0; +- account->port = 0; +- account->type = MUTT_ACCT_TYPE_SMTP; ++ cac->flags = 0; ++ cac->port = 0; ++ cac->type = MUTT_ACCT_TYPE_SMTP; ++ cac->service = "smtp"; ++ cac->get_field = smtp_get_field; + + struct Url *url = url_parse(C_SmtpUrl); + if (!url || ((url->scheme != U_SMTP) && (url->scheme != U_SMTPS)) || +- !url->host || (mutt_account_fromurl(account, url) < 0)) ++ !url->host || (mutt_account_fromurl(cac, url) < 0)) + { + url_free(&url); + mutt_error(_("Invalid SMTP URL: %s"), C_SmtpUrl); +@@ -341,12 +366,12 @@ static int smtp_fill_account(struct ConnAccount *account) + } + + if (url->scheme == U_SMTPS) +- account->flags |= MUTT_ACCT_SSL; ++ cac->flags |= MUTT_ACCT_SSL; + +- if (account->port == 0) ++ if (cac->port == 0) + { +- if (account->flags & MUTT_ACCT_SSL) +- account->port = SMTPS_PORT; ++ if (cac->flags & MUTT_ACCT_SSL) ++ cac->port = SMTPS_PORT; + else + { + static unsigned short SmtpPort = 0; +@@ -359,7 +384,7 @@ static int smtp_fill_account(struct ConnAccount *account) + SmtpPort = SMTP_PORT; + mutt_debug(LL_DEBUG3, "Using default SMTP port %d\n", SmtpPort); + } +- account->port = SmtpPort; ++ cac->port = SmtpPort; + } + } + +@@ -740,7 +765,7 @@ int mutt_smtp_send(const struct AddressList *from, const struct AddressList *to, + const char *msgfile, bool eightbit) + { + struct Connection *conn = NULL; +- struct ConnAccount account; ++ struct ConnAccount cac = { { 0 } }; + const char *envfrom = NULL; + char buf[1024]; + int rc = -1; +@@ -757,10 +782,10 @@ int mutt_smtp_send(const struct AddressList *from, const struct AddressList *to, + return -1; + } + +- if (smtp_fill_account(&account) < 0) ++ if (smtp_fill_account(&cac) < 0) + return rc; + +- conn = mutt_conn_find(NULL, &account); ++ conn = mutt_conn_find(&cac); + if (!conn) + return -1; + +diff --git a/smtp.h b/smtp.h +index 6f75db415..e8d0fffbe 100644 +--- a/smtp.h ++++ b/smtp.h +@@ -29,6 +29,9 @@ + + /* These Config Variables are only used in smtp.c */ + extern struct Slist *C_SmtpAuthenticators; ++extern char *C_SmtpOauthRefreshCommand; ++extern char *C_SmtpPass; ++extern char *C_SmtpUser; + + #ifdef USE_SMTP + struct AddressList; +diff --git a/sort.c b/sort.c +index 9c19cf47b..f45bf0f99 100644 +--- a/sort.c ++++ b/sort.c +@@ -31,7 +31,7 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + #include "core/lib.h" +@@ -44,7 +44,7 @@ + #include "options.h" + #include "score.h" + #ifdef USE_NNTP +-#include "nntp/nntp.h" ++#include "nntp/lib.h" + #endif + + /* These Config Variables are only used in sort.c */ +@@ -77,8 +77,10 @@ int perform_auxsort(int retval, const void *a, const void *b) + /* If the items still match, use their index positions + * to maintain a stable sort order */ + if (retval == 0) ++ { + retval = (*((struct Email const *const *) a))->index - + (*((struct Email const *const *) b))->index; ++ } + return retval; + } + +diff --git a/state.c b/state.c +index 62789fb4e..f820925d0 100644 +--- a/state.c ++++ b/state.c +@@ -30,7 +30,7 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "state.h" + #include "globals.h" + +diff --git a/status.c b/status.c +index eaeda5754..c7c491bcc 100644 +--- a/status.c ++++ b/status.c +@@ -29,16 +29,16 @@ + #include "config.h" + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "config/lib.h" + #include "core/lib.h" ++#include "gui/lib.h" + #include "status.h" + #include "context.h" + #include "format_flags.h" + #include "globals.h" + #include "mutt_mailbox.h" + #include "mutt_menu.h" +-#include "mutt_window.h" + #include "muttlib.h" + #include "options.h" + #include "protos.h" +@@ -408,6 +408,6 @@ static const char *status_format_str(char *buf, size_t buflen, size_t col, int c + */ + void menu_status_line(char *buf, size_t buflen, struct Menu *menu, const char *p) + { +- mutt_expando_format(buf, buflen, 0, menu ? menu->statuswin->cols : buflen, p, ++ mutt_expando_format(buf, buflen, 0, menu ? menu->win_ibar->state.cols : buflen, p, + status_format_str, (unsigned long) menu, MUTT_FORMAT_NO_FLAGS); + } +diff --git a/system.c b/system.c +index 10f90993b..dc719d2c4 100644 +--- a/system.c ++++ b/system.c +@@ -32,11 +32,10 @@ + #include + #include // IWYU pragma: keep + #include +-#include "mutt/mutt.h" +-#include "mutt.h" ++#include "mutt/lib.h" + #include "protos.h" // IWYU pragma: keep + #ifdef USE_IMAP +-#include "imap/imap.h" ++#include "imap/lib.h" + #endif + + /** +diff --git a/test/Makefile.autosetup b/test/Makefile.autosetup +index 70842f413..3fc21c167 100644 +--- a/test/Makefile.autosetup ++++ b/test/Makefile.autosetup +@@ -87,12 +87,14 @@ CONFIG_OBJS = test/config/account.o \ + test/config/long.o \ + test/config/mbtable.o \ + test/config/number.o \ ++ test/config/path.o \ + test/config/quad.o \ + test/config/regex.o \ + test/config/set.o \ + test/config/slist.o \ + test/config/sort.o \ + test/config/string.o \ ++ test/config/subset.o \ + test/config/synonym.o + + DATE_OBJS = test/date/mutt_date_add_timeout.o \ +@@ -185,6 +187,8 @@ GROUP_OBJS = test/group/mutt_group_match.o \ + test/group/mutt_grouplist_remove_regex.o \ + test/group/mutt_pattern_group.o + ++GUI_OBJS = test/gui/reflow.o ++ + HASH_OBJS = test/hash/mutt_hash_delete.o \ + test/hash/mutt_hash_find.o \ + test/hash/mutt_hash_find_bucket.o \ +@@ -425,7 +429,7 @@ BUILD_DIRS = $(PWD)/test/address $(PWD)/test/attach $(PWD)/test/base64 \ + $(PWD)/test/body $(PWD)/test/buffer $(PWD)/test/charset \ + $(PWD)/test/config $(PWD)/test/date $(PWD)/test/email \ + $(PWD)/test/envelope $(PWD)/test/envlist $(PWD)/test/file \ +- $(PWD)/test/from $(PWD)/test/group $(PWD)/test/hash \ ++ $(PWD)/test/from $(PWD)/test/group $(PWD)/test/gui $(PWD)/test/hash \ + $(PWD)/test/history $(PWD)/test/idna $(PWD)/test/list \ + $(PWD)/test/logging $(PWD)/test/mapping $(PWD)/test/mbyte \ + $(PWD)/test/md5 $(PWD)/test/memory $(PWD)/test/parameter \ +@@ -449,6 +453,7 @@ TEST_OBJS = test/main.o \ + $(FILE_OBJS) \ + $(FROM_OBJS) \ + $(GROUP_OBJS) \ ++ $(GUI_OBJS) \ + $(HASH_OBJS) \ + $(HISTORY_OBJS) \ + $(IDNA_OBJS) \ +diff --git a/test/acutest.h b/test/acutest.h +index 448d8fdd6..4038a42af 100644 +--- a/test/acutest.h ++++ b/test/acutest.h +@@ -2,7 +2,8 @@ + * Acutest -- Another C/C++ Unit Test facility + * + * +- * Copyright (c) 2013-2019 Martin Mitas ++ * Copyright 2013-2020 Martin Mitas ++ * Copyright 2019 Garrett D'Amore + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), +@@ -23,8 +24,8 @@ + * IN THE SOFTWARE. + */ + +-#ifndef ACUTEST_H__ +-#define ACUTEST_H__ ++#ifndef ACUTEST_H ++#define ACUTEST_H + + + /************************ +@@ -56,7 +57,7 @@ + * + * void test_func(void); + */ +-#define TEST_LIST const struct test__ test_list__[] ++#define TEST_LIST const struct test_ test_list_[] + + + /* Macros for testing whether an unit test succeeds or fails. These macros +@@ -78,8 +79,36 @@ + * TEST_CHECK(ptr->member2 > 200); + * } + */ +-#define TEST_CHECK_(cond,...) test_check__((cond), __FILE__, __LINE__, __VA_ARGS__) +-#define TEST_CHECK(cond) test_check__((cond), __FILE__, __LINE__, "%s", #cond) ++#define TEST_CHECK_(cond,...) test_check_((cond), __FILE__, __LINE__, __VA_ARGS__) ++#define TEST_CHECK(cond) test_check_((cond), __FILE__, __LINE__, "%s", #cond) ++ ++ ++/* These macros are the same as TEST_CHECK_ and TEST_CHECK except that if the ++ * condition fails, the currently executed unit test is immediately aborted. ++ * ++ * That is done either by calling abort() if the unit test is executed as a ++ * child process; or via longjmp() if the unit test is executed within the ++ * main Acutest process. ++ * ++ * As a side effect of such abortion, your unit tests may cause memory leaks, ++ * unflushed file descriptors, and other fenomena caused by the abortion. ++ * ++ * Therefore you should not use these as a general replacement for TEST_CHECK. ++ * Use it with some caution, especially if your test causes some other side ++ * effects to the outside world (e.g. communicating with some server, inserting ++ * into a database etc.). ++ */ ++#define TEST_ASSERT_(cond,...) \ ++ do { \ ++ if(!test_check_((cond), __FILE__, __LINE__, __VA_ARGS__)) \ ++ test_abort_(); \ ++ } while(0) ++#define TEST_ASSERT(cond) \ ++ do { \ ++ if(!test_check_((cond), __FILE__, __LINE__, "%s", #cond)) \ ++ test_abort_(); \ ++ } while(0) ++ + + #ifdef __cplusplus + /* Macros to verify that the code (the 1st argument) throws exception of given +@@ -98,35 +127,35 @@ + */ + #define TEST_EXCEPTION(code, exctype) \ + do { \ +- bool exc_ok__ = false; \ +- const char *msg__ = NULL; \ ++ bool exc_ok_ = false; \ ++ const char *msg_ = NULL; \ + try { \ + code; \ +- msg__ = "No exception thrown."; \ ++ msg_ = "No exception thrown."; \ + } catch(exctype const&) { \ +- exc_ok__= true; \ ++ exc_ok_= true; \ + } catch(...) { \ +- msg__ = "Unexpected exception thrown."; \ ++ msg_ = "Unexpected exception thrown."; \ + } \ +- test_check__(exc_ok__, __FILE__, __LINE__, #code " throws " #exctype); \ +- if(msg__ != NULL) \ +- test_message__("%s", msg__); \ ++ test_check_(exc_ok_, __FILE__, __LINE__, #code " throws " #exctype); \ ++ if(msg_ != NULL) \ ++ test_message_("%s", msg_); \ + } while(0) + #define TEST_EXCEPTION_(code, exctype, ...) \ + do { \ +- bool exc_ok__ = false; \ +- const char *msg__ = NULL; \ ++ bool exc_ok_ = false; \ ++ const char *msg_ = NULL; \ + try { \ + code; \ +- msg__ = "No exception thrown."; \ ++ msg_ = "No exception thrown."; \ + } catch(exctype const&) { \ +- exc_ok__= true; \ ++ exc_ok_= true; \ + } catch(...) { \ +- msg__ = "Unexpected exception thrown."; \ ++ msg_ = "Unexpected exception thrown."; \ + } \ +- test_check__(exc_ok__, __FILE__, __LINE__, __VA_ARGS__); \ +- if(msg__ != NULL) \ +- test_message__("%s", msg__); \ ++ test_check_(exc_ok_, __FILE__, __LINE__, __VA_ARGS__); \ ++ if(msg_ != NULL) \ ++ test_message_("%s", msg_); \ + } while(0) + #endif /* #ifdef __cplusplus */ + +@@ -149,8 +178,8 @@ + * implicitly the previous one. To end the test case explicitly (e.g. to end + * the last test case after exiting the loop), you may use TEST_CASE(NULL). + */ +-#define TEST_CASE_(...) test_case__(__VA_ARGS__) +-#define TEST_CASE(name) test_case__("%s", name); ++#define TEST_CASE_(...) test_case_(__VA_ARGS__) ++#define TEST_CASE(name) test_case_("%s", name) + + + /* printf-like macro for outputting an extra information about a failure. +@@ -174,7 +203,7 @@ + * The macro can deal with multi-line output fairly well. It also automatically + * adds a final new-line if there is none present. + */ +-#define TEST_MSG(...) test_message__(__VA_ARGS__) ++#define TEST_MSG(...) test_message_(__VA_ARGS__) + + + /* Maximal output per TEST_MSG call. Longer messages are cut. +@@ -191,11 +220,12 @@ + * generating any printf-like message, this is for dumping raw block of a + * memory in a hexadecimal form: + * +- * TEST_CHECK(size_produced == size_expected && memcmp(addr_produced, addr_expected, size_produced) == 0); ++ * TEST_CHECK(size_produced == size_expected && ++ * memcmp(addr_produced, addr_expected, size_produced) == 0); + * TEST_DUMP("Expected:", addr_expected, size_expected); + * TEST_DUMP("Produced:", addr_produced, size_produced); + */ +-#define TEST_DUMP(title, addr, size) test_dump__(title, addr, size) ++#define TEST_DUMP(title, addr, size) test_dump_(title, addr, size) + + /* Maximal output per TEST_DUMP call (in bytes to dump). Longer blocks are cut. + * You may define another limit prior including "acutest.h" +@@ -216,9 +246,10 @@ + #include + #include + #include ++#include + + #if defined(unix) || defined(__unix__) || defined(__unix) || defined(__APPLE__) +- #define ACUTEST_UNIX__ 1 ++ #define ACUTEST_UNIX_ 1 + #include + #include + #include +@@ -228,18 +259,18 @@ + #include + + #if defined CLOCK_PROCESS_CPUTIME_ID && defined CLOCK_MONOTONIC +- #define ACUTEST_HAS_POSIX_TIMER__ 1 ++ #define ACUTEST_HAS_POSIX_TIMER_ 1 + #endif + #endif + +-#if defined(__gnu_linux__) +- #define ACUTEST_LINUX__ 1 ++#if defined(_gnu_linux_) ++ #define ACUTEST_LINUX_ 1 + #include + #include + #endif + + #if defined(_WIN32) || defined(__WIN32__) || defined(__WINDOWS__) +- #define ACUTEST_WIN__ 1 ++ #define ACUTEST_WIN_ 1 + #include + #include + #endif +@@ -248,8 +279,21 @@ + #include + #endif + ++/* Load valgrind.h, if available. This allows to detect valgrind's presence via RUNNING_ON_VALGRIND. */ ++#ifdef __has_include ++ #if __has_include() ++ #include ++ #endif ++#endif ++ ++/* Enable the use of the non-standard keyword __attribute__ to silence warnings under some compilers */ ++#if defined(__GNUC__) || defined(__clang__) ++ #define TEST_ATTRIBUTE_(_x) __attribute__((_x)) ++#else ++ #define TEST_ATTRIBUTE_(_x) ++#endif + +-/* Note our global private identifiers end with '__' to mitigate risk of clash ++/* Note our global private identifiers end with '_' to mitigate risk of clash + * with the unit tests implementation. */ + + +@@ -258,166 +302,175 @@ + #endif + + +-struct test__ { ++struct test_ { + const char* name; + void (*func)(void); + }; + +-struct test_detail__ { ++struct test_detail_ { + unsigned char flags; + double duration; + }; + + enum { +- TEST_FLAG_RUN__ = 1 << 0, +- TEST_FLAG_SUCCESS__ = 1 << 1, +- TEST_FLAG_FAILURE__ = 1 << 2, ++ TEST_FLAG_RUN_ = 1 << 0, ++ TEST_FLAG_SUCCESS_ = 1 << 1, ++ TEST_FLAG_FAILURE_ = 1 << 2, + }; + +-extern const struct test__ test_list__[]; ++extern const struct test_ test_list_[]; + +-int test_check__(int cond, const char* file, int line, const char* fmt, ...); +-void test_case__(const char* fmt, ...); +-void test_message__(const char* fmt, ...); +-void test_dump__(const char* title, const void* addr, size_t size); ++int test_check_(int cond, const char* file, int line, const char* fmt, ...); ++void test_case_(const char* fmt, ...); ++void test_message_(const char* fmt, ...); ++void test_dump_(const char* title, const void* addr, size_t size); ++void test_abort_(void) TEST_ATTRIBUTE_(noreturn); + + + #ifndef TEST_NO_MAIN + +-static char* test_argv0__ = NULL; +-static size_t test_list_size__ = 0; +-static struct test_detail__ *test_details__ = NULL; +-static size_t test_count__ = 0; +-static int test_no_exec__ = -1; +-static int test_no_summary__ = 0; +-static int test_tap__ = 0; +-static int test_skip_mode__ = 0; +-static int test_worker__ = 0; +-static int test_worker_index__ = 0; +-static int test_cond_failed__ = 0; +-static FILE *test_xml_output__ = NULL; +- +-static int test_stat_failed_units__ = 0; +-static int test_stat_run_units__ = 0; +- +-static const struct test__* test_current_unit__ = NULL; +-static int test_current_index__ = 0; +-static char test_case_name__[64] = ""; +-static int test_current_already_logged__ = 0; +-static int test_case_current_already_logged__ = 0; +-static int test_verbose_level__ = 2; +-static int test_current_failures__ = 0; +-static int test_colorize__ = 0; +-static int test_timer__ = 0; +- +-#if defined ACUTEST_WIN__ +- typedef LARGE_INTEGER test_timer_type__; +- static LARGE_INTEGER test_timer_freq__; +- static test_timer_type__ test_timer_start__; +- static test_timer_type__ test_timer_end__; ++static char* test_argv0_ = NULL; ++static size_t test_list_size_ = 0; ++static struct test_detail_ *test_details_ = NULL; ++static size_t test_count_ = 0; ++static int test_no_exec_ = -1; ++static int test_no_summary_ = 0; ++static int test_tap_ = 0; ++static int test_skip_mode_ = 0; ++static int test_worker_ = 0; ++static int test_worker_index_ = 0; ++static int test_cond_failed_ = 0; ++static int test_was_aborted_ = 0; ++static FILE *test_xml_output_ = NULL; ++ ++static int test_stat_failed_units_ = 0; ++static int test_stat_run_units_ = 0; ++ ++static const struct test_* test_current_unit_ = NULL; ++static int test_current_index_ = 0; ++static char test_case_name_[64] = ""; ++static int test_current_already_logged_ = 0; ++static int test_case_current_already_logged_ = 0; ++static int test_verbose_level_ = 2; ++static int test_current_failures_ = 0; ++static int test_colorize_ = 0; ++static int test_timer_ = 0; ++ ++static int test_abort_has_jmp_buf_ = 0; ++static jmp_buf test_abort_jmp_buf_; ++ ++#if defined ACUTEST_WIN_ ++ typedef LARGE_INTEGER test_timer_type_; ++ static LARGE_INTEGER test_timer_freq_; ++ static test_timer_type_ test_timer_start_; ++ static test_timer_type_ test_timer_end_; + + static void +- test_timer_init__(void) ++ test_timer_init_(void) + { +- QueryPerformanceFrequency(&test_timer_freq__); ++ QueryPerformanceFrequency(&test_timer_freq_); + } + + static void +- test_timer_get_time__(LARGE_INTEGER* ts) ++ test_timer_get_time_(LARGE_INTEGER* ts) + { + QueryPerformanceCounter(ts); + } + + static double +- test_timer_diff__(LARGE_INTEGER start, LARGE_INTEGER end) ++ test_timer_diff_(LARGE_INTEGER start, LARGE_INTEGER end) + { +- double duration = end.QuadPart - start.QuadPart; +- duration /= test_timer_freq__.QuadPart; ++ double duration = (double)(end.QuadPart - start.QuadPart); ++ duration /= (double)test_timer_freq_.QuadPart; + return duration; + } + + static void +- test_timer_print_diff__(void) ++ test_timer_print_diff_(void) + { +- printf("%.6lf secs", test_timer_diff__(test_timer_start__, test_timer_end__)); ++ printf("%.6lf secs", test_timer_diff_(test_timer_start_, test_timer_end_)); + } +-#elif defined ACUTEST_HAS_POSIX_TIMER__ +- static clockid_t test_timer_id__; +- typedef struct timespec test_timer_type__; +- static test_timer_type__ test_timer_start__; +- static test_timer_type__ test_timer_end__; ++#elif defined ACUTEST_HAS_POSIX_TIMER_ ++ static clockid_t test_timer_id_; ++ typedef struct timespec test_timer_type_; ++ static test_timer_type_ test_timer_start_; ++ static test_timer_type_ test_timer_end_; + + static void +- test_timer_init__(void) ++ test_timer_init_(void) + { +- if(test_timer__ == 1) +- #ifdef CLOCK_MONOTONIC_RAW +- /* linux specific; not subject of NTP adjustments or adjtime() */ +- test_timer_id__ = CLOCK_MONOTONIC_RAW; +- #else +- test_timer_id__ = CLOCK_MONOTONIC; +- #endif +- else if(test_timer__ == 2) +- test_timer_id__ = CLOCK_PROCESS_CPUTIME_ID; ++ if(test_timer_ == 1) ++ test_timer_id_ = CLOCK_MONOTONIC; ++ else if(test_timer_ == 2) ++ test_timer_id_ = CLOCK_PROCESS_CPUTIME_ID; + } + + static void +- test_timer_get_time__(struct timespec* ts) ++ test_timer_get_time_(struct timespec* ts) + { +- clock_gettime(test_timer_id__, ts); ++ clock_gettime(test_timer_id_, ts); + } + + static double +- test_timer_diff__(struct timespec start, struct timespec end) ++ test_timer_diff_(struct timespec start, struct timespec end) + { +- return ((double) end.tv_sec + +- (double) end.tv_nsec * 10e-9) +- - +- ((double) start.tv_sec + +- (double) start.tv_nsec * 10e-9); ++ double endns; ++ double startns; ++ ++ endns = end.tv_sec; ++ endns *= 1e9; ++ endns += end.tv_nsec; ++ ++ startns = start.tv_sec; ++ startns *= 1e9; ++ startns += start.tv_nsec; ++ ++ return ((endns - startns)/ 1e9); + } + + static void +- test_timer_print_diff__(void) ++ test_timer_print_diff_(void) + { + printf("%.6lf secs", +- test_timer_diff__(test_timer_start__, test_timer_end__)); ++ test_timer_diff_(test_timer_start_, test_timer_end_)); + } + #else +- typedef int test_timer_type__; +- static test_timer_type__ test_timer_start__; +- static test_timer_type__ test_timer_end__; ++ typedef int test_timer_type_; ++ static test_timer_type_ test_timer_start_; ++ static test_timer_type_ test_timer_end_; + + void +- test_timer_init__(void) ++ test_timer_init_(void) + {} + + static void +- test_timer_get_time__(int* ts) ++ test_timer_get_time_(int* ts) + { + (void) ts; + } + + static double +- test_timer_diff__(int start, int end) ++ test_timer_diff_(int start, int end) + { ++ (void) start; ++ (void) end; + return 0.0; + } + + static void +- test_timer_print_diff__(void) ++ test_timer_print_diff_(void) + {} + #endif + +-#define TEST_COLOR_DEFAULT__ 0 +-#define TEST_COLOR_GREEN__ 1 +-#define TEST_COLOR_RED__ 2 +-#define TEST_COLOR_DEFAULT_INTENSIVE__ 3 +-#define TEST_COLOR_GREEN_INTENSIVE__ 4 +-#define TEST_COLOR_RED_INTENSIVE__ 5 ++#define TEST_COLOR_DEFAULT_ 0 ++#define TEST_COLOR_GREEN_ 1 ++#define TEST_COLOR_RED_ 2 ++#define TEST_COLOR_DEFAULT_INTENSIVE_ 3 ++#define TEST_COLOR_GREEN_INTENSIVE_ 4 ++#define TEST_COLOR_RED_INTENSIVE_ 5 + +-static int +-test_print_in_color__(int color, const char* fmt, ...) ++static int TEST_ATTRIBUTE_(format (printf, 2, 3)) ++test_print_in_color_(int color, const char* fmt, ...) + { + va_list args; + char buffer[256]; +@@ -428,27 +481,27 @@ test_print_in_color__(int color, const char* fmt, ...) + va_end(args); + buffer[sizeof(buffer)-1] = '\0'; + +- if(!test_colorize__) { ++ if(!test_colorize_) { + return printf("%s", buffer); + } + +-#if defined ACUTEST_UNIX__ ++#if defined ACUTEST_UNIX_ + { + const char* col_str; + switch(color) { +- case TEST_COLOR_GREEN__: col_str = "\033[0;32m"; break; +- case TEST_COLOR_RED__: col_str = "\033[0;31m"; break; +- case TEST_COLOR_GREEN_INTENSIVE__: col_str = "\033[1;32m"; break; +- case TEST_COLOR_RED_INTENSIVE__: col_str = "\033[1;31m"; break; +- case TEST_COLOR_DEFAULT_INTENSIVE__: col_str = "\033[1m"; break; +- default: col_str = "\033[0m"; break; ++ case TEST_COLOR_GREEN_: col_str = "\033[0;32m"; break; ++ case TEST_COLOR_RED_: col_str = "\033[0;31m"; break; ++ case TEST_COLOR_GREEN_INTENSIVE_: col_str = "\033[1;32m"; break; ++ case TEST_COLOR_RED_INTENSIVE_: col_str = "\033[1;31m"; break; ++ case TEST_COLOR_DEFAULT_INTENSIVE_: col_str = "\033[1m"; break; ++ default: col_str = "\033[0m"; break; + } + printf("%s", col_str); + n = printf("%s", buffer); + printf("\033[0m"); + return n; + } +-#elif defined ACUTEST_WIN__ ++#elif defined ACUTEST_WIN_ + { + HANDLE h; + CONSOLE_SCREEN_BUFFER_INFO info; +@@ -458,12 +511,12 @@ test_print_in_color__(int color, const char* fmt, ...) + GetConsoleScreenBufferInfo(h, &info); + + switch(color) { +- case TEST_COLOR_GREEN__: attr = FOREGROUND_GREEN; break; +- case TEST_COLOR_RED__: attr = FOREGROUND_RED; break; +- case TEST_COLOR_GREEN_INTENSIVE__: attr = FOREGROUND_GREEN | FOREGROUND_INTENSITY; break; +- case TEST_COLOR_RED_INTENSIVE__: attr = FOREGROUND_RED | FOREGROUND_INTENSITY; break; +- case TEST_COLOR_DEFAULT_INTENSIVE__: attr = FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_RED | FOREGROUND_INTENSITY; break; +- default: attr = 0; break; ++ case TEST_COLOR_GREEN_: attr = FOREGROUND_GREEN; break; ++ case TEST_COLOR_RED_: attr = FOREGROUND_RED; break; ++ case TEST_COLOR_GREEN_INTENSIVE_: attr = FOREGROUND_GREEN | FOREGROUND_INTENSITY; break; ++ case TEST_COLOR_RED_INTENSIVE_: attr = FOREGROUND_RED | FOREGROUND_INTENSITY; break; ++ case TEST_COLOR_DEFAULT_INTENSIVE_: attr = FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_RED | FOREGROUND_INTENSITY; break; ++ default: attr = 0; break; + } + if(attr != 0) + SetConsoleTextAttribute(h, attr); +@@ -478,49 +531,49 @@ test_print_in_color__(int color, const char* fmt, ...) + } + + static void +-test_begin_test_line__(const struct test__* test) ++test_begin_test_line_(const struct test_* test) + { +- if(!test_tap__) { +- if(test_verbose_level__ >= 3) { +- test_print_in_color__(TEST_COLOR_DEFAULT_INTENSIVE__, "Test %s:\n", test->name); +- test_current_already_logged__++; +- } else if(test_verbose_level__ >= 1) { ++ if(!test_tap_) { ++ if(test_verbose_level_ >= 3) { ++ test_print_in_color_(TEST_COLOR_DEFAULT_INTENSIVE_, "Test %s:\n", test->name); ++ test_current_already_logged_++; ++ } else if(test_verbose_level_ >= 1) { + int n; + char spaces[48]; + +- n = test_print_in_color__(TEST_COLOR_DEFAULT_INTENSIVE__, "Test %s... ", test->name); ++ n = test_print_in_color_(TEST_COLOR_DEFAULT_INTENSIVE_, "Test %s... ", test->name); + memset(spaces, ' ', sizeof(spaces)); + if(n < (int) sizeof(spaces)) + printf("%.*s", (int) sizeof(spaces) - n, spaces); + } else { +- test_current_already_logged__ = 1; ++ test_current_already_logged_ = 1; + } + } + } + + static void +-test_finish_test_line__(int result) ++test_finish_test_line_(int result) + { +- if(test_tap__) { ++ if(test_tap_) { + const char* str = (result == 0) ? "ok" : "not ok"; + +- printf("%s %u - %s\n", str, test_current_index__ + 1, test_current_unit__->name); ++ printf("%s %u - %s\n", str, test_current_index_ + 1, test_current_unit_->name); + +- if(result == 0 && test_timer__) { ++ if(result == 0 && test_timer_) { + printf("# Duration: "); +- test_timer_print_diff__(); ++ test_timer_print_diff_(); + printf("\n"); + } + } else { +- int color = (result == 0) ? TEST_COLOR_GREEN_INTENSIVE__ : TEST_COLOR_RED_INTENSIVE__; ++ int color = (result == 0) ? TEST_COLOR_GREEN_INTENSIVE_ : TEST_COLOR_RED_INTENSIVE_; + const char* str = (result == 0) ? "OK" : "FAILED"; + printf("[ "); +- test_print_in_color__(color, str); ++ test_print_in_color_(color, "%s", str); + printf(" ]"); + +- if(result == 0 && test_timer__) { ++ if(result == 0 && test_timer_) { + printf(" "); +- test_timer_print_diff__(); ++ test_timer_print_diff_(); + } + + printf("\n"); +@@ -528,12 +581,12 @@ test_finish_test_line__(int result) + } + + static void +-test_line_indent__(int level) ++test_line_indent_(int level) + { + static const char spaces[] = " "; + int n = level * 2; + +- if(test_tap__ && n > 0) { ++ if(test_tap_ && n > 0) { + n--; + printf("#"); + } +@@ -545,8 +598,8 @@ test_line_indent__(int level) + printf("%.*s", n, spaces); + } + +-int +-test_check__(int cond, const char* file, int line, const char* fmt, ...) ++int TEST_ATTRIBUTE_(format (printf, 4, 5)) ++test_check_(int cond, const char* file, int line, const char* fmt, ...) + { + const char *result_str; + int result_color; +@@ -554,46 +607,44 @@ test_check__(int cond, const char* file, int line, const char* fmt, ...) + + if(cond) { + result_str = "ok"; +- result_color = TEST_COLOR_GREEN__; ++ result_color = TEST_COLOR_GREEN_; + verbose_level = 3; + } else { +- if(!test_current_already_logged__ && test_current_unit__ != NULL) +- test_finish_test_line__(-1); ++ if(!test_current_already_logged_ && test_current_unit_ != NULL) ++ test_finish_test_line_(-1); + + result_str = "failed"; +- result_color = TEST_COLOR_RED__; ++ result_color = TEST_COLOR_RED_; + verbose_level = 2; +- test_current_failures__++; +- test_current_already_logged__++; ++ test_current_failures_++; ++ test_current_already_logged_++; + } + +- if(test_verbose_level__ >= verbose_level) { ++ if(test_verbose_level_ >= verbose_level) { + va_list args; + +- if(!test_case_current_already_logged__ && test_case_name__[0]) { +- test_line_indent__(1); +- test_print_in_color__(TEST_COLOR_DEFAULT_INTENSIVE__, "Case %s:\n", test_case_name__); +- test_current_already_logged__++; +- test_case_current_already_logged__++; ++ if(!test_case_current_already_logged_ && test_case_name_[0]) { ++ test_line_indent_(1); ++ test_print_in_color_(TEST_COLOR_DEFAULT_INTENSIVE_, "Case %s:\n", test_case_name_); ++ test_current_already_logged_++; ++ test_case_current_already_logged_++; + } + +- test_line_indent__(test_case_name__[0] ? 2 : 1); ++ test_line_indent_(test_case_name_[0] ? 2 : 1); + if(file != NULL) { +- if(test_verbose_level__ < 3) { +-#ifdef ACUTEST_WIN__ +- const char* lastsep1 = strrchr(file, '\\'); +- const char* lastsep2 = strrchr(file, '/'); +- if(lastsep1 == NULL) +- lastsep1 = file-1; +- if(lastsep2 == NULL) +- lastsep2 = file-1; +- file = (lastsep1 > lastsep2 ? lastsep1 : lastsep2) + 1; ++#ifdef ACUTEST_WIN_ ++ const char* lastsep1 = strrchr(file, '\\'); ++ const char* lastsep2 = strrchr(file, '/'); ++ if(lastsep1 == NULL) ++ lastsep1 = file-1; ++ if(lastsep2 == NULL) ++ lastsep2 = file-1; ++ file = (lastsep1 > lastsep2 ? lastsep1 : lastsep2) + 1; + #else +- const char* lastsep = strrchr(file, '/'); +- if(lastsep != NULL) +- file = lastsep+1; ++ const char* lastsep = strrchr(file, '/'); ++ if(lastsep != NULL) ++ file = lastsep+1; + #endif +- } + printf("%s:%d: Check ", file, line); + } + +@@ -602,58 +653,58 @@ test_check__(int cond, const char* file, int line, const char* fmt, ...) + va_end(args); + + printf("... "); +- test_print_in_color__(result_color, result_str); ++ test_print_in_color_(result_color, "%s", result_str); + printf("\n"); +- test_current_already_logged__++; ++ test_current_already_logged_++; + } + +- test_cond_failed__ = (cond == 0); +- return !test_cond_failed__; ++ test_cond_failed_ = (cond == 0); ++ return !test_cond_failed_; + } + +-void +-test_case__(const char* fmt, ...) ++void TEST_ATTRIBUTE_(format (printf, 1, 2)) ++test_case_(const char* fmt, ...) + { + va_list args; + +- if(test_verbose_level__ < 2) ++ if(test_verbose_level_ < 2) + return; + +- if(test_case_name__[0]) { +- test_case_current_already_logged__ = 0; +- test_case_name__[0] = '\0'; ++ if(test_case_name_[0]) { ++ test_case_current_already_logged_ = 0; ++ test_case_name_[0] = '\0'; + } + + if(fmt == NULL) + return; + + va_start(args, fmt); +- vsnprintf(test_case_name__, sizeof(test_case_name__) - 1, fmt, args); ++ vsnprintf(test_case_name_, sizeof(test_case_name_) - 1, fmt, args); + va_end(args); +- test_case_name__[sizeof(test_case_name__) - 1] = '\0'; ++ test_case_name_[sizeof(test_case_name_) - 1] = '\0'; + +- if(test_verbose_level__ >= 3) { +- test_line_indent__(1); +- test_print_in_color__(TEST_COLOR_DEFAULT_INTENSIVE__, "Case %s:\n", test_case_name__); +- test_current_already_logged__++; +- test_case_current_already_logged__++; ++ if(test_verbose_level_ >= 3) { ++ test_line_indent_(1); ++ test_print_in_color_(TEST_COLOR_DEFAULT_INTENSIVE_, "Case %s:\n", test_case_name_); ++ test_current_already_logged_++; ++ test_case_current_already_logged_++; + } + } + +-void +-test_message__(const char* fmt, ...) ++void TEST_ATTRIBUTE_(format (printf, 1, 2)) ++test_message_(const char* fmt, ...) + { + char buffer[TEST_MSG_MAXSIZE]; + char* line_beg; + char* line_end; + va_list args; + +- if(test_verbose_level__ < 2) ++ if(test_verbose_level_ < 2) + return; + + /* We allow extra message only when something is already wrong in the + * current test. */ +- if(test_current_unit__ == NULL || !test_cond_failed__) ++ if(test_current_unit_ == NULL || !test_cond_failed_) + return; + + va_start(args, fmt); +@@ -666,29 +717,29 @@ test_message__(const char* fmt, ...) + line_end = strchr(line_beg, '\n'); + if(line_end == NULL) + break; +- test_line_indent__(test_case_name__[0] ? 3 : 2); ++ test_line_indent_(test_case_name_[0] ? 3 : 2); + printf("%.*s\n", (int)(line_end - line_beg), line_beg); + line_beg = line_end + 1; + } + if(line_beg[0] != '\0') { +- test_line_indent__(test_case_name__[0] ? 3 : 2); ++ test_line_indent_(test_case_name_[0] ? 3 : 2); + printf("%s\n", line_beg); + } + } + + void +-test_dump__(const char* title, const void* addr, size_t size) ++test_dump_(const char* title, const void* addr, size_t size) + { + static const size_t BYTES_PER_LINE = 16; + size_t line_beg; + size_t truncate = 0; + +- if(test_verbose_level__ < 2) ++ if(test_verbose_level_ < 2) + return; + + /* We allow extra message only when something is already wrong in the + * current test. */ +- if(test_current_unit__ == NULL || !test_cond_failed__) ++ if(test_current_unit_ == NULL || !test_cond_failed_) + return; + + if(size > TEST_DUMP_MAXSIZE) { +@@ -696,25 +747,25 @@ test_dump__(const char* title, const void* addr, size_t size) + size = TEST_DUMP_MAXSIZE; + } + +- test_line_indent__(test_case_name__[0] ? 3 : 2); ++ test_line_indent_(test_case_name_[0] ? 3 : 2); + printf((title[strlen(title)-1] == ':') ? "%s\n" : "%s:\n", title); + + for(line_beg = 0; line_beg < size; line_beg += BYTES_PER_LINE) { + size_t line_end = line_beg + BYTES_PER_LINE; + size_t off; + +- test_line_indent__(test_case_name__[0] ? 4 : 3); ++ test_line_indent_(test_case_name_[0] ? 4 : 3); + printf("%08lx: ", (unsigned long)line_beg); + for(off = line_beg; off < line_end; off++) { + if(off < size) +- printf(" %02x", ((unsigned char*)addr)[off]); ++ printf(" %02x", ((const unsigned char*)addr)[off]); + else + printf(" "); + } + + printf(" "); + for(off = line_beg; off < line_end; off++) { +- unsigned char byte = ((unsigned char*)addr)[off]; ++ unsigned char byte = ((const unsigned char*)addr)[off]; + if(off < size) + printf("%c", (iscntrl(byte) ? '.' : byte)); + else +@@ -725,45 +776,54 @@ test_dump__(const char* title, const void* addr, size_t size) + } + + if(truncate > 0) { +- test_line_indent__(test_case_name__[0] ? 4 : 3); ++ test_line_indent_(test_case_name_[0] ? 4 : 3); + printf(" ... (and more %u bytes)\n", (unsigned) truncate); + } + } + ++void ++test_abort_(void) ++{ ++ if(test_abort_has_jmp_buf_) ++ longjmp(test_abort_jmp_buf_, 1); ++ else ++ abort(); ++} ++ + static void +-test_list_names__(void) ++test_list_names_(void) + { +- const struct test__* test; ++ const struct test_* test; + + printf("Unit tests:\n"); +- for(test = &test_list__[0]; test->func != NULL; test++) ++ for(test = &test_list_[0]; test->func != NULL; test++) + printf(" %s\n", test->name); + } + + static void +-test_remember__(int i) ++test_remember_(int i) + { +- if(test_details__[i].flags & TEST_FLAG_RUN__) ++ if(test_details_[i].flags & TEST_FLAG_RUN_) + return; + +- test_details__[i].flags |= TEST_FLAG_RUN__; +- test_count__++; ++ test_details_[i].flags |= TEST_FLAG_RUN_; ++ test_count_++; + } + + static void +-test_set_success__(int i, int success) ++test_set_success_(int i, int success) + { +- test_details__[i].flags |= success ? TEST_FLAG_SUCCESS__ : TEST_FLAG_FAILURE__; ++ test_details_[i].flags |= success ? TEST_FLAG_SUCCESS_ : TEST_FLAG_FAILURE_; + } + + static void +-test_set_duration__(int i, double duration) ++test_set_duration_(int i, double duration) + { +- test_details__[i].duration = duration; ++ test_details_[i].duration = duration; + } + + static int +-test_name_contains_word__(const char* name, const char* pattern) ++test_name_contains_word_(const char* name, const char* pattern) + { + static const char word_delim[] = " \t-_."; + const char* substr; +@@ -788,15 +848,15 @@ test_name_contains_word__(const char* name, const char* pattern) + } + + static int +-test_lookup__(const char* pattern) ++test_lookup_(const char* pattern) + { + int i; + int n = 0; + + /* Try exact match. */ +- for(i = 0; i < (int) test_list_size__; i++) { +- if(strcmp(test_list__[i].name, pattern) == 0) { +- test_remember__(i); ++ for(i = 0; i < (int) test_list_size_; i++) { ++ if(strcmp(test_list_[i].name, pattern) == 0) { ++ test_remember_(i); + n++; + break; + } +@@ -805,9 +865,9 @@ test_lookup__(const char* pattern) + return n; + + /* Try word match. */ +- for(i = 0; i < (int) test_list_size__; i++) { +- if(test_name_contains_word__(test_list__[i].name, pattern)) { +- test_remember__(i); ++ for(i = 0; i < (int) test_list_size_; i++) { ++ if(test_name_contains_word_(test_list_[i].name, pattern)) { ++ test_remember_(i); + n++; + } + } +@@ -815,9 +875,9 @@ test_lookup__(const char* pattern) + return n; + + /* Try relaxed match. */ +- for(i = 0; i < (int) test_list_size__; i++) { +- if(strstr(test_list__[i].name, pattern) != NULL) { +- test_remember__(i); ++ for(i = 0; i < (int) test_list_size_; i++) { ++ if(strstr(test_list_[i].name, pattern) != NULL) { ++ test_remember_(i); + n++; + } + } +@@ -829,50 +889,41 @@ test_lookup__(const char* pattern) + /* Called if anything goes bad in Acutest, or if the unit test ends in other + * way then by normal returning from its function (e.g. exception or some + * abnormal child process termination). */ +-static void +-test_error__(const char* fmt, ...) ++static void TEST_ATTRIBUTE_(format (printf, 1, 2)) ++test_error_(const char* fmt, ...) + { + va_list args; + +- if(test_verbose_level__ == 0) ++ if(test_verbose_level_ == 0) + return; + +- if(test_verbose_level__ <= 2 && !test_current_already_logged__ && test_current_unit__ != NULL) { +- if(test_tap__) { +- test_finish_test_line__(-1); +- } else { +- printf("[ "); +- test_print_in_color__(TEST_COLOR_RED_INTENSIVE__, "FAILED"); +- printf(" ]\n"); +- } +- } +- +- if(test_verbose_level__ >= 2) { +- test_line_indent__(1); +- if(test_verbose_level__ >= 3) +- test_print_in_color__(TEST_COLOR_RED_INTENSIVE__, "ERROR: "); ++ if(test_verbose_level_ >= 2) { ++ test_line_indent_(1); ++ if(test_verbose_level_ >= 3) ++ test_print_in_color_(TEST_COLOR_RED_INTENSIVE_, "ERROR: "); + va_start(args, fmt); + vprintf(fmt, args); + va_end(args); + printf("\n"); + } + +- if(test_verbose_level__ >= 3) { ++ if(test_verbose_level_ >= 3) { + printf("\n"); + } + } + + /* Call directly the given test unit function. */ + static int +-test_do_run__(const struct test__* test, int index) ++test_do_run_(const struct test_* test, int index) + { +- test_current_unit__ = test; +- test_current_index__ = index; +- test_current_failures__ = 0; +- test_current_already_logged__ = 0; +- test_cond_failed__ = 0; ++ test_was_aborted_ = 0; ++ test_current_unit_ = test; ++ test_current_index_ = index; ++ test_current_failures_ = 0; ++ test_current_already_logged_ = 0; ++ test_cond_failed_ = 0; + +- test_begin_test_line__(test); ++ test_begin_test_line_(test); + + #ifdef __cplusplus + try { +@@ -882,69 +933,96 @@ test_do_run__(const struct test__* test, int index) + fflush(stdout); + fflush(stderr); + +- test_timer_get_time__(&test_timer_start__); +- test->func(); +- test_timer_get_time__(&test_timer_end__); ++ if(!test_worker_) { ++ test_abort_has_jmp_buf_ = 1; ++ if(setjmp(test_abort_jmp_buf_) != 0) { ++ test_was_aborted_ = 1; ++ goto aborted; ++ } ++ } + +- if(test_verbose_level__ >= 3) { +- test_line_indent__(1); +- if(test_current_failures__ == 0) { +- test_print_in_color__(TEST_COLOR_GREEN_INTENSIVE__, "SUCCESS: "); ++ test_timer_get_time_(&test_timer_start_); ++ test->func(); ++aborted: ++ test_abort_has_jmp_buf_ = 0; ++ test_timer_get_time_(&test_timer_end_); ++ ++ if(test_verbose_level_ >= 3) { ++ test_line_indent_(1); ++ if(test_current_failures_ == 0) { ++ test_print_in_color_(TEST_COLOR_GREEN_INTENSIVE_, "SUCCESS: "); + printf("All conditions have passed.\n"); + +- if(test_timer__) { +- test_line_indent__(1); ++ if(test_timer_) { ++ test_line_indent_(1); + printf("Duration: "); +- test_timer_print_diff__(); ++ test_timer_print_diff_(); + printf("\n"); + } + } else { +- test_print_in_color__(TEST_COLOR_RED_INTENSIVE__, "FAILED: "); +- printf("%d condition%s %s failed.\n", +- test_current_failures__, +- (test_current_failures__ == 1) ? "" : "s", +- (test_current_failures__ == 1) ? "has" : "have"); ++ test_print_in_color_(TEST_COLOR_RED_INTENSIVE_, "FAILED: "); ++ if(!test_was_aborted_) { ++ printf("%d condition%s %s failed.\n", ++ test_current_failures_, ++ (test_current_failures_ == 1) ? "" : "s", ++ (test_current_failures_ == 1) ? "has" : "have"); ++ } else { ++ printf("Aborted.\n"); ++ } + } + printf("\n"); +- } else if(test_verbose_level__ >= 1 && test_current_failures__ == 0) { +- test_finish_test_line__(0); ++ } else if(test_verbose_level_ >= 1 && test_current_failures_ == 0) { ++ test_finish_test_line_(0); + } + +- test_case__(NULL); +- test_current_unit__ = NULL; +- return (test_current_failures__ == 0) ? 0 : -1; ++ test_case_(NULL); ++ test_current_unit_ = NULL; ++ return (test_current_failures_ == 0) ? 0 : -1; + + #ifdef __cplusplus + } catch(std::exception& e) { + const char* what = e.what(); ++ test_check_(0, NULL, 0, "Threw std::exception"); + if(what != NULL) +- test_error__("Threw std::exception: %s", what); +- else +- test_error__("Threw std::exception"); ++ test_message_("std::exception::what(): %s", what); ++ ++ if(test_verbose_level_ >= 3) { ++ test_line_indent_(1); ++ test_print_in_color_(TEST_COLOR_RED_INTENSIVE_, "FAILED: "); ++ printf("C++ exception.\n\n"); ++ } ++ + return -1; + } catch(...) { +- test_error__("Threw an exception"); ++ test_check_(0, NULL, 0, "Threw an exception"); ++ ++ if(test_verbose_level_ >= 3) { ++ test_line_indent_(1); ++ test_print_in_color_(TEST_COLOR_RED_INTENSIVE_, "FAILED: "); ++ printf("C++ exception.\n\n"); ++ } ++ + return -1; + } + #endif + } + + /* Trigger the unit test. If possible (and not suppressed) it starts a child +- * process who calls test_do_run__(), otherwise it calls test_do_run__() ++ * process who calls test_do_run_(), otherwise it calls test_do_run_() + * directly. */ + static void +-test_run__(const struct test__* test, int index, int master_index) ++test_run_(const struct test_* test, int index, int master_index) + { + int failed = 1; +- test_timer_type__ start, end; ++ test_timer_type_ start, end; + +- test_current_unit__ = test; +- test_current_already_logged__ = 0; +- test_timer_get_time__(&start); ++ test_current_unit_ = test; ++ test_current_already_logged_ = 0; ++ test_timer_get_time_(&start); + +- if(!test_no_exec__) { ++ if(!test_no_exec_) { + +-#if defined(ACUTEST_UNIX__) ++#if defined(ACUTEST_UNIX_) + + pid_t pid; + int exit_code; +@@ -955,11 +1033,12 @@ test_run__(const struct test__* test, int index, int master_index) + + pid = fork(); + if(pid == (pid_t)-1) { +- test_error__("Cannot fork. %s [%d]", strerror(errno), errno); ++ test_error_("Cannot fork. %s [%d]", strerror(errno), errno); + failed = 1; + } else if(pid == 0) { + /* Child: Do the test. */ +- failed = (test_do_run__(test, index) != 0); ++ test_worker_ = 1; ++ failed = (test_do_run_(test, index) != 0); + exit(failed ? 1 : 0); + } else { + /* Parent: Wait until child terminates and analyze its exit code. */ +@@ -968,7 +1047,7 @@ test_run__(const struct test__* test, int index, int master_index) + switch(WEXITSTATUS(exit_code)) { + case 0: failed = 0; break; /* test has passed. */ + case 1: /* noop */ break; /* "normal" failure. */ +- default: test_error__("Unexpected exit code [%d]", WEXITSTATUS(exit_code)); ++ default: test_error_("Unexpected exit code [%d]", WEXITSTATUS(exit_code)); + } + } else if(WIFSIGNALED(exit_code)) { + char tmp[32]; +@@ -984,13 +1063,13 @@ test_run__(const struct test__* test, int index, int master_index) + case SIGTERM: signame = "SIGTERM"; break; + default: sprintf(tmp, "signal %d", WTERMSIG(exit_code)); signame = tmp; break; + } +- test_error__("Test interrupted by %s", signame); ++ test_error_("Test interrupted by %s.", signame); + } else { +- test_error__("Test ended in an unexpected way [%d]", exit_code); ++ test_error_("Test ended in an unexpected way [%d].", exit_code); + } + } + +-#elif defined(ACUTEST_WIN__) ++#elif defined(ACUTEST_WIN_) + + char buffer[512] = {0}; + STARTUPINFOA startupInfo; +@@ -1001,9 +1080,9 @@ test_run__(const struct test__* test, int index, int master_index) + * through a command line arguments. */ + _snprintf(buffer, sizeof(buffer)-1, + "%s --worker=%d %s --no-exec --no-summary %s --verbose=%d --color=%s -- \"%s\"", +- test_argv0__, index, test_timer__ ? "--timer" : "", +- test_tap__ ? "--tap" : "", test_verbose_level__, +- test_colorize__ ? "always" : "never", ++ test_argv0_, index, test_timer_ ? "--time" : "", ++ test_tap_ ? "--tap" : "", test_verbose_level_, ++ test_colorize_ ? "always" : "never", + test->name); + memset(&startupInfo, 0, sizeof(startupInfo)); + startupInfo.cb = sizeof(STARTUPINFO); +@@ -1013,70 +1092,79 @@ test_run__(const struct test__* test, int index, int master_index) + CloseHandle(processInfo.hThread); + CloseHandle(processInfo.hProcess); + failed = (exitCode != 0); ++ if(exitCode > 1) { ++ switch(exitCode) { ++ case 3: test_error_("Aborted."); break; ++ case 0xC0000005: test_error_("Access violation."); break; ++ default: test_error_("Test ended in an unexpected way [%lu].", exitCode); break; ++ } ++ } + } else { +- test_error__("Cannot create unit test subprocess [%ld].", GetLastError()); ++ test_error_("Cannot create unit test subprocess [%ld].", GetLastError()); + failed = 1; + } + + #else + + /* A platform where we don't know how to run child process. */ +- failed = (test_do_run__(test, index) != 0); ++ failed = (test_do_run_(test, index) != 0); + + #endif + + } else { + /* Child processes suppressed through --no-exec. */ +- failed = (test_do_run__(test, index) != 0); ++ failed = (test_do_run_(test, index) != 0); + } +- test_timer_get_time__(&end); ++ test_timer_get_time_(&end); + +- test_current_unit__ = NULL; ++ test_current_unit_ = NULL; + +- test_stat_run_units__++; ++ test_stat_run_units_++; + if(failed) +- test_stat_failed_units__++; ++ test_stat_failed_units_++; + +- test_set_success__(master_index, !failed); +- test_set_duration__(master_index, test_timer_diff__(start, end)); ++ test_set_success_(master_index, !failed); ++ test_set_duration_(master_index, test_timer_diff_(start, end)); + } + +-#if defined(ACUTEST_WIN__) ++#if defined(ACUTEST_WIN_) + /* Callback for SEH events. */ + static LONG CALLBACK +-test_exception_filter__(EXCEPTION_POINTERS *ptrs) ++test_seh_exception_filter_(EXCEPTION_POINTERS *ptrs) + { +- test_error__("Unhandled SEH exception %08lx at %p.", +- ptrs->ExceptionRecord->ExceptionCode, +- ptrs->ExceptionRecord->ExceptionAddress); ++ test_check_(0, NULL, 0, "Unhandled SEH exception"); ++ test_message_("Exception code: 0x%08lx", ptrs->ExceptionRecord->ExceptionCode); ++ test_message_("Exception address: 0x%p", ptrs->ExceptionRecord->ExceptionAddress); ++ + fflush(stdout); + fflush(stderr); ++ + return EXCEPTION_EXECUTE_HANDLER; + } + #endif + + +-#define TEST_CMDLINE_OPTFLAG_OPTIONALARG__ 0x0001 +-#define TEST_CMDLINE_OPTFLAG_REQUIREDARG__ 0x0002 ++#define TEST_CMDLINE_OPTFLAG_OPTIONALARG_ 0x0001 ++#define TEST_CMDLINE_OPTFLAG_REQUIREDARG_ 0x0002 + +-#define TEST_CMDLINE_OPTID_NONE__ 0 +-#define TEST_CMDLINE_OPTID_UNKNOWN__ (-0x7fffffff + 0) +-#define TEST_CMDLINE_OPTID_MISSINGARG__ (-0x7fffffff + 1) +-#define TEST_CMDLINE_OPTID_BOGUSARG__ (-0x7fffffff + 2) ++#define TEST_CMDLINE_OPTID_NONE_ 0 ++#define TEST_CMDLINE_OPTID_UNKNOWN_ (-0x7fffffff + 0) ++#define TEST_CMDLINE_OPTID_MISSINGARG_ (-0x7fffffff + 1) ++#define TEST_CMDLINE_OPTID_BOGUSARG_ (-0x7fffffff + 2) + +-typedef struct TEST_CMDLINE_OPTION__ { ++typedef struct TEST_CMDLINE_OPTION_ { + char shortname; + const char* longname; + int id; + unsigned flags; +-} TEST_CMDLINE_OPTION__; ++} TEST_CMDLINE_OPTION_; + + static int +-test_cmdline_handle_short_opt_group__(const TEST_CMDLINE_OPTION__* options, ++test_cmdline_handle_short_opt_group_(const TEST_CMDLINE_OPTION_* options, + const char* arggroup, + int (*callback)(int /*optval*/, const char* /*arg*/)) + { +- const TEST_CMDLINE_OPTION__* opt; ++ const TEST_CMDLINE_OPTION_* opt; + int i; + int ret = 0; + +@@ -1086,7 +1174,7 @@ test_cmdline_handle_short_opt_group__(const TEST_CMDLINE_OPTION__* options, + break; + } + +- if(opt->id != 0 && !(opt->flags & TEST_CMDLINE_OPTFLAG_REQUIREDARG__)) { ++ if(opt->id != 0 && !(opt->flags & TEST_CMDLINE_OPTFLAG_REQUIREDARG_)) { + ret = callback(opt->id, NULL); + } else { + /* Unknown option. */ +@@ -1094,7 +1182,7 @@ test_cmdline_handle_short_opt_group__(const TEST_CMDLINE_OPTION__* options, + badoptname[0] = '-'; + badoptname[1] = arggroup[i]; + badoptname[2] = '\0'; +- ret = callback((opt->id != 0 ? TEST_CMDLINE_OPTID_MISSINGARG__ : TEST_CMDLINE_OPTID_UNKNOWN__), ++ ret = callback((opt->id != 0 ? TEST_CMDLINE_OPTID_MISSINGARG_ : TEST_CMDLINE_OPTID_UNKNOWN_), + badoptname); + } + +@@ -1105,31 +1193,31 @@ test_cmdline_handle_short_opt_group__(const TEST_CMDLINE_OPTION__* options, + return ret; + } + +-#define TEST_CMDLINE_AUXBUF_SIZE__ 32 ++#define TEST_CMDLINE_AUXBUF_SIZE_ 32 + + static int +-test_cmdline_read__(const TEST_CMDLINE_OPTION__* options, int argc, char** argv, ++test_cmdline_read_(const TEST_CMDLINE_OPTION_* options, int argc, char** argv, + int (*callback)(int /*optval*/, const char* /*arg*/)) + { + +- const TEST_CMDLINE_OPTION__* opt; +- char auxbuf[TEST_CMDLINE_AUXBUF_SIZE__+1]; ++ const TEST_CMDLINE_OPTION_* opt; ++ char auxbuf[TEST_CMDLINE_AUXBUF_SIZE_+1]; + int after_doubledash = 0; + int i = 1; + int ret = 0; + +- auxbuf[TEST_CMDLINE_AUXBUF_SIZE__] = '\0'; ++ auxbuf[TEST_CMDLINE_AUXBUF_SIZE_] = '\0'; + + while(i < argc) { + if(after_doubledash || strcmp(argv[i], "-") == 0) { + /* Non-option argument. */ +- ret = callback(TEST_CMDLINE_OPTID_NONE__, argv[i]); ++ ret = callback(TEST_CMDLINE_OPTID_NONE_, argv[i]); + } else if(strcmp(argv[i], "--") == 0) { + /* End of options. All the remaining members are non-option arguments. */ + after_doubledash = 1; + } else if(argv[i][0] != '-') { + /* Non-option argument. */ +- ret = callback(TEST_CMDLINE_OPTID_NONE__, argv[i]); ++ ret = callback(TEST_CMDLINE_OPTID_NONE_, argv[i]); + } else { + for(opt = options; opt->id != 0; opt++) { + if(opt->longname != NULL && strncmp(argv[i], "--", 2) == 0) { +@@ -1138,18 +1226,18 @@ test_cmdline_read__(const TEST_CMDLINE_OPTION__* options, int argc, char** argv, + /* Regular long option. */ + if(argv[i][2+len] == '\0') { + /* with no argument provided. */ +- if(!(opt->flags & TEST_CMDLINE_OPTFLAG_REQUIREDARG__)) ++ if(!(opt->flags & TEST_CMDLINE_OPTFLAG_REQUIREDARG_)) + ret = callback(opt->id, NULL); + else +- ret = callback(TEST_CMDLINE_OPTID_MISSINGARG__, argv[i]); ++ ret = callback(TEST_CMDLINE_OPTID_MISSINGARG_, argv[i]); + break; + } else if(argv[i][2+len] == '=') { + /* with an argument provided. */ +- if(opt->flags & (TEST_CMDLINE_OPTFLAG_OPTIONALARG__ | TEST_CMDLINE_OPTFLAG_REQUIREDARG__)) { ++ if(opt->flags & (TEST_CMDLINE_OPTFLAG_OPTIONALARG_ | TEST_CMDLINE_OPTFLAG_REQUIREDARG_)) { + ret = callback(opt->id, argv[i]+2+len+1); + } else { + sprintf(auxbuf, "--%s", opt->longname); +- ret = callback(TEST_CMDLINE_OPTID_BOGUSARG__, auxbuf); ++ ret = callback(TEST_CMDLINE_OPTID_BOGUSARG_, auxbuf); + } + break; + } else { +@@ -1159,13 +1247,13 @@ test_cmdline_read__(const TEST_CMDLINE_OPTION__* options, int argc, char** argv, + } else if(opt->shortname != '\0' && argv[i][0] == '-') { + if(argv[i][1] == opt->shortname) { + /* Regular short option. */ +- if(opt->flags & TEST_CMDLINE_OPTFLAG_REQUIREDARG__) { ++ if(opt->flags & TEST_CMDLINE_OPTFLAG_REQUIREDARG_) { + if(argv[i][2] != '\0') + ret = callback(opt->id, argv[i]+2); + else if(i+1 < argc) + ret = callback(opt->id, argv[++i]); + else +- ret = callback(TEST_CMDLINE_OPTID_MISSINGARG__, argv[i]); ++ ret = callback(TEST_CMDLINE_OPTID_MISSINGARG_, argv[i]); + break; + } else { + ret = callback(opt->id, NULL); +@@ -1173,7 +1261,7 @@ test_cmdline_read__(const TEST_CMDLINE_OPTION__* options, int argc, char** argv, + /* There might be more (argument-less) short options + * grouped together. */ + if(ret == 0 && argv[i][2] != '\0') +- ret = test_cmdline_handle_short_opt_group__(options, argv[i]+2, callback); ++ ret = test_cmdline_handle_short_opt_group_(options, argv[i]+2, callback); + break; + } + } +@@ -1183,7 +1271,7 @@ test_cmdline_read__(const TEST_CMDLINE_OPTION__* options, int argc, char** argv, + if(opt->id == 0) { /* still not handled? */ + if(argv[i][0] != '-') { + /* Non-option argument. */ +- ret = callback(TEST_CMDLINE_OPTID_NONE__, argv[i]); ++ ret = callback(TEST_CMDLINE_OPTID_NONE_, argv[i]); + } else { + /* Unknown option. */ + char* badoptname = argv[i]; +@@ -1193,15 +1281,15 @@ test_cmdline_read__(const TEST_CMDLINE_OPTION__* options, int argc, char** argv, + char* assignment = strchr(badoptname, '='); + if(assignment != NULL) { + size_t len = assignment - badoptname; +- if(len > TEST_CMDLINE_AUXBUF_SIZE__) +- len = TEST_CMDLINE_AUXBUF_SIZE__; ++ if(len > TEST_CMDLINE_AUXBUF_SIZE_) ++ len = TEST_CMDLINE_AUXBUF_SIZE_; + strncpy(auxbuf, badoptname, len); + auxbuf[len] = '\0'; + badoptname = auxbuf; + } + } + +- ret = callback(TEST_CMDLINE_OPTID_UNKNOWN__, badoptname); ++ ret = callback(TEST_CMDLINE_OPTID_UNKNOWN_, badoptname); + } + } + } +@@ -1215,9 +1303,9 @@ test_cmdline_read__(const TEST_CMDLINE_OPTION__* options, int argc, char** argv, + } + + static void +-test_help__(void) ++test_help_(void) + { +- printf("Usage: %s [options] [test...]\n", test_argv0__); ++ printf("Usage: %s [options] [test...]\n", test_argv0_); + printf("\n"); + printf("Run the specified unit tests; or if the option '--skip' is used, run all\n"); + printf("tests in the suite but those listed. By default, if no tests are specified\n"); +@@ -1227,14 +1315,14 @@ test_help__(void) + printf(" -s, --skip Execute all unit tests but the listed ones\n"); + printf(" --exec[=WHEN] If supported, execute unit tests as child processes\n"); + printf(" (WHEN is one of 'auto', 'always', 'never')\n"); +-#if defined ACUTEST_WIN__ +- printf(" -t, --timer Measure test duration\n"); +-#elif defined ACUTEST_HAS_POSIX_TIMER__ +- printf(" -t, --timer Measure test duration (real time)\n"); +- printf(" --timer=TIMER Measure test duration, using given timer\n"); ++ printf(" -E, --no-exec Same as --exec=never\n"); ++#if defined ACUTEST_WIN_ ++ printf(" -t, --time Measure test duration\n"); ++#elif defined ACUTEST_HAS_POSIX_TIMER_ ++ printf(" -t, --time Measure test duration (real time)\n"); ++ printf(" --time=TIMER Measure test duration, using given timer\n"); + printf(" (TIMER is one of 'real', 'cpu')\n"); + #endif +- printf(" -E, --no-exec Same as --exec=never\n"); + printf(" --no-summary Suppress printing of test results summary\n"); + printf(" --tap Produce TAP-compliant output\n"); + printf(" (See https://testanything.org/)\n"); +@@ -1246,151 +1334,159 @@ test_help__(void) + printf(" 1 ... Output one line per test (and summary)\n"); + printf(" 2 ... As 1 and failed conditions (this is default)\n"); + printf(" 3 ... As 1 and all conditions (and extended summary)\n"); ++ printf(" -q, --quiet Same as --verbose=0\n"); + printf(" --color[=WHEN] Enable colorized output\n"); + printf(" (WHEN is one of 'auto', 'always', 'never')\n"); + printf(" --no-color Same as --color=never\n"); + printf(" -h, --help Display this help and exit\n"); + +- if(test_list_size__ < 16) { ++ if(test_list_size_ < 16) { + printf("\n"); +- test_list_names__(); ++ test_list_names_(); + } + } + +-static const TEST_CMDLINE_OPTION__ test_cmdline_options__[] = { ++static const TEST_CMDLINE_OPTION_ test_cmdline_options_[] = { + { 's', "skip", 's', 0 }, +- { 0, "exec", 'e', TEST_CMDLINE_OPTFLAG_OPTIONALARG__ }, ++ { 0, "exec", 'e', TEST_CMDLINE_OPTFLAG_OPTIONALARG_ }, + { 'E', "no-exec", 'E', 0 }, +-#if defined ACUTEST_WIN__ +- { 't', "timer", 't', 0 }, +-#elif defined ACUTEST_HAS_POSIX_TIMER__ +- { 't', "timer", 't', TEST_CMDLINE_OPTFLAG_OPTIONALARG__ }, ++#if defined ACUTEST_WIN_ ++ { 't', "time", 't', 0 }, ++ { 0, "timer", 't', 0 }, /* kept for compatibility */ ++#elif defined ACUTEST_HAS_POSIX_TIMER_ ++ { 't', "time", 't', TEST_CMDLINE_OPTFLAG_OPTIONALARG_ }, ++ { 0, "timer", 't', TEST_CMDLINE_OPTFLAG_OPTIONALARG_ }, /* kept for compatibility */ + #endif + { 0, "no-summary", 'S', 0 }, + { 0, "tap", 'T', 0 }, + { 'l', "list", 'l', 0 }, +- { 'v', "verbose", 'v', TEST_CMDLINE_OPTFLAG_OPTIONALARG__ }, +- { 0, "color", 'c', TEST_CMDLINE_OPTFLAG_OPTIONALARG__ }, ++ { 'v', "verbose", 'v', TEST_CMDLINE_OPTFLAG_OPTIONALARG_ }, ++ { 'q', "quiet", 'q', 0 }, ++ { 0, "color", 'c', TEST_CMDLINE_OPTFLAG_OPTIONALARG_ }, + { 0, "no-color", 'C', 0 }, + { 'h', "help", 'h', 0 }, +- { 0, "worker", 'w', TEST_CMDLINE_OPTFLAG_REQUIREDARG__ }, /* internal */ +- { 'x', "xml-output", 'x', TEST_CMDLINE_OPTFLAG_REQUIREDARG__ }, ++ { 0, "worker", 'w', TEST_CMDLINE_OPTFLAG_REQUIREDARG_ }, /* internal */ ++ { 'x', "xml-output", 'x', TEST_CMDLINE_OPTFLAG_REQUIREDARG_ }, + { 0, NULL, 0, 0 } + }; + + static int +-test_cmdline_callback__(int id, const char* arg) ++test_cmdline_callback_(int id, const char* arg) + { + switch(id) { + case 's': +- test_skip_mode__ = 1; ++ test_skip_mode_ = 1; + break; + + case 'e': + if(arg == NULL || strcmp(arg, "always") == 0) { +- test_no_exec__ = 0; ++ test_no_exec_ = 0; + } else if(strcmp(arg, "never") == 0) { +- test_no_exec__ = 1; ++ test_no_exec_ = 1; + } else if(strcmp(arg, "auto") == 0) { + /*noop*/ + } else { +- fprintf(stderr, "%s: Unrecognized argument '%s' for option --exec.\n", test_argv0__, arg); +- fprintf(stderr, "Try '%s --help' for more information.\n", test_argv0__); ++ fprintf(stderr, "%s: Unrecognized argument '%s' for option --exec.\n", test_argv0_, arg); ++ fprintf(stderr, "Try '%s --help' for more information.\n", test_argv0_); + exit(2); + } + break; + + case 'E': +- test_no_exec__ = 1; ++ test_no_exec_ = 1; + break; + + case 't': +-#if defined ACUTEST_WIN__ || defined ACUTEST_HAS_POSIX_TIMER__ ++#if defined ACUTEST_WIN_ || defined ACUTEST_HAS_POSIX_TIMER_ + if(arg == NULL || strcmp(arg, "real") == 0) { +- test_timer__ = 1; +- #ifndef ACUTEST_WIN__ ++ test_timer_ = 1; ++ #ifndef ACUTEST_WIN_ + } else if(strcmp(arg, "cpu") == 0) { +- test_timer__ = 2; ++ test_timer_ = 2; + #endif + } else { +- fprintf(stderr, "%s: Unrecognized argument '%s' for option --timer.\n", test_argv0__, arg); +- fprintf(stderr, "Try '%s --help' for more information.\n", test_argv0__); ++ fprintf(stderr, "%s: Unrecognized argument '%s' for option --time.\n", test_argv0_, arg); ++ fprintf(stderr, "Try '%s --help' for more information.\n", test_argv0_); + exit(2); + } + #endif + break; + + case 'S': +- test_no_summary__ = 1; ++ test_no_summary_ = 1; + break; + + case 'T': +- test_tap__ = 1; ++ test_tap_ = 1; + break; + + case 'l': +- test_list_names__(); ++ test_list_names_(); + exit(0); + + case 'v': +- test_verbose_level__ = (arg != NULL ? atoi(arg) : test_verbose_level__+1); ++ test_verbose_level_ = (arg != NULL ? atoi(arg) : test_verbose_level_+1); ++ break; ++ ++ case 'q': ++ test_verbose_level_ = 0; + break; + + case 'c': + if(arg == NULL || strcmp(arg, "always") == 0) { +- test_colorize__ = 1; ++ test_colorize_ = 1; + } else if(strcmp(arg, "never") == 0) { +- test_colorize__ = 0; ++ test_colorize_ = 0; + } else if(strcmp(arg, "auto") == 0) { + /*noop*/ + } else { +- fprintf(stderr, "%s: Unrecognized argument '%s' for option --color.\n", test_argv0__, arg); +- fprintf(stderr, "Try '%s --help' for more information.\n", test_argv0__); ++ fprintf(stderr, "%s: Unrecognized argument '%s' for option --color.\n", test_argv0_, arg); ++ fprintf(stderr, "Try '%s --help' for more information.\n", test_argv0_); + exit(2); + } + break; + + case 'C': +- test_colorize__ = 0; ++ test_colorize_ = 0; + break; + + case 'h': +- test_help__(); ++ test_help_(); + exit(0); + + case 'w': +- test_worker__ = 1; +- test_worker_index__ = atoi(arg); ++ test_worker_ = 1; ++ test_worker_index_ = atoi(arg); + break; + case 'x': +- test_xml_output__ = fopen(arg, "w"); +- if (!test_xml_output__) { ++ test_xml_output_ = fopen(arg, "w"); ++ if (!test_xml_output_) { + fprintf(stderr, "Unable to open '%s': %s\n", arg, strerror(errno)); + exit(2); + } + break; + + case 0: +- if(test_lookup__(arg) == 0) { +- fprintf(stderr, "%s: Unrecognized unit test '%s'\n", test_argv0__, arg); +- fprintf(stderr, "Try '%s --list' for list of unit tests.\n", test_argv0__); ++ if(test_lookup_(arg) == 0) { ++ fprintf(stderr, "%s: Unrecognized unit test '%s'\n", test_argv0_, arg); ++ fprintf(stderr, "Try '%s --list' for list of unit tests.\n", test_argv0_); + exit(2); + } + break; + +- case TEST_CMDLINE_OPTID_UNKNOWN__: ++ case TEST_CMDLINE_OPTID_UNKNOWN_: + fprintf(stderr, "Unrecognized command line option '%s'.\n", arg); +- fprintf(stderr, "Try '%s --help' for more information.\n", test_argv0__); ++ fprintf(stderr, "Try '%s --help' for more information.\n", test_argv0_); + exit(2); + +- case TEST_CMDLINE_OPTID_MISSINGARG__: ++ case TEST_CMDLINE_OPTID_MISSINGARG_: + fprintf(stderr, "The command line option '%s' requires an argument.\n", arg); +- fprintf(stderr, "Try '%s --help' for more information.\n", test_argv0__); ++ fprintf(stderr, "Try '%s --help' for more information.\n", test_argv0_); + exit(2); + +- case TEST_CMDLINE_OPTID_BOGUSARG__: ++ case TEST_CMDLINE_OPTID_BOGUSARG_: + fprintf(stderr, "The command line option '%s' does not expect an argument.\n", arg); +- fprintf(stderr, "Try '%s --help' for more information.\n", test_argv0__); ++ fprintf(stderr, "Try '%s --help' for more information.\n", test_argv0_); + exit(2); + } + +@@ -1398,37 +1494,48 @@ test_cmdline_callback__(int id, const char* arg) + } + + +-#ifdef ACUTEST_LINUX__ ++#ifdef ACUTEST_LINUX_ + static int +-test_is_tracer_present__(void) ++test_is_tracer_present_(void) + { +- char buf[256+32+1]; ++ /* Must be large enough so the line 'TracerPid: ${PID}' can fit in. */ ++ static const int OVERLAP = 32; ++ ++ char buf[256+OVERLAP+1]; + int tracer_present = 0; + int fd; +- ssize_t n_read; ++ size_t n_read = 0; + + fd = open("/proc/self/status", O_RDONLY); + if(fd == -1) + return 0; + +- n_read = read(fd, buf, sizeof(buf)-1); +- while(n_read > 0) { ++ while(1) { + static const char pattern[] = "TracerPid:"; + const char* field; + ++ while(n_read < sizeof(buf) - 1) { ++ ssize_t n; ++ ++ n = read(fd, buf + n_read, sizeof(buf) - 1 - n_read); ++ if(n <= 0) ++ break; ++ n_read += n; ++ } + buf[n_read] = '\0'; ++ + field = strstr(buf, pattern); +- if(field != NULL && field < buf + sizeof(buf) - 32) { ++ if(field != NULL && field < buf + sizeof(buf) - OVERLAP) { + pid_t tracer_pid = (pid_t) atoi(field + sizeof(pattern) - 1); + tracer_present = (tracer_pid != 0); + break; + } + + if(n_read == sizeof(buf)-1) { +- memmove(buf, buf + sizeof(buf)-1 - 32, 32); +- n_read = read(fd, buf+32, sizeof(buf)-1-32); +- if(n_read > 0) +- n_read += 32; ++ memmove(buf, buf + sizeof(buf)-1 - OVERLAP, OVERLAP); ++ n_read = OVERLAP; ++ } else { ++ break; + } + } + +@@ -1441,141 +1548,147 @@ int + main(int argc, char** argv) + { + int i; +- test_argv0__ = argv[0]; ++ test_argv0_ = argv[0]; + +-#if defined ACUTEST_UNIX__ +- test_colorize__ = isatty(STDOUT_FILENO); +-#elif defined ACUTEST_WIN__ +- #if defined __BORLANDC__ +- test_colorize__ = isatty(_fileno(stdout)); ++#if defined ACUTEST_UNIX_ ++ test_colorize_ = isatty(STDOUT_FILENO); ++#elif defined ACUTEST_WIN_ ++ #if defined _BORLANDC_ ++ test_colorize_ = isatty(_fileno(stdout)); + #else +- test_colorize__ = _isatty(_fileno(stdout)); ++ test_colorize_ = _isatty(_fileno(stdout)); + #endif + #else +- test_colorize__ = 0; ++ test_colorize_ = 0; + #endif + +- test_timer_init__(); +- + /* Count all test units */ +- test_list_size__ = 0; +- for(i = 0; test_list__[i].func != NULL; i++) +- test_list_size__++; ++ test_list_size_ = 0; ++ for(i = 0; test_list_[i].func != NULL; i++) ++ test_list_size_++; + +- test_details__ = (struct test_detail__*)calloc(test_list_size__, sizeof(struct test_detail__)); +- if(test_details__ == NULL) { ++ test_details_ = (struct test_detail_*)calloc(test_list_size_, sizeof(struct test_detail_)); ++ if(test_details_ == NULL) { + fprintf(stderr, "Out of memory.\n"); + exit(2); + } + + /* Parse options */ +- test_cmdline_read__(test_cmdline_options__, argc, argv, test_cmdline_callback__); ++ test_cmdline_read_(test_cmdline_options_, argc, argv, test_cmdline_callback_); + +-#if defined(ACUTEST_WIN__) +- SetUnhandledExceptionFilter(test_exception_filter__); ++ /* Initialize the proper timer. */ ++ test_timer_init_(); ++ ++#if defined(ACUTEST_WIN_) ++ SetUnhandledExceptionFilter(test_seh_exception_filter_); + #endif + + /* By default, we want to run all tests. */ +- if(test_count__ == 0) { +- for(i = 0; test_list__[i].func != NULL; i++) +- test_remember__(i); ++ if(test_count_ == 0) { ++ for(i = 0; test_list_[i].func != NULL; i++) ++ test_remember_(i); + } + + /* Guess whether we want to run unit tests as child processes. */ +- if(test_no_exec__ < 0) { +- test_no_exec__ = 0; ++ if(test_no_exec_ < 0) { ++ test_no_exec_ = 0; + +- if(test_count__ <= 1) { +- test_no_exec__ = 1; ++ if(test_count_ <= 1) { ++ test_no_exec_ = 1; + } else { +-#ifdef ACUTEST_WIN__ ++#ifdef ACUTEST_WIN_ + if(IsDebuggerPresent()) +- test_no_exec__ = 1; ++ test_no_exec_ = 1; ++#endif ++#ifdef ACUTEST_LINUX_ ++ if(test_is_tracer_present_()) ++ test_no_exec_ = 1; + #endif +-#ifdef ACUTEST_LINUX__ +- if(test_is_tracer_present__()) +- test_no_exec__ = 1; ++#ifdef RUNNING_ON_VALGRIND ++ /* RUNNING_ON_VALGRIND is provided by valgrind.h */ ++ if(RUNNING_ON_VALGRIND) ++ test_no_exec_ = 1; + #endif + } + } + +- if(test_tap__) { ++ if(test_tap_) { + /* TAP requires we know test result ("ok", "not ok") before we output + * anything about the test, and this gets problematic for larger verbose + * levels. */ +- if(test_verbose_level__ > 2) +- test_verbose_level__ = 2; ++ if(test_verbose_level_ > 2) ++ test_verbose_level_ = 2; + + /* TAP harness should provide some summary. */ +- test_no_summary__ = 1; ++ test_no_summary_ = 1; + +- if(!test_worker__) +- printf("1..%d\n", (int) test_count__); ++ if(!test_worker_) ++ printf("1..%d\n", (int) test_count_); + } + +- int index = test_worker_index__; +- for(i = 0; test_list__[i].func != NULL; i++) { +- int run = (test_details__[i].flags & TEST_FLAG_RUN__); +- if (test_skip_mode__) /* Run all tests except those listed. */ ++ int index = test_worker_index_; ++ for(i = 0; test_list_[i].func != NULL; i++) { ++ int run = (test_details_[i].flags & TEST_FLAG_RUN_); ++ if (test_skip_mode_) /* Run all tests except those listed. */ + run = !run; + if(run) +- test_run__(&test_list__[i], index++, i); ++ test_run_(&test_list_[i], index++, i); + } + + /* Write a summary */ +- if(!test_no_summary__ && test_verbose_level__ >= 1) { +- if(test_verbose_level__ >= 3) { +- test_print_in_color__(TEST_COLOR_DEFAULT_INTENSIVE__, "Summary:\n"); +- +- printf(" Count of all unit tests: %4d\n", (int) test_list_size__); +- printf(" Count of run unit tests: %4d\n", test_stat_run_units__); +- printf(" Count of failed unit tests: %4d\n", test_stat_failed_units__); +- printf(" Count of skipped unit tests: %4d\n", (int) test_list_size__ - test_stat_run_units__); ++ if(!test_no_summary_ && test_verbose_level_ >= 1) { ++ if(test_verbose_level_ >= 3) { ++ test_print_in_color_(TEST_COLOR_DEFAULT_INTENSIVE_, "Summary:\n"); ++ ++ printf(" Count of all unit tests: %4d\n", (int) test_list_size_); ++ printf(" Count of run unit tests: %4d\n", test_stat_run_units_); ++ printf(" Count of failed unit tests: %4d\n", test_stat_failed_units_); ++ printf(" Count of skipped unit tests: %4d\n", (int) test_list_size_ - test_stat_run_units_); + } + +- if(test_stat_failed_units__ == 0) { +- test_print_in_color__(TEST_COLOR_GREEN_INTENSIVE__, "SUCCESS:"); ++ if(test_stat_failed_units_ == 0) { ++ test_print_in_color_(TEST_COLOR_GREEN_INTENSIVE_, "SUCCESS:"); + printf(" All unit tests have passed.\n"); + } else { +- test_print_in_color__(TEST_COLOR_RED_INTENSIVE__, "FAILED:"); ++ test_print_in_color_(TEST_COLOR_RED_INTENSIVE_, "FAILED:"); + printf(" %d of %d unit tests %s failed.\n", +- test_stat_failed_units__, test_stat_run_units__, +- (test_stat_failed_units__ == 1) ? "has" : "have"); ++ test_stat_failed_units_, test_stat_run_units_, ++ (test_stat_failed_units_ == 1) ? "has" : "have"); + } + +- if(test_verbose_level__ >= 3) ++ if(test_verbose_level_ >= 3) + printf("\n"); + } + +- if (test_xml_output__) { +-#if defined ACUTEST_UNIX__ ++ if (test_xml_output_) { ++#if defined ACUTEST_UNIX_ + char *suite_name = basename(argv[0]); +-#elif defined ACUTEST_WIN__ ++#elif defined ACUTEST_WIN_ + char suite_name[_MAX_FNAME]; + _splitpath(argv[0], NULL, NULL, suite_name, NULL); + #else + const char *suite_name = argv[0]; + #endif +- fprintf(test_xml_output__, "\n"); +- fprintf(test_xml_output__, "\n", +- suite_name, (int)test_list_size__, test_stat_failed_units__, test_stat_failed_units__, +- (int)test_list_size__ - test_stat_run_units__); +- for(i = 0; test_list__[i].func != NULL; i++) { +- struct test_detail__ *details = &test_details__[i]; +- fprintf(test_xml_output__, " \n", test_list__[i].name, details->duration); +- if (details->flags & TEST_FLAG_FAILURE__) +- fprintf(test_xml_output__, " \n"); +- if (!(details->flags & TEST_FLAG_FAILURE__) && !(details->flags & TEST_FLAG_SUCCESS__)) +- fprintf(test_xml_output__, " \n"); +- fprintf(test_xml_output__, " \n"); ++ fprintf(test_xml_output_, "\n"); ++ fprintf(test_xml_output_, "\n", ++ suite_name, (int)test_list_size_, test_stat_failed_units_, test_stat_failed_units_, ++ (int)test_list_size_ - test_stat_run_units_); ++ for(i = 0; test_list_[i].func != NULL; i++) { ++ struct test_detail_ *details = &test_details_[i]; ++ fprintf(test_xml_output_, " \n", test_list_[i].name, details->duration); ++ if (details->flags & TEST_FLAG_FAILURE_) ++ fprintf(test_xml_output_, " \n"); ++ if (!(details->flags & TEST_FLAG_FAILURE_) && !(details->flags & TEST_FLAG_SUCCESS_)) ++ fprintf(test_xml_output_, " \n"); ++ fprintf(test_xml_output_, " \n"); + } +- fprintf(test_xml_output__, "\n"); +- fclose(test_xml_output__); ++ fprintf(test_xml_output_, "\n"); ++ fclose(test_xml_output_); + } + +- free((void*) test_details__); ++ free((void*) test_details_); + +- return (test_stat_failed_units__ == 0) ? 0 : 1; ++ return (test_stat_failed_units_ == 0) ? 0 : 1; + } + + +@@ -1586,4 +1699,4 @@ main(int argc, char** argv) + #endif + + +-#endif /* #ifndef ACUTEST_H__ */ ++#endif /* #ifndef ACUTEST_H */ +diff --git a/test/address/mutt_addr_cat.c b/test/address/mutt_addr_cat.c +index 02b41be1b..b92ff0272 100644 +--- a/test/address/mutt_addr_cat.c ++++ b/test/address/mutt_addr_cat.c +@@ -24,7 +24,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "common.h" + +diff --git a/test/address/mutt_addr_cmp.c b/test/address/mutt_addr_cmp.c +index 2fb99cbef..6f23b9d2c 100644 +--- a/test/address/mutt_addr_cmp.c ++++ b/test/address/mutt_addr_cmp.c +@@ -24,7 +24,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + + void test_mutt_addr_cmp(void) +diff --git a/test/address/mutt_addr_copy.c b/test/address/mutt_addr_copy.c +index c78b3e2dd..d0dce8ba8 100644 +--- a/test/address/mutt_addr_copy.c ++++ b/test/address/mutt_addr_copy.c +@@ -24,7 +24,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "common.h" + +diff --git a/test/address/mutt_addr_for_display.c b/test/address/mutt_addr_for_display.c +index 9de51a0e2..750b596a6 100644 +--- a/test/address/mutt_addr_for_display.c ++++ b/test/address/mutt_addr_for_display.c +@@ -24,7 +24,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "common.h" + +diff --git a/test/address/mutt_addr_free.c b/test/address/mutt_addr_free.c +index e4cfe5293..c33c39089 100644 +--- a/test/address/mutt_addr_free.c ++++ b/test/address/mutt_addr_free.c +@@ -24,7 +24,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + + void test_mutt_addr_free(void) +diff --git a/test/address/mutt_addr_new.c b/test/address/mutt_addr_new.c +index e49c178c3..61c5f1809 100644 +--- a/test/address/mutt_addr_new.c ++++ b/test/address/mutt_addr_new.c +@@ -24,7 +24,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + + void test_mutt_addr_new(void) +diff --git a/test/address/mutt_addr_valid_msgid.c b/test/address/mutt_addr_valid_msgid.c +index 6d19a6efd..4dfbf37fb 100644 +--- a/test/address/mutt_addr_valid_msgid.c ++++ b/test/address/mutt_addr_valid_msgid.c +@@ -24,7 +24,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + + void test_mutt_addr_valid_msgid(void) +diff --git a/test/address/mutt_addr_write.c b/test/address/mutt_addr_write.c +index 61eef6d84..80e7d23ee 100644 +--- a/test/address/mutt_addr_write.c ++++ b/test/address/mutt_addr_write.c +@@ -24,7 +24,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "common.h" + +diff --git a/test/address/mutt_addrlist_append.c b/test/address/mutt_addrlist_append.c +index e92fb7466..e7ba8241c 100644 +--- a/test/address/mutt_addrlist_append.c ++++ b/test/address/mutt_addrlist_append.c +@@ -24,7 +24,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "common.h" + +diff --git a/test/address/mutt_addrlist_clear.c b/test/address/mutt_addrlist_clear.c +index a93b4de5f..5beec0dca 100644 +--- a/test/address/mutt_addrlist_clear.c ++++ b/test/address/mutt_addrlist_clear.c +@@ -24,7 +24,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + + void test_mutt_addrlist_clear(void) +diff --git a/test/address/mutt_addrlist_copy.c b/test/address/mutt_addrlist_copy.c +index 7734399b2..aea8bcae1 100644 +--- a/test/address/mutt_addrlist_copy.c ++++ b/test/address/mutt_addrlist_copy.c +@@ -25,7 +25,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "common.h" + +diff --git a/test/address/mutt_addrlist_count_recips.c b/test/address/mutt_addrlist_count_recips.c +index 1c40a55aa..b9b78b941 100644 +--- a/test/address/mutt_addrlist_count_recips.c ++++ b/test/address/mutt_addrlist_count_recips.c +@@ -24,7 +24,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + + void test_mutt_addrlist_count_recips(void) +diff --git a/test/address/mutt_addrlist_dedupe.c b/test/address/mutt_addrlist_dedupe.c +index 55063dd45..d9e1454d8 100644 +--- a/test/address/mutt_addrlist_dedupe.c ++++ b/test/address/mutt_addrlist_dedupe.c +@@ -24,7 +24,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "common.h" + +diff --git a/test/address/mutt_addrlist_equal.c b/test/address/mutt_addrlist_equal.c +index b277df3ee..323fdfc18 100644 +--- a/test/address/mutt_addrlist_equal.c ++++ b/test/address/mutt_addrlist_equal.c +@@ -24,7 +24,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + + void test_mutt_addrlist_equal(void) +diff --git a/test/address/mutt_addrlist_parse.c b/test/address/mutt_addrlist_parse.c +index d597d0ffb..4714f6fa3 100644 +--- a/test/address/mutt_addrlist_parse.c ++++ b/test/address/mutt_addrlist_parse.c +@@ -24,7 +24,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "common.h" + +diff --git a/test/address/mutt_addrlist_parse2.c b/test/address/mutt_addrlist_parse2.c +index 7fbd2a87f..18edd6c5e 100644 +--- a/test/address/mutt_addrlist_parse2.c ++++ b/test/address/mutt_addrlist_parse2.c +@@ -24,7 +24,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "common.h" + +diff --git a/test/address/mutt_addrlist_prepend.c b/test/address/mutt_addrlist_prepend.c +index 8196869c6..83a904d52 100644 +--- a/test/address/mutt_addrlist_prepend.c ++++ b/test/address/mutt_addrlist_prepend.c +@@ -24,7 +24,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "common.h" + +diff --git a/test/address/mutt_addrlist_qualify.c b/test/address/mutt_addrlist_qualify.c +index 93db88039..19d2de59d 100644 +--- a/test/address/mutt_addrlist_qualify.c ++++ b/test/address/mutt_addrlist_qualify.c +@@ -24,7 +24,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "common.h" + +diff --git a/test/address/mutt_addrlist_remove.c b/test/address/mutt_addrlist_remove.c +index 29f560a6a..f04779bc3 100644 +--- a/test/address/mutt_addrlist_remove.c ++++ b/test/address/mutt_addrlist_remove.c +@@ -24,7 +24,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + + void test_mutt_addrlist_remove(void) +diff --git a/test/address/mutt_addrlist_remove_xrefs.c b/test/address/mutt_addrlist_remove_xrefs.c +index d67d4b42d..3da71b362 100644 +--- a/test/address/mutt_addrlist_remove_xrefs.c ++++ b/test/address/mutt_addrlist_remove_xrefs.c +@@ -24,7 +24,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "common.h" + +diff --git a/test/address/mutt_addrlist_search.c b/test/address/mutt_addrlist_search.c +index 2ed87a8f7..c40577465 100644 +--- a/test/address/mutt_addrlist_search.c ++++ b/test/address/mutt_addrlist_search.c +@@ -24,7 +24,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + + void test_mutt_addrlist_search(void) +@@ -33,11 +33,11 @@ void test_mutt_addrlist_search(void) + + { + struct AddressList al = TAILQ_HEAD_INITIALIZER(al); +- TEST_CHECK(!mutt_addrlist_search(NULL, &al)); ++ TEST_CHECK(!mutt_addrlist_search(&al, NULL)); + } + + { + struct Address a = { 0 }; +- TEST_CHECK(!mutt_addrlist_search(&a, NULL)); ++ TEST_CHECK(!mutt_addrlist_search(NULL, &a)); + } + } +diff --git a/test/address/mutt_addrlist_to_intl.c b/test/address/mutt_addrlist_to_intl.c +index 46e3ca67a..d47728259 100644 +--- a/test/address/mutt_addrlist_to_intl.c ++++ b/test/address/mutt_addrlist_to_intl.c +@@ -24,7 +24,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "common.h" + +diff --git a/test/address/mutt_addrlist_to_local.c b/test/address/mutt_addrlist_to_local.c +index 78913f158..bac8b75c5 100644 +--- a/test/address/mutt_addrlist_to_local.c ++++ b/test/address/mutt_addrlist_to_local.c +@@ -24,7 +24,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + + void test_mutt_addrlist_to_local(void) +diff --git a/test/address/mutt_addrlist_write.c b/test/address/mutt_addrlist_write.c +index 6d2956676..d5b47f737 100644 +--- a/test/address/mutt_addrlist_write.c ++++ b/test/address/mutt_addrlist_write.c +@@ -24,7 +24,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "common.h" + +@@ -34,12 +34,12 @@ void test_mutt_addrlist_write(void) + + { + struct AddressList al = { 0 }; +- TEST_CHECK(mutt_addrlist_write(NULL, 32, &al, false) == 0); ++ TEST_CHECK(mutt_addrlist_write(&al, NULL, 32, false) == 0); + } + + { + char buf[32] = { 0 }; +- TEST_CHECK(mutt_addrlist_write(buf, sizeof(buf), NULL, false) == 0); ++ TEST_CHECK(mutt_addrlist_write(NULL, buf, sizeof(buf), false) == 0); + } + + { +@@ -51,28 +51,28 @@ void test_mutt_addrlist_write(void) + + { + char buf[8] = { 0 }; +- size_t nbytes = mutt_addrlist_write(buf, sizeof(buf), &al, false); ++ size_t nbytes = mutt_addrlist_write(&al, buf, sizeof(buf), false); + TEST_CHECK(nbytes == sizeof(buf) - 1); + TEST_CHECK_STR_EQ("test@ex", buf); + } + + { + char buf[24] = { 0 }; +- size_t nbytes = mutt_addrlist_write(buf, sizeof(buf), &al, false); ++ size_t nbytes = mutt_addrlist_write(&al, buf, sizeof(buf), false); + TEST_CHECK(nbytes == sizeof(buf) - 1); + TEST_CHECK_STR_EQ("test@example.com, John ", buf); + } + + { + char buf[43] = { 0 }; +- size_t nbytes = mutt_addrlist_write(buf, sizeof(buf), &al, false); ++ size_t nbytes = mutt_addrlist_write(&al, buf, sizeof(buf), false); + TEST_CHECK(nbytes == sizeof(buf) - 1); + TEST_CHECK_STR_EQ("test@example.com, John Doe ,", buf); + } + + { + char buf[76] = { 0 }; +- size_t nbytes = mutt_addrlist_write(buf, sizeof(buf), &al, false); ++ size_t nbytes = mutt_addrlist_write(&al, buf, sizeof(buf), false); + TEST_CHECK(nbytes == sizeof(buf) - 1); + TEST_CHECK_STR_EQ("test@example.com, John Doe , \"Foo J. " + "Bar\" ", +diff --git a/test/attach/mutt_actx_add_attach.c b/test/attach/mutt_actx_add_attach.c +index 5e95a4fc7..edc35ad73 100644 +--- a/test/attach/mutt_actx_add_attach.c ++++ b/test/attach/mutt_actx_add_attach.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/attach/mutt_actx_add_body.c b/test/attach/mutt_actx_add_body.c +index 34e72b2ae..e5ababd37 100644 +--- a/test/attach/mutt_actx_add_body.c ++++ b/test/attach/mutt_actx_add_body.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/attach/mutt_actx_add_fp.c b/test/attach/mutt_actx_add_fp.c +index c30afd1ba..b07489312 100644 +--- a/test/attach/mutt_actx_add_fp.c ++++ b/test/attach/mutt_actx_add_fp.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/attach/mutt_actx_entries_free.c b/test/attach/mutt_actx_entries_free.c +index 23f792cbb..f9554a8c6 100644 +--- a/test/attach/mutt_actx_entries_free.c ++++ b/test/attach/mutt_actx_entries_free.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/attach/mutt_actx_free.c b/test/attach/mutt_actx_free.c +index db6b47012..257c53bcd 100644 +--- a/test/attach/mutt_actx_free.c ++++ b/test/attach/mutt_actx_free.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/base64/mutt_b64_buffer_decode.c b/test/base64/mutt_b64_buffer_decode.c +index 6d47b799a..e4fca9540 100644 +--- a/test/base64/mutt_b64_buffer_decode.c ++++ b/test/base64/mutt_b64_buffer_decode.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_b64_buffer_decode(void) + { +diff --git a/test/base64/mutt_b64_buffer_encode.c b/test/base64/mutt_b64_buffer_encode.c +index fd660c592..ae65b36c7 100644 +--- a/test/base64/mutt_b64_buffer_encode.c ++++ b/test/base64/mutt_b64_buffer_encode.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_b64_buffer_encode(void) + { +diff --git a/test/base64/mutt_b64_decode.c b/test/base64/mutt_b64_decode.c +index 9a8fcbe99..2cec334b2 100644 +--- a/test/base64/mutt_b64_decode.c ++++ b/test/base64/mutt_b64_decode.c +@@ -24,7 +24,7 @@ + #include "acutest.h" + #include "config.h" + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + static const char clear[] = "Hello"; + static const char encoded[] = "SGVsbG8="; +diff --git a/test/base64/mutt_b64_encode.c b/test/base64/mutt_b64_encode.c +index 7c46b68c7..51188258a 100644 +--- a/test/base64/mutt_b64_encode.c ++++ b/test/base64/mutt_b64_encode.c +@@ -24,7 +24,7 @@ + #include "acutest.h" + #include "config.h" + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + static const char clear[] = "Hello"; + static const char encoded[] = "SGVsbG8="; +diff --git a/test/body/mutt_body_cmp_strict.c b/test/body/mutt_body_cmp_strict.c +index 641f52ea6..c794d90da 100644 +--- a/test/body/mutt_body_cmp_strict.c ++++ b/test/body/mutt_body_cmp_strict.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/body/mutt_body_free.c b/test/body/mutt_body_free.c +index c1c5ec9cb..cec8eb03f 100644 +--- a/test/body/mutt_body_free.c ++++ b/test/body/mutt_body_free.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/body/mutt_body_new.c b/test/body/mutt_body_new.c +index df95c6adb..b8b0561bb 100644 +--- a/test/body/mutt_body_new.c ++++ b/test/body/mutt_body_new.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/buffer/mutt_buffer_add_printf.c b/test/buffer/mutt_buffer_add_printf.c +index 71552e97c..39db18009 100644 +--- a/test/buffer/mutt_buffer_add_printf.c ++++ b/test/buffer/mutt_buffer_add_printf.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_buffer_add_printf(void) + { +diff --git a/test/buffer/mutt_buffer_addch.c b/test/buffer/mutt_buffer_addch.c +index 2d59b9da0..584b1bfba 100644 +--- a/test/buffer/mutt_buffer_addch.c ++++ b/test/buffer/mutt_buffer_addch.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_buffer_addch(void) + { +diff --git a/test/buffer/mutt_buffer_addstr.c b/test/buffer/mutt_buffer_addstr.c +index 224373aa8..ba06ebab9 100644 +--- a/test/buffer/mutt_buffer_addstr.c ++++ b/test/buffer/mutt_buffer_addstr.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_buffer_addstr(void) + { +diff --git a/test/buffer/mutt_buffer_addstr_n.c b/test/buffer/mutt_buffer_addstr_n.c +index d3e96db81..f33b8a9c6 100644 +--- a/test/buffer/mutt_buffer_addstr_n.c ++++ b/test/buffer/mutt_buffer_addstr_n.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_buffer_addstr_n(void) + { +diff --git a/test/buffer/mutt_buffer_alloc.c b/test/buffer/mutt_buffer_alloc.c +index 21f0c3bd1..ed94e4c7f 100644 +--- a/test/buffer/mutt_buffer_alloc.c ++++ b/test/buffer/mutt_buffer_alloc.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_buffer_alloc(void) + { +diff --git a/test/buffer/mutt_buffer_concat_path.c b/test/buffer/mutt_buffer_concat_path.c +index 5c6dd062d..bebea92cc 100644 +--- a/test/buffer/mutt_buffer_concat_path.c ++++ b/test/buffer/mutt_buffer_concat_path.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_buffer_concat_path(void) + { +diff --git a/test/buffer/mutt_buffer_fix_dptr.c b/test/buffer/mutt_buffer_fix_dptr.c +index e00a5bb2f..0c9f5a99e 100644 +--- a/test/buffer/mutt_buffer_fix_dptr.c ++++ b/test/buffer/mutt_buffer_fix_dptr.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_buffer_fix_dptr(void) + { +diff --git a/test/buffer/mutt_buffer_init.c b/test/buffer/mutt_buffer_init.c +index 3838a9130..6f6c8a0ef 100644 +--- a/test/buffer/mutt_buffer_init.c ++++ b/test/buffer/mutt_buffer_init.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_buffer_init(void) + { +diff --git a/test/buffer/mutt_buffer_is_empty.c b/test/buffer/mutt_buffer_is_empty.c +index b93995b58..880caa690 100644 +--- a/test/buffer/mutt_buffer_is_empty.c ++++ b/test/buffer/mutt_buffer_is_empty.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_buffer_is_empty(void) + { +diff --git a/test/buffer/mutt_buffer_len.c b/test/buffer/mutt_buffer_len.c +index b351945f7..d95e96db9 100644 +--- a/test/buffer/mutt_buffer_len.c ++++ b/test/buffer/mutt_buffer_len.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_buffer_len(void) + { +diff --git a/test/buffer/mutt_buffer_pool_free.c b/test/buffer/mutt_buffer_pool_free.c +index 32b9d7d22..964b3d646 100644 +--- a/test/buffer/mutt_buffer_pool_free.c ++++ b/test/buffer/mutt_buffer_pool_free.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_buffer_pool_free(void) + { +diff --git a/test/buffer/mutt_buffer_pool_get.c b/test/buffer/mutt_buffer_pool_get.c +index e70f24d2d..2a1f1a53c 100644 +--- a/test/buffer/mutt_buffer_pool_get.c ++++ b/test/buffer/mutt_buffer_pool_get.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_buffer_pool_get(void) + { +diff --git a/test/buffer/mutt_buffer_pool_release.c b/test/buffer/mutt_buffer_pool_release.c +index a097bcd76..8d59e54a7 100644 +--- a/test/buffer/mutt_buffer_pool_release.c ++++ b/test/buffer/mutt_buffer_pool_release.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_buffer_pool_release(void) + { +diff --git a/test/buffer/mutt_buffer_printf.c b/test/buffer/mutt_buffer_printf.c +index 24bd7e492..482d0e638 100644 +--- a/test/buffer/mutt_buffer_printf.c ++++ b/test/buffer/mutt_buffer_printf.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_buffer_printf(void) + { +diff --git a/test/buffer/mutt_buffer_reset.c b/test/buffer/mutt_buffer_reset.c +index 52b30676c..57438bcbc 100644 +--- a/test/buffer/mutt_buffer_reset.c ++++ b/test/buffer/mutt_buffer_reset.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_buffer_reset(void) + { +diff --git a/test/buffer/mutt_buffer_strcpy.c b/test/buffer/mutt_buffer_strcpy.c +index 986fe0bb0..b5490dff3 100644 +--- a/test/buffer/mutt_buffer_strcpy.c ++++ b/test/buffer/mutt_buffer_strcpy.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_buffer_strcpy(void) + { +diff --git a/test/buffer/mutt_buffer_strcpy_n.c b/test/buffer/mutt_buffer_strcpy_n.c +index f09b70df5..e218327e3 100644 +--- a/test/buffer/mutt_buffer_strcpy_n.c ++++ b/test/buffer/mutt_buffer_strcpy_n.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_buffer_strcpy_n(void) + { +diff --git a/test/charset/mutt_ch_canonical_charset.c b/test/charset/mutt_ch_canonical_charset.c +index 3ff47271e..4977bb2e0 100644 +--- a/test/charset/mutt_ch_canonical_charset.c ++++ b/test/charset/mutt_ch_canonical_charset.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_ch_canonical_charset(void) + { +diff --git a/test/charset/mutt_ch_charset_lookup.c b/test/charset/mutt_ch_charset_lookup.c +index ef372d34d..a9d141c67 100644 +--- a/test/charset/mutt_ch_charset_lookup.c ++++ b/test/charset/mutt_ch_charset_lookup.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_ch_charset_lookup(void) + { +diff --git a/test/charset/mutt_ch_check.c b/test/charset/mutt_ch_check.c +index 5ad211504..a9d18a5fe 100644 +--- a/test/charset/mutt_ch_check.c ++++ b/test/charset/mutt_ch_check.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_ch_check(void) + { +diff --git a/test/charset/mutt_ch_check_charset.c b/test/charset/mutt_ch_check_charset.c +index 43e525a19..11c9c96ae 100644 +--- a/test/charset/mutt_ch_check_charset.c ++++ b/test/charset/mutt_ch_check_charset.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_ch_check_charset(void) + { +diff --git a/test/charset/mutt_ch_choose.c b/test/charset/mutt_ch_choose.c +index 89e9dc31a..a83a1b413 100644 +--- a/test/charset/mutt_ch_choose.c ++++ b/test/charset/mutt_ch_choose.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_ch_choose(void) + { +diff --git a/test/charset/mutt_ch_chscmp.c b/test/charset/mutt_ch_chscmp.c +index 2a5840921..5dd82520c 100644 +--- a/test/charset/mutt_ch_chscmp.c ++++ b/test/charset/mutt_ch_chscmp.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_ch_chscmp(void) + { +diff --git a/test/charset/mutt_ch_convert_nonmime_string.c b/test/charset/mutt_ch_convert_nonmime_string.c +index 4fe661f17..b7042e8d6 100644 +--- a/test/charset/mutt_ch_convert_nonmime_string.c ++++ b/test/charset/mutt_ch_convert_nonmime_string.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_ch_convert_nonmime_string(void) + { +diff --git a/test/charset/mutt_ch_convert_string.c b/test/charset/mutt_ch_convert_string.c +index cbac68267..f83eb6e51 100644 +--- a/test/charset/mutt_ch_convert_string.c ++++ b/test/charset/mutt_ch_convert_string.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_ch_convert_string(void) + { +diff --git a/test/charset/mutt_ch_fgetconv.c b/test/charset/mutt_ch_fgetconv.c +index 806ea0076..21b3ada53 100644 +--- a/test/charset/mutt_ch_fgetconv.c ++++ b/test/charset/mutt_ch_fgetconv.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_ch_fgetconv(void) + { +diff --git a/test/charset/mutt_ch_fgetconv_close.c b/test/charset/mutt_ch_fgetconv_close.c +index c7018ee47..0fdb473f6 100644 +--- a/test/charset/mutt_ch_fgetconv_close.c ++++ b/test/charset/mutt_ch_fgetconv_close.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_ch_fgetconv_close(void) + { +diff --git a/test/charset/mutt_ch_fgetconv_open.c b/test/charset/mutt_ch_fgetconv_open.c +index b604d9945..560b41335 100644 +--- a/test/charset/mutt_ch_fgetconv_open.c ++++ b/test/charset/mutt_ch_fgetconv_open.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_ch_fgetconv_open(void) + { +diff --git a/test/charset/mutt_ch_fgetconvs.c b/test/charset/mutt_ch_fgetconvs.c +index 313638b4e..688810c3b 100644 +--- a/test/charset/mutt_ch_fgetconvs.c ++++ b/test/charset/mutt_ch_fgetconvs.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_ch_fgetconvs(void) + { +diff --git a/test/charset/mutt_ch_get_default_charset.c b/test/charset/mutt_ch_get_default_charset.c +index a4fca43ee..870c12a35 100644 +--- a/test/charset/mutt_ch_get_default_charset.c ++++ b/test/charset/mutt_ch_get_default_charset.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_ch_get_default_charset(void) + { +diff --git a/test/charset/mutt_ch_get_langinfo_charset.c b/test/charset/mutt_ch_get_langinfo_charset.c +index 1d0e336f7..b27837883 100644 +--- a/test/charset/mutt_ch_get_langinfo_charset.c ++++ b/test/charset/mutt_ch_get_langinfo_charset.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_ch_get_langinfo_charset(void) + { +diff --git a/test/charset/mutt_ch_iconv.c b/test/charset/mutt_ch_iconv.c +index 1f7fda71c..34d77ad66 100644 +--- a/test/charset/mutt_ch_iconv.c ++++ b/test/charset/mutt_ch_iconv.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_ch_iconv(void) + { +diff --git a/test/charset/mutt_ch_iconv_lookup.c b/test/charset/mutt_ch_iconv_lookup.c +index 48e2d627b..9160ccd57 100644 +--- a/test/charset/mutt_ch_iconv_lookup.c ++++ b/test/charset/mutt_ch_iconv_lookup.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_ch_iconv_lookup(void) + { +diff --git a/test/charset/mutt_ch_iconv_open.c b/test/charset/mutt_ch_iconv_open.c +index 6f426bb37..39661a9fe 100644 +--- a/test/charset/mutt_ch_iconv_open.c ++++ b/test/charset/mutt_ch_iconv_open.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_ch_iconv_open(void) + { +diff --git a/test/charset/mutt_ch_lookup_add.c b/test/charset/mutt_ch_lookup_add.c +index 4a12c97ec..d45078735 100644 +--- a/test/charset/mutt_ch_lookup_add.c ++++ b/test/charset/mutt_ch_lookup_add.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_ch_lookup_add(void) + { +diff --git a/test/charset/mutt_ch_lookup_remove.c b/test/charset/mutt_ch_lookup_remove.c +index aff96daa3..8e6dd047f 100644 +--- a/test/charset/mutt_ch_lookup_remove.c ++++ b/test/charset/mutt_ch_lookup_remove.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_ch_lookup_remove(void) + { +diff --git a/test/charset/mutt_ch_set_charset.c b/test/charset/mutt_ch_set_charset.c +index de069d417..3ac339c1e 100644 +--- a/test/charset/mutt_ch_set_charset.c ++++ b/test/charset/mutt_ch_set_charset.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_ch_set_charset(void) + { +diff --git a/test/config/account.c b/test/config/account.c +index 88f466445..67f61d381 100644 +--- a/test/config/account.c ++++ b/test/config/account.c +@@ -25,7 +25,7 @@ + #include "config.h" + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "config/common.h" + #include "config/lib.h" + #include "core/lib.h" +@@ -54,6 +54,7 @@ void config_account(void) + mutt_buffer_reset(&err); + + struct ConfigSet *cs = cs_new(30); ++ NeoMutt = neomutt_new(cs); + int rc = 0; + + number_init(cs); +@@ -62,16 +63,16 @@ void config_account(void) + + set_list(cs); + +- notify_observer_add(cs->notify, NT_CONFIG, 0, log_observer, 0); ++ notify_observer_add(NeoMutt->notify, log_observer, 0); + + const char *account = "damaged"; + const char *parent = "Pineapple"; + +- struct ConfigSubset *sub = cs_subset_new(NULL, NULL); ++ struct ConfigSubset *sub = cs_subset_new(NULL, NULL, NeoMutt->notify); + sub->cs = cs; + struct Account *a = account_new(account, sub); + +- struct HashElem *he = cs_subset_create_var(a->sub, parent, &err); ++ struct HashElem *he = cs_subset_create_inheritance(a->sub, parent); + + account_free(&a); + +@@ -89,8 +90,8 @@ void config_account(void) + account = "fruit"; + a = account_new(account, sub); + +- struct HashElem *he1 = cs_subset_create_var(a->sub, "Apple", &err); +- struct HashElem *he2 = cs_subset_create_var(a->sub, "Apple", &err); ++ struct HashElem *he1 = cs_subset_create_inheritance(a->sub, "Apple"); ++ struct HashElem *he2 = cs_subset_create_inheritance(a->sub, "Apple"); + if (!he1 || !he2 || (he1 != he2)) + { + TEST_MSG("%s\n", err.data); +@@ -101,25 +102,25 @@ void config_account(void) + + a = account_new(account, sub); + +- he = cs_subset_create_var(NULL, "Apple", &err); ++ he = cs_subset_create_inheritance(NULL, "Apple"); + if (he) + return; +- he = cs_subset_create_var(a->sub, NULL, &err); ++ he = cs_subset_create_inheritance(a->sub, NULL); + if (he) + return; + +- he = cs_subset_create_var(a->sub, "Apple", &err); ++ he = cs_subset_create_inheritance(a->sub, "Apple"); + if (!he) + return; + +- he = cs_subset_create_var(a->sub, "Cherry", &err); ++ he = cs_subset_create_inheritance(a->sub, "Cherry"); + if (!he) + return; + + he = cs_subset_lookup(a->sub, "Apple"); + mutt_buffer_reset(&err); + +- rc = cs_subset_native_set(NULL, he, 33, &err); ++ rc = cs_subset_he_native_set(NULL, he, 33, &err); + if (TEST_CHECK(CSR_RESULT(rc) != CSR_SUCCESS)) + { + TEST_MSG("Expected error: %s\n", err.data); +@@ -130,7 +131,7 @@ void config_account(void) + return; + } + +- rc = cs_subset_native_set(a->sub, NULL, 33, &err); ++ rc = cs_subset_he_native_set(a->sub, NULL, 33, &err); + if (TEST_CHECK(CSR_RESULT(rc) != CSR_SUCCESS)) + { + TEST_MSG("Expected error: %s\n", err.data); +@@ -141,14 +142,14 @@ void config_account(void) + return; + } + +- rc = cs_subset_native_set(a->sub, he, 33, &err); ++ rc = cs_subset_he_native_set(a->sub, he, 33, &err); + if (!TEST_CHECK(CSR_RESULT(rc) == CSR_SUCCESS)) + { + TEST_MSG("%s\n", err.data); + } + + mutt_buffer_reset(&err); +- rc = cs_subset_string_get(a->sub, he, &err); ++ rc = cs_subset_he_string_get(a->sub, he, &err); + if (TEST_CHECK(CSR_RESULT(rc) == CSR_SUCCESS)) + { + TEST_MSG("%s = %s\n", he->key.strkey, err.data); +@@ -160,7 +161,7 @@ void config_account(void) + + he = cs_subset_lookup(a->sub, "Cherry"); + mutt_buffer_reset(&err); +- rc = cs_subset_string_get(a->sub, he, &err); ++ rc = cs_subset_he_string_get(a->sub, he, &err); + if (TEST_CHECK(CSR_RESULT(rc) == CSR_SUCCESS)) + { + TEST_MSG("%s = %s\n", he->key.strkey, err.data); +@@ -244,6 +245,7 @@ void config_account(void) + + account_free(&a); + cs_subset_free(&sub); ++ neomutt_free(&NeoMutt); + cs_free(&cs); + FREE(&err.data); + log_line(__func__); +diff --git a/test/config/address.c b/test/config/address.c +index 1580fb033..f5899f131 100644 +--- a/test/config/address.c ++++ b/test/config/address.c +@@ -27,7 +27,7 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "config/common.h" + #include "config/lib.h" +@@ -542,11 +542,11 @@ static bool test_inherit(struct ConfigSet *cs, struct Buffer *err) + char child[128]; + snprintf(child, sizeof(child), "%s:%s", account, parent); + +- struct ConfigSubset *sub = cs_subset_new(NULL, NULL); ++ struct ConfigSubset *sub = cs_subset_new(NULL, NULL, NeoMutt->notify); + sub->cs = cs; + struct Account *a = account_new(account, sub); + +- struct HashElem *he = cs_subset_create_var(a->sub, parent, err); ++ struct HashElem *he = cs_subset_create_inheritance(a->sub, parent); + if (!he) + { + TEST_MSG("Error: %s\n", err->data); +@@ -610,6 +610,7 @@ void config_address(void) + mutt_buffer_reset(&err); + + struct ConfigSet *cs = cs_new(30); ++ NeoMutt = neomutt_new(cs); + + address_init(cs); + dont_fail = true; +@@ -617,7 +618,7 @@ void config_address(void) + return; + dont_fail = false; + +- notify_observer_add(cs->notify, NT_CONFIG, 0, log_observer, 0); ++ notify_observer_add(NeoMutt->notify, log_observer, 0); + + set_list(cs); + +@@ -630,6 +631,7 @@ void config_address(void) + TEST_CHECK(test_validator(cs, &err)); + TEST_CHECK(test_inherit(cs, &err)); + ++ neomutt_free(&NeoMutt); + cs_free(&cs); + FREE(&err.data); + } +diff --git a/test/config/bool.c b/test/config/bool.c +index ca45b74cb..3221b4bc2 100644 +--- a/test/config/bool.c ++++ b/test/config/bool.c +@@ -27,7 +27,7 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "config/common.h" + #include "config/lib.h" + #include "core/lib.h" +@@ -399,6 +399,17 @@ static bool test_reset(struct ConfigSet *cs, struct Buffer *err) + return false; + } + ++ rc = cs_str_reset(cs, "unknown", err); ++ if (TEST_CHECK(CSR_RESULT(rc) != CSR_SUCCESS)) ++ { ++ TEST_MSG("Expected error: %s\n", err->data); ++ } ++ else ++ { ++ TEST_MSG("%s\n", err->data); ++ return false; ++ } ++ + if (!TEST_CHECK(VarIlama)) + { + TEST_MSG("Value of %s changed\n", name); +@@ -530,11 +541,11 @@ static bool test_inherit(struct ConfigSet *cs, struct Buffer *err) + char child[128]; + snprintf(child, sizeof(child), "%s:%s", account, parent); + +- struct ConfigSubset *sub = cs_subset_new(NULL, NULL); ++ struct ConfigSubset *sub = cs_subset_new(NULL, NULL, NeoMutt->notify); + sub->cs = cs; + struct Account *a = account_new(account, sub); + +- struct HashElem *he = cs_subset_create_var(a->sub, parent, err); ++ struct HashElem *he = cs_subset_create_inheritance(a->sub, parent); + if (!he) + { + TEST_MSG("Error: %s\n", err->data); +@@ -579,6 +590,9 @@ static bool test_inherit(struct ConfigSet *cs, struct Buffer *err) + dump_native(cs, parent, child); + short_line(); + ++ // reset the already-reset child ++ rc = cs_str_reset(cs, child, err); ++ + // reset parent + mutt_buffer_reset(err); + rc = cs_str_reset(cs, parent, err); +@@ -623,21 +637,21 @@ static bool test_toggle(struct ConfigSet *cs, struct Buffer *err) + return false; + } + +- rc = bool_he_toggle(cs, NULL, err); ++ rc = bool_he_toggle(NeoMutt->sub, NULL, err); + if (!TEST_CHECK(CSR_RESULT(rc) == CSR_ERR_CODE)) + { + TEST_MSG("Toggle succeeded when is shouldn't have\n"); + return false; + } + +- rc = bool_str_toggle(NULL, "apple", err); ++ rc = bool_str_toggle(NULL, "Apple", err); + if (!TEST_CHECK(CSR_RESULT(rc) == CSR_ERR_CODE)) + { + TEST_MSG("Toggle succeeded when is shouldn't have\n"); + return false; + } + +- rc = bool_str_toggle(cs, NULL, err); ++ rc = bool_str_toggle(NeoMutt->sub, NULL, err); + if (!TEST_CHECK(CSR_RESULT(rc) == CSR_ERR_CODE)) + { + TEST_MSG("Toggle succeeded when is shouldn't have\n"); +@@ -666,7 +680,7 @@ static bool test_toggle(struct ConfigSet *cs, struct Buffer *err) + return false; + } + +- rc = bool_he_toggle(cs, he, err); ++ rc = bool_he_toggle(NeoMutt->sub, he, err); + if (!TEST_CHECK(CSR_RESULT(rc) == CSR_SUCCESS)) + { + TEST_MSG("Toggle failed: %s\n", err->data); +@@ -703,7 +717,7 @@ static bool test_toggle(struct ConfigSet *cs, struct Buffer *err) + return false; + } + +- rc = bool_str_toggle(cs, "Nectarine", err); ++ rc = bool_str_toggle(NeoMutt->sub, "Nectarine", err); + if (!TEST_CHECK(CSR_RESULT(rc) == CSR_SUCCESS)) + { + TEST_MSG("Toggle failed: %s\n", err->data); +@@ -718,10 +732,10 @@ static bool test_toggle(struct ConfigSet *cs, struct Buffer *err) + short_line(); + } + +- VarNectarine = 8; + mutt_buffer_reset(err); +- rc = bool_he_toggle(cs, he, err); +- if (TEST_CHECK(CSR_RESULT(rc) != CSR_SUCCESS)) ++ struct ConfigSubset sub2 = { 0 }; ++ rc = bool_he_toggle(&sub2, he, err); ++ if (!TEST_CHECK(CSR_RESULT(rc) != CSR_SUCCESS)) + { + TEST_MSG("Expected error: %s\n", err->data); + } +@@ -732,14 +746,14 @@ static bool test_toggle(struct ConfigSet *cs, struct Buffer *err) + return false; + + mutt_buffer_reset(err); +- rc = bool_he_toggle(cs, he, err); ++ rc = bool_he_toggle(NeoMutt->sub, he, err); + if (!TEST_CHECK(CSR_RESULT(rc) != CSR_SUCCESS)) + { + TEST_MSG("Expected error: %s\n", err->data); + } + + mutt_buffer_reset(err); +- rc = bool_str_toggle(cs, "unknown", err); ++ rc = bool_str_toggle(NeoMutt->sub, "unknown", err); + if (TEST_CHECK(CSR_RESULT(rc) != CSR_SUCCESS)) + { + TEST_MSG("Expected error: %s\n", err->data); +@@ -763,6 +777,7 @@ void config_bool(void) + mutt_buffer_reset(&err); + + struct ConfigSet *cs = cs_new(30); ++ NeoMutt = neomutt_new(cs); + + bool_init(cs); + quad_init(cs); +@@ -771,7 +786,7 @@ void config_bool(void) + return; + dont_fail = false; + +- notify_observer_add(cs->notify, NT_CONFIG, 0, log_observer, 0); ++ notify_observer_add(NeoMutt->notify, log_observer, 0); + + set_list(cs); + +@@ -785,6 +800,7 @@ void config_bool(void) + TEST_CHECK(test_inherit(cs, &err)); + TEST_CHECK(test_toggle(cs, &err)); + ++ neomutt_free(&NeoMutt); + cs_free(&cs); + FREE(&err.data); + } +diff --git a/test/config/common.c b/test/config/common.c +index 6b938dad9..18165e1d2 100644 +--- a/test/config/common.c ++++ b/test/config/common.c +@@ -28,7 +28,7 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "config/lib.h" + #include "core/lib.h" + #include "common.h" +@@ -87,7 +87,7 @@ int log_observer(struct NotifyCallback *nc) + if (!nc) + return -1; + +- struct EventConfig *ec = (struct EventConfig *) nc->event; ++ struct EventConfig *ec = nc->event_data; + + struct Buffer result; + mutt_buffer_init(&result); +@@ -99,9 +99,9 @@ int log_observer(struct NotifyCallback *nc) + mutt_buffer_reset(&result); + + if (nc->event_subtype != NT_CONFIG_INITIAL_SET) +- cs_he_string_get(ec->cs, ec->he, &result); ++ cs_he_string_get(ec->sub->cs, ec->he, &result); + else +- cs_he_initial_get(ec->cs, ec->he, &result); ++ cs_he_initial_get(ec->sub->cs, ec->he, &result); + + TEST_MSG("Event: %s has been %s to '%s'\n", ec->name, + events[nc->event_subtype - 1], result.data); +diff --git a/test/config/dump.c b/test/config/dump.c +index ce2bd3e3f..39dc91f45 100644 +--- a/test/config/dump.c ++++ b/test/config/dump.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "config/common.h" + #include "config/lib.h" + #include "core/lib.h" +@@ -41,6 +41,7 @@ static char VarKumquat; + static struct Regex *VarLemon; + static short VarMango; + static char *VarNectarine; ++static char *VarOlive; + + // clang-format off + static struct Mapping MagicMap[] = { +@@ -67,13 +68,14 @@ static struct ConfigDef Vars[] = { + { "Elderberry", DT_ADDRESS, &VarElderberry, IP "elderberry@example.com", 0, NULL }, + { "Fig", DT_STRING|DT_COMMAND|DT_NOT_EMPTY, &VarFig, IP "fig", 0, NULL }, + { "Guava", DT_LONG, &VarGuava, 0, 0, NULL }, +- { "Hawthorn", DT_ENUM, &VarHawthorn, 1, IP &MagicDef, NULL }, ++ { "Hawthorn", DT_ENUM, &VarHawthorn, 2, IP &MagicDef, NULL }, + { "Ilama", DT_MBTABLE, &VarIlama, 0, 0, NULL }, +- { "Jackfruit", DT_STRING|DT_PATH, &VarJackfruit, IP "/etc/passwd", 0, NULL }, ++ { "Jackfruit", DT_PATH|DT_PATH_FILE, &VarJackfruit, IP "/etc/passwd", 0, NULL }, + { "Kumquat", DT_QUAD, &VarKumquat, 0, 0, NULL }, + { "Lemon", DT_REGEX, &VarLemon, 0, 0, NULL }, + { "Mango", DT_SORT, &VarMango, 1, 0, NULL }, + { "Nectarine", DT_STRING|DT_SENSITIVE, &VarNectarine, IP "nectarine", 0, NULL }, ++ { "Olive", DT_STRING|DT_DEPRECATED, &VarOlive, IP "olive", 0, NULL }, + { NULL }, + }; + // clang-format on +@@ -186,7 +188,9 @@ struct ConfigSet *create_sample_data(void) + long_init(cs); + mbtable_init(cs); + number_init(cs); ++ path_init(cs); + quad_init(cs); ++ path_init(cs); + regex_init(cs); + sort_init(cs); + string_init(cs); +@@ -259,8 +263,8 @@ bool test_dump_config_neo(void) + TEST_CHECK_( + 1, "dump_config_neo(cs, he, NULL, &buf_init, CS_DUMP_NO_FLAGS, fp)"); + dump_config_neo(cs, he, &buf_val, NULL, CS_DUMP_NO_FLAGS, fp); +- TEST_CHECK_(1, +- "dump_config_neo(cs, he, &buf_val, NULL, CS_DUMP_NO_FLAGS, fp)"); ++ TEST_CHECK_( ++ 1, "dump_config_neo(cs, he, &buf_val, NULL, CS_DUMP_NO_FLAGS, fp)"); + dump_config_neo(cs, he, &buf_val, &buf_init, CS_DUMP_NO_FLAGS, NULL); + TEST_CHECK_( + 1, +@@ -270,12 +274,12 @@ bool test_dump_config_neo(void) + + dump_config_neo(cs, he, &buf_val, &buf_init, CS_DUMP_NO_FLAGS, fp); + TEST_CHECK_( +- 1, "dump_config_neo(cs, he, &buf_val, &buf_init, CS_DUMP_NO_FLAGS, fp)"); ++ 1, ++ "dump_config_neo(cs, he, &buf_val, &buf_init, CS_DUMP_NO_FLAGS, fp)"); + + dump_config_neo(cs, he, &buf_val, &buf_init, CS_DUMP_ONLY_CHANGED, fp); +- TEST_CHECK_( +- 1, +- "dump_config_neo(cs, he, &buf_val, &buf_init, CS_DUMP_ONLY_CHANGED, fp)"); ++ TEST_CHECK_(1, "dump_config_neo(cs, he, &buf_val, &buf_init, " ++ "CS_DUMP_ONLY_CHANGED, fp)"); + + dump_config_neo(cs, he, &buf_val, &buf_init, CS_DUMP_SHOW_DEFAULTS, fp); + TEST_CHECK_(1, "dump_config_neo(cs, he, &buf_val, &buf_init, " +@@ -284,7 +288,8 @@ bool test_dump_config_neo(void) + he = mutt_hash_find_elem(cs->hash, "Damson"); + dump_config_neo(cs, he, &buf_val, &buf_init, CS_DUMP_NO_FLAGS, fp); + TEST_CHECK_( +- 1, "dump_config_neo(cs, he, &buf_val, &buf_init, CS_DUMP_NO_FLAGS, fp)"); ++ 1, ++ "dump_config_neo(cs, he, &buf_val, &buf_init, CS_DUMP_NO_FLAGS, fp)"); + + fclose(fp); + mutt_buffer_dealloc(&buf_val); +diff --git a/test/config/enum.c b/test/config/enum.c +index ba9f6f72b..4ccb025bb 100644 +--- a/test/config/enum.c ++++ b/test/config/enum.c +@@ -27,7 +27,7 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "config/common.h" + #include "config/lib.h" + #include "core/lib.h" +@@ -592,11 +592,11 @@ static bool test_inherit(struct ConfigSet *cs, struct Buffer *err) + char child[128]; + snprintf(child, sizeof(child), "%s:%s", account, parent); + +- struct ConfigSubset *sub = cs_subset_new(NULL, NULL); ++ struct ConfigSubset *sub = cs_subset_new(NULL, NULL, NeoMutt->notify); + sub->cs = cs; + struct Account *a = account_new(account, sub); + +- struct HashElem *he = cs_subset_create_var(a->sub, parent, err); ++ struct HashElem *he = cs_subset_create_inheritance(a->sub, parent); + if (!he) + { + TEST_MSG("Error: %s\n", err->data); +@@ -664,12 +664,13 @@ void config_enum(void) + mutt_buffer_reset(&err); + + struct ConfigSet *cs = cs_new(30); ++ NeoMutt = neomutt_new(cs); + + enum_init(cs); + if (!cs_register_variables(cs, Vars, 0)) + return; + +- notify_observer_add(cs->notify, NT_CONFIG, 0, log_observer, 0); ++ notify_observer_add(NeoMutt->notify, log_observer, 0); + + set_list(cs); + +@@ -682,6 +683,7 @@ void config_enum(void) + TEST_CHECK(test_validator(cs, &err)); + TEST_CHECK(test_inherit(cs, &err)); + ++ neomutt_free(&NeoMutt); + cs_free(&cs); + FREE(&err.data); + log_line(__func__); +diff --git a/test/config/initial.c b/test/config/initial.c +index 95be1e200..3b98f127e 100644 +--- a/test/config/initial.c ++++ b/test/config/initial.c +@@ -25,7 +25,7 @@ + #include "config.h" + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "config/common.h" + #include "config/lib.h" + #include "core/lib.h" +@@ -99,22 +99,25 @@ void config_initial(void) + mutt_buffer_reset(&err); + + struct ConfigSet *cs = cs_new(30); ++ NeoMutt = neomutt_new(cs); + + string_init(cs); + if (!cs_register_variables(cs, Vars, 0)) + return; + +- notify_observer_add(cs->notify, NT_CONFIG, 0, log_observer, 0); ++ notify_observer_add(NeoMutt->notify, log_observer, 0); + + set_list(cs); + + if (!TEST_CHECK(test_set_initial(cs, &err))) + { ++ neomutt_free(&NeoMutt); + cs_free(&cs); + FREE(&err.data); + return; + } + ++ neomutt_free(&NeoMutt); + cs_free(&cs); + FREE(&err.data); + } +diff --git a/test/config/long.c b/test/config/long.c +index ead67b59f..6ec550f2f 100644 +--- a/test/config/long.c ++++ b/test/config/long.c +@@ -27,7 +27,7 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "config/common.h" + #include "config/lib.h" + #include "core/lib.h" +@@ -516,11 +516,11 @@ static bool test_inherit(struct ConfigSet *cs, struct Buffer *err) + char child[128]; + snprintf(child, sizeof(child), "%s:%s", account, parent); + +- struct ConfigSubset *sub = cs_subset_new(NULL, NULL); ++ struct ConfigSubset *sub = cs_subset_new(NULL, NULL, NeoMutt->notify); + sub->cs = cs; + struct Account *a = account_new(account, sub); + +- struct HashElem *he = cs_subset_create_var(a->sub, parent, err); ++ struct HashElem *he = cs_subset_create_inheritance(a->sub, parent); + if (!he) + { + TEST_MSG("Error: %s\n", err->data); +@@ -588,6 +588,7 @@ void config_long(void) + mutt_buffer_reset(&err); + + struct ConfigSet *cs = cs_new(30); ++ NeoMutt = neomutt_new(cs); + + long_init(cs); + dont_fail = true; +@@ -595,7 +596,7 @@ void config_long(void) + return; + dont_fail = false; + +- notify_observer_add(cs->notify, NT_CONFIG, 0, log_observer, 0); ++ notify_observer_add(NeoMutt->notify, log_observer, 0); + + set_list(cs); + +@@ -608,6 +609,7 @@ void config_long(void) + TEST_CHECK(test_validator(cs, &err)); + TEST_CHECK(test_inherit(cs, &err)); + ++ neomutt_free(&NeoMutt); + cs_free(&cs); + FREE(&err.data); + } +diff --git a/test/config/mbtable.c b/test/config/mbtable.c +index b0ed322de..3793e6a48 100644 +--- a/test/config/mbtable.c ++++ b/test/config/mbtable.c +@@ -26,7 +26,7 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "config/common.h" + #include "config/lib.h" + #include "core/lib.h" +@@ -558,11 +558,11 @@ static bool test_inherit(struct ConfigSet *cs, struct Buffer *err) + char child[128]; + snprintf(child, sizeof(child), "%s:%s", account, parent); + +- struct ConfigSubset *sub = cs_subset_new(NULL, NULL); ++ struct ConfigSubset *sub = cs_subset_new(NULL, NULL, NeoMutt->notify); + sub->cs = cs; + struct Account *a = account_new(account, sub); + +- struct HashElem *he = cs_subset_create_var(a->sub, parent, err); ++ struct HashElem *he = cs_subset_create_inheritance(a->sub, parent); + if (!he) + { + TEST_MSG("Error: %s\n", err->data); +@@ -626,6 +626,7 @@ void config_mbtable(void) + mutt_buffer_reset(&err); + + struct ConfigSet *cs = cs_new(30); ++ NeoMutt = neomutt_new(cs); + + mbtable_init(cs); + dont_fail = true; +@@ -633,7 +634,7 @@ void config_mbtable(void) + return; + dont_fail = false; + +- notify_observer_add(cs->notify, NT_CONFIG, 0, log_observer, 0); ++ notify_observer_add(NeoMutt->notify, log_observer, 0); + + set_list(cs); + +@@ -646,6 +647,7 @@ void config_mbtable(void) + TEST_CHECK(test_validator(cs, &err)); + TEST_CHECK(test_inherit(cs, &err)); + ++ neomutt_free(&NeoMutt); + cs_free(&cs); + FREE(&err.data); + } +diff --git a/test/config/number.c b/test/config/number.c +index 1e36b03b1..46af6f305 100644 +--- a/test/config/number.c ++++ b/test/config/number.c +@@ -27,7 +27,7 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "config/common.h" + #include "config/lib.h" + #include "core/lib.h" +@@ -551,11 +551,11 @@ static bool test_inherit(struct ConfigSet *cs, struct Buffer *err) + char child[128]; + snprintf(child, sizeof(child), "%s:%s", account, parent); + +- struct ConfigSubset *sub = cs_subset_new(NULL, NULL); ++ struct ConfigSubset *sub = cs_subset_new(NULL, NULL, NeoMutt->notify); + sub->cs = cs; + struct Account *a = account_new(account, sub); + +- struct HashElem *he = cs_subset_create_var(a->sub, parent, err); ++ struct HashElem *he = cs_subset_create_inheritance(a->sub, parent); + if (!he) + { + TEST_MSG("Error: %s\n", err->data); +@@ -623,6 +623,7 @@ void config_number(void) + mutt_buffer_reset(&err); + + struct ConfigSet *cs = cs_new(30); ++ NeoMutt = neomutt_new(cs); + + number_init(cs); + dont_fail = true; +@@ -630,7 +631,7 @@ void config_number(void) + return; + dont_fail = false; + +- notify_observer_add(cs->notify, NT_CONFIG, 0, log_observer, 0); ++ notify_observer_add(NeoMutt->notify, log_observer, 0); + + set_list(cs); + +@@ -643,6 +644,7 @@ void config_number(void) + TEST_CHECK(test_validator(cs, &err)); + TEST_CHECK(test_inherit(cs, &err)); + ++ neomutt_free(&NeoMutt); + cs_free(&cs); + FREE(&err.data); + } +diff --git a/test/config/path.c b/test/config/path.c +new file mode 100644 +index 000000000..381d89f84 +--- /dev/null ++++ b/test/config/path.c +@@ -0,0 +1,664 @@ ++/** ++ * @file ++ * Test code for the Path object ++ * ++ * @authors ++ * Copyright (C) 2020 Richard Russon ++ * ++ * @copyright ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 2 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ ++#define TEST_NO_MAIN ++#include "acutest.h" ++#include "config.h" ++#include ++#include ++#include ++#include "mutt/lib.h" ++#include "config/common.h" ++#include "config/lib.h" ++#include "core/lib.h" ++ ++static char *VarApple; ++static char *VarBanana; ++static char *VarCherry; ++static char *VarDamson; ++static char *VarElderberry; ++static char *VarFig; ++static char *VarGuava; ++static char *VarHawthorn; ++static char *VarIlama; ++static char *VarJackfruit; ++static char *VarKumquat; ++static char *VarLemon; ++static char *VarMango; ++static char *VarNectarine; ++static char *VarOlive; ++static char *VarPapaya; ++static char *VarQuince; ++static char *VarRaspberry; ++static char *VarStrawberry; ++ ++// clang-format off ++static struct ConfigDef Vars[] = { ++ { "Apple", DT_PATH, &VarApple, IP "apple", 0, NULL }, /* test_initial_values */ ++ { "Banana", DT_PATH, &VarBanana, IP "banana", 0, NULL }, ++ { "Cherry", DT_PATH, &VarCherry, IP "cherry", 0, NULL }, ++ { "Damson", DT_PATH, &VarDamson, 0, 0, NULL }, /* test_string_set */ ++ { "Elderberry", DT_PATH, &VarElderberry, IP "elderberry", 0, NULL }, ++ { "Fig", DT_PATH|DT_NOT_EMPTY, &VarFig, IP "fig", 0, NULL }, ++ { "Guava", DT_PATH, &VarGuava, 0, 0, NULL }, /* test_string_get */ ++ { "Hawthorn", DT_PATH, &VarHawthorn, IP "hawthorn", 0, NULL }, ++ { "Ilama", DT_PATH, &VarIlama, 0, 0, NULL }, ++ { "Jackfruit", DT_PATH, &VarJackfruit, 0, 0, NULL }, /* test_native_set */ ++ { "Kumquat", DT_PATH, &VarKumquat, IP "kumquat", 0, NULL }, ++ { "Lemon", DT_PATH|DT_NOT_EMPTY, &VarLemon, IP "lemon", 0, NULL }, ++ { "Mango", DT_PATH, &VarMango, 0, 0, NULL }, /* test_native_get */ ++ { "Nectarine", DT_PATH, &VarNectarine, IP "nectarine", 0, NULL }, /* test_reset */ ++ { "Olive", DT_PATH, &VarOlive, IP "olive", 0, validator_fail }, ++ { "Papaya", DT_PATH, &VarPapaya, IP "papaya", 0, validator_succeed }, /* test_validator */ ++ { "Quince", DT_PATH, &VarQuince, IP "quince", 0, validator_warn }, ++ { "Raspberry", DT_PATH, &VarRaspberry, IP "raspberry", 0, validator_fail }, ++ { "Strawberry", DT_PATH, &VarStrawberry, 0, 0, NULL }, /* test_inherit */ ++ { NULL }, ++}; ++// clang-format on ++ ++static bool test_initial_values(struct ConfigSet *cs, struct Buffer *err) ++{ ++ log_line(__func__); ++ TEST_MSG("Apple = %s\n", VarApple); ++ TEST_MSG("Banana = %s\n", VarBanana); ++ ++ if (!TEST_CHECK(mutt_str_strcmp(VarApple, "apple") == 0)) ++ { ++ TEST_MSG("Error: initial values were wrong\n"); ++ return false; ++ } ++ ++ if (!TEST_CHECK(mutt_str_strcmp(VarBanana, "banana") == 0)) ++ { ++ TEST_MSG("Error: initial values were wrong\n"); ++ return false; ++ } ++ ++ cs_str_string_set(cs, "Apple", "car", err); ++ cs_str_string_set(cs, "Banana", NULL, err); ++ ++ struct Buffer value; ++ mutt_buffer_init(&value); ++ value.dsize = 256; ++ value.data = mutt_mem_calloc(1, value.dsize); ++ mutt_buffer_reset(&value); ++ ++ int rc; ++ ++ mutt_buffer_reset(&value); ++ rc = cs_str_initial_get(cs, "Apple", &value); ++ if (!TEST_CHECK(CSR_RESULT(rc) == CSR_SUCCESS)) ++ { ++ TEST_MSG("%s\n", value.data); ++ FREE(&value.data); ++ return false; ++ } ++ ++ if (!TEST_CHECK(mutt_str_strcmp(value.data, "apple") == 0)) ++ { ++ TEST_MSG("Apple's initial value is wrong: '%s'\n", value.data); ++ FREE(&value.data); ++ return false; ++ } ++ TEST_MSG("Apple = '%s'\n", VarApple); ++ TEST_MSG("Apple's initial value is '%s'\n", value.data); ++ ++ mutt_buffer_reset(&value); ++ rc = cs_str_initial_get(cs, "Banana", &value); ++ if (!TEST_CHECK(CSR_RESULT(rc) == CSR_SUCCESS)) ++ { ++ TEST_MSG("%s\n", value.data); ++ FREE(&value.data); ++ return false; ++ } ++ ++ if (!TEST_CHECK(mutt_str_strcmp(value.data, "banana") == 0)) ++ { ++ TEST_MSG("Banana's initial value is wrong: '%s'\n", value.data); ++ FREE(&value.data); ++ return false; ++ } ++ TEST_MSG("Banana = '%s'\n", VarBanana); ++ TEST_MSG("Banana's initial value is '%s'\n", NONULL(value.data)); ++ ++ mutt_buffer_reset(&value); ++ rc = cs_str_initial_set(cs, "Cherry", "train", &value); ++ if (!TEST_CHECK(CSR_RESULT(rc) == CSR_SUCCESS)) ++ { ++ TEST_MSG("%s\n", value.data); ++ FREE(&value.data); ++ return false; ++ } ++ ++ mutt_buffer_reset(&value); ++ rc = cs_str_initial_set(cs, "Cherry", "plane", &value); ++ if (!TEST_CHECK(CSR_RESULT(rc) == CSR_SUCCESS)) ++ { ++ TEST_MSG("%s\n", value.data); ++ FREE(&value.data); ++ return false; ++ } ++ ++ mutt_buffer_reset(&value); ++ rc = cs_str_initial_get(cs, "Cherry", &value); ++ if (!TEST_CHECK(CSR_RESULT(rc) == CSR_SUCCESS)) ++ { ++ TEST_MSG("%s\n", value.data); ++ FREE(&value.data); ++ return false; ++ } ++ ++ TEST_MSG("Cherry = '%s'\n", VarCherry); ++ TEST_MSG("Cherry's initial value is '%s'\n", NONULL(value.data)); ++ ++ FREE(&value.data); ++ log_line(__func__); ++ return true; ++} ++ ++static bool test_string_set(struct ConfigSet *cs, struct Buffer *err) ++{ ++ log_line(__func__); ++ ++ const char *valid[] = { "hello", "world", "world", "", NULL }; ++ const char *name = "Damson"; ++ ++ int rc; ++ for (unsigned int i = 0; i < mutt_array_size(valid); i++) ++ { ++ mutt_buffer_reset(err); ++ rc = cs_str_string_set(cs, name, valid[i], err); ++ if (!TEST_CHECK(CSR_RESULT(rc) == CSR_SUCCESS)) ++ { ++ TEST_MSG("%s\n", err->data); ++ return false; ++ } ++ ++ if (rc & CSR_SUC_NO_CHANGE) ++ { ++ TEST_MSG("Value of %s wasn't changed\n", name); ++ continue; ++ } ++ ++ if (!TEST_CHECK(mutt_str_strcmp(VarDamson, valid[i]) == 0)) ++ { ++ TEST_MSG("Value of %s wasn't changed\n", name); ++ return false; ++ } ++ TEST_MSG("%s = '%s', set by '%s'\n", name, NONULL(VarDamson), NONULL(valid[i])); ++ short_line(); ++ } ++ ++ name = "Fig"; ++ mutt_buffer_reset(err); ++ rc = cs_str_string_set(cs, name, "", err); ++ if (TEST_CHECK(CSR_RESULT(rc) != CSR_SUCCESS)) ++ { ++ TEST_MSG("Expected error: %s\n", err->data); ++ } ++ else ++ { ++ TEST_MSG("%s\n", err->data); ++ return false; ++ } ++ ++ name = "Elderberry"; ++ for (unsigned int i = 0; i < mutt_array_size(valid); i++) ++ { ++ short_line(); ++ mutt_buffer_reset(err); ++ rc = cs_str_string_set(cs, name, valid[i], err); ++ if (!TEST_CHECK(CSR_RESULT(rc) == CSR_SUCCESS)) ++ { ++ TEST_MSG("%s\n", err->data); ++ return false; ++ } ++ ++ if (rc & CSR_SUC_NO_CHANGE) ++ { ++ TEST_MSG("Value of %s wasn't changed\n", name); ++ continue; ++ } ++ ++ if (!TEST_CHECK(mutt_str_strcmp(VarElderberry, valid[i]) == 0)) ++ { ++ TEST_MSG("Value of %s wasn't changed\n", name); ++ return false; ++ } ++ TEST_MSG("%s = '%s', set by '%s'\n", name, NONULL(VarElderberry), NONULL(valid[i])); ++ } ++ ++ log_line(__func__); ++ return true; ++} ++ ++static bool test_string_get(struct ConfigSet *cs, struct Buffer *err) ++{ ++ log_line(__func__); ++ const char *name = "Guava"; ++ ++ mutt_buffer_reset(err); ++ int rc = cs_str_string_get(cs, name, err); ++ if (!TEST_CHECK(CSR_RESULT(rc) == CSR_SUCCESS)) ++ { ++ TEST_MSG("Get failed: %s\n", err->data); ++ return false; ++ } ++ TEST_MSG("%s = '%s', '%s'\n", name, NONULL(VarGuava), err->data); ++ ++ name = "Hawthorn"; ++ mutt_buffer_reset(err); ++ rc = cs_str_string_get(cs, name, err); ++ if (!TEST_CHECK(CSR_RESULT(rc) == CSR_SUCCESS)) ++ { ++ TEST_MSG("Get failed: %s\n", err->data); ++ return false; ++ } ++ TEST_MSG("%s = '%s', '%s'\n", name, NONULL(VarHawthorn), err->data); ++ ++ name = "Ilama"; ++ rc = cs_str_string_set(cs, name, "ilama", err); ++ if (!TEST_CHECK(CSR_RESULT(rc) == CSR_SUCCESS)) ++ return false; ++ ++ mutt_buffer_reset(err); ++ rc = cs_str_string_get(cs, name, err); ++ if (!TEST_CHECK(CSR_RESULT(rc) == CSR_SUCCESS)) ++ { ++ TEST_MSG("Get failed: %s\n", err->data); ++ return false; ++ } ++ TEST_MSG("%s = '%s', '%s'\n", name, NONULL(VarIlama), err->data); ++ ++ log_line(__func__); ++ return true; ++} ++ ++static bool test_native_set(struct ConfigSet *cs, struct Buffer *err) ++{ ++ log_line(__func__); ++ ++ const char *valid[] = { "hello", "world", "world", "", NULL }; ++ const char *name = "Jackfruit"; ++ ++ int rc; ++ for (unsigned int i = 0; i < mutt_array_size(valid); i++) ++ { ++ mutt_buffer_reset(err); ++ rc = cs_str_native_set(cs, name, (intptr_t) valid[i], err); ++ if (!TEST_CHECK(CSR_RESULT(rc) == CSR_SUCCESS)) ++ { ++ TEST_MSG("%s\n", err->data); ++ return false; ++ } ++ ++ if (rc & CSR_SUC_NO_CHANGE) ++ { ++ TEST_MSG("Value of %s wasn't changed\n", name); ++ continue; ++ } ++ ++ if (!TEST_CHECK(mutt_str_strcmp(VarJackfruit, valid[i]) == 0)) ++ { ++ TEST_MSG("Value of %s wasn't changed\n", name); ++ return false; ++ } ++ TEST_MSG("%s = '%s', set by '%s'\n", name, NONULL(VarJackfruit), NONULL(valid[i])); ++ short_line(); ++ } ++ ++ name = "Lemon"; ++ mutt_buffer_reset(err); ++ rc = cs_str_native_set(cs, name, (intptr_t) "", err); ++ if (TEST_CHECK(CSR_RESULT(rc) != CSR_SUCCESS)) ++ { ++ TEST_MSG("Expected error: %s\n", err->data); ++ } ++ else ++ { ++ TEST_MSG("%s\n", err->data); ++ return false; ++ } ++ ++ name = "Kumquat"; ++ for (unsigned int i = 0; i < mutt_array_size(valid); i++) ++ { ++ short_line(); ++ mutt_buffer_reset(err); ++ rc = cs_str_native_set(cs, name, (intptr_t) valid[i], err); ++ if (!TEST_CHECK(CSR_RESULT(rc) == CSR_SUCCESS)) ++ { ++ TEST_MSG("%s\n", err->data); ++ return false; ++ } ++ ++ if (rc & CSR_SUC_NO_CHANGE) ++ { ++ TEST_MSG("Value of %s wasn't changed\n", name); ++ continue; ++ } ++ ++ if (!TEST_CHECK(mutt_str_strcmp(VarKumquat, valid[i]) == 0)) ++ { ++ TEST_MSG("Value of %s wasn't changed\n", name); ++ return false; ++ } ++ TEST_MSG("%s = '%s', set by '%s'\n", name, NONULL(VarKumquat), NONULL(valid[i])); ++ } ++ ++ log_line(__func__); ++ return true; ++} ++ ++static bool test_native_get(struct ConfigSet *cs, struct Buffer *err) ++{ ++ log_line(__func__); ++ const char *name = "Mango"; ++ ++ int rc = cs_str_string_set(cs, name, "mango", err); ++ if (!TEST_CHECK(CSR_RESULT(rc) == CSR_SUCCESS)) ++ return false; ++ ++ mutt_buffer_reset(err); ++ intptr_t value = cs_str_native_get(cs, name, err); ++ if (!TEST_CHECK(mutt_str_strcmp(VarMango, (char *) value) == 0)) ++ { ++ TEST_MSG("Get failed: %s\n", err->data); ++ return false; ++ } ++ TEST_MSG("%s = '%s', '%s'\n", name, VarMango, (char *) value); ++ ++ log_line(__func__); ++ return true; ++} ++ ++static bool test_reset(struct ConfigSet *cs, struct Buffer *err) ++{ ++ log_line(__func__); ++ ++ const char *name = "Nectarine"; ++ mutt_buffer_reset(err); ++ ++ TEST_MSG("Initial: %s = '%s'\n", name, VarNectarine); ++ int rc = cs_str_string_set(cs, name, "hello", err); ++ if (!TEST_CHECK(CSR_RESULT(rc) == CSR_SUCCESS)) ++ return false; ++ TEST_MSG("Set: %s = '%s'\n", name, VarNectarine); ++ ++ rc = cs_str_reset(cs, name, err); ++ if (!TEST_CHECK(CSR_RESULT(rc) == CSR_SUCCESS)) ++ { ++ TEST_MSG("%s\n", err->data); ++ return false; ++ } ++ ++ if (!TEST_CHECK(mutt_str_strcmp(VarNectarine, "nectarine") == 0)) ++ { ++ TEST_MSG("Value of %s wasn't changed\n", name); ++ return false; ++ } ++ ++ TEST_MSG("Reset: %s = '%s'\n", name, VarNectarine); ++ ++ rc = cs_str_reset(cs, name, err); ++ if (!TEST_CHECK(CSR_RESULT(rc) == CSR_SUCCESS)) ++ { ++ TEST_MSG("%s\n", err->data); ++ return false; ++ } ++ ++ name = "Olive"; ++ mutt_buffer_reset(err); ++ ++ TEST_MSG("Initial: %s = '%s'\n", name, VarOlive); ++ dont_fail = true; ++ rc = cs_str_string_set(cs, name, "hello", err); ++ if (!TEST_CHECK(CSR_RESULT(rc) == CSR_SUCCESS)) ++ return false; ++ TEST_MSG("Set: %s = '%s'\n", name, VarOlive); ++ dont_fail = false; ++ ++ rc = cs_str_reset(cs, name, err); ++ if (TEST_CHECK(CSR_RESULT(rc) != CSR_SUCCESS)) ++ { ++ TEST_MSG("Expected error: %s\n", err->data); ++ } ++ else ++ { ++ TEST_MSG("%s\n", err->data); ++ return false; ++ } ++ ++ if (!TEST_CHECK(mutt_str_strcmp(VarOlive, "hello") == 0)) ++ { ++ TEST_MSG("Value of %s changed\n", name); ++ return false; ++ } ++ ++ TEST_MSG("Reset: %s = '%s'\n", name, VarOlive); ++ ++ log_line(__func__); ++ return true; ++} ++ ++static bool test_validator(struct ConfigSet *cs, struct Buffer *err) ++{ ++ log_line(__func__); ++ ++ const char *name = "Papaya"; ++ mutt_buffer_reset(err); ++ int rc = cs_str_string_set(cs, name, "hello", err); ++ if (TEST_CHECK(CSR_RESULT(rc) == CSR_SUCCESS)) ++ { ++ TEST_MSG("%s\n", err->data); ++ } ++ else ++ { ++ TEST_MSG("%s\n", err->data); ++ return false; ++ } ++ TEST_MSG("Path: %s = %s\n", name, VarPapaya); ++ ++ mutt_buffer_reset(err); ++ rc = cs_str_native_set(cs, name, IP "world", err); ++ if (TEST_CHECK(CSR_RESULT(rc) == CSR_SUCCESS)) ++ { ++ TEST_MSG("%s\n", err->data); ++ } ++ else ++ { ++ TEST_MSG("%s\n", err->data); ++ return false; ++ } ++ TEST_MSG("Native: %s = %s\n", name, VarPapaya); ++ ++ name = "Quince"; ++ mutt_buffer_reset(err); ++ rc = cs_str_string_set(cs, name, "hello", err); ++ if (TEST_CHECK(CSR_RESULT(rc) == CSR_SUCCESS)) ++ { ++ TEST_MSG("%s\n", err->data); ++ } ++ else ++ { ++ TEST_MSG("%s\n", err->data); ++ return false; ++ } ++ TEST_MSG("Path: %s = %s\n", name, VarQuince); ++ ++ mutt_buffer_reset(err); ++ rc = cs_str_native_set(cs, name, IP "world", err); ++ if (TEST_CHECK(CSR_RESULT(rc) == CSR_SUCCESS)) ++ { ++ TEST_MSG("%s\n", err->data); ++ } ++ else ++ { ++ TEST_MSG("%s\n", err->data); ++ return false; ++ } ++ TEST_MSG("Native: %s = %s\n", name, VarQuince); ++ ++ name = "Raspberry"; ++ mutt_buffer_reset(err); ++ rc = cs_str_string_set(cs, name, "hello", err); ++ if (TEST_CHECK(CSR_RESULT(rc) != CSR_SUCCESS)) ++ { ++ TEST_MSG("Expected error: %s\n", err->data); ++ } ++ else ++ { ++ TEST_MSG("%s\n", err->data); ++ return false; ++ } ++ TEST_MSG("Path: %s = %s\n", name, VarRaspberry); ++ ++ mutt_buffer_reset(err); ++ rc = cs_str_native_set(cs, name, IP "world", err); ++ if (TEST_CHECK(CSR_RESULT(rc) != CSR_SUCCESS)) ++ { ++ TEST_MSG("Expected error: %s\n", err->data); ++ } ++ else ++ { ++ TEST_MSG("%s\n", err->data); ++ return false; ++ } ++ TEST_MSG("Native: %s = %s\n", name, VarRaspberry); ++ ++ log_line(__func__); ++ return true; ++} ++ ++static void dump_native(struct ConfigSet *cs, const char *parent, const char *child) ++{ ++ intptr_t pval = cs_str_native_get(cs, parent, NULL); ++ intptr_t cval = cs_str_native_get(cs, child, NULL); ++ ++ TEST_MSG("%15s = %s\n", parent, (char *) pval); ++ TEST_MSG("%15s = %s\n", child, (char *) cval); ++} ++ ++static bool test_inherit(struct ConfigSet *cs, struct Buffer *err) ++{ ++ log_line(__func__); ++ bool result = false; ++ ++ const char *account = "fruit"; ++ const char *parent = "Strawberry"; ++ char child[128]; ++ snprintf(child, sizeof(child), "%s:%s", account, parent); ++ ++ struct ConfigSubset *sub = cs_subset_new(NULL, NULL, NeoMutt->notify); ++ sub->cs = cs; ++ struct Account *a = account_new(account, sub); ++ ++ struct HashElem *he = cs_subset_create_inheritance(a->sub, parent); ++ if (!he) ++ { ++ TEST_MSG("Error: %s\n", err->data); ++ goto ti_out; ++ } ++ ++ // set parent ++ mutt_buffer_reset(err); ++ int rc = cs_str_string_set(cs, parent, "hello", err); ++ if (CSR_RESULT(rc) != CSR_SUCCESS) ++ { ++ TEST_MSG("Error: %s\n", err->data); ++ goto ti_out; ++ } ++ dump_native(cs, parent, child); ++ ++ // set child ++ mutt_buffer_reset(err); ++ rc = cs_str_string_set(cs, child, "world", err); ++ if (CSR_RESULT(rc) != CSR_SUCCESS) ++ { ++ TEST_MSG("Error: %s\n", err->data); ++ goto ti_out; ++ } ++ dump_native(cs, parent, child); ++ ++ // reset child ++ mutt_buffer_reset(err); ++ rc = cs_str_reset(cs, child, err); ++ if (CSR_RESULT(rc) != CSR_SUCCESS) ++ { ++ TEST_MSG("Error: %s\n", err->data); ++ goto ti_out; ++ } ++ dump_native(cs, parent, child); ++ ++ // reset parent ++ mutt_buffer_reset(err); ++ rc = cs_str_reset(cs, parent, err); ++ if (CSR_RESULT(rc) != CSR_SUCCESS) ++ { ++ TEST_MSG("Error: %s\n", err->data); ++ goto ti_out; ++ } ++ dump_native(cs, parent, child); ++ ++ log_line(__func__); ++ result = true; ++ti_out: ++ account_free(&a); ++ cs_subset_free(&sub); ++ return result; ++} ++ ++void config_path(void) ++{ ++ struct Buffer err; ++ mutt_buffer_init(&err); ++ err.dsize = 256; ++ err.data = mutt_mem_calloc(1, err.dsize); ++ mutt_buffer_reset(&err); ++ ++ struct ConfigSet *cs = cs_new(30); ++ NeoMutt = neomutt_new(cs); ++ ++ path_init(cs); ++ dont_fail = true; ++ if (!cs_register_variables(cs, Vars, 0)) ++ return; ++ dont_fail = false; ++ ++ notify_observer_add(NeoMutt->notify, log_observer, 0); ++ ++ set_list(cs); ++ ++ TEST_CHECK(test_initial_values(cs, &err)); ++ TEST_CHECK(test_string_set(cs, &err)); ++ TEST_CHECK(test_string_get(cs, &err)); ++ TEST_CHECK(test_native_set(cs, &err)); ++ TEST_CHECK(test_native_get(cs, &err)); ++ TEST_CHECK(test_reset(cs, &err)); ++ TEST_CHECK(test_validator(cs, &err)); ++ TEST_CHECK(test_inherit(cs, &err)); ++ ++ neomutt_free(&NeoMutt); ++ cs_free(&cs); ++ FREE(&err.data); ++} +diff --git a/conn/tunnel.h b/test/config/path.h +similarity index 77% +rename from conn/tunnel.h +rename to test/config/path.h +index f3bee368e..a00e7de94 100644 +--- a/conn/tunnel.h ++++ b/test/config/path.h +@@ -1,8 +1,10 @@ + /** + * @file +- * Support for network tunnelling ++ * Test code for the Path object + * + * @authors ++ * Copyright (C) 2020 Richard Russon ++ * + * @copyright + * This program is free software: you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software +@@ -18,11 +20,11 @@ + * this program. If not, see . + */ + +-#ifndef MUTT_CONN_TUNNEL_H +-#define MUTT_CONN_TUNNEL_H ++#ifndef _TEST_PATH_H ++#define _TEST_PATH_H + +-struct Connection; ++#include + +-void mutt_tunnel_socket_setup(struct Connection *conn); ++void config_path(void); + +-#endif /* MUTT_CONN_TUNNEL_H */ ++#endif /* _TEST_PATH_H */ +diff --git a/test/config/quad.c b/test/config/quad.c +index ed8f70ecc..f2ecd5703 100644 +--- a/test/config/quad.c ++++ b/test/config/quad.c +@@ -27,7 +27,7 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "config/common.h" + #include "config/lib.h" + #include "core/lib.h" +@@ -528,11 +528,11 @@ static bool test_inherit(struct ConfigSet *cs, struct Buffer *err) + char child[128]; + snprintf(child, sizeof(child), "%s:%s", account, parent); + +- struct ConfigSubset *sub = cs_subset_new(NULL, NULL); ++ struct ConfigSubset *sub = cs_subset_new(NULL, NULL, NeoMutt->notify); + sub->cs = cs; + struct Account *a = account_new(account, sub); + +- struct HashElem *he = cs_subset_create_var(a->sub, parent, err); ++ struct HashElem *he = cs_subset_create_inheritance(a->sub, parent); + if (!he) + { + TEST_MSG("Error: %s\n", err->data); +@@ -625,7 +625,21 @@ static bool test_toggle(struct ConfigSet *cs, struct Buffer *err) + return false; + } + +- rc = quad_he_toggle(cs, NULL, err); ++ rc = quad_he_toggle(NeoMutt->sub, NULL, err); ++ if (!TEST_CHECK(CSR_RESULT(rc) == CSR_ERR_CODE)) ++ { ++ TEST_MSG("Toggle succeeded when is shouldn't have\n"); ++ return false; ++ } ++ ++ rc = quad_str_toggle(NULL, "Apple", err); ++ if (!TEST_CHECK(CSR_RESULT(rc) == CSR_ERR_CODE)) ++ { ++ TEST_MSG("Toggle succeeded when is shouldn't have\n"); ++ return false; ++ } ++ ++ rc = quad_str_toggle(NeoMutt->sub, NULL, err); + if (!TEST_CHECK(CSR_RESULT(rc) == CSR_ERR_CODE)) + { + TEST_MSG("Toggle succeeded when is shouldn't have\n"); +@@ -654,7 +668,7 @@ static bool test_toggle(struct ConfigSet *cs, struct Buffer *err) + return false; + } + +- rc = quad_he_toggle(cs, he, err); ++ rc = quad_he_toggle(NeoMutt->sub, he, err); + if (!TEST_CHECK(CSR_RESULT(rc) == CSR_SUCCESS)) + { + TEST_MSG("Toggle failed: %s\n", err->data); +@@ -668,10 +682,10 @@ static bool test_toggle(struct ConfigSet *cs, struct Buffer *err) + } + } + +- VarNectarine = 8; + mutt_buffer_reset(err); +- rc = quad_he_toggle(cs, he, err); +- if (TEST_CHECK(CSR_RESULT(rc) != CSR_SUCCESS)) ++ struct ConfigSubset sub2 = { 0 }; ++ rc = quad_he_toggle(&sub2, he, err); ++ if (!TEST_CHECK(CSR_RESULT(rc) != CSR_SUCCESS)) + { + TEST_MSG("Expected error: %s\n", err->data); + } +@@ -682,7 +696,7 @@ static bool test_toggle(struct ConfigSet *cs, struct Buffer *err) + return false; + + mutt_buffer_reset(err); +- rc = quad_he_toggle(cs, he, err); ++ rc = quad_he_toggle(NeoMutt->sub, he, err); + if (!TEST_CHECK(CSR_RESULT(rc) != CSR_SUCCESS)) + { + TEST_MSG("Expected error: %s\n", err->data); +@@ -701,6 +715,7 @@ void config_quad(void) + mutt_buffer_reset(&err); + + struct ConfigSet *cs = cs_new(30); ++ NeoMutt = neomutt_new(cs); + + bool_init(cs); + quad_init(cs); +@@ -709,7 +724,7 @@ void config_quad(void) + return; + dont_fail = false; + +- notify_observer_add(cs->notify, NT_CONFIG, 0, log_observer, 0); ++ notify_observer_add(NeoMutt->notify, log_observer, 0); + + set_list(cs); + +@@ -723,6 +738,7 @@ void config_quad(void) + TEST_CHECK(test_inherit(cs, &err)); + TEST_CHECK(test_toggle(cs, &err)); + ++ neomutt_free(&NeoMutt); + cs_free(&cs); + FREE(&err.data); + } +diff --git a/test/config/regex.c b/test/config/regex.c +index 56e0bb3d7..6ab0d787a 100644 +--- a/test/config/regex.c ++++ b/test/config/regex.c +@@ -26,7 +26,7 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "config/common.h" + #include "config/lib.h" + #include "core/lib.h" +@@ -618,11 +618,11 @@ static bool test_inherit(struct ConfigSet *cs, struct Buffer *err) + char child[128]; + snprintf(child, sizeof(child), "%s:%s", account, parent); + +- struct ConfigSubset *sub = cs_subset_new(NULL, NULL); ++ struct ConfigSubset *sub = cs_subset_new(NULL, NULL, NeoMutt->notify); + sub->cs = cs; + struct Account *a = account_new(account, sub); + +- struct HashElem *he = cs_subset_create_var(a->sub, parent, err); ++ struct HashElem *he = cs_subset_create_inheritance(a->sub, parent); + if (!he) + { + TEST_MSG("Error: %s\n", err->data); +@@ -686,6 +686,7 @@ void config_regex(void) + mutt_buffer_reset(&err); + + struct ConfigSet *cs = cs_new(30); ++ NeoMutt = neomutt_new(cs); + + regex_init(cs); + dont_fail = true; +@@ -693,7 +694,7 @@ void config_regex(void) + return; + dont_fail = false; + +- notify_observer_add(cs->notify, NT_CONFIG, 0, log_observer, 0); ++ notify_observer_add(NeoMutt->notify, log_observer, 0); + + set_list(cs); + +@@ -706,6 +707,7 @@ void config_regex(void) + TEST_CHECK(test_validator(cs, &err)); + TEST_CHECK(test_inherit(cs, &err)); + ++ neomutt_free(&NeoMutt); + cs_free(&cs); + FREE(&err.data); + } +diff --git a/test/config/set.c b/test/config/set.c +index 91037ddc9..0b1914cf8 100644 +--- a/test/config/set.c ++++ b/test/config/set.c +@@ -27,7 +27,7 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "config/common.h" + #include "config/lib.h" + #include "core/lib.h" +@@ -85,16 +85,8 @@ bool degenerate_tests(struct ConfigSet *cs) + + struct HashElem *he = cs_get_elem(cs, "Banana"); + +- cs_init(NULL, 100); +- TEST_CHECK_(1, "cs_init(NULL, 100)"); + cs_free(NULL); + TEST_CHECK_(1, "cs_free(NULL)"); +- cs_notify_observers(NULL, he, "apple", NT_CONFIG_SET); +- TEST_CHECK_(1, "cs_notify_observers(NULL, he, \"apple\", NT_CONFIG_SET)"); +- cs_notify_observers(cs, NULL, "apple", NT_CONFIG_SET); +- TEST_CHECK_(1, "cs_notify_observers(cs, NULL, \"apple\", NT_CONFIG_SET)"); +- cs_notify_observers(cs, he, NULL, NT_CONFIG_SET); +- TEST_CHECK_(1, "cs_notify_observers(cs, he, NULL, NT_CONFIG_SET)"); + + if (!TEST_CHECK(cs_register_type(NULL, DT_NUMBER, &cst_dummy) == false)) + return false; +@@ -122,6 +114,12 @@ bool degenerate_tests(struct ConfigSet *cs) + return false; + if (!TEST_CHECK(cs_inherit_variable(cs, NULL, "apple") == NULL)) + return false; ++ struct ConfigSet cs2 = { 0 }; ++ if (!TEST_CHECK(cs_inherit_variable(&cs2, he, "apple") == NULL)) ++ return false; ++ ++ cs_uninherit_variable(NULL, "apple"); ++ cs_uninherit_variable(cs, NULL); + + if (!TEST_CHECK(cs_str_native_set(NULL, "apple", IP "hello", NULL) != CSR_SUCCESS)) + return false; +@@ -222,6 +220,8 @@ void config_set(void) + if (!TEST_CHECK(cs != NULL)) + return; + ++ NeoMutt = neomutt_new(cs); ++ + const struct ConfigSetType cst_dummy = { + "dummy", NULL, NULL, NULL, NULL, NULL, NULL, + }; +@@ -325,6 +325,7 @@ void config_set(void) + if (!TEST_CHECK(!cst)) + return; + ++ neomutt_free(&NeoMutt); + cs_free(&cs); + FREE(&err.data); + log_line(__func__); +diff --git a/test/config/slist.c b/test/config/slist.c +index d8250c083..c06848416 100644 +--- a/test/config/slist.c ++++ b/test/config/slist.c +@@ -28,7 +28,7 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "config/common.h" + #include "config/lib.h" + #include "core/lib.h" +@@ -843,11 +843,11 @@ static bool test_inherit(struct ConfigSet *cs, struct Buffer *err) + char child[128]; + snprintf(child, sizeof(child), "%s:%s", account, parent); + +- struct ConfigSubset *sub = cs_subset_new(NULL, NULL); ++ struct ConfigSubset *sub = cs_subset_new(NULL, NULL, NeoMutt->notify); + sub->cs = cs; + struct Account *a = account_new(account, sub); + +- struct HashElem *he = cs_subset_create_var(a->sub, parent, err); ++ struct HashElem *he = cs_subset_create_inheritance(a->sub, parent); + if (!he) + { + TEST_MSG("Error: %s\n", err->data); +@@ -908,12 +908,13 @@ bool slist_test_separator(struct ConfigDef Vars[], struct Buffer *err) + + mutt_buffer_reset(err); + struct ConfigSet *cs = cs_new(30); ++ NeoMutt = neomutt_new(cs); + + slist_init(cs); + if (!cs_register_variables(cs, Vars, 0)) + return false; + +- notify_observer_add(cs->notify, NT_CONFIG, 0, log_observer, 0); ++ notify_observer_add(NeoMutt->notify, log_observer, 0); + + set_list(cs); + +@@ -924,6 +925,7 @@ bool slist_test_separator(struct ConfigDef Vars[], struct Buffer *err) + if (!test_string_get(cs, err)) + return false; + ++ neomutt_free(&NeoMutt); + cs_free(&cs); + return true; + } +@@ -949,6 +951,7 @@ void config_slist(void) + TEST_CHECK(slist_test_separator(VarsSpace, &err)); + + struct ConfigSet *cs = cs_new(30); ++ NeoMutt = neomutt_new(cs); + + slist_init(cs); + dont_fail = true; +@@ -956,7 +959,7 @@ void config_slist(void) + return; + dont_fail = false; + +- notify_observer_add(cs->notify, NT_CONFIG, 0, log_observer, 0); ++ notify_observer_add(NeoMutt->notify, log_observer, 0); + + TEST_CHECK(test_native_set(cs, &err)); + TEST_CHECK(test_native_get(cs, &err)); +@@ -964,6 +967,7 @@ void config_slist(void) + TEST_CHECK(test_validator(cs, &err)); + TEST_CHECK(test_inherit(cs, &err)); + ++ neomutt_free(&NeoMutt); + cs_free(&cs); + FREE(&err.data); + log_line(__func__); +diff --git a/test/config/sort.c b/test/config/sort.c +index b8d43069e..67f3ed2be 100644 +--- a/test/config/sort.c ++++ b/test/config/sort.c +@@ -26,7 +26,7 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "config/common.h" + #include "config/lib.h" + #include "core/lib.h" +@@ -632,11 +632,11 @@ static bool test_inherit(struct ConfigSet *cs, struct Buffer *err) + char child[128]; + snprintf(child, sizeof(child), "%s:%s", account, parent); + +- struct ConfigSubset *sub = cs_subset_new(NULL, NULL); ++ struct ConfigSubset *sub = cs_subset_new(NULL, NULL, NeoMutt->notify); + sub->cs = cs; + struct Account *a = account_new(account, sub); + +- struct HashElem *he = cs_subset_create_var(a->sub, parent, err); ++ struct HashElem *he = cs_subset_create_inheritance(a->sub, parent); + if (!he) + { + TEST_MSG("Error: %s\n", err->data); +@@ -732,6 +732,7 @@ void config_sort(void) + mutt_buffer_reset(&err); + + struct ConfigSet *cs = cs_new(30); ++ NeoMutt = neomutt_new(cs); + + sort_init(cs); + dont_fail = true; +@@ -739,7 +740,7 @@ void config_sort(void) + return; + dont_fail = false; + +- notify_observer_add(cs->notify, NT_CONFIG, 0, log_observer, 0); ++ notify_observer_add(NeoMutt->notify, log_observer, 0); + + set_list(cs); + +@@ -757,6 +758,7 @@ void config_sort(void) + TEST_CHECK(test_inherit(cs, &err)); + TEST_CHECK(test_sort_type(cs, &err)); + ++ neomutt_free(&NeoMutt); + cs_free(&cs); + FREE(&err.data); + } +diff --git a/test/config/string.c b/test/config/string.c +index 388ddec40..dbd9f169a 100644 +--- a/test/config/string.c ++++ b/test/config/string.c +@@ -26,7 +26,7 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "config/common.h" + #include "config/lib.h" + #include "core/lib.h" +@@ -569,11 +569,11 @@ static bool test_inherit(struct ConfigSet *cs, struct Buffer *err) + char child[128]; + snprintf(child, sizeof(child), "%s:%s", account, parent); + +- struct ConfigSubset *sub = cs_subset_new(NULL, NULL); ++ struct ConfigSubset *sub = cs_subset_new(NULL, NULL, NeoMutt->notify); + sub->cs = cs; + struct Account *a = account_new(account, sub); + +- struct HashElem *he = cs_subset_create_var(a->sub, parent, err); ++ struct HashElem *he = cs_subset_create_inheritance(a->sub, parent); + if (!he) + { + TEST_MSG("Error: %s\n", err->data); +@@ -637,6 +637,7 @@ void config_string(void) + mutt_buffer_reset(&err); + + struct ConfigSet *cs = cs_new(30); ++ NeoMutt = neomutt_new(cs); + + string_init(cs); + dont_fail = true; +@@ -644,7 +645,7 @@ void config_string(void) + return; + dont_fail = false; + +- notify_observer_add(cs->notify, NT_CONFIG, 0, log_observer, 0); ++ notify_observer_add(NeoMutt->notify, log_observer, 0); + + set_list(cs); + +@@ -657,6 +658,7 @@ void config_string(void) + TEST_CHECK(test_validator(cs, &err)); + TEST_CHECK(test_inherit(cs, &err)); + ++ neomutt_free(&NeoMutt); + cs_free(&cs); + FREE(&err.data); + } +diff --git a/test/config/subset.c b/test/config/subset.c +new file mode 100644 +index 000000000..cd56ba42f +--- /dev/null ++++ b/test/config/subset.c +@@ -0,0 +1,242 @@ ++/** ++ * @file ++ * Test code for the ConfigSubset object ++ * ++ * @authors ++ * Copyright (C) 2019 Richard Russon ++ * ++ * @copyright ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 2 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ ++#define TEST_NO_MAIN ++#include "acutest.h" ++#include "config.h" ++#include ++#include ++#include ++#include ++#include "mutt/lib.h" ++#include "config/common.h" ++#include "config/lib.h" ++#include "core/lib.h" ++ ++static short VarApple; ++ ++// clang-format off ++static struct ConfigDef Vars[] = { ++ { "Apple", DT_NUMBER, &VarApple, 42, 0, NULL }, ++ { NULL }, ++}; ++// clang-format on ++ ++void config_subset(void) ++{ ++ log_line(__func__); ++ ++ struct Buffer err = mutt_buffer_make(256); ++ ++ const char *name = "Apple"; ++ const char *expected = NULL; ++ intptr_t value; ++ int rc; ++ ++ struct ConfigSet *cs = cs_new(30); ++ number_init(cs); ++ if (!cs_register_variables(cs, Vars, 0)) ++ return; ++ ++ NeoMutt = neomutt_new(cs); ++ ++ cs_subset_free(NULL); ++ ++ struct ConfigSubset *sub_a = cs_subset_new("account", NeoMutt->sub, NeoMutt->notify); ++ sub_a->cs = cs; ++ struct ConfigSubset *sub_m = cs_subset_new("mailbox", sub_a, sub_a->notify); ++ sub_m->cs = cs; ++ ++ cs_subset_notify_observers(NULL, NULL, NT_CONFIG_SET); ++ ++ cs_subset_str_native_set(sub_m, name, 123, NULL); ++ cs_subset_str_native_set(sub_a, name, 456, NULL); ++ ++ struct HashElem *he = NULL; ++ ++ he = cs_subset_lookup(NULL, NULL); ++ if (!TEST_CHECK(he == NULL)) ++ { ++ TEST_MSG("cs_subset_lookup failed\n"); ++ return; ++ } ++ ++ he = cs_subset_lookup(NeoMutt->sub, name); ++ if (!TEST_CHECK(he != NULL)) ++ { ++ TEST_MSG("cs_subset_lookup failed\n"); ++ return; ++ } ++ ++ mutt_buffer_reset(&err); ++ rc = cs_subset_he_native_get(NULL, NULL, &err); ++ if (!TEST_CHECK(rc == INT_MIN)) ++ { ++ TEST_MSG("This test should have failed\n"); ++ return; ++ } ++ ++ mutt_buffer_reset(&err); ++ value = cs_subset_he_native_get(NeoMutt->sub, he, &err); ++ if (!TEST_CHECK(value != INT_MIN)) ++ { ++ TEST_MSG("cs_subset_he_native_get failed\n"); ++ return; ++ } ++ ++ mutt_buffer_reset(&err); ++ value = cs_subset_str_native_get(NeoMutt->sub, name, &err); ++ if (!TEST_CHECK(value != INT_MIN)) ++ { ++ TEST_MSG("cs_subset_str_native_get failed\n"); ++ return; ++ } ++ ++ mutt_buffer_reset(&err); ++ rc = cs_subset_he_native_set(NULL, NULL, value + 100, &err); ++ if (!TEST_CHECK(CSR_RESULT(rc) != CSR_SUCCESS)) ++ { ++ TEST_MSG("cs_subset_he_native_set failed\n"); ++ return; ++ } ++ ++ mutt_buffer_reset(&err); ++ rc = cs_subset_he_native_set(NeoMutt->sub, he, value + 100, &err); ++ if (!TEST_CHECK(value != INT_MIN)) ++ { ++ TEST_MSG("cs_subset_he_native_set failed\n"); ++ return; ++ } ++ ++ mutt_buffer_reset(&err); ++ rc = cs_subset_str_native_set(NeoMutt->sub, name, value + 100, &err); ++ if (!TEST_CHECK(value != INT_MIN)) ++ { ++ TEST_MSG("cs_subset_str_native_set failed\n"); ++ return; ++ } ++ ++ mutt_buffer_reset(&err); ++ expected = "142"; ++ rc = cs_subset_he_string_get(NeoMutt->sub, he, &err); ++ if (!TEST_CHECK(CSR_RESULT(rc) == CSR_SUCCESS) || ++ !TEST_CHECK(strcmp(mutt_b2s(&err), expected) == 0)) ++ { ++ TEST_MSG("cs_subset_he_string_get failed\n"); ++ TEST_MSG("Expected: %s", expected); ++ TEST_MSG("Actual : %s", mutt_b2s(&err)); ++ return; ++ } ++ ++ mutt_buffer_reset(&err); ++ rc = cs_subset_str_string_get(NULL, NULL, &err); ++ if (!TEST_CHECK(CSR_RESULT(rc) != CSR_SUCCESS)) ++ { ++ TEST_MSG("This test should have failed\n"); ++ return; ++ } ++ ++ mutt_buffer_reset(&err); ++ expected = "142"; ++ rc = cs_subset_str_string_get(NeoMutt->sub, name, &err); ++ if (!TEST_CHECK(CSR_RESULT(rc) == CSR_SUCCESS) || ++ !TEST_CHECK(strcmp(mutt_b2s(&err), expected) == 0)) ++ { ++ TEST_MSG("cs_subset_str_string_get failed\n"); ++ TEST_MSG("Expected: %s", expected); ++ TEST_MSG("Actual : %s", mutt_b2s(&err)); ++ return; ++ } ++ ++ mutt_buffer_reset(&err); ++ expected = "142"; ++ rc = cs_subset_he_string_set(NULL, NULL, expected, &err); ++ if (!TEST_CHECK(CSR_RESULT(rc) != CSR_SUCCESS)) ++ { ++ TEST_MSG("This test should have failed\n"); ++ return; ++ } ++ ++ mutt_buffer_reset(&err); ++ expected = "678"; ++ rc = cs_subset_he_string_set(NeoMutt->sub, he, expected, &err); ++ if (!TEST_CHECK(CSR_RESULT(rc) == CSR_SUCCESS)) ++ { ++ TEST_MSG("cs_subset_he_string_set failed\n"); ++ return; ++ } ++ ++ mutt_buffer_reset(&err); ++ expected = "678"; ++ rc = cs_subset_str_string_set(NeoMutt->sub, name, expected, &err); ++ if (!TEST_CHECK(CSR_RESULT(rc) == CSR_SUCCESS)) ++ { ++ TEST_MSG("cs_subset_str_string_set failed\n"); ++ return; ++ } ++ ++ mutt_buffer_reset(&err); ++ rc = cs_subset_he_reset(NULL, NULL, &err); ++ if (!TEST_CHECK(CSR_RESULT(rc) != CSR_SUCCESS)) ++ { ++ TEST_MSG("This test should have failed\n"); ++ return; ++ } ++ ++ mutt_buffer_reset(&err); ++ rc = cs_subset_he_reset(NeoMutt->sub, he, &err); ++ if (!TEST_CHECK(CSR_RESULT(rc) == CSR_SUCCESS)) ++ { ++ TEST_MSG("cs_subset_he_reset failed\n"); ++ return; ++ } ++ ++ mutt_buffer_reset(&err); ++ rc = cs_subset_str_reset(NeoMutt->sub, name, &err); ++ if (!TEST_CHECK(CSR_RESULT(rc) == CSR_SUCCESS)) ++ { ++ TEST_MSG("cs_subset_str_reset failed\n"); ++ return; ++ } ++ ++ he = cs_subset_lookup(sub_a, name); ++ if (!TEST_CHECK(he != NULL)) ++ { ++ TEST_MSG("cs_subset_lookup failed\n"); ++ return; ++ } ++ ++ he = cs_subset_lookup(sub_m, name); ++ if (!TEST_CHECK(he != NULL)) ++ { ++ TEST_MSG("cs_subset_lookup failed\n"); ++ return; ++ } ++ ++ cs_subset_free(&sub_m); ++ cs_subset_free(&sub_a); ++ ++ neomutt_free(&NeoMutt); ++ cs_free(&cs); ++ mutt_buffer_dealloc(&err); ++ log_line(__func__); ++} +diff --git a/test/config/synonym.c b/test/config/synonym.c +index 3b504a4ad..e01877f51 100644 +--- a/test/config/synonym.c ++++ b/test/config/synonym.c +@@ -26,7 +26,7 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "config/common.h" + #include "config/lib.h" + #include "core/lib.h" +@@ -189,6 +189,7 @@ void config_synonym(void) + mutt_buffer_reset(&err); + + struct ConfigSet *cs = cs_new(30); ++ NeoMutt = neomutt_new(cs); + + string_init(cs); + if (!cs_register_variables(cs, Vars, 0)) +@@ -202,7 +203,7 @@ void config_synonym(void) + + TEST_MSG("Expected error\n"); + +- notify_observer_add(cs->notify, NT_CONFIG, 0, log_observer, 0); ++ notify_observer_add(NeoMutt->notify, log_observer, 0); + + set_list(cs); + +@@ -212,6 +213,7 @@ void config_synonym(void) + TEST_CHECK(test_native_get(cs, &err)); + TEST_CHECK(test_reset(cs, &err)); + ++ neomutt_free(&NeoMutt); + cs_free(&cs); + FREE(&err.data); + } +diff --git a/test/date/mutt_date_add_timeout.c b/test/date/mutt_date_add_timeout.c +index 811856b82..a1b27e904 100644 +--- a/test/date/mutt_date_add_timeout.c ++++ b/test/date/mutt_date_add_timeout.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_date_add_timeout(void) + { +diff --git a/test/date/mutt_date_check_month.c b/test/date/mutt_date_check_month.c +index 078e98acd..038912a41 100644 +--- a/test/date/mutt_date_check_month.c ++++ b/test/date/mutt_date_check_month.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_date_check_month(void) + { +diff --git a/test/date/mutt_date_gmtime.c b/test/date/mutt_date_gmtime.c +index 95a030232..c44c8cf05 100644 +--- a/test/date/mutt_date_gmtime.c ++++ b/test/date/mutt_date_gmtime.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_date_gmtime(void) + { +diff --git a/test/date/mutt_date_is_day_name.c b/test/date/mutt_date_is_day_name.c +index e8510cec9..1125c2659 100644 +--- a/test/date/mutt_date_is_day_name.c ++++ b/test/date/mutt_date_is_day_name.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_date_is_day_name(void) + { +diff --git a/test/date/mutt_date_local_tz.c b/test/date/mutt_date_local_tz.c +index 43597b55e..0ae887b09 100644 +--- a/test/date/mutt_date_local_tz.c ++++ b/test/date/mutt_date_local_tz.c +@@ -24,7 +24,7 @@ + #include "acutest.h" + #include "config.h" + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_date_local_tz(void) + { +diff --git a/test/date/mutt_date_localtime.c b/test/date/mutt_date_localtime.c +index dff4a89a3..978662cea 100644 +--- a/test/date/mutt_date_localtime.c ++++ b/test/date/mutt_date_localtime.c +@@ -23,12 +23,15 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include ++#include "mutt/lib.h" + + void test_mutt_date_localtime(void) + { + // struct tm mutt_date_localtime(time_t t); + ++ setenv("TZ", "UTC", 1); ++ + { + TEST_CASE("December, 2000"); + struct tm tm = mutt_date_localtime(977745600); +diff --git a/test/date/mutt_date_localtime_format.c b/test/date/mutt_date_localtime_format.c +index 67907c1c7..f3c141dfb 100644 +--- a/test/date/mutt_date_localtime_format.c ++++ b/test/date/mutt_date_localtime_format.c +@@ -23,12 +23,15 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include ++#include "mutt/lib.h" + + void test_mutt_date_localtime_format(void) + { + // size_t mutt_date_localtime_format(char *buf, size_t buflen, char *format, time_t t); + ++ setenv("TZ", "UTC", 1); ++ + { + TEST_CHECK(mutt_date_localtime_format(NULL, 10, "apple", 0) == 0); + } +diff --git a/test/date/mutt_date_make_date.c b/test/date/mutt_date_make_date.c +index 41084ad2a..93a2321b2 100644 +--- a/test/date/mutt_date_make_date.c ++++ b/test/date/mutt_date_make_date.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_date_make_date(void) + { +diff --git a/test/date/mutt_date_make_imap.c b/test/date/mutt_date_make_imap.c +index f814b9e6e..2cb491bb7 100644 +--- a/test/date/mutt_date_make_imap.c ++++ b/test/date/mutt_date_make_imap.c +@@ -23,12 +23,15 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include ++#include "mutt/lib.h" + + void test_mutt_date_make_imap(void) + { + // int mutt_date_make_imap(char *buf, size_t buflen, time_t timestamp); + ++ setenv("TZ", "UTC", 1); ++ + { + TEST_CHECK(mutt_date_make_imap(NULL, 10, 0) != 0); + } +diff --git a/test/date/mutt_date_make_time.c b/test/date/mutt_date_make_time.c +index 5fca7ce71..bd443b39b 100644 +--- a/test/date/mutt_date_make_time.c ++++ b/test/date/mutt_date_make_time.c +@@ -23,7 +23,8 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include ++#include "mutt/lib.h" + + struct MakeTimeTest + { +@@ -35,6 +36,8 @@ void test_mutt_date_make_time(void) + { + // time_t mutt_date_make_time(struct tm *t, bool local); + ++ setenv("TZ", "UTC", 1); ++ + { + TEST_CHECK(mutt_date_make_time(NULL, false) != 0); + } +diff --git a/test/date/mutt_date_make_tls.c b/test/date/mutt_date_make_tls.c +index 79409db05..ca571c49c 100644 +--- a/test/date/mutt_date_make_tls.c ++++ b/test/date/mutt_date_make_tls.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_date_make_tls(void) + { +diff --git a/test/date/mutt_date_normalize_time.c b/test/date/mutt_date_normalize_time.c +index 47a07d893..806fe3d78 100644 +--- a/test/date/mutt_date_normalize_time.c ++++ b/test/date/mutt_date_normalize_time.c +@@ -24,7 +24,7 @@ + #include "acutest.h" + #include "config.h" + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + struct NormalizeTest + { +diff --git a/test/date/mutt_date_parse_date.c b/test/date/mutt_date_parse_date.c +index 2b5bbb600..37942c170 100644 +--- a/test/date/mutt_date_parse_date.c ++++ b/test/date/mutt_date_parse_date.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + struct ParseDateTest + { +diff --git a/test/date/mutt_date_parse_imap.c b/test/date/mutt_date_parse_imap.c +index 3110cba6e..931e1e10d 100644 +--- a/test/date/mutt_date_parse_imap.c ++++ b/test/date/mutt_date_parse_imap.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + struct ParseImapTest + { +diff --git a/test/email/email_cmp_strict.c b/test/email/email_cmp_strict.c +index 5acc19185..5883faa96 100644 +--- a/test/email/email_cmp_strict.c ++++ b/test/email/email_cmp_strict.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/email/email_free.c b/test/email/email_free.c +index 3bc50617e..796867e62 100644 +--- a/test/email/email_free.c ++++ b/test/email/email_free.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/email/email_new.c b/test/email/email_new.c +index 7f1e8a099..bf61a11da 100644 +--- a/test/email/email_new.c ++++ b/test/email/email_new.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/email/email_size.c b/test/email/email_size.c +index 124ecb9af..a63854add 100644 +--- a/test/email/email_size.c ++++ b/test/email/email_size.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/envelope/mutt_env_cmp_strict.c b/test/envelope/mutt_env_cmp_strict.c +index dad8ca232..945dd9cc9 100644 +--- a/test/envelope/mutt_env_cmp_strict.c ++++ b/test/envelope/mutt_env_cmp_strict.c +@@ -24,7 +24,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/envelope/mutt_env_free.c b/test/envelope/mutt_env_free.c +index 0506269d2..a96a38776 100644 +--- a/test/envelope/mutt_env_free.c ++++ b/test/envelope/mutt_env_free.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/envelope/mutt_env_merge.c b/test/envelope/mutt_env_merge.c +index 350a0e208..6e63a4650 100644 +--- a/test/envelope/mutt_env_merge.c ++++ b/test/envelope/mutt_env_merge.c +@@ -24,7 +24,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/envelope/mutt_env_new.c b/test/envelope/mutt_env_new.c +index d47fedb4a..1852117ab 100644 +--- a/test/envelope/mutt_env_new.c ++++ b/test/envelope/mutt_env_new.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/envelope/mutt_env_to_intl.c b/test/envelope/mutt_env_to_intl.c +index 9c36a3e27..1cfc2153f 100644 +--- a/test/envelope/mutt_env_to_intl.c ++++ b/test/envelope/mutt_env_to_intl.c +@@ -24,7 +24,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/envelope/mutt_env_to_local.c b/test/envelope/mutt_env_to_local.c +index b32cdac02..829b74b89 100644 +--- a/test/envelope/mutt_env_to_local.c ++++ b/test/envelope/mutt_env_to_local.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/envlist/mutt_envlist_free.c b/test/envlist/mutt_envlist_free.c +index f570e4362..a18853d13 100644 +--- a/test/envlist/mutt_envlist_free.c ++++ b/test/envlist/mutt_envlist_free.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_envlist_free(void) + { +diff --git a/test/envlist/mutt_envlist_getlist.c b/test/envlist/mutt_envlist_getlist.c +index efae0dba8..5597ffb14 100644 +--- a/test/envlist/mutt_envlist_getlist.c ++++ b/test/envlist/mutt_envlist_getlist.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_envlist_getlist(void) + { +diff --git a/test/envlist/mutt_envlist_init.c b/test/envlist/mutt_envlist_init.c +index 3905bbd4f..ab0c91e4e 100644 +--- a/test/envlist/mutt_envlist_init.c ++++ b/test/envlist/mutt_envlist_init.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_envlist_init(void) + { +diff --git a/test/envlist/mutt_envlist_set.c b/test/envlist/mutt_envlist_set.c +index 7eb067c1c..05e5e0a22 100644 +--- a/test/envlist/mutt_envlist_set.c ++++ b/test/envlist/mutt_envlist_set.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_envlist_set(void) + { +diff --git a/test/envlist/mutt_envlist_unset.c b/test/envlist/mutt_envlist_unset.c +index 2a86cc616..2ec8f28ae 100644 +--- a/test/envlist/mutt_envlist_unset.c ++++ b/test/envlist/mutt_envlist_unset.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_envlist_unset(void) + { +diff --git a/test/file/common.c b/test/file/common.c +index 45d3f8dce..b102d86e5 100644 +--- a/test/file/common.c ++++ b/test/file/common.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + const char *file_lines[] = { + "This is the first line.", +diff --git a/test/file/common.h b/test/file/common.h +index 1857d082c..a13cd1dca 100644 +--- a/test/file/common.h ++++ b/test/file/common.h +@@ -26,7 +26,7 @@ + #include "acutest.h" + #include "config.h" + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + extern const char *file_lines[]; + +diff --git a/test/file/mutt_buffer_file_expand_fmt_quote.c b/test/file/mutt_buffer_file_expand_fmt_quote.c +index 9e8655c49..ee9ec2fa7 100644 +--- a/test/file/mutt_buffer_file_expand_fmt_quote.c ++++ b/test/file/mutt_buffer_file_expand_fmt_quote.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_buffer_file_expand_fmt_quote(void) + { +diff --git a/test/file/mutt_buffer_quote_filename.c b/test/file/mutt_buffer_quote_filename.c +index b6c42508b..ab9cbd8fb 100644 +--- a/test/file/mutt_buffer_quote_filename.c ++++ b/test/file/mutt_buffer_quote_filename.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_buffer_quote_filename(void) + { +diff --git a/test/file/mutt_file_check_empty.c b/test/file/mutt_file_check_empty.c +index 000db0193..2eb1b4fe1 100644 +--- a/test/file/mutt_file_check_empty.c ++++ b/test/file/mutt_file_check_empty.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_file_check_empty(void) + { +diff --git a/test/file/mutt_file_chmod.c b/test/file/mutt_file_chmod.c +index f193bfeb2..3585a5ae1 100644 +--- a/test/file/mutt_file_chmod.c ++++ b/test/file/mutt_file_chmod.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_file_chmod(void) + { +diff --git a/test/file/mutt_file_chmod_add.c b/test/file/mutt_file_chmod_add.c +index ddbaec5f3..dfe7fde7b 100644 +--- a/test/file/mutt_file_chmod_add.c ++++ b/test/file/mutt_file_chmod_add.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_file_chmod_add(void) + { +diff --git a/test/file/mutt_file_chmod_add_stat.c b/test/file/mutt_file_chmod_add_stat.c +index 219c5e2a6..d1a241a49 100644 +--- a/test/file/mutt_file_chmod_add_stat.c ++++ b/test/file/mutt_file_chmod_add_stat.c +@@ -24,7 +24,7 @@ + #include "acutest.h" + #include "config.h" + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_file_chmod_add_stat(void) + { +diff --git a/test/file/mutt_file_chmod_rm.c b/test/file/mutt_file_chmod_rm.c +index 99d7e46ec..f698aca9b 100644 +--- a/test/file/mutt_file_chmod_rm.c ++++ b/test/file/mutt_file_chmod_rm.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_file_chmod_rm(void) + { +diff --git a/test/file/mutt_file_chmod_rm_stat.c b/test/file/mutt_file_chmod_rm_stat.c +index c164e8d49..d9c9f6a99 100644 +--- a/test/file/mutt_file_chmod_rm_stat.c ++++ b/test/file/mutt_file_chmod_rm_stat.c +@@ -24,7 +24,7 @@ + #include "acutest.h" + #include "config.h" + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_file_chmod_rm_stat(void) + { +diff --git a/test/file/mutt_file_copy_bytes.c b/test/file/mutt_file_copy_bytes.c +index a7595f1ad..461d1eebd 100644 +--- a/test/file/mutt_file_copy_bytes.c ++++ b/test/file/mutt_file_copy_bytes.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_file_copy_bytes(void) + { +diff --git a/test/file/mutt_file_copy_stream.c b/test/file/mutt_file_copy_stream.c +index bef791744..f86037c19 100644 +--- a/test/file/mutt_file_copy_stream.c ++++ b/test/file/mutt_file_copy_stream.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_file_copy_stream(void) + { +diff --git a/test/file/mutt_file_decrease_mtime.c b/test/file/mutt_file_decrease_mtime.c +index 82a4bb6e6..2ae05abea 100644 +--- a/test/file/mutt_file_decrease_mtime.c ++++ b/test/file/mutt_file_decrease_mtime.c +@@ -24,7 +24,7 @@ + #include "acutest.h" + #include "config.h" + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_file_decrease_mtime(void) + { +diff --git a/test/file/mutt_file_expand_fmt.c b/test/file/mutt_file_expand_fmt.c +index 7a52168be..9f36689be 100644 +--- a/test/file/mutt_file_expand_fmt.c ++++ b/test/file/mutt_file_expand_fmt.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_file_expand_fmt(void) + { +diff --git a/test/file/mutt_file_fclose.c b/test/file/mutt_file_fclose.c +index 448a4ea3d..3e951701a 100644 +--- a/test/file/mutt_file_fclose.c ++++ b/test/file/mutt_file_fclose.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_file_fclose(void) + { +diff --git a/test/file/mutt_file_fopen.c b/test/file/mutt_file_fopen.c +index 75b056cbe..339d9e4cd 100644 +--- a/test/file/mutt_file_fopen.c ++++ b/test/file/mutt_file_fopen.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_file_fopen(void) + { +diff --git a/test/file/mutt_file_fsync_close.c b/test/file/mutt_file_fsync_close.c +index 7b5d12065..85cb48267 100644 +--- a/test/file/mutt_file_fsync_close.c ++++ b/test/file/mutt_file_fsync_close.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_file_fsync_close(void) + { +diff --git a/test/file/mutt_file_get_size.c b/test/file/mutt_file_get_size.c +index dd2b2e49a..afd6fcd4d 100644 +--- a/test/file/mutt_file_get_size.c ++++ b/test/file/mutt_file_get_size.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_file_get_size(void) + { +diff --git a/test/file/mutt_file_get_stat_timespec.c b/test/file/mutt_file_get_stat_timespec.c +index ba4b3c99e..03602b961 100644 +--- a/test/file/mutt_file_get_stat_timespec.c ++++ b/test/file/mutt_file_get_stat_timespec.c +@@ -24,7 +24,7 @@ + #include "acutest.h" + #include "config.h" + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_file_get_stat_timespec(void) + { +diff --git a/test/file/mutt_file_iter_line.c b/test/file/mutt_file_iter_line.c +index 9770e847c..86f35f56b 100644 +--- a/test/file/mutt_file_iter_line.c ++++ b/test/file/mutt_file_iter_line.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "common.h" + + void test_mutt_file_iter_line(void) +diff --git a/test/file/mutt_file_lock.c b/test/file/mutt_file_lock.c +index 012c2fced..afd98fb41 100644 +--- a/test/file/mutt_file_lock.c ++++ b/test/file/mutt_file_lock.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_file_lock(void) + { +diff --git a/test/file/mutt_file_map_lines.c b/test/file/mutt_file_map_lines.c +index 1bf7d3dd0..10a9c6073 100644 +--- a/test/file/mutt_file_map_lines.c ++++ b/test/file/mutt_file_map_lines.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "common.h" + + #define BOOLIFY(x) ((x) ? "true" : "false") +diff --git a/test/file/mutt_file_mkdir.c b/test/file/mutt_file_mkdir.c +index 73de581a1..b91f3e501 100644 +--- a/test/file/mutt_file_mkdir.c ++++ b/test/file/mutt_file_mkdir.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_file_mkdir(void) + { +diff --git a/test/file/mutt_file_mkstemp_full.c b/test/file/mutt_file_mkstemp_full.c +index d27e53b81..df75f2c5d 100644 +--- a/test/file/mutt_file_mkstemp_full.c ++++ b/test/file/mutt_file_mkstemp_full.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_file_mkstemp_full(void) + { +diff --git a/test/file/mutt_file_open.c b/test/file/mutt_file_open.c +index e150dfd50..543184d39 100644 +--- a/test/file/mutt_file_open.c ++++ b/test/file/mutt_file_open.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_file_open(void) + { +diff --git a/test/file/mutt_file_quote_filename.c b/test/file/mutt_file_quote_filename.c +index 58d62e379..29bddfbc9 100644 +--- a/test/file/mutt_file_quote_filename.c ++++ b/test/file/mutt_file_quote_filename.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_file_quote_filename(void) + { +diff --git a/test/file/mutt_file_read_keyword.c b/test/file/mutt_file_read_keyword.c +index c71d6a470..6465e5146 100644 +--- a/test/file/mutt_file_read_keyword.c ++++ b/test/file/mutt_file_read_keyword.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_file_read_keyword(void) + { +diff --git a/test/file/mutt_file_read_line.c b/test/file/mutt_file_read_line.c +index 04fbe3e5f..d715fed33 100644 +--- a/test/file/mutt_file_read_line.c ++++ b/test/file/mutt_file_read_line.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_file_read_line(void) + { +diff --git a/test/file/mutt_file_rename.c b/test/file/mutt_file_rename.c +index 33cebc9f8..fa065fa31 100644 +--- a/test/file/mutt_file_rename.c ++++ b/test/file/mutt_file_rename.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_file_rename(void) + { +diff --git a/test/file/mutt_file_rmtree.c b/test/file/mutt_file_rmtree.c +index 11e4b2f8f..59c33a918 100644 +--- a/test/file/mutt_file_rmtree.c ++++ b/test/file/mutt_file_rmtree.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_file_rmtree(void) + { +diff --git a/test/file/mutt_file_safe_rename.c b/test/file/mutt_file_safe_rename.c +index 505fe5be3..d70e463bc 100644 +--- a/test/file/mutt_file_safe_rename.c ++++ b/test/file/mutt_file_safe_rename.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_file_safe_rename(void) + { +diff --git a/test/file/mutt_file_sanitize_filename.c b/test/file/mutt_file_sanitize_filename.c +index 1f71e778e..42390f085 100644 +--- a/test/file/mutt_file_sanitize_filename.c ++++ b/test/file/mutt_file_sanitize_filename.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_file_sanitize_filename(void) + { +diff --git a/test/file/mutt_file_sanitize_regex.c b/test/file/mutt_file_sanitize_regex.c +index 7fa60a5a1..599e0ab08 100644 +--- a/test/file/mutt_file_sanitize_regex.c ++++ b/test/file/mutt_file_sanitize_regex.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_file_sanitize_regex(void) + { +diff --git a/test/file/mutt_file_set_mtime.c b/test/file/mutt_file_set_mtime.c +index d5dfd9be3..336f8f445 100644 +--- a/test/file/mutt_file_set_mtime.c ++++ b/test/file/mutt_file_set_mtime.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_file_set_mtime(void) + { +diff --git a/test/file/mutt_file_stat_compare.c b/test/file/mutt_file_stat_compare.c +index bff68940e..2c5ce4a9b 100644 +--- a/test/file/mutt_file_stat_compare.c ++++ b/test/file/mutt_file_stat_compare.c +@@ -24,7 +24,7 @@ + #include "acutest.h" + #include "config.h" + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_file_stat_compare(void) + { +diff --git a/test/file/mutt_file_stat_timespec_compare.c b/test/file/mutt_file_stat_timespec_compare.c +index 3fbe1868f..2610dbe17 100644 +--- a/test/file/mutt_file_stat_timespec_compare.c ++++ b/test/file/mutt_file_stat_timespec_compare.c +@@ -24,7 +24,7 @@ + #include "acutest.h" + #include "config.h" + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_file_stat_timespec_compare(void) + { +diff --git a/test/file/mutt_file_symlink.c b/test/file/mutt_file_symlink.c +index 425f08b3f..524e6ed29 100644 +--- a/test/file/mutt_file_symlink.c ++++ b/test/file/mutt_file_symlink.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_file_symlink(void) + { +diff --git a/test/file/mutt_file_timespec_compare.c b/test/file/mutt_file_timespec_compare.c +index 60b003596..0355ace22 100644 +--- a/test/file/mutt_file_timespec_compare.c ++++ b/test/file/mutt_file_timespec_compare.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_file_timespec_compare(void) + { +diff --git a/test/file/mutt_file_touch_atime.c b/test/file/mutt_file_touch_atime.c +index fe6968fd4..58f7e982e 100644 +--- a/test/file/mutt_file_touch_atime.c ++++ b/test/file/mutt_file_touch_atime.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_file_touch_atime(void) + { +diff --git a/test/file/mutt_file_unlink.c b/test/file/mutt_file_unlink.c +index cadc413c4..369d07725 100644 +--- a/test/file/mutt_file_unlink.c ++++ b/test/file/mutt_file_unlink.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_file_unlink(void) + { +diff --git a/test/file/mutt_file_unlink_empty.c b/test/file/mutt_file_unlink_empty.c +index edc0a9c31..081f97d51 100644 +--- a/test/file/mutt_file_unlink_empty.c ++++ b/test/file/mutt_file_unlink_empty.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_file_unlink_empty(void) + { +diff --git a/test/file/mutt_file_unlock.c b/test/file/mutt_file_unlock.c +index ec6af00b7..55e4547a0 100644 +--- a/test/file/mutt_file_unlock.c ++++ b/test/file/mutt_file_unlock.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_file_unlock(void) + { +diff --git a/test/from/is_from.c b/test/from/is_from.c +index c32ee1a44..49f5bce67 100644 +--- a/test/from/is_from.c ++++ b/test/from/is_from.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/group/mutt_group_match.c b/test/group/mutt_group_match.c +index 61c5f4666..272bd4683 100644 +--- a/test/group/mutt_group_match.c ++++ b/test/group/mutt_group_match.c +@@ -24,7 +24,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + + void test_mutt_group_match(void) +diff --git a/test/group/mutt_grouplist_add.c b/test/group/mutt_grouplist_add.c +index be3a180b9..837d079f4 100644 +--- a/test/group/mutt_grouplist_add.c ++++ b/test/group/mutt_grouplist_add.c +@@ -24,7 +24,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + + void test_mutt_grouplist_add(void) +diff --git a/test/group/mutt_grouplist_add_addrlist.c b/test/group/mutt_grouplist_add_addrlist.c +index 3c5d67f6e..196a8cc4d 100644 +--- a/test/group/mutt_grouplist_add_addrlist.c ++++ b/test/group/mutt_grouplist_add_addrlist.c +@@ -24,7 +24,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + + void test_mutt_grouplist_add_addrlist(void) +diff --git a/test/group/mutt_grouplist_add_regex.c b/test/group/mutt_grouplist_add_regex.c +index 8e608c80b..9e7d04456 100644 +--- a/test/group/mutt_grouplist_add_regex.c ++++ b/test/group/mutt_grouplist_add_regex.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + + void test_mutt_grouplist_add_regex(void) +diff --git a/test/group/mutt_grouplist_clear.c b/test/group/mutt_grouplist_clear.c +index 00d54e9a6..5f35408cc 100644 +--- a/test/group/mutt_grouplist_clear.c ++++ b/test/group/mutt_grouplist_clear.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + + void test_mutt_grouplist_clear(void) +diff --git a/test/group/mutt_grouplist_destroy.c b/test/group/mutt_grouplist_destroy.c +index 83d62a01e..37017daed 100644 +--- a/test/group/mutt_grouplist_destroy.c ++++ b/test/group/mutt_grouplist_destroy.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + + void test_mutt_grouplist_destroy(void) +diff --git a/test/group/mutt_grouplist_free.c b/test/group/mutt_grouplist_free.c +index 60b7455c2..05d14aa3f 100644 +--- a/test/group/mutt_grouplist_free.c ++++ b/test/group/mutt_grouplist_free.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + + void test_mutt_grouplist_free(void) +diff --git a/test/group/mutt_grouplist_init.c b/test/group/mutt_grouplist_init.c +index 074c6c67d..04172f650 100644 +--- a/test/group/mutt_grouplist_init.c ++++ b/test/group/mutt_grouplist_init.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + + void test_mutt_grouplist_init(void) +diff --git a/test/group/mutt_grouplist_remove_addrlist.c b/test/group/mutt_grouplist_remove_addrlist.c +index 1a8182f1c..1cb257c01 100644 +--- a/test/group/mutt_grouplist_remove_addrlist.c ++++ b/test/group/mutt_grouplist_remove_addrlist.c +@@ -24,7 +24,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + + void test_mutt_grouplist_remove_addrlist(void) +diff --git a/test/group/mutt_grouplist_remove_regex.c b/test/group/mutt_grouplist_remove_regex.c +index 276810d9c..6f3839cb1 100644 +--- a/test/group/mutt_grouplist_remove_regex.c ++++ b/test/group/mutt_grouplist_remove_regex.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + + void test_mutt_grouplist_remove_regex(void) +diff --git a/test/group/mutt_pattern_group.c b/test/group/mutt_pattern_group.c +index 734d463a8..2d6e24ca3 100644 +--- a/test/group/mutt_pattern_group.c ++++ b/test/group/mutt_pattern_group.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + + void test_mutt_pattern_group(void) +diff --git a/test/gui/reflow.c b/test/gui/reflow.c +new file mode 100644 +index 000000000..f591a637f +--- /dev/null ++++ b/test/gui/reflow.c +@@ -0,0 +1,1404 @@ ++/** ++ * @file ++ * Test code for window_reflow() ++ * ++ * @authors ++ * Copyright (C) 2019 Richard Russon ++ * ++ * @copyright ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 2 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ ++#define TEST_NO_MAIN ++#include "acutest.h" ++#include "config.h" ++#include ++#include "mutt/lib.h" ++#include "gui/mutt_window.h" ++#include "gui/reflow.h" ++ ++typedef uint16_t MuttRedrawFlags; ++ ++void debug_win_dump(void) ++{ ++} ++ ++void mutt_menu_set_current_redraw_full(void) ++{ ++} ++ ++void mutt_menu_set_current_redraw(MuttRedrawFlags redraw) ++{ ++} ++ ++static const char *win_size(struct MuttWindow *win) ++{ ++ if (!win) ++ return "???"; ++ ++ switch (win->size) ++ { ++ case MUTT_WIN_SIZE_FIXED: ++ return "FIX"; ++ case MUTT_WIN_SIZE_MAXIMISE: ++ return "MAX"; ++ case MUTT_WIN_SIZE_MINIMISE: ++ return "MIN"; ++ } ++ ++ return "???"; ++} ++ ++static void win_serialise(struct MuttWindow *win, struct Buffer *buf) ++{ ++ if (!mutt_window_is_visible(win)) ++ return; ++ ++ mutt_buffer_add_printf(buf, "<%s {%dx,%dy} [%dC,%dR]", win_size(win), ++ win->state.col_offset, win->state.row_offset, ++ win->state.cols, win->state.rows); ++ ++ struct MuttWindow *np = NULL; ++ TAILQ_FOREACH(np, &win->children, entries) ++ { ++ win_serialise(np, buf); ++ } ++ ++ mutt_buffer_addstr(buf, ">"); ++} ++ ++void test_window_reflow(void) ++{ ++ // void window_reflow(struct MuttWindow *win); ++ ++ { ++ window_reflow(NULL); ++ TEST_CHECK_(1, "window_reflow(NULL)"); ++ } ++ ++ // --------------------------------------------------------------------------- ++ // Horizontal tests in a fixed root of 80x24 ++ ++ TEST_CASE("Horizontal"); ++ { ++ // Root containing 'fix 40' ++ static const char *expected = ++ ">"; ++ ++ struct MuttWindow *root = ++ mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_FIXED, 24, 80); ++ root->state.rows = root->req_rows; ++ root->state.cols = root->req_cols; ++ ++ struct MuttWindow *fix1 = mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_FIXED, ++ MUTT_WIN_SIZE_UNLIMITED, 40); ++ fix1->req_cols = 40; ++ ++ mutt_window_add_child(root, fix1); ++ ++ window_reflow(root); ++ ++ struct Buffer buf = mutt_buffer_make(1024); ++ win_serialise(root, &buf); ++ TEST_CHECK(strcmp(mutt_b2s(&buf), expected) == 0); ++ TEST_MSG("Expected %s\n", expected); ++ TEST_MSG("Got %s\n", mutt_b2s(&buf)); ++ ++ mutt_buffer_dealloc(&buf); ++ mutt_window_free(&root); ++ } ++ ++ { ++ // Root containing 'max' ++ static const char *expected = ++ ">"; ++ ++ struct MuttWindow *root = ++ mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_FIXED, 24, 80); ++ root->state.rows = root->req_rows; ++ root->state.cols = root->req_cols; ++ ++ struct MuttWindow *max1 = ++ mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ ++ mutt_window_add_child(root, max1); ++ ++ window_reflow(root); ++ ++ struct Buffer buf = mutt_buffer_make(1024); ++ win_serialise(root, &buf); ++ TEST_CHECK(strcmp(mutt_b2s(&buf), expected) == 0); ++ TEST_MSG("Expected %s\n", expected); ++ TEST_MSG("Got %s\n", mutt_b2s(&buf)); ++ ++ mutt_buffer_dealloc(&buf); ++ mutt_window_free(&root); ++ } ++ ++ { ++ // Root containing ('min' containing ('fix 20')) ++ static const char *expected = ++ ">>"; ++ ++ struct MuttWindow *root = ++ mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_FIXED, 24, 80); ++ root->state.rows = root->req_rows; ++ root->state.cols = root->req_cols; ++ ++ struct MuttWindow *min1 = ++ mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_MINIMISE, 0, 0); ++ ++ struct MuttWindow *fix1 = mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_FIXED, ++ MUTT_WIN_SIZE_UNLIMITED, 20); ++ fix1->state.rows = fix1->req_rows; ++ fix1->state.cols = fix1->req_cols; ++ ++ mutt_window_add_child(root, min1); ++ mutt_window_add_child(min1, fix1); ++ ++ window_reflow(root); ++ ++ struct Buffer buf = mutt_buffer_make(1024); ++ win_serialise(root, &buf); ++ TEST_CHECK(strcmp(mutt_b2s(&buf), expected) == 0); ++ TEST_MSG("Expected %s\n", expected); ++ TEST_MSG("Got %s\n", mutt_b2s(&buf)); ++ ++ mutt_buffer_dealloc(&buf); ++ mutt_window_free(&root); ++ } ++ ++ { ++ // Root containing ('min' containing ('fix 20' and 'inv')) ++ static const char *expected = ++ ">>"; ++ ++ struct MuttWindow *root = ++ mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_FIXED, 24, 80); ++ root->state.rows = root->req_rows; ++ root->state.cols = root->req_cols; ++ ++ struct MuttWindow *min1 = ++ mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_MINIMISE, 0, 0); ++ ++ struct MuttWindow *fix1 = mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_FIXED, ++ MUTT_WIN_SIZE_UNLIMITED, 20); ++ fix1->state.rows = fix1->req_rows; ++ fix1->state.cols = fix1->req_cols; ++ ++ struct MuttWindow *inv1 = mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_FIXED, ++ MUTT_WIN_SIZE_UNLIMITED, 20); ++ inv1->state.visible = false; ++ ++ mutt_window_add_child(root, min1); ++ mutt_window_add_child(min1, fix1); ++ mutt_window_add_child(min1, inv1); ++ ++ window_reflow(root); ++ ++ struct Buffer buf = mutt_buffer_make(1024); ++ win_serialise(root, &buf); ++ TEST_CHECK(strcmp(mutt_b2s(&buf), expected) == 0); ++ TEST_MSG("Expected %s\n", expected); ++ TEST_MSG("Got %s\n", mutt_b2s(&buf)); ++ ++ mutt_buffer_dealloc(&buf); ++ mutt_window_free(&root); ++ } ++ ++ { ++ // Root containing ('min' containing ('fix 20' and 'fix 10')) ++ static const char *expected = ++ ">>"; ++ ++ struct MuttWindow *root = ++ mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_FIXED, 24, 80); ++ root->state.rows = root->req_rows; ++ root->state.cols = root->req_cols; ++ ++ struct MuttWindow *min1 = ++ mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_MINIMISE, 0, 0); ++ ++ struct MuttWindow *fix1 = mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_FIXED, ++ MUTT_WIN_SIZE_UNLIMITED, 20); ++ fix1->state.rows = fix1->req_rows; ++ fix1->state.cols = fix1->req_cols; ++ ++ struct MuttWindow *fix2 = mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_FIXED, ++ MUTT_WIN_SIZE_UNLIMITED, 10); ++ fix2->state.rows = fix2->req_rows; ++ fix2->state.cols = fix2->req_cols; ++ ++ mutt_window_add_child(root, min1); ++ mutt_window_add_child(min1, fix1); ++ mutt_window_add_child(min1, fix2); ++ ++ window_reflow(root); ++ ++ struct Buffer buf = mutt_buffer_make(1024); ++ win_serialise(root, &buf); ++ TEST_CHECK(strcmp(mutt_b2s(&buf), expected) == 0); ++ TEST_MSG("Expected %s\n", expected); ++ TEST_MSG("Got %s\n", mutt_b2s(&buf)); ++ ++ mutt_buffer_dealloc(&buf); ++ mutt_window_free(&root); ++ } ++ ++ { ++ // Root containing ('fix 40' and 'fix 20') ++ static const char *expected = ">"; ++ ++ struct MuttWindow *root = ++ mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_FIXED, 24, 80); ++ root->state.rows = root->req_rows; ++ root->state.cols = root->req_cols; ++ ++ struct MuttWindow *fix1 = mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_FIXED, ++ MUTT_WIN_SIZE_UNLIMITED, 40); ++ fix1->state.rows = fix1->req_rows; ++ fix1->state.cols = fix1->req_cols; ++ ++ struct MuttWindow *fix2 = mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_FIXED, ++ MUTT_WIN_SIZE_UNLIMITED, 20); ++ fix2->state.rows = fix2->req_rows; ++ fix2->state.cols = fix2->req_cols; ++ ++ mutt_window_add_child(root, fix1); ++ mutt_window_add_child(root, fix2); ++ ++ window_reflow(root); ++ ++ struct Buffer buf = mutt_buffer_make(1024); ++ win_serialise(root, &buf); ++ TEST_CHECK(strcmp(mutt_b2s(&buf), expected) == 0); ++ TEST_MSG("Expected %s\n", expected); ++ TEST_MSG("Got %s\n", mutt_b2s(&buf)); ++ ++ mutt_buffer_dealloc(&buf); ++ mutt_window_free(&root); ++ } ++ ++ { ++ // Root containing ('fix 35' and 'max') ++ static const char *expected = ">"; ++ ++ struct MuttWindow *root = ++ mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_FIXED, 24, 80); ++ root->state.rows = root->req_rows; ++ root->state.cols = root->req_cols; ++ ++ struct MuttWindow *fix1 = mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_FIXED, ++ MUTT_WIN_SIZE_UNLIMITED, 35); ++ fix1->state.rows = fix1->req_rows; ++ fix1->state.cols = fix1->req_cols; ++ ++ struct MuttWindow *max1 = ++ mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ ++ mutt_window_add_child(root, fix1); ++ mutt_window_add_child(root, max1); ++ ++ window_reflow(root); ++ ++ struct Buffer buf = mutt_buffer_make(1024); ++ win_serialise(root, &buf); ++ TEST_CHECK(strcmp(mutt_b2s(&buf), expected) == 0); ++ TEST_MSG("Expected %s\n", expected); ++ TEST_MSG("Got %s\n", mutt_b2s(&buf)); ++ ++ mutt_buffer_dealloc(&buf); ++ mutt_window_free(&root); ++ } ++ ++ { ++ // Root containing ('fix 35', 'inv', 'max' and 'inv') ++ static const char *expected = ">"; ++ ++ struct MuttWindow *root = ++ mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_FIXED, 24, 80); ++ root->state.rows = root->req_rows; ++ root->state.cols = root->req_cols; ++ ++ struct MuttWindow *fix1 = mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_FIXED, ++ MUTT_WIN_SIZE_UNLIMITED, 35); ++ fix1->state.rows = fix1->req_rows; ++ fix1->state.cols = fix1->req_cols; ++ ++ struct MuttWindow *inv1 = mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_FIXED, ++ MUTT_WIN_SIZE_UNLIMITED, 35); ++ inv1->state.visible = false; ++ ++ struct MuttWindow *max1 = ++ mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ ++ struct MuttWindow *inv2 = ++ mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ inv2->state.visible = false; ++ ++ mutt_window_add_child(root, fix1); ++ mutt_window_add_child(root, inv1); ++ mutt_window_add_child(root, max1); ++ mutt_window_add_child(root, inv2); ++ ++ window_reflow(root); ++ ++ struct Buffer buf = mutt_buffer_make(1024); ++ win_serialise(root, &buf); ++ TEST_CHECK(strcmp(mutt_b2s(&buf), expected) == 0); ++ TEST_MSG("Expected %s\n", expected); ++ TEST_MSG("Got %s\n", mutt_b2s(&buf)); ++ ++ mutt_buffer_dealloc(&buf); ++ mutt_window_free(&root); ++ } ++ ++ { ++ // Root containing ('max' and 'fix 35') ++ static const char *expected = ">"; ++ ++ struct MuttWindow *root = ++ mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_FIXED, 24, 80); ++ root->state.rows = root->req_rows; ++ root->state.cols = root->req_cols; ++ ++ struct MuttWindow *max1 = ++ mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ ++ struct MuttWindow *fix1 = mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_FIXED, ++ MUTT_WIN_SIZE_UNLIMITED, 35); ++ fix1->state.rows = fix1->req_rows; ++ fix1->state.cols = fix1->req_cols; ++ ++ mutt_window_add_child(root, max1); ++ mutt_window_add_child(root, fix1); ++ ++ window_reflow(root); ++ ++ struct Buffer buf = mutt_buffer_make(1024); ++ win_serialise(root, &buf); ++ TEST_CHECK(strcmp(mutt_b2s(&buf), expected) == 0); ++ TEST_MSG("Expected %s\n", expected); ++ TEST_MSG("Got %s\n", mutt_b2s(&buf)); ++ ++ mutt_buffer_dealloc(&buf); ++ mutt_window_free(&root); ++ } ++ ++ { ++ // Root containing ('max' and 'max') ++ static const char *expected = ">"; ++ ++ struct MuttWindow *root = ++ mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_FIXED, 24, 80); ++ root->state.rows = root->req_rows; ++ root->state.cols = root->req_cols; ++ ++ struct MuttWindow *max1 = ++ mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ struct MuttWindow *max2 = ++ mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ ++ mutt_window_add_child(root, max1); ++ mutt_window_add_child(root, max2); ++ ++ window_reflow(root); ++ ++ struct Buffer buf = mutt_buffer_make(1024); ++ win_serialise(root, &buf); ++ TEST_CHECK(strcmp(mutt_b2s(&buf), expected) == 0); ++ TEST_MSG("Expected %s\n", expected); ++ TEST_MSG("Got %s\n", mutt_b2s(&buf)); ++ ++ mutt_buffer_dealloc(&buf); ++ mutt_window_free(&root); ++ } ++ ++ { ++ // Root containing ('max', 'max', 'max' and 'max') ++ static const char *expected = ++ ">"; ++ ++ struct MuttWindow *root = ++ mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_FIXED, 24, 80); ++ root->state.rows = root->req_rows; ++ root->state.cols = root->req_cols; ++ ++ struct MuttWindow *max1 = ++ mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ struct MuttWindow *max2 = ++ mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ struct MuttWindow *max3 = ++ mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ struct MuttWindow *max4 = ++ mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ ++ mutt_window_add_child(root, max1); ++ mutt_window_add_child(root, max2); ++ mutt_window_add_child(root, max3); ++ mutt_window_add_child(root, max4); ++ ++ window_reflow(root); ++ ++ struct Buffer buf = mutt_buffer_make(1024); ++ win_serialise(root, &buf); ++ TEST_CHECK(strcmp(mutt_b2s(&buf), expected) == 0); ++ TEST_MSG("Expected %s\n", expected); ++ TEST_MSG("Got %s\n", mutt_b2s(&buf)); ++ ++ mutt_buffer_dealloc(&buf); ++ mutt_window_free(&root); ++ } ++ ++ { ++ // Root containing ('fix 40', 'fix 30' and 'fix 30') ++ // Too big to fit on screen ++ static const char *expected = ++ ">"; ++ ++ struct MuttWindow *root = ++ mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_FIXED, 24, 80); ++ root->state.rows = root->req_rows; ++ root->state.cols = root->req_cols; ++ ++ struct MuttWindow *fix1 = mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_FIXED, ++ MUTT_WIN_SIZE_UNLIMITED, 40); ++ struct MuttWindow *fix2 = mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_FIXED, ++ MUTT_WIN_SIZE_UNLIMITED, 30); ++ struct MuttWindow *fix3 = mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_FIXED, ++ MUTT_WIN_SIZE_UNLIMITED, 30); ++ ++ mutt_window_add_child(root, fix1); ++ mutt_window_add_child(root, fix2); ++ mutt_window_add_child(root, fix3); ++ ++ window_reflow(root); ++ ++ struct Buffer buf = mutt_buffer_make(1024); ++ win_serialise(root, &buf); ++ TEST_CHECK(strcmp(mutt_b2s(&buf), expected) == 0); ++ TEST_MSG("Expected %s\n", expected); ++ TEST_MSG("Got %s\n", mutt_b2s(&buf)); ++ ++ mutt_buffer_dealloc(&buf); ++ mutt_window_free(&root); ++ } ++ ++ { ++ // Root containing ('fix 40', 'fix 60' and 'fix 20') ++ // Too big to fit on screen (third is completely offscreen) ++ static const char *expected = ++ ">"; ++ ++ struct MuttWindow *root = ++ mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_FIXED, 24, 80); ++ root->state.rows = root->req_rows; ++ root->state.cols = root->req_cols; ++ ++ struct MuttWindow *fix1 = mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_FIXED, ++ MUTT_WIN_SIZE_UNLIMITED, 40); ++ struct MuttWindow *fix2 = mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_FIXED, ++ MUTT_WIN_SIZE_UNLIMITED, 60); ++ struct MuttWindow *fix3 = mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_FIXED, ++ MUTT_WIN_SIZE_UNLIMITED, 20); ++ ++ mutt_window_add_child(root, fix1); ++ mutt_window_add_child(root, fix2); ++ mutt_window_add_child(root, fix3); ++ ++ window_reflow(root); ++ ++ struct Buffer buf = mutt_buffer_make(1024); ++ win_serialise(root, &buf); ++ TEST_CHECK(strcmp(mutt_b2s(&buf), expected) == 0); ++ TEST_MSG("Expected %s\n", expected); ++ TEST_MSG("Got %s\n", mutt_b2s(&buf)); ++ ++ mutt_buffer_dealloc(&buf); ++ mutt_window_free(&root); ++ } ++ ++ { ++ // Root containing ('fix 45' containing ('fix 10' and 'max') and 'max') ++ static const char *expected = ++ ">>"; ++ ++ struct MuttWindow *root = ++ mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_FIXED, 24, 80); ++ root->state.rows = root->req_rows; ++ root->state.cols = root->req_cols; ++ ++ struct MuttWindow *fix1 = mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_FIXED, ++ MUTT_WIN_SIZE_UNLIMITED, 45); ++ struct MuttWindow *fix2 = mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_FIXED, ++ MUTT_WIN_SIZE_UNLIMITED, 10); ++ struct MuttWindow *max1 = ++ mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ struct MuttWindow *max2 = ++ mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ ++ mutt_window_add_child(root, fix1); ++ mutt_window_add_child(fix1, fix2); ++ mutt_window_add_child(fix1, max1); ++ mutt_window_add_child(root, max2); ++ ++ window_reflow(root); ++ ++ struct Buffer buf = mutt_buffer_make(1024); ++ win_serialise(root, &buf); ++ TEST_CHECK(strcmp(mutt_b2s(&buf), expected) == 0); ++ TEST_MSG("Expected %s\n", expected); ++ TEST_MSG("Got %s\n", mutt_b2s(&buf)); ++ ++ mutt_buffer_dealloc(&buf); ++ mutt_window_free(&root); ++ } ++ ++ { ++ // Root containing ('max' containing ('max' and 'fix 10') and 'fix 35') ++ static const char *expected = ++ ">>"; ++ ++ struct MuttWindow *root = ++ mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_FIXED, 24, 80); ++ root->state.rows = root->req_rows; ++ root->state.cols = root->req_cols; ++ ++ struct MuttWindow *fix1 = mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_FIXED, ++ MUTT_WIN_SIZE_UNLIMITED, 10); ++ struct MuttWindow *fix2 = mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_FIXED, ++ MUTT_WIN_SIZE_UNLIMITED, 35); ++ struct MuttWindow *max1 = ++ mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ struct MuttWindow *max2 = ++ mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ ++ mutt_window_add_child(root, max1); ++ mutt_window_add_child(max1, max2); ++ mutt_window_add_child(max1, fix1); ++ mutt_window_add_child(root, fix2); ++ ++ window_reflow(root); ++ ++ struct Buffer buf = mutt_buffer_make(1024); ++ win_serialise(root, &buf); ++ TEST_CHECK(strcmp(mutt_b2s(&buf), expected) == 0); ++ TEST_MSG("Expected %s\n", expected); ++ TEST_MSG("Got %s\n", mutt_b2s(&buf)); ++ ++ mutt_buffer_dealloc(&buf); ++ mutt_window_free(&root); ++ } ++ ++ { ++ // Root containing ('fix 35' containing ('max' and 'fix 10') and 'max') ++ static const char *expected = ++ ">>"; ++ ++ struct MuttWindow *root = ++ mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_FIXED, 24, 80); ++ root->state.rows = root->req_rows; ++ root->state.cols = root->req_cols; ++ ++ struct MuttWindow *fix1 = mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_FIXED, ++ MUTT_WIN_SIZE_UNLIMITED, 35); ++ struct MuttWindow *fix2 = mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_FIXED, ++ MUTT_WIN_SIZE_UNLIMITED, 10); ++ struct MuttWindow *max1 = ++ mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ struct MuttWindow *max2 = ++ mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ ++ mutt_window_add_child(root, fix1); ++ mutt_window_add_child(fix1, max1); ++ mutt_window_add_child(fix1, fix2); ++ mutt_window_add_child(root, max2); ++ ++ window_reflow(root); ++ ++ struct Buffer buf = mutt_buffer_make(1024); ++ win_serialise(root, &buf); ++ TEST_CHECK(strcmp(mutt_b2s(&buf), expected) == 0); ++ TEST_MSG("Expected %s\n", expected); ++ TEST_MSG("Got %s\n", mutt_b2s(&buf)); ++ ++ mutt_buffer_dealloc(&buf); ++ mutt_window_free(&root); ++ } ++ ++ { ++ // Root containing ('max' containing ('max' and 'fix 10') and 'fix 35') ++ static const char *expected = ++ ">>"; ++ ++ struct MuttWindow *root = ++ mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_FIXED, 24, 80); ++ root->state.rows = root->req_rows; ++ root->state.cols = root->req_cols; ++ ++ struct MuttWindow *fix1 = mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_FIXED, ++ MUTT_WIN_SIZE_UNLIMITED, 10); ++ struct MuttWindow *fix2 = mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_FIXED, ++ MUTT_WIN_SIZE_UNLIMITED, 35); ++ struct MuttWindow *max1 = ++ mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ struct MuttWindow *max2 = ++ mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ ++ mutt_window_add_child(root, max1); ++ mutt_window_add_child(max1, max2); ++ mutt_window_add_child(max1, fix1); ++ mutt_window_add_child(root, fix2); ++ ++ window_reflow(root); ++ ++ struct Buffer buf = mutt_buffer_make(1024); ++ win_serialise(root, &buf); ++ TEST_CHECK(strcmp(mutt_b2s(&buf), expected) == 0); ++ TEST_MSG("Expected %s\n", expected); ++ TEST_MSG("Got %s\n", mutt_b2s(&buf)); ++ ++ mutt_buffer_dealloc(&buf); ++ mutt_window_free(&root); ++ } ++ ++ // --------------------------------------------------------------------------- ++ // Vertical tests in a fixed root of 80x24 ++ ++ TEST_CASE("Vertical"); ++ { ++ // Root containing 'fix 20' ++ static const char *expected = ++ ">"; ++ ++ struct MuttWindow *root = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, 24, 80); ++ root->state.rows = root->req_rows; ++ root->state.cols = root->req_cols; ++ ++ struct MuttWindow *fix1 = mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, ++ 20, MUTT_WIN_SIZE_UNLIMITED); ++ fix1->req_rows = 20; ++ ++ mutt_window_add_child(root, fix1); ++ ++ window_reflow(root); ++ ++ struct Buffer buf = mutt_buffer_make(1024); ++ win_serialise(root, &buf); ++ TEST_CHECK(strcmp(mutt_b2s(&buf), expected) == 0); ++ TEST_MSG("Expected %s\n", expected); ++ TEST_MSG("Got %s\n", mutt_b2s(&buf)); ++ ++ mutt_buffer_dealloc(&buf); ++ mutt_window_free(&root); ++ } ++ ++ { ++ // Root containing 'max' ++ static const char *expected = ++ ">"; ++ ++ struct MuttWindow *root = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, 24, 80); ++ root->state.rows = root->req_rows; ++ root->state.cols = root->req_cols; ++ ++ struct MuttWindow *max1 = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ ++ mutt_window_add_child(root, max1); ++ ++ window_reflow(root); ++ ++ struct Buffer buf = mutt_buffer_make(1024); ++ win_serialise(root, &buf); ++ TEST_CHECK(strcmp(mutt_b2s(&buf), expected) == 0); ++ TEST_MSG("Expected %s\n", expected); ++ TEST_MSG("Got %s\n", mutt_b2s(&buf)); ++ ++ mutt_buffer_dealloc(&buf); ++ mutt_window_free(&root); ++ } ++ ++ { ++ // Root containing ('min' containing ('fix 20')) ++ static const char *expected = ++ ">>"; ++ ++ struct MuttWindow *root = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, 24, 80); ++ root->state.rows = root->req_rows; ++ root->state.cols = root->req_cols; ++ ++ struct MuttWindow *min1 = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MINIMISE, 0, 0); ++ ++ struct MuttWindow *fix1 = mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, ++ 20, MUTT_WIN_SIZE_UNLIMITED); ++ fix1->state.rows = fix1->req_rows; ++ fix1->state.cols = fix1->req_cols; ++ ++ mutt_window_add_child(root, min1); ++ mutt_window_add_child(min1, fix1); ++ ++ window_reflow(root); ++ ++ struct Buffer buf = mutt_buffer_make(1024); ++ win_serialise(root, &buf); ++ TEST_CHECK(strcmp(mutt_b2s(&buf), expected) == 0); ++ TEST_MSG("Expected %s\n", expected); ++ TEST_MSG("Got %s\n", mutt_b2s(&buf)); ++ ++ mutt_buffer_dealloc(&buf); ++ mutt_window_free(&root); ++ } ++ ++ { ++ // Root containing ('min' containing ('fix 20' and 'inv')) ++ static const char *expected = ++ ">>"; ++ ++ struct MuttWindow *root = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, 24, 80); ++ root->state.rows = root->req_rows; ++ root->state.cols = root->req_cols; ++ ++ struct MuttWindow *min1 = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MINIMISE, 0, 0); ++ ++ struct MuttWindow *fix1 = mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, ++ 20, MUTT_WIN_SIZE_UNLIMITED); ++ fix1->state.rows = fix1->req_rows; ++ fix1->state.cols = fix1->req_cols; ++ ++ struct MuttWindow *inv1 = mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, ++ 20, MUTT_WIN_SIZE_UNLIMITED); ++ inv1->state.visible = false; ++ ++ mutt_window_add_child(root, min1); ++ mutt_window_add_child(min1, fix1); ++ mutt_window_add_child(min1, inv1); ++ ++ window_reflow(root); ++ ++ struct Buffer buf = mutt_buffer_make(1024); ++ win_serialise(root, &buf); ++ TEST_CHECK(strcmp(mutt_b2s(&buf), expected) == 0); ++ TEST_MSG("Expected %s\n", expected); ++ TEST_MSG("Got %s\n", mutt_b2s(&buf)); ++ ++ mutt_buffer_dealloc(&buf); ++ mutt_window_free(&root); ++ } ++ ++ { ++ // Root containing ('min' containing ('fix 10' and 'fix 5')) ++ static const char *expected = ++ ">>"; ++ ++ struct MuttWindow *root = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, 24, 80); ++ root->state.rows = root->req_rows; ++ root->state.cols = root->req_cols; ++ ++ struct MuttWindow *min1 = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MINIMISE, 0, 0); ++ ++ struct MuttWindow *fix1 = mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, ++ 10, MUTT_WIN_SIZE_UNLIMITED); ++ fix1->state.rows = fix1->req_rows; ++ fix1->state.cols = fix1->req_cols; ++ ++ struct MuttWindow *fix2 = mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, ++ 5, MUTT_WIN_SIZE_UNLIMITED); ++ fix2->state.rows = fix2->req_rows; ++ fix2->state.cols = fix2->req_cols; ++ ++ mutt_window_add_child(root, min1); ++ mutt_window_add_child(min1, fix1); ++ mutt_window_add_child(min1, fix2); ++ ++ window_reflow(root); ++ ++ struct Buffer buf = mutt_buffer_make(1024); ++ win_serialise(root, &buf); ++ TEST_CHECK(strcmp(mutt_b2s(&buf), expected) == 0); ++ TEST_MSG("Expected %s\n", expected); ++ TEST_MSG("Got %s\n", mutt_b2s(&buf)); ++ ++ mutt_buffer_dealloc(&buf); ++ mutt_window_free(&root); ++ } ++ ++ { ++ // Root containing ('fix 10' and 'fix 5') ++ static const char *expected = ++ ">"; ++ ++ struct MuttWindow *root = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, 24, 80); ++ root->state.rows = root->req_rows; ++ root->state.cols = root->req_cols; ++ ++ struct MuttWindow *fix1 = mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, ++ 10, MUTT_WIN_SIZE_UNLIMITED); ++ fix1->state.rows = fix1->req_rows; ++ fix1->state.cols = fix1->req_cols; ++ ++ struct MuttWindow *fix2 = mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, ++ 5, MUTT_WIN_SIZE_UNLIMITED); ++ fix2->state.rows = fix2->req_rows; ++ fix2->state.cols = fix2->req_cols; ++ ++ mutt_window_add_child(root, fix1); ++ mutt_window_add_child(root, fix2); ++ ++ window_reflow(root); ++ ++ struct Buffer buf = mutt_buffer_make(1024); ++ win_serialise(root, &buf); ++ TEST_CHECK(strcmp(mutt_b2s(&buf), expected) == 0); ++ TEST_MSG("Expected %s\n", expected); ++ TEST_MSG("Got %s\n", mutt_b2s(&buf)); ++ ++ mutt_buffer_dealloc(&buf); ++ mutt_window_free(&root); ++ } ++ ++ { ++ // Root containing ('fix 15' and 'max') ++ static const char *expected = ++ ">"; ++ ++ struct MuttWindow *root = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, 24, 80); ++ root->state.rows = root->req_rows; ++ root->state.cols = root->req_cols; ++ ++ struct MuttWindow *fix1 = mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, ++ 15, MUTT_WIN_SIZE_UNLIMITED); ++ fix1->state.rows = fix1->req_rows; ++ fix1->state.cols = fix1->req_cols; ++ ++ struct MuttWindow *max1 = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ ++ mutt_window_add_child(root, fix1); ++ mutt_window_add_child(root, max1); ++ ++ window_reflow(root); ++ ++ struct Buffer buf = mutt_buffer_make(1024); ++ win_serialise(root, &buf); ++ TEST_CHECK(strcmp(mutt_b2s(&buf), expected) == 0); ++ TEST_MSG("Expected %s\n", expected); ++ TEST_MSG("Got %s\n", mutt_b2s(&buf)); ++ ++ mutt_buffer_dealloc(&buf); ++ mutt_window_free(&root); ++ } ++ ++ { ++ // Root containing ('fix 15', 'inv', 'max' and 'inv') ++ static const char *expected = ++ ">"; ++ ++ struct MuttWindow *root = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, 24, 80); ++ root->state.rows = root->req_rows; ++ root->state.cols = root->req_cols; ++ ++ struct MuttWindow *fix1 = mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, ++ 15, MUTT_WIN_SIZE_UNLIMITED); ++ fix1->state.rows = fix1->req_rows; ++ fix1->state.cols = fix1->req_cols; ++ ++ struct MuttWindow *inv1 = mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, ++ 5, MUTT_WIN_SIZE_UNLIMITED); ++ inv1->state.visible = false; ++ ++ struct MuttWindow *max1 = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ ++ struct MuttWindow *inv2 = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ inv2->state.visible = false; ++ ++ mutt_window_add_child(root, fix1); ++ mutt_window_add_child(root, inv1); ++ mutt_window_add_child(root, max1); ++ mutt_window_add_child(root, inv2); ++ ++ window_reflow(root); ++ ++ struct Buffer buf = mutt_buffer_make(1024); ++ win_serialise(root, &buf); ++ TEST_CHECK(strcmp(mutt_b2s(&buf), expected) == 0); ++ TEST_MSG("Expected %s\n", expected); ++ TEST_MSG("Got %s\n", mutt_b2s(&buf)); ++ ++ mutt_buffer_dealloc(&buf); ++ mutt_window_free(&root); ++ } ++ ++ { ++ // Root containing ('max' and 'fix 15') ++ static const char *expected = ++ ">"; ++ ++ struct MuttWindow *root = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, 24, 80); ++ root->state.rows = root->req_rows; ++ root->state.cols = root->req_cols; ++ ++ struct MuttWindow *max1 = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ ++ struct MuttWindow *fix1 = mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, ++ 15, MUTT_WIN_SIZE_UNLIMITED); ++ fix1->state.rows = fix1->req_rows; ++ fix1->state.cols = fix1->req_cols; ++ ++ mutt_window_add_child(root, max1); ++ mutt_window_add_child(root, fix1); ++ ++ window_reflow(root); ++ ++ struct Buffer buf = mutt_buffer_make(1024); ++ win_serialise(root, &buf); ++ TEST_CHECK(strcmp(mutt_b2s(&buf), expected) == 0); ++ TEST_MSG("Expected %s\n", expected); ++ TEST_MSG("Got %s\n", mutt_b2s(&buf)); ++ ++ mutt_buffer_dealloc(&buf); ++ mutt_window_free(&root); ++ } ++ ++ { ++ // Root containing ('max' and 'max') ++ static const char *expected = ">"; ++ ++ struct MuttWindow *root = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, 24, 80); ++ root->state.rows = root->req_rows; ++ root->state.cols = root->req_cols; ++ ++ struct MuttWindow *max1 = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ struct MuttWindow *max2 = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ ++ mutt_window_add_child(root, max1); ++ mutt_window_add_child(root, max2); ++ ++ window_reflow(root); ++ ++ struct Buffer buf = mutt_buffer_make(1024); ++ win_serialise(root, &buf); ++ TEST_CHECK(strcmp(mutt_b2s(&buf), expected) == 0); ++ TEST_MSG("Expected %s\n", expected); ++ TEST_MSG("Got %s\n", mutt_b2s(&buf)); ++ ++ mutt_buffer_dealloc(&buf); ++ mutt_window_free(&root); ++ } ++ ++ { ++ // Root containing ('max', 'max', 'max' and 'max') ++ static const char *expected = ++ ">"; ++ ++ struct MuttWindow *root = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, 24, 80); ++ root->state.rows = root->req_rows; ++ root->state.cols = root->req_cols; ++ ++ struct MuttWindow *max1 = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ struct MuttWindow *max2 = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ struct MuttWindow *max3 = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ struct MuttWindow *max4 = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ ++ mutt_window_add_child(root, max1); ++ mutt_window_add_child(root, max2); ++ mutt_window_add_child(root, max3); ++ mutt_window_add_child(root, max4); ++ ++ window_reflow(root); ++ ++ struct Buffer buf = mutt_buffer_make(1024); ++ win_serialise(root, &buf); ++ TEST_CHECK(strcmp(mutt_b2s(&buf), expected) == 0); ++ TEST_MSG("Expected %s\n", expected); ++ TEST_MSG("Got %s\n", mutt_b2s(&buf)); ++ ++ mutt_buffer_dealloc(&buf); ++ mutt_window_free(&root); ++ } ++ ++ { ++ // Root containing ('fix 10', 'fix 12' and 'fix 15') ++ // Too big to fit on screen ++ static const char *expected = ++ ">"; ++ ++ struct MuttWindow *root = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, 24, 80); ++ root->state.rows = root->req_rows; ++ root->state.cols = root->req_cols; ++ ++ struct MuttWindow *fix1 = mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, ++ 10, MUTT_WIN_SIZE_UNLIMITED); ++ struct MuttWindow *fix2 = mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, ++ 12, MUTT_WIN_SIZE_UNLIMITED); ++ struct MuttWindow *fix3 = mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, ++ 15, MUTT_WIN_SIZE_UNLIMITED); ++ ++ mutt_window_add_child(root, fix1); ++ mutt_window_add_child(root, fix2); ++ mutt_window_add_child(root, fix3); ++ ++ window_reflow(root); ++ ++ struct Buffer buf = mutt_buffer_make(1024); ++ win_serialise(root, &buf); ++ TEST_CHECK(strcmp(mutt_b2s(&buf), expected) == 0); ++ TEST_MSG("Expected %s\n", expected); ++ TEST_MSG("Got %s\n", mutt_b2s(&buf)); ++ ++ mutt_buffer_dealloc(&buf); ++ mutt_window_free(&root); ++ } ++ ++ { ++ // Root containing ('fix 20', 'fix 10' and 'fix 5') ++ // Too big to fit on screen (third is completely offscreen) ++ static const char *expected = ++ ">"; ++ ++ struct MuttWindow *root = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, 24, 80); ++ root->state.rows = root->req_rows; ++ root->state.cols = root->req_cols; ++ ++ struct MuttWindow *fix1 = mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, ++ 20, MUTT_WIN_SIZE_UNLIMITED); ++ struct MuttWindow *fix2 = mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, ++ 10, MUTT_WIN_SIZE_UNLIMITED); ++ struct MuttWindow *fix3 = mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, ++ 5, MUTT_WIN_SIZE_UNLIMITED); ++ ++ mutt_window_add_child(root, fix1); ++ mutt_window_add_child(root, fix2); ++ mutt_window_add_child(root, fix3); ++ ++ window_reflow(root); ++ ++ struct Buffer buf = mutt_buffer_make(1024); ++ win_serialise(root, &buf); ++ TEST_CHECK(strcmp(mutt_b2s(&buf), expected) == 0); ++ TEST_MSG("Expected %s\n", expected); ++ TEST_MSG("Got %s\n", mutt_b2s(&buf)); ++ ++ mutt_buffer_dealloc(&buf); ++ mutt_window_free(&root); ++ } ++ ++ { ++ // Root containing ('fix 15' containing ('fix 5' and 'max') and 'max') ++ static const char *expected = ++ ">>"; ++ ++ struct MuttWindow *root = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, 24, 80); ++ root->state.rows = root->req_rows; ++ root->state.cols = root->req_cols; ++ ++ struct MuttWindow *fix1 = mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, ++ 15, MUTT_WIN_SIZE_UNLIMITED); ++ struct MuttWindow *fix2 = mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, ++ 5, MUTT_WIN_SIZE_UNLIMITED); ++ struct MuttWindow *max1 = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ struct MuttWindow *max2 = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ ++ mutt_window_add_child(root, fix1); ++ mutt_window_add_child(fix1, fix2); ++ mutt_window_add_child(fix1, max1); ++ mutt_window_add_child(root, max2); ++ ++ window_reflow(root); ++ ++ struct Buffer buf = mutt_buffer_make(1024); ++ win_serialise(root, &buf); ++ TEST_CHECK(strcmp(mutt_b2s(&buf), expected) == 0); ++ TEST_MSG("Expected %s\n", expected); ++ TEST_MSG("Got %s\n", mutt_b2s(&buf)); ++ ++ mutt_buffer_dealloc(&buf); ++ mutt_window_free(&root); ++ } ++ ++ { ++ // Root containing ('max' containing ('max' and 'fix 10') and 'fix 12') ++ static const char *expected = ++ ">>"; ++ ++ struct MuttWindow *root = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, 24, 80); ++ root->state.rows = root->req_rows; ++ root->state.cols = root->req_cols; ++ ++ struct MuttWindow *fix1 = mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, ++ 10, MUTT_WIN_SIZE_UNLIMITED); ++ struct MuttWindow *fix2 = mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, ++ 12, MUTT_WIN_SIZE_UNLIMITED); ++ struct MuttWindow *max1 = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ struct MuttWindow *max2 = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ ++ mutt_window_add_child(root, max1); ++ mutt_window_add_child(max1, max2); ++ mutt_window_add_child(max1, fix1); ++ mutt_window_add_child(root, fix2); ++ ++ window_reflow(root); ++ ++ struct Buffer buf = mutt_buffer_make(1024); ++ win_serialise(root, &buf); ++ TEST_CHECK(strcmp(mutt_b2s(&buf), expected) == 0); ++ TEST_MSG("Expected %s\n", expected); ++ TEST_MSG("Got %s\n", mutt_b2s(&buf)); ++ ++ mutt_buffer_dealloc(&buf); ++ mutt_window_free(&root); ++ } ++ ++ { ++ // Root containing ('fix 15' containing ('max' and 'fix 10') and 'max') ++ static const char *expected = ++ ">>"; ++ ++ struct MuttWindow *root = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, 24, 80); ++ root->state.rows = root->req_rows; ++ root->state.cols = root->req_cols; ++ ++ struct MuttWindow *fix1 = mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, ++ 15, MUTT_WIN_SIZE_UNLIMITED); ++ struct MuttWindow *fix2 = mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, ++ 10, MUTT_WIN_SIZE_UNLIMITED); ++ struct MuttWindow *max1 = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ struct MuttWindow *max2 = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ ++ mutt_window_add_child(root, fix1); ++ mutt_window_add_child(fix1, max1); ++ mutt_window_add_child(fix1, fix2); ++ mutt_window_add_child(root, max2); ++ ++ window_reflow(root); ++ ++ struct Buffer buf = mutt_buffer_make(1024); ++ win_serialise(root, &buf); ++ TEST_CHECK(strcmp(mutt_b2s(&buf), expected) == 0); ++ TEST_MSG("Expected %s\n", expected); ++ TEST_MSG("Got %s\n", mutt_b2s(&buf)); ++ ++ mutt_buffer_dealloc(&buf); ++ mutt_window_free(&root); ++ } ++ ++ { ++ // Root containing ('max' containing ('max' and 'fix 10') and 'fix 5') ++ static const char *expected = ++ ">>"; ++ ++ struct MuttWindow *root = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, 24, 80); ++ root->state.rows = root->req_rows; ++ root->state.cols = root->req_cols; ++ ++ struct MuttWindow *fix1 = mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, ++ 10, MUTT_WIN_SIZE_UNLIMITED); ++ struct MuttWindow *fix2 = mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, ++ 5, MUTT_WIN_SIZE_UNLIMITED); ++ struct MuttWindow *max1 = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ struct MuttWindow *max2 = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ ++ mutt_window_add_child(root, max1); ++ mutt_window_add_child(max1, max2); ++ mutt_window_add_child(max1, fix1); ++ mutt_window_add_child(root, fix2); ++ ++ window_reflow(root); ++ ++ struct Buffer buf = mutt_buffer_make(1024); ++ win_serialise(root, &buf); ++ TEST_CHECK(strcmp(mutt_b2s(&buf), expected) == 0); ++ TEST_MSG("Expected %s\n", expected); ++ TEST_MSG("Got %s\n", mutt_b2s(&buf)); ++ ++ mutt_buffer_dealloc(&buf); ++ mutt_window_free(&root); ++ } ++ ++ // --------------------------------------------------------------------------- ++ // Index/Pager test in a fixed root of 80x24 ++ TEST_CASE("Index/Pager"); ++ { ++ // (help, sidebar, pager_index_lines visible, status_on_top=no) ++ static const char *expected = ++ ">>>>>>"; ++ ++ struct MuttWindow *root = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, 24, 80); ++ root->state.rows = root->req_rows; ++ root->state.cols = root->req_cols; ++ ++ struct MuttWindow *help = mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, ++ 1, MUTT_WIN_SIZE_UNLIMITED); ++ struct MuttWindow *all_dialogs = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ struct MuttWindow *message = mutt_window_new( ++ MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, 1, MUTT_WIN_SIZE_UNLIMITED); ++ ++ mutt_window_add_child(root, help); ++ mutt_window_add_child(root, all_dialogs); ++ mutt_window_add_child(root, message); ++ ++ struct MuttWindow *index_dlg = ++ mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ struct MuttWindow *sidebar = mutt_window_new(MUTT_WIN_ORIENT_HORIZONTAL, MUTT_WIN_SIZE_FIXED, ++ MUTT_WIN_SIZE_UNLIMITED, 15); ++ struct MuttWindow *right_cont = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ ++ mutt_window_add_child(all_dialogs, index_dlg); ++ mutt_window_add_child(index_dlg, sidebar); ++ mutt_window_add_child(index_dlg, right_cont); ++ ++ struct MuttWindow *index_panel = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MINIMISE, 0, 0); ++ struct MuttWindow *index = mutt_window_new( ++ MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, 5, MUTT_WIN_SIZE_UNLIMITED); ++ struct MuttWindow *index_bar = mutt_window_new( ++ MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, 1, MUTT_WIN_SIZE_UNLIMITED); ++ ++ mutt_window_add_child(index_panel, index); ++ mutt_window_add_child(index_panel, index_bar); ++ ++ struct MuttWindow *pager_panel = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ struct MuttWindow *pager = ++ mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, ++ MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED); ++ struct MuttWindow *pager_bar = mutt_window_new( ++ MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, 1, MUTT_WIN_SIZE_UNLIMITED); ++ ++ mutt_window_add_child(pager_panel, pager); ++ mutt_window_add_child(pager_panel, pager_bar); ++ ++ mutt_window_add_child(right_cont, index_panel); ++ mutt_window_add_child(right_cont, pager_panel); ++ ++ window_reflow(root); ++ ++ struct Buffer buf = mutt_buffer_make(1024); ++ win_serialise(root, &buf); ++ TEST_CHECK(strcmp(mutt_b2s(&buf), expected) == 0); ++ TEST_MSG("Expected %s\n", expected); ++ TEST_MSG("Got %s\n", mutt_b2s(&buf)); ++ ++ mutt_buffer_dealloc(&buf); ++ mutt_window_free(&root); ++ } ++} +diff --git a/test/hash/mutt_hash_delete.c b/test/hash/mutt_hash_delete.c +index 5d9c8165f..92b5a0991 100644 +--- a/test/hash/mutt_hash_delete.c ++++ b/test/hash/mutt_hash_delete.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_hash_delete(void) + { +diff --git a/test/hash/mutt_hash_find.c b/test/hash/mutt_hash_find.c +index f99b4e050..5aa9af228 100644 +--- a/test/hash/mutt_hash_find.c ++++ b/test/hash/mutt_hash_find.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_hash_find(void) + { +diff --git a/test/hash/mutt_hash_find_bucket.c b/test/hash/mutt_hash_find_bucket.c +index bd1c866cc..6fe13f8e0 100644 +--- a/test/hash/mutt_hash_find_bucket.c ++++ b/test/hash/mutt_hash_find_bucket.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_hash_find_bucket(void) + { +diff --git a/test/hash/mutt_hash_find_elem.c b/test/hash/mutt_hash_find_elem.c +index 9ed37f264..63fb8aca4 100644 +--- a/test/hash/mutt_hash_find_elem.c ++++ b/test/hash/mutt_hash_find_elem.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_hash_find_elem(void) + { +diff --git a/test/hash/mutt_hash_free.c b/test/hash/mutt_hash_free.c +index 9abc34e5c..4523fc962 100644 +--- a/test/hash/mutt_hash_free.c ++++ b/test/hash/mutt_hash_free.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_hash_free(void) + { +diff --git a/test/hash/mutt_hash_insert.c b/test/hash/mutt_hash_insert.c +index 0416859d1..86b55b2d6 100644 +--- a/test/hash/mutt_hash_insert.c ++++ b/test/hash/mutt_hash_insert.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_hash_insert(void) + { +diff --git a/test/hash/mutt_hash_int_delete.c b/test/hash/mutt_hash_int_delete.c +index 1af3dd65b..37736eaf0 100644 +--- a/test/hash/mutt_hash_int_delete.c ++++ b/test/hash/mutt_hash_int_delete.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_hash_int_delete(void) + { +diff --git a/test/hash/mutt_hash_int_find.c b/test/hash/mutt_hash_int_find.c +index 0f494a2c0..dd9760039 100644 +--- a/test/hash/mutt_hash_int_find.c ++++ b/test/hash/mutt_hash_int_find.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_hash_int_find(void) + { +diff --git a/test/hash/mutt_hash_int_insert.c b/test/hash/mutt_hash_int_insert.c +index 5ce8dd514..933e24f41 100644 +--- a/test/hash/mutt_hash_int_insert.c ++++ b/test/hash/mutt_hash_int_insert.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_hash_int_insert(void) + { +diff --git a/test/hash/mutt_hash_int_new.c b/test/hash/mutt_hash_int_new.c +index f0885df01..71ab5fa18 100644 +--- a/test/hash/mutt_hash_int_new.c ++++ b/test/hash/mutt_hash_int_new.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_hash_int_new(void) + { +diff --git a/test/hash/mutt_hash_new.c b/test/hash/mutt_hash_new.c +index ed4bd6aa4..552345015 100644 +--- a/test/hash/mutt_hash_new.c ++++ b/test/hash/mutt_hash_new.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_hash_new(void) + { +diff --git a/test/hash/mutt_hash_set_destructor.c b/test/hash/mutt_hash_set_destructor.c +index a10f6e311..b6a7f0694 100644 +--- a/test/hash/mutt_hash_set_destructor.c ++++ b/test/hash/mutt_hash_set_destructor.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void dummy_hash_free(int type, void *obj, intptr_t data) + { +diff --git a/test/hash/mutt_hash_typed_insert.c b/test/hash/mutt_hash_typed_insert.c +index a80a0e06f..09b5ba207 100644 +--- a/test/hash/mutt_hash_typed_insert.c ++++ b/test/hash/mutt_hash_typed_insert.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_hash_typed_insert(void) + { +diff --git a/test/hash/mutt_hash_walk.c b/test/hash/mutt_hash_walk.c +index d640534a6..574807af7 100644 +--- a/test/hash/mutt_hash_walk.c ++++ b/test/hash/mutt_hash_walk.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_hash_walk(void) + { +diff --git a/test/history/mutt_hist_add.c b/test/history/mutt_hist_add.c +index 0cd67f7c0..8aa48c881 100644 +--- a/test/history/mutt_hist_add.c ++++ b/test/history/mutt_hist_add.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_hist_add(void) + { +diff --git a/test/history/mutt_hist_at_scratch.c b/test/history/mutt_hist_at_scratch.c +index bd3d78264..f3b02d1b3 100644 +--- a/test/history/mutt_hist_at_scratch.c ++++ b/test/history/mutt_hist_at_scratch.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_hist_at_scratch(void) + { +diff --git a/test/history/mutt_hist_free.c b/test/history/mutt_hist_free.c +index cf957be23..d7c82ac67 100644 +--- a/test/history/mutt_hist_free.c ++++ b/test/history/mutt_hist_free.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_hist_free(void) + { +diff --git a/test/history/mutt_hist_init.c b/test/history/mutt_hist_init.c +index 61540da31..1891d8623 100644 +--- a/test/history/mutt_hist_init.c ++++ b/test/history/mutt_hist_init.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_hist_init(void) + { +diff --git a/test/history/mutt_hist_next.c b/test/history/mutt_hist_next.c +index b7be3d19f..e083352dc 100644 +--- a/test/history/mutt_hist_next.c ++++ b/test/history/mutt_hist_next.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_hist_next(void) + { +diff --git a/test/history/mutt_hist_prev.c b/test/history/mutt_hist_prev.c +index c9d290ba1..8f4232b53 100644 +--- a/test/history/mutt_hist_prev.c ++++ b/test/history/mutt_hist_prev.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_hist_prev(void) + { +diff --git a/test/history/mutt_hist_read_file.c b/test/history/mutt_hist_read_file.c +index 07a397ed1..68179e8d9 100644 +--- a/test/history/mutt_hist_read_file.c ++++ b/test/history/mutt_hist_read_file.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_hist_read_file(void) + { +diff --git a/test/history/mutt_hist_reset_state.c b/test/history/mutt_hist_reset_state.c +index ffd5b57ac..ade91ccb9 100644 +--- a/test/history/mutt_hist_reset_state.c ++++ b/test/history/mutt_hist_reset_state.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_hist_reset_state(void) + { +diff --git a/test/history/mutt_hist_save_scratch.c b/test/history/mutt_hist_save_scratch.c +index f37659e39..56f0f350a 100644 +--- a/test/history/mutt_hist_save_scratch.c ++++ b/test/history/mutt_hist_save_scratch.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_hist_save_scratch(void) + { +diff --git a/test/history/mutt_hist_search.c b/test/history/mutt_hist_search.c +index a0672f50c..7c001a03a 100644 +--- a/test/history/mutt_hist_search.c ++++ b/test/history/mutt_hist_search.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_hist_search(void) + { +diff --git a/test/idna/mutt_idna_intl_to_local.c b/test/idna/mutt_idna_intl_to_local.c +index bd41e7c80..9a7833eeb 100644 +--- a/test/idna/mutt_idna_intl_to_local.c ++++ b/test/idna/mutt_idna_intl_to_local.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + + void test_mutt_idna_intl_to_local(void) +diff --git a/test/idna/mutt_idna_local_to_intl.c b/test/idna/mutt_idna_local_to_intl.c +index 342f49f5e..58f2e3dc6 100644 +--- a/test/idna/mutt_idna_local_to_intl.c ++++ b/test/idna/mutt_idna_local_to_intl.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + + void test_mutt_idna_local_to_intl(void) +diff --git a/test/idna/mutt_idna_print_version.c b/test/idna/mutt_idna_print_version.c +index e296ed9a2..d4c95f465 100644 +--- a/test/idna/mutt_idna_print_version.c ++++ b/test/idna/mutt_idna_print_version.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + + void test_mutt_idna_print_version(void) +diff --git a/test/idna/mutt_idna_to_ascii_lz.c b/test/idna/mutt_idna_to_ascii_lz.c +index 3abf7f644..51373a4e7 100644 +--- a/test/idna/mutt_idna_to_ascii_lz.c ++++ b/test/idna/mutt_idna_to_ascii_lz.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + + void test_mutt_idna_to_ascii_lz(void) +diff --git a/test/list/common.c b/test/list/common.c +index 3e0fba124..e26c6a36f 100644 +--- a/test/list/common.c ++++ b/test/list/common.c +@@ -22,7 +22,7 @@ + + #include "config.h" + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + struct ListHead test_list_create(const char *items[], bool copy) + { +diff --git a/test/list/common.h b/test/list/common.h +index 6583b37d4..f0d60e39a 100644 +--- a/test/list/common.h ++++ b/test/list/common.h +@@ -24,7 +24,7 @@ + #define TEST_LIST_COMMON_H + + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + struct ListHead test_list_create(const char *items[], bool copy); + +diff --git a/test/list/mutt_list_clear.c b/test/list/mutt_list_clear.c +index 86ba541b1..77e69d455 100644 +--- a/test/list/mutt_list_clear.c ++++ b/test/list/mutt_list_clear.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "common.h" + + void test_mutt_list_clear(void) +diff --git a/test/list/mutt_list_compare.c b/test/list/mutt_list_compare.c +index df9ae5130..11ffe3c28 100644 +--- a/test/list/mutt_list_compare.c ++++ b/test/list/mutt_list_compare.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "common.h" + + void test_mutt_list_compare(void) +diff --git a/test/list/mutt_list_find.c b/test/list/mutt_list_find.c +index 5038ca10c..7caec94bc 100644 +--- a/test/list/mutt_list_find.c ++++ b/test/list/mutt_list_find.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "common.h" + + void test_mutt_list_find(void) +diff --git a/test/list/mutt_list_free.c b/test/list/mutt_list_free.c +index ebc98ff85..72fd1c8b9 100644 +--- a/test/list/mutt_list_free.c ++++ b/test/list/mutt_list_free.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "common.h" + + void test_mutt_list_free(void) +diff --git a/test/list/mutt_list_free_type.c b/test/list/mutt_list_free_type.c +index ebeea6b5e..401f79524 100644 +--- a/test/list/mutt_list_free_type.c ++++ b/test/list/mutt_list_free_type.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "common.h" + + void test_list_free(void **ptr) +diff --git a/test/list/mutt_list_insert_after.c b/test/list/mutt_list_insert_after.c +index f198a1996..d265d5076 100644 +--- a/test/list/mutt_list_insert_after.c ++++ b/test/list/mutt_list_insert_after.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "common.h" + + void test_mutt_list_insert_after(void) +diff --git a/test/list/mutt_list_insert_head.c b/test/list/mutt_list_insert_head.c +index 1590f5118..39da466b3 100644 +--- a/test/list/mutt_list_insert_head.c ++++ b/test/list/mutt_list_insert_head.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "common.h" + + void test_mutt_list_insert_head(void) +diff --git a/test/list/mutt_list_insert_tail.c b/test/list/mutt_list_insert_tail.c +index fcab59e3d..983abcabd 100644 +--- a/test/list/mutt_list_insert_tail.c ++++ b/test/list/mutt_list_insert_tail.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "common.h" + + void test_mutt_list_insert_tail(void) +diff --git a/test/list/mutt_list_match.c b/test/list/mutt_list_match.c +index a6cd56413..319cc6f16 100644 +--- a/test/list/mutt_list_match.c ++++ b/test/list/mutt_list_match.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "common.h" + + void test_mutt_list_match(void) +diff --git a/test/list/mutt_list_str_split.c b/test/list/mutt_list_str_split.c +index a53a6d5df..f8cda2dd0 100644 +--- a/test/list/mutt_list_str_split.c ++++ b/test/list/mutt_list_str_split.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void print_compared_list(struct ListHead expected, struct ListHead actual) + { +diff --git a/test/logging/log_disp_file.c b/test/logging/log_disp_file.c +index 6c83e3437..bff7b5937 100644 +--- a/test/logging/log_disp_file.c ++++ b/test/logging/log_disp_file.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_log_disp_file(void) + { +diff --git a/test/logging/log_disp_queue.c b/test/logging/log_disp_queue.c +index c98f1d2f8..ec36752b0 100644 +--- a/test/logging/log_disp_queue.c ++++ b/test/logging/log_disp_queue.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_log_disp_queue(void) + { +diff --git a/test/logging/log_disp_terminal.c b/test/logging/log_disp_terminal.c +index 60cd33152..67316cf70 100644 +--- a/test/logging/log_disp_terminal.c ++++ b/test/logging/log_disp_terminal.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_log_disp_terminal(void) + { +diff --git a/test/logging/log_file_close.c b/test/logging/log_file_close.c +index 8a2d108c7..768576333 100644 +--- a/test/logging/log_file_close.c ++++ b/test/logging/log_file_close.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_log_file_close(void) + { +diff --git a/test/logging/log_file_open.c b/test/logging/log_file_open.c +index e279c19c4..8c9b8599e 100644 +--- a/test/logging/log_file_open.c ++++ b/test/logging/log_file_open.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_log_file_open(void) + { +diff --git a/test/logging/log_file_running.c b/test/logging/log_file_running.c +index 8f3ad5168..5684e7098 100644 +--- a/test/logging/log_file_running.c ++++ b/test/logging/log_file_running.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_log_file_running(void) + { +diff --git a/test/logging/log_file_set_filename.c b/test/logging/log_file_set_filename.c +index 44e88a4a6..a23ff6529 100644 +--- a/test/logging/log_file_set_filename.c ++++ b/test/logging/log_file_set_filename.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_log_file_set_filename(void) + { +diff --git a/test/logging/log_file_set_level.c b/test/logging/log_file_set_level.c +index 3fc584165..414a536b3 100644 +--- a/test/logging/log_file_set_level.c ++++ b/test/logging/log_file_set_level.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_log_file_set_level(void) + { +diff --git a/test/logging/log_file_set_version.c b/test/logging/log_file_set_version.c +index 71ea04586..58983d8cc 100644 +--- a/test/logging/log_file_set_version.c ++++ b/test/logging/log_file_set_version.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_log_file_set_version(void) + { +diff --git a/test/logging/log_queue_add.c b/test/logging/log_queue_add.c +index eb23e4dd9..b06a15fe7 100644 +--- a/test/logging/log_queue_add.c ++++ b/test/logging/log_queue_add.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_log_queue_add(void) + { +diff --git a/test/logging/log_queue_empty.c b/test/logging/log_queue_empty.c +index a02eb2147..99a673961 100644 +--- a/test/logging/log_queue_empty.c ++++ b/test/logging/log_queue_empty.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_log_queue_empty(void) + { +diff --git a/test/logging/log_queue_flush.c b/test/logging/log_queue_flush.c +index 7c7a9ff4a..b79d641d3 100644 +--- a/test/logging/log_queue_flush.c ++++ b/test/logging/log_queue_flush.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_log_queue_flush(void) + { +diff --git a/test/logging/log_queue_save.c b/test/logging/log_queue_save.c +index bedd7e77b..e968b2dbb 100644 +--- a/test/logging/log_queue_save.c ++++ b/test/logging/log_queue_save.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_log_queue_save(void) + { +diff --git a/test/logging/log_queue_set_max_size.c b/test/logging/log_queue_set_max_size.c +index 276f9dea0..e8d056658 100644 +--- a/test/logging/log_queue_set_max_size.c ++++ b/test/logging/log_queue_set_max_size.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_log_queue_set_max_size(void) + { +diff --git a/test/main.c b/test/main.c +index 71d0a110a..e534eec9d 100644 +--- a/test/main.c ++++ b/test/main.c +@@ -101,6 +101,7 @@ + NEOMUTT_TEST_ITEM(test_mutt_ch_lookup_remove) \ + NEOMUTT_TEST_ITEM(test_mutt_ch_set_charset) \ + NEOMUTT_TEST_ITEM(config_set) \ ++ NEOMUTT_TEST_ITEM(config_subset) \ + NEOMUTT_TEST_ITEM(config_account) \ + NEOMUTT_TEST_ITEM(config_initial) \ + NEOMUTT_TEST_ITEM(config_synonym) \ +@@ -110,6 +111,7 @@ + NEOMUTT_TEST_ITEM(config_long) \ + NEOMUTT_TEST_ITEM(config_mbtable) \ + NEOMUTT_TEST_ITEM(config_number) \ ++ NEOMUTT_TEST_ITEM(config_path) \ + NEOMUTT_TEST_ITEM(config_quad) \ + NEOMUTT_TEST_ITEM(config_regex) \ + NEOMUTT_TEST_ITEM(config_slist) \ +@@ -403,7 +405,8 @@ + NEOMUTT_TEST_ITEM(test_url_pct_decode) \ + NEOMUTT_TEST_ITEM(test_url_pct_encode) \ + NEOMUTT_TEST_ITEM(test_url_tobuffer) \ +- NEOMUTT_TEST_ITEM(test_url_tostring) ++ NEOMUTT_TEST_ITEM(test_url_tostring) \ ++ NEOMUTT_TEST_ITEM(test_window_reflow) + + /****************************************************************************** + * You probably don't need to touch what follows. +diff --git a/test/mapping/mutt_map_get_name.c b/test/mapping/mutt_map_get_name.c +index 3f27ba7d0..cf1a2f8b1 100644 +--- a/test/mapping/mutt_map_get_name.c ++++ b/test/mapping/mutt_map_get_name.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_map_get_name(void) + { +diff --git a/test/mapping/mutt_map_get_value.c b/test/mapping/mutt_map_get_value.c +index 7e1cac6a8..fea7b5002 100644 +--- a/test/mapping/mutt_map_get_value.c ++++ b/test/mapping/mutt_map_get_value.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_map_get_value(void) + { +diff --git a/test/mbyte/mutt_mb_charlen.c b/test/mbyte/mutt_mb_charlen.c +index 7165029e3..d21d1594b 100644 +--- a/test/mbyte/mutt_mb_charlen.c ++++ b/test/mbyte/mutt_mb_charlen.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_mb_charlen(void) + { +diff --git a/test/mbyte/mutt_mb_filter_unprintable.c b/test/mbyte/mutt_mb_filter_unprintable.c +index 837effba1..646b7f4de 100644 +--- a/test/mbyte/mutt_mb_filter_unprintable.c ++++ b/test/mbyte/mutt_mb_filter_unprintable.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_mb_filter_unprintable(void) + { +diff --git a/test/mbyte/mutt_mb_get_initials.c b/test/mbyte/mutt_mb_get_initials.c +index da520d567..77750acf9 100644 +--- a/test/mbyte/mutt_mb_get_initials.c ++++ b/test/mbyte/mutt_mb_get_initials.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_mb_get_initials(void) + { +diff --git a/test/mbyte/mutt_mb_is_display_corrupting_utf8.c b/test/mbyte/mutt_mb_is_display_corrupting_utf8.c +index 4f31af5c2..e4f17fd74 100644 +--- a/test/mbyte/mutt_mb_is_display_corrupting_utf8.c ++++ b/test/mbyte/mutt_mb_is_display_corrupting_utf8.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_mb_is_display_corrupting_utf8(void) + { +diff --git a/test/mbyte/mutt_mb_is_lower.c b/test/mbyte/mutt_mb_is_lower.c +index 7be1e6153..0e2dfbb86 100644 +--- a/test/mbyte/mutt_mb_is_lower.c ++++ b/test/mbyte/mutt_mb_is_lower.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_mb_is_lower(void) + { +diff --git a/test/mbyte/mutt_mb_is_shell_char.c b/test/mbyte/mutt_mb_is_shell_char.c +index ca81e1e78..f2eedde42 100644 +--- a/test/mbyte/mutt_mb_is_shell_char.c ++++ b/test/mbyte/mutt_mb_is_shell_char.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_mb_is_shell_char(void) + { +diff --git a/test/mbyte/mutt_mb_mbstowcs.c b/test/mbyte/mutt_mb_mbstowcs.c +index ed95022bd..1e4411bdf 100644 +--- a/test/mbyte/mutt_mb_mbstowcs.c ++++ b/test/mbyte/mutt_mb_mbstowcs.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_mb_mbstowcs(void) + { +diff --git a/test/mbyte/mutt_mb_wcstombs.c b/test/mbyte/mutt_mb_wcstombs.c +index ed7ce0fa5..419400bab 100644 +--- a/test/mbyte/mutt_mb_wcstombs.c ++++ b/test/mbyte/mutt_mb_wcstombs.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_mb_wcstombs(void) + { +diff --git a/test/mbyte/mutt_mb_wcswidth.c b/test/mbyte/mutt_mb_wcswidth.c +index d378bb31a..b122156f0 100644 +--- a/test/mbyte/mutt_mb_wcswidth.c ++++ b/test/mbyte/mutt_mb_wcswidth.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_mb_wcswidth(void) + { +diff --git a/test/mbyte/mutt_mb_wcwidth.c b/test/mbyte/mutt_mb_wcwidth.c +index bf1d02e28..0071e6f55 100644 +--- a/test/mbyte/mutt_mb_wcwidth.c ++++ b/test/mbyte/mutt_mb_wcwidth.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_mb_wcwidth(void) + { +diff --git a/test/mbyte/mutt_mb_width.c b/test/mbyte/mutt_mb_width.c +index 65c5d6083..f84b748c6 100644 +--- a/test/mbyte/mutt_mb_width.c ++++ b/test/mbyte/mutt_mb_width.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_mb_width(void) + { +diff --git a/test/mbyte/mutt_mb_width_ceiling.c b/test/mbyte/mutt_mb_width_ceiling.c +index 3590ed6c2..e3083ace0 100644 +--- a/test/mbyte/mutt_mb_width_ceiling.c ++++ b/test/mbyte/mutt_mb_width_ceiling.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_mb_width_ceiling(void) + { +diff --git a/test/md5/common.c b/test/md5/common.c +index ebc980fb8..85b067223 100644 +--- a/test/md5/common.c ++++ b/test/md5/common.c +@@ -22,7 +22,7 @@ + + #define TEST_NO_MAIN + #include "acutest.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "common.h" + + // clang-format off +diff --git a/test/md5/common.h b/test/md5/common.h +index bf4835b77..7c63ecc51 100644 +--- a/test/md5/common.h ++++ b/test/md5/common.h +@@ -25,7 +25,7 @@ + + #define TEST_NO_MAIN + #include "acutest.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + struct Md5TestData + { +diff --git a/test/md5/mutt_md5.c b/test/md5/mutt_md5.c +index b42e1b09d..5a6b5a36b 100644 +--- a/test/md5/mutt_md5.c ++++ b/test/md5/mutt_md5.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "common.h" + + void test_mutt_md5(void) +diff --git a/test/md5/mutt_md5_bytes.c b/test/md5/mutt_md5_bytes.c +index 2c1aa3202..8c21b131d 100644 +--- a/test/md5/mutt_md5_bytes.c ++++ b/test/md5/mutt_md5_bytes.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "common.h" + + void test_mutt_md5_bytes(void) +diff --git a/test/md5/mutt_md5_finish_ctx.c b/test/md5/mutt_md5_finish_ctx.c +index d05e9ecfb..78a755a22 100644 +--- a/test/md5/mutt_md5_finish_ctx.c ++++ b/test/md5/mutt_md5_finish_ctx.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_md5_finish_ctx(void) + { +diff --git a/test/md5/mutt_md5_init_ctx.c b/test/md5/mutt_md5_init_ctx.c +index 8d5ada8e5..ab74175de 100644 +--- a/test/md5/mutt_md5_init_ctx.c ++++ b/test/md5/mutt_md5_init_ctx.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "common.h" + + void test_mutt_md5_init_ctx(void) +diff --git a/test/md5/mutt_md5_process.c b/test/md5/mutt_md5_process.c +index 93fd56bbd..ece188ad4 100644 +--- a/test/md5/mutt_md5_process.c ++++ b/test/md5/mutt_md5_process.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_md5_process(void) + { +diff --git a/test/md5/mutt_md5_process_bytes.c b/test/md5/mutt_md5_process_bytes.c +index 06e75c294..c3709a6db 100644 +--- a/test/md5/mutt_md5_process_bytes.c ++++ b/test/md5/mutt_md5_process_bytes.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_md5_process_bytes(void) + { +diff --git a/test/md5/mutt_md5_toascii.c b/test/md5/mutt_md5_toascii.c +index 50b06994b..48ac27357 100644 +--- a/test/md5/mutt_md5_toascii.c ++++ b/test/md5/mutt_md5_toascii.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_md5_toascii(void) + { +diff --git a/test/memory/mutt_mem_calloc.c b/test/memory/mutt_mem_calloc.c +index 16da6467a..11ccabd10 100644 +--- a/test/memory/mutt_mem_calloc.c ++++ b/test/memory/mutt_mem_calloc.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_mem_calloc(void) + { +diff --git a/test/memory/mutt_mem_free.c b/test/memory/mutt_mem_free.c +index d31182ada..808441285 100644 +--- a/test/memory/mutt_mem_free.c ++++ b/test/memory/mutt_mem_free.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_mem_free(void) + { +diff --git a/test/memory/mutt_mem_malloc.c b/test/memory/mutt_mem_malloc.c +index 5252f8eb6..338f048e2 100644 +--- a/test/memory/mutt_mem_malloc.c ++++ b/test/memory/mutt_mem_malloc.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_mem_malloc(void) + { +diff --git a/test/memory/mutt_mem_realloc.c b/test/memory/mutt_mem_realloc.c +index 7e3afbdc1..f777f3636 100644 +--- a/test/memory/mutt_mem_realloc.c ++++ b/test/memory/mutt_mem_realloc.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_mem_realloc(void) + { +diff --git a/test/parameter/mutt_param_cmp_strict.c b/test/parameter/mutt_param_cmp_strict.c +index 71ec40bc2..ae470fe1c 100644 +--- a/test/parameter/mutt_param_cmp_strict.c ++++ b/test/parameter/mutt_param_cmp_strict.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/parameter/mutt_param_delete.c b/test/parameter/mutt_param_delete.c +index eabaa6b35..d1bb6b3df 100644 +--- a/test/parameter/mutt_param_delete.c ++++ b/test/parameter/mutt_param_delete.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/parameter/mutt_param_free.c b/test/parameter/mutt_param_free.c +index 567057db4..00bd62ffd 100644 +--- a/test/parameter/mutt_param_free.c ++++ b/test/parameter/mutt_param_free.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/parameter/mutt_param_free_one.c b/test/parameter/mutt_param_free_one.c +index e6b9b0557..060dfb052 100644 +--- a/test/parameter/mutt_param_free_one.c ++++ b/test/parameter/mutt_param_free_one.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/parameter/mutt_param_get.c b/test/parameter/mutt_param_get.c +index b82536be8..e686d935e 100644 +--- a/test/parameter/mutt_param_get.c ++++ b/test/parameter/mutt_param_get.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/parameter/mutt_param_new.c b/test/parameter/mutt_param_new.c +index 810372c3c..725251a72 100644 +--- a/test/parameter/mutt_param_new.c ++++ b/test/parameter/mutt_param_new.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/parameter/mutt_param_set.c b/test/parameter/mutt_param_set.c +index 80ec11831..2393ebae8 100644 +--- a/test/parameter/mutt_param_set.c ++++ b/test/parameter/mutt_param_set.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/parse/mutt_auto_subscribe.c b/test/parse/mutt_auto_subscribe.c +index b338c3bcf..d05ed8162 100644 +--- a/test/parse/mutt_auto_subscribe.c ++++ b/test/parse/mutt_auto_subscribe.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/parse/mutt_check_encoding.c b/test/parse/mutt_check_encoding.c +index 3b765aad6..b08689f3e 100644 +--- a/test/parse/mutt_check_encoding.c ++++ b/test/parse/mutt_check_encoding.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/parse/mutt_check_mime_type.c b/test/parse/mutt_check_mime_type.c +index a6f3cc327..a3918e3a4 100644 +--- a/test/parse/mutt_check_mime_type.c ++++ b/test/parse/mutt_check_mime_type.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/parse/mutt_extract_message_id.c b/test/parse/mutt_extract_message_id.c +index 35eb4df1e..1957ebac2 100644 +--- a/test/parse/mutt_extract_message_id.c ++++ b/test/parse/mutt_extract_message_id.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/parse/mutt_is_message_type.c b/test/parse/mutt_is_message_type.c +index 4cda1b811..99dd9df8c 100644 +--- a/test/parse/mutt_is_message_type.c ++++ b/test/parse/mutt_is_message_type.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/parse/mutt_matches_ignore.c b/test/parse/mutt_matches_ignore.c +index e54ae4499..6049f8362 100644 +--- a/test/parse/mutt_matches_ignore.c ++++ b/test/parse/mutt_matches_ignore.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/parse/mutt_parse_content_type.c b/test/parse/mutt_parse_content_type.c +index 22fb9cd80..6f37b9c24 100644 +--- a/test/parse/mutt_parse_content_type.c ++++ b/test/parse/mutt_parse_content_type.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/parse/mutt_parse_mailto.c b/test/parse/mutt_parse_mailto.c +index 2b62a2944..d99d25f6d 100644 +--- a/test/parse/mutt_parse_mailto.c ++++ b/test/parse/mutt_parse_mailto.c +@@ -24,7 +24,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/parse/mutt_parse_multipart.c b/test/parse/mutt_parse_multipart.c +index 18d62a345..9739dea07 100644 +--- a/test/parse/mutt_parse_multipart.c ++++ b/test/parse/mutt_parse_multipart.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/parse/mutt_parse_part.c b/test/parse/mutt_parse_part.c +index f2d3ba9dc..09b55bc10 100644 +--- a/test/parse/mutt_parse_part.c ++++ b/test/parse/mutt_parse_part.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/parse/mutt_read_mime_header.c b/test/parse/mutt_read_mime_header.c +index a23c29470..c91a129df 100644 +--- a/test/parse/mutt_read_mime_header.c ++++ b/test/parse/mutt_read_mime_header.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/parse/mutt_rfc822_parse_line.c b/test/parse/mutt_rfc822_parse_line.c +index 58246f605..654174929 100644 +--- a/test/parse/mutt_rfc822_parse_line.c ++++ b/test/parse/mutt_rfc822_parse_line.c +@@ -24,7 +24,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/parse/mutt_rfc822_parse_message.c b/test/parse/mutt_rfc822_parse_message.c +index 76a6ba2ac..802c329da 100644 +--- a/test/parse/mutt_rfc822_parse_message.c ++++ b/test/parse/mutt_rfc822_parse_message.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/parse/mutt_rfc822_read_header.c b/test/parse/mutt_rfc822_read_header.c +index ae324d938..14c5aa57c 100644 +--- a/test/parse/mutt_rfc822_read_header.c ++++ b/test/parse/mutt_rfc822_read_header.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/parse/mutt_rfc822_read_line.c b/test/parse/mutt_rfc822_read_line.c +index 5f00f0b1f..d295faff3 100644 +--- a/test/parse/mutt_rfc822_read_line.c ++++ b/test/parse/mutt_rfc822_read_line.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/path/mutt_path_abbr_folder.c b/test/path/mutt_path_abbr_folder.c +index 9a05439ae..38f980d84 100644 +--- a/test/path/mutt_path_abbr_folder.c ++++ b/test/path/mutt_path_abbr_folder.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_path_abbr_folder(void) + { +diff --git a/test/path/mutt_path_basename.c b/test/path/mutt_path_basename.c +index 3815796b5..ebd6d7d53 100644 +--- a/test/path/mutt_path_basename.c ++++ b/test/path/mutt_path_basename.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_path_basename(void) + { +diff --git a/test/path/mutt_path_canon.c b/test/path/mutt_path_canon.c +index 90b264cc6..6ce706037 100644 +--- a/test/path/mutt_path_canon.c ++++ b/test/path/mutt_path_canon.c +@@ -23,13 +23,13 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_path_canon(void) + { + // bool mutt_path_canon(char *buf, size_t buflen, const char *homedir); + + { +- TEST_CHECK(!mutt_path_canon(NULL, 10, "apple")); ++ TEST_CHECK(!mutt_path_canon(NULL, 10, "apple", true)); + } + } +diff --git a/test/path/mutt_path_concat.c b/test/path/mutt_path_concat.c +index 14a2ec3e0..1b2fcd4b0 100644 +--- a/test/path/mutt_path_concat.c ++++ b/test/path/mutt_path_concat.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_path_concat(void) + { +diff --git a/test/path/mutt_path_dirname.c b/test/path/mutt_path_dirname.c +index 2decd0c66..15978e678 100644 +--- a/test/path/mutt_path_dirname.c ++++ b/test/path/mutt_path_dirname.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_path_dirname(void) + { +diff --git a/test/path/mutt_path_escape.c b/test/path/mutt_path_escape.c +index 378a134cb..f6d1f4e56 100644 +--- a/test/path/mutt_path_escape.c ++++ b/test/path/mutt_path_escape.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_path_escape(void) + { +diff --git a/test/path/mutt_path_getcwd.c b/test/path/mutt_path_getcwd.c +index b884dfad8..0e0689ceb 100644 +--- a/test/path/mutt_path_getcwd.c ++++ b/test/path/mutt_path_getcwd.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_path_getcwd(void) + { +diff --git a/test/path/mutt_path_parent.c b/test/path/mutt_path_parent.c +index e166bdc24..70862401e 100644 +--- a/test/path/mutt_path_parent.c ++++ b/test/path/mutt_path_parent.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_path_parent(void) + { +diff --git a/test/path/mutt_path_pretty.c b/test/path/mutt_path_pretty.c +index a37f92566..bafdb1ee1 100644 +--- a/test/path/mutt_path_pretty.c ++++ b/test/path/mutt_path_pretty.c +@@ -23,18 +23,18 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_path_pretty(void) + { + // bool mutt_path_pretty(char *buf, size_t buflen, const char *homedir); + + { +- TEST_CHECK(!mutt_path_pretty(NULL, 10, "apple")); ++ TEST_CHECK(!mutt_path_pretty(NULL, 10, "apple", true)); + } + + { + char buf[32] = { 0 }; +- TEST_CHECK(!mutt_path_pretty(buf, sizeof(buf), NULL)); ++ TEST_CHECK(!mutt_path_pretty(buf, sizeof(buf), NULL, true)); + } + } +diff --git a/test/path/mutt_path_realpath.c b/test/path/mutt_path_realpath.c +index ecd69bd56..c17eec457 100644 +--- a/test/path/mutt_path_realpath.c ++++ b/test/path/mutt_path_realpath.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_path_realpath(void) + { +diff --git a/test/path/mutt_path_tidy.c b/test/path/mutt_path_tidy.c +index 5a6d1d28e..74c8ee80a 100644 +--- a/test/path/mutt_path_tidy.c ++++ b/test/path/mutt_path_tidy.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_path_tidy(void) + { +@@ -136,7 +136,7 @@ void test_mutt_path_tidy(void) + // clang-format on + + { +- TEST_CHECK(!mutt_path_tidy(NULL)); ++ TEST_CHECK(!mutt_path_tidy(NULL, true)); + } + + { +@@ -144,7 +144,7 @@ void test_mutt_path_tidy(void) + for (size_t i = 0; i < mutt_array_size(tests); i++) + { + mutt_str_strfcpy(buf, tests[i][0], sizeof(buf)); +- mutt_path_tidy(buf); ++ mutt_path_tidy(buf, true); + if (!TEST_CHECK(mutt_str_strcmp(buf, tests[i][1]) == 0)) + { + TEST_MSG("Input: %s", tests[i][0]); +diff --git a/test/path/mutt_path_tidy_dotdot.c b/test/path/mutt_path_tidy_dotdot.c +index 557d7adb7..9feb294fa 100644 +--- a/test/path/mutt_path_tidy_dotdot.c ++++ b/test/path/mutt_path_tidy_dotdot.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_path_tidy_dotdot(void) + { +diff --git a/test/path/mutt_path_tidy_slash.c b/test/path/mutt_path_tidy_slash.c +index 96056901c..61895e46b 100644 +--- a/test/path/mutt_path_tidy_slash.c ++++ b/test/path/mutt_path_tidy_slash.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_path_tidy_slash(void) + { +@@ -60,7 +60,7 @@ void test_mutt_path_tidy_slash(void) + // clang-format on + + { +- TEST_CHECK(!mutt_path_tidy_slash(NULL)); ++ TEST_CHECK(!mutt_path_tidy_slash(NULL, true)); + } + + { +@@ -68,7 +68,7 @@ void test_mutt_path_tidy_slash(void) + for (size_t i = 0; i < mutt_array_size(tests); i++) + { + mutt_str_strfcpy(buf, tests[i][0], sizeof(buf)); +- mutt_path_tidy_slash(buf); ++ mutt_path_tidy_slash(buf, true); + if (!TEST_CHECK(mutt_str_strcmp(buf, tests[i][1]) == 0)) + { + TEST_MSG("Input: %s", tests[i][0]); +diff --git a/test/path/mutt_path_to_absolute.c b/test/path/mutt_path_to_absolute.c +index d29d06b9d..8e7a76d31 100644 +--- a/test/path/mutt_path_to_absolute.c ++++ b/test/path/mutt_path_to_absolute.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_path_to_absolute(void) + { +diff --git a/test/pattern/dummy.c b/test/pattern/dummy.c +index a9d8f34c1..53c22a916 100644 +--- a/test/pattern/dummy.c ++++ b/test/pattern/dummy.c +@@ -83,11 +83,6 @@ int mutt_count_body_parts(struct Mailbox *m, struct Email *e) + return g_body_parts; + } + +-pid_t mutt_create_filter(const char *s, FILE **fp_in, FILE **fp_out, FILE **fp_err) +-{ +- return -1; +-} +- + int mutt_buffer_get_field_full(const char *field, struct Buffer *buf, int complete, + bool multiple, char ***files, int *numfiles) + { +@@ -114,8 +109,7 @@ void mutt_parse_mime_message(struct Mailbox *m, struct Email *e) + { + } + +-void mutt_progress_init(struct Progress *progress, const char *msg, +- int type, size_t size) ++void mutt_progress_init(struct Progress *progress, const char *msg, int type, size_t size) + { + } + void mutt_progress_update(struct Progress *progress, long pos, int percent) +@@ -126,11 +120,6 @@ void mutt_set_flag_update(struct Mailbox *m, struct Email *e, int flag, bool bf, + { + } + +-int mutt_wait_filter(pid_t pid) +-{ +- return -1; +-} +- + int mx_msg_close(struct Mailbox *m, struct Message **msg) + { + return 0; +@@ -165,3 +154,14 @@ struct Email *mutt_get_virt_email(struct Mailbox *m, int vnum) + + return m->emails[inum]; + } ++ ++void mutt_buffer_mktemp_full(struct Buffer *buf, const char *prefix, ++ const char *suffix, const char *src, int line) ++{ ++} ++ ++int mutt_rfc822_write_header(FILE *fp, struct Envelope *env, struct Body *attach, ++ int mode, bool privacy, bool hide_protected_subject) ++{ ++ return 0; ++} +diff --git a/test/pattern/extract.c b/test/pattern/extract.c +index cdae0957a..0f2c411f1 100644 +--- a/test/pattern/extract.c ++++ b/test/pattern/extract.c +@@ -22,10 +22,10 @@ + + #include "config.h" + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "config/lib.h" ++#include "core/lib.h" + #include "mutt.h" +-#include "filter.h" + #include "globals.h" + #include "myvar.h" + +@@ -155,7 +155,7 @@ int mutt_extract_token(struct Buffer *dest, struct Buffer *tok, TokenFlags flags + cmd.data = mutt_str_strdup(tok->dptr); + } + *pc = '`'; +- pid = mutt_create_filter(cmd.data, NULL, &fp, NULL); ++ pid = filter_create(cmd.data, NULL, &fp, NULL); + if (pid < 0) + { + mutt_debug(LL_DEBUG1, "unable to fork command: %s\n", cmd.data); +@@ -170,7 +170,7 @@ int mutt_extract_token(struct Buffer *dest, struct Buffer *tok, TokenFlags flags + struct Buffer expn = mutt_buffer_make(0); + expn.data = mutt_file_read_line(NULL, &expn.dsize, fp, &line, 0); + mutt_file_fclose(&fp); +- mutt_wait_filter(pid); ++ filter_wait(pid); + + /* if we got output, make a new string consisting of the shell output + * plus whatever else was left on the original line */ +@@ -230,7 +230,7 @@ int mutt_extract_token(struct Buffer *dest, struct Buffer *tok, TokenFlags flags + { + struct Buffer result; + mutt_buffer_init(&result); +- int rc = cs_str_string_get(Config, var, &result); ++ int rc = cs_str_string_get(NeoMutt->sub->cs, var, &result); + + if (CSR_RESULT(rc) == CSR_SUCCESS) + { +diff --git a/test/regex/mutt_regex_compile.c b/test/regex/mutt_regex_compile.c +index 4956f9ccc..e4b62e255 100644 +--- a/test/regex/mutt_regex_compile.c ++++ b/test/regex/mutt_regex_compile.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_regex_compile(void) + { +diff --git a/test/regex/mutt_regex_free.c b/test/regex/mutt_regex_free.c +index 57418cfb3..cbe4774d4 100644 +--- a/test/regex/mutt_regex_free.c ++++ b/test/regex/mutt_regex_free.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_regex_free(void) + { +diff --git a/test/regex/mutt_regex_new.c b/test/regex/mutt_regex_new.c +index bdf033164..59a42b7de 100644 +--- a/test/regex/mutt_regex_new.c ++++ b/test/regex/mutt_regex_new.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_regex_new(void) + { +diff --git a/test/regex/mutt_regexlist_add.c b/test/regex/mutt_regexlist_add.c +index 603411925..fc634ac93 100644 +--- a/test/regex/mutt_regexlist_add.c ++++ b/test/regex/mutt_regexlist_add.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_regexlist_add(void) + { +diff --git a/test/regex/mutt_regexlist_free.c b/test/regex/mutt_regexlist_free.c +index 0bd78a36a..cedcfe765 100644 +--- a/test/regex/mutt_regexlist_free.c ++++ b/test/regex/mutt_regexlist_free.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_regexlist_free(void) + { +diff --git a/test/regex/mutt_regexlist_match.c b/test/regex/mutt_regexlist_match.c +index fc2a447c7..0270e249f 100644 +--- a/test/regex/mutt_regexlist_match.c ++++ b/test/regex/mutt_regexlist_match.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_regexlist_match(void) + { +diff --git a/test/regex/mutt_regexlist_new.c b/test/regex/mutt_regexlist_new.c +index 8a1dae80d..f00375747 100644 +--- a/test/regex/mutt_regexlist_new.c ++++ b/test/regex/mutt_regexlist_new.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_regexlist_new(void) + { +diff --git a/test/regex/mutt_regexlist_remove.c b/test/regex/mutt_regexlist_remove.c +index 27f5fa46d..9634ae21d 100644 +--- a/test/regex/mutt_regexlist_remove.c ++++ b/test/regex/mutt_regexlist_remove.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_regexlist_remove(void) + { +diff --git a/test/regex/mutt_replacelist_add.c b/test/regex/mutt_replacelist_add.c +index 77bbd7210..28a47f2bf 100644 +--- a/test/regex/mutt_replacelist_add.c ++++ b/test/regex/mutt_replacelist_add.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_replacelist_add(void) + { +diff --git a/test/regex/mutt_replacelist_apply.c b/test/regex/mutt_replacelist_apply.c +index ecc252d89..cde23b7ec 100644 +--- a/test/regex/mutt_replacelist_apply.c ++++ b/test/regex/mutt_replacelist_apply.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_replacelist_apply(void) + { +diff --git a/test/regex/mutt_replacelist_free.c b/test/regex/mutt_replacelist_free.c +index 99d1d2992..09c9a7244 100644 +--- a/test/regex/mutt_replacelist_free.c ++++ b/test/regex/mutt_replacelist_free.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_replacelist_free(void) + { +diff --git a/test/regex/mutt_replacelist_match.c b/test/regex/mutt_replacelist_match.c +index 0441edfea..9c724527f 100644 +--- a/test/regex/mutt_replacelist_match.c ++++ b/test/regex/mutt_replacelist_match.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_replacelist_match(void) + { +diff --git a/test/regex/mutt_replacelist_new.c b/test/regex/mutt_replacelist_new.c +index ee9fc73d8..69ebfbeba 100644 +--- a/test/regex/mutt_replacelist_new.c ++++ b/test/regex/mutt_replacelist_new.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_replacelist_new(void) + { +diff --git a/test/regex/mutt_replacelist_remove.c b/test/regex/mutt_replacelist_remove.c +index 9aa682b5c..37ff78c5d 100644 +--- a/test/regex/mutt_replacelist_remove.c ++++ b/test/regex/mutt_replacelist_remove.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_replacelist_remove(void) + { +diff --git a/test/rfc2047/common.c b/test/rfc2047/common.c +index daed7d03b..510a31b6f 100644 +--- a/test/rfc2047/common.c ++++ b/test/rfc2047/common.c +@@ -24,7 +24,7 @@ + #include "acutest.h" + #include "config.h" + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "email/lib.h" + #include "common.h" + +diff --git a/test/rfc2047/common.h b/test/rfc2047/common.h +index a773d95a8..6729e091d 100644 +--- a/test/rfc2047/common.h ++++ b/test/rfc2047/common.h +@@ -26,7 +26,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "email/lib.h" + + struct Rfc2047TestData +diff --git a/test/rfc2047/rfc2047_decode.c b/test/rfc2047/rfc2047_decode.c +index 27ba02daa..dd4c8e101 100644 +--- a/test/rfc2047/rfc2047_decode.c ++++ b/test/rfc2047/rfc2047_decode.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + #include "common.h" +diff --git a/test/rfc2047/rfc2047_decode_addrlist.c b/test/rfc2047/rfc2047_decode_addrlist.c +index a08d05764..e715ce130 100644 +--- a/test/rfc2047/rfc2047_decode_addrlist.c ++++ b/test/rfc2047/rfc2047_decode_addrlist.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/rfc2047/rfc2047_decode_envelope.c b/test/rfc2047/rfc2047_decode_envelope.c +index 3a9841632..97c7ded6d 100644 +--- a/test/rfc2047/rfc2047_decode_envelope.c ++++ b/test/rfc2047/rfc2047_decode_envelope.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/rfc2047/rfc2047_encode.c b/test/rfc2047/rfc2047_encode.c +index aa6b1ba0e..d48e0d0a6 100644 +--- a/test/rfc2047/rfc2047_encode.c ++++ b/test/rfc2047/rfc2047_encode.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + #include "common.h" +diff --git a/test/rfc2047/rfc2047_encode_addrlist.c b/test/rfc2047/rfc2047_encode_addrlist.c +index 75f962fb1..08771c918 100644 +--- a/test/rfc2047/rfc2047_encode_addrlist.c ++++ b/test/rfc2047/rfc2047_encode_addrlist.c +@@ -24,7 +24,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/rfc2047/rfc2047_encode_envelope.c b/test/rfc2047/rfc2047_encode_envelope.c +index 5412dda18..e6ffb349d 100644 +--- a/test/rfc2047/rfc2047_encode_envelope.c ++++ b/test/rfc2047/rfc2047_encode_envelope.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/rfc2231/rfc2231_decode_parameters.c b/test/rfc2231/rfc2231_decode_parameters.c +index b7d8b05d9..77f268981 100644 +--- a/test/rfc2231/rfc2231_decode_parameters.c ++++ b/test/rfc2231/rfc2231_decode_parameters.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/rfc2231/rfc2231_encode_string.c b/test/rfc2231/rfc2231_encode_string.c +index c72ebe07e..c49bf7786 100644 +--- a/test/rfc2231/rfc2231_encode_string.c ++++ b/test/rfc2231/rfc2231_encode_string.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/signal/mutt_sig_allow_interrupt.c b/test/signal/mutt_sig_allow_interrupt.c +index 921bd0eb0..7a6ad5211 100644 +--- a/test/signal/mutt_sig_allow_interrupt.c ++++ b/test/signal/mutt_sig_allow_interrupt.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_sig_allow_interrupt(void) + { +diff --git a/test/signal/mutt_sig_block.c b/test/signal/mutt_sig_block.c +index 23a704aae..ecc0c995c 100644 +--- a/test/signal/mutt_sig_block.c ++++ b/test/signal/mutt_sig_block.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_sig_block(void) + { +diff --git a/test/signal/mutt_sig_block_system.c b/test/signal/mutt_sig_block_system.c +index 94c2b37f8..0931f4a7f 100644 +--- a/test/signal/mutt_sig_block_system.c ++++ b/test/signal/mutt_sig_block_system.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_sig_block_system(void) + { +diff --git a/test/signal/mutt_sig_empty_handler.c b/test/signal/mutt_sig_empty_handler.c +index 26c9e60ac..7f79aaf7c 100644 +--- a/test/signal/mutt_sig_empty_handler.c ++++ b/test/signal/mutt_sig_empty_handler.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_sig_empty_handler(void) + { +diff --git a/test/signal/mutt_sig_exit_handler.c b/test/signal/mutt_sig_exit_handler.c +index fec091015..0dfdd98f9 100644 +--- a/test/signal/mutt_sig_exit_handler.c ++++ b/test/signal/mutt_sig_exit_handler.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_sig_exit_handler(void) + { +diff --git a/test/signal/mutt_sig_init.c b/test/signal/mutt_sig_init.c +index 4d290ffcc..698a748c2 100644 +--- a/test/signal/mutt_sig_init.c ++++ b/test/signal/mutt_sig_init.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_sig_init(void) + { +diff --git a/test/signal/mutt_sig_unblock.c b/test/signal/mutt_sig_unblock.c +index c691775e6..057ae1db4 100644 +--- a/test/signal/mutt_sig_unblock.c ++++ b/test/signal/mutt_sig_unblock.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_sig_unblock(void) + { +diff --git a/test/signal/mutt_sig_unblock_system.c b/test/signal/mutt_sig_unblock_system.c +index 95e3a5f3b..cbcd4eb19 100644 +--- a/test/signal/mutt_sig_unblock_system.c ++++ b/test/signal/mutt_sig_unblock_system.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_sig_unblock_system(void) + { +diff --git a/test/string/mutt_str_adjust.c b/test/string/mutt_str_adjust.c +index bbbea41d2..3c7157981 100644 +--- a/test/string/mutt_str_adjust.c ++++ b/test/string/mutt_str_adjust.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_str_adjust(void) + { +diff --git a/test/string/mutt_str_append_item.c b/test/string/mutt_str_append_item.c +index 81b13514c..e2331404f 100644 +--- a/test/string/mutt_str_append_item.c ++++ b/test/string/mutt_str_append_item.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + struct AppendTest + { +diff --git a/test/string/mutt_str_asprintf.c b/test/string/mutt_str_asprintf.c +index 26abe20ee..8fad58268 100644 +--- a/test/string/mutt_str_asprintf.c ++++ b/test/string/mutt_str_asprintf.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_str_asprintf(void) + { +diff --git a/test/string/mutt_str_atoi.c b/test/string/mutt_str_atoi.c +index 7be65328a..8d4bf2f00 100644 +--- a/test/string/mutt_str_atoi.c ++++ b/test/string/mutt_str_atoi.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + struct TestValue + { +diff --git a/test/string/mutt_str_atol.c b/test/string/mutt_str_atol.c +index 9571ab835..473feaadb 100644 +--- a/test/string/mutt_str_atol.c ++++ b/test/string/mutt_str_atol.c +@@ -24,7 +24,7 @@ + #include "acutest.h" + #include "config.h" + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + struct TestValue + { +diff --git a/test/string/mutt_str_atos.c b/test/string/mutt_str_atos.c +index dea7cb3aa..227282e4c 100644 +--- a/test/string/mutt_str_atos.c ++++ b/test/string/mutt_str_atos.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + struct TestValue + { +diff --git a/test/string/mutt_str_atoui.c b/test/string/mutt_str_atoui.c +index fa79f9d83..5ec7d609d 100644 +--- a/test/string/mutt_str_atoui.c ++++ b/test/string/mutt_str_atoui.c +@@ -23,8 +23,8 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" + #include ++#include "mutt/lib.h" + + struct TestValue + { +diff --git a/test/string/mutt_str_atoul.c b/test/string/mutt_str_atoul.c +index aecb58f07..5782879b3 100644 +--- a/test/string/mutt_str_atoul.c ++++ b/test/string/mutt_str_atoul.c +@@ -24,7 +24,7 @@ + #include "acutest.h" + #include "config.h" + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + struct TestValue + { +diff --git a/test/string/mutt_str_atoull.c b/test/string/mutt_str_atoull.c +index 1489c965e..3256af01e 100644 +--- a/test/string/mutt_str_atoull.c ++++ b/test/string/mutt_str_atoull.c +@@ -24,7 +24,7 @@ + #include "acutest.h" + #include "config.h" + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + struct TestValue + { +diff --git a/test/string/mutt_str_dequote_comment.c b/test/string/mutt_str_dequote_comment.c +index eeafc2848..94b90ac31 100644 +--- a/test/string/mutt_str_dequote_comment.c ++++ b/test/string/mutt_str_dequote_comment.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_str_dequote_comment(void) + { +diff --git a/test/string/mutt_str_find_word.c b/test/string/mutt_str_find_word.c +index bfffe2c88..ac7a6f989 100644 +--- a/test/string/mutt_str_find_word.c ++++ b/test/string/mutt_str_find_word.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + struct FindWordTest + { +diff --git a/test/string/mutt_str_getenv.c b/test/string/mutt_str_getenv.c +index 2ea14b95b..e09eb8911 100644 +--- a/test/string/mutt_str_getenv.c ++++ b/test/string/mutt_str_getenv.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_str_getenv(void) + { +diff --git a/test/string/mutt_str_inline_replace.c b/test/string/mutt_str_inline_replace.c +index e0bdd94d3..44438b825 100644 +--- a/test/string/mutt_str_inline_replace.c ++++ b/test/string/mutt_str_inline_replace.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + struct InlineReplaceTest + { +diff --git a/test/string/mutt_str_is_ascii.c b/test/string/mutt_str_is_ascii.c +index 3e0eb556d..05b14c3a7 100644 +--- a/test/string/mutt_str_is_ascii.c ++++ b/test/string/mutt_str_is_ascii.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + struct IsAsciiTest + { +diff --git a/test/string/mutt_str_is_email_wsp.c b/test/string/mutt_str_is_email_wsp.c +index 2b901040c..804aae608 100644 +--- a/test/string/mutt_str_is_email_wsp.c ++++ b/test/string/mutt_str_is_email_wsp.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_str_is_email_wsp(void) + { +diff --git a/test/string/mutt_str_lws_len.c b/test/string/mutt_str_lws_len.c +index 104154d15..921bed0f6 100644 +--- a/test/string/mutt_str_lws_len.c ++++ b/test/string/mutt_str_lws_len.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + struct LwsLenTest + { +diff --git a/test/string/mutt_str_lws_rlen.c b/test/string/mutt_str_lws_rlen.c +index b4dddda78..99c3cc0f4 100644 +--- a/test/string/mutt_str_lws_rlen.c ++++ b/test/string/mutt_str_lws_rlen.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + struct LwsLenTest + { +diff --git a/test/string/mutt_str_next_word.c b/test/string/mutt_str_next_word.c +index 2e370dd76..548ff428c 100644 +--- a/test/string/mutt_str_next_word.c ++++ b/test/string/mutt_str_next_word.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + struct NextWordTest + { +diff --git a/test/string/mutt_str_remall_strcasestr.c b/test/string/mutt_str_remall_strcasestr.c +index 405d86aeb..c19336c1d 100644 +--- a/test/string/mutt_str_remall_strcasestr.c ++++ b/test/string/mutt_str_remall_strcasestr.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + struct RemallTest + { +diff --git a/test/string/mutt_str_remove_trailing_ws.c b/test/string/mutt_str_remove_trailing_ws.c +index f13865847..dc110732a 100644 +--- a/test/string/mutt_str_remove_trailing_ws.c ++++ b/test/string/mutt_str_remove_trailing_ws.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + struct TrailTest + { +diff --git a/test/string/mutt_str_replace.c b/test/string/mutt_str_replace.c +index 46a3657e9..b0ae2c850 100644 +--- a/test/string/mutt_str_replace.c ++++ b/test/string/mutt_str_replace.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_str_replace(void) + { +diff --git a/test/string/mutt_str_rstrnstr.c b/test/string/mutt_str_rstrnstr.c +index 4198f5c83..e73068554 100644 +--- a/test/string/mutt_str_rstrnstr.c ++++ b/test/string/mutt_str_rstrnstr.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + struct RstrnTest + { +diff --git a/test/string/mutt_str_skip_email_wsp.c b/test/string/mutt_str_skip_email_wsp.c +index dbf601b6d..eef5f7181 100644 +--- a/test/string/mutt_str_skip_email_wsp.c ++++ b/test/string/mutt_str_skip_email_wsp.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + struct SkipTest + { +diff --git a/test/string/mutt_str_skip_whitespace.c b/test/string/mutt_str_skip_whitespace.c +index 4625922e1..a137f6cea 100644 +--- a/test/string/mutt_str_skip_whitespace.c ++++ b/test/string/mutt_str_skip_whitespace.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + struct SkipTest + { +diff --git a/test/string/mutt_str_startswith.c b/test/string/mutt_str_startswith.c +index 2ba7e4be2..4555c1bcd 100644 +--- a/test/string/mutt_str_startswith.c ++++ b/test/string/mutt_str_startswith.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_str_startswith(void) + { +diff --git a/test/string/mutt_str_strcasecmp.c b/test/string/mutt_str_strcasecmp.c +index e65d6d0e0..eadc912c0 100644 +--- a/test/string/mutt_str_strcasecmp.c ++++ b/test/string/mutt_str_strcasecmp.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_str_strcasecmp(void) + { +diff --git a/test/string/mutt_str_strcasestr.c b/test/string/mutt_str_strcasestr.c +index ca521b26d..586ea11ce 100644 +--- a/test/string/mutt_str_strcasestr.c ++++ b/test/string/mutt_str_strcasestr.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_str_strcasestr(void) + { +diff --git a/test/string/mutt_str_strcat.c b/test/string/mutt_str_strcat.c +index d1ce6f571..cf4a93383 100644 +--- a/test/string/mutt_str_strcat.c ++++ b/test/string/mutt_str_strcat.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_str_strcat(void) + { +diff --git a/test/string/mutt_str_strchrnul.c b/test/string/mutt_str_strchrnul.c +index 4220fb9d69..d3d4b57ca 100644 +--- a/test/string/mutt_str_strchrnul.c ++++ b/test/string/mutt_str_strchrnul.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_str_strchrnul(void) + { +diff --git a/test/string/mutt_str_strcmp.c b/test/string/mutt_str_strcmp.c +index 669cdad51..606abe87a 100644 +--- a/test/string/mutt_str_strcmp.c ++++ b/test/string/mutt_str_strcmp.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_str_strcmp(void) + { +diff --git a/test/string/mutt_str_strcoll.c b/test/string/mutt_str_strcoll.c +index 1b23927e7..7f37087c2 100644 +--- a/test/string/mutt_str_strcoll.c ++++ b/test/string/mutt_str_strcoll.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_str_strcoll(void) + { +diff --git a/test/string/mutt_str_strdup.c b/test/string/mutt_str_strdup.c +index facb91ca0..b25b79f65 100644 +--- a/test/string/mutt_str_strdup.c ++++ b/test/string/mutt_str_strdup.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_str_strdup(void) + { +diff --git a/test/string/mutt_str_strfcpy.c b/test/string/mutt_str_strfcpy.c +index 20f83eec6..78f552751 100644 +--- a/test/string/mutt_str_strfcpy.c ++++ b/test/string/mutt_str_strfcpy.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_str_strfcpy(void) + { +diff --git a/test/string/mutt_str_stristr.c b/test/string/mutt_str_stristr.c +index 828655c1e..f1562d98a 100644 +--- a/test/string/mutt_str_stristr.c ++++ b/test/string/mutt_str_stristr.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + struct StriTest + { +diff --git a/test/string/mutt_str_strlen.c b/test/string/mutt_str_strlen.c +index 61e7ad903..21cd5425c 100644 +--- a/test/string/mutt_str_strlen.c ++++ b/test/string/mutt_str_strlen.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_str_strlen(void) + { +diff --git a/test/string/mutt_str_strlower.c b/test/string/mutt_str_strlower.c +index f91afcd22..94719ccf5 100644 +--- a/test/string/mutt_str_strlower.c ++++ b/test/string/mutt_str_strlower.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_str_strlower(void) + { +diff --git a/test/string/mutt_str_strncasecmp.c b/test/string/mutt_str_strncasecmp.c +index b4026253d..87467ad26 100644 +--- a/test/string/mutt_str_strncasecmp.c ++++ b/test/string/mutt_str_strncasecmp.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_str_strncasecmp(void) + { +diff --git a/test/string/mutt_str_strncat.c b/test/string/mutt_str_strncat.c +index 5b8398d46..7207943a7 100644 +--- a/test/string/mutt_str_strncat.c ++++ b/test/string/mutt_str_strncat.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_str_strncat(void) + { +diff --git a/test/string/mutt_str_strncmp.c b/test/string/mutt_str_strncmp.c +index 00a8c56ed..144b97b23 100644 +--- a/test/string/mutt_str_strncmp.c ++++ b/test/string/mutt_str_strncmp.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_str_strncmp(void) + { +diff --git a/test/string/mutt_str_strnfcpy.c b/test/string/mutt_str_strnfcpy.c +index a4c35f00b..0e02396a0 100644 +--- a/test/string/mutt_str_strnfcpy.c ++++ b/test/string/mutt_str_strnfcpy.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_str_strnfcpy(void) + { +diff --git a/test/string/mutt_str_substr_copy.c b/test/string/mutt_str_substr_copy.c +index bc9ca5bec..7449394a8 100644 +--- a/test/string/mutt_str_substr_copy.c ++++ b/test/string/mutt_str_substr_copy.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_str_substr_copy(void) + { +diff --git a/test/string/mutt_str_substr_dup.c b/test/string/mutt_str_substr_dup.c +index 38e339730..518c0f99d 100644 +--- a/test/string/mutt_str_substr_dup.c ++++ b/test/string/mutt_str_substr_dup.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_str_substr_dup(void) + { +diff --git a/test/string/mutt_str_sysexit.c b/test/string/mutt_str_sysexit.c +index 54b0daf9b..3bfc1241c 100644 +--- a/test/string/mutt_str_sysexit.c ++++ b/test/string/mutt_str_sysexit.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #ifdef HAVE_SYSEXITS_H + #include + #endif +diff --git a/test/string/mutt_str_word_casecmp.c b/test/string/mutt_str_word_casecmp.c +index aec017e85..aae78032d 100644 +--- a/test/string/mutt_str_word_casecmp.c ++++ b/test/string/mutt_str_word_casecmp.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + + void test_mutt_str_word_casecmp(void) + { +diff --git a/test/tags/driver_tags_free.c b/test/tags/driver_tags_free.c +index e7699958c..16ee01dd8 100644 +--- a/test/tags/driver_tags_free.c ++++ b/test/tags/driver_tags_free.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/tags/driver_tags_get.c b/test/tags/driver_tags_get.c +index b93d2b27a..0c3605530 100644 +--- a/test/tags/driver_tags_get.c ++++ b/test/tags/driver_tags_get.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/tags/driver_tags_get_transformed.c b/test/tags/driver_tags_get_transformed.c +index 4129c35fb..875e9d20d 100644 +--- a/test/tags/driver_tags_get_transformed.c ++++ b/test/tags/driver_tags_get_transformed.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/tags/driver_tags_get_transformed_for.c b/test/tags/driver_tags_get_transformed_for.c +index 948e7a07e..c031a2bb3 100644 +--- a/test/tags/driver_tags_get_transformed_for.c ++++ b/test/tags/driver_tags_get_transformed_for.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/tags/driver_tags_get_with_hidden.c b/test/tags/driver_tags_get_with_hidden.c +index 376bee559..3036bf2dc 100644 +--- a/test/tags/driver_tags_get_with_hidden.c ++++ b/test/tags/driver_tags_get_with_hidden.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/tags/driver_tags_replace.c b/test/tags/driver_tags_replace.c +index 846857385..e54dfcde2 100644 +--- a/test/tags/driver_tags_replace.c ++++ b/test/tags/driver_tags_replace.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/thread/clean_references.c b/test/thread/clean_references.c +index 94026720c..871639562 100644 +--- a/test/thread/clean_references.c ++++ b/test/thread/clean_references.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/thread/find_virtual.c b/test/thread/find_virtual.c +index 635e874da..fcaee9d8e 100644 +--- a/test/thread/find_virtual.c ++++ b/test/thread/find_virtual.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/thread/insert_message.c b/test/thread/insert_message.c +index 33c53fbf0..a85acd5a5 100644 +--- a/test/thread/insert_message.c ++++ b/test/thread/insert_message.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/thread/is_descendant.c b/test/thread/is_descendant.c +index 8bb531679..266f15b9a 100644 +--- a/test/thread/is_descendant.c ++++ b/test/thread/is_descendant.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/thread/mutt_break_thread.c b/test/thread/mutt_break_thread.c +index 0771742c6..12a55432e 100644 +--- a/test/thread/mutt_break_thread.c ++++ b/test/thread/mutt_break_thread.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/thread/thread_hash_destructor.c b/test/thread/thread_hash_destructor.c +index e9b2667b1..b449ed8cd 100644 +--- a/test/thread/thread_hash_destructor.c ++++ b/test/thread/thread_hash_destructor.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/thread/unlink_message.c b/test/thread/unlink_message.c +index d4ac8bb1a..ff15058b9 100644 +--- a/test/thread/unlink_message.c ++++ b/test/thread/unlink_message.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/url/url_check_scheme.c b/test/url/url_check_scheme.c +index f5be5cd81..d0c537830 100644 +--- a/test/url/url_check_scheme.c ++++ b/test/url/url_check_scheme.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/url/url_free.c b/test/url/url_free.c +index cac78c2a9..8df740b59 100644 +--- a/test/url/url_free.c ++++ b/test/url/url_free.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/url/url_parse.c b/test/url/url_parse.c +index 35e57bd7a..d48f1e035 100644 +--- a/test/url/url_parse.c ++++ b/test/url/url_parse.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/url/url_pct_decode.c b/test/url/url_pct_decode.c +index d540035fd..c54c1c17d 100644 +--- a/test/url/url_pct_decode.c ++++ b/test/url/url_pct_decode.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/url/url_pct_encode.c b/test/url/url_pct_encode.c +index dd7f9187c..34815a79a 100644 +--- a/test/url/url_pct_encode.c ++++ b/test/url/url_pct_encode.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/url/url_tobuffer.c b/test/url/url_tobuffer.c +index 71f47a397..833214c87 100644 +--- a/test/url/url_tobuffer.c ++++ b/test/url/url_tobuffer.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/test/url/url_tostring.c b/test/url/url_tostring.c +index 5816c75be..10ab31f9d 100644 +--- a/test/url/url_tostring.c ++++ b/test/url/url_tostring.c +@@ -23,7 +23,7 @@ + #define TEST_NO_MAIN + #include "acutest.h" + #include "config.h" +-#include "mutt/mutt.h" ++#include "mutt/lib.h" + #include "address/lib.h" + #include "email/lib.h" + +diff --git a/version.c b/version.c +index 037462e20..cb046368c 100644 +--- a/version.c ++++ b/version.c +@@ -34,14 +34,14 @@ + #include + #include + #include +-#include "mutt/mutt.h" ++#include "mutt/lib.h" ++#include "gui/lib.h" + #include "version.h" +-#include "mutt_curses.h" + #ifdef HAVE_LIBIDN + #include "address/lib.h" + #endif + #ifdef CRYPT_BACKEND_GPGME +-#include "ncrypt/crypt_gpgme.h" ++#include "ncrypt/lib.h" + #endif + #ifdef HAVE_NOTMUCH + #include +@@ -49,7 +49,7 @@ + + /* #include "muttlib.h" */ + const char *mutt_make_version(void); +-/* #include "hcache/hcache.h" */ ++/* #include "hcache/lib.h" */ + const char *mutt_hcache_backend_list(void); + + const int SCREEN_WIDTH = 80; +@@ -154,6 +154,9 @@ static struct CompileOptions comp_opts[] = { + #else + { "autocrypt", 0 }, + #endif ++#ifdef HAVE_LIBUNWIND ++ { "backtrace", 2 }, ++#endif + #ifdef HAVE_BKGDSET + { "bkgdset", 1 }, + #else +@@ -204,6 +207,9 @@ static struct CompileOptions comp_opts[] = { + #else + { "gpgme", 0 }, + #endif ++#ifdef USE_DEBUG_GRAPHVIZ ++ { "graphviz", 2 }, ++#endif + #ifdef USE_GSS + { "gss", 1 }, + #else +@@ -239,6 +245,11 @@ static struct CompileOptions comp_opts[] = { + #else + { "lua", 0 }, + #endif ++#ifdef USE_LZ4 ++ { "lz4", 1 }, ++#else ++ { "lz4", 0 }, ++#endif + #ifdef HAVE_META + { "meta", 1 }, + #else +@@ -264,6 +275,9 @@ static struct CompileOptions comp_opts[] = { + #else + { "openssl", 0 }, + #endif ++#ifdef USE_DEBUG_PARSE_TEST ++ { "parse-test", 2 }, ++#endif + #ifdef CRYPT_BACKEND_CLASSIC_PGP + { "pgp", 1 }, + #else +@@ -298,6 +312,16 @@ static struct CompileOptions comp_opts[] = { + { "typeahead", 1 }, + #else + { "typeahead", 0 }, ++#endif ++#ifdef USE_ZLIB ++ { "zlib", 1 }, ++#else ++ { "zlib", 0 }, ++#endif ++#ifdef USE_ZSTD ++ { "zstd", 1 }, ++#else ++ { "zstd", 0 }, + #endif + { NULL, 0 }, + }; +@@ -318,7 +342,7 @@ static struct CompileOptions comp_opts[] = { + static void print_compile_options(struct CompileOptions *co, FILE *fp) + { + size_t used = 2; +- bool tty = stdout ? isatty(fileno(stdout)) : false; ++ bool tty = fp ? isatty(fileno(fp)) : false; + + fprintf(fp, " "); + for (int i = 0; co[i].name; i++) +@@ -388,7 +412,7 @@ static char *rstrip_in_place(char *s) + void print_version(FILE *fp) + { + struct utsname uts; +- bool tty = stdout ? isatty(fileno(stdout)) : false; ++ bool tty = fp ? isatty(fileno(fp)) : false; + const char *fmt = "%s\n"; + + if (tty) diff --git a/srcpkgs/neomutt-git/template b/srcpkgs/neomutt-git/template new file mode 100644 index 000000000000..c0bbe0f65a13 --- /dev/null +++ b/srcpkgs/neomutt-git/template @@ -0,0 +1,54 @@ +# Template file for 'neomutt' +pkgname=neomutt-git +version=20191207 +revision=1 +wrksrc="neomutt-${version}" +build_style=configure +configure_args="--ssl --gpgme --notmuch --gdbm --lua --sasl" +patch_args="-Np1" +make_check_target=test +conf_files="/etc/neomuttrc" +# neomutt needs either w3m/lynx/elinks to build manual.html +hostmakedepends="docbook-xsl gettext libxslt perl tcl elinks" +makedepends="aspell-devel gdbm-devel gettext-devel gpgme-devel libidn-devel + libnotmuch-devel libressl-devel libsasl-devel lua-devel" +depends="mime-types" +short_desc="Mutt with misc fixes and feature patches" +maintainer="Toyam Cox " +license="GPL-2.0-or-later" +homepage="https://neomutt.org/" +distfiles="https://github.com/neomutt/neomutt/archive/${version}.tar.gz" +checksum=1618873bd43915d437c5957f19ec2c4ecef6954a5aa647009b98f574ec63410e + +# fix: +if [ "${XBPS_CROSS_BASE}" ]; then + configure_args="${configure_args} --host=$XBPS_CROSS_TRIPLET" + configure_args="${configure_args} --build=$XBPS_TRIPLET" + configure_args="${configure_args} --with-sysroot=$XBPS_CROSS_BASE" +fi + +case "${XBPS_TARGET_MACHINE}" in + x86_64-musl) CFLAGS="-D_FILE_OFFSET_BITS=64 -DLARGEFILE_SOURCE=1";; + # Inquiry: Do we have largefile support on everywhere? +esac + +post_install() { + # move dist to examples dir + vsconf contrib/gpg.rc Muttrc.gpg.dist +} + +# REMARKS: +# Conf file is in a --sysconfdir=/etc/$pkgname/Muttrc and then alternatives to +# /etc/Muttrc. In addition, a dependency on mime-types is broken by having +# /etc/dir/ because mutt probably expects the mime information in the same +# dir as sysconfdir. Thus a symlink is created to deal with this. +# /etc/Muttrc is not currently in alternatives to prevent inadvertently +# overwriting configuration. +# In version 20160808 keybase integration was added, and lots of new +# documentation now gets installed. Rumors of an /etc/NeoMuttrc are in the +# release notes but not currently installed for unknown reasons. +# As of 20171013, neomutt has hard forked and no longer refers to itself as +# "Mutt" anywhere in the codebase. https://www.neomutt.org/2017/10/13/release +# /etc/neomuttrc now exists, and there are no conflicts with regular mutt. +# Due to this, an install.msg was added and all alternatives were removed. +# Cross compiling was fixed in 20180323 diff --git a/srcpkgs/neomutt-git/update b/srcpkgs/neomutt-git/update new file mode 100644 index 000000000000..34177c0cc58d --- /dev/null +++ b/srcpkgs/neomutt-git/update @@ -0,0 +1 @@ +ignore="20160709" From a09a3d2afed51a13b5f546491d13d513524d6140 Mon Sep 17 00:00:00 2001 From: reedts Date: Mon, 16 Mar 2020 13:54:04 +0100 Subject: [PATCH 02/26] Use new neomutt release 20200313 --- srcpkgs/neomutt/template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/neomutt/template b/srcpkgs/neomutt/template index 246d549ca2e9..46214b3b9638 100644 --- a/srcpkgs/neomutt/template +++ b/srcpkgs/neomutt/template @@ -1,6 +1,6 @@ # Template file for 'neomutt' pkgname=neomutt -version=20191207 +version=20200313 revision=1 wrksrc="neomutt-${version}" build_style=configure @@ -8,7 +8,7 @@ configure_args="--ssl --gpgme --notmuch --gdbm --lua --sasl" make_check_target=test conf_files="/etc/neomuttrc" # neomutt needs either w3m/lynx/elinks to build manual.html -hostmakedepends="docbook-xsl gettext libxslt perl tcl w3m" +hostmakedepends="docbook-xsl gettext libxslt perl tcl elinks" makedepends="aspell-devel gdbm-devel gettext-devel gpgme-devel libidn-devel libnotmuch-devel libressl-devel libsasl-devel lua-devel" depends="mime-types" @@ -17,7 +17,7 @@ maintainer="Toyam Cox " license="GPL-2.0-or-later" homepage="https://neomutt.org/" distfiles="https://github.com/neomutt/neomutt/archive/${version}.tar.gz" -checksum=1618873bd43915d437c5957f19ec2c4ecef6954a5aa647009b98f574ec63410e +checksum=b5ff780506a5371f737f32afd694857568e8827b1c391e0aca27c66687019e85 # fix: if [ "${XBPS_CROSS_BASE}" ]; then From 6e55f46e18a1e9b76064610ae9bc1739cf9c3fc4 Mon Sep 17 00:00:00 2001 From: reedts Date: Thu, 10 Dec 2020 11:29:10 +0100 Subject: [PATCH 03/26] Update owncloud to git version --- srcpkgs/owncloudclient/patches/QPainterPath.patch | 10 ---------- srcpkgs/owncloudclient/template | 9 +++++---- 2 files changed, 5 insertions(+), 14 deletions(-) delete mode 100644 srcpkgs/owncloudclient/patches/QPainterPath.patch diff --git a/srcpkgs/owncloudclient/patches/QPainterPath.patch b/srcpkgs/owncloudclient/patches/QPainterPath.patch deleted file mode 100644 index 668dd9223b2e..000000000000 --- a/srcpkgs/owncloudclient/patches/QPainterPath.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- src/libsync/networkjobs.cpp 2020-01-28 15:57:39.000000000 +0100 -+++ src/libsync/networkjobs.cpp 2020-08-31 21:06:43.744784467 +0200 -@@ -31,6 +31,7 @@ - #include - #ifndef TOKEN_AUTH_ONLY - #include -+#include - #endif - - #include "networkjobs.h" diff --git a/srcpkgs/owncloudclient/template b/srcpkgs/owncloudclient/template index d8747863fe13..c0929d62286f 100644 --- a/srcpkgs/owncloudclient/template +++ b/srcpkgs/owncloudclient/template @@ -1,10 +1,10 @@ # Template file for 'owncloudclient' pkgname=owncloudclient -version=2.6.3.14058 +version=2.7.2 revision=1 build_style=cmake configure_args="-Wno-dev -DNO_SHIBBOLETH=TRUE" -hostmakedepends="pkg-config" +hostmakedepends="pkg-config extra-cmake-modules" makedepends="qtkeychain-qt5-devel sqlite-devel qt5-declarative-devel qt5-tools-devel qt5-plugin-odbc qt5-plugin-tds qt5-plugin-pgsql qt5-plugin-mysql qt5-plugin-sqlite" @@ -14,8 +14,9 @@ short_desc="Connect to ownCloud servers" maintainer="Nathan Owens " license="GPL-2.0-or-later" homepage="https://www.owncloud.org" -distfiles="https://download.owncloud.com/desktop/stable/${pkgname}-${version}.tar.xz" -checksum=e3d38de31e041f0e1836b2b74acfc1fc76eea4955968952a65643cbf36a493f5 +distfiles="https://github.com/owncloud/client/archive/v${version}.tar.gz" +checksum=11149a61a7a8c3ac08a2869fe1754916c004aefeeba47eea860080b7a0e4441b +wrksrc="client-${version}" if [ "$CROSS_BUILD" ]; then hostmakedepends+=" qt5-host-tools qt5-tools-devel" From 3c52aacf10604babb080f92be87c7f336008c957 Mon Sep 17 00:00:00 2001 From: reedts Date: Thu, 10 Dec 2020 11:32:25 +0100 Subject: [PATCH 04/26] owncloudclient: update to 2.7.2 --- srcpkgs/owncloudclient/template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srcpkgs/owncloudclient/template b/srcpkgs/owncloudclient/template index c0929d62286f..639489575897 100644 --- a/srcpkgs/owncloudclient/template +++ b/srcpkgs/owncloudclient/template @@ -2,6 +2,7 @@ pkgname=owncloudclient version=2.7.2 revision=1 +wrksrc="client-${version}" build_style=cmake configure_args="-Wno-dev -DNO_SHIBBOLETH=TRUE" hostmakedepends="pkg-config extra-cmake-modules" @@ -16,7 +17,6 @@ license="GPL-2.0-or-later" homepage="https://www.owncloud.org" distfiles="https://github.com/owncloud/client/archive/v${version}.tar.gz" checksum=11149a61a7a8c3ac08a2869fe1754916c004aefeeba47eea860080b7a0e4441b -wrksrc="client-${version}" if [ "$CROSS_BUILD" ]; then hostmakedepends+=" qt5-host-tools qt5-tools-devel" From fef176c0747f786f820bcc7194c75ab3e9deab99 Mon Sep 17 00:00:00 2001 From: reedts Date: Tue, 15 Dec 2020 10:19:36 +0100 Subject: [PATCH 05/26] Use beta build for now --- srcpkgs/nvidia/template | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/srcpkgs/nvidia/template b/srcpkgs/nvidia/template index fb7507d842e6..8147ea5bc6b7 100644 --- a/srcpkgs/nvidia/template +++ b/srcpkgs/nvidia/template @@ -3,7 +3,7 @@ _desc="NVIDIA drivers for linux" pkgname=nvidia -version=450.80.02 +version=455.45.01 revision=1 maintainer="Andrew Benson " license="custom:NVIDIA Proprietary" @@ -19,7 +19,7 @@ conflicts="xserver-abi-video>24_1" _pkg="NVIDIA-Linux-x86_64-${version}" distfiles="http://uk.download.nvidia.com/XFree86/Linux-x86_64/${version}/${_pkg}.run" -checksum=0f5a2f19f822d46c54500f4a6192dad9948821ed14ce7c13b38264d67aaf95b3 +checksum=eadc8c7e082f65540fa7f6a249d8309fb546fe62066f495472701dc8c103a153 # subpackages need to be processed in this specific order subpackages="nvidia-gtklibs nvidia-dkms nvidia-opencl nvidia-libs nvidia-libs-32bit" depends="nvidia-libs-${version}_${revision} @@ -129,8 +129,8 @@ do_install() { ln -sf libglxserver_nvidia.so.${version} \ ${DESTDIR}/usr/lib/nvidia/xorg/libglxserver_nvidia.so.1 - vinstall libnvidia-egl-wayland.so.1.1.4 755 usr/lib - ln -sf libnvidia-egl-wayland.so.1.1.4 \ + vinstall libnvidia-egl-wayland.so.1.1.5 755 usr/lib + ln -sf libnvidia-egl-wayland.so.1.1.5 \ ${DESTDIR}/usr/lib/libnvidia-egl-wayland.so.1 vinstall 10_nvidia.json 755 usr/share/glvnd/egl_vendor.d From 9bb90e48f77188c352a047c524a9c22e0effd640 Mon Sep 17 00:00:00 2001 From: reedts Date: Tue, 15 Dec 2020 10:20:01 +0100 Subject: [PATCH 06/26] Bump to new version --- srcpkgs/owncloudclient/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/owncloudclient/template b/srcpkgs/owncloudclient/template index 639489575897..497d0a329523 100644 --- a/srcpkgs/owncloudclient/template +++ b/srcpkgs/owncloudclient/template @@ -1,6 +1,6 @@ # Template file for 'owncloudclient' pkgname=owncloudclient -version=2.7.2 +version=2.7.3 revision=1 wrksrc="client-${version}" build_style=cmake @@ -16,7 +16,7 @@ maintainer="Nathan Owens " license="GPL-2.0-or-later" homepage="https://www.owncloud.org" distfiles="https://github.com/owncloud/client/archive/v${version}.tar.gz" -checksum=11149a61a7a8c3ac08a2869fe1754916c004aefeeba47eea860080b7a0e4441b +checksum=3f18e65d78264510b3bb4c74a528a229f68791d9dd54678c9c0aa40aaf284514 if [ "$CROSS_BUILD" ]; then hostmakedepends+=" qt5-host-tools qt5-tools-devel" From b12cd790b6b1041c54ca07a4c249720503d77de9 Mon Sep 17 00:00:00 2001 From: reedts Date: Tue, 2 Feb 2021 11:00:49 +0100 Subject: [PATCH 07/26] Update to new version --- srcpkgs/owncloudclient/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/owncloudclient/template b/srcpkgs/owncloudclient/template index 327d7ca5ea32..d3bb6ee6b10c 100644 --- a/srcpkgs/owncloudclient/template +++ b/srcpkgs/owncloudclient/template @@ -1,6 +1,6 @@ # Template file for 'owncloudclient' pkgname=owncloudclient -version=2.7.3 +version=2.7.5 revision=1 wrksrc="client-${version}" build_style=cmake @@ -16,7 +16,7 @@ maintainer="Nathan Owens " license="GPL-2.0-or-later" homepage="https://www.owncloud.org" distfiles="https://github.com/owncloud/client/archive/v${version}.tar.gz" -checksum=3f18e65d78264510b3bb4c74a528a229f68791d9dd54678c9c0aa40aaf284514 +checksum=c2558a3a780c136446ce818bfdd406aa5417a71f9cfd0cf56dc51c7516117c3a if [ "$CROSS_BUILD" ]; then hostmakedepends+=" qt5-host-tools qt5-tools-devel" From e5595f8bec3897b7fe2e8abc5b236d4c4fb787d4 Mon Sep 17 00:00:00 2001 From: reedts Date: Sun, 7 Feb 2021 19:44:21 +0100 Subject: [PATCH 08/26] Add zotero --- srcpkgs/zotero/template | 49 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 srcpkgs/zotero/template diff --git a/srcpkgs/zotero/template b/srcpkgs/zotero/template new file mode 100644 index 000000000000..96e7c34c0ef0 --- /dev/null +++ b/srcpkgs/zotero/template @@ -0,0 +1,49 @@ +# Template file for 'zotero' +pkgname=zotero +version=5.0.95.3 +revision=1 +arch="x86_64" +hostmakedepends="awk curl git nodejs-lts openssh perl python python3 rsync tar unzip wget which zip" +makedepends="nodejs-lts" +depends="nodejs-lts" +short_desc="A tool to help you collect, organize, cite, and share your research sources." +maintainer="reedts " +license="GPL-3.0-or-later" +homepage="https://www.zotero.org" +nopie=yes + +do_fetch() { + git clone -b ${version} --recursive \ + https://github.com/zotero/zotero ${wrksrc}/zotero-client + + git clone -b ${version} --recursive \ + https://github.com/zotero/zotero-standalone-build \ + ${wrksrc}/zotero-standalone-build + + git clone --recursive \ + https://github.com/zotero/zotero-build \ + ${wrksrc}/zotero-build +} + +do_configure() { + cd ${wrksrc}/zotero-client + npm i +} + +do_build() { + cd ${wrksrc}/zotero-client + npm run build + + cd ${wrksrc}/zotero-standalone-build + ./fetch_mar_tools + ./fetch_xulrunner.sh -p l + ./fetch_pdftools + ./scripts/dir_build +} + +do_install() { + vmkdir opt/zotero + vmkdir usr/bin + vcopy ${wrksrc}/zotero-standalone-build/staging/Zotero_linux-${arch}/* opt/zotero + ln -s "${DESTDIR}/opt/zotero/zotero" "${DESTDIR}/usr/bin/zotero" +} From b2b418c240603dd97b21c22151797bef4b87264f Mon Sep 17 00:00:00 2001 From: reedts Date: Mon, 15 Mar 2021 21:09:57 +0100 Subject: [PATCH 09/26] Add buzz with Lars' patches --- srcpkgs/buzz/patches/no_systray.patch | 1866 +++++++++++++++++++++++++ srcpkgs/buzz/template | 15 + 2 files changed, 1881 insertions(+) create mode 100644 srcpkgs/buzz/patches/no_systray.patch create mode 100644 srcpkgs/buzz/template diff --git a/srcpkgs/buzz/patches/no_systray.patch b/srcpkgs/buzz/patches/no_systray.patch new file mode 100644 index 000000000000..f70170a38924 --- /dev/null +++ b/srcpkgs/buzz/patches/no_systray.patch @@ -0,0 +1,1866 @@ +diff --git .gitignore .gitignore +index eb5a316..908d188 100644 +--- .gitignore ++++ .gitignore +@@ -1 +1,14 @@ +-target ++### https://raw.github.com/github/gitignore/74643fe2c8a8ca02384f6367be2393c00cf8cd24/Rust.gitignore ++ ++# Generated by Cargo ++# will have compiled files and executables ++/target/ ++ ++# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries ++# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html ++Cargo.lock ++ ++# These are backup files generated by rustfmt ++**/*.rs.bk ++ ++ +diff --git Cargo.lock Cargo.lock +deleted file mode 100644 +index 609d424..0000000 +--- Cargo.lock ++++ /dev/null +@@ -1,1610 +0,0 @@ +-# This file is automatically @generated by Cargo. +-# It is not intended for manual editing. +-[[package]] +-name = "aho-corasick" +-version = "0.7.15" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "7404febffaa47dac81aa44dba71523c9d069b1bdc50a77db41195149e17f68e5" +-dependencies = [ +- "memchr", +-] +- +-[[package]] +-name = "ansi_term" +-version = "0.11.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b" +-dependencies = [ +- "winapi", +-] +- +-[[package]] +-name = "arrayref" +-version = "0.3.6" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" +- +-[[package]] +-name = "arrayvec" +-version = "0.5.2" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" +- +-[[package]] +-name = "askama_escape" +-version = "0.10.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "90c108c1a94380c89d2215d0ac54ce09796823cca0fd91b299cfff3b33e346fb" +- +-[[package]] +-name = "atk" +-version = "0.8.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "444daefa55f229af145ea58d77efd23725024ee1f6f3102743709aa6b18c663e" +-dependencies = [ +- "atk-sys", +- "bitflags 1.2.1", +- "glib", +- "glib-sys", +- "gobject-sys", +- "libc", +-] +- +-[[package]] +-name = "atk-sys" +-version = "0.9.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "e552c1776737a4c80110d06b36d099f47c727335f9aaa5d942a72b6863a8ec6f" +-dependencies = [ +- "glib-sys", +- "gobject-sys", +- "libc", +- "pkg-config", +-] +- +-[[package]] +-name = "atty" +-version = "0.2.14" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" +-dependencies = [ +- "hermit-abi", +- "libc", +- "winapi", +-] +- +-[[package]] +-name = "autocfg" +-version = "1.0.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" +- +-[[package]] +-name = "base64" +-version = "0.10.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e" +-dependencies = [ +- "byteorder", +-] +- +-[[package]] +-name = "base64" +-version = "0.12.3" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff" +- +-[[package]] +-name = "base64" +-version = "0.13.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" +- +-[[package]] +-name = "bindgen" +-version = "0.52.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "f1c85344eb535a31b62f0af37be84441ba9e7f0f4111eb0530f43d15e513fe57" +-dependencies = [ +- "bitflags 1.2.1", +- "cexpr", +- "cfg-if 0.1.10", +- "clang-sys", +- "clap", +- "env_logger", +- "lazy_static", +- "lazycell", +- "log", +- "peeking_take_while", +- "proc-macro2", +- "quote 1.0.8", +- "regex", +- "rustc-hash", +- "shlex", +- "which", +-] +- +-[[package]] +-name = "bitflags" +-version = "0.9.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "4efd02e230a02e18f92fc2735f44597385ed02ad8f831e7c1c1156ee5e1ab3a5" +- +-[[package]] +-name = "bitflags" +-version = "1.2.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" +- +-[[package]] +-name = "blake2b_simd" +-version = "0.5.11" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "afa748e348ad3be8263be728124b24a24f268266f6f5d58af9d75f6a40b5c587" +-dependencies = [ +- "arrayref", +- "arrayvec", +- "constant_time_eq", +-] +- +-[[package]] +-name = "block" +-version = "0.1.6" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" +- +-[[package]] +-name = "bufstream" +-version = "0.1.4" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "40e38929add23cdf8a366df9b0e088953150724bcbe5fc330b0d8eb3b328eec8" +- +-[[package]] +-name = "buzz" +-version = "1.5.0" +-dependencies = [ +- "askama_escape", +- "chrono", +- "directories-next", +- "imap", +- "mailparse", +- "native-tls", +- "notify-rust", +- "rayon", +- "systray", +- "toml", +-] +- +-[[package]] +-name = "byteorder" +-version = "1.4.2" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "ae44d1a3d5a19df61dd0c8beb138458ac2a53a7ac09eba97d55592540004306b" +- +-[[package]] +-name = "cairo-rs" +-version = "0.8.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "157049ba9618aa3a61c39d5d785102c04d3b1f40632a706c621a9aedc21e6084" +-dependencies = [ +- "bitflags 1.2.1", +- "cairo-sys-rs", +- "glib", +- "glib-sys", +- "gobject-sys", +- "libc", +-] +- +-[[package]] +-name = "cairo-sys-rs" +-version = "0.9.2" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "ff65ba02cac715be836f63429ab00a767d48336efc5497c5637afb53b4f14d63" +-dependencies = [ +- "glib-sys", +- "libc", +- "pkg-config", +-] +- +-[[package]] +-name = "cc" +-version = "1.0.66" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "4c0496836a84f8d0495758516b8621a622beb77c0fed418570e50764093ced48" +- +-[[package]] +-name = "cexpr" +-version = "0.3.6" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "fce5b5fb86b0c57c20c834c1b412fd09c77c8a59b9473f86272709e78874cd1d" +-dependencies = [ +- "nom 4.2.3", +-] +- +-[[package]] +-name = "cfg-if" +-version = "0.1.10" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" +- +-[[package]] +-name = "cfg-if" +-version = "1.0.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +- +-[[package]] +-name = "charset" +-version = "0.1.2" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "4f426e64df1c3de26cbf44593c6ffff5dbfd43bbf9de0d075058558126b3fc73" +-dependencies = [ +- "base64 0.10.1", +- "encoding_rs", +-] +- +-[[package]] +-name = "chrono" +-version = "0.4.19" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73" +-dependencies = [ +- "libc", +- "num-integer", +- "num-traits", +- "time", +- "winapi", +-] +- +-[[package]] +-name = "clang-sys" +-version = "0.28.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "81de550971c976f176130da4b2978d3b524eaa0fd9ac31f3ceb5ae1231fb4853" +-dependencies = [ +- "glob", +- "libc", +- "libloading", +-] +- +-[[package]] +-name = "clap" +-version = "2.33.3" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "37e58ac78573c40708d45522f0d80fa2f01cc4f9b4e2bf749807255454312002" +-dependencies = [ +- "ansi_term", +- "atty", +- "bitflags 1.2.1", +- "strsim", +- "textwrap", +- "unicode-width", +- "vec_map", +-] +- +-[[package]] +-name = "const_fn" +-version = "0.4.5" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "28b9d6de7f49e22cf97ad17fc4036ece69300032f45f78f30b4a4482cdc3f4a6" +- +-[[package]] +-name = "constant_time_eq" +-version = "0.1.5" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" +- +-[[package]] +-name = "core-foundation" +-version = "0.9.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "0a89e2ae426ea83155dccf10c0fa6b1463ef6d5fcb44cee0b224a408fa640a62" +-dependencies = [ +- "core-foundation-sys", +- "libc", +-] +- +-[[package]] +-name = "core-foundation-sys" +-version = "0.8.2" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "ea221b5284a47e40033bf9b66f35f984ec0ea2931eb03505246cd27a963f981b" +- +-[[package]] +-name = "crossbeam-channel" +-version = "0.5.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "dca26ee1f8d361640700bde38b2c37d8c22b3ce2d360e1fc1c74ea4b0aa7d775" +-dependencies = [ +- "cfg-if 1.0.0", +- "crossbeam-utils", +-] +- +-[[package]] +-name = "crossbeam-deque" +-version = "0.8.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "94af6efb46fef72616855b036a624cf27ba656ffc9be1b9a3c931cfc7749a9a9" +-dependencies = [ +- "cfg-if 1.0.0", +- "crossbeam-epoch", +- "crossbeam-utils", +-] +- +-[[package]] +-name = "crossbeam-epoch" +-version = "0.9.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "a1aaa739f95311c2c7887a76863f500026092fb1dce0161dab577e559ef3569d" +-dependencies = [ +- "cfg-if 1.0.0", +- "const_fn", +- "crossbeam-utils", +- "lazy_static", +- "memoffset", +- "scopeguard", +-] +- +-[[package]] +-name = "crossbeam-utils" +-version = "0.8.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "02d96d1e189ef58269ebe5b97953da3274d83a93af647c2ddd6f9dab28cedb8d" +-dependencies = [ +- "autocfg", +- "cfg-if 1.0.0", +- "lazy_static", +-] +- +-[[package]] +-name = "dbus" +-version = "0.9.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "3b1334c0161ddfccd239ac81b188d62015b049c986c5cd0b7f9447cf2c54f4a3" +-dependencies = [ +- "libc", +- "libdbus-sys", +-] +- +-[[package]] +-name = "directories-next" +-version = "2.0.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "339ee130d97a610ea5a5872d2bbb130fdf68884ff09d3028b81bec8a1ac23bbc" +-dependencies = [ +- "cfg-if 1.0.0", +- "dirs-sys-next", +-] +- +-[[package]] +-name = "dirs" +-version = "1.0.5" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "3fd78930633bd1c6e35c4b42b1df7b0cbc6bc191146e512bb3bedf243fcc3901" +-dependencies = [ +- "libc", +- "redox_users 0.3.5", +- "winapi", +-] +- +-[[package]] +-name = "dirs-sys-next" +-version = "0.1.2" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" +-dependencies = [ +- "libc", +- "redox_users 0.4.0", +- "winapi", +-] +- +-[[package]] +-name = "either" +-version = "1.6.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" +- +-[[package]] +-name = "encoding_rs" +-version = "0.8.26" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "801bbab217d7f79c0062f4f7205b5d4427c6d1a7bd7aafdd1475f7c59d62b283" +-dependencies = [ +- "cfg-if 1.0.0", +-] +- +-[[package]] +-name = "env_logger" +-version = "0.7.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "44533bbbb3bb3c1fa17d9f2e4e38bbbaf8396ba82193c4cb1b6445d711445d36" +-dependencies = [ +- "atty", +- "humantime", +- "log", +- "regex", +- "termcolor", +-] +- +-[[package]] +-name = "foreign-types" +-version = "0.3.2" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +-dependencies = [ +- "foreign-types-shared", +-] +- +-[[package]] +-name = "foreign-types-shared" +-version = "0.1.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" +- +-[[package]] +-name = "futures-channel" +-version = "0.3.12" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "f2d31b7ec7efab6eefc7c57233bb10b847986139d88cc2f5a02a1ae6871a1846" +-dependencies = [ +- "futures-core", +-] +- +-[[package]] +-name = "futures-core" +-version = "0.3.12" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "79e5145dde8da7d1b3892dad07a9c98fc04bc39892b1ecc9692cf53e2b780a65" +- +-[[package]] +-name = "futures-executor" +-version = "0.3.12" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "e9e59fdc009a4b3096bf94f740a0f2424c082521f20a9b08c5c07c48d90fd9b9" +-dependencies = [ +- "futures-core", +- "futures-task", +- "futures-util", +-] +- +-[[package]] +-name = "futures-io" +-version = "0.3.12" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "28be053525281ad8259d47e4de5de657b25e7bac113458555bb4b70bc6870500" +- +-[[package]] +-name = "futures-macro" +-version = "0.3.12" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "c287d25add322d9f9abdcdc5927ca398917996600182178774032e9f8258fedd" +-dependencies = [ +- "proc-macro-hack", +- "proc-macro2", +- "quote 1.0.8", +- "syn 1.0.60", +-] +- +-[[package]] +-name = "futures-task" +-version = "0.3.12" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "13de07eb8ea81ae445aca7b69f5f7bf15d7bf4912d8ca37d6645c77ae8a58d86" +-dependencies = [ +- "once_cell", +-] +- +-[[package]] +-name = "futures-util" +-version = "0.3.12" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "632a8cd0f2a4b3fdea1657f08bde063848c3bd00f9bbf6e256b8be78802e624b" +-dependencies = [ +- "futures-core", +- "futures-macro", +- "futures-task", +- "pin-project-lite", +- "pin-utils", +- "proc-macro-hack", +- "proc-macro-nested", +- "slab", +-] +- +-[[package]] +-name = "gdk" +-version = "0.12.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "fbe5e8772fc0865c52460cdd7a59d7d47700f44d9809d1dd00eecceb769a7589" +-dependencies = [ +- "bitflags 1.2.1", +- "cairo-rs", +- "cairo-sys-rs", +- "gdk-pixbuf", +- "gdk-sys", +- "gio", +- "gio-sys", +- "glib", +- "glib-sys", +- "gobject-sys", +- "libc", +- "pango", +-] +- +-[[package]] +-name = "gdk-pixbuf" +-version = "0.8.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "e248220c46b329b097d4b158d2717f8c688f16dd76d0399ace82b3e98062bdd7" +-dependencies = [ +- "gdk-pixbuf-sys", +- "gio", +- "gio-sys", +- "glib", +- "glib-sys", +- "gobject-sys", +- "libc", +-] +- +-[[package]] +-name = "gdk-pixbuf-sys" +-version = "0.9.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "d8991b060a9e9161bafd09bf4a202e6fd404f5b4dd1a08d53a1e84256fb34ab0" +-dependencies = [ +- "gio-sys", +- "glib-sys", +- "gobject-sys", +- "libc", +- "pkg-config", +-] +- +-[[package]] +-name = "gdk-sys" +-version = "0.9.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "6adf679e91d1bff0c06860287f80403e7db54c2d2424dce0a470023b56c88fbb" +-dependencies = [ +- "cairo-sys-rs", +- "gdk-pixbuf-sys", +- "gio-sys", +- "glib-sys", +- "gobject-sys", +- "libc", +- "pango-sys", +- "pkg-config", +-] +- +-[[package]] +-name = "getrandom" +-version = "0.1.16" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" +-dependencies = [ +- "cfg-if 1.0.0", +- "libc", +- "wasi 0.9.0+wasi-snapshot-preview1", +-] +- +-[[package]] +-name = "getrandom" +-version = "0.2.2" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "c9495705279e7140bf035dde1f6e750c162df8b625267cd52cc44e0b156732c8" +-dependencies = [ +- "cfg-if 1.0.0", +- "libc", +- "wasi 0.10.1+wasi-snapshot-preview1", +-] +- +-[[package]] +-name = "gio" +-version = "0.8.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "0cd10f9415cce39b53f8024bf39a21f84f8157afa52da53837b102e585a296a5" +-dependencies = [ +- "bitflags 1.2.1", +- "futures-channel", +- "futures-core", +- "futures-io", +- "futures-util", +- "gio-sys", +- "glib", +- "glib-sys", +- "gobject-sys", +- "lazy_static", +- "libc", +-] +- +-[[package]] +-name = "gio-sys" +-version = "0.9.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "4fad225242b9eae7ec8a063bb86974aca56885014672375e5775dc0ea3533911" +-dependencies = [ +- "glib-sys", +- "gobject-sys", +- "libc", +- "pkg-config", +-] +- +-[[package]] +-name = "glib" +-version = "0.9.3" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "40fb573a09841b6386ddf15fd4bc6655b4f5b106ca962f57ecaecde32a0061c0" +-dependencies = [ +- "bitflags 1.2.1", +- "futures-channel", +- "futures-core", +- "futures-executor", +- "futures-task", +- "futures-util", +- "glib-sys", +- "gobject-sys", +- "lazy_static", +- "libc", +-] +- +-[[package]] +-name = "glib-sys" +-version = "0.9.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "95856f3802f446c05feffa5e24859fe6a183a7cb849c8449afc35c86b1e316e2" +-dependencies = [ +- "libc", +- "pkg-config", +-] +- +-[[package]] +-name = "glob" +-version = "0.3.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" +- +-[[package]] +-name = "gobject-sys" +-version = "0.9.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "31d1a804f62034eccf370006ccaef3708a71c31d561fee88564abe71177553d9" +-dependencies = [ +- "glib-sys", +- "libc", +- "pkg-config", +-] +- +-[[package]] +-name = "gtk" +-version = "0.8.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "87e1e8d70290239c668594002d1b174fcc7d7ef5d26670ee141490ede8facf8f" +-dependencies = [ +- "atk", +- "bitflags 1.2.1", +- "cairo-rs", +- "cairo-sys-rs", +- "cc", +- "gdk", +- "gdk-pixbuf", +- "gdk-pixbuf-sys", +- "gdk-sys", +- "gio", +- "gio-sys", +- "glib", +- "glib-sys", +- "gobject-sys", +- "gtk-sys", +- "lazy_static", +- "libc", +- "pango", +- "pango-sys", +-] +- +-[[package]] +-name = "gtk-sys" +-version = "0.9.2" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "53def660c7b48b00b510c81ef2d2fbd3c570f1527081d8d7947f471513e1a4c1" +-dependencies = [ +- "atk-sys", +- "cairo-sys-rs", +- "gdk-pixbuf-sys", +- "gdk-sys", +- "gio-sys", +- "glib-sys", +- "gobject-sys", +- "libc", +- "pango-sys", +- "pkg-config", +-] +- +-[[package]] +-name = "hermit-abi" +-version = "0.1.18" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "322f4de77956e22ed0e5032c359a0f1273f1f7f0d79bfa3b8ffbc730d7fbcc5c" +-dependencies = [ +- "libc", +-] +- +-[[package]] +-name = "humantime" +-version = "1.3.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f" +-dependencies = [ +- "quick-error", +-] +- +-[[package]] +-name = "imap" +-version = "2.4.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "c617c55def8c42129e0dd503f11d7ee39d73f5c7e01eff55768b3879ff1d107d" +-dependencies = [ +- "base64 0.13.0", +- "bufstream", +- "chrono", +- "imap-proto", +- "lazy_static", +- "native-tls", +- "nom 5.1.2", +- "regex", +-] +- +-[[package]] +-name = "imap-proto" +-version = "0.10.2" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "16a6def1d5ac8975d70b3fd101d57953fe3278ef2ee5d7816cba54b1d1dfc22f" +-dependencies = [ +- "nom 5.1.2", +-] +- +-[[package]] +-name = "lazy_static" +-version = "1.4.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +- +-[[package]] +-name = "lazycell" +-version = "1.3.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" +- +-[[package]] +-name = "lexical-core" +-version = "0.7.4" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "db65c6da02e61f55dae90a0ae427b2a5f6b3e8db09f58d10efab23af92592616" +-dependencies = [ +- "arrayvec", +- "bitflags 1.2.1", +- "cfg-if 0.1.10", +- "ryu", +- "static_assertions", +-] +- +-[[package]] +-name = "libappindicator" +-version = "0.5.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "8f31c50d55007b7c159531ad0301ab6fc3c65de3788ae8956ecbf9b890304059" +-dependencies = [ +- "glib", +- "gtk", +- "gtk-sys", +- "libappindicator-sys", +- "log", +-] +- +-[[package]] +-name = "libappindicator-sys" +-version = "0.4.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "366238ec86fad8ffcf593078ff667f9852bf30836b38ebd1a70d3c9ddfec07a3" +-dependencies = [ +- "bindgen", +- "gtk-sys", +- "pkg-config", +-] +- +-[[package]] +-name = "libc" +-version = "0.2.83" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "7eb0c4e9c72ee9d69b767adebc5f4788462a3b45624acd919475c92597bcaf4f" +- +-[[package]] +-name = "libdbus-sys" +-version = "0.2.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "dc12a3bc971424edbbf7edaf6e5740483444db63aa8e23d3751ff12a30f306f0" +-dependencies = [ +- "pkg-config", +-] +- +-[[package]] +-name = "libloading" +-version = "0.5.2" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "f2b111a074963af1d37a139918ac6d49ad1d0d5e47f72fd55388619691a7d753" +-dependencies = [ +- "cc", +- "winapi", +-] +- +-[[package]] +-name = "log" +-version = "0.4.14" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710" +-dependencies = [ +- "cfg-if 1.0.0", +-] +- +-[[package]] +-name = "mac-notification-sys" +-version = "0.3.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "3dfb6b71a9a89cd38b395d994214297447e8e63b1ba5708a9a2b0b1048ceda76" +-dependencies = [ +- "cc", +- "chrono", +- "dirs", +- "objc-foundation", +-] +- +-[[package]] +-name = "mailparse" +-version = "0.13.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "388a77a7f161b32d0314404306b8ed5966b34b797fc9ef6bcf6686935162da3c" +-dependencies = [ +- "base64 0.12.3", +- "charset", +- "quoted_printable", +-] +- +-[[package]] +-name = "malloc_buf" +-version = "0.0.6" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" +-dependencies = [ +- "libc", +-] +- +-[[package]] +-name = "memchr" +-version = "2.3.4" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "0ee1c47aaa256ecabcaea351eae4a9b01ef39ed810004e298d2511ed284b1525" +- +-[[package]] +-name = "memoffset" +-version = "0.6.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "157b4208e3059a8f9e78d559edc658e13df41410cb3ae03979c83130067fdd87" +-dependencies = [ +- "autocfg", +-] +- +-[[package]] +-name = "native-tls" +-version = "0.2.7" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "b8d96b2e1c8da3957d58100b09f102c6d9cfdfced01b7ec5a8974044bb09dbd4" +-dependencies = [ +- "lazy_static", +- "libc", +- "log", +- "openssl", +- "openssl-probe", +- "openssl-sys", +- "schannel", +- "security-framework", +- "security-framework-sys", +- "tempfile", +-] +- +-[[package]] +-name = "nom" +-version = "4.2.3" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "2ad2a91a8e869eeb30b9cb3119ae87773a8f4ae617f41b1eb9c154b2905f7bd6" +-dependencies = [ +- "memchr", +- "version_check 0.1.5", +-] +- +-[[package]] +-name = "nom" +-version = "5.1.2" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "ffb4262d26ed83a1c0a33a38fe2bb15797329c85770da05e6b828ddb782627af" +-dependencies = [ +- "lexical-core", +- "memchr", +- "version_check 0.9.2", +-] +- +-[[package]] +-name = "notify-rust" +-version = "4.2.2" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "95a3a5dd7b4b415b112ce0fae1988f3e6dee90a96918bf3950b5f2289b19a04b" +-dependencies = [ +- "dbus", +- "mac-notification-sys", +- "winrt-notification", +-] +- +-[[package]] +-name = "num-integer" +-version = "0.1.44" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db" +-dependencies = [ +- "autocfg", +- "num-traits", +-] +- +-[[package]] +-name = "num-traits" +-version = "0.2.14" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290" +-dependencies = [ +- "autocfg", +-] +- +-[[package]] +-name = "num_cpus" +-version = "1.13.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3" +-dependencies = [ +- "hermit-abi", +- "libc", +-] +- +-[[package]] +-name = "objc" +-version = "0.2.7" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" +-dependencies = [ +- "malloc_buf", +-] +- +-[[package]] +-name = "objc-foundation" +-version = "0.1.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9" +-dependencies = [ +- "block", +- "objc", +- "objc_id", +-] +- +-[[package]] +-name = "objc_id" +-version = "0.1.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b" +-dependencies = [ +- "objc", +-] +- +-[[package]] +-name = "once_cell" +-version = "1.5.2" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "13bd41f508810a131401606d54ac32a467c97172d74ba7662562ebba5ad07fa0" +- +-[[package]] +-name = "openssl" +-version = "0.10.32" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "038d43985d1ddca7a9900630d8cd031b56e4794eecc2e9ea39dd17aa04399a70" +-dependencies = [ +- "bitflags 1.2.1", +- "cfg-if 1.0.0", +- "foreign-types", +- "lazy_static", +- "libc", +- "openssl-sys", +-] +- +-[[package]] +-name = "openssl-probe" +-version = "0.1.2" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de" +- +-[[package]] +-name = "openssl-sys" +-version = "0.9.60" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "921fc71883267538946025deffb622905ecad223c28efbfdef9bb59a0175f3e6" +-dependencies = [ +- "autocfg", +- "cc", +- "libc", +- "pkg-config", +- "vcpkg", +-] +- +-[[package]] +-name = "pango" +-version = "0.8.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "1e9c6b728f1be8edb5f9f981420b651d5ea30bdb9de89f1f1262d0084a020577" +-dependencies = [ +- "bitflags 1.2.1", +- "glib", +- "glib-sys", +- "gobject-sys", +- "lazy_static", +- "libc", +- "pango-sys", +-] +- +-[[package]] +-name = "pango-sys" +-version = "0.9.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "86b93d84907b3cf0819bff8f13598ba72843bee579d5ebc2502e4b0367b4be7d" +-dependencies = [ +- "glib-sys", +- "gobject-sys", +- "libc", +- "pkg-config", +-] +- +-[[package]] +-name = "peeking_take_while" +-version = "0.1.2" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" +- +-[[package]] +-name = "pin-project-lite" +-version = "0.2.4" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "439697af366c49a6d0a010c56a0d97685bc140ce0d377b13a2ea2aa42d64a827" +- +-[[package]] +-name = "pin-utils" +-version = "0.1.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +- +-[[package]] +-name = "pkg-config" +-version = "0.3.19" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "3831453b3449ceb48b6d9c7ad7c96d5ea673e9b470a1dc578c2ce6521230884c" +- +-[[package]] +-name = "ppv-lite86" +-version = "0.2.10" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857" +- +-[[package]] +-name = "proc-macro-hack" +-version = "0.5.19" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" +- +-[[package]] +-name = "proc-macro-nested" +-version = "0.1.7" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "bc881b2c22681370c6a780e47af9840ef841837bc98118431d4e1868bd0c1086" +- +-[[package]] +-name = "proc-macro2" +-version = "1.0.24" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "1e0704ee1a7e00d7bb417d0770ea303c1bccbabf0ef1667dae92b5967f5f8a71" +-dependencies = [ +- "unicode-xid 0.2.1", +-] +- +-[[package]] +-name = "quick-error" +-version = "1.2.3" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" +- +-[[package]] +-name = "quote" +-version = "0.3.15" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a" +- +-[[package]] +-name = "quote" +-version = "1.0.8" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "991431c3519a3f36861882da93630ce66b52918dcf1b8e2fd66b397fc96f28df" +-dependencies = [ +- "proc-macro2", +-] +- +-[[package]] +-name = "quoted_printable" +-version = "0.4.2" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "47b080c5db639b292ac79cbd34be0cfc5d36694768d8341109634d90b86930e2" +- +-[[package]] +-name = "rand" +-version = "0.8.3" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e" +-dependencies = [ +- "libc", +- "rand_chacha", +- "rand_core", +- "rand_hc", +-] +- +-[[package]] +-name = "rand_chacha" +-version = "0.3.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "e12735cf05c9e10bf21534da50a147b924d555dc7a547c42e6bb2d5b6017ae0d" +-dependencies = [ +- "ppv-lite86", +- "rand_core", +-] +- +-[[package]] +-name = "rand_core" +-version = "0.6.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "c026d7df8b298d90ccbbc5190bd04d85e159eaf5576caeacf8741da93ccbd2e5" +-dependencies = [ +- "getrandom 0.2.2", +-] +- +-[[package]] +-name = "rand_hc" +-version = "0.3.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73" +-dependencies = [ +- "rand_core", +-] +- +-[[package]] +-name = "rayon" +-version = "1.5.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "8b0d8e0819fadc20c74ea8373106ead0600e3a67ef1fe8da56e39b9ae7275674" +-dependencies = [ +- "autocfg", +- "crossbeam-deque", +- "either", +- "rayon-core", +-] +- +-[[package]] +-name = "rayon-core" +-version = "1.9.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "9ab346ac5921dc62ffa9f89b7a773907511cdfa5490c572ae9be1be33e8afa4a" +-dependencies = [ +- "crossbeam-channel", +- "crossbeam-deque", +- "crossbeam-utils", +- "lazy_static", +- "num_cpus", +-] +- +-[[package]] +-name = "redox_syscall" +-version = "0.1.57" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce" +- +-[[package]] +-name = "redox_syscall" +-version = "0.2.4" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "05ec8ca9416c5ea37062b502703cd7fcb207736bc294f6e0cf367ac6fc234570" +-dependencies = [ +- "bitflags 1.2.1", +-] +- +-[[package]] +-name = "redox_users" +-version = "0.3.5" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "de0737333e7a9502c789a36d7c7fa6092a49895d4faa31ca5df163857ded2e9d" +-dependencies = [ +- "getrandom 0.1.16", +- "redox_syscall 0.1.57", +- "rust-argon2", +-] +- +-[[package]] +-name = "redox_users" +-version = "0.4.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64" +-dependencies = [ +- "getrandom 0.2.2", +- "redox_syscall 0.2.4", +-] +- +-[[package]] +-name = "regex" +-version = "1.4.3" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "d9251239e129e16308e70d853559389de218ac275b515068abc96829d05b948a" +-dependencies = [ +- "aho-corasick", +- "memchr", +- "regex-syntax", +- "thread_local", +-] +- +-[[package]] +-name = "regex-syntax" +-version = "0.6.22" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "b5eb417147ba9860a96cfe72a0b93bf88fee1744b5636ec99ab20c1aa9376581" +- +-[[package]] +-name = "remove_dir_all" +-version = "0.5.3" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" +-dependencies = [ +- "winapi", +-] +- +-[[package]] +-name = "rust-argon2" +-version = "0.8.3" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "4b18820d944b33caa75a71378964ac46f58517c92b6ae5f762636247c09e78fb" +-dependencies = [ +- "base64 0.13.0", +- "blake2b_simd", +- "constant_time_eq", +- "crossbeam-utils", +-] +- +-[[package]] +-name = "rustc-hash" +-version = "1.1.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" +- +-[[package]] +-name = "ryu" +-version = "1.0.5" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e" +- +-[[package]] +-name = "schannel" +-version = "0.1.19" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "8f05ba609c234e60bee0d547fe94a4c7e9da733d1c962cf6e59efa4cd9c8bc75" +-dependencies = [ +- "lazy_static", +- "winapi", +-] +- +-[[package]] +-name = "scopeguard" +-version = "1.1.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" +- +-[[package]] +-name = "security-framework" +-version = "2.0.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "c1759c2e3c8580017a484a7ac56d3abc5a6c1feadf88db2f3633f12ae4268c69" +-dependencies = [ +- "bitflags 1.2.1", +- "core-foundation", +- "core-foundation-sys", +- "libc", +- "security-framework-sys", +-] +- +-[[package]] +-name = "security-framework-sys" +-version = "2.0.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "f99b9d5e26d2a71633cc4f2ebae7cc9f874044e0c351a27e17892d76dce5678b" +-dependencies = [ +- "core-foundation-sys", +- "libc", +-] +- +-[[package]] +-name = "serde" +-version = "1.0.123" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "92d5161132722baa40d802cc70b15262b98258453e85e5d1d365c757c73869ae" +- +-[[package]] +-name = "shlex" +-version = "0.1.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "7fdf1b9db47230893d76faad238fd6097fd6d6a9245cd7a4d90dbd639536bbd2" +- +-[[package]] +-name = "slab" +-version = "0.4.2" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" +- +-[[package]] +-name = "static_assertions" +-version = "1.1.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" +- +-[[package]] +-name = "strsim" +-version = "0.8.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" +- +-[[package]] +-name = "strum" +-version = "0.8.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "4ca6e4730f517e041e547ffe23d29daab8de6b73af4b6ae2a002108169f5e7da" +- +-[[package]] +-name = "strum_macros" +-version = "0.8.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "3384590878eb0cab3b128e844412e2d010821e7e091211b9d87324173ada7db8" +-dependencies = [ +- "quote 0.3.15", +- "syn 0.11.11", +-] +- +-[[package]] +-name = "syn" +-version = "0.11.11" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b441dad" +-dependencies = [ +- "quote 0.3.15", +- "synom", +- "unicode-xid 0.0.4", +-] +- +-[[package]] +-name = "syn" +-version = "1.0.60" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "c700597eca8a5a762beb35753ef6b94df201c81cca676604f547495a0d7f0081" +-dependencies = [ +- "proc-macro2", +- "quote 1.0.8", +- "unicode-xid 0.2.1", +-] +- +-[[package]] +-name = "synom" +-version = "0.11.3" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b51945b6" +-dependencies = [ +- "unicode-xid 0.0.4", +-] +- +-[[package]] +-name = "systray" +-version = "0.4.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "e2d32363b257d5b4d444bb76a7d063663569544fd598cf4fd2f13bb5b0f2d8b5" +-dependencies = [ +- "glib", +- "gtk", +- "libappindicator", +- "libc", +- "log", +- "winapi", +-] +- +-[[package]] +-name = "tempfile" +-version = "3.2.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "dac1c663cfc93810f88aed9b8941d48cabf856a1b111c29a40439018d870eb22" +-dependencies = [ +- "cfg-if 1.0.0", +- "libc", +- "rand", +- "redox_syscall 0.2.4", +- "remove_dir_all", +- "winapi", +-] +- +-[[package]] +-name = "termcolor" +-version = "1.1.2" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "2dfed899f0eb03f32ee8c6a0aabdb8a7949659e3466561fc0adf54e26d88c5f4" +-dependencies = [ +- "winapi-util", +-] +- +-[[package]] +-name = "textwrap" +-version = "0.11.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" +-dependencies = [ +- "unicode-width", +-] +- +-[[package]] +-name = "thread_local" +-version = "1.1.2" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "d8208a331e1cb318dd5bd76951d2b8fc48ca38a69f5f4e4af1b6a9f8c6236915" +-dependencies = [ +- "once_cell", +-] +- +-[[package]] +-name = "time" +-version = "0.1.43" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438" +-dependencies = [ +- "libc", +- "winapi", +-] +- +-[[package]] +-name = "toml" +-version = "0.5.8" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa" +-dependencies = [ +- "serde", +-] +- +-[[package]] +-name = "unicode-width" +-version = "0.1.8" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3" +- +-[[package]] +-name = "unicode-xid" +-version = "0.0.4" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc" +- +-[[package]] +-name = "unicode-xid" +-version = "0.2.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564" +- +-[[package]] +-name = "vcpkg" +-version = "0.2.11" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "b00bca6106a5e23f3eee943593759b7fcddb00554332e856d990c893966879fb" +- +-[[package]] +-name = "vec_map" +-version = "0.8.2" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" +- +-[[package]] +-name = "version_check" +-version = "0.1.5" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd" +- +-[[package]] +-name = "version_check" +-version = "0.9.2" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "b5a972e5669d67ba988ce3dc826706fb0a8b01471c088cb0b6110b805cc36aed" +- +-[[package]] +-name = "wasi" +-version = "0.9.0+wasi-snapshot-preview1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" +- +-[[package]] +-name = "wasi" +-version = "0.10.1+wasi-snapshot-preview1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "93c6c3420963c5c64bca373b25e77acb562081b9bb4dd5bb864187742186cea9" +- +-[[package]] +-name = "which" +-version = "3.1.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "d011071ae14a2f6671d0b74080ae0cd8ebf3a6f8c9589a2cd45f23126fe29724" +-dependencies = [ +- "libc", +-] +- +-[[package]] +-name = "winapi" +-version = "0.3.9" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +-dependencies = [ +- "winapi-i686-pc-windows-gnu", +- "winapi-x86_64-pc-windows-gnu", +-] +- +-[[package]] +-name = "winapi-i686-pc-windows-gnu" +-version = "0.4.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" +- +-[[package]] +-name = "winapi-util" +-version = "0.1.5" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +-dependencies = [ +- "winapi", +-] +- +-[[package]] +-name = "winapi-x86_64-pc-windows-gnu" +-version = "0.4.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +- +-[[package]] +-name = "winrt" +-version = "0.4.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "7e30cba82e22b083dc5a422c2ee77e20dc7927271a0dc981360c57c1453cb48d" +-dependencies = [ +- "winapi", +-] +- +-[[package]] +-name = "winrt-notification" +-version = "0.2.2" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "6c31a65da50d792c6f9bd2e3216249566c4fb1d2d34f9b7d2d66d2e93f62a242" +-dependencies = [ +- "strum", +- "strum_macros", +- "winapi", +- "winrt", +- "xml-rs", +-] +- +-[[package]] +-name = "xml-rs" +-version = "0.6.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "e1945e12e16b951721d7976520b0832496ef79c31602c7a29d950de79ba74621" +-dependencies = [ +- "bitflags 0.9.1", +-] +diff --git Cargo.toml Cargo.toml +index c753b3f..7c08231 100644 +--- Cargo.toml ++++ Cargo.toml +@@ -1,6 +1,6 @@ + [package] + name = "buzz" +-version = "1.5.0" ++version = "1.3.0" + edition = "2018" + + description = "A simple system tray application for notifying about unseen e-mail" +@@ -25,11 +25,10 @@ debug=true + [dependencies] + imap = "2.0" + native-tls = "0.2" +-systray = "0.4" +-mailparse = "0.13" ++mailparse = "0.12" + toml = "0.5" + notify-rust = "4.0.0-beta.2" + rayon = "1.0.0" + askama_escape = "0.10" + chrono = "0.4" +-directories-next = "2" ++directories-next = "1.0.1" +diff --git README.md README.md +index 704f335..b8d367f 100644 +--- README.md ++++ README.md +@@ -47,10 +47,9 @@ arrive for an account. The options for an account are as follows: + - `username`: Username for authentication. + - `pwcmd`: Command to execute to get password for authentication. + - `notificationcmd`: Additional command to be executed on new messages for this account. +- - `folder`: Name of the folder to watch (optional; defaults to "INBOX"). + + # TODOs + + - [ ] `click` command + - [ ] hover tooltip +- - [x] customizeable folder ++ - [ ] customizeable folder +diff --git src/main.rs src/main.rs +index 16ab8e1..01ca920 100644 +--- src/main.rs ++++ src/main.rs +@@ -8,7 +8,7 @@ use std::collections::BTreeMap; + use std::fs::File; + use std::io::prelude::*; + use std::net::TcpStream; +-use std::process::Command; ++use std::process::{Command, Stdio}; + use std::sync::mpsc; + use std::thread; + use std::time::Duration; +@@ -22,7 +22,6 @@ struct Account { + username: String, + password: String, + notification_command: Option, +- folder: Option, + } + + impl Account { +@@ -41,11 +40,7 @@ impl Account { + .join(","), + )); + } +- +- // if a folder is specified in config, use it otherwise use INBOX +- let folder = self.folder.clone().unwrap_or("INBOX".into()); +- c.select(folder)?; +- ++ c.select("INBOX")?; + Ok(Connection { + account: self.clone(), + socket: c, +@@ -85,6 +80,7 @@ impl Connection { + } + Err(e) => { + eprintln!("failed to connect to {}: {:?}", self.account.name, e); ++ println!(" "); + thread::sleep(Duration::from_secs(wait)); + } + } +@@ -104,8 +100,8 @@ impl Connection { + + loop { + // check current state of inbox +- let mut uids = self.socket.uid_search("NEW 1:*")?; +- let num_new = uids.len(); ++ let mut uids = self.socket.uid_search("UNSEEN 1:*")?; ++ let num_unseen = uids.len(); + if uids.iter().all(|&uid| uid <= last_notified) { + // there are no messages we haven't already notified about + uids.clear(); +@@ -154,7 +150,7 @@ impl Connection { + + if !subjects.is_empty() { + if let Some(notificationcmd) = &self.account.notification_command { +- match Command::new("sh").arg("-c").arg(notificationcmd).status() { ++ match Command::new("sh").stdout(Stdio::null()).stderr(Stdio::null()).arg("-c").arg(notificationcmd).status() { + Ok(s) if s.success() => {} + Ok(s) => { + eprint!( +@@ -177,7 +173,10 @@ impl Connection { + } + + use notify_rust::{Hint, Notification}; +- let title = format!("@{} has new mail ({})", self.account.name, num_new); ++ let title = format!( ++ "@{} has new mail ({} unseen)", ++ self.account.name, num_unseen ++ ); + + // we want the n newest e-mail in reverse chronological order + let mut body = String::new(); +@@ -188,8 +187,8 @@ impl Connection { + } + let body = body.trim_end(); + +- println!("! {}", title); +- println!("{}", body); ++ // println!("! {}", title); ++ // println!("{}", body); + if let Some(mut n) = notification.take() { + n.summary(&title).body(&format!( + "{}", +@@ -213,7 +212,7 @@ impl Connection { + } + } + +- if tx.send(Some((account, num_new))).is_err() { ++ if tx.send(Some((account, num_unseen))).is_err() { + // we're exiting! + break Ok(()); + } +@@ -309,10 +308,6 @@ fn main() { + None => return parse_failed("notificationcmd", "string"), + }, + ), +- folder: t.get("folder").and_then(|raw_v| match raw_v.as_str() { +- Some(v) => Some(v.to_string()), +- None => return parse_failed("folder", "string"), +- }), + }) + } + }) +@@ -328,32 +323,7 @@ fn main() { + return; + } + +- // Create a new application +- let mut app = match systray::Application::new() { +- Ok(app) => app, +- Err(e) => { +- println!("Could not create gtk application: {}", e); +- return; +- } +- }; +- if let Err(e) = app.set_icon_from_file("/usr/share/icons/Faenza/stock/24/stock_disconnect.png") +- { +- println!("Could not set application icon: {}", e); +- } +- + let (tx, rx) = mpsc::channel(); +- let tx_close = std::sync::Mutex::new(tx.clone()); +- if let Err(e) = app.add_menu_item("Quit", move |window| { +- tx_close.lock().unwrap().send(None).unwrap(); +- window.quit(); +- Ok::<_, systray::Error>(()) +- }) { +- println!("Could not add application Quit menu option: {}", e); +- } +- +- // TODO: w.set_tooltip(&"Whatever".to_string()); +- // TODO: app.wait_for_message(); +- + let accounts: Vec<_> = accounts + .par_iter() + .filter_map(|account| { +@@ -366,6 +336,7 @@ fn main() { + "Failed to connect account {}: {}; retrying in {}s", + account.name, e, wait + ); ++ println!(" "); + thread::sleep(Duration::from_secs(wait)); + } + Err(e) => { +@@ -383,14 +354,14 @@ fn main() { + + if accounts.is_empty() { + println!("No accounts in config worked; exiting..."); ++ println!(" "); + return; + } + + // We have now connected +- app.set_icon_from_file("/usr/share/icons/Faenza/stock/24/stock_connect.png") +- .ok(); ++ println!("Connected..."); + +- let mut new: Vec<_> = accounts.iter().map(|_| 0).collect(); ++ let mut unseen: Vec<_> = accounts.iter().map(|_| 0).collect(); + for (i, conn) in accounts.into_iter().enumerate() { + let tx = tx.clone(); + thread::spawn(move || { +@@ -399,18 +370,15 @@ fn main() { + } + + for r in rx { +- let (i, num_new) = if let Some(r) = r { ++ let (i, num_unseen) = if let Some(r) = r { + r + } else { + break; + }; +- new[i] = num_new; +- if new.iter().sum::() == 0 { +- app.set_icon_from_file("/usr/share/icons/oxygen/base/32x32/status/mail-unread.png") +- .unwrap(); +- } else { +- app.set_icon_from_file("/usr/share/icons/oxygen/base/32x32/status/mail-unread-new.png") +- .unwrap(); ++ unseen[i] = num_unseen; ++ match unseen.iter().sum::() { ++ 0 => println!(" "), ++ len @ _ => println!(" {}", len), + } + } + } diff --git a/srcpkgs/buzz/template b/srcpkgs/buzz/template new file mode 100644 index 000000000000..8f5d4ff3825c --- /dev/null +++ b/srcpkgs/buzz/template @@ -0,0 +1,15 @@ +# Template file for 'buzz' +pkgname=buzz +version=1.5.0 +revision=1 +archs="x86_64" +build_style=cargo +hostmakedepends="pkg-config" +makedepends="openssl-devel" +depends="openssl" +short_desc="A simple system tray application for notifying about unseen e-mail" +maintainer="reedts " +license="MIT" +homepage="https://github.com/jonhoo/buzz" +distfiles="https://github.com/jonhoo/buzz/archive/v${version}.tar.gz" +checksum=12b4e8eb14274fd9eb1a5ab963e14e8120336e287bd9aa67d7bdd0c35e81e88f From 10e65bb815a815d458a66574d68c45777b242a52 Mon Sep 17 00:00:00 2001 From: reedts Date: Sun, 21 Mar 2021 19:31:07 +0100 Subject: [PATCH 10/26] Add patch for different configfiles --- srcpkgs/buzz/patches/args.patch | 94 +++++++++++++++++++++++++++++++++ srcpkgs/buzz/patches/series | 2 + 2 files changed, 96 insertions(+) create mode 100644 srcpkgs/buzz/patches/args.patch create mode 100644 srcpkgs/buzz/patches/series diff --git a/srcpkgs/buzz/patches/args.patch b/srcpkgs/buzz/patches/args.patch new file mode 100644 index 000000000000..af3a5373ea03 --- /dev/null +++ b/srcpkgs/buzz/patches/args.patch @@ -0,0 +1,94 @@ +diff --git Cargo.toml Cargo.toml +index 7c08231..c874238 100644 +--- Cargo.toml ++++ Cargo.toml +@@ -32,3 +32,4 @@ rayon = "1.0.0" + askama_escape = "0.10" + chrono = "0.4" + directories-next = "1.0.1" ++structopt = "0.3" +diff --git src/main.rs src/main.rs +index 01ca920..fd32b51 100644 +--- src/main.rs ++++ src/main.rs +@@ -8,12 +8,24 @@ use std::collections::BTreeMap; + use std::fs::File; + use std::io::prelude::*; + use std::net::TcpStream; ++use std::path::PathBuf; + use std::process::{Command, Stdio}; + use std::sync::mpsc; + use std::thread; + use std::time::Duration; + + use directories_next::ProjectDirs; ++use structopt::StructOpt; ++ ++#[derive(Debug, StructOpt)] ++#[structopt( ++ name = "buzz", ++ about = "A simple system tray application for notifying about unseen e-mail" ++)] ++struct Options { ++ #[structopt(short, long, parse(from_os_str))] ++ config: Option, ++} + + #[derive(Clone)] + struct Account { +@@ -150,7 +162,13 @@ impl Connection { + + if !subjects.is_empty() { + if let Some(notificationcmd) = &self.account.notification_command { +- match Command::new("sh").stdout(Stdio::null()).stderr(Stdio::null()).arg("-c").arg(notificationcmd).status() { ++ match Command::new("sh") ++ .stdout(Stdio::null()) ++ .stderr(Stdio::null()) ++ .arg("-c") ++ .arg(notificationcmd) ++ .status() ++ { + Ok(s) if s.success() => {} + Ok(s) => { + eprint!( +@@ -231,28 +249,32 @@ fn parse_failed(key: &str, typename: &str) -> Option { + + fn main() { + // Load the user's config +- let config = ProjectDirs::from("", "", "buzz") +- .expect("Could not find valid home directory.") +- .config_dir() +- .with_file_name("buzz.toml"); ++ let opts = Options::from_args(); ++ ++ let config = opts.config.unwrap_or_else(|| ++ ProjectDirs::from("", "", "buzz") ++ .expect("Could not find valid home directory.") ++ .config_dir() ++ .with_file_name("buzz.toml"), ++ ); + + let config = { +- let mut f = match File::open(config) { ++ let mut f = match File::open(&config) { + Ok(f) => f, + Err(e) => { +- println!("Could not open configuration file buzz.toml: {}", e); ++ println!("Could not open configuration file '{}': {}", &config.display(), e); + return; + } + }; + let mut s = String::new(); + if let Err(e) = f.read_to_string(&mut s) { +- println!("Could not read configuration file buzz.toml: {}", e); ++ println!("Could not read configuration file '{}': {}", &config.display(), e); + return; + } + match s.parse::() { + Ok(t) => t, + Err(e) => { +- println!("Could not parse configuration file buzz.toml: {}", e); ++ println!("Could not parse configuration file '{}': {}", &config.display(), e); + return; + } + } diff --git a/srcpkgs/buzz/patches/series b/srcpkgs/buzz/patches/series new file mode 100644 index 000000000000..b94853fd4193 --- /dev/null +++ b/srcpkgs/buzz/patches/series @@ -0,0 +1,2 @@ +no_systray.patch +args.patch From 88fe763c9fbee0db5e1b4afa763dc4bd75182d59 Mon Sep 17 00:00:00 2001 From: reedts Date: Wed, 31 Mar 2021 09:12:41 +0200 Subject: [PATCH 11/26] Add nightly neovim support --- srcpkgs/neovim-git/template | 38 +++++++++++++++++++++++++++++ srcpkgs/python3-neovim-git/template | 15 ++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 srcpkgs/neovim-git/template create mode 100644 srcpkgs/python3-neovim-git/template diff --git a/srcpkgs/neovim-git/template b/srcpkgs/neovim-git/template new file mode 100644 index 000000000000..7691841bf30c --- /dev/null +++ b/srcpkgs/neovim-git/template @@ -0,0 +1,38 @@ +# Template file for 'neovim-git' +pkgname=neovim-git +version=0.5.0 +revision=1 +build_style=gnu-makefile +build_helper="qemu" +make_build_args="CMAKE_BUILD_TYPE=Release CMAKE_INSTALL_PREFIX=/usr" +hostmakedepends="LuaJIT cmake curl automake gettext git gperf libtool m4 pkg-config unzip" +makedepends="libtermkey-devel libuv-devel libvterm-devel msgpack-devel LuaJIT-devel + libluv-devel libutf8proc-devel" +depends="libvterm>=0.1.0" +conflicts="neovim" +short_desc="Fork of Vim aiming to improve user experience, plugins and GUIs" +maintainer="reedts " +license="Apache-2.0, custom:Vim" +homepage="https://neovim.io" + +alternatives=" + vi:vi:/usr/bin/nvim + vi:vi.1:/usr/share/man/man1/nvim.1 + vi:view:/usr/bin/nvim + vi:view.1:/usr/share/man/man1/nvim.1 + vim:vim:/usr/bin/nvim + vim:vim.1:/usr/share/man/man1/nvim.1" + +pre_fetch() { + git clone https://github.com/neovim/neovim ${wrksrc} + cd ${wrksrc} +} + +pre_configure() { + vsed -i runtime/CMakeLists.txt \ + -e "s|\".*/bin/nvim|\${CMAKE_CROSSCOMPILING_EMULATOR} &|g" +} + +post_install() { + vlicense LICENSE +} diff --git a/srcpkgs/python3-neovim-git/template b/srcpkgs/python3-neovim-git/template new file mode 100644 index 000000000000..180c34192cd9 --- /dev/null +++ b/srcpkgs/python3-neovim-git/template @@ -0,0 +1,15 @@ +# Template file for 'python3-neovim' +pkgname=python3-neovim-git +version=0.4.2 +revision=1 +wrksrc="pynvim-${version}" +build_style="python3-module" +hostmakedepends="python3-setuptools" +depends="neovim-git python3-greenlet python3-msgpack" +conflicts="python3-neovim" +short_desc="Python3 client for Neovim" +maintainer="Steve Prybylski " +license="Apache-2.0" +homepage="https://github.com/neovim/pynvim" +distfiles="https://github.com/neovim/pynvim/archive/${version}.tar.gz" +checksum=513b56741b1140e394536e6c29bae112a35b7c3602b71ba34acf2319570e26e7 From 7489f0aa8f73222978435f070cd75397da78dd13 Mon Sep 17 00:00:00 2001 From: reedts Date: Sun, 11 Apr 2021 21:53:14 +0200 Subject: [PATCH 12/26] Add nerdfont dejavu --- srcpkgs/nerd-fonts-dejavu-ttf/template | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 srcpkgs/nerd-fonts-dejavu-ttf/template diff --git a/srcpkgs/nerd-fonts-dejavu-ttf/template b/srcpkgs/nerd-fonts-dejavu-ttf/template new file mode 100644 index 000000000000..ad8b8738b5d9 --- /dev/null +++ b/srcpkgs/nerd-fonts-dejavu-ttf/template @@ -0,0 +1,25 @@ +# Template file for 'nerd-fonts-dejavu-ttf' +pkgname=nerd-fonts-dejavu-ttf +version=2.1.0 +revision=1 +depends="font-util xbps-triggers" +conflicts="nerd-fonts-ttf" +short_desc="Iconic font aggregator, collection and patcher" +maintainer="reedts " +license="MIT" +homepage="https://nerdfonts.com" +distfiles="https://github.com/ryanoasis/nerd-fonts/archive/v${version}.tar.gz" +checksum="a084ca91a174b547bab4523507824c76aa91ebcf38f9256a4ffd181813f87bd8" +wrksrc="nerd-fonts-${version}" + +do_install() { + vmkdir /usr/share/fonts/NerdFonts/ttf + + # get DejaVu patched ttf fonts + find patched-fonts/DejaVuSansMono -name '*.ttf' -exec install -Dm644 '{}' ${DESTDIR}/usr/share/fonts/NerdFonts/ttf \; + + # remove windows fonts + find ${DESTDIR}/usr/share/fonts/NerdFonts -name '*Windows Compatible.*tf' -delete + + vlicense LICENSE +} From 0191d0a6c40b6423711f73d0f9cba932fa956c66 Mon Sep 17 00:00:00 2001 From: reedts Date: Mon, 12 Apr 2021 13:13:09 +0200 Subject: [PATCH 13/26] Update --- srcpkgs/nerd-fonts-dejavu-ttf/template | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/srcpkgs/nerd-fonts-dejavu-ttf/template b/srcpkgs/nerd-fonts-dejavu-ttf/template index ad8b8738b5d9..aec5fdec454d 100644 --- a/srcpkgs/nerd-fonts-dejavu-ttf/template +++ b/srcpkgs/nerd-fonts-dejavu-ttf/template @@ -2,24 +2,27 @@ pkgname=nerd-fonts-dejavu-ttf version=2.1.0 revision=1 +create_wrksrc=yes +hostmakedepends="unzip" depends="font-util xbps-triggers" -conflicts="nerd-fonts-ttf" short_desc="Iconic font aggregator, collection and patcher" maintainer="reedts " license="MIT" homepage="https://nerdfonts.com" -distfiles="https://github.com/ryanoasis/nerd-fonts/archive/v${version}.tar.gz" -checksum="a084ca91a174b547bab4523507824c76aa91ebcf38f9256a4ffd181813f87bd8" -wrksrc="nerd-fonts-${version}" +distfiles="https://github.com/ryanoasis/nerd-fonts/releases/download/v${version}/DejaVuSansMono.zip" +checksum=3fbcc4904c88f68d24c8b479784a1aba37f2d78b1162d21f6fc85a58ffcc0e0f +conflicts="nerd-fonts-ttf" +font_dirs="/usr/share/fonts/NerdFonts/ttf" + +do_extract() { + unzip -d ${wrksrc} ${XBPS_SRCDISTDIR}/${pkgname}-${version}/DejaVuSansMono.zip +} do_install() { vmkdir /usr/share/fonts/NerdFonts/ttf - # get DejaVu patched ttf fonts - find patched-fonts/DejaVuSansMono -name '*.ttf' -exec install -Dm644 '{}' ${DESTDIR}/usr/share/fonts/NerdFonts/ttf \; + find . -name '*.ttf' -exec install -Dm644 '{}' ${DESTDIR}/usr/share/fonts/NerdFonts/ttf \; # remove windows fonts find ${DESTDIR}/usr/share/fonts/NerdFonts -name '*Windows Compatible.*tf' -delete - - vlicense LICENSE } From 6388906255f83c5c3390e3e359832d2777f72abf Mon Sep 17 00:00:00 2001 From: reedts Date: Mon, 12 Apr 2021 13:15:11 +0200 Subject: [PATCH 14/26] Merge two find commands --- srcpkgs/nerd-fonts-dejavu-ttf/template | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/srcpkgs/nerd-fonts-dejavu-ttf/template b/srcpkgs/nerd-fonts-dejavu-ttf/template index aec5fdec454d..3c9bbec53170 100644 --- a/srcpkgs/nerd-fonts-dejavu-ttf/template +++ b/srcpkgs/nerd-fonts-dejavu-ttf/template @@ -21,8 +21,5 @@ do_extract() { do_install() { vmkdir /usr/share/fonts/NerdFonts/ttf - find . -name '*.ttf' -exec install -Dm644 '{}' ${DESTDIR}/usr/share/fonts/NerdFonts/ttf \; - - # remove windows fonts - find ${DESTDIR}/usr/share/fonts/NerdFonts -name '*Windows Compatible.*tf' -delete + find . -name "*.ttf" -not -name "*Windows Compatible.*tf" -exec install -Dm644 '{}' ${DESTDIR}/usr/share/fonts/NerdFonts/ttf \; } From a39a38b2697a0778cd0da3aee3225c14710adc55 Mon Sep 17 00:00:00 2001 From: reedts Date: Mon, 12 Apr 2021 16:22:06 +0200 Subject: [PATCH 15/26] Add symbols only nerd font --- srcpkgs/nerd-fonts-symbols-mono-ttf/template | 24 ++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 srcpkgs/nerd-fonts-symbols-mono-ttf/template diff --git a/srcpkgs/nerd-fonts-symbols-mono-ttf/template b/srcpkgs/nerd-fonts-symbols-mono-ttf/template new file mode 100644 index 000000000000..84815fafdb54 --- /dev/null +++ b/srcpkgs/nerd-fonts-symbols-mono-ttf/template @@ -0,0 +1,24 @@ +# Template file for 'nerd-fonts-symbols-mono-ttf' +pkgname=nerd-fonts-symbols-mono-ttf +version=2.1.0 +revision=1 +create_wrksrc=yes +depends="font-util xbps-triggers" +short_desc="High number of extra glyphs from popular 'iconic fonts'" +maintainer="reedts " +license="MIT" +homepage="https://nerdfonts.com" +distfiles="https://github.com/ryanoasis/nerd-fonts/raw/v${version}/src/glyphs/Symbols-1000-em%20Nerd%20Font%20Complete.ttf>Symbols-1000-em_Nerd_Font_Complete-${version}.ttf" +checksum="7d8ae85caba4df96fe51e07c863ec0f36741f771d7a7ba75dbc0b317abb055f5" +conflicts="nerd-fonts-ttf" +font_dirs="/usr/share/fonts/NerdFonts/ttf" + +do_extract() { + cp ${XBPS_SRCDISTDIR}/${pkgname}-${version}/Symbols-1000-em_Nerd_Font_Complete-${version}.ttf ${wrksrc} +} + +do_install() { + vmkdir /usr/share/fonts/NerdFonts/ttf + + vinstall Symbols-1000-em_Nerd_Font_Complete-${version}.ttf 644 /usr/share/fonts/NerdFonts/ttf "Symbols-1000-em Nerd Font Complete.ttf" +} From 12f6b9edf37b8bac6e955f10b1f7d5c15fe55a5e Mon Sep 17 00:00:00 2001 From: reedts Date: Tue, 15 Jun 2021 14:01:03 +0200 Subject: [PATCH 16/26] Signal-Desktop: update to 5.4.1. --- .../patches/build-from-tarball.patch | 9 ------ .../expire-from-source-date-epoch.patch | 13 +++++++++ srcpkgs/Signal-Desktop/template | 28 ++++++++++++------- 3 files changed, 31 insertions(+), 19 deletions(-) delete mode 100644 srcpkgs/Signal-Desktop/patches/build-from-tarball.patch create mode 100644 srcpkgs/Signal-Desktop/patches/expire-from-source-date-epoch.patch diff --git a/srcpkgs/Signal-Desktop/patches/build-from-tarball.patch b/srcpkgs/Signal-Desktop/patches/build-from-tarball.patch deleted file mode 100644 index e8c3db0e087e..000000000000 --- a/srcpkgs/Signal-Desktop/patches/build-from-tarball.patch +++ /dev/null @@ -1,9 +0,0 @@ ---- Gruntfile.js.orig 2020-04-26 23:32:09.861789510 +0200 -+++ Gruntfile.js 2020-04-26 23:32:21.424734031 +0200 -@@ -452,6 +452,5 @@ - 'concat', - 'copy:deps', - 'sass', -- 'date', - ]); - }; diff --git a/srcpkgs/Signal-Desktop/patches/expire-from-source-date-epoch.patch b/srcpkgs/Signal-Desktop/patches/expire-from-source-date-epoch.patch new file mode 100644 index 000000000000..a8a11ab72c45 --- /dev/null +++ b/srcpkgs/Signal-Desktop/patches/expire-from-source-date-epoch.patch @@ -0,0 +1,13 @@ +--- Gruntfile.js ++++ Gruntfile.js +@@ -203,9 +203,7 @@ module.exports = grunt => { + }); + + grunt.registerTask('getExpireTime', () => { +- grunt.task.requires('gitinfo'); +- const gitinfo = grunt.config.get('gitinfo'); +- const committed = gitinfo.local.branch.current.lastCommitTime; ++ const committed = parseInt(process.env.SOURCE_DATE_EPOCH, 10) * 1000; + const time = Date.parse(committed) + 1000 * 60 * 60 * 24 * 90; + grunt.file.write( + 'config/local-production.json', diff --git a/srcpkgs/Signal-Desktop/template b/srcpkgs/Signal-Desktop/template index 8999b6e483ff..57ad77a410b5 100644 --- a/srcpkgs/Signal-Desktop/template +++ b/srcpkgs/Signal-Desktop/template @@ -1,33 +1,39 @@ # Template file for 'Signal-Desktop' pkgname=Signal-Desktop -version=1.39.5 +version=5.4.1 revision=1 # Due to electron # 32-bit is not supported https://github.com/signalapp/Signal-Desktop/issues/1661 archs="x86_64" -hostmakedepends="git nodejs python tar yarn" -depends="libnotify libappindicator" +hostmakedepends="git git-lfs nodejs python3 tar yarn" +depends="libvips" short_desc="Signal Private Messenger for Linux" maintainer="Julio Galvan " -license="GPL-3.0-only" +license="AGPL-3.0-only" homepage="https://github.com/signalapp/Signal-Desktop" distfiles="https://github.com/signalapp/Signal-Desktop/archive/v${version}.tar.gz" -checksum=f9f55c0195579b43712bf370b753337432eda4bcf89809d1c8f3deb0b4ee4400 +checksum=60c3772c5951d95469e2ab491b2f09d7ee93c998909de8cb169e23b461b7ebbc nostrip_files="signal-desktop" -pre_build() { - vsed -e 's/"node": "/&>=/' -i package.json +post_extract() { + # git-lfs hook needs to be installed for one of the dependencies + git lfs install + + vsed 's/"node": "/&>=/' -i package.json + + yarn install --ignore-engines } do_build() { - yarn install --ignore-engines - yarn grunt - yarn build-release --dir + yarn generate + yarn build-release } do_install() { vmkdir usr/lib/signal-desktop + rm -rf release/linux-unpacked/resources/app.asar.unpacked/node_modules/ffi-napi/prebuilds/{darwin-x64,linux-arm64,win32-ia32,win32-x64} + rm -rf release/linux-unpacked/resources/app.asar.unpacked/node_modules/ref-napi/prebuilds/{darwin-x64,linux-arm64,win32-ia32,win32-x64} vcopy release/linux-unpacked/* usr/lib/signal-desktop vmkdir usr/bin @@ -40,4 +46,6 @@ do_install() { for size in 16 32 48 128 256 1024; do vinstall images/icon_${size}.png 644 usr/share/icons/hicolor/${size}x${size}/apps/ signal.png done + + vlicense LICENSE } From 91e10fa049e2eee343917f2fa721d4447b0a866f Mon Sep 17 00:00:00 2001 From: reedts Date: Wed, 16 Jun 2021 09:56:32 +0200 Subject: [PATCH 17/26] Signal-Desktop: update to 5.4.1. --- .../patches/build-from-tarball.patch | 9 ----- .../expire-from-source-date-epoch.patch | 13 +++++++ srcpkgs/Signal-Desktop/template | 35 +++++++++++++------ 3 files changed, 38 insertions(+), 19 deletions(-) delete mode 100644 srcpkgs/Signal-Desktop/patches/build-from-tarball.patch create mode 100644 srcpkgs/Signal-Desktop/patches/expire-from-source-date-epoch.patch diff --git a/srcpkgs/Signal-Desktop/patches/build-from-tarball.patch b/srcpkgs/Signal-Desktop/patches/build-from-tarball.patch deleted file mode 100644 index e8c3db0e087e..000000000000 --- a/srcpkgs/Signal-Desktop/patches/build-from-tarball.patch +++ /dev/null @@ -1,9 +0,0 @@ ---- Gruntfile.js.orig 2020-04-26 23:32:09.861789510 +0200 -+++ Gruntfile.js 2020-04-26 23:32:21.424734031 +0200 -@@ -452,6 +452,5 @@ - 'concat', - 'copy:deps', - 'sass', -- 'date', - ]); - }; diff --git a/srcpkgs/Signal-Desktop/patches/expire-from-source-date-epoch.patch b/srcpkgs/Signal-Desktop/patches/expire-from-source-date-epoch.patch new file mode 100644 index 000000000000..a8a11ab72c45 --- /dev/null +++ b/srcpkgs/Signal-Desktop/patches/expire-from-source-date-epoch.patch @@ -0,0 +1,13 @@ +--- Gruntfile.js ++++ Gruntfile.js +@@ -203,9 +203,7 @@ module.exports = grunt => { + }); + + grunt.registerTask('getExpireTime', () => { +- grunt.task.requires('gitinfo'); +- const gitinfo = grunt.config.get('gitinfo'); +- const committed = gitinfo.local.branch.current.lastCommitTime; ++ const committed = parseInt(process.env.SOURCE_DATE_EPOCH, 10) * 1000; + const time = Date.parse(committed) + 1000 * 60 * 60 * 24 * 90; + grunt.file.write( + 'config/local-production.json', diff --git a/srcpkgs/Signal-Desktop/template b/srcpkgs/Signal-Desktop/template index 8999b6e483ff..43af7b54ce62 100644 --- a/srcpkgs/Signal-Desktop/template +++ b/srcpkgs/Signal-Desktop/template @@ -1,32 +1,45 @@ # Template file for 'Signal-Desktop' pkgname=Signal-Desktop -version=1.39.5 +version=5.4.1 revision=1 -# Due to electron +# Signal officially only supports x86_64 (also due to Electron) +# discontinued Electron 32-bit support: https://www.electronjs.org/blog/linux-32bit-support # 32-bit is not supported https://github.com/signalapp/Signal-Desktop/issues/1661 +# armv7hf/arm64: https://github.com/signalapp/Signal-Desktop/issues/3410 archs="x86_64" -hostmakedepends="git nodejs python tar yarn" -depends="libnotify libappindicator" +hostmakedepends="git git-lfs nodejs python3 tar yarn" +depends="cairo gtk+3 libvips pango" short_desc="Signal Private Messenger for Linux" maintainer="Julio Galvan " -license="GPL-3.0-only" +license="AGPL-3.0-only" homepage="https://github.com/signalapp/Signal-Desktop" distfiles="https://github.com/signalapp/Signal-Desktop/archive/v${version}.tar.gz" -checksum=f9f55c0195579b43712bf370b753337432eda4bcf89809d1c8f3deb0b4ee4400 +checksum=60c3772c5951d95469e2ab491b2f09d7ee93c998909de8cb169e23b461b7ebbc nostrip_files="signal-desktop" -pre_build() { - vsed -e 's/"node": "/&>=/' -i package.json +post_extract() { + # git-lfs hook needs to be installed for one of the dependencies + git lfs install + + vsed 's/"node": "/&>=/' -i package.json + + # Dependencies have to be installed before applying patch + yarn install --ignore-engines --frozen-lockfile } do_build() { - yarn install --ignore-engines yarn grunt - yarn build-release --dir + yarn generate + yarn build-release } do_install() { vmkdir usr/lib/signal-desktop + + # Remove prebuilt binaries for foreign architectures (to not confuse strip) + for prebin in darwin-x64 linux-arm64 win32-ia32 win32-x64; do + rm -rf release/linux-unpacked/resources/app.asar.unpacked/node_modules/{ffi-napi,ref-napi}/prebuilds/$prebin + done vcopy release/linux-unpacked/* usr/lib/signal-desktop @@ -40,4 +53,6 @@ do_install() { for size in 16 32 48 128 256 1024; do vinstall images/icon_${size}.png 644 usr/share/icons/hicolor/${size}x${size}/apps/ signal.png done + + vlicense LICENSE } From 251cbfc150a3e91fb1a501cf2a9b63494d082a33 Mon Sep 17 00:00:00 2001 From: reedts Date: Tue, 6 Jul 2021 10:25:42 +0200 Subject: [PATCH 18/26] Remove git modules as stable version is upstream --- srcpkgs/neovim-git/template | 38 ----------------------------- srcpkgs/python3-neovim-git/template | 15 ------------ 2 files changed, 53 deletions(-) delete mode 100644 srcpkgs/neovim-git/template delete mode 100644 srcpkgs/python3-neovim-git/template diff --git a/srcpkgs/neovim-git/template b/srcpkgs/neovim-git/template deleted file mode 100644 index 7691841bf30c..000000000000 --- a/srcpkgs/neovim-git/template +++ /dev/null @@ -1,38 +0,0 @@ -# Template file for 'neovim-git' -pkgname=neovim-git -version=0.5.0 -revision=1 -build_style=gnu-makefile -build_helper="qemu" -make_build_args="CMAKE_BUILD_TYPE=Release CMAKE_INSTALL_PREFIX=/usr" -hostmakedepends="LuaJIT cmake curl automake gettext git gperf libtool m4 pkg-config unzip" -makedepends="libtermkey-devel libuv-devel libvterm-devel msgpack-devel LuaJIT-devel - libluv-devel libutf8proc-devel" -depends="libvterm>=0.1.0" -conflicts="neovim" -short_desc="Fork of Vim aiming to improve user experience, plugins and GUIs" -maintainer="reedts " -license="Apache-2.0, custom:Vim" -homepage="https://neovim.io" - -alternatives=" - vi:vi:/usr/bin/nvim - vi:vi.1:/usr/share/man/man1/nvim.1 - vi:view:/usr/bin/nvim - vi:view.1:/usr/share/man/man1/nvim.1 - vim:vim:/usr/bin/nvim - vim:vim.1:/usr/share/man/man1/nvim.1" - -pre_fetch() { - git clone https://github.com/neovim/neovim ${wrksrc} - cd ${wrksrc} -} - -pre_configure() { - vsed -i runtime/CMakeLists.txt \ - -e "s|\".*/bin/nvim|\${CMAKE_CROSSCOMPILING_EMULATOR} &|g" -} - -post_install() { - vlicense LICENSE -} diff --git a/srcpkgs/python3-neovim-git/template b/srcpkgs/python3-neovim-git/template deleted file mode 100644 index 180c34192cd9..000000000000 --- a/srcpkgs/python3-neovim-git/template +++ /dev/null @@ -1,15 +0,0 @@ -# Template file for 'python3-neovim' -pkgname=python3-neovim-git -version=0.4.2 -revision=1 -wrksrc="pynvim-${version}" -build_style="python3-module" -hostmakedepends="python3-setuptools" -depends="neovim-git python3-greenlet python3-msgpack" -conflicts="python3-neovim" -short_desc="Python3 client for Neovim" -maintainer="Steve Prybylski " -license="Apache-2.0" -homepage="https://github.com/neovim/pynvim" -distfiles="https://github.com/neovim/pynvim/archive/${version}.tar.gz" -checksum=513b56741b1140e394536e6c29bae112a35b7c3602b71ba34acf2319570e26e7 From 82c35813256b8055f91046d935484f14ddd149b3 Mon Sep 17 00:00:00 2001 From: reedts Date: Thu, 21 Jul 2022 12:53:28 +0200 Subject: [PATCH 19/26] New package: mensa-2d79250 --- srcpkgs/mensa/template | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 srcpkgs/mensa/template diff --git a/srcpkgs/mensa/template b/srcpkgs/mensa/template new file mode 100644 index 000000000000..e6ff453b0f35 --- /dev/null +++ b/srcpkgs/mensa/template @@ -0,0 +1,16 @@ +# Template file for 'mensa' +pkgname=mensa +version=2d79250 +revision=1 +wrksrc="mensa" +depends="python3 python3-requests python3-BeautifulSoup4" +short_desc="Mensa menu fetch and " +maintainer="reedts " +license="MIT" +homepage="https://git.rcx.one/eike/mensa" +distfiles="https://git.rcx.one/eike/mensa/archive/${version}.tar.gz" +checksum=e491adca53f6ccf81874329528aca25a2bee399e481b61f2b745a5c8948d2e46 + +do_install() { + vbin menu.py mensa +} From a7ed58cba580123d0817b7342f47a5bac688e173 Mon Sep 17 00:00:00 2001 From: Julian Bigge Date: Thu, 22 Sep 2022 14:46:15 +0200 Subject: [PATCH 20/26] New package: ripdrag-0.2.0 --- srcpkgs/ripdrag/template | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 srcpkgs/ripdrag/template diff --git a/srcpkgs/ripdrag/template b/srcpkgs/ripdrag/template new file mode 100644 index 000000000000..a857d71c2c49 --- /dev/null +++ b/srcpkgs/ripdrag/template @@ -0,0 +1,13 @@ +# Template file for 'ripdrag' +pkgname=ripdrag +version=0.2.0 +revision=1 +build_style=cargo +hostmakedepends="pkg-config" +makedepends="glib-devel gtk4-devel" +short_desc="Drag and drop files from and to the terminal" +maintainer="reedts " +license="GPL-3.0-or-later" +homepage="https://github.com/nik012003/ripdrag" +distfiles="https://static.crates.io/crates/ripdrag/ripdrag-${version}.crate" +checksum=70c6ba5240b6aef40e58d623de5b76db10531db4e0db839204d7778651b3f752 From 5a19845f4d0252b0ea3bdb0acd56bfc15474c1b8 Mon Sep 17 00:00:00 2001 From: Julian Bigge Date: Tue, 4 Oct 2022 11:50:26 +0200 Subject: [PATCH 21/26] New package: apptainer-1.1.0 --- srcpkgs/apptainer/template | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 srcpkgs/apptainer/template diff --git a/srcpkgs/apptainer/template b/srcpkgs/apptainer/template new file mode 100644 index 000000000000..bd06878c288e --- /dev/null +++ b/srcpkgs/apptainer/template @@ -0,0 +1,36 @@ +# Template file for 'apptainer' +pkgname=apptainer +version=1.1.0 +revision=1 +build_style=go +go_import_path=github.com/apptainer/apptainer +hostmakedepends="git pkg-config cryptsetup" +makedepends="openssl-devel" +depends="fakeroot fuse-overlayfs squashfs-tools" +short_desc="Open source container platform" +maintainer="reedts " +license="BSD-3-Clause" +homepage="https://github.com/apptainer/apptainer" +distfiles="https://github.com/apptainer/apptainer/releases/download/v${version}/${pkgname}-${version}.tar.gz" +checksum=1772f25c8770f976abb82c29053b77183930426a83eb3e43b9f8068c3e88ac30 + +do_build() { + ./mconfig \ + --prefix=/usr \ + --sysconfdir=/etc \ + --libexecdir=/usr/lib \ + --localstatedir=/var/lib \ + -P release-stripped \ + --without-suid \ + -v + + make -C builddir +} + +do_install() { + make -C builddir DESTDIR="${DESTDIR}" install +} + +post_install() { + vlicense LICENSE.md +} From d2f46300fe98b54dd2d54d91b4e102de30655c27 Mon Sep 17 00:00:00 2001 From: Julian Bigge Date: Tue, 4 Oct 2022 14:57:16 +0200 Subject: [PATCH 22/26] New package: squashfuse-0.1.105 --- srcpkgs/squashfuse/template | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 srcpkgs/squashfuse/template diff --git a/srcpkgs/squashfuse/template b/srcpkgs/squashfuse/template new file mode 100644 index 000000000000..d577213b7b84 --- /dev/null +++ b/srcpkgs/squashfuse/template @@ -0,0 +1,28 @@ +# Template file for 'squashfuse' +pkgname=squashfuse +version=0.1.105 +revision=1 +build_style=gnu-configure +#configure_args="" +#make_build_args="" +#make_install_args="" +#conf_files="" +hostmakedepends="autoconf automake libtool pkg-config" +makedepends="fuse-devel zlib-devel" +short_desc="FUSE filesystem to mount squashfs archives" +maintainer="reedts " +license="custom:" +homepage="https://github.com/vasi/squashfuse" +#changelog="" +distfiles="https://github.com/vasi/squashfuse/archive/refs/tags/${version}.tar.gz" +checksum=3f776892ab2044ecca417be348e482fee2839db75e35d165b53737cb8153ab1e + +pre_configure() { + # fix wrong version string + vsed -i ./configure.ac -e 's/0.1.104/0.1.105/' + ./autogen.sh +} + +post_install() { + vlicense LICENSE +} From f486e3fc2e2b822c86d025f0d3ad115880d35021 Mon Sep 17 00:00:00 2001 From: Julian Bigge Date: Tue, 4 Oct 2022 14:59:46 +0200 Subject: [PATCH 23/26] apptainer: update to 1.1.0. --- srcpkgs/apptainer/template | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/srcpkgs/apptainer/template b/srcpkgs/apptainer/template index bd06878c288e..d04bdff0d739 100644 --- a/srcpkgs/apptainer/template +++ b/srcpkgs/apptainer/template @@ -5,14 +5,15 @@ revision=1 build_style=go go_import_path=github.com/apptainer/apptainer hostmakedepends="git pkg-config cryptsetup" -makedepends="openssl-devel" -depends="fakeroot fuse-overlayfs squashfs-tools" +makedepends="openssl-devel libseccomp-devel" +depends="fakeroot fuse-overlayfs squashfs-tools squashfuse" short_desc="Open source container platform" maintainer="reedts " license="BSD-3-Clause" homepage="https://github.com/apptainer/apptainer" distfiles="https://github.com/apptainer/apptainer/releases/download/v${version}/${pkgname}-${version}.tar.gz" checksum=1772f25c8770f976abb82c29053b77183930426a83eb3e43b9f8068c3e88ac30 +make_dirs="/var/lib/apptainer/mnt/session 755 root root" do_build() { ./mconfig \ From 296a96ae84cf4ba46af9f4226af4fe09b2c60fb3 Mon Sep 17 00:00:00 2001 From: Julian Bigge Date: Wed, 2 Nov 2022 14:41:27 +0100 Subject: [PATCH 24/26] Bump version --- srcpkgs/mensa/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/mensa/template b/srcpkgs/mensa/template index e6ff453b0f35..d00e60b020d5 100644 --- a/srcpkgs/mensa/template +++ b/srcpkgs/mensa/template @@ -1,6 +1,6 @@ # Template file for 'mensa' pkgname=mensa -version=2d79250 +version=e83f806f16 revision=1 wrksrc="mensa" depends="python3 python3-requests python3-BeautifulSoup4" @@ -9,7 +9,7 @@ maintainer="reedts " license="MIT" homepage="https://git.rcx.one/eike/mensa" distfiles="https://git.rcx.one/eike/mensa/archive/${version}.tar.gz" -checksum=e491adca53f6ccf81874329528aca25a2bee399e481b61f2b745a5c8948d2e46 +checksum=a5ac71bd41bdcd1de113ef7d9d5ce5114e3b7bdfe183fc2d5d288a0a78434eed do_install() { vbin menu.py mensa From 3c57789794a3ca220a2d743e81b64fca3f594636 Mon Sep 17 00:00:00 2001 From: Julian Bigge Date: Wed, 2 Nov 2022 15:36:51 +0100 Subject: [PATCH 25/26] zotero: update to 6.0.16. --- srcpkgs/zotero/template | 48 ++++++++++++----------------------------- 1 file changed, 14 insertions(+), 34 deletions(-) diff --git a/srcpkgs/zotero/template b/srcpkgs/zotero/template index 96e7c34c0ef0..a0015b85c488 100644 --- a/srcpkgs/zotero/template +++ b/srcpkgs/zotero/template @@ -1,49 +1,29 @@ # Template file for 'zotero' pkgname=zotero -version=5.0.95.3 +version=6.0.16 revision=1 arch="x86_64" -hostmakedepends="awk curl git nodejs-lts openssh perl python python3 rsync tar unzip wget which zip" -makedepends="nodejs-lts" -depends="nodejs-lts" short_desc="A tool to help you collect, organize, cite, and share your research sources." maintainer="reedts " license="GPL-3.0-or-later" homepage="https://www.zotero.org" +distfiles="${homepage}/download/client/dl?channel=release&platform=linux-${arch}&version=${version}>Zotero-${version}_linux_${arch}.tar.bz2" nopie=yes - -do_fetch() { - git clone -b ${version} --recursive \ - https://github.com/zotero/zotero ${wrksrc}/zotero-client - - git clone -b ${version} --recursive \ - https://github.com/zotero/zotero-standalone-build \ - ${wrksrc}/zotero-standalone-build - - git clone --recursive \ - https://github.com/zotero/zotero-build \ - ${wrksrc}/zotero-build -} - -do_configure() { - cd ${wrksrc}/zotero-client - npm i -} - -do_build() { - cd ${wrksrc}/zotero-client - npm run build - - cd ${wrksrc}/zotero-standalone-build - ./fetch_mar_tools - ./fetch_xulrunner.sh -p l - ./fetch_pdftools - ./scripts/dir_build -} +checksum=3ea0bb3eaa514a6fd8b77a4af13bb372b86d7c949e257ead876c5bda7fc1ba5f +wrksrc="Zotero_linux-${arch}" do_install() { vmkdir opt/zotero vmkdir usr/bin - vcopy ${wrksrc}/zotero-standalone-build/staging/Zotero_linux-${arch}/* opt/zotero + vcopy ${wrksrc}/* opt/zotero ln -s "${DESTDIR}/opt/zotero/zotero" "${DESTDIR}/usr/bin/zotero" + vinstall "${wrksrc}/zotero.desktop" 755 "/usr/share/applications/zotero.desktop" + + for size in 16 32 48 256; do + vmkdir usr/share/icons/hicolor/${size}x${size}/apps + mv "${DESTDIR}/opt/zotero/chrome/icons/default/default${size}.png" "${DESTDIR}/usr/share/icons/hicolor/${size}x${size}/apps/zotero.png" + done + + # Disable APP update + vsed -i ${DESTDIR}/opt/zotero/defaults/preferences/prefs.js -e '/pref("app.update.enabled", true);/c\pref("app.update.enabled", false);' } From 914d0c44b37257d65018207af8478f1cf19f6728 Mon Sep 17 00:00:00 2001 From: reedts Date: Sat, 4 Mar 2023 15:53:23 +0100 Subject: [PATCH 26/26] New package: cargo-flamegraph-0.6.2 --- srcpkgs/cargo-flamegraph/template | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 srcpkgs/cargo-flamegraph/template diff --git a/srcpkgs/cargo-flamegraph/template b/srcpkgs/cargo-flamegraph/template new file mode 100644 index 000000000000..73b1ef6cb52d --- /dev/null +++ b/srcpkgs/cargo-flamegraph/template @@ -0,0 +1,23 @@ +# Template file for 'cargo-flamegraph' +pkgname=cargo-flamegraph +version=0.6.2 +revision=1 +build_style=cargo +build_helper=qemu +depends="perf" +short_desc="Easy flamegraphs for Rust projects and everything else" +maintainer="reedts " +license="MIT, Apache-2.0" +homepage="https://github.com/flamegraph-rs/flamegraph" +distfiles="https://github.com/flamegraph-rs/flamegraph/archive/refs/tags/v${version}.tar.gz" +checksum=ec9626f8bc6e52b4c6ebbd5b35ac87f0e17e70ac1fd9eb5f26a8d7dd898f7911 + +post_install() { + vlicense LICENSE-MIT + + local flamegraph="${DESTDIR}/usr/bin/flamegraph" + for shell in bash fish zsh; do + vtargetrun ${flamegraph} --completions ${shell} > flamegraph.${shell} + vcompletion flamegraph.${shell} ${shell} flamegraph + done +}